diff --git a/.azure-pipelines/BranchProtectionForPrivateRepo.yml b/.azure-pipelines/BranchProtectionForPrivateRepo.yml index a826a8ecf271..6bec0d4acad7 100644 --- a/.azure-pipelines/BranchProtectionForPrivateRepo.yml +++ b/.azure-pipelines/BranchProtectionForPrivateRepo.yml @@ -1,7 +1,5 @@ jobs: - job: "BranchProtectionForPrivateRepo" - pool: - vmImage: 'Ubuntu 16.04' condition: and(variables['PRIVATE'], eq(variables['System.PullRequest.TargetBranch'], 'main')) steps: - script: '>&2 echo "the branch is protected"' diff --git a/.azure-pipelines/ShouldSendPRToMain.yml b/.azure-pipelines/ShouldSendPRToMain.yml index d139949faeb0..3b934969a841 100644 --- a/.azure-pipelines/ShouldSendPRToMain.yml +++ b/.azure-pipelines/ShouldSendPRToMain.yml @@ -1,7 +1,5 @@ jobs: - job: "ShouldSendPRToMain" - pool: - vmImage: 'Ubuntu 16.04' condition: eq(variables['System.PullRequest.TargetBranch'], 'master') steps: - script: '>&2 echo "##vso[task.logissue type=error]Please edit the pull request to targeting new default branch main"' diff --git a/.azure-pipelines/azure-pipelines-data-container.yml b/.azure-pipelines/azure-pipelines-data-container.yml index 78a12603fcf6..ae1d6b974235 100644 --- a/.azure-pipelines/azure-pipelines-data-container.yml +++ b/.azure-pipelines/azure-pipelines-data-container.yml @@ -7,7 +7,7 @@ schedules: always: true pool: - vmImage: 'Ubuntu-16.04' + vmImage: 'Ubuntu-20.04' variables: IMAGE_TAG_PREFIX: $[format('1.0.{0:HHm}', pipeline.startTime)] diff --git a/.github/issue_assignment.yml b/.github/issue_assignment.yml index f794ce633f5c..839820d7b4e8 100644 --- a/.github/issue_assignment.yml +++ b/.github/issue_assignment.yml @@ -1,11 +1,6 @@ --- -- rule: - booleanFilterExpression: "needs-triage" +- rule: + booleanFilterExpression: "APIStewardshipBoard-ReviewRequested" assignees: - - raych1 - - akning-ms - - leni-msft - - ruowan - - jianyexi - - zhenglaizhang + - mikekistler diff --git a/.github/pull_request_assignment.yml b/.github/pull_request_assignment.yml index e112f1c151a0..ff4330ea4ac5 100644 --- a/.github/pull_request_assignment.yml +++ b/.github/pull_request_assignment.yml @@ -189,4 +189,5 @@ - chunyu3 - changlong-liu - msyyc - - qwordy + - qiaozha + - weidong diff --git a/.github/sla.yml b/.github/sla.yml index e05150f63622..15e3a82e8870 100644 --- a/.github/sla.yml +++ b/.github/sla.yml @@ -84,3 +84,18 @@ to: ${AUTHOR} cc: - cplatsdkdev@microsoft.com + +- scheduleTask: + action: sendEmail + scope: pull_request + name: "send email for synapse PR" + trigger: + - path + args: + message: '

Dear Synapse Swagger reviewers,

Please check the PR ${URL} . You receive the email because the PR is making changes in the Synapse's path of the Azure REST Api Specs repository.

This PR need to be reviewed, please feel free to leave comments.

DO NOT REPLY: This email was automatically sent. Please send an email to synapsecodereview@microsoft.com if you have any questions.

' + targetPaths: + - "specification/synapse/**" + subject: "[Action Required] Please review the PR ${URL}" + to: synapsecodereview@microsoft.com + cc: + - ${AUTHOR} diff --git a/CODEOWNERS b/CODEOWNERS index e336f554bac8..793aa84bcda7 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -30,7 +30,7 @@ /specification/documentdb/ @dmakwana /specification/domainservices/ @jihochang /specification/eventgrid/ @Kishp01 @ahamad-MS -/specification/eventhub/ @v-ajnava +/specification/eventhub/ @v-ajnava @dsouzaarun @damodaravadhani /specification/features/ @stankovski /specification/graphrbac/ @lmazuel @yugangw-msft @amarzavery /specification/hdinsight/ @pulkittomar @wawon-msft @@ -59,24 +59,24 @@ /specification/recoveryservicesbackup/ @dheerendrarathor /specification/recoveryservicessiterecovery/ @avneeshrai /specification/redis/ @siddharthchatrolams @timlovellsmith -/specification/relay/ @sethmanheim @v-ajnava +/specification/relay/ @v-ajnava @dsouzaarun @damodaravadhani /specification/resources/ @Azure/arm-template-deployments @rajshah11 @vivsriaus /specification/scheduler/ @pinwang81 /specification/search/data-plane/ @brjohnstmsft @arv100kri @bleroy @AlexGhiondea @Mohit-Chakraborty /specification/search/resource-manager/ @abhi1509 @tjacobhi /specification/serialconsole/ @amitchat @craigw @asinn826 /specification/service-map/ @daveirwin1 -/specification/servicebus/ @sazeesha @v-ajnava +/specification/servicebus/ @v-ajnava @dsouzaarun @damodaravadhani /specification/servicefabric/ @juhacket @samedder /specification/sql/ @jamestao @ericshape @apurvans -/specification/storage/ @jasonyang-msft @xiaonlimsft @kasobol-msft -/specification/storage/data-plane/ @kasobol-msft @seanmcc-msft +/specification/storage/ @jasonyang-msft @xiaonlimsft +/specification/storage/data-plane/ @seanmcc-msft /specification/storageimportexport/ @leoz-ms /specification/storagesync/ @ankushbindlish2 /specification/storsimple8000series/ @manaas-microsoft /specification/streamanalytics/ @atpham256 /specification/subscriptions/ @navysingla -/specification/synapse/ @idear1203 +/specification/synapse/ @idear1203 @wonner /specification/timeseriesinsights/ @sandshadow /specification/trafficmanager/ @allencal @hrkulkarmsft /specification/web/ @naveedaz @Azure/azure-app-service-control-plane @@ -85,4 +85,4 @@ /specification/**/resource-manager/**/readme.az.md @jsntcy @qiaozha /specification/**/resource-manager/**/readme.cli.md @jsntcy @qiaozha /specification/**/resource-manager/**/readme.go.md @ArcturusZhang -/specification/**/resource-manager/**/readme.python.md @jsntcy @msyyc @zhangyan133 @RAY-316 @00Kai0 +/specification/**/resource-manager/**/readme.python.md @msyyc @RAY-316 @BigCat20196 diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 96faf6d58c8a..3bbdde1f7b21 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,5 +1,8 @@ name: "Azure OpenAPI" +pool: + vmImage: 'Ubuntu-20.04' + trigger: branches: include: @@ -19,4 +22,4 @@ variables: jobs: - template: .azure-pipelines/BranchProtectionForPrivateRepo.yml -- template: .azure-pipelines/ShouldSendPRToMain.yml \ No newline at end of file +- template: .azure-pipelines/ShouldSendPRToMain.yml diff --git a/cSpell.json b/cSpell.json index 28ac16da7eae..36737a9bcf4c 100644 --- a/cSpell.json +++ b/cSpell.json @@ -834,7 +834,7 @@ ] }, { - "filename": "**/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/confluent.json", + "filename": "**/specification/confluent/resource-manager/Microsoft.Confluent/preview/*/confluent.json", "words": [ "orgvalidate" ] @@ -845,6 +845,12 @@ "Orignal", "Seleted" ] + }, + { + "filename": "**/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/iotdps.json", + "words": [ + "Messsage" + ] } ] } diff --git a/custom-words.txt b/custom-words.txt index 9c862ae29be5..8a82526fe146 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -23,6 +23,7 @@ acquisitionid acrapi ACSSMS actionplans +activedirectory activityruns actualcost actuser @@ -103,6 +104,7 @@ apimproperties apimquotas apimregions apimreports +apimschema apimsubscriptions apimtagresources apimtags @@ -123,6 +125,7 @@ appinsights applynetworkconfigurationupdates appservice appsettings +Appsource appteststorage appxmanifest Appxmanifest @@ -146,6 +149,7 @@ asyncinfo asyncoperation atascada attestationcollateral +attestationmechanism attributerule audiodata Auditd @@ -313,6 +317,7 @@ cancelpipelinerun canonicalized Carbonite carretera +catalogapi catenate catenated caverphone @@ -339,6 +344,7 @@ checkin checkmark checknameavailability checkpointing +Chttp CIDR CIDRs CIFS @@ -352,6 +358,7 @@ classificationrules clfs Clickthrough clientaccesspolicy +clientencryptionkeys clienterror clientgroup clientlib @@ -421,6 +428,7 @@ Corda coreml Corent Cortana +Cosell cosmosdb costcenter costinsights @@ -630,6 +638,8 @@ Edgenode edgenodes EDIFACT EDMX +EIRP +eirpd Einsteinweg Ekaterinburg ekus @@ -680,6 +690,7 @@ exceptiontype exfiltrate Exfiltration experimentids +expiresin Explainability explicitlist exportconfiguration @@ -704,6 +715,7 @@ FarmBeats fatherable faultable fconfig +Fcontoso FDID fearthecowboy featurecapabilities @@ -732,11 +744,13 @@ findsimilars findsquare firmwares Flexera +Flowlet fluentd forceclosehandles forestsummary formrecognizer FPGA +Fpushpins fqdn FQDNs Français @@ -794,6 +808,7 @@ getkey getmaptile getprivateendpointconnection getprivatelinkresources +getrotationpolicy getsas getskus getssotoken @@ -810,6 +825,8 @@ Gloo gltf gluster glusterfs +gmsa +Gmsa GOARCH GPUMIG GPUP @@ -820,6 +837,7 @@ GRANTACE granularities graphrbac Greenplum +groundstation Groupby groupedby GRPC @@ -850,6 +868,7 @@ Headnode healthbot healthcareapis healthstatus +hecto Heatbeat heatmap HHMM @@ -1032,6 +1051,9 @@ kubelet Kubelet kubenet kubernetes +Kustomization +kustomizations +Kustomizations kusto kustooperations kvset @@ -1054,6 +1076,8 @@ leavingpool LEDs legalhold Lfot +LHCP +Lhcp libtrust lifecycle lifecycles @@ -1142,6 +1166,7 @@ mapreduce mariadb Marketo marketplaceagreementsapi +marketplacecatalog marketplaceordering maxclients maxcoordinates @@ -1219,6 +1244,7 @@ MSAZRDE MSAZRUSGO MSCONCAT mscv +msdb MSGETACLSTATUS MSGETFILESTATUS msix @@ -1365,11 +1391,13 @@ Onboards ondemand ondemandgc onmachine +omex onmicrosoft ONNX Onprem Onprem onpremises +ONVIF oobe Oozie openapi @@ -1386,6 +1414,7 @@ operationsmanagement operationstatuses opid oplog +Optedin Optimised Optimiser Optimisers @@ -1689,6 +1718,8 @@ REVOKEACE RGBARGBA RGBRGB rgname +RHCP +Rhcp rhel RIRs rmem @@ -1750,10 +1781,12 @@ Scame scanability scanrulesets ScheduleType +schemagroups SCMS SCOM scopemap SCSV +SCVMM SDDL sdks SDWAN @@ -1803,6 +1836,7 @@ SETEXPIRY setissuers SETOWNER SETPERMISSION +setrotationpolicy setsas setvpnclientipsecparameters sfhealthid @@ -2014,6 +2048,7 @@ tasksuccess Taxii Tcpkeepalive Tebibytes +tempdb templated templatelink templeton @@ -2310,6 +2345,7 @@ Wmem wordprocessingml workbooktemplates Workernode +workitemsource workloadmonitor workspaces workspace's @@ -2368,8 +2404,34 @@ multislot noAddressPrefixes serviceTagChangeNumber Tebibytes +shortcodes +programbriefs +passcode +bursty privatelinkservicesforpowerbi -Obuscated NodePool hnsonmigration -aborthnsonmigration \ No newline at end of file +aborthnsonmigration +lsilogic +buslogic +pvscsi +lsilogicsas +ipsettings +linklayer +Ctlr +vcenters +Mwarev +pmem +rawphysical +rawvirtual +sesparse +blobstorage +dataexplorer +servicebusqueue +servicebustopic +dataexports +stackset +CSPM +autoprovisioning +schemagroups +videoanalyzer \ No newline at end of file diff --git a/documentation/Getting started with OpenAPI specifications.md b/documentation/Getting started with OpenAPI specifications.md index 438d60ea1bf9..9c7b7e746cbf 100644 --- a/documentation/Getting started with OpenAPI specifications.md +++ b/documentation/Getting started with OpenAPI specifications.md @@ -9,7 +9,9 @@ Currently, we only support `OpenAPI Specification 2.0` or `Swagger V2.0`. ### Helpful Resources * **[`Understanding the GitHub flow`](https://guides.github.com/introduction/flow/)** -* **[`Microsoft REST-API guidelines`](https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md)** +* **[`Microsoft REST-API guidelines`](https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md)**] +* **[`Resource Provider Guidelines`](https://aka.ms/rpguidelines)** +* **[`Sample directory structure for swagger`](https://github.com/Azure/azure-rest-api-specs/wiki#directory-structure)** * **[`Structure of a Swagger specification`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/creating-swagger.md)** * **[`Sample Swagger specification`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json)** * **[`Sample Readme.md`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/samplereadme.md)** @@ -19,5 +21,5 @@ Currently, we only support `OpenAPI Specification 2.0` or `Swagger V2.0`. * [`Validation checks through automated tools`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/openapi-authoring-automated-guidelines.md) * [`Validation checks done manually`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/openapi-authoring-manual-guidelines.md) * [`OAV Validation checks`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/Semantic-and-Model-Violations-Reference.md) -* **[`Breaking Changes guidelines`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/Breaking%20changes%20guidelines.md)** +* **[`Breaking Changes guidelines`](https://aka.ms/AzBreakingChangesPolicy)** * **[`x-ms-examples`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/x-ms-examples.md)** diff --git a/documentation/Semantic-and-Model-Violations-Reference.md b/documentation/Semantic-and-Model-Violations-Reference.md index 82c945ca8bc5..51c0f93ca342 100644 --- a/documentation/Semantic-and-Model-Violations-Reference.md +++ b/documentation/Semantic-and-Model-Violations-Reference.md @@ -64,6 +64,9 @@ This document lists the set of automated rules that can be validated against swa | [SCHEMA_VALIDATION_FAILED](#SCHEMA_VALIDATION_FAILED) | | | [SECRET_PROPERTY](#SECRET_PROPERTY) | | | [DISCRIMINATOR_VALUE_NOT_FOUND](#DISCRIMINATOR_VALUE_NOT_FOUND) | | +| [INVALID_XMS_DISCRIMINATOR_VALUE](#INVALID_XMS_DISCRIMINATOR_VALUE) | [OAV133](#INVALID_XMS_DISCRIMINATOR_VALUE) | +| [DISCRIMINATOR_PROPERTY_NOT_FOUND](#DISCRIMINATOR_PROPERTY_NOT_FOUND) | [OAV134](#DISCRIMINATOR_PROPERTY_NOT_FOUND) | +| [INVALID_DISCRIMINATOR_TYPE](#INVALID_DISCRIMINATOR_TYPE) | [OAV132](#INVALID_DISCRIMINATOR_TYPE) | | [DISCRIMINATOR_NOT_REQUIRED](#DISCRIMINATOR_NOT_REQUIRED) | [OAV131](#DISCRIMINATOR_NOT_REQUIRED) | | [RESPONSE_BODY_NOT_IN_EXAMPLE](#RESPONSE_BODY_NOT_IN_EXAMPLE) | [OAV130](#RESPONSE_BODY_NOT_IN_EXAMPLE) | | [DOUBLE_FORWARD_SLASHES_IN_URL](#DOUBLE_FORWARD_SLASHES_IN_URL) | [OAV129](#DOUBLE_FORWARD_SLASHES_IN_URL) | @@ -588,11 +591,11 @@ This document lists the set of automated rules that can be validated against swa ### ENUM_MISMATCH -**Output Message**: Enum does not match case for:{0}. +**Output Message**: Enum does not match for:{0}. -**Description**: The enum value provided in example or in traffic payload doesn't match the case of an allowed value. +**Description**: The enum value provided in example or in traffic payload doesn't match an allowed value. -**How to fix the violation**: The error info has the position of swagger. Look for the violation location of the swagger, correct the value case in example or in traffic payload. +**How to fix the violation**: The error info has the position of swagger. Look for the violation location of the swagger, correct the value in example or in traffic payload. ### READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST @@ -618,6 +621,29 @@ This document lists the set of automated rules that can be validated against swa **How to fix the violation**: Add the model that has the discriminator value or fix the discriminator value. The discriminator value could be specified by model name in definitions or by "x-ms-discriminator-value". +### INVALID_XMS_DISCRIMINATOR_VALUE + +**Output Message**: The value of x-ms-dicriminator-value is not in the discriminator enum list: {0}. + +**Description**: If a discriminator has an enum list, the x-ms-dicriminator-value must in the enum list. + +**How to fix the violation**: Add the value into the enum list or correct the value. + +### DISCRIMINATOR_PROPERTY_NOT_FOUND + +**Output Message**: Missing discriminator in base model. This derived model has x-ms-dicriminator-value: {0}. + +**Description**: x-ms-dicriminator-value is defined, but base model doesn't have discriminator field. + +**How to fix the violation**: Check whether it needs. If needs, add discriminator field in base model. + +### INVALID_DISCRIMINATOR_TYPE + +**Output Message**: The property type of discriminator must be string: {0}. + +**Description**: If a property is declared as discriminator, the property type must be string and nothing else. + +**How to fix the violation**: Set the property type to string in swagger. ### DISCRIMINATOR_NOT_REQUIRED diff --git a/documentation/api-scenario/how-to/QuickStart.md b/documentation/api-scenario/how-to/QuickStart.md new file mode 100644 index 000000000000..c16a579ed61c --- /dev/null +++ b/documentation/api-scenario/how-to/QuickStart.md @@ -0,0 +1,112 @@ + + +# API test quick start + +## Install + +`oav` is an open-source powerful tool for swagger validation, example generation, and API testing. GitHub: https://github.com/Azure/oav. + +```sh +npm install -g oav@latest +``` + +### OAV Features + +- Very easy to use and run. +- Support postman collection format. Debug easily. +- Request response validation. `oav` implement a powerful validation algorithm and help developer to detect service issue in the early phase. +- Validation result report. After each run API scenario, developer will get a validation report which contains detect issue in api test. +- Integrate everywhere. Easily integrate with azure-pipeline, cloud-test. + +## Create AAD app + +To run API test, first please prepare an AAD app which is used for provisioning Azure resource. Please grant subscription contributor permission to this AAD app. + +For how to create AAD app, please follow this doc https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal + +## Authoring steps + +We will write API scenario file for SignalR service as an example. + +#### 1. Write your first API scenario file + +First, create a folder `scenarios` under the api version folder. All API scenario files under the `scenarios` folder should bind with the api version. + +![folder-structure](./folder-structure.png) + +Now write your basic API scenario. For more detail about API scenario file format, please refer to +[API Scenario Definition Reference](../references/ApiScenarioDefinition.md). + +```yaml +# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/documentation/api-scenario/references/v1.1/schema.json + +scope: ResourceGroup +scenarios: + - scenario: quickStart + description: Microsoft.SignalRService/signalR SignalR_CreateOrUpdate + steps: + - step: SignalR_CreateOrUpdate + exampleFile: ../examples/SignalR_CreateOrUpdate.json + - step: SignalR_Delete + exampleFile: ../examples/SignalR_Delete.json +``` + +#### 2. create your env file + +The `env.json` file contains required API scenario variables such as, subscriptionId, AAD applicationId, AAD applicationSecret. + +```json +{ + "subscriptionId": "", + "location": "westus", + "tenantId": "", + "client_id": "", + "client_secret": "" +} +``` + +#### 3. Run api test + +```sh +oav run /home/user/azure-rest-api-specs/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/scenarios/signalR.yaml -e env.json +``` + +#### 4. Debug with postman + +Sometimes the command `oav run` may fail due to non 2xx HTTP status code. Now you need to debug the API scenario with postman. + +When run `run`, it automatically generate postman collection and postman env in `generated////` folder. Here is the generated file folder structure. The `collection.json` and `env.json` is generated postman collection file and environment file. `202105120922-5c3x5` is current runId. For each run command it will generated unique runId. + +``` +generated +└── Microsoft.SignalRService + └── 2020-07-01-preview + └── signalR + └── 202105120922-5c3x5 + ├── signalR_0 + │ ├── collection.json + │ └── env.json + | |__ report.json + └── signalR_0.json +``` + +Postman is a widely used GUI API testing tool. And you could use Postman import the generated postman collection and env for your local debug. + +![import-postman-collection](./import-postman-collection.png) + +After you import postman collection, you will get such requests. Now you could debug API test with postman locally. + +![postman-collection-signalr](./postman-collection-signalr.PNG) + +#### 5. manual update example value + +After debug with postman, you need to rewrite back all the updated values and run `oav run -e ` again. The result should be successful. + +## Feedback + +If you have any question, feel free to send email to vscswagger@microsoft.com diff --git a/documentation/api-scenario/how-to/apiScenarioWithARMTemplate.md b/documentation/api-scenario/how-to/apiScenarioWithARMTemplate.md new file mode 100644 index 000000000000..ab7dd60bb69d --- /dev/null +++ b/documentation/api-scenario/how-to/apiScenarioWithARMTemplate.md @@ -0,0 +1,105 @@ +# API scenario integrate with armTemplate + +## Background + +In some cases, we need to do some more complex operations before creating a resource. For example, + +- Create Azure SignalR service with a global unique name. Using ARMTemplate to generate a random unique string. +- Create VM with a storage account. Using ARMTemplate to provision storage account and passing the storage account resourceId as VM creation parameter. + +## Examples + +Here is an example about `generate unique resource name for signalR service` + +#### Generate unique resource name + +We use `armTemplate output` to overwrite `resourceName` variable and following `createResource` step will use this variable. Below is generate unique name armTemplate. This armTemplate output `resourceName` variables, so API scenario following step will using the output variable. + +```json +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "resourceNamePrefix": { + "type": "string", + "defaultValue": "signalr-" + } + }, + "variables": { + "resourceName": "[concat(parameters('resourceNamePrefix'), uniqueString(resourceGroup().id))]" + }, + "resources": [], + "outputs": { + "resourceName": { + "type": "string", + "value": "[variables('resourceName')]" + } + } +} +``` + +After we have this armTemplate, we could define current API scenario file. We defined `resourceName` variable globally. `./generate_unique_string.json` is armTemplate. + +`SignalR_CreateOrUpdate.json` + +```json +{ + "parameters": { + "parameters": { + "tag": { + "key1": "tag1" + }, + "properties":{ + ... + } + }, + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService123xx" + }, + "responses": { + "200": { + "body": { + ... + } + }, + "201": { + "body": { + ... + } + }, + "202": {} + } +} +``` + +> NOTE: the example file `../examples/SignalR_CreateOrUpdate` has the same parameter name `resourceName`. So it will be automatically overwrite in runner. + +```yaml +scope: ResourceGroup +variables: + resourceName: "" +scenarios: + - scenario: quickStart + description: Microsoft.SignalRService/signalR CRUD + steps: + - step: Generate_Unique_string + armTemplateDeployment: ./generate_unique_string.json + - step: SignalR_checknameAvailability + exampleFile: ../examples/SignalR_CheckNameAvailability.json + - step: SignalR_CreateOrUpdate + exampleFile: ../examples/SignalR_CreateOrUpdate.json + - step: SignalR_ListKey + exampleFile: ../examples/SignalR_ListKeys.json + - step: SignalR_Delete + exampleFile: ../examples/SignalR_Delete.json +``` + +**Result**: + +![](./armTemplate.png) + +## Reference + +- [ARMTemplate deployment script](https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/deployment-script-template) diff --git a/documentation/test-scenario/how-to/armTemplate.png b/documentation/api-scenario/how-to/armTemplate.png similarity index 100% rename from documentation/test-scenario/how-to/armTemplate.png rename to documentation/api-scenario/how-to/armTemplate.png diff --git a/documentation/test-scenario/how-to/folder-structure.png b/documentation/api-scenario/how-to/folder-structure.png similarity index 100% rename from documentation/test-scenario/how-to/folder-structure.png rename to documentation/api-scenario/how-to/folder-structure.png diff --git a/documentation/test-scenario/how-to/genTestScenario.gif b/documentation/api-scenario/how-to/genTestScenario.gif similarity index 100% rename from documentation/test-scenario/how-to/genTestScenario.gif rename to documentation/api-scenario/how-to/genTestScenario.gif diff --git a/documentation/api-scenario/how-to/generateABasicApiScenario.md b/documentation/api-scenario/how-to/generateABasicApiScenario.md new file mode 100644 index 000000000000..d042b0a936d3 --- /dev/null +++ b/documentation/api-scenario/how-to/generateABasicApiScenario.md @@ -0,0 +1,57 @@ +# Generate a basic API scenario file + +## Prerequisite + +We use `oav` tools to generate basic API scenario. `oav` analyze swagger file and use swagger example as API scenario steps. So first, you need to install the latest oav. + +## Introduction + +`oav` support rule based API scenario file generation. We use this command to generate API scenario file. + +`oav generate-static-api-scenario --readme --tag --rules ` + +- readme: swagger readme file. +- tag: which tag to generate. oav will analyze swagger file under the tag and generate API scenario. +- rules: Currently support two types. `resource-put-delete`, `operations-list`. Default: `resource-put-delete` + - `resource-put-delete`: generate resource put and delete API scenario. + - `operations-list`: generate operations list API scenario. `operations-list` is the simplest API which must be defined in swagger. + +Example: + +![](./genTestScenario.gif) + +This command will load and analyze swagger and generate a basic API scenario file (`resource-put-delete`). + +Result: the output contains two files + +- scenarios/signalR.yaml: The API scenario file. +- readme.test.md: The entry for SDK test generation + +The generated API scenario file: The generated API scenario file contains two steps. Create signalR and delete it. It's a basic API scenario and developer can add more step based on the basic API scenario file. + +``` +scope: ResourceGroup +testScenarios: + - description: Microsoft.SignalRService/signalR SignalR_CreateOrUpdate + steps: + - step: SignalR_CreateOrUpdate + exampleFile: ../examples/SignalR_CreateOrUpdate.json + - step: SignalR_Delete + exampleFile: ../examples/SignalR_Delete.json +``` + +If you pass rule option `operations-list`, you will get such API scenario file. + +``` +scope: ResourceGroup +testScenarios: + - description: operationsList + steps: + - step: operationsList + exampleFile: ../examples/Operations_List.json + +``` + +## Reference + +- [oav](https://github.com/Azure/oav/tree/develop) diff --git a/documentation/test-scenario/how-to/import-postman-collection.png b/documentation/api-scenario/how-to/import-postman-collection.png similarity index 100% rename from documentation/test-scenario/how-to/import-postman-collection.png rename to documentation/api-scenario/how-to/import-postman-collection.png diff --git a/documentation/test-scenario/how-to/postman-collection-signalr.PNG b/documentation/api-scenario/how-to/postman-collection-signalr.PNG similarity index 100% rename from documentation/test-scenario/how-to/postman-collection-signalr.PNG rename to documentation/api-scenario/how-to/postman-collection-signalr.PNG diff --git a/documentation/test-scenario/how-to/runApiTest.gif b/documentation/api-scenario/how-to/runApiTest.gif similarity index 100% rename from documentation/test-scenario/how-to/runApiTest.gif rename to documentation/api-scenario/how-to/runApiTest.gif diff --git a/documentation/api-scenario/readme.md b/documentation/api-scenario/readme.md new file mode 100644 index 000000000000..2e1ec0a84514 --- /dev/null +++ b/documentation/api-scenario/readme.md @@ -0,0 +1,29 @@ +# API Scenario Documentation + +API Scenario is a YAML file defining RESTful API usage scenarios of your service with a series of API calls. API scenario can be used for service functional test, API quality validation and SDK/CLIs test generation. + +_**Caution**: This project is in early preview phase, hence breaking changes should be expected._ + +## Features + +- Simple to use: Intuitive step definition based on Swagger examples and raw REST call. +- ARM Template integration: Support creating external Azure resources with ARM Template and executing Azure Powershell or Azure CLI scripts with ARM Template deployment script. +- Implementation independent: [oav](https://github.com/Azure/oav) is the default API scenario runner, and more runners will be supported, like SDKs in different languages. + +### Demo gif + +![demo](./how-to/runApiTest.gif) + +## Quick start + +- [Example: Write and run your first API scenario file](./how-to/QuickStart.md) +- [Example: Generate a basic API scenario file](./how-to/generateABasicApiScenario.md) +- [Example: use armTemplate to generate unique resourceName](./how-to/apiScenarioWithARMTemplate.md) +- [API scenario file sample](../samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/scenarios/quickStart.yaml) + +## References + +- [API Scenario Definition Reference](./references/ApiScenarioDefinition.md) +- [API Scenario Variable Definition Reference](./references/Variables.md) +- [API Scenario Runner Reference](./references/Runner.md) +- [API Scenario JSON Schema](./references/v1.1/schema.json) diff --git a/documentation/api-scenario/references/ApiScenarioDefinition.md b/documentation/api-scenario/references/ApiScenarioDefinition.md new file mode 100644 index 000000000000..be96bddb58b6 --- /dev/null +++ b/documentation/api-scenario/references/ApiScenarioDefinition.md @@ -0,0 +1,452 @@ +# API Scenario Definition Reference + +## API Scenario Definition File + +See [API Scenario Definition File Schema](./v1.1/schema.json#L1) + +File should be in format of yaml. + +**Example:** + +```yaml +scope: ResourceGroup +variables: + publicIpAddressName: pubipdns +prepareSteps: + - step: prepare_resources + armTemplateDeployment: ./dep-something.json +scenarios: + - description: test_network_public_ip + steps: + - step: Create_publicIPAddresses_pubipdns + resourceName: publicIPAddresses_pubipdns + exampleFile: ../examples/Create_publicIPAddresses_pubipdns_Generated.json + operationId: PublicIPAddresses_CreateOrUpdate + variables: + publicIpAddressName: pubipdns +``` + +**Fields:** + +- **scope** + - **Type:** Required, Enum + - **Enum:** ResourceGroup + - Now only "ResourceGroup" is supported. + - **ResourceGroup:** All of the following API scenario and steps should be under some resourceGroup. It means: + - The consumer (API scenario runner or anything consumes API scenario) SHOULD maintain the resource group itself. Usually it requires user to input the subscriptionId/location, then it creates the resource group before test running, and deletes the resource group after running + - The consumer SHOULD set the following variables: + - **subscriptionId** + - **resourceGroupName** + - **location** + - For details of how variables works please see [Variables](./Variables.md) +- **variables** + - **Type:** Optional, Map of strings + - See [Variables](./Variables.md) +- **prepareSteps** + - **Type:** Optional, Array of [Step](#step) + - Steps that should run before every API scenario steps. +- **scenarios** + - **Type:** Required, Array of [Scenario](#scenario) + +## Scenario + +See [Scenario Schema](./v1.1/schema.json#L83). + +It defines one API scenario that could go through on its own. + +**Example:** + +```yaml +description: test_network_public_ip +shareScope: true +steps: + - step: Create_publicIPAddresses_pubipdns + resourceName: publicIPAddresses_pubipdns + exampleFile: ../examples/Create_publicIPAddresses_pubipdns_Generated.json + operationId: PublicIPAddresses_CreateOrUpdate +variables: + publicIpAddressName: pubipdns +``` + +**Fields:** + +- **description** + - **Type:** Required, String + - Description for this API scenario. +- **shareScope** + - **Type:** Optional, Boolean or String + - **Default:** true + - Describe how the scope (ResourceGroup if scope is ResourceGroup) could be shared with other tests. If it's true or it's the same string setting for different API scenario, then they share the same scope, which means: + - These tests will run under the same scope (e.g. ResourceGroup). They may launch in parallel. + - **prepareSteps** will only run once in the scope. The variables will be shared. + - By default all the API scenario in one definition file will be launched in the same scope. If shareScope is false then it will not share anything with other API scenarios in the same file. +- **variables** + - **Type:** Optional, Map of strings + - See [Variables](./Variables.md) +- **steps** + - **Type:** Required, Array of [Step](#step) + - Steps in this API scenario + +## Step + +See [Step Schema](./v1.1/schema.json#L114). + +Defines one step in API scenario. + +Should be one of the following: + +- [Step REST Call](#step-rest-call) + - [REST Call](#rest-call) + - [REST Call by ResourceName Tracking and Update](#rest-call-by-resourcename-tracking-and-update) +- [Step ARM Template Deployment](#step-arm-template-deployment) + +All of the above definitions share the following fields: + +- **variables** + - **Type:** Optional, Map of Strings + - See [Variables](./Variables.md) +- **step** + - **Type:** Required, String + - Step name. Must be unique in the same file. + +## Step ARM Template Deployment + +See [Step ARM Template Deployment Schema](./v1.1/schema.json#L247). + +Step to deploy ARM template to the scope. Template parameters and outputs will also interact with variables automatically, see [Variables](./Variables.md). + +**Example:** + +```yaml +step: prepare_resources +armTemplateDeployment: ./dep-storage-account.json +``` + +**Fields:** + +- **armTemplateDeployment** + - **Type:** Required, String + - Path to ARM template json file. See [ARM Template](https://docs.microsoft.com/azure/templates/). + +## Step REST Call + +See [Step REST Call Schema](./v1.1/schema.json#L205) + +Step to run a swagger operation defined rest call. This may not be just one http call. + +- If the operation is a long running operation (LRO), then follow the LRO polling strategy. + - Response statusCode must be 200 if the LRO succeeded, no matter what code the initial response is. + - If the LRO is PUT/PATCH, the runner should automatically insert a GET after the polling to verify the resource update result. +- If the operation is DELETE, then after the operation, the runner should automatically insert a GET to verify resource cannot be found. + +Rest call step could be defined either by an example file, or by resourceName tracking and update. + +Rest call will have computed **requestParameter** and **responseExpected** after parsing and loading: + +- **requestParameter** + +### REST Call + +**Example:** + +```yaml +step: Create_publicIPAddresses_pubipdns +resourceName: publicIPAddresses_pubipdns +exampleFile: ../examples/Create_publicIPAddresses_pubipdns_Generated.json +operationId: PublicIPAddresses_CreateOrUpdate +statusCode: 200 +``` + +**Fields:** + +- **exampleFile** + - **Type:** Optional, String + - Path to example file. Should be in format of "x-ms-example" files. +- **operationId** + - **Type:** Optional, String + - OperationId defined in swagger operation. It could be skipped if the example file is referenced by only one operation so we could detect the operationId. +- **statusCode:** + - **Type:** Optional, Number + - **Default:** 200 + - Expected response code. + - For LRO it must be 200 to indicate succeeded result, and must be 400 to indicate failed result. +- **requestUpdate** + - **Type:** Optional, Array of [JsonPatchOp](#jsonpatchop) + - Updates that applied to the requestParameters before sending it. +- **responseUpdate** + - **Type:** Optional, Array of [JsonPatchOp](#jsonpatchop) + - Updates that applied to the responseExpected. +- **outputVariables** + - **Type:** Optional, Map from variable name to object with property: + - **fromResponse** + - **Type:** Required, String + - Path to the response field to be used as variable. + +### Rest Call by ResourceName Tracking and Update + +**Example** + +```yaml +- step: Create_publicIPAddresses_pubipdns + resourceName: publicIPAddresses_pubipdns + exampleFile: ../examples/Create_publicIPAddresses_pubipdns_Generated.json + operationId: PublicIPAddresses_CreateOrUpdate + statusCode: 200 + +- step: Update_publicIPAddresses + resourceName: publicIPAddresses_pubipdns + resourceUpdate: + - replace: /properties/location + value: westus +``` + +Different steps with the same resourceName will be tracked by the API scenario. It knows that you are trying to update the same resource. You can use the first request with example to specify the request and resource id, then the following step with the same resourceName will use the same resource id to update the resource. For the + +**Fields:** + +- **resourceName** + - **Type:** Required, String + - The user-defined resource name of the resource to be tracked. It's only used as a name of that resource and do not need to be same as the actual resource name. +- **resourceUpdate** + - **Type:** Optional, Array of [JsonPatchOp](#jsonpatchop) + - Array of changes to be applied to the resource. + +resourceUpdate will help to automate compute the request body and the expected response body. The algorithm will be: + +- Get the expected response body from previous step with same `resourceName`, or from current step with example loaded. +- For each change in `resourceUpdate`, apply the change to the expected response body, mark as `computedAllProperties`. +- Let new request body parameter value to be: `computedAllProperties` without `readOnly` fields and `x-ms-mutability` fields that don't contains `update`. +- Let new response expected to be: `computedAllProperties` without `x-ms-secrets` fields and `x-ms-mutability` fields that don't contain `read`. +- Let the operationId to be: resource PUT operationId. + +### JsonPatchOp + +JsonPatchOp is used to define the update operation on json. You could add, remove, replace, move, copy and merge on json path. +All the json path used in JsonPatchOp is in format of [JsonPointer](https://datatracker.ietf.org/doc/html/rfc6901). + +- [JsonPatchOp](#jsonpatchop) + - [JsonPatchOpAdd](#jsonpatchopadd) + - [JsonPatchOpRemove](#jsonpatchopremove) + - [JsonPatchOpReplace](#jsonpatchopreplace) + - [JsonPatchOpCopy](#jsonpatchopcopy) + - [JsonPatchOpMove](#jsonpatchopmove) + - [JsonPatchOpTest](#jsonpatchoptest) + +#### JsonPatchOpAdd + +**Example** + +```yaml +add: /properties/items +value: 1 +``` + +**Fields:** + +- **add** + - **Type:** Required, JsonPointer +- **value** + - **Type:** Required, Any + +Add json property at specified path. + +1. If any segment of path does not exist, then it will be created. +2. If any value already exists on the path, then it will be overwritten. +3. If the parent of the destination is array, then the value will be inserted at the specified index. + +**Example of add** + +``` +apply: +- add: /properties/location + value: "eastus" + +on data: +- { "properties": { } } + +result: +- { "properties": { "location": "eastus" } } } + +--- +apply: +- add: /properties/items/1 + value: 4 + +on data: +- { "properties": { "items": [1, 2, 3] } } + +result: +- { "properties": { "items": [1, 4, 2, 3] } } +``` + +#### JsonPatchOpRemove + +**Example** + +```yaml +remove: /properties/items/1 +``` + +**Fields:** + +- **remove** + - **Type:** Required, JsonPointer + +Remove element at specified path. + +1. If any segment of path does not exist, then error will be thrown. +2. If parent of the specified path is array, then the element will be removed from the array. + +**Example of remove** + +``` +apply: +- remove: /properties/items + +on data: +- { "properties": { "items": [1, 2, 3] } } + +result: +- { "properties": { } } + +--- +apply: +- remove: /properties/items/1 + +on data: +- { "properties": { "items": [1, 2, 3] } } + +result: +- { "properties": { "items": [1, 3] } } +``` + +#### JsonPatchOpReplace + +**Example** + +```yaml +replace: /properties/items +value: 1 +``` + +**Fields:** + +- **replace** + - **Type:** Required, JsonPointer +- **value** + - **Type:** Required, Any + +Replace json property at specified path. + +1. If any segment of path does not exist, error will be thrown. +2. If any value already exists on the path, then it will be overwritten. + +**Example of replace** + +``` +apply: +- replace: /properties/location + value: "eastus" + +on data: +- { "properties": { "location": "westus" } } + +result: +- { "properties": { "location": "eastus" } } } +``` + +#### JsonPatchOpCopy + +**Example** + +```yaml +copy: /properties/items2 +from: /properties/items +``` + +**Fields:** + +- **copy** + - **Type:** Required, JsonPointer +- **from** + - **Type:** Required, JsonPointer + +Copy json property from specified path to another path. Array index is also supported and works as add/remove does. + +**Example of copy** + +``` +apply: +- copy: /properties/items2 + from: /properties/items + +on data: +- { "properties": { "items": [1, 2, 3] } } + +result: +- { "properties": { "items": [1, 2, 3] }, "items2": [1, 2, 3] } } +``` + +#### JsonPatchOpMove + +**Example** + +```yaml +move: /properties/items2 +from: /properties/items +``` + +**Fields:** + +- **move** + - **Type:** Required, JsonPointer +- **from** + - **Type:** Required, JsonPointer + +Move json property from specified path to another path. It works as a combination of remove followed by add. Array index is also supported and works as add/remove does. + +**Example of move** + +``` +apply: +- move: /properties/items2 + from: /properties/items + +on data: +- { "properties": { "items": [1, 2, 3] } } + +result: +- { "properties": { "items2": [1, 2, 3] } } +``` + +#### JsonPatchOpTest + +**Example** + +```yaml +test: /properties/item +value: a +``` + +**Fields:** + +- **test** + - **Type:** Required, JsonPointer +- **value** + - **Type:** Required, Object + +Test that a value at the target location is equal to a specified value. + +**Example of test** + +``` +apply: +- test: /properties/a + value: 1 + +on data: +- { "properties": { "a": 0, "b": 1} } + +result: +- throws error +``` diff --git a/documentation/test-scenario/references/ErrorCodeReference.md b/documentation/api-scenario/references/ErrorCodeReference.md similarity index 100% rename from documentation/test-scenario/references/ErrorCodeReference.md rename to documentation/api-scenario/references/ErrorCodeReference.md diff --git a/documentation/api-scenario/references/Runner.md b/documentation/api-scenario/references/Runner.md new file mode 100644 index 000000000000..1fddd6ff8330 --- /dev/null +++ b/documentation/api-scenario/references/Runner.md @@ -0,0 +1,130 @@ +# Runner Behavior + +This document explains the expected behavior of runner. The word "runner" here references to any customer that consume the API scenario, including the runner that send out requests defined by API scenario, code generator that generate code that executes steps defined by API scenario, and any other consumer that need to understand the content of API scenario. + +## Load API Scenario via OAV + +You could load the API scenario file via oav. It would be resolved as a simple object. + +```typescript +const readmeMd: string = + "/home/username/azure-rest-api-specs/specification/containerservice/resource-manager/readme.md"; +const argv = { + ["try-require"]: "readme.test.md", + tag: "package-2020-12" +}; + +// Get input-file config in readme.md +const autorestConfig = await getAutorestConfig(argv, readmeMd); +const swaggerFilePaths: string[] = autorestConfig["input-file"]; +const fileRoot = dirname(readmeMd); + +console.log("input-file:"); +console.log(swaggerFilePaths); + +// Create the loader from OAV +const loader = ApiScenarioLoader.create({ + useJsonParser: false, + checkUnderFileRoot: false, + fileRoot, + swaggerFilePaths +}); + +// Load the API scenario file. File list could also be specified in readme.test.md +const scenarioDef = await loader.load( + "Microsoft.ContainerService/stable/2020-12-01/scenarios/containerService.yaml" +); + +console.log(scenarioDef.scenarios[0].steps); + +// Setup initial variable env +const env = new VariableEnv(); +env.setBatch({ + subscriptionId: "__your_subs_id_", + location: "westus", + SSH_PUBLIC_KEY: "__public_key_ssh__" +}); + +// Reference runner implementation in OAV. You need to implement your own runner. +const runner = new ApiScenarioRunner({ + jsonLoader: loader.jsonLoader, + env, + client: new ApiScenarioRestClient(getDefaultAzureCredential(), {}) +}); + +try { + for (const scenario of scenarioDef.scenarios) { + await runner.executeScenario(scenario); + } +} catch (e) { + console.log(e.message, e.stack); +} finally { + console.timeLog("TestLoad"); + await runner.cleanAllScope(); +} +``` + +After the API scenario is loaded, the step will be slightly different from the file content. Every REST step will have the following resolved fields: + +- requestParameters + - Type: `object`, map of resolved parameter name and value. +- responseExpected + - Type: `any` + - The expected response body from the request. + +## Procedure of runner + +### Input + +Let's assume the following things as input of runner: + +- API scenario definition that loaded via OAV. +- The scenario id of the API scenario. API scenario definition file could contains multiple API scenarios, runner need to run one of them. +- Extra environment variables that required by API scenario, defined in `requiredVariables`. + +### Scope + +It's the `scope` field defined at top level of API scenario file. Now only `ResourceGroup` is supported, it means that the API scenario will: + +- Run under specified resource group. +- Runner would manage the resource group, it could create the resource group (defined by variable `subscriptionId`, `resourceGroup`, `location`) or use predefined resource group, it could also delete the resource group after the API scenario is done. Runner itself is responsible for managing the resource group, the behavior is not defined by this spec. +- Runner would run all the arm template deployment under the specified resource group. + +The scope is a convention, however it would not be enforced by API scenario. User could override the variable `resourceGroup` in any step to run that step in another resource group for example. + +### Variables + +See [Variables](./Variables.md) for variable spec. The runner must follow the variable definition in API scenario. Runner do not need to care about the variable conventions as it's already resolved by OAV. The runner must: + +- Load variables layer by layer as defined in the variable spec. +- Resolve variables like `$(variableName)` step by step in: + - requestParameter + - responseExpected (if it's used by runner) + - armTemplate payload + +### Procedure + +- Load definition via OAV, load required variables' value (runner need to specify how to load it). +- Manage the scope, runner could create/reuse the scope as user defined in input. +- Run top level prepareSteps if it has not run. it's a list of steps defined in API scenario. +- Pass the variables from prepareSteps to the following main steps. +- For each steps defined in the API scenario array: + - If `type` field is `restCall`: + - Replace variables in `requestParameters`. + - Fill the request via parameter definition in swagger and parameter value in `requestParameters`. + - Send out the request. + - If the request is long running request, runner need to poll for the response. + - If the response's long running poll's final call is operation status, and the step itself is resource PUT/PATCH/DELETE, runner could run another GET against the resource to check. For DELETE, the final GET is expected to return 404. For PUT/PATCH, the final GET is expected to return 200, and it should represent the final response of the step. + - Check if the response status code is the same as the expected `statusCode` field defined in step. Optional. + - Check if the response body is the same as the expected `responseExpected` field defined in step. Optional. + - If `outputVariables` is defined, runner need to extract and define the variable from specified path in response body. + - If `type` field is `armTemplateDeployment`: + - Use the convention to replace arm template parameters if the parameter name matches the variable name and the parameter type is string. + - Send arm template deployment request under the resource group. + - Wait for the deployment to finish. + - Get the output variables from the deployment. Define the variables from the output variables. + - Else `type` is unsupported in runner. + +### Compare the response with expectedResponse + +It's hard for service team to make sure every field in expectedResponse is the same as the response, so here API scenario suggest to compare properties that are not `readOnly` and are not `x-ms-secret`. The detail should be defined by the runner, not this spec. diff --git a/documentation/api-scenario/references/Variables.md b/documentation/api-scenario/references/Variables.md new file mode 100644 index 000000000000..ebd04efc0372 --- /dev/null +++ b/documentation/api-scenario/references/Variables.md @@ -0,0 +1,146 @@ +# Variables in API scenario + +## Variable definition and replacement + +Variables could be defined in different level of API scenario: + +- `runtime`: Variables specified at runtime +- `global`: API scenario definition level variable definition +- `scope`: Scope level variable +- `scenario`: API scenario level variable definition +- `step`: Step level variable definition + +Variable could be referenced by `$(variableName)`. Currently variable type must be string. + +For example, in the following API scenario: + +```yaml +variables: + resourceName: level-1 + +scenarios: + - definition: Create some resource + variables: + resourceName: level-2 + steps: + - step: Create resource + variables: + resourceName: level-3 + exampleFile: ../examples/ResourceCreate.json +``` + +if in `../examples/ResourceCreate.json` we have `$(resourceName)` in some string, it would be replaced with `level-3`. + +Variables could also be defined on test running. For example you could set `subscriptionId` or `resourceGroupName` on the global scope. How to set global env is based on the API scenario consumer. + +Variables could be replaced recursively. For example if we have the following variables: + +```yaml +variables: + resourceName: abc + resourceId: Microsoft.Contoso/$(resourceName) +``` + +Then `$(resourceId)` would be resolved to `Microsoft.Contoso/abc`. + +Variable resolving is limited to at most 100 times for certain string. + +## Convention: parameter name in example + +In one rest call step, if we have any parameter, for example it's named `param`, in the step requestParameters, with value `paramValue`, and API scenario has variable `param`, then by default, API scenario loader will: + +- replace the parameter value of `param` to `$(param)` so that it will reference the variable value. +- replace `paramValue` to `$(param)` in every string in request body (in requestParameter) and in responseExpected. + +For example, for the following step with loaded requestParameter and responseExpected + +```yaml +requestParameters: + subscriptionId: 00000000-0000-0000-0000-000000000000 + resourceGroupName: testGroup + resourceName: abc + api-version: 2021-01-01 + parameters: + properties: + a: abc +responseExpected: + id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.Contoso/SomeResource/abc + name: abc + type: Microsoft.Contoso/SomeResource + properties: + a: abc +``` + +And when we are on this step, we already have `subscriptionId`, `resourceGroupName` and `resourceName` in variables, then the step will be replaced with: + +```yaml +requestParameters: + subscriptionId: $(subscriptionId) + resourceGroupName: $(resourceGroupName) + resourceName: $(resourceName) + api-version: 2021-01-01 + parameters: + properties: + a: abc +responseExpected: + id: /subscriptions/$(subscriptionId)/resourceGroups/$(resourceGroupName)/providers/Microsoft.Contoso/SomeResource/$(resourceName) + name: $(resourceName) + type: Microsoft.Contoso/SomeResource + properties: + a: $(resourceName) +``` + +With this convention, you could control most of the parameters with variables. + +## Convention: location + +In one rest call step, if we have variable `location` (exact match) in the API scenario, and we have `location` as top level property defined in request body (`requestParameters[bodyParamName]`) and response body (responseExpected), then the top level location property will be replaced with variable value of location. + +For example, + +```yaml +requestParameters: + parameters: + id: someId + location: westus +responseExpected: + id: someId + location: westus +``` + +When we have `location` variable defined, this step will be transformed to: + +```yaml +requestParameters: + parameters: + id: someId + location: $(location) +responseExpected: + id: someId + location: $(location) +``` + +## Convention: Arm Template Deployment + +When you deploy arm template in API scenario, you could define template parameters and outputs. By default if the parameter name matches the variable exists and the parameter type is string, then the parameter value would use the variable value. If the template has output which is string type, the variables will be set with output values. + +For example, given the following arm template: + +```json +{ + "parameters": { + "userName": { + "type": "string" + } + }, + "resources": [], + "outputs": { + "nameResult": { + "type": "string", + "value": "[concat('prefix/', parameters['userName'])]" + } + } +} +``` + +If we have variable `userName` defined with `abc`, then we will have variable `nameResult` defined with value `prefix/abc` so that following steps in the API scenario could use variable `nameResult`. diff --git a/documentation/api-scenario/references/v1.1/schema.json b/documentation/api-scenario/references/v1.1/schema.json new file mode 100644 index 000000000000..9efa827cffe5 --- /dev/null +++ b/documentation/api-scenario/references/v1.1/schema.json @@ -0,0 +1,418 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "scope": { + "type": "string", + "enum": [ + "ResourceGroup" + ] + }, + "variables": { + "$ref": "#/definitions/Variables" + }, + "prepareSteps": { + "type": "array", + "description": "Prepare steps before executing scenarios", + "items": { + "$ref": "#/definitions/Step" + } + }, + "scenarios": { + "type": "array", + "description": "API scenarios", + "items": { + "$ref": "#/definitions/Scenario" + }, + "minItems": 1 + }, + "cleanUpSteps": { + "type": "array", + "description": "Clean up steps after executing scenarios", + "items": { + "$ref": "#/definitions/Step" + } + } + }, + "required": [ + "scenarios" + ], + "additionalProperties": false, + "definitions": { + "Name": { + "type": "string", + "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$" + }, + "JsonPointer": { + "type": "string", + "description": "JSON Pointer described by RFC 6901, e.g. /foo/bar", + "pattern": "^(/(([^/~])|(~[01]))*)*$" + }, + "Variables": { + "type": "object", + "propertyNames": { + "$ref": "#/definitions/Name" + }, + "additionalProperties": { + "oneOf": [ + { + "type": "string", + "description": "Default value of the variable" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "string", + "secureString" + ], + "default": "string" + }, + "defaultValue": { + "type": "string", + "description": "Default value of the variable" + } + }, + "additionalProperties": false + } + ] + } + }, + "Scenario": { + "type": "object", + "properties": { + "scenario": { + "$ref": "#/definitions/Name", + "description": "Name of the scenario" + }, + "description": { + "type": "string", + "description": "A long description of the scenario" + }, + "variables": { + "$ref": "#/definitions/Variables" + }, + "shareScope": { + "type": "boolean", + "description": "Whether to share the scope and prepareSteps with other scenarios", + "default": true + }, + "steps": { + "type": "array", + "items": { + "$ref": "#/definitions/Step" + } + } + }, + "required": [ + "steps" + ], + "additionalProperties": false + }, + "Step": { + "oneOf": [ + { + "$ref": "#/definitions/StepRestCall" + }, + { + "$ref": "#/definitions/StepRestOperation" + }, + { + "$ref": "#/definitions/StepArmTemplateDeployment" + }, + { + "$ref": "#/definitions/StepRawCall" + } + ] + }, + "StepBase": { + "properties": { + "step": { + "$ref": "#/definitions/Name", + "description": "Name of the step" + }, + "description": { + "type": "string", + "description": "A long description of the step" + }, + "variables": { + "$ref": "#/definitions/Variables" + }, + "outputVariables": { + "type": "object", + "propertyNames": { + "$ref": "#/definitions/Name" + }, + "additionalProperties": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "string", + "secureString" + ], + "default": "string" + }, + "fromResponse": { + "type": "string" + } + } + } + } + } + }, + "StepRestBase": { + "allOf": [ + { + "$ref": "#/definitions/StepBase" + } + ], + "properties": { + "resourceUpdate": { + "type": "array", + "description": "Update resource properties in body for both request and expected response", + "items": { + "$ref": "#/definitions/JsonPatchOp" + }, + "minItems": 1 + }, + "requestUpdate": { + "type": "array", + "description": "Update request parameters", + "items": { + "$ref": "#/definitions/JsonPatchOp" + }, + "minItems": 1 + }, + "responseUpdate": { + "type": "array", + "description": "Update expected response", + "items": { + "$ref": "#/definitions/JsonPatchOp" + }, + "minItems": 1 + }, + "statusCode": { + "type": "integer", + "description": "Expected response code", + "default": 200 + } + } + }, + "StepRestCall": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/StepRestBase" + } + ], + "properties": { + "exampleFile": { + "type": "string" + }, + "resourceName": { + "$ref": "#/definitions/Name", + "description": "Name a resource for tracking" + } + }, + "required": [ + "exampleFile" + ] + }, + "StepRestOperation": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/StepRestBase" + } + ], + "properties": { + "operationId": { + "type": "string", + "description": "The operationId to perform on a tracking resource" + }, + "resourceName": { + "$ref": "#/definitions/Name", + "description": "Reference a tracking resource" + } + }, + "required": [ + "operationId", + "resourceName" + ] + }, + "StepArmTemplateDeployment": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/StepBase" + } + ], + "properties": { + "armTemplateDeployment": { + "type": "string" + } + }, + "required": [ + "armTemplateDeployment" + ] + }, + "StepRawCall": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/StepBase" + } + ], + "properties": { + "method": { + "type": "string", + "enum": [ + "GET", + "PUT", + "PATCH", + "POST", + "DELETE", + "OPTIONS", + "HEAD" + ] + }, + "url": { + "type": "string" + }, + "requestHeaders": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "requestBody": {}, + "statusCode": { + "type": "integer", + "description": "Expected response code", + "default": 200 + }, + "expectedResponse": {} + }, + "required": [ + "method", + "url", + "requestHeaders", + "requestBody" + ] + }, + "JsonPatchOp": { + "type": "object", + "description": "Change a JSON document in a format described by RFC 6902", + "oneOf": [ + { + "$ref": "#/definitions/JsonPatchOpAdd" + }, + { + "$ref": "#/definitions/JsonPatchOpRemove" + }, + { + "$ref": "#/definitions/JsonPatchOpReplace" + }, + { + "$ref": "#/definitions/JsonPatchOpCopy" + }, + { + "$ref": "#/definitions/JsonPatchOpMove" + }, + { + "$ref": "#/definitions/JsonPatchOpTest" + } + ] + }, + "JsonPatchOpAdd": { + "type": "object", + "required": [ + "add", + "value" + ], + "properties": { + "add": { + "$ref": "#/definitions/JsonPointer" + }, + "value": {} + }, + "additionalProperties": false + }, + "JsonPatchOpRemove": { + "type": "object", + "required": [ + "remove" + ], + "properties": { + "remove": { + "$ref": "#/definitions/JsonPointer" + } + }, + "additionalProperties": false + }, + "JsonPatchOpReplace": { + "type": "object", + "required": [ + "replace", + "value" + ], + "properties": { + "replace": { + "$ref": "#/definitions/JsonPointer" + }, + "value": {} + }, + "additionalProperties": false + }, + "JsonPatchOpCopy": { + "type": "object", + "required": [ + "copy", + "from" + ], + "properties": { + "copy": { + "$ref": "#/definitions/JsonPointer" + }, + "from": { + "$ref": "#/definitions/JsonPointer" + } + }, + "additionalProperties": false + }, + "JsonPatchOpMove": { + "type": "object", + "required": [ + "move", + "from" + ], + "properties": { + "move": { + "$ref": "#/definitions/JsonPointer" + }, + "from": { + "$ref": "#/definitions/JsonPointer" + } + }, + "additionalProperties": false + }, + "JsonPatchOpTest": { + "type": "object", + "required": [ + "test", + "value" + ], + "properties": { + "test": { + "$ref": "#/definitions/JsonPointer" + }, + "value": {} + }, + "additionalProperties": false + } + } +} diff --git a/documentation/release-request/comments.png b/documentation/release-request/comments.png new file mode 100644 index 000000000000..58a7a693cc4d Binary files /dev/null and b/documentation/release-request/comments.png differ diff --git a/documentation/release-request/default-tag.png b/documentation/release-request/default-tag.png new file mode 100644 index 000000000000..44a6c11f0c5e Binary files /dev/null and b/documentation/release-request/default-tag.png differ diff --git a/documentation/release-request/expected-release-date.png b/documentation/release-request/expected-release-date.png new file mode 100644 index 000000000000..623dc22eb155 Binary files /dev/null and b/documentation/release-request/expected-release-date.png differ diff --git a/documentation/release-request/link.png b/documentation/release-request/link.png new file mode 100644 index 000000000000..9d15f426b64a Binary files /dev/null and b/documentation/release-request/link.png differ diff --git a/documentation/release-request/rules-for-release-request.md b/documentation/release-request/rules-for-release-request.md new file mode 100644 index 000000000000..aa38bff83cf1 --- /dev/null +++ b/documentation/release-request/rules-for-release-request.md @@ -0,0 +1,46 @@ +This file claims some rules for those who want official SDK release. + +# How to ask for official SDK +Make release request in [request-api-release](https://portal.azure-devex-tools.com/tools/request-api-release) + +# Some guidance and rules when you fill the release issue + +### 1. Expected release date for SDKs (PST) +![img.png](expected-release-date.png) + +SDK team need some time to prepare and test, so it is better to leave at least 1 week for them. + +### 2. Link to PR or spec (if PR unavailable) +![img.png](link.png) + +Two kinds of link is supported: + +(1) PR link(for example: https://github.com/Azure/azure-rest-api-specs/pull/16554). If the PR contains `several kinds` of +services, please paste specific service definition link(for example: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/apimanagement/resource-manager) +in `Comments` to clarify which is needed. + +(2) service definition link(for example: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/apimanagement/resource-manager) + +Note: `make sure` the content you want is `merged` into [main repo: azure-rest-api-specs](https://github.com/Azure/azure-rest-api-specs). +It is not permitted if PR is `open` or in [private repo: azure-rest-api-specs-pr](https://github.com/Azure/azure-rest-api-specs-pr). + +### 3. ReadMe tag to be released +![img.png](tag.png) + +Make sure the tag is defined in `readme.md`(for example: https:https://github.com/Azure/azure-rest-api-specs/blob/main/specification/advisor/resource-manager/readme.md) +and the tag should stay the same with `default tag` in `readme.md`. If not, please make a PR to modify it before make the +release request. + +![img.png](default-tag.png) + +### 4. Comments +![img.png](comments.png) + +If anything needs to clarify, write it in `Comments` + +# What need to do after making release request + +You could find your issue in [Azure/sdk-release-request](https://github.com/Azure/sdk-release-request/issues?q=is%3Aopen+is%3Aissue+label%3AManagementPlane), +please pay attention to the `comment of issue` since SDK team may `ask for confirmation` before `publish the official SDK`. Once the SDK is published, +they will paste the link and close the issue. + diff --git a/documentation/release-request/tag.png b/documentation/release-request/tag.png new file mode 100644 index 000000000000..d915ce8ab8fa Binary files /dev/null and b/documentation/release-request/tag.png differ diff --git a/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/scenarios/testYourService.yaml b/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/scenarios/quickStart.yaml similarity index 100% rename from documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/scenarios/testYourService.yaml rename to documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/scenarios/quickStart.yaml diff --git a/documentation/samplefiles/readme.go.md b/documentation/samplefiles/readme.go.md index f755026a6888..d084eda879f2 100644 --- a/documentation/samplefiles/readme.go.md +++ b/documentation/samplefiles/readme.go.md @@ -5,7 +5,7 @@ These settings apply only when `--go` is specified on the command line. ```yaml $(go) && $(track2) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/[[ServiceName]]/arm[[ServiceName]] +module-name: sdk/resourcemanager/[[ServiceName]]/arm[[ServiceName]] module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) ``` diff --git a/documentation/test-scenario/how-to/QuickStart.md b/documentation/test-scenario/how-to/QuickStart.md deleted file mode 100644 index 1057dcfa8f40..000000000000 --- a/documentation/test-scenario/how-to/QuickStart.md +++ /dev/null @@ -1,111 +0,0 @@ - - -# API test quick start - -## Install - -`oav` is an open-source powerful tool for swagger validation, example generation, and API testing. GitHub: https://github.com/Azure/oav. - -```sh -npm install -g oav@latest -``` -### OAV Features -- Very easy to use and run. -- Support postman collection format. Debug easily. -- Request response validation. `oav` implement a powerful validation algorithm and help developer to detect service issue in the early phase. -- Validation result report. After each run test scenario, developer will get a validation report which contains detect issue in api test. -- Integrate everywhere. Easily integrate with azure-pipeline, cloud-test. - - -## Create AAD app - -To run API test, first please prepare an AAD app which is used for provisioning Azure resource. Please grant subscription contributor permission to this AAD app. - -For how to create AAD app, please follow this doc https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal - -## Authoring steps - -We will write test scenario file for SignalR service as an example. - -#### 1. Write your first test scenario file - -First, create a folder `scenarios` under the api version folder. All test scenario files under the `scenarios` folder should bind with the api version. - -![folder-structure](./folder-structure.png) - -Now write your basic test scenario. For more detail about test scenario file format, please refer to -[Test Scenario Definition Reference](../references/TestDefinitionReference.md). - -```yaml -# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/documentation/test-scenario/references/v1.0/schema.json - -contentVersion: 1.0.0 -scope: ResourceGroup -testScenarios: - - description: Microsoft.SignalRService/signalR SignalR_CreateOrUpdate - steps: - - step: SignalR_CreateOrUpdate - exampleFile: ../examples/SignalR_CreateOrUpdate.json - - step: SignalR_Delete - exampleFile: ../examples/SignalR_Delete.json -``` - -#### 2. create your env file - -The `env.json` file contains required test scenario variables such as, subscriptionId, AAD applicationId, AAD applicationSecret. - -```json -{ - "subscriptionId": "", - "location": "westus", - "tenantId": "", - "client_id": "", - "client_secret": "" -} -``` - -#### 3. Run api test - -```sh -oav run /home/user/azure-rest-api-specs/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/scenarios/signalR.yaml -e env.json -``` - -#### 4. Debug with postman - -Sometimes the command `oav run` may fail due to non 2xx HTTP status code. Now you need to debug the test scenario with postman. - -When run `run`, it automatically generate postman collection and postman env in `generated////` folder. Here is the generated file folder structure. The `collection.json` and `env.json` is generated postman collection file and environment file. `202105120922-5c3x5` is current runId. For each run command it will generated unique runId. - -``` -generated -└── Microsoft.SignalRService - └── 2020-07-01-preview - └── signalR - └── 202105120922-5c3x5 - ├── signalR_0 - │ ├── collection.json - │ └── env.json - | |__ report.json - └── signalR_0.json -``` - -Postman is a widely used GUI API testing tool. And you could use Postman import the generated postman collection and env for your local debug. - -![import-postman-collection](./import-postman-collection.png) - -After you import postman collection, you will get such requests. Now you could debug API test with postman locally. - -![postman-collection-signalr](./postman-collection-signalr.PNG) - -#### 5. manual update example value - -After debug with postman, you need to rewrite back all the updated values and run `oav run -e ` again. The result should be successful. - -## Feedback - -If you have any question, feel free to send email to vscswagger@microsoft.com diff --git a/documentation/test-scenario/how-to/generateABasicTestScenario.md b/documentation/test-scenario/how-to/generateABasicTestScenario.md deleted file mode 100644 index e1302cdb59db..000000000000 --- a/documentation/test-scenario/how-to/generateABasicTestScenario.md +++ /dev/null @@ -1,57 +0,0 @@ -# Generate a basic test scenario file - -## Prerequisite - -We use `oav` tools to generate basic test scenario. `oav` analyze swagger file and use swagger example as test scenario steps. So first, you need to install the latest oav. - -## Introduction - -`oav` support rule based test scenario file generation. We use this command to generate test scenario file. - -`oav generate-static-test-scenario --readme --tag --rules ` - -- readme: swagger readme file. -- tag: which tag to generate. oav will analyze swagger file under the tag and generate test scenario. -- rules: Currently support two types. `resource-put-delete`, `operations-list`. Default: `resource-put-delete` - - `resource-put-delete`: generate resource put and delete test scenario. - - `operations-list`: generate operations list test scenario. `operations-list` is the simplest API which must be defined in swagger. - -Example: - -![](./genTestScenario.gif) - -This command will load and analyze swagger and generate a basic test scenario file (`resource-put-delete`). - -Result: the output contains two files - -- test-scenarios/signalR.yaml: The test scenario file. -- readme.test.md: The entry for SDK test generation - -The generated test scenario file: The generated test scenario file contains two steps. Create signalR and delete it. It's a basic test scenario and developer can add more step based on the basic test scenario file. - -``` -scope: ResourceGroup -testScenarios: - - description: Microsoft.SignalRService/signalR SignalR_CreateOrUpdate - steps: - - step: SignalR_CreateOrUpdate - exampleFile: ../examples/SignalR_CreateOrUpdate.json - - step: SignalR_Delete - exampleFile: ../examples/SignalR_Delete.json -``` - -If you pass rule option `operations-list`, you will get such test scenario file. - -``` -scope: ResourceGroup -testScenarios: - - description: operationsList - steps: - - step: operationsList - exampleFile: ../examples/Operations_List.json - -``` - -## Reference - -- [oav](https://github.com/Azure/oav/tree/develop) diff --git a/documentation/test-scenario/how-to/testScenarioWithARMTemplate.md b/documentation/test-scenario/how-to/testScenarioWithARMTemplate.md deleted file mode 100644 index 7f6524b7c359..000000000000 --- a/documentation/test-scenario/how-to/testScenarioWithARMTemplate.md +++ /dev/null @@ -1,104 +0,0 @@ -# Test scenario integrate with armTemplate - -## Background - -In some cases, we need to do some more complex operations before creating a resource. For example, - -- Create Azure SignalR service with a global unique name. Using ARMTemplate to generate a random unique string. -- Create VM with a storage account. Using ARMTemplate to provision storage account and passing the storage account resourceId as VM creation parameter. - -## Examples - -Here is an example about `generate unique resource name for signalR service` - -#### Generate unique resource name - -We use `armTemplate output` to overwrite `resourceName` variable and following `createResource` step will use this variable. Below is generate unique name armTemplate. This armTemplate output `resourceName` variables, so test scenario following step will using the output variable. - -```json -{ - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "resourceNamePrefix": { - "type": "string", - "defaultValue": "signalr-" - } - }, - "variables": { - "resourceName": "[concat(parameters('resourceNamePrefix'), uniqueString(resourceGroup().id))]" - }, - "resources": [], - "outputs": { - "resourceName": { - "type": "string", - "value": "[variables('resourceName')]" - } - } -} -``` - -After we have this armTemplate, we could define current test scenario file. We defined `resourceName` variable globally. `./generate_unique_string.json` is armTemplate. - -`SignalR_CreateOrUpdate.json` - -```json -{ - "parameters": { - "parameters": { - "tag": { - "key1": "tag1" - }, - "properties":{ - ... - } - }, - "api-version": "2020-07-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "resourceName": "mySignalRService123xx" - }, - "responses": { - "200": { - "body": { - ... - } - }, - "201": { - "body": { - ... - } - }, - "202": {} - } -} -``` - -> NOTE: the example file `../examples/SignalR_CreateOrUpdate` has the same parameter name `resourceName`. So it will be automatically overwrite in runner. - -```yaml -scope: ResourceGroup -variables: - resourceName: "" -testScenarios: - - description: Microsoft.SignalRService/signalR CRUD - steps: - - step: Generate_Unique_string - armTemplateDeployment: ./generate_unique_string.json - - step: SignalR_checknameAvailability - exampleFile: ../examples/SignalR_CheckNameAvailability.json - - step: SignalR_CreateOrUpdate - exampleFile: ../examples/SignalR_CreateOrUpdate.json - - step: SignalR_ListKey - exampleFile: ../examples/SignalR_ListKeys.json - - step: SignalR_Delete - exampleFile: ../examples/SignalR_Delete.json -``` - -**Result**: - -![](./armTemplate.png) - -## Reference - -- [ARMTemplate deployment script](https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/deployment-script-template) diff --git a/documentation/test-scenario/readme.md b/documentation/test-scenario/readme.md index 1103f0bcf7fa..6761413200be 100644 --- a/documentation/test-scenario/readme.md +++ b/documentation/test-scenario/readme.md @@ -1,26 +1 @@ -# Test Scenario Documentation - -Test Scenario is a YAML file defining RESTful API usage scenarios of your service with a series of API calls. Test scenario can be used for service functional test, API quality validation and SDK/CLIs test generation. - -_**Caution**: This project is in early preview phase, hence breaking changes should be expected._ -## Features -- Simple to use: Intuitive test step definition based on Swagger examples and raw REST call. -- ARM Template integration: Support creating external Azure resources with ARM Template and executing Azure Powershell or Azure CLI scripts with ARM Template deployment script. -- Implementation independent: [oav](https://github.com/Azure/oav) is the default test scenario runner, and more runners will be supported, like SDKs in different languages. - -### Demo gif - -![demo](./how-to/runApiTest.gif) - -## Quick start - -- [Example: Write and run your first test scenario file](./how-to/QuickStart.md) -- [Example: Generate a basic test scenario file](./how-to/generateABasicTestScenario.md) -- [Example: use armTemplate to generate unique resourceName](./how-to/testScenarioWithARMTemplate.md) -- [Test scenario file sample](../samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/scenarios/testYourService.yaml) - -## References -- [Test Scenario Definition Reference](./references/TestDefinitionReference.md) -- [Test Scenario Variable Definition Reference](./references/Variables.md) -- [Test Scenario Runner Reference](./references/Runner.md) -- [Test Scenario Schema Reference](./references/v1.0/schema.json) +Moved to [api-scenario/readme.md](../api-scenario/readme.md) diff --git a/documentation/test-scenario/references/Runner.md b/documentation/test-scenario/references/Runner.md deleted file mode 100644 index d7d553043b6c..000000000000 --- a/documentation/test-scenario/references/Runner.md +++ /dev/null @@ -1,130 +0,0 @@ -# Runner Behavior - -This document explains the expected behavior of runner. The word "runner" here references to any customer that consume the test scenario, including the runner that send out requests defined by test scenario, code generator that generate code that executes steps defined by test scenario, and any other consumer that need to understand the content of test scenario. - -## Load Test Scenario via OAV - -You could load the test scenario file via oav. It would be resolved as a simple object. - -```typescript - const readmeMd: string = - "/home/username/azure-rest-api-specs/specification/containerservice/resource-manager/readme.md"; - const argv = { - ["try-require"]: "readme.test.md", - tag: "package-2020-12", - }; - - // Get input-file config in readme.md - const autorestConfig = await getAutorestConfig(argv, readmeMd); - const swaggerFilePaths: string[] = autorestConfig["input-file"]; - const fileRoot = dirname(readmeMd); - - console.log("input-file:"); - console.log(swaggerFilePaths); - - // Create the loader from OAV - const loader = TestResourceLoader.create({ - useJsonParser: false, - checkUnderFileRoot: false, - fileRoot, - swaggerFilePaths, - }); - - // Load the test scenario file. File list could also be specified in readme.test.md - const testDef = await loader.load( - "Microsoft.ContainerService/stable/2020-12-01/test-scenarios/containerService.yaml" - ); - - console.log(testDef.testScenarios[0].steps); - - // Setup initial variable env - const env = new VariableEnv(); - env.setBatch({ - subscriptionId: "__your_subs_id_", - location: "westus", - SSH_PUBLIC_KEY: "__public_key_ssh__", - }); - - // Reference runner implementation in OAV. You need to implement your own runner. - const runner = new TestScenarioRunner({ - jsonLoader: loader.jsonLoader, - env, - client: new TestScenarioRestClient(getDefaultAzureCredential(), {}), - }); - - try { - for (const scenario of testDef.testScenarios) { - await runner.executeScenario(scenario); - } - } catch (e) { - console.log(e.message, e.stack); - } finally { - console.timeLog("TestLoad"); - await runner.cleanAllTestScope(); - } -``` - -After the test scenario is loaded, the test step will be slightly different from the file content. Every rest step will have the following resolved fields: - -- requestParameters - - Type: `object`, map of resolved parameter name and value. -- responseExpected - - Type: `any` - - The expected response body from the request. - -## Procedure of runner - -### Input - -Let's assume the following things as input of runner: - -- Test scenario definition that loaded via OAV. -- The scenario id of the test scenario. Test scenario definition file could contains multiple test scenarios, runner need to run one of them. -- Extra environment variables that required by test scenario, defined in `requiredVariables`. - -### Scope - -It's the `scope` field defined at top level of test scenario file. Now only `ResourceGroup` is supported, it means that the test scenario will: - -- Run under specified resource group. -- Runner would manage the resource group, it could create the resource group (defined by variable `subscriptionId`, `resourceGroup`, `location`) or use predefined resource group, it could also delete the resource group after the test scenario is done. Runner itself is responsible for managing the resource group, the behavior is not defined by this spec. -- Runner would run all the arm template deployment under the specified resource group. - -The scope is a convention, however it would not be enforced by test scenario. User could override the variable `resourceGroup` in any step to run that step in another resource group for example. - -### Variables - -See [Variables](./Variables.md) for variable spec. The runner must follow the variable definition in test scenario. Runner do not need to care about the variable conventions as it's already resolved by OAV. The runner must: - -- Load variables layer by layer as defined in the variable spec. -- Resolve variables like `$(variableName)` step by step in: - - requestParameter - - responseExpected (if it's used by runner) - - armTemplate payload - -### Procedure - -- Load definition via OAV, load required variables' value (runner need to specify how to load it). -- Manage the test scope, runner could create/reuse the scope as user defined in input. -- Run top level prepareSteps if it has not run. it's a list of steps defined in test scenario. -- Pass the variables from prepareSteps to the following main steps. -- For each steps defined in the test scenario array: - - If `type` field is `restCall`: - - Replace variables in `requestParameters`. - - Fill the request via parameter definition in swagger and parameter value in `requestParameters`. - - Send out the request. - - If the request is long running request, runner need to poll for the response. - - If the response's long running poll's final call is operation status, and the step itself is resource PUT/PATCH/DELETE, runner could run another GET against the resource to check. For DELETE, the final GET is expected to return 404. For PUT/PATCH, the final GET is expected to return 200, and it should represent the final response of the step. - - Check if the response status code is the same as the expected `statusCode` field defined in step. Optional. - - Check if the response body is the same as the expected `responseExpected` field defined in step. Optional. - - If `outputVariables` is defined, runner need to extract and define the variable from specified path in response body. - - If `type` field is `armTemplateDeployment`: - - Use the convention to replace arm template parameters if the parameter name matches the variable name and the parameter type is string. - - Send arm template deployment request under the resource group. - - Wait for the deployment to finish. - - Get the output variables from the deployment. Define the variables from the output variables. - - Else `type` is unsupported in runner. - -### Compare the response with expectedResponse - -It's hard for service team to make sure every field in expectedResponse is the same as the response, so here test scenario suggest to compare properties that are not `readOnly` and are not `x-ms-secret`. The detail should be defined by the runner, not this spec. diff --git a/documentation/test-scenario/references/TestDefinitionReference.md b/documentation/test-scenario/references/TestDefinitionReference.md deleted file mode 100644 index 731d3127ccc6..000000000000 --- a/documentation/test-scenario/references/TestDefinitionReference.md +++ /dev/null @@ -1,431 +0,0 @@ -# Test Definition Reference - -## Test Definition File - -See [Test Definition File Schema](./v1.0/schema.json#L1) - -File should be in format of yaml. - -**Example:** -```yaml -scope: ResourceGroup -requiredVariables: - - subscriptionId -variables: - publicIpAddressName: pubipdns -prepareSteps: - - step: prepare_resources - armTemplateDeployment: ./dep-something.json -testScenarios: - - description: test_network_public_ip - steps: - - step: Create_publicIPAddresses_pubipdns - resourceName: publicIPAddresses_pubipdns - exampleFile: ../examples/Create_publicIPAddresses_pubipdns_Generated.json - operationId: PublicIPAddresses_CreateOrUpdate - variables: - publicIpAddressName: pubipdns -``` - -**Fields:** -- **scope** - - **Type:** Required, Enum - - **Enum:** ResourceGroup - - Now only "ResourceGroup" is supported. - - **ResourceGroup:** All of the following test scenario and steps should be under some resourceGroup. It means: - - The consumer (test scenario runner or anything consumes test scenario) SHOULD maintain the resource group itself. Usually it requires user to input the subscriptionId/location, then it creates the resource group before test running, and deletes the resource group after running - - The consumer SHOULD set the following variables: - - **subscriptionId** - - **resourceGroupName** - - **location** - - For details of how variables works please see [Variables](./Variables.md) -- **variables** - - **Type:** Optional, Map of strings - - See [Variables](./Variables.md) -- **requiredVariables** - - **Type:** Optional, Array of string - - Variables that must be defined by user. By default, **subscriptionId** and **location** are required. -- **prepareSteps** - - **Type:** Optional, Array of [Test Step](#test-step) - - Steps that should run before every test scenario steps. -- **testScenarios** - - **Type:** Required, Array of [Test Scenario](#test-scenario) - -## Test Scenario - -See [Test Scenario Schema](./v1.0/schema.json#L331). - -It defines one test scenario that could go through on its own. - -**Example:** -```yaml -description: test_network_public_ip -shareTestScope: true -steps: - - step: Create_publicIPAddresses_pubipdns - resourceName: publicIPAddresses_pubipdns - exampleFile: ../examples/Create_publicIPAddresses_pubipdns_Generated.json - operationId: PublicIPAddresses_CreateOrUpdate -variables: - publicIpAddressName: pubipdns -``` - -**Fields:** -- **description** - - **Type:** Required, String - - Description for this test scenario. -- **shareTestScope** - - **Type:** Optional, Boolean or String - - **Default:** true - - Describe how the testScope (ResourceGroup if scope is ResourceGroup) could be shared with other tests. If it's true or it's the same string setting for different test scenario, then they share the same test scope, which means: - - These tests will run under the same test scope (e.g. ResourceGroup). They may launch in parallel. - - **prepareSteps** will only run once in the testScope. The variables will be shared. - - By default all the test scenario in one test definition file will be launched in the same test scope. If shareTestScope is false then it will not share anything with other test scenarios in the same file. -- **variables** - - **Type:** Optional, Map of strings - - See [Variables](./Variables.md) -- **steps** - - **Type:** Required, Array of [Test Step](#test-step) - - Steps in this test scenario - -## Test Step - -See [Test Step Schema](./v1.0/schema.json#L50). - -Defines one test step in test scenario. - -Should be one of the following: -- [Test Step](#test-step) -- [Test Step ARM Template Deployment](#test-step-arm-template-deployment) -- [Test Step Rest Call](#test-step-rest-call) - - [Rest Call](#rest-call) - - [Rest Call by ResourceName Tracking and Update](#rest-call-by-resourcename-tracking-and-update) - -All of the above definitions share the following fields: -- **variables** - - **Type:** Optional, Map of Strings - - See [Variables](./Variables.md) -- **step** - - **Type:** Required, String - - Step name. Must be unique in the same file. - -## Test Step ARM Template Deployment - -See [Test Step ARM Template Deployment Schema](./v1.0/schema.json#L78). - -Step to deploy ARM template to the test scope. Template parameters and outputs will also interact with variables automatically, see [Variables](./Variables.md). - -**Example:** -```yaml -step: prepare_resources -armTemplateDeployment: ./dep-storage-account.json -armTemplateParameters: ./dep-storage-account-params.json -``` - -**Fields:** -- **armTemplateDeployment** - - **Type:** Required, String - - Path to ARM template json file. See [ARM Template](https://docs.microsoft.com/azure/templates/). -- **armTemplateParameters** - - **Type:** Optional, String - - Path to ARM template parameter file. See [ARM Template Parameter File](https://docs.microsoft.com/azure/azure-resource-manager/templates/parameter-files). - -## Test Step Rest Call - -See [Test Step Rest Call Schema](./v1.0/schema.json#L97) - -Step to run a swagger operation defined rest call. This may not be just one http call. - -- If the operation is a long running operation (LRO), then follow the LRO polling strategy. - - Response statusCode must be 200 if the LRO succeeded, no matter what code the initial response is. - - If the LRO is PUT/PATCH, the runner should automatically insert a GET after the polling to verify the resource update result. -- If the operation is DELETE, then after the operation, the runner should automatically insert a GET to verify resource cannot be found. - -Rest call step could be defined either by an example file, or by resourceName tracking and update. - -Rest call will have computed **requestParameter** and **responseExpected** after parsing and loading: -- **requestParameter** - -### Rest Call - -**Example:** -```yaml -step: Create_publicIPAddresses_pubipdns -resourceName: publicIPAddresses_pubipdns -exampleFile: ../examples/Create_publicIPAddresses_pubipdns_Generated.json -operationId: PublicIPAddresses_CreateOrUpdate -statusCode: 200 -``` - -**Fields:** -- **exampleFile** - - **Type:** Optional, String - - Path to example file. Should be in format of "x-ms-example" files. -- **operationId** - - **Type:** Optional, String - - OperationId defined in swagger operation. It could be skipped if the example file is referenced by only one operation so we could detect the operationId. -- **statusCode:** - - **Type:** Optional, Number - - **Default:** 200 - - Expected response code. - - For LRO it must be 200 to indicate succeeded result, and must be 400 to indicate failed result. -- **requestUpdate** - - **Type:** Optional, Array of [JsonPatchOp](#jsonpatchop) - - Updates that applied to the requestParameters before sending it. -- **responseUpdate** - - **Type:** Optional, Array of [JsonPatchOp](#jsonpatchop) - - Updates that applied to the responseExpected. -- **outputVariables** - - **Type:** Optional, Map from variable name to object with property: - - **fromResponse** - - **Type:** Required, String - - Path to the response field to be used as variable. - -### Rest Call by ResourceName Tracking and Update - -**Example** -```yaml -- step: Create_publicIPAddresses_pubipdns - resourceName: publicIPAddresses_pubipdns - exampleFile: ../examples/Create_publicIPAddresses_pubipdns_Generated.json - operationId: PublicIPAddresses_CreateOrUpdate - statusCode: 200 - -- step: Update_publicIPAddresses - resourceName: publicIPAddresses_pubipdns - resourceUpdate: - - replace: /properties/location - value: westus -``` - -Different steps with the same resourceName will be tracked by the test scenario. It knows that you are trying to update the same resource. You can use the first request with example to specify the request and resource id, then the following step with the same resourceName will use the same resource id to update the resource. For the - -**Fields:** -- **resourceName** - - **Type:** Required, String - - The user-defined resource name of the resource to be tracked. It's only used as a name of that resource and do not need to be same as the actual resource name. -- **resourceUpdate** - - **Type:** Optional, Array of [JsonPatchOp](#jsonpatchop) - - Array of changes to be applied to the resource. - -resourceUpdate will help to automate compute the request body and the expected response body. The algorithm will be: - -- Get the expected response body from previous step with same `resourceName`, or from current step with example loaded. -- For each change in `resourceUpdate`, apply the change to the expected response body, mark as `computedAllProperties`. -- Let new request body parameter value to be: `computedAllProperties` without `readOnly` fields and `x-ms-mutability` fields that don't contains `update`. -- Let new response expected to be: `computedAllProperties` without `x-ms-secrets` fields and `x-ms-mutability` fields that don't contain `read`. -- Let the operationId to be: resource PUT operationId. - -### JsonPatchOp - -JsonPatchOp is used to define the update operation on json. You could add, remove, replace, move, copy and merge on json path. -All the json path used in JsonPatchOp is in format of [JsonPointer](https://datatracker.ietf.org/doc/html/rfc6901). - - - [JsonPatchOp](#jsonpatchop) - - [JsonPatchOpAdd](#jsonpatchopadd) - - [JsonPatchOpRemove](#jsonpatchopremove) - - [JsonPatchOpReplace](#jsonpatchopreplace) - - [JsonPatchOpMove](#jsonpatchopmove) - - [JsonPatchOpCopy](#jsonpatchopcopy) - - [JsonPatchOpMerge](#jsonpatchopmerge) -#### JsonPatchOpAdd - -**Example** -```yaml -add: /properties/items -value: 1 -``` - -**Fields:** -- **add** - - **Type:** Required, JsonPointer -- **value** - - **Type:** Required, Any - -Add json property at specified path. -1. If any segment of path does not exist, then it will be created. -2. If any value already exists on the path, then it will be overwritten. -3. If the parent of the destination is array, then the value will be inserted at the specified index. - -**Example of add** -``` -apply: -- add: /properties/location - value: "eastus" - -on data: -- { "properties": { } } - -result: -- { "properties": { "location": "eastus" } } } - ---- -apply: -- add: /properties/items/1 - value: 4 - -on data: -- { "properties": { "items": [1, 2, 3] } } - -result: -- { "properties": { "items": [1, 4, 2, 3] } } -``` - -#### JsonPatchOpRemove - -**Example** -```yaml -remove: /properties/items/1 -``` - -**Fields:** -- **remove** - - **Type:** Required, JsonPointer - -Remove element at specified path. -1. If any segment of path does not exist, then error will be thrown. -2. If parent of the specified path is array, then the element will be removed from the array. - -**Example of remove** -``` -apply: -- remove: /properties/items - -on data: -- { "properties": { "items": [1, 2, 3] } } - -result: -- { "properties": { } } - ---- -apply: -- remove: /properties/items/1 - -on data: -- { "properties": { "items": [1, 2, 3] } } - -result: -- { "properties": { "items": [1, 3] } } -``` - -#### JsonPatchOpReplace - -**Example** -```yaml -replace: /properties/items -value: 1 -``` - -**Fields:** -- **replace** - - **Type:** Required, JsonPointer -- **value** - - **Type:** Required, Any - -Replace json property at specified path. -1. If any segment of path does not exist, error will be thrown. -2. If any value already exists on the path, then it will be overwritten. - -**Example of replace** -``` -apply: -- replace: /properties/location - value: "eastus" - -on data: -- { "properties": { "location": "westus" } } - -result: -- { "properties": { "location": "eastus" } } } -``` - -#### JsonPatchOpMove - -**Example** -```yaml -move: /properties/items -path: /properties/items2 -``` - -**Fields:** -- **move** - - **Type:** Required, JsonPointer -- **path** - - **Type:** Required, JsonPointer - -Move json property at specified path to another path. It works as a combination of remove followed by add. Array index is also supported and works as add/remove does. - -**Example of move** -``` -apply: -- move: /properties/items - path: /properties/items2 - -on data: -- { "properties": { "items": [1, 2, 3] } } - -result: -- { "properties": { "items2": [1, 2, 3] } } -``` -#### JsonPatchOpCopy - -**Example** -```yaml -copy: /properties/items -path: /properties/items2 -``` - -**Fields:** -- **copy** - - **Type:** Required, JsonPointer -- **path** - - **Type:** Required, JsonPointer - -Copy json property at specified path to another path. Array index is also supported and works as add/remove does. - -**Example of copy** -``` -apply: -- copy: /properties/items - path: /properties/items2 - -on data: -- { "properties": { "items": [1, 2, 3] } } - -result: -- { "properties": { "items": [1, 2, 3] }, "items2": [1, 2, 3] } } -``` -#### JsonPatchOpMerge - -**Example** -```yaml -merge: /properties/item -value: - a: 1 - b: 2 -``` - -**Fields:** -- **merge** - - **Type:** Required, JsonPointer -- **value** - - **Type:** Required, Object - -Merge values into the object at specified path. -1. Property value at the specified path must be an object. -2. Properties with same key will be overwritten. - -**Example of merge** -``` -apply: -- merge: /properties - value: - a: 1 - b: 2 - -on data: -- { "properties": { "b": 0, "c": 0} } - -result: -- { "properties": { "a": 1, "b": 2, "c": 0 } } -``` \ No newline at end of file diff --git a/documentation/test-scenario/references/Variables.md b/documentation/test-scenario/references/Variables.md deleted file mode 100644 index 6c9329e57fc9..000000000000 --- a/documentation/test-scenario/references/Variables.md +++ /dev/null @@ -1,140 +0,0 @@ -# Variables in test scenario - -## Variable definition and replacement - -Variables could be defined in different level of test scenario: -- Test Definition level variable definition -- Test Scenario level variable definition -- Test Step level variable definition - -Variable could be referenced by `$(variableName)`. Currently variable type must be string. - -For example, in the following test scenario: - -```yaml -variables: - resourceName: level-1 - -test-scenarios: -- definition: Create some resource - variables: - resourceName: level-2 - steps: - - step: Create resource - variables: - resourceName: level-3 - exampleFile: ../examples/ResourceCreate.json -``` - -if in `../examples/ResourceCreate.json` we have `$(resourceName)` in some string, it would be replaced with `level-3`. - -Variables could also be defined on test running. For example you could set `subscriptionId` or `resourceGroupName` on the global scope. How to set global env is based on the test scenario consumer. - -Variables could be replaced recursively. For example if we have the following variables: -```yaml -variables: - resourceName: abc - resourceId: Microsoft.Contoso/$(resourceName) -``` - -Then `$(resourceId)` would be resolved to `Microsoft.Contoso/abc`. - -Variable resolving is limited to at most 100 times for certain string. - -## Convention: parameter name in example - -In one rest call step, if we have any parameter, for example it's named `param`, in the step requestParameters, with value `paramValue`, and test scenario has variable `param`, then by default, test scenario loader will: -- replace the parameter value of `param` to `$(param)` so that it will reference the variable value. -- replace `paramValue` to `$(param)` in every string in request body (in requestParameter) and in responseExpected. - -For example, for the following step with loaded requestParameter and responseExpected -```yaml -requestParameters: - subscriptionId: 00000000-0000-0000-0000-000000000000 - resourceGroupName: testGroup - resourceName: abc - api-version: 2021-01-01 - parameters: - properties: - a: abc -responseExpected: - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.Contoso/SomeResource/abc - name: abc - type: Microsoft.Contoso/SomeResource - properties: - a: abc -``` - -And when we are on this step, we already have `subscriptionId`, `resourceGroupName` and `resourceName` in variables, then the step will be replaced with: - -```yaml -requestParameters: - subscriptionId: $(subscriptionId) - resourceGroupName: $(resourceGroupName) - resourceName: $(resourceName) - api-version: 2021-01-01 - parameters: - properties: - a: abc -responseExpected: - id: /subscriptions/$(subscriptionId)/resourceGroups/$(resourceGroupName)/providers/Microsoft.Contoso/SomeResource/$(resourceName) - name: $(resourceName) - type: Microsoft.Contoso/SomeResource - properties: - a: $(resourceName) -``` - -With this convention, you could control most of the parameters with variables. - -## Convention: location - -In one rest call step, if we have variable `location` (exact match) in the test scenario, and we have `location` as top level property defined in request body (`requestParameters[bodyParamName]`) and response body (responseExpected), then the top level location property will be replaced with variable value of location. - -For example, -```yaml -requestParameters: - parameters: - id: someId - location: westus -responseExpected: - id: someId - location: westus -``` - -When we have `location` variable defined, this step will be transformed to: - -```yaml -requestParameters: - parameters: - id: someId - location: $(location) -responseExpected: - id: someId - location: $(location) -``` - -## Convention: Arm Template Deployment - -When you deploy arm template in test scenario, you could define template parameters and outputs. By default if the parameter name matches the variable exists and the parameter type is string, then the parameter value would use the variable value. If the template has output which is string type, the variables will be set with output values. - -For example, given the following arm template: - -```json -{ - "parameters": { - "userName": { - "type": "string" - } - }, - "resources": [ - ], - "outputs": { - "nameResult": { - "type": "string", - "value": "[concat('prefix/', parameters['userName'])]" - } - } -} -``` - -If we have variable `userName` defined with `abc`, then we will have variable `nameResult` defined with value `prefix/abc` so that following steps in the test scenario could use variable `nameResult`. diff --git a/documentation/test-scenario/references/v1.0/schema.json b/documentation/test-scenario/references/v1.0/schema.json deleted file mode 100644 index 8d31455e0eb5..000000000000 --- a/documentation/test-scenario/references/v1.0/schema.json +++ /dev/null @@ -1,374 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/VariableScope" - } - ], - "properties": { - "scope": { - "type": "string", - "enum": [ - "ResourceGroup" - ] - }, - "requiredVariables": { - "type": "array", - "items": { - "type": "string" - } - }, - "prepareSteps": { - "type": "array", - "items": { - "$ref": "#/definitions/TestStep" - } - }, - "testScenarios": { - "type": "array", - "items": { - "$ref": "#/definitions/TestScenario" - } - } - }, - "required": [ - "testScenarios" - ], - "definitions": { - "Name": { - "type": "string", - "pattern": "^[a-zA-Z0-9_-]+$" - }, - "JsonPointer": { - "type": "string", - "description": "String syntax for identifying a specific value within JSON document", - "pattern": "^(/(([^/~])|(~[01]))*)*$" - }, - "VariableScope": { - "type": "object", - "properties": { - "variables": { - "type": "object", - "additionalProperties": true - } - } - }, - "TestStep": { - "oneOf": [ - { - "$ref": "#/definitions/TestStepRestCall" - }, - { - "$ref": "#/definitions/TestStepArmTemplateDeployment" - }, - { - "$ref": "#/definitions/TestStepRawCall" - } - ] - }, - "TestStepBase": { - "properties": { - "step": { - "$ref": "#/definitions/Name" - }, - "type": { - "type": "string" - }, - "outputVariables": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "fromResponse": { - "type": "string" - } - } - } - } - }, - "required":[ - "step" - ] - }, - "TestStepArmTemplateDeployment": { - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TestStepBase" - } - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "armTemplate" - ] - }, - "armTemplateDeployment": { - "type": "string" - }, - "armTemplateParameters": { - "type": "string" - } - }, - "required": [ - "armTemplateDeployment" - ] - }, - "TestStepRestCall": { - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/VariableScope" - }, - { - "$ref": "#/definitions/TestStepBase" - } - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "exampleFile" - ] - }, - "resourceName": { - "type": "string" - }, - "exampleFile": { - "type": "string" - }, - "resourceUpdate": { - "type": "array", - "items": { - "$ref": "#/definitions/JsonPatchOp" - }, - "minItems": 1 - }, - "requestUpdate": { - "type": "array", - "items": { - "$ref": "#/definitions/JsonPatchOp" - } - }, - "responseUpdate": { - "type": "array", - "items": { - "$ref": "#/definitions/JsonPatchOp" - } - }, - "operationId": { - "type": "string" - }, - "statusCode": { - "type": "number" - } - } - }, - "TestStepRawCall": { - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/VariableScope" - }, - { - "$ref": "#/definitions/TestStepBase" - } - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "rawCall" - ] - }, - "method": { - "type": "string", - "enum": [ - "GET", - "PUT", - "PATCH", - "POST", - "DELETE", - "OPTIONS", - "HEAD" - ] - }, - "url": { - "type": "string" - }, - "requestHeaders": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "requestBody": { - "type": "string" - }, - "statusCode": { - "type": "number" - }, - "responseExpected": { - "type": "string" - } - }, - "required": [ - "method", - "url", - "requestHeaders", - "requestBody" - ] - }, - "JsonPatchOp": { - "type": "object", - "oneOf": [ - { - "$ref": "#/definitions/JsonPatchOpAdd" - }, - { - "$ref": "#/definitions/JsonPatchOpRemove" - }, - { - "$ref": "#/definitions/JsonPatchOpReplace" - }, - { - "$ref": "#/definitions/JsonPatchOpCopy" - }, - { - "$ref": "#/definitions/JsonPatchOpMove" - }, - { - "$ref": "#/definitions/JsonPatchOpMerge" - } - ] - }, - "JsonPatchOpAdd": { - "type": "object", - "required": [ - "add", - "value" - ], - "properties": { - "add": { - "$ref": "#/definitions/JsonPointer" - }, - "value": {} - }, - "additionalProperties": false - }, - "JsonPatchOpRemove": { - "type": "object", - "required": [ - "remove" - ], - "properties": { - "remove": { - "$ref": "#/definitions/JsonPointer" - } - }, - "additionalProperties": false - }, - "JsonPatchOpReplace": { - "type": "object", - "required": [ - "replace", - "value" - ], - "properties": { - "replace": { - "$ref": "#/definitions/JsonPointer" - }, - "value": {} - }, - "additionalProperties": false - }, - "JsonPatchOpCopy": { - "type": "object", - "required": [ - "copy", - "path" - ], - "properties": { - "copy": { - "$ref": "#/definitions/JsonPointer" - }, - "path": { - "$ref": "#/definitions/JsonPointer" - } - }, - "additionalProperties": false - }, - "JsonPatchOpMove": { - "type": "object", - "required": [ - "move", - "path" - ], - "properties": { - "move": { - "$ref": "#/definitions/JsonPointer" - }, - "path": { - "$ref": "#/definitions/JsonPointer" - } - }, - "additionalProperties": false - }, - "JsonPatchOpMerge": { - "type": "object", - "required": [ - "merge", - "value" - ], - "properties": { - "merge": { - "$ref": "#/definitions/JsonPointer" - }, - "value": { - "type": "object", - "additionalProperties": true - } - }, - "additionalProperties": false - }, - "TestScenario": { - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/VariableScope" - } - ], - "properties": { - "scenario": { - "$ref": "#/definitions/Name", - "description": "Name of scenario" - }, - "description": { - "type": "string" - }, - "requiredVariables": { - "type": "array", - "items": { - "type": "string" - } - }, - "steps": { - "type": "array", - "items": { - "$ref": "#/definitions/TestStep" - } - }, - "dependsOn": { - "$ref": "#/definitions/Name", - "description": "Name of scenario that is depended on" - } - }, - "required": [ - "description", - "steps" - ] - } - } -} diff --git a/profile/2020-09-01-hybrid.json b/profile/2020-09-01-hybrid.json index 008d361bea93..d3fc6565d644 100644 --- a/profile/2020-09-01-hybrid.json +++ b/profile/2020-09-01-hybrid.json @@ -651,11 +651,15 @@ }, "data-plane": { "microsoft.keyvault": { - "2016-10-01": [ + "7.1": [ { - "resourceType": "*", - "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/data-plane/Microsoft.KeyVault/stable/2016-10-01/keyvault.json" - } + "resourceType": "secrets", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/secrets.json" + }, + { + "resourceType": "keys", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/keys.json" + } ] }, "microsoft.containerregistry": { diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/adp.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/adp.json new file mode 100644 index 000000000000..db6b8de68e43 --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/adp.json @@ -0,0 +1,1235 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-01-preview", + "title": "adp", + "description": "Microsoft Autonomous Development Platform" + }, + "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": { + "/providers/Microsoft.AutonomousDevelopmentPlatform/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Autonomous Development Platform provider operations", + "operationId": "Operations_List", + "x-ms-examples": { + "List operations": { + "$ref": "./examples/AdpOperationsList.json" + } + }, + "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/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AutonomousDevelopmentPlatform/checkNameAvailability": { + "post": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_CheckNameAvailability", + "description": "Checks that the account name is valid and is not already in use", + "x-ms-examples": { + "AccountCheckNameAvailability": { + "$ref": "./examples/AdpAccountCheckNameAvailability.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccountCheckNameAvailabilityParameters" + }, + "description": "The checkNameAvailability parameters." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the account name availability was successful", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AutonomousDevelopmentPlatform/accounts": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_List", + "description": "List all ADP accounts available under the subscription", + "x-ms-examples": { + "List accounts": { + "$ref": "./examples/AdpAccountsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AutonomousDevelopmentPlatform/accounts": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_ListByResourceGroup", + "description": "List all ADP accounts available under the resource group", + "x-ms-examples": { + "List accounts by resource group": { + "$ref": "./examples/AdpAccountsListByResourceGroup.json" + } + }, + "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" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/{accountName}": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Get", + "description": "Gets the properties of an ADP account", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The ADP account properties were retrieved successfully", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get account": { + "$ref": "./examples/AdpAccountGet.json" + } + } + }, + "patch": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Update", + "x-ms-long-running-operation": true, + "description": "Updates the properties of an existing ADP account", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The parameters to provide for the current ADP account", + "schema": { + "$ref": "#/definitions/AccountPatch" + } + } + ], + "responses": { + "200": { + "description": "The resource was updated successfully", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "201": { + "description": "The resource will be updated asynchronously", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch account": { + "$ref": "./examples/AdpAccountPatch.json" + } + } + }, + "put": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_CreateOrUpdate", + "description": "Creates or updates an ADP account", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The parameters to provide for the ADP account", + "schema": { + "$ref": "#/definitions/Account" + } + } + ], + "responses": { + "200": { + "description": "The ADP account was successfully updated", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "201": { + "description": "The resource will be updated asynchronously", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Put account": { + "$ref": "./examples/AdpAccountPut.json" + } + } + }, + "delete": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Delete", + "description": "Deletes an ADP account", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The ADP account was successfully deleted" + }, + "202": { + "description": "The ADP account will be deleted asynchronously" + }, + "204": { + "description": "The ADP account does not exist" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete account": { + "$ref": "./examples/AdpAccountDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/{accountName}/dataPools": { + "get": { + "tags": [ + "DataPools" + ], + "operationId": "DataPools_List", + "description": "Lists the data pools under the ADP account", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of data pools that was successfully retrieved", + "schema": { + "$ref": "#/definitions/DataPoolList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Data Pools": { + "$ref": "./examples/AdpDataPoolsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/{accountName}/dataPools/{dataPoolName}": { + "get": { + "tags": [ + "DataPools" + ], + "operationId": "DataPools_Get", + "description": "Gets the properties of a Data Pool", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/DataPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Data Pool that was successfully retrieved", + "schema": { + "$ref": "#/definitions/DataPool" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Data Pool": { + "$ref": "./examples/AdpDataPoolGet.json" + } + } + }, + "patch": { + "tags": [ + "DataPools" + ], + "operationId": "DataPools_Update", + "description": "Updates the properties of an existing Data Pool", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/DataPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The parameters to provide for the Data Pool", + "schema": { + "$ref": "#/definitions/DataPoolPatch" + } + } + ], + "responses": { + "200": { + "description": "The Data Pool was updated successfully", + "schema": { + "$ref": "#/definitions/DataPool" + } + }, + "201": { + "description": "The Data Pool will be updated asynchronously", + "schema": { + "$ref": "#/definitions/DataPool" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Data Pool": { + "$ref": "./examples/AdpDataPoolPatch.json" + } + } + }, + "put": { + "tags": [ + "DataPools" + ], + "operationId": "DataPools_CreateOrUpdate", + "description": "Creates or updates a Data Pool", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/DataPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The parameters to provide for the Data Pool", + "schema": { + "$ref": "#/definitions/DataPool" + } + } + ], + "responses": { + "200": { + "description": "The Data Pool was successfully updated", + "schema": { + "$ref": "#/definitions/DataPool" + } + }, + "201": { + "description": "The Data Pool will be updated asynchronously", + "schema": { + "$ref": "#/definitions/DataPool" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Put Data Pool": { + "$ref": "./examples/AdpDataPoolPut.json" + } + } + }, + "delete": { + "tags": [ + "DataPools" + ], + "operationId": "DataPools_Delete", + "description": "Deletes a Data Pool", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/DataPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Data Pool was successfully deleted" + }, + "202": { + "description": "The Data Pool will be deleted asynchronously" + }, + "204": { + "description": "The Data Pool does not exist" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Data Pool": { + "$ref": "./examples/AdpDataPoolDelete.json" + } + } + } + } + }, + "definitions": { + "AccountCheckNameAvailabilityParameters": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The account name", + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AutonomousDevelopmentPlatform/accounts" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": true + }, + "description": "The type of resource, Microsoft.AutonomousDevelopmentPlatform/accounts" + } + }, + "required": [ + "name", + "type" + ], + "description": "The parameters used to check the availability of the account name" + }, + "CheckNameAvailabilityResult": { + "description": "The checkNameAvailability operation response", + "type": "object", + "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 an account name could not be used. The reason element is only returned if nameAvailable is false", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "CheckNameAvailabilityReason", + "modelAsString": true + } + }, + "message": { + "readOnly": true, + "type": "string", + "description": "Gets an error message explaining the reason value in more detail" + } + } + }, + "Tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags" + }, + "Account": { + "type": "object", + "description": "ADP account", + "properties": { + "properties": { + "description": "List of account properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AccountProperties" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ] + }, + "AccountPatch": { + "type": "object", + "description": "ADP account", + "properties": { + "properties": { + "description": "List of account properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AccountProperties" + }, + "tags": { + "$ref": "#/definitions/Tags" + } + } + }, + "AccountProperties": { + "type": "object", + "description": "ADP account properties", + "properties": { + "accountId": { + "description": "The account's data-plane ID", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the account at the time the operation was called", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Accepted", + "Provisioning", + "Deleting" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "AccountList": { + "type": "object", + "description": "The list operation response, that contains the data pools and their properties", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Account" + }, + "description": "List of accounts and their properties" + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any" + } + } + }, + "DataPool": { + "type": "object", + "description": "ADP Data Pool", + "properties": { + "properties": { + "description": "List of data pool properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DataPoolProperties" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ] + }, + "DataPoolPatch": { + "type": "object", + "description": "ADP Data Pool", + "properties": { + "properties": { + "description": "List of data pool properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DataPoolBaseProperties" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ] + }, + "DataPoolBaseProperties": { + "type": "object", + "description": "Data Pool properties", + "properties": { + "dataPoolId": { + "description": "The Data Pool's data-plane ID", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the data pool at the time the operation was called", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Accepted", + "Provisioning", + "Deleting" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "locations": { + "type": "array", + "items": { + "$ref": "#/definitions/DataPoolLocation" + }, + "description": "Gets or sets the collection of locations where Data Pool resources should be created" + }, + "tags": { + "$ref": "#/definitions/Tags" + } + } + }, + "DataPoolProperties": { + "type": "object", + "description": "Data Pool properties", + "allOf": [ + { + "$ref": "#/definitions/DataPoolBaseProperties" + } + ], + "required": [ + "locations" + ] + }, + "DataPoolLocation": { + "type": "object", + "description": "Location of a Data Pool", + "properties": { + "name": { + "description": "The location name", + "type": "string" + }, + "encryption": { + "description": "Encryption properties of a Data Pool location", + "$ref": "#/definitions/DataPoolEncryption" + }, + "storageSku": { + "description": "The Storage SKU. Default: Standard_ZRS.", + "$ref": "#/definitions/storageSku", + "x-nullable": true + }, + "storageAccountCount": { + "description": "The amount of storage accounts provisioned per Data Pool. Default: 5", + "type": "integer", + "minimum": 1, + "format": "int32" + } + }, + "required": [ + "name" + ] + }, + "storageSku": { + "description": "The Storage SKU.", + "type": "object", + "properties": { + "name": { + "description": "The SKU name", + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_GRS", + "Standard_Ragrs", + "Standard_ZRS", + "Premium_LRS", + "Premium_ZRS", + "Standard_Gzrs", + "Standard_Ragzrs" + ], + "x-ms-enum": { + "name": "StorageSkuName", + "modelAsString": true + } + } + }, + "required": [ + "name" + ] + }, + "DataPoolEncryption": { + "type": "object", + "description": "Encryption properties of a Data Pool", + "properties": { + "keyVaultUri": { + "type": "string", + "description": "The URI of a soft delete-enabled Key Vault that is in the same location as the Data Pool location" + }, + "keyName": { + "type": "string", + "description": "The name of Key Vault key" + }, + "keyVersion": { + "type": "string", + "description": "The version of Key Vault key" + }, + "userAssignedIdentity": { + "type": "string", + "description": "The resource ID of a user-assigned Managed Identity used to access the encryption key in the Key Vault. Requires access to the key operations get, wrap, unwrap, and recover" + } + }, + "required": [ + "keyVaultUri", + "keyName", + "userAssignedIdentity" + ] + }, + "DataPoolList": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DataPool" + }, + "description": "List of data pools and their properties" + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any" + } + }, + "description": "The list operation response, that contains the data pools and their properties" + }, + "Operation": { + "type": "object", + "description": "Operation detail payload", + "properties": { + "name": { + "description": "Name of the operation", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "actionType": { + "description": "Indicates the action type", + "type": "string" + }, + "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", + "x-ms-client-flatten": true + } + } + }, + "OperationDisplay": { + "type": "object", + "description": "Operation display payload", + "properties": { + "provider": { + "description": "Resource provider of the operation", + "type": "string" + }, + "resource": { + "description": "Resource of the operation", + "type": "string" + }, + "operation": { + "description": "Localized friendly name for the operation", + "type": "string" + }, + "description": { + "description": "Localized friendly description for the operation", + "type": "string" + } + } + }, + "OperationProperties": { + "type": "object", + "description": "Additional details about an operation", + "x-ms-client-flatten": true, + "properties": { + "serviceSpecification": { + "description": "Details about a service operation", + "$ref": "#/definitions/OperationServiceSpecification" + } + } + }, + "OperationServiceSpecification": { + "type": "object", + "description": "Details about a service operation", + "properties": { + "logSpecifications": { + "description": "Details about operations related to logs", + "type": "array", + "items": { + "$ref": "#/definitions/OperationLogSpecification" + } + }, + "metricSpecifications": { + "description": "Details about operations related to metrics", + "type": "array", + "items": { + "$ref": "#/definitions/OperationMetricSpecification" + } + } + } + }, + "OperationLogSpecification": { + "type": "object", + "description": "Details about an operation related to logs", + "properties": { + "name": { + "description": "The name of the log category", + "type": "string" + }, + "displayName": { + "description": "Localized display name", + "type": "string" + }, + "blobDuration": { + "description": "Blobs created in the customer storage account, per hour", + "type": "string" + } + } + }, + "OperationMetricSpecification": { + "type": "object", + "description": "Details about an operation related to metrics", + "properties": { + "name": { + "description": "The name of the metric", + "type": "string" + }, + "displayName": { + "description": "Localized display name of the metric", + "type": "string" + }, + "displayDescription": { + "description": "The description of the metric", + "type": "string" + }, + "unit": { + "description": "The unit that the metric is measured in", + "type": "string" + }, + "aggregationType": { + "description": "The type of metric aggregation", + "type": "string" + }, + "enableRegionalMdmAccount": { + "description": "Whether or not the service is using regional MDM accounts", + "type": "string" + }, + "sourceMdmAccount": { + "description": "The name of the MDM account", + "type": "string" + }, + "sourceMdmNamespace": { + "description": "The name of the MDM namespace", + "type": "string" + }, + "availabilities": { + "description": "Defines how often data for metrics becomes available", + "type": "array", + "items": { + "$ref": "#/definitions/OperationMetricAvailability" + } + } + } + }, + "OperationMetricAvailability": { + "type": "object", + "description": "Defines how often data for a metric becomes available", + "properties": { + "timeGrain": { + "description": "The granularity for the metric", + "type": "string" + }, + "blobDuration": { + "description": "Blob created in the customer storage account, per hour", + "type": "string" + } + } + }, + "OperationListResult": { + "type": "object", + "description": "Available operations of the service", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of operations supported by the Resource Provider" + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any" + } + } + }, + "ErrorResponse": { + "type": "object", + "description": "Error response", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDefinition", + "description": "The error details" + } + } + }, + "ErrorDefinition": { + "type": "object", + "description": "Error definition", + "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" + }, + "readOnly": true + } + } + } + }, + "parameters": { + "AccountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ADP account", + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*", + "maxLength": 50, + "x-ms-parameter-location": "method" + }, + "DataPoolNameParameter": { + "name": "dataPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Data Pool", + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*", + "maxLength": 50, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountCheckNameAvailability.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountCheckNameAvailability.json new file mode 100644 index 000000000000..150b73ecd32e --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountCheckNameAvailability.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-11-01-preview", + "subscriptionId": "subid", + "parameters": { + "name": "adp1", + "type": "Microsoft.AutonomousDevelopmentPlatform/accounts" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountDelete.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountDelete.json new file mode 100644 index 000000000000..32e1a38e5eea --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "adpClient", + "api-version": "2021-11-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountGet.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountGet.json new file mode 100644 index 000000000000..f940aae9b031 --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "adpClient", + "api-version": "2021-11-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1", + "name": "adp1", + "location": "Global", + "type": "Microsoft.AutonomousDevelopmentPlatform/accounts", + "tags": {}, + "properties": { + "accountId": "id" + } + } + } + } +} diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountPatch.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountPatch.json new file mode 100644 index 000000000000..e47fee89306c --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountPatch.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "adpClient", + "api-version": "2021-11-01-preview", + "subscriptionId": "subid", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1", + "name": "adp1", + "location": "Global", + "type": "Microsoft.AutonomousDevelopmentPlatform/accounts", + "tags": {}, + "properties": {} + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1", + "name": "adp1", + "location": "Global", + "type": "Microsoft.AutonomousDevelopmentPlatform/accounts", + "tags": {}, + "properties": {} + } + } + } +} diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountPut.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountPut.json new file mode 100644 index 000000000000..2d85fa92e934 --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountPut.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "adpClient", + "api-version": "2021-11-01-preview", + "subscriptionId": "subid", + "parameters": { + "location": "Global", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1", + "name": "adp1", + "location": "Global", + "type": "Microsoft.AutonomousDevelopmentPlatform/accounts", + "tags": {}, + "properties": {} + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1", + "name": "adp1", + "location": "Global", + "type": "Microsoft.AutonomousDevelopmentPlatform/accounts", + "tags": {}, + "properties": {} + } + } + } +} diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountsList.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountsList.json new file mode 100644 index 000000000000..c921c1a6c51b --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountsList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceGroupName": "adpClient", + "api-version": "2021-11-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1", + "name": "adp1", + "type": "Microsoft.AutonomousDevelopmentPlatform/accounts", + "location": "Global", + "tags": {}, + "properties": { + "accountId": "id" + } + } + ], + "nextLink": "link" + } + } + } +} diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountsListByResourceGroup.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountsListByResourceGroup.json new file mode 100644 index 000000000000..9fa1dc761ec3 --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountsListByResourceGroup.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-11-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "adpClient" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1", + "name": "adp1", + "type": "Microsoft.AutonomousDevelopmentPlatform/accounts", + "location": "Global", + "tags": {}, + "properties": { + "accountId": "id" + } + } + ], + "nextLink": "link" + } + } + } +} diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolDelete.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolDelete.json new file mode 100644 index 000000000000..69e18d83dc3e --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "sampleacct", + "dataPoolName": "sampledp", + "resourceGroupName": "adpClient", + "api-version": "2021-11-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolGet.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolGet.json new file mode 100644 index 000000000000..f064f7781360 --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "sampleacct", + "dataPoolName": "sampledp", + "resourceGroupName": "adpClient", + "api-version": "2021-11-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1/dataPools/dp1", + "name": "dp1", + "type": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools", + "properties": { + "dataPoolId": "id", + "locations": [ + { + "name": "westus" + } + ] + } + } + } + } +} diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolPatch.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolPatch.json new file mode 100644 index 000000000000..d0a7dbf11eaf --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolPatch.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "accountName": "sampleacct", + "dataPoolName": "sampledp", + "resourceGroupName": "adpClient", + "api-version": "2021-11-01-preview", + "subscriptionId": "subid", + "parameters": { + "properties": { + "locations": [ + { + "name": "westus" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1/dataPools/dp1", + "name": "dp1", + "type": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools", + "properties": { + "locations": [ + { + "name": "westus" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1/dataPools/dp1", + "name": "dp1", + "type": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools", + "properties": { + "locations": [ + { + "name": "westus" + } + ] + } + } + } + } +} diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolPut.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolPut.json new file mode 100644 index 000000000000..0c7be144f372 --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolPut.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "accountName": "sampleacct", + "dataPoolName": "sampledp", + "resourceGroupName": "adpClient", + "api-version": "2021-11-01-preview", + "subscriptionId": "subid", + "parameters": { + "properties": { + "locations": [ + { + "name": "westus", + "encryption": { + "keyVaultUri": "https://vaulturi", + "keyName": "key1", + "keyVersion": "123", + "userAssignedIdentity": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1/dataPools/dp1", + "name": "dp1", + "type": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools", + "properties": { + "locations": [ + { + "name": "westus" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1/dataPools/dp1", + "name": "dp1", + "type": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools", + "properties": { + "locations": [ + { + "name": "westus" + } + ] + } + } + } + } +} diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolsList.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolsList.json new file mode 100644 index 000000000000..e655afe44af2 --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolsList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "adpClient", + "api-version": "2021-11-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1/dataPools/dp1", + "name": "dp1", + "type": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools", + "properties": { + "dataPoolId": "id", + "locations": [ + { + "name": "westus" + } + ] + } + } + ], + "nextLink": "link" + } + } + } +} diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpOperationsList.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpOperationsList.json new file mode 100644 index 000000000000..e0d44d3e11da --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpOperationsList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.AutonomousDevelopmentPlatform/accounts/read", + "display": { + "provider": "Microsoft Autonomous Development Platform", + "resource": "Account", + "operation": "Read accounts", + "description": "Read accounts" + } + }, + { + "name": "Microsoft.AutonomousDevelopmentPlatform/accounts/write", + "display": { + "provider": "Microsoft Autonomous Development Platform", + "resource": "Account", + "operation": "Update accounts", + "description": "Update accounts" + } + }, + { + "name": "Microsoft.AutonomousDevelopmentPlatform/accounts/delete", + "display": { + "provider": "Microsoft Autonomous Development Platform", + "resource": "Account", + "operation": "Delete accounts", + "description": "Delete accounts" + } + } + ] + } + } + } +} diff --git a/specification/adp/resource-manager/readme.csharp.md b/specification/adp/resource-manager/readme.csharp.md index 5ed6552b1f8c..15d85c60b02b 100644 --- a/specification/adp/resource-manager/readme.csharp.md +++ b/specification/adp/resource-manager/readme.csharp.md @@ -9,6 +9,7 @@ csharp: license-header: MICROSOFT_MIT_NO_VERSION payload-flattening-threshold: 1 clear-output-folder: true + client-side-validation: false namespace: Microsoft.Azure.Management.AutonomousDevelopmentPlatform output-folder: $(csharp-sdks-folder)/adp/Microsoft.Azure.Management.AutonomousDevelopmentPlatform/Generated ``` diff --git a/specification/adp/resource-manager/readme.go.md b/specification/adp/resource-manager/readme.go.md index 404729b32c7f..eea4256dd09a 100644 --- a/specification/adp/resource-manager/readme.go.md +++ b/specification/adp/resource-manager/readme.go.md @@ -15,6 +15,7 @@ go: batch: - tag: package-2020-07-01-preview - tag: package-2021-02-01-preview + - tag: package-2021-11-01-preview ``` Please also specify `--go-sdks-folder=`. diff --git a/specification/adp/resource-manager/readme.md b/specification/adp/resource-manager/readme.md index 533f76323c23..3391e0d5d650 100644 --- a/specification/adp/resource-manager/readme.md +++ b/specification/adp/resource-manager/readme.md @@ -28,7 +28,7 @@ These are the global settings for the adp. title: AdpManagementClient openapi-type: arm openapi-subtype: rpaas -tag: package-2021-02-01-preview +tag: package-2021-11-01-preview ``` ### Tag: package-2020-07-01-preview @@ -49,6 +49,15 @@ input-file: - Microsoft.AutonomousDevelopmentPlatform/preview/2021-02-01-preview/adp.json ``` +### Tag: package-2021-11-01-preview + +```yaml $(tag) == 'package-2021-11-01-preview' +version: 2021-11-01-preview +version-with-underscores: 2021_11_01_preview +input-file: + - Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/adp.json +``` + --- # Code Generation @@ -64,9 +73,6 @@ swagger-to-sdk: - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-js - - repo: azure-sdk-for-ruby - after_scripts: - - bundle install && rake arm:regen_all_profiles['azure_mgmt_adp'] - repo: azure-cli-extensions - repo: azure-resource-manager-schemas ``` @@ -79,10 +85,6 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.python.md](./readme.python.md) -## Ruby - -See configuration in [readme.ruby.md](./readme.ruby.md) - ## TypeScript See configuration in [readme.typescript.md](./readme.typescript.md) @@ -90,5 +92,3 @@ See configuration in [readme.typescript.md](./readme.typescript.md) ## CSharp See configuration in [readme.csharp.md](./readme.csharp.md) - - diff --git a/specification/adp/resource-manager/readme.python.md b/specification/adp/resource-manager/readme.python.md index 9b8f84a4ce14..365fa9086cb0 100644 --- a/specification/adp/resource-manager/readme.python.md +++ b/specification/adp/resource-manager/readme.python.md @@ -3,34 +3,21 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -```yaml $(track2) +``` yaml $(track2) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-adp -clear-output-folder: true no-namespace-folders: true -modelerfour: - lenient-model-deduplication: true -``` - -```yaml $(multiapi) +package-version: 1.0.0b1 clear-output-folder: true -batch: - - tag: package-2020-07-01-preview - - tag: package-2021-02-01-preview - - multiapiscript: true ``` -``` yaml $(multiapiscript) -output-folder: $(python-sdks-folder)/adp/azure-mgmt-adp/azure/mgmt/adp/ -clear-output-folder: false -perform-load: false +``` yaml $(python-mode) == 'update' && $(track2) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/adp/azure-mgmt-adp/azure/mgmt/adp ``` -``` yaml -namespace: azure.mgmt.adp.v$(version-with-underscores) -output-folder: $(python-sdks-folder)/adp/azure-mgmt-adp/azure/mgmt/adp/v$(version-with-underscores) -python: - namespace: azure.mgmt.adp.v$(version-with-underscores) - output-folder: $(python-sdks-folder)/adp/azure-mgmt-adp/azure/mgmt/adp/v$(version-with-underscores) +``` yaml $(python-mode) == 'create' && $(track2) +basic-setup-py: true +output-folder: $(python-sdks-folder)/adp/azure-mgmt-adp ``` diff --git a/specification/adp/resource-manager/readme.ruby.md b/specification/adp/resource-manager/readme.ruby.md deleted file mode 100644 index e4fa1128d1cb..000000000000 --- a/specification/adp/resource-manager/readme.ruby.md +++ /dev/null @@ -1,22 +0,0 @@ -## Ruby - -These settings apply only when `--ruby` is specified on the command line. - -```yaml -package-name: azure_mgmt_adp -package-version: 2021-02-01-preview -azure-arm: true -``` - -``` yaml $(ruby) && $(multiapi) -batch: - - tag: package-2020-07-01-preview - - tag: package-2021-02-01-preview -``` - -Please also specify `--ruby-sdks-folder=`. - -```yaml $(ruby) -namespace: Azure::AutonomousDevelopmentPlatform::Mgmt::V$(version-with-underscores) -output-folder: $(ruby-sdks-folder)/management/azure_mgmt_adp/lib -``` diff --git a/specification/adp/resource-manager/readme.terraform.md b/specification/adp/resource-manager/readme.terraform.md deleted file mode 100644 index d5e4339768cc..000000000000 --- a/specification/adp/resource-manager/readme.terraform.md +++ /dev/null @@ -1,20 +0,0 @@ - -## terraform - -These settings apply only when `--terraform` is specified on the command line. - -``` yaml $(terraform) -terraform: - cli-name: adp - package-name: adp -clear-output-folder: true -output-folder: $(terraform-output-folder)/adp -``` - -``` yaml $(tag) == 'package-2020-07-01-preview' && $(terraform) -gosdk-folder: services/preview/adp/mgmt/2020-07-01-preview/adp -``` - -``` yaml $(tag) == 'package-2021-02-01-preview' && $(terraform) -gosdk-folder: services/preview/adp/mgmt/2021-02-01-preview/adp -``` \ No newline at end of file diff --git a/specification/advisor/resource-manager/readme.go.md b/specification/advisor/resource-manager/readme.go.md index 1d5c401f9e29..05edbbf7af02 100644 --- a/specification/advisor/resource-manager/readme.go.md +++ b/specification/advisor/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: advisor clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/advisor/armadvisor +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/advisor/resource-manager/readme.md b/specification/advisor/resource-manager/readme.md index 6e9ca7ba8d72..a65af7164ea2 100644 --- a/specification/advisor/resource-manager/readme.md +++ b/specification/advisor/resource-manager/readme.md @@ -88,6 +88,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-resource-manager-schemas diff --git a/specification/agrifood/resource-manager/readme.go.md b/specification/agrifood/resource-manager/readme.go.md index 7acfd99fba12..3a27909d9e3c 100644 --- a/specification/agrifood/resource-manager/readme.go.md +++ b/specification/agrifood/resource-manager/readme.go.md @@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line. ```yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/agrifood/armagrifood +module-name: sdk/resourcemanager/agrifood/armagrifood module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/agrifood/resource-manager/readme.md b/specification/agrifood/resource-manager/readme.md index 0ba226c8c8ee..7108e2e8edbf 100644 --- a/specification/agrifood/resource-manager/readme.md +++ b/specification/agrifood/resource-manager/readme.md @@ -50,6 +50,7 @@ This is not used by Autorest itself. ```yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-python-track2 + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js ``` ## Go diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json index 8ae19f29a9e5..a2fc3f89d47e 100644 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json @@ -45,6 +45,12 @@ "schema": { "$ref": "#/definitions/operationsList" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } } }, "x-ms-pageable": { @@ -73,6 +79,12 @@ "schema": { "$ref": "#/definitions/alertsMetaData" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } } }, "x-ms-examples": { @@ -579,6 +591,7 @@ "description": "Determines number of alerts returned per page in response. Permissible value is between 1 to 250. When the \"includeContent\" filter is selected, maximum value allowed is 25. Default value is 25.", "name": "pageCount", "type": "integer", + "format": "int64", "in": "query", "required": false, "x-ms-parameter-location": "method" @@ -768,6 +781,7 @@ } }, "alert": { + "type": "object", "description": "An alert created in alert management service.", "allOf": [ { @@ -781,6 +795,7 @@ } }, "alertsList": { + "type": "object", "description": "List the alerts.", "properties": { "nextLink": { @@ -969,6 +984,7 @@ } }, "alertModification": { + "type": "object", "description": "Alert Modification details", "allOf": [ { @@ -1000,6 +1016,7 @@ } }, "alertModificationItem": { + "type": "object", "description": "Alert modification item.", "properties": { "modificationEvent": { @@ -1047,6 +1064,7 @@ } }, "alertsSummary": { + "type": "object", "description": "Summary of alerts based on the input filters and 'groupby' parameters.", "allOf": [ { @@ -1065,10 +1083,12 @@ "properties": { "total": { "type": "integer", + "format": "int64", "description": "Total count of the result set." }, "smartGroupsCount": { "type": "integer", + "format": "int64", "description": "Total count of the smart groups." }, "groupedby": { @@ -1094,6 +1114,7 @@ }, "count": { "type": "integer", + "format": "int64", "description": "Count of the aggregated field" }, "groupedby": { @@ -1110,6 +1131,7 @@ } }, "alertsMetaData": { + "type": "object", "description": "alert meta data information.", "properties": { "properties": { @@ -1118,6 +1140,7 @@ } }, "alertsMetaDataProperties": { + "type": "object", "description": "alert meta data property bag", "discriminator": "metadataIdentifier", "required": [ @@ -1138,6 +1161,7 @@ } }, "MonitorServiceList": { + "type": "object", "title": "Monitor service details", "description": "Monitor service details", "required": [ @@ -1162,6 +1186,7 @@ } }, "MonitorServiceDetails": { + "type": "object", "description": "Details of a monitor service", "properties": { "name": { diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json index c30ce89e0d8a..e723ddff0685 100644 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json @@ -403,6 +403,7 @@ "description": "Determines number of alerts returned per page in response. Permissible value is between 1 to 250. When the \"includeContent\" filter is selected, maximum value allowed is 25. Default value is 25.", "name": "pageCount", "type": "integer", + "format": "int64", "in": "query", "required": false, "x-ms-parameter-location": "method" @@ -494,6 +495,7 @@ } }, "smartGroupModification": { + "type": "object", "description": "Alert Modification details", "allOf": [ { @@ -507,6 +509,7 @@ } }, "smartGroupModificationProperties": { + "type": "object", "description": "Properties of the smartGroup modification item.", "properties": { "smartGroupId": { @@ -528,6 +531,7 @@ } }, "smartGroupModificationItem": { + "type": "object", "description": "smartGroup modification item.", "properties": { "modificationEvent": { @@ -570,6 +574,7 @@ } }, "smartGroupsList": { + "type": "object", "description": "List the alerts.", "properties": { "nextLink": { @@ -586,6 +591,7 @@ } }, "smartGroup": { + "type": "object", "description": "Set of related alerts grouped together smartly by AMS.", "allOf": [ { @@ -605,6 +611,7 @@ "properties": { "alertsCount": { "type": "integer", + "format": "int64", "description": "Total number of alerts in smart group" }, "smartGroupState": { @@ -719,6 +726,7 @@ }, "count": { "type": "integer", + "format": "int64", "description": "Total number of items of type." } } diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/PrometheusRuleGroups.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/PrometheusRuleGroups.json new file mode 100644 index 000000000000..335b022cf0a2 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/PrometheusRuleGroups.json @@ -0,0 +1,550 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-07-22-preview", + "title": "Azure Alerts Management Service Resource Provider", + "description": "Azure Alerts Management Service provides a single pane of glass of alerts across Azure Monitor." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "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": { + "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/prometheusRuleGroups": { + "get": { + "tags": [ + "PrometheusRuleGroups" + ], + "description": "Retrieve Prometheus rule group definitions in a subscription.", + "operationId": "PrometheusRuleGroups_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for a list of Prometheus rule groups", + "schema": { + "$ref": "#/definitions/PrometheusRuleGroupResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "ListResourcePrometheusRuleGroups": { + "$ref": "./examples/listPrometheusRuleGroups.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/prometheusRuleGroups": { + "get": { + "tags": [ + "PrometheusRuleGroups" + ], + "description": "Retrieve Prometheus rule group definitions in a resource group.", + "operationId": "PrometheusRuleGroups_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for a list of Prometheus rule groups", + "schema": { + "$ref": "#/definitions/PrometheusRuleGroupResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "ListResourcePrometheusRuleGroups": { + "$ref": "./examples/listPrometheusRuleGroups.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/prometheusRuleGroups/{ruleGroupName}": { + "get": { + "tags": [ + "PrometheusRuleGroups" + ], + "description": "Retrieve a Prometheus rule group definition.", + "operationId": "PrometheusRuleGroups_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for a list of Prometheus rule groups", + "schema": { + "$ref": "#/definitions/PrometheusRuleGroupResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetPrometheusRuleGroup": { + "$ref": "./examples/getPrometheusRuleGroup.json" + } + } + }, + "put": { + "tags": [ + "PrometheusRuleGroups" + ], + "description": "Create or update a Prometheus rule group definition.", + "operationId": "PrometheusRuleGroups_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrometheusRuleGroupResource" + }, + "description": "The parameters of the rule group to create or update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrometheusRuleGroupResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CreatePrometheusRuleGroup": { + "$ref": "./examples/createOrUpdatePrometheusRuleGroup.json" + } + } + }, + "patch": { + "tags": [ + "PrometheusRuleGroups" + ], + "description": "Update an Prometheus rule group definition.", + "operationId": "PrometheusRuleGroups_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrometheusRuleGroupResourcePatch" + }, + "description": "The parameters of the rule group to update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrometheusRuleGroupResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PatchPrometheusRuleGroup": { + "$ref": "./examples/patchPrometheusRuleGroup.json" + } + } + }, + "delete": { + "tags": [ + "PrometheusRuleGroups" + ], + "description": "Delete a Prometheus rule group definition.", + "operationId": "PrometheusRuleGroups_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful request to delete a Prometheus rule group" + }, + "204": { + "description": "No content: the request was successful, but the response is empty" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeletePrometheusRuleGroup": { + "$ref": "./examples/deletePrometheusRuleGroup.json" + } + } + } + }, + "/providers/Microsoft.AlertsManagement/operations": { + "get": { + "description": "Returns list of operations for Microsoft.DeviceUpdate resource provider.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Operation details.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Resource": { + "type": "object", + "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": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true, + "description": "An azure resource object" + }, + "PrometheusRuleGroupAction": { + "type": "object", + "description": "An alert action.", + "properties": { + "actionGroupId": { + "type": "string", + "description": "the id of the action group to use." + }, + "actionProperties": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "The dictionary of custom properties for the action." + }, + "description": "The properties of an action group object." + } + } + }, + "PrometheusRuleGroupProperties": { + "type": "object", + "required": [ + "scopes", + "rules" + ], + "properties": { + "description": { + "type": "string", + "description": "the description of the Prometheus rule group that will be included in the alert email." + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the list of resource id's that this rule group is scoped to." + }, + "interval": { + "type": "string", + "description": "the interval in which to run the Prometheus rule group represented in ISO 8601 duration format." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/PrometheusRule" + }, + "description": "defines the rules in the Prometheus rule group." + } + }, + "description": "An alert rule." + }, + "PrometheusRuleGroupResource": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrometheusRuleGroupProperties", + "description": "The Prometheus rule group properties of the resource." + }, + "systemData": { + "description": "Action rule system data", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "description": "The Prometheus rule group resource." + }, + "PrometheusRuleGroupResourcePatch": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrometheusRuleGroupProperties", + "description": "The alert rule properties of the resource." + } + }, + "description": "The Prometheus rule group resource for patch operations." + }, + "PrometheusRuleGroupResourceCollection": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrometheusRuleGroupResource" + }, + "description": "the values for the alert rule resources." + } + }, + "description": "Represents a collection of alert rule resources." + }, + "PrometheusRule": { + "type": "object", + "properties": { + "record": { + "type": "string", + "description": "the name of the recording rule." + }, + "alert": { + "type": "string", + "description": "the name of the alert rule." + }, + "expression": { + "type": "string", + "description": "the expression to run for the rule." + }, + "severity": { + "type": "integer", + "format": "int32", + "description": "the severity of the alerts fired by the rule." + }, + "for": { + "type": "string", + "description": "the amount of time alert must be active before firing." + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "labels for rule group" + }, + "annotations": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "annotations for rule group" + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/definitions/PrometheusRuleGroupAction" + }, + "description": "the array of actions that are performed when the alert rule becomes active, and when an alert condition is resolved." + }, + "resolveConfiguration": { + "$ref": "#/definitions/PrometheusRuleResolveConfiguration", + "description": "defines the configuration for resolving fired alerts." + } + } + }, + "PrometheusRuleResolveConfiguration": { + "type": "object", + "properties": { + "autoResolved": { + "type": "boolean", + "description": "the flag that indicates whether or not to auto resolve a fired alert." + }, + "timeToResolve": { + "type": "string", + "description": "the duration a rule must evaluate as healthy before the fired alert is automatically resolved represented in ISO 8601 duration format." + } + }, + "description": "Specifies the Prometheus alert rule configuration." + } + }, + "parameters": { + "RuleGroupNameParameter": { + "name": "ruleGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the rule group.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/createOrUpdatePrometheusRuleGroup.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/createOrUpdatePrometheusRuleGroup.json new file mode 100644 index 000000000000..75e1b9490d9f --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/createOrUpdatePrometheusRuleGroup.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", + "resourceGroupName": "giladstest", + "ruleGroupName": "myPrometheusRuleGroup", + "api-version": "2021-07-22-preview", + "parameters": { + "location": "East US", + "properties": { + "description": "This is the description of the first rule group", + "scopes": [ + "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/giladstest/providers/Microsoft.Observability/monitoringAcount/myMonitoringAccount" + ], + "rules": [ + { + "record": "job_type:billing_jobs_duration_seconds:99p5m", + "expression": "histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))" + }, + { + "alert": "Billing_Processing_Very_Slow", + "expression": "job_type:billing_jobs_duration_seconds:99p5m > 30", + "severity": 2, + "for": "PT5M", + "labels": { + "team": "prod" + }, + "annotations": { + "annotationName1": "annotationValue1" + }, + "resolveConfiguration": { + "autoResolved": true, + "timeToResolve": "PT10M" + }, + "actions": [ + { + "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/giladstest/providers/microsoft.insights/notificationgroups/group2", + "actionProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/giladstest/providers/providers/Microsoft.AlertsManagement/prometheusRuleGroups/myPrometheusRuleGroup", + "type": "Microsoft.AlertsManagement/prometheusRuleGroups", + "location": "East US", + "properties": { + "description": "This is the description of the first rule group", + "scopes": [ + "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/giladstest/providers/Microsoft.Observability/monitoringAcount/myMonitoringAccount" + ], + "interval": "PT5M", + "rules": [ + { + "record": "job_type:billing_jobs_duration_seconds:99p5m", + "expression": "histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))" + }, + { + "alert": "Billing_Processing_Very_Slow", + "expression": "job_type:billing_jobs_duration_seconds:99p5m > 30", + "severity": 2, + "for": "PT5M", + "labels": { + "team": "prod" + }, + "annotations": { + "annotationName1": "annotationValue1" + }, + "resolveConfiguration": { + "autoResolved": true, + "timeToResolve": "PT10M" + }, + "actions": [ + { + "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/giladstest/providers/microsoft.insights/notificationgroups/group2", + "actionProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + ] + }, + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-12T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/deletePrometheusRuleGroup.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/deletePrometheusRuleGroup.json new file mode 100644 index 000000000000..5c08be786219 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/deletePrometheusRuleGroup.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", + "resourceGroupName": "giladsteset", + "ruleGroupName": "myPrometheusRuleGroup", + "api-version": "2021-07-22-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/getPrometheusRuleGroup.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/getPrometheusRuleGroup.json new file mode 100644 index 000000000000..f9d0ce5de0de --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/getPrometheusRuleGroup.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", + "resourceGroupName": "giladstest", + "ruleGroupName": "myPrometheusRuleGroup", + "api-version": "2021-07-22-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/giladstest/providers/providers/Microsoft.AlertsManagement/prometheusRuleGroups/myPrometheusRuleGroup", + "type": "Microsoft.AlertsManagement/prometheusRuleGroups", + "location": "global", + "properties": { + "description": "This is the description of the first rule group", + "scopes": [ + "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/giladstest/providers/Microsoft.Observability/monitoringAcount/myMonitoringAccount" + ], + "rules": [ + { + "record": "job_type:billing_jobs_duration_seconds:99p5m", + "expression": "histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))" + }, + { + "alert": "Billing_Processing_Very_Slow", + "expression": "job_type:billing_jobs_duration_seconds:99p5m > 30", + "severity": 2, + "for": "5m", + "labels": { + "team": "prod" + }, + "resolveConfiguration": { + "autoResolved": true, + "timeToResolve": "10m" + }, + "actions": [ + { + "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/giladstest/providers/microsoft.insights/notificationgroups/group2", + "actionProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + ] + }, + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-12T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/listPrometheusRuleGroups.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/listPrometheusRuleGroups.json new file mode 100644 index 000000000000..e67d474e1c44 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/listPrometheusRuleGroups.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", + "resourceGroupName": "giladstest", + "api-version": "2021-07-22-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/giladstest/providers/providers/Microsoft.AlertsManagement/prometheusRuleGroups/myPrometheusRuleGroup", + "type": "Microsoft.AlertsManagement/prometheusRuleGroups", + "location": "East US", + "properties": { + "description": "This is the description of the first rule group", + "scopes": [ + "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/giladstest/providers/Microsoft.Observability/monitoringAcount/myMonitoringAccount" + ], + "rules": [ + { + "record": "job_type:billing_jobs_duration_seconds:99p5m", + "expression": "histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))" + }, + { + "alert": "Billing_Processing_Very_Slow", + "expression": "job_type:billing_jobs_duration_seconds:99p5m > 30", + "severity": 2, + "for": "5m", + "labels": { + "team": "prod" + }, + "resolveConfiguration": { + "autoResolved": true, + "timeToResolve": "10m" + }, + "actions": [ + { + "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", + "actionProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + ] + }, + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-12T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-12T22:05:09Z" + } + } + ] + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/patchPrometheusRuleGroup.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/patchPrometheusRuleGroup.json new file mode 100644 index 000000000000..1e42a9b00791 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/patchPrometheusRuleGroup.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", + "resourceGroupName": "giladstest", + "ruleGroupName": "myPrometheusRuleGroup", + "api-version": "2021-07-22-preview", + "parameters": { + "location": "East US", + "properties": { + "description": "This is the description of the first rule group", + "scopes": [ + "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/giladstest/providers/Microsoft.Observability/monitoringAcount/myMonitoringAccount" + ], + "rules": [ + { + "record": "job_type:billing_jobs_duration_seconds:99p5m", + "expression": "histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))" + }, + { + "alert": "Billing_Processing_Very_Slow", + "expression": "job_type:billing_jobs_duration_seconds:99p5m > 30", + "severity": 2, + "for": "5m", + "labels": { + "team": "prod" + }, + "resolveConfiguration": { + "autoResolved": true, + "timeToResolve": "10m" + }, + "actions": [ + { + "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/giladstest/providers/microsoft.insights/notificationgroups/group2", + "actionProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/providers/Microsoft.AlertsManagement/prometheusRuleGroups/myPrometheusRuleGroup", + "type": "Microsoft.AlertsManagement/prometheusRuleGroups", + "location": "East US", + "properties": { + "description": "This is the description of the first rule group", + "scopes": [ + "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/giladstest/providers/Microsoft.Observability/monitoringAcount/myMonitoringAccount" + ], + "rules": [ + { + "record": "job_type:billing_jobs_duration_seconds:99p5m", + "expression": "histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))" + }, + { + "alert": "Billing_Processing_Very_Slow", + "expression": "job_type:billing_jobs_duration_seconds:99p5m > 30", + "severity": 2, + "for": "5m", + "labels": { + "team": "prod" + }, + "resolveConfiguration": { + "autoResolved": true, + "timeToResolve": "10m" + }, + "actions": [ + { + "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/giladstest/providers/microsoft.insights/notificationgroups/group2", + "actionProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + ] + }, + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-12T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/ActionRules.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/ActionRules.json deleted file mode 100644 index 2a6536af617a..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/ActionRules.json +++ /dev/null @@ -1,821 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2021-08-08-preview", - "title": "Azure Alerts Management Service Resource Provider", - "description": "APIs for Azure action rules CRUD operations." - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "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": { - "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/actionRules": { - "get": { - "description": "List all action rules of the subscription", - "operationId": "ActionRules_ListBySubscription", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK. Return the list of action rules", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "$ref": "#/definitions/ActionRulesList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/errorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "GetActionRulesSubscriptionWide": { - "$ref": "./examples/ActionRules_List_Subscription.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules": { - "get": { - "operationId": "ActionRules_ListByResourceGroup", - "description": "List all action rules of the subscription, created in given resource group", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK. Return the list of action rules", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "$ref": "#/definitions/ActionRulesList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/errorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "GetActionRulesResourceGroupWide": { - "$ref": "./examples/ActionRules_List_ResourceGroup.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{actionRuleName}": { - "get": { - "description": "Get action rule by name", - "operationId": "ActionRules_GetByName", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "actionRuleName", - "in": "path", - "description": "The name of the action rule that needs to be fetched", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK. Returns the specific action rule", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "$ref": "#/definitions/ActionRule" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/errorResponse" - } - } - }, - "x-ms-examples": { - "GetActionRuleById": { - "$ref": "./examples/ActionRules_GetById.json" - } - } - }, - "put": { - "operationId": "ActionRules_CreateUpdate", - "description": "Create or update an action rule", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "actionRuleName", - "in": "path", - "description": "The name of the action rule that needs to be created/updated", - "required": true, - "type": "string" - }, - { - "name": "actionRule", - "in": "body", - "description": "Action rule to be created/updated", - "required": true, - "schema": { - "$ref": "#/definitions/ActionRule" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK. Returns the updated action rule", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "$ref": "#/definitions/ActionRule" - } - }, - "201": { - "description": "Created. Returns the created action rule", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "$ref": "#/definitions/ActionRule" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/errorResponse" - } - } - }, - "x-ms-examples": { - "Create or update a rule that adds an action group to all alerts in a subscription": { - "$ref": "./examples/ActionRules_Create_or_update_add_action_group_all_alerts_in_subscription.json" - }, - "Create or update a rule that adds two action groups to all Sev0 and Sev1 alerts in two resource groups": { - "$ref": "./examples/ActionRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json" - }, - "Create or update a rule that removes all action groups from alerts on a specific VM during a one-off maintenance window (1800-2000 at a specific date, Pacific Standard Time)": { - "$ref": "./examples/ActionRules_Create_or_update_remove_all_action_groups_specific_VM_one-off_maintenance_window.json" - }, - "Create or update a rule that removes all action groups from all alerts on any VM in two resource groups during a recurring maintenance window (2200-0400 every Sat and Sun, India Standard Time)": { - "$ref": "./examples/ActionRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json" - }, - "Create or update a rule that removes all action groups outside business hours (Mon-Fri 09:00-17:00, Eastern Standard Time)": { - "$ref": "./examples/ActionRules_Create_or_update_remove_all_action_groups_outside_business_hours.json" - }, - "Create or update a rule that removes all action groups from all alerts in a subscription coming from a specific alert rule": { - "$ref": "./examples/ActionRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json" - } - } - }, - "delete": { - "description": "Delete a given action rule", - "operationId": "ActionRules_Delete", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "actionRuleName", - "in": "path", - "description": "The name of the action rule that needs to be deleted", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "Successful request to delete an action rule", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - } - }, - "204": { - "description": "No content: the request was successful, but the response is empty", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/errorResponse" - } - } - }, - "x-ms-examples": { - "DeleteActionRule": { - "$ref": "./examples/ActionRules_Delete.json" - } - } - }, - "patch": { - "description": "Update enabled flag and/or tags for the given action rule", - "operationId": "ActionRules_Update", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "actionRuleName", - "in": "path", - "description": "The name that needs to be updated", - "required": true, - "type": "string" - }, - { - "name": "actionRulePatch", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/PatchObject" - }, - "description": "Parameters supplied to the operation." - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK. Returns the created/updated action rule", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "$ref": "#/definitions/ActionRule" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/errorResponse" - } - } - }, - "x-ms-examples": { - "PatchActionRule": { - "$ref": "./examples/ActionRules_Patch.json" - } - } - } - } - }, - "parameters": { - "subscriptionId": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "The ID of the target subscription.", - "minLength": 1 - }, - "resourceGroupName": { - "name": "resourceGroupName", - "description": "Resource group name where the resource is created.", - "type": "string", - "in": "path", - "required": true, - "x-ms-parameter-location": "method" - }, - "api-version": { - "name": "api-version", - "description": "client API version", - "type": "string", - "in": "query", - "required": true, - "enum": [ - "2021-08-08-preview" - ], - "x-ms-enum": { - "name": "api-version", - "modelAsString": true - } - } - }, - "definitions": { - "errorResponse": { - "description": "An error response from the service.", - "properties": { - "error": { - "$ref": "#/definitions/errorResponseBody" - } - } - }, - "errorResponseBody": { - "description": "Details of error response.", - "properties": { - "code": { - "type": "string", - "description": "Error code, intended to be consumed programmatically." - }, - "message": { - "type": "string", - "description": "Description of the error, intended for display in user interface." - }, - "target": { - "type": "string", - "description": "Target of the particular error, for example name of the property." - }, - "details": { - "type": "array", - "description": "A list of additional details about the error.", - "items": { - "$ref": "#/definitions/errorResponseBody" - } - } - } - }, - "Resource": { - "x-ms-azure-resource": true, - "description": "An azure resource object", - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Azure resource Id" - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Azure resource type" - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Azure resource name" - } - } - }, - "ManagedResource": { - "description": "An azure managed resource object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "location": { - "type": "string", - "description": "Resource location", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags" - } - }, - "required": [ - "location" - ] - }, - "Scopes": { - "type": "array", - "description": "List of ARM IDs which will be the target of the given action rule.", - "items": { - "type": "string" - } - }, - "Condition": { - "type": "object", - "description": "Condition to trigger an action rule", - "properties": { - "field": { - "type": "string", - "description": "Field for a given condition", - "enum": [ - "Severity", - "MonitorService", - "MonitorCondition", - "SignalType", - "TargetResourceType", - "TargetResource", - "TargetResourceGroup", - "AlertRuleId", - "AlertRuleName", - "Description", - "AlertContext" - ], - "x-ms-enum": { - "name": "Field", - "modelAsString": true - } - }, - "operator": { - "type": "string", - "description": "Operator for a given condition", - "enum": [ - "Equals", - "NotEquals", - "Contains", - "DoesNotContain" - ], - "x-ms-enum": { - "name": "Operator", - "modelAsString": true - } - }, - "values": { - "type": "array", - "description": "List of values to match for a given condition.", - "items": { - "type": "string" - } - } - } - }, - "Conditions": { - "type": "array", - "description": "Conditions in alert instance to be matched for a given action rule. Default value is all. Multiple values could be provided with comma separation.", - "items": { - "$ref": "#/definitions/Condition" - } - }, - "Schedule": { - "type": "object", - "description": "Scheduling configuration for a given action rule", - "properties": { - "effectiveFrom": { - "type": "string", - "pattern": "^(?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))$", - "description": "Scheduling effective from time. Date-Time in ISO-8601 format without timezone suffix." - }, - "effectiveUntil": { - "type": "string", - "pattern": "^(?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))$", - "description": "Scheduling effective until time. Date-Time in ISO-8601 format without timezone suffix." - }, - "timeZone": { - "type": "string", - "description": "Scheduling time zone" - }, - "recurrences": { - "type": "array", - "description": "List of recurrences", - "items": { - "$ref": "#/definitions/Recurrence" - } - } - } - }, - "Recurrence": { - "type": "object", - "description": "Recurrence object", - "discriminator": "recurrenceType", - "required": [ - "recurrenceType" - ], - "properties": { - "recurrenceType": { - "type": "string", - "description": "Specifies when the recurrence should be applied", - "enum": [ - "Daily", - "Weekly", - "Monthly" - ], - "x-ms-enum": { - "name": "RecurrenceType", - "modelAsString": true - } - }, - "startTime": { - "type": "string", - "description": "Start time for recurrence" - }, - "endTime": { - "type": "string", - "description": "End time for recurrence" - } - } - }, - "DailyRecurrence": { - "x-ms-discriminator-value": "Daily", - "type": "object", - "description": "Daily recurrence object", - "required": [ - "startTime", - "endTime" - ], - "allOf": [ - { - "$ref": "#/definitions/Recurrence" - } - ] - }, - "WeeklyRecurrence": { - "x-ms-discriminator-value": "Weekly", - "type": "object", - "description": "Weekly recurrence object", - "required": [ - "daysOfWeek" - ], - "allOf": [ - { - "$ref": "#/definitions/Recurrence" - } - ], - "properties": { - "daysOfWeek": { - "type": "array", - "description": "Specifies the values for weekly recurrence pattern", - "items": { - "$ref": "#/definitions/DaysOfWeek" - } - } - } - }, - "MonthlyRecurrence": { - "x-ms-discriminator-value": "Monthly", - "type": "object", - "description": "Monthly recurrence object", - "required": [ - "daysOfMonth" - ], - "allOf": [ - { - "$ref": "#/definitions/Recurrence" - } - ], - "properties": { - "daysOfMonth": { - "type": "array", - "description": "Specifies the values for monthly recurrence pattern", - "items": { - "type": "integer", - "format": "int32" - } - } - } - }, - "DaysOfWeek": { - "type": "string", - "description": "Days of week", - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "x-ms-enum": { - "name": "DaysOfWeek", - "modelAsString": true - } - }, - "ActionRule": { - "description": "Action rule object containing target scopes, conditions and scheduling logic", - "allOf": [ - { - "$ref": "#/definitions/ManagedResource" - } - ], - "properties": { - "properties": { - "description": "Action rule properties", - "$ref": "#/definitions/ActionRuleProperties" - }, - "systemData": { - "description": "Action rule system data", - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" - } - } - }, - "ActionRuleProperties": { - "description": "Action rule properties defining scopes, conditions and scheduling logic for action rule", - "required": [ - "scopes", - "actions" - ], - "properties": { - "scopes": { - "description": "Scopes on which action rule will apply", - "$ref": "#/definitions/Scopes" - }, - "conditions": { - "description": "Conditions on which alerts will be filtered", - "$ref": "#/definitions/Conditions" - }, - "schedule": { - "description": "Scheduling for action rule", - "$ref": "#/definitions/Schedule" - }, - "actions": { - "type": "array", - "description": "Actions to be applied", - "items": { - "$ref": "#/definitions/Action" - } - }, - "description": { - "type": "string", - "description": "Description of action rule" - }, - "enabled": { - "type": "boolean", - "default": true, - "description": "Indicates if the given action rule is enabled or disabled" - } - } - }, - "Action": { - "type": "object", - "description": "Action to be applied", - "discriminator": "actionType", - "required": [ - "actionType" - ], - "properties": { - "actionType": { - "type": "string", - "description": "Action that should be applied", - "enum": [ - "AddActionGroups", - "RemoveAllActionGroups" - ], - "x-ms-enum": { - "name": "actionType", - "modelAsString": true - } - } - } - }, - "AddActionGroups": { - "x-ms-discriminator-value": "AddActionGroups", - "type": "object", - "description": "Add action groups to action rule", - "required": [ - "actionGroupIds" - ], - "allOf": [ - { - "$ref": "#/definitions/Action" - } - ], - "properties": { - "actionGroupIds": { - "description": "List of action group Ids to add to action rule", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "RemoveAllActionGroups": { - "x-ms-discriminator-value": "RemoveAllActionGroups", - "type": "object", - "description": "Indicates if all action groups should be removed", - "allOf": [ - { - "$ref": "#/definitions/Action" - } - ] - }, - "ActionRulesList": { - "description": "List of action rules", - "properties": { - "nextLink": { - "type": "string", - "description": "URL to fetch the next set of action rules" - }, - "value": { - "type": "array", - "description": "List of action rules", - "items": { - "$ref": "#/definitions/ActionRule" - } - } - } - }, - "PatchProperties": { - "description": "Action rule properties supported by patch", - "properties": { - "enabled": { - "type": "boolean", - "description": "Indicates if the given action rule is enabled or disabled" - } - } - }, - "PatchObject": { - "description": "Data contract for patch", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Properties supported by patch operation", - "$ref": "#/definitions/PatchProperties" - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Tags to be updated" - } - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertProcessingRules.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertProcessingRules.json new file mode 100644 index 000000000000..a74077f8a0bb --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertProcessingRules.json @@ -0,0 +1,824 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-08-08-preview", + "title": "Azure Alerts Management Service Resource Provider", + "description": "APIs for Azure alert processing rules CRUD operations." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "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": { + "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/actionRules": { + "get": { + "description": "List all alert processing rules in a subscription.", + "operationId": "AlertProcessingRules_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Return the list of alert processing rules.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/AlertProcessingRulesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetAlertProcessingRulesSubscriptionWide": { + "$ref": "./examples/AlertProcessingRules_List_Subscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules": { + "get": { + "operationId": "AlertProcessingRules_ListByResourceGroup", + "description": "List all alert processing rules in a resource group.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Return the list of alert processing rules.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/AlertProcessingRulesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetAlertProcessingRulesResourceGroupWide": { + "$ref": "./examples/AlertProcessingRules_List_ResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{alertProcessingRuleName}": { + "get": { + "description": "Get an alert processing rule by name.", + "operationId": "AlertProcessingRules_GetByName", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "alertProcessingRuleName", + "in": "path", + "description": "The name of the alert processing rule that needs to be fetched.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns the specific alert processing rule.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/AlertProcessingRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-examples": { + "GetAlertProcessingRuleById": { + "$ref": "./examples/AlertProcessingRules_GetById.json" + } + } + }, + "put": { + "operationId": "AlertProcessingRules_CreateOrUpdate", + "description": "Create or update an alert processing rule.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "alertProcessingRuleName", + "in": "path", + "description": "The name of the alert processing rule that needs to be created/updated.", + "required": true, + "type": "string" + }, + { + "name": "alertProcessingRule", + "in": "body", + "description": "Alert processing rule to be created/updated.", + "required": true, + "schema": { + "$ref": "#/definitions/AlertProcessingRule" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns the updated alert processing rule.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/AlertProcessingRule" + } + }, + "201": { + "description": "Created. Returns the created alert processing rule.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/AlertProcessingRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a rule that adds an action group to all alerts in a subscription": { + "$ref": "./examples/AlertProcessingRules_Create_or_update_add_action_group_all_alerts_in_subscription.json" + }, + "Create or update a rule that adds two action groups to all Sev0 and Sev1 alerts in two resource groups": { + "$ref": "./examples/AlertProcessingRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json" + }, + "Create or update a rule that removes all action groups from alerts on a specific VM during a one-off maintenance window (1800-2000 at a specific date, Pacific Standard Time)": { + "$ref": "./examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_specific_VM_one-off_maintenance_window.json" + }, + "Create or update a rule that removes all action groups from all alerts on any VM in two resource groups during a recurring maintenance window (2200-0400 every Sat and Sun, India Standard Time)": { + "$ref": "./examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json" + }, + "Create or update a rule that removes all action groups outside business hours (Mon-Fri 09:00-17:00, Eastern Standard Time)": { + "$ref": "./examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_outside_business_hours.json" + }, + "Create or update a rule that removes all action groups from all alerts in a subscription coming from a specific alert rule": { + "$ref": "./examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json" + } + } + }, + "delete": { + "description": "Delete an alert processing rule.", + "operationId": "AlertProcessingRules_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "alertProcessingRuleName", + "in": "path", + "description": "The name of the alert processing rule that needs to be deleted.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Successful request to delete an alert processing rule.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + } + }, + "204": { + "description": "No content: the request was successful, but the response is empty.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-examples": { + "DeleteAlertProcessingRule": { + "$ref": "./examples/AlertProcessingRules_Delete.json" + } + } + }, + "patch": { + "description": "Enable, disable, or update tags for an alert processing rule.", + "operationId": "AlertProcessingRules_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "alertProcessingRuleName", + "in": "path", + "description": "The name that needs to be updated.", + "required": true, + "type": "string" + }, + { + "name": "alertProcessingRulePatch", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PatchObject" + }, + "description": "Parameters supplied to the operation." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns the created/updated alert processing rule.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/AlertProcessingRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-examples": { + "PatchAlertProcessingRule": { + "$ref": "./examples/AlertProcessingRules_Patch.json" + } + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription.", + "minLength": 1 + }, + "resourceGroupName": { + "name": "resourceGroupName", + "description": "Resource group name where the resource is created.", + "type": "string", + "in": "path", + "required": true, + "x-ms-parameter-location": "method" + }, + "api-version": { + "name": "api-version", + "description": "Client API version.", + "type": "string", + "in": "query", + "required": true, + "enum": [ + "2021-08-08-preview" + ], + "x-ms-enum": { + "name": "api-version", + "modelAsString": true + } + } + }, + "definitions": { + "errorResponse": { + "description": "An error response from the service.", + "properties": { + "error": { + "$ref": "#/definitions/errorResponseBody" + } + } + }, + "errorResponseBody": { + "description": "Details of error response.", + "properties": { + "code": { + "type": "string", + "description": "Error code, intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "Description of the error, intended for display in user interface." + }, + "target": { + "type": "string", + "description": "Target of the particular error, for example name of the property." + }, + "details": { + "type": "array", + "description": "A list of additional details about the error.", + "items": { + "$ref": "#/definitions/errorResponseBody" + } + } + } + }, + "Resource": { + "x-ms-azure-resource": true, + "description": "An azure resource object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Azure resource type" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Azure resource name" + } + } + }, + "ManagedResource": { + "description": "An azure managed resource object.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ] + }, + "Scopes": { + "type": "array", + "description": "List of ARM IDs which will be the target of the given alert processing rule.", + "items": { + "type": "string" + } + }, + "Condition": { + "type": "object", + "description": "Condition to trigger an alert processing rule.", + "properties": { + "field": { + "type": "string", + "description": "Field for a given condition.", + "enum": [ + "Severity", + "MonitorService", + "MonitorCondition", + "SignalType", + "TargetResourceType", + "TargetResource", + "TargetResourceGroup", + "AlertRuleId", + "AlertRuleName", + "Description", + "AlertContext" + ], + "x-ms-enum": { + "name": "Field", + "modelAsString": true + } + }, + "operator": { + "type": "string", + "description": "Operator for a given condition.", + "enum": [ + "Equals", + "NotEquals", + "Contains", + "DoesNotContain" + ], + "x-ms-enum": { + "name": "Operator", + "modelAsString": true + } + }, + "values": { + "type": "array", + "description": "List of values to match for a given condition.", + "items": { + "type": "string" + } + } + } + }, + "Conditions": { + "type": "array", + "description": "Conditions in alert instance to be matched for a given alert processing rule. Default value is all. Multiple values could be provided with comma separation.", + "items": { + "$ref": "#/definitions/Condition" + } + }, + "Schedule": { + "type": "object", + "description": "Scheduling configuration for a given alert processing rule.", + "properties": { + "effectiveFrom": { + "type": "string", + "pattern": "^(?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))$", + "description": "Scheduling effective from time. Date-Time in ISO-8601 format without timezone suffix." + }, + "effectiveUntil": { + "type": "string", + "pattern": "^(?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))$", + "description": "Scheduling effective until time. Date-Time in ISO-8601 format without timezone suffix." + }, + "timeZone": { + "type": "string", + "description": "Scheduling time zone." + }, + "recurrences": { + "type": "array", + "description": "List of recurrences.", + "items": { + "$ref": "#/definitions/Recurrence" + } + } + } + }, + "Recurrence": { + "type": "object", + "description": "Recurrence object.", + "discriminator": "recurrenceType", + "required": [ + "recurrenceType" + ], + "properties": { + "recurrenceType": { + "type": "string", + "description": "Specifies when the recurrence should be applied.", + "enum": [ + "Daily", + "Weekly", + "Monthly" + ], + "x-ms-enum": { + "name": "RecurrenceType", + "modelAsString": true + } + }, + "startTime": { + "type": "string", + "description": "Start time for recurrence." + }, + "endTime": { + "type": "string", + "description": "End time for recurrence." + } + } + }, + "DailyRecurrence": { + "x-ms-discriminator-value": "Daily", + "type": "object", + "description": "Daily recurrence object.", + "required": [ + "startTime", + "endTime" + ], + "allOf": [ + { + "$ref": "#/definitions/Recurrence" + } + ] + }, + "WeeklyRecurrence": { + "x-ms-discriminator-value": "Weekly", + "type": "object", + "description": "Weekly recurrence object.", + "required": [ + "daysOfWeek" + ], + "allOf": [ + { + "$ref": "#/definitions/Recurrence" + } + ], + "properties": { + "daysOfWeek": { + "type": "array", + "description": "Specifies the values for weekly recurrence pattern.", + "items": { + "$ref": "#/definitions/DaysOfWeek" + } + } + } + }, + "MonthlyRecurrence": { + "x-ms-discriminator-value": "Monthly", + "type": "object", + "description": "Monthly recurrence object.", + "required": [ + "daysOfMonth" + ], + "allOf": [ + { + "$ref": "#/definitions/Recurrence" + } + ], + "properties": { + "daysOfMonth": { + "type": "array", + "description": "Specifies the values for monthly recurrence pattern.", + "items": { + "type": "integer", + "format": "int32" + } + } + } + }, + "DaysOfWeek": { + "type": "string", + "description": "Days of week.", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "x-ms-enum": { + "name": "DaysOfWeek", + "modelAsString": true + } + }, + "AlertProcessingRule": { + "type": "object", + "description": "Alert processing rule object containing target scopes, conditions and scheduling logic.", + "allOf": [ + { + "$ref": "#/definitions/ManagedResource" + } + ], + "properties": { + "properties": { + "description": "Alert processing rule properties.", + "$ref": "#/definitions/AlertProcessingRuleProperties" + }, + "systemData": { + "description": "Alert processing rule system data.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "AlertProcessingRuleProperties": { + "type": "object", + "description": "Alert processing rule properties defining scopes, conditions and scheduling logic for alert processing rule.", + "required": [ + "scopes", + "actions" + ], + "properties": { + "scopes": { + "description": "Scopes on which alert processing rule will apply.", + "$ref": "#/definitions/Scopes" + }, + "conditions": { + "description": "Conditions on which alerts will be filtered.", + "$ref": "#/definitions/Conditions" + }, + "schedule": { + "description": "Scheduling for alert processing rule.", + "$ref": "#/definitions/Schedule" + }, + "actions": { + "type": "array", + "description": "Actions to be applied.", + "items": { + "$ref": "#/definitions/Action" + } + }, + "description": { + "type": "string", + "description": "Description of alert processing rule." + }, + "enabled": { + "type": "boolean", + "default": true, + "description": "Indicates if the given alert processing rule is enabled or disabled." + } + } + }, + "Action": { + "type": "object", + "description": "Action to be applied.", + "discriminator": "actionType", + "required": [ + "actionType" + ], + "properties": { + "actionType": { + "type": "string", + "description": "Action that should be applied.", + "enum": [ + "AddActionGroups", + "RemoveAllActionGroups" + ], + "x-ms-enum": { + "name": "actionType", + "modelAsString": true + } + } + } + }, + "AddActionGroups": { + "x-ms-discriminator-value": "AddActionGroups", + "type": "object", + "description": "Add action groups to alert processing rule.", + "required": [ + "actionGroupIds" + ], + "allOf": [ + { + "$ref": "#/definitions/Action" + } + ], + "properties": { + "actionGroupIds": { + "description": "List of action group Ids to add to alert processing rule.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "RemoveAllActionGroups": { + "x-ms-discriminator-value": "RemoveAllActionGroups", + "type": "object", + "description": "Indicates if all action groups should be removed.", + "allOf": [ + { + "$ref": "#/definitions/Action" + } + ] + }, + "AlertProcessingRulesList": { + "type": "object", + "description": "List of alert processing rules.", + "properties": { + "nextLink": { + "type": "string", + "description": "URL to fetch the next set of alert processing rules." + }, + "value": { + "type": "array", + "description": "List of alert processing rules.", + "items": { + "$ref": "#/definitions/AlertProcessingRule" + } + } + } + }, + "PatchProperties": { + "description": "Alert processing rule properties supported by patch.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates if the given alert processing rule is enabled or disabled." + } + } + }, + "PatchObject": { + "description": "Data contract for patch.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties supported by patch operation.", + "$ref": "#/definitions/PatchProperties" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags to be updated." + } + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertsManagement.json deleted file mode 100644 index ed253c5cd422..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertsManagement.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2021-08-08-preview", - "title": "Azure Alerts Management Service Resource Provider", - "description": "Azure Alerts Management Service provides a single pane of glass of alerts across Azure Monitor." - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "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.AlertsManagement/operations": { - "get": { - "operationId": "Operations_List", - "description": "List all operations available through Azure Alerts Management Resource Provider.", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "OK. Successfully retrieved operations list.", - "schema": { - "$ref": "#/definitions/operationsList" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - } - }, - "definitions": { - "operation": { - "description": "Operation provided by provider", - "properties": { - "name": { - "type": "string", - "description": "Name of the operation" - }, - "display": { - "type": "object", - "description": "Properties of the operation", - "properties": { - "provider": { - "type": "string", - "description": "Provider name" - }, - "resource": { - "type": "string", - "description": "Resource name" - }, - "operation": { - "type": "string", - "description": "Operation name" - }, - "description": { - "type": "string", - "description": "Description of the operation" - } - } - } - } - }, - "operationsList": { - "description": "Lists the operations available in the AlertsManagement RP.", - "properties": { - "nextLink": { - "description": "URL to fetch the next set of operations.", - "type": "string" - }, - "value": { - "description": "Array of operations", - "type": "array", - "items": { - "$ref": "#/definitions/operation" - } - } - }, - "required": [ - "value" - ] - } - }, - "parameters": { - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client Api Version." - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_add_action_group_all_alerts_in_subscription.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_add_action_group_all_alerts_in_subscription.json deleted file mode 100644 index 52088517ef0e..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_add_action_group_all_alerts_in_subscription.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "parameters": { - "api-version": "2021-08-08-preview", - "subscriptionId": "subId1", - "resourceGroupName": "alertscorrelationrg", - "actionRuleName": "AddActionGroupToSubscription", - "actionRule": { - "location": "Global", - "tags": {}, - "properties": { - "scopes": [ - "/subscriptions/subId1" - ], - "actions": [ - { - "actionType": "AddActionGroups", - "actionGroupIds": [ - "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1" - ] - } - ], - "description": "Add ActionGroup1 to all alerts in the subscription", - "enabled": true - } - } - }, - "responses": { - "200": { - "body": { - "systemData": { - "createdBy": "abc@microsoft.com", - "createdByType": "User", - "createdAt": "2021-02-12T22:05:09Z", - "lastModifiedBy": "xyz@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2021-02-13T16:15:34Z" - }, - "properties": { - "scopes": [ - "/subscriptions/subId1" - ], - "actions": [ - { - "actionType": "AddActionGroups", - "actionGroupIds": [ - "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1" - ] - } - ], - "description": "Add ActionGroup1 to all alerts in the subscription", - "enabled": true - }, - "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupToSubscription", - "type": "Microsoft.AlertsManagement/actionRules", - "name": "AddActionGroupToSubscription", - "location": "Global", - "tags": {} - } - }, - "201": { - "body": { - "systemData": { - "createdBy": "abc@microsoft.com", - "createdByType": "User", - "createdAt": "2021-02-12T22:05:09Z", - "lastModifiedBy": "xyz@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2021-02-13T16:15:34Z" - }, - "properties": { - "scopes": [ - "/subscriptions/subId1" - ], - "actions": [ - { - "actionType": "AddActionGroups", - "actionGroupIds": [ - "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1" - ] - } - ], - "description": "Add ActionGroup1 to all alerts in the subscription", - "enabled": true - }, - "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupToSubscription", - "type": "Microsoft.AlertsManagement/actionRules", - "name": "AddActionGroupToSubscription", - "location": "Global", - "tags": {} - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json deleted file mode 100644 index 76525df8a56e..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json +++ /dev/null @@ -1,129 +0,0 @@ -{ - "parameters": { - "api-version": "2021-08-08-preview", - "subscriptionId": "subId1", - "resourceGroupName": "alertscorrelationrg", - "actionRuleName": "AddActionGroupsBySeverity", - "actionRule": { - "location": "Global", - "tags": {}, - "properties": { - "scopes": [ - "/subscriptions/subId1/resourceGroups/RGId1", - "/subscriptions/subId1/resourceGroups/RGId2" - ], - "conditions": [ - { - "field": "Severity", - "operator": "Equals", - "values": [ - "sev0", - "sev1" - ] - } - ], - "actions": [ - { - "actionType": "AddActionGroups", - "actionGroupIds": [ - "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1", - "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2" - ] - } - ], - "description": "Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups", - "enabled": true - } - } - }, - "responses": { - "200": { - "body": { - "systemData": { - "createdBy": "abc@microsoft.com", - "createdByType": "User", - "createdAt": "2018-06-12T22:05:09Z", - "lastModifiedBy": "xyz@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2018-06-13T22:05:09Z" - }, - "properties": { - "scopes": [ - "/subscriptions/subId1/resourceGroups/RGId1", - "/subscriptions/subId1/resourceGroups/RGId2" - ], - "conditions": [ - { - "field": "Severity", - "operator": "Equals", - "values": [ - "sev0", - "sev1" - ] - } - ], - "actions": [ - { - "actionType": "AddActionGroups", - "actionGroupIds": [ - "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1", - "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2" - ] - } - ], - "description": "Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups", - "enabled": true - }, - "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupsBySeverity", - "type": "Microsoft.AlertsManagement/actionRules", - "name": "AddActionGroupsBySeverity", - "location": "Global", - "tags": {} - } - }, - "201": { - "body": { - "systemData": { - "createdBy": "abc@microsoft.com", - "createdByType": "User", - "createdAt": "2018-06-12T22:05:09Z", - "lastModifiedBy": "xyz@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2018-06-13T22:05:09Z" - }, - "properties": { - "scopes": [ - "/subscriptions/subId1/resourceGroups/RGId1", - "/subscriptions/subId1/resourceGroups/RGId2" - ], - "conditions": [ - { - "field": "Severity", - "operator": "Equals", - "values": [ - "sev0", - "sev1" - ] - } - ], - "actions": [ - { - "actionType": "AddActionGroups", - "actionGroupIds": [ - "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1", - "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2" - ] - } - ], - "description": "Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups", - "enabled": true - }, - "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupsBySeverity", - "type": "Microsoft.AlertsManagement/actionRules", - "name": "AddActionGroupsBySeverity", - "location": "Global", - "tags": {} - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json deleted file mode 100644 index 4cb5c8c628b1..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "parameters": { - "api-version": "2021-08-08-preview", - "subscriptionId": "subId1", - "resourceGroupName": "alertscorrelationrg", - "actionRuleName": "RemoveActionGroupsSpecificAlertRule", - "actionRule": { - "location": "Global", - "tags": {}, - "properties": { - "scopes": [ - "/subscriptions/subId1" - ], - "conditions": [ - { - "field": "AlertRuleId", - "operator": "Equals", - "values": [ - "/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName" - ] - } - ], - "actions": [ - { - "actionType": "RemoveAllActiongroups" - } - ], - "description": "Removes all ActionGroups from all Alerts that fire on above AlertRule", - "enabled": true - } - } - }, - "responses": { - "200": { - "body": { - "systemData": { - "createdBy": "abc@microsoft.com", - "createdByType": "User", - "createdAt": "2018-06-11T22:05:09Z", - "lastModifiedBy": "xyz@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2018-06-12T22:05:09Z" - }, - "properties": { - "scopes": [ - "/subscriptions/subId1" - ], - "conditions": [ - { - "field": "AlertRuleId", - "operator": "Equals", - "values": [ - "/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName" - ] - } - ], - "actions": [ - { - "actionType": "RemoveAllActiongroups" - } - ], - "description": "Removes all ActionGroups from all Alerts that fire on above AlertRule", - "enabled": true - }, - "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsSpecificAlertRule", - "type": "Microsoft.AlertsManagement/actionRules", - "name": "RemoveActionGroupsSpecificAlertRule", - "location": "Global", - "tags": {} - } - }, - "201": { - "body": { - "systemData": { - "createdBy": "abc@microsoft.com", - "createdByType": "User", - "createdAt": "2018-06-11T22:05:09Z", - "lastModifiedBy": "xyz@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2018-06-12T22:05:09Z" - }, - "properties": { - "scopes": [ - "/subscriptions/subId1" - ], - "conditions": [ - { - "field": "AlertRuleId", - "operator": "Equals", - "values": [ - "/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName" - ] - } - ], - "actions": [ - { - "actionType": "RemoveAllActiongroups" - } - ], - "description": "Removes all ActionGroups from all Alerts that fire on above AlertRule", - "enabled": true - }, - "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsSpecificAlertRule", - "type": "Microsoft.AlertsManagement/actionRules", - "name": "RemoveActionGroupsSpecificAlertRule", - "location": "Global", - "tags": {} - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_outside_business_hours.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_outside_business_hours.json deleted file mode 100644 index c040c555ce64..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_outside_business_hours.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "parameters": { - "api-version": "2021-08-08-preview", - "subscriptionId": "subId1", - "resourceGroupName": "alertscorrelationrg", - "actionRuleName": "RemoveActionGroupsOutsideBusinessHours", - "actionRule": { - "location": "Global", - "tags": {}, - "properties": { - "scopes": [ - "/subscriptions/subId1" - ], - "actions": [ - { - "actionType": "RemoveAllActionGroups" - } - ], - "schedule": { - "timeZone": "Eastern Standard Time", - "recurrences": [ - { - "recurrenceType": "Daily", - "startTime": "17:00:00", - "endTime": "09:00:00" - }, - { - "recurrenceType": "Weekly", - "daysOfWeek": [ - "Saturday", - "Sunday" - ] - } - ] - }, - "description": "Remove all ActionGroups outside business hours", - "enabled": true - } - } - }, - "responses": { - "200": { - "body": { - "systemData": { - "createdBy": "abc@microsoft.com", - "createdByType": "User", - "createdAt": "2018-06-11T22:05:09Z", - "lastModifiedBy": "xyz@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2018-06-12T22:05:09Z" - }, - "properties": { - "scopes": [ - "/subscriptions/subId1" - ], - "actions": [ - { - "actionType": "RemoveAllActionGroups" - } - ], - "schedule": { - "timeZone": "Eastern Standard Time", - "recurrences": [ - { - "recurrenceType": "Daily", - "startTime": "17:00:00", - "endTime": "09:00:00" - }, - { - "recurrenceType": "Weekly", - "daysOfWeek": [ - "Saturday", - "Sunday" - ] - } - ] - }, - "description": "Remove all ActionGroups outside business hours", - "enabled": true - }, - "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsOutsideBusinessHours", - "type": "Microsoft.AlertsManagement/actionRules", - "name": "RemoveActionGroupsOutsideBusinessHours", - "location": "Global", - "tags": {} - } - }, - "201": { - "body": { - "systemData": { - "createdBy": "abc@microsoft.com", - "createdByType": "User", - "createdAt": "2018-06-11T22:05:09Z", - "lastModifiedBy": "xyz@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2018-06-12T22:05:09Z" - }, - "properties": { - "scopes": [ - "/subscriptions/subId1" - ], - "actions": [ - { - "actionType": "RemoveAllActionGroups" - } - ], - "schedule": { - "timeZone": "Eastern Standard Time", - "recurrences": [ - { - "recurrenceType": "Daily", - "startTime": "17:00:00", - "endTime": "09:00:00" - }, - { - "recurrenceType": "Weekly", - "daysOfWeek": [ - "Saturday", - "Sunday" - ] - } - ] - }, - "description": "Remove all ActionGroups outside business hours", - "enabled": true - }, - "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsOutsideBusinessHours", - "type": "Microsoft.AlertsManagement/actionRules", - "name": "RemoveActionGroupsOutsideBusinessHours", - "location": "Global", - "tags": {} - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json deleted file mode 100644 index 65baa6704870..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json +++ /dev/null @@ -1,156 +0,0 @@ -{ - "parameters": { - "api-version": "2021-08-08-preview", - "subscriptionId": "subId1", - "resourceGroupName": "alertscorrelationrg", - "actionRuleName": "RemoveActionGroupsRecurringMaintenance", - "actionRule": { - "location": "Global", - "tags": {}, - "properties": { - "scopes": [ - "/subscriptions/subId1/resourceGroups/RGId1", - "/subscriptions/subId1/resourceGroups/RGId2" - ], - "conditions": [ - { - "field": "TargetResourceType", - "operator": "Equals", - "values": [ - "microsoft.compute/virtualmachines" - ] - } - ], - "actions": [ - { - "actionType": "RemoveAllActionGroups" - } - ], - "schedule": { - "timeZone": "India Standard Time", - "recurrences": [ - { - "recurrenceType": "Weekly", - "startTime": "22:00:00", - "endTime": "04:00:00", - "daysOfWeek": [ - "Saturday", - "Sunday" - ] - } - ] - }, - "description": "Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance", - "enabled": true - } - } - }, - "responses": { - "200": { - "body": { - "systemData": { - "createdBy": "abc@microsoft.com", - "createdByType": "User", - "createdAt": "2018-06-11T22:05:09Z", - "lastModifiedBy": "xyz@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2018-06-12T22:05:09Z" - }, - "properties": { - "scopes": [ - "/subscriptions/subId1/resourceGroups/RGId1", - "/subscriptions/subId1/resourceGroups/RGId2" - ], - "conditions": [ - { - "field": "TargetResourceType", - "operator": "Equals", - "values": [ - "microsoft.compute/virtualmachines" - ] - } - ], - "actions": [ - { - "actionType": "RemoveAllActionGroups" - } - ], - "schedule": { - "timeZone": "India Standard Time", - "recurrences": [ - { - "recurrenceType": "Weekly", - "startTime": "22:00:00", - "endTime": "04:00:00", - "daysOfWeek": [ - "Saturday", - "Sunday" - ] - } - ] - }, - "description": "Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance", - "enabled": true - }, - "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsRecurringMaintenance", - "type": "Microsoft.AlertsManagement/actionRules", - "name": "RemoveActionGroupsRecurringMaintenance", - "location": "Global", - "tags": {} - } - }, - "201": { - "body": { - "systemData": { - "createdBy": "abc@microsoft.com", - "createdByType": "User", - "createdAt": "2018-06-11T22:05:09Z", - "lastModifiedBy": "xyz@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2018-06-12T22:05:09Z" - }, - "properties": { - "scopes": [ - "/subscriptions/subId1/resourceGroups/RGId1", - "/subscriptions/subId1/resourceGroups/RGId2" - ], - "conditions": [ - { - "field": "TargetResourceType", - "operator": "Equals", - "values": [ - "microsoft.compute/virtualmachines" - ] - } - ], - "actions": [ - { - "actionType": "RemoveAllActionGroups" - } - ], - "schedule": { - "timeZone": "India Standard Time", - "recurrences": [ - { - "recurrenceType": "Weekly", - "startTime": "22:00:00", - "endTime": "04:00:00", - "daysOfWeek": [ - "Saturday", - "Sunday" - ] - } - ] - }, - "description": "Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance", - "enabled": true - }, - "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsRecurringMaintenance", - "type": "Microsoft.AlertsManagement/actionRules", - "name": "RemoveActionGroupsRecurringMaintenance", - "location": "Global", - "tags": {} - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_specific_VM_one-off_maintenance_window.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_specific_VM_one-off_maintenance_window.json deleted file mode 100644 index 0e46232aef9b..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_specific_VM_one-off_maintenance_window.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "parameters": { - "api-version": "2021-08-08-preview", - "subscriptionId": "subId1", - "resourceGroupName": "alertscorrelationrg", - "actionRuleName": "RemoveActionGroupsMaintenanceWindow", - "actionRule": { - "location": "Global", - "tags": {}, - "properties": { - "scopes": [ - "/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName" - ], - "actions": [ - { - "actionType": "RemoveAllActionGroups" - } - ], - "schedule": { - "effectiveFrom": "2021-04-15T18:00:00", - "effectiveUntil": "2021-04-15T20:00:00", - "timeZone": "Pacific Standard Time" - }, - "description": "Removes all ActionGroups from all Alerts on VMName during the maintenance window", - "enabled": true - } - } - }, - "responses": { - "200": { - "body": { - "systemData": { - "createdBy": "abc@microsoft.com", - "createdByType": "User", - "createdAt": "2018-06-12T20:13:29Z", - "lastModifiedBy": "xyz@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2018-06-12T22:05:09Z" - }, - "properties": { - "scopes": [ - "/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName" - ], - "actions": [ - { - "actionType": "RemoveAllActionGroups" - } - ], - "schedule": { - "effectiveFrom": "2021-04-15T18:00:00", - "effectiveUntil": "2021-04-15T20:00:00", - "timeZone": "Pacific Standard Time" - }, - "description": "Removes all ActionGroups from all Alerts on VMName during the maintenance window", - "enabled": true - }, - "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsMaintenanceWindow", - "type": "Microsoft.AlertsManagement/actionRules", - "name": "RemoveActionGroupsMaintenanceWindow", - "location": "Global", - "tags": {} - } - }, - "201": { - "body": { - "systemData": { - "createdBy": "abc@microsoft.com", - "createdByType": "User", - "createdAt": "2018-06-12T20:13:29Z", - "lastModifiedBy": "xyz@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2018-06-12T22:05:09Z" - }, - "properties": { - "scopes": [ - "/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName" - ], - "actions": [ - { - "actionType": "RemoveAllActionGroups" - } - ], - "schedule": { - "effectiveFrom": "2021-04-15T18:00:00", - "effectiveUntil": "2021-04-15T20:00:00", - "timeZone": "Pacific Standard Time" - }, - "description": "Removes all ActionGroups from all Alerts on VMName during the maintenance window", - "enabled": true - }, - "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsMaintenanceWindow", - "type": "Microsoft.AlertsManagement/actionRules", - "name": "RemoveActionGroupsMaintenanceWindow", - "location": "Global", - "tags": {} - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Delete.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Delete.json deleted file mode 100644 index 6a9bbd02c9e0..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Delete.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parameters": { - "api-version": "2021-08-08-preview", - "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d", - "resourceGroupName": "alertscorrelationrg", - "actionRuleName": "DailySuppression" - }, - "responses": { - "200": {}, - "204": {} - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_GetById.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_GetById.json deleted file mode 100644 index 8b1d3aed1722..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_GetById.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "parameters": { - "api-version": "2021-08-08-preview", - "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d", - "resourceGroupName": "alertscorrelationrg", - "actionRuleName": "DailySuppression" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression", - "type": "Microsoft.AlertsManagement/actionRules", - "name": "DailySuppression", - "location": "Global", - "systemData": { - "createdBy": "abc@microsoft.com", - "createdByType": "User", - "createdAt": "2018-06-12T22:05:09Z", - "lastModifiedBy": "xyz@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2018-06-12T22:05:09Z" - }, - "properties": { - "scopes": [ - "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg" - ], - "conditions": [ - { - "field": "Severity", - "operator": "Equals", - "values": [ - "Sev0", - "Sev2" - ] - }, - { - "field": "MonitorService", - "operator": "Equals", - "values": [ - "Platform", - "Application Insights" - ] - }, - { - "field": "MonitorCondition", - "operator": "Equals", - "values": [ - "Fired" - ] - }, - { - "field": "TargetResourceType", - "operator": "NotEquals", - "values": [ - "Microsoft.Compute/VirtualMachines" - ] - } - ], - "schedule": { - "effectiveFrom": "2018-01-10T22:05:09", - "effectiveUntil": "2018-12-10T22:05:09", - "timeZone": "Pacific Standard Time", - "recurrences": [ - { - "recurrenceType": "Daily", - "startTime": "06:00:00", - "endTime": "14:00:00" - }, - { - "recurrenceType": "Weekly", - "startTime": "10:00:00", - "endTime": "20:00:00", - "daysOfWeek": [ - "Saturday", - "Sunday" - ] - } - ] - }, - "actions": [ - { - "actionType": "AddActionGroups", - "actionGroupIds": [ - "actiongGroup1", - "actiongGroup2" - ] - } - ], - "description": "Action rule on resource group for daily and weekly scheduling", - "enabled": true - }, - "tags": {} - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_List_ResourceGroup.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_List_ResourceGroup.json deleted file mode 100644 index f948c8c845b0..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_List_ResourceGroup.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "parameters": { - "api-version": "2021-08-08-preview", - "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d", - "resourceGroupName": "alertscorrelationrg" - }, - "responses": { - "200": { - "body": { - "nextLink": "https://management.azure.com:443/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules?api-version=2021-08-08-preview&ctoken=%2bRID%3aPlwOAPHEGwB9UwEAAAAgCw%3d%3d%23RT%3a2%23TRC%3a500%23RTD%3aqtQyMDE4LTA2LTEyVDE1OjEyOjE1", - "value": [ - { - "systemData": { - "createdBy": "abc@microsoft.com", - "createdByType": "User", - "createdAt": "2018-06-12T22:05:09Z", - "lastModifiedBy": "xyz@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2018-06-12T22:05:09Z" - }, - "properties": { - "scopes": [ - "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg" - ], - "conditions": [ - { - "field": "Severity", - "operator": "Equals", - "values": [ - "Sev0", - "Sev2" - ] - }, - { - "field": "MonitorService", - "operator": "Equals", - "values": [ - "Platform", - "Application Insights" - ] - }, - { - "field": "TargetResourceType", - "operator": "NotEquals", - "values": [ - "Microsoft.Compute/VirtualMachines" - ] - } - ], - "schedule": { - "effectiveFrom": "2018-09-12T06:00:00", - "effectiveUntil": "2018-09-20T14:00:00", - "timeZone": "Pacific Standard Time", - "recurrences": [ - { - "recurrenceType": "Daily", - "startTime": "06:00:00", - "endTime": "14:00:00" - } - ] - }, - "actions": [ - { - "actionType": "RemoveAllActionGroups" - } - ], - "description": "Action rule on resource group for daily suppression", - "enabled": true - }, - "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression", - "type": "Microsoft.AlertsManagement/actionRules", - "name": "DailySuppression", - "location": "Global", - "tags": {} - }, - { - "systemData": { - "createdBy": "abc@microsoft.com", - "createdByType": "User", - "createdAt": "2018-06-12T22:05:09Z", - "lastModifiedBy": "xyz@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2018-06-12T22:05:09Z" - }, - "properties": { - "scopes": [ - "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.Compute/VirtualMachines/testResource" - ], - "conditions": [ - { - "field": "MonitorCondition", - "operator": "Equals", - "values": [ - "Fired" - ] - }, - { - "field": "Description", - "operator": "Contains", - "values": [ - "Percentage CPU greater than 80%", - "Metric alert on resource foo" - ] - }, - { - "field": "AlertContext", - "operator": "DoesNotContain", - "values": [ - "testresource", - "foo" - ] - } - ], - "actions": [ - { - "actionType": "AddActionGroups", - "actionGroupIds": [ - "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.insights/actiongroups/testAG" - ] - } - ], - "description": "Action rule on resource group for sending email", - "enabled": true - }, - "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/WeeklySuppression", - "type": "Microsoft.AlertsManagement/actionRules", - "name": "WeeklySuppression", - "location": "Global", - "tags": {} - } - ] - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_List_Subscription.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_List_Subscription.json deleted file mode 100644 index c2c141c531f1..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_List_Subscription.json +++ /dev/null @@ -1,126 +0,0 @@ -{ - "parameters": { - "api-version": "2021-08-08-preview", - "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d" - }, - "responses": { - "200": { - "body": { - "nextLink": "https://management.azure.com:443/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/providers/Microsoft.AlertsManagement/actionRules?api-version=2021-08-08-preview&ctoken=%2bRID%3aPlwOAPHEGwB9UwEAAAAgCw%3d%3d%23RT%3a2%23TRC%3a500%23RTD%3aqtQyMDE4LTA2LTEyVDE1OjEyOjE1", - "value": [ - { - "systemData": { - "createdBy": "abc@microsoft.com", - "createdByType": "User", - "createdAt": "2018-06-12T22:05:09Z", - "lastModifiedBy": "xyz@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2018-06-12T22:05:09Z" - }, - "properties": { - "scopes": [ - "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg" - ], - "conditions": [ - { - "field": "Severity", - "operator": "Equals", - "values": [ - "Sev0", - "Sev2" - ] - }, - { - "field": "MonitorService", - "operator": "Equals", - "values": [ - "Platform", - "Application Insights" - ] - }, - { - "field": "TargetResourceType", - "operator": "NotEquals", - "values": [ - "Microsoft.Compute/VirtualMachines" - ] - } - ], - "schedule": { - "effectiveFrom": "2018-01-10T22:05:09", - "effectiveUntil": "2018-12-10T22:05:09", - "timeZone": "Pacific Standard Time", - "recurrences": [ - { - "recurrenceType": "Daily", - "startTime": "06:00:00", - "endTime": "14:00:00" - } - ] - }, - "actions": [ - { - "actionType": "RemoveAllActionGroups" - } - ], - "description": "Action rule on resource group for daily suppression", - "enabled": true - }, - "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression", - "type": "Microsoft.AlertsManagement/actionRules", - "name": "DailySuppression", - "location": "Global", - "tags": {} - }, - { - "systemData": { - "createdBy": "abc@microsoft.com", - "createdByType": "User", - "createdAt": "2018-06-12T22:05:09Z", - "lastModifiedBy": "xyz@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2018-06-12T22:05:09Z" - }, - "properties": { - "scopes": [ - "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.Compute/VirtualMachines/testResource" - ], - "conditions": [ - { - "field": "MonitorCondition", - "operator": "Equals", - "values": [ - "Fired" - ] - }, - { - "field": "Description", - "operator": "Contains", - "values": [ - "Percentage CPU greater than 80%", - "Metric alert on resource foo" - ] - } - ], - "description": "Action rule on resource group for adding action group", - "enabled": true, - "actions": [ - { - "actionType": "AddActionGroups", - "actionGroupIds": [ - "actiongGroup1" - ] - } - ] - }, - "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/WeeklySuppression", - "type": "Microsoft.AlertsManagement/actionRules", - "name": "WeeklySuppression", - "location": "Global", - "tags": {} - } - ] - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Patch.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Patch.json deleted file mode 100644 index ede6e07cc04d..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Patch.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "parameters": { - "api-version": "2021-08-08-preview", - "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d", - "resourceGroupName": "alertscorrelationrg", - "actionRuleName": "WeeklySuppression", - "actionRulePatch": { - "tags": { - "key1": "value1", - "key2": "value2" - }, - "properties": { - "enabled": false - } - } - }, - "responses": { - "200": { - "body": { - "systemData": { - "createdBy": "abc@microsoft.com", - "createdByType": "User", - "createdAt": "2018-06-12T22:05:09Z", - "lastModifiedBy": "xyz@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2018-06-12T22:05:09Z" - }, - "properties": { - "scopes": [ - "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg" - ], - "conditions": [ - { - "field": "Severity", - "operator": "Equals", - "values": [ - "Sev0", - "Sev2" - ] - }, - { - "field": "MonitorService", - "operator": "Equals", - "values": [ - "Platform", - "Application Insights" - ] - }, - { - "field": "TargetResourceType", - "operator": "NotEquals", - "values": [ - "Microsoft.Compute/VirtualMachines" - ] - } - ], - "schedule": { - "effectiveFrom": "2018-12-10T22:05:09", - "effectiveUntil": "2018-12-05T22:05:09", - "timeZone": "Pacific Standard Time", - "recurrences": [ - { - "recurrenceType": "Weekly", - "startTime": "06:00:00", - "endTime": "14:00:00", - "daysOfWeek": [ - "Tuesday", - "Friday" - ] - } - ] - }, - "actions": [ - { - "actionType": "removeAllActionGroups" - } - ], - "description": "Action rule on resource group for weekly suppression", - "enabled": false - }, - "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/WeeklySuppression", - "type": "Microsoft.AlertsManagement/actionRules", - "name": "WeeklySuppression", - "location": "Global", - "tags": { - "key1": "value1", - "key2": "value2" - } - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_add_action_group_all_alerts_in_subscription.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_add_action_group_all_alerts_in_subscription.json new file mode 100644 index 000000000000..50e490c2d49c --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_add_action_group_all_alerts_in_subscription.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2021-08-08-preview", + "subscriptionId": "subId1", + "resourceGroupName": "alertscorrelationrg", + "alertProcessingRuleName": "AddActionGroupToSubscription", + "alertProcessingRule": { + "location": "Global", + "tags": {}, + "properties": { + "scopes": [ + "/subscriptions/subId1" + ], + "actions": [ + { + "actionType": "AddActionGroups", + "actionGroupIds": [ + "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1" + ] + } + ], + "description": "Add ActionGroup1 to all alerts in the subscription", + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2021-02-12T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-02-13T16:15:34Z" + }, + "properties": { + "scopes": [ + "/subscriptions/subId1" + ], + "actions": [ + { + "actionType": "AddActionGroups", + "actionGroupIds": [ + "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1" + ] + } + ], + "description": "Add ActionGroup1 to all alerts in the subscription", + "enabled": true + }, + "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupToSubscription", + "type": "Microsoft.AlertsManagement/actionRules", + "name": "AddActionGroupToSubscription", + "location": "Global", + "tags": {} + } + }, + "201": { + "body": { + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2021-02-12T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-02-13T16:15:34Z" + }, + "properties": { + "scopes": [ + "/subscriptions/subId1" + ], + "actions": [ + { + "actionType": "AddActionGroups", + "actionGroupIds": [ + "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1" + ] + } + ], + "description": "Add ActionGroup1 to all alerts in the subscription", + "enabled": true + }, + "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupToSubscription", + "type": "Microsoft.AlertsManagement/actionRules", + "name": "AddActionGroupToSubscription", + "location": "Global", + "tags": {} + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json new file mode 100644 index 000000000000..21db08455a86 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "api-version": "2021-08-08-preview", + "subscriptionId": "subId1", + "resourceGroupName": "alertscorrelationrg", + "alertProcessingRuleName": "AddActionGroupsBySeverity", + "alertProcessingRule": { + "location": "Global", + "tags": {}, + "properties": { + "scopes": [ + "/subscriptions/subId1/resourceGroups/RGId1", + "/subscriptions/subId1/resourceGroups/RGId2" + ], + "conditions": [ + { + "field": "Severity", + "operator": "Equals", + "values": [ + "sev0", + "sev1" + ] + } + ], + "actions": [ + { + "actionType": "AddActionGroups", + "actionGroupIds": [ + "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1", + "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2" + ] + } + ], + "description": "Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups", + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-12T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-13T22:05:09Z" + }, + "properties": { + "scopes": [ + "/subscriptions/subId1/resourceGroups/RGId1", + "/subscriptions/subId1/resourceGroups/RGId2" + ], + "conditions": [ + { + "field": "Severity", + "operator": "Equals", + "values": [ + "sev0", + "sev1" + ] + } + ], + "actions": [ + { + "actionType": "AddActionGroups", + "actionGroupIds": [ + "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1", + "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2" + ] + } + ], + "description": "Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups", + "enabled": true + }, + "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupsBySeverity", + "type": "Microsoft.AlertsManagement/actionRules", + "name": "AddActionGroupsBySeverity", + "location": "Global", + "tags": {} + } + }, + "201": { + "body": { + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-12T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-13T22:05:09Z" + }, + "properties": { + "scopes": [ + "/subscriptions/subId1/resourceGroups/RGId1", + "/subscriptions/subId1/resourceGroups/RGId2" + ], + "conditions": [ + { + "field": "Severity", + "operator": "Equals", + "values": [ + "sev0", + "sev1" + ] + } + ], + "actions": [ + { + "actionType": "AddActionGroups", + "actionGroupIds": [ + "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1", + "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2" + ] + } + ], + "description": "Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups", + "enabled": true + }, + "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupsBySeverity", + "type": "Microsoft.AlertsManagement/actionRules", + "name": "AddActionGroupsBySeverity", + "location": "Global", + "tags": {} + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json new file mode 100644 index 000000000000..d3ecbafde24a --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "api-version": "2021-08-08-preview", + "subscriptionId": "subId1", + "resourceGroupName": "alertscorrelationrg", + "alertProcessingRuleName": "RemoveActionGroupsSpecificAlertRule", + "alertProcessingRule": { + "location": "Global", + "tags": {}, + "properties": { + "scopes": [ + "/subscriptions/subId1" + ], + "conditions": [ + { + "field": "AlertRuleId", + "operator": "Equals", + "values": [ + "/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName" + ] + } + ], + "actions": [ + { + "actionType": "RemoveAllActionGroups" + } + ], + "description": "Removes all ActionGroups from all Alerts that fire on above AlertRule", + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-11T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-12T22:05:09Z" + }, + "properties": { + "scopes": [ + "/subscriptions/subId1" + ], + "conditions": [ + { + "field": "AlertRuleId", + "operator": "Equals", + "values": [ + "/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName" + ] + } + ], + "actions": [ + { + "actionType": "RemoveAllActionGroups" + } + ], + "description": "Removes all ActionGroups from all Alerts that fire on above AlertRule", + "enabled": true + }, + "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsSpecificAlertRule", + "type": "Microsoft.AlertsManagement/actionRules", + "name": "RemoveActionGroupsSpecificAlertRule", + "location": "Global", + "tags": {} + } + }, + "201": { + "body": { + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-11T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-12T22:05:09Z" + }, + "properties": { + "scopes": [ + "/subscriptions/subId1" + ], + "conditions": [ + { + "field": "AlertRuleId", + "operator": "Equals", + "values": [ + "/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName" + ] + } + ], + "actions": [ + { + "actionType": "RemoveAllActionGroups" + } + ], + "description": "Removes all ActionGroups from all Alerts that fire on above AlertRule", + "enabled": true + }, + "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsSpecificAlertRule", + "type": "Microsoft.AlertsManagement/actionRules", + "name": "RemoveActionGroupsSpecificAlertRule", + "location": "Global", + "tags": {} + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_outside_business_hours.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_outside_business_hours.json new file mode 100644 index 000000000000..cda18eb1656a --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_outside_business_hours.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "api-version": "2021-08-08-preview", + "subscriptionId": "subId1", + "resourceGroupName": "alertscorrelationrg", + "alertProcessingRuleName": "RemoveActionGroupsOutsideBusinessHours", + "alertProcessingRule": { + "location": "Global", + "tags": {}, + "properties": { + "scopes": [ + "/subscriptions/subId1" + ], + "actions": [ + { + "actionType": "RemoveAllActionGroups" + } + ], + "schedule": { + "timeZone": "Eastern Standard Time", + "recurrences": [ + { + "recurrenceType": "Daily", + "startTime": "17:00:00", + "endTime": "09:00:00" + }, + { + "recurrenceType": "Weekly", + "daysOfWeek": [ + "Saturday", + "Sunday" + ] + } + ] + }, + "description": "Remove all ActionGroups outside business hours", + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-11T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-12T22:05:09Z" + }, + "properties": { + "scopes": [ + "/subscriptions/subId1" + ], + "actions": [ + { + "actionType": "RemoveAllActionGroups" + } + ], + "schedule": { + "timeZone": "Eastern Standard Time", + "recurrences": [ + { + "recurrenceType": "Daily", + "startTime": "17:00:00", + "endTime": "09:00:00" + }, + { + "recurrenceType": "Weekly", + "daysOfWeek": [ + "Saturday", + "Sunday" + ] + } + ] + }, + "description": "Remove all ActionGroups outside business hours", + "enabled": true + }, + "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsOutsideBusinessHours", + "type": "Microsoft.AlertsManagement/actionRules", + "name": "RemoveActionGroupsOutsideBusinessHours", + "location": "Global", + "tags": {} + } + }, + "201": { + "body": { + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-11T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-12T22:05:09Z" + }, + "properties": { + "scopes": [ + "/subscriptions/subId1" + ], + "actions": [ + { + "actionType": "RemoveAllActionGroups" + } + ], + "schedule": { + "timeZone": "Eastern Standard Time", + "recurrences": [ + { + "recurrenceType": "Daily", + "startTime": "17:00:00", + "endTime": "09:00:00" + }, + { + "recurrenceType": "Weekly", + "daysOfWeek": [ + "Saturday", + "Sunday" + ] + } + ] + }, + "description": "Remove all ActionGroups outside business hours", + "enabled": true + }, + "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsOutsideBusinessHours", + "type": "Microsoft.AlertsManagement/actionRules", + "name": "RemoveActionGroupsOutsideBusinessHours", + "location": "Global", + "tags": {} + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json new file mode 100644 index 000000000000..8b3dda899f52 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "api-version": "2021-08-08-preview", + "subscriptionId": "subId1", + "resourceGroupName": "alertscorrelationrg", + "alertProcessingRuleName": "RemoveActionGroupsRecurringMaintenance", + "alertProcessingRule": { + "location": "Global", + "tags": {}, + "properties": { + "scopes": [ + "/subscriptions/subId1/resourceGroups/RGId1", + "/subscriptions/subId1/resourceGroups/RGId2" + ], + "conditions": [ + { + "field": "TargetResourceType", + "operator": "Equals", + "values": [ + "microsoft.compute/virtualmachines" + ] + } + ], + "actions": [ + { + "actionType": "RemoveAllActionGroups" + } + ], + "schedule": { + "timeZone": "India Standard Time", + "recurrences": [ + { + "recurrenceType": "Weekly", + "startTime": "22:00:00", + "endTime": "04:00:00", + "daysOfWeek": [ + "Saturday", + "Sunday" + ] + } + ] + }, + "description": "Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance", + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-11T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-12T22:05:09Z" + }, + "properties": { + "scopes": [ + "/subscriptions/subId1/resourceGroups/RGId1", + "/subscriptions/subId1/resourceGroups/RGId2" + ], + "conditions": [ + { + "field": "TargetResourceType", + "operator": "Equals", + "values": [ + "microsoft.compute/virtualmachines" + ] + } + ], + "actions": [ + { + "actionType": "RemoveAllActionGroups" + } + ], + "schedule": { + "timeZone": "India Standard Time", + "recurrences": [ + { + "recurrenceType": "Weekly", + "startTime": "22:00:00", + "endTime": "04:00:00", + "daysOfWeek": [ + "Saturday", + "Sunday" + ] + } + ] + }, + "description": "Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance", + "enabled": true + }, + "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsRecurringMaintenance", + "type": "Microsoft.AlertsManagement/actionRules", + "name": "RemoveActionGroupsRecurringMaintenance", + "location": "Global", + "tags": {} + } + }, + "201": { + "body": { + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-11T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-12T22:05:09Z" + }, + "properties": { + "scopes": [ + "/subscriptions/subId1/resourceGroups/RGId1", + "/subscriptions/subId1/resourceGroups/RGId2" + ], + "conditions": [ + { + "field": "TargetResourceType", + "operator": "Equals", + "values": [ + "microsoft.compute/virtualmachines" + ] + } + ], + "actions": [ + { + "actionType": "RemoveAllActionGroups" + } + ], + "schedule": { + "timeZone": "India Standard Time", + "recurrences": [ + { + "recurrenceType": "Weekly", + "startTime": "22:00:00", + "endTime": "04:00:00", + "daysOfWeek": [ + "Saturday", + "Sunday" + ] + } + ] + }, + "description": "Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance", + "enabled": true + }, + "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsRecurringMaintenance", + "type": "Microsoft.AlertsManagement/actionRules", + "name": "RemoveActionGroupsRecurringMaintenance", + "location": "Global", + "tags": {} + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_specific_VM_one-off_maintenance_window.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_specific_VM_one-off_maintenance_window.json new file mode 100644 index 000000000000..ba95adcfeac0 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_specific_VM_one-off_maintenance_window.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2021-08-08-preview", + "subscriptionId": "subId1", + "resourceGroupName": "alertscorrelationrg", + "alertProcessingRuleName": "RemoveActionGroupsMaintenanceWindow", + "alertProcessingRule": { + "location": "Global", + "tags": {}, + "properties": { + "scopes": [ + "/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName" + ], + "actions": [ + { + "actionType": "RemoveAllActionGroups" + } + ], + "schedule": { + "effectiveFrom": "2021-04-15T18:00:00", + "effectiveUntil": "2021-04-15T20:00:00", + "timeZone": "Pacific Standard Time" + }, + "description": "Removes all ActionGroups from all Alerts on VMName during the maintenance window", + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-12T20:13:29Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-12T22:05:09Z" + }, + "properties": { + "scopes": [ + "/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName" + ], + "actions": [ + { + "actionType": "RemoveAllActionGroups" + } + ], + "schedule": { + "effectiveFrom": "2021-04-15T18:00:00", + "effectiveUntil": "2021-04-15T20:00:00", + "timeZone": "Pacific Standard Time" + }, + "description": "Removes all ActionGroups from all Alerts on VMName during the maintenance window", + "enabled": true + }, + "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsMaintenanceWindow", + "type": "Microsoft.AlertsManagement/actionRules", + "name": "RemoveActionGroupsMaintenanceWindow", + "location": "Global", + "tags": {} + } + }, + "201": { + "body": { + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-12T20:13:29Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-12T22:05:09Z" + }, + "properties": { + "scopes": [ + "/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName" + ], + "actions": [ + { + "actionType": "RemoveAllActionGroups" + } + ], + "schedule": { + "effectiveFrom": "2021-04-15T18:00:00", + "effectiveUntil": "2021-04-15T20:00:00", + "timeZone": "Pacific Standard Time" + }, + "description": "Removes all ActionGroups from all Alerts on VMName during the maintenance window", + "enabled": true + }, + "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsMaintenanceWindow", + "type": "Microsoft.AlertsManagement/actionRules", + "name": "RemoveActionGroupsMaintenanceWindow", + "location": "Global", + "tags": {} + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Delete.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Delete.json new file mode 100644 index 000000000000..7c7e622235a9 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-08-08-preview", + "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d", + "resourceGroupName": "alertscorrelationrg", + "alertProcessingRuleName": "DailySuppression" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_GetById.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_GetById.json new file mode 100644 index 000000000000..d19660c451ae --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_GetById.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "api-version": "2021-08-08-preview", + "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d", + "resourceGroupName": "alertscorrelationrg", + "alertProcessingRuleName": "DailySuppression" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression", + "type": "Microsoft.AlertsManagement/actionRules", + "name": "DailySuppression", + "location": "Global", + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-12T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-12T22:05:09Z" + }, + "properties": { + "scopes": [ + "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg" + ], + "conditions": [ + { + "field": "Severity", + "operator": "Equals", + "values": [ + "Sev0", + "Sev2" + ] + }, + { + "field": "MonitorService", + "operator": "Equals", + "values": [ + "Platform", + "Application Insights" + ] + }, + { + "field": "MonitorCondition", + "operator": "Equals", + "values": [ + "Fired" + ] + }, + { + "field": "TargetResourceType", + "operator": "NotEquals", + "values": [ + "Microsoft.Compute/VirtualMachines" + ] + } + ], + "schedule": { + "effectiveFrom": "2018-01-10T22:05:09", + "effectiveUntil": "2018-12-10T22:05:09", + "timeZone": "Pacific Standard Time", + "recurrences": [ + { + "recurrenceType": "Daily", + "startTime": "06:00:00", + "endTime": "14:00:00" + }, + { + "recurrenceType": "Weekly", + "startTime": "10:00:00", + "endTime": "20:00:00", + "daysOfWeek": [ + "Saturday", + "Sunday" + ] + } + ] + }, + "actions": [ + { + "actionType": "AddActionGroups", + "actionGroupIds": [ + "actiongGroup1", + "actiongGroup2" + ] + } + ], + "description": "Alert processing rule on resource group for daily and weekly scheduling", + "enabled": true + }, + "tags": {} + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_List_ResourceGroup.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_List_ResourceGroup.json new file mode 100644 index 000000000000..398cd5892286 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_List_ResourceGroup.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "api-version": "2021-08-08-preview", + "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d", + "resourceGroupName": "alertscorrelationrg" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://management.azure.com:443/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules?api-version=2021-08-08-preview&ctoken=%2bRID%3aPlwOAPHEGwB9UwEAAAAgCw%3d%3d%23RT%3a2%23TRC%3a500%23RTD%3aqtQyMDE4LTA2LTEyVDE1OjEyOjE1", + "value": [ + { + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-12T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-12T22:05:09Z" + }, + "properties": { + "scopes": [ + "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg" + ], + "conditions": [ + { + "field": "Severity", + "operator": "Equals", + "values": [ + "Sev0", + "Sev2" + ] + }, + { + "field": "MonitorService", + "operator": "Equals", + "values": [ + "Platform", + "Application Insights" + ] + }, + { + "field": "TargetResourceType", + "operator": "NotEquals", + "values": [ + "Microsoft.Compute/VirtualMachines" + ] + } + ], + "schedule": { + "effectiveFrom": "2018-09-12T06:00:00", + "effectiveUntil": "2018-09-20T14:00:00", + "timeZone": "Pacific Standard Time", + "recurrences": [ + { + "recurrenceType": "Daily", + "startTime": "06:00:00", + "endTime": "14:00:00" + } + ] + }, + "actions": [ + { + "actionType": "RemoveAllActionGroups" + } + ], + "description": "Alert processing rule on resource group for daily suppression", + "enabled": true + }, + "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression", + "type": "Microsoft.AlertsManagement/actionRules", + "name": "DailySuppression", + "location": "Global", + "tags": {} + }, + { + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-12T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-12T22:05:09Z" + }, + "properties": { + "scopes": [ + "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.Compute/VirtualMachines/testResource" + ], + "conditions": [ + { + "field": "MonitorCondition", + "operator": "Equals", + "values": [ + "Fired" + ] + }, + { + "field": "Description", + "operator": "Contains", + "values": [ + "Percentage CPU greater than 80%", + "Metric alert on resource foo" + ] + }, + { + "field": "AlertContext", + "operator": "DoesNotContain", + "values": [ + "testresource", + "foo" + ] + } + ], + "actions": [ + { + "actionType": "AddActionGroups", + "actionGroupIds": [ + "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.insights/actiongroups/testAG" + ] + } + ], + "description": "Alert processing rule on resource group for sending email", + "enabled": true + }, + "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/WeeklySuppression", + "type": "Microsoft.AlertsManagement/actionRules", + "name": "WeeklySuppression", + "location": "Global", + "tags": {} + } + ] + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_List_Subscription.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_List_Subscription.json new file mode 100644 index 000000000000..8a813b34c528 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_List_Subscription.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "api-version": "2021-08-08-preview", + "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://management.azure.com:443/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/providers/Microsoft.AlertsManagement/actionRules?api-version=2021-08-08-preview&ctoken=%2bRID%3aPlwOAPHEGwB9UwEAAAAgCw%3d%3d%23RT%3a2%23TRC%3a500%23RTD%3aqtQyMDE4LTA2LTEyVDE1OjEyOjE1", + "value": [ + { + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-12T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-12T22:05:09Z" + }, + "properties": { + "scopes": [ + "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg" + ], + "conditions": [ + { + "field": "Severity", + "operator": "Equals", + "values": [ + "Sev0", + "Sev2" + ] + }, + { + "field": "MonitorService", + "operator": "Equals", + "values": [ + "Platform", + "Application Insights" + ] + }, + { + "field": "TargetResourceType", + "operator": "NotEquals", + "values": [ + "Microsoft.Compute/VirtualMachines" + ] + } + ], + "schedule": { + "effectiveFrom": "2018-01-10T22:05:09", + "effectiveUntil": "2018-12-10T22:05:09", + "timeZone": "Pacific Standard Time", + "recurrences": [ + { + "recurrenceType": "Daily", + "startTime": "06:00:00", + "endTime": "14:00:00" + } + ] + }, + "actions": [ + { + "actionType": "RemoveAllActionGroups" + } + ], + "description": "Alert processing rule on resource group for daily suppression", + "enabled": true + }, + "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression", + "type": "Microsoft.AlertsManagement/actionRules", + "name": "DailySuppression", + "location": "Global", + "tags": {} + }, + { + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-12T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-12T22:05:09Z" + }, + "properties": { + "scopes": [ + "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.Compute/VirtualMachines/testResource" + ], + "conditions": [ + { + "field": "MonitorCondition", + "operator": "Equals", + "values": [ + "Fired" + ] + }, + { + "field": "Description", + "operator": "Contains", + "values": [ + "Percentage CPU greater than 80%", + "Metric alert on resource foo" + ] + } + ], + "description": "Alert processing rule on resource group for adding action group", + "enabled": true, + "actions": [ + { + "actionType": "AddActionGroups", + "actionGroupIds": [ + "actiongGroup1" + ] + } + ] + }, + "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/WeeklySuppression", + "type": "Microsoft.AlertsManagement/actionRules", + "name": "WeeklySuppression", + "location": "Global", + "tags": {} + } + ] + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Patch.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Patch.json new file mode 100644 index 000000000000..6399c65ed87f --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Patch.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2021-08-08-preview", + "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d", + "resourceGroupName": "alertscorrelationrg", + "alertProcessingRuleName": "WeeklySuppression", + "alertProcessingRulePatch": { + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "enabled": false + } + } + }, + "responses": { + "200": { + "body": { + "systemData": { + "createdBy": "abc@microsoft.com", + "createdByType": "User", + "createdAt": "2018-06-12T22:05:09Z", + "lastModifiedBy": "xyz@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-06-12T22:05:09Z" + }, + "properties": { + "scopes": [ + "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg" + ], + "conditions": [ + { + "field": "Severity", + "operator": "Equals", + "values": [ + "Sev0", + "Sev2" + ] + }, + { + "field": "MonitorService", + "operator": "Equals", + "values": [ + "Platform", + "Application Insights" + ] + }, + { + "field": "TargetResourceType", + "operator": "NotEquals", + "values": [ + "Microsoft.Compute/VirtualMachines" + ] + } + ], + "schedule": { + "effectiveFrom": "2018-12-10T22:05:09", + "effectiveUntil": "2018-12-05T22:05:09", + "timeZone": "Pacific Standard Time", + "recurrences": [ + { + "recurrenceType": "Weekly", + "startTime": "06:00:00", + "endTime": "14:00:00", + "daysOfWeek": [ + "Tuesday", + "Friday" + ] + } + ] + }, + "actions": [ + { + "actionType": "RemoveAllActionGroups" + } + ], + "description": "Alert processing rule on resource group for weekly suppression", + "enabled": false + }, + "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/WeeklySuppression", + "type": "Microsoft.AlertsManagement/actionRules", + "name": "WeeklySuppression", + "location": "Global", + "tags": { + "key1": "value1", + "key2": "value2" + } + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/readme.go.md b/specification/alertsmanagement/resource-manager/readme.go.md index 25442dc4e52b..fe16ad5f0335 100644 --- a/specification/alertsmanagement/resource-manager/readme.go.md +++ b/specification/alertsmanagement/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: alertsmanagement clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/alertsmanagement/armalertsmanagement +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) batch: diff --git a/specification/alertsmanagement/resource-manager/readme.md b/specification/alertsmanagement/resource-manager/readme.md index faa8457d3a46..91c8cb5aadf7 100644 --- a/specification/alertsmanagement/resource-manager/readme.md +++ b/specification/alertsmanagement/resource-manager/readme.md @@ -41,11 +41,20 @@ directive: title: AlertsManagementClient description: AlertsManagement Client openapi-type: arm -tag: package-2019-06-preview +tag: package-preview-2021-08 ``` +### Tag: package-preview-2021-08 +These settings apply only when `--tag=package-preview-2021-08` is specified on the command line. + +```yaml $(tag) == 'package-preview-2021-08' +input-file: + - Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertProcessingRules.json + - Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json + - Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json +``` ### Tag: package-2021-04-only @@ -57,16 +66,6 @@ input-file: - Microsoft.AlertsManagement/stable/2021-04-01/SmartDetectorAlertRulesApi.json ``` -### Tag: package-preview-2021-08 - -These settings apply only when `--tag=package-preview-2021-08` is specified on the command line. - -```yaml $(tag) == 'package-preview-2021-08' -input-file: - - Microsoft.AlertsManagement/preview/2021-08-08-preview/ActionRules.json - - Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertsManagement.json -``` - ### Tag: package-preview-2021-01 These settings apply only when `--tag=package-preview-2021-01` is specified on the command line. @@ -147,7 +146,15 @@ input-file: - Microsoft.AlertsManagement/preview/2020-08-04-preview/ResourceHealthAlertRules.json ``` ---- +### Tag: package-2021-07-22-preview + + +These settings apply only when `--tag=package-2021-07-22` is specified on the command line. + +``` yaml $(tag) == 'package-2021-07-22-preview' +input-file: +- Microsoft.AlertsManagement/preview/2021-07-22-preview/PrometheusRuleGroups.json +``` # Code Generation @@ -162,6 +169,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-libraries-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-trenton - repo: azure-resource-manager-schemas ``` diff --git a/specification/analysisservices/resource-manager/readme.go.md b/specification/analysisservices/resource-manager/readme.go.md index 02973b920b9e..86cdc0bad250 100644 --- a/specification/analysisservices/resource-manager/readme.go.md +++ b/specification/analysisservices/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: analysisservices clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/analysisservices/armanalysisservices +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/analysisservices/resource-manager/readme.md b/specification/analysisservices/resource-manager/readme.md index 37c2cb8c62f6..cc9aed617dc1 100644 --- a/specification/analysisservices/resource-manager/readme.md +++ b/specification/analysisservices/resource-manager/readme.md @@ -79,6 +79,7 @@ This is not used by Autorest itself. swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimanagement.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimanagement.json index b5c09291b632..247c505fe581 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimanagement.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimanagement.json @@ -607,17 +607,6 @@ "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", @@ -765,6 +754,16 @@ "minLength": 1, "maxLength": 80, "x-ms-parameter-location": "method" + }, + "SchemaIdParameter": { + "name": "schemaId", + "in": "path", + "required": true, + "type": "string", + "description": "Schema id identifier. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 80, + "x-ms-parameter-location": "method" } } } diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimapis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimapis.json index 95f12fcad9ee..7bb04a782406 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimapis.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimapis.json @@ -2184,7 +2184,7 @@ "200": { "description": "Apis Schema Collection.", "schema": { - "$ref": "./definitions.json#/definitions/SchemaCollection" + "$ref": "./definitions.json#/definitions/ApiSchemaCollection" } }, "default": { @@ -2284,7 +2284,7 @@ "200": { "description": "Api Schema information.", "schema": { - "$ref": "./definitions.json#/definitions/SchemaContract" + "$ref": "./definitions.json#/definitions/ApiSchemaContract" }, "headers": { "ETag": { @@ -2330,7 +2330,7 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/SchemaContract" + "$ref": "./definitions.json#/definitions/ApiSchemaContract" }, "description": "The schema contents to apply." }, @@ -2351,7 +2351,7 @@ "201": { "description": "Api schema configuration was successfully created.", "schema": { - "$ref": "./definitions.json#/definitions/SchemaContract" + "$ref": "./definitions.json#/definitions/ApiSchemaContract" }, "headers": { "ETag": { @@ -2363,7 +2363,7 @@ "200": { "description": "Api schema configuration of the tenant was successfully updated.", "schema": { - "$ref": "./definitions.json#/definitions/SchemaContract" + "$ref": "./definitions.json#/definitions/ApiSchemaContract" }, "headers": { "ETag": { diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimschema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimschema.json new file mode 100644 index 000000000000..f12b31022fce --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimschema.json @@ -0,0 +1,328 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on Schema entity in Azure API Management deployment.", + "version": "2021-04-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.ApiManagement/service/{serviceName}/schemas": { + "get": { + "tags": [ + "Schema" + ], + "operationId": "Schema_ListByService", + "description": "Lists a collection of schemas registered with service instance.", + "x-ms-examples": { + "ApiManagementListSchemas": { + "$ref": "./examples/ApiManagementListSchemas.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "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 |
" + }, + { + "$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 Schema entities.", + "schema": { + "$ref": "./definitions.json#/definitions/SchemaCollection" + } + }, + "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/SchemaContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/schemas/{schemaId}": { + "head": { + "tags": [ + "Schema" + ], + "operationId": "Schema_GetEntityTag", + "description": "Gets the entity state (Etag) version of the Schema specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadApi": { + "$ref": "./examples/ApiManagementHeadSchema.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SchemaIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Schema" + ], + "operationId": "Schema_Get", + "description": "Gets the details of the Schema specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetSchema1": { + "$ref": "./examples/ApiManagementGetSchema1.json" + }, + "ApiManagementGetSchema2": { + "$ref": "./examples/ApiManagementGetSchema2.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SchemaIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Schema entity.", + "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" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Schema" + ], + "operationId": "Schema_CreateOrUpdate", + "description": "Creates new or updates existing specified Schema of the API Management service instance.", + "x-ms-examples": { + "ApiManagementCreateSchema1": { + "$ref": "./examples/ApiManagementCreateSchema1.json" + }, + "ApiManagementCreateSchema2": { + "$ref": "./examples/ApiManagementCreateSchema2.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SchemaIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/SchemaContract" + }, + "description": "Create or update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The new Schema 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.json#/definitions/SchemaContract" + } + }, + "200": { + "description": "The Schema 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/SchemaContract" + } + }, + "202": { + "description": "Accepted the change when updating the service." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Schema" + ], + "operationId": "Schema_Delete", + "description": "Deletes specific Schema.", + "x-ms-examples": { + "ApiManagementDeleteSchema": { + "$ref": "./examples/ApiManagementDeleteSchema.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SchemaIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The Schema was successfully deleted." + }, + "204": { + "description": "The Schema was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/definitions.json index 41161235a43b..353ef951ed96 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/definitions.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/definitions.json @@ -4973,12 +4973,12 @@ ], "description": "Parameters supplied to the Save Tenant Configuration operation." }, - "SchemaCollection": { + "ApiSchemaCollection": { "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/SchemaContract" + "$ref": "#/definitions/ApiSchemaContract" }, "description": "API Schema Contract value.", "readOnly": true @@ -4996,12 +4996,12 @@ }, "description": "The response of the list schema operation." }, - "SchemaContract": { + "ApiSchemaContract": { "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/SchemaContractProperties", - "description": "Properties of the Schema." + "$ref": "#/definitions/ApiSchemaContractProperties", + "description": "Properties of the API Schema." } }, "allOf": [ @@ -5009,9 +5009,9 @@ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" } ], - "description": "Schema Contract details." + "description": "API Schema Contract details." }, - "SchemaContractProperties": { + "ApiSchemaContractProperties": { "properties": { "contentType": { "type": "string", @@ -5019,8 +5019,8 @@ }, "document": { "x-ms-client-flatten": true, - "$ref": "#/definitions/SchemaDocumentProperties", - "description": "Create or update Properties of the Schema Document." + "$ref": "#/definitions/ApiSchemaDocumentProperties", + "description": "Create or update Properties of the API Schema Document." } }, "required": [ @@ -5028,7 +5028,7 @@ ], "description": "API Schema create or update contract Properties." }, - "SchemaDocumentProperties": { + "ApiSchemaDocumentProperties": { "properties": { "value": { "type": "string", @@ -5036,13 +5036,101 @@ }, "definitions": { "type": "object", - "description": "Types definitions. Used for OpenAPI v2 (Swagger) schemas only, null otherwise." + "description": "Types definitions. Used for Swagger/OpenAPI v1 schemas only, null otherwise." }, "components": { "type": "object", - "description": "Types definitions. Used for OpenAPI v3 schemas only, null otherwise." + "description": "Types definitions. Used for Swagger/OpenAPI v2/v3 schemas only, null otherwise." + } + }, + "description": "Api Schema Document Properties." + }, + "SchemaCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SchemaContract" + }, + "description": "Schema Contract value.", + "readOnly": true + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number." + }, + "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": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Schema Contract details." + }, + "SchemaContractProperties": { + "properties": { + "schemaType": { + "type": "string", + "description": "Schema Type. Immutable.", + "enum": [ + "xml", + "json" + ], + "x-ms-client-name": "SchemaType", + "x-ms-enum": { + "name": "SchemaType", + "modelAsString": true, + "values": [ + { + "value": "xml", + "description": "Xml schema type.", + "name": "Xml" + }, + { + "value": "json", + "description": "Json schema type.", + "name": "Json" + } + ] + } + }, + "description": { + "type": "string", + "description": "Free-form schema entity description." + }, + "value": { + "type": "string", + "description": "Json-encoded string for non json-based schema." + }, + "document": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SchemaDocumentProperties", + "description": "Schema document object for json-based schema formats(e.g. json schema)." + } + }, + "required": [ + "schemaType" + ], + "description": "Schema create or update contract Properties." + }, + "SchemaDocumentProperties": { + "type": "object", "description": "Schema Document Properties." }, "SubscriptionCollection": { diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementCreateSchema1.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementCreateSchema1.json new file mode 100644 index 000000000000..10722840ce6f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementCreateSchema1.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-04-01-preview", + "subscriptionId": "subid", + "schemaId": "schema1", + "parameters": { + "properties": { + "description": "sample schema description", + "schemaType": "xml", + "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n" + } + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema1?api-version=2021-04-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema1", + "type": "Microsoft.ApiManagement/service/schemas", + "name": "schema1", + "properties": { + "description": "sample schema description", + "schemaType": "xml", + "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema1", + "type": "Microsoft.ApiManagement/service/schemas", + "name": "schema1", + "properties": { + "description": "sample schema description", + "schemaType": "xml", + "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementCreateSchema2.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementCreateSchema2.json new file mode 100644 index 000000000000..16c1853f34cd --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementCreateSchema2.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-04-01-preview", + "subscriptionId": "subid", + "schemaId": "schema1", + "parameters": { + "properties": { + "description": "sample schema description", + "schemaType": "json", + "document": { + "$id": "https://example.com/person.schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "Person", + "type": "object", + "properties": { + "firstName": { + "type": "string", + "description": "The person's first name." + }, + "lastName": { + "type": "string", + "description": "The person's last name." + }, + "age": { + "description": "Age in years which must be equal to or greater than zero.", + "type": "integer", + "minimum": 0 + } + } + } + } + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema1?api-version=2021-04-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema1", + "type": "Microsoft.ApiManagement/service/schemas", + "name": "schema1", + "properties": { + "description": "sample schema description", + "schemaType": "json", + "document": { + "$id": "https://example.com/person.schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "Person", + "type": "object", + "properties": { + "firstName": { + "type": "string", + "description": "The person's first name." + }, + "lastName": { + "type": "string", + "description": "The person's last name." + }, + "age": { + "description": "Age in years which must be equal to or greater than zero.", + "type": "integer", + "minimum": 0 + } + } + } + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema1", + "type": "Microsoft.ApiManagement/service/schemas", + "name": "schema1", + "properties": { + "description": "sample schema description", + "schemaType": "json", + "document": { + "$id": "https://example.com/person.schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "Person", + "type": "object", + "properties": { + "firstName": { + "type": "string", + "description": "The person's first name." + }, + "lastName": { + "type": "string", + "description": "The person's last name." + }, + "age": { + "description": "Age in years which must be equal to or greater than zero.", + "type": "integer", + "minimum": 0 + } + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementDeleteSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementDeleteSchema.json new file mode 100644 index 000000000000..fea4f1e3a306 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementDeleteSchema.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-04-01-preview", + "subscriptionId": "subid", + "schemaId": "schema1", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementGetSchema1.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementGetSchema1.json new file mode 100644 index 000000000000..787f1176176c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementGetSchema1.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-04-01-preview", + "subscriptionId": "subid", + "schemaId": "schema1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema1", + "type": "Microsoft.ApiManagement/service/schemas", + "name": "schema1", + "properties": { + "description": "sample schema description", + "schemaType": "xml", + "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementGetSchema2.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementGetSchema2.json new file mode 100644 index 000000000000..668296771099 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementGetSchema2.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-04-01-preview", + "subscriptionId": "subid", + "schemaId": "schema2" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema2", + "type": "Microsoft.ApiManagement/service/schemas", + "name": "schema2", + "properties": { + "description": "sample schema description", + "schemaType": "json", + "document": { + "$id": "https://example.com/person.schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "Person", + "type": "object", + "properties": { + "firstName": { + "type": "string", + "description": "The person's first name." + }, + "lastName": { + "type": "string", + "description": "The person's last name." + }, + "age": { + "description": "Age in years which must be equal to or greater than zero.", + "type": "integer", + "minimum": 0 + } + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementHeadSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementHeadSchema.json new file mode 100644 index 000000000000..9ef6e610f210 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementHeadSchema.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-04-01-preview", + "subscriptionId": "subid", + "schemaId": "myschema" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementListSchemas.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementListSchemas.json new file mode 100644 index 000000000000..d6f72dc70635 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementListSchemas.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-04-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema1", + "type": "Microsoft.ApiManagement/service/schemas", + "name": "schema1", + "properties": { + "description": "sample schema description", + "schemaType": "xml", + "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema2", + "type": "Microsoft.ApiManagement/service/schemas", + "name": "schema2", + "properties": { + "description": "sample schema description", + "schemaType": "json", + "document": { + "$id": "https://example.com/person.schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "Person", + "type": "object", + "properties": { + "firstName": { + "type": "string", + "description": "The person's first name." + }, + "lastName": { + "type": "string", + "description": "The person's last name." + }, + "age": { + "description": "Age in years which must be equal to or greater than zero.", + "type": "integer", + "minimum": 0 + } + } + } + } + } + ], + "count": 2, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimanagement.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimanagement.json new file mode 100644 index 000000000000..2903909d050f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimanagement.json @@ -0,0 +1,770 @@ +{ + "swagger": "2.0", + "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": "2021-08-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": {}, + "definitions": { + "ErrorFieldContract": { + "properties": { + "code": { + "type": "string", + "description": "Property level error code." + }, + "message": { + "type": "string", + "description": "Human-readable representation of property-level error." + }, + "target": { + "type": "string", + "description": "Property name." + } + }, + "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", + "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response." + }, + "message": { + "type": "string", + "description": "Human-readable representation of the error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ErrorFieldContract" + }, + "description": "The list of invalid fields send in request, in case of validation error." + } + }, + "description": "Error Body contract." + }, + "RegionContract": { + "properties": { + "name": { + "type": "string", + "description": "Region name.", + "readOnly": true + }, + "isMasterRegion": { + "description": "whether Region is the master region.", + "type": "boolean" + }, + "isDeleted": { + "description": "whether Region is deleted.", + "type": "boolean" + } + }, + "description": "Region profile." + }, + "RegionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RegionContract" + }, + "description": "Lists of Regions." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Lists Regions operation response details." + } + }, + "parameters": { + "AccessParameter": { + "name": "accessName", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "access", + "gitAccess" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "AccessIdName" + }, + "description": "The identifier of the Access configuration.", + "x-ms-parameter-location": "method" + }, + "SettingsParameter": { + "name": "settingsType", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "public" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "settingsTypeName" + }, + "description": "The identifier of the settings.", + "x-ms-parameter-location": "method" + }, + "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, + "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" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request." + }, + "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": [ + "portal", + "developerPortal" + ], + "x-ms-enum": { + "name": "AppType", + "modelAsString": true, + "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" + }, + "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, + "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": { + "name": "If-Match", + "in": "header", + "required": false, + "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" + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimapis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimapis.json new file mode 100644 index 000000000000..3e20bc1d35a8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimapis.json @@ -0,0 +1,4522 @@ +{ + "swagger": "2.0", + "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": "2021-08-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.ApiManagement/service/{serviceName}/apis": { + "get": { + "tags": [ + "Api" + ], + "operationId": "Api_ListByService", + "description": "Lists all APIs of the API Management service instance.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-create-apis" + }, + "x-ms-examples": { + "ApiManagementListApis": { + "$ref": "./examples/ApiManagementListApis.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "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 |
| 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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "name": "tags", + "in": "query", + "required": false, + "type": "string", + "description": "Include tags in the response." + }, + { + "name": "expandApiVersionSet", + "in": "query", + "required": 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.json#/definitions/ApiCollection" + } + }, + "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/ApiContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}": { + "head": { + "tags": [ + "Api" + ], + "operationId": "Api_GetEntityTag", + "description": "Gets the entity state (Etag) version of the API specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadApi": { + "$ref": "./examples/ApiManagementHeadApi.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified API 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "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" + ], + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified API entity.", + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "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" + }, + "ApiManagementCreateApiUsingWadlImport": { + "$ref": "./examples/ApiManagementCreateApiUsingWadlImport.json" + }, + "ApiManagementCreateSoapToRestApiUsingWsdlImport": { + "$ref": "./examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json" + }, + "ApiManagementCreateSoapPassThroughApiUsingWsdlImport": { + "$ref": "./examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json" + }, + "ApiManagementCreateApi": { + "$ref": "./examples/ApiManagementCreateApi.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" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/ApiCreateOrUpdateParameter" + }, + "description": "Create or update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "API was successfully created.", + "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" + } + } + }, + "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.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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "Api" + ], + "operationId": "Api_Update", + "description": "Updates the specified API of the API Management service instance.", + "x-ms-examples": { + "ApiManagementUpdateApi": { + "$ref": "./examples/ApiManagementUpdateApi.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/ApiUpdateContract" + }, + "description": "API Update Contract parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Api" + ], + "operationId": "Api_Delete", + "description": "Deletes the specified API of the API Management service instance.", + "x-ms-examples": { + "ApiManagementDeleteApi": { + "$ref": "./examples/ApiManagementDeleteApi.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "name": "deleteRevisions", + "in": "query", + "required": false, + "type": "boolean", + "description": "Delete all revisions of the Api." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The API was successfully deleted." + }, + "204": { + "description": "The API 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}/revisions": { + "get": { + "tags": [ + "ApiRevision" + ], + "operationId": "ApiRevision_ListByService", + "description": "Lists all revisions of an API.", + "x-ms-examples": { + "ApiManagementListApiRevisions": { + "$ref": "./examples/ApiManagementListApiRevisions.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "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.json#/definitions/ApiRevisionCollection" + } + }, + "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/ApiRevisionContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases": { + "get": { + "tags": [ + "ApiRelease" + ], + "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": { + "$ref": "./examples/ApiManagementListApiReleases.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "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.json#/definitions/ApiReleaseCollection" + } + }, + "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/ApiReleaseContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}": { + "head": { + "tags": [ + "ApiRelease" + ], + "operationId": "ApiRelease_GetEntityTag", + "description": "Returns the etag of an API release.", + "x-ms-examples": { + "ApiManagementHeadApiRelease": { + "$ref": "./examples/ApiManagementHeadApiRelease.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "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.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "ApiRelease" + ], + "operationId": "ApiRelease_Get", + "description": "Returns the details of an API release.", + "x-ms-examples": { + "ApiManagementGetApiRelease": { + "$ref": "./examples/ApiManagementGetApiRelease.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation returns the details of an API Release.", + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ApiRelease" + ], + "operationId": "ApiRelease_CreateOrUpdate", + "description": "Creates a new Release for the API.", + "x-ms-examples": { + "ApiManagementCreateApiRelease": { + "$ref": "./examples/ApiManagementCreateApiRelease.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$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.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.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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "ApiRelease" + ], + "operationId": "ApiRelease_Update", + "description": "Updates the details of the release of the API specified by its identifier.", + "x-ms-examples": { + "ApiManagementUpdateApiRelease": { + "$ref": "./examples/ApiManagementUpdateApiRelease.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$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": { + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ApiRelease" + ], + "operationId": "ApiRelease_Delete", + "description": "Deletes the specified release in the API.", + "x-ms-examples": { + "ApiManagementDeleteApiRelease": { + "$ref": "./examples/ApiManagementDeleteApiRelease.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "API release successfully removed" + }, + "204": { + "description": "API release successfully removed by previous request or does not exist" + }, + "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": { + "get": { + "tags": [ + "ApiOperation" + ], + "operationId": "ApiOperation_ListByApi", + "description": "Lists a collection of the operations for the specified API.", + "x-ms-examples": { + "ApiManagementListApiOperations": { + "$ref": "./examples/ApiManagementListApiOperations.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 |
| 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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "name": "tags", + "in": "query", + "required": false, + "type": "string", + "description": "Include tags in the response." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A collection of operation summary entities at the API level.", + "schema": { + "$ref": "./definitions.json#/definitions/OperationCollection" + } + }, + "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/OperationContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}": { + "head": { + "tags": [ + "ApiOperation" + ], + "operationId": "ApiOperation_GetEntityTag", + "description": "Gets the entity state (Etag) version of the API operation specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadApiOperation": { + "$ref": "./examples/ApiManagementHeadApiOperation.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified API operation 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "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": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Operation entity.", + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ApiOperation" + ], + "operationId": "ApiOperation_CreateOrUpdate", + "description": "Creates a new operation in the API or updates an existing one.", + "x-ms-examples": { + "ApiManagementCreateApiOperation": { + "$ref": "./examples/ApiManagementCreateApiOperation.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/OperationContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Operation was successfully created.", + "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" + } + } + }, + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "ApiOperation" + ], + "operationId": "ApiOperation_Update", + "description": "Updates the details of the operation in the API specified by its identifier.", + "x-ms-examples": { + "ApiManagementUpdateApiOperation": { + "$ref": "./examples/ApiManagementUpdateApiOperation.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/OperationUpdateContract" + }, + "description": "API Operation Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ApiOperation" + ], + "operationId": "ApiOperation_Delete", + "description": "Deletes the specified operation in the API.", + "x-ms-examples": { + "ApiManagementDeleteApiOperation": { + "$ref": "./examples/ApiManagementDeleteApiOperation.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "API operation successfully removed" + }, + "204": { + "description": "API operation successfully removed by previous request or does not exist" + }, + "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}/policies": { + "get": { + "tags": [ + "ApiOperationPolicy" + ], + "operationId": "ApiOperationPolicy_ListByOperation", + "description": "Get the list of policy configuration at the API Operation level.", + "x-ms-examples": { + "ApiManagementListApiOperationPolicies": { + "$ref": "./examples/ApiManagementListApiOperationPolicies.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Api Operations Policy Collection.", + "schema": { + "$ref": "./definitions.json#/definitions/PolicyCollection" + } + }, + "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}/policies/{policyId}": { + "head": { + "tags": [ + "ApiOperationPolicy" + ], + "operationId": "ApiOperationPolicy_GetEntityTag", + "description": "Gets the entity state (Etag) version of the API operation policy specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadApiOperationPolicy": { + "$ref": "./examples/ApiManagementHeadApiOperationPolicy.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified API operation 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.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "ApiOperationPolicy" + ], + "operationId": "ApiOperationPolicy_Get", + "description": "Get the policy configuration at the API Operation level.", + "x-ms-examples": { + "ApiManagementGetApiOperationPolicy": { + "$ref": "./examples/ApiManagementGetApiOperationPolicy.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyExportFormat" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Api Operation Policy information.", + "schema": { + "$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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ApiOperationPolicy" + ], + "operationId": "ApiOperationPolicy_CreateOrUpdate", + "description": "Creates or updates policy configuration for the API Operation level.", + "x-ms-examples": { + "ApiManagementCreateApiOperationPolicy": { + "$ref": "./examples/ApiManagementCreateApiOperationPolicy.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/PolicyContract" + }, + "description": "The policy contents to apply." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Api Operation policy configuration was successfully created.", + "schema": { + "$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": "./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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ApiOperationPolicy" + ], + "operationId": "ApiOperationPolicy_Delete", + "description": "Deletes the policy configuration at the Api Operation.", + "x-ms-examples": { + "ApiManagementDeleteApiOperationPolicy": { + "$ref": "./examples/ApiManagementDeleteApiOperationPolicy.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Policy successfully removed" + }, + "204": { + "description": "Policy successfully removed by previous request or does not exist" + }, + "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": [ + "ApiOperationTag" + ], + "operationId": "Tag_ListByOperation", + "description": "Lists all Tags associated with the Operation.", + "x-ms-examples": { + "ApiManagementListApiOperationTags": { + "$ref": "./examples/ApiManagementListApiOperationTags.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" + }, + { + "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 Operation entity.", + "schema": { + "$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.json#/definitions/TagContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags/{tagId}": { + "head": { + "tags": [ + "ApiOperationTag" + ], + "operationId": "Tag_GetEntityStateByOperation", + "description": "Gets the entity state version of the tag specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadApiOperationTag": { + "$ref": "./examples/ApiManagementHeadApiOperationTag.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" + }, + { + "$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" + } + } + } + }, + "get": { + "tags": [ + "ApiOperationTag" + ], + "operationId": "Tag_GetByOperation", + "description": "Get tag associated with the Operation.", + "x-ms-examples": { + "ApiManagementGetApiOperationTag": { + "$ref": "./examples/ApiManagementGetApiOperationTag.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" + }, + { + "$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" + } + } + } + }, + "put": { + "tags": [ + "ApiOperationTag" + ], + "operationId": "Tag_AssignToOperation", + "description": "Assign tag to the Operation.", + "x-ms-examples": { + "ApiManagementCreateApiOperationTag": { + "$ref": "./examples/ApiManagementCreateApiOperationTag.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Tag was assigned to the Operation.", + "schema": { + "$ref": "./definitions.json#/definitions/TagContract" + } + }, + "200": { + "description": "Tag is already assigned to the Operation.", + "schema": { + "$ref": "./definitions.json#/definitions/TagContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ApiOperationTag" + ], + "operationId": "Tag_DetachFromOperation", + "description": "Detach the tag from the Operation.", + "x-ms-examples": { + "ApiManagementDeleteApiOperationTag": { + "$ref": "./examples/ApiManagementDeleteApiOperationTag.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/products": { + "get": { + "tags": [ + "ApiProduct" + ], + "operationId": "ApiProduct_ListByApis", + "description": "Lists all Products, which the API is part of.", + "x-ms-examples": { + "ApiManagementListApiProducts": { + "$ref": "./examples/ApiManagementListApiProducts.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "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/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 products which have the Api entity.", + "schema": { + "$ref": "./definitions.json#/definitions/ProductCollection" + } + }, + "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/ProductContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies": { + "get": { + "tags": [ + "ApiPolicy" + ], + "operationId": "ApiPolicy_ListByApi", + "description": "Get the policy configuration at the API level.", + "x-ms-examples": { + "ApiManagementListApiPolicies": { + "$ref": "./examples/ApiManagementListApiPolicies.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Apis Policy Collection.", + "schema": { + "$ref": "./definitions.json#/definitions/PolicyCollection" + } + }, + "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}/policies/{policyId}": { + "head": { + "tags": [ + "ApiPolicy" + ], + "operationId": "ApiPolicy_GetEntityTag", + "description": "Gets the entity state (Etag) version of the API policy specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadApiPolicy": { + "$ref": "./examples/ApiManagementHeadApiPolicy.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "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.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "ApiPolicy" + ], + "operationId": "ApiPolicy_Get", + "description": "Get the policy configuration at the API level.", + "x-ms-examples": { + "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" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyExportFormat" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Api Policy information.", + "schema": { + "$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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ApiPolicy" + ], + "operationId": "ApiPolicy_CreateOrUpdate", + "description": "Creates or updates policy configuration for the API.", + "x-ms-examples": { + "ApiManagementCreateApiPolicy": { + "$ref": "./examples/ApiManagementCreateApiPolicy.json" + }, + "ApiManagementCreateApiPolicyNonXmlEncoded": { + "$ref": "./examples/ApiManagementCreateApiPolicyNonXmlEncoded.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/PolicyContract" + }, + "description": "The policy contents to apply." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Api policy configuration was successfully created.", + "schema": { + "$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 policy configuration of the tenant was successfully updated.", + "schema": { + "$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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ApiPolicy" + ], + "operationId": "ApiPolicy_Delete", + "description": "Deletes the policy configuration at the Api.", + "x-ms-examples": { + "ApiManagementDeleteApiPolicy": { + "$ref": "./examples/ApiManagementDeleteApiPolicy.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the policy configuration at the API level." + }, + "204": { + "description": "Successfully deleted the policy configuration at the API level." + }, + "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}/schemas": { + "get": { + "tags": [ + "ApiSchema" + ], + "operationId": "ApiSchema_ListByApi", + "description": "Get the schema configuration at the API level.", + "x-ms-examples": { + "ApiManagementListApiSchemas": { + "$ref": "./examples/ApiManagementListApiSchemas.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 |
|-------------|-------------|-------------|-------------|
| contentType | 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": "Apis Schema Collection.", + "schema": { + "$ref": "./definitions.json#/definitions/SchemaCollection" + } + }, + "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}/apis/{apiId}/schemas/{schemaId}": { + "head": { + "tags": [ + "ApiSchema" + ], + "operationId": "ApiSchema_GetEntityTag", + "description": "Gets the entity state (Etag) version of the schema specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadApiSchema": { + "$ref": "./examples/ApiManagementHeadApiSchema.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SchemaIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "ApiSchema" + ], + "operationId": "ApiSchema_Get", + "description": "Get the schema configuration at the API level.", + "x-ms-examples": { + "ApiManagementGetApiSchema": { + "$ref": "./examples/ApiManagementGetApiSchema.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SchemaIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "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.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ApiSchema" + ], + "operationId": "ApiSchema_CreateOrUpdate", + "description": "Creates or updates schema configuration for the API.", + "x-ms-examples": { + "ApiManagementCreateApiSchema": { + "$ref": "./examples/ApiManagementCreateApiSchema.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$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": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "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": "Api schema configuration of the tenant was successfully updated.", + "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" + } + } + }, + "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-options": { + "final-state-via": "location" + } + }, + "delete": { + "tags": [ + "ApiSchema" + ], + "operationId": "ApiSchema_Delete", + "description": "Deletes the schema configuration at the Api.", + "x-ms-examples": { + "ApiManagementDeleteApiSchema": { + "$ref": "./examples/ApiManagementDeleteApiSchema.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SchemaIdParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "If true removes all references to the schema before deleting it." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics": { + "get": { + "tags": [ + "ApiDiagnostic" + ], + "operationId": "ApiDiagnostic_ListByService", + "description": "Lists all diagnostics of an API.", + "x-ms-examples": { + "ApiManagementListApiDiagnostics": { + "$ref": "./examples/ApiManagementListApiDiagnostics.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "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 |
" + }, + { + "$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 response of diagnostics for an API.", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticCollection" + } + }, + "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/DiagnosticContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}": { + "head": { + "tags": [ + "ApiDiagnostic" + ], + "operationId": "ApiDiagnostic_GetEntityTag", + "description": "Gets the entity state (Etag) version of the Diagnostic for an API specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadApiDiagnostic": { + "$ref": "./examples/ApiManagementHeadApiDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "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": [ + "ApiDiagnostic" + ], + "operationId": "ApiDiagnostic_Get", + "description": "Gets the details of the Diagnostic for an API specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetApiDiagnostic": { + "$ref": "./examples/ApiManagementGetApiDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Diagnostic entity.", + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ApiDiagnostic" + ], + "operationId": "ApiDiagnostic_CreateOrUpdate", + "description": "Creates a new Diagnostic for an API or updates an existing one.", + "x-ms-examples": { + "ApiManagementCreateApiDiagnostic": { + "$ref": "./examples/ApiManagementCreateApiDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "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" + } + } + }, + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "ApiDiagnostic" + ], + "operationId": "ApiDiagnostic_Update", + "description": "Updates the details of the Diagnostic for an API specified by its identifier.", + "x-ms-examples": { + "ApiManagementUpdateApiDiagnostic": { + "$ref": "./examples/ApiManagementUpdateApiDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "description": "Diagnostic Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ApiDiagnostic" + ], + "operationId": "ApiDiagnostic_Delete", + "description": "Deletes the specified Diagnostic from an API.", + "x-ms-examples": { + "ApiManagementDeleteApiDiagnostic": { + "$ref": "./examples/ApiManagementDeleteApiDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Diagnostic successfully removed" + }, + "204": { + "description": "Diagnostic successfully removed by previous request or does not exist" + }, + "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}/issues": { + "get": { + "tags": [ + "ApiIssue" + ], + "operationId": "ApiIssue_ListByService", + "description": "Lists all issues associated with the specified API.", + "x-ms-examples": { + "ApiManagementListApiIssues": { + "$ref": "./examples/ApiManagementListApiIssues.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "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 |
| 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 response of issues for the API.", + "schema": { + "$ref": "./definitions.json#/definitions/IssueCollection" + } + }, + "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/IssueContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}": { + "head": { + "tags": [ + "ApiIssue" + ], + "operationId": "ApiIssue_GetEntityTag", + "description": "Gets the entity state (Etag) version of the Issue for an API specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadApiIssue": { + "$ref": "./examples/ApiManagementHeadApiIssue.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "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": [ + "ApiIssue" + ], + "operationId": "ApiIssue_Get", + "description": "Gets the details of the Issue for an API specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetApiIssue": { + "$ref": "./examples/ApiManagementGetApiIssue.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" + }, + { + "name": "expandCommentsAttachments", + "in": "query", + "required": false, + "type": "boolean", + "description": "Expand the comment attachments. " + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Issue entity.", + "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" + } + } + } + }, + "put": { + "tags": [ + "ApiIssue" + ], + "operationId": "ApiIssue_CreateOrUpdate", + "description": "Creates a new Issue for an API or updates an existing one.", + "x-ms-examples": { + "ApiManagementCreateApiIssue": { + "$ref": "./examples/ApiManagementCreateApiIssue.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/IssueContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "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": "./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": "Api issue updated successfully.", + "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" + } + } + } + }, + "delete": { + "tags": [ + "ApiIssue" + ], + "operationId": "ApiIssue_Delete", + "description": "Deletes the specified Issue from an API.", + "x-ms-examples": { + "ApiManagementDeleteApiIssue": { + "$ref": "./examples/ApiManagementDeleteApiIssue.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Issue successfully removed" + }, + "204": { + "description": "Issue successfully removed by previous request or does not exist" + }, + "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}/issues/{issueId}/comments": { + "get": { + "tags": [ + "ApiIssueComment" + ], + "operationId": "ApiIssueComment_ListByService", + "description": "Lists all comments for the Issue associated with the specified API.", + "x-ms-examples": { + "ApiManagementListApiIssueComments": { + "$ref": "./examples/ApiManagementListApiIssueComments.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" + }, + { + "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 |
| 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 response of issue comments for the API.", + "schema": { + "$ref": "./definitions.json#/definitions/IssueCommentCollection" + } + }, + "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/IssueCommentContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}": { + "head": { + "tags": [ + "ApiIssueComment" + ], + "operationId": "ApiIssueComment_GetEntityTag", + "description": "Gets the entity state (Etag) version of the issue Comment for an API specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadApiIssueComment": { + "$ref": "./examples/ApiManagementHeadApiIssueComment.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CommentIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "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": [ + "ApiIssueComment" + ], + "operationId": "ApiIssueComment_Get", + "description": "Gets the details of the issue Comment for an API specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetApiIssueComment": { + "$ref": "./examples/ApiManagementGetApiIssueComment.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CommentIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified issue Comment entity.", + "schema": { + "$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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ApiIssueComment" + ], + "operationId": "ApiIssueComment_CreateOrUpdate", + "description": "Creates a new Comment for the Issue in an API or updates an existing one.", + "x-ms-examples": { + "ApiManagementCreateApiIssueComment": { + "$ref": "./examples/ApiManagementCreateApiIssueComment.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CommentIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/IssueCommentContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "New api issue comment successfully added", + "schema": { + "$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": "Api issue comment successfully updated", + "schema": { + "$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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ApiIssueComment" + ], + "operationId": "ApiIssueComment_Delete", + "description": "Deletes the specified comment from an Issue.", + "x-ms-examples": { + "ApiManagementDeleteApiIssueComment": { + "$ref": "./examples/ApiManagementDeleteApiIssueComment.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CommentIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Comment successfully removed" + }, + "204": { + "description": "Comment successfully removed by previous request or does not exist" + }, + "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}/issues/{issueId}/attachments": { + "get": { + "tags": [ + "ApiIssueAttachment" + ], + "operationId": "ApiIssueAttachment_ListByService", + "description": "Lists all attachments for the Issue associated with the specified API.", + "x-ms-examples": { + "ApiManagementListApiIssueAttachments": { + "$ref": "./examples/ApiManagementListApiIssueAttachments.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" + }, + { + "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 |
| 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 response of issue attachments for the API.", + "schema": { + "$ref": "./definitions.json#/definitions/IssueAttachmentCollection" + } + }, + "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/IssueAttachmentContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}": { + "head": { + "tags": [ + "ApiIssueAttachment" + ], + "operationId": "ApiIssueAttachment_GetEntityTag", + "description": "Gets the entity state (Etag) version of the issue Attachment for an API specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadApiIssueAttachment": { + "$ref": "./examples/ApiManagementHeadApiIssueAttachment.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "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": [ + "ApiIssueAttachment" + ], + "operationId": "ApiIssueAttachment_Get", + "description": "Gets the details of the issue Attachment for an API specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetApiIssueAttachment": { + "$ref": "./examples/ApiManagementGetApiIssueAttachment.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified issue Attachment entity.", + "schema": { + "$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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ApiIssueAttachment" + ], + "operationId": "ApiIssueAttachment_CreateOrUpdate", + "description": "Creates a new Attachment for the Issue in an API or updates an existing one.", + "x-ms-examples": { + "ApiManagementCreateApiIssueAttachment": { + "$ref": "./examples/ApiManagementCreateApiIssueAttachment.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/IssueAttachmentContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "New api issue attachment successfully added", + "schema": { + "$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": "Api issue attachment successfully updated", + "schema": { + "$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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ApiIssueAttachment" + ], + "operationId": "ApiIssueAttachment_Delete", + "description": "Deletes the specified comment from an Issue.", + "x-ms-examples": { + "ApiManagementDeleteApiIssueAttachment": { + "$ref": "./examples/ApiManagementDeleteApiIssueAttachment.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Attachment successfully removed" + }, + "204": { + "description": "Attachment successfully removed by previous request or does not exist" + }, + "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}/tagDescriptions": { + "get": { + "tags": [ + "ApiTagDescription" + ], + "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": { + "ApiManagementListApiTagDescriptions": { + "$ref": "./examples/ApiManagementListApiTagDescriptions.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 |
|-------------|-------------|-------------|-------------|
| 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 tagDescriptions associated with the Api entity.", + "schema": { + "$ref": "./definitions.json#/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.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" + } + }, + "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": "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": [ + "ApiTagDescription" + ], + "operationId": "ApiTagDescription_Get", + "description": "Get Tag description in scope of API", + "x-ms-examples": { + "ApiManagementGetApiTagDescription": { + "$ref": "./examples/ApiManagementGetApiTagDescription.json" + } + }, + "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" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ApiTagDescription" + ], + "operationId": "ApiTagDescription_CreateOrUpdate", + "description": "Create/Update tag description 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": "./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" + } + ], + "responses": { + "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" + } + } + }, + "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" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ApiTagDescription" + ], + "operationId": "ApiTagDescription_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": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagDescriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$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" + } + } + } + } + }, + "/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" + } + }, + "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" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./definitions.json#/definitions/TagContract" + } + }, + "/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" + } + }, + "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" + } + } + } + }, + "get": { + "tags": [ + "ApiTag" + ], + "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": "./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" + } + } + } + }, + "put": { + "tags": [ + "ApiTag" + ], + "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": "./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" + } + } + } + }, + "delete": { + "tags": [ + "ApiTag" + ], + "operationId": "Tag_DetachFromApi", + "description": "Detach the tag from the Api.", + "x-ms-examples": { + "ApiManagementDeleteApiTag": { + "$ref": "./examples/ApiManagementDeleteApiTag.json" + } + }, + "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" + } + } + } + } + }, + "/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" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./definitions.json#/definitions/TagResourceContract" + } + } + }, + "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" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimapisByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimapisByTags.json new file mode 100644 index 000000000000..08ac1691f83a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimapisByTags.json @@ -0,0 +1,106 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing retrieve a collection of Apis associated with a tag in Azure API Management deployment.", + "version": "2021-08-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.ApiManagement/service/{serviceName}/apisByTags": { + "get": { + "tags": [ + "ApisByTag" + ], + "operationId": "Api_ListByTags", + "description": "Lists a collection of apis associated with tags.", + "x-ms-examples": { + "ApiManagementListApisByTags": { + "$ref": "./examples/ApiManagementListApisByTags.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "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 |
| 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 |
| isCurrent | filter | eq | |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "name": "includeNotTaggedApis", + "in": "query", + "required": false, + "type": "boolean", + "description": "Include not tagged APIs." + }, + { + "$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" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./definitions.json#/definitions/TagResourceContract" + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimapiversionsets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimapiversionsets.json new file mode 100644 index 000000000000..d915a642b333 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimapiversionsets.json @@ -0,0 +1,376 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on the ApiVersionSet entity associated with your Azure API Management deployment. Using this entity you create and manage API Version Sets that are used to group APIs for consistent versioning.", + "version": "2021-08-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.ApiManagement/service/{serviceName}/apiVersionSets": { + "get": { + "tags": [ + "ApiVersionSet" + ], + "operationId": "ApiVersionSet_ListByService", + "description": "Lists a collection of API Version Sets in the specified service instance.", + "x-ms-examples": { + "ApiManagementListApiVersionSets": { + "$ref": "./examples/ApiManagementListApiVersionSets.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
" + }, + { + "$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 Api Version Set entities.", + "schema": { + "$ref": "./definitions.json#/definitions/ApiVersionSetCollection" + } + }, + "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/ApiVersionSetContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId}": { + "head": { + "tags": [ + "ApiVersionSet" + ], + "operationId": "ApiVersionSet_GetEntityTag", + "description": "Gets the entity state (Etag) version of the Api Version Set specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadApiVersionSet": { + "$ref": "./examples/ApiManagementHeadApiVersionSet.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified Api Version Set 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "ApiVersionSet" + ], + "operationId": "ApiVersionSet_Get", + "description": "Gets the details of the Api Version Set specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetApiVersionSet": { + "$ref": "./examples/ApiManagementGetApiVersionSet.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Gets the specified Api Version Set entity.", + "schema": { + "$ref": "./definitions.json#/definitions/ApiVersionSetContract" + }, + "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": [ + "ApiVersionSet" + ], + "operationId": "ApiVersionSet_CreateOrUpdate", + "description": "Creates or Updates a Api Version Set.", + "x-ms-examples": { + "ApiManagementCreateApiVersionSet": { + "$ref": "./examples/ApiManagementCreateApiVersionSet.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/ApiVersionSetContract" + }, + "description": "Create or update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Api Version Set was successfully created.", + "schema": { + "$ref": "./definitions.json#/definitions/ApiVersionSetContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "200": { + "description": "Api Version Set was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/ApiVersionSetContract" + }, + "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" + } + } + } + }, + "patch": { + "tags": [ + "ApiVersionSet" + ], + "operationId": "ApiVersionSet_Update", + "description": "Updates the details of the Api VersionSet specified by its identifier.", + "x-ms-examples": { + "ApiManagementUpdateApiVersionSet": { + "$ref": "./examples/ApiManagementUpdateApiVersionSet.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/ApiVersionSetUpdateParameters" + }, + "description": "Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Api Version Set was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/ApiVersionSetContract" + }, + "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" + } + } + } + }, + "delete": { + "tags": [ + "ApiVersionSets" + ], + "operationId": "ApiVersionSet_Delete", + "description": "Deletes specific Api Version Set.", + "x-ms-examples": { + "ApiManagementDeleteApiVersionSet": { + "$ref": "./examples/ApiManagementDeleteApiVersionSet.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The ApiVersion Set details were successfully deleted." + }, + "204": { + "description": "The ApiVersion Set details were successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimauthorizationservers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimauthorizationservers.json new file mode 100644 index 000000000000..124a78d75377 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimauthorizationservers.json @@ -0,0 +1,427 @@ +{ + "swagger": "2.0", + "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": "2021-08-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.ApiManagement/service/{serviceName}/authorizationServers": { + "get": { + "tags": [ + "AuthorizationServer" + ], + "operationId": "AuthorizationServer_ListByService", + "description": "Lists a collection of authorization servers defined within a service instance.", + "x-ms-examples": { + "ApiManagementListAuthorizationServers": { + "$ref": "./examples/ApiManagementListAuthorizationServers.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "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 |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A Collection of the Authorization Server entities for the specified API Management service instance.", + "schema": { + "$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.json#/definitions/AuthorizationServerContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}": { + "head": { + "tags": [ + "AuthorizationServer" + ], + "operationId": "AuthorizationServer_GetEntityTag", + "description": "Gets the entity state (Etag) version of the authorizationServer specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadAuthorizationServer": { + "$ref": "./examples/ApiManagementHeadAuthorizationServer.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified authorization server 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "AuthorizationServer" + ], + "operationId": "AuthorizationServer_Get", + "description": "Gets the details of the authorization server specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetAuthorizationServer": { + "$ref": "./examples/ApiManagementGetAuthorizationServer.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Gets the details of the specified authorization server. No secrets included.", + "schema": { + "$ref": "./definitions.json#/definitions/AuthorizationServerContract" + }, + "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": [ + "AuthorizationServer" + ], + "operationId": "AuthorizationServer_CreateOrUpdate", + "description": "Creates new authorization server or updates an existing authorization server.", + "x-ms-examples": { + "ApiManagementCreateAuthorizationServer": { + "$ref": "./examples/ApiManagementCreateAuthorizationServer.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/AuthorizationServerContract" + }, + "description": "Create or update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "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.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.json#/definitions/AuthorizationServerContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "AuthorizationServer" + ], + "operationId": "AuthorizationServer_Update", + "description": "Updates the details of the authorization server specified by its identifier.", + "x-ms-examples": { + "ApiManagementUpdateAuthorizationServer": { + "$ref": "./examples/ApiManagementUpdateAuthorizationServer.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/AuthorizationServerUpdateContract" + }, + "description": "OAuth2 Server settings Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "AuthorizationServer" + ], + "operationId": "AuthorizationServer_Delete", + "description": "Deletes specific authorization server instance.", + "x-ms-examples": { + "ApiManagementDeleteAuthorizationServer": { + "$ref": "./examples/ApiManagementDeleteAuthorizationServer.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The authorization server settings were successfully deleted." + }, + "204": { + "description": "The authorization server settings were 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}/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" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "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" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimbackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimbackends.json new file mode 100644 index 000000000000..0a80e3079e38 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimbackends.json @@ -0,0 +1,430 @@ +{ + "swagger": "2.0", + "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": "2021-08-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.ApiManagement/service/{serviceName}/backends": { + "get": { + "tags": [ + "Backend" + ], + "operationId": "Backend_ListByService", + "description": "Lists a collection of backends in the specified service instance.", + "x-ms-examples": { + "ApiManagementListBackends": { + "$ref": "./examples/ApiManagementListBackends.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "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 |
| 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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Backend entities.", + "schema": { + "$ref": "./definitions.json#/definitions/BackendCollection" + } + }, + "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/BackendContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId}": { + "head": { + "tags": [ + "Backend" + ], + "operationId": "Backend_GetEntityTag", + "description": "Gets the entity state (Etag) version of the backend specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadBackend": { + "$ref": "./examples/ApiManagementHeadBackend.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified backend 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Backend" + ], + "operationId": "Backend_Get", + "description": "Gets the details of the backend specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetBackend": { + "$ref": "./examples/ApiManagementGetBackend.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Backend entity.", + "schema": { + "$ref": "./definitions.json#/definitions/BackendContract" + }, + "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": [ + "Backend" + ], + "operationId": "Backend_CreateOrUpdate", + "description": "Creates or Updates a backend.", + "x-ms-examples": { + "ApiManagementCreateBackendServiceFabric": { + "$ref": "./examples/ApiManagementCreateBackendServiceFabric.json" + }, + "ApiManagementCreateBackendProxyBackend": { + "$ref": "./examples/ApiManagementCreateBackendProxyBackend.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/BackendContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "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.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.json#/definitions/BackendContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Backend" + ], + "operationId": "Backend_Update", + "description": "Updates an existing backend.", + "x-ms-examples": { + "ApiManagementUpdateBackend": { + "$ref": "./examples/ApiManagementUpdateBackend.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/BackendUpdateParameters" + }, + "description": "Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Backend" + ], + "operationId": "Backend_Delete", + "description": "Deletes the specified backend.", + "x-ms-examples": { + "ApiManagementDeleteBackend": { + "$ref": "./examples/ApiManagementDeleteBackend.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The backend was successfully deleted." + }, + "204": { + "description": "The backend 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}/backends/{backendId}/reconnect": { + "post": { + "tags": [ + "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.", + "x-ms-examples": { + "ApiManagementBackendReconnect": { + "$ref": "./examples/ApiManagementBackendReconnect.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "./definitions.json#/definitions/BackendReconnectContract" + }, + "description": "Reconnect request parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Reconnect request accepted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimcaches.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimcaches.json new file mode 100644 index 000000000000..f552517f6a9f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimcaches.json @@ -0,0 +1,372 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on Cache entity in your Azure API Management deployment. Azure API Management also allows for caching responses in an external Azure Cache for Redis. For more information refer to [External Redis Cache in ApiManagement](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-cache-external).", + "version": "2021-08-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.ApiManagement/service/{serviceName}/caches": { + "get": { + "tags": [ + "Cache" + ], + "operationId": "Cache_ListByService", + "description": "Lists a collection of all external Caches in the specified service instance.", + "x-ms-examples": { + "ApiManagementListCaches": { + "$ref": "./examples/ApiManagementListCaches.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Returns a collection of Cache entity.", + "schema": { + "$ref": "./definitions.json#/definitions/CacheCollection" + } + }, + "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}/caches/{cacheId}": { + "head": { + "tags": [ + "Cache" + ], + "operationId": "Cache_GetEntityTag", + "description": "Gets the entity state (Etag) version of the Cache specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadCache": { + "$ref": "./examples/ApiManagementHeadCache.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CacheIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified Cache 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Cache" + ], + "operationId": "Cache_Get", + "description": "Gets the details of the Cache specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetCache": { + "$ref": "./examples/ApiManagementGetCache.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CacheIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Cache entity.", + "schema": { + "$ref": "./definitions.json#/definitions/CacheContract" + }, + "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": [ + "Cache" + ], + "operationId": "Cache_CreateOrUpdate", + "description": "Creates or updates an External Cache to be used in Api Management instance.", + "externalDocs": { + "description": "Use an external cache in Azure API Management", + "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-cache-external" + }, + "x-ms-examples": { + "ApiManagementCreateCache": { + "$ref": "./examples/ApiManagementCreateCache.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CacheIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/CacheContract" + }, + "description": "Create or Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The new Cache 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.json#/definitions/CacheContract" + } + }, + "200": { + "description": "The Cache 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/CacheContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Cache" + ], + "operationId": "Cache_Update", + "description": "Updates the details of the cache specified by its identifier.", + "x-ms-examples": { + "ApiManagementUpdateCache": { + "$ref": "./examples/ApiManagementUpdateCache.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CacheIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/CacheUpdateParameters" + }, + "description": "Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The Cache 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/CacheContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Cache" + ], + "operationId": "Cache_Delete", + "description": "Deletes specific Cache.", + "x-ms-examples": { + "ApiManagementDeleteCache": { + "$ref": "./examples/ApiManagementDeleteCache.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CacheIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The Cache was successfully deleted." + }, + "204": { + "description": "The Cache was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimcertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimcertificates.json new file mode 100644 index 000000000000..ff9e92de875b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimcertificates.json @@ -0,0 +1,387 @@ +{ + "swagger": "2.0", + "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": "2021-08-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.ApiManagement/service/{serviceName}/certificates": { + "get": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_ListByService", + "description": "Lists a collection of all certificates in the specified service instance.", + "x-ms-examples": { + "ApiManagementListCertificates": { + "$ref": "./examples/ApiManagementListCertificates.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "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 |
| 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" + }, + { + "$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" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Returns a collection of Certificate entity.", + "schema": { + "$ref": "./definitions.json#/definitions/CertificateCollection" + } + }, + "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/CertificateContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}": { + "head": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_GetEntityTag", + "description": "Gets the entity state (Etag) version of the certificate specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadCertificate": { + "$ref": "./examples/ApiManagementHeadCertificate.json" + } + }, + "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": "Specified certificate 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "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": [ + { + "$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 response body contains the specified Certificate entity.", + "schema": { + "$ref": "./definitions.json#/definitions/CertificateContract" + }, + "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": [ + "Certificate" + ], + "operationId": "Certificate_CreateOrUpdate", + "description": "Creates or updates 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/" + }, + "x-ms-examples": { + "ApiManagementCreateCertificate": { + "$ref": "./examples/ApiManagementCreateCertificate.json" + }, + "ApiManagementCreateCertificateWithKeyVault": { + "$ref": "./examples/ApiManagementCreateCertificateWithKeyVault.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/CertificateCreateOrUpdateParameters" + }, + "description": "Create or Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "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.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.json#/definitions/CertificateContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_Delete", + "description": "Deletes specific certificate.", + "x-ms-examples": { + "ApiManagementDeleteCertificate": { + "$ref": "./examples/ApiManagementDeleteCertificate.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The certificate was successfully deleted." + }, + "204": { + "description": "The certificate 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}/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/" + }, + "x-ms-examples": { + "ApiManagementRefreshCertificate": { + "$ref": "./examples/ApiManagementRefreshCertificate.json" + } + }, + "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" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimconnectivitycheck.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimconnectivitycheck.json new file mode 100644 index 000000000000..e83fbef8a2e6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimconnectivitycheck.json @@ -0,0 +1,99 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use this REST APIs to perform connectivity troubleshoot operations in API Management deployments.", + "version": "2021-08-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.ApiManagement/service/{serviceName}/connectivityCheck": { + "post": { + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "tags": [ + "PerformConnectivityCheck" + ], + "operationId": "PerformConnectivityCheckAsync", + "description": "Performs a connectivity check between the API Management service and a given destination, and returns metrics for the connection, as well as errors encountered while trying to establish it.", + "x-ms-examples": { + "TCP Connectivity Check": { + "$ref": "./examples/ApiManagementPerformConnectivityCheck.json" + }, + "HTTP Connectivity Check": { + "$ref": "./examples/ApiManagementPerformConnectivityCheckHttpConnect.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "connectivityCheckRequestParams", + "description": "Connectivity Check request parameters.", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/ConnectivityCheckRequest" + } + } + ], + "responses": { + "202": { + "description": "Request was accepted and is currently running. Location header contains the URL where the status of the long running operation can be checked and the result eventually retrieved." + }, + "200": { + "description": "Connectivity Check Request was completed.", + "schema": { + "$ref": "./definitions.json#/definitions/ConnectivityCheckResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimcontenttypes.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimcontenttypes.json new file mode 100644 index 000000000000..97a6e93a4323 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimcontenttypes.json @@ -0,0 +1,513 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations in Azure API Management deployment.", + "version": "2021-08-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.ApiManagement/service/{serviceName}/contentTypes": { + "get": { + "tags": [ + "ContentType" + ], + "operationId": "ContentType_ListByService", + "description": "Lists the developer portal's content types. Content types describe content items' properties, validation rules, and constraints.", + "x-ms-examples": { + "ApiManagementListContentTypes": { + "$ref": "./examples/ApiManagementListContentTypes.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": "Returns a collection of the Content Type entities.", + "schema": { + "$ref": "./definitions.json#/definitions/ContentTypeCollection" + } + }, + "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}/contentTypes/{contentTypeId}": { + "get": { + "tags": [ + "ContentType" + ], + "operationId": "ContentType_Get", + "description": "Gets the details of the developer portal's content type. Content types describe content items' properties, validation rules, and constraints.", + "x-ms-examples": { + "ApiManagementGetContentType": { + "$ref": "./examples/ApiManagementGetContentType.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Returns the details of the specified content type.", + "schema": { + "$ref": "./definitions.json#/definitions/ContentTypeContract" + }, + "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": [ + "ContentType" + ], + "operationId": "ContentType_CreateOrUpdate", + "description": "Creates or updates the developer portal's content type. Content types describe content items' properties, validation rules, and constraints. Custom content types' identifiers need to start with the `c-` prefix. Built-in content types can't be modified.", + "x-ms-examples": { + "ApiManagementCreateContentType": { + "$ref": "./examples/ApiManagementCreateContentType.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The content type 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.json#/definitions/ContentTypeContract" + } + }, + "200": { + "description": "The existing content type 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/ContentTypeContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ContentType" + ], + "operationId": "ContentType_Delete", + "description": "Removes the specified developer portal's content type. Content types describe content items' properties, validation rules, and constraints. Built-in content types (with identifiers starting with the `c-` prefix) can't be removed.", + "x-ms-examples": { + "ApiManagementDeleteContentType": { + "$ref": "./examples/ApiManagementDeleteContentType.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The content type was successfully deleted." + }, + "204": { + "description": "The content type 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}/contentTypes/{contentTypeId}/contentItems": { + "get": { + "tags": [ + "ContentTypeContentItem" + ], + "operationId": "ContentItem_ListByService", + "description": "Lists developer portal's content items specified by the provided content type.", + "x-ms-examples": { + "ApiManagementListContentTypeContentItems": { + "$ref": "./examples/ApiManagementListContentTypeContentItems.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Returns a collection of Content Type entities.", + "schema": { + "$ref": "./definitions.json#/definitions/ContentItemCollection" + } + }, + "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}/contentTypes/{contentTypeId}/contentItems/{contentItemId}": { + "head": { + "tags": [ + "ContentTypeContentItem" + ], + "operationId": "ContentItem_GetEntityTag", + "description": "Returns the entity state (ETag) version of the developer portal's content item specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadContentTypeContentItem": { + "$ref": "./examples/ApiManagementHeadContentTypeContentItem.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified content item 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "ContentTypeContentItem" + ], + "operationId": "ContentItem_Get", + "description": "Returns the developer portal's content item specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetContentTypeContentItem": { + "$ref": "./examples/ApiManagementGetContentTypeContentItem.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Returns the content item.", + "schema": { + "$ref": "./definitions.json#/definitions/ContentItemContract" + }, + "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": [ + "ContentTypeContentItem" + ], + "operationId": "ContentItem_CreateOrUpdate", + "description": "Creates a new developer portal's content item specified by the provided content type.", + "x-ms-examples": { + "ApiManagementCreateContentTypeContentItem": { + "$ref": "./examples/ApiManagementCreateContentTypeContentItem.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The content item 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.json#/definitions/ContentItemContract" + } + }, + "200": { + "description": "The existing content item 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/ContentItemContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ContentTypeContentItem" + ], + "operationId": "ContentItem_Delete", + "description": "Removes the specified developer portal's content item.", + "x-ms-examples": { + "ApiManagementDeleteContentTypeContentItem": { + "$ref": "./examples/ApiManagementDeleteContentTypeContentItem.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The content item was successfully deleted." + }, + "204": { + "description": "The content item was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimdeletedservices.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimdeletedservices.json new file mode 100644 index 000000000000..6b367b23fba6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimdeletedservices.json @@ -0,0 +1,179 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations in Azure API Management deployment.", + "version": "2021-08-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}/providers/Microsoft.ApiManagement/deletedservices": { + "get": { + "tags": [ + "DeletedService" + ], + "operationId": "DeletedServices_ListBySubscription", + "description": "Lists all soft-deleted services available for undelete for the given subscription.", + "x-ms-examples": { + "ApiManagementDeletedServicesListBySubscription": { + "$ref": "./examples/ApiManagementDeletedServicesListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of all soft-deleted services available for undelete for the given subscription.", + "schema": { + "$ref": "./definitions.json#/definitions/DeletedServicesCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/locations/{location}/deletedservices/{serviceName}": { + "get": { + "tags": [ + "DeletedService" + ], + "operationId": "DeletedServices_GetByName", + "description": "Get soft-deleted Api Management Service by name.", + "x-ms-examples": { + "ApiManagementGetDeletedServiceByName": { + "$ref": "./examples/ApiManagementGetDeletedServiceByName.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the deleted API Management service." + } + ], + "responses": { + "200": { + "description": "Soft-deleted Api Management Service.", + "schema": { + "$ref": "./definitions.json#/definitions/DeletedServiceContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "DeletedService" + ], + "operationId": "DeletedServices_Purge", + "description": "Purges Api Management Service (deletes it with no option to undelete).", + "x-ms-examples": { + "ApiManagementDeletedServicesPurge": { + "$ref": "./examples/ApiManagementDeletedServicesPurge.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the deleted API Management service." + } + ], + "responses": { + "200": { + "description": "Api Service was successfully purged." + }, + "202": { + "description": "Api Service purge started.", + "schema": { + "$ref": "./definitions.json#/definitions/DeletedServiceContract" + } + }, + "204": { + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimdeployment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimdeployment.json new file mode 100644 index 000000000000..69117e06bc0d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimdeployment.json @@ -0,0 +1,1826 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs to manage Azure API Management deployment.", + "version": "2021-08-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": { + "/providers/Microsoft.ApiManagement/operations": { + "get": { + "tags": [ + "ApiManagementOperations" + ], + "description": "Lists all of the available REST API operations of the Microsoft.ApiManagement provider.", + "operationId": "ApiManagementOperations_List", + "x-ms-examples": { + "ApiManagementListOperations": { + "$ref": "./examples/ApiManagementListOperations.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/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": "./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": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/restore": { + "post": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementService_Restore", + "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/ApiManagementRestoreWithAccessKey.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApiManagementServiceBackupRestoreParameters" + }, + "description": "Parameters supplied to the Restore API Management service from backup operation." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully restored the backup onto the API Management service.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "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-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backup": { + "post": { + "tags": [ + "ApiManagementService" + ], + "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": { + "ApiManagementBackupWithAccessKey": { + "$ref": "./examples/ApiManagementBackupWithAccessKey.json" + }, + "ApiManagementBackupWithSystemManagedIdentity": { + "$ref": "./examples/ApiManagementBackupWithSystemManagedIdentity.json" + }, + "ApiManagementBackupWithUserAssignedManagedIdentity": { + "$ref": "./examples/ApiManagementBackupWithUserAssignedManagedIdentity.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApiManagementServiceBackupRestoreParameters" + }, + "description": "Parameters supplied to the ApiManagementService_Backup operation." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully backed up the API Management service to the storage account.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "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-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}": { + "put": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementService_CreateOrUpdate", + "description": "Creates or updates an API Management service. This is long running operation and could take several minutes to complete.", + "x-ms-examples": { + "ApiManagementCreateService": { + "$ref": "./examples/ApiManagementCreateService.json" + }, + "ApiManagementCreateServiceInVnetWithPublicIP": { + "$ref": "./examples/ApiManagementCreateServiceInVnetWithPublicIP.json" + }, + "ApiManagementCreateMultiRegionServiceWithCustomHostname": { + "$ref": "./examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json" + }, + "ApiManagementCreateServiceHavingMsi": { + "$ref": "./examples/ApiManagementCreateServiceHavingMsi.json" + }, + "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": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + }, + "description": "Parameters supplied to the CreateOrUpdate API Management service operation." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The service was successfully set up.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "202": { + "description": "Accepted the configuration change when updating the service." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementService_Update", + "description": "Updates an existing API Management service.", + "x-ms-examples": { + "ApiManagementUpdateServiceDisableTls10": { + "$ref": "./examples/ApiManagementUpdateServiceDisableTls10.json" + }, + "ApiManagementUpdateServicePublisherDetails": { + "$ref": "./examples/ApiManagementUpdateServicePublisherDetails.json" + }, + "ApiManagementUpdateServiceToNewVnetAndAvailabilityZones": { + "$ref": "./examples/ApiManagementUpdateServiceToNewVnetAndAZs.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApiManagementServiceUpdateParameters" + }, + "description": "Parameters supplied to the CreateOrUpdate API Management service operation." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The service was successfully updated.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "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 + }, + "get": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementService_Get", + "description": "Gets an API Management service resource description.", + "x-ms-examples": { + "ApiManagementServiceGetService": { + "$ref": "./examples/ApiManagementServiceGetService.json" + }, + "ApiManagementServiceGetServiceHavingMsi": { + "$ref": "./examples/ApiManagementServiceGetServiceHavingMsi.json" + }, + "ApiManagementServiceGetMultiRegionInternalVnet": { + "$ref": "./examples/ApiManagementServiceGetMultiRegionInternalVnet.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": "Successfully got the API Management Service Resource.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementService_Delete", + "description": "Deletes an existing API Management service.", + "x-ms-examples": { + "ApiManagementServiceDeleteService": { + "$ref": "./examples/ApiManagementServiceDeleteService.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": "Service was successfully deleted." + }, + "202": { + "description": "The service delete request was Accepted.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "204": { + "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": { + "get": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementService_ListByResourceGroup", + "description": "List all API Management services within a resource group.", + "x-ms-examples": { + "ApiManagementListServiceBySubscriptionAndResourceGroup": { + "$ref": "./examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The API Management service list.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/service": { + "get": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementService_List", + "description": "Lists all API Management services within an Azure subscription.", + "x-ms-examples": { + "ApiManagementListServiceBySubscription": { + "$ref": "./examples/ApiManagementListServiceBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The API Management service list.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceListResult" + } + }, + "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}/getssotoken": { + "post": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementService_GetSsoToken", + "description": "Gets the Single-Sign-On token for the API Management Service which is valid for 5 Minutes.", + "x-ms-examples": { + "ApiManagementServiceGetSsoToken": { + "$ref": "./examples/ApiManagementServiceGetSsoToken.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": "OK if successful with the SSO Redirect URI.", + "schema": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApiManagementServiceGetSsoTokenResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/checkNameAvailability": { + "post": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementService_CheckNameAvailability", + "description": "Checks availability and correctness of a name for an API Management service.", + "x-ms-examples": { + "ApiManagementServiceCheckNameAvailability": { + "$ref": "./examples/ApiManagementServiceCheckNameAvailability.json" + } + }, + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApiManagementServiceCheckNameAvailabilityParameters" + }, + "description": "Parameters supplied to the CheckNameAvailability operation." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The result of check name availability.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/getDomainOwnershipIdentifier": { + "post": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementService_GetDomainOwnershipIdentifier", + "description": "Get the custom domain ownership identifier for an API Management service.", + "x-ms-examples": { + "ApiManagementServiceGetDomainOwnershipIdentifier": { + "$ref": "./examples/ApiManagementServiceGetDomainOwnershipIdentifier.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The result of getting domain ownership identifier.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceGetDomainOwnershipIdentifierResult" + } + }, + "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": { + "post": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementService_ApplyNetworkConfigurationUpdates", + "description": "Updates the Microsoft.ApiManagement resource running in the Virtual network to pick the updated DNS changes.", + "x-ms-examples": { + "ApiManagementApplyNetworkConfigurationUpdates": { + "$ref": "./examples/ApiManagementApplyNetworkConfigurationUpdates.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" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "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.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "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-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": { + "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." + }, + "thumbprint": { + "type": "string", + "description": "Thumbprint of the certificate." + }, + "subject": { + "type": "string", + "description": "Subject of the certificate." + } + }, + "required": [ + "expiry", + "thumbprint", + "subject" + ], + "description": "SSL certificate information." + }, + "CertificateConfiguration": { + "properties": { + "encodedCertificate": { + "type": "string", + "description": "Base64 Encoded certificate." + }, + "certificatePassword": { + "type": "string", + "description": "Certificate Password." + }, + "storeName": { + "description": "The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and CertificateAuthority are valid locations.", + "type": "string", + "enum": [ + "CertificateAuthority", + "Root" + ] + }, + "certificate": { + "$ref": "#/definitions/CertificateInformation", + "description": "Certificate information." + } + }, + "required": [ + "storeName" + ], + "description": "Certificate configuration which consist of non-trusted intermediates and root certificates." + }, + "HostnameConfiguration": { + "properties": { + "type": { + "type": "string", + "description": "Hostname type.", + "enum": [ + "Proxy", + "Portal", + "Management", + "Scm", + "DeveloperPortal" + ], + "x-ms-enum": { + "name": "HostnameType", + "modelAsString": true + } + }, + "hostName": { + "type": "string", + "description": "Hostname to configure on the Api Management service." + }, + "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 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", + "description": "Base64 Encoded certificate." + }, + "certificatePassword": { + "type": "string", + "description": "Certificate Password." + }, + "defaultSslBinding": { + "type": "boolean", + "description": "Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The setting only applied to Proxy Hostname Type.", + "default": false + }, + "negotiateClientCertificate": { + "type": "boolean", + "description": "Specify true to always negotiate client certificate on the hostname. Default Value is false.", + "default": false + }, + "certificate": { + "$ref": "#/definitions/CertificateInformation", + "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": [ + "type", + "hostName" + ], + "description": "Custom hostname configuration." + }, + "VirtualNetworkConfiguration": { + "properties": { + "vnetid": { + "readOnly": true, + "type": "string", + "description": "The virtual network ID. This is typically a GUID. Expect a null GUID by default." + }, + "subnetname": { + "readOnly": true, + "type": "string", + "description": "The name of the subnet." + }, + "subnetResourceId": { + "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 API Management service in." + } + }, + "description": "Configuration of a virtual network to which API Management service is deployed." + }, + "AdditionalLocation": { + "properties": { + "location": { + "type": "string", + "description": "The location name of the additional region among Azure Data center regions." + }, + "sku": { + "$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, Premium and Isolated SKU." + }, + "privateIPAddresses": { + "type": "array", + "items": { + "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, 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", + "description": "Virtual network configuration for the location." + }, + "gatewayRegionalUrl": { + "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": [ + "location", + "sku" + ], + "description": "Description of an additional API Management resource location." + }, + "ApiManagementServiceBackupRestoreParameters": { + "properties": { + "storageAccount": { + "type": "string", + "description": "The name of the Azure storage account (used to place/retrieve the backup)." + }, + "containerName": { + "type": "string", + "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/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", + "containerName", + "backupName" + ], + "description": "Parameters supplied to the Backup/Restore of an API Management service operation." + }, + "ApiManagementServiceProperties": { + "properties": { + "publisherEmail": { + "type": "string", + "description": "Publisher email.", + "maxLength": 100 + }, + "publisherName": { + "type": "string", + "description": "Publisher name.", + "maxLength": 100 + } + }, + "allOf": [ + { + "$ref": "#/definitions/ApiManagementServiceBaseProperties" + } + ], + "required": [ + "publisherEmail", + "publisherName" + ], + "description": "Properties of an API Management service resource description." + }, + "ApiManagementServiceUpdateProperties": { + "properties": { + "publisherEmail": { + "type": "string", + "description": "Publisher email.", + "maxLength": 100 + }, + "publisherName": { + "type": "string", + "description": "Publisher name.", + "maxLength": 100 + } + }, + "allOf": [ + { + "$ref": "#/definitions/ApiManagementServiceBaseProperties" + } + ], + "description": "Properties of an API Management service resource description." + }, + "ApiManagementServiceBaseProperties": { + "properties": { + "notificationSenderEmail": { + "type": "string", + "description": "Email address from which the notification will be sent.", + "maxLength": 100 + }, + "provisioningState": { + "type": "string", + "description": "The current provisioning state of the API Management service which can be one of the following: Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted.", + "readOnly": true + }, + "targetProvisioningState": { + "type": "string", + "description": "The provisioning state of the API Management service, which is targeted by the long running operation started on the service.", + "readOnly": true + }, + "createdAtUtc": { + "type": "string", + "format": "date-time", + "description": "Creation UTC date of the API Management service.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.", + "readOnly": true + }, + "gatewayUrl": { + "type": "string", + "description": "Gateway URL of the API Management service.", + "readOnly": true + }, + "gatewayRegionalUrl": { + "type": "string", + "description": "Gateway URL of the API Management service in the Default Region.", + "readOnly": true + }, + "portalUrl": { + "type": "string", + "description": "Publisher portal endpoint Url of the API Management service.", + "readOnly": true + }, + "managementApiUrl": { + "type": "string", + "description": "Management API endpoint URL of the API Management service.", + "readOnly": true + }, + "scmUrl": { + "type": "string", + "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": { + "$ref": "#/definitions/HostnameConfiguration" + }, + "description": "Custom hostname configuration of the API Management service." + }, + "publicIPAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "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", + "items": { + "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, 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", + "description": "Virtual network configuration of the API Management service." + }, + "additionalLocations": { + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalLocation" + }, + "description": "Additional datacenter locations of the API Management service." + }, + "customProperties": { + "type": "object", + "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.
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", + "items": { + "$ref": "#/definitions/CertificateConfiguration" + }, + "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 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", + "External", + "Internal" + ], + "x-ms-enum": { + "name": "VirtualNetworkType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "The service is not part of any Virtual Network." + }, + { + "value": "External", + "description": "The service is part of Virtual Network and it is accessible from Internet." + }, + { + "value": "Internal", + "description": "The service is part of Virtual Network and it is only accessible from within the virtual network." + } + ] + } + }, + "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": { + "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." + } + ] + } + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0." + } + }, + "required": [ + "name", + "capacity" + ], + "description": "API Management service resource SKU properties." + }, + "ApiManagementServiceResource": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApiManagementServiceProperties", + "description": "Properties of the API Management service." + }, + "sku": { + "$ref": "#/definitions/ApiManagementServiceSkuProperties", + "description": "SKU properties of the API Management service." + }, + "identity": { + "$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.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "etag": { + "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": [ + { + "$ref": "#/definitions/ApimResource" + } + ], + "required": [ + "location", + "sku", + "properties" + ], + "description": "A single API Management service resource in List or Get response." + }, + "ApimResource": { + "description": "The Resource definition.", + "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 is set to Microsoft.ApiManagement." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "x-ms-azure-resource": true + }, + "ApiManagementServiceUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApiManagementServiceUpdateProperties", + "description": "Properties of the API Management service." + }, + "sku": { + "$ref": "#/definitions/ApiManagementServiceSkuProperties", + "description": "SKU properties of the API Management service." + }, + "identity": { + "$ref": "#/definitions/ApiManagementServiceIdentity", + "description": "Managed service identity of the Api Management service." + }, + "etag": { + "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": [ + { + "$ref": "#/definitions/ApimResource" + } + ], + "description": "Parameter supplied to Update Api Management Service." + }, + "ApiManagementServiceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApiManagementServiceResource" + }, + "description": "Result of the List API Management services operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of API Management services." + } + }, + "required": [ + "value" + ], + "description": "The response of the List API Management services operation." + }, + "ApiManagementServiceGetSsoTokenResult": { + "properties": { + "redirectUri": { + "type": "string", + "description": "Redirect URL to the Publisher Portal containing the SSO token." + } + }, + "description": "The response of the GetSsoToken operation." + }, + "ApiManagementServiceCheckNameAvailabilityParameters": { + "properties": { + "name": { + "type": "string", + "description": "The name to check for availability." + } + }, + "required": [ + "name" + ], + "description": "Parameters supplied to the CheckNameAvailability operation." + }, + "ApiManagementServiceNameAvailabilityResult": { + "properties": { + "nameAvailable": { + "type": "boolean", + "description": "True if the name is available and can be used to create a new API Management service; otherwise false.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that is already in use, and direct them to select a different name.", + "readOnly": true + }, + "reason": { + "type": "string", + "description": "Invalid indicates the name provided does not match the resource provider’s naming requirements (incorrect length, unsupported characters, etc.) AlreadyExists indicates that the name is already in use and is therefore unavailable.", + "enum": [ + "Valid", + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "NameAvailabilityReason", + "modelAsString": false + } + } + }, + "description": "Response of the CheckNameAvailability operation." + }, + "ApiManagementServiceGetDomainOwnershipIdentifierResult": { + "properties": { + "domainOwnershipIdentifier": { + "type": "string", + "description": "The domain ownership identifier value.", + "readOnly": true + } + }, + "description": "Response of the GetDomainOwnershipIdentifier operation." + }, + "ApiManagementServiceApplyNetworkConfigurationParameters": { + "properties": { + "location": { + "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": "Parameter supplied to the Apply Network configuration operation." + }, + "ApiManagementServiceIdentity": { + "description": "Identity properties of the Api Management service resource.", + "properties": { + "type": { + "type": "string", + "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", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ApimIdentityType", + "modelAsString": true + } + }, + "principalId": { + "type": "string", + "format": "uuid", + "readOnly": true, + "description": "The principal id of the identity." + }, + "tenantId": { + "type": "string", + "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" + ] + }, + "UserIdentityProperties": { + "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" + } + } + }, + "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" + } + } + }, + "origin": { + "type": "string", + "description": "The operation origin." + }, + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The operation properties." + } + } + }, + "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", + "description": "URL to get the next set of operation list results if there are any." + } + } + } + }, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimdiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimdiagnostics.json new file mode 100644 index 000000000000..0226b0a04d2c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimdiagnostics.json @@ -0,0 +1,376 @@ +{ + "swagger": "2.0", + "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": "2021-08-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.ApiManagement/service/{serviceName}/diagnostics": { + "get": { + "tags": [ + "Diagnostic" + ], + "operationId": "Diagnostic_ListByService", + "description": "Lists all diagnostics of the API Management service instance.", + "x-ms-examples": { + "ApiManagementListDiagnostics": { + "$ref": "./examples/ApiManagementListDiagnostics.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "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 |
" + }, + { + "$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 response of diagnostics.", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticCollection" + } + }, + "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/DiagnosticContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}": { + "head": { + "tags": [ + "Diagnostic" + ], + "operationId": "Diagnostic_GetEntityTag", + "description": "Gets the entity state (Etag) version of the Diagnostic specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadDiagnostic": { + "$ref": "./examples/ApiManagementHeadDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "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.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Diagnostic" + ], + "operationId": "Diagnostic_Get", + "description": "Gets the details of the Diagnostic specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetDiagnostic": { + "$ref": "./examples/ApiManagementGetDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Diagnostic entity.", + "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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Diagnostic" + ], + "operationId": "Diagnostic_CreateOrUpdate", + "description": "Creates a new Diagnostic or updates an existing one.", + "x-ms-examples": { + "ApiManagementCreateDiagnostic": { + "$ref": "./examples/ApiManagementCreateDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "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.json#/definitions/DiagnosticContract" + } + }, + "200": { + "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.json#/definitions/DiagnosticContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Diagnostic" + ], + "operationId": "Diagnostic_Update", + "description": "Updates the details of the Diagnostic specified by its identifier.", + "x-ms-examples": { + "ApiManagementUpdateDiagnostic": { + "$ref": "./examples/ApiManagementUpdateDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "description": "Diagnostic Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Diagnostic" + ], + "operationId": "Diagnostic_Delete", + "description": "Deletes the specified Diagnostic.", + "x-ms-examples": { + "ApiManagementDeleteDiagnostic": { + "$ref": "./examples/ApiManagementDeleteDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The Diagnostic was successfully deleted." + }, + "204": { + "description": "The Diagnostic was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimemailtemplates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimemailtemplates.json new file mode 100644 index 000000000000..d8cf5a7fffdc --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimemailtemplates.json @@ -0,0 +1,363 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on Email Templates associated with your Azure API Management deployment.", + "version": "2021-08-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.ApiManagement/service/{serviceName}/templates": { + "get": { + "tags": [ + "EmailTemplate" + ], + "operationId": "EmailTemplate_ListByService", + "description": "Gets all email templates", + "x-ms-examples": { + "ApiManagementListTemplates": { + "$ref": "./examples/ApiManagementListTemplates.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "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 |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A Collection of the Email Template for the specified API Management service instance.", + "schema": { + "$ref": "./definitions.json#/definitions/EmailTemplateCollection" + } + }, + "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}/templates/{templateName}": { + "head": { + "tags": [ + "EmailTemplates" + ], + "operationId": "EmailTemplate_GetEntityTag", + "description": "Gets the entity state (Etag) version of the email template specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadEmailTemplate": { + "$ref": "./examples/ApiManagementHeadEmailTemplate.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TemplateNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified email template 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "EmailTemplates" + ], + "operationId": "EmailTemplate_Get", + "description": "Gets the details of the email template specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetTemplate": { + "$ref": "./examples/ApiManagementGetTemplate.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TemplateNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Email template.", + "schema": { + "$ref": "./definitions.json#/definitions/EmailTemplateContract" + }, + "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": [ + "EmailTemplates" + ], + "operationId": "EmailTemplate_CreateOrUpdate", + "description": "Updates an Email Template.", + "x-ms-examples": { + "ApiManagementCreateTemplate": { + "$ref": "./examples/ApiManagementCreateTemplate.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TemplateNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/EmailTemplateUpdateParameters" + }, + "description": "Email Template update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Email Template was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/EmailTemplateContract" + } + }, + "200": { + "description": "Email Template was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/EmailTemplateContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "EmailTemplates" + ], + "operationId": "EmailTemplate_Update", + "description": "Updates API Management email template", + "x-ms-examples": { + "ApiManagementUpdateTemplate": { + "$ref": "./examples/ApiManagementUpdateTemplate.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TemplateNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/EmailTemplateUpdateParameters" + }, + "description": "Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "email template 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/EmailTemplateContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "EmailTemplates" + ], + "operationId": "EmailTemplate_Delete", + "description": "Reset the Email Template to default template provided by the API Management service instance.", + "x-ms-examples": { + "ApiManagementDeleteTemplate": { + "$ref": "./examples/ApiManagementDeleteTemplate.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TemplateNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Email Template was successfully reset to default." + }, + "204": { + "description": "Email Template was successfully reset to default." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimgateways.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimgateways.json new file mode 100644 index 000000000000..56dc3e2e6b48 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimgateways.json @@ -0,0 +1,1325 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on Gateway entity in Azure API Management deployment.", + "version": "2021-08-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.ApiManagement/service/{serviceName}/gateways": { + "get": { + "tags": [ + "Gateway" + ], + "operationId": "Gateway_ListByService", + "description": "Lists a collection of gateways registered with service instance.", + "x-ms-examples": { + "ApiManagementListGateways": { + "$ref": "./examples/ApiManagementListGateways.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "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 |
| region | 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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Gateway entities.", + "schema": { + "$ref": "./definitions.json#/definitions/GatewayCollection" + } + }, + "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/GatewayContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}": { + "head": { + "tags": [ + "Gateway" + ], + "operationId": "Gateway_GetEntityTag", + "description": "Gets the entity state (Etag) version of the Gateway specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadGateway": { + "$ref": "./examples/ApiManagementHeadGateway.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified Gateway 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Gateway" + ], + "operationId": "Gateway_Get", + "description": "Gets the details of the Gateway specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetGateway": { + "$ref": "./examples/ApiManagementGetGateway.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Gateway entity.", + "schema": { + "$ref": "./definitions.json#/definitions/GatewayContract" + }, + "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": [ + "Gateway" + ], + "operationId": "Gateway_CreateOrUpdate", + "description": "Creates or updates a Gateway to be used in Api Management instance.", + "x-ms-examples": { + "ApiManagementCreateGateway": { + "$ref": "./examples/ApiManagementCreateGateway.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/GatewayContract" + } + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The new Gateway 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.json#/definitions/GatewayContract" + } + }, + "200": { + "description": "The Gateway 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/GatewayContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Gateway" + ], + "operationId": "Gateway_Update", + "description": "Updates the details of the gateway specified by its identifier.", + "x-ms-examples": { + "ApiManagementUpdateGateway": { + "$ref": "./examples/ApiManagementUpdateGateway.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/GatewayContract" + } + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The Gateway 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/GatewayContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Gateway" + ], + "operationId": "Gateway_Delete", + "description": "Deletes specific Gateway.", + "x-ms-examples": { + "ApiManagementDeleteGateway": { + "$ref": "./examples/ApiManagementDeleteGateway.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The Gateway was successfully deleted." + }, + "204": { + "description": "The Gateway 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}/gateways/{gatewayId}/listKeys": { + "post": { + "tags": [ + "GatewayListKeys" + ], + "operationId": "Gateway_ListKeys", + "description": "Retrieves gateway keys.", + "x-ms-examples": { + "ApiManagementGatewayListKeys": { + "$ref": "./examples/ApiManagementGatewayListKeys.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Gateway keys.", + "schema": { + "$ref": "./definitions.json#/definitions/GatewayKeysContract" + }, + "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}/gateways/{gatewayId}/regenerateKey": { + "post": { + "tags": [ + "GatewayRegenerateKey" + ], + "operationId": "Gateway_RegenerateKey", + "description": "Regenerates specified gateway key invalidating any tokens created with it.", + "x-ms-examples": { + "ApiManagementGatewayRegenerateKey": { + "$ref": "./examples/ApiManagementGatewayRegenerateKey.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/GatewayKeyRegenerationRequestContract" + } + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Key successfully regenerated" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/generateToken": { + "post": { + "tags": [ + "GatewayGenerateToken" + ], + "operationId": "Gateway_GenerateToken", + "description": "Gets the Shared Access Authorization Token for the gateway.", + "x-ms-examples": { + "ApiManagementGatewayGenerateToken": { + "$ref": "./examples/ApiManagementGatewayGenerateToken.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/GatewayTokenRequestContract" + } + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the authorization token for the gateway.", + "schema": { + "$ref": "./definitions.json#/definitions/GatewayTokenContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/hostnameConfigurations": { + "get": { + "tags": [ + "GatewayHostnameConfiguration" + ], + "operationId": "GatewayHostnameConfiguration_ListByService", + "description": "Lists the collection of hostname configurations for the specified gateway.", + "x-ms-examples": { + "ApiManagementListGatewayHostnameConfigurations": { + "$ref": "./examples/ApiManagementListGatewayHostnameConfigurations.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "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 |
| hostname | 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": "Collection of hostname configuration entities.", + "schema": { + "$ref": "./definitions.json#/definitions/GatewayHostnameConfigurationCollection" + } + }, + "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/GatewayHostnameConfigurationContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/hostnameConfigurations/{hcId}": { + "head": { + "tags": [ + "GatewayHostnameConfiguration" + ], + "operationId": "GatewayHostnameConfiguration_GetEntityTag", + "description": "Checks that hostname configuration entity specified by identifier exists for specified Gateway entity.", + "x-ms-examples": { + "ApiManagementHeadGatewayHostnameConfiguration": { + "$ref": "./examples/ApiManagementHeadGatewayHostnameConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayHostnameConfigurationIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified Gateway 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "GatewayHostnameConfiguration" + ], + "operationId": "GatewayHostnameConfiguration_Get", + "description": "Get details of a hostname configuration", + "x-ms-examples": { + "ApiManagementGetGatewayHostnameConfiguration": { + "$ref": "./examples/ApiManagementGetGatewayHostnameConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayHostnameConfigurationIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Gateway entity.", + "schema": { + "$ref": "./definitions.json#/definitions/GatewayHostnameConfigurationContract" + }, + "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": [ + "GatewayHostnameConfiguration" + ], + "operationId": "GatewayHostnameConfiguration_CreateOrUpdate", + "description": "Creates of updates hostname configuration for a Gateway.", + "x-ms-examples": { + "ApiManagementCreateGatewayHostnameConfiguration": { + "$ref": "./examples/ApiManagementCreateGatewayHostnameConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayHostnameConfigurationIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/GatewayHostnameConfigurationContract" + } + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The new Gateway hostname configuration 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.json#/definitions/GatewayHostnameConfigurationContract" + } + }, + "200": { + "description": "The Gateway hostname configuration 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/GatewayHostnameConfigurationContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "GatewayHostnameConfiguration" + ], + "operationId": "GatewayHostnameConfiguration_Delete", + "description": "Deletes the specified hostname configuration from the specified Gateway.", + "x-ms-examples": { + "ApiManagementDeleteGatewayHostnameConfiguration": { + "$ref": "./examples/ApiManagementDeleteGatewayHostnameConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayHostnameConfigurationIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Hostname configuration was successfully removed from Gateway." + }, + "204": { + "description": "Hostname configuration successfully removed by previous request or does not exist in Gateway." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/apis": { + "get": { + "tags": [ + "GatewayApi" + ], + "operationId": "GatewayApi_ListByService", + "description": "Lists a collection of the APIs associated with a gateway.", + "x-ms-examples": { + "ApiManagementListGatewayApis": { + "$ref": "./examples/ApiManagementListGatewayApis.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "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 |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains a collection of Api entities in the gateway.", + "schema": { + "$ref": "./definitions.json#/definitions/ApiCollection" + } + }, + "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/ApiContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/apis/{apiId}": { + "head": { + "tags": [ + "GatewayApi" + ], + "operationId": "GatewayApi_GetEntityTag", + "description": "Checks that API entity specified by identifier is associated with the Gateway entity.", + "x-ms-examples": { + "ApiManagementHeadGatewayApi": { + "$ref": "./examples/ApiManagementHeadGatewayApi.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified Gateway 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "GatewayApi" + ], + "operationId": "GatewayApi_CreateOrUpdate", + "description": "Adds an API to the specified Gateway.", + "x-ms-examples": { + "ApiManagementCreateGatewayApi": { + "$ref": "./examples/ApiManagementCreateGatewayApi.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "./definitions.json#/definitions/AssociationContract" + } + } + ], + "responses": { + "201": { + "description": "The API was successfully added to the Gateway.", + "schema": { + "$ref": "./definitions.json#/definitions/ApiContract" + } + }, + "200": { + "description": "The specified API is already added to the Gateway.", + "schema": { + "$ref": "./definitions.json#/definitions/ApiContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "GatewayApi" + ], + "operationId": "GatewayApi_Delete", + "description": "Deletes the specified API from the specified Gateway.", + "x-ms-examples": { + "ApiManagementDeleteGatewayApi": { + "$ref": "./examples/ApiManagementDeleteGatewayApi.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "API was successfully removed from Gateway" + }, + "204": { + "description": "API successfully removed by previous request or does not exist in Gateway" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/certificateAuthorities": { + "get": { + "tags": [ + "GatewayCertificateAuthority" + ], + "operationId": "GatewayCertificateAuthority_ListByService", + "description": "Lists the collection of Certificate Authorities for the specified Gateway entity.", + "x-ms-examples": { + "ApiManagementListGatewaycertificateAuthorities": { + "$ref": "./examples/ApiManagementListGatewayCertificateAuthorities.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | eq, ne | |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Collection of Gateway Certificate Authority entities.", + "schema": { + "$ref": "./definitions.json#/definitions/GatewayCertificateAuthorityCollection" + } + }, + "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/GatewayCertificateAuthorityContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/certificateAuthorities/{certificateId}": { + "head": { + "tags": [ + "GatewayCertificateAuthority" + ], + "operationId": "GatewayCertificateAuthority_GetEntityTag", + "description": "Checks if Certificate entity is assigned to Gateway entity as Certificate Authority.", + "x-ms-examples": { + "ApiManagementHeadGatewayCertificateAuthority": { + "$ref": "./examples/ApiManagementHeadGatewayCertificateAuthority.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified Gateway Certificate Authority 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "GatewayCertificateAuthority" + ], + "operationId": "GatewayCertificateAuthority_Get", + "description": "Get assigned Gateway Certificate Authority details.", + "x-ms-examples": { + "ApiManagementGetGatewayCertificateAuthority": { + "$ref": "./examples/ApiManagementGetGatewayCertificateAuthority.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Gateway Certificate Authority entity.", + "schema": { + "$ref": "./definitions.json#/definitions/GatewayCertificateAuthorityContract" + }, + "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": [ + "GatewayCertificateAuthority" + ], + "operationId": "GatewayCertificateAuthority_CreateOrUpdate", + "description": "Assign Certificate entity to Gateway entity as Certificate Authority.", + "x-ms-examples": { + "ApiManagementCreateGatewayCertificateAuthority": { + "$ref": "./examples/ApiManagementCreateGatewayCertificateAuthority.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/GatewayCertificateAuthorityContract" + } + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Certificate entity was successfully assigned to Gateway entity as Certificate Authority.", + "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/GatewayCertificateAuthorityContract" + } + }, + "200": { + "description": "Gateway Certificate Authority 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/GatewayCertificateAuthorityContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "GatewayCertificateAuthority" + ], + "operationId": "GatewayCertificateAuthority_Delete", + "description": "Remove relationship between Certificate Authority and Gateway entity.", + "x-ms-examples": { + "ApiManagementDeleteGatewayCertificateAuthority": { + "$ref": "./examples/ApiManagementDeleteGatewayCertificateAuthority.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Certificate entity was successfully removed from Gateway entity as Certificate Authority." + }, + "204": { + "description": "Certificate was successfully removed from Gateway entity as Certificate Authority by one of the previous requests or never assigned." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimgroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimgroups.json new file mode 100644 index 000000000000..57aed2ab5e6f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimgroups.json @@ -0,0 +1,590 @@ +{ + "swagger": "2.0", + "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": "2021-08-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.ApiManagement/service/{serviceName}/groups": { + "get": { + "tags": [ + "Group" + ], + "operationId": "Group_ListByService", + "description": "Lists a collection of groups defined within a service instance.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-create-groups" + }, + "x-ms-examples": { + "ApiManagementListGroups": { + "$ref": "./examples/ApiManagementListGroups.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "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 |
| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| externalId | filter | eq | |
" + }, + { + "$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 Group entities.", + "schema": { + "$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.json#/definitions/GroupContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}": { + "head": { + "tags": [ + "Group" + ], + "operationId": "Group_GetEntityTag", + "description": "Gets the entity state (Etag) version of the group specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadGroup": { + "$ref": "./examples/ApiManagementHeadGroup.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified group 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Group" + ], + "operationId": "Group_Get", + "description": "Gets the details of the group specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetGroup": { + "$ref": "./examples/ApiManagementGetGroup.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Group entity.", + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Group" + ], + "operationId": "Group_CreateOrUpdate", + "description": "Creates or Updates a group.", + "x-ms-examples": { + "ApiManagementCreateGroup": { + "$ref": "./examples/ApiManagementCreateGroup.json" + }, + "ApiManagementCreateGroupExternal": { + "$ref": "./examples/ApiManagementCreateGroupExternal.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/GroupCreateParameters" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Group was created successfully.", + "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" + } + } + }, + "200": { + "description": "Group already exists.", + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Group" + ], + "operationId": "Group_Update", + "description": "Updates the details of the group specified by its identifier.", + "x-ms-examples": { + "ApiManagementUpdateGroup": { + "$ref": "./examples/ApiManagementUpdateGroup.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/GroupUpdateParameters" + }, + "description": "Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Group" + ], + "operationId": "Group_Delete", + "description": "Deletes specific group of the API Management service instance.", + "x-ms-examples": { + "ApiManagementDeleteGroup": { + "$ref": "./examples/ApiManagementDeleteGroup.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The group was successfully deleted." + }, + "204": { + "description": "The group 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}/groups/{groupId}/users": { + "get": { + "tags": [ + "GroupUser" + ], + "operationId": "GroupUser_List", + "description": "Lists a collection of user entities associated with the group.", + "x-ms-examples": { + "ApiManagementListGroupUsers": { + "$ref": "./examples/ApiManagementListGroupUsers.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" + }, + { + "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 |
| 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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of user entities associated with the group.", + "schema": { + "$ref": "./definitions.json#/definitions/UserCollection" + } + }, + "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/UserContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{userId}": { + "head": { + "tags": [ + "GroupUser" + ], + "operationId": "GroupUser_CheckEntityExists", + "description": "Checks that user entity specified by identifier is associated with the group entity.", + "x-ms-examples": { + "ApiManagementHeadGroupUser": { + "$ref": "./examples/ApiManagementHeadGroupUser.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/UserIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Entity exists" + }, + "404": { + "description": "Entity does not exists." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "GroupUser" + ], + "operationId": "GroupUser_Create", + "description": "Add existing user to existing group", + "x-ms-examples": { + "ApiManagementCreateGroupUser": { + "$ref": "./examples/ApiManagementCreateGroupUser.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/UserIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The user was successfully added to the group.", + "schema": { + "$ref": "./definitions.json#/definitions/UserContract" + } + }, + "200": { + "description": "The specified user is already a member of the specified group.", + "schema": { + "$ref": "./definitions.json#/definitions/UserContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "GroupUser" + ], + "operationId": "GroupUser_Delete", + "description": "Remove existing user from existing group.", + "x-ms-examples": { + "ApiManagementDeleteGroupUser": { + "$ref": "./examples/ApiManagementDeleteGroupUser.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/UserIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The user was successfully removed from the group." + }, + "204": { + "description": "The user was successfully removed from the group." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimidentityprovider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimidentityprovider.json new file mode 100644 index 000000000000..b7785af9fa4b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimidentityprovider.json @@ -0,0 +1,416 @@ +{ + "swagger": "2.0", + "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": "2021-08-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.ApiManagement/service/{serviceName}/identityProviders": { + "get": { + "tags": [ + "IdentityProvider" + ], + "operationId": "IdentityProvider_ListByService", + "description": "Lists a collection of Identity Provider configured in the specified service instance.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-aad#how-to-authorize-developer-accounts-using-azure-active-directory" + }, + "x-ms-examples": { + "ApiManagementListIdentityProviders": { + "$ref": "./examples/ApiManagementListIdentityProviders.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 Identity Providers.", + "schema": { + "$ref": "./definitions.json#/definitions/IdentityProviderList" + } + }, + "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}/identityProviders/{identityProviderName}": { + "head": { + "tags": [ + "IdentityProvider" + ], + "operationId": "IdentityProvider_GetEntityTag", + "description": "Gets the entity state (Etag) version of the identityProvider specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadIdentityProvider": { + "$ref": "./examples/ApiManagementHeadIdentityProvider.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$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" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "IdentityProvider" + ], + "operationId": "IdentityProvider_Get", + "description": "Gets the configuration details of the identity Provider configured in specified service instance.", + "x-ms-examples": { + "ApiManagementGetIdentityProvider": { + "$ref": "./examples/ApiManagementGetIdentityProvider.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$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.json#/definitions/IdentityProviderContract" + }, + "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": [ + "IdentityProvider" + ], + "operationId": "IdentityProvider_CreateOrUpdate", + "description": "Creates or Updates the IdentityProvider configuration.", + "x-ms-examples": { + "ApiManagementCreateIdentityProvider": { + "$ref": "./examples/ApiManagementCreateIdentityProvider.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/IdentityProviderCreateContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "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.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.json#/definitions/IdentityProviderContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "IdentityProvider" + ], + "operationId": "IdentityProvider_Update", + "description": "Updates an existing IdentityProvider configuration.", + "x-ms-examples": { + "ApiManagementUpdateIdentityProvider": { + "$ref": "./examples/ApiManagementUpdateIdentityProvider.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/IdentityProviderUpdateParameters" + }, + "description": "Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "IdentityProvider" + ], + "operationId": "IdentityProvider_Delete", + "description": "Deletes the specified identity provider configuration.", + "x-ms-examples": { + "ApiManagementDeleteIdentityProvider": { + "$ref": "./examples/ApiManagementDeleteIdentityProvider.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The identity provider configuration was successfully deleted." + }, + "204": { + "description": "The identity provider configuration 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}/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" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$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" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimissues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimissues.json new file mode 100644 index 000000000000..a5da03178281 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimissues.json @@ -0,0 +1,150 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use this REST API to get all the issues across an Azure Api Management service.", + "version": "2021-08-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.ApiManagement/service/{serviceName}/issues": { + "get": { + "tags": [ + "Issue" + ], + "operationId": "Issue_ListByService", + "description": "Lists a collection of issues in the specified service instance.", + "x-ms-examples": { + "ApiManagementListIssues": { + "$ref": "./examples/ApiManagementListIssues.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "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 |
| 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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Issue entities.", + "schema": { + "$ref": "./definitions.json#/definitions/IssueCollection" + } + }, + "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/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" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimloggers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimloggers.json new file mode 100644 index 000000000000..8db69af71f65 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimloggers.json @@ -0,0 +1,382 @@ +{ + "swagger": "2.0", + "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": "2021-08-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.ApiManagement/service/{serviceName}/loggers": { + "get": { + "tags": [ + "Logger" + ], + "operationId": "Logger_ListByService", + "description": "Lists a collection of loggers in the specified service instance.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-log-event-hubs" + }, + "x-ms-examples": { + "ApiManagementListLoggers": { + "$ref": "./examples/ApiManagementListLoggers.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "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 |
| 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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Logger entities.", + "schema": { + "$ref": "./definitions.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": "./definitions.json#/definitions/LoggerContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerId}": { + "head": { + "tags": [ + "Logger" + ], + "operationId": "Logger_GetEntityTag", + "description": "Gets the entity state (Etag) version of the logger specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadLogger": { + "$ref": "./examples/ApiManagementHeadLogger.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "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" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Logger" + ], + "operationId": "Logger_Get", + "description": "Gets the details of the logger specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetLogger": { + "$ref": "./examples/ApiManagementGetLogger.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Logger entity.", + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Logger" + ], + "operationId": "Logger_CreateOrUpdate", + "description": "Creates or Updates a logger.", + "x-ms-examples": { + "ApiManagementCreateEHLogger": { + "$ref": "./examples/ApiManagementCreateEHLogger.json" + }, + "ApiManagementCreateAILogger": { + "$ref": "./examples/ApiManagementCreateAILogger.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/LoggerContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Logger was successfully created.", + "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" + } + } + }, + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Logger" + ], + "operationId": "Logger_Update", + "description": "Updates an existing logger.", + "x-ms-examples": { + "ApiManagementUpdateLogger": { + "$ref": "./examples/ApiManagementUpdateLogger.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/LoggerUpdateContract" + }, + "description": "Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Logger" + ], + "operationId": "Logger_Delete", + "description": "Deletes the specified logger.", + "x-ms-examples": { + "ApiManagementDeleteLogger": { + "$ref": "./examples/ApiManagementDeleteLogger.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The logger was successfully deleted." + }, + "204": { + "description": "The logger was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimnamedvalues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimnamedvalues.json new file mode 100644 index 000000000000..068ccdc5064c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimnamedvalues.json @@ -0,0 +1,515 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on NamedValue 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 NamedValues. Each API Management service instance has a NamedValues collection of key/value pairs that are global to the service instance. These NamedValues can be used to manage constant string values across all API configuration and policies.", + "version": "2021-08-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.ApiManagement/service/{serviceName}/namedValues": { + "get": { + "tags": [ + "NamedValue" + ], + "operationId": "NamedValue_ListByService", + "description": "Lists a collection of named values defined within a service instance.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-properties" + }, + "x-ms-examples": { + "ApiManagementListNamedValues": { + "$ref": "./examples/ApiManagementListNamedValues.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "name": "isKeyVaultRefreshFailed", + "in": "query", + "required": false, + "type": "boolean", + "description": "When set to true, the response contains only named value entities which failed refresh." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A Collection of the named value entities for the specified API Management service instance.", + "schema": { + "$ref": "./definitions.json#/definitions/NamedValueCollection" + } + }, + "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/NamedValueContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId}": { + "head": { + "tags": [ + "NamedValue" + ], + "operationId": "NamedValue_GetEntityTag", + "description": "Gets the entity state (Etag) version of the named value specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadNamedValue": { + "$ref": "./examples/ApiManagementHeadNamedValue.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified named value 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "NamedValue" + ], + "operationId": "NamedValue_Get", + "description": "Gets the details of the named value specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetNamedValue": { + "$ref": "./examples/ApiManagementGetNamedValue.json" + }, + "ApiManagementGetNamedValueWithKeyVault": { + "$ref": "./examples/ApiManagementGetNamedValueWithKeyVault.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified named value entity. No secrets included", + "schema": { + "$ref": "./definitions.json#/definitions/NamedValueContract" + }, + "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": [ + "NamedValue" + ], + "operationId": "NamedValue_CreateOrUpdate", + "description": "Creates or updates named value.", + "x-ms-examples": { + "ApiManagementCreateNamedValue": { + "$ref": "./examples/ApiManagementCreateNamedValue.json" + }, + "ApiManagementCreateNamedValueWithKeyVault": { + "$ref": "./examples/ApiManagementCreateNamedValueWithKeyVault.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/NamedValueCreateContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Request to create or update named value was accepted." + }, + "201": { + "description": "Named value was successfully created.", + "schema": { + "$ref": "./definitions.json#/definitions/NamedValueContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "200": { + "description": "Named value was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/NamedValueContract" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "NamedValue" + ], + "operationId": "NamedValue_Update", + "description": "Updates the specific named value.", + "x-ms-examples": { + "ApiManagementUpdateNamedValue": { + "$ref": "./examples/ApiManagementUpdateNamedValue.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/NamedValueUpdateParameters" + }, + "description": "Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Request to create or update named value was accepted." + }, + "200": { + "description": "Named value was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/NamedValueContract" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "delete": { + "tags": [ + "NamedValue" + ], + "operationId": "NamedValue_Delete", + "description": "Deletes specific named value from the API Management service instance.", + "x-ms-examples": { + "ApiManagementDeleteNamedValue": { + "$ref": "./examples/ApiManagementDeleteNamedValue.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Named value was successfully deleted." + }, + "204": { + "description": "Named value 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}/namedValues/{namedValueId}/listValue": { + "post": { + "tags": [ + "NamedValue" + ], + "operationId": "NamedValue_ListValue", + "description": "Gets the secret of the named value specified by its identifier.", + "x-ms-examples": { + "ApiManagementNamedValueListValue": { + "$ref": "./examples/ApiManagementNamedValueListValue.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified named value secret.", + "schema": { + "$ref": "./definitions.json#/definitions/NamedValueSecretContract" + }, + "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}/namedValues/{namedValueId}/refreshSecret": { + "post": { + "tags": [ + "NamedValue" + ], + "operationId": "NamedValue_RefreshSecret", + "description": "Refresh the secret of the named value specified by its identifier.", + "x-ms-examples": { + "ApiManagementRefreshNamedValue": { + "$ref": "./examples/ApiManagementRefreshNamedValue.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Request to refresh secret was accepted." + }, + "200": { + "description": "Named value was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/NamedValueContract" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimnetworkstatus.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimnetworkstatus.json new file mode 100644 index 000000000000..6d11a0de5d13 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimnetworkstatus.json @@ -0,0 +1,222 @@ +{ + "swagger": "2.0", + "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": "2021-08-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.ApiManagement/service/{serviceName}/networkstatus": { + "get": { + "tags": [ + "NetworkStatus" + ], + "operationId": "NetworkStatus_ListByService", + "description": "Gets the Connectivity Status to the external resources on which the Api Management service depends from inside the Cloud Service. This also returns the DNS Servers as visible to the CloudService.", + "x-ms-examples": { + "ApiManagementServiceGetNetworkStatus": { + "$ref": "./examples/ApiManagementServiceGetNetworkStatus.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Gets the list Network status details for all regions in which service is deployed.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkStatusContractByLocation" + }, + "description": "List of Network Status values." + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/locations/{locationName}/networkstatus": { + "get": { + "tags": [ + "NetworkStatus" + ], + "operationId": "NetworkStatus_ListByLocation", + "description": "Gets the Connectivity Status to the external resources on which the Api Management service depends from inside the Cloud Service. This also returns the DNS Servers as visible to the CloudService.", + "x-ms-examples": { + "ApiManagementServiceGetNetworkStatusByLocation": { + "$ref": "./examples/ApiManagementServiceGetNetworkStatusByLocation.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/LocationNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Gets the Network status details.", + "schema": { + "$ref": "#/definitions/NetworkStatusContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ConnectivityStatusContract": { + "properties": { + "name": { + "type": "string", + "description": "The hostname of the resource which the service depends on. This can be the database, storage or any other azure resource on which the service depends upon.", + "minLength": 1 + }, + "status": { + "type": "string", + "enum": [ + "initializing", + "success", + "failure" + ], + "x-ms-enum": { + "name": "ConnectivityStatusType", + "modelAsString": true + }, + "description": "Resource Connectivity Status Type identifier." + }, + "error": { + "type": "string", + "description": "Error details of the connectivity to the resource." + }, + "lastUpdated": { + "type": "string", + "format": "date-time", + "description": "The date when the resource connectivity status was last updated. This status should be updated every 15 minutes. If this status has not been updated, then it means that the service has lost network connectivity to the resource, from inside the Virtual Network.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + }, + "lastStatusChange": { + "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", + "resourceType", + "isOptional" + ], + "description": "Details about connectivity to a resource." + }, + "NetworkStatusContractByLocation": { + "properties": { + "location": { + "type": "string", + "description": "Location of service", + "minLength": 1 + }, + "networkStatus": { + "$ref": "#/definitions/NetworkStatusContract", + "description": "Network status in Location" + } + }, + "description": "Network Status in the Location" + }, + "NetworkStatusContract": { + "properties": { + "dnsServers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Gets the list of DNS servers IPV4 addresses." + }, + "connectivityStatus": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectivityStatusContract" + }, + "description": "Gets the list of Connectivity Status to the Resources on which the service depends upon." + } + }, + "required": [ + "dnsServers", + "connectivityStatus" + ], + "description": "Network Status details." + } + }, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimnotifications.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimnotifications.json new file mode 100644 index 000000000000..deb5ade0d3c2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimnotifications.json @@ -0,0 +1,564 @@ +{ + "swagger": "2.0", + "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": "2021-08-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.ApiManagement/service/{serviceName}/notifications": { + "get": { + "tags": [ + "Notification" + ], + "operationId": "Notification_ListByService", + "description": "Lists a collection of properties defined within a service instance.", + "x-ms-examples": { + "ApiManagementListNotifications": { + "$ref": "./examples/ApiManagementListNotifications.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A Collection of the Notification for the specified API Management service instance.", + "schema": { + "$ref": "./definitions.json#/definitions/NotificationCollection" + } + }, + "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}/notifications/{notificationName}": { + "get": { + "tags": [ + "Notification" + ], + "operationId": "Notification_Get", + "description": "Gets the details of the Notification specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetNotification": { + "$ref": "./examples/ApiManagementGetNotification.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Notification.", + "schema": { + "$ref": "./definitions.json#/definitions/NotificationContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Notification" + ], + "operationId": "Notification_CreateOrUpdate", + "description": "Create or Update API Management publisher notification.", + "x-ms-examples": { + "ApiManagementCreateNotification": { + "$ref": "./examples/ApiManagementCreateNotification.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Notification was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/NotificationContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers": { + "get": { + "tags": [ + "NotificationRecipientUser" + ], + "operationId": "NotificationRecipientUser_ListByNotification", + "description": "Gets the list of the Notification Recipient User subscribed to the notification.", + "x-ms-examples": { + "ApiManagementListNotificationRecipientUsers": { + "$ref": "./examples/ApiManagementListNotificationRecipientUsers.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the Recipient User collection for the notification.", + "schema": { + "$ref": "./definitions.json#/definitions/RecipientUserCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{userId}": { + "head": { + "tags": [ + "NotificationRecipientUser" + ], + "operationId": "NotificationRecipientUser_CheckEntityExists", + "description": "Determine if the Notification Recipient User is subscribed to the notification.", + "x-ms-examples": { + "ApiManagementHeadNotificationRecipientUser": { + "$ref": "./examples/ApiManagementHeadNotificationRecipientUser.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/UserIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The User is subscribed to receive the notification." + }, + "404": { + "description": "Entity does not exists." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "NotificationRecipientUser" + ], + "operationId": "NotificationRecipientUser_CreateOrUpdate", + "description": "Adds the API Management User to the list of Recipients for the Notification.", + "x-ms-examples": { + "ApiManagementCreateNotificationRecipientUser": { + "$ref": "./examples/ApiManagementCreateNotificationRecipientUser.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/UserIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Recipient User was successfully added to the notification list.", + "schema": { + "$ref": "./definitions.json#/definitions/RecipientUserContract" + } + }, + "200": { + "description": "Recipient User is already part of the notification list.", + "schema": { + "$ref": "./definitions.json#/definitions/RecipientUserContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "NotificationRecipientUser" + ], + "operationId": "NotificationRecipientUser_Delete", + "description": "Removes the API Management user from the list of Notification.", + "x-ms-examples": { + "ApiManagementDeleteNotificationRecipientUser": { + "$ref": "./examples/ApiManagementDeleteNotificationRecipientUser.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/UserIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Recipient User was successfully removed from the notification list." + }, + "204": { + "description": "Recipient User was successfully removed from the notification list." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails": { + "get": { + "tags": [ + "NotificationRecipientEmail" + ], + "operationId": "NotificationRecipientEmail_ListByNotification", + "description": "Gets the list of the Notification Recipient Emails subscribed to a notification.", + "x-ms-examples": { + "ApiManagementListNotificationRecipientEmails": { + "$ref": "./examples/ApiManagementListNotificationRecipientEmails.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the Recipient Email collection subscribed to the notification.", + "schema": { + "$ref": "./definitions.json#/definitions/RecipientEmailCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails/{email}": { + "head": { + "tags": [ + "NotificationRecipientEmail" + ], + "operationId": "NotificationRecipientEmail_CheckEntityExists", + "description": "Determine if Notification Recipient Email subscribed to the notification.", + "x-ms-examples": { + "ApiManagementHeadNotificationRecipientEmail": { + "$ref": "./examples/ApiManagementHeadNotificationRecipientEmail.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/EmailParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The Users is subscribed to receive the notification." + }, + "404": { + "description": "The Users is not subscribed to receive the notification." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "NotificationRecipientEmail" + ], + "operationId": "NotificationRecipientEmail_CreateOrUpdate", + "description": "Adds the Email address to the list of Recipients for the Notification.", + "x-ms-examples": { + "ApiManagementCreateNotificationRecipientEmail": { + "$ref": "./examples/ApiManagementCreateNotificationRecipientEmail.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/EmailParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Recipient Email was successfully added to the notification list.", + "schema": { + "$ref": "./definitions.json#/definitions/RecipientEmailContract" + } + }, + "200": { + "description": "Recipient Email is already part of the notification list.", + "schema": { + "$ref": "./definitions.json#/definitions/RecipientEmailContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "NotificationRecipientEmail" + ], + "operationId": "NotificationRecipientEmail_Delete", + "description": "Removes the email from the list of Notification.", + "x-ms-examples": { + "ApiManagementDeleteNotificationRecipientEmail": { + "$ref": "./examples/ApiManagementDeleteNotificationRecipientEmail.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/EmailParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Recipient Email was successfully removed to the notification list." + }, + "204": { + "description": "Recipient Email was successfully removed to the notification list." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimopenidconnectproviders.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimopenidconnectproviders.json new file mode 100644 index 000000000000..38fd46967505 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimopenidconnectproviders.json @@ -0,0 +1,427 @@ +{ + "swagger": "2.0", + "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": "2021-08-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.ApiManagement/service/{serviceName}/openidConnectProviders": { + "get": { + "tags": [ + "OpenidConnectProvider" + ], + "operationId": "OpenIdConnectProvider_ListByService", + "description": "Lists of all the OpenId Connect Providers.", + "x-ms-examples": { + "ApiManagementListOpenIdConnectProviders": { + "$ref": "./examples/ApiManagementListOpenIdConnectProviders.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "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 |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists of all the OpenId Connect Providers.", + "schema": { + "$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.json#/definitions/OpenidConnectProviderContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}": { + "head": { + "tags": [ + "OpenidConnectProvider" + ], + "operationId": "OpenIdConnectProvider_GetEntityTag", + "description": "Gets the entity state (Etag) version of the openIdConnectProvider specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadOpenIdConnectProvider": { + "$ref": "./examples/ApiManagementHeadOpenIdConnectProvider.json" + } + }, + "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": "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" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "OpenidConnectProvider" + ], + "operationId": "OpenIdConnectProvider_Get", + "description": "Gets specific OpenID Connect Provider without secrets.", + "x-ms-examples": { + "ApiManagementGetOpenIdConnectProvider": { + "$ref": "./examples/ApiManagementGetOpenIdConnectProvider.json" + } + }, + "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 entity without secrets.", + "schema": { + "$ref": "./definitions.json#/definitions/OpenidConnectProviderContract" + }, + "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": [ + "OpenidConnectProvider" + ], + "operationId": "OpenIdConnectProvider_CreateOrUpdate", + "description": "Creates or updates the OpenID Connect Provider.", + "x-ms-examples": { + "ApiManagementCreateOpenIdConnectProvider": { + "$ref": "./examples/ApiManagementCreateOpenIdConnectProvider.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/OpenidConnectProviderContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "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.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.json#/definitions/OpenidConnectProviderContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "OpenidConnectProvider" + ], + "operationId": "OpenIdConnectProvider_Update", + "description": "Updates the specific OpenID Connect Provider.", + "x-ms-examples": { + "ApiManagementUpdateOpenIdConnectProvider": { + "$ref": "./examples/ApiManagementUpdateOpenIdConnectProvider.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/OpenidConnectProviderUpdateContract" + }, + "description": "Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "OpenidConnectProvider" + ], + "operationId": "OpenIdConnectProvider_Delete", + "description": "Deletes specific OpenID Connect Provider of the API Management service instance.", + "x-ms-examples": { + "ApiManagementDeleteOpenIdConnectProvider": { + "$ref": "./examples/ApiManagementDeleteOpenIdConnectProvider.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OpenId Connect Provider was successfully deleted." + }, + "204": { + "description": "OpenId Connect Provider 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}/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" + } + }, + "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" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimoutbounddependency.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimoutbounddependency.json new file mode 100644 index 000000000000..50e0679d19be --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimoutbounddependency.json @@ -0,0 +1,153 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for getting the outbound network dependency 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": "2021-08-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.ApiManagement/service/{serviceName}/outboundNetworkDependenciesEndpoints": { + "get": { + "tags": [ + "OutboundNetworkDependenciesEndpoints" + ], + "operationId": "OutboundNetworkDependenciesEndpoints_ListByService", + "description": "Gets the network endpoints of all outbound dependencies of a ApiManagement service.", + "x-ms-examples": { + "ApiManagementServiceGetOutboundNetworkDependenciesEndpoints": { + "$ref": "./examples/ApiManagementServiceGetOutboundNetworkDependenciesEndpoints.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OutboundEnvironmentEndpointList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "OutboundEnvironmentEndpointList": { + "description": "Collection of Outbound Environment Endpoints", + "required": [ + "value" + ], + "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 + } + } + }, + "OutboundEnvironmentEndpoint": { + "description": "Endpoints accessed for a common purpose that the Api Management Service requires outbound network access to.", + "type": "object", + "properties": { + "category": { + "description": "The type of service accessed by the Api Management Service, e.g., Azure Storage, Azure SQL Database, and Azure Active Directory.", + "type": "string" + }, + "endpoints": { + "description": "The endpoints that the Api Management Service reaches the service at.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDependency" + } + } + } + }, + "EndpointDependency": { + "description": "A domain name that a service is reached at.", + "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" + } + } + } + }, + "EndpointDetail": { + "description": "Current TCP connectivity information from the Api Management Service to a single endpoint.", + "type": "object", + "properties": { + "port": { + "format": "int32", + "description": "The port an endpoint is connected to.", + "type": "integer" + }, + "region": { + "description": "The region of the dependency.", + "type": "string" + } + } + } + }, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimpolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimpolicies.json new file mode 100644 index 000000000000..84d1b119e899 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimpolicies.json @@ -0,0 +1,304 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on Global Policies in Azure API Management deployment.", + "version": "2021-08-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.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": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Returns an array of Policy Contracts.", + "schema": { + "$ref": "./definitions.json#/definitions/PolicyCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/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": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/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" + }, + "ApiManagementGetPolicyFormat": { + "$ref": "./examples/ApiManagementGetPolicyFormat.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyExportFormat" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Get the Global policy definition of the Api Management service.", + "schema": { + "$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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/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": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/PolicyContract" + }, + "description": "The policy contents to apply." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Global policy configuration was successfully created.", + "schema": { + "$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": "Global policy configuration of the Api Management service was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/PolicyContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/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": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Policy was successfully removed" + }, + "204": { + "description": "Policy successfully removed by previous request or does not exist" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimpolicydescriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimpolicydescriptions.json new file mode 100644 index 000000000000..39bee841a3fa --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimpolicydescriptions.json @@ -0,0 +1,100 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing retrieving a collection of policy snippets available in Azure API Management deployment.", + "version": "2021-08-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.ApiManagement/service/{serviceName}/policyDescriptions": { + "get": { + "tags": [ + "PolicyDescription" + ], + "operationId": "PolicyDescription_ListByService", + "description": "Lists all policy descriptions.", + "x-ms-examples": { + "ApiManagementListPolicyDescriptions": { + "$ref": "./examples/ApiManagementListPolicyDescriptions.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/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": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Returns an array of policy descriptions.", + "schema": { + "$ref": "./definitions.json#/definitions/PolicyDescriptionCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimportalrevisions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimportalrevisions.json new file mode 100644 index 000000000000..20a19d857c2a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimportalrevisions.json @@ -0,0 +1,326 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations in Azure API Management deployment.", + "version": "2021-08-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.ApiManagement/service/{serviceName}/portalRevisions": { + "get": { + "tags": [ + "PortalRevision" + ], + "operationId": "PortalRevision_ListByService", + "description": "Lists developer portal's revisions.", + "x-ms-examples": { + "ApiManagementListPortalRevisions": { + "$ref": "./examples/ApiManagementListPortalRevisions.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\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|isCurrent | eq, ne | |\n" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists portal's revisions.", + "schema": { + "$ref": "./definitions.json#/definitions/PortalRevisionCollection" + } + }, + "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}/portalRevisions/{portalRevisionId}": { + "head": { + "tags": [ + "PortalRevision" + ], + "operationId": "PortalRevision_GetEntityTag", + "description": "Gets the developer portal revision specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadPortalRevision": { + "$ref": "./examples/ApiManagementHeadPortalRevision.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PortalRevisionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The specified portal revision 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "PortalRevision" + ], + "operationId": "PortalRevision_Get", + "description": "Gets the developer portal's revision specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetPortalRevision": { + "$ref": "./examples/ApiManagementGetPortalRevision.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PortalRevisionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Gets the specified portal's revision.", + "schema": { + "$ref": "./definitions.json#/definitions/PortalRevisionContract" + }, + "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": [ + "PortalRevision" + ], + "operationId": "PortalRevision_CreateOrUpdate", + "description": "Creates a new developer portal's revision by running the portal's publishing. The `isCurrent` property indicates if the revision is publicly accessible.", + "x-ms-examples": { + "ApiManagementCreatePortalRevision": { + "$ref": "./examples/ApiManagementCreatePortalRevision.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PortalRevisionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/PortalRevisionContract" + } + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Request to create a developer portal revision was accepted." + }, + "201": { + "description": "The developer portal revision was successfully created.", + "schema": { + "$ref": "./definitions.json#/definitions/PortalRevisionContract" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "PortalRevision" + ], + "operationId": "PortalRevision_Update", + "description": "Updates the description of specified portal revision or makes it current.", + "x-ms-examples": { + "ApiManagementUpdatePortalRevision": { + "$ref": "./examples/ApiManagementUpdatePortalRevision.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PortalRevisionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/PortalRevisionContract" + } + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Request to update developer portal revision was accepted." + }, + "200": { + "description": "Developer portal revision was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/PortalRevisionContract" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimportalsettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimportalsettings.json new file mode 100644 index 000000000000..806022d36369 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimportalsettings.json @@ -0,0 +1,699 @@ +{ + "swagger": "2.0", + "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": "2021-08-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.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": [ + "SignInSettings" + ], + "operationId": "SignInSettings_GetEntityTag", + "description": "Gets the entity state (Etag) version of the SignInSettings.", + "x-ms-examples": { + "ApiManagementHeadSignInSettings": { + "$ref": "./examples/ApiManagementHeadSignInSettings.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": "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": [ + "SignInSettings" + ], + "operationId": "SignInSettings_Get", + "description": "Get Sign In Settings for the Portal", + "x-ms-examples": { + "ApiManagementPortalSettingsGetSignIn": { + "$ref": "./examples/ApiManagementPortalSettingsGetSignIn.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": "Sign-In settings.", + "schema": { + "$ref": "./definitions.json#/definitions/PortalSigninSettings" + }, + "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" + } + } + } + }, + "patch": { + "tags": [ + "SignInSettings" + ], + "operationId": "SignInSettings_Update", + "description": "Update Sign-In settings.", + "x-ms-examples": { + "ApiManagementPortalSettingsUpdateSignIn": { + "$ref": "./examples/ApiManagementPortalSettingsUpdateSignIn.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/PortalSigninSettings" + }, + "description": "Update Sign-In settings." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Sign-In settings was updated successfully." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "SignInSettings" + ], + "operationId": "SignInSettings_CreateOrUpdate", + "description": "Create or Update Sign-In settings.", + "x-ms-examples": { + "ApiManagementPortalSettingsUpdateSignIn": { + "$ref": "./examples/ApiManagementPortalSettingsPutSignIn.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/PortalSigninSettings" + }, + "description": "Create or update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Sign-In settings was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/PortalSigninSettings" + } + }, + "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/signup": { + "head": { + "tags": [ + "SignUpSettings" + ], + "operationId": "SignUpSettings_GetEntityTag", + "description": "Gets the entity state (Etag) version of the SignUpSettings.", + "x-ms-examples": { + "ApiManagementHeadSignUpSettings": { + "$ref": "./examples/ApiManagementHeadSignUpSettings.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": "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": [ + "SignUpSettings" + ], + "operationId": "SignUpSettings_Get", + "description": "Get Sign Up Settings for the Portal", + "x-ms-examples": { + "ApiManagementPortalSettingsGetSignUp": { + "$ref": "./examples/ApiManagementPortalSettingsGetSignUp.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": "Sign-Up settings.", + "schema": { + "$ref": "./definitions.json#/definitions/PortalSignupSettings" + }, + "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" + } + } + } + }, + "patch": { + "tags": [ + "SignUpSettings" + ], + "operationId": "SignUpSettings_Update", + "description": "Update Sign-Up settings.", + "x-ms-examples": { + "ApiManagementPortalSettingsUpdateSignUp": { + "$ref": "./examples/ApiManagementPortalSettingsUpdateSignUp.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/PortalSignupSettings" + }, + "description": "Update Sign-Up settings." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Sign-Up settings was updated successfully." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "SignUpSettings" + ], + "operationId": "SignUpSettings_CreateOrUpdate", + "description": "Create or Update Sign-Up settings.", + "x-ms-examples": { + "ApiManagementPortalSettingsUpdateSignUp": { + "$ref": "./examples/ApiManagementPortalSettingsPutSignUp.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/PortalSignupSettings" + }, + "description": "Create or update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Sign-Up settings was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/PortalSignupSettings" + } + }, + "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/delegation": { + "head": { + "tags": [ + "DelegationSettings" + ], + "operationId": "DelegationSettings_GetEntityTag", + "description": "Gets the entity state (Etag) version of the DelegationSettings.", + "x-ms-examples": { + "ApiManagementHeadDelegationSettings": { + "$ref": "./examples/ApiManagementHeadDelegationSettings.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": "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": [ + "DelegationSettings" + ], + "operationId": "DelegationSettings_Get", + "description": "Get Delegation Settings for the Portal.", + "x-ms-examples": { + "ApiManagementPortalSettingsGetDelegation": { + "$ref": "./examples/ApiManagementPortalSettingsGetDelegation.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": "Delegation settings.", + "schema": { + "$ref": "./definitions.json#/definitions/PortalDelegationSettings" + }, + "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" + } + } + } + }, + "patch": { + "tags": [ + "DelegationSettings" + ], + "operationId": "DelegationSettings_Update", + "description": "Update Delegation settings.", + "x-ms-examples": { + "ApiManagementPortalSettingsUpdateDelegation": { + "$ref": "./examples/ApiManagementPortalSettingsUpdateDelegation.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/PortalDelegationSettings" + }, + "description": "Update Delegation settings." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delegation settings was updated successfully." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "DelegationSettings" + ], + "operationId": "DelegationSettings_CreateOrUpdate", + "description": "Create or Update Delegation settings.", + "x-ms-examples": { + "ApiManagementPortalSettingsUpdateDelegation": { + "$ref": "./examples/ApiManagementPortalSettingsPutDelegation.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/PortalDelegationSettings" + }, + "description": "Create or update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delegation settings was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/PortalDelegationSettings" + } + }, + "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/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" + } + }, + "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" + } + } + } + } + } + }, + "definitions": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimprivatelink.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimprivatelink.json new file mode 100644 index 000000000000..7484a151d923 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimprivatelink.json @@ -0,0 +1,335 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on Private Endpoint Connection in Azure API Management deployment.", + "version": "2021-08-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.ApiManagement/service/{serviceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnection_ListByService", + "description": "Lists all private endpoint connections of the API Management service instance.", + "x-ms-examples": { + "ApiManagementListPrivateEndpointConnections": { + "$ref": "./examples/ApiManagementListPrivateEndpointConnections.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnection_GetByName", + "description": "Gets the details of the Private Endpoint Connection specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetPrivateEndpointConnection": { + "$ref": "./examples/ApiManagementGetPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "Name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnection_CreateOrUpdate", + "description": "Creates a new Private Endpoint Connection or updates an existing one.", + "x-ms-examples": { + "ApiManagementApproveOrRejectPrivateEndpointConnection": { + "$ref": "./examples/ApiManagementApproveOrRejectPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "Name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "privateEndpointConnectionRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/PrivateEndpointConnectionRequest" + } + } + ], + "responses": { + "201": { + "description": "Request to approve or reject private endpoint connection. Location header contains the URL where the status of the long running operation can be checked." + }, + "200": { + "description": "Private Endpoint Connection Request was completed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnection_Delete", + "description": "Deletes the specified Private Endpoint Connection.", + "x-ms-examples": { + "ApiManagementDeletePrivateEndpointConnection": { + "$ref": "./examples/ApiManagementDeletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "Name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The Private Endpoint Connection was successfully deleted." + }, + "202": { + "description": "Request to delete API was accepted. Location header contains the URL where the status of the long running operation can be checked." + }, + "204": { + "description": "Private endpoint connection 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/{serviceName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Description for Gets the private link resources", + "operationId": "PrivateEndpointConnection_ListPrivateLinkResources", + "x-ms-examples": { + "ApiManagementListPrivateLinkGroupResources": { + "$ref": "./examples/ApiManagementListPrivateLinkGroupResources.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/privateLinkResources/{privateLinkSubResourceName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Description for Gets the private link resources", + "operationId": "PrivateEndpointConnection_GetPrivateLinkResource", + "x-ms-examples": { + "ApiManagementGetPrivateLinkGroupResource": { + "$ref": "./examples/ApiManagementGetPrivateLinkGroupResource.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "privateLinkSubResourceName", + "in": "path", + "description": "Name of the private link resource.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimproducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimproducts.json new file mode 100644 index 000000000000..fd6076a6aaff --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimproducts.json @@ -0,0 +1,1408 @@ +{ + "swagger": "2.0", + "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": "2021-08-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.ApiManagement/service/{serviceName}/products": { + "get": { + "tags": [ + "Product" + ], + "operationId": "Product_ListByService", + "description": "Lists a collection of products in the specified service instance.", + "x-ms-examples": { + "ApiManagementListProducts": { + "$ref": "./examples/ApiManagementListProducts.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "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 |
| 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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "name": "expandGroups", + "in": "query", + "required": false, + "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" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A Collection of the Product entities for the specified API Management service instance.", + "schema": { + "$ref": "./definitions.json#/definitions/ProductCollection" + } + }, + "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/ProductContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}": { + "head": { + "tags": [ + "Product" + ], + "operationId": "Product_GetEntityTag", + "description": "Gets the entity state (Etag) version of the product specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadProduct": { + "$ref": "./examples/ApiManagementHeadProduct.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified Product 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Product" + ], + "operationId": "Product_Get", + "description": "Gets the details of the product specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetProduct": { + "$ref": "./examples/ApiManagementGetProduct.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Product entity.", + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Product" + ], + "operationId": "Product_CreateOrUpdate", + "description": "Creates or Updates a product.", + "x-ms-examples": { + "ApiManagementCreateProduct": { + "$ref": "./examples/ApiManagementCreateProduct.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/ProductContract" + }, + "description": "Create or update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Product was successfully created.", + "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" + } + } + }, + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Product" + ], + "operationId": "Product_Update", + "description": "Update existing product details.", + "x-ms-examples": { + "ApiManagementUpdateProduct": { + "$ref": "./examples/ApiManagementUpdateProduct.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/ProductUpdateParameters" + }, + "description": "Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Product" + ], + "operationId": "Product_Delete", + "description": "Delete product.", + "x-ms-examples": { + "ApiManagementDeleteProduct": { + "$ref": "./examples/ApiManagementDeleteProduct.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "name": "deleteSubscriptions", + "in": "query", + "required": false, + "type": "boolean", + "description": "Delete existing subscriptions associated with the product or not." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Product was successfully removed." + }, + "204": { + "description": "Product was successfully removed by previous request or does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis": { + "get": { + "tags": [ + "ProductApi" + ], + "operationId": "ProductApi_ListByProduct", + "description": "Lists a collection of the APIs associated with a product.", + "x-ms-examples": { + "ApiManagementListProductApis": { + "$ref": "./examples/ApiManagementListProductApis.json" + } + }, + "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 |
|-------------|-------------|-------------|-------------|
| 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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains a collection of Api entities in the product.", + "schema": { + "$ref": "./definitions.json#/definitions/ApiCollection" + } + }, + "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/ApiContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}": { + "head": { + "tags": [ + "ProductApi" + ], + "operationId": "ProductApi_CheckEntityExists", + "description": "Checks that API entity specified by identifier is associated with the Product entity.", + "x-ms-examples": { + "ApiManagementHeadProductApi": { + "$ref": "./examples/ApiManagementHeadProductApi.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Entity exists" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ProductApi" + ], + "operationId": "ProductApi_CreateOrUpdate", + "description": "Adds an API to the specified product.", + "x-ms-examples": { + "ApiManagementCreateProductApi": { + "$ref": "./examples/ApiManagementCreateProductApi.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The API was successfully added to the product.", + "schema": { + "$ref": "./definitions.json#/definitions/ApiContract" + } + }, + "200": { + "description": "The specified API is already added to the product.", + "schema": { + "$ref": "./definitions.json#/definitions/ApiContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ProductApi" + ], + "operationId": "ProductApi_Delete", + "description": "Deletes the specified API from the specified product.", + "x-ms-examples": { + "ApiManagementDeleteProductApi": { + "$ref": "./examples/ApiManagementDeleteProductApi.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "API was successfully removed from product" + }, + "204": { + "description": "API successfully removed by previous request or does not exist in product" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups": { + "get": { + "tags": [ + "ProductGroup" + ], + "operationId": "ProductGroup_ListByProduct", + "description": "Lists the collection of developer groups associated with the specified product.", + "x-ms-examples": { + "ApiManagementListProductGroups": { + "$ref": "./examples/ApiManagementListProductGroups.json" + } + }, + "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 |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | |
| displayName | filter | eq, ne | |
| description | filter | eq, ne | |
" + }, + { + "$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 Group entities.", + "schema": { + "$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.json#/definitions/GroupContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups/{groupId}": { + "head": { + "tags": [ + "ProductGroup" + ], + "operationId": "ProductGroup_CheckEntityExists", + "description": "Checks that Group entity specified by identifier is associated with the Product entity.", + "x-ms-examples": { + "ApiManagementHeadProductGroup": { + "$ref": "./examples/ApiManagementHeadProductGroup.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The Group is associated with the Product." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ProductGroup" + ], + "operationId": "ProductGroup_CreateOrUpdate", + "description": "Adds the association between the specified developer group with the specified product.", + "x-ms-examples": { + "ApiManagementCreateProductGroup": { + "$ref": "./examples/ApiManagementCreateProductGroup.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The group was successfully associated with the product.", + "schema": { + "$ref": "./definitions.json#/definitions/GroupContract" + } + }, + "200": { + "description": "The specified group is already associated with the product.", + "schema": { + "$ref": "./definitions.json#/definitions/GroupContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ProductGroup" + ], + "operationId": "ProductGroup_Delete", + "description": "Deletes the association between the specified group and product.", + "x-ms-examples": { + "ApiManagementDeleteProductGroup": { + "$ref": "./examples/ApiManagementDeleteProductGroup.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The group was successfully disassociated with the product." + }, + "204": { + "description": "The group was successfully disassociated with the product." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/subscriptions": { + "get": { + "tags": [ + "ProductSubscription" + ], + "operationId": "ProductSubscriptions_List", + "description": "Lists the collection of subscriptions to the specified product.", + "x-ms-examples": { + "ApiManagementListProductSubscriptions": { + "$ref": "./examples/ApiManagementListProductSubscriptions.json" + } + }, + "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 |
|-------------|-------------|-------------|-------------|
| 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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of subscription entities.", + "schema": { + "$ref": "./definitions.json#/definitions/SubscriptionCollection" + } + }, + "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/SubscriptionContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies": { + "get": { + "tags": [ + "ProductPolicy" + ], + "operationId": "ProductPolicy_ListByProduct", + "description": "Get the policy configuration at the Product level.", + "x-ms-examples": { + "ApiManagementListProductPolicies": { + "$ref": "./examples/ApiManagementListProductPolicies.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Product Policy information.", + "schema": { + "$ref": "./definitions.json#/definitions/PolicyCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId}": { + "head": { + "tags": [ + "ProductPolicy" + ], + "operationId": "ProductPolicy_GetEntityTag", + "description": "Get the ETag of the policy configuration at the Product level.", + "x-ms-examples": { + "ApiManagementHeadProductPolicy": { + "$ref": "./examples/ApiManagementHeadProductPolicy.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Product Policy Etag information.", + "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": [ + "ProductPolicy" + ], + "operationId": "ProductPolicy_Get", + "description": "Get the policy configuration at the Product level.", + "x-ms-examples": { + "ApiManagementGetProductPolicy": { + "$ref": "./examples/ApiManagementGetProductPolicy.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyExportFormat" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Product Policy information.", + "schema": { + "$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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ProductPolicy" + ], + "operationId": "ProductPolicy_CreateOrUpdate", + "description": "Creates or updates policy configuration for the Product.", + "x-ms-examples": { + "ApiManagementCreateProductPolicy": { + "$ref": "./examples/ApiManagementCreateProductPolicy.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/PolicyContract" + }, + "description": "The policy contents to apply." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Product policy configuration was successfully created.", + "schema": { + "$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": "./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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ProductPolicy" + ], + "operationId": "ProductPolicy_Delete", + "description": "Deletes the policy configuration at the Product.", + "x-ms-examples": { + "ApiManagementDeleteProductPolicy": { + "$ref": "./examples/ApiManagementDeleteProductPolicy.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the policy configuration at the Product level." + }, + "204": { + "description": "Successfully deleted the policy configuration at the Product level." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/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" + } + }, + "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" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "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" + } + }, + "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" + } + } + } + }, + "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" + } + } + } + }, + "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" + } + } + } + }, + "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" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimproductsByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimproductsByTags.json new file mode 100644 index 000000000000..9de64ae846f0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimproductsByTags.json @@ -0,0 +1,106 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations to retrieve Products by Tags in Azure API Management deployment.", + "version": "2021-08-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.ApiManagement/service/{serviceName}/productsByTags": { + "get": { + "tags": [ + "ProductsByTag" + ], + "operationId": "Product_ListByTags", + "description": "Lists a collection of products associated with tags.", + "x-ms-examples": { + "ApiManagementListProductsByTags": { + "$ref": "./examples/ApiManagementListProductsByTags.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "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 |
| 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 | substringof, contains, startswith, endswith |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "name": "includeNotTaggedProducts", + "in": "query", + "required": false, + "type": "boolean", + "description": "Include not tagged Products." + }, + { + "$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" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./definitions.json#/definitions/TagResourceContract" + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimquotas.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimquotas.json new file mode 100644 index 000000000000..7288a2012e6d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimquotas.json @@ -0,0 +1,248 @@ +{ + "swagger": "2.0", + "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": "2021-08-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.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}": { + "get": { + "tags": [ + "QuotaByCounterKeys" + ], + "operationId": "QuotaByCounterKeys_ListByService", + "description": "Lists a collection of current quota counter periods associated with the counter-key configured in the policy on the specified service instance. The api does not support paging yet.", + "externalDocs": { + "url": "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", + "description": "Document describing how to configure the quota policies." + }, + "x-ms-examples": { + "ApiManagementGetQuotaCounterKeys": { + "$ref": "./examples/ApiManagementGetQuotaCounterKeys.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$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.json#/definitions/QuotaCounterCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "QuotaByCounterKeys" + ], + "operationId": "QuotaByCounterKeys_Update", + "description": "Updates all the quota counter values specified with the existing quota counter key to a value in the specified service instance. This should be used for reset of the quota counter values.", + "x-ms-examples": { + "ApiManagementUpdateQuotaCounterKey": { + "$ref": "./examples/ApiManagementUpdateQuotaCounterKey.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/QuotaCounterValueUpdateContract" + }, + "description": "The value of the quota counter to be applied to all quota counter periods." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Updated Quota Counter Values.", + "schema": { + "$ref": "./definitions.json#/definitions/QuotaCounterCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/periods/{quotaPeriodKey}": { + "get": { + "tags": [ + "QuotaByPeriodKeys" + ], + "operationId": "QuotaByPeriodKeys_Get", + "description": "Gets the value of the quota counter associated with the counter-key in the policy for the specific period in service instance.", + "externalDocs": { + "url": "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", + "description": "Document describing how to configure the quota policies." + }, + "x-ms-examples": { + "ApiManagementGetQuotaCounterKeysByQuotaPeriod": { + "$ref": "./examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter" + }, + { + "$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.json#/definitions/QuotaCounterContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "QuotaByPeriodKeys" + ], + "operationId": "QuotaByPeriodKeys_Update", + "description": "Updates an existing quota counter value in the specified service instance.", + "x-ms-examples": { + "ApiManagementUpdateQuotaCounterKeyByQuotaPeriod": { + "$ref": "./examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/QuotaPeriodKeyParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/QuotaCounterValueUpdateContract" + }, + "description": "The value of the Quota counter to be applied on the specified period." + }, + { + "$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.json#/definitions/QuotaCounterContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimregions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimregions.json new file mode 100644 index 000000000000..e4455b631800 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimregions.json @@ -0,0 +1,85 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations in Azure API Management deployment.", + "version": "2021-08-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.ApiManagement/service/{serviceName}/regions": { + "get": { + "tags": [ + "Region" + ], + "operationId": "Region_ListByService", + "description": "Lists all azure regions in which the service exists.", + "x-ms-examples": { + "ApiManagementListRegions": { + "$ref": "./examples/ApiManagementListRegions.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 of Regions in which the service is deployed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/RegionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimreports.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimreports.json new file mode 100644 index 000000000000..a76658eea3a3 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimreports.json @@ -0,0 +1,562 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs to get the analytics reports associated with your Azure API Management deployment.", + "version": "2021-08-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.ApiManagement/service/{serviceName}/reports/byApi": { + "get": { + "tags": [ + "Reports" + ], + "operationId": "Reports_ListByApi", + "description": "Lists report records by API.", + "x-ms-examples": { + "ApiManagementGetReportsByApi": { + "$ref": "./examples/ApiManagementGetReportsByApi.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": true, + "type": "string", + "description": "The filter to apply on the operation." + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "OData order by query option." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Report record.", + "schema": { + "$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.json#/definitions/ReportRecordContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byUser": { + "get": { + "tags": [ + "Reports" + ], + "operationId": "Reports_ListByUser", + "description": "Lists report records by User.", + "x-ms-examples": { + "ApiManagementGetReportsByUser": { + "$ref": "./examples/ApiManagementGetReportsByUser.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": true, + "type": "string", + "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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "OData order by query option." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Report record.", + "schema": { + "$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.json#/definitions/ReportRecordContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byOperation": { + "get": { + "tags": [ + "Reports" + ], + "operationId": "Reports_ListByOperation", + "description": "Lists report records by API Operations.", + "x-ms-examples": { + "ApiManagementGetReportsByOperation": { + "$ref": "./examples/ApiManagementGetReportsByOperation.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": true, + "type": "string", + "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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "OData order by query option." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Report record.", + "schema": { + "$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.json#/definitions/ReportRecordContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byProduct": { + "get": { + "tags": [ + "Reports" + ], + "operationId": "Reports_ListByProduct", + "description": "Lists report records by Product.", + "x-ms-examples": { + "ApiManagementGetReportsByProduct": { + "$ref": "./examples/ApiManagementGetReportsByProduct.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": true, + "type": "string", + "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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "OData order by query option." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Report record.", + "schema": { + "$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.json#/definitions/ReportRecordContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byGeo": { + "get": { + "tags": [ + "Reports" + ], + "operationId": "Reports_ListByGeo", + "description": "Lists report records by geography.", + "x-ms-examples": { + "ApiManagementGetReportsByGeo": { + "$ref": "./examples/ApiManagementGetReportsByGeo.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": true, + "type": "string", + "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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Report record.", + "schema": { + "$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.json#/definitions/ReportRecordContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/bySubscription": { + "get": { + "tags": [ + "Reports" + ], + "operationId": "Reports_ListBySubscription", + "description": "Lists report records by subscription.", + "x-ms-examples": { + "ApiManagementGetReportsBySubscription": { + "$ref": "./examples/ApiManagementGetReportsBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": true, + "type": "string", + "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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "OData order by query option." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Report record.", + "schema": { + "$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.json#/definitions/ReportRecordContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byTime": { + "get": { + "tags": [ + "Reports" + ], + "operationId": "Reports_ListByTime", + "description": "Lists report records by Time.", + "x-ms-examples": { + "ApiManagementGetReportsByTime": { + "$ref": "./examples/ApiManagementGetReportsByTime.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": true, + "type": "string", + "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" + }, + { + "$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, seconds))." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Report record.", + "schema": { + "$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.json#/definitions/ReportRecordContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byRequest": { + "get": { + "tags": [ + "Reports" + ], + "operationId": "Reports_ListByRequest", + "description": "Lists report records by Request.", + "x-ms-examples": { + "ApiManagementGetReportsByRequest": { + "$ref": "./examples/ApiManagementGetReportsByRequest.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": true, + "type": "string", + "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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Report record.", + "schema": { + "$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.json#/definitions/RequestReportRecordContract" + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimsettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimsettings.json new file mode 100644 index 000000000000..b4a9813db333 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimsettings.json @@ -0,0 +1,144 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on settings 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": "2021-08-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.ApiManagement/service/{serviceName}/settings": { + "get": { + "tags": [ + "TenantSettings" + ], + "operationId": "TenantSettings_ListByService", + "description": "Public settings.", + "x-ms-examples": { + "ApiManagementListTenantSettings": { + "$ref": "./examples/ApiManagementListTenantSettings.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 TenantSettings entities.", + "schema": { + "$ref": "./definitions.json#/definitions/TenantSettingsCollection" + } + }, + "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/TenantSettingsContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/settings/{settingsType}": { + "get": { + "tags": [ + "TenantSettings" + ], + "operationId": "TenantSettings_Get", + "description": "Get tenant settings.", + "x-ms-examples": { + "ApiManagementGetTenantSettings": { + "$ref": "./examples/ApiManagementGetTenantSettings.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/SettingsParameter" + } + ], + "responses": { + "200": { + "description": "Tenant Settings.", + "schema": { + "$ref": "./definitions.json#/definitions/TenantSettingsContract" + }, + "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" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimskus.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimskus.json new file mode 100644 index 000000000000..6bd11d11a4d4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimskus.json @@ -0,0 +1,371 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "SKUs available for Microsoft.ApiManagement", + "version": "2021-08-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}/providers/Microsoft.ApiManagement/skus": { + "get": { + "tags": [ + "Skus" + ], + "operationId": "ApiManagementSkus_List", + "description": "Gets the list of Microsoft.ApiManagement SKUs available for your Subscription.", + "x-ms-examples": { + "Lists all available Resource SKUs": { + "$ref": "./examples/ApiManagementListSku.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApiManagementSkusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ApiManagementSkuCapacity": { + "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": "ApiManagementSkuCapacityScaleType", + "modelAsString": false + } + } + }, + "description": "Describes scaling information of a SKU." + }, + "ApiManagementSkuCosts": { + "properties": { + "meterID": { + "type": "string", + "readOnly": true, + "description": "Used for querying price from commerce." + }, + "quantity": { + "type": "integer", + "readOnly": true, + "format": "int64", + "description": "The multiplier is needed to extend the base metered cost." + }, + "extendedUnit": { + "type": "string", + "readOnly": true, + "description": "An invariant to show the extended unit." + } + }, + "description": "Describes metadata for retrieving price info." + }, + "ApiManagementSkuCapabilities": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "An invariant to describe the feature." + }, + "value": { + "type": "string", + "readOnly": true, + "description": "An invariant if the feature is measured by quantity." + } + }, + "description": "Describes The SKU capabilities object." + }, + "ApiManagementSkuZoneDetails": { + "properties": { + "name": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "The set of zones that the SKU is available in with the specified capabilities." + }, + "capabilities": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ApiManagementSkuCapabilities" + }, + "description": "A list of capabilities that are available for the SKU in the specified list of zones." + } + }, + "description": "Describes The zonal capabilities of a SKU." + }, + "ApiManagementSkuRestrictions": { + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of restrictions.", + "enum": [ + "Location", + "Zone" + ], + "x-ms-enum": { + "name": "ApiManagementSkuRestrictionsType", + "modelAsString": false + } + }, + "values": { + "type": "array", + "readOnly": true, + "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/ApiManagementSkuRestrictionInfo", + "readOnly": true, + "description": "The information about the restriction where the SKU cannot be used." + }, + "reasonCode": { + "type": "string", + "readOnly": true, + "description": "The reason for restriction.", + "enum": [ + "QuotaId", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "ApiManagementSkuRestrictionsReasonCode", + "modelAsString": false + } + } + }, + "description": "Describes scaling information of a SKU." + }, + "ApiManagementSku": { + "properties": { + "resourceType": { + "readOnly": true, + "type": "string", + "description": "The type of resource the SKU applies to." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of SKU." + }, + "tier": { + "readOnly": true, + "type": "string", + "description": "Specifies the tier of virtual machines in a scale set.

Possible Values:

**Standard**

**Basic**" + }, + "size": { + "readOnly": true, + "type": "string", + "description": "The Size of the SKU." + }, + "family": { + "readOnly": true, + "type": "string", + "description": "The Family of this particular SKU." + }, + "kind": { + "readOnly": true, + "type": "string", + "description": "The Kind of resources that are supported in this SKU." + }, + "capacity": { + "$ref": "#/definitions/ApiManagementSkuCapacity", + "readOnly": true, + "description": "Specifies the number of virtual machines in the scale set." + }, + "locations": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "The set of locations that the SKU is available." + }, + "locationInfo": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ApiManagementSkuLocationInfo" + }, + "description": "A list of locations and availability zones in those locations where the SKU is available." + }, + "apiVersions": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "The api versions that support this SKU." + }, + "costs": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ApiManagementSkuCosts" + }, + "description": "Metadata for retrieving price info." + }, + "capabilities": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ApiManagementSkuCapabilities" + }, + "description": "A name value pair to describe the capability." + }, + "restrictions": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ApiManagementSkuRestrictions" + }, + "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." + } + }, + "description": "Describes an available ApiManagement SKU." + }, + "ApiManagementSkuLocationInfo": { + "properties": { + "location": { + "readOnly": true, + "type": "string", + "description": "Location of the SKU" + }, + "zones": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "List of availability zones where the SKU is supported." + }, + "zoneDetails": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ApiManagementSkuZoneDetails" + }, + "description": "Details of capabilities available to a SKU in specific zones." + } + } + }, + "ApiManagementSkuRestrictionInfo": { + "properties": { + "locations": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "Locations where the SKU is restricted" + }, + "zones": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "List of availability zones where the SKU is restricted." + } + } + }, + "ApiManagementSkusResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApiManagementSku" + }, + "description": "The list of skus available for the subscription." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URI to fetch the next page of Resource Skus. Call ListNext() with this URI to fetch the next page of Resource Skus" + } + }, + "required": [ + "value" + ], + "description": "The List Resource Skus operation response." + } + }, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimsubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimsubscriptions.json new file mode 100644 index 000000000000..97f4c60be5e8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimsubscriptions.json @@ -0,0 +1,523 @@ +{ + "swagger": "2.0", + "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": "2021-08-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.ApiManagement/service/{serviceName}/subscriptions": { + "get": { + "tags": [ + "Subscription" + ], + "operationId": "Subscription_List", + "description": "Lists all subscriptions of the API Management service instance.", + "x-ms-examples": { + "ApiManagementListSubscriptions": { + "$ref": "./examples/ApiManagementListSubscriptions.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "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 |
| 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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A collection of the Subscription entities for the specified API Management service instance.", + "schema": { + "$ref": "./definitions.json#/definitions/SubscriptionCollection" + } + }, + "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/SubscriptionContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}": { + "head": { + "tags": [ + "Subscription" + ], + "operationId": "Subscription_GetEntityTag", + "description": "Gets the entity state (Etag) version of the apimanagement subscription specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadSubscription": { + "$ref": "./examples/ApiManagementHeadSubscription.json" + } + }, + "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" + } + ], + "responses": { + "200": { + "description": "Specified apimanagement subscription 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Subscription" + ], + "operationId": "Subscription_Get", + "description": "Gets the specified Subscription entity.", + "x-ms-examples": { + "ApiManagementGetSubscription": { + "$ref": "./examples/ApiManagementGetSubscription.json" + } + }, + "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" + } + ], + "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" + } + } + } + }, + "put": { + "tags": [ + "Subscription" + ], + "operationId": "Subscription_CreateOrUpdate", + "description": "Creates or updates the subscription of specified user to the specified product.", + "x-ms-examples": { + "ApiManagementCreateSubscription": { + "$ref": "./examples/ApiManagementCreateSubscription.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/SubscriptionCreateParameters" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/NotifySubscriptionStateChangeParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$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.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.json#/definitions/SubscriptionContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Subscription" + ], + "operationId": "Subscription_Update", + "description": "Updates the details of a subscription specified by its identifier.", + "x-ms-examples": { + "ApiManagementUpdateSubscription": { + "$ref": "./examples/ApiManagementUpdateSubscription.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/SubscriptionUpdateParameters" + }, + "description": "Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/NotifySubscriptionStateChangeParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AppTypeParameter" + } + ], + "responses": { + "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.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Subscription" + ], + "operationId": "Subscription_Delete", + "description": "Deletes the specified subscription.", + "x-ms-examples": { + "ApiManagementDeleteSubscription": { + "$ref": "./examples/ApiManagementDeleteSubscription.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The subscription details were successfully deleted." + }, + "204": { + "description": "The subscription details were 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}/subscriptions/{sid}/regeneratePrimaryKey": { + "post": { + "tags": [ + "Subscription" + ], + "operationId": "Subscription_RegeneratePrimaryKey", + "description": "Regenerates primary key of existing subscription of the API Management service instance.", + "x-ms-examples": { + "ApiManagementSubscriptionRegeneratePrimaryKey": { + "$ref": "./examples/ApiManagementSubscriptionRegeneratePrimaryKey.json" + } + }, + "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" + } + ], + "responses": { + "204": { + "description": "The primary key was successfully regenerated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regenerateSecondaryKey": { + "post": { + "tags": [ + "Subscription" + ], + "operationId": "Subscription_RegenerateSecondaryKey", + "description": "Regenerates secondary key of existing subscription of the API Management service instance.", + "x-ms-examples": { + "ApiManagementSubscriptionRegenerateSecondaryKey": { + "$ref": "./examples/ApiManagementSubscriptionRegenerateSecondaryKey.json" + } + }, + "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" + } + ], + "responses": { + "204": { + "description": "The secondary key was successfully regenerated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/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" + } + }, + "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" + } + ], + "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" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimtagresources.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimtagresources.json new file mode 100644 index 000000000000..f0f0db562a62 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimtagresources.json @@ -0,0 +1,99 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "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": [ + "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.ApiManagement/service/{serviceName}/tagResources": { + "get": { + "tags": [ + "TagResource" + ], + "operationId": "TagResource_ListByService", + "description": "Lists a collection of resources associated with tags.", + "x-ms-examples": { + "ApiManagementListTagResources": { + "$ref": "./examples/ApiManagementListTagResources.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "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" + }, + { + "$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": "./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.json#/definitions/TagResourceContract" + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimtags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimtags.json new file mode 100644 index 000000000000..3763ee625d0e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimtags.json @@ -0,0 +1,383 @@ +{ + "swagger": "2.0", + "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": "2021-08-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.ApiManagement/service/{serviceName}/tags": { + "get": { + "tags": [ + "Tag" + ], + "operationId": "Tag_ListByService", + "description": "Lists a collection of tags defined within a service instance.", + "x-ms-examples": { + "ApiManagementListTags": { + "$ref": "./examples/ApiManagementListTags.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "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 |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$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" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Tag entities.", + "schema": { + "$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.json#/definitions/TagContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}": { + "head": { + "tags": [ + "Tag" + ], + "operationId": "Tag_GetEntityState", + "description": "Gets the entity state version of the tag specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadTag": { + "$ref": "./examples/ApiManagementHeadTag.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$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" + } + } + } + }, + "get": { + "tags": [ + "Tag" + ], + "operationId": "Tag_Get", + "description": "Gets the details of the tag specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetTag": { + "$ref": "./examples/ApiManagementGetTag.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Tag entity.", + "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" + } + } + } + }, + "put": { + "tags": [ + "Tag" + ], + "operationId": "Tag_CreateOrUpdate", + "description": "Creates a tag.", + "x-ms-examples": { + "ApiManagementCreateTag": { + "$ref": "./examples/ApiManagementCreateTag.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/TagCreateUpdateParameters" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "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.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.json#/definitions/TagContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Tag" + ], + "operationId": "Tag_Update", + "description": "Updates the details of the tag specified by its identifier.", + "x-ms-examples": { + "ApiManagementUpdateTag": { + "$ref": "./examples/ApiManagementUpdateTag.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/TagCreateUpdateParameters" + }, + "description": "Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "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" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/TagContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Tag" + ], + "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": "./apimanagement.json#/parameters/TagIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Tag successfully removed" + }, + "204": { + "description": "Tag successfully removed by previous request or does not exist" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimtenant.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimtenant.json new file mode 100644 index 000000000000..212afc1096c8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimtenant.json @@ -0,0 +1,770 @@ +{ + "swagger": "2.0", + "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": "2021-08-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.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 without secrets.", + "x-ms-examples": { + "ApiManagementGetTenantAccess": { + "$ref": "./examples/ApiManagementGetTenantAccess.json" + }, + "ApiManagementGetTenantGitAccess": { + "$ref": "./examples/ApiManagementGetTenantGitAccess.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": "Tenant Access information.", + "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.", + "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": { + "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" + } + } + } + }, + "patch": { + "tags": [ + "TenantAccess" + ], + "operationId": "TenantAccess_Update", + "description": "Update tenant access information details.", + "x-ms-examples": { + "ApiManagementUpdateTenantAccess": { + "$ref": "./examples/ApiManagementUpdateTenantAccess.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/AccessInformationUpdateParameters" + }, + "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": { + "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}/tenant/{accessName}/regeneratePrimaryKey": { + "post": { + "tags": [ + "TenantAccess" + ], + "operationId": "TenantAccess_RegeneratePrimaryKey", + "description": "Regenerate primary access key", + "x-ms-examples": { + "ApiManagementTenantAccessRegenerateKey": { + "$ref": "./examples/ApiManagementTenantAccessRegenerateKey.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": { + "204": { + "description": "The primary key was successfully regenerated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regenerateSecondaryKey": { + "post": { + "tags": [ + "TenantAccess" + ], + "operationId": "TenantAccess_RegenerateSecondaryKey", + "description": "Regenerate secondary access key", + "x-ms-examples": { + "ApiManagementTenantAccessRegenerateKey": { + "$ref": "./examples/ApiManagementTenantAccessRegenerateKey.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": { + "204": { + "description": "The secondary key was successfully regenerated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/listSecrets": { + "post": { + "tags": [ + "TenantAccess" + ], + "operationId": "TenantAccess_ListSecrets", + "description": "Get tenant access information details.", + "x-ms-examples": { + "ApiManagementListSecretsTenantAccess": { + "$ref": "./examples/ApiManagementListSecretsTenantAccess.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": "Tenant Access information.", + "schema": { + "$ref": "./definitions.json#/definitions/AccessInformationSecretsContract" + }, + "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}/tenant/{accessName}/git/regeneratePrimaryKey": { + "post": { + "tags": [ + "TenantAccessGit" + ], + "operationId": "TenantAccessGit_RegeneratePrimaryKey", + "description": "Regenerate primary access key for GIT.", + "x-ms-examples": { + "ApiManagementTenantAccessRegenerateKey": { + "$ref": "./examples/ApiManagementTenantAccessRegenerateKey.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": { + "204": { + "description": "The primary key was successfully regenerated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regenerateSecondaryKey": { + "post": { + "tags": [ + "TenantAccessGit" + ], + "operationId": "TenantAccessGit_RegenerateSecondaryKey", + "description": "Regenerate secondary access key for GIT.", + "x-ms-examples": { + "ApiManagementTenantAccessRegenerateKey": { + "$ref": "./examples/ApiManagementTenantAccessRegenerateKey.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": { + "204": { + "description": "The secondary key was successfully regenerated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/deploy": { + "post": { + "tags": [ + "TenantConfiguration" + ], + "operationId": "TenantConfiguration_Deploy", + "description": "This operation applies changes from the specified Git branch to the configuration database. This is a long running operation and could take several minutes to complete.", + "externalDocs": { + "description": "To deploy any service configuration changes to the API Management service instance", + "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-configuration-repository-git/#to-deploy-any-service-configuration-changes-to-the-api-management-service-instance" + }, + "x-ms-examples": { + "ApiManagementTenantConfigurationDeploy": { + "$ref": "./examples/ApiManagementTenantConfigurationDeploy.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/DeployConfigurationParameters" + }, + "description": "Deploy Configuration parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ConfigurationParameter" + } + ], + "responses": { + "202": { + "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked." + }, + "200": { + "description": "Result of applying changes from Git branch to database.", + "schema": { + "$ref": "./definitions.json#/definitions/OperationResultContract" + } + }, + "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-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/save": { + "post": { + "tags": [ + "TenantConfiguration" + ], + "operationId": "TenantConfiguration_Save", + "description": "This operation creates a commit with the current configuration snapshot to the specified branch in the repository. This is a long running operation and could take several minutes to complete.", + "externalDocs": { + "description": "To save the service configuration to the Git repository", + "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-configuration-repository-git/#to-save-the-service-configuration-to-the-git-repository" + }, + "x-ms-examples": { + "ApiManagementTenantConfigurationSave": { + "$ref": "./examples/ApiManagementTenantConfigurationSave.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/SaveConfigurationParameter" + }, + "description": "Save Configuration parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ConfigurationParameter" + } + ], + "responses": { + "202": { + "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked." + }, + "200": { + "description": "Result of creating a commit in the repository.", + "schema": { + "$ref": "./definitions.json#/definitions/OperationResultContract" + } + }, + "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-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/validate": { + "post": { + "tags": [ + "TenantConfiguration" + ], + "operationId": "TenantConfiguration_Validate", + "description": "This operation validates the changes in the specified Git branch. This is a long running operation and could take several minutes to complete.", + "x-ms-examples": { + "ApiManagementTenantConfigurationValidate": { + "$ref": "./examples/ApiManagementTenantConfigurationValidate.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/DeployConfigurationParameters" + }, + "description": "Validate Configuration parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ConfigurationParameter" + } + ], + "responses": { + "202": { + "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked." + }, + "200": { + "description": "Result of validating the changes in the specified Git branch.", + "schema": { + "$ref": "./definitions.json#/definitions/OperationResultContract" + } + }, + "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-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/syncState": { + "get": { + "tags": [ + "TenantConfigurationSyncState" + ], + "operationId": "TenantConfiguration_GetSyncState", + "description": "Gets the status of the most recent synchronization between the configuration database and the Git repository.", + "x-ms-examples": { + "ApiManagementTenantAccessSyncState": { + "$ref": "./examples/ApiManagementTenantAccessSyncState.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/ConfigurationParameter" + } + ], + "responses": { + "200": { + "description": "Sync state result.", + "schema": { + "$ref": "./definitions.json#/definitions/TenantConfigurationSyncStateContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimusers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimusers.json new file mode 100644 index 000000000000..37f99902e9c1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimusers.json @@ -0,0 +1,778 @@ +{ + "swagger": "2.0", + "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": "2021-08-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.ApiManagement/service/{serviceName}/users": { + "get": { + "tags": [ + "User" + ], + "operationId": "User_ListByService", + "description": "Lists a collection of registered users in the specified service instance.", + "x-ms-examples": { + "ApiManagementListUsers": { + "$ref": "./examples/ApiManagementListUsers.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "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 |
| 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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "name": "expandGroups", + "in": "query", + "type": "boolean", + "description": "Detailed Group in response." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of User entities.", + "schema": { + "$ref": "./definitions.json#/definitions/UserCollection" + } + }, + "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/UserContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}": { + "head": { + "tags": [ + "User" + ], + "operationId": "User_GetEntityTag", + "description": "Gets the entity state (Etag) version of the user specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadUser": { + "$ref": "./examples/ApiManagementHeadUser.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": "Specified user 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": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "User" + ], + "operationId": "User_Get", + "description": "Gets the details of the user specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetUser": { + "$ref": "./examples/ApiManagementGetUser.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": "Gets the specified user entity.", + "schema": { + "$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" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "User" + ], + "operationId": "User_CreateOrUpdate", + "description": "Creates or Updates a user.", + "x-ms-examples": { + "ApiManagementCreateUser": { + "$ref": "./examples/ApiManagementCreateUser.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/UserIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$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" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "User was successfully created.", + "schema": { + "$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.json#/definitions/UserContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "User" + ], + "operationId": "User_Update", + "description": "Updates the details of the user specified by its identifier.", + "x-ms-examples": { + "ApiManagementUpdateUser": { + "$ref": "./examples/ApiManagementUpdateUser.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/UserIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/UserUpdateParameters" + }, + "description": "Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "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 response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "User" + ], + "operationId": "User_Delete", + "description": "Deletes specific user.", + "x-ms-examples": { + "ApiManagementDeleteUser": { + "$ref": "./examples/ApiManagementDeleteUser.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/UserIdParameter" + }, + { + "name": "deleteSubscriptions", + "in": "query", + "required": false, + "type": "boolean", + "description": "Whether to delete user's subscription or not." + }, + { + "name": "notify", + "in": "query", + "required": false, + "type": "boolean", + "description": "Send an Account Closed Email notification to the User." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AppTypeParameter" + } + ], + "responses": { + "200": { + "description": "The user details were successfully deleted." + }, + "204": { + "description": "The user details were 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}/users/{userId}/generateSsoUrl": { + "post": { + "tags": [ + "Users" + ], + "operationId": "User_GenerateSsoUrl", + "description": "Retrieves a redirection URL containing an authentication token for signing a given user into the developer portal.", + "x-ms-examples": { + "ApiManagementUserGenerateSsoUrl": { + "$ref": "./examples/ApiManagementUserGenerateSsoUrl.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": "The response body contains the single sign-on URL.", + "schema": { + "x-ms-client-flatten": true, + "$ref": "./definitions.json#/definitions/GenerateSsoUrlResult" + } + }, + "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}/groups": { + "get": { + "tags": [ + "UserGroup" + ], + "operationId": "UserGroup_List", + "description": "Lists all user groups.", + "x-ms-examples": { + "ApiManagementListUserGroups": { + "$ref": "./examples/ApiManagementListUserGroups.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/UserIdParameter" + }, + { + "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 |
| description | 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": "Lists a collection of Group entities.", + "schema": { + "$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.json#/definitions/GroupContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/subscriptions": { + "get": { + "tags": [ + "UserSubscription" + ], + "operationId": "UserSubscription_List", + "description": "Lists the collection of subscriptions of the specified user.", + "x-ms-examples": { + "ApiManagementListUserSubscriptions": { + "$ref": "./examples/ApiManagementListUserSubscriptions.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/UserIdParameter" + }, + { + "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 |
|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" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Subscription entities.", + "schema": { + "$ref": "./definitions.json#/definitions/SubscriptionCollection" + } + }, + "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/SubscriptionContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/subscriptions/{sid}": { + "get": { + "tags": [ + "Subscription" + ], + "operationId": "UserSubscription_Get", + "description": "Gets the specified Subscription entity associated with a particular user.", + "x-ms-examples": { + "ApiManagementGetUserSubscription": { + "$ref": "./examples/ApiManagementGetUserSubscription.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/UserIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "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.json#/definitions/UserIdentityCollection" + } + }, + "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}/users/{userId}/token": { + "post": { + "tags": [ + "UserToken" + ], + "operationId": "User_GetSharedAccessToken", + "description": "Gets the Shared Access Authorization Token for the User.", + "x-ms-examples": { + "ApiManagementUserToken": { + "$ref": "./examples/ApiManagementUserToken.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/UserIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/UserTokenParameters" + }, + "description": "Create Authorization Token parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the authorization token for the user.", + "schema": { + "x-ms-client-flatten": true, + "$ref": "./definitions.json#/definitions/UserTokenResult" + } + }, + "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}/confirmations/password/send": { + "post": { + "tags": [ + "UserConfirmationPasswordSend" + ], + "operationId": "UserConfirmationPassword_Send", + "description": "Sends confirmation", + "x-ms-examples": { + "ApiManagementUserConfirmationPasswordSend": { + "$ref": "./examples/ApiManagementUserConfirmationPasswordSend.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" + }, + { + "$ref": "./apimanagement.json#/parameters/AppTypeParameter" + } + ], + "responses": { + "204": { + "description": "Notification successfully sent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/definitions.json new file mode 100644 index 000000000000..b49a35b974b7 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/definitions.json @@ -0,0 +1,6930 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-08-01", + "description": "A spec file containing all the definitions", + "title": "Definitions file" + }, + "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": {}, + "definitions": { + "AccessInformationCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AccessInformationContract" + }, + "description": "Page values.", + "readOnly": true + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any.", + "readOnly": true + } + }, + "description": "Paged AccessInformation list representation." + }, + "AccessInformationContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AccessInformationContractProperties", + "description": "AccessInformation entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Tenant Settings." + }, + "AccessInformationContractProperties": { + "properties": { + "id": { + "type": "string", + "description": "Access Information type ('access' or 'gitAccess')" + }, + "principalId": { + "type": "string", + "description": "Principal (User) Identifier." + }, + "enabled": { + "type": "boolean", + "description": "Determines whether direct access is enabled." + } + }, + "description": "Tenant access information contract of the API Management service." + }, + "AccessInformationSecretsContract": { + "properties": { + "id": { + "type": "string", + "description": "Access Information type ('access' or 'gitAccess')" + }, + "principalId": { + "type": "string", + "description": "Principal (User) Identifier." + }, + "primaryKey": { + "type": "string", + "description": "Primary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value." + }, + "secondaryKey": { + "type": "string", + "description": "Secondary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value." + }, + "enabled": { + "type": "boolean", + "description": "Determines whether direct access is enabled." + } + }, + "description": "Tenant access information contract of the API Management service." + }, + "AccessInformationCreateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AccessInformationCreateParameterProperties", + "description": "Tenant access information update parameter properties." + } + }, + "description": "Tenant access information update parameters." + }, + "AccessInformationCreateParameterProperties": { + "properties": { + "principalId": { + "type": "string", + "description": "Principal (User) Identifier." + }, + "primaryKey": { + "type": "string", + "description": "Primary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value." + }, + "secondaryKey": { + "type": "string", + "description": "Secondary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value." + }, + "enabled": { + "type": "boolean", + "description": "Determines whether direct access is enabled." + } + }, + "description": "Tenant access information update parameters of the API Management service" + }, + "AccessInformationUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AccessInformationUpdateParameterProperties", + "description": "Tenant access information update parameter properties." + } + }, + "description": "Tenant access information update parameters." + }, + "AccessInformationUpdateParameterProperties": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Determines whether direct access is enabled." + } + }, + "description": "Tenant access information update parameters of the API Management service" + }, + "TenantSettingsCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/TenantSettingsContract" + }, + "description": "Page values.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Next page link if any.", + "readOnly": true + } + }, + "description": "Paged AccessInformation list representation." + }, + "TenantSettingsContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/TenantSettingsContractProperties", + "description": "TenantSettings entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Tenant Settings." + }, + "TenantSettingsContractProperties": { + "properties": { + "settings": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tenant settings" + } + }, + "description": "Tenant access information contract of the API Management service." + }, + "ApiCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApiContract" + }, + "description": "Page values.", + "readOnly": true + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "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": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "API details." + }, + "ApiContractProperties": { + "properties": { + "sourceApiId": { + "type": "string", + "description": "API identifier of the source API." + }, + "displayName": { + "type": "string", + "description": "API name. Must be 1 to 300 characters long.", + "minLength": 1, + "maxLength": 300 + }, + "serviceUrl": { + "type": "string", + "description": "Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.", + "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", + "ws", + "wss" + ], + "x-ms-enum": { + "name": "Protocol", + "modelAsString": true + } + }, + "description": "Describes on which protocols the operations in this API can be invoked." + }, + "apiVersionSet": { + "description": "Version set details", + "$ref": "#/definitions/ApiVersionSetContractDetails" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ApiEntityBaseContract" + } + ], + "required": [ + "path" + ], + "description": "API Entity Properties" + }, + "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": { + "value": { + "type": "string", + "description": "Content value when Importing an API." + }, + "format": { + "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", + "openapi", + "openapi+json", + "openapi-link", + "openapi+json-link", + "graphql-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 JSON Document." + }, + { + "value": "swagger-link-json", + "description": "The OpenAPI 2.0 JSON 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." + }, + { + "value": "openapi", + "description": "The contents are inline and Content Type is a OpenAPI 3.0 YAML Document." + }, + { + "value": "openapi+json", + "description": "The contents are inline and Content Type is a OpenAPI 3.0 JSON Document." + }, + { + "value": "openapi-link", + "description": "The OpenAPI 3.0 YAML document is hosted on a publicly accessible internet address." + }, + { + "value": "openapi+json-link", + "description": "The OpenAPI 3.0 JSON document is hosted on a publicly accessible internet address." + }, + { + "value": "graphql-link", + "description": "The GraphQL API endpoint hosted on a publicly accessible internet address." + } + ] + } + }, + "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" + } + } + }, + "apiType": { + "type": "string", + "description": "Type of API to create. \n * `http` creates a REST API \n * `soap` creates a SOAP pass-through API \n * `websocket` creates websocket API \n * `graphql` creates GraphQL API.", + "enum": [ + "http", + "soap", + "websocket", + "graphql" + ], + "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" + }, + { + "value": "websocket", + "description": "Imports the API having a Websocket front end.", + "name": "WebSocket" + }, + { + "value": "graphql", + "description": "Imports the API having a GraphQL front end.", + "name": "GraphQL" + } + ] + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/ApiContractProperties" + } + ], + "description": "API Create or Update 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", + "websocket", + "graphql" + ], + "x-ms-client-name": "ApiType", + "x-ms-enum": { + "name": "ApiType", + "modelAsString": true + } + }, + "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." + }, + "isOnline": { + "type": "boolean", + "description": "Indicates if API revision is accessible via the gateway.", + "readOnly": true + }, + "apiRevisionDescription": { + "type": "string", + "description": "Description of the API Revision.", + "maxLength": 256 + }, + "apiVersionDescription": { + "type": "string", + "description": "Description of the API Version.", + "maxLength": 256 + }, + "apiVersionSetId": { + "type": "string", + "description": "A resource identifier for the related ApiVersionSet." + }, + "subscriptionRequired": { + "type": "boolean", + "description": "Specifies whether an API or Product subscription is required for accessing the API." + }, + "termsOfServiceUrl": { + "type": "string", + "description": " A URL to the Terms of Service for the API. MUST be in the format of a URL." + }, + "contact": { + "$ref": "#/definitions/ApiContactInformation", + "description": "Contact information for the API." + }, + "license": { + "$ref": "#/definitions/ApiLicenseInformation", + "description": "License information for the API." + } + }, + "description": "API base contract details." + }, + "ApiContactInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The identifying name of the contact person/organization" + }, + "url": { + "type": "string", + "description": "The URL pointing to the contact information. MUST be in the format of a URL" + }, + "email": { + "type": "string", + "description": "The email address of the contact person/organization. MUST be in the format of an email address" + } + }, + "description": "API contact information" + }, + "ApiLicenseInformation": { + "type": "object", + "description": "API license information", + "properties": { + "name": { + "type": "string", + "description": "The license name used for the API" + }, + "url": { + "type": "string", + "description": "A URL to the license used for the API. MUST be in the format of a URL" + } + } + }, + "ApiExportResult": { + "properties": { + "id": { + "type": "string", + "description": "ResourceId of the API which was exported." + }, + "format": { + "type": "string", + "enum": [ + "swagger-link-json", + "wadl-link-json", + "wsdl-link+xml", + "openapi-link" + ], + "x-ms-client-name": "ExportResultFormat", + "x-ms-enum": { + "name": "ExportResultFormat", + "modelAsString": true, + "values": [ + { + "value": "swagger-link-json", + "description": "The API Definition is exported in OpenAPI Specification 2.0 format to the Storage Blob.", + "name": "Swagger" + }, + { + "value": "wsdl-link+xml", + "description": "The API Definition is exported in WSDL Schema to Storage Blob. This is only supported for APIs of Type `soap`", + "name": "Wsdl" + }, + { + "value": "wadl-link-json", + "description": "Export the API Definition in WADL Schema to Storage Blob.", + "name": "Wadl" + }, + { + "value": "openapi-link", + "description": "Export the API Definition in OpenAPI Specification 3.0 to Storage Blob.", + "name": "OpenApi" + } + ] + }, + "description": "Format in which the API Details are exported to the Storage Blob with Sas Key valid for 5 minutes." + }, + "value": { + "type": "object", + "description": "The object defining the schema of the exported API Detail", + "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." + }, + "ApiReleaseCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApiReleaseContract" + }, + "description": "Page values.", + "readOnly": true + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any.", + "readOnly": true + } + }, + "description": "Paged ApiRelease list representation." + }, + "ApiReleaseContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApiReleaseContractProperties", + "description": "ApiRelease entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "ApiRelease details." + }, + "ApiReleaseContractProperties": { + "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" + } + }, + "description": "API Release details" + }, + "ApiRevisionCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApiRevisionContract" + }, + "description": "Page values.", + "readOnly": true + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "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" + } + } + }, + "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", + "ws", + "wss" + ], + "x-ms-enum": { + "name": "Protocol", + "modelAsString": true + } + }, + "description": "Describes on which protocols the operations in this API can be invoked." + } + }, + "allOf": [ + { + "$ref": "./definitions.json#/definitions/ApiEntityBaseContract" + } + ], + "description": "API contract properties for the Tag Resources." + }, + "ApiUpdateContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApiContractUpdateProperties", + "description": "Properties of the API entity that can be updated." + } + }, + "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 + }, + "protocols": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "http", + "https", + "ws", + "wss" + ], + "x-ms-enum": { + "name": "Protocol", + "modelAsString": true + } + }, + "description": "Describes on which protocols the operations in this API can be invoked." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ApiEntityBaseContract" + } + ], + "description": "API update contract properties." + }, + "ApiVersionSetCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApiVersionSetContract" + }, + "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 API Version Set list representation." + }, + "ApiVersionSetContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApiVersionSetContractProperties", + "description": "API VersionSet contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "API Version Set Contract details." + }, + "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." + }, + "name": { + "type": "string", + "description": "The display Name of the API Version Set." + }, + "description": { + "type": "string", + "description": "Description of API Version Set." + }, + "versioningScheme": { + "type": "string", + "description": "An value that determines where the API Version identifier 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`." + } + } + }, + "ApiVersionSetContractProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "Name of API Version Set", + "minLength": 1, + "maxLength": 100 + }, + "versioningScheme": { + "type": "string", + "description": "An value that determines where the API Version identifier will be located in a HTTP request.", + "enum": [ + "Segment", + "Query", + "Header" + ], + "x-ms-enum": { + "name": "versioningScheme", + "modelAsString": true, + "values": [ + { + "value": "Segment", + "description": "The API Version is passed in a path segment." + }, + { + "value": "Query", + "description": "The API Version is passed in a query parameter." + }, + { + "value": "Header", + "description": "The API Version is passed in a HTTP header." + } + ] + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/ApiVersionSetEntityBase" + } + ], + "required": [ + "displayName", + "versioningScheme" + ], + "description": "Properties of an API Version Set." + }, + "ApiVersionSetEntityBase": { + "properties": { + "description": { + "type": "string", + "description": "Description of API Version Set." + }, + "versionQueryName": { + "type": "string", + "description": "Name of query parameter that indicates the API Version if versioningScheme is set to `query`.", + "minLength": 1, + "maxLength": 100 + }, + "versionHeaderName": { + "type": "string", + "description": "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.", + "minLength": 1, + "maxLength": 100 + } + }, + "description": "API Version set base parameters" + }, + "ApiVersionSetUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApiVersionSetUpdateParametersProperties", + "description": "Parameters to update or create an API Version Set Contract." + } + }, + "description": "Parameters to update or create an API Version Set Contract." + }, + "ApiVersionSetUpdateParametersProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "Name of API Version Set", + "minLength": 1, + "maxLength": 100 + }, + "versioningScheme": { + "type": "string", + "description": "An value that determines where the API Version identifier will be located in a HTTP request.", + "enum": [ + "Segment", + "Query", + "Header" + ], + "x-ms-enum": { + "name": "versioningScheme", + "modelAsString": true, + "values": [ + { + "value": "Segment", + "description": "The API Version is passed in a path segment." + }, + { + "value": "Query", + "description": "The API Version is passed in a query parameter." + }, + { + "value": "Header", + "description": "The API Version is passed in a HTTP header." + } + ] + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/ApiVersionSetEntityBase" + } + ], + "description": "Properties used to create or update an API Version Set." + }, + "AuthenticationSettingsContract": { + "properties": { + "oAuth2": { + "$ref": "#/definitions/OAuth2AuthenticationSettingsContract", + "description": "OAuth2 Authentication settings" + }, + "openid": { + "$ref": "#/definitions/OpenIdAuthenticationSettingsContract", + "description": "OpenID Connect Authentication Settings" + } + }, + "description": "API Authentication Settings." + }, + "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": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "External OAuth authorization server settings." + }, + "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 + } + }, + "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." + } + ] + } + }, + "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" + }, + "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" + } + }, + "bearerTokenSendingMethods": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "authorizationHeader", + "query" + ], + "x-ms-enum": { + "name": "BearerTokenSendingMethod", + "modelAsString": true + } + }, + "description": "Specifies the mechanism by which access token is passed to the API. ", + "externalDocs": { + "url": "http://tools.ietf.org/html/rfc6749#section-4" + } + }, + "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." + }, + "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" + } + }, + "clientId": { + "type": "string", + "description": "Client or app id registered with this authorization server." + }, + "clientSecret": { + "x-ms-secret": true, + "type": "string", + "description": "Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value." + } + }, + "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": "./../../../../../common-types/resource-management/v2/types.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." + } + ] + } + }, + "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." + }, + "clientSecret": { + "x-ms-secret": true, + "type": "string", + "description": "Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value." + } + }, + "allOf": [ + { + "$ref": "#/definitions/AuthorizationServerContractBaseProperties" + } + ], + "description": "External OAuth authorization server Update settings contract." + }, + "AuthorizationServerSecretsContract": { + "properties": { + "clientSecret": { + "type": "string", + "description": "oAuth Authorization Server Secrets." + }, + "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": "OAuth Server Secrets Contract." + }, + "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." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "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": "./../../../../../common-types/resource-management/v2/types.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": { + "certificateIds": { + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 32, + "description": "List of Client Certificate Ids." + }, + "certificate": { + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 32, + "description": "List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided." + }, + "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." + }, + "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." + }, + "BackendReconnectContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BackendReconnectProperties", + "description": "Reconnect request properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.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 Reconnect is PT2M." + } + }, + "description": "Properties to control reconnect requests." + }, + "BackendServiceFabricClusterProperties": { + "properties": { + "clientCertificateId": { + "description": "The client certificate id for the management endpoint.", + "type": "string" + }, + "clientCertificatethumbprint": { + "description": "The client certificate thumbprint for the management endpoint. Will be ignored if certificatesIds are provided", + "type": "string" + }, + "maxPartitionResolutionRetries": { + "description": "Maximum number of retries while attempting resolve the partition.", + "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" + ], + "description": "Properties of the Service Fabric Type Backend." + }, + "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." + }, + "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." + }, + "BackendUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BackendUpdateParameterProperties", + "description": "Backend entity update contract properties." + } + }, + "description": "Backend update parameters." + }, + "BearerTokenSendingMethodsContract": { + "type": "string", + "description": "Form of an authorization grant, which the client uses to request the access token.", + "enum": [ + "authorizationHeader", + "query" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "bearerTokenSendingMethods", + "values": [ + { + "value": "authorizationHeader", + "description": "Access token will be transmitted in the Authorization header using Bearer schema" + }, + { + "value": "query", + "description": "Access token will be transmitted as query parameters." + } + ] + } + }, + "BodyDiagnosticSettings": { + "properties": { + "bytes": { + "type": "integer", + "format": "int32", + "maximum": 8192, + "description": "Number of request body bytes to log." + } + }, + "description": "Body logging settings." + }, + "CacheCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CacheContract" + }, + "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 Caches list representation." + }, + "CacheContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CacheContractProperties", + "description": "Cache properties details." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Cache details." + }, + "CacheContractProperties": { + "properties": { + "description": { + "type": "string", + "description": "Cache description", + "maxLength": 2000 + }, + "connectionString": { + "type": "string", + "description": "Runtime connection string to cache", + "maxLength": 300 + }, + "useFromLocation": { + "type": "string", + "description": "Location identifier to use cache from (should be either 'default' or valid Azure region identifier)", + "maxLength": 256 + }, + "resourceId": { + "type": "string", + "description": "Original uri of entity in external system cache points to", + "maxLength": 2000 + } + }, + "required": [ + "connectionString", + "useFromLocation" + ], + "description": "Properties of the Cache contract." + }, + "CacheUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CacheUpdateProperties", + "description": "Cache update properties details." + } + }, + "description": "Cache update details." + }, + "CacheUpdateProperties": { + "properties": { + "description": { + "type": "string", + "description": "Cache description", + "maxLength": 2000 + }, + "connectionString": { + "type": "string", + "description": "Runtime connection string to cache", + "maxLength": 300 + }, + "useFromLocation": { + "type": "string", + "description": "Location identifier to use cache from (should be either 'default' or valid Azure region identifier)", + "maxLength": 256 + }, + "resourceId": { + "type": "string", + "description": "Original uri of entity in external system cache points to", + "maxLength": 2000 + } + }, + "description": "Parameters supplied to the Update Cache operation." + }, + "CertificateCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateContract" + }, + "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 Certificates list representation." + }, + "CertificateContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CertificateContractProperties", + "description": "Certificate properties details." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.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." + }, + "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" + }, + "keyVault": { + "$ref": "#/definitions/KeyVaultContractProperties", + "description": "KeyVault location details of the certificate." + } + }, + "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." + }, + "password": { + "type": "string", + "description": "Password for the Certificate" + }, + "keyVault": { + "$ref": "#/definitions/KeyVaultContractCreateProperties", + "description": "KeyVault location details of the certificate." + } + }, + "description": "Parameters supplied to the CreateOrUpdate certificate operation." + }, + "DataMasking": { + "properties": { + "queryParams": { + "type": "array", + "items": { + "$ref": "#/definitions/DataMaskingEntity" + }, + "description": "Masking settings for Url query parameters" + }, + "headers": { + "type": "array", + "items": { + "$ref": "#/definitions/DataMaskingEntity" + }, + "description": "Masking settings for headers" + } + } + }, + "DataMaskingEntity": { + "properties": { + "value": { + "type": "string", + "description": "The name of an entity to mask (e.g. a name of a header or a query parameter)." + }, + "mode": { + "type": "string", + "enum": [ + "Mask", + "Hide" + ], + "x-ms-enum": { + "name": "DataMaskingMode", + "modelAsString": true, + "values": [ + { + "value": "Mask", + "description": "Mask the value of an entity." + }, + { + "value": "Hide", + "description": "Hide the presence of an entity." + } + ] + }, + "description": "Data masking mode." + } + } + }, + "DeployConfigurationParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DeployConfigurationParameterProperties", + "description": "Deploy Configuration Parameter contract properties." + } + }, + "description": "Deploy Tenant Configuration Contract." + }, + "DeployConfigurationParameterProperties": { + "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." + }, + "DiagnosticCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DiagnosticContract" + }, + "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 Diagnostic list representation." + }, + "DiagnosticContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiagnosticContractProperties", + "description": "Diagnostic entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Diagnostic details." + }, + "DiagnosticContractProperties": { + "properties": { + "alwaysLog": { + "type": "string", + "enum": [ + "allErrors" + ], + "x-ms-enum": { + "name": "AlwaysLog", + "modelAsString": true, + "values": [ + { + "value": "allErrors", + "description": "Always log all erroneous request regardless of sampling settings." + } + ] + }, + "description": "Specifies for what type of messages sampling settings should not apply." + }, + "loggerId": { + "type": "string", + "description": "Resource Id of a target logger." + }, + "sampling": { + "$ref": "#/definitions/SamplingSettings", + "description": "Sampling settings for Diagnostic." + }, + "frontend": { + "$ref": "#/definitions/PipelineDiagnosticSettings", + "description": "Diagnostic settings for incoming/outgoing HTTP messages to the Gateway." + }, + "backend": { + "$ref": "#/definitions/PipelineDiagnosticSettings", + "description": "Diagnostic settings for incoming/outgoing HTTP messages to the Backend" + }, + "logClientIp": { + "type": "boolean", + "description": "Log the ClientIP. Default is false." + }, + "httpCorrelationProtocol": { + "type": "string", + "enum": [ + "None", + "Legacy", + "W3C" + ], + "x-ms-enum": { + "name": "HttpCorrelationProtocol", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "Do not read and inject correlation headers." + }, + { + "value": "Legacy", + "description": "Inject Request-Id and Request-Context headers with request correlation data. See https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/HttpCorrelationProtocol.md." + }, + { + "value": "W3C", + "description": "Inject Trace Context headers. See https://w3c.github.io/trace-context." + } + ] + }, + "description": "Sets correlation protocol to use for Application Insights diagnostics." + }, + "verbosity": { + "type": "string", + "enum": [ + "verbose", + "information", + "error" + ], + "x-ms-enum": { + "name": "Verbosity", + "modelAsString": true, + "values": [ + { + "value": "verbose", + "description": "All the traces emitted by trace policies will be sent to the logger attached to this diagnostic instance." + }, + { + "value": "information", + "description": "Traces with 'severity' set to 'information' and 'error' will be sent to the logger attached to this diagnostic instance." + }, + { + "value": "error", + "description": "Only traces with 'severity' set to 'error' will be sent to the logger attached to this diagnostic instance." + } + ] + }, + "description": "The verbosity level applied to traces emitted by trace policies." + }, + "operationNameFormat": { + "type": "string", + "enum": [ + "Name", + "Url" + ], + "x-ms-enum": { + "name": "OperationNameFormat", + "modelAsString": true, + "values": [ + { + "value": "Name", + "description": "API_NAME;rev=API_REVISION - OPERATION_NAME" + }, + { + "value": "Url", + "description": "HTTP_VERB URL" + } + ] + }, + "description": "The format of the Operation Name for Application Insights telemetries. Default is Name." + } + }, + "required": [ + "loggerId" + ], + "description": "Diagnostic Entity Properties" + }, + "EmailTemplateCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EmailTemplateContract" + }, + "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 email template list representation." + }, + "EmailTemplateContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EmailTemplateContractProperties", + "description": "Email Template entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Email Template details." + }, + "EmailTemplateContractProperties": { + "properties": { + "subject": { + "type": "string", + "description": "Subject of the Template.", + "minLength": 1, + "maxLength": 1000 + }, + "body": { + "type": "string", + "description": "Email Template Body. This should be a valid XDocument", + "minLength": 1 + }, + "title": { + "type": "string", + "description": "Title of the Template." + }, + "description": { + "type": "string", + "description": "Description of the Email Template." + }, + "isDefault": { + "type": "boolean", + "description": "Whether the template is the default template provided by API Management or has been edited.", + "readOnly": true + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/EmailTemplateParametersContractProperties" + }, + "description": "Email Template Parameter values." + } + }, + "required": [ + "body", + "subject" + ], + "description": "Email Template Contract properties." + }, + "EmailTemplateParametersContractProperties": { + "properties": { + "name": { + "type": "string", + "description": "Template parameter name.", + "minLength": 1, + "maxLength": 256, + "pattern": "^[A-Za-z0-9-._]+$" + }, + "title": { + "type": "string", + "description": "Template parameter title.", + "minLength": 1, + "maxLength": 4096 + }, + "description": { + "type": "string", + "description": "Template parameter description.", + "minLength": 1, + "maxLength": 256, + "pattern": "^[A-Za-z0-9-._]+$" + } + }, + "description": "Email Template Parameter contract." + }, + "EmailTemplateUpdateParameterProperties": { + "properties": { + "subject": { + "type": "string", + "description": "Subject of the Template.", + "minLength": 1, + "maxLength": 1000 + }, + "title": { + "type": "string", + "description": "Title of the Template." + }, + "description": { + "type": "string", + "description": "Description of the Email Template." + }, + "body": { + "type": "string", + "description": "Email Template Body. This should be a valid XDocument", + "minLength": 1 + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/EmailTemplateParametersContractProperties" + }, + "description": "Email Template Parameter values." + } + }, + "description": "Email Template Update Contract properties." + }, + "EmailTemplateUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EmailTemplateUpdateParameterProperties", + "description": "Email Template Update contract properties." + } + }, + "description": "Email Template update Parameters." + }, + "GenerateSsoUrlResult": { + "properties": { + "value": { + "type": "string", + "description": "Redirect Url containing the SSO URL value." + } + }, + "description": "Generate SSO Url operations response details." + }, + "GroupCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GroupContract" + }, + "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 Group list representation." + }, + "GroupContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GroupContractProperties", + "description": "Group entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.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." + }, + "HttpMessageDiagnostic": { + "properties": { + "headers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of HTTP Headers to log." + }, + "body": { + "$ref": "#/definitions/BodyDiagnosticSettings", + "description": "Body logging settings." + }, + "dataMasking": { + "$ref": "#/definitions/DataMasking", + "description": "Data masking settings." + } + }, + "description": "Http message diagnostic settings." + }, + "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." + }, + "signinTenant": { + "type": "string", + "description": "The TenantId to use instead of Common when logging into Active Directory" + }, + "allowedTenants": { + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 32, + "description": "List of Allowed Tenants when configuring Azure Active Directory login." + }, + "authority": { + "type": "string", + "description": "OpenID Connect discovery endpoint hostname for AAD or AAD B2C." + }, + "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 + }, + "passwordResetPolicyName": { + "type": "string", + "description": "Password Reset Policy Name. Only applies to AAD B2C Identity Provider.", + "minLength": 1 + } + }, + "description": "Identity Provider Base Parameter Properties." + }, + "IdentityProviderCreateContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IdentityProviderCreateContractProperties", + "description": "Identity Provider contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Identity Provider details." + }, + "IdentityProviderCreateContractProperties": { + "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": { + "x-ms-secret": true, + "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. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.", + "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." + }, + "IdentityProviderContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IdentityProviderContractProperties", + "description": "Identity Provider contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.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": { + "x-ms-secret": true, + "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. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.", + "minLength": 1 + } + }, + "allOf": [ + { + "$ref": "#/definitions/IdentityProviderBaseParameters" + } + ], + "required": [ + "clientId" + ], + "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." + }, + "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 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": { + "x-ms-secret": true, + "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." + }, + "IssueAttachmentCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IssueAttachmentContract" + }, + "description": "Issue Attachment values.", + "readOnly": true + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "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": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Issue Attachment Contract details." + }, + "IssueAttachmentContractProperties": { + "properties": { + "title": { + "type": "string", + "description": "Filename by which the binary data will be saved." + }, + "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." + }, + "content": { + "type": "string", + "description": "An HTTP link or Base64-encoded binary data." + } + }, + "required": [ + "title", + "contentFormat", + "content" + ], + "description": "Issue Attachment contract Properties." + }, + "IssueCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IssueContract" + }, + "description": "Issue values.", + "readOnly": true + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any.", + "readOnly": true + } + }, + "description": "Paged Issue list representation." + }, + "IssueCommentCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IssueCommentContract" + }, + "description": "Issue Comment values.", + "readOnly": true + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "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." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.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." + }, + "userId": { + "type": "string", + "description": "A resource identifier for the user who left the comment." + } + }, + "required": [ + "text", + "userId" + ], + "description": "Issue Comment contract Properties." + }, + "IssueContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IssueContractProperties", + "description": "Properties of the Issue." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Issue Contract details." + }, + "IssueContractBaseProperties": { + "properties": { + "createdDate": { + "type": "string", + "format": "date-time", + "description": "Date and time when the issue was created." + }, + "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." + } + ] + } + }, + "apiId": { + "type": "string", + "description": "A resource identifier for the API the issue was created for." + } + }, + "description": "Issue contract Base Properties." + }, + "IssueContractProperties": { + "properties": { + "title": { + "type": "string", + "description": "The issue title." + }, + "description": { + "type": "string", + "description": "Text describing the issue." + }, + "userId": { + "type": "string", + "description": "A resource identifier for the user created the issue." + } + }, + "required": [ + "title", + "description", + "userId" + ], + "allOf": [ + { + "$ref": "#/definitions/IssueContractBaseProperties" + } + ], + "description": "Issue contract Properties." + }, + "IssueUpdateContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IssueUpdateContractProperties", + "description": "Issue entity Update contract properties." + } + }, + "description": "Issue update Parameters." + }, + "IssueUpdateContractProperties": { + "properties": { + "title": { + "type": "string", + "description": "The issue title." + }, + "description": { + "type": "string", + "description": "Text describing the issue." + }, + "userId": { + "type": "string", + "description": "A resource identifier for the user created the issue." + } + }, + "allOf": [ + { + "$ref": "#/definitions/IssueContractBaseProperties" + } + ], + "description": "Issue contract Update Properties." + }, + "KeyVaultContractCreateProperties": { + "properties": { + "secretIdentifier": { + "type": "string", + "description": "Key vault secret identifier for fetching secret. Providing a versioned secret will prevent auto-refresh. This requires API Management service to be configured with aka.ms/apimmsi" + }, + "identityClientId": { + "type": "string", + "description": "SystemAssignedIdentity or UserAssignedIdentity Client Id which will be used to access key vault secret." + } + }, + "description": "Create keyVault contract details." + }, + "KeyVaultContractProperties": { + "properties": { + "lastStatus": { + "$ref": "#/definitions/KeyVaultLastAccessStatusContractProperties", + "description": "Last time sync and refresh status of secret from key vault." + } + }, + "allOf": [ + { + "$ref": "#/definitions/KeyVaultContractCreateProperties" + } + ], + "description": "KeyVault contract details." + }, + "KeyVaultLastAccessStatusContractProperties": { + "properties": { + "code": { + "type": "string", + "description": "Last status code for sync and refresh of secret from key vault." + }, + "message": { + "type": "string", + "description": "Details of the error else empty." + }, + "timeStampUtc": { + "type": "string", + "format": "date-time", + "description": "Last time secret was accessed. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + } + }, + "description": "Issue contract Update Properties." + }, + "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": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Logger details." + }, + "LoggerContractProperties": { + "properties": { + "loggerType": { + "type": "string", + "description": "Logger type.", + "enum": [ + "azureEventHub", + "applicationInsights", + "azureMonitor" + ], + "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." + }, + { + "value": "azureMonitor", + "description": "Azure Monitor" + } + ] + } + }, + "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." + }, + "resourceId": { + "type": "string", + "description": "Azure Resource Id of a log target (either Azure Event Hub resource or Azure Application Insights resource)." + } + }, + "required": [ + "loggerType" + ], + "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", + "azureMonitor" + ], + "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." + }, + { + "value": "azureMonitor", + "description": "Azure Monitor" + } + ] + } + }, + "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." + }, + "NotificationCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NotificationContract" + }, + "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 Notification list representation." + }, + "NotificationContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NotificationContractProperties", + "description": "Notification entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.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." + }, + "OAuth2AuthenticationSettingsContract": { + "properties": { + "authorizationServerId": { + "type": "string", + "description": "OAuth authorization server identifier." + }, + "scope": { + "type": "string", + "description": "operations scope." + } + }, + "description": "API OAuth2 Authentication settings details." + }, + "OpenIdAuthenticationSettingsContract": { + "properties": { + "openidProviderId": { + "type": "string", + "description": "OAuth authorization server identifier." + }, + "bearerTokenSendingMethods": { + "description": "How to send token to the server.", + "type": "array", + "items": { + "$ref": "#/definitions/BearerTokenSendingMethodsContract" + } + } + }, + "description": "API OAuth2 Authentication settings details." + }, + "OpenIdConnectProviderCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OpenidConnectProviderContract" + }, + "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 OpenIdProviders list representation." + }, + "OpenidConnectProviderContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OpenidConnectProviderContractProperties", + "description": "OpenId Connect Provider contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.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": { + "x-ms-secret": true, + "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." + }, + "clientSecret": { + "x-ms-secret": true, + "type": "string", + "description": "Client Secret of developer console which is the client application." + } + }, + "description": "Parameters supplied to the Update OpenID Connect Provider operation." + }, + "OperationCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OperationContract" + }, + "description": "Page values.", + "readOnly": true + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "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": "./../../../../../common-types/resource-management/v2/types.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" + } + }, + "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" + }, + "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" + }, + "description": "Array of Operation responses." + }, + "policies": { + "type": "string", + "description": "Operation Policies" + } + }, + "description": "API Operation Entity Base Contract details." + }, + "OperationResultContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationResultContractProperties", + "description": "Properties of the Operation Contract." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Long Running Git Operation Results." + }, + "OperationResultContractProperties": { + "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/ErrorResponseBody", + "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." + }, + "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." + }, + "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." + }, + "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" + } + }, + "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." + }, + "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": "Specifies whether parameter is required or not." + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values." + }, + "schemaId": { + "type": "string", + "description": "Schema identifier." + }, + "typeName": { + "type": "string", + "description": "Type name defined by the schema." + }, + "examples": { + "$ref": "#/definitions/ParameterExamplesContract", + "description": "Exampled defined for the parameter." + } + }, + "required": [ + "name", + "type" + ], + "description": "Operation parameters details." + }, + "ParameterExamplesContract": { + "additionalProperties": { + "$ref": "#/definitions/ParameterExampleContract", + "description": "Parameter example." + }, + "description": "Parameter examples." + }, + "ParameterExampleContract": { + "description": "Parameter example.", + "properties": { + "summary": { + "type": "string", + "description": "Short description for the example" + }, + "description": { + "type": "string", + "description": "Long description for the example" + }, + "value": { + "description": "Example value. May be a primitive value, or an object." + }, + "externalValue": { + "type": "string", + "description": "A URL that points to the literal example" + } + } + }, + "PipelineDiagnosticSettings": { + "properties": { + "request": { + "$ref": "#/definitions/HttpMessageDiagnostic", + "description": "Diagnostic settings for request." + }, + "response": { + "$ref": "#/definitions/HttpMessageDiagnostic", + "description": "Diagnostic settings for response." + } + }, + "description": "Diagnostic settings for incoming/outgoing HTTP messages to the Gateway." + }, + "PolicyCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PolicyContract" + }, + "description": "Policy Contract value." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number." + }, + "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": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Policy Contract details." + }, + "PolicyContractProperties": { + "properties": { + "value": { + "type": "string", + "description": "Contents of the Policy as defined by the format." + }, + "format": { + "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": [ + "value" + ], + "description": "Policy contract Properties." + }, + "PolicyDescriptionContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PolicyDescriptionContractProperties", + "description": "Policy description contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Policy description details." + }, + "PolicyDescriptionContractProperties": { + "properties": { + "description": { + "type": "string", + "description": "Policy description.", + "readOnly": true + }, + "scope": { + "type": "integer", + "format": "int64", + "description": "Binary OR value of the Snippet scope.", + "readOnly": true + } + }, + "description": "Policy description properties." + }, + "PolicyDescriptionCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PolicyDescriptionContract" + }, + "description": "Descriptions of APIM policies." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number." + } + }, + "description": "Descriptions of APIM policies." + }, + "PortalDelegationSettings": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PortalDelegationSettingsProperties", + "description": "Delegation settings contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Delegation settings for a developer portal." + }, + "PortalDelegationSettingsProperties": { + "properties": { + "url": { + "type": "string", + "description": "A delegation Url." + }, + "validationKey": { + "x-ms-secret": true, + "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." + }, + "userRegistration": { + "$ref": "#/definitions/RegistrationDelegationSettingsProperties", + "description": "User registration delegation settings." + } + }, + "description": "Delegation settings contract properties." + }, + "PortalSettingsCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PortalSettingsContract" + }, + "description": "Descriptions of APIM policies." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number." + } + }, + "description": "Descriptions of APIM policies." + }, + "PortalSettingsContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PortalSettingsContractProperties", + "description": "Portal Settings contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Portal Settings for the Developer Portal." + }, + "PortalSettingsContractProperties": { + "properties": { + "url": { + "type": "string", + "description": "A delegation Url." + }, + "validationKey": { + "x-ms-secret": true, + "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." + }, + "userRegistration": { + "$ref": "#/definitions/RegistrationDelegationSettingsProperties", + "description": "User registration delegation settings." + }, + "enabled": { + "type": "boolean", + "description": "Redirect Anonymous users to the Sign-In page." + }, + "termsOfService": { + "type": "object", + "$ref": "#/definitions/TermsOfServiceProperties", + "description": "Terms of service contract properties." + } + }, + "description": "Sign-in settings contract properties." + }, + "PortalSigninSettingProperties": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Redirect Anonymous users to the Sign-In page." + } + }, + "description": "Sign-in settings contract properties." + }, + "PortalSigninSettings": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PortalSigninSettingProperties", + "description": "Sign-in settings contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Sign-In settings for the Developer Portal." + }, + "PortalSignupSettings": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PortalSignupSettingsProperties", + "description": "Sign-up settings contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.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." + }, + "ProductCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductContract" + }, + "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 Products list representation." + }, + "ProductContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProductContractProperties", + "description": "Product entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.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": 0, + "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." + }, + "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" + }, + "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" + }, + "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." + }, + "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 + } + } + }, + "description": "Product Entity Base Parameters" + }, + "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": "./definitions.json#/definitions/ProductEntityBaseParameters" + } + ], + "required": [ + "name" + ], + "description": "Product profile." + }, + "ProductUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProductUpdateProperties", + "description": "Product entity Update contract properties." + } + }, + "description": "Product Update parameters." + }, + "ProductUpdateProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "Product name.", + "maxLength": 300, + "minLength": 1 + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProductEntityBaseParameters" + } + ], + "description": "Parameters supplied to the Update Product operation." + }, + "NamedValueCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NamedValueContract" + }, + "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 NamedValue list representation." + }, + "NamedValueCreateContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NamedValueCreateContractProperties", + "description": "NamedValue entity contract properties for PUT operation." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "NamedValue details." + }, + "NamedValueCreateContractProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "Unique name of NamedValue. 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 NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.", + "maxLength": 4096 + }, + "keyVault": { + "$ref": "#/definitions/KeyVaultContractCreateProperties", + "description": "KeyVault location details of the namedValue." + } + }, + "allOf": [ + { + "$ref": "#/definitions/NamedValueEntityBaseParameters" + } + ], + "required": [ + "displayName" + ], + "description": "NamedValue Contract properties." + }, + "NamedValueContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NamedValueContractProperties", + "description": "NamedValue entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "NamedValue details." + }, + "NamedValueContractProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "Unique name of NamedValue. 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 NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.", + "maxLength": 4096 + }, + "keyVault": { + "$ref": "#/definitions/KeyVaultContractProperties", + "description": "KeyVault location details of the namedValue." + } + }, + "allOf": [ + { + "$ref": "#/definitions/NamedValueEntityBaseParameters" + } + ], + "required": [ + "displayName" + ], + "description": "NamedValue Contract properties." + }, + "NamedValueEntityBaseParameters": { + "properties": { + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 32, + "description": "Optional tags that when provided can be used to filter the NamedValue list." + }, + "secret": { + "description": "Determines whether the value is a secret and should be encrypted or not. Default value is false.", + "type": "boolean" + } + }, + "description": "NamedValue Entity Base Parameters set." + }, + "NamedValueUpdateParameterProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "Unique name of NamedValue. 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 NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace.", + "minLength": 1, + "maxLength": 4096 + }, + "keyVault": { + "$ref": "#/definitions/KeyVaultContractCreateProperties", + "description": "KeyVault location details of the namedValue." + } + }, + "allOf": [ + { + "$ref": "#/definitions/NamedValueEntityBaseParameters" + } + ], + "description": "NamedValue Contract properties." + }, + "NamedValueUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NamedValueUpdateParameterProperties", + "description": "NamedValue entity Update contract properties." + } + }, + "description": "NamedValue update Parameters." + }, + "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." + }, + "QuotaCounterValueUpdateContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/QuotaCounterValueContractProperties", + "description": "Quota counter value details." + } + }, + "description": "Quota counter value details." + }, + "RecipientEmailCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RecipientEmailContract" + }, + "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 Recipient User list representation." + }, + "RecipientEmailContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RecipientEmailContractProperties", + "description": "Recipient Email contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Recipient Email details." + }, + "RecipientEmailContractProperties": { + "properties": { + "email": { + "type": "string", + "description": "User Email subscribed to notification." + } + }, + "description": "Recipient Email 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." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "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": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Recipient User details." + }, + "RecipientUsersContractProperties": { + "properties": { + "userId": { + "type": "string", + "description": "API Management UserId subscribed to notification." + } + }, + "description": "Recipient User Contract Properties." + }, + "RegistrationDelegationSettingsProperties": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Enable or disable delegation for user registration." + } + }, + "description": "User registration delegation settings properties." + }, + "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 aggregation 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 successful 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.Unauthorized 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." + }, + "RepresentationContract": { + "properties": { + "contentType": { + "type": "string", + "description": "Specifies a registered or custom content type for this representation, e.g. application/xml." + }, + "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'." + }, + "formParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterContract" + }, + "description": "Collection of form parameters. Required if 'contentType' value is either 'application/x-www-form-urlencoded' or 'multipart/form-data'.." + }, + "examples": { + "$ref": "#/definitions/ParameterExamplesContract", + "description": "Exampled defined for the representation." + } + }, + "required": [ + "contentType" + ], + "description": "Operation request/response representation details." + }, + "RequestContract": { + "properties": { + "description": { + "type": "string", + "description": "Operation request description." + }, + "queryParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterContract" + }, + "description": "Collection of operation request query parameters." + }, + "headers": { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterContract" + }, + "description": "Collection of operation request headers." + }, + "representations": { + "type": "array", + "items": { + "$ref": "#/definitions/RepresentationContract" + }, + "description": "Collection of operation request representations." + } + }, + "description": "Operation request details." + }, + "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 fulfilled 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." + }, + "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" + }, + "description": "Collection of operation response representations." + }, + "headers": { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterContract" + }, + "description": "Collection of operation response headers." + } + }, + "required": [ + "statusCode" + ], + "description": "Operation response details." + }, + "SamplingSettings": { + "properties": { + "samplingType": { + "type": "string", + "description": "Sampling type.", + "enum": [ + "fixed" + ], + "x-ms-enum": { + "name": "SamplingType", + "modelAsString": true, + "values": [ + { + "value": "fixed", + "description": "Fixed-rate sampling." + } + ] + } + }, + "percentage": { + "type": "number", + "format": "double", + "minimum": 0, + "maximum": 100, + "description": "Rate of sampling for fixed-rate sampling." + } + }, + "description": "Sampling settings for Diagnostic." + }, + "SaveConfigurationParameter": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SaveConfigurationParameterProperties", + "description": "Properties of the Save Configuration Parameters." + } + }, + "description": "Save Tenant Configuration Contract details." + }, + "SaveConfigurationParameterProperties": { + "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." + }, + "SchemaCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SchemaContract" + }, + "description": "API Schema Contract value.", + "readOnly": true + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number." + }, + "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": "./../../../../../common-types/resource-management/v2/types.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).
- `Swagger` Schema use `application/vnd.ms-azure-apim.swagger.definitions+json`
- `WSDL` Schema use `application/vnd.ms-azure-apim.xsd+xml`
- `OpenApi` Schema use `application/vnd.oai.openapi.components+json`
- `WADL Schema` use `application/vnd.ms-azure-apim.wadl.grammars+xml`." + }, + "document": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SchemaDocumentProperties", + "description": "Create or update Properties of the Schema Document." + } + }, + "required": [ + "contentType" + ], + "description": "API Schema create or update contract Properties." + }, + "SchemaDocumentProperties": { + "properties": { + "value": { + "type": "string", + "description": "Json escaped string defining the document representing the Schema. Used for schemas other than Swagger/OpenAPI." + }, + "definitions": { + "type": "object", + "description": "Types definitions. Used for OpenAPI v2 (Swagger) schemas only, null otherwise." + }, + "components": { + "type": "object", + "description": "Types definitions. Used for OpenAPI v3 schemas only, null otherwise." + } + }, + "description": "Schema Document Properties." + }, + "SubscriptionCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionContract" + }, + "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 Subscriptions list representation." + }, + "SubscriptionContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SubscriptionContractProperties", + "description": "Subscription contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Subscription details." + }, + "SubscriptionContractProperties": { + "properties": { + "ownerId": { + "type": "string", + "description": "The user resource identifier of the subscription owner. The value is a valid relative URL in the format of /users/{userId} where {userId} is a user identifier." + }, + "scope": { + "type": "string", + "description": "Scope like /products/{productId} or /apis or /apis/{apiId}." + }, + "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 + } + }, + "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": { + "x-ms-secret": true, + "type": "string", + "description": "Subscription primary key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.", + "minLength": 1, + "maxLength": 256 + }, + "secondaryKey": { + "x-ms-secret": true, + "type": "string", + "description": "Subscription secondary key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.", + "minLength": 1, + "maxLength": 256 + }, + "stateComment": { + "type": "string", + "description": "Optional subscription comment added by an administrator when the state is changed to the 'rejected'." + }, + "allowTracing": { + "type": "boolean", + "description": "Determines whether tracing is enabled", + "x-apim-code-nillable": true + } + }, + "required": [ + "scope", + "state" + ], + "description": "Subscription details." + }, + "SubscriptionCreateParameterProperties": { + "properties": { + "ownerId": { + "type": "string", + "description": "User (user id path) for whom subscription is being created in form /users/{userId}" + }, + "scope": { + "type": "string", + "description": "Scope like /products/{productId} or /apis or /apis/{apiId}." + }, + "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 + } + }, + "allowTracing": { + "type": "boolean", + "description": "Determines whether tracing can be enabled" + } + }, + "required": [ + "scope", + "displayName" + ], + "description": "Parameters supplied to the Create subscription operation." + }, + "SubscriptionCreateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SubscriptionCreateParameterProperties", + "description": "Subscription contract properties." + } + }, + "description": "Subscription create 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" + } + } + }, + "SubscriptionsDelegationSettingsProperties": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Enable or disable delegation for subscriptions." + } + }, + "description": "Subscriptions delegation settings properties." + }, + "SubscriptionUpdateParameterProperties": { + "properties": { + "ownerId": { + "type": "string", + "description": "User identifier path: /users/{userId}" + }, + "scope": { + "type": "string", + "description": "Scope like /products/{productId} or /apis or /apis/{apiId}" + }, + "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 + } + }, + "stateComment": { + "type": "string", + "description": "Comments describing subscription state change by the administrator when the state is changed to the 'rejected'." + }, + "allowTracing": { + "type": "boolean", + "description": "Determines whether tracing can be enabled" + } + }, + "description": "Parameters supplied to the Update subscription operation." + }, + "SubscriptionUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SubscriptionUpdateParameterProperties", + "description": "Subscription Update contract properties." + } + }, + "description": "Subscription update details." + }, + "TagCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/TagContract" + }, + "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." + }, + "TagContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/TagContractProperties", + "description": "Tag entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.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." + }, + "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." + }, + "TagDescriptionCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/TagDescriptionContract" + }, + "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 TagDescription list representation." + }, + "TagDescriptionContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/TagDescriptionContractProperties", + "description": "TagDescription entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Contract details." + }, + "TagDescriptionContractProperties": { + "properties": { + "tagId": { + "type": "string", + "description": "Identifier of the tag in the form of /tags/{tagId}" + }, + "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." + }, + "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" + }, + "TenantConfigurationSyncStateContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/TenantConfigurationSyncStateContractProperties", + "description": "Properties returned Tenant Configuration Sync State check." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Result of Tenant Configuration Sync State." + }, + "TenantConfigurationSyncStateContractProperties": { + "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" + }, + "lastOperationId": { + "type": "string", + "description": "Most recent tenant configuration operation identifier" + } + }, + "description": "Tenant Configuration Synchronization State." + }, + "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." + }, + "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)." + }, + "UserCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/UserContract" + }, + "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 Users list representation." + }, + "UserContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/UserContractProperties", + "description": "User entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.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" + }, + "groups": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./definitions.json#/definitions/GroupContractProperties" + }, + "description": "Collection of groups user is part of." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UserEntityBaseParameters" + } + ], + "description": "User profile." + }, + "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." + }, + "appType": { + "type": "string", + "description": "Determines the type of application which send the create user request. Default is legacy portal.", + "enum": [ + "portal", + "developerPortal" + ], + "x-ms-enum": { + "name": "AppType", + "modelAsString": true, + "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." + } + ] + } + }, + "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." + }, + "UserCreateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/UserCreateParameterProperties", + "description": "User entity create contract properties." + } + }, + "description": "User create details." + }, + "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." + } + ] + } + }, + "note": { + "type": "string", + "description": "Optional note about a user set by the administrator." + }, + "identities": { + "type": "array", + "items": { + "$ref": "#/definitions/UserIdentityContract" + }, + "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": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/UserTokenParameterProperties", + "description": "User Token Parameter contract properties." + } + }, + "description": "Get User Token parameters." + }, + "UserTokenParameterProperties": { + "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 + } + }, + "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." + }, + "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." + }, + "ClientSecretContract": { + "properties": { + "clientSecret": { + "type": "string", + "description": "Client or app secret used in IdentityProviders, Aad, OpenID or OAuth." + } + }, + "description": "Client or app secret used in IdentityProviders, Aad, OpenID or OAuth." + }, + "NamedValueSecretContract": { + "properties": { + "value": { + "type": "string", + "description": "This is secret value of the NamedValue entity." + } + }, + "description": "Client or app secret used in IdentityProviders, Aad, OpenID or OAuth." + }, + "PortalSettingValidationKeyContract": { + "properties": { + "validationKey": { + "type": "string", + "description": "This is secret value of the validation key in portal settings." + } + }, + "description": "Client or app secret used in IdentityProviders, Aad, OpenID or OAuth." + }, + "SubscriptionKeysContract": { + "properties": { + "primaryKey": { + "type": "string", + "description": "Subscription primary key.", + "minLength": 1, + "maxLength": 256 + }, + "secondaryKey": { + "type": "string", + "description": "Subscription secondary key.", + "minLength": 1, + "maxLength": 256 + } + }, + "description": "Subscription keys." + }, + "GatewayCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GatewayContract" + }, + "description": "Page values.", + "readOnly": true + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any.", + "readOnly": true + } + }, + "description": "Paged Gateway list representation." + }, + "GatewayContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GatewayContractProperties", + "description": "Gateway details." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Gateway details." + }, + "GatewayContractProperties": { + "properties": { + "locationData": { + "$ref": "#/definitions/ResourceLocationDataContract", + "description": "Gateway location." + }, + "description": { + "type": "string", + "description": "Gateway description", + "maxLength": 1000 + } + }, + "description": "Properties of the Gateway contract." + }, + "ResourceLocationDataContract": { + "properties": { + "name": { + "type": "string", + "description": "A canonical name for the geographic or physical location.", + "maxLength": 256 + }, + "city": { + "type": "string", + "description": "The city or locality where the resource is located.", + "maxLength": 256 + }, + "district": { + "type": "string", + "description": "The district, state, or province where the resource is located.", + "maxLength": 256 + }, + "countryOrRegion": { + "type": "string", + "description": "The country or region where the resource is located.", + "maxLength": 256 + } + }, + "required": [ + "name" + ], + "description": "Resource location data properties." + }, + "GatewayKeysContract": { + "properties": { + "primary": { + "type": "string", + "description": "Primary gateway key." + }, + "secondary": { + "type": "string", + "description": "Secondary gateway key." + } + }, + "description": "Gateway authentication keys." + }, + "GatewayTokenRequestContract": { + "properties": { + "keyType": { + "type": "string", + "description": "The Key to be used to generate gateway token.", + "enum": [ + "primary", + "secondary" + ], + "default": "primary", + "x-ms-enum": { + "name": "KeyType", + "modelAsString": false + } + }, + "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": "Gateway token request contract properties." + }, + "GatewayTokenContract": { + "properties": { + "value": { + "type": "string", + "description": "Shared Access Authentication token value for the Gateway." + } + }, + "description": "Gateway access token." + }, + "GatewayKeyRegenerationRequestContract": { + "properties": { + "keyType": { + "type": "string", + "description": "The Key being regenerated.", + "enum": [ + "primary", + "secondary" + ], + "x-ms-enum": { + "name": "KeyType", + "modelAsString": false + } + } + }, + "required": [ + "keyType" + ], + "description": "Gateway key regeneration request contract properties." + }, + "GatewayHostnameConfigurationCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GatewayHostnameConfigurationContract" + }, + "description": "Page values.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Next page link if any.", + "readOnly": true + } + }, + "description": "Paged Gateway hostname configuration list representation." + }, + "GatewayHostnameConfigurationContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GatewayHostnameConfigurationContractProperties", + "description": "Gateway hostname configuration details." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Gateway hostname configuration details." + }, + "GatewayHostnameConfigurationContractProperties": { + "properties": { + "hostname": { + "type": "string", + "description": "Hostname value. Supports valid domain name, partial or full wildcard" + }, + "certificateId": { + "type": "string", + "description": "Identifier of Certificate entity that will be used for TLS connection establishment" + }, + "negotiateClientCertificate": { + "type": "boolean", + "description": "Determines whether gateway requests client certificate" + }, + "tls10Enabled": { + "type": "boolean", + "description": "Specifies if TLS 1.0 is supported" + }, + "tls11Enabled": { + "type": "boolean", + "description": "Specifies if TLS 1.1 is supported" + }, + "http2Enabled": { + "type": "boolean", + "description": "Specifies if HTTP/2.0 is supported" + } + }, + "description": "Gateway hostname configuration details." + }, + "GatewayCertificateAuthorityCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GatewayCertificateAuthorityContract" + }, + "description": "Page values.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Next page link if any.", + "readOnly": true + } + }, + "description": "Paged Gateway certificate authority list representation." + }, + "GatewayCertificateAuthorityContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GatewayCertificateAuthorityContractProperties", + "description": "Gateway certificate authority details." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Gateway certificate authority details." + }, + "GatewayCertificateAuthorityContractProperties": { + "properties": { + "isTrusted": { + "type": "boolean", + "description": "Determines whether certificate authority is trusted." + } + }, + "description": "Gateway certificate authority details." + }, + "AssociationContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "provisioningState": { + "type": "string", + "description": "Provisioning state.", + "enum": [ + "created" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + } + }, + "description": "Association entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Association entity details." + }, + "ContentTypeCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentTypeContract" + }, + "description": "Collection of content types.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Next page link, if any.", + "readOnly": true + } + }, + "description": "Paged list of content types." + }, + "ContentTypeContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ContentTypeContractProperties", + "description": "Properties of the content type." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Content type contract details." + }, + "ContentTypeContractProperties": { + "properties": { + "id": { + "type": "string", + "description": "Content type identifier" + }, + "name": { + "type": "string", + "description": "Content type name. Must be 1 to 250 characters long." + }, + "description": { + "type": "string", + "description": "Content type description." + }, + "schema": { + "type": "object", + "description": "Content type schema." + }, + "version": { + "type": "string", + "description": "Content type version." + } + } + }, + "ContentItemCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentItemContract" + }, + "description": "Collection of content items.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Next page link, if any.", + "readOnly": true + } + }, + "description": "Paged list of content items." + }, + "ContentItemContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ContentItemContractProperties", + "description": "Properties of the content item." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Content type contract details." + }, + "ContentItemContractProperties": { + "properties": {}, + "additionalProperties": true + }, + "DeletedServicesCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedServiceContract" + }, + "description": "Page values.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Next page link if any.", + "readOnly": true + } + }, + "description": "Paged deleted API Management Services List Representation." + }, + "DeletedServiceContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DeletedServiceContractProperties", + "description": "Deleted API Management Service details." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "API Management Service Master Location." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Deleted API Management Service information." + }, + "DeletedServiceContractProperties": { + "properties": { + "serviceId": { + "type": "string", + "description": "Fully-qualified API Management Service Resource ID" + }, + "scheduledPurgeDate": { + "type": "string", + "format": "date-time", + "description": "UTC Date and Time when the service will be automatically purged. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard." + }, + "deletionDate": { + "type": "string", + "format": "date-time", + "description": "UTC Timestamp when the service was soft-deleted. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard." + } + } + }, + "PortalRevisionCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PortalRevisionContract" + }, + "description": "Collection of portal revisions.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Next page link, if any.", + "readOnly": true + } + }, + "description": "Paged list of portal revisions." + }, + "PortalRevisionContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PortalRevisionContractProperties", + "description": "Properties of the portal revisions." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Portal Revision's contract details." + }, + "PortalRevisionContractProperties": { + "properties": { + "description": { + "type": "string", + "description": "Portal revision description.", + "maxLength": 2000 + }, + "statusDetails": { + "type": "string", + "description": "Portal revision publishing status details.", + "maxLength": 2000, + "readOnly": true + }, + "status": { + "type": "string", + "description": "Status of the portal's revision.", + "enum": [ + "pending", + "publishing", + "completed", + "failed" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "portalRevisionStatus", + "values": [ + { + "value": "pending", + "description": "Portal's revision has been queued." + }, + { + "value": "publishing", + "description": "Portal's revision is being published." + }, + { + "value": "completed", + "description": "Portal's revision publishing completed." + }, + { + "value": "failed", + "description": "Portal's revision publishing failed." + } + ] + }, + "readOnly": true + }, + "isCurrent": { + "type": "boolean", + "description": "Indicates if the portal's revision is public." + }, + "createdDateTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "Portal's revision creation date and time." + }, + "updatedDateTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "Last updated date and time." + } + } + }, + "PrivateEndpointConnectionRequest": { + "description": "A request to approve or reject a private endpoint connection", + "type": "object", + "properties": { + "id": { + "description": "Private Endpoint Connection Resource Id.", + "type": "string" + }, + "properties": { + "type": "object", + "description": "The connection state of the private endpoint connection.", + "properties": { + "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." + } + } + } + } + }, + "RemotePrivateEndpointConnectionWrapper": { + "description": "Remote Private Endpoint Connection resource.", + "type": "object", + "properties": { + "id": { + "description": "Private Endpoint connection resource id", + "type": "string" + }, + "name": { + "description": "Private Endpoint Connection Name", + "type": "string" + }, + "type": { + "description": "Private Endpoint Connection Resource Type", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionWrapperProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + } + }, + "PrivateEndpointConnectionWrapperProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/ArmIdWrapper", + "description": "The resource of private end point." + }, + "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." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioning state of the private endpoint connection resource." + }, + "groupIds": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "All the Group ids." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties.", + "type": "object" + }, + "ArmIdWrapper": { + "description": "A wrapper for an ARM resource id", + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true + } + } + }, + "ConnectivityCheckRequest": { + "description": "A request to perform the connectivity check operation on a API Management service.", + "type": "object", + "required": [ + "source", + "destination" + ], + "properties": { + "source": { + "description": "Definitions about the connectivity check origin.", + "type": "object", + "required": [ + "region" + ], + "properties": { + "region": { + "description": "The API Management service region from where to start the connectivity check operation.", + "type": "string", + "example": "westus" + }, + "instance": { + "description": "The particular VMSS instance from which to fire the request.", + "type": "integer", + "format": "int64" + } + } + }, + "destination": { + "description": "The connectivity check operation destination.", + "type": "object", + "required": [ + "address", + "port" + ], + "properties": { + "address": { + "description": "Destination address. Can either be an IP address or a FQDN.", + "type": "string", + "example": "microsoft.com" + }, + "port": { + "description": "Destination port.", + "type": "integer", + "format": "int64", + "example": 80 + } + } + }, + "preferredIPVersion": { + "description": "The IP version to be used. Only IPv4 is supported for now.", + "type": "string", + "enum": [ + "IPv4" + ], + "x-ms-enum": { + "name": "PreferredIPVersion", + "modelAsString": true + } + }, + "protocol": { + "description": "The request's protocol. Specific protocol configuration can be available based on this selection. The specified destination address must be coherent with this value.", + "type": "string", + "enum": [ + "TCP", + "HTTP", + "HTTPS" + ], + "x-ms-enum": { + "name": "ConnectivityCheckProtocol", + "modelAsString": true + } + }, + "protocolConfiguration": { + "description": "Protocol-specific configuration.", + "type": "object", + "properties": { + "HTTPConfiguration": { + "description": "Configuration for HTTP or HTTPS requests.", + "type": "object", + "properties": { + "method": { + "description": "The HTTP method to be used.", + "type": "string", + "enum": [ + "GET", + "POST" + ], + "x-ms-enum": { + "name": "Method", + "modelAsString": true + } + }, + "validStatusCodes": { + "type": "array", + "description": "List of HTTP status codes considered valid for the request response.", + "items": { + "type": "integer", + "format": "int64" + } + }, + "headers": { + "type": "array", + "description": "List of headers to be included in the request.", + "items": { + "$ref": "#/definitions/HTTPHeader" + } + } + } + } + } + } + } + }, + "HTTPHeader": { + "description": "HTTP header and it's value.", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string", + "description": "Header name." + }, + "value": { + "type": "string", + "description": "Header value." + } + } + }, + "ConnectivityCheckResponse": { + "description": "Information on the connectivity status.", + "type": "object", + "properties": { + "hops": { + "readOnly": true, + "type": "array", + "description": "List of hops between the source and the destination.", + "items": { + "$ref": "#/definitions/ConnectivityHop" + } + }, + "connectionStatus": { + "readOnly": true, + "type": "string", + "enum": [ + "Unknown", + "Connected", + "Disconnected", + "Degraded" + ], + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + }, + "description": "The connection status." + }, + "avgLatencyInMs": { + "description": "Average latency in milliseconds.", + "readOnly": true, + "type": "integer", + "format": "int64" + }, + "minLatencyInMs": { + "description": "Minimum latency in milliseconds.", + "readOnly": true, + "type": "integer", + "format": "int64" + }, + "maxLatencyInMs": { + "description": "Maximum latency in milliseconds.", + "readOnly": true, + "type": "integer", + "format": "int64" + }, + "probesSent": { + "description": "Total number of probes sent.", + "readOnly": true, + "type": "integer", + "format": "int64" + }, + "probesFailed": { + "description": "Number of failed probes.", + "readOnly": true, + "type": "integer", + "format": "int64" + } + } + }, + "ConnectivityHop": { + "description": "Information about a hop between the source and the destination.", + "type": "object", + "properties": { + "type": { + "description": "The type of the hop.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "The ID of the hop.", + "readOnly": true, + "type": "string" + }, + "address": { + "description": "The IP address of the hop.", + "readOnly": true, + "type": "string" + }, + "resourceId": { + "description": "The ID of the resource corresponding to this hop.", + "readOnly": true, + "type": "string" + }, + "nextHopIds": { + "readOnly": true, + "type": "array", + "description": "List of next hop identifiers.", + "items": { + "type": "string" + } + }, + "issues": { + "readOnly": true, + "type": "array", + "description": "List of issues.", + "items": { + "$ref": "#/definitions/ConnectivityIssue" + } + } + } + }, + "ConnectivityIssue": { + "description": "Information about an issue encountered in the process of checking for connectivity.", + "type": "object", + "properties": { + "origin": { + "readOnly": true, + "type": "string", + "enum": [ + "Local", + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "Origin", + "modelAsString": true + }, + "description": "The origin of the issue." + }, + "severity": { + "readOnly": true, + "type": "string", + "enum": [ + "Error", + "Warning" + ], + "x-ms-enum": { + "name": "Severity", + "modelAsString": true + }, + "description": "The severity of the issue." + }, + "type": { + "readOnly": true, + "type": "string", + "enum": [ + "Unknown", + "AgentStopped", + "GuestFirewall", + "DnsResolution", + "SocketBind", + "NetworkSecurityRule", + "UserDefinedRoute", + "PortThrottled", + "Platform" + ], + "x-ms-enum": { + "name": "IssueType", + "modelAsString": true + }, + "description": "The type of issue." + }, + "context": { + "readOnly": true, + "type": "array", + "description": "Provides additional context on the issue.", + "items": { + "$ref": "#/definitions/IssueContext" + } + } + } + }, + "IssueContext": { + "description": "A key-value pair that provides additional context on the issue.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementApplyNetworkConfigurationUpdates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementApplyNetworkConfigurationUpdates.json new file mode 100644 index 000000000000..6e6ba61ba0b3 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementApplyNetworkConfigurationUpdates.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "parameters": { + "location": "west us" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "UID": "52ed5986-717b-45b4-b17c-3df8db372cff" + }, + "location": "East Asia", + "etag": "AAAAAAAXX6Y=", + "properties": { + "publisherEmail": "admin@live.com", + "publisherName": "Contoso", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2015-09-22T01:50:34.7921566Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [], + "publicIPAddresses": [ + "207.46.155.24" + ], + "virtualNetworkConfiguration": { + "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/eastUsVirtualNetwork/subnets/apimSubnet" + }, + "virtualNetworkType": "External" + }, + "sku": { + "name": "Premium", + "capacity": 1 + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementApproveOrRejectPrivateEndpointConnection.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementApproveOrRejectPrivateEndpointConnection.json new file mode 100644 index 000000000000..1628a57cfb8c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementApproveOrRejectPrivateEndpointConnection.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "privateEndpointConnectionName": "privateEndpointConnectionName", + "privateEndpointConnectionRequest": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateEndpointConnections/connectionName", + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "The Private Endpoint Connection is approved." + } + } + } + }, + "responses": { + "201": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "200": { + "body": { + "name": "privateEndpointConnectionName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateEndpointConnections/privateEndpointConnectionName", + "type": "Microsoft.ApiManagement/service/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/privateEndpointName" + }, + "privateLinkServiceConnectionState": { + "status": "Succeeded", + "description": "The request has been approved." + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementAuthorizationServerListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementAuthorizationServerListSecrets.json new file mode 100644 index 000000000000..f4d5023683a1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementAuthorizationServerListSecrets.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "authsid": "newauthServer2" + }, + "responses": { + "200": { + "body": { + "clientSecret": "2", + "resourceOwnerUsername": "un", + "resourceOwnerPassword": "pwd" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackendReconnect.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackendReconnect.json new file mode 100644 index 000000000000..ec7fedf4261f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackendReconnect.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "backendId": "proxybackend", + "parameters": { + "properties": { + "after": "PT3S" + } + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackupWithAccessKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackupWithAccessKey.json new file mode 100644 index 000000000000..7cc22d8389e2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackupWithAccessKey.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "parameters": { + "storageAccount": "teststorageaccount", + "containerName": "backupContainer", + "backupName": "apimService1backup_2017_03_19", + "accessType": "AccessKey", + "accessKey": "**************************************************" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "location": "West US", + "etag": "AAAAAAACXok=", + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2019-12-18T06:26:20.3348609Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "developerPortalUrl": "https://apimService1.developer.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": false + }, + { + "type": "Proxy", + "hostName": "gateway1.msitesting.net", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2036-01-01T07:00:00+00:00", + "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": true + }, + { + "type": "Management", + "hostName": "mgmt.msitesting.net", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2036-01-01T07:00:00+00:00", + "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": false + }, + { + "type": "Portal", + "hostName": "portal1.msitesting.net", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2036-01-01T07:00:00+00:00", + "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": false + } + ], + "publicIPAddresses": [ + "13.91.32.113" + ], + "additionalLocations": [ + { + "location": "East US", + "sku": { + "name": "Premium", + "capacity": 1 + }, + "publicIPAddresses": [ + "23.101.138.153" + ], + "gatewayRegionalUrl": "https://apimService1-eastus-01.regional.azure-api.net", + "disableGateway": true + } + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False" + }, + "virtualNetworkType": "None", + "disableGateway": false, + "apiVersionConstraint": { + "minApiVersion": "2019-01-01" + } + }, + "sku": { + "name": "Premium", + "capacity": 1 + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackupWithSystemManagedIdentity.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackupWithSystemManagedIdentity.json new file mode 100644 index 000000000000..8b80f5aec5c3 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackupWithSystemManagedIdentity.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "parameters": { + "storageAccount": "contosorpstorage", + "containerName": "apim-backups", + "backupName": "backup5", + "accessType": "SystemAssignedManagedIdentity" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "Owner": "apimService1" + }, + "location": "Central US EUAP", + "etag": "AAAAAAAQM8o=", + "properties": { + "publisherEmail": "apimService1@corp.microsoft.com", + "publisherName": "MS", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2020-04-23T16:26:47.8637967Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "gatewayRegionalUrl": "https://apimService1-centraluseuap-01.regional.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "developerPortalUrl": "https://apimService1.developer.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true, + "certificateSource": "BuiltIn" + } + ], + "publicIPAddresses": [ + "52.XXXX.160.66" + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False" + }, + "virtualNetworkType": "None", + "disableGateway": false, + "publicNetworkAccess": "Enabled", + "platformVersion": "stv1" + }, + "sku": { + "name": "Premium", + "capacity": 1 + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "principalId": "XXXXX-5fb4-4916-95d4-64b306f9d924", + "tenantId": "XXXXX-86f1-XXXXX-91ab-2d7cd011db47", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/rg1UserIdentity": { + "principalId": "XXXXX-a100-4478-XXXX-d65d98118ba0", + "clientId": "XXXXX-a154-4830-XXXX-46a12da1a1e2" + }, + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/vpnpremium": { + "principalId": "XXXXX-9208-4128-af2d-a10d2af9b5a3", + "clientId": "XXXX-6328-4db2-XXXX-ab0e3e7806cf" + } + } + }, + "systemData": { + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-06-30T06:24:57.0008037Z" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackupWithUserAssignedManagedIdentity.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackupWithUserAssignedManagedIdentity.json new file mode 100644 index 000000000000..3729d012675e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackupWithUserAssignedManagedIdentity.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "parameters": { + "storageAccount": "contosorpstorage", + "containerName": "apim-backups", + "backupName": "backup5", + "accessType": "UserAssignedManagedIdentity", + "clientId": "XXXXX-a154-4830-XXXX-46a12da1a1e2" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "Owner": "apimService1" + }, + "location": "Central US EUAP", + "etag": "AAAAAAAQM8o=", + "properties": { + "publisherEmail": "apimService1@corp.microsoft.com", + "publisherName": "MS", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2020-04-23T16:26:47.8637967Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "gatewayRegionalUrl": "https://apimService1-centraluseuap-01.regional.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "developerPortalUrl": "https://apimService1.developer.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true, + "certificateSource": "BuiltIn" + } + ], + "publicIPAddresses": [ + "52.XXXX.160.66" + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False" + }, + "virtualNetworkType": "None", + "disableGateway": false, + "publicNetworkAccess": "Enabled", + "platformVersion": "stv1" + }, + "sku": { + "name": "Premium", + "capacity": 1 + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "principalId": "XXXXX-5fb4-4916-95d4-64b306f9d924", + "tenantId": "XXXXX-86f1-XXXXX-91ab-2d7cd011db47", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/rg1UserIdentity": { + "principalId": "XXXXX-a100-4478-XXXX-d65d98118ba0", + "clientId": "XXXXX-a154-4830-XXXX-46a12da1a1e2" + }, + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/vpnpremium": { + "principalId": "XXXXX-9208-4128-af2d-a10d2af9b5a3", + "clientId": "XXXX-6328-4db2-XXXX-ab0e3e7806cf" + } + } + }, + "systemData": { + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-06-30T06:24:57.0008037Z" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateAILogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateAILogger.json new file mode 100644 index 000000000000..cdd7f0e159a0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateAILogger.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "loggerId": "loggerId", + "parameters": { + "properties": { + "loggerType": "applicationInsights", + "description": "adding a new logger", + "credentials": { + "instrumentationKey": "11................a1" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/loggerId", + "type": "Microsoft.ApiManagement/service/loggers", + "name": "loggerId", + "properties": { + "loggerType": "applicationInsights", + "description": null, + "credentials": { + "instrumentationKey": "{{5a.......2a}}" + }, + "isBuffered": false, + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/microsoft.insights/components/airesource" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/loggerId", + "type": "Microsoft.ApiManagement/service/loggers", + "name": "loggerId", + "properties": { + "loggerType": "applicationInsights", + "description": null, + "credentials": { + "instrumentationKey": "{{5a.......2a}}" + }, + "isBuffered": false + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApi.json new file mode 100644 index 000000000000..eedbc5ab0b21 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApi.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "tempgroup", + "parameters": { + "properties": { + "description": "apidescription5200", + "authenticationSettings": { + "oAuth2": { + "authorizationServerId": "authorizationServerId2283", + "scope": "oauth2scope2580" + } + }, + "subscriptionKeyParameterNames": { + "header": "header4520", + "query": "query3037" + }, + "displayName": "apiname1463", + "serviceUrl": "http://newechoapi.cloudapp.net/api", + "path": "newapiPath", + "protocols": [ + "https", + "http" + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419", + "type": "Microsoft.ApiManagement/service/apis", + "name": "apiid9419", + "properties": { + "displayName": "apiname1463", + "apiRevision": "1", + "description": "apidescription5200", + "serviceUrl": "http://newechoapi.cloudapp.net/api", + "path": "newapiPath", + "protocols": [ + "http", + "https" + ], + "authenticationSettings": { + "oAuth2": { + "authorizationServerId": "authorizationServerId2283", + "scope": "oauth2scope2580" + } + }, + "subscriptionKeyParameterNames": { + "header": "header4520", + "query": "query3037" + }, + "isCurrent": true, + "isOnline": true + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419", + "type": "Microsoft.ApiManagement/service/apis", + "name": "apiid9419", + "properties": { + "displayName": "apiname1463", + "apiRevision": "1", + "description": "apidescription5200", + "serviceUrl": "http://newechoapi.cloudapp.net/api", + "path": "newapiPath", + "protocols": [ + "http", + "https" + ], + "authenticationSettings": { + "oAuth2": { + "authorizationServerId": "authorizationServerId2283", + "scope": "oauth2scope2580" + } + }, + "subscriptionKeyParameterNames": { + "header": "header4520", + "query": "query3037" + }, + "isCurrent": true, + "isOnline": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiClone.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiClone.json new file mode 100644 index 000000000000..23291695f0ab --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiClone.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "echo-api2", + "parameters": { + "properties": { + "displayName": "Echo API2", + "description": "Copy of Existing Echo Api including Operations.", + "subscriptionRequired": true, + "serviceUrl": "http://echoapi.cloudapp.net/api", + "path": "echo2", + "protocols": [ + "http", + "https" + ], + "isCurrent": true, + "sourceApiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58a4aeac497000007d040001" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapi2", + "type": "Microsoft.ApiManagement/service/apis", + "name": "echoapi2", + "properties": { + "displayName": "Echo API2", + "apiRevision": "1", + "description": "Copy of Existing Echo Api including Operations.", + "subscriptionRequired": true, + "serviceUrl": "http://echoapi.cloudapp.net/api", + "path": "echo2", + "protocols": [ + "http", + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapi2", + "type": "Microsoft.ApiManagement/service/apis", + "name": "echoapi2", + "properties": { + "displayName": "Echo API2", + "apiRevision": "1", + "description": "Copy of Existing Echo Api including Operations.", + "subscriptionRequired": true, + "serviceUrl": "http://echoapi.cloudapp.net/api", + "path": "echo2", + "protocols": [ + "http", + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiDiagnostic.json new file mode 100644 index 000000000000..bd8cab2ca88a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiDiagnostic.json @@ -0,0 +1,160 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "diagnosticId": "applicationinsights", + "apiId": "57d1f7558aa04f15146d9d8a", + "parameters": { + "properties": { + "alwaysLog": "allErrors", + "loggerId": "/loggers/applicationinsights", + "sampling": { + "samplingType": "fixed", + "percentage": 50 + }, + "frontend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + }, + "backend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/apis/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "loggerId": "/loggers/applicationinsights", + "sampling": { + "samplingType": "fixed", + "percentage": 50 + }, + "frontend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + }, + "backend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + } + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/apis/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "loggerId": "/loggers/applicationinsights", + "sampling": { + "samplingType": "fixed", + "percentage": 50 + }, + "frontend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + }, + "backend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiIssue.json new file mode 100644 index 000000000000..e1556ae08713 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiIssue.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "issueId": "57d2ef278aa04f0ad01d6cdc", + "apiId": "57d1f7558aa04f15146d9d8a", + "parameters": { + "properties": { + "title": "New API issue", + "description": "New API issue description", + "createdDate": "2018-02-01T22:21:20.467Z", + "state": "open", + "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc", + "type": "Microsoft.ApiManagement/service/apis/issues", + "name": "57d2ef278aa04f0ad01d6cdc", + "properties": { + "title": "New API issue", + "description": "New API issue description", + "createdDate": "2018-02-01T22:21:20.467Z", + "state": "open", + "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc", + "type": "Microsoft.ApiManagement/service/apis/issues", + "name": "57d2ef278aa04f0ad01d6cdc", + "properties": { + "title": "New API issue", + "description": "New API issue description", + "createdDate": "2018-02-01T22:21:20.467Z", + "state": "open", + "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiIssueAttachment.json new file mode 100644 index 000000000000..a163987052c8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiIssueAttachment.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "issueId": "57d2ef278aa04f0ad01d6cdc", + "apiId": "57d1f7558aa04f15146d9d8a", + "attachmentId": "57d2ef278aa04f0888cba3f3", + "parameters": { + "properties": { + "title": "Issue attachment.", + "contentFormat": "image/jpeg", + "content": "IEJhc2U2NA==" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3", + "type": "Microsoft.ApiManagement/service/apis/issues/attachments", + "name": "57d2ef278aa04f0888cba3f3", + "properties": { + "title": "Issue attachment.", + "contentFormat": "link", + "content": "https://.../image.jpg" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3", + "type": "Microsoft.ApiManagement/service/apis/issues/attachments", + "name": "57d2ef278aa04f0888cba3f3", + "properties": { + "title": "Issue attachment.", + "contentFormat": "link", + "content": "https://.../image.jpg" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiIssueComment.json new file mode 100644 index 000000000000..f49f177325b5 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiIssueComment.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "issueId": "57d2ef278aa04f0ad01d6cdc", + "apiId": "57d1f7558aa04f15146d9d8a", + "commentId": "599e29ab193c3c0bd0b3e2fb", + "parameters": { + "properties": { + "text": "Issue comment.", + "createdDate": "2018-02-01T22:21:20.467Z", + "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb", + "type": "Microsoft.ApiManagement/service/apis/issues/comments", + "name": "599e29ab193c3c0bd0b3e2fb", + "properties": { + "text": "Issue comment.", + "createdDate": "2018-02-01T22:21:20.467Z", + "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb", + "type": "Microsoft.ApiManagement/service/apis/issues/comments", + "name": "599e29ab193c3c0bd0b3e2fb", + "properties": { + "text": "Issue comment.", + "createdDate": "2018-02-01T22:21:20.467Z", + "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json new file mode 100644 index 000000000000..9c1457f23f0c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "echoapiv3", + "parameters": { + "properties": { + "displayName": "Echo API2", + "description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.", + "subscriptionRequired": true, + "serviceUrl": "http://echoapi.cloudapp.net/api", + "path": "echo2", + "protocols": [ + "http", + "https" + ], + "isCurrent": true, + "apiVersion": "v4", + "sourceApiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoPath", + "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapiv3", + "type": "Microsoft.ApiManagement/service/apis", + "name": "echoapiv3", + "properties": { + "displayName": "Echo API2", + "apiRevision": "1", + "description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.", + "subscriptionRequired": true, + "serviceUrl": "http://echoapi.cloudapp.net/api", + "path": "echo2", + "protocols": [ + "http", + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true, + "apiVersion": "v4", + "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458", + "apiVersionSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458", + "name": "Echo API2", + "versioningScheme": "Segment" + } + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapiv3", + "type": "Microsoft.ApiManagement/service/apis", + "name": "echoapiv3", + "properties": { + "displayName": "Echo API2", + "apiRevision": "1", + "description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.", + "subscriptionRequired": true, + "serviceUrl": "http://echoapi.cloudapp.net/api", + "path": "echo2", + "protocols": [ + "http", + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true, + "apiVersion": "v4", + "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458", + "apiVersionSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458", + "name": "Echo API2", + "versioningScheme": "Segment" + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiOperation.json new file mode 100644 index 000000000000..8db2310817ec --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiOperation.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "PetStoreTemplate2", + "operationId": "newoperations", + "parameters": { + "properties": { + "displayName": "createUser2", + "method": "POST", + "urlTemplate": "/user1", + "templateParameters": [], + "description": "This can only be done by the logged in user.", + "request": { + "description": "Created user object", + "queryParameters": [], + "headers": [], + "representations": [ + { + "contentType": "application/json", + "schemaId": "592f6c1d0af5840ca8897f0c", + "typeName": "User" + } + ] + }, + "responses": [ + { + "statusCode": 200, + "description": "successful operation", + "representations": [ + { + "contentType": "application/xml" + }, + { + "contentType": "application/json" + } + ], + "headers": [] + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/PetStoreTemplate2/operations/newoperations", + "type": "Microsoft.ApiManagement/service/apis/operations", + "name": "newoperations", + "properties": { + "displayName": "createUser2", + "method": "POST", + "urlTemplate": "/user1", + "templateParameters": [], + "description": "This can only be done by the logged in user.", + "request": { + "description": "Created user object", + "queryParameters": [], + "headers": [], + "representations": [ + { + "contentType": "application/json", + "schemaId": "592f6c1d0af5840ca8897f0c", + "typeName": "User" + } + ] + }, + "responses": [ + { + "statusCode": 200, + "description": "successful operation", + "representations": [ + { + "contentType": "application/xml" + }, + { + "contentType": "application/json" + } + ], + "headers": [] + } + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/PetStoreTemplate2/operations/newoperations", + "type": "Microsoft.ApiManagement/service/apis/operations", + "name": "newoperations", + "properties": { + "displayName": "createUser2", + "method": "POST", + "urlTemplate": "/user1", + "templateParameters": [], + "description": "This can only be done by the logged in user.", + "request": { + "description": "Created user object", + "queryParameters": [], + "headers": [], + "representations": [ + { + "contentType": "application/json", + "schemaId": "592f6c1d0af5840ca8897f0c", + "typeName": "User" + } + ] + }, + "responses": [ + { + "statusCode": 200, + "description": "successful operation", + "representations": [ + { + "contentType": "application/xml" + }, + { + "contentType": "application/json" + } + ], + "headers": [] + } + ] + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiOperationPolicy.json new file mode 100644 index 000000000000..39634cfa93ec --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiOperationPolicy.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "5600b57e7e8880006a040001", + "operationId": "5600b57e7e8880006a080001", + "policyId": "policy", + "If-Match": "*", + "parameters": { + "properties": { + "format": "xml", + "value": " " + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/operations/5600b57e7e8880006a080001/policies/policy", + "type": "Microsoft.ApiManagement/service/apis/operations/policies", + "name": "policy", + "properties": { + "value": "\r\n \r\n \r\n \r\n \r\n \r\n" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/operations/5600b57e7e8880006a080001/policies/policy", + "type": "Microsoft.ApiManagement/service/apis/operations/policies", + "name": "policy", + "properties": { + "value": "\r\n \r\n \r\n \r\n \r\n \r\n" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiOperationTag.json new file mode 100644 index 000000000000..c58825b48ffa --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiOperationTag.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "5931a75ae4bbd512a88c680b", + "operationId": "5931a75ae4bbd512a88c680a", + "tagId": "tagId1" + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1", + "type": "Microsoft.ApiManagement/service/tags", + "name": "tagId1", + "properties": { + "displayName": "tag1" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1", + "type": "Microsoft.ApiManagement/service/tags", + "name": "tagId1", + "properties": { + "displayName": "tag1" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiPolicy.json new file mode 100644 index 000000000000..7a474105a461 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiPolicy.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "5600b57e7e8880006a040001", + "policyId": "policy", + "If-Match": "*", + "parameters": { + "properties": { + "format": "xml", + "value": " " + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/policies/policy", + "type": "Microsoft.ApiManagement/service/apis/policies", + "name": "policy", + "properties": { + "value": "\r\n \r\n \r\n \r\n \r\n \r\n" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/policies/policy", + "type": "Microsoft.ApiManagement/service/apis/policies", + "name": "policy", + "properties": { + "value": "\r\n \r\n \r\n \r\n \r\n \r\n" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiPolicyNonXmlEncoded.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiPolicyNonXmlEncoded.json new file mode 100644 index 000000000000..bd01eae89bc4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiPolicyNonXmlEncoded.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "5600b57e7e8880006a040001", + "policyId": "policy", + "If-Match": "*", + "parameters": { + "properties": { + "value": "\r\n \r\n \r\n \r\n \"@(context.Request.Headers.FirstOrDefault(h => h.Ke==\"Via\"))\" \r\n \r\n \r\n ", + "format": "rawxml" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/4c1a3bc6-89f9-46fe-a175-5d8984b25095/resourcegroups/Api-DF-West-US/providers/Microsoft.ApiManagement/service/samirmsiservice2/apis/echo-api/operations/create-resource/policies/policy", + "type": "Microsoft.ApiManagement/service/apis/operations/policies", + "name": "policy", + "properties": { + "value": "\r\n \r\n \r\n \r\n \"@(context.Request.Headers.FirstOrDefault(h => h.Ke==\"Via\"))\" \r\n \r\n \r\n" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/4c1a3bc6-89f9-46fe-a175-5d8984b25095/resourcegroups/Api-DF-West-US/providers/Microsoft.ApiManagement/service/samirmsiservice2/apis/echo-api/operations/create-resource/policies/policy", + "type": "Microsoft.ApiManagement/service/apis/operations/policies", + "name": "policy", + "properties": { + "value": "\r\n \r\n \r\n \r\n \"@(context.Request.Headers.FirstOrDefault(h => h.Ke==\"Via\"))\" \r\n \r\n \r\n" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiRelease.json new file mode 100644 index 000000000000..606c9150cac6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiRelease.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "a1", + "releaseId": "testrev", + "parameters": { + "properties": { + "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1", + "notes": "yahooagain" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/testrev", + "type": "Microsoft.ApiManagement/service/apis/releases", + "name": "testrev", + "properties": { + "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1", + "createdDateTime": "2018-02-08T20:52:00.65Z", + "updatedDateTime": "2018-02-08T20:52:00.65Z", + "notes": "yahooagain" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/testrev", + "type": "Microsoft.ApiManagement/service/apis/releases", + "name": "testrev", + "properties": { + "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1", + "createdDateTime": "2018-02-08T20:52:00.65Z", + "updatedDateTime": "2018-02-08T20:52:00.65Z", + "notes": "yahooagain" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiRevisionFromExistingApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiRevisionFromExistingApi.json new file mode 100644 index 000000000000..86feef6b4211 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiRevisionFromExistingApi.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "echo-api;rev=3", + "parameters": { + "properties": { + "path": "echo", + "serviceUrl": "http://echoapi.cloudapp.net/apiv3", + "sourceApiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api", + "apiRevisionDescription": "Creating a Revision of an existing API" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3", + "type": "Microsoft.ApiManagement/service/apis", + "name": "echo-api;rev=3", + "properties": { + "displayName": "Echo API", + "apiRevision": "3", + "subscriptionRequired": true, + "serviceUrl": "http://echoapi.cloudapp.net/apiv3", + "path": "echo", + "protocols": [ + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "apiRevisionDescription": "Creating a Revision of an existing API" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3", + "type": "Microsoft.ApiManagement/service/apis", + "name": "echo-api;rev=3", + "properties": { + "displayName": "Echo API", + "apiRevision": "3", + "subscriptionRequired": true, + "serviceUrl": "http://echoapi.cloudapp.net/apiv3", + "path": "echo", + "protocols": [ + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "apiRevisionDescription": "Creating a Revision of an existing API" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiSchema.json new file mode 100644 index 000000000000..2831ad5ce06d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiSchema.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "59d6bb8f1f7fab13dc67ec9b", + "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1", + "parameters": { + "properties": { + "contentType": "application/vnd.ms-azure-apim.xsd+xml", + "document": { + "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n" + } + } + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1", + "type": "Microsoft.ApiManagement/service/apis/schemas", + "name": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1", + "properties": { + "contentType": "application/vnd.ms-azure-apim.xsd+xml", + "document": { + "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n" + } + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1", + "type": "Microsoft.ApiManagement/service/apis/schemas", + "name": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1", + "properties": { + "contentType": "application/vnd.ms-azure-apim.xsd+xml", + "document": { + "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n" + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiTag.json new file mode 100644 index 000000000000..518e5e4f8b59 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiTag.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "5931a75ae4bbd512a88c680b", + "tagId": "tagId1" + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1", + "type": "Microsoft.ApiManagement/service/tags", + "name": "tagId1", + "properties": { + "displayName": "tag1" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1", + "type": "Microsoft.ApiManagement/service/tags", + "name": "tagId1", + "properties": { + "displayName": "tag1" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiTagDescription.json new file mode 100644 index 000000000000..699e1e65471e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiTagDescription.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "5931a75ae4bbd512a88c680b", + "tagDescriptionId": "tagId1", + "parameters": { + "properties": { + "description": "Some description that will be displayed for operation's tag if the tag is assigned to operation of the API", + "externalDocsUrl": "http://some.url/additionaldoc", + "externalDocsDescription": "Description of the external docs resource" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5931a75ae4bbd512a88c680b/tagDescriptions/tagId1", + "type": "Microsoft.ApiManagement/service/apis/tagDescriptions", + "name": "tagId1", + "properties": { + "tagId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1", + "displayName": "tag1", + "description": "Some description that will be displayed for operation's tag if the tag is assigned to operation of the API", + "externalDocsDescription": "some additional info", + "externalDocsUrl": "http://some_url.com" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5931a75ae4bbd512a88c680b/tagDescriptions/tagId1", + "type": "Microsoft.ApiManagement/service/apis/tagDescriptions", + "name": "tagId1", + "properties": { + "tagId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1", + "displayName": "tag1", + "description": "Some description that will be displayed for operation's tag if the tag is assigned to operation of the API", + "externalDocsDescription": "some additional info", + "externalDocsUrl": "http://some_url.com" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json new file mode 100644 index 000000000000..b053f551b9c0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "apidocs", + "parameters": { + "properties": { + "format": "swagger-link", + "value": "http://apimpimportviaurl.azurewebsites.net/api/apidocs/", + "path": "petstoreapi123", + "serviceUrl": "http://petstore.swagger.wordnik.com/api" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs", + "type": "Microsoft.ApiManagement/service/apis", + "name": "apidocs", + "properties": { + "displayName": "Swagger Sample App", + "apiRevision": "1", + "description": "This is a sample server Petstore server. You can find out more about Swagger \n at
http://swagger.wordnik.com or on irc.freenode.net, #swagger. For this sample,\n you can use the api key \"special-key\" to test the authorization filters", + "serviceUrl": "http://petstore.swagger.wordnik.com/api", + "path": "petstoreapi123", + "protocols": [ + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs", + "type": "Microsoft.ApiManagement/service/apis", + "name": "apidocs", + "properties": { + "displayName": "Swagger Sample App", + "apiRevision": "1", + "description": "This is a sample server Petstore server. You can find out more about Swagger \n at http://swagger.wordnik.com or on irc.freenode.net, #swagger. For this sample,\n you can use the api key \"special-key\" to test the authorization filters", + "serviceUrl": "http://petstore.swagger.wordnik.com/api", + "path": "petstoreapi123", + "protocols": [ + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingOai3Import.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingOai3Import.json new file mode 100644 index 000000000000..f68c5999fd20 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingOai3Import.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "petstore", + "parameters": { + "properties": { + "format": "openapi-link", + "value": "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml", + "path": "petstore" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi", + "type": "Microsoft.ApiManagement/service/apis", + "name": "petstoreapi", + "properties": { + "displayName": "Swagger Petstore", + "apiRevision": "1", + "serviceUrl": "http://petstore.swagger.io/v1", + "path": "petstore", + "protocols": [ + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi", + "type": "Microsoft.ApiManagement/service/apis", + "name": "petstoreapi", + "properties": { + "displayName": "Swagger Petstore", + "apiRevision": "1", + "serviceUrl": "http://petstore.swagger.io/v1", + "path": "petstore", + "protocols": [ + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingSwaggerImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingSwaggerImport.json new file mode 100644 index 000000000000..78a8ab90cd45 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingSwaggerImport.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "petstore", + "parameters": { + "properties": { + "format": "swagger-link-json", + "value": "http://petstore.swagger.io/v2/swagger.json", + "path": "petstore" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi", + "type": "Microsoft.ApiManagement/service/apis", + "name": "petstoreapi", + "properties": { + "displayName": "Swagger Petstore", + "apiRevision": "1", + "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.", + "serviceUrl": "http://petstore.swagger.io/v2", + "path": "petstore", + "protocols": [ + "http" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi", + "type": "Microsoft.ApiManagement/service/apis", + "name": "petstoreapi", + "properties": { + "displayName": "Swagger Petstore", + "apiRevision": "1", + "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.", + "serviceUrl": "http://petstore.swagger.io/v2", + "path": "petstore", + "protocols": [ + "http" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingWadlImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingWadlImport.json new file mode 100644 index 000000000000..72e5e2dced32 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingWadlImport.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "petstore", + "parameters": { + "properties": { + "format": "wadl-link-json", + "value": "https://developer.cisco.com/media/wae-release-6-2-api-reference/wae-collector-rest-api/application.wadl", + "path": "collector" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/collectorwadl", + "type": "Microsoft.ApiManagement/service/apis", + "name": "collectorwadl", + "properties": { + "displayName": "http://localhost:8080/collector-northbound", + "apiRevision": "1", + "description": "", + "serviceUrl": "http://localhost:8080/collector-northbound", + "path": "collector", + "protocols": [ + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/collectorwadl", + "type": "Microsoft.ApiManagement/service/apis", + "name": "collectorwadl", + "properties": { + "displayName": "http://localhost:8080/collector-northbound", + "apiRevision": "1", + "description": "", + "serviceUrl": "http://localhost:8080/collector-northbound", + "path": "collector", + "protocols": [ + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiVersionSet.json new file mode 100644 index 000000000000..9a0274021352 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiVersionSet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "versionSetId": "api1", + "parameters": { + "properties": { + "displayName": "api set 1", + "versioningScheme": "Segment", + "description": "Version configuration" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/api1", + "type": "Microsoft.ApiManagement/service/api-version-sets", + "name": "api1", + "properties": { + "displayName": "api set 1", + "versioningScheme": "Segment", + "description": "Version configuration" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/api1", + "type": "Microsoft.ApiManagement/service/api-version-sets", + "name": "api1", + "properties": { + "displayName": "api set 1", + "versioningScheme": "Segment", + "description": "Version configuration" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiWithOpenIdConnect.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiWithOpenIdConnect.json new file mode 100644 index 000000000000..4b29009fd3de --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiWithOpenIdConnect.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "tempgroup", + "parameters": { + "properties": { + "displayName": "Swagger Petstore", + "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.", + "serviceUrl": "http://petstore.swagger.io/v2", + "path": "petstore", + "protocols": [ + "https" + ], + "authenticationSettings": { + "openid": { + "openidProviderId": "testopenid", + "bearerTokenSendingMethods": [ + "authorizationHeader" + ] + } + }, + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58da4c4ccdae970a08121230", + "type": "Microsoft.ApiManagement/service/apis", + "name": "58da4c4ccdae970a08121230", + "properties": { + "displayName": "Swagger Petstore", + "apiRevision": "1", + "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.", + "serviceUrl": "http://petstore.swagger.io/v2", + "path": "petstore", + "protocols": [ + "https" + ], + "authenticationSettings": { + "openid": { + "openidProviderId": "testopenid", + "bearerTokenSendingMethods": [ + "authorizationHeader" + ] + } + }, + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58da4c4ccdae970a08121230", + "type": "Microsoft.ApiManagement/service/apis", + "name": "58da4c4ccdae970a08121230", + "properties": { + "displayName": "Swagger Petstore", + "apiRevision": "1", + "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.", + "serviceUrl": "http://petstore.swagger.io/v2", + "path": "petstore", + "protocols": [ + "https" + ], + "authenticationSettings": { + "openid": { + "openidProviderId": "testopenid", + "bearerTokenSendingMethods": [ + "authorizationHeader" + ] + } + }, + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateAuthorizationServer.json new file mode 100644 index 000000000000..85ebb7c3304a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateAuthorizationServer.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "authsid": "newauthServer", + "parameters": { + "properties": { + "displayName": "test2", + "description": "test server", + "clientRegistrationEndpoint": "https://www.contoso.com/apps", + "authorizationEndpoint": "https://www.contoso.com/oauth2/auth", + "authorizationMethods": [ + "GET" + ], + "tokenEndpoint": "https://www.contoso.com/oauth2/token", + "supportState": true, + "defaultScope": "read write", + "grantTypes": [ + "authorizationCode", + "implicit" + ], + "bearerTokenSendingMethods": [ + "authorizationHeader" + ], + "clientId": "1", + "clientSecret": "2", + "resourceOwnerUsername": "un", + "resourceOwnerPassword": "pwd" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer", + "type": "Microsoft.ApiManagement/service/authorizationServers", + "name": "newauthServer", + "properties": { + "displayName": "test2", + "description": "test server", + "clientRegistrationEndpoint": "https://www.contoso.com/apps", + "authorizationEndpoint": "https://www.contoso.com/oauth2/auth", + "authorizationMethods": [ + "GET" + ], + "tokenEndpoint": "https://www.contoso.com/oauth2/token", + "supportState": true, + "defaultScope": "read write", + "grantTypes": [ + "authorizationCode", + "implicit" + ], + "bearerTokenSendingMethods": [ + "authorizationHeader" + ], + "clientId": "1", + "resourceOwnerUsername": "un", + "resourceOwnerPassword": "pwd" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer", + "type": "Microsoft.ApiManagement/service/authorizationServers", + "name": "newauthServer", + "properties": { + "displayName": "test2", + "description": "test server", + "clientRegistrationEndpoint": "https://www.contoso.com/apps", + "authorizationEndpoint": "https://www.contoso.com/oauth2/auth", + "authorizationMethods": [ + "GET" + ], + "tokenEndpoint": "https://www.contoso.com/oauth2/token", + "supportState": true, + "defaultScope": "read write", + "grantTypes": [ + "authorizationCode", + "implicit" + ], + "bearerTokenSendingMethods": [ + "authorizationHeader" + ], + "clientId": "1", + "resourceOwnerUsername": "un", + "resourceOwnerPassword": "pwd" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateBackendProxyBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateBackendProxyBackend.json new file mode 100644 index 000000000000..80aee7ec0c33 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateBackendProxyBackend.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "backendId": "proxybackend", + "parameters": { + "properties": { + "description": "description5308", + "url": "https://backendname2644/", + "protocol": "http", + "tls": { + "validateCertificateChain": true, + "validateCertificateName": true + }, + "proxy": { + "url": "http://192.168.1.1:8080", + "username": "Contoso\\admin", + "password": "" + }, + "credentials": { + "query": { + "sv": [ + "xx", + "bb", + "cc" + ] + }, + "header": { + "x-my-1": [ + "val1", + "val2" + ] + }, + "authorization": { + "scheme": "Basic", + "parameter": "opensesma" + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/proxybackend", + "type": "Microsoft.ApiManagement/service/backends", + "name": "proxybackend", + "properties": { + "description": "description5308", + "url": "https://backendname2644/", + "protocol": "http", + "credentials": { + "query": { + "sv": [ + "xx", + "bb", + "cc" + ] + }, + "header": { + "x-my-1": [ + "val1", + "val2" + ] + }, + "authorization": { + "scheme": "Basic", + "parameter": "opensesma" + } + }, + "proxy": { + "url": "http://192.168.1.1:8080", + "username": "Contoso\\admin", + "password": "" + }, + "tls": { + "validateCertificateChain": false, + "validateCertificateName": false + } + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/proxybackend", + "type": "Microsoft.ApiManagement/service/backends", + "name": "proxybackend", + "properties": { + "description": "description5308", + "url": "https://backendname2644/", + "protocol": "http", + "credentials": { + "query": { + "sv": [ + "xx", + "bb", + "cc" + ] + }, + "header": { + "x-my-1": [ + "val1", + "val2" + ] + }, + "authorization": { + "scheme": "Basic", + "parameter": "opensesma" + } + }, + "proxy": { + "url": "http://192.168.1.1:8080", + "username": "Contoso\\admin", + "password": "" + }, + "tls": { + "validateCertificateChain": false, + "validateCertificateName": false + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateBackendServiceFabric.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateBackendServiceFabric.json new file mode 100644 index 000000000000..921c8c29c305 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateBackendServiceFabric.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "backendId": "sfbackend", + "parameters": { + "properties": { + "description": "Service Fabric Test App 1", + "protocol": "http", + "url": "fabric:/mytestapp/mytestservice", + "properties": { + "serviceFabricCluster": { + "managementEndpoints": [ + "https://somecluster.com" + ], + "clientCertificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1", + "serverX509Names": [ + { + "name": "ServerCommonName1", + "issuerCertificateThumbprint": "IssuerCertificateThumbprint1" + } + ], + "maxPartitionResolutionRetries": 5 + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/sfbackend", + "type": "Microsoft.ApiManagement/service/backends", + "name": "sfbackend", + "properties": { + "description": "Service Fabric Test App 1", + "url": "fabric:/mytestapp/mytestservice", + "protocol": "http", + "properties": { + "serviceFabricCluster": { + "managementEndpoints": [ + "https://somecluster.com" + ], + "clientCertificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1", + "serverX509Names": [ + { + "name": "ServerCommonName1", + "issuerCertificateThumbprint": "IssuerCertificateThumbprint1" + } + ], + "maxPartitionResolutionRetries": 5 + } + } + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/sfbackend", + "type": "Microsoft.ApiManagement/service/backends", + "name": "sfbackend", + "properties": { + "description": "Service Fabric Test App 1", + "url": "fabric:/mytestapp/mytestservice", + "protocol": "http", + "properties": { + "serviceFabricCluster": { + "managementEndpoints": [ + "https://somecluster.com" + ], + "clientCertificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1", + "serverX509Names": [ + { + "name": "ServerCommonName1", + "issuerCertificateThumbprint": "IssuerCertificateThumbprint1" + } + ], + "maxPartitionResolutionRetries": 5 + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateCache.json new file mode 100644 index 000000000000..8d9ad5e2e9c8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateCache.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "cacheId": "c1", + "parameters": { + "properties": { + "connectionString": "apim.redis.cache.windows.net:6380,password=xc,ssl=True,abortConnect=False", + "description": "Redis cache instances in West India", + "useFromLocation": "default", + "resourceId": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/c1", + "type": "Microsoft.ApiManagement/service/caches", + "name": "c1", + "properties": { + "useFromLocation": "default", + "description": "Redis cache instances in West India", + "connectionString": "{{5f7fbca77a891a2200f3db38}}", + "resourceId": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/c1", + "type": "Microsoft.ApiManagement/service/caches", + "name": "c1", + "properties": { + "useFromLocation": "default", + "description": "Redis cache instances in West India", + "connectionString": "{{5f7fbca77a891a2200f3db38}}", + "resourceId": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateCertificate.json new file mode 100644 index 000000000000..b657275697dc --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateCertificate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "certificateId": "tempcert", + "parameters": { + "properties": { + "data": "****************Base 64 Encoded Certificate *******************************", + "password": "****Certificate Password******" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/tempcert", + "type": "Microsoft.ApiManagement/service/certificates", + "name": "tempcert", + "properties": { + "subject": "CN=contoso.com", + "thumbprint": "*******************3", + "expirationDate": "2018-03-17T21:55:07+00:00" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/tempcert", + "type": "Microsoft.ApiManagement/service/certificates", + "name": "tempcert", + "properties": { + "subject": "CN=contoso.com", + "thumbprint": "*******************3", + "expirationDate": "2018-03-17T21:55:07+00:00" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateCertificateWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateCertificateWithKeyVault.json new file mode 100644 index 000000000000..22e820026694 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateCertificateWithKeyVault.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "certificateId": "templateCertkv", + "parameters": { + "properties": { + "keyVault": { + "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0", + "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv", + "type": "Microsoft.ApiManagement/service/certificates", + "name": "templateCertkv", + "properties": { + "subject": "CN=*.msitesting.net", + "thumbprint": "EA**********************9AD690", + "expirationDate": "2037-01-01T07:00:00Z", + "keyVault": { + "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert", + "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0", + "lastStatus": { + "code": "Success", + "timeStampUtc": "2020-09-22T00:24:53.3191468Z" + } + } + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv", + "type": "Microsoft.ApiManagement/service/certificates", + "name": "templateCertkv", + "properties": { + "subject": "CN=*.msitesting.net", + "thumbprint": "EA**********************9AD690", + "expirationDate": "2037-01-01T07:00:00Z", + "keyVault": { + "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert", + "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0", + "lastStatus": { + "code": "Success", + "timeStampUtc": "2020-09-22T00:24:53.3191468Z" + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateContentType.json new file mode 100644 index 000000000000..93002a596634 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateContentType.json @@ -0,0 +1,177 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "contentTypeId": "page", + "parameters": { + "properties": { + "name": "Page", + "description": "A regular page", + "schema": { + "properties": { + "en_us": { + "type": "object", + "properties": { + "title": { + "title": "Title", + "description": "Page title. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "description": { + "title": "Description", + "description": "Page description. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "keywords": { + "title": "Keywords", + "description": "Page keywords. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "permalink": { + "title": "Permalink", + "description": "Page permalink, e.g. '/about'.", + "type": "string", + "indexed": true + }, + "documentId": { + "title": "Document ID", + "description": "Reference to page content document.", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "title", + "permalink", + "documentId" + ] + } + }, + "additionalProperties": false + }, + "version": "1.0.0" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/contentTypes/page", + "type": "Microsoft.ApiManagement/service/contentTypes", + "name": "page", + "properties": { + "name": "Page", + "description": "A regular page", + "schema": { + "properties": { + "en_us": { + "type": "object", + "properties": { + "title": { + "title": "Title", + "description": "Page title. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "description": { + "title": "Description", + "description": "Page description. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "keywords": { + "title": "Keywords", + "description": "Page keywords. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "permalink": { + "title": "Permalink", + "description": "Page permalink, e.g. '/about'.", + "type": "string", + "indexed": true + }, + "documentId": { + "title": "Document ID", + "description": "Reference to page content document.", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "title", + "permalink", + "documentId" + ] + } + }, + "additionalProperties": false + }, + "version": "1.0.0" + } + } + }, + "201": { + "body": { + "id": "/contentTypes/page", + "type": "Microsoft.ApiManagement/service/contentTypes", + "name": "page", + "properties": { + "name": "Page", + "description": "A regular page", + "schema": { + "properties": { + "en_us": { + "type": "object", + "properties": { + "title": { + "title": "Title", + "description": "Page title. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "description": { + "title": "Description", + "description": "Page description. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "keywords": { + "title": "Keywords", + "description": "Page keywords. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "permalink": { + "title": "Permalink", + "description": "Page permalink, e.g. '/about'.", + "type": "string", + "indexed": true + }, + "documentId": { + "title": "Document ID", + "description": "Reference to page content document.", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "title", + "permalink", + "documentId" + ] + } + }, + "additionalProperties": false + }, + "version": "1.0.0" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateContentTypeContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateContentTypeContentItem.json new file mode 100644 index 000000000000..681d2e83593b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateContentTypeContentItem.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "contentTypeId": "page", + "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "parameters": { + "properties": { + "en_us": { + "title": "About", + "description": "Short story about the company.", + "keywords": "company, about", + "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "permalink": "/about" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "type": "Microsoft.ApiManagement/service/contentTypes/contentItems", + "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "properties": { + "en_us": { + "title": "About", + "description": "Short story about the company.", + "keywords": "company, about", + "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "permalink": "/about" + } + } + } + }, + "201": { + "body": { + "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "type": "Microsoft.ApiManagement/service/contentTypes/contentItems", + "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "properties": { + "en_us": { + "title": "About", + "description": "Short story about the company.", + "keywords": "company, about", + "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "permalink": "/about" + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateDiagnostic.json new file mode 100644 index 000000000000..da79dc70a544 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateDiagnostic.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "diagnosticId": "applicationinsights", + "parameters": { + "properties": { + "alwaysLog": "allErrors", + "loggerId": "/loggers/azuremonitor", + "sampling": { + "samplingType": "fixed", + "percentage": 50 + }, + "frontend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + }, + "backend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "loggerId": "/loggers/azuremonitor", + "sampling": { + "samplingType": "fixed", + "percentage": 50 + }, + "frontend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + }, + "backend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + } + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "loggerId": "/loggers/applicationinsights", + "sampling": { + "samplingType": "fixed", + "percentage": 50 + }, + "frontend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + }, + "backend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateEHLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateEHLogger.json new file mode 100644 index 000000000000..7d3a102019f1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateEHLogger.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "loggerId": "eh1", + "parameters": { + "properties": { + "loggerType": "azureEventHub", + "description": "adding a new logger", + "credentials": { + "name": "hydraeventhub", + "connectionString": "Endpoint=sb://hydraeventhub-ns.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=********=" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/eh1", + "type": "Microsoft.ApiManagement/service/loggers", + "name": "eh1", + "properties": { + "loggerType": "azureEventHub", + "description": "adding a new logger", + "credentials": { + "connectionString": "{{Logger-Credentials-5f28745bbebeeb13cc3f7301}}" + }, + "isBuffered": true + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/eh1", + "type": "Microsoft.ApiManagement/service/loggers", + "name": "eh1", + "properties": { + "loggerType": "azureEventHub", + "description": "adding a new logger", + "credentials": { + "connectionString": "{{Logger-Credentials-5f28745bbebeeb13cc3f7301}}" + }, + "isBuffered": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGateway.json new file mode 100644 index 000000000000..55f071d1ab11 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGateway.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1", + "parameters": { + "properties": { + "description": "my gateway 1", + "locationData": { + "name": "my location" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1", + "type": "Microsoft.ApiManagement/service/gateways", + "name": "a1", + "properties": { + "description": "my gateway 1", + "locationData": { + "name": "my location" + } + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1", + "type": "Microsoft.ApiManagement/service/gateways", + "name": "a1", + "properties": { + "description": "my gateway 1", + "locationData": { + "name": "my location" + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGatewayApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGatewayApi.json new file mode 100644 index 000000000000..9429e0434c52 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGatewayApi.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1", + "apiId": "echo-api", + "parameters": { + "properties": { + "provisioningState": "created" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/apis/echo-api", + "type": "Microsoft.ApiManagement/service/gateways/apis", + "name": "echo-api", + "properties": { + "displayName": "EchoApi", + "apiRevision": "1", + "serviceUrl": "https://contoso.com/apis/echo", + "path": "", + "protocols": [ + "http", + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/apis/echo-api", + "type": "Microsoft.ApiManagement/service/gateways/apis", + "name": "echo-api", + "properties": { + "displayName": "EchoApi", + "apiRevision": "1", + "serviceUrl": "https://contoso.com/apis/echo", + "path": "", + "protocols": [ + "http", + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGatewayCertificateAuthority.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGatewayCertificateAuthority.json new file mode 100644 index 000000000000..89817b21f6a1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGatewayCertificateAuthority.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1", + "certificateId": "cert1", + "parameters": { + "properties": { + "isTrusted": false + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/certificateAuthorities/cert1", + "type": "Microsoft.ApiManagement/service/gateways/certificateAuthorities", + "name": "cert1", + "properties": { + "isTrusted": false + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/certificateAuthorities/cert1", + "type": "Microsoft.ApiManagement/service/gateways/certificateAuthorities", + "name": "cert1", + "properties": { + "isTrusted": false + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGatewayHostnameConfiguration.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGatewayHostnameConfiguration.json new file mode 100644 index 000000000000..b4fca750e39f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGatewayHostnameConfiguration.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1", + "hcId": "default", + "parameters": { + "properties": { + "hostname": "*", + "certificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1", + "negotiateClientCertificate": false, + "tls10Enabled": false, + "tls11Enabled": false, + "http2Enabled": true + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/hostnameConfigurations/default", + "type": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations", + "name": "default", + "properties": { + "hostname": "*", + "certificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1", + "negotiateClientCertificate": false, + "tls10Enabled": false, + "tls11Enabled": false, + "http2Enabled": true + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/hostnameConfigurations/default", + "type": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations", + "name": "default", + "properties": { + "hostname": "*", + "certificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1", + "negotiateClientCertificate": false, + "tls10Enabled": false, + "tls11Enabled": false, + "http2Enabled": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGraphQLApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGraphQLApi.json new file mode 100644 index 000000000000..728258c5c0ed --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGraphQLApi.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "tempgroup", + "parameters": { + "properties": { + "description": "apidescription5200", + "displayName": "apiname1463", + "type": "graphql", + "serviceUrl": "https://api.spacex.land/graphql", + "path": "graphql-api", + "protocols": [ + "http", + "https" + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419", + "type": "Microsoft.ApiManagement/service/apis", + "name": "apiid9419", + "properties": { + "displayName": "apiname1463", + "apiRevision": "1", + "description": "apidescription5200", + "serviceUrl": "https://api.spacex.land/graphql", + "type": "graphql", + "path": "graphql-api", + "protocols": [ + "https", + "https" + ], + "authenticationSettings": null, + "subscriptionKeyParameterNames": null, + "isCurrent": true, + "isOnline": true + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419", + "type": "Microsoft.ApiManagement/service/apis", + "name": "apiid9419", + "properties": { + "displayName": "apiname1463", + "apiRevision": "1", + "description": "apidescription5200", + "serviceUrl": "https://api.spacex.land/graphql", + "type": "graphql", + "path": "graphql-api", + "protocols": [ + "http", + "https" + ], + "authenticationSettings": null, + "subscriptionKeyParameterNames": null, + "isCurrent": true, + "isOnline": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGroup.json new file mode 100644 index 000000000000..879617efd9aa --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGroup.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "groupId": "tempgroup", + "parameters": { + "properties": { + "displayName": "temp group" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/tempgroup", + "type": "Microsoft.ApiManagement/service/groups", + "name": "tempgroup", + "properties": { + "displayName": "temp group", + "type": "custom" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/tempgroup", + "type": "Microsoft.ApiManagement/service/groups", + "name": "tempgroup", + "properties": { + "displayName": "temp group", + "type": "custom" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGroupExternal.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGroupExternal.json new file mode 100644 index 000000000000..9be1295f9e46 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGroupExternal.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "groupId": "aadGroup", + "parameters": { + "properties": { + "displayName": "NewGroup (samiraad.onmicrosoft.com)", + "description": "new group to test", + "type": "external", + "externalId": "aad://samiraad.onmicrosoft.com/groups/83cf2753-5831-4675-bc0e-2f8dc067c58d" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/aadGroup", + "type": "Microsoft.ApiManagement/service/groups", + "name": "aadGroup", + "properties": { + "displayName": "NewGroup (samiraad.onmicrosoft.com)", + "description": "new group to test", + "type": "external", + "externalId": "aad://samiraad.onmicrosoft.com/groups/83cf2753-5831-4675-bc0e-2f8dc067c58d" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/aadGroup", + "type": "Microsoft.ApiManagement/service/groups", + "name": "aadGroup", + "properties": { + "displayName": "NewGroup (samiraad.onmicrosoft.com)", + "description": "new group to test", + "type": "external", + "externalId": "aad://samiraad.onmicrosoft.com/groups/83cf2753-5831-4675-bc0e-2f8dc067c58d" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGroupUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGroupUser.json new file mode 100644 index 000000000000..d76c1bc2eceb --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGroupUser.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "groupId": "tempgroup", + "userId": "59307d350af58404d8a26300" + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/59307d350af58404d8a26300", + "type": "Microsoft.ApiManagement/service/groups/users", + "name": "59307d350af58404d8a26300", + "properties": { + "firstName": "test", + "lastName": "user", + "email": "testuser1@live.com", + "state": "active", + "registrationDate": "2017-06-01T20:46:45.437Z", + "groups": [], + "identities": [] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/59307d350af58404d8a26300", + "type": "Microsoft.ApiManagement/service/groups/users", + "name": "59307d350af58404d8a26300", + "properties": { + "firstName": "test", + "lastName": "user", + "email": "testuser1@live.com", + "state": "active", + "registrationDate": "2017-06-01T20:46:45.437Z", + "groups": [], + "identities": [] + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateIdentityProvider.json new file mode 100644 index 000000000000..5db3192fab12 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateIdentityProvider.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "identityProviderName": "facebook", + "parameters": { + "properties": { + "clientId": "facebookid", + "clientSecret": "facebookapplicationsecret" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/Facebook", + "type": "Microsoft.ApiManagement/service/identityProviders", + "name": "Facebook", + "properties": { + "clientId": "facebookid", + "type": "facebook" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/Facebook", + "type": "Microsoft.ApiManagement/service/identityProviders", + "name": "Facebook", + "properties": { + "clientId": "facebookid", + "type": "facebook" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json new file mode 100644 index 000000000000..6f5bc1cfa065 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json @@ -0,0 +1,256 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "gateway1.msitesting.net", + "encodedCertificate": "****** Base 64 Encoded Certificate ************", + "certificatePassword": "Password", + "defaultSslBinding": true + }, + { + "type": "Management", + "hostName": "mgmt.msitesting.net", + "encodedCertificate": "****** Base 64 Encoded Certificate ************", + "certificatePassword": "Password" + }, + { + "type": "Portal", + "hostName": "portal1.msitesting.net", + "encodedCertificate": "****** Base 64 Encoded Certificate ************", + "certificatePassword": "Password" + } + ], + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "additionalLocations": [ + { + "location": "East US", + "sku": { + "name": "Premium", + "capacity": 1 + }, + "disableGateway": true + } + ], + "virtualNetworkType": "None", + "apiVersionConstraint": { + "minApiVersion": "2019-01-01" + } + }, + "sku": { + "name": "Premium", + "capacity": 1 + }, + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + } + } + }, + "responses": { + "201": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2021-08-01" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "location": "West US", + "etag": "AAAAAAACXoo=", + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Created", + "targetProvisioningState": "Activating", + "createdAtUtc": "2019-12-18T08:04:26.9492661Z", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": false + }, + { + "type": "Proxy", + "hostName": "gateway1.msitesting.net", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2036-01-01T07:00:00+00:00", + "thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": true + }, + { + "type": "Management", + "hostName": "mgmt.msitesting.net", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2036-01-01T07:00:00+00:00", + "thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": false + }, + { + "type": "Portal", + "hostName": "portal1.msitesting.net", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2036-01-01T07:00:00+00:00", + "thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": false + } + ], + "additionalLocations": [ + { + "location": "East US", + "sku": { + "name": "Premium", + "capacity": 1 + }, + "disableGateway": true + } + ], + "virtualNetworkType": "None", + "disableGateway": false, + "apiVersionConstraint": { + "minApiVersion": "2019-01-01" + } + }, + "sku": { + "name": "Premium", + "capacity": 1 + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "location": "West US", + "etag": "AAAAAAACXok=", + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2019-12-18T06:26:20.3348609Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "developerPortalUrl": "https://apimService1.developer.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": false + }, + { + "type": "Proxy", + "hostName": "gateway1.msitesting.net", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2036-01-01T07:00:00+00:00", + "thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": true + }, + { + "type": "Management", + "hostName": "mgmt.msitesting.net", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2036-01-01T07:00:00+00:00", + "thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": false + }, + { + "type": "Portal", + "hostName": "portal1.msitesting.net", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2036-01-01T07:00:00+00:00", + "thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": false + } + ], + "publicIPAddresses": [ + "13.91.32.113" + ], + "additionalLocations": [ + { + "location": "East US", + "sku": { + "name": "Premium", + "capacity": 1 + }, + "publicIPAddresses": [ + "23.101.138.153" + ], + "gatewayRegionalUrl": "https://apimService1-eastus-01.regional.azure-api.net", + "disableGateway": true + } + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False" + }, + "virtualNetworkType": "None", + "disableGateway": false, + "apiVersionConstraint": { + "minApiVersion": "2019-01-01" + } + }, + "sku": { + "name": "Premium", + "capacity": 1 + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2021-08-01" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNamedValue.json new file mode 100644 index 000000000000..795407ce8240 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNamedValue.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "namedValueId": "testprop2", + "parameters": { + "properties": { + "displayName": "prop3name", + "value": "propValue", + "tags": [ + "foo", + "bar" + ], + "secret": false + } + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2", + "type": "Microsoft.ApiManagement/service/namedValues", + "name": "testprop2", + "properties": { + "displayName": "prop3name", + "value": "propValue", + "tags": [ + "foo", + "bar" + ], + "secret": false + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2", + "type": "Microsoft.ApiManagement/service/namedValues", + "name": "testprop2", + "properties": { + "displayName": "prop3name", + "value": "propValue", + "tags": [ + "foo", + "bar" + ], + "secret": false + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNamedValueWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNamedValueWithKeyVault.json new file mode 100644 index 000000000000..410b03a4eb9d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNamedValueWithKeyVault.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "namedValueId": "testprop6", + "parameters": { + "properties": { + "displayName": "prop6namekv", + "keyVault": { + "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0", + "secretIdentifier": "https://contoso.vault.azure.net/secrets/aadSecret" + }, + "tags": [ + "foo", + "bar" + ], + "secret": true + } + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6", + "type": "Microsoft.ApiManagement/service/namedValues", + "name": "testprop6", + "properties": { + "displayName": "prop6namekv", + "keyVault": { + "secretIdentifier": "https://contoso.vault.azure.net/secrets/aadSecret", + "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0", + "lastStatus": { + "code": "Success", + "timeStampUtc": "2020-09-11T00:54:31.8024882Z" + } + }, + "tags": [ + "foo", + "bar" + ], + "secret": true + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6", + "type": "Microsoft.ApiManagement/service/namedValues", + "name": "testprop6", + "properties": { + "displayName": "prop6namekv", + "keyVault": { + "secretIdentifier": "https://contoso.vault.azure.net/secrets/aadSecret", + "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0", + "lastStatus": { + "code": "Success", + "timeStampUtc": "2020-09-11T00:54:31.8024882Z" + } + }, + "tags": [ + "foo", + "bar" + ], + "secret": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNotification.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNotification.json new file mode 100644 index 000000000000..90dddb1c5c00 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNotification.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "notificationName": "RequestPublisherNotificationMessage" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage", + "type": "Microsoft.ApiManagement/service/notifications", + "name": "RequestPublisherNotificationMessage", + "properties": { + "title": "Subscription requests (requiring approval)", + "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval.", + "recipients": { + "emails": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/contoso@live.com", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/foobar!live", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/foobar@live.com" + ], + "users": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642" + ] + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNotificationRecipientEmail.json new file mode 100644 index 000000000000..fc2e984617b1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNotificationRecipientEmail.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "notificationName": "RequestPublisherNotificationMessage", + "email": "foobar@live.com" + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com", + "type": "Microsoft.ApiManagement/service/notifications/recipientEmails", + "name": "foobar@live.com", + "properties": { + "email": "foobar@live.com" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com", + "type": "Microsoft.ApiManagement/service/notifications/recipientEmails", + "name": "foobar@live.com", + "properties": { + "email": "foobar@live.com" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNotificationRecipientUser.json new file mode 100644 index 000000000000..a80dea2f2fa8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNotificationRecipientUser.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "notificationName": "RequestPublisherNotificationMessage", + "userId": "576823d0a40f7e74ec07d642" + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientUsers/576823d0a40f7e74ec07d642", + "type": "Microsoft.ApiManagement/service/notifications/recipientUsers", + "name": "576823d0a40f7e74ec07d642", + "properties": { + "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientUsers/576823d0a40f7e74ec07d642", + "type": "Microsoft.ApiManagement/service/notifications/recipientUsers", + "name": "576823d0a40f7e74ec07d642", + "properties": { + "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateOpenIdConnectProvider.json new file mode 100644 index 000000000000..5f1a3a3ea8e2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateOpenIdConnectProvider.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "opid": "templateOpenIdConnect3", + "parameters": { + "properties": { + "displayName": "templateoidprovider3", + "metadataEndpoint": "https://oidprovider-template3.net", + "clientId": "oidprovidertemplate3", + "clientSecret": "x" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/openidConnectProviders/templateOpenIdConnect3", + "type": "Microsoft.ApiManagement/service/openidconnectproviders", + "name": "templateOpenIdConnect3", + "properties": { + "displayName": "templateoidprovider3", + "metadataEndpoint": "https://oidprovider-template3.net", + "clientId": "oidprovidertemplate3" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/openidConnectProviders/templateOpenIdConnect3", + "type": "Microsoft.ApiManagement/service/openidconnectproviders", + "name": "templateOpenIdConnect3", + "properties": { + "displayName": "templateoidprovider3", + "metadataEndpoint": "https://oidprovider-template3.net", + "clientId": "oidprovidertemplate3" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreatePolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreatePolicy.json new file mode 100644 index 000000000000..26489fdd243a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreatePolicy.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "policyId": "policy", + "parameters": { + "properties": { + "format": "xml", + "value": "\r\n \r\n \r\n \r\n \r\n \r\n" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy", + "type": "Microsoft.ApiManagement/service/policies", + "name": "policy", + "properties": { + "value": "\r\n \r\n \r\n \r\n \r\n \r\n" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy", + "type": "Microsoft.ApiManagement/service/policies", + "name": "policy", + "properties": { + "value": "\r\n \r\n \r\n \r\n \r\n \r\n" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreatePortalRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreatePortalRevision.json new file mode 100644 index 000000000000..e0c70b850a54 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreatePortalRevision.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "portalRevisionId": "20201112101010", + "parameters": { + "properties": { + "description": "portal revision 1", + "isCurrent": true + } + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112101010?api-version=2021-08-01&asyncId=5faf089b1d9a026694220e0c&asyncCode=201" + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112101010", + "type": "Microsoft.ApiManagement/service/portalRevisions", + "name": "20201112101010", + "properties": { + "description": "portal revision 1", + "statusDetails": null, + "status": "completed", + "isCurrent": true, + "createdDateTime": "2020-11-13T22:28:43.657Z", + "updatedDateTime": "2020-11-13T22:29:22.68Z" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProduct.json new file mode 100644 index 000000000000..a066fb225c7c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProduct.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "testproduct", + "parameters": { + "properties": { + "displayName": "Test Template ProductName 4" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/testproduct", + "type": "Microsoft.ApiManagement/service/products", + "name": "testproduct", + "properties": { + "displayName": "Test Template ProductName 4", + "subscriptionRequired": true, + "approvalRequired": false, + "state": "notPublished" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/testproduct", + "type": "Microsoft.ApiManagement/service/products", + "name": "testproduct", + "properties": { + "displayName": "Test Template ProductName 4", + "subscriptionRequired": true, + "approvalRequired": false, + "state": "notPublished" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductApi.json new file mode 100644 index 000000000000..09da2523a225 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductApi.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "testproduct", + "apiId": "echo-api" + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5931a75ae4bbd512a88c680b", + "type": "Microsoft.ApiManagement/service/apis", + "name": "5931a75ae4bbd512a88c680b", + "properties": { + "displayName": "EchoApi", + "apiRevision": "1", + "serviceUrl": "https://contoso.com/apis/echo", + "path": "", + "protocols": [ + "http", + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5931a75ae4bbd512a88c680b", + "type": "Microsoft.ApiManagement/service/apis", + "name": "5931a75ae4bbd512a88c680b", + "properties": { + "displayName": "EchoApi", + "apiRevision": "1", + "serviceUrl": "https://contoso.com/apis/echo", + "path": "", + "protocols": [ + "http", + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductGroup.json new file mode 100644 index 000000000000..86abbb07caf9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductGroup.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "testproduct", + "groupId": "templateGroup" + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/templateGroup", + "type": "Microsoft.ApiManagement/service/products/groups", + "name": "templateGroup", + "properties": { + "displayName": "Template Group", + "description": "group created via Template", + "builtIn": false, + "type": "custom" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/templateGroup", + "type": "Microsoft.ApiManagement/service/products/groups", + "name": "templateGroup", + "properties": { + "displayName": "Template Group", + "description": "group created via Template", + "builtIn": false, + "type": "custom" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductPolicy.json new file mode 100644 index 000000000000..b3a0cac4781e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductPolicy.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "5702e97e5157a50f48dce801", + "policyId": "policy", + "parameters": { + "properties": { + "format": "xml", + "value": "\r\n \r\n \r\n \r\n @( string.Join(\",\", DateTime.UtcNow, context.Deployment.ServiceName, context.RequestId, context.Request.IpAddress, context.Operation.Name) ) \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5702e97e5157a50f48dce801/policies/policy", + "type": "Microsoft.ApiManagement/service/products/policies", + "name": "policy", + "properties": { + "value": "\r\n \r\n \r\n \r\n @( string.Join(\",\", DateTime.UtcNow, context.Deployment.ServiceName, context.RequestId, context.Request.IpAddress, context.Operation.Name) ) \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5702e97e5157a50f48dce801/policies/policy", + "type": "Microsoft.ApiManagement/service/products/policies", + "name": "policy", + "properties": { + "value": "\r\n \r\n \r\n \r\n @( string.Join(\",\", DateTime.UtcNow, context.Deployment.ServiceName, context.RequestId, context.Request.IpAddress, context.Operation.Name) ) \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductTag.json new file mode 100644 index 000000000000..78452d14a1e1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductTag.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "5931a75ae4bbd512a88c680b", + "tagId": "tagId1" + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1", + "type": "Microsoft.ApiManagement/service/tags", + "name": "tagId1", + "properties": { + "displayName": "tag1" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1", + "type": "Microsoft.ApiManagement/service/tags", + "name": "tagId1", + "properties": { + "displayName": "tag1" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateService.json new file mode 100644 index 000000000000..62bdd7157bbb --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateService.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "publisherEmail": "foo@contoso.com", + "publisherName": "foo" + }, + "sku": { + "name": "Developer", + "capacity": 1 + }, + "location": "South Central US", + "tags": { + "Name": "Contoso", + "Test": "User" + } + } + }, + "responses": { + "201": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "Name": "Contoso", + "Test": "User" + }, + "location": "South Central US", + "etag": "AAAAAAAp3P0=", + "properties": { + "publisherEmail": "foo@contoso.com", + "publisherName": "foo", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Created", + "targetProvisioningState": "Activating", + "createdAtUtc": "2019-12-18T06:10:56.0327105Z", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true + } + ], + "virtualNetworkType": "None", + "disableGateway": false, + "apiVersionConstraint": {} + }, + "sku": { + "name": "Developer", + "capacity": 1 + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "Name": "Contoso", + "Test": "User" + }, + "location": "South Central US", + "etag": "AAAAAAAp3T4=", + "properties": { + "publisherEmail": "foo@contoso.com", + "publisherName": "foo", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2019-12-18T06:10:56.0327105Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "gatewayRegionalUrl": "https://apimService1-southcentralus-01.regional.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "developerPortalUrl": "https://apimService1.developer.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true, + "certificateSource": "BuiltIn" + } + ], + "publicIPAddresses": [ + "23.102.171.124" + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False" + }, + "virtualNetworkType": "None", + "disableGateway": false, + "apiVersionConstraint": {} + }, + "sku": { + "name": "Developer", + "capacity": 1 + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/c2RrdGVzdGFwaW0xNTkxX0FjdF9jZTkyMmNmOQ==?api-version=2021-08-01" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceHavingMsi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceHavingMsi.json new file mode 100644 index 000000000000..c07832a1c5e1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceHavingMsi.json @@ -0,0 +1,137 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk" + }, + "sku": { + "name": "Consumption", + "capacity": 0 + }, + "identity": { + "type": "SystemAssigned" + }, + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + } + } + }, + "responses": { + "201": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "location": "West US", + "etag": "AAAAAAAAWiE=", + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Created", + "targetProvisioningState": "Activating", + "createdAtUtc": "2019-04-11T16:29:29.9711098Z", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true + } + ], + "virtualNetworkType": "None" + }, + "sku": { + "name": "Consumption", + "capacity": 0 + }, + "identity": { + "type": "SystemAssigned", + "principalId": "dfb9a757-df69-4966-a8d0-711a9cd8ffb4", + "tenantId": "XXXXXX-86f1-41af-91ab-2d7cd011db47" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "location": "West US", + "etag": "AAAAAAAAWiU=", + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2019-04-11T16:29:29.9711098Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true, + "certificateSource": "BuiltIn" + } + ], + "virtualNetworkType": "None", + "enableClientCertificate": false, + "platformVersion": "mtv1" + }, + "sku": { + "name": "Consumption", + "capacity": 0 + }, + "identity": { + "type": "SystemAssigned", + "principalId": "dfb9a757-df69-4966-a8d0-711a9cd8ffb4", + "tenantId": "XXXXXX-86f1-41af-91ab-2d7cd011db47" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceInVnetWithPublicIP.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceInVnetWithPublicIP.json new file mode 100644 index 000000000000..1a6bb534797d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceInVnetWithPublicIP.json @@ -0,0 +1,169 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "virtualNetworkConfiguration": { + "subnetResourceId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant" + }, + "publicIpAddressId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet", + "virtualNetworkType": "External" + }, + "sku": { + "name": "Premium", + "capacity": 2 + }, + "zones": [ + "1", + "2" + ], + "location": "East US 2 EUAP", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + } + } + }, + "responses": { + "201": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "location": "East US 2 EUAP", + "etag": "AAAAAAAiXto=", + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Created", + "targetProvisioningState": "Activating", + "createdAtUtc": "2020-07-28T23:18:14.6562474Z", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true, + "certificateSource": "BuiltIn" + } + ], + "publicIpAddressId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet", + "virtualNetworkConfiguration": { + "subnetResourceId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant" + }, + "virtualNetworkType": "External", + "disableGateway": false, + "platformVersion": "stv2" + }, + "sku": { + "name": "Premium", + "capacity": 2 + }, + "zones": [ + "1", + "2" + ], + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "location": "East US 2 EUAP", + "etag": "AAAAAAAGTAs=", + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2021-02-22T06:53:46.6409875Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "gatewayRegionalUrl": "https://apimService1-eastus2euap-01.regional.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "developerPortalUrl": "https://apimService1.developer.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true + } + ], + "publicIPAddresses": [ + "20.47.137.XXX" + ], + "publicIpAddressId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet", + "virtualNetworkConfiguration": { + "subnetResourceId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant" + }, + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False" + }, + "virtualNetworkType": "External", + "disableGateway": false, + "platformVersion": "stv2" + }, + "sku": { + "name": "Premium", + "capacity": 2 + }, + "zones": [ + "1", + "2" + ], + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceInZones.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceInZones.json new file mode 100644 index 000000000000..9ca1bcf9031a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceInZones.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk" + }, + "sku": { + "name": "Premium", + "capacity": 2 + }, + "zones": [ + "1", + "2" + ], + "location": "North europe", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + } + } + }, + "responses": { + "201": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "location": "North Europe", + "etag": "AAAAAAAiXto=", + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Created", + "targetProvisioningState": "Activating", + "createdAtUtc": "2020-07-28T23:18:14.6562474Z", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true, + "certificateSource": "BuiltIn" + } + ], + "virtualNetworkType": "None", + "disableGateway": false, + "platformVersion": "stv2" + }, + "sku": { + "name": "Premium", + "capacity": 2 + }, + "zones": [ + "1", + "2" + ], + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "location": "North Europe", + "etag": "AAAAAAAiXvE=", + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2020-07-28T23:18:14.6562474Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "gatewayRegionalUrl": "https://apimService1-northeurope-01.regional.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "developerPortalUrl": "https://apimService1.developer.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true + } + ], + "publicIPAddresses": [ + "20.54.34.66" + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False" + }, + "virtualNetworkType": "None", + "disableGateway": false, + "platformVersion": "stv2" + }, + "sku": { + "name": "Premium", + "capacity": 2 + }, + "zones": [ + "1", + "2" + ], + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json new file mode 100644 index 000000000000..263ddbc773cf --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json @@ -0,0 +1,282 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "gateway1.msitesting.net", + "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert", + "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468", + "defaultSslBinding": true + }, + { + "type": "Management", + "hostName": "mgmt.msitesting.net", + "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert", + "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468" + }, + { + "type": "Portal", + "hostName": "portal1.msitesting.net", + "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert", + "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468" + } + ], + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "virtualNetworkType": "None", + "apiVersionConstraint": { + "minApiVersion": "2019-01-01" + } + }, + "sku": { + "name": "Premium", + "capacity": 1 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + }, + "location": "North Europe", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + } + } + }, + "responses": { + "201": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2021-08-01" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "location": "North Europe", + "etag": "AAAAAAAigi8=", + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Created", + "targetProvisioningState": "Activating", + "createdAtUtc": "2020-09-13T22:30:20.7759747Z", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": false, + "certificateSource": "BuiltIn" + }, + { + "type": "Proxy", + "hostName": "gateway1.msitesting.net", + "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2037-01-01T07:00:00+00:00", + "thumbprint": "EA276907917CB5XXXXXXXXXXX690", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": true, + "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468", + "certificateSource": "KeyVault" + }, + { + "type": "Management", + "hostName": "mgmt.msitesting.net", + "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2037-01-01T07:00:00+00:00", + "thumbprint": "EA276907917CB5XXXXXXXXXXX690", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": false, + "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468", + "certificateSource": "KeyVault" + }, + { + "type": "Portal", + "hostName": "portal1.msitesting.net", + "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2037-01-01T07:00:00+00:00", + "thumbprint": "EA276907917CB5XXXXXXXXXXX690", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": false, + "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468", + "certificateSource": "KeyVault" + } + ], + "virtualNetworkType": "None", + "disableGateway": false, + "platformVersion": "stv2", + "apiVersionConstraint": { + "minApiVersion": "2019-01-01" + } + }, + "sku": { + "name": "Premium", + "capacity": 1 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "location": "North Europe", + "etag": "AAAAAAAigjU=", + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2020-09-13T22:30:20.7759747Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "gatewayRegionalUrl": "https://apimService1-northeurope-01.regional.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "developerPortalUrl": "https://apimService1.developer.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": false, + "certificateSource": "BuiltIn" + }, + { + "type": "Proxy", + "hostName": "gateway1.msitesting.net", + "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2037-01-01T07:00:00+00:00", + "thumbprint": "EA276907917CB5XXXXXXXXXXX690", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": true, + "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468", + "certificateSource": "KeyVault" + }, + { + "type": "Management", + "hostName": "mgmt.msitesting.net", + "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2037-01-01T07:00:00+00:00", + "thumbprint": "EA276907917CB5XXXXXXXXXXX690", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": false, + "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468", + "certificateSource": "KeyVault" + }, + { + "type": "Portal", + "hostName": "portal1.msitesting.net", + "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2037-01-01T07:00:00+00:00", + "thumbprint": "EA276907917CB5XXXXXXXXXXX690", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": false, + "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468", + "certificateSource": "KeyVault" + } + ], + "publicIPAddresses": [ + "40.112.74.192" + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False" + }, + "virtualNetworkType": "None", + "disableGateway": false, + "platformVersion": "stv2", + "apiVersionConstraint": { + "minApiVersion": "2019-01-01" + } + }, + "sku": { + "name": "Premium", + "capacity": 1 + }, + "identity": { + "type": "UserAssigned", + "tenantId": "f686d426-8d16-xxxx-xxxx-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "principalId": "15e769b2-xxxx-xxxx-xxxx-3fd9a923ac3a", + "clientId": "329419bc-adec-4dce-9568-25a6d486e468" + } + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2021-08-01" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceWithSystemCertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceWithSystemCertificates.json new file mode 100644 index 000000000000..0a531272a11c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceWithSystemCertificates.json @@ -0,0 +1,173 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "certificates": [ + { + "encodedCertificate": "*******Base64 encoded Certificate******************", + "certificatePassword": "Password", + "storeName": "CertificateAuthority" + } + ], + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk" + }, + "sku": { + "name": "Basic", + "capacity": 1 + }, + "location": "Central US", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + } + } + }, + "responses": { + "201": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2021-08-01" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "location": "Central US", + "etag": "AAAAAAAp3TM=", + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Created", + "targetProvisioningState": "Activating", + "createdAtUtc": "2019-12-18T06:33:28.0906918Z", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true + } + ], + "virtualNetworkType": "None", + "certificates": [ + { + "storeName": "CertificateAuthority", + "certificate": { + "expiry": "2036-01-01T07:00:00+00:00", + "thumbprint": "8E989652CABCF585ACBFCB9C2C91F1D174FDB3A2", + "subject": "CN=*.msitesting.net" + } + } + ], + "disableGateway": false, + "platformVersion": "stv2", + "apiVersionConstraint": {} + }, + "sku": { + "name": "Basic", + "capacity": 1 + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "location": "Central US", + "etag": "AAAAAAAp3UM=", + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2019-12-18T06:33:28.0906918Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "gatewayRegionalUrl": "https://apimService1-centralus-01.regional.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "developerPortalUrl": "https://apimService1.developer.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true, + "certificateSource": "BuiltIn" + } + ], + "publicIPAddresses": [ + "40.113.223.117" + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False" + }, + "virtualNetworkType": "None", + "certificates": [ + { + "storeName": "CertificateAuthority", + "certificate": { + "expiry": "2036-01-01T07:00:00+00:00", + "thumbprint": "8E989652CABCF585ACBFCB9C2C91F1D174FDB3A2", + "subject": "CN=*.msitesting.net" + } + } + ], + "disableGateway": false, + "platformVersion": "stv2", + "apiVersionConstraint": {} + }, + "sku": { + "name": "Basic", + "capacity": 1 + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2021-08-01" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceWithUserAssignedIdentity.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceWithUserAssignedIdentity.json new file mode 100644 index 000000000000..9402b3a3849e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceWithUserAssignedIdentity.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk" + }, + "sku": { + "name": "Consumption", + "capacity": 0 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {} + } + }, + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + } + } + }, + "responses": { + "201": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "location": "West US", + "etag": "AAAAAAAFzyQ=", + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Created", + "targetProvisioningState": "Activating", + "createdAtUtc": "2020-03-12T01:05:33.4573398Z", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true, + "certificateSource": "BuiltIn" + } + ], + "virtualNetworkType": "None", + "platformVersion": "mtv1" + }, + "sku": { + "name": "Consumption", + "capacity": 0 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {} + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "location": "West US", + "etag": "AAAAAAAFzyk=", + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2020-03-12T01:05:33.4573398Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true, + "certificateSource": "BuiltIn" + } + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False" + }, + "virtualNetworkType": "None", + "disableGateway": false, + "platformVersion": "mtv1" + }, + "sku": { + "name": "Consumption", + "capacity": 0 + }, + "identity": { + "type": "UserAssigned", + "tenantId": "XXXXX-86f1-41af-XXXX-2d7cd011db47", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": { + "principalId": "XXXXX-6e62-4649-9f54-a119fc1ba85e", + "clientId": "5a2c6b8e-0905-XXXX-a772-993c9418137f" + } + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json new file mode 100644 index 000000000000..f14c353fc752 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "soapApi", + "parameters": { + "properties": { + "format": "wsdl-link", + "value": "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL", + "path": "currency", + "apiType": "soap", + "wsdlSelector": { + "wsdlServiceName": "CurrencyConvertor", + "wsdlEndpointName": "CurrencyConvertorSoap" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi", + "type": "Microsoft.ApiManagement/service/apis", + "name": "soapApi", + "properties": { + "displayName": "CurrencyConvertor", + "apiRevision": "1", + "serviceUrl": "http://www.webservicex.net", + "path": "currency", + "protocols": [ + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "type": "soap", + "isCurrent": true + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi", + "type": "Microsoft.ApiManagement/service/apis", + "name": "soapApi", + "properties": { + "displayName": "CurrencyConvertor", + "apiRevision": "1", + "serviceUrl": "http://www.webservicex.net", + "path": "currency", + "protocols": [ + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "type": "soap", + "isCurrent": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json new file mode 100644 index 000000000000..a74369abbb36 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "soapApi", + "parameters": { + "properties": { + "format": "wsdl-link", + "value": "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL", + "path": "currency", + "wsdlSelector": { + "wsdlServiceName": "CurrencyConvertor", + "wsdlEndpointName": "CurrencyConvertorSoap" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi", + "type": "Microsoft.ApiManagement/service/apis", + "name": "soapApi", + "properties": { + "displayName": "CurrencyConvertor", + "apiRevision": "1", + "serviceUrl": "http://www.webservicex.net", + "path": "currency", + "protocols": [ + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi", + "type": "Microsoft.ApiManagement/service/apis", + "name": "soapApi", + "properties": { + "displayName": "CurrencyConvertor", + "apiRevision": "1", + "serviceUrl": "http://www.webservicex.net", + "path": "currency", + "protocols": [ + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateSubscription.json new file mode 100644 index 000000000000..381331150998 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateSubscription.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "sid": "testsub", + "parameters": { + "properties": { + "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57127d485157a511ace86ae7", + "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002", + "displayName": "testsub" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub", + "type": "Microsoft.ApiManagement/service/subscriptions", + "name": "testsub", + "properties": { + "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57127d485157a511ace86ae7", + "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002", + "displayName": "testsub", + "state": "submitted", + "createdDate": "2017-06-02T23:34:03.1055076Z" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub", + "type": "Microsoft.ApiManagement/service/subscriptions", + "name": "testsub", + "properties": { + "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57127d485157a511ace86ae7", + "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002", + "displayName": "testsub", + "state": "submitted", + "createdDate": "2017-06-02T23:34:03.1055076Z" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateTag.json new file mode 100644 index 000000000000..2bca2fa1df7b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateTag.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "tagId": "tagId1", + "parameters": { + "properties": { + "displayName": "tag1" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1", + "type": "Microsoft.ApiManagement/service/tags", + "name": "tagId1", + "properties": { + "displayName": "tag1" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1", + "type": "Microsoft.ApiManagement/service/tags", + "name": "tagId1", + "properties": { + "displayName": "tag1" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateTemplate.json new file mode 100644 index 000000000000..287b414cf93f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateTemplate.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "templateName": "newIssueNotificationMessage", + "parameters": { + "properties": { + "subject": "Your request for $IssueName was successfully received." + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/NewIssueNotificationMessage", + "type": "Microsoft.ApiManagement/service/templates", + "name": "NewIssueNotificationMessage", + "properties": { + "subject": "Your request for $IssueName was successfully received.", + "body": "\r\n\r\n \r\n \r\n

Dear $DevFirstName $DevLastName,

\r\n

Thank you for contacting us. Our API team will review your issue and get back to you soon.

\r\n

\r\n Click this link to view or edit your request.\r\n

\r\n

Best,

\r\n

The $OrganizationName API Team

\r\n \r\n", + "title": "New issue received", + "description": "This email is sent to developers after they create a new topic on the Issues page of the developer portal.", + "isDefault": false, + "parameters": [ + { + "name": "DevFirstName", + "title": "Developer first name" + }, + { + "name": "DevLastName", + "title": "Developer last name" + }, + { + "name": "IssueId", + "title": "Issue id" + }, + { + "name": "IssueName", + "title": "Issue name" + }, + { + "name": "OrganizationName", + "title": "Organization name" + }, + { + "name": "DevPortalUrl", + "title": "Developer portal URL" + } + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/NewIssueNotificationMessage", + "type": "Microsoft.ApiManagement/service/templates", + "name": "NewIssueNotificationMessage", + "properties": { + "subject": "Your request for $IssueName was successfully received.", + "body": "\r\n\r\n \r\n \r\n

Dear $DevFirstName $DevLastName,

\r\n

Thank you for contacting us. Our API team will review your issue and get back to you soon.

\r\n

\r\n Click this link to view or edit your request.\r\n

\r\n

Best,

\r\n

The $OrganizationName API Team

\r\n \r\n", + "title": "New issue received", + "description": "This email is sent to developers after they create a new topic on the Issues page of the developer portal.", + "isDefault": false, + "parameters": [ + { + "name": "DevFirstName", + "title": "Developer first name" + }, + { + "name": "DevLastName", + "title": "Developer last name" + }, + { + "name": "IssueId", + "title": "Issue id" + }, + { + "name": "IssueName", + "title": "Issue name" + }, + { + "name": "OrganizationName", + "title": "Organization name" + }, + { + "name": "DevPortalUrl", + "title": "Developer portal URL" + } + ] + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateTenantAccess.json new file mode 100644 index 000000000000..620b58bf752f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateTenantAccess.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "If-Match": "*", + "accessName": "access", + "parameters": { + "properties": { + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/access", + "type": "Microsoft.ApiManagement/service/tenant", + "name": "access", + "properties": { + "enabled": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateUser.json new file mode 100644 index 000000000000..173546ef60d8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateUser.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "userId": "5931a75ae4bbd512288c680b", + "parameters": { + "properties": { + "firstName": "foo", + "lastName": "bar", + "email": "foobar@outlook.com", + "confirmation": "signup" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512288c680b", + "type": "Microsoft.ApiManagement/service/users", + "name": "5931a75ae4bbd512288c680b", + "properties": { + "firstName": "foo", + "lastName": "bar", + "email": "foobar@outlook.com", + "state": "active", + "registrationDate": "2018-01-07T21:21:29.16Z", + "groups": [], + "identities": [ + { + "provider": "Basic", + "id": "foobar@outlook.com" + } + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512288c680b", + "type": "Microsoft.ApiManagement/service/users", + "name": "5931a75ae4bbd512288c680b", + "properties": { + "firstName": "foo", + "lastName": "bar", + "email": "foobar@outlook.com", + "state": "active", + "registrationDate": "2018-01-07T21:21:29.16Z", + "groups": [], + "identities": [ + { + "provider": "Basic", + "id": "foobar@outlook.com" + } + ] + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateWebsocketApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateWebsocketApi.json new file mode 100644 index 000000000000..b899330201de --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateWebsocketApi.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "tempgroup", + "parameters": { + "properties": { + "description": "apidescription5200", + "displayName": "apiname1463", + "type": "websocket", + "serviceUrl": "wss://echo.websocket.org", + "path": "newapiPath", + "protocols": [ + "wss", + "ws" + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419", + "type": "Microsoft.ApiManagement/service/apis", + "name": "apiid9419", + "properties": { + "displayName": "apiname1463", + "apiRevision": "1", + "description": "apidescription5200", + "serviceUrl": "wss://echo.websocket.org", + "type": "websocket", + "path": "newapiPath", + "protocols": [ + "ws", + "wss" + ], + "authenticationSettings": null, + "subscriptionKeyParameterNames": null, + "isCurrent": true, + "isOnline": true + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419", + "type": "Microsoft.ApiManagement/service/apis", + "name": "apiid9419", + "properties": { + "displayName": "apiname1463", + "apiRevision": "1", + "description": "apidescription5200", + "serviceUrl": "wss://echo.websocket.org", + "type": "websocket", + "path": "newapiPath", + "protocols": [ + "ws", + "wss" + ], + "authenticationSettings": null, + "subscriptionKeyParameterNames": null, + "isCurrent": true, + "isOnline": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApi.json new file mode 100644 index 000000000000..cddf7f4a5fb4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApi.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "echo-api", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiDiagnostic.json new file mode 100644 index 000000000000..4fa66d3b83bc --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiDiagnostic.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "diagnosticId": "applicationinsights", + "apiId": "57d1f7558aa04f15146d9d8a", + "If-Match": "*" + }, + "responses": { + "204": {}, + "200": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiIssue.json new file mode 100644 index 000000000000..4ddfaa0a9a7e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiIssue.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "issueId": "57d2ef278aa04f0ad01d6cdc", + "apiId": "57d1f7558aa04f15146d9d8a", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiIssueAttachment.json new file mode 100644 index 000000000000..70ead9e1ae2c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiIssueAttachment.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "issueId": "57d2ef278aa04f0ad01d6cdc", + "apiId": "57d1f7558aa04f15146d9d8a", + "attachmentId": "57d2ef278aa04f0888cba3f3", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiIssueComment.json new file mode 100644 index 000000000000..b57ea76fc1b7 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiIssueComment.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "issueId": "57d2ef278aa04f0ad01d6cdc", + "apiId": "57d1f7558aa04f15146d9d8a", + "commentId": "599e29ab193c3c0bd0b3e2fb", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiOperation.json new file mode 100644 index 000000000000..534761771aab --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiOperation.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3", + "operationId": "57d2ef278aa04f0ad01d6cdc", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiOperationPolicy.json new file mode 100644 index 000000000000..915fcf425e11 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiOperationPolicy.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "testapi", + "operationId": "testoperation", + "policyId": "policy", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiOperationTag.json new file mode 100644 index 000000000000..7c2cc277e013 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiOperationTag.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "59d5b28d1f7fab116c282650", + "operationId": "59d5b28d1f7fab116c282651", + "tagId": "59d5b28e1f7fab116402044e", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiPolicy.json new file mode 100644 index 000000000000..b3c1d965553a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiPolicy.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "loggerId", + "policyId": "policy", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiRelease.json new file mode 100644 index 000000000000..245d103c4f34 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiRelease.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "5a5fcc09124a7fa9b89f2f1d", + "releaseId": "testrev", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiSchema.json new file mode 100644 index 000000000000..2a1e2c9619a5 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiSchema.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "59d5b28d1f7fab116c282650", + "schemaId": "59d5b28e1f7fab116402044e", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiTag.json new file mode 100644 index 000000000000..9335bca9fb22 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiTag.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "59d5b28d1f7fab116c282650", + "tagId": "59d5b28e1f7fab116402044e", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiTagDescription.json new file mode 100644 index 000000000000..78d85add14ea --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiTagDescription.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "59d5b28d1f7fab116c282650", + "tagDescriptionId": "59d5b28e1f7fab116402044e", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiVersionSet.json new file mode 100644 index 000000000000..716344edd521 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiVersionSet.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "versionSetId": "a1", + "If-Match": "*" + }, + "responses": { + "204": {}, + "200": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteAuthorizationServer.json new file mode 100644 index 000000000000..be1cacce5447 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteAuthorizationServer.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "authsid": "newauthServer2", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteBackend.json new file mode 100644 index 000000000000..c7597a891fb3 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteBackend.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "backendId": "sfbackend", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteCache.json new file mode 100644 index 000000000000..aa827b759b6e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteCache.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "cacheId": "southindia", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteCertificate.json new file mode 100644 index 000000000000..2c392d9ae4d1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteCertificate.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "certificateId": "tempcert", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteContentType.json new file mode 100644 index 000000000000..4cd2c5a5e274 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteContentType.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "contentTypeId": "page", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteContentTypeContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteContentTypeContentItem.json new file mode 100644 index 000000000000..663446725860 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteContentTypeContentItem.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "contentTypeId": "page", + "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteDiagnostic.json new file mode 100644 index 000000000000..4d3308722c3b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteDiagnostic.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "diagnosticId": "applicationinsights", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGateway.json new file mode 100644 index 000000000000..a00516ab47d0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGateway.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGatewayApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGatewayApi.json new file mode 100644 index 000000000000..93d0d7286108 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGatewayApi.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1", + "apiId": "echo-api", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGatewayCertificateAuthority.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGatewayCertificateAuthority.json new file mode 100644 index 000000000000..57c160e1ccf6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGatewayCertificateAuthority.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1", + "certificateId": "default", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGatewayHostnameConfiguration.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGatewayHostnameConfiguration.json new file mode 100644 index 000000000000..5dbaa0db7cce --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGatewayHostnameConfiguration.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1", + "hcId": "default", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGroup.json new file mode 100644 index 000000000000..fc4cd1dd8f51 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGroup.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "groupId": "aadGroup", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGroupUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGroupUser.json new file mode 100644 index 000000000000..65f0a4adf006 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGroupUser.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "groupId": "templategroup", + "userId": "59307d350af58404d8a26300", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteIdentityProvider.json new file mode 100644 index 000000000000..fa9adde106ed --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteIdentityProvider.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "identityProviderName": "aad", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteLogger.json new file mode 100644 index 000000000000..f27388b98284 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteLogger.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "loggerId": "loggerId", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteNamedValue.json new file mode 100644 index 000000000000..cb0e020e476f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteNamedValue.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "namedValueId": "testprop2", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteNotificationRecipientEmail.json new file mode 100644 index 000000000000..eb7872683a01 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteNotificationRecipientEmail.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "notificationName": "RequestPublisherNotificationMessage", + "email": "contoso@live.com" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteNotificationRecipientUser.json new file mode 100644 index 000000000000..77687d5123f6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteNotificationRecipientUser.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "notificationName": "RequestPublisherNotificationMessage", + "userId": "576823d0a40f7e74ec07d642" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteOpenIdConnectProvider.json new file mode 100644 index 000000000000..a3896bb5fbac --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteOpenIdConnectProvider.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "opid": "templateOpenIdConnect3", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletePolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletePolicy.json new file mode 100644 index 000000000000..b378d5d3461d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletePolicy.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "policyId": "policy", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletePrivateEndpointConnection.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..fddeb07b9527 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletePrivateEndpointConnection.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "privateEndpointConnectionName": "privateEndpointConnectionName" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProduct.json new file mode 100644 index 000000000000..17250a54be11 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProduct.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "testproduct", + "deleteSubscriptions": true, + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductApi.json new file mode 100644 index 000000000000..e197403efded --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductApi.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "testproduct", + "apiId": "echo-api", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductGroup.json new file mode 100644 index 000000000000..37cfb9d6c7e1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductGroup.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "testproduct", + "groupId": "templateGroup", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductPolicy.json new file mode 100644 index 000000000000..60df4db33884 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductPolicy.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "testproduct", + "policyId": "policy", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductTag.json new file mode 100644 index 000000000000..29700e5949f7 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductTag.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "59d5b28d1f7fab116c282650", + "tagId": "59d5b28e1f7fab116402044e", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteSubscription.json new file mode 100644 index 000000000000..5b688c6bb40c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteSubscription.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "sid": "testsub", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteTag.json new file mode 100644 index 000000000000..5fe20e9610cd --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteTag.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "tagId": "tagId1", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteTemplate.json new file mode 100644 index 000000000000..551aab32b810 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteTemplate.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "templateName": "newIssueNotificationMessage", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteUser.json new file mode 100644 index 000000000000..191ccd09e9f5 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteUser.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "userId": "5931a75ae4bbd512288c680b", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletedServicesListBySubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletedServicesListBySubscription.json new file mode 100644 index 000000000000..37cd95ddc6a1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletedServicesListBySubscription.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.ApiManagement/locations/westus/deletedservices/apimService3", + "name": "apimService3", + "type": "Microsoft.ApiManagement/deletedservices", + "location": "West US", + "properties": { + "serviceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService3", + "scheduledPurgeDate": "2017-05-27T15:33:55.5426123Z", + "deletionDate": "2017-05-27T15:33:55.5426123Z" + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.ApiManagement/locations/westus2/deletedservices/apimService", + "name": "apimService", + "type": "Microsoft.ApiManagement/deletedservices", + "location": "West US 2", + "properties": { + "serviceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService", + "scheduledPurgeDate": "2017-05-27T15:33:55.5426123Z", + "deletionDate": "2017-05-27T15:33:55.5426123Z" + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletedServicesPurge.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletedServicesPurge.json new file mode 100644 index 000000000000..20ee9bc8f7db --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletedServicesPurge.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "serviceName": "apimService3", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "location": "westus" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/locations/westus/deletedservices/apimService3/operationresults/TGV2eTExMDZtMDJfVGVybV9jMmZlY2QwMA==?api-version=2021-08-01" + }, + "body": { + "id": "/subscriptions/subid/providers/Microsoft.ApiManagement/locations/westus/deletedservices/apimService3", + "name": "apimService3", + "type": "Microsoft.ApiManagement/deletedservices", + "location": "West US", + "properties": { + "serviceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService3", + "scheduledPurgeDate": "2017-05-27T15:33:55.5426123Z", + "deletionDate": "2017-05-27T15:33:55.5426123Z" + } + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGatewayGenerateToken.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGatewayGenerateToken.json new file mode 100644 index 000000000000..163e31094dbc --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGatewayGenerateToken.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1", + "parameters": { + "keyType": "primary", + "expiry": "2020-04-21T00:44:24.2845269Z" + } + }, + "responses": { + "200": { + "body": { + "value": "gw1&201904210044&9A1GR1f5WIhFvFmzQG+xxxxxxxxxxx/kBeu87DWad3tkasUXuvPL+MgzlwUHyg==" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGatewayListKeys.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGatewayListKeys.json new file mode 100644 index 000000000000..2166e313b316 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGatewayListKeys.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1" + }, + "responses": { + "200": { + "body": { + "primary": "primary_key_value", + "secondary": "secondary_key_value" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGatewayRegenerateKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGatewayRegenerateKey.json new file mode 100644 index 000000000000..db72fd8b2d63 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGatewayRegenerateKey.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gwId", + "parameters": { + "keyType": "primary" + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiContract.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiContract.json new file mode 100644 index 000000000000..ca09c32e188c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiContract.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d1f7558aa04f15146d9d8a" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a", + "type": "Microsoft.ApiManagement/service/apis", + "name": "57d1f7558aa04f15146d9d8a", + "properties": { + "displayName": "Service", + "apiRevision": "1", + "serviceUrl": "https://api.plexonline.com/DataSource/Service.asmx", + "path": "schulte", + "protocols": [ + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "type": "soap", + "isCurrent": true, + "isOnline": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiDiagnostic.json new file mode 100644 index 000000000000..ad3fa4ed38b2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiDiagnostic.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "diagnosticId": "applicationinsights", + "apiId": "57d1f7558aa04f15146d9d8a" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/apis/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "httpCorrelationProtocol": "Legacy", + "logClientIp": true, + "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest", + "sampling": { + "samplingType": "fixed", + "percentage": 100 + }, + "frontend": { + "request": { + "headers": [], + "body": { + "bytes": 100 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 100 + } + } + }, + "backend": { + "request": { + "headers": [], + "body": { + "bytes": 100 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 100 + } + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiExportInOpenApi2dot0.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiExportInOpenApi2dot0.json new file mode 100644 index 000000000000..160a6211b8de --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiExportInOpenApi2dot0.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "echo-api", + "format": "swagger-link", + "export": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api", + "format": "swagger-link-json", + "value": { + "link": "https://apimgmtstkjpszxxxxxxx.blob.core.windows.net/api-export/Swagger Petstore Extensive.json?sv=2015-07-08&sr=b&sig=mxhLsFuOonu8EXIjyFPV%2FnDra0qTIoip7N7MuU%2BTFsA%3D&se=2019-04-10T22:41:31Z&sp=r" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiExportInOpenApi3dot0.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiExportInOpenApi3dot0.json new file mode 100644 index 000000000000..b89abc625ee2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiExportInOpenApi3dot0.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "aid9676", + "format": "openapi-link", + "export": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/aid9676", + "format": "openapi-link", + "value": { + "link": "https: //apimgmtstkjpszxxxxxxx.blob.core.windows.net/api-export/Swagger Petstore.yaml?sv=2015-07-08&sr=b&sig=qqtR1y5iTbz5P7USBduqB5vriIU4gmiGqe0lKVV8j9k%3D&se=2019-04-10T22:40:57Z&sp=r" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiIssue.json new file mode 100644 index 000000000000..1bf61b9a6b2a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiIssue.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3", + "issueId": "57d2ef278aa04f0ad01d6cdc" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc", + "type": "Microsoft.ApiManagement/service/apis/issues", + "name": "57d2ef278aa04f0ad01d6cdc", + "properties": { + "title": "New API issue", + "description": "New API issue description", + "createdDate": "2018-02-01T22:21:20.467Z", + "state": "open", + "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1", + "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiIssueAttachment.json new file mode 100644 index 000000000000..c0f3d4ef3e3d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiIssueAttachment.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3", + "issueId": "57d2ef278aa04f0ad01d6cdc", + "attachmentId": "57d2ef278aa04f0888cba3f3" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3", + "type": "Microsoft.ApiManagement/service/apis/issues/attachments", + "name": "57d2ef278aa04f0888cba3f3", + "properties": { + "title": "Issue attachment.", + "contentFormat": "link", + "content": "https://.../image.jpg" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiIssueComment.json new file mode 100644 index 000000000000..1d39b85b3471 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiIssueComment.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3", + "issueId": "57d2ef278aa04f0ad01d6cdc", + "commentId": "599e29ab193c3c0bd0b3e2fb" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb", + "type": "Microsoft.ApiManagement/service/apis/issues/comments", + "name": "599e29ab193c3c0bd0b3e2fb", + "properties": { + "text": "Issue comment.", + "createdDate": "2018-02-01T22:21:20.467Z", + "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperation.json new file mode 100644 index 000000000000..7bfd403a97a8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperation.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3", + "operationId": "57d2ef278aa04f0ad01d6cdc" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdc", + "type": "Microsoft.ApiManagement/service/apis/operations", + "name": "57d2ef278aa04f0ad01d6cdc", + "properties": { + "displayName": "CancelOrder", + "method": "POST", + "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/CancelOrder", + "templateParameters": [], + "request": { + "description": "IFazioService_CancelOrder_InputMessage", + "queryParameters": [], + "headers": [], + "representations": [ + { + "contentType": "text/xml", + "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8", + "typeName": "CancelOrder" + } + ] + }, + "responses": [ + { + "statusCode": 200, + "description": "IFazioService_CancelOrder_OutputMessage", + "representations": [ + { + "contentType": "text/xml", + "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8", + "typeName": "CancelOrderResponse" + } + ], + "headers": [] + } + ] + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperationPetStore.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperationPetStore.json new file mode 100644 index 000000000000..d485130557b9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperationPetStore.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "swagger-petstore", + "operationId": "loginUser" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/swagger-petstore/operations/loginUser", + "type": "Microsoft.ApiManagement/service/apis/operations", + "name": "loginUser", + "properties": { + "displayName": "Logs user into the system", + "method": "GET", + "urlTemplate": "/user/login?username={username}&password={password}", + "templateParameters": [ + { + "name": "username", + "description": "The user name for login", + "type": "string", + "required": true, + "values": [] + }, + { + "name": "password", + "description": "The password for login in clear text", + "type": "string", + "required": true, + "values": [] + } + ], + "description": "", + "request": { + "queryParameters": [], + "headers": [], + "representations": [] + }, + "responses": [ + { + "statusCode": 200, + "description": "successful operation", + "representations": [ + { + "contentType": "application/xml", + "schemaId": "5ba91a35f373b513a0bf31c6", + "typeName": "UserLoginGet200ApplicationXmlResponse" + }, + { + "contentType": "application/json", + "schemaId": "5ba91a35f373b513a0bf31c6", + "typeName": "UserLoginGet200ApplicationJsonResponse" + } + ], + "headers": [ + { + "name": "X-Rate-Limit", + "description": "calls per hour allowed by the user", + "type": "integer", + "values": [] + }, + { + "name": "X-Expires-After", + "description": "date in UTC when token expires", + "type": "string", + "values": [] + } + ] + }, + { + "statusCode": 400, + "description": "Invalid username/password supplied", + "representations": [ + { + "contentType": "application/xml" + }, + { + "contentType": "application/json" + } + ], + "headers": [] + } + ] + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperationPolicy.json new file mode 100644 index 000000000000..9ca04be92c7c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperationPolicy.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "5600b539c53f5b0062040001", + "operationId": "5600b53ac53f5b0062080006", + "policyId": "policy" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b539c53f5b0062040001/operations/5600b53ac53f5b0062080006/policies/policy", + "type": "Microsoft.ApiManagement/service/apis/operations/policies", + "name": "policy", + "properties": { + "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n This is a sample\r\n \r\n \r\n \r\n \r\n" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperationTag.json new file mode 100644 index 000000000000..1724cab30f26 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperationTag.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "59d6bb8f1f7fab13dc67ec9b", + "operationId": "59d6bb8f1f7fab13dc67ec9a", + "tagId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9", + "type": "Microsoft.ApiManagement/service/tags", + "name": "59306a29e4bbd510dc24e5f9", + "properties": { + "displayName": "tag1" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiPolicy.json new file mode 100644 index 000000000000..1d7507787783 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiPolicy.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "5600b59475ff190048040001", + "policyId": "policy" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b59475ff190048040001/policies/policy", + "type": "Microsoft.ApiManagement/service/apis/policies", + "name": "policy", + "properties": { + "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n@{\r\n\tRandom Random = new Random();\r\n\t\t\t\tconst string Chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \"; \r\n return string.Join(\",\", DateTime.UtcNow, new string(\r\n Enumerable.Repeat(Chars, Random.Next(2150400))\r\n .Select(s => s[Random.Next(s.Length)])\r\n .ToArray()));\r\n } \r\n \r\n \r\n \r\n" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiRelease.json new file mode 100644 index 000000000000..ca889df190a0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiRelease.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "a1", + "releaseId": "5a7cb545298324c53224a799" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/5a7cb545298324c53224a799", + "type": "Microsoft.ApiManagement/service/apis/releases", + "name": "5a7cb545298324c53224a799", + "properties": { + "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1", + "createdDateTime": "2018-02-08T20:38:29.173Z", + "updatedDateTime": "2018-02-08T20:38:29.173Z", + "notes": "yahoo" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiRevision.json new file mode 100644 index 000000000000..d38dacef89ba --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiRevision.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "echo-api;rev=3" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3", + "type": "Microsoft.ApiManagement/service/apis", + "name": "echo-api;rev=3", + "properties": { + "displayName": "Service", + "apiRevision": "3", + "serviceUrl": "https://api.plexonline.com/DataSource/Service.asmx", + "path": "schulte", + "protocols": [ + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "apiRevisionDescription": "fixed bug in contract" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiSchema.json new file mode 100644 index 000000000000..cbf183c03711 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiSchema.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "59d6bb8f1f7fab13dc67ec9b", + "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1", + "type": "Microsoft.ApiManagement/service/apis/schemas", + "name": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1", + "properties": { + "contentType": "application/vnd.ms-azure-apim.xsd+xml", + "document": { + "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n" + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiTag.json new file mode 100644 index 000000000000..254dcded2cd6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiTag.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "59d6bb8f1f7fab13dc67ec9b", + "tagId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9", + "type": "Microsoft.ApiManagement/service/tags", + "name": "59306a29e4bbd510dc24e5f9", + "properties": { + "displayName": "tag1" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiTagDescription.json new file mode 100644 index 000000000000..c666e337a443 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiTagDescription.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "59d6bb8f1f7fab13dc67ec9b", + "tagDescriptionId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/tagDescriptions/59306a29e4bbd510dc24e5f9", + "type": "Microsoft.ApiManagement/service/apis/tagDescriptions", + "name": "59306a29e4bbd510dc24e5f9", + "properties": { + "tagId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9", + "displayName": "tag1", + "description": null, + "externalDocsDescription": "some additional info", + "externalDocsUrl": "http://some_url.com" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiVersionSet.json new file mode 100644 index 000000000000..21837677c2e4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiVersionSet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "versionSetId": "vs1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/vs1", + "type": "Microsoft.ApiManagement/service/api-version-sets", + "name": "vs1", + "properties": { + "displayName": "Version Set 1", + "versioningScheme": "Segment", + "description": "Version configuration" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetAuthorizationServer.json new file mode 100644 index 000000000000..8b32bbf351ec --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetAuthorizationServer.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "authsid": "newauthServer2" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer2", + "type": "Microsoft.ApiManagement/service/authorizationServers", + "name": "newauthServer2", + "properties": { + "displayName": "test3", + "description": "test server", + "clientRegistrationEndpoint": "https://www.contoso.com/apps", + "authorizationEndpoint": "https://www.contoso.com/oauth2/auth", + "authorizationMethods": [ + "GET" + ], + "clientAuthenticationMethod": [ + "Basic" + ], + "tokenEndpoint": "https://www.contoso.com/oauth2/token", + "supportState": true, + "defaultScope": "read write", + "grantTypes": [ + "authorizationCode", + "implicit" + ], + "bearerTokenSendingMethods": [ + "authorizationHeader" + ], + "clientId": "1", + "resourceOwnerUsername": "un", + "resourceOwnerPassword": "pwd" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetBackend.json new file mode 100644 index 000000000000..47ed6ce29b04 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetBackend.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "backendId": "sfbackend" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/sfbackend", + "type": "Microsoft.ApiManagement/service/backends", + "name": "sfbackend", + "properties": { + "description": "Service Fabric Test App 1", + "url": "fabric:/mytestapp/mytestservice", + "protocol": "http", + "properties": { + "serviceFabricCluster": { + "managementEndpoints": [ + "https://somecluster.com" + ], + "clientCertificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1", + "serverX509Names": [ + { + "name": "ServerCommonName1", + "issuerCertificateThumbprint": "IssuerCertificateThumbprint1" + } + ], + "maxPartitionResolutionRetries": 5 + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetCache.json new file mode 100644 index 000000000000..b7095945d1fd --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetCache.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "cacheId": "c1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/c1", + "type": "Microsoft.ApiManagement/service/caches", + "name": "c1", + "properties": { + "useFromLocation": "default", + "description": "Redis cache instances in West India", + "connectionString": "{{5f7fbca77a891a2200f3db38}}", + "resourceId": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetCertificate.json new file mode 100644 index 000000000000..04e213f1caf8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetCertificate.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "certificateId": "templateCert1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCert1", + "type": "Microsoft.ApiManagement/service/certificates", + "name": "templateCert1", + "properties": { + "subject": "CN=mutual-authcert", + "thumbprint": "EBA**********************8594A6", + "expirationDate": "2017-04-23T17:03:41Z" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetCertificateWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetCertificateWithKeyVault.json new file mode 100644 index 000000000000..5c7df6508ab9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetCertificateWithKeyVault.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "certificateId": "templateCertkv" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv", + "type": "Microsoft.ApiManagement/service/certificates", + "name": "templateCertkv", + "properties": { + "subject": "CN=*.msitesting.net", + "thumbprint": "EA**********************9AD690", + "expirationDate": "2037-01-01T07:00:00Z", + "keyVault": { + "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert", + "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0", + "lastStatus": { + "code": "Success", + "timeStampUtc": "2020-09-22T00:24:53.3191468Z" + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetContentType.json new file mode 100644 index 000000000000..b1acd23e8602 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetContentType.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "contentTypeId": "page" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/contentTypes/page", + "type": "Microsoft.ApiManagement/service/contentTypes", + "name": "page", + "properties": { + "name": "Page", + "description": "A regular page", + "schema": { + "properties": { + "en_us": { + "type": "object", + "properties": { + "title": { + "title": "Title", + "description": "Page title. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "description": { + "title": "Description", + "description": "Page description. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "keywords": { + "title": "Keywords", + "description": "Page keywords. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "permalink": { + "title": "Permalink", + "description": "Page permalink, e.g. '/about'.", + "type": "string", + "indexed": true + }, + "documentId": { + "title": "Document ID", + "description": "Reference to page content document.", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "title", + "permalink", + "documentId" + ] + } + }, + "additionalProperties": false + }, + "version": "1.0.0" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetContentTypeContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetContentTypeContentItem.json new file mode 100644 index 000000000000..a063c37f9790 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetContentTypeContentItem.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "contentTypeId": "page", + "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8" + }, + "responses": { + "200": { + "body": { + "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "type": "Microsoft.ApiManagement/service/contentTypes/contentItems", + "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "properties": { + "en_us": { + "title": "About", + "description": "Short story about the company.", + "keywords": "company, about", + "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "permalink": "/about" + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetDeletedServiceByName.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetDeletedServiceByName.json new file mode 100644 index 000000000000..57b9741abb94 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetDeletedServiceByName.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "serviceName": "apimService3", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "location": "westus" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.ApiManagement/locations/westus/deletedservices/apimService3", + "name": "apimService3", + "type": "Microsoft.ApiManagement/deletedservices", + "location": "West US", + "properties": { + "serviceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService3", + "scheduledPurgeDate": "2017-05-27T15:33:55.5426123Z", + "deletionDate": "2017-05-27T15:33:55.5426123Z" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetDiagnostic.json new file mode 100644 index 000000000000..0f45b4b6bded --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetDiagnostic.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "diagnosticId": "applicationinsights" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "httpCorrelationProtocol": "Legacy", + "logClientIp": true, + "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest", + "sampling": { + "samplingType": "fixed", + "percentage": 100 + }, + "frontend": { + "request": { + "headers": [], + "body": { + "bytes": 100 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 100 + } + } + }, + "backend": { + "request": { + "headers": [], + "body": { + "bytes": 100 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 100 + } + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGateway.json new file mode 100644 index 000000000000..c50478c37b12 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGateway.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1", + "type": "Microsoft.ApiManagement/service/gateways", + "name": "a1", + "properties": { + "description": "my gateway 1", + "locationData": { + "name": "my location" + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGatewayCertificateAuthority.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGatewayCertificateAuthority.json new file mode 100644 index 000000000000..c2eed16524f1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGatewayCertificateAuthority.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1", + "certificateId": "cert1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/certificateAuthorities/cert1", + "type": "Microsoft.ApiManagement/service/gateways/certificateAuthorities", + "name": "cert1", + "properties": { + "isTrusted": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGatewayHostnameConfiguration.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGatewayHostnameConfiguration.json new file mode 100644 index 000000000000..fdfbb8a5d1b1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGatewayHostnameConfiguration.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1", + "hcId": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/hostnameConfigurations/default", + "type": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations", + "name": "default", + "properties": { + "hostname": "*", + "certificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1", + "negotiateClientCertificate": false + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGroup.json new file mode 100644 index 000000000000..26d736c0e70e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGroup.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "groupId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/59306a29e4bbd510dc24e5f9", + "type": "Microsoft.ApiManagement/service/groups", + "name": "59306a29e4bbd510dc24e5f9", + "properties": { + "displayName": "AwesomeGroup (samiraad.onmicrosoft.com)", + "description": "awesome group of people", + "builtIn": false, + "type": "external", + "externalId": "aad://samiraad.onmicrosoft.com/groups/3773adf4-032e-4d25-9988-eaff9ca72eca" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetIdentityProvider.json new file mode 100644 index 000000000000..121f312bb25b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetIdentityProvider.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "identityProviderName": "aadB2C" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/AadB2C", + "type": "Microsoft.ApiManagement/service/identityProviders", + "name": "AadB2C", + "properties": { + "clientId": "f02dafe2-b8b8-48ec-a38e-27e5c16c51e5", + "type": "aadB2C", + "authority": "login.microsoftonline.com", + "signinTenant": "contosoaadb2c.onmicrosoft.com", + "allowedTenants": [ + "contosoaadb2c.onmicrosoft.com", + "contoso2aadb2c.onmicrosoft.com" + ], + "signupPolicyName": "B2C_1_policy-signup", + "signinPolicyName": "B2C_1_policy-signin" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetIssue.json new file mode 100644 index 000000000000..bae30914fc68 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetIssue.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "issueId": "57d2ef278aa04f0ad01d6cdc" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/issues/57d2ef278aa04f0ad01d6cdc", + "type": "Microsoft.ApiManagement/service/issues", + "name": "57d2ef278aa04f0ad01d6cdc", + "properties": { + "title": "New API issue", + "description": "New API issue description", + "createdDate": "2018-02-01T22:21:20.467Z", + "state": "open", + "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1", + "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetLogger.json new file mode 100644 index 000000000000..d01953084c9d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetLogger.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "loggerId": "templateLogger" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/kloudapilogger1", + "type": "Microsoft.ApiManagement/service/loggers", + "name": "kloudapilogger1", + "properties": { + "loggerType": "azureEventHub", + "description": "testeventhub3again", + "credentials": { + "name": "testeventhub4", + "connectionString": "Endpoint=sb://eventhubapim.servicebus.windows.net/;SharedAccessKeyName=Sender;SharedAccessKey=************" + }, + "isBuffered": true, + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.EventHub/namespaces/eventhubapim" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetNamedValue.json new file mode 100644 index 000000000000..6ac6323b7ced --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetNamedValue.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "namedValueId": "testarmTemplateproperties2" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testarmTemplateproperties2", + "type": "Microsoft.ApiManagement/service/namedValues", + "name": "testarmTemplateproperties2", + "properties": { + "displayName": "propName", + "value": "propValue", + "tags": [ + "foo", + "bar" + ], + "secret": false + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetNamedValueWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetNamedValueWithKeyVault.json new file mode 100644 index 000000000000..08964b2fe226 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetNamedValueWithKeyVault.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "namedValueId": "testprop6" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6", + "type": "Microsoft.ApiManagement/service/namedValues", + "name": "testprop6", + "properties": { + "displayName": "prop6namekv", + "keyVault": { + "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert", + "identityClientId": "2d2df842-44d8-4885-8dec-77cc1a984a31", + "lastStatus": { + "code": "Success", + "timeStampUtc": "2020-09-11T00:54:31.8024882Z" + } + }, + "tags": [ + "foo", + "bar" + ], + "secret": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetNotification.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetNotification.json new file mode 100644 index 000000000000..90dddb1c5c00 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetNotification.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "notificationName": "RequestPublisherNotificationMessage" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage", + "type": "Microsoft.ApiManagement/service/notifications", + "name": "RequestPublisherNotificationMessage", + "properties": { + "title": "Subscription requests (requiring approval)", + "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval.", + "recipients": { + "emails": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/contoso@live.com", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/foobar!live", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/foobar@live.com" + ], + "users": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642" + ] + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetOpenIdConnectProvider.json new file mode 100644 index 000000000000..3f10a63f82a9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetOpenIdConnectProvider.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "opid": "templateOpenIdConnect2" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/openidConnectProviders/templateOpenIdConnect2", + "type": "Microsoft.ApiManagement/service/openidconnectproviders", + "name": "templateOpenIdConnect2", + "properties": { + "displayName": "templateoidprovider2", + "description": "open id provider template2", + "metadataEndpoint": "https://oidprovider-template2.net", + "clientId": "oidprovidertemplate2" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPolicy.json new file mode 100644 index 000000000000..8f6a32b8c69e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPolicy.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "policyId": "policy" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy", + "type": "Microsoft.ApiManagement/service/policies", + "name": "policy", + "properties": { + "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPolicyFormat.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPolicyFormat.json new file mode 100644 index 000000000000..34086f8e29c9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPolicyFormat.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "policyId": "policy", + "format": "rawxml" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy", + "type": "Microsoft.ApiManagement/service/policies", + "name": "policy", + "properties": { + "format": "rawxml", + "value": "\r\n\r\n\t\r\n\t\t\r\n\t\t\t@{\n var guidBinary = new byte[16];\n Array.Copy(Guid.NewGuid().ToByteArray(), 0, guidBinary, 0, 10);\n long time = DateTime.Now.Ticks;\n byte[] bytes = new byte[6];\n unchecked\n {\n bytes[5] = (byte)(time >> 40);\n bytes[4] = (byte)(time >> 32);\n bytes[3] = (byte)(time >> 24);\n bytes[2] = (byte)(time >> 16);\n bytes[1] = (byte)(time >> 8);\n bytes[0] = (byte)(time);\n }\n Array.Copy(bytes, 0, guidBinary, 10, 6);\n return new Guid(guidBinary).ToString();\n }\n \r\n\t\t\r\n\t\r\n\t\r\n\t\t\r\n\t\r\n\t\r\n\t\r\n" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPortalRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPortalRevision.json new file mode 100644 index 000000000000..287ec7782351 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPortalRevision.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "portalRevisionId": "20201112101010" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112101010", + "type": "Microsoft.ApiManagement/service/portalRevisions", + "name": "20201112101010", + "properties": { + "description": "portal revision 1", + "statusDetails": null, + "status": "completed", + "isCurrent": true, + "createdDateTime": "2020-11-12T22:51:36.47Z", + "updatedDateTime": "2020-11-12T22:52:00.097Z" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPrivateEndpointConnection.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..d0855272b98b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPrivateEndpointConnection.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "privateEndpointConnectionName": "privateEndpointConnectionName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateEndpointConnections/privateEndpointConnectionName", + "type": "Microsoft.ApiManagement/service/privateEndpointConnections", + "name": "privateEndpointProxyName", + "properties": { + "provisioningState": "Pending", + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/privateEndpointName" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request, thanks", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPrivateLinkGroupResource.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPrivateLinkGroupResource.json new file mode 100644 index 000000000000..b645701ca4f9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPrivateLinkGroupResource.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "privateLinkSubResourceName": "privateLinkSubResourceName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateLinkResources/privateLinkSubResourceName", + "name": "Gateway", + "type": "Microsoft.ApiManagement/service/privateLinkResources", + "properties": { + "groupId": "Gateway", + "requiredMembers": [ + "Gateway_west_us" + ], + "requiredZoneNames": [ + "privateLink.azure.api.net" + ] + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetProduct.json new file mode 100644 index 000000000000..73f31f748450 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetProduct.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "unlimited" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/unlimited", + "type": "Microsoft.ApiManagement/service/products", + "name": "unlimited", + "properties": { + "displayName": "Unlimited", + "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.", + "subscriptionRequired": true, + "approvalRequired": true, + "subscriptionsLimit": 1, + "state": "published" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetProductPolicy.json new file mode 100644 index 000000000000..05a6a6eaa025 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetProductPolicy.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "kjoshiarmTemplateProduct4", + "policyId": "policy" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/kjoshiarmTemplateProduct4/policies/policy", + "type": "Microsoft.ApiManagement/service/products/policies", + "name": "policy", + "properties": { + "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetProductTag.json new file mode 100644 index 000000000000..3e91ebdf555b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetProductTag.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "59d6bb8f1f7fab13dc67ec9b", + "tagId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9", + "type": "Microsoft.ApiManagement/service/tags", + "name": "59306a29e4bbd510dc24e5f9", + "properties": { + "displayName": "tag1" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetQuotaCounterKeys.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetQuotaCounterKeys.json new file mode 100644 index 000000000000..64bb6dd1cd32 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetQuotaCounterKeys.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "quotaCounterKey": "ba" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "counterKey": "ba", + "periodKey": "0_P3Y6M4DT12H30M5S", + "periodStartTime": "2014-08-04T04:24:35Z", + "periodEndTime": "2018-02-08T16:54:40Z", + "value": { + "callsCount": 5, + "kbTransferred": 2.5830078125 + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json new file mode 100644 index 000000000000..c83ea3f9074e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "quotaCounterKey": "ba", + "quotaPeriodKey": "0_P3Y6M4DT12H30M5S" + }, + "responses": { + "200": { + "body": { + "counterKey": "ba", + "periodKey": "0_P3Y6M4DT12H30M5S", + "periodStartTime": "2014-08-04T04:24:35Z", + "periodEndTime": "2018-02-08T16:54:40Z", + "value": { + "callsCount": 0, + "kbTransferred": 2.5625 + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByApi.json new file mode 100644 index 000000000000..0b12c139080e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByApi.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Echo API", + "apiId": "/apis/5600b59475ff190048040001", + "callCountSuccess": 0, + "callCountBlocked": 0, + "callCountFailed": 0, + "callCountOther": 0, + "callCountTotal": 0, + "bandwidth": 0, + "cacheHitCount": 0, + "cacheMissCount": 0, + "apiTimeAvg": 0, + "apiTimeMin": 0, + "apiTimeMax": 0, + "serviceTimeAvg": 0, + "serviceTimeMin": 0, + "serviceTimeMax": 0 + }, + { + "name": "httpbin", + "apiId": "/apis/57a03a13e4bbd5119c8b19e9", + "callCountSuccess": 13, + "callCountBlocked": 1, + "callCountFailed": 0, + "callCountOther": 0, + "callCountTotal": 14, + "bandwidth": 11019, + "cacheHitCount": 0, + "cacheMissCount": 0, + "apiTimeAvg": 1015.7607923076923, + "apiTimeMin": 330.3206, + "apiTimeMax": 1819.2173, + "serviceTimeAvg": 957.094776923077, + "serviceTimeMin": 215.24, + "serviceTimeMax": 1697.3612 + } + ], + "count": 2, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByGeo.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByGeo.json new file mode 100644 index 000000000000..643005b521a0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByGeo.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "country": "US", + "region": "WA", + "zip": "98052", + "callCountSuccess": 13, + "callCountBlocked": 1, + "callCountFailed": 0, + "callCountOther": 0, + "callCountTotal": 14, + "bandwidth": 11019, + "cacheHitCount": 0, + "cacheMissCount": 0, + "apiTimeAvg": 1015.7607923076923, + "apiTimeMin": 330.3206, + "apiTimeMax": 1819.2173, + "serviceTimeAvg": 957.094776923077, + "serviceTimeMin": 215.24, + "serviceTimeMax": 1697.3612 + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByOperation.json new file mode 100644 index 000000000000..7e116abf1e6b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByOperation.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "get", + "apiId": "/apis/57a03a13e4bbd5119c8b19e9", + "operationId": "/apis/57a03a13e4bbd5119c8b19e9/operations/57a03a1dd8d14f0a780d7d14", + "callCountSuccess": 13, + "callCountBlocked": 1, + "callCountFailed": 0, + "callCountOther": 0, + "callCountTotal": 14, + "bandwidth": 11019, + "cacheHitCount": 0, + "cacheMissCount": 0, + "apiTimeAvg": 1015.7607923076923, + "apiTimeMin": 330.3206, + "apiTimeMax": 1819.2173, + "serviceTimeAvg": 957.094776923077, + "serviceTimeMin": 215.24, + "serviceTimeMax": 1697.3612 + }, + { + "name": "GetWeatherInformation", + "apiId": "/apis/57c999d1e4bbd50c988cb2c3", + "operationId": "/apis/57c999d1e4bbd50c988cb2c3/operations/57c999d1e4bbd50df889c93e", + "callCountSuccess": 0, + "callCountBlocked": 0, + "callCountFailed": 0, + "callCountOther": 0, + "callCountTotal": 0, + "bandwidth": 0, + "cacheHitCount": 0, + "cacheMissCount": 0, + "apiTimeAvg": 0, + "apiTimeMin": 0, + "apiTimeMax": 0, + "serviceTimeAvg": 0, + "serviceTimeMin": 0, + "serviceTimeMax": 0 + }, + { + "name": "GetCityForecastByZIP", + "apiId": "/apis/57c999d1e4bbd50c988cb2c3", + "operationId": "/apis/57c999d1e4bbd50c988cb2c3/operations/57c999d1e4bbd50df889c93f", + "callCountSuccess": 0, + "callCountBlocked": 0, + "callCountFailed": 0, + "callCountOther": 0, + "callCountTotal": 0, + "bandwidth": 0, + "cacheHitCount": 0, + "cacheMissCount": 0, + "apiTimeAvg": 0, + "apiTimeMin": 0, + "apiTimeMax": 0, + "serviceTimeAvg": 0, + "serviceTimeMin": 0, + "serviceTimeMax": 0 + } + ], + "count": 3, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByProduct.json new file mode 100644 index 000000000000..4f530601110a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByProduct.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Starter", + "productId": "/products/5600b59475ff190048060001", + "callCountSuccess": 0, + "callCountBlocked": 0, + "callCountFailed": 0, + "callCountOther": 0, + "callCountTotal": 0, + "bandwidth": 0, + "cacheHitCount": 0, + "cacheMissCount": 0, + "apiTimeAvg": 0, + "apiTimeMin": 0, + "apiTimeMax": 0, + "serviceTimeAvg": 0, + "serviceTimeMin": 0, + "serviceTimeMax": 0 + }, + { + "name": "Unlimited", + "productId": "/products/5600b59475ff190048060002", + "callCountSuccess": 13, + "callCountBlocked": 1, + "callCountFailed": 0, + "callCountOther": 0, + "callCountTotal": 14, + "bandwidth": 11019, + "cacheHitCount": 0, + "cacheMissCount": 0, + "apiTimeAvg": 1015.7607923076923, + "apiTimeMin": 330.3206, + "apiTimeMax": 1819.2173, + "serviceTimeAvg": 957.094776923077, + "serviceTimeMin": 215.24, + "serviceTimeMax": 1697.3612 + } + ], + "count": 2, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByRequest.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByRequest.json new file mode 100644 index 000000000000..080d0c9b2940 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByRequest.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "apiId": "/apis/5931a75ae4bbd512a88c680b", + "operationId": "/apis/5931a75ae4bbd512a88c680b/operations/-", + "productId": "/products/-", + "userId": "/users/1", + "method": "GET", + "url": "https://apimService1.azure-api.net/echo/resource?param1=sample", + "ipAddress": "207.xx.155.xx", + "responseCode": 404, + "responseSize": 405, + "timestamp": "2017-06-03T00:17:00.1649134Z", + "cache": "none", + "apiTime": 221.1544, + "serviceTime": 0.0, + "apiRegion": "East Asia", + "subscriptionId": "/subscriptions/5600b59475ff190048070002", + "requestId": "63e7119c-26aa-433c-96d7-f6f3267ff52f", + "requestSize": 0 + }, + { + "apiId": "/apis/5931a75ae4bbd512a88c680b", + "operationId": "/apis/5931a75ae4bbd512a88c680b/operations/-", + "productId": "/products/-", + "userId": "/users/1", + "method": "POST", + "url": "https://apimService1.azure-api.net/echo/resource", + "ipAddress": "207.xx.155.xx", + "responseCode": 404, + "responseSize": 403, + "timestamp": "2017-06-03T00:17:20.5255131Z", + "cache": "none", + "apiTime": 6.6754000000000007, + "serviceTime": 0.0, + "apiRegion": "East Asia", + "subscriptionId": "/subscriptions/5600b59475ff190048070002", + "requestId": "e581b7f7-c9ec-4fc6-8ab9-3855d9b00b04", + "requestSize": 0 + } + ], + "count": 2 + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsBySubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsBySubscription.json new file mode 100644 index 000000000000..b63d74d103cf --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsBySubscription.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "", + "userId": "/users/1", + "productId": "/products/5600b59475ff190048060001", + "subscriptionId": "/subscriptions/5600b59475ff190048070001", + "callCountSuccess": 0, + "callCountBlocked": 0, + "callCountFailed": 0, + "callCountOther": 0, + "callCountTotal": 0, + "bandwidth": 0, + "cacheHitCount": 0, + "cacheMissCount": 0, + "apiTimeAvg": 0, + "apiTimeMin": 0, + "apiTimeMax": 0, + "serviceTimeAvg": 0, + "serviceTimeMin": 0, + "serviceTimeMax": 0 + }, + { + "name": "", + "userId": "/users/1", + "productId": "/products/5600b59475ff190048060002", + "subscriptionId": "/subscriptions/5600b59475ff190048070002", + "callCountSuccess": 13, + "callCountBlocked": 1, + "callCountFailed": 0, + "callCountOther": 0, + "callCountTotal": 14, + "bandwidth": 11019, + "cacheHitCount": 0, + "cacheMissCount": 0, + "apiTimeAvg": 1015.7607923076923, + "apiTimeMin": 330.3206, + "apiTimeMax": 1819.2173, + "serviceTimeAvg": 957.094776923077, + "serviceTimeMin": 215.24, + "serviceTimeMax": 1697.3612 + }, + { + "name": "", + "userId": "/users/1", + "productId": "/products/5702e97e5157a50f48dce801", + "subscriptionId": "/subscriptions/5702e97e5157a50a9c733303", + "callCountSuccess": 0, + "callCountBlocked": 0, + "callCountFailed": 0, + "callCountOther": 0, + "callCountTotal": 0, + "bandwidth": 0, + "cacheHitCount": 0, + "cacheMissCount": 0, + "apiTimeAvg": 0, + "apiTimeMin": 0, + "apiTimeMax": 0, + "serviceTimeAvg": 0, + "serviceTimeMin": 0, + "serviceTimeMax": 0 + } + ], + "count": 3, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByTime.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByTime.json new file mode 100644 index 000000000000..1582da3d6188 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByTime.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'", + "interval": "PT15M" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timestamp": "2017-06-03T00:15:00Z", + "interval": "PT15M", + "callCountSuccess": 4, + "callCountBlocked": 0, + "callCountFailed": 0, + "callCountOther": 0, + "callCountTotal": 4, + "bandwidth": 3243, + "cacheHitCount": 0, + "cacheMissCount": 0, + "apiTimeAvg": 1337.46335, + "apiTimeMin": 885.0839000000001, + "apiTimeMax": 1819.2173, + "serviceTimeAvg": 1255.917425, + "serviceTimeMin": 882.8264, + "serviceTimeMax": 1697.3612 + }, + { + "timestamp": "2017-06-03T00:30:00Z", + "interval": "PT15M", + "callCountSuccess": 9, + "callCountBlocked": 1, + "callCountFailed": 0, + "callCountOther": 0, + "callCountTotal": 10, + "bandwidth": 7776, + "cacheHitCount": 0, + "cacheMissCount": 0, + "apiTimeAvg": 872.7818777777778, + "apiTimeMin": 330.3206, + "apiTimeMax": 1093.8407, + "serviceTimeAvg": 824.2847111111112, + "serviceTimeMin": 215.24, + "serviceTimeMax": 973.2262000000001 + } + ], + "count": 2, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByUser.json new file mode 100644 index 000000000000..bee93956b8e2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByUser.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Administrator", + "userId": "/users/1", + "callCountSuccess": 13, + "callCountBlocked": 1, + "callCountFailed": 0, + "callCountOther": 0, + "callCountTotal": 14, + "bandwidth": 11019, + "cacheHitCount": 0, + "cacheMissCount": 0, + "apiTimeAvg": 1015.7607923076923, + "apiTimeMin": 330.3206, + "apiTimeMax": 1819.2173, + "serviceTimeAvg": 957.094776923077, + "serviceTimeMin": 215.24, + "serviceTimeMax": 1697.3612 + }, + { + "name": "Samir Solanki", + "userId": "/users/56eaec62baf08b06e46d27fd", + "callCountSuccess": 0, + "callCountBlocked": 0, + "callCountFailed": 0, + "callCountOther": 0, + "callCountTotal": 0, + "bandwidth": 0, + "cacheHitCount": 0, + "cacheMissCount": 0, + "apiTimeAvg": 0, + "apiTimeMin": 0, + "apiTimeMax": 0, + "serviceTimeAvg": 0, + "serviceTimeMin": 0, + "serviceTimeMax": 0 + }, + { + "name": "Anonymous", + "userId": "/users/54c800b332965a0035030000", + "callCountSuccess": 0, + "callCountBlocked": 0, + "callCountFailed": 0, + "callCountOther": 0, + "callCountTotal": 0, + "bandwidth": 0, + "cacheHitCount": 0, + "cacheMissCount": 0, + "apiTimeAvg": 0, + "apiTimeMin": 0, + "apiTimeMax": 0, + "serviceTimeAvg": 0, + "serviceTimeMin": 0, + "serviceTimeMax": 0 + } + ], + "count": 3, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetSubscription.json new file mode 100644 index 000000000000..2f7061bdf395 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetSubscription.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "sid": "5931a769d8d14f0ad8ce13b8" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/5931a769d8d14f0ad8ce13b8", + "type": "Microsoft.ApiManagement/service/subscriptions", + "name": "5931a769d8d14f0ad8ce13b8", + "properties": { + "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b", + "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002", + "displayName": "Unlimited", + "state": "submitted", + "createdDate": "2017-06-02T17:59:06.223Z" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTag.json new file mode 100644 index 000000000000..ae4ec0f06059 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTag.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "tagId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9", + "type": "Microsoft.ApiManagement/service/tags", + "name": "59306a29e4bbd510dc24e5f9", + "properties": { + "displayName": "tag1" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTemplate.json new file mode 100644 index 000000000000..89113d7d569d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTemplate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "templateName": "newIssueNotificationMessage" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/NewIssueNotificationMessage", + "type": "Microsoft.ApiManagement/service/templates", + "name": "NewIssueNotificationMessage", + "properties": { + "subject": "Your request $IssueName was received", + "body": "\r\n\r\n \r\n \r\n

Dear $DevFirstName $DevLastName,

\r\n

Thank you for contacting us. Our API team will review your issue and get back to you soon.

\r\n

\r\n Click this link to view or edit your request.\r\n

\r\n

Best,

\r\n

The $OrganizationName API Team

\r\n \r\n", + "title": "New issue received", + "description": "This email is sent to developers after they create a new topic on the Issues page of the developer portal.", + "isDefault": true, + "parameters": [ + { + "name": "DevFirstName", + "title": "Developer first name" + }, + { + "name": "DevLastName", + "title": "Developer last name" + }, + { + "name": "IssueId", + "title": "Issue id" + }, + { + "name": "IssueName", + "title": "Issue name" + }, + { + "name": "OrganizationName", + "title": "Organization name" + }, + { + "name": "DevPortalUrl", + "title": "Developer portal URL" + } + ] + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTenantAccess.json new file mode 100644 index 000000000000..c63d0a5d9f9c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTenantAccess.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "accessName": "access" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/access", + "type": "Microsoft.ApiManagement/service/tenant", + "name": "access", + "properties": { + "enabled": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTenantGitAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTenantGitAccess.json new file mode 100644 index 000000000000..096da5544d63 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTenantGitAccess.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "accessName": "gitAccess" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/gitAccess", + "type": "Microsoft.ApiManagement/service/tenant", + "name": "gitAccess", + "properties": { + "principalId": "git", + "enabled": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTenantSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTenantSettings.json new file mode 100644 index 000000000000..75e8e875f11e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTenantSettings.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "settingsType": "public" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/settings/public", + "type": "Microsoft.ApiManagement/service/settings", + "name": "public", + "properties": { + "settings": { + "CustomPortalSettings.UserRegistrationTerms": null, + "CustomPortalSettings.UserRegistrationTermsEnabled": "False", + "CustomPortalSettings.UserRegistrationTermsConsentRequired": "False", + "CustomPortalSettings.DelegationEnabled": "False", + "CustomPortalSettings.DelegationUrl": "", + "CustomPortalSettings.DelegatedSubscriptionEnabled": "False" + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetUser.json new file mode 100644 index 000000000000..d3c1603f8c48 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetUser.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "userId": "5931a75ae4bbd512a88c680b" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b", + "type": "Microsoft.ApiManagement/service/users", + "name": "5931a75ae4bbd512a88c680b", + "properties": { + "firstName": "foo", + "lastName": "bar", + "email": "foobar@outlook.com", + "state": "active", + "registrationDate": "2017-06-02T17:58:50.357Z", + "identities": [ + { + "provider": "Microsoft", + "id": "*************" + } + ] + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetUserSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetUserSubscription.json new file mode 100644 index 000000000000..1fc4673e329f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetUserSubscription.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "userId": "1", + "sid": "5fa9b096f3df14003c070001" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1/subscriptions/5fa9b096f3df14003c070001", + "type": "Microsoft.ApiManagement/service/users/subscriptions", + "name": "5fa9b096f3df14003c070001", + "properties": { + "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1", + "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/starter", + "state": "active", + "createdDate": "2020-11-09T21:11:50.58Z", + "allowTracing": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApi.json new file mode 100644 index 000000000000..3eccbc3d6335 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApi.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d1f7558aa04f15146d9d8a" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiDiagnostic.json new file mode 100644 index 000000000000..024a9ba7766e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiDiagnostic.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "diagnosticId": "applicationinsights", + "apiId": "57d1f7558aa04f15146d9d8a" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiIssue.json new file mode 100644 index 000000000000..d896fb49636a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiIssue.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3", + "issueId": "57d2ef278aa04f0ad01d6cdc" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiIssueAttachment.json new file mode 100644 index 000000000000..83a8c74fd71d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiIssueAttachment.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3", + "issueId": "57d2ef278aa04f0ad01d6cdc", + "attachmentId": "57d2ef278aa04f0888cba3f3" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiIssueComment.json new file mode 100644 index 000000000000..2cf0e99d8196 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiIssueComment.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3", + "issueId": "57d2ef278aa04f0ad01d6cdc", + "commentId": "599e29ab193c3c0bd0b3e2fb" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiOperation.json new file mode 100644 index 000000000000..1a178583b166 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiOperation.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3", + "operationId": "57d2ef278aa04f0ad01d6cdc" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiOperationPolicy.json new file mode 100644 index 000000000000..749ee58a6d64 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiOperationPolicy.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "5600b539c53f5b0062040001", + "operationId": "5600b53ac53f5b0062080006", + "policyId": "policy" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiOperationTag.json new file mode 100644 index 000000000000..139408f333ab --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiOperationTag.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "59d6bb8f1f7fab13dc67ec9b", + "operationId": "59d6bb8f1f7fab13dc67ec9a", + "tagId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "200": { + "headers": { + "Etag": "AAAAAAAACCI=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiPolicy.json new file mode 100644 index 000000000000..dd2f3dcd5647 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiPolicy.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d1f7558aa04f15146d9d8a", + "policyId": "policy" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiRelease.json new file mode 100644 index 000000000000..ab29facf8d08 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiRelease.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "a1", + "releaseId": "5a7cb545298324c53224a799" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiSchema.json new file mode 100644 index 000000000000..193bb63926e4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiSchema.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d1f7558aa04f15146d9d8a", + "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiTag.json new file mode 100644 index 000000000000..11299efdbca2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiTag.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "59d6bb8f1f7fab13dc67ec9b", + "tagId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "200": { + "headers": { + "Etag": "AAAAAAAACCI=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiTagDescription.json new file mode 100644 index 000000000000..f4f043553419 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiTagDescription.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "59d6bb8f1f7fab13dc67ec9b", + "tagDescriptionId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "200": { + "headers": { + "Etag": "AAAAAAAACCI=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiVersionSet.json new file mode 100644 index 000000000000..7a7f7c04c986 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiVersionSet.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "versionSetId": "vs1" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadAuthorizationServer.json new file mode 100644 index 000000000000..35be3ffbe42c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadAuthorizationServer.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "authsid": "newauthServer2" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadBackend.json new file mode 100644 index 000000000000..d575864b7640 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadBackend.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "backendId": "sfbackend" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadCache.json new file mode 100644 index 000000000000..2936823070c8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadCache.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "cacheId": "default" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadCertificate.json new file mode 100644 index 000000000000..773662ab2bce --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadCertificate.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "certificateId": "templateCert1" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadContentTypeContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadContentTypeContentItem.json new file mode 100644 index 000000000000..2173e9cb75ae --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadContentTypeContentItem.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "contentTypeId": "page", + "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadDelegationSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadDelegationSettings.json new file mode 100644 index 000000000000..256f89199c72 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadDelegationSettings.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadDiagnostic.json new file mode 100644 index 000000000000..31cb52161509 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadDiagnostic.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "diagnosticId": "applicationinsights" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadEmailTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadEmailTemplate.json new file mode 100644 index 000000000000..257b9df68d61 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadEmailTemplate.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "templateName": "newIssueNotificationMessage" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGateway.json new file mode 100644 index 000000000000..8767f97b6a1d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGateway.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "mygateway" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGatewayApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGatewayApi.json new file mode 100644 index 000000000000..b34b5cdde95e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGatewayApi.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1", + "apiId": "api1" + }, + "responses": { + "200": { + "headers": { + "Etag": "AAAAAAAACCI=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGatewayCertificateAuthority.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGatewayCertificateAuthority.json new file mode 100644 index 000000000000..8740e18f3679 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGatewayCertificateAuthority.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1", + "certificateId": "cert1" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGatewayHostnameConfiguration.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGatewayHostnameConfiguration.json new file mode 100644 index 000000000000..dfd69b4f9740 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGatewayHostnameConfiguration.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1", + "hcId": "default" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGroup.json new file mode 100644 index 000000000000..cb4d8054fb7f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGroup.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "groupId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGroupUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGroupUser.json new file mode 100644 index 000000000000..fe4ff4daa86e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGroupUser.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "groupId": "59306a29e4bbd510dc24e5f9", + "userId": "5931a75ae4bbd512a88c680b" + }, + "responses": { + "204": {}, + "404": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadIdentityProvider.json new file mode 100644 index 000000000000..3aedcbc247c8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadIdentityProvider.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "identityProviderName": "aadB2C" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadLogger.json new file mode 100644 index 000000000000..c6aa6de78f50 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadLogger.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "loggerId": "templateLogger" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadNamedValue.json new file mode 100644 index 000000000000..467ec07b1839 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadNamedValue.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "namedValueId": "testarmTemplateproperties2" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadNotificationRecipientEmail.json new file mode 100644 index 000000000000..fc0f7c7d971f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadNotificationRecipientEmail.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "notificationName": "RequestPublisherNotificationMessage", + "email": "contoso@live.com" + }, + "responses": { + "204": {}, + "404": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadNotificationRecipientUser.json new file mode 100644 index 000000000000..803f5575b611 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadNotificationRecipientUser.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "notificationName": "RequestPublisherNotificationMessage", + "userId": "576823d0a40f7e74ec07d642" + }, + "responses": { + "204": {}, + "404": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadOpenIdConnectProvider.json new file mode 100644 index 000000000000..45bed86af01c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadOpenIdConnectProvider.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "opid": "templateOpenIdConnect2" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadPolicy.json new file mode 100644 index 000000000000..49916cb094c3 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadPolicy.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "policyId": "policy" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadPortalRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadPortalRevision.json new file mode 100644 index 000000000000..ca2258a92948 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadPortalRevision.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "portalRevisionId": "20201112101010" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProduct.json new file mode 100644 index 000000000000..9787e88a9791 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProduct.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "unlimited" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductApi.json new file mode 100644 index 000000000000..3de00eed4b07 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductApi.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "5931a75ae4bbd512a88c680b", + "apiId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductGroup.json new file mode 100644 index 000000000000..7eae41a25b2f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductGroup.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "5931a75ae4bbd512a88c680b", + "groupId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductPolicy.json new file mode 100644 index 000000000000..b49b159e3f3e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductPolicy.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "unlimited", + "policyId": "policy" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductTag.json new file mode 100644 index 000000000000..05c95ae74ca5 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductTag.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "59306a29e4bbd510dc24e5f8", + "tagId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "200": { + "headers": { + "Etag": "AAAAAAAACCI=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadSignInSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadSignInSettings.json new file mode 100644 index 000000000000..256f89199c72 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadSignInSettings.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadSignUpSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadSignUpSettings.json new file mode 100644 index 000000000000..256f89199c72 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadSignUpSettings.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadSubscription.json new file mode 100644 index 000000000000..824e6fb09f41 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadSubscription.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "sid": "5931a769d8d14f0ad8ce13b8" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadTag.json new file mode 100644 index 000000000000..c49abab0da18 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadTag.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "tagId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "200": { + "headers": { + "Etag": "AAAAAAAACCI=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadTenantAccess.json new file mode 100644 index 000000000000..f1790d686920 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadTenantAccess.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "accessName": "access" + }, + "responses": { + "200": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadUser.json new file mode 100644 index 000000000000..ce143a052960 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadUser.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "userId": "5931a75ae4bbd512a88c680b" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementIdentityProviderListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementIdentityProviderListSecrets.json new file mode 100644 index 000000000000..578e87ba285c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementIdentityProviderListSecrets.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "identityProviderName": "aadB2C" + }, + "responses": { + "200": { + "body": { + "clientSecret": "XXXXXXX" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiDiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiDiagnostics.json new file mode 100644 index 000000000000..a61e45ecae01 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiDiagnostics.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "echo-api" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/apis/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "httpCorrelationProtocol": "Legacy", + "logClientIp": true, + "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest", + "sampling": { + "samplingType": "fixed", + "percentage": 100 + }, + "frontend": { + "request": { + "headers": [], + "body": { + "bytes": 100 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 100 + } + } + }, + "backend": { + "request": { + "headers": [], + "body": { + "bytes": 100 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 100 + } + } + } + } + } + ], + "count": 1 + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiIssueAttachments.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiIssueAttachments.json new file mode 100644 index 000000000000..cc6820a48c44 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiIssueAttachments.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d1f7558aa04f15146d9d8a", + "issueId": "57d2ef278aa04f0ad01d6cdc" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3", + "type": "Microsoft.ApiManagement/service/apis/issues/attachments", + "name": "57d2ef278aa04f0888cba3f3", + "properties": { + "title": "Issue attachment.", + "contentFormat": "link", + "content": "https://.../image.jpg" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiIssueComments.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiIssueComments.json new file mode 100644 index 000000000000..ffd93d0e2e92 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiIssueComments.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d1f7558aa04f15146d9d8a", + "issueId": "57d2ef278aa04f0ad01d6cdc" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb", + "type": "Microsoft.ApiManagement/service/apis/issues/comments", + "name": "599e29ab193c3c0bd0b3e2fb", + "properties": { + "text": "Issue comment.", + "createdDate": "2018-02-01T22:21:20.467Z", + "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiIssues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiIssues.json new file mode 100644 index 000000000000..f8d98b56b9f1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiIssues.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d1f7558aa04f15146d9d8a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc", + "type": "Microsoft.ApiManagement/service/apis/issues", + "name": "57d2ef278aa04f0ad01d6cdc", + "properties": { + "title": "New API issue", + "description": "New API issue description", + "createdDate": "2018-02-01T22:21:20.467Z", + "state": "open", + "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1", + "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperationPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperationPolicies.json new file mode 100644 index 000000000000..0c9128f61e30 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperationPolicies.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "599e2953193c3c0bd0b3e2fa", + "operationId": "599e29ab193c3c0bd0b3e2fb" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/599e2953193c3c0bd0b3e2fa/operations/599e29ab193c3c0bd0b3e2fb/policies/policy", + "type": "Microsoft.ApiManagement/service/apis/operations/policies", + "name": "policy", + "properties": { + "value": "\r\n\r\n \r\n \r\n \r\n \r\n xxx\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperationTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperationTags.json new file mode 100644 index 000000000000..5005d5aaba03 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperationTags.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3", + "operationId": "57d2ef278aa04f0888cba3f6" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002", + "type": "Microsoft.ApiManagement/service/tags", + "name": "5600b539c53f5b0062060002", + "properties": { + "displayName": "tag1" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperations.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperations.json new file mode 100644 index 000000000000..09c5d9a569f0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperations.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3", + "operationId": "57d2ef278aa04f0ad01d6cdc" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdc", + "type": "Microsoft.ApiManagement/service/apis/operations", + "name": "57d2ef278aa04f0ad01d6cdc", + "properties": { + "displayName": "CancelOrder", + "method": "POST", + "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/CancelOrder" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cda", + "type": "Microsoft.ApiManagement/service/apis/operations", + "name": "57d2ef278aa04f0ad01d6cda", + "properties": { + "displayName": "GetMostRecentOrder", + "method": "POST", + "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/GetMostRecentOrder" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cd9", + "type": "Microsoft.ApiManagement/service/apis/operations", + "name": "57d2ef278aa04f0ad01d6cd9", + "properties": { + "displayName": "GetOpenOrders", + "method": "POST", + "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/GetOpenOrders" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdb", + "type": "Microsoft.ApiManagement/service/apis/operations", + "name": "57d2ef278aa04f0ad01d6cdb", + "properties": { + "displayName": "GetOrder", + "method": "POST", + "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/GetOrder" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cd8", + "type": "Microsoft.ApiManagement/service/apis/operations", + "name": "57d2ef278aa04f0ad01d6cd8", + "properties": { + "displayName": "submitOrder", + "method": "POST", + "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/submitOrder" + } + } + ], + "count": 5, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperationsByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperationsByTags.json new file mode 100644 index 000000000000..016ba5cb7a58 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperationsByTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "a1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "tag": { + "id": "/tags/apitag123", + "name": "awesomeTag" + }, + "operation": { + "id": "/apis/echo-api/operations/create-resource", + "apiName": "Echo API", + "apiRevision": "1", + "name": "Create resource", + "method": "POST", + "urlTemplate": "/resource", + "description": "A demonstration of a POST call based on the echo backend above. The request body is expected to contain JSON-formatted data (see example below). A policy is used to automatically transform any request sent in JSON directly to XML. In a real-world scenario this could be used to enable modern clients to speak to a legacy backend." + } + } + ], + "count": 1 + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiPolicies.json new file mode 100644 index 000000000000..886dca100ad8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiPolicies.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "5600b59475ff190048040001" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b59475ff190048040001/policies/policy", + "type": "Microsoft.ApiManagement/service/apis/policies", + "name": "policy", + "properties": { + "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n@{\r\n\tRandom Random = new Random();\r\n\t\t\t\tconst string Chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \"; \r\n return string.Join(\",\", DateTime.UtcNow, new string(\r\n Enumerable.Repeat(Chars, Random.Next(2150400))\r\n .Select(s => s[Random.Next(s.Length)])\r\n .ToArray()));\r\n } \r\n \r\n \r\n \r\n" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiProducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiProducts.json new file mode 100644 index 000000000000..22b82e401949 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiProducts.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b539c53f5b0062060002", + "type": "Microsoft.ApiManagement/service/apis/products", + "name": "5600b539c53f5b0062060002", + "properties": { + "displayName": "Unlimited", + "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.", + "subscriptionRequired": true, + "approvalRequired": true, + "subscriptionsLimit": 1, + "state": "published" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiReleases.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiReleases.json new file mode 100644 index 000000000000..a9fec7c5d608 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiReleases.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "a1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/5a7cb545298324c53224a799", + "type": "Microsoft.ApiManagement/service/apis/releases", + "name": "5a7cb545298324c53224a799", + "properties": { + "createdDateTime": "2018-02-08T20:38:29.173Z", + "updatedDateTime": "2018-02-08T20:38:29.173Z", + "notes": "yahoo" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiRevisions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiRevisions.json new file mode 100644 index 000000000000..44210b3e2103 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiRevisions.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1;rev=1", + "apiRevision": "1", + "createdDateTime": "2018-02-01T22:21:20.467Z", + "updatedDateTime": "2018-02-01T22:21:20.467Z", + "isOnline": true, + "isCurrent": true + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiSchemas.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiSchemas.json new file mode 100644 index 000000000000..9078da76fb4b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiSchemas.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "59d5b28d1f7fab116c282650" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d5b28d1f7fab116c282650/schemas/59d5b28e1f7fab116402044e", + "type": "Microsoft.ApiManagement/service/apis/schemas", + "name": "59d5b28e1f7fab116402044e", + "properties": { + "contentType": "application/vnd.ms-azure-apim.swagger.definitions+json" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiTagDescriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiTagDescriptions.json new file mode 100644 index 000000000000..7816ef260417 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiTagDescriptions.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tagDescriptions/5600b539c53f5b0062060002", + "type": "Microsoft.ApiManagement/service/tags", + "name": "5600b539c53f5b0062060002", + "properties": { + "tagId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002", + "displayName": "tag1", + "externalDocsDescription": "some additional info", + "externalDocsUrl": "http://some_url.com" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiTags.json new file mode 100644 index 000000000000..f6ce780b3577 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiTags.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002", + "type": "Microsoft.ApiManagement/service/tags", + "name": "5600b539c53f5b0062060002", + "properties": { + "displayName": "tag1" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiVersionSets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiVersionSets.json new file mode 100644 index 000000000000..7a3255be04ba --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiVersionSets.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/vs1", + "type": "Microsoft.ApiManagement/service/api-version-sets", + "name": "vs1", + "properties": { + "displayName": "api set 1", + "versioningScheme": "Segment", + "description": "Version configuration" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/vs2", + "type": "Microsoft.ApiManagement/service/api-version-sets", + "name": "vs2", + "properties": { + "displayName": "api set 2", + "versioningScheme": "Query", + "description": "Version configuration 2" + } + } + ], + "count": 2, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApis.json new file mode 100644 index 000000000000..4597120fa817 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApis.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1", + "type": "Microsoft.ApiManagement/service/apis", + "name": "a1", + "properties": { + "displayName": "api1", + "apiRevision": "1", + "serviceUrl": "http://echoapi.cloudapp.net/api", + "path": "api1", + "protocols": [ + "https" + ], + "isCurrent": true, + "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/c48f96c9-1385-4e2d-b410-5ab591ce0fc4" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5a73933b8f27f7cc82a2d533", + "type": "Microsoft.ApiManagement/service/apis", + "name": "5a73933b8f27f7cc82a2d533", + "properties": { + "displayName": "api1", + "apiRevision": "1", + "serviceUrl": "http://echoapi.cloudapp.net/api", + "path": "api1", + "protocols": [ + "https" + ], + "isCurrent": true, + "apiVersion": "v1", + "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/c48f96c9-1385-4e2d-b410-5ab591ce0fc4" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api", + "type": "Microsoft.ApiManagement/service/apis", + "name": "echo-api", + "properties": { + "displayName": "Echo API", + "apiRevision": "1", + "serviceUrl": "http://echoapi.cloudapp.net/api", + "path": "echo", + "protocols": [ + "https" + ], + "isCurrent": true + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5a7390baa5816a110435aee0", + "type": "Microsoft.ApiManagement/service/apis", + "name": "5a7390baa5816a110435aee0", + "properties": { + "displayName": "Swagger Petstore Extensive", + "apiRevision": "1", + "description": "A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification", + "serviceUrl": "http://petstore.swagger.wordnik.com/api", + "path": "vvv", + "protocols": [ + "https" + ], + "isCurrent": true + } + } + ], + "count": 4, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApisByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApisByTags.json new file mode 100644 index 000000000000..cee177437aa0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApisByTags.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "tag": { + "id": "/tags/apitag123", + "name": "awesomeTag" + }, + "api": { + "id": "/apis/echo-api", + "name": "Echo API", + "apiRevision": "1", + "serviceUrl": "http://echoapi.cloudapp.net/api", + "path": "echo", + "isCurrent": true + } + } + ], + "count": 1 + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListAuthorizationServers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListAuthorizationServers.json new file mode 100644 index 000000000000..fe74c97e39ad --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListAuthorizationServers.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer", + "type": "Microsoft.ApiManagement/service/authorizationServers", + "name": "newauthServer", + "properties": { + "displayName": "test2", + "description": "test server", + "clientRegistrationEndpoint": "https://www.contoso.com/apps", + "authorizationEndpoint": "https://www.contoso.com/oauth2/auth", + "authorizationMethods": [ + "GET" + ], + "tokenEndpoint": "https://www.contoso.com/oauth2/token", + "supportState": true, + "defaultScope": "read write", + "grantTypes": [ + "authorizationCode", + "implicit" + ], + "bearerTokenSendingMethods": [ + "authorizationHeader" + ], + "clientId": "1", + "resourceOwnerUsername": "un", + "resourceOwnerPassword": "pwd" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer2", + "type": "Microsoft.ApiManagement/service/authorizationServers", + "name": "newauthServer2", + "properties": { + "displayName": "test3", + "description": "test server", + "clientRegistrationEndpoint": "https://www.contoso.com/apps", + "authorizationEndpoint": "https://www.contoso.com/oauth2/auth", + "authorizationMethods": [ + "GET" + ], + "clientAuthenticationMethod": [ + "Basic" + ], + "tokenEndpoint": "https://www.contoso.com/oauth2/token", + "supportState": true, + "defaultScope": "read write", + "grantTypes": [ + "authorizationCode", + "implicit" + ], + "bearerTokenSendingMethods": [ + "authorizationHeader" + ], + "clientId": "1", + "resourceOwnerUsername": "un", + "resourceOwnerPassword": "pwd" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListBackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListBackends.json new file mode 100644 index 000000000000..bb726fa31b1b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListBackends.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/proxybackend", + "type": "Microsoft.ApiManagement/service/backends", + "name": "proxybackend", + "properties": { + "description": "description5308", + "url": "https://backendname2644/", + "protocol": "http", + "credentials": { + "query": { + "sv": [ + "xx", + "bb", + "cc" + ] + }, + "header": { + "x-my-1": [ + "val1", + "val2" + ] + }, + "authorization": { + "scheme": "Basic", + "parameter": "opensesma" + } + }, + "proxy": { + "url": "http://192.168.1.1:8080", + "username": "Contoso\\admin", + "password": "" + }, + "tls": { + "validateCertificateChain": false, + "validateCertificateName": false + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/sfbackend", + "type": "Microsoft.ApiManagement/service/backends", + "name": "sfbackend", + "properties": { + "description": "Service Fabric Test App 1", + "url": "fabric:/mytestapp/mytestservice", + "protocol": "http", + "properties": { + "serviceFabricCluster": { + "managementEndpoints": [ + "https://somecluster.com" + ], + "clientCertificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1", + "serverX509Names": [ + { + "name": "ServerCommonName1", + "issuerCertificateThumbprint": "IssuerCertificateThumbprint1" + } + ], + "maxPartitionResolutionRetries": 5 + } + } + } + } + ], + "count": 2, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListCaches.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListCaches.json new file mode 100644 index 000000000000..e26ec62759de --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListCaches.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/c1", + "type": "Microsoft.ApiManagement/service/caches", + "name": "c1", + "properties": { + "useFromLocation": "default", + "description": "Redis cache instances in West India", + "connectionString": "{{5f7fbca77a891a2200f3db38}}", + "resourceId": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1" + } + } + ], + "count": 1 + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListCertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListCertificates.json new file mode 100644 index 000000000000..e64ce1d7a6f7 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListCertificates.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/kjoshiarmtemplateCert1", + "type": "Microsoft.ApiManagement/service/certificates", + "name": "templateCert1", + "properties": { + "subject": "CN=mutual-authcert", + "thumbprint": "EBA************************48594A6", + "expirationDate": "2017-04-23T17:03:41Z" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv", + "type": "Microsoft.ApiManagement/service/certificates", + "name": "templateCertkv", + "properties": { + "subject": "CN=*.msitesting.net", + "thumbprint": "EA**********************9AD690", + "expirationDate": "2037-01-01T07:00:00Z", + "keyVault": { + "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert", + "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0", + "lastStatus": { + "code": "Success", + "timeStampUtc": "2020-09-22T00:24:53.3191468Z" + } + } + } + } + ], + "count": 2, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListContentTypeContentItems.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListContentTypeContentItems.json new file mode 100644 index 000000000000..10eb340ac4f5 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListContentTypeContentItems.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "contentTypeId": "page" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "type": "Microsoft.ApiManagement/service/contentTypes/contentItems", + "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "properties": { + "en_us": { + "title": "About", + "description": "Short story about the company.", + "keywords": "company, about", + "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "permalink": "/about" + } + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListContentTypes.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListContentTypes.json new file mode 100644 index 000000000000..72c21e989307 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListContentTypes.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/contentTypes/page", + "type": "Microsoft.ApiManagement/service/contentTypes", + "name": "page", + "properties": { + "name": "Page", + "description": "A regular page", + "schema": { + "properties": { + "en_us": { + "type": "object", + "properties": { + "title": { + "title": "Title", + "description": "Page title. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "description": { + "title": "Description", + "description": "Page description. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "keywords": { + "title": "Keywords", + "description": "Page keywords. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "permalink": { + "title": "Permalink", + "description": "Page permalink, e.g. '/about'.", + "type": "string", + "indexed": true + }, + "documentId": { + "title": "Document ID", + "description": "Reference to page content document.", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "title", + "permalink", + "documentId" + ] + } + }, + "additionalProperties": false + }, + "version": "1.0.0" + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListDiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListDiagnostics.json new file mode 100644 index 000000000000..a318ddc3198c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListDiagnostics.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "httpCorrelationProtocol": "Legacy", + "verbosity": "information", + "logClientIp": true, + "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest", + "sampling": { + "samplingType": "fixed", + "percentage": 100 + }, + "frontend": { + "request": { + "headers": [], + "body": { + "bytes": 0 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 0 + } + } + }, + "backend": { + "request": { + "headers": [], + "body": { + "bytes": 0 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 0 + } + } + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/azuremonitor", + "type": "Microsoft.ApiManagement/service/diagnostics", + "name": "azuremonitor", + "properties": { + "logClientIp": true, + "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/azuremonitor", + "sampling": { + "samplingType": "fixed", + "percentage": 100 + } + } + } + ], + "count": 1 + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGatewayApis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGatewayApis.json new file mode 100644 index 000000000000..6e21a62d688b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGatewayApis.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/apis/57681820a40f7eb6c49f6aca", + "type": "Microsoft.ApiManagement/service/gateways/apis", + "name": "57681820a40f7eb6c49f6aca", + "properties": { + "displayName": "api_57681820a40f7eb6c49f6acb", + "apiRevision": "1", + "description": "description_57681820a40f7eb6c49f6acc", + "serviceUrl": "http://contoso/57681820a40f7eb6c49f6acd", + "path": "suffix_57681820a40f7eb6c49f6ace", + "protocols": [ + "https" + ], + "isCurrent": true + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGatewayCertificateAuthorities.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGatewayCertificateAuthorities.json new file mode 100644 index 000000000000..b8c5168d6134 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGatewayCertificateAuthorities.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/certificateAuthorities/cert1", + "type": "Microsoft.ApiManagement/service/gateways/certificateAuthorities", + "name": "cert1", + "properties": { + "isTrusted": false + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/certificateAuthorities/cert2", + "type": "Microsoft.ApiManagement/service/gateways/certificateAuthorities", + "name": "cert2", + "properties": { + "isTrusted": true + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGatewayHostnameConfigurations.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGatewayHostnameConfigurations.json new file mode 100644 index 000000000000..7abbd3f51e65 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGatewayHostnameConfigurations.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/hostnameConfigurations/default", + "type": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations", + "name": "default", + "properties": { + "hostname": "*", + "certificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1", + "negotiateClientCertificate": false + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/hostnameConfigurations/hostname1", + "type": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations", + "name": "default", + "properties": { + "hostname": "foo.bar.com", + "certificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert2", + "negotiateClientCertificate": true + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGateways.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGateways.json new file mode 100644 index 000000000000..d85c8f66f760 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGateways.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1", + "type": "Microsoft.ApiManagement/service/gateways", + "name": "a1", + "properties": { + "description": "my gateway 1", + "locationData": { + "name": "my location 1" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw2", + "type": "Microsoft.ApiManagement/service/gateways", + "name": "5a73933b8f27f7cc82a2d533", + "properties": { + "description": "my gateway 2", + "locationData": { + "name": "my location 2" + } + } + } + ], + "count": 2, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGroupUsers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGroupUsers.json new file mode 100644 index 000000000000..81dab98e2446 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGroupUsers.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "groupId": "57d2ef278aa04f0888cba3f3" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/kjoshiarmTemplateUser1", + "type": "Microsoft.ApiManagement/service/groups/users", + "name": "armTemplateUser1", + "properties": { + "firstName": "user1", + "lastName": "lastname1", + "email": "user1@live.com", + "state": "active", + "registrationDate": "2017-05-31T18:54:41.447Z", + "note": "note for user 1", + "identities": [ + { + "provider": "Basic", + "id": "user1@live.com" + } + ] + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGroups.json new file mode 100644 index 000000000000..96cebe8dcaf2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGroups.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/5600b59375ff190048020001", + "type": "Microsoft.ApiManagement/service/groups", + "name": "5600b59375ff190048020001", + "properties": { + "displayName": "Administrators", + "description": "Administrators is a built-in group. Its membership is managed by the system. Microsoft Azure subscription administrators fall into this group.", + "builtIn": true, + "type": "system" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/59306a29e4bbd510dc24e5f9", + "type": "Microsoft.ApiManagement/service/groups", + "name": "59306a29e4bbd510dc24e5f9", + "properties": { + "displayName": "AwesomeGroup (samiraad.onmicrosoft.com)", + "description": "awesome group of people", + "builtIn": false, + "type": "external", + "externalId": "aad://samiraad.onmicrosoft.com/groups/3773adf4-032e-4d25-9988-eaff9ca72eca" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/5600b59375ff190048020002", + "type": "Microsoft.ApiManagement/service/groups", + "name": "5600b59375ff190048020002", + "properties": { + "displayName": "Developers", + "description": "Developers is a built-in group. Its membership is managed by the system. Signed-in users fall into this group.", + "builtIn": true, + "type": "system" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/5600b59375ff190048020003", + "type": "Microsoft.ApiManagement/service/groups", + "name": "5600b59375ff190048020003", + "properties": { + "displayName": "Guests", + "description": "Guests is a built-in group. Its membership is managed by the system. Unauthenticated users visiting the developer portal fall into this group.", + "builtIn": true, + "type": "system" + } + } + ], + "count": 4, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListIdentityProviders.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListIdentityProviders.json new file mode 100644 index 000000000000..6e8a4e91582f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListIdentityProviders.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/Google", + "type": "Microsoft.ApiManagement/service/identityProviders", + "name": "Google", + "properties": { + "clientId": "googleId", + "type": "google" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/Aad", + "type": "Microsoft.ApiManagement/service/identityProviders", + "name": "Aad", + "properties": { + "clientId": "aadapplicationid", + "type": "aad", + "allowedTenants": [ + "samiraad.onmicrosoft.com" + ] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/AadB2C", + "type": "Microsoft.ApiManagement/service/identityProviders", + "name": "AadB2C", + "properties": { + "clientId": "aadb2clientId", + "type": "aadB2C", + "allowedTenants": [ + "samirtestbc.onmicrosoft.com" + ], + "signupPolicyName": "B2C_1_Signup_Default", + "signinPolicyName": "B2C_1_Signin_Default" + } + } + ], + "count": 3, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListIssues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListIssues.json new file mode 100644 index 000000000000..f449935d2154 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListIssues.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/issues/57d2ef278aa04f0ad01d6cdc", + "type": "Microsoft.ApiManagement/service/issues", + "name": "57d2ef278aa04f0ad01d6cdc", + "properties": { + "title": "New API issue", + "description": "New API issue description", + "createdDate": "2018-02-01T22:21:20.467Z", + "state": "open", + "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1", + "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListLoggers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListLoggers.json new file mode 100644 index 000000000000..cbe27f21761d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListLoggers.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/azuremonitor", + "type": "Microsoft.ApiManagement/service/loggers", + "name": "azuremonitor", + "properties": { + "loggerType": "azureMonitor", + "isBuffered": true + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/vvktest", + "type": "Microsoft.ApiManagement/service/loggers", + "name": "vvktest", + "properties": { + "loggerType": "applicationInsights", + "credentials": { + "instrumentationKey": "{{Logger-Credentials-5b1a17ef2b3f91153004b10d}}" + }, + "isBuffered": true + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/applicationinsights", + "type": "Microsoft.ApiManagement/service/loggers", + "name": "applicationinsights", + "properties": { + "loggerType": "applicationInsights", + "description": "miaoappinsight", + "credentials": { + "instrumentationKey": "{{Logger-Credentials-5b2056062b3f911ae84a3069}}" + }, + "isBuffered": true + } + } + ], + "count": 3, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNamedValues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNamedValues.json new file mode 100644 index 000000000000..61f52260cbf5 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNamedValues.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/592f1174cc83890dc4f32686", + "type": "Microsoft.ApiManagement/service/namedValues", + "name": "592f1174cc83890dc4f32686", + "properties": { + "displayName": "Logger-Credentials-592f1174cc83890dc4f32687", + "value": "propValue", + "secret": false + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6", + "type": "Microsoft.ApiManagement/service/namedValues", + "name": "testprop6", + "properties": { + "displayName": "prop6namekv", + "keyVault": { + "secretIdentifier": "https://contoso.vault.azure.net/secrets/aadSecret", + "identityClientId": "2d2df842-44d8-4885-8dec-77cc1a984a31", + "lastStatus": { + "code": "Success", + "timeStampUtc": "2020-09-11T00:54:31.8024882Z" + } + }, + "tags": [ + "foo", + "bar" + ], + "secret": true + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNotificationRecipientEmails.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNotificationRecipientEmails.json new file mode 100644 index 000000000000..d5dbd436ac14 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNotificationRecipientEmails.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "notificationName": "RequestPublisherNotificationMessage" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com", + "type": "Microsoft.ApiManagement/service/notifications/recipientEmails", + "name": "contoso@live.com", + "properties": { + "email": "contoso@live.com" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar!live", + "type": "Microsoft.ApiManagement/service/notifications/recipientEmails", + "name": "foobar!live", + "properties": { + "email": "foobar!live" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com", + "type": "Microsoft.ApiManagement/service/notifications/recipientEmails", + "name": "foobar@live.com", + "properties": { + "email": "foobar@live.com" + } + } + ], + "count": 3, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNotificationRecipientUsers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNotificationRecipientUsers.json new file mode 100644 index 000000000000..52c40348e731 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNotificationRecipientUsers.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "notificationName": "RequestPublisherNotificationMessage" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientUsers/576823d0a40f7e74ec07d642", + "type": "Microsoft.ApiManagement/service/notifications/recipientUsers", + "name": "576823d0a40f7e74ec07d642", + "properties": { + "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNotifications.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNotifications.json new file mode 100644 index 000000000000..1bb971a0ab0f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNotifications.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage", + "type": "Microsoft.ApiManagement/service/notifications", + "name": "RequestPublisherNotificationMessage", + "properties": { + "title": "Subscription requests (requiring approval)", + "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval.", + "recipients": { + "emails": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar!live", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com" + ], + "users": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642" + ] + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/PurchasePublisherNotificationMessage", + "type": "Microsoft.ApiManagement/service/notifications", + "name": "PurchasePublisherNotificationMessage", + "properties": { + "title": "New subscriptions", + "description": "The following email recipients and users will receive email notifications about new API product subscriptions.", + "recipients": { + "emails": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com" + ], + "users": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1" + ] + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/NewApplicationNotificationMessage", + "type": "Microsoft.ApiManagement/service/notifications", + "name": "NewApplicationNotificationMessage", + "properties": { + "title": "Application gallery requests", + "description": "The following email recipients and users will receive email notifications when new applications are submitted to the application gallery.", + "recipients": { + "emails": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com" + ], + "users": [] + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/BCC", + "type": "Microsoft.ApiManagement/service/notifications", + "name": "BCC", + "properties": { + "title": "BCC", + "description": "The following recipients will receive blind carbon copies of all emails sent to developers.", + "recipients": { + "emails": [], + "users": [] + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/NewIssuePublisherNotificationMessage", + "type": "Microsoft.ApiManagement/service/notifications", + "name": "NewIssuePublisherNotificationMessage", + "properties": { + "title": "New issue or comment", + "description": "The following email recipients and users will receive email notifications when a new issue or comment is submitted on the developer portal.", + "recipients": { + "emails": [], + "users": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1" + ] + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/AccountClosedPublisher", + "type": "Microsoft.ApiManagement/service/notifications", + "name": "AccountClosedPublisher", + "properties": { + "title": "Close account message", + "description": "The following email recipients and users will receive email notifications when developer closes his account", + "recipients": { + "emails": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com" + ], + "users": [] + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/QuotaLimitApproachingPublisherNotificationMessage", + "type": "Microsoft.ApiManagement/service/notifications", + "name": "QuotaLimitApproachingPublisherNotificationMessage", + "properties": { + "title": "Approaching subscription quota limit", + "description": "The following email recipients and users will receive email notifications when subscription usage gets close to usage quota.", + "recipients": { + "emails": [], + "users": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1" + ] + } + } + } + ], + "count": 7, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListOpenIdConnectProviders.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListOpenIdConnectProviders.json new file mode 100644 index 000000000000..857222b710a8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListOpenIdConnectProviders.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/openidConnectProviders/templateOpenIdConnect2", + "type": "Microsoft.ApiManagement/service/openidconnectproviders", + "name": "templateOpenIdConnect2", + "properties": { + "displayName": "templateoidprovider2", + "description": "open id provider template2", + "metadataEndpoint": "https://oidprovider-template2.net", + "clientId": "oidprovidertemplate2" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListOperations.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListOperations.json new file mode 100644 index 000000000000..df8ab578e4e0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListOperations.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2021-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ApiManagement/service/write", + "display": { + "provider": "Microsoft API Management", + "resource": "Service", + "operation": "Create a new instance of API Management Service", + "description": "Create a new instance of API Management Service" + } + }, + { + "name": "Microsoft.ApiManagement/service/read", + "display": { + "provider": "Microsoft API Management", + "resource": "Service", + "operation": "Read metadata for an API Management Service instance", + "description": "Read metadata for an API Management Service instance" + } + }, + { + "name": "Microsoft.ApiManagement/service/delete", + "display": { + "provider": "Microsoft API Management", + "resource": "Service", + "operation": "Delete API Management Service instance", + "description": "Delete API Management Service instance" + } + }, + { + "origin": "system", + "name": "Microsoft.ApiManagement/service/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft API Management", + "resource": "Service", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for API Management service" + } + }, + { + "name": "Microsoft.ApiManagement/service/tenant/operationResults/read", + "display": { + "provider": "Microsoft API Management", + "resource": "Results of async operations", + "operation": "Get operation results or Get operation result", + "description": "Get list of operation results or Get result of a specific operation" + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPolicies.json new file mode 100644 index 000000000000..fbb746d320a4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPolicies.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy", + "type": "Microsoft.ApiManagement/service/policies", + "name": "policy", + "properties": { + "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPolicyDescriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPolicyDescriptions.json new file mode 100644 index 000000000000..b99e4be6b0af --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPolicyDescriptions.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "scope": "Api" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policyDescriptions/authentication-basic", + "type": "Microsoft.ApiManagement/service/policyDescriptions", + "name": "authentication-basic", + "properties": { + "description": "Authenticate with the backend service using Basic authentication. Use in the inbound section at API scope.", + "scope": 268435471 + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policyDescriptions/authentication-certificate", + "type": "Microsoft.ApiManagement/service/policyDescriptions", + "name": "authentication-certificate", + "properties": { + "description": "Authenticate with the backend service using a client certificate. Use in the inbound section at API scope.", + "scope": 268435471 + } + } + ], + "count": 2 + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPortalRevisions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPortalRevisions.json new file mode 100644 index 000000000000..d39a9a7c0224 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPortalRevisions.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112000000", + "type": "Microsoft.ApiManagement/service/portalRevisions", + "name": "20201112000000", + "properties": { + "description": "portal revision", + "statusDetails": null, + "status": "completed", + "isCurrent": false, + "createdDateTime": "2020-11-12T22:10:09.673Z", + "updatedDateTime": "2020-11-12T22:12:41.46Z" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112101010", + "type": "Microsoft.ApiManagement/service/portalRevisions", + "name": "20201112101010", + "properties": { + "description": "portal revision 1", + "statusDetails": null, + "status": "completed", + "isCurrent": true, + "createdDateTime": "2020-11-12T22:51:36.47Z", + "updatedDateTime": "2020-11-12T22:52:00.097Z" + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPortalSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPortalSettings.json new file mode 100644 index 000000000000..4579dc60b81d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPortalSettings.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/delegation", + "type": "Microsoft.ApiManagement/service/portalsettings", + "name": "delegation", + "properties": { + "subscriptions": { + "enabled": false + }, + "userRegistration": { + "enabled": false + }, + "enabled": false + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signin", + "type": "Microsoft.ApiManagement/service/portalsettings", + "name": "signin", + "properties": { + "enabled": false + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signup", + "type": "Microsoft.ApiManagement/service/portalsettings", + "name": "signup", + "properties": { + "enabled": true, + "termsOfService": { + "text": "Terms of service", + "enabled": false, + "consentRequired": false + } + } + } + ], + "count": 3 + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPrivateEndpointConnections.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPrivateEndpointConnections.json new file mode 100644 index 000000000000..75219a8caade --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPrivateEndpointConnections.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateEndpointConnections/connectionName", + "type": "Microsoft.ApiManagement/service/privateEndpointConnections", + "name": "privateEndpointProxyName", + "properties": { + "provisioningState": "Pending", + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/privateEndpointName" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request, thanks", + "actionsRequired": "None" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateEndpointConnections/privateEndpointProxyName2", + "type": "Microsoft.ApiManagement/service/privateEndpointConnections", + "name": "privateEndpointProxyName2", + "properties": { + "provisioningState": "Pending", + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/privateEndpointName2" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request, thanks", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPrivateLinkGroupResources.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPrivateLinkGroupResources.json new file mode 100644 index 000000000000..3aceaf90f2da --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPrivateLinkGroupResources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateLinkResources/Gateway", + "name": "Gateway", + "type": "Microsoft.ApiManagement/service/privateLinkResources", + "properties": { + "groupId": "Gateway", + "requiredMembers": [ + "Gateway_west_us" + ], + "requiredZoneNames": [ + "privateLink.azure.api.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductApis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductApis.json new file mode 100644 index 000000000000..78b834607fa6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductApis.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "5768181ea40f7eb6c49f6ac7" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5768181ea40f7eb6c49f6ac7/apis/57681820a40f7eb6c49f6aca", + "type": "Microsoft.ApiManagement/service/products/apis", + "name": "57681820a40f7eb6c49f6aca", + "properties": { + "displayName": "api_57681820a40f7eb6c49f6acb", + "apiRevision": "1", + "description": "description_57681820a40f7eb6c49f6acc", + "serviceUrl": "http://contoso/57681820a40f7eb6c49f6acd", + "path": "suffix_57681820a40f7eb6c49f6ace", + "protocols": [ + "https" + ], + "isCurrent": true + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductGroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductGroups.json new file mode 100644 index 000000000000..9e51712220dc --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductGroups.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "5600b57e7e8880006a060002" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002/groups/5600b57e7e8880006a020001", + "type": "Microsoft.ApiManagement/service/products/groups", + "name": "5600b57e7e8880006a020001", + "properties": { + "displayName": "Administrators", + "description": "Administrators is a built-in group. Its membership is managed by the system. Microsoft Azure subscription administrators fall into this group.", + "builtIn": true, + "type": "system" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002/groups/5600b57e7e8880006a020002", + "type": "Microsoft.ApiManagement/service/products/groups", + "name": "5600b57e7e8880006a020002", + "properties": { + "displayName": "Developers", + "description": "Developers is a built-in group. Its membership is managed by the system. Signed-in users fall into this group.", + "builtIn": true, + "type": "system" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002/groups/5600b57e7e8880006a020003", + "type": "Microsoft.ApiManagement/service/products/groups", + "name": "5600b57e7e8880006a020003", + "properties": { + "displayName": "Guests", + "description": "Guests is a built-in group. Its membership is managed by the system. Unauthenticated users visiting the developer portal fall into this group.", + "builtIn": true, + "type": "system" + } + } + ], + "count": 3, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductPolicies.json new file mode 100644 index 000000000000..5b73c8717139 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductPolicies.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "armTemplateProduct4" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/armTemplateProduct4/policies/policy", + "type": "Microsoft.ApiManagement/service/products/policies", + "name": "policy", + "properties": { + "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductSubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductSubscriptions.json new file mode 100644 index 000000000000..2dd659bc36f6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductSubscriptions.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "5600b57e7e8880006a060002" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002/subscriptions/5600b57e7e8880006a070002", + "type": "Microsoft.ApiManagement/service/products/subscriptions", + "name": "5600b57e7e8880006a070002", + "properties": { + "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1", + "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002", + "state": "active", + "createdDate": "2015-09-22T01:57:18.723Z" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductTags.json new file mode 100644 index 000000000000..eaa89392e4c4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductTags.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "57d2ef278aa04f0888cba3f1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002", + "type": "Microsoft.ApiManagement/service/tags", + "name": "5600b539c53f5b0062060002", + "properties": { + "displayName": "tag1" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProducts.json new file mode 100644 index 000000000000..b1e4b5b8c745 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProducts.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/kjoshiarmtemplateCert1", + "type": "Microsoft.ApiManagement/service/products", + "name": "kjoshiarmtemplateCert1", + "properties": { + "displayName": "Dev", + "description": "Development Product", + "subscriptionRequired": false, + "state": "published" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/starter", + "type": "Microsoft.ApiManagement/service/products", + "name": "starter", + "properties": { + "displayName": "Starter", + "description": "Subscribers will be able to run 5 calls/minute up to a maximum of 100 calls/week.", + "terms": "", + "subscriptionRequired": true, + "approvalRequired": false, + "subscriptionsLimit": 1, + "state": "published" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/unlimited", + "type": "Microsoft.ApiManagement/service/products", + "name": "unlimited", + "properties": { + "displayName": "Unlimited", + "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.", + "subscriptionRequired": true, + "approvalRequired": true, + "subscriptionsLimit": 1, + "state": "published" + } + } + ], + "count": 3, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductsByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductsByTags.json new file mode 100644 index 000000000000..bc5033838eba --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductsByTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "tag": { + "id": "/tags/apitag123", + "name": "awesomeTag" + }, + "product": { + "id": "/products/starter", + "name": "Starter", + "description": "Subscribers will be able to run 5 calls/minute up to a maximum of 100 calls/week.", + "terms": "", + "subscriptionRequired": true, + "approvalRequired": false, + "subscriptionsLimit": 1, + "state": "published" + } + } + ], + "count": 1 + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListRegions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListRegions.json new file mode 100644 index 000000000000..5edf679ee859 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListRegions.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "West US", + "isMasterRegion": true, + "isDeleted": false + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSKUs-Consumption.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSKUs-Consumption.json new file mode 100644 index 000000000000..dc83e6423214 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSKUs-Consumption.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.ApiManagement/service", + "sku": { + "name": "Consumption" + }, + "capacity": null + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSKUs-Dedicated.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSKUs-Dedicated.json new file mode 100644 index 000000000000..d0ce55fd4c08 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSKUs-Dedicated.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.ApiManagement/service", + "sku": { + "name": "Developer" + }, + "capacity": { + "minimum": 1, + "maximum": 1, + "default": 1, + "scaleType": "none" + } + }, + { + "resourceType": "Microsoft.ApiManagement/service", + "sku": { + "name": "Basic" + }, + "capacity": { + "minimum": 1, + "maximum": 2, + "default": 1, + "scaleType": "manual" + } + }, + { + "resourceType": "Microsoft.ApiManagement/service", + "sku": { + "name": "Standard" + }, + "capacity": { + "minimum": 1, + "maximum": 4, + "default": 1, + "scaleType": "automatic" + } + }, + { + "resourceType": "Microsoft.ApiManagement/service", + "sku": { + "name": "Premium" + }, + "capacity": { + "minimum": 1, + "maximum": 10, + "default": 1, + "scaleType": "automatic" + } + }, + { + "resourceType": "Microsoft.ApiManagement/service", + "sku": { + "name": "Isolated" + }, + "capacity": { + "minimum": 1, + "maximum": 1, + "default": 1, + "scaleType": "automatic" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSecretsPortalSettingsValidationKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSecretsPortalSettingsValidationKey.json new file mode 100644 index 000000000000..e044a5c77b00 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSecretsPortalSettingsValidationKey.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "validationKey": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSecretsTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSecretsTenantAccess.json new file mode 100644 index 000000000000..3f66090062b8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSecretsTenantAccess.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "accessName": "access" + }, + "responses": { + "200": { + "body": { + "id": "5600b59375ff190048030003", + "primaryKey": "", + "secondaryKey": "", + "enabled": true + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListServiceBySubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListServiceBySubscription.json new file mode 100644 index 000000000000..c0c4ae21d82b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListServiceBySubscription.json @@ -0,0 +1,355 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/OGF-Z3-06162021-Premium", + "name": "OGF-Z3-06162021-Premium", + "type": "Microsoft.ApiManagement/service", + "tags": { + "owner": "v-aswmoh", + "ReleaseName": "Z3" + }, + "location": "East US", + "etag": "AAAAAAAWN/4=", + "properties": { + "publisherEmail": "bar@contoso.com", + "publisherName": "Test Premium", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2021-06-16T09:40:00.9453556Z", + "gatewayUrl": "https://ogf-z3-06162021-premium.azure-api.net", + "gatewayRegionalUrl": "https://ogf-z3-06162021-premium-eastus-01.regional.azure-api.net", + "portalUrl": "https://ogf-z3-06162021-premium.portal.azure-api.net", + "developerPortalUrl": "https://ogf-z3-06162021-premium.developer.azure-api.net", + "managementApiUrl": "https://ogf-z3-06162021-premium.management.azure-api.net", + "scmUrl": "https://ogf-z3-06162021-premium.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "ogf-z3-06162021-premium.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": false, + "certificateSource": "BuiltIn" + }, + { + "type": "Proxy", + "hostName": "gateway.current.int-azure-api.net", + "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl", + "negotiateClientCertificate": true, + "certificate": { + "expiry": "2022-01-08T22:32:32+00:00", + "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51", + "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US" + }, + "defaultSslBinding": true, + "certificateSource": "Custom" + }, + { + "type": "DeveloperPortal", + "hostName": "developer.current.int-azure-api.net", + "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2022-01-08T22:32:32+00:00", + "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51", + "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US" + }, + "defaultSslBinding": false, + "certificateSource": "Custom" + }, + { + "type": "Management", + "hostName": "mgmt.current.int-azure-api.net", + "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2022-01-08T22:32:32+00:00", + "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51", + "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US" + }, + "defaultSslBinding": false, + "certificateSource": "Custom" + } + ], + "publicIPAddresses": [ + "13.92.130.49" + ], + "additionalLocations": [ + { + "location": "East US 2", + "sku": { + "name": "Premium", + "capacity": 1 + }, + "zones": [], + "publicIPAddresses": [ + "40.70.24.106" + ], + "gatewayRegionalUrl": "https://ogf-z3-06162021-premium-eastus2-01.regional.azure-api.net", + "disableGateway": false + } + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false" + }, + "virtualNetworkType": "None", + "certificates": [], + "disableGateway": false, + "apiVersionConstraint": { + "minApiVersion": "2019-12-01" + }, + "publicNetworkAccess": "Enabled" + }, + "sku": { + "name": "Premium", + "capacity": 1 + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "principalId": "306205e7-b21a-41bf-92e2-3e28af30041e", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ogf-identity": { + "principalId": "713784d2-ee37-412a-95f0-3768f397f82d", + "clientId": "8d9791f2-0cdf-41f4-9e66-cdc39b496789" + } + } + }, + "systemData": { + "createdBy": "bar@contoso.com", + "createdByType": "User", + "createdAt": "2021-06-16T09:40:00.7106733Z", + "lastModifiedBy": "foo@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-06-20T06:33:09.6159006Z" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/vvktestcons", + "name": "vvktestcons", + "type": "Microsoft.ApiManagement/service", + "tags": { + "Owner": "vitaliik" + }, + "location": "East US", + "etag": "AAAAAAAWKwo=", + "properties": { + "publisherEmail": "bar@contoso.com", + "publisherName": "vvktestcons", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2020-08-10T18:07:23.4565211Z", + "gatewayUrl": "https://vvktestcons.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "vvktestcons.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true, + "certificateSource": "BuiltIn" + } + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False" + }, + "virtualNetworkType": "None", + "enableClientCertificate": false, + "disableGateway": false, + "publicNetworkAccess": "Enabled" + }, + "sku": { + "name": "Consumption", + "capacity": 0 + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/OGF-Z3-06162021-Standard", + "name": "OGF-Z3-06162021-Standard", + "type": "Microsoft.ApiManagement/service", + "tags": {}, + "location": "East US", + "etag": "AAAAAAAWF7M=", + "properties": { + "publisherEmail": "bar@contoso.com", + "publisherName": "Test Standard", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2021-06-16T09:39:58.6555759Z", + "gatewayUrl": "https://ogf-z3-06162021-standard.azure-api.net", + "gatewayRegionalUrl": "https://ogf-z3-06162021-standard-eastus-01.regional.azure-api.net", + "portalUrl": "https://ogf-z3-06162021-standard.portal.azure-api.net", + "developerPortalUrl": "https://ogf-z3-06162021-standard.developer.azure-api.net", + "managementApiUrl": "https://ogf-z3-06162021-standard.management.azure-api.net", + "scmUrl": "https://ogf-z3-06162021-standard.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "ogf-z3-06162021-standard.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true, + "certificateSource": "BuiltIn" + } + ], + "publicIPAddresses": [ + "13.82.208.32" + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA": "true", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False" + }, + "virtualNetworkType": "None", + "disableGateway": false, + "apiVersionConstraint": { + "minApiVersion": "2019-12-01" + }, + "publicNetworkAccess": "Enabled" + }, + "sku": { + "name": "Standard", + "capacity": 2 + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "principalId": "347a5800-ca99-475a-9202-fe38ca79ee41", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ogf-identity": { + "principalId": "713784d2-ee37-412a-95f0-3768f397f82d", + "clientId": "8d9791f2-0cdf-41f4-9e66-cdc39b496789" + } + } + }, + "systemData": { + "createdBy": "bar@contoso.com", + "createdByType": "User", + "createdAt": "2021-06-16T09:39:58.4591834Z", + "lastModifiedBy": "bar@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-06-17T15:05:13.5494721Z" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/ogf-dev-060921", + "name": "ogf-dev-060921", + "type": "Microsoft.ApiManagement/service", + "tags": {}, + "location": "East US", + "etag": "AAAAAAAWEFg=", + "properties": { + "publisherEmail": "v-ssaiprasan@microsoft.com", + "publisherName": "TechM", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2021-06-09T10:06:22.2133978Z", + "gatewayUrl": "https://ogf-dev-060921.azure-api.net", + "gatewayRegionalUrl": "https://ogf-dev-060921-eastus-01.regional.azure-api.net", + "portalUrl": "https://ogf-dev-060921.portal.azure-api.net", + "developerPortalUrl": "https://ogf-dev-060921.developer.azure-api.net", + "managementApiUrl": "https://ogf-dev-060921.management.azure-api.net", + "scmUrl": "https://ogf-dev-060921.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "ogf-dev-060921.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true, + "certificateSource": "BuiltIn" + } + ], + "publicIPAddresses": [ + "168.62.39.172" + ], + "additionalLocations": [ + { + "location": "South Central US", + "sku": { + "name": "Premium", + "capacity": 9 + }, + "zones": [], + "publicIPAddresses": [ + "13.84.208.29" + ], + "gatewayRegionalUrl": "https://ogf-dev-060921-southcentralus-01.regional.azure-api.net", + "disableGateway": false + } + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false" + }, + "virtualNetworkType": "None", + "certificates": [ + { + "storeName": "Root", + "certificate": { + "expiry": "2021-11-25T22:51:47+00:00", + "thumbprint": "4E8234312EC69245D1AE296C4882D46FB84076A3", + "subject": "CN=*.apim.net" + } + } + ], + "disableGateway": false, + "apiVersionConstraint": { + "minApiVersion": "2019-12-01" + }, + "publicNetworkAccess": "Enabled" + }, + "sku": { + "name": "Premium", + "capacity": 3 + }, + "identity": { + "type": "SystemAssigned", + "principalId": "c9bd4c05-205e-4431-b232-112cf2e9e0aa", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + }, + "systemData": { + "createdBy": "v-ssaiprasan@microsoft.com", + "createdByType": "User", + "createdAt": "2021-06-09T10:06:21.7336597Z", + "lastModifiedBy": "v-ssaiprasan@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-06-10T14:27:05.546816Z" + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json new file mode 100644 index 000000000000..10f74fdcf153 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json @@ -0,0 +1,356 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/OGF-Z3-06162021-Premium", + "name": "OGF-Z3-06162021-Premium", + "type": "Microsoft.ApiManagement/service", + "tags": { + "owner": "v-aswmoh", + "ReleaseName": "Z3" + }, + "location": "East US", + "etag": "AAAAAAAWN/4=", + "properties": { + "publisherEmail": "bar@contoso.com", + "publisherName": "Test Premium", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2021-06-16T09:40:00.9453556Z", + "gatewayUrl": "https://ogf-z3-06162021-premium.azure-api.net", + "gatewayRegionalUrl": "https://ogf-z3-06162021-premium-eastus-01.regional.azure-api.net", + "portalUrl": "https://ogf-z3-06162021-premium.portal.azure-api.net", + "developerPortalUrl": "https://ogf-z3-06162021-premium.developer.azure-api.net", + "managementApiUrl": "https://ogf-z3-06162021-premium.management.azure-api.net", + "scmUrl": "https://ogf-z3-06162021-premium.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "ogf-z3-06162021-premium.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": false, + "certificateSource": "BuiltIn" + }, + { + "type": "Proxy", + "hostName": "gateway.current.int-azure-api.net", + "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl", + "negotiateClientCertificate": true, + "certificate": { + "expiry": "2022-01-08T22:32:32+00:00", + "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51", + "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US" + }, + "defaultSslBinding": true, + "certificateSource": "Custom" + }, + { + "type": "DeveloperPortal", + "hostName": "developer.current.int-azure-api.net", + "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2022-01-08T22:32:32+00:00", + "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51", + "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US" + }, + "defaultSslBinding": false, + "certificateSource": "Custom" + }, + { + "type": "Management", + "hostName": "mgmt.current.int-azure-api.net", + "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2022-01-08T22:32:32+00:00", + "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51", + "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US" + }, + "defaultSslBinding": false, + "certificateSource": "Custom" + } + ], + "publicIPAddresses": [ + "13.92.130.49" + ], + "additionalLocations": [ + { + "location": "East US 2", + "sku": { + "name": "Premium", + "capacity": 1 + }, + "zones": [], + "publicIPAddresses": [ + "40.70.24.106" + ], + "gatewayRegionalUrl": "https://ogf-z3-06162021-premium-eastus2-01.regional.azure-api.net", + "disableGateway": false + } + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false" + }, + "virtualNetworkType": "None", + "certificates": [], + "disableGateway": false, + "apiVersionConstraint": { + "minApiVersion": "2019-12-01" + }, + "publicNetworkAccess": "Enabled" + }, + "sku": { + "name": "Premium", + "capacity": 1 + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "principalId": "306205e7-b21a-41bf-92e2-3e28af30041e", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ogf-identity": { + "principalId": "713784d2-ee37-412a-95f0-3768f397f82d", + "clientId": "8d9791f2-0cdf-41f4-9e66-cdc39b496789" + } + } + }, + "systemData": { + "createdBy": "bar@contoso.com", + "createdByType": "User", + "createdAt": "2021-06-16T09:40:00.7106733Z", + "lastModifiedBy": "foo@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-06-20T06:33:09.6159006Z" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/vvktestcons", + "name": "vvktestcons", + "type": "Microsoft.ApiManagement/service", + "tags": { + "Owner": "vitaliik" + }, + "location": "East US", + "etag": "AAAAAAAWKwo=", + "properties": { + "publisherEmail": "bar@contoso.com", + "publisherName": "vvktestcons", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2020-08-10T18:07:23.4565211Z", + "gatewayUrl": "https://vvktestcons.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "vvktestcons.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true, + "certificateSource": "BuiltIn" + } + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False" + }, + "virtualNetworkType": "None", + "enableClientCertificate": false, + "disableGateway": false, + "publicNetworkAccess": "Enabled" + }, + "sku": { + "name": "Consumption", + "capacity": 0 + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/OGF-Z3-06162021-Standard", + "name": "OGF-Z3-06162021-Standard", + "type": "Microsoft.ApiManagement/service", + "tags": {}, + "location": "East US", + "etag": "AAAAAAAWF7M=", + "properties": { + "publisherEmail": "bar@contoso.com", + "publisherName": "Test Standard", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2021-06-16T09:39:58.6555759Z", + "gatewayUrl": "https://ogf-z3-06162021-standard.azure-api.net", + "gatewayRegionalUrl": "https://ogf-z3-06162021-standard-eastus-01.regional.azure-api.net", + "portalUrl": "https://ogf-z3-06162021-standard.portal.azure-api.net", + "developerPortalUrl": "https://ogf-z3-06162021-standard.developer.azure-api.net", + "managementApiUrl": "https://ogf-z3-06162021-standard.management.azure-api.net", + "scmUrl": "https://ogf-z3-06162021-standard.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "ogf-z3-06162021-standard.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true, + "certificateSource": "BuiltIn" + } + ], + "publicIPAddresses": [ + "13.82.208.32" + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA": "true", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False" + }, + "virtualNetworkType": "None", + "disableGateway": false, + "apiVersionConstraint": { + "minApiVersion": "2019-12-01" + }, + "publicNetworkAccess": "Enabled" + }, + "sku": { + "name": "Standard", + "capacity": 2 + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "principalId": "347a5800-ca99-475a-9202-fe38ca79ee41", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ogf-identity": { + "principalId": "713784d2-ee37-412a-95f0-3768f397f82d", + "clientId": "8d9791f2-0cdf-41f4-9e66-cdc39b496789" + } + } + }, + "systemData": { + "createdBy": "bar@contoso.com", + "createdByType": "User", + "createdAt": "2021-06-16T09:39:58.4591834Z", + "lastModifiedBy": "bar@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-06-17T15:05:13.5494721Z" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/ogf-dev-060921", + "name": "ogf-dev-060921", + "type": "Microsoft.ApiManagement/service", + "tags": {}, + "location": "East US", + "etag": "AAAAAAAWEFg=", + "properties": { + "publisherEmail": "v-ssaiprasan@microsoft.com", + "publisherName": "TechM", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2021-06-09T10:06:22.2133978Z", + "gatewayUrl": "https://ogf-dev-060921.azure-api.net", + "gatewayRegionalUrl": "https://ogf-dev-060921-eastus-01.regional.azure-api.net", + "portalUrl": "https://ogf-dev-060921.portal.azure-api.net", + "developerPortalUrl": "https://ogf-dev-060921.developer.azure-api.net", + "managementApiUrl": "https://ogf-dev-060921.management.azure-api.net", + "scmUrl": "https://ogf-dev-060921.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "ogf-dev-060921.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true, + "certificateSource": "BuiltIn" + } + ], + "publicIPAddresses": [ + "168.62.39.172" + ], + "additionalLocations": [ + { + "location": "South Central US", + "sku": { + "name": "Premium", + "capacity": 9 + }, + "zones": [], + "publicIPAddresses": [ + "13.84.208.29" + ], + "gatewayRegionalUrl": "https://ogf-dev-060921-southcentralus-01.regional.azure-api.net", + "disableGateway": false + } + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false" + }, + "virtualNetworkType": "None", + "certificates": [ + { + "storeName": "Root", + "certificate": { + "expiry": "2021-11-25T22:51:47+00:00", + "thumbprint": "4E8234312EC69245D1AE296C4882D46FB84076A3", + "subject": "CN=*.apim.net" + } + } + ], + "disableGateway": false, + "apiVersionConstraint": { + "minApiVersion": "2019-12-01" + }, + "publicNetworkAccess": "Enabled" + }, + "sku": { + "name": "Premium", + "capacity": 3 + }, + "identity": { + "type": "SystemAssigned", + "principalId": "c9bd4c05-205e-4431-b232-112cf2e9e0aa", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + }, + "systemData": { + "createdBy": "v-ssaiprasan@microsoft.com", + "createdByType": "User", + "createdAt": "2021-06-09T10:06:21.7336597Z", + "lastModifiedBy": "v-ssaiprasan@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-06-10T14:27:05.546816Z" + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSku.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSku.json new file mode 100644 index 000000000000..47ee2a13d889 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSku.json @@ -0,0 +1,224 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "service", + "name": "Developer", + "locations": [ + "centralindia" + ], + "locationInfo": [ + { + "location": "centralindia", + "zones": [], + "zoneDetails": [] + } + ], + "capacity": { + "minimum": 1, + "maximum": 1, + "default": 1, + "scaleType": "None" + }, + "restrictions": [] + }, + { + "resourceType": "service", + "name": "Standard", + "locations": [ + "centralindia" + ], + "locationInfo": [ + { + "location": "centralindia", + "zones": [], + "zoneDetails": [] + } + ], + "capacity": { + "minimum": 1, + "maximum": 4, + "default": 1, + "scaleType": "Automatic" + }, + "restrictions": [] + }, + { + "resourceType": "service", + "name": "Premium", + "locations": [ + "centralindia" + ], + "locationInfo": [ + { + "location": "centralindia", + "zones": [], + "zoneDetails": [] + } + ], + "capacity": { + "minimum": 1, + "maximum": 10, + "default": 1, + "scaleType": "Automatic" + }, + "restrictions": [] + }, + { + "resourceType": "service", + "name": "Basic", + "locations": [ + "centralindia" + ], + "locationInfo": [ + { + "location": "centralindia", + "zones": [], + "zoneDetails": [] + } + ], + "capacity": { + "minimum": 1, + "maximum": 2, + "default": 1, + "scaleType": "Manual" + }, + "restrictions": [] + }, + { + "resourceType": "service", + "name": "Consumption", + "locations": [ + "centralindia" + ], + "locationInfo": [ + { + "location": "centralindia", + "zones": [], + "zoneDetails": [] + } + ], + "capacity": { + "minimum": 0, + "maximum": 0, + "default": 0, + "scaleType": "None" + }, + "restrictions": [] + }, + { + "resourceType": "service", + "name": "Developer", + "locations": [ + "uaenorth" + ], + "locationInfo": [ + { + "location": "uaenorth", + "zones": [], + "zoneDetails": [] + } + ], + "capacity": { + "minimum": 1, + "maximum": 1, + "default": 1, + "scaleType": "None" + }, + "restrictions": [] + }, + { + "resourceType": "service", + "name": "Standard", + "locations": [ + "uaenorth" + ], + "locationInfo": [ + { + "location": "uaenorth", + "zones": [], + "zoneDetails": [] + } + ], + "capacity": { + "minimum": 1, + "maximum": 4, + "default": 1, + "scaleType": "Automatic" + }, + "restrictions": [] + }, + { + "resourceType": "service", + "name": "Premium", + "locations": [ + "uaenorth" + ], + "locationInfo": [ + { + "location": "uaenorth", + "zones": [], + "zoneDetails": [] + } + ], + "capacity": { + "minimum": 1, + "maximum": 10, + "default": 1, + "scaleType": "Automatic" + }, + "restrictions": [] + }, + { + "resourceType": "service", + "name": "Basic", + "locations": [ + "uaenorth" + ], + "locationInfo": [ + { + "location": "uaenorth", + "zones": [], + "zoneDetails": [] + } + ], + "capacity": { + "minimum": 1, + "maximum": 2, + "default": 1, + "scaleType": "Manual" + }, + "restrictions": [] + }, + { + "resourceType": "service", + "name": "Developer", + "locations": [ + "australiacentral" + ], + "locationInfo": [ + { + "location": "australiacentral", + "zones": [], + "zoneDetails": [] + } + ], + "capacity": { + "minimum": 1, + "maximum": 1, + "default": 1, + "scaleType": "None" + }, + "restrictions": [] + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSubscriptions.json new file mode 100644 index 000000000000..92c83fb00af6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSubscriptions.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/5600b59475ff190048070001", + "type": "Microsoft.ApiManagement/service/subscriptions", + "name": "5600b59475ff190048070001", + "properties": { + "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1", + "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060001", + "state": "active", + "createdDate": "2015-09-22T01:57:40.3Z" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/56eaed3dbaf08b06e46d27fe", + "type": "Microsoft.ApiManagement/service/subscriptions", + "name": "56eaed3dbaf08b06e46d27fe", + "properties": { + "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/56eaec62baf08b06e46d27fd", + "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060001", + "displayName": "Starter", + "state": "active", + "createdDate": "2016-03-17T17:45:33.837Z", + "startDate": "2016-03-17T00:00:00Z", + "expirationDate": "2016-04-01T00:00:00Z", + "notificationDate": "2016-03-20T00:00:00Z" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/5931a769d8d14f0ad8ce13b8", + "type": "Microsoft.ApiManagement/service/subscriptions", + "name": "5931a769d8d14f0ad8ce13b8", + "properties": { + "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b", + "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002", + "displayName": "Unlimited", + "state": "submitted", + "createdDate": "2017-06-02T17:59:06.223Z" + } + } + ], + "count": 3, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTagResources.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTagResources.json new file mode 100644 index 000000000000..bc16c8a7550c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTagResources.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "tag": { + "id": "/tags/apitag123", + "name": "awesomeTag" + }, + "operation": { + "id": "/apis/echo-api/operations/create-resource", + "apiName": "Echo API", + "apiRevision": "1", + "name": "Create resource", + "method": "POST", + "urlTemplate": "/resource", + "description": "A demonstration of a POST call based on the echo backend above. The request body is expected to contain JSON-formatted data (see example below). A policy is used to automatically transform any request sent in JSON directly to XML. In a real-world scenario this could be used to enable modern clients to speak to a legacy backend." + } + }, + { + "tag": { + "id": "/tags/apitag123", + "name": "awesomeTag" + }, + "api": { + "id": "/apis/echo-api", + "name": "Echo API", + "apiRevision": "1", + "serviceUrl": "http://echoapi.cloudapp.net/api", + "path": "echo", + "isCurrent": true + } + }, + { + "tag": { + "id": "/tags/apitag123", + "name": "awesomeTag" + }, + "product": { + "id": "/products/starter", + "name": "Starter", + "description": "Subscribers will be able to run 5 calls/minute up to a maximum of 100 calls/week.", + "terms": "", + "subscriptionRequired": true, + "approvalRequired": false, + "subscriptionsLimit": 1, + "state": "published" + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTags.json new file mode 100644 index 000000000000..6e7f95910a68 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTags.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020001", + "type": "Microsoft.ApiManagement/service/tags", + "name": "5600b59375ff190048020001", + "properties": { + "displayName": "tag1" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020002", + "type": "Microsoft.ApiManagement/service/tags", + "name": "5600b59375ff190048020002", + "properties": { + "displayName": "tag2" + } + } + ], + "count": 2, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTemplates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTemplates.json new file mode 100644 index 000000000000..f1b31f83f652 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTemplates.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/ApplicationApprovedNotificationMessage", + "type": "Microsoft.ApiManagement/service/templates", + "name": "ApplicationApprovedNotificationMessage", + "properties": { + "subject": "Your application $AppName is published in the application gallery", + "body": "\r\n\r\n \r\n \r\n

Dear $DevFirstName $DevLastName,

\r\n

\r\n We are happy to let you know that your request to publish the $AppName application in the application gallery has been approved. Your application has been published and can be viewed here.\r\n

\r\n

Best,

\r\n

The $OrganizationName API Team

\r\n \r\n", + "title": "Application gallery submission approved", + "description": "Developers who submitted their application for publication in the application gallery on the developer portal receive this email after their submission is approved.", + "isDefault": true, + "parameters": [ + { + "name": "AppId", + "title": "Application id" + }, + { + "name": "AppName", + "title": "Application name" + }, + { + "name": "DevFirstName", + "title": "Developer first name" + }, + { + "name": "DevLastName", + "title": "Developer last name" + }, + { + "name": "OrganizationName", + "title": "Organization name" + }, + { + "name": "DevPortalUrl", + "title": "Developer portal URL" + } + ] + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTenantAccess.json new file mode 100644 index 000000000000..bfaf2fb7254e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTenantAccess.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/access", + "type": "Microsoft.ApiManagement/service/tenant", + "name": "access", + "properties": { + "enabled": true + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTenantSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTenantSettings.json new file mode 100644 index 000000000000..a19d42162e67 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTenantSettings.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/settings/public", + "type": "Microsoft.ApiManagement/service/settings", + "name": "public", + "properties": { + "settings": { + "CustomPortalSettings.UserRegistrationTerms": null, + "CustomPortalSettings.UserRegistrationTermsEnabled": "False", + "CustomPortalSettings.UserRegistrationTermsConsentRequired": "False", + "CustomPortalSettings.DelegationEnabled": "False", + "CustomPortalSettings.DelegationUrl": "", + "CustomPortalSettings.DelegatedSubscriptionEnabled": "False" + } + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUserGroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUserGroups.json new file mode 100644 index 000000000000..529b712bf314 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUserGroups.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "userId": "57681833a40f7eb6c49f6acf" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf/groups/5600b57e7e8880006a020002", + "type": "Microsoft.ApiManagement/service/users/groups", + "name": "5600b57e7e8880006a020002", + "properties": { + "displayName": "Developers", + "description": "Developers is a built-in group. Its membership is managed by the system. Signed-in users fall into this group.", + "builtIn": true, + "type": "system" + } + } + ], + "count": 1, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUserIdentities.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUserIdentities.json new file mode 100644 index 000000000000..6b15dd446438 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUserIdentities.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "userId": "57f2af53bb17172280f44057" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "provider": "Microsoft", + "id": "086cf9********55ab" + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUserSubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUserSubscriptions.json new file mode 100644 index 000000000000..e9026f1ec4da --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUserSubscriptions.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "userId": "57681833a40f7eb6c49f6acf" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf/subscriptions/57681850a40f7eb6c49f6ae3", + "type": "Microsoft.ApiManagement/service/users/subscriptions", + "name": "57681850a40f7eb6c49f6ae3", + "properties": { + "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf", + "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5768181ea40f7eb6c49f6ac7", + "displayName": "57681850a40f7eb6c49f6ae5", + "state": "active", + "createdDate": "2016-06-20T16:22:39.547Z", + "startDate": "2016-06-20T00:00:00Z" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf/subscriptions/57681850a40f7eb6c49f6b2b", + "type": "Microsoft.ApiManagement/service/users/subscriptions", + "name": "57681850a40f7eb6c49f6b2b", + "properties": { + "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf", + "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5768181ea40f7eb6c49f6ac7", + "displayName": "57681850a40f7eb6c49f6b2d", + "state": "active", + "createdDate": "2016-06-20T16:22:41.103Z", + "startDate": "2016-06-20T00:00:00Z" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUsers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUsers.json new file mode 100644 index 000000000000..b57f2736954f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUsers.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1", + "type": "Microsoft.ApiManagement/service/users", + "name": "1", + "properties": { + "firstName": "Administrator", + "lastName": "", + "email": "admin@live.com", + "state": "active", + "registrationDate": "2015-09-22T01:57:39.677Z", + "identities": [ + { + "provider": "Azure", + "id": "admin@live.com" + } + ] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/56eaec62baf08b06e46d27fd", + "type": "Microsoft.ApiManagement/service/users", + "name": "56eaec62baf08b06e46d27fd", + "properties": { + "firstName": "foo", + "lastName": "bar", + "email": "foo.bar.83@gmail.com", + "state": "active", + "registrationDate": "2016-03-17T17:41:56.327Z", + "identities": [ + { + "provider": "Basic", + "id": "foo.bar.83@gmail.com" + } + ] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b", + "type": "Microsoft.ApiManagement/service/users", + "name": "5931a75ae4bbd512a88c680b", + "properties": { + "firstName": "foo", + "lastName": "bar", + "email": "foobar@outlook.com", + "state": "active", + "registrationDate": "2017-06-02T17:58:50.357Z", + "identities": [ + { + "provider": "Microsoft", + "id": "*************" + } + ] + } + } + ], + "count": 3, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementNamedValueListValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementNamedValueListValue.json new file mode 100644 index 000000000000..9a4cf73fefc6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementNamedValueListValue.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "namedValueId": "testarmTemplateproperties2" + }, + "responses": { + "200": { + "body": { + "value": "propValue" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementOpenidConnectProviderListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementOpenidConnectProviderListSecrets.json new file mode 100644 index 000000000000..12fcd5459ca8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementOpenidConnectProviderListSecrets.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "opid": "templateOpenIdConnect2" + }, + "responses": { + "200": { + "body": { + "clientSecret": "oidsecretproviderTemplate2" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPerformConnectivityCheck.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPerformConnectivityCheck.json new file mode 100644 index 000000000000..eac4ff4000b0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPerformConnectivityCheck.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "connectivityCheckRequestParams": { + "source": { + "region": "northeurope" + }, + "destination": { + "address": "8.8.8.8", + "port": 53 + }, + "preferredIPVersion": "IPv4" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/connectivityCheck/operationresults/bmljb2xhLW5ldHdvcmt3YXRjaGVyNF9Db25uZWN0aXRpdml0eUNoZWNrXzE2MmExNmZl?api-version=2021-08-01" + } + }, + "200": { + "body": { + "hops": [ + { + "type": "Source", + "id": "7dbbe7aa-60ba-4650-831e-63d775d38e9e", + "address": "10.1.1.4", + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "nextHopIds": [ + "75c8d819-b208-4584-a311-1aa45ce753f9" + ], + "issues": [] + }, + { + "type": "Internet", + "id": "75c8d819-b208-4584-a311-1aa45ce753f9", + "address": "8.8.8.8", + "nextHopIds": [], + "issues": [] + } + ], + "connectionStatus": "Connected", + "avgLatencyInMs": 1, + "minLatencyInMs": 1, + "maxLatencyInMs": 4, + "probesSent": 100, + "probesFailed": 0 + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPerformConnectivityCheckHttpConnect.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPerformConnectivityCheckHttpConnect.json new file mode 100644 index 000000000000..eb5fb2781030 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPerformConnectivityCheckHttpConnect.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "connectivityCheckRequestParams": { + "source": { + "region": "northeurope" + }, + "destination": { + "address": "https://microsoft.com", + "port": 3306 + }, + "protocol": "HTTPS", + "protocolConfiguration": { + "HTTPConfiguration": { + "method": "GET", + "validStatusCodes": [ + 200, + 204 + ], + "headers": [ + { + "name": "Authorization", + "value": "Bearer myPreciousToken" + } + ] + } + } + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/connectivityCheck/operationresults/bmljb2xhLW5ldHdvcmt3YXRjaGVyNF9Db25uZWN0aXRpdml0eUNoZWNrXzE2MmExNmZl?api-version=2021-08-01" + } + }, + "200": { + "body": { + "hops": [ + { + "type": "Source", + "id": "c60e2296-5ebc-48cc-80e8-7e6d2981e7b2", + "address": "20.82.216.48", + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "nextHopIds": [ + "26aa44e7-04f1-462f-aa5d-5951957b5650" + ], + "issues": [] + }, + { + "type": "Internet", + "id": "26aa44e7-04f1-462f-aa5d-5951957b5650", + "address": "40.113.200.201", + "nextHopIds": [], + "issues": [] + } + ], + "connectionStatus": "Reachable", + "avgLatencyInMs": 260, + "minLatencyInMs": 250, + "maxLatencyInMs": 281, + "probesSent": 3, + "probesFailed": 0 + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsGetDelegation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsGetDelegation.json new file mode 100644 index 000000000000..b36e296d4a7a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsGetDelegation.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/delegation", + "type": "Microsoft.ApiManagement/service/portalsettings", + "name": "delegation", + "properties": { + "url": "http://contoso.com/delegation", + "subscriptions": { + "enabled": true + }, + "userRegistration": { + "enabled": true + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsGetSignIn.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsGetSignIn.json new file mode 100644 index 000000000000..0df55dd272cd --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsGetSignIn.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signin", + "type": "Microsoft.ApiManagement/service/portalsettings", + "name": "signin", + "properties": { + "enabled": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsGetSignUp.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsGetSignUp.json new file mode 100644 index 000000000000..a2bd7c6bfcd0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsGetSignUp.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signup", + "type": "Microsoft.ApiManagement/service/portalsettings", + "name": "signup", + "properties": { + "enabled": true, + "termsOfService": { + "text": "Terms of service text.", + "enabled": true, + "consentRequired": true + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsPutDelegation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsPutDelegation.json new file mode 100644 index 000000000000..6a8f5772a016 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsPutDelegation.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "userId": "5931a75ae4bbd512288c680b", + "If-Match": "*", + "parameters": { + "properties": { + "url": "http://contoso.com/delegation", + "validationKey": "", + "subscriptions": { + "enabled": true + }, + "userRegistration": { + "enabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/delegation", + "type": "Microsoft.ApiManagement/service/portalsettings", + "name": "delegation", + "properties": { + "url": "http://contoso.com/delegation", + "subscriptions": { + "enabled": true + }, + "userRegistration": { + "enabled": true + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsPutSignIn.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsPutSignIn.json new file mode 100644 index 000000000000..256543b06103 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsPutSignIn.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "userId": "5931a75ae4bbd512288c680b", + "If-Match": "*", + "parameters": { + "properties": { + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signin", + "type": "Microsoft.ApiManagement/service/portalsettings", + "name": "signin", + "properties": { + "enabled": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsPutSignUp.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsPutSignUp.json new file mode 100644 index 000000000000..9ba00cea9006 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsPutSignUp.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "userId": "5931a75ae4bbd512288c680b", + "If-Match": "*", + "parameters": { + "properties": { + "enabled": true, + "termsOfService": { + "enabled": true, + "text": "Terms of service text.", + "consentRequired": true + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signup", + "type": "Microsoft.ApiManagement/service/portalsettings", + "name": "signup", + "properties": { + "enabled": true, + "termsOfService": { + "text": "Terms of service text.", + "enabled": true, + "consentRequired": true + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsUpdateDelegation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsUpdateDelegation.json new file mode 100644 index 000000000000..52aafc4b0142 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsUpdateDelegation.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "userId": "5931a75ae4bbd512288c680b", + "If-Match": "*", + "parameters": { + "properties": { + "url": "http://contoso.com/delegation", + "validationKey": "", + "subscriptions": { + "enabled": true + }, + "userRegistration": { + "enabled": true + } + } + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsUpdateSignIn.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsUpdateSignIn.json new file mode 100644 index 000000000000..523caff5d736 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsUpdateSignIn.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "userId": "5931a75ae4bbd512288c680b", + "If-Match": "*", + "parameters": { + "properties": { + "enabled": true + } + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsUpdateSignUp.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsUpdateSignUp.json new file mode 100644 index 000000000000..cb7a2bb60390 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsUpdateSignUp.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "userId": "5931a75ae4bbd512288c680b", + "If-Match": "*", + "parameters": { + "properties": { + "enabled": true, + "termsOfService": { + "enabled": true, + "text": "Terms of service text.", + "consentRequired": true + } + } + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementRefreshCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementRefreshCertificate.json new file mode 100644 index 000000000000..5c7df6508ab9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementRefreshCertificate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "certificateId": "templateCertkv" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv", + "type": "Microsoft.ApiManagement/service/certificates", + "name": "templateCertkv", + "properties": { + "subject": "CN=*.msitesting.net", + "thumbprint": "EA**********************9AD690", + "expirationDate": "2037-01-01T07:00:00Z", + "keyVault": { + "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert", + "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0", + "lastStatus": { + "code": "Success", + "timeStampUtc": "2020-09-22T00:24:53.3191468Z" + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementRefreshNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementRefreshNamedValue.json new file mode 100644 index 000000000000..3d1218072d48 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementRefreshNamedValue.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "namedValueId": "testprop2" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6/refreshSecret?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6", + "type": "Microsoft.ApiManagement/service/namedValues", + "name": "testprop6", + "properties": { + "displayName": "prop6namekv", + "keyVault": { + "secretIdentifier": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert", + "identityClientId": "2d2df842-44d8-4885-8dec-77cc1a984a31", + "lastStatus": { + "code": "Success", + "timeStampUtc": "2020-09-11T00:54:31.8024882Z" + } + }, + "tags": [ + "foo", + "bar" + ], + "secret": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementRestoreWithAccessKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementRestoreWithAccessKey.json new file mode 100644 index 000000000000..7cc22d8389e2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementRestoreWithAccessKey.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "parameters": { + "storageAccount": "teststorageaccount", + "containerName": "backupContainer", + "backupName": "apimService1backup_2017_03_19", + "accessType": "AccessKey", + "accessKey": "**************************************************" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "location": "West US", + "etag": "AAAAAAACXok=", + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2019-12-18T06:26:20.3348609Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "developerPortalUrl": "https://apimService1.developer.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": false + }, + { + "type": "Proxy", + "hostName": "gateway1.msitesting.net", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2036-01-01T07:00:00+00:00", + "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": true + }, + { + "type": "Management", + "hostName": "mgmt.msitesting.net", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2036-01-01T07:00:00+00:00", + "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": false + }, + { + "type": "Portal", + "hostName": "portal1.msitesting.net", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2036-01-01T07:00:00+00:00", + "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": false + } + ], + "publicIPAddresses": [ + "13.91.32.113" + ], + "additionalLocations": [ + { + "location": "East US", + "sku": { + "name": "Premium", + "capacity": 1 + }, + "publicIPAddresses": [ + "23.101.138.153" + ], + "gatewayRegionalUrl": "https://apimService1-eastus-01.regional.azure-api.net", + "disableGateway": true + } + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False" + }, + "virtualNetworkType": "None", + "disableGateway": false, + "apiVersionConstraint": { + "minApiVersion": "2019-01-01" + } + }, + "sku": { + "name": "Premium", + "capacity": 1 + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceCheckNameAvailability.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceCheckNameAvailability.json new file mode 100644 index 000000000000..c05ca4846149 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceCheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "parameters": { + "name": "apimService1" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "Valid", + "message": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceDeleteService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceDeleteService.json new file mode 100644 index 000000000000..0dc07a7ba3b3 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceDeleteService.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/TGV2eTExMDZtMDJfVGVybV9jMmZlY2QwMA==?api-version=2021-08-01" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": {}, + "location": "West US", + "etag": "AAAAAAFfhHY=", + "properties": { + "publisherEmail": "contoso@live.com", + "publisherName": "Microsoft", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "Deleting", + "createdAtUtc": "2016-12-20T19:41:21.5823069Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [], + "publicIPAddresses": [ + "40.XX.XXX.168" + ], + "virtualNetworkConfiguration": { + "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/BlockVNETSamir/subnets/default" + }, + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False" + }, + "virtualNetworkType": "External" + }, + "sku": { + "name": "Developer", + "capacity": 1 + } + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetDomainOwnershipIdentifier.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetDomainOwnershipIdentifier.json new file mode 100644 index 000000000000..58f1681e63a2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetDomainOwnershipIdentifier.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "domainOwnershipIdentifier": "KLE1vdMblVeHECAi4nCe3oNaXXXXvNlLrXt2ev84KM=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetMultiRegionInternalVnet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetMultiRegionInternalVnet.json new file mode 100644 index 000000000000..11e87867797d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetMultiRegionInternalVnet.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimservice1", + "name": "apimservice1", + "type": "Microsoft.ApiManagement/service", + "tags": {}, + "location": "West US", + "etag": "AAAAAADqC0c=", + "properties": { + "publisherEmail": "abcs@contoso.com", + "publisherName": "contoso publisher", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2019-12-02T01:42:09.1268424Z", + "gatewayUrl": "https://apimservice1.azure-api.net", + "gatewayRegionalUrl": "https://apimservice1-westus-01.regional.azure-api.net", + "portalUrl": "https://apimservice1.portal.azure-api.net", + "developerPortalUrl": "https://apimService1.developer.azure-api.net", + "managementApiUrl": "https://apimservice1.management.azure-api.net", + "scmUrl": "https://apimservice1.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": false, + "certificateSource": "BuiltIn" + }, + { + "type": "Proxy", + "hostName": "apimgatewaytest.preview.net", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2019-08-16T16:51:34+00:00", + "thumbprint": "B4330123DBAXXXXXXXXX1F35E84493476", + "subject": "CN=*.preview.net" + }, + "defaultSslBinding": true, + "certificateSource": "Custom" + } + ], + "publicIPAddresses": [ + "137.XXX.11.74" + ], + "privateIPAddresses": [ + "172.XX.0.5" + ], + "additionalLocations": [ + { + "location": "West US 2", + "sku": { + "name": "Premium", + "capacity": 1 + }, + "publicIPAddresses": [ + "40.XXX.79.187" + ], + "privateIPAddresses": [ + "10.0.X.6" + ], + "virtualNetworkConfiguration": { + "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/APIMVNet/subnets/apim-internal-sub" + }, + "gatewayRegionalUrl": "https://apimservice1-westus2-01.regional.azure-api.net", + "disableGateway": false + } + ], + "virtualNetworkConfiguration": { + "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/apim-appGateway-vnet/subnets/apim-subnet" + }, + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False" + }, + "virtualNetworkType": "Internal", + "disableGateway": false, + "apiVersionConstraint": {} + }, + "sku": { + "name": "Premium", + "capacity": 1 + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetNetworkStatus.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetNetworkStatus.json new file mode 100644 index 000000000000..fb73a959dc2f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetNetworkStatus.json @@ -0,0 +1,150 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": [ + { + "location": "West US", + "networkStatus": { + "dnsServers": [ + "10.82.98.10" + ], + "connectivityStatus": [ + { + "name": "apimgmtst6xxxxxxxxxxx.blob.core.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:55:14.7035899Z", + "lastStatusChange": "2020-11-20T07:54:55.9365931Z", + "resourceType": "BlobStorage", + "isOptional": false + }, + { + "name": "apimgmtst6xxxxxxxxxxx.file.core.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:55:41.5322463Z", + "lastStatusChange": "2020-11-20T07:54:55.9265938Z", + "resourceType": "FileStorage", + "isOptional": true + }, + { + "name": "apimgmtst6xxxxxxxxxxx.queue.core.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:55:30.645994Z", + "lastStatusChange": "2020-11-20T07:54:55.8410477Z", + "resourceType": "Queue", + "isOptional": true + }, + { + "name": "apimgmtst6xxxxxxxxxxx.table.core.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:55:23.8789171Z", + "lastStatusChange": "2020-11-20T07:54:55.9365931Z", + "resourceType": "TableStorage", + "isOptional": false + }, + { + "name": "gcs.prod.monitoring.core.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:57:34.8666833Z", + "lastStatusChange": "2020-11-20T08:07:37.5486932Z", + "resourceType": "Monitoring", + "isOptional": true + }, + { + "name": "https://gcs.ppe.warm.ingestion.monitoring.azure.com", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:56:26.1870188Z", + "lastStatusChange": "2020-11-20T07:54:56.1060523Z", + "resourceType": "Monitoring", + "isOptional": true + }, + { + "name": "https://global.metrics.nsatc.net/", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:56:35.9620612Z", + "lastStatusChange": "2020-11-20T07:54:56.0510519Z", + "resourceType": "Monitoring", + "isOptional": true + }, + { + "name": "https://login.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:56:30.8047708Z", + "lastStatusChange": "2020-11-20T07:54:56.1060523Z", + "resourceType": "AzureActiveDirectory", + "isOptional": true + }, + { + "name": "https://prod2.metrics.nsatc.net:1886/RecoveryService", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:56:45.2095302Z", + "lastStatusChange": "2020-11-20T07:54:56.2796235Z", + "resourceType": "Metrics", + "isOptional": true + }, + { + "name": "LocalGatewayRedis", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:55:15.1345836Z", + "lastStatusChange": "2020-11-20T07:54:55.9365931Z", + "resourceType": "InternalCache", + "isOptional": true + }, + { + "name": "prod.warmpath.msftcloudes.com", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:55:57.8992141Z", + "lastStatusChange": "2020-11-20T07:54:55.8410477Z", + "resourceType": "Monitoring", + "isOptional": false + }, + { + "name": "Scm", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T23:01:24.0553684Z", + "lastStatusChange": "2019-07-20T02:25:48.7066996Z", + "resourceType": "SourceControl", + "isOptional": true + }, + { + "name": "smtpi-ch1.msn.com:25028", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:58:22.2430074Z", + "lastStatusChange": "2020-11-20T07:54:56.3510577Z", + "resourceType": "Email", + "isOptional": true + }, + { + "name": "zwcvuxxxx.database.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:55:44.3582171Z", + "lastStatusChange": "2020-11-20T07:54:56.0410467Z", + "resourceType": "SQLDatabase", + "isOptional": false + } + ] + } + } + ] + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetNetworkStatusByLocation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetNetworkStatusByLocation.json new file mode 100644 index 000000000000..1d60309d9aee --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetNetworkStatusByLocation.json @@ -0,0 +1,146 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "locationName": "North Central US" + }, + "responses": { + "200": { + "body": { + "dnsServers": [ + "10.82.98.10" + ], + "connectivityStatus": [ + { + "name": "apimgmtst6tnxxxxxxxxxxx.blob.core.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:55:14.7035899Z", + "lastStatusChange": "2020-11-20T07:54:55.9365931Z", + "resourceType": "BlobStorage", + "isOptional": false + }, + { + "name": "apimgmtst6tnxxxxxxxxxxx.file.core.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:55:41.5322463Z", + "lastStatusChange": "2020-11-20T07:54:55.9265938Z", + "resourceType": "FileStorage", + "isOptional": true + }, + { + "name": "apimgmtst6tnxxxxxxxxxxx.queue.core.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:55:30.645994Z", + "lastStatusChange": "2020-11-20T07:54:55.8410477Z", + "resourceType": "Queue", + "isOptional": true + }, + { + "name": "apimgmtst6tnxxxxxxxxxxx.table.core.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:55:23.8789171Z", + "lastStatusChange": "2020-11-20T07:54:55.9365931Z", + "resourceType": "TableStorage", + "isOptional": false + }, + { + "name": "gcs.prod.monitoring.core.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:57:34.8666833Z", + "lastStatusChange": "2020-11-20T08:07:37.5486932Z", + "resourceType": "Monitoring", + "isOptional": true + }, + { + "name": "https://gcs.ppe.warm.ingestion.monitoring.azure.com", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:56:26.1870188Z", + "lastStatusChange": "2020-11-20T07:54:56.1060523Z", + "resourceType": "Monitoring", + "isOptional": true + }, + { + "name": "https://global.metrics.nsatc.net/", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:56:35.9620612Z", + "lastStatusChange": "2020-11-20T07:54:56.0510519Z", + "resourceType": "Monitoring", + "isOptional": true + }, + { + "name": "https://login.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:56:30.8047708Z", + "lastStatusChange": "2020-11-20T07:54:56.1060523Z", + "resourceType": "AzureActiveDirectory", + "isOptional": true + }, + { + "name": "https://prod2.metrics.nsatc.net:1886/RecoveryService", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:56:45.2095302Z", + "lastStatusChange": "2020-11-20T07:54:56.2796235Z", + "resourceType": "Metrics", + "isOptional": true + }, + { + "name": "LocalGatewayRedis", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:55:15.1345836Z", + "lastStatusChange": "2020-11-20T07:54:55.9365931Z", + "resourceType": "InternalCache", + "isOptional": true + }, + { + "name": "prod.warmpath.msftcloudes.com", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:55:57.8992141Z", + "lastStatusChange": "2020-11-20T07:54:55.8410477Z", + "resourceType": "Monitoring", + "isOptional": false + }, + { + "name": "Scm", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T23:03:57.6187917Z", + "lastStatusChange": "2020-11-20T07:54:57.325384Z", + "resourceType": "SourceControl", + "isOptional": true + }, + { + "name": "smtpi-xxx.msn.com:25028", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:58:22.2430074Z", + "lastStatusChange": "2020-11-20T07:54:56.3510577Z", + "resourceType": "Email", + "isOptional": true + }, + { + "name": "zwcvuxxxx.database.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2020-11-24T22:55:44.3582171Z", + "lastStatusChange": "2020-11-20T07:54:56.0410467Z", + "resourceType": "SQLDatabase", + "isOptional": false + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetOutboundNetworkDependenciesEndpoints.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetOutboundNetworkDependenciesEndpoints.json new file mode 100644 index 000000000000..8ecf9d7c0863 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetOutboundNetworkDependenciesEndpoints.json @@ -0,0 +1,463 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "category": "Azure SMTP", + "endpoints": [ + { + "domainName": "smtpi-ch1.msn.com", + "endpointDetails": [ + { + "port": 25028, + "region": "West US" + } + ] + } + ] + }, + { + "category": "Azure SQL", + "endpoints": [ + { + "domainName": "xxxx1345234.database.windows.net", + "endpointDetails": [ + { + "port": 1433, + "region": "West US" + } + ] + } + ] + }, + { + "category": "Azure Storage", + "endpoints": [ + { + "domainName": "xxxx32storagedgfbay.blob.core.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "West US" + } + ] + }, + { + "domainName": "xxxx1362629927xt.blob.core.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "West US" + } + ] + }, + { + "domainName": "xxxx1362629927xt.table.core.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "West US" + } + ] + }, + { + "domainName": "xxxx141483183xt.blob.core.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "West US" + } + ] + }, + { + "domainName": "xxxx141483183xt.table.core.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "West US" + } + ] + }, + { + "domainName": "xxxx1949864718xt.blob.core.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "West US" + } + ] + }, + { + "domainName": "xxxx1949864718xt.table.core.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "West US" + } + ] + }, + { + "domainName": "xxxx3292114122xt.blob.core.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "West US" + } + ] + }, + { + "domainName": "xxxx3292114122xt.table.core.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "West US" + } + ] + }, + { + "domainName": "xxxx32tst4oto8t0mlesawmm.blob.core.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "West US" + } + ] + }, + { + "domainName": "xxxx32tst4oto8t0mlesawmm.file.core.windows.net", + "endpointDetails": [ + { + "port": 445, + "region": "West US" + } + ] + }, + { + "domainName": "xxxx32tst4oto8t0mlesawmm.queue.core.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "West US" + } + ] + }, + { + "domainName": "xxxx32tst4oto8t0mlesawmm.table.core.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "West US" + } + ] + } + ] + }, + { + "category": "Azure Event Hub", + "endpoints": [ + { + "domainName": "xxxx1362629927eh.servicebus.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "West US" + }, + { + "port": 5671, + "region": "West US" + }, + { + "port": 5672, + "region": "West US" + } + ] + }, + { + "domainName": "xxxx1949864718eh.servicebus.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "West US" + }, + { + "port": 5671, + "region": "West US" + }, + { + "port": 5672, + "region": "West US" + } + ] + }, + { + "domainName": "xxxx3292114122eh.servicebus.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "West US" + }, + { + "port": 5671, + "region": "West US" + }, + { + "port": 5672, + "region": "West US" + } + ] + }, + { + "domainName": "xxxx141483183eh.servicebus.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "West US" + }, + { + "port": 5671, + "region": "West US" + }, + { + "port": 5672, + "region": "West US" + } + ] + } + ] + }, + { + "category": "SSL Certificate Verification", + "endpoints": [ + { + "domainName": "ocsp.msocsp.com", + "endpointDetails": [ + { + "port": 80, + "region": "Global" + }, + { + "port": 443, + "region": "Global" + } + ] + }, + { + "domainName": "mscrl.microsoft.com", + "endpointDetails": [ + { + "port": 80, + "region": "Global" + }, + { + "port": 443, + "region": "Global" + } + ] + }, + { + "domainName": "crl.microsoft.com", + "endpointDetails": [ + { + "port": 80, + "region": "Global" + }, + { + "port": 443, + "region": "Global" + } + ] + }, + { + "domainName": "crl3.digicert.com", + "endpointDetails": [ + { + "port": 80, + "region": "Global" + }, + { + "port": 443, + "region": "Global" + } + ] + }, + { + "domainName": "ocsp.digicert.com", + "endpointDetails": [ + { + "port": 80, + "region": "Global" + }, + { + "port": 443, + "region": "Global" + } + ] + }, + { + "domainName": "cacerts.digicert.com", + "endpointDetails": [ + { + "port": 80, + "region": "Global" + }, + { + "port": 443, + "region": "Global" + } + ] + } + ] + }, + { + "category": "Azure Monitor", + "endpoints": [ + { + "domainName": "gcs.ppe.monitoring.core.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "Global" + } + ] + }, + { + "domainName": "global.prod.microsoftmetrics.com", + "endpointDetails": [ + { + "port": 443, + "region": "Global" + } + ] + }, + { + "domainName": "xxx3.prod.microsoftmetrics.com", + "endpointDetails": [ + { + "port": 1886, + "region": "Global" + } + ] + }, + { + "domainName": "xxx3-red.prod.microsoftmetrics.com", + "endpointDetails": [ + { + "port": 1886, + "region": "Global" + } + ] + }, + { + "domainName": "xxx3-black.prod.microsoftmetrics.com", + "endpointDetails": [ + { + "port": 1886, + "region": "Global" + } + ] + }, + { + "domainName": "gcs.ppe.warm.ingestion.monitoring.azure.com", + "endpointDetails": [ + { + "port": 443, + "region": "Global" + } + ] + }, + { + "domainName": "metrichost23.prod.microsoftmetrics.com", + "endpointDetails": [ + { + "port": 443, + "region": "Global" + } + ] + }, + { + "domainName": "metrichost23-red.prod.microsoftmetrics.com", + "endpointDetails": [ + { + "port": 443, + "region": "Global" + } + ] + }, + { + "domainName": "metrichost23-black.prod.microsoftmetrics.com", + "endpointDetails": [ + { + "port": 443, + "region": "Global" + } + ] + } + ] + }, + { + "category": "Portal Captcha", + "endpoints": [ + { + "domainName": "client.xxx.live.com", + "endpointDetails": [ + { + "port": 443, + "region": "Global" + } + ] + }, + { + "domainName": "partner.xxx.live.com", + "endpointDetails": [ + { + "port": 443, + "region": "Global" + } + ] + } + ] + }, + { + "category": "Azure Active Directory", + "endpoints": [ + { + "domainName": "login.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "Global" + } + ] + }, + { + "domainName": "graph.windows.net", + "endpointDetails": [ + { + "port": 443, + "region": "Global" + } + ] + }, + { + "domainName": "login.microsoftonline.com", + "endpointDetails": [ + { + "port": 443, + "region": "Global" + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetService.json new file mode 100644 index 000000000000..d9409be2a41b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetService.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/OGF-Z3-06162021-Premium", + "name": "OGF-Z3-06162021-Premium", + "type": "Microsoft.ApiManagement/service", + "tags": { + "owner": "v-aswmoh", + "ReleaseName": "Z3" + }, + "location": "East US", + "etag": "AAAAAAAWN/4=", + "properties": { + "publisherEmail": "string", + "publisherName": "Test Premium", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2021-06-16T09:40:00.9453556Z", + "gatewayUrl": "https://ogf-z3-06162021-premium.azure-api.net", + "gatewayRegionalUrl": "https://ogf-z3-06162021-premium-eastus-01.regional.azure-api.net", + "portalUrl": "https://ogf-z3-06162021-premium.portal.azure-api.net", + "developerPortalUrl": "https://ogf-z3-06162021-premium.developer.azure-api.net", + "managementApiUrl": "https://ogf-z3-06162021-premium.management.azure-api.net", + "scmUrl": "https://ogf-z3-06162021-premium.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "ogf-z3-06162021-premium.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": false, + "certificateSource": "BuiltIn" + }, + { + "type": "Proxy", + "hostName": "gateway.current.int-azure-api.net", + "keyVaultId": "https://ogf-testing.vault.azure.net/secrets/current-ssl", + "negotiateClientCertificate": true, + "certificate": { + "expiry": "2022-01-08T22:32:32+00:00", + "thumbprint": "BA0C286XXXXXXXX58A4A507E3DBD51", + "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US" + }, + "defaultSslBinding": true, + "certificateSource": "Custom" + }, + { + "type": "DeveloperPortal", + "hostName": "developer.current.int-azure-api.net", + "keyVaultId": "https://ogf-testing.vault.azure.net/secrets/current-ssl", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2022-01-08T22:32:32+00:00", + "thumbprint": "BA0C286XXXXXXXX58A4A507E3DBD51", + "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US" + }, + "defaultSslBinding": false, + "certificateSource": "Custom" + }, + { + "type": "Management", + "hostName": "mgmt.current.int-azure-api.net", + "keyVaultId": "https://ogf-testing.vault.azure.net/secrets/current-ssl", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2022-01-08T22:32:32+00:00", + "thumbprint": "BA0C286XXXXXXXX58A4A507E3DBD51", + "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US" + }, + "defaultSslBinding": false, + "certificateSource": "Custom" + } + ], + "publicIPAddresses": [ + "13.92.130.49" + ], + "additionalLocations": [ + { + "location": "East US 2", + "sku": { + "name": "Premium", + "capacity": 1 + }, + "zones": [], + "publicIPAddresses": [ + "40.70.24.106" + ], + "gatewayRegionalUrl": "https://ogf-z3-06162021-premium-eastus2-01.regional.azure-api.net", + "disableGateway": false, + "platformVersion": "stv2" + } + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "false", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false" + }, + "virtualNetworkType": "None", + "certificates": [], + "disableGateway": false, + "apiVersionConstraint": { + "minApiVersion": "2019-12-01" + }, + "publicNetworkAccess": "Enabled", + "privateEndpointConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateEndpointConnections/privateEndpointProxyName", + "type": "Microsoft.ApiManagement/service/privateEndpointConnections", + "name": "privateEndpointProxyName", + "properties": { + "provisioningState": "Pending", + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/privateEndpointName" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request, thanks", + "actionsRequired": "None" + }, + "groupIds": [ + "Gateway" + ] + } + } + ], + "platformVersion": "stv2" + }, + "sku": { + "name": "Premium", + "capacity": 1 + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "principalId": "306205e7-b21a-41bf-92e2-3e28af30041e", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ogf-identity": { + "principalId": "713784d2-ee37-412a-95f0-3768f397f82d", + "clientId": "8d9791f2-0cdf-41f4-9e66-cdc39b496789" + } + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2021-06-16T09:40:00.7106733Z", + "lastModifiedBy": "foo@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-06-20T06:33:09.6159006Z" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetServiceHavingMsi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetServiceHavingMsi.json new file mode 100644 index 000000000000..8c91425c65ad --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetServiceHavingMsi.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": {}, + "location": "West Europe", + "etag": "AAAAAAAENfI=", + "properties": { + "publisherEmail": "foo@contoso.com", + "publisherName": "Contoso", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2016-04-12T00:20:15.6018952Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "gatewayRegionalUrl": "https://apimService1-westeurope-01.regional.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "developerPortalUrl": "https://apimService1.developer.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": false, + "certificateSource": "BuiltIn" + }, + { + "type": "Proxy", + "hostName": "proxy.msitesting.net", + "keyVaultId": "https://samir-msi-keyvault.vault.azure.net/secrets/msicertificate", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2020-12-18T11:11:47+00:00", + "thumbprint": "9833D531D7A45XXXXXA85908BD3692E0BD3F", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": true, + "certificateSource": "KeyVault" + } + ], + "publicIPAddresses": [ + "13.94.xxx.188" + ], + "virtualNetworkConfiguration": { + "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/dfVirtualNetwork/subnets/backendSubnet" + }, + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False" + }, + "virtualNetworkType": "External", + "disableGateway": false + }, + "sku": { + "name": "Premium", + "capacity": 1 + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "principalId": "ca1d33f7-xxxx-42ec-xxxx-d526a1ee953a", + "tenantId": "72f988bf-xxxx-41af-xxxx-2d7cd011db47", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": { + "principalId": "95194df2-9208-xxxx-xxxx-a10d2af9b5a3", + "clientId": "aaff9c7d-xxxx-4db2-xxxx-ab0e3e7806cf" + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetSsoToken.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetSsoToken.json new file mode 100644 index 000000000000..434a2ff8f8de --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetSsoToken.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "redirectUri": "https://apimService1.portal.azure-api.net:443/signin-sso?token=1%26201705301929%26eIkr3%2fnfaLs1GVJ0OVbzkJjAcwPFkEZAPM8VUXvXPf7cJ6lWsB9oUwsk2zln9x0KLkn21txCPJWWheSPq7SNeA%3d%3d" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementSubscriptionListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementSubscriptionListSecrets.json new file mode 100644 index 000000000000..9e293ced6cc9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementSubscriptionListSecrets.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "sid": "5931a769d8d14f0ad8ce13b8" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementSubscriptionRegeneratePrimaryKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementSubscriptionRegeneratePrimaryKey.json new file mode 100644 index 000000000000..d48e2966eaf5 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementSubscriptionRegeneratePrimaryKey.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "sid": "testsub" + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementSubscriptionRegenerateSecondaryKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementSubscriptionRegenerateSecondaryKey.json new file mode 100644 index 000000000000..d48e2966eaf5 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementSubscriptionRegenerateSecondaryKey.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "sid": "testsub" + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantAccessRegenerateKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantAccessRegenerateKey.json new file mode 100644 index 000000000000..40485f9c7345 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantAccessRegenerateKey.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "accessName": "access" + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantAccessSyncState.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantAccessSyncState.json new file mode 100644 index 000000000000..a545462574de --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantAccessSyncState.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "configurationName": "configuration" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/configuration/syncState", + "type": "Microsoft.ApiManagement/service/tenant/syncState", + "name": "syncState", + "properties": { + "branch": "master", + "commitId": "de891c2342c7058dde45e5e624eae7e558c94683", + "isExport": true, + "isSynced": true, + "isGitEnabled": true, + "syncDate": "2021-04-13T01:15:53.9824995Z", + "configurationChangeDate": "2021-04-13T00:11:43.862781Z", + "lastOperationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/configuration/operationResults/6074f0bd093a9d0dac3d7347" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantConfigurationDeploy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantConfigurationDeploy.json new file mode 100644 index 000000000000..327c11140360 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantConfigurationDeploy.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "configurationName": "configuration", + "parameters": { + "properties": { + "branch": "master" + } + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5a1af4ae2a6d2e0b688d7517?api-version=2021-08-01" + } + }, + "200": { + "body": { + "id": "6074e652093a9d0dac3d733c", + "type": "Microsoft.ApiManagement/service/tenant/operationResults", + "name": "6074e652093a9d0dac3d733c", + "properties": { + "status": "Failed", + "started": "2017-11-26T17:06:54.303Z", + "updated": "2017-11-26T17:07:21.777Z", + "error": { + "code": "ValidationError", + "message": "File not found: 'api-management/configuration.json'" + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantConfigurationSave.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantConfigurationSave.json new file mode 100644 index 000000000000..381a4cddc93c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantConfigurationSave.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "configurationName": "configuration", + "parameters": { + "properties": { + "branch": "master" + } + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5a1af57d2a6d2e0b688d751b?api-version=2021-08-01" + } + }, + "200": { + "body": { + "id": "6074e652093a9d0dac3d733c", + "type": "Microsoft.ApiManagement/service/tenant/operationResults", + "name": "6074e652093a9d0dac3d733c", + "properties": { + "status": "Succeeded", + "started": "2021-04-13T00:31:14.94Z", + "updated": "2021-04-13T00:31:27.59Z", + "resultInfo": "The configuration was successfully saved to master as commit c0ae274f6046912107bad734834cbf65918668b6.", + "actionLog": [] + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantConfigurationValidate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantConfigurationValidate.json new file mode 100644 index 000000000000..1116c4757605 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantConfigurationValidate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "configurationName": "configuration", + "parameters": { + "properties": { + "branch": "master" + } + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5a1af64e2a6d2e0b688d751e?api-version=2021-08-01" + } + }, + "200": { + "body": { + "id": "6074ec02093a9d0dac3d7345", + "type": "Microsoft.ApiManagement/service/tenant/operationResults", + "name": "6074ec02093a9d0dac3d7345", + "properties": { + "status": "Succeeded", + "started": "2021-04-13T00:55:30.62Z", + "updated": "2021-04-13T00:55:39.857Z", + "resultInfo": "Validation is successfull", + "actionLog": [] + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUndelete.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUndelete.json new file mode 100644 index 000000000000..473d248d71c2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUndelete.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "publisherEmail": "foo@contoso.com", + "publisherName": "foo", + "restore": true + }, + "sku": { + "name": "Developer", + "capacity": 1 + }, + "location": "South Central US" + } + }, + "responses": { + "201": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "location": "South Central US", + "etag": "AAAAAAAp3P0=", + "properties": { + "publisherEmail": "foo@contoso.com", + "publisherName": "foo", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Created", + "targetProvisioningState": "Activating", + "createdAtUtc": "2019-12-18T06:10:56.0327105Z", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true + } + ], + "virtualNetworkType": "None", + "disableGateway": false, + "apiVersionConstraint": {} + }, + "sku": { + "name": "Developer", + "capacity": 1 + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "location": "South Central US", + "etag": "AAAAAAAp3T4=", + "properties": { + "publisherEmail": "foo@contoso.com", + "publisherName": "foo", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2019-12-18T06:10:56.0327105Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "gatewayRegionalUrl": "https://apimService1-southcentralus-01.regional.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "developerPortalUrl": "https://apimService1.developer.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true + } + ], + "publicIPAddresses": [ + "23.102.171.124" + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False" + }, + "virtualNetworkType": "None", + "disableGateway": false, + "apiVersionConstraint": {} + }, + "sku": { + "name": "Developer", + "capacity": 1 + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/c2RrdGVzdGFwaW0xNTkxX0FjdF9jZTkyMmNmOQ==?api-version=2021-08-01" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApi.json new file mode 100644 index 000000000000..6149673cb4af --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApi.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "echo-api", + "If-Match": "*", + "parameters": { + "properties": { + "displayName": "Echo API New", + "serviceUrl": "http://echoapi.cloudapp.net/api2", + "path": "newecho" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api", + "type": "Microsoft.ApiManagement/service/apis", + "name": "echo-api", + "properties": { + "displayName": "Echo API New", + "apiRevision": "1", + "serviceUrl": "http://echoapi.cloudapp.net/api2", + "path": "newecho", + "protocols": [ + "https" + ], + "subscriptionKeyParameterNames": { + "header": "Ocp-Apim-Subscription-Key", + "query": "subscription-key" + }, + "isCurrent": true, + "isOnline": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiDiagnostic.json new file mode 100644 index 000000000000..e028b4b2ebe0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiDiagnostic.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "diagnosticId": "applicationinsights", + "apiId": "echo-api", + "If-Match": "*", + "parameters": { + "properties": { + "alwaysLog": "allErrors", + "loggerId": "/loggers/applicationinsights", + "sampling": { + "samplingType": "fixed", + "percentage": 50 + }, + "frontend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + }, + "backend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/apis/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "httpCorrelationProtocol": "Legacy", + "logClientIp": true, + "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest", + "sampling": { + "samplingType": "fixed", + "percentage": 100 + }, + "frontend": { + "request": { + "headers": [], + "body": { + "bytes": 100 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 100 + } + } + }, + "backend": { + "request": { + "headers": [], + "body": { + "bytes": 100 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 100 + } + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiIssue.json new file mode 100644 index 000000000000..c95ff910a43e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiIssue.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "issueId": "57d2ef278aa04f0ad01d6cdc", + "apiId": "57d1f7558aa04f15146d9d8a", + "If-Match": "*", + "parameters": { + "properties": { + "state": "closed" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc", + "type": "Microsoft.ApiManagement/service/apis/issues", + "name": "57d2ef278aa04f0ad01d6cdc", + "properties": { + "title": "New API issue", + "description": "New API issue description", + "createdDate": "2018-02-01T22:21:20.467Z", + "state": "open", + "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1", + "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiOperation.json new file mode 100644 index 000000000000..da6f745108cc --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiOperation.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "echo-api", + "operationId": "operationId", + "If-Match": "*", + "parameters": { + "properties": { + "displayName": "Retrieve resource", + "method": "GET", + "urlTemplate": "/resource", + "templateParameters": [], + "request": { + "queryParameters": [ + { + "name": "param1", + "description": "A sample parameter that is required and has a default value of \"sample\".", + "type": "string", + "defaultValue": "sample", + "required": true, + "values": [ + "sample" + ] + } + ] + }, + "responses": [ + { + "statusCode": 200, + "description": "Returned in all cases.", + "representations": [], + "headers": [] + }, + { + "statusCode": 500, + "description": "Server Error.", + "representations": [], + "headers": [] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdc", + "type": "Microsoft.ApiManagement/service/apis/operations", + "name": "57d2ef278aa04f0ad01d6cdc", + "properties": { + "displayName": "CancelOrder", + "method": "POST", + "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/CancelOrder", + "templateParameters": [], + "request": { + "description": "IFazioService_CancelOrder_InputMessage", + "queryParameters": [], + "headers": [], + "representations": [ + { + "contentType": "text/xml", + "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8", + "typeName": "CancelOrder" + } + ] + }, + "responses": [ + { + "statusCode": 200, + "description": "IFazioService_CancelOrder_OutputMessage", + "representations": [ + { + "contentType": "text/xml", + "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8", + "typeName": "CancelOrderResponse" + } + ], + "headers": [] + } + ] + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiRelease.json new file mode 100644 index 000000000000..20d59feff280 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiRelease.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "apiId": "a1", + "releaseId": "testrev", + "If-Match": "*", + "parameters": { + "properties": { + "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1", + "notes": "yahooagain" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/testrev", + "type": "Microsoft.ApiManagement/service/apis/releases", + "name": "testrev", + "properties": { + "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1", + "createdDateTime": "2018-02-08T20:38:29.173Z", + "updatedDateTime": "2018-02-08T20:38:29.173Z", + "notes": "yahoo" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiVersionSet.json new file mode 100644 index 000000000000..5e516540fecc --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiVersionSet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "versionSetId": "vs1", + "If-Match": "*", + "parameters": { + "properties": { + "displayName": "api set 1", + "versioningScheme": "Segment", + "description": "Version configuration" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/vs1", + "type": "Microsoft.ApiManagement/service/api-version-sets", + "name": "vs1", + "properties": { + "displayName": "api set 1", + "versioningScheme": "Segment", + "description": "Version configuration" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateAuthorizationServer.json new file mode 100644 index 000000000000..a1cba8b73d6e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateAuthorizationServer.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "authsid": "newauthServer", + "If-Match": "*", + "parameters": { + "properties": { + "clientId": "update", + "clientSecret": "updated" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer", + "type": "Microsoft.ApiManagement/service/authorizationServers", + "name": "newauthServer", + "properties": { + "displayName": "test3", + "description": "test server", + "clientRegistrationEndpoint": "https://www.contoso.com/apps", + "authorizationEndpoint": "https://www.contoso.com/oauth2/auth", + "authorizationMethods": [ + "GET" + ], + "clientAuthenticationMethod": [ + "Basic" + ], + "tokenEndpoint": "https://www.contoso.com/oauth2/token", + "supportState": true, + "defaultScope": "read write", + "grantTypes": [ + "authorizationCode", + "implicit" + ], + "bearerTokenSendingMethods": [ + "authorizationHeader" + ], + "clientId": "updated", + "resourceOwnerUsername": "un", + "resourceOwnerPassword": "pwd" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateBackend.json new file mode 100644 index 000000000000..e07db99ef6e6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateBackend.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "backendId": "proxybackend", + "If-Match": "*", + "parameters": { + "properties": { + "description": "description5308", + "tls": { + "validateCertificateChain": false, + "validateCertificateName": true + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/proxybackend", + "type": "Microsoft.ApiManagement/service/backends", + "name": "proxybackend", + "properties": { + "description": "description5308", + "url": "https://backendname2644/", + "protocol": "http", + "credentials": { + "query": { + "sv": [ + "xx", + "bb", + "cc" + ] + }, + "header": { + "x-my-1": [ + "val1", + "val2" + ] + }, + "authorization": { + "scheme": "Basic", + "parameter": "opensesma" + } + }, + "proxy": { + "url": "http://192.168.1.1:8080", + "username": "Contoso\\admin", + "password": "" + }, + "tls": { + "validateCertificateChain": false, + "validateCertificateName": true + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateCache.json new file mode 100644 index 000000000000..846fc963cb9b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateCache.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "cacheId": "c1", + "If-Match": "*", + "parameters": { + "properties": { + "useFromLocation": "westindia" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/c1", + "type": "Microsoft.ApiManagement/service/caches", + "name": "c1", + "properties": { + "useFromLocation": "westindia", + "description": "Redis cache instances in West India", + "connectionString": "{{5f7fbca77a891a2200f3db38}}", + "resourceId": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateDiagnostic.json new file mode 100644 index 000000000000..99487e9ba2cc --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateDiagnostic.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "diagnosticId": "applicationinsights", + "If-Match": "*", + "parameters": { + "properties": { + "alwaysLog": "allErrors", + "loggerId": "/loggers/applicationinsights", + "sampling": { + "samplingType": "fixed", + "percentage": 50 + }, + "frontend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + }, + "backend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "httpCorrelationProtocol": "Legacy", + "logClientIp": true, + "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest", + "sampling": { + "samplingType": "fixed", + "percentage": 50 + }, + "frontend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + }, + "backend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateGateway.json new file mode 100644 index 000000000000..efcc6bc83a25 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateGateway.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "gatewayId": "gw1", + "If-Match": "*", + "parameters": { + "properties": { + "description": "my gateway 1", + "locationData": { + "name": "my location" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1", + "type": "Microsoft.ApiManagement/service/gateways", + "name": "a1", + "properties": { + "description": "my gateway 1", + "locationData": { + "name": "my location" + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateGroup.json new file mode 100644 index 000000000000..097e6372c757 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateGroup.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "groupId": "tempgroup", + "If-Match": "*", + "parameters": { + "properties": { + "displayName": "temp group" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/tempgroup", + "type": "Microsoft.ApiManagement/service/groups", + "name": "tempgroup", + "properties": { + "displayName": "tempgroup", + "description": "awesome group of people", + "builtIn": false, + "type": "external", + "externalId": "aad://samiraad.onmicrosoft.com/groups/3773adf4-032e-4d25-9988-eaff9ca72eca" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateIdentityProvider.json new file mode 100644 index 000000000000..c56010869f0a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateIdentityProvider.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "identityProviderName": "facebook", + "If-Match": "*", + "parameters": { + "properties": { + "clientId": "updatedfacebookid", + "clientSecret": "updatedfacebooksecret" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/AadB2C", + "type": "Microsoft.ApiManagement/service/identityProviders", + "name": "AadB2C", + "properties": { + "clientId": "f02dafe2-b8b8-48ec-a38e-27e5c16c51e5", + "type": "aadB2C", + "authority": "login.microsoftonline.com", + "signinTenant": "contosoaadb2c.onmicrosoft.com", + "allowedTenants": [ + "contosoaadb2c.onmicrosoft.com", + "contoso2aadb2c.onmicrosoft.com" + ], + "signupPolicyName": "B2C_1_policy-signup", + "signinPolicyName": "B2C_1_policy-signin" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateLogger.json new file mode 100644 index 000000000000..3e01ac9cb232 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateLogger.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "loggerId": "eh1", + "If-Match": "*", + "parameters": { + "properties": { + "loggerType": "azureEventHub", + "description": "updating description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/eh1", + "type": "Microsoft.ApiManagement/service/loggers", + "name": "eh1", + "properties": { + "loggerType": "azureEventHub", + "description": "updating description", + "credentials": { + "connectionString": "{{Logger-Credentials-5f28745bbebeeb13cc3f7301}}" + }, + "isBuffered": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateNamedValue.json new file mode 100644 index 000000000000..59f88dae957a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateNamedValue.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "namedValueId": "testprop2", + "If-Match": "*", + "parameters": { + "properties": { + "displayName": "prop3name", + "value": "propValue", + "tags": [ + "foo", + "bar2" + ], + "secret": false + } + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=204" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2", + "type": "Microsoft.ApiManagement/service/namedValues", + "properties": { + "displayName": "prop3name", + "value": "propValue", + "tags": [ + "foo", + "bar2" + ], + "secret": false + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateOpenIdConnectProvider.json new file mode 100644 index 000000000000..a52e83ed6ddc --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateOpenIdConnectProvider.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "opid": "templateOpenIdConnect2", + "If-Match": "*", + "parameters": { + "properties": { + "clientSecret": "updatedsecret" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/openidConnectProviders/templateOpenIdConnect2", + "type": "Microsoft.ApiManagement/service/openidconnectproviders", + "name": "templateOpenIdConnect2", + "properties": { + "displayName": "templateoidprovider2", + "description": "open id provider template2", + "metadataEndpoint": "https://oidprovider-template2.net", + "clientId": "oidprovidertemplate2" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdatePortalRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdatePortalRevision.json new file mode 100644 index 000000000000..6d34cbf12a12 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdatePortalRevision.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "portalRevisionId": "20201112101010", + "If-Match": "*", + "parameters": { + "properties": { + "description": "portal revision update", + "isCurrent": true + } + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112101010?api-version=2021-08-01&asyncId=5faf16b81d9a028970d0bfbb&asyncCode=200" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2", + "type": "Microsoft.ApiManagement/service/portalRevisions", + "name": "20201112101010", + "properties": { + "description": "portal revision update", + "statusDetails": null, + "status": "completed", + "isCurrent": true, + "createdDateTime": "2020-11-13T22:47:13.397Z", + "updatedDateTime": "2020-11-13T23:29:25.34Z" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateProduct.json new file mode 100644 index 000000000000..142e7daad5f7 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateProduct.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "productId": "testproduct", + "If-Match": "*", + "parameters": { + "properties": { + "displayName": "Test Template ProductName 4" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/testproduct", + "type": "Microsoft.ApiManagement/service/products", + "name": "testproduct", + "properties": { + "displayName": "Test Template ProductName 4", + "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.", + "subscriptionRequired": true, + "approvalRequired": true, + "subscriptionsLimit": 1, + "state": "published" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateQuotaCounterKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateQuotaCounterKey.json new file mode 100644 index 000000000000..567a25ad2c3f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateQuotaCounterKey.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "quotaCounterKey": "ba", + "parameters": { + "properties": { + "callsCount": 0, + "kbTransferred": 2.5630078125 + } + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "counterKey": "ba", + "periodKey": "0_P3Y6M4DT12H30M5S", + "periodStartTime": "2014-08-04T04:24:35Z", + "periodEndTime": "2018-02-08T16:54:40Z", + "value": { + "callsCount": 5, + "kbTransferred": 2.5830078125 + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json new file mode 100644 index 000000000000..d64f25431c4a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "quotaCounterKey": "ba", + "quotaPeriodKey": "0_P3Y6M4DT12H30M5S", + "parameters": { + "properties": { + "callsCount": 0, + "kbTransferred": 0 + } + } + }, + "responses": { + "200": { + "body": { + "counterKey": "ba", + "periodKey": "0_P3Y6M4DT12H30M5S", + "periodStartTime": "2014-08-04T04:24:35Z", + "periodEndTime": "2018-02-08T16:54:40Z", + "value": { + "callsCount": 0, + "kbTransferred": 2.5625 + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateServiceDisableTls10.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateServiceDisableTls10.json new file mode 100644 index 000000000000..63cddf37078b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateServiceDisableTls10.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false" + } + } + } + }, + "responses": { + "202": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "TestExpiration": "Thu, 29 Jun 2017 18:50:40 GMT" + }, + "location": "West US", + "etag": "AAAAAAAYRPs=", + "properties": { + "publisherEmail": "admin@live.com", + "publisherName": "Contoso", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2017-06-29T17:50:42.3191122Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [], + "publicIPAddresses": [ + "40.86.176.232" + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False" + }, + "virtualNetworkType": "None" + }, + "sku": { + "name": "Standard", + "capacity": 1 + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "Owner": "sasolank", + "UID": "4f5025fe-0669-4e2e-8320-5199466e5eb3", + "Reserved": "", + "TestExpiration": "Thu, 29 Jun 2017 18:50:40 GMT", + "Pool": "Manual", + "TestSuiteExpiration": "Thu, 29 Jun 2017 18:51:46 GMT" + }, + "location": "West US", + "etag": "AAAAAAAYRPs=", + "properties": { + "publisherEmail": "admin@live.com", + "publisherName": "Contoso", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2017-06-29T17:50:42.3191122Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [], + "publicIPAddresses": [ + "40.86.176.232" + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False" + }, + "virtualNetworkType": "None" + }, + "sku": { + "name": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateServicePublisherDetails.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateServicePublisherDetails.json new file mode 100644 index 000000000000..9ff1ef257992 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateServicePublisherDetails.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "publisherEmail": "foobar@live.com", + "publisherName": "Contoso Vnext" + } + } + }, + "responses": { + "202": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "TestExpiration": "Thu, 29 Jun 2017 18:50:40 GMT" + }, + "location": "West US", + "etag": "AAAAAAAYRPs=", + "properties": { + "publisherEmail": "admin@live.com", + "publisherName": "Contoso", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2017-06-29T17:50:42.3191122Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [], + "publicIPAddresses": [ + "40.86.176.232" + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False" + }, + "virtualNetworkType": "None" + }, + "sku": { + "name": "Standard", + "capacity": 1 + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "Owner": "sasolank", + "UID": "4f5025fe-0669-4e2e-8320-5199466e5eb3", + "Reserved": "", + "TestExpiration": "Thu, 29 Jun 2017 18:50:40 GMT", + "Pool": "Manual", + "TestSuiteExpiration": "Thu, 29 Jun 2017 18:51:46 GMT" + }, + "location": "West US", + "etag": "AAAAAAAYRPs=", + "properties": { + "publisherEmail": "foobar@live.com", + "publisherName": "Contoso Vnext", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2017-06-29T17:50:42.3191122Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [], + "publicIPAddresses": [ + "40.86.176.232" + ], + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False" + }, + "virtualNetworkType": "None" + }, + "sku": { + "name": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateServiceToNewVnetAndAZs.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateServiceToNewVnetAndAZs.json new file mode 100644 index 000000000000..aa4656f77d73 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateServiceToNewVnetAndAZs.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "virtualNetworkConfiguration": { + "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/apimService1v2/subnets/default" + }, + "publicIpAddressId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/apimService1ip", + "virtualNetworkType": "External" + }, + "sku": { + "name": "Premium", + "capacity": 2 + }, + "zones": [ + "1", + "2" + ] + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/TGV2eTExMDZtMDJfVGVybV9jMmZlY2QwMA==?api-version=2021-08-01" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": {}, + "location": "West Europe", + "etag": "AAAAAABlaZ0=", + "properties": { + "publisherEmail": "foobar@contoso.com", + "publisherName": "Microsoft", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2016-04-12T00:20:15.6018952Z", + "gatewayUrl": "https://apimService1.azure-api.net", + "gatewayRegionalUrl": "https://apimService1-westeurope-01.regional.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "developerPortalUrl": "https://apimService1.developer.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService1.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": false, + "certificateSource": "BuiltIn" + }, + { + "type": "Proxy", + "hostName": "proxy.msitesting.net", + "keyVaultId": "https://demo-msi-keyvault.vault.azure.net/secrets/msicertificate", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2020-12-18T11:11:47+00:00", + "thumbprint": "9833D531D7A4XXXX766F2A85908BD3692E0BD3F", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": true, + "certificateSource": "Custom" + } + ], + "publicIPAddresses": [ + "13.94.XXX.188" + ], + "virtualNetworkConfiguration": { + "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/apimService1v2/subnets/default" + }, + "publicIpAddressId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/apimService1ip", + "virtualNetworkType": "External", + "customProperties": { + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "True", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False", + "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False" + }, + "disableGateway": false + }, + "sku": { + "name": "Premium", + "capacity": 2 + }, + "identity": { + "type": "SystemAssigned", + "principalId": "ca1d33f7-XXXX-42ec-b3e9-XXXX", + "tenantId": "72f988bf-XXXX-41af-91ab-2d7cd011db47" + }, + "zones": [ + "1", + "2" + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateSubscription.json new file mode 100644 index 000000000000..9ce374ce7992 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateSubscription.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "sid": "testsub", + "If-Match": "*", + "parameters": { + "properties": { + "displayName": "testsub" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub", + "type": "Microsoft.ApiManagement/service/subscriptions", + "name": "testsub", + "properties": { + "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b", + "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002", + "displayName": "testsub", + "state": "submitted", + "createdDate": "2017-06-02T17:59:06.223Z" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateTag.json new file mode 100644 index 000000000000..ac6bda3689f2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateTag.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "tagId": "temptag", + "If-Match": "*", + "parameters": { + "properties": { + "displayName": "temp tag" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/temptag", + "type": "Microsoft.ApiManagement/service/tags", + "name": "temptag", + "properties": { + "displayName": "tag1" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateTemplate.json new file mode 100644 index 000000000000..769779842009 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateTemplate.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "templateName": "newIssueNotificationMessage", + "If-Match": "*", + "parameters": { + "properties": { + "subject": "Your request $IssueName was received", + "body": "\r\n\r\n \r\n \r\n

Dear $DevFirstName $DevLastName,

\r\n

\r\n We are happy to let you know that your request to publish the $AppName application in the gallery has been approved. Your application has been published and can be viewed here.\r\n

\r\n

Best,

\r\n

The $OrganizationName API Team

\r\n \r\n" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/NewIssueNotificationMessage", + "type": "Microsoft.ApiManagement/service/templates", + "name": "NewIssueNotificationMessage", + "properties": { + "subject": "Your request $IssueName was received", + "body": "\r\n\r\n \r\n \r\n

Dear $DevFirstName $DevLastName,

\r\n

Thank you for contacting us. Our API team will review your issue and get back to you soon.

\r\n

\r\n Click this link to view or edit your request.\r\n

\r\n

Best,

\r\n

The $OrganizationName API Team

\r\n \r\n", + "title": "New issue received", + "description": "This email is sent to developers after they create a new topic on the Issues page of the developer portal.", + "isDefault": true, + "parameters": [ + { + "name": "DevFirstName", + "title": "Developer first name" + }, + { + "name": "DevLastName", + "title": "Developer last name" + }, + { + "name": "IssueId", + "title": "Issue id" + }, + { + "name": "IssueName", + "title": "Issue name" + }, + { + "name": "OrganizationName", + "title": "Organization name" + }, + { + "name": "DevPortalUrl", + "title": "Developer portal URL" + } + ] + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateTenantAccess.json new file mode 100644 index 000000000000..620b58bf752f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateTenantAccess.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "If-Match": "*", + "accessName": "access", + "parameters": { + "properties": { + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/access", + "type": "Microsoft.ApiManagement/service/tenant", + "name": "access", + "properties": { + "enabled": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateUser.json new file mode 100644 index 000000000000..4716c8c34763 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateUser.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "userId": "5931a75ae4bbd512a88c680b", + "If-Match": "*", + "parameters": { + "properties": { + "firstName": "foo", + "lastName": "bar", + "email": "foobar@outlook.com" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b", + "type": "Microsoft.ApiManagement/service/users", + "name": "5931a75ae4bbd512a88c680b", + "properties": { + "firstName": "foo", + "lastName": "bar", + "email": "foobar@outlook.com", + "state": "active", + "registrationDate": "2017-06-02T17:58:50.357Z", + "identities": [ + { + "provider": "Microsoft", + "id": "*************" + } + ] + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUserConfirmationPasswordSend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUserConfirmationPasswordSend.json new file mode 100644 index 000000000000..d36da4a4af75 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUserConfirmationPasswordSend.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "userId": "57127d485157a511ace86ae7" + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUserGenerateSsoUrl.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUserGenerateSsoUrl.json new file mode 100644 index 000000000000..53837d002bed --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUserGenerateSsoUrl.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "userId": "57127d485157a511ace86ae7" + }, + "responses": { + "200": { + "body": { + "value": "https://apimService1.portal.azure-api.net/signin-sso?token=57127d485157a511ace86ae7%26201706051624%267VY18MlwAom***********2bYr2bDQHg21OzQsNakExQ%3d%3d" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUserToken.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUserToken.json new file mode 100644 index 000000000000..7d3619140212 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUserToken.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2021-08-01", + "subscriptionId": "subid", + "userId": "userId1718", + "parameters": { + "properties": { + "keyType": "primary", + "expiry": "2019-04-21T00:44:24.2845269Z" + } + } + }, + "responses": { + "200": { + "body": { + "value": "userId1718&201904210044&9A1GR1f5WIhFvFmzQG+xxxxxxxxxxx/kBeu87DWad3tkasUXuvPL+MgzlwUHyg==" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/readme.go.md b/specification/apimanagement/resource-manager/readme.go.md index a1b8b3c0b661..1b9d4de0d97e 100644 --- a/specification/apimanagement/resource-manager/readme.go.md +++ b/specification/apimanagement/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/apimanagement/armapimanagement +module-name: sdk/resourcemanager/apimanagement/armapimanagement module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true @@ -21,6 +21,7 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-08 - tag: package-preview-2021-01 - tag: package-2020-12 - tag: package-2019-12 @@ -33,6 +34,15 @@ batch: - tag: package-2016-07 ``` +### Tag: package-2021-08 and go + +These settings apply only when `--tag=package-2021-08 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-08' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-08-01/$(namespace) +``` + ### Tag: package-preview-2021-01 and go These settings apply only when `--tag=package-preview-2021-01 --go` is specified on the command line. diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index 66d874436704..07eba9058b41 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -34,13 +34,64 @@ tag: package-preview-2021-04 ``` yaml modelerfour: lenient-model-deduplication: true +tag: package-2021-08 ``` + +### Tag: package-2021-08 + +These settings apply only when `--tag=package-2021-08` is specified on the command line. + +```yaml $(tag) == 'package-2021-08' +input-file: + - Microsoft.ApiManagement/stable/2021-08-01/apimanagement.json + - Microsoft.ApiManagement/stable/2021-08-01/apimapis.json + - Microsoft.ApiManagement/stable/2021-08-01/apimapisByTags.json + - Microsoft.ApiManagement/stable/2021-08-01/apimapiversionsets.json + - Microsoft.ApiManagement/stable/2021-08-01/apimauthorizationservers.json + - Microsoft.ApiManagement/stable/2021-08-01/apimbackends.json + - Microsoft.ApiManagement/stable/2021-08-01/apimcaches.json + - Microsoft.ApiManagement/stable/2021-08-01/apimcertificates.json + - Microsoft.ApiManagement/stable/2021-08-01/apimconnectivitycheck.json + - Microsoft.ApiManagement/stable/2021-08-01/apimcontenttypes.json + - Microsoft.ApiManagement/stable/2021-08-01/apimdeletedservices.json + - Microsoft.ApiManagement/stable/2021-08-01/apimdeployment.json + - Microsoft.ApiManagement/stable/2021-08-01/apimdiagnostics.json + - Microsoft.ApiManagement/stable/2021-08-01/apimemailtemplates.json + - Microsoft.ApiManagement/stable/2021-08-01/apimgateways.json + - Microsoft.ApiManagement/stable/2021-08-01/apimgroups.json + - Microsoft.ApiManagement/stable/2021-08-01/apimidentityprovider.json + - Microsoft.ApiManagement/stable/2021-08-01/apimissues.json + - Microsoft.ApiManagement/stable/2021-08-01/apimloggers.json + - Microsoft.ApiManagement/stable/2021-08-01/apimnamedvalues.json + - Microsoft.ApiManagement/stable/2021-08-01/apimnetworkstatus.json + - Microsoft.ApiManagement/stable/2021-08-01/apimnotifications.json + - Microsoft.ApiManagement/stable/2021-08-01/apimopenidconnectproviders.json + - Microsoft.ApiManagement/stable/2021-08-01/apimoutbounddependency.json + - Microsoft.ApiManagement/stable/2021-08-01/apimpolicies.json + - Microsoft.ApiManagement/stable/2021-08-01/apimpolicydescriptions.json + - Microsoft.ApiManagement/stable/2021-08-01/apimportalrevisions.json + - Microsoft.ApiManagement/stable/2021-08-01/apimportalsettings.json + - Microsoft.ApiManagement/stable/2021-08-01/apimprivatelink.json + - Microsoft.ApiManagement/stable/2021-08-01/apimproducts.json + - Microsoft.ApiManagement/stable/2021-08-01/apimproductsByTags.json + - Microsoft.ApiManagement/stable/2021-08-01/apimquotas.json + - Microsoft.ApiManagement/stable/2021-08-01/apimregions.json + - Microsoft.ApiManagement/stable/2021-08-01/apimreports.json + - Microsoft.ApiManagement/stable/2021-08-01/apimsettings.json + - Microsoft.ApiManagement/stable/2021-08-01/apimskus.json + - Microsoft.ApiManagement/stable/2021-08-01/apimsubscriptions.json + - Microsoft.ApiManagement/stable/2021-08-01/apimtagresources.json + - Microsoft.ApiManagement/stable/2021-08-01/apimtags.json + - Microsoft.ApiManagement/stable/2021-08-01/apimtenant.json + - Microsoft.ApiManagement/stable/2021-08-01/apimusers.json + - Microsoft.ApiManagement/stable/2021-08-01/definitions.json +``` ### Tag: package-preview-2021-04 These settings apply only when `--tag=package-preview-2021-04` is specified on the command line. -```yaml $(tag) == 'package-preview-2021-04' +``` yaml $(tag) == 'package-preview-2021-04' input-file: - Microsoft.ApiManagement/preview/2021-04-01-preview/apimanagement.json - Microsoft.ApiManagement/preview/2021-04-01-preview/apimapis.json @@ -75,6 +126,7 @@ input-file: - Microsoft.ApiManagement/preview/2021-04-01-preview/apimquotas.json - Microsoft.ApiManagement/preview/2021-04-01-preview/apimregions.json - Microsoft.ApiManagement/preview/2021-04-01-preview/apimreports.json + - Microsoft.ApiManagement/preview/2021-04-01-preview/apimschema.json - Microsoft.ApiManagement/preview/2021-04-01-preview/apimsettings.json - Microsoft.ApiManagement/preview/2021-04-01-preview/apimskus.json - Microsoft.ApiManagement/preview/2021-04-01-preview/apimsubscriptions.json @@ -85,6 +137,7 @@ input-file: - Microsoft.ApiManagement/preview/2021-04-01-preview/apimconnectivitycheck.json - Microsoft.ApiManagement/preview/2021-04-01-preview/definitions.json ``` + ### Tag: package-preview-2021-01 These settings apply only when `--tag=package-preview-2021-01` is specified on the command line. @@ -571,10 +624,6 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) -## AZ - -See configuration in [readme.az.md](./readme.az.md) - ## Suppression ``` yaml @@ -651,6 +700,9 @@ directive: - suppress: R4009 from: apimportalrevisions.json reason: Warning raised to error while PR was being reviewed. SystemData will implement in next preview version. + - suppress: R4009 + from: apimschema.json + reason: Warning raised to error while PR was being reviewed. SystemData will implement in next preview version. - suppress: R4009 from: apimsettings.json reason: Warning raised to error while PR was being reviewed. SystemData will implement in next preview version. @@ -672,4 +724,7 @@ directive: - suppress: R4009 from: apimprivatelink.json reason: Warning raised to error while PR was being reviewed. SystemData will implement in next preview version. + - suppress: R4009 + from: apimprivatelink.json + reason: Warning raised to error while PR was being reviewed. SystemData will implement in next preview version. ``` diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookAdd.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookAdd.json new file mode 100644 index 000000000000..978ae3841103 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookAdd.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "resourceGroupName": "my-resource-group", + "resourceName": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup", + "workbookProperties": { + "location": "west us", + "kind": "shared", + "properties": { + "displayName": "tttt", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "category": "workbook", + "description": "Sample workbook" + }, + "tags": { + "TagSample01": "sample01", + "TagSample02": "sample02" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/microsoft.insights/workbooks/deadb33f-8bee-4d3b-a059-9be8dac93960", + "type": "Microsoft.Insights/workbooks", + "location": "westus", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "kind": "shared", + "properties": { + "displayName": "Blah Blah Blah", + "userId": "userId", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "Notebook/1.0", + "category": "workbook", + "timeModified": "2021-08-24T06:56:31.6301521Z", + "storageUri": null, + "description": "Sample workbook", + "revision": "1e2f8435b98248febee70c64ac22e1bb" + }, + "tags": { + "TagSample01": "sample01", + "TagSample02": "sample02" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/microsoft.insights/workbooks/deadb33f-8bee-4d3b-a059-9be8dac93960", + "type": "Microsoft.Insights/workbooks", + "location": "westus", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "kind": "shared", + "properties": { + "displayName": "Blah Blah Blah", + "userId": "userId", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "Notebook/1.0", + "category": "workbook", + "timeModified": "2021-08-24T06:56:31.6301521Z", + "storageUri": null, + "description": "Sample workbook", + "revision": "1e2f8435b98248febee70c64ac22e1bb" + }, + "tags": { + "TagSample01": "sample01", + "TagSample02": "sample02" + } + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookDelete.json new file mode 100644 index 000000000000..ca98a38004ee --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "subscriptionId": "subid", + "resourceGroupName": "my-resource-group", + "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet.json new file mode 100644 index 000000000000..64388e923167 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", + "resourceGroupName": "my-resource-group", + "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/microsoft.insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "type": "Microsoft.Insights/workbooks", + "location": "westus", + "kind": "shared", + "properties": { + "displayName": "My New Workbook", + "userId": "userId", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "Notebook/1.0", + "category": "workbook", + "timeModified": "2021-08-24T06:56:31.6301521Z", + "storageUri": null, + "description": "Sample workbook", + "revision": "1e2f8435b98248febee70c64ac22e1bb" + }, + "tags": { + "TagSample01": "sample01", + "TagSample02": "sample02" + } + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet1.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet1.json new file mode 100644 index 000000000000..7e855e64ba66 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet1.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", + "resourceGroupName": "my-resource-group", + "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/microsoft.insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "type": "Microsoft.Insights/workbooks", + "location": "westus", + "kind": "shared", + "properties": { + "displayName": "My New Workbook", + "userId": "userId", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "Notebook/1.0", + "category": "workbook", + "timeModified": "2021-08-24T06:56:31.6301521Z", + "storageUri": null + }, + "tags": { + "TagSample01": "sample01", + "TagSample02": "sample02" + } + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedAdd.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedAdd.json new file mode 100644 index 000000000000..15c86b4574aa --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedAdd.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "resourceGroupName": "my-resource-group", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", + "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup", + "workbookProperties": { + "location": "westus", + "tags": { + "hidden-title": "tttt" + }, + "kind": "shared", + "etag": "\"4a00f78d-0000-0700-0000-5f8f616c1000\"", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + }, + "properties": { + "displayName": "tttt", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"test\"},\"name\":\"text - 0\"}],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup\"]}", + "version": "Notebook/1.0", + "category": "workbook", + "tags": [], + "description": "Sample workbook", + "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer" + } + } + }, + "responses": { + "200": { + "body": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270432", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9x19" + } + } + }, + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "type": "Microsoft.Insights/workbooks", + "location": "westus", + "tags": { + "hidden-title": "tttt" + }, + "kind": "shared", + "etag": "\"4a00f85e-0000-0700-0000-5f8f5dfa0000\"", + "properties": { + "displayName": "tttt", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.OperationalInsights/workspaces/test-ws\"]}", + "version": "Notebook/1.0", + "category": "workbook", + "userId": "70d90f65-8a70-4e42-b8d5-86gv25e0a90f", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup", + "timeModified": "2020-10-20T22:00:26.4229554Z", + "tags": [], + "description": "Sample workbook", + "revision": "1e2f8435b98248febee70c64ac22e1bb", + "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer" + } + } + }, + "201": { + "body": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270432", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9x19" + } + } + }, + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "type": "Microsoft.Insights/workbooks", + "location": "westus", + "tags": { + "hidden-title": "tttt" + }, + "kind": "user", + "etag": "\"4a00f85e-0000-0700-0000-5f8f5dfa0000\"", + "properties": { + "displayName": "tttt", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.OperationalInsights/workspaces/test-ws\"]}", + "version": "Notebook/1.0", + "category": "workbook", + "userId": "70d90f65-8a70-4e42-b8d5-86gv25e0a90f", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup", + "timeModified": "2020-10-20T22:00:26.4229554Z", + "tags": [], + "description": "Sample workbook", + "revision": "1e2f8435b98248febee70c64ac22e1bb", + "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer" + } + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedGet.json new file mode 100644 index 000000000000..ae6073404407 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedGet.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", + "resourceGroupName": "my-resource-group", + "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2" + }, + "responses": { + "200": { + "body": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270432", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9x19" + }, + "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "clientId": "47429305-c0d3-40bc-8595-6194sdfdf3dc", + "principalId": "bf9ebbc8-b92d-4752-8e66-c999d560326e0" + } + } + }, + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "type": "Microsoft.Insights/workbooks", + "location": "westcentralus", + "tags": { + "hidden-title": "azuremon" + }, + "kind": "shared", + "etag": "\"0c003cb4-0000-0600-0000-5f5203c60000\"", + "properties": { + "displayName": "azuremon", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"testing1\"},\"showPin\":false,\"name\":\"text - 0\"}],\"isLocked\":true,\"fallbackResourceIds\":[\"Azure Monitor\"]}", + "version": "Notebook/1.0", + "category": "workbook", + "userId": "51d1409c-d725-4550-ac03-98c0bef9ef07", + "sourceId": "azure monitor", + "timeModified": "2020-09-04T09:07:17.735638Z", + "tags": [], + "description": "Sample workbook", + "revision": "1e2f8435b98248febee70c64ac22e1bb", + "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer" + } + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedUpdate.json new file mode 100644 index 000000000000..e9d64ee84625 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedUpdate.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", + "resourceGroupName": "my-resource-group", + "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup", + "location": "westus", + "tags": { + "TagSample01": "sample01", + "TagSample02": "sample02" + }, + "type": "Microsoft.Insights/workbooks", + "kind": "shared", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}, + "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": {} + } + }, + "properties": { + "displayName": "tttt", + "version": "Notebook/1.0", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"test\"},\"name\":\"text - 0\"}],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/8980832b-9589-4ac2-b322-a6ae6a97f02b/resourceGroups/MyGroup\"]}", + "category": "workbook", + "isPersisted": true, + "timeModified": "2020-10-20T22:00:26.4229554Z", + "tags": [], + "description": "Sample workbook", + "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer" + } + }, + "responses": { + "201": { + "body": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270432", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9x19" + }, + "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "clientId": "47429305-c0d3-40bc-8595-6194sdfdf3dc", + "principalId": "bf9ebbc8-b92d-4752-8e66-c999d560326e0" + } + } + }, + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "type": "Microsoft.Insights/workbooks", + "location": "westus", + "tags": { + "TagSample01": "sample01", + "TagSample02": "sample02", + "hidden-title": "tttt" + }, + "kind": "shared", + "etag": "\"4a00f78d-0000-0700-0000-5f8f616c0000\"", + "properties": { + "displayName": "tttt", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"test\"},\"name\":\"text - 0\"}],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/8980832b-9589-4ac2-b322-a6ae6a97f02b/resourceGroups/MyGroup\"]}", + "version": "Notebook/1.0", + "category": "workbook", + "userId": "70d90f65-8a70-4e42-b8d5-863725e0a90f", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup", + "timeModified": "2020-10-20T22:15:08.1875458Z", + "tags": [], + "description": "Sample workbook", + "revision": "1e2f8435b98248febee70c64ac22e1bb", + "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer" + } + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionGet.json new file mode 100644 index 000000000000..ef073acb903e --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", + "resourceGroupName": "my-resource-group", + "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "revisionId": "1e2f8435b98248febee70c64ac22e1ab" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "type": "Microsoft.Insights/workbooks", + "location": "westus", + "kind": "shared", + "properties": { + "displayName": "My New Workbook", + "userId": "userId", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "Notebook/1.0", + "category": "workbook", + "timeModified": "2020-09-04T09:07:17.735638Z", + "storageUri": null, + "description": "Sample workbook", + "revision": "1e2f8435b98248febee70c64ac22e1ab" + }, + "tags": { + "TagSample01": "sample01", + "TagSample02": "sample02" + } + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionsList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionsList.json new file mode 100644 index 000000000000..f1f58ae89577 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionsList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", + "resourceGroupName": "my-resource-group", + "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "type": "Microsoft.Insights/workbooks", + "location": "westus", + "tags": {}, + "kind": "shared", + "properties": { + "displayName": "My Workbook 1", + "userId": "userId", + "sourceId": "Azure Monitor", + "serializedData": null, + "version": "Notebook/1.0", + "category": "workbook", + "timeModified": "2020-09-04T09:07:17.735638Z", + "storageUri": null, + "description": "Sample workbook", + "revision": "1e2f8435b98248febee70c64ac22e1ab" + } + }, + { + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "type": "Microsoft.Insights/workbooks", + "location": "westus", + "tags": { + "TagSample01": "sample01", + "TagSample02": "sample02" + }, + "kind": "shared", + "properties": { + "displayName": "My Workbook 2", + "userId": "userId", + "sourceId": "Azure Monitor", + "serializedData": null, + "version": "Notebook/1.0", + "category": "workbook", + "timeModified": "2020-08-04T09:07:17.735638Z", + "storageUri": null, + "description": "Sample workbook", + "revision": "1e2f8435b98248febee70c64ac22e1bb" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookUpdate.json new file mode 100644 index 000000000000..9905cd92d222 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookUpdate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", + "resourceGroupName": "my-resource-group", + "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/Default-Web-WestUS/providers/Microsoft.Web/sites/MyTestApp-CodeLens1", + "workbookProperties": { + "tags": { + "TagSample01": "sample01", + "TagSample02": "sample02" + }, + "kind": "shared", + "properties": { + "displayName": "Blah Blah Blah", + "userId": "userId", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "Notebook/1.0", + "category": "workbook", + "description": "Sample workbook" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "name": "deadb33f-8bee-4ddq-a059-9be8dac93960", + "type": "Microsoft.Insights/workbooks", + "location": "westus", + "tags": { + "TagSample01": "sample01", + "TagSample02": "sample02" + }, + "kind": "shared", + "properties": { + "displayName": "Blah Blah Blah", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "userId": "userId", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/Default-Web-WestUS/providers/Microsoft.Web/sites/MyTestApp-CodeLens1", + "version": "Notebook/1.0", + "category": "workbook", + "timeModified": "2020-10-20T22:00:26.4229554Z", + "storageUri": null, + "description": "Sample workbook", + "revision": "1e2f8435b98248febee70c64ac22e1bb" + } + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksList.json new file mode 100644 index 000000000000..3dd9830d5d0d --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksList.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", + "resourceGroupName": "my-resource-group", + "category": "workbook", + "sourceId": "/subscriptions/ad2f1a83-caac-4e21-9d2a-9ca3f87105e2/resourceGroups/Default-Web-WestUS/providers/Microsoft.Web/sites/MyTestApp-CodeLens1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "type": "Microsoft.Insights/workbooks", + "location": "westus", + "tags": {}, + "kind": "shared", + "properties": { + "displayName": "My Workbook 1", + "userId": "userId", + "sourceId": "Azure Monitor", + "serializedData": "{\"verion\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "Notebook/1.0", + "category": "workbook", + "timeModified": "2020-09-04T09:07:17.735638Z", + "storageUri": null, + "description": "Sample workbook", + "revision": "1e2f8435b98248febee70c64ac22e1bb" + } + }, + { + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/c0deea5e-3344-40f2-96f8-6f8e1c3b5722", + "name": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722", + "type": "Microsoft.Insights/workbooks", + "location": "westus", + "tags": { + "TagSample01": "sample01", + "TagSample02": "sample02" + }, + "kind": "shared", + "properties": { + "displayName": "My Workbook 2", + "userId": "userId", + "sourceId": "Azure Monitor", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "Notebook/1.0", + "category": "workbook", + "timeModified": "2020-08-04T09:07:17.735638Z", + "storageUri": null, + "description": "Sample workbook", + "revision": "1e2f8435b98248febee70c64ac22e1bb" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksList2.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksList2.json new file mode 100644 index 000000000000..adb75304e8ef --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksList2.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", + "resourceGroupName": "my-resource-group", + "category": "workbook" + }, + "responses": { + "200": { + "body": { + "value": [], + "nextLink": null + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksListSub.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksListSub.json new file mode 100644 index 000000000000..8986796960bc --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksListSub.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", + "category": "workbook", + "sourceId": "/subscriptions/ad2f1a83-caac-4e21-9d2a-9ca3f87105e2/providers/Microsoft.Web/sites/MyTestApp-CodeLens1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "type": "Microsoft.Insights/workbooks", + "location": "westus", + "tags": {}, + "kind": "shared", + "properties": { + "displayName": "My Workbook 1", + "userId": "userId", + "sourceId": "Azure Monitor", + "serializedData": "{\"verion\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "Notebook/1.0", + "category": "workbook", + "timeModified": "2020-10-20T22:00:26.4229554Z", + "storageUri": null, + "description": "Sample workbook", + "revision": "1e2f8435b98248febee70c64ac22e1bb" + } + }, + { + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/c0deea5e-3344-40f2-96f8-6f8e1c3b5722", + "name": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722", + "type": "Microsoft.Insights/workbooks", + "location": "westus", + "tags": { + "TagSample01": "sample01", + "TagSample02": "sample02" + }, + "kind": "shared", + "properties": { + "displayName": "My Workbook 2", + "userId": "userId", + "sourceId": "Azure Monitor", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "Notebook/1.0", + "category": "workbook", + "timeModified": "2020-10-20T22:00:26.4229554Z", + "storageUri": null, + "description": "Sample workbook", + "revision": "1e2f8435b98248febee70c64ac22e1bb" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksManagedList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksManagedList.json new file mode 100644 index 000000000000..7d849d06f920 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksManagedList.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac119r124af", + "resourceGroupName": "my-resource-group", + "category": "workbook", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac119r124af/resourceGroups/Default-Web-WestUS/providers/Microsoft.Web/sites/MyTestApp-CodeLens1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/6b643656-33eb-422f-aee8-3ac119r124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270433", + "principalId": "075a0ca6-4326-4434-9abf-c9b1b79f9x19" + } + } + }, + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "name": "deadb33f-8bee-4ddq-a059-9be8dac93960", + "type": "Microsoft.Insights/workbooks", + "location": "westus", + "tags": {}, + "kind": "shared", + "properties": { + "displayName": "My Workbook 1", + "userId": "userId", + "sourceId": "Azure Monitor", + "serializedData": "{\"verion\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "Notebook/1.0", + "category": "workbook", + "timeModified": "2020-10-20T22:00:26.4229554Z", + "description": "Sample workbook", + "revision": "1e2f8435b98248febee70c64ac22e1bb", + "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac119r124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer" + } + }, + { + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/c0deea5e-3344-40f2-96f8-6f8e1cdd5722", + "name": "c0deea5e-3344-40f2-96f8-6f8e1cdd5722", + "type": "Microsoft.Insights/workbooks", + "location": "westus", + "tags": { + "TagSample01": "sample01", + "TagSample02": "sample02" + }, + "kind": "shared", + "properties": { + "displayName": "My Workbook 2", + "userId": "userId", + "sourceId": "Azure Monitor", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "Notebook/1.0", + "category": "workbook", + "timeModified": "2020-10-20T21:00:26.4229554Z", + "description": "Sample workbook", + "revision": "1e2f8435b98248febee70c64ac22e1bb", + "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac119r124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer" + } + } + ] + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/workbooks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/workbooks_API.json new file mode 100644 index 000000000000..67ba82399ddd --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/workbooks_API.json @@ -0,0 +1,741 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApplicationInsightsManagementClient", + "description": "Azure Application Insights workbook type.", + "version": "2021-08-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}/providers/Microsoft.Insights/workbooks": { + "get": { + "description": "Get all private workbooks defined within a specified subscription and category.", + "operationId": "Workbooks_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CategoryParameter" + }, + { + "$ref": "#/parameters/TagsParameter" + }, + { + "$ref": "#/parameters/CanFetchWorkbookContentParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A list containing 0 or more workbook definitions.", + "schema": { + "$ref": "#/definitions/WorkbooksListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/WorkbookError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "WorkbooksListSub": { + "$ref": "./examples/WorkbooksListSub.json" + }, + "WorkbooksList2": { + "$ref": "./examples/WorkbooksList2.json" + }, + "WorkbooksManagedList": { + "$ref": "./examples/WorkbooksManagedList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks": { + "get": { + "description": "Get all Workbooks defined within a specified resource group and category.", + "operationId": "Workbooks_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/CategoryParameter" + }, + { + "$ref": "#/parameters/TagsParameter" + }, + { + "$ref": "#/parameters/SourceIdParameter" + }, + { + "$ref": "#/parameters/CanFetchWorkbookContentParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A list containing 0 or more workbook definitions.", + "schema": { + "$ref": "#/definitions/WorkbooksListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/WorkbookError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "WorkbooksList": { + "$ref": "./examples/WorkbooksList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks/{resourceName}": { + "get": { + "description": "Get a single workbook by its resourceName.", + "operationId": "Workbooks_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkbookResourceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A workbook definition.", + "schema": { + "$ref": "#/definitions/Workbook" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/WorkbookError" + } + } + }, + "x-ms-examples": { + "WorkbookGet": { + "$ref": "./examples/WorkbookGet.json" + }, + "WorkbookGet1": { + "$ref": "./examples/WorkbookGet1.json" + }, + "WorkbookManagedGet": { + "$ref": "./examples/WorkbookManagedGet.json" + } + } + }, + "delete": { + "description": "Delete a workbook.", + "operationId": "Workbooks_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkbookResourceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The workbook has been successfully deleted." + }, + "204": { + "description": "The resource doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/WorkbookError" + } + } + }, + "x-ms-examples": { + "WorkbookDelete": { + "$ref": "./examples/WorkbookDelete.json" + } + } + }, + "put": { + "description": "Create a new workbook.", + "operationId": "Workbooks_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkbookResourceNameParameter" + }, + { + "$ref": "#/parameters/SourceIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "workbookProperties", + "description": "Properties that need to be specified to create a new workbook.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Workbook" + } + } + ], + "responses": { + "200": { + "description": "The newly created workbook.", + "schema": { + "$ref": "#/definitions/Workbook" + } + }, + "201": { + "description": "The newly created workbook.", + "schema": { + "$ref": "#/definitions/Workbook" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/WorkbookError" + } + } + }, + "x-ms-examples": { + "WorkbookManagedAdd": { + "$ref": "./examples/WorkbookManagedAdd.json" + }, + "WorkbookAdd": { + "$ref": "./examples/WorkbookAdd.json" + } + } + }, + "patch": { + "description": "Updates a workbook that has already been added.", + "operationId": "Workbooks_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkbookResourceNameParameter" + }, + { + "$ref": "#/parameters/SourceIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "WorkbookUpdateParameters", + "description": "Properties that need to be specified to create a new workbook.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/WorkbookUpdateParameters" + } + } + ], + "responses": { + "201": { + "description": "The workbook definition updated.", + "schema": { + "$ref": "#/definitions/Workbook" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/WorkbookError" + } + } + }, + "x-ms-examples": { + "WorkbookManagedUpdate": { + "$ref": "./examples/WorkbookManagedUpdate.json" + }, + "WorkbookUpdate": { + "$ref": "./examples/WorkbookUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks/{resourceName}/revisions": { + "get": { + "description": "Get the revisions for the workbook defined by its resourceName.", + "operationId": "Workbooks_RevisionsList", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkbookResourceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A list containing 0 or more workbook definitions.", + "schema": { + "$ref": "#/definitions/WorkbooksListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/WorkbookError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "WorkbookRevisionsList": { + "$ref": "./examples/WorkbookRevisionsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks/{resourceName}/revisions/{revisionId}": { + "get": { + "description": "Get a single workbook revision defined by its revisionId.", + "operationId": "Workbooks_RevisionGet", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkbookResourceNameParameter" + }, + { + "$ref": "#/parameters/WorkbookRevisionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A workbook definition.", + "schema": { + "$ref": "#/definitions/Workbook" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/WorkbookError" + } + } + }, + "x-ms-examples": { + "WorkbookRevisionGet": { + "$ref": "./examples/WorkbookRevisionGet.json" + } + } + } + } + }, + "definitions": { + "WorkbookResource": { + "type": "object", + "description": "An azure resource object", + "x-ms-azure-resource": true, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "identity": { + "description": "Identity used for BYOS", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity" + } + ] + }, + "kind": { + "type": "string", + "description": "The kind of workbook. Choices are user and shared.", + "enum": [ + "user", + "shared" + ], + "x-ms-enum": { + "name": "kind", + "modelAsString": true + } + }, + "etag": { + "additionalProperties": { + "type": "string" + }, + "type": "string", + "description": "Resource etag" + } + } + }, + "WorkbooksListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Workbook" + }, + "description": "An array of workbooks." + }, + "nextLink": { + "type": "string" + } + }, + "description": "Workbook list result." + }, + "Workbook": { + "description": "An Application Insights workbook definition.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkbookResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Metadata describing a workbook for an Azure resource.", + "$ref": "#/definitions/WorkbookProperties" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData", + "readOnly": true + } + } + }, + "WorkbookProperties": { + "description": "Properties that contain a workbook.", + "type": "object", + "required": [ + "displayName", + "category", + "serializedData" + ], + "properties": { + "displayName": { + "type": "string", + "description": "The user-defined name (display name) of the workbook." + }, + "serializedData": { + "type": "string", + "x-nullable": true, + "description": "Configuration of this particular workbook. Configuration data is a string containing valid JSON" + }, + "version": { + "type": "string", + "description": "Workbook schema version format, like 'Notebook/1.0', which should match the workbook in serializedData" + }, + "timeModified": { + "type": "string", + "format": "date-time", + "description": "Date and time in UTC of the last modification that was made to this workbook definition.", + "readOnly": true + }, + "category": { + "type": "string", + "description": "Workbook category, as defined by the user at creation time." + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Being deprecated, please use the other tags field" + }, + "userId": { + "type": "string", + "description": "Unique user id of the specific user that owns this workbook.", + "readOnly": true + }, + "sourceId": { + "type": "string", + "description": "ResourceId for a source resource." + }, + "storageUri": { + "type": "string", + "x-nullable": true, + "description": "The resourceId to the storage account when bring your own storage is used" + }, + "description": { + "type": "string", + "x-nullable": true, + "description": "The description of the workbook." + }, + "revision": { + "type": "string", + "x-nullable": true, + "description": "The unique revision id for this workbook definition", + "readOnly": true + } + } + }, + "WorkbookUpdateParameters": { + "description": "The parameters that can be provided when updating workbook properties properties.", + "type": "object", + "properties": { + "kind": { + "type": "string", + "description": "The kind of workbook. Choices are user and shared.", + "enum": [ + "user", + "shared" + ], + "x-ms-enum": { + "name": "SharedTypeKind", + "modelAsString": true + } + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Metadata describing a workbook for an Azure resource.", + "$ref": "#/definitions/WorkbookPropertiesUpdateParameters" + } + } + }, + "WorkbookPropertiesUpdateParameters": { + "description": "Properties that contain a workbook for PATCH operation.", + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The user-defined name (display name) of the workbook." + }, + "serializedData": { + "type": "string", + "description": "Configuration of this particular workbook. Configuration data is a string containing valid JSON" + }, + "category": { + "type": "string", + "description": "Workbook category, as defined by the user at creation time." + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of 0 or more tags that are associated with this workbook definition" + }, + "description": { + "type": "string", + "x-nullable": true, + "description": "The description of the workbook." + }, + "revision": { + "type": "string", + "x-nullable": true, + "description": "The unique revision id for this workbook definition" + } + } + }, + "WorkbookError": { + "description": "Error response.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/WorkbookErrorDefinition", + "description": "The error details." + } + } + }, + "WorkbookErrorDefinition": { + "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 + }, + "innerError": { + "description": "Internal error details.", + "items": { + "$ref": "#/definitions/WorkbookInnerErrorTrace" + }, + "readOnly": true + } + } + }, + "WorkbookInnerErrorTrace": { + "description": "Error details", + "type": "object", + "properties": { + "trace": { + "description": "detailed error trace", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + } + }, + "parameters": { + "WorkbookResourceNameParameter": { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Application Insights component resource.", + "x-ms-parameter-location": "method" + }, + "CategoryParameter": { + "name": "category", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "workbook", + "TSG", + "performance", + "retention" + ], + "x-ms-enum": { + "name": "CategoryType", + "modelAsString": true + }, + "description": "Category of workbook to return.", + "x-ms-parameter-location": "method" + }, + "SourceIdParameter": { + "name": "sourceId", + "in": "query", + "required": false, + "type": "string", + "description": "Azure Resource Id that will fetch all linked workbooks.", + "x-ms-parameter-location": "method" + }, + "CanFetchWorkbookContentParameter": { + "name": "canFetchContent", + "in": "query", + "required": false, + "type": "boolean", + "description": "Flag indicating whether or not to return the full content for each applicable workbook. If false, only return summary content for workbooks.", + "x-ms-parameter-location": "method" + }, + "TagsParameter": { + "name": "tags", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "csv", + "description": "Tags presents on each workbook returned.", + "x-ms-parameter-location": "method" + }, + "WorkbookRevisionIdParameter": { + "name": "revisionId", + "in": "path", + "required": true, + "type": "string", + "description": "The id of the workbook's revision.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/examples/LiveTokenGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/examples/LiveTokenGet.json new file mode 100644 index 000000000000..757eac4dfcf0 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/examples/LiveTokenGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceUri": "subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/FabrikamFiberApp/providers/microsoft.insights/components/CustomAvailabilityTest/providers/microsoft.insights/generatelivetoken", + "api-version": "2021-10-14" + }, + "responses": { + "200": { + "body": { + "liveToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/examples/Operations_List.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/examples/Operations_List.json new file mode 100644 index 000000000000..a88a7c1454a9 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/examples/Operations_List.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-10-14" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "microsoft.insights/generatelivetoken", + "display": { + "provider": "Microsoft Container Instance", + "resource": "generatelivetoken", + "operation": "Gets an access token for live metrics stream data", + "description": "Gets an access token for live metrics stream data" + }, + "origin": "User" + } + ] + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/livetoken_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/livetoken_API.json new file mode 100644 index 000000000000..6b267321a6d0 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/livetoken_API.json @@ -0,0 +1,209 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApplicationInsightsManagementClient", + "x-ms-code-generation-settings": { + "name": "ApplicationInsightsManagementClient" + }, + "version": "2021-10-14" + }, + "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": { + "/providers/Microsoft.Insights/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "List available operations.", + "description": "List the available operations supported by the resource provider.", + "operationId": "Operations_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/{resourceUri}/providers/Microsoft.Insights/generatelivetoken": { + "post": { + "tags": [ + "LiveToken" + ], + "operationId": "LiveToken_Get", + "description": "**Gets an access token for live metrics stream data.**", + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json#/definitions/ErrorResponseLinkedStorage" + } + }, + "200": { + "description": "Successful response containing the live metrics stream token.", + "schema": { + "$ref": "#/definitions/LiveTokenResponse" + }, + "examples": { + "application/json": { + "liveToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" + } + } + } + }, + "x-ms-examples": { + "Get live token for resource": { + "$ref": "./examples/LiveTokenGet.json" + } + } + } + } + }, + "definitions": { + "LiveTokenResponse": { + "type": "object", + "properties": { + "liveToken": { + "type": "string", + "description": "JWT token for accessing live metrics stream data.", + "readOnly": true + } + }, + "description": "The response to a live token query." + }, + "OperationsListResult": { + "description": "Result of the List Operations operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of operations", + "type": "array", + "items": { + "$ref": "#/definitions/OperationLive" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "OperationLive": { + "description": "Represents an operation returned by the GetOperations request", + "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/OperationInfo", + "description": "Display name of the operation" + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + }, + "properties": { + "description": "Properties of the operation", + "type": "object", + "x-ms-client-flatten": true + } + } + }, + "OperationInfo": { + "description": "Information about an operation", + "type": "object", + "properties": { + "provider": { + "description": "Name of the provider", + "type": "string" + }, + "resource": { + "description": "Name of the resource type", + "type": "string" + }, + "operation": { + "description": "Name of the operation", + "type": "string" + }, + "description": { + "description": "Description of the operation", + "type": "string" + } + } + } + }, + "parameters": { + "ResourceUriParameter": { + "name": "resourceUri", + "in": "path", + "required": true, + "type": "string", + "description": "The identifier of the resource.", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + } + } +} diff --git a/specification/applicationinsights/resource-manager/readme.azureresourceschema.md b/specification/applicationinsights/resource-manager/readme.azureresourceschema.md deleted file mode 100644 index 15fdfa11ba7a..000000000000 --- a/specification/applicationinsights/resource-manager/readme.azureresourceschema.md +++ /dev/null @@ -1,173 +0,0 @@ -## AzureResourceSchema - -These settings apply only when `--azureresourceschema` is specified on the command line. - -### AzureResourceSchema multi-api - -``` yaml $(azureresourceschema) && $(multiapi) -batch: - - tag: schema-insights-2020-11-20 - - tag: schema-insights-2020-10-20 - - tag: schema-insights-2020-10-05-preview - - tag: schema-insights-2020-06-02-preview - - tag: schema-insights-2020-03-01-preview - - tag: schema-insights-2020-02-10-preview - - tag: schema-insights-2020-02-02-preview - - tag: schema-insights-2019-10-17-preview - - tag: schema-insights-2018-06-17-preview - - tag: schema-insights-2018-05-01-preview - - tag: schema-insights-2017-10-01 - - tag: schema-insights-2015-05-01 - -``` - -Please also specify `--azureresourceschema-folder=`. - -### Tag: schema-insights-2020-11-20 and azureresourceschema - -``` yaml $(tag) == 'schema-insights-2020-11-20' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.Insights/stable/2020-11-20/workbookTemplates_API.json - -``` - -### Tag: schema-insights-2020-10-20 and azureresourceschema - -``` yaml $(tag) == 'schema-insights-2020-10-20' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.Insights/stable/2020-10-20/myworkbooks_API.json - - Microsoft.Insights/stable/2020-10-20/workbooks_API.json - - Microsoft.Insights/stable/2020-10-20/workbookOperations_API.json - -``` - -### Tag: schema-insights-2020-10-05-preview and azureresourceschema - -``` yaml $(tag) == 'schema-insights-2020-10-05-preview' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.Insights/preview/2020-10-05-preview/webTests_API.json - -``` - -### Tag: schema-insights-2020-06-02-preview and azureresourceschema - -``` yaml $(tag) == 'schema-insights-2020-06-02-preview' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json - -``` - -### Tag: schema-insights-2020-03-01-preview and azureresourceschema - -``` yaml $(tag) == 'schema-insights-2020-03-01-preview' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json - -``` - -### Tag: schema-insights-2020-02-10-preview and azureresourceschema - -``` yaml $(tag) == 'schema-insights-2020-02-10-preview' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json - -``` - -### Tag: schema-insights-2020-02-02-preview and azureresourceschema - -``` yaml $(tag) == 'schema-insights-2020-02-02-preview' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.Insights/preview/2020-02-02-preview/components_API.json - -``` - -### Tag: schema-insights-2019-10-17-preview and azureresourceschema - -``` yaml $(tag) == 'schema-insights-2019-10-17-preview' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json - -``` - -### Tag: schema-insights-2018-06-17-preview and azureresourceschema - -``` yaml $(tag) == 'schema-insights-2018-06-17-preview' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json - -``` - -### Tag: schema-insights-2018-05-01-preview and azureresourceschema - -``` yaml $(tag) == 'schema-insights-2018-05-01-preview' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.Insights/preview/2018-05-01-preview/components_API.json - - Microsoft.Insights/preview/2018-05-01-preview/componentProactiveDetection_API.json - -``` - -### Tag: schema-insights-2017-10-01 and azureresourceschema - -``` yaml $(tag) == 'schema-insights-2017-10-01' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.Insights/preview/2017-10-01/eaSubscriptionMigration_API.json - - Microsoft.Insights/preview/2017-10-01/componentFeaturesAndPricing_API.json - -``` - -### Tag: schema-insights-2015-05-01 and azureresourceschema - -``` yaml $(tag) == 'schema-insights-2015-05-01' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json - - Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json - - Microsoft.Insights/stable/2015-05-01/componentApiKeys_API.json - - Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json - - Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json - - Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json - - Microsoft.Insights/stable/2015-05-01/components_API.json - - Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json - - Microsoft.Insights/stable/2015-05-01/favorites_API.json - - Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json - - Microsoft.Insights/stable/2015-05-01/webTests_API.json - - Microsoft.Insights/stable/2015-05-01/aiOperations_API.json - - Microsoft.Insights/stable/2015-05-01/workbooks_API.json - - Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json - -``` diff --git a/specification/applicationinsights/resource-manager/readme.go.md b/specification/applicationinsights/resource-manager/readme.go.md index 0d015d62389f..02735ea8ec9e 100644 --- a/specification/applicationinsights/resource-manager/readme.go.md +++ b/specification/applicationinsights/resource-manager/readme.go.md @@ -9,12 +9,13 @@ go: clear-output-folder: true ``` -### Go mult-api +### Go multi-api ``` yaml $(go) && $(multiapi) batch: - tag: package-2015-05 - tag: package-2020-02-02 + - tag: package-2021-11-01 ``` ### Tag: package-2015-05 and go @@ -34,3 +35,12 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-11-01' && $(go) +output-folder: $(go-sdk-folder)/services/preview/appinsights/mgmt/2021-11-01-preview/$(namespace) +``` \ No newline at end of file diff --git a/specification/applicationinsights/resource-manager/readme.md b/specification/applicationinsights/resource-manager/readme.md index ed7bef93c90c..a09e56a940f7 100644 --- a/specification/applicationinsights/resource-manager/readme.md +++ b/specification/applicationinsights/resource-manager/readme.md @@ -28,7 +28,7 @@ These are the global settings for the ApplicationInsights API. title: ApplicationInsightsManagementClient description: Composite Swagger for Application Insights Management Client openapi-type: arm -tag: package-2020-11-only +tag: package-2021-11-01 ``` ### Suppression @@ -222,6 +222,58 @@ directive: ``` +### Tag: package-2021-11-01 + +These settings apply only when `--tag=package-2021-11-01` is specified on the command line. + +``` yaml $(tag) == 'package-2021-11-01' +input-file: + - Microsoft.Insights/stable/2015-05-01/aiOperations_API.json + - Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json + - Microsoft.Insights/stable/2015-05-01/componentApiKeys_API.json + - Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json + - Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json + - Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json + - Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json + - Microsoft.Insights/stable/2015-05-01/favorites_API.json + - Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json + - Microsoft.Insights/stable/2015-05-01/webTests_API.json + - Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json + - Microsoft.Insights/stable/2020-11-20/workbookTemplates_API.json + - Microsoft.Insights/stable/2021-03-08/myworkbooks_API.json + - Microsoft.Insights/stable/2021-08-01/workbooks_API.json + - Microsoft.Insights/preview/2018-05-01-preview/components_API.json + - Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json + - Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json +``` + +### Tag: package-2021-10 + +These settings apply only when `--tag=package-2021-10` is specified on the command line. + +```yaml $(tag) == 'package-2021-10' +input-file: + - Microsoft.Insights/stable/2021-10-14/livetoken_API.json +``` + +### Tag: package-2021-08 + +These settings apply only when `--tag=package-2021-08` is specified on the command line. + +``` yaml $(tag) == 'package-2021-08' +input-file: + - Microsoft.Insights/stable/2021-08-01/workbooks_API.json +``` + +### Tag: package-2021-03-08-only + +These settings apply only when `--tag=package-2021-03-08-only` is specified on the command line. + +``` yaml $(tag) == 'package-2021-03-08-only' +input-file: + - Microsoft.Insights/stable/2021-03-08/myworkbooks_API.json +``` + ### Tag: package-2021-03-only These settings apply only when `--tag=package-2021-03-only` is specified on the command line. @@ -237,7 +289,7 @@ input-file: These settings apply only when `--tag=package-preview-2021-03-only` is specified on the command line. -```yaml $(tag) == 'package-preview-2021-03-only' +``` yaml $(tag) == 'package-preview-2021-03-only' input-file: - Microsoft.Insights/preview/2021-03-03-preview/diagnosticServicesToken_API.json ``` @@ -255,7 +307,7 @@ input-file: These settings apply only when `--tag=package-2020-10-only` is specified on the command line. -```yaml $(tag) == 'package-2020-10-only' +``` yaml $(tag) == 'package-2020-10-only' input-file: - Microsoft.Insights/stable/2020-10-20/workbookOperations_API.json - Microsoft.Insights/stable/2020-10-20/myworkbooks_API.json @@ -266,7 +318,7 @@ input-file: These settings apply only when `--tag=package-preview-2020-10-only` is specified on the command line. -```yaml $(tag) == 'package-preview-2020-10-only' +``` yaml $(tag) == 'package-preview-2020-10-only' input-file: - Microsoft.Insights/preview/2020-10-05-preview/webTests_API.json ``` @@ -392,6 +444,7 @@ These settings apply only when `--tag=package-2018-06-17-preview` is specified o ``` yaml $(tag) == 'package-2018-06-17-preview' input-file: - Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json +- Microsoft.Insights/preview/2018-06-17-preview/workbookOperations_API.json ``` ### Tag: package-2018-05-01-preview @@ -521,6 +574,5 @@ These settings apply only when `--tag=schema-2018-06-17-preview` is specified on ``` yaml $(tag) == 'schema-2018-06-17-preview' input-file: - Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json +- Microsoft.Insights/preview/2018-06-17-preview/workbookOperations_API.json ``` - - diff --git a/specification/applicationinsights/resource-manager/readme.python.md b/specification/applicationinsights/resource-manager/readme.python.md index 7a82c19ac38b..f0ccfb240591 100644 --- a/specification/applicationinsights/resource-manager/readme.python.md +++ b/specification/applicationinsights/resource-manager/readme.python.md @@ -25,6 +25,9 @@ batch: - tag: package-2020-02-02 - tag: package-2020-03-01-preview - tag: package-preview-2020-06-only + - tag: package-2020-11-only + - tag: package-2021-03-08-only + - tag: package-2021-08 - multiapiscript: true ``` @@ -105,7 +108,36 @@ These settings apply only when `--tag=package-preview-2020-06-only --python` is namespace: azure.mgmt.applicationinsights.v2020_06_02_preview output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2020_06_02_preview ``` + +### Tag: package-2020-11-only and python + +These settings apply only when `--tag=package-2020-11-only --python` is specified on the command line. + +``` yaml $(tag) == 'package-2020-11-only' && $(python) && $(track2) +namespace: azure.mgmt.applicationinsights.v2020_11_20 +output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2020_11_20 +``` + +### Tag: package-2021-03-08-only and python + +These settings apply only when `--tag=package-2021-03-08-only --python` is specified on the command line. + +``` yaml $(tag) == 'package-2021-03-08-only' && $(python) && $(track2) +namespace: azure.mgmt.applicationinsights.v2021_03_08 +output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2021_03_08 +``` + +### Tag: package-2021-08 and python + +These settings apply only when `--tag=package-2021-08 --python` is specified on the command line. + +``` yaml $(tag) == 'package-2021-08' && $(python) && $(track2) +namespace: azure.mgmt.applicationinsights.v2021_08_01 +output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2021_08_01 +``` + + ```yaml $(python) && $(track2) modelerfour: lenient-model-deduplication: true -``` \ No newline at end of file +``` diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/appplatform.json new file mode 100644 index 000000000000..4e96f4b01cf5 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/appplatform.json @@ -0,0 +1,5546 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-09-01-preview", + "title": "AppPlatformManagementClient", + "description": "REST API for Azure Spring Cloud" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get a Service and its properties.", + "operationId": "Services_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Service.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Services_Get": { + "$ref": "./examples/Services_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create a new Service or update an exiting Service.", + "operationId": "Services_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "resource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceResource" + } + } + ], + "responses": { + "201": { + "description": "Created. The response describes the new Service and contains a Location header to query the\r\noperation result.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "200": { + "description": "Success. The response describes the updated Service.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Service is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "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": { + "Services_CreateOrUpdate": { + "$ref": "./examples/Services_CreateOrUpdate.json" + }, + "Services_CreateOrUpdate_VNetInjection": { + "$ref": "./examples/Services_CreateOrUpdate_VNetInjection.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to delete a Service.", + "operationId": "Services_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the resource is already deleted." + }, + "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": { + "Services_Delete": { + "$ref": "./examples/Services_Delete.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to update an exiting Service.", + "operationId": "Services_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "resource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Service.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Service is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "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": { + "Services_Update": { + "$ref": "./examples/Services_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/listTestKeys": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "List test keys for a Service.", + "operationId": "Services_ListTestKeys", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the test keys.", + "schema": { + "$ref": "#/definitions/TestKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Services_ListTestKeys": { + "$ref": "./examples/Services_ListTestKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/regenerateTestKey": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Regenerate a test key for a Service.", + "operationId": "Services_RegenerateTestKey", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "regenerateTestKeyRequest", + "in": "body", + "description": "Parameters for the operation", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateTestKeyRequestPayload" + } + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/TestKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Services_RegenerateTestKey": { + "$ref": "./examples/Services_RegenerateTestKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/disableTestEndpoint": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Disable test endpoint functionality for a Service.", + "operationId": "Services_DisableTestEndpoint", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Services_DisableTestEndpoint": { + "$ref": "./examples/Services_DisableTestEndpoint.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/enableTestEndpoint": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Enable test endpoint functionality for a Service.", + "operationId": "Services_EnableTestEndpoint", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/TestKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Services_EnableTestEndpoint": { + "$ref": "./examples/Services_EnableTestEndpoint.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/stop": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Stop a Service.", + "operationId": "Services_Stop", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates the stop operation is performed in the background." + }, + "404": { + "description": "Not found. The response indicates the service does not exist.", + "x-ms-error-response": true + }, + "409": { + "description": "Conflict. The response indicates the exiting Service is now updating.", + "x-ms-error-response": true + }, + "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": { + "Services_Stop": { + "$ref": "./examples/Services_Stop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/start": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Start a Service.", + "operationId": "Services_Start", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates the stop operation is performed in the background." + }, + "404": { + "description": "Not found. The response indicates the service does not exist.", + "x-ms-error-response": true + }, + "409": { + "description": "Conflict. The response indicates the exiting Service is now updating.", + "x-ms-error-response": true + }, + "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": { + "Services_Start": { + "$ref": "./examples/Services_Start.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the config server and its properties.", + "operationId": "ConfigServers_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Config Server.", + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ConfigServers_Get": { + "$ref": "./examples/ConfigServers_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Update the config server.", + "operationId": "ConfigServers_UpdatePut", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "configServerResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Config Server.", + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Config Server is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + }, + "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": { + "ConfigServers_UpdatePut": { + "$ref": "./examples/ConfigServers_UpdatePut.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Update the config server.", + "operationId": "ConfigServers_UpdatePatch", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "configServerResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Config Server.", + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Config Server is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + }, + "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": { + "ConfigServers_UpdatePatch": { + "$ref": "./examples/ConfigServers_UpdatePatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/validate": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Check if the config server settings are valid.", + "operationId": "ConfigServers_Validate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "configServerSettings", + "in": "body", + "description": "Config server settings to be validated", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigServerSettings" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the validation result of Config Server.", + "schema": { + "$ref": "#/definitions/ConfigServerSettingsValidateResult" + } + }, + "202": { + "description": "Accepted. The response indicates the ConfigServerSetting is validating.", + "schema": { + "$ref": "#/definitions/ConfigServerSettingsValidateResult" + } + }, + "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": { + "ConfigServers_Validate": { + "$ref": "./examples/ConfigServers_Validate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the Monitoring Setting and its properties.", + "operationId": "MonitoringSettings_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Monitoring Setting.", + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "MonitoringSettings_Get": { + "$ref": "./examples/MonitoringSettings_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Update the Monitoring Setting.", + "operationId": "MonitoringSettings_UpdatePut", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "monitoringSettingResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Monitoring Setting.", + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Monitoring Setting is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + }, + "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": { + "MonitoringSettings_UpdatePut": { + "$ref": "./examples/MonitoringSettings_UpdatePut.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Update the Monitoring Setting.", + "operationId": "MonitoringSettings_UpdatePatch", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "monitoringSettingResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Monitoring Setting.", + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Monitoring Setting is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + }, + "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": { + "MonitoringSettings_UpdatePatch": { + "$ref": "./examples/MonitoringSettings_UpdatePatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get an App and its properties.", + "operationId": "Apps_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "name": "syncStatus", + "in": "query", + "description": "Indicates whether sync status", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding App.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Apps_Get": { + "$ref": "./examples/Apps_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create a new App or update an exiting App.", + "operationId": "Apps_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "name": "appResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/AppResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated App.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "201": { + "description": "Created. The response describes the new App and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting App is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "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": { + "Apps_CreateOrUpdate": { + "$ref": "./examples/Apps_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to delete an App.", + "operationId": "Apps_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + } + ], + "responses": { + "204": { + "description": "Success. The response indicates the resource doesn't exist." + }, + "200": { + "description": "Success. The response indicates the resource is deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "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": { + "Apps_Delete": { + "$ref": "./examples/Apps_Delete.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to update an exiting App.", + "operationId": "Apps_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "name": "appResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/AppResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated App.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting App is now updating and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "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": { + "Apps_Update": { + "$ref": "./examples/Apps_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in a Service.", + "operationId": "Apps_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Apps in the Service.", + "schema": { + "$ref": "#/definitions/AppResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Apps_List": { + "$ref": "./examples/Apps_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/getResourceUploadUrl": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Get an resource upload URL for an App, which may be artifacts or source archive.", + "operationId": "Apps_GetResourceUploadUrl", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the resource upload URL.", + "schema": { + "$ref": "#/definitions/ResourceUploadDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Apps_GetResourceUploadUrl": { + "$ref": "./examples/Apps_GetResourceUploadUrl.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get a Binding and its properties.", + "operationId": "Bindings_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/BindingNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Binding.", + "schema": { + "$ref": "#/definitions/BindingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Bindings_Get": { + "$ref": "./examples/Bindings_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create a new Binding or update an exiting Binding.", + "operationId": "Bindings_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/BindingNameParameter" + }, + { + "name": "bindingResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/BindingResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the created or updated Binding.", + "schema": { + "$ref": "#/definitions/BindingResource" + } + }, + "201": { + "description": "Created. The response describes the new Binding and contains a Location header to query the\r\noperation result.", + "schema": { + "$ref": "#/definitions/BindingResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Binding is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/BindingResource" + } + }, + "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": { + "Bindings_CreateOrUpdate": { + "$ref": "./examples/Bindings_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to delete a Binding.", + "operationId": "Bindings_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/BindingNameParameter" + } + ], + "responses": { + "204": { + "description": "Success. The response indicates the resource doesn't exist." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "200": { + "description": "Success. The response indicates the resource is deleted." + }, + "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": { + "Bindings_Delete": { + "$ref": "./examples/Bindings_Delete.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to update an exiting Binding.", + "operationId": "Bindings_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/BindingNameParameter" + }, + { + "name": "bindingResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/BindingResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Binding.", + "schema": { + "$ref": "#/definitions/BindingResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Binding is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/BindingResource" + } + }, + "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": { + "Bindings_Update": { + "$ref": "./examples/Bindings_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in an App.", + "operationId": "Bindings_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Bindings in the App.", + "schema": { + "$ref": "#/definitions/BindingResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Bindings_List": { + "$ref": "./examples/Bindings_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages/{storageName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the storage resource.", + "operationId": "Storages_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/StorageNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the storage.", + "schema": { + "$ref": "#/definitions/StorageResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Storages_Get": { + "$ref": "./examples/Storages_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create or update storage resource.", + "operationId": "Storages_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/StorageNameParameter" + }, + { + "name": "storageResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/StorageResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describe the existed storage updated.", + "schema": { + "$ref": "#/definitions/StorageResource" + } + }, + "201": { + "description": "Created. The response describes the new storage resource created.", + "schema": { + "$ref": "#/definitions/StorageResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting storage is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/StorageResource" + } + }, + "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": { + "Storages_CreateOrUpdate": { + "$ref": "./examples/Storages_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Delete the storage resource.", + "operationId": "Storages_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/StorageNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the storage deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "No content. The response indicates the storage doesn't exist." + }, + "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": { + "Storages_Delete": { + "$ref": "./examples/Storages_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "List all the storages of one Azure Spring Cloud instance.", + "operationId": "Storages_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe all the storages attached to one Azure Spring Cloud instance.", + "schema": { + "$ref": "#/definitions/StorageResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Storages_List": { + "$ref": "./examples/Storages_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates/{certificateName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the certificate resource.", + "operationId": "Certificates_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the certificate.", + "schema": { + "$ref": "#/definitions/CertificateResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Certificates_Get": { + "$ref": "./examples/Certificates_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create or update certificate resource.", + "operationId": "Certificates_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + }, + { + "name": "certificateResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describe the existed certificate updated.", + "schema": { + "$ref": "#/definitions/CertificateResource" + } + }, + "201": { + "description": "Created. The response describes the new certificate and contains a Location header to query the\r\noperation result.", + "schema": { + "$ref": "#/definitions/CertificateResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting certificate is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/CertificateResource" + } + }, + "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": { + "Certificates_CreateOrUpdate": { + "$ref": "./examples/Certificates_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Delete the certificate resource.", + "operationId": "Certificates_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the certificate deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "No content. The response indicates the certificate doesn't exist." + }, + "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": { + "Certificates_Delete": { + "$ref": "./examples/Certificates_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "List all the certificates of one user.", + "operationId": "Certificates_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the list of certificates in the Service.", + "schema": { + "$ref": "#/definitions/CertificateResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Certificates_List": { + "$ref": "./examples/Certificates_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Checks that the resource name is valid and is not already in use.", + "operationId": "Services_CheckNameAvailability", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "description": "the region", + "required": true, + "type": "string" + }, + { + "name": "availabilityParameters", + "in": "body", + "description": "Parameters supplied to the operation.", + "required": true, + "schema": { + "$ref": "#/definitions/NameAvailabilityParameters" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the name availability.", + "schema": { + "$ref": "#/definitions/NameAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Services_CheckNameAvailability": { + "$ref": "./examples/Services_CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the custom domain of one lifecycle application.", + "operationId": "CustomDomains_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/CustomDomainNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the custom domain.", + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CustomDomains_Get": { + "$ref": "./examples/CustomDomains_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create or update custom domain of one lifecycle application.", + "operationId": "CustomDomains_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/CustomDomainNameParameter" + }, + { + "name": "domainResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describe the existed custom domain updated.", + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "201": { + "description": "Created. The response describes the new custom domain and contains a Location header to query the\r\noperation result.", + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting custom domain is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "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": { + "CustomDomains_CreateOrUpdate": { + "$ref": "./examples/CustomDomains_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Delete the custom domain of one lifecycle application.", + "operationId": "CustomDomains_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/CustomDomainNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the custom domain deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "No content. The response indicates the custom domain doesn't exist." + }, + "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": { + "CustomDomains_Delete": { + "$ref": "./examples/CustomDomains_Delete.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Update custom domain of one lifecycle application.", + "operationId": "CustomDomains_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/CustomDomainNameParameter" + }, + { + "name": "domainResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describe the existed custom domain updated.", + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting custom domain is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "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": { + "CustomDomains_Update": { + "$ref": "./examples/CustomDomains_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "List the custom domains of one lifecycle application.", + "operationId": "CustomDomains_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the custom domain resource list of one application.", + "schema": { + "$ref": "#/definitions/CustomDomainResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "CustomDomains_List": { + "$ref": "./examples/CustomDomains_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/validateDomain": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Check the resource name is valid as well as not in use.", + "operationId": "Apps_ValidateDomain", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "name": "validatePayload", + "in": "body", + "description": "Custom domain payload to be validated", + "required": true, + "schema": { + "$ref": "#/definitions/CustomDomainValidatePayload" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describe the name is available.", + "schema": { + "$ref": "#/definitions/CustomDomainValidateResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Apps_ValidateDomain": { + "$ref": "./examples/Apps_ValidateDomain.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get a Deployment and its properties.", + "operationId": "Deployments_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Deployment.", + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Deployments_Get": { + "$ref": "./examples/Deployments_Get.json" + }, + "Deployments_Get_CustomContainer": { + "$ref": "./examples/Deployments_Get_CustomContainer.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create a new Deployment or update an exiting Deployment.", + "operationId": "Deployments_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "deploymentResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + } + ], + "responses": { + "201": { + "description": "Created. The response describes the new Deployment and contains a Location header to query the\r\noperation result.", + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "200": { + "description": "Success. The response describes the updated Deployment.", + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Deployment is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "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": { + "Deployments_CreateOrUpdate": { + "$ref": "./examples/Deployments_CreateOrUpdate.json" + }, + "Deployments_CreateOrUpdate_CustomContainer": { + "$ref": "./examples/Deployments_CreateOrUpdate_CustomContainer.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to delete a Deployment.", + "operationId": "Deployments_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is deleted." + }, + "204": { + "description": "Success. The response indicates the resource doesn't exist." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "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": { + "Deployments_Delete": { + "$ref": "./examples/Deployments_Delete.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to update an exiting Deployment.", + "operationId": "Deployments_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "deploymentResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates the exiting Deployment is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "200": { + "description": "Success. The response describes the updated Deployment.", + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "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": { + "Deployments_Update": { + "$ref": "./examples/Deployments_Update.json" + }, + "Deployments_Update_CustomContainer": { + "$ref": "./examples/Deployments_Update_CustomContainer.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in an App.", + "operationId": "Deployments_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "name": "version", + "in": "query", + "description": "Version of the deployments to be listed", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "uniqueItems": false + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Deployments in the App.", + "schema": { + "$ref": "#/definitions/DeploymentResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Deployments_List": { + "$ref": "./examples/Deployments_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/deployments": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "List deployments for a certain service", + "operationId": "Deployments_ListForCluster", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "version", + "in": "query", + "description": "Version of the deployments to be listed", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "uniqueItems": false + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DeploymentResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Deployments_ListForCluster": { + "$ref": "./examples/Deployments_ListForCluster.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/start": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Start the deployment.", + "operationId": "Deployments_Start", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "202": { + "description": "Accepted. The response indicates the Deployment is now starting and contains a Location header to\r\nquery the operation result." + }, + "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": { + "Deployments_Start": { + "$ref": "./examples/Deployments_Start.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/stop": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Stop the deployment.", + "operationId": "Deployments_Stop", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "202": { + "description": "Accepted. The response indicates the Deployment is now stopping and contains a Location header to\r\nquery the operation result." + }, + "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": { + "Deployments_Stop": { + "$ref": "./examples/Deployments_Stop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/restart": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Restart the deployment.", + "operationId": "Deployments_Restart", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "202": { + "description": "Accepted. The response indicates the Deployment is now restarting and contains a Location header\r\nto query the operation result." + }, + "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": { + "Deployments_Restart": { + "$ref": "./examples/Deployments_Restart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/getLogFileUrl": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Get deployment log file URL", + "operationId": "Deployments_GetLogFileUrl", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response contains the log file URL.", + "schema": { + "$ref": "#/definitions/LogFileUrlResponse" + } + }, + "204": { + "description": "Success. The deployment does not have log file." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Deployments_GetLogFileUrl": { + "$ref": "./examples/Deployments_GetLogFileUrl.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/generateHeapDump": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Generate Heap Dump", + "operationId": "Deployments_GenerateHeapDump", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "diagnosticParameters", + "in": "body", + "description": "Parameters for the diagnostic operation", + "required": true, + "schema": { + "$ref": "#/definitions/DiagnosticParameters" + } + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates a heap dump is generating." + }, + "200": { + "description": "Success. A heap dump was generated." + }, + "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": { + "Deployments_GenerateHeapDump": { + "$ref": "./examples/Deployments_GenerateHeapDump.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/generateThreadDump": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Generate Thread Dump", + "operationId": "Deployments_GenerateThreadDump", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "diagnosticParameters", + "in": "body", + "description": "Parameters for the diagnostic operation", + "required": true, + "schema": { + "$ref": "#/definitions/DiagnosticParameters" + } + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates a thread dump is generating." + }, + "200": { + "description": "Success. A thread dump was generated." + }, + "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": { + "Deployments_GenerateHeapDump": { + "$ref": "./examples/Deployments_GenerateThreadDump.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/StartJFR": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Start JFR", + "operationId": "Deployments_StartJFR", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "diagnosticParameters", + "in": "body", + "description": "Parameters for the diagnostic operation", + "required": true, + "schema": { + "$ref": "#/definitions/DiagnosticParameters" + } + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates a JFR is starting." + }, + "200": { + "description": "Success. A JFR generated." + }, + "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": { + "Deployments_StartJFR": { + "$ref": "./examples/Deployments_StartJFR.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/Spring": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in a subscription.", + "operationId": "Services_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Services in the subscription.", + "schema": { + "$ref": "#/definitions/ServiceResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Services_ListBySubscription": { + "$ref": "./examples/Services_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in a resource group.", + "operationId": "Services_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Services in the resource group.", + "schema": { + "$ref": "#/definitions/ServiceResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Services_List": { + "$ref": "./examples/Services_List.json" + } + } + } + }, + "/providers/Microsoft.AppPlatform/operations": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Lists all of the available REST API operations of the Microsoft.AppPlatform provider.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of operations.", + "schema": { + "$ref": "#/definitions/AvailableOperations" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/providers/Microsoft.AppPlatform/runtimeVersions": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Lists all of the available runtime versions supported by Microsoft.AppPlatform provider.", + "operationId": "RuntimeVersions_ListRuntimeVersions", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the details of all supported deployment runtime versions.", + "schema": { + "$ref": "#/definitions/AvailableRuntimeVersions" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "RuntimeVersions_ListRuntimeVersions": { + "$ref": "./examples/RuntimeVersions_ListRuntimeVersions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/skus": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Lists all of the available skus of the Microsoft.AppPlatform provider.", + "operationId": "Skus_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ResourceSkuCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Skus_List": { + "$ref": "./examples/Skus_List.json" + } + } + } + } + }, + "definitions": { + "ServiceResource": { + "description": "Service resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ClusterResourceProperties", + "description": "Properties of the Service resource", + "x-ms-client-flatten": false + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Sku of the Service resource" + } + } + }, + "TrackedResource": { + "description": "The resource model definition for a ARM tracked top level resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "The GEO location of the resource.", + "type": "string" + }, + "tags": { + "description": "Tags of the service which is a list of key value pairs that describe the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "Resource": { + "description": "The core properties of ARM resources.", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified resource Id for 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 + } + }, + "x-ms-azure-resource": true + }, + "ClusterResourceProperties": { + "description": "Service properties payload", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the Service", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Deleted", + "Succeeded", + "Failed", + "Moving", + "Moved", + "MoveFailed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "networkProfile": { + "$ref": "#/definitions/NetworkProfile", + "description": "Network profile of the Service" + }, + "version": { + "format": "int32", + "description": "Version of the Service", + "type": "integer", + "readOnly": true + }, + "serviceId": { + "description": "ServiceInstanceEntity GUID which uniquely identifies a created resource", + "type": "string", + "readOnly": true + }, + "powerState": { + "description": "Power state of the Service", + "enum": [ + "Running", + "Stopped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PowerState", + "modelAsString": true + } + } + } + }, + "ManagedIdentityProperties": { + "description": "Managed identity properties retrieved from ARM request headers.", + "type": "object", + "properties": { + "type": { + "description": "Type of the managed identity", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedIdentityType", + "modelAsString": true + } + }, + "principalId": { + "description": "Principal Id", + "type": "string" + }, + "tenantId": { + "description": "Tenant Id", + "type": "string" + } + } + }, + "Sku": { + "description": "Sku of Azure Spring Cloud", + "type": "object", + "properties": { + "name": { + "description": "Name of the Sku", + "type": "string", + "default": "S0" + }, + "tier": { + "description": "Tier of the Sku", + "type": "string", + "default": "Standard" + }, + "capacity": { + "format": "int32", + "description": "Current capacity of the target resource", + "type": "integer" + } + } + }, + "ConfigServerSettingsValidateResult": { + "description": "Validation result for config server settings", + "type": "object", + "properties": { + "isValid": { + "description": "Indicate if the config server settings are valid", + "type": "boolean" + }, + "details": { + "description": "The detail validation results", + "type": "array", + "items": { + "$ref": "#/definitions/ConfigServerSettingsErrorRecord" + } + } + } + }, + "ConfigServerSettingsErrorRecord": { + "description": "Error record of the config server settings", + "type": "object", + "properties": { + "name": { + "description": "The name of the config server settings error record", + "type": "string" + }, + "uri": { + "description": "The uri of the config server settings error record", + "type": "string" + }, + "messages": { + "description": "The detail error messages of the record", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ConfigServerResource": { + "description": "Config Server resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ConfigServerProperties", + "description": "Properties of the Config Server resource", + "x-ms-client-flatten": false + } + } + }, + "ConfigServerProperties": { + "description": "Config server git properties payload", + "type": "object", + "properties": { + "provisioningState": { + "description": "State of the config server.", + "enum": [ + "NotAvailable", + "Deleted", + "Failed", + "Succeeded", + "Updating" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ConfigServerState", + "modelAsString": true + } + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Error when apply config server settings." + }, + "configServer": { + "$ref": "#/definitions/ConfigServerSettings", + "description": "Settings of config server." + } + } + }, + "MonitoringSettingResource": { + "description": "Monitoring Setting resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MonitoringSettingProperties", + "description": "Properties of the Monitoring Setting resource", + "x-ms-client-flatten": false + } + } + }, + "MonitoringSettingProperties": { + "description": "Monitoring Setting properties payload", + "type": "object", + "properties": { + "provisioningState": { + "description": "State of the Monitoring Setting.", + "enum": [ + "NotAvailable", + "Failed", + "Succeeded", + "Updating" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MonitoringSettingState", + "modelAsString": true + } + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Error when apply Monitoring Setting changes." + }, + "traceEnabled": { + "description": "Indicates whether enable the trace functionality, which will be deprecated since api version 2020-11-01-preview. Please leverage appInsightsInstrumentationKey to indicate if monitoringSettings enabled or not", + "type": "boolean" + }, + "appInsightsInstrumentationKey": { + "description": "Target application insight instrumentation key, null or whitespace include empty will disable monitoringSettings", + "type": "string" + }, + "appInsightsSamplingRate": { + "description": "Indicates the sampling rate of application insight agent, should be in range [0.0, 100.0]", + "format": "double", + "maximum": 100.0, + "minimum": 0.0, + "type": "number" + }, + "appInsightsAgentVersions": { + "$ref": "#/definitions/applicationInsightsAgentVersions", + "description": "Indicates the versions of application insight agent" + } + } + }, + "applicationInsightsAgentVersions": { + "description": "Application Insights agent versions properties payload", + "type": "object", + "properties": { + "java": { + "description": "Indicates the version of application insight java agent", + "type": "string", + "readOnly": true + } + } + }, + "NetworkProfile": { + "description": "Service network profile payload", + "type": "object", + "properties": { + "serviceRuntimeSubnetId": { + "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Service Runtime", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "appSubnetId": { + "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Apps", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "serviceCidr": { + "description": "Azure Spring Cloud service reserved CIDR", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "serviceRuntimeNetworkResourceGroup": { + "description": "Name of the resource group containing network resources of Azure Spring Cloud Service Runtime", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "appNetworkResourceGroup": { + "description": "Name of the resource group containing network resources of Azure Spring Cloud Apps", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "outboundIPs": { + "description": "Desired outbound IP resources for Azure Spring Cloud instance.", + "type": "object", + "readOnly": true, + "properties": { + "publicIPs": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "A list of public IP addresses." + } + } + }, + "requiredTraffics": { + "description": "Required inbound or outbound traffics for Azure Spring Cloud instance.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RequiredTraffic" + } + } + } + }, + "RequiredTraffic": { + "description": "Required inbound or outbound traffic for Azure Spring Cloud instance.", + "type": "object", + "properties": { + "protocol": { + "description": "The protocol of required traffic", + "type": "string", + "readOnly": true + }, + "port": { + "description": "The port of required traffic", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "ips": { + "description": "The ip list of required traffic", + "type": "array", + "readOnly": true, + "items": { + "type": "string" + } + }, + "fqdns": { + "description": "The FQDN list of required traffic", + "type": "array", + "readOnly": true, + "items": { + "type": "string" + } + }, + "direction": { + "description": "The direction of required traffic", + "type": "string", + "readOnly": true, + "enum": [ + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "trafficDirection", + "modelAsString": true + } + } + } + }, + "Error": { + "description": "The error code compose of code and message.", + "type": "object", + "properties": { + "code": { + "description": "The code of error.", + "type": "string" + }, + "message": { + "description": "The message of error.", + "type": "string" + } + } + }, + "ConfigServerSettings": { + "description": "The settings of config server.", + "type": "object", + "properties": { + "gitProperty": { + "$ref": "#/definitions/ConfigServerGitProperty", + "description": "Property of git environment." + } + } + }, + "ConfigServerGitProperty": { + "description": "Property of git.", + "required": [ + "uri" + ], + "type": "object", + "properties": { + "repositories": { + "description": "Repositories of git.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/GitPatternRepository" + } + }, + "uri": { + "description": "URI of the repository", + "type": "string" + }, + "label": { + "description": "Label of the repository", + "type": "string" + }, + "searchPaths": { + "description": "Searching path of the repository", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "username": { + "description": "Username of git repository basic auth.", + "type": "string" + }, + "password": { + "description": "Password of git repository basic auth.", + "type": "string" + }, + "hostKey": { + "description": "Public sshKey of git repository.", + "type": "string" + }, + "hostKeyAlgorithm": { + "description": "SshKey algorithm of git repository.", + "type": "string" + }, + "privateKey": { + "description": "Private sshKey algorithm of git repository.", + "type": "string" + }, + "strictHostKeyChecking": { + "description": "Strict host key checking or not.", + "type": "boolean" + } + } + }, + "GitPatternRepository": { + "description": "Git repository property payload", + "required": [ + "name", + "uri" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of the repository", + "type": "string" + }, + "pattern": { + "description": "Collection of pattern of the repository", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "uri": { + "description": "URI of the repository", + "type": "string" + }, + "label": { + "description": "Label of the repository", + "type": "string" + }, + "searchPaths": { + "description": "Searching path of the repository", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "username": { + "description": "Username of git repository basic auth.", + "type": "string" + }, + "password": { + "description": "Password of git repository basic auth.", + "type": "string" + }, + "hostKey": { + "description": "Public sshKey of git repository.", + "type": "string" + }, + "hostKeyAlgorithm": { + "description": "SshKey algorithm of git repository.", + "type": "string" + }, + "privateKey": { + "description": "Private sshKey algorithm of git repository.", + "type": "string" + }, + "strictHostKeyChecking": { + "description": "Strict host key checking or not.", + "type": "boolean" + } + } + }, + "TestKeys": { + "description": "Test keys payload", + "type": "object", + "properties": { + "primaryKey": { + "description": "Primary key", + "type": "string" + }, + "secondaryKey": { + "description": "Secondary key", + "type": "string" + }, + "primaryTestEndpoint": { + "description": "Primary test endpoint", + "type": "string" + }, + "secondaryTestEndpoint": { + "description": "Secondary test endpoint", + "type": "string" + }, + "enabled": { + "description": "Indicates whether the test endpoint feature enabled or not", + "type": "boolean" + } + } + }, + "RegenerateTestKeyRequestPayload": { + "description": "Regenerate test key request payload", + "required": [ + "keyType" + ], + "type": "object", + "properties": { + "keyType": { + "description": "Type of the test key", + "enum": [ + "Primary", + "Secondary" + ], + "type": "string", + "x-ms-enum": { + "name": "TestKeyType", + "modelAsString": true + } + } + } + }, + "AppResource": { + "description": "App resource payload", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AppResourceProperties", + "description": "Properties of the App resource", + "x-ms-client-flatten": false + }, + "identity": { + "$ref": "#/definitions/ManagedIdentityProperties", + "description": "The Managed Identity type of the app resource" + }, + "location": { + "description": "The GEO location of the application, always the same with its parent resource", + "type": "string" + } + } + }, + "ProxyResource": { + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "AppResourceProperties": { + "description": "App resource properties payload", + "type": "object", + "properties": { + "public": { + "description": "Indicates whether the App exposes public endpoint", + "type": "boolean" + }, + "url": { + "description": "URL of the App", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state of the App", + "enum": [ + "Succeeded", + "Failed", + "Creating", + "Updating" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AppResourceProvisioningState", + "modelAsString": true + } + }, + "activeDeploymentName": { + "description": "Name of the active deployment of the App", + "type": "string" + }, + "fqdn": { + "description": "Fully qualified dns Name.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "httpsOnly": { + "description": "Indicate if only https is allowed.", + "type": "boolean", + "default": false + }, + "createdTime": { + "format": "date-time", + "description": "Date time when the resource is created", + "type": "string", + "readOnly": true + }, + "temporaryDisk": { + "$ref": "#/definitions/TemporaryDisk", + "description": "Temporary disk settings" + }, + "persistentDisk": { + "$ref": "#/definitions/PersistentDisk", + "description": "Persistent disk settings" + }, + "customPersistentDisks": { + "$ref": "#/definitions/CustomPersistentDiskCollection", + "description": "List of custom persistent disks" + }, + "enableEndToEndTLS": { + "description": "Indicate if end to end TLS is enabled.", + "type": "boolean", + "default": false + }, + "loadedCertificates": { + "description": "Collection of loaded certificates", + "$ref": "#/definitions/LoadedCertificateCollection" + } + } + }, + "TemporaryDisk": { + "description": "Temporary disk payload", + "type": "object", + "properties": { + "sizeInGB": { + "format": "int32", + "description": "Size of the temporary disk in GB", + "maximum": 5.0, + "minimum": 0.0, + "type": "integer" + }, + "mountPath": { + "description": "Mount path of the temporary disk", + "type": "string", + "default": "/tmp" + } + } + }, + "PersistentDisk": { + "description": "Persistent disk payload", + "type": "object", + "properties": { + "sizeInGB": { + "format": "int32", + "description": "Size of the persistent disk in GB", + "maximum": 50.0, + "minimum": 0.0, + "type": "integer" + }, + "usedInGB": { + "format": "int32", + "description": "Size of the used persistent disk in GB", + "maximum": 50.0, + "minimum": 0.0, + "type": "integer", + "readOnly": true + }, + "mountPath": { + "description": "Mount path of the persistent disk", + "type": "string" + } + } + }, + "LoadedCertificate": { + "description": "Loaded certificate payload", + "required": [ + "resourceId" + ], + "type": "object", + "properties": { + "resourceId": { + "description": "Resource Id of loaded certificate", + "type": "string" + }, + "loadTrustStore": { + "description": "Indicate whether the certificate will be loaded into default trust store, only work for Java runtime.", + "type": "boolean", + "default": false + } + } + }, + "LoadedCertificateCollection": { + "description": "Collection of loaded certificate resources list and a possible link for next page.", + "type": "array", + "items": { + "$ref": "#/definitions/LoadedCertificate" + } + }, + "AppResourceCollection": { + "description": "Object that includes an array of App resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of App resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/AppResource" + } + }, + "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" + } + } + }, + "ResourceUploadDefinition": { + "description": "Resource upload definition payload", + "type": "object", + "properties": { + "relativePath": { + "description": "Source relative path", + "type": "string" + }, + "uploadUrl": { + "description": "Upload URL", + "type": "string" + } + } + }, + "BindingResource": { + "description": "Binding resource payload", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BindingResourceProperties", + "description": "Properties of the Binding resource", + "x-ms-client-flatten": false + } + } + }, + "BindingResourceProperties": { + "description": "Binding resource properties payload", + "type": "object", + "properties": { + "resourceName": { + "description": "The name of the bound resource", + "type": "string", + "readOnly": true + }, + "resourceType": { + "description": "The standard Azure resource type of the bound resource", + "type": "string", + "readOnly": true + }, + "resourceId": { + "description": "The Azure resource id of the bound resource", + "type": "string" + }, + "key": { + "description": "The key of the bound resource", + "type": "string" + }, + "bindingParameters": { + "description": "Binding parameters of the Binding resource", + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "generatedProperties": { + "description": "The generated Spring Boot property file for this binding. The secret will be deducted.", + "type": "string", + "readOnly": true + }, + "createdAt": { + "description": "Creation time of the Binding resource", + "type": "string", + "readOnly": true + }, + "updatedAt": { + "description": "Update time of the Binding resource", + "type": "string", + "readOnly": true + } + } + }, + "BindingResourceCollection": { + "description": "Object that includes an array of Binding resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of Binding resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/BindingResource" + } + }, + "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" + } + } + }, + "CertificateResource": { + "description": "Certificate resource payload.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CertificateProperties", + "description": "Properties of the certificate resource payload.", + "x-ms-client-flatten": false + } + } + }, + "CertificateProperties": { + "description": "Certificate resource payload.", + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "description": "The type of the certificate source.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "thumbprint": { + "description": "The thumbprint of certificate.", + "type": "string", + "readOnly": true + }, + "issuer": { + "description": "The issuer of certificate.", + "type": "string", + "readOnly": true + }, + "issuedDate": { + "description": "The issue date of certificate.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "description": "The expiration date of certificate.", + "type": "string", + "readOnly": true + }, + "activateDate": { + "description": "The activate date of certificate.", + "type": "string", + "readOnly": true + }, + "subjectName": { + "description": "The subject name of certificate.", + "type": "string", + "readOnly": true + }, + "dnsNames": { + "description": "The domain list of certificate.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + }, + "discriminator": "type" + }, + "KeyVaultCertificateProperties": { + "description": "Properties of certificate imported from key vault.", + "required": [ + "type", + "vaultUri", + "keyVaultCertName" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CertificateProperties" + } + ], + "properties": { + "vaultUri": { + "description": "The vault uri of user key vault.", + "type": "string" + }, + "keyVaultCertName": { + "description": "The certificate name of key vault.", + "type": "string" + }, + "certVersion": { + "description": "The certificate version of key vault.", + "type": "string" + }, + "excludePrivateKey": { + "description": "Optional. If set to true, it will not import private key from key vault.", + "type": "boolean", + "default": false + } + }, + "x-ms-discriminator-value": "KeyVaultCertificate" + }, + "ContentCertificateProperties": { + "description": "Properties of certificate imported from key vault.", + "required": [ + "type", + "content" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CertificateProperties" + } + ], + "properties": { + "content": { + "description": "The content of uploaded certificate.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ContentCertificate" + }, + "CertificateResourceCollection": { + "description": "Collection compose of certificate resources list and a possible link for next page.", + "type": "object", + "properties": { + "value": { + "description": "The certificate resources list.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/CertificateResource" + } + }, + "nextLink": { + "description": "The link to next page of certificate list.", + "type": "string" + } + } + }, + "StorageResource": { + "description": "Storage resource payload.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StorageProperties", + "description": "Properties of the storage resource payload.", + "x-ms-client-flatten": false + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + } + }, + "StorageProperties": { + "description": "Storage resource payload.", + "type": "object", + "required": [ + "storageType" + ], + "properties": { + "storageType": { + "description": "The type of the storage.", + "enum": [ + "StorageAccount" + ], + "type": "string" + } + }, + "discriminator": "storageType" + }, + "StorageAccount": { + "description": "storage resource of type Azure Storage Account.", + "type": "object", + "required": [ + "storageType", + "accountName", + "accountKey" + ], + "allOf": [ + { + "$ref": "#/definitions/StorageProperties" + } + ], + "properties": { + "accountName": { + "description": "The account name of the Azure Storage Account.", + "type": "string" + }, + "accountKey": { + "description": "The account key of the Azure Storage Account.", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create", + "update" + ] + } + }, + "x-ms-discriminator-value": "StorageAccount" + }, + "StorageResourceCollection": { + "description": "Collection compose of storage resources list and a possible link for next page.", + "type": "object", + "properties": { + "value": { + "description": "The storage resources list.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/StorageResource" + } + }, + "nextLink": { + "description": "The link to next page of storage list.", + "type": "string" + } + } + }, + "CustomPersistentDiskResource": { + "description": "Custom persistent disk resource payload.", + "type": "object", + "required": [ + "storageId" + ], + "properties": { + "customPersistentDiskProperties": { + "$ref": "#/definitions/CustomPersistentDiskProperties", + "description": "Properties of the custom persistent disk resource payload.", + "x-ms-client-flatten": false + }, + "storageId": { + "description": "The resource id of Azure Spring Cloud Storage resource.", + "type": "string" + } + } + }, + "CustomPersistentDiskProperties": { + "description": "Custom persistent disk resource payload.", + "required": [ + "type", + "mountPath" + ], + "type": "object", + "properties": { + "type": { + "description": "The type of the underlying resource to mount as a persistent disk.", + "enum": [ + "AzureFileVolume" + ], + "type": "string" + }, + "mountPath": { + "description": "The mount path of the persistent disk.", + "type": "string" + }, + "readOnly": { + "description": "Indicates whether the persistent disk is a readOnly one.", + "type": "boolean" + }, + "mountOptions": { + "description": "These are the mount options for a persistent disk.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + }, + "discriminator": "type" + }, + "CustomPersistentDiskCollection": { + "description": "Collection of persistent disk resources list and a possible link for next page.", + "type": "array", + "items": { + "$ref": "#/definitions/CustomPersistentDiskResource" + } + }, + "AzureFileVolume": { + "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", + "type": "object", + "required": [ + "type", + "mountPath", + "shareName" + ], + "allOf": [ + { + "$ref": "#/definitions/CustomPersistentDiskProperties" + } + ], + "properties": { + "shareName": { + "description": "The share name of the Azure File share.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureFileVolume" + }, + "NameAvailabilityParameters": { + "description": "Name availability parameters payload", + "required": [ + "type", + "name" + ], + "type": "object", + "properties": { + "type": { + "description": "Type of the resource to check name availability", + "type": "string" + }, + "name": { + "description": "Name to be checked", + "type": "string" + } + } + }, + "NameAvailability": { + "description": "Name availability result payload", + "type": "object", + "properties": { + "nameAvailable": { + "description": "Indicates whether the name is available", + "type": "boolean" + }, + "reason": { + "description": "Reason why the name is not available", + "type": "string" + }, + "message": { + "description": "Message why the name is not available", + "type": "string" + } + }, + "readOnly": true + }, + "CustomDomainResource": { + "description": "Custom domain resource payload.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CustomDomainProperties", + "description": "Properties of the custom domain resource.", + "x-ms-client-flatten": false + } + } + }, + "CustomDomainProperties": { + "description": "Custom domain of app resource payload.", + "type": "object", + "properties": { + "thumbprint": { + "description": "The thumbprint of bound certificate.", + "type": "string" + }, + "appName": { + "description": "The app name of domain.", + "type": "string", + "readOnly": true + }, + "certName": { + "description": "The bound certificate name of domain.", + "type": "string" + } + } + }, + "CustomDomainResourceCollection": { + "description": "Collection compose of a custom domain resources list and a possible link for next page.", + "type": "object", + "properties": { + "value": { + "description": "The custom domain resources list.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "nextLink": { + "description": "The link to next page of custom domain list.", + "type": "string" + } + } + }, + "CustomDomainValidatePayload": { + "description": "Custom domain validate payload.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "Name to be validated", + "type": "string" + } + } + }, + "CustomDomainValidateResult": { + "description": "Validation result for custom domain.", + "type": "object", + "properties": { + "isValid": { + "description": "Indicates if domain name is valid.", + "type": "boolean" + }, + "message": { + "description": "Message of why domain name is invalid.", + "type": "string" + } + } + }, + "DeploymentResource": { + "description": "Deployment resource payload", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DeploymentResourceProperties", + "description": "Properties of the Deployment resource", + "x-ms-client-flatten": false + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Sku of the Deployment resource" + } + } + }, + "DeploymentResourceProperties": { + "description": "Deployment resource properties payload", + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/UserSourceInfo", + "description": "Uploaded source information of the deployment." + }, + "appName": { + "description": "App name of the deployment", + "type": "string", + "readOnly": true + }, + "deploymentSettings": { + "$ref": "#/definitions/DeploymentSettings", + "description": "Deployment settings of the Deployment" + }, + "provisioningState": { + "description": "Provisioning state of the Deployment", + "enum": [ + "Creating", + "Updating", + "Succeeded", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DeploymentResourceProvisioningState", + "modelAsString": true + } + }, + "status": { + "description": "Status of the Deployment", + "enum": [ + "Unknown", + "Stopped", + "Running", + "Failed", + "Allocating", + "Upgrading", + "Compiling" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DeploymentResourceStatus", + "modelAsString": true + } + }, + "active": { + "description": "Indicates whether the Deployment is active", + "type": "boolean", + "readOnly": true + }, + "createdTime": { + "format": "date-time", + "description": "Date time when the resource is created", + "type": "string", + "readOnly": true + }, + "instances": { + "description": "Collection of instances belong to the Deployment", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentInstance" + }, + "readOnly": true + } + } + }, + "UserSourceInfo": { + "description": "Source information for a deployment", + "type": "object", + "properties": { + "type": { + "description": "Type of the source uploaded", + "enum": [ + "Jar", + "NetCoreZip", + "Source", + "Container" + ], + "type": "string", + "x-ms-enum": { + "name": "UserSourceType", + "modelAsString": true + } + }, + "relativePath": { + "description": "Relative path of the storage which stores the source", + "type": "string" + }, + "version": { + "description": "Version of the source", + "type": "string" + }, + "artifactSelector": { + "description": "Selector for the artifact to be used for the deployment for multi-module projects. This should be\r\nthe relative path to the target module/project.", + "type": "string" + }, + "customContainer": { + "$ref": "#/definitions/CustomContainer", + "description": "Custom container payload" + } + } + }, + "CustomContainer": { + "description": "Custom container payload", + "type": "object", + "properties": { + "server": { + "type": "string", + "description": "The name of the registry that contains the container image" + }, + "containerImage": { + "type": "string", + "description": "Container image of the custom container. This should be in the form of : without the server name of the registry" + }, + "command": { + "description": "Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "args": { + "description": "Arguments to the entrypoint. The docker image's CMD is used if this is not provided.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "imageRegistryCredential": { + "$ref": "#/definitions/ImageRegistryCredential", + "description": "Credential of the image registry" + } + } + }, + "ImageRegistryCredential": { + "description": "Credential of the image registry", + "type": "object", + "properties": { + "username": { + "type": "string", + "description": "The username of the image registry credential" + }, + "password": { + "type": "string", + "description": "The password of the image registry credential" + } + } + }, + "DeploymentSettings": { + "description": "Deployment settings payload", + "type": "object", + "properties": { + "cpu": { + "format": "int32", + "description": "Required CPU. This should be 1 for Basic tier, and in range [1, 4] for Standard tier. This is deprecated starting from API version 2021-09-01-preview. Please use the resourceRequests field to set the CPU size.", + "default": 1, + "type": "integer" + }, + "memoryInGB": { + "format": "int32", + "description": "Required Memory size in GB. This should be in range [1, 2] for Basic tier, and in range [1, 8] for Standard tier. This is deprecated starting from API version 2021-09-01-preview. Please use the resourceRequests field to set the the memory size.", + "default": 1, + "type": "integer" + }, + "resourceRequests": { + "$ref": "#/definitions/ResourceRequests", + "description": "The requested resource quantity for required CPU and Memory. It is recommended that using this field to represent the required CPU and Memory, the old field cpu and memoryInGB will be deprecated later." + }, + "jvmOptions": { + "description": "JVM parameter", + "type": "string" + }, + "netCoreMainEntryPath": { + "description": "The path to the .NET executable relative to zip root", + "type": "string" + }, + "environmentVariables": { + "description": "Collection of environment variables", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "runtimeVersion": { + "description": "Runtime version", + "default": "Java_8", + "enum": [ + "Java_8", + "Java_11", + "NetCore_31" + ], + "type": "string", + "x-ms-enum": { + "name": "RuntimeVersion", + "modelAsString": true + } + }, + "containerProbeSettings": { + "description": "Container liveness and readiness probe settings", + "type": "object", + "properties": { + "disableProbe": { + "description": "Indicates whether disable the liveness and readiness probe", + "type": "boolean" + } + } + } + } + }, + "DeploymentInstance": { + "description": "Deployment instance payload", + "type": "object", + "properties": { + "name": { + "description": "Name of the deployment instance", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the deployment instance", + "type": "string", + "readOnly": true + }, + "reason": { + "description": "Failed reason of the deployment instance", + "type": "string", + "readOnly": true + }, + "discoveryStatus": { + "description": "Discovery status of the deployment instance", + "type": "string", + "readOnly": true + }, + "startTime": { + "description": "Start time of the deployment instance", + "type": "string", + "readOnly": true + } + } + }, + "DeploymentResourceCollection": { + "description": "Object that includes an array of App resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of Deployment resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "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" + } + } + }, + "ResourceRequests": { + "description": "Deployment resource request payload", + "type": "object", + "properties": { + "cpu": { + "description": "Required CPU. 1 core can be represented by 1 or 1000m. This should be 500m or 1 for Basic tier, and {500m, 1, 2, 3, 4} for Standard tier.", + "type": "string" + }, + "memory": { + "description": "Required memory. 1 GB can be represented by 1Gi or 1024Mi. This should be {512Mi, 1Gi, 2Gi} for Basic tier, and {512Mi, 1Gi, 2Gi, ..., 8Gi} for Standard tier.", + "type": "string" + } + } + }, + "LogFileUrlResponse": { + "description": "Log file URL payload", + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "description": "URL of the log file", + "type": "string" + } + } + }, + "DiagnosticParameters": { + "description": "Diagnostic parameters of diagnostic operations", + "type": "object", + "properties": { + "appInstance": { + "description": "App instance name", + "type": "string" + }, + "filePath": { + "description": "Your target file path in your own BYOS", + "type": "string" + }, + "duration": { + "description": "Duration of your JFR. 1 min can be represented by 1m or 60s.", + "type": "string" + } + } + }, + "ServiceResourceList": { + "description": "Object that includes an array of Service resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of Service resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ServiceResource" + } + }, + "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" + } + } + }, + "AvailableOperations": { + "description": "Available operations of the service", + "type": "object", + "properties": { + "value": { + "description": "Collection of available operation details", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OperationDetail" + } + }, + "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" + } + } + }, + "OperationDetail": { + "description": "Operation detail payload", + "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": { + "description": "Operation display payload", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider of the operation", + "type": "string" + }, + "resource": { + "description": "Resource of the operation", + "type": "string" + }, + "operation": { + "description": "Localized friendly name for the operation", + "type": "string" + }, + "description": { + "description": "Localized friendly description for the operation", + "type": "string" + } + } + }, + "OperationProperties": { + "description": "Extra Operation properties", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "Service specifications of the operation" + } + } + }, + "ServiceSpecification": { + "description": "Service specification payload", + "type": "object", + "properties": { + "logSpecifications": { + "description": "Specifications of the Log for Azure Monitoring", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + } + }, + "metricSpecifications": { + "description": "Specifications of the Metrics for Azure Monitoring", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + } + } + }, + "LogSpecification": { + "description": "Specifications of the Log for Azure Monitoring", + "type": "object", + "properties": { + "name": { + "description": "Name of the log", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the log", + "type": "string" + }, + "blobDuration": { + "description": "Blob duration of the log", + "type": "string" + } + } + }, + "MetricSpecification": { + "description": "Specifications of the Metrics for Azure Monitoring", + "type": "object", + "properties": { + "name": { + "description": "Name of the metric", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the metric", + "type": "string" + }, + "displayDescription": { + "description": "Localized friendly description of the metric", + "type": "string" + }, + "unit": { + "description": "Unit that makes sense for the metric", + "type": "string" + }, + "category": { + "description": "Name of the metric category that the metric belongs to. A metric can only belong to a single category.", + "type": "string" + }, + "aggregationType": { + "description": "Only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count.", + "type": "string" + }, + "supportedAggregationTypes": { + "description": "Supported aggregation types", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "supportedTimeGrainTypes": { + "description": "Supported time grain types", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "fillGapWithZero": { + "description": "Optional. If set to true, then zero will be returned for time duration where no metric is emitted/published.", + "type": "boolean" + }, + "dimensions": { + "description": "Dimensions of the metric", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension" + } + }, + "sourceMdmNamespace": { + "description": "Name of the MDM namespace. Optional.", + "type": "string" + } + } + }, + "MetricDimension": { + "description": "Specifications of the Dimension of metrics", + "type": "object", + "properties": { + "name": { + "description": "Name of the dimension", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the dimension", + "type": "string" + }, + "toBeExportedForShoebox": { + "description": "Whether this dimension should be included for the Shoebox export scenario", + "type": "boolean" + } + } + }, + "ResourceSkuCollection": { + "description": "Object that includes an array of Azure Spring Cloud SKU and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of resource SKU", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSku" + } + }, + "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" + } + } + }, + "ResourceSku": { + "description": "Describes an available Azure Spring Cloud SKU.", + "type": "object", + "properties": { + "resourceType": { + "description": "Gets the type of resource the SKU applies to.", + "type": "string" + }, + "name": { + "description": "Gets the name of SKU.", + "type": "string" + }, + "tier": { + "description": "Gets the tier of SKU.", + "type": "string" + }, + "capacity": { + "$ref": "#/definitions/SkuCapacity", + "description": "Gets the capacity of SKU." + }, + "locations": { + "description": "Gets the set of locations that the SKU is available.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "locationInfo": { + "description": "Gets a list of locations and availability zones in those locations where the SKU is available.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuLocationInfo" + } + }, + "restrictions": { + "description": "Gets the restrictions because of which SKU cannot be used. This is\r\nempty if there are no restrictions.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuRestrictions" + } + } + } + }, + "SkuCapacity": { + "description": "The SKU capacity", + "required": [ + "minimum" + ], + "type": "object", + "properties": { + "minimum": { + "format": "int32", + "description": "Gets or sets the minimum.", + "type": "integer" + }, + "maximum": { + "format": "int32", + "description": "Gets or sets the maximum.", + "type": "integer" + }, + "default": { + "format": "int32", + "description": "Gets or sets the default.", + "type": "integer" + }, + "scaleType": { + "description": "Gets or sets the type of the scale.", + "enum": [ + "None", + "Manual", + "Automatic" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuScaleType", + "modelAsString": true + } + } + } + }, + "ResourceSkuLocationInfo": { + "description": "Locations and availability zones where the SKU is available", + "type": "object", + "properties": { + "location": { + "description": "Gets location of the SKU", + "type": "string" + }, + "zones": { + "description": "Gets list of availability zones where the SKU is supported.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "zoneDetails": { + "description": "Gets details of capabilities available to a SKU in specific zones.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuZoneDetails" + } + } + } + }, + "ResourceSkuRestrictions": { + "description": "Restrictions where the SKU cannot be used", + "type": "object", + "properties": { + "type": { + "description": "Gets the type of restrictions. Possible values include: 'Location', 'Zone'", + "enum": [ + "Location", + "Zone" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceSkuRestrictionsType", + "modelAsString": true + } + }, + "values": { + "description": "Gets the value of restrictions. If the restriction type is set to\r\nlocation. This would be different locations where the SKU is restricted.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "restrictionInfo": { + "$ref": "#/definitions/ResourceSkuRestrictionInfo", + "description": "Gets the information about the restriction where the SKU cannot be used." + }, + "reasonCode": { + "description": "Gets the reason for restriction. Possible values include: 'QuotaId', 'NotAvailableForSubscription'", + "enum": [ + "QuotaId", + "NotAvailableForSubscription" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceSkuRestrictionsReasonCode", + "modelAsString": true + } + } + } + }, + "ResourceSkuZoneDetails": { + "description": "Details of capabilities available to a SKU in specific zones", + "type": "object", + "properties": { + "name": { + "description": "Gets the set of zones that the SKU is available in with the\r\nspecified capabilities.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "capabilities": { + "description": "Gets a list of capabilities that are available for the SKU in the\r\nspecified list of zones.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuCapabilities" + } + } + } + }, + "ResourceSkuRestrictionInfo": { + "description": "Information about the restriction where the SKU cannot be used", + "type": "object", + "properties": { + "locations": { + "description": "Gets locations where the SKU is restricted", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "zones": { + "description": "Gets list of availability zones where the SKU is restricted.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ResourceSkuCapabilities": { + "type": "object", + "properties": { + "name": { + "description": "Gets an invariant to describe the feature.", + "type": "string" + }, + "value": { + "description": "Gets an invariant if the feature is measured by quantity.", + "type": "string" + } + } + }, + "CloudError": { + "description": "An error response from the service.", + "properties": { + "error": { + "description": "An error response from the service.", + "$ref": "#/definitions/CloudErrorBody" + } + }, + "x-ms-external": true + }, + "CloudErrorBody": { + "description": "An error response from the service.", + "properties": { + "code": { + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.", + "type": "string" + }, + "message": { + "description": "A message describing the error, intended to be suitable for display in a user interface.", + "type": "string" + }, + "target": { + "description": "The target of the particular error. For example, the name of the property in error.", + "type": "string" + }, + "details": { + "description": "A list of additional details about the error.", + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + } + } + }, + "x-ms-external": true + }, + "AvailableRuntimeVersions": { + "type": "object", + "properties": { + "value": { + "description": "A list of all supported runtime versions.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SupportedRuntimeVersion" + }, + "readOnly": true + } + }, + "readOnly": true + }, + "SupportedRuntimeVersion": { + "description": "Supported deployment runtime version descriptor.", + "type": "object", + "properties": { + "value": { + "description": "The raw value which could be passed to deployment CRUD operations.", + "enum": [ + "Java_8", + "Java_11", + "NetCore_31" + ], + "type": "string", + "x-ms-enum": { + "name": "SupportedRuntimeValue", + "modelAsString": true + } + }, + "platform": { + "description": "The platform of this runtime version (possible values: \"Java\" or \".NET\").", + "enum": [ + "Java", + ".NET Core" + ], + "type": "string", + "x-ms-enum": { + "name": "SupportedRuntimePlatform", + "modelAsString": true + } + }, + "version": { + "description": "The detailed version (major.minor) of the platform.", + "type": "string" + } + }, + "readOnly": true + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string", + "minLength": 1 + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Gets subscription ID which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + "required": true, + "type": "string" + }, + "ResourceGroupNameParameter": { + "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", + "x-ms-parameter-location": "method" + }, + "ServiceNameParameter": { + "name": "serviceName", + "in": "path", + "description": "The name of the Service resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "AppNameParameter": { + "name": "appName", + "in": "path", + "description": "The name of the App resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DeploymentNameParameter": { + "name": "deploymentName", + "in": "path", + "description": "The name of the Deployment resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BindingNameParameter": { + "name": "bindingName", + "in": "path", + "description": "The name of the Binding resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "CustomDomainNameParameter": { + "name": "domainName", + "in": "path", + "description": "The name of the custom domain resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "CertificateNameParameter": { + "name": "certificateName", + "in": "path", + "description": "The name of the certificate resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "StorageNameParameter": { + "name": "storageName", + "in": "path", + "description": "The name of the storage resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "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": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_CreateOrUpdate.json new file mode 100644 index 000000000000..a487da11c5e4 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_CreateOrUpdate.json @@ -0,0 +1,197 @@ +{ + "parameters": { + "appResource": { + "properties": { + "public": true, + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "mountPath": "/mypersistentdisk" + }, + "loadedCertificates": [ + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycert1", + "loadTrustStore": false + }, + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycert2", + "loadTrustStore": true + } + ], + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [ + "uid=0", + "gid=0", + "dir_mode=0777", + "file_mode=0777" + ], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "identity": null, + "location": "eastus" + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Succeeded", + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "/mypersistentdisk" + }, + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [ + "uid=0", + "gid=0", + "dir_mode=0777", + "file_mode=0777" + ], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned", + "principalId": "principalid", + "tenantId": "tenantid" + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + }, + "201": { + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Creating", + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "/mypersistentdisk" + }, + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [ + "uid=0", + "gid=0", + "dir_mode=0777", + "file_mode=0777" + ], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned", + "principalId": "principalid", + "tenantId": "tenantid" + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + }, + "202": { + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Updating", + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "/mypersistentdisk" + }, + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [ + "uid=0", + "gid=0", + "dir_mode=0777", + "file_mode=0777" + ], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned", + "principalId": "principalid", + "tenantId": "tenantid" + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_Delete.json new file mode 100644 index 000000000000..7eb9f2816ba5 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_Get.json new file mode 100644 index 000000000000..86ce345eb413 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_Get.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Succeeded", + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "/mypersistentdisk" + }, + "loadedCertificates": [ + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycert1", + "loadTrustStore": false + }, + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycert2", + "loadTrustStore": true + } + ], + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [ + "uid=0", + "gid=0", + "dir_mode=0777", + "file_mode=0777" + ], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned", + "principalId": "principalid", + "tenantId": "tenantid" + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_GetResourceUploadUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_GetResourceUploadUrl.json new file mode 100644 index 000000000000..09605e72f59d --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_GetResourceUploadUrl.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "relativePath": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-20190801-3ed9f4a2-986b-4bbd-b833-a42dccb2f777", + "uploadUrl": "https://springcloudstorageaccount.file.core.windows.net/bd172614181f42e2853f6fd90029cda8/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-20190801-3ed9f4a2-986b-4bbd-b833-a42dccb2f777?sv=2018-03-28&sr=f&sig=SampleSignature&se=2019-08-01T10%3A42%3A21Z&sp=w" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_List.json new file mode 100644 index 000000000000..335abbcc1bfe --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_List.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Succeeded", + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "/mypersistentdisk" + }, + "loadedCertificates": [ + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycert1", + "loadTrustStore": false + }, + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycert2", + "loadTrustStore": true + } + ], + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [ + "uid=0", + "gid=0", + "dir_mode=0777", + "file_mode=0777" + ], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned", + "principalId": "principalid", + "tenantId": "tenantid" + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_Update.json new file mode 100644 index 000000000000..9c933f30320a --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_Update.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "appResource": { + "properties": { + "public": true, + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "mountPath": "/mypersistentdisk" + }, + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "identity": { + "type": "SystemAssigned", + "principalId": null, + "tenantId": null + }, + "location": "eastus" + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Succeeded", + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "/mypersistentdisk" + }, + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned", + "principalId": "principalid", + "tenantId": "tenantid" + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + }, + "202": { + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Updating", + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "/mypersistentdisk" + }, + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned", + "principalId": "principalid", + "tenantId": "tenantid" + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_ValidateDomain.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_ValidateDomain.json new file mode 100644 index 000000000000..a13a672d2ceb --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_ValidateDomain.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "validatePayload": { + "name": "mydomain.io" + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "isValid": false, + "message": "Certificate is invalid, please check if it is a self signed cert or if it contains a suitable dns name" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_CreateOrUpdate.json new file mode 100644 index 000000000000..47b4dea861d9 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_CreateOrUpdate.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "bindingResource": { + "properties": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "key": "xxxx", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": null, + "createdAt": null, + "updatedAt": null + } + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "bindingName": "mybinding" + }, + "responses": { + "200": { + "body": { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + }, + "201": { + "body": { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + }, + "202": { + "body": { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Delete.json new file mode 100644 index 000000000000..e858d8f0420c --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "bindingName": "mybinding" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Get.json new file mode 100644 index 000000000000..ef97f4afd141 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Get.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "bindingName": "mybinding" + }, + "responses": { + "200": { + "body": { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_List.json new file mode 100644 index 000000000000..dae73256dc3d --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_List.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Update.json new file mode 100644 index 000000000000..a170c3e09775 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Update.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "bindingResource": { + "properties": { + "key": "xxxx", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": null, + "createdAt": null, + "updatedAt": null + } + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "bindingName": "mybinding" + }, + "responses": { + "200": { + "body": { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + }, + "202": { + "body": { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_CreateOrUpdate.json new file mode 100644 index 000000000000..f5db361bb12c --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_CreateOrUpdate.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "certificateResource": { + "properties": { + "type": "KeyVaultCertificate", + "vaultUri": "https://myvault.vault.azure.net", + "keyVaultCertName": "mycert", + "certVersion": "08a219d06d874795a96db47e06fbb01e" + } + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "certificateName": "mycertificate" + }, + "responses": { + "200": { + "body": { + "properties": { + "type": "KeyVaultCertificate", + "excludePrivateKey": false, + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "vaultUri": "https://myvault.vault.azure.net", + "keyVaultCertName": "mycert", + "certVersion": "08a219d06d874795a96db47e06fbb01e", + "issuer": "mydomain.com", + "issuedDate": "2019-02-20T07:40:42Z", + "expirationDate": "2019-02-21T07:40:42Z", + "activateDate": "2019-02-22T07:40:42Z", + "subjectName": "mysubjectname", + "dnsNames": [ + "mydomain.com", + "mydomain.net", + "mydomain.io" + ] + }, + "type": "Microsoft.AppPlatform/Spring/certificates", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate", + "name": "mycertificate" + } + }, + "201": { + "body": { + "properties": { + "type": "KeyVaultCertificate", + "excludePrivateKey": false, + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "vaultUri": "https://myvault.vault.azure.net", + "keyVaultCertName": "mycert", + "certVersion": "08a219d06d874795a96db47e06fbb01e", + "issuer": "mydomain.com", + "issuedDate": "2019-02-20T07:40:42Z", + "expirationDate": "2019-02-21T07:40:42Z", + "activateDate": "2019-02-22T07:40:42Z", + "subjectName": "mysubjectname", + "dnsNames": [ + "mydomain.com", + "mydomain.net", + "mydomain.io" + ] + }, + "type": "Microsoft.AppPlatform/Spring/certificates", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate", + "name": "mycertificate" + } + }, + "202": { + "body": { + "properties": { + "type": "KeyVaultCertificate", + "excludePrivateKey": false, + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "vaultUri": "https://myvault.vault.azure.net", + "keyVaultCertName": "mycert", + "certVersion": "08a219d06d874795a96db47e06fbb01e", + "issuer": "mydomain.com", + "issuedDate": "2019-02-20T07:40:42Z", + "expirationDate": "2019-02-21T07:40:42Z", + "activateDate": "2019-02-22T07:40:42Z", + "subjectName": "mysubjectname", + "dnsNames": [ + "mydomain.com", + "mydomain.net", + "mydomain.io" + ] + }, + "type": "Microsoft.AppPlatform/Spring/certificates", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate", + "name": "mycertificate" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_Delete.json new file mode 100644 index 000000000000..7241fdf48d45 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "certificateName": "mycertificate" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_Get.json new file mode 100644 index 000000000000..02b53814cd65 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_Get.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "certificateName": "mycertificate" + }, + "responses": { + "200": { + "body": { + "properties": { + "type": "KeyVaultCertificate", + "excludePrivateKey": false, + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "vaultUri": "https://myvault.vault.azure.net", + "keyVaultCertName": "mycert", + "certVersion": "08a219d06d874795a96db47e06fbb01e", + "issuer": "mydomain.com", + "issuedDate": "2019-02-20T07:40:42Z", + "expirationDate": "2019-02-21T07:40:42Z", + "activateDate": "2019-02-22T07:40:42Z", + "subjectName": "mysubjectname", + "dnsNames": [ + "mydomain.com", + "mydomain.net", + "mydomain.io" + ] + }, + "type": "Microsoft.AppPlatform/Spring/certificates", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate", + "name": "mycertificate" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_List.json new file mode 100644 index 000000000000..5fa97340e929 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_List.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "type": "KeyVaultCertificate", + "excludePrivateKey": false, + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "vaultUri": "https://myvault.vault.azure.net", + "keyVaultCertName": "mycert", + "certVersion": "08a219d06d874795a96db47e06fbb01e", + "issuer": "mydomain.com", + "issuedDate": "2019-02-20T07:40:42Z", + "expirationDate": "2019-02-21T07:40:42Z", + "activateDate": "2019-02-22T07:40:42Z", + "subjectName": "mysubjectname", + "dnsNames": [ + "mydomain.com", + "mydomain.net", + "mydomain.io" + ] + }, + "type": "Microsoft.AppPlatform/Spring/certificates", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate", + "name": "mycertificate" + } + ], + "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates?$page=2" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/ConfigServers_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/ConfigServers_Get.json new file mode 100644 index 000000000000..0626a3668b22 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/ConfigServers_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + }, + "type": "Microsoft.AppPlatform/Spring/configServers", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/ConfigServers_UpdatePatch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/ConfigServers_UpdatePatch.json new file mode 100644 index 000000000000..8cb3dbe44f33 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/ConfigServers_UpdatePatch.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "configServerResource": { + "properties": { + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + } + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + }, + "type": "Microsoft.AppPlatform/Spring/configServers", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default", + "name": "default" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + }, + "type": "Microsoft.AppPlatform/Spring/configServers", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/ConfigServers_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/ConfigServers_UpdatePut.json new file mode 100644 index 000000000000..8cb3dbe44f33 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/ConfigServers_UpdatePut.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "configServerResource": { + "properties": { + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + } + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + }, + "type": "Microsoft.AppPlatform/Spring/configServers", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default", + "name": "default" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + }, + "type": "Microsoft.AppPlatform/Spring/configServers", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/ConfigServers_Validate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/ConfigServers_Validate.json new file mode 100644 index 000000000000..d3723d4e29f1 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/ConfigServers_Validate.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "configServerSettings": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "isValid": true + } + }, + "202": { + "body": {} + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_CreateOrUpdate.json new file mode 100644 index 000000000000..e930a63d915b --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_CreateOrUpdate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "domainResource": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "certName": "mycert" + } + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "domainName": "mydomain.com" + }, + "responses": { + "200": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + }, + "201": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + }, + "202": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_Delete.json new file mode 100644 index 000000000000..0f7dadd338fe --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "domainName": "mydomain.com" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_Get.json new file mode 100644 index 000000000000..c2e352a9ac88 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "domainName": "mydomain.com" + }, + "responses": { + "200": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_List.json new file mode 100644 index 000000000000..392808671f69 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + ], + "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains?$page=2" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_Update.json new file mode 100644 index 000000000000..a929be25df40 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_Update.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "domainResource": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "certName": "mycert" + } + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "domainName": "mydomain.com" + }, + "responses": { + "200": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + }, + "202": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_CreateOrUpdate.json new file mode 100644 index 000000000000..e52a5295b8f2 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_CreateOrUpdate.json @@ -0,0 +1,174 @@ +{ + "parameters": { + "deploymentResource": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "deploymentSettings": { + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "instances": null + } + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "201": { + "body": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "provisioningState": "Creating", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + }, + "200": { + "body": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "provisioningState": "Succeeded", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + }, + "202": { + "body": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "provisioningState": "Updating", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_CreateOrUpdate_CustomContainer.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_CreateOrUpdate_CustomContainer.json new file mode 100644 index 000000000000..97bc5ae24dcc --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_CreateOrUpdate_CustomContainer.json @@ -0,0 +1,193 @@ +{ + "parameters": { + "deploymentResource": { + "properties": { + "source": { + "type": "Container", + "customContainer": { + "server": "myacr.azurecr.io", + "containerImage": "myContainerImage:v1", + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ], + "imageRegistryCredential": { + "username": "myUsername", + "password": "myPassword" + } + } + }, + "deploymentSettings": { + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "environmentVariables": { + "env": "test" + } + }, + "instances": null + } + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "201": { + "body": { + "properties": { + "source": { + "type": "Container", + "customContainer": { + "server": "myacr.azurecr.io", + "containerImage": "myContainerImage:v1", + "imageRegistryCredential": { + "username": "myUsername", + "password": "" + } + } + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "environmentVariables": { + "env": "test" + } + }, + "provisioningState": "Creating", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "N/A", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + }, + "200": { + "body": { + "properties": { + "source": { + "type": "Container", + "customContainer": { + "server": "myacr.azurecr.io", + "containerImage": "myContainerImage:v1", + "imageRegistryCredential": { + "username": "myUsername", + "password": "" + } + } + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "environmentVariables": { + "env": "test" + } + }, + "provisioningState": "Succeeded", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "N/A", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + }, + "202": { + "body": { + "properties": { + "source": { + "type": "Source", + "customContainer": { + "server": "myacr.azurecr.io", + "containerImage": "myContainerImage:v1", + "imageRegistryCredential": { + "username": "myUsername", + "password": "" + } + } + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "environmentVariables": { + "env": "test" + } + }, + "provisioningState": "Updating", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "N/A", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Delete.json new file mode 100644 index 000000000000..c89d0f3001f8 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_GenerateHeapDump.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_GenerateHeapDump.json new file mode 100644 index 000000000000..62d191157c49 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_GenerateHeapDump.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "diagnosticParameters": { + "appInstance": "myappinstance", + "filePath": "/byos/diagnose" + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_GenerateThreadDump.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_GenerateThreadDump.json new file mode 100644 index 000000000000..62d191157c49 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_GenerateThreadDump.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "diagnosticParameters": { + "appInstance": "myappinstance", + "filePath": "/byos/diagnose" + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Get.json new file mode 100644 index 000000000000..02c52088b46f --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Get.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": { + "body": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "provisioningState": "Succeeded", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_GetLogFileUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_GetLogFileUrl.json new file mode 100644 index 000000000000..37b32ae7138a --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_GetLogFileUrl.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": { + "body": { + "url": "https://spring.blob.core.windows.net/logs/110ec0c337154d45b1f01daf2196c0bf/b58b0cb4ecdea3c65311b4ca8833fe47b6ae0a7500f87a8eb31e8379d3fe48f1-2019081312-42b7b90c-f108-4c09-b33d-1ea134f57f23?sv=2018-03-28&sr=b&sig=example-signature&se=2019-08-14T09%3A43%3A52Z&sp=r" + } + }, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Get_CustomContainer.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Get_CustomContainer.json new file mode 100644 index 000000000000..ad39ec8ad3b3 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Get_CustomContainer.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": { + "body": { + "properties": { + "source": { + "type": "Container", + "customContainer": { + "server": "myacr.azurecr.io", + "containerImage": "myContainerImage:v1", + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ], + "imageRegistryCredential": { + "username": "myUsername", + "password": "" + } + } + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "environmentVariables": { + "env": "test" + } + }, + "provisioningState": "Succeeded", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "N/A", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_List.json new file mode 100644 index 000000000000..f60215617ee1 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_List.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "provisioningState": "Succeeded", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_ListForCluster.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_ListForCluster.json new file mode 100644 index 000000000000..f60215617ee1 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_ListForCluster.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "provisioningState": "Succeeded", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Restart.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Restart.json new file mode 100644 index 000000000000..36f317fc109d --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Restart.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..." + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Start.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Start.json new file mode 100644 index 000000000000..36f317fc109d --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Start.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..." + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_StartJFR.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_StartJFR.json new file mode 100644 index 000000000000..62a2467dd009 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_StartJFR.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "diagnosticParameters": { + "appInstance": "myappinstance", + "filePath": "/byos/diagnose", + "duration": "60s" + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Stop.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Stop.json new file mode 100644 index 000000000000..36f317fc109d --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Stop.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..." + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Update.json new file mode 100644 index 000000000000..0cd712cdf830 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Update.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "deploymentResource": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "instances": null + } + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": { + "body": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "provisioningState": "Succeeded", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + }, + "202": { + "body": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "provisioningState": "Updating", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Update_CustomContainer.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Update_CustomContainer.json new file mode 100644 index 000000000000..107fb21e8548 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Update_CustomContainer.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "deploymentResource": { + "properties": { + "source": { + "type": "Container", + "customContainer": { + "server": "mynewacr.azurecr.io", + "containerImage": "myNewContainerImage:v1", + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ], + "imageRegistryCredential": { + "username": "myNewUsername", + "password": "" + } + } + }, + "instances": null + } + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": { + "body": { + "properties": { + "source": { + "type": "Container", + "customContainer": { + "server": "mynewacr.azurecr.io", + "containerImage": "myNewContainerImage:v1", + "imageRegistryCredential": { + "username": "myNewUsername", + "password": "" + } + } + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "environmentVariables": { + "env": "test" + } + }, + "provisioningState": "Succeeded", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "N/A", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + }, + "202": { + "body": { + "properties": { + "source": { + "type": "Container", + "customContainer": { + "server": "mynewacr.azurecr.io", + "containerImage": "myNewContainerImage:v1", + "imageRegistryCredential": { + "username": "myNewUsername", + "password": "" + } + } + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "environmentVariables": { + "env": "test" + } + }, + "provisioningState": "Updating", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "N/A", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/MonitoringSettings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/MonitoringSettings_Get.json new file mode 100644 index 000000000000..68711d8f5fd2 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/MonitoringSettings_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000", + "appInsightsSamplingRate": 10.0, + "appInsightsAgentVersions": { + "java": "3.0.0" + } + }, + "type": "Microsoft.AppPlatform/Spring/monitoringSettings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/MonitoringSettings_UpdatePatch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/MonitoringSettings_UpdatePatch.json new file mode 100644 index 000000000000..cc403ce56602 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/MonitoringSettings_UpdatePatch.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "monitoringSettingResource": { + "properties": { + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000", + "appInsightsSamplingRate": 10.0 + } + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000", + "appInsightsSamplingRate": 10.0, + "appInsightsAgentVersions": { + "java": "3.0.0" + } + }, + "type": "Microsoft.AppPlatform/Spring/monitoringSettings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default", + "name": "default" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000", + "appInsightsSamplingRate": 10.0, + "appInsightsAgentVersions": { + "java": "3.0.0" + } + }, + "type": "Microsoft.AppPlatform/Spring/monitoringSettings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/MonitoringSettings_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/MonitoringSettings_UpdatePut.json new file mode 100644 index 000000000000..cc403ce56602 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/MonitoringSettings_UpdatePut.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "monitoringSettingResource": { + "properties": { + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000", + "appInsightsSamplingRate": 10.0 + } + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000", + "appInsightsSamplingRate": 10.0, + "appInsightsAgentVersions": { + "java": "3.0.0" + } + }, + "type": "Microsoft.AppPlatform/Spring/monitoringSettings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default", + "name": "default" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000", + "appInsightsSamplingRate": 10.0, + "appInsightsAgentVersions": { + "java": "3.0.0" + } + }, + "type": "Microsoft.AppPlatform/Spring/monitoringSettings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Operations_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..87f670333eaf --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Operations_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.AppPlatform/Spring/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Azure Distributed Managed Service for Spring", + "resource": "Managed Applications", + "operation": "Create or Update Managed Applications", + "description": "Create or Update Managed Applications" + }, + "origin": "user,system", + "properties": { + "serviceSpecification": null + } + } + ], + "nextLink": "providers/Microsoft.AppPlatform?$skipToken={opaqueString}" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json new file mode 100644 index 000000000000..ba309854304b --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "value": "Java_8", + "platform": "Java", + "version": "8" + }, + { + "value": "Java_11", + "platform": "Java", + "version": "11" + }, + { + "value": "NetCore_31", + "platform": ".NET Core", + "version": "3.1" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_CheckNameAvailability.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_CheckNameAvailability.json new file mode 100644 index 000000000000..98eafa46c531 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_CheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "location": "eastus", + "availabilityParameters": { + "type": "Microsoft.AppPlatform/Spring", + "name": "myservice" + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "The name is already used." + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_CreateOrUpdate.json new file mode 100644 index 000000000000..5105610de061 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_CreateOrUpdate.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "resource": { + "properties": {}, + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "201": { + "body": { + "properties": { + "provisioningState": "Creating", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + } + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + } + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + }, + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + } + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json new file mode 100644 index 000000000000..1e55e91ef0b2 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json @@ -0,0 +1,209 @@ +{ + "parameters": { + "resource": { + "properties": { + "networkProfile": { + "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime", + "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps", + "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16", + "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg", + "appNetworkResourceGroup": "my-app-network-rg" + } + }, + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "201": { + "body": { + "properties": { + "provisioningState": "Creating", + "networkProfile": { + "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime", + "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps", + "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16", + "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg", + "appNetworkResourceGroup": "my-app-network-rg", + "outboundIPs": { + "publicIPs": [ + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + }, + "serviceId": "12345678abcd1234abcd12345678abcd" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "networkProfile": { + "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime", + "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps", + "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16", + "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg", + "appNetworkResourceGroup": "my-app-network-rg", + "outboundIPs": { + "publicIPs": [ + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + }, + "serviceId": "12345678abcd1234abcd12345678abcd" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + }, + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "networkProfile": { + "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime", + "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps", + "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16", + "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg", + "appNetworkResourceGroup": "my-app-network-rg", + "outboundIPs": { + "publicIPs": [ + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + }, + "serviceId": "12345678abcd1234abcd12345678abcd" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Delete.json new file mode 100644 index 000000000000..19aec44dd5e5 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..." + } + }, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_DisableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_DisableTestEndpoint.json new file mode 100644 index 000000000000..48d95999c3ce --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_DisableTestEndpoint.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_EnableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_EnableTestEndpoint.json new file mode 100644 index 000000000000..845d8c0a8e2d --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_EnableTestEndpoint.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "", + "primaryTestEndpoint": "", + "secondaryTestEndpoint": "", + "enabled": true + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Get.json new file mode 100644 index 000000000000..0dcd54500d65 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Get.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + } + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_List.json new file mode 100644 index 000000000000..50e3a5dc53a5 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_List.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + } + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_ListBySubscription.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_ListBySubscription.json new file mode 100644 index 000000000000..6864348e2c77 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_ListBySubscription.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + } + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_ListTestKeys.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_ListTestKeys.json new file mode 100644 index 000000000000..845d8c0a8e2d --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_ListTestKeys.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "", + "primaryTestEndpoint": "", + "secondaryTestEndpoint": "", + "enabled": true + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_RegenerateTestKey.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_RegenerateTestKey.json new file mode 100644 index 000000000000..bdc2be57fd45 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_RegenerateTestKey.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "regenerateTestKeyRequest": { + "keyType": "Primary" + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "", + "primaryTestEndpoint": "", + "secondaryTestEndpoint": "", + "enabled": true + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Start.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Start.json new file mode 100644 index 000000000000..ad524000f701 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Start.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": {}, + "404": {}, + "409": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Stop.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Stop.json new file mode 100644 index 000000000000..ad524000f701 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Stop.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": {}, + "404": {}, + "409": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Update.json new file mode 100644 index 000000000000..27bde247ea04 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Update.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "resource": { + "properties": {}, + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + } + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + } + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Skus_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Skus_List.json new file mode 100644 index 000000000000..e03c04935b20 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Skus_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Spring", + "name": "B0", + "tier": "Basic", + "capacity": { + "minimum": 1, + "maximum": 20, + "default": 1, + "scaleType": "Automatic" + }, + "locations": [ + "eastus" + ], + "locationInfo": [ + { + "location": "eastus", + "zones": [], + "zoneDetails": [] + } + ], + "restrictions": [] + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_CreateOrUpdate.json new file mode 100644 index 000000000000..5c75cfc7319d --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_CreateOrUpdate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "storageResource": { + "properties": { + "storageType": "StorageAccount", + "accountName": "storage-account-name", + "accountKey": "account-key-of-storage-account" + } + }, + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "storageName": "mystorage" + }, + "responses": { + "200": { + "body": { + "properties": { + "storageType": "StorageAccount", + "accountName": "storage-account-name" + }, + "type": "Microsoft.AppPlatform/Spring/storages", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/storages/mystorage", + "name": "mystorage" + } + }, + "201": { + "body": { + "properties": { + "storageType": "StorageAccount", + "accountName": "storage-account-name" + }, + "type": "Microsoft.AppPlatform/Spring/storages", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/storages/mystorage", + "name": "mystorage" + } + }, + "202": { + "body": { + "properties": { + "storageType": "StorageAccount", + "accountName": "storage-account-name" + }, + "type": "Microsoft.AppPlatform/Spring/storages", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/storages/mystorage", + "name": "mystorage" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_Delete.json new file mode 100644 index 000000000000..64509bb066c4 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "storageName": "mystorage" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_Get.json new file mode 100644 index 000000000000..b3d45358ca52 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "storageName": "mystorage" + }, + "responses": { + "200": { + "body": { + "properties": { + "storageType": "StorageAccount", + "accountName": "storage-account-name" + }, + "type": "Microsoft.AppPlatform/Spring/storages", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/storages/mystorage", + "name": "mystorage" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_List.json new file mode 100644 index 000000000000..6146cc4ff716 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_List.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "storageType": "StorageAccount", + "accountName": "storage-account-name" + }, + "type": "Microsoft.AppPlatform/Spring/storages", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/storages/mystorage", + "name": "mystorage" + } + ], + "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/storages?$page=2" + } + } + } +} diff --git a/specification/appplatform/resource-manager/readme.go.md b/specification/appplatform/resource-manager/readme.go.md index c00cc2c0ff59..9b92ff84080b 100644 --- a/specification/appplatform/resource-manager/readme.go.md +++ b/specification/appplatform/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/appplatform/armappplatform +module-name: sdk/resourcemanager/appplatform/armappplatform module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true @@ -21,12 +21,22 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-preview-2021-09 - tag: package-preview-2021-06 - tag: package-preview-2020-11 - tag: package-2020-07 - tag: package-2019-05-01-preview ``` +### Tag: package-preview-2021-09 and go + +These settings apply only when `--tag=package-preview-2021-09 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-preview-2021-09' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-09-01-preview/$(namespace) +``` + ### Tag: package-preview-2021-06 and go These settings apply only when `--tag=package-preview-2021-06 --go` is specified on the command line. diff --git a/specification/appplatform/resource-manager/readme.java.md b/specification/appplatform/resource-manager/readme.java.md index a8db157ff0c9..a46209b5d669 100644 --- a/specification/appplatform/resource-manager/readme.java.md +++ b/specification/appplatform/resource-manager/readme.java.md @@ -16,12 +16,26 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-appplatform ``` yaml $(java) && $(multiapi) batch: + - tag: package-preview-2021-09 - tag: package-preview-2021-06 - tag: package-preview-2020-11 - tag: package-2020-07 - tag: package-2019-05-01-preview ``` +### Tag: package-preview-2021-09 and java + +These settings apply only when `--tag=package-preview-2021-09 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-preview-2021-09' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.appplatform.v2021_09_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/appplatform/mgmt-v2021_09_01_preview +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-preview-2021-06 and java These settings apply only when `--tag=package-preview-2021-06 --java` is specified on the command line. diff --git a/specification/appplatform/resource-manager/readme.md b/specification/appplatform/resource-manager/readme.md index c169a4fccdb7..a8608cdf7fec 100644 --- a/specification/appplatform/resource-manager/readme.md +++ b/specification/appplatform/resource-manager/readme.md @@ -26,7 +26,7 @@ These are the global settings for the AppPlatform API. ``` yaml openapi-type: arm -tag: package-preview-2021-06 +tag: package-preview-2021-09 ``` ### Suppression @@ -50,14 +50,23 @@ directive: ``` +### Tag: package-preview-2021-09 + +These settings apply only when `--tag=package-preview-2021-09` is specified on the command line. + +```yaml $(tag) == 'package-preview-2021-09' +input-file: + - Microsoft.AppPlatform/preview/2021-09-01-preview/appplatform.json +``` ### Tag: package-preview-2021-06 These settings apply only when `--tag=package-preview-2021-06` is specified on the command line. -```yaml $(tag) == 'package-preview-2021-06' +``` yaml $(tag) == 'package-preview-2021-06' input-file: - Microsoft.AppPlatform/preview/2021-06-01-preview/appplatform.json ``` + ### Tag: package-preview-2020-11 These settings apply only when `--tag=package-preview-2020-11` is specified on the command line. @@ -103,6 +112,7 @@ swagger-to-sdk: - repo: azure-sdk-for-node - repo: azure-sdk-for-js - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_appplatform'] diff --git a/specification/appplatform/resource-manager/readme.python.md b/specification/appplatform/resource-manager/readme.python.md index 748f15d43ccc..c2a4ee13d67f 100644 --- a/specification/appplatform/resource-manager/readme.python.md +++ b/specification/appplatform/resource-manager/readme.python.md @@ -22,6 +22,7 @@ Generate all API versions currently shipped for this package ```yaml $(python) && $(multiapi) && $(track2) clear-output-folder: true batch: + - tag: package-preview-2021-09 - tag: package-preview-2021-06 - tag: package-preview-2020-11 - tag: package-2020-07 @@ -35,6 +36,16 @@ clear-output-folder: false perform-load: false ``` +### Tag: package-preview-2021-09 and python + +These settings apply only when `--tag=package-preview-2021-09 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-preview-2021-09' && $(python) && $(track2) +namespace: azure.mgmt.appplatform.v2021_09_01_preview +output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2021_09_01_preview +``` + ### Tag: package-preview-2021-06 and python These settings apply only when `--tag=package-preview-2021-06 --python` is specified on the command line. diff --git a/specification/appplatform/resource-manager/readme.ruby.md b/specification/appplatform/resource-manager/readme.ruby.md index 379a5ac27cb1..4dcb722d5833 100644 --- a/specification/appplatform/resource-manager/readme.ruby.md +++ b/specification/appplatform/resource-manager/readme.ruby.md @@ -12,12 +12,23 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-preview-2021-09 - tag: package-preview-2021-06 - tag: package-preview-2020-11 - tag: package-2020-07 - tag: package-2019-05-01-preview ``` +### Tag: package-preview-2021-09 and ruby + +These settings apply only when `--tag=package-preview-2021-09 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-preview-2021-09' && $(ruby) +namespace: "Azure::AppPlatform::Mgmt::V2021_09_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_appplatform/lib +``` + ### Tag: package-preview-2021-06 and ruby These settings apply only when `--tag=package-preview-2021-06 --ruby` is specified on the command line. diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/attestation.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/attestation.json index c0dc950776d4..f1032e7a85ba 100644 --- a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/attestation.json +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/attestation.json @@ -267,7 +267,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Attestation/attestationProvider/{providerName}/privateEndpointConnections": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Attestation/attestationProviders/{providerName}/privateEndpointConnections": { "get": { "tags": [ "PrivateEndpointConnections" diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/stable/2020-10-01/attestation.json b/specification/attestation/resource-manager/Microsoft.Attestation/stable/2020-10-01/attestation.json index 7eab57d6a9be..27f75f0ba69f 100644 --- a/specification/attestation/resource-manager/Microsoft.Attestation/stable/2020-10-01/attestation.json +++ b/specification/attestation/resource-manager/Microsoft.Attestation/stable/2020-10-01/attestation.json @@ -267,7 +267,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Attestation/attestationProvider/{providerName}/privateEndpointConnections": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Attestation/attestationProviders/{providerName}/privateEndpointConnections": { "get": { "tags": [ "PrivateEndpointConnections" diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/authorization-RoleAssignmentsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/authorization-RoleAssignmentsCalls.json index d7ec0c79ca0c..9eb61cda463f 100644 --- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/authorization-RoleAssignmentsCalls.json +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/authorization-RoleAssignmentsCalls.json @@ -234,7 +234,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the role assignment to create. It can be any valid GUID." + "description": "A GUID for the role assignment to create. The name must be unique and different for each role assignment." }, { "name": "parameters", diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json index cec28e312ab5..72d56b3c3869 100644 --- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json @@ -230,7 +230,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the role assignment to create. It can be any valid GUID." + "description": "A GUID for the role assignment to create. The name must be unique and different for each role assignment." }, { "name": "parameters", diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.json index 786241892497..62aaca33046b 100644 --- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.json +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.json @@ -230,7 +230,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the role assignment to create. It can be any valid GUID." + "description": "A GUID for the role assignment to create. The name must be unique and different for each role assignment." }, { "name": "parameters", diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json index ccd6e28121eb..80055f3d4f33 100644 --- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json @@ -239,7 +239,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the role assignment to create. It can be any valid GUID." + "description": "A GUID for the role assignment to create. The name must be unique and different for each role assignment." }, { "name": "parameters", diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentScheduleRequest.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentScheduleRequest.json index fd87a39ab5ae..70527b318b19 100644 --- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentScheduleRequest.json +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentScheduleRequest.json @@ -55,7 +55,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the role assignment to create. It can be any valid GUID." + "description": "A GUID for the role assignment to create. The name must be unique and different for each role assignment." }, { "name": "parameters", diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.json index 79a41c0510c3..91983c7fdbe1 100644 --- a/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.json +++ b/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.json @@ -234,7 +234,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the role assignment to create. It can be any valid GUID." + "description": "A GUID for the role assignment to create. The name must be unique and different for each role assignment." }, { "name": "parameters", diff --git a/specification/authorization/resource-manager/readme.go.md b/specification/authorization/resource-manager/readme.go.md index 60b1d5130283..2e1f38bdf947 100644 --- a/specification/authorization/resource-manager/readme.go.md +++ b/specification/authorization/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/authorization/armauthorization +module-name: sdk/resourcemanager/authorization/armauthorization module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/authorization/resource-manager/readme.java.md b/specification/authorization/resource-manager/readme.java.md index 50d86a2a1032..ec0052482c0c 100644 --- a/specification/authorization/resource-manager/readme.java.md +++ b/specification/authorization/resource-manager/readme.java.md @@ -142,3 +142,26 @@ java: regenerate-manager: true generate-interface: true ``` + +### Tag: profile-hybrid-2020-09-01 and java + +These settings apply only when `--tag=profile-hybrid-2020-09-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'profile-hybrid-2020-09-01' && $(java) +input-file: + - Microsoft.Authorization/stable/2015-07-01/authorization-RoleDefinitionsCalls.json + - Microsoft.Authorization/stable/2015-07-01/authorization-ProviderOperationsCalls.json + - Microsoft.Authorization/stable/2015-07-01/authorization-ElevateAccessCalls.json + - Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.json + - Microsoft.Authorization/stable/2015-07-01/authorization-ClassicAdminCalls.json +directive: + - from: authorization-RoleAssignmentsCalls.json + where: $.definitions.RoleAssignment.properties.properties + transform: > + $['x-ms-client-flatten'] = true; + - from: authorization-RoleAssignmentsCalls.json + where: $.definitions.RoleAssignmentCreateParameters.properties.properties + transform: > + $['x-ms-client-flatten'] = true; +``` diff --git a/specification/authorization/resource-manager/readme.md b/specification/authorization/resource-manager/readme.md index 10ef4af1ddca..9d8db3aa2a21 100644 --- a/specification/authorization/resource-manager/readme.md +++ b/specification/authorization/resource-manager/readme.md @@ -379,6 +379,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-node - repo: azure-sdk-for-js - repo: azure-sdk-for-ruby diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/automanage.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/automanage.json new file mode 100644 index 000000000000..fbeea72e8cbb --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/automanage.json @@ -0,0 +1,1626 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-04-30-preview", + "title": "Automanage" + }, + "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": { + "/providers/Microsoft.Automanage/bestPractices/{bestPracticeName}": { + "get": { + "tags": [ + "BestPractices" + ], + "operationId": "BestPractices_Get", + "description": "Get information about a Automanage best practice", + "x-ms-examples": { + "Get an Automanage best practice ": { + "$ref": "./examples/getBestPractice.json" + } + }, + "parameters": [ + { + "name": "bestPracticeName", + "in": "path", + "required": true, + "type": "string", + "description": "The Automanage best practice name." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The Automanage best practice was returned successfully.", + "schema": { + "$ref": "#/definitions/BestPractice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/providers/Microsoft.Automanage/bestPractices": { + "get": { + "tags": [ + "BestPractices" + ], + "operationId": "BestPractices_ListByTenant", + "description": "Retrieve a list of Automanage best practices", + "x-ms-examples": { + "List Automanage bestPractices ": { + "$ref": "./examples/listBestPracticesByTenant.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. List of Automanage bestPractices configuration profile.", + "schema": { + "$ref": "#/definitions/BestPracticeList" + } + }, + "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 + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/providers/Microsoft.Automanage/bestPractices/{bestPracticeName}/versions/{versionName}": { + "get": { + "tags": [ + "BestPracticesVersions" + ], + "operationId": "BestPracticesVersions_Get", + "description": "Get information about a Automanage best practice version", + "x-ms-examples": { + "Get an Automanage best practice version ": { + "$ref": "./examples/getBestPracticeVersion.json" + } + }, + "parameters": [ + { + "name": "bestPracticeName", + "in": "path", + "required": true, + "type": "string", + "description": "The Automanage best practice name." + }, + { + "name": "versionName", + "in": "path", + "required": true, + "type": "string", + "description": "The Automanage best practice version name." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The Automanage best practice version was returned successfully.", + "schema": { + "$ref": "#/definitions/BestPractice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/providers/Microsoft.Automanage/bestPractices/{bestPracticeName}/versions": { + "get": { + "tags": [ + "BestPracticesVersions" + ], + "operationId": "BestPracticesVersions_ListByTenant", + "description": "Retrieve a list of Automanage best practices versions", + "x-ms-examples": { + "List Automanage best practices versions ": { + "$ref": "./examples/listBestPracticesVersionsByTenant.json" + } + }, + "parameters": [ + { + "name": "bestPracticeName", + "in": "path", + "required": true, + "type": "string", + "description": "The Automanage best practice name." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. List of Automanage bestPractices configuration profile versions.", + "schema": { + "$ref": "#/definitions/BestPracticeList" + } + }, + "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 + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfiles/{configurationProfileName}": { + "put": { + "tags": [ + "ConfigurationProfiles" + ], + "operationId": "ConfigurationProfiles_CreateOrUpdate", + "description": "Creates a configuration profile", + "x-ms-examples": { + "Create or update configuration profile": { + "$ref": "./examples/createOrUpdateConfigurationProfile.json" + } + }, + "parameters": [ + { + "name": "configurationProfileName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the configuration profile." + }, + { + "$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" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationProfile" + }, + "description": "Parameters supplied to create or update configuration profile." + } + ], + "responses": { + "201": { + "description": "Created. The configuration profile was created successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfile" + } + }, + "200": { + "description": "OK. The configuration profile was updated successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfile" + } + }, + "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": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "ConfigurationProfiles" + ], + "operationId": "ConfigurationProfiles_Get", + "description": "Get information about a configuration profile", + "x-ms-examples": { + "Get a configuration profile": { + "$ref": "./examples/getConfigurationProfile.json" + } + }, + "parameters": [ + { + "name": "configurationProfileName", + "in": "path", + "required": true, + "type": "string", + "description": "The configuration profile name." + }, + { + "$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": "OK. The configuration profile was returned successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "ConfigurationProfiles" + ], + "operationId": "ConfigurationProfiles_Delete", + "description": "Delete a configuration profile", + "x-ms-examples": { + "Delete a configuration profile": { + "$ref": "./examples/deleteConfigurationProfile.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "configurationProfileName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the configuration profile" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "OK" + }, + "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": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "patch": { + "tags": [ + "ConfigurationProfiles" + ], + "operationId": "ConfigurationProfiles_Update", + "description": "Updates a configuration profile", + "x-ms-examples": { + "Update configuration profile": { + "$ref": "./examples/updateConfigurationProfile.json" + } + }, + "parameters": [ + { + "name": "configurationProfileName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the configuration profile." + }, + { + "$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" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationProfileUpdate" + }, + "description": "Parameters supplied to update configuration profile." + } + ], + "responses": { + "200": { + "description": "OK. The configuration profile was updated successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfile" + } + }, + "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": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfiles": { + "get": { + "tags": [ + "ConfigurationProfiles" + ], + "operationId": "ConfigurationProfiles_ListByResourceGroup", + "description": "Retrieve a list of configuration profile within a given resource group", + "x-ms-examples": { + "List configuration profiles by resource group": { + "$ref": "./examples/listConfigurationProfilesByResourceGroup.json" + } + }, + "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": "OK. List of configuration profiles.", + "schema": { + "$ref": "#/definitions/ConfigurationProfileList" + } + }, + "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 + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Automanage/configurationProfiles": { + "get": { + "tags": [ + "ConfigurationProfiles" + ], + "operationId": "ConfigurationProfiles_ListBySubscription", + "description": "Retrieve a list of configuration profile within a subscription", + "x-ms-examples": { + "List configuration profiles by subscription": { + "$ref": "./examples/listConfigurationProfilesBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. List of configuration profiles.", + "schema": { + "$ref": "#/definitions/ConfigurationProfileList" + } + }, + "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 + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfiles/{configurationProfileName}/versions/{versionName}": { + "put": { + "tags": [ + "ConfigurationProfilesVersions" + ], + "operationId": "ConfigurationProfilesVersions_CreateOrUpdate", + "description": "Creates a configuration profile version", + "x-ms-examples": { + "Create or update configuration profile version": { + "$ref": "./examples/createOrUpdateConfigurationProfileVersion.json" + } + }, + "parameters": [ + { + "name": "configurationProfileName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the configuration profile." + }, + { + "name": "versionName", + "in": "path", + "required": true, + "type": "string", + "description": "The configuration profile version name." + }, + { + "$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" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationProfile" + }, + "description": "Parameters supplied to create or update configuration profile." + } + ], + "responses": { + "201": { + "description": "Created. The configuration profile was created successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfile" + } + }, + "200": { + "description": "OK. The configuration profile was updated successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfile" + } + }, + "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": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "ConfigurationProfilesVersions" + ], + "operationId": "ConfigurationProfilesVersions_Get", + "description": "Get information about a configuration profile version", + "x-ms-examples": { + "Get a configuration profile version": { + "$ref": "./examples/getConfigurationProfileVersion.json" + } + }, + "parameters": [ + { + "name": "configurationProfileName", + "in": "path", + "required": true, + "type": "string", + "description": "The configuration profile name." + }, + { + "name": "versionName", + "in": "path", + "required": true, + "type": "string", + "description": "The configuration profile version name." + }, + { + "$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": "OK. The configuration profile was returned successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "ConfigurationProfilesVersions" + ], + "operationId": "ConfigurationProfilesVersions_Delete", + "description": "Delete a configuration profile version", + "x-ms-examples": { + "Delete a configuration profile version": { + "$ref": "./examples/deleteConfigurationProfileVersion.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "configurationProfileName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the configuration profile" + }, + { + "name": "versionName", + "in": "path", + "required": true, + "type": "string", + "description": "The configuration profile version name." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "OK" + }, + "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": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "patch": { + "tags": [ + "ConfigurationProfilesVersions" + ], + "operationId": "ConfigurationProfilesVersions_Update", + "description": "Updates a configuration profile version", + "x-ms-examples": { + "Update configuration profile version": { + "$ref": "./examples/updateConfigurationProfileVersion.json" + } + }, + "parameters": [ + { + "name": "configurationProfileName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the configuration profile." + }, + { + "name": "versionName", + "in": "path", + "required": true, + "type": "string", + "description": "The configuration profile version name." + }, + { + "$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" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationProfileUpdate" + }, + "description": "Parameters supplied to update configuration profile." + } + ], + "responses": { + "200": { + "description": "OK. The configuration profile was updated successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfile" + } + }, + "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": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfiles/{configurationProfileName}/versions": { + "get": { + "tags": [ + "ConfigurationProfilesVersions" + ], + "operationId": "ConfigurationProfilesVersions_ListChildResources", + "description": "Retrieve a list of configuration profile version for a configuration profile ", + "x-ms-examples": { + "List configuration profile versions by configuration profile": { + "$ref": "./examples/listConfigurationProfileVersions.json" + } + }, + "parameters": [ + { + "name": "configurationProfileName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the configuration profile." + }, + { + "$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": "OK. List of configuration profiles.", + "schema": { + "$ref": "#/definitions/ConfigurationProfileList" + } + }, + "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 + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.Automanage/configurationProfileAssignments/{configurationProfileAssignmentName}": { + "put": { + "tags": [ + "ConfigurationProfileAssignments" + ], + "operationId": "ConfigurationProfileAssignments_CreateOrUpdate", + "description": "Creates an association between a VM and Automanage configuration profile", + "x-ms-examples": { + "Create or update configuration profile assignment": { + "$ref": "./examples/createOrUpdateConfigurationProfileAssignment.json" + } + }, + "parameters": [ + { + "name": "configurationProfileAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the configuration profile assignment. Only default is supported." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationProfileAssignment" + }, + "description": "Parameters supplied to the create or update configuration profile assignment." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VmNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created. The Automanage configuration profile assignment for the VM was created successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfileAssignment" + } + }, + "200": { + "description": "OK. The configuration profile assignment for the VM was updated successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfileAssignment" + } + }, + "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": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "ConfigurationProfileAssignments" + ], + "operationId": "ConfigurationProfileAssignments_Get", + "description": "Get information about a configuration profile assignment", + "x-ms-examples": { + "Get a configuration profile assignment": { + "$ref": "./examples/getConfigurationProfileAssignment.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "configurationProfileAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The configuration profile assignment name." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/VmNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The configuration profile assignment was returned successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfileAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "ConfigurationProfileAssignments" + ], + "operationId": "ConfigurationProfileAssignments_Delete", + "description": "Delete a configuration profile assignment", + "x-ms-examples": { + "Delete an configuration profile assignment": { + "$ref": "./examples/deleteConfigurationProfileAssignment.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "configurationProfileAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the configuration profile assignment" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/VmNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "OK" + }, + "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": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfileAssignments": { + "get": { + "tags": [ + "ConfigurationProfileAssignments" + ], + "operationId": "ConfigurationProfileAssignments_List", + "description": "Get list of configuration profile assignments", + "x-ms-examples": { + "List configuration profile assignments by resourceGroup": { + "$ref": "./examples/listConfigurationProfileAssignmentsByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/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": "OK. The list of configuration profile assignments were returned successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfileAssignmentList" + } + }, + "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 + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Automanage/configurationProfileAssignments": { + "get": { + "tags": [ + "ConfigurationProfileAssignments" + ], + "operationId": "ConfigurationProfileAssignments_ListBySubscription", + "description": "Get list of configuration profile assignments under a given subscription", + "x-ms-examples": { + "List configuration profile assignments by subscription": { + "$ref": "./examples/listConfigurationProfileAssignmentsBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The list of configuration profile assignments were returned successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfileAssignmentList" + } + }, + "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 + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/providers/Microsoft.Automanage/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Automanage REST API operations.", + "x-ms-examples": { + "Lists all of the available Automanage REST API operations": { + "$ref": "./examples/listOperations.json" + } + }, + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of operations.", + "schema": { + "$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" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.Automanage/configurationProfileAssignments/{configurationProfileAssignmentName}/reports/{reportName}": { + "get": { + "tags": [ + "reports" + ], + "operationId": "reports_Get", + "description": "Get information about a report associated with a configuration profile assignment run", + "x-ms-examples": { + "Get a report for a configuration profile assignment": { + "$ref": "./examples/getReport.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "configurationProfileAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The configuration profile assignment name." + }, + { + "name": "reportName", + "in": "path", + "required": true, + "type": "string", + "description": "The report name." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/VmNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The report was returned successfully.", + "schema": { + "$ref": "#/definitions/Report" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.Automanage/configurationProfileAssignments/{configurationProfileAssignmentName}/reports": { + "get": { + "tags": [ + "reports" + ], + "operationId": "reports_ListByConfigurationProfileAssignments", + "description": "Retrieve a list of reports within a given configuration profile assignment", + "x-ms-examples": { + "List reports by configuration profiles assignment": { + "$ref": "./examples/listReportsByconfigurationProfileAssignment.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "configurationProfileAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The configuration profile assignment name." + }, + { + "$ref": "#/parameters/VmNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. List of reports.", + "schema": { + "$ref": "#/definitions/ReportList" + } + }, + "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 + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + } + }, + "definitions": { + "BestPracticeList": { + "description": "The response of the list best practice operation.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BestPractice" + }, + "description": "Result of the list best practice operation." + } + } + }, + "ConfigurationProfileList": { + "description": "The response of the list configuration profile operation.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationProfile" + }, + "description": "Result of the list ConfigurationProfile operation." + } + } + }, + "BestPractice": { + "description": "Definition of the Automanage best practice.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the best practice. For example, /providers/Microsoft.Automanage/bestPractices/azureBestPracticesProduction", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Automanage/bestPractices", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the best practice. For example, azureBestPracticesProduction", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ConfigurationProfileProperties", + "description": "Properties of the best practice." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." + } + } + }, + "ConfigurationProfile": { + "description": "Definition of the configuration profile.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/ConfigurationProfileProperties", + "description": "Properties of the configuration profile." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ] + }, + "ConfigurationProfileProperties": { + "description": "Automanage configuration profile properties.", + "type": "object", + "properties": { + "configuration": { + "title": "configuration", + "$ref": "#/definitions/ConfigurationDictionary", + "description": "configuration dictionary of the configuration profile." + }, + "overrides": { + "title": "overrides", + "$ref": "#/definitions/Overrides", + "description": "overrides of the configuration profile." + } + } + }, + "ConfigurationDictionary": { + "description": "The custom configuration for configuration profile. Name and value pairs that define the configuration details of the configuration profile.", + "type": "object", + "example": { + "Antimalware/Enable": true + } + }, + "Overrides": { + "description": "The custom overrides for configuration profile", + "type": "array", + "items": { + "type": "object" + } + }, + "ConfigurationProfileUpdate": { + "description": "Definition of the configuration profile.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/ConfigurationProfileProperties", + "description": "Properties of the configuration profile." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ] + }, + "ConfigurationProfileAssignmentList": { + "description": "The response of the list configuration profile assignment operation.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationProfileAssignment" + }, + "description": "Result of the list configuration profile assignment operation." + } + } + }, + "ConfigurationProfileAssignment": { + "description": "Configuration profile assignment is an association between a VM and automanage profile configuration.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/ConfigurationProfileAssignmentProperties", + "description": "Properties of the configuration profile assignment." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "ConfigurationProfileAssignmentProperties": { + "description": "Automanage configuration profile assignment properties.", + "type": "object", + "properties": { + "configurationProfile": { + "type": "string", + "description": "The Automanage configurationProfile ARM Resource URI." + }, + "targetId": { + "type": "string", + "description": "The target VM resource URI" + }, + "status": { + "type": "string", + "readOnly": true, + "description": "The status of onboarding, which only appears in the response." + }, + "profileOverrides": { + "$ref": "#/definitions/ConfigurationProfileAssignmentProfileOverrides", + "description": "The profileOverrides setting for the configuration profile assignment." + } + } + }, + "ConfigurationProfileAssignmentProfileOverrides": { + "description": "Data related to configuration profile assignment profile overrides.", + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "UpdateResource": { + "description": "Represents an update resource", + "type": "object", + "properties": { + "tags": { + "description": "The tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ReportList": { + "description": "The response of the list report operation.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Report" + }, + "description": "Result of the list report operation." + } + } + }, + "Report": { + "description": "Definition of the report.", + "type": "object", + "properties": { + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AssignmentReportProperties", + "description": "The properties for the report." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "AssignmentReportProperties": { + "description": "Data related to the report detail.", + "type": "object", + "properties": { + "startTime": { + "type": "string", + "description": "Start time of the configuration profile assignment processing." + }, + "endTime": { + "type": "string", + "description": "End time of the configuration profile assignment processing." + }, + "lastModifiedTime": { + "type": "string", + "readOnly": true, + "description": "Last modified time of the configuration profile assignment processing." + }, + "duration": { + "type": "string", + "readOnly": true, + "description": "Duration of the configuration profile assignment processing." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Type of the configuration profile assignment processing (Initial/Consistency)." + }, + "status": { + "type": "string", + "readOnly": true, + "description": "The status of the configuration profile assignment." + }, + "configurationProfile": { + "type": "string", + "readOnly": true, + "description": "The configurationProfile linked to the assignment." + }, + "resources": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ReportResource" + }, + "description": "List of resources processed by the configuration profile assignment." + }, + "error": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail", + "readOnly": true, + "description": "Error message, if any, returned by the configuration profile assignment processing." + }, + "reportFormatVersion": { + "type": "string", + "readOnly": true, + "description": "Version of the report format" + } + } + }, + "ReportResource": { + "description": "Details about the resource processed by the configuration profile assignment", + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "Name of the resource." + }, + "id": { + "type": "string", + "readOnly": true, + "description": "ARM id of the resource." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Type of the resource." + }, + "status": { + "type": "string", + "readOnly": true, + "description": "Status of the resource." + }, + "error": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail", + "readOnly": true, + "description": "Error message, if any, returned when deploying the resource." + } + } + } + }, + "parameters": { + "VmNameParameter": { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/createOrUpdateConfigurationProfile.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/createOrUpdateConfigurationProfile.json new file mode 100644 index 000000000000..9d2e84a1e0c8 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/createOrUpdateConfigurationProfile.json @@ -0,0 +1,173 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "configurationProfileName": "customConfigurationProfile", + "api-version": "2021-04-30-preview", + "parameters": { + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configuration": { + "Antimalware/Enable": false, + "Backup/Enable": false, + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + }, + "overrides": [ + { + "priority": 100, + "if": { + "field": "$.location", + "equals": "eastus" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus", + "LogAnalytics/Reprovision": true + } + }, + { + "priority": 200, + "if": { + "field": "$.location", + "equals": "centralcanada" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada", + "LogAnalytics/Reprovision": true + } + } + ] + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile", + "name": "customConfigurationProfile", + "type": "Microsoft.Automanage/configurationProfiles", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configuration": { + "Antimalware/Enable": false, + "Backup/Enable": false, + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + }, + "overrides": [ + { + "priority": 100, + "if": { + "field": "$.location", + "equals": "eastus" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus", + "LogAnalytics/Reprovision": true + } + }, + { + "priority": 200, + "if": { + "field": "$.location", + "equals": "centralcanada" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada", + "LogAnalytics/Reprovision": true + } + } + ] + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-14T02:03:01.1974346Z" + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile", + "name": "customConfigurationProfile", + "type": "Microsoft.Automanage/configurationProfiles", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configuration": { + "Antimalware/Enable": false, + "Backup/Enable": false, + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + }, + "overrides": [ + { + "priority": 100, + "if": { + "field": "$.location", + "equals": "eastus" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus", + "LogAnalytics/Reprovision": true + } + }, + { + "priority": 200, + "if": { + "field": "$.location", + "equals": "centralcanada" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada", + "LogAnalytics/Reprovision": true + } + } + ] + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/createOrUpdateConfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/createOrUpdateConfigurationProfileAssignment.json new file mode 100644 index 000000000000..419004c39974 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/createOrUpdateConfigurationProfileAssignment.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "configurationProfileAssignmentName": "default", + "api-version": "2021-04-30-preview", + "parameters": { + "properties": { + "configurationProfile": "/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesProduction" + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName/providers/Microsoft.Automanage/AutomanageAssignments/default", + "name": "default", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName", + "configurationProfile": "/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesProduction", + "profileOverrides": null, + "status": null + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName/providers/Microsoft.Automanage/AutomanageAssignments/default", + "name": "default", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName", + "configurationProfile": "/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesProduction", + "profileOverrides": null, + "status": null + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/createOrUpdateConfigurationProfileVersion.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/createOrUpdateConfigurationProfileVersion.json new file mode 100644 index 000000000000..af717f6842ba --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/createOrUpdateConfigurationProfileVersion.json @@ -0,0 +1,174 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "configurationProfileName": "customConfigurationProfile", + "versionName": "version1", + "api-version": "2021-04-30-preview", + "parameters": { + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configuration": { + "Antimalware/Enable": false, + "Backup/Enable": false, + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + }, + "overrides": [ + { + "priority": 100, + "if": { + "field": "$.location", + "equals": "eastus" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus", + "LogAnalytics/Reprovision": true + } + }, + { + "priority": 200, + "if": { + "field": "$.location", + "equals": "centralcanada" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada", + "LogAnalytics/Reprovision": true + } + } + ] + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile/versions/version1", + "name": "customConfigurationProfile/version1", + "type": "Microsoft.Automanage/configurationProfiles/versions", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configuration": { + "Antimalware/Enable": false, + "Backup/Enable": false, + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + }, + "overrides": [ + { + "priority": 100, + "if": { + "field": "$.location", + "equals": "eastus" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus", + "LogAnalytics/Reprovision": true + } + }, + { + "priority": 200, + "if": { + "field": "$.location", + "equals": "centralcanada" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada", + "LogAnalytics/Reprovision": true + } + } + ] + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile/versions/version1", + "name": "customConfigurationProfile/version1", + "type": "Microsoft.Automanage/configurationProfiles/versions", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configuration": { + "Antimalware/Enable": false, + "Backup/Enable": false, + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + }, + "overrides": [ + { + "priority": 100, + "if": { + "field": "$.location", + "equals": "eastus" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus", + "LogAnalytics/Reprovision": true + } + }, + { + "priority": 200, + "if": { + "field": "$.location", + "equals": "centralcanada" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada", + "LogAnalytics/Reprovision": true + } + } + ] + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/deleteConfigurationProfile.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/deleteConfigurationProfile.json new file mode 100644 index 000000000000..992f88534c43 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/deleteConfigurationProfile.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "configurationProfileName": "customConfigurationProfile", + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/deleteConfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/deleteConfigurationProfileAssignment.json new file mode 100644 index 000000000000..18cd1e3e7e6e --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/deleteConfigurationProfileAssignment.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "configurationProfileAssignmentName": "default", + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/deleteConfigurationProfileVersion.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/deleteConfigurationProfileVersion.json new file mode 100644 index 000000000000..4ee733a0dd9f --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/deleteConfigurationProfileVersion.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "configurationProfileName": "customConfigurationProfile", + "versionName": "version1", + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getBestPractice.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getBestPractice.json new file mode 100644 index 000000000000..cabf946e3401 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getBestPractice.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "bestPracticeName": "azureBestPracticesProduction", + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "azureBestPracticesProduction", + "id": "/providers/Microsoft.Automanage/bestPractices/azureBestPracticesProduction", + "type": "Microsoft.Automanage/bestPractices", + "properties": { + "configuration": { + "Antimalware/Enable": true, + "Antimalware/EnableRealTimeProtection": true, + "Antimalware/RunScheduledScan": true, + "Antimalware/ScanType": "Quick", + "Antimalware/ScanDay": "7", + "Antimalware/ScanTimeInMinutes": "120", + "Backup/Enable": true, + "Backup/PolicyName": "dailyBackupPolicy", + "Backup/TimeZone": "UTC", + "Backup/InstantRpRetentionRangeInDays": "2", + "Backup/SchedulePolicy/ScheduleRunFrequency": "Daily", + "Backup/SchedulePolicy/ScheduleRunTimes": "[ 2017-01-26T00:00:00Z ]", + "Backup/SchedulePolicy/SchedulePolicyType": "SimpleSchedulePolicy", + "Backup/RetentionPolicy/RetentionPolicyType": "LongTermRetentionPolicy", + "Backup/RetentionPolicy/DailySchedule/RetentionTimes": "[ 2017-01-26T00:00:00Z ]", + "Backup/RetentionPolicy/DailySchedule/RetentionDuration/Count": "180", + "Backup/RetentionPolicy/DailySchedule/RetentionDuration/DurationType": "Days", + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + } + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getBestPracticeVersion.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getBestPracticeVersion.json new file mode 100644 index 000000000000..8f9c15233dc4 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getBestPracticeVersion.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "bestPracticeName": "azureBestPracticesProduction", + "versionName": "version1", + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "azureBestPracticesProduction/version1", + "id": "/providers/Microsoft.Automanage/bestPractices/azureBestPracticesProduction/versions/version1", + "type": "Microsoft.Automanage/bestPractices/versions", + "properties": { + "configuration": { + "Antimalware/Enable": true, + "Antimalware/EnableRealTimeProtection": true, + "Antimalware/RunScheduledScan": true, + "Antimalware/ScanType": "Quick", + "Antimalware/ScanDay": "7", + "Antimalware/ScanTimeInMinutes": "120", + "Backup/Enable": true, + "Backup/PolicyName": "dailyBackupPolicy", + "Backup/TimeZone": "UTC", + "Backup/InstantRpRetentionRangeInDays": "2", + "Backup/SchedulePolicy/ScheduleRunFrequency": "Daily", + "Backup/SchedulePolicy/ScheduleRunTimes": "[ 2017-01-26T00:00:00Z ]", + "Backup/SchedulePolicy/SchedulePolicyType": "SimpleSchedulePolicy", + "Backup/RetentionPolicy/RetentionPolicyType": "LongTermRetentionPolicy", + "Backup/RetentionPolicy/DailySchedule/RetentionTimes": "[ 2017-01-26T00:00:00Z ]", + "Backup/RetentionPolicy/DailySchedule/RetentionDuration/Count": "180", + "Backup/RetentionPolicy/DailySchedule/RetentionDuration/DurationType": "Days", + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + } + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getConfigurationProfile.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getConfigurationProfile.json new file mode 100644 index 000000000000..e3badc38e671 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getConfigurationProfile.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "configurationProfileName": "customConfigurationProfile", + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile", + "name": "customConfigurationProfile", + "type": "Microsoft.Automanage/ConfigurationProfiles", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configuration": { + "Antimalware/Enable": false, + "Backup/Enable": false, + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + }, + "overrides": [ + { + "priority": 100, + "if": { + "field": "$.location", + "equals": "eastus" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus", + "LogAnalytics/Reprovision": true + } + }, + { + "priority": 200, + "if": { + "field": "$.location", + "equals": "centralcanada" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada", + "LogAnalytics/Reprovision": true + } + } + ] + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getConfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getConfigurationProfileAssignment.json new file mode 100644 index 000000000000..71dcff0a5610 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getConfigurationProfileAssignment.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "configurationProfileAssignmentName": "default", + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName/providers/Microsoft.Automanage/configurationProfileAssignments/default", + "name": "default", + "type": "Microsoft.Automanage/ConfigurationProfileAssignments", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName", + "configurationProfile": "/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesDevTest", + "profileOverrides": null, + "status": "Compliant" + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getConfigurationProfileVersion.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getConfigurationProfileVersion.json new file mode 100644 index 000000000000..ed72727c99c7 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getConfigurationProfileVersion.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "configurationProfileName": "customConfigurationProfile", + "versionName": "version1", + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile/versions/version1", + "name": "customConfigurationProfile/version1", + "type": "Microsoft.Automanage/ConfigurationProfiles/versions", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configuration": { + "Antimalware/Enable": false, + "Backup/Enable": false, + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + }, + "overrides": [ + { + "priority": 100, + "if": { + "field": "$.location", + "equals": "eastus" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus", + "LogAnalytics/Reprovision": true + } + }, + { + "priority": 200, + "if": { + "field": "$.location", + "equals": "centralcanada" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada", + "LogAnalytics/Reprovision": true + } + } + ] + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getReport.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getReport.json new file mode 100644 index 000000000000..297f298aec54 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getReport.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "configurationProfileAssignmentName": "default", + "reportName": "b4e9ee6b-1717-4ff0-a8d2-e6d72c33d5f4", + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName/providers/Microsoft.Automanage/configurationProfileAssignments/default/reports/b4e9ee6b-1717-4ff0-a8d2-e6d72c33d5f4", + "name": "b4e9ee6b-1717-4ff0-a8d2-e6d72c33d5f4", + "type": "Microsoft.Automanage/configurationProfileAssignments/reports", + "properties": { + "startTime": "2021-03-31T22:13:06Z", + "endTime": "2021-03-31T22:17:42Z", + "lastModifiedTime": "2021-03-31T22:32:42Z", + "duration": "PT15M32S", + "type": "Consistency", + "status": "Conformant", + "configurationProfile": "anyConfigurationProfile", + "resources": [ + { + "name": "myResourceGroupName", + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName", + "type": "Microsoft.Resources/resourceGroups", + "status": "Conformant", + "error": null + } + ], + "error": null, + "reportFormatVersion": "1.0" + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listBestPracticesByTenant.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listBestPracticesByTenant.json new file mode 100644 index 000000000000..4c4931b5600a --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listBestPracticesByTenant.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "azureBestPracticesProduction", + "id": "/providers/Microsoft.Automanage/bestPractices/azureBestPracticesProduction", + "type": "Microsoft.Automanage/bestPractices", + "properties": { + "configuration": { + "Antimalware/Enable": true, + "Antimalware/EnableRealTimeProtection": true, + "Antimalware/RunScheduledScan": true, + "Antimalware/ScanType": "Quick", + "Antimalware/ScanDay": "7", + "Antimalware/ScanTimeInMinutes": "120", + "Backup/Enable": true, + "Backup/PolicyName": "dailyBackupPolicy", + "Backup/TimeZone": "UTC", + "Backup/InstantRpRetentionRangeInDays": "2", + "Backup/SchedulePolicy/ScheduleRunFrequency": "Daily", + "Backup/SchedulePolicy/ScheduleRunTimes": "[ 2017-01-26T00:00:00Z ]", + "Backup/SchedulePolicy/SchedulePolicyType": "SimpleSchedulePolicy", + "Backup/RetentionPolicy/RetentionPolicyType": "LongTermRetentionPolicy", + "Backup/RetentionPolicy/DailySchedule/RetentionTimes": "[ 2017-01-26T00:00:00Z ]", + "Backup/RetentionPolicy/DailySchedule/RetentionDuration/Count": "180", + "Backup/RetentionPolicy/DailySchedule/RetentionDuration/DurationType": "Days", + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + } + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + }, + { + "name": "azureBestPracticesDevTest", + "id": "/providers/Microsoft.Automanage/bestPractices/azureBestPracticesDevTest", + "type": "Microsoft.Automanage/bestPractices", + "properties": { + "configuration": { + "Antimalware/Enable": true, + "Antimalware/EnableRealTimeProtection": true, + "Antimalware/RunScheduledScan": true, + "Antimalware/ScanType": "Quick", + "Antimalware/ScanDay": "7", + "Antimalware/ScanTimeInMinutes": "120", + "Backup/Enable": false, + "VMInsights/Enable": false, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + } + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + ] + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listBestPracticesVersionsByTenant.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listBestPracticesVersionsByTenant.json new file mode 100644 index 000000000000..8f3bb5631750 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listBestPracticesVersionsByTenant.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "bestPracticeName": "azureBestPracticesProduction", + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "azureBestPracticesProduction/version1", + "id": "/providers/Microsoft.Automanage/bestPractices/azureBestPracticesProduction/versions/version1", + "type": "Microsoft.Automanage/bestPractices/versions", + "properties": { + "configuration": { + "Antimalware/Enable": true, + "Antimalware/EnableRealTimeProtection": true, + "Antimalware/RunScheduledScan": true, + "Antimalware/ScanType": "Quick", + "Antimalware/ScanDay": "7", + "Antimalware/ScanTimeInMinutes": "120", + "Backup/Enable": true, + "Backup/PolicyName": "dailyBackupPolicy", + "Backup/TimeZone": "UTC", + "Backup/InstantRpRetentionRangeInDays": "2", + "Backup/SchedulePolicy/ScheduleRunFrequency": "Daily", + "Backup/SchedulePolicy/ScheduleRunTimes": "[ 2017-01-26T00:00:00Z ]", + "Backup/SchedulePolicy/SchedulePolicyType": "SimpleSchedulePolicy", + "Backup/RetentionPolicy/RetentionPolicyType": "LongTermRetentionPolicy", + "Backup/RetentionPolicy/DailySchedule/RetentionTimes": "[ 2017-01-26T00:00:00Z ]", + "Backup/RetentionPolicy/DailySchedule/RetentionDuration/Count": "180", + "Backup/RetentionPolicy/DailySchedule/RetentionDuration/DurationType": "Days", + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + } + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + }, + { + "name": "azureBestPracticesProduction/version2", + "id": "/providers/Microsoft.Automanage/bestPractices/azureBestPracticesProduction/versions/version2", + "type": "Microsoft.Automanage/bestPractices/versions", + "properties": { + "configuration": { + "Antimalware/Enable": true, + "Antimalware/EnableRealTimeProtection": true, + "Antimalware/RunScheduledScan": true, + "Antimalware/ScanType": "Quick", + "Antimalware/ScanDay": "7", + "Antimalware/ScanTimeInMinutes": "120", + "Backup/Enable": false, + "VMInsights/Enable": false, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + } + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + ] + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfileAssignmentsByResourceGroup.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfileAssignmentsByResourceGroup.json new file mode 100644 index 000000000000..5bceb993e53a --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfileAssignmentsByResourceGroup.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName/providers/Microsoft.Automanage/configurationProfileAssignments/default", + "name": "default", + "type": "Microsoft.Automanage/ConfigurationProfileAssignments", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName", + "configurationProfile": "/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesDevTest", + "profileOverrides": null, + "status": "Compliant" + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + }, + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myArcMachineName/providers/Microsoft.Automanage/configurationProfileAssignments/default", + "name": "default", + "type": "Microsoft.Automanage/ConfigurationProfileAssignments", + "properties": { + "targetId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myArcMachineName", + "configurationProfile": "/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesProduction", + "profileOverrides": null, + "status": "NotCompliant " + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + ] + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfileAssignmentsBySubscription.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfileAssignmentsBySubscription.json new file mode 100644 index 000000000000..c02a50c28681 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfileAssignmentsBySubscription.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName/providers/Microsoft.Automanage/configurationProfileAssignments/default", + "name": "default", + "type": "Microsoft.Automanage/ConfigurationProfileAssignments", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName", + "configurationProfile": "/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesDevTest", + "profileOverrides": null, + "status": "Compliant" + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + }, + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myArcMachineName/providers/Microsoft.Automanage/configurationProfileAssignments/default", + "name": "default", + "type": "Microsoft.Automanage/ConfigurationProfileAssignments", + "properties": { + "targetId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myArcMachineName", + "configurationProfile": "/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesProduction", + "profileOverrides": null, + "status": "NotCompliant " + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + ] + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfileVersions.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfileVersions.json new file mode 100644 index 000000000000..b74236edd66e --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfileVersions.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "configurationProfileName": "customConfigurationProfile", + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile/versions/versions1", + "name": "customConfigurationProfile/version1", + "type": "Microsoft.Automanage/ConfigurationProfiles/versions", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configuration": { + "Antimalware/Enable": false, + "Backup/Enable": false, + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + }, + "overrides": [ + { + "priority": 100, + "if": { + "field": "$.location", + "equals": "eastus" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus", + "LogAnalytics/Reprovision": true + } + }, + { + "priority": 200, + "if": { + "field": "$.location", + "equals": "centralcanada" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada", + "LogAnalytics/Reprovision": true + } + } + ] + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + }, + { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile/versions/version2", + "name": "customConfigurationProfile/version2", + "type": "Microsoft.Automanage/ConfigurationProfiles/versions", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configuration": { + "Antimalware/Enable": false, + "Backup/Enable": false, + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + } + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + ] + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfilesByResourceGroup.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfilesByResourceGroup.json new file mode 100644 index 000000000000..988bdc60d6cd --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfilesByResourceGroup.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile", + "name": "customConfigurationProfile", + "type": "Microsoft.Automanage/ConfigurationProfiles", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configuration": { + "Antimalware/Enable": false, + "Backup/Enable": false, + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + }, + "overrides": [ + { + "priority": 100, + "if": { + "field": "$.location", + "equals": "eastus" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus", + "LogAnalytics/Reprovision": true + } + }, + { + "priority": 200, + "if": { + "field": "$.location", + "equals": "centralcanada" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada", + "LogAnalytics/Reprovision": true + } + } + ] + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + }, + { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile2", + "name": "customConfigurationProfile2", + "type": "Microsoft.Automanage/ConfigurationProfiles", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configuration": { + "Antimalware/Enable": false, + "Backup/Enable": false, + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + } + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + ] + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfilesBySubscription.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfilesBySubscription.json new file mode 100644 index 000000000000..00d814eac4fa --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfilesBySubscription.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile", + "name": "customConfigurationProfile", + "type": "Microsoft.Automanage/ConfigurationProfiles", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configuration": { + "Antimalware/Enable": false, + "Backup/Enable": false, + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + }, + "overrides": [ + { + "priority": 100, + "if": { + "field": "$.location", + "equals": "eastus" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus", + "LogAnalytics/Reprovision": true + } + }, + { + "priority": 200, + "if": { + "field": "$.location", + "equals": "centralcanada" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada", + "LogAnalytics/Reprovision": true + } + } + ] + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + }, + { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile2", + "name": "customConfigurationProfile2", + "type": "Microsoft.Automanage/ConfigurationProfiles", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configuration": { + "Antimalware/Enable": false, + "Backup/Enable": false, + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + }, + "overrides": [ + { + "priority": 100, + "if": { + "field": "$.location", + "equals": "eastus" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus", + "LogAnalytics/Reprovision": true + } + }, + { + "priority": 200, + "if": { + "field": "$.location", + "equals": "centralcanada" + }, + "then": { + "LogAnalytics/Enable": true, + "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada", + "LogAnalytics/Reprovision": true + } + } + ] + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + ] + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listOperations.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listOperations.json new file mode 100644 index 000000000000..8926f7e7eb16 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listOperations.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "Microsoft.Automanage/register/action", + "display": { + "provider": "Microsoft Automanage", + "resource": "Automanage Resource Provider", + "operation": "Register the Automanage Resource Provider", + "description": "Registers the subscription for the Automanage Resource Provider" + } + }, + { + "name": "Microsoft.Automanage/configurationProfileAssignments/write", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/configurationProfileAssignments", + "operation": "Microsoft.Automanage/configurationProfileAssignments/write", + "description": "Create new configuration profile assignment." + } + }, + { + "name": "Microsoft.Automanage/configurationProfileAssignments/read", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/configurationProfileAssignments", + "operation": "Microsoft.Automanage/configurationProfileAssignments/read", + "description": "Get configuration profile assignment." + } + }, + { + "name": "Microsoft.Automanage/configurationProfileAssignments/delete", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/configurationProfileAssignments", + "operation": "Microsoft.Automanage/configurationProfileAssignments/delete", + "description": "Delete configuration profile assignment." + } + }, + { + "name": "Microsoft.Automanage/bestPractices/read", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/bestPractices", + "operation": "Microsoft.Automanage/bestPractices/read", + "description": "Get Automanage bestPractice." + } + }, + { + "name": "Microsoft.Automanage/bestPractices/versions/read", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/bestPractices/versions", + "operation": "Microsoft.Automanage/bestPractices/versions/read", + "description": "Get Automanage bestPractice version." + } + }, + { + "name": "Microsoft.Automanage/configurationProfiles/write", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/configurationProfiles", + "operation": "Microsoft.Automanage/configurationProfiles/write", + "description": "Create new Automanage Configuration Profile ." + } + }, + { + "name": "Microsoft.Automanage/configurationProfiles/read", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/configurationProfiles", + "operation": "Microsoft.Automanage/configurationProfiles/read", + "description": "Get Automanage Configuration Profile." + } + }, + { + "name": "Microsoft.Automanage/configurationProfiles/delete", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/configurationProfiles", + "operation": "Microsoft.Automanage/configurationProfiles/delete", + "description": "Delete Automanage Configuration Profile." + } + }, + { + "name": "Microsoft.Automanage/configurationProfiles/versions/write", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/configurationProfiles/versions", + "operation": "Microsoft.Automanage/configurationProfiles/versions/write", + "description": "Create new Automanage Configuration Profile version." + } + }, + { + "name": "Microsoft.Automanage/configurationProfiles/versions/read", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/configurationProfiles/versions", + "operation": "Microsoft.Automanage/configurationProfiles/versions/read", + "description": "Get Automanage Configuration Profile version." + } + }, + { + "name": "Microsoft.Automanage/configurationProfiles/versions/delete", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/configurationProfiles/versions", + "operation": "Microsoft.Automanage/configurationProfiles/versions/delete", + "description": "Delete Automanage Configuration Profile version." + } + }, + { + "name": "Microsoft.Automanage/configurationProfileAssignments/reports/read", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/configurationProfileAssignments/reports", + "operation": "Microsoft.Automanage/configurationProfileAssignments/reports/read", + "description": "Get report for configuration profile assignment." + } + } + ] + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listReportsByconfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listReportsByconfigurationProfileAssignment.json new file mode 100644 index 000000000000..d90ec6e724fc --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listReportsByconfigurationProfileAssignment.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "configurationProfileAssignmentName": "default", + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName/providers/Microsoft.Automanage/configurationProfileAssignments/default/reports/b4e9ee6b-1717-4ff0-a8d2-e6d72c33d5f4", + "name": "b4e9ee6b-1717-4ff0-a8d2-e6d72c33d5f4", + "type": "Microsoft.Automanage/configurationProfileAssignments/reports", + "properties": { + "startTime": "2021-03-31T22:13:06Z", + "endTime": "2021-03-31T22:17:42Z", + "lastModifiedTime": "2021-03-31T22:32:42Z", + "duration": "PT15M32S", + "type": "Consistency", + "status": "Conformant", + "configurationProfile": "anyConfigurationProfile", + "resources": [ + { + "name": "myResourceGroupName", + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName", + "type": "Microsoft.Resources/resourceGroups", + "status": "Conformant", + "error": null + } + ], + "error": null, + "reportFormatVersion": "1.0" + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + }, + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName/providers/Microsoft.Automanage/configurationProfileAssignments/default/reports/142cd92e-6413-49ba-94b0-8e74f251d828", + "name": "142cd92e-6413-49ba-94b0-8e74f251d828", + "type": "Microsoft.Automanage/configurationProfileAssignments/reports", + "properties": { + "startTime": "2021-03-31T22:13:06Z", + "endTime": "2021-03-31T22:17:42Z", + "lastModifiedTime": "2021-03-31T22:32:42Z", + "duration": "PT15M32S", + "type": "Consistency", + "status": "Conformant", + "configurationProfile": "anyConfigurationProfile", + "resources": [ + { + "name": "myResourceGroupName", + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName", + "type": "Microsoft.Resources/resourceGroups", + "status": "Conformant", + "error": null + } + ], + "error": null, + "reportFormatVersion": "1.0" + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + ] + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/updateConfigurationProfile.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/updateConfigurationProfile.json new file mode 100644 index 000000000000..95984fa0de14 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/updateConfigurationProfile.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "configurationProfileName": "customConfigurationProfile", + "api-version": "2021-04-30-preview", + "parameters": { + "tags": { + "Organization": "Administration" + }, + "properties": { + "configuration": { + "Antimalware/Enable": false, + "Backup/Enable": false, + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile", + "name": "customConfigurationProfile", + "type": "Microsoft.Automanage/configurationProfiles", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configuration": { + "Antimalware/Enable": false, + "Backup/Enable": false, + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + } + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/updateConfigurationProfileVersion.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/updateConfigurationProfileVersion.json new file mode 100644 index 000000000000..13efe09f5eca --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/updateConfigurationProfileVersion.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "configurationProfileName": "customConfigurationProfile", + "versionName": "version1", + "api-version": "2021-04-30-preview", + "parameters": { + "tags": { + "Organization": "Administration" + }, + "properties": { + "configuration": { + "Antimalware/Enable": false, + "Backup/Enable": false, + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile/versions/version1", + "name": "customConfigurationProfile/version1", + "type": "Microsoft.Automanage/configurationProfiles/versions", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configuration": { + "Antimalware/Enable": false, + "Backup/Enable": false, + "VMInsights/Enable": true, + "AzureSecurityCenter/Enable": true, + "UpdateManagement/Enable": true, + "ChangeTrackingAndInventory/Enable": true, + "GuestConfiguration/Enable": true, + "LogAnalytics/Enable": true, + "BootDiagnostics/Enable": true + } + }, + "systemData": { + "createdBy": "user1@outlook.com", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "user2@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/readme.md b/specification/automanage/resource-manager/readme.md index c2b15407698e..15d7cdc9e7b9 100644 --- a/specification/automanage/resource-manager/readme.md +++ b/specification/automanage/resource-manager/readme.md @@ -31,6 +31,19 @@ openapi-type: arm tag: package-2020-06-30-preview ``` +### Tag: package-2021-04-30-preview + +These settings apply only when `--tag=package-2021-04-30-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2021-04-30-preview' +input-file: +- Microsoft.Automanage/preview/2021-04-30-preview/automanage.json +directive: + - suppress: R3010 + from: Microsoft.Automanage/preview/2021-04-30-preview/automanage.json + reason: list by immediate parent operations are defined +``` + ### Tag: package-2020-06-30-preview These settings apply only when `--tag=package-2020-06-30-preview` is specified on the command line. @@ -48,6 +61,11 @@ directive: from: automanage.json where: $.paths reason: 'Microsoft.Automanage is a proxy resource provider under Microsoft. Please refer PR https://github.com/Azure/azure-rest-api-specs-pr/pull/1283' + - suppress: R3018 # EnumInsteadOfBoolean - Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: isDataAction" + where: + - $.definitions.Operation.properties.isDataAction + from: types.json + reason: its per the RPC specification ``` --- diff --git a/specification/automation/resource-manager/readme.go.md b/specification/automation/resource-manager/readme.go.md index 073c5412e899..5cdbc0918df2 100644 --- a/specification/automation/resource-manager/readme.go.md +++ b/specification/automation/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/automation/armautomation +module-name: sdk/resourcemanager/automation/armautomation module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/automation/resource-manager/readme.md b/specification/automation/resource-manager/readme.md index 6f2106821aa7..9c5c06b99dbe 100644 --- a/specification/automation/resource-manager/readme.md +++ b/specification/automation/resource-manager/readme.md @@ -326,6 +326,7 @@ swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/BackupLocations.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/BackupLocations.json new file mode 100644 index 000000000000..3717a024a0d1 --- /dev/null +++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/BackupLocations.json @@ -0,0 +1,539 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-09-01", + "title": "BackupManagementClient", + "description": "The Admin Backup Management Client." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations": { + "get": { + "x-ms-examples": { + "Returns the list of backup locations.": { + "$ref": "./examples/BackupLocations/List.json" + } + }, + "description": "Returns the list of backup locations.", + "tags": [ + "BackupLocations" + ], + "operationId": "BackupLocations_List", + "parameters": [ + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "Backups.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/TopParameter" + }, + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SkipParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupLocationList" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}": { + "get": { + "x-ms-examples": { + "Returns a specific fileshare backup location based on name.": { + "$ref": "./examples/BackupLocations/GetFileshare.json" + }, + "Returns a specific blob backup location based on name.": { + "$ref": "./examples/BackupLocations/GetBlob.json" + } + }, + "description": "Returns a specific backup location based on name.", + "tags": [ + "BackupLocations" + ], + "operationId": "BackupLocations_Get", + "parameters": [ + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/BackupLocationParameter" + }, + { + "$ref": "Backups.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupLocation" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "x-ms-examples": { + "Put update new fileshare backup location.": { + "$ref": "./examples/BackupLocations/PutFileshare.json" + }, + "Put update new blob backup location.": { + "$ref": "./examples/BackupLocations/PutBlob.json" + }, + "Blank put clear backup location.": { + "$ref": "./examples/BackupLocations/BlankPut.json" + } + }, + "description": "Put update a backup location.", + "tags": [ + "BackupLocations" + ], + "operationId": "BackupLocations_Set", + "parameters": [ + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/BackupLocationParameter" + }, + { + "$ref": "Backups.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/BackupLocationObjectParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupLocation" + } + }, + "202": { + "description": "ACCEPTED", + "schema": { + "$ref": "#/definitions/BackupLocation" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "x-ms-examples": { + "Patch update new fileshare backup location.": { + "$ref": "./examples/BackupLocations/PatchFileshare.json" + }, + "Patch update new blob backup location.": { + "$ref": "./examples/BackupLocations/PatchBlob.json" + } + }, + "description": "Patch update a backup location.", + "tags": [ + "BackupLocations" + ], + "operationId": "BackupLocations_Update", + "parameters": [ + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/BackupLocationParameter" + }, + { + "$ref": "Backups.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/BackupLocationObjectParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupLocation" + } + }, + "202": { + "description": "ACCEPTED", + "schema": { + "$ref": "#/definitions/BackupLocation" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/createBackup": { + "post": { + "x-ms-examples": { + "Back up a specific location.": { + "$ref": "./examples/BackupLocations/Backup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Back up a specific location.", + "tags": [ + "BackupLocations" + ], + "operationId": "BackupLocations_CreateBackup", + "parameters": [ + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/BackupLocationParameter" + }, + { + "$ref": "Backups.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "Backups.json#/definitions/Backup" + } + }, + "202": { + "description": "ACCEPTED", + "schema": { + "$ref": "Backups.json#/definitions/Backup" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/pruneExternalStore": { + "post": { + "x-ms-examples": { + "Prune the external backup store": { + "$ref": "./examples/BackupLocations/Prune.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Prune the external backup store.", + "tags": [ + "BackupLocations" + ], + "operationId": "BackupLocations_PruneExternalStore", + "parameters": [ + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/BackupLocationParameter" + }, + { + "$ref": "#/parameters/PruneBackupStoreOptionParameter" + }, + { + "$ref": "Backups.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PruneList" + } + }, + "202": { + "description": "ACCEPTED" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "BackupLocation": { + "description": "Information about the backup location.", + "type": "object", + "properties": { + "properties": { + "description": "Properties of a backup location.", + "$ref": "#/definitions/BackupLocationModel", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../stable/2018-09-01/Backup.json#/definitions/Resource" + } + ] + }, + "BackupLocationModel": { + "type": "object", + "description": "Properties of a backup location.", + "properties": { + "externalStoreDefault": { + "description": "Information about an external storage location.", + "$ref": "#/definitions/ExternalStore", + "x-ms-client-flatten": true + } + } + }, + "ExternalStore": { + "type": "object", + "description": "Information about an external storage location.", + "properties": { + "path": { + "description": "Path to the update fileshare location", + "type": "string" + }, + "userName": { + "description": "Username to access the fileshare location.", + "type": "string" + }, + "password": { + "description": "Password to access the fileshare location.", + "type": "string" + }, + "blobStorageUrl": { + "description": "Url to the update blob location", + "type": "string" + }, + "blobStorageKey": { + "description": "Key to access the blob location.", + "type": "string" + }, + "encryptionCertBase64": { + "description": "The base64 raw data for the backup encryption certificate.", + "type": "string" + }, + "encryptionCertThumbprint": { + "description": "The thumbprint of the encryption certificate.", + "type": "string", + "readOnly": true + }, + "backupFrequencyInHours": { + "description": "The interval, in hours, for the frequency that the scheduler takes a backup.", + "type": "integer", + "format": "int32" + }, + "availableCapacity": { + "description": "Free space at the backup location.", + "type": "string", + "readOnly": true + }, + "isBackupSchedulerEnabled": { + "description": "True if the backup scheduler is enabled.", + "type": "boolean" + }, + "nextBackupTime": { + "description": "The scheduled time of the next backup.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "lastBackupTime": { + "description": "Time of backup.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "backupRetentionPeriodInDays": { + "description": "The retention period, in days, for backs in the storage location.", + "type": "integer", + "format": "int32" + } + } + }, + "BackupLocationList": { + "type": "object", + "description": "List of backup locations.", + "properties": { + "value": { + "description": "List of backup locations.", + "type": "array", + "items": { + "$ref": "#/definitions/BackupLocation" + } + }, + "nextLink": { + "description": "URI to the next page.", + "type": "string" + } + } + }, + "PruneBackupStoreOperationType": { + "description": "Prune backup store operation type.", + "type": "string", + "enum": [ + "Default", + "DryRun" + ], + "x-ms-enum": { + "name": "PruneBackupStoreOperationType", + "modelAsString": false + } + }, + "PruneBackupStoreOperationOptionModel": { + "type": "object", + "description": "Prune backup store operation model.", + "properties": { + "operationType": { + "description": "Operation type.", + "$ref": "#/definitions/PruneBackupStoreOperationType" + } + } + }, + "PruneModel": { + "type": "object", + "description": "Properties for a prune list.", + "properties": { + "pathsToDelete": { + "description": "Garbage file list.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-client-flatten": true + } + } + }, + "PruneList": { + "type": "object", + "description": "List of files to delete.", + "properties": { + "properties": { + "description": "Holds information for a backup.", + "$ref": "#/definitions/PruneModel", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "BackupLocationParameter": { + "name": "location", + "in": "path", + "description": "Name of the backup location.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BackupLocationObjectParameter": { + "name": "backup", + "in": "body", + "description": "Backup location object.", + "required": true, + "schema": { + "$ref": "#/definitions/BackupLocation" + }, + "x-ms-parameter-location": "method" + }, + "PruneBackupStoreOptionParameter": { + "name": "option", + "in": "body", + "description": "Prune operation option.", + "required": false, + "schema": { + "$ref": "#/definitions/PruneBackupStoreOperationOptionModel" + }, + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Authorization uses an Azure Active Directory OAuth2 flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/Backups.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/Backups.json new file mode 100644 index 000000000000..85bbe37ed873 --- /dev/null +++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/Backups.json @@ -0,0 +1,377 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-09-01", + "title": "BackupManagementClient", + "description": "The Admin Backup Management Client." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups": { + "get": { + "x-ms-examples": { + "Returns a list of backups from a location.": { + "$ref": "./examples/Backups/List.json" + } + }, + "description": "Returns a list of backups from a location.", + "tags": [ + "Backups" + ], + "operationId": "Backups_List", + "parameters": [ + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "BackupLocations.json#/parameters/BackupLocationParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/TopParameter" + }, + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SkipParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupList" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}": { + "get": { + "x-ms-examples": { + "Returns a backup from a location based on name.": { + "$ref": "./examples/Backups/Get.json" + } + }, + "description": "Returns a backup from a location based on name.", + "tags": [ + "Backups" + ], + "operationId": "Backups_Get", + "parameters": [ + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "BackupLocations.json#/parameters/BackupLocationParameter" + }, + { + "$ref": "#/parameters/BackupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Backup" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}/restore": { + "post": { + "x-ms-examples": { + "Restore a backup.": { + "$ref": "./examples/Backups/Restore.json" + }, + "Restore a single role from backup.": { + "$ref": "./examples/Backups/SingleRepoRestore.json" + } + }, + "description": "Restore a backup.", + "tags": [ + "Backups" + ], + "operationId": "Backups_Restore", + "parameters": [ + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "BackupLocations.json#/parameters/BackupLocationParameter" + }, + { + "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/BackupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/RestoreOptionsParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "ACCEPTED" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": { + "Backup": { + "description": "Information related to a backup.", + "type": "object", + "properties": { + "properties": { + "description": "Properties for a backup.", + "$ref": "#/definitions/BackupModel", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../stable/2018-09-01/Backup.json#/definitions/Resource" + } + ] + }, + "BackupModel": { + "type": "object", + "description": "Properties for a backup.", + "properties": { + "backupInfo": { + "description": "Holds information for a backup.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BackupInfo" + } + } + }, + "BackupInfo": { + "type": "object", + "description": "Holds information for a backup.", + "properties": { + "backupDataVersion": { + "description": "Version of the backup data.", + "type": "string", + "readOnly": true + }, + "roleStatus": { + "description": "Backup status for each role.", + "$ref": "#/definitions/RoleOperationStatusList", + "readOnly": true + }, + "status": { + "description": "Current status of the backup.", + "$ref": "#/definitions/OperationStatus", + "readOnly": true + }, + "createdDateTime": { + "description": "Creation time of the backup.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "timeTakenToCreate": { + "description": "Duration to create the backup.", + "type": "string", + "readOnly": true + }, + "deploymentID": { + "description": "Deployment Id of the stamp.", + "type": "string", + "readOnly": true + }, + "stampVersion": { + "description": "Azure Stack stamp version of the backup.", + "type": "string", + "readOnly": true + }, + "oemVersion": { + "description": "OEM version.", + "type": "string", + "readOnly": true + }, + "isCloudRecoveryReady": { + "description": "True if the backup can be used for cloud recovery scenario.", + "type": "boolean", + "readOnly": true + }, + "encryptionCertThumbprint": { + "description": "The thumbprint of the certificate used to encrypt the backup encryption key.", + "type": "string", + "readOnly": true + } + } + }, + "OperationStatus": { + "description": "Status of an operation.", + "type": "string", + "enum": [ + "Creating", + "Queued", + "Running", + "Deleted", + "Failed", + "Skipped", + "PartialSucceeded", + "Succeeded" + ], + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": false + } + }, + "RoleOperationStatusList": { + "description": "object", + "type": "array", + "items": { + "$ref": "#/definitions/RoleOperationStatus" + } + }, + "RoleOperationStatus": { + "description": "Backup status for a role.", + "type": "object", + "properties": { + "roleName": { + "description": "Name of the role.", + "type": "string" + }, + "status": { + "description": "Status of the role.", + "$ref": "#/definitions/OperationStatus" + } + } + }, + "BackupList": { + "type": "object", + "description": "List of backups.", + "properties": { + "value": { + "description": "List of backups.", + "type": "array", + "items": { + "$ref": "#/definitions/Backup" + } + }, + "nextLink": { + "description": "URI to the next page.", + "type": "string" + } + } + }, + "RestoreOptions": { + "type": "object", + "description": "Properties for restore options.", + "properties": { + "roleName": { + "description": "The Azure Stack role name for restore, set it to empty for all infrastructure role", + "type": "string" + }, + "decryptionCertBase64": { + "description": "The certificate file raw data in Base64 string. This should be the .pfx file with the private key.", + "type": "string" + }, + "decryptionCertPassword": { + "description": "The password for the decryption certificate.", + "type": "string" + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Client API version.", + "required": true, + "type": "string", + "default": "2021-09-01" + }, + "BackupParameter": { + "name": "backup", + "in": "path", + "description": "Name of the backup.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RestoreOptionsParameter": { + "name": "restoreOptions", + "in": "body", + "description": "Restore options.", + "required": true, + "schema": { + "$ref": "#/definitions/RestoreOptions" + }, + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Authorization uses an Azure Active Directory OAuth2 flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/Backup.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/Backup.json new file mode 100644 index 000000000000..de639ebe4949 --- /dev/null +++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/Backup.json @@ -0,0 +1,162 @@ +{ + "parameters": { + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "System.local", + "location": "local", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/system.local/providers/Microsoft.Backup.Admin/backupLocations/local/backups/64e8625a-8dc0-49df-a195-932901b4be81", + "name": "local/64e8625a-8dc0-49df-a195-932901b4be81", + "type": "Microsoft.Backup.Admin/backupLocations/backups", + "location": "local", + "tags": {}, + "properties": { + "backupInfo": { + "backupDataVersion": "1.0.1", + "roleStatus": [ + { + "roleName": "NRP", + "status": "Succeeded" + }, + { + "roleName": "SRP", + "status": "Succeeded" + }, + { + "roleName": "CRP", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultInternalControlPlane", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultInternalDataPlane", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultControlPlane", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultDataPlane", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultNamingService", + "status": "Succeeded" + }, + { + "roleName": "WAS", + "status": "Succeeded" + }, + { + "roleName": "ECE", + "status": "Succeeded" + }, + { + "roleName": "Domain", + "status": "Succeeded" + }, + { + "roleName": "CA", + "status": "Succeeded" + }, + { + "roleName": "ACS", + "status": "Succeeded" + } + ], + "status": "Succeeded", + "createdDateTime": "2018-08-28T07:47:11.3081476Z", + "timeTakenToCreate": "PT20M48.5970829S", + "stampVersion": "1.1809.0.25", + "oemVersion": null, + "isCloudRecoveryReady": true, + "deploymentID": "d3236bc0-6a46-4877-a9da-6fe69e9661df", + "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8" + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/system.local/providers/Microsoft.Backup.Admin/backupLocations/local/backups/64e8625a-8dc0-49df-a195-932901b4be81", + "name": "local/64e8625a-8dc0-49df-a195-932901b4be81", + "type": "Microsoft.Backup.Admin/backupLocations/backups", + "location": "local", + "tags": {}, + "properties": { + "backupInfo": { + "backupDataVersion": "1.0.1", + "roleStatus": [ + { + "roleName": "NRP", + "status": "Succeeded" + }, + { + "roleName": "SRP", + "status": "Succeeded" + }, + { + "roleName": "CRP", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultInternalControlPlane", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultInternalDataPlane", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultControlPlane", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultDataPlane", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultNamingService", + "status": "Succeeded" + }, + { + "roleName": "WAS", + "status": "Succeeded" + }, + { + "roleName": "ECE", + "status": "Succeeded" + }, + { + "roleName": "Domain", + "status": "Succeeded" + }, + { + "roleName": "CA", + "status": "Succeeded" + }, + { + "roleName": "ACS", + "status": "Succeeded" + } + ], + "status": "Succeeded", + "createdDateTime": "2018-08-28T07:47:11.3081476Z", + "timeTakenToCreate": "PT20M48.5970829S", + "stampVersion": "1.1809.0.25", + "oemVersion": null, + "isCloudRecoveryReady": true, + "deploymentID": "d3236bc0-6a46-4877-a9da-6fe69e9661df", + "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8" + } + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/BlankPut.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/BlankPut.json new file mode 100644 index 000000000000..f49cf273c018 --- /dev/null +++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/BlankPut.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "System.local", + "location": "local", + "backup": { + "properties": { + "externalStoreDefault": { + "path": "", + "userName": "", + "password": "", + "blobStorageUrl": "", + "blobStorageKey": "", + "encryptionCertBase64": "", + "backupFrequencyInHours": null, + "isBackupSchedulerEnabled": null, + "backupRetentionPeriodInDays": null + } + }, + "location": "local", + "tags": {} + }, + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", + "name": "local", + "type": "Microsoft.Backup.Admin/backupLocations", + "location": "local", + "tags": {}, + "properties": { + "externalStoreDefault": { + "path": "", + "userName": "", + "password": null, + "blobStorageUrl": null, + "blobStorageKey": null, + "encryptionCertBase64": null, + "encryptionCertThumbprint": null, + "backupFrequencyInHours": 12, + "availableCapacity": null, + "isBackupSchedulerEnabled": null, + "nextBackupTime": null, + "lastBackupTime": null, + "backupRetentionPeriodInDays": 7 + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", + "name": "local", + "type": "Microsoft.Backup.Admin/backupLocations", + "location": "local", + "tags": {}, + "properties": { + "externalStoreDefault": { + "path": "", + "userName": "", + "password": null, + "blobStorageUrl": "", + "blobStorageKey": null, + "encryptionCertBase64": null, + "encryptionCertThumbprint": null, + "backupFrequencyInHours": 12, + "availableCapacity": null, + "isBackupSchedulerEnabled": null, + "nextBackupTime": null, + "lastBackupTime": null, + "backupRetentionPeriodInDays": 7 + } + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/GetBlob.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/GetBlob.json new file mode 100644 index 000000000000..1c3abb766454 --- /dev/null +++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/GetBlob.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "System.local", + "location": "local", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", + "name": "local", + "type": "Microsoft.Backup.Admin/backupLocations", + "location": "local", + "tags": {}, + "properties": { + "externalStoreDefault": { + "path": "", + "userName": "", + "password": null, + "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5", + "blobStorageKey": null, + "encryptionCertBase64": null, + "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", + "backupFrequencyInHours": 10, + "availableCapacity": "29.6 TB", + "isBackupSchedulerEnabled": false, + "nextBackupTime": "2018-08-28T17:26:00.9454387Z", + "lastBackupTime": "2018-08-28T07:47:11.3081476Z", + "backupRetentionPeriodInDays": 6 + } + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/GetFileshare.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/GetFileshare.json new file mode 100644 index 000000000000..a38aa3cc432e --- /dev/null +++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/GetFileshare.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "System.local", + "location": "local", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", + "name": "local", + "type": "Microsoft.Backup.Admin/backupLocations", + "location": "local", + "tags": {}, + "properties": { + "externalStoreDefault": { + "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore", + "userName": "azurestack\\azurestackadmin", + "password": null, + "blobStorageUrl": null, + "blobStorageKey": null, + "encryptionCertBase64": null, + "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", + "backupFrequencyInHours": 10, + "availableCapacity": "29.6 TB", + "isBackupSchedulerEnabled": false, + "nextBackupTime": "2018-08-28T17:26:00.9454387Z", + "lastBackupTime": "2018-08-28T07:47:11.3081476Z", + "backupRetentionPeriodInDays": 6 + } + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/List.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/List.json new file mode 100644 index 000000000000..36c3c43d2f36 --- /dev/null +++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/List.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "System.local", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/fileshare", + "name": "fileshare", + "type": "Microsoft.Backup.Admin/backupLocations", + "location": "local", + "tags": {}, + "properties": { + "externalStoreDefault": { + "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore", + "userName": "azurestack\\azurestackadmin", + "password": null, + "blobStorageUrl": null, + "blobStorageKey": null, + "encryptionCertBase64": null, + "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", + "backupFrequencyInHours": 10, + "availableCapacity": "29.6 TB", + "isBackupSchedulerEnabled": false, + "nextBackupTime": "2018-08-28T17:26:00.9454387Z", + "lastBackupTime": "2018-08-28T07:47:11.3081476Z", + "backupRetentionPeriodInDays": 6 + } + } + }, + { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/blob", + "name": "blob", + "type": "Microsoft.Backup.Admin/backupLocations", + "location": "local", + "tags": {}, + "properties": { + "externalStoreDefault": { + "path": "", + "userName": "", + "password": null, + "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5", + "blobStorageKey": null, + "encryptionCertBase64": null, + "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", + "backupFrequencyInHours": 12, + "availableCapacity": "29.6 TB", + "isBackupSchedulerEnabled": false, + "nextBackupTime": "2018-08-28T17:26:00.9454387Z", + "lastBackupTime": "2018-08-28T07:47:11.3081476Z", + "backupRetentionPeriodInDays": 8 + } + } + } + ] + } + } + } +} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PatchBlob.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PatchBlob.json new file mode 100644 index 000000000000..ca77f8c002f0 --- /dev/null +++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PatchBlob.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "System.local", + "location": "local", + "backup": { + "properties": { + "externalStoreDefault": { + "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5", + "blobStorageKey": "blobStorageKey", + "encryptionCertBase64": "encryptioncert", + "backupFrequencyInHours": 10, + "isBackupSchedulerEnabled": false, + "backupRetentionPeriodInDays": 6 + } + }, + "location": "local", + "tags": {} + }, + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", + "name": "local", + "type": "Microsoft.Backup.Admin/backupLocations", + "location": "local", + "tags": {}, + "properties": { + "externalStoreDefault": { + "path": "", + "userName": "", + "password": null, + "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5", + "blobStorageKey": null, + "encryptionCertBase64": null, + "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", + "backupFrequencyInHours": 10, + "availableCapacity": "29.6 TB", + "isBackupSchedulerEnabled": false, + "nextBackupTime": "2018-08-28T17:26:00.9454387Z", + "lastBackupTime": "2018-08-28T07:47:11.3081476Z", + "backupRetentionPeriodInDays": 6 + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", + "name": "local", + "type": "Microsoft.Backup.Admin/backupLocations", + "location": "local", + "tags": {}, + "properties": { + "externalStoreDefault": { + "path": "", + "userName": "", + "password": null, + "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5", + "blobStorageKey": null, + "encryptionCertBase64": null, + "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", + "backupFrequencyInHours": 10, + "availableCapacity": "29.6 TB", + "isBackupSchedulerEnabled": false, + "nextBackupTime": "2018-08-28T17:26:00.9454387Z", + "lastBackupTime": "2018-08-28T07:47:11.3081476Z", + "backupRetentionPeriodInDays": 6 + } + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PatchFileshare.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PatchFileshare.json new file mode 100644 index 000000000000..c7ef2d8dcda9 --- /dev/null +++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PatchFileshare.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "System.local", + "location": "local", + "backup": { + "properties": { + "externalStoreDefault": { + "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore", + "userName": "azurestack\\azurestackadmin", + "password": "password", + "encryptionCertBase64": "encryptioncert", + "backupFrequencyInHours": 12 + } + }, + "location": "local", + "tags": {} + }, + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", + "name": "local", + "type": "Microsoft.Backup.Admin/backupLocations", + "location": "local", + "tags": {}, + "properties": { + "externalStoreDefault": { + "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore", + "userName": "azurestack\\azurestackadmin", + "password": null, + "blobStorageUrl": null, + "blobStorageKey": null, + "encryptionCertBase64": null, + "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", + "backupFrequencyInHours": 12, + "availableCapacity": "29.6 TB", + "isBackupSchedulerEnabled": false, + "nextBackupTime": "2018-08-28T17:26:00.9454387Z", + "lastBackupTime": "2018-08-28T07:47:11.3081476Z", + "backupRetentionPeriodInDays": 6 + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", + "name": "local", + "type": "Microsoft.Backup.Admin/backupLocations", + "location": "local", + "tags": {}, + "properties": { + "externalStoreDefault": { + "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore", + "userName": "azurestack\\azurestackadmin", + "password": null, + "blobStorageUrl": null, + "blobStorageKey": null, + "encryptionCertBase64": null, + "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", + "backupFrequencyInHours": 12, + "availableCapacity": "29.6 TB", + "isBackupSchedulerEnabled": false, + "nextBackupTime": "2018-08-28T17:26:00.9454387Z", + "lastBackupTime": "2018-08-28T07:47:11.3081476Z", + "backupRetentionPeriodInDays": 6 + } + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/Prune.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/Prune.json new file mode 100644 index 000000000000..f0daaf1b3f37 --- /dev/null +++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/Prune.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "8742f75d-84ae-4f1b-b22e-0e63dde0d6f4", + "resourceGroupName": "System.redmond", + "location": "redmond", + "api-version": "2021-09-01", + "OperationType": "DryRun" + }, + "responses": { + "200": { + "body": { + "properties": { + "pathsToDelete": [ + "masbackup/progressivebackup/1.2011.0.23/BackupEncryptionCert.cer", + "masbackup/progressivebackup/1.2011.0.23/BackupEncryptionCert.pfx" + ] + } + } + }, + "202": {} + } +} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PutBlob.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PutBlob.json new file mode 100644 index 000000000000..ca77f8c002f0 --- /dev/null +++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PutBlob.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "System.local", + "location": "local", + "backup": { + "properties": { + "externalStoreDefault": { + "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5", + "blobStorageKey": "blobStorageKey", + "encryptionCertBase64": "encryptioncert", + "backupFrequencyInHours": 10, + "isBackupSchedulerEnabled": false, + "backupRetentionPeriodInDays": 6 + } + }, + "location": "local", + "tags": {} + }, + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", + "name": "local", + "type": "Microsoft.Backup.Admin/backupLocations", + "location": "local", + "tags": {}, + "properties": { + "externalStoreDefault": { + "path": "", + "userName": "", + "password": null, + "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5", + "blobStorageKey": null, + "encryptionCertBase64": null, + "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", + "backupFrequencyInHours": 10, + "availableCapacity": "29.6 TB", + "isBackupSchedulerEnabled": false, + "nextBackupTime": "2018-08-28T17:26:00.9454387Z", + "lastBackupTime": "2018-08-28T07:47:11.3081476Z", + "backupRetentionPeriodInDays": 6 + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", + "name": "local", + "type": "Microsoft.Backup.Admin/backupLocations", + "location": "local", + "tags": {}, + "properties": { + "externalStoreDefault": { + "path": "", + "userName": "", + "password": null, + "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5", + "blobStorageKey": null, + "encryptionCertBase64": null, + "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", + "backupFrequencyInHours": 10, + "availableCapacity": "29.6 TB", + "isBackupSchedulerEnabled": false, + "nextBackupTime": "2018-08-28T17:26:00.9454387Z", + "lastBackupTime": "2018-08-28T07:47:11.3081476Z", + "backupRetentionPeriodInDays": 6 + } + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PutFileshare.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PutFileshare.json new file mode 100644 index 000000000000..6779062b5d0b --- /dev/null +++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PutFileshare.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "System.local", + "location": "local", + "backup": { + "properties": { + "externalStoreDefault": { + "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore", + "userName": "azurestack\\azurestackadmin", + "password": "password", + "encryptionCertBase64": "encryptioncert", + "backupFrequencyInHours": 10, + "isBackupSchedulerEnabled": false, + "backupRetentionPeriodInDays": 6 + } + }, + "location": "local", + "tags": {} + }, + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", + "name": "local", + "type": "Microsoft.Backup.Admin/backupLocations", + "location": "local", + "tags": {}, + "properties": { + "externalStoreDefault": { + "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore", + "userName": "azurestack\\azurestackadmin", + "password": null, + "blobStorageUrl": null, + "blobStorageKey": null, + "encryptionCertBase64": null, + "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", + "backupFrequencyInHours": 10, + "availableCapacity": "29.6 TB", + "isBackupSchedulerEnabled": false, + "nextBackupTime": "2018-08-28T17:26:00.9454387Z", + "lastBackupTime": "2018-08-28T07:47:11.3081476Z", + "backupRetentionPeriodInDays": 6 + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", + "name": "local", + "type": "Microsoft.Backup.Admin/backupLocations", + "location": "local", + "tags": {}, + "properties": { + "externalStoreDefault": { + "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore", + "userName": "azurestack\\azurestackadmin", + "password": null, + "blobStorageUrl": null, + "blobStorageKey": null, + "encryptionCertBase64": null, + "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", + "backupFrequencyInHours": 10, + "availableCapacity": "29.6 TB", + "isBackupSchedulerEnabled": false, + "nextBackupTime": "2018-08-28T17:26:00.9454387Z", + "lastBackupTime": "2018-08-28T07:47:11.3081476Z", + "backupRetentionPeriodInDays": 6 + } + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/Get.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/Get.json new file mode 100644 index 000000000000..2a0a160968ad --- /dev/null +++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/Get.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "System.local", + "location": "local", + "backup": "64e8625a-8dc0-49df-a195-932901b4be81", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local/backups/64e8625a-8dc0-49df-a195-932901b4be81", + "name": "64e8625a-8dc0-49df-a195-932901b4be81", + "type": "Microsoft.Backup.Admin/backupLocations/backups", + "location": "local", + "tags": {}, + "properties": { + "backupInfo": { + "backupDataVersion": "1.0.1", + "roleStatus": [ + { + "roleName": "NRP", + "status": "Succeeded" + }, + { + "roleName": "SRP", + "status": "Succeeded" + }, + { + "roleName": "CRP", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultInternalControlPlane", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultInternalDataPlane", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultControlPlane", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultDataPlane", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultNamingService", + "status": "Succeeded" + }, + { + "roleName": "WAS", + "status": "Succeeded" + }, + { + "roleName": "ECE", + "status": "Succeeded" + }, + { + "roleName": "Domain", + "status": "Succeeded" + }, + { + "roleName": "CA", + "status": "Succeeded" + }, + { + "roleName": "ACS", + "status": "Succeeded" + } + ], + "status": "Succeeded", + "createdDateTime": "2018-08-28T07:47:11.3081476Z", + "timeTakenToCreate": "PT20M48.5970829S", + "stampVersion": "1.1809.0.25", + "oemVersion": null, + "isCloudRecoveryReady": true, + "deploymentID": "d3236bc0-6a46-4877-a9da-6fe69e9661df", + "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8" + } + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/List.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/List.json new file mode 100644 index 000000000000..cad2f78a0c13 --- /dev/null +++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/List.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "System.local", + "location": "local", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local/backups/64e8625a-8dc0-49df-a195-932901b4be81", + "name": "64e8625a-8dc0-49df-a195-932901b4be81", + "type": "Microsoft.Backup.Admin/backupLocations/backups", + "location": "local", + "tags": {}, + "properties": { + "backupInfo": { + "backupDataVersion": "1.0.1", + "roleStatus": [ + { + "roleName": "NRP", + "status": "Succeeded" + }, + { + "roleName": "SRP", + "status": "Succeeded" + }, + { + "roleName": "CRP", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultInternalControlPlane", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultInternalDataPlane", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultControlPlane", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultDataPlane", + "status": "Succeeded" + }, + { + "roleName": "KeyVaultNamingService", + "status": "Succeeded" + }, + { + "roleName": "WAS", + "status": "Succeeded" + }, + { + "roleName": "ECE", + "status": "Succeeded" + }, + { + "roleName": "Domain", + "status": "Succeeded" + }, + { + "roleName": "CA", + "status": "Succeeded" + }, + { + "roleName": "ACS", + "status": "Succeeded" + } + ], + "status": "Succeeded", + "createdDateTime": "2018-08-28T07:47:11.3081476Z", + "timeTakenToCreate": "PT20M48.5970829S", + "stampVersion": "1.1809.0.25", + "oemVersion": null, + "isCloudRecoveryReady": true, + "deploymentID": "d3236bc0-6a46-4877-a9da-6fe69e9661df", + "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8" + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/Restore.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/Restore.json new file mode 100644 index 000000000000..609d8eec9385 --- /dev/null +++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/Restore.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "System.local", + "location": "local", + "backup": "64e8625a-8dc0-49df-a195-932901b4be81", + "restoreOptions": { + "decryptionCertBase64": "decryptionCert", + "decryptionCertPassword": "decryptionCertPassword" + }, + "api-version": "2021-09-01" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/SingleRepoRestore.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/SingleRepoRestore.json new file mode 100644 index 000000000000..05f9d5cbf568 --- /dev/null +++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/SingleRepoRestore.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "System.local", + "location": "local", + "backup": "64e8625a-8dc0-49df-a195-932901b4be81", + "restoreOptions": { + "roleName": "fakerp", + "decryptionCertBase64": "decryptionCert", + "decryptionCertPassword": "decryptionCertPassword" + }, + "api-version": "2021-09-01" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/Backup.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/Backup.json similarity index 100% rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/Backup.json rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/Backup.json diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/BackupLocations.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/BackupLocations.json similarity index 100% rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/BackupLocations.json rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/BackupLocations.json diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/Backups.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/Backups.json similarity index 100% rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/Backups.json rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/Backups.json diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Backup.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/Backup.json similarity index 100% rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Backup.json rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/Backup.json diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Get.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/Get.json similarity index 100% rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Get.json rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/Get.json diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/List.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/List.json similarity index 100% rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/List.json rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/List.json diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Prune.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/Prune.json similarity index 100% rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Prune.json rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/Prune.json diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Update.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/Update.json similarity index 100% rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Update.json rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/Update.json diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/Get.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Backups/Get.json similarity index 100% rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/Get.json rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Backups/Get.json diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/List.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Backups/List.json similarity index 100% rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/List.json rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Backups/List.json diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/Restore.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Backups/Restore.json similarity index 100% rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/Restore.json rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Backups/Restore.json diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/SingleRepoRestore.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Backups/SingleRepoRestore.json similarity index 100% rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/SingleRepoRestore.json rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Backups/SingleRepoRestore.json diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Operations/List.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Operations/List.json similarity index 100% rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Operations/List.json rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Operations/List.json diff --git a/specification/azsadmin/resource-manager/backup/readme.md b/specification/azsadmin/resource-manager/backup/readme.md index 75d721d5948e..b72507639724 100644 --- a/specification/azsadmin/resource-manager/backup/readme.md +++ b/specification/azsadmin/resource-manager/backup/readme.md @@ -24,7 +24,7 @@ These are the global settings for the Backup Admin API. title: BackupAdminClient description: Backup Admin Client openapi-type: arm -tag: package-2018-09-01 +tag: package-2021-09-01 ``` ### Tag: package-2018-09-01 @@ -33,9 +33,20 @@ These settings apply only when `--tag=package-2018-09-01` is specified on the co ``` yaml $(tag) == 'package-2018-09-01' input-file: - - Microsoft.Backup.Admin/preview/2018-09-01/Backup.json - - Microsoft.Backup.Admin/preview/2018-09-01/BackupLocations.json - - Microsoft.Backup.Admin/preview/2018-09-01/Backups.json + - Microsoft.Backup.Admin/stable/2018-09-01/Backup.json + - Microsoft.Backup.Admin/stable/2018-09-01/BackupLocations.json + - Microsoft.Backup.Admin/stable/2018-09-01/Backups.json +``` + +### Tag: package-2021-09-01 + +These settings apply only when `--tag=package-2021-09-01` is specified on the command line. + +``` yaml $(tag) == 'package-2021-09-01' +input-file: + - Microsoft.Backup.Admin/stable/2018-09-01/Backup.json + - Microsoft.Backup.Admin/preview/2021-09-01/BackupLocations.json + - Microsoft.Backup.Admin/preview/2021-09-01/Backups.json ``` --- @@ -64,9 +75,11 @@ require: $(this-folder)/../../../../profiles/readme.md # all the input files across all versions input-file: - - $(this-folder)/Microsoft.Backup.Admin/preview/2018-09-01/Backup.json - - $(this-folder)/Microsoft.Backup.Admin/preview/2018-09-01/BackupLocations.json - - $(this-folder)/Microsoft.Backup.Admin/preview/2018-09-01/Backups.json + - $(this-folder)/Microsoft.Backup.Admin/stable/2018-09-01/Backup.json + - $(this-folder)/Microsoft.Backup.Admin/stable/2018-09-01/BackupLocations.json + - $(this-folder)/Microsoft.Backup.Admin/stable/2018-09-01/Backups.json + - $(this-folder)/Microsoft.Backup.Admin/preview/2021-09-01/BackupLocations.json + - $(this-folder)/Microsoft.Backup.Admin/preview/2021-09-01/Backups.json ``` If there are files that should not be in the `all-api-versions` set, diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/DiskMigrationJobs.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/DiskMigrationJobs.json new file mode 100644 index 000000000000..acceaaf3eb04 --- /dev/null +++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/DiskMigrationJobs.json @@ -0,0 +1,494 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-09-01", + "title": "ComputeDiskAdminManagementClient", + "description": "The Admin Compute Disk Management Client." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/diskmigrationjobs": { + "get": { + "x-ms-examples": { + "Returns a list of disk migration jobs.": { + "$ref": "./examples/DiskMigrationJobs/List.json" + } + }, + "tags": [ + "DiskMigrationJobs" + ], + "operationId": "DiskMigrationJobs_List", + "description": "Returns a list of disk migration jobs.", + "parameters": [ + { + "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter" + }, + { + "$ref": "DiskMigrationJobs.json#/parameters/MigrationJobStatusParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK -- The list of disk migration jobs has been returned.", + "schema": { + "$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJobList" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/diskmigrationjobs/{migrationId}": { + "get": { + "x-ms-examples": { + "Returns the requested disk migration job.": { + "$ref": "./examples/DiskMigrationJobs/Get.json" + } + }, + "tags": [ + "DiskMigrationJobs" + ], + "operationId": "DiskMigrationJobs_Get", + "description": "Returns the requested disk migration job.", + "parameters": [ + { + "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter" + }, + { + "$ref": "DiskMigrationJobs.json#/parameters/MigrationIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK -- The disk migration job has been returned.", + "schema": { + "$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJob" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create a disk migration job.": { + "$ref": "./examples/DiskMigrationJobs/Create.json" + } + }, + "tags": [ + "DiskMigrationJobs" + ], + "operationId": "DiskMigrationJobs_Create", + "description": "Create a disk migration job.", + "parameters": [ + { + "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter" + }, + { + "$ref": "DiskMigrationJobs.json#/parameters/MigrationIdParameter" + }, + { + "$ref": "DiskMigrationJobs.json#/parameters/TargetShareParameter" + }, + { + "$ref": "DiskMigrationJobs.json#/parameters/TargetScaleUnitParameter" + }, + { + "$ref": "DiskMigrationJobs.json#/parameters/TargetVolumeLabelParameter" + }, + { + "$ref": "DiskMigrationJobs.json#/parameters/DiskListParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK -- Disk migration job is created successfully.", + "schema": { + "$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJob" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/diskMigrationJobs/{migrationId}/cancel": { + "post": { + "x-ms-examples": { + "Cancel a disk migration job.": { + "$ref": "./examples/DiskMigrationJobs/Cancel.json" + } + }, + "tags": [ + "DiskMigrationJobs" + ], + "operationId": "DiskMigrationJobs_Cancel", + "description": "Cancel a disk migration job.", + "parameters": [ + { + "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter" + }, + { + "$ref": "DiskMigrationJobs.json#/parameters/MigrationIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK -- Disk migration job cancellation is called.", + "schema": { + "$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJob" + } + } + } + } + } + }, + "definitions": { + "ErrorResponse": { + "description": "Error response.", + "properties": { + "error": { + "description": "Error definition.", + "$ref": "#/definitions/ErrorDefinition" + } + } + }, + "ErrorDefinition": { + "description": "Error definition.", + "readOnly": true, + "required": [ + "message", + "code" + ], + "properties": { + "code": { + "description": "Service specific error code which serves as the substatus for the HTTP error code.", + "type": "string", + "minimum": 100, + "maximum": 600 + }, + "message": { + "description": "Description of the error.", + "type": "string" + } + } + }, + "MigrationJobStatus": { + "description": "Migration job status.", + "type": "string", + "enum": [ + "Undefined", + "Running", + "Succeeded", + "Failed", + "Canceled", + "Pending" + ], + "x-ms-enum": { + "name": "MigrationJobStatus", + "modelAsString": true + } + }, + "MigrationSubTaskStatus": { + "description": "Migration child task status.", + "type": "string", + "enum": [ + "Undefined", + "Running", + "Succeeded", + "Failed", + "Canceled", + "Pending", + "Skipped" + ], + "x-ms-enum": { + "name": "MigrationSubTaskStatus", + "modelAsString": true + } + }, + "MigrationSubTaskProperties": { + "description": "Disk migration child task properties.", + "type": "object", + "properties": { + "migrationSubtaskStatus": { + "description": "The disk migration child task status.", + "$ref": "DiskMigrationJobs.json#/definitions/MigrationSubTaskStatus", + "readOnly": true + }, + "reason": { + "description": "The reason of task failure.", + "type": "string", + "readOnly": true + }, + "startTime": { + "description": "The task start time.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "endTime": { + "description": "The task end time.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "targetShare": { + "description": "The target share of migration task.", + "type": "string", + "readOnly": true + }, + "sourceShare": { + "description": "The source share of migration task.", + "type": "string", + "readOnly": true + }, + "targetDiskStateForMigration": { + "description": "The disk status.", + "$ref": "Disks.json#/definitions/DiskState", + "readOnly": true + }, + "diskId": { + "description": "The id of disk.", + "type": "string", + "readOnly": true + }, + "progress": { + "description": "The progress of migration sub task which measures the percent of content migrated.", + "type": "string", + "readOnly": true + } + } + }, + "MigrationSubTaskList": { + "description": "List of disk migration tasks.", + "type": "array", + "items": { + "$ref": "DiskMigrationJobs.json#/definitions/MigrationSubTask" + } + }, + "MigrationSubTask": { + "description": "Disk migration child task.", + "type": "object", + "properties": { + "migrationSubTaskId": { + "description": "The id of migration child task.", + "type": "string", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "DiskMigrationJobs.json#/definitions/MigrationSubTaskProperties", + "description": "Disk migration child task properties." + } + } + }, + "DiskMigrationJobProperties": { + "description": "Disk migration job properties.", + "type": "object", + "properties": { + "migrationId": { + "description": "The disk migration id.", + "type": "string" + }, + "status": { + "description": "The current status of disk migration job.", + "$ref": "DiskMigrationJobs.json#/definitions/MigrationJobStatus", + "readOnly": true + }, + "subtasks": { + "description": "The list of child migration tasks.", + "$ref": "DiskMigrationJobs.json#/definitions/MigrationSubTaskList", + "readOnly": true + }, + "creationTime": { + "description": "The job creation time.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "startTime": { + "description": "The job start time.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "endTime": { + "description": "The job end time.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "targetShare": { + "description": "The target share of migration job.", + "type": "string", + "readOnly": true + } + } + }, + "DiskMigrationJob": { + "description": "Disk migration job.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJobProperties", + "description": "Disk migration properties." + } + }, + "allOf": [ + { + "$ref": "../../preview/2015-12-01-preview/Compute.json#/definitions/Resource" + } + ] + }, + "DiskMigrationJobList": { + "type": "object", + "description": "List of disk migration jobs.", + "properties": { + "value": { + "description": "List of disk migration jobs.", + "type": "array", + "items": { + "$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJob" + } + }, + "nextLink": { + "description": "URI to the next page.", + "type": "string" + } + } + }, + "DiskListInput": { + "type": "array", + "description": "List of disks.", + "items": { + "$ref": "Disks.json#/definitions/Disk" + } + } + }, + "parameters": { + "MigrationJobStatusParameter": { + "description": "The parameters of disk migration job status.", + "name": "status", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MigrationIdParameter": { + "description": "The migration job guid name.", + "name": "migrationId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "TargetShareParameter": { + "description": "The target share name.", + "name": "targetShare", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "TargetScaleUnitParameter": { + "description": "The target scale unit name.", + "name": "targetScaleUnit", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "TargetVolumeLabelParameter": { + "description": "The target volume label.", + "name": "targetVolumeLabel", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DiskListParameter": { + "description": "The parameters of disk list.", + "name": "disks", + "in": "body", + "required": true, + "schema": { + "$ref": "DiskMigrationJobs.json#/definitions/DiskListInput" + }, + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Authorization uses an Azure Active Directory OAuth2 flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/Disks.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/Disks.json new file mode 100644 index 000000000000..7f6a0457f8d4 --- /dev/null +++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/Disks.json @@ -0,0 +1,424 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-09-01", + "title": "ComputeDiskAdminManagementClient", + "description": "The Admin Compute Disk Management Client." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/disks": { + "get": { + "x-ms-examples": { + "Returns a list of disks.": { + "$ref": "./examples/Disks/List.json" + } + }, + "tags": [ + "Disks" + ], + "operationId": "Disks_List", + "description": "Returns a list of disks.", + "parameters": [ + { + "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter" + }, + { + "$ref": "Disks.json#/parameters/UserSubscriptionIdParameter" + }, + { + "$ref": "Disks.json#/parameters/DiskStateParameter" + }, + { + "$ref": "Disks.json#/parameters/SourceSharePathParameter" + }, + { + "$ref": "Disks.json#/parameters/SourceScaleUnitParameter" + }, + { + "$ref": "Disks.json#/parameters/SourceVolumeLabelParameter" + }, + { + "$ref": "Disks.json#/parameters/DiskCountParameter" + }, + { + "$ref": "Disks.json#/parameters/DiskStartParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK -- The list of disks has been returned.", + "schema": { + "$ref": "Disks.json#/definitions/DiskList" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/disks/{diskId}": { + "get": { + "x-ms-examples": { + "Returns the requested disk.": { + "$ref": "./examples/Disks/Get.json" + } + }, + "tags": [ + "Disks" + ], + "operationId": "Disks_Get", + "description": "Returns the disk.", + "parameters": [ + { + "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter" + }, + { + "$ref": "Disks.json#/parameters/DiskIdParameter" + }, + { + "$ref": "Disks.json#/parameters/DiskSizeDetailParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK -- The disk has been returned.", + "schema": { + "$ref": "Disks.json#/definitions/Disk" + } + } + } + } + } + }, + "definitions": { + "ErrorResponse": { + "description": "Error response.", + "properties": { + "error": { + "description": "Error definition.", + "$ref": "#/definitions/ErrorDefinition" + } + } + }, + "ErrorDefinition": { + "description": "Error definition.", + "readOnly": true, + "required": [ + "message", + "code" + ], + "properties": { + "code": { + "description": "Service specific error code which serves as the substatus for the HTTP error code.", + "type": "string", + "minimum": 100, + "maximum": 600 + }, + "message": { + "description": "Description of the error.", + "type": "string" + } + } + }, + "DiskProperties": { + "description": "Managed disk properties.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk id.", + "type": "string" + }, + "status": { + "description": "The disk status.", + "$ref": "Disks.json#/definitions/DiskState" + }, + "sharePath": { + "description": "The disk share path.", + "type": "string" + }, + "actualSizeGB": { + "description": "The actual size of disk in GB.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "provisionSizeGB": { + "description": "The provision size of disk in GB.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "managedBy": { + "description": "Compute resource Uri which owns this disk.", + "type": "string", + "readOnly": true + }, + "userResourceId": { + "description": "The disk resource Uri from user view.", + "type": "string", + "readOnly": true + }, + "diskType": { + "description": "The type of the disk resource.", + "$ref": "Disks.json#/definitions/DiskResourceType", + "readOnly": true + }, + "diskSku": { + "description": "the disk sku.", + "$ref": "Disks.json#/definitions/AccountType", + "readOnly": true + }, + "creationSourceUri": { + "description": "The disk creation source uri.", + "type": "string", + "readOnly": true + }, + "creationOption": { + "description": "The disk creation option.", + "$ref": "Disks.json#/definitions/DiskCreationOption", + "readOnly": true + }, + "exclusiveAllocatedSize": { + "description": "The exclusive allocated size for the disk.", + "type": "integer", + "format": "int64", + "readOnly": true + } + } + }, + "Disk": { + "description": "Managed Disk.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "Disks.json#/definitions/DiskProperties", + "description": "Disk properties." + } + }, + "allOf": [ + { + "$ref": "../../preview/2015-12-01-preview/Compute.json#/definitions/Resource" + } + ] + }, + "DiskList": { + "type": "object", + "description": "List of disks.", + "properties": { + "value": { + "description": "List of disks.", + "type": "array", + "items": { + "$ref": "Disks.json#/definitions/Disk" + } + }, + "nextLink": { + "description": "URI to the next page.", + "type": "string" + } + } + }, + "DiskState": { + "description": "Disk State.", + "type": "string", + "enum": [ + "Undefined", + "Unattached", + "Attached", + "Reserved", + "ActiveSAS", + "Unknown", + "All", + "Recommended", + "OfflineMigration", + "OnlineMigration" + ], + "x-ms-enum": { + "name": "DiskState", + "modelAsString": true + } + }, + "DiskResourceType": { + "description": "Disk resource type.", + "type": "string", + "enum": [ + "Undefined", + "Disk", + "Snapshot", + "RestorePoint", + "ManagedBlob" + ], + "x-ms-enum": { + "name": "DiskResourceType", + "modelAsString": true + } + }, + "AccountType": { + "description": "Disk Sku.", + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_ZRS", + "Standard_GRS", + "Standard_RAGRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ], + "x-ms-enum": { + "name": "AccountType", + "modelAsString": true + } + }, + "DiskCreationOption": { + "description": "Disk creation option.", + "type": "string", + "enum": [ + "Empty", + "FromImage", + "Import", + "Copy", + "Restore", + "FromPreprovisioned", + "Undelete", + "Upload", + "RecoverFromBlob" + ], + "x-ms-enum": { + "name": "DiskCreationOption", + "modelAsString": true + } + } + }, + "parameters": { + "UserSubscriptionIdParameter": { + "description": "User Subscription Id which the resource belongs to.", + "name": "userSubscriptionId", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "DiskStateParameter": { + "description": "The parameters of disk state.", + "name": "status", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SourceSharePathParameter": { + "description": "The share which the resource belongs to.", + "name": "sharePath", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SourceScaleUnitParameter": { + "description": "The scale unit which the resource belongs to.", + "name": "scaleUnit", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SourceVolumeLabelParameter": { + "description": "The volume label of the volume which the resource belongs to.", + "name": "volumeLabel", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DiskCountParameter": { + "description": "The maximum number of disks to return.", + "name": "count", + "in": "query", + "type": "integer", + "format": "int32", + "required": false, + "x-ms-parameter-location": "method" + }, + "DiskStartParameter": { + "description": "The start index of disks in query.", + "name": "start", + "in": "query", + "type": "integer", + "format": "int32", + "required": false, + "x-ms-parameter-location": "method" + }, + "DiskIdParameter": { + "description": "The disk guid as identity.", + "name": "diskId", + "type": "string", + "in": "path", + "required": true, + "x-ms-parameter-location": "method" + }, + "DiskSizeDetailParameter": { + "description": "Switch for whether summary or detailed disk size information is returned.", + "name": "showSizeDetail", + "in": "query", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "default": false + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Authorization uses an Azure Active Directory OAuth2 flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/Cancel.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/Cancel.json new file mode 100644 index 000000000000..d769ce2fc77f --- /dev/null +++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/Cancel.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "04666444-56f0-4d4f-afc5-dbd6b134b084", + "location": "redmond", + "migrationId": "ec9f79cf-e4d7-4d37-926a-e69c2198be8a", + "api-version": "2021-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/diskmigrationjobs/ec9f79cf-e4d7-4d37-926a-e69c2198be8a", + "name": "redmond/ec9f79cf-e4d7-4d37-926a-e69c2198be8a", + "type": "Microsoft.Compute.Admin/locations/diskmigrationjobs", + "location": "redmond", + "properties": { + "migrationId": "ec9f79cf-e4d7-4d37-926a-e69c2198be8a", + "status": "Canceled", + "subtasks": [ + { + "migrationSubTaskId": "726dff1c-e765-44c6-b16d-f66f2c28e730", + "properties": { + "migrationSubtaskStatus": "Canceled", + "startTime": "2018-05-17T08:26:54.57146Z", + "endTime": "2018-05-17T08:27:35.0559255Z", + "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1", + "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_4", + "targetDiskStateForMigration": "Unattached", + "diskId": "423e4eb4-f791-4d13-ad5b-4d415733b0d6", + "progress": "0%" + } + }, + { + "migrationSubTaskId": "d6ab496c-4a76-474f-9ee2-9031053f06e8", + "properties": { + "migrationSubtaskStatus": "Succeeded", + "startTime": "2018-05-17T08:27:35.0871773Z", + "endTime": "2018-05-17T08:28:15.2842678Z", + "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1", + "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2", + "targetDiskStateForMigration": "Unattached", + "diskId": "48dc9b56-5883-4011-9dc3-0e527f33e6ab", + "progress": "100%" + } + } + ], + "creationTime": "2018-05-17T08:26:54.4777279Z", + "startTime": "2018-05-17T08:26:54.5402097Z", + "endTime": "0001-01-01T08:00:00Z", + "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1" + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/Create.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/Create.json new file mode 100644 index 000000000000..78c2b146a679 --- /dev/null +++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/Create.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "04666444-56f0-4d4f-afc5-dbd6b134b084", + "location": "redmond", + "migrationId": "ec9f79cf-e4d7-4d37-926a-e69c2198be8a", + "api-version": "2021-04-01", + "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1", + "disks": [ + { + "location": "redmond", + "properties": { + "diskId": "423e4eb4-f791-4d13-ad5b-4d415733b0d6", + "status": "Unattached", + "sharePath": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_4" + } + }, + { + "location": "redmond", + "properties": { + "diskId": "48dc9b56-5883-4011-9dc3-0e527f33e6ab", + "status": "Unattached", + "sharePath": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2" + } + } + ] + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/diskmigrationjobs/ec9f79cf-e4d7-4d37-926a-e69c2198be8a", + "name": "redmond/ec9f79cf-e4d7-4d37-926a-e69c2198be8a", + "type": "Microsoft.Compute.Admin/locations/diskmigrationjobs", + "location": "redmond", + "properties": { + "migrationId": "ec9f79cf-e4d7-4d37-926a-e69c2198be8a", + "status": "Pending", + "subtasks": [ + { + "migrationSubTaskId": "726dff1c-e765-44c6-b16d-f66f2c28e730", + "properties": { + "migrationSubtaskStatus": "Pending", + "startTime": "0001-01-01T08:00:00Z", + "endTime": "0001-01-01T08:00:00Z", + "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1", + "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_4", + "targetDiskStateForMigration": "Unattached", + "diskId": "423e4eb4-f791-4d13-ad5b-4d415733b0d6", + "progress": "0%" + } + }, + { + "migrationSubTaskId": "d6ab496c-4a76-474f-9ee2-9031053f06e8", + "properties": { + "migrationSubtaskStatus": "Pending", + "startTime": "0001-01-01T08:00:00Z", + "endTime": "0001-01-01T08:00:00Z", + "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1", + "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2", + "targetDiskStateForMigration": "Unattached", + "diskId": "48dc9b56-5883-4011-9dc3-0e527f33e6ab" + } + } + ], + "creationTime": "2018-05-17T08:26:54.4777279Z", + "startTime": "0001-01-01T08:00:00Z", + "endTime": "0001-01-01T08:00:00Z", + "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1" + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/Get.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/Get.json new file mode 100644 index 000000000000..940342cf7d24 --- /dev/null +++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/Get.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "04666444-56f0-4d4f-afc5-dbd6b134b084", + "location": "redmond", + "migrationId": "ec9f79cf-e4d7-4d37-926a-e69c2198be8a", + "api-version": "2021-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/diskmigrationjobs/ec9f79cf-e4d7-4d37-926a-e69c2198be8a", + "name": "redmond/ec9f79cf-e4d7-4d37-926a-e69c2198be8a", + "type": "Microsoft.Compute.Admin/locations/diskmigrationjobs", + "location": "redmond", + "properties": { + "migrationId": "ec9f79cf-e4d7-4d37-926a-e69c2198be8a", + "status": "Running", + "subtasks": [ + { + "migrationSubTaskId": "726dff1c-e765-44c6-b16d-f66f2c28e730", + "properties": { + "migrationSubtaskStatus": "Succeeded", + "startTime": "2018-05-17T08:26:54.57146Z", + "endTime": "2018-05-17T08:27:35.0559255Z", + "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1", + "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_4", + "targetDiskStateForMigration": "Unattached", + "diskId": "423e4eb4-f791-4d13-ad5b-4d415733b0d6", + "progress": "100%" + } + }, + { + "migrationSubTaskId": "d6ab496c-4a76-474f-9ee2-9031053f06e8", + "properties": { + "migrationSubtaskStatus": "Running", + "startTime": "2018-05-17T08:27:35.0871773Z", + "endTime": "0001-01-01T08:00:00Z", + "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1", + "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2", + "targetDiskStateForMigration": "Unattached", + "diskId": "48dc9b56-5883-4011-9dc3-0e527f33e6ab", + "progress": "50%" + } + } + ], + "creationTime": "2018-05-17T08:26:54.4777279Z", + "startTime": "2018-05-17T08:26:54.5402097Z", + "endTime": "0001-01-01T08:00:00Z", + "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1" + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/List.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/List.json new file mode 100644 index 000000000000..8247ef66b75a --- /dev/null +++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/List.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "subscriptionId": "04666444-56f0-4d4f-afc5-dbd6b134b084", + "location": "redmond", + "api-version": "2021-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/diskmigrationjobs/0050e481-63cd-4ad1-9c49-b8cbb992b75e", + "name": "redmond/0050e481-63cd-4ad1-9c49-b8cbb992b75e", + "type": "Microsoft.Compute.Admin/locations/diskmigrationjobs", + "location": "redmond", + "properties": { + "migrationId": "0050e481-63cd-4ad1-9c49-b8cbb992b75e", + "status": "Succeeded", + "subtasks": [ + { + "migrationSubTaskId": "607d1e44-48f5-418e-a263-ec60fb35d285", + "properties": { + "migrationSubtaskStatus": "Succeeded", + "startTime": "2018-05-17T09:29:36.1290315Z", + "endTime": "2018-05-17T09:30:16.3566829Z", + "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2", + "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2", + "targetDiskStateForMigration": "Unattached", + "diskId": "5018f340-c41b-4e82-a553-248431c4df64", + "progress": "100%" + } + }, + { + "migrationSubTaskId": "cfe7b95e-d45c-4515-af2a-3a889e70559a", + "properties": { + "migrationSubtaskStatus": "Succeeded", + "startTime": "2018-05-17T09:30:16.3723117Z", + "endTime": "2018-05-17T09:30:56.5945261Z", + "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2", + "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_4", + "targetDiskStateForMigration": "Unattached", + "diskId": "4d9c7dd9-50ea-473d-87be-f7a57acd8aae", + "progress": "100%" + } + } + ], + "creationTime": "2018-05-17T09:29:36.0351498Z", + "startTime": "2018-05-17T09:29:36.0976561Z", + "endTime": "2018-05-17T09:31:06.6187954Z", + "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2" + } + }, + { + "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/diskmigrationjobs/9fbb98b2-fe81-449a-9d71-61bccb0d0489", + "name": "redmond/9fbb98b2-fe81-449a-9d71-61bccb0d0489", + "type": "Microsoft.Compute.Admin/locations/diskmigrationjobs", + "location": "redmond", + "properties": { + "migrationId": "9fbb98b2-fe81-449a-9d71-61bccb0d0489", + "status": "Succeeded", + "subtasks": [ + { + "migrationSubTaskId": "5a76680f-3788-492c-9840-ffb4c9f95729", + "properties": { + "migrationSubtaskStatus": "Succeeded", + "startTime": "2018-05-18T02:18:49.1442797Z", + "endTime": "2018-05-18T02:19:29.4948624Z", + "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2", + "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1", + "targetDiskStateForMigration": "Unattached", + "diskId": "48dc9b56-5883-4011-9dc3-0e527f33e6ab", + "progress": "100%" + } + }, + { + "migrationSubTaskId": "c302a235-9e8c-431d-8a5e-8b1fc984b7ab", + "properties": { + "migrationSubtaskStatus": "Succeeded", + "startTime": "2018-05-18T02:19:29.5104777Z", + "endTime": "2018-05-18T02:20:09.7263314Z", + "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2", + "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1", + "targetDiskStateForMigration": "Unattached", + "diskId": "423e4eb4-f791-4d13-ad5b-4d415733b0d6", + "progress": "100%" + } + } + ], + "creationTime": "2018-05-18T02:18:49.0978853Z", + "startTime": "2018-05-18T02:18:49.1286583Z", + "endTime": "2018-05-18T02:20:19.7823733Z", + "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2" + } + } + ] + } + } + } +} diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/Disks/Get.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/Disks/Get.json new file mode 100644 index 000000000000..0ff2b0d190d3 --- /dev/null +++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/Disks/Get.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "04666444-56f0-4d4f-afc5-dbd6b134b084", + "location": "redmond", + "diskId": "423e4eb4-f791-4d13-ad5b-4d415733b0d6", + "api-version": "2021-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/423e4eb4-f791-4d13-ad5b-4d415733b0d6", + "name": "redmond/423e4eb4-f791-4d13-ad5b-4d415733b0d6", + "type": "Microsoft.Compute.Admin/locations/disks", + "location": "redmond", + "properties": { + "diskId": "423e4eb4-f791-4d13-ad5b-4d415733b0d6", + "status": "Unattached", + "sharePath": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_4", + "actualSizeGB": 183, + "provisionSizeGB": 200, + "userResourceId": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/DISKRG6ECD14E6/providers/Microsoft.Compute/Disks/diskrptest9vb55sb15w", + "diskType": "Disk", + "diskSku": "Standard_LRS", + "creationSourceUri": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/diskrptest/providers/Microsoft.Compute/disks/testmd01", + "creationOption": "Copy", + "exclusiveAllocatedSize": 1073741824 + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/Disks/List.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/Disks/List.json new file mode 100644 index 000000000000..77605b095156 --- /dev/null +++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/Disks/List.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "subscriptionId": "04666444-56f0-4d4f-afc5-dbd6b134b084", + "location": "redmond", + "api-version": "2021-04-01", + "start": 1, + "count": 100, + "status": "Unattached" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/423e4eb4-f791-4d13-ad5b-4d415733b0d6", + "name": "redmond/423e4eb4-f791-4d13-ad5b-4d415733b0d6", + "type": "Microsoft.Compute.Admin/locations/disks", + "location": "redmond", + "properties": { + "diskId": "423e4eb4-f791-4d13-ad5b-4d415733b0d6", + "status": "Unattached", + "sharePath": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_4", + "actualSizeGB": 183, + "provisionSizeGB": 200, + "userResourceId": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/DISKRG6ECD14E6/providers/Microsoft.Compute/Disks/diskrptest9vb55sb15w", + "diskType": "Disk", + "diskSku": "Standard_LRS", + "creationSourceUri": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/diskrptest/providers/Microsoft.Compute/disks/testmd01", + "creationOption": "Copy" + } + }, + { + "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/48dc9b56-5883-4011-9dc3-0e527f33e6ab", + "name": "redmond/48dc9b56-5883-4011-9dc3-0e527f33e6ab", + "type": "Microsoft.Compute.Admin/locations/disks", + "location": "redmond", + "properties": { + "diskId": "48dc9b56-5883-4011-9dc3-0e527f33e6ab", + "status": "Unattached", + "sharePath": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2", + "actualSizeGB": 1, + "provisionSizeGB": 200, + "userResourceId": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/DISKRG6ECD14E6/providers/Microsoft.Compute/Snapshots/diskrptestjrlt133h5g8t", + "diskType": "Snapshot", + "diskSku": "Standard_LRS", + "creationSourceUri": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/diskrptest/providers/Microsoft.Compute/disks/testmd01", + "creationOption": "Copy" + } + }, + { + "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/5018f340-c41b-4e82-a553-248431c4df64", + "name": "redmond/5018f340-c41b-4e82-a553-248431c4df64", + "type": "Microsoft.Compute.Admin/locations/disks", + "location": "redmond", + "properties": { + "diskId": "5018f340-c41b-4e82-a553-248431c4df64", + "status": "Unattached", + "sharePath": "", + "actualSizeGB": 0, + "provisionSizeGB": 200, + "userResourceId": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/DISKRG6ECD14E6/providers/Microsoft.Compute/Snapshots/diskrptestlhy3gmrez379", + "diskType": "Snapshot", + "diskSku": "Standard_LRS", + "creationSourceUri": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/diskrptest/providers/Microsoft.Compute/disks/testmd01", + "creationOption": "Copy" + } + }, + { + "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/8b5a40f9-c5d0-4273-a5b2-7ec4be371e30", + "name": "redmond/8b5a40f9-c5d0-4273-a5b2-7ec4be371e30", + "type": "Microsoft.Compute.Admin/locations/disks", + "location": "redmond", + "properties": { + "diskId": "8b5a40f9-c5d0-4273-a5b2-7ec4be371e30", + "status": "Unattached", + "sharePath": "", + "actualSizeGB": 0, + "provisionSizeGB": 200, + "userResourceId": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/DISKRG6ECD14E6/providers/Microsoft.Compute/Disks/diskrptest5wnmxirn", + "diskType": "Disk", + "diskSku": "Standard_LRS", + "creationSourceUri": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/diskrptest/providers/Microsoft.Compute/disks/testmd01", + "creationOption": "Copy" + } + }, + { + "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/9664bba5-dcc1-4481-a85d-8a2dfca26c55", + "name": "redmond/9664bba5-dcc1-4481-a85d-8a2dfca26c55", + "type": "Microsoft.Compute.Admin/locations/disks", + "location": "redmond", + "properties": { + "diskId": "9664bba5-dcc1-4481-a85d-8a2dfca26c55", + "status": "Unattached", + "sharePath": "", + "actualSizeGB": 0, + "userResourceId": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/DISKRG6ECD14E6/providers/Microsoft.Compute/Snapshots/diskrptestj32ckp6df9v", + "diskType": "Snapshot", + "diskSku": "Standard_LRS", + "creationSourceUri": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/diskrptest/providers/Microsoft.Compute/disks/testmd01", + "creationOption": "Copy" + } + }, + { + "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/cc79941f-5f42-4ac7-8428-7553f5e47e4b", + "name": "redmond/cc79941f-5f42-4ac7-8428-7553f5e47e4b", + "type": "Microsoft.Compute.Admin/locations/disks", + "location": "redmond", + "properties": { + "diskId": "cc79941f-5f42-4ac7-8428-7553f5e47e4b", + "status": "Unattached", + "sharePath": "", + "actualSizeGB": 0, + "provisionSizeGB": 200, + "userResourceId": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/DISKRG6ECD14E6/providers/Microsoft.Compute/Snapshots/diskrptestthml7uzd3hs2", + "diskType": "Snapshot", + "diskSku": "Standard_LRS", + "creationSourceUri": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/diskrptest/providers/Microsoft.Compute/disks/testmd01", + "creationOption": "Copy" + } + }, + { + "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/dfee6038-fc35-4e0f-acd9-597b097a0b52", + "name": "redmond/dfee6038-fc35-4e0f-acd9-597b097a0b52", + "type": "Microsoft.Compute.Admin/locations/disks", + "location": "redmond", + "properties": { + "diskId": "dfee6038-fc35-4e0f-acd9-597b097a0b52", + "status": "Unattached", + "sharePath": "", + "actualSizeGB": 0, + "provisionSizeGB": 200, + "userResourceId": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/DISKRG6ECD14E6/providers/Microsoft.Compute/Snapshots/diskrptestn9wefmbaqiu", + "diskType": "Snapshot", + "diskSku": "Standard_LRS", + "creationSourceUri": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/diskrptest/providers/Microsoft.Compute/disks/testmd01", + "creationOption": "Copy" + } + } + ] + } + } + } +} diff --git a/specification/azsadmin/resource-manager/compute/readme.azsautogen.md b/specification/azsadmin/resource-manager/compute/readme.azsautogen.md index 3c4569631855..79b144850b7d 100644 --- a/specification/azsadmin/resource-manager/compute/readme.azsautogen.md +++ b/specification/azsadmin/resource-manager/compute/readme.azsautogen.md @@ -10,6 +10,6 @@ input-file: - Microsoft.Compute.Admin/stable/2020-11-01/Features.json - Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json - Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json - - Microsoft.Compute.Admin/stable/2021-04-01/Disks.json - - Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json + - Microsoft.Compute.Admin/stable/2021-09-01/Disks.json + - Microsoft.Compute.Admin/stable/2021-09-01/DiskMigrationJobs.json ``` diff --git a/specification/azsadmin/resource-manager/compute/readme.md b/specification/azsadmin/resource-manager/compute/readme.md index 94fc994fddf8..71b8e816d611 100644 --- a/specification/azsadmin/resource-manager/compute/readme.md +++ b/specification/azsadmin/resource-manager/compute/readme.md @@ -25,7 +25,7 @@ These are the global settings for the Compute API. title: ComputeAdminClient description: Compute Admin Client openapi-type: arm -tag: package-2021-04-01 +tag: package-2021-09-01 directive: - where: @@ -36,11 +36,11 @@ directive: - CRP cannot support the list API for scale units due to the undesired load that would inflict on the system ``` -### Tag: package-2021-04-01 +### Tag: package-2021-09-01 -These settings apply only when `--tag=package-2021-04-01` is specified on the command line. +These settings apply only when `--tag=package-2021-09-01` is specified on the command line. -``` yaml $(tag) == 'package-2021-04-01' +``` yaml $(tag) == 'package-2021-09-01' input-file: - Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json - Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json @@ -48,8 +48,8 @@ input-file: - Microsoft.Compute.Admin/stable/2020-11-01/Features.json - Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json - Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json - - Microsoft.Compute.Admin/stable/2021-04-01/Disks.json - - Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json + - Microsoft.Compute.Admin/stable/2021-09-01/Disks.json + - Microsoft.Compute.Admin/stable/2021-09-01/DiskMigrationJobs.json ``` --- @@ -79,8 +79,8 @@ input-file: - Microsoft.Compute.Admin/stable/2020-11-01/Features.json - Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json - Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json - - Microsoft.Compute.Admin/stable/2021-04-01/Disks.json - - Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json + - Microsoft.Compute.Admin/stable/2021-09-01/Disks.json + - Microsoft.Compute.Admin/stable/2021-09-01/DiskMigrationJobs.json ``` ## Multi-API/Profile support for AutoRest v3 generators @@ -106,6 +106,8 @@ input-file: - $(this-folder)/Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json - $(this-folder)/Microsoft.Compute.Admin/stable/2021-04-01/Disks.json - $(this-folder)/Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json + - $(this-folder)/Microsoft.Compute.Admin/stable/2021-09-01/Disks.json + - $(this-folder)/Microsoft.Compute.Admin/stable/2021-09-01/DiskMigrationJobs.json ``` If there are files that should not be in the `all-api-versions` set, diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/configuration.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/configuration.json index e652eb31a23d..6dcd887b8751 100644 --- a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/configuration.json +++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/configuration.json @@ -192,6 +192,9 @@ "$ref": "#/definitions/ContainerRegistryConfigurationProperty" } }, + "required": [ + "properties" + ], "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" @@ -207,7 +210,10 @@ "type": "integer", "format": "int32" } - } + }, + "required": [ + "maximumCapacityInGiB" + ] }, "ContainerRegistryConfigurationList": { "description": "List of configuration.", diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/setup.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/setup.json index a68f10c6a958..7c084bddaf60 100644 --- a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/setup.json +++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/setup.json @@ -111,7 +111,11 @@ "type": "string", "format": "byte" } - } + }, + "required": [ + "password", + "sslCertBase64" + ] }, "ContainerRegistrySetup": { "description": "Container registry start setup return.", diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoClustersCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoClustersCreateOrUpdate.json index f684d5df26d4..95222abdd594 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoClustersCreateOrUpdate.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoClustersCreateOrUpdate.json @@ -31,6 +31,22 @@ } } }, - "201": {} + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/clusters", + "etag": "W/\"datetime'2017-12-06T12%3A05%3A57.2528942Z'\"", + "location": "westus", + "properties": { + "provisioningState": "Creating" + }, + "sku": { + "name": "L8", + "capacity": 2, + "tier": "Standard" + } + } + } } } diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoClustersUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoClustersUpdate.json index f24c6bb7fcd4..cfda61a75da2 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoClustersUpdate.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoClustersUpdate.json @@ -26,6 +26,22 @@ } } }, - "201": {} + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/clusters", + "etag": "W/\"datetime'2017-12-06T12%3A05%3A57.2528942Z'\"", + "location": "westus", + "properties": { + "provisioningState": "Updating" + }, + "sku": { + "name": "L8", + "capacity": 2, + "tier": "Standard" + } + } + } } } diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoDatabasesCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoDatabasesCreateOrUpdate.json index 5d5f50d6e485..ee7b562f74c3 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoDatabasesCreateOrUpdate.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoDatabasesCreateOrUpdate.json @@ -26,7 +26,19 @@ } } }, - "201": {}, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/KustoClusterRPTest4/Databases/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/clusters/databases", + "etag": "W/\"datetime'2017-12-05T15%3A28%3A05.732611Z'\"", + "location": "westus", + "properties": { + "softDeletePeriodInDays": 1, + "provisioningState": "Creating" + } + } + }, "202": {} } } diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoDatabasesUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoDatabasesUpdate.json index 5d5f50d6e485..0ef8268e6488 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoDatabasesUpdate.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoDatabasesUpdate.json @@ -26,7 +26,19 @@ } } }, - "201": {}, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/KustoClusterRPTest4/Databases/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/clusters/databases", + "etag": "W/\"datetime'2017-12-05T15%3A28%3A05.732611Z'\"", + "location": "westus", + "properties": { + "softDeletePeriodInDays": 1, + "provisioningState": "Updating" + } + } + }, "202": {} } } diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoEventHubConnectionsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoEventHubConnectionsCreateOrUpdate.json index 4a7e3b1ca72a..00e478ef715a 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoEventHubConnectionsCreateOrUpdate.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoEventHubConnectionsCreateOrUpdate.json @@ -27,7 +27,18 @@ } } }, - "201": {}, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/KustoClusterRPTest4/Databases/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/clusters/databases", + "location": "westus", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, "202": {} } } diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoEventHubConnectionsUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoEventHubConnectionsUpdate.json index 4a7e3b1ca72a..00e478ef715a 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoEventHubConnectionsUpdate.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoEventHubConnectionsUpdate.json @@ -27,7 +27,18 @@ } } }, - "201": {}, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/KustoClusterRPTest4/Databases/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/clusters/databases", + "location": "westus", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, "202": {} } } diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoOperationsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoOperationsList.json index 0d52f48f1197..bdd00b0f7344 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoOperationsList.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoOperationsList.json @@ -12,7 +12,7 @@ "provider": "providerName", "resource": "resourceName", "operation": "operationName", - "description": "description" + "description": "operation description for example, 'GET Cluster'" } } ] diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/kusto.json index 7c7893e30cee..c95c40d54fca 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/kusto.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/kusto.json @@ -1540,6 +1540,7 @@ }, "statistics": { "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, "description": "The statistics of the database." } }, diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoClustersCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoClustersCreateOrUpdate.json index 0d2feed0ae5f..b886e292f485 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoClustersCreateOrUpdate.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoClustersCreateOrUpdate.json @@ -31,6 +31,22 @@ } } }, - "201": {} + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/clusters", + "etag": "W/\"datetime'2017-12-06T12%3A05%3A57.2528942Z'\"", + "location": "westus", + "properties": { + "provisioningState": "Creating" + }, + "sku": { + "name": "L8", + "capacity": 2, + "tier": "Standard" + } + } + } } } diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoClustersUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoClustersUpdate.json index 137644dbf281..20f3c69293a6 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoClustersUpdate.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoClustersUpdate.json @@ -26,6 +26,22 @@ } } }, - "201": {} + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/clusters", + "etag": "W/\"datetime'2017-12-06T12%3A05%3A57.2528942Z'\"", + "location": "westus", + "properties": { + "provisioningState": "Updating" + }, + "sku": { + "name": "L8", + "capacity": 2, + "tier": "Standard" + } + } + } } } diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoDatabasesCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoDatabasesCreateOrUpdate.json index e808235ec4fb..13f6787125d4 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoDatabasesCreateOrUpdate.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoDatabasesCreateOrUpdate.json @@ -26,7 +26,19 @@ } } }, - "201": {}, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/KustoClusterRPTest4/Databases/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/clusters/databases", + "etag": "W/\"datetime'2017-12-05T15%3A28%3A05.732611Z'\"", + "location": "westus", + "properties": { + "softDeletePeriodInDays": 1, + "provisioningState": "Creating" + } + } + }, "202": {} } } diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoDatabasesUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoDatabasesUpdate.json index e808235ec4fb..a889293964d9 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoDatabasesUpdate.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoDatabasesUpdate.json @@ -26,7 +26,19 @@ } } }, - "201": {}, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/KustoClusterRPTest4/Databases/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/clusters/databases", + "etag": "W/\"datetime'2017-12-05T15%3A28%3A05.732611Z'\"", + "location": "westus", + "properties": { + "softDeletePeriodInDays": 1, + "provisioningState": "Succeeded" + } + } + }, "202": {} } } diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoEventHubConnectionsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoEventHubConnectionsCreateOrUpdate.json index ae8c7c300f0e..b1d2ef75768b 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoEventHubConnectionsCreateOrUpdate.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoEventHubConnectionsCreateOrUpdate.json @@ -27,7 +27,18 @@ } } }, - "201": {}, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/KustoClusterRPTest4/Databases/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/clusters/databases", + "location": "westus", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, "202": {} } } diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoEventHubConnectionsUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoEventHubConnectionsUpdate.json index ae8c7c300f0e..b1d2ef75768b 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoEventHubConnectionsUpdate.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoEventHubConnectionsUpdate.json @@ -27,7 +27,18 @@ } } }, - "201": {}, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/KustoClusterRPTest4/Databases/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/clusters/databases", + "location": "westus", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, "202": {} } } diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoOperationsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoOperationsList.json index 0d52f48f1197..bdd00b0f7344 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoOperationsList.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoOperationsList.json @@ -12,7 +12,7 @@ "provider": "providerName", "resource": "resourceName", "operation": "operationName", - "description": "description" + "description": "operation description for example, 'GET Cluster'" } } ] diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/kusto.json index 1ded4566c196..99bf76436088 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/kusto.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/kusto.json @@ -1540,6 +1540,7 @@ }, "statistics": { "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, "description": "The statistics of the database." } }, diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesCreateOrUpdate.json index 2997b7db0195..2e7c4a2c959e 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesCreateOrUpdate.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesCreateOrUpdate.json @@ -25,7 +25,18 @@ } } }, - "201": {}, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/KustoClusterRPTest4/Databases/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/clusters/databases", + "location": "westus", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Creating" + } + } + }, "202": {} } } diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesUpdate.json index 2997b7db0195..9ba1e931fb04 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesUpdate.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesUpdate.json @@ -25,7 +25,18 @@ } } }, - "201": {}, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/KustoClusterRPTest4/Databases/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/clusters/databases", + "location": "westus", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Updating" + } + } + }, "202": {} } } diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/kusto.json index 96b80760e8e3..6c3b58ddeab7 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/kusto.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/kusto.json @@ -1607,6 +1607,7 @@ }, "statistics": { "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, "description": "The statistics of the database." } }, diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-05-15/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-05-15/kusto.json index 12b407ce17a5..217e6a6309b6 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-05-15/kusto.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-05-15/kusto.json @@ -1765,6 +1765,7 @@ }, "statistics": { "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, "description": "The statistics of the database." } }, diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/kusto.json index d6b35f06ee7e..1d7367087b33 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/kusto.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/kusto.json @@ -2143,6 +2143,7 @@ }, "statistics": { "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, "description": "The statistics of the database." } }, @@ -2180,6 +2181,7 @@ }, "statistics": { "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, "description": "The statistics of the database." }, "leaderClusterResourceId": { diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/kusto.json index 7e70bb6c6537..5b5582044db4 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/kusto.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/kusto.json @@ -2706,6 +2706,7 @@ }, "statistics": { "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, "description": "The statistics of the database." }, "isFollowed": { @@ -2748,6 +2749,7 @@ }, "statistics": { "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, "description": "The statistics of the database." }, "leaderClusterResourceId": { diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-02-15/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-02-15/kusto.json index de503c5dc6ef..2ceb8fafbbb5 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-02-15/kusto.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-02-15/kusto.json @@ -2874,6 +2874,7 @@ }, "statistics": { "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, "description": "The statistics of the database." }, "isFollowed": { @@ -2916,6 +2917,7 @@ }, "statistics": { "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, "description": "The statistics of the database." }, "leaderClusterResourceId": { diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/kusto.json index ff8aa4954aa6..dbaf77b1c7e5 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/kusto.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/kusto.json @@ -1,4288 +1,4290 @@ -{ - "swagger": "2.0", - "info": { - "title": "KustoManagementClient", - "version": "2020-06-14" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}": { - "get": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_Get", - "x-ms-examples": { - "KustoClustersGet": { - "$ref": "./examples/KustoClustersGet.json" - } - }, - "description": "Gets a Kusto cluster.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The Kusto cluster.", - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_CreateOrUpdate", - "x-ms-examples": { - "KustoClustersCreateOrUpdate": { - "$ref": "./examples/KustoClustersCreateOrUpdate.json" - } - }, - "x-ms-long-running-operation": true, - "description": "Create or update a Kusto cluster.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Cluster" - }, - "description": "The Kusto cluster parameters supplied to the CreateOrUpdate operation." - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully updated the Cluster.", - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - "201": { - "description": "Successfully created the cluster.", - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "patch": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_Update", - "x-ms-examples": { - "KustoClustersUpdate": { - "$ref": "./examples/KustoClustersUpdate.json" - } - }, - "x-ms-long-running-operation": true, - "description": "Update a Kusto cluster.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ClusterUpdate" - }, - "description": "The Kusto cluster parameters supplied to the Update operation." - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully updated the Cluster.", - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - "201": { - "description": "Successfully updated the cluster.", - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - "202": { - "description": "Successfully updated the cluster.", - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "delete": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_Delete", - "x-ms-examples": { - "KustoClustersDelete": { - "$ref": "./examples/KustoClustersDelete.json" - } - }, - "x-ms-long-running-operation": true, - "description": "Deletes a Kusto cluster.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK -- cluster deleted successfully." - }, - "202": { - "description": "Accepted the delete cluster request." - }, - "204": { - "description": "NoContent -- cluster does not exist in the subscription." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop": { - "post": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_Stop", - "x-ms-examples": { - "KustoClustersStop": { - "$ref": "./examples/KustoClustersStop.json" - } - }, - "x-ms-long-running-operation": true, - "description": "Stops a Kusto cluster.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK." - }, - "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}/start": { - "post": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_Start", - "x-ms-examples": { - "KustoClustersStart": { - "$ref": "./examples/KustoClustersStart.json" - } - }, - "x-ms-long-running-operation": true, - "description": "Starts a Kusto cluster.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK." - }, - "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}/checkPrincipalAssignmentNameAvailability": { - "post": { - "tags": [ - "ClusterPrincipalAssignments" - ], - "operationId": "ClusterPrincipalAssignments_CheckNameAvailability", - "x-ms-examples": { - "KustoClusterPrincipalAssignmentsCheckNameAvailability": { - "$ref": "./examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json" - } - }, - "description": "Checks that the principal assignment name is valid and is not already in use.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "name": "principalAssignmentName", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ClusterPrincipalAssignmentCheckNameRequest" - }, - "description": "The name of the principal assignment." - } - ], - "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}/principalAssignments/{principalAssignmentName}": { - "get": { - "tags": [ - "ClusterPrincipalAssignments" - ], - "operationId": "ClusterPrincipalAssignments_Get", - "x-ms-examples": { - "KustoClusterPrincipalAssignmentsGet": { - "$ref": "./examples/KustoClusterPrincipalAssignmentsGet.json" - } - }, - "description": "Gets a Kusto cluster principalAssignment.", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/PrincipalAssignmentNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The Kusto cluster principal assignment object.", - "schema": { - "$ref": "#/definitions/ClusterPrincipalAssignment" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "tags": [ - "ClusterPrincipalAssignments" - ], - "operationId": "ClusterPrincipalAssignments_CreateOrUpdate", - "x-ms-examples": { - "KustoClusterPrincipalAssignmentsCreateOrUpdate": { - "$ref": "./examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json" - } - }, - "x-ms-long-running-operation": true, - "description": "Create a Kusto cluster principalAssignment.", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/PrincipalAssignmentNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ClusterPrincipalAssignment" - }, - "description": "The Kusto cluster principalAssignment's parameters supplied for the operation." - } - ], - "responses": { - "200": { - "description": "Successfully updated the PrincipalAssignment.", - "schema": { - "$ref": "#/definitions/ClusterPrincipalAssignment" - } - }, - "201": { - "description": "Successfully created the principalAssignment.", - "schema": { - "$ref": "#/definitions/ClusterPrincipalAssignment" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "delete": { - "tags": [ - "ClusterPrincipalAssignments" - ], - "operationId": "ClusterPrincipalAssignments_Delete", - "x-ms-examples": { - "KustoClusterPrincipalAssignmentsDelete": { - "$ref": "./examples/KustoClusterPrincipalAssignmentsDelete.json" - } - }, - "x-ms-long-running-operation": true, - "description": "Deletes a Kusto cluster principalAssignment.", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/PrincipalAssignmentNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK -- principalAssignments deleted successfully." - }, - "202": { - "description": "Accepted the delete principalAssignments request." - }, - "204": { - "description": "NoContent -- principalAssignments does not exist in the subscription." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments": { - "get": { - "tags": [ - "ClusterPrincipalAssignments" - ], - "operationId": "ClusterPrincipalAssignments_List", - "x-ms-examples": { - "KustoPrincipalAssignmentsList": { - "$ref": "./examples/KustoClusterPrincipalAssignmentsList.json" - } - }, - "description": "Lists all Kusto cluster principalAssignments.", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/ClusterPrincipalAssignmentListResult" - } - }, - "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}/listFollowerDatabases": { - "post": { - "tags": [ - "Clusters" - ], - "description": "Returns a list of databases that are owned by this cluster and were followed by another cluster.", - "operationId": "Clusters_ListFollowerDatabases", - "x-ms-examples": { - "KustoClusterListFollowerDatabases": { - "$ref": "./examples/KustoClusterListFollowerDatabases.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the list of followed databases.", - "schema": { - "$ref": "#/definitions/FollowerDatabaseListResult" - } - }, - "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}/detachFollowerDatabases": { - "post": { - "tags": [ - "Clusters" - ], - "description": "Detaches all followers of a database owned by this cluster.", - "operationId": "Clusters_DetachFollowerDatabases", - "x-ms-examples": { - "KustoClusterDetachFollowerDatabases": { - "$ref": "./examples/KustoClusterDetachFollowerDatabases.json" - } - }, - "x-ms-long-running-operation": true, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "followerDatabaseToRemove", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/FollowerDatabaseDefinition" - }, - "description": "The follower databases properties to remove." - } - ], - "responses": { - "200": { - "description": "OK." - }, - "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}/diagnoseVirtualNetwork": { - "post": { - "tags": [ - "Clusters" - ], - "description": "Diagnoses network connectivity status for external resources on which the service is dependent on.", - "operationId": "Clusters_DiagnoseVirtualNetwork", - "x-ms-examples": { - "KustoClusterDiagnoseVirtualNetwork": { - "$ref": "./examples/KustoClustersDiagnoseVirtualNetwork.json" - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/DiagnoseVirtualNetworkResult" - } - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters": { - "get": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_ListByResourceGroup", - "x-ms-examples": { - "KustoClustersListByResourceGroup": { - "$ref": "./examples/KustoClustersListByResourceGroup.json" - } - }, - "description": "Lists all Kusto clusters within a resource group.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/ClusterListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/clusters": { - "get": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_List", - "x-ms-examples": { - "KustoClustersList": { - "$ref": "./examples/KustoClustersList.json" - } - }, - "description": "Lists all Kusto clusters within a subscription.", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/ClusterListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/skus": { - "get": { - "description": "Lists eligible SKUs for Kusto resource provider.", - "x-ms-examples": { - "KustoClustersListSkus": { - "$ref": "./examples/KustoClustersListSkus.json" - } - }, - "operationId": "Clusters_ListSkus", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/SkuDescriptionList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/checkNameAvailability": { - "post": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_CheckNameAvailability", - "x-ms-examples": { - "KustoClustersCheckNameAvailability": { - "$ref": "./examples/KustoClustersCheckNameAvailability.json" - } - }, - "description": "Checks that the cluster name is valid and is not already in use.", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "name": "location", - "in": "path", - "description": "Azure location.", - "required": true, - "type": "string" - }, - { - "name": "clusterName", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ClusterCheckNameRequest" - }, - "description": "The name of the cluster." - } - ], - "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}/checkNameAvailability": { - "post": { - "tags": [ - "Databases" - ], - "operationId": "Databases_CheckNameAvailability", - "x-ms-examples": { - "KustoDatabaseCheckNameAvailability": { - "$ref": "./examples/KustoDatabasesCheckNameAvailability.json" - } - }, - "description": "Checks that the database 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/CheckNameRequest" - }, - "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": [ - "Clusters" - ], - "operationId": "Clusters_ListSkusByResource", - "x-ms-examples": { - "KustoClustersListResourceSkus": { - "$ref": "./examples/KustoClustersListResourceSkus.json" - } - }, - "description": "Returns the SKUs available for the provided resource.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/ListResourceSkusResult" - } - }, - "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": { - "get": { - "tags": [ - "Databases" - ], - "description": "Returns the list of databases of the given Kusto cluster.", - "operationId": "Databases_ListByCluster", - "x-ms-examples": { - "KustoDatabasesListByCluster": { - "$ref": "./examples/KustoDatabasesListByCluster.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the list of databases.", - "schema": { - "$ref": "#/definitions/DatabaseListResult" - } - }, - "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}": { - "get": { - "tags": [ - "Databases" - ], - "description": "Returns a database.", - "operationId": "Databases_Get", - "x-ms-examples": { - "KustoDatabasesGet": { - "$ref": "./examples/KustoDatabasesGet.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the specified database.", - "schema": { - "$ref": "#/definitions/Database" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "tags": [ - "Databases" - ], - "description": "Creates or updates a database.", - "operationId": "Databases_CreateOrUpdate", - "x-ms-examples": { - "KustoDatabasesCreateOrUpdate": { - "$ref": "./examples/KustoDatabasesCreateOrUpdate.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Database" - }, - "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/Database" - } - }, - "201": { - "description": "Successfully created the database.", - "schema": { - "$ref": "#/definitions/Database" - } - }, - "202": { - "description": "Accepted the create database request.", - "schema": { - "$ref": "#/definitions/Database" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-long-running-operation": true - }, - "patch": { - "tags": [ - "Databases" - ], - "description": "Updates a database.", - "operationId": "Databases_Update", - "x-ms-examples": { - "KustoDatabasesUpdate": { - "$ref": "./examples/KustoDatabasesUpdate.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Database" - }, - "description": "The database parameters supplied to the Update operation." - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully updated the database.", - "schema": { - "$ref": "#/definitions/Database" - } - }, - "201": { - "description": "Successfully updated the database.", - "schema": { - "$ref": "#/definitions/Database" - } - }, - "202": { - "description": "Accepted the update database request.", - "schema": { - "$ref": "#/definitions/Database" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-long-running-operation": true - }, - "delete": { - "tags": [ - "Databases" - ], - "description": "Deletes the database with the given name.", - "operationId": "Databases_Delete", - "x-ms-examples": { - "KustoDatabasesDelete": { - "$ref": "./examples/KustoDatabasesDelete.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "$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}/checkPrincipalAssignmentNameAvailability": { - "post": { - "tags": [ - "DatabasePrincipalAssignments" - ], - "operationId": "DatabasePrincipalAssignments_CheckNameAvailability", - "x-ms-examples": { - "KustoDatabaseCheckNameAvailability": { - "$ref": "./examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json" - } - }, - "description": "Checks that the database principal assignment 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": "principalAssignmentName", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/DatabasePrincipalAssignmentCheckNameRequest" - }, - "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}/databases/{databaseName}/principalAssignments/{principalAssignmentName}": { - "get": { - "tags": [ - "DatabasePrincipalAssignments" - ], - "operationId": "DatabasePrincipalAssignments_Get", - "x-ms-examples": { - "KustoDatabasePrincipalAssignmentsGet": { - "$ref": "./examples/KustoDatabasePrincipalAssignmentsGet.json" - } - }, - "description": "Gets a Kusto cluster database principalAssignment.", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "$ref": "#/parameters/PrincipalAssignmentNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The Kusto cluster database principal assignment object.", - "schema": { - "$ref": "#/definitions/DatabasePrincipalAssignment" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "tags": [ - "DatabasePrincipalAssignments" - ], - "operationId": "DatabasePrincipalAssignments_CreateOrUpdate", - "x-ms-examples": { - "KustoDatabasePrincipalAssignmentsCreateOrUpdate": { - "$ref": "./examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json" - } - }, - "x-ms-long-running-operation": true, - "description": "Creates a Kusto cluster database principalAssignment.", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "$ref": "#/parameters/PrincipalAssignmentNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/DatabasePrincipalAssignment" - }, - "description": "The Kusto principalAssignments parameters supplied for the operation." - } - ], - "responses": { - "200": { - "description": "Successfully updated the PrincipalAssignments.", - "schema": { - "$ref": "#/definitions/DatabasePrincipalAssignment" - } - }, - "201": { - "description": "Successfully created the principalAssignments.", - "schema": { - "$ref": "#/definitions/DatabasePrincipalAssignment" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "delete": { - "tags": [ - "DatabasePrincipalAssignments" - ], - "operationId": "DatabasePrincipalAssignments_Delete", - "x-ms-examples": { - "KustoDatabasePrincipalAssignmentsDelete": { - "$ref": "./examples/KustoDatabasePrincipalAssignmentsDelete.json" - } - }, - "x-ms-long-running-operation": true, - "description": "Deletes a Kusto principalAssignment.", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "$ref": "#/parameters/PrincipalAssignmentNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK -- principalAssignments deleted successfully." - }, - "202": { - "description": "Accepted the delete principalAssignments request." - }, - "204": { - "description": "NoContent -- principalAssignments does not exist in the subscription." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments": { - "get": { - "tags": [ - "DatabasePrincipalAssignments" - ], - "operationId": "DatabasePrincipalAssignments_List", - "x-ms-examples": { - "KustoPrincipalAssignmentsList": { - "$ref": "./examples/KustoDatabasePrincipalAssignmentsList.json" - } - }, - "description": "Lists all Kusto cluster database principalAssignments.", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/DatabasePrincipalAssignmentListResult" - } - }, - "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}/listPrincipals": { - "post": { - "tags": [ - "Databases" - ], - "description": "Returns a list of database principals of the given Kusto cluster and database.", - "operationId": "Databases_ListPrincipals", - "x-ms-examples": { - "KustoDatabaseListPrincipals": { - "$ref": "./examples/KustoDatabaseListPrincipals.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 database principals.", - "schema": { - "$ref": "#/definitions/DatabasePrincipalListResult" - } - }, - "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}/addPrincipals": { - "post": { - "tags": [ - "Databases" - ], - "operationId": "Databases_AddPrincipals", - "x-ms-examples": { - "KustoDatabaseAddPrincipals": { - "$ref": "./examples/KustoDatabaseAddPrincipals.json" - } - }, - "description": "Add Database principals permissions.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "databasePrincipalsToAdd", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/DatabasePrincipalListRequest" - }, - "description": "List of database principals to add." - } - ], - "responses": { - "200": { - "description": "OK -- Successfully added 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}/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/KustoDataConnectionValidation.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": "dataConnectionName", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/DataConnectionCheckNameRequest" - }, - "description": "The name of the data connection." - } - ], - "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}/databases/{databaseName}/dataConnections/{dataConnectionName}": { - "get": { - "tags": [ - "DataConnections" - ], - "description": "Returns a data connection.", - "operationId": "DataConnections_Get", - "x-ms-examples": { - "KustoDataConnectionsGet": { - "$ref": "./examples/KustoDataConnectionsGet.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "$ref": "#/parameters/DataConnectionNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the specified data connection.", - "schema": { - "$ref": "#/definitions/DataConnection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "tags": [ - "DataConnections" - ], - "description": "Creates or updates a data connection.", - "operationId": "DataConnections_CreateOrUpdate", - "x-ms-examples": { - "KustoDataConnectionsCreateOrUpdate": { - "$ref": "./examples/KustoDataConnectionsCreateOrUpdate.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 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/ClusterNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the list of language extensions.", - "schema": { - "$ref": "#/definitions/LanguageExtensionsList" - } - }, - "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}/addLanguageExtensions": { - "post": { - "tags": [ - "Clusters" - ], - "description": "Add a list of language extensions that can run within KQL queries.", - "operationId": "Clusters_AddLanguageExtensions", - "x-ms-examples": { - "KustoClusterAddLanguageExtensions": { - "$ref": "./examples/KustoClusterAddLanguageExtensions.json" - } - }, - "x-ms-long-running-operation": true, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "languageExtensionsToAdd", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/LanguageExtensionsList" - }, - "description": "The language extensions to add." - } - ], - "responses": { - "200": { - "description": "OK." - }, - "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}/removeLanguageExtensions": { - "post": { - "tags": [ - "Clusters" - ], - "description": "Remove a list of language extensions that can run within KQL queries.", - "operationId": "Clusters_RemoveLanguageExtensions", - "x-ms-examples": { - "KustoClusterRemoveLanguageExtensions": { - "$ref": "./examples/KustoClusterRemoveLanguageExtensions.json" - } - }, - "x-ms-long-running-operation": true, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "languageExtensionsToRemove", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/LanguageExtensionsList" - }, - "description": "The language extensions to remove." - } - ], - "responses": { - "200": { - "description": "OK." - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - } - }, - "definitions": { - "ClusterProperties": { - "properties": { - "state": { - "type": "string", - "readOnly": true, - "description": "The state of the resource.", - "enum": [ - "Creating", - "Unavailable", - "Running", - "Deleting", - "Deleted", - "Stopping", - "Stopped", - "Starting", - "Updating" - ], - "x-ms-enum": { - "name": "State", - "modelAsString": true - } - }, - "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 - } - }, - "uri": { - "type": "string", - "readOnly": true, - "description": "The cluster URI." - }, - "dataIngestionUri": { - "type": "string", - "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": { - "$ref": "#/definitions/TrustedExternalTenant" - }, - "description": "The cluster's external tenants." - }, - "optimizedAutoscale": { - "type": "object", - "$ref": "#/definitions/OptimizedAutoscale", - "description": "Optimized auto scale definition." - }, - "enableDiskEncryption": { - "description": "A boolean value that indicates if the cluster's disks are encrypted.", - "type": "boolean" - }, - "enableStreamingIngest": { - "description": "A boolean value that indicates if the streaming ingest is enabled.", - "default": false, - "type": "boolean" - }, - "virtualNetworkConfiguration": { - "type": "object", - "$ref": "#/definitions/VirtualNetworkConfiguration", - "description": "Virtual network definition." - }, - "keyVaultProperties": { - "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" - } - }, - "description": "Class representing the Kusto cluster properties." - }, - "TrustedExternalTenant": { - "properties": { - "value": { - "type": "string", - "description": "GUID representing an external tenant." - } - }, - "description": "Represents a tenant ID that is trusted by the cluster." - }, - "AzureResourceSku": { - "properties": { - "resourceType": { - "type": "string", - "description": "Resource Namespace and Type." - }, - "sku": { - "$ref": "#/definitions/AzureSku", - "description": "The SKU details." - }, - "capacity": { - "$ref": "#/definitions/AzureCapacity", - "description": "The number of instances of the cluster." - } - }, - "description": "Azure resource SKU definition." - }, - "AzureCapacity": { - "type": "object", - "required": [ - "minimum", - "maximum", - "default", - "scaleType" - ], - "properties": { - "scaleType": { - "description": "Scale type.", - "type": "string", - "enum": [ - "automatic", - "manual", - "none" - ], - "x-ms-enum": { - "name": "AzureScaleType", - "modelAsString": true - } - }, - "minimum": { - "description": "Minimum allowed capacity.", - "type": "integer", - "format": "int32" - }, - "maximum": { - "description": "Maximum allowed capacity.", - "type": "integer", - "format": "int32" - }, - "default": { - "description": "The default capacity that would be used.", - "type": "integer", - "format": "int32" - } - }, - "description": "Azure capacity definition." - }, - "SkuDescriptionList": { - "description": "The list of the EngagementFabric SKU descriptions", - "type": "object", - "properties": { - "value": { - "description": "SKU descriptions", - "type": "array", - "items": { - "$ref": "#/definitions/SkuDescription" - }, - "readOnly": true - } - } - }, - "SkuDescription": { - "description": "The Kusto SKU description of given resource type", - "type": "object", - "properties": { - "resourceType": { - "description": "The resource type", - "type": "string", - "readOnly": true - }, - "name": { - "description": "The name of the SKU", - "type": "string", - "readOnly": true - }, - "tier": { - "description": "The tier of the SKU", - "type": "string", - "readOnly": true - }, - "locations": { - "description": "The set of locations that the SKU is available", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - }, - "locationInfo": { - "description": "Locations and zones", - "type": "array", - "items": { - "$ref": "#/definitions/SkuLocationInfoItem" - }, - "readOnly": true - }, - "restrictions": { - "description": "The restrictions because of which SKU cannot be used", - "type": "array", - "items": { - "type": "object" - }, - "readOnly": true - } - } - }, - "SkuLocationInfoItem": { - "description": "The locations and zones info for SKU.", - "type": "object", - "required": [ - "location" - ], - "properties": { - "location": { - "description": "The available location of the SKU.", - "type": "string" - }, - "zones": { - "description": "The available zone of the SKU.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "AzureSku": { - "type": "object", - "required": [ - "name", - "tier" - ], - "properties": { - "name": { - "description": "SKU name.", - "type": "string", - "enum": [ - "Standard_DS13_v2+1TB_PS", - "Standard_DS13_v2+2TB_PS", - "Standard_DS14_v2+3TB_PS", - "Standard_DS14_v2+4TB_PS", - "Standard_D13_v2", - "Standard_D14_v2", - "Standard_L8s", - "Standard_L16s", - "Standard_D11_v2", - "Standard_D12_v2", - "Standard_L4s", - "Dev(No SLA)_Standard_D11_v2", - "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", - "modelAsString": true - } - }, - "capacity": { - "description": "The number of instances of the cluster.", - "type": "integer", - "format": "int32" - }, - "tier": { - "description": "SKU tier.", - "type": "string", - "enum": [ - "Basic", - "Standard" - ], - "x-ms-enum": { - "name": "AzureSkuTier", - "modelAsString": true - } - } - }, - "description": "Azure SKU definition." - }, - "Zones": { - "description": "An array represents the availability zones of the cluster.", - "type": "array", - "items": { - "type": "string" - } - }, - "OptimizedAutoscale": { - "type": "object", - "required": [ - "version", - "isEnabled", - "minimum", - "maximum" - ], - "properties": { - "version": { - "description": "The version of the template defined, for instance 1.", - "type": "integer", - "format": "int32" - }, - "isEnabled": { - "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not.", - "type": "boolean" - }, - "minimum": { - "description": "Minimum allowed instances count.", - "type": "integer", - "format": "int32" - }, - "maximum": { - "description": "Maximum allowed instances count.", - "type": "integer", - "format": "int32" - } - }, - "description": "A class that contains the optimized auto scale definition." - }, - "VirtualNetworkConfiguration": { - "type": "object", - "required": [ - "subnetId", - "enginePublicIpId", - "dataManagementPublicIpId" - ], - "properties": { - "subnetId": { - "description": "The subnet resource id.", - "type": "string" - }, - "enginePublicIpId": { - "description": "Engine service's public IP address resource id.", - "type": "string" - }, - "dataManagementPublicIpId": { - "description": "Data management's service public IP address resource id.", - "type": "string" - } - }, - "description": "A class that contains virtual network definition." - }, - "DatabaseStatistics": { - "type": "object", - "readOnly": true, - "properties": { - "size": { - "type": "number", - "description": "The database size - the total size of compressed data and index in bytes." - } - }, - "description": "A class that contains database statistics information." - }, - "AttachedDatabaseConfigurationProperties": { - "properties": { - "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 - } - }, - "databaseName": { - "type": "string", - "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." - }, - "clusterResourceId": { - "type": "string", - "description": "The resource id of the cluster where the databases you would like to attach reside." - }, - "attachedDatabaseNames": { - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true, - "description": "The list of databases from the clusterResourceId which are currently attached to the cluster." - }, - "defaultPrincipalsModificationKind": { - "type": "string", - "enum": [ - "Union", - "Replace", - "None" - ], - "x-ms-enum": { - "name": "DefaultPrincipalsModificationKind", - "modelAsString": true - }, - "description": "The default principals modification kind" - } - }, - "description": "Class representing the an attached database configuration properties of kind specific.", - "required": [ - "databaseName", - "clusterResourceId", - "defaultPrincipalsModificationKind" - ] - }, - "ReadWriteDatabaseProperties": { - "properties": { - "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 - } - }, - "softDeletePeriod": { - "type": "string", - "format": "duration", - "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." - }, - "hotCachePeriod": { - "type": "string", - "format": "duration", - "description": "The time the data should be kept in cache for fast queries in TimeSpan." - }, - "statistics": { - "$ref": "#/definitions/DatabaseStatistics", - "description": "The statistics of the database." - }, - "isFollowed": { - "type": "boolean", - "readOnly": true, - "description": "Indicates whether the database is followed." - } - }, - "description": "Class representing the Kusto database properties." - }, - "ReadOnlyFollowingDatabaseProperties": { - "properties": { - "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 - } - }, - "softDeletePeriod": { - "type": "string", - "readOnly": true, - "format": "duration", - "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." - }, - "hotCachePeriod": { - "type": "string", - "format": "duration", - "description": "The time the data should be kept in cache for fast queries in TimeSpan." - }, - "statistics": { - "$ref": "#/definitions/DatabaseStatistics", - "description": "The statistics of the database." - }, - "leaderClusterResourceId": { - "type": "string", - "readOnly": true, - "description": "The name of the leader cluster" - }, - "attachedDatabaseConfigurationName": { - "type": "string", - "readOnly": true, - "description": "The name of the attached database configuration cluster" - }, - "principalsModificationKind": { - "type": "string", - "readOnly": true, - "enum": [ - "Union", - "Replace", - "None" - ], - "x-ms-enum": { - "name": "PrincipalsModificationKind", - "modelAsString": true - }, - "description": "The principals modification kind of the database" - } - }, - "description": "Class representing the Kusto database properties." - }, - "EventHubConnectionProperties": { - "properties": { - "eventHubResourceId": { - "type": "string", - "description": "The resource ID of the event hub to be used to create a data connection." - }, - "consumerGroup": { - "type": "string", - "description": "The event hub consumer group." - }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { - "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." - }, - "dataFormat": { - "$ref": "#/definitions/EventHubDataFormat", - "description": "The data format of the message. Optionally the data format can be added to each message." - }, - "eventSystemProperties": { - "type": "array", - "items": { - "type": "string" - }, - "description": "System properties of the event hub" - }, - "compression": { - "$ref": "#/definitions/Compression", - "description": "The event hub messages compression type" - } - }, - "required": [ - "eventHubResourceId", - "consumerGroup" - ], - "description": "Class representing the Kusto event hub connection properties." - }, - "IotHubConnectionProperties": { - "properties": { - "iotHubResourceId": { - "type": "string", - "description": "The resource ID of the Iot hub to be used to create a data connection." - }, - "consumerGroup": { - "type": "string", - "description": "The iot hub consumer group." - }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { - "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." - }, - "dataFormat": { - "$ref": "#/definitions/IotHubDataFormat", - "description": "The data format of the message. Optionally the data format can be added to each message." - }, - "eventSystemProperties": { - "type": "array", - "items": { - "type": "string" - }, - "description": "System properties of the iot hub" - }, - "sharedAccessPolicyName": { - "type": "string", - "description": "The name of the share access policy" - } - }, - "required": [ - "iotHubResourceId", - "consumerGroup", - "sharedAccessPolicyName" - ], - "description": "Class representing the Kusto Iot hub connection properties." - }, - "EventHubDataFormat": { - "description": "The data format of the message. Optionally the data format can be added to each message.", - "type": "string", - "enum": [ - "MULTIJSON", - "JSON", - "CSV", - "TSV", - "SCSV", - "SOHSV", - "PSV", - "TXT", - "RAW", - "SINGLEJSON", - "AVRO", - "TSVE", - "PARQUET", - "ORC", - "APACHEAVRO", - "W3CLOGFILE" - ], - "x-ms-enum": { - "name": "eventHubDataFormat", - "modelAsString": true - } - }, - "IotHubDataFormat": { - "description": "The data format of the message. Optionally the data format can be added to each message.", - "type": "string", - "enum": [ - "MULTIJSON", - "JSON", - "CSV", - "TSV", - "SCSV", - "SOHSV", - "PSV", - "TXT", - "RAW", - "SINGLEJSON", - "AVRO", - "TSVE", - "PARQUET", - "ORC", - "APACHEAVRO", - "W3CLOGFILE" - ], - "x-ms-enum": { - "name": "iotHubDataFormat", - "modelAsString": true - } - }, - "EventGridDataFormat": { - "description": "The data format of the message. Optionally the data format can be added to each message.", - "type": "string", - "enum": [ - "MULTIJSON", - "JSON", - "CSV", - "TSV", - "SCSV", - "SOHSV", - "PSV", - "TXT", - "RAW", - "SINGLEJSON", - "AVRO", - "TSVE", - "PARQUET", - "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", - "enum": [ - "None", - "GZip" - ], - "x-ms-enum": { - "name": "compression", - "modelAsString": true - } - }, - "EventGridConnectionProperties": { - "properties": { - "storageAccountResourceId": { - "type": "string", - "description": "The resource ID of the storage account where the data resides." - }, - "eventHubResourceId": { - "type": "string", - "description": "The resource ID where the event grid is configured to send events." - }, - "consumerGroup": { - "type": "string", - "description": "The event hub consumer group." - }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { - "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." - }, - "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." - } - }, - "required": [ - "storageAccountResourceId", - "eventHubResourceId", - "consumerGroup" - ], - "description": "Class representing the Kusto event grid connection properties." - }, - "Cluster": { - "required": [ - "sku" - ], - "properties": { - "sku": { - "$ref": "#/definitions/AzureSku", - "description": "The SKU of the cluster." - }, - "zones": { - "$ref": "#/definitions/Zones", - "description": "The availability zones of the cluster." - }, - "identity": { - "$ref": "#/definitions/Identity", - "description": "The identity of the cluster, if configured." - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ClusterProperties", - "description": "The cluster properties." - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" - } - ], - "description": "Class representing a Kusto cluster." - }, - "ClusterUpdate": { - "properties": { - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-ms-mutability": [ - "read", - "create", - "update" - ], - "description": "Resource tags." - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "sku": { - "$ref": "#/definitions/AzureSku", - "description": "The SKU of the cluster." - }, - "identity": { - "$ref": "#/definitions/Identity", - "description": "The identity of the cluster, if configured." - }, - "properties": { - "x-ms-client-flatten": true, - "description": "The cluster properties.", - "$ref": "#/definitions/ClusterProperties" - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" - } - ], - "description": "Class representing an update to a Kusto cluster." - }, - "AttachedDatabaseConfigurationListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/AttachedDatabaseConfiguration" - }, - "description": "The list of attached database configurations." - } - }, - "description": "The list attached database configurations operation response." - }, - "AttachedDatabaseConfiguration": { - "properties": { - "location": { - "type": "string", - "description": "Resource location." - }, - "properties": { - "x-ms-client-flatten": true, - "description": "The properties of the attached database configuration.", - "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "description": "Class representing an attached database configuration." - }, - "Database": { - "required": [ - "kind" - ], - "properties": { - "location": { - "type": "string", - "description": "Resource location." - }, - "kind": { - "description": "Kind of the database", - "enum": [ - "ReadWrite", - "ReadOnlyFollowing" - ], - "type": "string", - "x-ms-enum": { - "name": "Kind", - "modelAsString": true - } - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "description": "Class representing a Kusto database.", - "discriminator": "kind" - }, - "ReadWriteDatabase": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "The database properties.", - "$ref": "#/definitions/ReadWriteDatabaseProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Database" - } - ], - "description": "Class representing a read write database.", - "x-ms-discriminator-value": "ReadWrite" - }, - "ReadOnlyFollowingDatabase": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "The database properties.", - "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Database" - } - ], - "description": "Class representing a read only following database.", - "x-ms-discriminator-value": "ReadOnlyFollowing" - }, - "DatabasePrincipal": { - "type": "object", - "required": [ - "name", - "role", - "type" - ], - "properties": { - "role": { - "description": "Database principal role.", - "type": "string", - "enum": [ - "Admin", - "Ingestor", - "Monitor", - "User", - "UnrestrictedViewers", - "Viewer" - ], - "x-ms-enum": { - "name": "DatabasePrincipalRole", - "modelAsString": true - } - }, - "name": { - "description": "Database principal name.", - "type": "string" - }, - "type": { - "description": "Database principal type.", - "type": "string", - "enum": [ - "App", - "Group", - "User" - ], - "x-ms-enum": { - "name": "DatabasePrincipalType", - "modelAsString": true - } - }, - "fqn": { - "description": "Database principal fully qualified name.", - "type": "string" - }, - "email": { - "description": "Database principal email if exists.", - "type": "string" - }, - "appId": { - "description": "Application id - relevant only for application principal type.", - "type": "string" - }, - "tenantName": { - "type": "string", - "readOnly": true, - "description": "The tenant name of the principal" - } - }, - "description": "A class representing database principal entity." - }, - "DatabasePrincipalProperties": { - "type": "object", - "required": [ - "principalId", - "role", - "principalType" - ], - "properties": { - "principalId": { - "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.", - "type": "string" - }, - "role": { - "description": "Database principal role.", - "type": "string", - "enum": [ - "Admin", - "Ingestor", - "Monitor", - "User", - "UnrestrictedViewers", - "Viewer" - ], - "x-ms-enum": { - "name": "DatabasePrincipalRole", - "modelAsString": true - } - }, - "tenantId": { - "type": "string", - "description": "The tenant id of the principal" - }, - "principalType": { - "description": "Principal type.", - "type": "string", - "enum": [ - "App", - "Group", - "User" - ], - "x-ms-enum": { - "name": "PrincipalType", - "modelAsString": true - } - }, - "tenantName": { - "type": "string", - "readOnly": true, - "description": "The tenant name of the principal" - }, - "principalName": { - "type": "string", - "readOnly": true, - "description": "The principal name" - }, - "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 - } - } - }, - "description": "A class representing database principal property." - }, - "ClusterPrincipalProperties": { - "type": "object", - "required": [ - "principalId", - "role", - "principalType" - ], - "properties": { - "principalId": { - "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.", - "type": "string" - }, - "role": { - "description": "Cluster principal role.", - "type": "string", - "enum": [ - "AllDatabasesAdmin", - "AllDatabasesViewer" - ], - "x-ms-enum": { - "name": "ClusterPrincipalRole", - "modelAsString": true - } - }, - "tenantId": { - "type": "string", - "description": "The tenant id of the principal" - }, - "principalType": { - "description": "Principal type.", - "type": "string", - "enum": [ - "App", - "Group", - "User" - ], - "x-ms-enum": { - "name": "PrincipalType", - "modelAsString": true - } - }, - "tenantName": { - "type": "string", - "readOnly": true, - "description": "The tenant name of the principal" - }, - "principalName": { - "type": "string", - "readOnly": true, - "description": "The principal name" - }, - "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 - } - } - }, - "description": "A class representing cluster principal property." - }, - "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." - }, - "ClusterListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Cluster" - }, - "description": "The list of Kusto clusters." - } - }, - "description": "The list Kusto clusters operation response." - }, - "DatabaseListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Database" - }, - "description": "The list of Kusto databases." - } - }, - "description": "The list Kusto databases operation response." - }, - "DatabasePrincipalAssignmentListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/DatabasePrincipalAssignment" - }, - "description": "The list of Kusto database principal assignments." - } - }, - "description": "The list Kusto database principal assignments operation response." - }, - "ClusterPrincipalAssignmentListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/ClusterPrincipalAssignment" - }, - "description": "The list of Kusto cluster principal assignments." - } - }, - "description": "The list Kusto cluster principal assignments operation response." - }, - "DatabasePrincipalListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/DatabasePrincipal" - }, - "description": "The list of Kusto database principals." - } - }, - "description": "The list Kusto database principals operation response." - }, - "FollowerDatabaseListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/FollowerDatabaseDefinition" - }, - "description": "The list of follower database result." - } - }, - "description": "The list Kusto database principals operation response." - }, - "DataConnection": { - "required": [ - "kind" - ], - "properties": { - "location": { - "type": "string", - "description": "Resource location." - }, - "kind": { - "description": "Kind of the endpoint for the data connection", - "enum": [ - "EventHub", - "EventGrid", - "IotHub" - ], - "type": "string", - "x-ms-enum": { - "name": "DataConnectionKind", - "modelAsString": true - } - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "description": "Class representing an data connection.", - "discriminator": "kind" - }, - "DataConnectionValidationResult": { - "type": "object", - "properties": { - "errorMessage": { - "type": "string", - "description": "A message which indicates a problem in data connection validation." - } - }, - "description": "The result returned from a data connection validation request." - }, - "DatabasePrincipalListRequest": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/DatabasePrincipal" - }, - "description": "The list of Kusto database principals." - } - }, - "description": "The list Kusto database principals operation request." - }, - "FollowerDatabaseDefinition": { - "type": "object", - "required": [ - "clusterResourceId", - "attachedDatabaseConfigurationName" - ], - "properties": { - "clusterResourceId": { - "type": "string", - "description": "Resource id of the cluster that follows a database owned by this cluster." - }, - "attachedDatabaseConfigurationName": { - "type": "string", - "description": "Resource name of the attached database configuration in the follower cluster." - }, - "databaseName": { - "type": "string", - "readOnly": true, - "description": "The database name owned by this cluster that was followed. * in case following all databases." - } - }, - "description": "A class representing follower database request." - }, - "DiagnoseVirtualNetworkResult": { - "properties": { - "findings": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The list of network connectivity diagnostic finding" - } - } - }, - "DataConnectionValidation": { - "properties": { - "dataConnectionName": { - "type": "string", - "description": "The name of the data connection." - }, - "properties": { - "$ref": "#/definitions/DataConnection", - "description": "The data connection properties to validate." - } - }, - "description": "Class representing an data connection validation." - }, - "EventHubDataConnection": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "The Event Hub data connection properties to validate.", - "$ref": "#/definitions/EventHubConnectionProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/DataConnection" - } - ], - "description": "Class representing an event hub data connection.", - "x-ms-discriminator-value": "EventHub" - }, - "IotHubDataConnection": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "The Iot Hub data connection properties.", - "$ref": "#/definitions/IotHubConnectionProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/DataConnection" - } - ], - "description": "Class representing an iot hub data connection.", - "x-ms-discriminator-value": "IotHub" - }, - "EventGridDataConnection": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "The properties of the Event Grid data connection.", - "$ref": "#/definitions/EventGridConnectionProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/DataConnection" - } - ], - "description": "Class representing an Event Grid data connection.", - "x-ms-discriminator-value": "EventGrid" - }, - "DataConnectionValidationListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/DataConnectionValidationResult" - }, - "description": "The list of Kusto data connection validation errors." - } - }, - "description": "The list Kusto data connection validation result." - }, - "DataConnectionListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/DataConnection" - }, - "description": "The list of Kusto data connections." - } - }, - "description": "The list Kusto data connections operation response." - }, - "CloudError": { - "x-ms-external": true, - "properties": { - "error": { - "$ref": "#/definitions/CloudErrorBody", - "description": "An error response from Kusto." - } - }, - "description": "An error response from Kusto." - }, - "ClusterCheckNameRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Cluster name." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters" - ], - "x-ms-enum": { - "name": "ClusterType", - "modelAsString": false - }, - "description": "The type of resource, Microsoft.Kusto/clusters." - } - }, - "required": [ - "name", - "type" - ], - "description": "The result returned from a cluster check name availability request." - }, - "CheckNameRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Resource name." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/databases", - "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" - ], - "x-ms-enum": { - "name": "Type", - "modelAsString": false - }, - "description": "The type of resource, for instance Microsoft.Kusto/clusters/databases." - } - }, - "required": [ - "name", - "type" - ], - "description": "The result returned from a database check name availability request." - }, - "ClusterPrincipalAssignmentCheckNameRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Principal Assignment resource name." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/principalAssignments" - ], - "x-ms-enum": { - "name": "PrincipalAssignmentType", - "modelAsString": false - }, - "description": "The type of resource, Microsoft.Kusto/clusters/principalAssignments." - } - }, - "required": [ - "name", - "type" - ], - "description": "A principal assignment check name availability request." - }, - "DataConnectionCheckNameRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Data Connection name." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/databases/dataConnections" - ], - "x-ms-enum": { - "name": "DataConnectionType", - "modelAsString": false - }, - "description": "The type of resource, Microsoft.Kusto/clusters/databases/dataConnections." - } - }, - "required": [ - "name", - "type" - ], - "description": "A data connection check name availability request." - }, - "DatabasePrincipalAssignmentCheckNameRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Principal Assignment resource name." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/databases/principalAssignments" - ], - "x-ms-enum": { - "name": "DatabasePrincipalAssignmentType", - "modelAsString": false - }, - "description": "The type of resource, Microsoft.Kusto/clusters/databases/principalAssignments." - } - }, - "required": [ - "name", - "type" - ], - "description": "A principal assignment check name availability request." - }, - "CheckNameResult": { - "type": "object", - "properties": { - "nameAvailable": { - "type": "boolean", - "description": "Specifies a Boolean value that indicates if the name is available." - }, - "name": { - "type": "string", - "description": "The name that was checked." - }, - "message": { - "type": "string", - "description": "Message indicating an unavailable name due to a conflict, or a description of the naming rules that are violated." - }, - "reason": { - "type": "string", - "enum": [ - "Invalid", - "AlreadyExists" - ], - "x-ms-enum": { - "name": "reason", - "modelAsString": true - }, - "description": "Message providing the reason why the given name is invalid." - } - }, - "description": "The result returned from a check name availability request." - }, - "ListResourceSkusResult": { - "description": "List of available SKUs for a Kusto Cluster.", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/AzureResourceSku" - }, - "description": "The collection of available SKUs for an existing resource." - } - } - }, - "CloudErrorBody": { - "x-ms-external": true, - "properties": { - "code": { - "type": "string", - "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." - }, - "message": { - "type": "string", - "description": "A message describing the error, intended to be suitable for displaying in a user interface." - }, - "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": "A list of additional details about the error." - } - }, - "description": "An error response from Kusto." - }, - "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.", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Operation" - }, - "title": "The list of operations supported by the resource provider." - }, - "nextLink": { - "type": "string", - "title": "The URL to get the next set of operation list results if there are any." - } - } - }, - "Operation": { - "title": "A REST API operation", - "type": "object", - "properties": { - "name": { - "title": "The operation name.", - "description": "This is of the format {provider}/{resource}/{operation}.", - "type": "string" - }, - "display": { - "title": "The object that describes the operation.", - "properties": { - "provider": { - "title": "Friendly name of the resource provider.", - "type": "string" - }, - "operation": { - "title": "The operation type.", - "description": "For example: read, write, delete.", - "type": "string" - }, - "resource": { - "title": "The resource type on which the operation is performed.", - "type": "string" - }, - "description": { - "title": "The friendly name of the operation.", - "type": "string" - } - } - }, - "origin": { - "title": "The intended executor of the operation.", - "type": "string" - }, - "properties": { - "title": "Properties of the operation.", - "type": "object", - "x-ms-client-flatten": true - } - } - }, - "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" - ], - "x-ms-enum": { - "name": "IdentityType", - "modelAsString": false - } - }, - "userAssignedIdentities": { - "type": "object", - "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." - } - } - }, - "description": "The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." - } - }, - "required": [ - "type" - ], - "description": "Identity for the resource." - }, - "KeyVaultProperties": { - "description": "Properties of the key vault.", - "required": [ - "keyName", - "keyVersion", - "keyVaultUri" - ], - "properties": { - "keyName": { - "type": "string", - "description": "The name of the key vault key.", - "x-ms-client-name": "KeyName" - }, - "keyVersion": { - "type": "string", - "description": "The version of the key vault key.", - "x-ms-client-name": "KeyVersion" - }, - "keyVaultUri": { - "type": "string", - "description": "The Uri of the key vault.", - "x-ms-client-name": "KeyVaultUri" - } - } - }, - "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." - } - }, - "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." - }, - "ClusterNameParameter": { - "name": "clusterName", - "in": "path", - "description": "The name of the Kusto cluster.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AttachedDatabaseConfigurationNameParameter": { - "name": "attachedDatabaseConfigurationName", - "in": "path", - "description": "The name of the attached database configuration.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "ResourceGroupParameter": { - "name": "resourceGroupName", - "in": "path", - "description": "The name of the resource group containing the Kusto cluster.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "DatabaseNameParameter": { - "name": "databaseName", - "in": "path", - "description": "The name of the database in the Kusto cluster.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "DataConnectionNameParameter": { - "name": "dataConnectionName", - "in": "path", - "description": "The name of the data connection.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "PrincipalAssignmentNameParameter": { - "name": "principalAssignmentName", - "in": "path", - "description": "The name of the Kusto principalAssignment.", - "required": true, - "type": "string", - "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" - } - } - } -} +{ + "swagger": "2.0", + "info": { + "title": "KustoManagementClient", + "version": "2020-06-14" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Get", + "x-ms-examples": { + "KustoClustersGet": { + "$ref": "./examples/KustoClustersGet.json" + } + }, + "description": "Gets a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Kusto cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_CreateOrUpdate", + "x-ms-examples": { + "KustoClustersCreateOrUpdate": { + "$ref": "./examples/KustoClustersCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Create or update a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster" + }, + "description": "The Kusto cluster parameters supplied to the CreateOrUpdate operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the Cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "Successfully created the cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Update", + "x-ms-examples": { + "KustoClustersUpdate": { + "$ref": "./examples/KustoClustersUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Update a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterUpdate" + }, + "description": "The Kusto cluster parameters supplied to the Update operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the Cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "Successfully updated the cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "202": { + "description": "Successfully updated the cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Delete", + "x-ms-examples": { + "KustoClustersDelete": { + "$ref": "./examples/KustoClustersDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- cluster deleted successfully." + }, + "202": { + "description": "Accepted the delete cluster request." + }, + "204": { + "description": "NoContent -- cluster does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Stop", + "x-ms-examples": { + "KustoClustersStop": { + "$ref": "./examples/KustoClustersStop.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Stops a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "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}/start": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Start", + "x-ms-examples": { + "KustoClustersStart": { + "$ref": "./examples/KustoClustersStart.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Starts a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "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}/checkPrincipalAssignmentNameAvailability": { + "post": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_CheckNameAvailability", + "x-ms-examples": { + "KustoClusterPrincipalAssignmentsCheckNameAvailability": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json" + } + }, + "description": "Checks that the principal assignment name is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "principalAssignmentName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignmentCheckNameRequest" + }, + "description": "The name of the principal assignment." + } + ], + "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}/principalAssignments/{principalAssignmentName}": { + "get": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_Get", + "x-ms-examples": { + "KustoClusterPrincipalAssignmentsGet": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsGet.json" + } + }, + "description": "Gets a Kusto cluster principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Kusto cluster principal assignment object.", + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_CreateOrUpdate", + "x-ms-examples": { + "KustoClusterPrincipalAssignmentsCreateOrUpdate": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Create a Kusto cluster principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + }, + "description": "The Kusto cluster principalAssignment's parameters supplied for the operation." + } + ], + "responses": { + "200": { + "description": "Successfully updated the PrincipalAssignment.", + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + } + }, + "201": { + "description": "Successfully created the principalAssignment.", + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_Delete", + "x-ms-examples": { + "KustoClusterPrincipalAssignmentsDelete": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes a Kusto cluster principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- principalAssignments deleted successfully." + }, + "202": { + "description": "Accepted the delete principalAssignments request." + }, + "204": { + "description": "NoContent -- principalAssignments does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments": { + "get": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_List", + "x-ms-examples": { + "KustoPrincipalAssignmentsList": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsList.json" + } + }, + "description": "Lists all Kusto cluster principalAssignments.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignmentListResult" + } + }, + "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}/listFollowerDatabases": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Returns a list of databases that are owned by this cluster and were followed by another cluster.", + "operationId": "Clusters_ListFollowerDatabases", + "x-ms-examples": { + "KustoClusterListFollowerDatabases": { + "$ref": "./examples/KustoClusterListFollowerDatabases.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of followed databases.", + "schema": { + "$ref": "#/definitions/FollowerDatabaseListResult" + } + }, + "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}/detachFollowerDatabases": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Detaches all followers of a database owned by this cluster.", + "operationId": "Clusters_DetachFollowerDatabases", + "x-ms-examples": { + "KustoClusterDetachFollowerDatabases": { + "$ref": "./examples/KustoClusterDetachFollowerDatabases.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "followerDatabaseToRemove", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FollowerDatabaseDefinition" + }, + "description": "The follower databases properties to remove." + } + ], + "responses": { + "200": { + "description": "OK." + }, + "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}/diagnoseVirtualNetwork": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Diagnoses network connectivity status for external resources on which the service is dependent on.", + "operationId": "Clusters_DiagnoseVirtualNetwork", + "x-ms-examples": { + "KustoClusterDiagnoseVirtualNetwork": { + "$ref": "./examples/KustoClustersDiagnoseVirtualNetwork.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/DiagnoseVirtualNetworkResult" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_ListByResourceGroup", + "x-ms-examples": { + "KustoClustersListByResourceGroup": { + "$ref": "./examples/KustoClustersListByResourceGroup.json" + } + }, + "description": "Lists all Kusto clusters within a resource group.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_List", + "x-ms-examples": { + "KustoClustersList": { + "$ref": "./examples/KustoClustersList.json" + } + }, + "description": "Lists all Kusto clusters within a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/skus": { + "get": { + "description": "Lists eligible SKUs for Kusto resource provider.", + "x-ms-examples": { + "KustoClustersListSkus": { + "$ref": "./examples/KustoClustersListSkus.json" + } + }, + "operationId": "Clusters_ListSkus", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/SkuDescriptionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_CheckNameAvailability", + "x-ms-examples": { + "KustoClustersCheckNameAvailability": { + "$ref": "./examples/KustoClustersCheckNameAvailability.json" + } + }, + "description": "Checks that the cluster name is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "description": "Azure location.", + "required": true, + "type": "string" + }, + { + "name": "clusterName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterCheckNameRequest" + }, + "description": "The name of the cluster." + } + ], + "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}/checkNameAvailability": { + "post": { + "tags": [ + "Databases" + ], + "operationId": "Databases_CheckNameAvailability", + "x-ms-examples": { + "KustoDatabaseCheckNameAvailability": { + "$ref": "./examples/KustoDatabasesCheckNameAvailability.json" + } + }, + "description": "Checks that the database 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/CheckNameRequest" + }, + "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": [ + "Clusters" + ], + "operationId": "Clusters_ListSkusByResource", + "x-ms-examples": { + "KustoClustersListResourceSkus": { + "$ref": "./examples/KustoClustersListResourceSkus.json" + } + }, + "description": "Returns the SKUs available for the provided resource.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ListResourceSkusResult" + } + }, + "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": { + "get": { + "tags": [ + "Databases" + ], + "description": "Returns the list of databases of the given Kusto cluster.", + "operationId": "Databases_ListByCluster", + "x-ms-examples": { + "KustoDatabasesListByCluster": { + "$ref": "./examples/KustoDatabasesListByCluster.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of databases.", + "schema": { + "$ref": "#/definitions/DatabaseListResult" + } + }, + "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}": { + "get": { + "tags": [ + "Databases" + ], + "description": "Returns a database.", + "operationId": "Databases_Get", + "x-ms-examples": { + "KustoDatabasesGet": { + "$ref": "./examples/KustoDatabasesGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Databases" + ], + "description": "Creates or updates a database.", + "operationId": "Databases_CreateOrUpdate", + "x-ms-examples": { + "KustoDatabasesCreateOrUpdate": { + "$ref": "./examples/KustoDatabasesCreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Database" + }, + "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/Database" + } + }, + "201": { + "description": "Successfully created the database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "202": { + "description": "Accepted the create database request.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Databases" + ], + "description": "Updates a database.", + "operationId": "Databases_Update", + "x-ms-examples": { + "KustoDatabasesUpdate": { + "$ref": "./examples/KustoDatabasesUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Database" + }, + "description": "The database parameters supplied to the Update operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "201": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "202": { + "description": "Accepted the update database request.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Databases" + ], + "description": "Deletes the database with the given name.", + "operationId": "Databases_Delete", + "x-ms-examples": { + "KustoDatabasesDelete": { + "$ref": "./examples/KustoDatabasesDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$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}/checkPrincipalAssignmentNameAvailability": { + "post": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_CheckNameAvailability", + "x-ms-examples": { + "KustoDatabaseCheckNameAvailability": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json" + } + }, + "description": "Checks that the database principal assignment 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": "principalAssignmentName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignmentCheckNameRequest" + }, + "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}/databases/{databaseName}/principalAssignments/{principalAssignmentName}": { + "get": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_Get", + "x-ms-examples": { + "KustoDatabasePrincipalAssignmentsGet": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsGet.json" + } + }, + "description": "Gets a Kusto cluster database principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Kusto cluster database principal assignment object.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_CreateOrUpdate", + "x-ms-examples": { + "KustoDatabasePrincipalAssignmentsCreateOrUpdate": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates a Kusto cluster database principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + }, + "description": "The Kusto principalAssignments parameters supplied for the operation." + } + ], + "responses": { + "200": { + "description": "Successfully updated the PrincipalAssignments.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + } + }, + "201": { + "description": "Successfully created the principalAssignments.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_Delete", + "x-ms-examples": { + "KustoDatabasePrincipalAssignmentsDelete": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes a Kusto principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- principalAssignments deleted successfully." + }, + "202": { + "description": "Accepted the delete principalAssignments request." + }, + "204": { + "description": "NoContent -- principalAssignments does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments": { + "get": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_List", + "x-ms-examples": { + "KustoPrincipalAssignmentsList": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsList.json" + } + }, + "description": "Lists all Kusto cluster database principalAssignments.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignmentListResult" + } + }, + "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}/listPrincipals": { + "post": { + "tags": [ + "Databases" + ], + "description": "Returns a list of database principals of the given Kusto cluster and database.", + "operationId": "Databases_ListPrincipals", + "x-ms-examples": { + "KustoDatabaseListPrincipals": { + "$ref": "./examples/KustoDatabaseListPrincipals.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 database principals.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalListResult" + } + }, + "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}/addPrincipals": { + "post": { + "tags": [ + "Databases" + ], + "operationId": "Databases_AddPrincipals", + "x-ms-examples": { + "KustoDatabaseAddPrincipals": { + "$ref": "./examples/KustoDatabaseAddPrincipals.json" + } + }, + "description": "Add Database principals permissions.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "databasePrincipalsToAdd", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabasePrincipalListRequest" + }, + "description": "List of database principals to add." + } + ], + "responses": { + "200": { + "description": "OK -- Successfully added 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}/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/KustoDataConnectionValidation.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": "dataConnectionName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnectionCheckNameRequest" + }, + "description": "The name of the data connection." + } + ], + "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}/databases/{databaseName}/dataConnections/{dataConnectionName}": { + "get": { + "tags": [ + "DataConnections" + ], + "description": "Returns a data connection.", + "operationId": "DataConnections_Get", + "x-ms-examples": { + "KustoDataConnectionsGet": { + "$ref": "./examples/KustoDataConnectionsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/DataConnectionNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified data connection.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "DataConnections" + ], + "description": "Creates or updates a data connection.", + "operationId": "DataConnections_CreateOrUpdate", + "x-ms-examples": { + "KustoDataConnectionsCreateOrUpdate": { + "$ref": "./examples/KustoDataConnectionsCreateOrUpdate.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 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/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of language extensions.", + "schema": { + "$ref": "#/definitions/LanguageExtensionsList" + } + }, + "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}/addLanguageExtensions": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Add a list of language extensions that can run within KQL queries.", + "operationId": "Clusters_AddLanguageExtensions", + "x-ms-examples": { + "KustoClusterAddLanguageExtensions": { + "$ref": "./examples/KustoClusterAddLanguageExtensions.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "languageExtensionsToAdd", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LanguageExtensionsList" + }, + "description": "The language extensions to add." + } + ], + "responses": { + "200": { + "description": "OK." + }, + "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}/removeLanguageExtensions": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Remove a list of language extensions that can run within KQL queries.", + "operationId": "Clusters_RemoveLanguageExtensions", + "x-ms-examples": { + "KustoClusterRemoveLanguageExtensions": { + "$ref": "./examples/KustoClusterRemoveLanguageExtensions.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "languageExtensionsToRemove", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LanguageExtensionsList" + }, + "description": "The language extensions to remove." + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ClusterProperties": { + "properties": { + "state": { + "type": "string", + "readOnly": true, + "description": "The state of the resource.", + "enum": [ + "Creating", + "Unavailable", + "Running", + "Deleting", + "Deleted", + "Stopping", + "Stopped", + "Starting", + "Updating" + ], + "x-ms-enum": { + "name": "State", + "modelAsString": true + } + }, + "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 + } + }, + "uri": { + "type": "string", + "readOnly": true, + "description": "The cluster URI." + }, + "dataIngestionUri": { + "type": "string", + "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": { + "$ref": "#/definitions/TrustedExternalTenant" + }, + "description": "The cluster's external tenants." + }, + "optimizedAutoscale": { + "type": "object", + "$ref": "#/definitions/OptimizedAutoscale", + "description": "Optimized auto scale definition." + }, + "enableDiskEncryption": { + "description": "A boolean value that indicates if the cluster's disks are encrypted.", + "type": "boolean" + }, + "enableStreamingIngest": { + "description": "A boolean value that indicates if the streaming ingest is enabled.", + "default": false, + "type": "boolean" + }, + "virtualNetworkConfiguration": { + "type": "object", + "$ref": "#/definitions/VirtualNetworkConfiguration", + "description": "Virtual network definition." + }, + "keyVaultProperties": { + "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" + } + }, + "description": "Class representing the Kusto cluster properties." + }, + "TrustedExternalTenant": { + "properties": { + "value": { + "type": "string", + "description": "GUID representing an external tenant." + } + }, + "description": "Represents a tenant ID that is trusted by the cluster." + }, + "AzureResourceSku": { + "properties": { + "resourceType": { + "type": "string", + "description": "Resource Namespace and Type." + }, + "sku": { + "$ref": "#/definitions/AzureSku", + "description": "The SKU details." + }, + "capacity": { + "$ref": "#/definitions/AzureCapacity", + "description": "The number of instances of the cluster." + } + }, + "description": "Azure resource SKU definition." + }, + "AzureCapacity": { + "type": "object", + "required": [ + "minimum", + "maximum", + "default", + "scaleType" + ], + "properties": { + "scaleType": { + "description": "Scale type.", + "type": "string", + "enum": [ + "automatic", + "manual", + "none" + ], + "x-ms-enum": { + "name": "AzureScaleType", + "modelAsString": true + } + }, + "minimum": { + "description": "Minimum allowed capacity.", + "type": "integer", + "format": "int32" + }, + "maximum": { + "description": "Maximum allowed capacity.", + "type": "integer", + "format": "int32" + }, + "default": { + "description": "The default capacity that would be used.", + "type": "integer", + "format": "int32" + } + }, + "description": "Azure capacity definition." + }, + "SkuDescriptionList": { + "description": "The list of the EngagementFabric SKU descriptions", + "type": "object", + "properties": { + "value": { + "description": "SKU descriptions", + "type": "array", + "items": { + "$ref": "#/definitions/SkuDescription" + }, + "readOnly": true + } + } + }, + "SkuDescription": { + "description": "The Kusto SKU description of given resource type", + "type": "object", + "properties": { + "resourceType": { + "description": "The resource type", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the SKU", + "type": "string", + "readOnly": true + }, + "tier": { + "description": "The tier of the SKU", + "type": "string", + "readOnly": true + }, + "locations": { + "description": "The set of locations that the SKU is available", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "locationInfo": { + "description": "Locations and zones", + "type": "array", + "items": { + "$ref": "#/definitions/SkuLocationInfoItem" + }, + "readOnly": true + }, + "restrictions": { + "description": "The restrictions because of which SKU cannot be used", + "type": "array", + "items": { + "type": "object" + }, + "readOnly": true + } + } + }, + "SkuLocationInfoItem": { + "description": "The locations and zones info for SKU.", + "type": "object", + "required": [ + "location" + ], + "properties": { + "location": { + "description": "The available location of the SKU.", + "type": "string" + }, + "zones": { + "description": "The available zone of the SKU.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AzureSku": { + "type": "object", + "required": [ + "name", + "tier" + ], + "properties": { + "name": { + "description": "SKU name.", + "type": "string", + "enum": [ + "Standard_DS13_v2+1TB_PS", + "Standard_DS13_v2+2TB_PS", + "Standard_DS14_v2+3TB_PS", + "Standard_DS14_v2+4TB_PS", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_L8s", + "Standard_L16s", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_L4s", + "Dev(No SLA)_Standard_D11_v2", + "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", + "modelAsString": true + } + }, + "capacity": { + "description": "The number of instances of the cluster.", + "type": "integer", + "format": "int32" + }, + "tier": { + "description": "SKU tier.", + "type": "string", + "enum": [ + "Basic", + "Standard" + ], + "x-ms-enum": { + "name": "AzureSkuTier", + "modelAsString": true + } + } + }, + "description": "Azure SKU definition." + }, + "Zones": { + "description": "An array represents the availability zones of the cluster.", + "type": "array", + "items": { + "type": "string" + } + }, + "OptimizedAutoscale": { + "type": "object", + "required": [ + "version", + "isEnabled", + "minimum", + "maximum" + ], + "properties": { + "version": { + "description": "The version of the template defined, for instance 1.", + "type": "integer", + "format": "int32" + }, + "isEnabled": { + "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not.", + "type": "boolean" + }, + "minimum": { + "description": "Minimum allowed instances count.", + "type": "integer", + "format": "int32" + }, + "maximum": { + "description": "Maximum allowed instances count.", + "type": "integer", + "format": "int32" + } + }, + "description": "A class that contains the optimized auto scale definition." + }, + "VirtualNetworkConfiguration": { + "type": "object", + "required": [ + "subnetId", + "enginePublicIpId", + "dataManagementPublicIpId" + ], + "properties": { + "subnetId": { + "description": "The subnet resource id.", + "type": "string" + }, + "enginePublicIpId": { + "description": "Engine service's public IP address resource id.", + "type": "string" + }, + "dataManagementPublicIpId": { + "description": "Data management's service public IP address resource id.", + "type": "string" + } + }, + "description": "A class that contains virtual network definition." + }, + "DatabaseStatistics": { + "type": "object", + "readOnly": true, + "properties": { + "size": { + "type": "number", + "description": "The database size - the total size of compressed data and index in bytes." + } + }, + "description": "A class that contains database statistics information." + }, + "AttachedDatabaseConfigurationProperties": { + "properties": { + "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 + } + }, + "databaseName": { + "type": "string", + "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." + }, + "clusterResourceId": { + "type": "string", + "description": "The resource id of the cluster where the databases you would like to attach reside." + }, + "attachedDatabaseNames": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "The list of databases from the clusterResourceId which are currently attached to the cluster." + }, + "defaultPrincipalsModificationKind": { + "type": "string", + "enum": [ + "Union", + "Replace", + "None" + ], + "x-ms-enum": { + "name": "DefaultPrincipalsModificationKind", + "modelAsString": true + }, + "description": "The default principals modification kind" + } + }, + "description": "Class representing the an attached database configuration properties of kind specific.", + "required": [ + "databaseName", + "clusterResourceId", + "defaultPrincipalsModificationKind" + ] + }, + "ReadWriteDatabaseProperties": { + "properties": { + "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 + } + }, + "softDeletePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + }, + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + }, + "statistics": { + "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, + "description": "The statistics of the database." + }, + "isFollowed": { + "type": "boolean", + "readOnly": true, + "description": "Indicates whether the database is followed." + } + }, + "description": "Class representing the Kusto database properties." + }, + "ReadOnlyFollowingDatabaseProperties": { + "properties": { + "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 + } + }, + "softDeletePeriod": { + "type": "string", + "readOnly": true, + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + }, + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + }, + "statistics": { + "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, + "description": "The statistics of the database." + }, + "leaderClusterResourceId": { + "type": "string", + "readOnly": true, + "description": "The name of the leader cluster" + }, + "attachedDatabaseConfigurationName": { + "type": "string", + "readOnly": true, + "description": "The name of the attached database configuration cluster" + }, + "principalsModificationKind": { + "type": "string", + "readOnly": true, + "enum": [ + "Union", + "Replace", + "None" + ], + "x-ms-enum": { + "name": "PrincipalsModificationKind", + "modelAsString": true + }, + "description": "The principals modification kind of the database" + } + }, + "description": "Class representing the Kusto database properties." + }, + "EventHubConnectionProperties": { + "properties": { + "eventHubResourceId": { + "type": "string", + "description": "The resource ID of the event hub to be used to create a data connection." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "dataFormat": { + "$ref": "#/definitions/EventHubDataFormat", + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventSystemProperties": { + "type": "array", + "items": { + "type": "string" + }, + "description": "System properties of the event hub" + }, + "compression": { + "$ref": "#/definitions/Compression", + "description": "The event hub messages compression type" + } + }, + "required": [ + "eventHubResourceId", + "consumerGroup" + ], + "description": "Class representing the Kusto event hub connection properties." + }, + "IotHubConnectionProperties": { + "properties": { + "iotHubResourceId": { + "type": "string", + "description": "The resource ID of the Iot hub to be used to create a data connection." + }, + "consumerGroup": { + "type": "string", + "description": "The iot hub consumer group." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "dataFormat": { + "$ref": "#/definitions/IotHubDataFormat", + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventSystemProperties": { + "type": "array", + "items": { + "type": "string" + }, + "description": "System properties of the iot hub" + }, + "sharedAccessPolicyName": { + "type": "string", + "description": "The name of the share access policy" + } + }, + "required": [ + "iotHubResourceId", + "consumerGroup", + "sharedAccessPolicyName" + ], + "description": "Class representing the Kusto Iot hub connection properties." + }, + "EventHubDataFormat": { + "description": "The data format of the message. Optionally the data format can be added to each message.", + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ], + "x-ms-enum": { + "name": "eventHubDataFormat", + "modelAsString": true + } + }, + "IotHubDataFormat": { + "description": "The data format of the message. Optionally the data format can be added to each message.", + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ], + "x-ms-enum": { + "name": "iotHubDataFormat", + "modelAsString": true + } + }, + "EventGridDataFormat": { + "description": "The data format of the message. Optionally the data format can be added to each message.", + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "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", + "enum": [ + "None", + "GZip" + ], + "x-ms-enum": { + "name": "compression", + "modelAsString": true + } + }, + "EventGridConnectionProperties": { + "properties": { + "storageAccountResourceId": { + "type": "string", + "description": "The resource ID of the storage account where the data resides." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID where the event grid is configured to send events." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "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." + } + }, + "required": [ + "storageAccountResourceId", + "eventHubResourceId", + "consumerGroup" + ], + "description": "Class representing the Kusto event grid connection properties." + }, + "Cluster": { + "required": [ + "sku" + ], + "properties": { + "sku": { + "$ref": "#/definitions/AzureSku", + "description": "The SKU of the cluster." + }, + "zones": { + "$ref": "#/definitions/Zones", + "description": "The availability zones of the cluster." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the cluster, if configured." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterProperties", + "description": "The cluster properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Class representing a Kusto cluster." + }, + "ClusterUpdate": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "sku": { + "$ref": "#/definitions/AzureSku", + "description": "The SKU of the cluster." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the cluster, if configured." + }, + "properties": { + "x-ms-client-flatten": true, + "description": "The cluster properties.", + "$ref": "#/definitions/ClusterProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "Class representing an update to a Kusto cluster." + }, + "AttachedDatabaseConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + }, + "description": "The list of attached database configurations." + } + }, + "description": "The list attached database configurations operation response." + }, + "AttachedDatabaseConfiguration": { + "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of the attached database configuration.", + "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing an attached database configuration." + }, + "Database": { + "required": [ + "kind" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "kind": { + "description": "Kind of the database", + "enum": [ + "ReadWrite", + "ReadOnlyFollowing" + ], + "type": "string", + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing a Kusto database.", + "discriminator": "kind" + }, + "ReadWriteDatabase": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The database properties.", + "$ref": "#/definitions/ReadWriteDatabaseProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Database" + } + ], + "description": "Class representing a read write database.", + "x-ms-discriminator-value": "ReadWrite" + }, + "ReadOnlyFollowingDatabase": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The database properties.", + "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Database" + } + ], + "description": "Class representing a read only following database.", + "x-ms-discriminator-value": "ReadOnlyFollowing" + }, + "DatabasePrincipal": { + "type": "object", + "required": [ + "name", + "role", + "type" + ], + "properties": { + "role": { + "description": "Database principal role.", + "type": "string", + "enum": [ + "Admin", + "Ingestor", + "Monitor", + "User", + "UnrestrictedViewers", + "Viewer" + ], + "x-ms-enum": { + "name": "DatabasePrincipalRole", + "modelAsString": true + } + }, + "name": { + "description": "Database principal name.", + "type": "string" + }, + "type": { + "description": "Database principal type.", + "type": "string", + "enum": [ + "App", + "Group", + "User" + ], + "x-ms-enum": { + "name": "DatabasePrincipalType", + "modelAsString": true + } + }, + "fqn": { + "description": "Database principal fully qualified name.", + "type": "string" + }, + "email": { + "description": "Database principal email if exists.", + "type": "string" + }, + "appId": { + "description": "Application id - relevant only for application principal type.", + "type": "string" + }, + "tenantName": { + "type": "string", + "readOnly": true, + "description": "The tenant name of the principal" + } + }, + "description": "A class representing database principal entity." + }, + "DatabasePrincipalProperties": { + "type": "object", + "required": [ + "principalId", + "role", + "principalType" + ], + "properties": { + "principalId": { + "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.", + "type": "string" + }, + "role": { + "description": "Database principal role.", + "type": "string", + "enum": [ + "Admin", + "Ingestor", + "Monitor", + "User", + "UnrestrictedViewers", + "Viewer" + ], + "x-ms-enum": { + "name": "DatabasePrincipalRole", + "modelAsString": true + } + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + }, + "principalType": { + "description": "Principal type.", + "type": "string", + "enum": [ + "App", + "Group", + "User" + ], + "x-ms-enum": { + "name": "PrincipalType", + "modelAsString": true + } + }, + "tenantName": { + "type": "string", + "readOnly": true, + "description": "The tenant name of the principal" + }, + "principalName": { + "type": "string", + "readOnly": true, + "description": "The principal name" + }, + "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 + } + } + }, + "description": "A class representing database principal property." + }, + "ClusterPrincipalProperties": { + "type": "object", + "required": [ + "principalId", + "role", + "principalType" + ], + "properties": { + "principalId": { + "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.", + "type": "string" + }, + "role": { + "description": "Cluster principal role.", + "type": "string", + "enum": [ + "AllDatabasesAdmin", + "AllDatabasesViewer" + ], + "x-ms-enum": { + "name": "ClusterPrincipalRole", + "modelAsString": true + } + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + }, + "principalType": { + "description": "Principal type.", + "type": "string", + "enum": [ + "App", + "Group", + "User" + ], + "x-ms-enum": { + "name": "PrincipalType", + "modelAsString": true + } + }, + "tenantName": { + "type": "string", + "readOnly": true, + "description": "The tenant name of the principal" + }, + "principalName": { + "type": "string", + "readOnly": true, + "description": "The principal name" + }, + "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 + } + } + }, + "description": "A class representing cluster principal property." + }, + "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." + }, + "ClusterListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Cluster" + }, + "description": "The list of Kusto clusters." + } + }, + "description": "The list Kusto clusters operation response." + }, + "DatabaseListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Database" + }, + "description": "The list of Kusto databases." + } + }, + "description": "The list Kusto databases operation response." + }, + "DatabasePrincipalAssignmentListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + }, + "description": "The list of Kusto database principal assignments." + } + }, + "description": "The list Kusto database principal assignments operation response." + }, + "ClusterPrincipalAssignmentListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + }, + "description": "The list of Kusto cluster principal assignments." + } + }, + "description": "The list Kusto cluster principal assignments operation response." + }, + "DatabasePrincipalListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabasePrincipal" + }, + "description": "The list of Kusto database principals." + } + }, + "description": "The list Kusto database principals operation response." + }, + "FollowerDatabaseListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FollowerDatabaseDefinition" + }, + "description": "The list of follower database result." + } + }, + "description": "The list Kusto database principals operation response." + }, + "DataConnection": { + "required": [ + "kind" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "kind": { + "description": "Kind of the endpoint for the data connection", + "enum": [ + "EventHub", + "EventGrid", + "IotHub" + ], + "type": "string", + "x-ms-enum": { + "name": "DataConnectionKind", + "modelAsString": true + } + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing an data connection.", + "discriminator": "kind" + }, + "DataConnectionValidationResult": { + "type": "object", + "properties": { + "errorMessage": { + "type": "string", + "description": "A message which indicates a problem in data connection validation." + } + }, + "description": "The result returned from a data connection validation request." + }, + "DatabasePrincipalListRequest": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabasePrincipal" + }, + "description": "The list of Kusto database principals." + } + }, + "description": "The list Kusto database principals operation request." + }, + "FollowerDatabaseDefinition": { + "type": "object", + "required": [ + "clusterResourceId", + "attachedDatabaseConfigurationName" + ], + "properties": { + "clusterResourceId": { + "type": "string", + "description": "Resource id of the cluster that follows a database owned by this cluster." + }, + "attachedDatabaseConfigurationName": { + "type": "string", + "description": "Resource name of the attached database configuration in the follower cluster." + }, + "databaseName": { + "type": "string", + "readOnly": true, + "description": "The database name owned by this cluster that was followed. * in case following all databases." + } + }, + "description": "A class representing follower database request." + }, + "DiagnoseVirtualNetworkResult": { + "properties": { + "findings": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of network connectivity diagnostic finding" + } + } + }, + "DataConnectionValidation": { + "properties": { + "dataConnectionName": { + "type": "string", + "description": "The name of the data connection." + }, + "properties": { + "$ref": "#/definitions/DataConnection", + "description": "The data connection properties to validate." + } + }, + "description": "Class representing an data connection validation." + }, + "EventHubDataConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The Event Hub data connection properties to validate.", + "$ref": "#/definitions/EventHubConnectionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataConnection" + } + ], + "description": "Class representing an event hub data connection.", + "x-ms-discriminator-value": "EventHub" + }, + "IotHubDataConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The Iot Hub data connection properties.", + "$ref": "#/definitions/IotHubConnectionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataConnection" + } + ], + "description": "Class representing an iot hub data connection.", + "x-ms-discriminator-value": "IotHub" + }, + "EventGridDataConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of the Event Grid data connection.", + "$ref": "#/definitions/EventGridConnectionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataConnection" + } + ], + "description": "Class representing an Event Grid data connection.", + "x-ms-discriminator-value": "EventGrid" + }, + "DataConnectionValidationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DataConnectionValidationResult" + }, + "description": "The list of Kusto data connection validation errors." + } + }, + "description": "The list Kusto data connection validation result." + }, + "DataConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DataConnection" + }, + "description": "The list of Kusto data connections." + } + }, + "description": "The list Kusto data connections operation response." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "An error response from Kusto." + } + }, + "description": "An error response from Kusto." + }, + "ClusterCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Cluster name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters" + ], + "x-ms-enum": { + "name": "ClusterType", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Kusto/clusters." + } + }, + "required": [ + "name", + "type" + ], + "description": "The result returned from a cluster check name availability request." + }, + "CheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Resource name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases", + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false + }, + "description": "The type of resource, for instance Microsoft.Kusto/clusters/databases." + } + }, + "required": [ + "name", + "type" + ], + "description": "The result returned from a database check name availability request." + }, + "ClusterPrincipalAssignmentCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Principal Assignment resource name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/principalAssignments" + ], + "x-ms-enum": { + "name": "PrincipalAssignmentType", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Kusto/clusters/principalAssignments." + } + }, + "required": [ + "name", + "type" + ], + "description": "A principal assignment check name availability request." + }, + "DataConnectionCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Data Connection name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/dataConnections" + ], + "x-ms-enum": { + "name": "DataConnectionType", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Kusto/clusters/databases/dataConnections." + } + }, + "required": [ + "name", + "type" + ], + "description": "A data connection check name availability request." + }, + "DatabasePrincipalAssignmentCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Principal Assignment resource name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/principalAssignments" + ], + "x-ms-enum": { + "name": "DatabasePrincipalAssignmentType", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Kusto/clusters/databases/principalAssignments." + } + }, + "required": [ + "name", + "type" + ], + "description": "A principal assignment check name availability request." + }, + "CheckNameResult": { + "type": "object", + "properties": { + "nameAvailable": { + "type": "boolean", + "description": "Specifies a Boolean value that indicates if the name is available." + }, + "name": { + "type": "string", + "description": "The name that was checked." + }, + "message": { + "type": "string", + "description": "Message indicating an unavailable name due to a conflict, or a description of the naming rules that are violated." + }, + "reason": { + "type": "string", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "reason", + "modelAsString": true + }, + "description": "Message providing the reason why the given name is invalid." + } + }, + "description": "The result returned from a check name availability request." + }, + "ListResourceSkusResult": { + "description": "List of available SKUs for a Kusto Cluster.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureResourceSku" + }, + "description": "The collection of available SKUs for an existing resource." + } + } + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for displaying in a user interface." + }, + "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": "A list of additional details about the error." + } + }, + "description": "An error response from Kusto." + }, + "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.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "title": "The list of operations supported by the resource provider." + }, + "nextLink": { + "type": "string", + "title": "The URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "title": "A REST API operation", + "type": "object", + "properties": { + "name": { + "title": "The operation name.", + "description": "This is of the format {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "title": "The object that describes the operation.", + "properties": { + "provider": { + "title": "Friendly name of the resource provider.", + "type": "string" + }, + "operation": { + "title": "The operation type.", + "description": "For example: read, write, delete.", + "type": "string" + }, + "resource": { + "title": "The resource type on which the operation is performed.", + "type": "string" + }, + "description": { + "title": "The friendly name of the operation.", + "type": "string" + } + } + }, + "origin": { + "title": "The intended executor of the operation.", + "type": "string" + }, + "properties": { + "title": "Properties of the operation.", + "type": "object", + "x-ms-client-flatten": true + } + } + }, + "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" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "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." + } + } + }, + "description": "The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "KeyVaultProperties": { + "description": "Properties of the key vault.", + "required": [ + "keyName", + "keyVersion", + "keyVaultUri" + ], + "properties": { + "keyName": { + "type": "string", + "description": "The name of the key vault key.", + "x-ms-client-name": "KeyName" + }, + "keyVersion": { + "type": "string", + "description": "The version of the key vault key.", + "x-ms-client-name": "KeyVersion" + }, + "keyVaultUri": { + "type": "string", + "description": "The Uri of the key vault.", + "x-ms-client-name": "KeyVaultUri" + } + } + }, + "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." + } + }, + "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." + }, + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "description": "The name of the Kusto cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "AttachedDatabaseConfigurationNameParameter": { + "name": "attachedDatabaseConfigurationName", + "in": "path", + "description": "The name of the attached database configuration.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group containing the Kusto cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database in the Kusto cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DataConnectionNameParameter": { + "name": "dataConnectionName", + "in": "path", + "description": "The name of the data connection.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "PrincipalAssignmentNameParameter": { + "name": "principalAssignmentName", + "in": "path", + "description": "The name of the Kusto principalAssignment.", + "required": true, + "type": "string", + "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" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/kusto.json index b04f982f0256..fd38e3ab9c4b 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/kusto.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/kusto.json @@ -1,4258 +1,4269 @@ -{ - "swagger": "2.0", - "info": { - "title": "KustoManagementClient", - "version": "2020-09-18" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}": { - "get": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_Get", - "x-ms-examples": { - "KustoClustersGet": { - "$ref": "./examples/KustoClustersGet.json" - } - }, - "description": "Gets a Kusto cluster.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The Kusto cluster.", - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_CreateOrUpdate", - "x-ms-examples": { - "KustoClustersCreateOrUpdate": { - "$ref": "./examples/KustoClustersCreateOrUpdate.json" - } - }, - "x-ms-long-running-operation": true, - "description": "Create or update a Kusto cluster.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Cluster" - }, - "description": "The Kusto cluster parameters supplied to the CreateOrUpdate operation." - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully updated the Cluster.", - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - "201": { - "description": "Successfully created the cluster.", - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "patch": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_Update", - "x-ms-examples": { - "KustoClustersUpdate": { - "$ref": "./examples/KustoClustersUpdate.json" - } - }, - "x-ms-long-running-operation": true, - "description": "Update a Kusto cluster.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ClusterUpdate" - }, - "description": "The Kusto cluster parameters supplied to the Update operation." - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully updated the Cluster.", - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - "201": { - "description": "Successfully updated the cluster.", - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - "202": { - "description": "Successfully updated the cluster.", - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "delete": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_Delete", - "x-ms-examples": { - "KustoClustersDelete": { - "$ref": "./examples/KustoClustersDelete.json" - } - }, - "x-ms-long-running-operation": true, - "description": "Deletes a Kusto cluster.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK -- cluster deleted successfully." - }, - "202": { - "description": "Accepted the delete cluster request." - }, - "204": { - "description": "NoContent -- cluster does not exist in the subscription." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop": { - "post": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_Stop", - "x-ms-examples": { - "KustoClustersStop": { - "$ref": "./examples/KustoClustersStop.json" - } - }, - "x-ms-long-running-operation": true, - "description": "Stops a Kusto cluster.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK." - }, - "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}/start": { - "post": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_Start", - "x-ms-examples": { - "KustoClustersStart": { - "$ref": "./examples/KustoClustersStart.json" - } - }, - "x-ms-long-running-operation": true, - "description": "Starts a Kusto cluster.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK." - }, - "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}/checkPrincipalAssignmentNameAvailability": { - "post": { - "tags": [ - "ClusterPrincipalAssignments" - ], - "operationId": "ClusterPrincipalAssignments_CheckNameAvailability", - "x-ms-examples": { - "KustoClusterPrincipalAssignmentsCheckNameAvailability": { - "$ref": "./examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json" - } - }, - "description": "Checks that the principal assignment name is valid and is not already in use.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "name": "principalAssignmentName", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ClusterPrincipalAssignmentCheckNameRequest" - }, - "description": "The name of the principal assignment." - } - ], - "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}/principalAssignments/{principalAssignmentName}": { - "get": { - "tags": [ - "ClusterPrincipalAssignments" - ], - "operationId": "ClusterPrincipalAssignments_Get", - "x-ms-examples": { - "KustoClusterPrincipalAssignmentsGet": { - "$ref": "./examples/KustoClusterPrincipalAssignmentsGet.json" - } - }, - "description": "Gets a Kusto cluster principalAssignment.", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/PrincipalAssignmentNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The Kusto cluster principal assignment object.", - "schema": { - "$ref": "#/definitions/ClusterPrincipalAssignment" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "tags": [ - "ClusterPrincipalAssignments" - ], - "operationId": "ClusterPrincipalAssignments_CreateOrUpdate", - "x-ms-examples": { - "KustoClusterPrincipalAssignmentsCreateOrUpdate": { - "$ref": "./examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json" - } - }, - "x-ms-long-running-operation": true, - "description": "Create a Kusto cluster principalAssignment.", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/PrincipalAssignmentNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ClusterPrincipalAssignment" - }, - "description": "The Kusto cluster principalAssignment's parameters supplied for the operation." - } - ], - "responses": { - "200": { - "description": "Successfully updated the PrincipalAssignment.", - "schema": { - "$ref": "#/definitions/ClusterPrincipalAssignment" - } - }, - "201": { - "description": "Successfully created the principalAssignment.", - "schema": { - "$ref": "#/definitions/ClusterPrincipalAssignment" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "delete": { - "tags": [ - "ClusterPrincipalAssignments" - ], - "operationId": "ClusterPrincipalAssignments_Delete", - "x-ms-examples": { - "KustoClusterPrincipalAssignmentsDelete": { - "$ref": "./examples/KustoClusterPrincipalAssignmentsDelete.json" - } - }, - "x-ms-long-running-operation": true, - "description": "Deletes a Kusto cluster principalAssignment.", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/PrincipalAssignmentNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK -- principalAssignments deleted successfully." - }, - "202": { - "description": "Accepted the delete principalAssignments request." - }, - "204": { - "description": "NoContent -- principalAssignments does not exist in the subscription." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments": { - "get": { - "tags": [ - "ClusterPrincipalAssignments" - ], - "operationId": "ClusterPrincipalAssignments_List", - "x-ms-examples": { - "KustoPrincipalAssignmentsList": { - "$ref": "./examples/KustoClusterPrincipalAssignmentsList.json" - } - }, - "description": "Lists all Kusto cluster principalAssignments.", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/ClusterPrincipalAssignmentListResult" - } - }, - "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}/listFollowerDatabases": { - "post": { - "tags": [ - "Clusters" - ], - "description": "Returns a list of databases that are owned by this cluster and were followed by another cluster.", - "operationId": "Clusters_ListFollowerDatabases", - "x-ms-examples": { - "KustoClusterListFollowerDatabases": { - "$ref": "./examples/KustoClusterListFollowerDatabases.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the list of followed databases.", - "schema": { - "$ref": "#/definitions/FollowerDatabaseListResult" - } - }, - "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}/detachFollowerDatabases": { - "post": { - "tags": [ - "Clusters" - ], - "description": "Detaches all followers of a database owned by this cluster.", - "operationId": "Clusters_DetachFollowerDatabases", - "x-ms-examples": { - "KustoClusterDetachFollowerDatabases": { - "$ref": "./examples/KustoClusterDetachFollowerDatabases.json" - } - }, - "x-ms-long-running-operation": true, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "followerDatabaseToRemove", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/FollowerDatabaseDefinition" - }, - "description": "The follower databases properties to remove." - } - ], - "responses": { - "200": { - "description": "OK." - }, - "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}/diagnoseVirtualNetwork": { - "post": { - "tags": [ - "Clusters" - ], - "description": "Diagnoses network connectivity status for external resources on which the service is dependent on.", - "operationId": "Clusters_DiagnoseVirtualNetwork", - "x-ms-examples": { - "KustoClusterDiagnoseVirtualNetwork": { - "$ref": "./examples/KustoClustersDiagnoseVirtualNetwork.json" - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/DiagnoseVirtualNetworkResult" - } - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters": { - "get": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_ListByResourceGroup", - "x-ms-examples": { - "KustoClustersListByResourceGroup": { - "$ref": "./examples/KustoClustersListByResourceGroup.json" - } - }, - "description": "Lists all Kusto clusters within a resource group.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/ClusterListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/clusters": { - "get": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_List", - "x-ms-examples": { - "KustoClustersList": { - "$ref": "./examples/KustoClustersList.json" - } - }, - "description": "Lists all Kusto clusters within a subscription.", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/ClusterListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/skus": { - "get": { - "description": "Lists eligible SKUs for Kusto resource provider.", - "x-ms-examples": { - "KustoClustersListSkus": { - "$ref": "./examples/KustoClustersListSkus.json" - } - }, - "operationId": "Clusters_ListSkus", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/SkuDescriptionList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/checkNameAvailability": { - "post": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_CheckNameAvailability", - "x-ms-examples": { - "KustoClustersCheckNameAvailability": { - "$ref": "./examples/KustoClustersCheckNameAvailability.json" - } - }, - "description": "Checks that the cluster name is valid and is not already in use.", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "name": "location", - "in": "path", - "description": "Azure location.", - "required": true, - "type": "string" - }, - { - "name": "clusterName", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ClusterCheckNameRequest" - }, - "description": "The name of the cluster." - } - ], - "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}/checkNameAvailability": { - "post": { - "tags": [ - "Databases" - ], - "operationId": "Databases_CheckNameAvailability", - "x-ms-examples": { - "KustoDatabaseCheckNameAvailability": { - "$ref": "./examples/KustoDatabasesCheckNameAvailability.json" - } - }, - "description": "Checks that the database 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/CheckNameRequest" - }, - "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": [ - "Clusters" - ], - "operationId": "Clusters_ListSkusByResource", - "x-ms-examples": { - "KustoClustersListResourceSkus": { - "$ref": "./examples/KustoClustersListResourceSkus.json" - } - }, - "description": "Returns the SKUs available for the provided resource.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/ListResourceSkusResult" - } - }, - "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": { - "get": { - "tags": [ - "Databases" - ], - "description": "Returns the list of databases of the given Kusto cluster.", - "operationId": "Databases_ListByCluster", - "x-ms-examples": { - "KustoDatabasesListByCluster": { - "$ref": "./examples/KustoDatabasesListByCluster.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the list of databases.", - "schema": { - "$ref": "#/definitions/DatabaseListResult" - } - }, - "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}": { - "get": { - "tags": [ - "Databases" - ], - "description": "Returns a database.", - "operationId": "Databases_Get", - "x-ms-examples": { - "KustoDatabasesGet": { - "$ref": "./examples/KustoDatabasesGet.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the specified database.", - "schema": { - "$ref": "#/definitions/Database" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "tags": [ - "Databases" - ], - "description": "Creates or updates a database.", - "operationId": "Databases_CreateOrUpdate", - "x-ms-examples": { - "KustoDatabasesCreateOrUpdate": { - "$ref": "./examples/KustoDatabasesCreateOrUpdate.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Database" - }, - "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/Database" - } - }, - "201": { - "description": "Successfully created the database.", - "schema": { - "$ref": "#/definitions/Database" - } - }, - "202": { - "description": "Accepted the create database request.", - "schema": { - "$ref": "#/definitions/Database" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-long-running-operation": true - }, - "patch": { - "tags": [ - "Databases" - ], - "description": "Updates a database.", - "operationId": "Databases_Update", - "x-ms-examples": { - "KustoDatabasesUpdate": { - "$ref": "./examples/KustoDatabasesUpdate.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Database" - }, - "description": "The database parameters supplied to the Update operation." - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully updated the database.", - "schema": { - "$ref": "#/definitions/Database" - } - }, - "201": { - "description": "Successfully updated the database.", - "schema": { - "$ref": "#/definitions/Database" - } - }, - "202": { - "description": "Accepted the update database request.", - "schema": { - "$ref": "#/definitions/Database" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-long-running-operation": true - }, - "delete": { - "tags": [ - "Databases" - ], - "description": "Deletes the database with the given name.", - "operationId": "Databases_Delete", - "x-ms-examples": { - "KustoDatabasesDelete": { - "$ref": "./examples/KustoDatabasesDelete.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "$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}/checkPrincipalAssignmentNameAvailability": { - "post": { - "tags": [ - "DatabasePrincipalAssignments" - ], - "operationId": "DatabasePrincipalAssignments_CheckNameAvailability", - "x-ms-examples": { - "KustoDatabaseCheckNameAvailability": { - "$ref": "./examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json" - } - }, - "description": "Checks that the database principal assignment 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": "principalAssignmentName", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/DatabasePrincipalAssignmentCheckNameRequest" - }, - "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}/databases/{databaseName}/principalAssignments/{principalAssignmentName}": { - "get": { - "tags": [ - "DatabasePrincipalAssignments" - ], - "operationId": "DatabasePrincipalAssignments_Get", - "x-ms-examples": { - "KustoDatabasePrincipalAssignmentsGet": { - "$ref": "./examples/KustoDatabasePrincipalAssignmentsGet.json" - } - }, - "description": "Gets a Kusto cluster database principalAssignment.", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "$ref": "#/parameters/PrincipalAssignmentNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The Kusto cluster database principal assignment object.", - "schema": { - "$ref": "#/definitions/DatabasePrincipalAssignment" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "tags": [ - "DatabasePrincipalAssignments" - ], - "operationId": "DatabasePrincipalAssignments_CreateOrUpdate", - "x-ms-examples": { - "KustoDatabasePrincipalAssignmentsCreateOrUpdate": { - "$ref": "./examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json" - } - }, - "x-ms-long-running-operation": true, - "description": "Creates a Kusto cluster database principalAssignment.", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "$ref": "#/parameters/PrincipalAssignmentNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/DatabasePrincipalAssignment" - }, - "description": "The Kusto principalAssignments parameters supplied for the operation." - } - ], - "responses": { - "200": { - "description": "Successfully updated the PrincipalAssignments.", - "schema": { - "$ref": "#/definitions/DatabasePrincipalAssignment" - } - }, - "201": { - "description": "Successfully created the principalAssignments.", - "schema": { - "$ref": "#/definitions/DatabasePrincipalAssignment" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "delete": { - "tags": [ - "DatabasePrincipalAssignments" - ], - "operationId": "DatabasePrincipalAssignments_Delete", - "x-ms-examples": { - "KustoDatabasePrincipalAssignmentsDelete": { - "$ref": "./examples/KustoDatabasePrincipalAssignmentsDelete.json" - } - }, - "x-ms-long-running-operation": true, - "description": "Deletes a Kusto principalAssignment.", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "$ref": "#/parameters/PrincipalAssignmentNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK -- principalAssignments deleted successfully." - }, - "202": { - "description": "Accepted the delete principalAssignments request." - }, - "204": { - "description": "NoContent -- principalAssignments does not exist in the subscription." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments": { - "get": { - "tags": [ - "DatabasePrincipalAssignments" - ], - "operationId": "DatabasePrincipalAssignments_List", - "x-ms-examples": { - "KustoPrincipalAssignmentsList": { - "$ref": "./examples/KustoDatabasePrincipalAssignmentsList.json" - } - }, - "description": "Lists all Kusto cluster database principalAssignments.", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/DatabasePrincipalAssignmentListResult" - } - }, - "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}/listPrincipals": { - "post": { - "tags": [ - "Databases" - ], - "description": "Returns a list of database principals of the given Kusto cluster and database.", - "operationId": "Databases_ListPrincipals", - "x-ms-examples": { - "KustoDatabaseListPrincipals": { - "$ref": "./examples/KustoDatabaseListPrincipals.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 database principals.", - "schema": { - "$ref": "#/definitions/DatabasePrincipalListResult" - } - }, - "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}/addPrincipals": { - "post": { - "tags": [ - "Databases" - ], - "operationId": "Databases_AddPrincipals", - "x-ms-examples": { - "KustoDatabaseAddPrincipals": { - "$ref": "./examples/KustoDatabaseAddPrincipals.json" - } - }, - "description": "Add Database principals permissions.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "databasePrincipalsToAdd", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/DatabasePrincipalListRequest" - }, - "description": "List of database principals to add." - } - ], - "responses": { - "200": { - "description": "OK -- Successfully added 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}/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": "dataConnectionName", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/DataConnectionCheckNameRequest" - }, - "description": "The name of the data connection." - } - ], - "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}/databases/{databaseName}/dataConnections/{dataConnectionName}": { - "get": { - "tags": [ - "DataConnections" - ], - "description": "Returns a data connection.", - "operationId": "DataConnections_Get", - "x-ms-examples": { - "KustoDataConnectionsGet": { - "$ref": "./examples/KustoDataConnectionsGet.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "$ref": "#/parameters/DataConnectionNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the specified data connection.", - "schema": { - "$ref": "#/definitions/DataConnection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "tags": [ - "DataConnections" - ], - "description": "Creates or updates a data connection.", - "operationId": "DataConnections_CreateOrUpdate", - "x-ms-examples": { - "KustoDataConnectionsCreateOrUpdate": { - "$ref": "./examples/KustoDataConnectionsCreateOrUpdate.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 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/ClusterNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the list of language extensions.", - "schema": { - "$ref": "#/definitions/LanguageExtensionsList" - } - }, - "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}/addLanguageExtensions": { - "post": { - "tags": [ - "Clusters" - ], - "description": "Add a list of language extensions that can run within KQL queries.", - "operationId": "Clusters_AddLanguageExtensions", - "x-ms-examples": { - "KustoClusterAddLanguageExtensions": { - "$ref": "./examples/KustoClusterAddLanguageExtensions.json" - } - }, - "x-ms-long-running-operation": true, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "languageExtensionsToAdd", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/LanguageExtensionsList" - }, - "description": "The language extensions to add." - } - ], - "responses": { - "200": { - "description": "OK." - }, - "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}/removeLanguageExtensions": { - "post": { - "tags": [ - "Clusters" - ], - "description": "Remove a list of language extensions that can run within KQL queries.", - "operationId": "Clusters_RemoveLanguageExtensions", - "x-ms-examples": { - "KustoClusterRemoveLanguageExtensions": { - "$ref": "./examples/KustoClusterRemoveLanguageExtensions.json" - } - }, - "x-ms-long-running-operation": true, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "languageExtensionsToRemove", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/LanguageExtensionsList" - }, - "description": "The language extensions to remove." - } - ], - "responses": { - "200": { - "description": "OK." - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - } - }, - "definitions": { - "ClusterProperties": { - "properties": { - "state": { - "type": "string", - "readOnly": true, - "description": "The state of the resource.", - "enum": [ - "Creating", - "Unavailable", - "Running", - "Deleting", - "Deleted", - "Stopping", - "Stopped", - "Starting", - "Updating" - ], - "x-ms-enum": { - "name": "State", - "modelAsString": true - } - }, - "provisioningState": { - "$ref": "#/definitions/ProvisioningState", - "description": "The provisioned state of the resource." - }, - "uri": { - "type": "string", - "readOnly": true, - "description": "The cluster URI." - }, - "dataIngestionUri": { - "type": "string", - "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": { - "$ref": "#/definitions/TrustedExternalTenant" - }, - "description": "The cluster's external tenants." - }, - "optimizedAutoscale": { - "type": "object", - "$ref": "#/definitions/OptimizedAutoscale", - "description": "Optimized auto scale definition." - }, - "enableDiskEncryption": { - "description": "A boolean value that indicates if the cluster's disks are encrypted.", - "type": "boolean" - }, - "enableStreamingIngest": { - "description": "A boolean value that indicates if the streaming ingest is enabled.", - "default": false, - "type": "boolean" - }, - "virtualNetworkConfiguration": { - "type": "object", - "$ref": "#/definitions/VirtualNetworkConfiguration", - "description": "Virtual network definition." - }, - "keyVaultProperties": { - "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" - }, - "engineType": { - "type": "string", - "description": "The engine type", - "enum": [ - "V2", - "V3" - ], - "x-ms-enum": { - "name": "EngineType", - "modelAsString": true - } - } - }, - "description": "Class representing the Kusto cluster properties." - }, - "TrustedExternalTenant": { - "properties": { - "value": { - "type": "string", - "description": "GUID representing an external tenant." - } - }, - "description": "Represents a tenant ID that is trusted by the cluster." - }, - "AzureResourceSku": { - "properties": { - "resourceType": { - "type": "string", - "description": "Resource Namespace and Type." - }, - "sku": { - "$ref": "#/definitions/AzureSku", - "description": "The SKU details." - }, - "capacity": { - "$ref": "#/definitions/AzureCapacity", - "description": "The number of instances of the cluster." - } - }, - "description": "Azure resource SKU definition." - }, - "AzureCapacity": { - "type": "object", - "required": [ - "minimum", - "maximum", - "default", - "scaleType" - ], - "properties": { - "scaleType": { - "description": "Scale type.", - "type": "string", - "enum": [ - "automatic", - "manual", - "none" - ], - "x-ms-enum": { - "name": "AzureScaleType", - "modelAsString": true - } - }, - "minimum": { - "description": "Minimum allowed capacity.", - "type": "integer", - "format": "int32" - }, - "maximum": { - "description": "Maximum allowed capacity.", - "type": "integer", - "format": "int32" - }, - "default": { - "description": "The default capacity that would be used.", - "type": "integer", - "format": "int32" - } - }, - "description": "Azure capacity definition." - }, - "SkuDescriptionList": { - "description": "The list of the EngagementFabric SKU descriptions", - "type": "object", - "properties": { - "value": { - "description": "SKU descriptions", - "type": "array", - "items": { - "$ref": "#/definitions/SkuDescription" - }, - "readOnly": true - } - } - }, - "SkuDescription": { - "description": "The Kusto SKU description of given resource type", - "type": "object", - "properties": { - "resourceType": { - "description": "The resource type", - "type": "string", - "readOnly": true - }, - "name": { - "description": "The name of the SKU", - "type": "string", - "readOnly": true - }, - "tier": { - "description": "The tier of the SKU", - "type": "string", - "readOnly": true - }, - "locations": { - "description": "The set of locations that the SKU is available", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - }, - "locationInfo": { - "description": "Locations and zones", - "type": "array", - "items": { - "$ref": "#/definitions/SkuLocationInfoItem" - }, - "readOnly": true - }, - "restrictions": { - "description": "The restrictions because of which SKU cannot be used", - "type": "array", - "items": { - "type": "object" - }, - "readOnly": true - } - } - }, - "SkuLocationInfoItem": { - "description": "The locations and zones info for SKU.", - "type": "object", - "required": [ - "location" - ], - "properties": { - "location": { - "description": "The available location of the SKU.", - "type": "string" - }, - "zones": { - "description": "The available zone of the SKU.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "AzureSku": { - "type": "object", - "required": [ - "name", - "tier" - ], - "properties": { - "name": { - "description": "SKU name.", - "type": "string", - "enum": [ - "Standard_DS13_v2+1TB_PS", - "Standard_DS13_v2+2TB_PS", - "Standard_DS14_v2+3TB_PS", - "Standard_DS14_v2+4TB_PS", - "Standard_D13_v2", - "Standard_D14_v2", - "Standard_L8s", - "Standard_L16s", - "Standard_D11_v2", - "Standard_D12_v2", - "Standard_L4s", - "Dev(No SLA)_Standard_D11_v2", - "Standard_E64i_v3", - "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", - "modelAsString": true - } - }, - "capacity": { - "description": "The number of instances of the cluster.", - "type": "integer", - "format": "int32" - }, - "tier": { - "description": "SKU tier.", - "type": "string", - "enum": [ - "Basic", - "Standard" - ], - "x-ms-enum": { - "name": "AzureSkuTier", - "modelAsString": true - } - } - }, - "description": "Azure SKU definition." - }, - "Zones": { - "description": "An array represents the availability zones of the cluster.", - "type": "array", - "items": { - "type": "string" - } - }, - "OptimizedAutoscale": { - "type": "object", - "required": [ - "version", - "isEnabled", - "minimum", - "maximum" - ], - "properties": { - "version": { - "description": "The version of the template defined, for instance 1.", - "type": "integer", - "format": "int32" - }, - "isEnabled": { - "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not.", - "type": "boolean" - }, - "minimum": { - "description": "Minimum allowed instances count.", - "type": "integer", - "format": "int32" - }, - "maximum": { - "description": "Maximum allowed instances count.", - "type": "integer", - "format": "int32" - } - }, - "description": "A class that contains the optimized auto scale definition." - }, - "VirtualNetworkConfiguration": { - "type": "object", - "required": [ - "subnetId", - "enginePublicIpId", - "dataManagementPublicIpId" - ], - "properties": { - "subnetId": { - "description": "The subnet resource id.", - "type": "string" - }, - "enginePublicIpId": { - "description": "Engine service's public IP address resource id.", - "type": "string" - }, - "dataManagementPublicIpId": { - "description": "Data management's service public IP address resource id.", - "type": "string" - } - }, - "description": "A class that contains virtual network definition." - }, - "DatabaseStatistics": { - "type": "object", - "readOnly": true, - "properties": { - "size": { - "type": "number", - "description": "The database size - the total size of compressed data and index in bytes." - } - }, - "description": "A class that contains database statistics information." - }, - "AttachedDatabaseConfigurationProperties": { - "properties": { - "provisioningState": { - "$ref": "#/definitions/ProvisioningState", - "description": "The provisioned state of the resource." - }, - "databaseName": { - "type": "string", - "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." - }, - "clusterResourceId": { - "type": "string", - "description": "The resource id of the cluster where the databases you would like to attach reside." - }, - "attachedDatabaseNames": { - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true, - "description": "The list of databases from the clusterResourceId which are currently attached to the cluster." - }, - "defaultPrincipalsModificationKind": { - "type": "string", - "enum": [ - "Union", - "Replace", - "None" - ], - "x-ms-enum": { - "name": "DefaultPrincipalsModificationKind", - "modelAsString": true - }, - "description": "The default principals modification kind" - } - }, - "description": "Class representing the an attached database configuration properties of kind specific.", - "required": [ - "databaseName", - "clusterResourceId", - "defaultPrincipalsModificationKind" - ] - }, - "ReadWriteDatabaseProperties": { - "properties": { - "provisioningState": { - "$ref": "#/definitions/ProvisioningState", - "description": "The provisioned state of the resource." - }, - "softDeletePeriod": { - "type": "string", - "format": "duration", - "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." - }, - "hotCachePeriod": { - "type": "string", - "format": "duration", - "description": "The time the data should be kept in cache for fast queries in TimeSpan." - }, - "statistics": { - "$ref": "#/definitions/DatabaseStatistics", - "description": "The statistics of the database." - }, - "isFollowed": { - "type": "boolean", - "readOnly": true, - "description": "Indicates whether the database is followed." - } - }, - "description": "Class representing the Kusto database properties." - }, - "ReadOnlyFollowingDatabaseProperties": { - "properties": { - "provisioningState": { - "$ref": "#/definitions/ProvisioningState", - "description": "The provisioned state of the resource." - }, - "softDeletePeriod": { - "type": "string", - "readOnly": true, - "format": "duration", - "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." - }, - "hotCachePeriod": { - "type": "string", - "format": "duration", - "description": "The time the data should be kept in cache for fast queries in TimeSpan." - }, - "statistics": { - "$ref": "#/definitions/DatabaseStatistics", - "description": "The statistics of the database." - }, - "leaderClusterResourceId": { - "type": "string", - "readOnly": true, - "description": "The name of the leader cluster" - }, - "attachedDatabaseConfigurationName": { - "type": "string", - "readOnly": true, - "description": "The name of the attached database configuration cluster" - }, - "principalsModificationKind": { - "type": "string", - "readOnly": true, - "enum": [ - "Union", - "Replace", - "None" - ], - "x-ms-enum": { - "name": "PrincipalsModificationKind", - "modelAsString": true - }, - "description": "The principals modification kind of the database" - } - }, - "description": "Class representing the Kusto database properties." - }, - "EventHubConnectionProperties": { - "properties": { - "eventHubResourceId": { - "type": "string", - "description": "The resource ID of the event hub to be used to create a data connection." - }, - "consumerGroup": { - "type": "string", - "description": "The event hub consumer group." - }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { - "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." - }, - "dataFormat": { - "$ref": "#/definitions/EventHubDataFormat", - "description": "The data format of the message. Optionally the data format can be added to each message." - }, - "eventSystemProperties": { - "type": "array", - "items": { - "type": "string" - }, - "description": "System properties of the event hub" - }, - "compression": { - "$ref": "#/definitions/Compression", - "description": "The event hub messages compression type" - }, - "provisioningState": { - "$ref": "#/definitions/ProvisioningState", - "description": "The provisioned state of the resource." - } - }, - "required": [ - "eventHubResourceId", - "consumerGroup" - ], - "description": "Class representing the Kusto event hub connection properties." - }, - "IotHubConnectionProperties": { - "properties": { - "iotHubResourceId": { - "type": "string", - "description": "The resource ID of the Iot hub to be used to create a data connection." - }, - "consumerGroup": { - "type": "string", - "description": "The iot hub consumer group." - }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { - "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." - }, - "dataFormat": { - "$ref": "#/definitions/IotHubDataFormat", - "description": "The data format of the message. Optionally the data format can be added to each message." - }, - "eventSystemProperties": { - "type": "array", - "items": { - "type": "string" - }, - "description": "System properties of the iot hub" - }, - "sharedAccessPolicyName": { - "type": "string", - "description": "The name of the share access policy" - }, - "provisioningState": { - "$ref": "#/definitions/ProvisioningState", - "description": "The provisioned state of the resource." - } - }, - "required": [ - "iotHubResourceId", - "consumerGroup", - "sharedAccessPolicyName" - ], - "description": "Class representing the Kusto Iot hub connection properties." - }, - "EventHubDataFormat": { - "description": "The data format of the message. Optionally the data format can be added to each message.", - "type": "string", - "enum": [ - "MULTIJSON", - "JSON", - "CSV", - "TSV", - "SCSV", - "SOHSV", - "PSV", - "TXT", - "RAW", - "SINGLEJSON", - "AVRO", - "TSVE", - "PARQUET", - "ORC", - "APACHEAVRO", - "W3CLOGFILE" - ], - "x-ms-enum": { - "name": "eventHubDataFormat", - "modelAsString": true - } - }, - "IotHubDataFormat": { - "description": "The data format of the message. Optionally the data format can be added to each message.", - "type": "string", - "enum": [ - "MULTIJSON", - "JSON", - "CSV", - "TSV", - "SCSV", - "SOHSV", - "PSV", - "TXT", - "RAW", - "SINGLEJSON", - "AVRO", - "TSVE", - "PARQUET", - "ORC", - "APACHEAVRO", - "W3CLOGFILE" - ], - "x-ms-enum": { - "name": "iotHubDataFormat", - "modelAsString": true - } - }, - "EventGridDataFormat": { - "description": "The data format of the message. Optionally the data format can be added to each message.", - "type": "string", - "enum": [ - "MULTIJSON", - "JSON", - "CSV", - "TSV", - "SCSV", - "SOHSV", - "PSV", - "TXT", - "RAW", - "SINGLEJSON", - "AVRO", - "TSVE", - "PARQUET", - "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", - "enum": [ - "None", - "GZip" - ], - "x-ms-enum": { - "name": "compression", - "modelAsString": true - } - }, - "EventGridConnectionProperties": { - "properties": { - "storageAccountResourceId": { - "type": "string", - "description": "The resource ID of the storage account where the data resides." - }, - "eventHubResourceId": { - "type": "string", - "description": "The resource ID where the event grid is configured to send events." - }, - "consumerGroup": { - "type": "string", - "description": "The event hub consumer group." - }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { - "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." - }, - "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", - "description": "The provisioned state of the resource." - } - }, - "required": [ - "storageAccountResourceId", - "eventHubResourceId", - "consumerGroup" - ], - "description": "Class representing the Kusto event grid connection properties." - }, - "Cluster": { - "required": [ - "sku" - ], - "properties": { - "sku": { - "$ref": "#/definitions/AzureSku", - "description": "The SKU of the cluster." - }, - "zones": { - "$ref": "#/definitions/Zones", - "description": "The availability zones of the cluster." - }, - "identity": { - "$ref": "#/definitions/Identity", - "description": "The identity of the cluster, if configured." - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ClusterProperties", - "description": "The cluster properties." - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" - } - ], - "description": "Class representing a Kusto cluster." - }, - "ClusterUpdate": { - "properties": { - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-ms-mutability": [ - "read", - "create", - "update" - ], - "description": "Resource tags." - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "sku": { - "$ref": "#/definitions/AzureSku", - "description": "The SKU of the cluster." - }, - "identity": { - "$ref": "#/definitions/Identity", - "description": "The identity of the cluster, if configured." - }, - "properties": { - "x-ms-client-flatten": true, - "description": "The cluster properties.", - "$ref": "#/definitions/ClusterProperties" - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" - } - ], - "description": "Class representing an update to a Kusto cluster." - }, - "AttachedDatabaseConfigurationListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/AttachedDatabaseConfiguration" - }, - "description": "The list of attached database configurations." - } - }, - "description": "The list attached database configurations operation response." - }, - "AttachedDatabaseConfiguration": { - "properties": { - "location": { - "type": "string", - "description": "Resource location." - }, - "properties": { - "x-ms-client-flatten": true, - "description": "The properties of the attached database configuration.", - "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "description": "Class representing an attached database configuration." - }, - "Database": { - "required": [ - "kind" - ], - "properties": { - "location": { - "type": "string", - "description": "Resource location." - }, - "kind": { - "description": "Kind of the database", - "enum": [ - "ReadWrite", - "ReadOnlyFollowing" - ], - "type": "string", - "x-ms-enum": { - "name": "Kind", - "modelAsString": true - } - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "description": "Class representing a Kusto database.", - "discriminator": "kind" - }, - "ReadWriteDatabase": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "The database properties.", - "$ref": "#/definitions/ReadWriteDatabaseProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Database" - } - ], - "description": "Class representing a read write database.", - "x-ms-discriminator-value": "ReadWrite" - }, - "ReadOnlyFollowingDatabase": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "The database properties.", - "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Database" - } - ], - "description": "Class representing a read only following database.", - "x-ms-discriminator-value": "ReadOnlyFollowing" - }, - "DatabasePrincipal": { - "type": "object", - "required": [ - "name", - "role", - "type" - ], - "properties": { - "role": { - "description": "Database principal role.", - "type": "string", - "enum": [ - "Admin", - "Ingestor", - "Monitor", - "User", - "UnrestrictedViewers", - "Viewer" - ], - "x-ms-enum": { - "name": "DatabasePrincipalRole", - "modelAsString": true - } - }, - "name": { - "description": "Database principal name.", - "type": "string" - }, - "type": { - "description": "Database principal type.", - "type": "string", - "enum": [ - "App", - "Group", - "User" - ], - "x-ms-enum": { - "name": "DatabasePrincipalType", - "modelAsString": true - } - }, - "fqn": { - "description": "Database principal fully qualified name.", - "type": "string" - }, - "email": { - "description": "Database principal email if exists.", - "type": "string" - }, - "appId": { - "description": "Application id - relevant only for application principal type.", - "type": "string" - }, - "tenantName": { - "type": "string", - "readOnly": true, - "description": "The tenant name of the principal" - } - }, - "description": "A class representing database principal entity." - }, - "DatabasePrincipalProperties": { - "type": "object", - "required": [ - "principalId", - "role", - "principalType" - ], - "properties": { - "principalId": { - "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.", - "type": "string" - }, - "role": { - "description": "Database principal role.", - "type": "string", - "enum": [ - "Admin", - "Ingestor", - "Monitor", - "User", - "UnrestrictedViewers", - "Viewer" - ], - "x-ms-enum": { - "name": "DatabasePrincipalRole", - "modelAsString": true - } - }, - "tenantId": { - "type": "string", - "description": "The tenant id of the principal" - }, - "principalType": { - "description": "Principal type.", - "type": "string", - "enum": [ - "App", - "Group", - "User" - ], - "x-ms-enum": { - "name": "PrincipalType", - "modelAsString": true - } - }, - "tenantName": { - "type": "string", - "readOnly": true, - "description": "The tenant name of the principal" - }, - "principalName": { - "type": "string", - "readOnly": true, - "description": "The principal name" - }, - "provisioningState": { - "$ref": "#/definitions/ProvisioningState", - "description": "The provisioned state of the resource." - } - }, - "description": "A class representing database principal property." - }, - "ClusterPrincipalProperties": { - "type": "object", - "required": [ - "principalId", - "role", - "principalType" - ], - "properties": { - "principalId": { - "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.", - "type": "string" - }, - "role": { - "description": "Cluster principal role.", - "type": "string", - "enum": [ - "AllDatabasesAdmin", - "AllDatabasesViewer" - ], - "x-ms-enum": { - "name": "ClusterPrincipalRole", - "modelAsString": true - } - }, - "tenantId": { - "type": "string", - "description": "The tenant id of the principal" - }, - "principalType": { - "description": "Principal type.", - "type": "string", - "enum": [ - "App", - "Group", - "User" - ], - "x-ms-enum": { - "name": "PrincipalType", - "modelAsString": true - } - }, - "tenantName": { - "type": "string", - "readOnly": true, - "description": "The tenant name of the principal" - }, - "principalName": { - "type": "string", - "readOnly": true, - "description": "The principal name" - }, - "provisioningState": { - "$ref": "#/definitions/ProvisioningState", - "description": "The provisioned state of the resource." - } - }, - "description": "A class representing cluster principal property." - }, - "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." - }, - "ClusterListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Cluster" - }, - "description": "The list of Kusto clusters." - } - }, - "description": "The list Kusto clusters operation response." - }, - "DatabaseListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Database" - }, - "description": "The list of Kusto databases." - } - }, - "description": "The list Kusto databases operation response." - }, - "DatabasePrincipalAssignmentListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/DatabasePrincipalAssignment" - }, - "description": "The list of Kusto database principal assignments." - } - }, - "description": "The list Kusto database principal assignments operation response." - }, - "ClusterPrincipalAssignmentListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/ClusterPrincipalAssignment" - }, - "description": "The list of Kusto cluster principal assignments." - } - }, - "description": "The list Kusto cluster principal assignments operation response." - }, - "DatabasePrincipalListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/DatabasePrincipal" - }, - "description": "The list of Kusto database principals." - } - }, - "description": "The list Kusto database principals operation response." - }, - "FollowerDatabaseListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/FollowerDatabaseDefinition" - }, - "description": "The list of follower database result." - } - }, - "description": "The list Kusto database principals operation response." - }, - "DataConnection": { - "required": [ - "kind" - ], - "properties": { - "location": { - "type": "string", - "description": "Resource location." - }, - "kind": { - "description": "Kind of the endpoint for the data connection", - "enum": [ - "EventHub", - "EventGrid", - "IotHub" - ], - "type": "string", - "x-ms-enum": { - "name": "DataConnectionKind", - "modelAsString": true - } - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "description": "Class representing an data connection.", - "discriminator": "kind" - }, - "DataConnectionValidationResult": { - "type": "object", - "properties": { - "errorMessage": { - "type": "string", - "description": "A message which indicates a problem in data connection validation." - } - }, - "description": "The result returned from a data connection validation request." - }, - "DatabasePrincipalListRequest": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/DatabasePrincipal" - }, - "description": "The list of Kusto database principals." - } - }, - "description": "The list Kusto database principals operation request." - }, - "FollowerDatabaseDefinition": { - "type": "object", - "required": [ - "clusterResourceId", - "attachedDatabaseConfigurationName" - ], - "properties": { - "clusterResourceId": { - "type": "string", - "description": "Resource id of the cluster that follows a database owned by this cluster." - }, - "attachedDatabaseConfigurationName": { - "type": "string", - "description": "Resource name of the attached database configuration in the follower cluster." - }, - "databaseName": { - "type": "string", - "readOnly": true, - "description": "The database name owned by this cluster that was followed. * in case following all databases." - } - }, - "description": "A class representing follower database request." - }, - "DiagnoseVirtualNetworkResult": { - "properties": { - "findings": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The list of network connectivity diagnostic finding" - } - } - }, - "DataConnectionValidation": { - "properties": { - "dataConnectionName": { - "type": "string", - "description": "The name of the data connection." - }, - "properties": { - "$ref": "#/definitions/DataConnection", - "description": "The data connection properties to validate." - } - }, - "description": "Class representing an data connection validation." - }, - "EventHubDataConnection": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "The Event Hub data connection properties to validate.", - "$ref": "#/definitions/EventHubConnectionProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/DataConnection" - } - ], - "description": "Class representing an event hub data connection.", - "x-ms-discriminator-value": "EventHub" - }, - "IotHubDataConnection": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "The Iot Hub data connection properties.", - "$ref": "#/definitions/IotHubConnectionProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/DataConnection" - } - ], - "description": "Class representing an iot hub data connection.", - "x-ms-discriminator-value": "IotHub" - }, - "EventGridDataConnection": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "The properties of the Event Grid data connection.", - "$ref": "#/definitions/EventGridConnectionProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/DataConnection" - } - ], - "description": "Class representing an Event Grid data connection.", - "x-ms-discriminator-value": "EventGrid" - }, - "DataConnectionValidationListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/DataConnectionValidationResult" - }, - "description": "The list of Kusto data connection validation errors." - } - }, - "description": "The list Kusto data connection validation result." - }, - "DataConnectionListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/DataConnection" - }, - "description": "The list of Kusto data connections." - } - }, - "description": "The list Kusto data connections operation response." - }, - "CloudError": { - "x-ms-external": true, - "properties": { - "error": { - "$ref": "#/definitions/CloudErrorBody", - "description": "An error response from Kusto." - } - }, - "description": "An error response from Kusto." - }, - "ClusterCheckNameRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Cluster name." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters" - ], - "x-ms-enum": { - "name": "ClusterType", - "modelAsString": false - }, - "description": "The type of resource, Microsoft.Kusto/clusters." - } - }, - "required": [ - "name", - "type" - ], - "description": "The result returned from a cluster check name availability request." - }, - "CheckNameRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Resource name." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/databases", - "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" - ], - "x-ms-enum": { - "name": "Type", - "modelAsString": false - }, - "description": "The type of resource, for instance Microsoft.Kusto/clusters/databases." - } - }, - "required": [ - "name", - "type" - ], - "description": "The result returned from a database check name availability request." - }, - "ClusterPrincipalAssignmentCheckNameRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Principal Assignment resource name." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/principalAssignments" - ], - "x-ms-enum": { - "name": "PrincipalAssignmentType", - "modelAsString": false - }, - "description": "The type of resource, Microsoft.Kusto/clusters/principalAssignments." - } - }, - "required": [ - "name", - "type" - ], - "description": "A principal assignment check name availability request." - }, - "DataConnectionCheckNameRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Data Connection name." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/databases/dataConnections" - ], - "x-ms-enum": { - "name": "DataConnectionType", - "modelAsString": false - }, - "description": "The type of resource, Microsoft.Kusto/clusters/databases/dataConnections." - } - }, - "required": [ - "name", - "type" - ], - "description": "A data connection check name availability request." - }, - "DatabasePrincipalAssignmentCheckNameRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Principal Assignment resource name." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/databases/principalAssignments" - ], - "x-ms-enum": { - "name": "DatabasePrincipalAssignmentType", - "modelAsString": false - }, - "description": "The type of resource, Microsoft.Kusto/clusters/databases/principalAssignments." - } - }, - "required": [ - "name", - "type" - ], - "description": "A principal assignment check name availability request." - }, - "CheckNameResult": { - "type": "object", - "properties": { - "nameAvailable": { - "type": "boolean", - "description": "Specifies a Boolean value that indicates if the name is available." - }, - "name": { - "type": "string", - "description": "The name that was checked." - }, - "message": { - "type": "string", - "description": "Message indicating an unavailable name due to a conflict, or a description of the naming rules that are violated." - }, - "reason": { - "type": "string", - "enum": [ - "Invalid", - "AlreadyExists" - ], - "x-ms-enum": { - "name": "reason", - "modelAsString": true - }, - "description": "Message providing the reason why the given name is invalid." - } - }, - "description": "The result returned from a check name availability request." - }, - "ListResourceSkusResult": { - "description": "List of available SKUs for a Kusto Cluster.", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/AzureResourceSku" - }, - "description": "The collection of available SKUs for an existing resource." - } - } - }, - "CloudErrorBody": { - "x-ms-external": true, - "properties": { - "code": { - "type": "string", - "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." - }, - "message": { - "type": "string", - "description": "A message describing the error, intended to be suitable for displaying in a user interface." - }, - "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": "A list of additional details about the error." - } - }, - "description": "An error response from Kusto." - }, - "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.", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Operation" - }, - "title": "The list of operations supported by the resource provider." - }, - "nextLink": { - "type": "string", - "title": "The URL to get the next set of operation list results if there are any." - } - } - }, - "Operation": { - "title": "A REST API operation", - "type": "object", - "properties": { - "name": { - "title": "The operation name.", - "description": "This is of the format {provider}/{resource}/{operation}.", - "type": "string" - }, - "display": { - "title": "The object that describes the operation.", - "properties": { - "provider": { - "title": "Friendly name of the resource provider.", - "type": "string" - }, - "operation": { - "title": "The operation type.", - "description": "For example: read, write, delete.", - "type": "string" - }, - "resource": { - "title": "The resource type on which the operation is performed.", - "type": "string" - }, - "description": { - "title": "The friendly name of the operation.", - "type": "string" - } - } - }, - "origin": { - "title": "The intended executor of the operation.", - "type": "string" - }, - "properties": { - "title": "Properties of the operation.", - "type": "object", - "x-ms-client-flatten": true - } - } - }, - "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 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", - "UserAssigned", - "SystemAssigned, UserAssigned" - ], - "x-ms-enum": { - "name": "IdentityType", - "modelAsString": true - } - }, - "userAssignedIdentities": { - "type": "object", - "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." - } - } - }, - "description": "The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." - } - }, - "required": [ - "type" - ], - "description": "Identity for the resource." - }, - "KeyVaultProperties": { - "description": "Properties of the key vault.", - "required": [ - "keyName", - "keyVaultUri" - ], - "properties": { - "keyName": { - "type": "string", - "description": "The name of the key vault key.", - "x-ms-client-name": "KeyName" - }, - "keyVersion": { - "type": "string", - "description": "The version of the key vault key.", - "x-ms-client-name": "KeyVersion" - }, - "keyVaultUri": { - "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 - } - } - }, - "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." - }, - "ClusterNameParameter": { - "name": "clusterName", - "in": "path", - "description": "The name of the Kusto cluster.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AttachedDatabaseConfigurationNameParameter": { - "name": "attachedDatabaseConfigurationName", - "in": "path", - "description": "The name of the attached database configuration.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "ResourceGroupParameter": { - "name": "resourceGroupName", - "in": "path", - "description": "The name of the resource group containing the Kusto cluster.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "DatabaseNameParameter": { - "name": "databaseName", - "in": "path", - "description": "The name of the database in the Kusto cluster.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "DataConnectionNameParameter": { - "name": "dataConnectionName", - "in": "path", - "description": "The name of the data connection.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "PrincipalAssignmentNameParameter": { - "name": "principalAssignmentName", - "in": "path", - "description": "The name of the Kusto principalAssignment.", - "required": true, - "type": "string", - "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" - } - } - } -} +{ + "swagger": "2.0", + "info": { + "title": "KustoManagementClient", + "version": "2020-09-18" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Get", + "x-ms-examples": { + "KustoClustersGet": { + "$ref": "./examples/KustoClustersGet.json" + } + }, + "description": "Gets a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Kusto cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_CreateOrUpdate", + "x-ms-examples": { + "KustoClustersCreateOrUpdate": { + "$ref": "./examples/KustoClustersCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Create or update a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster" + }, + "description": "The Kusto cluster parameters supplied to the CreateOrUpdate operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the Cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "Successfully created the cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Update", + "x-ms-examples": { + "KustoClustersUpdate": { + "$ref": "./examples/KustoClustersUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Update a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterUpdate" + }, + "description": "The Kusto cluster parameters supplied to the Update operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the Cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "Successfully updated the cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "202": { + "description": "Successfully updated the cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Delete", + "x-ms-examples": { + "KustoClustersDelete": { + "$ref": "./examples/KustoClustersDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- cluster deleted successfully." + }, + "202": { + "description": "Accepted the delete cluster request." + }, + "204": { + "description": "NoContent -- cluster does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Stop", + "x-ms-examples": { + "KustoClustersStop": { + "$ref": "./examples/KustoClustersStop.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Stops a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "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}/start": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Start", + "x-ms-examples": { + "KustoClustersStart": { + "$ref": "./examples/KustoClustersStart.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Starts a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "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}/checkPrincipalAssignmentNameAvailability": { + "post": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_CheckNameAvailability", + "x-ms-examples": { + "KustoClusterPrincipalAssignmentsCheckNameAvailability": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json" + } + }, + "description": "Checks that the principal assignment name is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "principalAssignmentName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignmentCheckNameRequest" + }, + "description": "The name of the principal assignment." + } + ], + "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}/principalAssignments/{principalAssignmentName}": { + "get": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_Get", + "x-ms-examples": { + "KustoClusterPrincipalAssignmentsGet": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsGet.json" + } + }, + "description": "Gets a Kusto cluster principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Kusto cluster principal assignment object.", + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_CreateOrUpdate", + "x-ms-examples": { + "KustoClusterPrincipalAssignmentsCreateOrUpdate": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Create a Kusto cluster principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + }, + "description": "The Kusto cluster principalAssignment's parameters supplied for the operation." + } + ], + "responses": { + "200": { + "description": "Successfully updated the PrincipalAssignment.", + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + } + }, + "201": { + "description": "Successfully created the principalAssignment.", + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_Delete", + "x-ms-examples": { + "KustoClusterPrincipalAssignmentsDelete": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes a Kusto cluster principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- principalAssignments deleted successfully." + }, + "202": { + "description": "Accepted the delete principalAssignments request." + }, + "204": { + "description": "NoContent -- principalAssignments does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments": { + "get": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_List", + "x-ms-examples": { + "KustoPrincipalAssignmentsList": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsList.json" + } + }, + "description": "Lists all Kusto cluster principalAssignments.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignmentListResult" + } + }, + "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}/listFollowerDatabases": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Returns a list of databases that are owned by this cluster and were followed by another cluster.", + "operationId": "Clusters_ListFollowerDatabases", + "x-ms-examples": { + "KustoClusterListFollowerDatabases": { + "$ref": "./examples/KustoClusterListFollowerDatabases.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of followed databases.", + "schema": { + "$ref": "#/definitions/FollowerDatabaseListResult" + } + }, + "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}/detachFollowerDatabases": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Detaches all followers of a database owned by this cluster.", + "operationId": "Clusters_DetachFollowerDatabases", + "x-ms-examples": { + "KustoClusterDetachFollowerDatabases": { + "$ref": "./examples/KustoClusterDetachFollowerDatabases.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "followerDatabaseToRemove", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FollowerDatabaseDefinition" + }, + "description": "The follower databases properties to remove." + } + ], + "responses": { + "200": { + "description": "OK." + }, + "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}/diagnoseVirtualNetwork": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Diagnoses network connectivity status for external resources on which the service is dependent on.", + "operationId": "Clusters_DiagnoseVirtualNetwork", + "x-ms-examples": { + "KustoClusterDiagnoseVirtualNetwork": { + "$ref": "./examples/KustoClustersDiagnoseVirtualNetwork.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/DiagnoseVirtualNetworkResult" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_ListByResourceGroup", + "x-ms-examples": { + "KustoClustersListByResourceGroup": { + "$ref": "./examples/KustoClustersListByResourceGroup.json" + } + }, + "description": "Lists all Kusto clusters within a resource group.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_List", + "x-ms-examples": { + "KustoClustersList": { + "$ref": "./examples/KustoClustersList.json" + } + }, + "description": "Lists all Kusto clusters within a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/skus": { + "get": { + "description": "Lists eligible SKUs for Kusto resource provider.", + "x-ms-examples": { + "KustoClustersListSkus": { + "$ref": "./examples/KustoClustersListSkus.json" + } + }, + "operationId": "Clusters_ListSkus", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/SkuDescriptionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_CheckNameAvailability", + "x-ms-examples": { + "KustoClustersCheckNameAvailability": { + "$ref": "./examples/KustoClustersCheckNameAvailability.json" + } + }, + "description": "Checks that the cluster name is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "description": "Azure location.", + "required": true, + "type": "string" + }, + { + "name": "clusterName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterCheckNameRequest" + }, + "description": "The name of the cluster." + } + ], + "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}/checkNameAvailability": { + "post": { + "tags": [ + "Databases" + ], + "operationId": "Databases_CheckNameAvailability", + "x-ms-examples": { + "KustoDatabaseCheckNameAvailability": { + "$ref": "./examples/KustoDatabasesCheckNameAvailability.json" + } + }, + "description": "Checks that the database 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/CheckNameRequest" + }, + "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": [ + "Clusters" + ], + "operationId": "Clusters_ListSkusByResource", + "x-ms-examples": { + "KustoClustersListResourceSkus": { + "$ref": "./examples/KustoClustersListResourceSkus.json" + } + }, + "description": "Returns the SKUs available for the provided resource.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ListResourceSkusResult" + } + }, + "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": { + "get": { + "tags": [ + "Databases" + ], + "description": "Returns the list of databases of the given Kusto cluster.", + "operationId": "Databases_ListByCluster", + "x-ms-examples": { + "KustoDatabasesListByCluster": { + "$ref": "./examples/KustoDatabasesListByCluster.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of databases.", + "schema": { + "$ref": "#/definitions/DatabaseListResult" + } + }, + "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}": { + "get": { + "tags": [ + "Databases" + ], + "description": "Returns a database.", + "operationId": "Databases_Get", + "x-ms-examples": { + "KustoDatabasesGet": { + "$ref": "./examples/KustoDatabasesGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Databases" + ], + "description": "Creates or updates a database.", + "operationId": "Databases_CreateOrUpdate", + "x-ms-examples": { + "KustoDatabasesCreateOrUpdate": { + "$ref": "./examples/KustoDatabasesCreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Database" + }, + "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/Database" + } + }, + "201": { + "description": "Successfully created the database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "202": { + "description": "Accepted the create database request.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Databases" + ], + "description": "Updates a database.", + "operationId": "Databases_Update", + "x-ms-examples": { + "KustoDatabasesUpdate": { + "$ref": "./examples/KustoDatabasesUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Database" + }, + "description": "The database parameters supplied to the Update operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "201": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "202": { + "description": "Accepted the update database request.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Databases" + ], + "description": "Deletes the database with the given name.", + "operationId": "Databases_Delete", + "x-ms-examples": { + "KustoDatabasesDelete": { + "$ref": "./examples/KustoDatabasesDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$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}/checkPrincipalAssignmentNameAvailability": { + "post": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_CheckNameAvailability", + "x-ms-examples": { + "KustoDatabaseCheckNameAvailability": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json" + } + }, + "description": "Checks that the database principal assignment 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": "principalAssignmentName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignmentCheckNameRequest" + }, + "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}/databases/{databaseName}/principalAssignments/{principalAssignmentName}": { + "get": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_Get", + "x-ms-examples": { + "KustoDatabasePrincipalAssignmentsGet": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsGet.json" + } + }, + "description": "Gets a Kusto cluster database principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Kusto cluster database principal assignment object.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_CreateOrUpdate", + "x-ms-examples": { + "KustoDatabasePrincipalAssignmentsCreateOrUpdate": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates a Kusto cluster database principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + }, + "description": "The Kusto principalAssignments parameters supplied for the operation." + } + ], + "responses": { + "200": { + "description": "Successfully updated the PrincipalAssignments.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + } + }, + "201": { + "description": "Successfully created the principalAssignments.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_Delete", + "x-ms-examples": { + "KustoDatabasePrincipalAssignmentsDelete": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes a Kusto principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- principalAssignments deleted successfully." + }, + "202": { + "description": "Accepted the delete principalAssignments request." + }, + "204": { + "description": "NoContent -- principalAssignments does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments": { + "get": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_List", + "x-ms-examples": { + "KustoPrincipalAssignmentsList": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsList.json" + } + }, + "description": "Lists all Kusto cluster database principalAssignments.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignmentListResult" + } + }, + "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}/listPrincipals": { + "post": { + "tags": [ + "Databases" + ], + "description": "Returns a list of database principals of the given Kusto cluster and database.", + "operationId": "Databases_ListPrincipals", + "x-ms-examples": { + "KustoDatabaseListPrincipals": { + "$ref": "./examples/KustoDatabaseListPrincipals.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 database principals.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalListResult" + } + }, + "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}/addPrincipals": { + "post": { + "tags": [ + "Databases" + ], + "operationId": "Databases_AddPrincipals", + "x-ms-examples": { + "KustoDatabaseAddPrincipals": { + "$ref": "./examples/KustoDatabaseAddPrincipals.json" + } + }, + "description": "Add Database principals permissions.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "databasePrincipalsToAdd", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabasePrincipalListRequest" + }, + "description": "List of database principals to add." + } + ], + "responses": { + "200": { + "description": "OK -- Successfully added 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}/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": "dataConnectionName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnectionCheckNameRequest" + }, + "description": "The name of the data connection." + } + ], + "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}/databases/{databaseName}/dataConnections/{dataConnectionName}": { + "get": { + "tags": [ + "DataConnections" + ], + "description": "Returns a data connection.", + "operationId": "DataConnections_Get", + "x-ms-examples": { + "KustoDataConnectionsGet": { + "$ref": "./examples/KustoDataConnectionsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/DataConnectionNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified data connection.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "DataConnections" + ], + "description": "Creates or updates a data connection.", + "operationId": "DataConnections_CreateOrUpdate", + "x-ms-examples": { + "KustoDataConnectionsCreateOrUpdate": { + "$ref": "./examples/KustoDataConnectionsCreateOrUpdate.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 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/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of language extensions.", + "schema": { + "$ref": "#/definitions/LanguageExtensionsList" + } + }, + "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}/addLanguageExtensions": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Add a list of language extensions that can run within KQL queries.", + "operationId": "Clusters_AddLanguageExtensions", + "x-ms-examples": { + "KustoClusterAddLanguageExtensions": { + "$ref": "./examples/KustoClusterAddLanguageExtensions.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "languageExtensionsToAdd", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LanguageExtensionsList" + }, + "description": "The language extensions to add." + } + ], + "responses": { + "200": { + "description": "OK." + }, + "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}/removeLanguageExtensions": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Remove a list of language extensions that can run within KQL queries.", + "operationId": "Clusters_RemoveLanguageExtensions", + "x-ms-examples": { + "KustoClusterRemoveLanguageExtensions": { + "$ref": "./examples/KustoClusterRemoveLanguageExtensions.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "languageExtensionsToRemove", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LanguageExtensionsList" + }, + "description": "The language extensions to remove." + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ClusterProperties": { + "properties": { + "state": { + "type": "string", + "readOnly": true, + "description": "The state of the resource.", + "enum": [ + "Creating", + "Unavailable", + "Running", + "Deleting", + "Deleted", + "Stopping", + "Stopped", + "Starting", + "Updating" + ], + "x-ms-enum": { + "name": "State", + "modelAsString": true + } + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + }, + "uri": { + "type": "string", + "readOnly": true, + "description": "The cluster URI." + }, + "dataIngestionUri": { + "type": "string", + "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": { + "$ref": "#/definitions/TrustedExternalTenant" + }, + "description": "The cluster's external tenants." + }, + "optimizedAutoscale": { + "type": "object", + "$ref": "#/definitions/OptimizedAutoscale", + "description": "Optimized auto scale definition." + }, + "enableDiskEncryption": { + "description": "A boolean value that indicates if the cluster's disks are encrypted.", + "type": "boolean" + }, + "enableStreamingIngest": { + "description": "A boolean value that indicates if the streaming ingest is enabled.", + "default": false, + "type": "boolean" + }, + "virtualNetworkConfiguration": { + "type": "object", + "$ref": "#/definitions/VirtualNetworkConfiguration", + "description": "Virtual network definition." + }, + "keyVaultProperties": { + "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" + }, + "engineType": { + "type": "string", + "description": "The engine type", + "enum": [ + "V2", + "V3" + ], + "x-ms-enum": { + "name": "EngineType", + "modelAsString": true + } + } + }, + "description": "Class representing the Kusto cluster properties." + }, + "TrustedExternalTenant": { + "properties": { + "value": { + "type": "string", + "description": "GUID representing an external tenant." + } + }, + "description": "Represents a tenant ID that is trusted by the cluster." + }, + "AzureResourceSku": { + "properties": { + "resourceType": { + "type": "string", + "description": "Resource Namespace and Type." + }, + "sku": { + "$ref": "#/definitions/AzureSku", + "description": "The SKU details." + }, + "capacity": { + "$ref": "#/definitions/AzureCapacity", + "description": "The number of instances of the cluster." + } + }, + "description": "Azure resource SKU definition." + }, + "AzureCapacity": { + "type": "object", + "required": [ + "minimum", + "maximum", + "default", + "scaleType" + ], + "properties": { + "scaleType": { + "description": "Scale type.", + "type": "string", + "enum": [ + "automatic", + "manual", + "none" + ], + "x-ms-enum": { + "name": "AzureScaleType", + "modelAsString": true + } + }, + "minimum": { + "description": "Minimum allowed capacity.", + "type": "integer", + "format": "int32" + }, + "maximum": { + "description": "Maximum allowed capacity.", + "type": "integer", + "format": "int32" + }, + "default": { + "description": "The default capacity that would be used.", + "type": "integer", + "format": "int32" + } + }, + "description": "Azure capacity definition." + }, + "SkuDescriptionList": { + "description": "The list of the EngagementFabric SKU descriptions", + "type": "object", + "properties": { + "value": { + "description": "SKU descriptions", + "type": "array", + "items": { + "$ref": "#/definitions/SkuDescription" + }, + "readOnly": true + } + } + }, + "SkuDescription": { + "description": "The Kusto SKU description of given resource type", + "type": "object", + "properties": { + "resourceType": { + "description": "The resource type", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the SKU", + "type": "string", + "readOnly": true + }, + "tier": { + "description": "The tier of the SKU", + "type": "string", + "readOnly": true + }, + "locations": { + "description": "The set of locations that the SKU is available", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "locationInfo": { + "description": "Locations and zones", + "type": "array", + "items": { + "$ref": "#/definitions/SkuLocationInfoItem" + }, + "readOnly": true + }, + "restrictions": { + "description": "The restrictions because of which SKU cannot be used", + "type": "array", + "items": { + "type": "object" + }, + "readOnly": true + } + } + }, + "SkuLocationInfoItem": { + "description": "The locations and zones info for SKU.", + "type": "object", + "required": [ + "location" + ], + "properties": { + "location": { + "description": "The available location of the SKU.", + "type": "string" + }, + "zones": { + "description": "The available zone of the SKU.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AzureSku": { + "type": "object", + "required": [ + "name", + "tier" + ], + "properties": { + "name": { + "description": "SKU name.", + "type": "string", + "enum": [ + "Standard_DS13_v2+1TB_PS", + "Standard_DS13_v2+2TB_PS", + "Standard_DS14_v2+3TB_PS", + "Standard_DS14_v2+4TB_PS", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_L8s", + "Standard_L16s", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_L4s", + "Dev(No SLA)_Standard_D11_v2", + "Standard_E64i_v3", + "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", + "modelAsString": true + } + }, + "capacity": { + "description": "The number of instances of the cluster.", + "type": "integer", + "format": "int32" + }, + "tier": { + "description": "SKU tier.", + "type": "string", + "enum": [ + "Basic", + "Standard" + ], + "x-ms-enum": { + "name": "AzureSkuTier", + "modelAsString": true + } + } + }, + "description": "Azure SKU definition." + }, + "Zones": { + "description": "An array represents the availability zones of the cluster.", + "type": "array", + "items": { + "type": "string" + } + }, + "OptimizedAutoscale": { + "type": "object", + "required": [ + "version", + "isEnabled", + "minimum", + "maximum" + ], + "properties": { + "version": { + "description": "The version of the template defined, for instance 1.", + "type": "integer", + "format": "int32" + }, + "isEnabled": { + "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not.", + "type": "boolean" + }, + "minimum": { + "description": "Minimum allowed instances count.", + "type": "integer", + "format": "int32" + }, + "maximum": { + "description": "Maximum allowed instances count.", + "type": "integer", + "format": "int32" + } + }, + "description": "A class that contains the optimized auto scale definition." + }, + "VirtualNetworkConfiguration": { + "type": "object", + "required": [ + "subnetId", + "enginePublicIpId", + "dataManagementPublicIpId" + ], + "properties": { + "subnetId": { + "description": "The subnet resource id.", + "type": "string" + }, + "enginePublicIpId": { + "description": "Engine service's public IP address resource id.", + "type": "string" + }, + "dataManagementPublicIpId": { + "description": "Data management's service public IP address resource id.", + "type": "string" + } + }, + "description": "A class that contains virtual network definition." + }, + "DatabaseStatistics": { + "type": "object", + "readOnly": true, + "properties": { + "size": { + "type": "number", + "description": "The database size - the total size of compressed data and index in bytes." + } + }, + "description": "A class that contains database statistics information." + }, + "AttachedDatabaseConfigurationProperties": { + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + }, + "databaseName": { + "type": "string", + "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." + }, + "clusterResourceId": { + "type": "string", + "description": "The resource id of the cluster where the databases you would like to attach reside." + }, + "attachedDatabaseNames": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "The list of databases from the clusterResourceId which are currently attached to the cluster." + }, + "defaultPrincipalsModificationKind": { + "type": "string", + "enum": [ + "Union", + "Replace", + "None" + ], + "x-ms-enum": { + "name": "DefaultPrincipalsModificationKind", + "modelAsString": true + }, + "description": "The default principals modification kind" + } + }, + "description": "Class representing the an attached database configuration properties of kind specific.", + "required": [ + "databaseName", + "clusterResourceId", + "defaultPrincipalsModificationKind" + ] + }, + "ReadWriteDatabaseProperties": { + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + }, + "softDeletePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + }, + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + }, + "statistics": { + "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, + "description": "The statistics of the database." + }, + "isFollowed": { + "type": "boolean", + "readOnly": true, + "description": "Indicates whether the database is followed." + } + }, + "description": "Class representing the Kusto database properties." + }, + "ReadOnlyFollowingDatabaseProperties": { + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + }, + "softDeletePeriod": { + "type": "string", + "readOnly": true, + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + }, + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + }, + "statistics": { + "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, + "description": "The statistics of the database." + }, + "leaderClusterResourceId": { + "type": "string", + "readOnly": true, + "description": "The name of the leader cluster" + }, + "attachedDatabaseConfigurationName": { + "type": "string", + "readOnly": true, + "description": "The name of the attached database configuration cluster" + }, + "principalsModificationKind": { + "type": "string", + "readOnly": true, + "enum": [ + "Union", + "Replace", + "None" + ], + "x-ms-enum": { + "name": "PrincipalsModificationKind", + "modelAsString": true + }, + "description": "The principals modification kind of the database" + } + }, + "description": "Class representing the Kusto database properties." + }, + "EventHubConnectionProperties": { + "properties": { + "eventHubResourceId": { + "type": "string", + "description": "The resource ID of the event hub to be used to create a data connection." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "dataFormat": { + "$ref": "#/definitions/EventHubDataFormat", + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventSystemProperties": { + "type": "array", + "items": { + "type": "string" + }, + "description": "System properties of the event hub" + }, + "compression": { + "$ref": "#/definitions/Compression", + "description": "The event hub messages compression type" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + } + }, + "required": [ + "eventHubResourceId", + "consumerGroup" + ], + "description": "Class representing the Kusto event hub connection properties." + }, + "IotHubConnectionProperties": { + "properties": { + "iotHubResourceId": { + "type": "string", + "description": "The resource ID of the Iot hub to be used to create a data connection." + }, + "consumerGroup": { + "type": "string", + "description": "The iot hub consumer group." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "dataFormat": { + "$ref": "#/definitions/IotHubDataFormat", + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventSystemProperties": { + "type": "array", + "items": { + "type": "string" + }, + "description": "System properties of the iot hub" + }, + "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": [ + "iotHubResourceId", + "consumerGroup", + "sharedAccessPolicyName" + ], + "description": "Class representing the Kusto Iot hub connection properties." + }, + "EventHubDataFormat": { + "description": "The data format of the message. Optionally the data format can be added to each message.", + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ], + "x-ms-enum": { + "name": "eventHubDataFormat", + "modelAsString": true + } + }, + "IotHubDataFormat": { + "description": "The data format of the message. Optionally the data format can be added to each message.", + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ], + "x-ms-enum": { + "name": "iotHubDataFormat", + "modelAsString": true + } + }, + "EventGridDataFormat": { + "description": "The data format of the message. Optionally the data format can be added to each message.", + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "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", + "enum": [ + "None", + "GZip" + ], + "x-ms-enum": { + "name": "compression", + "modelAsString": true + } + }, + "EventGridConnectionProperties": { + "properties": { + "storageAccountResourceId": { + "type": "string", + "description": "The resource ID of the storage account where the data resides." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID where the event grid is configured to send events." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "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" + ], + "description": "Class representing the Kusto event grid connection properties." + }, + "Cluster": { + "required": [ + "sku" + ], + "properties": { + "sku": { + "$ref": "#/definitions/AzureSku", + "description": "The SKU of the cluster." + }, + "zones": { + "$ref": "#/definitions/Zones", + "description": "The availability zones of the cluster." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the cluster, if configured." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterProperties", + "description": "The cluster properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Class representing a Kusto cluster." + }, + "ClusterUpdate": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "sku": { + "$ref": "#/definitions/AzureSku", + "description": "The SKU of the cluster." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the cluster, if configured." + }, + "properties": { + "x-ms-client-flatten": true, + "description": "The cluster properties.", + "$ref": "#/definitions/ClusterProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "Class representing an update to a Kusto cluster." + }, + "AttachedDatabaseConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + }, + "description": "The list of attached database configurations." + } + }, + "description": "The list attached database configurations operation response." + }, + "AttachedDatabaseConfiguration": { + "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of the attached database configuration.", + "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing an attached database configuration." + }, + "Database": { + "required": [ + "kind" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "kind": { + "description": "Kind of the database", + "enum": [ + "ReadWrite", + "ReadOnlyFollowing" + ], + "type": "string", + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing a Kusto database.", + "discriminator": "kind" + }, + "ReadWriteDatabase": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The database properties.", + "$ref": "#/definitions/ReadWriteDatabaseProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Database" + } + ], + "description": "Class representing a read write database.", + "x-ms-discriminator-value": "ReadWrite" + }, + "ReadOnlyFollowingDatabase": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The database properties.", + "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Database" + } + ], + "description": "Class representing a read only following database.", + "x-ms-discriminator-value": "ReadOnlyFollowing" + }, + "DatabasePrincipal": { + "type": "object", + "required": [ + "name", + "role", + "type" + ], + "properties": { + "role": { + "description": "Database principal role.", + "type": "string", + "enum": [ + "Admin", + "Ingestor", + "Monitor", + "User", + "UnrestrictedViewers", + "Viewer" + ], + "x-ms-enum": { + "name": "DatabasePrincipalRole", + "modelAsString": true + } + }, + "name": { + "description": "Database principal name.", + "type": "string" + }, + "type": { + "description": "Database principal type.", + "type": "string", + "enum": [ + "App", + "Group", + "User" + ], + "x-ms-enum": { + "name": "DatabasePrincipalType", + "modelAsString": true + } + }, + "fqn": { + "description": "Database principal fully qualified name.", + "type": "string" + }, + "email": { + "description": "Database principal email if exists.", + "type": "string" + }, + "appId": { + "description": "Application id - relevant only for application principal type.", + "type": "string" + }, + "tenantName": { + "type": "string", + "readOnly": true, + "description": "The tenant name of the principal" + } + }, + "description": "A class representing database principal entity." + }, + "DatabasePrincipalProperties": { + "type": "object", + "required": [ + "principalId", + "role", + "principalType" + ], + "properties": { + "principalId": { + "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.", + "type": "string" + }, + "role": { + "description": "Database principal role.", + "type": "string", + "enum": [ + "Admin", + "Ingestor", + "Monitor", + "User", + "UnrestrictedViewers", + "Viewer" + ], + "x-ms-enum": { + "name": "DatabasePrincipalRole", + "modelAsString": true + } + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + }, + "principalType": { + "description": "Principal type.", + "type": "string", + "enum": [ + "App", + "Group", + "User" + ], + "x-ms-enum": { + "name": "PrincipalType", + "modelAsString": true + } + }, + "tenantName": { + "type": "string", + "readOnly": true, + "description": "The tenant name of the principal" + }, + "principalName": { + "type": "string", + "readOnly": true, + "description": "The principal name" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + } + }, + "description": "A class representing database principal property." + }, + "ClusterPrincipalProperties": { + "type": "object", + "required": [ + "principalId", + "role", + "principalType" + ], + "properties": { + "principalId": { + "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.", + "type": "string" + }, + "role": { + "description": "Cluster principal role.", + "type": "string", + "enum": [ + "AllDatabasesAdmin", + "AllDatabasesViewer" + ], + "x-ms-enum": { + "name": "ClusterPrincipalRole", + "modelAsString": true + } + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + }, + "principalType": { + "description": "Principal type.", + "type": "string", + "enum": [ + "App", + "Group", + "User" + ], + "x-ms-enum": { + "name": "PrincipalType", + "modelAsString": true + } + }, + "tenantName": { + "type": "string", + "readOnly": true, + "description": "The tenant name of the principal" + }, + "principalName": { + "type": "string", + "readOnly": true, + "description": "The principal name" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + } + }, + "description": "A class representing cluster principal property." + }, + "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." + }, + "ClusterListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Cluster" + }, + "description": "The list of Kusto clusters." + } + }, + "description": "The list Kusto clusters operation response." + }, + "DatabaseListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Database" + }, + "description": "The list of Kusto databases." + } + }, + "description": "The list Kusto databases operation response." + }, + "DatabasePrincipalAssignmentListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + }, + "description": "The list of Kusto database principal assignments." + } + }, + "description": "The list Kusto database principal assignments operation response." + }, + "ClusterPrincipalAssignmentListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + }, + "description": "The list of Kusto cluster principal assignments." + } + }, + "description": "The list Kusto cluster principal assignments operation response." + }, + "DatabasePrincipalListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabasePrincipal" + }, + "description": "The list of Kusto database principals." + } + }, + "description": "The list Kusto database principals operation response." + }, + "FollowerDatabaseListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FollowerDatabaseDefinition" + }, + "description": "The list of follower database result." + } + }, + "description": "The list Kusto database principals operation response." + }, + "DataConnection": { + "required": [ + "kind" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "kind": { + "description": "Kind of the endpoint for the data connection", + "enum": [ + "EventHub", + "EventGrid", + "IotHub" + ], + "type": "string", + "x-ms-enum": { + "name": "DataConnectionKind", + "modelAsString": true + } + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing an data connection.", + "discriminator": "kind" + }, + "DataConnectionValidationResult": { + "type": "object", + "properties": { + "errorMessage": { + "type": "string", + "description": "A message which indicates a problem in data connection validation." + } + }, + "description": "The result returned from a data connection validation request." + }, + "DatabasePrincipalListRequest": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabasePrincipal" + }, + "description": "The list of Kusto database principals." + } + }, + "description": "The list Kusto database principals operation request." + }, + "FollowerDatabaseDefinition": { + "type": "object", + "required": [ + "clusterResourceId", + "attachedDatabaseConfigurationName" + ], + "properties": { + "clusterResourceId": { + "type": "string", + "description": "Resource id of the cluster that follows a database owned by this cluster." + }, + "attachedDatabaseConfigurationName": { + "type": "string", + "description": "Resource name of the attached database configuration in the follower cluster." + }, + "databaseName": { + "type": "string", + "readOnly": true, + "description": "The database name owned by this cluster that was followed. * in case following all databases." + } + }, + "description": "A class representing follower database request." + }, + "DiagnoseVirtualNetworkResult": { + "properties": { + "findings": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of network connectivity diagnostic finding" + } + } + }, + "DataConnectionValidation": { + "properties": { + "dataConnectionName": { + "type": "string", + "description": "The name of the data connection." + }, + "properties": { + "$ref": "#/definitions/DataConnection", + "description": "The data connection properties to validate." + } + }, + "description": "Class representing an data connection validation." + }, + "EventHubDataConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The Event Hub data connection properties to validate.", + "$ref": "#/definitions/EventHubConnectionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataConnection" + } + ], + "description": "Class representing an event hub data connection.", + "x-ms-discriminator-value": "EventHub" + }, + "IotHubDataConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The Iot Hub data connection properties.", + "$ref": "#/definitions/IotHubConnectionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataConnection" + } + ], + "description": "Class representing an iot hub data connection.", + "x-ms-discriminator-value": "IotHub" + }, + "EventGridDataConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of the Event Grid data connection.", + "$ref": "#/definitions/EventGridConnectionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataConnection" + } + ], + "description": "Class representing an Event Grid data connection.", + "x-ms-discriminator-value": "EventGrid" + }, + "DataConnectionValidationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DataConnectionValidationResult" + }, + "description": "The list of Kusto data connection validation errors." + } + }, + "description": "The list Kusto data connection validation result." + }, + "DataConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DataConnection" + }, + "description": "The list of Kusto data connections." + } + }, + "description": "The list Kusto data connections operation response." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "An error response from Kusto." + } + }, + "description": "An error response from Kusto." + }, + "ClusterCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Cluster name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters" + ], + "x-ms-enum": { + "name": "ClusterType", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Kusto/clusters." + } + }, + "required": [ + "name", + "type" + ], + "description": "The result returned from a cluster check name availability request." + }, + "CheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Resource name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases", + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false + }, + "description": "The type of resource, for instance Microsoft.Kusto/clusters/databases." + } + }, + "required": [ + "name", + "type" + ], + "description": "The result returned from a database check name availability request." + }, + "ClusterPrincipalAssignmentCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Principal Assignment resource name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/principalAssignments" + ], + "x-ms-enum": { + "name": "PrincipalAssignmentType", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Kusto/clusters/principalAssignments." + } + }, + "required": [ + "name", + "type" + ], + "description": "A principal assignment check name availability request." + }, + "DataConnectionCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Data Connection name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/dataConnections" + ], + "x-ms-enum": { + "name": "DataConnectionType", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Kusto/clusters/databases/dataConnections." + } + }, + "required": [ + "name", + "type" + ], + "description": "A data connection check name availability request." + }, + "DatabasePrincipalAssignmentCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Principal Assignment resource name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/principalAssignments" + ], + "x-ms-enum": { + "name": "DatabasePrincipalAssignmentType", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Kusto/clusters/databases/principalAssignments." + } + }, + "required": [ + "name", + "type" + ], + "description": "A principal assignment check name availability request." + }, + "CheckNameResult": { + "type": "object", + "properties": { + "nameAvailable": { + "type": "boolean", + "description": "Specifies a Boolean value that indicates if the name is available." + }, + "name": { + "type": "string", + "description": "The name that was checked." + }, + "message": { + "type": "string", + "description": "Message indicating an unavailable name due to a conflict, or a description of the naming rules that are violated." + }, + "reason": { + "type": "string", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "reason", + "modelAsString": true + }, + "description": "Message providing the reason why the given name is invalid." + } + }, + "description": "The result returned from a check name availability request." + }, + "ListResourceSkusResult": { + "description": "List of available SKUs for a Kusto Cluster.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureResourceSku" + }, + "description": "The collection of available SKUs for an existing resource." + } + } + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for displaying in a user interface." + }, + "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": "A list of additional details about the error." + } + }, + "description": "An error response from Kusto." + }, + "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.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "title": "The list of operations supported by the resource provider." + }, + "nextLink": { + "type": "string", + "title": "The URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "title": "A REST API operation", + "type": "object", + "properties": { + "name": { + "title": "The operation name.", + "description": "This is of the format {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "title": "The object that describes the operation.", + "properties": { + "provider": { + "title": "Friendly name of the resource provider.", + "type": "string" + }, + "operation": { + "title": "The operation type.", + "description": "For example: read, write, delete.", + "type": "string" + }, + "resource": { + "title": "The resource type on which the operation is performed.", + "type": "string" + }, + "description": { + "title": "The friendly name of the operation.", + "type": "string" + } + } + }, + "origin": { + "title": "The intended executor of the operation.", + "type": "string" + }, + "properties": { + "title": "Properties of the operation.", + "type": "object", + "x-ms-client-flatten": true + } + } + }, + "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 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", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + }, + "userAssignedIdentities": { + "type": "object", + "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." + } + } + }, + "description": "The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "KeyVaultProperties": { + "description": "Properties of the key vault.", + "required": [ + "keyName", + "keyVaultUri" + ], + "properties": { + "keyName": { + "type": "string", + "description": "The name of the key vault key.", + "x-ms-client-name": "KeyName" + }, + "keyVersion": { + "type": "string", + "description": "The version of the key vault key.", + "x-ms-client-name": "KeyVersion" + }, + "keyVaultUri": { + "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 + } + } + }, + "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." + }, + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "description": "The name of the Kusto cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "AttachedDatabaseConfigurationNameParameter": { + "name": "attachedDatabaseConfigurationName", + "in": "path", + "description": "The name of the attached database configuration.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group containing the Kusto cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database in the Kusto cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DataConnectionNameParameter": { + "name": "dataConnectionName", + "in": "path", + "description": "The name of the data connection.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "PrincipalAssignmentNameParameter": { + "name": "principalAssignmentName", + "in": "path", + "description": "The name of the Kusto principalAssignment.", + "required": true, + "type": "string", + "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" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/kusto.json index c28870abff65..8d4a13f8c50b 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/kusto.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/kusto.json @@ -2853,6 +2853,7 @@ }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", + "readOnly": true, "description": "The provisioned state of the resource." }, "uri": { @@ -3229,6 +3230,7 @@ "properties": { "provisioningState": { "$ref": "#/definitions/ProvisioningState", + "readOnly": true, "description": "The provisioned state of the resource." }, "databaseName": { @@ -3277,6 +3279,7 @@ "properties": { "provisioningState": { "$ref": "#/definitions/ProvisioningState", + "readOnly": true, "description": "The provisioned state of the resource." }, "softDeletePeriod": { @@ -3291,6 +3294,7 @@ }, "statistics": { "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, "description": "The statistics of the database." }, "isFollowed": { @@ -3305,6 +3309,7 @@ "properties": { "provisioningState": { "$ref": "#/definitions/ProvisioningState", + "readOnly": true, "description": "The provisioned state of the resource." }, "softDeletePeriod": { @@ -3320,6 +3325,7 @@ }, "statistics": { "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, "description": "The statistics of the database." }, "leaderClusterResourceId": { @@ -3384,6 +3390,7 @@ }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", + "readOnly": true, "description": "The provisioned state of the resource." }, "managedIdentityResourceId": { @@ -3432,6 +3439,7 @@ }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", + "readOnly": true, "description": "The provisioned state of the resource." } }, @@ -3581,6 +3589,7 @@ }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", + "readOnly": true, "description": "The provisioned state of the resource." } }, @@ -3876,6 +3885,7 @@ }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", + "readOnly": true, "description": "The provisioned state of the resource." } }, @@ -3934,6 +3944,7 @@ }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", + "readOnly": true, "description": "The provisioned state of the resource." } }, @@ -3969,6 +3980,7 @@ }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", + "readOnly": true, "description": "The provisioned state of the resource." } }, diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-08-27/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-08-27/kusto.json index 6351163b3b32..c163a868c0a9 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-08-27/kusto.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-08-27/kusto.json @@ -4039,6 +4039,7 @@ }, "statistics": { "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, "description": "The statistics of the database." }, "isFollowed": { @@ -4069,6 +4070,7 @@ }, "statistics": { "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, "description": "The statistics of the database." }, "leaderClusterResourceId": { diff --git a/specification/azure-kusto/resource-manager/readme.md b/specification/azure-kusto/resource-manager/readme.md index 0c39778b0476..e989075272db 100644 --- a/specification/azure-kusto/resource-manager/readme.md +++ b/specification/azure-kusto/resource-manager/readme.md @@ -239,6 +239,10 @@ directive: from: kusto.json where: $.definitions.Database.required reason: Discriminator kind is required also in patch + - suppress: OAV131 + from: kusto.json + where: $.definitions.Database.required + reason: Discriminator kind is required also in patch - suppress: ListInOperationName from: kusto.json where: '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/addPrincipals"].post.operationId' diff --git a/specification/azureactivedirectory/resource-manager/readme.go.md b/specification/azureactivedirectory/resource-manager/readme.go.md index 121aa76ab04c..8b59c071aa55 100644 --- a/specification/azureactivedirectory/resource-manager/readme.go.md +++ b/specification/azureactivedirectory/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -```yaml $(go) +```yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: aad clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/aad/armaad +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/azureactivedirectory/resource-manager/readme.md b/specification/azureactivedirectory/resource-manager/readme.md index 977e3772c025..544b80c041e9 100644 --- a/specification/azureactivedirectory/resource-manager/readme.md +++ b/specification/azureactivedirectory/resource-manager/readme.md @@ -120,6 +120,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-ruby after_scripts: diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/azurearcdata.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/azurearcdata.json new file mode 100644 index 000000000000..ce4637cbac8d --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/azurearcdata.json @@ -0,0 +1,984 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-01", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.AzureArcData/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Azure Data Services on Azure Arc API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved operations.", + "schema": { + "$ref": "./operations.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Lists all of the available Azure Data Services on Azure Arc API operations.": { + "$ref": "./examples/ListOperation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlManagedInstances": { + "get": { + "tags": [ + "SqlManagedInstances" + ], + "operationId": "SqlManagedInstances_List", + "summary": "List sqlManagedInstance resources in the subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 404 ResourceNotFound - The requested resource was not found.", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL Instance in a subscription.": { + "$ref": "./examples/ListSubscriptionSqlManagedInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances": { + "get": { + "tags": [ + "SqlManagedInstances" + ], + "operationId": "SqlManagedInstances_ListByResourceGroup", + "description": "Gets all sqlManagedInstances in a resource group.", + "summary": "List sqlManagedInstance resources in the resource group", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL Instance in a resource group.": { + "$ref": "./examples/ListByResourceGroupSqlManagedInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}": { + "get": { + "tags": [ + "SqlManagedInstances" + ], + "operationId": "SqlManagedInstances_Get", + "description": "Retrieves a SQL Managed Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "sqlManagedInstanceName", + "description": "Name of SQL Managed Instance", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a SQL Instance tags.": { + "$ref": "./examples/GetSqlManagedInstance.json" + } + } + }, + "put": { + "tags": [ + "SqlManagedInstances" + ], + "operationId": "SqlManagedInstances_Create", + "description": "Creates or replaces a SQL Managed Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "sqlManagedInstanceName", + "description": "The name of SQL Managed Instances", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "name": "sqlManagedInstance", + "in": "body", + "description": "The SQL Managed Instance to be created or updated.", + "required": true, + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a SQL Managed Instance": { + "$ref": "./examples/CreateOrUpdateSqlManagedInstance.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "SqlManagedInstances" + ], + "operationId": "SqlManagedInstances_Delete", + "description": "Deletes a SQL Managed Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "sqlManagedInstanceName", + "description": "The name of Sql Managed Instances", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the SQL Managed Instance." + }, + "202": { + "description": "Resource deletion is in progress.." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + }, + "204": { + "description": "The specified SQL Managed Instance does not exist." + } + }, + "x-ms-examples": { + "Delete a SQL Instance.": { + "$ref": "./examples/DeleteSqlManagedInstance.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "SqlManagedInstances" + ], + "operationId": "SqlManagedInstances_Update", + "description": "Updates a SQL Managed Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "sqlManagedInstanceName", + "description": "Name of sqlManagedInstance", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "name": "parameters", + "in": "body", + "description": "The SQL Managed Instance.", + "required": true, + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstanceUpdate" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a sql Instance tags.": { + "$ref": "./examples/UpdateSqlManagedInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerInstances": { + "get": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_List", + "summary": "List sqlServerInstance resources in the subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 404 ResourceNotFound - The requested resource was not found.", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL Server Instance in a subscription.": { + "$ref": "./examples/ListSubscriptionSqlServerInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances": { + "get": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_ListByResourceGroup", + "description": "Gets all sqlServerInstances in a resource group.", + "summary": "List sqlServerInstance resources in the resource group", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL Server Instance in a resource group.": { + "$ref": "./examples/ListByResourceGroupSqlServerInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}": { + "get": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_Get", + "description": "Retrieves a SQL Server Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "sqlServerInstanceName", + "description": "Name of SQL Server Instance", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a SQL Server Instance tags.": { + "$ref": "./examples/GetSqlServerInstance.json" + } + } + }, + "put": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_Create", + "description": "Creates or replaces a SQL Server Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "sqlServerInstanceName", + "description": "The name of SQL Server Instance", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "name": "sqlServerInstance", + "in": "body", + "description": "The SQL Server Instance to be created or updated.", + "required": true, + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a SQL Server Instance tags.": { + "$ref": "./examples/CreateOrUpdateSqlServerInstance.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_Delete", + "description": "Deletes a SQL Server Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "sqlServerInstanceName", + "description": "The name of SQL Server Instance", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the SQL Server Instance." + }, + "202": { + "description": "Resource deletion is in progress." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + }, + "204": { + "description": "The specified SQL Server Instance does not exist." + } + }, + "x-ms-examples": { + "Delete a SQL Server Instance.": { + "$ref": "./examples/DeleteSqlServerInstance.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_Update", + "description": "Updates a SQL Server Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "sqlServerInstanceName", + "description": "Name of sqlServerInstance", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "name": "parameters", + "in": "body", + "description": "The SQL Server Instance.", + "required": true, + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstanceUpdate" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a SQL Server Instance tags.": { + "$ref": "./examples/UpdateSqlServerInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/dataControllers": { + "get": { + "tags": [ + "DataControllers" + ], + "operationId": "DataControllers_ListInSubscription", + "summary": "List dataController resources in the subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./dataControllers.json#/definitions/PageOfDataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all dataControllers in a subscription.": { + "$ref": "./examples/ListSubscriptionDataController.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers": { + "get": { + "tags": [ + "DataControllers" + ], + "operationId": "DataControllers_ListInGroup", + "summary": "List dataController resources in the resource group", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./dataControllers.json#/definitions/PageOfDataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all dataControllers in a resource group.": { + "$ref": "./examples/ListByResourceGroupDataController.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}": { + "put": { + "tags": [ + "DataControllers" + ], + "operationId": "DataControllers_PutDataController", + "description": "Creates or replaces a dataController resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "dataControllerResource", + "description": "desc", + "required": true, + "in": "body", + "schema": { + "$ref": "./dataControllers.json#/definitions/DataControllerResource" + } + }, + { + "name": "dataControllerName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./dataControllers.json#/definitions/DataControllerResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./dataControllers.json#/definitions/DataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a Data Controller.": { + "$ref": "./examples/CreateOrUpdateDataController.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "DataControllers" + ], + "operationId": "DataControllers_DeleteDataController", + "description": "Deletes a dataController resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "dataControllerName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the DataController." + }, + "202": { + "description": "Resource deletion is in progress." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + }, + "204": { + "description": "The specified DataController does not exist." + } + }, + "x-ms-examples": { + "Delete a dataController.": { + "$ref": "./examples/DeleteDataController.json" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "DataControllers" + ], + "operationId": "DataControllers_GetDataController", + "description": "Retrieves a dataController resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "dataControllerName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./dataControllers.json#/definitions/DataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a data controller.": { + "$ref": "./examples/GetDataController.json" + } + } + }, + "patch": { + "tags": [ + "DataControllers" + ], + "operationId": "DataControllers_PatchDataController", + "description": "Updates a dataController resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "dataControllerName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "name": "dataControllerResource", + "description": "The update data controller resource", + "required": true, + "in": "body", + "schema": { + "$ref": "./dataControllers.json#/definitions/DataControllerUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./dataControllers.json#/definitions/DataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a dataController tags.": { + "$ref": "./examples/UpdateDataController.json" + } + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Azure subscription", + "x-ms-parameter-location": "client" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure resource group", + "x-ms-parameter-location": "method" + }, + "location": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region to use for the request", + "x-ms-parameter-location": "method" + }, + "apiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the request", + "x-ms-parameter-location": "client" + } + }, + "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" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/common.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/common.json new file mode 100644 index 000000000000..9add6d681f3f --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/common.json @@ -0,0 +1,121 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-01", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "CommonSku": { + "description": "The resource model definition representing SKU for ARM resources", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU. It is typically a letter+number code" + }, + "dev": { + "type": "boolean", + "default": true, + "description": "Whether dev/test is enabled. When the dev field is set to true, the resource is used for dev/test purpose. " + }, + "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" + ] + }, + "ErrorResponse": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorResponseBody", + "description": "null" + } + }, + "description": "An error response from the Azure Data on Azure Arc service." + }, + "ErrorResponseBody": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "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/ErrorResponseBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the Batch service." + }, + "ExtendedLocation": { + "type": "object", + "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." + } + } + }, + "ExtendedLocationType": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "CustomLocation" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "BasicLoginInformation": { + "type": "object", + "description": "Username and password for basic login authentication.", + "properties": { + "username": { + "type": "string", + "description": "Login username." + }, + "password": { + "type": "string", + "description": "Login password.", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/dataControllers.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/dataControllers.json new file mode 100644 index 000000000000..267f84eb8252 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/dataControllers.json @@ -0,0 +1,224 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-01", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "DataControllerResource": { + "description": "Data controller resource", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "extendedLocation": { + "$ref": "./common.json#/definitions/ExtendedLocation", + "description": "The extendedLocation of the resource." + }, + "properties": { + "$ref": "#/definitions/DataControllerProperties", + "description": "The data controller's properties", + "x-ms-client-flatten": false + } + }, + "required": [ + "properties" + ] + }, + "PageOfDataControllerResource": { + "type": "object", + "properties": { + "value": { + "items": { + "$ref": "#/definitions/DataControllerResource" + }, + "type": "array" + }, + "nextLink": { + "type": "string", + "description": "Link to retrieve next page of results." + } + } + }, + "DataControllerUpdate": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "Used for updating a data controller resource." + }, + "DataControllerProperties": { + "description": "The data controller properties.", + "type": "object", + "properties": { + "infrastructure": { + "type": "string", + "enum": [ + "azure", + "gcp", + "aws", + "alibaba", + "onpremises", + "other" + ], + "x-ms-enum": { + "name": "infrastructure", + "modelAsString": false + }, + "default": "other", + "description": "The infrastructure the data controller is running on." + }, + "onPremiseProperty": { + "$ref": "#/definitions/OnPremiseProperty" + }, + "k8sRaw": { + "type": "object", + "description": "The raw kubernetes information" + }, + "uploadWatermark": { + "$ref": "#/definitions/UploadWatermark" + }, + "lastUploadedDate": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date from Kubernetes cluster. Defaults to current date time" + }, + "basicLoginInformation": { + "$ref": "./common.json#/definitions/BasicLoginInformation", + "description": "Deprecated. Azure Arc Data Services data controller no longer expose any endpoint. All traffic are exposed through Kubernetes native API." + }, + "metricsDashboardCredential": { + "$ref": "./common.json#/definitions/BasicLoginInformation", + "description": "Login credential for metrics dashboard on the Kubernetes cluster." + }, + "logsDashboardCredential": { + "$ref": "./common.json#/definitions/BasicLoginInformation", + "description": "Login credential for logs dashboard on the Kubernetes cluster." + }, + "logAnalyticsWorkspaceConfig": { + "$ref": "#/definitions/LogAnalyticsWorkspaceConfig" + }, + "uploadServicePrincipal": { + "$ref": "#/definitions/UploadServicePrincipal", + "description": "Deprecated. Service principal is deprecated in favor of Arc Kubernetes service extension managed identity." + }, + "provisioningState": { + "type": "string", + "readOnly": true + }, + "clusterId": { + "type": "string", + "description": "If a CustomLocation is provided, this contains the ARM id of the connected cluster the custom location belongs to." + }, + "extensionId": { + "type": "string", + "description": "If a CustomLocation is provided, this contains the ARM id of the extension the custom location belongs to." + } + } + }, + "UploadWatermark": { + "description": "Properties on upload watermark. Mostly timestamp for each upload data type", + "type": "object", + "properties": { + "metrics": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date for metrics from kubernetes cluster. Defaults to current date time" + }, + "logs": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date for logs from kubernetes cluster. Defaults to current date time" + }, + "usages": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date for usages from kubernetes cluster. Defaults to current date time" + } + } + }, + "OnPremiseProperty": { + "description": "Properties from the Kubernetes data controller", + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "description": "A globally unique ID identifying the associated Kubernetes cluster" + }, + "publicSigningKey": { + "type": "string", + "description": "Certificate that contains the Kubernetes cluster public key used to verify signing" + }, + "signingCertificateThumbprint": { + "type": "string", + "description": "Unique thumbprint returned to customer to verify the certificate being uploaded" + } + }, + "required": [ + "id", + "publicSigningKey" + ] + }, + "LogAnalyticsWorkspaceConfig": { + "type": "object", + "description": "Log analytics workspace id and primary key", + "properties": { + "workspaceId": { + "type": "string", + "format": "uuid", + "description": "Azure Log Analytics workspace ID" + }, + "primaryKey": { + "type": "string", + "description": "Primary key of the workspace", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "UploadServicePrincipal": { + "type": "object", + "description": "Service principal for uploading billing, metrics and logs.", + "properties": { + "clientId": { + "type": "string", + "format": "uuid", + "description": "Client ID of the service principal for uploading data." + }, + "tenantId": { + "type": "string", + "format": "uuid", + "description": "Tenant ID of the service principal." + }, + "authority": { + "type": "string", + "description": "Authority for the service principal. Example: https://login.microsoftonline.com/" + }, + "clientSecret": { + "type": "string", + "description": "Secret of the service principal", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/CreateOrUpdateDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/CreateOrUpdateDataController.json new file mode 100644 index 000000000000..1832a483cf12 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/CreateOrUpdateDataController.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "api-version": "2021-11-01", + "dataControllerResource": { + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey" + }, + "basicLoginInformation": { + "username": "username", + "password": "********" + }, + "metricsDashboardCredential": { + "username": "username", + "password": "********" + }, + "logsDashboardCredential": { + "username": "username", + "password": "********" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444", + "primaryKey": "********" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/", + "clientSecret": "********" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate being uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController", + "name": "testdataController", + "type": "Microsoft.AzureArcData/dataControllers" + } + }, + "201": { + "body": { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate being uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController", + "name": "testdataController", + "type": "Microsoft.AzureArcData/dataControllers" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/CreateOrUpdateSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/CreateOrUpdateSqlManagedInstance.json new file mode 100644 index 000000000000..8292fb527201 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/CreateOrUpdateSqlManagedInstance.json @@ -0,0 +1,181 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2021-11-01", + "sqlManagedInstance": { + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username", + "password": "********" + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + } + }, + "201": { + "body": { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/CreateOrUpdateSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/CreateOrUpdateSqlServerInstance.json new file mode 100644 index 000000000000..092331354ab9 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/CreateOrUpdateSqlServerInstance.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlServerInstance", + "api-version": "2021-11-01", + "sqlServerInstance": { + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "vCore": "4", + "patchLevel": "patchlevel", + "collation": "collation", + "currentVersion": "2008 R2", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "status": "Connected", + "azureDefenderStatus": "Protected" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "currentVersion": "2008 R2", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "status": "Connected", + "azureDefenderStatus": "Protected" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance", + "name": "testsqlServerInstance", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + }, + "201": { + "body": { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "currentVersion": "2008 R2", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "status": "Connected", + "azureDefenderStatus": "Protected" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance", + "name": "testsqlServerInstance", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/DeleteDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/DeleteDataController.json new file mode 100644 index 000000000000..f118422dae74 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/DeleteDataController.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "api-version": "2021-11-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/DeleteSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/DeleteSqlManagedInstance.json new file mode 100644 index 000000000000..3af31b58b062 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/DeleteSqlManagedInstance.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2021-11-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/DeleteSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/DeleteSqlServerInstance.json new file mode 100644 index 000000000000..9a9882217eeb --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/DeleteSqlServerInstance.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlServerInstance", + "api-version": "2021-11-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/GetDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/GetDataController.json new file mode 100644 index 000000000000..ee948eb23b0f --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/GetDataController.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController", + "name": "testdataController", + "type": "Microsoft.AzureArcData/dataControllers" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/GetSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/GetSqlManagedInstance.json new file mode 100644 index 000000000000..6a9b25ad78e2 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/GetSqlManagedInstance.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureArcData/sqlManagedInstance" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/GetSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/GetSqlServerInstance.json new file mode 100644 index 000000000000..69f8ce89f27c --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/GetSqlServerInstance.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlServerInstance", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "currentVersion": "2008 R2", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Connected" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance", + "name": "testsqlServerInstance", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListByResourceGroupDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListByResourceGroupDataController.json new file mode 100644 index 000000000000..446fe65c4573 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListByResourceGroupDataController.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController1", + "name": "testdataController1", + "type": "Microsoft.AzureArcData/dataControllers" + }, + { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController2", + "name": "testdataController2", + "type": "Microsoft.AzureArcData/dataControllers" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListByResourceGroupSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListByResourceGroupSqlManagedInstance.json new file mode 100644 index 000000000000..319bc72531da --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListByResourceGroupSqlManagedInstance.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "licenseType": "LicenseIncluded", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/sqlManagedInstance1", + "name": "sqlManagedInstances1", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + }, + { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/sqlManagedInstance2", + "name": "sqlManagedInstances2", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListByResourceGroupSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListByResourceGroupSqlServerInstance.json new file mode 100644 index 000000000000..b127ad2dedcb --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListByResourceGroupSqlServerInstance.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "currentVersion": "2008 R2", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Connected" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance1", + "name": "sqlServerInstance1", + "type": "Microsoft.AzureArcData/SqlServerInstances" + }, + { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "currentVersion": "2008 R2", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Connected" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance2", + "name": "sqlServerInstance2", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListOperation.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListOperation.json new file mode 100644 index 000000000000..bad79a8930ef --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListOperation.json @@ -0,0 +1,243 @@ +{ + "parameters": { + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.AzureArcData/Locations/OperationStatuses/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "Locations/OperationStatuses", + "operation": "read_OperationStatuses", + "description": "read OperationStatuses" + } + }, + { + "name": "Microsoft.AzureArcData/Locations/OperationStatuses/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "Locations/OperationStatuses", + "operation": "write_OperationStatuses", + "description": "write OperationStatuses" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers", + "operation": "DataControllers_ListInSubscription", + "description": "read dataControllers" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers", + "operation": "DataControllers_ListInGroup", + "description": "read dataControllers" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers", + "operation": "DataControllers_GetDataController", + "description": "Retrieves a dataController resource" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers", + "operation": "DataControllers_PutDataController", + "description": "Creates or replaces a dataController resource" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers", + "operation": "DataControllers_DeleteDataController", + "description": "Deletes a dataController resource" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers", + "operation": "DataControllers_PatchDataController", + "description": "Updates a dataController resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlManagedInstances/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlManagedInstances", + "operation": "SqlManagedInstances_List", + "description": "read sqlManagedInstances" + } + }, + { + "name": "Microsoft.AzureArcData/sqlManagedInstances/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlManagedInstances", + "operation": "SqlManagedInstances_ListByResourceGroup", + "description": "Gets all sqlManagedInstances in a resource group." + } + }, + { + "name": "Microsoft.AzureArcData/sqlManagedInstances/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlManagedInstances", + "operation": "SqlManagedInstances_Get", + "description": "Retrieves a SQL Managed Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlManagedInstances/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlManagedInstances", + "operation": "SqlManagedInstances_Create", + "description": "Creates or replaces a SQL Managed Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlManagedInstances/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlManagedInstances", + "operation": "SqlManagedInstances_Delete", + "description": "Deletes a SQL Managed Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlManagedInstances/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlManagedInstances", + "operation": "SqlManagedInstances_Update", + "description": "Updates a SQL Managed Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances", + "operation": "SqlServerInstances_List", + "description": "read sqlServerInstances" + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances", + "operation": "SqlServerInstances_ListByResourceGroup", + "description": "Gets all sqlServerInstances in a resource group." + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances", + "operation": "SqlServerInstances_Get", + "description": "Retrieves a SQL Server Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances", + "operation": "SqlServerInstances_Create", + "description": "Creates or replaces a SQL Server Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances", + "operation": "SqlServerInstances_Delete", + "description": "Deletes a SQL Server Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances", + "operation": "SqlServerInstances_Update", + "description": "Updates a SQL Server Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/register/action", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "Microsoft.AzureArcData", + "operation": "Register the Microsoft.AzureArcData", + "description": "Register the subscription for Microsoft.AzureArcData" + } + }, + { + "name": "Microsoft.AzureArcData/unregister/action", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "Microsoft.AzureArcData", + "operation": "Unregister the Microsoft.AzureArcData", + "description": "Unregister the subscription for Microsoft.AzureArcData" + } + }, + { + "name": "Microsoft.AzureArcData/Operations/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "Operations", + "operation": "read_Operations", + "description": "read Operations" + } + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListSubscriptionDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListSubscriptionDataController.json new file mode 100644 index 000000000000..f33da3963d52 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListSubscriptionDataController.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController1", + "name": "testdataController1", + "type": "Microsoft.AzureArcData/dataControllers" + }, + { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension" + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController2", + "name": "testdataController2", + "type": "Microsoft.AzureArcData/dataControllers" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListSubscriptionSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListSubscriptionSqlManagedInstance.json new file mode 100644 index 000000000000..d909adbe5e9c --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListSubscriptionSqlManagedInstance.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlManagedInstances/sqlManagedInstance1", + "name": "sqlManagedInstances1", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + }, + { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlManagedInstances/sqlManagedInstance2", + "name": "sqlManagedInstances2", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListSubscriptionSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListSubscriptionSqlServerInstance.json new file mode 100644 index 000000000000..a51218756782 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListSubscriptionSqlServerInstance.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "currentVersion": "2008 R2", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Connected" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance1", + "name": "sqlServerInstance1", + "type": "Microsoft.AzureArcData/SqlServerInstances" + }, + { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "currentVersion": "2008 R2", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Connected" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance2", + "name": "sqlServerInstance2", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/UpdateDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/UpdateDataController.json new file mode 100644 index 000000000000..514c9f24c669 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/UpdateDataController.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController1", + "api-version": "2021-11-01", + "dataControllerResource": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController1", + "name": "testdataController1", + "type": "Microsoft.AzureArcData/dataControllers" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/UpdateSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/UpdateSqlManagedInstance.json new file mode 100644 index 000000000000..d2873bf289d1 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/UpdateSqlManagedInstance.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2021-11-01", + "parameters": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/UpdateSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/UpdateSqlServerInstance.json new file mode 100644 index 000000000000..c556c6f13f52 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/UpdateSqlServerInstance.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlServerInstance", + "api-version": "2021-11-01", + "parameters": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "currentVersion": "2008 R2", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Connected" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance", + "name": "testsqlServerInstance", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/operations.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/operations.json new file mode 100644 index 000000000000..be32e92dced1 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/operations.json @@ -0,0 +1,103 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-01", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "Operation": { + "description": "Azure Data Services on Azure Arc operation definition.", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation being performed on this particular object.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "The localized display information for this particular operation / action." + }, + "origin": { + "description": "The intended executor of the operation.", + "enum": [ + "user", + "system" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "OperationOrigin", + "modelAsString": true + } + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "properties": { + "description": "Additional descriptions for the operation.", + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true, + "x-ms-client-flatten": false + } + }, + "required": [ + "name", + "display", + "isDataAction" + ] + }, + "OperationListResult": { + "description": "Result of the request to list Azure Data Services on Azure Arc operations.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "OperationDisplay": { + "description": "Display metadata associated with the operation.", + "type": "object", + "properties": { + "provider": { + "description": "The localized friendly form of the resource provider name.", + "type": "string" + }, + "resource": { + "description": "The localized friendly form of the resource type related to this action/operation.", + "type": "string" + }, + "operation": { + "description": "The localized friendly name for the operation.", + "type": "string" + }, + "description": { + "description": "The localized friendly description for the operation.", + "type": "string" + } + }, + "required": [ + "provider", + "resource", + "operation", + "description" + ] + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/sqlManagedInstances.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/sqlManagedInstances.json new file mode 100644 index 000000000000..620704b2c298 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/sqlManagedInstances.json @@ -0,0 +1,251 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-01", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "SqlManagedInstance": { + "description": "A SqlManagedInstance.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlManagedInstanceProperties", + "description": "null", + "x-ms-client-flatten": false + }, + "extendedLocation": { + "$ref": "./common.json#/definitions/ExtendedLocation", + "description": "The extendedLocation of the resource." + }, + "sku": { + "$ref": "#/definitions/SqlManagedInstanceSku", + "description": "Resource sku." + } + }, + "required": [ + "properties" + ] + }, + "SqlManagedInstanceSku": { + "description": "The resource model definition representing SKU for Azure Managed Instance - Azure Arc", + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "vCore" + ], + "description": "The name of the SKU." + }, + "tier": { + "type": "string", + "enum": [ + "GeneralPurpose", + "BusinessCritical" + ], + "x-ms-enum": { + "name": "SqlManagedInstanceSkuTier", + "modelAsString": false + }, + "default": "GeneralPurpose", + "description": "The pricing tier for the instance." + }, + "dev": { + "type": "boolean", + "default": true, + "description": "Whether dev/test is enabled. When the dev field is set to true, the resource is used for dev/test purpose. " + }, + "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" + }, + "capacity": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "name" + ] + }, + "SqlManagedInstanceProperties": { + "description": "Properties of sqlManagedInstance.", + "type": "object", + "properties": { + "dataControllerId": { + "type": "string", + "description": "null" + }, + "admin": { + "type": "string", + "description": "The instance admin user" + }, + "startTime": { + "type": "string", + "description": "The instance start time" + }, + "endTime": { + "type": "string", + "description": "The instance end time" + }, + "k8sRaw": { + "$ref": "#/definitions/SqlManagedInstanceK8sRaw", + "description": "The raw kubernetes information" + }, + "basicLoginInformation": { + "$ref": "./common.json#/definitions/BasicLoginInformation", + "description": "Username and password for basic authentication." + }, + "lastUploadedDate": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date from Kubernetes cluster. Defaults to current date time" + }, + "provisioningState": { + "type": "string", + "readOnly": true + }, + "licenseType": { + "type": "string", + "enum": [ + "BasePrice", + "LicenseIncluded" + ], + "x-ms-enum": { + "name": "arcSqlManagedInstanceLicenseType", + "modelAsString": false + }, + "default": "BasePrice", + "description": "The license type to apply for this managed instance." + }, + "clusterId": { + "type": "string", + "description": "If a CustomLocation is provided, this contains the ARM id of the connected cluster the custom location belongs to." + }, + "extensionId": { + "type": "string", + "description": "If a CustomLocation is provided, this contains the ARM id of the extension the custom location belongs to." + } + } + }, + "SqlManagedInstanceUpdate": { + "description": "An update to a SQL Managed Instance.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SqlManagedInstanceK8sRaw": { + "type": "object", + "description": "The raw kubernetes information.", + "properties": { + "spec": { + "$ref": "#/definitions/SqlManagedInstanceK8sSpec" + } + }, + "additionalProperties": { + "type": "object" + } + }, + "SqlManagedInstanceK8sSpec": { + "type": "object", + "description": "The kubernetes spec information.", + "properties": { + "scheduling": { + "$ref": "#/definitions/K8sScheduling" + }, + "replicas": { + "type": "integer", + "format": "int32", + "description": "This option specifies the number of SQL Managed Instance replicas that will be deployed in your Kubernetes cluster for high availability purposes. If sku.tier is BusinessCritical, allowed values are '2' or '3' with default of '3'. If sku.tier is GeneralPurpose, replicas must be '1'." + } + }, + "additionalProperties": { + "type": "object" + } + }, + "K8sScheduling": { + "type": "object", + "description": "The kubernetes scheduling information.", + "properties": { + "default": { + "$ref": "#/definitions/K8sSchedulingOptions" + } + }, + "additionalProperties": { + "type": "object" + } + }, + "K8sSchedulingOptions": { + "type": "object", + "description": "The kubernetes scheduling options. It describes restrictions used to help Kubernetes select appropriate nodes to host the database service", + "properties": { + "resources": { + "$ref": "#/definitions/K8sResourceRequirements" + } + }, + "additionalProperties": { + "type": "object" + } + }, + "K8sResourceRequirements": { + "type": "object", + "description": "The kubernetes resource limits and requests used to restrict or reserve resource usage.", + "properties": { + "requests": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Requests for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum 'memory' is '128Gi'." + }, + "limits": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Limits for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum 'memory' is '128Gi'." + } + }, + "additionalProperties": { + "type": "object" + } + }, + "SqlManagedInstanceListResult": { + "description": "A list of SqlManagedInstance.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlManagedInstance" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/sqlServerInstances.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/sqlServerInstances.json new file mode 100644 index 000000000000..d5c61cffd87a --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/sqlServerInstances.json @@ -0,0 +1,188 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-01", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "SqlServerInstance": { + "description": "A SqlServerInstance.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlServerInstanceProperties", + "description": "null", + "x-ms-client-flatten": false + } + } + }, + "SqlServerInstanceProperties": { + "description": "Properties of SqlServerInstance.", + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "SQL Server version.", + "enum": [ + "SQL Server 2019", + "SQL Server 2017", + "SQL Server 2016" + ], + "x-ms-enum": { + "name": "sqlVersion", + "modelAsString": true + } + }, + "edition": { + "type": "string", + "description": "SQL Server edition.", + "enum": [ + "Evaluation", + "Enterprise", + "Standard", + "Web", + "Developer", + "Express" + ], + "x-ms-enum": { + "name": "editionType", + "modelAsString": true + } + }, + "containerResourceId": { + "type": "string", + "description": "ARM Resource id of the container resource (Azure Arc for Servers)." + }, + "createTime": { + "type": "string", + "description": "The time when the resource was created.", + "readOnly": true + }, + "vCore": { + "type": "string", + "description": "The number of logical processors used by the SQL Server instance." + }, + "status": { + "type": "string", + "description": "The cloud connectivity status.", + "enum": [ + "Connected", + "Disconnected", + "Unknown" + ], + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "patchLevel": { + "type": "string", + "description": "SQL Server update level." + }, + "collation": { + "type": "string", + "description": "SQL Server collation." + }, + "currentVersion": { + "type": "string", + "description": "SQL Server current version." + }, + "instanceName": { + "type": "string", + "description": "SQL Server instance name." + }, + "tcpDynamicPorts": { + "type": "string", + "description": "Dynamic TCP ports used by SQL Server." + }, + "tcpStaticPorts": { + "type": "string", + "description": "Static TCP ports used by SQL Server." + }, + "productId": { + "type": "string", + "description": "SQL Server product ID." + }, + "licenseType": { + "type": "string", + "description": "SQL Server license type.", + "enum": [ + "Paid", + "Free", + "HADR", + "Undefined" + ], + "x-ms-enum": { + "name": "arcSqlServerLicenseType", + "modelAsString": true + } + }, + "azureDefenderStatusLastUpdated": { + "type": "string", + "format": "date-time", + "description": "Timestamp of last Azure Defender status update." + }, + "azureDefenderStatus": { + "type": "string", + "description": "Status of Azure Defender.", + "enum": [ + "Protected", + "Unprotected", + "Unknown" + ], + "x-ms-enum": { + "name": "defenderStatus", + "modelAsString": true + } + }, + "provisioningState": { + "type": "string", + "readOnly": true + } + }, + "required": [ + "containerResourceId", + "status" + ] + }, + "SqlServerInstanceUpdate": { + "description": "An update to a SQL Server Instance.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SqlServerInstanceListResult": { + "description": "A list of SqlServerInstance.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlServerInstance" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/readme.azureresourceschema.md b/specification/azurearcdata/resource-manager/readme.azureresourceschema.md deleted file mode 100644 index 8a5870cc234b..000000000000 --- a/specification/azurearcdata/resource-manager/readme.azureresourceschema.md +++ /dev/null @@ -1,24 +0,0 @@ -## AzureResourceSchema - -These settings apply only when `--azureresourceschema` is specified on the command line. - -### AzureResourceSchema multi-api - -``` yaml $(azureresourceschema) && $(multiapi) -batch: - - tag: schema-azurearcdata-2021-08-01 - -``` - -Please also specify `--azureresourceschema-folder=`. - -### Tag: schema-azurearcdata-2021-08-01 and azureresourceschema - -``` yaml $(tag) == 'schema-azurearcdata-2021-08-01' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.AzureArcData/stable/2021-08-01/azurearcdata.json - -``` diff --git a/specification/azurearcdata/resource-manager/readme.go.md b/specification/azurearcdata/resource-manager/readme.go.md index 52d7ddc4175a..68cbb4f69016 100644 --- a/specification/azurearcdata/resource-manager/readme.go.md +++ b/specification/azurearcdata/resource-manager/readme.go.md @@ -13,14 +13,14 @@ go: ``` yaml $(go) && $(multiapi) batch: - - tag: package-2021-08-01 + - tag: package-2021-11-01 ``` -### Tag: package-2021-08-01 and go +### Tag: package-2021-11-01 and go -These settings apply only when `--tag=package-2021-08-01 --go` is specified on the command line. +These settings apply only when `--tag=package-2021-11-01 --go` is specified on the command line. Please also specify `--go-sdk-folder=`. -```yaml $(tag) == 'package-2021-08-01' && $(go) -output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-08-01/$(namespace) +```yaml $(tag) == 'package-2021-11-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-11-01/$(namespace) ``` diff --git a/specification/azurearcdata/resource-manager/readme.md b/specification/azurearcdata/resource-manager/readme.md index 4ca5a9eb2e78..eaefd9dcb203 100644 --- a/specification/azurearcdata/resource-manager/readme.md +++ b/specification/azurearcdata/resource-manager/readme.md @@ -27,7 +27,16 @@ These are the global settings for the azurearcdata. ``` yaml openapi-type: arm openapi-subtype: rpaas -tag: package-2021-08-01 +tag: package-2021-11-01 +``` + +### Tag: package-2021-11-01 + +These settings apply only when `--tag=package-2021-11-01` is specified on the command line. + +```yaml $(tag) == 'package-2021-11-01' +input-file: + - Microsoft.AzureArcData/stable/2021-11-01/azurearcdata.json ``` ### Tag: package-2021-08-01 @@ -77,8 +86,6 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_azurearcdata'] - repo: azure-resource-manager-schemas - after_scripts: - - node sdkauto_afterscript.js azurearcdata/resource-manager ``` ## Go @@ -100,7 +107,3 @@ See configuration in [readme.typescript.md](./readme.typescript.md) ## CSharp See configuration in [readme.csharp.md](./readme.csharp.md) - -## AzureResourceSchema - -See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/azurearcdata/resource-manager/readme.python.md b/specification/azurearcdata/resource-manager/readme.python.md index a0e2218f035d..1195d6965697 100644 --- a/specification/azurearcdata/resource-manager/readme.python.md +++ b/specification/azurearcdata/resource-manager/readme.python.md @@ -8,7 +8,7 @@ azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-azurearcdata no-namespace-folders: true -package-version: 1.0.0b1 +package-version: 1.1.0b1 clear-output-folder: true ``` diff --git a/specification/azurearcdata/resource-manager/readme.ruby.md b/specification/azurearcdata/resource-manager/readme.ruby.md index 171ecdb4caaf..4613e571326e 100644 --- a/specification/azurearcdata/resource-manager/readme.ruby.md +++ b/specification/azurearcdata/resource-manager/readme.ruby.md @@ -4,16 +4,16 @@ These settings apply only when `--ruby` is specified on the command line. ```yaml package-name: azure_mgmt_azurearcdata -package-version: 2021-08-01 +package-version: 2021-11-01 azure-arm: true ``` -### Tag: package-2021-08-01 and ruby +### Tag: package-2021-11-01 and ruby -These settings apply only when `--tag=package-2021-08-01 --ruby` is specified on the command line. +These settings apply only when `--tag=package-2021-11-01 --ruby` is specified on the command line. Please also specify `--ruby-sdks-folder=`. -```yaml $(tag) == 'package-2021-08-01' && $(ruby) +```yaml $(tag) == 'package-2021-11-01' && $(ruby) namespace: Microsoft.AzureArcData output-folder: $(ruby-sdks-folder)/azurearcdata ``` diff --git a/specification/batch/resource-manager/readme.go.md b/specification/batch/resource-manager/readme.go.md index cf96dea9bd46..2583c70d9209 100644 --- a/specification/batch/resource-manager/readme.go.md +++ b/specification/batch/resource-manager/readme.go.md @@ -3,13 +3,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: batch clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/batch/armbatch +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ## Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/batch/resource-manager/readme.md b/specification/batch/resource-manager/readme.md index 61332e05cd70..d8780797b3fb 100644 --- a/specification/batch/resource-manager/readme.md +++ b/specification/batch/resource-manager/readme.md @@ -222,6 +222,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-node - repo: azure-sdk-for-js - repo: azure-sdk-for-ruby diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/billing.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/billing.json index 60c2cfe218a5..1270eac2b1b9 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/billing.json +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/billing.json @@ -7320,6 +7320,12 @@ "description": "The link (url) to the next page of results.", "type": "string", "readOnly": true + }, + "totalCount": { + "description": "Total number of records.", + "type": "number", + "format": "int32", + "readOnly": true } } }, diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json index c04950dc4c18..ce04ec821cff 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json @@ -307,6 +307,15 @@ "type": "object", "properties": { "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PromotionCheckEligibilityResponsePromptionProperties" + } + } + }, + "PromotionCheckEligibilityResponsePromptionProperties": { + "type": "object", + "properties": { + "promotion": { "x-ms-client-flatten": true, "$ref": "#/definitions/PromotionCheckEligibilityResponseProperties" } diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/PromotionCheckEligibility.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/PromotionCheckEligibility.json index 43526fa5852c..88619396486a 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/PromotionCheckEligibility.json +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/PromotionCheckEligibility.json @@ -8,13 +8,15 @@ "200": { "body": { "properties": { - "id": "wvd_promo_30p", - "name": "WVD 30 percent off", - "eligible": true, - "reason": "None", - "details": "", - "eligibilitySubscriptionId": "f6dc64c8-34bb-43d3-96b0-fd2b8c94f1c3", - "expiryDate": "2021-10-01" + "promotion": { + "id": "wvd_promo_30p", + "name": "WVD 30 percent off", + "eligible": true, + "reason": "None", + "details": "", + "eligibilitySubscriptionId": "f6dc64c8-34bb-43d3-96b0-fd2b8c94f1c3", + "expiryDate": "2021-10-01" + } } } } diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billing.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billing.json index d26a16a24c4a..28f549ec77bc 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billing.json +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billing.json @@ -5037,6 +5037,12 @@ "description": "The link (url) to the next page of results.", "type": "string", "readOnly": true + }, + "totalCount": { + "description": "Total number of records.", + "type": "number", + "format": "int32", + "readOnly": true } } }, @@ -5092,8 +5098,8 @@ "$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, + "description": "The amount of Azure prepayment applied to the charges. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", "$ref": "#/definitions/Amount" }, "billedAmount": { diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/botservice.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/botservice.json index 3de5ee04b265..463ad9098055 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/botservice.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/botservice.json @@ -1461,6 +1461,14 @@ "etag": { "type": "string", "description": "Entity Tag" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Entity zones", + "readOnly": true } } }, @@ -1554,6 +1562,24 @@ "readOnly": true, "description": "The bot's endpoint version" }, + "allSettings": { + "description": "Contains resource all settings defined as key/value pairs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "parameters": { + "description": "Contains resource parameters defined as key/value pairs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "manifestUrl": { + "type": "string", + "description": "The bot's manifest url" + }, "msaAppType": { "type": "string", "description": "Microsoft App Type for the bot", @@ -1626,9 +1652,35 @@ "type": "string", "description": "The CMK Url" }, - "isIsolated": { + "cmekEncryptionStatus": { + "type": "string", + "description": "The CMK encryption status" + }, + "publicNetworkAccess": { + "description": "Whether the bot is in an isolated network", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "default": "Enabled" + }, + "isStreamingSupported": { "type": "boolean", - "description": "Whether the bot is in an isolated network" + "description": "Whether the bot is streaming supported" + }, + "isDeveloperAppInsightsApiKeySet": { + "type": "boolean", + "description": "Whether the bot is developerAppInsightsApiKey set" + }, + "migrationToken": { + "type": "string", + "description": "Token used to migrate non Azure bot to azure subscription", + "readOnly": true }, "disableLocalAuth": { "type": "boolean", @@ -1645,6 +1697,23 @@ "items": { "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" } + }, + "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" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Provisioning state of the resource" + }, + "publishingCredentials": { + "type": "string", + "description": "Publishing credentials of the resource" } }, "description": "The parameters to provide for the Bot.", @@ -1694,6 +1763,10 @@ "channelName": { "type": "string", "description": "The channel name" + }, + "etag": { + "type": "string", + "description": "Entity Tag of the resource" } }, "required": [ @@ -1713,6 +1786,15 @@ "properties": { "$ref": "#/definitions/AlexaChannelProperties", "description": "The set of properties specific to Alexa channel resource" + }, + "etag": { + "type": "string", + "description": "Entity Tag of the resource" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Provisioning state of the resource" } } }, @@ -1756,6 +1838,14 @@ "properties": { "$ref": "#/definitions/FacebookChannelProperties", "description": "The set of properties specific to bot facebook channel" + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the resource" + }, + "location": { + "type": "string", + "description": "Location of the resource" } } }, @@ -1829,6 +1919,14 @@ "properties": { "$ref": "#/definitions/EmailChannelProperties", "description": "The set of properties specific to email channel resource" + }, + "etag": { + "type": "string", + "description": "Entity Tag of the resource" + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the resource" } } }, @@ -1866,6 +1964,18 @@ "properties": { "$ref": "#/definitions/MsTeamsChannelProperties", "description": "The set of properties specific to Microsoft Teams channel resource" + }, + "etag": { + "type": "string", + "description": "Entity Tag of the resource" + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the resource" + }, + "location": { + "type": "string", + "description": "Location of the resource" } } }, @@ -1882,6 +1992,18 @@ "isEnabled": { "type": "boolean", "description": "Whether this channel is enabled for the bot" + }, + "incomingCallRoute": { + "type": "string", + "description": "Webhook for Microsoft Teams channel calls" + }, + "deploymentEnvironment": { + "type": "string", + "description": "Deployment environment for Microsoft Teams channel calls" + }, + "acceptedTerms": { + "type": "boolean", + "description": "Whether this channel accepted terms" } }, "description": "The parameters to provide for the Microsoft Teams channel.", @@ -1902,6 +2024,10 @@ "properties": { "$ref": "#/definitions/SkypeChannelProperties", "description": "The set of properties specific to Skype channel resource" + }, + "etag": { + "type": "string", + "description": "Entity Tag of the resource" } } }, @@ -1939,6 +2065,10 @@ "type": "string", "description": "Calling web hook for Skype channel" }, + "incomingCallRoute": { + "type": "string", + "description": "Incoming call route for Skype channel" + }, "isEnabled": { "type": "boolean", "description": "Whether this channel is enabled for the bot" @@ -2003,6 +2133,18 @@ "properties": { "$ref": "#/definitions/WebChatChannelProperties", "description": "The set of properties specific to Web Chat channel resource" + }, + "location": { + "type": "string", + "description": "Location of the resource" + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the resource" + }, + "etag": { + "type": "string", + "description": "Entity Tag of the resource" } } }, @@ -2039,6 +2181,18 @@ "properties": { "$ref": "#/definitions/DirectLineChannelProperties", "description": "The set of properties specific to Direct Line channel resource" + }, + "etag": { + "type": "string", + "description": "Entity Tag of the resource" + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the resource" + }, + "location": { + "type": "string", + "description": "Location of the resource" } } }, @@ -2050,6 +2204,10 @@ "$ref": "#/definitions/DirectLineSite" }, "description": "The list of Direct Line sites" + }, + "DirectLineEmbedCode": { + "type": "string", + "description": "Direct Line embed code of the resource" } }, "description": "The parameters to provide for the Direct Line channel." @@ -2067,6 +2225,14 @@ "properties": { "$ref": "#/definitions/TelegramChannelProperties", "description": "The set of properties specific to Telegram channel resource" + }, + "etag": { + "type": "string", + "description": "Entity Tag of the resource" + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the resource" } } }, @@ -2104,6 +2270,10 @@ "properties": { "$ref": "#/definitions/SmsChannelProperties", "description": "The set of properties specific to Sms channel resource" + }, + "etag": { + "type": "string", + "description": "Entity Tag of the resource" } } }, @@ -2151,6 +2321,14 @@ "properties": { "$ref": "#/definitions/SlackChannelProperties", "description": "The set of properties specific to Slack channel resource" + }, + "etag": { + "type": "string", + "description": "Entity Tag of the resource" + }, + "location": { + "type": "string", + "description": "Location of the resource" } } }, @@ -2193,7 +2371,7 @@ "description": "Whether to register the settings before OAuth validation is performed. Recommended to True.", "readOnly": true }, - "isValidated": { + "IsValidated": { "type": "boolean", "description": "Whether this channel is validated for the bot", "readOnly": true @@ -2290,6 +2468,14 @@ "properties": { "$ref": "#/definitions/DirectLineSpeechChannelProperties", "description": "The set of properties specific to DirectLine Speech channel resource" + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the resource" + }, + "etag": { + "type": "string", + "description": "Entity Tag of the resource" } } }, @@ -2378,7 +2564,7 @@ "type": "boolean", "description": "Whether this site is enabled for DirectLine channel" }, - "enablePreview": { + "isWebchatPreviewEnabled": { "type": "boolean", "description": "Whether this site is enabled for preview versions of Webchat" } @@ -2386,7 +2572,7 @@ "required": [ "siteName", "isEnabled", - "enablePreview" + "isWebchatPreviewEnabled" ], "description": "A site for the Webchat channel" }, @@ -2436,6 +2622,10 @@ "type": "boolean", "description": "Whether this site is enabled for authentication with Bot Framework." }, + "isBlockUserUploadEnabled": { + "type": "boolean", + "description": "Whether this site is enabled for block user upload." + }, "trustedOrigins": { "type": "array", "description": "List of Trusted Origin URLs for this site. This field is applicable only if isSecureSiteEnabled is True.", @@ -2535,6 +2725,10 @@ "items": { "$ref": "#/definitions/ConnectionSettingParameter" } + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the resource" } }, "description": "Properties for a Connection Setting Item" @@ -2619,6 +2813,23 @@ "type": "string", "description": "Default Name for the Service Provider", "readOnly": true + }, + "metadata": { + "type": "object", + "description": "Meta data for the Service Provider", + "readOnly": true, + "properties": { + "constraints": { + "description": "the constraints of the bot meta data.", + "type": "object", + "properties": { + "required": { + "description": "Whether required the constraints of the bot meta data.", + "type": "boolean" + } + } + } + } } }, "description": "Extra Parameters specific to each Service Provider" diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/CreateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/CreateBot.json index c459dffeba3a..7ea5d1c3fb9c 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/CreateBot.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/CreateBot.json @@ -34,7 +34,7 @@ "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", "isCmekEnabled": true, "cmekKeyVaultUrl": "https://myCmekKey", - "isIsolated": false, + "publicNetworkAccess": "Enabled", "disableLocalAuth": true, "schemaTransformationVersion": "1.0" } @@ -78,7 +78,7 @@ ], "isCmekEnabled": true, "cmekKeyVaultUrl": "https://myCmekKey", - "isIsolated": false, + "publicNetworkAccess": "Enabled", "disableLocalAuth": true, "schemaTransformationVersion": "1.0" } @@ -119,7 +119,7 @@ ], "isCmekEnabled": true, "cmekKeyVaultUrl": "https://myCmekKey", - "isIsolated": false, + "publicNetworkAccess": "Enabled", "disableLocalAuth": true, "schemaTransformationVersion": "1.0" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetBot.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetBot.json index f7d816111dc9..7bd5d1b5589c 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetBot.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetBot.json @@ -43,7 +43,7 @@ ], "isCmekEnabled": true, "cmekKeyVaultUrl": "https://myCmekKey", - "isIsolated": false, + "publicNetworkAccess": "Enabled", "schemaTransformationVersion": "1.0", "disableLocalAuth": true, "privateEndpointConnections": [ diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsByResourceGroup.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsByResourceGroup.json index 6c61eae3c818..c28b25efc163 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsByResourceGroup.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsByResourceGroup.json @@ -44,7 +44,7 @@ ], "isCmekEnabled": true, "cmekKeyVaultUrl": "https://myCmekKey", - "isIsolated": false, + "publicNetworkAccess": "Enabled", "disableLocalAuth": true, "schemaTransformationVersion": "1.0" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsBySubscription.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsBySubscription.json index af352d809295..8f6225560e58 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsBySubscription.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsBySubscription.json @@ -43,7 +43,7 @@ ], "isCmekEnabled": true, "cmekKeyVaultUrl": "https://myCmekKey", - "isIsolated": false, + "publicNetworkAccess": "Enabled", "disableLocalAuth": true, "schemaTransformationVersion": "1.0" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListChannelsByBotService.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListChannelsByBotService.json index 3e3052172715..32472bffa5a2 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListChannelsByBotService.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListChannelsByBotService.json @@ -25,9 +25,7 @@ "properties": { "channelName": "FacebookChannel", "properties": { - "verifyToken": "othertoken", "appId": "id", - "appSecret": null, "callbackUrl": "appid", "isEnabled": true, "pages": [ diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateBot.json index 15e4556a4308..6b487e0cb3e8 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateBot.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateBot.json @@ -34,7 +34,7 @@ "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", "isCmekEnabled": true, "cmekKeyVaultUrl": "https://myCmekKey", - "isIsolated": false, + "publicNetworkAccess": "Enabled", "disableLocalAuth": true, "schemaTransformationVersion": "1.0" } @@ -78,7 +78,7 @@ ], "isCmekEnabled": true, "cmekKeyVaultUrl": "https://myCmekKey", - "isIsolated": false, + "publicNetworkAccess": "Enabled", "disableLocalAuth": true, "schemaTransformationVersion": "1.0" } @@ -121,7 +121,7 @@ ], "isCmekEnabled": true, "cmekKeyVaultUrl": "https://myCmekKey", - "isIsolated": false, + "publicNetworkAccess": "Enabled", "disableLocalAuth": true, "schemaTransformationVersion": "1.0" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/WebChatRegenerateKeys.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/WebChatRegenerateKeys.json index d5b2860150ae..971b7e0dc9d8 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/WebChatRegenerateKeys.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/WebChatRegenerateKeys.json @@ -24,7 +24,7 @@ "key": "key1", "key2": "key2", "isEnabled": true, - "enablePreview": true + "isWebchatPreviewEnabled": true } ] } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json index 5af0ff00991a..5ad8f265305e 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json @@ -1185,6 +1185,14 @@ "etag": { "type": "string", "description": "Entity Tag" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Entity zones", + "readOnly": true } } }, @@ -1278,10 +1286,49 @@ "readOnly": true, "description": "The bot's endpoint version" }, + "allSettings": { + "description": "Contains resource all settings defined as key/value pairs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "parameters": { + "description": "Contains resource parameters defined as key/value pairs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "manifestUrl": { + "type": "string", + "description": "The bot's manifest url" + }, + "msaAppType": { + "type": "string", + "description": "Microsoft App Type for the bot", + "enum": [ + "UserAssignedMSI", + "SingleTenant", + "MultiTenant" + ], + "x-ms-enum": { + "name": "msaAppType", + "modelAsString": true + } + }, "msaAppId": { "type": "string", "description": "Microsoft App Id for the bot" }, + "msaAppTenantId": { + "type": "string", + "description": "Microsoft App Tenant Id for the bot" + }, + "msaAppMSIResourceId": { + "type": "string", + "description": "Microsoft App Managed Identity Resource Id for the bot" + }, "configuredChannels": { "type": "array", "items": { @@ -1329,13 +1376,60 @@ "type": "string", "description": "The CMK Url" }, - "isIsolated": { + "cmekEncryptionStatus": { + "type": "string", + "description": "The CMK encryption status" + }, + "publicNetworkAccess": { + "description": "Whether the bot is in an isolated network", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "default": "Enabled" + }, + "isStreamingSupported": { + "type": "boolean", + "description": "Whether the bot is streaming supported" + }, + "isDeveloperAppInsightsApiKeySet": { + "type": "boolean", + "description": "Whether the bot is developerAppInsightsApiKey set" + }, + "migrationToken": { + "type": "string", + "description": "Token used to migrate non Azure bot to azure subscription", + "readOnly": true + }, + "disableLocalAuth": { "type": "boolean", - "description": "Whether the bot is in an isolated network" + "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication." }, "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" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Provisioning state of the resource" + }, + "publishingCredentials": { + "type": "string", + "description": "Publishing credentials of the resource" } }, "description": "The parameters to provide for the Bot.", @@ -1385,6 +1479,10 @@ "channelName": { "type": "string", "description": "The channel name" + }, + "etag": { + "type": "string", + "description": "Entity Tag of the resource" } }, "required": [ @@ -1404,6 +1502,15 @@ "properties": { "$ref": "#/definitions/AlexaChannelProperties", "description": "The set of properties specific to Alexa channel resource" + }, + "etag": { + "type": "string", + "description": "Entity Tag of the resource" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Provisioning state of the resource" } } }, @@ -1557,6 +1664,18 @@ "properties": { "$ref": "#/definitions/MsTeamsChannelProperties", "description": "The set of properties specific to Microsoft Teams channel resource" + }, + "etag": { + "type": "string", + "description": "Entity Tag of the resource" + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the resource" + }, + "location": { + "type": "string", + "description": "Location of the resource" } } }, @@ -1573,6 +1692,18 @@ "isEnabled": { "type": "boolean", "description": "Whether this channel is enabled for the bot" + }, + "incomingCallRoute": { + "type": "string", + "description": "Webhook for Microsoft Teams channel calls" + }, + "deploymentEnvironment": { + "type": "string", + "description": "Deployment environment for Microsoft Teams channel calls" + }, + "acceptedTerms": { + "type": "boolean", + "description": "Whether this channel accepted terms" } }, "description": "The parameters to provide for the Microsoft Teams channel.", @@ -1593,6 +1724,10 @@ "properties": { "$ref": "#/definitions/SkypeChannelProperties", "description": "The set of properties specific to Skype channel resource" + }, + "etag": { + "type": "string", + "description": "Entity Tag of the resource" } } }, @@ -1630,6 +1765,10 @@ "type": "string", "description": "Calling web hook for Skype channel" }, + "incomingCallRoute": { + "type": "string", + "description": "Incoming call route for Skype channel" + }, "isEnabled": { "type": "boolean", "description": "Whether this channel is enabled for the bot" @@ -1694,6 +1833,18 @@ "properties": { "$ref": "#/definitions/WebChatChannelProperties", "description": "The set of properties specific to Web Chat channel resource" + }, + "location": { + "type": "string", + "description": "Location of the resource" + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the resource" + }, + "etag": { + "type": "string", + "description": "Entity Tag of the resource" } } }, @@ -1730,6 +1881,18 @@ "properties": { "$ref": "#/definitions/DirectLineChannelProperties", "description": "The set of properties specific to Direct Line channel resource" + }, + "etag": { + "type": "string", + "description": "Entity Tag of the resource" + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the resource" + }, + "location": { + "type": "string", + "description": "Location of the resource" } } }, @@ -1741,6 +1904,10 @@ "$ref": "#/definitions/DirectLineSite" }, "description": "The list of Direct Line sites" + }, + "DirectLineEmbedCode": { + "type": "string", + "description": "Direct Line embed code of the resource" } }, "description": "The parameters to provide for the Direct Line channel." @@ -2065,7 +2232,7 @@ "type": "boolean", "description": "Whether this site is enabled for DirectLine channel" }, - "enablePreview": { + "isWebchatPreviewEnabled": { "type": "boolean", "description": "Whether this site is enabled for preview versions of Webchat" } @@ -2073,7 +2240,7 @@ "required": [ "siteName", "isEnabled", - "enablePreview" + "isWebchatPreviewEnabled" ], "description": "A site for the Webchat channel" }, @@ -2123,6 +2290,10 @@ "type": "boolean", "description": "Whether this site is enabled for authentication with Bot Framework." }, + "isBlockUserUploadEnabled": { + "type": "boolean", + "description": "Whether this site is enabled for block user upload." + }, "trustedOrigins": { "type": "array", "description": "List of Trusted Origin URLs for this site. This field is applicable only if isSecureSiteEnabled is True.", @@ -2222,6 +2393,10 @@ "items": { "$ref": "#/definitions/ConnectionSettingParameter" } + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the resource" } }, "description": "Properties for a Connection Setting Item" @@ -2306,6 +2481,23 @@ "type": "string", "description": "Default Name for the Service Provider", "readOnly": true + }, + "metadata": { + "type": "object", + "description": "Meta data for the Service Provider", + "readOnly": true, + "properties": { + "constraints": { + "description": "the constraints of the bot meta data.", + "type": "object", + "properties": { + "required": { + "description": "Whether required the constraints of the bot meta data.", + "type": "boolean" + } + } + } + } } }, "description": "Extra Parameters specific to each Service Provider" diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CreateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CreateBot.json index 3b24c7a2df3a..7515891f63cf 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CreateBot.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CreateBot.json @@ -31,7 +31,7 @@ "msaAppId": "exampleappid", "isCmekEnabled": true, "cmekKeyVaultUrl": "https://myCmekKey", - "isIsolated": false, + "publicNetworkAccess": "Enabled", "schemaTransformationVersion": "1.0" } } @@ -71,7 +71,7 @@ ], "isCmekEnabled": true, "cmekKeyVaultUrl": "https://myCmekKey", - "isIsolated": false, + "publicNetworkAccess": "Enabled", "schemaTransformationVersion": "1.0" } } @@ -108,7 +108,7 @@ ], "isCmekEnabled": true, "cmekKeyVaultUrl": "https://myCmekKey", - "isIsolated": false, + "publicNetworkAccess": "Enabled", "schemaTransformationVersion": "1.0" } } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetBot.json index 189fc73fb9b3..762c2c6c2e3a 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetBot.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetBot.json @@ -40,7 +40,7 @@ ], "isCmekEnabled": true, "cmekKeyVaultUrl": "https://myCmekKey", - "isIsolated": false, + "publicNetworkAccess": "Enabled", "schemaTransformationVersion": "1.0" } } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsByResourceGroup.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsByResourceGroup.json index 0c25649703bd..caa215af1030 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsByResourceGroup.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsByResourceGroup.json @@ -41,7 +41,7 @@ ], "isCmekEnabled": true, "cmekKeyVaultUrl": "https://myCmekKey", - "isIsolated": false, + "publicNetworkAccess": "Enabled", "schemaTransformationVersion": "1.0" } } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsBySubscription.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsBySubscription.json index ea64a7343666..234cb804746d 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsBySubscription.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsBySubscription.json @@ -40,7 +40,7 @@ ], "isCmekEnabled": true, "cmekKeyVaultUrl": "https://myCmekKey", - "isIsolated": false, + "publicNetworkAccess": "Enabled", "schemaTransformationVersion": "1.0" } } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListChannelsByBotService.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListChannelsByBotService.json index b18fbd8d15e8..30af210a3ad4 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListChannelsByBotService.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListChannelsByBotService.json @@ -25,9 +25,7 @@ "properties": { "channelName": "FacebookChannel", "properties": { - "verifyToken": "othertoken", "appId": "id", - "appSecret": null, "callbackUrl": "appid", "isEnabled": true, "pages": [ diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateBot.json index 3997a188df7b..6f4a1dcf86bb 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateBot.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateBot.json @@ -31,7 +31,7 @@ "msaAppId": "msaappid", "isCmekEnabled": true, "cmekKeyVaultUrl": "https://myCmekKey", - "isIsolated": false, + "publicNetworkAccess": "Enabled", "schemaTransformationVersion": "1.0" } } @@ -71,7 +71,7 @@ ], "isCmekEnabled": true, "cmekKeyVaultUrl": "https://myCmekKey", - "isIsolated": false, + "publicNetworkAccess": "Enabled", "schemaTransformationVersion": "1.0" } } @@ -110,7 +110,7 @@ ], "isCmekEnabled": true, "cmekKeyVaultUrl": "https://myCmekKey", - "isIsolated": false, + "publicNetworkAccess": "Enabled", "schemaTransformationVersion": "1.0" } } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/WebChatRegenerateKeys.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/WebChatRegenerateKeys.json index 025386ece0ff..635c47ac159c 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/WebChatRegenerateKeys.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/WebChatRegenerateKeys.json @@ -24,7 +24,7 @@ "key": "key1", "key2": "key2", "isEnabled": true, - "enablePreview": true + "isWebchatPreviewEnabled": true } ] } diff --git a/specification/botservice/resource-manager/readme.go.md b/specification/botservice/resource-manager/readme.go.md index 97433ce5c511..453d987d204e 100644 --- a/specification/botservice/resource-manager/readme.go.md +++ b/specification/botservice/resource-manager/readme.go.md @@ -2,22 +2,40 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: botservice clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/botservice/armbotservice +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) batch: + - tag: package-preview-2021-05 - tag: package-2021-03-01 - tag: package-2017-12-01 - tag: package-2018-07-12 ``` +### Tag: package-preview-2021-05 and go + +These settings apply only when `--tag=package-preview-2021-05 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-preview-2021-05' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-05-01-preview/$(namespace) +``` + ### Tag: package-2021-03-01 and go These settings apply only when `--tag=package-2021-03-01 --go` is specified on the command line. diff --git a/specification/botservice/resource-manager/readme.md b/specification/botservice/resource-manager/readme.md index fb9d9999abb2..c87e826d2501 100644 --- a/specification/botservice/resource-manager/readme.md +++ b/specification/botservice/resource-manager/readme.md @@ -139,6 +139,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-resource-manager-schemas - repo: azure-sdk-for-js ``` diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/cdn.json index 7ea810593f26..6cb656e831c0 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/cdn.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/cdn.json @@ -4702,6 +4702,10 @@ "modelAsString": true } }, + "customHttpsParameters": { + "description": "Certificate parameters for securing custom HTTPS", + "$ref": "#/definitions/CustomDomainHttpsParameters" + }, "validationData": { "description": "Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China.", "type": "string" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json index 8c80108d158f..b3b98482c32f 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json @@ -4816,6 +4816,10 @@ "modelAsString": true } }, + "customHttpsParameters": { + "description": "Certificate parameters for securing custom HTTPS", + "$ref": "#/definitions/CustomDomainHttpsParameters" + }, "validationData": { "description": "Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China.", "type": "string" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json index 51fa15d2fd67..26b647e47a5b 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json @@ -4872,6 +4872,10 @@ "modelAsString": true } }, + "customHttpsParameters": { + "description": "Certificate parameters for securing custom HTTPS", + "$ref": "#/definitions/CustomDomainHttpsParameters" + }, "validationData": { "description": "Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China.", "type": "string" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-09-01/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-09-01/cdn.json index 0cc2ca2e464f..a7702a5b8e90 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-09-01/cdn.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-09-01/cdn.json @@ -4914,6 +4914,10 @@ "modelAsString": true } }, + "customHttpsParameters": { + "description": "Certificate parameters for securing custom HTTPS", + "$ref": "#/definitions/CustomDomainHttpsParameters" + }, "validationData": { "description": "Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China.", "type": "string" diff --git a/specification/cdn/resource-manager/readme.go.md b/specification/cdn/resource-manager/readme.go.md index 80b52a83156e..5a7df98a8f32 100644 --- a/specification/cdn/resource-manager/readme.go.md +++ b/specification/cdn/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/cdn/armcdn +module-name: sdk/resourcemanager/cdn/armcdn module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/cdn/resource-manager/readme.md b/specification/cdn/resource-manager/readme.md index 1a97777e438b..9ddb40ba8171 100644 --- a/specification/cdn/resource-manager/readme.md +++ b/specification/cdn/resource-manager/readme.md @@ -155,6 +155,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-net - repo: azure-sdk-for-js - repo: azure-sdk-for-node diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/changeanalysis.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/changeanalysis.json new file mode 100644 index 000000000000..81d2553153c0 --- /dev/null +++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/changeanalysis.json @@ -0,0 +1,628 @@ +{ + "swagger": "2.0", + "info": { + "title": "AzureChangeAnalysisManagementClient", + "version": "2021-04-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.ChangeAnalysis/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "Lists all the supported operations by the Microsoft.ChangeAnalysis resource provider along with their descriptions.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ResourceProviderOperationList" + } + }, + "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": { + "Operations_List": { + "$ref": "./examples/OperationsList.json" + } + } + } + }, + "/{resourceId}/providers/Microsoft.ChangeAnalysis/resourceChanges": { + "post": { + "tags": [ + "ResourceChanges" + ], + "summary": "List the changes of a resource within the specified time range. Customer data will be masked if the user doesn't have access.", + "operationId": "ResourceChanges_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceIdParameter" + }, + { + "$ref": "#/parameters/StartTimeParameter" + }, + { + "$ref": "#/parameters/EndTimeParameter" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + }, + { + "$ref": "#/parameters/ScanLatestParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ChangeList" + } + }, + "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": { + "ResourceChanges_List": { + "$ref": "./examples/ResourceChangesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ChangeAnalysis/changes": { + "get": { + "tags": [ + "Changes" + ], + "summary": "List the changes of a resource group within the specified time range. Customer data will always be masked.", + "operationId": "Changes_ListChangesByResourceGroup", + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StartTimeParameter" + }, + { + "$ref": "#/parameters/EndTimeParameter" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ChangeList" + } + }, + "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": { + "Changes_ListChangesByResourceGroupFiltered": { + "$ref": "./examples/ChangesListChangesByResourceGroupFiltered.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ChangeAnalysis/changes": { + "get": { + "tags": [ + "Changes" + ], + "summary": "List the changes of a subscription within the specified time range. Customer data will always be masked.", + "operationId": "Changes_ListChangesBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/StartTimeParameter" + }, + { + "$ref": "#/parameters/EndTimeParameter" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ChangeList" + } + }, + "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": { + "Changes_ListChangesBySubscriptionFiltered": { + "$ref": "./examples/ChangesListChangesBySubscriptionFiltered.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ChangeAnalysis/changeSnapshots": { + "post": { + "tags": [ + "ChangeSnapshots" + ], + "summary": "Gets change snapshots for the given resource Id and change Id.", + "operationId": "ChangeSnapshots_GetChangeSnapshots", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceIdQueryParameter" + }, + { + "$ref": "#/parameters/ChangeIdParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ChangeSnapshots" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ChangeSnapshots": { + "$ref": "./examples/ChangeSnapshotsGetChangeSnapshots.json" + } + } + } + } + }, + "definitions": { + "ResourceProviderOperationDisplay": { + "description": "The resource provider operation details.", + "type": "object", + "properties": { + "provider": { + "description": "Name of the resource provider.", + "type": "string" + }, + "resource": { + "description": "Name of the resource type.", + "type": "string" + }, + "operation": { + "description": "Name of the resource provider operation.", + "type": "string" + }, + "description": { + "description": "Description of the resource provider operation.", + "type": "string" + } + } + }, + "ResourceProviderOperationDefinition": { + "description": "The resource provider operation definition.", + "type": "object", + "properties": { + "name": { + "description": "The resource provider operation name.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/ResourceProviderOperationDisplay" + } + } + }, + "ResourceProviderOperationList": { + "description": "The resource provider operation list.", + "type": "object", + "properties": { + "value": { + "description": "Resource provider operations list.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderOperationDefinition" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next page for list of Azure operations.", + "type": "string" + } + } + }, + "ChangeType": { + "description": "The type of the change.", + "enum": [ + "Add", + "Remove", + "Update" + ], + "type": "string", + "x-ms-enum": { + "name": "ChangeType", + "modelAsString": true + } + }, + "Level": { + "enum": [ + "Noisy", + "Normal", + "Important" + ], + "type": "string", + "x-ms-enum": { + "name": "Level", + "modelAsString": true + } + }, + "PropertyChange": { + "description": "Data of a property change.", + "type": "object", + "properties": { + "changeType": { + "$ref": "#/definitions/ChangeType" + }, + "changeCategory": { + "description": "The change category.", + "enum": [ + "User", + "System" + ], + "type": "string", + "x-ms-enum": { + "name": "ChangeCategory", + "modelAsString": false + } + }, + "jsonPath": { + "description": "The json path of the changed property.", + "type": "string" + }, + "displayName": { + "description": "The enhanced display name of the json path. E.g., the json path value[0].properties will be translated to something meaningful like slots[\"Staging\"].properties.", + "type": "string" + }, + "level": { + "$ref": "#/definitions/Level" + }, + "description": { + "description": "The description of the changed property.", + "type": "string" + }, + "oldValue": { + "description": "The value of the property before the change.", + "type": "string" + }, + "newValue": { + "description": "The value of the property after the change.", + "type": "string" + }, + "isDataMasked": { + "description": "The boolean indicating whether the oldValue and newValue are masked. The values are masked if it contains sensitive information that the user doesn't have access to.", + "type": "boolean" + } + } + }, + "ChangeProperties": { + "description": "The properties of a change.", + "type": "object", + "properties": { + "resourceId": { + "description": "The resource id that the change is attached to.", + "type": "string" + }, + "timeStamp": { + "format": "date-time", + "description": "The time when the change is detected.", + "type": "string" + }, + "initiatedByList": { + "description": "The list of identities who might initiated the change.\r\nThe identity could be user name (email address) or the object ID of the Service Principal.", + "type": "array", + "items": { + "type": "string" + } + }, + "changeType": { + "$ref": "#/definitions/ChangeType" + }, + "propertyChanges": { + "description": "The list of detailed changes at json property level.", + "type": "array", + "items": { + "$ref": "#/definitions/PropertyChange" + } + } + } + }, + "Change": { + "description": "The detected change.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ChangeProperties" + } + } + }, + "ChangeList": { + "description": "The list of detected changes.", + "type": "object", + "properties": { + "value": { + "description": "The list of changes.", + "type": "array", + "items": { + "$ref": "#/definitions/Change" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next page of changes.", + "type": "string" + } + } + }, + "ChangeSnapshotsProperties": { + "description": "The change snapshot, represented by a pair of before and after resource snapshots.", + "type": "object", + "properties": { + "beforeSnapshot": { + "description": "The snapshot before the change.", + "type": "object" + }, + "afterSnapshot": { + "description": "The snapshot after the change.", + "type": "object" + }, + "isHidden": { + "description": "Is the snapshot hidden", + "type": "boolean" + } + } + }, + "ChangeSnapshots": { + "description": "The detected change snapshots.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ChangeSnapshotsProperties" + } + } + }, + "ResourceGraphSnapshotData": { + "description": "Data on a specific resource snapshot.", + "type": "object", + "properties": { + "snapshotId": { + "description": "The ID of the snapshot.", + "type": "string" + }, + "timestamp": { + "description": "The time when the snapshot was created.\nThe snapshot timestamp provides an approximation as to when a modification to a resource was detected. There can be a difference between the actual modification time and the detection time. This is due to differences in how operations that modify a resource are processed, versus how operation that record resource snapshots are processed.", + "type": "string", + "format": "date-time" + }, + "content": { + "description": "The resource snapshot content (in resourceChangeDetails response only).", + "type": "object" + } + }, + "required": [ + "timestamp" + ] + }, + "ResourceGraphChangeData": { + "description": "Data on a specific change, represented by a pair of before and after resource snapshots.", + "type": "object", + "properties": { + "resourceId": { + "description": "The resource for a change.", + "type": "string" + }, + "changeId": { + "description": "The change Id.", + "type": "string" + }, + "beforeSnapshot": { + "description": "The snapshot before the change from ARG.", + "allOf": [ + { + "$ref": "#/definitions/ResourceGraphSnapshotData" + } + ] + }, + "afterSnapshot": { + "description": "The snapshot after the change from ARG.", + "allOf": [ + { + "$ref": "#/definitions/ResourceGraphSnapshotData" + } + ] + }, + "changeType": { + "description": "The change type for snapshot. PropertyChanges will be provided in case of Update change type", + "type": "string", + "enum": [ + "Create", + "Update", + "Delete" + ], + "x-ms-enum": { + "name": "ChangeType", + "modelAsString": false + } + } + } + } + }, + "parameters": { + "ResourceIdParameter": { + "in": "path", + "name": "resourceId", + "description": "The identifier of the resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "StartTimeParameter": { + "in": "query", + "name": "$startTime", + "description": "Specifies the start time of the changes request.", + "required": true, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "EndTimeParameter": { + "in": "query", + "name": "$endTime", + "description": "Specifies the end time of the changes request.", + "required": true, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "FilterParameter": { + "name": "$filter", + "in": "query", + "type": "string", + "required": false, + "description": "Reduces the set of data collected.
This argument is not required. Only accepts 'resourceId' and 'resourceType' and only accepts the following patterns.
- *List changes for a resource type*: $filter=resourceType eq 'microsoft.web/sites'.
- *List changes for multiple resource types:* $filter=resourceType eq 'microsoft.web/sites,microsoft.compute/virtualmachines'.
- *List changes for a resource Id*: $filter=resourceId eq '{resourceId}'.
- *List changes for multiple resource Ids:* $filter=resourceId eq '{resourceId1},{resourceId2}}'.", + "x-ms-parameter-location": "method" + }, + "SkipTokenParameter": { + "in": "query", + "name": "$skipToken", + "description": "A skip token is used to continue retrieving items after an operation returns 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.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceIdQueryParameter": { + "in": "query", + "name": "$resourceId", + "description": "Specifies the resource Id.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ChangeIdParameter": { + "in": "query", + "name": "$changeId", + "description": "Specifies the change Id.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ScanLatestParameter": { + "in": "query", + "name": "$scanLatest", + "description": "Specifies whether to scan latest", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ChangeSnapshotsGetChangeSnapshots.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ChangeSnapshotsGetChangeSnapshots.json new file mode 100644 index 000000000000..ccd7118f2194 --- /dev/null +++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ChangeSnapshotsGetChangeSnapshots.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2021-04-01-preview", + "subscriptionId": "4d962866-1e3f-47f2-bd18-450c08f914c1", + "$resourceId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite", + "$changeId": "ARG_23fa00fd-dda0-4268-b482-2076825cf165_970d8c6d-6b78-4270-92ef-88d5aa2b5f0b_132316363294700000_132316498613900000" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite/providers/Microsoft.ChangeAnalysis/changeSnapshots/ARG_23fa00fd-dda0-4268-b482-2076825cf165_970d8c6d-6b78-4270-92ef-88d5aa2b5f0b_132316363294700000_132316498613900000", + "name": "ARG_23fa00fd-dda0-4268-b482-2076825cf165_970d8c6d-6b78-4270-92ef-88d5aa2b5f0b_132316363294700000_132316498613900000", + "type": "Microsoft.ChangeAnalysis/changeSnapshots", + "properties": { + "beforeSnapshot": { + "id": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite", + "kind": "app", + "location": "centralus", + "managedBy": "", + "name": "mysite", + "plan": null, + "properties": { + "adminEnabled": true, + "availabilityState": "Normal", + "buildVersion": null, + "enabled": true, + "serverFarmId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/serverFarms/myServerFarm", + "reserved": false, + "isXenon": false, + "hyperV": false, + "siteConfig": {}, + "scmSiteAlsoStopped": false, + "clientAffinityEnabled": true, + "clientCertEnabled": false, + "hostNamesDisabled": false, + "containerSize": 0, + "httpsOnly": true, + "redundancyMode": "None" + }, + "tags": {}, + "type": "microsoft.web/sites" + }, + "afterSnapshot": { + "id": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite", + "kind": "app", + "location": "centralus", + "managedBy": "", + "name": "mysite", + "plan": null, + "properties": { + "adminEnabled": true, + "availabilityState": "Normal", + "buildVersion": null, + "enabled": true, + "serverFarmId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/serverfarms/myServerFarm", + "reserved": false, + "isXenon": false, + "hyperV": false, + "siteConfig": {}, + "scmSiteAlsoStopped": false, + "clientAffinityEnabled": true, + "clientCertEnabled": false, + "hostNamesDisabled": false, + "containerSize": 0, + "httpsOnly": true, + "redundancyMode": "None" + }, + "tags": { + "hidden-related:diagnostics/changeAnalysisScanEnabled": "false" + }, + "type": "microsoft.web/sites" + }, + "isHidden": false + } + } + } + } +} diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ChangesListChangesByResourceGroupFiltered.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ChangesListChangesByResourceGroupFiltered.json new file mode 100644 index 000000000000..3202481cdd10 --- /dev/null +++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ChangesListChangesByResourceGroupFiltered.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "4d962866-1e3f-47f2-bd18-450c08f914c1", + "resourceGroupName": "MyResourceGroup", + "api-version": "2021-04-01-preview", + "$startTime": "2021-04-25T12:09:03.141Z", + "$endTime": "2021-04-26T12:09:03.141Z", + "$filter": "resourceTypes eq 'microsoft.web/sites'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite/extensions/AppStateTracker/providers/Microsoft.ChangeAnalysis/changes/AST_b2ecd7ec-00dd-4d44-bd19-fefc88790c05_da36e22e-f541-44bd-8d89-8f10a27af4ad_132592897881782408_132592957873393845", + "name": "AST_b2ecd7ec-00dd-4d44-bd19-fefc88790c05_da36e22e-f541-44bd-8d89-8f10a27af4ad_132592897881782408_132592957873393845", + "type": "Microsoft.ChangeAnalysis/changes", + "properties": { + "resourceId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite", + "timeStamp": "2021-04-26T02:17:41.39Z", + "initiatedByList": [ + "ellen@contoso.com" + ], + "changeType": "Update", + "propertyChanges": [ + { + "changeType": "Update", + "changeCategory": "User", + "jsonPath": "environment.environmentVariables.APPSETTING_DB_CONNSTR", + "displayName": "APPSETTING_DB_CONNSTR", + "level": "Important", + "description": "Application setting", + "oldValue": "***Old Value Hidden***", + "newValue": "***New Value Hidden***", + "isDataMasked": true + } + ] + } + } + ] + } + } + } +} diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ChangesListChangesBySubscriptionFiltered.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ChangesListChangesBySubscriptionFiltered.json new file mode 100644 index 000000000000..1c54c25d2d1f --- /dev/null +++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ChangesListChangesBySubscriptionFiltered.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "4d962866-1e3f-47f2-bd18-450c08f914c1", + "api-version": "2021-04-01-preview", + "$startTime": "2021-04-25T12:09:03.141Z", + "$endTime": "2021-04-26T12:09:03.141Z", + "$filter": "resourceTypes eq 'microsoft.web/sites,microsoft.compute/virtualmachines'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite1/extensions/AppStateTracker/providers/Microsoft.ChangeAnalysis/changes/AST_b2ecd7ec-00dd-4d44-bd19-fefc88790c05_da36e22e-f541-44bd-8d89-8f10a27af4ad_132592897881782408_132592957873393845", + "name": "AST_b2ecd7ec-00dd-4d44-bd19-fefc88790c05_da36e22e-f541-44bd-8d89-8f10a27af4ad_132592897881782408_132592957873393845", + "type": "Microsoft.ChangeAnalysis/changes", + "properties": { + "resourceId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite1", + "timeStamp": "2021-04-26T02:17:41.39Z", + "initiatedByList": [ + "ellen@contoso.com" + ], + "changeType": "Update", + "propertyChanges": [ + { + "changeType": "Update", + "changeCategory": "User", + "jsonPath": "environment.environmentVariables.APPSETTING_DB_CONNSTR", + "displayName": "APPSETTING_DB_CONNSTR", + "level": "Important", + "description": "Application setting", + "oldValue": "***Old Value Hidden***", + "newValue": "***New Value Hidden***", + "isDataMasked": true + } + ] + } + }, + { + "id": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.ChangeAnalysis/changes/ARG_23fa00fd-dda0-4268-b482-2076825cf165_970d8c6d-6b78-4270-92ef-88d5aa2b5f0b_132316363294700000_132316498613900000", + "name": "ARG_23fa00fd-dda0-4268-b482-2076825cf165_970d8c6d-6b78-4270-92ef-88d5aa2b5f0b_132316363294700000_132316498613900000", + "type": "Microsoft.ChangeAnalysis/changes", + "properties": { + "resourceId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "timeStamp": "2021-04-26T05:36:01.25Z", + "initiatedByList": [ + "ellen@contoso.com" + ], + "changeType": "Update", + "propertyChanges": [ + { + "changeType": "Update", + "changeCategory": "System", + "jsonPath": "properties.provisioningState", + "displayName": "properties.provisioningState", + "level": "Important", + "description": "The provisioning state, which only appears in the response.", + "oldValue": "Updating", + "newValue": "Succeeded", + "isDataMasked": false + } + ] + } + } + ] + } + } + } +} diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/OperationsList.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/OperationsList.json new file mode 100644 index 000000000000..2e9909cf9239 --- /dev/null +++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/OperationsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ChangeAnalysis/register/action", + "display": { + "provider": "Microsoft Change Analysis", + "resource": "", + "operation": "Register Microsoft Change Analysis resource provider with a subscriptions" + } + }, + { + "name": "Microsoft.ChangeAnalysis/changes/read", + "display": { + "provider": "Microsoft Change Analysis", + "resource": "Azure Application Change Analysis Service Change", + "operation": "Read Azure Application Change Analysis Servie Change" + } + } + ] + } + } + } +} diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ResourceChangesList.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ResourceChangesList.json new file mode 100644 index 000000000000..84d463adaa96 --- /dev/null +++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ResourceChangesList.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "resourceId": "subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite", + "api-version": "2021-04-01-preview", + "$startTime": "2021-04-25T12:09:03.141Z", + "$endTime": "2021-04-26T12:09:03.141Z", + "$scanLatest": false + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite/providers/Microsoft.ChangeAnalysis/resourceChanges/ARG_23fa00fd-dda0-4268-b482-2076825cf165_970d8c6d-6b78-4270-92ef-88d5aa2b5f0b_132316363294700000_132316498613900000", + "name": "ARG_23fa00fd-dda0-4268-b482-2076825cf165_970d8c6d-6b78-4270-92ef-88d5aa2b5f0b_132316363294700000_132316498613900000", + "type": "Microsoft.ChangeAnalysis/resourceChanges", + "properties": { + "resourceId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite", + "timeStamp": "2021-04-26T02:17:41.39Z", + "initiatedByList": [ + "ellen@contoso.com" + ], + "changeType": "Update", + "propertyChanges": [ + { + "changeType": "Update", + "changeCategory": "User", + "jsonPath": "value[1].properties.thumbprint", + "displayName": "publicCertificates[\"AppCert\"].properties.thumbprint", + "level": "Important", + "description": "The thumbprint of the certificate", + "oldValue": "21D0482F-E91E-4C14-8078-65BFDCDBCA64", + "newValue": "3F2DF554-B063-4383-8BD3-4970BCF20A7E", + "isDataMasked": false + } + ] + } + }, + { + "id": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite/extensions/AppStateTracker/providers/Microsoft.ChangeAnalysis/resourceChanges/AST_b2ecd7ec-00dd-4d44-bd19-fefc88790c05_da36e22e-f541-44bd-8d89-8f10a27af4ad_132592897881782408_132592957873393845", + "name": "AST_b2ecd7ec-00dd-4d44-bd19-fefc88790c05_da36e22e-f541-44bd-8d89-8f10a27af4ad_132592897881782408_132592957873393845", + "type": "Microsoft.ChangeAnalysis/changes", + "properties": { + "resourceId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite", + "timeStamp": "2021-04-26T02:17:41.39Z", + "initiatedByList": [ + "ellen@contoso.com" + ], + "changeType": "Update", + "propertyChanges": [ + { + "changeType": "Update", + "changeCategory": "User", + "jsonPath": "environment.environmentVariables.APPSETTING_DB_CONNSTR", + "displayName": "APPSETTING_DB_CONNSTR", + "level": "Important", + "description": "Application setting", + "oldValue": "", + "newValue": "", + "isDataMasked": false + } + ] + } + } + ] + } + } + } +} diff --git a/specification/changeanalysis/resource-manager/readme.md b/specification/changeanalysis/resource-manager/readme.md index 82e40f5667c7..78fabb01e2e8 100644 --- a/specification/changeanalysis/resource-manager/readme.md +++ b/specification/changeanalysis/resource-manager/readme.md @@ -38,6 +38,15 @@ input-file: - Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.json ``` +### Tag: package-2021-04-01-preview + +These settings apply only when `--tag=package-2021-04-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2021-04-01-preview' +input-file: +- Microsoft.ChangeAnalysis/preview/2021-04-01-preview/changeanalysis.json +``` + ### Tag: package-2021-04-01 These settings apply only when `--tag=package-2021-04-01` is specified on the command line. diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/capabilities.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/capabilities.json new file mode 100644 index 000000000000..7ed8e1473844 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/capabilities.json @@ -0,0 +1,262 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2021-09-15-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/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}/capabilities": { + "get": { + "description": "Get a list of Capability resources that extend a Target resource..", + "tags": [ + "Capabilities" + ], + "operationId": "Capabilities_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Capability resources returned if request was successful.", + "schema": { + "$ref": "./types/capabilities.json#/definitions/capabilityListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Capabilities that extend a virtual machine Target resource.": { + "$ref": "./examples/ListCapabilities.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}/capabilities/{capabilityName}": { + "get": { + "description": "Get a Capability resource that extends a Target resource.", + "tags": [ + "Capabilities" + ], + "operationId": "Capabilities_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "$ref": "./types/common.json#/parameters/capabilityName" + } + ], + "responses": { + "200": { + "description": "Capability resource returned if request was successful.", + "schema": { + "$ref": "./types/capabilities.json#/definitions/capability" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Capability that extends a virtual machine Target resource.": { + "$ref": "./examples/GetACapability.json" + } + } + }, + "delete": { + "description": "Delete a Capability that extends a Target resource.", + "tags": [ + "Capabilities" + ], + "operationId": "Capabilities_Delete", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "$ref": "./types/common.json#/parameters/capabilityName" + } + ], + "responses": { + "200": { + "description": "Capability resource deletion was successful." + }, + "204": { + "description": "Capability resource deletion was successful." + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a Capability that extends a virtual machine Target resource.": { + "$ref": "./examples/DeleteACapability.json" + } + } + }, + "put": { + "description": "Create or update a Capability resource that extends a Target resource.", + "tags": [ + "Capabilities" + ], + "operationId": "Capabilities_CreateOrUpdate", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "$ref": "./types/common.json#/parameters/capabilityName" + }, + { + "name": "capability", + "description": "Capability resource to be created or updated.", + "in": "body", + "required": true, + "schema": { + "$ref": "./types/capabilities.json#/definitions/capability" + } + } + ], + "responses": { + "200": { + "description": "Capability resource returned if request was successful.", + "schema": { + "$ref": "./types/capabilities.json#/definitions/capability" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create/update a Capability that extends a virtual machine Target resource.": { + "$ref": "./examples/CreateOrUpdateACapability.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/capabilityTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/capabilityTypes.json new file mode 100644 index 000000000000..9be381b8dc7a --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/capabilityTypes.json @@ -0,0 +1,131 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2021-09-15-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}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetTypeName}/capabilityTypes": { + "get": { + "description": "Get a list of Capability Type resources for given Target Type and location.", + "tags": [ + "CapabilityTypes" + ], + "operationId": "CapabilityTypes_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/locationName" + }, + { + "$ref": "./types/common.json#/parameters/targetTypeName" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Capability Type resources returned if request was successful.", + "schema": { + "$ref": "./types/capabilityTypes.json#/definitions/capabilityTypeListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Capability Types for a virtual machine Target resource on westus2 location.": { + "$ref": "./examples/ListCapabilityTypes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetTypeName}/capabilityTypes/{capabilityTypeName}": { + "get": { + "description": "Get a Capability Type resource for given Target Type and location.", + "tags": [ + "Capabilities" + ], + "operationId": "CapabilityTypes_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/locationName" + }, + { + "$ref": "./types/common.json#/parameters/targetTypeName" + }, + { + "$ref": "./types/common.json#/parameters/capabilityTypeName" + } + ], + "responses": { + "200": { + "description": "Capability Type resource returned if request was successful.", + "schema": { + "$ref": "./types/capabilityTypes.json#/definitions/capabilityType" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Capability Type for a virtual machine Target resource on westus2 location.": { + "$ref": "./examples/GetACapabilityType.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CancelAExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CancelAExperiment.json new file mode 100644 index 000000000000..3a3bb70f0443 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CancelAExperiment.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2021-09-15-preview" + }, + "responses": { + "202": { + "headers": {}, + "body": { + "name": "exampleExperiment", + "statusUrl": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/statuses/50734542-2e64-4e08-814c-cc0e7475f7e4" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CreateOrUpdateACapability.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CreateOrUpdateACapability.json new file mode 100644 index 000000000000..caeeddc966e7 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CreateOrUpdateACapability.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-VirtualMachine", + "capabilityName": "Shutdown-1.0", + "api-version": "2021-09-15-preview", + "capability": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0", + "type": "Microsoft.Chaos/targets/capabilities", + "name": "Shutdown-1.0", + "properties": { + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + }, + "systemData": { + "createdAt": "2020-05-14T05:08:38.4662189Z", + "lastModifiedAt": "2020-05-14T05:08:38.4662189Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CreateOrUpdateAExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CreateOrUpdateAExperiment.json new file mode 100644 index 000000000000..32d0de850dbf --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CreateOrUpdateAExperiment.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2021-09-15-preview", + "experiment": { + "location": "centraluseuap", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "Continuous", + "name": "urn:csci:provider:providername:Shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": { + "restartWhenComplete": true + } + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "centraluseuap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "Continuous", + "name": "urn:csci:provider:providername:Shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": { + "restartWhenComplete": true + } + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CreateOrUpdateATarget.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CreateOrUpdateATarget.json new file mode 100644 index 000000000000..5f602736b077 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CreateOrUpdateATarget.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-Agent", + "api-version": "2021-09-15-preview", + "target": { + "properties": { + "identities": [ + { + "type": "CertificateSubjectIssuer", + "subject": "CN=example.subject" + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-Agent", + "type": "Microsoft.Chaos/targets", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "identities": [ + { + "type": "CertificateSubjectIssuer", + "subject": "CN=example.subject" + } + ], + "agentProfileId": "ac4e8251-fdc9-4277-8e87-dc57fe5794cf" + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/DeleteACapability.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/DeleteACapability.json new file mode 100644 index 000000000000..32759a8e5a14 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/DeleteACapability.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-VirtualMachine", + "capabilityName": "Shutdown-1.0", + "api-version": "2021-09-15-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/DeleteAExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/DeleteAExperiment.json new file mode 100644 index 000000000000..52cac8a77b51 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/DeleteAExperiment.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2021-09-15-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/DeleteATarget.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/DeleteATarget.json new file mode 100644 index 000000000000..e83ee535b584 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/DeleteATarget.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-Agent", + "api-version": "2021-09-15-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetACapability.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetACapability.json new file mode 100644 index 000000000000..a353a7710f24 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetACapability.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-VirtualMachine", + "capabilityName": "Shutdown-1.0", + "api-version": "2021-09-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0", + "type": "Microsoft.Chaos/targets/capabilities", + "name": "Shutdown-1.0", + "properties": { + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + }, + "systemData": { + "createdAt": "2020-05-14T05:08:38.4662189Z", + "lastModifiedAt": "2020-05-14T05:08:38.4662189Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetACapabilityType.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetACapabilityType.json new file mode 100644 index 000000000000..dc5062a62bb2 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetACapabilityType.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "locationName": "westus2", + "targetTypeName": "Microsoft-VirtualMachine", + "capabilityTypeName": "Shutdown-1.0", + "api-version": "2021-09-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-VirtualMachine/capabilityTypes/Shutdown-1.0", + "type": "Microsoft.Chaos/locations/targetTypes/capabilityTypes", + "name": "Shutdown-1.0", + "properties": { + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "displayName": "Shutdown VM", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetAExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetAExperiment.json new file mode 100644 index 000000000000..c221263757d2 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetAExperiment.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2021-09-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "centraluseuap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "Continuous", + "name": "urn:csci:provider:providername:Shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": { + "restartWhenComplete": true + } + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetAExperimentExecutionDetails.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetAExperimentExecutionDetails.json new file mode 100644 index 000000000000..cbc88d1bc773 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetAExperimentExecutionDetails.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "executionDetailsId": "f24500ad-744e-4a26-864b-b76199eac333", + "api-version": "2021-09-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.Chaos/experiments/executionDetails", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executionDetails/f24500ad-744e-4a26-864b-b76199eac333", + "name": "f24500ad-744e-4a26-864b-b76199eac333", + "properites": { + "createdDateUtc": "2020-12-14T21:52:42.917983Z", + "lastActionDateUtc": "2020-12-14T21:52:52.2552574Z", + "startDateUtc": "2020-12-14T21:52:52.2552574Z", + "stopDateUtc": "2020-12-14T21:56:18.9281956Z", + "status": "failed", + "failureReason": "Dependency failure", + "runInformation": { + "steps": [ + { + "name": "FirstStep", + "id": "FirstStep", + "status": "failed", + "branches": [ + { + "name": "FirstBranch", + "id": "FirstBranch", + "status": "failed", + "actions": [ + { + "name": "urn:provider:agent-v2:Microsoft.Azure.Chaos.Fault.CPUPressureAllProcessors", + "id": "59499d33-6751-4b6e-a1f6-58f4d56a040a", + "status": "failed", + "targets": [ + { + "status": "succeeded", + "target": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/VM1", + "failedDateUtc": "2021-04-02T16:30:55+00:00", + "completedDateUtc": "2021-04-02T17:30:55+00:00" + }, + { + "status": "failed", + "target": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/VM1", + "failedDateUtc": "2021-04-02T16:30:55+00:00", + "completedDateUtc": "2021-04-02T17:30:55+00:00" + } + ], + "lastUpdatedDateUtc": "2020-12-14T13:56:13.6270153-08:00" + } + ] + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetAExperimentStatus.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetAExperimentStatus.json new file mode 100644 index 000000000000..1f4bc432f7fa --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetAExperimentStatus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "statusId": "50734542-2e64-4e08-814c-cc0e7475f7e4", + "api-version": "2021-09-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/statuses/50734542-2e64-4e08-814c-cc0e7475f7e4", + "type": "Microsoft.Chaos/experiments/statuses", + "name": "50734542-2e64-4e08-814c-cc0e7475f7e4", + "properties": { + "status": "Successful", + "createdDateUtc": "2021-07-01T00:00:00.0Z", + "endDateUtc": "2021-07-01T01:00:00.0Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetATarget.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetATarget.json new file mode 100644 index 000000000000..8dad27df0617 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetATarget.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-Agent", + "api-version": "2021-09-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-Agent", + "type": "Microsoft.Chaos/targets", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "identities": [ + { + "type": "CertificateSubjectIssuer", + "subject": "CN=example.subject" + } + ], + "agentProfileId": "ac4e8251-fdc9-4277-8e87-dc57fe5794cf" + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetATargetType.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetATargetType.json new file mode 100644 index 000000000000..1c73a74c2816 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetATargetType.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "locationName": "westus2", + "targetTypeName": "Microsoft-Agent", + "api-version": "2021-09-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-Agent", + "type": "Microsoft.Chaos/locations/targetTypes", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "displayName": "Chaos Agent", + "description": "A target represents Chaos Agent.", + "propertiesSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine.json", + "resourceTypes": [ + "Microsoft.Compute/virtualMachines", + "Microsoft.Compute/virtualMachineScaleSets" + ] + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListCapabilities.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListCapabilities.json new file mode 100644 index 000000000000..3468cbc5db9f --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListCapabilities.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-VirtualMachine", + "api-version": "2021-09-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0", + "type": "Microsoft.Chaos/targets/capabilities", + "name": "Shutdown-1.0", + "properties": { + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + }, + "systemData": { + "createdAt": "2020-05-14T05:08:38.4662189Z", + "lastModifiedAt": "2020-05-14T05:08:38.4662189Z" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities?continuationToken=&api-version=2021-09-15-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListCapabilityTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListCapabilityTypes.json new file mode 100644 index 000000000000..14680174972f --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListCapabilityTypes.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "locationName": "westus2", + "targetTypeName": "Microsoft-VirtualMachine", + "api-version": "2021-09-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-VirtualMachine/capabilityTypes/Shutdown-1.0", + "type": "Microsoft.Chaos/locations/targetTypes/capabilityTypes", + "name": "Shutdown-1.0", + "properties": { + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "displayName": "Shutdown VM", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-VirtualMachine/capabilityTypes?continuationToken=&api-version=2021-09-15-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentExecutionsDetails.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentExecutionsDetails.json new file mode 100644 index 000000000000..5bbd6a383204 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentExecutionsDetails.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2021-09-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.Chaos/experiments/executionDetails", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executionDetails/f24500ad-744e-4a26-864b-b76199eac333", + "name": "f24500ad-744e-4a26-864b-b76199eac333", + "properties": { + "createdDateUtc": "2020-12-14T21:52:42.917983Z", + "lastActionDateUtc": "2020-12-14T21:52:52.2552574Z", + "startDateUtc": "2020-12-14T21:52:52.2552574Z", + "stopDateUtc": "2020-12-14T21:56:18.9281956Z", + "status": "failed", + "failureReason": "Dependency failure", + "runInformation": { + "steps": [ + { + "name": "FirstStep", + "id": "FirstStep", + "status": "failed", + "branches": [ + { + "name": "FirstBranch", + "id": "FirstBranch", + "status": "failed", + "actions": [ + { + "name": "urn:provider:agent-v2:Microsoft.Azure.Chaos.Fault.CPUPressureAllProcessors", + "id": "59499d33-6751-4b6e-a1f6-58f4d56a040a", + "status": "failed", + "targets": [ + { + "status": "succeeded", + "target": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/VM1", + "failedDateUtc": "2021-04-02T16:30:55+00:00", + "completedDateUtc": "2021-04-02T17:30:55+00:00" + } + ], + "lastUpdatedDateUtc": "2020-12-14T13:56:13.6270153-08:00" + } + ] + } + ] + } + ] + } + } + }, + { + "type": "Microsoft.Chaos/experiments/executionDetails", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executionDetails/14d98367-52ef-4596-be4f-53fc81bbfc33", + "name": "14d98367-52ef-4596-be4f-53fc81bbfc33", + "properties": { + "createdDateUtc": "2020-12-14T21:52:42.917983Z", + "lastActionDateUtc": "2020-12-14T21:52:52.2552574Z", + "startDateUtc": "2020-12-14T21:52:52.2552574Z", + "stopDateUtc": "2020-12-14T21:56:18.9281956Z", + "status": "success", + "failureReason": "", + "runInformation": { + "steps": [ + { + "name": "FirstStep", + "id": "FirstStep", + "status": "success", + "branches": [ + { + "name": "FirstBranch", + "id": "FirstBranch", + "status": "success", + "actions": [ + { + "name": "urn:provider:agent-v2:Microsoft.Azure.Chaos.Fault.CPUPressureAllProcessors", + "id": "59499d33-6751-4b6e-a1f6-58f4d56a040a", + "status": "success", + "targets": [ + { + "status": "succeeded", + "target": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/VM1", + "failedDateUtc": "2021-04-02T16:30:55+00:00", + "completedDateUtc": "2021-04-02T17:30:55+00:00" + } + ], + "lastUpdatedDateUtc": "2020-12-14T13:56:13.6270153-08:00" + } + ] + } + ] + } + ] + } + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executionDetails?continuationToken=&api-version=2021-09-15-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentStatuses.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentStatuses.json new file mode 100644 index 000000000000..98c9b09dff1e --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentStatuses.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "continuationToken": null, + "api-version": "2021-09-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/statuses/50734542-2e64-4e08-814c-cc0e7475f7e4", + "type": "Microsoft.Chaos/experiments/statuses", + "name": "50734542-2e64-4e08-814c-cc0e7475f7e4", + "properties": { + "status": "Successful", + "createdDateUtc": "2021-07-01T00:00:00.0Z", + "endDateUtc": "2021-07-01T01:00:00.0Z" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/statuses?continuationToken=&api-version=2021-09-15-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentsInAResourceGroup.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentsInAResourceGroup.json new file mode 100644 index 000000000000..486af05e2c8c --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentsInAResourceGroup.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "continuationToken": null, + "api-version": "2021-09-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "centraluseuap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "Continuous", + "name": "urn:csci:provider:providername:Shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": { + "restartWhenComplete": true + } + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments?continuationToken=&api-version=2021-09-15-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentsInASubscription.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentsInASubscription.json new file mode 100644 index 000000000000..dd0eb21ddfcb --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentsInASubscription.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "continuationToken": null, + "api-version": "2021-09-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "centraluseuap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "Continuous", + "name": "urn:csci:provider:providername:Shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": { + "restartWhenComplete": true + } + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/experiments?continuationToken=&api-version=2021-09-15-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListTargetTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListTargetTypes.json new file mode 100644 index 000000000000..311895da63e3 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListTargetTypes.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "locationName": "westus2", + "continuationToken": null, + "api-version": "2021-09-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-Agent", + "type": "Microsoft.Chaos/locations/targetTypes", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "displayName": "Chaos Agent", + "description": "A target represents Chaos Agent.", + "propertiesSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine.json", + "resourceTypes": [ + "Microsoft.Compute/virtualMachines", + "Microsoft.Compute/virtualMachineScaleSets" + ] + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes?continuationToken=&api-version=2021-09-15-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListTargets.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListTargets.json new file mode 100644 index 000000000000..21bb1e0b53db --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListTargets.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "continuationToken": null, + "api-version": "2021-09-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-Agent", + "type": "Microsoft.Chaos/targets", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "identities": [ + { + "type": "CertificateSubjectIssuer", + "subject": "CN=example.subject" + } + ], + "agentProfileId": "ac4e8251-fdc9-4277-8e87-dc57fe5794cf" + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets?continuationToken=&api-version=2021-09-15-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/StartAExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/StartAExperiment.json new file mode 100644 index 000000000000..3a3bb70f0443 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/StartAExperiment.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2021-09-15-preview" + }, + "responses": { + "202": { + "headers": {}, + "body": { + "name": "exampleExperiment", + "statusUrl": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/statuses/50734542-2e64-4e08-814c-cc0e7475f7e4" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/experiments.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/experiments.json new file mode 100644 index 000000000000..da04a34bd345 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/experiments.json @@ -0,0 +1,534 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2021-09-15-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}/providers/Microsoft.Chaos/experiments": { + "get": { + "description": "Get a list of Experiment resources in a subscription.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_ListAll", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/experiments.json#/parameters/runningFilter" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Experiment resources returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Experiments in a subscription.": { + "$ref": "./examples/ListExperimentsInASubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments": { + "get": { + "description": "Get a list of Experiment resources in a resource group.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/runningFilter" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Experiment resources returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Experiments in a resource group.": { + "$ref": "./examples/ListExperimentsInAResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}": { + "delete": { + "description": "Delete a Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Delete", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "200": { + "description": "Request was successful." + }, + "204": { + "description": "Request was successful." + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a Experiment in a resource group.": { + "$ref": "./examples/DeleteAExperiment.json" + } + } + }, + "get": { + "description": "Get a Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "200": { + "description": "Experiment resource returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experiment" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Experiment in a resource group.": { + "$ref": "./examples/GetAExperiment.json" + } + } + }, + "put": { + "description": "Create or update a Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "original-uri" + }, + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + }, + { + "name": "experiment", + "description": "Experiment resource to be created or updated.", + "in": "body", + "required": true, + "schema": { + "$ref": "./types/experiments.json#/definitions/experiment" + } + } + ], + "responses": { + "200": { + "description": "Experiment resource returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experiment" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create/update a Experiment in a resource group.": { + "$ref": "./examples/CreateOrUpdateAExperiment.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/cancel": { + "post": { + "description": "Cancel a running Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Cancel", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "original-uri" + }, + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "202": { + "description": "Operation result returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentCancelOperationResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Cancel a running Experiment.": { + "$ref": "./examples/CancelAExperiment.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/start": { + "post": { + "description": "Start a Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Start", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "202": { + "description": "Operation result returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentStartOperationResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Start a Experiment.": { + "$ref": "./examples/StartAExperiment.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/statuses": { + "get": { + "description": "Get a list of statuses of a Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_ListAllStatuses", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "200": { + "description": "List of statuses returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentStatusListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all statuses of a Experiment.": { + "$ref": "./examples/ListExperimentStatuses.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/statuses/{statusId}": { + "get": { + "description": "Get a status of a Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_GetStatus", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + }, + { + "$ref": "./types/experiments.json#/parameters/statusId" + } + ], + "responses": { + "200": { + "description": "Status returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentStatus" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get the status of a Experiment.": { + "$ref": "./examples/GetAExperimentStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/executionDetails": { + "get": { + "tags": [ + "Experiments" + ], + "description": "Get a list of execution details of a Experiment resource.", + "operationId": "Experiments_ListExecutionDetails", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "200": { + "description": "Execution detail if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentExecutionDetailsListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List experiment executions details": { + "$ref": "./examples/ListExperimentExecutionsDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/executionDetails/{executionDetailsId}": { + "get": { + "tags": [ + "Experiments" + ], + "description": "Get an execution detail of a Experiment resource.", + "operationId": "Experiments_GetExecutionDetails", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + }, + { + "$ref": "./types/experiments.json#/parameters/executionDetailsId" + } + ], + "responses": { + "200": { + "description": "List of execution details in request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentExecutionDetails" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get experiment execution details": { + "$ref": "./examples/GetAExperimentExecutionDetails.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/operations.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/operations.json new file mode 100644 index 000000000000..e8c71a4111a2 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/operations.json @@ -0,0 +1,70 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2021-09-15-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": { + "/providers/Microsoft.Chaos/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Get a list all available Operations.", + "operationId": "Operations_ListAll", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "List of Operations returned if request was successful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": {} + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/targetTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/targetTypes.json new file mode 100644 index 000000000000..03690f6b7ed8 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/targetTypes.json @@ -0,0 +1,125 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2021-09-15-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}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes": { + "get": { + "description": "Get a list of Target Type resources for given location.", + "tags": [ + "TargetTypes" + ], + "operationId": "TargetTypes_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/locationName" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Target Type resources returned if request was successful.", + "schema": { + "$ref": "./types/targetTypes.json#/definitions/targetTypeListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Target Types for westus2 location.": { + "$ref": "./examples/ListTargetTypes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetTypeName}": { + "get": { + "description": "Get a Target Type resources for given location.", + "tags": [ + "TargetTypes" + ], + "operationId": "TargetTypes_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/locationName" + }, + { + "$ref": "./types/common.json#/parameters/targetTypeName" + } + ], + "responses": { + "200": { + "description": "Target Type resource returned if request was successful.", + "schema": { + "$ref": "./types/targetTypes.json#/definitions/targetType" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Target Type for westus2 location": { + "$ref": "./examples/GetATargetType.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/targets.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/targets.json new file mode 100644 index 000000000000..50763dc6734c --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/targets.json @@ -0,0 +1,250 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2021-09-15-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/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets": { + "get": { + "description": "Get a list of Target resources that extend a tracked regional resource.", + "tags": [ + "Targets" + ], + "operationId": "Targets_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Target resources returned if request was successful.", + "schema": { + "$ref": "./types/targets.json#/definitions/targetListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Targets that extend a virtual machine resource.": { + "$ref": "./examples/ListTargets.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}": { + "get": { + "description": "Get a Target resource that extends a tracked regional resource.", + "tags": [ + "Targets" + ], + "operationId": "Targets_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + } + ], + "responses": { + "200": { + "description": "Target resource returned if request was successful.", + "schema": { + "$ref": "./types/targets.json#/definitions/target" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Target that extends a virtual machine resource.": { + "$ref": "./examples/GetATarget.json" + } + } + }, + "delete": { + "description": "Delete a Target resource that extends a tracked regional resource.", + "tags": [ + "Targets" + ], + "operationId": "Targets_Delete", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + } + ], + "responses": { + "200": { + "description": "Target resource deletion was successful." + }, + "204": { + "description": "Target resource deletion was successful." + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a Target that extends a virtual machine resource.": { + "$ref": "./examples/DeleteATarget.json" + } + } + }, + "put": { + "description": "Create or update a Target resource that extends a tracked regional resource.", + "tags": [ + "Targets" + ], + "operationId": "Targets_CreateOrUpdate", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "name": "target", + "description": "Target resource to be created or updated.", + "in": "body", + "required": true, + "schema": { + "$ref": "./types/targets.json#/definitions/target" + } + } + ], + "responses": { + "200": { + "description": "Target resource returned if request was successful.", + "schema": { + "$ref": "./types/targets.json#/definitions/target" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create/update a Target that extends a virtual machine resource.": { + "$ref": "./examples/CreateOrUpdateATarget.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/capabilities.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/capabilities.json new file mode 100644 index 000000000000..d8fc244e393f --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/capabilities.json @@ -0,0 +1,84 @@ +{ + "swagger": "2.0", + "info": { + "title": "Capability Types", + "version": "2021-09-15-preview" + }, + "paths": {}, + "definitions": { + "capability": { + "type": "object", + "description": "Model that represents a Capability resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "description": "The standard system metadata of a resource type.", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of a capability resource.", + "$ref": "#/definitions/capabilityProperties", + "readOnly": true + } + } + }, + "capabilityProperties": { + "type": "object", + "description": "Model that represents the Capability properties model.", + "properties": { + "publisher": { + "type": "string", + "description": "String of the Publisher that this Capability extends.", + "readOnly": true + }, + "targetType": { + "type": "string", + "description": "String of the Target Type that this Capability extends.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Localized string of the description.", + "readOnly": true + }, + "parametersSchema": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve JSON schema of the Capability parameters.", + "readOnly": true + }, + "urn": { + "$ref": "./common.json#/definitions/urn", + "description": "String of the URN for this Capability Type.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "capabilityListResult": { + "type": "object", + "description": "Model that represents a list of Capability resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/capability" + }, + "description": "List of Capability resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Capability resources.", + "readOnly": true + } + }, + "additionalProperties": false + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/capabilityTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/capabilityTypes.json new file mode 100644 index 000000000000..5f58f386a83c --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/capabilityTypes.json @@ -0,0 +1,93 @@ +{ + "swagger": "2.0", + "info": { + "title": "Capability Metadata Types", + "version": "2021-09-15-preview" + }, + "paths": {}, + "definitions": { + "capabilityType": { + "type": "object", + "description": "Model that represents a Capability Type resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "description": "The system metadata properties of the capability type resource.", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "location": { + "type": "string", + "description": "Location of the Capability Type resource." + }, + "properties": { + "description": "The properties of the capability type resource.", + "$ref": "#/definitions/capabilityTypeProperties", + "x-ms-client-flatten": true, + "readOnly": true + } + } + }, + "capabilityTypeProperties": { + "type": "object", + "description": "Model that represents the Capability Type properties model.", + "properties": { + "publisher": { + "type": "string", + "description": "String of the Publisher that this Capability Type extends.", + "readOnly": true + }, + "targetType": { + "type": "string", + "description": "String of the Target Type that this Capability Type extends.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "Localized string of the display name.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Localized string of the description.", + "readOnly": true + }, + "parametersSchema": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve JSON schema of the Capability Type parameters.", + "readOnly": true + }, + "urn": { + "$ref": "./common.json#/definitions/urn", + "description": "String of the URN for this Capability Type.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "capabilityTypeListResult": { + "type": "object", + "description": "Model that represents a list of Capability Type resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/capabilityType" + }, + "description": "List of Capability Type resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Capability Type resources.", + "readOnly": true + } + }, + "additionalProperties": false + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/common.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/common.json new file mode 100644 index 000000000000..0da9e0c3aa5c --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/common.json @@ -0,0 +1,180 @@ +{ + "swagger": "2.0", + "info": { + "title": "Common Types", + "version": "2021-09-15-preview" + }, + "paths": {}, + "definitions": { + "resourceIdentity": { + "type": "object", + "description": "The managed identity of a resource.", + "properties": { + "type": { + "type": "string", + "description": "String of the resource identity type.", + "enum": [ + "None", + "SystemAssigned" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "principalId": { + "type": "string", + "description": "GUID that represents the principal ID of this resource identity.", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "readOnly": true + }, + "tenantId": { + "type": "string", + "description": "GUID that represents the tenant ID of this resource identity.", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "readOnly": true + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "url": { + "type": "string", + "description": "String that represents a URL.", + "maxLength": 2048, + "x-nullable": false + }, + "urn": { + "type": "string", + "description": "String that represents a URN.", + "maxLength": 2048, + "x-nullable": false + }, + "urlNullable": { + "type": "string", + "description": "Optional string that represents a URL.", + "maxLength": 2048, + "x-nullable": true + } + }, + "parameters": { + "apiVersion": { + "name": "api-version", + "description": "String that sets the API version.", + "type": "string", + "in": "query", + "required": true, + "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}(|-preview)$", + "x-ms-parameter-location": "client" + }, + "subscriptionId": { + "name": "subscriptionId", + "description": "GUID that represents an Azure subscription ID.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "x-ms-parameter-location": "client" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "description": "String that represents an Azure resource group.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.\\(\\)]*[a-zA-Z0-9_\\-\\(\\)]$", + "x-ms-parameter-location": "method" + }, + "parentResourcePath": { + "name": "parentResourcePath", + "description": "String that represents the path to a parent resource starting with the providers segment.", + "type": "string", + "in": "path", + "required": true, + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "parentProviderNamespace": { + "name": "parentProviderNamespace", + "description": "String that represents a resource provider namespace.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9]+\\.[a-zA-Z0-9]+$", + "x-ms-parameter-location": "method" + }, + "parentResourceType": { + "name": "parentResourceType", + "description": "String that represents a resource type.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "parentResourceName": { + "name": "parentResourceName", + "description": "String that represents a resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "targetName": { + "name": "targetName", + "description": "String that represents a Target resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "capabilityName": { + "name": "capabilityName", + "description": "String that represents a Capability resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9\\-\\.]+-\\d\\.\\d$", + "x-ms-parameter-location": "method" + }, + "targetTypeName": { + "name": "targetTypeName", + "description": "String that represents a Target Type resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "capabilityTypeName": { + "name": "capabilityTypeName", + "description": "String that represents a Capability Type resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9\\-\\.]+-\\d\\.\\d$", + "x-ms-parameter-location": "method" + }, + "locationName": { + "name": "locationName", + "description": "String that represents a Location resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "continuationToken": { + "name": "continuationToken", + "description": "String that sets the continuation token.", + "type": "string", + "in": "query", + "x-ms-parameter-location": "method", + "x-nullable": false + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/experiments.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/experiments.json new file mode 100644 index 000000000000..343d1f1a5151 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/experiments.json @@ -0,0 +1,719 @@ +{ + "swagger": "2.0", + "info": { + "title": "Experiment Types", + "version": "2021-09-15-preview" + }, + "paths": {}, + "parameters": { + "experimentName": { + "name": "experimentName", + "description": "String that represents a Experiment resource name.", + "type": "string", + "in": "path", + "required": true, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "statusId": { + "name": "statusId", + "description": "GUID that represents a Experiment status.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "x-ms-parameter-location": "method" + }, + "runningFilter": { + "name": "running", + "description": "Optional value that indicates whether to filter results based on if the Experiment is currently running. If null, then the results will not be filtered.", + "type": "boolean", + "in": "query", + "x-ms-parameter-location": "method", + "x-nullable": false + }, + "executionDetailsId": { + "name": "executionDetailsId", + "in": "path", + "required": true, + "x-ms-parameter-location": "method", + "description": "GUID that represents a Experiment execution detail.", + "type": "string", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" + } + }, + "definitions": { + "experiment": { + "type": "object", + "description": "Model that represents a Experiment resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "systemData": { + "description": "The system metadata of the experiment resource.", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "identity": { + "description": "The identity of the experiment resource.", + "$ref": "./common.json#/definitions/resourceIdentity" + }, + "properties": { + "description": "The properties of the experiment resource.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/experimentProperties" + } + }, + "required": [ + "properties" + ] + }, + "experimentProperties": { + "description": "Model that represents the Experiment properties model.", + "type": "object", + "properties": { + "steps": { + "type": "array", + "items": { + "$ref": "#/definitions/step" + }, + "description": "List of steps.", + "minItems": 1 + }, + "selectors": { + "type": "array", + "items": { + "$ref": "#/definitions/selector" + }, + "description": "List of selectors.", + "minItems": 1 + }, + "startOnCreation": { + "description": "A boolean value that indicates if experiment should be started on creation or not.", + "type": "boolean", + "x-nullable": true + } + }, + "required": [ + "steps", + "selectors" + ], + "additionalProperties": false + }, + "experimentListResult": { + "type": "object", + "description": "Model that represents a list of Experiment resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/experiment" + }, + "description": "List of Experiment resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Experiment resources.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "step": { + "type": "object", + "description": "Model that represents a step in the Experiment resource.", + "properties": { + "name": { + "type": "string", + "description": "String of the step name.", + "minLength": 1 + }, + "branches": { + "type": "array", + "description": "List of branches.", + "items": { + "$ref": "#/definitions/branch" + }, + "minItems": 1 + } + }, + "required": [ + "name", + "branches" + ], + "additionalProperties": false + }, + "branch": { + "type": "object", + "description": "Model that represents a branch in the step.", + "properties": { + "name": { + "type": "string", + "description": "String of the branch name.", + "minLength": 1 + }, + "actions": { + "type": "array", + "description": "List of actions.", + "items": { + "$ref": "#/definitions/action" + }, + "minItems": 1 + } + }, + "required": [ + "name", + "actions" + ], + "additionalProperties": false + }, + "action": { + "type": "object", + "description": "Model that represents the base action model.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Enum that discriminates between action models." + }, + "name": { + "$ref": "./common.json#/definitions/urn", + "description": "String that represents a Capability URN." + } + }, + "required": [ + "type", + "name" + ] + }, + "delayAction": { + "type": "object", + "description": "Model that represents a delay action.", + "allOf": [ + { + "$ref": "#/definitions/action" + } + ], + "properties": { + "duration": { + "type": "string", + "description": "ISO8601 formatted string that represents a duration.", + "pattern": "^P(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(\\.\\d+)?S)?)?$" + } + }, + "required": [ + "duration" + ], + "additionalProperties": false, + "x-ms-discriminator-value": "delay" + }, + "discreteAction": { + "type": "object", + "description": "Model that represents a discrete action.", + "allOf": [ + { + "$ref": "#/definitions/action" + } + ], + "properties": { + "parameters": { + "description": "List of key value pairs.", + "type": "array", + "items": { + "$ref": "#/definitions/keyValuePair" + } + }, + "selectorId": { + "type": "string", + "description": "String that represents a selector.", + "minLength": 1 + } + }, + "required": [ + "parameters", + "selectorId" + ], + "additionalProperties": false, + "x-ms-discriminator-value": "discrete" + }, + "continuousAction": { + "type": "object", + "description": "Model that represents a continuous action.", + "allOf": [ + { + "$ref": "#/definitions/action" + } + ], + "properties": { + "duration": { + "type": "string", + "description": "ISO8601 formatted string that represents a duration.", + "pattern": "^P(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(\\.\\d+)?S)?)?$" + }, + "parameters": { + "description": "List of key value pairs.", + "type": "array", + "items": { + "$ref": "#/definitions/keyValuePair" + } + }, + "selectorId": { + "type": "string", + "description": "String that represents a selector.", + "minLength": 1 + } + }, + "required": [ + "duration", + "parameters", + "selectorId" + ], + "additionalProperties": false, + "x-ms-discriminator-value": "continuous" + }, + "keyValuePair": { + "description": "A map to describe the settings of an action.", + "type": "object", + "properties": { + "key": { + "description": "The name of the setting for the action.", + "type": "string", + "minLength": 1 + }, + "value": { + "description": "The value of the setting for the action.", + "type": "string", + "minLength": 1 + } + }, + "required": [ + "key", + "value" + ], + "additionalProperties": false + }, + "selector": { + "type": "object", + "description": "Model that represents a selector in the Experiment resource.", + "properties": { + "type": { + "type": "string", + "description": "Enum of the selector type.", + "enum": [ + "Percent", + "Random", + "Tag", + "List" + ], + "x-ms-enum": { + "name": "SelectorType", + "modelAsString": false + } + }, + "id": { + "type": "string", + "description": "String of the selector ID.", + "minLength": 1 + }, + "targets": { + "type": "array", + "description": "List of Target references.", + "minItems": 1, + "items": { + "$ref": "#/definitions/targetReference" + } + } + }, + "required": [ + "type", + "id", + "targets" + ], + "additionalProperties": false + }, + "targetReference": { + "type": "object", + "description": "Model that represents a reference to a Target in the selector.", + "properties": { + "type": { + "type": "string", + "description": "Enum of the Target reference type.", + "enum": [ + "ChaosTarget" + ], + "x-ms-enum": { + "name": "TargetReferenceType", + "modelAsString": false + } + }, + "id": { + "type": "string", + "description": "String of the resource ID of a Target resource.", + "pattern": "^\\/[Ss][Uu][Bb][Ss][Cc][Rr][Ii][Pp][Tt][Ii][Oo][Nn][Ss]\\/[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\\/[Rr][Ee][Ss][Oo][Uu][Rr][Cc][Ee][Gg][Rr][Oo][Uu][Pp][Ss]\\/[a-zA-Z0-9_\\-\\.\\(\\)]*[a-zA-Z0-9_\\-\\(\\)]\\/[Pp][Rr][Oo][Vv][Ii][Dd][Ee][Rr][Ss]\\/[a-zA-Z0-9]+\\.[a-zA-Z0-9]+\\/[a-zA-Z0-9_\\-\\.]+\\/[a-zA-Z0-9_\\-\\.]+\\/[Pp][Rr][Oo][Vv][Ii][Dd][Ee][Rr][Ss]\\/[Mm][Ii][Cc][Rr][Oo][Ss][Oo][Ff][Tt]\\.[Cc][Hh][Aa][Oo][Ss]\\/[Tt][Aa][Rr][Gg][Ee][Tt][Ss]\\/[a-zA-Z0-9_\\-\\.]+$" + } + }, + "required": [ + "type", + "id" + ], + "additionalProperties": false + }, + "experimentCancelOperationResult": { + "type": "object", + "description": "Model that represents the result of a cancel Experiment operation.", + "properties": { + "name": { + "type": "string", + "description": "String of the Experiment name.", + "readOnly": true + }, + "statusUrl": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve the Experiment status.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "experimentStartOperationResult": { + "type": "object", + "description": "Model that represents the result of a start Experiment operation.", + "properties": { + "name": { + "type": "string", + "description": "String of the Experiment name.", + "readOnly": true + }, + "statusUrl": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve the Experiment status.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "experimentStatus": { + "type": "object", + "description": "Model that represents the status of a Experiment.", + "properties": { + "type": { + "type": "string", + "description": "String of the resource type.", + "readOnly": true + }, + "id": { + "type": "string", + "description": "String of the fully qualified resource ID.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "String of the resource name.", + "readOnly": true + }, + "properties": { + "description": "The properties of experiment execution status.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/experimentStatusProperties" + } + }, + "additionalProperties": false + }, + "experimentStatusProperties": { + "description": "Model that represents the Experiment status properties model.", + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "String that represents the status of a Experiment.", + "readOnly": true + }, + "createdDateUtc": { + "type": "string", + "format": "date-time", + "description": "String that represents the created date time of a Experiment.", + "readOnly": true + }, + "endDateUtc": { + "type": "string", + "format": "date-time", + "description": "String that represents the end date time of a Experiment.", + "readOnly": true, + "x-nullable": true + } + }, + "additionalProperties": false + }, + "experimentStatusListResult": { + "type": "object", + "description": "Model that represents a list of Experiment statuses and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/experimentStatus" + }, + "description": "List of Experiment statuses.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Experiment statuses.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "experimentExecutionActionTargetDetailsProperties": { + "description": "Model that represents the Experiment action target details properties model.", + "type": "object", + "properties": { + "status": { + "description": "The status of the execution.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target for the action.", + "type": "string", + "readOnly": true + }, + "failedDateUtc": { + "type": "string", + "format": "date-time", + "description": "String that represents the failed date time.", + "readOnly": true, + "x-nullable": true + }, + "completedDateUtc": { + "type": "string", + "format": "date-time", + "description": "String that represents the completed date time.", + "readOnly": true, + "x-nullable": true + }, + "error": { + "description": "The error of the action.", + "type": "object", + "$ref": "#/definitions/experimentExecutionActionTargetDetailsError", + "readOnly": true, + "x-nullable": true + } + } + }, + "experimentExecutionActionTargetDetailsError": { + "type": "object", + "description": "Model that represents the Experiment action target details error model.", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message", + "type": "string", + "readOnly": true + } + } + }, + "experimentExecutionDetailsListResult": { + "description": "Model that represents a list of Experiment execution details and a link for pagination.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/experimentExecutionDetails" + }, + "description": "List of Experiment execution details.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Experiment execution details.", + "readOnly": true + } + } + }, + "experimentExecutionDetails": { + "description": "Model that represents the execution details of a Experiment.", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "String of the resource type.", + "readOnly": true + }, + "id": { + "type": "string", + "description": "String of the fully qualified resource ID.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "String of the resource name.", + "readOnly": true + }, + "properties": { + "description": "The properties of the experiment execution details.", + "$ref": "#/definitions/experimentExecutionDetailsProperties", + "x-ms-client-flatten": true, + "readOnly": true + } + } + }, + "experimentExecutionDetailsProperties": { + "description": "Model that represents the Experiment execution details properties model.", + "type": "object", + "properties": { + "experimentId": { + "description": "The id of the experiment.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The value of the status of the experiment execution.", + "type": "string", + "readOnly": true + }, + "failureReason": { + "description": "The reason why the execution failed.", + "type": "string", + "readOnly": true + }, + "createdDateUtc": { + "type": "string", + "format": "date-time", + "description": "String that represents the created date time.", + "readOnly": true + }, + "lastActionDateUtc": { + "type": "string", + "format": "date-time", + "description": "String that represents the last action date time.", + "readOnly": true + }, + "startDateUtc": { + "type": "string", + "format": "date-time", + "description": "String that represents the start date time.", + "readOnly": true + }, + "stopDateUtc": { + "type": "string", + "format": "date-time", + "description": "String that represents the stop date time.", + "readOnly": true + }, + "runInformation": { + "description": "The information of the experiment run.", + "type": "object", + "properties": { + "steps": { + "description": "The steps of the experiment run.", + "type": "array", + "items": { + "$ref": "#/definitions/stepStatus" + }, + "readOnly": true + } + }, + "readOnly": true + } + } + }, + "stepStatus": { + "description": "Model that represents the a list of branches and branch statuses.", + "type": "object", + "properties": { + "name": { + "description": "The name of the step.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "The id of the step.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The value of the status of the step.", + "type": "string", + "readOnly": true + }, + "branches": { + "description": "The array of branches.", + "type": "array", + "items": { + "$ref": "#/definitions/branchStatus" + }, + "readOnly": true + } + } + }, + "branchStatus": { + "description": "Model that represents the a list of actions and action statuses.", + "type": "object", + "properties": { + "name": { + "description": "The name of the branch status.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "The id of the branch status.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the branch.", + "type": "string", + "readOnly": true + }, + "actions": { + "description": "The array of actions.", + "type": "array", + "items": { + "$ref": "#/definitions/actionStatus" + }, + "readOnly": true + } + } + }, + "actionStatus": { + "type": "object", + "description": "Model that represents the an action and its status.", + "properties": { + "name": { + "description": "The name of the action status.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "The id of the action status.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the action.", + "type": "string", + "readOnly": true + }, + "targets": { + "description": "The array of targets.", + "type": "array", + "items": { + "$ref": "#/definitions/experimentExecutionActionTargetDetailsProperties" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/targetTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/targetTypes.json new file mode 100644 index 000000000000..aa7de140120e --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/targetTypes.json @@ -0,0 +1,88 @@ +{ + "swagger": "2.0", + "info": { + "title": "Target Metadata Types", + "version": "2021-09-15-preview" + }, + "paths": {}, + "definitions": { + "targetType": { + "type": "object", + "description": "Model that represents a Target Type resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "description": "The system metadata properties of the target type resource.", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "location": { + "type": "string", + "description": "Location of the Target Type resource." + }, + "properties": { + "description": "The properties of the target type resource.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/targetTypeProperties" + } + }, + "required": [ + "properties" + ] + }, + "targetTypeProperties": { + "type": "object", + "description": "Model that represents the base Target Type properties model.", + "properties": { + "displayName": { + "type": "string", + "description": "Localized string of the display name.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Localized string of the description.", + "readOnly": true + }, + "propertiesSchema": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve JSON schema of the Target Type properties.", + "readOnly": true + }, + "resourceTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of resource types this Target Type can extend.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "targetTypeListResult": { + "type": "object", + "description": "Model that represents a list of Target Type resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/targetType" + }, + "description": "List of Target Type resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Target Type resources.", + "readOnly": true + } + }, + "additionalProperties": false + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/targets.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/targets.json new file mode 100644 index 000000000000..b20e512c8845 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/targets.json @@ -0,0 +1,64 @@ +{ + "swagger": "2.0", + "info": { + "title": "Target Types", + "version": "2021-09-15-preview" + }, + "paths": {}, + "definitions": { + "target": { + "type": "object", + "description": "Model that represents a Target resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "description": "The system metadata of the target resource.", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "location": { + "type": "string", + "description": "Location of the target resource." + }, + "properties": { + "description": "The properties of the target resource.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/targetProperties" + } + }, + "required": [ + "properties" + ] + }, + "targetProperties": { + "type": "object", + "description": "Model that represents the base Target properties model.", + "properties": {}, + "additionalProperties": true + }, + "targetListResult": { + "type": "object", + "description": "Model that represents a list of Target resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/target" + }, + "description": "List of Target resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Target resources.", + "readOnly": true + } + }, + "additionalProperties": false + } + } +} diff --git a/specification/chaos/resource-manager/readme.az.md b/specification/chaos/resource-manager/readme.az.md new file mode 100644 index 000000000000..058534d3049c --- /dev/null +++ b/specification/chaos/resource-manager/readme.az.md @@ -0,0 +1,28 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +For new Resource Provider. It is highly recommended to onboard Azure CLI extensions. There's no differences in terms of customer usage. + +``` yaml $(az) && $(target-mode) != 'core' +az: + extensions: chaos + namespace: azure.mgmt.chaos + package-name: azure-mgmt-chaos +az-output-folder: $(azure-cli-extension-folder)/src/chaos +python-sdk-output-folder: "$(az-output-folder)/azext_chaos/vendored_sdks/chaos" +# add additional configuration here specific for Azure CLI +# refer to the faq.md for more details +``` + + + +This is for command modules that already in azure cli main repo. +``` yaml $(az) && $(target-mode) == 'core' +az: + extensions: chaos + namespace: azure.mgmt.chaos + package-name: azure-mgmt-chaos +az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/chaos +python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/chaos" +``` \ No newline at end of file diff --git a/specification/chaos/resource-manager/readme.cli.md b/specification/chaos/resource-manager/readme.cli.md new file mode 100644 index 000000000000..c6cf6ad37ea4 --- /dev/null +++ b/specification/chaos/resource-manager/readme.cli.md @@ -0,0 +1 @@ +## CLI Common Settings for all the command line tools \ No newline at end of file diff --git a/specification/chaos/resource-manager/readme.csharp.md b/specification/chaos/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..7e08be4aa163 --- /dev/null +++ b/specification/chaos/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.Azure.Management.Chaos + output-folder: $(csharp-sdks-folder)/chaos/Microsoft.Azure.Management.Chaos/src/Generated +``` diff --git a/specification/chaos/resource-manager/readme.go.md b/specification/chaos/resource-manager/readme.go.md new file mode 100644 index 000000000000..9904b3ede7a7 --- /dev/null +++ b/specification/chaos/resource-manager/readme.go.md @@ -0,0 +1,11 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) && $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/chaos/armchaos +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +``` diff --git a/specification/chaos/resource-manager/readme.md b/specification/chaos/resource-manager/readme.md new file mode 100644 index 000000000000..c962124b870e --- /dev/null +++ b/specification/chaos/resource-manager/readme.md @@ -0,0 +1,115 @@ +# chaos + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for chaos. + +## Getting Started + +To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the chaos. + +```yaml +title: ChaosManagementClient +description: Chaos Management Client +openapi-type: arm +tag: package-2021-09-15-preview +``` + +### Tag: package-2021-09-15-preview + +These settings apply only when `--tag=package-2021-09-15-preview` is specified on the command line. + +```yaml $(tag) == 'package-2021-09-15-preview' +directive: + - suppress: R3026 + reason: Patch is not implemented in this version. + where: + - $.definitions.experiment + +input-file: + - Microsoft.Chaos/preview/2021-09-15-preview/capabilities.json + - Microsoft.Chaos/preview/2021-09-15-preview/experiments.json + - Microsoft.Chaos/preview/2021-09-15-preview/operations.json + - Microsoft.Chaos/preview/2021-09-15-preview/targets.json + - Microsoft.Chaos/preview/2021-09-15-preview/targetTypes.json + - Microsoft.Chaos/preview/2021-09-15-preview/capabilityTypes.json +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python-track2 + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go-track2 + - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + - repo: azure-cli-extensions +``` + +## Az + +See configuration in [readme.az.md](./readme.az.md) + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) + +## Suppression + +``` yaml +directive: + - suppress: TopLevelResourcesListBySubscription + where: $.definitions.target + from: targets.json + reason: |- + We have the top level resource list by subscription operation here: https://github.com/mariohdez/azure-rest-api-specs/blob/5a870f3163ae6e9cc5ed33d40cfff61764050213/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/targets.json#L37 + + this is a false positive I believe. + - suppress: TopLevelResourcesListBySubscription + where: $.definitions.target + from: targets.json + reason: |- + we defined the toplevelresourcelistbysubscription here: + + https://github.com/mariohdez/azure-rest-api-specs/blob/5a870f3163ae6e9cc5ed33d40cfff61764050213/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/targets.json#L37 + - suppress: EnumInsteadOfBoolean + where: $.definitions.Operation.properties.isDataAction + from: types.json + reason: We are consuming the type model declaration from "common". I don't think our service is responsible for updating this error... Plz push back otherwise. +``` diff --git a/specification/chaos/resource-manager/readme.python.md b/specification/chaos/resource-manager/readme.python.md new file mode 100644 index 000000000000..156899a9256c --- /dev/null +++ b/specification/chaos/resource-manager/readme.python.md @@ -0,0 +1,23 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-chaos +no-namespace-folders: true +package-version: 1.0.0b1 +clear-output-folder: true +``` + +``` yaml $(python-mode) == 'update' && $(track2) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/chaos/azure-mgmt-chaos/azure/mgmt/chaos +``` + +``` yaml $(python-mode) == 'create' && $(track2) +basic-setup-py: true +output-folder: $(python-sdks-folder)/chaos/azure-mgmt-chaos +``` diff --git a/specification/chaos/resource-manager/readme.typescript.md b/specification/chaos/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..39b0d62e64f1 --- /dev/null +++ b/specification/chaos/resource-manager/readme.typescript.md @@ -0,0 +1,14 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-chaos" + output-folder: "$(typescript-sdks-folder)/sdk/chaos/arm-chaos" + payload-flattening-threshold: 1 + clear-output-folder: true + generate-metadata: true +``` diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/Face.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/Face.json index fcf905f89613..4909f1dceda4 100644 --- a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/Face.json +++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/Face.json @@ -1048,7 +1048,7 @@ }, "/detect": { "post": { - "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar). The stored face feature(s) will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.\n* Optional parameters include faceId, landmarks, and attributes. Attributes include age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure, noise, and mask. Some of the results returned for specific attributes may not be highly accurate.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n* For optimal results when querying [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar) ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model).\n\n* Different 'recognitionModel' values are provided. If follow-up operations like Verify, Identify, Find Similar are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to [Specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model).", + "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar). The stored face feature(s) will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.\n* Optional parameters include faceId, landmarks, and attributes. Attributes include age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure, noise, mask, and qualityForRecognition. Some of the results returned for specific attributes may not be highly accurate.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n* For optimal results when querying [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar) ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model).\n\n* Different 'recognitionModel' values are provided. If follow-up operations like Verify, Identify, Find Similar are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to [Specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model).", "operationId": "Face_DetectWithUrl", "parameters": [ { @@ -3422,7 +3422,7 @@ }, "/detect?overload=stream": { "post": { - "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar). The stored face feature(s) will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.\n* Optional parameters include faceId, landmarks, and attributes. Attributes include age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure, noise, and mask. Some of the results returned for specific attributes may not be highly accurate.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n* For optimal results when querying [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar) ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)\n* Different 'recognitionModel' values are provided. If follow-up operations like Verify, Identify, Find Similar are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to [Specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model).", + "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar). The stored face feature(s) will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.\n* Optional parameters include faceId, landmarks, and attributes. Attributes include age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure, noise, mask, and qualityForRecognition. Some of the results returned for specific attributes may not be highly accurate.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n* For optimal results when querying [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar) ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)\n* Different 'recognitionModel' values are provided. If follow-up operations like Verify, Identify, Find Similar are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to [Specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model).", "operationId": "Face_DetectWithStream", "parameters": [ { @@ -4024,6 +4024,19 @@ "mask": { "description": "Properties describing the presence of a mask on a given face.", "$ref": "#/definitions/Mask" + }, + "qualityForRecognition": { + "type": "string", + "description": "Properties describing the overall image quality regarding whether the image being used in the detection is of sufficient quality to attempt face recognition on.", + "x-ms-enum": { + "name": "QualityForRecognition", + "modelAsString": false + }, + "enum": [ + "Low", + "Medium", + "High" + ] } } }, @@ -5363,7 +5376,7 @@ "returnFaceAttributes": { "name": "returnFaceAttributes", "in": "query", - "description": "Analyze and return the one or more specified face attributes in the comma-separated string like \"returnFaceAttributes=age,gender\". The available attributes depends on the 'detectionModel' specified. 'detection_01' supports age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure, and noise. While 'detection_02' does not support any attributes and 'detection_03' only supports mask. Note that each face attribute analysis has additional computational and time cost.", + "description": "Analyze and return the one or more specified face attributes in the comma-separated string like \"returnFaceAttributes=age,gender\". The available attributes depends on the 'detectionModel' specified. 'detection_01' supports age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure, noise, and qualityForRecognition. While 'detection_02' does not support any attributes and 'detection_03' only supports mask and qualityForRecognition. Additionally, qualityForRecognition is only supported when the 'recognitionModel' is specified as 'recognition_03' or 'recognition_04'. Note that each face attribute analysis has additional computational and time cost.", "type": "array", "x-ms-parameter-location": "method", "required": false, @@ -5390,7 +5403,8 @@ "blur", "exposure", "noise", - "mask" + "mask", + "qualityForRecognition" ] } }, diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json index 405f483b1da6..7b70564c1388 100644 --- a/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json +++ b/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json @@ -1048,7 +1048,7 @@ }, "/detect": { "post": { - "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar). The stored face feature(s) will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.\n* Optional parameters include faceId, landmarks, and attributes. Attributes include age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure, noise, and mask. Some of the results returned for specific attributes may not be highly accurate.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n* For optimal results when querying [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar) ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model).\n\n* Different 'recognitionModel' values are provided. If follow-up operations like Verify, Identify, Find Similar are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to [Specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model).", + "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar). The stored face feature(s) will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.\n* Optional parameters include faceId, landmarks, and attributes. Attributes include age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure, noise, mask, and qualityForRecognition. Some of the results returned for specific attributes may not be highly accurate.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n* For optimal results when querying [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar) ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model).\n\n* Different 'recognitionModel' values are provided. If follow-up operations like Verify, Identify, Find Similar are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to [Specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model).", "operationId": "Face_DetectWithUrl", "parameters": [ { @@ -2575,7 +2575,7 @@ }, "/detect?overload=stream": { "post": { - "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar). The stored face feature(s) will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.\n* Optional parameters include faceId, landmarks, and attributes. Attributes include age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure, noise, and mask. Some of the results returned for specific attributes may not be highly accurate.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n* For optimal results when querying [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar) ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)\n* Different 'recognitionModel' values are provided. If follow-up operations like Verify, Identify, Find Similar are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to [Specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model).", + "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar). The stored face feature(s) will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.\n* Optional parameters include faceId, landmarks, and attributes. Attributes include age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure, noise, mask, and qualityForRecognition. Some of the results returned for specific attributes may not be highly accurate.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n* For optimal results when querying [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar) ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)\n* Different 'recognitionModel' values are provided. If follow-up operations like Verify, Identify, Find Similar are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to [Specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model).", "operationId": "Face_DetectWithStream", "parameters": [ { @@ -3100,6 +3100,19 @@ "mask": { "description": "Properties describing the presence of a mask on a given face.", "$ref": "#/definitions/Mask" + }, + "qualityForRecognition": { + "type": "string", + "description": "Properties describing the overall image quality regarding whether the image being used in the detection is of sufficient quality to attempt face recognition on.", + "x-ms-enum": { + "name": "QualityForRecognition", + "modelAsString": false + }, + "enum": [ + "Low", + "Medium", + "High" + ] } } }, @@ -3403,6 +3416,20 @@ } } }, + "QualityForRecognition": { + "type": "string", + "description": "An enum value indicating quality of image for recognition.", + "x-nullable": false, + "x-ms-enum": { + "name": "QualityForRecognition", + "modelAsString": false + }, + "enum": [ + "Low", + "Medium", + "High" + ] + }, "FindSimilarRequest": { "type": "object", "required": [ @@ -4206,7 +4233,7 @@ "returnFaceAttributes": { "name": "returnFaceAttributes", "in": "query", - "description": "Analyze and return the one or more specified face attributes in the comma-separated string like \"returnFaceAttributes=age,gender\". The available attributes depends on the 'detectionModel' specified. 'detection_01' supports age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure, and noise. While 'detection_02' does not support any attributes and 'detection_03' only supports mask. Note that each face attribute analysis has additional computational and time cost.", + "description": "Analyze and return the one or more specified face attributes in the comma-separated string like \"returnFaceAttributes=age,gender\". The available attributes depends on the 'detectionModel' specified. 'detection_01' supports age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure, noise, and qualityForRecognition. While 'detection_02' does not support any attributes and 'detection_03' only supports mask and qualityForRecognition. Additionally, qualityForRecognition is only supported when the 'recognitionModel' is specified as 'recognition_03' or 'recognition_04'. Note that each face attribute analysis has additional computational and time cost.", "type": "array", "x-ms-parameter-location": "method", "required": false, @@ -4233,7 +4260,8 @@ "blur", "exposure", "noise", - "mask" + "mask", + "qualityForRecognition" ] } }, diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/FormRecognizer.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/FormRecognizer.json new file mode 100644 index 000000000000..7d3abdced0bf --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/FormRecognizer.json @@ -0,0 +1,1941 @@ +{ + "swagger": "2.0", + "info": { + "title": "Form Recognizer Client", + "description": "Extracts content, layout, and structured data from documents.", + "version": "2021-09-30-preview" + }, + "securityDefinitions": { + "apim_key": { + "type": "apiKey", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" + } + }, + "security": [ + { + "apim_key": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}/formrecognizer", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "paths": { + "/documentModels/{modelId}:analyze": { + "post": { + "summary": "Analyze document", + "description": "Analyzes document with model.", + "operationId": "AnalyzeDocument", + "tags": [ + "Analysis" + ], + "consumes": [ + "application/json", + "application/octet-stream", + "application/pdf", + "image/jpeg", + "image/png", + "image/tiff", + "image/bmp" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/PathModelId" + }, + { + "$ref": "#/parameters/QueryPages" + }, + { + "$ref": "#/parameters/QueryLocale" + }, + { + "$ref": "#/parameters/QueryStringIndexType" + }, + { + "$ref": "#/parameters/QueryApiVersion" + }, + { + "name": "analyzeRequest", + "description": "Analyze request parameters.", + "required": false, + "in": "body", + "schema": { + "$ref": "#/definitions/AnalyzeDocumentRequest" + } + } + ], + "responses": { + "202": { + "description": "Request is queued successfully.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "URL used to track the progress and obtain the result of the analyze operation." + } + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "AnalyzeDocument_Url": { + "$ref": "./examples/AnalyzeDocument_Url.json" + }, + "AnalyzeDocument_Base64": { + "$ref": "./examples/AnalyzeDocument_Base64.json" + } + } + } + }, + "/documentModels/{modelId}/analyzeResults/{resultId}": { + "get": { + "summary": "Get analyze result", + "description": "Gets the result of document analysis.", + "operationId": "GetAnalyzeDocumentResult", + "tags": [ + "Analysis" + ], + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/PathModelId" + }, + { + "$ref": "#/parameters/PathResultId" + }, + { + "$ref": "#/parameters/QueryApiVersion" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/AnalyzeResultOperation" + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetAnalyzeDocumentResult": { + "$ref": "./examples/GetAnalyzeDocumentResult.json" + } + } + } + }, + "/documentModels:build": { + "post": { + "summary": "Build model", + "description": "Builds a custom document analysis model.", + "operationId": "BuildDocumentModel", + "tags": [ + "Creation" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/QueryApiVersion" + }, + { + "name": "buildRequest", + "description": "Building request parameters.", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/BuildDocumentModelRequest" + } + } + ], + "responses": { + "202": { + "description": "Request is queued successfully.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "Operation result URL." + } + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "BuildDocumentModel": { + "$ref": "./examples/BuildDocumentModel.json" + } + } + } + }, + "/documentModels:compose": { + "post": { + "summary": "Compose model", + "description": "Creates a new model from document types of existing models.", + "operationId": "ComposeDocumentModel", + "tags": [ + "Creation" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/QueryApiVersion" + }, + { + "name": "composeRequest", + "description": "Compose request parameters.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ComposeDocumentModelRequest" + } + } + ], + "responses": { + "202": { + "description": "Request is queued successfully.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "Operation result URL." + } + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ComposeDocumentModel": { + "$ref": "./examples/ComposeDocumentModel.json" + } + } + } + }, + "/documentModels:authorizeCopy": { + "post": { + "summary": "Generate copy authorization", + "description": "Generates authorization to copy a model to this location with specified modelId and optional description.", + "operationId": "AuthorizeCopyDocumentModel", + "tags": [ + "Creation" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/QueryApiVersion" + }, + { + "name": "authorizeCopyRequest", + "description": "Authorize copy request parameters.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AuthorizeCopyRequest" + } + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/CopyAuthorization" + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AuthorizeCopyDocumentModel": { + "$ref": "./examples/AuthorizeCopyDocumentModel.json" + } + } + } + }, + "/documentModels/{modelId}:copyTo": { + "post": { + "summary": "Copy model", + "description": "Copies model to the target resource, region, and modelId.", + "operationId": "CopyDocumentModelTo", + "tags": [ + "Creation" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/PathModelId" + }, + { + "$ref": "#/parameters/QueryApiVersion" + }, + { + "name": "copyToRequest", + "description": "Copy to request parameters.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CopyAuthorization" + } + } + ], + "responses": { + "202": { + "description": "Request is queued successfully.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "Operation result URL." + } + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CopyDocumentModelTo": { + "$ref": "./examples/CopyDocumentModelTo.json" + } + } + } + }, + "/operations": { + "get": { + "summary": "List operations", + "description": "Lists all operations.", + "operationId": "GetOperations", + "tags": [ + "Operation" + ], + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/QueryApiVersion" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/GetOperationsResponse" + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "GetOperations": { + "$ref": "./examples/GetOperations.json" + } + } + } + }, + "/operations/{operationId}": { + "get": { + "summary": "Get operation", + "description": "Gets operation info.", + "operationId": "GetOperation", + "tags": [ + "Operation" + ], + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/PathOperationId" + }, + { + "$ref": "#/parameters/QueryApiVersion" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/GetOperationResponse" + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetOperation": { + "$ref": "./examples/GetOperation.json" + } + } + } + }, + "/documentModels": { + "get": { + "summary": "List models", + "description": "List all models", + "operationId": "GetModels", + "tags": [ + "Management" + ], + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/QueryApiVersion" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/GetModelsResponse" + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "GetModels": { + "$ref": "./examples/GetModels.json" + } + } + } + }, + "/documentModels/{modelId}": { + "get": { + "summary": "Get model", + "description": "Gets detailed model information.", + "operationId": "GetModel", + "tags": [ + "Management" + ], + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/PathModelId" + }, + { + "$ref": "#/parameters/QueryApiVersion" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ModelInfo" + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetModel_Prebuilt": { + "$ref": "./examples/GetModel_Prebuilt.json" + }, + "GetModel_Custom": { + "$ref": "./examples/GetModel_Custom.json" + } + } + }, + "delete": { + "summary": "Delete model", + "description": "Deletes model.", + "operationId": "DeleteModel", + "tags": [ + "Management" + ], + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/PathModelId" + }, + { + "$ref": "#/parameters/QueryApiVersion" + } + ], + "responses": { + "204": { + "description": "Deleting model." + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeleteModel": { + "$ref": "./examples/DeleteModel.json" + } + } + } + }, + "/info": { + "get": { + "summary": "Get info", + "description": "Return basic info about the current resource.", + "operationId": "GetInfo", + "tags": [ + "Management" + ], + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/QueryApiVersion" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/GetInfoResponse" + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetInfo": { + "$ref": "./examples/GetInfo.json" + } + } + } + } + }, + "definitions": { + "AnalyzeDocumentRequest": { + "description": "Document analysis parameters.", + "type": "object", + "properties": { + "urlSource": { + "description": "Document URL to analyze", + "$ref": "#/definitions/UrlContentSource" + }, + "base64Source": { + "description": "Base64 encoding of the document to analyze", + "$ref": "#/definitions/Base64ContentSource" + } + } + }, + "BuildDocumentModelRequest": { + "description": "Request body to build a new custom model.", + "type": "object", + "required": [ + "modelId" + ], + "properties": { + "modelId": { + "$ref": "#/definitions/ModelId" + }, + "description": { + "$ref": "#/definitions/ModelDescription" + }, + "azureBlobSource": { + "description": "Azure Blob Storage location containing the training data.", + "$ref": "#/definitions/AzureBlobContentSource" + } + } + }, + "ComposeDocumentModelRequest": { + "description": "Request body to create a composed model from component models.", + "type": "object", + "required": [ + "modelId", + "componentModels" + ], + "properties": { + "modelId": { + "$ref": "#/definitions/ModelId" + }, + "description": { + "$ref": "#/definitions/ModelDescription" + }, + "componentModels": { + "description": "List of component models to compose.", + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/ComponentModelInfo" + } + } + } + }, + "ComponentModelInfo": { + "description": "A component of a composed model.", + "type": "object", + "required": [ + "modelId" + ], + "properties": { + "modelId": { + "$ref": "#/definitions/ModelId" + } + } + }, + "AuthorizeCopyRequest": { + "description": "Request body to authorize model copy.", + "type": "object", + "required": [ + "modelId" + ], + "properties": { + "modelId": { + "$ref": "#/definitions/ModelId" + }, + "description": { + "$ref": "#/definitions/ModelDescription" + } + } + }, + "GetOperationsResponse": { + "description": "List Operations response object.", + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "description": "List of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationInfo" + } + }, + "nextLink": { + "description": "Link to the next page of operations.", + "type": "string" + } + } + }, + "GetOperationResponse": { + "description": "Get Operation response object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationInfo" + } + ], + "properties": { + "error": { + "description": "Encountered error.", + "$ref": "#/definitions/Error" + }, + "result": { + "description": "Operation result upon success.", + "type": "object" + } + } + }, + "GetModelsResponse": { + "description": "List Models response object.", + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "description": "List of models.", + "type": "array", + "items": { + "$ref": "#/definitions/ModelSummary" + } + }, + "nextLink": { + "description": "Link to the next page of models.", + "type": "string" + } + } + }, + "GetInfoResponse": { + "description": "General information regarding the current resource.", + "type": "object", + "required": [ + "customDocumentModels" + ], + "properties": { + "customDocumentModels": { + "$ref": "#/definitions/CustomDocumentModelsInfo" + } + } + }, + "CustomDocumentModelsInfo": { + "description": "Info regarding custom document models.", + "type": "object", + "required": [ + "count", + "limit" + ], + "properties": { + "count": { + "description": "Number of custom models in the current resource.", + "type": "integer", + "format": "int32" + }, + "limit": { + "description": "Maximum number of custom models supported in the current resource.", + "type": "integer", + "format": "int32" + } + } + }, + "ApiVersion": { + "description": "API version.", + "type": "string", + "enum": [ + "2021-09-30-preview" + ], + "x-ms-enum": { + "name": "ApiVersion", + "modelAsString": true + } + }, + "ErrorResponse": { + "description": "Error response object.", + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "$ref": "#/definitions/Error" + } + } + }, + "Error": { + "description": "Error info.", + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message.", + "type": "string" + }, + "target": { + "description": "Target of the error.", + "type": "string" + }, + "details": { + "description": "List of detailed errors.", + "type": "array", + "items": { + "$ref": "#/definitions/Error" + } + }, + "innererror": { + "$ref": "#/definitions/InnerError" + } + } + }, + "InnerError": { + "description": "Detailed error.", + "type": "object", + "required": [ + "code" + ], + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message.", + "type": "string" + }, + "innererror": { + "$ref": "#/definitions/InnerError" + } + } + }, + "UrlContentSource": { + "description": "Content at specified URL.", + "type": "string", + "format": "uri" + }, + "Base64ContentSource": { + "description": "Content represented via Base64 encoding.", + "type": "string", + "format": "byte" + }, + "AzureBlobContentSource": { + "description": "Azure Blob Storage content.", + "type": "object", + "required": [ + "containerUrl" + ], + "properties": { + "containerUrl": { + "description": "Azure Blob Storage container URL.", + "type": "string", + "format": "uri" + }, + "prefix": { + "description": "Blob name prefix.", + "type": "string" + } + } + }, + "CopyAuthorization": { + "description": "Authorization to copy a model to the specified target resource and modelId.", + "type": "object", + "required": [ + "targetResourceId", + "targetResourceRegion", + "targetModelId", + "targetModelLocation", + "accessToken", + "expirationDateTime" + ], + "properties": { + "targetResourceId": { + "description": "ID of the target Azure resource where the model should be copied to.", + "type": "string", + "x-ms-azure-resource": true + }, + "targetResourceRegion": { + "description": "Location of the target Azure resource where the model should be copied to.", + "type": "string" + }, + "targetModelId": { + "description": "Identifier of the target model.", + "$ref": "#/definitions/ModelId" + }, + "targetModelLocation": { + "description": "URL of the copied model in the target account.", + "type": "string" + }, + "accessToken": { + "description": "Token used to authorize the request.", + "type": "string" + }, + "expirationDateTime": { + "description": "Date/time when the access token expires.", + "type": "string", + "format": "date-time" + } + } + }, + "OperationInfo": { + "description": "Operation info.", + "type": "object", + "required": [ + "operationId", + "status", + "createdDateTime", + "lastUpdatedDateTime", + "kind", + "resourceLocation" + ], + "properties": { + "operationId": { + "description": "Operation ID", + "type": "string" + }, + "status": { + "description": "Operation status.", + "type": "string", + "enum": [ + "notStarted", + "running", + "failed", + "succeeded", + "canceled" + ], + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": false + } + }, + "percentCompleted": { + "description": "Operation progress (0-100).", + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 100 + }, + "createdDateTime": { + "description": "Date and time (UTC) when the operation was created.", + "type": "string", + "format": "date-time" + }, + "lastUpdatedDateTime": { + "description": "Date and time (UTC) when the status was last updated.", + "type": "string", + "format": "date-time" + }, + "kind": { + "description": "Type of operation.", + "type": "string", + "enum": [ + "documentModelBuild", + "documentModelCompose", + "documentModelCopyTo" + ], + "x-ms-enum": { + "name": "OperationKind", + "modelAsString": true + } + }, + "resourceLocation": { + "description": "URL of the resource targeted by this operation.", + "type": "string" + } + } + }, + "ModelSummary": { + "description": "Model summary.", + "type": "object", + "required": [ + "modelId", + "createdDateTime" + ], + "properties": { + "modelId": { + "$ref": "#/definitions/ModelId" + }, + "description": { + "$ref": "#/definitions/ModelDescription" + }, + "createdDateTime": { + "description": "Date and time (UTC) when the model was created.", + "type": "string", + "format": "date-time" + } + } + }, + "ModelInfo": { + "description": "Model info.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ModelSummary" + } + ], + "properties": { + "docTypes": { + "description": "Supported document types.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/DocTypeInfo" + } + } + } + }, + "DocTypeInfo": { + "description": "Document type info.", + "type": "object", + "required": [ + "fieldSchema" + ], + "properties": { + "description": { + "$ref": "#/definitions/ModelDescription" + }, + "fieldSchema": { + "$ref": "#/definitions/DocTypeSchema" + }, + "fieldConfidence": { + "description": "Estimated confidence for each field.", + "type": "object", + "additionalProperties": { + "type": "number", + "minimum": 0, + "maximum": 1 + } + } + } + }, + "DocTypeSchema": { + "description": "Description of the document semantic schema using a JSON Schema style syntax.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/DocumentFieldSchema" + } + }, + "DocumentFieldSchema": { + "description": "Description of the field semantic schema using a JSON Schema style syntax.", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "$ref": "#/definitions/DocumentFieldType" + }, + "description": { + "description": "Field description.", + "type": "string" + }, + "example": { + "description": "Example field content.", + "type": "string" + }, + "items": { + "description": "Field type schema of each array element.", + "$ref": "#/definitions/DocumentFieldSchema" + }, + "properties": { + "description": "Named sub-fields of the object field.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/DocumentFieldSchema" + } + } + } + }, + "AnalyzeResultOperation": { + "description": "Status and result of the analyze operation.", + "type": "object", + "required": [ + "status", + "createdDateTime", + "lastUpdatedDateTime" + ], + "properties": { + "status": { + "description": "Operation status.", + "type": "string", + "enum": [ + "notStarted", + "running", + "failed", + "succeeded" + ], + "x-ms-enum": { + "name": "AnalyzeResultOperationStatus", + "modelAsString": false + } + }, + "createdDateTime": { + "description": "Date and time (UTC) when the analyze operation was submitted.", + "type": "string", + "format": "date-time" + }, + "lastUpdatedDateTime": { + "description": "Date and time (UTC) when the status was last updated.", + "type": "string", + "format": "date-time" + }, + "error": { + "description": "Encountered error during document analysis.", + "$ref": "#/definitions/Error" + }, + "analyzeResult": { + "$ref": "#/definitions/AnalyzeResult" + } + } + }, + "AnalyzeResult": { + "description": "Document analysis result.", + "type": "object", + "required": [ + "apiVersion", + "modelId", + "stringIndexType", + "content", + "pages" + ], + "properties": { + "apiVersion": { + "description": "API version used to produce this result.", + "$ref": "#/definitions/ApiVersion" + }, + "modelId": { + "description": "Model ID used to produce this result.", + "$ref": "#/definitions/ModelId" + }, + "stringIndexType": { + "description": "Method used to compute string offset and length.", + "$ref": "#/definitions/StringIndexType" + }, + "content": { + "description": "Concatenate string representation of all textual and visual elements in reading order.", + "type": "string" + }, + "pages": { + "description": "Analyzed pages.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentPage" + } + }, + "tables": { + "description": "Extracted tables.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentTable" + } + }, + "keyValuePairs": { + "description": "Extracted key-value pairs.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentKeyValuePair" + } + }, + "entities": { + "description": "Extracted entities.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentEntity" + } + }, + "styles": { + "description": "Extracted font styles.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentStyle" + } + }, + "documents": { + "description": "Extracted documents.", + "type": "array", + "items": { + "$ref": "#/definitions/Document" + } + } + } + }, + "DocumentPage": { + "description": "Content and layout elements extracted from a page from the input.", + "type": "object", + "required": [ + "pageNumber", + "angle", + "width", + "height", + "unit", + "words", + "lines", + "spans" + ], + "properties": { + "pageNumber": { + "description": "1-based page number in the input document.", + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "angle": { + "description": "The general orientation of the content in clockwise direction, measured in degrees between (-180, 180].", + "type": "number", + "minimum": -180, + "maximum": 180, + "exclusiveMinimum": true + }, + "width": { + "description": "The width of the image/PDF in pixels/inches, respectively.", + "type": "number", + "minimum": 0 + }, + "height": { + "description": "The height of the image/PDF in pixels/inches, respectively.", + "type": "number", + "minimum": 0 + }, + "unit": { + "description": "The unit used by the width, height, and boundingBox properties. For images, the unit is \"pixel\". For PDF, the unit is \"inch\".", + "type": "string", + "enum": [ + "pixel", + "inch" + ], + "x-ms-enum": { + "name": "LengthUnit", + "modelAsString": true + } + }, + "spans": { + "description": "Location of the page in the reading order concatenated content.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + }, + "words": { + "description": "Extracted words from the page.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentWord" + } + }, + "selectionMarks": { + "description": "Extracted selection marks from the page.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSelectionMark" + } + }, + "lines": { + "description": "Extracted lines from the page, potentially containing both textual and visual elements.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentLine" + } + } + } + }, + "DocumentWord": { + "description": "A word object consisting of a contiguous sequence of characters. For non-space delimited languages, such as Chinese, Japanese, and Korean, each character is represented as its own word.", + "type": "object", + "required": [ + "content", + "span", + "confidence" + ], + "properties": { + "content": { + "description": "Text content of the word.", + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of the word.", + "$ref": "#/definitions/BoundingBox" + }, + "span": { + "description": "Location of the word in the reading order concatenated content.", + "$ref": "#/definitions/DocumentSpan" + }, + "confidence": { + "description": "Confidence of correctly extracting the word.", + "$ref": "#/definitions/Confidence" + } + } + }, + "DocumentSelectionMark": { + "description": "A selection mark object representing check boxes, radio buttons, and other elements indicating a selection.", + "type": "object", + "required": [ + "state", + "span", + "confidence" + ], + "properties": { + "state": { + "description": "State of the selection mark.", + "$ref": "#/definitions/DocumentSelectionMarkState" + }, + "boundingBox": { + "description": "Bounding box of the selection mark.", + "$ref": "#/definitions/BoundingBox" + }, + "span": { + "description": "Location of the selection mark in the reading order concatenated content.", + "$ref": "#/definitions/DocumentSpan" + }, + "confidence": { + "description": "Confidence of correctly extracting the selection mark.", + "$ref": "#/definitions/Confidence" + } + } + }, + "DocumentSelectionMarkState": { + "description": "State of the selection mark.", + "type": "string", + "enum": [ + "selected", + "unselected" + ], + "x-ms-enum": { + "name": "SelectionMarkState", + "modelAsString": true + } + }, + "DocumentLine": { + "description": "A content line object consisting of an adjacent sequence of content elements, such as words and selection marks.", + "type": "object", + "required": [ + "content", + "spans" + ], + "properties": { + "content": { + "description": "Concatenated content of the contained elements in reading order.", + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of the line.", + "$ref": "#/definitions/BoundingBox" + }, + "spans": { + "description": "Location of the line in the reading order concatenated content.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + } + } + }, + "DocumentTable": { + "description": "A table object consisting table cells arranged in a rectangular layout.", + "type": "object", + "required": [ + "rowCount", + "columnCount", + "cells", + "spans" + ], + "properties": { + "rowCount": { + "description": "Number of rows in the table.", + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "columnCount": { + "description": "Number of columns in the table.", + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cells": { + "description": "Cells contained within the table.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentTableCell" + } + }, + "boundingRegions": { + "description": "Bounding regions covering the table.", + "type": "array", + "items": { + "$ref": "#/definitions/BoundingRegion" + } + }, + "spans": { + "description": "Location of the table in the reading order concatenated content.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + } + } + }, + "DocumentTableCell": { + "description": "An object representing the location and content of a table cell.", + "type": "object", + "required": [ + "rowIndex", + "columnIndex", + "content", + "spans" + ], + "properties": { + "kind": { + "description": "Table cell kind.", + "type": "string", + "enum": [ + "content", + "rowHeader", + "columnHeader", + "stubHead", + "description" + ], + "default": "content", + "x-ms-enum": { + "name": "DocumentTableCellKind", + "modelAsString": true + } + }, + "rowIndex": { + "description": "Row index of the cell.", + "type": "integer", + "format": "int32" + }, + "columnIndex": { + "description": "Column index of the cell.", + "type": "integer", + "format": "int32" + }, + "rowSpan": { + "description": "Number of rows spanned by this cell.", + "type": "integer", + "format": "int32", + "minimum": 1, + "default": 1 + }, + "columnSpan": { + "description": "Number of columns spanned by this cell.", + "type": "integer", + "format": "int32", + "minimum": 1, + "default": 1 + }, + "content": { + "description": "Concatenated content of the table cell in reading order.", + "type": "string" + }, + "boundingRegions": { + "description": "Bounding regions covering the table cell.", + "type": "array", + "items": { + "$ref": "#/definitions/BoundingRegion" + } + }, + "spans": { + "description": "Location of the table cell in the reading order concatenated content.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + } + } + }, + "DocumentKeyValuePair": { + "description": "An object representing a form field with distinct field label (key) and field value (may be empty).", + "type": "object", + "required": [ + "key", + "confidence" + ], + "properties": { + "key": { + "description": "Field label of the key-value pair.", + "$ref": "#/definitions/DocumentKeyValueElement" + }, + "value": { + "description": "Field value of the key-value pair.", + "$ref": "#/definitions/DocumentKeyValueElement" + }, + "confidence": { + "description": "Confidence of correctly extracting the key-value pair.", + "$ref": "#/definitions/Confidence" + } + } + }, + "DocumentKeyValueElement": { + "description": "An object representing the field key or value in a key-value pair.", + "type": "object", + "required": [ + "content", + "spans" + ], + "properties": { + "content": { + "description": "Concatenated content of the key-value element in reading order.", + "type": "string" + }, + "boundingRegions": { + "description": "Bounding regions covering the key-value element.", + "type": "array", + "items": { + "$ref": "#/definitions/BoundingRegion" + } + }, + "spans": { + "description": "Location of the key-value element in the reading order concatenated content.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + } + } + }, + "DocumentEntity": { + "description": "An object representing various categories of entities.", + "type": "object", + "required": [ + "category", + "content", + "spans", + "confidence" + ], + "properties": { + "category": { + "description": "Entity type.", + "type": "string" + }, + "subCategory": { + "description": "Entity sub type.", + "type": "string" + }, + "content": { + "description": "Entity content.", + "type": "string" + }, + "boundingRegions": { + "description": "Bounding regions covering the entity.", + "type": "array", + "items": { + "$ref": "#/definitions/BoundingRegion" + } + }, + "spans": { + "description": "Location of the entity in the reading order concatenated content.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + }, + "confidence": { + "description": "Confidence of correctly extracting the entity.", + "$ref": "#/definitions/Confidence" + } + } + }, + "DocumentStyle": { + "description": "An object representing observed text styles.", + "type": "object", + "required": [ + "spans", + "confidence" + ], + "properties": { + "isHandwritten": { + "description": "Is content handwritten?", + "type": "boolean" + }, + "spans": { + "description": "Location of the text elements in the concatenated content the style applies to.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + }, + "confidence": { + "description": "Confidence of correctly identifying the style.", + "$ref": "#/definitions/Confidence" + } + } + }, + "Document": { + "description": "An object describing the location and semantic content of a document.", + "type": "object", + "required": [ + "docType", + "fields", + "spans", + "confidence" + ], + "properties": { + "docType": { + "description": "Document type.", + "$ref": "#/definitions/DocType" + }, + "boundingRegions": { + "description": "Bounding regions covering the document.", + "type": "array", + "items": { + "$ref": "#/definitions/BoundingRegion" + } + }, + "spans": { + "description": "Location of the document in the reading order concatenated content.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + }, + "fields": { + "description": "Dictionary of named field values.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/DocumentField" + } + }, + "confidence": { + "description": "Confidence of correctly extracting the document.", + "$ref": "#/definitions/Confidence" + } + } + }, + "DocumentField": { + "description": "An object representing the content and location of a field value.", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "Data type of the field value.", + "$ref": "#/definitions/DocumentFieldType" + }, + "valueString": { + "description": "String value.", + "type": "string" + }, + "valueDate": { + "description": "Date value in YYYY-MM-DD format (ISO 8601).", + "type": "string", + "format": "date" + }, + "valueTime": { + "description": "Time value in hh:mm:ss format (ISO 8601).", + "type": "string", + "format": "time" + }, + "valuePhoneNumber": { + "description": "Phone number value in E.164 format (ex. +19876543210).", + "type": "string" + }, + "valueNumber": { + "description": "Floating point value.", + "type": "number" + }, + "valueInteger": { + "description": "Integer value.", + "type": "integer", + "format": "int64" + }, + "valueSelectionMark": { + "description": "Selection mark value.", + "$ref": "#/definitions/DocumentSelectionMarkState" + }, + "valueSignature": { + "description": "Presence of signature.", + "type": "string", + "enum": [ + "signed", + "unsigned" + ], + "x-ms-enum": { + "name": "DocumentSignatureType", + "modelAsString": true + } + }, + "valueCountryRegion": { + "description": "3-letter country code value (ISO 3166-1 alpha-3).", + "type": "string" + }, + "valueArray": { + "description": "Array of field values.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentField" + } + }, + "valueObject": { + "description": "Dictionary of named field values.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/DocumentField" + } + }, + "content": { + "description": "Field content.", + "type": "string" + }, + "boundingRegions": { + "description": "Bounding regions covering the field.", + "type": "array", + "items": { + "$ref": "#/definitions/BoundingRegion" + } + }, + "spans": { + "description": "Location of the field in the reading order concatenated content.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + }, + "confidence": { + "description": "Confidence of correctly extracting the field.", + "$ref": "#/definitions/Confidence" + } + } + }, + "DocumentFieldType": { + "description": "Semantic data type of the field value.", + "type": "string", + "enum": [ + "string", + "date", + "time", + "phoneNumber", + "number", + "integer", + "selectionMark", + "countryRegion", + "signature", + "array", + "object" + ], + "x-ms-enum": { + "name": "DocumentFieldType", + "modelAsString": true + } + }, + "ModelId": { + "description": "Unique model name.", + "type": "string", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}" + }, + "ModelDescription": { + "description": "Model description.", + "type": "string", + "maxLength": 4096 + }, + "DocType": { + "description": "Document type name.", + "type": "string", + "minLength": 2, + "maxLength": 64 + }, + "BoundingBox": { + "description": "Quadrangle bounding box, with coordinates specified relative to the top-left of the page. The eight numbers represent the four points, clockwise from the top-left corner relative to the text orientation.", + "type": "array", + "minItems": 8, + "maxItems": 8, + "items": { + "type": "number", + "minimum": 0 + } + }, + "BoundingRegion": { + "description": "Bounding box on a specific page of the input.", + "type": "object", + "required": [ + "pageNumber", + "boundingBox" + ], + "properties": { + "pageNumber": { + "description": "1-based page number of page containing the bounding region.", + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "boundingBox": { + "description": "Bounding box on the page, or the entire page if not specified.", + "$ref": "#/definitions/BoundingBox" + } + } + }, + "Confidence": { + "description": "Prediction confidence.", + "type": "number", + "minimum": 0, + "maximum": 1 + }, + "DocumentSpan": { + "description": "Contiguous region of the concatenated content property, specified as an offset and length.", + "type": "object", + "required": [ + "offset", + "length" + ], + "properties": { + "offset": { + "description": "Zero-based index of the content represented by the span.", + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "length": { + "description": "Number of characters in the content represented by the span.", + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + }, + "StringIndexType": { + "description": "Method used to compute string offset and length.", + "type": "string", + "enum": [ + "textElements", + "unicodeCodePoint", + "utf16CodeUnit" + ], + "x-ms-enum": { + "name": "StringIndexType", + "modelAsString": true + }, + "default": "textElements" + } + }, + "parameters": { + "Endpoint": { + "name": "endpoint", + "description": "Supported Cognitive Services endpoints (protocol and hostname, for\nexample: https://westus2.api.cognitive.microsoft.com).", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "QueryApiVersion": { + "name": "api-version", + "description": "Requested API version.", + "required": true, + "type": "string", + "in": "query", + "enum": [ + "2021-09-30-preview" + ], + "x-ms-enum": { + "name": "ApiVersion", + "modelAsString": true + }, + "x-ms-parameter-location": "client" + }, + "PathModelId": { + "name": "modelId", + "description": "Unique model name.", + "required": true, + "type": "string", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}", + "in": "path", + "x-ms-parameter-location": "method" + }, + "PathOperationId": { + "name": "operationId", + "description": "Unique operation ID.", + "required": true, + "type": "string", + "in": "path", + "x-ms-parameter-location": "method" + }, + "PathResultId": { + "name": "resultId", + "description": "Analyze operation result ID.", + "required": true, + "type": "string", + "in": "path", + "x-ms-parameter-location": "method" + }, + "QueryPages": { + "name": "pages", + "description": "List of 1-based page numbers to analyze. Ex. \"1-3,5,7-9\"", + "required": false, + "type": "string", + "in": "query", + "pattern": "^(\\d+(-\\d+)?)(,\\s*(\\d+(-\\d+)?))*$", + "x-ms-parameter-location": "method" + }, + "QueryLocale": { + "name": "locale", + "description": "Locale hint for text recognition and document analysis. Value may contain only the language code (ex. \"en\", \"fr\") or BCP 47 language tag (ex. \"en-US\").", + "required": false, + "type": "string", + "in": "query", + "x-ms-parameter-location": "method" + }, + "QueryStringIndexType": { + "name": "stringIndexType", + "description": "Method used to compute string offset and length.", + "required": false, + "in": "query", + "type": "string", + "enum": [ + "textElements", + "unicodeCodePoint", + "utf16CodeUnit" + ], + "x-ms-enum": { + "name": "StringIndexType", + "modelAsString": true + }, + "default": "textElements", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/AnalyzeDocument_Base64.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/AnalyzeDocument_Base64.json new file mode 100644 index 000000000000..aa2417ead468 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/AnalyzeDocument_Base64.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "modelId": "prebuilt-layout", + "pages": "1-2,4", + "locale": "en-US", + "stringIndexType": "textElements", + "analyzeRequest": { + "base64Source": "{base64EncodedPdf}" + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/documentModels/prebuilt-layout/analyzeResults/{resultId}?api-version={apiVersion}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/AnalyzeDocument_Url.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/AnalyzeDocument_Url.json new file mode 100644 index 000000000000..026e5753980c --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/AnalyzeDocument_Url.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "modelId": "customModel", + "pages": "1-2,4", + "locale": "en-US", + "stringIndexType": "textElements", + "analyzeRequest": { + "urlSource": "http://host.com/doc.pdf" + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/documentModels/customModel/analyzeResults/{resultId}?api-version={apiVersion}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/AuthorizeCopyDocumentModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/AuthorizeCopyDocumentModel.json new file mode 100644 index 000000000000..660c79dd27e1 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/AuthorizeCopyDocumentModel.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "authorizeCopyRequest": { + "modelId": "{targetModelId}", + "description": "{targetModelDescription}" + } + }, + "responses": { + "200": { + "body": { + "targetResourceId": "{targetResourceId}", + "targetResourceRegion": "{targetResourceRegion}", + "targetModelId": "{targetModelId}", + "targetModelLocation": "{targetEndpoint}/formrecognizer/documentModels/{targetModelId}?api-version={apiVersion}", + "accessToken": "{accessToken}", + "expirationDateTime": "2021-09-23T09:12:54.552Z" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/BuildDocumentModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/BuildDocumentModel.json new file mode 100644 index 000000000000..ea10ecf207f1 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/BuildDocumentModel.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "buildRequest": { + "modelId": "{modelId}", + "description": "{modelDescription}", + "azureBlobSource": { + "containerUrl": "https://{storageAccount}.blob.core.windows.net/{containerName}?{sasToken}", + "prefix": "{blobNamePrefix}" + } + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/operations/{operationId}?api-version={apiVersion}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/ComposeDocumentModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/ComposeDocumentModel.json new file mode 100644 index 000000000000..b59559fdb6b5 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/ComposeDocumentModel.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "composeRequest": { + "modelId": "{composedModelId}", + "description": "{composedModelDescription}", + "componentModels": [ + { + "modelId": "{modelId1}" + }, + { + "modelId": "{modelId2}" + } + ] + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/operations/{operationId}?api-version={apiVersion}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/CopyDocumentModelTo.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/CopyDocumentModelTo.json new file mode 100644 index 000000000000..6c55bc8d1939 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/CopyDocumentModelTo.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "modelId": "sourceModel", + "copyToRequest": { + "targetResourceId": "{targetResourceId}", + "targetResourceRegion": "{targetResourceRegion}", + "targetModelId": "targetModel", + "targetModelLocation": "{targetEndpoint}/formrecognizer/documentModels/targetModel?api-version={apiVersion}", + "accessToken": "{accessToken}", + "expirationDateTime": "2021-09-23T09:12:54.552Z" + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/operations/{operationId}?api-version={apiVersion}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/DeleteModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/DeleteModel.json new file mode 100644 index 000000000000..5b86b604dbf9 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/DeleteModel.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "modelId": "{modelId}" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetAnalyzeDocumentResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetAnalyzeDocumentResult.json new file mode 100644 index 000000000000..4bcfdbd68f41 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetAnalyzeDocumentResult.json @@ -0,0 +1,7219 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "modelId": "prebuilt-invoice", + "resultId": "{resultId}" + }, + "responses": { + "200": { + "body": { + "status": "succeeded", + "createdDateTime": "2021-09-24T13:00:46Z", + "lastUpdatedDateTime": "2021-09-24T13:00:49Z", + "analyzeResult": { + "apiVersion": "{apiVersion}", + "modelId": "prebuilt-invoice", + "stringIndexType": "textElements", + "content": "CONTOSO LTD.\nINVOICE\nContoso Headquarters\nINVOICE: INV-100\n123 456th St\nINVOICE DATE: 11/15/2019\nNew York, NY, 10001\nDUE DATE: 12/15/2019\nCUSTOMER NAME: MICROSOFT CORPORATION\nSERVICE PERIOD: 10/14/2019 – 11/14/2019\nCUSTOMER ID: CID-12345\nMicrosoft Corp\n123 Other St,\nRedmond WA, 98052\nBILL TO:\nSHIP TO:\nSERVICE ADDRESS:\nMicrosoft Finance\nMicrosoft Delivery\nMicrosoft Services\n123 Bill St,\n123 Ship St,\n123 Service St,\nRedmond WA, 98052\nRedmond WA, 98052\nRedmond WA, 98052\nSALESPERSON\nP.O. NUMBER\nREQUISITIONER\nSHIPPED VIA\nF.O.B. POINT\nTERMS\nPO-3333\nDATE\nITEM CODE\nDESCRIPTION\nQTY\nUM\nPRICE\nTAX\nAMOUNT\n3/4/2021\nA123\nConsulting Services\n2\nhours\n$30.00\n10%\n$60.00\n3/5/2021\nB456\nDocument Fee\n3\n$10.00\n5%\n$30.00\n3/6/2021\nC789\nPrinting Fee\n10\npages\n$1.00\n20%\n$10.00\nSUBTOTAL\n$100.00\nSALES TAX\n$10.00\nTOTAL\n$110.00\nPREVIOUS UNPAID BALANCE\n$500.00\nAMOUNT DUE\n$610.00\nTHANK YOU FOR YOUR BUSINESS!\nREMIT TO:\nContoso Billing\n123 Remit St\nNew York, NY, 10001\n:unselected:", + "pages": [ + { + "pageNumber": 1, + "angle": 0, + "width": 8.5, + "height": 11, + "unit": "inch", + "words": [ + { + "content": "CONTOSO", + "boundingBox": [ + 0.5911, + 0.6857, + 1.7451, + 0.6857, + 1.7451, + 0.8664, + 0.5911, + 0.8664 + ], + "confidence": 1, + "span": { + "offset": 0, + "length": 7 + } + }, + { + "content": "LTD.", + "boundingBox": [ + 1.8441, + 0.6879, + 2.3181, + 0.6879, + 2.3181, + 0.865, + 1.8441, + 0.865 + ], + "confidence": 1, + "span": { + "offset": 8, + "length": 4 + } + }, + { + "content": "INVOICE", + "boundingBox": [ + 7.0751, + 0.589, + 7.9886, + 0.589, + 7.9886, + 0.7697, + 7.0751, + 0.7697 + ], + "confidence": 1, + "span": { + "offset": 13, + "length": 7 + } + }, + { + "content": "Contoso", + "boundingBox": [ + 0.5882, + 1.4303, + 1.1337, + 1.4303, + 1.1337, + 1.5383, + 0.5882, + 1.5383 + ], + "confidence": 1, + "span": { + "offset": 21, + "length": 7 + } + }, + { + "content": "Headquarters", + "boundingBox": [ + 1.1905, + 1.4239, + 2.0978, + 1.4239, + 2.0978, + 1.5664, + 1.1905, + 1.5664 + ], + "confidence": 1, + "span": { + "offset": 29, + "length": 12 + } + }, + { + "content": "INVOICE:", + "boundingBox": [ + 6.8599, + 1.4217, + 7.4328, + 1.4217, + 7.4328, + 1.5218, + 6.8599, + 1.5218 + ], + "confidence": 1, + "span": { + "offset": 42, + "length": 8 + } + }, + { + "content": "INV-100", + "boundingBox": [ + 7.4959, + 1.422, + 7.9988, + 1.422, + 7.9988, + 1.5215, + 7.4959, + 1.5215 + ], + "confidence": 1, + "span": { + "offset": 51, + "length": 7 + } + }, + { + "content": "123", + "boundingBox": [ + 0.5945, + 1.6339, + 0.8213, + 1.6339, + 0.8213, + 1.742, + 0.5945, + 1.742 + ], + "confidence": 1, + "span": { + "offset": 59, + "length": 3 + } + }, + { + "content": "456th", + "boundingBox": [ + 0.874, + 1.6092, + 1.2102, + 1.6092, + 1.2102, + 1.742, + 0.874, + 1.742 + ], + "confidence": 1, + "span": { + "offset": 63, + "length": 5 + } + }, + { + "content": "St", + "boundingBox": [ + 1.2598, + 1.6339, + 1.3812, + 1.6339, + 1.3812, + 1.742, + 1.2598, + 1.742 + ], + "confidence": 1, + "span": { + "offset": 69, + "length": 2 + } + }, + { + "content": "INVOICE", + "boundingBox": [ + 6.2263, + 1.6254, + 6.7562, + 1.6254, + 6.7562, + 1.7256, + 6.2263, + 1.7256 + ], + "confidence": 1, + "span": { + "offset": 72, + "length": 7 + } + }, + { + "content": "DATE:", + "boundingBox": [ + 6.8132, + 1.6267, + 7.1891, + 1.6267, + 7.1891, + 1.7248, + 6.8132, + 1.7248 + ], + "confidence": 1, + "span": { + "offset": 80, + "length": 5 + } + }, + { + "content": "11/15/2019", + "boundingBox": [ + 7.2528, + 1.6139, + 7.993, + 1.6139, + 7.993, + 1.7449, + 7.2528, + 1.7449 + ], + "confidence": 1, + "span": { + "offset": 86, + "length": 10 + } + }, + { + "content": "New", + "boundingBox": [ + 0.5943, + 1.8385, + 0.8848, + 1.8385, + 0.8848, + 1.9454, + 0.5943, + 1.9454 + ], + "confidence": 1, + "span": { + "offset": 97, + "length": 3 + } + }, + { + "content": "York,", + "boundingBox": [ + 0.9293, + 1.8307, + 1.2568, + 1.8307, + 1.2568, + 1.9675, + 0.9293, + 1.9675 + ], + "confidence": 1, + "span": { + "offset": 101, + "length": 5 + } + }, + { + "content": "NY,", + "boundingBox": [ + 1.3205, + 1.8382, + 1.5242, + 1.8382, + 1.5242, + 1.9675, + 1.3205, + 1.9675 + ], + "confidence": 1, + "span": { + "offset": 107, + "length": 3 + } + }, + { + "content": "10001", + "boundingBox": [ + 1.5915, + 1.8372, + 1.9894, + 1.8372, + 1.9894, + 1.9454, + 1.5915, + 1.9454 + ], + "confidence": 1, + "span": { + "offset": 111, + "length": 5 + } + }, + { + "content": "DUE", + "boundingBox": [ + 6.4966, + 1.8333, + 6.7569, + 1.8333, + 6.7569, + 1.9322, + 6.4966, + 1.9322 + ], + "confidence": 1, + "span": { + "offset": 117, + "length": 3 + } + }, + { + "content": "DATE:", + "boundingBox": [ + 6.8126, + 1.8333, + 7.1846, + 1.8333, + 7.1846, + 1.9315, + 6.8126, + 1.9315 + ], + "confidence": 1, + "span": { + "offset": 121, + "length": 5 + } + }, + { + "content": "12/15/2019", + "boundingBox": [ + 7.2494, + 1.8206, + 7.993, + 1.8206, + 7.993, + 1.9515, + 7.2494, + 1.9515 + ], + "confidence": 1, + "span": { + "offset": 127, + "length": 10 + } + }, + { + "content": "CUSTOMER", + "boundingBox": [ + 4.9513, + 2.0388, + 5.6868, + 2.0388, + 5.6868, + 2.1389, + 4.9513, + 2.1389 + ], + "confidence": 1, + "span": { + "offset": 138, + "length": 8 + } + }, + { + "content": "NAME:", + "boundingBox": [ + 5.7412, + 2.04, + 6.1764, + 2.04, + 6.1764, + 2.1381, + 5.7412, + 2.1381 + ], + "confidence": 1, + "span": { + "offset": 147, + "length": 5 + } + }, + { + "content": "MICROSOFT", + "boundingBox": [ + 6.2419, + 2.0391, + 6.9981, + 2.0391, + 6.9981, + 2.1386, + 6.2419, + 2.1386 + ], + "confidence": 1, + "span": { + "offset": 153, + "length": 9 + } + }, + { + "content": "CORPORATION", + "boundingBox": [ + 7.0448, + 2.0391, + 7.9825, + 2.0391, + 7.9825, + 2.1386, + 7.0448, + 2.1386 + ], + "confidence": 1, + "span": { + "offset": 163, + "length": 11 + } + }, + { + "content": "SERVICE", + "boundingBox": [ + 5.1667, + 2.2421, + 5.6923, + 2.2421, + 5.6923, + 2.3422, + 5.1667, + 2.3422 + ], + "confidence": 1, + "span": { + "offset": 175, + "length": 7 + } + }, + { + "content": "PERIOD:", + "boundingBox": [ + 5.748, + 2.2421, + 6.2721, + 2.2421, + 6.2721, + 2.3422, + 5.748, + 2.3422 + ], + "confidence": 1, + "span": { + "offset": 183, + "length": 7 + } + }, + { + "content": "10/14/2019", + "boundingBox": [ + 6.3357, + 2.2306, + 7.0749, + 2.2306, + 7.0749, + 2.3615, + 6.3357, + 2.3615 + ], + "confidence": 1, + "span": { + "offset": 191, + "length": 10 + } + }, + { + "content": "–", + "boundingBox": [ + 7.122, + 2.2922, + 7.1995, + 2.2922, + 7.1995, + 2.3037, + 7.122, + 2.3037 + ], + "confidence": 1, + "span": { + "offset": 202, + "length": 1 + } + }, + { + "content": "11/14/2019", + "boundingBox": [ + 7.2528, + 2.2306, + 7.9952, + 2.2306, + 7.9952, + 2.3615, + 7.2528, + 2.3615 + ], + "confidence": 1, + "span": { + "offset": 204, + "length": 10 + } + }, + { + "content": "CUSTOMER", + "boundingBox": [ + 6.3253, + 2.4488, + 7.0608, + 2.4488, + 7.0608, + 2.5489, + 6.3253, + 2.5489 + ], + "confidence": 1, + "span": { + "offset": 215, + "length": 8 + } + }, + { + "content": "ID:", + "boundingBox": [ + 7.1153, + 2.45, + 7.2809, + 2.45, + 7.2809, + 2.5481, + 7.1153, + 2.5481 + ], + "confidence": 1, + "span": { + "offset": 224, + "length": 3 + } + }, + { + "content": "CID-12345", + "boundingBox": [ + 7.3369, + 2.4491, + 7.9951, + 2.4491, + 7.9951, + 2.5486, + 7.3369, + 2.5486 + ], + "confidence": 1, + "span": { + "offset": 228, + "length": 9 + } + }, + { + "content": "Microsoft", + "boundingBox": [ + 0.5943, + 2.6436, + 1.2303, + 2.6436, + 1.2303, + 2.759, + 0.5943, + 2.759 + ], + "confidence": 1, + "span": { + "offset": 238, + "length": 9 + } + }, + { + "content": "Corp", + "boundingBox": [ + 1.2808, + 2.651, + 1.586, + 2.651, + 1.586, + 2.7871, + 1.2808, + 2.7871 + ], + "confidence": 1, + "span": { + "offset": 248, + "length": 4 + } + }, + { + "content": "123", + "boundingBox": [ + 0.5945, + 2.8541, + 0.8213, + 2.8541, + 0.8213, + 2.9623, + 0.5945, + 2.9623 + ], + "confidence": 1, + "span": { + "offset": 253, + "length": 3 + } + }, + { + "content": "Other", + "boundingBox": [ + 0.875, + 2.8476, + 1.262, + 2.8476, + 1.262, + 2.9623, + 0.875, + 2.9623 + ], + "confidence": 1, + "span": { + "offset": 257, + "length": 5 + } + }, + { + "content": "St,", + "boundingBox": [ + 1.3058, + 2.8541, + 1.4633, + 2.8541, + 1.4633, + 2.9845, + 1.3058, + 2.9845 + ], + "confidence": 1, + "span": { + "offset": 263, + "length": 3 + } + }, + { + "content": "Redmond", + "boundingBox": [ + 0.5943, + 3.0513, + 1.2222, + 3.0513, + 1.2222, + 3.1656, + 0.5943, + 3.1656 + ], + "confidence": 1, + "span": { + "offset": 267, + "length": 7 + } + }, + { + "content": "WA,", + "boundingBox": [ + 1.2753, + 3.0585, + 1.5468, + 3.0585, + 1.5468, + 3.1878, + 1.2753, + 3.1878 + ], + "confidence": 1, + "span": { + "offset": 275, + "length": 3 + } + }, + { + "content": "98052", + "boundingBox": [ + 1.6033, + 3.0575, + 2.0083, + 3.0575, + 2.0083, + 3.1656, + 1.6033, + 3.1656 + ], + "confidence": 1, + "span": { + "offset": 279, + "length": 5 + } + }, + { + "content": "BILL", + "boundingBox": [ + 0.5909, + 3.5603, + 0.8438, + 3.5603, + 0.8438, + 3.6579, + 0.5909, + 3.6579 + ], + "confidence": 1, + "span": { + "offset": 285, + "length": 4 + } + }, + { + "content": "TO:", + "boundingBox": [ + 0.8846, + 3.559, + 1.1032, + 3.559, + 1.1032, + 3.6592, + 0.8846, + 3.6592 + ], + "confidence": 1, + "span": { + "offset": 290, + "length": 3 + } + }, + { + "content": "SHIP", + "boundingBox": [ + 3.3361, + 3.559, + 3.6278, + 3.559, + 3.6278, + 3.6592, + 3.3361, + 3.6592 + ], + "confidence": 1, + "span": { + "offset": 294, + "length": 4 + } + }, + { + "content": "TO:", + "boundingBox": [ + 3.6716, + 3.559, + 3.8903, + 3.559, + 3.8903, + 3.6592, + 3.6716, + 3.6592 + ], + "confidence": 1, + "span": { + "offset": 299, + "length": 3 + } + }, + { + "content": "SERVICE", + "boundingBox": [ + 6.2104, + 3.559, + 6.7361, + 3.559, + 6.7361, + 3.6592, + 6.2104, + 3.6592 + ], + "confidence": 1, + "span": { + "offset": 303, + "length": 7 + } + }, + { + "content": "ADDRESS:", + "boundingBox": [ + 6.7828, + 3.559, + 7.4232, + 3.559, + 7.4232, + 3.6592, + 6.7828, + 3.6592 + ], + "confidence": 1, + "span": { + "offset": 311, + "length": 8 + } + }, + { + "content": "Microsoft", + "boundingBox": [ + 0.5943, + 3.7641, + 1.2303, + 3.7641, + 1.2303, + 3.8794, + 0.5943, + 3.8794 + ], + "confidence": 1, + "span": { + "offset": 320, + "length": 9 + } + }, + { + "content": "Finance", + "boundingBox": [ + 1.287, + 3.7701, + 1.7878, + 3.7701, + 1.7878, + 3.8794, + 1.287, + 3.8794 + ], + "confidence": 1, + "span": { + "offset": 330, + "length": 7 + } + }, + { + "content": "Microsoft", + "boundingBox": [ + 3.3454, + 3.7641, + 3.9814, + 3.7641, + 3.9814, + 3.8794, + 3.3454, + 3.8794 + ], + "confidence": 1, + "span": { + "offset": 338, + "length": 9 + } + }, + { + "content": "Delivery", + "boundingBox": [ + 4.0381, + 3.7647, + 4.5762, + 3.7647, + 4.5762, + 3.9076, + 4.0381, + 3.9076 + ], + "confidence": 1, + "span": { + "offset": 348, + "length": 8 + } + }, + { + "content": "Microsoft", + "boundingBox": [ + 6.2197, + 3.7641, + 6.8557, + 3.7641, + 6.8557, + 3.8794, + 6.2197, + 3.8794 + ], + "confidence": 1, + "span": { + "offset": 357, + "length": 9 + } + }, + { + "content": "Services", + "boundingBox": [ + 6.9042, + 3.7701, + 7.4427, + 3.7701, + 7.4427, + 3.8794, + 6.9042, + 3.8794 + ], + "confidence": 1, + "span": { + "offset": 367, + "length": 8 + } + }, + { + "content": "123", + "boundingBox": [ + 0.5945, + 3.9746, + 0.8213, + 3.9746, + 0.8213, + 4.0827, + 0.5945, + 4.0827 + ], + "confidence": 1, + "span": { + "offset": 376, + "length": 3 + } + }, + { + "content": "Bill", + "boundingBox": [ + 0.8842, + 3.9681, + 1.0657, + 3.9681, + 1.0657, + 4.0817, + 0.8842, + 4.0817 + ], + "confidence": 1, + "span": { + "offset": 380, + "length": 4 + } + }, + { + "content": "St,", + "boundingBox": [ + 1.1222, + 3.9746, + 1.2765, + 3.9746, + 1.2765, + 4.1049, + 1.1222, + 4.1049 + ], + "confidence": 1, + "span": { + "offset": 385, + "length": 3 + } + }, + { + "content": "123", + "boundingBox": [ + 3.3456, + 3.9746, + 3.5724, + 3.9746, + 3.5724, + 4.0827, + 3.3456, + 4.0827 + ], + "confidence": 1, + "span": { + "offset": 389, + "length": 3 + } + }, + { + "content": "Ship", + "boundingBox": [ + 3.6239, + 3.9681, + 3.9042, + 3.9681, + 3.9042, + 4.1109, + 3.6239, + 4.1109 + ], + "confidence": 1, + "span": { + "offset": 393, + "length": 4 + } + }, + { + "content": "St,", + "boundingBox": [ + 3.9536, + 3.9746, + 4.1111, + 3.9746, + 4.1111, + 4.1049, + 3.9536, + 4.1049 + ], + "confidence": 1, + "span": { + "offset": 398, + "length": 3 + } + }, + { + "content": "123", + "boundingBox": [ + 6.2199, + 3.9746, + 6.4467, + 3.9746, + 6.4467, + 4.0827, + 6.2199, + 4.0827 + ], + "confidence": 1, + "span": { + "offset": 402, + "length": 3 + } + }, + { + "content": "Service", + "boundingBox": [ + 6.4985, + 3.9734, + 6.9738, + 3.9734, + 6.9738, + 4.0827, + 6.4985, + 4.0827 + ], + "confidence": 1, + "span": { + "offset": 406, + "length": 7 + } + }, + { + "content": "St,", + "boundingBox": [ + 7.0246, + 3.9746, + 7.1821, + 3.9746, + 7.1821, + 4.1049, + 7.0246, + 4.1049 + ], + "confidence": 1, + "span": { + "offset": 414, + "length": 3 + } + }, + { + "content": "Redmond", + "boundingBox": [ + 0.5943, + 4.1717, + 1.2222, + 4.1717, + 1.2222, + 4.2861, + 0.5943, + 4.2861 + ], + "confidence": 1, + "span": { + "offset": 418, + "length": 7 + } + }, + { + "content": "WA,", + "boundingBox": [ + 1.2753, + 4.1789, + 1.5468, + 4.1789, + 1.5468, + 4.3082, + 1.2753, + 4.3082 + ], + "confidence": 1, + "span": { + "offset": 426, + "length": 3 + } + }, + { + "content": "98052", + "boundingBox": [ + 1.6033, + 4.1779, + 2.0083, + 4.1779, + 2.0083, + 4.2861, + 1.6033, + 4.2861 + ], + "confidence": 1, + "span": { + "offset": 430, + "length": 5 + } + }, + { + "content": "Redmond", + "boundingBox": [ + 3.3454, + 4.1717, + 3.9732, + 4.1717, + 3.9732, + 4.2861, + 3.3454, + 4.2861 + ], + "confidence": 1, + "span": { + "offset": 436, + "length": 7 + } + }, + { + "content": "WA,", + "boundingBox": [ + 4.0264, + 4.1789, + 4.2979, + 4.1789, + 4.2979, + 4.3082, + 4.0264, + 4.3082 + ], + "confidence": 1, + "span": { + "offset": 444, + "length": 3 + } + }, + { + "content": "98052", + "boundingBox": [ + 4.3544, + 4.1779, + 4.7594, + 4.1779, + 4.7594, + 4.2861, + 4.3544, + 4.2861 + ], + "confidence": 1, + "span": { + "offset": 448, + "length": 5 + } + }, + { + "content": "Redmond", + "boundingBox": [ + 6.2197, + 4.1717, + 6.8475, + 4.1717, + 6.8475, + 4.2861, + 6.2197, + 4.2861 + ], + "confidence": 1, + "span": { + "offset": 454, + "length": 7 + } + }, + { + "content": "WA,", + "boundingBox": [ + 6.9007, + 4.1789, + 7.1722, + 4.1789, + 7.1722, + 4.3082, + 6.9007, + 4.3082 + ], + "confidence": 1, + "span": { + "offset": 462, + "length": 3 + } + }, + { + "content": "98052", + "boundingBox": [ + 7.2287, + 4.1779, + 7.6337, + 4.1779, + 7.6337, + 4.2861, + 7.2287, + 4.2861 + ], + "confidence": 1, + "span": { + "offset": 466, + "length": 5 + } + }, + { + "content": "SALESPERSON", + "boundingBox": [ + 0.7018, + 4.6528, + 1.6092, + 4.6528, + 1.6092, + 4.7529, + 0.7018, + 4.7529 + ], + "confidence": 1, + "span": { + "offset": 472, + "length": 11 + } + }, + { + "content": "P.O.", + "boundingBox": [ + 2.1216, + 4.6528, + 2.3788, + 4.6528, + 2.3788, + 4.7529, + 2.1216, + 4.7529 + ], + "confidence": 1, + "span": { + "offset": 484, + "length": 4 + } + }, + { + "content": "NUMBER", + "boundingBox": [ + 2.4376, + 4.654, + 3.0155, + 4.654, + 3.0155, + 4.7529, + 2.4376, + 4.7529 + ], + "confidence": 1, + "span": { + "offset": 489, + "length": 6 + } + }, + { + "content": "REQUISITIONER", + "boundingBox": [ + 3.4953, + 4.6528, + 4.5157, + 4.6528, + 4.5157, + 4.7687, + 3.4953, + 4.7687 + ], + "confidence": 1, + "span": { + "offset": 496, + "length": 13 + } + }, + { + "content": "SHIPPED", + "boundingBox": [ + 4.81, + 4.6528, + 5.362, + 4.6528, + 5.362, + 4.7529, + 4.81, + 4.7529 + ], + "confidence": 1, + "span": { + "offset": 510, + "length": 7 + } + }, + { + "content": "VIA", + "boundingBox": [ + 5.409, + 4.654, + 5.6317, + 4.654, + 5.6317, + 4.7517, + 5.409, + 4.7517 + ], + "confidence": 1, + "span": { + "offset": 518, + "length": 3 + } + }, + { + "content": "F.O.B.", + "boundingBox": [ + 5.8696, + 4.6528, + 6.2467, + 4.6528, + 6.2467, + 4.7529, + 5.8696, + 4.7529 + ], + "confidence": 1, + "span": { + "offset": 522, + "length": 6 + } + }, + { + "content": "POINT", + "boundingBox": [ + 6.3054, + 4.6528, + 6.706, + 4.6528, + 6.706, + 4.7529, + 6.3054, + 4.7529 + ], + "confidence": 1, + "span": { + "offset": 529, + "length": 5 + } + }, + { + "content": "TERMS", + "boundingBox": [ + 7.1806, + 4.6528, + 7.6304, + 4.6528, + 7.6304, + 4.7529, + 7.1806, + 4.7529 + ], + "confidence": 1, + "span": { + "offset": 535, + "length": 5 + } + }, + { + "content": "PO-3333", + "boundingBox": [ + 1.9114, + 4.9282, + 2.4718, + 4.9282, + 2.4718, + 5.0363, + 1.9114, + 5.0363 + ], + "confidence": 1, + "span": { + "offset": 541, + "length": 7 + } + }, + { + "content": "DATE", + "boundingBox": [ + 0.7409, + 5.421, + 1.0744, + 5.421, + 1.0744, + 5.5186, + 0.7409, + 5.5186 + ], + "confidence": 1, + "span": { + "offset": 549, + "length": 4 + } + }, + { + "content": "ITEM", + "boundingBox": [ + 1.4213, + 5.421, + 1.7338, + 5.421, + 1.7338, + 5.5186, + 1.4213, + 5.5186 + ], + "confidence": 1, + "span": { + "offset": 554, + "length": 4 + } + }, + { + "content": "CODE", + "boundingBox": [ + 1.7893, + 5.4197, + 2.1407, + 5.4197, + 2.1407, + 5.5199, + 1.7893, + 5.5199 + ], + "confidence": 1, + "span": { + "offset": 559, + "length": 4 + } + }, + { + "content": "DESCRIPTION", + "boundingBox": [ + 2.8516, + 5.4197, + 3.7134, + 5.4197, + 3.7134, + 5.5199, + 2.8516, + 5.5199 + ], + "confidence": 1, + "span": { + "offset": 564, + "length": 11 + } + }, + { + "content": "QTY", + "boundingBox": [ + 4.4043, + 5.4197, + 4.6631, + 5.4197, + 4.6631, + 5.5357, + 4.4043, + 5.5357 + ], + "confidence": 1, + "span": { + "offset": 576, + "length": 3 + } + }, + { + "content": "UM", + "boundingBox": [ + 5.049, + 5.421, + 5.2654, + 5.421, + 5.2654, + 5.5199, + 5.049, + 5.5199 + ], + "confidence": 1, + "span": { + "offset": 580, + "length": 2 + } + }, + { + "content": "PRICE", + "boundingBox": [ + 5.8563, + 5.4199, + 6.2163, + 5.4199, + 6.2163, + 5.5197, + 5.8563, + 5.5197 + ], + "confidence": 1, + "span": { + "offset": 583, + "length": 5 + } + }, + { + "content": "TAX", + "boundingBox": [ + 6.7169, + 5.421, + 6.974, + 5.421, + 6.974, + 5.5186, + 6.7169, + 5.5186 + ], + "confidence": 1, + "span": { + "offset": 589, + "length": 3 + } + }, + { + "content": "AMOUNT", + "boundingBox": [ + 7.2847, + 5.4197, + 7.9039, + 5.4197, + 7.9039, + 5.5199, + 7.2847, + 5.5199 + ], + "confidence": 1, + "span": { + "offset": 593, + "length": 6 + } + }, + { + "content": "3/4/2021", + "boundingBox": [ + 0.592, + 5.682, + 1.2092, + 5.682, + 1.2092, + 5.8243, + 0.592, + 5.8243 + ], + "confidence": 1, + "span": { + "offset": 600, + "length": 8 + } + }, + { + "content": "A123", + "boundingBox": [ + 1.6069, + 5.6948, + 1.9417, + 5.6948, + 1.9417, + 5.803, + 1.6069, + 5.803 + ], + "confidence": 1, + "span": { + "offset": 609, + "length": 4 + } + }, + { + "content": "Consulting", + "boundingBox": [ + 2.3388, + 5.6883, + 3.0438, + 5.6883, + 3.0438, + 5.8312, + 2.3388, + 5.8312 + ], + "confidence": 1, + "span": { + "offset": 614, + "length": 10 + } + }, + { + "content": "Services", + "boundingBox": [ + 3.0925, + 5.6937, + 3.6278, + 5.6937, + 3.6278, + 5.803, + 3.0925, + 5.803 + ], + "confidence": 1, + "span": { + "offset": 625, + "length": 8 + } + }, + { + "content": "2", + "boundingBox": [ + 4.5977, + 5.6948, + 4.6635, + 5.6948, + 4.6635, + 5.8017, + 4.5977, + 5.8017 + ], + "confidence": 1, + "span": { + "offset": 634, + "length": 1 + } + }, + { + "content": "hours", + "boundingBox": [ + 4.8444, + 5.6883, + 5.2071, + 5.6883, + 5.2071, + 5.803, + 4.8444, + 5.803 + ], + "confidence": 1, + "span": { + "offset": 636, + "length": 5 + } + }, + { + "content": "$30.00", + "boundingBox": [ + 5.9669, + 5.6777, + 6.4142, + 5.6777, + 6.4142, + 5.8215, + 5.9669, + 5.8215 + ], + "confidence": 1, + "span": { + "offset": 642, + "length": 6 + } + }, + { + "content": "10%", + "boundingBox": [ + 6.7168, + 5.6932, + 6.9826, + 5.6932, + 6.9826, + 5.8045, + 6.7168, + 5.8045 + ], + "confidence": 1, + "span": { + "offset": 649, + "length": 3 + } + }, + { + "content": "$60.00", + "boundingBox": [ + 7.4642, + 5.6777, + 7.9116, + 5.6777, + 7.9116, + 5.8215, + 7.4642, + 5.8215 + ], + "confidence": 1, + "span": { + "offset": 653, + "length": 6 + } + }, + { + "content": "3/5/2021", + "boundingBox": [ + 0.592, + 5.9787, + 1.2088, + 5.9787, + 1.2088, + 6.121, + 0.592, + 6.121 + ], + "confidence": 1, + "span": { + "offset": 660, + "length": 8 + } + }, + { + "content": "B456", + "boundingBox": [ + 1.6214, + 5.9915, + 1.9419, + 5.9915, + 1.9419, + 6.0997, + 1.6214, + 6.0997 + ], + "confidence": 1, + "span": { + "offset": 669, + "length": 4 + } + }, + { + "content": "Document", + "boundingBox": [ + 2.345, + 5.993, + 3.0318, + 5.993, + 3.0318, + 6.0997, + 2.345, + 6.0997 + ], + "confidence": 1, + "span": { + "offset": 674, + "length": 8 + } + }, + { + "content": "Fee", + "boundingBox": [ + 3.0887, + 5.993, + 3.3096, + 5.993, + 3.3096, + 6.0997, + 3.0887, + 6.0997 + ], + "confidence": 1, + "span": { + "offset": 683, + "length": 3 + } + }, + { + "content": "3", + "boundingBox": [ + 4.5967, + 5.9915, + 4.6627, + 5.9915, + 4.6627, + 6.0997, + 4.5967, + 6.0997 + ], + "confidence": 1, + "span": { + "offset": 687, + "length": 1 + } + }, + { + "content": "$10.00", + "boundingBox": [ + 5.9669, + 5.9743, + 6.4142, + 5.9743, + 6.4142, + 6.1182, + 5.9669, + 6.1182 + ], + "confidence": 1, + "span": { + "offset": 689, + "length": 6 + } + }, + { + "content": "5%", + "boundingBox": [ + 6.7508, + 5.9898, + 6.9393, + 5.9898, + 6.9393, + 6.1012, + 6.7508, + 6.1012 + ], + "confidence": 1, + "span": { + "offset": 696, + "length": 2 + } + }, + { + "content": "$30.00", + "boundingBox": [ + 7.4642, + 5.9743, + 7.9116, + 5.9743, + 7.9116, + 6.1182, + 7.4642, + 6.1182 + ], + "confidence": 1, + "span": { + "offset": 699, + "length": 6 + } + }, + { + "content": "3/6/2021", + "boundingBox": [ + 0.592, + 6.2789, + 1.2088, + 6.2789, + 1.2088, + 6.4213, + 0.592, + 6.4213 + ], + "confidence": 1, + "span": { + "offset": 706, + "length": 8 + } + }, + { + "content": "C789", + "boundingBox": [ + 1.6152, + 6.2918, + 1.94, + 6.2918, + 1.94, + 6.3999, + 1.6152, + 6.3999 + ], + "confidence": 1, + "span": { + "offset": 715, + "length": 4 + } + }, + { + "content": "Printing", + "boundingBox": [ + 2.345, + 6.2906, + 2.8575, + 6.2906, + 2.8575, + 6.4281, + 2.345, + 6.4281 + ], + "confidence": 1, + "span": { + "offset": 720, + "length": 8 + } + }, + { + "content": "Fee", + "boundingBox": [ + 2.9143, + 6.2933, + 3.1351, + 6.2933, + 3.1351, + 6.3999, + 2.9143, + 6.3999 + ], + "confidence": 1, + "span": { + "offset": 729, + "length": 3 + } + }, + { + "content": "10", + "boundingBox": [ + 4.5158, + 6.2918, + 4.6637, + 6.2918, + 4.6637, + 6.3999, + 4.5158, + 6.3999 + ], + "confidence": 1, + "span": { + "offset": 733, + "length": 2 + } + }, + { + "content": "pages", + "boundingBox": [ + 4.8444, + 6.3196, + 5.2199, + 6.3196, + 5.2199, + 6.4281, + 4.8444, + 6.4281 + ], + "confidence": 1, + "span": { + "offset": 736, + "length": 5 + } + }, + { + "content": "$1.00", + "boundingBox": [ + 6.0502, + 6.2746, + 6.4142, + 6.2746, + 6.4142, + 6.4184, + 6.0502, + 6.4184 + ], + "confidence": 1, + "span": { + "offset": 742, + "length": 5 + } + }, + { + "content": "20%", + "boundingBox": [ + 6.712, + 6.2901, + 6.9826, + 6.2901, + 6.9826, + 6.4014, + 6.712, + 6.4014 + ], + "confidence": 1, + "span": { + "offset": 748, + "length": 3 + } + }, + { + "content": "$10.00", + "boundingBox": [ + 7.4642, + 6.2746, + 7.9116, + 6.2746, + 7.9116, + 6.4184, + 7.4642, + 6.4184 + ], + "confidence": 1, + "span": { + "offset": 752, + "length": 6 + } + }, + { + "content": "SUBTOTAL", + "boundingBox": [ + 6.0282, + 6.9118, + 6.7309, + 6.9118, + 6.7309, + 7.0199, + 6.0282, + 7.0199 + ], + "confidence": 1, + "span": { + "offset": 759, + "length": 8 + } + }, + { + "content": "$100.00", + "boundingBox": [ + 7.3842, + 6.8679, + 7.9181, + 6.8679, + 7.9181, + 7.0118, + 7.3842, + 7.0118 + ], + "confidence": 1, + "span": { + "offset": 768, + "length": 7 + } + }, + { + "content": "SALES", + "boundingBox": [ + 6.0382, + 7.2089, + 6.4262, + 7.2089, + 6.4262, + 7.317, + 6.0382, + 7.317 + ], + "confidence": 1, + "span": { + "offset": 776, + "length": 5 + } + }, + { + "content": "TAX", + "boundingBox": [ + 6.4702, + 7.2099, + 6.728, + 7.2099, + 6.728, + 7.316, + 6.4702, + 7.316 + ], + "confidence": 1, + "span": { + "offset": 782, + "length": 3 + } + }, + { + "content": "$10.00", + "boundingBox": [ + 7.4709, + 7.165, + 7.9182, + 7.165, + 7.9182, + 7.3089, + 7.4709, + 7.3089 + ], + "confidence": 1, + "span": { + "offset": 786, + "length": 6 + } + }, + { + "content": "TOTAL", + "boundingBox": [ + 6.2969, + 7.5089, + 6.7309, + 7.5089, + 6.7309, + 7.617, + 6.2969, + 7.617 + ], + "confidence": 1, + "span": { + "offset": 793, + "length": 5 + } + }, + { + "content": "$110.00", + "boundingBox": [ + 7.3842, + 7.465, + 7.9181, + 7.465, + 7.9181, + 7.6089, + 7.3842, + 7.6089 + ], + "confidence": 1, + "span": { + "offset": 799, + "length": 7 + } + }, + { + "content": "PREVIOUS", + "boundingBox": [ + 4.8126, + 7.8055, + 5.4789, + 7.8055, + 5.4789, + 7.9137, + 4.8126, + 7.9137 + ], + "confidence": 1, + "span": { + "offset": 807, + "length": 8 + } + }, + { + "content": "UNPAID", + "boundingBox": [ + 5.5362, + 7.8065, + 6.057, + 7.8065, + 6.057, + 7.9137, + 5.5362, + 7.9137 + ], + "confidence": 1, + "span": { + "offset": 816, + "length": 6 + } + }, + { + "content": "BALANCE", + "boundingBox": [ + 6.1164, + 7.8057, + 6.7249, + 7.8057, + 6.7249, + 7.9135, + 6.1164, + 7.9135 + ], + "confidence": 1, + "span": { + "offset": 823, + "length": 7 + } + }, + { + "content": "$500.00", + "boundingBox": [ + 7.3842, + 7.7617, + 7.9181, + 7.7617, + 7.9181, + 7.9055, + 7.3842, + 7.9055 + ], + "confidence": 1, + "span": { + "offset": 831, + "length": 7 + } + }, + { + "content": "AMOUNT", + "boundingBox": [ + 5.7652, + 8.1022, + 6.4055, + 8.1022, + 6.4055, + 8.2104, + 5.7652, + 8.2104 + ], + "confidence": 1, + "span": { + "offset": 839, + "length": 6 + } + }, + { + "content": "DUE", + "boundingBox": [ + 6.4562, + 8.1032, + 6.725, + 8.1032, + 6.725, + 8.2104, + 6.4562, + 8.2104 + ], + "confidence": 1, + "span": { + "offset": 846, + "length": 3 + } + }, + { + "content": "$610.00", + "boundingBox": [ + 7.3842, + 8.0584, + 7.9181, + 8.0584, + 7.9181, + 8.2022, + 7.3842, + 8.2022 + ], + "confidence": 1, + "span": { + "offset": 850, + "length": 7 + } + }, + { + "content": "THANK", + "boundingBox": [ + 3.129, + 8.5453, + 3.5887, + 8.5453, + 3.5887, + 8.6429, + 3.129, + 8.6429 + ], + "confidence": 1, + "span": { + "offset": 858, + "length": 5 + } + }, + { + "content": "YOU", + "boundingBox": [ + 3.6316, + 8.544, + 3.9064, + 8.544, + 3.9064, + 8.6442, + 3.6316, + 8.6442 + ], + "confidence": 1, + "span": { + "offset": 864, + "length": 3 + } + }, + { + "content": "FOR", + "boundingBox": [ + 3.9671, + 8.544, + 4.2187, + 8.544, + 4.2187, + 8.6442, + 3.9671, + 8.6442 + ], + "confidence": 1, + "span": { + "offset": 868, + "length": 3 + } + }, + { + "content": "YOUR", + "boundingBox": [ + 4.2638, + 8.544, + 4.6347, + 8.544, + 4.6347, + 8.6442, + 4.2638, + 8.6442 + ], + "confidence": 1, + "span": { + "offset": 872, + "length": 4 + } + }, + { + "content": "BUSINESS!", + "boundingBox": [ + 4.6859, + 8.539, + 5.356, + 8.539, + 5.356, + 8.6442, + 4.6859, + 8.6442 + ], + "confidence": 1, + "span": { + "offset": 877, + "length": 9 + } + }, + { + "content": "REMIT", + "boundingBox": [ + 0.5909, + 9.1619, + 1.0014, + 9.1619, + 1.0014, + 9.2596, + 0.5909, + 9.2596 + ], + "confidence": 1, + "span": { + "offset": 887, + "length": 5 + } + }, + { + "content": "TO:", + "boundingBox": [ + 1.0446, + 9.1607, + 1.2603, + 9.1607, + 1.2603, + 9.2608, + 1.0446, + 9.2608 + ], + "confidence": 1, + "span": { + "offset": 893, + "length": 3 + } + }, + { + "content": "Contoso", + "boundingBox": [ + 0.5882, + 9.3697, + 1.1337, + 9.3697, + 1.1337, + 9.4777, + 0.5882, + 9.4777 + ], + "confidence": 1, + "span": { + "offset": 897, + "length": 7 + } + }, + { + "content": "Billing", + "boundingBox": [ + 1.1905, + 9.3631, + 1.5828, + 9.3631, + 1.5828, + 9.5059, + 1.1905, + 9.5059 + ], + "confidence": 1, + "span": { + "offset": 905, + "length": 7 + } + }, + { + "content": "123", + "boundingBox": [ + 0.5945, + 9.5728, + 0.8213, + 9.5728, + 0.8213, + 9.681, + 0.5945, + 9.681 + ], + "confidence": 1, + "span": { + "offset": 913, + "length": 3 + } + }, + { + "content": "Remit", + "boundingBox": [ + 0.881, + 9.5717, + 1.264, + 9.5717, + 1.264, + 9.681, + 0.881, + 9.681 + ], + "confidence": 1, + "span": { + "offset": 917, + "length": 5 + } + }, + { + "content": "St", + "boundingBox": [ + 1.3125, + 9.5728, + 1.4337, + 9.5728, + 1.4337, + 9.681, + 1.3125, + 9.681 + ], + "confidence": 1, + "span": { + "offset": 923, + "length": 2 + } + }, + { + "content": "New", + "boundingBox": [ + 0.5943, + 9.7808, + 0.8848, + 9.7808, + 0.8848, + 9.8877, + 0.5943, + 9.8877 + ], + "confidence": 1, + "span": { + "offset": 926, + "length": 3 + } + }, + { + "content": "York,", + "boundingBox": [ + 0.9293, + 9.773, + 1.2568, + 9.773, + 1.2568, + 9.9098, + 0.9293, + 9.9098 + ], + "confidence": 1, + "span": { + "offset": 930, + "length": 5 + } + }, + { + "content": "NY,", + "boundingBox": [ + 1.3205, + 9.7805, + 1.5233, + 9.7805, + 1.5233, + 9.9098, + 1.3205, + 9.9098 + ], + "confidence": 1, + "span": { + "offset": 936, + "length": 3 + } + }, + { + "content": "10001", + "boundingBox": [ + 1.5903, + 9.7795, + 1.9882, + 9.7795, + 1.9882, + 9.8877, + 1.5903, + 9.8877 + ], + "confidence": 1, + "span": { + "offset": 940, + "length": 5 + } + } + ], + "selectionMarks": [ + { + "state": "unselected", + "boundingBox": [ + 4.3231, + 5.6279, + 4.7562, + 5.6279, + 4.7562, + 5.8654, + 4.3231, + 5.8654 + ], + "confidence": 0.212, + "span": { + "offset": 946, + "length": 12 + } + } + ], + "lines": [ + { + "content": "CONTOSO LTD.", + "boundingBox": [ + 0.5911, + 0.6857, + 2.3181, + 0.6857, + 2.3181, + 0.8664, + 0.5911, + 0.8664 + ], + "spans": [ + { + "offset": 0, + "length": 12 + } + ] + }, + { + "content": "INVOICE", + "boundingBox": [ + 7.0751, + 0.589, + 7.9886, + 0.589, + 7.9886, + 0.7697, + 7.0751, + 0.7697 + ], + "spans": [ + { + "offset": 13, + "length": 7 + } + ] + }, + { + "content": "Contoso Headquarters", + "boundingBox": [ + 0.5882, + 1.4239, + 2.0978, + 1.4239, + 2.0978, + 1.5664, + 0.5882, + 1.5664 + ], + "spans": [ + { + "offset": 21, + "length": 20 + } + ] + }, + { + "content": "INVOICE: INV-100", + "boundingBox": [ + 6.8599, + 1.4217, + 7.9988, + 1.4217, + 7.9988, + 1.5218, + 6.8599, + 1.5218 + ], + "spans": [ + { + "offset": 42, + "length": 16 + } + ] + }, + { + "content": "123 456th St", + "boundingBox": [ + 0.5945, + 1.6092, + 1.3812, + 1.6092, + 1.3812, + 1.742, + 0.5945, + 1.742 + ], + "spans": [ + { + "offset": 59, + "length": 12 + } + ] + }, + { + "content": "INVOICE DATE: 11/15/2019", + "boundingBox": [ + 6.2263, + 1.6139, + 7.993, + 1.6139, + 7.993, + 1.7449, + 6.2263, + 1.7449 + ], + "spans": [ + { + "offset": 72, + "length": 24 + } + ] + }, + { + "content": "New York, NY, 10001", + "boundingBox": [ + 0.5943, + 1.8307, + 1.9894, + 1.8307, + 1.9894, + 1.9675, + 0.5943, + 1.9675 + ], + "spans": [ + { + "offset": 97, + "length": 19 + } + ] + }, + { + "content": "DUE DATE: 12/15/2019", + "boundingBox": [ + 6.4966, + 1.8206, + 7.993, + 1.8206, + 7.993, + 1.9515, + 6.4966, + 1.9515 + ], + "spans": [ + { + "offset": 117, + "length": 20 + } + ] + }, + { + "content": "CUSTOMER NAME: MICROSOFT CORPORATION", + "boundingBox": [ + 4.9513, + 2.0388, + 7.9825, + 2.0388, + 7.9825, + 2.1389, + 4.9513, + 2.1389 + ], + "spans": [ + { + "offset": 138, + "length": 36 + } + ] + }, + { + "content": "SERVICE PERIOD: 10/14/2019 – 11/14/2019", + "boundingBox": [ + 5.1667, + 2.2306, + 7.9952, + 2.2306, + 7.9952, + 2.3615, + 5.1667, + 2.3615 + ], + "spans": [ + { + "offset": 175, + "length": 39 + } + ] + }, + { + "content": "CUSTOMER ID: CID-12345", + "boundingBox": [ + 6.3253, + 2.4488, + 7.9951, + 2.4488, + 7.9951, + 2.5489, + 6.3253, + 2.5489 + ], + "spans": [ + { + "offset": 215, + "length": 22 + } + ] + }, + { + "content": "Microsoft Corp", + "boundingBox": [ + 0.5943, + 2.6436, + 1.586, + 2.6436, + 1.586, + 2.7871, + 0.5943, + 2.7871 + ], + "spans": [ + { + "offset": 238, + "length": 14 + } + ] + }, + { + "content": "123 Other St,", + "boundingBox": [ + 0.5945, + 2.8476, + 1.4633, + 2.8476, + 1.4633, + 2.9845, + 0.5945, + 2.9845 + ], + "spans": [ + { + "offset": 253, + "length": 13 + } + ] + }, + { + "content": "Redmond WA, 98052", + "boundingBox": [ + 0.5943, + 3.0513, + 2.0083, + 3.0513, + 2.0083, + 3.1878, + 0.5943, + 3.1878 + ], + "spans": [ + { + "offset": 267, + "length": 17 + } + ] + }, + { + "content": "BILL TO:", + "boundingBox": [ + 0.5909, + 3.559, + 1.1032, + 3.559, + 1.1032, + 3.6592, + 0.5909, + 3.6592 + ], + "spans": [ + { + "offset": 285, + "length": 8 + } + ] + }, + { + "content": "SHIP TO:", + "boundingBox": [ + 3.3361, + 3.559, + 3.8903, + 3.559, + 3.8903, + 3.6592, + 3.3361, + 3.6592 + ], + "spans": [ + { + "offset": 294, + "length": 8 + } + ] + }, + { + "content": "SERVICE ADDRESS:", + "boundingBox": [ + 6.2104, + 3.559, + 7.4232, + 3.559, + 7.4232, + 3.6592, + 6.2104, + 3.6592 + ], + "spans": [ + { + "offset": 303, + "length": 16 + } + ] + }, + { + "content": "Microsoft Finance", + "boundingBox": [ + 0.5943, + 3.7641, + 1.7878, + 3.7641, + 1.7878, + 3.8794, + 0.5943, + 3.8794 + ], + "spans": [ + { + "offset": 320, + "length": 17 + } + ] + }, + { + "content": "Microsoft Delivery", + "boundingBox": [ + 3.3454, + 3.7641, + 4.5762, + 3.7641, + 4.5762, + 3.9076, + 3.3454, + 3.9076 + ], + "spans": [ + { + "offset": 338, + "length": 18 + } + ] + }, + { + "content": "Microsoft Services", + "boundingBox": [ + 6.2197, + 3.7641, + 7.4427, + 3.7641, + 7.4427, + 3.8794, + 6.2197, + 3.8794 + ], + "spans": [ + { + "offset": 357, + "length": 18 + } + ] + }, + { + "content": "123 Bill St,", + "boundingBox": [ + 0.5945, + 3.9681, + 1.2765, + 3.9681, + 1.2765, + 4.1049, + 0.5945, + 4.1049 + ], + "spans": [ + { + "offset": 376, + "length": 12 + } + ] + }, + { + "content": "123 Ship St,", + "boundingBox": [ + 3.3456, + 3.9681, + 4.1111, + 3.9681, + 4.1111, + 4.1109, + 3.3456, + 4.1109 + ], + "spans": [ + { + "offset": 389, + "length": 12 + } + ] + }, + { + "content": "123 Service St,", + "boundingBox": [ + 6.2199, + 3.9734, + 7.1821, + 3.9734, + 7.1821, + 4.1049, + 6.2199, + 4.1049 + ], + "spans": [ + { + "offset": 402, + "length": 15 + } + ] + }, + { + "content": "Redmond WA, 98052", + "boundingBox": [ + 0.5943, + 4.1717, + 2.0083, + 4.1717, + 2.0083, + 4.3082, + 0.5943, + 4.3082 + ], + "spans": [ + { + "offset": 418, + "length": 17 + } + ] + }, + { + "content": "Redmond WA, 98052", + "boundingBox": [ + 3.3454, + 4.1717, + 4.7594, + 4.1717, + 4.7594, + 4.3082, + 3.3454, + 4.3082 + ], + "spans": [ + { + "offset": 436, + "length": 17 + } + ] + }, + { + "content": "Redmond WA, 98052", + "boundingBox": [ + 6.2197, + 4.1717, + 7.6337, + 4.1717, + 7.6337, + 4.3082, + 6.2197, + 4.3082 + ], + "spans": [ + { + "offset": 454, + "length": 17 + } + ] + }, + { + "content": "SALESPERSON", + "boundingBox": [ + 0.7018, + 4.6528, + 1.6092, + 4.6528, + 1.6092, + 4.7529, + 0.7018, + 4.7529 + ], + "spans": [ + { + "offset": 472, + "length": 11 + } + ] + }, + { + "content": "P.O. NUMBER", + "boundingBox": [ + 2.1216, + 4.6528, + 3.0155, + 4.6528, + 3.0155, + 4.7529, + 2.1216, + 4.7529 + ], + "spans": [ + { + "offset": 484, + "length": 11 + } + ] + }, + { + "content": "REQUISITIONER", + "boundingBox": [ + 3.4953, + 4.6528, + 4.5157, + 4.6528, + 4.5157, + 4.7687, + 3.4953, + 4.7687 + ], + "spans": [ + { + "offset": 496, + "length": 13 + } + ] + }, + { + "content": "SHIPPED VIA", + "boundingBox": [ + 4.81, + 4.6528, + 5.6317, + 4.6528, + 5.6317, + 4.7529, + 4.81, + 4.7529 + ], + "spans": [ + { + "offset": 510, + "length": 11 + } + ] + }, + { + "content": "F.O.B. POINT", + "boundingBox": [ + 5.8696, + 4.6528, + 6.706, + 4.6528, + 6.706, + 4.7529, + 5.8696, + 4.7529 + ], + "spans": [ + { + "offset": 522, + "length": 12 + } + ] + }, + { + "content": "TERMS", + "boundingBox": [ + 7.1806, + 4.6528, + 7.6304, + 4.6528, + 7.6304, + 4.7529, + 7.1806, + 4.7529 + ], + "spans": [ + { + "offset": 535, + "length": 5 + } + ] + }, + { + "content": "PO-3333", + "boundingBox": [ + 1.9114, + 4.9282, + 2.4718, + 4.9282, + 2.4718, + 5.0363, + 1.9114, + 5.0363 + ], + "spans": [ + { + "offset": 541, + "length": 7 + } + ] + }, + { + "content": "DATE", + "boundingBox": [ + 0.7409, + 5.421, + 1.0744, + 5.421, + 1.0744, + 5.5186, + 0.7409, + 5.5186 + ], + "spans": [ + { + "offset": 549, + "length": 4 + } + ] + }, + { + "content": "ITEM CODE", + "boundingBox": [ + 1.4213, + 5.4197, + 2.1407, + 5.4197, + 2.1407, + 5.5199, + 1.4213, + 5.5199 + ], + "spans": [ + { + "offset": 554, + "length": 9 + } + ] + }, + { + "content": "DESCRIPTION", + "boundingBox": [ + 2.8516, + 5.4197, + 3.7134, + 5.4197, + 3.7134, + 5.5199, + 2.8516, + 5.5199 + ], + "spans": [ + { + "offset": 564, + "length": 11 + } + ] + }, + { + "content": "QTY", + "boundingBox": [ + 4.4043, + 5.4197, + 4.6631, + 5.4197, + 4.6631, + 5.5357, + 4.4043, + 5.5357 + ], + "spans": [ + { + "offset": 576, + "length": 3 + } + ] + }, + { + "content": "UM", + "boundingBox": [ + 5.049, + 5.421, + 5.2654, + 5.421, + 5.2654, + 5.5199, + 5.049, + 5.5199 + ], + "spans": [ + { + "offset": 580, + "length": 2 + } + ] + }, + { + "content": "PRICE", + "boundingBox": [ + 5.8563, + 5.4199, + 6.2163, + 5.4199, + 6.2163, + 5.5197, + 5.8563, + 5.5197 + ], + "spans": [ + { + "offset": 583, + "length": 5 + } + ] + }, + { + "content": "TAX", + "boundingBox": [ + 6.7169, + 5.421, + 6.974, + 5.421, + 6.974, + 5.5186, + 6.7169, + 5.5186 + ], + "spans": [ + { + "offset": 589, + "length": 3 + } + ] + }, + { + "content": "AMOUNT", + "boundingBox": [ + 7.2847, + 5.4197, + 7.9039, + 5.4197, + 7.9039, + 5.5199, + 7.2847, + 5.5199 + ], + "spans": [ + { + "offset": 593, + "length": 6 + } + ] + }, + { + "content": "3/4/2021", + "boundingBox": [ + 0.592, + 5.682, + 1.2092, + 5.682, + 1.2092, + 5.8243, + 0.592, + 5.8243 + ], + "spans": [ + { + "offset": 600, + "length": 8 + } + ] + }, + { + "content": "A123", + "boundingBox": [ + 1.6069, + 5.6948, + 1.9417, + 5.6948, + 1.9417, + 5.803, + 1.6069, + 5.803 + ], + "spans": [ + { + "offset": 609, + "length": 4 + } + ] + }, + { + "content": "Consulting Services", + "boundingBox": [ + 2.3388, + 5.6883, + 3.6278, + 5.6883, + 3.6278, + 5.8312, + 2.3388, + 5.8312 + ], + "spans": [ + { + "offset": 614, + "length": 19 + } + ] + }, + { + "content": "2", + "boundingBox": [ + 4.5977, + 5.6948, + 4.6635, + 5.6948, + 4.6635, + 5.8017, + 4.5977, + 5.8017 + ], + "spans": [ + { + "offset": 634, + "length": 1 + } + ] + }, + { + "content": "hours", + "boundingBox": [ + 4.8444, + 5.6883, + 5.2071, + 5.6883, + 5.2071, + 5.803, + 4.8444, + 5.803 + ], + "spans": [ + { + "offset": 636, + "length": 5 + } + ] + }, + { + "content": "$30.00", + "boundingBox": [ + 5.9669, + 5.6777, + 6.4142, + 5.6777, + 6.4142, + 5.8215, + 5.9669, + 5.8215 + ], + "spans": [ + { + "offset": 642, + "length": 6 + } + ] + }, + { + "content": "10%", + "boundingBox": [ + 6.7168, + 5.6932, + 6.9826, + 5.6932, + 6.9826, + 5.8045, + 6.7168, + 5.8045 + ], + "spans": [ + { + "offset": 649, + "length": 3 + } + ] + }, + { + "content": "$60.00", + "boundingBox": [ + 7.4642, + 5.6777, + 7.9116, + 5.6777, + 7.9116, + 5.8215, + 7.4642, + 5.8215 + ], + "spans": [ + { + "offset": 653, + "length": 6 + } + ] + }, + { + "content": "3/5/2021", + "boundingBox": [ + 0.592, + 5.9787, + 1.2088, + 5.9787, + 1.2088, + 6.121, + 0.592, + 6.121 + ], + "spans": [ + { + "offset": 660, + "length": 8 + } + ] + }, + { + "content": "B456", + "boundingBox": [ + 1.6214, + 5.9915, + 1.9419, + 5.9915, + 1.9419, + 6.0997, + 1.6214, + 6.0997 + ], + "spans": [ + { + "offset": 669, + "length": 4 + } + ] + }, + { + "content": "Document Fee", + "boundingBox": [ + 2.345, + 5.993, + 3.3096, + 5.993, + 3.3096, + 6.0997, + 2.345, + 6.0997 + ], + "spans": [ + { + "offset": 674, + "length": 12 + } + ] + }, + { + "content": "3", + "boundingBox": [ + 4.5967, + 5.9915, + 4.6627, + 5.9915, + 4.6627, + 6.0997, + 4.5967, + 6.0997 + ], + "spans": [ + { + "offset": 687, + "length": 1 + } + ] + }, + { + "content": "$10.00", + "boundingBox": [ + 5.9669, + 5.9743, + 6.4142, + 5.9743, + 6.4142, + 6.1182, + 5.9669, + 6.1182 + ], + "spans": [ + { + "offset": 689, + "length": 6 + } + ] + }, + { + "content": "5%", + "boundingBox": [ + 6.7508, + 5.9898, + 6.9393, + 5.9898, + 6.9393, + 6.1012, + 6.7508, + 6.1012 + ], + "spans": [ + { + "offset": 696, + "length": 2 + } + ] + }, + { + "content": "$30.00", + "boundingBox": [ + 7.4642, + 5.9743, + 7.9116, + 5.9743, + 7.9116, + 6.1182, + 7.4642, + 6.1182 + ], + "spans": [ + { + "offset": 699, + "length": 6 + } + ] + }, + { + "content": "3/6/2021", + "boundingBox": [ + 0.592, + 6.2789, + 1.2088, + 6.2789, + 1.2088, + 6.4213, + 0.592, + 6.4213 + ], + "spans": [ + { + "offset": 706, + "length": 8 + } + ] + }, + { + "content": "C789", + "boundingBox": [ + 1.6152, + 6.2918, + 1.94, + 6.2918, + 1.94, + 6.3999, + 1.6152, + 6.3999 + ], + "spans": [ + { + "offset": 715, + "length": 4 + } + ] + }, + { + "content": "Printing Fee", + "boundingBox": [ + 2.345, + 6.2906, + 3.1351, + 6.2906, + 3.1351, + 6.4281, + 2.345, + 6.4281 + ], + "spans": [ + { + "offset": 720, + "length": 12 + } + ] + }, + { + "content": "10", + "boundingBox": [ + 4.5158, + 6.2918, + 4.6637, + 6.2918, + 4.6637, + 6.3999, + 4.5158, + 6.3999 + ], + "spans": [ + { + "offset": 733, + "length": 2 + } + ] + }, + { + "content": "pages", + "boundingBox": [ + 4.8444, + 6.3196, + 5.2199, + 6.3196, + 5.2199, + 6.4281, + 4.8444, + 6.4281 + ], + "spans": [ + { + "offset": 736, + "length": 5 + } + ] + }, + { + "content": "$1.00", + "boundingBox": [ + 6.0502, + 6.2746, + 6.4142, + 6.2746, + 6.4142, + 6.4184, + 6.0502, + 6.4184 + ], + "spans": [ + { + "offset": 742, + "length": 5 + } + ] + }, + { + "content": "20%", + "boundingBox": [ + 6.712, + 6.2901, + 6.9826, + 6.2901, + 6.9826, + 6.4014, + 6.712, + 6.4014 + ], + "spans": [ + { + "offset": 748, + "length": 3 + } + ] + }, + { + "content": "$10.00", + "boundingBox": [ + 7.4642, + 6.2746, + 7.9116, + 6.2746, + 7.9116, + 6.4184, + 7.4642, + 6.4184 + ], + "spans": [ + { + "offset": 752, + "length": 6 + } + ] + }, + { + "content": "SUBTOTAL", + "boundingBox": [ + 6.0282, + 6.9118, + 6.7309, + 6.9118, + 6.7309, + 7.0199, + 6.0282, + 7.0199 + ], + "spans": [ + { + "offset": 759, + "length": 8 + } + ] + }, + { + "content": "$100.00", + "boundingBox": [ + 7.3842, + 6.8679, + 7.9181, + 6.8679, + 7.9181, + 7.0118, + 7.3842, + 7.0118 + ], + "spans": [ + { + "offset": 768, + "length": 7 + } + ] + }, + { + "content": "SALES TAX", + "boundingBox": [ + 6.0382, + 7.2089, + 6.728, + 7.2089, + 6.728, + 7.317, + 6.0382, + 7.317 + ], + "spans": [ + { + "offset": 776, + "length": 9 + } + ] + }, + { + "content": "$10.00", + "boundingBox": [ + 7.4709, + 7.165, + 7.9182, + 7.165, + 7.9182, + 7.3089, + 7.4709, + 7.3089 + ], + "spans": [ + { + "offset": 786, + "length": 6 + } + ] + }, + { + "content": "TOTAL", + "boundingBox": [ + 6.2969, + 7.5089, + 6.7309, + 7.5089, + 6.7309, + 7.617, + 6.2969, + 7.617 + ], + "spans": [ + { + "offset": 793, + "length": 5 + } + ] + }, + { + "content": "$110.00", + "boundingBox": [ + 7.3842, + 7.465, + 7.9181, + 7.465, + 7.9181, + 7.6089, + 7.3842, + 7.6089 + ], + "spans": [ + { + "offset": 799, + "length": 7 + } + ] + }, + { + "content": "PREVIOUS UNPAID BALANCE", + "boundingBox": [ + 4.8126, + 7.8055, + 6.7249, + 7.8055, + 6.7249, + 7.9137, + 4.8126, + 7.9137 + ], + "spans": [ + { + "offset": 807, + "length": 23 + } + ] + }, + { + "content": "$500.00", + "boundingBox": [ + 7.3842, + 7.7617, + 7.9181, + 7.7617, + 7.9181, + 7.9055, + 7.3842, + 7.9055 + ], + "spans": [ + { + "offset": 831, + "length": 7 + } + ] + }, + { + "content": "AMOUNT DUE", + "boundingBox": [ + 5.7652, + 8.1022, + 6.725, + 8.1022, + 6.725, + 8.2104, + 5.7652, + 8.2104 + ], + "spans": [ + { + "offset": 839, + "length": 10 + } + ] + }, + { + "content": "$610.00", + "boundingBox": [ + 7.3842, + 8.0584, + 7.9181, + 8.0584, + 7.9181, + 8.2022, + 7.3842, + 8.2022 + ], + "spans": [ + { + "offset": 850, + "length": 7 + } + ] + }, + { + "content": "THANK YOU FOR YOUR BUSINESS!", + "boundingBox": [ + 3.129, + 8.539, + 5.356, + 8.539, + 5.356, + 8.6442, + 3.129, + 8.6442 + ], + "spans": [ + { + "offset": 858, + "length": 28 + } + ] + }, + { + "content": "REMIT TO:", + "boundingBox": [ + 0.5909, + 9.1607, + 1.2603, + 9.1607, + 1.2603, + 9.2608, + 0.5909, + 9.2608 + ], + "spans": [ + { + "offset": 887, + "length": 9 + } + ] + }, + { + "content": "Contoso Billing", + "boundingBox": [ + 0.5882, + 9.3631, + 1.5828, + 9.3631, + 1.5828, + 9.5059, + 0.5882, + 9.5059 + ], + "spans": [ + { + "offset": 897, + "length": 15 + } + ] + }, + { + "content": "123 Remit St", + "boundingBox": [ + 0.5945, + 9.5717, + 1.4337, + 9.5717, + 1.4337, + 9.681, + 0.5945, + 9.681 + ], + "spans": [ + { + "offset": 913, + "length": 12 + } + ] + }, + { + "content": "New York, NY, 10001", + "boundingBox": [ + 0.5943, + 9.773, + 1.9882, + 9.773, + 1.9882, + 9.9098, + 0.5943, + 9.9098 + ], + "spans": [ + { + "offset": 926, + "length": 19 + } + ] + } + ], + "spans": [ + { + "offset": 0, + "length": 958 + } + ] + } + ], + "tables": [ + { + "rowCount": 4, + "columnCount": 8, + "cells": [ + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "DATE", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.4932, + 5.329, + 1.3011, + 5.3213, + 1.3011, + 5.6056, + 0.5009, + 5.6056 + ] + } + ], + "spans": [ + { + "offset": 549, + "length": 4 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "ITEM CODE", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.3011, + 5.3213, + 2.2476, + 5.3213, + 2.2399, + 5.6056, + 1.3011, + 5.6056 + ] + } + ], + "spans": [ + { + "offset": 554, + "length": 9 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 2, + "rowSpan": 1, + "columnSpan": 1, + "content": "DESCRIPTION", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 2.2476, + 5.3213, + 4.3174, + 5.329, + 4.3097, + 5.6056, + 2.2399, + 5.6056 + ] + } + ], + "spans": [ + { + "offset": 564, + "length": 11 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 3, + "rowSpan": 1, + "columnSpan": 1, + "content": "QTY", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.3174, + 5.329, + 4.7483, + 5.329, + 4.7483, + 5.6056, + 4.3097, + 5.6056 + ] + } + ], + "spans": [ + { + "offset": 576, + "length": 3 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 4, + "rowSpan": 1, + "columnSpan": 1, + "content": "UM", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7483, + 5.329, + 5.5639, + 5.329, + 5.5639, + 5.6056, + 4.7483, + 5.6056 + ] + } + ], + "spans": [ + { + "offset": 580, + "length": 2 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 5, + "rowSpan": 1, + "columnSpan": 1, + "content": "PRICE", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 5.5639, + 5.329, + 6.495, + 5.329, + 6.495, + 5.6056, + 5.5639, + 5.6056 + ] + } + ], + "spans": [ + { + "offset": 583, + "length": 5 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 6, + "rowSpan": 1, + "columnSpan": 1, + "content": "TAX", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.495, + 5.329, + 7.1875, + 5.329, + 7.1952, + 5.6056, + 6.495, + 5.6056 + ] + } + ], + "spans": [ + { + "offset": 589, + "length": 3 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 7, + "rowSpan": 1, + "columnSpan": 1, + "content": "AMOUNT", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.1875, + 5.329, + 7.9954, + 5.329, + 7.9954, + 5.598, + 7.1952, + 5.6056 + ] + } + ], + "spans": [ + { + "offset": 593, + "length": 6 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "3/4/2021", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5009, + 5.6056, + 1.3011, + 5.6056, + 1.3011, + 5.8976, + 0.5009, + 5.8976 + ] + } + ], + "spans": [ + { + "offset": 600, + "length": 8 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "A123", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.3011, + 5.6056, + 2.2399, + 5.6056, + 2.2322, + 5.8976, + 1.3011, + 5.8976 + ] + } + ], + "spans": [ + { + "offset": 609, + "length": 4 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 2, + "rowSpan": 1, + "columnSpan": 1, + "content": "Consulting Services", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 2.2399, + 5.6056, + 4.3097, + 5.6056, + 4.3097, + 5.8976, + 2.2322, + 5.8976 + ] + } + ], + "spans": [ + { + "offset": 614, + "length": 19 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 3, + "rowSpan": 1, + "columnSpan": 1, + "content": "2 :unselected:", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.3097, + 5.6056, + 4.7483, + 5.6056, + 4.7483, + 5.8976, + 4.3097, + 5.8976 + ] + } + ], + "spans": [ + { + "offset": 634, + "length": 1 + }, + { + "offset": 946, + "length": 12 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 4, + "rowSpan": 1, + "columnSpan": 1, + "content": "hours", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7483, + 5.6056, + 5.5639, + 5.6056, + 5.5639, + 5.8976, + 4.7483, + 5.8976 + ] + } + ], + "spans": [ + { + "offset": 636, + "length": 5 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 5, + "rowSpan": 1, + "columnSpan": 1, + "content": "$30.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 5.5639, + 5.6056, + 6.495, + 5.6056, + 6.495, + 5.8976, + 5.5639, + 5.8976 + ] + } + ], + "spans": [ + { + "offset": 642, + "length": 6 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 6, + "rowSpan": 1, + "columnSpan": 1, + "content": "10%", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.495, + 5.6056, + 7.1952, + 5.6056, + 7.1952, + 5.8976, + 6.495, + 5.8976 + ] + } + ], + "spans": [ + { + "offset": 649, + "length": 3 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 7, + "rowSpan": 1, + "columnSpan": 1, + "content": "$60.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.1952, + 5.6056, + 7.9954, + 5.598, + 7.9954, + 5.9053, + 7.1952, + 5.8976 + ] + } + ], + "spans": [ + { + "offset": 653, + "length": 6 + } + ] + }, + { + "rowIndex": 2, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "3/5/2021", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5009, + 5.8976, + 1.3011, + 5.8976, + 1.3011, + 6.1973, + 0.5086, + 6.1973 + ] + } + ], + "spans": [ + { + "offset": 660, + "length": 8 + } + ] + }, + { + "rowIndex": 2, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "B456", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.3011, + 5.8976, + 2.2322, + 5.8976, + 2.2245, + 6.1973, + 1.3011, + 6.1973 + ] + } + ], + "spans": [ + { + "offset": 669, + "length": 4 + } + ] + }, + { + "rowIndex": 2, + "columnIndex": 2, + "rowSpan": 1, + "columnSpan": 1, + "content": "Document Fee", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 2.2322, + 5.8976, + 4.3097, + 5.8976, + 4.3097, + 6.1973, + 2.2245, + 6.1973 + ] + } + ], + "spans": [ + { + "offset": 674, + "length": 12 + } + ] + }, + { + "rowIndex": 2, + "columnIndex": 3, + "rowSpan": 1, + "columnSpan": 1, + "content": "3", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.3097, + 5.8976, + 4.7483, + 5.8976, + 4.7483, + 6.1973, + 4.3097, + 6.1973 + ] + } + ], + "spans": [ + { + "offset": 687, + "length": 1 + } + ] + }, + { + "rowIndex": 2, + "columnIndex": 4, + "rowSpan": 1, + "columnSpan": 1, + "content": "", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7483, + 5.8976, + 5.5639, + 5.8976, + 5.5639, + 6.1973, + 4.7483, + 6.1973 + ] + } + ], + "spans": [] + }, + { + "rowIndex": 2, + "columnIndex": 5, + "rowSpan": 1, + "columnSpan": 1, + "content": "$10.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 5.5639, + 5.8976, + 6.495, + 5.8976, + 6.495, + 6.1973, + 5.5639, + 6.1973 + ] + } + ], + "spans": [ + { + "offset": 689, + "length": 6 + } + ] + }, + { + "rowIndex": 2, + "columnIndex": 6, + "rowSpan": 1, + "columnSpan": 1, + "content": "5%", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.495, + 5.8976, + 7.1952, + 5.8976, + 7.1952, + 6.1973, + 6.495, + 6.1973 + ] + } + ], + "spans": [ + { + "offset": 696, + "length": 2 + } + ] + }, + { + "rowIndex": 2, + "columnIndex": 7, + "rowSpan": 1, + "columnSpan": 1, + "content": "$30.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.1952, + 5.8976, + 7.9954, + 5.9053, + 7.9954, + 6.1896, + 7.1952, + 6.1973 + ] + } + ], + "spans": [ + { + "offset": 699, + "length": 6 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "3/6/2021", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5086, + 6.1973, + 1.3011, + 6.1973, + 1.3011, + 6.4969, + 0.5086, + 6.4969 + ] + } + ], + "spans": [ + { + "offset": 706, + "length": 8 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "C789", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.3011, + 6.1973, + 2.2245, + 6.1973, + 2.2245, + 6.4969, + 1.3011, + 6.4969 + ] + } + ], + "spans": [ + { + "offset": 715, + "length": 4 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 2, + "rowSpan": 1, + "columnSpan": 1, + "content": "Printing Fee", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 2.2245, + 6.1973, + 4.3097, + 6.1973, + 4.3097, + 6.4969, + 2.2245, + 6.4969 + ] + } + ], + "spans": [ + { + "offset": 720, + "length": 12 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 3, + "rowSpan": 1, + "columnSpan": 1, + "content": "10", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.3097, + 6.1973, + 4.7483, + 6.1973, + 4.7483, + 6.4969, + 4.3097, + 6.4969 + ] + } + ], + "spans": [ + { + "offset": 733, + "length": 2 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 4, + "rowSpan": 1, + "columnSpan": 1, + "content": "pages", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7483, + 6.1973, + 5.5639, + 6.1973, + 5.5639, + 6.4969, + 4.7483, + 6.4969 + ] + } + ], + "spans": [ + { + "offset": 736, + "length": 5 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 5, + "rowSpan": 1, + "columnSpan": 1, + "content": "$1.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 5.5639, + 6.1973, + 6.495, + 6.1973, + 6.495, + 6.4969, + 5.5639, + 6.4969 + ] + } + ], + "spans": [ + { + "offset": 742, + "length": 5 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 6, + "rowSpan": 1, + "columnSpan": 1, + "content": "20%", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.495, + 6.1973, + 7.1952, + 6.1973, + 7.1952, + 6.4969, + 6.495, + 6.4969 + ] + } + ], + "spans": [ + { + "offset": 748, + "length": 3 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 7, + "rowSpan": 1, + "columnSpan": 1, + "content": "$10.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.1952, + 6.1973, + 7.9954, + 6.1896, + 7.9954, + 6.5046, + 7.1952, + 6.4969 + ] + } + ], + "spans": [ + { + "offset": 752, + "length": 6 + } + ] + } + ], + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.4901, + 5.3293, + 7.9946, + 5.3289, + 7.9954, + 6.5019, + 0.4906, + 6.502 + ] + } + ], + "spans": [ + { + "offset": 549, + "length": 209 + }, + { + "offset": 946, + "length": 12 + } + ] + }, + { + "rowCount": 2, + "columnCount": 6, + "cells": [ + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "SALESPERSON", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.4977, + 4.565, + 1.8042, + 4.565, + 1.8119, + 4.8388, + 0.5054, + 4.8388 + ] + } + ], + "spans": [ + { + "offset": 472, + "length": 11 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "P.O. NUMBER", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.8042, + 4.565, + 3.3105, + 4.565, + 3.3105, + 4.8388, + 1.8119, + 4.8388 + ] + } + ], + "spans": [ + { + "offset": 484, + "length": 11 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 2, + "rowSpan": 1, + "columnSpan": 1, + "content": "REQUISITIONER", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 3.3105, + 4.565, + 4.6939, + 4.565, + 4.6862, + 4.8388, + 3.3105, + 4.8388 + ] + } + ], + "spans": [ + { + "offset": 496, + "length": 13 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 3, + "rowSpan": 1, + "columnSpan": 1, + "content": "SHIPPED VIA", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.6939, + 4.565, + 5.7468, + 4.565, + 5.7468, + 4.8388, + 4.6862, + 4.8388 + ] + } + ], + "spans": [ + { + "offset": 510, + "length": 11 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 4, + "rowSpan": 1, + "columnSpan": 1, + "content": "F.O.B. POINT", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 5.7468, + 4.565, + 6.815, + 4.565, + 6.815, + 4.8388, + 5.7468, + 4.8388 + ] + } + ], + "spans": [ + { + "offset": 522, + "length": 12 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 5, + "rowSpan": 1, + "columnSpan": 1, + "content": "TERMS", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.815, + 4.565, + 7.9985, + 4.565, + 7.9985, + 4.8388, + 6.815, + 4.8388 + ] + } + ], + "spans": [ + { + "offset": 535, + "length": 5 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5054, + 4.8388, + 1.8119, + 4.8388, + 1.8119, + 5.1058, + 0.5131, + 5.1058 + ] + } + ], + "spans": [] + }, + { + "rowIndex": 1, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "PO-3333", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.8119, + 4.8388, + 3.3105, + 4.8388, + 3.3105, + 5.1058, + 1.8119, + 5.1058 + ] + } + ], + "spans": [ + { + "offset": 541, + "length": 7 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 2, + "rowSpan": 1, + "columnSpan": 1, + "content": "", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 3.3105, + 4.8388, + 4.6862, + 4.8388, + 4.6862, + 5.1058, + 3.3105, + 5.1058 + ] + } + ], + "spans": [] + }, + { + "rowIndex": 1, + "columnIndex": 3, + "rowSpan": 1, + "columnSpan": 1, + "content": "", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.6862, + 4.8388, + 5.7468, + 4.8388, + 5.7468, + 5.1058, + 4.6862, + 5.1058 + ] + } + ], + "spans": [] + }, + { + "rowIndex": 1, + "columnIndex": 4, + "rowSpan": 1, + "columnSpan": 1, + "content": "", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 5.7468, + 4.8388, + 6.815, + 4.8388, + 6.815, + 5.1058, + 5.7468, + 5.1058 + ] + } + ], + "spans": [] + }, + { + "rowIndex": 1, + "columnIndex": 5, + "rowSpan": 1, + "columnSpan": 1, + "content": "", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.815, + 4.8388, + 7.9985, + 4.8388, + 7.9985, + 5.1125, + 6.815, + 5.1058 + ] + } + ], + "spans": [] + } + ], + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.4971, + 4.565, + 7.9889, + 4.5653, + 7.989, + 5.1146, + 0.4963, + 5.1141 + ] + } + ], + "spans": [ + { + "offset": 472, + "length": 76 + } + ] + }, + { + "rowCount": 5, + "columnCount": 2, + "cells": [ + { + "rowIndex": 0, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "SUBTOTAL", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7474, + 6.7934, + 6.8058, + 6.7934, + 6.8105, + 7.0886, + 4.7474, + 7.0886 + ] + } + ], + "spans": [ + { + "offset": 759, + "length": 8 + } + ] + }, + { + "rowIndex": 0, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "$100.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.8058, + 6.7934, + 7.9981, + 6.7934, + 7.9981, + 7.0934, + 6.8105, + 7.0886 + ] + } + ], + "spans": [ + { + "offset": 768, + "length": 7 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "SALES TAX", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7474, + 7.0886, + 6.8105, + 7.0886, + 6.8105, + 7.3743, + 4.7427, + 7.3743 + ] + } + ], + "spans": [ + { + "offset": 776, + "length": 9 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "$10.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.8105, + 7.0886, + 7.9981, + 7.0934, + 7.9981, + 7.3934, + 6.8105, + 7.3743 + ] + } + ], + "spans": [ + { + "offset": 786, + "length": 6 + } + ] + }, + { + "rowIndex": 2, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "TOTAL", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7427, + 7.3743, + 6.8105, + 7.3743, + 6.8105, + 7.6839, + 4.7427, + 7.6839 + ] + } + ], + "spans": [ + { + "offset": 793, + "length": 5 + } + ] + }, + { + "rowIndex": 2, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "$110.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.8105, + 7.3743, + 7.9981, + 7.3934, + 7.9981, + 7.6886, + 6.8105, + 7.6839 + ] + } + ], + "spans": [ + { + "offset": 799, + "length": 7 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "PREVIOUS UNPAID BALANCE", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7427, + 7.6839, + 6.8105, + 7.6839, + 6.8105, + 7.9743, + 4.7427, + 7.9743 + ] + } + ], + "spans": [ + { + "offset": 807, + "length": 23 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "$500.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.8105, + 7.6839, + 7.9981, + 7.6886, + 7.9981, + 7.9839, + 6.8105, + 7.9743 + ] + } + ], + "spans": [ + { + "offset": 831, + "length": 7 + } + ] + }, + { + "rowIndex": 4, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "AMOUNT DUE", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7427, + 7.9743, + 6.8105, + 7.9743, + 6.8105, + 8.2839, + 4.7381, + 8.2839 + ] + } + ], + "spans": [ + { + "offset": 839, + "length": 10 + } + ] + }, + { + "rowIndex": 4, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "$610.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.8105, + 7.9743, + 7.9981, + 7.9839, + 7.9981, + 8.2839, + 6.8105, + 8.2839 + ] + } + ], + "spans": [ + { + "offset": 850, + "length": 7 + } + ] + } + ], + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7456, + 6.7793, + 8.0143, + 6.7788, + 8.0137, + 8.2981, + 4.7446, + 8.2981 + ] + } + ], + "spans": [ + { + "offset": 759, + "length": 98 + } + ] + } + ], + "documents": [ + { + "docType": "prebuilt:invoice", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0, + 0, + 8.5, + 0, + 8.5, + 11, + 0, + 11 + ] + } + ], + "fields": { + "AmountDue": { + "type": "number", + "valueNumber": 610, + "content": "$610.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.3842, + 8.0584, + 7.9181, + 8.0584, + 7.9181, + 8.2022, + 7.3842, + 8.2022 + ] + } + ], + "confidence": 0.973, + "spans": [ + { + "offset": 850, + "length": 7 + } + ] + }, + "BillingAddress": { + "type": "string", + "valueString": "123 Bill St, Redmond WA, 98052", + "content": "123 Bill St, Redmond WA, 98052", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5943, + 3.9681, + 2.0083, + 3.9681, + 2.0083, + 4.3082, + 0.5943, + 4.3082 + ] + } + ], + "confidence": 0.947, + "spans": [ + { + "offset": 376, + "length": 12 + }, + { + "offset": 418, + "length": 17 + } + ] + }, + "BillingAddressRecipient": { + "type": "string", + "valueString": "Microsoft Finance", + "content": "Microsoft Finance", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5943, + 3.7641, + 1.7878, + 3.7641, + 1.7878, + 3.8794, + 0.5943, + 3.8794 + ] + } + ], + "confidence": 0.957, + "spans": [ + { + "offset": 320, + "length": 17 + } + ] + }, + "CustomerAddress": { + "type": "string", + "valueString": "123 Other St, Redmond WA, 98052", + "content": "123 Other St, Redmond WA, 98052", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5943, + 2.8476, + 2.0083, + 2.8476, + 2.0083, + 3.1878, + 0.5943, + 3.1878 + ] + } + ], + "confidence": 0.947, + "spans": [ + { + "offset": 253, + "length": 31 + } + ] + }, + "CustomerAddressRecipient": { + "type": "string", + "valueString": "Microsoft Corp", + "content": "Microsoft Corp", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5943, + 2.6436, + 1.586, + 2.6436, + 1.586, + 2.7871, + 0.5943, + 2.7871 + ] + } + ], + "confidence": 0.956, + "spans": [ + { + "offset": 238, + "length": 14 + } + ] + }, + "CustomerId": { + "type": "string", + "valueString": "CID-12345", + "content": "CID-12345", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.3369, + 2.4491, + 7.9951, + 2.4491, + 7.9951, + 2.5486, + 7.3369, + 2.5486 + ] + } + ], + "confidence": 0.964, + "spans": [ + { + "offset": 228, + "length": 9 + } + ] + }, + "CustomerName": { + "type": "string", + "valueString": "MICROSOFT CORPORATION", + "content": "MICROSOFT CORPORATION", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.2419, + 2.0391, + 7.9825, + 2.0391, + 7.9825, + 2.1386, + 6.2419, + 2.1386 + ] + } + ], + "confidence": 0.949, + "spans": [ + { + "offset": 153, + "length": 21 + } + ] + }, + "DueDate": { + "type": "date", + "valueDate": "2019-12-15", + "content": "12/15/2019", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.2494, + 1.8206, + 7.993, + 1.8206, + 7.993, + 1.9515, + 7.2494, + 1.9515 + ] + } + ], + "confidence": 0.973, + "spans": [ + { + "offset": 127, + "length": 10 + } + ] + }, + "InvoiceDate": { + "type": "date", + "valueDate": "2019-11-15", + "content": "11/15/2019", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.2528, + 1.6139, + 7.993, + 1.6139, + 7.993, + 1.7449, + 7.2528, + 1.7449 + ] + } + ], + "confidence": 0.972, + "spans": [ + { + "offset": 86, + "length": 10 + } + ] + }, + "InvoiceId": { + "type": "string", + "valueString": "INV-100", + "content": "INV-100", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.4959, + 1.422, + 7.9988, + 1.422, + 7.9988, + 1.5215, + 7.4959, + 1.5215 + ] + } + ], + "confidence": 0.973, + "spans": [ + { + "offset": 51, + "length": 7 + } + ] + }, + "InvoiceTotal": { + "type": "number", + "valueNumber": 110, + "content": "$110.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.3842, + 7.465, + 7.9181, + 7.465, + 7.9181, + 7.6089, + 7.3842, + 7.6089 + ] + } + ], + "confidence": 0.973, + "spans": [ + { + "offset": 799, + "length": 7 + } + ] + }, + "Items": { + "type": "array", + "valueArray": [ + { + "type": "object", + "valueObject": { + "Amount": { + "type": "number", + "valueNumber": 60, + "content": "$60.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.4642, + 5.6777, + 7.9116, + 5.6777, + 7.9116, + 5.8215, + 7.4642, + 5.8215 + ] + } + ], + "confidence": 0.902, + "spans": [ + { + "offset": 653, + "length": 6 + } + ] + }, + "Date": { + "type": "date", + "valueDate": "2021-03-04", + "content": "3/4/2021", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.592, + 5.682, + 1.2092, + 5.682, + 1.2092, + 5.8243, + 0.592, + 5.8243 + ] + } + ], + "confidence": 0.938, + "spans": [ + { + "offset": 600, + "length": 8 + } + ] + }, + "Description": { + "type": "string", + "valueString": "Consulting Services", + "content": "Consulting Services", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 2.3388, + 5.6883, + 3.6278, + 5.6883, + 3.6278, + 5.8312, + 2.3388, + 5.8312 + ] + } + ], + "confidence": 0.9, + "spans": [ + { + "offset": 614, + "length": 19 + } + ] + }, + "ProductCode": { + "type": "string", + "valueString": "A123", + "content": "A123", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.6069, + 5.6948, + 1.9417, + 5.6948, + 1.9417, + 5.803, + 1.6069, + 5.803 + ] + } + ], + "confidence": 0.877, + "spans": [ + { + "offset": 609, + "length": 4 + } + ] + }, + "Quantity": { + "type": "number", + "valueNumber": 2, + "content": "2", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.5977, + 5.6948, + 4.6635, + 5.6948, + 4.6635, + 5.8017, + 4.5977, + 5.8017 + ] + } + ], + "confidence": 0.899, + "spans": [ + { + "offset": 634, + "length": 1 + } + ] + }, + "Tax": { + "type": "number", + "content": "10%", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.7168, + 5.6932, + 6.9826, + 5.6932, + 6.9826, + 5.8045, + 6.7168, + 5.8045 + ] + } + ], + "confidence": 0.78, + "spans": [ + { + "offset": 649, + "length": 3 + } + ] + }, + "Unit": { + "type": "string", + "valueString": "hours", + "content": "hours", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.8444, + 5.6883, + 5.2071, + 5.6883, + 5.2071, + 5.803, + 4.8444, + 5.803 + ] + } + ], + "confidence": 0.899, + "spans": [ + { + "offset": 636, + "length": 5 + } + ] + }, + "UnitPrice": { + "type": "number", + "valueNumber": 30, + "content": "$30.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 5.9669, + 5.6777, + 6.4142, + 5.6777, + 6.4142, + 5.8215, + 5.9669, + 5.8215 + ] + } + ], + "confidence": 0.828, + "spans": [ + { + "offset": 642, + "length": 6 + } + ] + } + }, + "content": "3/4/2021 A123 Consulting Services 2 hours $30.00 10% $60.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.592, + 5.6777, + 7.9116, + 5.6777, + 7.9116, + 5.8312, + 0.592, + 5.8312 + ] + } + ], + "confidence": 0.955, + "spans": [ + { + "offset": 600, + "length": 59 + } + ] + }, + { + "type": "object", + "valueObject": { + "Amount": { + "type": "number", + "valueNumber": 30, + "content": "$30.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.4642, + 5.9743, + 7.9116, + 5.9743, + 7.9116, + 6.1182, + 7.4642, + 6.1182 + ] + } + ], + "confidence": 0.916, + "spans": [ + { + "offset": 699, + "length": 6 + } + ] + }, + "Date": { + "type": "date", + "valueDate": "2021-03-05", + "content": "3/5/2021", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.592, + 5.9787, + 1.2088, + 5.9787, + 1.2088, + 6.121, + 0.592, + 6.121 + ] + } + ], + "confidence": 0.902, + "spans": [ + { + "offset": 660, + "length": 8 + } + ] + }, + "Description": { + "type": "string", + "valueString": "Document Fee", + "content": "Document Fee", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 2.345, + 5.993, + 3.3096, + 5.993, + 3.3096, + 6.0997, + 2.345, + 6.0997 + ] + } + ], + "confidence": 0.901, + "spans": [ + { + "offset": 674, + "length": 12 + } + ] + }, + "ProductCode": { + "type": "string", + "valueString": "B456", + "content": "B456", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.6214, + 5.9915, + 1.9419, + 5.9915, + 1.9419, + 6.0997, + 1.6214, + 6.0997 + ] + } + ], + "confidence": 0.886, + "spans": [ + { + "offset": 669, + "length": 4 + } + ] + }, + "Quantity": { + "type": "number", + "valueNumber": 3, + "content": "3", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.5967, + 5.9915, + 4.6627, + 5.9915, + 4.6627, + 6.0997, + 4.5967, + 6.0997 + ] + } + ], + "confidence": 0.898, + "spans": [ + { + "offset": 687, + "length": 1 + } + ] + }, + "Tax": { + "type": "number", + "content": "5%", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.7508, + 5.9898, + 6.9393, + 5.9898, + 6.9393, + 6.1012, + 6.7508, + 6.1012 + ] + } + ], + "confidence": 0.772, + "spans": [ + { + "offset": 696, + "length": 2 + } + ] + }, + "UnitPrice": { + "type": "number", + "valueNumber": 10, + "content": "$10.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 5.9669, + 5.9743, + 6.4142, + 5.9743, + 6.4142, + 6.1182, + 5.9669, + 6.1182 + ] + } + ], + "confidence": 0.831, + "spans": [ + { + "offset": 689, + "length": 6 + } + ] + } + }, + "content": "3/5/2021 B456 Document Fee 3 $10.00 5% $30.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.592, + 5.9743, + 7.9116, + 5.9743, + 7.9116, + 6.121, + 0.592, + 6.121 + ] + } + ], + "confidence": 0.941, + "spans": [ + { + "offset": 660, + "length": 45 + } + ] + }, + { + "type": "object", + "valueObject": { + "Amount": { + "type": "number", + "valueNumber": 10, + "content": "$10.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.4642, + 6.2746, + 7.9116, + 6.2746, + 7.9116, + 6.4184, + 7.4642, + 6.4184 + ] + } + ], + "confidence": 0.959, + "spans": [ + { + "offset": 752, + "length": 6 + } + ] + }, + "Date": { + "type": "date", + "valueDate": "2021-03-06", + "content": "3/6/2021", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.592, + 6.2789, + 1.2088, + 6.2789, + 1.2088, + 6.4213, + 0.592, + 6.4213 + ] + } + ], + "confidence": 0.903, + "spans": [ + { + "offset": 706, + "length": 8 + } + ] + }, + "Description": { + "type": "string", + "valueString": "Printing Fee", + "content": "Printing Fee", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 2.345, + 6.2906, + 3.1351, + 6.2906, + 3.1351, + 6.4281, + 2.345, + 6.4281 + ] + } + ], + "confidence": 0.899, + "spans": [ + { + "offset": 720, + "length": 12 + } + ] + }, + "ProductCode": { + "type": "string", + "valueString": "C789", + "content": "C789", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.6152, + 6.2918, + 1.94, + 6.2918, + 1.94, + 6.3999, + 1.6152, + 6.3999 + ] + } + ], + "confidence": 0.898, + "spans": [ + { + "offset": 715, + "length": 4 + } + ] + }, + "Quantity": { + "type": "number", + "valueNumber": 10, + "content": "10", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.5158, + 6.2918, + 4.6637, + 6.2918, + 4.6637, + 6.3999, + 4.5158, + 6.3999 + ] + } + ], + "confidence": 0.903, + "spans": [ + { + "offset": 733, + "length": 2 + } + ] + }, + "Tax": { + "type": "number", + "content": "20%", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.712, + 6.2901, + 6.9826, + 6.2901, + 6.9826, + 6.4014, + 6.712, + 6.4014 + ] + } + ], + "confidence": 0.791, + "spans": [ + { + "offset": 748, + "length": 3 + } + ] + }, + "Unit": { + "type": "string", + "valueString": "pages", + "content": "pages", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.8444, + 6.3196, + 5.2199, + 6.3196, + 5.2199, + 6.4281, + 4.8444, + 6.4281 + ] + } + ], + "confidence": 0.899, + "spans": [ + { + "offset": 736, + "length": 5 + } + ] + }, + "UnitPrice": { + "type": "number", + "valueNumber": 1, + "content": "$1.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.0502, + 6.2746, + 6.4142, + 6.2746, + 6.4142, + 6.4184, + 6.0502, + 6.4184 + ] + } + ], + "confidence": 0.829, + "spans": [ + { + "offset": 742, + "length": 5 + } + ] + } + }, + "content": "3/6/2021 C789 Printing Fee 10 pages $1.00 20% $10.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.592, + 6.2746, + 7.9116, + 6.2746, + 7.9116, + 6.4281, + 0.592, + 6.4281 + ] + } + ], + "confidence": 0.956, + "spans": [ + { + "offset": 706, + "length": 52 + } + ] + } + ] + }, + "Locale": { + "type": "string", + "valueString": "en-US", + "confidence": 1 + }, + "PreviousUnpaidBalance": { + "type": "number", + "valueNumber": 500, + "content": "$500.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.3842, + 7.7617, + 7.9181, + 7.7617, + 7.9181, + 7.9055, + 7.3842, + 7.9055 + ] + } + ], + "confidence": 0.962, + "spans": [ + { + "offset": 831, + "length": 7 + } + ] + }, + "PurchaseOrder": { + "type": "string", + "valueString": "PO-3333", + "content": "PO-3333", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.9114, + 4.9282, + 2.4718, + 4.9282, + 2.4718, + 5.0363, + 1.9114, + 5.0363 + ] + } + ], + "confidence": 0.967, + "spans": [ + { + "offset": 541, + "length": 7 + } + ] + }, + "RemittanceAddress": { + "type": "string", + "valueString": "123 Remit St New York, NY, 10001", + "content": "123 Remit St New York, NY, 10001", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5943, + 9.5717, + 1.9882, + 9.5717, + 1.9882, + 9.9098, + 0.5943, + 9.9098 + ] + } + ], + "confidence": 0.946, + "spans": [ + { + "offset": 913, + "length": 32 + } + ] + }, + "RemittanceAddressRecipient": { + "type": "string", + "valueString": "Contoso Billing", + "content": "Contoso Billing", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5882, + 9.3631, + 1.5828, + 9.3631, + 1.5828, + 9.5059, + 0.5882, + 9.5059 + ] + } + ], + "confidence": 0.956, + "spans": [ + { + "offset": 897, + "length": 15 + } + ] + }, + "ServiceAddress": { + "type": "string", + "valueString": "123 Service St, Redmond WA, 98052", + "content": "123 Service St, Redmond WA, 98052", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.2197, + 3.9734, + 7.6337, + 3.9734, + 7.6337, + 4.3082, + 6.2197, + 4.3082 + ] + } + ], + "confidence": 0.946, + "spans": [ + { + "offset": 402, + "length": 15 + }, + { + "offset": 454, + "length": 17 + } + ] + }, + "ServiceAddressRecipient": { + "type": "string", + "valueString": "Microsoft Services", + "content": "Microsoft Services", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.2197, + 3.7641, + 7.4427, + 3.7641, + 7.4427, + 3.8794, + 6.2197, + 3.8794 + ] + } + ], + "confidence": 0.951, + "spans": [ + { + "offset": 357, + "length": 18 + } + ] + }, + "ServiceEndDate": { + "type": "date", + "valueDate": "2019-11-14", + "content": "11/14/2019", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.2528, + 2.2306, + 7.9952, + 2.2306, + 7.9952, + 2.3615, + 7.2528, + 2.3615 + ] + } + ], + "confidence": 0.973, + "spans": [ + { + "offset": 204, + "length": 10 + } + ] + }, + "ServiceStartDate": { + "type": "date", + "valueDate": "2019-10-14", + "content": "10/14/2019", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.3357, + 2.2306, + 7.0749, + 2.2306, + 7.0749, + 2.3615, + 6.3357, + 2.3615 + ] + } + ], + "confidence": 0.973, + "spans": [ + { + "offset": 191, + "length": 10 + } + ] + }, + "ShippingAddress": { + "type": "string", + "valueString": "123 Ship St, Redmond WA, 98052", + "content": "123 Ship St, Redmond WA, 98052", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 3.3454, + 3.9681, + 4.7594, + 3.9681, + 4.7594, + 4.3082, + 3.3454, + 4.3082 + ] + } + ], + "confidence": 0.946, + "spans": [ + { + "offset": 389, + "length": 12 + }, + { + "offset": 436, + "length": 17 + } + ] + }, + "ShippingAddressRecipient": { + "type": "string", + "valueString": "Microsoft Delivery", + "content": "Microsoft Delivery", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 3.3454, + 3.7641, + 4.5762, + 3.7641, + 4.5762, + 3.9076, + 3.3454, + 3.9076 + ] + } + ], + "confidence": 0.955, + "spans": [ + { + "offset": 338, + "length": 18 + } + ] + }, + "SubTotal": { + "type": "number", + "valueNumber": 100, + "content": "$100.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.3842, + 6.8679, + 7.9181, + 6.8679, + 7.9181, + 7.0118, + 7.3842, + 7.0118 + ] + } + ], + "confidence": 0.973, + "spans": [ + { + "offset": 768, + "length": 7 + } + ] + }, + "TotalTax": { + "type": "number", + "valueNumber": 10, + "content": "$10.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.4709, + 7.165, + 7.9182, + 7.165, + 7.9182, + 7.3089, + 7.4709, + 7.3089 + ] + } + ], + "confidence": 0.973, + "spans": [ + { + "offset": 786, + "length": 6 + } + ] + }, + "VendorAddress": { + "type": "string", + "valueString": "123 456th St New York, NY, 10001", + "content": "123 456th St New York, NY, 10001", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5943, + 1.6092, + 1.9894, + 1.6092, + 1.9894, + 1.9675, + 0.5943, + 1.9675 + ] + } + ], + "confidence": 0.946, + "spans": [ + { + "offset": 59, + "length": 12 + }, + { + "offset": 97, + "length": 19 + } + ] + }, + "VendorAddressRecipient": { + "type": "string", + "valueString": "Contoso Headquarters", + "content": "Contoso Headquarters", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5882, + 1.4239, + 2.0978, + 1.4239, + 2.0978, + 1.5664, + 0.5882, + 1.5664 + ] + } + ], + "confidence": 0.956, + "spans": [ + { + "offset": 21, + "length": 20 + } + ] + }, + "VendorName": { + "type": "string", + "valueString": "CONTOSO LTD.", + "content": "CONTOSO LTD.", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5911, + 0.6857, + 2.3181, + 0.6857, + 2.3181, + 0.8664, + 0.5911, + 0.8664 + ] + } + ], + "confidence": 0.956, + "spans": [ + { + "offset": 0, + "length": 12 + } + ] + } + }, + "confidence": 1, + "spans": [ + { + "offset": 0, + "length": 958 + } + ] + } + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetInfo.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetInfo.json new file mode 100644 index 000000000000..8134190378cf --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetInfo.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}" + }, + "responses": { + "200": { + "body": { + "customDocumentModels": { + "count": 2, + "limit": 13 + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetModel_Custom.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetModel_Custom.json new file mode 100644 index 000000000000..ecb16b5970f1 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetModel_Custom.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "modelId": "{customModelId}" + }, + "responses": { + "200": { + "body": { + "modelId": "{customModelId}", + "description": "{customModelDescription}", + "createdDateTime": "2021-09-24T12:54:35Z", + "docTypes": { + "{docType}": { + "fieldSchema": { + "Name": { + "type": "string" + }, + "Date": { + "type": "date" + }, + "Amount": { + "type": "number" + } + }, + "fieldConfidence": { + "Name": 0.9, + "Date": 0.95, + "Amount": 0.93 + } + } + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetModel_Prebuilt.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetModel_Prebuilt.json new file mode 100644 index 000000000000..7575792c3744 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetModel_Prebuilt.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "modelId": "prebuilt-invoice" + }, + "responses": { + "200": { + "body": { + "modelId": "prebuilt-invoice", + "description": "Prebuilt model to extract key information from English invoices, including customer, vendor, invoice ID, due date, total, and more.", + "createdDateTime": "2021-07-30T00:00:00Z", + "docTypes": { + "prebuilt:invoice": { + "fieldSchema": { + "CustomerName": { + "type": "string" + }, + "CustomerId": { + "type": "string" + }, + "PurchaseOrder": { + "type": "string" + }, + "InvoiceId": { + "type": "string" + }, + "InvoiceDate": { + "type": "date" + }, + "DueDate": { + "type": "date" + }, + "VendorName": { + "type": "string" + }, + "VendorAddress": { + "type": "string" + }, + "VendorAddressRecipient": { + "type": "string" + }, + "CustomerAddress": { + "type": "string" + }, + "CustomerAddressRecipient": { + "type": "string" + }, + "BillingAddress": { + "type": "string" + }, + "BillingAddressRecipient": { + "type": "string" + }, + "ShippingAddress": { + "type": "string" + }, + "ShippingAddressRecipient": { + "type": "string" + }, + "SubTotal": { + "type": "number" + }, + "TotalTax": { + "type": "number" + }, + "InvoiceTotal": { + "type": "number" + }, + "AmountDue": { + "type": "number" + }, + "PreviousUnpaidBalance": { + "type": "number" + }, + "RemittanceAddress": { + "type": "string" + }, + "RemittanceAddressRecipient": { + "type": "string" + }, + "ServiceAddress": { + "type": "string" + }, + "ServiceAddressRecipient": { + "type": "string" + }, + "ServiceStartDate": { + "type": "date" + }, + "ServiceEndDate": { + "type": "date" + }, + "Items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "Amount": { + "type": "number" + }, + "Date": { + "type": "date" + }, + "Description": { + "type": "string" + }, + "Quantity": { + "type": "number" + }, + "ProductCode": { + "type": "string" + }, + "Tax": { + "type": "number" + }, + "Unit": { + "type": "string" + }, + "UnitPrice": { + "type": "number" + } + } + } + } + } + } + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetModels.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetModels.json new file mode 100644 index 000000000000..a1454ab37af2 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetModels.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "modelId": "prebuilt-layout", + "createdDateTime": "2021-07-30T00:00:00Z", + "description": "Prebuilt model to extract text, selection marks, tables, and other layout information." + }, + { + "modelId": "myCustomModel", + "createdDateTime": "2021-09-24T12:54:35Z", + "description": "{modelDescription}" + } + ], + "nextLink": "{nextLinkUrl}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetOperation.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetOperation.json new file mode 100644 index 000000000000..da118b298cf3 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetOperation.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "operationId": "{operationId}" + }, + "responses": { + "200": { + "body": { + "operationId": "31533879936_426a3e4c-c6fb-4c83-937c-a92414c371a4", + "status": "succeeded", + "percentCompleted": 100, + "createdDateTime": "2021-09-23T09:12:57Z", + "lastUpdatedDateTime": "2021-09-23T09:13:01Z", + "kind": "documentModelBuild", + "resourceLocation": "{endpoint}/formrecognizer/documentModels/{modelId}", + "result": { + "modelId": "{customModelId}", + "description": "{customModelDescription}", + "createdDateTime": "2021-09-23T09:13:01Z", + "docTypes": { + "{docType}": { + "fieldSchema": { + "Name": { + "type": "string" + }, + "Date": { + "type": "date" + }, + "Amount": { + "type": "number" + } + }, + "fieldConfidence": { + "Name": 0.9, + "Date": 0.95, + "Amount": 0.93 + } + } + } + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetOperations.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetOperations.json new file mode 100644 index 000000000000..8c8ebf16e3a7 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetOperations.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "operationId": "{operationId}", + "status": "running", + "percentCompleted": 0, + "createdDateTime": "2021-09-23T09:12:57Z", + "lastUpdatedDateTime": "2021-09-23T09:12:58Z", + "kind": "documentModelBuild", + "resourceLocation": "{endpoint}/formrecognizer/documentModels/{modelId}" + } + ], + "nextLink": "{nextLinkUrl}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/readme.md b/specification/cognitiveservices/data-plane/FormRecognizer/readme.md index 38d0d8a40546..720a546d8a0a 100644 --- a/specification/cognitiveservices/data-plane/FormRecognizer/readme.md +++ b/specification/cognitiveservices/data-plane/FormRecognizer/readme.md @@ -15,6 +15,13 @@ openapi-type: data-plane # Releases +### Release 2021-09-30-preview +These settings apply only when `--tag=2021-09-30-preview` is specified on the command line. +``` yaml $(tag) == '2021-09-30-preview' +input-file: + - preview/2021-09-30-preview/FormRecognizer.json +``` + ### Release 2.1 These settings apply only when `--tag=release_2_1` is specified on the command line. ``` yaml $(tag) == 'release_2_1' @@ -70,6 +77,31 @@ input-file: - preview/v1.0/FormRecognizerReceiptOcr.json ``` + +## Suppression +``` yaml +directive: + - suppress: PATTERN + from: FormRecognizer/preview/2021-09-30-preview/FormRecognizer.json + where: $.parameters.modelId + reason: Bug in example validation + - suppress: LongRunningResponseStatusCode + from: FormRecognizer/preview/2021-09-30-preview/FormRecognizer.json + reason: Latest guidelines recommend 202 for long running operations. + - suppress: ValidFormats + from: FormRecognizer/preview/2021-09-30-preview/FormRecognizer.json + where: + - $.definitions.UrlContentSource.format + - $.definitions.AzureBlobContentSource.properties.containerUrl.format + - $.definitions.DocumentField.properties.valueTime.format + reason: uri and time are valid formats in JsonSchema/Swagger and does not affect SDK. + - suppress: AvoidNestedProperties + from: FormRecognizer/preview/2021-09-30-preview/FormRecognizer.json + where: $.definitions.DocumentFieldSchema.properties.properties + reason: Intentionally trying to mimic JsonSchema with recursion. +``` + + ## Swagger to SDK This section describes what SDK should be generated by the automatic system. diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json index fe5a3d4fcfc1..334cabe3b2ee 100644 --- a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json +++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json @@ -2,7 +2,7 @@ "parameters": { "Endpoint": "{Endpoint}", "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000", - "appId": "11be6373fca44ded80fbe2afa8597c18", + "appId": "c555c6ef-974f-4d73-b573-69feeb4a85f8", "applicationPublishObject": { "versionId": "0.1", "isStaging": false @@ -13,8 +13,8 @@ "headers": {}, "body": { "isStaging": false, - "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/11be6373fca44ded80fbe2afa8597c18", - "assignedEndpointKey": "11be6373fca44ded80fbe2afa8597c18", + "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/c555c6ef-974f-4d73-b573-69feeb4a85f8", + "assignedEndpointKey": null, "endpointRegion": "westus, cus", "failedRegions": null, "publishedDateTime": "2017-11-28T19:20:28Z" @@ -24,8 +24,8 @@ "headers": {}, "body": { "isStaging": false, - "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/11be6373fca44ded80fbe2afa8597c18", - "assignedEndpointKey": "11be6373fca44ded80fbe2afa8597c18", + "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/c555c6ef-974f-4d73-b573-69feeb4a85f8", + "assignedEndpointKey": null, "endpointRegion": "westus, cus", "failedRegions": "cus", "publishedDateTime": "2017-11-28T19:20:28Z" diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json index 0d50a283b553..10e2c9e84d3b 100644 --- a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json +++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json @@ -2,7 +2,7 @@ "parameters": { "Endpoint": "{Endpoint}", "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000", - "appId": "11be6373fca44ded80fbe2afa8597c18", + "appId": "c555c6ef-974f-4d73-b573-69feeb4a85f8", "versionId": "0.1", "skip": 0, "take": 100 diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/apps/SuccessfulPublishApplicationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/apps/SuccessfulPublishApplicationRequest.json index fe5a3d4fcfc1..334cabe3b2ee 100644 --- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/apps/SuccessfulPublishApplicationRequest.json +++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/apps/SuccessfulPublishApplicationRequest.json @@ -2,7 +2,7 @@ "parameters": { "Endpoint": "{Endpoint}", "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000", - "appId": "11be6373fca44ded80fbe2afa8597c18", + "appId": "c555c6ef-974f-4d73-b573-69feeb4a85f8", "applicationPublishObject": { "versionId": "0.1", "isStaging": false @@ -13,8 +13,8 @@ "headers": {}, "body": { "isStaging": false, - "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/11be6373fca44ded80fbe2afa8597c18", - "assignedEndpointKey": "11be6373fca44ded80fbe2afa8597c18", + "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/c555c6ef-974f-4d73-b573-69feeb4a85f8", + "assignedEndpointKey": null, "endpointRegion": "westus, cus", "failedRegions": null, "publishedDateTime": "2017-11-28T19:20:28Z" @@ -24,8 +24,8 @@ "headers": {}, "body": { "isStaging": false, - "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/11be6373fca44ded80fbe2afa8597c18", - "assignedEndpointKey": "11be6373fca44ded80fbe2afa8597c18", + "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/c555c6ef-974f-4d73-b573-69feeb4a85f8", + "assignedEndpointKey": null, "endpointRegion": "westus, cus", "failedRegions": "cus", "publishedDateTime": "2017-11-28T19:20:28Z" diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json index 0d50a283b553..10e2c9e84d3b 100644 --- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json +++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json @@ -2,7 +2,7 @@ "parameters": { "Endpoint": "{Endpoint}", "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000", - "appId": "11be6373fca44ded80fbe2afa8597c18", + "appId": "c555c6ef-974f-4d73-b573-69feeb4a85f8", "versionId": "0.1", "skip": 0, "take": 100 diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json index 7131c8127ee2..c531858e854f 100644 --- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json +++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json @@ -2,7 +2,7 @@ "parameters": { "Endpoint": "{Endpoint}", "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000", - "appId": "11be6373fca44ded80fbe2afa8597c18", + "appId": "c555c6ef-974f-4d73-b573-69feeb4a85f8", "applicationPublishObject": { "versionId": "0.1", "isStaging": false @@ -13,8 +13,8 @@ "headers": {}, "body": { "isStaging": false, - "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v3.0/apps/11be6373fca44ded80fbe2afa8597c18", - "assignedEndpointKey": "11be6373fca44ded80fbe2afa8597c18", + "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v3.0/apps/c555c6ef-974f-4d73-b573-69feeb4a85f8", + "assignedEndpointKey": null, "endpointRegion": "westus, cus", "failedRegions": null, "publishedDateTime": "2017-11-28T19:20:28Z" @@ -24,8 +24,8 @@ "headers": {}, "body": { "isStaging": false, - "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v3.0/apps/11be6373fca44ded80fbe2afa8597c18", - "assignedEndpointKey": "11be6373fca44ded80fbe2afa8597c18", + "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v3.0/apps/c555c6ef-974f-4d73-b573-69feeb4a85f8", + "assignedEndpointKey": null, "endpointRegion": "westus, cus", "failedRegions": "cus", "publishedDateTime": "2017-11-28T19:20:28Z" diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json index 0d50a283b553..10e2c9e84d3b 100644 --- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json +++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json @@ -2,7 +2,7 @@ "parameters": { "Endpoint": "{Endpoint}", "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000", - "appId": "11be6373fca44ded80fbe2afa8597c18", + "appId": "c555c6ef-974f-4d73-b573-69feeb4a85f8", "versionId": "0.1", "skip": 0, "take": 100 diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/common.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/common.json new file mode 100644 index 000000000000..6d864b78286b --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/common.json @@ -0,0 +1,237 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft Cognitive Language Service", + "description": "The language service API is a suite of natural language processing (NLP) skills built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction, language detection and question answering. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview.", + "version": "2021-07-15-preview" + }, + "paths": {}, + "definitions": { + "ErrorResponse": { + "type": "object", + "description": "Error response.", + "additionalProperties": false, + "properties": { + "error": { + "description": "The error object.", + "$ref": "#/definitions/Error" + } + } + }, + "Error": { + "type": "object", + "description": "The error object.", + "additionalProperties": false, + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "description": "One of a server-defined set of error codes.", + "$ref": "#/definitions/ErrorCode" + }, + "message": { + "type": "string", + "description": "A human-readable representation of the error." + }, + "target": { + "type": "string", + "description": "The target of the error." + }, + "details": { + "type": "array", + "description": "An array of details about specific errors that led to this reported error.", + "items": { + "$ref": "#/definitions/Error" + } + }, + "innererror": { + "description": "An object containing more specific information than the current object about the error.", + "$ref": "#/definitions/InnerErrorModel" + } + } + }, + "InnerErrorModel": { + "type": "object", + "description": "An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.", + "additionalProperties": false, + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "description": "One of a server-defined set of error codes.", + "$ref": "#/definitions/InnerErrorCode" + }, + "message": { + "type": "string", + "description": "Error message." + }, + "details": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Error details." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "innererror": { + "description": "An object containing more specific information than the current object about the error.", + "$ref": "#/definitions/InnerErrorModel" + } + } + }, + "ErrorCode": { + "type": "string", + "description": "Human-readable error code.", + "x-ms-enum": { + "name": "ErrorCode", + "modelAsString": true + }, + "enum": [ + "InvalidRequest", + "InvalidArgument", + "Unauthorized", + "Forbidden", + "NotFound", + "ProjectNotFound", + "OperationNotFound", + "AzureCognitiveSearchNotFound", + "AzureCognitiveSearchIndexNotFound", + "TooManyRequests", + "AzureCognitiveSearchThrottling", + "AzureCognitiveSearchIndexLimitReached", + "InternalServerError", + "ServiceUnavailable" + ] + }, + "InnerErrorCode": { + "type": "string", + "description": "Human-readable error code.", + "x-ms-enum": { + "name": "InnerErrorCode", + "modelAsString": true + }, + "enum": [ + "InvalidRequest", + "InvalidParameterValue", + "KnowledgeBaseNotFound", + "AzureCognitiveSearchNotFound", + "AzureCognitiveSearchThrottling", + "ExtractionFailure" + ] + }, + "Language": { + "type": "string", + "description": "Language of the text records. This is BCP-47 representation of a language. For example, use \"en\" for English; \"es\" for Spanish etc. If not set, use \"en\" for English as default." + }, + "StringIndexType": { + "type": "string", + "description": "Specifies the method used to interpret string offsets. Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information see https://aka.ms/text-analytics-offsets.", + "default": "TextElements_v8", + "enum": [ + "TextElements_v8", + "UnicodeCodePoint", + "Utf16CodeUnit" + ], + "x-ms-enum": { + "name": "StringIndexType", + "modelAsString": true, + "values": [ + { + "value": "TextElements_v8", + "description": "Returned offset and length values will correspond to TextElements (Graphemes and Grapheme clusters) confirming to the Unicode 8.0.0 standard. Use this option if your application is written in .Net Framework or .Net Core and you will be using StringInfo." + }, + { + "value": "UnicodeCodePoint", + "description": "Returned offset and length values will correspond to Unicode code points. Use this option if your application is written in a language that support Unicode, for example Python." + }, + { + "value": "Utf16CodeUnit", + "description": "Returned offset and length values will correspond to UTF-16 code units. Use this option if your application is written in a language that support Unicode, for example Java, JavaScript." + } + ] + } + } + }, + "parameters": { + "Endpoint": { + "name": "Endpoint", + "description": "Supported Cognitive Services endpoint (e.g., https://.api.cognitiveservices.azure.com).", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "ProjectNameQueryParameter": { + "name": "projectName", + "in": "query", + "required": true, + "type": "string", + "description": "The name of the project to use.", + "x-ms-parameter-location": "method" + }, + "ProjectNamePathParameter": { + "name": "projectName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 100, + "description": "The name of the project to use.", + "x-ms-parameter-location": "method" + }, + "DeploymentNameQueryParameter": { + "name": "deploymentName", + "in": "query", + "required": true, + "type": "string", + "description": "The name of the specific deployment of the project to use.", + "x-ms-parameter-location": "method" + }, + "DeploymentNamePathParameter": { + "name": "deploymentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the specific deployment of the project to use.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + }, + "TopParameter": { + "name": "top", + "in": "query", + "description": "The maximum number of resources to return from the collection.", + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "SkipParameter": { + "name": "skip", + "in": "query", + "description": "An offset into the collection of the first resource to be returned.", + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "MaxPageSizeParameter": { + "name": "maxpagesize", + "in": "query", + "description": "The maximum number of resources to include in a single response.", + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/SuccessfulQueryKnowledgebases.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/SuccessfulQueryKnowledgebases.json new file mode 100644 index 000000000000..2301273ad752 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/SuccessfulQueryKnowledgebases.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1", + "deploymentName": "production", + "knowledgeBaseQueryOptions": { + "question": "how long it takes to charge surface?", + "top": 3, + "userId": "sd53lsY=", + "confidenceScoreThreshold": 0.20, + "context": { + "previousQnaId": 9, + "previousUserQuery": "Where are QnA Maker quickstarts?" + }, + "rankerType": "Default", + "filters": { + "metadataFilter": { + "metadata": [ + { + "key": "category", + "value": "api" + }, + { + "key": "editorial", + "value": "chitchat" + } + ], + "logicalOperation": "AND" + }, + "sourceFilter": [ + "filename1.pdf", + "https://www.wikipedia.org/microsoft" + ], + "logicalOperation": "AND" + }, + "answerSpanRequest": { + "enable": true, + "confidenceScoreThreshold": 0.20, + "topAnswersWithSpan": 1 + }, + "includeUnstructuredSources": true + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "answers": [ + { + "questions": [ + "Power and charging" + ], + "answer": "Power and charging**\n\nIt takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.\n\nYou can use the USB port on your Surface Pro 4 power supply to charge other devices, like a phone, while your Surface charges. The USB port on the power supply is only for charging, not for data transfer. If you want to use a USB device, plug it into the USB port on your Surface.", + "confidenceScore": 0.65, + "id": 20, + "source": "surface-pro-4-user-guide-EN.pdf", + "metadata": { + "category": "api", + "editorial": "chitchat" + }, + "dialog": { + "isContextOnly": false, + "prompts": [ + { + "displayOrder": 1, + "qnaId": 23, + "displayText": "prompt1" + }, + { + "displayOrder": 2, + "qnaId": 36, + "displayText": "prompt2" + } + ] + }, + "answerSpan": { + "text": "two to four hours", + "confidenceScore": 0.30, + "offset": 33, + "length": 50 + } + }, + { + "questions": [ + "Charge your Surface Pro 4" + ], + "answer": "**Charge your Surface Pro 4**\n\n1. Connect the two parts of the power cord.\n\n2. Connect the power cord securely to the charging port.\n\n3. Plug the power supply into an electrical outlet.", + "confidenceScore": 0.32, + "id": 13, + "source": "surface-pro-4-user-guide-EN.pdf" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/SuccessfulQueryText.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/SuccessfulQueryText.json new file mode 100644 index 000000000000..877ca59d290b --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/SuccessfulQueryText.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "stringIndexType": "TextElements_v8", + "textQueryOptions": { + "question": "how long it takes to charge surface?", + "records": [ + { + "id": "1", + "text": "Power and charging. It takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it." + }, + { + "id": "2", + "text": "You can use the USB port on your Surface Pro 4 power supply to charge other devices, like a phone, while your Surface charges. The USB port on the power supply is only for charging, not for data transfer. If you want to use a USB device, plug it into the USB port on your Surface." + } + ], + "language": "en" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "answers": [ + { + "answer": "Power and charging. It takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.", + "confidenceScore": 0.93, + "id": "1", + "answerSpan": { + "text": "two to four hours", + "confidenceScore": 0, + "offset": 28, + "length": 45 + }, + "offset": 0, + "length": 224 + }, + { + "answer": "It takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.", + "confidenceScore": 0.92, + "id": "1", + "answerSpan": { + "text": "two to four hours", + "confidenceScore": 0, + "offset": 8, + "length": 25 + }, + "offset": 20, + "length": 224 + }, + { + "answer": "It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.", + "confidenceScore": 0.05, + "id": "1", + "answerSpan": null, + "offset": 110, + "length": 244 + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulCreateProject.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulCreateProject.json new file mode 100644 index 000000000000..53ed64c5949d --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulCreateProject.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1", + "body": { + "description": "proj1 is a test project.", + "language": "en", + "settings": { + "defaultAnswer": "No good match found for your question in the Knowledgebase." + }, + "multilingualResource": true + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "projectName": "proj1", + "description": "proj1 is a test project.", + "language": "en", + "settings": { + "defaultAnswer": "No good match found for your question in the Knowledgebase." + }, + "multilingualResource": true, + "createdDateTime": "2021-05-01T15:13:22Z", + "lastModifiedDateTime": "2021-05-01T15:13:22Z", + "lastDeployedDateTime": "2021-05-01T15:13:22Z" + } + }, + "201": { + "headers": {}, + "body": { + "projectName": "proj1", + "description": "proj1 is a test project.", + "language": "en", + "settings": { + "defaultAnswer": "No good match found for your question in the Knowledgebase." + }, + "multilingualResource": true, + "createdDateTime": "2021-05-01T15:13:22Z", + "lastModifiedDateTime": "2021-05-01T15:13:22Z", + "lastDeployedDateTime": "2021-05-01T15:13:22Z" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulDeleteProject.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulDeleteProject.json new file mode 100644 index 000000000000..8d9aa7385a9d --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulDeleteProject.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1" + }, + "responses": { + "202": {} + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetProject.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetProject.json new file mode 100644 index 000000000000..96b235bbd6d3 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetProject.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "projectName": "proj1", + "description": "proj1 is a test project.", + "language": "en", + "settings": { + "defaultAnswer": "No good match found for your question in the Knowledgebase." + }, + "createdDateTime": "2021-05-01T15:13:22Z", + "lastModifiedDateTime": "2021-05-01T15:13:22Z", + "lastDeployedDateTime": "2021-05-01T15:13:22Z" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetQnas.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetQnas.json new file mode 100644 index 000000000000..783fc8c55498 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetQnas.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": 1, + "answer": "ans1", + "source": "source1", + "questions": [ + "question 1.1", + "question 1.2" + ], + "metadata": { + "k1": "v1", + "k2": "v2" + }, + "dialog": { + "isContextOnly": false, + "prompts": [ + { + "displayOrder": 1, + "qnaId": 11, + "displayText": "prompt 1.1" + }, + { + "displayOrder": 2, + "qnaId": 21, + "displayText": "prompt 1.2" + } + ] + }, + "lastUpdatedDateTime": "2021-05-01T17:21:14Z" + }, + { + "id": 2, + "answer": "ans2", + "source": "source2", + "questions": [ + "question 2.1", + "question 2.2" + ], + "lastUpdatedDateTime": "2021-05-01T17:21:14Z" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetSources.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetSources.json new file mode 100644 index 000000000000..b123db2b8244 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetSources.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "displayName": "source1", + "sourceUri": "https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/overview/overview", + "sourceKind": "url", + "lastUpdatedDateTime": "2021-05-01T15:13:22Z" + }, + { + "displayName": "source2", + "sourceUri": "https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf", + "sourceKind": "file", + "contentStructureKind": "unstructured", + "lastUpdatedDateTime": "2021-05-01T15:13:22Z" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetSynonyms.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetSynonyms.json new file mode 100644 index 000000000000..ec28c3e629e8 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetSynonyms.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "alterations": [ + "qnamaker", + "qna maker" + ] + }, + { + "alterations": [ + "botframework", + "bot framework" + ] + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectDeleteJobStatus.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectDeleteJobStatus.json new file mode 100644 index 000000000000..fe20ece4c057 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectDeleteJobStatus.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "jobId": "job1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "errors": [], + "createdDateTime": "2021-05-01T17:21:14Z", + "expirationDateTime": "2021-05-01T17:21:14Z", + "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a", + "lastUpdatedDateTime": "2021-05-01T17:21:14Z", + "status": "succeeded" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectDeployJobStatus.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectDeployJobStatus.json new file mode 100644 index 000000000000..252d25ac82c5 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectDeployJobStatus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1", + "deploymentName": "production", + "jobId": "job1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "errors": [], + "createdDateTime": "2021-05-01T17:21:14Z", + "expirationDateTime": "2021-05-01T17:21:14Z", + "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a", + "lastUpdatedDateTime": "2021-05-01T17:21:14Z", + "status": "succeeded" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectExportJobStatus.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectExportJobStatus.json new file mode 100644 index 000000000000..11e763559492 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectExportJobStatus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1", + "jobId": "job1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "errors": [], + "createdDateTime": "2021-05-01T17:21:14Z", + "expirationDateTime": "2021-05-01T17:21:14Z", + "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a", + "lastUpdatedDateTime": "2021-05-01T17:21:14Z", + "status": "succeeded", + "resultUrl": "https:///language/proj1/export/job1/result" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectImportJobStatus.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectImportJobStatus.json new file mode 100644 index 000000000000..58eab6bb09fb --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectImportJobStatus.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1", + "jobId": "job1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "errors": [], + "createdDateTime": "2021-05-01T17:21:14Z", + "expirationDateTime": "2021-05-01T17:21:14Z", + "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a", + "lastUpdatedDateTime": "2021-05-01T17:21:14Z", + "status": "succeeded" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectListDeployments.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectListDeployments.json new file mode 100644 index 000000000000..a0e42df04276 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectListDeployments.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "deploymentName": "production", + "lastDeployedDateTime": "2021-05-01T15:13:22Z" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectSubmitDeployJob.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectSubmitDeployJob.json new file mode 100644 index 000000000000..79268716b472 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectSubmitDeployJob.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1", + "deploymentName": "production" + }, + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.", + "headers": { + "Operation-Location": "job1" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectSubmitExportJob.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectSubmitExportJob.json new file mode 100644 index 000000000000..722fd74a4dc6 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectSubmitExportJob.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1", + "body": { + "exportAssetTypes": [ + "qnas", + "synonyms" + ] + } + }, + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.", + "headers": { + "Operation-Location": "job1" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectSubmitImportJob.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectSubmitImportJob.json new file mode 100644 index 000000000000..d1bf6e122055 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectSubmitImportJob.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1", + "body": { + "assets": { + "synonyms": [ + { + "alterations": [ + "wa", + "washington", + "washington state" + ] + }, + { + "alterations": [ + "U.S", + "usa", + "united states of america" + ] + } + ], + "qnas": [ + { + "lastUpdatedDateTime": "2021-05-01T17:21:14Z", + "id": 1, + "answer": "ans1", + "source": "source1", + "questions": [ + "question 1.1", + "question 1.2" + ], + "metadata": { + "k1": "v1", + "k2": "v2" + }, + "dialog": { + "isContextOnly": false, + "prompts": [ + { + "displayOrder": 1, + "qnaId": 11, + "displayText": "prompt 1.1" + }, + { + "displayOrder": 2, + "qnaId": 21, + "displayText": "prompt 1.2" + } + ] + } + }, + { + "lastUpdatedDateTime": "2021-05-01T17:21:14Z", + "id": 2, + "answer": "ans2", + "source": "source2", + "questions": [ + "question 2.1", + "question 2.2" + ] + } + ] + } + } + }, + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.", + "headers": { + "Operation-Location": "job1" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectsListProjects.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectsListProjects.json new file mode 100644 index 000000000000..79685f619ea1 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectsListProjects.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "projectName": "proj1", + "description": "proj1 is a test project.", + "language": "en", + "multilingualResource": true, + "createdDateTime": "2021-05-01T15:13:22Z", + "lastModifiedDateTime": "2021-05-01T15:13:22Z", + "lastDeployedDateTime": "2021-05-01T15:13:22Z" + }, + { + "projectName": "proj2", + "description": "proj2 is a test project.", + "language": "fr", + "multilingualResource": true, + "createdDateTime": "2021-05-01T15:13:22Z", + "lastModifiedDateTime": "2021-05-01T15:13:22Z", + "lastDeployedDateTime": "2021-05-01T15:13:22Z" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateActiveLearningFeedback.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateActiveLearningFeedback.json new file mode 100644 index 000000000000..5ebce5831232 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateActiveLearningFeedback.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1", + "body": { + "records": [ + { + "userId": "user1", + "userQuestion": "hi", + "qnaId": 1 + }, + { + "userId": "user1", + "userQuestion": "hello", + "qnaId": 2 + } + ] + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateQnas.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateQnas.json new file mode 100644 index 000000000000..9cd0ecbe18f2 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateQnas.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1", + "body": [ + { + "op": "add", + "value": { + "id": 3, + "answer": "ans3", + "source": "source1", + "questions": [ + "question 3.1", + "question 3.2" + ], + "metadata": { + "k1": "v1", + "k2": "v2" + }, + "dialog": { + "isContextOnly": false, + "prompts": [ + { + "displayOrder": 1, + "qnaId": 11, + "displayText": "prompt 3.1" + }, + { + "displayOrder": 2, + "qnaId": 21, + "displayText": "prompt 3.2" + } + ] + } + } + }, + { + "op": "replace", + "value": { + "id": 1, + "answer": "ans4", + "source": "source1", + "questions": [ + "question 4.1", + "question 4.2" + ] + } + }, + { + "op": "delete", + "value": { + "id": 2, + "answer": "ans2", + "source": "source1", + "questions": [ + "question 2.1", + "question 2.2" + ] + } + } + ] + }, + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.", + "headers": { + "Operation-Location": "job1" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateQnasJobStatus.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateQnasJobStatus.json new file mode 100644 index 000000000000..58eab6bb09fb --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateQnasJobStatus.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1", + "jobId": "job1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "errors": [], + "createdDateTime": "2021-05-01T17:21:14Z", + "expirationDateTime": "2021-05-01T17:21:14Z", + "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a", + "lastUpdatedDateTime": "2021-05-01T17:21:14Z", + "status": "succeeded" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateSources.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateSources.json new file mode 100644 index 000000000000..908f6a9aab07 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateSources.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1", + "body": [ + { + "op": "add", + "value": { + "displayName": "source3", + "sourceUri": "https://docs.microsoft.com/en-us/azure/cognitive-services/cognitive-services-support-options?context=/azure/cognitive-services/qnamaker/context/context", + "sourceKind": "url" + } + }, + { + "op": "replace", + "value": { + "displayName": "source1", + "sourceUri": "https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/overview/overview", + "sourceKind": "url", + "refresh": true + } + }, + { + "op": "delete", + "value": { + "displayName": "source2", + "sourceUri": "https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf", + "sourceKind": "file" + } + } + ] + }, + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.", + "headers": { + "Operation-Location": "job1" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateSourcesJobStatus.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateSourcesJobStatus.json new file mode 100644 index 000000000000..58eab6bb09fb --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateSourcesJobStatus.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1", + "jobId": "job1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "errors": [], + "createdDateTime": "2021-05-01T17:21:14Z", + "expirationDateTime": "2021-05-01T17:21:14Z", + "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a", + "lastUpdatedDateTime": "2021-05-01T17:21:14Z", + "status": "succeeded" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateSynonyms.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateSynonyms.json new file mode 100644 index 000000000000..dc08ed4365c7 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateSynonyms.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-07-15-preview", + "projectName": "proj1", + "body": { + "value": [ + { + "alterations": [ + "qnamaker", + "qna maker" + ] + }, + { + "alterations": [ + "botframework", + "bot framework" + ] + } + ] + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/questionanswering-authoring.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/questionanswering-authoring.json new file mode 100644 index 000000000000..09350097f8af --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/questionanswering-authoring.json @@ -0,0 +1,1751 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft Cognitive Language Service - Question Answering - Authoring", + "description": "The language service API is a suite of natural language processing (NLP) skills built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction, language detection and question answering. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview.", + "version": "2021-07-15-preview" + }, + "securityDefinitions": { + "apim_key": { + "type": "apiKey", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" + } + }, + "security": [ + { + "apim_key": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}/language", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "common.json#/parameters/Endpoint" + } + ] + }, + "paths": { + "/query-knowledgebases/projects": { + "get": { + "summary": "Gets all projects for a user.", + "operationId": "QuestionAnsweringProjects_ListProjects", + "parameters": [ + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "common.json#/parameters/TopParameter" + }, + { + "$ref": "common.json#/parameters/SkipParameter" + }, + { + "$ref": "common.json#/parameters/MaxPageSizeParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "responses": { + "200": { + "description": "The metadata of all projects.", + "schema": { + "$ref": "#/definitions/ProjectsMetadata" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulProjectsListProjects.json" + } + } + } + }, + "/query-knowledgebases/projects/{projectName}": { + "get": { + "summary": "Get the requested project metadata.", + "operationId": "QuestionAnsweringProjects_GetProjectDetails", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "The metadata for the specified project.", + "schema": { + "$ref": "#/definitions/ProjectMetadata" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulGetProject.json" + } + } + }, + "patch": { + "summary": "Create or update a project.", + "operationId": "QuestionAnsweringProjects_CreateProject", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "description": "Parameters needed to create the project.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateProjectOptions" + } + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "The metadata of the updated project, if it already exists.", + "schema": { + "$ref": "#/definitions/ProjectMetadata" + } + }, + "201": { + "description": "The metadata of the created project, if it doesn't exist.", + "schema": { + "$ref": "#/definitions/ProjectMetadata" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulCreateProject.json" + } + } + }, + "delete": { + "summary": "Delete the project.", + "operationId": "QuestionAnsweringProjects_DeleteProject", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the job.", + "headers": { + "Operation-Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulDeleteProject.json" + } + } + } + }, + "/query-knowledgebases/projects/deletion-jobs/{jobId}": { + "get": { + "summary": "Gets the status of a Project delete job.", + "operationId": "QuestionAnsweringProjects_GetDeleteStatus", + "parameters": [ + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobIdParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Project delete job status.", + "schema": { + "$ref": "#/definitions/JobState" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulProjectDeleteJobStatus.json" + } + } + } + }, + "/query-knowledgebases/projects/{projectName}/:export": { + "post": { + "summary": "Export project metadata and assets.", + "operationId": "QuestionAnsweringProjects_Export", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ImportExportFormatParameter" + }, + { + "$ref": "#/parameters/AssetKindParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the job.", + "headers": { + "Operation-Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulProjectSubmitExportJob.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/query-knowledgebases/projects/{projectName}/export/jobs/{jobId}": { + "get": { + "summary": "Gets the status of an Export job, once job completes, returns the project metadata, and assets.", + "operationId": "QuestionAnsweringProjects_GetExportStatus", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobIdParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Export job status, project metadata, and assets.", + "schema": { + "$ref": "#/definitions/ExportJobState" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulProjectExportJobStatus.json" + } + } + } + }, + "/query-knowledgebases/projects/{projectName}/:import": { + "post": { + "summary": "Import project assets.", + "operationId": "QuestionAnsweringProjects_Import", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "description": "Project assets the needs to be imported.", + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/ImportJobOptions" + } + }, + { + "$ref": "#/parameters/ImportExportFormatParameter" + }, + { + "$ref": "#/parameters/AssetKindParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the job.", + "headers": { + "Operation-Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulProjectSubmitImportJob.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/query-knowledgebases/projects/{projectName}/import/jobs/{jobId}": { + "get": { + "summary": "Gets the status of an Import job.", + "operationId": "QuestionAnsweringProjects_GetImportStatus", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobIdParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Import job status.", + "schema": { + "$ref": "#/definitions/JobState" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulProjectImportJobStatus.json" + } + } + } + }, + "/query-knowledgebases/projects/{projectName}/deployments/{deploymentName}": { + "put": { + "summary": "Deploy project to production.", + "operationId": "QuestionAnsweringProjects_DeployProject", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/DeploymentNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the job.", + "headers": { + "Operation-Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulProjectSubmitDeployJob.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/query-knowledgebases/projects/{projectName}/deployments/{deploymentName}/jobs/{jobId}": { + "get": { + "summary": "Gets the status of a Deploy job.", + "operationId": "QuestionAnsweringProjects_GetDeployStatus", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/DeploymentNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobIdParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Deploy job state.", + "schema": { + "$ref": "#/definitions/JobState" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulProjectDeployJobStatus.json" + } + } + } + }, + "/query-knowledgebases/projects/{projectName}/deployments": { + "get": { + "summary": "List all deployments of a project.", + "operationId": "QuestionAnsweringProjects_ListDeployments", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "common.json#/parameters/TopParameter" + }, + { + "$ref": "common.json#/parameters/SkipParameter" + }, + { + "$ref": "common.json#/parameters/MaxPageSizeParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "responses": { + "200": { + "description": "List of deployments of a project.", + "schema": { + "$ref": "#/definitions/ProjectDeployments" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulProjectListDeployments.json" + } + } + } + }, + "/query-knowledgebases/projects/{projectName}/synonyms": { + "get": { + "summary": "Gets all the synonyms of a project.", + "operationId": "QuestionAnsweringProjects_GetSynonyms", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "common.json#/parameters/TopParameter" + }, + { + "$ref": "common.json#/parameters/SkipParameter" + }, + { + "$ref": "common.json#/parameters/MaxPageSizeParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "responses": { + "200": { + "description": "All the synonyms of a project.", + "schema": { + "$ref": "#/definitions/SynonymAssets" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulGetSynonyms.json" + } + } + }, + "put": { + "summary": "Updates all the synonyms of a project.", + "operationId": "QuestionAnsweringProjects_UpdateSynonyms", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "description": "All the synonyms of a project.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SynonymAssets" + } + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "204": { + "description": "Synonyms update successfully." + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateSynonyms.json" + } + } + } + }, + "/query-knowledgebases/projects/{projectName}/sources": { + "get": { + "summary": "Gets all the sources of a project.", + "operationId": "QuestionAnsweringProjects_GetSources", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "common.json#/parameters/TopParameter" + }, + { + "$ref": "common.json#/parameters/SkipParameter" + }, + { + "$ref": "common.json#/parameters/MaxPageSizeParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "responses": { + "200": { + "description": "All the sources of a project.", + "schema": { + "$ref": "#/definitions/QnaSources" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulGetSources.json" + } + } + }, + "patch": { + "summary": "Updates the sources of a project.", + "operationId": "QuestionAnsweringProjects_UpdateSources", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "description": "Update sources parameters of a project.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateSourcesOptions" + } + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the job.", + "headers": { + "Operation-Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateSources.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/query-knowledgebases/projects/{projectName}/sources/jobs/{jobId}": { + "get": { + "summary": "Gets the status of update sources job.", + "operationId": "QuestionAnsweringProjects_GetUpdateSourcesStatus", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobIdParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Update sources job state.", + "schema": { + "$ref": "#/definitions/JobState" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateSourcesJobStatus.json" + } + } + } + }, + "/query-knowledgebases/projects/{projectName}/qnas": { + "get": { + "summary": "Gets all the QnAs of a project.", + "operationId": "QuestionAnsweringProjects_GetQnas", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SourceFilterParameter" + }, + { + "$ref": "common.json#/parameters/TopParameter" + }, + { + "$ref": "common.json#/parameters/SkipParameter" + }, + { + "$ref": "common.json#/parameters/MaxPageSizeParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "responses": { + "200": { + "description": "All the QnAs of a project.", + "schema": { + "$ref": "#/definitions/QnaAssets" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulGetQnas.json" + } + } + }, + "patch": { + "summary": "Updates the QnAs of a project.", + "operationId": "QuestionAnsweringProjects_UpdateQnas", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "description": "Update QnAs parameters of a project.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateQnaOptions" + } + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the job.", + "headers": { + "Operation-Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateQnas.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/query-knowledgebases/projects/{projectName}/qnas/jobs/{jobId}": { + "get": { + "summary": "Gets the status of update QnAs job.", + "operationId": "QuestionAnsweringProjects_GetUpdateQnasStatus", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobIdParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Update QnAs job state.", + "schema": { + "$ref": "#/definitions/JobState" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateQnasJobStatus.json" + } + } + } + }, + "/query-knowledgebases/projects/{projectName}/feedback": { + "post": { + "summary": "Update Active Learning feedback.", + "operationId": "QuestionAnsweringProjects_AddFeedback", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "description": "Feedback for Active Learning.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ActiveLearningFeedback" + } + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "204": { + "description": "Feedback recorded successfully." + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateActiveLearningFeedback.json" + } + } + } + } + }, + "definitions": { + "ActiveLearningFeedback": { + "type": "object", + "description": "Feedback for Active Learning.", + "additionalProperties": false, + "properties": { + "records": { + "$ref": "#/definitions/FeedbackRecords" + } + } + }, + "FeedbackRecords": { + "type": "array", + "description": "A list of Feedback Records for Active Learning.", + "additionalProperties": false, + "items": { + "$ref": "#/definitions/FeedbackRecord" + } + }, + "FeedbackRecord": { + "type": "object", + "description": "Feedback Record for Active Learning.", + "additionalProperties": false, + "properties": { + "userId": { + "type": "string", + "description": "Unique identifier of the user." + }, + "userQuestion": { + "type": "string", + "description": "User suggested question for the QnA." + }, + "qnaId": { + "type": "integer", + "description": "Unique ID of the QnA.", + "format": "int32" + } + } + }, + "ProjectsMetadata": { + "type": "object", + "description": "Collection of projects metadata and global settings.", + "additionalProperties": false, + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ProjectMetadata" + } + }, + "nextLink": { + "type": "string" + } + } + }, + "ProjectMetadata": { + "type": "object", + "description": "Represents the project.", + "additionalProperties": false, + "properties": { + "projectName": { + "type": "string", + "description": "Name of the project." + }, + "description": { + "type": "string", + "description": "Description of the project." + }, + "language": { + "$ref": "common.json#/definitions/Language" + }, + "multilingualResource": { + "type": "boolean", + "description": "Resource enabled for multiple languages across projects or not." + }, + "settings": { + "$ref": "#/definitions/ProjectSettings" + }, + "createdDateTime": { + "type": "string", + "description": "Project creation date-time.", + "format": "date-time" + }, + "lastModifiedDateTime": { + "type": "string", + "description": "Represents the project last modified date-time.", + "format": "date-time" + }, + "lastDeployedDateTime": { + "type": "string", + "description": "Represents the project last deployment date-time.", + "format": "date-time" + } + } + }, + "CreateProjectOptions": { + "type": "object", + "description": "Parameters needed to create the project.", + "additionalProperties": false, + "required": [ + "language" + ], + "properties": { + "description": { + "type": "string", + "description": "Description of the project." + }, + "language": { + "$ref": "common.json#/definitions/Language" + }, + "multilingualResource": { + "type": "boolean", + "description": "Set to true to enable creating knowledgebases in different languages for the same resource." + }, + "settings": { + "$ref": "#/definitions/ProjectSettings" + } + } + }, + "ProjectSettings": { + "type": "object", + "description": "Configurable settings of the Project.", + "additionalProperties": false, + "properties": { + "defaultAnswer": { + "type": "string", + "description": "Default Answer response when no good match is found in the knowledge base." + } + } + }, + "ImportJobOptions": { + "type": "object", + "description": "Project assets the needs to be imported.", + "additionalProperties": false, + "properties": { + "metadata": { + "$ref": "#/definitions/CreateProjectOptions" + }, + "assets": { + "$ref": "#/definitions/Assets" + }, + "fileUri": { + "type": "string", + "description": "Import data File URI." + } + } + }, + "JobMetadata": { + "description": "Represents the job metadata.", + "properties": { + "createdDateTime": { + "format": "date-time", + "type": "string" + }, + "expirationDateTime": { + "format": "date-time", + "type": "string" + }, + "jobId": { + "type": "string" + }, + "lastUpdatedDateTime": { + "format": "date-time", + "type": "string" + }, + "status": { + "$ref": "#/definitions/JobStatus" + } + }, + "required": [ + "jobId", + "lastUpdatedDateTime", + "createdDateTime", + "status" + ], + "type": "object" + }, + "JobStatus": { + "description": "Job Status.", + "enum": [ + "notStarted", + "running", + "succeeded", + "failed", + "cancelled", + "cancelling", + "partiallyCompleted" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "jobStatus" + } + }, + "JobState": { + "description": "Job state represents the job metadata and any errors.", + "allOf": [ + { + "$ref": "#/definitions/JobMetadata" + }, + { + "$ref": "#/definitions/Errors" + } + ] + }, + "Errors": { + "description": "Collection of Error types.", + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "common.json#/definitions/Error" + } + } + } + }, + "ExportJobState": { + "description": "Export job status, project metadata, and assets.", + "allOf": [ + { + "$ref": "#/definitions/JobState" + }, + { + "$ref": "#/definitions/ExportJobResultUrl" + } + ] + }, + "ExportJobResultUrl": { + "type": "object", + "description": "URL to download the result of the Export Job.", + "required": [ + "resultUrl" + ], + "properties": { + "resultUrl": { + "type": "string", + "description": "URL to download the result of the Export Job." + } + } + }, + "Assets": { + "type": "object", + "description": "All assets for this project.", + "additionalProperties": false, + "properties": { + "synonyms": { + "$ref": "#/definitions/SynonymAsset" + }, + "qnas": { + "$ref": "#/definitions/QnaAsset" + } + } + }, + "SynonymAssets": { + "type": "object", + "description": "All synonym assets for this project.", + "additionalProperties": false, + "properties": { + "value": { + "$ref": "#/definitions/SynonymAsset" + }, + "nextLink": { + "type": "string" + } + } + }, + "SynonymAsset": { + "type": "array", + "description": "Collection of synonyms.", + "additionalProperties": false, + "maxLength": 10000, + "items": { + "$ref": "#/definitions/WordAlterations" + } + }, + "WordAlterations": { + "type": "object", + "description": "Collection of word alterations.", + "additionalProperties": false, + "required": [ + "alterations" + ], + "properties": { + "alterations": { + "type": "array", + "description": "Collection of word alterations.", + "maxLength": 20, + "items": { + "type": "string" + } + } + } + }, + "QnaAssets": { + "type": "object", + "description": "All QnA assets for the project.", + "additionalProperties": false, + "properties": { + "value": { + "$ref": "#/definitions/QnaAsset" + }, + "nextLink": { + "type": "string" + } + } + }, + "QnaAsset": { + "type": "array", + "description": "List of QnA records.", + "additionalProperties": false, + "items": { + "$ref": "#/definitions/RetrieveQnaRecord" + } + }, + "QnaRecord": { + "type": "object", + "description": "QnA record.", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer", + "description": "Unique ID for the QnA.", + "format": "int32" + }, + "answer": { + "type": "string", + "description": "Answer text.", + "maxLength": 25000, + "minLength": 1 + }, + "source": { + "type": "string", + "description": "Source from which QnA was indexed e.g. https://docs.microsoft.com/en-us/azure/cognitive-services/QnAMaker/FAQs .", + "maxLength": 300 + }, + "questions": { + "type": "array", + "description": "List of questions associated with the answer.", + "maxLength": 100, + "minLength": 1, + "items": { + "type": "string" + } + }, + "metadata": { + "type": "object", + "description": "Metadata associated with the answer, useful to categorize or filter question answers.", + "additionalProperties": { + "type": "string" + } + }, + "dialog": { + "description": "Context of a QnA.", + "$ref": "#/definitions/QnaDialog" + }, + "activeLearningSuggestions": { + "type": "array", + "description": "List of Active Learning suggestions for the QnA.", + "items": { + "$ref": "#/definitions/SuggestedQuestionsCluster" + } + } + } + }, + "SuggestedQuestionsCluster": { + "type": "object", + "description": "Active Learning suggested questions cluster details.", + "additionalProperties": false, + "properties": { + "clusterHead": { + "type": "string", + "description": "Question chosen as the head of suggested questions cluster by Active Learning clustering algorithm." + }, + "suggestedQuestions": { + "type": "array", + "description": "List of all suggested questions for the QnA.", + "items": { + "$ref": "#/definitions/SuggestedQuestion" + } + } + } + }, + "SuggestedQuestion": { + "type": "object", + "description": "Question suggested by the Active Learning feature.", + "additionalProperties": false, + "properties": { + "question": { + "type": "string", + "description": "Question suggested by the Active Learning feature." + }, + "userSuggestedCount": { + "type": "integer", + "description": "The number of times the question was suggested explicitly by the user.", + "format": "int32" + }, + "autoSuggestedCount": { + "type": "integer", + "description": "The number of times the question was suggested automatically by the Active Learning algorithm.", + "format": "int32" + } + } + }, + "RetrieveQnaRecord": { + "description": "QnA Record with last updated date-time.", + "allOf": [ + { + "$ref": "#/definitions/QnaRecord" + }, + { + "$ref": "#/definitions/LastUpdatedDateTimeParameter" + } + ] + }, + "LastUpdatedDateTimeParameter": { + "type": "object", + "description": "Last updated date-time parameter.", + "properties": { + "lastUpdatedDateTime": { + "type": "string", + "format": "date-time", + "description": "Date-time when the QnA was last updated." + } + } + }, + "QnaDialog": { + "type": "object", + "description": "Dialog associated with QnA Record.", + "properties": { + "isContextOnly": { + "type": "boolean", + "description": "To mark if a prompt is relevant only with a previous question or not. If true, do not include this QnA as answer for queries without context; otherwise, ignores context and includes this QnA in answers." + }, + "prompts": { + "type": "array", + "description": "List of prompts associated with the answer.", + "maxItems": 20, + "items": { + "$ref": "#/definitions/QnaPrompt" + } + } + } + }, + "QnaPrompt": { + "type": "object", + "description": "Prompt for an answer.", + "properties": { + "displayOrder": { + "type": "integer", + "description": "Index of the prompt. It is used for ordering of the prompts.", + "format": "int32" + }, + "qnaId": { + "type": "integer", + "description": "ID of the QnA corresponding to the prompt.", + "format": "int32" + }, + "qna": { + "description": "QnA record. Either QnAId or QnA record needs to be present in a Prompt.", + "$ref": "#/definitions/QnaRecord" + }, + "displayText": { + "type": "string", + "description": "Text displayed to represent a follow up question prompt.", + "maxLength": 200 + } + } + }, + "UpdateOperationKind": { + "type": "string", + "description": "Update operation type for assets.", + "enum": [ + "add", + "delete", + "replace" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "updateOperationKind" + } + }, + "UpdateSourcesOptions": { + "type": "array", + "description": "A list of sources to be updated.", + "additionalProperties": false, + "items": { + "$ref": "#/definitions/UpdateSourceRecord" + } + }, + "UpdateQnaOptions": { + "type": "array", + "description": "A list of QnAs to be updated.", + "additionalProperties": false, + "items": { + "$ref": "#/definitions/UpdateQnaRecord" + } + }, + "UpdateQnaRecord": { + "type": "object", + "description": "QnA record to be updated.", + "additionalProperties": false, + "required": [ + "op", + "value" + ], + "properties": { + "op": { + "type": "string", + "$ref": "#/definitions/UpdateOperationKind" + }, + "value": { + "$ref": "#/definitions/QnaRecord" + } + } + }, + "UpdateSourceRecord": { + "type": "object", + "description": "Source to be updated.", + "additionalProperties": false, + "required": [ + "op", + "value" + ], + "properties": { + "op": { + "type": "string", + "$ref": "#/definitions/UpdateOperationKind" + }, + "value": { + "$ref": "#/definitions/UpdateQnaSourceRecord" + } + } + }, + "QnaSources": { + "type": "object", + "description": "All QnA sources for the project.", + "additionalProperties": false, + "properties": { + "value": { + "$ref": "#/definitions/QnaSourcesMetadata" + }, + "nextLink": { + "type": "string" + } + } + }, + "QnaSourcesMetadata": { + "type": "array", + "description": "Custom sources from which QnAs were extracted or explicitly added to the project.", + "additionalProperties": false, + "items": { + "$ref": "#/definitions/QnaSourceRecord" + } + }, + "QnaSourceRecord": { + "description": "Custom source record with last updated date-time.", + "allOf": [ + { + "$ref": "#/definitions/QnaSourceMetadata" + }, + { + "$ref": "#/definitions/LastUpdatedDateTimeParameter" + } + ] + }, + "UpdateQnaSourceRecord": { + "description": "Update source record.", + "allOf": [ + { + "$ref": "#/definitions/QnaSourceMetadata" + }, + { + "$ref": "#/definitions/RefreshSourceOptions" + } + ] + }, + "RefreshSourceOptions": { + "type": "object", + "description": "Boolean flag used to refresh data from the Source.", + "properties": { + "refresh": { + "type": "boolean", + "description": "Boolean flag used to refresh data from the Source." + } + } + }, + "QnaSourceMetadata": { + "type": "object", + "description": "Input source file or url details.", + "additionalProperties": false, + "required": [ + "sourceUri", + "sourceKind" + ], + "properties": { + "displayName": { + "type": "string", + "description": "Friendly name of the Source.", + "maxLength": 200, + "minLength": 1 + }, + "source": { + "type": "string", + "description": "Unique source identifier. Name of the file if it's a 'file' source; otherwise, the complete URL if it's a 'url' source." + }, + "sourceUri": { + "type": "string", + "description": "URI location for the file or url.", + "format": "uri" + }, + "sourceKind": { + "type": "string", + "$ref": "#/definitions/QnaSourceKind", + "default": "url" + }, + "contentStructureKind": { + "type": "string", + "$ref": "#/definitions/SourceContentStructureKind", + "default": "Unstructured" + } + } + }, + "QnaSourceKind": { + "type": "string", + "description": "Supported source types.", + "x-ms-enum": { + "name": "sourceKind", + "modelAsString": true + }, + "enum": [ + "file", + "url" + ] + }, + "SourceContentStructureKind": { + "type": "string", + "description": "Content structure type for sources.", + "enum": [ + "unstructured" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "sourceContentStructureKind" + } + }, + "ProjectDeployments": { + "type": "object", + "description": "All deployments of a project.", + "additionalProperties": false, + "properties": { + "value": { + "$ref": "#/definitions/ProjectDeploymentsList" + }, + "nextLink": { + "type": "string" + } + } + }, + "ProjectDeploymentsList": { + "type": "array", + "description": "List of deployments of a project.", + "additionalProperties": false, + "items": { + "$ref": "#/definitions/ProjectDeployment" + } + }, + "ProjectDeployment": { + "type": "object", + "description": "Project deployment details.", + "additionalProperties": false, + "properties": { + "deploymentName": { + "type": "string", + "description": "Name of the deployment." + }, + "lastDeployedDateTime": { + "type": "string", + "description": "Represents the project last deployment date-time.", + "format": "date-time" + } + } + } + }, + "parameters": { + "JobIdParameter": { + "name": "jobId", + "in": "path", + "description": "Job ID.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "AssetKindParameter": { + "name": "assetKind", + "type": "string", + "in": "query", + "description": "Kind of the asset of the project.", + "enum": [ + "qnas", + "synonyms" + ], + "x-ms-parameter-location": "method" + }, + "ImportExportFormatParameter": { + "name": "format", + "type": "string", + "in": "query", + "description": "Knowledge base Import or Export format.", + "default": "json", + "enum": [ + "json", + "tsv", + "excel" + ], + "x-ms-enum": { + "name": "format", + "modelAsString": true, + "values": [ + { + "value": "json", + "description": "Export or Import QnA assets in JSON format." + }, + { + "value": "tsv", + "description": "Export or Import knowledge base replica including all assets and metadata in Excel format." + }, + { + "value": "excel", + "description": "Export or Import knowledge base replica including all assets and metadata in Tsv format." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "SourceFilterParameter": { + "name": "source", + "in": "query", + "description": "Source of the QnA.", + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/questionanswering.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/questionanswering.json new file mode 100644 index 000000000000..9a595731e80e --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/questionanswering.json @@ -0,0 +1,562 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft Cognitive Language Service - Question Answering", + "description": "The language service API is a suite of natural language processing (NLP) skills built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction, language detection and question answering. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview.", + "version": "2021-07-15-preview" + }, + "securityDefinitions": { + "apim_key": { + "type": "apiKey", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" + } + }, + "security": [ + { + "apim_key": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}/language", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "common.json#/parameters/Endpoint" + } + ] + }, + "paths": { + "/:query-knowledgebases": { + "post": { + "summary": "Answers the specified question using your knowledge base.", + "operationId": "QuestionAnsweringKnowledgeBase_Query", + "parameters": [ + { + "$ref": "#/parameters/KnowledgeBaseQueryOptions" + }, + { + "$ref": "common.json#/parameters/ProjectNameQueryParameter" + }, + { + "$ref": "common.json#/parameters/DeploymentNameQueryParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "A successful response to get answers from knowledge base.", + "schema": { + "$ref": "#/definitions/KnowledgeBaseAnswers" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/SuccessfulQueryKnowledgebases.json" + } + } + } + }, + "/:query-text": { + "post": { + "summary": "Answers the specified question using the provided text in the body.", + "operationId": "QuestionAnsweringText_Query", + "parameters": [ + { + "$ref": "#/parameters/TextQueryOptions" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "A successful response to get answers from input text.", + "schema": { + "$ref": "#/definitions/TextAnswers" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/SuccessfulQueryText.json" + } + } + } + } + }, + "definitions": { + "KnowledgeBaseQueryOptions": { + "type": "object", + "description": "Parameters to query a knowledge base.", + "additionalProperties": false, + "properties": { + "qnaId": { + "type": "integer", + "description": "Exact QnA ID to fetch from the knowledge base, this field takes priority over question.", + "format": "int32" + }, + "question": { + "type": "string", + "description": "User question to query against the knowledge base." + }, + "top": { + "type": "integer", + "description": "Max number of answers to be returned for the question.", + "format": "int32" + }, + "userId": { + "type": "string", + "description": "Unique identifier for the user." + }, + "confidenceScoreThreshold": { + "type": "number", + "format": "double", + "description": "Minimum threshold score for answers, value ranges from 0 to 1.", + "maximum": 1, + "minimum": 0 + }, + "context": { + "description": "Context object with previous QnA's information.", + "$ref": "#/definitions/KnowledgeBaseAnswerRequestContext" + }, + "rankerType": { + "type": "string", + "description": "Type of ranker to be used.", + "x-ms-enum": { + "name": "RankerType", + "modelAsString": true, + "values": [ + { + "value": "QuestionOnly", + "description": "Question only ranker." + }, + { + "value": "Default", + "description": "Default ranker." + } + ] + }, + "enum": [ + "Default", + "QuestionOnly" + ] + }, + "filters": { + "description": "Filter QnAs based on given metadata list and knowledge base sources.", + "$ref": "#/definitions/QueryFilters" + }, + "answerSpanRequest": { + "description": "To configure Answer span prediction feature.", + "$ref": "#/definitions/AnswerSpanRequest" + }, + "includeUnstructuredSources": { + "type": "boolean", + "description": "(Optional) Flag to enable Query over Unstructured Sources." + } + } + }, + "AnswerSpanRequest": { + "type": "object", + "description": "To configure Answer span prediction feature.", + "additionalProperties": false, + "properties": { + "enable": { + "type": "boolean", + "description": "Enable or disable Answer Span prediction." + }, + "confidenceScoreThreshold": { + "type": "number", + "format": "double", + "description": "Minimum threshold score required to include an answer span, value ranges from 0 to 1.", + "maximum": 1, + "minimum": 0 + }, + "topAnswersWithSpan": { + "type": "integer", + "description": "Number of Top answers to be considered for span prediction from 1 to 10.", + "format": "int32", + "maximum": 10, + "minimum": 1 + } + } + }, + "KnowledgeBaseAnswerRequestContext": { + "type": "object", + "description": "Context object with previous QnA's information.", + "additionalProperties": false, + "required": [ + "previousQnaId" + ], + "properties": { + "previousQnaId": { + "type": "integer", + "description": "Previous turn top answer result QnA ID.", + "format": "int32" + }, + "previousUserQuery": { + "type": "string", + "description": "Previous user query." + } + } + }, + "KnowledgeBaseAnswers": { + "type": "object", + "description": "Represents List of Question Answers.", + "additionalProperties": false, + "properties": { + "answers": { + "type": "array", + "description": "Represents Answer Result list.", + "items": { + "$ref": "#/definitions/KnowledgeBaseAnswer" + } + } + } + }, + "KnowledgeBaseAnswer": { + "type": "object", + "description": "Represents knowledge base answer.", + "additionalProperties": false, + "properties": { + "questions": { + "type": "array", + "description": "List of questions associated with the answer.", + "items": { + "type": "string" + } + }, + "answer": { + "type": "string", + "description": "Answer text." + }, + "confidenceScore": { + "type": "number", + "description": "Answer confidence score, value ranges from 0 to 1.", + "format": "double", + "maximum": 1, + "minimum": 0 + }, + "id": { + "type": "integer", + "description": "ID of the QnA result.", + "format": "int32" + }, + "source": { + "type": "string", + "description": "Source of QnA result." + }, + "metadata": { + "type": "object", + "description": "Metadata associated with the answer, useful to categorize or filter question answers.", + "additionalProperties": { + "type": "string" + } + }, + "dialog": { + "type": "object", + "$ref": "#/definitions/KnowledgeBaseAnswerDialog" + }, + "answerSpan": { + "type": "object", + "description": "Answer span object of QnA with respect to user's question.", + "$ref": "#/definitions/AnswerSpan" + } + } + }, + "KnowledgeBaseAnswerDialog": { + "type": "object", + "description": "Dialog associated with Answer.", + "properties": { + "isContextOnly": { + "type": "boolean", + "description": "To mark if a prompt is relevant only with a previous question or not. If true, do not include this QnA as search result for queries without context; otherwise, if false, ignores context and includes this QnA in search result." + }, + "prompts": { + "type": "array", + "description": "List of prompts associated with the answer.", + "maxItems": 20, + "items": { + "$ref": "#/definitions/KnowledgeBaseAnswerPrompt" + } + } + } + }, + "KnowledgeBaseAnswerPrompt": { + "type": "object", + "description": "Prompt for an answer.", + "properties": { + "displayOrder": { + "type": "integer", + "description": "Index of the prompt - used in ordering of the prompts.", + "format": "int32" + }, + "qnaId": { + "type": "integer", + "description": "QnA ID corresponding to the prompt.", + "format": "int32" + }, + "displayText": { + "type": "string", + "description": "Text displayed to represent a follow up question prompt.", + "maxLength": 200 + } + } + }, + "QueryFilters": { + "type": "object", + "description": "filters over knowledge base.", + "additionalProperties": false, + "properties": { + "metadataFilter": { + "type": "object", + "$ref": "#/definitions/MetadataFilter" + }, + "sourceFilter": { + "type": "object", + "$ref": "#/definitions/SourceFilter" + }, + "logicalOperation": { + "type": "string", + "description": "Logical operation used to join metadata filter with source filter.", + "$ref": "#/definitions/LogicalOperationKind", + "default": "AND" + } + } + }, + "MetadataFilter": { + "type": "object", + "description": "Find QnAs that are associated with the given list of metadata.", + "additionalProperties": false, + "properties": { + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataRecord" + } + }, + "logicalOperation": { + "type": "string", + "description": "Operation used to join metadata filters.", + "$ref": "#/definitions/LogicalOperationKind", + "default": "AND" + } + } + }, + "MetadataRecord": { + "type": "object", + "description": "Object to provide the key value pair for each metadata.", + "additionalProperties": false, + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "type": "string", + "description": "Metadata Key from Metadata dictionary used in the QnA." + }, + "value": { + "type": "string", + "description": "Metadata Value from Metadata dictionary used in the QnA." + } + } + }, + "LogicalOperationKind": { + "type": "string", + "description": "Set to 'OR' or 'AND' for using corresponding logical operation.", + "x-ms-enum": { + "name": "LogicalOperationKind", + "modelAsString": true + }, + "enum": [ + "AND", + "OR" + ] + }, + "SourceFilter": { + "type": "array", + "description": "Find QnAs that are associated with any of the given list of sources in knowledge base.", + "items": { + "type": "string" + } + }, + "AnswerSpan": { + "type": "object", + "description": "Answer span object of QnA.", + "additionalProperties": false, + "properties": { + "text": { + "type": "string", + "description": "Predicted text of answer span." + }, + "confidenceScore": { + "type": "number", + "description": "Predicted score of answer span, value ranges from 0 to 1.", + "format": "double", + "maximum": 1, + "minimum": 0 + }, + "offset": { + "type": "integer", + "description": "The answer span offset from the start of answer.", + "format": "int32" + }, + "length": { + "type": "integer", + "description": "The length of the answer span.", + "format": "int32" + } + } + }, + "TextQueryOptions": { + "type": "object", + "description": "The question and text record parameters to answer.", + "required": [ + "question", + "records" + ], + "additionalProperties": false, + "properties": { + "question": { + "type": "string", + "description": "User question to query against the given text records." + }, + "records": { + "type": "array", + "description": "Text records to be searched for given question.", + "items": { + "$ref": "#/definitions/TextRecord" + } + }, + "language": { + "$ref": "common.json#/definitions/Language" + }, + "stringIndexType": { + "$ref": "common.json#/definitions/StringIndexType" + } + } + }, + "TextAnswers": { + "type": "object", + "description": "Represents the answer results.", + "additionalProperties": false, + "properties": { + "answers": { + "type": "array", + "description": "Represents the answer results.", + "items": { + "$ref": "#/definitions/TextAnswer" + } + } + } + }, + "TextAnswer": { + "type": "object", + "description": "Represents answer result.", + "additionalProperties": false, + "properties": { + "answer": { + "type": "string", + "description": "Answer." + }, + "confidenceScore": { + "type": "number", + "description": "answer confidence score, value ranges from 0 to 1.", + "format": "double", + "maximum": 1, + "minimum": 0 + }, + "id": { + "type": "string", + "description": "record ID." + }, + "answerSpan": { + "type": "object", + "description": "Answer span object with respect to user's question.", + "$ref": "#/definitions/AnswerSpan" + }, + "offset": { + "type": "integer", + "description": "The sentence offset from the start of the document.", + "format": "int32" + }, + "length": { + "type": "integer", + "description": "The length of the sentence.", + "format": "int32" + } + } + }, + "TextRecord": { + "type": "object", + "description": "Represent input text record to be queried.", + "additionalProperties": false, + "required": [ + "id", + "text" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the text record." + }, + "text": { + "type": "string", + "description": "Text contents of the record." + } + } + } + }, + "parameters": { + "KnowledgeBaseQueryOptions": { + "name": "knowledgeBaseQueryOptions", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/KnowledgeBaseQueryOptions" + }, + "x-nullable": true, + "description": "Post body of the request.", + "x-ms-parameter-location": "method" + }, + "TextQueryOptions": { + "name": "textQueryOptions", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TextQueryOptions" + }, + "x-nullable": true, + "description": "Post body of the request.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/readme.md b/specification/cognitiveservices/data-plane/Language/readme.md index 7acc0a25354f..19f0faaa8f13 100644 --- a/specification/cognitiveservices/data-plane/Language/readme.md +++ b/specification/cognitiveservices/data-plane/Language/readme.md @@ -6,7 +6,22 @@ This is the AutoRest configuration file the Cognitive Services Language SDK. ## Releases -The current preview release is 2021-05-01-preview +The current stable release of QuestionAnswering is 2021-10-01 and preview release of Luis Deepstack is 2021-07-15-preview + + +```yaml +tag: release_2021_10_01 +add-credentials: true +clear-output-folder: true +openapi-type: data-plane +``` + +```yaml +tag: release_2021_07_15_preview +add-credentials: true +clear-output-folder: true +openapi-type: data-plane +``` ```yaml tag: release_2021_05_01_preview @@ -14,6 +29,34 @@ add-credentials: true clear-output-folder: true ``` +### Release 2021-10-01 + +These settings apply only when `--tag=release_2021_10_01` is specified on the command line. + +``` yaml $(tag) == 'release_2021_10_01' +input-file: + - stable/2021-10-01/questionanswering.json + - stable/2021-10-01/questionanswering-authoring.json +title: + Microsoft Cognitive Language Service +modelerfour: + lenient-model-deduplication: true +``` + +### Release 2021-07-15-preview + +These settings apply only when `--tag=release_2021_07_15_preview` is specified on the command line. + +``` yaml $(tag) == 'release_2021_07_15_preview' +input-file: +- preview/2021-07-15-preview/questionanswering.json +- preview/2021-07-15-preview/questionanswering-authoring.json +title: + Microsoft Cognitive Language Service +modelerfour: + lenient-model-deduplication: true +``` + ### Release 2021-05-01-preview These settings apply only when `--tag=elease_2021_05_01_preview` is specified on the command line. @@ -36,6 +79,5 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-net - - repo: azure-sdk-for-net-track2 - repo: azure-sdk-for-python ``` diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/common.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/common.json new file mode 100644 index 000000000000..10f09c4bdd71 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/common.json @@ -0,0 +1,237 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft Cognitive Language Service", + "description": "The language service API is a suite of natural language processing (NLP) skills built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction, language detection and question answering. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview.", + "version": "2021-10-01" + }, + "paths": {}, + "definitions": { + "ErrorResponse": { + "type": "object", + "description": "Error response.", + "additionalProperties": false, + "properties": { + "error": { + "description": "The error object.", + "$ref": "#/definitions/Error" + } + } + }, + "Error": { + "type": "object", + "description": "The error object.", + "additionalProperties": false, + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "description": "One of a server-defined set of error codes.", + "$ref": "#/definitions/ErrorCode" + }, + "message": { + "type": "string", + "description": "A human-readable representation of the error." + }, + "target": { + "type": "string", + "description": "The target of the error." + }, + "details": { + "type": "array", + "description": "An array of details about specific errors that led to this reported error.", + "items": { + "$ref": "#/definitions/Error" + } + }, + "innererror": { + "description": "An object containing more specific information than the current object about the error.", + "$ref": "#/definitions/InnerErrorModel" + } + } + }, + "InnerErrorModel": { + "type": "object", + "description": "An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.", + "additionalProperties": false, + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "description": "One of a server-defined set of error codes.", + "$ref": "#/definitions/InnerErrorCode" + }, + "message": { + "type": "string", + "description": "Error message." + }, + "details": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Error details." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "innererror": { + "description": "An object containing more specific information than the current object about the error.", + "$ref": "#/definitions/InnerErrorModel" + } + } + }, + "ErrorCode": { + "type": "string", + "description": "Human-readable error code.", + "x-ms-enum": { + "name": "ErrorCode", + "modelAsString": true + }, + "enum": [ + "InvalidRequest", + "InvalidArgument", + "Unauthorized", + "Forbidden", + "NotFound", + "ProjectNotFound", + "OperationNotFound", + "AzureCognitiveSearchNotFound", + "AzureCognitiveSearchIndexNotFound", + "TooManyRequests", + "AzureCognitiveSearchThrottling", + "AzureCognitiveSearchIndexLimitReached", + "InternalServerError", + "ServiceUnavailable" + ] + }, + "InnerErrorCode": { + "type": "string", + "description": "Human-readable error code.", + "x-ms-enum": { + "name": "InnerErrorCode", + "modelAsString": true + }, + "enum": [ + "InvalidRequest", + "InvalidParameterValue", + "KnowledgeBaseNotFound", + "AzureCognitiveSearchNotFound", + "AzureCognitiveSearchThrottling", + "ExtractionFailure" + ] + }, + "Language": { + "type": "string", + "description": "Language of the text records. This is BCP-47 representation of a language. For example, use \"en\" for English; \"es\" for Spanish etc. If not set, use \"en\" for English as default." + }, + "StringIndexType": { + "type": "string", + "description": "Specifies the method used to interpret string offsets. Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information see https://aka.ms/text-analytics-offsets.", + "default": "TextElements_v8", + "enum": [ + "TextElements_v8", + "UnicodeCodePoint", + "Utf16CodeUnit" + ], + "x-ms-enum": { + "name": "StringIndexType", + "modelAsString": true, + "values": [ + { + "value": "TextElements_v8", + "description": "Returned offset and length values will correspond to TextElements (Graphemes and Grapheme clusters) confirming to the Unicode 8.0.0 standard. Use this option if your application is written in .Net Framework or .Net Core and you will be using StringInfo." + }, + { + "value": "UnicodeCodePoint", + "description": "Returned offset and length values will correspond to Unicode code points. Use this option if your application is written in a language that support Unicode, for example Python." + }, + { + "value": "Utf16CodeUnit", + "description": "Returned offset and length values will correspond to UTF-16 code units. Use this option if your application is written in a language that support Unicode, for example Java, JavaScript." + } + ] + } + } + }, + "parameters": { + "Endpoint": { + "name": "Endpoint", + "description": "Supported Cognitive Services endpoint (e.g., https://.api.cognitiveservices.azure.com).", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "ProjectNameQueryParameter": { + "name": "projectName", + "in": "query", + "required": true, + "type": "string", + "description": "The name of the project to use.", + "x-ms-parameter-location": "method" + }, + "ProjectNamePathParameter": { + "name": "projectName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 100, + "description": "The name of the project to use.", + "x-ms-parameter-location": "method" + }, + "DeploymentNameQueryParameter": { + "name": "deploymentName", + "in": "query", + "required": true, + "type": "string", + "description": "The name of the specific deployment of the project to use.", + "x-ms-parameter-location": "method" + }, + "DeploymentNamePathParameter": { + "name": "deploymentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the specific deployment of the project to use.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + }, + "TopParameter": { + "name": "top", + "in": "query", + "description": "The maximum number of resources to return from the collection.", + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "SkipParameter": { + "name": "skip", + "in": "query", + "description": "An offset into the collection of the first resource to be returned.", + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "MaxPageSizeParameter": { + "name": "maxpagesize", + "in": "query", + "description": "The maximum number of resources to include in a single response.", + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/SuccessfulQueryKnowledgebases.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/SuccessfulQueryKnowledgebases.json new file mode 100644 index 000000000000..60328232d911 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/SuccessfulQueryKnowledgebases.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1", + "deploymentName": "production", + "knowledgeBaseQueryOptions": { + "question": "how long it takes to charge surface?", + "top": 3, + "userId": "sd53lsY=", + "confidenceScoreThreshold": 0.20, + "context": { + "previousQnaId": 9, + "previousUserQuery": "Where are QnA Maker quickstarts?" + }, + "rankerType": "Default", + "filters": { + "metadataFilter": { + "metadata": [ + { + "key": "category", + "value": "api" + }, + { + "key": "editorial", + "value": "chitchat" + } + ], + "logicalOperation": "AND" + }, + "sourceFilter": [ + "filename1.pdf", + "https://www.wikipedia.org/microsoft" + ], + "logicalOperation": "AND" + }, + "answerSpanRequest": { + "enable": true, + "confidenceScoreThreshold": 0.20, + "topAnswersWithSpan": 1 + }, + "includeUnstructuredSources": true + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "answers": [ + { + "questions": [ + "Power and charging" + ], + "answer": "Power and charging**\n\nIt takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.\n\nYou can use the USB port on your Surface Pro 4 power supply to charge other devices, like a phone, while your Surface charges. The USB port on the power supply is only for charging, not for data transfer. If you want to use a USB device, plug it into the USB port on your Surface.", + "confidenceScore": 0.65, + "id": 20, + "source": "surface-pro-4-user-guide-EN.pdf", + "metadata": { + "category": "api", + "editorial": "chitchat" + }, + "dialog": { + "isContextOnly": false, + "prompts": [ + { + "displayOrder": 1, + "qnaId": 23, + "displayText": "prompt1" + }, + { + "displayOrder": 2, + "qnaId": 36, + "displayText": "prompt2" + } + ] + }, + "answerSpan": { + "text": "two to four hours", + "confidenceScore": 0.30, + "offset": 33, + "length": 50 + } + }, + { + "questions": [ + "Charge your Surface Pro 4" + ], + "answer": "**Charge your Surface Pro 4**\n\n1. Connect the two parts of the power cord.\n\n2. Connect the power cord securely to the charging port.\n\n3. Plug the power supply into an electrical outlet.", + "confidenceScore": 0.32, + "id": 13, + "source": "surface-pro-4-user-guide-EN.pdf" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/SuccessfulQueryText.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/SuccessfulQueryText.json new file mode 100644 index 000000000000..cf2fcc810ed8 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/SuccessfulQueryText.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "stringIndexType": "TextElements_v8", + "textQueryOptions": { + "question": "how long it takes to charge surface?", + "records": [ + { + "id": "1", + "text": "Power and charging. It takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it." + }, + { + "id": "2", + "text": "You can use the USB port on your Surface Pro 4 power supply to charge other devices, like a phone, while your Surface charges. The USB port on the power supply is only for charging, not for data transfer. If you want to use a USB device, plug it into the USB port on your Surface." + } + ], + "language": "en" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "answers": [ + { + "answer": "Power and charging. It takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.", + "confidenceScore": 0.93, + "id": "1", + "answerSpan": { + "text": "two to four hours", + "confidenceScore": 0, + "offset": 28, + "length": 45 + }, + "offset": 0, + "length": 224 + }, + { + "answer": "It takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.", + "confidenceScore": 0.92, + "id": "1", + "answerSpan": { + "text": "two to four hours", + "confidenceScore": 0, + "offset": 8, + "length": 25 + }, + "offset": 20, + "length": 224 + }, + { + "answer": "It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.", + "confidenceScore": 0.05, + "id": "1", + "answerSpan": null, + "offset": 110, + "length": 244 + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulCreateProject.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulCreateProject.json new file mode 100644 index 000000000000..67504fa6d44b --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulCreateProject.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1", + "body": { + "description": "proj1 is a test project.", + "language": "en", + "settings": { + "defaultAnswer": "No good match found for your question in the Knowledgebase." + }, + "multilingualResource": true + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "projectName": "proj1", + "description": "proj1 is a test project.", + "language": "en", + "settings": { + "defaultAnswer": "No good match found for your question in the Knowledgebase." + }, + "multilingualResource": true, + "createdDateTime": "2021-05-01T15:13:22Z", + "lastModifiedDateTime": "2021-05-01T15:13:22Z", + "lastDeployedDateTime": "2021-05-01T15:13:22Z" + } + }, + "201": { + "headers": {}, + "body": { + "projectName": "proj1", + "description": "proj1 is a test project.", + "language": "en", + "settings": { + "defaultAnswer": "No good match found for your question in the Knowledgebase." + }, + "multilingualResource": true, + "createdDateTime": "2021-05-01T15:13:22Z", + "lastModifiedDateTime": "2021-05-01T15:13:22Z", + "lastDeployedDateTime": "2021-05-01T15:13:22Z" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulDeleteProject.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulDeleteProject.json new file mode 100644 index 000000000000..f253a50354a2 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulDeleteProject.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1" + }, + "responses": { + "202": {} + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetProject.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetProject.json new file mode 100644 index 000000000000..6ad6e2fa0d75 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetProject.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "projectName": "proj1", + "description": "proj1 is a test project.", + "language": "en", + "settings": { + "defaultAnswer": "No good match found for your question in the Knowledgebase." + }, + "createdDateTime": "2021-05-01T15:13:22Z", + "lastModifiedDateTime": "2021-05-01T15:13:22Z", + "lastDeployedDateTime": "2021-05-01T15:13:22Z" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetQnas.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetQnas.json new file mode 100644 index 000000000000..fca3b45ad161 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetQnas.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": 1, + "answer": "ans1", + "source": "source1", + "questions": [ + "question 1.1", + "question 1.2" + ], + "metadata": { + "k1": "v1", + "k2": "v2" + }, + "dialog": { + "isContextOnly": false, + "prompts": [ + { + "displayOrder": 1, + "qnaId": 11, + "displayText": "prompt 1.1" + }, + { + "displayOrder": 2, + "qnaId": 21, + "displayText": "prompt 1.2" + } + ] + }, + "lastUpdatedDateTime": "2021-05-01T17:21:14Z" + }, + { + "id": 2, + "answer": "ans2", + "source": "source2", + "questions": [ + "question 2.1", + "question 2.2" + ], + "lastUpdatedDateTime": "2021-05-01T17:21:14Z" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetSources.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetSources.json new file mode 100644 index 000000000000..6bbeb525ab0b --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetSources.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "displayName": "source1", + "sourceUri": "https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/overview/overview", + "sourceKind": "url", + "lastUpdatedDateTime": "2021-05-01T15:13:22Z" + }, + { + "displayName": "source2", + "sourceUri": "https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf", + "sourceKind": "file", + "contentStructureKind": "unstructured", + "lastUpdatedDateTime": "2021-05-01T15:13:22Z" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetSynonyms.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetSynonyms.json new file mode 100644 index 000000000000..bd467f4ef778 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetSynonyms.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "alterations": [ + "qnamaker", + "qna maker" + ] + }, + { + "alterations": [ + "botframework", + "bot framework" + ] + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectDeleteJobStatus.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectDeleteJobStatus.json new file mode 100644 index 000000000000..e7909c8ef260 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectDeleteJobStatus.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "jobId": "job1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "errors": [], + "createdDateTime": "2021-05-01T17:21:14Z", + "expirationDateTime": "2021-05-01T17:21:14Z", + "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a", + "lastUpdatedDateTime": "2021-05-01T17:21:14Z", + "status": "succeeded" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectDeployJobStatus.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectDeployJobStatus.json new file mode 100644 index 000000000000..34b059ee399b --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectDeployJobStatus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1", + "deploymentName": "production", + "jobId": "job1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "errors": [], + "createdDateTime": "2021-05-01T17:21:14Z", + "expirationDateTime": "2021-05-01T17:21:14Z", + "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a", + "lastUpdatedDateTime": "2021-05-01T17:21:14Z", + "status": "succeeded" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectExportJobStatus.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectExportJobStatus.json new file mode 100644 index 000000000000..93aa517176a9 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectExportJobStatus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1", + "jobId": "job1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "errors": [], + "createdDateTime": "2021-05-01T17:21:14Z", + "expirationDateTime": "2021-05-01T17:21:14Z", + "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a", + "lastUpdatedDateTime": "2021-05-01T17:21:14Z", + "status": "succeeded", + "resultUrl": "https:///language/proj1/export/job1/result" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectImportJobStatus.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectImportJobStatus.json new file mode 100644 index 000000000000..22cc3ea32019 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectImportJobStatus.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1", + "jobId": "job1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "errors": [], + "createdDateTime": "2021-05-01T17:21:14Z", + "expirationDateTime": "2021-05-01T17:21:14Z", + "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a", + "lastUpdatedDateTime": "2021-05-01T17:21:14Z", + "status": "succeeded" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectListDeployments.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectListDeployments.json new file mode 100644 index 000000000000..2adf8de1039c --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectListDeployments.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "deploymentName": "production", + "lastDeployedDateTime": "2021-05-01T15:13:22Z" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectSubmitDeployJob.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectSubmitDeployJob.json new file mode 100644 index 000000000000..3d9466a82c60 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectSubmitDeployJob.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1", + "deploymentName": "production" + }, + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.", + "headers": { + "Operation-Location": "job1" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectSubmitExportJob.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectSubmitExportJob.json new file mode 100644 index 000000000000..c2d558a907c0 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectSubmitExportJob.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1", + "body": { + "exportAssetTypes": [ + "qnas", + "synonyms" + ] + } + }, + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.", + "headers": { + "Operation-Location": "job1" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectSubmitImportJob.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectSubmitImportJob.json new file mode 100644 index 000000000000..dc1ffddccb48 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectSubmitImportJob.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1", + "body": { + "assets": { + "synonyms": [ + { + "alterations": [ + "wa", + "washington", + "washington state" + ] + }, + { + "alterations": [ + "U.S", + "usa", + "united states of america" + ] + } + ], + "qnas": [ + { + "lastUpdatedDateTime": "2021-05-01T17:21:14Z", + "id": 1, + "answer": "ans1", + "source": "source1", + "questions": [ + "question 1.1", + "question 1.2" + ], + "metadata": { + "k1": "v1", + "k2": "v2" + }, + "dialog": { + "isContextOnly": false, + "prompts": [ + { + "displayOrder": 1, + "qnaId": 11, + "displayText": "prompt 1.1" + }, + { + "displayOrder": 2, + "qnaId": 21, + "displayText": "prompt 1.2" + } + ] + } + }, + { + "lastUpdatedDateTime": "2021-05-01T17:21:14Z", + "id": 2, + "answer": "ans2", + "source": "source2", + "questions": [ + "question 2.1", + "question 2.2" + ] + } + ] + } + } + }, + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.", + "headers": { + "Operation-Location": "job1" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectsListProjects.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectsListProjects.json new file mode 100644 index 000000000000..24543bca92e4 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectsListProjects.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "projectName": "proj1", + "description": "proj1 is a test project.", + "language": "en", + "multilingualResource": true, + "createdDateTime": "2021-05-01T15:13:22Z", + "lastModifiedDateTime": "2021-05-01T15:13:22Z", + "lastDeployedDateTime": "2021-05-01T15:13:22Z" + }, + { + "projectName": "proj2", + "description": "proj2 is a test project.", + "language": "fr", + "multilingualResource": true, + "createdDateTime": "2021-05-01T15:13:22Z", + "lastModifiedDateTime": "2021-05-01T15:13:22Z", + "lastDeployedDateTime": "2021-05-01T15:13:22Z" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateActiveLearningFeedback.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateActiveLearningFeedback.json new file mode 100644 index 000000000000..a367a26e46c2 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateActiveLearningFeedback.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1", + "body": { + "records": [ + { + "userId": "user1", + "userQuestion": "hi", + "qnaId": 1 + }, + { + "userId": "user1", + "userQuestion": "hello", + "qnaId": 2 + } + ] + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateQnas.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateQnas.json new file mode 100644 index 000000000000..6b895883e37e --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateQnas.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1", + "body": [ + { + "op": "add", + "value": { + "id": 3, + "answer": "ans3", + "source": "source1", + "questions": [ + "question 3.1", + "question 3.2" + ], + "metadata": { + "k1": "v1", + "k2": "v2" + }, + "dialog": { + "isContextOnly": false, + "prompts": [ + { + "displayOrder": 1, + "qnaId": 11, + "displayText": "prompt 3.1" + }, + { + "displayOrder": 2, + "qnaId": 21, + "displayText": "prompt 3.2" + } + ] + } + } + }, + { + "op": "replace", + "value": { + "id": 1, + "answer": "ans4", + "source": "source1", + "questions": [ + "question 4.1", + "question 4.2" + ] + } + }, + { + "op": "delete", + "value": { + "id": 2, + "answer": "ans2", + "source": "source1", + "questions": [ + "question 2.1", + "question 2.2" + ] + } + } + ] + }, + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.", + "headers": { + "Operation-Location": "job1" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateQnasJobStatus.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateQnasJobStatus.json new file mode 100644 index 000000000000..22cc3ea32019 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateQnasJobStatus.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1", + "jobId": "job1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "errors": [], + "createdDateTime": "2021-05-01T17:21:14Z", + "expirationDateTime": "2021-05-01T17:21:14Z", + "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a", + "lastUpdatedDateTime": "2021-05-01T17:21:14Z", + "status": "succeeded" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateSources.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateSources.json new file mode 100644 index 000000000000..5854f376ceeb --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateSources.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1", + "body": [ + { + "op": "add", + "value": { + "displayName": "source3", + "sourceUri": "https://docs.microsoft.com/en-us/azure/cognitive-services/cognitive-services-support-options?context=/azure/cognitive-services/qnamaker/context/context", + "sourceKind": "url" + } + }, + { + "op": "replace", + "value": { + "displayName": "source1", + "sourceUri": "https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/overview/overview", + "sourceKind": "url", + "refresh": true + } + }, + { + "op": "delete", + "value": { + "displayName": "source2", + "sourceUri": "https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf", + "sourceKind": "file" + } + } + ] + }, + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.", + "headers": { + "Operation-Location": "job1" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateSourcesJobStatus.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateSourcesJobStatus.json new file mode 100644 index 000000000000..22cc3ea32019 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateSourcesJobStatus.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1", + "jobId": "job1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "errors": [], + "createdDateTime": "2021-05-01T17:21:14Z", + "expirationDateTime": "2021-05-01T17:21:14Z", + "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a", + "lastUpdatedDateTime": "2021-05-01T17:21:14Z", + "status": "succeeded" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateSynonyms.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateSynonyms.json new file mode 100644 index 000000000000..3a397db6860c --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateSynonyms.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-10-01", + "projectName": "proj1", + "body": { + "value": [ + { + "alterations": [ + "qnamaker", + "qna maker" + ] + }, + { + "alterations": [ + "botframework", + "bot framework" + ] + } + ] + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/questionanswering-authoring.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/questionanswering-authoring.json new file mode 100644 index 000000000000..3c42db5abf75 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/questionanswering-authoring.json @@ -0,0 +1,1781 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft Cognitive Language Service - Question Answering - Authoring", + "description": "The language service API is a suite of natural language processing (NLP) skills built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction, language detection and question answering. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview.", + "version": "2021-10-01" + }, + "securityDefinitions": { + "apim_key": { + "type": "apiKey", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" + } + }, + "security": [ + { + "apim_key": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}/language", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "common.json#/parameters/Endpoint" + } + ] + }, + "paths": { + "/query-knowledgebases/projects": { + "get": { + "summary": "Gets all projects for a user.", + "operationId": "QuestionAnsweringProjects_ListProjects", + "parameters": [ + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "common.json#/parameters/TopParameter" + }, + { + "$ref": "common.json#/parameters/SkipParameter" + }, + { + "$ref": "common.json#/parameters/MaxPageSizeParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "responses": { + "200": { + "description": "The metadata of all projects.", + "schema": { + "$ref": "#/definitions/ProjectsMetadata" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulProjectsListProjects.json" + } + } + } + }, + "/query-knowledgebases/projects/{projectName}": { + "get": { + "summary": "Get the requested project metadata.", + "operationId": "QuestionAnsweringProjects_GetProjectDetails", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "The metadata for the specified project.", + "schema": { + "$ref": "#/definitions/ProjectMetadata" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulGetProject.json" + } + } + }, + "patch": { + "summary": "Create or update a project.", + "operationId": "QuestionAnsweringProjects_CreateProject", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "description": "Parameters needed to create the project.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateProjectOptions" + } + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "The metadata of the updated project, if it already exists.", + "schema": { + "$ref": "#/definitions/ProjectMetadata" + } + }, + "201": { + "description": "The metadata of the created project, if it doesn't exist.", + "schema": { + "$ref": "#/definitions/ProjectMetadata" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulCreateProject.json" + } + } + }, + "delete": { + "summary": "Delete the project.", + "operationId": "QuestionAnsweringProjects_DeleteProject", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the job.", + "headers": { + "Operation-Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulDeleteProject.json" + } + } + } + }, + "/query-knowledgebases/projects/deletion-jobs/{jobId}": { + "get": { + "summary": "Gets the status of a Project delete job.", + "operationId": "QuestionAnsweringProjects_GetDeleteStatus", + "parameters": [ + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobIdParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Project delete job status.", + "schema": { + "$ref": "#/definitions/JobState" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulProjectDeleteJobStatus.json" + } + } + } + }, + "/query-knowledgebases/projects/{projectName}/:export": { + "post": { + "summary": "Export project metadata and assets.", + "operationId": "QuestionAnsweringProjects_Export", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ImportExportFormatParameter" + }, + { + "$ref": "#/parameters/AssetKindParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the job.", + "headers": { + "Operation-Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulProjectSubmitExportJob.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/query-knowledgebases/projects/{projectName}/export/jobs/{jobId}": { + "get": { + "summary": "Gets the status of an Export job, once job completes, returns the project metadata, and assets.", + "operationId": "QuestionAnsweringProjects_GetExportStatus", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobIdParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Export job status, project metadata, and assets.", + "schema": { + "$ref": "#/definitions/ExportJobState" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulProjectExportJobStatus.json" + } + } + } + }, + "/query-knowledgebases/projects/{projectName}/:import": { + "post": { + "summary": "Import project assets.", + "operationId": "QuestionAnsweringProjects_Import", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "description": "Project assets the needs to be imported.", + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/ImportJobOptions" + } + }, + { + "$ref": "#/parameters/ImportExportFormatParameter" + }, + { + "$ref": "#/parameters/AssetKindParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the job.", + "headers": { + "Operation-Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulProjectSubmitImportJob.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/query-knowledgebases/projects/{projectName}/import/jobs/{jobId}": { + "get": { + "summary": "Gets the status of an Import job.", + "operationId": "QuestionAnsweringProjects_GetImportStatus", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobIdParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Import job status.", + "schema": { + "$ref": "#/definitions/JobState" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulProjectImportJobStatus.json" + } + } + } + }, + "/query-knowledgebases/projects/{projectName}/deployments/{deploymentName}": { + "put": { + "summary": "Deploy project to production.", + "operationId": "QuestionAnsweringProjects_DeployProject", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/DeploymentNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the job.", + "headers": { + "Operation-Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulProjectSubmitDeployJob.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/query-knowledgebases/projects/{projectName}/deployments/{deploymentName}/jobs/{jobId}": { + "get": { + "summary": "Gets the status of a Deploy job.", + "operationId": "QuestionAnsweringProjects_GetDeployStatus", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/DeploymentNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobIdParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Deploy job state.", + "schema": { + "$ref": "#/definitions/JobState" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulProjectDeployJobStatus.json" + } + } + } + }, + "/query-knowledgebases/projects/{projectName}/deployments": { + "get": { + "summary": "List all deployments of a project.", + "operationId": "QuestionAnsweringProjects_ListDeployments", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "common.json#/parameters/TopParameter" + }, + { + "$ref": "common.json#/parameters/SkipParameter" + }, + { + "$ref": "common.json#/parameters/MaxPageSizeParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "responses": { + "200": { + "description": "List of deployments of a project.", + "schema": { + "$ref": "#/definitions/ProjectDeployments" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulProjectListDeployments.json" + } + } + } + }, + "/query-knowledgebases/projects/{projectName}/synonyms": { + "get": { + "summary": "Gets all the synonyms of a project.", + "operationId": "QuestionAnsweringProjects_GetSynonyms", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "common.json#/parameters/TopParameter" + }, + { + "$ref": "common.json#/parameters/SkipParameter" + }, + { + "$ref": "common.json#/parameters/MaxPageSizeParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "responses": { + "200": { + "description": "All the synonyms of a project.", + "schema": { + "$ref": "#/definitions/SynonymAssets" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulGetSynonyms.json" + } + } + }, + "put": { + "summary": "Updates all the synonyms of a project.", + "operationId": "QuestionAnsweringProjects_UpdateSynonyms", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "description": "All the synonyms of a project.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SynonymAssets" + } + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "204": { + "description": "Synonyms update successfully." + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateSynonyms.json" + } + } + } + }, + "/query-knowledgebases/projects/{projectName}/sources": { + "get": { + "summary": "Gets all the sources of a project.", + "operationId": "QuestionAnsweringProjects_GetSources", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "common.json#/parameters/TopParameter" + }, + { + "$ref": "common.json#/parameters/SkipParameter" + }, + { + "$ref": "common.json#/parameters/MaxPageSizeParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "responses": { + "200": { + "description": "All the sources of a project.", + "schema": { + "$ref": "#/definitions/QnaSources" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulGetSources.json" + } + } + }, + "patch": { + "summary": "Updates the sources of a project.", + "operationId": "QuestionAnsweringProjects_UpdateSources", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "description": "Update sources parameters of a project.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateSourcesOptions" + } + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the job.", + "headers": { + "Operation-Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateSources.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/query-knowledgebases/projects/{projectName}/sources/jobs/{jobId}": { + "get": { + "summary": "Gets the status of update sources job.", + "operationId": "QuestionAnsweringProjects_GetUpdateSourcesStatus", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobIdParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Update sources job state.", + "schema": { + "$ref": "#/definitions/JobState" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateSourcesJobStatus.json" + } + } + } + }, + "/query-knowledgebases/projects/{projectName}/qnas": { + "get": { + "summary": "Gets all the QnAs of a project.", + "operationId": "QuestionAnsweringProjects_GetQnas", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SourceFilterParameter" + }, + { + "$ref": "common.json#/parameters/TopParameter" + }, + { + "$ref": "common.json#/parameters/SkipParameter" + }, + { + "$ref": "common.json#/parameters/MaxPageSizeParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "responses": { + "200": { + "description": "All the QnAs of a project.", + "schema": { + "$ref": "#/definitions/QnaAssets" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulGetQnas.json" + } + } + }, + "patch": { + "summary": "Updates the QnAs of a project.", + "operationId": "QuestionAnsweringProjects_UpdateQnas", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "description": "Update QnAs parameters of a project.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateQnaOptions" + } + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the job.", + "headers": { + "Operation-Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateQnas.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/query-knowledgebases/projects/{projectName}/qnas/jobs/{jobId}": { + "get": { + "summary": "Gets the status of update QnAs job.", + "operationId": "QuestionAnsweringProjects_GetUpdateQnasStatus", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobIdParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Update QnAs job state.", + "schema": { + "$ref": "#/definitions/JobState" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateQnasJobStatus.json" + } + } + } + }, + "/query-knowledgebases/projects/{projectName}/feedback": { + "post": { + "summary": "Update Active Learning feedback.", + "operationId": "QuestionAnsweringProjects_AddFeedback", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNamePathParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + }, + { + "description": "Feedback for Active Learning.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ActiveLearningFeedback" + } + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "204": { + "description": "Feedback recorded successfully." + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateActiveLearningFeedback.json" + } + } + } + } + }, + "definitions": { + "ActiveLearningFeedback": { + "type": "object", + "description": "Feedback for Active Learning.", + "additionalProperties": false, + "properties": { + "records": { + "$ref": "#/definitions/FeedbackRecords" + } + } + }, + "FeedbackRecords": { + "type": "array", + "description": "A list of Feedback Records for Active Learning.", + "additionalProperties": false, + "items": { + "$ref": "#/definitions/FeedbackRecord" + } + }, + "FeedbackRecord": { + "type": "object", + "description": "Feedback Record for Active Learning.", + "additionalProperties": false, + "properties": { + "userId": { + "type": "string", + "description": "Unique identifier of the user." + }, + "userQuestion": { + "type": "string", + "description": "User suggested question for the QnA." + }, + "qnaId": { + "type": "integer", + "description": "Unique ID of the QnA.", + "format": "int32" + } + } + }, + "ProjectsMetadata": { + "type": "object", + "description": "Collection of projects metadata and global settings.", + "additionalProperties": false, + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ProjectMetadata" + } + }, + "nextLink": { + "type": "string" + } + } + }, + "ProjectMetadata": { + "type": "object", + "description": "Represents the project.", + "additionalProperties": false, + "properties": { + "projectName": { + "type": "string", + "description": "Name of the project." + }, + "description": { + "type": "string", + "description": "Description of the project." + }, + "language": { + "$ref": "common.json#/definitions/Language" + }, + "multilingualResource": { + "type": "boolean", + "description": "Resource enabled for multiple languages across projects or not." + }, + "settings": { + "$ref": "#/definitions/ProjectSettings" + }, + "createdDateTime": { + "type": "string", + "description": "Project creation date-time.", + "format": "date-time" + }, + "lastModifiedDateTime": { + "type": "string", + "description": "Represents the project last modified date-time.", + "format": "date-time" + }, + "lastDeployedDateTime": { + "type": "string", + "description": "Represents the project last deployment date-time.", + "format": "date-time" + } + } + }, + "CreateProjectOptions": { + "type": "object", + "description": "Parameters needed to create the project.", + "additionalProperties": false, + "required": [ + "language" + ], + "properties": { + "description": { + "type": "string", + "description": "Description of the project." + }, + "language": { + "$ref": "common.json#/definitions/Language" + }, + "multilingualResource": { + "type": "boolean", + "description": "Set to true to enable creating knowledgebases in different languages for the same resource." + }, + "settings": { + "$ref": "#/definitions/ProjectSettings" + } + } + }, + "ProjectSettings": { + "type": "object", + "description": "Configurable settings of the Project.", + "additionalProperties": false, + "properties": { + "defaultAnswer": { + "type": "string", + "description": "Default Answer response when no good match is found in the knowledge base." + } + } + }, + "ImportJobOptions": { + "type": "object", + "description": "Project assets the needs to be imported.", + "additionalProperties": false, + "properties": { + "metadata": { + "$ref": "#/definitions/CreateProjectOptions" + }, + "assets": { + "$ref": "#/definitions/Assets" + }, + "fileUri": { + "type": "string", + "description": "Import data File URI." + } + } + }, + "JobMetadata": { + "description": "Represents the job metadata.", + "properties": { + "createdDateTime": { + "format": "date-time", + "type": "string" + }, + "expirationDateTime": { + "format": "date-time", + "type": "string" + }, + "jobId": { + "type": "string" + }, + "lastUpdatedDateTime": { + "format": "date-time", + "type": "string" + }, + "status": { + "$ref": "#/definitions/JobStatus" + } + }, + "required": [ + "jobId", + "lastUpdatedDateTime", + "createdDateTime", + "status" + ], + "type": "object" + }, + "JobStatus": { + "description": "Job Status.", + "enum": [ + "notStarted", + "running", + "succeeded", + "failed", + "cancelled", + "cancelling", + "partiallyCompleted" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "jobStatus" + } + }, + "JobState": { + "description": "Job state represents the job metadata and any errors.", + "allOf": [ + { + "$ref": "#/definitions/JobMetadata" + }, + { + "$ref": "#/definitions/Errors" + } + ] + }, + "Errors": { + "description": "Collection of Error types.", + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "common.json#/definitions/Error" + } + } + } + }, + "ExportJobState": { + "description": "Export job status, project metadata, and assets.", + "allOf": [ + { + "$ref": "#/definitions/JobState" + }, + { + "$ref": "#/definitions/ExportJobResultUrl" + } + ] + }, + "ExportJobResultUrl": { + "type": "object", + "description": "URL to download the result of the Export Job.", + "required": [ + "resultUrl" + ], + "properties": { + "resultUrl": { + "type": "string", + "description": "URL to download the result of the Export Job." + } + } + }, + "Assets": { + "type": "object", + "description": "All assets for this project.", + "additionalProperties": false, + "properties": { + "synonyms": { + "$ref": "#/definitions/SynonymAsset" + }, + "qnas": { + "$ref": "#/definitions/ImportQnaAsset" + } + } + }, + "SynonymAssets": { + "type": "object", + "description": "All synonym assets for this project.", + "additionalProperties": false, + "properties": { + "value": { + "$ref": "#/definitions/SynonymAsset" + }, + "nextLink": { + "type": "string" + } + } + }, + "SynonymAsset": { + "type": "array", + "description": "Collection of synonyms.", + "additionalProperties": false, + "maxLength": 10000, + "items": { + "$ref": "#/definitions/WordAlterations" + } + }, + "WordAlterations": { + "type": "object", + "description": "Collection of word alterations.", + "additionalProperties": false, + "required": [ + "alterations" + ], + "properties": { + "alterations": { + "type": "array", + "description": "Collection of word alterations.", + "maxLength": 20, + "items": { + "type": "string" + } + } + } + }, + "QnaAssets": { + "type": "object", + "description": "All QnA assets for the project.", + "additionalProperties": false, + "properties": { + "value": { + "$ref": "#/definitions/QnaAsset" + }, + "nextLink": { + "type": "string" + } + } + }, + "ImportQnaAsset": { + "type": "array", + "description": "List of QnA records to import.", + "additionalProperties": false, + "items": { + "$ref": "#/definitions/ImportQnaRecord" + } + }, + "QnaAsset": { + "type": "array", + "description": "List of QnA records.", + "additionalProperties": false, + "items": { + "$ref": "#/definitions/RetrieveQnaRecord" + } + }, + "QnaRecord": { + "type": "object", + "description": "QnA record.", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer", + "description": "Unique ID for the QnA.", + "format": "int32" + }, + "answer": { + "type": "string", + "description": "Answer text.", + "maxLength": 25000, + "minLength": 1 + }, + "source": { + "type": "string", + "description": "Source from which QnA was indexed e.g. https://docs.microsoft.com/en-us/azure/cognitive-services/QnAMaker/FAQs .", + "maxLength": 300 + }, + "questions": { + "type": "array", + "description": "List of questions associated with the answer.", + "maxLength": 100, + "minLength": 1, + "items": { + "type": "string" + } + }, + "metadata": { + "type": "object", + "description": "Metadata associated with the answer, useful to categorize or filter question answers.", + "additionalProperties": { + "type": "string" + } + }, + "dialog": { + "description": "Context of a QnA.", + "$ref": "#/definitions/QnaDialog" + }, + "activeLearningSuggestions": { + "type": "array", + "description": "List of Active Learning suggestions for the QnA.", + "items": { + "$ref": "#/definitions/SuggestedQuestionsCluster" + } + } + } + }, + "SuggestedQuestionsCluster": { + "type": "object", + "description": "Active Learning suggested questions cluster details.", + "additionalProperties": false, + "properties": { + "clusterHead": { + "type": "string", + "description": "Question chosen as the head of suggested questions cluster by Active Learning clustering algorithm." + }, + "suggestedQuestions": { + "type": "array", + "description": "List of all suggested questions for the QnA.", + "items": { + "$ref": "#/definitions/SuggestedQuestion" + } + } + } + }, + "SuggestedQuestion": { + "type": "object", + "description": "Question suggested by the Active Learning feature.", + "additionalProperties": false, + "properties": { + "question": { + "type": "string", + "description": "Question suggested by the Active Learning feature." + }, + "userSuggestedCount": { + "type": "integer", + "description": "The number of times the question was suggested explicitly by the user.", + "format": "int32" + }, + "autoSuggestedCount": { + "type": "integer", + "description": "The number of times the question was suggested automatically by the Active Learning algorithm.", + "format": "int32" + } + } + }, + "ImportQnaRecord": { + "description": "Import QnA Record.", + "allOf": [ + { + "$ref": "#/definitions/RetrieveQnaRecord" + }, + { + "$ref": "#/definitions/SourceDisplayNameParameter" + } + ] + }, + "SourceDisplayNameParameter": { + "type": "object", + "properties": { + "sourceDisplayName": { + "description": "Friendly name of the Source.", + "type": "string", + "maxLength": 200, + "minLength": 1 + } + } + }, + "RetrieveQnaRecord": { + "description": "QnA Record with last updated date-time.", + "allOf": [ + { + "$ref": "#/definitions/QnaRecord" + }, + { + "$ref": "#/definitions/LastUpdatedDateTimeParameter" + } + ] + }, + "LastUpdatedDateTimeParameter": { + "type": "object", + "description": "Last updated date-time parameter.", + "properties": { + "lastUpdatedDateTime": { + "type": "string", + "format": "date-time", + "description": "Date-time when the QnA was last updated." + } + } + }, + "QnaDialog": { + "type": "object", + "description": "Dialog associated with QnA Record.", + "properties": { + "isContextOnly": { + "type": "boolean", + "description": "To mark if a prompt is relevant only with a previous question or not. If true, do not include this QnA as answer for queries without context; otherwise, ignores context and includes this QnA in answers." + }, + "prompts": { + "type": "array", + "description": "List of prompts associated with the answer.", + "maxItems": 20, + "items": { + "$ref": "#/definitions/QnaPrompt" + } + } + } + }, + "QnaPrompt": { + "type": "object", + "description": "Prompt for an answer.", + "properties": { + "displayOrder": { + "type": "integer", + "description": "Index of the prompt. It is used for ordering of the prompts.", + "format": "int32" + }, + "qnaId": { + "type": "integer", + "description": "ID of the QnA corresponding to the prompt.", + "format": "int32" + }, + "qna": { + "description": "QnA record. Either QnAId or QnA record needs to be present in a Prompt.", + "$ref": "#/definitions/QnaRecord" + }, + "displayText": { + "type": "string", + "description": "Text displayed to represent a follow up question prompt.", + "maxLength": 200 + } + } + }, + "UpdateOperationKind": { + "type": "string", + "description": "Update operation type for assets.", + "enum": [ + "add", + "delete", + "replace" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "updateOperationKind" + } + }, + "UpdateSourcesOptions": { + "type": "array", + "description": "A list of sources to be updated.", + "additionalProperties": false, + "items": { + "$ref": "#/definitions/UpdateSourceRecord" + } + }, + "UpdateQnaOptions": { + "type": "array", + "description": "A list of QnAs to be updated.", + "additionalProperties": false, + "items": { + "$ref": "#/definitions/UpdateQnaRecord" + } + }, + "UpdateQnaRecord": { + "type": "object", + "description": "QnA record to be updated.", + "additionalProperties": false, + "required": [ + "op", + "value" + ], + "properties": { + "op": { + "type": "string", + "$ref": "#/definitions/UpdateOperationKind" + }, + "value": { + "$ref": "#/definitions/QnaRecord" + } + } + }, + "UpdateSourceRecord": { + "type": "object", + "description": "Source to be updated.", + "additionalProperties": false, + "required": [ + "op", + "value" + ], + "properties": { + "op": { + "type": "string", + "$ref": "#/definitions/UpdateOperationKind" + }, + "value": { + "$ref": "#/definitions/UpdateQnaSourceRecord" + } + } + }, + "QnaSources": { + "type": "object", + "description": "All QnA sources for the project.", + "additionalProperties": false, + "properties": { + "value": { + "$ref": "#/definitions/QnaSourcesMetadata" + }, + "nextLink": { + "type": "string" + } + } + }, + "QnaSourcesMetadata": { + "type": "array", + "description": "Custom sources from which QnAs were extracted or explicitly added to the project.", + "additionalProperties": false, + "items": { + "$ref": "#/definitions/QnaSourceRecord" + } + }, + "QnaSourceRecord": { + "description": "Custom source record with last updated date-time.", + "allOf": [ + { + "$ref": "#/definitions/QnaSourceMetadata" + }, + { + "$ref": "#/definitions/LastUpdatedDateTimeParameter" + } + ] + }, + "UpdateQnaSourceRecord": { + "description": "Update source record.", + "allOf": [ + { + "$ref": "#/definitions/QnaSourceMetadata" + }, + { + "$ref": "#/definitions/RefreshSourceOptions" + } + ] + }, + "RefreshSourceOptions": { + "type": "object", + "description": "Boolean flag used to refresh data from the Source.", + "properties": { + "refresh": { + "type": "boolean", + "description": "Boolean flag used to refresh data from the Source." + } + } + }, + "QnaSourceMetadata": { + "type": "object", + "description": "Input source file or url details.", + "additionalProperties": false, + "required": [ + "sourceUri", + "sourceKind" + ], + "properties": { + "displayName": { + "type": "string", + "description": "Friendly name of the Source.", + "maxLength": 200, + "minLength": 1 + }, + "source": { + "type": "string", + "description": "Unique source identifier. Name of the file if it's a 'file' source; otherwise, the complete URL if it's a 'url' source." + }, + "sourceUri": { + "type": "string", + "description": "URI location for the file or url.", + "format": "uri" + }, + "sourceKind": { + "type": "string", + "$ref": "#/definitions/QnaSourceKind", + "default": "url" + }, + "contentStructureKind": { + "type": "string", + "$ref": "#/definitions/SourceContentStructureKind", + "default": "Unstructured" + } + } + }, + "QnaSourceKind": { + "type": "string", + "description": "Supported source types.", + "x-ms-enum": { + "name": "sourceKind", + "modelAsString": true + }, + "enum": [ + "file", + "url" + ] + }, + "SourceContentStructureKind": { + "type": "string", + "description": "Content structure type for sources.", + "enum": [ + "unstructured" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "sourceContentStructureKind" + } + }, + "ProjectDeployments": { + "type": "object", + "description": "All deployments of a project.", + "additionalProperties": false, + "properties": { + "value": { + "$ref": "#/definitions/ProjectDeploymentsList" + }, + "nextLink": { + "type": "string" + } + } + }, + "ProjectDeploymentsList": { + "type": "array", + "description": "List of deployments of a project.", + "additionalProperties": false, + "items": { + "$ref": "#/definitions/ProjectDeployment" + } + }, + "ProjectDeployment": { + "type": "object", + "description": "Project deployment details.", + "additionalProperties": false, + "properties": { + "deploymentName": { + "type": "string", + "description": "Name of the deployment." + }, + "lastDeployedDateTime": { + "type": "string", + "description": "Represents the project last deployment date-time.", + "format": "date-time" + } + } + } + }, + "parameters": { + "JobIdParameter": { + "name": "jobId", + "in": "path", + "description": "Job ID.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "AssetKindParameter": { + "name": "assetKind", + "type": "string", + "in": "query", + "description": "Kind of the asset of the project.", + "enum": [ + "qnas", + "synonyms" + ], + "x-ms-parameter-location": "method" + }, + "ImportExportFormatParameter": { + "name": "format", + "type": "string", + "in": "query", + "description": "Knowledge base Import or Export format.", + "default": "json", + "enum": [ + "json", + "tsv", + "excel" + ], + "x-ms-enum": { + "name": "format", + "modelAsString": true, + "values": [ + { + "value": "json", + "description": "Export or Import QnA assets in JSON format." + }, + { + "value": "tsv", + "description": "Export or Import knowledge base replica including all assets and metadata in Excel format." + }, + { + "value": "excel", + "description": "Export or Import knowledge base replica including all assets and metadata in Tsv format." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "SourceFilterParameter": { + "name": "source", + "in": "query", + "description": "Source of the QnA.", + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/questionanswering.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/questionanswering.json new file mode 100644 index 000000000000..aba54da148a5 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/questionanswering.json @@ -0,0 +1,586 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft Cognitive Language Service - Question Answering", + "description": "The language service API is a suite of natural language processing (NLP) skills built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction, language detection and question answering. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview.", + "version": "2021-10-01" + }, + "securityDefinitions": { + "apim_key": { + "type": "apiKey", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" + } + }, + "security": [ + { + "apim_key": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}/language", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "common.json#/parameters/Endpoint" + } + ] + }, + "paths": { + "/:query-knowledgebases": { + "post": { + "summary": "Answers the specified question using your knowledge base.", + "operationId": "QuestionAnswering_GetAnswers", + "parameters": [ + { + "$ref": "#/parameters/AnswersOptions" + }, + { + "$ref": "common.json#/parameters/ProjectNameQueryParameter" + }, + { + "$ref": "common.json#/parameters/DeploymentNameQueryParameter" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "A successful response to get answers from knowledge base.", + "schema": { + "$ref": "#/definitions/AnswersResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/SuccessfulQueryKnowledgebases.json" + } + } + } + }, + "/:query-text": { + "post": { + "summary": "Answers the specified question using the provided text in the body.", + "operationId": "QuestionAnswering_GetAnswersFromText", + "parameters": [ + { + "$ref": "#/parameters/AnswersFromTextOptions" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "A successful response to get answers from input text.", + "schema": { + "$ref": "#/definitions/AnswersFromTextResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful query": { + "$ref": "./examples/questionanswering/SuccessfulQueryText.json" + } + } + } + } + }, + "definitions": { + "AnswersOptions": { + "type": "object", + "description": "Parameters to query a knowledge base.", + "additionalProperties": false, + "properties": { + "qnaId": { + "type": "integer", + "description": "Exact QnA ID to fetch from the knowledge base, this field takes priority over question.", + "format": "int32" + }, + "question": { + "type": "string", + "description": "User question to query against the knowledge base." + }, + "top": { + "type": "integer", + "description": "Max number of answers to be returned for the question.", + "format": "int32" + }, + "userId": { + "type": "string", + "description": "Unique identifier for the user." + }, + "confidenceScoreThreshold": { + "type": "number", + "format": "double", + "x-ms-client-name": "confidenceThreshold", + "description": "Minimum threshold score for answers, value ranges from 0 to 1.", + "maximum": 1, + "minimum": 0 + }, + "context": { + "x-ms-client-name": "answerContext", + "description": "Context object with previous QnA's information.", + "$ref": "#/definitions/KnowledgeBaseAnswerContext" + }, + "rankerType": { + "type": "string", + "x-ms-client-name": "rankerKind", + "description": "Type of ranker to be used.", + "x-ms-enum": { + "name": "RankerKind", + "modelAsString": true, + "values": [ + { + "value": "QuestionOnly", + "description": "Question only ranker." + }, + { + "value": "Default", + "description": "Default ranker." + } + ] + }, + "enum": [ + "Default", + "QuestionOnly" + ] + }, + "filters": { + "description": "Filter QnAs based on given metadata list and knowledge base sources.", + "$ref": "#/definitions/QueryFilters" + }, + "answerSpanRequest": { + "x-ms-client-name": "shortAnswerOptions", + "description": "To configure Answer span prediction feature.", + "$ref": "#/definitions/ShortAnswerOptions" + }, + "includeUnstructuredSources": { + "type": "boolean", + "description": "(Optional) Flag to enable Query over Unstructured Sources." + } + } + }, + "ShortAnswerOptions": { + "type": "object", + "description": "To configure Answer span prediction feature.", + "additionalProperties": false, + "required": [ + "enable" + ], + "properties": { + "enable": { + "type": "boolean", + "description": "Enable or disable Answer Span prediction.", + "enum": [ + true + ], + "x-ms-enum": { + "name": "enable", + "modelAsString": false + } + }, + "confidenceScoreThreshold": { + "type": "number", + "format": "double", + "x-ms-client-name": "confidenceThreshold", + "description": "Minimum threshold score required to include an answer span, value ranges from 0 to 1.", + "maximum": 1, + "minimum": 0 + }, + "topAnswersWithSpan": { + "type": "integer", + "x-ms-client-name": "top", + "description": "Number of Top answers to be considered for span prediction from 1 to 10.", + "format": "int32", + "maximum": 10, + "minimum": 1 + } + } + }, + "KnowledgeBaseAnswerContext": { + "type": "object", + "description": "Context object with previous QnA's information.", + "additionalProperties": false, + "required": [ + "previousQnaId" + ], + "properties": { + "previousQnaId": { + "type": "integer", + "description": "Previous turn top answer result QnA ID.", + "format": "int32" + }, + "previousUserQuery": { + "type": "string", + "x-ms-client-name": "previousQuestion", + "description": "Previous user query." + } + } + }, + "AnswersResult": { + "type": "object", + "description": "Represents List of Question Answers.", + "additionalProperties": false, + "properties": { + "answers": { + "type": "array", + "description": "Represents Answer Result list.", + "items": { + "$ref": "#/definitions/KnowledgeBaseAnswer" + } + } + } + }, + "KnowledgeBaseAnswer": { + "type": "object", + "description": "Represents knowledge base answer.", + "additionalProperties": false, + "properties": { + "questions": { + "type": "array", + "description": "List of questions associated with the answer.", + "items": { + "type": "string" + } + }, + "answer": { + "type": "string", + "description": "Answer text." + }, + "confidenceScore": { + "type": "number", + "format": "double", + "x-ms-client-name": "confidence", + "description": "Answer confidence score, value ranges from 0 to 1.", + "maximum": 1, + "minimum": 0 + }, + "id": { + "type": "integer", + "x-ms-client-name": "qnaId", + "description": "ID of the QnA result.", + "format": "int32" + }, + "source": { + "type": "string", + "description": "Source of QnA result." + }, + "metadata": { + "type": "object", + "description": "Metadata associated with the answer, useful to categorize or filter question answers.", + "additionalProperties": { + "type": "string" + } + }, + "dialog": { + "type": "object", + "$ref": "#/definitions/KnowledgeBaseAnswerDialog" + }, + "answerSpan": { + "type": "object", + "x-ms-client-name": "shortAnswer", + "description": "Answer span object of QnA with respect to user's question.", + "$ref": "#/definitions/AnswerSpan" + } + } + }, + "KnowledgeBaseAnswerDialog": { + "type": "object", + "description": "Dialog associated with Answer.", + "properties": { + "isContextOnly": { + "type": "boolean", + "description": "To mark if a prompt is relevant only with a previous question or not. If true, do not include this QnA as search result for queries without context; otherwise, if false, ignores context and includes this QnA in search result." + }, + "prompts": { + "type": "array", + "description": "List of prompts associated with the answer.", + "maxItems": 20, + "items": { + "$ref": "#/definitions/KnowledgeBaseAnswerPrompt" + } + } + } + }, + "KnowledgeBaseAnswerPrompt": { + "type": "object", + "description": "Prompt for an answer.", + "properties": { + "displayOrder": { + "type": "integer", + "description": "Index of the prompt - used in ordering of the prompts.", + "format": "int32" + }, + "qnaId": { + "type": "integer", + "description": "QnA ID corresponding to the prompt.", + "format": "int32" + }, + "displayText": { + "type": "string", + "description": "Text displayed to represent a follow up question prompt.", + "maxLength": 200 + } + } + }, + "QueryFilters": { + "type": "object", + "description": "filters over knowledge base.", + "additionalProperties": false, + "properties": { + "metadataFilter": { + "type": "object", + "$ref": "#/definitions/MetadataFilter" + }, + "sourceFilter": { + "type": "object", + "$ref": "#/definitions/SourceFilter" + }, + "logicalOperation": { + "type": "string", + "description": "Logical operation used to join metadata filter with source filter.", + "$ref": "#/definitions/LogicalOperationKind", + "default": "AND" + } + } + }, + "MetadataFilter": { + "type": "object", + "description": "Find QnAs that are associated with the given list of metadata.", + "additionalProperties": false, + "properties": { + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataRecord" + } + }, + "logicalOperation": { + "type": "string", + "description": "Operation used to join metadata filters.", + "$ref": "#/definitions/LogicalOperationKind", + "default": "AND" + } + } + }, + "MetadataRecord": { + "type": "object", + "description": "Object to provide the key value pair for each metadata.", + "additionalProperties": false, + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "type": "string", + "description": "Metadata Key from Metadata dictionary used in the QnA." + }, + "value": { + "type": "string", + "description": "Metadata Value from Metadata dictionary used in the QnA." + } + } + }, + "LogicalOperationKind": { + "type": "string", + "description": "Set to 'OR' or 'AND' for using corresponding logical operation.", + "x-ms-enum": { + "name": "LogicalOperationKind", + "modelAsString": true + }, + "enum": [ + "AND", + "OR" + ] + }, + "SourceFilter": { + "type": "array", + "description": "Find QnAs that are associated with any of the given list of sources in knowledge base.", + "items": { + "type": "string" + } + }, + "AnswerSpan": { + "type": "object", + "description": "Answer span object of QnA.", + "additionalProperties": false, + "properties": { + "text": { + "type": "string", + "description": "Predicted text of answer span." + }, + "confidenceScore": { + "type": "number", + "x-ms-client-name": "confidence", + "description": "Predicted score of answer span, value ranges from 0 to 1.", + "format": "double", + "maximum": 1, + "minimum": 0 + }, + "offset": { + "type": "integer", + "description": "The answer span offset from the start of answer.", + "format": "int32" + }, + "length": { + "type": "integer", + "description": "The length of the answer span.", + "format": "int32" + } + } + }, + "AnswersFromTextOptions": { + "type": "object", + "description": "The question and text record parameters to answer.", + "required": [ + "question", + "records" + ], + "additionalProperties": false, + "properties": { + "question": { + "type": "string", + "description": "User question to query against the given text records." + }, + "records": { + "type": "array", + "x-ms-client-name": "textDocuments", + "description": "Text records to be searched for given question.", + "items": { + "$ref": "#/definitions/TextDocument" + } + }, + "language": { + "$ref": "common.json#/definitions/Language" + }, + "stringIndexType": { + "$ref": "common.json#/definitions/StringIndexType" + } + } + }, + "AnswersFromTextResult": { + "type": "object", + "description": "Represents the answer results.", + "additionalProperties": false, + "properties": { + "answers": { + "type": "array", + "description": "Represents the answer results.", + "items": { + "$ref": "#/definitions/TextAnswer" + } + } + } + }, + "TextAnswer": { + "type": "object", + "description": "Represents answer result.", + "additionalProperties": false, + "properties": { + "answer": { + "type": "string", + "description": "Answer." + }, + "confidenceScore": { + "type": "number", + "x-ms-client-name": "confidence", + "description": "answer confidence score, value ranges from 0 to 1.", + "format": "double", + "maximum": 1, + "minimum": 0 + }, + "id": { + "type": "string", + "description": "record ID." + }, + "answerSpan": { + "type": "object", + "x-ms-client-name": "shortAnswer", + "description": "Answer span object with respect to user's question.", + "$ref": "#/definitions/AnswerSpan" + }, + "offset": { + "type": "integer", + "description": "The sentence offset from the start of the document.", + "format": "int32" + }, + "length": { + "type": "integer", + "description": "The length of the sentence.", + "format": "int32" + } + } + }, + "TextDocument": { + "type": "object", + "description": "Represent input text record to be queried.", + "additionalProperties": false, + "required": [ + "id", + "text" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the text record." + }, + "text": { + "type": "string", + "description": "Text contents of the record." + } + } + } + }, + "parameters": { + "AnswersOptions": { + "name": "knowledgeBaseQueryOptions", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AnswersOptions" + }, + "x-nullable": true, + "description": "Post body of the request.", + "x-ms-parameter-location": "method" + }, + "AnswersFromTextOptions": { + "name": "textQueryOptions", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AnswersFromTextOptions" + }, + "x-nullable": true, + "description": "Post body of the request.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/stable/2021-09-05/Identification.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/stable/2021-09-05/Identification.json index c27caabe93fc..8d3701b7266c 100644 --- a/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/stable/2021-09-05/Identification.json +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/stable/2021-09-05/Identification.json @@ -6,7 +6,7 @@ "description": "The Azure Cognitive Service Speaker Recognition service provides algorithms that verify and identify speakers by their unique voice characteristics.\nSpeaker Recognition is used to answer the question \"who is speaking?\"" }, "x-ms-parameterized-host": { - "hostTemplate": "{endpoint}/speaker/identification", + "hostTemplate": "{endpoint}/speaker-recognition/identification", "useSchemePrefix": false, "positionInOperation": "first", "parameters": [ diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/stable/2021-09-05/Verification.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/stable/2021-09-05/Verification.json index 1d1c918f1e12..2c831025aae1 100644 --- a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/stable/2021-09-05/Verification.json +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/stable/2021-09-05/Verification.json @@ -6,7 +6,7 @@ "description": "The Azure Cognitive Service Speaker Recognition service provides algorithms that verify and identify speakers by their unique voice characteristics.\nSpeaker Recognition is used to answer the question \"who is speaking?\"" }, "x-ms-parameterized-host": { - "hostTemplate": "{endpoint}/speaker/verification", + "hostTemplate": "{endpoint}/speaker-recognition/verification", "useSchemePrefix": false, "positionInOperation": "first", "parameters": [ diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/TextAnalytics.json new file mode 100644 index 000000000000..8f3f4c1bfc27 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/TextAnalytics.json @@ -0,0 +1,3477 @@ +{ + "swagger": "2.0", + "info": { + "version": "v3.2-preview.2", + "contact": { + "name": "Microsoft Cognitive Services", + "url": "https://azure.microsoft.com/en-us/services/cognitive-services/text-analytics/", + "email": "mlapi@microsoft.com" + }, + "title": "Text Analytics Client", + "description": "The Text Analytics API is a suite of natural language processing (NLP) services built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction and language detection. Functionality for analysis of text specific to the healthcare domain and personal information are also available in the API. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview" + }, + "securityDefinitions": { + "apim_key": { + "type": "apiKey", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" + } + }, + "security": [ + { + "apim_key": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}/text/analytics/{ApiVersion}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ] + }, + "paths": { + "/analyze": { + "post": { + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "description": "Submit a collection of text documents for analysis. Specify one or more unique tasks to be executed.", + "operationId": "Analyze", + "summary": "Submit analysis job", + "parameters": [ + { + "description": "Collection of documents to analyze and tasks to execute.", + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/AnalyzeBatchInput" + } + } + ], + "responses": { + "202": { + "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.", + "headers": { + "Operation-Location": { + "type": "string" + } + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Submit analysis job request": { + "$ref": ".//examples//SuccessfulAnalyzeRequest.json" + } + }, + "deprecated": false, + "x-ms-long-running-operation": true + } + }, + "/analyze/jobs/{jobId}": { + "get": { + "produces": [ + "application/json", + "text/json" + ], + "description": "Get the status of an analysis job. A job may consist of one or more tasks. Once all tasks are completed, the job will transition to the completed state and results will be available for each task.", + "operationId": "AnalyzeStatus", + "summary": "Get analysis status and results", + "parameters": [ + { + "$ref": "#/parameters/AnalyzeJobId" + }, + { + "$ref": "#/parameters/ShowStats" + }, + { + "default": 20, + "description": "(Optional) Set the maximum number of results per task. When both $top and $skip are specified, $skip is applied first.", + "in": "query", + "maximum": 50, + "minimum": 1, + "name": "$top", + "type": "integer" + }, + { + "default": 0, + "description": "(Optional) Set the number of elements to offset in the response. When both $top and $skip are specified, $skip is applied first.", + "in": "query", + "minimum": 0, + "name": "$skip", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Analysis job status and metadata.", + "schema": { + "$ref": "#/definitions/AnalyzeJobState" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Get Analysis job status request": { + "$ref": ".//examples//SuccessfulAnalyzeStatusRequest.json" + } + }, + "deprecated": false + } + }, + "/entities/health/jobs/{jobId}": { + "get": { + "produces": [ + "application/json", + "text/json" + ], + "description": "Get details of the healthcare prediction job specified by the jobId.", + "operationId": "HealthStatus", + "summary": "Get healthcare analysis job status and results", + "parameters": [ + { + "$ref": "#/parameters/JobId" + }, + { + "default": 20, + "description": "(Optional) Set the maximum number of results per task. When both $top and $skip are specified, $skip is applied first.", + "in": "query", + "maximum": 50, + "minimum": 1, + "name": "$top", + "type": "integer" + }, + { + "default": 0, + "description": "(Optional) Set the number of elements to offset in the response. When both $top and $skip are specified, $skip is applied first.", + "in": "query", + "minimum": 0, + "name": "$skip", + "type": "integer" + }, + { + "$ref": "#/parameters/ShowStats" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HealthcareJobState" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Health request": { + "$ref": ".//examples//SuccessfulHealthStatusRequest.json" + } + }, + "deprecated": false + }, + "delete": { + "produces": [ + "application/json", + "text/json" + ], + "description": "Cancel healthcare prediction job.", + "operationId": "CancelHealthJob", + "summary": "Cancel healthcare prediction job", + "parameters": [ + { + "$ref": "#/parameters/JobId" + } + ], + "responses": { + "202": { + "description": "Cancel Job request has been received.", + "headers": { + "Operation-Location": { + "type": "string" + } + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Health request": { + "$ref": ".//examples//SuccessfulHealthDeleteRequest.json" + } + }, + "deprecated": false, + "x-ms-long-running-operation": true + } + }, + "/entities/health/jobs": { + "post": { + "summary": "Submit healthcare analysis job", + "description": "Start a healthcare analysis job to recognize healthcare related entities (drugs, conditions, symptoms, etc) and their relations.", + "operationId": "Health", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ModelVersion" + }, + { + "$ref": "#/parameters/StringIndexType" + }, + { + "$ref": "#/parameters/MultiLanguageInput" + }, + { + "$ref": "#/parameters/LoggingOptOut" + } + ], + "responses": { + "202": { + "description": "Accepted - call results in a link where the status of the submitted job can be checked via the GET operation.", + "headers": { + "Operation-Location": { + "type": "string" + } + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Health request": { + "$ref": ".//examples//SuccessfulHealthRequest.json" + } + }, + "deprecated": false, + "x-ms-long-running-operation": true + } + }, + "/entities/recognition/general": { + "post": { + "summary": "Named Entity Recognition", + "description": "The API returns a list of general named entities in a given document. For the list of supported entity types, check Supported Entity Types in Text Analytics API. See the Supported languages in Text Analytics API for the list of enabled languages.", + "operationId": "EntitiesRecognitionGeneral", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ModelVersion" + }, + { + "$ref": "#/parameters/ShowStats" + }, + { + "$ref": "#/parameters/LoggingOptOut" + }, + { + "$ref": "#/parameters/StringIndexType" + }, + { + "$ref": "#/parameters/MultiLanguageInput" + } + ], + "responses": { + "200": { + "description": "A successful call results in a list of recognized entities returned for each valid document.", + "schema": { + "$ref": "#/definitions/EntitiesResult" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Entities request": { + "$ref": ".//examples//SuccessfulEntitiesRequest.json" + } + }, + "deprecated": false + } + }, + "/entities/recognition/pii": { + "post": { + "summary": "Entities containing personal information", + "description": "The API returns a list of entities with personal information (\\\"SSN\\\", \\\"Bank Account\\\" etc) in the document. For the list of supported entity types, check Supported Entity Types in Text Analytics API. See the Supported languages in Text Analytics API for the list of enabled languages.\n", + "operationId": "EntitiesRecognitionPii", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ModelVersion" + }, + { + "$ref": "#/parameters/ShowStats" + }, + { + "$ref": "#/parameters/LoggingOptOut" + }, + { + "name": "domain", + "in": "query", + "description": "(Optional) if specified, will set the PII domain to include only a subset of the entity categories. Possible values include: 'PHI', 'none'.", + "type": "string" + }, + { + "$ref": "#/parameters/StringIndexType" + }, + { + "$ref": "#/parameters/PiiCategories" + }, + { + "$ref": "#/parameters/MultiLanguageInput" + } + ], + "responses": { + "200": { + "description": "A successful call results in a list of entities containing personal information returned for each valid document", + "schema": { + "$ref": "#/definitions/PiiResult" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Entity PII request": { + "$ref": ".//examples//SuccessfulEntityPIIRequest.json" + } + }, + "deprecated": false + } + }, + "/entities/linking": { + "post": { + "summary": "Linked entities from a well known knowledge base", + "description": "The API returns a list of recognized entities with links to a well known knowledge base. See the Supported languages in Text Analytics API for the list of enabled languages.", + "operationId": "EntitiesLinking", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ModelVersion" + }, + { + "$ref": "#/parameters/ShowStats" + }, + { + "$ref": "#/parameters/LoggingOptOut" + }, + { + "$ref": "#/parameters/StringIndexType" + }, + { + "$ref": "#/parameters/MultiLanguageInput" + } + ], + "responses": { + "200": { + "description": "A successful call results in a list of recognized entities with links to a well known knowledge base returned for each valid document", + "schema": { + "$ref": "#/definitions/EntityLinkingResult" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Entity Linking request": { + "$ref": ".//examples//SuccessfulEntityLinkingRequest.json" + } + }, + "deprecated": false + } + }, + "/keyPhrases": { + "post": { + "summary": "Key Phrases", + "description": "The API returns a list of strings denoting the key phrases in the input text. See the Supported languages in Text Analytics API for the list of enabled languages.", + "operationId": "KeyPhrases", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ModelVersion" + }, + { + "$ref": "#/parameters/ShowStats" + }, + { + "$ref": "#/parameters/LoggingOptOut" + }, + { + "$ref": "#/parameters/MultiLanguageInput" + } + ], + "responses": { + "200": { + "description": "A successful response results in 0 or more key phrases identified in each valid document", + "schema": { + "$ref": "#/definitions/KeyPhraseResult" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Key Phrase request": { + "$ref": ".//examples//SuccessfulKeyPhrasesRequest.json" + } + }, + "deprecated": false + } + }, + "/languages": { + "post": { + "summary": "Detect Language", + "description": "The API returns the detected language and a numeric score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true. See the Supported languages in Text Analytics API for the list of enabled languages.", + "operationId": "Languages", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ModelVersion" + }, + { + "$ref": "#/parameters/ShowStats" + }, + { + "$ref": "#/parameters/LoggingOptOut" + }, + { + "$ref": "#/parameters/LanguageInput" + } + ], + "responses": { + "200": { + "description": "A successful call results in the detected language with the highest probability for each valid document", + "schema": { + "$ref": "#/definitions/LanguageResult" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Detect Language request": { + "$ref": ".//examples//SuccessfulLanguagesRequest.json" + } + }, + "deprecated": false + } + }, + "/sentiment": { + "post": { + "summary": "Sentiment", + "description": "The API returns a detailed sentiment analysis for the input text. The analysis is done in multiple levels of granularity, start from the a document level, down to sentence and key terms (targets and assessments).", + "operationId": "Sentiment", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ModelVersion" + }, + { + "$ref": "#/parameters/ShowStats" + }, + { + "$ref": "#/parameters/LoggingOptOut" + }, + { + "name": "opinionMining", + "in": "query", + "description": "(Optional) if set to true, response will contain not only sentiment prediction but also opinion mining (aspect-based sentiment analysis) results.", + "type": "boolean" + }, + { + "$ref": "#/parameters/StringIndexType" + }, + { + "$ref": "#/parameters/MultiLanguageInput" + } + ], + "responses": { + "200": { + "description": "A successful call results in a document sentiment prediction, as well as sentiment scores for each sentiment class (Positive, Negative, and Neutral)", + "schema": { + "$ref": "#/definitions/SentimentResponse" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Sentiment request": { + "$ref": ".//examples//SuccessfulSentimentRequest.json" + } + }, + "deprecated": false + } + } + }, + "definitions": { + "JobManifest": { + "properties": { + "tasks": { + "description": "The set of tasks to execute on the input documents. Cannot specify the same task more than once.", + "properties": { + "entityRecognitionTasks": { + "type": "array", + "items": { + "$ref": "#/definitions/EntitiesTask" + } + }, + "entityRecognitionPiiTasks": { + "type": "array", + "items": { + "$ref": "#/definitions/PiiTask" + } + }, + "keyPhraseExtractionTasks": { + "type": "array", + "items": { + "$ref": "#/definitions/KeyPhrasesTask" + } + }, + "entityLinkingTasks": { + "type": "array", + "items": { + "$ref": "#/definitions/EntityLinkingTask" + } + }, + "sentimentAnalysisTasks": { + "type": "array", + "items": { + "$ref": "#/definitions/SentimentAnalysisTask" + } + }, + "extractiveSummarizationTasks": { + "type": "array", + "items": { + "$ref": "#/definitions/ExtractiveSummarizationTask" + } + }, + "customEntityRecognitionTasks": { + "type": "array", + "items": { + "$ref": "#/definitions/CustomEntitiesTask" + } + }, + "customSingleClassificationTasks": { + "type": "array", + "items": { + "$ref": "#/definitions/CustomSingleClassificationTask" + } + }, + "customMultiClassificationTasks": { + "type": "array", + "items": { + "$ref": "#/definitions/CustomMultiClassificationTask" + } + } + }, + "type": "object" + } + }, + "required": [ + "tasks" + ], + "type": "object" + }, + "MultiLanguageBatchInput": { + "type": "object", + "required": [ + "documents" + ], + "properties": { + "documents": { + "type": "array", + "description": "The set of documents to process as part of this batch.", + "items": { + "$ref": "#/definitions/MultiLanguageInput" + } + } + }, + "description": "Contains a set of input documents to be analyzed by the service." + }, + "MultiLanguageInput": { + "type": "object", + "required": [ + "id", + "text" + ], + "properties": { + "id": { + "type": "string", + "description": "A unique, non-empty document identifier." + }, + "text": { + "type": "string", + "description": "The input text to process." + }, + "language": { + "type": "string", + "description": "(Optional) This is the 2 letter ISO 639-1 representation of a language. For example, use \"en\" for English; \"es\" for Spanish etc. If not set, use \"en\" for English as default." + } + }, + "description": "Contains an input document to be analyzed by the service." + }, + "DocumentError": { + "type": "object", + "required": [ + "id", + "error" + ], + "properties": { + "id": { + "type": "string", + "description": "Document Id." + }, + "error": { + "type": "object", + "description": "Document Error.", + "$ref": "#/definitions/TextAnalyticsError" + } + } + }, + "ErrorResponse": { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "type": "object", + "description": "Document Error.", + "$ref": "#/definitions/TextAnalyticsError" + } + } + }, + "TextAnalyticsError": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "InvalidRequest", + "InvalidArgument", + "InternalServerError", + "ServiceUnavailable", + "NotFound" + ], + "x-ms-enum": { + "name": "ErrorCodeValue", + "modelAsString": true + }, + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "innererror": { + "$ref": "#/definitions/InnerError", + "description": "Inner error contains more specific information." + }, + "details": { + "type": "array", + "description": "Details about specific errors that led to this reported error.", + "items": { + "$ref": "#/definitions/TextAnalyticsError" + } + } + } + }, + "TextAnalyticsWarning": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "LongWordsInDocument", + "DocumentTruncated" + ], + "x-ms-enum": { + "name": "WarningCodeValue", + "modelAsString": true + }, + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Warning message." + }, + "targetRef": { + "type": "string", + "description": "A JSON pointer reference indicating the target object." + } + } + }, + "ExtractiveSummarizationTask": { + "type": "object", + "properties": { + "parameters": { + "type": "object", + "properties": { + "model-version": { + "default": "latest", + "type": "string" + }, + "loggingOptOut": { + "default": false, + "type": "boolean" + }, + "stringIndexType": { + "$ref": "#/definitions/StringIndexType" + }, + "sentenceCount": { + "default": 3, + "type": "integer" + }, + "sortBy": { + "default": "Offset", + "enum": [ + "Offset", + "Rank" + ], + "type": "string" + } + } + }, + "taskName": { + "type": "string" + } + } + }, + "CustomEntitiesTask": { + "properties": { + "parameters": { + "properties": { + "project-name": { + "type": "string" + }, + "deployment-name": { + "type": "string" + }, + "loggingOptOut": { + "default": false, + "type": "boolean" + }, + "stringIndexType": { + "$ref": "#/definitions/StringIndexType" + } + }, + "type": "object", + "required": [ + "project-name", + "deployment-name" + ] + }, + "taskName": { + "type": "string" + } + }, + "type": "object" + }, + "CustomSingleClassificationTask": { + "properties": { + "parameters": { + "properties": { + "project-name": { + "type": "string" + }, + "deployment-name": { + "type": "string" + }, + "loggingOptOut": { + "default": false, + "type": "boolean" + } + }, + "type": "object", + "required": [ + "project-name", + "deployment-name" + ] + }, + "taskName": { + "type": "string" + } + }, + "type": "object" + }, + "CustomMultiClassificationTask": { + "properties": { + "parameters": { + "properties": { + "project-name": { + "type": "string" + }, + "deployment-name": { + "type": "string" + }, + "loggingOptOut": { + "default": false, + "type": "boolean" + } + }, + "type": "object", + "required": [ + "project-name", + "deployment-name" + ] + }, + "taskName": { + "type": "string" + } + }, + "type": "object" + }, + "PiiTask": { + "properties": { + "parameters": { + "properties": { + "domain": { + "default": "none", + "enum": [ + "phi", + "none" + ], + "type": "string" + }, + "model-version": { + "default": "latest", + "type": "string" + }, + "loggingOptOut": { + "default": true, + "type": "boolean" + }, + "piiCategories": { + "$ref": "#/definitions/PiiCategories" + }, + "stringIndexType": { + "$ref": "#/definitions/StringIndexType" + } + }, + "type": "object" + }, + "taskName": { + "type": "string" + } + }, + "type": "object" + }, + "EntitiesTask": { + "properties": { + "parameters": { + "properties": { + "model-version": { + "default": "latest", + "type": "string" + }, + "loggingOptOut": { + "default": false, + "type": "boolean" + }, + "stringIndexType": { + "$ref": "#/definitions/StringIndexType" + } + }, + "type": "object" + }, + "taskName": { + "type": "string" + } + }, + "type": "object" + }, + "SentimentAnalysisTask": { + "properties": { + "parameters": { + "properties": { + "model-version": { + "default": "latest", + "type": "string" + }, + "loggingOptOut": { + "default": false, + "type": "boolean" + }, + "opinionMining": { + "default": false, + "type": "boolean" + }, + "stringIndexType": { + "$ref": "#/definitions/StringIndexType" + } + }, + "type": "object" + }, + "taskName": { + "type": "string" + } + }, + "type": "object" + }, + "InnerError": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "InvalidParameterValue", + "InvalidRequestBodyFormat", + "EmptyRequest", + "MissingInputRecords", + "InvalidDocument", + "ModelVersionIncorrect", + "InvalidDocumentBatch", + "UnsupportedLanguageCode", + "InvalidCountryHint" + ], + "x-ms-enum": { + "name": "InnerErrorCodeValue", + "modelAsString": true + }, + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message." + }, + "details": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Error details." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "innererror": { + "$ref": "#/definitions/InnerError", + "description": "Inner error contains more specific information." + } + } + }, + "AnalyzeBatchInput": { + "allOf": [ + { + "$ref": "#/definitions/JobDescriptor" + }, + { + "$ref": "#/definitions/AnalysisInput" + }, + { + "$ref": "#/definitions/JobManifest" + } + ] + }, + "AnalyzeJobState": { + "allOf": [ + { + "$ref": "#/definitions/AnalyzeJobMetadata" + }, + { + "$ref": "#/definitions/TasksState" + }, + { + "$ref": "#/definitions/AnalyzeJobErrorsAndStatistics" + }, + { + "$ref": "#/definitions/Pagination" + } + ] + }, + "ExtractiveSummarizationResult": { + "type": "object", + "required": [ + "documents", + "errors", + "modelVersion" + ], + "properties": { + "documents": { + "type": "array", + "description": "Response by document", + "items": { + "$ref": "#/definitions/ExtractedDocumentSummary" + } + }, + "errors": { + "type": "array", + "description": "Errors by document id.", + "items": { + "$ref": "#/definitions/DocumentError" + } + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + }, + "modelVersion": { + "type": "string", + "description": "This field indicates which model is used for scoring." + } + } + }, + "ExtractedDocumentSummary": { + "type": "object", + "required": [ + "id", + "sentences", + "warnings" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique, non-empty document identifier." + }, + "sentences": { + "type": "array", + "description": "A ranked list of sentences representing the extracted summary.", + "items": { + "$ref": "#/definitions/ExtractedSummarySentence" + } + }, + "warnings": { + "type": "array", + "description": "Warnings encountered while processing document.", + "items": { + "$ref": "#/definitions/TextAnalyticsWarning" + } + }, + "statistics": { + "description": "if showStats=true was specified in the request this field will contain information about the document payload.", + "$ref": "#/definitions/DocumentStatistics" + } + } + }, + "ExtractedSummarySentence": { + "type": "object", + "required": [ + "text", + "rankScore", + "offset", + "length" + ], + "properties": { + "text": { + "type": "string", + "description": "The extracted sentence text." + }, + "rankScore": { + "type": "number", + "format": "double", + "description": "A double value representing the relevance of the sentence within the summary. Higher values indicate higher importance." + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The sentence offset from the start of the document, based on the value of the parameter StringIndexType." + }, + "length": { + "type": "integer", + "format": "int32", + "description": "The length of the sentence." + } + } + }, + "CustomEntitiesResult": { + "type": "object", + "required": [ + "documents", + "errors", + "projectName", + "deploymentName" + ], + "properties": { + "documents": { + "type": "array", + "description": "Response by document", + "items": { + "$ref": "#/definitions/DocumentEntities" + } + }, + "errors": { + "type": "array", + "description": "Errors by document id.", + "items": { + "$ref": "#/definitions/DocumentError" + } + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + }, + "projectName": { + "type": "string", + "description": "This field indicates the project name for the model." + }, + "deploymentName": { + "type": "string", + "description": "This field indicates the deployment name for the model." + } + } + }, + "CustomSingleClassificationResult": { + "type": "object", + "required": [ + "documents", + "errors", + "projectName", + "deploymentName" + ], + "properties": { + "documents": { + "type": "array", + "description": "Response by document", + "items": { + "$ref": "#/definitions/SingleClassificationDocument" + } + }, + "errors": { + "type": "array", + "description": "Errors by document id.", + "items": { + "$ref": "#/definitions/DocumentError" + } + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + }, + "projectName": { + "type": "string", + "description": "This field indicates the project name for the model." + }, + "deploymentName": { + "type": "string", + "description": "This field indicates the deployment name for the model." + } + } + }, + "CustomMultiClassificationResult": { + "type": "object", + "required": [ + "documents", + "errors", + "projectName", + "deploymentName" + ], + "properties": { + "documents": { + "type": "array", + "description": "Response by document", + "items": { + "$ref": "#/definitions/MultiClassificationDocument" + } + }, + "errors": { + "type": "array", + "description": "Errors by document id.", + "items": { + "$ref": "#/definitions/DocumentError" + } + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + }, + "projectName": { + "type": "string", + "description": "This field indicates the project name for the model." + }, + "deploymentName": { + "type": "string", + "description": "This field indicates the deployment name for the model." + } + } + }, + "SingleClassificationDocument": { + "type": "object", + "required": [ + "id", + "classification", + "warnings" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique, non-empty document identifier." + }, + "classification": { + "$ref": "#/definitions/ClassificationResult" + }, + "warnings": { + "type": "array", + "description": "Warnings encountered while processing document.", + "items": { + "$ref": "#/definitions/TextAnalyticsWarning" + } + }, + "statistics": { + "description": "if showStats=true was specified in the request this field will contain information about the document payload.", + "$ref": "#/definitions/DocumentStatistics" + } + } + }, + "MultiClassificationDocument": { + "type": "object", + "required": [ + "id", + "classifications", + "warnings" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique, non-empty document identifier." + }, + "classifications": { + "type": "array", + "description": "Recognized classification results in the document.", + "items": { + "$ref": "#/definitions/ClassificationResult" + } + }, + "warnings": { + "type": "array", + "description": "Warnings encountered while processing document.", + "items": { + "$ref": "#/definitions/TextAnalyticsWarning" + } + }, + "statistics": { + "description": "if showStats=true was specified in the request this field will contain information about the document payload.", + "$ref": "#/definitions/DocumentStatistics" + } + } + }, + "ClassificationResult": { + "type": "object", + "required": [ + "category", + "confidenceScore" + ], + "properties": { + "category": { + "type": "string", + "description": "Classification type." + }, + "confidenceScore": { + "type": "number", + "format": "double", + "description": "Confidence score between 0 and 1 of the recognized classification." + } + } + }, + "SentimentResponse": { + "type": "object", + "required": [ + "documents", + "errors", + "modelVersion" + ], + "properties": { + "documents": { + "type": "array", + "description": "Sentiment analysis per document.", + "items": { + "$ref": "#/definitions/DocumentSentiment" + } + }, + "errors": { + "type": "array", + "description": "Errors by document id.", + "items": { + "$ref": "#/definitions/DocumentError" + } + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + }, + "modelVersion": { + "type": "string", + "description": "This field indicates which model is used for scoring." + } + } + }, + "TaskState": { + "properties": { + "lastUpdateDateTime": { + "format": "date-time", + "type": "string" + }, + "taskName": { + "type": "string" + }, + "status": { + "enum": [ + "notStarted", + "running", + "succeeded", + "failed", + "rejected", + "cancelled", + "cancelling" + ], + "x-ms-enum": { + "modelAsString": false, + "name": "State" + } + } + }, + "required": [ + "status", + "lastUpdateDateTime", + "taskName" + ], + "type": "object" + }, + "TasksState": { + "properties": { + "tasks": { + "properties": { + "completed": { + "type": "integer" + }, + "failed": { + "type": "integer" + }, + "inProgress": { + "type": "integer" + }, + "total": { + "type": "integer" + }, + "entityRecognitionTasks": { + "type": "array", + "items": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskState" + }, + { + "$ref": "#/definitions/EntitiesTaskResult" + } + ] + } + }, + "entityRecognitionPiiTasks": { + "type": "array", + "items": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskState" + }, + { + "$ref": "#/definitions/PiiTaskResult" + } + ] + } + }, + "keyPhraseExtractionTasks": { + "type": "array", + "items": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskState" + }, + { + "$ref": "#/definitions/KeyPhraseTaskResult" + } + ] + } + }, + "entityLinkingTasks": { + "type": "array", + "items": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskState" + }, + { + "$ref": "#/definitions/EntityLinkingTaskResult" + } + ] + } + }, + "sentimentAnalysisTasks": { + "type": "array", + "items": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskState" + }, + { + "$ref": "#/definitions/SentimentTaskResult" + } + ] + } + }, + "extractiveSummarizationTasks": { + "type": "array", + "items": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskState" + }, + { + "$ref": "#/definitions/ExtractiveSummarizationTaskResult" + } + ] + } + }, + "customEntityRecognitionTasks": { + "type": "array", + "items": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskState" + }, + { + "$ref": "#/definitions/CustomEntitiesTaskResult" + } + ] + } + }, + "customSingleClassificationTasks": { + "type": "array", + "items": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskState" + }, + { + "$ref": "#/definitions/CustomSingleClassificationTaskResult" + } + ] + } + }, + "customMultiClassificationTasks": { + "type": "array", + "items": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskState" + }, + { + "$ref": "#/definitions/CustomMultiClassificationTaskResult" + } + ] + } + } + }, + "required": [ + "total", + "completed", + "failed", + "inProgress" + ], + "type": "object" + } + }, + "required": [ + "tasks" + ], + "type": "object" + }, + "DocumentSentiment": { + "type": "object", + "required": [ + "id", + "sentiment", + "confidenceScores", + "sentences", + "warnings" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique, non-empty document identifier." + }, + "sentiment": { + "type": "string", + "description": "Predicted sentiment for document (Negative, Neutral, Positive, or Mixed).", + "enum": [ + "positive", + "neutral", + "negative", + "mixed" + ], + "x-ms-enum": { + "name": "DocumentSentimentValue", + "modelAsString": false + } + }, + "statistics": { + "$ref": "#/definitions/DocumentStatistics" + }, + "confidenceScores": { + "description": "Document level sentiment confidence scores between 0 and 1 for each sentiment class.", + "$ref": "#/definitions/SentimentConfidenceScorePerLabel" + }, + "sentences": { + "type": "array", + "description": "Sentence level sentiment analysis.", + "items": { + "$ref": "#/definitions/SentenceSentiment" + } + }, + "warnings": { + "type": "array", + "description": "Warnings encountered while processing document.", + "items": { + "$ref": "#/definitions/TextAnalyticsWarning" + } + } + } + }, + "RequestStatistics": { + "type": "object", + "required": [ + "documentsCount", + "validDocumentsCount", + "erroneousDocumentsCount", + "transactionsCount" + ], + "properties": { + "documentsCount": { + "type": "integer", + "format": "int32", + "description": "Number of documents submitted in the request." + }, + "validDocumentsCount": { + "type": "integer", + "format": "int32", + "description": "Number of valid documents. This excludes empty, over-size limit or non-supported languages documents." + }, + "erroneousDocumentsCount": { + "type": "integer", + "format": "int32", + "description": "Number of invalid documents. This includes empty, over-size limit or non-supported languages documents." + }, + "transactionsCount": { + "type": "integer", + "format": "int64", + "description": "Number of transactions for the request." + } + }, + "description": "if showStats=true was specified in the request this field will contain information about the request payload." + }, + "DocumentStatistics": { + "type": "object", + "required": [ + "charactersCount", + "transactionsCount" + ], + "properties": { + "charactersCount": { + "type": "integer", + "format": "int32", + "description": "Number of text elements recognized in the document." + }, + "transactionsCount": { + "type": "integer", + "format": "int32", + "description": "Number of transactions for the document." + } + }, + "description": "if showStats=true was specified in the request this field will contain information about the document payload." + }, + "SentimentConfidenceScorePerLabel": { + "type": "object", + "required": [ + "positive", + "neutral", + "negative" + ], + "properties": { + "positive": { + "type": "number", + "format": "double" + }, + "neutral": { + "type": "number", + "format": "double" + }, + "negative": { + "type": "number", + "format": "double" + } + }, + "description": "Represents the confidence scores between 0 and 1 across all sentiment classes: positive, neutral, negative." + }, + "SentenceSentiment": { + "type": "object", + "required": [ + "text", + "sentiment", + "confidenceScores", + "offset", + "length" + ], + "properties": { + "text": { + "type": "string", + "description": "The sentence text." + }, + "sentiment": { + "type": "string", + "description": "The predicted Sentiment for the sentence.", + "enum": [ + "positive", + "neutral", + "negative" + ], + "x-ms-enum": { + "name": "SentenceSentimentValue", + "modelAsString": false + } + }, + "confidenceScores": { + "description": "The sentiment confidence score between 0 and 1 for the sentence for all classes.", + "$ref": "#/definitions/SentimentConfidenceScorePerLabel" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The sentence offset from the start of the document." + }, + "length": { + "type": "integer", + "format": "int32", + "description": "The length of the sentence." + }, + "targets": { + "type": "array", + "description": "The array of sentence targets for the sentence.", + "items": { + "$ref": "#/definitions/SentenceTarget" + } + }, + "assessments": { + "type": "array", + "description": "The array of assessments for the sentence.", + "items": { + "$ref": "#/definitions/SentenceAssessment" + } + } + } + }, + "SentenceTarget": { + "type": "object", + "required": [ + "confidenceScores", + "length", + "offset", + "relations", + "sentiment", + "text" + ], + "properties": { + "sentiment": { + "type": "string", + "enum": [ + "positive", + "mixed", + "negative" + ], + "x-ms-enum": { + "name": "TokenSentimentValue", + "modelAsString": false + }, + "description": "Targeted sentiment in the sentence." + }, + "confidenceScores": { + "description": "Target sentiment confidence scores for the target in the sentence.", + "$ref": "#/definitions/TargetConfidenceScoreLabel" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The target offset from the start of the sentence." + }, + "length": { + "type": "integer", + "format": "int32", + "description": "The length of the target." + }, + "text": { + "type": "string", + "description": "The target text detected." + }, + "relations": { + "type": "array", + "description": "The array of either assessment or target objects which is related to the target.", + "items": { + "$ref": "#/definitions/TargetRelation" + } + } + } + }, + "SentenceAssessment": { + "type": "object", + "required": [ + "confidenceScores", + "isNegated", + "length", + "offset", + "sentiment", + "text" + ], + "properties": { + "sentiment": { + "type": "string", + "enum": [ + "positive", + "mixed", + "negative" + ], + "x-ms-enum": { + "name": "TokenSentimentValue", + "modelAsString": false + }, + "description": "Assessment sentiment in the sentence." + }, + "confidenceScores": { + "description": "Assessment sentiment confidence scores in the sentence.", + "$ref": "#/definitions/TargetConfidenceScoreLabel" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The assessment offset from the start of the sentence." + }, + "length": { + "type": "integer", + "format": "int32", + "description": "The length of the assessment." + }, + "text": { + "type": "string", + "description": "The assessment text detected." + }, + "isNegated": { + "type": "boolean", + "description": "The indicator representing if the assessment is negated." + } + } + }, + "TargetRelation": { + "type": "object", + "required": [ + "ref", + "relationType" + ], + "properties": { + "relationType": { + "type": "string", + "enum": [ + "assessment", + "target" + ], + "x-ms-enum": { + "name": "TargetRelationType", + "modelAsString": false + }, + "description": "The type related to the target." + }, + "ref": { + "type": "string", + "description": "The JSON pointer indicating the linked object." + } + } + }, + "TargetConfidenceScoreLabel": { + "type": "object", + "required": [ + "negative", + "positive" + ], + "properties": { + "positive": { + "type": "number", + "format": "double" + }, + "negative": { + "type": "number", + "format": "double" + } + }, + "description": "Represents the confidence scores across all sentiment classes: positive, neutral, negative." + }, + "EntitiesResult": { + "type": "object", + "required": [ + "documents", + "errors", + "modelVersion" + ], + "properties": { + "documents": { + "type": "array", + "description": "Response by document", + "items": { + "$ref": "#/definitions/DocumentEntities" + } + }, + "errors": { + "type": "array", + "description": "Errors by document id.", + "items": { + "$ref": "#/definitions/DocumentError" + } + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + }, + "modelVersion": { + "type": "string", + "description": "This field indicates which model is used for scoring." + } + } + }, + "DocumentEntities": { + "type": "object", + "required": [ + "id", + "entities", + "warnings" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique, non-empty document identifier." + }, + "entities": { + "type": "array", + "description": "Recognized entities in the document.", + "items": { + "$ref": "#/definitions/Entity" + } + }, + "warnings": { + "type": "array", + "description": "Warnings encountered while processing document.", + "items": { + "$ref": "#/definitions/TextAnalyticsWarning" + } + }, + "statistics": { + "description": "if showStats=true was specified in the request this field will contain information about the document payload.", + "$ref": "#/definitions/DocumentStatistics" + } + } + }, + "PiiDocumentEntities": { + "type": "object", + "required": [ + "id", + "redactedText", + "entities", + "warnings" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique, non-empty document identifier." + }, + "redactedText": { + "type": "string", + "description": "Returns redacted text." + }, + "entities": { + "type": "array", + "description": "Recognized entities in the document.", + "items": { + "$ref": "#/definitions/Entity" + } + }, + "warnings": { + "type": "array", + "description": "Warnings encountered while processing document.", + "items": { + "$ref": "#/definitions/TextAnalyticsWarning" + } + }, + "statistics": { + "description": "if showStats=true was specified in the request this field will contain information about the document payload.", + "$ref": "#/definitions/DocumentStatistics" + } + } + }, + "Entity": { + "type": "object", + "required": [ + "text", + "category", + "offset", + "length", + "confidenceScore" + ], + "properties": { + "text": { + "type": "string", + "description": "Entity text as appears in the request." + }, + "category": { + "type": "string", + "description": "Entity type." + }, + "subcategory": { + "type": "string", + "description": "(Optional) Entity sub type." + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Start position for the entity text. Use of different 'stringIndexType' values can affect the offset returned." + }, + "length": { + "type": "integer", + "format": "int32", + "description": "Length for the entity text. Use of different 'stringIndexType' values can affect the length returned." + }, + "confidenceScore": { + "type": "number", + "format": "double", + "description": "Confidence score between 0 and 1 of the extracted entity." + } + } + }, + "EntityLinkingResult": { + "type": "object", + "required": [ + "documents", + "errors", + "modelVersion" + ], + "properties": { + "documents": { + "type": "array", + "description": "Response by document", + "items": { + "$ref": "#/definitions/DocumentLinkedEntities" + } + }, + "errors": { + "type": "array", + "description": "Errors by document id.", + "items": { + "$ref": "#/definitions/DocumentError" + } + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + }, + "modelVersion": { + "type": "string", + "description": "This field indicates which model is used for scoring." + } + } + }, + "DocumentLinkedEntities": { + "type": "object", + "required": [ + "id", + "entities", + "warnings" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique, non-empty document identifier." + }, + "entities": { + "type": "array", + "description": "Recognized well known entities in the document.", + "items": { + "$ref": "#/definitions/LinkedEntity" + } + }, + "warnings": { + "type": "array", + "description": "Warnings encountered while processing document.", + "items": { + "$ref": "#/definitions/TextAnalyticsWarning" + } + }, + "statistics": { + "description": "if showStats=true was specified in the request this field will contain information about the document payload.", + "$ref": "#/definitions/DocumentStatistics" + } + } + }, + "HealthcareJobState": { + "allOf": [ + { + "$ref": "#/definitions/JobMetadata" + }, + { + "$ref": "#/definitions/HealthcareTaskResult" + }, + { + "$ref": "#/definitions/Pagination" + } + ] + }, + "HealthcareResult": { + "type": "object", + "required": [ + "documents", + "errors", + "modelVersion" + ], + "properties": { + "documents": { + "type": "array", + "description": "Response by document", + "items": { + "$ref": "#/definitions/DocumentHealthcareEntities" + } + }, + "errors": { + "type": "array", + "description": "Errors by document id.", + "items": { + "$ref": "#/definitions/DocumentError" + } + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + }, + "modelVersion": { + "type": "string", + "description": "This field indicates which model is used for scoring." + } + } + }, + "DocumentHealthcareEntities": { + "type": "object", + "required": [ + "id", + "entities", + "relations", + "warnings" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique, non-empty document identifier." + }, + "entities": { + "description": "Healthcare entities.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthcareEntity" + } + }, + "relations": { + "type": "array", + "description": "Healthcare entity relations.", + "items": { + "$ref": "#/definitions/HealthcareRelation" + } + }, + "warnings": { + "type": "array", + "description": "Warnings encountered while processing document.", + "items": { + "$ref": "#/definitions/TextAnalyticsWarning" + } + }, + "statistics": { + "description": "if showStats=true was specified in the request this field will contain information about the document payload.", + "$ref": "#/definitions/DocumentStatistics" + } + } + }, + "HealthcareEntity": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/HealthcareEntityProperties" + }, + { + "$ref": "#/definitions/HealthcareLinkingProperties" + } + ] + }, + "HealthcareRelation": { + "type": "object", + "description": "Every relation is an entity graph of a certain relationType, where all entities are connected and have specific roles within the relation context.", + "required": [ + "relationType", + "entities" + ], + "properties": { + "relationType": { + "description": "Type of relation. Examples include: `DosageOfMedication` or 'FrequencyOfMedication', etc.", + "type": "string", + "enum": [ + "Abbreviation", + "DirectionOfBodyStructure", + "DirectionOfCondition", + "DirectionOfExamination", + "DirectionOfTreatment", + "DosageOfMedication", + "FormOfMedication", + "FrequencyOfMedication", + "FrequencyOfTreatment", + "QualifierOfCondition", + "RelationOfExamination", + "RouteOfMedication", + "TimeOfCondition", + "TimeOfEvent", + "TimeOfExamination", + "TimeOfMedication", + "TimeOfTreatment", + "UnitOfCondition", + "UnitOfExamination", + "ValueOfCondition", + "ValueOfExamination" + ], + "x-ms-enum": { + "name": "relationType", + "modelAsString": true + } + }, + "entities": { + "description": "The entities in the relation.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthcareRelationEntity" + } + } + } + }, + "HealthcareAssertion": { + "type": "object", + "properties": { + "conditionality": { + "description": "Describes any conditionality on the entity.", + "type": "string", + "enum": [ + "hypothetical", + "conditional" + ], + "x-ms-enum": { + "name": "Conditionality", + "modelAsString": false + } + }, + "certainty": { + "description": "Describes the entities certainty and polarity.", + "type": "string", + "enum": [ + "positive", + "positivePossible", + "neutralPossible", + "negativePossible", + "negative" + ], + "x-ms-enum": { + "name": "Certainty", + "modelAsString": false + } + }, + "association": { + "description": "Describes if the entity is the subject of the text or if it describes someone else.", + "type": "string", + "enum": [ + "subject", + "other" + ], + "x-ms-enum": { + "name": "Association", + "modelAsString": false + } + } + } + }, + "HealthcareRelationEntity": { + "type": "object", + "required": [ + "ref", + "role" + ], + "properties": { + "ref": { + "description": "Reference link object, using a JSON pointer RFC 6901 (URI Fragment Identifier Representation), pointing to the entity .", + "type": "string" + }, + "role": { + "description": "Role of entity in the relationship. For example: 'CD20-positive diffuse large B-cell lymphoma' has the following entities with their roles in parenthesis: CD20 (GeneOrProtein), Positive (Expression), diffuse large B-cell lymphoma (Diagnosis).", + "type": "string" + } + } + }, + "HealthcareEntityLink": { + "type": "object", + "required": [ + "dataSource", + "id" + ], + "properties": { + "dataSource": { + "description": "Entity Catalog. Examples include: UMLS, CHV, MSH, etc.", + "type": "string" + }, + "id": { + "description": "Entity id in the given source catalog.", + "type": "string" + } + } + }, + "HealthcareEntityProperties": { + "type": "object", + "required": [ + "text", + "category", + "offset", + "length", + "confidenceScore" + ], + "properties": { + "text": { + "type": "string", + "description": "Entity text as appears in the request." + }, + "category": { + "x-ms-enum": { + "name": "healthcareEntityCategory", + "modelAsString": true + }, + "type": "string", + "description": "Healthcare Entity Category.", + "enum": [ + "BODY_STRUCTURE", + "AGE", + "GENDER", + "EXAMINATION_NAME", + "DATE", + "DIRECTION", + "FREQUENCY", + "MEASUREMENT_VALUE", + "MEASUREMENT_UNIT", + "RELATIONAL_OPERATOR", + "TIME", + "GENE_OR_PROTEIN", + "VARIANT", + "ADMINISTRATIVE_EVENT", + "CARE_ENVIRONMENT", + "HEALTHCARE_PROFESSION", + "DIAGNOSIS", + "SYMPTOM_OR_SIGN", + "CONDITION_QUALIFIER", + "MEDICATION_CLASS", + "MEDICATION_NAME", + "DOSAGE", + "MEDICATION_FORM", + "MEDICATION_ROUTE", + "FAMILY_RELATION", + "TREATMENT_NAME" + ] + }, + "subcategory": { + "type": "string", + "description": "(Optional) Entity sub type." + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Start position for the entity text. Use of different 'stringIndexType' values can affect the offset returned." + }, + "length": { + "type": "integer", + "format": "int32", + "description": "Length for the entity text. Use of different 'stringIndexType' values can affect the length returned." + }, + "confidenceScore": { + "type": "number", + "format": "double", + "description": "Confidence score between 0 and 1 of the extracted entity." + } + } + }, + "HealthcareLinkingProperties": { + "properties": { + "assertion": { + "type": "object", + "$ref": "#/definitions/HealthcareAssertion" + }, + "name": { + "description": "Preferred name for the entity. Example: 'histologically' would have a 'name' of 'histologic'.", + "type": "string" + }, + "links": { + "description": "Entity references in known data sources.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthcareEntityLink" + } + } + } + }, + "LinkedEntity": { + "type": "object", + "required": [ + "name", + "matches", + "language", + "url", + "dataSource" + ], + "properties": { + "name": { + "type": "string", + "description": "Entity Linking formal name." + }, + "matches": { + "type": "array", + "description": "List of instances this entity appears in the text.", + "items": { + "$ref": "#/definitions/Match" + } + }, + "language": { + "type": "string", + "description": "Language used in the data source." + }, + "id": { + "type": "string", + "description": "Unique identifier of the recognized entity from the data source." + }, + "url": { + "type": "string", + "description": "URL for the entity's page from the data source." + }, + "dataSource": { + "type": "string", + "description": "Data source used to extract entity linking, such as Wiki/Bing etc." + }, + "bingId": { + "type": "string", + "description": "Bing Entity Search API unique identifier of the recognized entity." + } + } + }, + "Match": { + "type": "object", + "required": [ + "confidenceScore", + "text", + "offset", + "length" + ], + "properties": { + "confidenceScore": { + "type": "number", + "format": "double", + "description": "If a well known item is recognized, a decimal number denoting the confidence level between 0 and 1 will be returned." + }, + "text": { + "type": "string", + "description": "Entity text as appears in the request." + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Start position for the entity match text." + }, + "length": { + "type": "integer", + "format": "int32", + "description": "Length for the entity match text." + } + } + }, + "AnalysisInput": { + "type": "object", + "required": [ + "analysisInput" + ], + "properties": { + "analysisInput": { + "$ref": "#/definitions/MultiLanguageBatchInput" + } + } + }, + "EntitiesTaskResult": { + "type": "object", + "properties": { + "results": { + "$ref": "#/definitions/EntitiesResult" + } + } + }, + "PiiTaskResult": { + "type": "object", + "properties": { + "results": { + "$ref": "#/definitions/PiiResult" + } + } + }, + "KeyPhraseTaskResult": { + "type": "object", + "properties": { + "results": { + "$ref": "#/definitions/KeyPhraseResult" + } + } + }, + "EntityLinkingTaskResult": { + "type": "object", + "properties": { + "results": { + "$ref": "#/definitions/EntityLinkingResult" + } + } + }, + "SentimentTaskResult": { + "type": "object", + "properties": { + "results": { + "$ref": "#/definitions/SentimentResponse" + } + } + }, + "ExtractiveSummarizationTaskResult": { + "type": "object", + "properties": { + "results": { + "$ref": "#/definitions/ExtractiveSummarizationResult" + } + } + }, + "CustomEntitiesTaskResult": { + "type": "object", + "properties": { + "results": { + "$ref": "#/definitions/CustomEntitiesResult" + } + } + }, + "CustomSingleClassificationTaskResult": { + "type": "object", + "properties": { + "results": { + "$ref": "#/definitions/CustomSingleClassificationResult" + } + } + }, + "CustomMultiClassificationTaskResult": { + "type": "object", + "properties": { + "results": { + "$ref": "#/definitions/CustomMultiClassificationResult" + } + } + }, + "HealthcareTaskResult": { + "properties": { + "results": { + "$ref": "#/definitions/HealthcareResult" + }, + "errors": { + "items": { + "$ref": "#/definitions/TextAnalyticsError" + }, + "type": "array" + } + }, + "type": "object" + }, + "JobDescriptor": { + "properties": { + "displayName": { + "description": "Optional display name for the analysis job.", + "type": "string" + } + }, + "type": "object" + }, + "JobMetadata": { + "properties": { + "createdDateTime": { + "format": "date-time", + "type": "string" + }, + "expirationDateTime": { + "format": "date-time", + "type": "string" + }, + "jobId": { + "format": "uuid", + "type": "string" + }, + "lastUpdateDateTime": { + "format": "date-time", + "type": "string" + }, + "status": { + "enum": [ + "notStarted", + "running", + "succeeded", + "failed", + "cancelled", + "cancelling" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "State" + } + } + }, + "required": [ + "jobId", + "lastUpdateDateTime", + "createdDateTime", + "status" + ], + "type": "object" + }, + "AnalyzeJobDisplayName": { + "properties": { + "displayName": { + "type": "string" + } + } + }, + "AnalyzeJobMetadata": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobMetadata" + }, + { + "$ref": "#/definitions/AnalyzeJobDisplayName" + } + ] + }, + "AnalyzeJobErrorsAndStatistics": { + "properties": { + "errors": { + "items": { + "$ref": "#/definitions/TextAnalyticsError" + }, + "type": "array" + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + } + }, + "type": "object" + }, + "KeyPhraseResult": { + "type": "object", + "required": [ + "documents", + "errors", + "modelVersion" + ], + "properties": { + "documents": { + "type": "array", + "description": "Response by document", + "items": { + "$ref": "#/definitions/DocumentKeyPhrases" + } + }, + "errors": { + "type": "array", + "description": "Errors by document id.", + "items": { + "$ref": "#/definitions/DocumentError" + } + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + }, + "modelVersion": { + "type": "string", + "description": "This field indicates which model is used for scoring." + } + } + }, + "DocumentKeyPhrases": { + "type": "object", + "required": [ + "id", + "keyPhrases", + "warnings" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique, non-empty document identifier." + }, + "keyPhrases": { + "type": "array", + "description": "A list of representative words or phrases. The number of key phrases returned is proportional to the number of words in the input document.", + "items": { + "type": "string" + } + }, + "warnings": { + "type": "array", + "description": "Warnings encountered while processing document.", + "items": { + "$ref": "#/definitions/TextAnalyticsWarning" + } + }, + "statistics": { + "description": "if showStats=true was specified in the request this field will contain information about the document payload.", + "$ref": "#/definitions/DocumentStatistics" + } + } + }, + "KeyPhrasesTask": { + "properties": { + "parameters": { + "properties": { + "model-version": { + "default": "latest", + "type": "string" + }, + "loggingOptOut": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "taskName": { + "type": "string" + } + }, + "type": "object" + }, + "EntityLinkingTask": { + "properties": { + "parameters": { + "properties": { + "model-version": { + "default": "latest", + "type": "string" + }, + "loggingOptOut": { + "default": false, + "type": "boolean" + }, + "stringIndexType": { + "$ref": "#/definitions/StringIndexType" + } + }, + "type": "object" + }, + "taskName": { + "type": "string" + } + }, + "type": "object" + }, + "LanguageBatchInput": { + "type": "object", + "required": [ + "documents" + ], + "properties": { + "documents": { + "type": "array", + "items": { + "$ref": "#/definitions/LanguageInput" + } + } + } + }, + "LanguageInput": { + "type": "object", + "required": [ + "id", + "text" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique, non-empty document identifier." + }, + "text": { + "type": "string" + }, + "countryHint": { + "type": "string" + } + } + }, + "Pagination": { + "properties": { + "@nextLink": { + "type": "string" + } + }, + "type": "object" + }, + "PiiResult": { + "type": "object", + "required": [ + "documents", + "errors", + "modelVersion" + ], + "properties": { + "documents": { + "type": "array", + "description": "Response by document", + "items": { + "$ref": "#/definitions/PiiDocumentEntities" + } + }, + "errors": { + "type": "array", + "description": "Errors by document id.", + "items": { + "$ref": "#/definitions/DocumentError" + } + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + }, + "modelVersion": { + "type": "string", + "description": "This field indicates which model is used for scoring." + } + } + }, + "LanguageResult": { + "type": "object", + "required": [ + "documents", + "errors", + "modelVersion" + ], + "properties": { + "documents": { + "type": "array", + "description": "Response by document", + "items": { + "$ref": "#/definitions/DocumentLanguage" + } + }, + "errors": { + "type": "array", + "description": "Errors by document id.", + "items": { + "$ref": "#/definitions/DocumentError" + } + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + }, + "modelVersion": { + "type": "string", + "description": "This field indicates which model is used for scoring." + } + } + }, + "DocumentLanguage": { + "type": "object", + "required": [ + "id", + "detectedLanguage", + "warnings" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique, non-empty document identifier." + }, + "detectedLanguage": { + "description": "Detected Language.", + "$ref": "#/definitions/DetectedLanguage" + }, + "warnings": { + "type": "array", + "description": "Warnings encountered while processing document.", + "items": { + "$ref": "#/definitions/TextAnalyticsWarning" + } + }, + "statistics": { + "description": "if showStats=true was specified in the request this field will contain information about the document payload.", + "$ref": "#/definitions/DocumentStatistics" + } + } + }, + "DetectedLanguage": { + "type": "object", + "required": [ + "name", + "iso6391Name", + "confidenceScore" + ], + "properties": { + "name": { + "type": "string", + "description": "Long name of a detected language (e.g. English, French)." + }, + "iso6391Name": { + "type": "string", + "description": "A two letter representation of the detected language according to the ISO 639-1 standard (e.g. en, fr)." + }, + "confidenceScore": { + "type": "number", + "format": "double", + "description": "A confidence score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true." + } + } + }, + "StringIndexType": { + "default": "TextElement_v8", + "enum": [ + "TextElement_v8", + "UnicodeCodePoint", + "Utf16CodeUnit" + ], + "x-ms-enum": { + "name": "StringIndexType", + "modelAsString": true, + "values": [ + { + "value": "TextElement_v8", + "description": "Returned offset and length values will correspond to TextElements (Graphemes and Grapheme clusters) confirming to the Unicode 8.0.0 standard. Use this option if your application is written in .Net Framework or .Net Core and you will be using StringInfo." + }, + { + "value": "UnicodeCodePoint", + "description": "Returned offset and length values will correspond to Unicode code points. Use this option if your application is written in a language that support Unicode, for example Python." + }, + { + "value": "Utf16CodeUnit", + "description": "Returned offset and length values will correspond to UTF-16 code units. Use this option if your application is written in a language that support Unicode, for example Java, JavaScript." + } + ] + }, + "type": "string" + }, + "PiiCategories": { + "description": "(Optional) describes the PII categories to return", + "items": { + "type": "string", + "x-ms-enum": { + "name": "PiiCategory", + "modelAsString": true + }, + "enum": [ + "ABARoutingNumber", + "ARNationalIdentityNumber", + "AUBankAccountNumber", + "AUDriversLicenseNumber", + "AUMedicalAccountNumber", + "AUPassportNumber", + "AUTaxFileNumber", + "AUBusinessNumber", + "AUCompanyNumber", + "ATIdentityCard", + "ATTaxIdentificationNumber", + "ATValueAddedTaxNumber", + "AzureDocumentDBAuthKey", + "AzureIAASDatabaseConnectionAndSQLString", + "AzureIoTConnectionString", + "AzurePublishSettingPassword", + "AzureRedisCacheString", + "AzureSAS", + "AzureServiceBusString", + "AzureStorageAccountKey", + "AzureStorageAccountGeneric", + "BENationalNumber", + "BENationalNumberV2", + "BEValueAddedTaxNumber", + "BRCPFNumber", + "BRLegalEntityNumber", + "BRNationalIDRG", + "BGUniformCivilNumber", + "CABankAccountNumber", + "CADriversLicenseNumber", + "CAHealthServiceNumber", + "CAPassportNumber", + "CAPersonalHealthIdentification", + "CASocialInsuranceNumber", + "CLIdentityCardNumber", + "CNResidentIdentityCardNumber", + "CreditCardNumber", + "HRIdentityCardNumber", + "HRNationalIDNumber", + "HRPersonalIdentificationNumber", + "HRPersonalIdentificationOIBNumberV2", + "CYIdentityCard", + "CYTaxIdentificationNumber", + "CZPersonalIdentityNumber", + "CZPersonalIdentityV2", + "DKPersonalIdentificationNumber", + "DKPersonalIdentificationV2", + "DrugEnforcementAgencyNumber", + "EEPersonalIdentificationCode", + "EUDebitCardNumber", + "EUDriversLicenseNumber", + "EUGPSCoordinates", + "EUNationalIdentificationNumber", + "EUPassportNumber", + "EUSocialSecurityNumber", + "EUTaxIdentificationNumber", + "FIEuropeanHealthNumber", + "FINationalID", + "FINationalIDV2", + "FIPassportNumber", + "FRDriversLicenseNumber", + "FRHealthInsuranceNumber", + "FRNationalID", + "FRPassportNumber", + "FRSocialSecurityNumber", + "FRTaxIdentificationNumber", + "FRValueAddedTaxNumber", + "DEDriversLicenseNumber", + "DEPassportNumber", + "DEIdentityCardNumber", + "DETaxIdentificationNumber", + "DEValueAddedNumber", + "GRNationalIDCard", + "GRNationalIDV2", + "GRTaxIdentificationNumber", + "HKIdentityCardNumber", + "HUValueAddedNumber", + "HUPersonalIdentificationNumber", + "HUTaxIdentificationNumber", + "INPermanentAccount", + "INUniqueIdentificationNumber", + "IDIdentityCardNumber", + "InternationalBankingAccountNumber", + "IEPersonalPublicServiceNumber", + "IEPersonalPublicServiceNumberV2", + "ILBankAccountNumber", + "ILNationalID", + "ITDriversLicenseNumber", + "ITFiscalCode", + "ITValueAddedTaxNumber", + "JPBankAccountNumber", + "JPDriversLicenseNumber", + "JPPassportNumber", + "JPResidentRegistrationNumber", + "JPSocialInsuranceNumber", + "JPMyNumberCorporate", + "JPMyNumberPersonal", + "JPResidenceCardNumber", + "LVPersonalCode", + "LTPersonalCode", + "LUNationalIdentificationNumberNatural", + "LUNationalIdentificationNumberNonNatural", + "MYIdentityCardNumber", + "MTIdentityCardNumber", + "MTTaxIDNumber", + "NLCitizensServiceNumber", + "NLCitizensServiceNumberV2", + "NLTaxIdentificationNumber", + "NLValueAddedTaxNumber", + "NZBankAccountNumber", + "NZDriversLicenseNumber", + "NZInlandRevenueNumber", + "NZMinistryOfHealthNumber", + "NZSocialWelfareNumber", + "NOIdentityNumber", + "PHUnifiedMultiPurposeIDNumber", + "PLIdentityCard", + "PLNationalID", + "PLNationalIDV2", + "PLPassportNumber", + "PLTaxIdentificationNumber", + "PLREGONNumber", + "PTCitizenCardNumber", + "PTCitizenCardNumberV2", + "PTTaxIdentificationNumber", + "ROPersonalNumericalCode", + "RUPassportNumberDomestic", + "RUPassportNumberInternational", + "SANationalID", + "SGNationalRegistrationIdentityCardNumber", + "SKPersonalNumber", + "SITaxIdentificationNumber", + "SIUniqueMasterCitizenNumber", + "ZAIdentificationNumber", + "KRResidentRegistrationNumber", + "ESDNI", + "ESSocialSecurityNumber", + "ESTaxIdentificationNumber", + "SQLServerConnectionString", + "SENationalID", + "SENationalIDV2", + "SEPassportNumber", + "SETaxIdentificationNumber", + "SWIFTCode", + "CHSocialSecurityNumber", + "TWNationalID", + "TWPassportNumber", + "TWResidentCertificate", + "THPopulationIdentificationCode", + "TRNationalIdentificationNumber", + "UKDriversLicenseNumber", + "UKElectoralRollNumber", + "UKNationalHealthNumber", + "UKNationalInsuranceNumber", + "UKUniqueTaxpayerNumber", + "USUKPassportNumber", + "USBankAccountNumber", + "USDriversLicenseNumber", + "USIndividualTaxpayerIdentification", + "USSocialSecurityNumber", + "UAPassportNumberDomestic", + "UAPassportNumberInternational", + "Organization", + "Email", + "URL", + "Age", + "PhoneNumber", + "IPAddress", + "Date", + "Person", + "Address", + "All", + "Default" + ] + }, + "type": "array", + "uniqueItems": true + } + }, + "parameters": { + "ApiVersion": { + "name": "ApiVersion", + "description": "Text Analytics API version (for example, v3.0).", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "enum": [ + "v3.2-preview.2" + ], + "in": "path", + "x-ms-skip-url-encoding": true + }, + "Endpoint": { + "name": "Endpoint", + "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "StringIndexType": { + "name": "stringIndexType", + "in": "query", + "type": "string", + "description": "(Optional) Specifies the method used to interpret string offsets. Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information see https://aka.ms/text-analytics-offsets", + "default": "TextElement_v8", + "enum": [ + "TextElement_v8", + "UnicodeCodePoint", + "Utf16CodeUnit" + ], + "x-ms-enum": { + "name": "StringIndexType", + "modelAsString": true, + "values": [ + { + "value": "TextElement_v8", + "description": "Returned offset and length values will correspond to TextElements (Graphemes and Grapheme clusters) confirming to the Unicode 8.0.0 standard. Use this option if your application is written in .Net Framework or .Net Core and you will be using StringInfo." + }, + { + "value": "UnicodeCodePoint", + "description": "Returned offset and length values will correspond to Unicode code points. Use this option if your application is written in a language that support Unicode, for example Python." + }, + { + "value": "Utf16CodeUnit", + "description": "Returned offset and length values will correspond to UTF-16 code units. Use this option if your application is written in a language that support Unicode, for example Java, JavaScript." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "PiiCategories": { + "description": "(Optional) describes the PII categories to return", + "in": "query", + "collectionFormat": "csv", + "items": { + "type": "string", + "x-ms-enum": { + "name": "PiiCategory", + "modelAsString": true + }, + "enum": [ + "ABARoutingNumber", + "ARNationalIdentityNumber", + "AUBankAccountNumber", + "AUDriversLicenseNumber", + "AUMedicalAccountNumber", + "AUPassportNumber", + "AUTaxFileNumber", + "AUBusinessNumber", + "AUCompanyNumber", + "ATIdentityCard", + "ATTaxIdentificationNumber", + "ATValueAddedTaxNumber", + "AzureDocumentDBAuthKey", + "AzureIAASDatabaseConnectionAndSQLString", + "AzureIoTConnectionString", + "AzurePublishSettingPassword", + "AzureRedisCacheString", + "AzureSAS", + "AzureServiceBusString", + "AzureStorageAccountKey", + "AzureStorageAccountGeneric", + "BENationalNumber", + "BENationalNumberV2", + "BEValueAddedTaxNumber", + "BRCPFNumber", + "BRLegalEntityNumber", + "BRNationalIDRG", + "BGUniformCivilNumber", + "CABankAccountNumber", + "CADriversLicenseNumber", + "CAHealthServiceNumber", + "CAPassportNumber", + "CAPersonalHealthIdentification", + "CASocialInsuranceNumber", + "CLIdentityCardNumber", + "CNResidentIdentityCardNumber", + "CreditCardNumber", + "HRIdentityCardNumber", + "HRNationalIDNumber", + "HRPersonalIdentificationNumber", + "HRPersonalIdentificationOIBNumberV2", + "CYIdentityCard", + "CYTaxIdentificationNumber", + "CZPersonalIdentityNumber", + "CZPersonalIdentityV2", + "DKPersonalIdentificationNumber", + "DKPersonalIdentificationV2", + "DrugEnforcementAgencyNumber", + "EEPersonalIdentificationCode", + "EUDebitCardNumber", + "EUDriversLicenseNumber", + "EUGPSCoordinates", + "EUNationalIdentificationNumber", + "EUPassportNumber", + "EUSocialSecurityNumber", + "EUTaxIdentificationNumber", + "FIEuropeanHealthNumber", + "FINationalID", + "FINationalIDV2", + "FIPassportNumber", + "FRDriversLicenseNumber", + "FRHealthInsuranceNumber", + "FRNationalID", + "FRPassportNumber", + "FRSocialSecurityNumber", + "FRTaxIdentificationNumber", + "FRValueAddedTaxNumber", + "DEDriversLicenseNumber", + "DEPassportNumber", + "DEIdentityCardNumber", + "DETaxIdentificationNumber", + "DEValueAddedNumber", + "GRNationalIDCard", + "GRNationalIDV2", + "GRTaxIdentificationNumber", + "HKIdentityCardNumber", + "HUValueAddedNumber", + "HUPersonalIdentificationNumber", + "HUTaxIdentificationNumber", + "INPermanentAccount", + "INUniqueIdentificationNumber", + "IDIdentityCardNumber", + "InternationalBankingAccountNumber", + "IEPersonalPublicServiceNumber", + "IEPersonalPublicServiceNumberV2", + "ILBankAccountNumber", + "ILNationalID", + "ITDriversLicenseNumber", + "ITFiscalCode", + "ITValueAddedTaxNumber", + "JPBankAccountNumber", + "JPDriversLicenseNumber", + "JPPassportNumber", + "JPResidentRegistrationNumber", + "JPSocialInsuranceNumber", + "JPMyNumberCorporate", + "JPMyNumberPersonal", + "JPResidenceCardNumber", + "LVPersonalCode", + "LTPersonalCode", + "LUNationalIdentificationNumberNatural", + "LUNationalIdentificationNumberNonNatural", + "MYIdentityCardNumber", + "MTIdentityCardNumber", + "MTTaxIDNumber", + "NLCitizensServiceNumber", + "NLCitizensServiceNumberV2", + "NLTaxIdentificationNumber", + "NLValueAddedTaxNumber", + "NZBankAccountNumber", + "NZDriversLicenseNumber", + "NZInlandRevenueNumber", + "NZMinistryOfHealthNumber", + "NZSocialWelfareNumber", + "NOIdentityNumber", + "PHUnifiedMultiPurposeIDNumber", + "PLIdentityCard", + "PLNationalID", + "PLNationalIDV2", + "PLPassportNumber", + "PLTaxIdentificationNumber", + "PLREGONNumber", + "PTCitizenCardNumber", + "PTCitizenCardNumberV2", + "PTTaxIdentificationNumber", + "ROPersonalNumericalCode", + "RUPassportNumberDomestic", + "RUPassportNumberInternational", + "SANationalID", + "SGNationalRegistrationIdentityCardNumber", + "SKPersonalNumber", + "SITaxIdentificationNumber", + "SIUniqueMasterCitizenNumber", + "ZAIdentificationNumber", + "KRResidentRegistrationNumber", + "ESDNI", + "ESSocialSecurityNumber", + "ESTaxIdentificationNumber", + "SQLServerConnectionString", + "SENationalID", + "SENationalIDV2", + "SEPassportNumber", + "SETaxIdentificationNumber", + "SWIFTCode", + "CHSocialSecurityNumber", + "TWNationalID", + "TWPassportNumber", + "TWResidentCertificate", + "THPopulationIdentificationCode", + "TRNationalIdentificationNumber", + "UKDriversLicenseNumber", + "UKElectoralRollNumber", + "UKNationalHealthNumber", + "UKNationalInsuranceNumber", + "UKUniqueTaxpayerNumber", + "USUKPassportNumber", + "USBankAccountNumber", + "USDriversLicenseNumber", + "USIndividualTaxpayerIdentification", + "USSocialSecurityNumber", + "UAPassportNumberDomestic", + "UAPassportNumberInternational", + "Organization", + "Email", + "URL", + "Age", + "PhoneNumber", + "IPAddress", + "Date", + "Person", + "Address", + "All", + "Default" + ] + }, + "name": "piiCategories", + "required": false, + "type": "array", + "uniqueItems": true, + "x-ms-parameter-location": "method" + }, + "JobId": { + "description": "Job ID", + "format": "uuid", + "in": "path", + "name": "jobId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "AnalyzeJobId": { + "description": "Job ID for Analyze", + "in": "path", + "name": "jobId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ShowStats": { + "name": "showStats", + "in": "query", + "description": "(Optional) if set to true, response will contain request and document level statistics.", + "type": "boolean", + "required": false, + "x-ms-parameter-location": "method" + }, + "LoggingOptOut": { + "name": "loggingOptOut", + "in": "query", + "description": "(Optional) If set to true, you opt-out of having your text input logged for troubleshooting. By default, Text Analytics logs your input text for 48 hours, solely to allow for troubleshooting issues in providing you with the Text Analytics natural language processing functions. Setting this parameter to true, disables input logging and may limit our ability to remediate issues that occur. Please see Cognitive Services Compliance and Privacy notes at https://aka.ms/cs-compliance for additional details, and Microsoft Responsible AI principles at https://www.microsoft.com/en-us/ai/responsible-ai.", + "type": "boolean", + "required": false, + "x-ms-parameter-location": "method" + }, + "ModelVersion": { + "name": "model-version", + "in": "query", + "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ", + "type": "string", + "required": false, + "x-ms-parameter-location": "method" + }, + "MultiLanguageInput": { + "in": "body", + "name": "input", + "description": "Collection of documents to analyze.", + "required": true, + "schema": { + "$ref": "#/definitions/MultiLanguageBatchInput" + }, + "x-ms-parameter-location": "method" + }, + "LanguageInput": { + "in": "body", + "name": "input", + "description": "Collection of documents to analyze for language endpoint.", + "required": true, + "schema": { + "$ref": "#/definitions/LanguageBatchInput" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulAnalyzeRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulAnalyzeRequest.json new file mode 100644 index 000000000000..0e27c771f244 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulAnalyzeRequest.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "ApiVersion": "v3.2-preview.2", + "Endpoint": "{Endpoint}", + "jobId": "{Job ID}", + "input": { + "displayName": "Extracting Location & US Region", + "analysisInput": { + "documents": [ + { + "id": "1", + "language": "en", + "text": "I had a wonderful trip to Seattle last week." + }, + { + "id": "2", + "language": "en", + "text": "I'm flying to NYC tomorrow. See you there." + } + ] + }, + "tasks": { + "entityRecognitionTasks": [ + { + "parameters": { + "model-version": "latest" + } + } + ] + } + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/text/analytics/v3.2-preview.2/analyze/jobs/{jobId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulAnalyzeStatusRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulAnalyzeStatusRequest.json new file mode 100644 index 000000000000..12650b876e60 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulAnalyzeStatusRequest.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "ApiVersion": "v3.2-preview.2", + "Endpoint": "{Endpoint}", + "jobId": "{Job ID}" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "createdDateTime": "2020-10-01T15:00:45Z", + "displayName": "Extracting Location & US Region", + "expirationDateTime": "2020-10-03T15:01:03Z", + "jobId": "c0f2a446-05d9-48fc-ba8f-3ef4af8d0b18", + "lastUpdateDateTime": "2020-10-01T15:01:03Z", + "status": "succeeded", + "tasks": { + "completed": 2, + "failed": 0, + "inProgress": 0, + "total": 2, + "entityRecognitionTasks": [ + { + "taskName": "Recognize Entities (2020-04-01)", + "lastUpdateDateTime": "2020-10-01T15:01:03Z", + "status": "succeeded", + "results": { + "documents": [ + { + "entities": [ + { + "category": "Event", + "confidenceScore": 0.61, + "length": 4, + "offset": 18, + "text": "trip" + }, + { + "category": "Location", + "confidenceScore": 0.82, + "length": 7, + "offset": 26, + "subcategory": "GPE", + "text": "Seattle" + }, + { + "category": "DateTime", + "confidenceScore": 0.8, + "length": 9, + "offset": 34, + "subcategory": "DateRange", + "text": "last week" + } + ], + "id": "1", + "warnings": [] + }, + { + "entities": [ + { + "category": "Location", + "confidenceScore": 0.52, + "length": 3, + "offset": 14, + "subcategory": "GPE", + "text": "NYC" + }, + { + "category": "DateTime", + "confidenceScore": 0.8, + "length": 8, + "offset": 18, + "subcategory": "Date", + "text": "tomorrow" + } + ], + "id": "2", + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2020-04-01" + } + } + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulEntitiesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulEntitiesRequest.json new file mode 100644 index 000000000000..0411014e8ca1 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulEntitiesRequest.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "ApiVersion": "v3.2-preview.2", + "Endpoint": "{Endpoint}", + "input": { + "documents": [ + { + "id": "1", + "language": "en", + "text": "Microsoft was founded by Bill Gates and Paul Allen." + }, + { + "id": "2", + "language": "en", + "text": "Pike place market is my favorite Seattle attraction." + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "documents": [ + { + "entities": [ + { + "category": "Organization", + "confidenceScore": 0.84, + "length": 9, + "offset": 0, + "text": "Microsoft" + }, + { + "category": "Person", + "confidenceScore": 0.85, + "length": 10, + "offset": 25, + "text": "Bill Gates" + }, + { + "category": "Person", + "confidenceScore": 0.9, + "length": 10, + "offset": 40, + "text": "Paul Allen" + } + ], + "id": "1", + "warnings": [] + }, + { + "entities": [ + { + "category": "Location", + "confidenceScore": 0.55, + "length": 7, + "offset": 33, + "subcategory": "GPE", + "text": "Seattle" + } + ], + "id": "2", + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2020-04-01" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulEntityLinkingRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulEntityLinkingRequest.json new file mode 100644 index 000000000000..0cdc8583aaa7 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulEntityLinkingRequest.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "ApiVersion": "v3.2-preview.2", + "Endpoint": "{Endpoint}", + "input": { + "documents": [ + { + "id": "1", + "language": "en", + "text": "Microsoft was founded by Bill Gates and Paul Allen." + }, + { + "id": "2", + "language": "en", + "text": "Pike place market is my favorite Seattle attraction." + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "documents": [ + { + "entities": [ + { + "dataSource": "Wikipedia", + "id": "Bill Gates", + "language": "en", + "matches": [ + { + "confidenceScore": 0.52, + "length": 10, + "offset": 25, + "text": "Bill Gates" + } + ], + "name": "Bill Gates", + "url": "https://en.wikipedia.org/wiki/Bill_Gates" + }, + { + "dataSource": "Wikipedia", + "id": "Paul Allen", + "language": "en", + "matches": [ + { + "confidenceScore": 0.54, + "length": 10, + "offset": 40, + "text": "Paul Allen" + } + ], + "name": "Paul Allen", + "url": "https://en.wikipedia.org/wiki/Paul_Allen" + }, + { + "dataSource": "Wikipedia", + "id": "Microsoft", + "language": "en", + "matches": [ + { + "confidenceScore": 0.49, + "length": 9, + "offset": 0, + "text": "Microsoft" + } + ], + "name": "Microsoft", + "url": "https://en.wikipedia.org/wiki/Microsoft" + } + ], + "id": "1", + "warnings": [] + }, + { + "entities": [ + { + "dataSource": "Wikipedia", + "id": "Pike Place Market", + "language": "en", + "matches": [ + { + "confidenceScore": 0.86, + "length": 17, + "offset": 0, + "text": "Pike place market" + } + ], + "name": "Pike Place Market", + "url": "https://en.wikipedia.org/wiki/Pike_Place_Market" + }, + { + "dataSource": "Wikipedia", + "id": "Seattle", + "language": "en", + "matches": [ + { + "confidenceScore": 0.27, + "length": 7, + "offset": 33, + "text": "Seattle" + } + ], + "name": "Seattle", + "url": "https://en.wikipedia.org/wiki/Seattle" + } + ], + "id": "2", + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2020-02-01" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulEntityPIIRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulEntityPIIRequest.json new file mode 100644 index 000000000000..a0f057d9a862 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulEntityPIIRequest.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "ApiVersion": "v3.2-preview.2", + "Endpoint": "{Endpoint}", + "input": { + "documents": [ + { + "id": "1", + "language": "en", + "text": "My SSN is 859-98-0987" + }, + { + "id": "2", + "language": "en", + "text": "Your ABA number - 111000025 - is the first 9 digits in the lower left hand corner of your personal check." + }, + { + "id": "3", + "language": "en", + "text": "Is 998.214.865-68 your Brazilian CPF number?" + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "documents": [ + { + "id": "1", + "redactedText": "My SSN is ***********", + "entities": [ + { + "category": "U.S. Social Security Number (SSN)", + "confidenceScore": 0.65, + "length": 11, + "offset": 28, + "text": "859-98-0987" + } + ], + "warnings": [] + }, + { + "id": "2", + "redactedText": "Your ABA number - ********* - is the first 9 digits in the lower left hand corner of your personal check.", + "entities": [ + { + "category": "ABA Routing Number", + "confidenceScore": 0.75, + "length": 9, + "offset": 18, + "text": "111000025" + } + ], + "warnings": [] + }, + { + "id": "3", + "redactedText": "Is ************** your Brazilian CPF number?", + "entities": [ + { + "category": "Brazil CPF Number", + "confidenceScore": 0.85, + "length": 14, + "offset": 3, + "text": "998.214.865-68" + } + ], + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2019-10-01" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulHealthDeleteRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulHealthDeleteRequest.json new file mode 100644 index 000000000000..1d2e2d1db2df --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulHealthDeleteRequest.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "ApiVersion": "v3.2-preview.2", + "Endpoint": "{Endpoint}", + "jobId": "{Job ID}" + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/text/analytics/v3.2-preview.2/entities/healthcare/jobs/{jobId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulHealthRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulHealthRequest.json new file mode 100644 index 000000000000..a63a59eab294 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulHealthRequest.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "ApiVersion": "v3.2-preview.2", + "Endpoint": "{Endpoint}", + "jobId": "{Job ID}", + "input": { + "documents": [ + { + "id": "1", + "language": "en", + "text": "Subject is taking 100mg of ibuprofen twice daily." + } + ] + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/text/analytics/v3.2-preview.2/entities/healthcare/jobs/{jobId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulHealthStatusRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulHealthStatusRequest.json new file mode 100644 index 000000000000..343b2b5b45a7 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulHealthStatusRequest.json @@ -0,0 +1,206 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "ApiVersion": "v3.2-preview.2", + "Endpoint": "{Endpoint}", + "jobId": "{Job ID}" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "createdDateTime": "2020-10-01T15:01:03Z", + "expirationDateTime": "2020-10-03T15:01:03Z", + "jobId": "c0f2a446-05d9-48fc-ba8f-3ef4af8d0b18", + "lastUpdateDateTime": "2020-10-01T15:01:03Z", + "status": "succeeded", + "results": { + "documents": [ + { + "id": "1", + "entities": [ + { + "offset": 18, + "length": 5, + "text": "100mg", + "category": "DOSAGE", + "confidenceScore": 0.99 + }, + { + "offset": 27, + "length": 9, + "text": "ibuprofen", + "category": "MEDICATION_NAME", + "confidenceScore": 1.0, + "assertion": { + "certainty": "positive" + }, + "links": [ + { + "id": "C0020740", + "dataSource": "UMLS" + }, + { + "id": "0000019879", + "dataSource": "AOD" + }, + { + "id": "M01AE01", + "dataSource": "ATC" + }, + { + "id": "0046165", + "dataSource": "CCPSS" + }, + { + "id": "0000006519", + "dataSource": "CHV" + }, + { + "id": "2270-2077", + "dataSource": "CSP" + }, + { + "id": "DB01050", + "dataSource": "DRUGBANK" + }, + { + "id": "1611", + "dataSource": "GS" + }, + { + "id": "sh97005926", + "dataSource": "LCH_NW" + }, + { + "id": "LP16165-0", + "dataSource": "LNC" + }, + { + "id": "40458", + "dataSource": "MEDCIN" + }, + { + "id": "d00015", + "dataSource": "MMSL" + }, + { + "id": "D007052", + "dataSource": "MSH" + }, + { + "id": "WK2XYI10QM", + "dataSource": "MTHSPL" + }, + { + "id": "C561", + "dataSource": "NCI" + }, + { + "id": "C561", + "dataSource": "NCI_CTRP" + }, + { + "id": "00803", + "dataSource": "NCI_DCP" + }, + { + "id": "NSC0256857", + "dataSource": "NCI_DTP" + }, + { + "id": "WK2XYI10QM", + "dataSource": "NCI_FDA" + }, + { + "id": "CDR0000613511", + "dataSource": "NCI_NCI-GLOSS" + }, + { + "id": "002377", + "dataSource": "NDDF" + }, + { + "id": "CDR0000040475", + "dataSource": "PDQ" + }, + { + "id": "x02MO", + "dataSource": "RCD" + }, + { + "id": "5640", + "dataSource": "RXNORM" + }, + { + "id": "E-7772", + "dataSource": "SNM" + }, + { + "id": "C-603C0", + "dataSource": "SNMI" + }, + { + "id": "387207008", + "dataSource": "SNOMEDCT_US" + }, + { + "id": "m39860", + "dataSource": "USP" + }, + { + "id": "MTHU000060", + "dataSource": "USPMG" + }, + { + "id": "4017840", + "dataSource": "VANDF" + } + ] + }, + { + "offset": 37, + "length": 11, + "text": "twice daily", + "category": "FREQUENCY", + "confidenceScore": 1 + } + ], + "relations": [ + { + "relationType": "DosageOfMedication", + "entities": [ + { + "ref": "#/documents/0/entities/0", + "role": "Attribute" + }, + { + "ref": "#/documents/0/entities/1", + "role": "Entity" + } + ] + }, + { + "relationType": "FrequencyOfMedication", + "entities": [ + { + "ref": "#/documents/0/entities/2", + "role": "Attribute" + }, + { + "ref": "#/documents/0/entities/1", + "role": "Entity" + } + ] + } + ], + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2020-05-08" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulKeyPhrasesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulKeyPhrasesRequest.json new file mode 100644 index 000000000000..7459fdea7a3b --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulKeyPhrasesRequest.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "ApiVersion": "v3.2-preview.2", + "Endpoint": "{Endpoint}", + "input": { + "documents": [ + { + "id": "1", + "language": "en", + "text": "Microsoft was founded by Bill Gates and Paul Allen." + }, + { + "id": "2", + "language": "en", + "text": "Text Analytics is one of the Azure Cognitive Services." + }, + { + "id": "3", + "language": "en", + "text": "My cat might need to see a veterinarian." + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "documents": [ + { + "id": "1", + "keyPhrases": [ + "Bill Gates", + "Paul Allen", + "Microsoft" + ], + "warnings": [] + }, + { + "id": "2", + "keyPhrases": [ + "Azure Cognitive Services", + "Text Analytics" + ], + "warnings": [] + }, + { + "id": "3", + "keyPhrases": [ + "cat", + "veterinarian" + ], + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2019-10-01" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulLanguagesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulLanguagesRequest.json new file mode 100644 index 000000000000..e5af200192be --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulLanguagesRequest.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "ApiVersion": "v3.2-preview.2", + "Endpoint": "{Endpoint}", + "input": { + "documents": [ + { + "id": "1", + "text": "Hello world" + }, + { + "id": "2", + "text": "Bonjour tout le monde" + }, + { + "id": "3", + "text": "Hola mundo" + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "documents": [ + { + "detectedLanguage": { + "confidenceScore": 1, + "iso6391Name": "en", + "name": "English" + }, + "id": "1", + "warnings": [] + }, + { + "detectedLanguage": { + "confidenceScore": 1, + "iso6391Name": "fr", + "name": "French" + }, + "id": "2", + "warnings": [] + }, + { + "detectedLanguage": { + "confidenceScore": 1, + "iso6391Name": "es", + "name": "Spanish" + }, + "id": "3", + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2020-04-01" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulSentimentRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulSentimentRequest.json new file mode 100644 index 000000000000..04ea896c843b --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulSentimentRequest.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "ApiVersion": "v3.2-preview.2", + "Endpoint": "{Endpoint}", + "input": { + "documents": [ + { + "id": "1", + "language": "en", + "text": "Great atmosphere. Close to plenty of restaurants, hotels, and transit! Staff are friendly and helpful." + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "documents": [ + { + "confidenceScores": { + "negative": 0, + "neutral": 0, + "positive": 1 + }, + "id": "1", + "sentences": [ + { + "targets": [ + { + "confidenceScores": { + "negative": 0, + "positive": 1 + }, + "length": 10, + "offset": 6, + "relations": [ + { + "ref": "#/documents/0/sentences/0/assessments/0", + "relationType": "assessment" + } + ], + "sentiment": "positive", + "text": "atmosphere" + } + ], + "confidenceScores": { + "negative": 0, + "neutral": 0, + "positive": 1 + }, + "length": 17, + "offset": 0, + "assessments": [ + { + "confidenceScores": { + "negative": 0, + "positive": 1 + }, + "isNegated": false, + "length": 5, + "offset": 0, + "sentiment": "positive", + "text": "great" + } + ], + "sentiment": "positive", + "text": "Great atmosphere." + }, + { + "targets": [ + { + "confidenceScores": { + "negative": 0.01, + "positive": 0.99 + }, + "length": 11, + "offset": 37, + "relations": [ + { + "ref": "#/documents/0/sentences/1/assessments/0", + "relationType": "assessment" + } + ], + "sentiment": "positive", + "text": "restaurants" + }, + { + "confidenceScores": { + "negative": 0.01, + "positive": 0.99 + }, + "length": 6, + "offset": 50, + "relations": [ + { + "ref": "#/documents/0/sentences/1/assessments/0", + "relationType": "assessment" + } + ], + "sentiment": "positive", + "text": "hotels" + } + ], + "confidenceScores": { + "negative": 0.01, + "neutral": 0.86, + "positive": 0.13 + }, + "length": 52, + "offset": 18, + "assessments": [ + { + "confidenceScores": { + "negative": 0.01, + "positive": 0.99 + }, + "isNegated": false, + "length": 15, + "offset": 18, + "sentiment": "positive", + "text": "Close to plenty" + } + ], + "sentiment": "neutral", + "text": "Close to plenty of restaurants, hotels, and transit!" + } + ], + "sentiment": "positive", + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2020-04-01" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md index 7539842e2c81..cfd9ac31ead0 100644 --- a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md +++ b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md @@ -132,6 +132,14 @@ These settings apply only when `--tag=release_3_2_preview.1` is specified on the input-file: preview/v3.2-preview.1/TextAnalytics.json ``` +### Release 3.2-preview.2 + +These settings apply only when `--tag=release_3_2_preview.2` is specified on the command line. + +``` yaml $(tag) == 'release_3_2_preview.2' +input-file: preview/v3.2-preview.2/TextAnalytics.json +``` + ## Swagger to SDK This section describes what SDK should be generated by the automatic system. diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/cognitiveservices.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/cognitiveservices.json new file mode 100644 index 000000000000..dcba455ca6cf --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/cognitiveservices.json @@ -0,0 +1,2938 @@ +{ + "swagger": "2.0", + "info": { + "title": "CognitiveServicesManagementClient", + "description": "Cognitive Services Management Client", + "version": "2021-10-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "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": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}": { + "put": { + "tags": [ + "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": "Accounts_Create", + "x-ms-examples": { + "Create Account": { + "$ref": "./examples/CreateAccount.json" + }, + "Create Account Min": { + "$ref": "./examples/CreateAccountMin.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "name": "account", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Account" + }, + "description": "The parameters to provide for the created account." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$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/Account" + } + }, + "201": { + "description": "If resource is created successfully, the service should return 201 (OK).", + "schema": { + "$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": "../../../../../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": "Accounts_Update", + "x-ms-examples": { + "Update Account": { + "$ref": "./examples/UpdateAccount.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "name": "account", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Account" + }, + "description": "The parameters to provide for the created account." + }, + { + "$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. ", + "schema": { + "$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": "../../../../../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": "Accounts_Delete", + "x-ms-examples": { + "Delete Account": { + "$ref": "./examples/DeleteAccount.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": "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 + }, + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Returns a Cognitive Services account specified by the parameters.", + "operationId": "Accounts_Get", + "x-ms-examples": { + "Get Account": { + "$ref": "./examples/GetAccount.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": "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/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" + } + } + } + }, + "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": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Returns all the resources of a particular type belonging to a resource group", + "operationId": "Accounts_ListByResourceGroup", + "x-ms-examples": { + "List Accounts by Resource Group": { + "$ref": "./examples/ListAccountsByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/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 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/AccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/accounts": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Returns all the resources of a particular type belonging to a subscription.", + "operationId": "Accounts_List", + "x-ms-examples": { + "List Accounts by Subscription": { + "$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": "../../../../../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}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/listKeys": { + "post": { + "tags": [ + "CognitiveServicesAccounts" + ], + "operationId": "Accounts_ListKeys", + "description": "Lists the account keys for the specified Cognitive Services account.", + "x-ms-examples": { + "List Keys": { + "$ref": "./examples/ListKeys.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": "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/ApiKeys" + } + }, + "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}/regenerateKey": { + "post": { + "tags": [ + "CognitiveServicesAccounts" + ], + "operationId": "Accounts_RegenerateKey", + "description": "Regenerates the specified account key for the specified Cognitive Services account.", + "x-ms-examples": { + "Regenerate Keys": { + "$ref": "./examples/RegenerateKey.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/RegenerateKeyParameters" + }, + "description": "regenerate key parameters." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/ApiKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$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" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/skus": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "List available SKUs for the requested Cognitive Services account", + "x-ms-examples": { + "List SKUs": { + "$ref": "./examples/ListSkus.json" + } + }, + "operationId": "Accounts_ListSkus", + "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": "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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for Cognitive Services account were retrieved successfully.", + "schema": { + "$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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.CognitiveServices/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all the available Cognitive Services account operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "Get Operations": { + "$ref": "./examples/GetOperations.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$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" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/checkSkuAvailability": { + "post": { + "tags": [ + "CognitiveServicesAccounts" + ], + "operationId": "CheckSkuAvailability", + "description": "Check available SKUs.", + "x-ms-examples": { + "Check SKU Availability": { + "$ref": "./examples/CheckSkuAvailability.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CheckSkuAvailabilityParameter" + }, + "description": "Check SKU Availability POST body." + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/SkuAvailabilityListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/commitmentTiers": { + "get": { + "tags": [ + "CommitmentTiers" + ], + "operationId": "CommitmentTiers_List", + "description": "List Commitment Tiers.", + "x-ms-examples": { + "ListCommitmentTiers": { + "$ref": "./examples/ListCommitmentTiers.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/locationParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/CommitmentTierListResult" + } + }, + "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/checkDomainAvailability": { + "post": { + "tags": [ + "CognitiveServicesAccounts" + ], + "operationId": "CheckDomainAvailability", + "description": "Check whether a domain is available.", + "x-ms-examples": { + "Check SKU Availability": { + "$ref": "./examples/CheckDomainAvailability.json" + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "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" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments": { + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_List", + "description": "Gets the deployments associated with the Cognitive Services account.", + "x-ms-examples": { + "ListDeployments": { + "$ref": "./examples/ListDeployments.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 deployments.", + "schema": { + "$ref": "#/definitions/DeploymentListResult" + } + }, + "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.CognitiveServices/accounts/{accountName}/deployments/{deploymentName}": { + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_Get", + "description": "Gets the specified deployments associated with the Cognitive Services account.", + "x-ms-examples": { + "GetDeployment": { + "$ref": "./examples/GetDeployment.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/deploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the deployments properties successfully.", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CreateOrUpdate", + "description": "Update the state of specified deployments associated with the Cognitive Services account.", + "x-ms-examples": { + "PutDeployment": { + "$ref": "./examples/PutDeployment.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/deploymentNameParameter" + }, + { + "name": "deployment", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Deployment" + }, + "description": "The deployment properties." + } + ], + "responses": { + "200": { + "description": "Create/Update the deployment successfully.", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "201": { + "description": "Create the deployment successfully.", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "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": [ + "Deployments" + ], + "operationId": "Deployments_Delete", + "description": "Deletes the specified deployment associated with the Cognitive Services account.", + "x-ms-examples": { + "DeleteDeployment": { + "$ref": "./examples/DeleteDeployment.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/deploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the deployment successfully." + }, + "202": { + "description": "Accepted -- the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "No Content -- The deployment 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}/commitmentPlans": { + "get": { + "tags": [ + "CommitmentPlans" + ], + "operationId": "CommitmentPlans_List", + "description": "Gets the commitmentPlans associated with the Cognitive Services account.", + "x-ms-examples": { + "ListCommitmentPlans": { + "$ref": "./examples/ListCommitmentPlans.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 commitmentPlans.", + "schema": { + "$ref": "#/definitions/CommitmentPlanListResult" + } + }, + "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.CognitiveServices/accounts/{accountName}/commitmentPlans/{commitmentPlanName}": { + "get": { + "tags": [ + "CommitmentPlans" + ], + "operationId": "CommitmentPlans_Get", + "description": "Gets the specified commitmentPlans associated with the Cognitive Services account.", + "x-ms-examples": { + "GetCommitmentPlan": { + "$ref": "./examples/GetCommitmentPlan.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/commitmentPlanNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the commitmentPlans properties successfully.", + "schema": { + "$ref": "#/definitions/CommitmentPlan" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "CommitmentPlans" + ], + "operationId": "CommitmentPlans_CreateOrUpdate", + "description": "Update the state of specified commitmentPlans associated with the Cognitive Services account.", + "x-ms-examples": { + "PutCommitmentPlan": { + "$ref": "./examples/PutCommitmentPlan.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/commitmentPlanNameParameter" + }, + { + "name": "commitmentPlan", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CommitmentPlan" + }, + "description": "The commitmentPlan properties." + } + ], + "responses": { + "200": { + "description": "Create/Update the CommitmentPlan successfully.", + "schema": { + "$ref": "#/definitions/CommitmentPlan" + } + }, + "201": { + "description": "Create the CommitmentPlan successfully.", + "schema": { + "$ref": "#/definitions/CommitmentPlan" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "CommitmentPlans" + ], + "operationId": "CommitmentPlans_Delete", + "description": "Deletes the specified commitmentPlan associated with the Cognitive Services account.", + "x-ms-examples": { + "DeleteCommitmentPlan": { + "$ref": "./examples/DeleteCommitmentPlan.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/commitmentPlanNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the commitmentPlan successfully." + }, + "202": { + "description": "Accepted -- the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "No Content -- The commitmentPlan 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 + } + } + }, + "definitions": { + "Kind": { + "type": "string", + "description": "The kind (type) of cognitive service account." + }, + "Sku": { + "description": "The resource model definition representing SKU", + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU. Ex - P3. It is typically a letter+number code" + }, + "tier": { + "type": "string", + "enum": [ + "Free", + "Basic", + "Standard", + "Premium", + "Enterprise" + ], + "x-ms-enum": { + "name": "SkuTier", + "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" + ] + }, + "SkuName": { + "type": "string", + "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." + }, + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind 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." + }, + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind 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." + }, + "ResourceSku": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "description": "The type of resource the SKU applies to." + }, + "name": { + "type": "string", + "description": "The name of SKU." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of Cognitive Services account." + }, + "kind": { + "type": "string", + "description": "The Kind of resources that are supported in this SKU." + }, + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of locations that the SKU is available." + }, + "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." + } + }, + "description": "Describes an available Cognitive Services SKU." + }, + "ResourceSkuRestrictionInfo": { + "type": "object", + "properties": { + "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": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSku" + }, + "description": "The list of skus available for the subscription." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of Skus." + } + }, + "required": [ + "value" + ], + "description": "The Get Skus operation response." + }, + "NetworkRuleSet": { + "type": "object", + "properties": { + "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." + }, + "IpRule": { + "type": "object", + "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 from a specific ip address or ip range." + }, + "VirtualNetworkRule": { + "type": "object", + "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'." + }, + "state": { + "type": "string", + "description": "Gets the state of virtual network rule." + }, + "ignoreMissingVnetServiceEndpoint": { + "type": "boolean", + "description": "Ignore missing vnet service endpoint or not." + } + }, + "required": [ + "id" + ], + "description": "A rule governing the accessibility from a specific virtual network." + }, + "Identity": { + "type": "object", + "description": "Identity for the resource.", + "properties": { + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "x-ms-enum": { + "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" + } + } + } + }, + "UserAssignedIdentity": { + "type": "object", + "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." + } + } + }, + "Encryption": { + "type": "object", + "properties": { + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Properties of KeyVault" + }, + "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": "Properties to configure Encryption" + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "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": "Properties to configure keyVault Properties" + }, + "UserOwnedStorage": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "Full resource id of a Microsoft.Storage resource." + }, + "identityClientId": { + "type": "string" + } + }, + "description": "The user owned storage for Cognitive Services account." + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "description": "A list of private endpoint connections" + }, + "PrivateEndpointConnection": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Resource properties." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "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." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "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." + }, + "provisioningState": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + }, + "groupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource group ids." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateLinkResourceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + }, + "PrivateLinkResource": { + "type": "object", + "properties": { + "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", + "readOnly": true + }, + "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 Private link DNS zone name." + }, + "displayName": { + "description": "The private link resource display name.", + "type": "string", + "readOnly": true + } + }, + "description": "Properties of a private link resource." + }, + "DeploymentListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of Deployment.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Deployment" + }, + "description": "Gets the list of Cognitive Services accounts Deployment and their properties." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "Deployment": { + "description": "Cognitive Services account deployment.", + "type": "object", + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Resource Etag." + }, + "properties": { + "$ref": "#/definitions/DeploymentProperties", + "description": "Properties of Cognitive Services account deployment." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "DeploymentProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the resource at the time the operation was called.", + "enum": [ + "Accepted", + "Creating", + "Deleting", + "Moving", + "Failed", + "Succeeded" + ], + "x-ms-enum": { + "name": "DeploymentProvisioningState", + "modelAsString": true + } + }, + "model": { + "type": "object", + "$ref": "#/definitions/DeploymentModel" + }, + "scaleSettings": { + "type": "object", + "$ref": "#/definitions/DeploymentScaleSettings" + } + }, + "description": "Properties of Cognitive Services account deployment." + }, + "DeploymentModel": { + "type": "object", + "properties": { + "format": { + "type": "string", + "description": "Deployment model format." + }, + "name": { + "type": "string", + "description": "Deployment model name." + }, + "version": { + "type": "string", + "description": "Deployment model version." + } + }, + "description": "Properties of Cognitive Services account deployment model." + }, + "DeploymentScaleSettings": { + "type": "object", + "properties": { + "scaleType": { + "type": "string", + "description": "Deployment scale type.", + "enum": [ + "Manual" + ], + "x-ms-enum": { + "name": "DeploymentScaleType", + "modelAsString": true + } + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "Deployment capacity." + } + }, + "description": "Properties of Cognitive Services account deployment model." + }, + "CommitmentTierListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of CommitmentTier.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CommitmentTier" + }, + "description": "Gets the list of Cognitive Services accounts CommitmentTier and their properties." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "CommitmentTier": { + "description": "Cognitive Services account commitment tier.", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind of the resource." + }, + "skuName": { + "type": "string", + "description": "The name of the SKU. Ex - P3. It is typically a letter+number code" + }, + "hostingModel": { + "$ref": "#/definitions/HostingModel", + "description": "Account hosting model." + }, + "planType": { + "type": "string", + "description": "Commitment plan type." + }, + "tier": { + "type": "string", + "description": "Commitment period commitment tier." + }, + "maxCount": { + "type": "integer", + "format": "int32", + "description": "Commitment period commitment max count." + }, + "quota": { + "type": "object", + "$ref": "#/definitions/CommitmentQuota" + }, + "cost": { + "type": "object", + "$ref": "#/definitions/CommitmentCost" + } + } + }, + "CommitmentQuota": { + "type": "object", + "properties": { + "quantity": { + "type": "integer", + "format": "int64", + "description": "Commitment quota quantity." + }, + "unit": { + "type": "string", + "description": "Commitment quota unit." + } + }, + "description": "Cognitive Services account commitment quota." + }, + "CommitmentCost": { + "type": "object", + "properties": { + "commitmentMeterId": { + "type": "string", + "description": "Commitment meter Id." + }, + "overageMeterId": { + "type": "string", + "description": "Overage meter Id." + } + }, + "description": "Cognitive Services account commitment cost." + }, + "CommitmentPlanListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of CommitmentPlan.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CommitmentPlan" + }, + "description": "Gets the list of Cognitive Services accounts CommitmentPlan and their properties." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "CommitmentPlan": { + "description": "Cognitive Services account commitment plan.", + "type": "object", + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Resource Etag." + }, + "properties": { + "$ref": "#/definitions/CommitmentPlanProperties", + "description": "Properties of Cognitive Services account commitment plan." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "CommitmentPlanProperties": { + "type": "object", + "properties": { + "hostingModel": { + "$ref": "#/definitions/HostingModel", + "description": "Account hosting model." + }, + "planType": { + "type": "string", + "description": "Commitment plan type." + }, + "current": { + "type": "object", + "$ref": "#/definitions/CommitmentPeriod" + }, + "autoRenew": { + "type": "boolean", + "description": "AutoRenew commitment plan." + }, + "next": { + "type": "object", + "$ref": "#/definitions/CommitmentPeriod" + }, + "last": { + "type": "object", + "$ref": "#/definitions/CommitmentPeriod", + "readOnly": true + } + }, + "description": "Properties of Cognitive Services account commitment plan." + }, + "HostingModel": { + "type": "string", + "description": "Account hosting model.", + "enum": [ + "Web", + "ConnectedContainer", + "DisconnectedContainer" + ], + "x-ms-enum": { + "name": "HostingModel", + "modelAsString": true + } + }, + "CommitmentPeriod": { + "type": "object", + "properties": { + "tier": { + "type": "string", + "description": "Commitment period commitment tier." + }, + "count": { + "type": "integer", + "format": "int32", + "description": "Commitment period commitment count." + }, + "quota": { + "type": "object", + "$ref": "#/definitions/CommitmentQuota", + "readOnly": true + }, + "startDate": { + "type": "string", + "description": "Commitment period start date.", + "readOnly": true + }, + "endDate": { + "type": "string", + "description": "Commitment period end date.", + "readOnly": true + } + }, + "description": "Cognitive Services account commitment period." + } + }, + "parameters": { + "accountNameParameter": { + "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.", + "x-ms-parameter-location": "method" + }, + "locationParameter": { + "name": "location", + "in": "path", + "description": "Resource location.", + "required": true, + "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" + }, + "deploymentNameParameter": { + "name": "deploymentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the deployment associated with the Cognitive Services Account", + "x-ms-parameter-location": "method" + }, + "commitmentPlanNameParameter": { + "name": "commitmentPlanName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the commitmentPlan associated with the Cognitive Services Account", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CheckDomainAvailability.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CheckDomainAvailability.json new file mode 100644 index 000000000000..1886b7e7f93c --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CheckDomainAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "location": "westus", + "parameters": { + "subdomainName": "contosodemoapp1", + "type": "Microsoft.CognitiveServices/accounts" + } + }, + "responses": { + "200": { + "body": { + "isSubdomainAvailable": false, + "reason": "Sub domain name 'contosodemoapp1' is not valid", + "subdomainName": "contosodemoapp1", + "type": "Microsoft.CognitiveServices/accounts" + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CheckSkuAvailability.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CheckSkuAvailability.json new file mode 100644 index 000000000000..d8f46bb1a8c1 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CheckSkuAvailability.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "location": "westus", + "parameters": { + "skus": [ + "S0" + ], + "kind": "Face", + "type": "Microsoft.CognitiveServices/accounts" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "Face", + "type": "Microsoft.CognitiveServices/accounts", + "skuName": "S0", + "skuAvailable": true, + "reason": null, + "message": null + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CreateAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CreateAccount.json new file mode 100644 index 000000000000..1d94fef196ef --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CreateAccount.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "testCreate1", + "account": { + "location": "West US", + "kind": "Emotion", + "sku": { + "name": "S0" + }, + "properties": { + "encryption": { + "keyVaultProperties": { + "keyName": "KeyName", + "keyVersion": "891CF236-D241-4738-9462-D506AF493DFA", + "keyVaultUri": "https://pltfrmscrts-use-pc-dev.vault.azure.net/" + }, + "keySource": "Microsoft.KeyVault" + }, + "userOwnedStorage": [ + { + "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount" + } + ] + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1", + "name": "testCreate1", + "type": "Microsoft.CognitiveServices/accounts", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "Emotion", + "etag": "W/\"datetime'2017-04-10T08%3A00%3A05.445595Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded", + "encryption": { + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": { + "keyName": "FakeKeyName", + "keyVersion": "891CF236-D241-4738-9462-D506AF493DFA", + "keyVaultUri": "https://pltfrmscrts-use-pc-dev.vault.azure.net/" + } + }, + "userOwnedStorage": [ + { + "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount" + } + ] + }, + "identity": { + "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1", + "name": "testCreate1", + "type": "Microsoft.CognitiveServices/accounts", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "Emotion", + "etag": "W/\"datetime'2017-04-10T07%3A57%3A48.4582781Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded", + "encryption": { + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": { + "keyName": "FakeKeyName", + "keyVersion": "891CF236-D241-4738-9462-D506AF493DFA", + "keyVaultUri": "https://pltfrmscrts-use-pc-dev.vault.azure.net/" + } + }, + "userOwnedStorage": [ + { + "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount" + } + ] + }, + "identity": { + "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1", + "name": "testCreate1", + "type": "Microsoft.CognitiveServices/accounts", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "Emotion", + "etag": "W/\"datetime'2017-04-10T07%3A57%3A48.4582781Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded", + "encryption": { + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": { + "keyName": "FakeKeyName", + "keyVersion": "891CF236-D241-4738-9462-D506AF493DFA", + "keyVaultUri": "https://pltfrmscrts-use-pc-dev.vault.azure.net/" + } + }, + "userOwnedStorage": [ + { + "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount" + } + ] + }, + "identity": { + "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CreateAccountMin.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CreateAccountMin.json new file mode 100644 index 000000000000..e6a58e8a7614 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CreateAccountMin.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "testCreate1", + "account": { + "location": "West US", + "kind": "CognitiveServices", + "sku": { + "name": "S0" + }, + "properties": {}, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1", + "name": "testCreate1", + "type": "Microsoft.CognitiveServices/accounts", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "Emotion", + "etag": "W/\"datetime'2017-04-10T08%3A00%3A05.445595Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + }, + "identity": { + "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1", + "name": "testCreate1", + "type": "Microsoft.CognitiveServices/accounts", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "Emotion", + "etag": "W/\"datetime'2017-04-10T07%3A57%3A48.4582781Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + }, + "identity": { + "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1", + "name": "testCreate1", + "type": "Microsoft.CognitiveServices/accounts", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "Emotion", + "etag": "W/\"datetime'2017-04-10T07%3A57%3A48.4582781Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + }, + "identity": { + "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeleteAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeleteAccount.json new file mode 100644 index 000000000000..10e00186cad9 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeleteAccount.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "PropTest01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeleteCommitmentPlan.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeleteCommitmentPlan.json new file mode 100644 index 000000000000..894058cd1d1c --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeleteCommitmentPlan.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "commitmentPlanName": "commitmentPlanName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeleteDeployment.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeleteDeployment.json new file mode 100644 index 000000000000..e4e940d31cc9 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeleteDeployment.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "deploymentName": "deploymentName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeletePrivateEndpointConnection.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..c4f8d00e2d95 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeletePrivateEndpointConnection.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2021-10-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetAccount.json new file mode 100644 index 000000000000..3fd685c7807a --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetAccount.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "myAccount" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/myAccount", + "name": "myAccount", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "F0" + }, + "kind": "Emotion", + "tags": { + "Owner": "felixwa", + "ExpiredDate": "2017/09/01" + }, + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetCommitmentPlan.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetCommitmentPlan.json new file mode 100644 index 000000000000..9b6fa25083ec --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetCommitmentPlan.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "commitmentPlanName": "commitmentPlanName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/commitmentPlans/commitmentPlanName", + "name": "commitmentPlanName", + "type": "Microsoft.CognitiveServices/accounts/commitmentPlans", + "properties": { + "hostingModel": "Web", + "planType": "Speech2Text", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetDeletedAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetDeletedAccount.json new file mode 100644 index 000000000000..601f7df76b95 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetDeletedAccount.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "myAccount", + "location": "westus" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.CognitiveServices/locations/westus/resourceGroups/myResourceGroup/deletedAccounts/myAccount", + "name": "myAccount", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "F0" + }, + "kind": "Emotion", + "tags": { + "Owner": "felixwa", + "ExpiredDate": "2017/09/01" + }, + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetDeployment.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetDeployment.json new file mode 100644 index 000000000000..fe035dbbce92 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetDeployment.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "deploymentName": "deploymentName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/deployments/deploymentName", + "name": "deploymentName", + "type": "Microsoft.CognitiveServices/accounts/deployments", + "properties": { + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "scaleSettings": { + "scaleType": "Manual", + "capacity": 1 + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetOperations.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetOperations.json new file mode 100644 index 000000000000..db62aada7dfc --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetOperations.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.CognitiveServices/accounts/read", + "display": { + "provider": "Microsoft Cognitive Services", + "resource": "Cognitive Services API Account", + "operation": "Read API Account", + "description": "Reads API accounts." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CognitiveServices/accounts/write", + "display": { + "provider": "Microsoft Cognitive Services", + "resource": "Cognitive Services API Account", + "operation": "Write API Account", + "description": "Writes API Accounts." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CognitiveServices/accounts/delete", + "display": { + "provider": "Microsoft Cognitive Services", + "resource": "Cognitive Services API Account", + "operation": "Delete API Account", + "description": "Deletes API accounts" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetPrivateEndpointConnection.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetPrivateEndpointConnection.json new file mode 100644 index 000000000000..bf6513674d67 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetPrivateEndpointConnection.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2021-10-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetSkus.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetSkus.json new file mode 100644 index 000000000000..931af469dbc2 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetSkus.json @@ -0,0 +1,2164 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "f1c637e4-72ec-4f89-8d2b-0f933c036002" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Bing.Speech", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Bing.Speech", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "SpeechTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "SpeechTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "SpeechTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "SpeechTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "SpeechTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S5", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S6", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S7", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S8", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "Bing.Autosuggest.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "Bing.CustomSearch", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "Bing.SpellCheck.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Bing.EntitySearch", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "Bing.EntitySearch", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "SpeakerRecognition", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "SpeakerRecognition", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "CustomSpeech", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "CustomSpeech", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "CustomVision.Training", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "CustomVision.Training", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "CustomVision.Prediction", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "CustomVision.Prediction", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetUsages.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetUsages.json new file mode 100644 index 000000000000..21b1373e84b6 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetUsages.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "5a4f5c2e-6983-4ccb-bd34-2196d5b5bbd3", + "resourceGroupName": "myResourceGroup", + "accountName": "TestUsage02" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": { + "value": "Face.Transactions", + "localizedValue": "Face.Transactions" + }, + "status": "Included", + "currentValue": 3, + "limit": 30000, + "nextResetTime": "2018-03-28T09:33:51Z", + "quotaPeriod": "30.00:00:00", + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListAccountsByResourceGroup.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListAccountsByResourceGroup.json new file mode 100644 index 000000000000..ea5820bd6bd2 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListAccountsByResourceGroup.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/myAccount", + "name": "myAccount", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "F0" + }, + "kind": "Emotion", + "tags": { + "Owner": "felixwa", + "ExpiredDate": "2017/09/01" + }, + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/TestPropertyWU2", + "name": "TestPropertyWU2", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "S0" + }, + "kind": "Face", + "tags": {}, + "etag": "W/\"datetime'2017-04-07T04%3A32%3A38.9187216Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/face/v1.0", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListAccountsBySubscription.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListAccountsBySubscription.json new file mode 100644 index 000000000000..4f9c88678d37 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListAccountsBySubscription.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/bingSearch", + "name": "bingSearch", + "type": "Microsoft.CognitiveServices/accounts", + "location": "global", + "sku": { + "name": "S1" + }, + "kind": "Bing.Search", + "etag": "W/\"datetime'2017-03-27T11%3A19%3A08.762494Z'\"", + "properties": { + "endpoint": "https://api.cognitive.microsoft.com/bing/v5.0", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/CrisProd", + "name": "CrisProd", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "S0" + }, + "kind": "CRIS", + "tags": { + "can't delete it successfully": "v-yunjin" + }, + "etag": "W/\"datetime'2017-03-31T08%3A57%3A07.4499566Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/sts/v1.0", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/rayrptest0308", + "name": "rayrptest0308", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "S0" + }, + "kind": "Face", + "etag": "W/\"datetime'2017-03-27T11%3A15%3A23.5232645Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/face/v1.0", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/raytest02", + "name": "raytest02", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "S0" + }, + "kind": "Emotion", + "etag": "W/\"datetime'2017-04-04T02%3A07%3A07.3957572Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListCommitmentPlans.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListCommitmentPlans.json new file mode 100644 index 000000000000..fe0d9f780421 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListCommitmentPlans.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/commitmentPlans/commitmentPlanName", + "name": "commitmentPlanName", + "type": "Microsoft.CognitiveServices/accounts/commitmentPlans", + "properties": { + "hostingModel": "Web", + "planType": "Speech2Text", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListCommitmentTiers.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListCommitmentTiers.json new file mode 100644 index 000000000000..0ef1a0f02d87 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListCommitmentTiers.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "location": "location" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "TextAnalytics", + "skuName": "S", + "hostingModel": "Web", + "planType": "TA", + "tier": "T1", + "quota": { + "quantity": 1000000, + "unit": "Transaction" + }, + "cost": {} + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListDeployments.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListDeployments.json new file mode 100644 index 000000000000..4777afb831a5 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListDeployments.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/deployments/deploymentName", + "name": "deploymentName", + "type": "Microsoft.CognitiveServices/accounts/deployments", + "properties": { + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "scaleSettings": { + "scaleType": "Manual", + "capacity": 1 + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListKeys.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListKeys.json new file mode 100644 index 000000000000..3d3f604085ce --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "myAccount" + }, + "responses": { + "200": { + "body": { + "key1": "KEY1", + "key2": "KEY2" + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListPrivateEndpointConnections.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListPrivateEndpointConnections.json new file mode 100644 index 000000000000..435d9e9844aa --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListPrivateEndpointConnections.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListPrivateLinkResources.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListPrivateLinkResources.json new file mode 100644 index 000000000000..c9443f898590 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListPrivateLinkResources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.CognitiveServices/accounts/sto2527/privateLinkResources/account", + "name": "blob", + "type": "Microsoft.CognitiveServices/accounts/privateLinkResources", + "properties": { + "groupId": "account", + "requiredMembers": [ + "default" + ], + "requiredZoneNames": [ + "privatelink.cognitiveservices.azure.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListSkus.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListSkus.json new file mode 100644 index 000000000000..9e940274f547 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListSkus.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "myAccount" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.CognitiveServices/accounts", + "sku": { + "name": "F0", + "tier": "Free" + } + }, + { + "resourceType": "Microsoft.CognitiveServices/accounts", + "sku": { + "name": "S0", + "tier": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PurgeDeletedAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PurgeDeletedAccount.json new file mode 100644 index 000000000000..d9f4dc6874be --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PurgeDeletedAccount.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "PropTest01", + "location": "westus" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PutCommitmentPlan.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PutCommitmentPlan.json new file mode 100644 index 000000000000..d6f85afb2759 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PutCommitmentPlan.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "commitmentPlanName": "commitmentPlanName", + "commitmentPlan": { + "properties": { + "hostingModel": "Web", + "planType": "Speech2Text", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/commitmentPlans/commitmentPlanName", + "name": "commitmentPlanName", + "type": "Microsoft.CognitiveServices/accounts/commitmentPlans", + "properties": { + "hostingModel": "Web", + "planType": "Speech2Text", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/commitmentPlans/commitmentPlanName", + "name": "commitmentPlanName", + "type": "Microsoft.CognitiveServices/accounts/commitmentPlans", + "properties": { + "hostingModel": "Web", + "planType": "Speech2Text", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PutDeployment.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PutDeployment.json new file mode 100644 index 000000000000..d30fb1b126e5 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PutDeployment.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "deploymentName": "deploymentName", + "deployment": { + "properties": { + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "scaleSettings": { + "scaleType": "Manual", + "capacity": 1 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/deployments/deploymentName", + "name": "deploymentName", + "type": "Microsoft.CognitiveServices/accounts/deployments", + "properties": { + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "scaleSettings": { + "scaleType": "Manual", + "capacity": 1 + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/deployments/deploymentName", + "name": "deploymentName", + "type": "Microsoft.CognitiveServices/accounts/deployments", + "properties": { + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "scaleSettings": { + "scaleType": "Manual", + "capacity": 1 + }, + "provisioningState": "Accepted" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PutPrivateEndpointConnection.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PutPrivateEndpointConnection.json new file mode 100644 index 000000000000..5f6c3d56d6f6 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PutPrivateEndpointConnection.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2021-10-01", + "monitor": "true", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/RegenerateKey.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/RegenerateKey.json new file mode 100644 index 000000000000..6f3dc2f221ae --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/RegenerateKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "myAccount", + "parameters": { + "keyName": "Key2" + } + }, + "responses": { + "200": { + "body": { + "key1": "KEY1", + "key2": "KEY2" + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/UpdateAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/UpdateAccount.json new file mode 100644 index 000000000000..60e9dbba3825 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/UpdateAccount.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "bvttest", + "accountName": "bingSearch", + "account": { + "location": "global", + "sku": { + "name": "S2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/bingSearch", + "name": "bingSearch", + "type": "Microsoft.CognitiveServices/accounts", + "location": "global", + "sku": { + "name": "S2" + }, + "kind": "Bing.Search", + "etag": "W/\"datetime'2017-04-10T07%3A46%3A21.5618831Z'\"", + "properties": { + "endpoint": "https://api.cognitive.microsoft.com/bing/v5.0", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/bingSearch", + "name": "bingSearch", + "type": "Microsoft.CognitiveServices/accounts", + "location": "global", + "sku": { + "name": "S2" + }, + "kind": "Bing.Search", + "etag": "W/\"datetime'2017-04-10T07%3A46%3A21.5618831Z'\"", + "properties": { + "endpoint": "https://api.cognitive.microsoft.com/bing/v5.0", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/readme.go.md b/specification/cognitiveservices/resource-manager/readme.go.md index 4b6500b266ac..8a6d9ecc0f6e 100644 --- a/specification/cognitiveservices/resource-manager/readme.go.md +++ b/specification/cognitiveservices/resource-manager/readme.go.md @@ -2,22 +2,40 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: cognitiveservices clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/cognitiveservices/armcognitiveservices +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-10 - tag: package-2021-04 - tag: package-2017-04 - tag: package-2016-02-preview ``` +### Tag: package-2021-10 and go + +These settings apply only when `--tag=package-2021-10 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-10' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-10-01/$(namespace) +``` + ### Tag: package-2021-04 and go These settings apply only when `--tag=package-2021-04 --go` is specified on the command line. diff --git a/specification/cognitiveservices/resource-manager/readme.md b/specification/cognitiveservices/resource-manager/readme.md index 846c047e0ed7..2ba2d446bbea 100644 --- a/specification/cognitiveservices/resource-manager/readme.md +++ b/specification/cognitiveservices/resource-manager/readme.md @@ -5,10 +5,13 @@ This is the AutoRest configuration file for CognitiveServices. # Notice + Microsoft will use data you send to Bing Search Services or the Translator Speech API to improve Microsoft products and services. Where you send personal data to these Cognitive Services, you are responsible for obtaining sufficient consent from the data subjects. The General Privacy and Security Terms in the Online Services Terms do not apply to these Cognitive Services. Please refer to the Microsoft Cognitive Services section in the [Online Services Terms](https://www.microsoft.com/en-us/Licensing/product-licensing/products.aspx) for details. Microsoft offers policy controls that may be used to [disable new Cognitive Services deployments](https://docs.microsoft.com/en-us/azure/cognitive-services/cognitive-services-apis-create-account). --- + ## Getting Started + To build the SDK for CognitiveServices, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -16,21 +19,29 @@ To build the SDK for CognitiveServices, simply [Install AutoRest](https://aka.ms To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the CognitiveServices API. ``` yaml openapi-type: arm -tag: package-2021-04 +tag: package-2021-10 ``` +### Tag: package-2021-10 + +These settings apply only when `--tag=package-2021-10` is specified on the command line. + +```yaml $(tag) == 'package-2021-10' +input-file: + - Microsoft.CognitiveServices/stable/2021-10-01/cognitiveservices.json +``` ### Tag: package-2021-04 These settings apply only when `--tag=package-2021-04` is specified on the command line. @@ -58,10 +69,9 @@ input-file: - Microsoft.CognitiveServices/preview/2016-02-01-preview/cognitiveservices.json ``` - --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -74,6 +84,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby @@ -82,7 +93,6 @@ swagger-to-sdk: - repo: azure-resource-manager-schemas ``` - ## C# These settings apply only when `--csharp` is specified on the command line. @@ -152,8 +162,3 @@ java: regenerate-manager: true generate-interface: true ``` - - - - - diff --git a/specification/communication/data-plane/Identity/preview/2021-10-31-preview/CommunicationIdentity.json b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/CommunicationIdentity.json new file mode 100644 index 000000000000..0c9b7f2904ac --- /dev/null +++ b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/CommunicationIdentity.json @@ -0,0 +1,374 @@ +{ + "swagger": "2.0", + "info": { + "title": "CommunicationIdentityClient", + "description": "Azure Communication Identity Service", + "version": "2021-10-31-preview" + }, + "paths": { + "/identities": { + "post": { + "tags": [ + "Identity" + ], + "summary": "Create a new identity, and optionally, an access token.", + "operationId": "CommunicationIdentity_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "If specified, creates also a Communication Identity access token associated with the identity and containing the requested scopes.", + "schema": { + "$ref": "#/definitions/CommunicationIdentityCreateRequest" + } + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse" + } + }, + "201": { + "description": "Created - Returns the created identity.", + "schema": { + "$ref": "#/definitions/CommunicationIdentityAccessTokenResult" + } + } + }, + "x-ms-examples": { + "Create an Identity": { + "$ref": "./examples/CreateIdentity.json" + } + } + } + }, + "/identities/{id}": { + "delete": { + "tags": [ + "Identity" + ], + "summary": "Delete the identity, revoke all tokens for the identity and delete all associated data.", + "operationId": "CommunicationIdentity_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "id", + "description": "Identifier of the identity to be deleted.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse" + } + }, + "204": { + "description": "Success" + } + }, + "x-ms-examples": { + "Delete an identity": { + "$ref": "./examples/DeleteIdentity.json" + } + } + } + }, + "/identities/{id}/:revokeAccessTokens": { + "post": { + "tags": [ + "Identity" + ], + "summary": "Revoke all access tokens for the specific identity.", + "operationId": "CommunicationIdentity_RevokeAccessTokens", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "id", + "description": "Identifier of the identity.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse" + } + }, + "204": { + "description": "Success" + } + }, + "x-ms-examples": { + "Revoke access tokens": { + "$ref": "./examples/RevokeAccessTokens.json" + } + } + } + }, + "/teamsUser/:exchangeAccessToken": { + "post": { + "tags": [ + "TeamsUser" + ], + "summary": "Exchange an AAD access token of a Teams user for a new Communication Identity access token with a matching expiration time.", + "operationId": "CommunicationIdentity_ExchangeTeamsUserAccessToken", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "AAD access token of a Teams user", + "required": true, + "schema": { + "$ref": "#/definitions/TeamsUserAccessTokenRequest" + } + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse" + } + }, + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/CommunicationIdentityAccessToken" + } + } + }, + "x-ms-examples": { + "Exchange a Teams user access token": { + "$ref": "./examples/ExchangeTeamsUserAccessToken.json" + } + } + } + }, + "/identities/{id}/:issueAccessToken": { + "post": { + "tags": [ + "Token" + ], + "summary": "Issue a new token for an identity.", + "operationId": "CommunicationIdentity_IssueAccessToken", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "id", + "description": "Identifier of the identity to issue token for.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "Requested scopes for the new token.", + "required": true, + "schema": { + "$ref": "#/definitions/CommunicationIdentityAccessTokenRequest" + } + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse" + } + }, + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/CommunicationIdentityAccessToken" + } + } + }, + "x-ms-examples": { + "Issue an access token": { + "$ref": "./examples/IssueAccessToken.json" + } + } + } + } + }, + "definitions": { + "CommunicationIdentity": { + "description": "A communication identity.", + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "description": "Identifier of the identity.", + "type": "string" + } + } + }, + "CommunicationIdentityAccessToken": { + "description": "An access token.", + "required": [ + "expiresOn", + "token" + ], + "type": "object", + "properties": { + "token": { + "description": "The access token issued for the identity.", + "type": "string" + }, + "expiresOn": { + "format": "date-time", + "description": "The expiry time of the token.", + "type": "string" + } + } + }, + "CommunicationIdentityAccessTokenRequest": { + "required": [ + "scopes" + ], + "type": "object", + "properties": { + "scopes": { + "description": "List of scopes attached to the token.", + "type": "array", + "items": { + "$ref": "#/definitions/CommunicationIdentityTokenScope" + } + } + } + }, + "CommunicationIdentityAccessTokenResult": { + "description": "A communication identity with access token.", + "required": [ + "identity" + ], + "type": "object", + "properties": { + "identity": { + "$ref": "#/definitions/CommunicationIdentity" + }, + "accessToken": { + "$ref": "#/definitions/CommunicationIdentityAccessToken" + } + } + }, + "CommunicationIdentityCreateRequest": { + "type": "object", + "properties": { + "createTokenWithScopes": { + "description": "Also create access token for the created identity.", + "type": "array", + "items": { + "$ref": "#/definitions/CommunicationIdentityTokenScope" + } + } + } + }, + "CommunicationIdentityTokenScope": { + "description": "List of scopes for an access token.", + "enum": [ + "chat", + "voip" + ], + "type": "string", + "x-ms-enum": { + "name": "CommunicationIdentityTokenScope", + "modelAsString": true + } + }, + "TeamsUserAccessTokenRequest": { + "required": [ + "token" + ], + "type": "object", + "properties": { + "token": { + "description": "AAD access token of a Teams User to acquire a new Communication Identity access token.", + "type": "string" + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "in": "query", + "name": "api-version", + "description": "Version of API to invoke.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "name": "endpoint", + "description": "The communication resource, for example https://my-resource.communication.azure.com", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + } + ] + } +} diff --git a/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/CreateIdentity.json b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/CreateIdentity.json new file mode 100644 index 000000000000..913f65bc45b4 --- /dev/null +++ b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/CreateIdentity.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-31-preview", + "content-type": "application/json", + "endpoint": "https://my-resource.communication.azure.com", + "body": { + "createTokenWithScopes": [ + "chat" + ] + } + }, + "responses": { + "201": { + "body": { + "identity": { + "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081" + }, + "accessToken": { + "token": "token", + "expiresOn": "2020-09-10T21:39:39.3244584+00:00" + } + } + } + } +} diff --git a/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/DeleteIdentity.json b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/DeleteIdentity.json new file mode 100644 index 000000000000..958d0a1b6e4f --- /dev/null +++ b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/DeleteIdentity.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2021-10-31-preview", + "content-type": "application/json", + "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081", + "endpoint": "https://my-resource.communication.azure.com" + }, + "responses": { + "204": {} + } +} diff --git a/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/ExchangeTeamsUserAccessToken.json b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/ExchangeTeamsUserAccessToken.json new file mode 100644 index 000000000000..466de212b2d7 --- /dev/null +++ b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/ExchangeTeamsUserAccessToken.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-10-31-preview", + "content-type": "application/json", + "body": { + "token": "AadAccessTokenOfATeamsUser" + }, + "endpoint": "https://my-resource.communication.azure.com" + }, + "responses": { + "200": { + "body": { + "token": "CommunicationIdentityAccessToken", + "expiresOn": "2021-09-10T21:39:39.3244584+00:00" + } + } + } +} diff --git a/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/IssueAccessToken.json b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/IssueAccessToken.json new file mode 100644 index 000000000000..5fe327b43f5d --- /dev/null +++ b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/IssueAccessToken.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2021-10-31-preview", + "content-type": "application/json", + "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081", + "body": { + "scopes": [ + "chat" + ] + }, + "endpoint": "https://my-resource.communication.azure.com" + }, + "responses": { + "200": { + "body": { + "token": "token", + "expiresOn": "2020-09-10T21:39:39.3244584+00:00" + } + } + } +} diff --git a/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/RevokeAccessTokens.json b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/RevokeAccessTokens.json new file mode 100644 index 000000000000..958d0a1b6e4f --- /dev/null +++ b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/RevokeAccessTokens.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2021-10-31-preview", + "content-type": "application/json", + "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081", + "endpoint": "https://my-resource.communication.azure.com" + }, + "responses": { + "204": {} + } +} diff --git a/specification/communication/data-plane/Identity/readme.md b/specification/communication/data-plane/Identity/readme.md index 753ada23c611..80cb05161647 100644 --- a/specification/communication/data-plane/Identity/readme.md +++ b/specification/communication/data-plane/Identity/readme.md @@ -24,17 +24,25 @@ For other options on installation see [Installing AutoRest](https://aka.ms/autor These are the global settings for the communicationservices. -```yaml +``` yaml openapi-type: data-plane -tag: package-2020-07-20-preview1 +tag: package-preview-2021-10 ``` +### Tag: package-preview-2021-10 + +These settings apply only when `--tag=package-preview-2021-10` is specified on the command line. + +```yaml $(tag) == 'package-preview-2021-10' +input-file: + - preview/2021-10-31-preview/CommunicationIdentity.json +``` ### Tag: package-2020-07-20-preview2 These settings apply only when `--tag=package-2020-07-20-preview2` is specified on the command line. -```yaml $(tag) == 'package-2020-07-20-preview2' +``` yaml $(tag) == 'package-2020-07-20-preview2' input-file: - preview/2020-07-20-preview2/CommunicationIdentity.json ``` @@ -43,7 +51,7 @@ input-file: These settings apply only when `--tag=package-2021-03-07` is specified on the command line. -```yaml $(tag) == 'package-2021-03-07' +``` yaml $(tag) == 'package-2021-03-07' input-file: - stable/2021-03-07/CommunicationIdentity.json title: @@ -54,7 +62,7 @@ title: These settings apply only when `--tag=package-2021-02-22-preview1` is specified on the command line. -```yaml $(tag) == 'package-2021-02-22-preview1' +``` yaml $(tag) == 'package-2021-02-22-preview1' input-file: - preview/2021-02-22-preview1/CommunicationIdentity.json ``` @@ -63,7 +71,7 @@ input-file: These settings apply only when `--tag=package-2021-03-31-preview1` is specified on the command line. -```yaml $(tag) == 'package-2021-03-31-preview1' +``` yaml $(tag) == 'package-2021-03-31-preview1' input-file: - preview/2021-03-31-preview1/CommunicationIdentity.json ``` diff --git a/specification/communication/data-plane/NetworkTraversal/preview/2021-10-08-preview/CommunicationNetworkTraversal.json b/specification/communication/data-plane/NetworkTraversal/preview/2021-10-08-preview/CommunicationNetworkTraversal.json new file mode 100644 index 000000000000..c512cd813beb --- /dev/null +++ b/specification/communication/data-plane/NetworkTraversal/preview/2021-10-08-preview/CommunicationNetworkTraversal.json @@ -0,0 +1,172 @@ +{ + "swagger": "2.0", + "info": { + "title": "CommunicationNetworkingClient", + "description": "Azure Communication Networking Service", + "version": "2021-10-08-preview" + }, + "paths": { + "/networktraversal/:issueRelayConfiguration": { + "post": { + "tags": [ + "Turn" + ], + "summary": "Issue a configuration for an STUN/TURN server for an existing identity.", + "operationId": "CommunicationNetworkTraversal_IssueRelayConfiguration", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/CommunicationRelayConfigurationRequest" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/CommunicationRelayConfiguration" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse" + } + } + }, + "x-ms-examples": { + "Issue Relay Configuration": { + "$ref": "./examples/IssueRelayConfiguration.json" + } + } + } + } + }, + "definitions": { + "CommunicationRelayConfigurationRequest": { + "description": "Request for a CommunicationRelayConfiguration.", + "type": "object", + "properties": { + "id": { + "description": "An existing ACS identity.", + "type": "string" + }, + "routeType": { + "$ref": "#/definitions/RouteType" + } + } + }, + "CommunicationIceServer": { + "description": "An instance of a STUN/TURN server with credentials to be used for ICE negotiation.", + "required": [ + "credential", + "urls", + "username", + "routeType" + ], + "type": "object", + "properties": { + "urls": { + "description": "List of STUN/TURN server URLs.", + "type": "array", + "items": { + "type": "string" + } + }, + "username": { + "description": "User account name which uniquely identifies the credentials.", + "type": "string" + }, + "credential": { + "description": "Credential for the server.", + "type": "string" + }, + "routeType": { + "$ref": "#/definitions/RouteType" + } + } + }, + "CommunicationRelayConfiguration": { + "description": "A relay configuration containing the STUN/TURN URLs and credentials.", + "required": [ + "expiresOn", + "iceServers" + ], + "type": "object", + "properties": { + "expiresOn": { + "format": "date-time", + "description": "The date for which the username and credentials are not longer valid.", + "type": "string" + }, + "iceServers": { + "description": "An array representing the credentials and the STUN/TURN server URLs for use in ICE negotiations.", + "type": "array", + "items": { + "$ref": "#/definitions/CommunicationIceServer" + } + } + } + }, + "RouteType": { + "description": "The routing methodology to where the ICE server will be located from the client.", + "enum": [ + "any", + "nearest" + ], + "type": "string", + "x-ms-enum": { + "name": "RouteType", + "modelAsString": true + } + } + }, + "parameters": { + "ApiVersionParameter": { + "in": "query", + "name": "api-version", + "description": "Version of API to invoke.", + "required": true, + "enum": [ + "2021-10-08-preview" + ], + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "name": "endpoint", + "description": "The communication resource, for example https://my-resource.communication.azure.com", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + } + ] + } +} diff --git a/specification/communication/data-plane/NetworkTraversal/preview/2021-10-08-preview/examples/IssueRelayConfiguration.json b/specification/communication/data-plane/NetworkTraversal/preview/2021-10-08-preview/examples/IssueRelayConfiguration.json new file mode 100644 index 000000000000..0927f60852e7 --- /dev/null +++ b/specification/communication/data-plane/NetworkTraversal/preview/2021-10-08-preview/examples/IssueRelayConfiguration.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-08-preview", + "content-type": "application/json", + "body": { + "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081" + }, + "endpoint": "https://my-resource.communication.azure.com" + }, + "responses": { + "200": { + "body": { + "expiresOn": "2021-11-10T21:39:39.3244584+00:00", + "iceServers": [ + { + "urls": [ + "turn:131.107.255.255:3478", + "stun:131.107.255.255:3478" + ], + "username": "AgAAJNOeygwB1uVGvuwAVMHV4PLhYDgY66Fg1dUZvQ4AAAAEhXrhc8uJFjOK8lxEsZk3KIpWxc0=", + "credential": "9rl8ablFWj6/aqSuPLgLykLZKqw=", + "routeType": "any" + } + ] + } + } + } +} diff --git a/specification/communication/data-plane/NetworkTraversal/readme.md b/specification/communication/data-plane/NetworkTraversal/readme.md index de431910454a..d8e5e19406b2 100644 --- a/specification/communication/data-plane/NetworkTraversal/readme.md +++ b/specification/communication/data-plane/NetworkTraversal/readme.md @@ -49,6 +49,15 @@ input-file: - preview/2021-06-21-preview/CommunicationNetworkTraversal.json ``` +### Tag: package-2021-10-08-preview + +These settings apply only when `--tag=package-2021-10-08-preview` is specified on the command line. + +```yaml $(tag) == 'package-2021-10-08-preview' +input-file: + - preview/2021-10-08-preview/CommunicationNetworkTraversal.json +``` + --- # Code Generation diff --git a/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/DeleteUSProgramBriefAsync.json b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/DeleteUSProgramBriefAsync.json new file mode 100644 index 000000000000..487d72fe614e --- /dev/null +++ b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/DeleteUSProgramBriefAsync.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-10-25-preview", + "programBriefId": "146b433f-d774-40b9-9138-55d386208725", + "endpoint": "https://resourcename.region.dev.communications.azure.net/" + }, + "responses": { + "204": { + "headers": {} + } + } +} diff --git a/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/GetShortCodesAsync.json b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/GetShortCodesAsync.json new file mode 100644 index 000000000000..8a5ccbde53fc --- /dev/null +++ b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/GetShortCodesAsync.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-25-preview", + "endpoint": "https://resourcename.region.dev.communications.azure.net/" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "shortCodes": [ + { + "number": "123456", + "numberType": "shortCode", + "countryCode": "US", + "programBriefIds": [ + "146b433f-d774-40b9-9138-55d386208725" + ], + "purchaseDate": "2021-07-14T13:00:00+00:00" + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/GetUSProgramBriefAsync.json b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/GetUSProgramBriefAsync.json new file mode 100644 index 000000000000..ae5aef7e39ad --- /dev/null +++ b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/GetUSProgramBriefAsync.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "api-version": "2021-10-25-preview", + "programBriefId": "146b433f-d774-40b9-9138-55d386208725", + "endpoint": "https://resourcename.region.dev.communications.azure.net/" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "146b433f-d774-40b9-9138-55d386208725", + "status": "approved", + "number": "123456", + "reviewNotes": [ + { + "message": "Program Brief is approved.", + "date": "2021-07-11T21:36:24.8898166+00:00" + } + ], + "costs": [ + { + "amount": 1500.0, + "currencyCode": "USD", + "billingFrequency": "monthly" + }, + { + "amount": 650.0, + "currencyCode": "USD", + "billingFrequency": "once" + } + ], + "submissionDate": "2021-07-11T21:36:24.8898166+00:00", + "statusUpdatedDate": "2021-08-10T21:36:24.8898162+00:00", + "programDetails": { + "isVanity": true, + "preferredVanityNumbers": [ + "123456" + ], + "numberType": "shortCode", + "isPoliticalCampaign": false, + "name": "CONTOSO Shipping", + "description": "CONTOSO Shipping program that will send shipping notification messages", + "url": "https://www.contoso.com/shipping", + "signUpTypes": [ + "sms", + "website" + ], + "signUpUrl": "https://www.contoso.com/shipping/callToAction.png", + "termsOfServiceUrl": "https://www.contoso.com/shipping/termsofservice", + "privacyPolicyUrl": "https://www.contoso.com/shipping/privacypolicy", + "expectedDateOfService": "2021-10-25T00:00:00+00:00" + }, + "companyInformation": { + "name": "CONTOSO", + "url": "https://www.contoso.com", + "address": "CONTOSO Address", + "contactInformation": { + "name": "John Doe", + "phone": "+1123456789", + "email": "john.doe@contoso.com" + }, + "customerCareInformation": { + "tollFreeNumber": "+1987654321", + "email": "customercare@contoso.com" + } + }, + "messageDetails": { + "supportedProtocols": [ + "sms" + ], + "recurrence": "transaction", + "helpMessage": "This is the HELP message test.", + "optOutMessage": "This is the STOP message test.", + "optInMessage": "CONTOSO Shipping - To confirm your subscription with us, please reply 'Y', and you will be added to our list.", + "optInReply": "JOIN", + "confirmationMessage": "CONTOSO Shipping - Welcome message to CONTOSO Shipping. Messaging & data rates may apply.For help, reply \"HELP\" or call/email customercare@contoso.comTo unsubscribe, reply \"STOP\". Visit our terms and conditions at https://www.contoso.com/shipping/termsofservice.", + "directionality": "twoWay", + "useCases": [ + { + "contentCategory": "loyaltyProgramPointsPrizes", + "examples": [ + { + "messages": [ + { + "direction": "toUser", + "text": "Your password is 123 STOP/HELP" + } + ] + }, + { + "messages": [ + { + "direction": "toUser", + "text": "Want me to notify you when package in the way?" + }, + { + "direction": "fromUser", + "text": "Y" + } + ] + } + ] + } + ] + }, + "trafficDetails": { + "totalMonthlyVolume": 10, + "monthlyAverageMessagesFromUser": 2, + "monthlyAverageMessagesToUser": 1, + "isSpiky": false, + "spikeDetails": "Higher traffic expected during holiday season and Black Friday.", + "estimatedRampUpTimeInDays": 10 + } + } + } + } +} diff --git a/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/GetUSProgramBriefsAsync.json b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/GetUSProgramBriefsAsync.json new file mode 100644 index 000000000000..1c601aa1ba6d --- /dev/null +++ b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/GetUSProgramBriefsAsync.json @@ -0,0 +1,121 @@ +{ + "parameters": { + "api-version": "2021-10-25-preview", + "endpoint": "https://resourcename.region.dev.communications.azure.net/" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "programBriefs": [ + { + "id": "146b433f-d774-40b9-9138-55d386208725", + "status": "approved", + "number": "123456", + "reviewNotes": [ + { + "message": "Program Brief is approved.", + "date": "2021-07-11T21:36:24.8898166+00:00" + } + ], + "costs": [ + { + "amount": 1500.0, + "currencyCode": "USD", + "billingFrequency": "monthly" + }, + { + "amount": 650.0, + "currencyCode": "USD", + "billingFrequency": "once" + } + ], + "submissionDate": "2021-07-11T21:36:24.8898166+00:00", + "statusUpdatedDate": "2021-08-10T21:36:24.8898162+00:00", + "programDetails": { + "isVanity": true, + "preferredVanityNumbers": [ + "123456" + ], + "numberType": "shortCode", + "isPoliticalCampaign": false, + "name": "CONTOSO Shipping", + "description": "CONTOSO Shipping program that will send shipping notification messages", + "url": "https://www.contoso.com/shipping", + "signUpTypes": [ + "sms", + "website" + ], + "signUpUrl": "https://www.contoso.com/shipping/callToAction.png", + "termsOfServiceUrl": "https://www.contoso.com/shipping/termsofservice", + "privacyPolicyUrl": "https://www.contoso.com/shipping/privacypolicy", + "expectedDateOfService": "2021-10-25T00:00:00+00:00" + }, + "companyInformation": { + "name": "CONTOSO", + "url": "https://www.contoso.com", + "address": "CONTOSO Address", + "contactInformation": { + "name": "John Doe", + "phone": "+1123456789", + "email": "john.doe@contoso.com" + }, + "customerCareInformation": { + "tollFreeNumber": "+1987654321", + "email": "customercare@contoso.com" + } + }, + "messageDetails": { + "supportedProtocols": [ + "sms" + ], + "recurrence": "transaction", + "helpMessage": "This is the HELP message test.", + "optOutMessage": "This is the STOP message test.", + "optInMessage": "CONTOSO Shipping - To confirm your subscription with us, please reply 'Y', and you will be added to our list.", + "optInReply": "JOIN", + "confirmationMessage": "CONTOSO Shipping - Welcome message to CONTOSO Shipping. Messaging & data rates may apply.For help, reply \"HELP\" or call/email customercare@contoso.comTo unsubscribe, reply \"STOP\". Visit our terms and conditions at https://www.contoso.com/shipping/termsofservice.", + "directionality": "twoWay", + "useCases": [ + { + "contentCategory": "loyaltyProgramPointsPrizes", + "examples": [ + { + "messages": [ + { + "direction": "toUser", + "text": "Your password is 123 STOP/HELP" + } + ] + }, + { + "messages": [ + { + "direction": "toUser", + "text": "Want me to notify you when package in the way?" + }, + { + "direction": "fromUser", + "text": "Y" + } + ] + } + ] + } + ] + }, + "trafficDetails": { + "totalMonthlyVolume": 10, + "monthlyAverageMessagesFromUser": 2, + "monthlyAverageMessagesToUser": 1, + "isSpiky": false, + "spikeDetails": "Higher traffic expected during holiday season and Black Friday.", + "estimatedRampUpTimeInDays": 10 + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/SubmitUSProgramBriefAsync.json b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/SubmitUSProgramBriefAsync.json new file mode 100644 index 000000000000..dd19f85aee92 --- /dev/null +++ b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/SubmitUSProgramBriefAsync.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "api-version": "2021-10-25-preview", + "programBriefId": "146b433f-d774-40b9-9138-55d386208725", + "endpoint": "https://resourcename.region.dev.communications.azure.net/" + }, + "responses": { + "200": { + "body": { + "id": "146b433f-d774-40b9-9138-55d386208725", + "status": "submitted", + "costs": [ + { + "amount": 1500.0, + "currencyCode": "USD", + "billingFrequency": "monthly" + }, + { + "amount": 650.0, + "currencyCode": "USD", + "billingFrequency": "once" + } + ], + "submissionDate": "2021-07-11T21:36:24.8898166+00:00", + "statusUpdatedDate": "2021-08-10T21:36:24.8898162+00:00", + "programDetails": { + "isVanity": true, + "preferredVanityNumbers": [ + "123456" + ], + "numberType": "shortCode", + "isPoliticalCampaign": false, + "name": "CONTOSO Shipping", + "description": "CONTOSO Shipping program that will send shipping notification messages", + "url": "https://www.contoso.com/shipping", + "signUpTypes": [ + "sms", + "website" + ], + "signUpUrl": "https://www.contoso.com/shipping/callToAction.png", + "termsOfServiceUrl": "https://www.contoso.com/shipping/termsofservice", + "privacyPolicyUrl": "https://www.contoso.com/shipping/privacypolicy", + "expectedDateOfService": "2021-10-25T00:00:00+00:00" + }, + "companyInformation": { + "name": "CONTOSO", + "url": "https://www.contoso.com", + "address": "CONTOSO Address", + "contactInformation": { + "name": "John Doe", + "phone": "+1123456789", + "email": "john.doe@contoso.com" + }, + "customerCareInformation": { + "tollFreeNumber": "+1987654321", + "email": "customercare@contoso.com" + } + }, + "messageDetails": { + "supportedProtocols": [ + "sms" + ], + "recurrence": "transaction", + "helpMessage": "This is the HELP message test.", + "optOutMessage": "This is the STOP message test.", + "optInMessage": "CONTOSO Shipping - To confirm your subscription with us, please reply 'Y', and you will be added to our list.", + "optInReply": "JOIN", + "confirmationMessage": "CONTOSO Shipping - Welcome message to CONTOSO Shipping. Messaging & data rates may apply.For help, reply \"HELP\" or call/email customercare@contoso.comTo unsubscribe, reply \"STOP\". Visit our terms and conditions at https://www.contoso.com/shipping/termsofservice.", + "directionality": "twoWay", + "useCases": [ + { + "contentCategory": "loyaltyProgramPointsPrizes", + "examples": [ + { + "messages": [ + { + "direction": "toUser", + "text": "Your password is 123 STOP/HELP" + } + ] + }, + { + "messages": [ + { + "direction": "toUser", + "text": "Want me to notify you when package in the way?" + }, + { + "direction": "fromUser", + "text": "Y" + } + ] + } + ] + } + ] + }, + "trafficDetails": { + "totalMonthlyVolume": 10, + "monthlyAverageMessagesFromUser": 2, + "monthlyAverageMessagesToUser": 1, + "isSpiky": false, + "spikeDetails": "Higher traffic expected during holiday season and Black Friday.", + "estimatedRampUpTimeInDays": 10 + } + } + } + } +} diff --git a/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/UpsertUSProgramBriefAsync.json b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/UpsertUSProgramBriefAsync.json new file mode 100644 index 000000000000..93ba12d2ef4a --- /dev/null +++ b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/UpsertUSProgramBriefAsync.json @@ -0,0 +1,294 @@ +{ + "parameters": { + "api-version": "2021-10-25-preview", + "programBriefId": "146b433f-d774-40b9-9138-55d386208725", + "body": { + "id": "146b433f-d774-40b9-9138-55d386208725", + "programDetails": { + "isVanity": true, + "preferredVanityNumbers": [ + "123456" + ], + "numberType": "shortCode", + "isPoliticalCampaign": false, + "name": "CONTOSO Shipping", + "description": "CONTOSO Shipping program that will send shipping notification messages", + "url": "https://www.contoso.com/shipping", + "signUpTypes": [ + "sms", + "website" + ], + "signUpUrl": "https://www.contoso.com/shipping/callToAction.png", + "termsOfServiceUrl": "https://www.contoso.com/shipping/termsofservice", + "privacyPolicyUrl": "https://www.contoso.com/shipping/privacypolicy", + "expectedDateOfService": "2021-10-25T00:00:00+00:00" + }, + "companyInformation": { + "name": "CONTOSO", + "url": "https://www.contoso.com", + "address": "CONTOSO Address", + "contactInformation": { + "name": "John Doe", + "phone": "+1123456789", + "email": "john.doe@contoso.com" + }, + "customerCareInformation": { + "tollFreeNumber": "+1987654321", + "email": "customercare@contoso.com" + } + }, + "messageDetails": { + "supportedProtocols": [ + "sms" + ], + "recurrence": "transaction", + "helpMessage": "This is the HELP message test.", + "optOutMessage": "This is the STOP message test.", + "optInMessage": "CONTOSO Shipping - To confirm your subscription with us, please reply 'Y', and you will be added to our list.", + "optInReply": "JOIN", + "confirmationMessage": "CONTOSO Shipping - Welcome message to CONTOSO Shipping. Messaging & data rates may apply.For help, reply \"HELP\" or call/email customercare@contoso.comTo unsubscribe, reply \"STOP\". Visit our terms and conditions at https://www.contoso.com/shipping/termsofservice.", + "directionality": "twoWay", + "useCases": [ + { + "contentCategory": "loyaltyProgramPointsPrizes", + "examples": [ + { + "messages": [ + { + "direction": "toUser", + "text": "Your password is 123 STOP/HELP" + } + ] + }, + { + "messages": [ + { + "direction": "toUser", + "text": "Want me to notify you when package in the way?" + }, + { + "direction": "fromUser", + "text": "Y" + } + ] + } + ] + } + ] + }, + "trafficDetails": { + "totalMonthlyVolume": 10, + "monthlyAverageMessagesFromUser": 2, + "monthlyAverageMessagesToUser": 1, + "isSpiky": false, + "spikeDetails": "Higher traffic expected during holiday season and Black Friday.", + "estimatedRampUpTimeInDays": 10 + } + }, + "endpoint": "https://resourcename.region.dev.communications.azure.net/" + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "146b433f-d774-40b9-9138-55d386208725", + "status": "draft", + "costs": [ + { + "amount": 1500.0, + "currencyCode": "USD", + "billingFrequency": "monthly" + }, + { + "amount": 650.0, + "currencyCode": "USD", + "billingFrequency": "once" + } + ], + "submissionDate": "2021-07-11T21:36:24.8898166+00:00", + "statusUpdatedDate": "2021-07-11T21:36:24.8898166+00:00", + "programDetails": { + "isVanity": true, + "preferredVanityNumbers": [ + "123456" + ], + "numberType": "shortCode", + "isPoliticalCampaign": false, + "name": "CONTOSO Shipping", + "description": "CONTOSO Shipping program that will send shipping notification messages", + "url": "https://www.contoso.com/shipping", + "signUpTypes": [ + "sms", + "website" + ], + "signUpUrl": "https://www.contoso.com/shipping/callToAction.png", + "termsOfServiceUrl": "https://www.contoso.com/shipping/termsofservice", + "privacyPolicyUrl": "https://www.contoso.com/shipping/privacypolicy", + "expectedDateOfService": "2021-10-25T00:00:00+00:00" + }, + "companyInformation": { + "name": "CONTOSO", + "url": "https://www.contoso.com", + "address": "CONTOSO Address", + "contactInformation": { + "name": "John Doe", + "phone": "+1123456789", + "email": "john.doe@contoso.com" + }, + "customerCareInformation": { + "tollFreeNumber": "+1987654321", + "email": "customercare@contoso.com" + } + }, + "messageDetails": { + "supportedProtocols": [ + "sms" + ], + "recurrence": "transaction", + "helpMessage": "This is the HELP message test.", + "optOutMessage": "This is the STOP message test.", + "optInMessage": "CONTOSO Shipping - To confirm your subscription with us, please reply 'Y', and you will be added to our list.", + "optInReply": "JOIN", + "confirmationMessage": "CONTOSO Shipping - Welcome message to CONTOSO Shipping. Messaging & data rates may apply.For help, reply \"HELP\" or call/email customercare@contoso.comTo unsubscribe, reply \"STOP\". Visit our terms and conditions at https://www.contoso.com/shipping/termsofservice.", + "directionality": "twoWay", + "useCases": [ + { + "contentCategory": "loyaltyProgramPointsPrizes", + "examples": [ + { + "messages": [ + { + "direction": "toUser", + "text": "Your password is 123 STOP/HELP" + } + ] + }, + { + "messages": [ + { + "direction": "toUser", + "text": "Want me to notify you when package in the way?" + }, + { + "direction": "fromUser", + "text": "Y" + } + ] + } + ] + } + ] + }, + "trafficDetails": { + "totalMonthlyVolume": 10, + "monthlyAverageMessagesFromUser": 2, + "monthlyAverageMessagesToUser": 1, + "isSpiky": false, + "spikeDetails": "Higher traffic expected during holiday season and Black Friday.", + "estimatedRampUpTimeInDays": 10 + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "146b433f-d774-40b9-9138-55d386208725", + "status": "draft", + "costs": [ + { + "amount": 1500.0, + "currencyCode": "USD", + "billingFrequency": "monthly" + }, + { + "amount": 650.0, + "currencyCode": "USD", + "billingFrequency": "once" + } + ], + "submissionDate": "2021-07-11T21:36:24.8898166+00:00", + "statusUpdatedDate": "2021-08-10T21:36:24.8898162+00:00", + "programDetails": { + "isVanity": true, + "preferredVanityNumbers": [ + "123456" + ], + "numberType": "shortCode", + "isPoliticalCampaign": false, + "name": "CONTOSO Shipping", + "description": "CONTOSO Shipping program that will send shipping notification messages", + "url": "https://www.contoso.com/shipping", + "signUpTypes": [ + "sms", + "website" + ], + "signUpUrl": "https://www.contoso.com/shipping/callToAction.png", + "termsOfServiceUrl": "https://www.contoso.com/shipping/termsofservice", + "privacyPolicyUrl": "https://www.contoso.com/shipping/privacypolicy", + "expectedDateOfService": "2021-10-25T00:00:00+00:00" + }, + "companyInformation": { + "name": "CONTOSO", + "url": "https://www.contoso.com", + "address": "CONTOSO Address", + "contactInformation": { + "name": "John Doe", + "phone": "+1123456789", + "email": "john.doe@contoso.com" + }, + "customerCareInformation": { + "tollFreeNumber": "+1987654321", + "email": "customercare@contoso.com" + } + }, + "messageDetails": { + "supportedProtocols": [ + "sms" + ], + "recurrence": "transaction", + "helpMessage": "This is the HELP message test.", + "optOutMessage": "This is the STOP message test.", + "optInMessage": "CONTOSO Shipping - To confirm your subscription with us, please reply 'Y', and you will be added to our list.", + "optInReply": "JOIN", + "confirmationMessage": "CONTOSO Shipping - Welcome message to CONTOSO Shipping. Messaging & data rates may apply.For help, reply \"HELP\" or call/email customercare@contoso.comTo unsubscribe, reply \"STOP\". Visit our terms and conditions at https://www.contoso.com/shipping/termsofservice.", + "directionality": "twoWay", + "useCases": [ + { + "contentCategory": "loyaltyProgramPointsPrizes", + "examples": [ + { + "messages": [ + { + "direction": "toUser", + "text": "Your password is 123 STOP/HELP" + } + ] + }, + { + "messages": [ + { + "direction": "toUser", + "text": "Want me to notify you when package in the way?" + }, + { + "direction": "fromUser", + "text": "Y" + } + ] + } + ] + } + ] + }, + "trafficDetails": { + "totalMonthlyVolume": 10, + "monthlyAverageMessagesFromUser": 2, + "monthlyAverageMessagesToUser": 1, + "isSpiky": false, + "spikeDetails": "Higher traffic expected during holiday season and Black Friday.", + "estimatedRampUpTimeInDays": 10 + } + } + } + } +} diff --git a/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/shortcodes.json b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/shortcodes.json new file mode 100644 index 000000000000..afae6a49e052 --- /dev/null +++ b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/shortcodes.json @@ -0,0 +1,884 @@ +{ + "swagger": "2.0", + "info": { + "title": "ShortCodesNumbersClient", + "description": "The short codes client uses Azure Communication Services to purchase and manage short codes.", + "version": "2021-10-25-preview" + }, + "paths": { + "/shortCodes": { + "get": { + "tags": [ + "ShortCodes" + ], + "summary": "Gets the list of short codes for the current resource.", + "operationId": "ShortCodes_GetShortCodes", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "skip", + "description": "An optional parameter for how many entries to skip, for pagination purposes.", + "type": "integer", + "format": "int32", + "default": 0 + }, + { + "in": "query", + "name": "top", + "description": "An optional parameter for how many entries to return, for pagination purposes.", + "type": "integer", + "format": "int32", + "default": 100 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ShortCodes" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "shortCodes" + }, + "x-ms-examples": { + "List short codes": { + "$ref": "./examples/GetShortCodesAsync.json" + } + } + } + }, + "/shortCodes/countries/US/programBriefs/{programBriefId}": { + "patch": { + "tags": [ + "ShortCodes - ProgramBrief" + ], + "summary": "Creates or updates a US Program Brief.", + "operationId": "ShortCodes_UpsertUSProgramBrief", + "consumes": [ + "application/merge-patch+json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "programBriefId", + "description": "Program Brief Id. Must be a valid GUID", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "Data to create new a Program Brief or fields to update an existing Program Brief", + "schema": { + "$ref": "#/definitions/USProgramBrief" + } + } + ], + "responses": { + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/USProgramBrief" + } + }, + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/USProgramBrief" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse" + } + } + }, + "x-ms-examples": { + "Creates or Updates a US Program Brief": { + "$ref": "./examples/UpsertUSProgramBriefAsync.json" + } + } + }, + "delete": { + "tags": [ + "ShortCodes - ProgramBrief" + ], + "summary": "Deletes a US Program Brief.", + "operationId": "ShortCodes_DeleteUSProgramBrief", + "parameters": [ + { + "in": "path", + "name": "programBriefId", + "description": "Program Brief Id. Must be a valid GUID", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse" + } + } + }, + "x-ms-examples": { + "Deletes a US Program Brief": { + "$ref": "./examples/DeleteUSProgramBriefAsync.json" + } + }, + "produces": [ + "application/json" + ] + }, + "get": { + "tags": [ + "ShortCodes - ProgramBrief" + ], + "operationId": "ShortCodes_GetUSProgramBrief", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "programBriefId", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/USProgramBrief" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse" + } + } + }, + "x-ms-examples": { + "Query a US Program Brief": { + "$ref": "./examples/GetUSProgramBriefAsync.json" + } + } + } + }, + "/shortCodes/countries/US/programBriefs/{programBriefId}/:submit": { + "post": { + "tags": [ + "ShortCodes - ProgramBrief" + ], + "operationId": "ShortCodes_SubmitUSProgramBrief", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "programBriefId", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/USProgramBrief" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse" + } + } + }, + "x-ms-examples": { + "Submit a US Program Brief": { + "$ref": "./examples/SubmitUSProgramBriefAsync.json" + } + } + } + }, + "/shortCodes/countries/US/programBriefs": { + "get": { + "tags": [ + "ShortCodes - ProgramBrief" + ], + "summary": "Gets the list of US Program Briefs for the current resource.", + "operationId": "ShortCodes_GetUSProgramBriefs", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "skip", + "description": "An optional parameter for how many entries to skip, for pagination purposes.", + "type": "integer", + "format": "int32", + "default": 0 + }, + { + "in": "query", + "name": "top", + "description": "An optional parameter for how many entries to return, for pagination purposes.", + "type": "integer", + "format": "int32", + "default": 100 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/USProgramBriefs" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "programBriefs" + }, + "x-ms-examples": { + "List US Program Briefs": { + "$ref": "./examples/GetUSProgramBriefsAsync.json" + } + } + } + } + }, + "definitions": { + "ShortCode": { + "description": "Represents a number, ShortCode or AlphaId, acquired in a given country.", + "type": "object", + "properties": { + "number": { + "description": "The value of the ShortCode or the alpha numeric e.g. '555555', 'CONTOSO', etc.", + "type": "string" + }, + "numberType": { + "description": "The type of number e.g. 'ShortCode', 'AlphaId'.", + "enum": [ + "shortCode", + "alphaId" + ], + "type": "string", + "x-ms-enum": { + "name": "NumberType", + "modelAsString": true + } + }, + "countryCode": { + "description": "ISO 3166 2-char code representing the country e.g. 'US'.", + "type": "string" + }, + "programBriefIds": { + "description": "Program Brief Name.", + "type": "array", + "items": { + "type": "string" + } + }, + "purchaseDate": { + "format": "date-time", + "description": "Date in which number was purchased.", + "type": "string" + } + } + }, + "ShortCodes": { + "description": "A wrapper for a list of short code entities.", + "type": "object", + "properties": { + "shortCodes": { + "description": "List of short codes.", + "type": "array", + "items": { + "$ref": "#/definitions/ShortCode" + } + }, + "nextLink": { + "description": "Represents the URL link to the next page.", + "type": "string" + } + } + }, + "ReviewNote": { + "description": "Holds a note about a Program Brief that has gone thru stages of review process.", + "type": "object", + "properties": { + "message": { + "description": "Note related to a Program Brief that may imply changes needed from the client.", + "type": "string" + }, + "date": { + "format": "date-time", + "description": "Date and time when the note was added to the Program Brief.", + "type": "string" + } + } + }, + "ShortCodeCost": { + "description": "The incurred cost for a single short code.", + "required": [ + "amount", + "billingFrequency", + "currencyCode" + ], + "type": "object", + "properties": { + "amount": { + "format": "double", + "description": "The cost amount.", + "type": "number" + }, + "currencyCode": { + "description": "The ISO 4217 currency code for the cost amount, e.g. USD.", + "type": "string" + }, + "billingFrequency": { + "description": "The frequency with which the cost gets billed.", + "enum": [ + "monthly", + "once" + ], + "type": "string", + "x-ms-enum": { + "name": "BillingFrequency", + "modelAsString": true + } + } + } + }, + "ProgramDetails": { + "type": "object", + "properties": { + "isVanity": { + "description": "Set to true if the request is for a vanity number.", + "type": "boolean" + }, + "preferredVanityNumbers": { + "description": "Priority ordered list of preferred vanity numbers.\r\nVanity numbers should be 5 or 6 digit when number type is ShortCode.\r\ne.g. 555555, 222222.", + "type": "array", + "items": { + "type": "string" + } + }, + "numberType": { + "description": "Type for desired numbers e.g. 'shortCode' or 'alphaId'.", + "enum": [ + "shortCode", + "alphaId" + ], + "type": "string", + "x-ms-enum": { + "name": "NumberType", + "modelAsString": true + } + }, + "isPoliticalCampaign": { + "description": "Indicates whether the number will be used for political campaigns or not.", + "type": "boolean" + }, + "name": { + "description": "A program name that indicates the purpose of filling the Program Brief and how the number will be used for messaging.\r\ne.g. 'CONTOSO Shipping'", + "type": "string" + }, + "description": { + "description": "Describes how and why the number will be used for messaging as part of the program.", + "type": "string" + }, + "url": { + "format": "uri", + "description": "URL for the program or company.", + "type": "string" + }, + "signUpTypes": { + "description": "Indicates how the consumer can sign up to the program e.g. 'website', 'pointOfSale' and/or 'sms'.", + "type": "array", + "items": { + "description": "Indicates how a program will be discoverable by the consumer.", + "enum": [ + "website", + "pointOfSale", + "sms", + "interactiveVoiceResponse" + ], + "type": "string", + "x-ms-enum": { + "name": "ProgramSignUpType", + "modelAsString": true + } + } + }, + "signUpUrl": { + "format": "uri", + "description": "URL for \"call to action\" image for the program.", + "type": "string" + }, + "termsOfServiceUrl": { + "format": "uri", + "description": "URL for program terms of service.", + "type": "string" + }, + "privacyPolicyUrl": { + "format": "uri", + "description": "URL for privacy policy.", + "type": "string" + }, + "expectedDateOfService": { + "format": "date-time", + "description": "Date in which SMS messages will start to be sent out.\r\nShould follow ISO 8601 internet format for datetimes.\r\ne.g. 2021-08-17T22:02:51.316Z, 2021-08-17T16:39:57-08:00, etc.", + "type": "string" + } + } + }, + "ContactInformation": { + "description": "Contact Information", + "type": "object", + "properties": { + "name": { + "description": "Name of authorized user for purposes of submitting the Program Brief.", + "type": "string" + }, + "phone": { + "description": "Contact phone number for the authorized user for the customer. Use E164 format. e.g. +14086111111.", + "type": "string" + }, + "email": { + "format": "email", + "description": "Contact email address number for the authorized user for the customer.", + "type": "string" + } + } + }, + "CustomerCareInformation": { + "description": "Customer Care Information", + "type": "object", + "properties": { + "tollFreeNumber": { + "description": "Customer support phone number for the customer submitting the Program Brief. Use E164 format. e.g. +18005551212", + "type": "string" + }, + "email": { + "format": "email", + "description": "Customer support email address for the customer submitting the Program Brief.", + "type": "string" + } + } + }, + "CompanyInformation": { + "type": "object", + "properties": { + "name": { + "description": "Legal entity name for customer submitting Program Brief.", + "type": "string" + }, + "url": { + "format": "uri", + "description": "Company URL for customer submitting Program Brief.", + "type": "string" + }, + "address": { + "description": "Company's address for the customer submitting the Program Brief.", + "type": "string" + }, + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "customerCareInformation": { + "$ref": "#/definitions/CustomerCareInformation" + } + } + }, + "MessageExample": { + "description": "Represents a message example to be sent from or to the end user.", + "type": "object", + "properties": { + "direction": { + "description": "Indicates whether the message example is supposed to be sent to or from the end user e.g. toUser", + "enum": [ + "toUser", + "fromUser" + ], + "type": "string", + "x-ms-enum": { + "name": "MessageDirection", + "modelAsString": true + } + }, + "text": { + "description": "Actual example text for the message e.g. 'Want me to notify you when package in the way?'", + "type": "string" + } + } + }, + "MessageExampleSequence": { + "description": "A sequence of example messages to and from the end user.", + "type": "object", + "properties": { + "messages": { + "description": "Example messages to be sent to and from the end user.", + "type": "array", + "items": { + "$ref": "#/definitions/MessageExample" + } + } + } + }, + "UseCase": { + "description": "Describes a messaging use case for a given content type by providing example messages.", + "type": "object", + "properties": { + "contentCategory": { + "description": "Indicates the messaging content category used in the program e.g. 'ringTones', 'smsChat', 'video', 'loyaltyProgramPointsPrizes', 'gifting', 'inApplicationBilling', 'textToScreen'.", + "enum": [ + "ringTones", + "smsChat", + "video", + "loyaltyProgramPointsPrizes", + "gifting", + "inApplicationBilling", + "textToScreen", + "games", + "audioChat", + "mmsPictures", + "sweepstakesContestAuction", + "financialBanking", + "premiumWap", + "queryService", + "wallpaperScreensaver", + "voting", + "application", + "mobileGivingDonations", + "coupons", + "loyaltyProgram", + "noPointsPrizes", + "informationalAlerts", + "microBilling", + "trivia", + "entertainmentAlerts", + "accountNotification", + "ageGatedContent", + "conversationalMessaging", + "deliveryNotification", + "education", + "emergencyAlerts", + "fraudAlerts", + "loanArrangement", + "onBehalfOfCarrier", + "political", + "promotionalMarketing", + "publicServiceAnnouncements", + "securityAlerts", + "socialMedia", + "twoFactorAuthentication", + "other" + ], + "type": "string", + "x-ms-enum": { + "name": "MessageContentCategory", + "modelAsString": true + } + }, + "examples": { + "description": "Example messages to be sent to and from the end user for the indicated content type.", + "type": "array", + "items": { + "$ref": "#/definitions/MessageExampleSequence" + } + } + } + }, + "MessageDetails": { + "type": "object", + "properties": { + "supportedProtocols": { + "description": "Applicable message protocols used in the program e.g. SMS, MMS.", + "type": "array", + "items": { + "description": "Applicable message protocols to be used in a program.", + "enum": [ + "sms", + "mms" + ], + "type": "string", + "x-ms-enum": { + "name": "MessageProtocol", + "modelAsString": true + } + } + }, + "recurrence": { + "description": "Indicates the nature of the messaging associated with the program e.g. 'subscription', 'transaction'.", + "enum": [ + "subscription", + "transaction" + ], + "type": "string", + "x-ms-enum": { + "name": "Recurrence", + "modelAsString": true + } + }, + "helpMessage": { + "description": "Message text for mobile terminated message associated with HELP keyword\r\ne.g 'This is the HELP message test.'.", + "type": "string" + }, + "optOutMessage": { + "description": "\"Message text for mobile terminated message associated with STOP keyword\r\ne.g. 'This is the STOP message test.'.", + "type": "string" + }, + "optInMessage": { + "type": "string" + }, + "optInReply": { + "description": "Keyword used to confirm double Opt-In method e.g. 'JOIN'.", + "type": "string" + }, + "confirmationMessage": { + "type": "string" + }, + "directionality": { + "description": "Describes directionality e.g. oneWay or twoWay", + "enum": [ + "oneWay", + "twoWay" + ], + "type": "string", + "x-ms-enum": { + "name": "MessageDirectionality", + "modelAsString": true + } + }, + "useCases": { + "description": "Provides message exchange examples from and to end user for each supported message content type.", + "type": "array", + "items": { + "$ref": "#/definitions/UseCase" + } + } + } + }, + "TrafficDetails": { + "type": "object", + "properties": { + "totalMonthlyVolume": { + "format": "int32", + "description": "Estimated total messages per month.", + "maximum": 2147483647, + "minimum": 0, + "type": "integer" + }, + "monthlyAverageMessagesFromUser": { + "format": "int32", + "description": "Estimated number of Mobile-Originated messages likely to be received from a user per month.", + "maximum": 2147483647, + "minimum": 0, + "type": "integer" + }, + "monthlyAverageMessagesToUser": { + "format": "int32", + "description": "Estimated number of Mobile-Terminated messages likely to be sent per user per month.", + "maximum": 2147483647, + "minimum": 0, + "type": "integer" + }, + "isSpiky": { + "description": "Indicates if the nature of the messaging traffic will be bursty.", + "type": "boolean" + }, + "spikeDetails": { + "description": "If isSpiky=true, then explain additional details about the traffic pattern\r\ne.g. 'Higher traffic expected during holiday season and Black Friday.'.", + "type": "string" + }, + "estimatedRampUpTimeInDays": { + "format": "int32", + "description": "Numbers of days in which is expected to start sending messages from the short code.", + "maximum": 2147483647, + "minimum": 0, + "type": "integer" + } + } + }, + "USProgramBrief": { + "description": "Represents a US Program Brief for acquiring a short code in the United States.\r\nA Program Brief provides vital information to the carriers about a messaging program or campaign that would be associated with a short code or alpha sender number.\r\nA Program Brief also provides specifics about the use case, the purpose and the consumer experience receiving the message.", + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Program Brief Id.", + "type": "string" + }, + "status": { + "description": "Program Brief status e.g. 'submitted', 'approved', etc", + "enum": [ + "submitted", + "approved", + "submitNewVanityNumbers", + "updateProgramBrief", + "draft", + "denied" + ], + "type": "string", + "x-ms-enum": { + "name": "ProgramBriefStatus", + "modelAsString": true + } + }, + "number": { + "description": "Number provisioned for the Program Brief e.g. 555555, 'CONTOSO'", + "type": "string" + }, + "reviewNotes": { + "description": "Notes added to the Program Brief after being reviewed to help customer understand\r\nreview results and necessary follow up actions.", + "type": "array", + "items": { + "$ref": "#/definitions/ReviewNote" + } + }, + "costs": { + "description": "Represents the costs tied to the number.", + "type": "array", + "items": { + "$ref": "#/definitions/ShortCodeCost" + } + }, + "submissionDate": { + "format": "date-time", + "description": "Date and time when the Program Brief was submitted.", + "type": "string" + }, + "statusUpdatedDate": { + "format": "date-time", + "description": "Last date and time when the Program Brief status was updated.", + "type": "string" + }, + "programDetails": { + "$ref": "#/definitions/ProgramDetails" + }, + "companyInformation": { + "$ref": "#/definitions/CompanyInformation" + }, + "messageDetails": { + "$ref": "#/definitions/MessageDetails" + }, + "trafficDetails": { + "$ref": "#/definitions/TrafficDetails" + } + } + }, + "USProgramBriefs": { + "description": "A wrapper for a list of USProgramBrief entities.", + "type": "object", + "properties": { + "programBriefs": { + "description": "List of Program Briefs.", + "type": "array", + "items": { + "$ref": "#/definitions/USProgramBrief" + } + }, + "nextLink": { + "description": "Represents the URL link to the next page.", + "type": "string" + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "in": "query", + "name": "api-version", + "description": "Version of API to invoke", + "required": true, + "type": "string" + }, + "Endpoint": { + "in": "path", + "name": "endpoint", + "description": "The communication resource, for example https://resourcename.communication.azure.com", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + } +} diff --git a/specification/communication/data-plane/ShortCodes/readme.csharp.md b/specification/communication/data-plane/ShortCodes/readme.csharp.md new file mode 100644 index 000000000000..2efd3715cdc3 --- /dev/null +++ b/specification/communication/data-plane/ShortCodes/readme.csharp.md @@ -0,0 +1,15 @@ +## C + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.CommunicationServices + output-folder: $(csharp-sdks-folder)/communicationservices/management/Microsoft.CommunicationServices/GeneratedProtocol +``` diff --git a/specification/communication/data-plane/ShortCodes/readme.md b/specification/communication/data-plane/ShortCodes/readme.md new file mode 100644 index 000000000000..e5b29b1cdcef --- /dev/null +++ b/specification/communication/data-plane/ShortCodes/readme.md @@ -0,0 +1,69 @@ +# communicationservices + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for communicationservices. + +## Getting Started + +To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the communicationservices. + +```yaml +openapi-type: data-plane +tag: package-2020-07-20-preview1 +``` + +### Tag: package-shortcode-2021-10-25-preview + +These settings apply only when `--tag=package-shortcode-2021-10-25-preview` is specified on the command line. + +```yaml $(tag) == 'package-shortcode-2021-10-25-preview' +input-file: + - preview/2021-10-25-preview/shortcodes.json +title: + Azure Communication Services +``` + +## Supression +``` yaml +directive: + - from: + - shortcodes.json + suppress: + - R2005 #Long running operation status code + reason: + - Approval from Azure review board that Long Running Operations can return 202s. +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) diff --git a/specification/communication/data-plane/ShortCodes/readme.typescript.md b/specification/communication/data-plane/ShortCodes/readme.typescript.md new file mode 100644 index 000000000000..be9f877fd1c2 --- /dev/null +++ b/specification/communication/data-plane/ShortCodes/readme.typescript.md @@ -0,0 +1,13 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +```yaml $(typescript) +typescript: + azure-arm: true + package-name: "communicationservices" + output-folder: "$(typescript-sdks-folder)/packages/communicationservices" + payload-flattening-threshold: 1 + generate-metadata: true +``` diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateAnSshPublicKey.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateAnSshPublicKey.json index 00074b2b3fd1..c1d79087d42e 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateAnSshPublicKey.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateAnSshPublicKey.json @@ -1,36 +1,36 @@ -{ - "parameters": { - "subscriptionId": "{subscription-id}", - "resourceGroupName": "myResourceGroup", - "api-version": "2019-12-01", - "sshPublicKeyName": "mySshPublicKeyName", - "parameters": { - "location": "westus", - "properties": { - "publicKey": "{ssh-rsa public key}" - } - } - }, - "responses": { - "200": { - "body": { - "name": "mySshPublicKeyName", - "location": "westus", - "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/sshPublicKeys/mySshPublicKeyName", - "properties": { - "publicKey": "{ssh-rsa public key}" - } - } - }, - "201": { - "body": { - "name": "mySshPublicKeyName", - "location": "westus", - "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/sshPublicKeys/mySshPublicKeyName", - "properties": { - "publicKey": "{ssh-rsa public key}" - } - } - } - } -} +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2019-12-01", + "sshPublicKeyName": "mySshPublicKeyName", + "parameters": { + "location": "westus", + "properties": { + "publicKey": "{ssh-rsa public key}" + } + } + }, + "responses": { + "200": { + "body": { + "name": "mySshPublicKeyName", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/sshPublicKeys/mySshPublicKeyName", + "properties": { + "publicKey": "{ssh-rsa public key}" + } + } + }, + "201": { + "body": { + "name": "mySshPublicKeyName", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/sshPublicKeys/mySshPublicKeyName", + "properties": { + "publicKey": "{ssh-rsa public key}" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json index 302987076754..22b648606db8 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json @@ -2804,7 +2804,7 @@ "in": "query", "required": false, "type": "boolean", - "description": "Optional parameter to force delete virtual machines.(Feature in Preview)" + "description": "Optional parameter to force delete virtual machines." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/compute.json index 63a425f0fdcd..3d088557e5be 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/compute.json @@ -3192,7 +3192,7 @@ "in": "query", "required": false, "type": "boolean", - "description": "Optional parameter to force delete virtual machines.(Feature in Preview)" + "description": "Optional parameter to force delete virtual machines." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/compute.json index 4bba7558ffa9..24ee58dfde72 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/compute.json @@ -3215,7 +3215,7 @@ "in": "query", "required": false, "type": "boolean", - "description": "Optional parameter to force delete virtual machines.(Feature in Preview)" + "description": "Optional parameter to force delete virtual machines." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -7635,30 +7635,6 @@ }, "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": { @@ -7707,10 +7683,10 @@ }, "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." + "timeCreated": { + "type": "string", + "format": "date-time", + "description": "Gets the creation time of the restore point." } }, "description": "The restore point properties." diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateARestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateARestorePoint.json index 0e147d3d62db..8b9aec14420c 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateARestorePoint.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateARestorePoint.json @@ -79,12 +79,7 @@ }, "provisioningState": "Succeeded", "consistencyMode": "ApplicationConsistent", - "provisioningDetails": { - "creationTime": "2021-01-27T20:35:05.8401519+00:00", - "totalUsedSizeInBytes": 10835349504, - "statusCode": 0, - "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}" - } + "timeCreated": "2021-01-27T20:35:05.8401519+00:00" } } } diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePoint.json index 989bc1353c3b..7d63a024de25 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePoint.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePoint.json @@ -70,12 +70,7 @@ }, "provisioningState": "Succeeded", "consistencyMode": "ApplicationConsistent", - "provisioningDetails": { - "creationTime": "2021-01-27T20:35:05.8401519+00:00", - "totalUsedSizeInBytes": 10835349504, - "statusCode": 0, - "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}" - } + "timeCreated": "2021-01-27T20:35:05.8401519+00:00" } } } diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json index fcdefbc18c78..7755fe14eac3 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json @@ -86,12 +86,7 @@ }, "provisioningState": "Succeeded", "consistencyMode": "ApplicationConsistent", - "provisioningDetails": { - "creationTime": "2021-01-27T20:35:05.8401519+00:00", - "totalUsedSizeInBytes": 10835349504, - "statusCode": 0, - "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}" - } + "timeCreated": "2021-01-27T20:35:05.8401519+00:00" } } ] diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/compute.json index c4f8526dc54f..1ae8cdc6f627 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/compute.json @@ -3218,7 +3218,7 @@ "in": "query", "required": false, "type": "boolean", - "description": "Optional parameter to force delete virtual machines.(Feature in Preview)" + "description": "Optional parameter to force delete virtual machines." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -8293,30 +8293,6 @@ }, "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": { @@ -8365,10 +8341,10 @@ }, "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." + "timeCreated": { + "type": "string", + "format": "date-time", + "description": "Gets the creation time of the restore point." } }, "description": "The restore point properties." diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateARestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateARestorePoint.json index d6ea9279f204..c1f274a81fa2 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateARestorePoint.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateARestorePoint.json @@ -79,12 +79,7 @@ }, "provisioningState": "Succeeded", "consistencyMode": "ApplicationConsistent", - "provisioningDetails": { - "creationTime": "2021-01-27T20:35:05.8401519+00:00", - "totalUsedSizeInBytes": 10835349504, - "statusCode": 0, - "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}" - } + "timeCreated": "2021-01-27T20:35:05.8401519+00:00" } } } diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateABurstingEnabledManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateABurstingEnabledManagedDisk.json index 6f962b65ef92..6c8bb03b3ef6 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateABurstingEnabledManagedDisk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateABurstingEnabledManagedDisk.json @@ -13,6 +13,9 @@ }, "responses": { "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01" + }, "body": { "properties": { "creationData": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePoint.json index 08a2c87d845a..68c69456dd49 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePoint.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePoint.json @@ -70,12 +70,7 @@ }, "provisioningState": "Succeeded", "consistencyMode": "ApplicationConsistent", - "provisioningDetails": { - "creationTime": "2021-01-27T20:35:05.8401519+00:00", - "totalUsedSizeInBytes": 10835349504, - "statusCode": 0, - "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}" - } + "timeCreated": "2021-01-27T20:35:05.8401519+00:00" } } } diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json index e8c954c155b9..2b5f20369d9c 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json @@ -86,12 +86,7 @@ }, "provisioningState": "Succeeded", "consistencyMode": "ApplicationConsistent", - "provisioningDetails": { - "creationTime": "2021-01-27T20:35:05.8401519+00:00", - "totalUsedSizeInBytes": 10835349504, - "statusCode": 0, - "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}" - } + "timeCreated": "2021-01-27T20:35:05.8401519+00:00" } } ] diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskAccess.json index 9ad3a83be39b..5e17b0937b3c 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskAccess.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskAccess.json @@ -13,6 +13,9 @@ }, "responses": { "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess?api-version=2021-04-01" + }, "body": { "name": "myDiskAccess", "id": "/subscriptions/{subscription-id}/resourceGroups/myResourcegroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSet.json index 5ac662c007fc..f9c97699556e 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSet.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSet.json @@ -22,6 +22,9 @@ }, "responses": { "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet?api-version=2021-04-01" + }, "body": { "name": "myDiskEncryptionSet", "location": "West US", diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabled.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabled.json index b31cc10876ae..43bafdf940f1 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabled.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabled.json @@ -19,6 +19,9 @@ }, "responses": { "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet?api-version=2021-04-01" + }, "body": { "name": "myDiskEncryptionSet", "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabledInProgress.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabledInProgress.json index 33e602d73271..c2fc69cfe453 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabledInProgress.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabledInProgress.json @@ -19,6 +19,9 @@ }, "responses": { "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet?api-version=2021-04-01" + }, "body": { "name": "myDiskEncryptionSet", "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddAcceleratedNetworking.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddAcceleratedNetworking.json index b7b2035430dd..9284debc1f6e 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddAcceleratedNetworking.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddAcceleratedNetworking.json @@ -14,6 +14,9 @@ }, "responses": { "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01" + }, "body": { "name": "myDisk", "location": "westus", diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddPurchasePlan.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddPurchasePlan.json index 1c77aa7ad609..b74656fe5709 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddPurchasePlan.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddPurchasePlan.json @@ -17,6 +17,9 @@ }, "responses": { "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01" + }, "body": { "name": "myDisk", "location": "westus", diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddSupportsHibernation.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddSupportsHibernation.json index a7dab8f35a29..1910a1c7be2c 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddSupportsHibernation.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddSupportsHibernation.json @@ -12,6 +12,9 @@ }, "responses": { "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01" + }, "body": { "name": "myDisk", "location": "westus", diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToChangeTier.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToChangeTier.json index 941cf1abe728..75ee45273f2e 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToChangeTier.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToChangeTier.json @@ -12,6 +12,9 @@ }, "responses": { "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01" + }, "body": { "properties": { "creationData": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToDisableBursting.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToDisableBursting.json index d919c9e88581..01b209f2a6aa 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToDisableBursting.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToDisableBursting.json @@ -12,6 +12,9 @@ }, "responses": { "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01" + }, "body": { "properties": { "creationData": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToRemoveDiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToRemoveDiskAccess.json index c05fe297a553..be3d81183ae5 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToRemoveDiskAccess.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToRemoveDiskAccess.json @@ -12,6 +12,9 @@ }, "responses": { "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01" + }, "body": { "properties": { "creationData": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateASnapshot.json index 1453fd429977..4f2510256ef1 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateASnapshot.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateASnapshot.json @@ -16,6 +16,9 @@ }, "responses": { "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot?api-version=2021-04-01" + }, "body": { "properties": { "creationData": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/communityGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/communityGallery.json new file mode 100644 index 000000000000..711cf2ecd43e --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/communityGallery.json @@ -0,0 +1,535 @@ +{ + "swagger": "2.0", + "info": { + "title": "CommunityGalleryServiceClient", + "description": "Community Gallery Service Client.", + "version": "2021-07-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}/providers/Microsoft.Compute/locations/{location}/communityGalleries/{publicGalleryName}": { + "get": { + "tags": [ + "CommunityGalleries" + ], + "operationId": "CommunityGalleries_Get", + "description": "Get a community gallery by gallery public name.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParameter" + }, + { + "$ref": "#/parameters/PublicGalleryNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CommunityGallery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery.": { + "$ref": "./examples/communityGallery/GetACommunityGallery.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/communityGalleries/{publicGalleryName}/images/{galleryImageName}": { + "get": { + "tags": [ + "CommunityGalleryImages" + ], + "operationId": "CommunityGalleryImages_Get", + "description": "Get a community gallery image.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PublicGalleryNameParameter" + }, + { + "$ref": "#/parameters/GalleryImageNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CommunityGalleryImage" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery.": { + "$ref": "./examples/communityGallery/GetACommunityGalleryImage.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/communityGalleries/{publicGalleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}": { + "get": { + "tags": [ + "CommunityGalleryImageVersions" + ], + "operationId": "CommunityGalleryImageVersions_Get", + "description": "Get a community gallery image version.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PublicGalleryNameParameter" + }, + { + "$ref": "#/parameters/GalleryImageNameParameter" + }, + { + "$ref": "#/parameters/GalleryImageVersionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CommunityGalleryImageVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery.": { + "$ref": "./examples/communityGallery/GetACommunityGalleryImageVersion.json" + } + } + } + } + }, + "definitions": { + "PirCommunityGalleryResource": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "location": { + "readOnly": true, + "type": "string", + "description": "Resource location" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "identifier": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CommunityGalleryIdentifier" + } + }, + "description": "Base information about the community gallery resource in pir." + }, + "CommunityGalleryIdentifier": { + "properties": { + "uniqueId": { + "type": "string", + "description": "The unique id of this community gallery." + } + }, + "description": "The identifier information of community gallery." + }, + "CommunityGallery": { + "properties": {}, + "allOf": [ + { + "$ref": "#/definitions/PirCommunityGalleryResource" + } + ], + "description": "Specifies information about the Community Gallery that you want to create or update." + }, + "CommunityGalleryImage": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CommunityGalleryImageProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/PirCommunityGalleryResource" + } + ], + "description": "Specifies information about the gallery image definition that you want to create or update." + }, + "CommunityGalleryImageProperties": { + "properties": { + "osType": { + "type": "string", + "description": "This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image.

Possible values are:

**Windows**

**Linux**", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "osState": { + "type": "string", + "description": "This property allows the user to specify whether the virtual machines created under this image are 'Generalized' or 'Specialized'.", + "enum": [ + "Generalized", + "Specialized" + ], + "x-ms-enum": { + "name": "OperatingSystemStateTypes", + "modelAsString": false + } + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery image definition. This property can be used for decommissioning purposes. This property is updatable." + }, + "identifier": { + "$ref": "#/definitions/GalleryImageIdentifier" + }, + "recommended": { + "$ref": "#/definitions/RecommendedMachineConfiguration" + }, + "disallowed": { + "$ref": "#/definitions/Disallowed" + }, + "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 + } + }, + "features": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryImageFeature" + }, + "description": "A list of gallery image features." + }, + "purchasePlan": { + "$ref": "#/definitions/ImagePurchasePlan" + } + }, + "required": [ + "osType", + "osState", + "identifier" + ], + "description": "Describes the properties of a gallery image definition." + }, + "GalleryImageFeature": { + "properties": { + "name": { + "type": "string", + "description": "The name of the gallery image feature." + }, + "value": { + "type": "string", + "description": "The value of the gallery image feature." + } + }, + "description": "A feature for gallery image." + }, + "GalleryImageIdentifier": { + "properties": { + "publisher": { + "type": "string", + "description": "The name of the gallery image definition publisher." + }, + "offer": { + "type": "string", + "description": "The name of the gallery image definition offer." + }, + "sku": { + "type": "string", + "description": "The name of the gallery image definition SKU." + } + }, + "required": [ + "publisher", + "offer", + "sku" + ], + "description": "This is the gallery image definition identifier." + }, + "RecommendedMachineConfiguration": { + "properties": { + "vCPUs": { + "$ref": "#/definitions/ResourceRange" + }, + "memory": { + "$ref": "#/definitions/ResourceRange" + } + }, + "description": "The properties describe the recommended machine configuration for this Image Definition. These properties are updatable." + }, + "ResourceRange": { + "properties": { + "min": { + "type": "integer", + "format": "int32", + "description": "The minimum number of the resource." + }, + "max": { + "type": "integer", + "format": "int32", + "description": "The maximum number of the resource." + } + }, + "description": "Describes the resource range." + }, + "Disallowed": { + "properties": { + "diskTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of disk types." + } + }, + "description": "Describes the disallowed disk types." + }, + "ImagePurchasePlan": { + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + }, + "product": { + "type": "string", + "description": "The product ID." + } + }, + "description": "Describes the gallery image definition purchase plan. This is used by marketplace images." + }, + "CommunityGalleryImageVersion": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CommunityGalleryImageVersionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/PirCommunityGalleryResource" + } + ], + "description": "Specifies information about the gallery image version that you want to create or update." + }, + "CommunityGalleryImageVersionProperties": { + "properties": { + "publishedDate": { + "type": "string", + "format": "date-time", + "description": "The published date of the gallery image version Definition. This property can be used for decommissioning purposes. This property is updatable." + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery image version Definition. This property can be used for decommissioning purposes. This property is updatable." + } + }, + "description": "Describes the properties of a gallery image version." + }, + "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." + }, + "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." + } + }, + "parameters": { + "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." + }, + "LocationNameParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Resource location." + }, + "PublicGalleryNameParameter": { + "name": "publicGalleryName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The public name of the community gallery." + }, + "GalleryImageNameParameter": { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the community gallery image definition." + }, + "GalleryImageVersionNameParameter": { + "name": "galleryImageVersionName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the community gallery image version. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/compute.json index c0c702bf82a5..981eeb6f69e0 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/compute.json @@ -3235,7 +3235,7 @@ "in": "query", "required": false, "type": "boolean", - "description": "Optional parameter to force delete virtual machines.(Feature in Preview)" + "description": "Optional parameter to force delete virtual machines." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -8326,30 +8326,6 @@ }, "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": { @@ -8398,10 +8374,10 @@ }, "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." + "timeCreated": { + "type": "string", + "format": "date-time", + "description": "Gets the creation time of the restore point." } }, "description": "The restore point properties." @@ -11674,7 +11650,7 @@ "properties": { "bootDiagnostics": { "$ref": "#/definitions/BootDiagnostics", - "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." + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.
**NOTE**: If storageUri is being specified then ensure that the storage account is in the same region and subscription as the VM.

You can easily view the output of your console log.

Azure also enables you to see a screenshot of the VM from the hypervisor." } }, "description": "Specifies the boot diagnostic settings state.

Minimum api-version: 2015-06-15." diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/communityGallery/GetACommunityGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/communityGallery/GetACommunityGallery.json new file mode 100644 index 000000000000..814f96cfbaf6 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/communityGallery/GetACommunityGallery.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "myLocation", + "api-version": "2021-07-01", + "publicGalleryName": "publicGalleryName" + }, + "responses": { + "200": { + "body": { + "location": "myLocation", + "name": "publicGalleryName", + "type": "Microsoft.Compute/Locations/CommunityGallery", + "identifier": { + "uniqueId": "/CommunityGalleries/publicGalleryName" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/communityGallery/GetACommunityGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/communityGallery/GetACommunityGalleryImage.json new file mode 100644 index 000000000000..d7ff0d54839a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/communityGallery/GetACommunityGalleryImage.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "myLocation", + "api-version": "2021-07-01", + "publicGalleryName": "publicGalleryName", + "galleryImageName": "myGalleryImageName" + }, + "responses": { + "200": { + "body": { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + } + }, + "location": "myLocation", + "name": "myGalleryImageName", + "type": "Microsoft.Compute/Locations/CommunityGalleryImage", + "identifier": { + "uniqueId": "/CommunityGalleries/publicGalleryName/Images/myGalleryImageName" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/communityGallery/GetACommunityGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/communityGallery/GetACommunityGalleryImageVersion.json new file mode 100644 index 000000000000..064bb8e3c6b2 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/communityGallery/GetACommunityGalleryImageVersion.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "myLocation", + "api-version": "2021-07-01", + "publicGalleryName": "publicGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "myGalleryImageVersionName" + }, + "responses": { + "200": { + "body": { + "properties": { + "publishedDate": "2018-03-20T09:12:28Z", + "endOfLifeDate": "2022-03-20T09:12:28Z" + }, + "location": "myLocation", + "name": "myGalleryImageVersionName", + "type": "Microsoft.Compute/Locations/CommunityGalleryImageVersion", + "identifier": { + "uniqueId": "/CommunityGalleries/publicGalleryName/Images/myGalleryImageName/Versions/myGalleryImageVersionName" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/CreateARestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/CreateARestorePoint.json index 7cff97e632cd..fc5b22570e60 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/CreateARestorePoint.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/CreateARestorePoint.json @@ -79,12 +79,7 @@ }, "provisioningState": "Succeeded", "consistencyMode": "ApplicationConsistent", - "provisioningDetails": { - "creationTime": "2021-01-27T20:35:05.8401519+00:00", - "totalUsedSizeInBytes": 10835349504, - "statusCode": 0, - "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}" - } + "timeCreated": "2021-01-27T20:35:05.8401519+00:00" } } } diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/GetRestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/GetRestorePoint.json index d616fabdc9e8..2d330d636dfc 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/GetRestorePoint.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/GetRestorePoint.json @@ -70,12 +70,7 @@ }, "provisioningState": "Succeeded", "consistencyMode": "ApplicationConsistent", - "provisioningDetails": { - "creationTime": "2021-01-27T20:35:05.8401519+00:00", - "totalUsedSizeInBytes": 10835349504, - "statusCode": 0, - "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}" - } + "timeCreated": "2021-01-27T20:35:05.8401519+00:00" } } } diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/GetRestorePointCollectionWithContainedRestorePoints.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/GetRestorePointCollectionWithContainedRestorePoints.json index ce9d3b156fa8..b4d13ce0ace1 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/GetRestorePointCollectionWithContainedRestorePoints.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/GetRestorePointCollectionWithContainedRestorePoints.json @@ -86,12 +86,7 @@ }, "provisioningState": "Succeeded", "consistencyMode": "ApplicationConsistent", - "provisioningDetails": { - "creationTime": "2021-01-27T20:35:05.8401519+00:00", - "totalUsedSizeInBytes": 10835349504, - "statusCode": 0, - "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}" - } + "timeCreated": "2021-01-27T20:35:05.8401519+00:00" } } ] diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/gallery/AddToSharingProfileInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/gallery/AddToSharingProfileInAGallery.json index 79663def1c75..ad9d6e586cd9 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/gallery/AddToSharingProfileInAGallery.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/gallery/AddToSharingProfileInAGallery.json @@ -45,6 +45,9 @@ } }, "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/share?api-version=2021-07-01" + }, "body": { "operationType": "Add", "groups": [ diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/gallery/ResetSharingProfileInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/gallery/ResetSharingProfileInAGallery.json index 270abfd8de99..e04e99e87ebd 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/gallery/ResetSharingProfileInAGallery.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/gallery/ResetSharingProfileInAGallery.json @@ -15,6 +15,9 @@ } }, "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/share?api-version=2021-07-01" + }, "body": { "operationType": "Reset" } diff --git a/specification/compute/resource-manager/readme.go.md b/specification/compute/resource-manager/readme.go.md index 429c7a791ac9..f2b284a9c486 100644 --- a/specification/compute/resource-manager/readme.go.md +++ b/specification/compute/resource-manager/readme.go.md @@ -31,7 +31,7 @@ directive: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/compute/armcompute +module-name: sdk/resourcemanager/compute/armcompute module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/compute/resource-manager/readme.java.md b/specification/compute/resource-manager/readme.java.md index f83c0c13d7fb..399311f42133 100644 --- a/specification/compute/resource-manager/readme.java.md +++ b/specification/compute/resource-manager/readme.java.md @@ -125,4 +125,18 @@ Creating this tag to pick proper resources from the hybrid profile. input-file: - Microsoft.Compute/stable/2017-12-01/compute.json - Microsoft.Compute/stable/2017-03-30/disk.json -``` \ No newline at end of file +``` + +### Tag: profile-hybrid-2020-09-01 and java + +These settings apply only when `--tag=profile-hybrid-2020-09-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'profile-hybrid-2020-09-01' && $(java) +input-file: + - Microsoft.Compute/stable/2020-06-01/compute.json + - Microsoft.Compute/stable/2020-06-01/runCommands.json + - Microsoft.Compute/stable/2019-04-01/skus.json + - Microsoft.Compute/stable/2019-07-01/disk.json + - Microsoft.Compute/stable/2019-12-01/gallery.json +``` diff --git a/specification/compute/resource-manager/readme.md b/specification/compute/resource-manager/readme.md index fae2578a2f4b..2f115a57104d 100644 --- a/specification/compute/resource-manager/readme.md +++ b/specification/compute/resource-manager/readme.md @@ -242,6 +242,7 @@ input-file: - Microsoft.Compute/stable/2021-04-01/disk.json - Microsoft.Compute/stable/2021-07-01/gallery.json - Microsoft.Compute/stable/2021-07-01/sharedGallery.json +- Microsoft.Compute/stable/2021-07-01/communityGallery.json - Microsoft.Compute/stable/2021-03-01/cloudService.json ``` @@ -256,6 +257,7 @@ input-file: - Microsoft.Compute/stable/2021-07-01/skus.json - Microsoft.Compute/stable/2021-07-01/gallery.json - Microsoft.Compute/stable/2021-07-01/sharedGallery.json +- Microsoft.Compute/stable/2021-07-01/communityGallery.json ``` ### Tag: package-2021-06-01-preview @@ -306,6 +308,7 @@ These settings apply only when `--tag=package-2021-04-01-only` is specified on t input-file: - Microsoft.Compute/stable/2021-04-01/compute.json - Microsoft.Compute/stable/2021-04-01/runCommands.json +- Microsoft.Compute/stable/2021-04-01/disk.json ``` ### Tag: package-2021-03-01 @@ -925,6 +928,7 @@ swagger-to-sdk: - repo: azure-sdk-for-java - repo: azure-sdk-for-js - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby after_scripts: diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/confluent.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/confluent.json new file mode 100644 index 000000000000..f2a530d17ce4 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/confluent.json @@ -0,0 +1,971 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft.Confluent", + "version": "2021-09-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}/providers/Microsoft.Confluent/agreements": { + "get": { + "tags": [ + "Agreements" + ], + "summary": "List Confluent marketplace agreements in the subscription.", + "operationId": "MarketplaceAgreements_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ConfluentAgreementResourceListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "MarketplaceAgreements_List": { + "$ref": "./examples/MarketplaceAgreements_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Confluent/agreements/default": { + "put": { + "tags": [ + "Agreements" + ], + "summary": "Create Confluent Marketplace agreement in the subscription.", + "operationId": "MarketplaceAgreements_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "in": "body", + "name": "body", + "description": "Confluent Marketplace Agreement resource", + "schema": { + "$ref": "#/definitions/ConfluentAgreementResource" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ConfluentAgreementResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "MarketplaceAgreements_Create": { + "$ref": "./examples/MarketplaceAgreements_Create.json" + } + } + } + }, + "/providers/Microsoft.Confluent/operations": { + "get": { + "tags": [ + "Organization" + ], + "summary": "List all operations provided by Microsoft.Confluent.", + "operationId": "OrganizationOperations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "OrganizationOperations_List": { + "$ref": "./examples/OrganizationOperations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Confluent/organizations": { + "get": { + "tags": [ + "Organization" + ], + "summary": "List all organizations under the specified subscription.", + "operationId": "Organization_ListBySubscription", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OrganizationResourceListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Organization_ListBySubscription": { + "$ref": "./examples/Organization_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Confluent/organizations": { + "get": { + "tags": [ + "Organization" + ], + "summary": "List all Organizations under the specified resource group.", + "operationId": "Organization_ListByResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OrganizationResourceListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Organization_ListByResourceGroup": { + "$ref": "./examples/Organization_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Confluent/organizations/{organizationName}": { + "get": { + "tags": [ + "Organization" + ], + "summary": "Get the properties of a specific Organization resource.", + "operationId": "Organization_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/OrganizationResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Organization_Get": { + "$ref": "./examples/Organization_Get.json" + } + } + }, + "put": { + "tags": [ + "Organization" + ], + "summary": "Create Organization resource", + "operationId": "Organization_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/OrganizationResourceNameParameter" + }, + { + "in": "body", + "name": "body", + "description": "Organization resource model", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Organization_Create": { + "$ref": "./examples/Organization_Create.json" + } + } + }, + "patch": { + "tags": [ + "Organization" + ], + "summary": "Update Organization resource", + "operationId": "Organization_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/OrganizationResourceNameParameter" + }, + { + "in": "body", + "name": "body", + "description": "Updated Organization resource", + "schema": { + "$ref": "#/definitions/OrganizationResourceUpdate" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Confluent_Update": { + "$ref": "./examples/Organization_Update.json" + } + } + }, + "delete": { + "tags": [ + "Organization" + ], + "summary": "Delete Organization resource", + "operationId": "Organization_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/OrganizationResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "The specified confluent resource does not exist in the subscription." + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Confluent_Delete": { + "$ref": "./examples/Organization_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Confluent/validations/{organizationName}/orgvalidate": { + "post": { + "tags": [ + "Validations" + ], + "summary": "Organization Validate proxy resource", + "operationId": "Validations_ValidateOrganization", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/OrganizationResourceNameParameter" + }, + { + "in": "body", + "name": "body", + "required": true, + "description": "Organization resource model", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Validations_ValidateOrganizations": { + "$ref": "./examples/Validations_ValidateOrganizations.json" + } + } + } + } + }, + "definitions": { + "ConfluentAgreementProperties": { + "description": "Terms properties for Marketplace and Confluent.", + "type": "object", + "properties": { + "publisher": { + "description": "Publisher identifier string.", + "type": "string" + }, + "product": { + "description": "Product identifier string.", + "type": "string" + }, + "plan": { + "description": "Plan identifier string.", + "type": "string" + }, + "licenseTextLink": { + "description": "Link to HTML with Microsoft and Publisher terms.", + "type": "string" + }, + "privacyPolicyLink": { + "description": "Link to the privacy policy of the publisher.", + "type": "string" + }, + "retrieveDatetime": { + "format": "date-time", + "description": "Date and time in UTC of when the terms were accepted. This is empty if Accepted is false.", + "type": "string" + }, + "signature": { + "description": "Terms signature.", + "type": "string" + }, + "accepted": { + "description": "If any version of the terms have been accepted, otherwise false.", + "type": "boolean" + } + } + }, + "ConfluentAgreementResource": { + "description": "Agreement Terms definition", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "The ARM id of the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the agreement.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the agreement.", + "type": "string", + "readOnly": true + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ConfluentAgreementProperties", + "description": "Represents the properties of the resource." + } + } + }, + "ConfluentAgreementResourceListResponse": { + "description": "Response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ConfluentAgreementResource" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "OperationDisplay": { + "description": "The object that represents the operation.", + "type": "object", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Confluent", + "type": "string" + }, + "resource": { + "description": "Type on which the operation is performed, e.g., 'clusters'.", + "type": "string" + }, + "operation": { + "description": "Operation type, e.g., read, write, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of the operation, e.g., 'Write confluent'.", + "type": "string" + } + } + }, + "OperationResult": { + "description": "An Confluent REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "The object that represents the operation.", + "$ref": "#/definitions/OperationDisplay" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + } + } + }, + "OperationListResult": { + "description": "Result of GET request to list Confluent operations.", + "type": "object", + "properties": { + "value": { + "description": "List of Confluent operations supported by the Microsoft.Confluent provider.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationResult" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string" + } + } + }, + "ErrorResponseBody": { + "description": "Response body of Error", + "title": "ErrorResponseBody", + "type": "object", + "properties": { + "code": { + "description": "Error code", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message", + "type": "string", + "readOnly": true + }, + "target": { + "description": "Error target", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Error detail", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + } + }, + "ResourceProviderDefaultErrorResponse": { + "type": "object", + "description": "Default error response for resource provider", + "title": "ResourceProviderDefaultErrorResponse", + "properties": { + "error": { + "description": "Response body of Error", + "readOnly": true, + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "ProvisioningState": { + "enum": [ + "Accepted", + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled", + "Deleted", + "NotSpecified" + ], + "type": "string", + "description": "Provision states for confluent RP", + "title": "ProvisioningState", + "x-ms-enum": { + "name": "ProvisionState", + "modelAsString": true + } + }, + "SaaSOfferStatus": { + "enum": [ + "Started", + "PendingFulfillmentStart", + "InProgress", + "Subscribed", + "Suspended", + "Reinstated", + "Succeeded", + "Failed", + "Unsubscribed", + "Updating" + ], + "type": "string", + "description": "SaaS Offer Status for confluent RP", + "title": "SaaSOfferStatus", + "x-ms-enum": { + "modelAsString": true, + "name": "SaaSOfferStatus" + } + }, + "OfferDetail": { + "description": "Confluent Offer detail", + "type": "object", + "required": [ + "publisherId", + "id", + "planId", + "planName", + "termUnit" + ], + "properties": { + "publisherId": { + "description": "Publisher Id", + "maxLength": 50, + "type": "string" + }, + "id": { + "description": "Offer Id", + "maxLength": 50, + "type": "string" + }, + "planId": { + "description": "Offer Plan Id", + "maxLength": 50, + "type": "string" + }, + "planName": { + "description": "Offer Plan Name", + "maxLength": 50, + "type": "string" + }, + "termUnit": { + "description": "Offer Plan Term unit", + "maxLength": 25, + "type": "string" + }, + "status": { + "description": "SaaS Offer Status", + "$ref": "#/definitions/SaaSOfferStatus" + } + } + }, + "UserDetail": { + "description": "Subscriber detail", + "type": "object", + "required": [ + "emailAddress" + ], + "properties": { + "firstName": { + "description": "First name", + "maxLength": 50, + "type": "string" + }, + "lastName": { + "description": "Last name", + "maxLength": 50, + "type": "string" + }, + "emailAddress": { + "description": "Email address", + "pattern": "^\\S+@\\S+\\.\\S+$", + "type": "string" + } + } + }, + "OrganizationResourceProperties": { + "description": "Organization resource property", + "type": "object", + "required": [ + "offerDetail", + "userDetail" + ], + "properties": { + "createdTime": { + "format": "date-time", + "description": "The creation time of the resource.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "Provision states for confluent RP", + "$ref": "#/definitions/ProvisioningState", + "readOnly": true + }, + "organizationId": { + "description": "Id of the Confluent organization.", + "type": "string", + "readOnly": true + }, + "ssoUrl": { + "description": "SSO url for the Confluent organization.", + "type": "string", + "readOnly": true + }, + "offerDetail": { + "description": "Confluent offer detail", + "$ref": "#/definitions/OfferDetail" + }, + "userDetail": { + "description": "Subscriber detail", + "$ref": "#/definitions/UserDetail" + } + } + }, + "OrganizationResource": { + "description": "Organization resource.", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "properties" + ], + "properties": { + "id": { + "description": "The ARM id 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 + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Organization resource properties", + "$ref": "#/definitions/OrganizationResourceProperties" + }, + "tags": { + "type": "object", + "description": "Organization resource tags", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "description": "Location of Organization resource", + "type": "string" + } + } + }, + "OrganizationResourceListResult": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Result of a list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/OrganizationResource" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "OrganizationResourceUpdate": { + "description": "Organization Resource update", + "type": "object", + "properties": { + "tags": { + "description": "ARM resource tags", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string", + "enum": [ + "2021-09-01-preview" + ] + }, + "SubscriptionIdParameter": { + "in": "path", + "name": "subscriptionId", + "description": "Microsoft Azure subscription id", + "required": true, + "type": "string" + }, + "ResourceGroupParameter": { + "in": "path", + "name": "resourceGroupName", + "description": "Resource group name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "OrganizationResourceNameParameter": { + "in": "path", + "name": "organizationName", + "description": "Organization resource name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/MarketplaceAgreements_Create.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/MarketplaceAgreements_Create.json new file mode 100644 index 000000000000..3104ced9356c --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/MarketplaceAgreements_Create.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "requestBody": { + "properties": { + "accepted": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Confluent/agreements/default", + "name": "default", + "type": "Microsoft.Confluent/agreements", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-05-09T14:28:47.284Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-09T14:28:47.284Z" + }, + "properties": { + "publisher": "pubid1", + "product": "offid1", + "plan": "planid1", + "licenseTextLink": "test.licenseLink1", + "privacyPolicyLink": "test.privacyPolicyLink1", + "retrieveDatetime": "2020-11-05T17:33:07.12132Z", + "signature": "YKWOQOKH2BCKZ46O7SCKHANWEENRFRU5WB4LXDFUYWCBWTS4AG4SGQXCOZYIR5ZJCZTXRMZKYZMO2BJSL5YKPLAR4LBFRUNS6CRYE7A", + "accepted": true + } + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/MarketplaceAgreements_List.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/MarketplaceAgreements_List.json new file mode 100644 index 000000000000..fa7cb5839d62 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/MarketplaceAgreements_List.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Confluent/agreements/default", + "name": "planid1", + "type": "Microsoft.Confluent/agreements", + "properties": { + "publisher": "pubid1", + "product": "offid1", + "plan": "planid1", + "licenseTextLink": "test.licenseLink1", + "privacyPolicyLink": "test.privacyPolicyLink1", + "retrieveDatetime": "2017-08-15T11:33:07.12132Z", + "signature": "ASDFSDAFWEFASDGWERLWER", + "accepted": true + } + }, + { + "id": "id2", + "name": "planid2", + "type": "Microsoft.MarketplaceOrdering/offertypes", + "properties": { + "publisher": "pubid2", + "product": "offid2", + "plan": "planid2", + "licenseTextLink": "test.licenseLin2k", + "privacyPolicyLink": "test.privacyPolicyLink2", + "retrieveDatetime": "2017-08-14T11:33:07.12132Z", + "signature": "ASDFSDAFWEFASDGWERLWER", + "accepted": true + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/OrganizationOperations_List.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/OrganizationOperations_List.json new file mode 100644 index 000000000000..b9769ec3de3e --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/OrganizationOperations_List.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Confluent/organizations/Read", + "isDataAction": false, + "display": { + "provider": "Microsoft.Confluent", + "resource": "organizations", + "operation": "Get/List organization resources", + "description": "Read organization" + } + }, + { + "name": "Microsoft.Confluent/organizations/Write", + "isDataAction": false, + "display": { + "provider": "Microsoft.Confluent", + "resource": "organizations", + "operation": "Create/Update organization resources", + "description": "Write organization" + } + }, + { + "name": "Microsoft.Confluent/organizations/Delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.Confluent", + "resource": "organizations", + "operation": "Delete organization resources", + "description": "Delete organization" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Create.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Create.json new file mode 100644 index 000000000000..5147d436815e --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Create.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "organizationName": "myOrganization", + "body": { + "properties": { + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization", + "name": "myOrganization", + "type": "Microsoft.Confluent/organizations", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-05-09T14:28:47.284Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-09T14:28:47.284Z" + }, + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Succeeded", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string", + "status": "Started" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization", + "name": "myOrganization", + "type": "Microsoft.Confluent/organizations", + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Accepted", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string", + "status": "Started" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Delete.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Delete.json new file mode 100644 index 000000000000..23925b7ae870 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "organizationName": "myOrganization" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Get.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Get.json new file mode 100644 index 000000000000..a17a9c72675b --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Get.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "organizationName": "myOrganization" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization", + "name": "myOrganization", + "type": "Microsoft.Confluent/organizations", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-05-09T14:28:47.284Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-09T14:28:47.284Z" + }, + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Accepted", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string", + "status": "Started" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_ListByResourceGroup.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_ListByResourceGroup.json new file mode 100644 index 000000000000..422dbf0c65f4 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_ListByResourceGroup.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganizations", + "name": "myOrganizations", + "type": "Microsoft.Confluent/organizations", + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Accepted", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string", + "status": "Started" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_ListBySubscription.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_ListBySubscription.json new file mode 100644 index 000000000000..3718d7237243 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_ListBySubscription.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganizations", + "name": "myOrganizations", + "type": "Microsoft.Confluent/organizations", + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Accepted", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string", + "status": "Started" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Update.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Update.json new file mode 100644 index 000000000000..6e855d4649f1 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Update.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "organizationName": "myOrganization", + "body": { + "tags": { + "env": "dev", + "client": "dev-client" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization", + "name": "myOrganization", + "type": "Microsoft.Confluent/organizations", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-05-09T14:28:47.284Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-09T14:28:47.284Z" + }, + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Succeeded", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string", + "status": "Started" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Validations_ValidateOrganizations.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Validations_ValidateOrganizations.json new file mode 100644 index 000000000000..3bf81a922153 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Validations_ValidateOrganizations.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "organizationName": "myOrganization", + "body": { + "properties": { + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "abc@microsoft.com" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization", + "name": "myOrganization", + "type": "Microsoft.Confluent/organizations", + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Succeeded", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string", + "status": "Started" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "abc@microsoft.com" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + } + } +} diff --git a/specification/confluent/resource-manager/readme.go.md b/specification/confluent/resource-manager/readme.go.md index d137ad529b23..c04f08b06af6 100644 --- a/specification/confluent/resource-manager/readme.go.md +++ b/specification/confluent/resource-manager/readme.go.md @@ -13,11 +13,21 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-preview-2021-09 - tag: package-2020-03-01 - tag: package-2020-03-01-preview - tag: package-2021-03-01-preview ``` +### Tag: package-preview-2021-09 and go + +These settings apply only when `--tag=package-preview-2021-09 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-preview-2021-09' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-09-01-preview/$(namespace) +``` + ### Tag: package-2020-03-01 and go These settings apply only when `--tag=package-2020-03-01 --go` is specified on the command line. diff --git a/specification/confluent/resource-manager/readme.md b/specification/confluent/resource-manager/readme.md index 8780a27ab0d6..1653aafcc649 100644 --- a/specification/confluent/resource-manager/readme.md +++ b/specification/confluent/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for Confluent. - - --- + ## Getting Started + To build the SDK for Confluent, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,22 +15,31 @@ To build the SDK for Confluent, simply [Install AutoRest](https://aka.ms/autores To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the Confluent API. ``` yaml title: ConfluentManagementClient openapi-type: arm openapi-subtype: rpaas -tag: package-2021-03-01-preview +tag: package-preview-2021-09 ``` + +### Tag: package-preview-2021-09 + +These settings apply only when `--tag=package-preview-2021-09` is specified on the command line. + +```yaml $(tag) == 'package-preview-2021-09' +input-file: + - Microsoft.Confluent/preview/2021-09-01-preview/confluent.json +``` ### Tag: package-2020-03-01 These settings apply only when `--tag=package-2020-03-01` is specified on the command line. @@ -107,4 +116,3 @@ See configuration in [readme.ruby.md](./readme.ruby.md) ## TypeScript See configuration in [readme.typescript.md](./readme.typescript.md) - diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/connectedvmware.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/connectedvmware.json new file mode 100644 index 000000000000..c8bd6537bc7f --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/connectedvmware.json @@ -0,0 +1,6724 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Arc VMware Management Service API", + "description": "Self service experience for VMware.", + "version": "2020-10-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": { + "/providers/Microsoft.ConnectedVMwarevSphere/operations": { + "get": { + "description": "Returns list of all operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "ListOperations": { + "$ref": "./examples/ListOperations.json" + } + }, + "tags": [ + "Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Operation details.", + "schema": { + "$ref": "#/definitions/operationsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/{resourcePoolName}": { + "put": { + "tags": [ + "ResourcePools" + ], + "operationId": "ResourcePools_Create", + "description": "Create Or Update resourcePool.", + "summary": "Implements resourcePool PUT method.", + "x-ms-examples": { + "CreateResourcePool": { + "$ref": "./examples/CreateResourcePool.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "resourcePoolName", + "required": true, + "type": "string", + "description": "Name of the resourcePool." + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Request payload.", + "schema": { + "$ref": "#/definitions/ResourcePool" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ResourcePool" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ResourcePool" + } + }, + "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": "azure-async-operation" + } + }, + "get": { + "tags": [ + "ResourcePools" + ], + "operationId": "ResourcePools_Get", + "summary": "Gets a resourcePool.", + "description": "Implements resourcePool GET method.", + "x-ms-examples": { + "GetResourcePool": { + "$ref": "./examples/GetResourcePool.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "resourcePoolName", + "description": "Name of the resourcePool.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ResourcePool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "ResourcePools" + ], + "operationId": "ResourcePools_Update", + "summary": "Updates a resourcePool.", + "description": "API to update certain properties of the resourcePool resource.", + "x-ms-examples": { + "UpdateResourcePool": { + "$ref": "./examples/UpdateResourcePool.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "resourcePoolName", + "required": true, + "type": "string", + "description": "Name of the resourcePool." + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Resource properties to update.", + "schema": { + "$ref": "#/definitions/ResourcePatch" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ResourcePool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ResourcePools" + ], + "operationId": "ResourcePools_Delete", + "summary": "Deletes an resourcePool.", + "description": "Implements resourcePool DELETE method.", + "x-ms-examples": { + "DeleteResourcePool": { + "$ref": "./examples/DeleteResourcePool.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "resourcePoolName", + "description": "Name of the resourcePool.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "query", + "name": "force", + "description": "Whether force delete was specified.", + "required": false, + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools": { + "get": { + "tags": [ + "ResourcePools" + ], + "operationId": "ResourcePools_List", + "summary": "Implements GET resourcePools in a subscription.", + "description": "List of resourcePools in a subscription.", + "x-ms-examples": { + "ListResourcePools": { + "$ref": "./examples/ListResourcePools.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ResourcePoolsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools": { + "get": { + "tags": [ + "ResourcePools" + ], + "operationId": "ResourcePools_ListByResourceGroup", + "summary": "Implements GET resourcePools in a resource group.", + "description": "List of resourcePools in a resource group.", + "x-ms-examples": { + "ListResourcePoolsByResourceGroup": { + "$ref": "./examples/ListResourcePoolsByResourceGroup.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ResourcePoolsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/clusters/{clusterName}": { + "put": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Create", + "description": "Create Or Update cluster.", + "summary": "Implements cluster PUT method.", + "x-ms-examples": { + "CreateCluster": { + "$ref": "./examples/CreateCluster.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "clusterName", + "required": true, + "type": "string", + "description": "Name of the cluster." + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Request payload.", + "schema": { + "$ref": "#/definitions/Cluster" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "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": "azure-async-operation" + } + }, + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Get", + "summary": "Gets a cluster.", + "description": "Implements cluster GET method.", + "x-ms-examples": { + "GetCluster": { + "$ref": "./examples/GetCluster.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "clusterName", + "description": "Name of the cluster.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Update", + "summary": "Updates a cluster.", + "description": "API to update certain properties of the cluster resource.", + "x-ms-examples": { + "UpdateCluster": { + "$ref": "./examples/UpdateCluster.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "clusterName", + "required": true, + "type": "string", + "description": "Name of the cluster." + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Resource properties to update.", + "schema": { + "$ref": "#/definitions/ResourcePatch" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Delete", + "summary": "Deletes an cluster.", + "description": "Implements cluster DELETE method.", + "x-ms-examples": { + "DeleteCluster": { + "$ref": "./examples/DeleteCluster.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "clusterName", + "description": "Name of the cluster.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "query", + "name": "force", + "description": "Whether force delete was specified.", + "required": false, + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_List", + "summary": "Implements GET clusters in a subscription.", + "description": "List of clusters in a subscription.", + "x-ms-examples": { + "ListClusters": { + "$ref": "./examples/ListClusters.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ClustersList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_ListByResourceGroup", + "summary": "Implements GET clusters in a resource group.", + "description": "List of clusters in a resource group.", + "x-ms-examples": { + "ListClustersByResourceGroup": { + "$ref": "./examples/ListClustersByResourceGroup.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ClustersList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/hosts/{hostName}": { + "put": { + "tags": [ + "Hosts" + ], + "operationId": "Hosts_Create", + "description": "Create Or Update host.", + "summary": "Implements host PUT method.", + "x-ms-examples": { + "CreateHost": { + "$ref": "./examples/CreateHost.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "hostName", + "required": true, + "type": "string", + "description": "Name of the host." + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Request payload.", + "schema": { + "$ref": "#/definitions/Host" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Host" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Host" + } + }, + "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": "azure-async-operation" + } + }, + "get": { + "tags": [ + "Hosts" + ], + "operationId": "Hosts_Get", + "summary": "Gets a host.", + "description": "Implements host GET method.", + "x-ms-examples": { + "GetHost": { + "$ref": "./examples/GetHost.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "hostName", + "description": "Name of the host.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Host" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Hosts" + ], + "operationId": "Hosts_Update", + "summary": "Updates a host.", + "description": "API to update certain properties of the host resource.", + "x-ms-examples": { + "UpdateHost": { + "$ref": "./examples/UpdateHost.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "hostName", + "required": true, + "type": "string", + "description": "Name of the host." + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Resource properties to update.", + "schema": { + "$ref": "#/definitions/ResourcePatch" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Host" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Hosts" + ], + "operationId": "Hosts_Delete", + "summary": "Deletes an host.", + "description": "Implements host DELETE method.", + "x-ms-examples": { + "DeleteHost": { + "$ref": "./examples/DeleteHost.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "hostName", + "description": "Name of the host.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "query", + "name": "force", + "description": "Whether force delete was specified.", + "required": false, + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/hosts": { + "get": { + "tags": [ + "Hosts" + ], + "operationId": "Hosts_List", + "summary": "Implements GET hosts in a subscription.", + "description": "List of hosts in a subscription.", + "x-ms-examples": { + "ListHosts": { + "$ref": "./examples/ListHosts.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/HostsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/hosts": { + "get": { + "tags": [ + "Hosts" + ], + "operationId": "Hosts_ListByResourceGroup", + "summary": "Implements GET hosts in a resource group.", + "description": "List of hosts in a resource group.", + "x-ms-examples": { + "ListHostsByResourceGroup": { + "$ref": "./examples/ListHostsByResourceGroup.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/HostsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/datastores/{datastoreName}": { + "put": { + "tags": [ + "Datastores" + ], + "operationId": "Datastores_Create", + "description": "Create Or Update datastore.", + "summary": "Implements datastore PUT method.", + "x-ms-examples": { + "CreateDatastore": { + "$ref": "./examples/CreateDatastore.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "datastoreName", + "required": true, + "type": "string", + "description": "Name of the datastore." + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Request payload.", + "schema": { + "$ref": "#/definitions/Datastore" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Datastore" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Datastore" + } + }, + "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": "azure-async-operation" + } + }, + "get": { + "tags": [ + "Datastores" + ], + "operationId": "Datastores_Get", + "summary": "Gets a datastore.", + "description": "Implements datastore GET method.", + "x-ms-examples": { + "GetDatastore": { + "$ref": "./examples/GetDatastore.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "datastoreName", + "description": "Name of the datastore.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Datastore" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Datastores" + ], + "operationId": "Datastores_Update", + "summary": "Updates a datastore.", + "description": "API to update certain properties of the datastore resource.", + "x-ms-examples": { + "UpdateDatastore": { + "$ref": "./examples/UpdateDatastore.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "datastoreName", + "required": true, + "type": "string", + "description": "Name of the datastore." + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Resource properties to update.", + "schema": { + "$ref": "#/definitions/ResourcePatch" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Datastore" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Datastores" + ], + "operationId": "Datastores_Delete", + "summary": "Deletes an datastore.", + "description": "Implements datastore DELETE method.", + "x-ms-examples": { + "DeleteDatastore": { + "$ref": "./examples/DeleteDatastore.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "datastoreName", + "description": "Name of the datastore.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "query", + "name": "force", + "description": "Whether force delete was specified.", + "required": false, + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/datastores": { + "get": { + "tags": [ + "Datastores" + ], + "operationId": "Datastores_List", + "summary": "Implements GET datastores in a subscription.", + "description": "List of datastores in a subscription.", + "x-ms-examples": { + "ListDatastores": { + "$ref": "./examples/ListDatastores.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatastoresList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/datastores": { + "get": { + "tags": [ + "Datastores" + ], + "operationId": "Datastores_ListByResourceGroup", + "summary": "Implements GET datastores in a resource group.", + "description": "List of datastores in a resource group.", + "x-ms-examples": { + "ListDatastoresByResourceGroup": { + "$ref": "./examples/ListDatastoresByResourceGroup.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatastoresList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}": { + "put": { + "tags": [ + "VCenters" + ], + "operationId": "VCenters_Create", + "description": "Create Or Update vCenter.", + "summary": "Implements vCenter PUT method.", + "x-ms-examples": { + "CreateVCenter": { + "$ref": "./examples/CreateVCenter.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "vcenterName", + "required": true, + "type": "string", + "description": "Name of the vCenter." + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Request payload.", + "schema": { + "$ref": "#/definitions/VCenter" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VCenter" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VCenter" + } + }, + "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": "azure-async-operation" + } + }, + "get": { + "tags": [ + "VCenters" + ], + "operationId": "VCenters_Get", + "summary": "Gets a vCenter.", + "description": "Implements vCenter GET method.", + "x-ms-examples": { + "GetVCenter": { + "$ref": "./examples/GetVCenter.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "vcenterName", + "required": true, + "type": "string", + "description": "Name of the vCenter." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VCenter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "VCenters" + ], + "operationId": "VCenters_Update", + "summary": "Updates a vCenter.", + "description": "API to update certain properties of the vCenter resource.", + "x-ms-examples": { + "UpdateVCenter": { + "$ref": "./examples/UpdateVCenter.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "vcenterName", + "required": true, + "type": "string", + "description": "Name of the vCenter." + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Resource properties to update.", + "schema": { + "$ref": "#/definitions/ResourcePatch" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VCenter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "VCenters" + ], + "operationId": "VCenters_Delete", + "summary": "Deletes an vCenter.", + "description": "Implements vCenter DELETE method.", + "x-ms-examples": { + "DeleteVCenter": { + "$ref": "./examples/DeleteVCenter.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "vcenterName", + "required": true, + "type": "string", + "description": "Name of the vCenter." + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "query", + "name": "force", + "description": "Whether force delete was specified.", + "required": false, + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/vcenters": { + "get": { + "tags": [ + "VCenters" + ], + "operationId": "VCenters_List", + "summary": "Implements GET vCenters in a subscription.", + "description": "List of vCenters in a subscription.", + "x-ms-examples": { + "ListVCenters": { + "$ref": "./examples/ListVCenters.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VCentersList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters": { + "get": { + "tags": [ + "VCenters" + ], + "operationId": "VCenters_ListByResourceGroup", + "summary": "Implements GET vCenters in a resource group.", + "description": "List of vCenters in a resource group.", + "x-ms-examples": { + "ListVCentersByResourceGroup": { + "$ref": "./examples/ListVCentersByResourceGroup.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VCentersList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}": { + "put": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Create", + "description": "Create Or Update virtual machine.", + "summary": "Implements virtual machine PUT method.", + "x-ms-examples": { + "CreateVirtualMachine": { + "$ref": "./examples/CreateVirtualMachine.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineName", + "required": true, + "type": "string", + "description": "Name of the virtual machine resource." + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Request payload.", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + }, + "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": "azure-async-operation" + } + }, + "get": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Get", + "summary": "Gets a virtual machine.", + "description": "Implements virtual machine GET method.", + "x-ms-examples": { + "GetVirtualMachine": { + "$ref": "./examples/GetVirtualMachine.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineName", + "required": true, + "type": "string", + "description": "Name of the virtual machine resource." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Update", + "summary": "Updates a virtual machine.", + "description": "API to update certain properties of the virtual machine resource.", + "x-ms-examples": { + "UpdateVirtualMachine": { + "$ref": "./examples/UpdateVirtualMachine.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineName", + "required": true, + "type": "string", + "description": "Name of the virtual machine resource." + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Resource properties to update.", + "schema": { + "$ref": "#/definitions/VirtualMachineUpdate" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Delete", + "summary": "Deletes an virtual machine.", + "description": "Implements virtual machine DELETE method.", + "x-ms-examples": { + "DeleteVirtualMachine": { + "$ref": "./examples/DeleteVirtualMachine.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineName", + "description": "Name of the virtual machine resource.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "query", + "name": "force", + "description": "Whether force delete was specified.", + "required": false, + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/stop": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Stop", + "description": "Stop virtual machine.", + "summary": "Implements the operation to stop a virtual machine.", + "x-ms-examples": { + "StopVirtualMachine": { + "$ref": "./examples/StopVirtualMachine.json" + } + }, + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineName", + "description": "Name of the virtual machine resource.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Virtualmachine stop action payload.", + "schema": { + "$ref": "#/definitions/StopVirtualMachineOptions" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/start": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Start", + "description": "Start virtual machine.", + "summary": "Implements the operation to start a virtual machine.", + "x-ms-examples": { + "StartVirtualMachine": { + "$ref": "./examples/StartVirtualMachine.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineName", + "description": "Name of the virtual machine resource.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/restart": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Restart", + "description": "Restart virtual machine.", + "summary": "Implements the operation to restart a virtual machine.", + "x-ms-examples": { + "RestartVirtualMachine": { + "$ref": "./examples/RestartVirtualMachine.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineName", + "description": "Name of the virtual machine resource.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines": { + "get": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_List", + "summary": "Implements GET virtualMachines in a subscription.", + "description": "List of virtualMachines in a subscription.", + "x-ms-examples": { + "ListVirtualMachines": { + "$ref": "./examples/ListVirtualMachines.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VirtualMachinesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines": { + "get": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_ListByResourceGroup", + "summary": "Implements GET virtualMachines in a resource group.", + "description": "List of virtualMachines in a resource group.", + "x-ms-examples": { + "ListVirtualMachinesByResourceGroup": { + "$ref": "./examples/ListVirtualMachinesByResourceGroup.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VirtualMachinesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/{virtualMachineTemplateName}": { + "put": { + "tags": [ + "VirtualMachineTemplates" + ], + "operationId": "VirtualMachineTemplates_Create", + "description": "Create Or Update virtual machine template.", + "x-ms-examples": { + "CreateVirtualMachineTemplate": { + "$ref": "./examples/CreateVirtualMachineTemplate.json" + } + }, + "summary": "Implements virtual machine template PUT method.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineTemplateName", + "description": "Name of the virtual machine template resource.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Request payload.", + "schema": { + "$ref": "#/definitions/VirtualMachineTemplate" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VirtualMachineTemplate" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachineTemplate" + } + }, + "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": "azure-async-operation" + } + }, + "get": { + "tags": [ + "VirtualMachineTemplates" + ], + "operationId": "VirtualMachineTemplates_Get", + "summary": "Gets a virtual machine template.", + "description": "Implements virtual machine template GET method.", + "x-ms-examples": { + "GetVirtualMachineTemplate": { + "$ref": "./examples/GetVirtualMachineTemplate.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineTemplateName", + "description": "Name of the virtual machine template resource.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VirtualMachineTemplate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "VirtualMachineTemplates" + ], + "operationId": "VirtualMachineTemplates_Update", + "summary": "Updates a virtual machine template.", + "description": "API to update certain properties of the virtual machine template resource.", + "x-ms-examples": { + "UpdateVirtualMachineTemplate": { + "$ref": "./examples/UpdateVirtualMachineTemplate.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineTemplateName", + "required": true, + "type": "string", + "description": "Name of the virtual machine template resource." + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Resource properties to update.", + "schema": { + "$ref": "#/definitions/ResourcePatch" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VirtualMachineTemplate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "VirtualMachineTemplates" + ], + "operationId": "VirtualMachineTemplates_Delete", + "summary": "Deletes an virtual machine template.", + "description": "Implements virtual machine template DELETE method.", + "x-ms-examples": { + "DeleteVirtualMachineTemplate": { + "$ref": "./examples/DeleteVirtualMachineTemplate.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineTemplateName", + "required": true, + "type": "string", + "description": "Name of the virtual machine template resource." + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "query", + "name": "force", + "description": "Whether force delete was specified.", + "required": false, + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates": { + "get": { + "tags": [ + "VirtualMachineTemplates" + ], + "operationId": "VirtualMachineTemplates_List", + "summary": "Implements GET virtualMachineTemplates in a subscription.", + "description": "List of virtualMachineTemplates in a subscription.", + "x-ms-examples": { + "ListVirtualMachineTemplates": { + "$ref": "./examples/ListVirtualMachineTemplates.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VirtualMachineTemplatesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates": { + "get": { + "tags": [ + "VirtualMachineTemplates" + ], + "operationId": "VirtualMachineTemplates_ListByResourceGroup", + "summary": "Implements GET virtualMachineTemplates in a resource group.", + "description": "List of virtualMachineTemplates in a resource group.", + "x-ms-examples": { + "ListVirtualMachineTemplatesByResourceGroup": { + "$ref": "./examples/ListVirtualMachineTemplatesByResourceGroup.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VirtualMachineTemplatesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/{virtualNetworkName}": { + "put": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_Create", + "description": "Create Or Update virtual network.", + "summary": "Implements virtual network PUT method.", + "x-ms-examples": { + "CreateVirtualNetwork": { + "$ref": "./examples/CreateVirtualNetwork.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualNetworkName", + "description": "Name of the virtual network resource.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Request payload.", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "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": "azure-async-operation" + } + }, + "get": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_Get", + "summary": "Gets a virtual network.", + "description": "Implements virtual network GET method.", + "x-ms-examples": { + "GetVirtualNetwork": { + "$ref": "./examples/GetVirtualNetwork.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualNetworkName", + "required": true, + "type": "string", + "description": "Name of the virtual network resource." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_Update", + "summary": "Updates a virtual network.", + "description": "API to update certain properties of the virtual network resource.", + "x-ms-examples": { + "UpdateVirtualNetwork": { + "$ref": "./examples/UpdateVirtualNetwork.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualNetworkName", + "description": "Name of the virtual network resource.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Resource properties to update.", + "schema": { + "$ref": "#/definitions/ResourcePatch" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_Delete", + "summary": "Deletes an virtual network.", + "description": "Implements virtual network DELETE method.", + "x-ms-examples": { + "DeleteVirtualNetwork": { + "$ref": "./examples/DeleteVirtualNetwork.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualNetworkName", + "description": "Name of the virtual network resource.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "query", + "name": "force", + "description": "Whether force delete was specified.", + "required": false, + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks": { + "get": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_List", + "summary": "Implements GET virtualNetworks in a subscription.", + "description": "List of virtualNetworks in a subscription.", + "x-ms-examples": { + "ListVirtualNetworks": { + "$ref": "./examples/ListVirtualNetworks.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VirtualNetworksList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks": { + "get": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_ListByResourceGroup", + "summary": "Implements GET virtualNetworks in a resource group.", + "description": "List of virtualNetworks in a resource group.", + "x-ms-examples": { + "ListVirtualNetworksByResourceGroup": { + "$ref": "./examples/ListVirtualNetworksByResourceGroup.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VirtualNetworksList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}/inventoryItems/{inventoryItemName}": { + "put": { + "tags": [ + "InventoryItems" + ], + "operationId": "InventoryItems_Create", + "description": "Create Or Update InventoryItem.", + "summary": "Implements InventoryItem PUT method.", + "x-ms-examples": { + "CreateInventoryItem": { + "$ref": "./examples/CreateInventoryItem.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "vcenterName", + "required": true, + "type": "string", + "description": "Name of the vCenter." + }, + { + "in": "path", + "name": "inventoryItemName", + "required": true, + "type": "string", + "description": "Name of the inventoryItem." + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Request payload.", + "schema": { + "$ref": "#/definitions/InventoryItem" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/InventoryItem" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "InventoryItems" + ], + "operationId": "InventoryItems_Get", + "summary": "Gets InventoryItem.", + "description": "Implements InventoryItem GET method.", + "x-ms-examples": { + "GetInventoryItem": { + "$ref": "./examples/GetInventoryItem.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "vcenterName", + "required": true, + "type": "string", + "description": "Name of the vCenter." + }, + { + "in": "path", + "name": "inventoryItemName", + "required": true, + "type": "string", + "description": "Name of the inventoryItem." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/InventoryItem" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "InventoryItems" + ], + "operationId": "InventoryItems_Delete", + "summary": "Deletes an inventoryItem.", + "description": "Implements inventoryItem DELETE method.", + "x-ms-examples": { + "DeleteInventoryItem": { + "$ref": "./examples/DeleteInventoryItem.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "vcenterName", + "required": true, + "type": "string", + "description": "Name of the vCenter." + }, + { + "in": "path", + "name": "inventoryItemName", + "required": true, + "type": "string", + "description": "Name of the inventoryItem." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}/inventoryItems": { + "get": { + "tags": [ + "InventoryItems" + ], + "operationId": "InventoryItems_ListByVCenter", + "summary": "Implements GET inventoryItems in a vCenter.", + "description": "Returns the list of inventoryItems of the given vCenter.", + "x-ms-examples": { + "InventoryItemsListByVCenter": { + "$ref": "./examples/InventoryItems_ListByVCenter.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "vcenterName", + "required": true, + "type": "string", + "description": "Name of the vCenter." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/InventoryItemsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/hybridIdentityMetadata/{metadataName}": { + "put": { + "tags": [ + "HybridIdentityMetadata" + ], + "operationId": "HybridIdentityMetadata_Create", + "description": "Create Or Update HybridIdentityMetadata.", + "summary": "Implements HybridIdentityMetadata PUT method.", + "x-ms-examples": { + "CreateHybridIdentityMetadata": { + "$ref": "./examples/CreateHybridIdentityMetadata.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineName", + "required": true, + "type": "string", + "description": "Name of the vm." + }, + { + "in": "path", + "name": "metadataName", + "required": true, + "type": "string", + "description": "Name of the hybridIdentityMetadata." + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Request payload.", + "schema": { + "$ref": "#/definitions/HybridIdentityMetadata" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/HybridIdentityMetadata" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "HybridIdentityMetadata" + ], + "operationId": "HybridIdentityMetadata_Get", + "summary": "Gets HybridIdentityMetadata.", + "description": "Implements HybridIdentityMetadata GET method.", + "x-ms-examples": { + "GetHybridIdentityMetadata": { + "$ref": "./examples/GetHybridIdentityMetadata.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineName", + "required": true, + "type": "string", + "description": "Name of the vm." + }, + { + "in": "path", + "name": "metadataName", + "required": true, + "type": "string", + "description": "Name of the HybridIdentityMetadata." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/HybridIdentityMetadata" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "HybridIdentityMetadata" + ], + "operationId": "HybridIdentityMetadata_Delete", + "summary": "Deletes an HybridIdentityMetadata.", + "description": "Implements HybridIdentityMetadata DELETE method.", + "x-ms-examples": { + "DeleteHybridIdentityMetadata": { + "$ref": "./examples/DeleteHybridIdentityMetadata.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineName", + "required": true, + "type": "string", + "description": "Name of the vm." + }, + { + "in": "path", + "name": "metadataName", + "required": true, + "type": "string", + "description": "Name of the HybridIdentityMetadata." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/hybridIdentityMetadata": { + "get": { + "tags": [ + "HybridIdentityMetadata" + ], + "operationId": "HybridIdentityMetadata_ListByVm", + "summary": "Implements GET HybridIdentityMetadata in a vm.", + "description": "Returns the list of HybridIdentityMetadata of the given vm.", + "x-ms-examples": { + "HybridIdentityMetadataListByVm": { + "$ref": "./examples/HybridIdentityMetadata_ListByVm.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineName", + "required": true, + "type": "string", + "description": "Name of the vm." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/HybridIdentityMetadataList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions/{extensionName}": { + "put": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_CreateOrUpdate", + "description": "The operation to create or update the extension.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine where the extension should be created or updated." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MachineExtension" + }, + "description": "Parameters supplied to the Create Machine Extension operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "201": { + "description": "HTTP 201 (Created) if the operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update a Machine Extension (PUT)": { + "$ref": "./examples/PUTExtension.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Update", + "description": "The operation to update the extension.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine where the extension should be created or updated." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MachineExtensionUpdate" + }, + "description": "Parameters supplied to the Create Machine Extension operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update a Machine Extension (PATCH)": { + "$ref": "./examples/UpdateExtension.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Delete", + "description": "The operation to delete the extension.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine where the extension should be deleted." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a Machine Extension": { + "$ref": "./examples/DELETEExtension.json" + } + } + }, + "get": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Get", + "description": "The operation to get the extension.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine containing the extension." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Machine Extension": { + "$ref": "./examples/GETExtension.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions": { + "get": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_List", + "description": "The operation to get all extensions of a non-Azure machine", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine containing the extension." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtensionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all Machine Extensions": { + "$ref": "./examples/LISTExtension.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/guestAgents/{name}": { + "put": { + "tags": [ + "GuestAgents" + ], + "operationId": "GuestAgents_Create", + "description": "Create Or Update GuestAgent.", + "summary": "Implements GuestAgent PUT method.", + "x-ms-examples": { + "CreateGuestAgent": { + "$ref": "./examples/CreateGuestAgent.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineName", + "required": true, + "type": "string", + "description": "Name of the vm." + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string", + "description": "Name of the guestAgents." + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "description": "Request payload.", + "schema": { + "$ref": "#/definitions/GuestAgent" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/GuestAgent" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/GuestAgent" + } + }, + "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": "azure-async-operation" + } + }, + "get": { + "tags": [ + "GuestAgents" + ], + "operationId": "GuestAgents_Get", + "summary": "Gets GuestAgent.", + "description": "Implements GuestAgent GET method.", + "x-ms-examples": { + "GetGuestAgent": { + "$ref": "./examples/GetGuestAgent.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineName", + "required": true, + "type": "string", + "description": "Name of the vm." + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string", + "description": "Name of the GuestAgent." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/GuestAgent" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "GuestAgents" + ], + "operationId": "GuestAgents_Delete", + "summary": "Deletes an GuestAgent.", + "description": "Implements GuestAgent DELETE method.", + "x-ms-examples": { + "DeleteGuestAgent": { + "$ref": "./examples/DeleteGuestAgent.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineName", + "required": true, + "type": "string", + "description": "Name of the vm." + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string", + "description": "Name of the GuestAgent." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/guestAgents": { + "get": { + "tags": [ + "GuestAgents" + ], + "operationId": "GuestAgents_ListByVm", + "summary": "Implements GET GuestAgent in a vm.", + "description": "Returns the list of GuestAgent of the given vm.", + "x-ms-examples": { + "GuestAgentListByVm": { + "$ref": "./examples/GuestAgent_ListByVm.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "in": "path", + "name": "virtualMachineName", + "required": true, + "type": "string", + "description": "Name of the vm." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/GuestAgentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ResourcePatch": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Object containing updates for patch operations." + }, + "ResourcePoolProperties": { + "description": "Defines the resource properties.", + "type": "object", + "properties": { + "uuid": { + "description": "Gets or sets a unique identifier for this resource.", + "type": "string", + "readOnly": true + }, + "vCenterId": { + "description": "Gets or sets the ARM Id of the vCenter resource in which this resource pool resides.", + "type": "string" + }, + "moRefId": { + "description": "Gets or sets the vCenter MoRef (Managed Object Reference) ID for the resource pool.", + "type": "string" + }, + "inventoryItemId": { + "description": "Gets or sets the inventory Item ID for the resource pool.", + "type": "string" + }, + "moName": { + "description": "Gets or sets the vCenter Managed Object name for the resource pool.", + "type": "string", + "readOnly": true + }, + "cpuSharesLevel": { + "description": "Gets or sets CPUSharesLevel which specifies the CPU allocation level for this pool.\r\nThis property is used in relative allocation between resource consumers.", + "type": "string", + "readOnly": true + }, + "cpuReservationMHz": { + "format": "int64", + "description": "Gets or sets CPUReservationMHz which specifies the CPU size in MHz that is guaranteed\r\nto be available.", + "type": "integer", + "readOnly": true + }, + "cpuLimitMHz": { + "format": "int64", + "description": "Gets or sets CPULimitMHz which specifies a CPU usage limit in MHz.\r\nUtilization will not exceed this limit even if there are available resources.", + "type": "integer", + "readOnly": true + }, + "memSharesLevel": { + "description": "Gets or sets CPUSharesLevel which specifies the memory allocation level for this pool.\r\nThis property is used in relative allocation between resource consumers.", + "type": "string", + "readOnly": true + }, + "memReservationMB": { + "format": "int64", + "description": "Gets or sets MemReservationMB which specifies the guaranteed available memory in\r\nmegabytes.", + "type": "integer", + "readOnly": true + }, + "memLimitMB": { + "format": "int64", + "description": "Gets or sets MemLimitMB specifies a memory usage limit in megabytes.\r\nUtilization will not exceed the specified limit even if there are available resources.", + "type": "integer", + "readOnly": true + }, + "customResourceName": { + "description": "Gets the name of the corresponding resource in Kubernetes.", + "type": "string", + "readOnly": true + }, + "statuses": { + "description": "The resource status information.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceStatus" + } + }, + "provisioningState": { + "description": "Gets or sets the provisioning state.", + "type": "string", + "readOnly": true + } + } + }, + "ResourcePool": { + "description": "Define the resourcePool.", + "required": [ + "location", + "properties" + ], + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Resource properties.", + "$ref": "#/definitions/ResourcePoolProperties" + }, + "location": { + "description": "Gets or sets the location.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Gets or sets the extended location." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system data." + }, + "tags": { + "description": "Gets or sets the Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Gets or sets the name.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Gets or sets the Id.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Gets or sets the type of the resource.", + "type": "string", + "readOnly": true + }, + "kind": { + "type": "string", + "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value." + } + } + }, + "ResourcePoolsList": { + "description": "List of ResourcePools.", + "type": "object", + "properties": { + "nextLink": { + "description": "Url to follow for getting next page of ResourcePools.", + "type": "string" + }, + "value": { + "description": "Array of ResourcePools", + "type": "array", + "items": { + "$ref": "#/definitions/ResourcePool" + } + } + }, + "required": [ + "value" + ] + }, + "VICredential": { + "description": "Username / Password Credentials to connect to vcenter.", + "type": "object", + "properties": { + "username": { + "description": "Gets or sets username to connect with the vCenter.", + "type": "string" + }, + "password": { + "description": "Gets or sets the password to connect with the vCenter.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "ResourceStatus": { + "description": "The resource status information.", + "type": "object", + "properties": { + "type": { + "description": "The type of the condition.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the condition.", + "type": "string", + "readOnly": true + }, + "reason": { + "description": "The reason for the condition's status.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "A human readable message indicating details about the status.", + "type": "string", + "readOnly": true + }, + "severity": { + "description": "Severity with which to treat failures of this type of condition.", + "type": "string", + "readOnly": true + }, + "lastUpdatedAt": { + "description": "The last update time for this condition.", + "type": "string", + "format": "date-time", + "readOnly": true + } + } + }, + "VCenterProperties": { + "description": "Defines the resource properties.", + "required": [ + "fqdn" + ], + "type": "object", + "properties": { + "uuid": { + "description": "Gets or sets a unique identifier for this resource.", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "Gets or sets the FQDN/IPAddress of the vCenter.", + "type": "string" + }, + "port": { + "format": "int32", + "description": "Gets or sets the port of the vCenter.", + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "version": { + "description": "Gets or sets the version of the vCenter.", + "type": "string", + "readOnly": true + }, + "instanceUuid": { + "description": "Gets or sets the instance UUID of the vCenter.", + "type": "string", + "readOnly": true + }, + "connectionStatus": { + "description": "Gets or sets the connection status to the vCenter.", + "type": "string", + "readOnly": true + }, + "customResourceName": { + "description": "Gets the name of the corresponding resource in Kubernetes.", + "type": "string", + "readOnly": true + }, + "credentials": { + "description": "Username / Password Credentials to connect to vcenter.", + "$ref": "#/definitions/VICredential" + }, + "statuses": { + "description": "The resource status information.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceStatus" + } + }, + "provisioningState": { + "description": "Gets or sets the provisioning state.", + "type": "string", + "readOnly": true + } + } + }, + "VirtualDiskUpdate": { + "description": "Defines the virtual disk update.", + "type": "object", + "properties": { + "name": { + "description": "Gets or sets the name of the virtual disk.", + "type": "string" + }, + "diskSizeGB": { + "format": "int32", + "description": "Gets or sets the disk total size.", + "type": "integer" + }, + "deviceKey": { + "format": "int32", + "description": "Gets or sets the device key value.", + "type": "integer" + }, + "diskMode": { + "description": "Gets or sets the disk mode.", + "$ref": "#/definitions/DiskMode" + }, + "controllerKey": { + "description": "Gets or sets the controller id.", + "format": "int32", + "type": "integer" + }, + "unitNumber": { + "description": "Gets or sets the unit number of the disk on the controller.", + "format": "int32", + "type": "integer" + }, + "deviceName": { + "description": "Gets or sets the device name.", + "type": "string" + }, + "diskType": { + "description": "Gets or sets the disk backing type.", + "$ref": "#/definitions/DiskType" + } + } + }, + "VirtualDisk": { + "description": "Virtual disk model", + "type": "object", + "properties": { + "name": { + "description": "Gets or sets the name of the virtual disk.", + "type": "string" + }, + "label": { + "description": "Gets or sets the label of the virtual disk in vCenter.", + "type": "string", + "readOnly": true + }, + "diskObjectId": { + "description": "Gets or sets the disk object id.", + "type": "string", + "readOnly": true + }, + "diskSizeGB": { + "format": "int32", + "description": "Gets or sets the disk total size.", + "type": "integer" + }, + "deviceKey": { + "format": "int32", + "description": "Gets or sets the device key value.", + "type": "integer" + }, + "diskMode": { + "description": "Gets or sets the disk mode.", + "$ref": "#/definitions/DiskMode" + }, + "controllerKey": { + "description": "Gets or sets the controller id.", + "format": "int32", + "type": "integer" + }, + "unitNumber": { + "description": "Gets or sets the unit number of the disk on the controller.", + "format": "int32", + "type": "integer" + }, + "deviceName": { + "description": "Gets or sets the device name.", + "type": "string" + }, + "diskType": { + "description": "Gets or sets the disk backing type.", + "$ref": "#/definitions/DiskType" + } + } + }, + "Condition": { + "description": "Condition defines an extension to status.", + "type": "object", + "properties": { + "status": { + "description": "Status of the condition.", + "type": "string", + "readOnly": true + }, + "reason": { + "description": "The reason for the condition's status.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "A human readable message indicating details about the status.", + "type": "string", + "readOnly": true + }, + "severity": { + "description": "Severity with which to treat failures of this type of condition.", + "type": "string", + "readOnly": true + } + } + }, + "VCenter": { + "description": "Defines the vCenter.", + "required": [ + "location", + "properties" + ], + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Resource properties.", + "$ref": "#/definitions/VCenterProperties" + }, + "location": { + "description": "Gets or sets the location.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Gets or sets the extended location." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system data." + }, + "tags": { + "description": "Gets or sets the Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Gets or sets the name.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Gets or sets the Id.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Gets or sets the type of the resource.", + "type": "string", + "readOnly": true + }, + "kind": { + "type": "string", + "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value." + } + } + }, + "VCentersList": { + "description": "List of VCenters.", + "type": "object", + "properties": { + "nextLink": { + "description": "Url to follow for getting next page of VCenters.", + "type": "string" + }, + "value": { + "description": "Array of VCenters", + "type": "array", + "items": { + "$ref": "#/definitions/VCenter" + } + } + }, + "required": [ + "value" + ] + }, + "OsType": { + "description": "Defines the different types of VM guest operating systems.", + "enum": [ + "Windows", + "Linux", + "Other" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "OsType" + } + }, + "OsProfile": { + "description": "Defines the resource properties.", + "type": "object", + "properties": { + "computerName": { + "description": "Gets or sets computer name.", + "type": "string" + }, + "adminUsername": { + "description": "Gets or sets administrator username.", + "type": "string" + }, + "adminPassword": { + "description": "Gets or sets administrator password.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + }, + "osType": { + "description": "Gets or sets the type of the os.", + "$ref": "#/definitions/OsType" + }, + "osName": { + "description": "Gets or sets os name.", + "type": "string", + "readOnly": true + }, + "toolsRunningStatus": { + "description": "Gets or sets the current running status of VMware Tools running in the guest operating system.", + "type": "string", + "readOnly": true + }, + "toolsVersionStatus": { + "description": "Gets or sets the current version status of VMware Tools installed in the guest operating system.", + "type": "string", + "readOnly": true + }, + "toolsVersion": { + "description": "Gets or sets the current version of VMware Tools.", + "type": "string", + "readOnly": true + } + } + }, + "HardwareProfile": { + "description": "Defines the resource properties.", + "type": "object", + "properties": { + "memorySizeMB": { + "format": "int32", + "description": "Gets or sets memory size in MBs for the vm.", + "type": "integer" + }, + "numCPUs": { + "format": "int32", + "description": "Gets or sets the number of vCPUs for the vm.", + "type": "integer" + }, + "numCoresPerSocket": { + "format": "int32", + "description": "Gets or sets the number of cores per socket for the vm. Defaults to 1 if unspecified.", + "type": "integer" + }, + "cpuHotAddEnabled": { + "description": "Gets or sets a value indicating whether virtual processors can be added while this virtual machine is running.", + "type": "boolean", + "readOnly": true + }, + "cpuHotRemoveEnabled": { + "description": "Gets or sets a value indicating whether virtual processors can be removed while this virtual machine is running.", + "type": "boolean", + "readOnly": true + }, + "memoryHotAddEnabled": { + "description": "Gets or sets a value indicating whether memory can be added while this virtual machine is running.", + "type": "boolean", + "readOnly": true + } + } + }, + "NetworkProfileUpdate": { + "description": "Defines the update resource properties.", + "type": "object", + "properties": { + "networkInterfaces": { + "description": "Gets or sets the list of network interfaces associated with the virtual machine.", + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceUpdate" + } + } + } + }, + "NetworkProfile": { + "description": "Defines the resource properties.", + "type": "object", + "properties": { + "networkInterfaces": { + "description": "Gets or sets the list of network interfaces associated with the virtual machine.", + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterface" + } + } + } + }, + "SCSIControllerType": { + "description": "Defines the different types of SCSI controllers.", + "enum": [ + "lsilogic", + "buslogic", + "pvscsi", + "lsilogicsas" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "SCSIControllerType" + } + }, + "VirtualSCSISharing": { + "description": "Defines the sharing mode for sharing the SCSI bus.", + "enum": [ + "noSharing", + "physicalSharing", + "virtualSharing" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "VirtualSCSISharing" + } + }, + "VirtualSCSIController": { + "description": "This data object type contains the properties of a SCSI controller device attached to a virtual machine that is reported by the controller.", + "type": "object", + "properties": { + "type": { + "description": "Gets or sets the controller type.", + "$ref": "#/definitions/SCSIControllerType" + }, + "controllerKey": { + "format": "int32", + "description": "Gets or sets the key of the controller.", + "type": "integer" + }, + "busNumber": { + "format": "int32", + "description": "Gets or sets the bus number of the controller.", + "type": "integer" + }, + "scsiCtlrUnitNumber": { + "format": "int32", + "description": "Gets or sets the SCSI controller unit number.", + "type": "integer" + }, + "sharing": { + "description": "Gets or sets the sharing mode.", + "$ref": "#/definitions/VirtualSCSISharing" + } + } + }, + "StorageProfile": { + "description": "Defines the resource properties.", + "type": "object", + "properties": { + "disks": { + "description": "Gets or sets the list of virtual disks associated with the virtual machine.", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualDisk" + } + }, + "scsiControllers": { + "description": "Gets or sets the list of virtual SCSI controllers associated with the virtual machine.", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualSCSIController" + }, + "readOnly": true + } + } + }, + "StorageProfileUpdate": { + "description": "Defines the resource update properties.", + "type": "object", + "properties": { + "disks": { + "description": "Gets or sets the list of virtual disks associated with the virtual machine.", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualDiskUpdate" + } + } + } + }, + "GuestAgentProfile": { + "description": "Defines the resource properties.", + "type": "object", + "properties": { + "vmUuid": { + "readOnly": true, + "type": "string", + "description": "Specifies the VM's unique SMBIOS ID." + }, + "status": { + "readOnly": true, + "type": "string", + "description": "The status of the hybrid machine agent.", + "enum": [ + "Connected", + "Disconnected", + "Error" + ], + "x-ms-enum": { + "name": "StatusTypes", + "modelAsString": true + } + }, + "lastStatusChange": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time of the last status change." + }, + "agentVersion": { + "readOnly": true, + "type": "string", + "description": "The hybrid machine agent full version." + }, + "errorDetails": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "description": "Details about the error state." + } + } + }, + "PlacementProfile": { + "description": "Defines the resource properties.", + "type": "object", + "properties": { + "resourcePoolId": { + "type": "string", + "description": "Gets or sets the ARM Id of the resourcePool resource on which this virtual machine will deploy." + }, + "clusterId": { + "type": "string", + "description": "Gets or sets the ARM Id of the cluster resource on which this virtual machine will deploy." + }, + "hostId": { + "type": "string", + "description": "Gets or sets the ARM Id of the host resource on which this virtual machine will deploy." + }, + "datastoreId": { + "type": "string", + "description": "Gets or sets the ARM Id of the datastore resource on which the data for the virtual machine will be kept." + } + } + }, + "ExtendedLocation": { + "type": "object", + "description": "The extended location.", + "properties": { + "type": { + "type": "string", + "description": "The extended location type." + }, + "name": { + "type": "string", + "description": "The extended location name." + } + } + }, + "VirtualMachineProperties": { + "description": "Defines the resource properties.", + "type": "object", + "properties": { + "resourcePoolId": { + "description": "Gets or sets the ARM Id of the resourcePool resource on which this virtual machine will\r\ndeploy.", + "type": "string" + }, + "templateId": { + "description": "Gets or sets the ARM Id of the template resource to deploy the virtual machine.", + "type": "string" + }, + "vCenterId": { + "description": "Gets or sets the ARM Id of the vCenter resource in which this resource pool resides.", + "type": "string" + }, + "placementProfile": { + "description": "Placement properties.", + "$ref": "#/definitions/PlacementProfile" + }, + "osProfile": { + "description": "OS properties.", + "$ref": "#/definitions/OsProfile" + }, + "hardwareProfile": { + "description": "Hardware properties.", + "$ref": "#/definitions/HardwareProfile" + }, + "networkProfile": { + "description": "Network properties.", + "$ref": "#/definitions/NetworkProfile" + }, + "storageProfile": { + "description": "Storage properties.", + "$ref": "#/definitions/StorageProfile" + }, + "guestAgentProfile": { + "description": "Guest agent status properties.", + "$ref": "#/definitions/GuestAgentProfile" + }, + "moRefId": { + "description": "Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual machine.", + "type": "string" + }, + "inventoryItemId": { + "description": "Gets or sets the inventory Item ID for the virtual machine.", + "type": "string" + }, + "moName": { + "description": "Gets or sets the vCenter Managed Object name for the virtual machine.", + "type": "string", + "readOnly": true + }, + "folderPath": { + "description": "Gets or sets the folder path of the vm.", + "type": "string", + "readOnly": true + }, + "instanceUuid": { + "description": "Gets or sets the instance uuid of the vm.", + "type": "string", + "readOnly": true + }, + "smbiosUuid": { + "type": "string", + "description": "Gets or sets the SMBIOS UUID of the vm." + }, + "firmwareType": { + "description": "Firmware type", + "$ref": "#/definitions/FirmwareType" + }, + "powerState": { + "description": "Gets the power state of the virtual machine.", + "type": "string", + "readOnly": true + }, + "customResourceName": { + "description": "Gets the name of the corresponding resource in Kubernetes.", + "type": "string", + "readOnly": true + }, + "uuid": { + "description": "Gets or sets a unique identifier for this resource.", + "type": "string", + "readOnly": true + }, + "statuses": { + "description": "The resource status information.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceStatus" + } + }, + "provisioningState": { + "description": "Gets or sets the provisioning state.", + "type": "string", + "readOnly": true + }, + "vmId": { + "description": "Gets or sets a unique identifier for the vm resource.", + "type": "string", + "readOnly": true + } + } + }, + "VirtualMachine": { + "description": "Define the virtualMachine.", + "required": [ + "location", + "properties" + ], + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Resource properties.", + "$ref": "#/definitions/VirtualMachineProperties" + }, + "location": { + "description": "Gets or sets the location.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Gets or sets the extended location." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system data." + }, + "tags": { + "description": "Gets or sets the Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Gets or sets the name.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Gets or sets the Id.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Gets or sets the type of the resource.", + "type": "string", + "readOnly": true + }, + "kind": { + "type": "string", + "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + } + } + }, + "VirtualMachineUpdateProperties": { + "description": "Defines the resource properties.", + "type": "object", + "properties": { + "hardwareProfile": { + "$ref": "#/definitions/HardwareProfile" + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfileUpdate" + }, + "networkProfile": { + "$ref": "#/definitions/NetworkProfileUpdate" + } + } + }, + "VirtualMachineUpdate": { + "description": "Defines the virtualMachineUpdate.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Resource properties.", + "$ref": "#/definitions/VirtualMachineUpdateProperties" + }, + "tags": { + "description": "Gets or sets the Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + } + } + }, + "VirtualMachinesList": { + "description": "List of VirtualMachines.", + "type": "object", + "properties": { + "nextLink": { + "description": "Url to follow for getting next page of VirtualMachines.", + "type": "string" + }, + "value": { + "description": "Array of VirtualMachines", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachine" + } + } + }, + "required": [ + "value" + ] + }, + "StopVirtualMachineOptions": { + "description": "Defines the stop action properties.", + "type": "object", + "properties": { + "skipShutdown": { + "description": "Gets or sets a value indicating whether to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Defaults to false.", + "type": "boolean", + "default": false + } + } + }, + "VirtualMachineTemplateProperties": { + "description": "Defines the resource properties.", + "type": "object", + "properties": { + "uuid": { + "description": "Gets or sets a unique identifier for this resource.", + "type": "string", + "readOnly": true + }, + "vCenterId": { + "description": "Gets or sets the ARM Id of the vCenter resource in which this template resides.", + "type": "string" + }, + "moRefId": { + "description": "Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual machine\r\ntemplate.", + "type": "string" + }, + "inventoryItemId": { + "description": "Gets or sets the inventory Item ID for the virtual machine template.", + "type": "string" + }, + "moName": { + "description": "Gets or sets the vCenter Managed Object name for the virtual machine template.", + "type": "string", + "readOnly": true + }, + "memorySizeMB": { + "format": "int32", + "description": "Gets or sets memory size in MBs for the template.", + "type": "integer", + "readOnly": true + }, + "numCPUs": { + "format": "int32", + "description": "Gets or sets the number of vCPUs for the template.", + "type": "integer", + "readOnly": true + }, + "numCoresPerSocket": { + "format": "int32", + "description": "Gets or sets the number of cores per socket for the template.\r\nDefaults to 1 if unspecified.", + "type": "integer", + "readOnly": true + }, + "osType": { + "description": "Gets or sets the type of the os.", + "$ref": "#/definitions/OsType", + "readOnly": true + }, + "osName": { + "description": "Gets or sets os name.", + "type": "string", + "readOnly": true + }, + "folderPath": { + "description": "Gets or sets the folder path of the template.", + "type": "string", + "readOnly": true + }, + "networkInterfaces": { + "description": "Gets or sets the network interfaces of the template.", + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterface" + }, + "readOnly": true + }, + "disks": { + "description": "Gets or sets the disks the template.", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualDisk" + }, + "readOnly": true + }, + "customResourceName": { + "description": "Gets the name of the corresponding resource in Kubernetes.", + "type": "string", + "readOnly": true + }, + "toolsVersionStatus": { + "description": "Gets or sets the current version status of VMware Tools installed in the guest operating system.", + "type": "string", + "readOnly": true + }, + "toolsVersion": { + "description": "Gets or sets the current version of VMware Tools.", + "type": "string", + "readOnly": true + }, + "firmwareType": { + "description": "Firmware type", + "$ref": "#/definitions/FirmwareType", + "readOnly": true + }, + "statuses": { + "description": "The resource status information.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceStatus" + } + }, + "provisioningState": { + "description": "Gets or sets the provisioning state.", + "type": "string", + "readOnly": true + } + } + }, + "ClusterProperties": { + "description": "Defines the resource properties.", + "type": "object", + "properties": { + "uuid": { + "description": "Gets or sets a unique identifier for this resource.", + "type": "string", + "readOnly": true + }, + "vCenterId": { + "description": "Gets or sets the ARM Id of the vCenter resource in which this cluster resides.", + "type": "string" + }, + "moRefId": { + "description": "Gets or sets the vCenter MoRef (Managed Object Reference) ID for the cluster.", + "type": "string" + }, + "inventoryItemId": { + "description": "Gets or sets the inventory Item ID for the cluster.", + "type": "string" + }, + "moName": { + "description": "Gets or sets the vCenter Managed Object name for the cluster.", + "type": "string", + "readOnly": true + }, + "statuses": { + "description": "The resource status information.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceStatus" + } + }, + "customResourceName": { + "description": "Gets the name of the corresponding resource in Kubernetes.", + "type": "string", + "readOnly": true + }, + "datastoreIds": { + "description": "Gets or sets the datastore ARM ids.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "networkIds": { + "description": "Gets or sets the network ARM ids.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "provisioningState": { + "description": "Gets or sets the provisioning state.", + "type": "string", + "readOnly": true + } + } + }, + "Cluster": { + "description": "Define the cluster.", + "required": [ + "location", + "properties" + ], + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Resource properties.", + "$ref": "#/definitions/ClusterProperties" + }, + "location": { + "description": "Gets or sets the location.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Gets or sets the extended location." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system data." + }, + "tags": { + "description": "Gets or sets the Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Gets or sets the name.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Gets or sets the Id.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Gets or sets the type of the resource.", + "type": "string", + "readOnly": true + }, + "kind": { + "type": "string", + "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value." + } + } + }, + "ClustersList": { + "description": "List of Clusters.", + "type": "object", + "properties": { + "nextLink": { + "description": "Url to follow for getting next page of Clusters.", + "type": "string" + }, + "value": { + "description": "Array of Clusters", + "type": "array", + "items": { + "$ref": "#/definitions/Cluster" + } + } + }, + "required": [ + "value" + ] + }, + "HostProperties": { + "description": "Defines the resource properties.", + "type": "object", + "properties": { + "uuid": { + "description": "Gets or sets a unique identifier for this resource.", + "type": "string", + "readOnly": true + }, + "vCenterId": { + "description": "Gets or sets the ARM Id of the vCenter resource in which this host resides.", + "type": "string" + }, + "moRefId": { + "description": "Gets or sets the vCenter MoRef (Managed Object Reference) ID for the host.", + "type": "string" + }, + "inventoryItemId": { + "description": "Gets or sets the inventory Item ID for the host.", + "type": "string" + }, + "moName": { + "description": "Gets or sets the vCenter Managed Object name for the host.", + "type": "string", + "readOnly": true + }, + "statuses": { + "description": "The resource status information.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceStatus" + } + }, + "customResourceName": { + "description": "Gets the name of the corresponding resource in Kubernetes.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "Gets or sets the provisioning state.", + "type": "string", + "readOnly": true + } + } + }, + "Host": { + "description": "Define the host.", + "required": [ + "location", + "properties" + ], + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Resource properties.", + "$ref": "#/definitions/HostProperties" + }, + "location": { + "description": "Gets or sets the location.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Gets or sets the extended location." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system data." + }, + "tags": { + "description": "Gets or sets the Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Gets or sets the name.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Gets or sets the Id.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Gets or sets the type of the resource.", + "type": "string", + "readOnly": true + }, + "kind": { + "type": "string", + "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value." + } + } + }, + "HostsList": { + "description": "List of Hosts.", + "type": "object", + "properties": { + "nextLink": { + "description": "Url to follow for getting next page of Hosts.", + "type": "string" + }, + "value": { + "description": "Array of Hosts", + "type": "array", + "items": { + "$ref": "#/definitions/Host" + } + } + }, + "required": [ + "value" + ] + }, + "DatastoreProperties": { + "description": "Defines the resource properties.", + "type": "object", + "properties": { + "uuid": { + "description": "Gets or sets a unique identifier for this resource.", + "type": "string", + "readOnly": true + }, + "vCenterId": { + "description": "Gets or sets the ARM Id of the vCenter resource in which this datastore resides.", + "type": "string" + }, + "moRefId": { + "description": "Gets or sets the vCenter MoRef (Managed Object Reference) ID for the datastore.", + "type": "string" + }, + "inventoryItemId": { + "description": "Gets or sets the inventory Item ID for the datastore.", + "type": "string" + }, + "moName": { + "description": "Gets or sets the vCenter Managed Object name for the datastore.", + "type": "string", + "readOnly": true + }, + "statuses": { + "description": "The resource status information.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceStatus" + } + }, + "customResourceName": { + "description": "Gets the name of the corresponding resource in Kubernetes.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ResourceProvisioningState", + "description": "Provisioning state of the resource.", + "readOnly": true + } + } + }, + "ResourceProvisioningState": { + "type": "string", + "description": "The current deployment state of resource.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Updating", + "Deleting", + "Accepted", + "Created" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "Datastore": { + "description": "Define the datastore.", + "required": [ + "location", + "properties" + ], + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Resource properties.", + "$ref": "#/definitions/DatastoreProperties" + }, + "location": { + "description": "Gets or sets the location.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Gets or sets the extended location." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system data." + }, + "tags": { + "description": "Gets or sets the Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Gets or sets the name.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Gets or sets the Id.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Gets or sets the type of the resource.", + "type": "string", + "readOnly": true + }, + "kind": { + "type": "string", + "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value." + } + } + }, + "DatastoresList": { + "description": "List of Datastores.", + "type": "object", + "properties": { + "nextLink": { + "description": "Url to follow for getting next page of Datastores.", + "type": "string" + }, + "value": { + "description": "Array of Datastores", + "type": "array", + "items": { + "$ref": "#/definitions/Datastore" + } + } + }, + "required": [ + "value" + ] + }, + "VirtualMachineTemplate": { + "description": "Define the virtualMachineTemplate.", + "required": [ + "location", + "properties" + ], + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Resource properties.", + "$ref": "#/definitions/VirtualMachineTemplateProperties" + }, + "location": { + "description": "Gets or sets the location.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Gets or sets the extended location." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system data." + }, + "tags": { + "description": "Gets or sets the Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Gets or sets the name.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Gets or sets the Id.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Gets or sets the type of the resource.", + "type": "string", + "readOnly": true + }, + "kind": { + "type": "string", + "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value." + } + } + }, + "VirtualMachineTemplatesList": { + "description": "List of VirtualMachineTemplates.", + "type": "object", + "properties": { + "nextLink": { + "description": "Url to follow for getting next page of VirtualMachineTemplates.", + "type": "string" + }, + "value": { + "description": "Array of VirtualMachineTemplates", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineTemplate" + } + } + }, + "required": [ + "value" + ] + }, + "VirtualNetworkProperties": { + "description": "Defines the resource properties.", + "type": "object", + "properties": { + "uuid": { + "description": "Gets or sets a unique identifier for this resource.", + "type": "string", + "readOnly": true + }, + "vCenterId": { + "description": "Gets or sets the ARM Id of the vCenter resource in which this template resides.", + "type": "string" + }, + "moRefId": { + "description": "Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual network.", + "type": "string" + }, + "inventoryItemId": { + "description": "Gets or sets the inventory Item ID for the virtual network.", + "type": "string" + }, + "moName": { + "description": "Gets or sets the vCenter Managed Object name for the virtual network.", + "type": "string", + "readOnly": true + }, + "customResourceName": { + "description": "Gets the name of the corresponding resource in Kubernetes.", + "type": "string", + "readOnly": true + }, + "statuses": { + "description": "The resource status information.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceStatus" + } + }, + "provisioningState": { + "description": "Gets or sets the provisioning state.", + "type": "string", + "readOnly": true + } + } + }, + "VirtualNetwork": { + "description": "Define the virtualNetwork.", + "required": [ + "location", + "properties" + ], + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Resource properties.", + "$ref": "#/definitions/VirtualNetworkProperties" + }, + "location": { + "description": "Gets or sets the location.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Gets or sets the extended location." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system data." + }, + "tags": { + "description": "Gets or sets the Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Gets or sets the name.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Gets or sets the Id.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Gets or sets the type of the resource.", + "type": "string", + "readOnly": true + }, + "kind": { + "type": "string", + "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value." + } + } + }, + "VirtualNetworksList": { + "description": "List of VirtualNetworks.", + "type": "object", + "properties": { + "nextLink": { + "description": "Url to follow for getting next page of VirtualNetworks.", + "type": "string" + }, + "value": { + "description": "Array of VirtualNetworks", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetwork" + } + } + }, + "required": [ + "value" + ] + }, + "NetworkInterfaceUpdate": { + "description": "Defines the network interface update.", + "type": "object", + "properties": { + "name": { + "description": "Gets or sets the name of the network interface.", + "type": "string" + }, + "networkId": { + "description": "Gets or sets the ARM Id of the network resource to connect the virtual machine.", + "type": "string" + }, + "nicType": { + "description": "NIC type", + "$ref": "#/definitions/NICType" + }, + "powerOnBoot": { + "description": "Gets or sets the power on boot.", + "$ref": "#/definitions/PowerOnBootOption" + }, + "deviceKey": { + "format": "int32", + "description": "Gets or sets the device key value.", + "type": "integer" + } + } + }, + "NetworkInterface": { + "description": "Network Interface model", + "type": "object", + "properties": { + "name": { + "description": "Gets or sets the name of the network interface.", + "type": "string" + }, + "label": { + "description": "Gets or sets the label of the virtual network in vCenter that the nic is connected to.", + "type": "string", + "readOnly": true + }, + "ipAddresses": { + "description": "Gets or sets the nic ip addresses.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "macAddress": { + "description": "Gets or sets the NIC MAC address.", + "type": "string", + "readOnly": true + }, + "networkId": { + "description": "Gets or sets the ARM Id of the network resource to connect the virtual machine.", + "type": "string" + }, + "nicType": { + "description": "NIC type", + "$ref": "#/definitions/NICType" + }, + "powerOnBoot": { + "description": "Gets or sets the power on boot.", + "$ref": "#/definitions/PowerOnBootOption" + }, + "networkMoRefId": { + "description": "Gets or sets the vCenter MoRef (Managed Object Reference) ID of the virtual network\r\nthat the nic is connected to.", + "type": "string", + "readOnly": true + }, + "networkMoName": { + "description": "Gets or sets the name of the virtual network in vCenter that the nic is connected to.", + "type": "string", + "readOnly": true + }, + "deviceKey": { + "format": "int32", + "description": "Gets or sets the device key value.", + "type": "integer" + }, + "ipSettings": { + "description": "Gets or sets the ipsettings.", + "$ref": "#/definitions/NicIPSettings" + } + } + }, + "PowerOnBootOption": { + "description": "Defines the options for power on boot.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "PowerOnBootOption" + } + }, + "DiskMode": { + "description": "Defines the different types of disk modes.", + "enum": [ + "persistent", + "independent_persistent", + "independent_nonpersistent" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DiskMode" + } + }, + "DiskType": { + "description": "Defines the different types of disks.", + "enum": [ + "flat", + "pmem", + "rawphysical", + "rawvirtual", + "sparse", + "sesparse", + "unknown" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DiskType" + } + }, + "NICType": { + "description": "NIC type", + "type": "string", + "enum": [ + "vmxnet3", + "vmxnet2", + "vmxnet", + "e1000", + "e1000e", + "pcnet32" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "NICType" + } + }, + "FirmwareType": { + "description": "Firmware type", + "type": "string", + "enum": [ + "bios", + "efi" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "FirmwareType" + } + }, + "IPAddressAllocationMethod": { + "description": "IP address allocation method.", + "enum": [ + "unset", + "dynamic", + "static", + "linklayer", + "random", + "other" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IPAddressAllocationMethod" + } + }, + "NicIPAddressSettings": { + "description": "IP address information for a virtual network adapter reported by the fabric.", + "type": "object", + "properties": { + "allocationMethod": { + "description": "Gets the ip address allocation method.", + "type": "string", + "readOnly": true + }, + "ipAddress": { + "description": "Gets the ip address for the nic.", + "type": "string", + "readOnly": true + }, + "subnetMask": { + "description": "Gets the mask.", + "type": "string", + "readOnly": true + } + } + }, + "NicIPSettings": { + "description": "Defines the network interface ip settings.", + "type": "object", + "properties": { + "allocationMethod": { + "description": "Gets or sets the nic allocation method.", + "$ref": "#/definitions/IPAddressAllocationMethod" + }, + "dnsServers": { + "description": "Gets or sets the dns servers.", + "type": "array", + "items": { + "type": "string" + } + }, + "gateway": { + "description": "Gets or sets the gateway.", + "type": "array", + "items": { + "type": "string" + } + }, + "ipAddress": { + "description": "Gets or sets the ip address for the nic.", + "type": "string" + }, + "subnetMask": { + "description": "Gets or sets the mask.", + "type": "string" + }, + "primaryWinsServer": { + "description": "Gets or sets the primary server.", + "type": "string", + "readOnly": true + }, + "secondaryWinsServer": { + "description": "Gets or sets the secondary server.", + "type": "string", + "readOnly": true + }, + "ipAddressInfo": { + "description": "Gets or sets the IP address information being reported for this NIC. This contains the same IPv4 information above plus IPV6 information.", + "type": "array", + "items": { + "$ref": "#/definitions/NicIPAddressSettings" + }, + "readOnly": true + } + } + }, + "ErrorDetail": { + "title": "Error details.", + "type": "object", + "properties": { + "code": { + "description": "The error's code.", + "type": "string" + }, + "message": { + "description": "A human readable error message.", + "type": "string" + }, + "target": { + "description": "Indicates which property in the request is responsible for the error.", + "type": "string" + }, + "details": { + "description": "Additional error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + } + } + }, + "required": [ + "code", + "message" + ] + }, + "operation": { + "description": "Operation provided by provider", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the operation" + }, + "isDataAction": { + "description": "Indicates whether the operation is data action or not.", + "type": "boolean" + }, + "display": { + "type": "object", + "description": "Properties of the operation", + "properties": { + "provider": { + "type": "string", + "description": "Provider name" + }, + "resource": { + "type": "string", + "description": "Resource name" + }, + "operation": { + "type": "string", + "description": "Operation name" + }, + "description": { + "type": "string", + "description": "Description of the operation" + } + } + } + } + }, + "operationsList": { + "description": "Lists the operations available.", + "type": "object", + "properties": { + "nextLink": { + "description": "Url to follow for getting next page of operations.", + "type": "string" + }, + "value": { + "description": "Array of operations", + "type": "array", + "items": { + "description": "Operation.", + "$ref": "#/definitions/operation" + } + } + }, + "required": [ + "value" + ] + }, + "ErrorResponse": { + "description": "Error response.", + "type": "object", + "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" + }, + "readOnly": true + } + } + }, + "InventoryItemsList": { + "description": "List of InventoryItems.", + "type": "object", + "properties": { + "nextLink": { + "description": "Url to follow for getting next page of InventoryItems.", + "type": "string" + }, + "value": { + "description": "Array of InventoryItems", + "type": "array", + "items": { + "$ref": "#/definitions/InventoryItem" + } + } + }, + "required": [ + "value" + ] + }, + "InventoryItem": { + "description": "Defines the inventory item.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource", + "description": "The resource model definition for an Azure Resource Manager proxy resource. It will have everything other than required location and tags." + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Resource properties.", + "$ref": "#/definitions/InventoryItemProperties" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system data." + }, + "kind": { + "type": "string", + "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value." + } + }, + "x-ms-azure-resource": true + }, + "InventoryItemProperties": { + "description": "Defines the resource properties.", + "required": [ + "inventoryType" + ], + "discriminator": "inventoryType", + "type": "object", + "properties": { + "inventoryType": { + "description": "They inventory type.", + "$ref": "#/definitions/InventoryType" + }, + "managedResourceId": { + "description": "Gets or sets the tracked resource id corresponding to the inventory resource.", + "type": "string" + }, + "moRefId": { + "description": "Gets or sets the MoRef (Managed Object Reference) ID for the inventory item.", + "type": "string" + }, + "moName": { + "description": "Gets or sets the vCenter Managed Object name for the inventory item.", + "type": "string" + }, + "provisioningState": { + "description": "Gets or sets the provisioning state.", + "type": "string", + "readOnly": true + } + } + }, + "ResourcePoolInventoryItem": { + "description": "The resource pool inventory item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/InventoryItemProperties" + } + ], + "properties": { + "parent": { + "description": "Parent resourcePool inventory resource details.", + "$ref": "#/definitions/InventoryItemDetails" + } + }, + "x-ms-discriminator-value": "ResourcePool" + }, + "VirtualMachineInventoryItem": { + "description": "The VM inventory item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/InventoryItemProperties" + } + ], + "properties": { + "osType": { + "description": "Gets or sets the type of the os.", + "$ref": "#/definitions/OsType" + }, + "osName": { + "description": "Gets or sets os name.", + "type": "string" + }, + "ipAddresses": { + "description": "Gets or sets the nic ip addresses.", + "type": "array", + "items": { + "type": "string" + } + }, + "folderPath": { + "description": "Gets or sets the folder path of the vm.", + "type": "string" + }, + "host": { + "description": "Host inventory resource details.", + "$ref": "#/definitions/InventoryItemDetails" + }, + "resourcePool": { + "description": "ResourcePool inventory resource details.", + "$ref": "#/definitions/InventoryItemDetails" + }, + "instanceUuid": { + "description": "Gets or sets the instance uuid of the vm.", + "type": "string" + }, + "smbiosUuid": { + "type": "string", + "description": "Gets or sets the SMBIOS UUID of the vm." + }, + "powerState": { + "description": "Gets the power state of the virtual machine.", + "type": "string", + "readOnly": true + }, + "toolsRunningStatus": { + "description": "Gets or sets the current running status of VMware Tools running in the guest operating system.", + "type": "string", + "readOnly": true + }, + "toolsVersionStatus": { + "description": "Gets or sets the current version status of VMware Tools installed in the guest operating system.", + "type": "string", + "readOnly": true + }, + "toolsVersion": { + "description": "Gets or sets the current version of VMware Tools.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "VirtualMachine" + }, + "VirtualMachineTemplateInventoryItem": { + "description": "The VM Template inventory item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/InventoryItemProperties" + } + ], + "properties": { + "memorySizeMB": { + "format": "int32", + "description": "Gets or sets memory size in MBs for the template.", + "type": "integer" + }, + "numCPUs": { + "format": "int32", + "description": "Gets or sets the number of vCPUs for the template.", + "type": "integer" + }, + "numCoresPerSocket": { + "format": "int32", + "description": "Gets or sets the number of cores per socket for the template.\r\nDefaults to 1 if unspecified.", + "type": "integer" + }, + "osType": { + "description": "Gets or sets the type of the os.", + "$ref": "#/definitions/OsType" + }, + "osName": { + "description": "Gets or sets os name.", + "type": "string" + }, + "folderPath": { + "description": "Gets or sets the folder path of the template.", + "type": "string" + } + }, + "x-ms-discriminator-value": "VirtualMachineTemplate" + }, + "VirtualNetworkInventoryItem": { + "description": "The Virtual network inventory item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/InventoryItemProperties" + } + ], + "x-ms-discriminator-value": "VirtualNetwork" + }, + "ClusterInventoryItem": { + "description": "The cluster inventory item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/InventoryItemProperties" + } + ], + "x-ms-discriminator-value": "Cluster" + }, + "DatastoreInventoryItem": { + "description": "The datastore inventory item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/InventoryItemProperties" + } + ], + "properties": { + "capacityGB": { + "format": "int64", + "description": "Gets or sets Maximum capacity of this datastore, in GBs.", + "type": "integer" + }, + "freeSpaceGB": { + "format": "int64", + "description": "Gets or sets Available space of this datastore, in GBs.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "Datastore" + }, + "HostInventoryItem": { + "description": "The host inventory item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/InventoryItemProperties" + } + ], + "properties": { + "parent": { + "description": "Parent host inventory resource details.", + "$ref": "#/definitions/InventoryItemDetails" + } + }, + "x-ms-discriminator-value": "Host" + }, + "InventoryType": { + "type": "string", + "description": "The inventory type.", + "enum": [ + "ResourcePool", + "VirtualMachine", + "VirtualMachineTemplate", + "VirtualNetwork", + "Cluster", + "Datastore", + "Host" + ], + "x-ms-enum": { + "name": "InventoryType", + "modelAsString": true + } + }, + "InventoryItemDetails": { + "description": "Defines the resource properties.", + "type": "object", + "properties": { + "inventoryItemId": { + "description": "Gets or sets the inventory Item ID for the resource.", + "type": "string" + }, + "moName": { + "description": "Gets or sets the vCenter Managed Object name for the resource.", + "type": "string" + } + } + }, + "HybridIdentityMetadataList": { + "description": "List of HybridIdentityMetadata.", + "type": "object", + "properties": { + "nextLink": { + "description": "Url to follow for getting next page of HybridIdentityMetadata.", + "type": "string" + }, + "value": { + "description": "Array of HybridIdentityMetadata", + "type": "array", + "items": { + "$ref": "#/definitions/HybridIdentityMetadata" + } + } + }, + "required": [ + "value" + ] + }, + "HybridIdentityMetadata": { + "description": "Defines the HybridIdentityMetadata.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource", + "description": "The resource model definition for an Azure Resource Manager proxy resource. It will have everything other than required location and tags." + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Resource properties.", + "$ref": "#/definitions/HybridIdentityMetadataProperties" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system data." + } + }, + "x-ms-azure-resource": true + }, + "HybridIdentityMetadataProperties": { + "description": "Defines the resource properties.", + "type": "object", + "properties": { + "vmId": { + "description": "Gets or sets the Vm Id.", + "type": "string" + }, + "publicKey": { + "description": "Gets or sets the Public Key.", + "type": "string" + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource.", + "readOnly": true + }, + "provisioningState": { + "description": "Gets or sets the provisioning state.", + "type": "string", + "readOnly": true + } + } + }, + "Identity": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of managed service identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant of managed service identity." + }, + "type": { + "type": "string", + "description": "The type of managed service identity.", + "enum": [ + "None", + "SystemAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + } + }, + "description": "Managed service identity." + }, + "MachineExtension": { + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MachineExtensionProperties", + "description": "Describes Machine Extension Properties." + }, + "location": { + "description": "Gets or sets the location.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system data." + }, + "tags": { + "description": "Gets or sets the Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Gets or sets the name.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Gets or sets the Id.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Gets or sets the type of the resource.", + "type": "string", + "readOnly": true + } + }, + "description": "Describes a Machine Extension." + }, + "MachineExtensionUpdate": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MachineExtensionUpdateProperties", + "description": "Describes Machine Extension Update Properties." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourcePatch" + } + ], + "description": "Describes a Machine Extension Update." + }, + "MachineExtensionProperties": { + "type": "object", + "properties": { + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "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." + }, + "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." + }, + "protectedSettings": { + "type": "object", + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.", + "x-ms-secret": true + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "instanceView": { + "allOf": [ + { + "$ref": "#/definitions/MachineExtensionInstanceView" + } + ], + "description": "The machine extension instance view." + } + }, + "description": "Describes the properties of a Machine Extension." + }, + "MachineExtensionUpdateProperties": { + "type": "object", + "properties": { + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "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." + }, + "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." + }, + "protectedSettings": { + "type": "object", + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.", + "x-ms-secret": true + } + }, + "description": "Describes the properties of a Machine Extension." + }, + "MachineExtensionInstanceView": { + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The machine extension name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "readOnly": true, + "description": "Specifies the version of the script handler." + }, + "status": { + "type": "object", + "properties": { + "code": { + "type": "string", + "readOnly": true, + "description": "The status code." + }, + "level": { + "type": "string", + "readOnly": true, + "description": "The level code.", + "enum": [ + "Info", + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "StatusLevelTypes", + "modelAsString": true + } + }, + "displayStatus": { + "type": "string", + "readOnly": true, + "description": "The short localizable label for the status." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed status message, including for alerts and error messages." + }, + "time": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The time of the status." + } + }, + "description": "Instance view status." + } + }, + "description": "Describes the Machine Extension Instance View." + }, + "MachineExtensionsListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MachineExtension" + }, + "description": "The list of extensions" + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of machine extensions. Call ListNext() with this to fetch the next page of extensions." + } + }, + "description": "Describes the Machine Extensions List Result." + }, + "ProvisioningAction": { + "description": "Defines the different types of operations for guest agent.", + "enum": [ + "install", + "uninstall", + "repair" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ProvisioningAction" + } + }, + "GuestCredential": { + "description": "Username / Password Credentials to connect to guest.", + "type": "object", + "properties": { + "username": { + "description": "Gets or sets username to connect with the guest.", + "type": "string" + }, + "password": { + "description": "Gets or sets the password to connect with the guest.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "HttpProxyConfiguration": { + "description": "HTTP Proxy configuration for the VM.", + "type": "object", + "properties": { + "httpsProxy": { + "description": "Gets or sets httpsProxy url.", + "type": "string" + } + } + }, + "GuestAgentList": { + "description": "List of GuestAgent.", + "type": "object", + "properties": { + "nextLink": { + "description": "Url to follow for getting next page of GuestAgent.", + "type": "string" + }, + "value": { + "description": "Array of GuestAgent", + "type": "array", + "items": { + "$ref": "#/definitions/GuestAgent" + } + } + }, + "required": [ + "value" + ] + }, + "GuestAgent": { + "description": "Defines the GuestAgent.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource", + "description": "The resource model definition for an Azure Resource Manager proxy resource. It will have everything other than required location and tags." + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Resource properties.", + "$ref": "#/definitions/GuestAgentProperties" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system data." + } + }, + "x-ms-azure-resource": true + }, + "GuestAgentProperties": { + "description": "Defines the resource properties.", + "type": "object", + "properties": { + "uuid": { + "description": "Gets or sets a unique identifier for this resource.", + "type": "string", + "readOnly": true + }, + "credentials": { + "description": "Username / Password Credentials to provision guest agent.", + "$ref": "#/definitions/GuestCredential" + }, + "httpProxyConfig": { + "description": "HTTP Proxy configuration for the VM.", + "$ref": "#/definitions/HttpProxyConfiguration" + }, + "provisioningAction": { + "description": "Gets or sets the guest agent provisioning action.", + "$ref": "#/definitions/ProvisioningAction", + "type": "string" + }, + "status": { + "description": "Gets or sets the guest agent status.", + "type": "string", + "readOnly": true + }, + "customResourceName": { + "description": "Gets the name of the corresponding resource in Kubernetes.", + "type": "string", + "readOnly": true + }, + "statuses": { + "description": "The resource status information.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceStatus" + } + }, + "provisioningState": { + "description": "Gets or sets the provisioning state.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "subscriptionId": { + "in": "path", + "name": "subscriptionId", + "description": "The Subscription ID.", + "required": true, + "type": "string" + }, + "api-version": { + "in": "query", + "name": "api-version", + "description": "Client Api Version.", + "required": true, + "type": "string" + }, + "resourceGroupName": { + "in": "path", + "name": "resourceGroupName", + "description": "The Resource Group Name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateCluster.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateCluster.json new file mode 100644 index 000000000000..6a8c49468054 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateCluster.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "clusterName": "HRCluster", + "body": { + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Clusters/HRCluster", + "name": "HRCluster", + "type": "Microsoft.ConnectedVMwarevSphere/Clusters", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Clusters/ContosoAgent", + "name": "ContosoAgent", + "type": "Microsoft.ConnectedVMwarevSphere/Clusters", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Created" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateDatastore.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateDatastore.json new file mode 100644 index 000000000000..9c749df5011a --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateDatastore.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "datastoreName": "HRDatastore", + "body": { + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Datastores/HRDatastore", + "name": "HRDatastore", + "type": "Microsoft.ConnectedVMwarevSphere/Datastores", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Datastores/ContosoAgent", + "name": "ContosoAgent", + "type": "Microsoft.ConnectedVMwarevSphere/Datastores", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Created" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateGuestAgent.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateGuestAgent.json new file mode 100644 index 000000000000..6ae14d82ebb7 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateGuestAgent.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineName": "ContosoVm", + "name": "default", + "body": { + "properties": { + "provisioningAction": "install", + "credentials": { + "username": "tempuser", + "password": "" + }, + "httpProxyConfig": { + "httpsProxy": "http://192.1.2.3:8080" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VitualMachines/ContosoVm/guestAgents/default", + "name": "default", + "type": "Microsoft.ConnectedVMwarevSphere/VitualMachines/guestAgents", + "properties": { + "provisioningAction": "install", + "status": "connected", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VitualMachines/ContosoVm/guestAgents/default", + "name": "default", + "type": "Microsoft.ConnectedVMwarevSphere/VitualMachines/guestAgents", + "properties": { + "provisioningAction": "install", + "status": "connected", + "provisioningState": "Created" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateHost.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateHost.json new file mode 100644 index 000000000000..061e75864a0f --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateHost.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "hostName": "HRHost", + "body": { + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Hosts/HRHost", + "name": "HRHost", + "type": "Microsoft.ConnectedVMwarevSphere/Hosts", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Hosts/ContosoAgent", + "name": "ContosoAgent", + "type": "Microsoft.ConnectedVMwarevSphere/Hosts", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Created" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateHybridIdentityMetadata.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateHybridIdentityMetadata.json new file mode 100644 index 000000000000..b65c4c76096d --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateHybridIdentityMetadata.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineName": "ContosoVm", + "metadataName": "default", + "body": { + "properties": { + "vmId": "f8b82dff-38ef-4220-99ef-d3a3f86ddc6c", + "publicKey": "8ec7d60c-9700-40b1-8e6e-e5b2f6f477f2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VitualMachines/ContosoVm/hybridIdentityMetadatas/default", + "name": "testItem", + "type": "Microsoft.ConnectedVMwarevSphere/VitualMachines/hybridIdentityMetadatas", + "properties": { + "vmId": "f8b82dff-38ef-4220-99ef-d3a3f86ddc6c", + "publicKey": "8ec7d60c-9700-40b1-8e6e-e5b2f6f477f2", + "identity": { + "principalId": "7b5129bc-8642-4a6a-95f8-63400ca6ec4d", + "tenantId": "ec46ca82-5d4a-4e3e-b4b7-e27f9318645d", + "type": "SystemAssigned" + } + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateInventoryItem.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateInventoryItem.json new file mode 100644 index 000000000000..6f7de662fb14 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateInventoryItem.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "vcenterName": "ContosoVCenter", + "inventoryItemName": "testItem", + "body": { + "properties": { + "inventoryType": "ResourcePool" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter/InventoryItems/testItem", + "name": "testItem", + "type": "Microsoft.ConnectedVMwarevSphere/VCenters/InventoryItems", + "properties": { + "inventoryType": "ResourcePool" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateResourcePool.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateResourcePool.json new file mode 100644 index 000000000000..3aeb7d090d50 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateResourcePool.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "resourcePoolName": "HRPool", + "body": { + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool", + "name": "HRPool", + "type": "Microsoft.ConnectedVMwarevSphere/ResourcePools", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/ContosoAgent", + "name": "ContosoAgent", + "type": "Microsoft.ConnectedVMwarevSphere/ResourcePools", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Created" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVCenter.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVCenter.json new file mode 100644 index 000000000000..60d481681955 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVCenter.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "vcenterName": "ContosoVCenter", + "body": { + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "fqdn": "ContosoVMware.contoso.com", + "port": 1234, + "credentials": { + "username": "tempuser", + "password": "" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "name": "ContosoVCenter", + "type": "Microsoft.ConnectedVMwarevSphere/VCenters", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "fqdn": "ContosoVMware.contoso.com", + "port": 1234, + "credentials": { + "username": "tempuser" + }, + "version": "1.0", + "instanceUuid": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "name": "ContosoVCenter", + "type": "Microsoft.ConnectedVMwarevSphere/VCenters", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "fqdn": "ContosoVMware.contoso.com", + "port": 1234, + "credentials": { + "username": "tempuser" + }, + "version": "1.0", + "instanceUuid": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVirtualMachine.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVirtualMachine.json new file mode 100644 index 000000000000..f7c43b5c842c --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVirtualMachine.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineName": "DemoVM", + "body": { + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "resourcePoolId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool", + "templateId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate", + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "hardwareProfile": { + "memorySizeMB": 4196, + "numCPUs": 4 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachines/DemoVM", + "name": "DemoVM", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "resourcePoolId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool", + "templateId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate", + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "osProfile": { + "computerName": "DemoVM", + "osType": "Windows" + }, + "hardwareProfile": { + "memorySizeMB": 4196, + "numCPUs": 4 + }, + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachines/ContosoAgent", + "name": "ContosoAgent", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "resourcePoolId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool", + "templateId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate", + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "osProfile": { + "computerName": "DemoVM", + "osType": "Windows" + }, + "hardwareProfile": { + "memorySizeMB": 4196, + "numCPUs": 4 + }, + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Created" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVirtualMachineTemplate.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVirtualMachineTemplate.json new file mode 100644 index 000000000000..6002d00d8703 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVirtualMachineTemplate.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineTemplateName": "WebFrontEndTemplate", + "body": { + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate", + "name": "WebFrontEndTemplate", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/ContosoAgent", + "name": "ContosoAgent", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Created" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVirtualNetwork.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVirtualNetwork.json new file mode 100644 index 000000000000..b40ef6f0d283 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVirtualNetwork.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualNetworkName": "ProdNetwork", + "body": { + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/ProdNetwork", + "name": "ProdNetwork", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualNetworks", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/ContosoAgent", + "name": "ContosoAgent", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualNetworks", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Created" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DELETEExtension.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DELETEExtension.json new file mode 100644 index 000000000000..ee9c207fd698 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DELETEExtension.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "MMA", + "api-version": "2020-10-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteCluster.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteCluster.json new file mode 100644 index 000000000000..8eae49d45700 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteCluster.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "clusterName": "HRCluster" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteDatastore.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteDatastore.json new file mode 100644 index 000000000000..d0bf2d43edc9 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteDatastore.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "datastoreName": "HRDatastore" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteGuestAgent.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteGuestAgent.json new file mode 100644 index 000000000000..70815b865695 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteGuestAgent.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineName": "ContosoVm", + "name": "default" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteHost.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteHost.json new file mode 100644 index 000000000000..cee3e485e8a7 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteHost.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "hostName": "HRHost" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteHybridIdentityMetadata.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteHybridIdentityMetadata.json new file mode 100644 index 000000000000..ec09cae88b0e --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteHybridIdentityMetadata.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineName": "ContosoVm", + "metadataName": "default" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteInventoryItem.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteInventoryItem.json new file mode 100644 index 000000000000..124c3b7254b6 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteInventoryItem.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "vcenterName": "ContosoVCenter", + "inventoryItemName": "testItem" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteResourcePool.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteResourcePool.json new file mode 100644 index 000000000000..e82b1f1e8330 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteResourcePool.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "resourcePoolName": "HRPool" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVCenter.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVCenter.json new file mode 100644 index 000000000000..87d0493c7e20 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVCenter.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "vcenterName": "ContosoVCenter" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVirtualMachine.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVirtualMachine.json new file mode 100644 index 000000000000..b7333b9ca978 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVirtualMachine.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineName": "DemoVM" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVirtualMachineTemplate.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVirtualMachineTemplate.json new file mode 100644 index 000000000000..2d4edf62ccf2 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVirtualMachineTemplate.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineTemplateName": "WebFrontEndTemplate" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVirtualNetwork.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVirtualNetwork.json new file mode 100644 index 000000000000..aaf0974cbef3 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVirtualNetwork.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualNetworkName": "ProdNetwork" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GETExtension.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GETExtension.json new file mode 100644 index 000000000000..e67d330149e9 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GETExtension.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-10-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines/extensions", + "location": "eastus2euap", + "properties": { + "publisher": "Microsoft.Compute", + "type": "string", + "typeHandlerVersion": "1.10.3", + "autoUpgradeMinorVersion": false, + "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}", + "provisioningState": "Succeeded", + "instanceView": { + "name": "CustomScriptExtension", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "status": { + "code": "success", + "level": "Information", + "displayStatus": "Provisioning succeeded", + "message": "Finished executing command, StdOut: , StdErr:", + "time": "2019-08-08T20:42:10.999Z" + } + } + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetCluster.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetCluster.json new file mode 100644 index 000000000000..7dd3194da4ca --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetCluster.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "clusterName": "HRCluster" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Clusters/HRCluster", + "name": "HRCluster", + "type": "Microsoft.ConnectedVMwarevSphere/Clusters", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetDatastore.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetDatastore.json new file mode 100644 index 000000000000..4f01f03958b0 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetDatastore.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "datastoreName": "HRDatastore" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Datastores/HRDatastore", + "name": "HRDatastore", + "type": "Microsoft.ConnectedVMwarevSphere/Datastores", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetGuestAgent.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetGuestAgent.json new file mode 100644 index 000000000000..0718866d57b5 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetGuestAgent.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineName": "ContosoVm", + "name": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VitualMachines/ContosoVm/guestAgents/default", + "name": "default", + "type": "Microsoft.ConnectedVMwarevSphere/VitualMachines/guestAgents", + "properties": { + "provisioningAction": "install", + "status": "connected", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetHost.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetHost.json new file mode 100644 index 000000000000..df4db075f076 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetHost.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "hostName": "HRHost" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Hosts/HRHost", + "name": "HRHost", + "type": "Microsoft.ConnectedVMwarevSphere/Hosts", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetHybridIdentityMetadata.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetHybridIdentityMetadata.json new file mode 100644 index 000000000000..1cfa7dd08bef --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetHybridIdentityMetadata.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineName": "ContosoVm", + "metadataName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VitualMachines/ContosoVm/hybridIdentityMetadatas/default", + "name": "testItem", + "type": "Microsoft.ConnectedVMwarevSphere/VitualMachines/hybridIdentityMetadatas", + "properties": { + "vmId": "f8b82dff-38ef-4220-99ef-d3a3f86ddc6c", + "publicKey": "8ec7d60c-9700-40b1-8e6e-e5b2f6f477f2", + "identity": { + "principalId": "7b5129bc-8642-4a6a-95f8-63400ca6ec4d", + "tenantId": "ec46ca82-5d4a-4e3e-b4b7-e27f9318645d", + "type": "SystemAssigned" + } + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetInventoryItem.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetInventoryItem.json new file mode 100644 index 000000000000..704fce09922d --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetInventoryItem.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "vcenterName": "ContosoVCenter", + "inventoryItemName": "testItem" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter/InventoryItems/testItem", + "name": "testItem", + "type": "Microsoft.ConnectedVMwarevSphere/VCenters/InventoryItems", + "properties": { + "inventoryType": "ResourcePool" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetResourcePool.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetResourcePool.json new file mode 100644 index 000000000000..37454fcb4200 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetResourcePool.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "resourcePoolName": "HRPool" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool", + "name": "HRPool", + "type": "Microsoft.ConnectedVMwarevSphere/ResourcePools", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVCenter.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVCenter.json new file mode 100644 index 000000000000..98a8cebae24c --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVCenter.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "vcenterName": "ContosoVCenter" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "name": "ContosoVCenter", + "type": "Microsoft.ConnectedVMwarevSphere/VCenters", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "fqdn": "ContosoVMware.contoso.com", + "port": 1234, + "credentials": { + "username": "tempuser" + }, + "version": "1.0", + "instanceUuid": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVirtualMachine.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVirtualMachine.json new file mode 100644 index 000000000000..9f196782a5d7 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVirtualMachine.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineName": "DemoVM" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachines/DemoVM", + "name": "DemoVM", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "resourcePoolId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool", + "templateId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate", + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "osProfile": { + "computerName": "DemoVM", + "osType": "Windows" + }, + "hardwareProfile": { + "memorySizeMB": 4196, + "numCPUs": 4 + }, + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVirtualMachineTemplate.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVirtualMachineTemplate.json new file mode 100644 index 000000000000..e2fac2f2f75c --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVirtualMachineTemplate.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineTemplateName": "WebFrontEndTemplate" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate", + "name": "WebFrontEndTemplate", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVirtualNetwork.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVirtualNetwork.json new file mode 100644 index 000000000000..ae5ebb669f1e --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVirtualNetwork.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualNetworkName": "ProdNetwork" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/ProdNetwork", + "name": "ProdNetwork", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualNetworks", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GuestAgent_ListByVm.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GuestAgent_ListByVm.json new file mode 100644 index 000000000000..f7aebe231e3e --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GuestAgent_ListByVm.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineName": "ContosoVm" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VitualMachines/ContosoVm/guestAgents/default", + "name": "default", + "type": "Microsoft.ConnectedVMwarevSphere/VitualMachines/guestAgents", + "properties": { + "provisioningAction": "install", + "status": "connected", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/HybridIdentityMetadata_ListByVm.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/HybridIdentityMetadata_ListByVm.json new file mode 100644 index 000000000000..9248df888c7b --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/HybridIdentityMetadata_ListByVm.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineName": "ContosoVm" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VitualMachines/ContosoVm/hybridIdentityMetadatas/default", + "name": "testItem", + "type": "Microsoft.ConnectedVMwarevSphere/VitualMachines/hybridIdentityMetadatas", + "properties": { + "vmId": "f8b82dff-38ef-4220-99ef-d3a3f86ddc6c", + "publicKey": "8ec7d60c-9700-40b1-8e6e-e5b2f6f477f2", + "identity": { + "principalId": "7b5129bc-8642-4a6a-95f8-63400ca6ec4d", + "tenantId": "ec46ca82-5d4a-4e3e-b4b7-e27f9318645d", + "type": "SystemAssigned" + } + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/InventoryItems_ListByVCenter.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/InventoryItems_ListByVCenter.json new file mode 100644 index 000000000000..e5d381b9d5a6 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/InventoryItems_ListByVCenter.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "vcenterName": "ContosoVCenter" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter/InventoryItems/testItem", + "name": "testItem", + "type": "Microsoft.ConnectedVMwarevSphere/VCenters/InventoryItems", + "properties": { + "inventoryType": "ResourcePool" + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/LISTExtension.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/LISTExtension.json new file mode 100644 index 000000000000..453651e74d9f --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/LISTExtension.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "location": "eastus2euap", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines/extensions", + "properties": { + "publisher": "Microsoft.Compute", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "autoUpgradeMinorVersion": false, + "settings": { + "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"" + }, + "provisioningState": "Succeeded", + "instanceView": { + "name": "CustomScriptExtension", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "status": { + "code": "success", + "level": "Information", + "displayStatus": "Provisioning succeeded", + "message": "formattedMessage: Finished executing command, StdOut: , StdErr: ", + "time": "2020-08-13T17:18:57.405Z" + } + } + } + }, + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/winosupdateextension", + "name": "winosupdateextension", + "location": "eastus2euap", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines/extensions", + "properties": { + "publisher": "microsoft.softwareupdatemanagement.test", + "type": "windowsosupdateextension", + "typeHandlerVersion": "1.0.0.0", + "autoUpgradeMinorVersion": false, + "settings": {}, + "provisioningState": "Creating", + "instanceView": { + "name": "winosupdateextension", + "type": "windowsosupdateextension", + "typeHandlerVersion": "1.0.0.0", + "status": {} + } + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListClusters.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListClusters.json new file mode 100644 index 000000000000..f5cd18f2c565 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListClusters.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Clusters/HRCluster", + "name": "HRCluster", + "type": "Microsoft.ConnectedVMwarevSphere/Clusters", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListClustersByResourceGroup.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListClustersByResourceGroup.json new file mode 100644 index 000000000000..040c9e16e044 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListClustersByResourceGroup.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Clusters/HRCluster", + "name": "HRCluster", + "type": "Microsoft.ConnectedVMwarevSphere/Clusters", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListDatastores.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListDatastores.json new file mode 100644 index 000000000000..a88aec750694 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListDatastores.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Datastores/HRDatastore", + "name": "HRDatastore", + "type": "Microsoft.ConnectedVMwarevSphere/Datastores", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListDatastoresByResourceGroup.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListDatastoresByResourceGroup.json new file mode 100644 index 000000000000..0177bfdf3f2a --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListDatastoresByResourceGroup.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Datastores/HRDatastore", + "name": "HRDatastore", + "type": "Microsoft.ConnectedVMwarevSphere/Datastores", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListHosts.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListHosts.json new file mode 100644 index 000000000000..8d5533841207 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListHosts.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Hosts/HRHost", + "name": "HRHost", + "type": "Microsoft.ConnectedVMwarevSphere/Hosts", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListHostsByResourceGroup.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListHostsByResourceGroup.json new file mode 100644 index 000000000000..04a20207b0be --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListHostsByResourceGroup.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Hosts/HRHost", + "name": "HRHost", + "type": "Microsoft.ConnectedVMwarevSphere/Hosts", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListOperations.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListOperations.json new file mode 100644 index 000000000000..144697c88e63 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListOperations.json @@ -0,0 +1,203 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "microsoft.vmware/vcenters/Read", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "vcenters", + "operation": "Gets/List vcenters resources", + "description": "Read vcenters" + } + }, + { + "name": "microsoft.vmware/vcenters/Write", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "vcenters", + "operation": "Create/update vcenters resources", + "description": "Writes vcenters" + } + }, + { + "name": "microsoft.vmware/vcenters/Delete", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "vcenters", + "operation": "Deletes vcenters resource", + "description": "Deletes vcenters" + } + }, + { + "name": "microsoft.vmware/resourcepools/Read", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "resourcepools", + "operation": "Gets/List resourcepools resources", + "description": "Read resourcepools" + } + }, + { + "name": "microsoft.vmware/resourcepools/Write", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "resourcepools", + "operation": "Create/update resourcepools resources", + "description": "Writes resourcepools" + } + }, + { + "name": "microsoft.vmware/resourcepools/Delete", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "resourcepools", + "operation": "Deletes resourcepools resource", + "description": "Deletes resourcepools" + } + }, + { + "name": "microsoft.vmware/virtualmachines/Read", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "virtualmachines", + "operation": "Gets/List virtualmachines resources", + "description": "Read virtualmachines" + } + }, + { + "name": "microsoft.vmware/virtualmachines/Write", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "virtualmachines", + "operation": "Create/update virtualmachines resources", + "description": "Writes virtualmachines" + } + }, + { + "name": "microsoft.vmware/virtualmachines/Delete", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "virtualmachines", + "operation": "Deletes virtualmachines resource", + "description": "Deletes virtualmachines" + } + }, + { + "name": "microsoft.vmware/virtualmachinetemplates/Read", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "virtualmachinetemplates", + "operation": "Gets/List virtualmachinetemplates resources", + "description": "Read virtualmachinetemplates" + } + }, + { + "name": "microsoft.vmware/virtualmachinetemplates/Write", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "virtualmachinetemplates", + "operation": "Create/update virtualmachinetemplates resources", + "description": "Writes virtualmachinetemplates" + } + }, + { + "name": "microsoft.vmware/virtualmachinetemplates/Delete", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "virtualmachinetemplates", + "operation": "Deletes virtualmachinetemplates resource", + "description": "Deletes virtualmachinetemplates" + } + }, + { + "name": "microsoft.vmware/virtualnetworks/Read", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "virtualnetworks", + "operation": "Gets/List virtualnetworks resources", + "description": "Read virtualnetworks" + } + }, + { + "name": "microsoft.vmware/virtualnetworks/Write", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "virtualnetworks", + "operation": "Create/update virtualnetworks resources", + "description": "Writes virtualnetworks" + } + }, + { + "name": "microsoft.vmware/virtualnetworks/Delete", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "virtualnetworks", + "operation": "Deletes virtualnetworks resource", + "description": "Deletes virtualnetworks" + } + }, + { + "name": "microsoft.vmware/arczones/deploy/action", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "arczones", + "operation": "Deploy on arczone.", + "description": "Deploy on arczone." + } + }, + { + "name": "microsoft.vmware/virtualmachinetemplates/clone/action", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "virtualmachinetemplates", + "operation": "Clone on virtual machine templates.", + "description": "Clone on virtual machine templates." + } + }, + { + "name": "microsoft.vmware/resourcepools/deploy/action", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "resourcepools", + "operation": "Deploy on resource pool.", + "description": "Deploy on resource pool." + } + }, + { + "name": "microsoft.vmware/virtualnetworks/join/action", + "isDataAction": false, + "display": { + "provider": "microsoft.vmware", + "resource": "virtualnetworks", + "operation": "Join virtual network.", + "description": "Join virtual network." + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListResourcePools.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListResourcePools.json new file mode 100644 index 000000000000..481ea519c04a --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListResourcePools.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool", + "name": "HRPool", + "type": "Microsoft.ConnectedVMwarevSphere/ResourcePools", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListResourcePoolsByResourceGroup.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListResourcePoolsByResourceGroup.json new file mode 100644 index 000000000000..141d41001445 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListResourcePoolsByResourceGroup.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool", + "name": "HRPool", + "type": "Microsoft.ConnectedVMwarevSphere/ResourcePools", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVCenters.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVCenters.json new file mode 100644 index 000000000000..34410e512267 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVCenters.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "name": "ContosoVCenter", + "type": "Microsoft.ConnectedVMwarevSphere/VCenters", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "fqdn": "ContosoVMware.contoso.com", + "port": 1234, + "credentials": { + "username": "tempuser" + }, + "version": "1.0", + "instanceUuid": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVCentersByResourceGroup.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVCentersByResourceGroup.json new file mode 100644 index 000000000000..274316735703 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVCentersByResourceGroup.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "name": "ContosoVCenter", + "type": "Microsoft.ConnectedVMwarevSphere/VCenters", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "fqdn": "ContosoVMware.contoso.com", + "port": 1234, + "credentials": { + "username": "tempuser" + }, + "version": "1.0", + "instanceUuid": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachineTemplates.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachineTemplates.json new file mode 100644 index 000000000000..7764ca07f190 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachineTemplates.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate", + "name": "WebFrontEndTemplate", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachineTemplatesByResourceGroup.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachineTemplatesByResourceGroup.json new file mode 100644 index 000000000000..d0a65801dbe5 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachineTemplatesByResourceGroup.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate", + "name": "WebFrontEndTemplate", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachines.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachines.json new file mode 100644 index 000000000000..feb1e3e0802d --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachines.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachines/DemoVM", + "name": "DemoVM", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "resourcePoolId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool", + "templateId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate", + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "osProfile": { + "computerName": "DemoVM", + "osType": "Windows" + }, + "hardwareProfile": { + "memorySizeMB": 4196, + "numCPUs": 4 + }, + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachinesByResourceGroup.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachinesByResourceGroup.json new file mode 100644 index 000000000000..2e27e6e1c49a --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachinesByResourceGroup.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachines/DemoVM", + "name": "DemoVM", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "resourcePoolId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool", + "templateId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate", + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "osProfile": { + "computerName": "DemoVM", + "osType": "Windows" + }, + "hardwareProfile": { + "memorySizeMB": 4196, + "numCPUs": 4 + }, + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualNetworks.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualNetworks.json new file mode 100644 index 000000000000..ecfd41af9aa2 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualNetworks.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/ProdNetwork", + "name": "ProdNetwork", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualNetworks", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualNetworksByResourceGroup.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualNetworksByResourceGroup.json new file mode 100644 index 000000000000..b53dd21b97d7 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualNetworksByResourceGroup.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/ProdNetwork", + "name": "ProdNetwork", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualNetworks", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/PUTExtension.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/PUTExtension.json new file mode 100644 index 000000000000..49f0ef1db77a --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/PUTExtension.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-10-01-preview", + "extensionParameters": { + "location": "eastus2euap", + "properties": { + "publisher": "Microsoft.Compute", + "typeHandlerVersion": "1.10", + "type": "CustomScriptExtension", + "settings": { + "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines/extensions", + "location": "eastus2euap", + "properties": { + "publisher": "Microsoft.Compute", + "type": "string", + "typeHandlerVersion": "1.10.3", + "autoUpgradeMinorVersion": false, + "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}", + "provisioningState": "Succeeded", + "instanceView": { + "name": "CustomScriptExtension", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "status": { + "code": "success", + "level": "Information", + "message": "Finished executing command, StdOut: , StdErr:", + "time": "2020-08-08T20:42:10.999Z" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines/extensions", + "location": "eastus2euap", + "properties": { + "publisher": "Microsoft.Compute", + "type": "string", + "typeHandlerVersion": "1.10.3", + "autoUpgradeMinorVersion": false, + "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}", + "provisioningState": "Created", + "instanceView": { + "name": "CustomScriptExtension", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "status": {} + } + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/RestartVirtualMachine.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/RestartVirtualMachine.json new file mode 100644 index 000000000000..d126622ef3b3 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/RestartVirtualMachine.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineName": "DemoVM" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/StartVirtualMachine.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/StartVirtualMachine.json new file mode 100644 index 000000000000..d126622ef3b3 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/StartVirtualMachine.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineName": "DemoVM" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/StopVirtualMachine.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/StopVirtualMachine.json new file mode 100644 index 000000000000..033f4d84291b --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/StopVirtualMachine.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineName": "DemoVM", + "body": { + "skipShutdown": true + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateCluster.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateCluster.json new file mode 100644 index 000000000000..b4e85c37763f --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateCluster.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "clusterName": "HRCluster", + "body": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Clusters/HRCluster", + "name": "HRCluster", + "type": "Microsoft.ConnectedVMwarevSphere/Clusters", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateDatastore.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateDatastore.json new file mode 100644 index 000000000000..6dffca04ed35 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateDatastore.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "datastoreName": "HRDatastore", + "body": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Datastores/HRDatastore", + "name": "HRDatastore", + "type": "Microsoft.ConnectedVMwarevSphere/Datastores", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateExtension.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateExtension.json new file mode 100644 index 000000000000..cc578117deec --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateExtension.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-10-01-preview", + "extensionParameters": { + "properties": { + "publisher": "Microsoft.Compute", + "typeHandlerVersion": "1.10", + "type": "CustomScriptExtension", + "settings": { + "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\"" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines/extensions", + "location": "eastus2euap", + "properties": { + "publisher": "Microsoft.Compute", + "type": "string", + "typeHandlerVersion": "1.10.3", + "autoUpgradeMinorVersion": false, + "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\"}", + "provisioningState": "Succeeded", + "instanceView": { + "name": "CustomScriptExtension", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "status": { + "code": "success", + "level": "Information", + "message": "Finished executing command, StdOut: , StdErr:", + "time": "2020-01-08T20:42:10.999Z" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines/extensions", + "location": "eastus2euap", + "properties": { + "publisher": "Microsoft.Compute", + "type": "string", + "typeHandlerVersion": "1.10.3", + "autoUpgradeMinorVersion": false, + "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\"}", + "provisioningState": "Created", + "instanceView": { + "name": "CustomScriptExtension", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "status": {} + } + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateHost.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateHost.json new file mode 100644 index 000000000000..0c0ed5396f4c --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateHost.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "hostName": "HRHost", + "body": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Hosts/HRHost", + "name": "HRHost", + "type": "Microsoft.ConnectedVMwarevSphere/Hosts", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateResourcePool.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateResourcePool.json new file mode 100644 index 000000000000..3d445b6b7cda --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateResourcePool.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "resourcePoolName": "HRPool", + "body": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool", + "name": "HRPool", + "type": "Microsoft.ConnectedVMwarevSphere/ResourcePools", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVCenter.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVCenter.json new file mode 100644 index 000000000000..49e00626a47a --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVCenter.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "vcenterName": "ContosoVCenter", + "body": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "name": "ContosoVCenter", + "type": "Microsoft.ConnectedVMwarevSphere/VCenters", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "fqdn": "ContosoVMware.contoso.com", + "credentials": { + "username": "tempuser" + }, + "port": 1234, + "version": "1.0", + "instanceUuid": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVirtualMachine.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVirtualMachine.json new file mode 100644 index 000000000000..40dba64cc193 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVirtualMachine.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineName": "DemoVM", + "body": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachines/DemoVM", + "name": "DemoVM", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "resourcePoolId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool", + "templateId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate", + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "osProfile": { + "computerName": "DemoVM", + "osType": "Windows" + }, + "hardwareProfile": { + "memorySizeMB": 4196, + "numCPUs": 4 + }, + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachines/DemoVM", + "name": "DemoVM", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "resourcePoolId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool", + "templateId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate", + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "osProfile": { + "computerName": "DemoVM", + "osType": "Windows" + }, + "hardwareProfile": { + "memorySizeMB": 4196, + "numCPUs": 4 + }, + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Created" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVirtualMachineTemplate.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVirtualMachineTemplate.json new file mode 100644 index 000000000000..bcd0a882a4e4 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVirtualMachineTemplate.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualMachineTemplateName": "WebFrontEndTemplate", + "body": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate", + "name": "WebFrontEndTemplate", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVirtualNetwork.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVirtualNetwork.json new file mode 100644 index 000000000000..59ba31adb322 --- /dev/null +++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVirtualNetwork.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "testrg", + "virtualNetworkName": "ProdNetwork", + "body": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/ProdNetwork", + "name": "ProdNetwork", + "type": "Microsoft.ConnectedVMwarevSphere/VirtualNetworks", + "location": "East US", + "extendedLocation": { + "type": "customLocation", + "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter", + "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/connectedvmware/resource-manager/readme.azureresourceschema.md b/specification/connectedvmware/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..a7b591c23285 --- /dev/null +++ b/specification/connectedvmware/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-connectedvmware-2020-10-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-connectedvmware-2020-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-connectedvmware-2020-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/connectedvmware.json + +``` diff --git a/specification/connectedvmware/resource-manager/readme.csharp.md b/specification/connectedvmware/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..898482a24821 --- /dev/null +++ b/specification/connectedvmware/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.ConnectedVMwarevSphere + output-folder: $(csharp-sdks-folder)/ConnectedVMware/Microsoft.Azure.Management.ConnectedVMwarevSphere/src/Generated +``` diff --git a/specification/connectedvmware/resource-manager/readme.go.md b/specification/connectedvmware/resource-manager/readme.go.md new file mode 100644 index 000000000000..18bcd546e53e --- /dev/null +++ b/specification/connectedvmware/resource-manager/readme.go.md @@ -0,0 +1,26 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + clear-output-folder: true +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2020-10-01-preview +``` + +### Tag: package-2020-10-01-preview and go + +These settings apply only when `--tag=package-2020-10-01-preview --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2020-10-01-preview' && $(go) +namespace: connectedvmware +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-10-01-preview/$(namespace) +``` diff --git a/specification/connectedvmware/resource-manager/readme.java.md b/specification/connectedvmware/resource-manager/readme.java.md new file mode 100644 index 000000000000..62d89b884057 --- /dev/null +++ b/specification/connectedvmware/resource-manager/readme.java.md @@ -0,0 +1,34 @@ + +These settings apply only when `--java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(java) +azure-arm: true +fluent: true +namespace: com.microsoft.azure.management.connectedvmware +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-connectedvmware +title: ConnectedVMwareClient +description: "Connected VMware Client" +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2020-10-01-preview +``` + +### Tag: package-2020-10-01-preview and java + +These settings apply only when `--tag=package-2020-01-01-preview` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-10-01-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.connectedvmware.v2020-10-01-preview + output-folder: $(azure-libraries-for-java-folder)/connectedvmware/resource-manager/v2020-10-01-preview +regenerate-manager: true +generate-interface: true +``` diff --git a/specification/connectedvmware/resource-manager/readme.md b/specification/connectedvmware/resource-manager/readme.md new file mode 100644 index 000000000000..641c6b2ccd34 --- /dev/null +++ b/specification/connectedvmware/resource-manager/readme.md @@ -0,0 +1,83 @@ +# connectedvmware + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for connectedvmware. + +## Getting Started + +To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the vmware. + +```yaml +openapi-type: arm +openapi-subtype: rpaas +tag: package-2020-10-01-preview +``` + +### Tag: package-2020-10-01-preview + +These settings apply only when `--tag=package-2020-10-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2020-10-01-preview' +input-file: + - Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/connectedvmware.json +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +```yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python-track2 + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_connectedvmware'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js connectedvmware/resource-manager +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Ruby + +See configuration in [readme.ruby.md](./readme.ruby.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) diff --git a/specification/connectedvmware/resource-manager/readme.python.md b/specification/connectedvmware/resource-manager/readme.python.md new file mode 100644 index 000000000000..9fa557558dac --- /dev/null +++ b/specification/connectedvmware/resource-manager/readme.python.md @@ -0,0 +1,44 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. +Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. + +```yaml $(python) && !$(track2) +python: + python-mode: create + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.mgmt.connectedvmware + package-name: azure-mgmt-connectedvmware + package-version: 0.1.1 + clear-output-folder: true +``` +```yaml $(python) && $(track2) +python-mode: create +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +namespace: azure.mgmt.connectedvmware +package-name: azure-mgmt-connectedvmware +package-version: 0.1.1 +clear-output-folder: true +``` +``` yaml $(python) && $(python-mode) == 'update' && !$(track2) +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/connectedvmware/azure-mgmt-connectedvmware/azure/mgmt/connectedvmware +``` +``` yaml $(python) && $(python-mode) == 'create' && !$(track2) +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/connectedvmware/azure-mgmt-connectedvmware +``` +``` yaml $(python) && $(python-mode) == 'update' && $(track2) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/connectedvmware/azure-mgmt-connectedvmware/azure/mgmt/connectedvmware +``` +``` yaml $(python) && $(python-mode) == 'create' && $(track2) +basic-setup-py: true +output-folder: $(python-sdks-folder)/connectedvmware/azure-mgmt-connectedvmware +``` diff --git a/specification/connectedvmware/resource-manager/readme.ruby.md b/specification/connectedvmware/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..8ecdafabcfac --- /dev/null +++ b/specification/connectedvmware/resource-manager/readme.ruby.md @@ -0,0 +1,27 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +```yaml +package-name: azure_mgmt_vmware +package-version: 2020-10-01-preview +azure-arm: true +``` + +### Ruby multi-api + +``` yaml $(ruby) && $(multiapi) +batch: + - tag: package-2020-10-01-preview +``` + +### Tag: package-2020-10-01-preview and ruby + +These settings apply only when `--tag=package-2020-10-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2020-10-01-preview' && $(ruby) +namespace: "Azure::ConnectedVMware::Mgmt::V2020-10-01-preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_connectedvmware/lib +``` + diff --git a/specification/connectedvmware/resource-manager/readme.typescript.md b/specification/connectedvmware/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..eb63a1e93a20 --- /dev/null +++ b/specification/connectedvmware/resource-manager/readme.typescript.md @@ -0,0 +1,13 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +```yaml $(typescript) +typescript: + azure-arm: true + package-name: "connectedvmware" + output-folder: "$(typescript-sdks-folder)/packages/connectedvmware" + payload-flattening-threshold: 1 + generate-metadata: true +``` diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-11-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-11-01/consumption.json index 3485df1dd9e3..43d7b5055869 100644 --- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-11-01/consumption.json +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-11-01/consumption.json @@ -4162,7 +4162,8 @@ "description": "The type of threshold", "type": "string", "enum": [ - "Actual" + "Actual", + "Forecasted" ], "x-ms-enum": { "name": "ThresholdType", diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json index de9b055b17b2..f9e6e2ed154c 100644 --- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json @@ -4911,7 +4911,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyResource" } ], "properties": { @@ -5047,11 +5047,6 @@ "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." } } }, @@ -5078,7 +5073,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyResource" } ], "properties": { @@ -5180,11 +5175,6 @@ "description": "The reseller of the lot.", "readOnly": true, "$ref": "#/definitions/Reseller" - }, - "eTag": { - "readOnly": true, - "type": "string", - "description": "The eTag for the resource." } } }, @@ -5193,7 +5183,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyResource" } ], "properties": { @@ -5242,11 +5232,6 @@ "description": "Credit's reseller.", "readOnly": true, "$ref": "#/definitions/Reseller" - }, - "eTag": { - "readOnly": true, - "type": "string", - "description": "The eTag for the resource." } } }, diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/consumption.json new file mode 100644 index 000000000000..5e0cf981b646 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/consumption.json @@ -0,0 +1,5777 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01", + "title": "ConsumptionManagementClient", + "description": "Consumption management client provides access to consumption resources for Azure Enterprise Subscriptions." + }, + "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": { + "/{scope}/providers/Microsoft.Consumption/usageDetails": { + "get": { + "tags": [ + "UsageDetails" + ], + "operationId": "UsageDetails_List", + "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://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "UsageDetailsList-Legacy": { + "$ref": "./examples/UsageDetailsList.json" + }, + "UsageDetailsListFilterByTag-Legacy": { + "$ref": "./examples/UsageDetailsListFilterByTag.json" + }, + "UsageDetailsListForBillingPeriod-Legacy": { + "$ref": "./examples/UsageDetailsListForBillingPeriod.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": [ + { + "$ref": "#/parameters/scopeUsageDetailsParameter" + }, + { + "name": "$expand", + "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 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" + }, + { + "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 most recent N usageDetails.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 1000 + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/metricParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/UsageDetailsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.Consumption/marketplaces": { + "get": { + "tags": [ + "Marketplaces" + ], + "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" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/MarketplacesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{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/" + }, + "x-ms-examples": { + "BudgetsList": { + "$ref": "./examples/BudgetsList.json" + } + }, + "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" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{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" + } + } + } + }, + "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" + } + } + } + }, + "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" + } + }, + "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" + } + } + } + } + }, + "/{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/" + }, + "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.", + "type": "object", + "discriminator": "scope", + "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" + }, + "skuProperties": { + "description": "List of sku properties", + "type": "array", + "items": { + "$ref": "#/definitions/SkuProperty" + }, + "readOnly": true + } + }, + "required": [ + "scope" + ] + }, + "LegacySingleScopeReservationRecommendationProperties": { + "description": "The properties of the legacy reservation recommendation for single scope.", + "type": "object", + "x-ms-discriminator-value": "Single", + "properties": { + "subscriptionId": { + "description": "Subscription id associated with single scoped recommendation.", + "type": "string", + "format": "uuid", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/LegacyReservationRecommendationProperties" + } + ] + }, + "LegacySharedScopeReservationRecommendationProperties": { + "description": "The properties of the legacy reservation recommendation for shared scope.", + "type": "object", + "x-ms-discriminator-value": "Shared", + "allOf": [ + { + "$ref": "#/definitions/LegacyReservationRecommendationProperties" + } + ] + }, + "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 + }, + "billingMonth": { + "description": "The billing month(yyyyMMdd), on which the event initiated.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "monetaryCommitment": { + "description": "The monetary commitment amount at the enrollment scope.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "overage": { + "description": "The overage amount at the enrollment scope.", + "type": "number", + "format": "decimal", + "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", + "Forecasted" + ], + "x-ms-enum": { + "name": "ThresholdType", + "modelAsString": true + }, + "default": "Actual" + }, + "locale": { + "description": "Language in which the recipient will receive the notification", + "type": "string", + "enum": [ + "en-us", + "ja-jp", + "zh-cn", + "de-de", + "es-es", + "fr-fr", + "it-it", + "ko-kr", + "pt-br", + "ru-ru", + "zh-tw", + "cs-cz", + "pl-pl", + "tr-tr", + "da-dk", + "en-gb", + "hu-hu", + "nb-no", + "nl-nl", + "pt-pt", + "sv-se" + ], + "x-ms-enum": { + "name": "CultureCode", + "modelAsString": true + } + } + }, + "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/ProxyResource" + } + ], + "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" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "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" + } + }, + "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/ProxyResource" + } + ], + "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 + }, + "description": { + "description": "The description of the event.", + "type": "string", + "readOnly": true + }, + "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", + "enum": [ + "SettledCharges", + "PendingCharges", + "PendingAdjustments", + "PendingNewCredit", + "PendingExpiredCredit", + "UnKnown", + "NewCredit" + ], + "x-ms-enum": { + "name": "EventType", + "modelAsString": true + } + }, + "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 + }, + "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 + }, + "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 + }, + "lotId": { + "description": "The ID that uniquely identifies the lot for which the event happened.", + "type": "string", + "readOnly": true + }, + "lotSource": { + "description": "Identifies the source of the lot for which the event happened. ", + "type": "string", + "readOnly": true + }, + "canceledCredit": { + "description": "Amount of canceled credit.", + "readOnly": true, + "$ref": "#/definitions/amount" + }, + "creditCurrency": { + "description": "The credit currency of the event.", + "type": "string", + "readOnly": true + }, + "billingCurrency": { + "description": "The billing currency of the event.", + "type": "string", + "readOnly": true + }, + "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 + } + } + }, + "LotSummary": { + "description": "A lot summary resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "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 + }, + "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 + }, + "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." + } + } + }, + "CreditSummary": { + "description": "A credit summary resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "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 + }, + "ReservationTransactionResource": { + "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." + }, + "tags": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "x-ms-azure-resource": true + }, + "ResourceAttributes": { + "description": "The Resource model definition.", + "properties": { + "location": { + "readOnly": true, + "type": "string", + "description": "Resource location" + }, + "sku": { + "readOnly": true, + "type": "string", + "description": "Resource sku" + } + } + }, + "ProxyResource": { + "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." + }, + "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 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", + "in": "path", + "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 + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/AggregatedCostByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/AggregatedCostByManagementGroup.json new file mode 100644 index 000000000000..51398acf7db7 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/AggregatedCostByManagementGroup.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "managementGroupId": "managementGroupForTest" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/managementGroupForTest/providers/Microsoft.Consumption/aggregatedcostId1", + "name": "aggregatedcostId1", + "type": "Microsoft.Consumption/aggregatedcost", + "properties": { + "includedSubscriptions": [ + "1caaa5a3-2b66-438e-8ab4-bce37d518c5d" + ], + "excludedSubscriptions": [], + "usageStart": "2021-10-01T00:00:00.0000000Z", + "usageEnd": "2018-10-31T00:00:00.0000000Z", + "azureCharges": 250.9876, + "marketplaceCharges": 150.786, + "chargesBilledSeparately": 120.345, + "currency": "USD", + "children": [ + { + "id": "/providers/Microsoft.Management/managementGroups/managementGroupChildForTest/providers/Microsoft.Consumption/aggregatedcostId2", + "name": "aggregatedcostId2", + "type": "Microsoft.Consumption/aggregatedcost", + "properties": { + "includedSubscriptions": [ + "c349567d-c83a-48c9-ab0e-578c69dc97a4" + ], + "excludedSubscriptions": [], + "usageStart": "2021-10-01T00:00:00.0000000Z", + "usageEnd": "2018-10-31T00:00:00.0000000Z", + "azureCharges": 150.0, + "marketplaceCharges": 50.786, + "chargesBilledSeparately": 30.345, + "currency": "USD", + "children": [] + } + } + ] + } + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/AggregatedCostByManagementGroupFilterByDate.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/AggregatedCostByManagementGroupFilterByDate.json new file mode 100644 index 000000000000..8a69dbeddf57 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/AggregatedCostByManagementGroupFilterByDate.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "managementGroupId": "managementGroupForTest", + "$filter": "usageStart ge '2018-08-15' and properties/usageStart le '2018-08-31'" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/managementGroupForTest/providers/Microsoft.Consumption/aggregatedcostId1", + "name": "aggregatedcostId1", + "type": "Microsoft.Consumption/aggregatedcost", + "properties": { + "includedSubscriptions": [ + "1caaa5a3-2b66-438e-8ab4-bce37d518c5d" + ], + "excludedSubscriptions": [], + "usageStart": "2018-08-15T00:00:00.0000000Z", + "usageEnd": "2018-08-31T00:00:00.0000000Z", + "azureCharges": 150.9876, + "marketplaceCharges": 80.786, + "chargesBilledSeparately": 90.345, + "currency": "USD", + "children": [ + { + "id": "/providers/Microsoft.Management/managementGroups/managementGroupChildForTest/providers/Microsoft.Consumption/aggregatedcostId2", + "name": "aggregatedcostId2", + "type": "Microsoft.Consumption/aggregatedcost", + "properties": { + "includedSubscriptions": [ + "c349567d-c83a-48c9-ab0e-578c69dc97a4" + ], + "excludedSubscriptions": [], + "usageStart": "2018-08-15T00:00:00.0000000Z", + "usageEnd": "2018-08-31T00:00:00.0000000Z", + "azureCharges": 50.0, + "marketplaceCharges": 10.786, + "chargesBilledSeparately": 30.345, + "currency": "USD", + "children": [] + } + } + ] + } + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/AggregatedCostForBillingPeriodByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/AggregatedCostForBillingPeriodByManagementGroup.json new file mode 100644 index 000000000000..c484c11226ca --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/AggregatedCostForBillingPeriodByManagementGroup.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "managementGroupId": "managementGroupForTest", + "billingPeriodName": "201807" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/managementGroupForTest/providers/Microsoft.Consumption/aggregatedcostId1", + "name": "aggregatedcostId1", + "type": "Microsoft.Consumption/aggregatedcost", + "properties": { + "usageStart": "2018-07-01T00:00:00.0000000Z", + "usageEnd": "2018-07-31T00:00:00.0000000Z", + "azureCharges": 250.9876, + "marketplaceCharges": 150.786, + "chargesBilledSeparately": 120.345, + "currency": "USD", + "children": [ + { + "id": "/providers/Microsoft.Management/managementGroups/managementGroupChildForTest/providers/Microsoft.Consumption/aggregatedcostId2", + "name": "aggregatedcostId2", + "type": "Microsoft.Consumption/aggregatedcost", + "properties": { + "usageStart": "2018-07-01T00:00:00.0000000Z", + "usageEnd": "2018-07-31T00:00:00.0000000Z", + "azureCharges": 150.0, + "marketplaceCharges": 50.786, + "chargesBilledSeparately": 30.345, + "currency": "USD", + "children": [] + } + } + ] + } + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/BalancesByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/BalancesByBillingAccount.json new file mode 100644 index 000000000000..37613d13d1e5 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/BalancesByBillingAccount.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "123456" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/balances/balanceId1", + "name": "balanceId1", + "type": "Microsoft.Consumption/balances", + "properties": { + "currency": "USD ", + "beginningBalance": 3396469.19, + "endingBalance": 2922371.02, + "newPurchases": 0, + "adjustments": 0, + "utilized": 474098.17, + "serviceOverage": 0, + "chargesBilledSeparately": 0, + "totalOverage": 0, + "totalUsage": 474098.17, + "azureMarketplaceServiceCharges": 609.82, + "billingFrequency": "Month", + "priceHidden": false, + "newPurchasesDetails": [ + { + "name": "Promo Purchase", + "value": 1 + } + ], + "adjustmentDetails": [ + { + "name": "Promo Credit", + "value": 1.1 + }, + { + "name": "SIE Credit", + "value": 1.0 + } + ] + } + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/BalancesByBillingAccountForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/BalancesByBillingAccountForBillingPeriod.json new file mode 100644 index 000000000000..0336e17ff2d4 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/BalancesByBillingAccountForBillingPeriod.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "123456", + "billingPeriodName": "201702" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/balances/balanceId1", + "name": "balanceId1", + "type": "Microsoft.Consumption/balances", + "properties": { + "currency": "USD ", + "beginningBalance": 3396469.19, + "endingBalance": 2922371.02, + "newPurchases": 0, + "adjustments": 0, + "utilized": 474098.17, + "serviceOverage": 0, + "chargesBilledSeparately": 0, + "totalOverage": 0, + "totalUsage": 474098.17, + "azureMarketplaceServiceCharges": 609.82, + "billingFrequency": "Month", + "priceHidden": false, + "newPurchasesDetails": [ + { + "name": "Promo Purchase", + "value": 1 + } + ], + "adjustmentDetails": [ + { + "name": "Promo Credit", + "value": 1.1 + }, + { + "name": "SIE Credit", + "value": 1.0 + } + ] + } + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/Budget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/Budget.json new file mode 100644 index 000000000000..192b53acfd98 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/Budget.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG", + "budgetName": "TestBudget", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/TestBudget", + "name": "TestBudget", + "type": "Microsoft.Consumption/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 100.65, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2017-10-01T00:00:00Z", + "endDate": "2018-10-31T00:00:00Z" + }, + "filter": { + "and": [ + { + "dimensions": { + "name": "ResourceId", + "operator": "In", + "values": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ] + } + }, + { + "tags": { + "name": "category", + "operator": "In", + "values": [ + "Dev", + "Prod" + ] + } + }, + { + "tags": { + "name": "department", + "operator": "In", + "values": [ + "engineering", + "sales" + ] + } + } + ] + }, + "currentSpend": { + "amount": 80.89, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThan_80_Percent": { + "enabled": true, + "operator": "GreaterThan", + "threshold": 80, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "contactRoles": [ + "Contributor", + "Reader" + ], + "contactGroups": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ], + "thresholdType": "Actual" + } + } + } + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/BudgetsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/BudgetsList.json new file mode 100644 index 000000000000..f37ee9cc9b0c --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/BudgetsList.json @@ -0,0 +1,186 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/TestBudget", + "name": "TestBudget", + "type": "Microsoft.Consumption/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 100.65, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2017-10-01T00:00:00Z", + "endDate": "2018-10-31T00:00:00Z" + }, + "filter": { + "and": [ + { + "dimensions": { + "name": "ResourceId", + "operator": "In", + "values": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ] + } + }, + { + "tags": { + "name": "category", + "operator": "In", + "values": [ + "Dev", + "Prod" + ] + } + }, + { + "tags": { + "name": "department", + "operator": "In", + "values": [ + "engineering", + "sales" + ] + } + } + ] + }, + "currentSpend": { + "amount": 80.89, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThan_80_Percent": { + "enabled": true, + "operator": "GreaterThan", + "threshold": 80, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "contactRoles": [ + "Contributor", + "Reader" + ] + }, + "Actual_GreaterThanOrEqualTo_90_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 90, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "contactRoles": [ + "Contributor", + "Reader" + ], + "contactGroups": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ] + }, + "thresholdType": "Actual" + } + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/budgets/TestBudget", + "name": "TestBudget", + "type": "Microsoft.Consumption/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 600.65, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2017-10-01T00:00:00Z", + "endDate": "2018-10-31T00:00:00Z" + }, + "filter": { + "and": [ + { + "dimensions": { + "name": "ResourceId", + "operator": "In", + "values": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ] + } + }, + { + "tags": { + "name": "category", + "operator": "In", + "values": [ + "Dev", + "Prod" + ] + } + }, + { + "tags": { + "name": "department", + "operator": "In", + "values": [ + "engineering", + "sales" + ] + } + } + ] + }, + "currentSpend": { + "amount": 120.89, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThan_40_Percent": { + "enabled": true, + "operator": "GreaterThan", + "threshold": 40, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "contactRoles": [ + "Contributor", + "Reader" + ] + }, + "Actual_GreaterThanOrEqualTo_60_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 60, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "contactRoles": [ + "Contributor", + "Reader" + ], + "contactGroups": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ], + "thresholdType": "Actual" + } + } + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesForBillingPeriodByDepartment.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesForBillingPeriodByDepartment.json new file mode 100644 index 000000000000..66c35c8ee906 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesForBillingPeriodByDepartment.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingPeriodName": "201804", + "scope": "providers/Microsoft.Billing/BillingAccounts/1234/departments/42425" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/1234/departments/42425/providers/Microsoft.Consumption/charges/chargeSummaryId1", + "name": "chargeSummaryId1", + "type": "Microsoft.Consumption/charges", + "kind": "legacy", + "properties": { + "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201804", + "usageStart": "2018-04-01", + "usageEnd": "2018-04-30", + "azureCharges": 5000.00, + "chargesBilledSeparately": 60.90, + "marketplaceCharges": 100.00, + "currency": "USD" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesForBillingPeriodByEnrollmentAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesForBillingPeriodByEnrollmentAccount.json new file mode 100644 index 000000000000..68bbcce1658a --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesForBillingPeriodByEnrollmentAccount.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingPeriodName": "201804", + "scope": "providers/Microsoft.Billing/BillingAccounts/1234/enrollmentAccounts/42425" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/1234/enrollmentAccounts/42425/providers/Microsoft.Consumption/charges/chargeSummaryId1", + "name": "chargeSummaryId1", + "type": "Microsoft.Consumption/charges", + "kind": "legacy", + "properties": { + "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201804", + "usageStart": "2018-04-01", + "usageEnd": "2018-04-30", + "azureCharges": 5000.00, + "chargesBilledSeparately": 60.90, + "marketplaceCharges": 100.00, + "currency": "USD" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccount.json new file mode 100644 index 000000000000..1c9660435ed5 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccount.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "startDate": "2019-09-01", + "endDate": "2019-10-31", + "scope": "providers/Microsoft.Billing/billingAccounts/1234:56789" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Consumption/charges/chargeSummaryId1", + "name": "chargeSummaryId1", + "type": "Microsoft.Consumption/charges", + "kind": "modern", + "properties": { + "isInvoiced": false, + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201910", + "usageStart": "2021-10-01", + "usageEnd": "2019-10-31", + "azureCharges": { + "currency": "USD", + "value": 0.0 + }, + "chargesBilledSeparately": { + "currency": "USD", + "value": 265.09 + }, + "marketplaceCharges": { + "currency": "USD", + "value": 0.0 + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789", + "billingProfileId": null, + "invoiceSectionId": null + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccountGroupByBillingProfileId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccountGroupByBillingProfileId.json new file mode 100644 index 000000000000..48e2b11231f1 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccountGroupByBillingProfileId.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/1234:56789", + "startDate": "2019-09-01", + "endDate": "2019-09-30", + "$apply": "groupby((properties/billingProfileId))" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Consumption/charges/chargeSummaryId1", + "name": "chargeSummaryId1", + "type": "Microsoft.Consumption/charges", + "kind": "modern", + "properties": { + "isInvoiced": false, + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/123456/providers/Microsoft.Billing/billingPeriods/201909", + "usageStart": "2019-09-01", + "usageEnd": "2019-09-30", + "azureCharges": { + "currency": "USD", + "value": 5000.00 + }, + "chargesBilledSeparately": { + "currency": "USD", + "value": 60.90 + }, + "marketplaceCharges": { + "currency": "USD", + "value": 100.00 + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/123456" + } + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/1234:56789/billingProfiles/42425/providers/Microsoft.Consumption/charges/chargeSummaryId2", + "name": "chargeSummaryId2", + "type": "Microsoft.Consumption/charges", + "kind": "modern", + "properties": { + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201909", + "usageStart": "2019-09-01", + "usageEnd": "2019-09-30", + "azureCharges": { + "currency": "USD", + "value": 5000.00 + }, + "chargesBilledSeparately": { + "currency": "USD", + "value": 60.90 + }, + "marketplaceCharges": { + "currency": "USD", + "value": 100.00 + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccountGroupByCustomerId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccountGroupByCustomerId.json new file mode 100644 index 000000000000..9faac1177864 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccountGroupByCustomerId.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/1234:56789", + "startDate": "2019-09-01", + "endDate": "2019-09-30", + "$apply": "groupby((properties/customerId))" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/customers/67890/providers/Microsoft.Consumption/charges/chargeSummaryId1", + "name": "chargeSummaryId1", + "type": "Microsoft.Consumption/charges", + "kind": "modern", + "properties": { + "customerId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/customers/67890", + "isInvoiced": false, + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201909", + "usageStart": "2019-09-01", + "usageEnd": "2019-09-30", + "azureCharges": { + "currency": "USD", + "value": 5000.00 + }, + "chargesBilledSeparately": { + "currency": "USD", + "value": 60.90 + }, + "marketplaceCharges": { + "currency": "USD", + "value": 100.00 + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/invoiceSections/67890" + } + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/1234:56789/customers/123456/providers/Microsoft.Consumption/charges/chargeSummaryId2", + "name": "chargeSummaryId2", + "type": "Microsoft.Consumption/charges", + "kind": "modern", + "properties": { + "customerId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/customers/123456", + "isInvoiced": false, + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201909", + "usageStart": "2019-09-01", + "usageEnd": "2019-09-30", + "azureCharges": { + "currency": "USD", + "value": 5000.00 + }, + "chargesBilledSeparately": { + "currency": "USD", + "value": 60.90 + }, + "marketplaceCharges": { + "currency": "USD", + "value": 100.00 + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/invoiceSections/67890" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccountGroupByInvoiceSectionId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccountGroupByInvoiceSectionId.json new file mode 100644 index 000000000000..867b218bcb74 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccountGroupByInvoiceSectionId.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425", + "startDate": "2019-09-01", + "endDate": "2019-09-30", + "$apply": "groupby((properties/invoiceSectionId))" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425/invoiceSections/4567/providers/Microsoft.Consumption/charges/chargeSummaryId1", + "name": "chargeSummaryId1", + "type": "Microsoft.Consumption/charges", + "kind": "modern", + "properties": { + "isInvoiced": false, + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201909", + "usageStart": "2019-09-01", + "usageEnd": "2019-09-30", + "azureCharges": { + "currency": "USD", + "value": 5000.00 + }, + "chargesBilledSeparately": { + "currency": "USD", + "value": 60.90 + }, + "marketplaceCharges": { + "currency": "USD", + "value": 100.00 + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/invoiceSections/4567" + } + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/1234:56789//billingProfiles/42425/invoiceSections/67890/providers/Microsoft.Consumption/charges/chargeSummaryId2", + "name": "chargeSummaryId2", + "type": "Microsoft.Consumption/charges", + "kind": "modern", + "properties": { + "isInvoiced": false, + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201909", + "usageStart": "2019-09-01", + "usageEnd": "2019-09-30", + "azureCharges": { + "currency": "USD", + "value": 5000.00 + }, + "chargesBilledSeparately": { + "currency": "USD", + "value": 60.90 + }, + "marketplaceCharges": { + "currency": "USD", + "value": 100.00 + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/invoiceSections/67890" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingProfile.json new file mode 100644 index 000000000000..af75e3d832f8 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingProfile.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/BillingAccounts/1234:56789/billingProfiles/2460" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/2460/providers/Microsoft.Consumption/charges/chargeSummaryId1", + "name": "chargeSummaryId1", + "type": "Microsoft.Consumption/charges", + "kind": "modern", + "properties": { + "isInvoiced": false, + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201910", + "usageStart": "2021-10-01", + "usageEnd": "2019-10-31", + "azureCharges": { + "currency": "USD", + "value": 0.0 + }, + "chargesBilledSeparately": { + "currency": "USD", + "value": 265.09 + }, + "marketplaceCharges": { + "currency": "USD", + "value": 0.0 + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/2460", + "invoiceSectionId": null + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingProfileGroupByInvoiceSectionId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingProfileGroupByInvoiceSectionId.json new file mode 100644 index 000000000000..867b218bcb74 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingProfileGroupByInvoiceSectionId.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425", + "startDate": "2019-09-01", + "endDate": "2019-09-30", + "$apply": "groupby((properties/invoiceSectionId))" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425/invoiceSections/4567/providers/Microsoft.Consumption/charges/chargeSummaryId1", + "name": "chargeSummaryId1", + "type": "Microsoft.Consumption/charges", + "kind": "modern", + "properties": { + "isInvoiced": false, + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201909", + "usageStart": "2019-09-01", + "usageEnd": "2019-09-30", + "azureCharges": { + "currency": "USD", + "value": 5000.00 + }, + "chargesBilledSeparately": { + "currency": "USD", + "value": 60.90 + }, + "marketplaceCharges": { + "currency": "USD", + "value": 100.00 + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/invoiceSections/4567" + } + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/1234:56789//billingProfiles/42425/invoiceSections/67890/providers/Microsoft.Consumption/charges/chargeSummaryId2", + "name": "chargeSummaryId2", + "type": "Microsoft.Consumption/charges", + "kind": "modern", + "properties": { + "isInvoiced": false, + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201909", + "usageStart": "2019-09-01", + "usageEnd": "2019-09-30", + "azureCharges": { + "currency": "USD", + "value": 5000.00 + }, + "chargesBilledSeparately": { + "currency": "USD", + "value": 60.90 + }, + "marketplaceCharges": { + "currency": "USD", + "value": 100.00 + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/invoiceSections/67890" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingProfileInvoiceSection.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingProfileInvoiceSection.json new file mode 100644 index 000000000000..29fb469e7828 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingProfileInvoiceSection.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "startDate": "2019-09-01", + "endDate": "2019-10-31", + "scope": "providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425/invoiceSections/67890" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425/invoiceSections/67890/providers/Microsoft.Consumption/charges/chargeSummaryId1", + "name": "chargeSummaryId1", + "type": "Microsoft.Consumption/charges", + "kind": "modern", + "properties": { + "isInvoiced": false, + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201909", + "usageStart": "2019-09-01", + "usageEnd": "2019-09-30", + "azureCharges": { + "currency": "USD", + "value": 5000.00 + }, + "chargesBilledSeparately": { + "currency": "USD", + "value": 60.90 + }, + "marketplaceCharges": { + "currency": "USD", + "value": 100.00 + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425/invoiceSections/4567" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425/invoiceSections/67890/providers/Microsoft.Consumption/charges/chargeSummaryId2", + "name": "chargeSummaryId2", + "type": "Microsoft.Consumption/charges", + "kind": "modern", + "properties": { + "isInvoiced": false, + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201910", + "usageStart": "2021-10-01", + "usageEnd": "2019-10-31", + "azureCharges": { + "currency": "USD", + "value": 5000.00 + }, + "chargesBilledSeparately": { + "currency": "USD", + "value": 60.90 + }, + "marketplaceCharges": { + "currency": "USD", + "value": 100.00 + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425/invoiceSections/4567" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernCustomer.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernCustomer.json new file mode 100644 index 000000000000..a9dedc7ec3c8 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernCustomer.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/BillingAccounts/1234:56789/customers/67890" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/customers/67890/providers/Microsoft.Consumption/charges/chargeSummaryId1", + "name": "chargeSummaryId1", + "type": "Microsoft.Consumption/charges", + "kind": "modern", + "properties": { + "isInvoiced": false, + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201910", + "usageStart": "2021-10-01", + "usageEnd": "2019-10-31", + "azureCharges": { + "currency": "USD", + "value": 0.0 + }, + "chargesBilledSeparately": { + "currency": "USD", + "value": 265.09 + }, + "marketplaceCharges": { + "currency": "USD", + "value": 0.0 + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789", + "billingProfileId": null, + "invoiceSectionId": null + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernInvoiceSectionId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernInvoiceSectionId.json new file mode 100644 index 000000000000..126f16dc84cd --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernInvoiceSectionId.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/BillingAccounts/1234:56789/invoiceSections/97531" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/2460/invoiceSections/97531/providers/Microsoft.Consumption/charges/chargeSummaryId1", + "name": "chargeSummaryId1", + "type": "Microsoft.Consumption/charges", + "kind": "modern", + "properties": { + "isInvoiced": false, + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201910", + "usageStart": "2021-10-01", + "usageEnd": "2019-10-31", + "azureCharges": { + "currency": "USD", + "value": 12.0 + }, + "chargesBilledSeparately": { + "currency": "USD", + "value": 0.0 + }, + "marketplaceCharges": { + "currency": "USD", + "value": 0.0 + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/2460", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/2460/invoiceSections/97531" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListForDepartmentFilterByStartEndDate.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListForDepartmentFilterByStartEndDate.json new file mode 100644 index 000000000000..18087a32069c --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListForDepartmentFilterByStartEndDate.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/BillingAccounts/1234/departments/42425", + "$filter": "usageStart eq '2018-04-01' AND usageEnd eq '2018-05-30'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/1234/departments/42425/providers/Microsoft.Consumption/charges/chargeSummaryId1", + "name": "chargeSummaryId1", + "type": "Microsoft.Consumption/charges", + "kind": "legacy", + "properties": { + "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201804", + "usageStart": "2018-04-01", + "usageEnd": "2018-04-30", + "azureCharges": 5000.00, + "chargesBilledSeparately": 60.90, + "marketplaceCharges": 100.00, + "currency": "USD" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListForEnrollmentAccountFilterByStartEndDate.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListForEnrollmentAccountFilterByStartEndDate.json new file mode 100644 index 000000000000..7ea77977485b --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListForEnrollmentAccountFilterByStartEndDate.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/BillingAccounts/1234/enrollmentAccounts/42425" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/1234/enrollmentAccounts/42425/providers/Microsoft.Consumption/charges/chargeSummaryId1", + "name": "chargeSummaryId1", + "type": "Microsoft.Consumption/charges", + "kind": "legacy", + "properties": { + "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201804", + "usageStart": "2018-04-01", + "usageEnd": "2018-04-30", + "azureCharges": 5000.00, + "chargesBilledSeparately": 60.90, + "marketplaceCharges": 100.00, + "currency": "USD" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/CreateOrUpdateBudget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/CreateOrUpdateBudget.json new file mode 100644 index 000000000000..771a304770e7 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/CreateOrUpdateBudget.json @@ -0,0 +1,227 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG", + "budgetName": "TestBudget", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "parameters": { + "eTag": "\"1d34d016a593709\"", + "properties": { + "category": "Cost", + "amount": 100.65, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2017-10-01T00:00:00Z", + "endDate": "2018-10-31T00:00:00Z" + }, + "filter": { + "and": [ + { + "dimensions": { + "name": "ResourceId", + "operator": "In", + "values": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ] + } + }, + { + "tags": { + "name": "category", + "operator": "In", + "values": [ + "Dev", + "Prod" + ] + } + }, + { + "tags": { + "name": "department", + "operator": "In", + "values": [ + "engineering", + "sales" + ] + } + } + ] + }, + "notifications": { + "Actual_GreaterThan_80_Percent": { + "enabled": true, + "operator": "GreaterThan", + "threshold": 80, + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "contactRoles": [ + "Contributor", + "Reader" + ], + "contactGroups": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ], + "thresholdType": "Actual" + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/TestBudget", + "name": "TestBudget", + "type": "Microsoft.Consumption/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 100.65, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2017-10-01T00:00:00Z", + "endDate": "2018-10-31T00:00:00Z" + }, + "filter": { + "and": [ + { + "dimensions": { + "name": "ResourceId", + "operator": "In", + "values": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ] + } + }, + { + "tags": { + "name": "category", + "operator": "In", + "values": [ + "Dev", + "Prod" + ] + } + }, + { + "tags": { + "name": "department", + "operator": "In", + "values": [ + "engineering", + "sales" + ] + } + } + ] + }, + "currentSpend": { + "amount": 80.89, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThan_80_Percent": { + "enabled": true, + "operator": "GreaterThan", + "threshold": 80, + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "contactRoles": [ + "Contributor", + "Reader" + ], + "contactGroups": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ], + "thresholdType": "Actual" + } + } + } + } + }, + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/budgets/TestBudget", + "name": "TestBudget", + "type": "Microsoft.Consumption/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 100.65, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2017-10-01T00:00:00Z", + "endDate": "2018-10-31T00:00:00Z" + }, + "filter": { + "and": [ + { + "dimensions": { + "name": "ResourceId", + "operator": "In", + "values": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ] + } + }, + { + "tags": { + "name": "category", + "operator": "In", + "values": [ + "Dev", + "Prod" + ] + } + }, + { + "tags": { + "name": "department", + "operator": "In", + "values": [ + "engineering", + "sales" + ] + } + } + ] + }, + "currentSpend": { + "amount": 80.89, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThan_80_Percent": { + "enabled": true, + "operator": "GreaterThan", + "threshold": 80, + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "contactRoles": [ + "Contributor", + "Reader" + ], + "contactGroups": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ], + "thresholdType": "Actual" + } + } + } + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/CreditSummaryByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/CreditSummaryByBillingProfile.json new file mode 100644 index 000000000000..7b950595325a --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/CreditSummaryByBillingProfile.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "1234:5678", + "billingProfileId": "2468" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/credits/balanceSummary1", + "name": "balanceSummary1", + "type": "Microsoft.Consumption/credits/balanceSummary", + "properties": { + "creditCurrency": "USD", + "billingCurrency": "USD", + "balanceSummary": { + "estimatedBalance": { + "currency": "USD", + "value": 600.00 + }, + "currentBalance": { + "currency": "USD", + "value": 100.00 + } + }, + "pendingCreditAdjustments": { + "currency": "USD", + "value": 500.00 + }, + "expiredCredit": { + "currency": "USD", + "value": 0.00 + }, + "pendingEligibleCharges": { + "currency": "USD", + "value": 0.00 + }, + "reseller": { + "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller1", + "resellerDescription": "Reseller information." + } + } + } + }, + "204": {} + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/DeleteBudget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/DeleteBudget.json new file mode 100644 index 000000000000..45b3e12f05a2 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/DeleteBudget.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG", + "budgetName": "TestBudget", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": {} + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/EventsGetByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/EventsGetByBillingAccount.json new file mode 100644 index 000000000000..c2c4513e2c7d --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/EventsGetByBillingAccount.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "1234:5678" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Consumption/events/eventId1", + "name": "eventId1", + "type": "Microsoft.Consumption/events", + "properties": { + "lotSource": "ConsumptionCommitment", + "lotId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/Microsoft.Consumption/lots/G202001083926600XXXXX", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/X3TD-KVTT-BG7-TGB", + "billingProfileDisplayName": "Contoso Operations Billing", + "transactionDate": "2019-07-01T00:00:00Z", + "description": "New MACC Added", + "charges": { + "currency": "USD", + "value": 500 + }, + "newCredit": { + "currency": "USD", + "value": 500 + }, + "closedBalance": { + "currency": "USD", + "value": 500 + }, + "invoiceNumber": "3304", + "eventType": "NewCredit" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Consumption/events/eventId2", + "name": "eventId2", + "type": "Microsoft.Consumption/events", + "properties": { + "lotSource": "AzurePrepayment", + "lotId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/Microsoft.Consumption/lots/7004bc39-974d-482e-8e45-caf91dba0870", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/X3TD-KVTT-BG7-TGB", + "billingProfileDisplayName": "Contoso Operations Billing", + "transactionDate": "2019-07-01T00:00:00Z", + "description": "Balance after invoice 3304", + "charges": { + "currency": "USD", + "value": 500 + }, + "closedBalance": { + "currency": "USD", + "value": 500 + }, + "invoiceNumber": "3304", + "eventType": "SettledCharges" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/EventsGetByBillingAccountWithFilters.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/EventsGetByBillingAccountWithFilters.json new file mode 100644 index 000000000000..13411ff3dd9e --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/EventsGetByBillingAccountWithFilters.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "1234:5678", + "$filter": "lotid eq 'G202001083926600XXXXX' AND lotsource eq 'consumptioncommitment'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Consumption/events/eventId1", + "name": "eventId1", + "type": "Microsoft.Consumption/events", + "properties": { + "lotSource": "ConsumptionCommitment", + "lotId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/Microsoft.Consumption/lots/G202001083926600XXXXX", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/X3TD-KVTT-BG7-TGB", + "billingProfileDisplayName": "Contoso Operations Billing", + "transactionDate": "2019-07-01T00:00:00Z", + "description": "MACC Canceled", + "canceledCredit": { + "currency": "USD", + "value": 200 + }, + "closedBalance": { + "currency": "USD", + "value": 500 + }, + "invoiceNumber": "3304", + "eventType": "CanceledCredit" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/EventsListByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/EventsListByBillingProfile.json new file mode 100644 index 000000000000..56527d1b4aec --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/EventsListByBillingProfile.json @@ -0,0 +1,257 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "1234:5678", + "billingProfileId": "4268", + "startDate": "2019-09-01", + "endDate": "2019-10-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/4268/providers/Microsoft.Consumption/events/event1", + "name": "event1", + "type": "Microsoft.Consumption/events", + "properties": { + "transactionDate": "2019-07-01T00:00:00Z", + "description": "Settled invoice #312033", + "creditCurrency": "USD", + "reseller": { + "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller1", + "resellerDescription": "Reseller information" + }, + "billingCurrency": "USD", + "newCredit": { + "currency": "USD", + "value": 0.00 + }, + "newCreditInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "adjustments": { + "currency": "USD", + "value": 0.00 + }, + "adjustmentsInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "creditExpired": { + "currency": "USD", + "value": 0.00 + }, + "creditExpiredInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "charges": { + "currency": "USD", + "value": 500.00 + }, + "chargesInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "closedBalance": { + "currency": "USD", + "value": 500.00 + }, + "closedBalanceInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "eventType": "SettledCharges", + "invoiceNumber": "3301" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/4268/providers/Microsoft.Consumption/events/event2", + "name": "event2", + "type": "Microsoft.Consumption/events", + "properties": { + "transactionDate": "2019-08-01T00:00:00Z", + "description": "New credits added", + "creditCurrency": "USD", + "reseller": { + "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller1", + "resellerDescription": "Reseller information" + }, + "billingCurrency": "USD", + "newCredit": { + "currency": "USD", + "value": 400.00 + }, + "newCreditInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "canceledCredit": { + "currency": "USD", + "value": 5000 + }, + "adjustments": { + "currency": "USD", + "value": 0.00 + }, + "adjustmentsInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "creditExpired": { + "currency": "USD", + "value": 0.00 + }, + "creditExpiredInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "charges": { + "currency": "USD", + "value": 0.00 + }, + "chargesInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "closedBalance": { + "currency": "USD", + "value": 900.00 + }, + "closedBalanceInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "eventType": "NewCredit", + "invoiceNumber": "3302" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/4268/providers/Microsoft.Consumption/events/event3", + "name": "event3", + "type": "Microsoft.Consumption/events", + "properties": { + "transactionDate": "2019-09-01T00:00:00Z", + "description": "Credits Expired", + "creditCurrency": "USD", + "reseller": { + "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller1", + "resellerDescription": "Reseller information" + }, + "billingCurrency": "USD", + "newCredit": { + "currency": "USD", + "value": 0.00 + }, + "newCreditInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "canceledCredit": { + "currency": "USD", + "value": 5000 + }, + "adjustments": { + "currency": "USD", + "value": 0.00 + }, + "adjustmentsInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "creditExpired": { + "currency": "USD", + "value": 300.00 + }, + "creditExpiredInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "charges": { + "currency": "USD", + "value": 0.00 + }, + "chargesInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "closedBalance": { + "currency": "USD", + "value": 600.00 + }, + "closedBalanceInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "eventType": "ExpiredCredit", + "invoiceNumber": "" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/4268/providers/Microsoft.Consumption/events/event4", + "name": "event4", + "type": "Microsoft.Consumption/events", + "properties": { + "transactionDate": "2021-10-01T00:00:00Z", + "description": "Settled invoice #212033", + "creditCurrency": "USD", + "reseller": { + "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller1", + "resellerDescription": "Reseller information" + }, + "billingCurrency": "USD", + "newCredit": { + "currency": "USD", + "value": 300.00 + }, + "newCreditInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "canceledCredit": { + "currency": "USD", + "value": 5000 + }, + "adjustments": { + "currency": "USD", + "value": -200.00 + }, + "adjustmentsInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "creditExpired": { + "currency": "USD", + "value": 100.00 + }, + "creditExpiredInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "charges": { + "currency": "USD", + "value": 300.00 + }, + "chargesInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "closedBalance": { + "currency": "USD", + "value": 700.00 + }, + "closedBalanceInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "eventType": "SettledCharges", + "invoiceNumber": "3303" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByBillingAccount.json new file mode 100644 index 000000000000..2f07c688e9ae --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByBillingAccount.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "1234:5678" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/lots/lot1", + "name": "lot1", + "type": "Microsoft.Consumption/lots", + "properties": { + "originalAmount": { + "currency": "USD", + "value": 5000.00 + }, + "closedBalance": { + "currency": "USD", + "value": 60.90 + }, + "source": "ConsumptionCommitment", + "startDate": "2019-10-01T00:00:00Z", + "expirationDate": "2019-11-01T00:00:00Z", + "purchasedDate": "2019-09-01T00:00:00Z", + "status": "Active" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/lots/lot2", + "name": "lot2", + "type": "Microsoft.Consumption/lots", + "properties": { + "originalAmount": { + "currency": "USD", + "value": 6000.00 + }, + "closedBalance": { + "currency": "USD", + "value": 80.90 + }, + "source": "ConsumptionCommitment", + "startDate": "2019-11-01T00:00:00Z", + "expirationDate": "2019-12-31T00:00:00Z", + "purchasedDate": "2019-09-01T00:00:00Z", + "status": "Expired" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByBillingAccountWithFilters.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByBillingAccountWithFilters.json new file mode 100644 index 000000000000..419d523b9b8f --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByBillingAccountWithFilters.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "1234:5678", + "$filter": "status eq 'active' AND source eq 'consumptioncommitment'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/lots/lot1", + "name": "lot1", + "type": "Microsoft.Consumption/lots", + "properties": { + "originalAmount": { + "currency": "USD", + "value": 5000.00 + }, + "closedBalance": { + "currency": "USD", + "value": 60.90 + }, + "source": "ConsumptionCommitment", + "startDate": "2019-10-01T00:00:00Z", + "expirationDate": "2019-11-01T00:00:00Z", + "purchasedDate": "2019-09-01T00:00:00Z", + "status": "Active" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByBillingProfile.json new file mode 100644 index 000000000000..1f1297ba6678 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByBillingProfile.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "1234:5678", + "billingProfileId": "2468" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/lots/lot1", + "name": "lot1", + "type": "Microsoft.Consumption/lots", + "properties": { + "creditCurrency": "USD", + "billingCurrency": "USD", + "originalAmount": { + "currency": "USD", + "value": 5000.00 + }, + "originalAmountInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "closedBalance": { + "currency": "USD", + "value": 60.90 + }, + "closedBalanceInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "reseller": { + "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller1", + "resellerDescription": "Reseller information." + }, + "source": "PurchasedCredit", + "startDate": "2021-10-01T00:00:00Z", + "expirationDate": "2021-10-01T00:00:00Z", + "poNumber": "3524" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/lots/lot2", + "name": "lot2", + "type": "Microsoft.Consumption/lots", + "properties": { + "creditCurrency": "USD", + "billingCurrency": "USD", + "originalAmount": { + "currency": "USD", + "value": 6000.00 + }, + "originalAmountInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "closedBalance": { + "currency": "USD", + "value": 80.90 + }, + "closedBalanceInBillingCurrency": { + "exchangeRate": 5000.00, + "exchangeRateMonth": 1 + }, + "reseller": { + "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller2", + "resellerDescription": "Reseller information." + }, + "source": "PurchasedCredit", + "startDate": "2021-10-01T00:00:00Z", + "expirationDate": "2019-12-31T00:00:00Z", + "poNumber": "31224" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByBillingAccountList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByBillingAccountList.json new file mode 100644 index 000000000000..c80cee78d473 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByBillingAccountList.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/123456", + "billingAccountId": "123456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketplaces/marketplaceId1", + "name": "marketplaceId1", + "type": "Microsoft.Consumption/marketPlaces", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "accountName": "Account1", + "additionalProperties": "additionalProperties", + "costCenter": "Center1", + "departmentName": "Department1", + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702", + "usageStart": "2017-02-13T00:00:00Z", + "usageEnd": "2017-02-13T23:59:59Z", + "instanceName": "shared1", + "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1", + "currency": "USD", + "consumedQuantity": 0.00328, + "pretaxCost": 0.67, + "isEstimated": false, + "offerName": "offer1", + "resourceGroup": "TEST", + "orderNumber": "00000000-0000-0000-0000-000000000000", + "publisherName": "xyz", + "planName": "plan1", + "resourceRate": 0.24, + "subscriptionGuid": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "azure subscription", + "unitOfMeasure": "10 Hours", + "isRecurringCharge": false + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByBillingAccountListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByBillingAccountListForBillingPeriod.json new file mode 100644 index 000000000000..220977882555 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByBillingAccountListForBillingPeriod.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "123456", + "scope": "providers/Microsoft.Billing/billingAccounts/123456", + "billingPeriodName": "201702" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketplaces/marketplaceId1", + "name": "marketplacesId1", + "type": "Microsoft.Consumption/marketPlaces", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "accountName": "Account1", + "additionalProperties": "additionalProperties", + "costCenter": "Center1", + "departmentName": "Department1", + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702", + "usageStart": "2017-02-13T00:00:00Z", + "usageEnd": "2017-02-13T23:59:59Z", + "instanceName": "shared1", + "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1", + "currency": "USD", + "consumedQuantity": 0.00328, + "pretaxCost": 0.67, + "isEstimated": false, + "meterId": "00000000-0000-0000-0000-000000000000", + "offerName": "offer1", + "resourceGroup": "TEST", + "orderNumber": "00000000-0000-0000-0000-000000000000", + "publisherName": "xyz", + "planName": "plan2", + "resourceRate": 0.24, + "subscriptionGuid": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "azure subscription", + "unitOfMeasure": "10 Hours", + "isRecurringCharge": false + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByDepartmentList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByDepartmentList.json new file mode 100644 index 000000000000..60def81107ee --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByDepartmentList.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "departmentId": "123456", + "billingPeriodName": "201702", + "scope": "providers/Microsoft.Billing/departments/123456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/departments/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketplaces/marketplaceId1", + "name": "marketplacesId1", + "type": "Microsoft.Consumption/marketPlaces", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "accountName": "Account1", + "additionalProperties": "additionalProperties", + "costCenter": "Center1", + "departmentName": "Department1", + "billingPeriodId": "/providers/Microsoft.Billing/departments/123456/providers/Microsoft.Billing/billingPeriods/201702", + "usageStart": "2017-02-13T00:00:00Z", + "usageEnd": "2017-02-13T23:59:59Z", + "instanceName": "shared1", + "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1", + "currency": "USD", + "consumedQuantity": 0.00328, + "pretaxCost": 0.67, + "isEstimated": false, + "meterId": "00000000-0000-0000-0000-000000000000", + "offerName": "offer1", + "resourceGroup": "TEST", + "orderNumber": "00000000-0000-0000-0000-000000000000", + "publisherName": "xyz", + "planName": "plan2", + "resourceRate": 0.24, + "subscriptionGuid": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "azure subscription", + "unitOfMeasure": "10 Hours", + "isRecurringCharge": false + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByDepartment_ListByBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByDepartment_ListByBillingPeriod.json new file mode 100644 index 000000000000..60def81107ee --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByDepartment_ListByBillingPeriod.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "departmentId": "123456", + "billingPeriodName": "201702", + "scope": "providers/Microsoft.Billing/departments/123456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/departments/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketplaces/marketplaceId1", + "name": "marketplacesId1", + "type": "Microsoft.Consumption/marketPlaces", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "accountName": "Account1", + "additionalProperties": "additionalProperties", + "costCenter": "Center1", + "departmentName": "Department1", + "billingPeriodId": "/providers/Microsoft.Billing/departments/123456/providers/Microsoft.Billing/billingPeriods/201702", + "usageStart": "2017-02-13T00:00:00Z", + "usageEnd": "2017-02-13T23:59:59Z", + "instanceName": "shared1", + "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1", + "currency": "USD", + "consumedQuantity": 0.00328, + "pretaxCost": 0.67, + "isEstimated": false, + "meterId": "00000000-0000-0000-0000-000000000000", + "offerName": "offer1", + "resourceGroup": "TEST", + "orderNumber": "00000000-0000-0000-0000-000000000000", + "publisherName": "xyz", + "planName": "plan2", + "resourceRate": 0.24, + "subscriptionGuid": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "azure subscription", + "unitOfMeasure": "10 Hours", + "isRecurringCharge": false + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByEnrollmentAccountList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByEnrollmentAccountList.json new file mode 100644 index 000000000000..2ec12b50c750 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByEnrollmentAccountList.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "enrollmentAccountId": "123456", + "billingPeriodName": "201702", + "scope": "providers/Microsoft.Billing/enrollmentAccounts/123456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/enrollmentAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketplaces/marketplaceId1", + "name": "marketplacesId1", + "type": "Microsoft.Consumption/marketPlaces", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "accountName": "Account1", + "additionalProperties": "additionalProperties", + "costCenter": "Center1", + "departmentName": "Department1", + "billingPeriodId": "/providers/Microsoft.Billing/enrollmentAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702", + "usageStart": "2017-02-13T00:00:00Z", + "usageEnd": "2017-02-13T23:59:59Z", + "instanceName": "shared1", + "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1", + "currency": "USD", + "consumedQuantity": 0.00328, + "pretaxCost": 0.67, + "isEstimated": false, + "meterId": "00000000-0000-0000-0000-000000000000", + "offerName": "offer1", + "resourceGroup": "TEST", + "orderNumber": "00000000-0000-0000-0000-000000000000", + "publisherName": "xyz", + "planName": "plan2", + "resourceRate": 0.24, + "subscriptionGuid": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "azure subscription", + "unitOfMeasure": "10 Hours", + "isRecurringCharge": false + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByEnrollmentAccounts_ListByBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByEnrollmentAccounts_ListByBillingPeriod.json new file mode 100644 index 000000000000..2ec12b50c750 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByEnrollmentAccounts_ListByBillingPeriod.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "enrollmentAccountId": "123456", + "billingPeriodName": "201702", + "scope": "providers/Microsoft.Billing/enrollmentAccounts/123456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/enrollmentAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketplaces/marketplaceId1", + "name": "marketplacesId1", + "type": "Microsoft.Consumption/marketPlaces", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "accountName": "Account1", + "additionalProperties": "additionalProperties", + "costCenter": "Center1", + "departmentName": "Department1", + "billingPeriodId": "/providers/Microsoft.Billing/enrollmentAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702", + "usageStart": "2017-02-13T00:00:00Z", + "usageEnd": "2017-02-13T23:59:59Z", + "instanceName": "shared1", + "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1", + "currency": "USD", + "consumedQuantity": 0.00328, + "pretaxCost": 0.67, + "isEstimated": false, + "meterId": "00000000-0000-0000-0000-000000000000", + "offerName": "offer1", + "resourceGroup": "TEST", + "orderNumber": "00000000-0000-0000-0000-000000000000", + "publisherName": "xyz", + "planName": "plan2", + "resourceRate": 0.24, + "subscriptionGuid": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "azure subscription", + "unitOfMeasure": "10 Hours", + "isRecurringCharge": false + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByManagementGroupList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByManagementGroupList.json new file mode 100644 index 000000000000..e223281ed252 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByManagementGroupList.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "managementGroupId": "managementGroupForTest", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201810/providers/Microsoft.Consumption/marketplaces/marketplaceId1", + "name": "marketplacesId1", + "type": "Microsoft.Consumption/marketPlaces", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "accountName": "Account1", + "additionalProperties": "additionalProperties", + "costCenter": "Center1", + "departmentName": "Department1", + "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201810", + "usageStart": "2018-10-13T00:00:00Z", + "usageEnd": "2018-10-13T23:59:59Z", + "instanceName": "shared1", + "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1", + "currency": "USD", + "consumedQuantity": 0.00328, + "pretaxCost": 0.67, + "isEstimated": false, + "meterId": "00000000-0000-0000-0000-000000000000", + "offerName": "offer1", + "resourceGroup": "TEST", + "orderNumber": "00000000-0000-0000-0000-000000000000", + "publisherName": "xyz", + "planName": "plan2", + "resourceRate": 0.24, + "subscriptionGuid": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "azure subscription", + "unitOfMeasure": "10 Hours", + "isRecurringCharge": false + } + }, + { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingPeriods/201810/providers/Microsoft.Consumption/marketplaces/marketplaceId2", + "name": "marketplacesId2", + "type": "Microsoft.Consumption/marketPlaces", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "accountName": "Account2", + "additionalProperties": "additionalProperties", + "costCenter": "Center2", + "departmentName": "Department2", + "billingPeriodId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingPeriods/201810", + "usageStart": "2018-10-13T00:00:00Z", + "usageEnd": "2018-10-13T23:59:59Z", + "instanceName": "shared2", + "instanceId": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared2", + "currency": "USD", + "consumedQuantity": 0.00328, + "pretaxCost": 0.67, + "isEstimated": false, + "meterId": "11111111-1111-1111-1111-111111111111", + "offerName": "offer1", + "resourceGroup": "TEST", + "orderNumber": "11111111-1111-1111-1111-111111111111", + "publisherName": "xyz", + "planName": "plan2", + "resourceRate": 0.24, + "subscriptionGuid": "11111111-1111-1111-1111-111111111111", + "subscriptionName": "azure subscription", + "unitOfMeasure": "10 Hours", + "isRecurringCharge": false + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByManagementGroup_ListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByManagementGroup_ListForBillingPeriod.json new file mode 100644 index 000000000000..c36797b6d6eb --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByManagementGroup_ListForBillingPeriod.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "managementGroupId": "managementGroupForTest", + "billingPeriodName": "201808", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201808/providers/Microsoft.Consumption/marketplaces/marketplaceId1", + "name": "marketplacesId1", + "type": "Microsoft.Consumption/marketPlaces", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "accountName": "Account1", + "additionalProperties": "additionalProperties", + "costCenter": "Center1", + "departmentName": "Department1", + "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201808", + "usageStart": "2018-08-13T00:00:00Z", + "usageEnd": "2018-08-13T23:59:59Z", + "instanceName": "shared1", + "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1", + "currency": "USD", + "consumedQuantity": 0.00328, + "pretaxCost": 0.67, + "isEstimated": false, + "meterId": "00000000-0000-0000-0000-000000000000", + "offerName": "offer1", + "resourceGroup": "TEST", + "orderNumber": "00000000-0000-0000-0000-000000000000", + "publisherName": "xyz", + "planName": "plan2", + "resourceRate": 0.24, + "subscriptionGuid": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "azure subscription", + "unitOfMeasure": "10 Hours", + "isRecurringCharge": false + } + }, + { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingPeriods/201808/providers/Microsoft.Consumption/marketplaces/marketplaceId2", + "name": "marketplacesId2", + "type": "Microsoft.Consumption/marketPlaces", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "accountName": "Account2", + "additionalProperties": "additionalProperties", + "costCenter": "Center2", + "departmentName": "Department2", + "billingPeriodId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingPeriods/201810", + "usageStart": "2018-08-13T00:00:00Z", + "usageEnd": "2018-08-13T23:59:59Z", + "instanceName": "shared2", + "instanceId": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared2", + "currency": "USD", + "consumedQuantity": 0.00328, + "pretaxCost": 0.67, + "isEstimated": false, + "meterId": "11111111-1111-1111-1111-111111111111", + "offerName": "offer1", + "resourceGroup": "TEST", + "orderNumber": "11111111-1111-1111-1111-111111111111", + "publisherName": "xyz", + "planName": "plan2", + "resourceRate": 0.24, + "subscriptionGuid": "11111111-1111-1111-1111-111111111111", + "subscriptionName": "azure subscription", + "unitOfMeasure": "10 Hours", + "isRecurringCharge": false + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesList.json new file mode 100644 index 000000000000..a986704e5fbd --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesList.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketPlaces/marketplaceId1", + "name": "marketplaceId1", + "type": "Microsoft.Consumption/marketPlaces", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "accountName": "Account1", + "additionalProperties": "additionalProperties", + "costCenter": "Center1", + "departmentName": "Department1", + "billingPeriodId": "/subscriptions/subid/providers/Microsoft.Billing/billingPeriods/201702", + "usageStart": "2017-02-13T00:00:00Z", + "usageEnd": "2017-02-13T23:59:59Z", + "instanceName": "shared1", + "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1", + "currency": "USD", + "consumedQuantity": 0.00328, + "pretaxCost": 0.67, + "isEstimated": false, + "offerName": "offer1", + "resourceGroup": "TEST", + "orderNumber": "00000000-0000-0000-0000-000000000000", + "publisherName": "xyz", + "planName": "plan1", + "resourceRate": 0.24, + "subscriptionGuid": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "azure subscription", + "unitOfMeasure": "10 Hours", + "isRecurringCharge": false + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesListForBillingPeriod.json new file mode 100644 index 000000000000..dbbf6882bd91 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesListForBillingPeriod.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "billingPeriodName": "201801" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketPlaces/marketplacesId1", + "name": "marketplacesId1", + "type": "Microsoft.Consumption/marketPlaces", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "accountName": "Account1", + "additionalProperties": "additionalProperties", + "costCenter": "Center1", + "departmentName": "Department1", + "billingPeriodId": "/subscriptions/subid/providers/Microsoft.Billing/billingPeriods/201702", + "usageStart": "2017-02-13T00:00:00Z", + "usageEnd": "2017-02-13T23:59:59Z", + "instanceName": "shared1", + "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1", + "currency": "USD", + "consumedQuantity": 0.00328, + "pretaxCost": 0.67, + "isEstimated": false, + "meterId": "00000000-0000-0000-0000-000000000000", + "offerName": "offer1", + "resourceGroup": "TEST", + "orderNumber": "00000000-0000-0000-0000-000000000000", + "publisherName": "xyz", + "planName": "plan2", + "resourceRate": 0.24, + "subscriptionGuid": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "azure subscription", + "unitOfMeasure": "10 Hours", + "isRecurringCharge": false + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/PriceSheet.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/PriceSheet.json new file mode 100644 index 000000000000..8cdfaeba727f --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/PriceSheet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/pricesheets/default", + "name": "default", + "type": "Microsoft.Consumption/pricesheets", + "properties": { + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.consumption/pricesheets/default?api-version=2018-01-31&$skiptoken=AQAAAA%3D%3D", + "pricesheets": [ + { + "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702", + "meterId": "00000000-0000-0000-0000-000000000000", + "unitOfMeasure": "100 Hours", + "includedQuantity": 100, + "partNumber": "XX-11110", + "unitPrice": 0.00328, + "currencyCode": "EUR", + "offerId": "OfferId 1" + } + ] + } + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/PriceSheetExpand.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/PriceSheetExpand.json new file mode 100644 index 000000000000..5f8291a6b6e6 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/PriceSheetExpand.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "billingPeriodName": "201801", + "$expand": "meterDetails" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/pricesheets/default", + "name": "default", + "type": "Microsoft.Consumption/pricesheets", + "properties": { + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.consumption/pricesheets/default?api-version=2018-01-31&$skiptoken=AQAAAA%3D%3D&$expand=properties/pricesheets/meterDetails", + "pricesheets": [ + { + "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702", + "meterId": "00000000-0000-0000-0000-000000000000", + "unitOfMeasure": "100 Hours", + "includedQuantity": 100, + "partNumber": "XX-11110", + "unitPrice": 0.00328, + "currencyCode": "EUR", + "offerId": "OfferId 1", + "meterDetails": { + "meterName": "Data Transfer Out (GB)", + "meterCategory": "Networking", + "unit": "GB", + "meterLocation": "Zone 2", + "totalIncludedQuantity": 0, + "pretaxStandardRate": 0.138 + } + } + ] + } + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/PriceSheetForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/PriceSheetForBillingPeriod.json new file mode 100644 index 000000000000..95942619cd99 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/PriceSheetForBillingPeriod.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "billingPeriodName": "201801" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/pricesheets/default", + "name": "default", + "type": "Microsoft.Consumption/pricesheets", + "properties": { + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/microsoft.consumption/pricesheets/default?api-version=2018-01-31", + "pricesheets": [ + { + "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702", + "meterId": "00000000-0000-0000-0000-000000000000", + "unitOfMeasure": "100 Hours", + "includedQuantity": 100, + "partNumber": "XX-11110", + "unitPrice": 0.00328, + "currencyCode": "EUR", + "offerId": "OfferId 1" + } + ] + } + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetails.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetails.json new file mode 100644 index 000000000000..58f642df61b1 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetails.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-12-05" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationDetails/20171129", + "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171129", + "type": "Microsoft.Consumption/reservationDetails", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "usageDate": "2017-11-29T00:00:00Z", + "skuName": "Standard_D2_v2", + "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/wvn-sql/providers/microsoft.compute/virtualmachines/abc-sql2014sp33", + "totalReservedQuantity": 1.000000000000000, + "reservedHours": 24.000000000000000, + "usedHours": 24.000000000000000, + "instanceFlexibilityGroup": "DSv2 Series", + "instanceFlexibilityRatio": "0.25" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsByBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsByBillingAccountId.json new file mode 100644 index 000000000000..c431c7d034e8 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsByBillingAccountId.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/12345", + "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-12-05" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.Consumption/reservationDetails/reservationDetails_Id1", + "name": "reservationDetails_Id1", + "type": "Microsoft.Consumption/reservationDetails", + "tags": null, + "properties": { + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "usageDate": "2017-11-30T00:00:00-08:00", + "skuName": "Standard_D2s_v3", + "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sqlh1/providers/microsoft.compute/virtualmachines/sqlh1", + "totalReservedQuantity": 0, + "reservedHours": 48, + "usedHours": 0.6, + "instanceFlexibilityGroup": "DSv3 Series", + "instanceFlexibilityRatio": "1" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsByBillingProfileId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsByBillingProfileId.json new file mode 100644 index 000000000000..dc89f0ab8760 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsByBillingProfileId.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579", + "startDate": "2019-09-01", + "endDate": "2019-10-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579/providers/Microsoft.Consumption/reservationDetails/reservationDetails_Id1", + "name": "reservationDetails_Id1", + "type": "Microsoft.Consumption/reservationDetails", + "tags": null, + "properties": { + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "usageDate": "2019-09-30T00:00:00-08:00", + "skuName": "Standard_D2s_v3", + "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sqlh1/providers/microsoft.compute/virtualmachines/sqlh1", + "totalReservedQuantity": 0, + "reservedHours": 48, + "usedHours": 0.6, + "instanceFlexibilityGroup": "DSv3 Series", + "instanceFlexibilityRatio": "1" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsByBillingProfileIdReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsByBillingProfileIdReservationId.json new file mode 100644 index 000000000000..154b042d0c1e --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsByBillingProfileIdReservationId.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579", + "startDate": "2019-09-01", + "endDate": "2019-10-31", + "reservationId": "1c6b6358-709f-484c-85f1-72e862a0cf3b", + "reservationOrderId": "9f39ba10-794f-4dcb-8f4b-8d0cb47c27dc" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579/providers/Microsoft.Consumption/reservationDetails/reservationDetails_Id1", + "name": "reservationDetails_Id1", + "type": "Microsoft.Consumption/reservationDetails", + "tags": null, + "properties": { + "reservationOrderId": "9f39ba10-794f-4dcb-8f4b-8d0cb47c27dc", + "reservationId": "1c6b6358-709f-484c-85f1-72e862a0cf3b", + "usageDate": "2019-09-30T00:00:00-08:00", + "skuName": "Standard_D2s_v3", + "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sqlh1/providers/microsoft.compute/virtualmachines/sqlh1", + "totalReservedQuantity": 0, + "reservedHours": 48, + "usedHours": 0.6, + "instanceFlexibilityGroup": "DSv3 Series", + "instanceFlexibilityRatio": "1" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsWithReservationId.json new file mode 100644 index 000000000000..4e71ab114861 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsWithReservationId.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-12-05" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationDetails/20171129", + "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171129", + "type": "Microsoft.Consumption/reservationDetails", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "usageDate": "2017-11-29T00:00:00Z", + "skuName": "Standard_D2_v2", + "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/wvn-sql/providers/microsoft.compute/virtualmachines/wvn-sql2014sp33", + "totalReservedQuantity": 1.000000000000000, + "reservedHours": 24.000000000000000, + "usedHours": 24.000000000000000, + "kind": "Reservation", + "instanceFlexibilityGroup": "D2v2 Series", + "instanceFlexibilityRatio": "1" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsByBillingAccount.json new file mode 100644 index 000000000000..6214b09d66b1 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsByBillingAccount.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingScope": "providers/Microsoft.Billing/billingAccounts/000000", + "lookBackPeriod": "Last60Days", + "product": "Standard_DS14_v2", + "region": "eastus", + "scope": "Shared", + "term": "P1Y" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/00000000/providers/microsoft.consumption/reservationrecommendationdetails", + "name": "reservationRecommendationDetails", + "type": "Microsoft.Consumption/ReservationRecommendationDetails", + "properties": { + "currency": "USD", + "resource": { + "appliedScopes": [ + "00000000-0000-0000-0000-00000000", + "00000000-0000-0000-0000-00000000" + ], + "onDemandRate": 1.482, + "product": "Standard_DS14_v2", + "region": "eastus", + "reservationRate": 0.70570776255707, + "resourceType": "virtualmachines" + }, + "resourceGroup": null, + "savings": { + "calculatedSavings": [ + { + "onDemandCost": 529550.326618951, + "overageCost": 63253.5935111345, + "quantity": 220, + "reservationCost": 223102.452054792, + "totalReservationCost": 286356.045565927, + "savings": 243194.281053024 + }, + { + "onDemandCost": 529550.326618950, + "overageCost": 149335.025050147, + "quantity": 179, + "reservationCost": 181524.267808217, + "totalReservationCost": 330859.292858364, + "savings": 198691.033760586 + }, + { + "onDemandCost": 529550.326618950, + "overageCost": 195942.319606957, + "quantity": 157, + "reservationCost": 159214.022602738, + "totalReservationCost": 355156.342209695, + "savings": 174393.984409255 + }, + { + "onDemandCost": 529550.326618950, + "overageCost": 30975.2311896299, + "quantity": 241, + "reservationCost": 244398.595205477, + "totalReservationCost": 275373.826395107, + "savings": 254176.500223843 + } + ], + "lookBackPeriod": 60, + "recommendedQuantity": 253.0, + "reservationOrderTerm": "P1Y", + "savingsType": "instance", + "unitOfMeasure": "hour" + }, + "scope": "Shared", + "usage": { + "firstConsumptionDate": "2019-11-27T00:00:00", + "lastConsumptionDate": "2020-01-25T21:00:00", + "lookBackUnitType": "virtualMachine quantity", + "usageData": [ + 275.95003899999995, + 275.916705, + 276.0, + 276.0, + 275.916725, + 275.916705, + 275.98335299999997, + 276.0, + 276.0, + 276.0, + 276.0, + 276.0, + 275.98335299999997, + 276.0, + 276.0, + 276.0, + 276.0, + 275.933352 + ], + "usageGrain": "hourly" + } + } + } + }, + "204": {} + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsByBillingProfile.json new file mode 100644 index 000000000000..6b6b54492382 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsByBillingProfile.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingScope": "providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-00000000:00000000-0000-0000-0000-00000000/billingProfiles/00000000-0000-0000-0000-00000000", + "lookBackPeriod": "Last7Days", + "product": "Standard_B2s", + "region": "australiaeast", + "scope": "Shared", + "term": "P1Y" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-00000000:00000000-0000-0000-0000-00000000/billingProfiles/00000000-0000-0000-0000-00000000/providers/microsoft.consumption/reservationrecommendationdetails", + "name": "reservationRecommendationDetails", + "type": "Microsoft.Consumption/ReservationRecommendationDetails", + "properties": { + "currency": "AUD", + "resource": { + "appliedScopes": [ + "00000000-0000-0000-0000-00000000" + ], + "onDemandRate": 0.0725, + "product": "Standard_B2s", + "region": "australiaeast", + "reservationRate": 0.044141665317880413, + "resourceType": "virtualmachines" + }, + "resourceGroup": null, + "savings": { + "calculatedSavings": [ + { + "onDemandCost": 632.884472049689441, + "overageCost": 0.0, + "quantity": 1, + "reservationCost": 387.740388152261739, + "totalReservationCost": 387.740388152261739, + "savings": 245.144083897427702 + } + ], + "lookBackPeriod": 7, + "recommendedQuantity": 1.0, + "reservationOrderTerm": "P1Y", + "savingsType": "instance", + "unitOfMeasure": "hour" + }, + "scope": "Shared", + "usage": { + "firstConsumptionDate": "2020-01-19T00:00:00", + "lastConsumptionDate": "2020-01-25T17:00:00", + "lookBackUnitType": "virtualMachine quantity", + "usageData": [ + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 0.0 + ], + "usageGrain": "hourly" + } + } + } + }, + "204": {} + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsByResourceGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsByResourceGroup.json new file mode 100644 index 000000000000..98c07f63e6cc --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsByResourceGroup.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingScope": "subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/testGroup", + "lookBackPeriod": "Last30Days", + "product": "Standard_DS13_v2", + "region": "westus", + "scope": "Single", + "term": "P3Y" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/testGroup/providers/microsoft.consumption/reservationrecommendationdetails", + "name": "reservationRecommendationDetails", + "type": "Microsoft.Consumption/ReservationRecommendationDetails", + "properties": { + "currency": "USD", + "resource": { + "appliedScopes": [ + "00000000-0000-0000-0000-00000000", + "testGroup" + ], + "onDemandRate": 0.519, + "product": "Standard_DS13_v2", + "region": "westus", + "reservationRate": 0.302549467275493, + "resourceType": "virtualmachines" + }, + "resourceGroup": "testGroup", + "savings": { + "calculatedSavings": [ + { + "onDemandCost": 368.4813602070006, + "overageCost": 0.0, + "quantity": 2, + "reservationCost": 429.01514459665, + "totalReservationCost": 429.01514459665, + "savings": -60.5337843896494 + }, + { + "onDemandCost": 368.481360207000, + "overageCost": 1.557, + "quantity": 1, + "reservationCost": 214.507572298325, + "totalReservationCost": 216.064572298325, + "savings": 152.416787908675 + } + ], + "lookBackPeriod": 30, + "recommendedQuantity": 1.0, + "reservationOrderTerm": "P3Y", + "savingsType": "instance", + "unitOfMeasure": "hour" + }, + "scope": "Single", + "usage": { + "firstConsumptionDate": "2020-02-03T00:00:00", + "lastConsumptionDate": "2020-03-03T13:00:00", + "lookBackUnitType": "virtualMachine quantity", + "usageData": [ + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0 + ], + "usageGrain": "hourly" + } + } + } + }, + "204": {} + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsBySubscription.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsBySubscription.json new file mode 100644 index 000000000000..c6594fd17e26 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsBySubscription.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingScope": "subscriptions/00000000-0000-0000-0000-00000000", + "lookBackPeriod": "Last30Days", + "product": "Standard_DS13_v2", + "region": "westus", + "scope": "Single", + "term": "P3Y" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-00000000/providers/microsoft.consumption/reservationrecommendationdetails", + "name": "reservationRecommendationDetails", + "type": "Microsoft.Consumption/ReservationRecommendationDetails", + "properties": { + "currency": "USD", + "resource": { + "appliedScopes": [ + "00000000-0000-0000-0000-00000000" + ], + "onDemandRate": 0.519, + "product": "Standard_DS13_v2", + "region": "westus", + "reservationRate": 0.302549467275493, + "resourceType": "virtualmachines" + }, + "resourceGroup": null, + "savings": { + "calculatedSavings": [ + { + "onDemandCost": 368.4813602070006, + "overageCost": 0.0, + "quantity": 2, + "reservationCost": 429.01514459665, + "totalReservationCost": 429.01514459665, + "savings": -60.5337843896494 + }, + { + "onDemandCost": 368.481360207000, + "overageCost": 1.557, + "quantity": 1, + "reservationCost": 214.507572298325, + "totalReservationCost": 216.064572298325, + "savings": 152.416787908675 + } + ], + "lookBackPeriod": 30, + "recommendedQuantity": 1.0, + "reservationOrderTerm": "P3Y", + "savingsType": "instance", + "unitOfMeasure": "hour" + }, + "scope": "Single", + "usage": { + "firstConsumptionDate": "2020-02-03T00:00:00", + "lastConsumptionDate": "2020-03-03T13:00:00", + "lookBackUnitType": "virtualMachine quantity", + "usageData": [ + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0 + ], + "usageGrain": "hourly" + } + } + } + }, + "204": {} + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsByBillingAccount.json new file mode 100644 index 000000000000..299b49911c8b --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsByBillingAccount.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/123456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "billingAccount/123456/providers/Microsoft.Consumption/reservationRecommendations/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Consumption/reservationRecommendations", + "location": "westus", + "sku": "Standard_DS1_v2", + "kind": "legacy", + "properties": { + "meterId": "00000000-0000-0000-0000-000000000000", + "term": "P1Y", + "costWithNoReservedInstances": 12.0785105, + "recommendedQuantity": 1, + "totalCostWithReservedInstances": 11.4899644807748, + "netSavings": 0.588546019225182, + "firstUsageDate": "2019-07-07T00:00:00-07:00", + "scope": "Shared", + "lookBackPeriod": "Last7Days", + "instanceFlexibilityRatio": 1, + "instanceFlexibilityGroup": "DSv2 Series", + "normalizedSize": "Standard_DS1_v2", + "recommendedQuantityNormalized": 1, + "skuProperties": [ + { + "name": "Cores", + "value": "1" + }, + { + "name": "Ram", + "value": "1" + } + ] + } + }, + { + "id": "billingAccount/123456/providers/Microsoft.Consumption/reservationRecommendations/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Consumption/reservationRecommendations", + "location": "westus", + "sku": "Standard_DS1_v2", + "kind": "legacy", + "properties": { + "meterId": "00000000-0000-0000-0000-000000000000", + "term": "P1Y", + "costWithNoReservedInstances": 10.0785105, + "recommendedQuantity": 1, + "totalCostWithReservedInstances": 13.48, + "netSavings": 0.68, + "firstUsageDate": "2019-07-07T00:00:00-07:00", + "scope": "Shared", + "lookBackPeriod": "Last7Days", + "instanceFlexibilityRatio": 1, + "instanceFlexibilityGroup": "DSv2 Series", + "normalizedSize": "Standard_DS1", + "recommendedQuantityNormalized": 1.2, + "skuProperties": [ + { + "name": "SkuDisplayName", + "value": "B" + }, + { + "name": "CPU", + "value": "1" + } + ] + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D&" + } + }, + "204": {} + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsByBillingProfile.json new file mode 100644 index 000000000000..7e4057d3439d --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsByBillingProfile.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/123456/billingProfiles/6420" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/123456/billingProfiles/6420/providers/Microsoft.Consumption/reservationRecommendations/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Consumption/reservationRecommendations", + "location": "westus", + "sku": "Standard_DS1_v2", + "kind": "modern", + "properties": { + "meterId": "00000000-0000-0000-0000-000000000000", + "term": "P1Y", + "costWithNoReservedInstances": { + "currency": "USD", + "value": 1.4749000882 + }, + "recommendedQuantity": 1, + "totalCostWithReservedInstances": { + "currency": "USD", + "value": 1.07665757024628 + }, + "netSavings": { + "currency": "USD", + "value": 0.39824251795372 + }, + "firstUsageDate": "2019-07-07T00:00:00-07:00", + "scope": "Shared", + "lookBackPeriod": 7, + "instanceFlexibilityRatio": 1, + "instanceFlexibilityGroup": "DSv2 Series", + "normalizedSize": "Standard_DS1_v2", + "recommendedQuantityNormalized": 1, + "skuProperties": [ + { + "name": "Cores", + "value": "1" + }, + { + "name": "Ram", + "value": "1" + } + ] + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/123456/billingProfiles/6420/providers/Microsoft.Consumption/reservationRecommendations/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Consumption/reservationRecommendations", + "location": "westus", + "sku": "Standard_DS1_v2", + "kind": "modern", + "properties": { + "meterId": "00000000-0000-0000-0000-000000000000", + "term": "P1Y", + "costWithNoReservedInstances": { + "currency": "USD", + "value": 1.4896 + }, + "recommendedQuantity": 1, + "totalCostWithReservedInstances": { + "currency": "USD", + "value": 1.08265753424628 + }, + "netSavings": { + "currency": "USD", + "value": 0.40694246575372 + }, + "firstUsageDate": "2019-07-07T00:00:00-07:00", + "scope": "Shared", + "lookBackPeriod": 7, + "instanceFlexibilityRatio": 1, + "instanceFlexibilityGroup": "DSv2 Series", + "normalizedSize": "Standard_DS1", + "recommendedQuantityNormalized": 1.2, + "skuProperties": [ + { + "name": "SkuDisplayName", + "value": "B" + }, + { + "name": "CPU", + "value": "1" + } + ] + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D&" + } + }, + "204": {} + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsByResourceGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsByResourceGroup.json new file mode 100644 index 000000000000..1a1c1fb6979e --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsByResourceGroup.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGrouups/testGroup/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations1", + "name": "reservationRecommendations1", + "type": "Microsoft.Consumption/reservationRecommendations", + "sku": "Standard_DS1_v2", + "location": "northeurope", + "kind": "legacy", + "properties": { + "lookBackPeriod": "Last7Days", + "meterId": "00000000-0000-0000-0000-000000000000", + "term": "P1Y", + "costWithNoReservedInstances": 0.0, + "recommendedQuantity": 1, + "totalCostWithReservedInstances": 0.0, + "netSavings": 4.634521202630137, + "firstUsageDate": "2018-03-06T00:00:00Z", + "scope": "Single", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations2", + "name": "reservationRecommendations2", + "type": "Microsoft.Consumption/reservationRecommendations", + "sku": "Standard_DS1_v2", + "location": "northeurope", + "kind": "legacy", + "properties": { + "lookBackPeriod": "Last7Days", + "meterId": "00000000-0000-0000-0000-000000000000", + "term": "P3Y", + "costWithNoReservedInstances": 0.0, + "recommendedQuantity": 1, + "totalCostWithReservedInstances": 0.0, + "netSavings": 7.2893157231780812, + "firstUsageDate": "2018-03-06T00:00:00Z", + "scope": "Single", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.Consumption/reservationRecommendations?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D&" + } + }, + "204": {} + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsBySubscription.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsBySubscription.json new file mode 100644 index 000000000000..eb4ec8490475 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsBySubscription.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations1", + "name": "reservationRecommendations1", + "type": "Microsoft.Consumption/reservationRecommendations", + "sku": "Standard_DS1_v2", + "location": "northeurope", + "kind": "legacy", + "properties": { + "lookBackPeriod": "Last7Days", + "meterId": "00000000-0000-0000-0000-000000000000", + "term": "P1Y", + "costWithNoReservedInstances": 0.0, + "recommendedQuantity": 1, + "totalCostWithReservedInstances": 0.0, + "netSavings": 4.634521202630137, + "firstUsageDate": "2018-03-06T00:00:00Z", + "scope": "Single", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations2", + "name": "reservationRecommendations2", + "type": "Microsoft.Consumption/reservationRecommendations", + "sku": "Standard_DS1_v2", + "location": "northeurope", + "kind": "legacy", + "properties": { + "lookBackPeriod": "Last7Days", + "meterId": "00000000-0000-0000-0000-000000000000", + "term": "P3Y", + "costWithNoReservedInstances": 0.0, + "recommendedQuantity": 1, + "totalCostWithReservedInstances": 0.0, + "netSavings": 7.2893157231780812, + "firstUsageDate": "2018-03-06T00:00:00Z", + "scope": "Single", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D&" + } + }, + "204": {} + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsFilterBySubscriptionForScopeLookBackPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsFilterBySubscriptionForScopeLookBackPeriod.json new file mode 100644 index 000000000000..bbca5db6fd42 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsFilterBySubscriptionForScopeLookBackPeriod.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "$filter": "properties/scope eq 'Single' AND properties/lookBackPeriod eq 'Last7Days'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations1", + "name": "reservationRecommendations1", + "type": "Microsoft.Consumption/reservationRecommendations", + "sku": "Standard_DS1_v2", + "location": "northeurope", + "kind": "legacy", + "properties": { + "lookBackPeriod": "Last7Days", + "meterId": "00000000-0000-0000-0000-000000000000", + "term": "P1Y", + "costWithNoReservedInstances": 0.0, + "recommendedQuantity": 1, + "totalCostWithReservedInstances": 0.0, + "netSavings": 4.634521202630137, + "firstUsageDate": "2018-03-06T00:00:00Z", + "scope": "Single", + "skuProperties": [ + { + "name": "Cores", + "value": "1" + }, + { + "name": "Ram", + "value": "1" + } + ], + "subscriptionId": "00000000-0000-0000-0000-000000000000" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations2", + "name": "reservationRecommendations2", + "type": "Microsoft.Consumption/reservationRecommendations", + "sku": "Standard_DS1_v2", + "location": "northeurope", + "kind": "legacy", + "properties": { + "lookBackPeriod": "Last7Days", + "meterId": "00000000-0000-0000-0000-000000000000", + "term": "P3Y", + "costWithNoReservedInstances": 0.0, + "recommendedQuantity": 1, + "totalCostWithReservedInstances": 0.0, + "netSavings": 7.2893157231780812, + "firstUsageDate": "2018-03-06T00:00:00Z", + "scope": "Single", + "skuProperties": [ + { + "name": "SkuDisplayName", + "value": "B" + }, + { + "name": "CPU", + "value": "1" + } + ], + "subscriptionId": "00000000-0000-0000-0000-000000000000" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations?api-version=2021-10-01&$filter=properties/scope+eq+'Single'+AND+properties/lookBackPeriod+eq+'Last7Days'&$skiptoken=AQAAAA%3D%3D&" + } + }, + "204": {} + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDaily.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDaily.json new file mode 100644 index 000000000000..59cdade1bdca --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDaily.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "grain": "daily", + "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-11-20" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationSummaries/20171001", + "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171001", + "type": "Microsoft.Consumption/reservationSummaries", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "skuName": "Standard_D8s_v3", + "kind": "Reservation", + "reservedHours": 0.0, + "usageDate": "2017-10-01T00:00:00Z", + "usedHours": 0.0, + "minUtilizationPercentage": 0.0, + "avgUtilizationPercentage": 0.0, + "maxUtilizationPercentage": 0.0, + "purchasedQuantity": 0, + "remainingQuantity": 0, + "totalReservedQuantity": 155, + "usedQuantity": 0, + "utilizedPercentage": 0 + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDailyWithBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDailyWithBillingAccountId.json new file mode 100644 index 000000000000..477985e88d1d --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDailyWithBillingAccountId.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/12345", + "grain": "daily", + "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-11-20" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.Consumption/reservationSummaries/reservationSummaries_Id1", + "name": "reservationSummaries_Id1", + "type": "Microsoft.Consumption/reservationSummaries", + "tags": null, + "properties": { + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "skuName": "Standard_B1s", + "reservedHours": 720, + "usageDate": "2018-09-01T00:00:00-07:00", + "usedHours": 0, + "minUtilizationPercentage": 0, + "avgUtilizationPercentage": 0, + "maxUtilizationPercentage": 0 + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDailyWithBillingProfileId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDailyWithBillingProfileId.json new file mode 100644 index 000000000000..9b2696c73635 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDailyWithBillingProfileId.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579", + "grain": "daily", + "startDate": "2017-10-01", + "endDate": "2017-11-20" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579/providers/Microsoft.Consumption/reservationSummaries/reservationSummaries_Id1", + "name": "reservationSummaries_Id1", + "type": "Microsoft.Consumption/reservationSummaries", + "tags": null, + "properties": { + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "skuName": "Standard_B1s", + "reservedHours": 720, + "usageDate": "2018-09-01T00:00:00-07:00", + "usedHours": 0, + "minUtilizationPercentage": 0, + "avgUtilizationPercentage": 0, + "maxUtilizationPercentage": 0 + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDailyWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDailyWithReservationId.json new file mode 100644 index 000000000000..ba32a10d5afb --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDailyWithReservationId.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "grain": "daily", + "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-11-20" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationSummaries/20171001", + "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171001", + "type": "Microsoft.Consumption/reservationSummaries", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "skuName": "Standard_D8s_v3", + "kind": "Reservation", + "reservedHours": 0.0, + "usageDate": "2017-10-01T00:00:00Z", + "usedHours": 0.0, + "minUtilizationPercentage": 0.0, + "avgUtilizationPercentage": 0.0, + "maxUtilizationPercentage": 0.0, + "purchasedQuantity": 0, + "remainingQuantity": 0, + "totalReservedQuantity": 155, + "usedQuantity": 0, + "utilizedPercentage": 0 + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthly.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthly.json new file mode 100644 index 000000000000..4a69199021a5 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthly.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "grain": "monthly" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationSummaries/20171001", + "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171001", + "type": "Microsoft.Consumption/reservationSummaries", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "skuName": "Standard_D8s_v3", + "kind": "Reservation", + "reservedHours": 0.0, + "usageDate": "2017-10-01T00:00:00Z", + "usedHours": 0.0, + "minUtilizationPercentage": 0.0, + "avgUtilizationPercentage": 0.0, + "maxUtilizationPercentage": 0.0, + "purchasedQuantity": 0, + "remainingQuantity": 0, + "totalReservedQuantity": 155, + "usedQuantity": 0, + "utilizedPercentage": 0 + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithBillingAccountId.json new file mode 100644 index 000000000000..ea5e8df55e85 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithBillingAccountId.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/12345", + "grain": "monthly" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.Consumption/reservationSummaries/reservationSummaries_Id1", + "name": "reservationSummaries_Id1", + "type": "Microsoft.Consumption/reservationSummaries", + "tags": null, + "properties": { + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "skuName": "Standard_B1s", + "reservedHours": 720, + "usageDate": "2018-09-01T00:00:00-07:00", + "usedHours": 0, + "minUtilizationPercentage": 0, + "avgUtilizationPercentage": 0, + "maxUtilizationPercentage": 0 + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithBillingProfileId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithBillingProfileId.json new file mode 100644 index 000000000000..6b56c52a7f93 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithBillingProfileId.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579", + "grain": "monthly" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579/providers/Microsoft.Consumption/reservationSummaries/reservationSummaries_Id1", + "name": "reservationSummaries_Id1", + "type": "Microsoft.Consumption/reservationSummaries", + "tags": null, + "properties": { + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "skuName": "Standard_B1s", + "reservedHours": 720, + "usageDate": "2018-09-01T00:00:00-07:00", + "usedHours": 0, + "minUtilizationPercentage": 0, + "avgUtilizationPercentage": 0, + "maxUtilizationPercentage": 0 + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json new file mode 100644 index 000000000000..83fd78fb6dcc --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579", + "grain": "monthly", + "reservationId": "1c6b6358-709f-484c-85f1-72e862a0cf3b", + "reservationOrderId": "9f39ba10-794f-4dcb-8f4b-8d0cb47c27dc" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579/providers/Microsoft.Consumption/reservationSummaries/reservationSummaries_Id1", + "name": "reservationSummaries_Id1", + "type": "Microsoft.Consumption/reservationSummaries", + "tags": null, + "properties": { + "reservationOrderId": "9f39ba10-794f-4dcb-8f4b-8d0cb47c27dc", + "reservationId": "1c6b6358-709f-484c-85f1-72e862a0cf3b", + "skuName": "Standard_B1s", + "reservedHours": 720, + "usageDate": "2018-09-01T00:00:00-07:00", + "usedHours": 0, + "minUtilizationPercentage": 0, + "avgUtilizationPercentage": 0, + "maxUtilizationPercentage": 0 + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithReservationId.json new file mode 100644 index 000000000000..e0f144b3ac92 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithReservationId.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "grain": "monthly" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationSummaries/20171001", + "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171001", + "type": "Microsoft.Consumption/reservationSummaries", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "skuName": "Standard_D8s_v3", + "kind": "Reservation", + "reservedHours": 0.0, + "usageDate": "2017-10-01T00:00:00Z", + "usedHours": 0.0, + "minUtilizationPercentage": 0.0, + "avgUtilizationPercentage": 0.0, + "maxUtilizationPercentage": 0.0, + "purchasedQuantity": 0, + "remainingQuantity": 0, + "totalReservedQuantity": 155, + "usedQuantity": 0, + "utilizedPercentage": 0 + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationTransactionsListByBillingProfileId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationTransactionsListByBillingProfileId.json new file mode 100644 index 000000000000..4fa040345c2b --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationTransactionsListByBillingProfileId.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "$filter": "properties/eventDate+ge+2020-05-20+AND+properties/eventDate+le+2020-05-30", + "billingAccountId": "fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30", + "billingProfileId": "Z76D-SGAF-BG7-TGB" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/billingProfiles/Z76D-SGAF-BG7-TGB/providers/Microsoft.Consumption/reservationTransactions", + "name": "a838a8c3-a408-49e1-ac90-42cb95bff9b2", + "type": "Microsoft.Consumption/reservationTransactions", + "properties": { + "eventDate": "2020-04-25T21:21:38Z", + "reservationOrderId": "a838a8c3-a408-49e1-ac90-42cb95bff9b2", + "description": "Reserved VM Instance, Standard_B1ls, US East, 3 Years", + "eventType": "Purchase", + "quantity": 1, + "amount": 1.44, + "currency": "USD", + "reservationOrderName": "VM_RI_03-25-2020_14-18", + "armSkuName": "Standard_B1ls", + "billingFrequency": "Recurring", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/billingProfiles/Z76D-SGAF-BG7-TGB", + "billingProfileName": "IT Department*", + "invoice": "T000456437", + "invoiceId": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/billingProfiles/Z76D-SGAF-BG7-TGB/invoices/T000456437", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/invoiceSections/QBTB-EYAK-PJA-TGB", + "invoiceSectionName": "IT Department", + "purchasingSubscriptionGuid": "d924ad15-4a3d-4047-971d-c8b1b300a97b", + "purchasingSubscriptionName": "contoso", + "region": "eastus", + "term": "P3Y" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationTransactionsListByEnrollmentNumber.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationTransactionsListByEnrollmentNumber.json new file mode 100644 index 000000000000..401b206645d9 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationTransactionsListByEnrollmentNumber.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "$filter": "properties/eventDate+ge+2020-05-20+AND+properties/eventDate+le+2020-05-30", + "billingAccountId": "123456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/billingAccounts/123456/providers/Microsoft.Consumption/reservationtransactions/201909091919", + "name": "201909091919", + "type": "Microsoft.Consumption/reservationTransactions", + "tags": [], + "properties": { + "eventDate": "2019-09-09T19:19:04Z", + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "description": "Standard_DS1_v2 westus 1 Year", + "eventType": "Refund", + "quantity": 1, + "amount": -21.000000000000000, + "currency": "USD", + "reservationOrderName": "Transaction-DS1_v2", + "purchasingEnrollment": "123456", + "armSkuName": "Standard_DS1_v2", + "term": "P1Y", + "region": "westus", + "purchasingSubscriptionGuid": "11111111-1111-1111-1111-11111111111", + "purchasingSubscriptionName": "Infrastructure Subscription", + "accountName": "Microsoft Infrastructure", + "accountOwnerEmail": "admin@microsoft.com", + "departmentName": "Unassigned", + "costCenter": "", + "currentEnrollment": "123456", + "billingFrequency": "recurring", + "billingMonth": 20190901, + "monetaryCommitment": 523123.90, + "overage": 23234.49 + } + }, + { + "id": "/billingAccounts/123456/providers/Microsoft.Consumption/reservationtransactions/201909091919", + "name": "201909091919", + "type": "Microsoft.Consumption/reservationTransactions", + "tags": [], + "properties": { + "eventDate": "2019-09-09T19:19:04Z", + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "description": "Standard_DS1_v2 westus 1 Year", + "eventType": "Purchase", + "quantity": 1, + "amount": 21.000000000000000, + "currency": "USD", + "reservationOrderName": "Transaction-DS1_v2", + "purchasingEnrollment": "123456", + "armSkuName": "Standard_DS1_v2", + "term": "P1Y", + "region": "westus", + "purchasingSubscriptionGuid": "11111111-1111-1111-1111-11111111111", + "purchasingSubscriptionName": "Infrastructure Subscription", + "accountName": "Microsoft Infrastructure", + "accountOwnerEmail": "admin@microsoft.com", + "departmentName": "Unassigned", + "costCenter": "", + "currentEnrollment": "123456", + "billingFrequency": "recurring", + "billingMonth": 20190901, + "monetaryCommitment": 523123.90, + "overage": 23234.49 + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/Tags.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/Tags.json new file mode 100644 index 000000000000..b75f41cd70b5 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/Tags.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12345", + "scope": "providers/Microsoft.CostManagement/billingAccounts/1234" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.CostManagement/billingAccounts/{billingaccount-id}/providers/Microsoft.Consumption/tags/tags1", + "name": "tags1", + "type": "Microsoft.Consumption/tags", + "eTag": "\"1d34d012214157f\"", + "properties": { + "tags": [ + { + "key": "Department" + }, + { + "key": "CostCenter" + }, + { + "key": "Portal" + }, + { + "key": "OrgName" + }, + { + "key": "Namespace" + }, + { + "key": "resourceType" + }, + { + "key": "Subsystem" + }, + { + "key": "Environment" + }, + { + "key": "clusterName" + } + ], + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingaccount-id}/providers/Microsoft.Consumption/tags/?$expand=properties/tags/value&api-version=2021-10-01&startDate=2020-12-01&endDate=2020-12-31&$top=1000&$skiptoken=AwAAAA%3D%3D", + "previousLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingaccount-id}/providers/Microsoft.Consumption/tags/?$expand=properties/tags/value&api-version=2021-10-01&startDate=2020-12-01&endDate=2020-12-31&$top=1000&$skiptoken=AQAAAA%3D%3D" + } + } + }, + "204": {} + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsExpand.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsExpand.json new file mode 100644 index 000000000000..f1c965ccbe1f --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsExpand.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "billingPeriodName": "201903", + "$expand": "meterDetails,additionalInfo", + "$filter": "tags eq 'dev:tools'", + "$top": 1 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "legacy", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "xxxxxxxx", + "billingAccountName": "Account Name 1", + "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z", + "billingProfileId": "xxxxxxxx", + "billingProfileName": "Account Name 1", + "accountName": "Account Name 1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "Subscription Name 1", + "date": "2019-03-30T00:00:00.0000000Z", + "product": "Product Name 1", + "partNumber": "Part Number 1", + "meterId": "00000000-0000-0000-0000-000000000000", + "meterDetails": { + "meterName": "Data Transfer Out (GB)", + "meterCategory": "Networking", + "meterSubCategory": "ExpressRoute", + "unitOfMeasure": "GB", + "serviceFamily": "Compute" + }, + "quantity": 0.8234, + "effectivePrice": 0.010464556322455, + "cost": 0.000342194841184, + "unitPrice": 3.54, + "billingCurrency": "CAD", + "resourceLocation": "USEast", + "consumedService": "Microsoft.Storage", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1", + "resourceName": "Resource Name 1", + "invoiceSection": "Invoice Section 1", + "costCenter": "DEV", + "resourceGroup": "Resource Group 1", + "offerId": "Offer Id 1", + "isAzureCreditEligible": false, + "chargeType": "Usage", + "frequency": "UsageBased", + "additionalInfo": "{\"MyType\":\"\",\"ServiceType\":\"\",\"VMName\":\"\",\"UsageType\":\"MyUsage\"}" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsList.json new file mode 100644 index 000000000000..9b2318d563e0 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsList.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "billingPeriodName": "201903" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "legacy", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "xxxxxxxx", + "billingAccountName": "Customer Name 1", + "billingPeriodStartDate": "2019-04-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-04-30T00:00:00.0000000Z", + "billingProfileId": "xxxxxxxx", + "billingProfileName": "Customer Name 1", + "accountName": "AccountName", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "SubscriptionName 1", + "date": "2019-04-09T00:00:00.0000000Z", + "product": "Product1", + "partNumber": "Part Number 1", + "meterId": "00000000-0000-0000-0000-000000000000", + "meterDetails": null, + "quantity": 0.000036, + "effectivePrice": 0.054693034210767, + "cost": 0.000001980949998, + "unitPrice": 5.47, + "billingCurrency": "CAD", + "resourceLocation": "uswest", + "consumedService": "Microsoft.ClassicStorage", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource-Group-westus/providers/Microsoft.ClassicStorage/storageAccounts/ResourceName1", + "resourceName": "ResourceName1", + "invoiceSection": "Invoice Section 1", + "costCenter": "BAS", + "resourceGroup": "Resource-Group-westus", + "offerId": "Offer Id 1", + "isAzureCreditEligible": false, + "chargeType": "Usage", + "frequency": "UsageBased" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByBillingAccount.json new file mode 100644 index 000000000000..3be178f12b5e --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByBillingAccount.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "scope": "providers/Microsoft.Billing/BillingAccounts/1234", + "billingPeriodName": "201903" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "legacy", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "xxxxxxxx", + "billingAccountName": "Account Name 1", + "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z", + "billingProfileId": "xxxxxxxx", + "billingProfileName": "Account Name 1", + "accountName": "Account Name 1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "Subscription Name 1", + "date": "2019-03-30T00:00:00.0000000Z", + "product": "Product Name 1", + "partNumber": "Part Number 1", + "meterId": "00000000-0000-0000-0000-000000000000", + "meterDetails": null, + "quantity": 0.7329, + "effectivePrice": 0.000402776395232, + "cost": 0.000295194820065, + "unitPrice": 4.38, + "billingCurrency": "CAD", + "resourceLocation": "USEast", + "consumedService": "Microsoft.Storage", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1", + "resourceName": "Resource Name 1", + "invoiceSection": "Invoice Section 1", + "costCenter": "DEV", + "resourceGroup": "Resource Group 1", + "offerId": "Offer Id 1", + "isAzureCreditEligible": false, + "chargeType": "Usage" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByDepartment.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByDepartment.json new file mode 100644 index 000000000000..7df56b0eb769 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByDepartment.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/Departments/1234", + "billingPeriodName": "201903" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/Departments/1234/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "legacy", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "xxxxxxxx", + "billingAccountName": "Account Name 1", + "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z", + "billingProfileId": "xxxxxxxx", + "billingProfileName": "Account Name 1", + "accountName": "Account Name 1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "Subscription Name 1", + "date": "2019-03-30T00:00:00.0000000Z", + "product": "Product Name 1", + "partNumber": "Part Number 1", + "meterId": "00000000-0000-0000-0000-000000000000", + "meterDetails": null, + "quantity": 0.7329, + "effectivePrice": 0.000402776395232, + "cost": 0.000295194820065, + "unitPrice": 4.38, + "billingCurrency": "CAD", + "resourceLocation": "USEast", + "consumedService": "Microsoft.Storage", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1", + "resourceName": "Resource Name 1", + "invoiceSection": "Invoice Section 1", + "costCenter": "DEV", + "resourceGroup": "Resource Group 1", + "offerId": "Offer Id 1", + "isAzureCreditEligible": false, + "chargeType": "Usage" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByEnrollmentAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByEnrollmentAccount.json new file mode 100644 index 000000000000..fad16b93d9dc --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByEnrollmentAccount.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/EnrollmentAccounts/1234", + "billingPeriodName": "201903" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/EnrollmentAccounts/1234/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "legacy", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "xxxxxxxx", + "billingAccountName": "Account Name 1", + "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z", + "billingProfileId": "xxxxxxxx", + "billingProfileName": "Account Name 1", + "accountName": "Account Name 1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "Subscription Name 1", + "date": "2019-03-30T00:00:00.0000000Z", + "product": "Product Name 1", + "partNumber": "Part Number 1", + "meterId": "00000000-0000-0000-0000-000000000000", + "meterDetails": null, + "quantity": 0.7329, + "effectivePrice": 0.000402776395232, + "cost": 0.000295194820065, + "unitPrice": 4.38, + "billingCurrency": "CAD", + "resourceLocation": "USEast", + "consumedService": "Microsoft.Storage", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1", + "resourceName": "Resource Name 1", + "invoiceSection": "Invoice Section 1", + "costCenter": "DEV", + "resourceGroup": "Resource Group 1", + "offerId": "Offer Id 1", + "isAzureCreditEligible": false, + "chargeType": "Usage" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCABillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCABillingAccount.json new file mode 100644 index 000000000000..f6bd5e4daf6d --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCABillingAccount.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/BillingAccounts/1234:56789" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/1234:56789/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "modern", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "1234:56789", + "billingAccountName": "Account Name 1", + "billingPeriodStartDate": "2021-10-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-10-31T00:00:00.0000000Z", + "billingProfileId": "2468", + "billingProfileName": "Account Name 1", + "subscriptionGuid": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "Subscription Name 1", + "date": "2019-10-30T00:00:00.0000000Z", + "meterId": "00000000-0000-0000-0000-000000000000", + "quantity": 0.7329, + "unitPrice": 4.38, + "billingCurrencyCode": "USD", + "resourceLocation": "USEast", + "consumedService": "Microsoft.Storage", + "instanceName": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1", + "invoiceSectionId": "98765", + "invoiceSectionName": "Invoice Section 1", + "costCenter": "DEV", + "resourceGroup": "Resource Group 1", + "isAzureCreditEligible": false, + "chargeType": "Usage", + "additionalInfo": "{ \"UsageType\": \"ComputeHR\", \"ImageType\": \"Windows Client BYOL\", \"ServiceType\": \"Standard_D1\", \"VMName\": null, \"VMProperties\": null, \"VCPUs\": 1, \"CPUs\": 0}", + "costInBillingCurrency": 1.84763819095477, + "costInPricingCurrency": 1.84763819095477, + "exchangeRate": "1", + "exchangeRateDate": "2021-10-01T00:00:00Z", + "invoiceId": "", + "previousInvoiceId": "", + "pricingCurrencyCode": "USD", + "product": "Virtual Machines D Series - D1 - US East", + "productIdentifier": "DZH318Z0BQ4B00FV", + "productOrderId": "a3db7880-70eb-4b4c-6a79-1425a058df5a", + "productOrderName": "Azure plan", + "publisherName": "Microsoft", + "publisherType": "Microsoft", + "resourceLocationNormalized": "US East", + "serviceInfo1": "", + "serviceInfo2": "Windows Client BYOL", + "servicePeriodEndDate": "2019-12-01T00:00:00Z", + "servicePeriodStartDate": "2021-10-01T00:00:00Z", + "customerTenantId": "00000000-0000-0000-0000-000000000000", + "customerName": "Modern Azure Customer 1", + "partnerTenantId": "00000000-0000-0000-0000-000000000000", + "partnerName": "Partner Name 1", + "resellerMpnId": "", + "resellerName": "Reseller Name 1", + "publisherId": "", + "reservationId": "", + "reservationName": "", + "frequency": "UsageBased", + "term": "", + "marketPrice": 0.077, + "costInUSD": 1.84763819095477, + "paygCostInBillingCurrency": 1.848, + "paygCostInUSD": 1.848, + "exchangeRatePricingToBilling": 0.077, + "partnerEarnedCreditRate": 0.077, + "partnerEarnedCreditApplied": "0", + "benefitId": "00000000-0000-0000-0000-000000000000", + "benefitName": "Reservation_purchase_03-09-2018_10-59" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCABillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCABillingProfile.json new file mode 100644 index 000000000000..3206ea352f20 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCABillingProfile.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/BillingAccounts/1234:56789/billingProfiles/2468" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/1234:56789/billingProfiles/2468/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "modern", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "1234:56789", + "billingAccountName": "Account Name 1", + "billingPeriodStartDate": "2021-10-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-10-31T00:00:00.0000000Z", + "billingProfileId": "2468", + "billingProfileName": "Account Name 1", + "subscriptionGuid": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "Subscription Name 1", + "date": "2019-10-30T00:00:00.0000000Z", + "meterId": "00000000-0000-0000-0000-000000000000", + "quantity": 0.7329, + "unitPrice": 4.38, + "billingCurrencyCode": "USD", + "resourceLocation": "USEast", + "consumedService": "Microsoft.Storage", + "instanceName": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1", + "invoiceSectionId": "98765", + "invoiceSectionName": "Invoice Section 1", + "costCenter": "DEV", + "resourceGroup": "Resource Group 1", + "isAzureCreditEligible": false, + "chargeType": "Usage", + "additionalInfo": "{ \"UsageType\": \"ComputeHR\", \"ImageType\": \"Windows Client BYOL\", \"ServiceType\": \"Standard_D1\", \"VMName\": null, \"VMProperties\": null, \"VCPUs\": 1, \"CPUs\": 0}", + "costInBillingCurrency": 1.84763819095477, + "costInPricingCurrency": 1.84763819095477, + "exchangeRate": "1", + "exchangeRateDate": "2021-10-01T00:00:00Z", + "invoiceId": "", + "previousInvoiceId": "", + "pricingCurrencyCode": "USD", + "product": "Virtual Machines D Series - D1 - US East", + "productIdentifier": "DZH318Z0BQ4B00FV", + "productOrderId": "a3db7880-70eb-4b4c-6a79-1425a058df5a", + "productOrderName": "Azure plan", + "publisherName": "Microsoft", + "publisherType": "Microsoft", + "resourceLocationNormalized": "US East", + "serviceInfo1": "", + "serviceInfo2": "Windows Client BYOL", + "servicePeriodEndDate": "2019-12-01T00:00:00Z", + "servicePeriodStartDate": "2021-10-01T00:00:00Z", + "customerTenantId": "00000000-0000-0000-0000-000000000000", + "customerName": "Modern Azure Customer 1", + "partnerTenantId": "00000000-0000-0000-0000-000000000000", + "partnerName": "Partner Name 1", + "resellerMpnId": "", + "resellerName": "Reseller Name 1", + "publisherId": "", + "reservationId": "", + "reservationName": "", + "frequency": "UsageBased", + "term": "", + "marketPrice": 0.077, + "costInUSD": 1.84763819095477, + "paygCostInBillingCurrency": 1.848, + "paygCostInUSD": 1.848, + "exchangeRatePricingToBilling": 0.077, + "partnerEarnedCreditRate": 0.077, + "partnerEarnedCreditApplied": "0", + "benefitId": "00000000-0000-0000-0000-000000000000", + "benefitName": "Reservation_purchase_03-09-2018_10-59" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCACustomer.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCACustomer.json new file mode 100644 index 000000000000..36ae95ed5010 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCACustomer.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/BillingAccounts/1234:56789/customers/00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/1234:56789/customers/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "modern", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "1234:56789", + "billingAccountName": "Account Name 1", + "billingPeriodStartDate": "2021-10-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-10-31T00:00:00.0000000Z", + "billingProfileId": "2468", + "billingProfileName": "Account Name 1", + "subscriptionGuid": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "Subscription Name 1", + "date": "2019-10-30T00:00:00.0000000Z", + "meterId": "00000000-0000-0000-0000-000000000000", + "quantity": 0.7329, + "unitPrice": 4.38, + "billingCurrencyCode": "USD", + "resourceLocation": "USEast", + "consumedService": "Microsoft.Storage", + "instanceName": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1", + "invoiceSectionId": "98765", + "invoiceSectionName": "Invoice Section 1", + "costCenter": "DEV", + "resourceGroup": "Resource Group 1", + "isAzureCreditEligible": false, + "chargeType": "Usage", + "additionalInfo": "{ \"UsageType\": \"ComputeHR\", \"ImageType\": \"Windows Client BYOL\", \"ServiceType\": \"Standard_D1\", \"VMName\": null, \"VMProperties\": null, \"VCPUs\": 1, \"CPUs\": 0}", + "costInBillingCurrency": 1.84763819095477, + "costInPricingCurrency": 1.84763819095477, + "exchangeRate": "1", + "exchangeRateDate": "2021-10-01T00:00:00Z", + "invoiceId": "", + "previousInvoiceId": "", + "pricingCurrencyCode": "USD", + "product": "Virtual Machines D Series - D1 - US East", + "productIdentifier": "DZH318Z0BQ4B00FV", + "productOrderId": "a3db7880-70eb-4b4c-6a79-1425a058df5a", + "productOrderName": "Azure plan", + "publisherName": "Microsoft", + "publisherType": "Microsoft", + "resourceLocationNormalized": "US East", + "serviceInfo1": "", + "serviceInfo2": "Windows Client BYOL", + "servicePeriodEndDate": "2019-12-01T00:00:00Z", + "servicePeriodStartDate": "2021-10-01T00:00:00Z", + "customerTenantId": "00000000-0000-0000-0000-000000000000", + "customerName": "Modern Azure Customer 1", + "partnerTenantId": "00000000-0000-0000-0000-000000000000", + "partnerName": "Partner Name 1", + "resellerMpnId": "", + "resellerName": "Reseller Name 1", + "publisherId": "", + "reservationId": "", + "reservationName": "", + "frequency": "UsageBased", + "term": "", + "marketPrice": 0.077, + "costInUSD": 1.84763819095477, + "paygCostInBillingCurrency": 1.848, + "paygCostInUSD": 1.848, + "exchangeRatePricingToBilling": 0.077, + "partnerEarnedCreditRate": 0.077, + "partnerEarnedCreditApplied": "0", + "benefitId": "00000000-0000-0000-0000-000000000000", + "benefitName": "Reservation_purchase_03-09-2018_10-59" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCAInvoiceSection.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCAInvoiceSection.json new file mode 100644 index 000000000000..701502c1cd02 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCAInvoiceSection.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/BillingAccounts/1234:56789/invoiceSections/98765" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/1234:56789/invoiceSections/98765/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "modern", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "1234:56789", + "billingAccountName": "Account Name 1", + "billingPeriodStartDate": "2021-10-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-10-31T00:00:00.0000000Z", + "billingProfileId": "2468", + "billingProfileName": "Account Name 1", + "subscriptionGuid": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "Subscription Name 1", + "date": "2019-10-30T00:00:00.0000000Z", + "meterId": "00000000-0000-0000-0000-000000000000", + "quantity": 0.7329, + "unitPrice": 4.38, + "billingCurrencyCode": "USD", + "resourceLocation": "USEast", + "consumedService": "Microsoft.Storage", + "instanceName": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1", + "invoiceSectionId": "98765", + "invoiceSectionName": "Invoice Section 1", + "costCenter": "DEV", + "resourceGroup": "Resource Group 1", + "isAzureCreditEligible": false, + "chargeType": "Usage", + "additionalInfo": "{ \"UsageType\": \"ComputeHR\", \"ImageType\": \"Windows Client BYOL\", \"ServiceType\": \"Standard_D1\", \"VMName\": null, \"VMProperties\": null, \"VCPUs\": 1, \"CPUs\": 0}", + "costInBillingCurrency": 1.84763819095477, + "costInPricingCurrency": 1.84763819095477, + "exchangeRate": "1", + "exchangeRateDate": "2021-10-01T00:00:00Z", + "invoiceId": "", + "previousInvoiceId": "", + "pricingCurrencyCode": "USD", + "product": "Virtual Machines D Series - D1 - US East", + "productIdentifier": "DZH318Z0BQ4B00FV", + "productOrderId": "a3db7880-70eb-4b4c-6a79-1425a058df5a", + "productOrderName": "Azure plan", + "publisherName": "Microsoft", + "publisherType": "Microsoft", + "resourceLocationNormalized": "US East", + "serviceInfo1": "", + "serviceInfo2": "Windows Client BYOL", + "servicePeriodEndDate": "2019-12-01T00:00:00Z", + "servicePeriodStartDate": "2021-10-01T00:00:00Z", + "customerTenantId": "00000000-0000-0000-0000-000000000000", + "customerName": "Modern Azure Customer 1", + "partnerTenantId": "00000000-0000-0000-0000-000000000000", + "partnerName": "Partner Name 1", + "resellerMpnId": "", + "resellerName": "Reseller Name 1", + "publisherId": "", + "reservationId": "", + "reservationName": "", + "frequency": "UsageBased", + "term": "", + "marketPrice": 0.077, + "costInUSD": 1.84763819095477, + "paygCostInBillingCurrency": 1.848, + "paygCostInUSD": 1.848, + "exchangeRatePricingToBilling": 0.077, + "partnerEarnedCreditRate": 0.077, + "partnerEarnedCreditApplied": "0", + "benefitId": "00000000-0000-0000-0000-000000000000", + "benefitName": "Reservation_purchase_03-09-2018_10-59" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByManagementGroup.json new file mode 100644 index 000000000000..4adbb2002171 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByManagementGroup.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "managementGroupId": "managementGroupForTest", + "billingPeriodName": "201903", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "legacy", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "xxxxxxxx", + "billingAccountName": "Account Name 1", + "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z", + "billingProfileId": "xxxxxxxx", + "billingProfileName": "Account Name 1", + "accountName": "Account Name 1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "Subscription Name 1", + "date": "2019-03-30T00:00:00.0000000Z", + "product": "Product Name 1", + "partNumber": "Part Number 1", + "meterId": "00000000-0000-0000-0000-000000000000", + "meterDetails": null, + "quantity": 0.8234, + "effectivePrice": 0.010534556373432, + "cost": 0.000342194841184, + "unitPrice": 3.74, + "billingCurrency": "CAD", + "resourceLocation": "USEast", + "consumedService": "Microsoft.Storage", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1", + "resourceName": "Resource Name 1", + "invoiceSection": "Invoice Section 1", + "costCenter": "DEV", + "resourceGroup": "Resource Group 1", + "offerId": "Offer Id 1", + "isAzureCreditEligible": false, + "chargeType": "Usage" + } + }, + { + "id": "/scope/providers/Microsoft.Billing/billingPeriods/20180801/providers/Microsoft.Consumption/usageDetails/usageDetails_Id2", + "name": "usageDetails_Id2", + "type": "Microsoft.Consumption/usageDetails", + "kind": "legacy", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "xxxxxxxx", + "billingAccountName": "Account Name 2", + "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z", + "billingProfileId": "xxxxxxxx", + "billingProfileName": "Account Name 2", + "accountName": "Account Name 1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "Subscription Name 1", + "date": "2019-03-30T00:00:00.0000000Z", + "product": "Product Name 2", + "partNumber": "Part Number 2", + "meterId": "11111111-1111-1111-1111-111111111111", + "meterDetails": null, + "quantity": 0.7329, + "effectivePrice": 0.000402776395232, + "cost": 0.000295194820065, + "unitPrice": 4.38, + "billingCurrency": "CAD", + "resourceLocation": "USEast", + "consumedService": "Microsoft.Storage", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 2/providers/Microsoft.Storage/storageAccounts/Resource Name 2", + "resourceName": "Resource Name 2", + "invoiceSection": "Invoice Section 2", + "costCenter": "DEV", + "resourceGroup": "Resource Group 2", + "offerId": "Offer Id 2", + "isAzureCreditEligible": false, + "chargeType": "Usage" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMetricActualCost.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMetricActualCost.json new file mode 100644 index 000000000000..443e33ecbdcc --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMetricActualCost.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "metric": "actualcost", + "billingPeriodName": "201903" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "legacy", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "xxxxxxxx", + "billingAccountName": "Customer Name 1", + "billingPeriodStartDate": "2019-04-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-04-30T00:00:00.0000000Z", + "billingProfileId": "xxxxxxxx", + "billingProfileName": "Customer Name 1", + "accountName": "AccountName", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "SubscriptionName 1", + "date": "2019-04-09T00:00:00.0000000Z", + "product": "Product1", + "partNumber": "Part Number 1", + "meterId": "00000000-0000-0000-0000-000000000000", + "meterDetails": null, + "quantity": 0.000036, + "effectivePrice": 0.054693055510767, + "cost": 0.000001968949998, + "unitPrice": 5.47, + "billingCurrency": "CAD", + "resourceLocation": "uswest", + "consumedService": "Microsoft.ClassicStorage", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource-Group-westus/providers/Microsoft.ClassicStorage/storageAccounts/ResourceName1", + "resourceName": "ResourceName1", + "invoiceSection": "Invoice Section 1", + "costCenter": "BAS", + "resourceGroup": "Resource-Group-westus", + "offerId": "Offer Id 1", + "isAzureCreditEligible": false, + "chargeType": "Usage" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMetricAmortizedCost.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMetricAmortizedCost.json new file mode 100644 index 000000000000..f641e19d9cf6 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMetricAmortizedCost.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "metric": "amortizedcost", + "billingPeriodName": "201903" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "legacy", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "xxxxxxxx", + "billingAccountName": "Customer Name 1", + "billingPeriodStartDate": "2019-04-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-04-30T00:00:00.0000000Z", + "billingProfileId": "xxxxxxxx", + "billingProfileName": "Customer Name 1", + "accountName": "AccountName", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "SubscriptionName 1", + "date": "2019-04-09T00:00:00.0000000Z", + "product": "Product1", + "partNumber": "Part Number 1", + "meterId": "00000000-0000-0000-0000-000000000000", + "meterDetails": null, + "quantity": 0.000036, + "effectivePrice": 0.054693055510767, + "cost": 0.000001968949998, + "unitPrice": 5.47, + "billingCurrency": "CAD", + "resourceLocation": "uswest", + "consumedService": "Microsoft.ClassicStorage", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource-Group-westus/providers/Microsoft.ClassicStorage/storageAccounts/ResourceName1", + "resourceName": "ResourceName1", + "invoiceSection": "Invoice Section 1", + "costCenter": "BAS", + "resourceGroup": "Resource-Group-westus", + "offerId": "Offer Id 1", + "isAzureCreditEligible": false, + "chargeType": "Usage", + "frequency": "UsageBased" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMetricUsage.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMetricUsage.json new file mode 100644 index 000000000000..6b83fdee4d4f --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMetricUsage.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "metric": "usage", + "billingPeriodName": "201903" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "legacy", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "xxxxxxxx", + "billingAccountName": "Customer Name 1", + "billingPeriodStartDate": "2019-04-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-04-30T00:00:00.0000000Z", + "billingProfileId": "xxxxxxxx", + "billingProfileName": "Customer Name 1", + "accountName": "AccountName", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "SubscriptionName 1", + "date": "2019-04-09T00:00:00.0000000Z", + "product": "Product1", + "partNumber": "Part Number 1", + "meterId": "00000000-0000-0000-0000-000000000000", + "meterDetails": null, + "quantity": 0.000036, + "effectivePrice": 0.054693055510767, + "cost": 0.000001968949998, + "unitPrice": 5.47, + "billingCurrency": "CAD", + "resourceLocation": "uswest", + "consumedService": "Microsoft.ClassicStorage", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource-Group-westus/providers/Microsoft.ClassicStorage/storageAccounts/ResourceName1", + "resourceName": "ResourceName1", + "invoiceSection": "Invoice Section 1", + "costCenter": "BAS", + "resourceGroup": "Resource-Group-westus", + "offerId": "Offer Id 1", + "isAzureCreditEligible": false, + "chargeType": "Usage" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListFilterByTag.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListFilterByTag.json new file mode 100644 index 000000000000..4dfc34a0e408 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListFilterByTag.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "$filter": "tags eq 'dev:tools'", + "billingPeriodName": "201903" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "legacy", + "tags": { + "dev": "tools" + }, + "properties": { + "billingAccountId": "xxxxxxxx", + "billingAccountName": "Account Name 1", + "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z", + "billingProfileId": "xxxxxxxx", + "billingProfileName": "Account Name 1", + "accountName": "Account Name 1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "Subscription Name 1", + "date": "2019-03-30T00:00:00.0000000Z", + "product": "Product Name 1", + "partNumber": "Part Number 1", + "meterId": "00000000-0000-0000-0000-000000000000", + "meterDetails": null, + "quantity": 0.8234, + "effectivePrice": 0.010534556373432, + "cost": 0.000342194841184, + "unitPrice": 3.74, + "billingCurrency": "CAD", + "resourceLocation": "USEast", + "consumedService": "Microsoft.Storage", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1", + "resourceName": "Resource Name 1", + "invoiceSection": "Invoice Section 1", + "costCenter": "DEV", + "resourceGroup": "Resource Group 1", + "offerId": "Offer Id 1", + "isAzureCreditEligible": false, + "chargeType": "Usage" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriod.json new file mode 100644 index 000000000000..b016a4da5c27 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriod.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "billingPeriodName": "201903" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "legacy", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "xxxxxxxx", + "billingAccountName": "Account Name 1", + "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z", + "billingProfileId": "xxxxxxxx", + "billingProfileName": "Account Name 1", + "accountName": "Account Name 1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "Subscription Name 1", + "date": "2019-03-30T00:00:00.0000000Z", + "product": "Product Name 1", + "partNumber": "Part Number 1", + "meterId": "00000000-0000-0000-0000-000000000000", + "meterDetails": null, + "quantity": 0.8234, + "effectivePrice": 0.010534556373432, + "cost": 0.000342194841184, + "unitPrice": 3.74, + "billingCurrency": "CAD", + "resourceLocation": "USEast", + "consumedService": "Microsoft.Storage", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1", + "resourceName": "Resource Name 1", + "invoiceSection": "Invoice Section 1", + "costCenter": "DEV", + "resourceGroup": "Resource Group 1", + "offerId": "Offer Id 1", + "isAzureCreditEligible": false, + "chargeType": "Usage" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByBillingAccount.json new file mode 100644 index 000000000000..f3115d03a845 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByBillingAccount.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/BillingAccounts/1234", + "billingPeriodName": "201903" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "legacy", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "xxxxxxxx", + "billingAccountName": "Account Name 1", + "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z", + "billingProfileId": "xxxxxxxx", + "billingProfileName": "Account Name 1", + "accountName": "Account Name 1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "Subscription Name 1", + "date": "2019-03-30T00:00:00.0000000Z", + "product": "Product Name 1", + "partNumber": "Part Number 1", + "meterId": "00000000-0000-0000-0000-000000000000", + "meterDetails": null, + "quantity": 0.8234, + "effectivePrice": 0.010534556373432, + "cost": 0.000342194841184, + "unitPrice": 3.74, + "billingCurrency": "CAD", + "resourceLocation": "USEast", + "consumedService": "Microsoft.Storage", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1", + "resourceName": "Resource Name 1", + "invoiceSection": "Invoice Section 1", + "costCenter": "DEV", + "resourceGroup": "Resource Group 1", + "offerId": "Offer Id 1", + "isAzureCreditEligible": false, + "chargeType": "Usage" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByDepartment.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByDepartment.json new file mode 100644 index 000000000000..55e630ad8d66 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByDepartment.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/Departments/1234", + "billingPeriodName": "201903" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/Departments/1234/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "legacy", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "xxxxxxxx", + "billingAccountName": "Account Name 1", + "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z", + "billingProfileId": "xxxxxxxx", + "billingProfileName": "Account Name 1", + "accountName": "Account Name 1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "Subscription Name 1", + "date": "2019-03-30T00:00:00.0000000Z", + "product": "Product Name 1", + "partNumber": "Part Number 1", + "meterId": "00000000-0000-0000-0000-000000000000", + "meterDetails": null, + "quantity": 0.8234, + "effectivePrice": 0.010534556373432, + "cost": 0.000342194841184, + "unitPrice": 3.74, + "billingCurrency": "CAD", + "resourceLocation": "USEast", + "consumedService": "Microsoft.Storage", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1", + "resourceName": "Resource Name 1", + "invoiceSection": "Invoice Section 1", + "costCenter": "DEV", + "resourceGroup": "Resource Group 1", + "offerId": "Offer Id 1", + "isAzureCreditEligible": false, + "chargeType": "Usage" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByEnrollmentAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByEnrollmentAccount.json new file mode 100644 index 000000000000..8b8607576f3b --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByEnrollmentAccount.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/EnrollmentAccounts/1234", + "billingPeriodName": "201903" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/EnrollmentAccounts/1234/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "legacy", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "xxxxxxxx", + "billingAccountName": "Account Name 1", + "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z", + "billingProfileId": "xxxxxxxx", + "billingProfileName": "Account Name 1", + "accountName": "Account Name 1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "Subscription Name 1", + "date": "2019-03-30T00:00:00.0000000Z", + "product": "Product Name 1", + "partNumber": "Part Number 1", + "meterId": "00000000-0000-0000-0000-000000000000", + "meterDetails": null, + "quantity": 0.8234, + "effectivePrice": 0.010534556373432, + "cost": 0.000342194841184, + "unitPrice": 3.74, + "billingCurrency": "CAD", + "resourceLocation": "USEast", + "consumedService": "Microsoft.Storage", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1", + "resourceName": "Resource Name 1", + "invoiceSection": "Invoice Section 1", + "costCenter": "DEV", + "resourceGroup": "Resource Group 1", + "offerId": "Offer Id 1", + "isAzureCreditEligible": false, + "chargeType": "Usage" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByManagementGroup.json new file mode 100644 index 000000000000..ae4d933a8a26 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByManagementGroup.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "managementGroupId": "managementGroupForTest", + "billingPeriodName": "201903", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1", + "name": "usageDetails_Id1", + "type": "Microsoft.Consumption/usageDetails", + "kind": "legacy", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "xxxxxxxx", + "billingAccountName": "Account Name 1", + "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z", + "billingProfileId": "xxxxxxxx", + "billingProfileName": "Account Name 1", + "accountName": "Account Name 1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "Subscription Name 1", + "date": "2019-03-30T00:00:00.0000000Z", + "product": "Product Name 1", + "partNumber": "Part Number 1", + "meterId": "00000000-0000-0000-0000-000000000000", + "meterDetails": null, + "quantity": 0.8234, + "effectivePrice": 0.010534556373432, + "cost": 0.000342194841184, + "unitPrice": 3.74, + "billingCurrency": "CAD", + "resourceLocation": "USEast", + "consumedService": "Microsoft.Storage", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1", + "resourceName": "Resource Name 1", + "invoiceSection": "Invoice Section 1", + "costCenter": "DEV", + "resourceGroup": "Resource Group 1", + "offerId": "Offer Id 1", + "isAzureCreditEligible": false, + "chargeType": "Usage" + } + }, + { + "id": "/scope/providers/Microsoft.Billing/billingPeriods/billingPeriodName/providers/Microsoft.Consumption/usageDetails/usageDetails_Id2", + "name": "usageDetails_Id2", + "type": "Microsoft.Consumption/usageDetails", + "kind": "legacy", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingAccountId": "xxxxxxxx", + "billingAccountName": "Account Name 2", + "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z", + "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z", + "billingProfileId": "xxxxxxxx", + "billingProfileName": "Account Name 2", + "accountName": "Account Name 2", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "Subscription Name 2", + "date": "2019-03-30T00:00:00.0000000Z", + "product": "Product Name 2", + "partNumber": "Part Number 2", + "meterId": "11111111-1111-1111-1111-111111111111", + "meterDetails": null, + "quantity": 0.4759, + "effectivePrice": 0.073488920944598, + "cost": 0.000821821271948, + "unitPrice": 5.74, + "billingCurrency": "CAD", + "resourceLocation": "USEast", + "consumedService": "Microsoft.Storage", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 2/providers/Microsoft.Storage/storageAccounts/Resource Name 2", + "resourceName": "Resource Name 2", + "invoiceSection": "Invoice Section 2", + "costCenter": "DEV", + "resourceGroup": "Resource Group 2", + "offerId": "Offer Id 2", + "isAzureCreditEligible": false, + "chargeType": "UnusedReservation" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/readme.go.md b/specification/consumption/resource-manager/readme.go.md index f6628d3edcbb..ae1d8b934304 100644 --- a/specification/consumption/resource-manager/readme.go.md +++ b/specification/consumption/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: consumption clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/consumption/armconsumption +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) batch: diff --git a/specification/consumption/resource-manager/readme.md b/specification/consumption/resource-manager/readme.md index bdc8e3d7c472..bb35ea0a7971 100644 --- a/specification/consumption/resource-manager/readme.md +++ b/specification/consumption/resource-manager/readme.md @@ -26,18 +26,27 @@ These are the global settings for the Consumption API. ``` yaml openapi-type: arm -tag: package-2021-05 +tag: package-2021-10 ``` +### Tag: package-2021-10 + +These settings apply only when `--tag=package-2021-10` is specified on the command line. + +```yaml $(tag) == 'package-2021-10' +input-file: + - Microsoft.Consumption/stable/2021-10-01/consumption.json +``` ### Tag: package-2021-05 These settings apply only when `--tag=package-2021-05` is specified on the command line. -```yaml $(tag) == 'package-2021-05' +``` yaml $(tag) == 'package-2021-05' input-file: - Microsoft.Consumption/stable/2021-05-01/consumption.json ``` + ### Tag: package-2019-11 These settings apply only when `--tag=package-2019-11` is specified on the command line. @@ -230,6 +239,7 @@ This is not used by Autorest itself. swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-js @@ -436,7 +446,6 @@ directive: See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) - ## Python See configuration in [readme.python.md](./readme.python.md) diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/containerInstance.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/containerInstance.json new file mode 100644 index 000000000000..11fedc3ac944 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/containerInstance.json @@ -0,0 +1,2230 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-09-01", + "title": "ContainerInstanceManagementClient" + }, + "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}/providers/Microsoft.ContainerInstance/containerGroups": { + "get": { + "operationId": "ContainerGroups_List", + "x-ms-examples": { + "ContainerGroupsList": { + "$ref": "./examples/ContainerGroupsList.json" + } + }, + "summary": "Get a list of container groups in the specified subscription.", + "description": "Get a list of container groups in the specified subscription. This operation returns properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups": { + "get": { + "operationId": "ContainerGroups_ListByResourceGroup", + "x-ms-examples": { + "ContainerGroupsListByResourceGroup": { + "$ref": "./examples/ContainerGroupsListByResourceGroup.json" + } + }, + "summary": "Get a list of container groups in the specified subscription and resource group.", + "description": "Get a list of container groups in a specified subscription and resource group. This operation returns properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}": { + "get": { + "operationId": "ContainerGroups_Get", + "x-ms-examples": { + "ContainerGroupsGet_Succeeded": { + "$ref": "./examples/ContainerGroupsGet_Succeeded.json" + }, + "ContainerGroupsGet_Failed": { + "$ref": "./examples/ContainerGroupsGet_Failed.json" + } + }, + "summary": "Get the properties of the specified container group.", + "description": "Gets the properties of the specified container group in the specified subscription and resource group. The operation returns the properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "ContainerGroups_CreateOrUpdate", + "x-ms-examples": { + "ContainerGroupsCreateOrUpdate": { + "$ref": "./examples/ContainerGroupsCreateOrUpdate.json" + } + }, + "summary": "Create or update container groups.", + "description": "Create or update container groups with specified configurations.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + }, + { + "name": "containerGroup", + "description": "The properties of the container group to be created or updated.", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/ContainerGroup" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerGroup" + } + }, + "201": { + "description": "Created - the container group is created.", + "schema": { + "$ref": "#/definitions/ContainerGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "ContainerGroups_Update", + "x-ms-examples": { + "ContainerGroupsUpdate": { + "$ref": "./examples/ContainerGroupsUpdate.json" + } + }, + "summary": "Update container groups.", + "description": "Updates container group tags with specified values.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + }, + { + "name": "Resource", + "description": "The container group resource with just the tags to be updated.", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/Resource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "ContainerGroups_Delete", + "x-ms-examples": { + "ContainerGroupsDelete": { + "$ref": "./examples/ContainerGroupsDelete.json" + } + }, + "summary": "Delete the specified container group.", + "description": "Delete the specified container group in the specified subscription and resource group. The operation does not delete other resources provided by the user, such as volumes.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerGroup" + } + }, + "202": { + "description": "Delete started." + }, + "204": { + "description": "No Content - the specified container group was not found." + }, + "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.ContainerInstance/containerGroups/{containerGroupName}/restart": { + "post": { + "operationId": "ContainerGroups_Restart", + "x-ms-examples": { + "ContainerRestart": { + "$ref": "./examples/ContainerGroupsRestart.json" + } + }, + "summary": "Restarts all containers in a container group.", + "description": "Restarts all containers in a container group in place. If container image has updates, new image will be downloaded.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "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.ContainerInstance/containerGroups/{containerGroupName}/stop": { + "post": { + "operationId": "ContainerGroups_Stop", + "x-ms-examples": { + "ContainerStop": { + "$ref": "./examples/ContainerGroupsStop.json" + } + }, + "summary": "Stops all containers in a container group.", + "description": "Stops all containers in a container group. Compute resources will be deallocated and billing will stop.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/start": { + "post": { + "operationId": "ContainerGroups_Start", + "x-ms-examples": { + "ContainerStart": { + "$ref": "./examples/ContainerGroupsStart.json" + } + }, + "summary": "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" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + } + ], + "responses": { + "202": { + "description": "Started - the container group is starting." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/providers/Microsoft.ContainerInstance/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/OperationsList.json" + } + }, + "description": "List the operations for Azure Container Instance service.", + "parameters": [ + { + "$ref": "#/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" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/usages": { + "get": { + "operationId": "Location_ListUsage", + "x-ms-examples": { + "ContainerUsage": { + "$ref": "./examples/ContainerGroupUsage.json" + } + }, + "description": "Get the usage for a subscription", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UsageListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/logs": { + "get": { + "operationId": "Containers_ListLogs", + "x-ms-examples": { + "ContainerListLogs": { + "$ref": "./examples/ContainerListLogs.json" + } + }, + "summary": "Get the logs for a specified container instance.", + "description": "Get the logs for a specified container instance in a specified resource group and container group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + }, + { + "name": "containerName", + "in": "path", + "description": "The name of the container instance.", + "required": true, + "type": "string" + }, + { + "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", + "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": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Logs" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/exec": { + "post": { + "operationId": "Containers_ExecuteCommand", + "x-ms-examples": { + "ContainerExec": { + "$ref": "./examples/ContainerExec.json" + } + }, + "summary": "Executes a command in a specific container instance.", + "description": "Executes a command for a specific container instance in a specified resource group and container group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + }, + { + "name": "containerName", + "in": "path", + "description": "The name of the container instance.", + "required": true, + "type": "string" + }, + { + "name": "containerExecRequest", + "in": "body", + "description": "The request for the exec command.", + "required": true, + "schema": { + "$ref": "#/definitions/ContainerExecRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerExecResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/attach": { + "post": { + "operationId": "Containers_Attach", + "x-ms-examples": { + "ContainerAttach": { + "$ref": "./examples/ContainerAttach.json" + } + }, + "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" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + }, + { + "name": "containerName", + "in": "path", + "description": "The name of the container instance.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerAttachResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/cachedImages": { + "get": { + "operationId": "Location_ListCachedImages", + "x-ms-examples": { + "CachedImages": { + "$ref": "./examples/CachedImagesList.json" + } + }, + "summary": "Get the list of cached images.", + "description": "Get the list of cached images on specific OS type for a subscription in a region.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CachedImagesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/capabilities": { + "get": { + "operationId": "Location_ListCapabilities", + "x-ms-examples": { + "GetCapabilities": { + "$ref": "./examples/CapabilitiesList.json" + } + }, + "summary": "Get the list of capabilities of the location.", + "description": "Get the list of CPU/memory/GPU capabilities of a region.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CapabilitiesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$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" + } + } + } + } + } + }, + "definitions": { + "Container": { + "description": "A container instance.", + "type": "object", + "required": [ + "properties", + "name" + ], + "properties": { + "name": { + "description": "The user-provided name of the container instance.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of the container instance.", + "$ref": "#/definitions/ContainerProperties" + } + } + }, + "ContainerProperties": { + "description": "The container instance properties.", + "type": "object", + "required": [ + "image", + "resources" + ], + "properties": { + "image": { + "description": "The name of the image used to create the container instance.", + "type": "string" + }, + "command": { + "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.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerPort" + } + }, + "environmentVariables": { + "description": "The environment variables to set in the container instance.", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariable" + } + }, + "instanceView": { + "description": "The instance view of the container instance. Only valid in response.", + "readOnly": true, + "type": "object", + "properties": { + "restartCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The number of times that the container instance has been restarted." + }, + "currentState": { + "readOnly": true, + "description": "Current container instance state.", + "$ref": "#/definitions/ContainerState" + }, + "previousState": { + "readOnly": true, + "description": "Previous container instance state.", + "$ref": "#/definitions/ContainerState" + }, + "events": { + "readOnly": true, + "description": "The events of the container instance.", + "type": "array", + "items": { + "$ref": "#/definitions/Event" + } + } + } + }, + "resources": { + "description": "The resource requirements of the container instance.", + "$ref": "#/definitions/ResourceRequirements" + }, + "volumeMounts": { + "description": "The volume mounts available to the container instance.", + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + } + }, + "livenessProbe": { + "description": "The liveness probe.", + "$ref": "#/definitions/ContainerProbe" + }, + "readinessProbe": { + "description": "The readiness probe.", + "$ref": "#/definitions/ContainerProbe" + } + } + }, + "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": { + "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." + } + } + }, + "ResourceRequirements": { + "description": "The resource requirements.", + "type": "object", + "required": [ + "requests" + ], + "properties": { + "requests": { + "description": "The resource requests of this container instance.", + "$ref": "#/definitions/ResourceRequests" + }, + "limits": { + "description": "The resource limits of this container instance.", + "$ref": "#/definitions/ResourceLimits" + } + } + }, + "ResourceRequests": { + "description": "The resource requests.", + "type": "object", + "required": [ + "memoryInGB", + "cpu" + ], + "properties": { + "memoryInGB": { + "description": "The memory request in GB of this container instance.", + "type": "number", + "format": "double" + }, + "cpu": { + "description": "The CPU request of this container instance.", + "type": "number", + "format": "double" + }, + "gpu": { + "description": "The GPU request of this container instance.", + "$ref": "#/definitions/GpuResource" + } + } + }, + "ResourceLimits": { + "description": "The resource limits.", + "type": "object", + "properties": { + "memoryInGB": { + "description": "The memory limit in GB of this container instance.", + "type": "number", + "format": "double" + }, + "cpu": { + "description": "The CPU limit of this container instance.", + "type": "number", + "format": "double" + }, + "gpu": { + "description": "The GPU limit of this container instance.", + "$ref": "#/definitions/GpuResource" + } + } + }, + "GpuResource": { + "description": "The GPU resource.", + "type": "object", + "required": [ + "count", + "sku" + ], + "properties": { + "count": { + "description": "The count of the GPU resource.", + "type": "integer", + "format": "int32" + }, + "sku": { + "type": "string", + "description": "The SKU of the GPU resource.", + "enum": [ + "K80", + "P100", + "V100" + ], + "x-ms-enum": { + "name": "GpuSku", + "modelAsString": true + } + } + } + }, + "AzureFileVolume": { + "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", + "type": "object", + "required": [ + "shareName", + "storageAccountName" + ], + "properties": { + "shareName": { + "description": "The name of the Azure File share to be mounted as a volume.", + "type": "string" + }, + "readOnly": { + "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", + "type": "boolean" + }, + "storageAccountName": { + "description": "The name of the storage account that contains the Azure File share.", + "type": "string" + }, + "storageAccountKey": { + "description": "The storage account access key used to access the Azure File share.", + "type": "string" + } + } + }, + "EmptyDirVolume": { + "description": "The empty directory volume.", + "type": "object", + "properties": {} + }, + "SecretVolume": { + "description": "The secret volume.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "GitRepoVolume": { + "description": "Represents a volume that is populated with the contents of a git repository", + "required": [ + "repository" + ], + "properties": { + "directory": { + "description": "Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.", + "type": "string" + }, + "repository": { + "description": "Repository URL", + "type": "string" + }, + "revision": { + "description": "Commit hash for the specified revision.", + "type": "string" + } + } + }, + "Volume": { + "description": "The properties of the volume.", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of the volume.", + "type": "string" + }, + "azureFile": { + "description": "The Azure File volume.", + "$ref": "#/definitions/AzureFileVolume" + }, + "emptyDir": { + "description": "The empty directory volume.", + "$ref": "#/definitions/EmptyDirVolume" + }, + "secret": { + "description": "The secret volume.", + "$ref": "#/definitions/SecretVolume" + }, + "gitRepo": { + "description": "The git repo volume.", + "$ref": "#/definitions/GitRepoVolume" + } + } + }, + "VolumeMount": { + "description": "The properties of the volume mount.", + "type": "object", + "required": [ + "name", + "mountPath" + ], + "properties": { + "name": { + "description": "The name of the volume mount.", + "type": "string" + }, + "mountPath": { + "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", + "type": "string" + }, + "readOnly": { + "description": "The flag indicating whether the volume mount is read-only.", + "type": "boolean" + } + } + }, + "ContainerExec": { + "type": "object", + "description": "The container execution command, for liveness or readiness probe", + "properties": { + "command": { + "description": "The commands to execute within the container.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ContainerHttpGet": { + "type": "object", + "description": "The container Http Get settings, for liveness or readiness probe", + "properties": { + "path": { + "description": "The path to probe.", + "type": "string" + }, + "port": { + "type": "integer", + "description": "The port number to probe.", + "format": "int32" + }, + "scheme": { + "description": "The scheme.", + "type": "string", + "enum": [ + "http", + "https" + ], + "x-ms-enum": { + "name": "Scheme", + "modelAsString": true + } + }, + "httpHeaders": { + "description": "The HTTP headers.", + "type": "array", + "items": { + "$ref": "#/definitions/HttpHeader" + } + } + }, + "required": [ + "port" + ] + }, + "ContainerProbe": { + "type": "object", + "description": "The container probe, for liveness or readiness", + "properties": { + "exec": { + "description": "The execution command to probe", + "$ref": "#/definitions/ContainerExec" + }, + "httpGet": { + "description": "The Http Get settings to probe", + "$ref": "#/definitions/ContainerHttpGet" + }, + "initialDelaySeconds": { + "description": "The initial delay seconds.", + "type": "integer", + "format": "int32" + }, + "periodSeconds": { + "description": "The period seconds.", + "type": "integer", + "format": "int32" + }, + "failureThreshold": { + "description": "The failure threshold.", + "type": "integer", + "format": "int32" + }, + "successThreshold": { + "description": "The success threshold.", + "type": "integer", + "format": "int32" + }, + "timeoutSeconds": { + "description": "The timeout seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "ContainerGroup": { + "description": "A container group.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "type": "object", + "required": [ + "properties" + ], + "properties": { + "identity": { + "$ref": "#/definitions/ContainerGroupIdentity", + "description": "The identity of the container group, if configured." + }, + "properties": { + "x-ms-client-flatten": true, + "type": "object", + "description": "The container group properties", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the container group. This only appears in the response." + }, + "containers": { + "type": "array", + "description": "The containers within the container group.", + "items": { + "$ref": "#/definitions/Container" + } + }, + "imageRegistryCredentials": { + "type": "array", + "description": "The image registry credentials by which the container group is created from.", + "items": { + "$ref": "#/definitions/ImageRegistryCredential" + } + }, + "restartPolicy": { + "type": "string", + "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", + "enum": [ + "Always", + "OnFailure", + "Never" + ], + "x-ms-enum": { + "name": "ContainerGroupRestartPolicy", + "modelAsString": true + } + }, + "ipAddress": { + "description": "The IP address type of the container group.", + "$ref": "#/definitions/IpAddress" + }, + "osType": { + "type": "string", + "description": "The operating system type required by the containers in the container group.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": true + } + }, + "volumes": { + "type": "array", + "description": "The list of volumes that can be mounted by containers in this container group.", + "items": { + "$ref": "#/definitions/Volume" + } + }, + "instanceView": { + "description": "The instance view of the container group. Only valid in response.", + "readOnly": true, + "type": "object", + "properties": { + "events": { + "description": "The events of this container group.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Event" + } + }, + "state": { + "readOnly": true, + "type": "string", + "description": "The state of the container group. Only valid in response." + } + } + }, + "diagnostics": { + "description": "The diagnostic information for a container group.", + "$ref": "#/definitions/ContainerGroupDiagnostics" + }, + "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": [ + "containers", + "osType" + ] + } + } + } + ] + }, + "ContainerGroupIdentity": { + "description": "Identity for the container group.", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the container group identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id associated with the container group. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "The type of identity used for the container group. 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 container group.", + "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 container group. 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." + } + } + } + } + } + }, + "ImageRegistryCredential": { + "description": "Image registry credential.", + "type": "object", + "properties": { + "server": { + "type": "string", + "description": "The Docker image registry server without a protocol such as \"http\" and \"https\"." + }, + "username": { + "type": "string", + "description": "The username for the private registry." + }, + "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": [ + "server", + "username" + ] + }, + "ContainerGroupDiagnostics": { + "description": "Container group diagnostic information.", + "type": "object", + "properties": { + "logAnalytics": { + "description": "Container group log analytics information.", + "$ref": "#/definitions/LogAnalytics" + } + } + }, + "LogAnalytics": { + "description": "Container group log analytics information.", + "type": "object", + "properties": { + "workspaceId": { + "description": "The workspace id for log analytics", + "type": "string" + }, + "workspaceKey": { + "description": "The workspace key for log analytics", + "type": "string" + }, + "logType": { + "type": "string", + "description": "The log type to be used.", + "enum": [ + "ContainerInsights", + "ContainerInstanceLogs" + ], + "x-ms-enum": { + "name": "LogAnalyticsLogType", + "modelAsString": true + } + }, + "metadata": { + "type": "object", + "description": "Metadata for log analytics.", + "additionalProperties": { + "type": "string" + } + }, + "workspaceResourceId": { + "description": "The workspace resource id for log analytics", + "type": "string" + } + }, + "required": [ + "workspaceId", + "workspaceKey" + ] + }, + "ContainerGroupSubnetId": { + "description": "Container group subnet information.", + "type": "object", + "properties": { + "id": { + "description": "Resource ID of virtual network and subnet.", + "type": "string" + }, + "name": { + "description": "Friendly name for the subnet.", + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "IpAddress": { + "description": "IP address for the container group.", + "type": "object", + "properties": { + "ports": { + "type": "array", + "description": "The list of ports exposed on the container group.", + "items": { + "$ref": "#/definitions/Port" + } + }, + "type": { + "type": "string", + "description": "Specifies if the IP is exposed to the public internet or private VNET.", + "enum": [ + "Public", + "Private" + ], + "x-ms-enum": { + "name": "ContainerGroupIpAddressType", + "modelAsString": true + } + }, + "ip": { + "type": "string", + "description": "The IP exposed to the public internet." + }, + "dnsNameLabel": { + "type": "string", + "description": "The Dns name label for the IP." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "The FQDN for the IP." + } + }, + "required": [ + "ports", + "type" + ] + }, + "Port": { + "description": "The port exposed on the container group.", + "type": "object", + "properties": { + "protocol": { + "type": "string", + "description": "The protocol associated with the port.", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "ContainerGroupNetworkProtocol", + "modelAsString": true + } + }, + "port": { + "type": "integer", + "description": "The port number.", + "format": "int32" + } + }, + "required": [ + "port" + ] + }, + "ContainerPort": { + "description": "The port exposed on the container instance.", + "type": "object", + "properties": { + "protocol": { + "type": "string", + "description": "The protocol associated with the port.", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "ContainerNetworkProtocol", + "modelAsString": true + } + }, + "port": { + "type": "integer", + "format": "int32", + "description": "The port number exposed within the container group." + } + }, + "required": [ + "port" + ] + }, + "EnvironmentVariable": { + "description": "The environment variable to set within the container instance.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the environment variable." + }, + "value": { + "type": "string", + "description": "The value of the environment variable." + }, + "secureValue": { + "type": "string", + "description": "The value of the secure environment variable." + } + }, + "required": [ + "name" + ] + }, + "OperationListResult": { + "description": "The operation list response that contains all operations for Azure Container Instance service.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "The list of operations." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of operations." + } + } + }, + "Operation": { + "description": "An operation for Azure Container Instance service.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the operation." + }, + "display": { + "description": "The display information of the operation.", + "type": "object", + "properties": { + "provider": { + "description": "The name of the provider of the operation.", + "type": "string" + }, + "resource": { + "type": "string", + "description": "The name of the resource type of the operation." + }, + "operation": { + "description": "The friendly name of the operation.", + "type": "string" + }, + "description": { + "description": "The description of the operation.", + "type": "string" + } + } + }, + "properties": { + "type": "object", + "description": "The additional properties.", + "x-ms-client-flatten": true + }, + "origin": { + "type": "string", + "description": "The intended executor of the operation.", + "enum": [ + "User", + "System" + ], + "x-ms-enum": { + "name": "ContainerInstanceOperationsOrigin", + "modelAsString": true + } + } + }, + "required": [ + "name", + "display" + ] + }, + "UsageListResult": { + "description": "The response containing the usage data", + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "description": "The usage data.", + "items": { + "$ref": "#/definitions/Usage" + } + } + } + }, + "Usage": { + "description": "A single usage result", + "type": "object", + "properties": { + "unit": { + "readOnly": true, + "type": "string", + "description": "Unit of the usage result" + }, + "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": { + "readOnly": true, + "type": "object", + "description": "The name object of the resource", + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the resource" + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The localized name of the resource" + } + } + } + } + }, + "ContainerGroupListResult": { + "description": "The container group list response that contains the container group properties.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerGroup" + }, + "description": "The list of container groups." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of container groups." + } + } + }, + "Logs": { + "description": "The logs.", + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "The content of the log." + } + } + }, + "ContainerExecRequest": { + "description": "The container exec request.", + "type": "object", + "properties": { + "command": { + "type": "string", + "description": "The command to be executed." + }, + "terminalSize": { + "type": "object", + "description": "The size of the terminal.", + "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" + } + } + } + } + }, + "ContainerExecResponse": { + "description": "The information for the container exec command.", + "type": "object", + "properties": { + "webSocketUri": { + "type": "string", + "description": "The uri for the exec websocket." + }, + "password": { + "type": "string", + "description": "The password to start the exec command." + } + } + }, + "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", + "required": [ + "nameServers" + ], + "properties": { + "nameServers": { + "description": "The DNS servers for the container group.", + "type": "array", + "items": { + "type": "string" + } + }, + "searchDomains": { + "description": "The DNS search domains for hostname lookup in the container group.", + "type": "string" + }, + "options": { + "description": "The DNS options for the container group.", + "type": "string" + } + } + }, + "Resource": { + "type": "object", + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource id." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "location": { + "type": "string", + "description": "The resource location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The resource tags." + }, + "zones": { + "description": "The zones for the container group.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-azure-resource": true + }, + "CachedImagesListResult": { + "description": "The response containing cached images.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/cachedImages" + }, + "description": "The list of cached images." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of cached images." + } + } + }, + "cachedImages": { + "description": "The cached image and OS type.", + "type": "object", + "required": [ + "osType", + "image" + ], + "properties": { + "osType": { + "type": "string", + "description": "The OS type of the cached image." + }, + "image": { + "type": "string", + "description": "The cached image name." + } + } + }, + "CapabilitiesListResult": { + "description": "The response containing list of capabilities.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Capabilities" + }, + "description": "The list of capabilities." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of capabilities." + } + } + }, + "Capabilities": { + "description": "The regional capabilities.", + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "readOnly": true, + "description": "The resource type that this capability describes." + }, + "osType": { + "type": "string", + "readOnly": true, + "description": "The OS type that this capability describes." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The resource location." + }, + "ipAddressType": { + "type": "string", + "readOnly": true, + "description": "The ip address type that this capability describes." + }, + "gpu": { + "type": "string", + "readOnly": true, + "description": "The GPU sku that this capability describes." + }, + "capabilities": { + "type": "object", + "readOnly": true, + "description": "The supported capabilities.", + "properties": { + "maxMemoryInGB": { + "type": "number", + "readOnly": true, + "description": "The maximum allowed memory request in GB." + }, + "maxCpu": { + "type": "number", + "readOnly": true, + "description": "The maximum allowed CPU request in cores." + }, + "maxGpuCount": { + "type": "number", + "readOnly": true, + "description": "The maximum allowed GPU count." + } + } + } + } + }, + "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": { + "error": { + "$ref": "#/definitions/CloudErrorBody" + } + }, + "description": "An error response from the Container Instance service." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "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": "A list of additional details about the error." + } + }, + "description": "An error response from the Container Instance service." + }, + "NetworkDependenciesResponse": { + "description": "Response for network dependencies, always empty list.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "parameters": { + "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.", + "x-ms-parameter-location": "client" + }, + "LocationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The identifier for the physical azure location.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version", + "x-ms-parameter-location": "client" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "ContainerGroupNameParameter": { + "name": "containerGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the container group.", + "x-ms-parameter-location": "method" + }, + "OperationIdParameter": { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The operation Id.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/CachedImagesList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/CachedImagesList.json new file mode 100644 index 000000000000..010b9881d3b0 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/CachedImagesList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "subid", + "location": "westcentralus", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "osType": "Linux", + "image": "ubuntu:16.04" + }, + { + "osType": "Linux", + "image": "alpine:3.6" + }, + { + "osType": "Windows", + "image": "microsoft/nanoserver:10.0.14393.2485" + } + ] + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/CapabilitiesList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/CapabilitiesList.json new file mode 100644 index 000000000000..bde85fe22a94 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/CapabilitiesList.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "subid", + "location": "westus", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "containerGroups", + "osType": "Linux", + "location": "West US", + "ipAddressType": "Public", + "gpu": "K80", + "capabilities": { + "maxMemoryInGB": 14, + "maxCpu": 4, + "maxGpuCount": 4 + } + }, + { + "resourceType": "containerGroups", + "osType": "Windows", + "location": "West US", + "ipAddressType": "Public", + "gpu": "None", + "capabilities": { + "maxMemoryInGB": 14, + "maxCpu": 4, + "maxGpuCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerAttach.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerAttach.json new file mode 100644 index 000000000000..1539a43a72c2 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerAttach.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-09-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "containerName": "container1" + }, + "responses": { + "200": { + "body": { + "webSocketUri": "wss://web-socket-uri", + "password": "password" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerExec.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerExec.json new file mode 100644 index 000000000000..8c1b5686dfe5 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerExec.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-09-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "containerName": "container1", + "containerExecRequest": { + "command": "/bin/bash", + "terminalSize": { + "rows": 12, + "cols": 12 + } + } + }, + "responses": { + "200": { + "body": { + "webSocketUri": "wss://web-socket-uri", + "password": "password" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupUsage.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupUsage.json new file mode 100644 index 000000000000..005922be7e26 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupUsage.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subid", + "location": "westcentralus", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 1, + "limit": 2000, + "name": { + "value": "ContainerGroups", + "localizedValue": "Container Groups" + } + } + ] + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsCreateOrUpdate.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsCreateOrUpdate.json new file mode 100644 index 000000000000..876f55a002f3 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsCreateOrUpdate.json @@ -0,0 +1,314 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-09-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "zones": [ + "1" + ], + "containerGroup": { + "location": "west us", + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name": {} + } + }, + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5, + "gpu": { + "count": 1, + "sku": "K80" + } + } + }, + "volumeMounts": [ + { + "name": "volume1", + "mountPath": "/mnt/volume1", + "readOnly": false + }, + { + "name": "volume2", + "mountPath": "/mnt/volume2", + "readOnly": false + }, + { + "name": "volume3", + "mountPath": "/mnt/volume3", + "readOnly": true + } + ] + } + } + ], + "diagnostics": { + "logAnalytics": { + "workspaceId": "workspaceid", + "workspaceKey": "workspaceKey", + "logType": "ContainerInsights", + "metadata": { + "test-key": "test-metadata-value" + }, + "workspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/microsoft.operationalinsights/workspaces/workspace" + } + }, + "subnetIds": [ + { + "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('subnetName'))]" + } + ], + "dnsConfig": { + "nameServers": [ + "1.1.1.1" + ], + "searchDomains": "cluster.local svc.cluster.local", + "options": "ndots:2" + }, + "imageRegistryCredentials": [], + "ipAddress": { + "ports": [ + { + "protocol": "TCP", + "port": 80 + } + ], + "type": "Public", + "dnsNameLabel": "dnsnamelabel1" + }, + "osType": "Linux", + "volumes": [ + { + "name": "volume1", + "azureFile": { + "shareName": "shareName", + "storageAccountName": "accountName", + "storageAccountKey": "accountKey" + } + }, + { + "name": "volume2", + "emptyDir": {} + }, + { + "name": "volume3", + "secret": { + "secretKey1": "SecretValue1InBase64", + "secretKey2": "SecretValue2InBase64" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "zones": [ + "1" + ], + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5, + "gpu": { + "count": 1, + "sku": "K80" + } + } + }, + "volumeMounts": [ + { + "name": "volume1", + "mountPath": "/mnt/volume1", + "readOnly": false + }, + { + "name": "volume2", + "mountPath": "/mnt/volume2", + "readOnly": false + }, + { + "name": "volume3", + "mountPath": "/mnt/volume3", + "readOnly": true + } + ] + } + } + ], + "diagnostics": { + "logAnalytics": { + "workspaceId": "workspaceid", + "workspaceKey": "" + } + }, + "dnsConfig": { + "nameServers": [ + "1.1.1.1" + ], + "searchDomains": "cluster.local svc.cluster.local", + "options": "ndots:2" + }, + "imageRegistryCredentials": [], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public", + "dnsNameLabel": "dnsnamelabel1", + "fqdn": "dnsnamelabel1.azure-container.io" + }, + "osType": "Linux", + "provisioningState": "Succeeded", + "volumes": [ + { + "name": "volume1", + "azureFile": { + "shareName": "shareName", + "storageAccountName": "accountName" + } + }, + { + "name": "volume2", + "emptyDir": {} + }, + { + "name": "volume3", + "secret": {} + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "zones": [ + "1" + ], + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5, + "gpu": { + "count": 1, + "sku": "K80" + } + } + }, + "volumeMounts": [ + { + "name": "volume1", + "mountPath": "/mnt/volume1", + "readOnly": false + }, + { + "name": "volume2", + "mountPath": "/mnt/volume2", + "readOnly": false + }, + { + "name": "volume3", + "mountPath": "/mnt/volume3", + "readOnly": true + } + ] + } + } + ], + "dnsConfig": { + "nameServers": [ + "1.1.1.1" + ] + }, + "imageRegistryCredentials": [], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public", + "dnsNameLabel": "dnsnamelabel1", + "fqdn": "dnsnamelabel1.azure-container.io" + }, + "osType": "Linux", + "provisioningState": "Succeeded", + "volumes": [ + { + "name": "volume1", + "azureFile": { + "shareName": "shareName", + "storageAccountName": "accountName" + } + }, + { + "name": "volume2", + "emptyDir": {} + }, + { + "name": "volume3", + "secret": {} + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsDelete.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsDelete.json new file mode 100644 index 000000000000..55a59cef7b82 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsDelete.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-09-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "zones": [ + "1" + ], + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "volumeMounts": [ + { + "mountPath": "/mnt/volume1", + "name": "volume1", + "readOnly": false + } + ] + } + } + ], + "imageRegistryCredentials": [ + { + "server": "azcloudconsoleregistry.azurecr.io", + "username": "azcloudconsoleregistry" + } + ], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public" + }, + "osType": "Linux", + "provisioningState": "Succeeded", + "volumes": [ + { + "azureFile": { + "readOnly": false, + "shareName": "share1", + "storageAccountName": "storage1" + }, + "name": "volume1" + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + }, + "202": {}, + "204": {} + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsGet_Failed.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsGet_Failed.json new file mode 100644 index 000000000000..15efada5ea38 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsGet_Failed.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "instanceView": { + "restartCount": 0, + "currentState": { + "state": "Waiting", + "startTime": "2017-08-08T00:09:10Z", + "detailStatus": "" + }, + "events": [ + { + "count": 1, + "firstTimestamp": "2017-08-08T00:09:01Z", + "lastTimestamp": "2017-08-08T00:09:01Z", + "message": "pulling image \"nginx\"", + "name": "Pulling", + "type": "Normal" + }, + { + "count": 1, + "firstTimestamp": "2017-08-08T00:09:10Z", + "lastTimestamp": "2017-08-08T00:09:10Z", + "message": "Successfully pulled image \"nginx\"", + "name": "Pulled", + "type": "Normal" + } + ] + }, + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "volumeMounts": [ + { + "mountPath": "/mnt/volume1", + "name": "volume1", + "readOnly": false + } + ] + } + } + ], + "imageRegistryCredentials": [ + { + "server": "azcloudconsoleregistry.azurecr.io", + "username": "azcloudconsoleregistry" + } + ], + "instanceView": { + "events": [ + { + "count": 1, + "firstTimestamp": "2017-10-08T00:19:10Z", + "lastTimestamp": "2017-10-08T00:19:10Z", + "message": "Output: mount error(2): Permission denied", + "name": "FailedMount", + "type": "Normal" + } + ], + "state": "Pending" + }, + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public" + }, + "osType": "Linux", + "provisioningState": "Failed", + "volumes": [ + { + "azureFile": { + "readOnly": false, + "shareName": "share1", + "storageAccountName": "storage1" + }, + "name": "volume1" + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsGet_Succeeded.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsGet_Succeeded.json new file mode 100644 index 000000000000..64a1f77fd51c --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsGet_Succeeded.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "zones": [ + "1" + ], + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "volumeMounts": [ + { + "mountPath": "/mnt/volume1", + "name": "volume1", + "readOnly": false + } + ] + } + } + ], + "imageRegistryCredentials": [ + { + "server": "azcloudconsoleregistry.azurecr.io", + "username": "azcloudconsoleregistry" + } + ], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public" + }, + "osType": "Linux", + "provisioningState": "Succeeded", + "volumes": [ + { + "azureFile": { + "readOnly": false, + "shareName": "share1", + "storageAccountName": "storage1" + }, + "name": "volume1" + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsList.json new file mode 100644 index 000000000000..be969adf407a --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsList.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "zones": [ + "1" + ], + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "instanceView": { + "restartCount": 0, + "currentState": { + "state": "Running", + "startTime": "2017-10-17T17:27:21Z", + "detailStatus": "" + }, + "events": [] + }, + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "volumeMounts": [ + { + "mountPath": "/mnt/volume1", + "name": "volume1", + "readOnly": false + } + ] + } + } + ], + "imageRegistryCredentials": [ + { + "server": "azcloudconsoleregistry.azurecr.io", + "username": "azcloudconsoleregistry" + } + ], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public" + }, + "osType": "Linux", + "provisioningState": "Succeeded", + "volumes": [ + { + "azureFile": { + "readOnly": false, + "shareName": "share1", + "storageAccountName": "storage1" + }, + "name": "volume1" + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + ] + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsListByResourceGroup.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsListByResourceGroup.json new file mode 100644 index 000000000000..4fec6b0e9259 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsListByResourceGroup.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "demo", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "zones": [ + "1" + ], + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "volumeMounts": [ + { + "mountPath": "/mnt/volume1", + "name": "volume1", + "readOnly": false + } + ] + } + } + ], + "imageRegistryCredentials": [ + { + "server": "azcloudconsoleregistry.azurecr.io", + "username": "azcloudconsoleregistry" + } + ], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public" + }, + "osType": "Linux", + "provisioningState": "Succeeded", + "volumes": [ + { + "azureFile": { + "readOnly": false, + "shareName": "share1", + "storageAccountName": "storage1" + }, + "name": "volume1" + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + ] + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsRestart.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsRestart.json new file mode 100644 index 000000000000..aad4b84d2f3a --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsRestart.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-09-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsStart.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsStart.json new file mode 100644 index 000000000000..c11446a08527 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsStart.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-09-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1" + }, + "responses": { + "202": {} + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsStop.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsStop.json new file mode 100644 index 000000000000..aad4b84d2f3a --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsStop.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-09-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsUpdate.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsUpdate.json new file mode 100644 index 000000000000..223cf7fb079a --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsUpdate.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-09-01", + "resourceGroupName": "demoResource", + "containerGroupName": "demo1", + "Resource": { + "tags": { + "tag1key": "tag1Value", + "tag2key": "tag2Value" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/demoResource/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "tags": { + "tag1key": "tag1Value", + "tag2key": "tag2Value" + }, + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "volumeMounts": [ + { + "name": "volume1", + "mountPath": "/mnt/volume1", + "readOnly": false + }, + { + "name": "volume2", + "mountPath": "/mnt/volume2", + "readOnly": false + }, + { + "name": "volume3", + "mountPath": "/mnt/volume3", + "readOnly": true + } + ] + } + } + ], + "imageRegistryCredentials": [], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public", + "dnsNameLabel": "dnsnamelabel1", + "fqdn": "dnsnamelabel1.azure-container.io" + }, + "osType": "Linux", + "provisioningState": "Succeeded", + "volumes": [ + { + "name": "volume1", + "azureFile": { + "shareName": "shareName", + "storageAccountName": "accountName" + } + }, + { + "name": "volume2", + "emptyDir": {} + }, + { + "name": "volume3", + "secret": {} + } + ] + } + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerListLogs.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerListLogs.json new file mode 100644 index 000000000000..29a85f495803 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerListLogs.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-09-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "containerName": "container1", + "tail": 10 + }, + "responses": { + "200": { + "body": { + "content": "log content" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/OperationsList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/OperationsList.json new file mode 100644 index 000000000000..c447abeedc03 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/OperationsList.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ContainerInstance/containerGroups/read", + "display": { + "provider": "Microsoft Container Instance", + "resource": "Container Group", + "operation": "Get Container Groups", + "description": "Get all container goups." + }, + "origin": "User" + } + ] + } + } + } +} diff --git a/specification/containerinstance/resource-manager/readme.go.md b/specification/containerinstance/resource-manager/readme.go.md index 0fa166528095..d3a8737b39e8 100644 --- a/specification/containerinstance/resource-manager/readme.go.md +++ b/specification/containerinstance/resource-manager/readme.go.md @@ -13,6 +13,7 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-09 - tag: package-2021-07 - tag: package-2021-03 - tag: package-2020-11 @@ -27,6 +28,15 @@ batch: - tag: package-2017-08-preview ``` +### Tag: package-2021-09 and go + +These settings apply only when `--tag=package-2021-09 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-09' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-09-01/$(namespace) +``` + ### Tag: package-2021-07 and go These settings apply only when `--tag=package-2021-07 --go` is specified on the command line. diff --git a/specification/containerinstance/resource-manager/readme.md b/specification/containerinstance/resource-manager/readme.md index bf49537b315d..ba96cb341251 100644 --- a/specification/containerinstance/resource-manager/readme.md +++ b/specification/containerinstance/resource-manager/readme.md @@ -26,18 +26,27 @@ These are the global settings for the ContainerInstance API. ``` yaml openapi-type: arm -tag: package-2021-07 +tag: package-2021-09 ``` +### Tag: package-2021-09 + +These settings apply only when `--tag=package-2021-09` is specified on the command line. + +```yaml $(tag) == 'package-2021-09' +input-file: + - Microsoft.ContainerInstance/stable/2021-09-01/containerInstance.json +``` ### Tag: package-2021-07 These settings apply only when `--tag=package-2021-07` is specified on the command line. -```yaml $(tag) == 'package-2021-07' +``` yaml $(tag) == 'package-2021-07' input-file: - Microsoft.ContainerInstance/stable/2021-07-01/containerInstance.json ``` + ### Tag: package-2021-03 These settings apply only when `--tag=package-2021-03` is specified on the command line. diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json index 6b58097c1a77..2df5846f573f 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json @@ -3084,9 +3084,11 @@ "type": "string" }, "details": { - "$ref": "#/definitions/InnerErrorDescription", "description": "an array of additional nested error response info objects, as described by this contract.", - "type": "array" + "type": "array", + "items": { + "$ref": "#/definitions/InnerErrorDescription" + } } } }, diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2020-11-01-preview/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2020-11-01-preview/containerregistry.json index 9469787e7f06..a8ec44ee07a7 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2020-11-01-preview/containerregistry.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2020-11-01-preview/containerregistry.json @@ -5737,9 +5737,11 @@ "type": "string" }, "details": { - "$ref": "#/definitions/InnerErrorDescription", "description": "an array of additional nested error response info objects, as described by this contract.", - "type": "array" + "type": "array", + "items": { + "$ref": "#/definitions/InnerErrorDescription" + } } } }, diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/containerregistry.json index fe45fa370537..d7fadba775c7 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/containerregistry.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/containerregistry.json @@ -5764,9 +5764,11 @@ "type": "string" }, "details": { - "$ref": "#/definitions/InnerErrorDescription", "description": "an array of additional nested error response info objects, as described by this contract.", - "type": "array" + "type": "array", + "items": { + "$ref": "#/definitions/InnerErrorDescription" + } } } }, diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/containerregistry.json new file mode 100644 index 000000000000..b28593632e8a --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/containerregistry.json @@ -0,0 +1,5971 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-08-01-preview", + "title": "ContainerRegistryManagementClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/connectedRegistries": { + "get": { + "tags": [ + "ConnectedRegistries" + ], + "description": "Lists all connected registries for the specified container registry.", + "operationId": "ConnectedRegistries_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ConnectedRegistryFilterParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ConnectedRegistryListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConnectedRegistryList": { + "$ref": "./examples/ConnectedRegistryList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/connectedRegistries/{connectedRegistryName}": { + "get": { + "tags": [ + "ConnectedRegistries" + ], + "description": "Gets the properties of the connected registry.", + "operationId": "ConnectedRegistries_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ConnectedRegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ConnectedRegistry" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConnectedRegistryGet": { + "$ref": "./examples/ConnectedRegistryGet.json" + } + } + }, + "put": { + "tags": [ + "ConnectedRegistries" + ], + "description": "Creates a connected registry for a container registry with the specified parameters.", + "operationId": "ConnectedRegistries_Create", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ConnectedRegistryNameParameter" + }, + { + "name": "connectedRegistryCreateParameters", + "in": "body", + "description": "The parameters for creating a connectedRegistry.", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectedRegistry" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ConnectedRegistry" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ConnectedRegistry" + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConnectedRegistryCreate": { + "$ref": "./examples/ConnectedRegistryCreate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "ConnectedRegistries" + ], + "description": "Deletes a connected registry from a container registry.", + "operationId": "ConnectedRegistries_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ConnectedRegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "The webhook does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConnectedRegistryDelete": { + "$ref": "./examples/ConnectedRegistryDelete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "ConnectedRegistries" + ], + "description": "Updates a connected registry with the specified parameters.", + "operationId": "ConnectedRegistries_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ConnectedRegistryNameParameter" + }, + { + "name": "connectedRegistryUpdateParameters", + "in": "body", + "description": "The parameters for updating a connectedRegistry.", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectedRegistryUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ConnectedRegistry" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ConnectedRegistry" + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConnectedRegistryUpdate": { + "$ref": "./examples/ConnectedRegistryUpdate.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/connectedRegistries/{connectedRegistryName}/deactivate": { + "post": { + "tags": [ + "ConnectedRegistries" + ], + "description": "Deactivates the connected registry instance.", + "operationId": "ConnectedRegistries_Deactivate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ConnectedRegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConnectedRegistryDeactivate": { + "$ref": "./examples/ConnectedRegistryDeactivate.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/exportPipelines": { + "get": { + "tags": [ + "ExportPipelines" + ], + "description": "Lists all export pipelines for the specified container registry.", + "operationId": "ExportPipelines_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ExportPipelineListResult" + } + } + }, + "x-ms-examples": { + "ExportPipelineList": { + "$ref": "./examples/ExportPipelineList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/exportPipelines/{exportPipelineName}": { + "get": { + "tags": [ + "ExportPipelines" + ], + "description": "Gets the properties of the export pipeline.", + "operationId": "ExportPipelines_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ExportPipelineNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ExportPipeline" + } + } + }, + "x-ms-examples": { + "ExportPipelineGet": { + "$ref": "./examples/ExportPipelineGet.json" + } + } + }, + "put": { + "tags": [ + "ExportPipelines" + ], + "description": "Creates an export pipeline for a container registry with the specified parameters.", + "operationId": "ExportPipelines_Create", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ExportPipelineNameParameter" + }, + { + "name": "exportPipelineCreateParameters", + "in": "body", + "description": "The parameters for creating an export pipeline.", + "required": true, + "schema": { + "$ref": "#/definitions/ExportPipeline" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the operation has completed successfully.", + "schema": { + "$ref": "#/definitions/ExportPipeline" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ExportPipeline" + } + } + }, + "x-ms-examples": { + "ExportPipelineCreate": { + "$ref": "./examples/ExportPipelineCreate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "ExportPipelines" + ], + "description": "Deletes an export pipeline from a container registry.", + "operationId": "ExportPipelines_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ExportPipelineNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "The export pipeline does not exist in the subscription." + } + }, + "x-ms-examples": { + "ExportPipelineDelete": { + "$ref": "./examples/ExportPipelineDelete.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importImage": { + "post": { + "tags": [ + "Registries" + ], + "description": "Copies an image to this container registry from the specified container registry.", + "operationId": "Registries_ImportImage", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters specifying the image to copy and the source container registry.", + "required": true, + "schema": { + "$ref": "#/definitions/ImportImageParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the operation has completed successfully." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + } + }, + "x-ms-examples": { + "ImportImageByTag": { + "$ref": "./examples/ImportImageByTag.json" + }, + "ImportImageByManifestDigest": { + "$ref": "./examples/ImportImageByManifestDigest.json" + }, + "ImportImageFromPublicRegistry": { + "$ref": "./examples/ImportImageFromPublicRegistry.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importPipelines": { + "get": { + "tags": [ + "ImportPipelines" + ], + "description": "Lists all import pipelines for the specified container registry.", + "operationId": "ImportPipelines_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ImportPipelineListResult" + } + } + }, + "x-ms-examples": { + "ImportPipelineList": { + "$ref": "./examples/ImportPipelineList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importPipelines/{importPipelineName}": { + "get": { + "tags": [ + "ImportPipelines" + ], + "description": "Gets the properties of the import pipeline.", + "operationId": "ImportPipelines_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ImportPipelineNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ImportPipeline" + } + } + }, + "x-ms-examples": { + "ImportPipelineGet": { + "$ref": "./examples/ImportPipelineGet.json" + } + } + }, + "put": { + "tags": [ + "ImportPipelines" + ], + "description": "Creates an import pipeline for a container registry with the specified parameters.", + "operationId": "ImportPipelines_Create", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ImportPipelineNameParameter" + }, + { + "name": "importPipelineCreateParameters", + "in": "body", + "description": "The parameters for creating an import pipeline.", + "required": true, + "schema": { + "$ref": "#/definitions/ImportPipeline" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the operation has completed successfully.", + "schema": { + "$ref": "#/definitions/ImportPipeline" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ImportPipeline" + } + } + }, + "x-ms-examples": { + "ImportPipelineCreate": { + "$ref": "./examples/ImportPipelineCreate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "ImportPipelines" + ], + "description": "Deletes an import pipeline from a container registry.", + "operationId": "ImportPipelines_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ImportPipelineNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "The import pipeline does not exist in the subscription." + } + }, + "x-ms-examples": { + "ImportPipelineDelete": { + "$ref": "./examples/ImportPipelineDelete.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/providers/Microsoft.ContainerRegistry/operations": { + "get": { + "tags": [ + "Operation" + ], + "description": "Lists all of the available Azure Container Registry REST API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-examples": { + "OperationList": { + "$ref": "./examples/OperationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/checkNameAvailability": { + "post": { + "tags": [ + "Operation" + ], + "description": "Checks whether the container registry name is available for use. The name must contain only alphanumeric characters, be globally unique, and between 5 and 50 characters in length.", + "operationId": "Registries_CheckNameAvailability", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "registryNameCheckRequest", + "in": "body", + "description": "The object containing information for the availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/RegistryNameCheckRequest" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/RegistryNameStatus" + } + } + }, + "x-ms-examples": { + "RegistryCheckNameAvailable": { + "$ref": "./examples/RegistryCheckNameAvailable.json" + }, + "RegistryCheckNameNotAvailable": { + "$ref": "./examples/RegistryCheckNameNotAvailable.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/pipelineRuns": { + "get": { + "tags": [ + "PipelineRuns" + ], + "description": "Lists all the pipeline runs for the specified container registry.", + "operationId": "PipelineRuns_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well - formed and received properly.", + "schema": { + "$ref": "#/definitions/PipelineRunListResult" + } + } + }, + "x-ms-examples": { + "PipelineRunList": { + "$ref": "./examples/PipelineRunList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/pipelineRuns/{pipelineRunName}": { + "get": { + "tags": [ + "PipelineRuns" + ], + "description": "Gets the detailed information for a given pipeline run.", + "operationId": "PipelineRuns_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PipelineRunNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well - formed and received properly.", + "schema": { + "$ref": "#/definitions/PipelineRun" + } + } + }, + "x-ms-examples": { + "PipelineRunGet": { + "$ref": "./examples/PipelineRunGet.json" + } + } + }, + "put": { + "tags": [ + "PipelineRuns" + ], + "description": "Creates a pipeline run for a container registry with the specified parameters", + "operationId": "PipelineRuns_Create", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PipelineRunNameParameter" + }, + { + "name": "pipelineRunCreateParameters", + "in": "body", + "description": "The parameters for creating a pipeline run.", + "required": true, + "schema": { + "$ref": "#/definitions/PipelineRun" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well - formed and received properly.", + "schema": { + "$ref": "#/definitions/PipelineRun" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/PipelineRun" + } + } + }, + "x-ms-examples": { + "PipelineRunCreate_Export": { + "$ref": "./examples/PipelineRunCreate_Export.json" + }, + "PipelineRunCreate_Import": { + "$ref": "./examples/PipelineRunCreate_Import.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PipelineRuns" + ], + "description": "Deletes a pipeline run from a container registry.", + "operationId": "PipelineRuns_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PipelineRunNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "The pipeline run does not exist in the subscription." + } + }, + "x-ms-examples": { + "PipelineRunDelete": { + "$ref": "./examples/PipelineRunDelete.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "List all private endpoint connections in a container registry.", + "operationId": "PrivateEndpointConnections_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionList": { + "$ref": "./examples/PrivateEndpointConnectionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Get the specified private endpoint connection associated with the container registry.", + "operationId": "PrivateEndpointConnections_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionGet": { + "$ref": "./examples/PrivateEndpointConnectionGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Update the state of specified private endpoint connection associated with the container registry.", + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "description": "The parameters for creating a private endpoint connection.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionCreateOrUpdate": { + "$ref": "./examples/PrivateEndpointConnectionCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Deletes the specified private endpoint connection associated with the container registry.", + "operationId": "PrivateEndpointConnections_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "The private endpoint connection does not exist in the subscription." + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionDelete": { + "$ref": "./examples/PrivateEndpointConnectionDelete.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries": { + "get": { + "tags": [ + "Registries" + ], + "description": "Lists all the container registries under the specified subscription.", + "operationId": "Registries_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/RegistryListResult" + } + } + }, + "x-ms-examples": { + "RegistryList": { + "$ref": "./examples/RegistryList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries": { + "get": { + "tags": [ + "Registries" + ], + "description": "Lists all the container registries under the specified resource group.", + "operationId": "Registries_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/RegistryListResult" + } + } + }, + "x-ms-examples": { + "RegistryListByResourceGroup": { + "$ref": "./examples/RegistryListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}": { + "get": { + "tags": [ + "Registries" + ], + "description": "Gets the properties of the specified container registry.", + "operationId": "Registries_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Registry" + } + } + }, + "x-ms-examples": { + "RegistryGet": { + "$ref": "./examples/RegistryGet.json" + } + } + }, + "put": { + "tags": [ + "Registries" + ], + "description": "Creates a container registry with the specified parameters.", + "operationId": "Registries_Create", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "name": "registry", + "in": "body", + "description": "The parameters for creating a container registry.", + "required": true, + "schema": { + "$ref": "#/definitions/Registry" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Registry" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Registry" + } + } + }, + "x-ms-examples": { + "RegistryCreate": { + "$ref": "./examples/RegistryCreate.json" + }, + "RegistryCreateZoneRedundant": { + "$ref": "./examples/RegistryCreateZoneRedundant.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Registries" + ], + "description": "Deletes a container registry.", + "operationId": "Registries_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "The container registry does not exist in the subscription." + } + }, + "x-ms-examples": { + "RegistryDelete": { + "$ref": "./examples/RegistryDelete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Registries" + ], + "description": "Updates a container registry with the specified parameters.", + "operationId": "Registries_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "name": "registryUpdateParameters", + "in": "body", + "description": "The parameters for updating a container registry.", + "required": true, + "schema": { + "$ref": "#/definitions/RegistryUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Registry" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Registry" + } + } + }, + "x-ms-examples": { + "RegistryUpdate": { + "$ref": "./examples/RegistryUpdate.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listUsages": { + "get": { + "tags": [ + "Registries" + ], + "description": "Gets the quota usages for the specified container registry.", + "operationId": "Registries_ListUsages", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the registry usages retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/RegistryUsageListResult" + } + } + }, + "x-ms-examples": { + "RegistryListUsages": { + "$ref": "./examples/RegistryListUsages.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateLinkResources": { + "get": { + "tags": [ + "Registries" + ], + "description": "Lists the private link resources for a container registry.", + "operationId": "Registries_ListPrivateLinkResources", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the private link resources were retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + } + }, + "x-ms-examples": { + "RegistryListPrivateLinkResources": { + "$ref": "./examples/RegistryListPrivateLinkResources.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listCredentials": { + "post": { + "tags": [ + "Registries" + ], + "description": "Lists the login credentials for the specified container registry.", + "operationId": "Registries_ListCredentials", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the list of credentials retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/RegistryListCredentialsResult" + } + } + }, + "x-ms-examples": { + "RegistryListCredentials": { + "$ref": "./examples/RegistryListCredentials.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredential": { + "post": { + "tags": [ + "Registries" + ], + "description": "Regenerates one of the login credentials for the specified container registry.", + "operationId": "Registries_RegenerateCredential", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "name": "regenerateCredentialParameters", + "in": "body", + "description": "Specifies name of the password which should be regenerated -- password or password2.", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateCredentialParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the specified credential regenerated successfully.", + "schema": { + "$ref": "#/definitions/RegistryListCredentialsResult" + } + } + }, + "x-ms-examples": { + "RegistryRegenerateCredential": { + "$ref": "./examples/RegistryRegenerateCredential.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications": { + "get": { + "tags": [ + "Replications" + ], + "description": "Lists all the replications for the specified container registry.", + "operationId": "Replications_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ReplicationListResult" + } + } + }, + "x-ms-examples": { + "ReplicationList": { + "$ref": "./examples/ReplicationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}": { + "get": { + "tags": [ + "Replications" + ], + "description": "Gets the properties of the specified replication.", + "operationId": "Replications_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ReplicationNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Replication" + } + } + }, + "x-ms-examples": { + "ReplicationGet": { + "$ref": "./examples/ReplicationGet.json" + } + } + }, + "put": { + "tags": [ + "Replications" + ], + "description": "Creates a replication for a container registry with the specified parameters.", + "operationId": "Replications_Create", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ReplicationNameParameter" + }, + { + "name": "replication", + "in": "body", + "description": "The parameters for creating a replication.", + "required": true, + "schema": { + "$ref": "#/definitions/Replication" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Replication" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Replication" + } + } + }, + "x-ms-examples": { + "ReplicationCreate": { + "$ref": "./examples/ReplicationCreate.json" + }, + "ReplicationCreateZoneRedundant": { + "$ref": "./examples/ReplicationCreateZoneRedundant.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Replications" + ], + "description": "Deletes a replication from a container registry.", + "operationId": "Replications_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ReplicationNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "The replication does not exist in the subscription." + } + }, + "x-ms-examples": { + "ReplicationDelete": { + "$ref": "./examples/ReplicationDelete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Replications" + ], + "description": "Updates a replication for a container registry with the specified parameters.", + "operationId": "Replications_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ReplicationNameParameter" + }, + { + "name": "replicationUpdateParameters", + "in": "body", + "description": "The parameters for updating a replication.", + "required": true, + "schema": { + "$ref": "#/definitions/ReplicationUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Replication" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Replication" + } + } + }, + "x-ms-examples": { + "ReplicationUpdate": { + "$ref": "./examples/ReplicationUpdate.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scopeMaps": { + "get": { + "tags": [ + "ScopeMaps" + ], + "description": "Lists all the scope maps for the specified container registry.", + "operationId": "ScopeMaps_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ScopeMapListResult" + } + } + }, + "x-ms-examples": { + "ScopeMapList": { + "$ref": "./examples/ScopeMapList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scopeMaps/{scopeMapName}": { + "get": { + "tags": [ + "ScopeMaps" + ], + "description": "Gets the properties of the specified scope map.", + "operationId": "ScopeMaps_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ScopeMapNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ScopeMap" + } + } + }, + "x-ms-examples": { + "ScopeMapGet": { + "$ref": "./examples/ScopeMapGet.json" + } + } + }, + "put": { + "tags": [ + "ScopeMaps" + ], + "description": "Creates a scope map for a container registry with the specified parameters.", + "operationId": "ScopeMaps_Create", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ScopeMapNameParameter" + }, + { + "name": "scopeMapCreateParameters", + "in": "body", + "description": "The parameters for creating a scope map.", + "required": true, + "schema": { + "$ref": "#/definitions/ScopeMap" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ScopeMap" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ScopeMap" + } + } + }, + "x-ms-examples": { + "ScopeMapCreate": { + "$ref": "./examples/ScopeMapCreate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "ScopeMaps" + ], + "description": "Deletes a scope map from a container registry.", + "operationId": "ScopeMaps_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ScopeMapNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "The scopemap does not exist in the subscription." + } + }, + "x-ms-examples": { + "ScopeMapDelete": { + "$ref": "./examples/ScopeMapDelete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "ScopeMaps" + ], + "description": "Updates a scope map with the specified parameters.", + "operationId": "ScopeMaps_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ScopeMapNameParameter" + }, + { + "name": "scopeMapUpdateParameters", + "in": "body", + "description": "The parameters for updating a scope map.", + "required": true, + "schema": { + "$ref": "#/definitions/ScopeMapUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ScopeMap" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ScopeMap" + } + } + }, + "x-ms-examples": { + "ScopeMapUpdate": { + "$ref": "./examples/ScopeMapUpdate.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/tokens": { + "get": { + "tags": [ + "Tokens" + ], + "description": "Lists all the tokens for the specified container registry.", + "operationId": "Tokens_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/TokenListResult" + } + } + }, + "x-ms-examples": { + "TokenList": { + "$ref": "./examples/TokenList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/tokens/{tokenName}": { + "get": { + "tags": [ + "Tokens" + ], + "description": "Gets the properties of the specified token.", + "operationId": "Tokens_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/TokenNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Token" + } + } + }, + "x-ms-examples": { + "TokenGet": { + "$ref": "./examples/TokenGet.json" + } + } + }, + "put": { + "tags": [ + "Tokens" + ], + "description": "Creates a token for a container registry with the specified parameters.", + "operationId": "Tokens_Create", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/TokenNameParameter" + }, + { + "name": "tokenCreateParameters", + "in": "body", + "description": "The parameters for creating a token.", + "required": true, + "schema": { + "$ref": "#/definitions/Token" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Token" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Token" + } + } + }, + "x-ms-examples": { + "TokenCreate": { + "$ref": "./examples/TokenCreate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Tokens" + ], + "description": "Deletes a token from a container registry.", + "operationId": "Tokens_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/TokenNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "The token does not exist in the subscription." + } + }, + "x-ms-examples": { + "TokenDelete": { + "$ref": "./examples/TokenDelete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Tokens" + ], + "description": "Updates a token with the specified parameters.", + "operationId": "Tokens_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/TokenNameParameter" + }, + { + "name": "tokenUpdateParameters", + "in": "body", + "description": "The parameters for updating a token.", + "required": true, + "schema": { + "$ref": "#/definitions/TokenUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Token" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Token" + } + } + }, + "x-ms-examples": { + "TokenUpdate": { + "$ref": "./examples/TokenUpdate.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/generateCredentials": { + "post": { + "tags": [ + "Registries" + ], + "description": "Generate keys for a token of a specified container registry.", + "operationId": "Registries_GenerateCredentials", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "name": "generateCredentialsParameters", + "in": "body", + "description": "The parameters for generating credentials.", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateCredentialsParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/GenerateCredentialsResult" + } + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + } + }, + "x-ms-examples": { + "RegistryGenerateCredentials": { + "$ref": "./examples/RegistryGenerateCredentials.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks": { + "get": { + "tags": [ + "Webhooks" + ], + "description": "Lists all the webhooks for the specified container registry.", + "operationId": "Webhooks_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/WebhookListResult" + } + } + }, + "x-ms-examples": { + "WebhookList": { + "$ref": "./examples/WebhookList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}": { + "get": { + "tags": [ + "Webhooks" + ], + "description": "Gets the properties of the specified webhook.", + "operationId": "Webhooks_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Webhook" + } + } + }, + "x-ms-examples": { + "WebhookGet": { + "$ref": "./examples/WebhookGet.json" + } + } + }, + "put": { + "tags": [ + "Webhooks" + ], + "description": "Creates a webhook for a container registry with the specified parameters.", + "operationId": "Webhooks_Create", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + }, + { + "name": "webhookCreateParameters", + "in": "body", + "description": "The parameters for creating a webhook.", + "required": true, + "schema": { + "$ref": "#/definitions/WebhookCreateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Webhook" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Webhook" + } + } + }, + "x-ms-examples": { + "WebhookCreate": { + "$ref": "./examples/WebhookCreate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Webhooks" + ], + "description": "Deletes a webhook from a container registry.", + "operationId": "Webhooks_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "The webhook does not exist in the subscription." + } + }, + "x-ms-examples": { + "WebhookDelete": { + "$ref": "./examples/WebhookDelete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Webhooks" + ], + "description": "Updates a webhook with the specified parameters.", + "operationId": "Webhooks_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + }, + { + "name": "webhookUpdateParameters", + "in": "body", + "description": "The parameters for updating a webhook.", + "required": true, + "schema": { + "$ref": "#/definitions/WebhookUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Webhook" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Webhook" + } + } + }, + "x-ms-examples": { + "WebhookUpdate": { + "$ref": "./examples/WebhookUpdate.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/ping": { + "post": { + "tags": [ + "Webhooks" + ], + "description": "Triggers a ping event to be sent to the webhook.", + "operationId": "Webhooks_Ping", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/EventInfo" + } + } + }, + "x-ms-examples": { + "WebhookPing": { + "$ref": "./examples/WebhookPing.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/listEvents": { + "post": { + "tags": [ + "Webhooks" + ], + "description": "Lists recent events for the specified webhook.", + "operationId": "Webhooks_ListEvents", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/EventListResult" + } + } + }, + "x-ms-examples": { + "WebhookListEvents": { + "$ref": "./examples/WebhookListEvents.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/getCallbackConfig": { + "post": { + "tags": [ + "Webhooks" + ], + "description": "Gets the configuration of service URI and custom headers for the webhook.", + "operationId": "Webhooks_GetCallbackConfig", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/CallbackConfig" + } + } + }, + "x-ms-examples": { + "WebhookGetCallbackConfig": { + "$ref": "./examples/WebhookGetCallbackConfig.json" + } + } + } + } + }, + "definitions": { + "ConnectedRegistryListResult": { + "description": "The result of a request to list connected registries for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of connected registries. Since this list may be incomplete, the nextLink field should be used to request the next list of connected registries.", + "type": "array", + "items": { + "$ref": "#/definitions/ConnectedRegistry" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of connected registries.", + "type": "string" + } + } + }, + "ConnectedRegistry": { + "description": "An object that represents a connected registry for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ConnectedRegistryProperties", + "description": "The properties of the connected registry.", + "x-ms-client-flatten": true + } + } + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "properties": { + "createdBy": { + "description": "The identity that created the resource.", + "type": "string" + }, + "createdByType": { + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "type": "string", + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "format": "date-time", + "description": "The timestamp of resource creation (UTC).", + "type": "string" + }, + "lastModifiedBy": { + "description": "The identity that last modified the resource.", + "type": "string" + }, + "lastModifiedByType": { + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "type": "string", + "x-ms-enum": { + "name": "lastModifiedByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "format": "date-time", + "description": "The timestamp of resource modification (UTC).", + "type": "string" + } + }, + "readOnly": true + }, + "ConnectedRegistryProperties": { + "description": "The properties of a connected registry.", + "required": [ + "mode", + "parent" + ], + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the resource.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "mode": { + "description": "The mode of the connected registry resource that indicates the permissions of the registry.", + "enum": [ + "ReadWrite", + "ReadOnly", + "Registry", + "Mirror" + ], + "type": "string", + "x-ms-enum": { + "name": "ConnectedRegistryMode", + "modelAsString": true + } + }, + "version": { + "description": "The current version of ACR runtime on the connected registry.", + "type": "string", + "readOnly": true + }, + "connectionState": { + "description": "The current connection state of the connected registry.", + "enum": [ + "Online", + "Offline", + "Syncing", + "Unhealthy" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ConnectionState", + "modelAsString": true + } + }, + "lastActivityTime": { + "format": "date-time", + "description": "The last activity time of the connected registry.", + "type": "string", + "readOnly": true + }, + "activation": { + "$ref": "#/definitions/ActivationProperties", + "description": "The activation properties of the connected registry.", + "readOnly": true + }, + "parent": { + "$ref": "#/definitions/ParentProperties", + "description": "The parent of the connected registry." + }, + "clientTokenIds": { + "description": "The list of the ACR token resource IDs used to authenticate clients to the connected registry.", + "type": "array", + "items": { + "type": "string" + } + }, + "loginServer": { + "$ref": "#/definitions/LoginServerProperties", + "description": "The login server properties of the connected registry." + }, + "logging": { + "$ref": "#/definitions/LoggingProperties", + "description": "The logging properties of the connected registry." + }, + "statusDetails": { + "description": "The list of current statuses of the connected registry.", + "type": "array", + "items": { + "$ref": "#/definitions/StatusDetailProperties" + }, + "readOnly": true + }, + "notificationsList": { + "description": "The list of notifications subscription information for the connected registry.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ActivationProperties": { + "description": "The activation properties of the connected registry.", + "type": "object", + "properties": { + "status": { + "description": "The activation status of the connected registry.", + "enum": [ + "Active", + "Inactive" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ActivationStatus", + "modelAsString": true + } + } + } + }, + "ParentProperties": { + "description": "The properties of the connected registry parent.", + "required": [ + "syncProperties" + ], + "type": "object", + "properties": { + "id": { + "description": "The resource ID of the parent to which the connected registry will be associated.", + "type": "string" + }, + "syncProperties": { + "$ref": "#/definitions/SyncProperties", + "description": "The sync properties of the connected registry with its parent." + } + } + }, + "LoginServerProperties": { + "description": "The login server properties of the connected registry.", + "type": "object", + "properties": { + "host": { + "description": "The host of the connected registry. Can be FQDN or IP.", + "type": "string", + "readOnly": true + }, + "tls": { + "$ref": "#/definitions/TlsProperties", + "description": "The TLS properties of the connected registry login server.", + "readOnly": true + } + } + }, + "LoggingProperties": { + "description": "The logging properties of the connected registry.", + "type": "object", + "properties": { + "logLevel": { + "description": "The verbosity of logs persisted on the connected registry.", + "default": "Information", + "enum": [ + "Debug", + "Information", + "Warning", + "Error", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "LogLevel", + "modelAsString": true + } + }, + "auditLogStatus": { + "description": "Indicates whether audit logs are enabled on the connected registry.", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AuditLogStatus", + "modelAsString": true + } + } + } + }, + "StatusDetailProperties": { + "description": "The status detail properties of the connected registry.", + "type": "object", + "properties": { + "type": { + "description": "The component of the connected registry corresponding to the status.", + "type": "string", + "readOnly": true + }, + "code": { + "description": "The code of the status.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The description of the status.", + "type": "string", + "readOnly": true + }, + "timestamp": { + "format": "date-time", + "description": "The timestamp of the status.", + "type": "string", + "readOnly": true + }, + "correlationId": { + "description": "The correlation ID of the status.", + "type": "string", + "readOnly": true + } + } + }, + "SyncProperties": { + "description": "The sync properties of the connected registry with its parent.", + "required": [ + "tokenId", + "messageTtl" + ], + "type": "object", + "properties": { + "tokenId": { + "description": "The resource ID of the ACR token used to authenticate the connected registry to its parent during sync.", + "type": "string" + }, + "schedule": { + "description": "The cron expression indicating the schedule that the connected registry will sync with its parent.", + "type": "string" + }, + "syncWindow": { + "format": "duration", + "description": "The time window during which sync is enabled for each schedule occurrence. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601.", + "type": "string" + }, + "messageTtl": { + "format": "duration", + "description": "The period of time for which a message is available to sync before it is expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601.", + "type": "string" + }, + "lastSyncTime": { + "format": "date-time", + "description": "The last time a sync occurred between the connected registry and its parent.", + "type": "string", + "readOnly": true + }, + "gatewayEndpoint": { + "description": "The gateway endpoint used by the connected registry to communicate with its parent.", + "type": "string", + "readOnly": true + } + } + }, + "TlsProperties": { + "description": "The TLS properties of the connected registry login server.", + "type": "object", + "properties": { + "status": { + "description": "Indicates whether HTTPS is enabled for the login server.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TlsStatus", + "modelAsString": true + } + }, + "certificate": { + "$ref": "#/definitions/TlsCertificateProperties", + "description": "The certificate used to configure HTTPS for the login server.", + "readOnly": true + } + } + }, + "TlsCertificateProperties": { + "description": "The TLS certificate properties of the connected registry login server.", + "type": "object", + "properties": { + "type": { + "description": "The type of certificate location.", + "enum": [ + "LocalDirectory" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CertificateType", + "modelAsString": true + } + }, + "location": { + "description": "Indicates the location of the certificates.", + "type": "string", + "readOnly": true + } + } + }, + "ConnectedRegistryUpdateParameters": { + "description": "The parameters for updating a connected registry.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ConnectedRegistryUpdateProperties", + "description": "The properties of the connected registry update parameters.", + "x-ms-client-flatten": true + } + } + }, + "ConnectedRegistryUpdateProperties": { + "description": "The parameters for updating token properties.", + "type": "object", + "properties": { + "syncProperties": { + "$ref": "#/definitions/SyncUpdateProperties", + "description": "The sync properties of the connected registry with its parent." + }, + "logging": { + "$ref": "#/definitions/LoggingProperties", + "description": "The logging properties of the connected registry." + }, + "clientTokenIds": { + "description": "The list of the ACR token resource IDs used to authenticate clients to the connected registry.", + "type": "array", + "items": { + "type": "string" + } + }, + "notificationsList": { + "description": "The list of notifications subscription information for the connected registry.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "SyncUpdateProperties": { + "description": "The parameters for updating the sync properties of the connected registry with its parent.", + "type": "object", + "properties": { + "schedule": { + "description": "The cron expression indicating the schedule that the connected registry will sync with its parent.", + "type": "string" + }, + "syncWindow": { + "format": "duration", + "description": "The time window during which sync is enabled for each schedule occurrence. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601.", + "type": "string" + }, + "messageTtl": { + "format": "duration", + "description": "The period of time for which a message is available to sync before it is expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601.", + "type": "string" + } + } + }, + "ExportPipelineListResult": { + "description": "The result of a request to list export pipelines for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of export pipelines. Since this list may be incomplete, the nextLink field should be used to request the next list of export pipelines.", + "type": "array", + "items": { + "$ref": "#/definitions/ExportPipeline" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of pipeline runs.", + "type": "string" + } + } + }, + "ExportPipeline": { + "description": "An object that represents an export pipeline for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "location": { + "description": "The location of the export pipeline.", + "type": "string" + }, + "identity": { + "$ref": "#/definitions/IdentityProperties", + "description": "The identity of the export pipeline." + }, + "properties": { + "$ref": "#/definitions/ExportPipelineProperties", + "description": "The properties of the export pipeline.", + "x-ms-client-flatten": true + } + } + }, + "IdentityProperties": { + "description": "Managed identity for the resource.", + "type": "object", + "properties": { + "principalId": { + "description": "The principal ID of resource identity.", + "type": "string" + }, + "tenantId": { + "description": "The tenant ID of resource.", + "type": "string" + }, + "type": { + "description": "The identity type.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "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" + } + } + } + }, + "ExportPipelineProperties": { + "description": "The properties of an export pipeline.", + "required": [ + "target" + ], + "type": "object", + "properties": { + "target": { + "$ref": "#/definitions/ExportPipelineTargetProperties", + "description": "The target properties of the export pipeline." + }, + "options": { + "description": "The list of all options configured for the pipeline.", + "type": "array", + "items": { + "enum": [ + "OverwriteTags", + "OverwriteBlobs", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ], + "type": "string", + "x-ms-enum": { + "name": "PipelineOptions", + "modelAsString": true + } + } + }, + "provisioningState": { + "description": "The provisioning state of the pipeline at the time the operation was called.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "UserIdentityProperties": { + "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": "An Azure resource.", + "required": [ + "location" + ], + "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 + }, + "location": { + "description": "The location of the resource. This cannot be changed after the resource is created.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "The tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "ExportPipelineTargetProperties": { + "description": "The properties of the export pipeline target.", + "required": [ + "keyVaultUri" + ], + "type": "object", + "properties": { + "type": { + "description": "The type of target for the export pipeline.", + "type": "string" + }, + "uri": { + "description": "The target uri of the export pipeline.\r\nWhen 'AzureStorageBlob': \"https://accountName.blob.core.windows.net/containerName/blobName\"\r\nWhen 'AzureStorageBlobContainer': \"https://accountName.blob.core.windows.net/containerName\"", + "type": "string" + }, + "keyVaultUri": { + "description": "They key vault secret uri to obtain the target storage SAS token.", + "type": "string" + } + } + }, + "ProxyResource": { + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags.", + "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 + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "ImportImageParameters": { + "required": [ + "source" + ], + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/ImportSource", + "description": "The source of the image." + }, + "targetTags": { + "description": "List of strings of the form repo[:tag]. When tag is omitted the source will be used (or 'latest' if source tag is also omitted).", + "type": "array", + "items": { + "type": "string" + } + }, + "untaggedTargetRepositories": { + "description": "List of strings of repository names to do a manifest only copy. No tag will be created.", + "type": "array", + "items": { + "type": "string" + } + }, + "mode": { + "description": "When Force, any existing target tags will be overwritten. When NoForce, any existing target tags will fail the operation before any copying begins.", + "default": "NoForce", + "enum": [ + "NoForce", + "Force" + ], + "type": "string", + "x-ms-enum": { + "name": "ImportMode", + "modelAsString": true + } + } + } + }, + "ImportSource": { + "required": [ + "sourceImage" + ], + "type": "object", + "properties": { + "resourceId": { + "description": "The resource identifier of the source Azure Container Registry.", + "type": "string" + }, + "registryUri": { + "description": "The address of the source registry (e.g. 'mcr.microsoft.com').", + "type": "string" + }, + "credentials": { + "$ref": "#/definitions/ImportSourceCredentials", + "description": "Credentials used when importing from a registry uri." + }, + "sourceImage": { + "description": "Repository name of the source image.\r\nSpecify an image by repository ('hello-world'). This will use the 'latest' tag.\r\nSpecify an image by tag ('hello-world:latest').\r\nSpecify an image by sha256-based manifest digest ('hello-world@sha256:abc123').", + "type": "string" + } + } + }, + "ImportSourceCredentials": { + "required": [ + "password" + ], + "type": "object", + "properties": { + "username": { + "description": "The username to authenticate with the source registry.", + "type": "string" + }, + "password": { + "description": "The password used to authenticate with the source registry.", + "type": "string" + } + } + }, + "ImportPipelineListResult": { + "description": "The result of a request to list import pipelines for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of import pipelines. Since this list may be incomplete, the nextLink field should be used to request the next list of import pipelines.", + "type": "array", + "items": { + "$ref": "#/definitions/ImportPipeline" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of pipeline runs.", + "type": "string" + } + } + }, + "ImportPipeline": { + "description": "An object that represents an import pipeline for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "location": { + "description": "The location of the import pipeline.", + "type": "string" + }, + "identity": { + "$ref": "#/definitions/IdentityProperties", + "description": "The identity of the import pipeline." + }, + "properties": { + "$ref": "#/definitions/ImportPipelineProperties", + "description": "The properties of the import pipeline.", + "x-ms-client-flatten": true + } + } + }, + "ImportPipelineProperties": { + "description": "The properties of an import pipeline.", + "required": [ + "source" + ], + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/ImportPipelineSourceProperties", + "description": "The source properties of the import pipeline." + }, + "trigger": { + "$ref": "#/definitions/PipelineTriggerProperties", + "description": "The properties that describe the trigger of the import pipeline." + }, + "options": { + "description": "The list of all options configured for the pipeline.", + "type": "array", + "items": { + "enum": [ + "OverwriteTags", + "OverwriteBlobs", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ], + "type": "string", + "x-ms-enum": { + "name": "PipelineOptions", + "modelAsString": true + } + } + }, + "provisioningState": { + "description": "The provisioning state of the pipeline at the time the operation was called.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "ImportPipelineSourceProperties": { + "description": "The properties of the import pipeline source.", + "required": [ + "keyVaultUri" + ], + "type": "object", + "properties": { + "type": { + "description": "The type of source for the import pipeline.", + "default": "AzureStorageBlobContainer", + "enum": [ + "AzureStorageBlobContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "PipelineSourceType", + "modelAsString": true + } + }, + "uri": { + "description": "The source uri of the import pipeline.\r\nWhen 'AzureStorageBlob': \"https://accountName.blob.core.windows.net/containerName/blobName\"\r\nWhen 'AzureStorageBlobContainer': \"https://accountName.blob.core.windows.net/containerName\"", + "type": "string" + }, + "keyVaultUri": { + "description": "They key vault secret uri to obtain the source storage SAS token.", + "type": "string" + } + } + }, + "PipelineTriggerProperties": { + "type": "object", + "properties": { + "sourceTrigger": { + "$ref": "#/definitions/PipelineSourceTriggerProperties", + "description": "The source trigger properties of the pipeline." + } + } + }, + "PipelineSourceTriggerProperties": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "description": "The current status of the source trigger.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "TriggerStatus", + "modelAsString": true + } + } + } + }, + "OperationListResult": { + "description": "The result of a request to list container registry operations.", + "type": "object", + "properties": { + "value": { + "description": "The list of container registry operations. Since this list may be incomplete, the nextLink field should be used to request the next list of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationDefinition" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of container registry operations.", + "type": "string" + } + } + }, + "OperationDefinition": { + "description": "The definition of a container registry operation.", + "type": "object", + "properties": { + "origin": { + "description": "The origin information of the container registry operation.", + "type": "string" + }, + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplayDefinition", + "description": "The display information for the container registry operation." + }, + "properties": { + "$ref": "#/definitions/OperationPropertiesDefinition", + "description": "The properties information for the container registry operation.", + "x-ms-client-flatten": true + }, + "isDataAction": { + "description": "This property indicates if the operation is an action or a data action\r\nref: https://docs.microsoft.com/en-us/azure/role-based-access-control/role-definitions#management-and-data-operations", + "type": "boolean" + } + } + }, + "OperationDisplayDefinition": { + "description": "The display information for a container registry operation.", + "type": "object", + "properties": { + "provider": { + "description": "The resource provider name: Microsoft.ContainerRegistry.", + "type": "string" + }, + "resource": { + "description": "The resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "The operation that users can perform.", + "type": "string" + }, + "description": { + "description": "The description for the operation.", + "type": "string" + } + } + }, + "OperationPropertiesDefinition": { + "description": "The definition of Azure Monitoring properties.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/OperationServiceSpecificationDefinition", + "description": "The definition of Azure Monitoring service." + } + } + }, + "OperationServiceSpecificationDefinition": { + "description": "The definition of Azure Monitoring list.", + "type": "object", + "properties": { + "metricSpecifications": { + "description": "A list of Azure Monitoring metrics definition.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationMetricSpecificationDefinition" + } + }, + "logSpecifications": { + "description": "A list of Azure Monitoring log definitions.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationLogSpecificationDefinition" + } + } + } + }, + "OperationMetricSpecificationDefinition": { + "description": "The definition of Azure Monitoring metric.", + "type": "object", + "properties": { + "name": { + "description": "Metric name.", + "type": "string" + }, + "displayName": { + "description": "Metric display name.", + "type": "string" + }, + "displayDescription": { + "description": "Metric description.", + "type": "string" + }, + "unit": { + "description": "Metric unit.", + "type": "string" + }, + "aggregationType": { + "description": "Metric aggregation type.", + "type": "string" + }, + "internalMetricName": { + "description": "Internal metric name.", + "type": "string" + } + } + }, + "OperationLogSpecificationDefinition": { + "description": "The definition of Azure Monitoring log.", + "type": "object", + "properties": { + "name": { + "description": "Log name.", + "type": "string" + }, + "displayName": { + "description": "Log display name.", + "type": "string" + }, + "blobDuration": { + "description": "Log blob duration.", + "type": "string" + } + } + }, + "RegistryNameCheckRequest": { + "description": "A request to check whether a container registry name is available.", + "required": [ + "name", + "type" + ], + "type": "object", + "properties": { + "name": { + "description": "The name of the container registry.", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "type": "string" + }, + "type": { + "description": "The resource type of the container registry. This field must be set to 'Microsoft.ContainerRegistry/registries'.", + "enum": [ + "Microsoft.ContainerRegistry/registries" + ], + "type": "string", + "x-ms-enum": { + "name": "ContainerRegistryResourceType", + "modelAsString": false + } + } + } + }, + "RegistryNameStatus": { + "description": "The result of a request to check the availability of a container registry name.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "The value that indicates whether the name is available.", + "type": "boolean" + }, + "reason": { + "description": "If any, the reason that the name is not available.", + "type": "string" + }, + "message": { + "description": "If any, the error message that provides more detail for the reason that the name is not available.", + "type": "string" + } + } + }, + "PipelineRunListResult": { + "description": "The result of a request to list pipeline runs for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of pipeline runs. Since this list may be incomplete, the nextLink field should be used to request the next list of pipeline runs.", + "type": "array", + "items": { + "$ref": "#/definitions/PipelineRun" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of pipeline runs.", + "type": "string" + } + } + }, + "PipelineRun": { + "description": "An object that represents a pipeline run for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PipelineRunProperties", + "description": "The properties of a pipeline run.", + "x-ms-client-flatten": true + } + } + }, + "PipelineRunProperties": { + "description": "The properties of a pipeline run.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of a pipeline run.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "request": { + "$ref": "#/definitions/PipelineRunRequest", + "description": "The request parameters for a pipeline run." + }, + "response": { + "$ref": "#/definitions/PipelineRunResponse", + "description": "The response of a pipeline run.", + "readOnly": true + }, + "forceUpdateTag": { + "description": "How the pipeline run should be forced to recreate even if the pipeline run configuration has not changed.", + "type": "string" + } + } + }, + "PipelineRunRequest": { + "description": "The request properties provided for a pipeline run.", + "type": "object", + "properties": { + "pipelineResourceId": { + "description": "The resource ID of the pipeline to run.", + "type": "string" + }, + "artifacts": { + "description": "List of source artifacts to be transferred by the pipeline. \r\nSpecify an image by repository ('hello-world'). This will use the 'latest' tag.\r\nSpecify an image by tag ('hello-world:latest').\r\nSpecify an image by sha256-based manifest digest ('hello-world@sha256:abc123').", + "type": "array", + "items": { + "type": "string" + } + }, + "source": { + "$ref": "#/definitions/PipelineRunSourceProperties", + "description": "The source properties of the pipeline run." + }, + "target": { + "$ref": "#/definitions/PipelineRunTargetProperties", + "description": "The target properties of the pipeline run." + }, + "catalogDigest": { + "description": "The digest of the tar used to transfer the artifacts.", + "type": "string" + } + } + }, + "PipelineRunResponse": { + "description": "The response properties returned for a pipeline run.", + "type": "object", + "properties": { + "status": { + "description": "The current status of the pipeline run.", + "type": "string" + }, + "importedArtifacts": { + "description": "The artifacts imported in the pipeline run.", + "type": "array", + "items": { + "type": "string" + } + }, + "progress": { + "$ref": "#/definitions/ProgressProperties", + "description": "The current progress of the copy operation." + }, + "startTime": { + "format": "date-time", + "description": "The time the pipeline run started.", + "type": "string" + }, + "finishTime": { + "format": "date-time", + "description": "The time the pipeline run finished.", + "type": "string" + }, + "source": { + "$ref": "#/definitions/ImportPipelineSourceProperties", + "description": "The source of the pipeline run." + }, + "target": { + "$ref": "#/definitions/ExportPipelineTargetProperties", + "description": "The target of the pipeline run." + }, + "catalogDigest": { + "description": "The digest of the tar used to transfer the artifacts.", + "type": "string" + }, + "trigger": { + "$ref": "#/definitions/PipelineTriggerDescriptor", + "description": "The trigger that caused the pipeline run." + }, + "pipelineRunErrorMessage": { + "description": "The detailed error message for the pipeline run in the case of failure.", + "type": "string" + } + } + }, + "PipelineRunSourceProperties": { + "type": "object", + "properties": { + "type": { + "description": "The type of the source.", + "default": "AzureStorageBlob", + "enum": [ + "AzureStorageBlob" + ], + "type": "string", + "x-ms-enum": { + "name": "PipelineRunSourceType", + "modelAsString": true + } + }, + "name": { + "description": "The name of the source.", + "type": "string" + } + } + }, + "PipelineRunTargetProperties": { + "type": "object", + "properties": { + "type": { + "description": "The type of the target.", + "default": "AzureStorageBlob", + "enum": [ + "AzureStorageBlob" + ], + "type": "string", + "x-ms-enum": { + "name": "PipelineRunTargetType", + "modelAsString": true + } + }, + "name": { + "description": "The name of the target.", + "type": "string" + } + } + }, + "ProgressProperties": { + "type": "object", + "properties": { + "percentage": { + "description": "The percentage complete of the copy operation.", + "type": "string" + } + } + }, + "PipelineTriggerDescriptor": { + "type": "object", + "properties": { + "sourceTrigger": { + "$ref": "#/definitions/PipelineSourceTriggerDescriptor", + "description": "The source trigger that caused the pipeline run." + } + } + }, + "PipelineSourceTriggerDescriptor": { + "type": "object", + "properties": { + "timestamp": { + "format": "date-time", + "description": "The timestamp when the source update happened.", + "type": "string" + } + } + }, + "PrivateEndpointConnectionListResult": { + "description": "The result of a request to list private endpoint connections for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of private endpoint connections. Since this list may be incomplete, the nextLink field should be used to request the next list of private endpoint connections.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of private endpoint connections.", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "description": "An object that represents a private endpoint connection for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true + } + } + }, + "PrivateEndpointConnectionProperties": { + "description": "The properties of a private endpoint connection.", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "description": "The provisioning state of private endpoint connection resource.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "PrivateEndpoint": { + "description": "The Private Endpoint resource.", + "type": "object", + "properties": { + "id": { + "description": "This is private endpoint resource created with Microsoft.Network resource provider.", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The state of a private link service connection.", + "type": "object", + "properties": { + "status": { + "description": "The private link service connection status.", + "enum": [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "description": { + "description": "The description for connection status. For example if connection is rejected it can indicate reason for rejection.", + "type": "string" + }, + "actionsRequired": { + "description": "A message indicating if changes on the service provider require any updates on the consumer.", + "enum": [ + "None", + "Recreate" + ], + "type": "string", + "x-ms-enum": { + "name": "ActionsRequired", + "modelAsString": true + } + } + } + }, + "RegistryListResult": { + "description": "The result of a request to list container registries.", + "type": "object", + "properties": { + "value": { + "description": "The list of container registries. Since this list may be incomplete, the nextLink field should be used to request the next list of container registries.", + "type": "array", + "items": { + "$ref": "#/definitions/Registry" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of container registries.", + "type": "string" + } + } + }, + "Registry": { + "description": "An object that represents a container registry.", + "required": [ + "sku" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the container registry." + }, + "identity": { + "$ref": "#/definitions/IdentityProperties", + "description": "The identity of the container registry." + }, + "properties": { + "$ref": "#/definitions/RegistryProperties", + "description": "The properties of the container registry.", + "x-ms-client-flatten": true + } + } + }, + "Sku": { + "description": "The SKU of a container registry.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The SKU name of the container registry. Required for registry creation.", + "enum": [ + "Classic", + "Basic", + "Standard", + "Premium" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "tier": { + "description": "The SKU tier based on the SKU name.", + "enum": [ + "Classic", + "Basic", + "Standard", + "Premium" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + } + } + }, + "RegistryProperties": { + "description": "The properties of a container registry.", + "type": "object", + "properties": { + "loginServer": { + "description": "The URL that can be used to log into the container registry.", + "type": "string", + "readOnly": true + }, + "creationDate": { + "format": "date-time", + "description": "The creation date of the container registry in ISO8601 format.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the container registry at the time the operation was called.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "status": { + "$ref": "#/definitions/Status", + "description": "The status of the container registry at the time the operation was called.", + "readOnly": true + }, + "adminUserEnabled": { + "description": "The value that indicates whether the admin user is enabled.", + "default": false, + "type": "boolean" + }, + "networkRuleSet": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "The network rule set for a container registry." + }, + "policies": { + "$ref": "#/definitions/Policies", + "description": "The policies for a container registry." + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperty", + "description": "The encryption settings of container registry." + }, + "dataEndpointEnabled": { + "description": "Enable a single data endpoint per region for serving data.", + "type": "boolean" + }, + "dataEndpointHostNames": { + "description": "List of host names that will serve data when dataEndpointEnabled is true.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "privateEndpointConnections": { + "description": "List of private endpoint connections for a container registry.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + }, + "publicNetworkAccess": { + "description": "Whether or not public network access is allowed for the container registry.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "networkRuleBypassOptions": { + "description": "Whether to allow trusted Azure services to access a network restricted registry.", + "default": "AzureServices", + "enum": [ + "AzureServices", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "NetworkRuleBypassOptions", + "modelAsString": true + } + }, + "zoneRedundancy": { + "description": "Whether or not zone redundancy is enabled for this container registry", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ZoneRedundancy", + "modelAsString": true + } + }, + "anonymousPullEnabled": { + "description": "Enables registry-wide pull from unauthenticated clients.", + "default": false, + "type": "boolean" + } + } + }, + "Status": { + "description": "The status of an Azure resource at the time the operation was called.", + "type": "object", + "properties": { + "displayStatus": { + "description": "The short label for the status.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The detailed message for the status, including alerts and error messages.", + "type": "string", + "readOnly": true + }, + "timestamp": { + "format": "date-time", + "description": "The timestamp when the status was changed to the current value.", + "type": "string", + "readOnly": true + } + } + }, + "NetworkRuleSet": { + "description": "The network rule set for a container registry.", + "required": [ + "defaultAction" + ], + "type": "object", + "properties": { + "defaultAction": { + "description": "The default action of allow or deny when no other rules match.", + "default": "Allow", + "enum": [ + "Allow", + "Deny" + ], + "type": "string", + "x-ms-enum": { + "name": "DefaultAction", + "modelAsString": true + } + }, + "virtualNetworkRules": { + "description": "The virtual network rules.", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "ipRules": { + "description": "The IP ACL rules.", + "type": "array", + "items": { + "$ref": "#/definitions/IPRule" + } + } + } + }, + "Policies": { + "description": "The policies for a container registry.", + "type": "object", + "properties": { + "quarantinePolicy": { + "$ref": "#/definitions/QuarantinePolicy", + "description": "The quarantine policy for a container registry." + }, + "trustPolicy": { + "$ref": "#/definitions/TrustPolicy", + "description": "The content trust policy for a container registry." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "The retention policy for a container registry." + }, + "exportPolicy": { + "$ref": "#/definitions/ExportPolicy", + "description": "The export policy for a container registry." + } + } + }, + "EncryptionProperty": { + "type": "object", + "properties": { + "status": { + "description": "Indicates whether or not the encryption is enabled for container registry.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionStatus", + "modelAsString": true + } + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Key vault properties." + } + } + }, + "VirtualNetworkRule": { + "description": "Virtual network rule.", + "required": [ + "id" + ], + "type": "object", + "properties": { + "action": { + "description": "The action of virtual network rule.", + "default": "Allow", + "enum": [ + "Allow" + ], + "type": "string", + "x-ms-enum": { + "name": "Action", + "modelAsString": true + } + }, + "id": { + "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}.", + "type": "string", + "x-ms-client-name": "VirtualNetworkResourceId" + } + } + }, + "IPRule": { + "description": "IP rule with specific IP or IP range in CIDR format.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "action": { + "description": "The action of IP ACL rule.", + "default": "Allow", + "enum": [ + "Allow" + ], + "type": "string", + "x-ms-enum": { + "name": "Action", + "modelAsString": true + } + }, + "value": { + "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.", + "type": "string", + "x-ms-client-name": "IPAddressOrRange" + } + } + }, + "QuarantinePolicy": { + "description": "The quarantine policy for a container registry.", + "type": "object", + "properties": { + "status": { + "description": "The value that indicates whether the policy is enabled or not.", + "default": "disabled", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyStatus", + "modelAsString": true + } + } + } + }, + "TrustPolicy": { + "description": "The content trust policy for a container registry.", + "type": "object", + "properties": { + "type": { + "description": "The type of trust policy.", + "default": "Notary", + "enum": [ + "Notary" + ], + "type": "string", + "x-ms-enum": { + "name": "TrustPolicyType", + "modelAsString": true + } + }, + "status": { + "description": "The value that indicates whether the policy is enabled or not.", + "default": "disabled", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyStatus", + "modelAsString": true + } + } + } + }, + "RetentionPolicy": { + "description": "The retention policy for a container registry.", + "type": "object", + "properties": { + "days": { + "format": "int32", + "description": "The number of days to retain an untagged manifest after which it gets purged.", + "default": 7, + "type": "integer" + }, + "lastUpdatedTime": { + "format": "date-time", + "description": "The timestamp when the policy was last updated.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The value that indicates whether the policy is enabled or not.", + "default": "disabled", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyStatus", + "modelAsString": true + } + } + } + }, + "ExportPolicy": { + "description": "The export policy for a container registry.", + "type": "object", + "properties": { + "status": { + "description": "The value that indicates whether the policy is enabled or not.", + "default": "enabled", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ExportPolicyStatus", + "modelAsString": true + } + } + } + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyIdentifier": { + "description": "Key vault uri to access the encryption key.", + "type": "string" + }, + "versionedKeyIdentifier": { + "description": "The fully qualified key identifier that includes the version of the key that is actually used for encryption.", + "type": "string", + "readOnly": true + }, + "identity": { + "description": "The client id of the identity which will be used to access key vault.", + "type": "string" + }, + "keyRotationEnabled": { + "description": "Auto key rotation status for a CMK enabled registry.", + "type": "boolean", + "readOnly": true + }, + "lastKeyRotationTimestamp": { + "format": "date-time", + "description": "Timestamp of the last successful key rotation.", + "type": "string", + "readOnly": true + } + } + }, + "RegistryUpdateParameters": { + "description": "The parameters for updating a container registry.", + "type": "object", + "properties": { + "identity": { + "$ref": "#/definitions/IdentityProperties", + "description": "The identity of the container registry." + }, + "tags": { + "description": "The tags for the container registry.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the container registry." + }, + "properties": { + "$ref": "#/definitions/RegistryPropertiesUpdateParameters", + "description": "The properties that the container registry will be updated with.", + "x-ms-client-flatten": true + } + } + }, + "RegistryPropertiesUpdateParameters": { + "description": "The parameters for updating the properties of a container registry.", + "type": "object", + "properties": { + "adminUserEnabled": { + "description": "The value that indicates whether the admin user is enabled.", + "type": "boolean" + }, + "networkRuleSet": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "The network rule set for a container registry." + }, + "policies": { + "$ref": "#/definitions/Policies", + "description": "The policies for a container registry." + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperty", + "description": "The encryption settings of container registry." + }, + "dataEndpointEnabled": { + "description": "Enable a single data endpoint per region for serving data.", + "type": "boolean" + }, + "publicNetworkAccess": { + "description": "Whether or not public network access is allowed for the container registry.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "networkRuleBypassOptions": { + "description": "Whether to allow trusted Azure services to access a network restricted registry.", + "default": "AzureServices", + "enum": [ + "AzureServices", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "NetworkRuleBypassOptions", + "modelAsString": true + } + }, + "anonymousPullEnabled": { + "description": "Enables registry-wide pull from unauthenticated clients.", + "type": "boolean" + } + } + }, + "RegistryUsageListResult": { + "description": "The result of a request to get container registry quota usages.", + "type": "object", + "properties": { + "value": { + "description": "The list of container registry quota usages.", + "type": "array", + "items": { + "$ref": "#/definitions/RegistryUsage" + } + } + } + }, + "RegistryUsage": { + "description": "The quota usage for a container registry.", + "type": "object", + "properties": { + "name": { + "description": "The name of the usage.", + "type": "string" + }, + "limit": { + "format": "int64", + "description": "The limit of the usage.", + "type": "integer" + }, + "currentValue": { + "format": "int64", + "description": "The current value of the usage.", + "type": "integer" + }, + "unit": { + "description": "The unit of measurement.", + "enum": [ + "Count", + "Bytes" + ], + "type": "string", + "x-ms-enum": { + "name": "RegistryUsageUnit", + "modelAsString": true + } + } + } + }, + "PrivateLinkResourceListResult": { + "description": "The result of a request to list private link resources for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of private link resources. Since this list may be incomplete, the nextLink field should be used to request the next list of private link resources.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of private link resources.", + "type": "string" + } + } + }, + "PrivateLinkResource": { + "description": "A resource that supports private link capabilities.", + "type": "object", + "properties": { + "type": { + "description": "The resource type is private link resource.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "The resource ID.", + "type": "string" + }, + "name": { + "description": "The name of the resource.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "A resource that supports private link capabilities.", + "x-ms-client-flatten": true + } + } + }, + "PrivateLinkResourceProperties": { + "description": "The properties of a private link resource.", + "type": "object", + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string" + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "description": "The private link resource Private link DNS zone name.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "RegistryListCredentialsResult": { + "description": "The response from the ListCredentials operation.", + "type": "object", + "properties": { + "username": { + "description": "The username for a container registry.", + "type": "string" + }, + "passwords": { + "description": "The list of passwords for a container registry.", + "type": "array", + "items": { + "$ref": "#/definitions/RegistryPassword" + } + } + } + }, + "RegistryPassword": { + "description": "The login password for the container registry.", + "type": "object", + "properties": { + "name": { + "description": "The password name.", + "enum": [ + "password", + "password2" + ], + "type": "string", + "x-ms-enum": { + "name": "PasswordName", + "modelAsString": false + } + }, + "value": { + "description": "The password value.", + "type": "string" + } + } + }, + "RegenerateCredentialParameters": { + "description": "The parameters used to regenerate the login credential.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "Specifies name of the password which should be regenerated -- password or password2.", + "enum": [ + "password", + "password2" + ], + "type": "string", + "x-ms-enum": { + "name": "PasswordName", + "modelAsString": false + } + } + } + }, + "ReplicationListResult": { + "description": "The result of a request to list replications for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of replications. Since this list may be incomplete, the nextLink field should be used to request the next list of replications.", + "type": "array", + "items": { + "$ref": "#/definitions/Replication" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of replications.", + "type": "string" + } + } + }, + "Replication": { + "description": "An object that represents a replication for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ReplicationProperties", + "description": "The properties of the replication.", + "x-ms-client-flatten": true + } + } + }, + "ReplicationProperties": { + "description": "The properties of a replication.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the replication at the time the operation was called.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "status": { + "$ref": "#/definitions/Status", + "description": "The status of the replication at the time the operation was called.", + "readOnly": true + }, + "regionEndpointEnabled": { + "description": "Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications.", + "default": true, + "type": "boolean" + }, + "zoneRedundancy": { + "description": "Whether or not zone redundancy is enabled for this container registry replication", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ZoneRedundancy", + "modelAsString": true + } + } + } + }, + "ReplicationUpdateParameters": { + "description": "The parameters for updating a replication.", + "type": "object", + "properties": { + "tags": { + "description": "The tags for the replication.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/ReplicationUpdateParametersProperties", + "description": "The parameters for updating a replication's properties", + "x-ms-client-flatten": true + } + } + }, + "ReplicationUpdateParametersProperties": { + "type": "object", + "properties": { + "regionEndpointEnabled": { + "description": "Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications.", + "type": "boolean" + } + } + }, + "ScopeMapListResult": { + "description": "The result of a request to list scope maps for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of scope maps. Since this list may be incomplete, the nextLink field should be used to request the next list of scope maps.", + "type": "array", + "items": { + "$ref": "#/definitions/ScopeMap" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of scope maps.", + "type": "string" + } + } + }, + "ScopeMap": { + "description": "An object that represents a scope map for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ScopeMapProperties", + "description": "The properties of the scope map.", + "x-ms-client-flatten": true + } + } + }, + "ScopeMapProperties": { + "description": "The properties of a scope map.", + "required": [ + "actions" + ], + "type": "object", + "properties": { + "description": { + "description": "The user friendly description of the scope map.", + "type": "string" + }, + "type": { + "description": "The type of the scope map. E.g. BuildIn scope map.", + "type": "string", + "readOnly": true + }, + "creationDate": { + "format": "date-time", + "description": "The creation date of scope map.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state of the resource.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "actions": { + "description": "The list of scoped permissions for registry artifacts.\r\nE.g. repositories/repository-name/content/read,\r\nrepositories/repository-name/metadata/write", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ScopeMapUpdateParameters": { + "description": "The properties for updating the scope map.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ScopeMapPropertiesUpdateParameters", + "description": "The update parameters for scope map properties.", + "x-ms-client-flatten": true + } + } + }, + "ScopeMapPropertiesUpdateParameters": { + "description": "The update parameters for scope map properties.", + "type": "object", + "properties": { + "description": { + "description": "The user friendly description of the scope map.", + "type": "string" + }, + "actions": { + "description": "The list of scope permissions for registry artifacts.\r\nE.g. repositories/repository-name/pull, \r\nrepositories/repository-name/delete", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "TokenListResult": { + "description": "The result of a request to list tokens for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of tokens. Since this list may be incomplete, the nextLink field should be used to request the next list of tokens.", + "type": "array", + "items": { + "$ref": "#/definitions/Token" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of tokens.", + "type": "string" + } + } + }, + "Token": { + "description": "An object that represents a token for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TokenProperties", + "description": "The properties of the token.", + "x-ms-client-flatten": true + } + } + }, + "TokenProperties": { + "description": "The properties of a token.", + "type": "object", + "properties": { + "creationDate": { + "format": "date-time", + "description": "The creation date of scope map.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state of the resource.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "scopeMapId": { + "description": "The resource ID of the scope map to which the token will be associated with.", + "type": "string" + }, + "credentials": { + "$ref": "#/definitions/TokenCredentialsProperties", + "description": "The credentials that can be used for authenticating the token." + }, + "status": { + "description": "The status of the token example enabled or disabled.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "TokenStatus", + "modelAsString": true + } + } + } + }, + "TokenCredentialsProperties": { + "description": "The properties of the credentials that can be used for authenticating the token.", + "type": "object", + "properties": { + "certificates": { + "type": "array", + "items": { + "$ref": "#/definitions/TokenCertificate" + } + }, + "passwords": { + "type": "array", + "items": { + "$ref": "#/definitions/TokenPassword" + } + } + } + }, + "ActiveDirectoryObject": { + "description": "The Active Directory Object that will be used for authenticating the token of a container registry.", + "type": "object", + "properties": { + "objectId": { + "description": "The user/group/application object ID for Active Directory Object that will be used for authenticating the token of a container registry.", + "type": "string" + }, + "tenantId": { + "description": "The tenant ID of user/group/application object Active Directory Object that will be used for authenticating the token of a container registry.", + "type": "string" + } + } + }, + "TokenCertificate": { + "description": "The properties of a certificate used for authenticating a token.", + "type": "object", + "properties": { + "name": { + "enum": [ + "certificate1", + "certificate2" + ], + "type": "string", + "x-ms-enum": { + "name": "TokenCertificateName", + "modelAsString": true + } + }, + "expiry": { + "format": "date-time", + "description": "The expiry datetime of the certificate.", + "type": "string" + }, + "thumbprint": { + "description": "The thumbprint of the certificate.", + "type": "string" + }, + "encodedPemCertificate": { + "description": "Base 64 encoded string of the public certificate1 in PEM format that will be used for authenticating the token.", + "type": "string" + } + } + }, + "TokenPassword": { + "description": "The password that will be used for authenticating the token of a container registry.", + "type": "object", + "properties": { + "creationTime": { + "format": "date-time", + "description": "The creation datetime of the password.", + "type": "string" + }, + "expiry": { + "format": "date-time", + "description": "The expiry datetime of the password.", + "type": "string" + }, + "name": { + "description": "The password name \"password1\" or \"password2\"", + "enum": [ + "password1", + "password2" + ], + "type": "string", + "x-ms-enum": { + "name": "TokenPasswordName", + "modelAsString": true + } + }, + "value": { + "description": "The password value.", + "type": "string", + "readOnly": true + } + } + }, + "TokenUpdateParameters": { + "description": "The parameters for updating a token.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/TokenUpdateProperties", + "description": "The properties of the token update parameters.", + "x-ms-client-flatten": true + } + } + }, + "TokenUpdateProperties": { + "description": "The parameters for updating token properties.", + "type": "object", + "properties": { + "scopeMapId": { + "description": "The resource ID of the scope map to which the token will be associated with.", + "type": "string" + }, + "status": { + "description": "The status of the token example enabled or disabled.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "TokenStatus", + "modelAsString": true + } + }, + "credentials": { + "$ref": "#/definitions/TokenCredentialsProperties", + "description": "The credentials that can be used for authenticating the token." + } + } + }, + "GenerateCredentialsParameters": { + "description": "The parameters used to generate credentials for a specified token or user of a container registry.", + "type": "object", + "properties": { + "tokenId": { + "description": "The resource ID of the token for which credentials have to be generated.", + "type": "string" + }, + "expiry": { + "format": "date-time", + "description": "The expiry date of the generated credentials after which the credentials become invalid.", + "type": "string" + }, + "name": { + "description": "Specifies name of the password which should be regenerated if any -- password1 or password2.", + "enum": [ + "password1", + "password2" + ], + "type": "string", + "x-ms-enum": { + "name": "TokenPasswordName", + "modelAsString": true + } + } + } + }, + "GenerateCredentialsResult": { + "description": "The response from the GenerateCredentials operation.", + "type": "object", + "properties": { + "username": { + "description": "The username for a container registry.", + "type": "string" + }, + "passwords": { + "description": "The list of passwords for a container registry.", + "type": "array", + "items": { + "$ref": "#/definitions/TokenPassword" + } + } + } + }, + "WebhookListResult": { + "description": "The result of a request to list webhooks for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of webhooks. Since this list may be incomplete, the nextLink field should be used to request the next list of webhooks.", + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of webhooks.", + "type": "string" + } + } + }, + "Webhook": { + "description": "An object that represents a webhook for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WebhookProperties", + "description": "The properties of the webhook.", + "x-ms-client-flatten": true + } + } + }, + "WebhookProperties": { + "description": "The properties of a webhook.", + "required": [ + "actions" + ], + "type": "object", + "properties": { + "status": { + "description": "The status of the webhook at the time the operation was called.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "WebhookStatus", + "modelAsString": true + } + }, + "scope": { + "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.", + "type": "string" + }, + "actions": { + "description": "The list of actions that trigger the webhook to post notifications.", + "type": "array", + "items": { + "enum": [ + "push", + "delete", + "quarantine", + "chart_push", + "chart_delete" + ], + "type": "string", + "x-ms-enum": { + "name": "WebhookAction", + "modelAsString": true + } + } + }, + "provisioningState": { + "description": "The provisioning state of the webhook at the time the operation was called.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "WebhookCreateParameters": { + "description": "The parameters for creating a webhook.", + "required": [ + "location" + ], + "type": "object", + "properties": { + "tags": { + "description": "The tags for the webhook.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "description": "The location of the webhook. This cannot be changed after the resource is created.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/WebhookPropertiesCreateParameters", + "description": "The properties that the webhook will be created with.", + "x-ms-client-flatten": true + } + } + }, + "WebhookPropertiesCreateParameters": { + "description": "The parameters for creating the properties of a webhook.", + "required": [ + "serviceUri", + "actions" + ], + "type": "object", + "properties": { + "serviceUri": { + "description": "The service URI for the webhook to post notifications.", + "type": "string", + "x-ms-secret": true + }, + "customHeaders": { + "description": "Custom headers that will be added to the webhook notifications.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-secret": true + }, + "status": { + "description": "The status of the webhook at the time the operation was called.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "WebhookStatus", + "modelAsString": true + } + }, + "scope": { + "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.", + "type": "string" + }, + "actions": { + "description": "The list of actions that trigger the webhook to post notifications.", + "type": "array", + "items": { + "enum": [ + "push", + "delete", + "quarantine", + "chart_push", + "chart_delete" + ], + "type": "string", + "x-ms-enum": { + "name": "WebhookAction", + "modelAsString": true + } + } + } + } + }, + "WebhookUpdateParameters": { + "description": "The parameters for updating a webhook.", + "type": "object", + "properties": { + "tags": { + "description": "The tags for the webhook.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/WebhookPropertiesUpdateParameters", + "description": "The properties that the webhook will be updated with.", + "x-ms-client-flatten": true + } + } + }, + "WebhookPropertiesUpdateParameters": { + "description": "The parameters for updating the properties of a webhook.", + "type": "object", + "properties": { + "serviceUri": { + "description": "The service URI for the webhook to post notifications.", + "type": "string", + "x-ms-secret": true + }, + "customHeaders": { + "description": "Custom headers that will be added to the webhook notifications.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-secret": true + }, + "status": { + "description": "The status of the webhook at the time the operation was called.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "WebhookStatus", + "modelAsString": true + } + }, + "scope": { + "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.", + "type": "string" + }, + "actions": { + "description": "The list of actions that trigger the webhook to post notifications.", + "type": "array", + "items": { + "enum": [ + "push", + "delete", + "quarantine", + "chart_push", + "chart_delete" + ], + "type": "string", + "x-ms-enum": { + "name": "WebhookAction", + "modelAsString": true + } + } + } + } + }, + "EventInfo": { + "description": "The basic information of an event.", + "type": "object", + "properties": { + "id": { + "description": "The event ID.", + "type": "string" + } + } + }, + "EventListResult": { + "description": "The result of a request to list events for a webhook.", + "type": "object", + "properties": { + "value": { + "description": "The list of events. Since this list may be incomplete, the nextLink field should be used to request the next list of events.", + "type": "array", + "items": { + "$ref": "#/definitions/Event" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of events.", + "type": "string" + } + } + }, + "Event": { + "description": "The event for a webhook.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventInfo" + } + ], + "properties": { + "eventRequestMessage": { + "$ref": "#/definitions/EventRequestMessage", + "description": "The event request message sent to the service URI." + }, + "eventResponseMessage": { + "$ref": "#/definitions/EventResponseMessage", + "description": "The event response message received from the service URI." + } + } + }, + "EventRequestMessage": { + "description": "The event request message sent to the service URI.", + "type": "object", + "properties": { + "content": { + "$ref": "#/definitions/EventContent", + "description": "The content of the event request message." + }, + "headers": { + "description": "The headers of the event request message.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "method": { + "description": "The HTTP method used to send the event request message.", + "type": "string" + }, + "requestUri": { + "description": "The URI used to send the event request message.", + "type": "string" + }, + "version": { + "description": "The HTTP message version.", + "type": "string" + } + } + }, + "EventResponseMessage": { + "description": "The event response message received from the service URI.", + "type": "object", + "properties": { + "content": { + "description": "The content of the event response message.", + "type": "string" + }, + "headers": { + "description": "The headers of the event response message.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "reasonPhrase": { + "description": "The reason phrase of the event response message.", + "type": "string" + }, + "statusCode": { + "description": "The status code of the event response message.", + "type": "string" + }, + "version": { + "description": "The HTTP message version.", + "type": "string" + } + } + }, + "EventContent": { + "description": "The content of the event request message.", + "type": "object", + "properties": { + "id": { + "description": "The event ID.", + "type": "string" + }, + "timestamp": { + "format": "date-time", + "description": "The time at which the event occurred.", + "type": "string" + }, + "action": { + "description": "The action that encompasses the provided event.", + "type": "string" + }, + "target": { + "$ref": "#/definitions/Target", + "description": "The target of the event." + }, + "request": { + "$ref": "#/definitions/Request", + "description": "The request that generated the event." + }, + "actor": { + "$ref": "#/definitions/Actor", + "description": "The agent that initiated the event. For most situations, this could be from the authorization context of the request." + }, + "source": { + "$ref": "#/definitions/Source", + "description": "The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it." + } + } + }, + "Target": { + "description": "The target of the event.", + "type": "object", + "properties": { + "mediaType": { + "description": "The MIME type of the referenced object.", + "type": "string" + }, + "size": { + "format": "int64", + "description": "The number of bytes of the content. Same as Length field.", + "type": "integer" + }, + "digest": { + "description": "The digest of the content, as defined by the Registry V2 HTTP API Specification.", + "type": "string" + }, + "length": { + "format": "int64", + "description": "The number of bytes of the content. Same as Size field.", + "type": "integer" + }, + "repository": { + "description": "The repository name.", + "type": "string" + }, + "url": { + "description": "The direct URL to the content.", + "type": "string" + }, + "tag": { + "description": "The tag name.", + "type": "string" + }, + "name": { + "description": "The name of the artifact.", + "type": "string" + }, + "version": { + "description": "The version of the artifact.", + "type": "string" + } + } + }, + "Request": { + "description": "The request that generated the event.", + "type": "object", + "properties": { + "id": { + "description": "The ID of the request that initiated the event.", + "type": "string" + }, + "addr": { + "description": "The IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request.", + "type": "string" + }, + "host": { + "description": "The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests.", + "type": "string" + }, + "method": { + "description": "The request method that generated the event.", + "type": "string" + }, + "useragent": { + "description": "The user agent header of the request.", + "type": "string" + } + } + }, + "Actor": { + "description": "The agent that initiated the event. For most situations, this could be from the authorization context of the request.", + "type": "object", + "properties": { + "name": { + "description": "The subject or username associated with the request context that generated the event.", + "type": "string" + } + } + }, + "Source": { + "description": "The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it.", + "type": "object", + "properties": { + "addr": { + "description": "The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port.", + "type": "string" + }, + "instanceID": { + "description": "The running instance of an application. Changes after each restart.", + "type": "string" + } + } + }, + "CallbackConfig": { + "description": "The configuration of service URI and custom headers for the webhook.", + "required": [ + "serviceUri" + ], + "type": "object", + "properties": { + "serviceUri": { + "description": "The service URI for the webhook to post notifications.", + "type": "string" + }, + "customHeaders": { + "description": "Custom headers that will be added to the webhook notifications.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ErrorResponse": { + "description": "An error response from the Azure Container Registry service.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorResponseBody", + "description": "Azure container registry build API error body." + } + } + }, + "ErrorResponseBody": { + "description": "An error response from the Azure Container Registry service.", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "description": "error code.", + "type": "string" + }, + "message": { + "description": "error message.", + "type": "string" + }, + "target": { + "description": "target of the particular error.", + "type": "string" + }, + "details": { + "description": "an array of additional nested error response info objects, as described by this contract.", + "type": "array", + "items": { + "$ref": "#/definitions/InnerErrorDescription" + } + } + } + }, + "InnerErrorDescription": { + "description": "inner error.", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "description": "error code.", + "type": "string" + }, + "message": { + "description": "error message.", + "type": "string" + }, + "target": { + "description": "target of the particular error.", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The Microsoft Azure subscription ID.", + "required": true, + "type": "string" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The client API version.", + "required": true, + "type": "string" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group to which the container registry belongs.", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method" + }, + "RegistryNameParameter": { + "name": "registryName", + "in": "path", + "description": "The name of the container registry.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "x-ms-parameter-location": "method" + }, + "WebhookNameParameter": { + "name": "webhookName", + "in": "path", + "description": "The name of the webhook.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "x-ms-parameter-location": "method" + }, + "ReplicationNameParameter": { + "name": "replicationName", + "in": "path", + "description": "The name of the replication.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "x-ms-parameter-location": "method" + }, + "ScopeMapNameParameter": { + "name": "scopeMapName", + "in": "path", + "description": "The name of the scope map.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9-_]*$", + "x-ms-parameter-location": "method" + }, + "TokenNameParameter": { + "name": "tokenName", + "in": "path", + "description": "The name of the token.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9-]*$", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ExportPipelineNameParameter": { + "name": "exportPipelineName", + "in": "path", + "description": "The name of the export pipeline.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "x-ms-parameter-location": "method" + }, + "ImportPipelineNameParameter": { + "name": "importPipelineName", + "in": "path", + "description": "The name of the import pipeline.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "x-ms-parameter-location": "method" + }, + "PipelineRunNameParameter": { + "name": "pipelineRunName", + "in": "path", + "description": "The name of the pipeline run.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "x-ms-parameter-location": "method" + }, + "ConnectedRegistryNameParameter": { + "name": "connectedRegistryName", + "in": "path", + "description": "The name of the connected registry.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "x-ms-parameter-location": "method" + }, + "ConnectedRegistryFilterParameter": { + "name": "$filter", + "in": "query", + "description": "An OData filter expression that describes a subset of connectedRegistries to return. The parameters that can be filtered are parent.id (the resource id of the connectedRegistry parent), mode, and connectionState. The supported operator is eq.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryCreate.json new file mode 100644 index 000000000000..0f681fa833a7 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryCreate.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "connectedRegistryName": "myConnectedRegistry", + "connectedRegistryCreateParameters": { + "properties": { + "mode": "ReadWrite", + "parent": { + "syncProperties": { + "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken", + "schedule": "0 9 * * *", + "messageTtl": "P2D", + "syncWindow": "PT3H" + } + }, + "clientTokenIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token" + ], + "notificationsList": [ + "hello-world:*:*", + "sample/repo/*:1.0:*" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry", + "name": "myConnectedRegistry", + "type": "Microsoft.ContainerRegistry/registries/connectedRegistries", + "properties": { + "mode": "ReadWrite", + "activation": { + "status": "Inactive" + }, + "parent": { + "syncProperties": { + "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken", + "schedule": "0 9 * * *", + "messageTtl": "P2D", + "syncWindow": "PT3H" + } + }, + "clientTokenIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token" + ], + "logging": { + "logLevel": "Information", + "auditLogStatus": "Disabled" + }, + "notificationsList": [ + "hello-world:*:*", + "sample/repo/*:1.0:*" + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry", + "name": "myConnectedRegistry", + "type": "Microsoft.ContainerRegistry/registries/connectedRegistries", + "properties": { + "mode": "ReadWrite", + "activation": { + "status": "Inactive" + }, + "parent": { + "syncProperties": { + "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken", + "schedule": "0 9 * * *", + "messageTtl": "P2D", + "syncWindow": "PT3H" + } + }, + "clientTokenIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token" + ], + "logging": { + "logLevel": "Information", + "auditLogStatus": "Disabled" + }, + "notificationsList": [ + "hello-world:*:*", + "sample/repo/*:1.0:*" + ] + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryDeactivate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryDeactivate.json new file mode 100644 index 000000000000..fa2fab7de689 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryDeactivate.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "connectedRegistryName": "myConnectedRegistry" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryDelete.json new file mode 100644 index 000000000000..964be4af3596 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "connectedRegistryName": "myConnectedRegistry" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryGet.json new file mode 100644 index 000000000000..dc1bf212968b --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "connectedRegistryName": "myConnectedRegistry" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry", + "name": "myConnectedRegistry", + "type": "Microsoft.ContainerRegistry/registries/connectedRegistries", + "properties": { + "mode": "ReadWrite", + "activation": { + "status": "Inactive" + }, + "parent": { + "syncProperties": { + "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken", + "schedule": "0 9 * * *", + "messageTtl": "P2D", + "syncWindow": "PT3H" + } + }, + "clientTokenIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token" + ], + "logging": { + "logLevel": "Information", + "auditLogStatus": "Disabled" + }, + "notificationsList": [ + "hello-world:*:*", + "sample/repo/*:1.0:*" + ] + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryList.json new file mode 100644 index 000000000000..ff8240be5e7e --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry", + "name": "myConnectedRegistry", + "type": "Microsoft.ContainerRegistry/registries/connectedRegistries", + "properties": { + "mode": "ReadWrite", + "activation": { + "status": "Inactive" + }, + "parent": { + "syncProperties": { + "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken", + "schedule": "0 9 * * *", + "messageTtl": "P2D", + "syncWindow": "PT3H" + } + }, + "clientTokenIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token" + ], + "logging": { + "logLevel": "Information", + "auditLogStatus": "Disabled" + }, + "notificationsList": [ + "hello-world:*:*", + "sample/repo/*:1.0:*" + ] + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryUpdate.json new file mode 100644 index 000000000000..6a8e9e2d5c36 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryUpdate.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "connectedRegistryName": "myScopeMap", + "connectedRegistryUpdateParameters": { + "properties": { + "syncProperties": { + "schedule": "0 0 */10 * *", + "messageTtl": "P30D", + "syncWindow": "P2D" + }, + "logging": { + "logLevel": "Debug", + "auditLogStatus": "Enabled" + }, + "clientTokenIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client2Token" + ], + "notificationsList": [ + "hello-world:*:*", + "sample/repo/*:1.0:*" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry", + "name": "myConnectedRegistry", + "type": "Microsoft.ContainerRegistry/registries/connectedRegistries", + "properties": { + "mode": "ReadWrite", + "parent": { + "syncProperties": { + "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken", + "schedule": "0 0 */10 * *", + "messageTtl": "P30D", + "syncWindow": "P2D" + } + }, + "clientTokenIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client2Token" + ], + "logging": { + "logLevel": "Debug", + "auditLogStatus": "Enabled" + }, + "notificationsList": [ + "hello-world:*:*", + "sample/repo/*:1.0:*" + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry", + "name": "myConnectedRegistry", + "type": "Microsoft.ContainerRegistry/registries/connectedRegistries", + "properties": { + "mode": "ReadWrite", + "parent": { + "syncProperties": { + "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken", + "schedule": "0 0 */10 * *", + "messageTtl": "P30D", + "syncWindow": "P2D" + } + }, + "clientTokenIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client2Token" + ], + "logging": { + "logLevel": "Debug", + "auditLogStatus": "Enabled" + }, + "notificationsList": [ + "hello-world:*:*", + "sample/repo/*:1.0:*" + ] + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineCreate.json new file mode 100644 index 000000000000..85b06cb4824d --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineCreate.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "exportPipelineName": "myExportPipeline", + "exportPipelineCreateParameters": { + "location": "westus", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "target": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas" + }, + "options": [ + "OverwriteBlobs" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline", + "name": "myExportPipeline", + "type": "Microsoft.ContainerRegistry/registries/exportPipelines", + "properties": { + "target": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas" + }, + "options": [ + "OverwriteBlobs" + ], + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "principalId": "fa153151-b9fd-46f4-9088-5e6600f2689v", + "tenantId": "f686d426-8d16-42db-81b7-abu4gm510ccd", + "type": "SystemAssigned" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline", + "name": "myExportPipeline", + "type": "Microsoft.ContainerRegistry/registries/exportPipelines", + "properties": { + "target": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas" + }, + "options": [ + "OverwriteBlobs" + ], + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "principalId": "fa153151-b9fd-46f4-9088-5e6600f2689v", + "tenantId": "f686d426-8d16-42db-81b7-abu4gm510ccd", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineDelete.json new file mode 100644 index 000000000000..cad5f9c3e814 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "exportPipelineName": "myExportPipeline" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineGet.json new file mode 100644 index 000000000000..c7c80f60f6c6 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "exportPipelineName": "myExportPipeline" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline", + "name": "myExportPipeline", + "type": "Microsoft.ContainerRegistry/registries/exportPipelines", + "properties": { + "target": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas" + }, + "options": [ + "OverwriteBlobs" + ], + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "principalId": "fa153151-b9fd-46f4-9088-5e6600f2689v", + "tenantId": "f686d426-8d16-42db-81b7-abu4gm510ccd", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineList.json new file mode 100644 index 000000000000..d2910daff056 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline", + "name": "myExportPipeline", + "type": "Microsoft.ContainerRegistry/registries/exportPipelines", + "properties": { + "target": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas" + }, + "options": [ + "OverwriteBlobs" + ], + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "principalId": "fa153151-b9fd-46f4-9088-5e6600f2689v", + "tenantId": "f686d426-8d16-42db-81b7-abu4gm510ccd", + "type": "SystemAssigned" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportImageByManifestDigest.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportImageByManifestDigest.json new file mode 100644 index 000000000000..e51877a195b3 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportImageByManifestDigest.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "parameters": { + "source": { + "resourceId": "/subscriptions/10000000-0000-0000-0000-000000000000/resourceGroups/sourceResourceGroup/providers/Microsoft.ContainerRegistry/registries/sourceRegistry", + "sourceImage": "sourceRepository@sha256:0000000000000000000000000000000000000000000000000000000000000000" + }, + "targetTags": [ + "targetRepository:targetTag" + ], + "untaggedTargetRepositories": [ + "targetRepository1" + ], + "mode": "Force" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportImageByTag.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportImageByTag.json new file mode 100644 index 000000000000..d22eb3a0e9c3 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportImageByTag.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "parameters": { + "source": { + "resourceId": "/subscriptions/10000000-0000-0000-0000-000000000000/resourceGroups/sourceResourceGroup/providers/Microsoft.ContainerRegistry/registries/sourceRegistry", + "sourceImage": "sourceRepository:sourceTag" + }, + "targetTags": [ + "targetRepository:targetTag" + ], + "untaggedTargetRepositories": [ + "targetRepository1" + ], + "mode": "Force" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportImageFromPublicRegistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportImageFromPublicRegistry.json new file mode 100644 index 000000000000..6d2f8408f265 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportImageFromPublicRegistry.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "parameters": { + "source": { + "registryUri": "registry.hub.docker.com", + "sourceImage": "library/hello-world" + }, + "targetTags": [ + "targetRepository:targetTag" + ], + "untaggedTargetRepositories": [ + "targetRepository1" + ], + "mode": "Force" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineCreate.json new file mode 100644 index 000000000000..751d2ede52ed --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineCreate.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "importPipelineName": "myImportPipeline", + "importPipelineCreateParameters": { + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {} + } + }, + "properties": { + "source": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas" + }, + "options": [ + "OverwriteTags", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline", + "name": "myImportPipeline", + "type": "Microsoft.ContainerRegistry/registries/importPipelines", + "properties": { + "source": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas" + }, + "trigger": { + "sourceTrigger": { + "status": "Enabled" + } + }, + "options": [ + "OverwriteTags", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ], + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { + "clientId": "d3ce1bc2-f7d7-4a5b-9979-950f4e57680e", + "principalId": "b6p9f58b-6fbf-4efd-a7e0-fvd46911a466" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline", + "name": "myImportPipeline", + "type": "Microsoft.ContainerRegistry/registries/importPipelines", + "properties": { + "source": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas" + }, + "trigger": { + "sourceTrigger": { + "status": "Enabled" + } + }, + "options": [ + "OverwriteTags", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ], + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { + "clientId": "d3ce1bc2-f7d7-4a5b-9979-950f4e57680e", + "principalId": "b6p9f58b-6fbf-4efd-a7e0-fvd46911a466" + } + } + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineDelete.json new file mode 100644 index 000000000000..b959b76debfc --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "importPipelineName": "myImportPipeline" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineGet.json new file mode 100644 index 000000000000..ecf2dc25506d --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineGet.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "importPipelineName": "myImportPipeline" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline", + "name": "myImportPipeline", + "type": "Microsoft.ContainerRegistry/registries/importPipelines", + "properties": { + "source": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas" + }, + "trigger": { + "sourceTrigger": { + "status": "Enabled" + } + }, + "options": [ + "OverwriteTags", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ], + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { + "clientId": "d3ce1bc2-f7d7-4a5b-9979-950f4e57680e", + "principalId": "b6p9f58b-6fbf-4efd-a7e0-fvd46911a466" + } + } + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineList.json new file mode 100644 index 000000000000..a1e62501d917 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineList.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline", + "name": "myImportPipeline", + "type": "Microsoft.ContainerRegistry/registries/importPipelines", + "properties": { + "source": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas" + }, + "trigger": { + "sourceTrigger": { + "status": "Enabled" + } + }, + "options": [ + "OverwriteTags", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ], + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { + "clientId": "d3ce1bc2-f7d7-4a5b-9979-950f4e57680e", + "principalId": "b6p9f58b-6fbf-4efd-a7e0-fvd46911a466" + } + } + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/OperationList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/OperationList.json new file mode 100644 index 000000000000..68c2a9ce413b --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/OperationList.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ContainerRegistry/locations/deleteVirtualNetworkOrSubnets/action", + "display": { + "provider": "Microsoft ContainerRegistry", + "resource": "", + "operation": "Delete virtual network or subnets notifications", + "description": "Notifies Microsoft.ContainerRegistry that virtual network or subnet is being deleted" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunCreate_Export.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunCreate_Export.json new file mode 100644 index 000000000000..8726a81ce91e --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunCreate_Export.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "pipelineRunName": "myPipelineRun", + "pipelineRunCreateParameters": { + "properties": { + "request": { + "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline", + "target": { + "type": "AzureStorageBlob", + "name": "myblob.tar.gz" + }, + "artifacts": [ + "sourceRepository/hello-world", + "sourceRepository2@sha256:00000000000000000000000000000000000" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun", + "name": "myPipelineRun", + "type": "Microsoft.ContainerRegistry/registries/pipelineRuns", + "properties": { + "request": { + "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline", + "artifacts": [ + "sourceRepository/hello-world", + "sourceRepository2@sha256:00000000000000000000000000000000000" + ] + }, + "response": { + "status": "Running", + "catalogDigest": "sha256@", + "progress": { + "percentage": "20" + }, + "startTime": "2020-03-04T17:23:21.9261521+00:00", + "target": { + "type": "AzureStorageBlob", + "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas" + } + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun", + "name": "myPipelineRun", + "type": "Microsoft.ContainerRegistry/registries/pipelineRuns", + "properties": { + "request": { + "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline", + "artifacts": [ + "sourceRepository/hello-world", + "sourceRepository2@sha256:00000000000000000000000000000000000" + ] + }, + "response": { + "status": "Running", + "catalogDigest": "sha256@", + "progress": { + "percentage": "20" + }, + "startTime": "2020-03-04T17:23:21.9261521+00:00", + "target": { + "type": "AzureStorageBlob", + "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas" + } + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunCreate_Import.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunCreate_Import.json new file mode 100644 index 000000000000..d42f383477c6 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunCreate_Import.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "pipelineRunName": "myPipelineRun", + "pipelineRunCreateParameters": { + "properties": { + "request": { + "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline", + "source": { + "type": "AzureStorageBlob", + "name": "myblob.tar.gz" + }, + "catalogDigest": "sha256@" + }, + "forceUpdateTag": "2020-03-04T17:23:21.9261521+00:00" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun", + "name": "myPipelineRun", + "type": "Microsoft.ContainerRegistry/registries/pipelineRuns", + "properties": { + "request": { + "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline" + }, + "response": { + "status": "Succeeded", + "progress": { + "percentage": "100" + }, + "startTime": "2020-03-04T17:23:21.9261521+00:00", + "importedArtifacts": [ + "sourceRepository/hello-world", + "sourceRepository2@sha256:00000000000000000000000000000000000" + ], + "source": { + "type": "AzureStorageBlob", + "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas" + }, + "catalogDigest": "sha256@" + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun", + "name": "myPipelineRun", + "type": "Microsoft.ContainerRegistry/registries/pipelineRuns", + "properties": { + "request": { + "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline" + }, + "response": { + "status": "Succeeded", + "progress": { + "percentage": "100" + }, + "startTime": "2020-03-04T17:23:21.9261521+00:00", + "finishTime": "2020-03-04T17:25:21.9261521+00:00", + "importedArtifacts": [ + "sourceRepository/hello-world", + "sourceRepository2@sha256:00000000000000000000000000000000000" + ], + "source": { + "type": "AzureStorageBlob", + "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas" + }, + "catalogDigest": "sha256@" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunDelete.json new file mode 100644 index 000000000000..86ccbc09c97d --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "pipelineRunName": "myPipelineRun" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunGet.json new file mode 100644 index 000000000000..9f327aacad98 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunGet.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "pipelineRunName": "myPipelineRun" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun", + "name": "myPipelineRun", + "type": "Microsoft.ContainerRegistry/registries/pipelineRuns", + "properties": { + "request": { + "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline", + "artifacts": [ + "sourceRepository/hello-world", + "sourceRepository2@sha256:00000000000000000000000000000000000" + ] + }, + "response": { + "status": "Running", + "catalogDigest": "sha256@", + "progress": { + "percentage": "20" + }, + "startTime": "2020-03-04T17:23:21.9261521+00:00", + "target": { + "type": "AzureStorageBlob", + "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas" + } + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunList.json new file mode 100644 index 000000000000..8f5561d7e99b --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunList.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun", + "name": "myPipelineRun", + "type": "Microsoft.ContainerRegistry/registries/pipelineRuns", + "properties": { + "request": { + "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline", + "artifacts": [ + "sourceRepository/hello-world", + "sourceRepository2@sha256:00000000000000000000000000000000000" + ] + }, + "response": { + "status": "Running", + "catalogDigest": "sha256@", + "progress": { + "percentage": "20" + }, + "startTime": "2020-03-04T17:23:21.9261521+00:00", + "target": { + "type": "AzureStorageBlob", + "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas" + } + }, + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun", + "name": "myPipelineRun", + "type": "Microsoft.ContainerRegistry/registries/pipelineRuns", + "properties": { + "request": { + "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline" + }, + "response": { + "status": "Succeeded", + "progress": { + "percentage": "100" + }, + "startTime": "2020-03-03T17:23:21.9261521+00:00", + "importedArtifacts": [ + "sourceRepository/hello-world", + "sourceRepository2@sha256:00000000000000000000000000000000000" + ], + "source": { + "type": "AzureStorageBlob", + "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas" + }, + "catalogDigest": "sha256@" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionCreateOrUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionCreateOrUpdate.json new file mode 100644 index 000000000000..650d0aeec57c --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionCreateOrUpdate.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "privateEndpointConnectionName": "myConnection", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..6a58a074896d --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "privateEndpointConnectionName": "myConnection" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..f26c36b61209 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "privateEndpointConnectionName": "myConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionList.json new file mode 100644 index 000000000000..a4cfe27cfb61 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCheckNameAvailable.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCheckNameAvailable.json new file mode 100644 index 000000000000..5d787272df06 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCheckNameAvailable.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "registryNameCheckRequest": { + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCheckNameNotAvailable.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCheckNameNotAvailable.json new file mode 100644 index 000000000000..01ec82aed58a --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCheckNameNotAvailable.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "registryNameCheckRequest": { + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "The registry myRegistry is already in use." + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCreate.json new file mode 100644 index 000000000000..29baa6f3ecf0 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCreate.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "registry": { + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard" + }, + "properties": { + "adminUserEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Succeeded", + "adminUserEnabled": true, + "networkRuleSet": { + "defaultAction": "Allow", + "virtualNetworkRules": [], + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled", + "anonymousPullEnabled": false + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Creating", + "adminUserEnabled": true, + "networkRuleSet": { + "defaultAction": "Allow", + "virtualNetworkRules": [], + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled", + "anonymousPullEnabled": false + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCreateZoneRedundant.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCreateZoneRedundant.json new file mode 100644 index 000000000000..fec37db0d723 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCreateZoneRedundant.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "registry": { + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard" + }, + "properties": { + "zoneRedundancy": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Succeeded", + "adminUserEnabled": false, + "networkRuleSet": { + "defaultAction": "Allow", + "virtualNetworkRules": [], + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Enabled", + "anonymousPullEnabled": false + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Creating", + "adminUserEnabled": false, + "networkRuleSet": { + "defaultAction": "Allow", + "virtualNetworkRules": [], + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Enabled", + "anonymousPullEnabled": false + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryDelete.json new file mode 100644 index 000000000000..e02c15c22a6a --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryGenerateCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryGenerateCredentials.json new file mode 100644 index 000000000000..d651dd76fcf4 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryGenerateCredentials.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "generateCredentialsParameters": { + "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken", + "expiry": "2020-12-31T15:59:59.0707808Z" + } + }, + "responses": { + "200": { + "body": { + "username": "myToken", + "passwords": [ + { + "expiry": "2020-12-31T15:59:59.0707808Z", + "name": "password1", + "value": "00000000000000000000000000000000" + }, + { + "expiry": "2020-12-31T15:59:59.0707808Z", + "name": "password2", + "value": "00000000000000000000000000000000" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryGet.json new file mode 100644 index 000000000000..5d6ec9d1f8f5 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryGet.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Succeeded", + "adminUserEnabled": false, + "networkRuleSet": { + "defaultAction": "Allow", + "virtualNetworkRules": [], + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled", + "anonymousPullEnabled": false + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryList.json new file mode 100644 index 000000000000..118d31d451eb --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryList.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Succeeded", + "adminUserEnabled": false, + "networkRuleSet": { + "defaultAction": "Allow", + "virtualNetworkRules": [], + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled", + "anonymousPullEnabled": false + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListByResourceGroup.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListByResourceGroup.json new file mode 100644 index 000000000000..7984f770e32b --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListByResourceGroup.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Succeeded", + "adminUserEnabled": false, + "networkRuleSet": { + "defaultAction": "Allow", + "virtualNetworkRules": [], + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled", + "anonymousPullEnabled": false + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListCredentials.json new file mode 100644 index 000000000000..3a2ff9f968bb --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListCredentials.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "username": "myRegistry", + "passwords": [ + { + "name": "password", + "value": "00000000000000000000000000000000" + }, + { + "name": "password2", + "value": "00000000000000000000000000000000" + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListPrivateLinkResources.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListPrivateLinkResources.json new file mode 100644 index 000000000000..d6152b80e64b --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListPrivateLinkResources.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateLinkResources/registry", + "name": "registry", + "type": "Microsoft.ContainerRegistry/registries/privateLinkResources", + "properties": { + "groupId": "registry", + "requiredMembers": [ + "registry", + "registry_data_myregion" + ], + "requiredZoneNames": [ + "privatelink.azurecr.io" + ] + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListUsages.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListUsages.json new file mode 100644 index 000000000000..94de93a06943 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListUsages.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Size", + "limit": 107374182400, + "currentValue": 12345678, + "unit": "Bytes" + }, + { + "name": "Webhooks", + "limit": 10, + "currentValue": 2, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryRegenerateCredential.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryRegenerateCredential.json new file mode 100644 index 000000000000..536ce666736e --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryRegenerateCredential.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "regenerateCredentialParameters": { + "name": "password" + } + }, + "responses": { + "200": { + "body": { + "username": "myRegistry", + "passwords": [ + { + "name": "password", + "value": "00000000000000000000000000000000" + }, + { + "name": "password2", + "value": "00000000000000000000000000000000" + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryUpdate.json new file mode 100644 index 000000000000..bf9807db04e5 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryUpdate.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "registryUpdateParameters": { + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard" + }, + "properties": { + "adminUserEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Succeeded", + "adminUserEnabled": true, + "networkRuleSet": { + "defaultAction": "Allow", + "virtualNetworkRules": [], + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled", + "anonymousPullEnabled": false + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Updating", + "adminUserEnabled": true, + "networkRuleSet": { + "defaultAction": "Allow", + "virtualNetworkRules": [], + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled", + "anonymousPullEnabled": false + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationCreate.json new file mode 100644 index 000000000000..aedbcc2bdd62 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationCreate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "replicationName": "myReplication", + "replication": { + "location": "eastus", + "tags": { + "key": "value" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "status": { + "displayStatus": "Ready", + "message": "The replication is ready.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Disabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Creating", + "status": { + "displayStatus": "Provisioning", + "message": "The replication is provisioning.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Disabled" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationCreateZoneRedundant.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationCreateZoneRedundant.json new file mode 100644 index 000000000000..2dedf365ffd4 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationCreateZoneRedundant.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "replicationName": "myReplication", + "replication": { + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "regionEndpointEnabled": true, + "zoneRedundancy": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "status": { + "displayStatus": "Ready", + "message": "The replication is ready.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Enabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Creating", + "status": { + "displayStatus": "Provisioning", + "message": "The replication is provisioning.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Enabled" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationDelete.json new file mode 100644 index 000000000000..c2fa3d6ac9bd --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "replicationName": "myReplication" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationGet.json new file mode 100644 index 000000000000..da32f81bebc7 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "replicationName": "myReplication" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "status": { + "displayStatus": "Ready", + "message": "The replication is ready.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Disabled" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationList.json new file mode 100644 index 000000000000..fccb44061185 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "status": { + "displayStatus": "Ready", + "message": "The replication is ready.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Disabled" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationUpdate.json new file mode 100644 index 000000000000..fc0fdcdb701b --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationUpdate.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "replicationName": "myReplication", + "replicationUpdateParameters": { + "tags": { + "key": "value" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "status": { + "displayStatus": "Ready", + "message": "The replication is ready.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Disabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Updating", + "status": { + "displayStatus": "Provisioning", + "message": "The replication is provisioning.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Disabled" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapCreate.json new file mode 100644 index 000000000000..16aff0dff189 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapCreate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "scopeMapName": "myScopeMap", + "scopeMapCreateParameters": { + "properties": { + "description": "Developer Scopes", + "actions": [ + "repositories/myrepository/contentWrite", + "repositories/myrepository/delete" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "name": "myScopeMap", + "type": "Microsoft.ContainerRegistry/registries/scopeMaps", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "type": "IsUserDefined", + "actions": [ + "repositories/myrepository/contentWrite", + "repositories/myrepository/delete" + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "name": "myScopeMap", + "type": "Microsoft.ContainerRegistry/registries/scopeMaps", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "type": "IsUserDefined", + "actions": [ + "repositories/myrepository/contentWrite", + "repositories/myrepository/delete" + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapDelete.json new file mode 100644 index 000000000000..ef60c87d91af --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "scopeMapName": "myScopeMap" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapGet.json new file mode 100644 index 000000000000..e50382ac5cc0 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "scopeMapName": "myScopeMap" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "name": "myScopeMap", + "type": "Microsoft.ContainerRegistry/registries/scopeMaps", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "type": "IsUserDefined", + "actions": [ + "repositories/myrepository/contentWrite", + "repositories/myrepository/delete" + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapList.json new file mode 100644 index 000000000000..42bec69b1059 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "name": "myScopeMap", + "type": "Microsoft.ContainerRegistry/registries/scopeMaps", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "type": "IsUserDefined", + "actions": [ + "repositories/myrepository/contentWrite", + "repositories/myrepository/delete" + ], + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapUpdate.json new file mode 100644 index 000000000000..9b10818ec07a --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapUpdate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "scopeMapName": "myScopeMap", + "scopeMapUpdateParameters": { + "properties": { + "description": "Developer Scopes", + "actions": [ + "repositories/myrepository/contentWrite", + "repositories/myrepository/contentRead" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "name": "myScopeMap", + "type": "Microsoft.ContainerRegistry/registries/scopeMaps", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "type": "IsUserDefined", + "actions": [ + "repositories/myrepository/contentWrite", + "repositories/myrepository/contentRead" + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "name": "myScopeMap", + "type": "Microsoft.ContainerRegistry/registries/scopeMaps", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "type": "IsUserDefined", + "actions": [ + "repositories/myrepository/contentWrite", + "repositories/myrepository/contentRead" + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenCreate.json new file mode 100644 index 000000000000..6a078704bd70 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenCreate.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "tokenName": "myToken", + "tokenCreateParameters": { + "properties": { + "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "status": "disabled", + "credentials": { + "certificates": [ + { + "name": "certificate1", + "encodedPemCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUc3akNDQk5hZ0F3SUJBZ0lURmdBQlR3UVpyZGdmdmhxdzBnQUFBQUZQQkRBTkJna3Foa2lHOXcwQkFRc0YKQURDQml6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVApCMUpsWkcxdmJtUXhIakFjQmdOVkJBb1RGVTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2YmpFVk1CTUdBMVVFCkN4TU1UV2xqY205emIyWjBJRWxVTVI0d0hBWURWUVFERXhWTmFXTnliM052Wm5RZ1NWUWdWRXhUSUVOQklEUXcKSGhjTk1UZ3dOREV5TWpJek1qUTRXaGNOTWpBd05ERXlNakl6TWpRNFdqQTVNVGN3TlFZRFZRUURFeTV6WlhKMgphV05sWTJ4cFpXNTBZMlZ5ZEMxd1lYSjBibVZ5TG0xaGJtRm5aVzFsYm5RdVlYcDFjbVV1WTI5dE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSYjdJcHpxMmR4emhhbVpyS1ZDakMzeTQyYlYKUnNIY2pCUTFuSDBHZ1puUDhXeDZDSE1mWThybkVJQzRLeVRRYkJXVzhnNXlmc3NSQ0ZXbFpxYjR6SkRXS0pmTgpGSmNMUm9LNnhwTktZYVZVTkVlT25IdUxHYTM0ZlA0VjBFRjZybzdvbkRLME5zanhjY1dZVzRNVXVzc0xrQS94CkUrM2RwU1REdk1KcjJoWUpsVnFDcVR6blQvbmZaVUZzQUVEQnp5MUpOOHZiZDlIR2czc2Myd0x4dk95cFJOc0gKT1V3V2pmN2xzWWZleEVlcWkzY29EeHc2alpLVWEyVkdsUnBpTkowMjhBQitYSi9TU1FVNVBsd0JBbU9TT3ovRApGY0NKdGpPZlBqU1NKckFIQVV3SHU3RzlSV05JTFBwYU9zQ1J5eitETE5zNGpvNlEvUUg4d1lManJRSURBUUFCCm80SUNtakNDQXBZd0N3WURWUjBQQkFRREFnU3dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUYKQlFjREFUQWRCZ05WSFE0RUZnUVVlbEdkVVJrZzJoSFFOWEQ4WUc4L3drdjJVT0F3SHdZRFZSMGpCQmd3Rm9BVQplbnVNd2Mvbm9Nb2MxR3Y2KytFend3OGFvcDB3Z2F3R0ExVWRId1NCcERDQm9UQ0JucUNCbTZDQm1JWkxhSFIwCmNEb3ZMMjF6WTNKc0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjAKSlRJd1NWUWxNakJVVEZNbE1qQkRRU1V5TURRdVkzSnNoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1agpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjBKVEl3U1ZRbE1qQlVURk1sTWpCRFFTVXlNRFF1ClkzSnNNSUdGQmdnckJnRUZCUWNCQVFSNU1IY3dVUVlJS3dZQkJRVUhNQUtHUldoMGRIQTZMeTkzZDNjdWJXbGoKY205emIyWjBMbU52YlM5d2Eya3ZiWE5qYjNKd0wwMXBZM0p2YzI5bWRDVXlNRWxVSlRJd1ZFeFRKVEl3UTBFbApNakEwTG1OeWREQWlCZ2dyQmdFRkJRY3dBWVlXYUhSMGNEb3ZMMjlqYzNBdWJYTnZZM053TG1OdmJUQStCZ2tyCkJnRUVBWUkzRlFjRU1UQXZCaWNyQmdFRUFZSTNGUWlIMm9aMWcrN1pBWUxKaFJ1QnRaNWhoZlRyWUlGZGhOTGYKUW9Mbmszb0NBV1FDQVIwd1RRWURWUjBnQkVZd1JEQkNCZ2tyQmdFRUFZSTNLZ0V3TlRBekJnZ3JCZ0VGQlFjQwpBUlluYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVM5dGMyTnZjbkF2WTNCek1DY0dDU3NHCkFRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd09RWURWUjBSQkRJd01JSXUKYzJWeWRtbGpaV05zYVdWdWRHTmxjblF0Y0dGeWRHNWxjaTV0WVc1aFoyVnRaVzUwTG1GNmRYSmxMbU52YlRBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFIVXIzbk1vdUI5WWdDUlRWYndUTllIS2RkWGJkSW1GUXNDYys4T1g1CjE5c0N6dFFSR05iSXEwVW1Ba01MbFVvWTIxckh4ZXdxU2hWczFhL2RwaFh5Tk1pcUdaU2QzU1BtYzZscitqUFQKNXVEREs0MUlWeXN0K2VUNlpyazFvcCtMVmdkeS9EU2lyNzVqcWZFY016bS82bU8rNnFNeWRLTWtVYmM5K3JHVwphUkpUcjRWUUdIRmEwNEIwZVZpNUd4MG9pL2RpZDNSaXg2aXJMMjFJSGEwYjN6c1hzZHpHU0R2K3hqL2Q2S0l4Ckdrd2FhYmZvU1NoQnFqaFNlQ0VyZXFlb1RpYjljdGw0MGRVdUp3THl4bjhHS2N6K3AvMEJUOEIxU3lYK01OQ2wKY0pkMjVtMjhLajY2TGUxOEVyeFlJYXZJVGVGa3Y2eGZjdkEvcHladDdPaU41QTlGQk1IUmpQK1kyZ2tvdjMrcQpISFRUZG4xNnlRajduNit3YlFHNGVleXc0YisyQkRLcUxNVFU2ZmlSQ3ZPM2FPZVBLSFVNN3R4b1FidWl6Z3NzCkNiMzl3QnJOTEZsMkJLQ1RkSCtkSU9oZVJiSkZvbmlwOGRPOUVFZWdSSG9lQW54ZUlYTFBrdXMzTzEvZjRhNkIKWHQ3RG5BUm8xSzJmeEp3VXRaU2MvR3dFSjU5NzlnRXlEa3pDZEVsLzdpWE9QZXVjTXhlM2xVM2pweUtsNERUaApjSkJqQytqNGpLWTFrK1U4b040aGdqYnJISUx6Vnd2eU15OU5KS290U3BMSjQxeHdPOHlGangxalFTT3Bxc0N1ClFhUFUvTjhSZ0hxWjBGTkFzS3dNUmZ6WmdXanRCNzRzYUVEdk5jVmNuNFhCQnFNSG0ydHo2Uzk3d3kxZGt0cTgKSE5BPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken", + "name": "myToken", + "type": "Microsoft.ContainerRegistry/registries/tokens", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "provisioningState": "Succeeded", + "status": "disabled", + "credentials": { + "certificates": [ + { + "name": "certificate1", + "thumbprint": "feeb79a888bf1415f8e17c4965a2a5bb5c8a2ff7", + "expiry": "2020-12-04T15:32:48.0707808Z" + } + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken", + "name": "myToken", + "type": "Microsoft.ContainerRegistry/registries/tokens", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "provisioningState": "Succeeded", + "status": "disabled", + "credentials": { + "certificates": [ + { + "name": "certificate1", + "thumbprint": "feeb79a888bf1415f8e17c4965a2a5bb5c8a2ff7", + "expiry": "2020-12-04T15:32:48.0707808Z" + } + ] + } + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenDelete.json new file mode 100644 index 000000000000..eb3700d433ed --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "tokenName": "myToken" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenGet.json new file mode 100644 index 000000000000..6edbec08f658 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "tokenName": "myToken" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken", + "name": "myToken", + "type": "Microsoft.ContainerRegistry/registries/tokens", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "provisioningState": "Succeeded", + "status": "enabled" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenList.json new file mode 100644 index 000000000000..7ab2bccbdbc4 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken", + "name": "myToken", + "type": "Microsoft.ContainerRegistry/registries/tokens", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "provisioningState": "Succeeded", + "status": "enabled" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenUpdate.json new file mode 100644 index 000000000000..0756a632b824 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenUpdate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "tokenName": "myToken", + "tokenUpdateParameters": { + "properties": { + "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myNewScopeMap", + "credentials": { + "certificates": [ + { + "name": "certificate1", + "encodedPemCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUc3akNDQk5hZ0F3SUJBZ0lURmdBQlR3UVpyZGdmdmhxdzBnQUFBQUZQQkRBTkJna3Foa2lHOXcwQkFRc0YKQURDQml6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVApCMUpsWkcxdmJtUXhIakFjQmdOVkJBb1RGVTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2YmpFVk1CTUdBMVVFCkN4TU1UV2xqY205emIyWjBJRWxVTVI0d0hBWURWUVFERXhWTmFXTnliM052Wm5RZ1NWUWdWRXhUSUVOQklEUXcKSGhjTk1UZ3dOREV5TWpJek1qUTRXaGNOTWpBd05ERXlNakl6TWpRNFdqQTVNVGN3TlFZRFZRUURFeTV6WlhKMgphV05sWTJ4cFpXNTBZMlZ5ZEMxd1lYSjBibVZ5TG0xaGJtRm5aVzFsYm5RdVlYcDFjbVV1WTI5dE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSYjdJcHpxMmR4emhhbVpyS1ZDakMzeTQyYlYKUnNIY2pCUTFuSDBHZ1puUDhXeDZDSE1mWThybkVJQzRLeVRRYkJXVzhnNXlmc3NSQ0ZXbFpxYjR6SkRXS0pmTgpGSmNMUm9LNnhwTktZYVZVTkVlT25IdUxHYTM0ZlA0VjBFRjZybzdvbkRLME5zanhjY1dZVzRNVXVzc0xrQS94CkUrM2RwU1REdk1KcjJoWUpsVnFDcVR6blQvbmZaVUZzQUVEQnp5MUpOOHZiZDlIR2czc2Myd0x4dk95cFJOc0gKT1V3V2pmN2xzWWZleEVlcWkzY29EeHc2alpLVWEyVkdsUnBpTkowMjhBQitYSi9TU1FVNVBsd0JBbU9TT3ovRApGY0NKdGpPZlBqU1NKckFIQVV3SHU3RzlSV05JTFBwYU9zQ1J5eitETE5zNGpvNlEvUUg4d1lManJRSURBUUFCCm80SUNtakNDQXBZd0N3WURWUjBQQkFRREFnU3dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUYKQlFjREFUQWRCZ05WSFE0RUZnUVVlbEdkVVJrZzJoSFFOWEQ4WUc4L3drdjJVT0F3SHdZRFZSMGpCQmd3Rm9BVQplbnVNd2Mvbm9Nb2MxR3Y2KytFend3OGFvcDB3Z2F3R0ExVWRId1NCcERDQm9UQ0JucUNCbTZDQm1JWkxhSFIwCmNEb3ZMMjF6WTNKc0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjAKSlRJd1NWUWxNakJVVEZNbE1qQkRRU1V5TURRdVkzSnNoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1agpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjBKVEl3U1ZRbE1qQlVURk1sTWpCRFFTVXlNRFF1ClkzSnNNSUdGQmdnckJnRUZCUWNCQVFSNU1IY3dVUVlJS3dZQkJRVUhNQUtHUldoMGRIQTZMeTkzZDNjdWJXbGoKY205emIyWjBMbU52YlM5d2Eya3ZiWE5qYjNKd0wwMXBZM0p2YzI5bWRDVXlNRWxVSlRJd1ZFeFRKVEl3UTBFbApNakEwTG1OeWREQWlCZ2dyQmdFRkJRY3dBWVlXYUhSMGNEb3ZMMjlqYzNBdWJYTnZZM053TG1OdmJUQStCZ2tyCkJnRUVBWUkzRlFjRU1UQXZCaWNyQmdFRUFZSTNGUWlIMm9aMWcrN1pBWUxKaFJ1QnRaNWhoZlRyWUlGZGhOTGYKUW9Mbmszb0NBV1FDQVIwd1RRWURWUjBnQkVZd1JEQkNCZ2tyQmdFRUFZSTNLZ0V3TlRBekJnZ3JCZ0VGQlFjQwpBUlluYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVM5dGMyTnZjbkF2WTNCek1DY0dDU3NHCkFRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd09RWURWUjBSQkRJd01JSXUKYzJWeWRtbGpaV05zYVdWdWRHTmxjblF0Y0dGeWRHNWxjaTV0WVc1aFoyVnRaVzUwTG1GNmRYSmxMbU52YlRBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFIVXIzbk1vdUI5WWdDUlRWYndUTllIS2RkWGJkSW1GUXNDYys4T1g1CjE5c0N6dFFSR05iSXEwVW1Ba01MbFVvWTIxckh4ZXdxU2hWczFhL2RwaFh5Tk1pcUdaU2QzU1BtYzZscitqUFQKNXVEREs0MUlWeXN0K2VUNlpyazFvcCtMVmdkeS9EU2lyNzVqcWZFY016bS82bU8rNnFNeWRLTWtVYmM5K3JHVwphUkpUcjRWUUdIRmEwNEIwZVZpNUd4MG9pL2RpZDNSaXg2aXJMMjFJSGEwYjN6c1hzZHpHU0R2K3hqL2Q2S0l4Ckdrd2FhYmZvU1NoQnFqaFNlQ0VyZXFlb1RpYjljdGw0MGRVdUp3THl4bjhHS2N6K3AvMEJUOEIxU3lYK01OQ2wKY0pkMjVtMjhLajY2TGUxOEVyeFlJYXZJVGVGa3Y2eGZjdkEvcHladDdPaU41QTlGQk1IUmpQK1kyZ2tvdjMrcQpISFRUZG4xNnlRajduNit3YlFHNGVleXc0YisyQkRLcUxNVFU2ZmlSQ3ZPM2FPZVBLSFVNN3R4b1FidWl6Z3NzCkNiMzl3QnJOTEZsMkJLQ1RkSCtkSU9oZVJiSkZvbmlwOGRPOUVFZWdSSG9lQW54ZUlYTFBrdXMzTzEvZjRhNkIKWHQ3RG5BUm8xSzJmeEp3VXRaU2MvR3dFSjU5NzlnRXlEa3pDZEVsLzdpWE9QZXVjTXhlM2xVM2pweUtsNERUaApjSkJqQytqNGpLWTFrK1U4b040aGdqYnJISUx6Vnd2eU15OU5KS290U3BMSjQxeHdPOHlGangxalFTT3Bxc0N1ClFhUFUvTjhSZ0hxWjBGTkFzS3dNUmZ6WmdXanRCNzRzYUVEdk5jVmNuNFhCQnFNSG0ydHo2Uzk3d3kxZGt0cTgKSE5BPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken", + "name": "myToken", + "type": "Microsoft.ContainerRegistry/registries/tokens", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myNewScopeMap", + "provisioningState": "Succeeded", + "status": "enabled", + "credentials": { + "certificates": [ + { + "name": "certificate1", + "encodedPemCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUc3akNDQk5hZ0F3SUJBZ0lURmdBQlR3UVpyZGdmdmhxdzBnQUFBQUZQQkRBTkJna3Foa2lHOXcwQkFRc0YKQURDQml6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVApCMUpsWkcxdmJtUXhIakFjQmdOVkJBb1RGVTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2YmpFVk1CTUdBMVVFCkN4TU1UV2xqY205emIyWjBJRWxVTVI0d0hBWURWUVFERXhWTmFXTnliM052Wm5RZ1NWUWdWRXhUSUVOQklEUXcKSGhjTk1UZ3dOREV5TWpJek1qUTRXaGNOTWpBd05ERXlNakl6TWpRNFdqQTVNVGN3TlFZRFZRUURFeTV6WlhKMgphV05sWTJ4cFpXNTBZMlZ5ZEMxd1lYSjBibVZ5TG0xaGJtRm5aVzFsYm5RdVlYcDFjbVV1WTI5dE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSYjdJcHpxMmR4emhhbVpyS1ZDakMzeTQyYlYKUnNIY2pCUTFuSDBHZ1puUDhXeDZDSE1mWThybkVJQzRLeVRRYkJXVzhnNXlmc3NSQ0ZXbFpxYjR6SkRXS0pmTgpGSmNMUm9LNnhwTktZYVZVTkVlT25IdUxHYTM0ZlA0VjBFRjZybzdvbkRLME5zanhjY1dZVzRNVXVzc0xrQS94CkUrM2RwU1REdk1KcjJoWUpsVnFDcVR6blQvbmZaVUZzQUVEQnp5MUpOOHZiZDlIR2czc2Myd0x4dk95cFJOc0gKT1V3V2pmN2xzWWZleEVlcWkzY29EeHc2alpLVWEyVkdsUnBpTkowMjhBQitYSi9TU1FVNVBsd0JBbU9TT3ovRApGY0NKdGpPZlBqU1NKckFIQVV3SHU3RzlSV05JTFBwYU9zQ1J5eitETE5zNGpvNlEvUUg4d1lManJRSURBUUFCCm80SUNtakNDQXBZd0N3WURWUjBQQkFRREFnU3dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUYKQlFjREFUQWRCZ05WSFE0RUZnUVVlbEdkVVJrZzJoSFFOWEQ4WUc4L3drdjJVT0F3SHdZRFZSMGpCQmd3Rm9BVQplbnVNd2Mvbm9Nb2MxR3Y2KytFend3OGFvcDB3Z2F3R0ExVWRId1NCcERDQm9UQ0JucUNCbTZDQm1JWkxhSFIwCmNEb3ZMMjF6WTNKc0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjAKSlRJd1NWUWxNakJVVEZNbE1qQkRRU1V5TURRdVkzSnNoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1agpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjBKVEl3U1ZRbE1qQlVURk1sTWpCRFFTVXlNRFF1ClkzSnNNSUdGQmdnckJnRUZCUWNCQVFSNU1IY3dVUVlJS3dZQkJRVUhNQUtHUldoMGRIQTZMeTkzZDNjdWJXbGoKY205emIyWjBMbU52YlM5d2Eya3ZiWE5qYjNKd0wwMXBZM0p2YzI5bWRDVXlNRWxVSlRJd1ZFeFRKVEl3UTBFbApNakEwTG1OeWREQWlCZ2dyQmdFRkJRY3dBWVlXYUhSMGNEb3ZMMjlqYzNBdWJYTnZZM053TG1OdmJUQStCZ2tyCkJnRUVBWUkzRlFjRU1UQXZCaWNyQmdFRUFZSTNGUWlIMm9aMWcrN1pBWUxKaFJ1QnRaNWhoZlRyWUlGZGhOTGYKUW9Mbmszb0NBV1FDQVIwd1RRWURWUjBnQkVZd1JEQkNCZ2tyQmdFRUFZSTNLZ0V3TlRBekJnZ3JCZ0VGQlFjQwpBUlluYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVM5dGMyTnZjbkF2WTNCek1DY0dDU3NHCkFRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd09RWURWUjBSQkRJd01JSXUKYzJWeWRtbGpaV05zYVdWdWRHTmxjblF0Y0dGeWRHNWxjaTV0WVc1aFoyVnRaVzUwTG1GNmRYSmxMbU52YlRBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFIVXIzbk1vdUI5WWdDUlRWYndUTllIS2RkWGJkSW1GUXNDYys4T1g1CjE5c0N6dFFSR05iSXEwVW1Ba01MbFVvWTIxckh4ZXdxU2hWczFhL2RwaFh5Tk1pcUdaU2QzU1BtYzZscitqUFQKNXVEREs0MUlWeXN0K2VUNlpyazFvcCtMVmdkeS9EU2lyNzVqcWZFY016bS82bU8rNnFNeWRLTWtVYmM5K3JHVwphUkpUcjRWUUdIRmEwNEIwZVZpNUd4MG9pL2RpZDNSaXg2aXJMMjFJSGEwYjN6c1hzZHpHU0R2K3hqL2Q2S0l4Ckdrd2FhYmZvU1NoQnFqaFNlQ0VyZXFlb1RpYjljdGw0MGRVdUp3THl4bjhHS2N6K3AvMEJUOEIxU3lYK01OQ2wKY0pkMjVtMjhLajY2TGUxOEVyeFlJYXZJVGVGa3Y2eGZjdkEvcHladDdPaU41QTlGQk1IUmpQK1kyZ2tvdjMrcQpISFRUZG4xNnlRajduNit3YlFHNGVleXc0YisyQkRLcUxNVFU2ZmlSQ3ZPM2FPZVBLSFVNN3R4b1FidWl6Z3NzCkNiMzl3QnJOTEZsMkJLQ1RkSCtkSU9oZVJiSkZvbmlwOGRPOUVFZWdSSG9lQW54ZUlYTFBrdXMzTzEvZjRhNkIKWHQ3RG5BUm8xSzJmeEp3VXRaU2MvR3dFSjU5NzlnRXlEa3pDZEVsLzdpWE9QZXVjTXhlM2xVM2pweUtsNERUaApjSkJqQytqNGpLWTFrK1U4b040aGdqYnJISUx6Vnd2eU15OU5KS290U3BMSjQxeHdPOHlGangxalFTT3Bxc0N1ClFhUFUvTjhSZ0hxWjBGTkFzS3dNUmZ6WmdXanRCNzRzYUVEdk5jVmNuNFhCQnFNSG0ydHo2Uzk3d3kxZGt0cTgKSE5BPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + } + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken", + "name": "myToken", + "type": "Microsoft.ContainerRegistry/registries/tokens", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myNewScopeMap", + "provisioningState": "Succeeded", + "status": "enabled", + "credentials": { + "certificates": [ + { + "name": "certificate1", + "encodedPemCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUc3akNDQk5hZ0F3SUJBZ0lURmdBQlR3UVpyZGdmdmhxdzBnQUFBQUZQQkRBTkJna3Foa2lHOXcwQkFRc0YKQURDQml6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVApCMUpsWkcxdmJtUXhIakFjQmdOVkJBb1RGVTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2YmpFVk1CTUdBMVVFCkN4TU1UV2xqY205emIyWjBJRWxVTVI0d0hBWURWUVFERXhWTmFXTnliM052Wm5RZ1NWUWdWRXhUSUVOQklEUXcKSGhjTk1UZ3dOREV5TWpJek1qUTRXaGNOTWpBd05ERXlNakl6TWpRNFdqQTVNVGN3TlFZRFZRUURFeTV6WlhKMgphV05sWTJ4cFpXNTBZMlZ5ZEMxd1lYSjBibVZ5TG0xaGJtRm5aVzFsYm5RdVlYcDFjbVV1WTI5dE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSYjdJcHpxMmR4emhhbVpyS1ZDakMzeTQyYlYKUnNIY2pCUTFuSDBHZ1puUDhXeDZDSE1mWThybkVJQzRLeVRRYkJXVzhnNXlmc3NSQ0ZXbFpxYjR6SkRXS0pmTgpGSmNMUm9LNnhwTktZYVZVTkVlT25IdUxHYTM0ZlA0VjBFRjZybzdvbkRLME5zanhjY1dZVzRNVXVzc0xrQS94CkUrM2RwU1REdk1KcjJoWUpsVnFDcVR6blQvbmZaVUZzQUVEQnp5MUpOOHZiZDlIR2czc2Myd0x4dk95cFJOc0gKT1V3V2pmN2xzWWZleEVlcWkzY29EeHc2alpLVWEyVkdsUnBpTkowMjhBQitYSi9TU1FVNVBsd0JBbU9TT3ovRApGY0NKdGpPZlBqU1NKckFIQVV3SHU3RzlSV05JTFBwYU9zQ1J5eitETE5zNGpvNlEvUUg4d1lManJRSURBUUFCCm80SUNtakNDQXBZd0N3WURWUjBQQkFRREFnU3dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUYKQlFjREFUQWRCZ05WSFE0RUZnUVVlbEdkVVJrZzJoSFFOWEQ4WUc4L3drdjJVT0F3SHdZRFZSMGpCQmd3Rm9BVQplbnVNd2Mvbm9Nb2MxR3Y2KytFend3OGFvcDB3Z2F3R0ExVWRId1NCcERDQm9UQ0JucUNCbTZDQm1JWkxhSFIwCmNEb3ZMMjF6WTNKc0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjAKSlRJd1NWUWxNakJVVEZNbE1qQkRRU1V5TURRdVkzSnNoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1agpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjBKVEl3U1ZRbE1qQlVURk1sTWpCRFFTVXlNRFF1ClkzSnNNSUdGQmdnckJnRUZCUWNCQVFSNU1IY3dVUVlJS3dZQkJRVUhNQUtHUldoMGRIQTZMeTkzZDNjdWJXbGoKY205emIyWjBMbU52YlM5d2Eya3ZiWE5qYjNKd0wwMXBZM0p2YzI5bWRDVXlNRWxVSlRJd1ZFeFRKVEl3UTBFbApNakEwTG1OeWREQWlCZ2dyQmdFRkJRY3dBWVlXYUhSMGNEb3ZMMjlqYzNBdWJYTnZZM053TG1OdmJUQStCZ2tyCkJnRUVBWUkzRlFjRU1UQXZCaWNyQmdFRUFZSTNGUWlIMm9aMWcrN1pBWUxKaFJ1QnRaNWhoZlRyWUlGZGhOTGYKUW9Mbmszb0NBV1FDQVIwd1RRWURWUjBnQkVZd1JEQkNCZ2tyQmdFRUFZSTNLZ0V3TlRBekJnZ3JCZ0VGQlFjQwpBUlluYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVM5dGMyTnZjbkF2WTNCek1DY0dDU3NHCkFRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd09RWURWUjBSQkRJd01JSXUKYzJWeWRtbGpaV05zYVdWdWRHTmxjblF0Y0dGeWRHNWxjaTV0WVc1aFoyVnRaVzUwTG1GNmRYSmxMbU52YlRBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFIVXIzbk1vdUI5WWdDUlRWYndUTllIS2RkWGJkSW1GUXNDYys4T1g1CjE5c0N6dFFSR05iSXEwVW1Ba01MbFVvWTIxckh4ZXdxU2hWczFhL2RwaFh5Tk1pcUdaU2QzU1BtYzZscitqUFQKNXVEREs0MUlWeXN0K2VUNlpyazFvcCtMVmdkeS9EU2lyNzVqcWZFY016bS82bU8rNnFNeWRLTWtVYmM5K3JHVwphUkpUcjRWUUdIRmEwNEIwZVZpNUd4MG9pL2RpZDNSaXg2aXJMMjFJSGEwYjN6c1hzZHpHU0R2K3hqL2Q2S0l4Ckdrd2FhYmZvU1NoQnFqaFNlQ0VyZXFlb1RpYjljdGw0MGRVdUp3THl4bjhHS2N6K3AvMEJUOEIxU3lYK01OQ2wKY0pkMjVtMjhLajY2TGUxOEVyeFlJYXZJVGVGa3Y2eGZjdkEvcHladDdPaU41QTlGQk1IUmpQK1kyZ2tvdjMrcQpISFRUZG4xNnlRajduNit3YlFHNGVleXc0YisyQkRLcUxNVFU2ZmlSQ3ZPM2FPZVBLSFVNN3R4b1FidWl6Z3NzCkNiMzl3QnJOTEZsMkJLQ1RkSCtkSU9oZVJiSkZvbmlwOGRPOUVFZWdSSG9lQW54ZUlYTFBrdXMzTzEvZjRhNkIKWHQ3RG5BUm8xSzJmeEp3VXRaU2MvR3dFSjU5NzlnRXlEa3pDZEVsLzdpWE9QZXVjTXhlM2xVM2pweUtsNERUaApjSkJqQytqNGpLWTFrK1U4b040aGdqYnJISUx6Vnd2eU15OU5KS290U3BMSjQxeHdPOHlGangxalFTT3Bxc0N1ClFhUFUvTjhSZ0hxWjBGTkFzS3dNUmZ6WmdXanRCNzRzYUVEdk5jVmNuNFhCQnFNSG0ydHo2Uzk3d3kxZGt0cTgKSE5BPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + } + ] + } + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookCreate.json new file mode 100644 index 000000000000..bac16e0db045 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookCreate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook", + "webhookCreateParameters": { + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "serviceUri": "http://myservice.com", + "customHeaders": { + "Authorization": "Basic 000000000000000000000000000000000000000000000000000" + }, + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook", + "name": "myWebhook", + "type": "Microsoft.ContainerRegistry/registries/webhooks", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook", + "name": "myWebhook", + "type": "Microsoft.ContainerRegistry/registries/webhooks", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ], + "provisioningState": "Creating" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookDelete.json new file mode 100644 index 000000000000..2d7fdca93398 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookGet.json new file mode 100644 index 000000000000..8d69c52bb7b2 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook", + "name": "myWebhook", + "type": "Microsoft.ContainerRegistry/registries/webhooks", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookGetCallbackConfig.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookGetCallbackConfig.json new file mode 100644 index 000000000000..a7a034e61b70 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookGetCallbackConfig.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook" + }, + "responses": { + "200": { + "body": { + "serviceUri": "http://myservice.com", + "customHeaders": { + "Authorization": "Basic 000000000000000000000000000000000000000000000000000" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookList.json new file mode 100644 index 000000000000..d4a1027aa835 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook", + "name": "myWebhook", + "type": "Microsoft.ContainerRegistry/registries/webhooks", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ], + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookListEvents.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookListEvents.json new file mode 100644 index 000000000000..29f969a2e157 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookListEvents.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "00000000-0000-0000-0000-000000000000", + "eventRequestMessage": { + "content": { + "id": "00000000-0000-0000-0000-000000000000", + "timestamp": "2017-03-01T23:14:37.0707808Z", + "action": "push", + "target": { + "mediaType": "application/vnd.docker.distribution.manifest.v2+json", + "size": 708, + "digest": "sha256:fea8895f450959fa676bcc1df0611ea93823a735a01205fd8622846041d0c7cf", + "length": 708, + "repository": "hello-world", + "url": "http://192.168.100.227:5000/v2/hello-world/manifests/sha256:fea8895f450959fa676bcc1df0611ea93823a735a01205fd8622846041d0c7cf", + "tag": "latest" + }, + "request": { + "id": "00000000-0000-0000-0000-000000000000", + "addr": "192.168.64.11:42961", + "host": "192.168.100.227:5000", + "method": "GET", + "useragent": "curl/7.38.0" + }, + "actor": {}, + "source": { + "addr": "xtal.local:5000", + "instanceID": "00000000-0000-0000-0000-000000000000" + } + }, + "headers": { + "Content-Type": "application/json", + "Content-Length": "719", + "Authorization": "******" + }, + "method": "POST", + "requestUri": "http://myservice.com", + "version": "1.1" + }, + "eventResponseMessage": { + "headers": { + "Content-Length": "0" + }, + "statusCode": "200", + "version": "1.1" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookPing.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookPing.json new file mode 100644 index 000000000000..4cce1545859f --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookPing.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook" + }, + "responses": { + "200": { + "body": { + "id": "00000000-0000-0000-0000-000000000000" + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookUpdate.json new file mode 100644 index 000000000000..6962181c8516 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookUpdate.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook", + "webhookUpdateParameters": { + "tags": { + "key": "value" + }, + "properties": { + "serviceUri": "http://myservice.com", + "customHeaders": { + "Authorization": "Basic 000000000000000000000000000000000000000000000000000" + }, + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook", + "name": "myWebhook", + "type": "Microsoft.ContainerRegistry/registries/webhooks", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook", + "name": "myWebhook", + "type": "Microsoft.ContainerRegistry/registries/webhooks", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ], + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json new file mode 100644 index 000000000000..a7f4cdb10df3 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json @@ -0,0 +1,3365 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-09-01", + "title": "ContainerRegistryManagementClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importImage": { + "post": { + "tags": [ + "Registries" + ], + "description": "Copies an image to this container registry from the specified container registry.", + "operationId": "Registries_ImportImage", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters specifying the image to copy and the source container registry.", + "required": true, + "schema": { + "$ref": "#/definitions/ImportImageParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the operation has completed successfully." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + } + }, + "x-ms-examples": { + "ImportImageByTag": { + "$ref": "./examples/ImportImageByTag.json" + }, + "ImportImageByManifestDigest": { + "$ref": "./examples/ImportImageByManifestDigest.json" + }, + "ImportImageFromPublicRegistry": { + "$ref": "./examples/ImportImageFromPublicRegistry.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/providers/Microsoft.ContainerRegistry/operations": { + "get": { + "tags": [ + "Operation" + ], + "description": "Lists all of the available Azure Container Registry REST API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-examples": { + "OperationList": { + "$ref": "./examples/OperationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/checkNameAvailability": { + "post": { + "tags": [ + "Operation" + ], + "description": "Checks whether the container registry name is available for use. The name must contain only alphanumeric characters, be globally unique, and between 5 and 50 characters in length.", + "operationId": "Registries_CheckNameAvailability", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "registryNameCheckRequest", + "in": "body", + "description": "The object containing information for the availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/RegistryNameCheckRequest" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/RegistryNameStatus" + } + } + }, + "x-ms-examples": { + "RegistryCheckNameAvailable": { + "$ref": "./examples/RegistryCheckNameAvailable.json" + }, + "RegistryCheckNameNotAvailable": { + "$ref": "./examples/RegistryCheckNameNotAvailable.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "List all private endpoint connections in a container registry.", + "operationId": "PrivateEndpointConnections_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionList": { + "$ref": "./examples/PrivateEndpointConnectionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Get the specified private endpoint connection associated with the container registry.", + "operationId": "PrivateEndpointConnections_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionGet": { + "$ref": "./examples/PrivateEndpointConnectionGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Update the state of specified private endpoint connection associated with the container registry.", + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "description": "The parameters for creating a private endpoint connection.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionCreateOrUpdate": { + "$ref": "./examples/PrivateEndpointConnectionCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Deletes the specified private endpoint connection associated with the container registry.", + "operationId": "PrivateEndpointConnections_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "The private endpoint connection does not exist in the subscription." + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionDelete": { + "$ref": "./examples/PrivateEndpointConnectionDelete.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries": { + "get": { + "tags": [ + "Registries" + ], + "description": "Lists all the container registries under the specified subscription.", + "operationId": "Registries_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/RegistryListResult" + } + } + }, + "x-ms-examples": { + "RegistryList": { + "$ref": "./examples/RegistryList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries": { + "get": { + "tags": [ + "Registries" + ], + "description": "Lists all the container registries under the specified resource group.", + "operationId": "Registries_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/RegistryListResult" + } + } + }, + "x-ms-examples": { + "RegistryListByResourceGroup": { + "$ref": "./examples/RegistryListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}": { + "get": { + "tags": [ + "Registries" + ], + "description": "Gets the properties of the specified container registry.", + "operationId": "Registries_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Registry" + } + } + }, + "x-ms-examples": { + "RegistryGet": { + "$ref": "./examples/RegistryGet.json" + } + } + }, + "put": { + "tags": [ + "Registries" + ], + "description": "Creates a container registry with the specified parameters.", + "operationId": "Registries_Create", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "name": "registry", + "in": "body", + "description": "The parameters for creating a container registry.", + "required": true, + "schema": { + "$ref": "#/definitions/Registry" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Registry" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Registry" + } + } + }, + "x-ms-examples": { + "RegistryCreate": { + "$ref": "./examples/RegistryCreate.json" + }, + "RegistryCreateZoneRedundant": { + "$ref": "./examples/RegistryCreateZoneRedundant.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Registries" + ], + "description": "Deletes a container registry.", + "operationId": "Registries_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "The container registry does not exist in the subscription." + } + }, + "x-ms-examples": { + "RegistryDelete": { + "$ref": "./examples/RegistryDelete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Registries" + ], + "description": "Updates a container registry with the specified parameters.", + "operationId": "Registries_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "name": "registryUpdateParameters", + "in": "body", + "description": "The parameters for updating a container registry.", + "required": true, + "schema": { + "$ref": "#/definitions/RegistryUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Registry" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Registry" + } + } + }, + "x-ms-examples": { + "RegistryUpdate": { + "$ref": "./examples/RegistryUpdate.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listUsages": { + "get": { + "tags": [ + "Registries" + ], + "description": "Gets the quota usages for the specified container registry.", + "operationId": "Registries_ListUsages", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the registry usages retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/RegistryUsageListResult" + } + } + }, + "x-ms-examples": { + "RegistryListUsages": { + "$ref": "./examples/RegistryListUsages.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateLinkResources": { + "get": { + "tags": [ + "Registries" + ], + "description": "Lists the private link resources for a container registry.", + "operationId": "Registries_ListPrivateLinkResources", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the private link resources were retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + } + }, + "x-ms-examples": { + "RegistryListPrivateLinkResources": { + "$ref": "./examples/RegistryListPrivateLinkResources.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateLinkResources/{groupName}": { + "get": { + "tags": [ + "Registries" + ], + "description": "Gets a private link resource by a specified group name for a container registry.", + "operationId": "Registries_GetPrivateLinkResource", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/GroupNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the private link resource was retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "RegistryGetPrivateLinkResource": { + "$ref": "./examples/RegistryGetPrivateLinkResource.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listCredentials": { + "post": { + "tags": [ + "Registries" + ], + "description": "Lists the login credentials for the specified container registry.", + "operationId": "Registries_ListCredentials", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the list of credentials retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/RegistryListCredentialsResult" + } + } + }, + "x-ms-examples": { + "RegistryListCredentials": { + "$ref": "./examples/RegistryListCredentials.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredential": { + "post": { + "tags": [ + "Registries" + ], + "description": "Regenerates one of the login credentials for the specified container registry.", + "operationId": "Registries_RegenerateCredential", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "name": "regenerateCredentialParameters", + "in": "body", + "description": "Specifies name of the password which should be regenerated -- password or password2.", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateCredentialParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the specified credential regenerated successfully.", + "schema": { + "$ref": "#/definitions/RegistryListCredentialsResult" + } + } + }, + "x-ms-examples": { + "RegistryRegenerateCredential": { + "$ref": "./examples/RegistryRegenerateCredential.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications": { + "get": { + "tags": [ + "Replications" + ], + "description": "Lists all the replications for the specified container registry.", + "operationId": "Replications_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ReplicationListResult" + } + } + }, + "x-ms-examples": { + "ReplicationList": { + "$ref": "./examples/ReplicationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}": { + "get": { + "tags": [ + "Replications" + ], + "description": "Gets the properties of the specified replication.", + "operationId": "Replications_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ReplicationNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Replication" + } + } + }, + "x-ms-examples": { + "ReplicationGet": { + "$ref": "./examples/ReplicationGet.json" + } + } + }, + "put": { + "tags": [ + "Replications" + ], + "description": "Creates a replication for a container registry with the specified parameters.", + "operationId": "Replications_Create", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ReplicationNameParameter" + }, + { + "name": "replication", + "in": "body", + "description": "The parameters for creating a replication.", + "required": true, + "schema": { + "$ref": "#/definitions/Replication" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Replication" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Replication" + } + } + }, + "x-ms-examples": { + "ReplicationCreate": { + "$ref": "./examples/ReplicationCreate.json" + }, + "ReplicationCreateZoneRedundant": { + "$ref": "./examples/ReplicationCreateZoneRedundant.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Replications" + ], + "description": "Deletes a replication from a container registry.", + "operationId": "Replications_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ReplicationNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "The replication does not exist in the subscription." + } + }, + "x-ms-examples": { + "ReplicationDelete": { + "$ref": "./examples/ReplicationDelete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Replications" + ], + "description": "Updates a replication for a container registry with the specified parameters.", + "operationId": "Replications_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ReplicationNameParameter" + }, + { + "name": "replicationUpdateParameters", + "in": "body", + "description": "The parameters for updating a replication.", + "required": true, + "schema": { + "$ref": "#/definitions/ReplicationUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Replication" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Replication" + } + } + }, + "x-ms-examples": { + "ReplicationUpdate": { + "$ref": "./examples/ReplicationUpdate.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks": { + "get": { + "tags": [ + "Webhooks" + ], + "description": "Lists all the webhooks for the specified container registry.", + "operationId": "Webhooks_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/WebhookListResult" + } + } + }, + "x-ms-examples": { + "WebhookList": { + "$ref": "./examples/WebhookList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}": { + "get": { + "tags": [ + "Webhooks" + ], + "description": "Gets the properties of the specified webhook.", + "operationId": "Webhooks_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Webhook" + } + } + }, + "x-ms-examples": { + "WebhookGet": { + "$ref": "./examples/WebhookGet.json" + } + } + }, + "put": { + "tags": [ + "Webhooks" + ], + "description": "Creates a webhook for a container registry with the specified parameters.", + "operationId": "Webhooks_Create", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + }, + { + "name": "webhookCreateParameters", + "in": "body", + "description": "The parameters for creating a webhook.", + "required": true, + "schema": { + "$ref": "#/definitions/WebhookCreateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Webhook" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Webhook" + } + } + }, + "x-ms-examples": { + "WebhookCreate": { + "$ref": "./examples/WebhookCreate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Webhooks" + ], + "description": "Deletes a webhook from a container registry.", + "operationId": "Webhooks_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "The webhook does not exist in the subscription." + } + }, + "x-ms-examples": { + "WebhookDelete": { + "$ref": "./examples/WebhookDelete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Webhooks" + ], + "description": "Updates a webhook with the specified parameters.", + "operationId": "Webhooks_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + }, + { + "name": "webhookUpdateParameters", + "in": "body", + "description": "The parameters for updating a webhook.", + "required": true, + "schema": { + "$ref": "#/definitions/WebhookUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Webhook" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Webhook" + } + } + }, + "x-ms-examples": { + "WebhookUpdate": { + "$ref": "./examples/WebhookUpdate.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/ping": { + "post": { + "tags": [ + "Webhooks" + ], + "description": "Triggers a ping event to be sent to the webhook.", + "operationId": "Webhooks_Ping", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/EventInfo" + } + } + }, + "x-ms-examples": { + "WebhookPing": { + "$ref": "./examples/WebhookPing.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/listEvents": { + "post": { + "tags": [ + "Webhooks" + ], + "description": "Lists recent events for the specified webhook.", + "operationId": "Webhooks_ListEvents", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/EventListResult" + } + } + }, + "x-ms-examples": { + "WebhookListEvents": { + "$ref": "./examples/WebhookListEvents.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/getCallbackConfig": { + "post": { + "tags": [ + "Webhooks" + ], + "description": "Gets the configuration of service URI and custom headers for the webhook.", + "operationId": "Webhooks_GetCallbackConfig", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/CallbackConfig" + } + } + }, + "x-ms-examples": { + "WebhookGetCallbackConfig": { + "$ref": "./examples/WebhookGetCallbackConfig.json" + } + } + } + } + }, + "definitions": { + "ImportImageParameters": { + "required": [ + "source" + ], + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/ImportSource", + "description": "The source of the image." + }, + "targetTags": { + "description": "List of strings of the form repo[:tag]. When tag is omitted the source will be used (or 'latest' if source tag is also omitted).", + "type": "array", + "items": { + "type": "string" + } + }, + "untaggedTargetRepositories": { + "description": "List of strings of repository names to do a manifest only copy. No tag will be created.", + "type": "array", + "items": { + "type": "string" + } + }, + "mode": { + "description": "When Force, any existing target tags will be overwritten. When NoForce, any existing target tags will fail the operation before any copying begins.", + "default": "NoForce", + "enum": [ + "NoForce", + "Force" + ], + "type": "string", + "x-ms-enum": { + "name": "ImportMode", + "modelAsString": true + } + } + } + }, + "ImportSource": { + "required": [ + "sourceImage" + ], + "type": "object", + "properties": { + "resourceId": { + "description": "The resource identifier of the source Azure Container Registry.", + "type": "string" + }, + "registryUri": { + "description": "The address of the source registry (e.g. 'mcr.microsoft.com').", + "type": "string" + }, + "credentials": { + "$ref": "#/definitions/ImportSourceCredentials", + "description": "Credentials used when importing from a registry uri." + }, + "sourceImage": { + "description": "Repository name of the source image.\r\nSpecify an image by repository ('hello-world'). This will use the 'latest' tag.\r\nSpecify an image by tag ('hello-world:latest').\r\nSpecify an image by sha256-based manifest digest ('hello-world@sha256:abc123').", + "type": "string" + } + } + }, + "ImportSourceCredentials": { + "required": [ + "password" + ], + "type": "object", + "properties": { + "username": { + "description": "The username to authenticate with the source registry.", + "type": "string" + }, + "password": { + "description": "The password used to authenticate with the source registry.", + "type": "string" + } + } + }, + "OperationListResult": { + "description": "The result of a request to list container registry operations.", + "type": "object", + "properties": { + "value": { + "description": "The list of container registry operations. Since this list may be incomplete, the nextLink field should be used to request the next list of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationDefinition" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of container registry operations.", + "type": "string" + } + } + }, + "OperationDefinition": { + "description": "The definition of a container registry operation.", + "type": "object", + "properties": { + "origin": { + "description": "The origin information of the container registry operation.", + "type": "string" + }, + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplayDefinition", + "description": "The display information for the container registry operation." + }, + "properties": { + "$ref": "#/definitions/OperationPropertiesDefinition", + "description": "The properties information for the container registry operation.", + "x-ms-client-flatten": true + }, + "isDataAction": { + "description": "This property indicates if the operation is an action or a data action\r\nref: https://docs.microsoft.com/en-us/azure/role-based-access-control/role-definitions#management-and-data-operations", + "type": "boolean" + } + } + }, + "OperationDisplayDefinition": { + "description": "The display information for a container registry operation.", + "type": "object", + "properties": { + "provider": { + "description": "The resource provider name: Microsoft.ContainerRegistry.", + "type": "string" + }, + "resource": { + "description": "The resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "The operation that users can perform.", + "type": "string" + }, + "description": { + "description": "The description for the operation.", + "type": "string" + } + } + }, + "OperationPropertiesDefinition": { + "description": "The definition of Azure Monitoring properties.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/OperationServiceSpecificationDefinition", + "description": "The definition of Azure Monitoring service." + } + } + }, + "OperationServiceSpecificationDefinition": { + "description": "The definition of Azure Monitoring list.", + "type": "object", + "properties": { + "metricSpecifications": { + "description": "A list of Azure Monitoring metrics definition.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationMetricSpecificationDefinition" + } + }, + "logSpecifications": { + "description": "A list of Azure Monitoring log definitions.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationLogSpecificationDefinition" + } + } + } + }, + "OperationMetricSpecificationDefinition": { + "description": "The definition of Azure Monitoring metric.", + "type": "object", + "properties": { + "name": { + "description": "Metric name.", + "type": "string" + }, + "displayName": { + "description": "Metric display name.", + "type": "string" + }, + "displayDescription": { + "description": "Metric description.", + "type": "string" + }, + "unit": { + "description": "Metric unit.", + "type": "string" + }, + "aggregationType": { + "description": "Metric aggregation type.", + "type": "string" + }, + "internalMetricName": { + "description": "Internal metric name.", + "type": "string" + } + } + }, + "OperationLogSpecificationDefinition": { + "description": "The definition of Azure Monitoring log.", + "type": "object", + "properties": { + "name": { + "description": "Log name.", + "type": "string" + }, + "displayName": { + "description": "Log display name.", + "type": "string" + }, + "blobDuration": { + "description": "Log blob duration.", + "type": "string" + } + } + }, + "RegistryNameCheckRequest": { + "description": "A request to check whether a container registry name is available.", + "required": [ + "name", + "type" + ], + "type": "object", + "properties": { + "name": { + "description": "The name of the container registry.", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "type": "string" + }, + "type": { + "description": "The resource type of the container registry. This field must be set to 'Microsoft.ContainerRegistry/registries'.", + "enum": [ + "Microsoft.ContainerRegistry/registries" + ], + "type": "string", + "x-ms-enum": { + "name": "ContainerRegistryResourceType", + "modelAsString": false + } + } + } + }, + "RegistryNameStatus": { + "description": "The result of a request to check the availability of a container registry name.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "The value that indicates whether the name is available.", + "type": "boolean" + }, + "reason": { + "description": "If any, the reason that the name is not available.", + "type": "string" + }, + "message": { + "description": "If any, the error message that provides more detail for the reason that the name is not available.", + "type": "string" + } + } + }, + "PrivateEndpointConnectionListResult": { + "description": "The result of a request to list private endpoint connections for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of private endpoint connections. Since this list may be incomplete, the nextLink field should be used to request the next list of private endpoint connections.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of private endpoint connections.", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "description": "An object that represents a private endpoint connection for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true + } + } + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "properties": { + "createdBy": { + "description": "The identity that created the resource.", + "type": "string" + }, + "createdByType": { + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "type": "string", + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "format": "date-time", + "description": "The timestamp of resource creation (UTC).", + "type": "string" + }, + "lastModifiedBy": { + "description": "The identity that last modified the resource.", + "type": "string" + }, + "lastModifiedByType": { + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "type": "string", + "x-ms-enum": { + "name": "lastModifiedByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "format": "date-time", + "description": "The timestamp of resource modification (UTC).", + "type": "string" + } + }, + "readOnly": true + }, + "PrivateEndpointConnectionProperties": { + "description": "The properties of a private endpoint connection.", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "description": "The provisioning state of private endpoint connection resource.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "PrivateEndpoint": { + "description": "The Private Endpoint resource.", + "type": "object", + "properties": { + "id": { + "description": "This is private endpoint resource created with Microsoft.Network resource provider.", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The state of a private link service connection.", + "type": "object", + "properties": { + "status": { + "description": "The private link service connection status.", + "enum": [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "description": { + "description": "The description for connection status. For example if connection is rejected it can indicate reason for rejection.", + "type": "string" + }, + "actionsRequired": { + "description": "A message indicating if changes on the service provider require any updates on the consumer.", + "enum": [ + "None", + "Recreate" + ], + "type": "string", + "x-ms-enum": { + "name": "ActionsRequired", + "modelAsString": true + } + } + } + }, + "RegistryListResult": { + "description": "The result of a request to list container registries.", + "type": "object", + "properties": { + "value": { + "description": "The list of container registries. Since this list may be incomplete, the nextLink field should be used to request the next list of container registries.", + "type": "array", + "items": { + "$ref": "#/definitions/Registry" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of container registries.", + "type": "string" + } + } + }, + "Registry": { + "description": "An object that represents a container registry.", + "required": [ + "sku" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the container registry." + }, + "identity": { + "$ref": "#/definitions/IdentityProperties", + "description": "The identity of the container registry." + }, + "properties": { + "$ref": "#/definitions/RegistryProperties", + "description": "The properties of the container registry.", + "x-ms-client-flatten": true + } + } + }, + "Sku": { + "description": "The SKU of a container registry.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The SKU name of the container registry. Required for registry creation.", + "enum": [ + "Classic", + "Basic", + "Standard", + "Premium" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "tier": { + "description": "The SKU tier based on the SKU name.", + "enum": [ + "Classic", + "Basic", + "Standard", + "Premium" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + } + } + }, + "IdentityProperties": { + "description": "Managed identity for the resource.", + "type": "object", + "properties": { + "principalId": { + "description": "The principal ID of resource identity.", + "type": "string" + }, + "tenantId": { + "description": "The tenant ID of resource.", + "type": "string" + }, + "type": { + "description": "The identity type.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "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" + } + } + } + }, + "RegistryProperties": { + "description": "The properties of a container registry.", + "type": "object", + "properties": { + "loginServer": { + "description": "The URL that can be used to log into the container registry.", + "type": "string", + "readOnly": true + }, + "creationDate": { + "format": "date-time", + "description": "The creation date of the container registry in ISO8601 format.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the container registry at the time the operation was called.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "status": { + "$ref": "#/definitions/Status", + "description": "The status of the container registry at the time the operation was called.", + "readOnly": true + }, + "adminUserEnabled": { + "description": "The value that indicates whether the admin user is enabled.", + "default": false, + "type": "boolean" + }, + "networkRuleSet": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "The network rule set for a container registry." + }, + "policies": { + "$ref": "#/definitions/Policies", + "description": "The policies for a container registry." + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperty", + "description": "The encryption settings of container registry." + }, + "dataEndpointEnabled": { + "description": "Enable a single data endpoint per region for serving data.", + "type": "boolean" + }, + "dataEndpointHostNames": { + "description": "List of host names that will serve data when dataEndpointEnabled is true.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "privateEndpointConnections": { + "description": "List of private endpoint connections for a container registry.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + }, + "publicNetworkAccess": { + "description": "Whether or not public network access is allowed for the container registry.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "networkRuleBypassOptions": { + "description": "Whether to allow trusted Azure services to access a network restricted registry.", + "default": "AzureServices", + "enum": [ + "AzureServices", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "NetworkRuleBypassOptions", + "modelAsString": true + } + }, + "zoneRedundancy": { + "description": "Whether or not zone redundancy is enabled for this container registry", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ZoneRedundancy", + "modelAsString": true + } + } + } + }, + "UserIdentityProperties": { + "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": "An Azure resource.", + "required": [ + "location" + ], + "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 + }, + "location": { + "description": "The location of the resource. This cannot be changed after the resource is created.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "The tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "Status": { + "description": "The status of an Azure resource at the time the operation was called.", + "type": "object", + "properties": { + "displayStatus": { + "description": "The short label for the status.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The detailed message for the status, including alerts and error messages.", + "type": "string", + "readOnly": true + }, + "timestamp": { + "format": "date-time", + "description": "The timestamp when the status was changed to the current value.", + "type": "string", + "readOnly": true + } + } + }, + "StorageAccountProperties": { + "description": "The properties of a storage account for a container registry. Only applicable to Classic SKU.", + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "description": "The resource ID of the storage account.", + "type": "string" + } + } + }, + "NetworkRuleSet": { + "description": "The network rule set for a container registry.", + "required": [ + "defaultAction" + ], + "type": "object", + "properties": { + "defaultAction": { + "description": "The default action of allow or deny when no other rules match.", + "default": "Allow", + "enum": [ + "Allow", + "Deny" + ], + "type": "string", + "x-ms-enum": { + "name": "DefaultAction", + "modelAsString": true + } + }, + "ipRules": { + "description": "The IP ACL rules.", + "type": "array", + "items": { + "$ref": "#/definitions/IPRule" + } + } + } + }, + "Policies": { + "description": "The policies for a container registry.", + "type": "object", + "properties": { + "quarantinePolicy": { + "$ref": "#/definitions/QuarantinePolicy", + "description": "The quarantine policy for a container registry." + }, + "trustPolicy": { + "$ref": "#/definitions/TrustPolicy", + "description": "The content trust policy for a container registry." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "The retention policy for a container registry." + }, + "exportPolicy": { + "$ref": "#/definitions/ExportPolicy", + "description": "The export policy for a container registry." + } + } + }, + "EncryptionProperty": { + "type": "object", + "properties": { + "status": { + "description": "Indicates whether or not the encryption is enabled for container registry.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionStatus", + "modelAsString": true + } + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Key vault properties." + } + } + }, + "PackageType": { + "description": "The properties of a package type.", + "type": "object", + "properties": { + "name": { + "description": "The name of the package type.", + "type": "string" + }, + "endpoint": { + "description": "The endpoint of the package type.", + "type": "string", + "readOnly": true + } + } + }, + "ProxyResource": { + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags.", + "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 + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "IPRule": { + "description": "IP rule with specific IP or IP range in CIDR format.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "action": { + "description": "The action of IP ACL rule.", + "default": "Allow", + "enum": [ + "Allow" + ], + "type": "string", + "x-ms-enum": { + "name": "Action", + "modelAsString": true + } + }, + "value": { + "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.", + "type": "string", + "x-ms-client-name": "IPAddressOrRange" + } + } + }, + "QuarantinePolicy": { + "description": "The quarantine policy for a container registry.", + "type": "object", + "properties": { + "status": { + "description": "The value that indicates whether the policy is enabled or not.", + "default": "disabled", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyStatus", + "modelAsString": true + } + } + } + }, + "TrustPolicy": { + "description": "The content trust policy for a container registry.", + "type": "object", + "properties": { + "type": { + "description": "The type of trust policy.", + "default": "Notary", + "enum": [ + "Notary" + ], + "type": "string", + "x-ms-enum": { + "name": "TrustPolicyType", + "modelAsString": true + } + }, + "status": { + "description": "The value that indicates whether the policy is enabled or not.", + "default": "disabled", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyStatus", + "modelAsString": true + } + } + } + }, + "RetentionPolicy": { + "description": "The retention policy for a container registry.", + "type": "object", + "properties": { + "days": { + "format": "int32", + "description": "The number of days to retain an untagged manifest after which it gets purged.", + "default": 7, + "type": "integer" + }, + "lastUpdatedTime": { + "format": "date-time", + "description": "The timestamp when the policy was last updated.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The value that indicates whether the policy is enabled or not.", + "default": "disabled", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyStatus", + "modelAsString": true + } + } + } + }, + "ExportPolicy": { + "description": "The export policy for a container registry.", + "type": "object", + "properties": { + "status": { + "description": "The value that indicates whether the policy is enabled or not.", + "default": "enabled", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ExportPolicyStatus", + "modelAsString": true + } + } + } + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyIdentifier": { + "description": "Key vault uri to access the encryption key.", + "type": "string" + }, + "versionedKeyIdentifier": { + "description": "The fully qualified key identifier that includes the version of the key that is actually used for encryption.", + "type": "string", + "readOnly": true + }, + "identity": { + "description": "The client id of the identity which will be used to access key vault.", + "type": "string" + }, + "keyRotationEnabled": { + "description": "Auto key rotation status for a CMK enabled registry.", + "type": "boolean", + "readOnly": true + }, + "lastKeyRotationTimestamp": { + "format": "date-time", + "description": "Timestamp of the last successful key rotation.", + "type": "string", + "readOnly": true + } + } + }, + "RegistryUpdateParameters": { + "description": "The parameters for updating a container registry.", + "type": "object", + "properties": { + "identity": { + "$ref": "#/definitions/IdentityProperties", + "description": "The identity of the container registry." + }, + "tags": { + "description": "The tags for the container registry.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the container registry." + }, + "properties": { + "$ref": "#/definitions/RegistryPropertiesUpdateParameters", + "description": "The properties that the container registry will be updated with.", + "x-ms-client-flatten": true + } + } + }, + "RegistryPropertiesUpdateParameters": { + "description": "The parameters for updating the properties of a container registry.", + "type": "object", + "properties": { + "adminUserEnabled": { + "description": "The value that indicates whether the admin user is enabled.", + "type": "boolean" + }, + "networkRuleSet": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "The network rule set for a container registry." + }, + "policies": { + "$ref": "#/definitions/Policies", + "description": "The policies for a container registry." + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperty", + "description": "The encryption settings of container registry." + }, + "dataEndpointEnabled": { + "description": "Enable a single data endpoint per region for serving data.", + "type": "boolean" + }, + "publicNetworkAccess": { + "description": "Whether or not public network access is allowed for the container registry.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "networkRuleBypassOptions": { + "description": "Whether to allow trusted Azure services to access a network restricted registry.", + "default": "AzureServices", + "enum": [ + "AzureServices", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "NetworkRuleBypassOptions", + "modelAsString": true + } + } + } + }, + "RegistryUsageListResult": { + "description": "The result of a request to get container registry quota usages.", + "type": "object", + "properties": { + "value": { + "description": "The list of container registry quota usages.", + "type": "array", + "items": { + "$ref": "#/definitions/RegistryUsage" + } + } + } + }, + "RegistryUsage": { + "description": "The quota usage for a container registry.", + "type": "object", + "properties": { + "name": { + "description": "The name of the usage.", + "type": "string" + }, + "limit": { + "format": "int64", + "description": "The limit of the usage.", + "type": "integer" + }, + "currentValue": { + "format": "int64", + "description": "The current value of the usage.", + "type": "integer" + }, + "unit": { + "description": "The unit of measurement.", + "enum": [ + "Count", + "Bytes" + ], + "type": "string", + "x-ms-enum": { + "name": "RegistryUsageUnit", + "modelAsString": true + } + } + } + }, + "PrivateLinkResourceListResult": { + "description": "The result of a request to list private link resources for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of private link resources. Since this list may be incomplete, the nextLink field should be used to request the next list of private link resources.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of private link resources.", + "type": "string" + } + } + }, + "PrivateLinkResource": { + "description": "A resource that supports private link capabilities.", + "type": "object", + "properties": { + "type": { + "description": "The resource type is private link resource.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "The resource ID.", + "type": "string" + }, + "name": { + "description": "The name of the resource.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "A resource that supports private link capabilities.", + "x-ms-client-flatten": true + } + } + }, + "PrivateLinkResourceProperties": { + "description": "The properties of a private link resource.", + "type": "object", + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string" + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "description": "The private link resource Private link DNS zone name.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "RegistryListCredentialsResult": { + "description": "The response from the ListCredentials operation.", + "type": "object", + "properties": { + "username": { + "description": "The username for a container registry.", + "type": "string" + }, + "passwords": { + "description": "The list of passwords for a container registry.", + "type": "array", + "items": { + "$ref": "#/definitions/RegistryPassword" + } + } + } + }, + "RegistryPassword": { + "description": "The login password for the container registry.", + "type": "object", + "properties": { + "name": { + "description": "The password name.", + "enum": [ + "password", + "password2" + ], + "type": "string", + "x-ms-enum": { + "name": "PasswordName", + "modelAsString": false + } + }, + "value": { + "description": "The password value.", + "type": "string" + } + } + }, + "RegenerateCredentialParameters": { + "description": "The parameters used to regenerate the login credential.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "Specifies name of the password which should be regenerated -- password or password2.", + "enum": [ + "password", + "password2" + ], + "type": "string", + "x-ms-enum": { + "name": "PasswordName", + "modelAsString": false + } + } + } + }, + "ReplicationListResult": { + "description": "The result of a request to list replications for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of replications. Since this list may be incomplete, the nextLink field should be used to request the next list of replications.", + "type": "array", + "items": { + "$ref": "#/definitions/Replication" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of replications.", + "type": "string" + } + } + }, + "Replication": { + "description": "An object that represents a replication for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ReplicationProperties", + "description": "The properties of the replication.", + "x-ms-client-flatten": true + } + } + }, + "ReplicationProperties": { + "description": "The properties of a replication.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the replication at the time the operation was called.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "status": { + "$ref": "#/definitions/Status", + "description": "The status of the replication at the time the operation was called.", + "readOnly": true + }, + "regionEndpointEnabled": { + "description": "Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications.", + "default": true, + "type": "boolean" + }, + "zoneRedundancy": { + "description": "Whether or not zone redundancy is enabled for this container registry replication", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ZoneRedundancy", + "modelAsString": true + } + } + } + }, + "ReplicationUpdateParameters": { + "description": "The parameters for updating a replication.", + "type": "object", + "properties": { + "tags": { + "description": "The tags for the replication.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/ReplicationUpdateParametersProperties", + "description": "The parameters for updating a replication's properties", + "x-ms-client-flatten": true + } + } + }, + "ReplicationUpdateParametersProperties": { + "type": "object", + "properties": { + "regionEndpointEnabled": { + "description": "Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications.", + "type": "boolean" + } + } + }, + "WebhookListResult": { + "description": "The result of a request to list webhooks for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of webhooks. Since this list may be incomplete, the nextLink field should be used to request the next list of webhooks.", + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of webhooks.", + "type": "string" + } + } + }, + "Webhook": { + "description": "An object that represents a webhook for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WebhookProperties", + "description": "The properties of the webhook.", + "x-ms-client-flatten": true + } + } + }, + "WebhookProperties": { + "description": "The properties of a webhook.", + "required": [ + "actions" + ], + "type": "object", + "properties": { + "status": { + "description": "The status of the webhook at the time the operation was called.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "WebhookStatus", + "modelAsString": true + } + }, + "scope": { + "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.", + "type": "string" + }, + "actions": { + "description": "The list of actions that trigger the webhook to post notifications.", + "type": "array", + "items": { + "enum": [ + "push", + "delete", + "quarantine", + "chart_push", + "chart_delete" + ], + "type": "string", + "x-ms-enum": { + "name": "WebhookAction", + "modelAsString": true + } + } + }, + "provisioningState": { + "description": "The provisioning state of the webhook at the time the operation was called.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "WebhookCreateParameters": { + "description": "The parameters for creating a webhook.", + "required": [ + "location" + ], + "type": "object", + "properties": { + "tags": { + "description": "The tags for the webhook.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "description": "The location of the webhook. This cannot be changed after the resource is created.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/WebhookPropertiesCreateParameters", + "description": "The properties that the webhook will be created with.", + "x-ms-client-flatten": true + } + } + }, + "WebhookPropertiesCreateParameters": { + "description": "The parameters for creating the properties of a webhook.", + "required": [ + "serviceUri", + "actions" + ], + "type": "object", + "properties": { + "serviceUri": { + "description": "The service URI for the webhook to post notifications.", + "type": "string", + "x-ms-secret": true + }, + "customHeaders": { + "description": "Custom headers that will be added to the webhook notifications.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-secret": true + }, + "status": { + "description": "The status of the webhook at the time the operation was called.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "WebhookStatus", + "modelAsString": true + } + }, + "scope": { + "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.", + "type": "string" + }, + "actions": { + "description": "The list of actions that trigger the webhook to post notifications.", + "type": "array", + "items": { + "enum": [ + "push", + "delete", + "quarantine", + "chart_push", + "chart_delete" + ], + "type": "string", + "x-ms-enum": { + "name": "WebhookAction", + "modelAsString": true + } + } + } + } + }, + "WebhookUpdateParameters": { + "description": "The parameters for updating a webhook.", + "type": "object", + "properties": { + "tags": { + "description": "The tags for the webhook.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/WebhookPropertiesUpdateParameters", + "description": "The properties that the webhook will be updated with.", + "x-ms-client-flatten": true + } + } + }, + "WebhookPropertiesUpdateParameters": { + "description": "The parameters for updating the properties of a webhook.", + "type": "object", + "properties": { + "serviceUri": { + "description": "The service URI for the webhook to post notifications.", + "type": "string", + "x-ms-secret": true + }, + "customHeaders": { + "description": "Custom headers that will be added to the webhook notifications.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-secret": true + }, + "status": { + "description": "The status of the webhook at the time the operation was called.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "WebhookStatus", + "modelAsString": true + } + }, + "scope": { + "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.", + "type": "string" + }, + "actions": { + "description": "The list of actions that trigger the webhook to post notifications.", + "type": "array", + "items": { + "enum": [ + "push", + "delete", + "quarantine", + "chart_push", + "chart_delete" + ], + "type": "string", + "x-ms-enum": { + "name": "WebhookAction", + "modelAsString": true + } + } + } + } + }, + "EventInfo": { + "description": "The basic information of an event.", + "type": "object", + "properties": { + "id": { + "description": "The event ID.", + "type": "string" + } + } + }, + "EventListResult": { + "description": "The result of a request to list events for a webhook.", + "type": "object", + "properties": { + "value": { + "description": "The list of events. Since this list may be incomplete, the nextLink field should be used to request the next list of events.", + "type": "array", + "items": { + "$ref": "#/definitions/Event" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of events.", + "type": "string" + } + } + }, + "Event": { + "description": "The event for a webhook.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventInfo" + } + ], + "properties": { + "eventRequestMessage": { + "$ref": "#/definitions/EventRequestMessage", + "description": "The event request message sent to the service URI." + }, + "eventResponseMessage": { + "$ref": "#/definitions/EventResponseMessage", + "description": "The event response message received from the service URI." + } + } + }, + "EventRequestMessage": { + "description": "The event request message sent to the service URI.", + "type": "object", + "properties": { + "content": { + "$ref": "#/definitions/EventContent", + "description": "The content of the event request message." + }, + "headers": { + "description": "The headers of the event request message.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "method": { + "description": "The HTTP method used to send the event request message.", + "type": "string" + }, + "requestUri": { + "description": "The URI used to send the event request message.", + "type": "string" + }, + "version": { + "description": "The HTTP message version.", + "type": "string" + } + } + }, + "EventResponseMessage": { + "description": "The event response message received from the service URI.", + "type": "object", + "properties": { + "content": { + "description": "The content of the event response message.", + "type": "string" + }, + "headers": { + "description": "The headers of the event response message.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "reasonPhrase": { + "description": "The reason phrase of the event response message.", + "type": "string" + }, + "statusCode": { + "description": "The status code of the event response message.", + "type": "string" + }, + "version": { + "description": "The HTTP message version.", + "type": "string" + } + } + }, + "EventContent": { + "description": "The content of the event request message.", + "type": "object", + "properties": { + "id": { + "description": "The event ID.", + "type": "string" + }, + "timestamp": { + "format": "date-time", + "description": "The time at which the event occurred.", + "type": "string" + }, + "action": { + "description": "The action that encompasses the provided event.", + "type": "string" + }, + "target": { + "$ref": "#/definitions/Target", + "description": "The target of the event." + }, + "request": { + "$ref": "#/definitions/Request", + "description": "The request that generated the event." + }, + "actor": { + "$ref": "#/definitions/Actor", + "description": "The agent that initiated the event. For most situations, this could be from the authorization context of the request." + }, + "source": { + "$ref": "#/definitions/Source", + "description": "The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it." + } + } + }, + "Target": { + "description": "The target of the event.", + "type": "object", + "properties": { + "mediaType": { + "description": "The MIME type of the referenced object.", + "type": "string" + }, + "size": { + "format": "int64", + "description": "The number of bytes of the content. Same as Length field.", + "type": "integer" + }, + "digest": { + "description": "The digest of the content, as defined by the Registry V2 HTTP API Specification.", + "type": "string" + }, + "length": { + "format": "int64", + "description": "The number of bytes of the content. Same as Size field.", + "type": "integer" + }, + "repository": { + "description": "The repository name.", + "type": "string" + }, + "url": { + "description": "The direct URL to the content.", + "type": "string" + }, + "tag": { + "description": "The tag name.", + "type": "string" + }, + "name": { + "description": "The name of the artifact.", + "type": "string" + }, + "version": { + "description": "The version of the artifact.", + "type": "string" + } + } + }, + "Request": { + "description": "The request that generated the event.", + "type": "object", + "properties": { + "id": { + "description": "The ID of the request that initiated the event.", + "type": "string" + }, + "addr": { + "description": "The IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request.", + "type": "string" + }, + "host": { + "description": "The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests.", + "type": "string" + }, + "method": { + "description": "The request method that generated the event.", + "type": "string" + }, + "useragent": { + "description": "The user agent header of the request.", + "type": "string" + } + } + }, + "Actor": { + "description": "The agent that initiated the event. For most situations, this could be from the authorization context of the request.", + "type": "object", + "properties": { + "name": { + "description": "The subject or username associated with the request context that generated the event.", + "type": "string" + } + } + }, + "Source": { + "description": "The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it.", + "type": "object", + "properties": { + "addr": { + "description": "The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port.", + "type": "string" + }, + "instanceID": { + "description": "The running instance of an application. Changes after each restart.", + "type": "string" + } + } + }, + "CallbackConfig": { + "description": "The configuration of service URI and custom headers for the webhook.", + "required": [ + "serviceUri" + ], + "type": "object", + "properties": { + "serviceUri": { + "description": "The service URI for the webhook to post notifications.", + "type": "string" + }, + "customHeaders": { + "description": "Custom headers that will be added to the webhook notifications.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ErrorResponse": { + "description": "An error response from the Azure Container Registry service.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorResponseBody", + "description": "Azure container registry build API error body." + } + } + }, + "ErrorResponseBody": { + "description": "An error response from the Azure Container Registry service.", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "description": "error code.", + "type": "string" + }, + "message": { + "description": "error message.", + "type": "string" + }, + "target": { + "description": "target of the particular error.", + "type": "string" + }, + "details": { + "description": "an array of additional nested error response info objects, as described by this contract.", + "type": "array", + "items": { + "$ref": "#/definitions/InnerErrorDescription" + } + } + } + }, + "InnerErrorDescription": { + "description": "inner error.", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "description": "error code.", + "type": "string" + }, + "message": { + "description": "error message.", + "type": "string" + }, + "target": { + "description": "target of the particular error.", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The Microsoft Azure subscription ID.", + "required": true, + "type": "string" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The client API version.", + "required": true, + "type": "string" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group to which the container registry belongs.", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method" + }, + "RegistryNameParameter": { + "name": "registryName", + "in": "path", + "description": "The name of the container registry.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "x-ms-parameter-location": "method" + }, + "WebhookNameParameter": { + "name": "webhookName", + "in": "path", + "description": "The name of the webhook.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "x-ms-parameter-location": "method" + }, + "ReplicationNameParameter": { + "name": "replicationName", + "in": "path", + "description": "The name of the replication.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "GroupNameParameter": { + "name": "groupName", + "in": "path", + "description": "The name of the private link resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ImportImageByManifestDigest.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ImportImageByManifestDigest.json new file mode 100644 index 000000000000..3bc61132b1b8 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ImportImageByManifestDigest.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "parameters": { + "source": { + "resourceId": "/subscriptions/10000000-0000-0000-0000-000000000000/resourceGroups/sourceResourceGroup/providers/Microsoft.ContainerRegistry/registries/sourceRegistry", + "sourceImage": "sourceRepository@sha256:0000000000000000000000000000000000000000000000000000000000000000" + }, + "targetTags": [ + "targetRepository:targetTag" + ], + "untaggedTargetRepositories": [ + "targetRepository1" + ], + "mode": "Force" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ImportImageByTag.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ImportImageByTag.json new file mode 100644 index 000000000000..0b148d11f839 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ImportImageByTag.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "parameters": { + "source": { + "resourceId": "/subscriptions/10000000-0000-0000-0000-000000000000/resourceGroups/sourceResourceGroup/providers/Microsoft.ContainerRegistry/registries/sourceRegistry", + "sourceImage": "sourceRepository:sourceTag" + }, + "targetTags": [ + "targetRepository:targetTag" + ], + "untaggedTargetRepositories": [ + "targetRepository1" + ], + "mode": "Force" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ImportImageFromPublicRegistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ImportImageFromPublicRegistry.json new file mode 100644 index 000000000000..46e1a3644319 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ImportImageFromPublicRegistry.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "parameters": { + "source": { + "registryUri": "registry.hub.docker.com", + "sourceImage": "library/hello-world" + }, + "targetTags": [ + "targetRepository:targetTag" + ], + "untaggedTargetRepositories": [ + "targetRepository1" + ], + "mode": "Force" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/OperationList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/OperationList.json new file mode 100644 index 000000000000..142097b7fd09 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/OperationList.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ContainerRegistry/locations/deleteVirtualNetworkOrSubnets/action", + "display": { + "provider": "Microsoft ContainerRegistry", + "resource": "", + "operation": "Delete virtual network or subnets notifications", + "description": "Notifies Microsoft.ContainerRegistry that virtual network or subnet is being deleted" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionCreateOrUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionCreateOrUpdate.json new file mode 100644 index 000000000000..a48d42747383 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionCreateOrUpdate.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "privateEndpointConnectionName": "myConnection", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..dcddd0d24026 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "privateEndpointConnectionName": "myConnection" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..e99ce9fa3a41 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "privateEndpointConnectionName": "myConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionList.json new file mode 100644 index 000000000000..14d970261933 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCheckNameAvailable.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCheckNameAvailable.json new file mode 100644 index 000000000000..5a457f6549b4 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCheckNameAvailable.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "registryNameCheckRequest": { + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCheckNameNotAvailable.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCheckNameNotAvailable.json new file mode 100644 index 000000000000..be65cc0b246f --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCheckNameNotAvailable.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "registryNameCheckRequest": { + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "The registry myRegistry is already in use." + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCreate.json new file mode 100644 index 000000000000..62a44b115d54 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCreate.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "registry": { + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard" + }, + "properties": { + "adminUserEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Succeeded", + "adminUserEnabled": true, + "networkRuleSet": { + "defaultAction": "Allow", + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Creating", + "adminUserEnabled": true, + "networkRuleSet": { + "defaultAction": "Allow", + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCreateZoneRedundant.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCreateZoneRedundant.json new file mode 100644 index 000000000000..e8b999a56bf6 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCreateZoneRedundant.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "registry": { + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard" + }, + "properties": { + "zoneRedundancy": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Succeeded", + "adminUserEnabled": false, + "networkRuleSet": { + "defaultAction": "Allow", + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Enabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Creating", + "adminUserEnabled": false, + "networkRuleSet": { + "defaultAction": "Allow", + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Enabled" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryDelete.json new file mode 100644 index 000000000000..779ebebded1e --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryGet.json new file mode 100644 index 000000000000..71e20708b792 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryGet.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Succeeded", + "adminUserEnabled": false, + "networkRuleSet": { + "defaultAction": "Allow", + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryGetPrivateLinkResource.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryGetPrivateLinkResource.json new file mode 100644 index 000000000000..dfb4e2ae59df --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryGetPrivateLinkResource.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "groupName": "registry" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateLinkResources/registry", + "name": "registry", + "type": "Microsoft.ContainerRegistry/registries/privateLinkResources", + "properties": { + "groupId": "registry", + "requiredMembers": [ + "registry", + "registry_data_myregion" + ], + "requiredZoneNames": [ + "privatelink.azurecr.io" + ] + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryList.json new file mode 100644 index 000000000000..ec55e9623696 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryList.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Succeeded", + "adminUserEnabled": false, + "networkRuleSet": { + "defaultAction": "Allow", + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListByResourceGroup.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListByResourceGroup.json new file mode 100644 index 000000000000..7139f675a8eb --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListByResourceGroup.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Succeeded", + "adminUserEnabled": false, + "networkRuleSet": { + "defaultAction": "Allow", + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListCredentials.json new file mode 100644 index 000000000000..47846b59210e --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListCredentials.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "username": "myRegistry", + "passwords": [ + { + "name": "password", + "value": "00000000000000000000000000000000" + }, + { + "name": "password2", + "value": "00000000000000000000000000000000" + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListPrivateLinkResources.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListPrivateLinkResources.json new file mode 100644 index 000000000000..a8007221c289 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListPrivateLinkResources.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateLinkResources/registry", + "name": "registry", + "type": "Microsoft.ContainerRegistry/registries/privateLinkResources", + "properties": { + "groupId": "registry", + "requiredMembers": [ + "registry", + "registry_data_myregion" + ], + "requiredZoneNames": [ + "privatelink.azurecr.io" + ] + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListUsages.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListUsages.json new file mode 100644 index 000000000000..ef8395417571 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListUsages.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Size", + "limit": 107374182400, + "currentValue": 12345678, + "unit": "Bytes" + }, + { + "name": "Webhooks", + "limit": 10, + "currentValue": 2, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryRegenerateCredential.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryRegenerateCredential.json new file mode 100644 index 000000000000..3079aecfdc1b --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryRegenerateCredential.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "regenerateCredentialParameters": { + "name": "password" + } + }, + "responses": { + "200": { + "body": { + "username": "myRegistry", + "passwords": [ + { + "name": "password", + "value": "00000000000000000000000000000000" + }, + { + "name": "password2", + "value": "00000000000000000000000000000000" + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryUpdate.json new file mode 100644 index 000000000000..095d5d8e4c18 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryUpdate.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "registryUpdateParameters": { + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard" + }, + "properties": { + "adminUserEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Succeeded", + "adminUserEnabled": true, + "networkRuleSet": { + "defaultAction": "Allow", + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Updating", + "adminUserEnabled": true, + "networkRuleSet": { + "defaultAction": "Allow", + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationCreate.json new file mode 100644 index 000000000000..1e3ed4cd1040 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationCreate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "replicationName": "myReplication", + "replication": { + "location": "eastus", + "tags": { + "key": "value" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "status": { + "displayStatus": "Ready", + "message": "The replication is ready.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Disabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Creating", + "status": { + "displayStatus": "Provisioning", + "message": "The replication is provisioning.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Disabled" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationCreateZoneRedundant.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationCreateZoneRedundant.json new file mode 100644 index 000000000000..95edc9bbc99f --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationCreateZoneRedundant.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "replicationName": "myReplication", + "replication": { + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "regionEndpointEnabled": true, + "zoneRedundancy": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "status": { + "displayStatus": "Ready", + "message": "The replication is ready.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Enabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Creating", + "status": { + "displayStatus": "Provisioning", + "message": "The replication is provisioning.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Enabled" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationDelete.json new file mode 100644 index 000000000000..6270eeeb2ee9 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "replicationName": "myReplication" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationGet.json new file mode 100644 index 000000000000..85532b9675a5 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "replicationName": "myReplication" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "status": { + "displayStatus": "Ready", + "message": "The replication is ready.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Disabled" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationList.json new file mode 100644 index 000000000000..72aacbe1e3de --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "status": { + "displayStatus": "Ready", + "message": "The replication is ready.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Disabled" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationUpdate.json new file mode 100644 index 000000000000..e0344d73ec51 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationUpdate.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "replicationName": "myReplication", + "replicationUpdateParameters": { + "tags": { + "key": "value" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "status": { + "displayStatus": "Ready", + "message": "The replication is ready.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Disabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Updating", + "status": { + "displayStatus": "Provisioning", + "message": "The replication is provisioning.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Disabled" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookCreate.json new file mode 100644 index 000000000000..cdb9c1889e7e --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookCreate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook", + "webhookCreateParameters": { + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "serviceUri": "http://myservice.com", + "customHeaders": { + "Authorization": "Basic 000000000000000000000000000000000000000000000000000" + }, + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook", + "name": "myWebhook", + "type": "Microsoft.ContainerRegistry/registries/webhooks", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook", + "name": "myWebhook", + "type": "Microsoft.ContainerRegistry/registries/webhooks", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ], + "provisioningState": "Creating" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookDelete.json new file mode 100644 index 000000000000..0f87fb335fa3 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookGet.json new file mode 100644 index 000000000000..0100e6c1f0cb --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook", + "name": "myWebhook", + "type": "Microsoft.ContainerRegistry/registries/webhooks", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookGetCallbackConfig.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookGetCallbackConfig.json new file mode 100644 index 000000000000..0b33915cfd73 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookGetCallbackConfig.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook" + }, + "responses": { + "200": { + "body": { + "serviceUri": "http://myservice.com", + "customHeaders": { + "Authorization": "Basic 000000000000000000000000000000000000000000000000000" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookList.json new file mode 100644 index 000000000000..daf33c5fdeed --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook", + "name": "myWebhook", + "type": "Microsoft.ContainerRegistry/registries/webhooks", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ], + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookListEvents.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookListEvents.json new file mode 100644 index 000000000000..dbf90b973a4b --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookListEvents.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "00000000-0000-0000-0000-000000000000", + "eventRequestMessage": { + "content": { + "id": "00000000-0000-0000-0000-000000000000", + "timestamp": "2017-03-01T23:14:37.0707808Z", + "action": "push", + "target": { + "mediaType": "application/vnd.docker.distribution.manifest.v2+json", + "size": 708, + "digest": "sha256:fea8895f450959fa676bcc1df0611ea93823a735a01205fd8622846041d0c7cf", + "length": 708, + "repository": "hello-world", + "url": "http://192.168.100.227:5000/v2/hello-world/manifests/sha256:fea8895f450959fa676bcc1df0611ea93823a735a01205fd8622846041d0c7cf", + "tag": "latest" + }, + "request": { + "id": "00000000-0000-0000-0000-000000000000", + "addr": "192.168.64.11:42961", + "host": "192.168.100.227:5000", + "method": "GET", + "useragent": "curl/7.38.0" + }, + "actor": {}, + "source": { + "addr": "xtal.local:5000", + "instanceID": "00000000-0000-0000-0000-000000000000" + } + }, + "headers": { + "Content-Type": "application/json", + "Content-Length": "719", + "Authorization": "******" + }, + "method": "POST", + "requestUri": "http://myservice.com", + "version": "1.1" + }, + "eventResponseMessage": { + "headers": { + "Content-Length": "0" + }, + "statusCode": "200", + "version": "1.1" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookPing.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookPing.json new file mode 100644 index 000000000000..c96fc6fb837d --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookPing.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook" + }, + "responses": { + "200": { + "body": { + "id": "00000000-0000-0000-0000-000000000000" + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookUpdate.json new file mode 100644 index 000000000000..924d937700f5 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookUpdate.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook", + "webhookUpdateParameters": { + "tags": { + "key": "value" + }, + "properties": { + "serviceUri": "http://myservice.com", + "customHeaders": { + "Authorization": "Basic 000000000000000000000000000000000000000000000000000" + }, + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook", + "name": "myWebhook", + "type": "Microsoft.ContainerRegistry/registries/webhooks", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook", + "name": "myWebhook", + "type": "Microsoft.ContainerRegistry/registries/webhooks", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ], + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/readme.go.md b/specification/containerregistry/resource-manager/readme.go.md index 91738b70e38a..da6127630d04 100644 --- a/specification/containerregistry/resource-manager/readme.go.md +++ b/specification/containerregistry/resource-manager/readme.go.md @@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line. ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/containerregistry/armcontainerregistry +module-name: sdk/resourcemanager/containerregistry/armcontainerregistry module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true @@ -21,6 +21,8 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-09 + - tag: package-2021-08-preview - tag: package-2021-06-preview - tag: package-2020-11-preview - tag: package-2019-12-preview @@ -35,6 +37,24 @@ batch: - tag: package-2016-06-preview ``` +### Tag: package-2021-09 and go + +These settings apply only when `--tag=package-2021-09 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-09' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-09-01/$(namespace) +``` + +### Tag: package-2021-08-preview and go + +These settings apply only when `--tag=package-2021-08-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-08-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-08-01-preview/$(namespace) +``` + ### Tag: package-2021-06-preview and go These settings apply only when `--tag=package-2021-06-preview --go` is specified on the command line. diff --git a/specification/containerregistry/resource-manager/readme.java.md b/specification/containerregistry/resource-manager/readme.java.md index a2e4885629fb..61605a018df1 100644 --- a/specification/containerregistry/resource-manager/readme.java.md +++ b/specification/containerregistry/resource-manager/readme.java.md @@ -25,6 +25,8 @@ directive: ``` yaml $(java) && $(multiapi) batch: + - tag: package-2021-09 + - tag: package-2021-08-preview - tag: package-2021-06-preview - tag: package-2020-11-preview - tag: package-2019-12-preview @@ -39,6 +41,32 @@ batch: - tag: package-2016-06-preview ``` +### Tag: package-2021-09 and java + +These settings apply only when `--tag=package-2021-09 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2021-09' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerregistry.v2021_09_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/containerregistry/mgmt-v2021_09_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2021-08-preview and java + +These settings apply only when `--tag=package-2021-08-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2021-08-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerregistry.v2021_08_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/containerregistry/mgmt-v2021_08_01_preview +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2021-06-preview and java These settings apply only when `--tag=package-2021-06-preview --java` is specified on the command line. diff --git a/specification/containerregistry/resource-manager/readme.md b/specification/containerregistry/resource-manager/readme.md index 85d1d178aa71..3c9f0cfbcd90 100644 --- a/specification/containerregistry/resource-manager/readme.md +++ b/specification/containerregistry/resource-manager/readme.md @@ -26,7 +26,45 @@ These are the global settings for the ContainerRegistry API. ``` yaml openapi-type: arm -tag: package-2021-06-preview +tag: package-2021-09 +``` + +### Tag: package-2021-09-only + +These settings apply only when `--tag=package-2021-09-only` is specified on the command line. + +```yaml $(tag) == 'package-2021-09-only' +input-file: + - Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json +``` + +### Tag: package-2021-09 + +These settings apply only when `--tag=package-2021-09` is specified on the command line. + +```yaml $(tag) == 'package-2021-09' +input-file: + - Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json + - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json +``` + +### Tag: package-2021-08-preview-only + +These settings apply only when `--tag=package-2021-08-preview-only` is specified on the command line. + +```yaml $(tag) == 'package-2021-08-preview-only' +input-file: + - Microsoft.ContainerRegistry/preview/2021-08-01-preview/containerregistry.json +``` + +### Tag: package-2021-08-preview + +These settings apply only when `--tag=package-2021-08-preview` is specified on the command line. + +```yaml $(tag) == 'package-2021-08-preview' +input-file: + - Microsoft.ContainerRegistry/preview/2021-08-01-preview/containerregistry.json + - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json ``` ### Tag: package-2021-06-preview-only @@ -253,6 +291,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby diff --git a/specification/containerregistry/resource-manager/readme.nodejs.md b/specification/containerregistry/resource-manager/readme.nodejs.md index 709bcdecf903..0c676532ed86 100644 --- a/specification/containerregistry/resource-manager/readme.nodejs.md +++ b/specification/containerregistry/resource-manager/readme.nodejs.md @@ -12,6 +12,6 @@ nodejs: generate-package-json: true generate-readme-md: true input-file: -- Microsoft.ContainerRegistry/preview/2021-06-01-preview/containerregistry.json +- Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json ``` diff --git a/specification/containerregistry/resource-manager/readme.python.md b/specification/containerregistry/resource-manager/readme.python.md index ba0c75f1f194..55289cfc18ce 100644 --- a/specification/containerregistry/resource-manager/readme.python.md +++ b/specification/containerregistry/resource-manager/readme.python.md @@ -19,6 +19,8 @@ Generate all API versions currently shipped for this package ```yaml $(python) && $(multiapi) && $(track2) clear-output-folder: true batch: + - tag: package-2021-09 + - tag: package-2021-08-preview-only - tag: package-2021-06-preview-only - tag: package-2020-11-preview-only - tag: package-2019-12-preview-only @@ -39,6 +41,26 @@ clear-output-folder: false perform-load: false ``` +### Tag: package-2021-09-only and python + +These settings apply only when `--tag=package-2021-09-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-09-only' && $(python) +namespace: azure.mgmt.containerregistry.v2021_09_01 +output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2021_09_01 +``` + +### Tag: package-2021-08-preview-only and python + +These settings apply only when `--tag=package-2021-08-preview-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-08-preview-only' && $(python) +namespace: azure.mgmt.containerregistry.v2021_08_01_preview +output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2021_08_01_preview +``` + ### Tag: package-2021-06-preview-only and python These settings apply only when `--tag=package-2021-06-preview-only --python` is specified on the command line. diff --git a/specification/containerregistry/resource-manager/readme.ruby.md b/specification/containerregistry/resource-manager/readme.ruby.md index 200b1c1dbf9e..1b10b02a3a9a 100644 --- a/specification/containerregistry/resource-manager/readme.ruby.md +++ b/specification/containerregistry/resource-manager/readme.ruby.md @@ -12,6 +12,8 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-2021-09 + - tag: package-2021-08-preview - tag: package-2021-06-preview - tag: package-2020-11-preview - tag: package-2019-12-preview @@ -20,6 +22,25 @@ batch: - tag: package-2017-03 - tag: package-2016-06-preview ``` +### Tag: package-2021-09 and ruby + +These settings apply only when `--tag=package-2021-09 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-09' && $(ruby) +namespace: "Azure::ContainerRegistry::Mgmt::V2021_09_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_container_registry/lib +``` + +### Tag: package-2021-08-preview and ruby + +These settings apply only when `--tag=package-2021-08-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-08-preview' && $(ruby) +namespace: "Azure::ContainerRegistry::Mgmt::V2021_08_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_container_registry/lib +``` ### Tag: package-2021-06-preview and ruby diff --git a/specification/containerregistry/resource-manager/readme.typescript.md b/specification/containerregistry/resource-manager/readme.typescript.md index 5d15348ef436..a49847bc1acb 100644 --- a/specification/containerregistry/resource-manager/readme.typescript.md +++ b/specification/containerregistry/resource-manager/readme.typescript.md @@ -5,7 +5,7 @@ Please also specify `--typescript-sdks-folder=
**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", + "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." + }, + "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": "Windows gMSA Profile in the managed cluster." + }, + "ContainerServiceLinuxProfile": { + "properties": { + "adminUsername": { + "type": "string", + "description": "The administrator username to use for Linux VMs.", + "pattern": "^[A-Za-z][-A-Za-z0-9_]*$" + }, + "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", + "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." + }, + "networkPolicy": { + "type": "string", + "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." + }, + "networkMode": { + "type": "string", + "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": "Profile of network configuration." + }, + "MaintenanceConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MaintenanceConfiguration" + }, + "description": "The list of maintenance configurations." + }, + "nextLink": { + "type": "string", + "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." + }, + "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 UTC timestamp of resource creation." + }, + "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." + } + } + }, + "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" + }, + "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 + } + }, + "description": "run command result." + }, + "CommandResultProperties": { + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "provisioning State" + }, + "exitCode": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The exit code of the command" + }, + "startedAt": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time when the command started." + }, + "finishedAt": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time when the command finished." + }, + "logs": { + "type": "string", + "readOnly": true, + "description": "The command output." + }, + "reason": { + "type": "string", + "readOnly": true, + "description": "An explanation of why provisioningState is set to failed (if so)." + } + }, + "description": "The results of a run command" + }, + "ManagedClusterNATGatewayProfile": { + "type": "object", + "properties": { + "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": "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": "Profile of the managed cluster NAT gateway." + }, + "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 + } + }, + "description": "Profile of the managed outbound IP resources of the managed cluster." + }, + "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" + ] + }, + "ContainerServiceSshPublicKey": { + "properties": { + "keyData": { + "type": "string", + "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." + }, + "storageUri": { + "readOnly": true, + "type": "string", + "description": "The URI of the storage account where diagnostics are stored." + } + }, + "description": "Profile for diagnostics on the container service VMs.", + "required": [ + "enabled" + ] + }, + "ManagedClusterListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "The list of managed clusters." + }, + "nextLink": { + "type": "string", + "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." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the Virtual Machine." + }, + "identity": { + "$ref": "#/definitions/ManagedClusterIdentity", + "description": "The identity of the managed cluster, if configured." + }, + "properties": { + "description": "Properties of a managed cluster.", + "$ref": "#/definitions/ManagedClusterProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Managed cluster." + }, + "ManagedClusterProperties": { + "properties": { + "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", + "description": "The max number of agent pools for the managed cluster." + }, + "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." + }, + "dnsPrefix": { + "type": "string", + "title": "The DNS prefix of the Managed Cluster.", + "description": "This cannot be updated once the Managed Cluster has been created." + }, + "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." + }, + "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." + }, + "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." + }, + "networkProfile": { + "$ref": "#/definitions/ContainerServiceNetworkProfile", + "description": "The network configuration profile." + }, + "aadProfile": { + "$ref": "#/definitions/ManagedClusterAADProfile", + "description": "The Azure Active Directory configuration." + }, + "autoUpgradeProfile": { + "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile", + "description": "The auto upgrade configuration." + }, + "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" + }, + "apiServerAccessProfile": { + "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", + "description": "The access profile for managed cluster API server." + }, + "diskEncryptionSetID": { + "type": "string", + "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}'" + }, + "identityProfile": { + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "description": "Identities associated with the cluster." + }, + "privateLinkResources": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "Private link resources associated with the cluster." + }, + "disableLocalAccounts": { + "type": "boolean", + "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)." + }, + "httpProxyConfig": { + "$ref": "#/definitions/ManagedClusterHTTPProxyConfig", + "description": "Configurations for provisioning the cluster with HTTP proxy servers." + }, + "securityProfile": { + "$ref": "#/definitions/ManagedClusterSecurityProfile", + "description": "Security profile for the managed cluster." + }, + "publicNetworkAccess": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "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" + }, + "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." + } + }, + "description": "Access profile for managed cluster API server." + }, + "ManagedClusterIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the system assigned identity which is used by master components." + }, + "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}'." + } + }, + "description": "Identity for the managed cluster." + }, + "UserAssignedIdentity": { + "properties": { + "resourceId": { + "type": "string", + "description": "The resource ID of the user assigned identity." + }, + "clientId": { + "type": "string", + "description": "The client ID of the user assigned identity." + }, + "objectId": { + "type": "string", + "description": "The object ID of the user assigned identity." + } + }, + "description": "Details about a user assigned identity." + }, + "ManagedClusterAccessProfile": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "properties": { + "properties": { + "description": "AccessProfile of a managed cluster.", + "$ref": "#/definitions/AccessProfile", + "x-ms-client-flatten": true + } + } + } + ], + "description": "Managed cluster Access Profile.", + "x-ms-azure-resource": false + }, + "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": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "name": { + "type": "string", + "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": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "ManagedClusterUpgradeProfileProperties": { + "properties": { + "controlPlaneProfile": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile", + "description": "The list of available upgrade versions for the control plane." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile" + }, + "description": "The list of available upgrade versions for agent pools." + } + }, + "required": [ + "controlPlaneProfile", + "agentPoolProfiles" + ], + "description": "Control plane and agent pool upgrade profiles." + }, + "ManagedClusterAutoUpgradeProfile": { + "properties": { + "upgradeChannel": { + "type": "string", + "enum": [ + "rapid", + "stable", + "patch", + "node-image", + "none" + ], + "x-ms-enum": { + "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." + } + ] + }, + "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." + }, + "enableAzureRBAC": { + "type": "boolean", + "description": "Whether to enable Azure RBAC for Kubernetes authorization." + }, + "adminGroupObjectIDs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of AAD group object IDs that will have admin role of the cluster." + }, + "clientAppID": { + "type": "string", + "description": "The client AAD application ID." + }, + "serverAppID": { + "type": "string", + "description": "The server AAD application ID." + }, + "serverAppSecret": { + "type": "string", + "description": "The server AAD application secret." + }, + "tenantID": { + "type": "string", + "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." + }, + "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", + "description": "The name of the pod identity." + }, + "namespace": { + "type": "string", + "description": "The namespace of the pod identity." + }, + "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": [ + "Assigned", + "Updating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "ManagedClusterPodIdentityProvisioningState", + "modelAsString": true + } + }, + "provisioningInfo": { + "readOnly": true, + "properties": { + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError", + "description": "Pod identity assignment error (if any)." + } + } + } + }, + "required": [ + "name", + "namespace", + "identity" + ], + "description": "Details about the pod identity assigned to the Managed Cluster." + }, + "ManagedClusterPodIdentityProvisioningError": { + "type": "object", + "properties": { + "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." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "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/ManagedClusterPodIdentityProvisioningErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the pod identity provisioning." + }, + "ManagedClusterPodIdentityException": { + "properties": { + "name": { + "type": "string", + "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" + } + } + }, + "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." + }, + "ManagedClusterPodIdentityProfile": { + "properties": { + "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/ManagedClusterPodIdentity" + } + }, + "userAssignedIdentityExceptions": { + "description": "The pod identity exceptions to allow.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentityException" + } + } + }, + "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." + }, + "ManagedClusterUpgradeProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "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": [ + "properties" + ], + "description": "The list of available upgrades for compute pools." + }, + "AgentPoolUpgradeProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the agent pool upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "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 + } + }, + "required": [ + "properties" + ], + "description": "The list of available upgrades for an agent pool." + }, + "AgentPoolUpgradeProfileProperties": { + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "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." + }, + "latestNodeImageVersion": { + "type": "string", + "description": "The latest AKS supported node image version." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "AgentPoolAvailableVersions": { + "properties": { + "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 + } + }, + "required": [ + "properties" + ], + "description": "The list of available versions for an agent pool." + }, + "AgentPoolAvailableVersionsProperties": { + "properties": { + "agentPoolVersions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "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": "The list credential result response." + }, + "CredentialResult": { + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the credential." + }, + "value": { + "type": "string", + "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": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "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": "A list of additional details about the error." + } + }, + "description": "An error response from the Container service." + }, + "ManagedClusterSKU": { + "properties": { + "name": { + "type": "string", + "description": "The name of a managed cluster SKU.", + "enum": [ + "Basic" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "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." + }, + { + "value": "Free", + "description": "No guaranteed SLA, no additional charges. Free tier clusters have an SLO of 99.5%." + } + ] + } + } + }, + "description": "The SKU of a Managed Cluster." + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "description": "A list of private endpoint connections", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the private endpoint connection." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the private endpoint connection.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true + } + }, + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": "Properties of a private endpoint connection.", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "type": "object", + "description": "Private endpoint which a connection belongs to.", + "properties": { + "id": { + "description": "The resource ID of the private endpoint", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The state of a private link service connection.", + "type": "object", + "properties": { + "status": { + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "description": "The private link service connection status.", + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "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" + } + } + } + }, + "PrivateLinkResource": { + "description": "A private link resource", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID of the private link resource." + }, + "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": { + "type": "string" + }, + "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." + } + ] + }, + "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" + ], + "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." + }, + "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": { + "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", + "title": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits.", + "description": "The default is true." + }, + "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": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`)." + }, + "failSwapOn": { + "type": "boolean", + "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node." + }, + "containerLogMaxSizeMB": { + "type": "integer", + "format": "int32", + "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated." + }, + "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", + "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)." + }, + "transparentHugePageDefrag": { + "type": "string", + "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." + } + } + }, + "SysctlConfig": { + "description": "Sysctl settings for Linux agent nodes.", + "type": "object", + "properties": { + "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": "Sysctl setting net.ipv4.tcp_tw_reuse." + }, + "netIpv4IpLocalPortRange": { + "type": "string", + "description": "Sysctl setting net.ipv4.ip_local_port_range." + }, + "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." + } + } + }, + "ManagedClusterHTTPProxyConfig": { + "description": "Cluster HTTP proxy configuration.", + "type": "object", + "properties": { + "httpProxy": { + "type": "string", + "description": "The HTTP proxy server endpoint to use." + }, + "httpsProxy": { + "type": "string", + "description": "The HTTPS proxy server endpoint to use." + }, + "noProxy": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The endpoints that should not go through proxy." + }, + "trustedCa": { + "type": "string", + "description": "Alternative CA cert to use for connecting to proxy servers." + } + } + }, + "GPUInstanceProfile": { + "type": "string", + "enum": [ + "MIG1g", + "MIG2g", + "MIG3g", + "MIG4g", + "MIG7g" + ], + "x-ms-enum": { + "name": "GPUInstanceProfile ", + "modelAsString": true + }, + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + }, + "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." + } + } + }, + "OSOptionProperty": { + "properties": { + "os-type": { + "type": "string", + "description": "The OS type." + }, + "enable-fips-image": { + "type": "boolean", + "description": "Whether the image is FIPS-enabled." + } + }, + "required": [ + "os-type", + "enable-fips-image" + ], + "description": "OS option property." + }, + "OSOptionPropertyList": { + "properties": { + "osOptionPropertyList": { + "type": "array", + "items": { + "$ref": "#/definitions/OSOptionProperty" + }, + "description": "The list of OS options." + } + }, + "required": [ + "osOptionPropertyList" + ], + "description": "The list of OS option properties." + }, + "OSOptionProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the OS option resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the OS option resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the OS option resource." + }, + "properties": { + "$ref": "#/definitions/OSOptionPropertyList", + "description": "The list of OS options.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The OS option profile." + }, + "EndpointDependency": { + "description": "A domain name that AKS agent nodes are reaching at.", + "type": "object", + "properties": { + "domainName": { + "description": "The domain name of the dependency.", + "type": "string" + }, + "endpointDetails": { + "description": "The Ports and Protocols used when connecting to domainName.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDetail" + } + } + } + }, + "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" + } + } + }, + "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" + ], + "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": "Security profile for the container service cluster." + }, + "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": "Azure Defender settings for the security profile." + }, + "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." + } + } + }, + "SnapshotListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Snapshot" + }, + "description": "The list of snapshots." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of snapshot results.", + "readOnly": true + } + }, + "description": "The response from the List Snapshots operation." + }, + "Snapshot": { + "type": "object", + "properties": { + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true, + "description": "The system metadata relating to this snapshot." + }, + "properties": { + "description": "Properties of a snapshot.", + "$ref": "#/definitions/SnapshotProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "A node pool snapshot resource." + }, + "SnapshotProperties": { + "type": "object", + "properties": { + "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": "The version of Kubernetes." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "The version of node image." + }, + "osType": { + "readOnly": true, + "$ref": "#/definitions/OSType" + }, + "osSku": { + "readOnly": true, + "$ref": "#/definitions/OSSKU" + }, + "vmSize": { + "readOnly": true, + "type": "string", + "description": "The size of the VM." + }, + "enableFIPS": { + "readOnly": true, + "type": "boolean", + "description": "Whether to use a FIPS-enabled OS." + } + }, + "description": "Properties used to configure a node pool snapshot." + }, + "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": { + "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.", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version.", + "x-ms-parameter-location": "client" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "ResourceNameParameter": { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "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" + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_CustomNodeConfig.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_CustomNodeConfig.json new file mode 100644 index 000000000000..7b1e1d76f9fe --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_CustomNodeConfig.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json new file mode 100644 index 000000000000..c33a61fee37d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_EnableFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_EnableFIPS.json new file mode 100644 index 000000000000..0147b500eecf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_EnableFIPS.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableFIPS": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_EnableUltraSSD.json new file mode 100644 index 000000000000..3f49a5773f54 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_EnableUltraSSD.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableUltraSSD": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableUltraSSD": true + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableUltraSSD": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Ephemeral.json new file mode 100644 index 000000000000..f12e61113167 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Ephemeral.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskType": "Ephemeral", + "osDiskSizeGB": 64 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskType": "Ephemeral", + "osDiskSizeGB": 64 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskType": "Ephemeral", + "kubeletDiskType": "OS", + "osDiskSizeGB": 64 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_GPUMIG.json new file mode 100644 index 000000000000..2dc36794fa5a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_GPUMIG.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_OSSKU.json new file mode 100644 index 000000000000..3a111b6c4709 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_OSSKU.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osSKU": "CBLMariner", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_PPG.json new file mode 100644 index 000000000000..cd8078a19f2e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_PPG.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Snapshot.json new file mode 100644 index 000000000000..d0ed774167c4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Snapshot.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Spot.json new file mode 100644 index 000000000000..f86ffd7f57b1 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Spot.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Update.json new file mode 100644 index 000000000000..39a06eb4fee7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Update.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_WasmWasi.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_WasmWasi.json new file mode 100644 index 000000000000..824453c2846e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_WasmWasi.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsDelete.json new file mode 100644 index 000000000000..ed71561871e7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsGet.json new file mode 100644 index 000000000000..bd4066a2285f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json new file mode 100644 index 000000000000..879b58f684cf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions", + "name": "default", + "properties": { + "agentPoolVersions": [ + { + "kubernetesVersion": "1.12.7" + }, + { + "kubernetesVersion": "1.12.8" + }, + { + "default": true, + "kubernetesVersion": "1.13.5", + "isPreview": true + } + ] + }, + "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsGetUpgradeProfile.json new file mode 100644 index 000000000000..320ff9052abc --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsGetUpgradeProfile.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default", + "name": "default", + "properties": { + "kubernetesVersion": "1.12.8", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.13.5" + } + ], + "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11" + }, + "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsList.json new file mode 100644 index 000000000000..d63fc87e64d8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsUpgradeNodeImageVersion.json new file mode 100644 index 000000000000..6c9ca555df87 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsUpgradeNodeImageVersion.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.ContainerService/locations/westus/operations/00000000-0000-0000-0000-000000000000?api-version=2018-07-31" + }, + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "UpgradingNodeImageVersion", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu-1604-2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPools_Start.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPools_Start.json new file mode 100644 index 000000000000..77e67a779442 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPools_Start.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "powerState": { + "code": "Running" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Starting", + "count": 50, + "enableAutoScaling": true, + "minCount": 3, + "maxCount": 55, + "powerState": { + "code": "Running" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Starting", + "count": 50, + "enableAutoScaling": true, + "minCount": 3, + "maxCount": 55, + "powerState": { + "code": "Running" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPools_Stop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPools_Stop.json new file mode 100644 index 000000000000..a93fd173160a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPools_Stop.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "powerState": { + "code": "Stopped" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Stopping", + "count": 0, + "enableAutoScaling": false, + "minCount": null, + "maxCount": null, + "powerState": { + "code": "Stopped" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Stopping", + "count": 0, + "enableAutoScaling": false, + "minCount": null, + "maxCount": null, + "powerState": { + "code": "Stopped" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPools_Update.json new file mode 100644 index 000000000000..5b9a6fa36127 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPools_Update.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "enableAutoScaling": true, + "minCount": 2, + "maxCount": 2, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "count": 3, + "enableAutoScaling": true, + "minCount": 2, + "maxCount": 2, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Updating", + "orchestratorVersion": "1.9.6", + "count": 3, + "enableAutoScaling": true, + "minCount": 2, + "maxCount": 2, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ContainerServiceGetOSOptions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ContainerServiceGetOSOptions.json new file mode 100644 index 000000000000..8fcfa7a52a44 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ContainerServiceGetOSOptions.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "location": "location1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/locations/location1/osOptions/default", + "name": "default", + "type": "Microsoft.ContainerService/locations/osOptions", + "properties": { + "osOptionPropertyList": [ + { + "os-type": "Linux", + "enable-fips-image": false + }, + { + "os-type": "Windows", + "enable-fips-image": false + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsCreate_Update.json new file mode 100644 index 000000000000..6b5c64e6a43f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsCreate_Update.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default", + "parameters": { + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations", + "name": "default", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsDelete.json new file mode 100644 index 000000000000..78fd53edab5b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsGet.json new file mode 100644 index 000000000000..dc23f5ffd756 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "name": "default", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsList.json new file mode 100644 index 000000000000..87bd51ec9be5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "name": "default", + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_DisableRunCommand.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_DisableRunCommand.json new file mode 100644 index 000000000000..2ba5654dac6a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_DisableRunCommand.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "addonProfiles": {}, + "enableRBAC": true, + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_DualStackNetworking.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_DualStackNetworking.json new file mode 100644 index 000000000000..73da212235a4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_DualStackNetworking.json @@ -0,0 +1,321 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "ipFamilies": [ + "IPv4", + "IPv6" + ] + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ], + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" + } + ] + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ], + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json new file mode 100644 index 000000000000..11a75bbe5072 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_EnableUltraSSD.json new file mode 100644 index 000000000000..988b683c881d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_EnableUltraSSD.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableUltraSSD": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableUltraSSD": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableUltraSSD": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_EnabledFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_EnabledFIPS.json new file mode 100644 index 000000000000..31f35f54c2d6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_EnabledFIPS.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableFIPS": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_GPUMIG.json new file mode 100644 index 000000000000..89c33e8d50cb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_GPUMIG.json @@ -0,0 +1,281 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_HTTPProxy.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_HTTPProxy.json new file mode 100644 index 000000000000..a05dfcc21d14 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_HTTPProxy.json @@ -0,0 +1,278 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_ManagedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_ManagedNATGateway.json new file mode 100644 index 000000000000..b6f79ad16563 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_ManagedNATGateway.json @@ -0,0 +1,231 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "managedNATGateway", + "natGatewayProfile": { + "managedOutboundIPProfile": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "managedNATGateway", + "natGatewayProfile": { + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "managedNATGateway", + "natGatewayProfile": { + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json new file mode 100644 index 000000000000..fd97c4ff6946 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_OSSKU.json new file mode 100644 index 000000000000..d7f65421539d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_OSSKU.json @@ -0,0 +1,281 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osSKU": "CBLMariner", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PPG.json new file mode 100644 index 000000000000..055641b73cf0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PPG.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PodIdentity.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PodIdentity.json new file mode 100644 index 000000000000..0c8a0cfbe7d7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PodIdentity.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": true + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": true + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": true + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json new file mode 100644 index 000000000000..5c1586947857 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json @@ -0,0 +1,264 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "addonProfiles": {}, + "enableRBAC": true, + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json new file mode 100644 index 000000000000..b15fbcad32c4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json @@ -0,0 +1,268 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true + }, + "addonProfiles": {}, + "enableRBAC": true, + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_SecurityProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_SecurityProfile.json new file mode 100644 index 000000000000..db4a17c6b1ba --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_SecurityProfile.json @@ -0,0 +1,245 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "securityProfile": { + "azureDefender": { + "enabled": true, + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "securityProfile": { + "azureDefender": { + "enabled": true, + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "securityProfile": { + "azureDefender": { + "enabled": true, + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_Snapshot.json new file mode 100644 index 000000000000..cac858b75a03 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_Snapshot.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_Update.json new file mode 100644 index 000000000000..695afba83b14 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_Update.json @@ -0,0 +1,303 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json new file mode 100644 index 000000000000..22ce63870d4f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json @@ -0,0 +1,299 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$", + "gmsaProfile": { + "enabled": true + } + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UpdateWithAHUB.json new file mode 100644 index 000000000000..835f8fe92ddc --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UpdateWithAHUB.json @@ -0,0 +1,293 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json new file mode 100644 index 000000000000..d16135d687e1 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json @@ -0,0 +1,282 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "aadProfile": { + "managed": true, + "enableAzureRBAC": true + }, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json new file mode 100644 index 000000000000..91840aa314bd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json @@ -0,0 +1,198 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersDelete.json new file mode 100644 index 000000000000..4cf574fcfea2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersGet.json new file mode 100644 index 000000000000..a8577fc2e834 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersGet.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "azurePortalFQDN": "dnsprefix1-abcd1234.portal.hcp.eastus.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "availabilityZones": [ + "1", + "2", + "3" + ], + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "outboundIPs": { + "publicIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2" + } + ] + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersGetAccessProfile.json new file mode 100644 index 000000000000..788b1db431cd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersGetAccessProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "roleName": "clusterUser" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser", + "location": "location1", + "name": "clusterUser", + "properties": { + "kubeConfig": "kubeConfig1" + }, + "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersGetUpgradeProfile.json new file mode 100644 index 000000000000..64f931a64b19 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersGetUpgradeProfile.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default", + "name": "default", + "properties": { + "agentPoolProfiles": [ + { + "kubernetesVersion": "1.7.7", + "name": "agent", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.7.9" + }, + { + "kubernetesVersion": "1.7.11", + "isPreview": true + } + ] + } + ], + "controlPlaneProfile": { + "kubernetesVersion": "1.7.7", + "name": "master", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.7.9", + "isPreview": true + }, + { + "kubernetesVersion": "1.7.11" + } + ] + } + }, + "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersList.json new file mode 100644 index 000000000000..f3f6f3f2246f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/managedClusters", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "maxAgentPools": 1, + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16" + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersListByResourceGroup.json new file mode 100644 index 000000000000..2fa02ef6dbfc --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersListByResourceGroup.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "maxAgentPools": 1, + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16" + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersListClusterCredentialResult.json new file mode 100644 index 000000000000..a653488b6380 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersListClusterCredentialResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "credentialValue1" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersResetAADProfile.json new file mode 100644 index 000000000000..72a4d8dd28d1 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersResetAADProfile.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "clientAppID": "clientappid", + "serverAppID": "serverappid", + "serverAppSecret": "serverappsecret", + "tenantID": "tenantid" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersResetServicePrincipalProfile.json new file mode 100644 index 000000000000..1feb08cd1873 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersResetServicePrincipalProfile.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "clientId": "clientid", + "secret": "secret" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersRotateClusterCertificates.json new file mode 100644 index 000000000000..4cf574fcfea2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersRotateClusterCertificates.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersStart.json new file mode 100644 index 000000000000..4cf574fcfea2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersStop.json new file mode 100644 index 000000000000..4cf574fcfea2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersUpdateTags.json new file mode 100644 index 000000000000..e6d72083443d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersUpdateTags.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "tags": { + "tier": "testing", + "archv3": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv3": "", + "tier": "testing" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/Operation_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/Operation_List.json new file mode 100644 index 000000000000..e65d77a80f0d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/Operation_List.json @@ -0,0 +1,3583 @@ +{ + "parameters": { + "api-version": "2018-10-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "display": { + "description": "Gets the status of an asynchronous operation", + "operation": "Get Operation", + "provider": "Microsoft Container Service", + "resource": "Operation" + }, + "name": "Microsoft.ContainerService/locations/operations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Lists the supported orchestrators", + "operation": "List Orchestrators", + "provider": "Microsoft Container Service", + "resource": "Orchestrator" + }, + "name": "Microsoft.ContainerService/locations/orchestrators/read", + "origin": "user,system" + }, + { + "display": { + "description": "Gets OS options", + "operation": "Get OS Options", + "provider": "Microsoft Container Service", + "resource": "OSOptions" + }, + "name": "Microsoft.ContainerService/locations/osOptions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Lists operations available on Microsoft.ContainerService resource provider", + "operation": "List Available Container Service Operations", + "provider": "Microsoft Container Service", + "resource": "Available Container Service Operations" + }, + "name": "Microsoft.ContainerService/operations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Registers Subscription with Microsoft.ContainerService resource provider", + "operation": "Register Subscription for Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Service Register Subscription" + }, + "name": "Microsoft.ContainerService/register/action", + "origin": "user,system" + }, + { + "display": { + "description": "Unregisters Subscription with Microsoft.ContainerService resource provider", + "operation": "Unregister Subscription for Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Service Unregister Subscription" + }, + "name": "Microsoft.ContainerService/unregister/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the status of an asynchronous operation result", + "operation": "Get Operation Result", + "provider": "Microsoft Container Service", + "resource": "OperationResult" + }, + "name": "Microsoft.ContainerService/locations/operationresults/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a container service", + "operation": "Get Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new container service or updates an existing one", + "operation": "Create or Update Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a container service", + "operation": "Delete Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster", + "operation": "Get Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new managed cluster or updates an existing one", + "operation": "Create or Update Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a managed cluster", + "operation": "Delete Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Starts a managed cluster", + "operation": "Start Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/start/action", + "origin": "user,system" + }, + { + "display": { + "description": "Stops a managed cluster", + "operation": "Stop Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/stop/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets a maintenance configuration", + "operation": "Get a maintenance configuration", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new MaintenanceConfiguration or updates an existing one", + "operation": "Create or Update maintenance configuratio", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a maintenance configuration", + "operation": "Delete Maintenance Configuration", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets an agent pool", + "operation": "Get Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new agent pool or updates an existing one", + "operation": "Create or Update Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes an agent pool", + "operation": "Delete Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the upgrade profile of the Agent Pool", + "operation": "Get Agent Pool UpgradeProfile", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Upgrade the node image version of agent pool", + "operation": "Upgrade agent pool node image version", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/write", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the available agent pool versions of the cluster", + "operation": "Get Available Agent Pool Versions", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/availableAgentPoolVersions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster access profile by role name", + "operation": "Get Managed Cluster AccessProfile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster access profile by role name using list credential", + "operation": "Get Managed Cluster AccessProfile by List Credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the upgrade profile of the cluster", + "operation": "Get UpgradeProfile", + "provider": "Microsoft Container Service", + "resource": "UpgradeProfile" + }, + "name": "Microsoft.ContainerService/managedClusters/upgradeProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterAdmin credential of a managed cluster", + "operation": "List clusterAdmin credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterUser credential of a managed cluster", + "operation": "List clusterUser credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterUserCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterMonitoringUser credential of a managed cluster", + "operation": "List clusterMonitoringUser credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterMonitoringUserCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reset the service principal profile of a managed cluster", + "operation": "Reset service principal profile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resetServicePrincipalProfile/action", + "origin": "user,system" + }, + { + "display": { + "description": "Resolve the private link service id of a managed cluster", + "operation": "Resolve private link service id", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resolvePrivateLinkServiceId/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reset the AAD profile of a managed cluster", + "operation": "Reset AAD profile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resetAADProfile/action", + "origin": "user,system" + }, + { + "display": { + "description": "Rotate certificates of a managed cluster", + "operation": "Rotate certificates of the cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/rotateClusterCertificates/action", + "origin": "user,system" + }, + { + "display": { + "description": "Run user issued command against managed kubernetes server.", + "operation": "RunCommand", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/runCommand/action", + "origin": "user,system" + }, + { + "display": { + "description": "Retrieve result from previous issued command.", + "operation": "CommandResult", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/commandResults/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get the diagnostic setting for a managed cluster resource", + "operation": "Read Diagnostic Setting", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/read", + "origin": "system" + }, + { + "display": { + "description": "Creates or updates the diagnostic setting for a managed cluster resource", + "operation": "Write Diagnostic Setting", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/write", + "origin": "system" + }, + { + "display": { + "description": "Get Managed Cluster Detector", + "operation": "Get Managed Cluster Detector", + "provider": "Microsoft Container Service", + "resource": "Managed Cluster Detector" + }, + "name": "Microsoft.ContainerService/managedClusters/detectors/read", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the diagnostics state of the cluster", + "operation": "Get Diagnostics State", + "provider": "Microsoft Container Service", + "resource": "Diagnostics State" + }, + "name": "Microsoft.ContainerService/managedClusters/diagnosticsState/read", + "origin": "user,system" + }, + { + "display": { + "description": "Determines if user is allowed to approve a private endpoint connection", + "operation": "Approve Private Endpoint Connections", + "provider": "Microsoft Container Service", + "resource": "Approve Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnectionsApproval/action", + "origin": "user,system" + }, + { + "display": { + "description": "Get private endpoint connection", + "operation": "Get private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/read", + "origin": "user,system" + }, + { + "display": { + "description": "Approve or Reject a private endpoint connection", + "operation": "Update private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete private endpoint connection", + "operation": "Delete private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets an extension addon", + "operation": "Get an extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/read", + "origin": "system" + }, + { + "display": { + "description": "Creates a new extension addon or updates an existing one", + "operation": "Create or Update extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/write", + "origin": "system" + }, + { + "display": { + "description": "Deletes an extension addon", + "operation": "Delete an extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/delete", + "origin": "system" + }, + { + "display": { + "description": "Get a snapshot", + "operation": "Get Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new snapshot", + "operation": "Create Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a snapshot", + "operation": "Delete Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get eventgrid filter", + "operation": "Get eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/read", + "origin": "system" + }, + { + "display": { + "description": "Create or Update eventgrid filter", + "operation": "Create or Update eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/write", + "origin": "system" + }, + { + "display": { + "description": "Delete an eventgrid filter", + "operation": "Delete an eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/delete", + "origin": "system" + }, + { + "display": { + "description": "Reads initializerconfigurations", + "operation": "Gets/List initializerconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes initializerconfigurations", + "operation": "Creates/Updates initializerconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes/DeletesCollection initializerconfigurations resource", + "operation": "Initializerconfigurations", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads mutatingwebhookconfigurations", + "operation": "Gets/List mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes mutatingwebhookconfigurations", + "operation": "Creates/Updates mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes mutatingwebhookconfigurations", + "operation": "Deletes/DeletesCollection mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads validatingwebhookconfigurations", + "operation": "Gets/List validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes validatingwebhookconfigurations", + "operation": "Creates/Updates validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes validatingwebhookconfigurations", + "operation": "Deletes/DeletesCollection validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads customresourcedefinitions", + "operation": "Gets/List customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes customresourcedefinitions", + "operation": "Creates/Updates customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes customresourcedefinitions", + "operation": "Deletes/DeletesCollection customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservices", + "operation": "Gets/List apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes apiservices", + "operation": "Creates/Updates apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes apiservices", + "operation": "Deletes/DeletesCollection apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads controllerrevisions", + "operation": "Gets/List controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes controllerrevisions", + "operation": "Creates/Updates controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes controllerrevisions", + "operation": "Deletes/DeletesCollection controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads daemonsets", + "operation": "Gets/List daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes daemonsets", + "operation": "Creates/Updates daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes daemonsets", + "operation": "Deletes/DeletesCollection daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads deployments", + "operation": "Gets/List deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes deployments", + "operation": "Creates/Updates deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes deployments", + "operation": "Deletes/DeletesCollection deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicasets", + "operation": "Gets/List replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicasets", + "operation": "Creates/Updates replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicasets", + "operation": "Deletes/DeletesCollection replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads statefulsets", + "operation": "Gets/List statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes statefulsets", + "operation": "Creates/Updates statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes statefulsets", + "operation": "Deletes/DeletesCollection statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Writes tokenreviews", + "operation": "Creates/Updates tokenreviews resource", + "provider": "Microsoft Container Service", + "resource": "Tokenreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/tokenreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes localsubjectaccessreviews", + "operation": "Creates/Updates localsubjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Localsubjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/localsubjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes selfsubjectaccessreviews", + "operation": "Creates/Updates selfsubjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Selfsubjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes selfsubjectrulesreviews", + "operation": "Creates/Updates selfsubjectrulesreviews resource", + "provider": "Microsoft Container Service", + "resource": "Selfsubjectrulesreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectrulesreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes subjectaccessreviews", + "operation": "Creates/Updates subjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Subjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/subjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Reads horizontalpodautoscalers", + "operation": "Gets/List horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes horizontalpodautoscalers", + "operation": "Creates/Updates horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes horizontalpodautoscalers", + "operation": "Deletes/DeletesCollection horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads cronjobs", + "operation": "Gets/List cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes cronjobs", + "operation": "Creates/Updates cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes cronjobs", + "operation": "Deletes/DeletesCollection cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads jobs", + "operation": "Gets/List jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes jobs", + "operation": "Creates/Updates jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes jobs", + "operation": "Deletes/DeletesCollection jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificatesigningrequests", + "operation": "Gets/List certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes certificatesigningrequests", + "operation": "Creates/Updates certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes certificatesigningrequests", + "operation": "Deletes/DeletesCollection certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads leases", + "operation": "Gets/List leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes leases", + "operation": "Creates/Updates leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes leases", + "operation": "Deletes/DeletesCollection leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Writes bindings", + "operation": "Creates/Updates bindings resource", + "provider": "Microsoft Container Service", + "resource": "Bindings" + }, + "name": "Microsoft.ContainerService/managedClusters/bindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Reads componentstatuses", + "operation": "Gets/List componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes componentstatuses", + "operation": "Creates/Updates componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes componentstatuses", + "operation": "Deletes/DeletesCollection componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads configmaps", + "operation": "Gets/List configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes configmaps", + "operation": "Creates/Updates configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes configmaps", + "operation": "Deletes/DeletesCollection configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads endpoints", + "operation": "Gets/List endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes endpoints", + "operation": "Creates/Updates endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes endpoints", + "operation": "Deletes/DeletesCollection endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events", + "operation": "Gets/List events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes events", + "operation": "Creates/Updates events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes events", + "operation": "Deletes/DeletesCollection events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads limitranges", + "operation": "Gets/List limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes limitranges", + "operation": "Creates/Updates limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes limitranges", + "operation": "Deletes/DeletesCollection limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads namespaces", + "operation": "Gets/List namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes namespaces", + "operation": "Creates/Updates namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes namespaces", + "operation": "Deletes/DeletesCollection namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads nodes", + "operation": "Gets/List nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes nodes", + "operation": "Creates/Updates nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes nodes", + "operation": "Deletes/DeletesCollection nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads persistentvolumeclaims", + "operation": "Gets/List persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes persistentvolumeclaims", + "operation": "Creates/Updates persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes persistentvolumeclaims", + "operation": "Deletes/DeletesCollection persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads persistentvolumes", + "operation": "Gets/List persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes persistentvolumes", + "operation": "Creates/Updates persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes persistentvolumes", + "operation": "Deletes/DeletesCollection persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads pods", + "operation": "Gets/List pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes pods", + "operation": "Creates/Updates pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes pods", + "operation": "Deletes/DeletesCollection pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Exec into pods resource", + "operation": "Exec into pods resource ", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/exec/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podtemplates", + "operation": "Gets/List podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podtemplates", + "operation": "Creates/Updates podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podtemplates", + "operation": "Deletes/DeletesCollection podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicationcontrollers", + "operation": "Gets/List replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicationcontrollers", + "operation": "Creates/Updates replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicationcontrollers", + "operation": "Deletes/DeletesCollection replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads resourcequotas", + "operation": "Gets/List resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes resourcequotas", + "operation": "Creates/Updates resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes resourcequotas", + "operation": "Deletes/DeletesCollection resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads secrets", + "operation": "Gets/List secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes secrets", + "operation": "Creates/Updates secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes secrets", + "operation": "Deletes/DeletesCollection secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads serviceaccounts", + "operation": "Gets/List serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes serviceaccounts", + "operation": "Creates/Updates serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes serviceaccounts", + "operation": "Deletes/DeletesCollection serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads services", + "operation": "Gets/List services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes services", + "operation": "Creates/Updates services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes services", + "operation": "Deletes/DeletesCollection services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events", + "operation": "Gets/List events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes events", + "operation": "Creates/Updates events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes events", + "operation": "Deletes/DeletesCollection events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads daemonsets", + "operation": "Gets/List daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes daemonsets", + "operation": "Creates/Updates daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes daemonsets", + "operation": "Deletes/DeletesCollection daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads deployments", + "operation": "Gets/List deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes deployments", + "operation": "Creates/Updates deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes deployments", + "operation": "Deletes/DeletesCollection deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ingresses", + "operation": "Gets/List ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes ingresses", + "operation": "Creates/Updates ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes ingresses", + "operation": "Deletes/DeletesCollection ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networkpolicies", + "operation": "Gets/List networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes networkpolicies", + "operation": "Creates/Updates networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes networkpolicies", + "operation": "Deletes/DeletesCollection networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podsecuritypolicies", + "operation": "Gets/List podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podsecuritypolicies", + "operation": "Creates/Updates podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podsecuritypolicies", + "operation": "Deletes/DeletesCollection podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicasets", + "operation": "Gets/List replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicasets", + "operation": "Creates/Updates replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicasets", + "operation": "Deletes/DeletesCollection replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads pods", + "operation": "Gets/List pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/pods/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads nodes", + "operation": "Gets/List nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/nodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networkpolicies", + "operation": "Gets/List networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes networkpolicies", + "operation": "Creates/Updates networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes networkpolicies", + "operation": "Deletes/DeletesCollection networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ingresses", + "operation": "Gets/List ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes ingresses", + "operation": "Creates/Updates ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes ingresses", + "operation": "Deletes/DeletesCollection ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads runtimeclasses", + "operation": "Gets/List runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes runtimeclasses", + "operation": "Creates/Updates runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes runtimeclasses", + "operation": "Deletes/DeletesCollection runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads api", + "operation": "Gets/List api resource", + "provider": "Microsoft Container Service", + "resource": "Api" + }, + "name": "Microsoft.ContainerService/managedClusters/api/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads api/v1", + "operation": "Gets/List api/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Api/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/api/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apis", + "operation": "Gets/List apis resource", + "provider": "Microsoft Container Service", + "resource": "Apis" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io", + "operation": "Gets/List admissionregistration.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io/v1", + "operation": "Gets/List admissionregistration.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io/v1beta1", + "operation": "Gets/List admissionregistration.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io", + "operation": "Gets/List apiextensions.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io/v1", + "operation": "Gets/List apiextensions.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io/v1beta1", + "operation": "Gets/List apiextensions.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io", + "operation": "Gets/List apiregistration.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io/v1", + "operation": "Gets/List apiregistration.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io/v1beta1", + "operation": "Gets/List apiregistration.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps", + "operation": "Gets/List apps resource", + "provider": "Microsoft Container Service", + "resource": "Apps" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1", + "operation": "Gets/List apps/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1beta1", + "operation": "Gets/List apps/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1beta2", + "operation": "Gets/List apps/v1beta2 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1beta2" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io", + "operation": "Gets/List authentication.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io/v1", + "operation": "Gets/List authentication.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io/v1beta1", + "operation": "Gets/List authentication.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io", + "operation": "Gets/List authorization.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io/v1", + "operation": "Gets/List authorization.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io/v1beta1", + "operation": "Gets/List authorization.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling", + "operation": "Gets/List autoscaling resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v1", + "operation": "Gets/List autoscaling/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v2beta1", + "operation": "Gets/List autoscaling/v2beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V2beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v2beta2", + "operation": "Gets/List autoscaling/v2beta2 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V2beta2" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch", + "operation": "Gets/List batch resource", + "provider": "Microsoft Container Service", + "resource": "Batch" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch/v1", + "operation": "Gets/List batch/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Batch/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch/v1beta1", + "operation": "Gets/List batch/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Batch/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificates.k8s.io", + "operation": "Gets/List certificates.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Certificates.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificates.k8s.io/v1beta1", + "operation": "Gets/List certificates.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Certificates.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination.k8s.io", + "operation": "Gets/List coordination.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination/v1", + "operation": "Gets/List coordination/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination.k8s.io/v1beta1", + "operation": "Gets/List coordination.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events.k8s.io", + "operation": "Gets/List events.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Events.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events.k8s.io/v1beta1", + "operation": "Gets/List events.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Events.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads extensions", + "operation": "Gets/List extensions resource", + "provider": "Microsoft Container Service", + "resource": "Extensions" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads extensions/v1beta1", + "operation": "Gets/List extensions/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Extensions/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics.k8s.io", + "operation": "Gets/List metrics.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Metrics.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics.k8s.io/v1beta1", + "operation": "Gets/List metrics.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Metrics.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking.k8s.io", + "operation": "Gets/List networking.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking/v1", + "operation": "Gets/List networking/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking.k8s.io/v1beta1", + "operation": "Gets/List networking.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads node.k8s.io", + "operation": "Gets/List node.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Node.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads node.k8s.io/v1beta1", + "operation": "Gets/List node.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Node.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads policy", + "operation": "Gets/List policy resource", + "provider": "Microsoft Container Service", + "resource": "Policy" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/policy/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads policy/v1beta1", + "operation": "Gets/List policy/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Policy/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/policy/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization.k8s.io", + "operation": "Gets/List rbac.authorization.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization/v1", + "operation": "Gets/List rbac.authorization/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization.k8s.io/v1beta1", + "operation": "Gets/List rbac.authorization.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling.k8s.io", + "operation": "Gets/List scheduling.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling/v1", + "operation": "Gets/List scheduling/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling.k8s.io/v1beta1", + "operation": "Gets/List scheduling.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage.k8s.io", + "operation": "Gets/List storage.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage/v1", + "operation": "Gets/List storage/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage.k8s.io/v1beta1", + "operation": "Gets/List storage.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads healthz", + "operation": "Gets/List healthz resource", + "provider": "Microsoft Container Service", + "resource": "Healthz" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads livez", + "operation": "Gets/List livez resource", + "provider": "Microsoft Container Service", + "resource": "Livez" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads logs", + "operation": "Gets/List logs resource", + "provider": "Microsoft Container Service", + "resource": "Logs" + }, + "name": "Microsoft.ContainerService/managedClusters/logs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics", + "operation": "Gets/List metrics resource", + "provider": "Microsoft Container Service", + "resource": "Metrics" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads v2", + "operation": "Gets/List v2 resource", + "provider": "Microsoft Container Service", + "resource": "Openapi/V2" + }, + "name": "Microsoft.ContainerService/managedClusters/openapi/v2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads readyz", + "operation": "Gets/List readyz resource", + "provider": "Microsoft Container Service", + "resource": "Readyz" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads shutdown", + "operation": "Gets/List shutdown resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Shutdown" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/shutdown/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads resetMetrics", + "operation": "Gets/List resetMetrics resource", + "provider": "Microsoft Container Service", + "resource": "Resetmetrics" + }, + "name": "Microsoft.ContainerService/managedClusters/resetMetrics/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads swagger-ui", + "operation": "Gets/List swagger-ui resource", + "provider": "Microsoft Container Service", + "resource": "Swagger-Ui" + }, + "name": "Microsoft.ContainerService/managedClusters/swagger-ui/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads swagger-api", + "operation": "Gets/List swagger-api resource", + "provider": "Microsoft Container Service", + "resource": "Swagger-Api" + }, + "name": "Microsoft.ContainerService/managedClusters/swagger-api/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ui", + "operation": "Gets/List ui resource", + "provider": "Microsoft Container Service", + "resource": "Ui" + }, + "name": "Microsoft.ContainerService/managedClusters/ui/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads version", + "operation": "Gets/List version resource", + "provider": "Microsoft Container Service", + "resource": "Version" + }, + "name": "Microsoft.ContainerService/managedClusters/version/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads poddisruptionbudgets", + "operation": "Gets/List poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes poddisruptionbudgets", + "operation": "Creates/Updates poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes poddisruptionbudgets", + "operation": "Deletes/DeletesCollection poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podsecuritypolicies", + "operation": "Gets/List podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podsecuritypolicies", + "operation": "Creates/Updates podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podsecuritypolicies", + "operation": "Deletes/DeletesCollection podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads clusterrolebindings", + "operation": "Gets/List clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes clusterrolebindings", + "operation": "Creates/Updates clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes clusterrolebindings", + "operation": "Deletes/DeletesCollection clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads clusterroles", + "operation": "Gets/List clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes clusterroles", + "operation": "Creates/Updates clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes clusterroles", + "operation": "Deletes/DeletesCollection clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rolebindings", + "operation": "Gets/List rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes rolebindings", + "operation": "Creates/Updates rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes rolebindings", + "operation": "Deletes/DeletesCollection rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads roles", + "operation": "Gets/List roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes roles", + "operation": "Creates/Updates roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes roles", + "operation": "Deletes/DeletesCollection roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads priorityclasses", + "operation": "Gets/List priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes priorityclasses", + "operation": "Creates/Updates priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes priorityclasses", + "operation": "Deletes/DeletesCollection priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Use action on podsecuritypolicies", + "operation": "Use podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/use/action", + "origin": "user,system" + }, + { + "display": { + "description": "Binds clusterroles", + "operation": "Bind clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/bind/action", + "origin": "user,system" + }, + { + "display": { + "description": "Escalates", + "operation": "Escalate clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/escalate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Binds roles", + "operation": "Bind roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/bind/action", + "origin": "user,system" + }, + { + "display": { + "description": "Escalates roles", + "operation": "Escalate roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/escalate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate serviceaccounts", + "operation": "Impersonate serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate users", + "operation": "Impersonate users resource", + "provider": "Microsoft Container Service", + "resource": "Users" + }, + "name": "Microsoft.ContainerService/managedClusters/users/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate groups", + "operation": "Impersonate groups resource", + "provider": "Microsoft Container Service", + "resource": "Groups" + }, + "name": "Microsoft.ContainerService/managedClusters/groups/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate userextras", + "operation": "Impersonate userextras resource", + "provider": "Microsoft Container Service", + "resource": "Userextras" + }, + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/userextras/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storageclasses", + "operation": "Gets/List storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes storageclasses", + "operation": "Creates/Updates storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes storageclasses", + "operation": "Deletes/DeletesCollection storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads volumeattachments", + "operation": "Gets/List volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes volumeattachments", + "operation": "Creates/Updates volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes volumeattachments", + "operation": "Deletes/DeletesCollection volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads csidrivers", + "operation": "Gets/List csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes csidrivers", + "operation": "Creates/Updates csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes csidrivers", + "operation": "Deletes/DeletesCollection csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads csinodes", + "operation": "Gets/List csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes csinodes", + "operation": "Creates/Updates csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes csinodes", + "operation": "Deletes/DeletesCollection csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the available metrics for Managed Cluster", + "operation": "Read Managed Cluster metric definitions", + "provider": "Microsoft Container Service", + "resource": "The metric definition of Managed Cluster" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/metricDefinitions/read", + "origin": "system" + }, + { + "display": { + "description": "Gets the available logs for Managed Cluster", + "operation": "Read Managed Cluster log definitions", + "provider": "Microsoft Container Service", + "resource": "The log definition of Managed Cluster" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/logDefinitions/read", + "origin": "system" + }, + { + "display": { + "description": "Get a Open Shift Managed Cluster", + "operation": "Get Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new Open Shift Managed Cluster or updates an existing one", + "operation": "Create or Update Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete a Open Shift Managed Cluster", + "operation": "Delete Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get a Open Shift Cluster", + "operation": "Get Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new Open Shift Cluster or updates an existing one", + "operation": "Create or Update Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete a Open Shift Cluster", + "operation": "Delete Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/delete", + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/OutboundNetworkDependenciesEndpointsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/OutboundNetworkDependenciesEndpointsList.json new file mode 100644 index 000000000000..6d05bd51a716 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/OutboundNetworkDependenciesEndpointsList.json @@ -0,0 +1,242 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "management.azure.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "login.microsoftonline.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "images", + "endpoints": [ + { + "domainName": "mcr.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "*.data.mcr.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https", + "description": "mcr cdn" + } + ] + } + ] + }, + { + "category": "artifacts", + "endpoints": [ + { + "domainName": "packages.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "acs-mirror.azureedge.net", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "time-sync", + "endpoints": [ + { + "domainName": "ntp.ubuntu.com", + "endpointDetails": [ + { + "port": 123, + "protocol": "UDP" + } + ] + } + ] + }, + { + "category": "ubuntu-optional", + "endpoints": [ + { + "domainName": "security.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "azure.archive.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "changelogs.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + } + ] + }, + { + "category": "gpu", + "endpoints": [ + { + "domainName": "nvidia.github.io", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "us.download.nvidia.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "apt.dockerproject.org", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "windows", + "endpoints": [ + { + "domainName": "onegetcdn.azureedge.net", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "go.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "*.mp.microsoft.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "www.msftconnecttest.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "ctldl.windowsupdate.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + } + ] + }, + { + "category": "apiserver", + "endpoints": [ + { + "domainName": "*.azmk8s.io", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "tunnel-classic", + "endpoints": [ + { + "domainName": "*.azmk8s.io", + "endpointDetails": [ + { + "port": 9000, + "protocol": "TCP" + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsDelete.json new file mode 100644 index 000000000000..ca944974c18d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsGet.json new file mode 100644 index 000000000000..4a98caecce8c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsList.json new file mode 100644 index 000000000000..b8c124d3b765 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsUpdate.json new file mode 100644 index 000000000000..f8cd662a503f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsUpdate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateLinkResourcesList.json new file mode 100644 index 000000000000..9cf9bff4b42e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateLinkResourcesList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "management", + "type": "Microsoft.ContainerService/managedClusters/privateLinkResources", + "groupId": "management", + "requiredMembers": [ + "management" + ], + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ResolvePrivateLinkServiceId.json new file mode 100644 index 000000000000..cb3d30d96c95 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ResolvePrivateLinkServiceId.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "name": "management" + } + }, + "responses": { + "200": { + "body": { + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/RunCommandRequest.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/RunCommandRequest.json new file mode 100644 index 000000000000..15f2ca844da0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/RunCommandRequest.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "requestPayload": { + "command": "kubectl apply -f ns.yaml", + "context": "", + "clusterToken": "" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2021-10-01" + } + }, + "200": { + "description": "to mitigate RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE", + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "succeeded", + "exitCode": 0, + "startedAt": "2021-02-17T00:28:20Z", + "finishedAt": "2021-02-17T00:28:33Z", + "logs": "namespace dummy created" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/RunCommandResultFailed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/RunCommandResultFailed.json new file mode 100644 index 000000000000..e293d17927ce --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/RunCommandResultFailed.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2021-10-01" + } + }, + "200": { + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "failed", + "reason": "ImagePullBackoff" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/RunCommandResultSucceed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/RunCommandResultSucceed.json new file mode 100644 index 000000000000..21b040ef10a4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/RunCommandResultSucceed.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2021-10-01" + } + }, + "200": { + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "succeeded", + "exitCode": 0, + "startedAt": "2021-02-17T00:28:20Z", + "finishedAt": "2021-02-17T00:28:33Z", + "logs": "namespace dummy created" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsCreate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsCreate.json new file mode 100644 index 000000000000..0290baf0b6e9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsCreate.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "parameters": { + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + }, + "201": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsDelete.json new file mode 100644 index 000000000000..fc163e80743f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsGet.json new file mode 100644 index 000000000000..1ecaa5e50490 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsGet.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1" + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsList.json new file mode 100644 index 000000000000..ec44c5152240 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsListByResourceGroup.json new file mode 100644 index 000000000000..e0e648314e9d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsListByResourceGroup.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsUpdateTags.json new file mode 100644 index 000000000000..b483b7bddc35 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsUpdateTags.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "parameters": { + "tags": { + "key2": "new-val2", + "key3": "val3" + } + } + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/managedClusters.json new file mode 100644 index 000000000000..ec3eea9fd20c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/managedClusters.json @@ -0,0 +1,5633 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerServiceClient", + "description": "The Container Service Client.", + "version": "2021-10-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": { + "/providers/Microsoft.ContainerService/operations": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "Operations_List", + "summary": "Gets a list of operations.", + "parameters": [ + { + "$ref": "#/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": null + }, + "x-ms-examples": { + "List available operations for the container service resource provider": { + "$ref": "./examples/Operation_List.json" + } + } + } + }, + "/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": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_List", + "summary": "Gets a list of managed clusters in the specified subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Managed Clusters": { + "$ref": "./examples/ManagedClustersList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListByResourceGroup", + "summary": "Lists managed clusters in the specified subscription and resource group.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Managed Clusters by Resource Group": { + "$ref": "./examples/ManagedClustersListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetUpgradeProfile", + "summary": "Gets the upgrade profile of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterUpgradeProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Upgrade Profile for Managed Cluster": { + "$ref": "./examples/ManagedClustersGetUpgradeProfile.json" + } + } + } + }, + "/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": "**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" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "roleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role for managed cluster accessProfile resource." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterAccessProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersGetAccessProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListClusterAdminCredentials", + "summary": "Lists the admin credentials of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListClusterUserCredentials", + "summary": "Lists the user credentials of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials", + "summary": "Lists the cluster monitoring user credentials of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Get", + "summary": "Gets a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_CreateOrUpdate", + "summary": "Creates or updates a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "The managed cluster to create or update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "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" + }, + "Create/Update Managed Cluster with dual-stack networking": { + "$ref": "./examples/ManagedClustersCreate_DualStackNetworking.json" + } + } + }, + "patch": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_UpdateTags", + "summary": "Updates tags on a managed cluster.", + "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 Managed Cluster Tags operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update Managed Cluster Tags": { + "$ref": "./examples/ManagedClustersUpdateTags.json" + } + } + }, + "delete": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Delete", + "summary": "Deletes a managed 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.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Managed Cluster": { + "$ref": "./examples/ManagedClustersDelete.json" + } + } + } + }, + "/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": [ + "AgentPools" + ], + "operationId": "AgentPools_List", + "summary": "Gets a list of agent pools 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/AgentPoolListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Agent Pools by Managed Cluster": { + "$ref": "./examples/AgentPoolsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_Get", + "summary": "Gets the specified managed cluster agent pool.", + "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", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Agent Pool": { + "$ref": "./examples/AgentPoolsGet.json" + } + } + }, + "put": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_CreateOrUpdate", + "summary": "Creates or updates an agent pool in the specified managed cluster.", + "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." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AgentPool" + }, + "description": "The agent pool to create or update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "201": { + "description": "Created", + "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": { + "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" + } + } + }, + "delete": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_Delete", + "summary": "Deletes an agent pool in the specified managed cluster.", + "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": { + "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, + "x-ms-examples": { + "Delete Agent Pool": { + "$ref": "./examples/AgentPoolsDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_GetUpgradeProfile", + "summary": "Gets the upgrade profile for an agent pool.", + "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", + "schema": { + "$ref": "#/definitions/AgentPoolUpgradeProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Upgrade Profile for Agent Pool": { + "$ref": "./examples/AgentPoolsGetUpgradeProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_GetAvailableAgentPoolVersions", + "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" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPoolAvailableVersions" + } + } + }, + "x-ms-examples": { + "Get available versions for agent pool": { + "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ResetServicePrincipalProfile", + "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" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile" + }, + "description": "The service principal profile to set on the managed cluster." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "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": { + "Reset Service Principal Profile": { + "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ResetAADProfile", + "summary": "Reset the AAD Profile of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterAADProfile" + }, + "description": "The AAD profile to set on the Managed Cluster" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "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": { + "Reset AAD Profile": { + "$ref": "./examples/ManagedClustersResetAADProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_RotateClusterCertificates", + "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" + }, + { + "$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": { + "Rotate Cluster Certificates": { + "$ref": "./examples/ManagedClustersRotateClusterCertificates.json" + } + } + } + }, + "/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", + "headers": { + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + }, + "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", + "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." + }, + "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": "Windows gMSA Profile in the managed cluster." + }, + "ContainerServiceLinuxProfile": { + "properties": { + "adminUsername": { + "type": "string", + "description": "The administrator username to use for Linux VMs.", + "pattern": "^[A-Za-z][-A-Za-z0-9_]*$" + }, + "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", + "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." + }, + "networkPolicy": { + "type": "string", + "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." + }, + "networkMode": { + "type": "string", + "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." + }, + "podCidrs": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The CIDR notation IP ranges from which to assign pod IPs.", + "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking." + }, + "serviceCidrs": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The CIDR notation IP ranges from which to assign service cluster IPs.", + "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges." + }, + "ipFamilies": { + "type": "array", + "items": { + "type": "string", + "description": "The IP version to use for cluster networking and IP assignment.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "ipFamily", + "modelAsString": true + } + }, + "title": "The IP families used to specify IP versions available to the cluster.", + "description": "IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6." + } + }, + "description": "Profile of network configuration." + }, + "MaintenanceConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MaintenanceConfiguration" + }, + "description": "The list of maintenance configurations." + }, + "nextLink": { + "type": "string", + "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." + }, + "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 UTC timestamp of resource creation." + }, + "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." + } + } + }, + "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" + }, + "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 + } + }, + "description": "run command result." + }, + "CommandResultProperties": { + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "provisioning State" + }, + "exitCode": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The exit code of the command" + }, + "startedAt": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time when the command started." + }, + "finishedAt": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time when the command finished." + }, + "logs": { + "type": "string", + "readOnly": true, + "description": "The command output." + }, + "reason": { + "type": "string", + "readOnly": true, + "description": "An explanation of why provisioningState is set to failed (if so)." + } + }, + "description": "The results of a run command" + }, + "ManagedClusterNATGatewayProfile": { + "type": "object", + "properties": { + "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": "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": "Profile of the managed cluster NAT gateway." + }, + "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 + } + }, + "description": "Profile of the managed outbound IP resources of the managed cluster." + }, + "ManagedClusterLoadBalancerProfile": { + "properties": { + "managedOutboundIPs": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 1, + "description": "The desired number of IPv4 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 + }, + "countIPv6": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 0, + "description": "The desired number of IPv6 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 0 for single-stack and 1 for dual-stack. ", + "default": 0 + } + }, + "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" + ] + }, + "ContainerServiceSshPublicKey": { + "properties": { + "keyData": { + "type": "string", + "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." + }, + "storageUri": { + "readOnly": true, + "type": "string", + "description": "The URI of the storage account where diagnostics are stored." + } + }, + "description": "Profile for diagnostics on the container service VMs.", + "required": [ + "enabled" + ] + }, + "ManagedClusterListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "The list of managed clusters." + }, + "nextLink": { + "type": "string", + "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." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the Virtual Machine." + }, + "identity": { + "$ref": "#/definitions/ManagedClusterIdentity", + "description": "The identity of the managed cluster, if configured." + }, + "properties": { + "description": "Properties of a managed cluster.", + "$ref": "#/definitions/ManagedClusterProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Managed cluster." + }, + "ManagedClusterProperties": { + "properties": { + "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", + "description": "The max number of agent pools for the managed cluster." + }, + "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." + }, + "dnsPrefix": { + "type": "string", + "title": "The DNS prefix of the Managed Cluster.", + "description": "This cannot be updated once the Managed Cluster has been created." + }, + "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." + }, + "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." + }, + "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." + }, + "networkProfile": { + "$ref": "#/definitions/ContainerServiceNetworkProfile", + "description": "The network configuration profile." + }, + "aadProfile": { + "$ref": "#/definitions/ManagedClusterAADProfile", + "description": "The Azure Active Directory configuration." + }, + "autoUpgradeProfile": { + "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile", + "description": "The auto upgrade configuration." + }, + "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" + }, + "apiServerAccessProfile": { + "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", + "description": "The access profile for managed cluster API server." + }, + "diskEncryptionSetID": { + "type": "string", + "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}'" + }, + "identityProfile": { + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "description": "Identities associated with the cluster." + }, + "privateLinkResources": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "Private link resources associated with the cluster." + }, + "disableLocalAccounts": { + "type": "boolean", + "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)." + }, + "httpProxyConfig": { + "$ref": "#/definitions/ManagedClusterHTTPProxyConfig", + "description": "Configurations for provisioning the cluster with HTTP proxy servers." + }, + "securityProfile": { + "$ref": "#/definitions/ManagedClusterSecurityProfile", + "description": "Security profile for the managed cluster." + }, + "publicNetworkAccess": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "title": "PublicNetworkAccess of the managedCluster", + "description": "Allow or deny public network access for AKS" + } + }, + "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" + }, + "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." + } + }, + "description": "Access profile for managed cluster API server." + }, + "ManagedClusterIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the system assigned identity which is used by master components." + }, + "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}'." + } + }, + "description": "Identity for the managed cluster." + }, + "UserAssignedIdentity": { + "properties": { + "resourceId": { + "type": "string", + "description": "The resource ID of the user assigned identity." + }, + "clientId": { + "type": "string", + "description": "The client ID of the user assigned identity." + }, + "objectId": { + "type": "string", + "description": "The object ID of the user assigned identity." + } + }, + "description": "Details about a user assigned identity." + }, + "ManagedClusterAccessProfile": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "properties": { + "properties": { + "description": "AccessProfile of a managed cluster.", + "$ref": "#/definitions/AccessProfile", + "x-ms-client-flatten": true + } + } + } + ], + "description": "Managed cluster Access Profile.", + "x-ms-azure-resource": false + }, + "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": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "name": { + "type": "string", + "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": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "ManagedClusterUpgradeProfileProperties": { + "properties": { + "controlPlaneProfile": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile", + "description": "The list of available upgrade versions for the control plane." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile" + }, + "description": "The list of available upgrade versions for agent pools." + } + }, + "required": [ + "controlPlaneProfile", + "agentPoolProfiles" + ], + "description": "Control plane and agent pool upgrade profiles." + }, + "ManagedClusterAutoUpgradeProfile": { + "properties": { + "upgradeChannel": { + "type": "string", + "enum": [ + "rapid", + "stable", + "patch", + "node-image", + "none" + ], + "x-ms-enum": { + "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." + } + ] + }, + "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." + }, + "enableAzureRBAC": { + "type": "boolean", + "description": "Whether to enable Azure RBAC for Kubernetes authorization." + }, + "adminGroupObjectIDs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of AAD group object IDs that will have admin role of the cluster." + }, + "clientAppID": { + "type": "string", + "description": "The client AAD application ID." + }, + "serverAppID": { + "type": "string", + "description": "The server AAD application ID." + }, + "serverAppSecret": { + "type": "string", + "description": "The server AAD application secret." + }, + "tenantID": { + "type": "string", + "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." + }, + "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", + "description": "The name of the pod identity." + }, + "namespace": { + "type": "string", + "description": "The namespace of the pod identity." + }, + "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": [ + "Assigned", + "Updating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "ManagedClusterPodIdentityProvisioningState", + "modelAsString": true + } + }, + "provisioningInfo": { + "readOnly": true, + "properties": { + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError", + "description": "Pod identity assignment error (if any)." + } + } + } + }, + "required": [ + "name", + "namespace", + "identity" + ], + "description": "Details about the pod identity assigned to the Managed Cluster." + }, + "ManagedClusterPodIdentityProvisioningError": { + "type": "object", + "properties": { + "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." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "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/ManagedClusterPodIdentityProvisioningErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the pod identity provisioning." + }, + "ManagedClusterPodIdentityException": { + "properties": { + "name": { + "type": "string", + "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" + } + } + }, + "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." + }, + "ManagedClusterPodIdentityProfile": { + "properties": { + "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/ManagedClusterPodIdentity" + } + }, + "userAssignedIdentityExceptions": { + "description": "The pod identity exceptions to allow.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentityException" + } + } + }, + "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." + }, + "ManagedClusterUpgradeProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "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": [ + "properties" + ], + "description": "The list of available upgrades for compute pools." + }, + "AgentPoolUpgradeProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the agent pool upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "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 + } + }, + "required": [ + "properties" + ], + "description": "The list of available upgrades for an agent pool." + }, + "AgentPoolUpgradeProfileProperties": { + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "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." + }, + "latestNodeImageVersion": { + "type": "string", + "description": "The latest AKS supported node image version." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "AgentPoolAvailableVersions": { + "properties": { + "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 + } + }, + "required": [ + "properties" + ], + "description": "The list of available versions for an agent pool." + }, + "AgentPoolAvailableVersionsProperties": { + "properties": { + "agentPoolVersions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "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": "The list credential result response." + }, + "CredentialResult": { + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the credential." + }, + "value": { + "type": "string", + "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": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "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": "A list of additional details about the error." + } + }, + "description": "An error response from the Container service." + }, + "ManagedClusterSKU": { + "properties": { + "name": { + "type": "string", + "description": "The name of a managed cluster SKU.", + "enum": [ + "Basic" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "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." + }, + { + "value": "Free", + "description": "No guaranteed SLA, no additional charges. Free tier clusters have an SLO of 99.5%." + } + ] + } + } + }, + "description": "The SKU of a Managed Cluster." + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "description": "A list of private endpoint connections", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the private endpoint connection." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the private endpoint connection.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true + } + }, + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": "Properties of a private endpoint connection.", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "type": "object", + "description": "Private endpoint which a connection belongs to.", + "properties": { + "id": { + "description": "The resource ID of the private endpoint", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The state of a private link service connection.", + "type": "object", + "properties": { + "status": { + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "description": "The private link service connection status.", + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "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" + } + } + } + }, + "PrivateLinkResource": { + "description": "A private link resource", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID of the private link resource." + }, + "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": { + "type": "string" + }, + "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." + } + ] + }, + "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" + ], + "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." + }, + "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": { + "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", + "title": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits.", + "description": "The default is true." + }, + "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": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`)." + }, + "failSwapOn": { + "type": "boolean", + "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node." + }, + "containerLogMaxSizeMB": { + "type": "integer", + "format": "int32", + "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated." + }, + "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", + "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)." + }, + "transparentHugePageDefrag": { + "type": "string", + "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." + } + } + }, + "SysctlConfig": { + "description": "Sysctl settings for Linux agent nodes.", + "type": "object", + "properties": { + "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": "Sysctl setting net.ipv4.tcp_tw_reuse." + }, + "netIpv4IpLocalPortRange": { + "type": "string", + "description": "Sysctl setting net.ipv4.ip_local_port_range." + }, + "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." + } + } + }, + "ManagedClusterHTTPProxyConfig": { + "description": "Cluster HTTP proxy configuration.", + "type": "object", + "properties": { + "httpProxy": { + "type": "string", + "description": "The HTTP proxy server endpoint to use." + }, + "httpsProxy": { + "type": "string", + "description": "The HTTPS proxy server endpoint to use." + }, + "noProxy": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The endpoints that should not go through proxy." + }, + "trustedCa": { + "type": "string", + "description": "Alternative CA cert to use for connecting to proxy servers." + } + } + }, + "GPUInstanceProfile": { + "type": "string", + "enum": [ + "MIG1g", + "MIG2g", + "MIG3g", + "MIG4g", + "MIG7g" + ], + "x-ms-enum": { + "name": "GPUInstanceProfile ", + "modelAsString": true + }, + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + }, + "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." + } + } + }, + "OSOptionProperty": { + "properties": { + "os-type": { + "type": "string", + "description": "The OS type." + }, + "enable-fips-image": { + "type": "boolean", + "description": "Whether the image is FIPS-enabled." + } + }, + "required": [ + "os-type", + "enable-fips-image" + ], + "description": "OS option property." + }, + "OSOptionPropertyList": { + "properties": { + "osOptionPropertyList": { + "type": "array", + "items": { + "$ref": "#/definitions/OSOptionProperty" + }, + "description": "The list of OS options." + } + }, + "required": [ + "osOptionPropertyList" + ], + "description": "The list of OS option properties." + }, + "OSOptionProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the OS option resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the OS option resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the OS option resource." + }, + "properties": { + "$ref": "#/definitions/OSOptionPropertyList", + "description": "The list of OS options.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The OS option profile." + }, + "EndpointDependency": { + "description": "A domain name that AKS agent nodes are reaching at.", + "type": "object", + "properties": { + "domainName": { + "description": "The domain name of the dependency.", + "type": "string" + }, + "endpointDetails": { + "description": "The Ports and Protocols used when connecting to domainName.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDetail" + } + } + } + }, + "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" + } + } + }, + "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" + ], + "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": "Security profile for the container service cluster." + }, + "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": "Azure Defender settings for the security profile." + }, + "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." + } + } + }, + "SnapshotListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Snapshot" + }, + "description": "The list of snapshots." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of snapshot results.", + "readOnly": true + } + }, + "description": "The response from the List Snapshots operation." + }, + "Snapshot": { + "type": "object", + "properties": { + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true, + "description": "The system metadata relating to this snapshot." + }, + "properties": { + "description": "Properties of a snapshot.", + "$ref": "#/definitions/SnapshotProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "A node pool snapshot resource." + }, + "SnapshotProperties": { + "type": "object", + "properties": { + "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": "The version of Kubernetes." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "The version of node image." + }, + "osType": { + "readOnly": true, + "$ref": "#/definitions/OSType" + }, + "osSku": { + "readOnly": true, + "$ref": "#/definitions/OSSKU" + }, + "vmSize": { + "readOnly": true, + "type": "string", + "description": "The size of the VM." + }, + "enableFIPS": { + "readOnly": true, + "type": "boolean", + "description": "Whether to use a FIPS-enabled OS." + } + }, + "description": "Properties used to configure a node pool snapshot." + }, + "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": { + "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.", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version.", + "x-ms-parameter-location": "client" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "ResourceNameParameter": { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "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" + } + } +} diff --git a/specification/containerservice/resource-manager/readme.go.md b/specification/containerservice/resource-manager/readme.go.md index 792722c739ae..4b25b47f1bd5 100644 --- a/specification/containerservice/resource-manager/readme.go.md +++ b/specification/containerservice/resource-manager/readme.go.md @@ -10,7 +10,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/containerservice/armcontainerservice +module-name: sdk/resourcemanager/containerservice/armcontainerservice module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true @@ -20,6 +20,7 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-09 - tag: package-2021-08 - tag: package-2021-07 - tag: package-2021-05 @@ -50,6 +51,16 @@ batch: - tag: package-2017-07 ``` +### Tag: package-2021-09 and go + +These settings apply only when `--package-2021-09 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2021-09' && $(go) +namespace: containerservice +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-09-01/$(namespace) +``` + ### Tag: package-2021-08 and go These settings apply only when `--package-2021-08 --go` is specified on the command line. diff --git a/specification/containerservice/resource-manager/readme.java.md b/specification/containerservice/resource-manager/readme.java.md index 7d53a96b35dd..eb80d87d3cd3 100644 --- a/specification/containerservice/resource-manager/readme.java.md +++ b/specification/containerservice/resource-manager/readme.java.md @@ -1,4 +1,6 @@ -These settings apply only when `--java` is specified on the command line. +## Java + +These settings apply only when `--java` is specified on the command line and `--tag=profile-hybrid-2020-09-01` is not specified. Please also specify `--azure-libraries-for-java-folder=`. ``` yaml $(java) @@ -10,7 +12,11 @@ payload-flattening-threshold: 1 output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-containerservice title: ContainerServiceManagementClient description: "Container Service Client" +``` + +These settings also apply when `--tag=profile-hybrid-2020-09-01` is not specified. +``` yaml $(java) && $(tag) != 'profile-hybrid-2020-09-01' input-file: - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json - Microsoft.ContainerService/stable/2019-08-01/location.json @@ -38,6 +44,20 @@ batch: - tag: package-2021-05 - tag: package-2021-07 - tag: package-2021-08 + - tag: package-2021-09 +``` + +### Tag: package-2021-09 and java + +These settings apply only when `--tag=package-2021-09` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2021-09' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerservice.v2021_09_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2021_09_01 +regenerate-manager: true +generate-interface: true ``` ### Tag: package-2021-08 and java @@ -325,3 +345,13 @@ java: regenerate-manager: true generate-interface: true ``` + +### Tag: profile-hybrid-2020-09-01 and java + +These settings apply only when `--tag=profile-hybrid-2020-09-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'profile-hybrid-2020-09-01' && $(java) +input-file: + - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json +``` diff --git a/specification/containerservice/resource-manager/readme.md b/specification/containerservice/resource-manager/readme.md index 14ce19b80d87..532ad72fc7f1 100644 --- a/specification/containerservice/resource-manager/readme.md +++ b/specification/containerservice/resource-manager/readme.md @@ -34,15 +34,32 @@ These are the global settings for the ContainerServices API. ``` yaml openapi-type: arm -tag: package-2021-08 +tag: package-2021-10 ``` +### Tag: package-2021-10 + +These settings apply only when `--tag=package-2021-10` is specified on the command line. + +```yaml $(tag) == 'package-2021-10' +input-file: + - Microsoft.ContainerService/stable/2021-10-01/managedClusters.json +``` +### Tag: package-2021-09 + +These settings apply only when `--tag=package-2021-09` is specified on the command line. + +``` yaml $(tag) == 'package-2021-09' +input-file: + - Microsoft.ContainerService/stable/2021-09-01/managedClusters.json +``` + ### Tag: package-2021-08 These settings apply only when `--tag=package-2021-08` is specified on the command line. -```yaml $(tag) == 'package-2021-08' +``` yaml $(tag) == 'package-2021-08' input-file: - Microsoft.ContainerService/stable/2021-08-01/managedClusters.json ``` @@ -347,6 +364,19 @@ input-file: ``` +### Tag: package-2021-09-01-only + +These settings apply only when `--tag=package-2021-09-01-only` is specified on the command line. + +``` yaml $(tag) == 'package-2021-09-01-only' +input-file: +- Microsoft.ContainerService/stable/2021-09-01/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased +``` + ### Tag: package-2021-08-01-only These settings apply only when `--tag=package-2021-08-01-only` is specified on the command line. @@ -692,6 +722,18 @@ input-file: - Microsoft.ContainerService/stable/2016-03-30/containerService.json ``` +### Tag: profile-hybrid-2020-09-01 + +These settings apply only when `--tag=profile-hybrid-2020-09-01` is specified on the command line. +Creating this tag to pick proper resources from the hybrid profile. + +``` yaml $(tag) == 'profile-hybrid-2020-09-01' +input-file: +- Microsoft.ContainerService/stable/2020-11-01/managedClusters.json +- Microsoft.ContainerService/stable/2019-04-01/location.json +- Microsoft.ContainerService/stable/2017-07-01/containerService.json +``` + --- # Code Generation diff --git a/specification/containerservice/resource-manager/readme.python.md b/specification/containerservice/resource-manager/readme.python.md index 9e13e102aecc..291985ad6b0c 100644 --- a/specification/containerservice/resource-manager/readme.python.md +++ b/specification/containerservice/resource-manager/readme.python.md @@ -17,6 +17,8 @@ Generate all API versions currently shipped for this package ```yaml $(python) && $(multiapi) && $(track2) batch: + - tag: package-2021-10 + - tag: package-2021-09-01-only - tag: package-2021-08-01-only - tag: package-2021-07-01-only - tag: package-2021-05-01-only @@ -52,6 +54,25 @@ output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservic clear-output-folder: false perform-load: false ``` +### Tag: package-2021-10 and python + +These settings apply only when `--tag=package-2021-10 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-10' && $(python) +namespace: azure.mgmt.containerservice.v2021_10_01 +output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_10_01 +``` + +### Tag: package-2021-09-01-only and python + +These settings apply only when `--tag=package-2021-09-01-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-09-01-only' && $(python) +namespace: azure.mgmt.containerservice.v2021_09_01 +output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_09_01 +``` ### Tag: package-2021-08-01-only and python diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/cosmos-db.json new file mode 100644 index 000000000000..5cf9ba099a3c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/cosmos-db.json @@ -0,0 +1,9993 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2021-10-15-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.DocumentDB/databaseAccounts/{accountName}": { + "get": { + "operationId": "DatabaseAccounts_Get", + "x-ms-examples": { + "CosmosDBDatabaseAccountGet": { + "$ref": "./examples/CosmosDBDatabaseAccountGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The database account properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountGetResults" + } + } + } + }, + "patch": { + "operationId": "DatabaseAccounts_Update", + "x-ms-examples": { + "CosmosDBDatabaseAccountPatch": { + "$ref": "./examples/CosmosDBDatabaseAccountPatch.json" + } + }, + "description": "Updates the properties of an existing Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseAccountUpdateParameters" + }, + "description": "The parameters to provide for the current database account." + } + ], + "responses": { + "200": { + "description": "The database account update operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DatabaseAccountGetResults" + } + } + } + }, + "put": { + "operationId": "DatabaseAccounts_CreateOrUpdate", + "x-ms-examples": { + "CosmosDBDatabaseAccountCreateMin": { + "$ref": "./examples/CosmosDBDatabaseAccountCreateMin.json" + }, + "CosmosDBDatabaseAccountCreateMax": { + "$ref": "./examples/CosmosDBDatabaseAccountCreateMax.json" + }, + "CosmosDBRestoreDatabaseAccountCreateUpdate.json": { + "$ref": "./examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json" + } + }, + "description": "Creates or updates an Azure Cosmos DB database account. The \"Update\" method is preferred when performing updates on an account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseAccountCreateUpdateParameters" + }, + "description": "The parameters to provide for the current database account." + } + ], + "responses": { + "200": { + "description": "The database account create or update operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DatabaseAccountGetResults" + } + } + } + }, + "delete": { + "operationId": "DatabaseAccounts_Delete", + "x-ms-examples": { + "CosmosDBDatabaseAccountDelete": { + "$ref": "./examples/CosmosDBDatabaseAccountDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The database account delete operation will complete asynchronously." + }, + "204": { + "description": "The specified account does not exist in the subscription." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange": { + "post": { + "operationId": "DatabaseAccounts_FailoverPriorityChange", + "x-ms-examples": { + "CosmosDBDatabaseAccountFailoverPriorityChange": { + "$ref": "./examples/CosmosDBDatabaseAccountFailoverPriorityChange.json" + } + }, + "description": "Changes the failover priority for the Azure Cosmos DB database account. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "failoverParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FailoverPolicies" + }, + "description": "The new failover policies for the database account." + } + ], + "responses": { + "202": { + "description": "Accepted. The failover policy change operation will complete asynchronously." + }, + "204": { + "description": "No Content" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts": { + "get": { + "operationId": "DatabaseAccounts_List", + "x-ms-examples": { + "CosmosDBDatabaseAccountList": { + "$ref": "./examples/CosmosDBDatabaseAccountList.json" + } + }, + "description": "Lists all the Azure Cosmos DB database accounts available under the subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts": { + "get": { + "operationId": "DatabaseAccounts_ListByResourceGroup", + "x-ms-examples": { + "CosmosDBDatabaseAccountListByResourceGroup": { + "$ref": "./examples/CosmosDBDatabaseAccountListByResourceGroup.json" + } + }, + "description": "Lists all the Azure Cosmos DB database accounts available under the given resource group.", + "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" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys": { + "post": { + "operationId": "DatabaseAccounts_ListKeys", + "x-ms-examples": { + "CosmosDBDatabaseAccountListKeys": { + "$ref": "./examples/CosmosDBDatabaseAccountListKeys.json" + } + }, + "description": "Lists the access keys for the specified Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountListKeysResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings": { + "post": { + "operationId": "DatabaseAccounts_ListConnectionStrings", + "x-ms-examples": { + "CosmosDBDatabaseAccountListConnectionStrings": { + "$ref": "./examples/CosmosDBDatabaseAccountListConnectionStrings.json" + }, + "CosmosDBDatabaseAccountListConnectionStringsMongo": { + "$ref": "./examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json" + } + }, + "description": "Lists the connection strings for the specified Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountListConnectionStringsResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion": { + "post": { + "operationId": "DatabaseAccounts_OfflineRegion", + "x-ms-examples": { + "CosmosDBDatabaseAccountOfflineRegion": { + "$ref": "./examples/CosmosDBDatabaseAccountOfflineRegion.json" + } + }, + "description": "Offline the specified region for the specified Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "regionParameterForOffline", + "in": "body", + "required": true, + "description": "Cosmos DB region to offline for the database account.", + "schema": { + "$ref": "#/definitions/RegionForOnlineOffline" + } + } + ], + "responses": { + "200": { + "description": "The offline region operation is completed successfully." + }, + "202": { + "description": "Accepted. The offline region operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion": { + "post": { + "operationId": "DatabaseAccounts_OnlineRegion", + "x-ms-examples": { + "CosmosDBDatabaseAccountOnlineRegion": { + "$ref": "./examples/CosmosDBDatabaseAccountOnlineRegion.json" + } + }, + "description": "Online the specified region for the specified Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "regionParameterForOnline", + "in": "body", + "required": true, + "description": "Cosmos DB region to online for the database account.", + "schema": { + "$ref": "#/definitions/RegionForOnlineOffline" + } + } + ], + "responses": { + "200": { + "description": "The online region operation is completed successfully." + }, + "202": { + "description": "Accepted. The online region operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys": { + "get": { + "operationId": "DatabaseAccounts_GetReadOnlyKeys", + "x-ms-examples": { + "CosmosDBDatabaseAccountListReadOnlyKeys": { + "$ref": "./examples/CosmosDBDatabaseAccountListReadOnlyKeys.json" + } + }, + "description": "Lists the read-only access keys for the specified Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult" + } + } + } + }, + "post": { + "operationId": "DatabaseAccounts_ListReadOnlyKeys", + "x-ms-examples": { + "CosmosDBDatabaseAccountListReadOnlyKeys": { + "$ref": "./examples/CosmosDBDatabaseAccountListReadOnlyKeys.json" + } + }, + "description": "Lists the read-only access keys for the specified Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey": { + "post": { + "operationId": "DatabaseAccounts_RegenerateKey", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegenerateKey": { + "$ref": "./examples/CosmosDBDatabaseAccountRegenerateKey.json" + } + }, + "description": "Regenerates an access key for the specified Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "keyToRegenerate", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseAccountRegenerateKeyParameters" + }, + "description": "The name of the key to regenerate." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The regenerate key operation will complete asynchronously." + } + } + } + }, + "/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}": { + "head": { + "operationId": "DatabaseAccounts_CheckNameExists", + "x-ms-examples": { + "CosmosDBDatabaseAccountCheckNameExists": { + "$ref": "./examples/CosmosDBDatabaseAccountCheckNameExists.json" + } + }, + "description": "Checks that the Azure Cosmos DB account name already exists. A valid account name may contain only lowercase letters, numbers, and the '-' character, and must be between 3 and 50 characters.", + "parameters": [ + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The account name is valid but is already in use." + }, + "404": { + "description": "Not Found. The account name is available and valid." + } + } + } + }, + "/providers/Microsoft.DocumentDB/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Cosmos DB Resource Provider operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "CosmosDBOperationsList": { + "$ref": "./examples/CosmosDBOperationsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics": { + "get": { + "operationId": "DatabaseAccounts_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountGetMetrics": { + "$ref": "./examples/CosmosDBDatabaseAccountGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics": { + "get": { + "operationId": "Database_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseGetMetrics": { + "$ref": "./examples/CosmosDBDatabaseGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account and database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics": { + "get": { + "operationId": "Collection_ListMetrics", + "x-ms-examples": { + "CosmosDBCollectionGetMetrics": { + "$ref": "./examples/CosmosDBCollectionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account and collection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics": { + "get": { + "operationId": "CollectionRegion_ListMetrics", + "x-ms-examples": { + "CosmosDBRegionCollectionGetMetrics": { + "$ref": "./examples/CosmosDBRegionCollectionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account, collection and region.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics": { + "get": { + "operationId": "DatabaseAccountRegion_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBDatabaseAccountRegionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account and region.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics": { + "get": { + "operationId": "PercentileSourceTarget_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPercentileSourceTargetGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given account, source and target region. This url is only for PBS and Replication Latency data", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/sourceRegionParameter" + }, + { + "$ref": "#/parameters/targetRegionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The percentile metrics for the account, source and target regions were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PercentileMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics": { + "get": { + "operationId": "PercentileTarget_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPercentileTargetGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given account target region. This url is only for PBS and Replication Latency data", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/targetRegionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The percentile metrics for the account and target regions were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PercentileMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics": { + "get": { + "operationId": "Percentile_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPercentileGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account. This url is only for PBS and Replication Latency data", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The percentile metrics for the account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PercentileMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics": { + "get": { + "operationId": "CollectionPartitionRegion_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBCollectionPartitionRegionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given collection and region, split by partition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The partition-level metrics for the collection and region were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics": { + "get": { + "operationId": "CollectionPartition_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBCollectionPartitionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given collection, split by partition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The partition-level metrics for the collection were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics": { + "get": { + "operationId": "PartitionKeyRangeId_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPKeyRangeIdGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given partition key range id.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "#/parameters/partitionKeyRangeIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The partition-level metrics for the partition key range id were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics": { + "get": { + "operationId": "PartitionKeyRangeIdRegion_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPKeyRangeIdRegionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given partition key range id and region.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "#/parameters/partitionKeyRangeIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The partition-level metrics for the partition key range id and region were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages": { + "get": { + "operationId": "DatabaseAccounts_ListUsages", + "x-ms-examples": { + "CosmosDBDatabaseAccountGetUsages": { + "$ref": "./examples/CosmosDBDatabaseAccountGetUsages.json" + } + }, + "description": "Retrieves the usages (most recent data) for the given database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/UsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages": { + "get": { + "operationId": "Database_ListUsages", + "x-ms-examples": { + "CosmosDBDatabaseGetUsages": { + "$ref": "./examples/CosmosDBDatabaseGetUsages.json" + } + }, + "description": "Retrieves the usages (most recent data) for the given database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for the database were retrieved successfully.", + "schema": { + "$ref": "#/definitions/UsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages": { + "get": { + "operationId": "Collection_ListUsages", + "x-ms-examples": { + "CosmosDBCollectionGetUsages": { + "$ref": "./examples/CosmosDBCollectionGetUsages.json" + } + }, + "description": "Retrieves the usages (most recent storage data) for the given collection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for the collection were retrieved successfully.", + "schema": { + "$ref": "#/definitions/UsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages": { + "get": { + "operationId": "CollectionPartition_ListUsages", + "x-ms-examples": { + "CosmosDBCollectionGetUsages": { + "$ref": "./examples/CosmosDBCollectionPartitionGetUsages.json" + } + }, + "description": "Retrieves the usages (most recent storage data) for the given collection, split by partition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for the collection, per partition were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionUsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions": { + "get": { + "operationId": "Database_ListMetricDefinitions", + "x-ms-examples": { + "CosmosDBDatabaseGetMetricDefinitions": { + "$ref": "./examples/CosmosDBDatabaseGetMetricDefinitions.json" + } + }, + "description": "Retrieves metric definitions for the given database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The metric definitions for the database were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricDefinitionsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions": { + "get": { + "operationId": "Collection_ListMetricDefinitions", + "x-ms-examples": { + "CosmosDBCollectionGetMetricDefinitions": { + "$ref": "./examples/CosmosDBCollectionGetMetricDefinitions.json" + } + }, + "description": "Retrieves metric definitions for the given collection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The metric definitions for the collection were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricDefinitionsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions": { + "get": { + "operationId": "DatabaseAccounts_ListMetricDefinitions", + "x-ms-examples": { + "CosmosDBDatabaseAccountGetMetricDefinitions": { + "$ref": "./examples/CosmosDBDatabaseAccountGetMetricDefinitions.json" + } + }, + "description": "Retrieves metric definitions for the given database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The metric definitions for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricDefinitionsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs": { + "get": { + "operationId": "GraphResources_ListGraphs", + "x-ms-examples": { + "CosmosDBSqlDatabaseList": { + "$ref": "./examples/CosmosDBGraphResourceList.json" + } + }, + "description": "Lists the graphs under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The graph resource properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/GraphResourcesListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs/{graphName}": { + "get": { + "operationId": "GraphResources_GetGraph", + "x-ms-examples": { + "CosmosDBSqlDatabaseGet": { + "$ref": "./examples/CosmosDBGraphResourceGet.json" + } + }, + "description": "Gets the Graph resource under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/graphResourceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Graph resource property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/GraphResourceGetResults" + } + } + } + }, + "put": { + "operationId": "GraphResources_CreateUpdateGraph", + "x-ms-examples": { + "CosmosDBGraphCreateUpdate": { + "$ref": "./examples/CosmosDBGraphResourceCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Graph.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/graphResourceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateGraphParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GraphResourceCreateUpdateParameters" + }, + "description": "The parameters to provide for the current graph." + } + ], + "responses": { + "202": { + "description": "The graph create or update operation will complete asynchronously." + }, + "200": { + "description": "The Graph create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/GraphResourceGetResults" + } + } + } + }, + "delete": { + "operationId": "GraphResources_DeleteGraphResource", + "x-ms-examples": { + "CosmosDBSqlDatabaseDelete": { + "$ref": "./examples/CosmosDBGraphResourceDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Graph Resource.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/graphResourceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The graph delete operation was completed successfully." + }, + "202": { + "description": "The graph delete operation will complete asynchronously." + }, + "204": { + "description": "The graph delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases": { + "get": { + "operationId": "SqlResources_ListSqlDatabases", + "x-ms-examples": { + "CosmosDBSqlDatabaseList": { + "$ref": "./examples/CosmosDBSqlDatabaseList.json" + } + }, + "description": "Lists the SQL databases under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL database properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlDatabaseListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}": { + "get": { + "operationId": "SqlResources_GetSqlDatabase", + "x-ms-examples": { + "CosmosDBSqlDatabaseGet": { + "$ref": "./examples/CosmosDBSqlDatabaseGet.json" + } + }, + "description": "Gets the SQL database under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL database property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlDatabaseGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlDatabase", + "x-ms-examples": { + "CosmosDBSqlDatabaseCreateUpdate": { + "$ref": "./examples/CosmosDBSqlDatabaseCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlDatabaseParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlDatabaseCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL database." + } + ], + "responses": { + "202": { + "description": "The SQL database create or update operation will complete asynchronously." + }, + "200": { + "description": "The SQL database create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlDatabaseGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlDatabase", + "x-ms-examples": { + "CosmosDBSqlDatabaseDelete": { + "$ref": "./examples/CosmosDBSqlDatabaseDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL database.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL database delete operation will complete asynchronously." + }, + "204": { + "description": "The SQL database delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default": { + "get": { + "operationId": "SqlResources_GetSqlDatabaseThroughput", + "x-ms-examples": { + "CosmosDBSqlDatabaseThroughputGet": { + "$ref": "./examples/CosmosDBSqlDatabaseThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the SQL database under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the SQL database was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_UpdateSqlDatabaseThroughput", + "x-ms-examples": { + "CosmosDBSqlDatabaseThroughputUpdate": { + "$ref": "./examples/CosmosDBSqlDatabaseThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB SQL database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The parameters to provide for the RUs per second of the current SQL database." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the SQL database update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the SQL database update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "SqlResources_MigrateSqlDatabaseToAutoscale", + "x-ms-examples": { + "CosmosDBSqlDatabaseMigrateToAutoscale": { + "$ref": "./examples/CosmosDBSqlDatabaseMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL database from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL database migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "SqlResources_MigrateSqlDatabaseToManualThroughput", + "x-ms-examples": { + "CosmosDBSqlDatabaseMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL database from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL database migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/clientEncryptionKeys": { + "get": { + "operationId": "SqlResources_ListClientEncryptionKeys", + "x-ms-examples": { + "CosmosDBClientEncryptionKeysList": { + "$ref": "./examples/CosmosDBSqlClientEncryptionKeysList.json" + } + }, + "description": "Lists the ClientEncryptionKeys under an existing Azure Cosmos DB SQL database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The ClientEncryptionKeys were retrieved successfully.", + "schema": { + "$ref": "#/definitions/ClientEncryptionKeysListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/clientEncryptionKeys/{clientEncryptionKeyName}": { + "get": { + "operationId": "SqlResources_GetClientEncryptionKey", + "x-ms-examples": { + "CosmosDBClientEncryptionKeyGet": { + "$ref": "./examples/CosmosDBSqlClientEncryptionKeyGet.json" + } + }, + "description": "Gets the ClientEncryptionKey under an existing Azure Cosmos DB SQL database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/clientEncryptionKeyNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The ClientEncryptionKey was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ClientEncryptionKeyGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateClientEncryptionKey", + "x-ms-examples": { + "CosmosDBClientEncryptionKeyCreateUpdate": { + "$ref": "./examples/CosmosDBSqlClientEncryptionKeyCreateUpdate.json" + } + }, + "description": "Create or update a ClientEncryptionKey. This API is meant to be invoked via tools such as the Azure Powershell (instead of directly).", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/clientEncryptionKeyNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateClientEncryptionKeyParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClientEncryptionKeyCreateUpdateParameters" + }, + "description": "The parameters to provide for the client encryption key." + } + ], + "responses": { + "202": { + "description": "The client encryption key create or update operation will complete asynchronously." + }, + "200": { + "description": "The client encryption key create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ClientEncryptionKeyGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers": { + "get": { + "operationId": "SqlResources_ListSqlContainers", + "x-ms-examples": { + "CosmosDBSqlContainerList": { + "$ref": "./examples/CosmosDBSqlContainerList.json" + } + }, + "description": "Lists the SQL container under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL container properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlContainerListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}": { + "get": { + "operationId": "SqlResources_GetSqlContainer", + "x-ms-examples": { + "CosmosDBSqlContainerGet": { + "$ref": "./examples/CosmosDBSqlContainerGet.json" + } + }, + "description": "Gets the SQL container under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL container property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlContainerGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlContainer", + "x-ms-examples": { + "CosmosDBSqlContainerCreateUpdate": { + "$ref": "./examples/CosmosDBSqlContainerCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL container", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlContainerParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlContainerCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL container." + } + ], + "responses": { + "202": { + "description": "The SQL container create or update operation will complete asynchronously." + }, + "200": { + "description": "The SQL container create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlContainerGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlContainer", + "x-ms-examples": { + "CosmosDBSqlContainerDelete": { + "$ref": "./examples/CosmosDBSqlContainerDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL container.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL container delete operation will complete asynchronously." + }, + "204": { + "description": "The SQL container delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default": { + "get": { + "operationId": "SqlResources_GetSqlContainerThroughput", + "x-ms-examples": { + "CosmosDBSqlContainerThroughputGet": { + "$ref": "./examples/CosmosDBSqlContainerThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the SQL container under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the SQL container was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_UpdateSqlContainerThroughput", + "x-ms-examples": { + "CosmosDBSqlContainerThroughputUpdate": { + "$ref": "./examples/CosmosDBSqlContainerThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB SQL container", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The parameters to provide for the RUs per second of the current SQL container." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the SQL container update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the SQL container update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "SqlResources_MigrateSqlContainerToAutoscale", + "x-ms-examples": { + "CosmosDBSqlContainerMigrateToAutoscale": { + "$ref": "./examples/CosmosDBSqlContainerMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL container from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL container migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL container migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "SqlResources_MigrateSqlContainerToManualThroughput", + "x-ms-examples": { + "CosmosDBSqlContainerMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBSqlContainerMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL container from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL container migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL container migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures": { + "get": { + "operationId": "SqlResources_ListSqlStoredProcedures", + "x-ms-examples": { + "CosmosDBSqlStoredProcedureList": { + "$ref": "./examples/CosmosDBSqlStoredProcedureList.json" + } + }, + "description": "Lists the SQL storedProcedure under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL stored procedure properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlStoredProcedureListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}": { + "get": { + "operationId": "SqlResources_GetSqlStoredProcedure", + "x-ms-examples": { + "CosmosDBSqlStoredProcedureGet": { + "$ref": "./examples/CosmosDBSqlStoredProcedureGet.json" + } + }, + "description": "Gets the SQL storedProcedure under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/storedProcedureNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL storedProcedure property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlStoredProcedureGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlStoredProcedure", + "x-ms-examples": { + "CosmosDBSqlStoredProcedureCreateUpdate": { + "$ref": "./examples/CosmosDBSqlStoredProcedureCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL storedProcedure", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/storedProcedureNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlStoredProcedureParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlStoredProcedureCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL storedProcedure." + } + ], + "responses": { + "202": { + "description": "The SQL storedProcedure create or update operation will complete asynchronously." + }, + "200": { + "description": "The SQL storedProcedure create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlStoredProcedureGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlStoredProcedure", + "x-ms-examples": { + "CosmosDBSqlStoredProcedureDelete": { + "$ref": "./examples/CosmosDBSqlStoredProcedureDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL storedProcedure.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/storedProcedureNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL storedProcedure delete operation will complete asynchronously." + }, + "204": { + "description": "The SQL storedProcedure delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions": { + "get": { + "operationId": "SqlResources_ListSqlUserDefinedFunctions", + "x-ms-examples": { + "CosmosDBSqlUserDefinedFunctionList": { + "$ref": "./examples/CosmosDBSqlUserDefinedFunctionList.json" + } + }, + "description": "Lists the SQL userDefinedFunction under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL userDefinedFunction properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlUserDefinedFunctionListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}": { + "get": { + "operationId": "SqlResources_GetSqlUserDefinedFunction", + "x-ms-examples": { + "CosmosDBSqlUserDefinedFunctionGet": { + "$ref": "./examples/CosmosDBSqlUserDefinedFunctionGet.json" + } + }, + "description": "Gets the SQL userDefinedFunction under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/userDefinedFunctionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL userDefinedFunction property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlUserDefinedFunctionGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlUserDefinedFunction", + "x-ms-examples": { + "CosmosDBSqlUserDefinedFunctionCreateUpdate": { + "$ref": "./examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL userDefinedFunction", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/userDefinedFunctionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlUserDefinedFunctionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL userDefinedFunction." + } + ], + "responses": { + "202": { + "description": "The SQL userDefinedFunction create or update operation will complete asynchronously." + }, + "200": { + "description": "The SQL userDefinedFunction create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlUserDefinedFunctionGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlUserDefinedFunction", + "x-ms-examples": { + "CosmosDBSqlUserDefinedFunctionDelete": { + "$ref": "./examples/CosmosDBSqlUserDefinedFunctionDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL userDefinedFunction.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/userDefinedFunctionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL userDefinedFunction delete operation will complete asynchronously." + }, + "204": { + "description": "The SQL userDefinedFunction delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers": { + "get": { + "operationId": "SqlResources_ListSqlTriggers", + "x-ms-examples": { + "CosmosDBSqlTriggerList": { + "$ref": "./examples/CosmosDBSqlTriggerList.json" + } + }, + "description": "Lists the SQL trigger under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL trigger properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlTriggerListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}": { + "get": { + "operationId": "SqlResources_GetSqlTrigger", + "x-ms-examples": { + "CosmosDBSqlTriggerGet": { + "$ref": "./examples/CosmosDBSqlTriggerGet.json" + } + }, + "description": "Gets the SQL trigger under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/triggerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL trigger property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlTriggerGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlTrigger", + "x-ms-examples": { + "CosmosDBSqlTriggerCreateUpdate": { + "$ref": "./examples/CosmosDBSqlTriggerCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL trigger", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/triggerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlTriggerParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlTriggerCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL trigger." + } + ], + "responses": { + "202": { + "description": "The SQL trigger create or update operation will complete asynchronously." + }, + "200": { + "description": "The SQL trigger create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlTriggerGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlTrigger", + "x-ms-examples": { + "CosmosDBSqlTriggerDelete": { + "$ref": "./examples/CosmosDBSqlTriggerDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL trigger.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/triggerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL trigger delete operation will complete asynchronously." + }, + "204": { + "description": "The SQL trigger delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases": { + "get": { + "operationId": "MongoDBResources_ListMongoDBDatabases", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseList": { + "$ref": "./examples/CosmosDBMongoDBDatabaseList.json" + } + }, + "description": "Lists the MongoDB databases under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The MongoDB database properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoDBDatabaseListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}": { + "get": { + "operationId": "MongoDBResources_GetMongoDBDatabase", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseGet": { + "$ref": "./examples/CosmosDBMongoDBDatabaseGet.json" + } + }, + "description": "Gets the MongoDB databases under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The MongoDB database property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoDBDatabaseGetResults" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_CreateUpdateMongoDBDatabase", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseCreateUpdate": { + "$ref": "./examples/CosmosDBMongoDBDatabaseCreateUpdate.json" + } + }, + "description": "Create or updates Azure Cosmos DB MongoDB database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateMongoDBDatabaseParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MongoDBDatabaseCreateUpdateParameters" + }, + "description": "The parameters to provide for the current MongoDB database." + } + ], + "responses": { + "202": { + "description": "The MongoDB database create or update operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB database create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/MongoDBDatabaseGetResults" + } + } + } + }, + "delete": { + "operationId": "MongoDBResources_DeleteMongoDBDatabase", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseDelete": { + "$ref": "./examples/CosmosDBMongoDBDatabaseDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB MongoDB database.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB database delete operation will complete asynchronously." + }, + "204": { + "description": "The MongoDB database delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default": { + "get": { + "operationId": "MongoDBResources_GetMongoDBDatabaseThroughput", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseThroughputGet": { + "$ref": "./examples/CosmosDBMongoDBDatabaseThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the MongoDB database under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the MongoDB database was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_UpdateMongoDBDatabaseThroughput", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseThroughputUpdate": { + "$ref": "./examples/CosmosDBMongoDBDatabaseThroughputUpdate.json" + } + }, + "description": "Update RUs per second of the an Azure Cosmos DB MongoDB database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current MongoDB database." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the MongoDB database update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the MongoDB database update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBDatabaseToAutoscale", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseMigrateToAutoscale": { + "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB database from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB database migrate operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBDatabaseToManualThroughput", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB database from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB database migrate operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections": { + "get": { + "operationId": "MongoDBResources_ListMongoDBCollections", + "x-ms-examples": { + "CosmosDBMongoDBCollectionList": { + "$ref": "./examples/CosmosDBMongoDBCollectionList.json" + } + }, + "description": "Lists the MongoDB collection under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The MongoDB collection properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoDBCollectionListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}": { + "get": { + "operationId": "MongoDBResources_GetMongoDBCollection", + "x-ms-examples": { + "CosmosDBMongoDBCollectionGet": { + "$ref": "./examples/CosmosDBMongoDBCollectionGet.json" + } + }, + "description": "Gets the MongoDB collection under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The MongoDB collection property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoDBCollectionGetResults" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_CreateUpdateMongoDBCollection", + "x-ms-examples": { + "CosmosDBMongoDBCollectionCreateUpdate": { + "$ref": "./examples/CosmosDBMongoDBCollectionCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB MongoDB Collection", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateMongoDBCollectionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MongoDBCollectionCreateUpdateParameters" + }, + "description": "The parameters to provide for the current MongoDB Collection." + } + ], + "responses": { + "202": { + "description": "The MongoDB Collection create or update operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB Collection create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/MongoDBCollectionGetResults" + } + } + } + }, + "delete": { + "operationId": "MongoDBResources_DeleteMongoDBCollection", + "x-ms-examples": { + "CosmosDBMongoDBCollectionDelete": { + "$ref": "./examples/CosmosDBMongoDBCollectionDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB MongoDB Collection.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB collection delete operation will complete asynchronously." + }, + "204": { + "description": "The MongoDB collection delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default": { + "get": { + "operationId": "MongoDBResources_GetMongoDBCollectionThroughput", + "x-ms-examples": { + "CosmosDBMongoDBCollectionThroughputGet": { + "$ref": "./examples/CosmosDBMongoDBCollectionThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the MongoDB collection under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the MongoDB collection was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_UpdateMongoDBCollectionThroughput", + "x-ms-examples": { + "CosmosDBMongoDBCollectionThroughputUpdate": { + "$ref": "./examples/CosmosDBMongoDBCollectionThroughputUpdate.json" + } + }, + "description": "Update the RUs per second of an Azure Cosmos DB MongoDB collection", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current MongoDB collection." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the MongoDB collection update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the MongoDB collection update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBCollectionToAutoscale", + "x-ms-examples": { + "CosmosDBMongoDBCollectionMigrateToAutoscale": { + "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB collection from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB collection migrate operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB collection migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBCollectionToManualThroughput", + "x-ms-examples": { + "CosmosDBMongoDBCollectionMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB collection from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB collection migrate operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB collection migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables": { + "get": { + "operationId": "TableResources_ListTables", + "x-ms-examples": { + "CosmosDBTableList": { + "$ref": "./examples/CosmosDBTableList.json" + } + }, + "description": "Lists the Tables under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Table properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/TableListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}": { + "get": { + "operationId": "TableResources_GetTable", + "x-ms-examples": { + "CosmosDBTableGet": { + "$ref": "./examples/CosmosDBTableGet.json" + } + }, + "description": "Gets the Tables under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Table property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/TableGetResults" + } + } + } + }, + "put": { + "operationId": "TableResources_CreateUpdateTable", + "x-ms-examples": { + "CosmosDBTableReplace": { + "$ref": "./examples/CosmosDBTableCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Table", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateTableParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TableCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Table." + } + ], + "responses": { + "202": { + "description": "The Table create or update operation will complete asynchronously." + }, + "200": { + "description": "The Table create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/TableGetResults" + } + } + } + }, + "delete": { + "operationId": "TableResources_DeleteTable", + "x-ms-examples": { + "CosmosDBTableDelete": { + "$ref": "./examples/CosmosDBTableDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Table.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Table delete operation will complete asynchronously." + }, + "204": { + "description": "The Table delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default": { + "get": { + "operationId": "TableResources_GetTableThroughput", + "x-ms-examples": { + "CosmosDBTableThroughputGet": { + "$ref": "./examples/CosmosDBTableThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Table under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Table was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "TableResources_UpdateTableThroughput", + "x-ms-examples": { + "CosmosDBTableThroughputUpdate": { + "$ref": "./examples/CosmosDBTableThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Table", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The parameters to provide for the RUs per second of the current Table." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Table update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the Table update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "TableResources_MigrateTableToAutoscale", + "x-ms-examples": { + "CosmosDBTableMigrateToAutoscale": { + "$ref": "./examples/CosmosDBTableMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Table from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "TableResources_MigrateTableToManualThroughput", + "x-ms-examples": { + "CosmosDBTableMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBTableMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Table from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces": { + "get": { + "operationId": "CassandraResources_ListCassandraKeyspaces", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceList": { + "$ref": "./examples/CosmosDBCassandraKeyspaceList.json" + } + }, + "description": "Lists the Cassandra keyspaces under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra keyspace properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraKeyspaceListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}": { + "get": { + "operationId": "CassandraResources_GetCassandraKeyspace", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceGet": { + "$ref": "./examples/CosmosDBCassandraKeyspaceGet.json" + } + }, + "description": "Gets the Cassandra keyspaces under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra keyspace property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraKeyspaceGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_CreateUpdateCassandraKeyspace", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceCreateUpdate": { + "$ref": "./examples/CosmosDBCassandraKeyspaceCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Cassandra keyspace", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateCassandraKeyspaceParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CassandraKeyspaceCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Cassandra keyspace." + } + ], + "responses": { + "202": { + "description": "The Cassandra keyspace create or update operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra keyspace create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/CassandraKeyspaceGetResults" + } + } + } + }, + "delete": { + "operationId": "CassandraResources_DeleteCassandraKeyspace", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceDelete": { + "$ref": "./examples/CosmosDBCassandraKeyspaceDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Cassandra keyspace.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra keyspace delete operation will complete asynchronously." + }, + "204": { + "description": "The Cassandra keyspace delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default": { + "get": { + "operationId": "CassandraResources_GetCassandraKeyspaceThroughput", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceThroughputGet": { + "$ref": "./examples/CosmosDBCassandraKeyspaceThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Cassandra Keyspace under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Cassandra Keyspace was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_UpdateCassandraKeyspaceThroughput", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceThroughputUpdate": { + "$ref": "./examples/CosmosDBCassandraKeyspaceThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Cassandra Keyspace", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current Cassandra Keyspace." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Cassandra Keyspace update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the Cassandra Keyspace update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "CassandraResources_MigrateCassandraKeyspaceToAutoscale", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceMigrateToAutoscale": { + "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra Keyspace migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra Keyspace migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "CassandraResources_MigrateCassandraKeyspaceToManualThroughput", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra Keyspace migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra Keyspace migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables": { + "get": { + "operationId": "CassandraResources_ListCassandraTables", + "x-ms-examples": { + "CosmosDBCassandraTableList": { + "$ref": "./examples/CosmosDBCassandraTableList.json" + } + }, + "description": "Lists the Cassandra table under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra table properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraTableListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}": { + "get": { + "operationId": "CassandraResources_GetCassandraTable", + "x-ms-examples": { + "CosmosDBCassandraTableGet": { + "$ref": "./examples/CosmosDBCassandraTableGet.json" + } + }, + "description": "Gets the Cassandra table under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra table property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraTableGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_CreateUpdateCassandraTable", + "x-ms-examples": { + "CosmosDBCassandraTableCreateUpdate": { + "$ref": "./examples/CosmosDBCassandraTableCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Cassandra Table", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateCassandraTableParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CassandraTableCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Cassandra Table." + } + ], + "responses": { + "202": { + "description": "The Cassandra Table create or update operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra Table create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/CassandraTableGetResults" + } + } + } + }, + "delete": { + "operationId": "CassandraResources_DeleteCassandraTable", + "x-ms-examples": { + "CosmosDBCassandraTableDelete": { + "$ref": "./examples/CosmosDBCassandraTableDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Cassandra table.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra table delete operation will complete asynchronously." + }, + "204": { + "description": "The Cassandra table delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default": { + "get": { + "operationId": "CassandraResources_GetCassandraTableThroughput", + "x-ms-examples": { + "CosmosDBCassandraTableThroughputGet": { + "$ref": "./examples/CosmosDBCassandraTableThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Cassandra table under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Cassandra table was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_UpdateCassandraTableThroughput", + "x-ms-examples": { + "CosmosDBCassandraTableThroughputUpdate": { + "$ref": "./examples/CosmosDBCassandraTableThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Cassandra table", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current Cassandra table." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Cassandra table update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the Cassandra table update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "CassandraResources_MigrateCassandraTableToAutoscale", + "x-ms-examples": { + "CosmosDBCassandraTableMigrateToAutoscale": { + "$ref": "./examples/CosmosDBCassandraTableMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra table from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "CassandraResources_MigrateCassandraTableToManualThroughput", + "x-ms-examples": { + "CosmosDBCassandraTableMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBCassandraTableMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra table from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases": { + "get": { + "operationId": "GremlinResources_ListGremlinDatabases", + "x-ms-examples": { + "CosmosDBGremlinDatabaseList": { + "$ref": "./examples/CosmosDBGremlinDatabaseList.json" + } + }, + "description": "Lists the Gremlin databases under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Gremlin database properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/GremlinDatabaseListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}": { + "get": { + "operationId": "GremlinResources_GetGremlinDatabase", + "x-ms-examples": { + "CosmosDBGremlinDatabaseGet": { + "$ref": "./examples/CosmosDBGremlinDatabaseGet.json" + } + }, + "description": "Gets the Gremlin databases under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Gremlin database property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/GremlinDatabaseGetResults" + } + } + } + }, + "put": { + "operationId": "GremlinResources_CreateUpdateGremlinDatabase", + "x-ms-examples": { + "CosmosDBGremlinDatabaseCreateUpdate": { + "$ref": "./examples/CosmosDBGremlinDatabaseCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Gremlin database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateGremlinDatabaseParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GremlinDatabaseCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Gremlin database." + } + ], + "responses": { + "202": { + "description": "The Gremlin database create or update operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin database create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/GremlinDatabaseGetResults" + } + } + } + }, + "delete": { + "operationId": "GremlinResources_DeleteGremlinDatabase", + "x-ms-examples": { + "CosmosDBGremlinDatabaseDelete": { + "$ref": "./examples/CosmosDBGremlinDatabaseDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Gremlin database.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin database delete operation will complete asynchronously." + }, + "204": { + "description": "The Gremlin database delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default": { + "get": { + "operationId": "GremlinResources_GetGremlinDatabaseThroughput", + "x-ms-examples": { + "CosmosDBGremlinDatabaseThroughputGet": { + "$ref": "./examples/CosmosDBGremlinDatabaseThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Gremlin database under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Gremlin database was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "GremlinResources_UpdateGremlinDatabaseThroughput", + "x-ms-examples": { + "CosmosDBGremlinDatabaseThroughputUpdate": { + "$ref": "./examples/CosmosDBGremlinDatabaseThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Gremlin database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current Gremlin database." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Gremlin database update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the Gremlin database update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "GremlinResources_MigrateGremlinDatabaseToAutoscale", + "x-ms-examples": { + "CosmosDBGremlinDatabaseMigrateToAutoscale": { + "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin database from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin database migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "GremlinResources_MigrateGremlinDatabaseToManualThroughput", + "x-ms-examples": { + "CosmosDBGremlinDatabaseMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin database from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin database migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs": { + "get": { + "operationId": "GremlinResources_ListGremlinGraphs", + "x-ms-examples": { + "CosmosDBGremlinGraphList": { + "$ref": "./examples/CosmosDBGremlinGraphList.json" + } + }, + "description": "Lists the Gremlin graph under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Gremlin graph properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/GremlinGraphListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}": { + "get": { + "operationId": "GremlinResources_GetGremlinGraph", + "x-ms-examples": { + "CosmosDBGremlinGraphGet": { + "$ref": "./examples/CosmosDBGremlinGraphGet.json" + } + }, + "description": "Gets the Gremlin graph under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Gremlin graph property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/GremlinGraphGetResults" + } + } + } + }, + "put": { + "operationId": "GremlinResources_CreateUpdateGremlinGraph", + "x-ms-examples": { + "CosmosDBGremlinGraphCreateUpdate": { + "$ref": "./examples/CosmosDBGremlinGraphCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Gremlin graph", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateGremlinGraphParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GremlinGraphCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Gremlin graph." + } + ], + "responses": { + "202": { + "description": "The Gremlin graph create or update operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin graph create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/GremlinGraphGetResults" + } + } + } + }, + "delete": { + "operationId": "GremlinResources_DeleteGremlinGraph", + "x-ms-examples": { + "CosmosDBGremlinGraphDelete": { + "$ref": "./examples/CosmosDBGremlinGraphDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Gremlin graph.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin graph delete operation will complete asynchronously." + }, + "204": { + "description": "The Gremlin graph delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default": { + "get": { + "operationId": "GremlinResources_GetGremlinGraphThroughput", + "x-ms-examples": { + "CosmosDBGremlinGraphThroughputGet": { + "$ref": "./examples/CosmosDBGremlinGraphThroughputGet.json" + } + }, + "description": "Gets the Gremlin graph throughput under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Gremlin graph was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "GremlinResources_UpdateGremlinGraphThroughput", + "x-ms-examples": { + "CosmosDBGremlinGraphThroughputUpdate": { + "$ref": "./examples/CosmosDBGremlinGraphThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Gremlin graph", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current Gremlin graph." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Gremlin graph update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the Gremlin graph update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "GremlinResources_MigrateGremlinGraphToAutoscale", + "x-ms-examples": { + "CosmosDBGremlinGraphMigrateToAutoscale": { + "$ref": "./examples/CosmosDBGremlinGraphMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin graph from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin graph migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin graph migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "GremlinResources_MigrateGremlinGraphToManualThroughput", + "x-ms-examples": { + "CosmosDBGremlinGraphMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBGremlinGraphMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin graph from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin graph migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin graph migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations": { + "get": { + "operationId": "Locations_List", + "x-ms-examples": { + "CosmosDBLocationList": { + "$ref": "./examples/CosmosDBLocationList.json" + } + }, + "description": "List Cosmos DB locations and their properties", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/LocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}": { + "get": { + "operationId": "Locations_Get", + "x-ms-examples": { + "CosmosDBLocationGet": { + "$ref": "./examples/CosmosDBLocationGet.json" + } + }, + "description": "Get the properties of an existing Cosmos DB location", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + } + ], + "responses": { + "200": { + "description": "The Cosmos DB location properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/LocationGetResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views": { + "get": { + "operationId": "CassandraResources_ListCassandraViews", + "x-ms-examples": { + "CosmosDBCassandraViewList": { + "$ref": "./examples/CosmosDBCassandraViewList.json" + } + }, + "description": "Lists the Cassandra materialized views under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra view properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraViewListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}": { + "get": { + "operationId": "CassandraResources_GetCassandraView", + "x-ms-examples": { + "CosmosDBCassandraViewGet": { + "$ref": "./examples/CosmosDBCassandraViewGet.json" + } + }, + "description": "Gets the Cassandra view under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra view property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraViewGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_CreateUpdateCassandraView", + "x-ms-examples": { + "CosmosDBCassandraViewCreateUpdate": { + "$ref": "./examples/CosmosDBCassandraViewCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Cassandra View", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateCassandraViewParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CassandraViewCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Cassandra View." + } + ], + "responses": { + "202": { + "description": "The Cassandra View create or update operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra View create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/CassandraViewGetResults" + } + } + } + }, + "delete": { + "operationId": "CassandraResources_DeleteCassandraView", + "x-ms-examples": { + "CosmosDBCassandraViewDelete": { + "$ref": "./examples/CosmosDBCassandraViewDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Cassandra view.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra view delete operation completed successfully." + }, + "202": { + "description": "The Cassandra view delete operation will complete asynchronously." + }, + "204": { + "description": "The Cassandra view delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default": { + "get": { + "operationId": "CassandraResources_GetCassandraViewThroughput", + "x-ms-examples": { + "CosmosDBCassandraViewThroughputGet": { + "$ref": "./examples/CosmosDBCassandraViewThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Cassandra view under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Cassandra view was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_UpdateCassandraViewThroughput", + "x-ms-examples": { + "CosmosDBCassandraViewThroughputUpdate": { + "$ref": "./examples/CosmosDBCassandraViewThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Cassandra view", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current Cassandra view." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Cassandra view update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the Cassandra view update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "CassandraResources_MigrateCassandraViewToAutoscale", + "x-ms-examples": { + "CosmosDBCassandraViewMigrateToAutoscale": { + "$ref": "./examples/CosmosDBCassandraViewMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra view from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra view migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra view migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "CassandraResources_MigrateCassandraViewToManualThroughput", + "x-ms-examples": { + "CosmosDBCassandraViewMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBCassandraViewMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra view from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra view migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra view migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ClientEncryptionKeysListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ClientEncryptionKeyGetResults" + }, + "description": "List of client encryption keys and their properties." + } + }, + "description": "The List operation response, that contains the client encryption keys and their properties." + }, + "DatabaseAccountsListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseAccountGetResults" + }, + "description": "List of database account and their properties." + } + }, + "description": "The List operation response, that contains the database accounts and their properties." + }, + "GraphResourcesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/GraphResourceGetResults" + }, + "description": "List of Graph resource and their properties." + } + }, + "description": "The List operation response, that contains the Graph resource and their properties." + }, + "SqlDatabaseListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlDatabaseGetResults" + }, + "description": "List of SQL databases and their properties." + } + }, + "description": "The List operation response, that contains the SQL databases and their properties." + }, + "SqlContainerListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlContainerGetResults" + }, + "description": "List of containers and their properties." + } + }, + "description": "The List operation response, that contains the containers and their properties." + }, + "SqlStoredProcedureListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlStoredProcedureGetResults" + }, + "description": "List of storedProcedures and their properties." + } + }, + "description": "The List operation response, that contains the storedProcedures and their properties." + }, + "SqlUserDefinedFunctionListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlUserDefinedFunctionGetResults" + }, + "description": "List of userDefinedFunctions and their properties." + } + }, + "description": "The List operation response, that contains the userDefinedFunctions and their properties." + }, + "SqlTriggerListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlTriggerGetResults" + }, + "description": "List of triggers and their properties." + } + }, + "description": "The List operation response, that contains the triggers and their properties." + }, + "MongoDBDatabaseListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/MongoDBDatabaseGetResults" + }, + "description": "List of MongoDB databases and their properties." + } + }, + "description": "The List operation response, that contains the MongoDB databases and their properties." + }, + "MongoDBCollectionListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/MongoDBCollectionGetResults" + }, + "description": "List of MongoDB collections and their properties." + } + }, + "description": "The List operation response, that contains the MongoDB collections and their properties." + }, + "TableListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TableGetResults" + }, + "description": "List of Table and their properties." + } + }, + "description": "The List operation response, that contains the Table and their properties." + }, + "CassandraKeyspaceListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CassandraKeyspaceGetResults" + }, + "description": "List of Cassandra keyspaces and their properties." + } + }, + "description": "The List operation response, that contains the Cassandra keyspaces and their properties." + }, + "CassandraTableListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CassandraTableGetResults" + }, + "description": "List of Cassandra tables and their properties." + } + }, + "description": "The List operation response, that contains the Cassandra tables and their properties." + }, + "GremlinDatabaseListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/GremlinDatabaseGetResults" + }, + "description": "List of Gremlin databases and their properties." + } + }, + "description": "The List operation response, that contains the Gremlin databases and their properties." + }, + "GremlinGraphListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/GremlinGraphGetResults" + }, + "description": "List of graphs and their properties." + } + }, + "description": "The List operation response, that contains the graphs and their properties." + }, + "CassandraViewListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CassandraViewGetResults" + }, + "description": "List of Cassandra views and their properties." + } + }, + "description": "The List operation response, that contains the Cassandra views and their properties." + }, + "ErrorResponse": { + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + }, + "description": "Error Response." + }, + "CloudError": { + "x-ms-external": true, + "description": "An error response from the service.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "FailoverPolicies": { + "properties": { + "failoverPolicies": { + "type": "array", + "description": "List of failover policies.", + "items": { + "$ref": "#/definitions/FailoverPolicy" + } + } + }, + "required": [ + "failoverPolicies" + ], + "description": "The list of new failover policies for the failover priority change." + }, + "FailoverPolicy": { + "type": "object", + "description": "The failover policy for a given region of a database account.", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The unique identifier of the region in which the database account replicates to. Example: <accountName>-<locationName>." + }, + "locationName": { + "type": "string", + "description": "The name of the region in which the database account exists." + }, + "failoverPriority": { + "type": "integer", + "minimum": 0, + "format": "int32", + "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists." + } + } + }, + "RegionForOnlineOffline": { + "properties": { + "region": { + "type": "string", + "description": "Cosmos DB region, with spaces between words and each word capitalized." + } + }, + "required": [ + "region" + ], + "description": "Cosmos DB region to online or offline." + }, + "Location": { + "description": "A region in which the Azure Cosmos DB database account is deployed.", + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The unique identifier of the region within the database account. Example: <accountName>-<locationName>." + }, + "locationName": { + "type": "string", + "description": "The name of the region." + }, + "documentEndpoint": { + "type": "string", + "readOnly": true, + "description": "The connection endpoint for the specific region. Example: https://<accountName>-<locationName>.documents.azure.com:443/" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState" + }, + "failoverPriority": { + "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists.", + "format": "int32", + "type": "integer", + "minimum": 0 + }, + "isZoneRedundant": { + "type": "boolean", + "description": "Flag to indicate whether or not this region is an AvailabilityZone region" + } + } + }, + "ARMResourceProperties": { + "type": "object", + "description": "The core properties of ARM resources.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "tags": { + "$ref": "#/definitions/Tags" + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + } + }, + "x-ms-azure-resource": true + }, + "ARMProxyResource": { + "type": "object", + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource identifier of the database account." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the database account." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + }, + "x-ms-azure-resource": true + }, + "ClientEncryptionKeyCreateUpdateParameters": { + "description": "Parameters to create and update ClientEncryptionKey.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update ClientEncryptionKey.", + "$ref": "#/definitions/ClientEncryptionKeyCreateUpdateProperties" + } + }, + "required": [ + "properties" + ] + }, + "ClientEncryptionKeyCreateUpdateProperties": { + "description": "Properties to create and update ClientEncryptionKey.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a ClientEncryptionKey", + "$ref": "#/definitions/ClientEncryptionKeyResource" + } + }, + "required": [ + "resource" + ] + }, + "ClientEncryptionKeyGetResults": { + "description": "Client Encryption Key.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of a ClientEncryptionKey", + "$ref": "#/definitions/ClientEncryptionKeyGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMProxyResource" + } + ] + }, + "ClientEncryptionKeyGetProperties": { + "description": "The properties of a ClientEncryptionKey resource", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/ClientEncryptionKeyResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "DatabaseAccountGetResults": { + "description": "An Azure Cosmos DB database account.", + "type": "object", + "properties": { + "kind": { + "description": "Indicates the type of database account. This can only be set at database account creation.", + "type": "string", + "default": "GlobalDocumentDB", + "enum": [ + "GlobalDocumentDB", + "MongoDB", + "Parse" + ], + "x-ms-enum": { + "name": "DatabaseAccountKind", + "modelAsString": true + } + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DatabaseAccountGetProperties" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "ExtendedResourceProperties": { + "description": "The system generated resource properties associated with SQL databases, SQL containers, Gremlin databases and Gremlin graphs.", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "description": "A system generated property. A unique identifier.", + "readOnly": true + }, + "_ts": { + "type": "number", + "description": "A system generated property that denotes the last updated timestamp of the resource.", + "readOnly": true + }, + "_etag": { + "type": "string", + "description": "A system generated property representing the resource etag required for optimistic concurrency control.", + "readOnly": true + } + } + }, + "ThroughputSettingsGetResults": { + "description": "An Azure Cosmos DB resource throughput.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB resource throughput", + "$ref": "#/definitions/ThroughputSettingsGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "ThroughputSettingsGetProperties": { + "description": "The properties of an Azure Cosmos DB resource throughput", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/ThroughputSettingsResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "SqlDatabaseGetResults": { + "description": "An Azure Cosmos DB SQL database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB SQL database", + "$ref": "#/definitions/SqlDatabaseGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "GraphResourceGetProperties": { + "description": "The properties of an Azure Cosmos DB SQL database", + "type": "object", + "properties": { + "resource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GraphResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "GraphResourceGetResults": { + "description": "An Azure Cosmos DB Graph resource.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Graph resource.", + "$ref": "#/definitions/GraphResourceGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlDatabaseGetProperties": { + "description": "The properties of an Azure Cosmos DB SQL database", + "type": "object", + "properties": { + "resource": { + "properties": { + "_colls": { + "type": "string", + "description": "A system generated property that specified the addressable path of the collections resource." + }, + "_users": { + "type": "string", + "description": "A system generated property that specifies the addressable path of the users resource." + } + }, + "allOf": [ + { + "$ref": "#/definitions/SqlDatabaseResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "SqlContainerGetResults": { + "description": "An Azure Cosmos DB container.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB container", + "$ref": "#/definitions/SqlContainerGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlContainerGetProperties": { + "description": "The properties of an Azure Cosmos DB container", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/SqlContainerResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "SqlStoredProcedureGetResults": { + "description": "An Azure Cosmos DB storedProcedure.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB storedProcedure", + "$ref": "#/definitions/SqlStoredProcedureGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlStoredProcedureGetProperties": { + "description": "The properties of an Azure Cosmos DB StoredProcedure", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/SqlStoredProcedureResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "SqlUserDefinedFunctionGetResults": { + "description": "An Azure Cosmos DB userDefinedFunction.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB userDefinedFunction", + "$ref": "#/definitions/SqlUserDefinedFunctionGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlUserDefinedFunctionGetProperties": { + "description": "The properties of an Azure Cosmos DB userDefinedFunction", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/SqlUserDefinedFunctionResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "SqlTriggerGetResults": { + "description": "An Azure Cosmos DB trigger.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB trigger", + "$ref": "#/definitions/SqlTriggerGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlTriggerGetProperties": { + "description": "The properties of an Azure Cosmos DB trigger", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/SqlTriggerResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "MongoDBDatabaseGetResults": { + "description": "An Azure Cosmos DB MongoDB database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB MongoDB database", + "$ref": "#/definitions/MongoDBDatabaseGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "MongoDBDatabaseGetProperties": { + "description": "The properties of an Azure Cosmos DB MongoDB database", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/MongoDBDatabaseResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "MongoDBCollectionGetResults": { + "description": "An Azure Cosmos DB MongoDB collection.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB MongoDB collection", + "$ref": "#/definitions/MongoDBCollectionGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "MongoDBCollectionGetProperties": { + "description": "The properties of an Azure Cosmos DB MongoDB collection", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/MongoDBCollectionResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "TableGetResults": { + "description": "An Azure Cosmos DB Table.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Table", + "$ref": "#/definitions/TableGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "TableGetProperties": { + "description": "The properties of an Azure Cosmos Table", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/TableResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "CassandraKeyspaceGetResults": { + "description": "An Azure Cosmos DB Cassandra keyspace.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Cassandra keyspace", + "$ref": "#/definitions/CassandraKeyspaceGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "CassandraKeyspaceGetProperties": { + "description": "The properties of an Azure Cosmos DB Cassandra keyspace", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/CassandraKeyspaceResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "CassandraTableGetResults": { + "description": "An Azure Cosmos DB Cassandra table.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Cassandra table", + "$ref": "#/definitions/CassandraTableGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "CassandraTableGetProperties": { + "description": "The properties of an Azure Cosmos DB Cassandra table", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/CassandraTableResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "GremlinDatabaseGetResults": { + "description": "An Azure Cosmos DB Gremlin database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB SQL database", + "$ref": "#/definitions/GremlinDatabaseGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "GremlinDatabaseGetProperties": { + "description": "The properties of an Azure Cosmos DB SQL database", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/GremlinDatabaseResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "GremlinGraphGetResults": { + "description": "An Azure Cosmos DB Gremlin graph.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Gremlin graph", + "$ref": "#/definitions/GremlinGraphGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "GremlinGraphGetProperties": { + "description": "The properties of an Azure Cosmos DB Gremlin graph", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/GremlinGraphResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "CassandraViewGetResults": { + "description": "An Azure Cosmos DB Cassandra view.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Cassandra view", + "$ref": "#/definitions/CassandraViewGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "CassandraViewGetProperties": { + "description": "The properties of an Azure Cosmos DB Cassandra view", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/CassandraViewResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "ConsistencyPolicy": { + "type": "object", + "description": "The consistency policy for the Cosmos DB database account.", + "properties": { + "defaultConsistencyLevel": { + "description": "The default consistency level and configuration settings of the Cosmos DB account.", + "type": "string", + "enum": [ + "Eventual", + "Session", + "BoundedStaleness", + "Strong", + "ConsistentPrefix" + ], + "x-ms-enum": { + "name": "DefaultConsistencyLevel", + "modelAsString": false + } + }, + "maxStalenessPrefix": { + "description": "When used with the Bounded Staleness consistency level, this value represents the number of stale requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'.", + "type": "integer", + "minimum": 1, + "maximum": 2147483647, + "format": "int64" + }, + "maxIntervalInSeconds": { + "description": "When used with the Bounded Staleness consistency level, this value represents the time amount of staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'.", + "type": "integer", + "minimum": 5, + "maximum": 86400, + "format": "int32" + } + }, + "required": [ + "defaultConsistencyLevel" + ] + }, + "CorsPolicy": { + "type": "object", + "description": "The CORS policy for the Cosmos DB database account.", + "properties": { + "allowedOrigins": { + "description": "The origin domains that are permitted to make a request against the service via CORS.", + "type": "string" + }, + "allowedMethods": { + "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request.", + "type": "string" + }, + "allowedHeaders": { + "description": "The request headers that the origin domain may specify on the CORS request.", + "type": "string" + }, + "exposedHeaders": { + "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer.", + "type": "string" + }, + "maxAgeInSeconds": { + "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.", + "type": "integer", + "minimum": 1, + "maximum": 2147483647, + "format": "int64" + } + }, + "required": [ + "allowedOrigins" + ] + }, + "DatabaseAccountGetProperties": { + "description": "Properties for the database account.", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState" + }, + "documentEndpoint": { + "description": "The connection endpoint for the Cosmos DB database account.", + "type": "string", + "readOnly": true + }, + "databaseAccountOfferType": { + "description": "The offer type for the Cosmos DB database account. Default value: Standard.", + "readOnly": true, + "$ref": "#/definitions/DatabaseAccountOfferType" + }, + "ipRules": { + "description": "List of IpRules.", + "$ref": "#/definitions/IPRules" + }, + "isVirtualNetworkFilterEnabled": { + "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.", + "type": "boolean" + }, + "enableAutomaticFailover": { + "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.", + "type": "boolean" + }, + "consistencyPolicy": { + "description": "The consistency policy for the Cosmos DB database account.", + "$ref": "#/definitions/ConsistencyPolicy" + }, + "capabilities": { + "type": "array", + "description": "List of Cosmos DB capabilities for the account", + "items": { + "$ref": "#/definitions/Capability" + } + }, + "writeLocations": { + "type": "array", + "readOnly": true, + "description": "An array that contains the write location for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "readLocations": { + "type": "array", + "readOnly": true, + "description": "An array that contains of the read locations enabled for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "locations": { + "type": "array", + "readOnly": true, + "description": "An array that contains all of the locations enabled for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "failoverPolicies": { + "type": "array", + "readOnly": true, + "description": "An array that contains the regions ordered by their failover priorities.", + "items": { + "$ref": "#/definitions/FailoverPolicy" + } + }, + "virtualNetworkRules": { + "type": "array", + "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "privateEndpointConnections": { + "type": "array", + "readOnly": true, + "description": "List of Private Endpoint Connections configured for the Cosmos DB account.", + "items": { + "$ref": "./privateEndpointConnection.json#/definitions/PrivateEndpointConnection" + } + }, + "enableMultipleWriteLocations": { + "description": "Enables the account to write in multiple locations", + "type": "boolean" + }, + "enableCassandraConnector": { + "description": "Enables the cassandra connector on the Cosmos DB C* account", + "type": "boolean" + }, + "connectorOffer": { + "description": "The cassandra connector offer type for the Cosmos DB database C* account.", + "$ref": "#/definitions/ConnectorOffer" + }, + "disableKeyBasedMetadataWriteAccess": { + "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys", + "type": "boolean" + }, + "keyVaultKeyUri": { + "description": "The URI of the key vault", + "type": "string" + }, + "defaultIdentity": { + "description": "The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be \"FirstPartyIdentity\", \"SystemAssignedIdentity\" and more.", + "type": "string" + }, + "publicNetworkAccess": { + "description": "Whether requests from Public Network are allowed", + "$ref": "#/definitions/PublicNetworkAccess" + }, + "enableFreeTier": { + "description": "Flag to indicate whether Free Tier is enabled.", + "type": "boolean" + }, + "apiProperties": { + "description": "API specific properties.", + "type": "object", + "$ref": "#/definitions/ApiProperties" + }, + "enableAnalyticalStorage": { + "description": "Flag to indicate whether to enable storage analytics.", + "type": "boolean" + }, + "analyticalStorageConfiguration": { + "description": "Analytical storage specific properties.", + "type": "object", + "$ref": "#/definitions/AnalyticalStorageConfiguration" + }, + "instanceId": { + "description": "A unique identifier assigned to the database account", + "type": "string", + "readOnly": true + }, + "createMode": { + "description": "Enum to indicate the mode of account creation.", + "type": "string", + "default": "Default", + "$ref": "#/definitions/CreateMode" + }, + "restoreParameters": { + "description": "Parameters to indicate the information about the restore.", + "type": "object", + "$ref": "#/definitions/RestoreParameters" + }, + "backupPolicy": { + "description": "The object representing the policy for taking backups on an account.", + "type": "object", + "$ref": "#/definitions/BackupPolicy" + }, + "cors": { + "type": "array", + "description": "The CORS policy for the Cosmos DB database account.", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + }, + "networkAclBypass": { + "description": "Indicates what services are allowed to bypass firewall checks.", + "$ref": "#/definitions/NetworkAclBypass" + }, + "networkAclBypassResourceIds": { + "type": "array", + "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.", + "items": { + "type": "string" + } + }, + "diagnosticLogSettings": { + "type": "object", + "description": "The Object representing the different Diagnostic log settings for the Cosmos DB Account.", + "$ref": "#/definitions/DiagnosticLogSettings" + }, + "disableLocalAuth": { + "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.", + "type": "boolean" + }, + "capacity": { + "description": "The object that represents all properties related to capacity enforcement on an account.", + "type": "object", + "$ref": "#/definitions/Capacity" + } + } + }, + "DatabaseAccountCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB database accounts.", + "type": "object", + "properties": { + "consistencyPolicy": { + "description": "The consistency policy for the Cosmos DB account.", + "$ref": "#/definitions/ConsistencyPolicy" + }, + "locations": { + "type": "array", + "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "databaseAccountOfferType": { + "description": "The offer type for the database", + "$ref": "#/definitions/DatabaseAccountOfferType" + }, + "ipRules": { + "description": "List of IpRules.", + "$ref": "#/definitions/IPRules" + }, + "isVirtualNetworkFilterEnabled": { + "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.", + "type": "boolean" + }, + "enableAutomaticFailover": { + "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.", + "type": "boolean" + }, + "capabilities": { + "type": "array", + "description": "List of Cosmos DB capabilities for the account", + "items": { + "$ref": "#/definitions/Capability" + } + }, + "virtualNetworkRules": { + "type": "array", + "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "enableMultipleWriteLocations": { + "description": "Enables the account to write in multiple locations", + "type": "boolean" + }, + "enableCassandraConnector": { + "description": "Enables the cassandra connector on the Cosmos DB C* account", + "type": "boolean" + }, + "connectorOffer": { + "description": "The cassandra connector offer type for the Cosmos DB database C* account.", + "$ref": "#/definitions/ConnectorOffer" + }, + "disableKeyBasedMetadataWriteAccess": { + "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys", + "type": "boolean" + }, + "keyVaultKeyUri": { + "description": "The URI of the key vault", + "type": "string" + }, + "defaultIdentity": { + "description": "The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be \"FirstPartyIdentity\", \"SystemAssignedIdentity\" and more.", + "type": "string" + }, + "publicNetworkAccess": { + "description": "Whether requests from Public Network are allowed", + "$ref": "#/definitions/PublicNetworkAccess" + }, + "enableFreeTier": { + "description": "Flag to indicate whether Free Tier is enabled.", + "type": "boolean" + }, + "apiProperties": { + "description": "API specific properties. Currently, supported only for MongoDB API.", + "type": "object", + "$ref": "#/definitions/ApiProperties" + }, + "enableAnalyticalStorage": { + "description": "Flag to indicate whether to enable storage analytics.", + "type": "boolean" + }, + "analyticalStorageConfiguration": { + "description": "Analytical storage specific properties.", + "type": "object", + "$ref": "#/definitions/AnalyticalStorageConfiguration" + }, + "createMode": { + "description": "Enum to indicate the mode of account creation.", + "type": "string", + "default": "Default", + "$ref": "#/definitions/CreateMode" + }, + "backupPolicy": { + "description": "The object representing the policy for taking backups on an account.", + "type": "object", + "$ref": "#/definitions/BackupPolicy" + }, + "cors": { + "type": "array", + "description": "The CORS policy for the Cosmos DB database account.", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + }, + "networkAclBypass": { + "description": "Indicates what services are allowed to bypass firewall checks.", + "$ref": "#/definitions/NetworkAclBypass" + }, + "networkAclBypassResourceIds": { + "type": "array", + "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.", + "items": { + "type": "string" + } + }, + "diagnosticLogSettings": { + "type": "object", + "description": "The Object representing the different Diagnostic log settings for the Cosmos DB Account.", + "$ref": "#/definitions/DiagnosticLogSettings" + }, + "disableLocalAuth": { + "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.", + "type": "boolean" + }, + "restoreParameters": { + "description": "Parameters to indicate the information about the restore.", + "type": "object", + "$ref": "#/definitions/RestoreParameters" + }, + "capacity": { + "description": "The object that represents all properties related to capacity enforcement on an account.", + "type": "object", + "$ref": "#/definitions/Capacity" + } + }, + "required": [ + "locations", + "databaseAccountOfferType" + ] + }, + "DatabaseAccountCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB database accounts.", + "type": "object", + "properties": { + "kind": { + "description": "Indicates the type of database account. This can only be set at database account creation.", + "type": "string", + "default": "GlobalDocumentDB", + "enum": [ + "GlobalDocumentDB", + "MongoDB", + "Parse" + ], + "x-ms-enum": { + "name": "DatabaseAccountKind", + "modelAsString": true + } + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DatabaseAccountCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "DatabaseAccountUpdateProperties": { + "description": "Properties to update Azure Cosmos DB database accounts.", + "type": "object", + "properties": { + "consistencyPolicy": { + "description": "The consistency policy for the Cosmos DB account.", + "$ref": "#/definitions/ConsistencyPolicy" + }, + "locations": { + "type": "array", + "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "ipRules": { + "description": "List of IpRules.", + "$ref": "#/definitions/IPRules" + }, + "isVirtualNetworkFilterEnabled": { + "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.", + "type": "boolean" + }, + "enableAutomaticFailover": { + "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.", + "type": "boolean" + }, + "capabilities": { + "type": "array", + "description": "List of Cosmos DB capabilities for the account", + "items": { + "$ref": "#/definitions/Capability" + } + }, + "virtualNetworkRules": { + "type": "array", + "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "enableMultipleWriteLocations": { + "description": "Enables the account to write in multiple locations", + "type": "boolean" + }, + "enableCassandraConnector": { + "description": "Enables the cassandra connector on the Cosmos DB C* account", + "type": "boolean" + }, + "connectorOffer": { + "description": "The cassandra connector offer type for the Cosmos DB database C* account.", + "$ref": "#/definitions/ConnectorOffer" + }, + "disableKeyBasedMetadataWriteAccess": { + "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys", + "type": "boolean" + }, + "keyVaultKeyUri": { + "description": "The URI of the key vault", + "type": "string" + }, + "defaultIdentity": { + "description": "The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be \"FirstPartyIdentity\", \"SystemAssignedIdentity\" and more.", + "type": "string" + }, + "publicNetworkAccess": { + "description": "Whether requests from Public Network are allowed", + "$ref": "#/definitions/PublicNetworkAccess" + }, + "enableFreeTier": { + "description": "Flag to indicate whether Free Tier is enabled.", + "type": "boolean" + }, + "apiProperties": { + "description": "API specific properties. Currently, supported only for MongoDB API.", + "type": "object", + "$ref": "#/definitions/ApiProperties" + }, + "enableAnalyticalStorage": { + "description": "Flag to indicate whether to enable storage analytics.", + "type": "boolean" + }, + "analyticalStorageConfiguration": { + "description": "Analytical storage specific properties.", + "type": "object", + "$ref": "#/definitions/AnalyticalStorageConfiguration" + }, + "backupPolicy": { + "description": "The object representing the policy for taking backups on an account.", + "type": "object", + "$ref": "#/definitions/BackupPolicy" + }, + "cors": { + "type": "array", + "description": "The CORS policy for the Cosmos DB database account.", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + }, + "networkAclBypass": { + "description": "Indicates what services are allowed to bypass firewall checks.", + "$ref": "#/definitions/NetworkAclBypass" + }, + "networkAclBypassResourceIds": { + "type": "array", + "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.", + "items": { + "type": "string" + } + }, + "diagnosticLogSettings": { + "type": "object", + "description": "The Object representing the different Diagnostic log settings for the Cosmos DB Account.", + "$ref": "#/definitions/DiagnosticLogSettings" + }, + "disableLocalAuth": { + "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.", + "type": "boolean" + }, + "capacity": { + "description": "The object that represents all properties related to capacity enforcement on an account.", + "type": "object", + "$ref": "#/definitions/Capacity" + } + } + }, + "DatabaseAccountUpdateParameters": { + "description": "Parameters for patching Azure Cosmos DB database account properties.", + "type": "object", + "properties": { + "tags": { + "$ref": "#/definitions/Tags" + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DatabaseAccountUpdateProperties" + } + } + }, + "DatabaseAccountListReadOnlyKeysResult": { + "description": "The read-only access keys for the given database account.", + "properties": { + "primaryReadonlyMasterKey": { + "readOnly": true, + "type": "string", + "description": "Base 64 encoded value of the primary read-only key." + }, + "secondaryReadonlyMasterKey": { + "readOnly": true, + "type": "string", + "description": "Base 64 encoded value of the secondary read-only key." + } + } + }, + "DatabaseAccountListKeysResult": { + "description": "The access keys for the given database account.", + "properties": { + "primaryMasterKey": { + "readOnly": true, + "type": "string", + "description": "Base 64 encoded value of the primary read-write key." + }, + "secondaryMasterKey": { + "readOnly": true, + "type": "string", + "description": "Base 64 encoded value of the secondary read-write key." + } + }, + "allOf": [ + { + "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult" + } + ] + }, + "DatabaseAccountConnectionString": { + "description": "Connection string for the Cosmos DB account", + "properties": { + "connectionString": { + "readOnly": true, + "type": "string", + "description": "Value of the connection string" + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Description of the connection string" + } + } + }, + "DatabaseAccountListConnectionStringsResult": { + "description": "The connection strings for the given database account.", + "properties": { + "connectionStrings": { + "type": "array", + "description": "An array that contains the connection strings for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/DatabaseAccountConnectionString" + } + } + } + }, + "DatabaseAccountRegenerateKeyParameters": { + "type": "object", + "description": "Parameters to regenerate the keys within the database account.", + "properties": { + "keyKind": { + "type": "string", + "description": "The access key to regenerate.", + "enum": [ + "primary", + "secondary", + "primaryReadonly", + "secondaryReadonly" + ], + "x-ms-enum": { + "name": "KeyKind", + "modelAsString": true + } + } + }, + "required": [ + "keyKind" + ] + }, + "DatabaseAccountOfferType": { + "description": "The offer type for the Cosmos DB database account.", + "type": "string", + "enum": [ + "Standard" + ], + "x-ms-enum": { + "name": "DatabaseAccountOfferType", + "modelAsString": false + } + }, + "ThroughputSettingsUpdateParameters": { + "description": "Parameters to update Cosmos DB resource throughput.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to update Azure Cosmos DB resource throughput.", + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "ThroughputSettingsUpdateProperties": { + "description": "Properties to update Azure Cosmos DB resource throughput.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a resource throughput", + "$ref": "#/definitions/ThroughputSettingsResource" + } + }, + "required": [ + "resource" + ] + }, + "GraphResourceCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Graph resource.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Graph resource.", + "$ref": "#/definitions/GraphResourceCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "GraphResourceCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Graph resource.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Graph resource", + "$ref": "#/definitions/GraphResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "GraphResource": { + "type": "object", + "description": "Cosmos DB Graph resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Graph" + } + }, + "required": [ + "id" + ] + }, + "SqlDatabaseCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB SQL database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB SQL database.", + "$ref": "#/definitions/SqlDatabaseCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlDatabaseCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB SQL database.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a SQL database", + "$ref": "#/definitions/SqlDatabaseResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "SqlContainerCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB container.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB container.", + "$ref": "#/definitions/SqlContainerCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlContainerCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB container.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a container", + "$ref": "#/definitions/SqlContainerResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "SqlStoredProcedureCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB storedProcedure.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB storedProcedure.", + "$ref": "#/definitions/SqlStoredProcedureCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlStoredProcedureCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB storedProcedure.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a storedProcedure", + "$ref": "#/definitions/SqlStoredProcedureResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "SqlUserDefinedFunctionCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB userDefinedFunction.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB userDefinedFunction.", + "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlUserDefinedFunctionCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB userDefinedFunction.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a userDefinedFunction", + "$ref": "#/definitions/SqlUserDefinedFunctionResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "SqlTriggerCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB trigger.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB trigger.", + "$ref": "#/definitions/SqlTriggerCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlTriggerCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB trigger.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a trigger", + "$ref": "#/definitions/SqlTriggerResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "MongoDBDatabaseCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB MongoDB database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB MongoDB database.", + "$ref": "#/definitions/MongoDBDatabaseCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "MongoDBDatabaseCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB MongoDB database.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a MongoDB database", + "$ref": "#/definitions/MongoDBDatabaseResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "MongoDBCollectionCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB MongoDB collection.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB MongoDB collection.", + "$ref": "#/definitions/MongoDBCollectionCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "MongoDBCollectionCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB MongoDB collection.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a MongoDB collection", + "$ref": "#/definitions/MongoDBCollectionResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "TableCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Table.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Table.", + "$ref": "#/definitions/TableCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "TableCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Table.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Table", + "$ref": "#/definitions/TableResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "CassandraKeyspaceCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Cassandra keyspace.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace.", + "$ref": "#/definitions/CassandraKeyspaceCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "CassandraKeyspaceCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Cassandra keyspace", + "$ref": "#/definitions/CassandraKeyspaceResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "CassandraTableCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Cassandra table.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Cassandra table.", + "$ref": "#/definitions/CassandraTableCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "CassandraTableCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Cassandra table.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Cassandra table", + "$ref": "#/definitions/CassandraTableResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "GremlinDatabaseCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Gremlin database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Gremlin database.", + "$ref": "#/definitions/GremlinDatabaseCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "GremlinDatabaseCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Gremlin database.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Gremlin database", + "$ref": "#/definitions/GremlinDatabaseResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "GremlinGraphCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Gremlin graph.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Gremlin graph.", + "$ref": "#/definitions/GremlinGraphCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "GremlinGraphCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Gremlin graph.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Gremlin graph", + "$ref": "#/definitions/GremlinGraphResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "CassandraViewCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Cassandra view.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Cassandra view.", + "$ref": "#/definitions/CassandraViewCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "CassandraViewCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Cassandra view.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Cassandra view", + "$ref": "#/definitions/CassandraViewResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "ThroughputSettingsResource": { + "type": "object", + "description": "Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both.", + "properties": { + "throughput": { + "type": "integer", + "description": "Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, but not both." + }, + "autoscaleSettings": { + "description": "Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is required, but not both.", + "$ref": "#/definitions/AutoscaleSettingsResource" + }, + "minimumThroughput": { + "type": "string", + "description": "The minimum throughput of the resource", + "readOnly": true + }, + "offerReplacePending": { + "type": "string", + "description": "The throughput replace is pending", + "readOnly": true + } + } + }, + "AutoscaleSettingsResource": { + "type": "object", + "description": "Cosmos DB provisioned throughput settings object", + "properties": { + "maxThroughput": { + "type": "integer", + "description": "Represents maximum throughput container can scale up to." + }, + "autoUpgradePolicy": { + "description": "Cosmos DB resource auto-upgrade policy", + "$ref": "#/definitions/AutoUpgradePolicyResource" + }, + "targetMaxThroughput": { + "type": "integer", + "description": "Represents target maximum throughput container can scale up to once offer is no longer in pending state.", + "readOnly": true + } + }, + "required": [ + "maxThroughput" + ] + }, + "AutoUpgradePolicyResource": { + "type": "object", + "description": "Cosmos DB resource auto-upgrade policy", + "properties": { + "throughputPolicy": { + "description": "Represents throughput policy which service must adhere to for auto-upgrade", + "$ref": "#/definitions/ThroughputPolicyResource" + } + } + }, + "ThroughputPolicyResource": { + "type": "object", + "description": "Cosmos DB resource throughput policy", + "properties": { + "isEnabled": { + "type": "boolean", + "description": "Determines whether the ThroughputPolicy is active or not" + }, + "incrementPercent": { + "type": "integer", + "description": "Represents the percentage by which throughput can increase every time throughput policy kicks in." + } + } + }, + "OptionsResource": { + "type": "object", + "description": "Cosmos DB options resource object", + "readOnly": true, + "properties": { + "throughput": { + "type": "integer", + "description": "Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details." + }, + "autoscaleSettings": { + "type": "object", + "$ref": "#/definitions/AutoscaleSettings", + "description": "Specifies the Autoscale settings." + } + } + }, + "ClientEncryptionKeyResource": { + "type": "object", + "description": "Cosmos DB client encryption key resource object.", + "properties": { + "id": { + "type": "string", + "description": "Name of the ClientEncryptionKey" + }, + "encryptionAlgorithm": { + "type": "string", + "description": "Encryption algorithm that will be used along with this client encryption key to encrypt/decrypt data." + }, + "wrappedDataEncryptionKey": { + "type": "string", + "format": "byte", + "description": "Wrapped (encrypted) form of the key represented as a byte array." + }, + "keyWrapMetadata": { + "description": "Metadata for the wrapping provider that can be used to unwrap the wrapped client encryption key.", + "$ref": "#/definitions/KeyWrapMetadata" + } + } + }, + "KeyWrapMetadata": { + "type": "object", + "description": "Represents key wrap metadata that a key wrapping provider can use to wrap/unwrap a client encryption key.", + "properties": { + "name": { + "type": "string", + "description": "The name of associated KeyEncryptionKey (aka CustomerManagedKey)." + }, + "type": { + "type": "string", + "description": "ProviderName of KeyStoreProvider." + }, + "value": { + "type": "string", + "description": "Reference / link to the KeyEncryptionKey." + } + } + }, + "SqlDatabaseResource": { + "type": "object", + "description": "Cosmos DB SQL database resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL database" + } + }, + "required": [ + "id" + ] + }, + "SqlContainerResource": { + "type": "object", + "description": "Cosmos DB SQL container resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL container" + }, + "indexingPolicy": { + "$ref": "#/definitions/IndexingPolicy", + "description": "The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container" + }, + "partitionKey": { + "$ref": "#/definitions/ContainerPartitionKey", + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions" + }, + "defaultTtl": { + "type": "integer", + "description": "Default time to live" + }, + "uniqueKeyPolicy": { + "$ref": "#/definitions/UniqueKeyPolicy", + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service." + }, + "conflictResolutionPolicy": { + "$ref": "#/definitions/ConflictResolutionPolicy", + "description": "The conflict resolution policy for the container." + }, + "analyticalStorageTtl": { + "type": "integer", + "format": "int64", + "description": "Analytical TTL." + } + }, + "required": [ + "id" + ] + }, + "IndexingPolicy": { + "type": "object", + "description": "Cosmos DB indexing policy", + "properties": { + "automatic": { + "type": "boolean", + "description": "Indicates if the indexing policy is automatic" + }, + "indexingMode": { + "description": "Indicates the indexing mode.", + "type": "string", + "default": "consistent", + "enum": [ + "consistent", + "lazy", + "none" + ], + "x-ms-enum": { + "name": "IndexingMode", + "modelAsString": true + } + }, + "includedPaths": { + "description": "List of paths to include in the indexing", + "type": "array", + "items": { + "$ref": "#/definitions/IncludedPath" + } + }, + "excludedPaths": { + "description": "List of paths to exclude from indexing", + "type": "array", + "items": { + "$ref": "#/definitions/ExcludedPath" + } + }, + "compositeIndexes": { + "description": "List of composite path list", + "type": "array", + "items": { + "$ref": "#/definitions/CompositePathList" + } + }, + "spatialIndexes": { + "description": "List of spatial specifics", + "type": "array", + "items": { + "$ref": "#/definitions/SpatialSpec" + } + } + } + }, + "ExcludedPath": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + } + } + }, + "IncludedPath": { + "type": "object", + "description": "The paths that are included in indexing", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + }, + "indexes": { + "description": "List of indexes for this path", + "type": "array", + "items": { + "$ref": "#/definitions/Indexes" + } + } + } + }, + "Indexes": { + "type": "object", + "description": "The indexes for the path.", + "properties": { + "dataType": { + "description": "The datatype for which the indexing behavior is applied to.", + "type": "string", + "default": "String", + "enum": [ + "String", + "Number", + "Point", + "Polygon", + "LineString", + "MultiPolygon" + ], + "x-ms-enum": { + "name": "DataType", + "modelAsString": true + } + }, + "precision": { + "description": "The precision of the index. -1 is maximum precision.", + "type": "integer" + }, + "kind": { + "description": "Indicates the type of index.", + "type": "string", + "default": "Hash", + "enum": [ + "Hash", + "Range", + "Spatial" + ], + "x-ms-enum": { + "name": "IndexKind", + "modelAsString": true + } + } + } + }, + "CompositePathList": { + "description": "List of composite path", + "type": "array", + "items": { + "$ref": "#/definitions/CompositePath" + } + }, + "CompositePath": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + }, + "order": { + "description": "Sort order for composite paths.", + "type": "string", + "enum": [ + "ascending", + "descending" + ], + "x-ms-enum": { + "name": "CompositePathSortOrder", + "modelAsString": true + } + } + } + }, + "SpatialSpec": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + }, + "types": { + "description": "List of path's spatial type", + "type": "array", + "items": { + "$ref": "#/definitions/SpatialType" + } + } + } + }, + "SpatialType": { + "description": "Indicates the spatial type of index.", + "type": "string", + "enum": [ + "Point", + "LineString", + "Polygon", + "MultiPolygon" + ], + "x-ms-enum": { + "name": "SpatialType", + "modelAsString": true + } + }, + "ContainerPartitionKey": { + "type": "object", + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions", + "properties": { + "paths": { + "description": "List of paths using which data within the container can be partitioned", + "type": "array", + "items": { + "$ref": "#/definitions/Path" + } + }, + "kind": { + "description": "Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) are supported for container create", + "type": "string", + "default": "Hash", + "enum": [ + "Hash", + "Range", + "MultiHash" + ], + "x-ms-enum": { + "name": "PartitionKind", + "modelAsString": true + } + }, + "version": { + "description": "Indicates the version of the partition key definition", + "type": "integer", + "minimum": 1, + "maximum": 2, + "format": "int32" + }, + "systemKey": { + "description": "Indicates if the container is using a system generated partition key", + "type": "boolean", + "readOnly": true + } + } + }, + "Path": { + "type": "string", + "description": "A path. These typically start with root (/path)" + }, + "UniqueKeyPolicy": { + "type": "object", + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service.", + "properties": { + "uniqueKeys": { + "description": "List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.", + "type": "array", + "items": { + "$ref": "#/definitions/UniqueKey" + } + } + } + }, + "UniqueKey": { + "type": "object", + "description": "The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.", + "properties": { + "paths": { + "description": "List of paths must be unique for each document in the Azure Cosmos DB service", + "type": "array", + "items": { + "$ref": "#/definitions/Path" + } + } + } + }, + "ConflictResolutionPolicy": { + "type": "object", + "description": "The conflict resolution policy for the container.", + "properties": { + "mode": { + "description": "Indicates the conflict resolution mode.", + "type": "string", + "default": "LastWriterWins", + "enum": [ + "LastWriterWins", + "Custom" + ], + "x-ms-enum": { + "name": "ConflictResolutionMode", + "modelAsString": true + } + }, + "conflictResolutionPath": { + "type": "string", + "description": "The conflict resolution path in the case of LastWriterWins mode." + }, + "conflictResolutionProcedure": { + "type": "string", + "description": "The procedure to resolve conflicts in the case of custom mode." + } + } + }, + "SqlStoredProcedureResource": { + "type": "object", + "description": "Cosmos DB SQL storedProcedure resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL storedProcedure" + }, + "body": { + "type": "string", + "description": "Body of the Stored Procedure" + } + }, + "required": [ + "id" + ] + }, + "SqlUserDefinedFunctionResource": { + "type": "object", + "description": "Cosmos DB SQL userDefinedFunction resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL userDefinedFunction" + }, + "body": { + "type": "string", + "description": "Body of the User Defined Function" + } + }, + "required": [ + "id" + ] + }, + "SqlTriggerResource": { + "type": "object", + "description": "Cosmos DB SQL trigger resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL trigger" + }, + "body": { + "type": "string", + "description": "Body of the Trigger" + }, + "triggerType": { + "type": "string", + "enum": [ + "Pre", + "Post" + ], + "description": "Type of the Trigger", + "x-ms-enum": { + "name": "triggerType", + "modelAsString": true + } + }, + "triggerOperation": { + "type": "string", + "enum": [ + "All", + "Create", + "Update", + "Delete", + "Replace" + ], + "description": "The operation the trigger is associated with", + "x-ms-enum": { + "name": "triggerOperation", + "modelAsString": true + } + } + }, + "required": [ + "id" + ] + }, + "MongoDBDatabaseResource": { + "type": "object", + "description": "Cosmos DB MongoDB database resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB MongoDB database" + } + }, + "required": [ + "id" + ] + }, + "MongoDBCollectionResource": { + "type": "object", + "description": "Cosmos DB MongoDB collection resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB MongoDB collection" + }, + "shardKey": { + "description": "A key-value pair of shard keys to be applied for the request.", + "$ref": "#/definitions/ShardKeys" + }, + "indexes": { + "description": "List of index keys", + "type": "array", + "items": { + "$ref": "#/definitions/MongoIndex" + } + }, + "analyticalStorageTtl": { + "type": "integer", + "description": "Analytical TTL." + } + }, + "required": [ + "id" + ] + }, + "ShardKeys": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The shard key and partition kind pair, only support \"Hash\" partition kind" + }, + "MongoIndex": { + "type": "object", + "description": "Cosmos DB MongoDB collection index key", + "properties": { + "key": { + "description": "Cosmos DB MongoDB collection index keys", + "$ref": "#/definitions/MongoIndexKeys" + }, + "options": { + "description": "Cosmos DB MongoDB collection index key options", + "$ref": "#/definitions/MongoIndexOptions" + } + } + }, + "MongoIndexKeys": { + "type": "object", + "description": "Cosmos DB MongoDB collection resource object", + "properties": { + "keys": { + "description": "List of keys for each MongoDB collection in the Azure Cosmos DB service", + "type": "array", + "items": { + "$ref": "#/definitions/Key" + } + } + } + }, + "Key": { + "type": "string", + "description": "A Key." + }, + "MongoIndexOptions": { + "type": "object", + "description": "Cosmos DB MongoDB collection index options", + "properties": { + "expireAfterSeconds": { + "description": "Expire after seconds", + "type": "integer" + }, + "unique": { + "description": "Is unique or not", + "type": "boolean" + } + } + }, + "TableResource": { + "type": "object", + "description": "Cosmos DB table resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB table" + } + }, + "required": [ + "id" + ] + }, + "CassandraKeyspaceResource": { + "type": "object", + "description": "Cosmos DB Cassandra keyspace resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra keyspace" + } + }, + "required": [ + "id" + ] + }, + "CassandraTableResource": { + "type": "object", + "description": "Cosmos DB Cassandra table resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table" + }, + "defaultTtl": { + "type": "integer", + "description": "Time to live of the Cosmos DB Cassandra table" + }, + "schema": { + "description": "Schema of the Cosmos DB Cassandra table", + "$ref": "#/definitions/CassandraSchema" + }, + "analyticalStorageTtl": { + "type": "integer", + "description": "Analytical TTL." + } + }, + "required": [ + "id" + ] + }, + "CassandraSchema": { + "type": "object", + "description": "Cosmos DB Cassandra table schema", + "properties": { + "columns": { + "type": "array", + "items": { + "$ref": "#/definitions/Column" + }, + "description": "List of Cassandra table columns." + }, + "partitionKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/CassandraPartitionKey" + }, + "description": "List of partition key." + }, + "clusterKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/ClusterKey" + }, + "description": "List of cluster key." + } + } + }, + "Column": { + "type": "object", + "description": "Cosmos DB Cassandra table column", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table column" + }, + "type": { + "type": "string", + "description": "Type of the Cosmos DB Cassandra table column" + } + } + }, + "CassandraPartitionKey": { + "type": "object", + "description": "Cosmos DB Cassandra table partition key", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table partition key" + } + } + }, + "ClusterKey": { + "type": "object", + "description": "Cosmos DB Cassandra table cluster key", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table cluster key" + }, + "orderBy": { + "type": "string", + "description": "Order of the Cosmos DB Cassandra table cluster key, only support \"Asc\" and \"Desc\"" + } + } + }, + "GremlinDatabaseResource": { + "type": "object", + "description": "Cosmos DB Gremlin database resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Gremlin database" + } + }, + "required": [ + "id" + ] + }, + "GremlinGraphResource": { + "type": "object", + "description": "Cosmos DB Gremlin graph resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Gremlin graph" + }, + "indexingPolicy": { + "$ref": "#/definitions/IndexingPolicy", + "description": "The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the graph" + }, + "partitionKey": { + "$ref": "#/definitions/ContainerPartitionKey", + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions" + }, + "defaultTtl": { + "type": "integer", + "description": "Default time to live" + }, + "uniqueKeyPolicy": { + "$ref": "#/definitions/UniqueKeyPolicy", + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service." + }, + "conflictResolutionPolicy": { + "$ref": "#/definitions/ConflictResolutionPolicy", + "description": "The conflict resolution policy for the graph." + } + }, + "required": [ + "id" + ] + }, + "CassandraViewResource": { + "type": "object", + "description": "Cosmos DB Cassandra view resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra view" + }, + "viewDefinition": { + "type": "string", + "description": "View Definition of the Cosmos DB Cassandra view" + } + }, + "required": [ + "id", + "viewDefinition" + ] + }, + "CreateUpdateOptions": { + "type": "object", + "properties": { + "throughput": { + "type": "integer", + "description": "Request Units per second. For example, \"throughput\": 10000." + }, + "autoscaleSettings": { + "$ref": "#/definitions/AutoscaleSettings", + "description": "Specifies the Autoscale settings." + } + }, + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "AutoscaleSettings": { + "type": "object", + "properties": { + "maxThroughput": { + "type": "integer", + "description": "Represents maximum throughput, the resource can scale up to." + } + } + }, + "Capability": { + "type": "object", + "description": "Cosmos DB capability object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB capability. For example, \"name\": \"EnableCassandra\". Current values also include \"EnableTable\" and \"EnableGremlin\"." + } + } + }, + "Capacity": { + "type": "object", + "description": "The object that represents all properties related to capacity enforcement on an account.", + "properties": { + "totalThroughputLimit": { + "type": "integer", + "minimum": -1, + "format": "int32", + "description": "The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no limits on provisioning of throughput." + } + } + }, + "Tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags are 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. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "ManagedServiceIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "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", + "UserAssigned", + "SystemAssigned,UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "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." + } + } + }, + "description": "The list of user identities associated with 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." + }, + "ProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The status of the Cosmos DB account at the time the operation was called. The status can be one of following. 'Creating' – the Cosmos DB account is being created. When an account is in Creating state, only properties that are specified as input for the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – the Cosmos DB account deletion failed." + }, + "IPRules": { + "type": "array", + "description": "Array of IpAddressOrRange objects.", + "items": { + "$ref": "#/definitions/IpAddressOrRange" + } + }, + "IpAddressOrRange": { + "type": "object", + "description": "IpAddressOrRange object", + "properties": { + "ipAddressOrRange": { + "type": "string", + "description": "A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” or “23.40.210.0/8”." + } + } + }, + "VirtualNetworkRule": { + "type": "object", + "description": "Virtual Network ACL Rule object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}." + }, + "ignoreMissingVNetServiceEndpoint": { + "type": "boolean", + "description": "Create firewall rule before the virtual network has vnet service endpoint enabled." + } + } + }, + "NetworkAclBypass": { + "description": "Indicates what services are allowed to bypass firewall checks.", + "type": "string", + "enum": [ + "None", + "AzureServices" + ], + "x-ms-enum": { + "name": "NetworkAclBypass", + "modelAsString": false + } + }, + "DiagnosticLogSettings": { + "type": "object", + "description": "Indicates what diagnostic log settings are to be enabled.", + "properties": { + "enableFullTextQuery": { + "description": "Describe the level of detail with which queries are to be logged.", + "type": "string", + "enum": [ + "None", + "True", + "False" + ], + "x-ms-enum": { + "name": "EnableFullTextQuery", + "modelAsString": false + } + } + } + }, + "Operation": { + "description": "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.ResourceProvider", + "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 operation", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "Result of the request to list Resource Provider 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 operations supported by the Resource Provider." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "UsagesResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "The list of usages for the database. A usage is a point in time metric" + } + }, + "description": "The response to a list usage request." + }, + "Usage": { + "properties": { + "unit": { + "description": "The unit of the metric.", + "$ref": "#/definitions/UnitType" + }, + "name": { + "$ref": "#/definitions/MetricName", + "readOnly": true, + "description": "The name information for the metric." + }, + "quotaPeriod": { + "type": "string", + "readOnly": true, + "description": "The quota period used to summarize the usage values." + }, + "limit": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Maximum value for this metric" + }, + "currentValue": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Current value for this metric" + } + }, + "description": "The usage data for a usage request." + }, + "PartitionUsagesResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PartitionUsage" + }, + "description": "The list of partition-level usages for the database. A usage is a point in time metric" + } + }, + "description": "The response to a list partition level usage request." + }, + "PartitionUsage": { + "allOf": [ + { + "$ref": "#/definitions/Usage" + } + ], + "properties": { + "partitionId": { + "readOnly": true, + "type": "string", + "description": "The partition id (GUID identifier) of the usages." + }, + "partitionKeyRangeId": { + "readOnly": true, + "type": "string", + "description": "The partition key range id (integer identifier) of the usages." + } + }, + "description": "The partition level usage data for a usage request." + }, + "MetricDefinitionsListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MetricDefinition" + }, + "description": "The list of metric definitions for the account." + } + }, + "description": "The response to a list metric definitions request." + }, + "MetricDefinition": { + "properties": { + "metricAvailabilities": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MetricAvailability" + }, + "description": "The list of metric availabilities for the account." + }, + "primaryAggregationType": { + "readOnly": true, + "type": "string", + "description": "The primary aggregation type of the metric.", + "enum": [ + "None", + "Average", + "Total", + "Minimum", + "Maximum", + "Last" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PrimaryAggregationType" + } + }, + "unit": { + "description": "The unit of the metric.", + "$ref": "#/definitions/UnitType" + }, + "resourceUri": { + "readOnly": true, + "type": "string", + "description": "The resource uri of the database." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/MetricName", + "description": "The name information for the metric." + } + }, + "description": "The definition of a metric." + }, + "MetricAvailability": { + "properties": { + "timeGrain": { + "readOnly": true, + "type": "string", + "description": "The time grain to be used to summarize the metric values." + }, + "retention": { + "readOnly": true, + "type": "string", + "description": "The retention for the metric values." + } + }, + "description": "The availability of the metric." + }, + "MetricListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Metric" + }, + "description": "The list of metrics for the account." + } + }, + "description": "The response to a list metrics request." + }, + "Metric": { + "properties": { + "startTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The start time for the metric (ISO-8601 format)." + }, + "endTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The end time for the metric (ISO-8601 format)." + }, + "timeGrain": { + "readOnly": true, + "type": "string", + "description": "The time grain to be used to summarize the metric values." + }, + "unit": { + "$ref": "#/definitions/UnitType", + "description": "The unit of the metric." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/MetricName", + "description": "The name information for the metric." + }, + "metricValues": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/MetricValue" + }, + "description": "The metric values for the specified time window and timestep." + } + }, + "description": "Metric data" + }, + "MetricName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the metric." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The friendly name of the metric." + } + }, + "description": "A metric name." + }, + "MetricValue": { + "properties": { + "_count": { + "readOnly": true, + "type": "number", + "format": "int32", + "description": "The number of values for the metric." + }, + "average": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The average value of the metric." + }, + "maximum": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The max value of the metric." + }, + "minimum": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The min value of the metric." + }, + "timestamp": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The metric timestamp (ISO-8601 format)." + }, + "total": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The total value of the metric." + } + }, + "description": "Represents metrics values." + }, + "PercentileMetricListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PercentileMetric" + }, + "description": "The list of percentile metrics for the account." + } + }, + "description": "The response to a list percentile metrics request." + }, + "PercentileMetric": { + "properties": { + "startTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The start time for the metric (ISO-8601 format)." + }, + "endTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The end time for the metric (ISO-8601 format)." + }, + "timeGrain": { + "readOnly": true, + "type": "string", + "description": "The time grain to be used to summarize the metric values." + }, + "unit": { + "$ref": "#/definitions/UnitType", + "description": "The unit of the metric." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/MetricName", + "description": "The name information for the metric." + }, + "metricValues": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PercentileMetricValue" + }, + "description": "The percentile metric values for the specified time window and timestep." + } + }, + "description": "Percentile Metric data" + }, + "PercentileMetricValue": { + "allOf": [ + { + "$ref": "#/definitions/MetricValue" + } + ], + "properties": { + "P10": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 10th percentile value for the metric." + }, + "P25": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 25th percentile value for the metric." + }, + "P50": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 50th percentile value for the metric." + }, + "P75": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 75th percentile value for the metric." + }, + "P90": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 90th percentile value for the metric." + }, + "P95": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 95th percentile value for the metric." + }, + "P99": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 99th percentile value for the metric." + } + }, + "description": "Represents percentile metrics values." + }, + "PartitionMetricListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PartitionMetric" + }, + "description": "The list of partition-level metrics for the account." + } + }, + "description": "The response to a list partition metrics request." + }, + "PartitionMetric": { + "allOf": [ + { + "$ref": "#/definitions/Metric" + } + ], + "properties": { + "partitionId": { + "readOnly": true, + "type": "string", + "description": "The partition id (GUID identifier) of the metric values." + }, + "partitionKeyRangeId": { + "readOnly": true, + "type": "string", + "description": "The partition key range id (integer identifier) of the metric values." + } + }, + "description": "The metric values for a single partition." + }, + "UnitType": { + "type": "string", + "readOnly": true, + "description": "The unit of the metric.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountPerSecond", + "BytesPerSecond", + "Milliseconds" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "UnitType" + } + }, + "ConnectorOffer": { + "description": "The cassandra connector offer type for the Cosmos DB C* database account.", + "type": "string", + "enum": [ + "Small" + ], + "x-ms-enum": { + "name": "ConnectorOffer", + "modelAsString": true + } + }, + "PublicNetworkAccess": { + "type": "string", + "description": "Whether requests from Public Network are allowed", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PublicNetworkAccess" + } + }, + "ApiProperties": { + "type": "object", + "properties": { + "serverVersion": { + "type": "string", + "enum": [ + "3.2", + "3.6", + "4.0" + ], + "description": "Describes the ServerVersion of an a MongoDB account.", + "x-ms-enum": { + "modelAsString": true, + "name": "ServerVersion" + } + } + } + }, + "AnalyticalStorageConfiguration": { + "type": "object", + "description": "Analytical storage specific properties.", + "properties": { + "schemaType": { + "type": "string", + "$ref": "#/definitions/AnalyticalStorageSchemaType" + } + } + }, + "AnalyticalStorageSchemaType": { + "type": "string", + "description": "Describes the types of schema for analytical storage.", + "enum": [ + "WellDefined", + "FullFidelity" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "AnalyticalStorageSchemaType" + } + }, + "CreateMode": { + "description": "Enum to indicate the mode of account creation.", + "type": "string", + "default": "Default", + "enum": [ + "Default", + "Restore" + ], + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true + } + }, + "RestoreParameters": { + "type": "object", + "description": "Parameters to indicate the information about the restore.", + "x-ms-mutability": [ + "read", + "create" + ], + "properties": { + "restoreMode": { + "type": "string", + "enum": [ + "PointInTime" + ], + "description": "Describes the mode of the restore.", + "x-ms-enum": { + "modelAsString": true, + "name": "RestoreMode" + } + }, + "restoreSource": { + "type": "string", + "description": "The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}" + }, + "restoreTimestampInUtc": { + "type": "string", + "format": "date-time", + "description": "Time to which the account has to be restored (ISO-8601 format)." + }, + "databasesToRestore": { + "type": "array", + "description": "List of specific databases available for restore.", + "items": { + "$ref": "#/definitions/DatabaseRestoreResource" + } + } + } + }, + "DatabaseRestoreResource": { + "type": "object", + "description": "Specific Databases to restore.", + "properties": { + "databaseName": { + "type": "string", + "description": "The name of the database available for restore." + }, + "collectionNames": { + "type": "array", + "description": "The names of the collections available for restore.", + "items": { + "$ref": "#/definitions/CollectionName" + } + } + } + }, + "CollectionName": { + "type": "string", + "description": "The name of the collection." + }, + "BackupPolicy": { + "type": "object", + "description": "The object representing the policy for taking backups on an account.", + "discriminator": "type", + "properties": { + "type": { + "description": "Describes the mode of backups.", + "type": "string", + "$ref": "#/definitions/BackupPolicyType" + }, + "migrationState": { + "description": "The object representing the state of the migration between the backup policies.", + "type": "object", + "$ref": "#/definitions/BackupPolicyMigrationState" + } + }, + "required": [ + "type" + ] + }, + "BackupPolicyType": { + "description": "Describes the mode of backups.", + "type": "string", + "enum": [ + "Periodic", + "Continuous" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BackupPolicyType" + } + }, + "BackupPolicyMigrationState": { + "type": "object", + "description": "The object representing the state of the migration between the backup policies.", + "properties": { + "status": { + "description": "Describes the status of migration between backup policy types.", + "type": "string", + "$ref": "#/definitions/BackupPolicyMigrationStatus" + }, + "targetType": { + "description": "Describes the target backup policy type of the backup policy migration.", + "type": "string", + "$ref": "#/definitions/BackupPolicyType" + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Time at which the backup policy migration started (ISO-8601 format)." + } + } + }, + "BackupPolicyMigrationStatus": { + "description": "Describes the status of migration between backup policy types.", + "type": "string", + "enum": [ + "Invalid", + "InProgress", + "Completed", + "Failed" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BackupPolicyMigrationStatus" + } + }, + "PeriodicModeBackupPolicy": { + "description": "The object representing periodic mode backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupPolicy" + } + ], + "properties": { + "periodicModeProperties": { + "type": "object", + "description": "Configuration values for periodic mode backup", + "$ref": "#/definitions/PeriodicModeProperties" + } + }, + "x-ms-discriminator-value": "Periodic" + }, + "ContinuousModeBackupPolicy": { + "description": "The object representing continuous mode backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupPolicy" + } + ], + "x-ms-discriminator-value": "Continuous" + }, + "PeriodicModeProperties": { + "type": "object", + "description": "Configuration values for periodic mode backup", + "properties": { + "backupIntervalInMinutes": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "An integer representing the interval in minutes between two backups" + }, + "backupRetentionIntervalInHours": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "An integer representing the time (in hours) that each backup is retained" + }, + "backupStorageRedundancy": { + "description": "Enum to indicate type of backup residency", + "type": "string", + "$ref": "#/definitions/BackupStorageRedundancy" + } + } + }, + "LocationListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/LocationGetResult" + }, + "description": "List of Cosmos DB locations and their properties." + } + }, + "description": "The List operation response, that contains Cosmos DB locations and their properties." + }, + "LocationGetResult": { + "description": "Cosmos DB location get result", + "type": "object", + "properties": { + "properties": { + "type": "object", + "description": "Cosmos DB location metadata", + "$ref": "#/definitions/LocationProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMProxyResource" + } + ] + }, + "LocationProperties": { + "description": "Cosmos DB location metadata", + "type": "object", + "properties": { + "status": { + "type": "string", + "readOnly": true, + "description": "The current status of location in Azure." + }, + "supportsAvailabilityZone": { + "type": "boolean", + "readOnly": true, + "description": "Flag indicating whether the location supports availability zones or not." + }, + "isResidencyRestricted": { + "type": "boolean", + "readOnly": true, + "description": "Flag indicating whether the location is residency sensitive." + }, + "backupStorageRedundancies": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/BackupStorageRedundancy" + }, + "description": "The properties of available backup storage redundancies." + } + } + }, + "BackupStorageRedundancy": { + "description": "Enum to indicate type of backup storage redundancy.", + "type": "string", + "enum": [ + "Geo", + "Local", + "Zone" + ], + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + } + } + }, + "parameters": { + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of an Azure resource group." + }, + "accountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database account name.", + "minLength": 3, + "maxLength": 50, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + "filterParameter": { + "name": "$filter", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "An OData filter expression that describes a subset of metrics to return. The parameters that can be filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and timeGrain. The supported operator is eq." + }, + "usageFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "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)." + }, + "databaseRidParameter": { + "name": "databaseRid", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database rid." + }, + "collectionRidParameter": { + "name": "collectionRid", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB collection rid." + }, + "graphResourceNameParameter": { + "name": "graphName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB graph resource name." + }, + "databaseNameParameter": { + "name": "databaseName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database name." + }, + "clientEncryptionKeyNameParameter": { + "name": "clientEncryptionKeyName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB ClientEncryptionKey name." + }, + "containerNameParameter": { + "name": "containerName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB container name." + }, + "storedProcedureNameParameter": { + "name": "storedProcedureName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB storedProcedure name." + }, + "userDefinedFunctionNameParameter": { + "name": "userDefinedFunctionName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB userDefinedFunction name." + }, + "triggerNameParameter": { + "name": "triggerName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB trigger name." + }, + "tableNameParameter": { + "name": "tableName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB table name." + }, + "collectionNameParameter": { + "name": "collectionName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB collection name." + }, + "keyspaceNameParameter": { + "name": "keyspaceName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB keyspace name." + }, + "graphNameParameter": { + "name": "graphName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB graph name." + }, + "regionParameter": { + "name": "region", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB region, with spaces between words and each word capitalized." + }, + "sourceRegionParameter": { + "name": "sourceRegion", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Source region from which data is written. Cosmos DB region, with spaces between words and each word capitalized." + }, + "targetRegionParameter": { + "name": "targetRegion", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Target region to which data is written. Cosmos DB region, with spaces between words and each word capitalized." + }, + "partitionKeyRangeIdParameter": { + "name": "partitionKeyRangeId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Partition Key Range Id for which to get data." + }, + "locationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB region, with spaces between words and each word capitalized." + }, + "viewNameParameter": { + "name": "viewName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB view name." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/dataTransferService.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/dataTransferService.json new file mode 100644 index 000000000000..f3cf0250f2d2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/dataTransferService.json @@ -0,0 +1,350 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Data Transfer Service Resource Provider REST API", + "version": "2021-10-15-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.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs/{jobName}": { + "put": { + "operationId": "DataTransferJobs_Create", + "description": "Creates a Data Transfer Job.", + "x-ms-examples": { + "CosmosDBDataTransferJobCreate": { + "$ref": "./examples/data-transfer-service/CosmosDBDataTransferJobCreate.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + }, + { + "name": "jobCreateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateJobRequest" + } + } + ], + "responses": { + "201": { + "description": "Successful CreateJob response", + "schema": { + "$ref": "#/definitions/DataTransferJobGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "get": { + "operationId": "DataTransferJobs_Get", + "description": "Get a Data Transfer Job.", + "x-ms-examples": { + "CosmosDBDataTransferJobGet": { + "$ref": "./examples/data-transfer-service/CosmosDBDataTransferJobGet.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + } + ], + "responses": { + "200": { + "description": "The Data Transfer Job Properties retrieved successfully", + "schema": { + "$ref": "#/definitions/DataTransferJobGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs": { + "get": { + "operationId": "DataTransferJobs_ListByDatabaseAccount", + "description": "Get a list of Data Transfer jobs.", + "x-ms-examples": { + "CosmosDBDataTransferJobFeed": { + "$ref": "./examples/data-transfer-service/CosmosDBDataTransferJobFeed.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "All Data Transfer Jobs retrieved successfully", + "schema": { + "$ref": "#/definitions/DataTransferJobFeedResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "DataTransferDataSourceSink": { + "type": "object", + "description": "Base class for all DataTransfer source/sink", + "properties": { + "component": { + "type": "string", + "enum": [ + "CosmosDBCassandra", + "AzureStorage" + ], + "x-ms-enum": { + "name": "DataTransferComponent", + "modelAsString": true + }, + "default": "CosmosDBCassandra" + } + }, + "discriminator": "component", + "required": [ + "component" + ] + }, + "CosmosCassandraDataTransferDataSourceSink": { + "type": "object", + "description": "A CosmosDB Cassandra API data source/sink", + "properties": { + "keyspaceName": { + "type": "string" + }, + "tableName": { + "type": "string" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataTransferDataSourceSink" + } + ], + "required": [ + "keyspaceName", + "tableName" + ], + "x-ms-discriminator-value": "CosmosDBCassandra" + }, + "AzureBlobDataTransferDataSourceSink": { + "type": "object", + "description": "An Azure Blob Storage data source/sink", + "allOf": [ + { + "$ref": "#/definitions/DataTransferDataSourceSink" + } + ], + "properties": { + "containerName": { + "type": "string" + }, + "endpointUrl": { + "type": "string" + } + }, + "required": [ + "containerName" + ], + "x-ms-discriminator-value": "AzureBlobStorage" + }, + "DataTransferJobProperties": { + "description": "The properties of a DataTransfer Job", + "type": "object", + "properties": { + "jobName": { + "readOnly": true, + "type": "string", + "description": "Job Name" + }, + "source": { + "$ref": "#/definitions/DataTransferDataSourceSink", + "description": "Source DataStore details" + }, + "destination": { + "$ref": "#/definitions/DataTransferDataSourceSink", + "description": "Destination DataStore details" + }, + "status": { + "readOnly": true, + "type": "string", + "description": "Job Status" + }, + "percentageComplete": { + "readOnly": true, + "type": "number", + "description": "Percentage of completion." + }, + "lastUpdatedUtcTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Last Updated Time (ISO-8601 format)." + }, + "workerCount": { + "description": "Worker count", + "type": "integer", + "minimum": 0, + "format": "int32" + }, + "error": { + "readOnly": true, + "$ref": "./cosmos-db.json#/definitions/ErrorResponse", + "description": "Error response for Faulted job" + } + }, + "required": [ + "source", + "destination" + ] + }, + "CreateJobRequest": { + "description": "Parameters to create Data Transfer Job", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DataTransferJobProperties", + "description": "Data Transfer Create Job Properties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "./cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "DataTransferJobGetResults": { + "description": "A Cosmos DB Data Transfer Job", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "type": "object", + "$ref": "#/definitions/DataTransferJobProperties" + } + }, + "allOf": [ + { + "$ref": "./cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "DataTransferJobFeedResults": { + "description": "The List operation response, that contains the Data Transfer jobs and their properties.", + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DataTransferJobGetResults" + }, + "description": "List of Data Transfer jobs and their properties." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of Data Transfer job list results if there are any." + } + } + } + }, + "parameters": { + "JobNameParameter": { + "name": "jobName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Name of the Data Transfer Job" + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json new file mode 100644 index 000000000000..9915c5cc7664 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "createUpdateCassandraKeyspaceParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "keyspaceName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName", + "name": "keyspaceName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "keyspaceName" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceDelete.json new file mode 100644 index 000000000000..1e5a8c0af1f2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceGet.json new file mode 100644 index 000000000000..0b5630389d4e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName", + "name": "keyspaceName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "keyspaceName", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceList.json new file mode 100644 index 000000000000..bbaa979cc6de --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName", + "name": "keyspaceName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "keyspaceName" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json new file mode 100644 index 000000000000..b6045738effe --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json new file mode 100644 index 000000000000..19432a1ae25a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json new file mode 100644 index 000000000000..a2becafcb71d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json new file mode 100644 index 000000000000..6e438d79ddfc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableCreateUpdate.json new file mode 100644 index 000000000000..8ae7c43f2bd2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableCreateUpdate.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName", + "createUpdateCassandraTableParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "defaultTtl": 100, + "analyticalStorageTtl": 500, + "schema": { + "columns": [ + { + "name": "columnA", + "type": "Ascii" + } + ], + "partitionKeys": [ + { + "name": "columnA" + } + ], + "clusterKeys": [ + { + "name": "columnA", + "orderBy": "Asc" + } + ] + } + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "defaultTtl": 100, + "analyticalStorageTtl": 500, + "schema": { + "columns": [ + { + "name": "columnA", + "type": "Ascii" + } + ], + "partitionKeys": [ + { + "name": "columnA" + } + ], + "clusterKeys": [ + { + "name": "columnA", + "orderBy": "Asc" + } + ] + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableDelete.json new file mode 100644 index 000000000000..aef741667921 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableGet.json new file mode 100644 index 000000000000..911bda5f4ddb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "defaultTtl": 100, + "analyticalStorageTtl": 500, + "schema": { + "columns": [ + { + "name": "columnA", + "type": "Ascii" + } + ], + "partitionKeys": [ + { + "name": "columnA" + } + ], + "clusterKeys": [ + { + "name": "columnA", + "orderBy": "Asc" + } + ] + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableList.json new file mode 100644 index 000000000000..ca6b9ea6455a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableList.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "defaultTtl": 100, + "analyticalStorageTtl": 500, + "schema": { + "columns": [ + { + "name": "columnA", + "type": "Ascii" + } + ], + "partitionKeys": [ + { + "name": "columnA" + } + ], + "clusterKeys": [ + { + "name": "columnA", + "orderBy": "Asc" + } + ] + } + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableMigrateToAutoscale.json new file mode 100644 index 000000000000..4b2817bdd3ff --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableMigrateToManualThroughput.json new file mode 100644 index 000000000000..e8e4c12b0bdc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableThroughputGet.json new file mode 100644 index 000000000000..5ce5848bee56 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableThroughputUpdate.json new file mode 100644 index 000000000000..45a4aa741f21 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableThroughputUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables/throughputSettings", + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewCreateUpdate.json new file mode 100644 index 000000000000..eaceac7bd09e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewCreateUpdate.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname", + "createUpdateCassandraViewParameters": { + "tags": {}, + "properties": { + "resource": { + "id": "viewname", + "viewDefinition": "SELECT columna, columnb, columnc FROM keyspacename.srctablename WHERE columna IS NOT NULL AND columnc IS NOT NULL PRIMARY (columnc, columna)" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspacename/views/viewname", + "name": "viewname", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views", + "tags": {}, + "properties": { + "resource": { + "id": "viewname", + "viewDefinition": "SELECT columna, columnb, columnc FROM keyspacename.srctablename WHERE columna IS NOT NULL AND columnc IS NOT NULL PRIMARY (columnc, columna)" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewDelete.json new file mode 100644 index 000000000000..d3ef4d14c4c9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname" + }, + "responses": { + "200": {}, + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewGet.json new file mode 100644 index 000000000000..8ffb54db5a0c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspacename/views/viewname", + "name": "viewname", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views", + "tags": {}, + "properties": { + "resource": { + "id": "viewname", + "viewDefinition": "SELECT columna, columnb, columnc FROM keyspacename.srctablename WHERE columna IS NOT NULL AND columnc IS NOT NULL PRIMARY (columnc, columna)" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewList.json new file mode 100644 index 000000000000..daad902d5fc6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "keyspaceName": "keyspacename" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspacename/views/viewname", + "name": "viewname", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views", + "tags": {}, + "properties": { + "resource": { + "id": "viewname", + "viewDefinition": "SELECT columna, columnb, columnc FROM keyspacename.srctablename WHERE columna IS NOT NULL AND columnc IS NOT NULL PRIMARY (columnc, columna)" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewMigrateToAutoscale.json new file mode 100644 index 000000000000..583b1cc104ac --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewMigrateToAutoscale.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewMigrateToManualThroughput.json new file mode 100644 index 000000000000..e759fd714d7b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewMigrateToManualThroughput.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "false" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewThroughputGet.json new file mode 100644 index 000000000000..9111c3041a70 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewThroughputGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/views/viewName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views/throughputSettings", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewThroughputUpdate.json new file mode 100644 index 000000000000..07f59e175615 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewThroughputUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname", + "updateThroughputParameters": { + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/views/viewName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views/throughputSettings", + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionGetMetricDefinitions.json new file mode 100644 index 000000000000..9cffdeecbb0f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionGetMetricDefinitions.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2021-10-15-preview", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "metricAvailabilities": [ + { + "timeGrain": "PT5M", + "retention": "P2D" + }, + { + "timeGrain": "PT1H", + "retention": "P14D" + }, + { + "timeGrain": "P1D", + "retention": "P60D" + } + ], + "primaryAggregationType": "Total", + "unit": "Count", + "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionGetMetrics.json new file mode 100644 index 000000000000..5904e8bec457 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionGetMetrics.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionGetUsages.json new file mode 100644 index 000000000000..04513cf905f4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionGetUsages.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "subscriptionId": "subid", + "$filter": "$filter=name.value eq 'Storage'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Bytes", + "quotaPeriod": "P1D", + "limit": 10737418240, + "currentValue": 0, + "name": { + "value": "Storage", + "localizedValue": "Storage" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionPartitionGetMetrics.json new file mode 100644 index 000000000000..81d7f08e22be --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionPartitionGetMetrics.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT1M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T23:58:55.2780000Z", + "unit": "Count", + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:54:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:55:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:56:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:57:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "maximum": 5 + } + ], + "name": { + "value": "Max RUs Per Second", + "localizedValue": "Max RUs Per Second" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionPartitionGetUsages.json new file mode 100644 index 000000000000..aa7aee74d6cd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionPartitionGetUsages.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "subscriptionId": "subid", + "$filter": "$filter=name.value eq 'Partition Storage'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Bytes", + "quotaPeriod": "P1D", + "limit": 10737418240, + "currentValue": 0, + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "name": { + "value": "Storage", + "localizedValue": "Storage" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json new file mode 100644 index 000000000000..3625ddcc3ac3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "region": "North Europe", + "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT1M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T23:58:55.2780000Z", + "unit": "Count", + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:54:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:55:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:56:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:57:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "maximum": 5 + } + ], + "name": { + "value": "Max RUs Per Second", + "localizedValue": "Max RUs Per Second" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDataTransferServiceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDataTransferServiceCreate.json new file mode 100644 index 000000000000..517ecb45aa70 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDataTransferServiceCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "serviceName": "DataTransfer", + "createUpdateParameters": { + "properties": { + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "DataTransfer" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/DataTransfer", + "name": "DataTransfer", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "DataTransfer", + "locations": [ + { + "name": "DataTransfer-westus2", + "location": "West US 2", + "status": "Running" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDataTransferServiceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDataTransferServiceDelete.json new file mode 100644 index 000000000000..3ed017735991 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDataTransferServiceDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "serviceName": "DataTransfer" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDataTransferServiceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDataTransferServiceGet.json new file mode 100644 index 000000000000..3eff3566e13d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDataTransferServiceGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "serviceName": "DataTransfer" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/DataTransfer", + "name": "DataTransfer", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "DataTransfer", + "locations": [ + { + "name": "DataTransfer-westus2", + "location": "West US 2", + "status": "Running" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json new file mode 100644 index 000000000000..809c1717975f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "accountName": "ddb1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "404": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountCreateMax.json new file mode 100644 index 000000000000..2405705f1137 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountCreateMax.json @@ -0,0 +1,222 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "tags": {}, + "kind": "MongoDB", + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + }, + "properties": { + "databaseAccountOfferType": "Standard", + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "isVirtualNetworkFilterEnabled": true, + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "ignoreMissingVNetServiceEndpoint": false + } + ], + "publicNetworkAccess": "Enabled", + "locations": [ + { + "failoverPriority": 0, + "locationName": "southcentralus", + "isZoneRedundant": false + }, + { + "failoverPriority": 1, + "locationName": "eastus", + "isZoneRedundant": false + } + ], + "createMode": "Default", + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "keyVaultKeyUri": "https://myKeyVault.vault.azure.net", + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "apiProperties": { + "serverVersion": "3.2" + }, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 8, + "backupStorageRedundancy": "Geo" + } + }, + "cors": [ + { + "allowedOrigins": "https://test" + } + ], + "networkAclBypass": "AzureServices", + "networkAclBypassResourceIds": [ + "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName" + ], + "capacity": { + "totalThroughputLimit": 2000 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "MongoDB", + "tags": {}, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Initializing", + "isVirtualNetworkFilterEnabled": true, + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "writeLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "readLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + }, + { + "id": "ddb1-eastus", + "locationName": "East US", + "provisioningState": "Initializing", + "failoverPriority": 1, + "isZoneRedundant": false + } + ], + "locations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + }, + { + "id": "ddb1-eastus", + "locationName": "East US", + "provisioningState": "Initializing", + "failoverPriority": 1, + "isZoneRedundant": false + } + ], + "failoverPolicies": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "failoverPriority": 0 + }, + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 1 + } + ], + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + } + ], + "publicNetworkAccess": "Enabled", + "keyVaultKeyUri": "https://myKeyVault.vault.azure.net", + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "apiProperties": { + "serverVersion": "3.2" + }, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "createMode": "Default", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 8, + "backupStorageRedundancy": "Geo" + } + }, + "cors": [ + { + "allowedOrigins": "https://test" + } + ], + "networkAclBypass": "AzureServices", + "networkAclBypassResourceIds": [ + "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName" + ], + "capacity": { + "totalThroughputLimit": 2000 + } + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountCreateMin.json new file mode 100644 index 000000000000..3de168cf3887 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountCreateMin.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "properties": { + "databaseAccountOfferType": "Standard", + "locations": [ + { + "failoverPriority": 0, + "locationName": "southcentralus", + "isZoneRedundant": false + } + ], + "createMode": "Default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Initializing", + "ipRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "readLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "locations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "failoverPolicies": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "failoverPriority": 0 + } + ], + "cors": [], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": false, + "analyticalStorageConfiguration": null, + "networkAclBypass": "None", + "networkAclBypassResourceIds": [], + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Geo" + } + } + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountDelete.json new file mode 100644 index 000000000000..e326f1f2ee8a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json new file mode 100644 index 000000000000..f98a53150770 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "accountName": "ddb1-failover", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "failoverParameters": { + "failoverPolicies": [ + { + "locationName": "eastus", + "failoverPriority": 0 + }, + { + "locationName": "westus", + "failoverPriority": 1 + } + ] + } + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGet.json new file mode 100644 index 000000000000..a9d8460573c0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGet.json @@ -0,0 +1,121 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "documentEndpoint": "https://ddb1.documents.azure.com:443/", + "ipRules": [], + "isVirtualNetworkFilterEnabled": false, + "virtualNetworkRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "defaultIdentity": "FirstPartyIdentity", + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "readLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "locations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "failoverPolicies": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 0 + } + ], + "privateEndpointConnections": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + } + ], + "cors": [], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 8, + "backupStorageRedundancy": "Geo" + }, + "migrationState": { + "status": "InProgress", + "targetType": "Continuous", + "startTime": "2021-06-09T21:07:16Z" + } + }, + "networkAclBypass": "None", + "networkAclBypassResourceIds": [], + "diagnosticLogSettings": { + "enableFullTextQuery": "False" + } + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d" + } + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json new file mode 100644 index 000000000000..4b10e8d7956a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "metricAvailabilities": [ + { + "timeGrain": "PT5M", + "retention": "P2D" + }, + { + "timeGrain": "PT1H", + "retention": "P14D" + }, + { + "timeGrain": "P1D", + "retention": "P60D" + } + ], + "primaryAggregationType": "Total", + "unit": "Count", + "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGetMetrics.json new file mode 100644 index 000000000000..1825d6f4a11a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGetMetrics.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGetUsages.json new file mode 100644 index 000000000000..b7a2efc532bb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGetUsages.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "$filter": "$filter=name.value eq 'Storage'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Bytes", + "quotaPeriod": "P1D", + "limit": 10737418240, + "currentValue": 0, + "name": { + "value": "Storage", + "localizedValue": "Storage" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountList.json new file mode 100644 index 000000000000..f92f92d44365 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountList.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "documentEndpoint": "https://ddb1.documents.azure.com:443/", + "ipRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "readLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "locations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "failoverPolicies": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 0 + } + ], + "privateEndpointConnections": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + } + ], + "cors": [], + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Geo" + } + }, + "networkAclBypass": "None", + "networkAclBypassResourceIds": [] + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d" + } + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json new file mode 100644 index 000000000000..7a4250ec41d0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "documentEndpoint": "https://ddb1.documents.azure.com:443/", + "ipRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "readLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "locations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "failoverPolicies": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 0 + } + ], + "cors": [], + "enableFreeTier": false, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "defaultIdentity": "FirstPartyIdentity", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Geo" + } + }, + "networkAclBypass": "None", + "networkAclBypassResourceIds": [] + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d" + } + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json new file mode 100644 index 000000000000..c6124fb82831 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json new file mode 100644 index 000000000000..70f0be149dfd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "mongo-ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "connectionStrings": [ + { + "connectionString": "connection-string", + "description": "Name of the connection string" + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListKeys.json new file mode 100644 index 000000000000..db49e2659997 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListKeys.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryMasterKey": "primaryMasterKey", + "secondaryMasterKey": "secondaryMasterKey", + "primaryReadonlyMasterKey": "primaryReadonlyMasterKey", + "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json new file mode 100644 index 000000000000..4cbb6dbaeb71 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryReadonlyMasterKey": "primaryReadonlyMasterKey", + "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json new file mode 100644 index 000000000000..68972ece6bc4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "region": "North Europe", + "regionParameterForOffline": [ + { + "region": "North Europe" + } + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json new file mode 100644 index 000000000000..d4bfae722070 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "region": "North Europe", + "regionParameterForOnline": [ + { + "region": "North Europe" + } + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountPatch.json new file mode 100644 index 000000000000..dc332012655c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountPatch.json @@ -0,0 +1,196 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "updateParameters": { + "location": "westus", + "tags": { + "dept": "finance" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + }, + "properties": { + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "isVirtualNetworkFilterEnabled": true, + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "ignoreMissingVNetServiceEndpoint": false + } + ], + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Geo" + } + }, + "networkAclBypass": "AzureServices", + "networkAclBypassResourceIds": [ + "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName" + ], + "capacity": { + "totalThroughputLimit": 2000 + }, + "diagnosticLogSettings": { + "enableFullTextQuery": "True" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": { + "dept": "finance" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "documentEndpoint": "https://ddb1.documents.azure.com:443/", + "databaseAccountOfferType": "Standard", + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "isVirtualNetworkFilterEnabled": true, + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "writeLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "readLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "locations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "failoverPolicies": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 0 + } + ], + "cors": [], + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "ignoreMissingVNetServiceEndpoint": false + } + ], + "privateEndpointConnections": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + } + ], + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": true, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Geo" + } + }, + "networkAclBypass": "AzureServices", + "networkAclBypassResourceIds": [ + "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName" + ], + "capacity": { + "totalThroughputLimit": 2000 + }, + "diagnosticLogSettings": { + "enableFullTextQuery": "True" + } + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json new file mode 100644 index 000000000000..23d15d52bdaa --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "keyToRegenerate": { + "keyKind": "primary" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json new file mode 100644 index 000000000000..bd449c73844f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "region": "North Europe", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json new file mode 100644 index 000000000000..6c46c641c7de --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2021-10-15-preview", + "databaseRid": "databaseRid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "metricAvailabilities": [ + { + "timeGrain": "PT5M", + "retention": "P2D" + }, + { + "timeGrain": "PT1H", + "retention": "P14D" + }, + { + "timeGrain": "P1D", + "retention": "P60D" + } + ], + "primaryAggregationType": "Total", + "unit": "Count", + "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseGetMetrics.json new file mode 100644 index 000000000000..b799293b5a5d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseGetMetrics.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseRid": "rid", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseGetUsages.json new file mode 100644 index 000000000000..84b31da1b968 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseGetUsages.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "databaseRid": "databaseRid", + "subscriptionId": "subid", + "$filter": "$filter=name.value eq 'Storage'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Bytes", + "quotaPeriod": "P1D", + "limit": 10737418240, + "currentValue": 0, + "name": { + "value": "Storage", + "localizedValue": "Storage" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphAPIComputeServiceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphAPIComputeServiceCreate.json new file mode 100644 index 000000000000..f8b72006a884 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphAPIComputeServiceCreate.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "serviceName": "GraphAPICompute", + "createUpdateParameters": { + "properties": { + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "GraphAPICompute" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/GraphAPICompute", + "name": "GraphAPICompute", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "GraphAPICompute", + "graphApiComputeEndpoint": "https://graphAPICompute.gremlin.cosmos.windows-int.net/", + "locations": [ + { + "name": "GraphAPICompute-westus2", + "location": "West US 2", + "status": "Running", + "graphApiComputeEndpoint": "https://graphAPICompute-westus.gremlin.cosmos.windows-int.net/" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphAPIComputeServiceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphAPIComputeServiceDelete.json new file mode 100644 index 000000000000..dc60bfd04c50 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphAPIComputeServiceDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "serviceName": "GraphAPICompute" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphAPIComputeServiceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphAPIComputeServiceGet.json new file mode 100644 index 000000000000..6b6d54fc9e05 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphAPIComputeServiceGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "serviceName": "GraphAPICompute" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/GraphAPICompute", + "name": "GraphAPICompute", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "GraphAPICompute", + "graphApiComputeEndpoint": "https://graphAPICompute.gremlin.cosmos.windows-int.net/", + "locations": [ + { + "name": "GraphAPICompute-westus2", + "location": "West US 2", + "status": "Running", + "graphApiComputeEndpoint": "https://graphAPICompute-westus.gremlin.cosmos.windows-int.net/" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceCreateUpdate.json new file mode 100644 index 000000000000..e91431324c86 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceCreateUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "graphName": "graphName", + "createUpdateGraphParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/graphs/graphName", + "name": "graphName", + "type": "Microsoft.DocumentDB/databaseAccounts/graphs", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceDelete.json new file mode 100644 index 000000000000..f789d68b1ebd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "graphName": "graphName" + }, + "responses": { + "204": {}, + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceGet.json new file mode 100644 index 000000000000..5359fa8267f7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/graphs/graphName", + "name": "graphName", + "type": "Microsoft.DocumentDB/databaseAccounts/graphs", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceList.json new file mode 100644 index 000000000000..e2077e0346f1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/graphs/graphName", + "name": "graphName", + "type": "Microsoft.DocumentDB/databaseAccounts/graphs", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json new file mode 100644 index 000000000000..85b759b48476 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "createUpdateGremlinDatabaseParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseDelete.json new file mode 100644 index 000000000000..ef767d73f650 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseGet.json new file mode 100644 index 000000000000..a3a104556ada --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseList.json new file mode 100644 index 000000000000..3a4aa8279314 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..471e848b89c3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..e5bad8f52530 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json new file mode 100644 index 000000000000..9ccf88088511 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..e863b1fff5e0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphCreateUpdate.json new file mode 100644 index 000000000000..48183dc79925 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphCreateUpdate.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName", + "createUpdateGremlinGraphParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + } + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName", + "name": "graphName", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/gremlinGraphs", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphDelete.json new file mode 100644 index 000000000000..922aa19aafe1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphGet.json new file mode 100644 index 000000000000..9f46aa802f39 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphGet.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "id": "graphName", + "name": "graphName", + "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs", + "properties": { + "resource": { + "id": "graphName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphList.json new file mode 100644 index 000000000000..0cd7a1ad8492 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphList.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "testgrf", + "name": "testgrf", + "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs", + "properties": { + "resource": { + "id": "testgrf", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphMigrateToAutoscale.json new file mode 100644 index 000000000000..1f191a151f5e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json new file mode 100644 index 000000000000..df78aeb90a02 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphThroughputGet.json new file mode 100644 index 000000000000..63219d8a4c21 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json new file mode 100644 index 000000000000..b71af215b3cf --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBLocationGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBLocationGet.json new file mode 100644 index 000000000000..2511badb83d3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBLocationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "westus" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus", + "type": "Microsoft.DocumentDB/locations", + "name": "westus", + "properties": { + "status": "ProductionSLA", + "supportsAvailabilityZone": true, + "isResidencyRestricted": true, + "backupStorageRedundancies": [ + "Local", + "Geo" + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBLocationList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBLocationList.json new file mode 100644 index 000000000000..9107cc2c535f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBLocationList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus", + "type": "Microsoft.DocumentDB/locations", + "name": "westus", + "properties": { + "status": "ProductionSLA", + "supportsAvailabilityZone": false, + "isResidencyRestricted": false, + "backupStorageRedundancies": [ + "Local", + "Geo" + ] + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/centralus", + "type": "Microsoft.DocumentDB/locations", + "name": "centralus", + "properties": { + "status": "ProductionSLA", + "supportsAvailabilityZone": true, + "isResidencyRestricted": false, + "backupStorageRedundancies": [ + "Zone", + "Geo" + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraBackup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraBackup.json new file mode 100644 index 000000000000..543452403146 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraBackup.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15-preview", + "clusterName": "cassandra-prod", + "backupId": "1611250348" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/backups/1611250348", + "name": "1611250348", + "type": "Microsoft.DocumentDB/cassandraClusters/backups", + "properties": { + "timestamp": "2021-01-21T17:32:28Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraBackupsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraBackupsList.json new file mode 100644 index 000000000000..70a03356840f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraBackupsList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/backups/1611250348", + "name": "1611250348", + "type": "Microsoft.DocumentDB/cassandraClusters/backups", + "properties": { + "timestamp": "2021-01-21T17:32:28Z" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/backups/1611214220", + "name": "1611214220", + "type": "Microsoft.DocumentDB/cassandraClusters/backups", + "properties": { + "timestamp": "2021-01-21T07:30:20Z" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterCreate.json new file mode 100644 index 000000000000..7660cae7e821 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterCreate.json @@ -0,0 +1,155 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15-preview", + "clusterName": "cassandra-prod", + "body": { + "location": "West US", + "tags": {}, + "properties": { + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "initialCassandraAdminPassword": "mypassword", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterDeallocate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterDeallocate.json new file mode 100644 index 000000000000..e6a7057edfce --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterDeallocate.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterDelete.json new file mode 100644 index 000000000000..4d0c313bd924 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterGet.json new file mode 100644 index 000000000000..9442df32fbba --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterGet.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json new file mode 100644 index 000000000000..dca5e2ff9650 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterListBySubscription.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterListBySubscription.json new file mode 100644 index 000000000000..b1510b0bc49f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterListBySubscription.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/cassandraClusters", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterPatch.json new file mode 100644 index 000000000000..a22d0ab265bd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterPatch.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15-preview", + "clusterName": "cassandra-prod", + "body": { + "tags": { + "owner": "mike" + }, + "properties": { + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "hoursBetweenBackups": 12, + "authenticationMethod": "None" + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/318653d0-3da5-4814-b8f6-429f2af0b2a4?api-version=2021-10-15-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": { + "owner": "mike" + }, + "properties": { + "provisioningState": "Updating", + "delegatedManagementSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterStart.json new file mode 100644 index 000000000000..62a258cb11a5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterStart.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westeurope/operationResults/1d4397b9-0453-43b6-bccd-d9cea304f297?api-version=2021-10-15" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraCommand.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraCommand.json new file mode 100644 index 000000000000..be6a96836a1f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraCommand.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15-preview", + "clusterName": "cassandra-prod", + "body": { + "command": "nodetool", + "arguments": { + "status": "" + }, + "host": "10.0.1.12" + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westeurope/operationsStatus/318653d0-3da5-4814-b8f6-429f2af0b2a4?api-version=2021-10-15-preview" + }, + "body": { + "commandOutput": "Datacenter: datacenter1\n=======================\n" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterCreate.json new file mode 100644 index 000000000000..e6935c9b3987 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterCreate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15-preview", + "clusterName": "cassandra-prod", + "dataCenterName": "dc1", + "body": { + "properties": { + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1-subnet", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Succeeded", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Creating", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "seedNodes": [] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterDelete.json new file mode 100644 index 000000000000..7163f590ec1e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15-preview", + "clusterName": "cassandra-prod", + "dataCenterName": "dc1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterGet.json new file mode 100644 index 000000000000..1d50290cc7ba --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15-preview", + "clusterName": "cassandra-prod", + "dataCenterName": "dc1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Succeeded", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=", + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterList.json new file mode 100644 index 000000000000..4514a3c46b90 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterList.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Succeeded", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterPatch.json new file mode 100644 index 000000000000..e387484ff3f5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterPatch.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15-preview", + "clusterName": "cassandra-prod", + "dataCenterName": "dc1", + "body": { + "properties": { + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1-subnet", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=" + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/operationsStatus/318653d0-3da5-4814-b8f6-429f2af0b2a4?api-version=2021-10-15-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Updating", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=", + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Succeeded", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=", + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraStatus.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraStatus.json new file mode 100644 index 000000000000..122dd2fd9d94 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraStatus.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "200": { + "body": { + "eTag": "A350A2CE7E91B6D5A102A5E5EC222B882D981092", + "reaperStatus": { + "healthy": true, + "repairRunIds": {}, + "repairSchedules": { + "00000000-0000-0001-0000-000000000000": "ACTIVE" + } + }, + "connectionErrors": [], + "dataCenters": [ + { + "name": "cassandra-westus2-vmss", + "seedNodes": [ + "10.0.8.10", + "10.0.8.11", + "10.0.8.12" + ], + "nodes": [ + { + "address": "10.0.8.10", + "state": "", + "status": "", + "load": "84.61 MiB", + "tokens": [ + "-7785254003841681178", + "-6756518164561476165", + "-4269720020504480060", + "-2697657908817852783", + "-2622387897201218249", + "-2177258200443022948", + "-129203941752875603", + "1738406920822650025", + "2598053056312400240", + "3227346424117996872", + "3644347038875498376", + "4823546474906050895", + "5293156680707616627", + "5485806686603256557", + "6250058817756969464", + "7991328665766267709" + ], + "size": 16, + "hostID": "8ccc00a7-9e22-4ac2-aa63-e5327aa0dc51", + "rack": "rack1", + "timestamp": "10/05/2021, 14:35:20.028", + "diskUsedKB": 749836, + "diskFreeKB": 1001260056, + "memoryUsedKB": 11061032, + "memoryBuffersAndCachedKB": 10817580, + "memoryFreeKB": 35731832, + "memoryTotalKB": 57610444, + "cpuUsage": 0.9 + }, + { + "address": "10.0.8.11", + "state": "", + "status": "", + "load": "59.67 MiB", + "tokens": [ + "-8726238055665903210", + "-6687985003871487470", + "-5269140854976433359", + "-3989177686905645288", + "-3957362495277148220", + "-2539287458896988944", + "-2460716365393303466", + "-1848370030729221440", + "137707733677015122", + "579467328507000597", + "1698264534774619627", + "1904235159942090722", + "3312208865519999146", + "4035940456270983993", + "4412314431151736777", + "8232565668795426078" + ], + "size": 16, + "hostID": "14092117-4f77-4ec0-8984-c5b860b88a47", + "rack": "rack2", + "timestamp": "10/05/2021, 14:35:20.028", + "diskUsedKB": 726864, + "diskFreeKB": 1001283028, + "memoryUsedKB": 11055676, + "memoryBuffersAndCachedKB": 10691520, + "memoryFreeKB": 35863248, + "memoryTotalKB": 57610444, + "cpuUsage": 1.2 + }, + { + "address": "10.0.8.12", + "state": "", + "status": "", + "load": "93.2 MiB", + "tokens": [ + "-5679481051867296621", + "-4574115287969297989", + "-3444578133211470522", + "-2755931580714972271", + "-2304431590844389550", + "-1961946736975068713", + "-940120277889446704", + "554469308917912318", + "1030447162050118004", + "2745632329542596589", + "4564547712926446283", + "5185613478135944116", + "7280237939830623824", + "7504213835759531710", + "7631994478195429959", + "8139769477321226157" + ], + "size": 16, + "hostID": "e16ada14-39db-462b-9f9e-5b5f6beb8bbd", + "rack": "rack3", + "timestamp": "10/05/2021, 14:35:20.028", + "diskUsedKB": 757540, + "diskFreeKB": 1001252352, + "memoryUsedKB": 11051608, + "memoryBuffersAndCachedKB": 10453856, + "memoryFreeKB": 36104980, + "memoryTotalKB": 57610444, + "cpuUsage": 0.4 + } + ] + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceCreate.json new file mode 100644 index 000000000000..3070d44d6c4f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "serviceName": "MaterializedViewsBuilder", + "createUpdateParameters": { + "properties": { + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "MaterializedViewsBuilder" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/MaterializedViewsBuilder", + "name": "MaterializedViewsBuilder", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "MaterializedViewsBuilder", + "locations": [ + { + "name": "MaterializedViewsBuilder-westus2", + "location": "West US 2", + "status": "Running" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceDelete.json new file mode 100644 index 000000000000..e0a0dc146bd4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "serviceName": "MaterializedViewsBuilder" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceGet.json new file mode 100644 index 000000000000..2603a6f90b9f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "serviceName": "MaterializedViewsBuilder" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/MaterializedViewsBuilder", + "name": "MaterializedViewsBuilder", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "MaterializedViewsBuilder", + "locations": [ + { + "name": "MaterializedViewsBuilder-westus2", + "location": "West US 2", + "status": "Running" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionBackupInformation.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionBackupInformation.json new file mode 100644 index 000000000000..0119b6f482e1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionBackupInformation.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "collectionName": "collectionName", + "location": { + "location": "North Europe" + } + }, + "responses": { + "200": { + "body": { + "continuousBackupInformation": { + "latestRestorableTimestamp": "2021-02-05T02:40:50Z" + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json new file mode 100644 index 000000000000..91f4c971174b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName", + "createUpdateMongoDBCollectionParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "collectionName", + "indexes": [ + { + "key": { + "keys": [ + "_ts" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + }, + { + "key": { + "keys": [ + "_id" + ] + } + } + ], + "shardKey": { + "testKey": "Hash" + }, + "analyticalStorageTtl": 500 + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName", + "name": "collectionName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "collectionName", + "indexes": [ + { + "key": { + "keys": [ + "_ts" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + }, + { + "key": { + "keys": [ + "_id" + ] + } + } + ], + "shardKey": { + "testKey": "Hash" + }, + "analyticalStorageTtl": 500 + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionDelete.json new file mode 100644 index 000000000000..99cab6d871e7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionGet.json new file mode 100644 index 000000000000..861661fd8a1b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionGet.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName", + "name": "collectionName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testcoll", + "indexes": [ + { + "key": { + "keys": [ + "testKey" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + } + ], + "shardKey": { + "testKey": "Hash" + }, + "analyticalStorageTtl": 500, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionList.json new file mode 100644 index 000000000000..ec38d4e1d3fb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName", + "name": "collectionName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testcoll", + "indexes": [ + { + "key": { + "keys": [ + "testKey" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + } + ], + "shardKey": { + "testKey": "Hash" + }, + "analyticalStorageTtl": 500 + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json new file mode 100644 index 000000000000..90595b21dcf6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json new file mode 100644 index 000000000000..0f73edb9d663 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json new file mode 100644 index 000000000000..00b68cf015f2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json new file mode 100644 index 000000000000..d961eeac38f6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json new file mode 100644 index 000000000000..907e25339a9f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "createUpdateMongoDBDatabaseParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "updatedDatabaseName" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseDelete.json new file mode 100644 index 000000000000..ef767d73f650 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseGet.json new file mode 100644 index 000000000000..522ef1003990 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseList.json new file mode 100644 index 000000000000..3a39903b5fe7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..471e848b89c3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..e5bad8f52530 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json new file mode 100644 index 000000000000..e946aa5a6623 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..5255c76f7236 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionCreateUpdate.json new file mode 100644 index 000000000000..dd61fc8ff271 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionCreateUpdate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "mongoRoleDefinitionId": "myMongoRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15-preview", + "createUpdateMongoRoleDefinitionParameters": { + "properties": { + "roleName": "myRoleName", + "databaseName": "sales", + "privileges": [ + { + "resource": { + "db": "sales", + "collection": "sales" + }, + "actions": [ + "insert", + "find" + ] + } + ], + "roles": [ + { + "role": "myInheritedRole", + "db": "sales" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbRoleDefinitions/myMongoDbRoleDefinitionId", + "name": "myMongoDbRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/mongoDbRoleDefinitionId", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "databaseName": "sales", + "privileges": [ + { + "resource": { + "db": "sales", + "collection": "coll" + }, + "actions": [ + "find", + "insert" + ] + } + ], + "roles": [ + { + "db": "sales", + "role": "myReadRole" + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionDelete.json new file mode 100644 index 000000000000..1a3fdabffedf --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "mongoRoleDefinitionId": "myMongoRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionGet.json new file mode 100644 index 000000000000..84a0947d7a25 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "mongoRoleDefinitionId": "myMongoRoleDefinitionId", + "databaseName": "sales", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbRoleDefinitions/myMongoDbRoleDefinitionId", + "name": "myMongoRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "databaseName": "sales", + "privileges": [ + { + "resource": { + "db": "sales", + "collection": "coll" + }, + "actions": [ + "find", + "insert" + ] + } + ], + "roles": [ + { + "db": "sales", + "role": "myReadRole" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionList.json new file mode 100644 index 000000000000..81659aae8caa --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbRoleDefinitions/myRoleDefinitionId", + "name": "myRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "databaseName": "sales", + "privileges": [ + { + "resource": { + "db": "sales", + "collection": "coll" + }, + "actions": [ + "find", + "insert" + ] + } + ], + "roles": [ + { + "db": "sales", + "role": "myReadRole" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionCreateUpdate.json new file mode 100644 index 000000000000..9dacb9cf9123 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionCreateUpdate.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "mongoUserDefinitionId": "myMongoUserDefinitionId", + "databaseName": "sales", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15-preview", + "createUpdateMongoUserDefinitionParameters": { + "properties": { + "userName": "myUserName", + "password": "myPassword", + "databaseName": "sales", + "customData": "My custom data", + "roles": [ + { + "role": "myReadRole", + "db": "sales" + } + ], + "mechanisms": "SCRAM-SHA-256" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbUserDefinitions/myUserId", + "name": "myUserName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions", + "properties": { + "userName": "myUserName", + "databaseName": "sales", + "customData": "My custom data", + "roles": [ + { + "db": "sales", + "role": "myReadRole" + } + ], + "mechanisms": "SCRAM-SHA-256" + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionDelete.json new file mode 100644 index 000000000000..56c2cfa69bd3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "mongoUserDefinitionId": "myMongoUserDefinitionId", + "databaseName": "sales", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionGet.json new file mode 100644 index 000000000000..13170348ac2e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "mongoUserDefinitionId": "myMongoUserDefinitionId", + "databaseName": "sales", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbUserDefinitions/myUserId", + "name": "myUserId", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions", + "properties": { + "userName": "myUserName", + "databaseName": "sales", + "customData": "My custom data", + "roles": [ + { + "db": "sales", + "role": "myReadRole" + } + ], + "mechanisms": "SCRAM-SHA-256" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionList.json new file mode 100644 index 000000000000..392ac233b6a5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbUserDefinitions/myUserId", + "name": "myUserId", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions", + "properties": { + "userName": "myUserName", + "databaseName": "sales", + "customData": "My custom data", + "roles": [ + { + "db": "sales", + "role": "myReadRole" + } + ], + "mechanisms": "SCRAM-SHA-256" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceCreate.json new file mode 100644 index 000000000000..7fffca7b3dc2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceCreate.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default", + "notebookCreateUpdateParameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces", + "properties": { + "notebookServerEndpoint": "endpoint", + "status": "Online" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceDelete.json new file mode 100644 index 000000000000..9a21ef870fc7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "notebookWorkspaceName": "default" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceGet.json new file mode 100644 index 000000000000..c0ea4d7b7207 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces", + "properties": { + "notebookServerEndpoint": "endpoint", + "status": "Online" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceList.json new file mode 100644 index 000000000000..acd574390c1f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces", + "properties": { + "notebookServerEndpoint": "endpoint", + "status": "Online" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json new file mode 100644 index 000000000000..6404b083e85c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": { + "body": { + "authToken": "auth-token", + "notebookServerEndpoint": "notebook endpoint" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json new file mode 100644 index 000000000000..bc0ffab35b39 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceStart.json new file mode 100644 index 000000000000..bc0ffab35b39 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceStart.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBOperationsList.json new file mode 100644 index 000000000000..21f6e2e8fc6d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBOperationsList.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "operationName", + "display": { + "Provider": "providerName", + "Resource": "resourceName", + "Operation": "operationName", + "Description": "description" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json new file mode 100644 index 000000000000..122542521eb7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "partitionKeyRangeId": "0", + "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT1M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T23:58:55.2780000Z", + "unit": "Count", + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:54:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:55:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:56:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:57:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "maximum": 5 + } + ], + "name": { + "value": "Max RUs Per Second", + "localizedValue": "Max RUs Per Second" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json new file mode 100644 index 000000000000..f324caa4ef8c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "partitionKeyRangeId": "0", + "region": "West US", + "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT1M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T23:58:55.2780000Z", + "unit": "Count", + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:54:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:55:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:56:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:57:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "maximum": 5 + } + ], + "name": { + "value": "Max RUs Per Second", + "localizedValue": "Max RUs Per Second" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPercentileGetMetrics.json new file mode 100644 index 000000000000..ed237ef3b84d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPercentileGetMetrics.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US" + } + }, + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West Central US-T-West US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-West US" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json new file mode 100644 index 000000000000..7dca563f44e8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "sourceRegion": "West Central US", + "targetRegion": "East US", + "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPercentileTargetGetMetrics.json new file mode 100644 index 000000000000..c480be83030d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPercentileTargetGetMetrics.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "targetRegion": "East US", + "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US" + } + }, + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West US-T-East US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-West US" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..960216e3700a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2021-10-15-preview", + "privateEndpointConnectionName": "privateEndpointConnectionName" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..0e8ebc6f6264 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2021-10-15-preview", + "privateEndpointConnectionName": "privateEndpointConnectionName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName", + "name": "privateEndpointConnectionName", + "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + }, + "groupId": "Sql", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionListGet.json new file mode 100644 index 000000000000..0b2cac840351 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionListGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName", + "name": "privateEndpointConnectionName", + "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + }, + "groupId": "Sql", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName2", + "name": "privateEndpointConnectionName", + "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + }, + "groupId": "Sql", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..1c479ca73c43 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2021-10-15-preview", + "privateEndpointConnectionName": "privateEndpointConnectionName", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName", + "name": "privateEndpointConnectionName", + "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + }, + "groupId": "Sql", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateLinkResourceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateLinkResourceGet.json new file mode 100644 index 000000000000..83e1e40f2685 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateLinkResourceGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2021-10-15-preview", + "groupName": "sql" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateLinkResources/sql", + "name": "sql", + "type": "Microsoft.DocumentDB/databaseAccounts/privateLinkResources", + "properties": { + "groupId": "sql", + "requiredMembers": [ + "ddb1", + "ddb1-westus" + ], + "requiredZoneNames": [ + "privatelink.documents.azure.net" + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateLinkResourceListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateLinkResourceListGet.json new file mode 100644 index 000000000000..b36bcd7caa42 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateLinkResourceListGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateLinkResources/sql", + "name": "sql", + "type": "Microsoft.DocumentDB/databaseAccounts/privateLinkResources", + "properties": { + "groupId": "sql", + "requiredMembers": [ + "ddb1", + "ddb1-westus" + ], + "requiredZoneNames": [ + "privatelink.documents.azure.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRegionCollectionGetMetrics.json new file mode 100644 index 000000000000..a632ae6f79cc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRegionCollectionGetMetrics.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "region": "North Europe", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableDatabaseAccountGet.json new file mode 100644 index 000000000000..cbedb58d7f18 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableDatabaseAccountGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "location": "West US", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d", + "name": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb1", + "creationTime": "2020-04-11T21:56:15Z", + "deletionTime": "2021-03-12T22:05:09Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableDatabaseAccountList.json new file mode 100644 index 000000000000..975407d96ef9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableDatabaseAccountList.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "location": "West US" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d", + "name": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb1", + "creationTime": "2020-04-11T21:56:15Z", + "deletionTime": "2021-03-12T22:05:09Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "name": "4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb2", + "creationTime": "2020-05-01T08:05:18Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json new file mode 100644 index 000000000000..57c4e0ade83d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d", + "name": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb1", + "creationTime": "2020-04-11T21:56:15Z", + "deletionTime": "2021-03-12T22:05:09Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "name": "4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "location": "East US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb2", + "creationTime": "2020-05-01T08:05:18Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableMongodbCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableMongodbCollectionList.json new file mode 100644 index 000000000000..a2fde7915901 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableMongodbCollectionList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "location": "WestUS", + "instanceId": "98a570f2-63db-4117-91f0-366327b7b353", + "restorableMongodbDatabaseRid": "PD5DALigDgw=" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableMongodbCollections/79609a98-3394-41f8-911f-cfab0c075c86", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbCollections", + "name": "79609a98-3394-41f8-911f-cfab0c075c86", + "properties": { + "resource": { + "_rid": "zAyAPQAAAA==", + "eventTimestamp": "2020-10-13T04:56:42Z", + "ownerId": "Collection1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Create" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableMongodbDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableMongodbDatabaseList.json new file mode 100644 index 000000000000..50486ba458f6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableMongodbDatabaseList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/36f09704-6be3-4f33-aa05-17b73e504c75/restorableMongodbDatabases/59c21367-b98b-4a8e-abb7-b6f46600decc", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbDatabases", + "name": "59c21367-b98b-4a8e-abb7-b6f46600decc", + "properties": { + "resource": { + "_rid": "DLB14gAAAA==", + "eventTimestamp": "2020-09-02T19:45:03Z", + "ownerId": "Database1", + "ownerResourceId": "PD5DALigDgw=", + "operationType": "Create" + } + } + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableMongodbDatabases/8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbDatabases", + "name": "8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "properties": { + "resource": { + "_rid": "ESXNLAAAAA==", + "eventTimestamp": "2020-09-02T19:53:42Z", + "ownerId": "Database1", + "ownerResourceId": "PD5DALigDgw=", + "operationType": "Delete" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableMongodbResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableMongodbResourceList.json new file mode 100644 index 000000000000..3ebaca894498 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableMongodbResourceList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "restoreLocation": "WestUS", + "restoreTimestampInUtc": "10/13/2020 4:56" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "databaseName": "Database1", + "collectionNames": [ + "Collection1" + ] + }, + { + "databaseName": "Database2", + "collectionNames": [ + "Collection1", + "Collection2" + ] + }, + { + "databaseName": "Database3", + "collectionNames": [] + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableSqlContainerList.json new file mode 100644 index 000000000000..8c0964e3f988 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableSqlContainerList.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "location": "WestUS", + "instanceId": "98a570f2-63db-4117-91f0-366327b7b353", + "restorableSqlDatabaseRid": "3fu-hg==" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableSqlContainers/79609a98-3394-41f8-911f-cfab0c075c86", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlContainers", + "name": "79609a98-3394-41f8-911f-cfab0c075c86", + "properties": { + "resource": { + "_rid": "zAyAPQAAAA==", + "eventTimestamp": "2020-10-13T04:56:42Z", + "ownerId": "Container1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Create", + "container": { + "id": "Container1", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*" + }, + { + "path": "/\"_ts\"/?" + } + ], + "excludedPaths": [ + { + "path": "/\"_etag\"/?" + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/_ts", + "conflictResolutionProcedure": "" + }, + "_rid": "V18LoLrv-qA=", + "_self": "dbs/V18LoA==/colls/V18LoLrv-qA=/", + "_etag": "\"00003e00-0000-0700-0000-5f85338a0000\"" + } + } + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableSqlContainers/e85298a1-c631-4726-825e-a7ca092e9098", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlContainers", + "name": "e85298a1-c631-4726-825e-a7ca092e9098", + "properties": { + "resource": { + "_rid": "PrArcgAAAA==", + "eventTimestamp": "2020-10-13T05:03:27Z", + "ownerId": "Container1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Replace", + "container": { + "id": "Container1", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*" + }, + { + "path": "/\"_ts\"/?" + } + ], + "excludedPaths": [ + { + "path": "/\"_etag\"/?" + } + ] + }, + "defaultTtl": 12345, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/_ts", + "conflictResolutionProcedure": "" + }, + "_rid": "V18LoLrv-qA=", + "_self": "dbs/V18LoA==/colls/V18LoLrv-qA=/", + "_etag": "\"00004400-0000-0700-0000-5f85351f0000\"" + } + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableSqlDatabaseList.json new file mode 100644 index 000000000000..cb9b1de65e9c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableSqlDatabaseList.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/36f09704-6be3-4f33-aa05-17b73e504c75/restorableSqlDatabases/59c21367-b98b-4a8e-abb7-b6f46600decc", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases", + "name": "59c21367-b98b-4a8e-abb7-b6f46600decc", + "properties": { + "resource": { + "_rid": "DLB14gAAAA==", + "eventTimestamp": "2020-09-02T19:45:03Z", + "ownerId": "Database1", + "ownerResourceId": "3fu-hg==", + "operationType": "Create", + "database": { + "id": "Database1", + "_rid": "3fu-hg==", + "_self": "dbs/3fu-hg==/", + "_etag": "\"0000c20a-0000-0700-0000-5f4ff63f0000\"", + "_colls": "colls/", + "_users": "users/" + } + } + } + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableSqlDatabases/8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases", + "name": "8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "properties": { + "resource": { + "_rid": "ESXNLAAAAA==", + "eventTimestamp": "2020-09-02T19:53:42Z", + "ownerId": "Database1", + "ownerResourceId": "3fu-hg==", + "database": { + "id": "Database1", + "_rid": "3fu-hg==", + "_self": "dbs/3fu-hg==/", + "_etag": "\"0000c20a-0000-0700-0000-5f4ff63f0000\"", + "_colls": "colls/", + "_users": "users/", + "_ts": 1599075903 + }, + "operationType": "Delete" + } + } + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableSqlDatabases/2c07991b-9c7c-4e85-be68-b18c1f2ff326", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases", + "name": "2c07991b-9c7c-4e85-be68-b18c1f2ff326", + "properties": { + "resource": { + "_rid": "aXFqUQAAAA==", + "eventTimestamp": "2020-09-02T19:53:15Z", + "ownerId": "Database2", + "ownerResourceId": "0SziSg==", + "database": { + "id": "Database2", + "_rid": "0SziSg==", + "_self": "dbs/0SziSg==/", + "_etag": "\"0000ca0a-0000-0700-0000-5f4ff82b0000\"", + "_colls": "colls/", + "_users": "users/" + }, + "operationType": "Create" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableSqlResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableSqlResourceList.json new file mode 100644 index 000000000000..c948d4d941a1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableSqlResourceList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "restoreLocation": "WestUS", + "restoreTimestampInUtc": "10/13/2020 4:56" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "databaseName": "Database1", + "collectionNames": [ + "Container1" + ] + }, + { + "databaseName": "Database2", + "collectionNames": [ + "Container1", + "Container2" + ] + }, + { + "databaseName": "Database3", + "collectionNames": [] + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json new file mode 100644 index 000000000000..98ce4c9bfefb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "tags": {}, + "kind": "GlobalDocumentDB", + "properties": { + "databaseAccountOfferType": "Standard", + "locations": [ + { + "failoverPriority": 0, + "locationName": "southcentralus", + "isZoneRedundant": false + } + ], + "createMode": "Restore", + "restoreParameters": { + "restoreMode": "PointInTime", + "restoreSource": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1a97b4bb-f6a0-430e-ade1-638d781830cc", + "restoreTimestampInUtc": "2021-03-11T22:05:09Z", + "databasesToRestore": [ + { + "databaseName": "db1", + "collectionNames": [ + "collection1", + "collection2" + ] + }, + { + "databaseName": "db2", + "collectionNames": [ + "collection3", + "collection4" + ] + } + ] + }, + "backupPolicy": { + "type": "Continuous" + }, + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "keyVaultKeyUri": "https://myKeyVault.vault.azure.net", + "enableFreeTier": false, + "apiProperties": { + "serverVersion": "3.2" + }, + "enableAnalyticalStorage": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Initializing", + "ipRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Restore", + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "readLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "locations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "failoverPolicies": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "failoverPriority": 0 + } + ], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": false + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBServicesList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBServicesList.json new file mode 100644 index 000000000000..db346e00adb0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBServicesList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/sqlDedicatedGateway", + "name": "sqlDedicatedGateway", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "SqlDedicatedGateway", + "sqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway.sqlx.cosmos.windows-int.net/", + "locations": [ + { + "name": "sqlDedicatedGateway-westus2", + "location": "West US 2", + "status": "Running", + "sqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway-westus.sqlx.cosmos.windows-int.net/" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlClientEncryptionKeyCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlClientEncryptionKeyCreateUpdate.json new file mode 100644 index 000000000000..39ba75e99bfb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlClientEncryptionKeyCreateUpdate.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "accountName": "accountName", + "databaseName": "databaseName", + "clientEncryptionKeyName": "cekName", + "createUpdateClientEncryptionKeyParameters": { + "properties": { + "resource": { + "id": "cekName", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "wrappedDataEncryptionKey": "This is actually an array of bytes. This request/response is being presented as a string for readability in the example", + "keyWrapMetadata": { + "name": "customerManagedKey", + "type": "AzureKeyVault", + "value": "AzureKeyVault Key URL" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/sqlDatabases/databaseName/clientEncryptionKeys/cekName", + "name": "cekName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKey", + "properties": { + "resource": { + "id": "cekName", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "wrappedDataEncryptionKey": "This is actually an array of bytes. This request/response is being presented as a string for readability in the example", + "keyWrapMetadata": { + "name": "customerManagedKey", + "type": "AzureKeyVault", + "value": "AzureKeyVault Key URL" + }, + "_rid": "tNc4AAAAAAAQkjzWAgAAAA==", + "_ts": 1626425552, + "_etag": "00000000-0000-0000-7a1f-bc0828e801d7" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlClientEncryptionKeyGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlClientEncryptionKeyGet.json new file mode 100644 index 000000000000..dd048f352f29 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlClientEncryptionKeyGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "accountName": "accountName", + "databaseName": "databaseName", + "clientEncryptionKeyName": "cekName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/sqlDatabases/databaseName/clientEncryptionKeys/cekName", + "name": "cekName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKey", + "properties": { + "resource": { + "id": "cekName", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "wrappedDataEncryptionKey": "This is actually an array of bytes. This request/response is being presented as a string for readability in the example", + "keyWrapMetadata": { + "name": "customerManagedKey", + "type": "AzureKeyVault", + "value": "AzureKeyVault Key URL" + }, + "_rid": "tNc4AAAAAAAQkjzWAgAAAA==", + "_ts": 1626425552, + "_etag": "00000000-0000-0000-7a1f-bc0828e801d7" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlClientEncryptionKeysList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlClientEncryptionKeysList.json new file mode 100644 index 000000000000..6b7ad111a16d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlClientEncryptionKeysList.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "accountName": "accountName", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/sqlDatabases/databaseName/clientEncryptionKeys/cekName1", + "name": "cekName1", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKey", + "properties": { + "resource": { + "id": "cekName1", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "wrappedDataEncryptionKey": "This is actually an array of bytes. This request/response is being presented as a string for readability in the example", + "keyWrapMetadata": { + "name": "customerManagedKey1", + "type": "AzureKeyVault", + "value": "AzureKeyVault Key URL for customerManagedKey1" + }, + "_rid": "nAMyAAAAAADPw1kKAgAAAA==", + "_ts": 1626425552, + "_etag": "00000000-0000-0000-7a1f-bc0828e801d7" + } + } + }, + { + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/sqlDatabases/databaseName/clientEncryptionKeys/cekName2", + "name": "cekName2", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKey", + "properties": { + "resource": { + "id": "cekName2", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "wrappedDataEncryptionKey": "This is actually an array of bytes. This request/response is being presented as a string for readability in the example", + "keyWrapMetadata": { + "name": "customerManagedKey2", + "type": "AzureKeyVault", + "value": "AzureKeyVault Key URL for customerManagedKey2" + }, + "_rid": "nAMyAAAAAAAWWfxHAgAAAA==", + "_ts": 1626425631, + "_etag": "00000000-0000-0000-7a21-7788a38c01d7" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerBackupInformation.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerBackupInformation.json new file mode 100644 index 000000000000..401c9e84f103 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerBackupInformation.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName", + "location": { + "location": "North Europe" + } + }, + "responses": { + "200": { + "body": { + "continuousBackupInformation": { + "latestRestorableTimestamp": "2021-02-05T02:40:50Z" + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerCreateUpdate.json new file mode 100644 index 000000000000..3609c5a01847 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerCreateUpdate.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "createUpdateSqlContainerParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "containerName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + } + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName", + "name": "containerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "containerName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerDelete.json new file mode 100644 index 000000000000..a4a5017e5d2a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerGet.json new file mode 100644 index 000000000000..8efee2aa73b8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerGet.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName", + "name": "containerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "containerName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + }, + "options": { + "throughput": 400 + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerList.json new file mode 100644 index 000000000000..0fda13f1d625 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerList.json @@ -0,0 +1,192 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName", + "name": "containerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testctn", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName1", + "name": "containerName1", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testctn1", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber", + "/AccountLocation" + ], + "kind": "MultiHash", + "version": 2 + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDiw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName2", + "name": "containerName2", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testctn2", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/_partitionKey" + ], + "kind": "Hash", + "version": 2, + "systemKey": true + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDhw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerMigrateToAutoscale.json new file mode 100644 index 000000000000..99d554aeb6da --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerMigrateToManualThroughput.json new file mode 100644 index 000000000000..5d961d902453 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerThroughputGet.json new file mode 100644 index 000000000000..3db584189c39 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerThroughputUpdate.json new file mode 100644 index 000000000000..f998e07a01f2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json new file mode 100644 index 000000000000..251f2d734877 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "createUpdateSqlDatabaseParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseDelete.json new file mode 100644 index 000000000000..ef767d73f650 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseGet.json new file mode 100644 index 000000000000..219123180527 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"", + "_colls": "colls/", + "_users": "users/" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseList.json new file mode 100644 index 000000000000..85e904320453 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"", + "_colls": "colls/", + "_users": "users/" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..471e848b89c3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..e5bad8f52530 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseThroughputGet.json new file mode 100644 index 000000000000..17b4bd2837a8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..0bda94288965 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceCreate.json new file mode 100644 index 000000000000..a1b733c7d959 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceCreate.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "serviceName": "SqlDedicatedGateway", + "createUpdateParameters": { + "properties": { + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "SqlDedicatedGateway" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/SqlDedicatedGateway", + "name": "SqlDedicatedGateway", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "SqlDedicatedGateway", + "sqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway.sqlx.cosmos.windows-int.net/", + "locations": [ + { + "name": "SqlDedicatedGateway-westus2", + "location": "West US 2", + "status": "Running", + "sqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway-westus.sqlx.cosmos.windows-int.net/" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceDelete.json new file mode 100644 index 000000000000..9b9163073264 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "serviceName": "SqlDedicatedGateway" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceGet.json new file mode 100644 index 000000000000..9176f212de84 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "serviceName": "SqlDedicatedGateway" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/SqlDedicatedGateway", + "name": "SqlDedicatedGateway", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "SqlDedicatedGateway", + "sqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway.sqlx.cosmos.windows-int.net/", + "locations": [ + { + "name": "SqlDedicatedGateway-westus2", + "location": "West US 2", + "status": "Running", + "sqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway-westus.sqlx.cosmos.windows-int.net/" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json new file mode 100644 index 000000000000..7a4e529f2f0c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "roleAssignmentId": "myRoleAssignmentId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15-preview", + "createUpdateSqlRoleAssignmentParameters": { + "properties": { + "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases", + "principalId": "myPrincipalId" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId", + "name": "myRoleAssignmentId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments", + "properties": { + "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases", + "principalId": "myPrincipalId" + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentDelete.json new file mode 100644 index 000000000000..04be4eef2ca4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "roleAssignmentId": "myRoleAssignmentId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentGet.json new file mode 100644 index 000000000000..ce0b52b17913 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "roleAssignmentId": "myRoleAssignmentId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId", + "name": "myRoleAssignmentId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments", + "properties": { + "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases", + "principalId": "myPrincipalId" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentList.json new file mode 100644 index 000000000000..d9bb2636a094 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId", + "name": "myRoleAssignmentId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments", + "properties": { + "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases", + "principalId": "myPrincipalId" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json new file mode 100644 index 000000000000..6f3c21a1899f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "roleDefinitionId": "myRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15-preview", + "createUpdateSqlRoleDefinitionParameters": { + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "assignableScopes": [ + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales", + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read" + ], + "notDataActions": [] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "name": "myRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "assignableScopes": [ + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales", + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read" + ] + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionDelete.json new file mode 100644 index 000000000000..f49fe25d93bc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "roleDefinitionId": "myRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionGet.json new file mode 100644 index 000000000000..1cfc01420c63 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "roleDefinitionId": "myRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "name": "myRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "assignableScopes": [ + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales", + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read" + ], + "notDataActions": [] + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionList.json new file mode 100644 index 000000000000..c4287ac5b030 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "name": "myRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "assignableScopes": [ + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales", + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read" + ], + "notDataActions": [] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json new file mode 100644 index 000000000000..a015e1736a71 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "storedProcedureName": "storedProcedureName", + "createUpdateSqlStoredProcedureParameters": { + "properties": { + "resource": { + "id": "storedProcedureName", + "body": "body" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName", + "name": "storedProcedureName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures", + "properties": { + "resource": { + "id": "storedProcedureName", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureDelete.json new file mode 100644 index 000000000000..e6f28946e1a3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "storedProcedureName": "storedProcedureName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureGet.json new file mode 100644 index 000000000000..4592708643de --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName", + "storedProcedureName": "storedProcedureName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName", + "name": "storedProcedureName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures", + "properties": { + "resource": { + "id": "storedProcedureName", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureList.json new file mode 100644 index 000000000000..5ec843cf336f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName", + "name": "testctn", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures", + "properties": { + "resource": { + "id": "testctn", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerCreateUpdate.json new file mode 100644 index 000000000000..821f2f63bed7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerCreateUpdate.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "triggerName": "triggerName", + "createUpdateSqlTriggerParameters": { + "properties": { + "resource": { + "id": "triggerName", + "body": "body", + "triggerType": "triggerType", + "triggerOperation": "triggerOperation" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName", + "name": "triggerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers", + "properties": { + "resource": { + "id": "triggerName", + "body": "body", + "triggerType": "triggerType", + "triggerOperation": "triggerOperation", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerDelete.json new file mode 100644 index 000000000000..70372a062f64 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "triggerName": "triggerName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerGet.json new file mode 100644 index 000000000000..1c62da9c2a2c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName", + "triggerName": "triggerName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName", + "name": "triggerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers", + "properties": { + "resource": { + "id": "triggerName", + "body": "body", + "triggerType": "triggerType", + "triggerOperation": "triggerOperation", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerList.json new file mode 100644 index 000000000000..19b16918c478 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName", + "name": "testctn", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers", + "properties": { + "resource": { + "id": "testctn", + "body": "body", + "triggerType": "triggerType", + "triggerOperation": "triggerOperation", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json new file mode 100644 index 000000000000..073bf421ecf8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "userDefinedFunctionName": "userDefinedFunctionName", + "createUpdateSqlUserDefinedFunctionParameters": { + "properties": { + "resource": { + "id": "userDefinedFunctionName", + "body": "body" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName", + "name": "userDefinedFunctionName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions", + "properties": { + "resource": { + "id": "userDefinedFunctionName", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json new file mode 100644 index 000000000000..345c971e530c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "userDefinedFunctionName": "userDefinedFunctionName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json new file mode 100644 index 000000000000..2829eb873849 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName", + "userDefinedFunctionName": "userDefinedFunctionName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName", + "name": "userDefinedFunctionName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions", + "properties": { + "resource": { + "id": "userDefinedFunctionName", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionList.json new file mode 100644 index 000000000000..3616091ef08d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName", + "name": "testctn", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions", + "properties": { + "resource": { + "id": "testctn", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableCreateUpdate.json new file mode 100644 index 000000000000..411e8bd48906 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableCreateUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "tableName": "tableName", + "createUpdateTableParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/tables", + "location": "West US", + "properties": { + "resource": { + "id": "tableName" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableDelete.json new file mode 100644 index 000000000000..8fed87b4a93f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableGet.json new file mode 100644 index 000000000000..dfed49db2f0f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/tables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableList.json new file mode 100644 index 000000000000..2f5cfcce8182 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/tables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableMigrateToAutoscale.json new file mode 100644 index 000000000000..4f00ac8f4e02 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableMigrateToManualThroughput.json new file mode 100644 index 000000000000..f26731c2b7e6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableThroughputGet.json new file mode 100644 index 000000000000..9742629dc159 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableThroughputUpdate.json new file mode 100644 index 000000000000..2a2ef568533c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15-preview", + "subscriptionId": "subid", + "tableName": "tableName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobCreate.json new file mode 100644 index 000000000000..8b4c9185bbc9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobCreate.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-10-15-preview", + "subscriptionId": "subid", + "jobName": "j1", + "jobCreateParameters": { + "properties": { + "source": { + "component": "CosmosDBCassandra", + "keyspaceName": "keyspace", + "tableName": "table" + }, + "destination": { + "component": "AzureBlobStorage", + "containerName": "blob_container", + "endpointUrl": "https://blob.windows.net" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "ab1b6f34-b33c-46b1-98c7-3a0a63fd0d16", + "type": "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs", + "properties": { + "jobName": "j1", + "source": { + "tableName": "table", + "keyspaceName": "keyspace", + "component": "CosmosDBCassandra" + }, + "destination": { + "component": "AzureBlobStorage", + "containerName": "blob_container", + "endpointUrl": "https://blob.windows.net" + }, + "status": "Running", + "percentageComplete": 20, + "lastUpdatedUtcTime": "2021-06-12T11:10:55.2780000Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobFeed.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobFeed.json new file mode 100644 index 000000000000..acde9eaad111 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobFeed.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-10-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "ab1b6f34-b33c-46b1-98c7-3a0a63fd0d16", + "type": "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs", + "properties": { + "jobName": "j1", + "source": { + "tableName": "table", + "keyspaceName": "keyspace", + "component": "CosmosDBCassandra" + }, + "destination": { + "component": "AzureBlobStorage", + "endpointUrl": "https://blob.windows.net", + "containerName": "blob_container" + }, + "status": "Completed", + "percentageComplete": 100, + "lastUpdatedUtcTime": "2021-06-12T12:04:23.1530000Z" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobGet.json new file mode 100644 index 000000000000..391734048ca1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-10-15-preview", + "subscriptionId": "subid", + "jobName": "j1" + }, + "responses": { + "200": { + "body": { + "id": "ab1b6f34-b33c-46b1-98c7-3a0a63fd0d16", + "type": "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs", + "properties": { + "jobName": "j1", + "source": { + "tableName": "table", + "keyspaceName": "keyspace", + "component": "CosmosDBCassandra" + }, + "destination": { + "component": "AzureBlobStorage", + "endpointUrl": "https://blob.windows.net", + "containerName": "blob_container" + }, + "status": "Completed", + "percentageComplete": 100, + "lastUpdatedUtcTime": "2021-06-12T12:04:23.1530000Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/managedCassandra.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/managedCassandra.json new file mode 100644 index 000000000000..0701679195b7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/managedCassandra.json @@ -0,0 +1,1467 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB - Managed Cassandra", + "description": "Azure Cosmos DB Database Service Managed Cassandra REST API", + "version": "2021-10-15-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}/providers/Microsoft.DocumentDB/cassandraClusters": { + "get": { + "operationId": "CassandraClusters_ListBySubscription", + "description": "List all managed Cassandra clusters in this subscription.", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "CosmosDBManagedCassandraClusterListBySubscription": { + "$ref": "./examples/CosmosDBManagedCassandraClusterListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed Cassandra clusters.", + "schema": { + "$ref": "#/definitions/ListClusters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters": { + "get": { + "operationId": "CassandraClusters_ListByResourceGroup", + "description": "List all managed Cassandra clusters in this resource group.", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "CosmosDBManagedCassandraClusterListByResourceGroup": { + "$ref": "./examples/CosmosDBManagedCassandraClusterListByResourceGroup.json" + } + }, + "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": "Successfully retrieved the list of managed Cassandra clusters.", + "schema": { + "$ref": "#/definitions/ListClusters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}": { + "get": { + "operationId": "CassandraClusters_Get", + "description": "Get the properties of a managed Cassandra cluster.", + "x-ms-examples": { + "CosmosDBManagedCassandraClusterGet": { + "$ref": "./examples/CosmosDBManagedCassandraClusterGet.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of the managed Cassandra cluster were retrieved successfully.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "CassandraClusters_Delete", + "description": "Deletes a managed Cassandra cluster.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CosmosDBManagedCassandraClusterDelete": { + "$ref": "./examples/CosmosDBManagedCassandraClusterDelete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The managed Cassandra cluster will be deleted asynchronously." + }, + "204": { + "description": "No such cluster to delete." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "CassandraClusters_CreateUpdate", + "description": "Create or update a managed Cassandra cluster. When updating, you must specify all writable properties. To update only some properties, use PATCH.", + "x-ms-examples": { + "CosmosDBManagedCassandraClusterCreate": { + "$ref": "./examples/CosmosDBManagedCassandraClusterCreate.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterResource" + }, + "description": "The properties specifying the desired state of the managed Cassandra cluster." + } + ], + "responses": { + "200": { + "description": "The managed Cassandra cluster is being updated. Poll for provisioningState=Succeeded to find when creation completes.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "201": { + "description": "The managed Cassandra cluster is being created. Poll for provisioningState=Succeeded to find when creation completes.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "operationId": "CassandraClusters_Update", + "description": "Updates some of the properties of a managed Cassandra cluster.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CosmosDBManagedCassandraClusterPatch": { + "$ref": "./examples/CosmosDBManagedCassandraClusterPatch.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterResource" + }, + "description": "Parameters to provide for specifying the managed Cassandra cluster." + } + ], + "responses": { + "202": { + "description": "The managed Cassandra cluster is being updated. Poll the provided operation for completion.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "200": { + "description": "Completed synchronously. This will only happen if the fields changed by patch require no changes to the actual Cassandra data center.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/invokeCommand": { + "post": { + "operationId": "CassandraClusters_InvokeCommand", + "description": "Invoke a command like nodetool for cassandra maintenance ", + "x-ms-examples": { + "CosmosDBManagedCassandraCommand": { + "$ref": "./examples/CosmosDBManagedCassandraCommand.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CommandPostBody" + }, + "description": "Specification which command to run where" + } + ], + "responses": { + "202": { + "description": "Success. The command operation will begin as soon as possible.", + "schema": { + "$ref": "#/definitions/CommandOutput" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups": { + "get": { + "operationId": "CassandraClusters_ListBackups", + "description": "List the backups of this cluster that are available to restore.", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "CosmosDBManagedCassandraBackupsList": { + "$ref": "./examples/CosmosDBManagedCassandraBackupsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of restorable backups for this Cassandra cluster.", + "schema": { + "$ref": "#/definitions/ListBackups" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups/{backupId}": { + "get": { + "operationId": "CassandraClusters_GetBackup", + "description": "Get the properties of an individual backup of this cluster that is available to restore.", + "x-ms-examples": { + "CosmosDBManagedCassandraBackup": { + "$ref": "./examples/CosmosDBManagedCassandraBackup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/backupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the properties of the backup.", + "schema": { + "$ref": "#/definitions/BackupResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters": { + "get": { + "operationId": "CassandraDataCenters_List", + "description": "List all data centers in a particular managed Cassandra cluster.", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterList": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed Cassandra data centers.", + "schema": { + "$ref": "#/definitions/ListDataCenters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}": { + "get": { + "operationId": "CassandraDataCenters_Get", + "description": "Get the properties of a managed Cassandra data center.", + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterGet": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterGet.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/dataCenterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of the managed Cassandra data center were retrieved successfully.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "CassandraDataCenters_Delete", + "description": "Delete a managed Cassandra data center.", + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterDelete": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterDelete.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/dataCenterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. Deletion will complete asynchronously." + }, + "204": { + "description": "Cassandra cluster with the specified name does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "CassandraDataCenters_CreateUpdate", + "description": "Create or update a managed Cassandra data center. When updating, overwrite all properties. To update only some properties, use PATCH.", + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterCreate": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterCreate.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/dataCenterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataCenterResource" + }, + "description": "Parameters specifying the managed Cassandra data center." + } + ], + "responses": { + "201": { + "description": "Accepted. The data center will be created asynchronously.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "200": { + "description": "Accepted. The data center will be updated asynchronously.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "operationId": "CassandraDataCenters_Update", + "description": "Update some of the properties of a managed Cassandra data center.", + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterUpdate": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterPatch.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/dataCenterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataCenterResource" + }, + "description": "Parameters to provide for specifying the managed Cassandra data center." + } + ], + "responses": { + "202": { + "description": "Accepted. Update will proceed asynchronously.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "200": { + "description": "Completed synchronously. This will only happen if the fields changed by patch require no changes to the actual Cassandra cluster, such as editing the tags.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/deallocate": { + "post": { + "operationId": "CassandraClusters_Deallocate", + "description": "Deallocate the Managed Cassandra Cluster and Associated Data Centers. Deallocation will deallocate the host virtual machine of this cluster, and reserved the data disk. This won't do anything on an already deallocated cluster. Use Start to restart the cluster.", + "x-ms-examples": { + "CosmosDBManagedCassandraClusterDeallocate": { + "$ref": "./examples/CosmosDBManagedCassandraClusterDeallocate.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Cluster deallocated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/start": { + "post": { + "operationId": "CassandraClusters_Start", + "description": "Start the Managed Cassandra Cluster and Associated Data Centers. Start will start the host virtual machine of this cluster with reserved data disk. This won't do anything on an already running cluster. Use Deallocate to deallocate the cluster.", + "x-ms-examples": { + "CosmosDBManagedCassandraClusterStart": { + "$ref": "./examples/CosmosDBManagedCassandraClusterStart.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Enqueued Operation to start the cluster." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/status": { + "get": { + "operationId": "CassandraClusters_Status", + "description": "Gets the CPU, memory, and disk usage statistics for each Cassandra node in a cluster.", + "x-ms-examples": { + "CosmosDBManagedCassandraStatus": { + "$ref": "./examples/CosmosDBManagedCassandraStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully fetched the usage statistics of all nodes in the cluster.", + "schema": { + "$ref": "#/definitions/CassandraClusterPublicStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "clusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Managed Cassandra cluster name.", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$" + }, + "dataCenterNameParameter": { + "name": "dataCenterName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Data center name in a managed Cassandra cluster.", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$" + }, + "backupNameParameter": { + "name": "backupId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Id of a restorable backup of a Cassandra cluster.", + "minLength": 1, + "maxLength": 15, + "pattern": "^[0-9]+$" + } + }, + "definitions": { + "ListClusters": { + "description": "List of managed Cassandra clusters.", + "readOnly": true, + "type": "object", + "properties": { + "value": { + "description": "Container for the array of clusters.", + "type": "array", + "items": { + "$ref": "#/definitions/ClusterResource" + } + } + } + }, + "ManagedCassandraARMResourceProperties": { + "type": "object", + "description": "The core properties of ARM resources.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "tags": { + "$ref": "cosmos-db.json#/definitions/Tags" + }, + "identity": { + "$ref": "#/definitions/ManagedCassandraManagedServiceIdentity" + } + }, + "x-ms-azure-resource": true + }, + "ManagedCassandraManagedServiceIdentity": { + "description": "Identity for the resource.", + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The object id of the identity resource." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the resource." + }, + "type": { + "type": "string", + "description": "The type of the resource.", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ManagedCassandraResourceIdentityType", + "modelAsString": true + } + } + } + }, + "ManagedCassandraProvisioningState": { + "description": "The status of the resource at the time the operation was called.", + "type": "string", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ManagedCassandraProvisioningState", + "modelAsString": true + } + }, + "ClusterResource": { + "description": "Representation of a managed Cassandra cluster.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ManagedCassandraARMResourceProperties" + } + ], + "properties": { + "properties": { + "type": "object", + "description": "Properties of a managed Cassandra cluster.", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ManagedCassandraProvisioningState" + }, + "restoreFromBackupId": { + "type": "string", + "x-ms-mutability": [ + "create" + ], + "description": "To create an empty cluster, omit this field or set it to null. To restore a backup into a new cluster, set this field to the resource id of the backup." + }, + "delegatedManagementSubnetId": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ], + "description": "Resource id of a subnet that this cluster's management service should have its network interface attached to. The subnet must be routable to all subnets that will be delegated to data centers. The resource id must be of the form '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/'" + }, + "cassandraVersion": { + "type": "string", + "description": "Which version of Cassandra should this cluster converge to running (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version." + }, + "clusterNameOverride": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ], + "description": "If you need to set the clusterName property in cassandra.yaml to something besides the resource name of the cluster, set the value to use on this property." + }, + "authenticationMethod": { + "type": "string", + "description": "Which authentication method Cassandra should use to authenticate clients. 'None' turns off authentication, so should not be used except in emergencies. 'Cassandra' is the default password based authentication. The default is 'Cassandra'. 'Ldap' is in preview.", + "enum": [ + "None", + "Cassandra", + "Ldap" + ], + "x-ms-enum": { + "name": "AuthenticationMethod", + "modelAsString": true + } + }, + "initialCassandraAdminPassword": { + "x-ms-mutability": [ + "create" + ], + "x-ms-secret": true, + "description": "Initial password for clients connecting as admin to the cluster. Should be changed after cluster creation. Returns null on GET. This field only applies when the authenticationMethod field is 'Cassandra'.", + "type": "string" + }, + "prometheusEndpoint": { + "$ref": "#/definitions/SeedNode", + "description": "Hostname or IP address where the Prometheus endpoint containing data about the managed Cassandra nodes can be reached." + }, + "repairEnabled": { + "type": "boolean", + "description": "Should automatic repairs run on this cluster? If omitted, this is true, and should stay true unless you are running a hybrid cluster where you are already doing your own repairs." + }, + "clientCertificates": { + "description": "List of TLS certificates used to authorize clients connecting to the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if clientCertificates is set, the managed Cassandra cluster will reject all connections not bearing a TLS client certificate that can be validated from one or more of the public certificates in this property.", + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "externalGossipCertificates": { + "description": "List of TLS certificates used to authorize gossip from unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be verifiable using one of the certificates provided in this property.", + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "gossipCertificates": { + "readOnly": true, + "x-ms-mutability": [ + "read" + ], + "description": "List of TLS certificates that unmanaged nodes must trust for gossip with managed nodes. All managed nodes will present TLS client certificates that are verifiable using one of the certificates provided in this property.", + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "externalSeedNodes": { + "type": "array", + "description": "List of IP addresses of seed nodes in unmanaged data centers. These will be added to the seed node lists of all managed nodes.", + "items": { + "$ref": "#/definitions/SeedNode" + } + }, + "seedNodes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SeedNode" + }, + "description": "List of IP addresses of seed nodes in the managed data centers. These should be added to the seed node lists of all unmanaged nodes." + }, + "hoursBetweenBackups": { + "type": "integer", + "format": "int32", + "description": "Number of hours to wait between taking a backup of the cluster." + }, + "deallocated": { + "type": "boolean", + "description": "Whether the cluster and associated data centers has been deallocated." + }, + "cassandraAuditLoggingEnabled": { + "type": "boolean", + "description": "Whether Cassandra audit logging is enabled" + } + } + } + } + }, + "ManagedCassandraNodeStatus": { + "type": "string", + "description": "Indicates whether the node is functioning or not.", + "enum": [ + "Up", + "Down" + ], + "x-ms-enum": { + "name": "NodeStatus", + "modelAsString": true + } + }, + "ManagedCassandraNodeState": { + "type": "string", + "description": "The state of the node in Cassandra ring.", + "enum": [ + "Normal", + "Leaving", + "Joining", + "Moving", + "Stopped" + ], + "x-ms-enum": { + "name": "NodeState", + "modelAsString": true + } + }, + "CassandraClusterPublicStatus": { + "type": "object", + "description": "Properties of a managed Cassandra cluster public status.", + "properties": { + "eTag": { + "type": "string" + }, + "reaperStatus": { + "$ref": "#/definitions/ManagedCassandraReaperStatus" + }, + "connectionErrors": { + "type": "array", + "description": "List relevant information about any connection errors to the Datacenters.", + "items": { + "$ref": "#/definitions/ConnectionError" + } + }, + "dataCenters": { + "type": "array", + "description": "List of the status of each datacenter in this cluster.", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of this Datacenter." + }, + "seedNodes": { + "type": "array", + "description": "A list of all seed nodes in the cluster, managed and unmanaged.", + "items": { + "type": "string" + } + }, + "nodes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The node's IP address." + }, + "state": { + "$ref": "#/definitions/ManagedCassandraNodeState" + }, + "status": { + "type": "string" + }, + "load": { + "type": "string", + "description": "The amount of file system data in the data directory (e.g., 47.66 kB), excluding all content in the snapshots subdirectories. Because all SSTable data files are included, any data that is not cleaned up (such as TTL-expired cells or tombstones) is counted." + }, + "tokens": { + "type": "array", + "description": "List of tokens this node covers.", + "items": { + "type": "string" + } + }, + "size": { + "type": "integer", + "format": "int32" + }, + "hostID": { + "description": "The network ID of the node.", + "type": "string" + }, + "rack": { + "description": "The rack this node is part of.", + "type": "string" + }, + "timestamp": { + "description": "The timestamp at which that snapshot of these usage statistics were taken.", + "type": "string" + }, + "diskUsedKB": { + "description": "The amount of disk used, in kB, of the directory /var/lib/cassandra.", + "type": "integer", + "format": "int64" + }, + "diskFreeKB": { + "description": "The amount of disk free, in kB, of the directory /var/lib/cassandra.", + "type": "integer", + "format": "int64" + }, + "memoryUsedKB": { + "description": "Used memory (calculated as total - free - buffers - cache), in kB.", + "type": "integer", + "format": "int64" + }, + "memoryBuffersAndCachedKB": { + "description": "Memory used by kernel buffers (Buffers in /proc/meminfo) and page cache and slabs (Cached and SReclaimable in /proc/meminfo), in kB.", + "type": "integer", + "format": "int64" + }, + "memoryFreeKB": { + "description": "Unused memory (MemFree and SwapFree in /proc/meminfo), in kB.", + "type": "integer", + "format": "int64" + }, + "memoryTotalKB": { + "description": "Total installed memory (MemTotal and SwapTotal in /proc/meminfo), in kB.", + "type": "integer", + "format": "int64" + }, + "cpuUsage": { + "description": "A float representing the current system-wide CPU utilization as a percentage.", + "type": "number", + "format": "double" + } + } + } + } + } + } + } + } + }, + "ManagedCassandraReaperStatus": { + "type": "object", + "properties": { + "healthy": { + "type": "boolean" + }, + "repairRunIds": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "repairSchedules": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ConnectionError": { + "type": "object", + "properties": { + "connectionState": { + "description": "The kind of connection error that occurred.", + "type": "string", + "enum": [ + "Unknown", + "OK", + "OperatorToDataCenterNetworkError", + "DatacenterToDatacenterNetworkError", + "InternalOperatorToDataCenterCertificateError", + "InternalError" + ], + "x-ms-enum": { + "name": "ConnectionState", + "modelAsString": true + } + }, + "iPFrom": { + "description": "The IP of host that originated the failed connection.", + "type": "string" + }, + "iPTo": { + "description": "The IP that the connection attempted to reach.", + "type": "string" + }, + "port": { + "description": "The TCP port the connection was attempted on.", + "type": "integer", + "format": "int32" + }, + "exception": { + "description": "Detailed error message about the failed connection.", + "type": "string" + } + } + }, + "CommandPostBody": { + "description": "Specification of which command to run where", + "type": "object", + "required": [ + "command", + "host" + ], + "properties": { + "command": { + "type": "string", + "description": "The command which should be run" + }, + "arguments": { + "type": "object", + "description": "The arguments for the command to be run", + "additionalProperties": { + "type": "string" + } + }, + "host": { + "type": "string", + "description": "IP address of the cassandra host to run the command on" + }, + "cassandra-stop-start": { + "type": "boolean", + "description": "If true, stops cassandra before executing the command and then start it again" + }, + "readwrite": { + "type": "boolean", + "description": "If true, allows the command to *write* to the cassandra directory, otherwise read-only." + } + } + }, + "CommandOutput": { + "description": "Response of /command api", + "type": "object", + "properties": { + "commandOutput": { + "type": "string", + "description": "Output of the command." + } + } + }, + "BackupResource": { + "description": "A restorable backup of a Cassandra cluster.", + "type": "object", + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "properties": { + "properties": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "description": "The time this backup was taken, formatted like 2021-01-21T17:35:21" + } + } + } + } + }, + "ListBackups": { + "description": "List of restorable backups for a Cassandra cluster.", + "type": "object", + "properties": { + "value": { + "description": "Container for array of backups.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/BackupResource" + } + } + } + }, + "ListDataCenters": { + "description": "List of managed Cassandra data centers and their properties.", + "type": "object", + "properties": { + "value": { + "description": "Container for array of data centers.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/DataCenterResource" + } + } + } + }, + "SeedNode": { + "type": "object", + "properties": { + "ipAddress": { + "description": "IP address of this seed node.", + "type": "string" + } + } + }, + "Certificate": { + "type": "object", + "properties": { + "pem": { + "description": "PEM formatted public key.", + "type": "string" + } + } + }, + "DataCenterResource": { + "description": "A managed Cassandra data center.", + "type": "object", + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "properties": { + "properties": { + "description": "Properties of a managed Cassandra data center.", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ManagedCassandraProvisioningState" + }, + "dataCenterLocation": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ], + "description": "The region this data center should be created in." + }, + "delegatedSubnetId": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ], + "description": "Resource id of a subnet the nodes in this data center should have their network interfaces connected to. The subnet must be in the same region specified in 'dataCenterLocation' and must be able to route to the subnet specified in the cluster's 'delegatedManagementSubnetId' property. This resource id will be of the form '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/'." + }, + "nodeCount": { + "type": "integer", + "format": "int32", + "description": "The number of nodes the data center should have. This is the desired number. After it is set, it may take some time for the data center to be scaled to match. To monitor the number of nodes and their status, use the fetchNodeStatus method on the cluster." + }, + "seedNodes": { + "readOnly": true, + "type": "array", + "description": "IP addresses for seed nodes in this data center. This is for reference. Generally you will want to use the seedNodes property on the cluster, which aggregates the seed nodes from all data centers in the cluster.", + "items": { + "$ref": "#/definitions/SeedNode" + } + }, + "base64EncodedCassandraYamlFragment": { + "type": "string", + "description": "A fragment of a cassandra.yaml configuration file to be included in the cassandra.yaml for all nodes in this data center. The fragment should be Base64 encoded, and only a subset of keys are allowed." + }, + "managedDiskCustomerKeyUri": { + "type": "string", + "description": "Key uri to use for encryption of managed disks. Ensure the system assigned identity of the cluster has been assigned appropriate permissions(key get/wrap/unwrap permissions) on the key." + }, + "backupStorageCustomerKeyUri": { + "type": "string", + "description": "Indicates the Key Uri of the customer key to use for encryption of the backup storage account." + }, + "sku": { + "type": "string", + "description": "Virtual Machine SKU used for data centers. Default value is Standard_DS14_v2" + }, + "diskSku": { + "type": "string", + "description": "Disk SKU used for data centers. Default value is P30." + }, + "diskCapacity": { + "type": "integer", + "format": "int32", + "description": "Number of disk used for data centers. Default value is 4." + }, + "availabilityZone": { + "type": "boolean", + "description": "If the data center has Availability Zone feature, apply it to the Virtual Machine ScaleSet that host the cassandra data center virtual machines." + }, + "authenticationMethodLdapProperties": { + "$ref": "#/definitions/AuthenticationMethodLdapProperties" + } + } + } + } + }, + "AuthenticationMethodLdapProperties": { + "type": "object", + "description": "Ldap authentication method properties. This feature is in preview.", + "properties": { + "serverHostname": { + "description": "Hostname of the LDAP server.", + "type": "string" + }, + "serverPort": { + "description": "Port of the LDAP server.", + "type": "integer", + "format": "int32" + }, + "serviceUserDistinguishedName": { + "description": "Distinguished name of the look up user account, who can look up user details on authentication.", + "type": "string" + }, + "serviceUserPassword": { + "description": "Password of the look up user.", + "type": "string" + }, + "searchBaseDistinguishedName": { + "description": "Distinguished name of the object to start the recursive search of users from.", + "type": "string" + }, + "searchFilterTemplate": { + "description": "Template to use for searching. Defaults to (cn=%s) where %s will be replaced by the username used to login.", + "type": "string" + }, + "serverCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/mongorbac.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/mongorbac.json new file mode 100644 index 000000000000..9a4db3bfc351 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/mongorbac.json @@ -0,0 +1,616 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB API for MongoDB Role Based Access Control Resource Provider REST API", + "version": "2021-10-15-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.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId}": { + "get": { + "operationId": "MongoDBResources_GetMongoRoleDefinition", + "x-ms-examples": { + "CosmosDBMongoRoleDefinitionGet": { + "$ref": "./examples/CosmosDBMongoDBRoleDefinitionGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB Mongo Role Definition with the given Id.", + "parameters": [ + { + "$ref": "#/parameters/mongoRoleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Mongo Role Definition was successfully retrieved.", + "schema": { + "$ref": "#/definitions/MongoRoleDefinitionGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_CreateUpdateMongoRoleDefinition", + "x-ms-examples": { + "CosmosDBMongoDBRoleDefinitionCreateUpdate": { + "$ref": "./examples/CosmosDBMongoDBRoleDefinitionCreateUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates or updates an Azure Cosmos DB Mongo Role Definition.", + "parameters": [ + { + "$ref": "#/parameters/mongoRoleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateMongoRoleDefinitionParameters", + "in": "body", + "required": true, + "description": "The properties required to create or update a Role Definition.", + "schema": { + "$ref": "#/definitions/MongoRoleDefinitionCreateUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Mongo Role Definition create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/MongoRoleDefinitionGetResults" + } + }, + "202": { + "description": "The Mongo Role Definition create or update request was accepted and will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "MongoDBResources_DeleteMongoRoleDefinition", + "x-ms-examples": { + "CosmosDBMongoDBRoleDefinitionDelete": { + "$ref": "./examples/CosmosDBMongoDBRoleDefinitionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes an existing Azure Cosmos DB Mongo Role Definition.", + "parameters": [ + { + "$ref": "#/parameters/mongoRoleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Mongo Role Definition delete operation was completed successfully." + }, + "202": { + "description": "The Mongo Role Definition delete request was accepted and will complete asynchronously." + }, + "204": { + "description": "The requested Mongo Role Definition does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions": { + "get": { + "operationId": "MongoDBResources_ListMongoRoleDefinitions", + "x-ms-examples": { + "CosmosDBMongoDBRoleDefinitionList": { + "$ref": "./examples/CosmosDBMongoDBRoleDefinitionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the list of all Azure Cosmos DB Mongo Role Definitions.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list operation completed successfully.", + "schema": { + "$ref": "#/definitions/MongoRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId}": { + "get": { + "operationId": "MongoDBResources_GetMongoUserDefinition", + "x-ms-examples": { + "CosmosDBMongoDBUserDefinitionGet": { + "$ref": "./examples/CosmosDBMongoDBUserDefinitionGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB Mongo User Definition with the given Id.", + "parameters": [ + { + "$ref": "#/parameters/mongoUserDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The User Definition was successfully retrieved.", + "schema": { + "$ref": "#/definitions/MongoUserDefinitionGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_CreateUpdateMongoUserDefinition", + "x-ms-examples": { + "CosmosDBMongoDBUserDefinitionCreateUpdate": { + "$ref": "./examples/CosmosDBMongoDBUserDefinitionCreateUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates or updates an Azure Cosmos DB Mongo User Definition.", + "parameters": [ + { + "$ref": "#/parameters/mongoUserDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateMongoUserDefinitionParameters", + "in": "body", + "required": true, + "description": "The properties required to create or update a User Definition.", + "schema": { + "$ref": "#/definitions/MongoUserDefinitionCreateUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The User Definition create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/MongoUserDefinitionGetResults" + } + }, + "202": { + "description": "The User Definition create or update request was accepted and will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "MongoDBResources_DeleteMongoUserDefinition", + "x-ms-examples": { + "CosmosDBMongoDBUserDefinitionDelete": { + "$ref": "./examples/CosmosDBMongoDBUserDefinitionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes an existing Azure Cosmos DB Mongo User Definition.", + "parameters": [ + { + "$ref": "#/parameters/mongoUserDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The User Definition delete operation was completed successfully." + }, + "202": { + "description": "The User Definition delete request was accepted and will complete asynchronously." + }, + "204": { + "description": "The requested User Definition does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions": { + "get": { + "operationId": "MongoDBResources_ListMongoUserDefinitions", + "x-ms-examples": { + "CosmosDBMongoDBUserDefinitionList": { + "$ref": "./examples/CosmosDBMongoDBUserDefinitionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the list of all Azure Cosmos DB Mongo User Definition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list operation completed successfully.", + "schema": { + "$ref": "#/definitions/MongoUserDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "MongoRoleDefinitionResource": { + "type": "object", + "properties": { + "roleName": { + "type": "string", + "description": "A user-friendly name for the Role Definition. Must be unique for the database account." + }, + "type": { + "type": "string", + "enum": [ + "BuiltInRole", + "CustomRole" + ], + "description": "Indicates whether the Role Definition was built-in or user created.", + "x-ms-enum": { + "name": "MongoRoleDefinitionType", + "modelAsString": false + } + }, + "databaseName": { + "type": "string", + "description": "The database name for which access is being granted for this Role Definition." + }, + "privileges": { + "type": "array", + "items": { + "$ref": "#/definitions/Privilege" + }, + "description": "A set of privileges contained by the Role Definition. This will allow application of this Role Definition on the entire database account or any underlying Database / Collection. Scopes higher than Database are not enforceable as privilege." + }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + }, + "description": "The set of roles inherited by this Role Definition." + } + }, + "description": "Azure Cosmos DB Mongo Role Definition resource object." + }, + "MongoRoleDefinitionCreateUpdateParameters": { + "description": "Parameters to create and update an Azure Cosmos DB Mongo Role Definition.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update an Azure Cosmos DB Mongo Role Definition.", + "$ref": "#/definitions/MongoRoleDefinitionResource" + } + } + }, + "MongoRoleDefinitionGetResults": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MongoRoleDefinitionResource", + "description": "Properties related to the Mongo Role Definition." + } + }, + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "description": "An Azure Cosmos DB Mongo Role Definition." + }, + "Privilege": { + "type": "object", + "properties": { + "resource": { + "type": "object", + "properties": { + "db": { + "type": "string", + "description": "The database name the role is applied." + }, + "collection": { + "type": "string", + "description": "The collection name the role is applied." + } + }, + "description": "An Azure Cosmos DB Mongo DB Resource." + }, + "actions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of actions that are allowed." + } + }, + "description": "The set of data plane operations permitted through this Role Definition." + }, + "Role": { + "type": "object", + "properties": { + "db": { + "type": "string", + "description": "The database name the role is applied." + }, + "role": { + "type": "string", + "description": "The role name." + } + }, + "description": "The set of roles permitted through this Role Definition." + }, + "MongoRoleDefinitionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MongoRoleDefinitionGetResults" + }, + "description": "List of Mongo Role Definitions and their properties." + } + }, + "description": "The relevant Mongo Role Definitions." + }, + "MongoUserDefinitionResource": { + "type": "object", + "properties": { + "userName": { + "type": "string", + "description": "The user name for User Definition." + }, + "password": { + "type": "string", + "description": "The password for User Definition. Response does not contain user password." + }, + "databaseName": { + "type": "string", + "description": "The database name for which access is being granted for this User Definition." + }, + "customData": { + "type": "string", + "description": "A custom definition for the USer Definition." + }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + }, + "description": "The set of roles inherited by the User Definition." + }, + "mechanisms": { + "type": "string", + "description": "The Mongo Auth mechanism. For now, we only support auth mechanism SCRAM-SHA-256." + } + }, + "description": "Azure Cosmos DB Mongo User Definition resource object." + }, + "MongoUserDefinitionCreateUpdateParameters": { + "description": "Parameters to create and update an Azure Cosmos DB Mongo User Definition.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update an Azure Cosmos DB Mongo User Definition.", + "$ref": "#/definitions/MongoUserDefinitionResource" + } + } + }, + "MongoUserDefinitionGetResults": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MongoUserDefinitionResource", + "description": "Properties related to the User Definition." + } + }, + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "description": "An Azure Cosmos DB User Definition" + }, + "MongoUserDefinitionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MongoUserDefinitionGetResults" + }, + "description": "List of User Definition and their properties" + } + }, + "description": "The relevant User Definition." + } + }, + "parameters": { + "mongoRoleDefinitionIdParameter": { + "name": "mongoRoleDefinitionId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The ID for the Role Definition {dbName.roleName}." + }, + "mongoUserDefinitionIdParameter": { + "name": "mongoUserDefinitionId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The ID for the User Definition {dbName.userName}." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/notebook.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/notebook.json new file mode 100644 index 000000000000..c66e2cbfedcf --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/notebook.json @@ -0,0 +1,461 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2021-10-15-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.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces": { + "get": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Gets the notebook workspace resources of an existing Cosmos DB account.", + "operationId": "NotebookWorkspaces_ListByDatabaseAccount", + "x-ms-pageable": { + "nextLinkName": null + }, + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved notebook workspace resources.", + "schema": { + "$ref": "#/definitions/NotebookWorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceList": { + "$ref": "./examples/CosmosDBNotebookWorkspaceList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}": { + "get": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Gets the notebook workspace for a Cosmos DB account.", + "operationId": "NotebookWorkspaces_Get", + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified notebook workspace resource.", + "schema": { + "$ref": "#/definitions/NotebookWorkspace" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceGet": { + "$ref": "./examples/CosmosDBNotebookWorkspaceGet.json" + } + } + }, + "put": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Creates the notebook workspace for a Cosmos DB account.", + "operationId": "NotebookWorkspaces_CreateOrUpdate", + "x-ms-long-running-operation": true, + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + }, + { + "name": "notebookCreateUpdateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NotebookWorkspaceCreateUpdateParameters" + }, + "description": "The notebook workspace to create for the current database account." + } + ], + "responses": { + "200": { + "description": "Creation of notebook workspace will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NotebookWorkspace" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceCreate": { + "$ref": "./examples/CosmosDBNotebookWorkspaceCreate.json" + } + } + }, + "delete": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Deletes the notebook workspace for a Cosmos DB account.", + "operationId": "NotebookWorkspaces_Delete", + "x-ms-long-running-operation": true, + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "202": { + "description": "The notebook workspace delete operation will complete asynchronously." + }, + "204": { + "description": "The specified notebook workspace does not exist in the database account." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceDelete": { + "$ref": "./examples/CosmosDBNotebookWorkspaceDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/listConnectionInfo": { + "post": { + "tags": [ + "NotebookWorkspacesResource" + ], + "operationId": "NotebookWorkspaces_ListConnectionInfo", + "x-ms-examples": { + "CosmosDBNotebookWorkspaceListConnectionInfo": { + "$ref": "./examples/CosmosDBNotebookWorkspaceListConnectionInfo.json" + } + }, + "description": "Retrieves the connection info for the notebook workspace", + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NotebookWorkspaceConnectionInfoResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/regenerateAuthToken": { + "post": { + "tags": [ + "NotebookWorkspacesResource" + ], + "operationId": "NotebookWorkspaces_RegenerateAuthToken", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceRegenerateAuthToken": { + "$ref": "./examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json" + } + }, + "description": "Regenerates the auth token for the notebook workspace", + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The regenerate auth token operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/start": { + "post": { + "tags": [ + "NotebookWorkspacesResource" + ], + "operationId": "NotebookWorkspaces_Start", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceStart": { + "$ref": "./examples/CosmosDBNotebookWorkspaceStart.json" + } + }, + "description": "Starts the notebook workspace", + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The start operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "NotebookWorkspaceCreateUpdateParameters": { + "description": "Parameters to create a notebook workspace resource", + "type": "object", + "allOf": [ + { + "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "NotebookWorkspaceListResult": { + "description": "A list of notebook workspace resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of notebook workspace resources", + "items": { + "$ref": "#/definitions/NotebookWorkspace" + } + } + } + }, + "NotebookWorkspace": { + "description": "A notebook workspace resource", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/NotebookWorkspaceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "NotebookWorkspaceProperties": { + "description": "Properties of a notebook workspace resource.", + "type": "object", + "properties": { + "notebookServerEndpoint": { + "description": "Specifies the endpoint of Notebook server.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the notebook workspace. Possible values are: Creating, Online, Deleting, Failed, Updating.", + "type": "string", + "readOnly": true + } + } + }, + "NotebookWorkspaceConnectionInfoResult": { + "description": "The connection info for the given notebook workspace", + "properties": { + "authToken": { + "type": "string", + "description": "Specifies auth token used for connecting to Notebook server (uses token-based auth).", + "readOnly": true + }, + "notebookServerEndpoint": { + "type": "string", + "description": "Specifies the endpoint of Notebook server.", + "readOnly": true + } + } + } + }, + "parameters": { + "accountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database account name.", + "minLength": 3, + "maxLength": 50, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + "NotebookWorkspaceNameParameter": { + "name": "notebookWorkspaceName", + "in": "path", + "description": "The name of the notebook workspace resource.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "NotebookWorkspaceName", + "modelAsString": true + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/privateEndpointConnection.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/privateEndpointConnection.json new file mode 100644 index 000000000000..e663b268ee91 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/privateEndpointConnection.json @@ -0,0 +1,318 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2021-10-15-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.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "List all private endpoint connections on a Cosmos DB account.", + "operationId": "PrivateEndpointConnections_ListByDatabaseAccount", + "x-ms-pageable": { + "nextLinkName": null + }, + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/CosmosDBPrivateEndpointConnectionListGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Gets a private endpoint connection.", + "operationId": "PrivateEndpointConnections_Get", + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/CosmosDBPrivateEndpointConnectionGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Approve or reject a private endpoint connection with a given name.", + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "Successfully approved or rejected private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "Accepted. The private endpoint connection update will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Approve or reject a private endpoint connection with a given name.": { + "$ref": "./examples/CosmosDBPrivateEndpointConnectionUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Deletes a private endpoint connection with a given name.", + "operationId": "PrivateEndpointConnections_Delete", + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "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": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes a private endpoint connection with a given name.": { + "$ref": "./examples/CosmosDBPrivateEndpointConnectionDelete.json" + } + } + } + } + }, + "definitions": { + "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 + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ] + }, + "PrivateEndpointConnectionProperties": { + "description": "Properties of a private endpoint connection.", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpointProperty", + "description": "Private endpoint which the connection belongs to." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty", + "description": "Connection State of the Private Endpoint Connection." + }, + "groupId": { + "type": "string", + "description": "Group id of the private endpoint." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the private endpoint." + } + } + }, + "PrivateEndpointProperty": { + "type": "object", + "description": "Private endpoint which the connection belongs to.", + "properties": { + "id": { + "type": "string", + "description": "Resource id of the private endpoint." + } + } + }, + "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 + } + } + } + }, + "parameters": { + "accountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database account name.", + "minLength": 3, + "maxLength": 50, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the private endpoint connection." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/privateLinkResources.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/privateLinkResources.json new file mode 100644 index 000000000000..92a4452ed76a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/privateLinkResources.json @@ -0,0 +1,195 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2021-10-15-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.DocumentDB/databaseAccounts/{accountName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets the private link resources that need to be created for a Cosmos DB account.", + "operationId": "PrivateLinkResources_ListByDatabaseAccount", + "x-ms-pageable": { + "nextLinkName": null + }, + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/CosmosDBPrivateLinkResourceListGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources/{groupName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets the private link resources that need to be created for a Cosmos DB account.", + "operationId": "PrivateLinkResources_Get", + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/GroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private link resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/CosmosDBPrivateLinkResourceGet.json" + } + } + } + } + }, + "definitions": { + "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 + } + }, + "allOf": [ + { + "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "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 + } + } + } + }, + "parameters": { + "accountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database account name.", + "minLength": 3, + "maxLength": 50, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + "GroupNameParameter": { + "name": "groupName", + "in": "path", + "description": "The name of the private link resource.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/rbac.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/rbac.json new file mode 100644 index 000000000000..6ef993095e8d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/rbac.json @@ -0,0 +1,573 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Role Based Access Control Resource Provider REST API", + "version": "2021-10-15-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.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}": { + "get": { + "operationId": "SqlResources_GetSqlRoleDefinition", + "x-ms-examples": { + "CosmosDBSqlRoleDefinitionGet": { + "$ref": "./examples/CosmosDBSqlRoleDefinitionGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB SQL Role Definition with the given Id.", + "parameters": [ + { + "$ref": "#/parameters/roleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Role Definition was successfully retrieved.", + "schema": { + "$ref": "#/definitions/SqlRoleDefinitionGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlRoleDefinition", + "x-ms-examples": { + "CosmosDBSqlRoleDefinitionCreateUpdate": { + "$ref": "./examples/CosmosDBSqlRoleDefinitionCreateUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates or updates an Azure Cosmos DB SQL Role Definition.", + "parameters": [ + { + "$ref": "#/parameters/roleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlRoleDefinitionParameters", + "in": "body", + "required": true, + "description": "The properties required to create or update a Role Definition.", + "schema": { + "$ref": "#/definitions/SqlRoleDefinitionCreateUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Role Definition create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlRoleDefinitionGetResults" + } + }, + "202": { + "description": "The Role Definition create or update request was accepted and will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlRoleDefinition", + "x-ms-examples": { + "CosmosDBSqlRoleDefinitionDelete": { + "$ref": "./examples/CosmosDBSqlRoleDefinitionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes an existing Azure Cosmos DB SQL Role Definition.", + "parameters": [ + { + "$ref": "#/parameters/roleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Role Definition delete operation was completed successfully." + }, + "202": { + "description": "The Role Definition delete request was accepted and will complete asynchronously." + }, + "204": { + "description": "The requested Role Definition does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions": { + "get": { + "operationId": "SqlResources_ListSqlRoleDefinitions", + "x-ms-examples": { + "CosmosDBSqlRoleDefinitionList": { + "$ref": "./examples/CosmosDBSqlRoleDefinitionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the list of all Azure Cosmos DB SQL Role Definitions.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list operation completed successfully.", + "schema": { + "$ref": "#/definitions/SqlRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}": { + "get": { + "operationId": "SqlResources_GetSqlRoleAssignment", + "x-ms-examples": { + "CosmosDBSqlRoleAssignmentGet": { + "$ref": "./examples/CosmosDBSqlRoleAssignmentGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB SQL Role Assignment with the given Id.", + "parameters": [ + { + "$ref": "#/parameters/roleAssignmentIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Role Assignment was successfully retrieved.", + "schema": { + "$ref": "#/definitions/SqlRoleAssignmentGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlRoleAssignment", + "x-ms-examples": { + "CosmosDBSqlRoleAssignmentCreateUpdate": { + "$ref": "./examples/CosmosDBSqlRoleAssignmentCreateUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates or updates an Azure Cosmos DB SQL Role Assignment.", + "parameters": [ + { + "$ref": "#/parameters/roleAssignmentIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlRoleAssignmentParameters", + "in": "body", + "required": true, + "description": "The properties required to create or update a Role Assignment.", + "schema": { + "$ref": "#/definitions/SqlRoleAssignmentCreateUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Role Assignment create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlRoleAssignmentGetResults" + } + }, + "202": { + "description": "The Role Assignment create or update request was accepted and will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlRoleAssignment", + "x-ms-examples": { + "CosmosDBSqlRoleAssignmentDelete": { + "$ref": "./examples/CosmosDBSqlRoleAssignmentDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes an existing Azure Cosmos DB SQL Role Assignment.", + "parameters": [ + { + "$ref": "#/parameters/roleAssignmentIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Role Assignment delete operation was completed successfully." + }, + "202": { + "description": "The Role Assignment delete request was accepted and will complete asynchronously." + }, + "204": { + "description": "The requested Role Assignment does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments": { + "get": { + "operationId": "SqlResources_ListSqlRoleAssignments", + "x-ms-examples": { + "CosmosDBSqlRoleAssignmentList": { + "$ref": "./examples/CosmosDBSqlRoleAssignmentList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the list of all Azure Cosmos DB SQL Role Assignments.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list operation completed successfully.", + "schema": { + "$ref": "#/definitions/SqlRoleAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "SqlRoleDefinitionResource": { + "properties": { + "roleName": { + "type": "string", + "description": "A user-friendly name for the Role Definition. Must be unique for the database account." + }, + "type": { + "type": "string", + "enum": [ + "BuiltInRole", + "CustomRole" + ], + "description": "Indicates whether the Role Definition was built-in or user created.", + "x-ms-enum": { + "name": "RoleDefinitionType", + "modelAsString": false + } + }, + "assignableScopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A set of fully qualified Scopes at or below which Role Assignments may be created using this Role Definition. This will allow application of this Role Definition on the entire database account or any underlying Database / Collection. Must have at least one element. Scopes higher than Database account are not enforceable as assignable Scopes. Note that resources referenced in assignable Scopes need not exist." + }, + "permissions": { + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + }, + "description": "The set of operations allowed through this Role Definition." + } + }, + "description": "Azure Cosmos DB SQL Role Definition resource object." + }, + "SqlRoleDefinitionCreateUpdateParameters": { + "description": "Parameters to create and update an Azure Cosmos DB SQL Role Definition.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update an Azure Cosmos DB SQL Role Definition.", + "$ref": "#/definitions/SqlRoleDefinitionResource" + } + } + }, + "SqlRoleDefinitionGetResults": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SqlRoleDefinitionResource", + "description": "Properties related to the Role Definition." + } + }, + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "description": "An Azure Cosmos DB SQL Role Definition." + }, + "Permission": { + "type": "object", + "properties": { + "dataActions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of data actions that are allowed." + }, + "notDataActions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of data actions that are denied." + } + }, + "description": "The set of data plane operations permitted through this Role Definition." + }, + "SqlRoleDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SqlRoleDefinitionGetResults" + }, + "description": "List of Role Definitions and their properties." + } + }, + "description": "The relevant Role Definitions." + }, + "SqlRoleAssignmentResource": { + "type": "object", + "properties": { + "roleDefinitionId": { + "type": "string", + "description": "The unique identifier for the associated Role Definition." + }, + "scope": { + "type": "string", + "description": "The data plane resource path for which access is being granted through this Role Assignment." + }, + "principalId": { + "type": "string", + "description": "The unique identifier for the associated AAD principal in the AAD graph to which access is being granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription." + } + }, + "description": "Azure Cosmos DB SQL Role Assignment resource object." + }, + "SqlRoleAssignmentCreateUpdateParameters": { + "description": "Parameters to create and update an Azure Cosmos DB SQL Role Assignment.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update an Azure Cosmos DB SQL Role Assignment.", + "$ref": "#/definitions/SqlRoleAssignmentResource" + } + } + }, + "SqlRoleAssignmentGetResults": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SqlRoleAssignmentResource", + "description": "Properties related to the Role Assignment." + } + }, + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "description": "An Azure Cosmos DB Role Assignment" + }, + "SqlRoleAssignmentListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SqlRoleAssignmentGetResults" + }, + "description": "List of Role Assignments and their properties" + } + }, + "description": "The relevant Role Assignments." + } + }, + "parameters": { + "roleDefinitionIdParameter": { + "name": "roleDefinitionId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The GUID for the Role Definition." + }, + "roleAssignmentIdParameter": { + "name": "roleAssignmentId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The GUID for the Role Assignment." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/restorable.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/restorable.json new file mode 100644 index 000000000000..5587c743dcec --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/restorable.json @@ -0,0 +1,1181 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2021-10-15-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}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts": { + "get": { + "operationId": "RestorableDatabaseAccounts_ListByLocation", + "x-ms-examples": { + "CosmosDBRestorableDatabaseAccountList": { + "$ref": "./examples/CosmosDBRestorableDatabaseAccountList.json" + } + }, + "description": "Lists all the restorable Azure Cosmos DB database accounts available under the subscription and in a region. This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableDatabaseAccountsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/restorableDatabaseAccounts": { + "get": { + "operationId": "RestorableDatabaseAccounts_List", + "x-ms-examples": { + "CosmosDBRestorableDatabaseAccountNoLocationList": { + "$ref": "./examples/CosmosDBRestorableDatabaseAccountNoLocationList.json" + } + }, + "description": "Lists all the restorable Azure Cosmos DB database accounts available under the subscription. This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableDatabaseAccountsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}": { + "get": { + "operationId": "RestorableDatabaseAccounts_GetByLocation", + "x-ms-examples": { + "CosmosDBRestorableDatabaseAccountGet": { + "$ref": "./examples/CosmosDBRestorableDatabaseAccountGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB restorable database account. This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read/*' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + } + ], + "responses": { + "200": { + "description": "The restorable database account properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/RestorableDatabaseAccountGetResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/retrieveContinuousBackupInformation": { + "post": { + "operationId": "SqlResources_RetrieveContinuousBackupInformation", + "x-ms-examples": { + "CosmosDBSqlContainerBackupInformation": { + "$ref": "./examples/CosmosDBSqlContainerBackupInformation.json" + } + }, + "description": "Retrieves continuous backup information for a container resource.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/databaseNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "location", + "required": true, + "description": "The name of the continuous backup restore location.", + "schema": { + "$ref": "#/definitions/ContinuousBackupRestoreLocation" + } + } + ], + "responses": { + "200": { + "description": "The Sql container retrieve backup information operation completed successfully.", + "schema": { + "$ref": "#/definitions/BackupInformation" + } + }, + "202": { + "description": "The sql container retrieve backup information operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlDatabases": { + "get": { + "operationId": "RestorableSqlDatabases_List", + "x-ms-examples": { + "CosmosDBRestorableSqlDatabaseList": { + "$ref": "./examples/CosmosDBRestorableSqlDatabaseList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB SQL databases under the restorable account. This helps in scenario where database was accidentally deleted to get the deletion time. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableSqlDatabasesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlContainers": { + "get": { + "operationId": "RestorableSqlContainers_List", + "x-ms-examples": { + "CosmosDBRestorableSqlContainerList": { + "$ref": "./examples/CosmosDBRestorableSqlContainerList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB SQL containers under a specific database. This helps in scenario where container was accidentally deleted. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restorableSqlDatabaseRidParameter" + }, + { + "$ref": "#/parameters/restoreStartTime" + }, + { + "$ref": "#/parameters/restoreEndTime" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableSqlContainersListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlResources": { + "get": { + "operationId": "RestorableSqlResources_List", + "x-ms-examples": { + "CosmosDBRestorableSqlResourceList": { + "$ref": "./examples/CosmosDBRestorableSqlResourceList.json" + } + }, + "description": "Return a list of database and container combo that exist on the account at the given timestamp and location. This helps in scenarios to validate what resources exist at given timestamp and location. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restoreLocationParameter" + }, + { + "$ref": "#/parameters/restoreTimestampInUtcParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableSqlResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/retrieveContinuousBackupInformation": { + "post": { + "operationId": "MongoDBResources_RetrieveContinuousBackupInformation", + "x-ms-examples": { + "CosmosDBMongoDBCollectionBackupInformation": { + "$ref": "./examples/CosmosDBMongoDBCollectionBackupInformation.json" + } + }, + "description": "Retrieves continuous backup information for a Mongodb collection.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/databaseNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "location", + "required": true, + "description": "The name of the continuous backup restore location.", + "schema": { + "$ref": "#/definitions/ContinuousBackupRestoreLocation" + } + } + ], + "responses": { + "200": { + "description": "The Mongodb collection retrieve backup information operation completed successfully.", + "schema": { + "$ref": "#/definitions/BackupInformation" + } + }, + "202": { + "description": "The Mongodb collection retrieve backup information operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbDatabases": { + "get": { + "operationId": "RestorableMongodbDatabases_List", + "x-ms-examples": { + "CosmosDBRestorableMongodbDatabaseList": { + "$ref": "./examples/CosmosDBRestorableMongodbDatabaseList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB MongoDB databases under the restorable account. This helps in scenario where database was accidentally deleted to get the deletion time. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableMongodbDatabasesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbCollections": { + "get": { + "operationId": "RestorableMongodbCollections_List", + "x-ms-examples": { + "CosmosDBRestorableMongodbCollectionList": { + "$ref": "./examples/CosmosDBRestorableMongodbCollectionList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB MongoDB collections under a specific database. This helps in scenario where container was accidentally deleted. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restorableMongodbDatabaseRidParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableMongodbCollectionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbResources": { + "get": { + "operationId": "RestorableMongodbResources_List", + "x-ms-examples": { + "CosmosDBRestorableMongodbResourceList": { + "$ref": "./examples/CosmosDBRestorableMongodbResourceList.json" + } + }, + "description": "Return a list of database and collection combo that exist on the account at the given timestamp and location. This helps in scenarios to validate what resources exist at given timestamp and location. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restoreLocationParameter" + }, + { + "$ref": "#/parameters/restoreTimestampInUtcParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableMongodbResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "RestorableDatabaseAccountsListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableDatabaseAccountGetResult" + }, + "description": "List of restorable database accounts and their properties." + } + }, + "description": "The List operation response, that contains the restorable database accounts and their properties." + }, + "RestorableDatabaseAccountGetResult": { + "description": "A Azure Cosmos DB restorable database account.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a restorable database account.", + "$ref": "#/definitions/RestorableDatabaseAccountProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + } + } + }, + "RestorableDatabaseAccountProperties": { + "type": "object", + "description": "The properties of a restorable database account.", + "properties": { + "accountName": { + "type": "string", + "description": "The name of the global database account" + }, + "creationTime": { + "type": "string", + "format": "date-time", + "description": "The creation time of the restorable database account (ISO-8601 format)." + }, + "deletionTime": { + "type": "string", + "format": "date-time", + "description": "The time at which the restorable database account has been deleted (ISO-8601 format)." + }, + "apiType": { + "type": "string", + "readOnly": true, + "description": "The API type of the restorable database account.", + "$ref": "#/definitions/ApiType" + }, + "restorableLocations": { + "type": "array", + "readOnly": true, + "description": "List of regions where the of the database account can be restored from.", + "items": { + "$ref": "#/definitions/RestorableLocationResource" + } + } + } + }, + "ApiType": { + "description": "Enum to indicate the API type of the restorable database account.", + "type": "string", + "readOnly": true, + "enum": [ + "MongoDB", + "Gremlin", + "Cassandra", + "Table", + "Sql", + "GremlinV2" + ], + "x-ms-enum": { + "name": "ApiType", + "modelAsString": true + } + }, + "RestorableLocationResource": { + "type": "object", + "description": "Properties of the regional restorable account.", + "properties": { + "locationName": { + "type": "string", + "readOnly": true, + "description": "The location of the regional restorable account." + }, + "regionalDatabaseAccountInstanceId": { + "type": "string", + "readOnly": true, + "description": "The instance id of the regional restorable account." + }, + "creationTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The creation time of the regional restorable database account (ISO-8601 format)." + }, + "deletionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The time at which the regional restorable database account has been deleted (ISO-8601 format)." + } + } + }, + "RestorableSqlDatabasesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableSqlDatabaseGetResult" + }, + "description": "List of SQL database events and their properties." + } + }, + "description": "The List operation response, that contains the SQL database events and their properties." + }, + "RestorableSqlDatabaseGetResult": { + "description": "An Azure Cosmos DB SQL database event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a SQL database event.", + "$ref": "#/definitions/RestorableSqlDatabaseProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource Identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + } + }, + "RestorableSqlDatabaseProperties": { + "description": "The properties of an Azure Cosmos DB SQL database event", + "type": "object", + "properties": { + "resource": { + "type": "object", + "description": "The resource of an Azure Cosmos DB SQL database event", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this database event.", + "$ref": "#/definitions/OperationType" + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The time when this database event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of the SQL database." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of the SQL database." + }, + "database": { + "type": "object", + "description": "Cosmos DB SQL database resource object", + "properties": { + "_colls": { + "type": "string", + "readOnly": true, + "description": "A system generated property that specified the addressable path of the collections resource." + }, + "_users": { + "type": "string", + "readOnly": true, + "description": "A system generated property that specifies the addressable path of the users resource." + }, + "_self": { + "type": "string", + "readOnly": true, + "description": "A system generated property that specifies the addressable path of the database resource." + } + }, + "allOf": [ + { + "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/SqlDatabaseResource" + }, + { + "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/ExtendedResourceProperties" + } + ] + } + } + } + } + }, + "RestorableSqlContainersListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableSqlContainerGetResult" + }, + "description": "List of SQL container events and their properties." + } + }, + "description": "The List operation response, that contains the SQL container events and their properties." + }, + "RestorableSqlContainerGetResult": { + "description": "An Azure Cosmos DB SQL container event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a SQL container event.", + "$ref": "#/definitions/RestorableSqlContainerProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource Identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + } + }, + "RestorableSqlContainerProperties": { + "description": "The properties of an Azure Cosmos DB SQL container event", + "type": "object", + "properties": { + "resource": { + "description": "The resource of an Azure Cosmos DB SQL container event", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this container event.", + "$ref": "#/definitions/OperationType" + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The when this container event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of this SQL container." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of this SQL container." + }, + "container": { + "type": "object", + "description": "Cosmos DB SQL container resource object", + "properties": { + "_self": { + "type": "string", + "readOnly": true, + "description": "A system generated property that specifies the addressable path of the container resource." + } + }, + "allOf": [ + { + "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/SqlContainerResource" + }, + { + "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/ExtendedResourceProperties" + } + ] + } + } + } + } + }, + "RestorableSqlResourcesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/DatabaseRestoreResource" + }, + "description": "List of restorable SQL resources, including the database and collection names." + } + }, + "description": "The List operation response, that contains the restorable SQL resources." + }, + "RestorableMongodbDatabasesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableMongodbDatabaseGetResult" + }, + "description": "List of MongoDB database events and their properties." + } + }, + "description": "The List operation response, that contains the MongoDB database events and their properties." + }, + "RestorableMongodbDatabaseGetResult": { + "description": "An Azure Cosmos DB MongoDB database event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a MongoDB database event.", + "$ref": "#/definitions/RestorableMongodbDatabaseProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource Identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + } + }, + "RestorableMongodbDatabaseProperties": { + "description": "The properties of an Azure Cosmos DB MongoDB database event", + "type": "object", + "properties": { + "resource": { + "description": "The resource of an Azure Cosmos DB MongoDB database event", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this database event.", + "$ref": "#/definitions/OperationType" + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The time when this database event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of this MongoDB database." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of this MongoDB database." + } + } + } + } + }, + "RestorableMongodbCollectionsListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableMongodbCollectionGetResult" + }, + "description": "List of MongoDB collection events and their properties." + } + }, + "description": "The List operation response, that contains the MongoDB collection events and their properties." + }, + "RestorableMongodbCollectionGetResult": { + "description": "An Azure Cosmos DB MongoDB collection event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a MongoDB collection event.", + "$ref": "#/definitions/RestorableMongodbCollectionProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource Identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + } + }, + "RestorableMongodbCollectionProperties": { + "description": "The properties of an Azure Cosmos DB MongoDB collection event", + "type": "object", + "properties": { + "resource": { + "description": "The resource of an Azure Cosmos DB MongoDB collection event", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this collection event.", + "$ref": "#/definitions/OperationType" + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The time when this collection event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of this MongoDB collection." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of this MongoDB collection." + } + } + } + } + }, + "RestorableMongodbResourcesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/DatabaseRestoreResource" + }, + "description": "List of restorable MongoDB resources, including the database and collection names." + } + }, + "description": "The List operation response, that contains the restorable MongoDB resources." + }, + "OperationType": { + "description": "Enum to indicate the operation type of the event.", + "type": "string", + "readOnly": true, + "enum": [ + "Create", + "Replace", + "Delete", + "SystemOperation" + ], + "x-ms-enum": { + "name": "OperationType", + "modelAsString": true + } + }, + "ContinuousBackupRestoreLocation": { + "type": "object", + "description": "Properties of the regional restorable account.", + "properties": { + "location": { + "type": "string", + "description": "The name of the continuous backup restore location." + } + } + }, + "BackupInformation": { + "description": "Backup information of a resource.", + "type": "object", + "properties": { + "continuousBackupInformation": { + "description": "Information about the status of continuous backups.", + "type": "object", + "$ref": "#/definitions/ContinuousBackupInformation" + } + } + }, + "ContinuousBackupInformation": { + "description": "Information about the status of continuous backups.", + "type": "object", + "readOnly": true, + "properties": { + "latestRestorableTimestamp": { + "type": "string", + "description": "The latest restorable timestamp for a resource." + } + } + } + }, + "parameters": { + "restorableSqlDatabaseRidParameter": { + "name": "restorableSqlDatabaseRid", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The resource ID of the SQL database." + }, + "restorableMongodbDatabaseRidParameter": { + "name": "restorableMongodbDatabaseRid", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The resource ID of the MongoDB database." + }, + "restoreLocationParameter": { + "name": "restoreLocation", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The location where the restorable resources are located." + }, + "restoreTimestampInUtcParameter": { + "name": "restoreTimestampInUtc", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The timestamp when the restorable resources existed." + }, + "restoreStartTime": { + "name": "startTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The snapshot create timestamp after which snapshots need to be listed." + }, + "restoreEndTime": { + "name": "endTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The snapshot create timestamp before which snapshots need to be listed." + }, + "locationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB region, with spaces between words and each word capitalized." + }, + "instanceIdParameter": { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The instanceId GUID of a restorable database account." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/services.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/services.json new file mode 100644 index 000000000000..360c48c306a2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/services.json @@ -0,0 +1,624 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2021-10-15-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.DocumentDB/databaseAccounts/{accountName}/services": { + "get": { + "x-ms-examples": { + "CosmosDBServicesList": { + "$ref": "./examples/CosmosDBServicesList.json" + } + }, + "operationId": "Service_List", + "description": "Gets the status of service.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The ServiceResource.", + "schema": { + "$ref": "#/definitions/ServiceResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": ".../../cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}": { + "put": { + "tags": [ + "DataTransfer", + "SqlDedicatedGateway", + "GraphAPICompute", + "MaterializedViewsBuilder" + ], + "x-ms-examples": { + "DataTransferServiceCreate": { + "$ref": "./examples/CosmosDBDataTransferServiceCreate.json" + }, + "SqlDedicatedGatewayServiceCreate": { + "$ref": "./examples/CosmosDBSqlDedicatedGatewayServiceCreate.json" + }, + "GraphAPIComputeServiceCreate": { + "$ref": "./examples/CosmosDBGraphAPIComputeServiceCreate.json" + }, + "MaterializedViewsBuilderServiceCreate": { + "$ref": "./examples/CosmosDBMaterializedViewsBuilderServiceCreate.json" + } + }, + "operationId": "Service_Create", + "description": "Creates a service.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/serviceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceResourceCreateUpdateParameters" + }, + "description": "The Service resource parameters." + } + ], + "responses": { + "200": { + "description": "The service status.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "202": { + "description": "The job will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": ".../../cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "DataTransfer", + "SqlDedicatedGateway", + "GraphAPICompute", + "MaterializedViewsBuilder" + ], + "x-ms-examples": { + "DataTransferServiceGet": { + "$ref": "./examples/CosmosDBDataTransferServiceGet.json" + }, + "GraphAPIComputeServiceGet": { + "$ref": "./examples/CosmosDBGraphAPIComputeServiceGet.json" + }, + "SqlDedicatedGatewayServiceGet": { + "$ref": "./examples/CosmosDBSqlDedicatedGatewayServiceGet.json" + }, + "MaterializedViewsBuilderServiceGet": { + "$ref": "./examples/CosmosDBMaterializedViewsBuilderServiceGet.json" + } + }, + "operationId": "Service_Get", + "description": "Gets the status of service.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/serviceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The ServiceResource.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": ".../../cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "DataTransfer", + "SqlDedicatedGateway", + "GraphAPICompute", + "MaterializedViewsBuilder" + ], + "x-ms-examples": { + "DataTransferServiceDelete": { + "$ref": "./examples/CosmosDBDataTransferServiceDelete.json" + }, + "SqlDedicatedGatewayServiceDelete": { + "$ref": "./examples/CosmosDBSqlDedicatedGatewayServiceDelete.json" + }, + "GraphAPIComputeServiceDelete": { + "$ref": "./examples/CosmosDBGraphAPIComputeServiceDelete.json" + }, + "MaterializedViewsBuilderServiceDelete": { + "$ref": "./examples/CosmosDBMaterializedViewsBuilderServiceDelete.json" + } + }, + "operationId": "Service_Delete", + "description": "Deletes service with the given serviceName.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/serviceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The job will complete asynchronously." + }, + "204": { + "description": "The response for service deletion." + }, + "200": { + "description": "The response for service deletion." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": ".../../cosmos-db.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ServiceResourceProperties": { + "description": "Services response resource.", + "type": "object", + "discriminator": "serviceType", + "properties": { + "creationTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Time of the last state change (ISO-8601 format)." + }, + "instanceSize": { + "$ref": "#/definitions/ServiceResourceInstanceSize" + }, + "instanceCount": { + "description": "Instance count for the service.", + "type": "integer", + "minimum": 0, + "format": "int32" + }, + "serviceType": { + "$ref": "#/definitions/ServiceType" + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ServiceResourceStatus" + } + }, + "additionalProperties": { + "type": "object" + }, + "required": [ + "serviceType" + ] + }, + "ServiceResourceCreateUpdateParameters": { + "description": "Parameters for Create or Update Request for ServiceResource", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServiceResourceCreateUpdateProperties" + } + } + }, + "ServiceResourceCreateUpdateProperties": { + "description": "Properties in ServiceResourceCreateUpdateParameters.", + "type": "object", + "properties": { + "instanceSize": { + "$ref": "#/definitions/ServiceResourceInstanceSize" + }, + "instanceCount": { + "description": "Instance count for the service.", + "type": "integer", + "minimum": 0, + "format": "int32" + }, + "serviceType": { + "$ref": "#/definitions/ServiceType" + } + } + }, + "ServiceResource": { + "description": "Properties for the database account.", + "type": "object", + "allOf": [ + { + "$ref": ".../../cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/ServiceResourceProperties" + } + } + }, + "ServiceResourceListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ServiceResource" + }, + "description": "List of Service Resource and their properties." + } + }, + "description": "The List operation response, that contains the Service Resource and their properties." + }, + "DataTransferServiceResource": { + "description": "Describes the service response property.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/DataTransferServiceResourceProperties" + } + } + }, + "DataTransferServiceResourceProperties": { + "description": "Properties for DataTransferServiceResource.", + "type": "object", + "x-ms-discriminator-value": "DataTransfer", + "allOf": [ + { + "$ref": "#/definitions/ServiceResourceProperties" + } + ], + "properties": { + "locations": { + "type": "array", + "readOnly": true, + "description": "An array that contains all of the locations for the service.", + "items": { + "$ref": "#/definitions/DataTransferRegionalServiceResource" + } + } + } + }, + "SqlDedicatedGatewayServiceResource": { + "description": "Describes the service response property for SqlDedicatedGateway.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/SqlDedicatedGatewayServiceResourceProperties" + } + } + }, + "SqlDedicatedGatewayServiceResourceProperties": { + "description": "Properties for SqlDedicatedGatewayServiceResource.", + "type": "object", + "x-ms-discriminator-value": "SqlDedicatedGateway", + "allOf": [ + { + "$ref": "#/definitions/ServiceResourceProperties" + } + ], + "properties": { + "sqlDedicatedGatewayEndpoint": { + "type": "string", + "description": "SqlDedicatedGateway endpoint for the service." + }, + "locations": { + "type": "array", + "readOnly": true, + "description": "An array that contains all of the locations for the service.", + "items": { + "$ref": "#/definitions/SqlDedicatedGatewayRegionalServiceResource" + } + } + } + }, + "GraphAPIComputeServiceResource": { + "description": "Describes the service response property for GraphAPICompute.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/GraphAPIComputeServiceResourceProperties" + } + } + }, + "GraphAPIComputeServiceResourceProperties": { + "description": "Properties for GraphAPIComputeServiceResource.", + "type": "object", + "x-ms-discriminator-value": "GraphAPICompute", + "allOf": [ + { + "$ref": "#/definitions/ServiceResourceProperties" + } + ], + "properties": { + "graphApiComputeEndpoint": { + "type": "string", + "description": "GraphAPICompute endpoint for the service." + }, + "locations": { + "type": "array", + "readOnly": true, + "description": "An array that contains all of the locations for the service.", + "items": { + "$ref": "#/definitions/GraphAPIComputeRegionalServiceResource" + } + } + } + }, + "MaterializedViewsBuilderServiceResource": { + "description": "Describes the service response property for MaterializedViewsBuilder.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/MaterializedViewsBuilderServiceResourceProperties" + } + } + }, + "MaterializedViewsBuilderServiceResourceProperties": { + "description": "Properties for MaterializedViewsBuilderServiceResource.", + "type": "object", + "x-ms-discriminator-value": "MaterializedViewsBuilder", + "allOf": [ + { + "$ref": "#/definitions/ServiceResourceProperties" + } + ], + "properties": { + "locations": { + "type": "array", + "readOnly": true, + "description": "An array that contains all of the locations for the service.", + "items": { + "$ref": "#/definitions/MaterializedViewsBuilderRegionalServiceResource" + } + } + } + }, + "RegionalServiceResource": { + "description": "Resource for a regional service location.", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The regional service name." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "The location name." + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ServiceResourceStatus" + } + } + }, + "SqlDedicatedGatewayRegionalServiceResource": { + "description": "Resource for a regional service location.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RegionalServiceResource" + } + ], + "properties": { + "sqlDedicatedGatewayEndpoint": { + "readOnly": true, + "type": "string", + "description": "The regional endpoint for SqlDedicatedGateway." + } + } + }, + "GraphAPIComputeRegionalServiceResource": { + "description": "Resource for a regional service location.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RegionalServiceResource" + } + ], + "properties": { + "graphApiComputeEndpoint": { + "readOnly": true, + "type": "string", + "description": "The regional endpoint for GraphAPICompute." + } + } + }, + "DataTransferRegionalServiceResource": { + "description": "Resource for a regional service location.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RegionalServiceResource" + } + ] + }, + "MaterializedViewsBuilderRegionalServiceResource": { + "description": "Resource for a regional service location.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RegionalServiceResource" + } + ] + }, + "ServiceResourceStatus": { + "type": "string", + "enum": [ + "Creating", + "Running", + "Updating", + "Deleting", + "Error", + "Stopped" + ], + "readOnly": true, + "description": "Describes the status of a service.", + "x-ms-enum": { + "modelAsString": true, + "name": "ServiceStatus" + } + }, + "ServiceResourceInstanceSize": { + "type": "string", + "enum": [ + "Cosmos.D4s", + "Cosmos.D8s", + "Cosmos.D16s" + ], + "description": "Instance type for the service.", + "x-ms-enum": { + "modelAsString": true, + "name": "ServiceSize" + } + }, + "ServiceType": { + "type": "string", + "enum": [ + "SqlDedicatedGateway", + "DataTransfer", + "GraphAPICompute", + "MaterializedViewsBuilder" + ], + "description": "ServiceType for the service.", + "x-ms-enum": { + "modelAsString": true, + "name": "ServiceType" + } + } + }, + "parameters": { + "accountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database account name.", + "minLength": 3, + "maxLength": 50, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + "serviceNameParameter": { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB service name.", + "minLength": 3, + "maxLength": 50 + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/cosmos-db.json new file mode 100644 index 000000000000..fb44a09bb474 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/cosmos-db.json @@ -0,0 +1,8962 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2021-10-15" + }, + "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.DocumentDB/databaseAccounts/{accountName}": { + "get": { + "operationId": "DatabaseAccounts_Get", + "x-ms-examples": { + "CosmosDBDatabaseAccountGet": { + "$ref": "./examples/CosmosDBDatabaseAccountGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The database account properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountGetResults" + } + } + } + }, + "patch": { + "operationId": "DatabaseAccounts_Update", + "x-ms-examples": { + "CosmosDBDatabaseAccountPatch": { + "$ref": "./examples/CosmosDBDatabaseAccountPatch.json" + } + }, + "description": "Updates the properties of an existing Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseAccountUpdateParameters" + }, + "description": "The parameters to provide for the current database account." + } + ], + "responses": { + "200": { + "description": "The database account update operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DatabaseAccountGetResults" + } + } + } + }, + "put": { + "operationId": "DatabaseAccounts_CreateOrUpdate", + "x-ms-examples": { + "CosmosDBDatabaseAccountCreateMin": { + "$ref": "./examples/CosmosDBDatabaseAccountCreateMin.json" + }, + "CosmosDBDatabaseAccountCreateMax": { + "$ref": "./examples/CosmosDBDatabaseAccountCreateMax.json" + }, + "CosmosDBRestoreDatabaseAccountCreateUpdate.json": { + "$ref": "./examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json" + } + }, + "description": "Creates or updates an Azure Cosmos DB database account. The \"Update\" method is preferred when performing updates on an account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseAccountCreateUpdateParameters" + }, + "description": "The parameters to provide for the current database account." + } + ], + "responses": { + "200": { + "description": "The database account create or update operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DatabaseAccountGetResults" + } + } + } + }, + "delete": { + "operationId": "DatabaseAccounts_Delete", + "x-ms-examples": { + "CosmosDBDatabaseAccountDelete": { + "$ref": "./examples/CosmosDBDatabaseAccountDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The database account delete operation will complete asynchronously." + }, + "204": { + "description": "The specified account does not exist in the subscription." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange": { + "post": { + "operationId": "DatabaseAccounts_FailoverPriorityChange", + "x-ms-examples": { + "CosmosDBDatabaseAccountFailoverPriorityChange": { + "$ref": "./examples/CosmosDBDatabaseAccountFailoverPriorityChange.json" + } + }, + "description": "Changes the failover priority for the Azure Cosmos DB database account. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "failoverParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FailoverPolicies" + }, + "description": "The new failover policies for the database account." + } + ], + "responses": { + "202": { + "description": "Accepted. The failover policy change operation will complete asynchronously." + }, + "204": { + "description": "No Content" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts": { + "get": { + "operationId": "DatabaseAccounts_List", + "x-ms-examples": { + "CosmosDBDatabaseAccountList": { + "$ref": "./examples/CosmosDBDatabaseAccountList.json" + } + }, + "description": "Lists all the Azure Cosmos DB database accounts available under the subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts": { + "get": { + "operationId": "DatabaseAccounts_ListByResourceGroup", + "x-ms-examples": { + "CosmosDBDatabaseAccountListByResourceGroup": { + "$ref": "./examples/CosmosDBDatabaseAccountListByResourceGroup.json" + } + }, + "description": "Lists all the Azure Cosmos DB database accounts available under the given resource group.", + "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" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys": { + "post": { + "operationId": "DatabaseAccounts_ListKeys", + "x-ms-examples": { + "CosmosDBDatabaseAccountListKeys": { + "$ref": "./examples/CosmosDBDatabaseAccountListKeys.json" + } + }, + "description": "Lists the access keys for the specified Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountListKeysResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings": { + "post": { + "operationId": "DatabaseAccounts_ListConnectionStrings", + "x-ms-examples": { + "CosmosDBDatabaseAccountListConnectionStrings": { + "$ref": "./examples/CosmosDBDatabaseAccountListConnectionStrings.json" + }, + "CosmosDBDatabaseAccountListConnectionStringsMongo": { + "$ref": "./examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json" + } + }, + "description": "Lists the connection strings for the specified Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountListConnectionStringsResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion": { + "post": { + "operationId": "DatabaseAccounts_OfflineRegion", + "x-ms-examples": { + "CosmosDBDatabaseAccountOfflineRegion": { + "$ref": "./examples/CosmosDBDatabaseAccountOfflineRegion.json" + } + }, + "description": "Offline the specified region for the specified Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "regionParameterForOffline", + "in": "body", + "required": true, + "description": "Cosmos DB region to offline for the database account.", + "schema": { + "$ref": "#/definitions/RegionForOnlineOffline" + } + } + ], + "responses": { + "200": { + "description": "The offline region operation is completed successfully." + }, + "202": { + "description": "Accepted. The offline region operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion": { + "post": { + "operationId": "DatabaseAccounts_OnlineRegion", + "x-ms-examples": { + "CosmosDBDatabaseAccountOnlineRegion": { + "$ref": "./examples/CosmosDBDatabaseAccountOnlineRegion.json" + } + }, + "description": "Online the specified region for the specified Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "regionParameterForOnline", + "in": "body", + "required": true, + "description": "Cosmos DB region to online for the database account.", + "schema": { + "$ref": "#/definitions/RegionForOnlineOffline" + } + } + ], + "responses": { + "200": { + "description": "The online region operation is completed successfully." + }, + "202": { + "description": "Accepted. The online region operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys": { + "get": { + "operationId": "DatabaseAccounts_GetReadOnlyKeys", + "x-ms-examples": { + "CosmosDBDatabaseAccountListReadOnlyKeys": { + "$ref": "./examples/CosmosDBDatabaseAccountListReadOnlyKeys.json" + } + }, + "description": "Lists the read-only access keys for the specified Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult" + } + } + } + }, + "post": { + "operationId": "DatabaseAccounts_ListReadOnlyKeys", + "x-ms-examples": { + "CosmosDBDatabaseAccountListReadOnlyKeys": { + "$ref": "./examples/CosmosDBDatabaseAccountListReadOnlyKeys.json" + } + }, + "description": "Lists the read-only access keys for the specified Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey": { + "post": { + "operationId": "DatabaseAccounts_RegenerateKey", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegenerateKey": { + "$ref": "./examples/CosmosDBDatabaseAccountRegenerateKey.json" + } + }, + "description": "Regenerates an access key for the specified Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "keyToRegenerate", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseAccountRegenerateKeyParameters" + }, + "description": "The name of the key to regenerate." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The regenerate key operation will complete asynchronously." + } + } + } + }, + "/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}": { + "head": { + "operationId": "DatabaseAccounts_CheckNameExists", + "x-ms-examples": { + "CosmosDBDatabaseAccountCheckNameExists": { + "$ref": "./examples/CosmosDBDatabaseAccountCheckNameExists.json" + } + }, + "description": "Checks that the Azure Cosmos DB account name already exists. A valid account name may contain only lowercase letters, numbers, and the '-' character, and must be between 3 and 50 characters.", + "parameters": [ + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The account name is valid but is already in use." + }, + "404": { + "description": "Not Found. The account name is available and valid." + } + } + } + }, + "/providers/Microsoft.DocumentDB/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Cosmos DB Resource Provider operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "CosmosDBOperationsList": { + "$ref": "./examples/CosmosDBOperationsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics": { + "get": { + "operationId": "DatabaseAccounts_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountGetMetrics": { + "$ref": "./examples/CosmosDBDatabaseAccountGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics": { + "get": { + "operationId": "Database_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseGetMetrics": { + "$ref": "./examples/CosmosDBDatabaseGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account and database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics": { + "get": { + "operationId": "Collection_ListMetrics", + "x-ms-examples": { + "CosmosDBCollectionGetMetrics": { + "$ref": "./examples/CosmosDBCollectionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account and collection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics": { + "get": { + "operationId": "CollectionRegion_ListMetrics", + "x-ms-examples": { + "CosmosDBRegionCollectionGetMetrics": { + "$ref": "./examples/CosmosDBRegionCollectionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account, collection and region.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics": { + "get": { + "operationId": "DatabaseAccountRegion_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBDatabaseAccountRegionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account and region.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics": { + "get": { + "operationId": "PercentileSourceTarget_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPercentileSourceTargetGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given account, source and target region. This url is only for PBS and Replication Latency data", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/sourceRegionParameter" + }, + { + "$ref": "#/parameters/targetRegionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The percentile metrics for the account, source and target regions were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PercentileMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics": { + "get": { + "operationId": "PercentileTarget_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPercentileTargetGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given account target region. This url is only for PBS and Replication Latency data", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/targetRegionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The percentile metrics for the account and target regions were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PercentileMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics": { + "get": { + "operationId": "Percentile_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPercentileGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account. This url is only for PBS and Replication Latency data", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The percentile metrics for the account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PercentileMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics": { + "get": { + "operationId": "CollectionPartitionRegion_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBCollectionPartitionRegionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given collection and region, split by partition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The partition-level metrics for the collection and region were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics": { + "get": { + "operationId": "CollectionPartition_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBCollectionPartitionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given collection, split by partition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The partition-level metrics for the collection were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics": { + "get": { + "operationId": "PartitionKeyRangeId_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPKeyRangeIdGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given partition key range id.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "#/parameters/partitionKeyRangeIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The partition-level metrics for the partition key range id were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics": { + "get": { + "operationId": "PartitionKeyRangeIdRegion_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPKeyRangeIdRegionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given partition key range id and region.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "#/parameters/partitionKeyRangeIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The partition-level metrics for the partition key range id and region were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages": { + "get": { + "operationId": "DatabaseAccounts_ListUsages", + "x-ms-examples": { + "CosmosDBDatabaseAccountGetUsages": { + "$ref": "./examples/CosmosDBDatabaseAccountGetUsages.json" + } + }, + "description": "Retrieves the usages (most recent data) for the given database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/UsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages": { + "get": { + "operationId": "Database_ListUsages", + "x-ms-examples": { + "CosmosDBDatabaseGetUsages": { + "$ref": "./examples/CosmosDBDatabaseGetUsages.json" + } + }, + "description": "Retrieves the usages (most recent data) for the given database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for the database were retrieved successfully.", + "schema": { + "$ref": "#/definitions/UsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages": { + "get": { + "operationId": "Collection_ListUsages", + "x-ms-examples": { + "CosmosDBCollectionGetUsages": { + "$ref": "./examples/CosmosDBCollectionGetUsages.json" + } + }, + "description": "Retrieves the usages (most recent storage data) for the given collection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for the collection were retrieved successfully.", + "schema": { + "$ref": "#/definitions/UsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages": { + "get": { + "operationId": "CollectionPartition_ListUsages", + "x-ms-examples": { + "CosmosDBCollectionGetUsages": { + "$ref": "./examples/CosmosDBCollectionPartitionGetUsages.json" + } + }, + "description": "Retrieves the usages (most recent storage data) for the given collection, split by partition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for the collection, per partition were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionUsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions": { + "get": { + "operationId": "Database_ListMetricDefinitions", + "x-ms-examples": { + "CosmosDBDatabaseGetMetricDefinitions": { + "$ref": "./examples/CosmosDBDatabaseGetMetricDefinitions.json" + } + }, + "description": "Retrieves metric definitions for the given database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The metric definitions for the database were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricDefinitionsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions": { + "get": { + "operationId": "Collection_ListMetricDefinitions", + "x-ms-examples": { + "CosmosDBCollectionGetMetricDefinitions": { + "$ref": "./examples/CosmosDBCollectionGetMetricDefinitions.json" + } + }, + "description": "Retrieves metric definitions for the given collection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The metric definitions for the collection were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricDefinitionsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions": { + "get": { + "operationId": "DatabaseAccounts_ListMetricDefinitions", + "x-ms-examples": { + "CosmosDBDatabaseAccountGetMetricDefinitions": { + "$ref": "./examples/CosmosDBDatabaseAccountGetMetricDefinitions.json" + } + }, + "description": "Retrieves metric definitions for the given database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The metric definitions for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricDefinitionsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases": { + "get": { + "operationId": "SqlResources_ListSqlDatabases", + "x-ms-examples": { + "CosmosDBSqlDatabaseList": { + "$ref": "./examples/CosmosDBSqlDatabaseList.json" + } + }, + "description": "Lists the SQL databases under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL database properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlDatabaseListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}": { + "get": { + "operationId": "SqlResources_GetSqlDatabase", + "x-ms-examples": { + "CosmosDBSqlDatabaseGet": { + "$ref": "./examples/CosmosDBSqlDatabaseGet.json" + } + }, + "description": "Gets the SQL database under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL database property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlDatabaseGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlDatabase", + "x-ms-examples": { + "CosmosDBSqlDatabaseCreateUpdate": { + "$ref": "./examples/CosmosDBSqlDatabaseCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlDatabaseParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlDatabaseCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL database." + } + ], + "responses": { + "202": { + "description": "The SQL database create or update operation will complete asynchronously." + }, + "200": { + "description": "The SQL database create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlDatabaseGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlDatabase", + "x-ms-examples": { + "CosmosDBSqlDatabaseDelete": { + "$ref": "./examples/CosmosDBSqlDatabaseDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL database.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL database delete operation will complete asynchronously." + }, + "204": { + "description": "The SQL database delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default": { + "get": { + "operationId": "SqlResources_GetSqlDatabaseThroughput", + "x-ms-examples": { + "CosmosDBSqlDatabaseThroughputGet": { + "$ref": "./examples/CosmosDBSqlDatabaseThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the SQL database under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the SQL database was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_UpdateSqlDatabaseThroughput", + "x-ms-examples": { + "CosmosDBSqlDatabaseThroughputUpdate": { + "$ref": "./examples/CosmosDBSqlDatabaseThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB SQL database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The parameters to provide for the RUs per second of the current SQL database." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the SQL database update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the SQL database update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "SqlResources_MigrateSqlDatabaseToAutoscale", + "x-ms-examples": { + "CosmosDBSqlDatabaseMigrateToAutoscale": { + "$ref": "./examples/CosmosDBSqlDatabaseMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL database from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL database migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "SqlResources_MigrateSqlDatabaseToManualThroughput", + "x-ms-examples": { + "CosmosDBSqlDatabaseMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL database from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL database migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers": { + "get": { + "operationId": "SqlResources_ListSqlContainers", + "x-ms-examples": { + "CosmosDBSqlContainerList": { + "$ref": "./examples/CosmosDBSqlContainerList.json" + } + }, + "description": "Lists the SQL container under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL container properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlContainerListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}": { + "get": { + "operationId": "SqlResources_GetSqlContainer", + "x-ms-examples": { + "CosmosDBSqlContainerGet": { + "$ref": "./examples/CosmosDBSqlContainerGet.json" + } + }, + "description": "Gets the SQL container under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL container property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlContainerGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlContainer", + "x-ms-examples": { + "CosmosDBSqlContainerCreateUpdate": { + "$ref": "./examples/CosmosDBSqlContainerCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL container", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlContainerParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlContainerCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL container." + } + ], + "responses": { + "202": { + "description": "The SQL container create or update operation will complete asynchronously." + }, + "200": { + "description": "The SQL container create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlContainerGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlContainer", + "x-ms-examples": { + "CosmosDBSqlContainerDelete": { + "$ref": "./examples/CosmosDBSqlContainerDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL container.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL container delete operation will complete asynchronously." + }, + "204": { + "description": "The SQL container delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default": { + "get": { + "operationId": "SqlResources_GetSqlContainerThroughput", + "x-ms-examples": { + "CosmosDBSqlContainerThroughputGet": { + "$ref": "./examples/CosmosDBSqlContainerThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the SQL container under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the SQL container was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_UpdateSqlContainerThroughput", + "x-ms-examples": { + "CosmosDBSqlContainerThroughputUpdate": { + "$ref": "./examples/CosmosDBSqlContainerThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB SQL container", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The parameters to provide for the RUs per second of the current SQL container." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the SQL container update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the SQL container update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "SqlResources_MigrateSqlContainerToAutoscale", + "x-ms-examples": { + "CosmosDBSqlContainerMigrateToAutoscale": { + "$ref": "./examples/CosmosDBSqlContainerMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL container from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL container migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL container migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "SqlResources_MigrateSqlContainerToManualThroughput", + "x-ms-examples": { + "CosmosDBSqlContainerMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBSqlContainerMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL container from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL container migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL container migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures": { + "get": { + "operationId": "SqlResources_ListSqlStoredProcedures", + "x-ms-examples": { + "CosmosDBSqlStoredProcedureList": { + "$ref": "./examples/CosmosDBSqlStoredProcedureList.json" + } + }, + "description": "Lists the SQL storedProcedure under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL stored procedure properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlStoredProcedureListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}": { + "get": { + "operationId": "SqlResources_GetSqlStoredProcedure", + "x-ms-examples": { + "CosmosDBSqlStoredProcedureGet": { + "$ref": "./examples/CosmosDBSqlStoredProcedureGet.json" + } + }, + "description": "Gets the SQL storedProcedure under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/storedProcedureNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL storedProcedure property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlStoredProcedureGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlStoredProcedure", + "x-ms-examples": { + "CosmosDBSqlStoredProcedureCreateUpdate": { + "$ref": "./examples/CosmosDBSqlStoredProcedureCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL storedProcedure", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/storedProcedureNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlStoredProcedureParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlStoredProcedureCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL storedProcedure." + } + ], + "responses": { + "202": { + "description": "The SQL storedProcedure create or update operation will complete asynchronously." + }, + "200": { + "description": "The SQL storedProcedure create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlStoredProcedureGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlStoredProcedure", + "x-ms-examples": { + "CosmosDBSqlStoredProcedureDelete": { + "$ref": "./examples/CosmosDBSqlStoredProcedureDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL storedProcedure.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/storedProcedureNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL storedProcedure delete operation will complete asynchronously." + }, + "204": { + "description": "The SQL storedProcedure delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions": { + "get": { + "operationId": "SqlResources_ListSqlUserDefinedFunctions", + "x-ms-examples": { + "CosmosDBSqlUserDefinedFunctionList": { + "$ref": "./examples/CosmosDBSqlUserDefinedFunctionList.json" + } + }, + "description": "Lists the SQL userDefinedFunction under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL userDefinedFunction properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlUserDefinedFunctionListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}": { + "get": { + "operationId": "SqlResources_GetSqlUserDefinedFunction", + "x-ms-examples": { + "CosmosDBSqlUserDefinedFunctionGet": { + "$ref": "./examples/CosmosDBSqlUserDefinedFunctionGet.json" + } + }, + "description": "Gets the SQL userDefinedFunction under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/userDefinedFunctionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL userDefinedFunction property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlUserDefinedFunctionGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlUserDefinedFunction", + "x-ms-examples": { + "CosmosDBSqlUserDefinedFunctionCreateUpdate": { + "$ref": "./examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL userDefinedFunction", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/userDefinedFunctionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlUserDefinedFunctionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL userDefinedFunction." + } + ], + "responses": { + "202": { + "description": "The SQL userDefinedFunction create or update operation will complete asynchronously." + }, + "200": { + "description": "The SQL userDefinedFunction create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlUserDefinedFunctionGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlUserDefinedFunction", + "x-ms-examples": { + "CosmosDBSqlUserDefinedFunctionDelete": { + "$ref": "./examples/CosmosDBSqlUserDefinedFunctionDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL userDefinedFunction.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/userDefinedFunctionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL userDefinedFunction delete operation will complete asynchronously." + }, + "204": { + "description": "The SQL userDefinedFunction delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers": { + "get": { + "operationId": "SqlResources_ListSqlTriggers", + "x-ms-examples": { + "CosmosDBSqlTriggerList": { + "$ref": "./examples/CosmosDBSqlTriggerList.json" + } + }, + "description": "Lists the SQL trigger under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL trigger properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlTriggerListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}": { + "get": { + "operationId": "SqlResources_GetSqlTrigger", + "x-ms-examples": { + "CosmosDBSqlTriggerGet": { + "$ref": "./examples/CosmosDBSqlTriggerGet.json" + } + }, + "description": "Gets the SQL trigger under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/triggerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL trigger property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlTriggerGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlTrigger", + "x-ms-examples": { + "CosmosDBSqlTriggerCreateUpdate": { + "$ref": "./examples/CosmosDBSqlTriggerCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL trigger", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/triggerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlTriggerParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlTriggerCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL trigger." + } + ], + "responses": { + "202": { + "description": "The SQL trigger create or update operation will complete asynchronously." + }, + "200": { + "description": "The SQL trigger create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlTriggerGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlTrigger", + "x-ms-examples": { + "CosmosDBSqlTriggerDelete": { + "$ref": "./examples/CosmosDBSqlTriggerDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL trigger.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/triggerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL trigger delete operation will complete asynchronously." + }, + "204": { + "description": "The SQL trigger delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases": { + "get": { + "operationId": "MongoDBResources_ListMongoDBDatabases", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseList": { + "$ref": "./examples/CosmosDBMongoDBDatabaseList.json" + } + }, + "description": "Lists the MongoDB databases under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The MongoDB database properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoDBDatabaseListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}": { + "get": { + "operationId": "MongoDBResources_GetMongoDBDatabase", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseGet": { + "$ref": "./examples/CosmosDBMongoDBDatabaseGet.json" + } + }, + "description": "Gets the MongoDB databases under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The MongoDB database property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoDBDatabaseGetResults" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_CreateUpdateMongoDBDatabase", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseCreateUpdate": { + "$ref": "./examples/CosmosDBMongoDBDatabaseCreateUpdate.json" + } + }, + "description": "Create or updates Azure Cosmos DB MongoDB database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateMongoDBDatabaseParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MongoDBDatabaseCreateUpdateParameters" + }, + "description": "The parameters to provide for the current MongoDB database." + } + ], + "responses": { + "202": { + "description": "The MongoDB database create or update operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB database create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/MongoDBDatabaseGetResults" + } + } + } + }, + "delete": { + "operationId": "MongoDBResources_DeleteMongoDBDatabase", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseDelete": { + "$ref": "./examples/CosmosDBMongoDBDatabaseDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB MongoDB database.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB database delete operation will complete asynchronously." + }, + "204": { + "description": "The MongoDB database delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default": { + "get": { + "operationId": "MongoDBResources_GetMongoDBDatabaseThroughput", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseThroughputGet": { + "$ref": "./examples/CosmosDBMongoDBDatabaseThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the MongoDB database under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the MongoDB database was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_UpdateMongoDBDatabaseThroughput", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseThroughputUpdate": { + "$ref": "./examples/CosmosDBMongoDBDatabaseThroughputUpdate.json" + } + }, + "description": "Update RUs per second of the an Azure Cosmos DB MongoDB database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current MongoDB database." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the MongoDB database update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the MongoDB database update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBDatabaseToAutoscale", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseMigrateToAutoscale": { + "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB database from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB database migrate operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBDatabaseToManualThroughput", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB database from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB database migrate operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections": { + "get": { + "operationId": "MongoDBResources_ListMongoDBCollections", + "x-ms-examples": { + "CosmosDBMongoDBCollectionList": { + "$ref": "./examples/CosmosDBMongoDBCollectionList.json" + } + }, + "description": "Lists the MongoDB collection under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The MongoDB collection properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoDBCollectionListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}": { + "get": { + "operationId": "MongoDBResources_GetMongoDBCollection", + "x-ms-examples": { + "CosmosDBMongoDBCollectionGet": { + "$ref": "./examples/CosmosDBMongoDBCollectionGet.json" + } + }, + "description": "Gets the MongoDB collection under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The MongoDB collection property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoDBCollectionGetResults" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_CreateUpdateMongoDBCollection", + "x-ms-examples": { + "CosmosDBMongoDBCollectionCreateUpdate": { + "$ref": "./examples/CosmosDBMongoDBCollectionCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB MongoDB Collection", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateMongoDBCollectionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MongoDBCollectionCreateUpdateParameters" + }, + "description": "The parameters to provide for the current MongoDB Collection." + } + ], + "responses": { + "202": { + "description": "The MongoDB Collection create or update operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB Collection create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/MongoDBCollectionGetResults" + } + } + } + }, + "delete": { + "operationId": "MongoDBResources_DeleteMongoDBCollection", + "x-ms-examples": { + "CosmosDBMongoDBCollectionDelete": { + "$ref": "./examples/CosmosDBMongoDBCollectionDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB MongoDB Collection.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB collection delete operation will complete asynchronously." + }, + "204": { + "description": "The MongoDB collection delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default": { + "get": { + "operationId": "MongoDBResources_GetMongoDBCollectionThroughput", + "x-ms-examples": { + "CosmosDBMongoDBCollectionThroughputGet": { + "$ref": "./examples/CosmosDBMongoDBCollectionThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the MongoDB collection under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the MongoDB collection was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_UpdateMongoDBCollectionThroughput", + "x-ms-examples": { + "CosmosDBMongoDBCollectionThroughputUpdate": { + "$ref": "./examples/CosmosDBMongoDBCollectionThroughputUpdate.json" + } + }, + "description": "Update the RUs per second of an Azure Cosmos DB MongoDB collection", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current MongoDB collection." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the MongoDB collection update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the MongoDB collection update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBCollectionToAutoscale", + "x-ms-examples": { + "CosmosDBMongoDBCollectionMigrateToAutoscale": { + "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB collection from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB collection migrate operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB collection migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBCollectionToManualThroughput", + "x-ms-examples": { + "CosmosDBMongoDBCollectionMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB collection from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB collection migrate operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB collection migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables": { + "get": { + "operationId": "TableResources_ListTables", + "x-ms-examples": { + "CosmosDBTableList": { + "$ref": "./examples/CosmosDBTableList.json" + } + }, + "description": "Lists the Tables under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Table properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/TableListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}": { + "get": { + "operationId": "TableResources_GetTable", + "x-ms-examples": { + "CosmosDBTableGet": { + "$ref": "./examples/CosmosDBTableGet.json" + } + }, + "description": "Gets the Tables under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Table property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/TableGetResults" + } + } + } + }, + "put": { + "operationId": "TableResources_CreateUpdateTable", + "x-ms-examples": { + "CosmosDBTableReplace": { + "$ref": "./examples/CosmosDBTableCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Table", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateTableParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TableCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Table." + } + ], + "responses": { + "202": { + "description": "The Table create or update operation will complete asynchronously." + }, + "200": { + "description": "The Table create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/TableGetResults" + } + } + } + }, + "delete": { + "operationId": "TableResources_DeleteTable", + "x-ms-examples": { + "CosmosDBTableDelete": { + "$ref": "./examples/CosmosDBTableDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Table.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Table delete operation will complete asynchronously." + }, + "204": { + "description": "The Table delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default": { + "get": { + "operationId": "TableResources_GetTableThroughput", + "x-ms-examples": { + "CosmosDBTableThroughputGet": { + "$ref": "./examples/CosmosDBTableThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Table under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Table was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "TableResources_UpdateTableThroughput", + "x-ms-examples": { + "CosmosDBTableThroughputUpdate": { + "$ref": "./examples/CosmosDBTableThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Table", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The parameters to provide for the RUs per second of the current Table." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Table update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the Table update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "TableResources_MigrateTableToAutoscale", + "x-ms-examples": { + "CosmosDBTableMigrateToAutoscale": { + "$ref": "./examples/CosmosDBTableMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Table from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "TableResources_MigrateTableToManualThroughput", + "x-ms-examples": { + "CosmosDBTableMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBTableMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Table from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces": { + "get": { + "operationId": "CassandraResources_ListCassandraKeyspaces", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceList": { + "$ref": "./examples/CosmosDBCassandraKeyspaceList.json" + } + }, + "description": "Lists the Cassandra keyspaces under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra keyspace properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraKeyspaceListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}": { + "get": { + "operationId": "CassandraResources_GetCassandraKeyspace", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceGet": { + "$ref": "./examples/CosmosDBCassandraKeyspaceGet.json" + } + }, + "description": "Gets the Cassandra keyspaces under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra keyspace property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraKeyspaceGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_CreateUpdateCassandraKeyspace", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceCreateUpdate": { + "$ref": "./examples/CosmosDBCassandraKeyspaceCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Cassandra keyspace", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateCassandraKeyspaceParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CassandraKeyspaceCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Cassandra keyspace." + } + ], + "responses": { + "202": { + "description": "The Cassandra keyspace create or update operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra keyspace create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/CassandraKeyspaceGetResults" + } + } + } + }, + "delete": { + "operationId": "CassandraResources_DeleteCassandraKeyspace", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceDelete": { + "$ref": "./examples/CosmosDBCassandraKeyspaceDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Cassandra keyspace.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra keyspace delete operation will complete asynchronously." + }, + "204": { + "description": "The Cassandra keyspace delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default": { + "get": { + "operationId": "CassandraResources_GetCassandraKeyspaceThroughput", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceThroughputGet": { + "$ref": "./examples/CosmosDBCassandraKeyspaceThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Cassandra Keyspace under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Cassandra Keyspace was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_UpdateCassandraKeyspaceThroughput", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceThroughputUpdate": { + "$ref": "./examples/CosmosDBCassandraKeyspaceThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Cassandra Keyspace", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current Cassandra Keyspace." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Cassandra Keyspace update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the Cassandra Keyspace update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "CassandraResources_MigrateCassandraKeyspaceToAutoscale", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceMigrateToAutoscale": { + "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra Keyspace migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra Keyspace migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "CassandraResources_MigrateCassandraKeyspaceToManualThroughput", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra Keyspace migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra Keyspace migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables": { + "get": { + "operationId": "CassandraResources_ListCassandraTables", + "x-ms-examples": { + "CosmosDBCassandraTableList": { + "$ref": "./examples/CosmosDBCassandraTableList.json" + } + }, + "description": "Lists the Cassandra table under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra table properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraTableListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}": { + "get": { + "operationId": "CassandraResources_GetCassandraTable", + "x-ms-examples": { + "CosmosDBCassandraTableGet": { + "$ref": "./examples/CosmosDBCassandraTableGet.json" + } + }, + "description": "Gets the Cassandra table under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra table property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraTableGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_CreateUpdateCassandraTable", + "x-ms-examples": { + "CosmosDBCassandraTableCreateUpdate": { + "$ref": "./examples/CosmosDBCassandraTableCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Cassandra Table", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateCassandraTableParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CassandraTableCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Cassandra Table." + } + ], + "responses": { + "202": { + "description": "The Cassandra Table create or update operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra Table create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/CassandraTableGetResults" + } + } + } + }, + "delete": { + "operationId": "CassandraResources_DeleteCassandraTable", + "x-ms-examples": { + "CosmosDBCassandraTableDelete": { + "$ref": "./examples/CosmosDBCassandraTableDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Cassandra table.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra table delete operation will complete asynchronously." + }, + "204": { + "description": "The Cassandra table delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default": { + "get": { + "operationId": "CassandraResources_GetCassandraTableThroughput", + "x-ms-examples": { + "CosmosDBCassandraTableThroughputGet": { + "$ref": "./examples/CosmosDBCassandraTableThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Cassandra table under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Cassandra table was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_UpdateCassandraTableThroughput", + "x-ms-examples": { + "CosmosDBCassandraTableThroughputUpdate": { + "$ref": "./examples/CosmosDBCassandraTableThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Cassandra table", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current Cassandra table." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Cassandra table update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the Cassandra table update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "CassandraResources_MigrateCassandraTableToAutoscale", + "x-ms-examples": { + "CosmosDBCassandraTableMigrateToAutoscale": { + "$ref": "./examples/CosmosDBCassandraTableMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra table from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "CassandraResources_MigrateCassandraTableToManualThroughput", + "x-ms-examples": { + "CosmosDBCassandraTableMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBCassandraTableMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra table from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases": { + "get": { + "operationId": "GremlinResources_ListGremlinDatabases", + "x-ms-examples": { + "CosmosDBGremlinDatabaseList": { + "$ref": "./examples/CosmosDBGremlinDatabaseList.json" + } + }, + "description": "Lists the Gremlin databases under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Gremlin database properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/GremlinDatabaseListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}": { + "get": { + "operationId": "GremlinResources_GetGremlinDatabase", + "x-ms-examples": { + "CosmosDBGremlinDatabaseGet": { + "$ref": "./examples/CosmosDBGremlinDatabaseGet.json" + } + }, + "description": "Gets the Gremlin databases under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Gremlin database property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/GremlinDatabaseGetResults" + } + } + } + }, + "put": { + "operationId": "GremlinResources_CreateUpdateGremlinDatabase", + "x-ms-examples": { + "CosmosDBGremlinDatabaseCreateUpdate": { + "$ref": "./examples/CosmosDBGremlinDatabaseCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Gremlin database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateGremlinDatabaseParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GremlinDatabaseCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Gremlin database." + } + ], + "responses": { + "202": { + "description": "The Gremlin database create or update operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin database create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/GremlinDatabaseGetResults" + } + } + } + }, + "delete": { + "operationId": "GremlinResources_DeleteGremlinDatabase", + "x-ms-examples": { + "CosmosDBGremlinDatabaseDelete": { + "$ref": "./examples/CosmosDBGremlinDatabaseDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Gremlin database.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin database delete operation will complete asynchronously." + }, + "204": { + "description": "The Gremlin database delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default": { + "get": { + "operationId": "GremlinResources_GetGremlinDatabaseThroughput", + "x-ms-examples": { + "CosmosDBGremlinDatabaseThroughputGet": { + "$ref": "./examples/CosmosDBGremlinDatabaseThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Gremlin database under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Gremlin database was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "GremlinResources_UpdateGremlinDatabaseThroughput", + "x-ms-examples": { + "CosmosDBGremlinDatabaseThroughputUpdate": { + "$ref": "./examples/CosmosDBGremlinDatabaseThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Gremlin database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current Gremlin database." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Gremlin database update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the Gremlin database update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "GremlinResources_MigrateGremlinDatabaseToAutoscale", + "x-ms-examples": { + "CosmosDBGremlinDatabaseMigrateToAutoscale": { + "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin database from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin database migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "GremlinResources_MigrateGremlinDatabaseToManualThroughput", + "x-ms-examples": { + "CosmosDBGremlinDatabaseMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin database from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin database migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs": { + "get": { + "operationId": "GremlinResources_ListGremlinGraphs", + "x-ms-examples": { + "CosmosDBGremlinGraphList": { + "$ref": "./examples/CosmosDBGremlinGraphList.json" + } + }, + "description": "Lists the Gremlin graph under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Gremlin graph properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/GremlinGraphListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}": { + "get": { + "operationId": "GremlinResources_GetGremlinGraph", + "x-ms-examples": { + "CosmosDBGremlinGraphGet": { + "$ref": "./examples/CosmosDBGremlinGraphGet.json" + } + }, + "description": "Gets the Gremlin graph under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Gremlin graph property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/GremlinGraphGetResults" + } + } + } + }, + "put": { + "operationId": "GremlinResources_CreateUpdateGremlinGraph", + "x-ms-examples": { + "CosmosDBGremlinGraphCreateUpdate": { + "$ref": "./examples/CosmosDBGremlinGraphCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Gremlin graph", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateGremlinGraphParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GremlinGraphCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Gremlin graph." + } + ], + "responses": { + "202": { + "description": "The Gremlin graph create or update operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin graph create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/GremlinGraphGetResults" + } + } + } + }, + "delete": { + "operationId": "GremlinResources_DeleteGremlinGraph", + "x-ms-examples": { + "CosmosDBGremlinGraphDelete": { + "$ref": "./examples/CosmosDBGremlinGraphDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Gremlin graph.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin graph delete operation will complete asynchronously." + }, + "204": { + "description": "The Gremlin graph delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default": { + "get": { + "operationId": "GremlinResources_GetGremlinGraphThroughput", + "x-ms-examples": { + "CosmosDBGremlinGraphThroughputGet": { + "$ref": "./examples/CosmosDBGremlinGraphThroughputGet.json" + } + }, + "description": "Gets the Gremlin graph throughput under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Gremlin graph was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "GremlinResources_UpdateGremlinGraphThroughput", + "x-ms-examples": { + "CosmosDBGremlinGraphThroughputUpdate": { + "$ref": "./examples/CosmosDBGremlinGraphThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Gremlin graph", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current Gremlin graph." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Gremlin graph update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the Gremlin graph update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "GremlinResources_MigrateGremlinGraphToAutoscale", + "x-ms-examples": { + "CosmosDBGremlinGraphMigrateToAutoscale": { + "$ref": "./examples/CosmosDBGremlinGraphMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin graph from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin graph migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin graph migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "GremlinResources_MigrateGremlinGraphToManualThroughput", + "x-ms-examples": { + "CosmosDBGremlinGraphMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBGremlinGraphMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin graph from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin graph migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin graph migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations": { + "get": { + "operationId": "Locations_List", + "x-ms-examples": { + "CosmosDBLocationList": { + "$ref": "./examples/CosmosDBLocationList.json" + } + }, + "description": "List Cosmos DB locations and their properties", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/LocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}": { + "get": { + "operationId": "Locations_Get", + "x-ms-examples": { + "CosmosDBLocationGet": { + "$ref": "./examples/CosmosDBLocationGet.json" + } + }, + "description": "Get the properties of an existing Cosmos DB location", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + } + ], + "responses": { + "200": { + "description": "The Cosmos DB location properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/LocationGetResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "DatabaseAccountsListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseAccountGetResults" + }, + "description": "List of database account and their properties." + } + }, + "description": "The List operation response, that contains the database accounts and their properties." + }, + "SqlDatabaseListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlDatabaseGetResults" + }, + "description": "List of SQL databases and their properties." + } + }, + "description": "The List operation response, that contains the SQL databases and their properties." + }, + "SqlContainerListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlContainerGetResults" + }, + "description": "List of containers and their properties." + } + }, + "description": "The List operation response, that contains the containers and their properties." + }, + "SqlStoredProcedureListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlStoredProcedureGetResults" + }, + "description": "List of storedProcedures and their properties." + } + }, + "description": "The List operation response, that contains the storedProcedures and their properties." + }, + "SqlUserDefinedFunctionListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlUserDefinedFunctionGetResults" + }, + "description": "List of userDefinedFunctions and their properties." + } + }, + "description": "The List operation response, that contains the userDefinedFunctions and their properties." + }, + "SqlTriggerListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlTriggerGetResults" + }, + "description": "List of triggers and their properties." + } + }, + "description": "The List operation response, that contains the triggers and their properties." + }, + "MongoDBDatabaseListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/MongoDBDatabaseGetResults" + }, + "description": "List of MongoDB databases and their properties." + } + }, + "description": "The List operation response, that contains the MongoDB databases and their properties." + }, + "MongoDBCollectionListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/MongoDBCollectionGetResults" + }, + "description": "List of MongoDB collections and their properties." + } + }, + "description": "The List operation response, that contains the MongoDB collections and their properties." + }, + "TableListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TableGetResults" + }, + "description": "List of Table and their properties." + } + }, + "description": "The List operation response, that contains the Table and their properties." + }, + "CassandraKeyspaceListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CassandraKeyspaceGetResults" + }, + "description": "List of Cassandra keyspaces and their properties." + } + }, + "description": "The List operation response, that contains the Cassandra keyspaces and their properties." + }, + "CassandraTableListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CassandraTableGetResults" + }, + "description": "List of Cassandra tables and their properties." + } + }, + "description": "The List operation response, that contains the Cassandra tables and their properties." + }, + "GremlinDatabaseListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/GremlinDatabaseGetResults" + }, + "description": "List of Gremlin databases and their properties." + } + }, + "description": "The List operation response, that contains the Gremlin databases and their properties." + }, + "GremlinGraphListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/GremlinGraphGetResults" + }, + "description": "List of graphs and their properties." + } + }, + "description": "The List operation response, that contains the graphs and their properties." + }, + "ErrorResponse": { + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + }, + "description": "Error Response." + }, + "CloudError": { + "x-ms-external": true, + "description": "An error response from the service.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "FailoverPolicies": { + "properties": { + "failoverPolicies": { + "type": "array", + "description": "List of failover policies.", + "items": { + "$ref": "#/definitions/FailoverPolicy" + } + } + }, + "required": [ + "failoverPolicies" + ], + "description": "The list of new failover policies for the failover priority change." + }, + "FailoverPolicy": { + "type": "object", + "description": "The failover policy for a given region of a database account.", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The unique identifier of the region in which the database account replicates to. Example: <accountName>-<locationName>." + }, + "locationName": { + "type": "string", + "description": "The name of the region in which the database account exists." + }, + "failoverPriority": { + "type": "integer", + "minimum": 0, + "format": "int32", + "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists." + } + } + }, + "RegionForOnlineOffline": { + "properties": { + "region": { + "type": "string", + "description": "Cosmos DB region, with spaces between words and each word capitalized." + } + }, + "required": [ + "region" + ], + "description": "Cosmos DB region to online or offline." + }, + "Location": { + "description": "A region in which the Azure Cosmos DB database account is deployed.", + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The unique identifier of the region within the database account. Example: <accountName>-<locationName>." + }, + "locationName": { + "type": "string", + "description": "The name of the region." + }, + "documentEndpoint": { + "type": "string", + "readOnly": true, + "description": "The connection endpoint for the specific region. Example: https://<accountName>-<locationName>.documents.azure.com:443/" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState" + }, + "failoverPriority": { + "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists.", + "format": "int32", + "type": "integer", + "minimum": 0 + }, + "isZoneRedundant": { + "type": "boolean", + "description": "Flag to indicate whether or not this region is an AvailabilityZone region" + } + } + }, + "ARMResourceProperties": { + "type": "object", + "description": "The core properties of ARM resources.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "tags": { + "$ref": "#/definitions/Tags" + } + }, + "x-ms-azure-resource": true + }, + "ARMProxyResource": { + "type": "object", + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource identifier of the database account." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the database account." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + }, + "x-ms-azure-resource": true + }, + "DatabaseAccountGetResults": { + "description": "An Azure Cosmos DB database account.", + "type": "object", + "properties": { + "kind": { + "description": "Indicates the type of database account. This can only be set at database account creation.", + "type": "string", + "default": "GlobalDocumentDB", + "enum": [ + "GlobalDocumentDB", + "MongoDB", + "Parse" + ], + "x-ms-enum": { + "name": "DatabaseAccountKind", + "modelAsString": true + } + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DatabaseAccountGetProperties" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "ExtendedResourceProperties": { + "description": "The system generated resource properties associated with SQL databases, SQL containers, Gremlin databases and Gremlin graphs.", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "description": "A system generated property. A unique identifier.", + "readOnly": true + }, + "_ts": { + "type": "number", + "description": "A system generated property that denotes the last updated timestamp of the resource.", + "readOnly": true + }, + "_etag": { + "type": "string", + "description": "A system generated property representing the resource etag required for optimistic concurrency control.", + "readOnly": true + } + } + }, + "ThroughputSettingsGetResults": { + "description": "An Azure Cosmos DB resource throughput.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB resource throughput", + "$ref": "#/definitions/ThroughputSettingsGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "ThroughputSettingsGetProperties": { + "description": "The properties of an Azure Cosmos DB resource throughput", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/ThroughputSettingsResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "SqlDatabaseGetResults": { + "description": "An Azure Cosmos DB SQL database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB SQL database", + "$ref": "#/definitions/SqlDatabaseGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlDatabaseGetProperties": { + "description": "The properties of an Azure Cosmos DB SQL database", + "type": "object", + "properties": { + "resource": { + "properties": { + "_colls": { + "type": "string", + "description": "A system generated property that specified the addressable path of the collections resource." + }, + "_users": { + "type": "string", + "description": "A system generated property that specifies the addressable path of the users resource." + } + }, + "allOf": [ + { + "$ref": "#/definitions/SqlDatabaseResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "SqlContainerGetResults": { + "description": "An Azure Cosmos DB container.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB container", + "$ref": "#/definitions/SqlContainerGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlContainerGetProperties": { + "description": "The properties of an Azure Cosmos DB container", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/SqlContainerResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "SqlStoredProcedureGetResults": { + "description": "An Azure Cosmos DB storedProcedure.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB storedProcedure", + "$ref": "#/definitions/SqlStoredProcedureGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlStoredProcedureGetProperties": { + "description": "The properties of an Azure Cosmos DB StoredProcedure", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/SqlStoredProcedureResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "SqlUserDefinedFunctionGetResults": { + "description": "An Azure Cosmos DB userDefinedFunction.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB userDefinedFunction", + "$ref": "#/definitions/SqlUserDefinedFunctionGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlUserDefinedFunctionGetProperties": { + "description": "The properties of an Azure Cosmos DB userDefinedFunction", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/SqlUserDefinedFunctionResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "SqlTriggerGetResults": { + "description": "An Azure Cosmos DB trigger.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB trigger", + "$ref": "#/definitions/SqlTriggerGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlTriggerGetProperties": { + "description": "The properties of an Azure Cosmos DB trigger", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/SqlTriggerResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "MongoDBDatabaseGetResults": { + "description": "An Azure Cosmos DB MongoDB database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB MongoDB database", + "$ref": "#/definitions/MongoDBDatabaseGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "MongoDBDatabaseGetProperties": { + "description": "The properties of an Azure Cosmos DB MongoDB database", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/MongoDBDatabaseResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "MongoDBCollectionGetResults": { + "description": "An Azure Cosmos DB MongoDB collection.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB MongoDB collection", + "$ref": "#/definitions/MongoDBCollectionGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "MongoDBCollectionGetProperties": { + "description": "The properties of an Azure Cosmos DB MongoDB collection", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/MongoDBCollectionResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "TableGetResults": { + "description": "An Azure Cosmos DB Table.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Table", + "$ref": "#/definitions/TableGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "TableGetProperties": { + "description": "The properties of an Azure Cosmos Table", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/TableResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "CassandraKeyspaceGetResults": { + "description": "An Azure Cosmos DB Cassandra keyspace.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Cassandra keyspace", + "$ref": "#/definitions/CassandraKeyspaceGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "CassandraKeyspaceGetProperties": { + "description": "The properties of an Azure Cosmos DB Cassandra keyspace", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/CassandraKeyspaceResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "CassandraTableGetResults": { + "description": "An Azure Cosmos DB Cassandra table.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Cassandra table", + "$ref": "#/definitions/CassandraTableGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "CassandraTableGetProperties": { + "description": "The properties of an Azure Cosmos DB Cassandra table", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/CassandraTableResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "GremlinDatabaseGetResults": { + "description": "An Azure Cosmos DB Gremlin database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB SQL database", + "$ref": "#/definitions/GremlinDatabaseGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "GremlinDatabaseGetProperties": { + "description": "The properties of an Azure Cosmos DB SQL database", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/GremlinDatabaseResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "GremlinGraphGetResults": { + "description": "An Azure Cosmos DB Gremlin graph.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Gremlin graph", + "$ref": "#/definitions/GremlinGraphGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "GremlinGraphGetProperties": { + "description": "The properties of an Azure Cosmos DB Gremlin graph", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/GremlinGraphResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "ConsistencyPolicy": { + "type": "object", + "description": "The consistency policy for the Cosmos DB database account.", + "properties": { + "defaultConsistencyLevel": { + "description": "The default consistency level and configuration settings of the Cosmos DB account.", + "type": "string", + "enum": [ + "Eventual", + "Session", + "BoundedStaleness", + "Strong", + "ConsistentPrefix" + ], + "x-ms-enum": { + "name": "DefaultConsistencyLevel", + "modelAsString": false + } + }, + "maxStalenessPrefix": { + "description": "When used with the Bounded Staleness consistency level, this value represents the number of stale requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'.", + "type": "integer", + "minimum": 1, + "maximum": 2147483647, + "format": "int64" + }, + "maxIntervalInSeconds": { + "description": "When used with the Bounded Staleness consistency level, this value represents the time amount of staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'.", + "type": "integer", + "minimum": 5, + "maximum": 86400, + "format": "int32" + } + }, + "required": [ + "defaultConsistencyLevel" + ] + }, + "CorsPolicy": { + "type": "object", + "description": "The CORS policy for the Cosmos DB database account.", + "properties": { + "allowedOrigins": { + "description": "The origin domains that are permitted to make a request against the service via CORS.", + "type": "string" + }, + "allowedMethods": { + "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request.", + "type": "string" + }, + "allowedHeaders": { + "description": "The request headers that the origin domain may specify on the CORS request.", + "type": "string" + }, + "exposedHeaders": { + "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer.", + "type": "string" + }, + "maxAgeInSeconds": { + "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.", + "type": "integer", + "minimum": 1, + "maximum": 2147483647, + "format": "int64" + } + }, + "required": [ + "allowedOrigins" + ] + }, + "DatabaseAccountGetProperties": { + "description": "Properties for the database account.", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState" + }, + "documentEndpoint": { + "description": "The connection endpoint for the Cosmos DB database account.", + "type": "string", + "readOnly": true + }, + "databaseAccountOfferType": { + "description": "The offer type for the Cosmos DB database account. Default value: Standard.", + "readOnly": true, + "$ref": "#/definitions/DatabaseAccountOfferType" + }, + "ipRules": { + "description": "List of IpRules.", + "$ref": "#/definitions/IPRules" + }, + "isVirtualNetworkFilterEnabled": { + "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.", + "type": "boolean" + }, + "enableAutomaticFailover": { + "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.", + "type": "boolean" + }, + "consistencyPolicy": { + "description": "The consistency policy for the Cosmos DB database account.", + "$ref": "#/definitions/ConsistencyPolicy" + }, + "capabilities": { + "type": "array", + "description": "List of Cosmos DB capabilities for the account", + "items": { + "$ref": "#/definitions/Capability" + } + }, + "writeLocations": { + "type": "array", + "readOnly": true, + "description": "An array that contains the write location for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "readLocations": { + "type": "array", + "readOnly": true, + "description": "An array that contains of the read locations enabled for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "locations": { + "type": "array", + "readOnly": true, + "description": "An array that contains all of the locations enabled for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "failoverPolicies": { + "type": "array", + "readOnly": true, + "description": "An array that contains the regions ordered by their failover priorities.", + "items": { + "$ref": "#/definitions/FailoverPolicy" + } + }, + "virtualNetworkRules": { + "type": "array", + "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "privateEndpointConnections": { + "type": "array", + "readOnly": true, + "description": "List of Private Endpoint Connections configured for the Cosmos DB account.", + "items": { + "$ref": "../../stable/2021-10-15/privateEndpointConnection.json#/definitions/PrivateEndpointConnection" + } + }, + "enableMultipleWriteLocations": { + "description": "Enables the account to write in multiple locations", + "type": "boolean" + }, + "enableCassandraConnector": { + "description": "Enables the cassandra connector on the Cosmos DB C* account", + "type": "boolean" + }, + "connectorOffer": { + "description": "The cassandra connector offer type for the Cosmos DB database C* account.", + "$ref": "#/definitions/ConnectorOffer" + }, + "disableKeyBasedMetadataWriteAccess": { + "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys", + "type": "boolean" + }, + "keyVaultKeyUri": { + "description": "The URI of the key vault", + "type": "string" + }, + "defaultIdentity": { + "description": "The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be \"FirstPartyIdentity\", \"SystemAssignedIdentity\" and more.", + "type": "string" + }, + "publicNetworkAccess": { + "description": "Whether requests from Public Network are allowed", + "$ref": "#/definitions/PublicNetworkAccess" + }, + "enableFreeTier": { + "description": "Flag to indicate whether Free Tier is enabled.", + "type": "boolean" + }, + "apiProperties": { + "description": "API specific properties.", + "type": "object", + "$ref": "#/definitions/ApiProperties" + }, + "enableAnalyticalStorage": { + "description": "Flag to indicate whether to enable storage analytics.", + "type": "boolean" + }, + "analyticalStorageConfiguration": { + "description": "Analytical storage specific properties.", + "type": "object", + "$ref": "#/definitions/AnalyticalStorageConfiguration" + }, + "instanceId": { + "description": "A unique identifier assigned to the database account", + "type": "string", + "readOnly": true + }, + "createMode": { + "description": "Enum to indicate the mode of account creation.", + "type": "string", + "default": "Default", + "$ref": "#/definitions/CreateMode" + }, + "restoreParameters": { + "description": "Parameters to indicate the information about the restore.", + "type": "object", + "$ref": "#/definitions/RestoreParameters" + }, + "backupPolicy": { + "description": "The object representing the policy for taking backups on an account.", + "type": "object", + "$ref": "#/definitions/BackupPolicy" + }, + "cors": { + "type": "array", + "description": "The CORS policy for the Cosmos DB database account.", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + }, + "networkAclBypass": { + "description": "Indicates what services are allowed to bypass firewall checks.", + "$ref": "#/definitions/NetworkAclBypass" + }, + "networkAclBypassResourceIds": { + "type": "array", + "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.", + "items": { + "type": "string" + } + }, + "disableLocalAuth": { + "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.", + "type": "boolean" + }, + "capacity": { + "description": "The object that represents all properties related to capacity enforcement on an account.", + "type": "object", + "$ref": "#/definitions/Capacity" + } + } + }, + "DatabaseAccountCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB database accounts.", + "type": "object", + "properties": { + "consistencyPolicy": { + "description": "The consistency policy for the Cosmos DB account.", + "$ref": "#/definitions/ConsistencyPolicy" + }, + "locations": { + "type": "array", + "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "databaseAccountOfferType": { + "description": "The offer type for the database", + "$ref": "#/definitions/DatabaseAccountOfferType" + }, + "ipRules": { + "description": "List of IpRules.", + "$ref": "#/definitions/IPRules" + }, + "isVirtualNetworkFilterEnabled": { + "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.", + "type": "boolean" + }, + "enableAutomaticFailover": { + "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.", + "type": "boolean" + }, + "capabilities": { + "type": "array", + "description": "List of Cosmos DB capabilities for the account", + "items": { + "$ref": "#/definitions/Capability" + } + }, + "virtualNetworkRules": { + "type": "array", + "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "enableMultipleWriteLocations": { + "description": "Enables the account to write in multiple locations", + "type": "boolean" + }, + "enableCassandraConnector": { + "description": "Enables the cassandra connector on the Cosmos DB C* account", + "type": "boolean" + }, + "connectorOffer": { + "description": "The cassandra connector offer type for the Cosmos DB database C* account.", + "$ref": "#/definitions/ConnectorOffer" + }, + "disableKeyBasedMetadataWriteAccess": { + "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys", + "type": "boolean" + }, + "keyVaultKeyUri": { + "description": "The URI of the key vault", + "type": "string" + }, + "defaultIdentity": { + "description": "The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be \"FirstPartyIdentity\", \"SystemAssignedIdentity\" and more.", + "type": "string" + }, + "publicNetworkAccess": { + "description": "Whether requests from Public Network are allowed", + "$ref": "#/definitions/PublicNetworkAccess" + }, + "enableFreeTier": { + "description": "Flag to indicate whether Free Tier is enabled.", + "type": "boolean" + }, + "apiProperties": { + "description": "API specific properties. Currently, supported only for MongoDB API.", + "type": "object", + "$ref": "#/definitions/ApiProperties" + }, + "enableAnalyticalStorage": { + "description": "Flag to indicate whether to enable storage analytics.", + "type": "boolean" + }, + "analyticalStorageConfiguration": { + "description": "Analytical storage specific properties.", + "type": "object", + "$ref": "#/definitions/AnalyticalStorageConfiguration" + }, + "createMode": { + "description": "Enum to indicate the mode of account creation.", + "type": "string", + "default": "Default", + "$ref": "#/definitions/CreateMode" + }, + "backupPolicy": { + "description": "The object representing the policy for taking backups on an account.", + "type": "object", + "$ref": "#/definitions/BackupPolicy" + }, + "cors": { + "type": "array", + "description": "The CORS policy for the Cosmos DB database account.", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + }, + "networkAclBypass": { + "description": "Indicates what services are allowed to bypass firewall checks.", + "$ref": "#/definitions/NetworkAclBypass" + }, + "networkAclBypassResourceIds": { + "type": "array", + "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.", + "items": { + "type": "string" + } + }, + "disableLocalAuth": { + "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.", + "type": "boolean" + }, + "restoreParameters": { + "description": "Parameters to indicate the information about the restore.", + "type": "object", + "$ref": "#/definitions/RestoreParameters" + }, + "capacity": { + "description": "The object that represents all properties related to capacity enforcement on an account.", + "type": "object", + "$ref": "#/definitions/Capacity" + } + }, + "required": [ + "locations", + "databaseAccountOfferType" + ] + }, + "DatabaseAccountCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB database accounts.", + "type": "object", + "properties": { + "kind": { + "description": "Indicates the type of database account. This can only be set at database account creation.", + "type": "string", + "default": "GlobalDocumentDB", + "enum": [ + "GlobalDocumentDB", + "MongoDB", + "Parse" + ], + "x-ms-enum": { + "name": "DatabaseAccountKind", + "modelAsString": true + } + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DatabaseAccountCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "DatabaseAccountUpdateProperties": { + "description": "Properties to update Azure Cosmos DB database accounts.", + "type": "object", + "properties": { + "consistencyPolicy": { + "description": "The consistency policy for the Cosmos DB account.", + "$ref": "#/definitions/ConsistencyPolicy" + }, + "locations": { + "type": "array", + "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "ipRules": { + "description": "List of IpRules.", + "$ref": "#/definitions/IPRules" + }, + "isVirtualNetworkFilterEnabled": { + "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.", + "type": "boolean" + }, + "enableAutomaticFailover": { + "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.", + "type": "boolean" + }, + "capabilities": { + "type": "array", + "description": "List of Cosmos DB capabilities for the account", + "items": { + "$ref": "#/definitions/Capability" + } + }, + "virtualNetworkRules": { + "type": "array", + "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "enableMultipleWriteLocations": { + "description": "Enables the account to write in multiple locations", + "type": "boolean" + }, + "enableCassandraConnector": { + "description": "Enables the cassandra connector on the Cosmos DB C* account", + "type": "boolean" + }, + "connectorOffer": { + "description": "The cassandra connector offer type for the Cosmos DB database C* account.", + "$ref": "#/definitions/ConnectorOffer" + }, + "disableKeyBasedMetadataWriteAccess": { + "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys", + "type": "boolean" + }, + "keyVaultKeyUri": { + "description": "The URI of the key vault", + "type": "string" + }, + "defaultIdentity": { + "description": "The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be \"FirstPartyIdentity\", \"SystemAssignedIdentity\" and more.", + "type": "string" + }, + "publicNetworkAccess": { + "description": "Whether requests from Public Network are allowed", + "$ref": "#/definitions/PublicNetworkAccess" + }, + "enableFreeTier": { + "description": "Flag to indicate whether Free Tier is enabled.", + "type": "boolean" + }, + "apiProperties": { + "description": "API specific properties. Currently, supported only for MongoDB API.", + "type": "object", + "$ref": "#/definitions/ApiProperties" + }, + "enableAnalyticalStorage": { + "description": "Flag to indicate whether to enable storage analytics.", + "type": "boolean" + }, + "analyticalStorageConfiguration": { + "description": "Analytical storage specific properties.", + "type": "object", + "$ref": "#/definitions/AnalyticalStorageConfiguration" + }, + "backupPolicy": { + "description": "The object representing the policy for taking backups on an account.", + "type": "object", + "$ref": "#/definitions/BackupPolicy" + }, + "cors": { + "type": "array", + "description": "The CORS policy for the Cosmos DB database account.", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + }, + "networkAclBypass": { + "description": "Indicates what services are allowed to bypass firewall checks.", + "$ref": "#/definitions/NetworkAclBypass" + }, + "networkAclBypassResourceIds": { + "type": "array", + "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.", + "items": { + "type": "string" + } + }, + "disableLocalAuth": { + "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.", + "type": "boolean" + }, + "capacity": { + "description": "The object that represents all properties related to capacity enforcement on an account.", + "type": "object", + "$ref": "#/definitions/Capacity" + } + } + }, + "DatabaseAccountUpdateParameters": { + "description": "Parameters for patching Azure Cosmos DB database account properties.", + "type": "object", + "properties": { + "tags": { + "$ref": "#/definitions/Tags" + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DatabaseAccountUpdateProperties" + } + } + }, + "DatabaseAccountListReadOnlyKeysResult": { + "description": "The read-only access keys for the given database account.", + "properties": { + "primaryReadonlyMasterKey": { + "readOnly": true, + "type": "string", + "description": "Base 64 encoded value of the primary read-only key." + }, + "secondaryReadonlyMasterKey": { + "readOnly": true, + "type": "string", + "description": "Base 64 encoded value of the secondary read-only key." + } + } + }, + "DatabaseAccountListKeysResult": { + "description": "The access keys for the given database account.", + "properties": { + "primaryMasterKey": { + "readOnly": true, + "type": "string", + "description": "Base 64 encoded value of the primary read-write key." + }, + "secondaryMasterKey": { + "readOnly": true, + "type": "string", + "description": "Base 64 encoded value of the secondary read-write key." + } + }, + "allOf": [ + { + "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult" + } + ] + }, + "DatabaseAccountConnectionString": { + "description": "Connection string for the Cosmos DB account", + "properties": { + "connectionString": { + "readOnly": true, + "type": "string", + "description": "Value of the connection string" + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Description of the connection string" + } + } + }, + "DatabaseAccountListConnectionStringsResult": { + "description": "The connection strings for the given database account.", + "properties": { + "connectionStrings": { + "type": "array", + "description": "An array that contains the connection strings for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/DatabaseAccountConnectionString" + } + } + } + }, + "DatabaseAccountRegenerateKeyParameters": { + "type": "object", + "description": "Parameters to regenerate the keys within the database account.", + "properties": { + "keyKind": { + "type": "string", + "description": "The access key to regenerate.", + "enum": [ + "primary", + "secondary", + "primaryReadonly", + "secondaryReadonly" + ], + "x-ms-enum": { + "name": "KeyKind", + "modelAsString": true + } + } + }, + "required": [ + "keyKind" + ] + }, + "DatabaseAccountOfferType": { + "description": "The offer type for the Cosmos DB database account.", + "type": "string", + "enum": [ + "Standard" + ], + "x-ms-enum": { + "name": "DatabaseAccountOfferType", + "modelAsString": false + } + }, + "ThroughputSettingsUpdateParameters": { + "description": "Parameters to update Cosmos DB resource throughput.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to update Azure Cosmos DB resource throughput.", + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "ThroughputSettingsUpdateProperties": { + "description": "Properties to update Azure Cosmos DB resource throughput.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a resource throughput", + "$ref": "#/definitions/ThroughputSettingsResource" + } + }, + "required": [ + "resource" + ] + }, + "SqlDatabaseCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB SQL database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB SQL database.", + "$ref": "#/definitions/SqlDatabaseCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlDatabaseCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB SQL database.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a SQL database", + "$ref": "#/definitions/SqlDatabaseResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "SqlContainerCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB container.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB container.", + "$ref": "#/definitions/SqlContainerCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlContainerCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB container.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a container", + "$ref": "#/definitions/SqlContainerResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "SqlStoredProcedureCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB storedProcedure.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB storedProcedure.", + "$ref": "#/definitions/SqlStoredProcedureCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlStoredProcedureCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB storedProcedure.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a storedProcedure", + "$ref": "#/definitions/SqlStoredProcedureResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "SqlUserDefinedFunctionCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB userDefinedFunction.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB userDefinedFunction.", + "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlUserDefinedFunctionCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB userDefinedFunction.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a userDefinedFunction", + "$ref": "#/definitions/SqlUserDefinedFunctionResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "SqlTriggerCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB trigger.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB trigger.", + "$ref": "#/definitions/SqlTriggerCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlTriggerCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB trigger.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a trigger", + "$ref": "#/definitions/SqlTriggerResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "MongoDBDatabaseCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB MongoDB database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB MongoDB database.", + "$ref": "#/definitions/MongoDBDatabaseCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "MongoDBDatabaseCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB MongoDB database.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a MongoDB database", + "$ref": "#/definitions/MongoDBDatabaseResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "MongoDBCollectionCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB MongoDB collection.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB MongoDB collection.", + "$ref": "#/definitions/MongoDBCollectionCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "MongoDBCollectionCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB MongoDB collection.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a MongoDB collection", + "$ref": "#/definitions/MongoDBCollectionResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "TableCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Table.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Table.", + "$ref": "#/definitions/TableCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "TableCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Table.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Table", + "$ref": "#/definitions/TableResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "CassandraKeyspaceCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Cassandra keyspace.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace.", + "$ref": "#/definitions/CassandraKeyspaceCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "CassandraKeyspaceCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Cassandra keyspace", + "$ref": "#/definitions/CassandraKeyspaceResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "CassandraTableCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Cassandra table.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Cassandra table.", + "$ref": "#/definitions/CassandraTableCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "CassandraTableCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Cassandra table.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Cassandra table", + "$ref": "#/definitions/CassandraTableResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "GremlinDatabaseCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Gremlin database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Gremlin database.", + "$ref": "#/definitions/GremlinDatabaseCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "GremlinDatabaseCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Gremlin database.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Gremlin database", + "$ref": "#/definitions/GremlinDatabaseResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "GremlinGraphCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Gremlin graph.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Gremlin graph.", + "$ref": "#/definitions/GremlinGraphCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "GremlinGraphCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Gremlin graph.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Gremlin graph", + "$ref": "#/definitions/GremlinGraphResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "ThroughputSettingsResource": { + "type": "object", + "description": "Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both.", + "properties": { + "throughput": { + "type": "integer", + "description": "Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, but not both." + }, + "autoscaleSettings": { + "description": "Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is required, but not both.", + "$ref": "#/definitions/AutoscaleSettingsResource" + }, + "minimumThroughput": { + "type": "string", + "description": "The minimum throughput of the resource", + "readOnly": true + }, + "offerReplacePending": { + "type": "string", + "description": "The throughput replace is pending", + "readOnly": true + } + } + }, + "AutoscaleSettingsResource": { + "type": "object", + "description": "Cosmos DB provisioned throughput settings object", + "properties": { + "maxThroughput": { + "type": "integer", + "description": "Represents maximum throughput container can scale up to." + }, + "autoUpgradePolicy": { + "description": "Cosmos DB resource auto-upgrade policy", + "$ref": "#/definitions/AutoUpgradePolicyResource" + }, + "targetMaxThroughput": { + "type": "integer", + "description": "Represents target maximum throughput container can scale up to once offer is no longer in pending state.", + "readOnly": true + } + }, + "required": [ + "maxThroughput" + ] + }, + "AutoUpgradePolicyResource": { + "type": "object", + "description": "Cosmos DB resource auto-upgrade policy", + "properties": { + "throughputPolicy": { + "description": "Represents throughput policy which service must adhere to for auto-upgrade", + "$ref": "#/definitions/ThroughputPolicyResource" + } + } + }, + "ThroughputPolicyResource": { + "type": "object", + "description": "Cosmos DB resource throughput policy", + "properties": { + "isEnabled": { + "type": "boolean", + "description": "Determines whether the ThroughputPolicy is active or not" + }, + "incrementPercent": { + "type": "integer", + "description": "Represents the percentage by which throughput can increase every time throughput policy kicks in." + } + } + }, + "OptionsResource": { + "type": "object", + "description": "Cosmos DB options resource object", + "readOnly": true, + "properties": { + "throughput": { + "type": "integer", + "description": "Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details." + }, + "autoscaleSettings": { + "type": "object", + "$ref": "#/definitions/AutoscaleSettings", + "description": "Specifies the Autoscale settings." + } + } + }, + "SqlDatabaseResource": { + "type": "object", + "description": "Cosmos DB SQL database resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL database" + } + }, + "required": [ + "id" + ] + }, + "SqlContainerResource": { + "type": "object", + "description": "Cosmos DB SQL container resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL container" + }, + "indexingPolicy": { + "$ref": "#/definitions/IndexingPolicy", + "description": "The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container" + }, + "partitionKey": { + "$ref": "#/definitions/ContainerPartitionKey", + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions" + }, + "defaultTtl": { + "type": "integer", + "description": "Default time to live" + }, + "uniqueKeyPolicy": { + "$ref": "#/definitions/UniqueKeyPolicy", + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service." + }, + "conflictResolutionPolicy": { + "$ref": "#/definitions/ConflictResolutionPolicy", + "description": "The conflict resolution policy for the container." + }, + "analyticalStorageTtl": { + "type": "integer", + "format": "int64", + "description": "Analytical TTL." + } + }, + "required": [ + "id" + ] + }, + "IndexingPolicy": { + "type": "object", + "description": "Cosmos DB indexing policy", + "properties": { + "automatic": { + "type": "boolean", + "description": "Indicates if the indexing policy is automatic" + }, + "indexingMode": { + "description": "Indicates the indexing mode.", + "type": "string", + "default": "consistent", + "enum": [ + "consistent", + "lazy", + "none" + ], + "x-ms-enum": { + "name": "IndexingMode", + "modelAsString": true + } + }, + "includedPaths": { + "description": "List of paths to include in the indexing", + "type": "array", + "items": { + "$ref": "#/definitions/IncludedPath" + } + }, + "excludedPaths": { + "description": "List of paths to exclude from indexing", + "type": "array", + "items": { + "$ref": "#/definitions/ExcludedPath" + } + }, + "compositeIndexes": { + "description": "List of composite path list", + "type": "array", + "items": { + "$ref": "#/definitions/CompositePathList" + } + }, + "spatialIndexes": { + "description": "List of spatial specifics", + "type": "array", + "items": { + "$ref": "#/definitions/SpatialSpec" + } + } + } + }, + "ExcludedPath": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + } + } + }, + "IncludedPath": { + "type": "object", + "description": "The paths that are included in indexing", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + }, + "indexes": { + "description": "List of indexes for this path", + "type": "array", + "items": { + "$ref": "#/definitions/Indexes" + } + } + } + }, + "Indexes": { + "type": "object", + "description": "The indexes for the path.", + "properties": { + "dataType": { + "description": "The datatype for which the indexing behavior is applied to.", + "type": "string", + "default": "String", + "enum": [ + "String", + "Number", + "Point", + "Polygon", + "LineString", + "MultiPolygon" + ], + "x-ms-enum": { + "name": "DataType", + "modelAsString": true + } + }, + "precision": { + "description": "The precision of the index. -1 is maximum precision.", + "type": "integer" + }, + "kind": { + "description": "Indicates the type of index.", + "type": "string", + "default": "Hash", + "enum": [ + "Hash", + "Range", + "Spatial" + ], + "x-ms-enum": { + "name": "IndexKind", + "modelAsString": true + } + } + } + }, + "CompositePathList": { + "description": "List of composite path", + "type": "array", + "items": { + "$ref": "#/definitions/CompositePath" + } + }, + "CompositePath": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + }, + "order": { + "description": "Sort order for composite paths.", + "type": "string", + "enum": [ + "ascending", + "descending" + ], + "x-ms-enum": { + "name": "CompositePathSortOrder", + "modelAsString": true + } + } + } + }, + "SpatialSpec": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + }, + "types": { + "description": "List of path's spatial type", + "type": "array", + "items": { + "$ref": "#/definitions/SpatialType" + } + } + } + }, + "SpatialType": { + "description": "Indicates the spatial type of index.", + "type": "string", + "enum": [ + "Point", + "LineString", + "Polygon", + "MultiPolygon" + ], + "x-ms-enum": { + "name": "SpatialType", + "modelAsString": true + } + }, + "ContainerPartitionKey": { + "type": "object", + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions", + "properties": { + "paths": { + "description": "List of paths using which data within the container can be partitioned", + "type": "array", + "items": { + "$ref": "#/definitions/Path" + } + }, + "kind": { + "description": "Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) are supported for container create", + "type": "string", + "default": "Hash", + "enum": [ + "Hash", + "Range", + "MultiHash" + ], + "x-ms-enum": { + "name": "PartitionKind", + "modelAsString": true + } + }, + "version": { + "description": "Indicates the version of the partition key definition", + "type": "integer", + "minimum": 1, + "maximum": 2, + "format": "int32" + }, + "systemKey": { + "description": "Indicates if the container is using a system generated partition key", + "type": "boolean", + "readOnly": true + } + } + }, + "Path": { + "type": "string", + "description": "A path. These typically start with root (/path)" + }, + "UniqueKeyPolicy": { + "type": "object", + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service.", + "properties": { + "uniqueKeys": { + "description": "List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.", + "type": "array", + "items": { + "$ref": "#/definitions/UniqueKey" + } + } + } + }, + "UniqueKey": { + "type": "object", + "description": "The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.", + "properties": { + "paths": { + "description": "List of paths must be unique for each document in the Azure Cosmos DB service", + "type": "array", + "items": { + "$ref": "#/definitions/Path" + } + } + } + }, + "ConflictResolutionPolicy": { + "type": "object", + "description": "The conflict resolution policy for the container.", + "properties": { + "mode": { + "description": "Indicates the conflict resolution mode.", + "type": "string", + "default": "LastWriterWins", + "enum": [ + "LastWriterWins", + "Custom" + ], + "x-ms-enum": { + "name": "ConflictResolutionMode", + "modelAsString": true + } + }, + "conflictResolutionPath": { + "type": "string", + "description": "The conflict resolution path in the case of LastWriterWins mode." + }, + "conflictResolutionProcedure": { + "type": "string", + "description": "The procedure to resolve conflicts in the case of custom mode." + } + } + }, + "SqlStoredProcedureResource": { + "type": "object", + "description": "Cosmos DB SQL storedProcedure resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL storedProcedure" + }, + "body": { + "type": "string", + "description": "Body of the Stored Procedure" + } + }, + "required": [ + "id" + ] + }, + "SqlUserDefinedFunctionResource": { + "type": "object", + "description": "Cosmos DB SQL userDefinedFunction resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL userDefinedFunction" + }, + "body": { + "type": "string", + "description": "Body of the User Defined Function" + } + }, + "required": [ + "id" + ] + }, + "SqlTriggerResource": { + "type": "object", + "description": "Cosmos DB SQL trigger resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL trigger" + }, + "body": { + "type": "string", + "description": "Body of the Trigger" + }, + "triggerType": { + "type": "string", + "enum": [ + "Pre", + "Post" + ], + "description": "Type of the Trigger", + "x-ms-enum": { + "name": "triggerType", + "modelAsString": true + } + }, + "triggerOperation": { + "type": "string", + "enum": [ + "All", + "Create", + "Update", + "Delete", + "Replace" + ], + "description": "The operation the trigger is associated with", + "x-ms-enum": { + "name": "triggerOperation", + "modelAsString": true + } + } + }, + "required": [ + "id" + ] + }, + "MongoDBDatabaseResource": { + "type": "object", + "description": "Cosmos DB MongoDB database resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB MongoDB database" + } + }, + "required": [ + "id" + ] + }, + "MongoDBCollectionResource": { + "type": "object", + "description": "Cosmos DB MongoDB collection resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB MongoDB collection" + }, + "shardKey": { + "description": "A key-value pair of shard keys to be applied for the request.", + "$ref": "#/definitions/ShardKeys" + }, + "indexes": { + "description": "List of index keys", + "type": "array", + "items": { + "$ref": "#/definitions/MongoIndex" + } + }, + "analyticalStorageTtl": { + "type": "integer", + "description": "Analytical TTL." + } + }, + "required": [ + "id" + ] + }, + "ShardKeys": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The shard key and partition kind pair, only support \"Hash\" partition kind" + }, + "MongoIndex": { + "type": "object", + "description": "Cosmos DB MongoDB collection index key", + "properties": { + "key": { + "description": "Cosmos DB MongoDB collection index keys", + "$ref": "#/definitions/MongoIndexKeys" + }, + "options": { + "description": "Cosmos DB MongoDB collection index key options", + "$ref": "#/definitions/MongoIndexOptions" + } + } + }, + "MongoIndexKeys": { + "type": "object", + "description": "Cosmos DB MongoDB collection resource object", + "properties": { + "keys": { + "description": "List of keys for each MongoDB collection in the Azure Cosmos DB service", + "type": "array", + "items": { + "$ref": "#/definitions/Key" + } + } + } + }, + "Key": { + "type": "string", + "description": "A Key." + }, + "MongoIndexOptions": { + "type": "object", + "description": "Cosmos DB MongoDB collection index options", + "properties": { + "expireAfterSeconds": { + "description": "Expire after seconds", + "type": "integer" + }, + "unique": { + "description": "Is unique or not", + "type": "boolean" + } + } + }, + "TableResource": { + "type": "object", + "description": "Cosmos DB table resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB table" + } + }, + "required": [ + "id" + ] + }, + "CassandraKeyspaceResource": { + "type": "object", + "description": "Cosmos DB Cassandra keyspace resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra keyspace" + } + }, + "required": [ + "id" + ] + }, + "CassandraTableResource": { + "type": "object", + "description": "Cosmos DB Cassandra table resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table" + }, + "defaultTtl": { + "type": "integer", + "description": "Time to live of the Cosmos DB Cassandra table" + }, + "schema": { + "description": "Schema of the Cosmos DB Cassandra table", + "$ref": "#/definitions/CassandraSchema" + }, + "analyticalStorageTtl": { + "type": "integer", + "description": "Analytical TTL." + } + }, + "required": [ + "id" + ] + }, + "CassandraSchema": { + "type": "object", + "description": "Cosmos DB Cassandra table schema", + "properties": { + "columns": { + "type": "array", + "items": { + "$ref": "#/definitions/Column" + }, + "description": "List of Cassandra table columns." + }, + "partitionKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/CassandraPartitionKey" + }, + "description": "List of partition key." + }, + "clusterKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/ClusterKey" + }, + "description": "List of cluster key." + } + } + }, + "Column": { + "type": "object", + "description": "Cosmos DB Cassandra table column", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table column" + }, + "type": { + "type": "string", + "description": "Type of the Cosmos DB Cassandra table column" + } + } + }, + "CassandraPartitionKey": { + "type": "object", + "description": "Cosmos DB Cassandra table partition key", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table partition key" + } + } + }, + "ClusterKey": { + "type": "object", + "description": "Cosmos DB Cassandra table cluster key", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table cluster key" + }, + "orderBy": { + "type": "string", + "description": "Order of the Cosmos DB Cassandra table cluster key, only support \"Asc\" and \"Desc\"" + } + } + }, + "GremlinDatabaseResource": { + "type": "object", + "description": "Cosmos DB Gremlin database resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Gremlin database" + } + }, + "required": [ + "id" + ] + }, + "GremlinGraphResource": { + "type": "object", + "description": "Cosmos DB Gremlin graph resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Gremlin graph" + }, + "indexingPolicy": { + "$ref": "#/definitions/IndexingPolicy", + "description": "The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the graph" + }, + "partitionKey": { + "$ref": "#/definitions/ContainerPartitionKey", + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions" + }, + "defaultTtl": { + "type": "integer", + "description": "Default time to live" + }, + "uniqueKeyPolicy": { + "$ref": "#/definitions/UniqueKeyPolicy", + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service." + }, + "conflictResolutionPolicy": { + "$ref": "#/definitions/ConflictResolutionPolicy", + "description": "The conflict resolution policy for the graph." + } + }, + "required": [ + "id" + ] + }, + "CreateUpdateOptions": { + "type": "object", + "properties": { + "throughput": { + "type": "integer", + "description": "Request Units per second. For example, \"throughput\": 10000." + }, + "autoscaleSettings": { + "$ref": "#/definitions/AutoscaleSettings", + "description": "Specifies the Autoscale settings." + } + }, + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "AutoscaleSettings": { + "type": "object", + "properties": { + "maxThroughput": { + "type": "integer", + "description": "Represents maximum throughput, the resource can scale up to." + } + } + }, + "Capability": { + "type": "object", + "description": "Cosmos DB capability object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB capability. For example, \"name\": \"EnableCassandra\". Current values also include \"EnableTable\" and \"EnableGremlin\"." + } + } + }, + "Capacity": { + "type": "object", + "description": "The object that represents all properties related to capacity enforcement on an account.", + "properties": { + "totalThroughputLimit": { + "type": "integer", + "minimum": -1, + "format": "int32", + "description": "The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no limits on provisioning of throughput." + } + } + }, + "Tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags are 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. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "ManagedServiceIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "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", + "UserAssigned", + "SystemAssigned,UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "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." + } + } + }, + "description": "The list of user identities associated with 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." + }, + "ProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The status of the Cosmos DB account at the time the operation was called. The status can be one of following. 'Creating' – the Cosmos DB account is being created. When an account is in Creating state, only properties that are specified as input for the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – the Cosmos DB account deletion failed." + }, + "IPRules": { + "type": "array", + "description": "Array of IpAddressOrRange objects.", + "items": { + "$ref": "#/definitions/IpAddressOrRange" + } + }, + "IpAddressOrRange": { + "type": "object", + "description": "IpAddressOrRange object", + "properties": { + "ipAddressOrRange": { + "type": "string", + "description": "A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” or “23.40.210.0/8”." + } + } + }, + "VirtualNetworkRule": { + "type": "object", + "description": "Virtual Network ACL Rule object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}." + }, + "ignoreMissingVNetServiceEndpoint": { + "type": "boolean", + "description": "Create firewall rule before the virtual network has vnet service endpoint enabled." + } + } + }, + "NetworkAclBypass": { + "description": "Indicates what services are allowed to bypass firewall checks.", + "type": "string", + "enum": [ + "None", + "AzureServices" + ], + "x-ms-enum": { + "name": "NetworkAclBypass", + "modelAsString": false + } + }, + "Operation": { + "description": "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.ResourceProvider", + "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 operation", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "Result of the request to list Resource Provider 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 operations supported by the Resource Provider." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "UsagesResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "The list of usages for the database. A usage is a point in time metric" + } + }, + "description": "The response to a list usage request." + }, + "Usage": { + "properties": { + "unit": { + "description": "The unit of the metric.", + "$ref": "#/definitions/UnitType" + }, + "name": { + "$ref": "#/definitions/MetricName", + "readOnly": true, + "description": "The name information for the metric." + }, + "quotaPeriod": { + "type": "string", + "readOnly": true, + "description": "The quota period used to summarize the usage values." + }, + "limit": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Maximum value for this metric" + }, + "currentValue": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Current value for this metric" + } + }, + "description": "The usage data for a usage request." + }, + "PartitionUsagesResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PartitionUsage" + }, + "description": "The list of partition-level usages for the database. A usage is a point in time metric" + } + }, + "description": "The response to a list partition level usage request." + }, + "PartitionUsage": { + "allOf": [ + { + "$ref": "#/definitions/Usage" + } + ], + "properties": { + "partitionId": { + "readOnly": true, + "type": "string", + "description": "The partition id (GUID identifier) of the usages." + }, + "partitionKeyRangeId": { + "readOnly": true, + "type": "string", + "description": "The partition key range id (integer identifier) of the usages." + } + }, + "description": "The partition level usage data for a usage request." + }, + "MetricDefinitionsListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MetricDefinition" + }, + "description": "The list of metric definitions for the account." + } + }, + "description": "The response to a list metric definitions request." + }, + "MetricDefinition": { + "properties": { + "metricAvailabilities": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MetricAvailability" + }, + "description": "The list of metric availabilities for the account." + }, + "primaryAggregationType": { + "readOnly": true, + "type": "string", + "description": "The primary aggregation type of the metric.", + "enum": [ + "None", + "Average", + "Total", + "Minimum", + "Maximum", + "Last" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PrimaryAggregationType" + } + }, + "unit": { + "description": "The unit of the metric.", + "$ref": "#/definitions/UnitType" + }, + "resourceUri": { + "readOnly": true, + "type": "string", + "description": "The resource uri of the database." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/MetricName", + "description": "The name information for the metric." + } + }, + "description": "The definition of a metric." + }, + "MetricAvailability": { + "properties": { + "timeGrain": { + "readOnly": true, + "type": "string", + "description": "The time grain to be used to summarize the metric values." + }, + "retention": { + "readOnly": true, + "type": "string", + "description": "The retention for the metric values." + } + }, + "description": "The availability of the metric." + }, + "MetricListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Metric" + }, + "description": "The list of metrics for the account." + } + }, + "description": "The response to a list metrics request." + }, + "Metric": { + "properties": { + "startTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The start time for the metric (ISO-8601 format)." + }, + "endTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The end time for the metric (ISO-8601 format)." + }, + "timeGrain": { + "readOnly": true, + "type": "string", + "description": "The time grain to be used to summarize the metric values." + }, + "unit": { + "$ref": "#/definitions/UnitType", + "description": "The unit of the metric." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/MetricName", + "description": "The name information for the metric." + }, + "metricValues": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/MetricValue" + }, + "description": "The metric values for the specified time window and timestep." + } + }, + "description": "Metric data" + }, + "MetricName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the metric." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The friendly name of the metric." + } + }, + "description": "A metric name." + }, + "MetricValue": { + "properties": { + "_count": { + "readOnly": true, + "type": "number", + "format": "int32", + "description": "The number of values for the metric." + }, + "average": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The average value of the metric." + }, + "maximum": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The max value of the metric." + }, + "minimum": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The min value of the metric." + }, + "timestamp": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The metric timestamp (ISO-8601 format)." + }, + "total": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The total value of the metric." + } + }, + "description": "Represents metrics values." + }, + "PercentileMetricListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PercentileMetric" + }, + "description": "The list of percentile metrics for the account." + } + }, + "description": "The response to a list percentile metrics request." + }, + "PercentileMetric": { + "properties": { + "startTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The start time for the metric (ISO-8601 format)." + }, + "endTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The end time for the metric (ISO-8601 format)." + }, + "timeGrain": { + "readOnly": true, + "type": "string", + "description": "The time grain to be used to summarize the metric values." + }, + "unit": { + "$ref": "#/definitions/UnitType", + "description": "The unit of the metric." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/MetricName", + "description": "The name information for the metric." + }, + "metricValues": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PercentileMetricValue" + }, + "description": "The percentile metric values for the specified time window and timestep." + } + }, + "description": "Percentile Metric data" + }, + "PercentileMetricValue": { + "allOf": [ + { + "$ref": "#/definitions/MetricValue" + } + ], + "properties": { + "P10": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 10th percentile value for the metric." + }, + "P25": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 25th percentile value for the metric." + }, + "P50": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 50th percentile value for the metric." + }, + "P75": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 75th percentile value for the metric." + }, + "P90": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 90th percentile value for the metric." + }, + "P95": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 95th percentile value for the metric." + }, + "P99": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 99th percentile value for the metric." + } + }, + "description": "Represents percentile metrics values." + }, + "PartitionMetricListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PartitionMetric" + }, + "description": "The list of partition-level metrics for the account." + } + }, + "description": "The response to a list partition metrics request." + }, + "PartitionMetric": { + "allOf": [ + { + "$ref": "#/definitions/Metric" + } + ], + "properties": { + "partitionId": { + "readOnly": true, + "type": "string", + "description": "The partition id (GUID identifier) of the metric values." + }, + "partitionKeyRangeId": { + "readOnly": true, + "type": "string", + "description": "The partition key range id (integer identifier) of the metric values." + } + }, + "description": "The metric values for a single partition." + }, + "UnitType": { + "type": "string", + "readOnly": true, + "description": "The unit of the metric.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountPerSecond", + "BytesPerSecond", + "Milliseconds" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "UnitType" + } + }, + "ConnectorOffer": { + "description": "The cassandra connector offer type for the Cosmos DB C* database account.", + "type": "string", + "enum": [ + "Small" + ], + "x-ms-enum": { + "name": "ConnectorOffer", + "modelAsString": true + } + }, + "PublicNetworkAccess": { + "type": "string", + "description": "Whether requests from Public Network are allowed", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PublicNetworkAccess" + } + }, + "ApiProperties": { + "type": "object", + "properties": { + "serverVersion": { + "type": "string", + "enum": [ + "3.2", + "3.6", + "4.0" + ], + "description": "Describes the ServerVersion of an a MongoDB account.", + "x-ms-enum": { + "modelAsString": true, + "name": "ServerVersion" + } + } + } + }, + "AnalyticalStorageConfiguration": { + "type": "object", + "description": "Analytical storage specific properties.", + "properties": { + "schemaType": { + "type": "string", + "$ref": "#/definitions/AnalyticalStorageSchemaType" + } + } + }, + "AnalyticalStorageSchemaType": { + "type": "string", + "description": "Describes the types of schema for analytical storage.", + "enum": [ + "WellDefined", + "FullFidelity" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "AnalyticalStorageSchemaType" + } + }, + "CreateMode": { + "description": "Enum to indicate the mode of account creation.", + "type": "string", + "default": "Default", + "enum": [ + "Default", + "Restore" + ], + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true + } + }, + "RestoreParameters": { + "type": "object", + "description": "Parameters to indicate the information about the restore.", + "x-ms-mutability": [ + "read", + "create" + ], + "properties": { + "restoreMode": { + "type": "string", + "enum": [ + "PointInTime" + ], + "description": "Describes the mode of the restore.", + "x-ms-enum": { + "modelAsString": true, + "name": "RestoreMode" + } + }, + "restoreSource": { + "type": "string", + "description": "The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}" + }, + "restoreTimestampInUtc": { + "type": "string", + "format": "date-time", + "description": "Time to which the account has to be restored (ISO-8601 format)." + }, + "databasesToRestore": { + "type": "array", + "description": "List of specific databases available for restore.", + "items": { + "$ref": "#/definitions/DatabaseRestoreResource" + } + } + } + }, + "DatabaseRestoreResource": { + "type": "object", + "description": "Specific Databases to restore.", + "properties": { + "databaseName": { + "type": "string", + "description": "The name of the database available for restore." + }, + "collectionNames": { + "type": "array", + "description": "The names of the collections available for restore.", + "items": { + "$ref": "#/definitions/CollectionName" + } + } + } + }, + "CollectionName": { + "type": "string", + "description": "The name of the collection." + }, + "BackupPolicy": { + "type": "object", + "description": "The object representing the policy for taking backups on an account.", + "discriminator": "type", + "properties": { + "type": { + "description": "Describes the mode of backups.", + "type": "string", + "$ref": "#/definitions/BackupPolicyType" + }, + "migrationState": { + "description": "The object representing the state of the migration between the backup policies.", + "type": "object", + "$ref": "#/definitions/BackupPolicyMigrationState" + } + }, + "required": [ + "type" + ] + }, + "BackupPolicyType": { + "description": "Describes the mode of backups.", + "type": "string", + "enum": [ + "Periodic", + "Continuous" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BackupPolicyType" + } + }, + "BackupPolicyMigrationState": { + "type": "object", + "description": "The object representing the state of the migration between the backup policies.", + "properties": { + "status": { + "description": "Describes the status of migration between backup policy types.", + "type": "string", + "$ref": "#/definitions/BackupPolicyMigrationStatus" + }, + "targetType": { + "description": "Describes the target backup policy type of the backup policy migration.", + "type": "string", + "$ref": "#/definitions/BackupPolicyType" + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Time at which the backup policy migration started (ISO-8601 format)." + } + } + }, + "BackupPolicyMigrationStatus": { + "description": "Describes the status of migration between backup policy types.", + "type": "string", + "enum": [ + "Invalid", + "InProgress", + "Completed", + "Failed" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BackupPolicyMigrationStatus" + } + }, + "PeriodicModeBackupPolicy": { + "description": "The object representing periodic mode backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupPolicy" + } + ], + "properties": { + "periodicModeProperties": { + "type": "object", + "description": "Configuration values for periodic mode backup", + "$ref": "#/definitions/PeriodicModeProperties" + } + }, + "x-ms-discriminator-value": "Periodic" + }, + "ContinuousModeBackupPolicy": { + "description": "The object representing continuous mode backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupPolicy" + } + ], + "x-ms-discriminator-value": "Continuous" + }, + "PeriodicModeProperties": { + "type": "object", + "description": "Configuration values for periodic mode backup", + "properties": { + "backupIntervalInMinutes": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "An integer representing the interval in minutes between two backups" + }, + "backupRetentionIntervalInHours": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "An integer representing the time (in hours) that each backup is retained" + }, + "backupStorageRedundancy": { + "description": "Enum to indicate type of backup residency", + "type": "string", + "$ref": "#/definitions/BackupStorageRedundancy" + } + } + }, + "LocationListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/LocationGetResult" + }, + "description": "List of Cosmos DB locations and their properties." + } + }, + "description": "The List operation response, that contains Cosmos DB locations and their properties." + }, + "LocationGetResult": { + "description": "Cosmos DB location get result", + "type": "object", + "properties": { + "properties": { + "type": "object", + "description": "Cosmos DB location metadata", + "$ref": "#/definitions/LocationProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMProxyResource" + } + ] + }, + "LocationProperties": { + "description": "Cosmos DB location metadata", + "type": "object", + "properties": { + "supportsAvailabilityZone": { + "type": "boolean", + "readOnly": true, + "description": "Flag indicating whether the location supports availability zones or not." + }, + "isResidencyRestricted": { + "type": "boolean", + "readOnly": true, + "description": "Flag indicating whether the location is residency sensitive." + }, + "backupStorageRedundancies": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/BackupStorageRedundancy" + }, + "description": "The properties of available backup storage redundancies." + } + } + }, + "BackupStorageRedundancy": { + "description": "Enum to indicate type of backup storage redundancy.", + "type": "string", + "enum": [ + "Geo", + "Local", + "Zone" + ], + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + } + } + }, + "parameters": { + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of an Azure resource group." + }, + "accountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database account name.", + "minLength": 3, + "maxLength": 50, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + "filterParameter": { + "name": "$filter", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "An OData filter expression that describes a subset of metrics to return. The parameters that can be filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and timeGrain. The supported operator is eq." + }, + "usageFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "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)." + }, + "databaseRidParameter": { + "name": "databaseRid", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database rid." + }, + "collectionRidParameter": { + "name": "collectionRid", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB collection rid." + }, + "databaseNameParameter": { + "name": "databaseName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database name." + }, + "containerNameParameter": { + "name": "containerName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB container name." + }, + "storedProcedureNameParameter": { + "name": "storedProcedureName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB storedProcedure name." + }, + "userDefinedFunctionNameParameter": { + "name": "userDefinedFunctionName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB userDefinedFunction name." + }, + "triggerNameParameter": { + "name": "triggerName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB trigger name." + }, + "tableNameParameter": { + "name": "tableName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB table name." + }, + "collectionNameParameter": { + "name": "collectionName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB collection name." + }, + "keyspaceNameParameter": { + "name": "keyspaceName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB keyspace name." + }, + "graphNameParameter": { + "name": "graphName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB graph name." + }, + "regionParameter": { + "name": "region", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB region, with spaces between words and each word capitalized." + }, + "sourceRegionParameter": { + "name": "sourceRegion", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Source region from which data is written. Cosmos DB region, with spaces between words and each word capitalized." + }, + "targetRegionParameter": { + "name": "targetRegion", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Target region to which data is written. Cosmos DB region, with spaces between words and each word capitalized." + }, + "partitionKeyRangeIdParameter": { + "name": "partitionKeyRangeId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Partition Key Range Id for which to get data." + }, + "locationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB region, with spaces between words and each word capitalized." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceCreateUpdate.json new file mode 100644 index 000000000000..1d7f69b7e1b5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceCreateUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "createUpdateCassandraKeyspaceParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "keyspaceName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName", + "name": "keyspaceName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "keyspaceName" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceDelete.json new file mode 100644 index 000000000000..6ed26ea3132f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceGet.json new file mode 100644 index 000000000000..f8e803c68840 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName", + "name": "keyspaceName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "keyspaceName", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceList.json new file mode 100644 index 000000000000..375b4ecca411 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName", + "name": "keyspaceName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "keyspaceName" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json new file mode 100644 index 000000000000..bd7c9120e0aa --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json new file mode 100644 index 000000000000..46b04ff4583a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceThroughputGet.json new file mode 100644 index 000000000000..94cd6cbea37e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json new file mode 100644 index 000000000000..f6b5e351c6f5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableCreateUpdate.json new file mode 100644 index 000000000000..d54deb25493d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableCreateUpdate.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName", + "createUpdateCassandraTableParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "defaultTtl": 100, + "schema": { + "columns": [ + { + "name": "columnA", + "type": "Ascii" + } + ], + "partitionKeys": [ + { + "name": "columnA" + } + ], + "clusterKeys": [ + { + "name": "columnA", + "orderBy": "Asc" + } + ] + } + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "defaultTtl": 100, + "schema": { + "columns": [ + { + "name": "columnA", + "type": "Ascii" + } + ], + "partitionKeys": [ + { + "name": "columnA" + } + ], + "clusterKeys": [ + { + "name": "columnA", + "orderBy": "Asc" + } + ] + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableDelete.json new file mode 100644 index 000000000000..2090fa3fa05b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableGet.json new file mode 100644 index 000000000000..6cabe1c2b3d0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableGet.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "defaultTtl": 100, + "schema": { + "columns": [ + { + "name": "columnA", + "type": "Ascii" + } + ], + "partitionKeys": [ + { + "name": "columnA" + } + ], + "clusterKeys": [ + { + "name": "columnA", + "orderBy": "Asc" + } + ] + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableList.json new file mode 100644 index 000000000000..7ab69e2fa045 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableList.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "defaultTtl": 100, + "schema": { + "columns": [ + { + "name": "columnA", + "type": "Ascii" + } + ], + "partitionKeys": [ + { + "name": "columnA" + } + ], + "clusterKeys": [ + { + "name": "columnA", + "orderBy": "Asc" + } + ] + } + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableMigrateToAutoscale.json new file mode 100644 index 000000000000..247737a9764e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableMigrateToManualThroughput.json new file mode 100644 index 000000000000..df2d68921f42 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableThroughputGet.json new file mode 100644 index 000000000000..53e1d5d0f341 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableThroughputUpdate.json new file mode 100644 index 000000000000..ad0f387ac9fd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableThroughputUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables/throughputSettings", + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionGetMetricDefinitions.json new file mode 100644 index 000000000000..3c5e16012762 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionGetMetricDefinitions.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2021-10-15", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "metricAvailabilities": [ + { + "timeGrain": "PT5M", + "retention": "P2D" + }, + { + "timeGrain": "PT1H", + "retention": "P14D" + }, + { + "timeGrain": "P1D", + "retention": "P60D" + } + ], + "primaryAggregationType": "Total", + "unit": "Count", + "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionGetMetrics.json new file mode 100644 index 000000000000..041fec39e5a8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionGetMetrics.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionGetUsages.json new file mode 100644 index 000000000000..6fa1e4bf9c66 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionGetUsages.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "subscriptionId": "subid", + "$filter": "$filter=name.value eq 'Storage'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Bytes", + "quotaPeriod": "P1D", + "limit": 10737418240, + "currentValue": 0, + "name": { + "value": "Storage", + "localizedValue": "Storage" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionPartitionGetMetrics.json new file mode 100644 index 000000000000..f684bd67694c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionPartitionGetMetrics.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT1M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T23:58:55.2780000Z", + "unit": "Count", + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:54:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:55:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:56:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:57:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "maximum": 5 + } + ], + "name": { + "value": "Max RUs Per Second", + "localizedValue": "Max RUs Per Second" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionPartitionGetUsages.json new file mode 100644 index 000000000000..5ee50abfdcd1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionPartitionGetUsages.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "subscriptionId": "subid", + "$filter": "$filter=name.value eq 'Partition Storage'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Bytes", + "quotaPeriod": "P1D", + "limit": 10737418240, + "currentValue": 0, + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "name": { + "value": "Storage", + "localizedValue": "Storage" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionPartitionRegionGetMetrics.json new file mode 100644 index 000000000000..184fa1e83fc0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionPartitionRegionGetMetrics.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "region": "North Europe", + "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT1M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T23:58:55.2780000Z", + "unit": "Count", + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:54:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:55:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:56:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:57:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "maximum": 5 + } + ], + "name": { + "value": "Max RUs Per Second", + "localizedValue": "Max RUs Per Second" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountCheckNameExists.json new file mode 100644 index 000000000000..4a55193a5de0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountCheckNameExists.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "accountName": "ddb1", + "api-version": "2021-10-15" + }, + "responses": { + "200": {}, + "404": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountCreateMax.json new file mode 100644 index 000000000000..1b748313d6b9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountCreateMax.json @@ -0,0 +1,222 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "tags": {}, + "kind": "MongoDB", + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + }, + "properties": { + "databaseAccountOfferType": "Standard", + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "isVirtualNetworkFilterEnabled": true, + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "ignoreMissingVNetServiceEndpoint": false + } + ], + "publicNetworkAccess": "Enabled", + "locations": [ + { + "failoverPriority": 0, + "locationName": "southcentralus", + "isZoneRedundant": false + }, + { + "failoverPriority": 1, + "locationName": "eastus", + "isZoneRedundant": false + } + ], + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "keyVaultKeyUri": "https://myKeyVault.vault.azure.net", + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "apiProperties": { + "serverVersion": "3.2" + }, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 8, + "backupStorageRedundancy": "Geo" + } + }, + "cors": [ + { + "allowedOrigins": "https://test" + } + ], + "networkAclBypass": "AzureServices", + "networkAclBypassResourceIds": [ + "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName" + ], + "capacity": { + "totalThroughputLimit": 2000 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "MongoDB", + "tags": {}, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d" + } + } + }, + "properties": { + "provisioningState": "Initializing", + "isVirtualNetworkFilterEnabled": true, + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "writeLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "readLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + }, + { + "id": "ddb1-eastus", + "locationName": "East US", + "provisioningState": "Initializing", + "failoverPriority": 1, + "isZoneRedundant": false + } + ], + "locations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + }, + { + "id": "ddb1-eastus", + "locationName": "East US", + "provisioningState": "Initializing", + "failoverPriority": 1, + "isZoneRedundant": false + } + ], + "failoverPolicies": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "failoverPriority": 0 + }, + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 1 + } + ], + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + } + ], + "publicNetworkAccess": "Enabled", + "keyVaultKeyUri": "https://myKeyVault.vault.azure.net", + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "apiProperties": { + "serverVersion": "3.2" + }, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "createMode": "Default", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 8, + "backupStorageRedundancy": "Geo" + } + }, + "cors": [ + { + "allowedOrigins": "https://test" + } + ], + "networkAclBypass": "AzureServices", + "networkAclBypassResourceIds": [ + "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName" + ], + "capacity": { + "totalThroughputLimit": 2000 + } + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountCreateMin.json new file mode 100644 index 000000000000..27d2c44935b4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountCreateMin.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "properties": { + "databaseAccountOfferType": "Standard", + "createMode": "Default", + "locations": [ + { + "failoverPriority": 0, + "locationName": "southcentralus", + "isZoneRedundant": false + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Initializing", + "ipRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "readLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "locations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "failoverPolicies": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "failoverPriority": 0 + } + ], + "cors": [], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": false, + "analyticalStorageConfiguration": null, + "networkAclBypass": "None", + "networkAclBypassResourceIds": [], + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Geo" + } + } + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountDelete.json new file mode 100644 index 000000000000..4ca542defa41 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json new file mode 100644 index 000000000000..07ca599fdc42 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "accountName": "ddb1-failover", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "failoverParameters": { + "failoverPolicies": [ + { + "locationName": "eastus", + "failoverPriority": 0 + }, + { + "locationName": "westus", + "failoverPriority": 1 + } + ] + } + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGet.json new file mode 100644 index 000000000000..f973f40efe55 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGet.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "documentEndpoint": "https://ddb1.documents.azure.com:443/", + "ipRules": [], + "isVirtualNetworkFilterEnabled": false, + "virtualNetworkRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "defaultIdentity": "FirstPartyIdentity", + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "readLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "locations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "failoverPolicies": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 0 + } + ], + "privateEndpointConnections": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + } + ], + "cors": [], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 8, + "backupStorageRedundancy": "Geo" + }, + "migrationState": { + "status": "InProgress", + "targetType": "Continuous", + "startTime": "2021-06-09T21:07:16Z" + } + }, + "networkAclBypass": "None", + "networkAclBypassResourceIds": [] + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d" + } + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json new file mode 100644 index 000000000000..da6ddcf7130e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2021-10-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "metricAvailabilities": [ + { + "timeGrain": "PT5M", + "retention": "P2D" + }, + { + "timeGrain": "PT1H", + "retention": "P14D" + }, + { + "timeGrain": "P1D", + "retention": "P60D" + } + ], + "primaryAggregationType": "Total", + "unit": "Count", + "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGetMetrics.json new file mode 100644 index 000000000000..6f393c23c023 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGetMetrics.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGetUsages.json new file mode 100644 index 000000000000..4341c6cbb9d7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGetUsages.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "$filter": "$filter=name.value eq 'Storage'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Bytes", + "quotaPeriod": "P1D", + "limit": 10737418240, + "currentValue": 0, + "name": { + "value": "Storage", + "localizedValue": "Storage" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountList.json new file mode 100644 index 000000000000..ca3367e7b4ad --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountList.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "documentEndpoint": "https://ddb1.documents.azure.com:443/", + "ipRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "readLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "locations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "failoverPolicies": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 0 + } + ], + "privateEndpointConnections": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + } + ], + "cors": [], + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Geo" + } + }, + "networkAclBypass": "None", + "networkAclBypassResourceIds": [] + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d" + } + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListByResourceGroup.json new file mode 100644 index 000000000000..0c0a415abd81 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListByResourceGroup.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "documentEndpoint": "https://ddb1.documents.azure.com:443/", + "ipRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "readLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "locations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "failoverPolicies": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 0 + } + ], + "cors": [], + "enableFreeTier": false, + "defaultIdentity": "FirstPartyIdentity", + "networkAclBypass": "None", + "networkAclBypassResourceIds": [] + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d" + } + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListConnectionStrings.json new file mode 100644 index 000000000000..9476ec634f68 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListConnectionStrings.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json new file mode 100644 index 000000000000..e25d6487396e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "mongo-ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "connectionStrings": [ + { + "connectionString": "connection-string", + "description": "Name of the connection string" + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListKeys.json new file mode 100644 index 000000000000..92ce33ec21f3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListKeys.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryMasterKey": "primaryMasterKey", + "secondaryMasterKey": "secondaryMasterKey", + "primaryReadonlyMasterKey": "primaryReadonlyMasterKey", + "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json new file mode 100644 index 000000000000..9e1675013464 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryReadonlyMasterKey": "primaryReadonlyMasterKey", + "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountOfflineRegion.json new file mode 100644 index 000000000000..9d2c27f29ef8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountOfflineRegion.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "region": "North Europe", + "regionParameterForOffline": [ + { + "region": "North Europe" + } + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountOnlineRegion.json new file mode 100644 index 000000000000..72a6f833f84a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountOnlineRegion.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "region": "North Europe", + "regionParameterForOnline": [ + { + "region": "North Europe" + } + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountPatch.json new file mode 100644 index 000000000000..1f4b544ab846 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountPatch.json @@ -0,0 +1,185 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "updateParameters": { + "location": "westus", + "tags": { + "dept": "finance" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + }, + "properties": { + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "isVirtualNetworkFilterEnabled": true, + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "ignoreMissingVNetServiceEndpoint": false + } + ], + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Local" + } + }, + "networkAclBypass": "AzureServices", + "networkAclBypassResourceIds": [ + "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName" + ], + "capacity": { + "totalThroughputLimit": 2000 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": { + "dept": "finance" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "documentEndpoint": "https://ddb1.documents.azure.com:443/", + "databaseAccountOfferType": "Standard", + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "isVirtualNetworkFilterEnabled": true, + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "writeLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "readLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "locations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "failoverPolicies": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 0 + } + ], + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "ignoreMissingVNetServiceEndpoint": false + } + ], + "privateEndpointConnections": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + } + ], + "cors": [], + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Local" + } + }, + "networkAclBypass": "AzureServices", + "networkAclBypassResourceIds": [ + "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName" + ], + "capacity": { + "totalThroughputLimit": 2000 + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountRegenerateKey.json new file mode 100644 index 000000000000..b50f4668f635 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountRegenerateKey.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "keyToRegenerate": { + "keyKind": "primary" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountRegionGetMetrics.json new file mode 100644 index 000000000000..8bb7d1173094 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountRegionGetMetrics.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "region": "North Europe", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseGetMetricDefinitions.json new file mode 100644 index 000000000000..d4a7fd991eb0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseGetMetricDefinitions.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2021-10-15", + "databaseRid": "databaseRid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "metricAvailabilities": [ + { + "timeGrain": "PT5M", + "retention": "P2D" + }, + { + "timeGrain": "PT1H", + "retention": "P14D" + }, + { + "timeGrain": "P1D", + "retention": "P60D" + } + ], + "primaryAggregationType": "Total", + "unit": "Count", + "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseGetMetrics.json new file mode 100644 index 000000000000..7a1876bf2885 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseGetMetrics.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseRid": "rid", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseGetUsages.json new file mode 100644 index 000000000000..ba14a11ddcf7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseGetUsages.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "databaseRid": "databaseRid", + "subscriptionId": "subid", + "$filter": "$filter=name.value eq 'Storage'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Bytes", + "quotaPeriod": "P1D", + "limit": 10737418240, + "currentValue": 0, + "name": { + "value": "Storage", + "localizedValue": "Storage" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseCreateUpdate.json new file mode 100644 index 000000000000..8d6ac37b737c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "createUpdateGremlinDatabaseParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseDelete.json new file mode 100644 index 000000000000..12f6864e3f12 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseGet.json new file mode 100644 index 000000000000..96063846445a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseList.json new file mode 100644 index 000000000000..96fc1a6193cb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..97b36fdad6f8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..086f8fd89505 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseThroughputGet.json new file mode 100644 index 000000000000..78687a29c0fc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..fddd5966fc37 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphCreateUpdate.json new file mode 100644 index 000000000000..cbe2b866e27e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphCreateUpdate.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName", + "createUpdateGremlinGraphParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + } + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName", + "name": "graphName", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/gremlinGraphs", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphDelete.json new file mode 100644 index 000000000000..b8e4928304cc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphGet.json new file mode 100644 index 000000000000..2c0a56a13205 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphGet.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "id": "graphName", + "name": "graphName", + "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs", + "properties": { + "resource": { + "id": "graphName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphList.json new file mode 100644 index 000000000000..17b27ec7a0c8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphList.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "testgrf", + "name": "testgrf", + "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs", + "properties": { + "resource": { + "id": "testgrf", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphMigrateToAutoscale.json new file mode 100644 index 000000000000..a088633a92a6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json new file mode 100644 index 000000000000..c2dda9ec6489 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphThroughputGet.json new file mode 100644 index 000000000000..35a2b743af3f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphThroughputUpdate.json new file mode 100644 index 000000000000..bbf997f95914 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBLocationGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBLocationGet.json new file mode 100644 index 000000000000..cbbed0c083f2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBLocationGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "westus" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus", + "type": "Microsoft.DocumentDB/locations", + "name": "westus", + "properties": { + "supportsAvailabilityZone": true, + "isResidencyRestricted": true, + "backupStorageRedundancies": [ + "Local", + "Geo" + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBLocationList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBLocationList.json new file mode 100644 index 000000000000..04faaf3df6ef --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBLocationList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus", + "type": "Microsoft.DocumentDB/locations", + "name": "westus", + "properties": { + "supportsAvailabilityZone": false, + "isResidencyRestricted": false, + "backupStorageRedundancies": [ + "Local", + "Geo" + ] + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/centralus", + "type": "Microsoft.DocumentDB/locations", + "name": "centralus", + "properties": { + "supportsAvailabilityZone": true, + "isResidencyRestricted": false, + "backupStorageRedundancies": [ + "Zone", + "Geo" + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterCreate.json new file mode 100644 index 000000000000..eaa32d00a6eb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterCreate.json @@ -0,0 +1,155 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15", + "clusterName": "cassandra-prod", + "body": { + "location": "West US", + "tags": {}, + "properties": { + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "initialCassandraAdminPassword": "mypassword", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterDeallocate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterDeallocate.json new file mode 100644 index 000000000000..5312276b665e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterDeallocate.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10", + "clusterName": "cassandra-prod" + }, + "responses": { + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterDelete.json new file mode 100644 index 000000000000..a40588702ae2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15", + "clusterName": "cassandra-prod" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterGet.json new file mode 100644 index 000000000000..21f2ecb3e964 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterGet.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15", + "clusterName": "cassandra-prod" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json new file mode 100644 index 000000000000..2063f554fe6e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterListBySubscription.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterListBySubscription.json new file mode 100644 index 000000000000..fd24f1cfa748 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterListBySubscription.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-10-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/cassandraClusters", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterPatch.json new file mode 100644 index 000000000000..55115ee3a764 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterPatch.json @@ -0,0 +1,163 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15", + "clusterName": "cassandra-prod", + "body": { + "tags": { + "owner": "mike" + }, + "properties": { + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "hoursBetweenBackups": 12, + "authenticationMethod": "None" + } + } + }, + "responses": { + "202": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": { + "owner": "mike" + }, + "properties": { + "provisioningState": "Updating", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterStart.json new file mode 100644 index 000000000000..a9ceaa328be0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterStart.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15", + "clusterName": "cassandra-prod" + }, + "responses": { + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraCommand.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraCommand.json new file mode 100644 index 000000000000..2485a2eb26c9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraCommand.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15", + "clusterName": "cassandra-prod", + "body": { + "command": "nodetool status", + "host": "10.0.1.12" + } + }, + "responses": { + "202": { + "body": { + "commandOutput": "Datacenter: datacenter1\n=======================\n" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterCreate.json new file mode 100644 index 000000000000..0c4be18f925d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterCreate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15", + "clusterName": "cassandra-prod", + "dataCenterName": "dc1", + "body": { + "properties": { + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1-subnet", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Succeeded", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Creating", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "seedNodes": [] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterDelete.json new file mode 100644 index 000000000000..a507d67999f5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15", + "clusterName": "cassandra-prod", + "dataCenterName": "dc1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterGet.json new file mode 100644 index 000000000000..5a90ed6bdaea --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15", + "clusterName": "cassandra-prod", + "dataCenterName": "dc1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Succeeded", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=", + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterList.json new file mode 100644 index 000000000000..03079aa4eead --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterList.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15", + "clusterName": "cassandra-prod" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Succeeded", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterPatch.json new file mode 100644 index 000000000000..2211bcc31c79 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterPatch.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15", + "clusterName": "cassandra-prod", + "dataCenterName": "dc1", + "body": { + "properties": { + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1-subnet", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=" + } + } + }, + "responses": { + "202": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Updating", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=", + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Succeeded", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=", + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraStatus.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraStatus.json new file mode 100644 index 000000000000..0fcbca49eb54 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraStatus.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-15", + "clusterName": "cassandra-prod" + }, + "responses": { + "200": { + "body": { + "eTag": "A350A2CE7E91B6D5A102A5E5EC222B882D981092", + "reaperStatus": { + "healthy": true, + "repairRunIds": {}, + "repairSchedules": { + "00000000-0000-0001-0000-000000000000": "ACTIVE" + } + }, + "connectionErrors": [], + "dataCenters": [ + { + "name": "cassandra-westus2-vmss", + "seedNodes": [ + "10.0.8.10", + "10.0.8.11", + "10.0.8.12" + ], + "nodes": [ + { + "address": "10.0.8.10", + "state": "", + "status": "", + "load": "84.61 MiB", + "tokens": [ + "-7785254003841681178", + "-6756518164561476165", + "-4269720020504480060", + "-2697657908817852783", + "-2622387897201218249", + "-2177258200443022948", + "-129203941752875603", + "1738406920822650025", + "2598053056312400240", + "3227346424117996872", + "3644347038875498376", + "4823546474906050895", + "5293156680707616627", + "5485806686603256557", + "6250058817756969464", + "7991328665766267709" + ], + "size": 16, + "hostID": "8ccc00a7-9e22-4ac2-aa63-e5327aa0dc51", + "rack": "rack1", + "timestamp": "10/05/2021, 14:35:20.028", + "diskUsedKB": 749836, + "diskFreeKB": 1001260056, + "memoryUsedKB": 11061032, + "memoryBuffersAndCachedKB": 10817580, + "memoryFreeKB": 35731832, + "memoryTotalKB": 57610444, + "cpuUsage": 0.9 + }, + { + "address": "10.0.8.11", + "state": "", + "status": "", + "load": "59.67 MiB", + "tokens": [ + "-8726238055665903210", + "-6687985003871487470", + "-5269140854976433359", + "-3989177686905645288", + "-3957362495277148220", + "-2539287458896988944", + "-2460716365393303466", + "-1848370030729221440", + "137707733677015122", + "579467328507000597", + "1698264534774619627", + "1904235159942090722", + "3312208865519999146", + "4035940456270983993", + "4412314431151736777", + "8232565668795426078" + ], + "size": 16, + "hostID": "14092117-4f77-4ec0-8984-c5b860b88a47", + "rack": "rack2", + "timestamp": "10/05/2021, 14:35:20.028", + "diskUsedKB": 726864, + "diskFreeKB": 1001283028, + "memoryUsedKB": 11055676, + "memoryBuffersAndCachedKB": 10691520, + "memoryFreeKB": 35863248, + "memoryTotalKB": 57610444, + "cpuUsage": 1.2 + }, + { + "address": "10.0.8.12", + "state": "", + "status": "", + "load": "93.2 MiB", + "tokens": [ + "-5679481051867296621", + "-4574115287969297989", + "-3444578133211470522", + "-2755931580714972271", + "-2304431590844389550", + "-1961946736975068713", + "-940120277889446704", + "554469308917912318", + "1030447162050118004", + "2745632329542596589", + "4564547712926446283", + "5185613478135944116", + "7280237939830623824", + "7504213835759531710", + "7631994478195429959", + "8139769477321226157" + ], + "size": 16, + "hostID": "e16ada14-39db-462b-9f9e-5b5f6beb8bbd", + "rack": "rack3", + "timestamp": "10/05/2021, 14:35:20.028", + "diskUsedKB": 757540, + "diskFreeKB": 1001252352, + "memoryUsedKB": 11051608, + "memoryBuffersAndCachedKB": 10453856, + "memoryFreeKB": 36104980, + "memoryTotalKB": 57610444, + "cpuUsage": 0.4 + } + ] + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionBackupInformation.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionBackupInformation.json new file mode 100644 index 000000000000..63543ff34bea --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionBackupInformation.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "collectionName": "collectionName", + "location": { + "location": "North Europe" + } + }, + "responses": { + "200": { + "body": { + "continuousBackupInformation": { + "latestRestorableTimestamp": "2021-02-05T02:40:50Z" + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionCreateUpdate.json new file mode 100644 index 000000000000..370799f79af6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionCreateUpdate.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName", + "createUpdateMongoDBCollectionParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "collectionName", + "indexes": [ + { + "key": { + "keys": [ + "_ts" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + }, + { + "key": { + "keys": [ + "_id" + ] + } + } + ], + "shardKey": { + "testKey": "Hash" + } + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName", + "name": "collectionName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "collectionName", + "indexes": [ + { + "key": { + "keys": [ + "_ts" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + }, + { + "key": { + "keys": [ + "_id" + ] + } + } + ], + "shardKey": { + "testKey": "Hash" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionDelete.json new file mode 100644 index 000000000000..6c0d0cbd082c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionGet.json new file mode 100644 index 000000000000..648e27ac86c3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName", + "name": "collectionName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testcoll", + "indexes": [ + { + "key": { + "keys": [ + "testKey" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + } + ], + "shardKey": { + "testKey": "Hash" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionList.json new file mode 100644 index 000000000000..db4d61b96508 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionList.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName", + "name": "collectionName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testcoll", + "indexes": [ + { + "key": { + "keys": [ + "testKey" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + } + ], + "shardKey": { + "testKey": "Hash" + } + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json new file mode 100644 index 000000000000..c6130a24df0e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json new file mode 100644 index 000000000000..b85de747c670 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionThroughputGet.json new file mode 100644 index 000000000000..b99b63588318 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionThroughputUpdate.json new file mode 100644 index 000000000000..cccd9db1dbf6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseCreateUpdate.json new file mode 100644 index 000000000000..d4ae327cfe4b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseCreateUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "createUpdateMongoDBDatabaseParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "updatedDatabaseName" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseDelete.json new file mode 100644 index 000000000000..12f6864e3f12 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseGet.json new file mode 100644 index 000000000000..1d2d0768367e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseList.json new file mode 100644 index 000000000000..431ef6fc3d7c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..97b36fdad6f8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..086f8fd89505 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseThroughputGet.json new file mode 100644 index 000000000000..461a6a4b6ee5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..75d039aa43d7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceCreate.json new file mode 100644 index 000000000000..4d9784cdee8a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceCreate.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default", + "notebookCreateUpdateParameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces", + "properties": { + "notebookServerEndpoint": "endpoint", + "status": "Online" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceDelete.json new file mode 100644 index 000000000000..89f1025a831f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "notebookWorkspaceName": "default" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceGet.json new file mode 100644 index 000000000000..7150f778cc93 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces", + "properties": { + "notebookServerEndpoint": "endpoint", + "status": "Online" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceList.json new file mode 100644 index 000000000000..b50348991147 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces", + "properties": { + "notebookServerEndpoint": "endpoint", + "status": "Online" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json new file mode 100644 index 000000000000..62130915755e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": { + "body": { + "authToken": "auth-token", + "notebookServerEndpoint": "notebook endpoint" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json new file mode 100644 index 000000000000..8d561cbc529e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceStart.json new file mode 100644 index 000000000000..8d561cbc529e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceStart.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBOperationsList.json new file mode 100644 index 000000000000..6eb5f19249a1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBOperationsList.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "operationName", + "display": { + "Provider": "providerName", + "Resource": "resourceName", + "Operation": "operationName", + "Description": "description" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPKeyRangeIdGetMetrics.json new file mode 100644 index 000000000000..702208c13060 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPKeyRangeIdGetMetrics.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "partitionKeyRangeId": "0", + "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT1M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T23:58:55.2780000Z", + "unit": "Count", + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:54:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:55:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:56:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:57:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "maximum": 5 + } + ], + "name": { + "value": "Max RUs Per Second", + "localizedValue": "Max RUs Per Second" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json new file mode 100644 index 000000000000..086821d662a7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "partitionKeyRangeId": "0", + "region": "West US", + "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT1M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T23:58:55.2780000Z", + "unit": "Count", + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:54:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:55:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:56:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:57:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "maximum": 5 + } + ], + "name": { + "value": "Max RUs Per Second", + "localizedValue": "Max RUs Per Second" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPercentileGetMetrics.json new file mode 100644 index 000000000000..4eb411017a39 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPercentileGetMetrics.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US" + } + }, + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West Central US-T-West US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-West US" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPercentileSourceTargetGetMetrics.json new file mode 100644 index 000000000000..55261a9b944e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPercentileSourceTargetGetMetrics.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "sourceRegion": "West Central US", + "targetRegion": "East US", + "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPercentileTargetGetMetrics.json new file mode 100644 index 000000000000..bf4d32f61b2f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPercentileTargetGetMetrics.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "targetRegion": "East US", + "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US" + } + }, + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West US-T-East US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-West US" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..d3e18d046d6f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2021-10-15", + "privateEndpointConnectionName": "privateEndpointConnectionName" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..c926930829d2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2021-10-15", + "privateEndpointConnectionName": "privateEndpointConnectionName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName", + "name": "privateEndpointConnectionName", + "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + }, + "groupId": "Sql", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionListGet.json new file mode 100644 index 000000000000..b3f80140c296 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionListGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2021-10-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName", + "name": "privateEndpointConnectionName", + "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + }, + "groupId": "Sql", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName2", + "name": "privateEndpointConnectionName", + "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + }, + "groupId": "Sql", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..31a78abee84b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2021-10-15", + "privateEndpointConnectionName": "privateEndpointConnectionName", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName", + "name": "privateEndpointConnectionName", + "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + }, + "groupId": "Sql", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateLinkResourceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateLinkResourceGet.json new file mode 100644 index 000000000000..f8329726918e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateLinkResourceGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2021-10-15", + "groupName": "sql" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateLinkResources/sql", + "name": "sql", + "type": "Microsoft.DocumentDB/databaseAccounts/privateLinkResources", + "properties": { + "groupId": "sql", + "requiredMembers": [ + "ddb1", + "ddb1-westus" + ], + "requiredZoneNames": [ + "privatelink.documents.azure.net" + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateLinkResourceListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateLinkResourceListGet.json new file mode 100644 index 000000000000..75c4dee5f3b9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateLinkResourceListGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2021-10-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateLinkResources/sql", + "name": "sql", + "type": "Microsoft.DocumentDB/databaseAccounts/privateLinkResources", + "properties": { + "groupId": "sql", + "requiredMembers": [ + "ddb1", + "ddb1-westus" + ], + "requiredZoneNames": [ + "privatelink.documents.azure.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRegionCollectionGetMetrics.json new file mode 100644 index 000000000000..43c076120ae3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRegionCollectionGetMetrics.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "region": "North Europe", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableDatabaseAccountGet.json new file mode 100644 index 000000000000..2f5de717c89c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableDatabaseAccountGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "location": "West US", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d", + "name": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb1", + "creationTime": "2020-04-11T21:56:15Z", + "deletionTime": "2021-03-12T22:05:09Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableDatabaseAccountList.json new file mode 100644 index 000000000000..56d2f3f2e371 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableDatabaseAccountList.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "location": "West US" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d", + "name": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb1", + "creationTime": "2020-04-11T21:56:15Z", + "deletionTime": "2021-03-12T22:05:09Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "name": "4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb2", + "creationTime": "2020-05-01T08:05:18Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json new file mode 100644 index 000000000000..369818198338 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d", + "name": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb1", + "creationTime": "2020-04-11T21:56:15Z", + "deletionTime": "2021-03-12T22:05:09Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "name": "4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "location": "East US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb2", + "creationTime": "2020-05-01T08:05:18Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableMongodbCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableMongodbCollectionList.json new file mode 100644 index 000000000000..e5a06318f0fe --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableMongodbCollectionList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "location": "WestUS", + "instanceId": "98a570f2-63db-4117-91f0-366327b7b353", + "restorableMongodbDatabaseRid": "PD5DALigDgw=" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableMongodbCollections/79609a98-3394-41f8-911f-cfab0c075c86", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbCollections", + "name": "79609a98-3394-41f8-911f-cfab0c075c86", + "properties": { + "resource": { + "_rid": "zAyAPQAAAA==", + "eventTimestamp": "2020-10-13T04:56:42Z", + "ownerId": "Collection1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Create" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableMongodbDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableMongodbDatabaseList.json new file mode 100644 index 000000000000..2bf2b90d2ed3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableMongodbDatabaseList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/36f09704-6be3-4f33-aa05-17b73e504c75/restorableMongodbDatabases/59c21367-b98b-4a8e-abb7-b6f46600decc", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbDatabases", + "name": "59c21367-b98b-4a8e-abb7-b6f46600decc", + "properties": { + "resource": { + "_rid": "DLB14gAAAA==", + "eventTimestamp": "2020-09-02T19:45:03Z", + "ownerId": "Database1", + "ownerResourceId": "PD5DALigDgw=", + "operationType": "Create" + } + } + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableMongodbDatabases/8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbDatabases", + "name": "8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "properties": { + "resource": { + "_rid": "ESXNLAAAAA==", + "eventTimestamp": "2020-09-02T19:53:42Z", + "ownerId": "Database1", + "ownerResourceId": "PD5DALigDgw=", + "operationType": "Delete" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableMongodbResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableMongodbResourceList.json new file mode 100644 index 000000000000..e3ae5c2c7aa9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableMongodbResourceList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "restoreLocation": "WestUS", + "restoreTimestampInUtc": "10/13/2020 4:56" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "databaseName": "Database1", + "collectionNames": [ + "Collection1" + ] + }, + { + "databaseName": "Database2", + "collectionNames": [ + "Collection1", + "Collection2" + ] + }, + { + "databaseName": "Database3", + "collectionNames": [] + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableSqlContainerList.json new file mode 100644 index 000000000000..874749bd5fb4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableSqlContainerList.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "location": "WestUS", + "instanceId": "98a570f2-63db-4117-91f0-366327b7b353", + "restorableSqlDatabaseRid": "3fu-hg==" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableSqlContainers/79609a98-3394-41f8-911f-cfab0c075c86", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlContainers", + "name": "79609a98-3394-41f8-911f-cfab0c075c86", + "properties": { + "resource": { + "_rid": "zAyAPQAAAA==", + "eventTimestamp": "2020-10-13T04:56:42Z", + "ownerId": "Container1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Create", + "container": { + "id": "Container1", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*" + }, + { + "path": "/\"_ts\"/?" + } + ], + "excludedPaths": [ + { + "path": "/\"_etag\"/?" + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/_ts", + "conflictResolutionProcedure": "" + }, + "_rid": "V18LoLrv-qA=", + "_self": "dbs/V18LoA==/colls/V18LoLrv-qA=/", + "_etag": "\"00003e00-0000-0700-0000-5f85338a0000\"" + } + } + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableSqlContainers/e85298a1-c631-4726-825e-a7ca092e9098", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlContainers", + "name": "e85298a1-c631-4726-825e-a7ca092e9098", + "properties": { + "resource": { + "_rid": "PrArcgAAAA==", + "eventTimestamp": "2020-10-13T05:03:27Z", + "ownerId": "Container1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Replace", + "container": { + "id": "Container1", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*" + }, + { + "path": "/\"_ts\"/?" + } + ], + "excludedPaths": [ + { + "path": "/\"_etag\"/?" + } + ] + }, + "defaultTtl": 12345, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/_ts", + "conflictResolutionProcedure": "" + }, + "_rid": "V18LoLrv-qA=", + "_self": "dbs/V18LoA==/colls/V18LoLrv-qA=/", + "_etag": "\"00004400-0000-0700-0000-5f85351f0000\"" + } + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableSqlDatabaseList.json new file mode 100644 index 000000000000..e255d0ab9a38 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableSqlDatabaseList.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/36f09704-6be3-4f33-aa05-17b73e504c75/restorableSqlDatabases/59c21367-b98b-4a8e-abb7-b6f46600decc", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases", + "name": "59c21367-b98b-4a8e-abb7-b6f46600decc", + "properties": { + "resource": { + "_rid": "DLB14gAAAA==", + "eventTimestamp": "2020-09-02T19:45:03Z", + "ownerId": "Database1", + "ownerResourceId": "3fu-hg==", + "operationType": "Create", + "database": { + "id": "Database1", + "_rid": "3fu-hg==", + "_self": "dbs/3fu-hg==/", + "_etag": "\"0000c20a-0000-0700-0000-5f4ff63f0000\"", + "_colls": "colls/", + "_users": "users/" + } + } + } + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableSqlDatabases/8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases", + "name": "8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "properties": { + "resource": { + "_rid": "ESXNLAAAAA==", + "eventTimestamp": "2020-09-02T19:53:42Z", + "ownerId": "Database1", + "ownerResourceId": "3fu-hg==", + "database": { + "id": "Database1", + "_rid": "3fu-hg==", + "_self": "dbs/3fu-hg==/", + "_etag": "\"0000c20a-0000-0700-0000-5f4ff63f0000\"", + "_colls": "colls/", + "_users": "users/", + "_ts": 1599075903 + }, + "operationType": "Delete" + } + } + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableSqlDatabases/2c07991b-9c7c-4e85-be68-b18c1f2ff326", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases", + "name": "2c07991b-9c7c-4e85-be68-b18c1f2ff326", + "properties": { + "resource": { + "_rid": "aXFqUQAAAA==", + "eventTimestamp": "2020-09-02T19:53:15Z", + "ownerId": "Database2", + "ownerResourceId": "0SziSg==", + "database": { + "id": "Database2", + "_rid": "0SziSg==", + "_self": "dbs/0SziSg==/", + "_etag": "\"0000ca0a-0000-0700-0000-5f4ff82b0000\"", + "_colls": "colls/", + "_users": "users/" + }, + "operationType": "Create" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableSqlResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableSqlResourceList.json new file mode 100644 index 000000000000..7e3261f0f655 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableSqlResourceList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "restoreLocation": "WestUS", + "restoreTimestampInUtc": "10/13/2020 4:56" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "databaseName": "Database1", + "collectionNames": [ + "Container1" + ] + }, + { + "databaseName": "Database2", + "collectionNames": [ + "Container1", + "Container2" + ] + }, + { + "databaseName": "Database3", + "collectionNames": [] + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json new file mode 100644 index 000000000000..b3e6ba3bdbb2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "tags": {}, + "kind": "GlobalDocumentDB", + "properties": { + "databaseAccountOfferType": "Standard", + "locations": [ + { + "failoverPriority": 0, + "locationName": "southcentralus", + "isZoneRedundant": false + } + ], + "createMode": "Restore", + "restoreParameters": { + "restoreMode": "PointInTime", + "restoreSource": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1a97b4bb-f6a0-430e-ade1-638d781830cc", + "restoreTimestampInUtc": "2021-03-11T22:05:09Z", + "databasesToRestore": [ + { + "databaseName": "db1", + "collectionNames": [ + "collection1", + "collection2" + ] + }, + { + "databaseName": "db2", + "collectionNames": [ + "collection3", + "collection4" + ] + } + ] + }, + "backupPolicy": { + "type": "Continuous" + }, + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "keyVaultKeyUri": "https://myKeyVault.vault.azure.net", + "enableFreeTier": false, + "apiProperties": { + "serverVersion": "3.2" + }, + "enableAnalyticalStorage": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Initializing", + "ipRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Restore", + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "readLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "locations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "failoverPolicies": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "failoverPriority": 0 + } + ], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": false + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerBackupInformation.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerBackupInformation.json new file mode 100644 index 000000000000..dbfabfe6a849 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerBackupInformation.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName", + "location": { + "location": "North Europe" + } + }, + "responses": { + "200": { + "body": { + "continuousBackupInformation": { + "latestRestorableTimestamp": "2021-02-05T02:40:50Z" + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerCreateUpdate.json new file mode 100644 index 000000000000..f4bbdf10b787 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerCreateUpdate.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "createUpdateSqlContainerParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "containerName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + } + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName", + "name": "containerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "containerName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerDelete.json new file mode 100644 index 000000000000..5976f669ce65 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerGet.json new file mode 100644 index 000000000000..772663ca4246 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerGet.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName", + "name": "containerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "containerName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + }, + "options": { + "throughput": 400 + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerList.json new file mode 100644 index 000000000000..8dba37096b56 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerList.json @@ -0,0 +1,192 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName", + "name": "containerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testctn", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName1", + "name": "containerName1", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testctn1", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber", + "/AccountLocation" + ], + "kind": "MultiHash", + "version": 2 + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDiw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName2", + "name": "containerName2", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testctn2", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/_partitionKey" + ], + "kind": "Hash", + "version": 2, + "systemKey": true + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDhw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerMigrateToAutoscale.json new file mode 100644 index 000000000000..bf351118fc6c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerMigrateToManualThroughput.json new file mode 100644 index 000000000000..0ea4f2b5133d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerThroughputGet.json new file mode 100644 index 000000000000..0581a13e5976 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerThroughputUpdate.json new file mode 100644 index 000000000000..57d61253f430 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseCreateUpdate.json new file mode 100644 index 000000000000..7dccefcd766e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "createUpdateSqlDatabaseParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseDelete.json new file mode 100644 index 000000000000..12f6864e3f12 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseGet.json new file mode 100644 index 000000000000..8d2a6b125859 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"", + "_colls": "colls/", + "_users": "users/" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseList.json new file mode 100644 index 000000000000..c8d731807c33 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"", + "_colls": "colls/", + "_users": "users/" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..97b36fdad6f8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..086f8fd89505 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseThroughputGet.json new file mode 100644 index 000000000000..2744ba7bb7bd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..e1b281676e2c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json new file mode 100644 index 000000000000..244417c29535 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "roleAssignmentId": "myRoleAssignmentId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15", + "createUpdateSqlRoleAssignmentParameters": { + "properties": { + "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases", + "principalId": "myPrincipalId" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId", + "name": "myRoleAssignmentId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments", + "properties": { + "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases", + "principalId": "myPrincipalId" + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentDelete.json new file mode 100644 index 000000000000..e38c9103fa8c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "roleAssignmentId": "myRoleAssignmentId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentGet.json new file mode 100644 index 000000000000..da35cd250866 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "roleAssignmentId": "myRoleAssignmentId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId", + "name": "myRoleAssignmentId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments", + "properties": { + "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases", + "principalId": "myPrincipalId" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentList.json new file mode 100644 index 000000000000..e6a0beb2704e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId", + "name": "myRoleAssignmentId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments", + "properties": { + "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases", + "principalId": "myPrincipalId" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json new file mode 100644 index 000000000000..ff5859f41d6f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "roleDefinitionId": "myRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15", + "createUpdateSqlRoleDefinitionParameters": { + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "assignableScopes": [ + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales", + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read" + ], + "notDataActions": [] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "name": "myRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "assignableScopes": [ + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales", + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read" + ] + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionDelete.json new file mode 100644 index 000000000000..da3fa5deadc4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "roleDefinitionId": "myRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionGet.json new file mode 100644 index 000000000000..69889ad20194 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "roleDefinitionId": "myRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "name": "myRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "assignableScopes": [ + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales", + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read" + ], + "notDataActions": [] + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionList.json new file mode 100644 index 000000000000..f8bf45e26def --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-10-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "name": "myRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "assignableScopes": [ + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales", + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read" + ], + "notDataActions": [] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureCreateUpdate.json new file mode 100644 index 000000000000..dd1306aeeca7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "storedProcedureName": "storedProcedureName", + "createUpdateSqlStoredProcedureParameters": { + "properties": { + "resource": { + "id": "storedProcedureName", + "body": "body" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName", + "name": "storedProcedureName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures", + "properties": { + "resource": { + "id": "storedProcedureName", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureDelete.json new file mode 100644 index 000000000000..36ca28d6ee4b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "storedProcedureName": "storedProcedureName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureGet.json new file mode 100644 index 000000000000..85d2fa4d1faa --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName", + "storedProcedureName": "storedProcedureName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName", + "name": "storedProcedureName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures", + "properties": { + "resource": { + "id": "storedProcedureName", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureList.json new file mode 100644 index 000000000000..7fbfbab041d6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName", + "name": "testctn", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures", + "properties": { + "resource": { + "id": "testctn", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerCreateUpdate.json new file mode 100644 index 000000000000..6b2152600c47 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerCreateUpdate.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "triggerName": "triggerName", + "createUpdateSqlTriggerParameters": { + "properties": { + "resource": { + "id": "triggerName", + "body": "body", + "triggerType": "triggerType", + "triggerOperation": "triggerOperation" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName", + "name": "triggerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers", + "properties": { + "resource": { + "id": "triggerName", + "body": "body", + "triggerType": "triggerType", + "triggerOperation": "triggerOperation", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerDelete.json new file mode 100644 index 000000000000..d39536e48255 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "triggerName": "triggerName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerGet.json new file mode 100644 index 000000000000..d09e41bafe50 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName", + "triggerName": "triggerName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName", + "name": "triggerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers", + "properties": { + "resource": { + "id": "triggerName", + "body": "body", + "triggerType": "triggerType", + "triggerOperation": "triggerOperation", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerList.json new file mode 100644 index 000000000000..47130b23aeb9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName", + "name": "testctn", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers", + "properties": { + "resource": { + "id": "testctn", + "body": "body", + "triggerType": "triggerType", + "triggerOperation": "triggerOperation", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json new file mode 100644 index 000000000000..e23ecde0e880 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "userDefinedFunctionName": "userDefinedFunctionName", + "createUpdateSqlUserDefinedFunctionParameters": { + "properties": { + "resource": { + "id": "userDefinedFunctionName", + "body": "body" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName", + "name": "userDefinedFunctionName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions", + "properties": { + "resource": { + "id": "userDefinedFunctionName", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionDelete.json new file mode 100644 index 000000000000..885ba9ae92f1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "userDefinedFunctionName": "userDefinedFunctionName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionGet.json new file mode 100644 index 000000000000..482a108c376f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName", + "userDefinedFunctionName": "userDefinedFunctionName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName", + "name": "userDefinedFunctionName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions", + "properties": { + "resource": { + "id": "userDefinedFunctionName", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionList.json new file mode 100644 index 000000000000..11540ca36822 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName", + "name": "testctn", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions", + "properties": { + "resource": { + "id": "testctn", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableCreateUpdate.json new file mode 100644 index 000000000000..67d423373ce8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableCreateUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "tableName": "tableName", + "createUpdateTableParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/tables", + "location": "West US", + "properties": { + "resource": { + "id": "tableName" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableDelete.json new file mode 100644 index 000000000000..87fe4945cc73 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableGet.json new file mode 100644 index 000000000000..ffa290b50f6c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/tables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableList.json new file mode 100644 index 000000000000..433b68b6df13 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-15", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/tables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableMigrateToAutoscale.json new file mode 100644 index 000000000000..231b0d94efdd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableMigrateToManualThroughput.json new file mode 100644 index 000000000000..1f1630a8c188 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableThroughputGet.json new file mode 100644 index 000000000000..35ffb86c662e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableThroughputUpdate.json new file mode 100644 index 000000000000..e3d214e659de --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-10-15", + "subscriptionId": "subid", + "tableName": "tableName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/managedCassandra.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/managedCassandra.json new file mode 100644 index 000000000000..13ff8f80e1c3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/managedCassandra.json @@ -0,0 +1,1307 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB - Managed Cassandra", + "description": "Azure Cosmos DB Database Service Managed Cassandra REST API", + "version": "2021-10-15" + }, + "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}/providers/Microsoft.DocumentDB/cassandraClusters": { + "get": { + "operationId": "CassandraClusters_ListBySubscription", + "description": "List all managed Cassandra clusters in this subscription.", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "CosmosDBManagedCassandraClusterListBySubscription": { + "$ref": "./examples/CosmosDBManagedCassandraClusterListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed Cassandra clusters.", + "schema": { + "$ref": "#/definitions/ListClusters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters": { + "get": { + "operationId": "CassandraClusters_ListByResourceGroup", + "description": "List all managed Cassandra clusters in this resource group.", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "CosmosDBManagedCassandraClusterListByResourceGroup": { + "$ref": "./examples/CosmosDBManagedCassandraClusterListByResourceGroup.json" + } + }, + "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": "Successfully retrieved the list of managed Cassandra clusters.", + "schema": { + "$ref": "#/definitions/ListClusters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}": { + "get": { + "operationId": "CassandraClusters_Get", + "description": "Get the properties of a managed Cassandra cluster.", + "x-ms-examples": { + "CosmosDBManagedCassandraClusterGet": { + "$ref": "./examples/CosmosDBManagedCassandraClusterGet.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of the managed Cassandra cluster were retrieved successfully.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "CassandraClusters_Delete", + "description": "Deletes a managed Cassandra cluster.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CosmosDBManagedCassandraClusterDelete": { + "$ref": "./examples/CosmosDBManagedCassandraClusterDelete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The managed Cassandra cluster will be deleted asynchronously." + }, + "204": { + "description": "No such cluster to delete." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "CassandraClusters_CreateUpdate", + "description": "Create or update a managed Cassandra cluster. When updating, you must specify all writable properties. To update only some properties, use PATCH.", + "x-ms-examples": { + "CosmosDBManagedCassandraClusterCreate": { + "$ref": "./examples/CosmosDBManagedCassandraClusterCreate.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterResource" + }, + "description": "The properties specifying the desired state of the managed Cassandra cluster." + } + ], + "responses": { + "200": { + "description": "The managed Cassandra cluster is being updated. Poll for provisioningState=Succeeded to find when creation completes.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "201": { + "description": "The managed Cassandra cluster is being created. Poll for provisioningState=Succeeded to find when creation completes.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "operationId": "CassandraClusters_Update", + "description": "Updates some of the properties of a managed Cassandra cluster.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CosmosDBManagedCassandraClusterPatch": { + "$ref": "./examples/CosmosDBManagedCassandraClusterPatch.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterResource" + }, + "description": "Parameters to provide for specifying the managed Cassandra cluster." + } + ], + "responses": { + "202": { + "description": "The managed Cassandra cluster is being updated. Poll the provided operation for completion.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "200": { + "description": "Completed synchronously. This will only happen if the fields changed by patch require no changes to the actual Cassandra data center.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/invokeCommand": { + "post": { + "operationId": "CassandraClusters_InvokeCommand", + "description": "Invoke a command like nodetool for cassandra maintenance ", + "x-ms-examples": { + "CosmosDBManagedCassandraCommand": { + "$ref": "./examples/CosmosDBManagedCassandraCommand.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CommandPostBody" + }, + "description": "Specification which command to run where" + } + ], + "responses": { + "202": { + "description": "Success. The command operation will begin as soon as possible.", + "schema": { + "$ref": "#/definitions/CommandOutput" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters": { + "get": { + "operationId": "CassandraDataCenters_List", + "description": "List all data centers in a particular managed Cassandra cluster.", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterList": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed Cassandra data centers.", + "schema": { + "$ref": "#/definitions/ListDataCenters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}": { + "get": { + "operationId": "CassandraDataCenters_Get", + "description": "Get the properties of a managed Cassandra data center.", + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterGet": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterGet.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/dataCenterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of the managed Cassandra data center were retrieved successfully.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "CassandraDataCenters_Delete", + "description": "Delete a managed Cassandra data center.", + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterDelete": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterDelete.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/dataCenterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. Deletion will complete asynchronously." + }, + "204": { + "description": "Cassandra cluster with the specified name does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "CassandraDataCenters_CreateUpdate", + "description": "Create or update a managed Cassandra data center. When updating, overwrite all properties. To update only some properties, use PATCH.", + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterCreate": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterCreate.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/dataCenterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataCenterResource" + }, + "description": "Parameters specifying the managed Cassandra data center." + } + ], + "responses": { + "201": { + "description": "Accepted. The data center will be created asynchronously.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "200": { + "description": "Accepted. The data center will be updated asynchronously.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "operationId": "CassandraDataCenters_Update", + "description": "Update some of the properties of a managed Cassandra data center.", + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterUpdate": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterPatch.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/dataCenterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataCenterResource" + }, + "description": "Parameters to provide for specifying the managed Cassandra data center." + } + ], + "responses": { + "202": { + "description": "Accepted. Update will proceed asynchronously.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "200": { + "description": "Completed synchronously. This will only happen if the fields changed by patch require no changes to the actual Cassandra cluster, such as editing the tags.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/deallocate": { + "post": { + "operationId": "CassandraClusters_Deallocate", + "description": "Deallocate the Managed Cassandra Cluster and Associated Data Centers. Deallocation will deallocate the host virtual machine of this cluster, and reserved the data disk. This won't do anything on an already deallocated cluster. Use Start to restart the cluster.", + "x-ms-examples": { + "CosmosDBManagedCassandraClusterDeallocate": { + "$ref": "./examples/CosmosDBManagedCassandraClusterDeallocate.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Cluster deallocated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/start": { + "post": { + "operationId": "CassandraClusters_Start", + "description": "Start the Managed Cassandra Cluster and Associated Data Centers. Start will start the host virtual machine of this cluster with reserved data disk. This won't do anything on an already running cluster. Use Deallocate to deallocate the cluster.", + "x-ms-examples": { + "CosmosDBManagedCassandraClusterStart": { + "$ref": "./examples/CosmosDBManagedCassandraClusterStart.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Enqueued Operation to start the cluster." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/status": { + "get": { + "operationId": "CassandraClusters_Status", + "description": "Gets the CPU, memory, and disk usage statistics for each Cassandra node in a cluster.", + "x-ms-examples": { + "CosmosDBManagedCassandraStatus": { + "$ref": "./examples/CosmosDBManagedCassandraStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully fetched the usage statistics of all nodes in the cluster.", + "schema": { + "$ref": "#/definitions/CassandraClusterPublicStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "clusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Managed Cassandra cluster name.", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$" + }, + "dataCenterNameParameter": { + "name": "dataCenterName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Data center name in a managed Cassandra cluster.", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$" + }, + "backupNameParameter": { + "name": "backupId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Id of a restorable backup of a Cassandra cluster.", + "minLength": 1, + "maxLength": 15, + "pattern": "^[0-9]+$" + } + }, + "definitions": { + "ListClusters": { + "description": "List of managed Cassandra clusters.", + "readOnly": true, + "type": "object", + "properties": { + "value": { + "description": "Container for the array of clusters.", + "type": "array", + "items": { + "$ref": "#/definitions/ClusterResource" + } + } + } + }, + "ManagedCassandraARMResourceProperties": { + "type": "object", + "description": "The core properties of ARM resources.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "tags": { + "$ref": "cosmos-db.json#/definitions/Tags" + }, + "identity": { + "$ref": "#/definitions/ManagedCassandraManagedServiceIdentity" + } + }, + "x-ms-azure-resource": true + }, + "ManagedCassandraManagedServiceIdentity": { + "description": "Identity for the resource.", + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The object id of the identity resource." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the resource." + }, + "type": { + "type": "string", + "description": "The type of the resource.", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ManagedCassandraResourceIdentityType", + "modelAsString": true + } + } + } + }, + "ManagedCassandraProvisioningState": { + "description": "The status of the resource at the time the operation was called.", + "type": "string", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ManagedCassandraProvisioningState", + "modelAsString": true + } + }, + "ClusterResource": { + "description": "Representation of a managed Cassandra cluster.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ManagedCassandraARMResourceProperties" + } + ], + "properties": { + "properties": { + "type": "object", + "description": "Properties of a managed Cassandra cluster.", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ManagedCassandraProvisioningState" + }, + "restoreFromBackupId": { + "type": "string", + "x-ms-mutability": [ + "create" + ], + "description": "To create an empty cluster, omit this field or set it to null. To restore a backup into a new cluster, set this field to the resource id of the backup." + }, + "delegatedManagementSubnetId": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ], + "description": "Resource id of a subnet that this cluster's management service should have its network interface attached to. The subnet must be routable to all subnets that will be delegated to data centers. The resource id must be of the form '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/'" + }, + "cassandraVersion": { + "type": "string", + "description": "Which version of Cassandra should this cluster converge to running (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version." + }, + "clusterNameOverride": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ], + "description": "If you need to set the clusterName property in cassandra.yaml to something besides the resource name of the cluster, set the value to use on this property." + }, + "authenticationMethod": { + "type": "string", + "description": "Which authentication method Cassandra should use to authenticate clients. 'None' turns off authentication, so should not be used except in emergencies. 'Cassandra' is the default password based authentication. The default is 'Cassandra'.", + "enum": [ + "None", + "Cassandra" + ], + "x-ms-enum": { + "name": "AuthenticationMethod", + "modelAsString": true + } + }, + "initialCassandraAdminPassword": { + "x-ms-mutability": [ + "create" + ], + "x-ms-secret": true, + "description": "Initial password for clients connecting as admin to the cluster. Should be changed after cluster creation. Returns null on GET. This field only applies when the authenticationMethod field is 'Cassandra'.", + "type": "string" + }, + "prometheusEndpoint": { + "$ref": "#/definitions/SeedNode", + "description": "Hostname or IP address where the Prometheus endpoint containing data about the managed Cassandra nodes can be reached." + }, + "repairEnabled": { + "type": "boolean", + "description": "Should automatic repairs run on this cluster? If omitted, this is true, and should stay true unless you are running a hybrid cluster where you are already doing your own repairs." + }, + "clientCertificates": { + "description": "List of TLS certificates used to authorize clients connecting to the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if clientCertificates is set, the managed Cassandra cluster will reject all connections not bearing a TLS client certificate that can be validated from one or more of the public certificates in this property.", + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "externalGossipCertificates": { + "description": "List of TLS certificates used to authorize gossip from unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be verifiable using one of the certificates provided in this property.", + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "gossipCertificates": { + "readOnly": true, + "x-ms-mutability": [ + "read" + ], + "description": "List of TLS certificates that unmanaged nodes must trust for gossip with managed nodes. All managed nodes will present TLS client certificates that are verifiable using one of the certificates provided in this property.", + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "externalSeedNodes": { + "type": "array", + "description": "List of IP addresses of seed nodes in unmanaged data centers. These will be added to the seed node lists of all managed nodes.", + "items": { + "$ref": "#/definitions/SeedNode" + } + }, + "seedNodes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SeedNode" + }, + "description": "List of IP addresses of seed nodes in the managed data centers. These should be added to the seed node lists of all unmanaged nodes." + }, + "hoursBetweenBackups": { + "type": "integer", + "format": "int32", + "description": "Number of hours to wait between taking a backup of the cluster. To disable backups, set this property to 0." + }, + "deallocated": { + "type": "boolean", + "description": "Whether the cluster and associated data centers has been deallocated." + }, + "cassandraAuditLoggingEnabled": { + "type": "boolean", + "description": "Whether Cassandra audit logging is enabled" + } + } + } + } + }, + "ManagedCassandraNodeStatus": { + "type": "string", + "description": "Indicates whether the node is functioning or not.", + "enum": [ + "Up", + "Down" + ], + "x-ms-enum": { + "name": "NodeStatus", + "modelAsString": true + } + }, + "ManagedCassandraNodeState": { + "type": "string", + "description": "The state of the node in Cassandra ring.", + "enum": [ + "Normal", + "Leaving", + "Joining", + "Moving", + "Stopped" + ], + "x-ms-enum": { + "name": "NodeState", + "modelAsString": true + } + }, + "CassandraClusterPublicStatus": { + "type": "object", + "description": "Properties of a managed Cassandra cluster public status.", + "properties": { + "eTag": { + "type": "string" + }, + "reaperStatus": { + "$ref": "#/definitions/ManagedCassandraReaperStatus" + }, + "connectionErrors": { + "type": "array", + "description": "List relevant information about any connection errors to the Datacenters.", + "items": { + "$ref": "#/definitions/ConnectionError" + } + }, + "dataCenters": { + "type": "array", + "description": "List of the status of each datacenter in this cluster.", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of this Datacenter." + }, + "seedNodes": { + "type": "array", + "description": "A list of all seed nodes in the cluster, managed and unmanaged.", + "items": { + "type": "string" + } + }, + "nodes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The node's IP address." + }, + "state": { + "$ref": "#/definitions/ManagedCassandraNodeState" + }, + "status": { + "type": "string" + }, + "load": { + "type": "string", + "description": "The amount of file system data in the data directory (e.g., 47.66 kB), excluding all content in the snapshots subdirectories. Because all SSTable data files are included, any data that is not cleaned up (such as TTL-expired cells or tombstones) is counted." + }, + "tokens": { + "type": "array", + "description": "List of tokens this node covers.", + "items": { + "type": "string" + } + }, + "size": { + "type": "integer", + "format": "int32" + }, + "hostID": { + "description": "The network ID of the node.", + "type": "string" + }, + "rack": { + "description": "The rack this node is part of.", + "type": "string" + }, + "timestamp": { + "description": "The timestamp when these statistics were captured.", + "type": "string" + }, + "diskUsedKB": { + "description": "The amount of disk used, in kB, of the directory /var/lib/cassandra.", + "type": "integer", + "format": "int64" + }, + "diskFreeKB": { + "description": "The amount of disk free, in kB, of the directory /var/lib/cassandra.", + "type": "integer", + "format": "int64" + }, + "memoryUsedKB": { + "description": "Used memory (calculated as total - free - buffers - cache), in kB.", + "type": "integer", + "format": "int64" + }, + "memoryBuffersAndCachedKB": { + "description": "Memory used by kernel buffers (Buffers in /proc/meminfo) and page cache and slabs (Cached and SReclaimable in /proc/meminfo), in kB.", + "type": "integer", + "format": "int64" + }, + "memoryFreeKB": { + "description": "Unused memory (MemFree and SwapFree in /proc/meminfo), in kB.", + "type": "integer", + "format": "int64" + }, + "memoryTotalKB": { + "description": "Total installed memory (MemTotal and SwapTotal in /proc/meminfo), in kB.", + "type": "integer", + "format": "int64" + }, + "cpuUsage": { + "description": "A float representing the current system-wide CPU utilization as a percentage.", + "type": "number", + "format": "double" + } + } + } + } + } + } + } + } + }, + "ManagedCassandraReaperStatus": { + "type": "object", + "properties": { + "healthy": { + "type": "boolean" + }, + "repairRunIds": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "repairSchedules": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ConnectionError": { + "type": "object", + "properties": { + "connectionState": { + "description": "The kind of connection error that occurred.", + "type": "string", + "enum": [ + "Unknown", + "OK", + "OperatorToDataCenterNetworkError", + "DatacenterToDatacenterNetworkError", + "InternalOperatorToDataCenterCertificateError", + "InternalError" + ], + "x-ms-enum": { + "name": "ConnectionState", + "modelAsString": true + } + }, + "iPFrom": { + "description": "The IP of host that originated the failed connection.", + "type": "string" + }, + "iPTo": { + "description": "The IP that the connection attempted to reach.", + "type": "string" + }, + "port": { + "description": "The TCP port the connection was attempted on.", + "type": "integer", + "format": "int32" + }, + "exception": { + "description": "Detailed error message about the failed connection.", + "type": "string" + } + } + }, + "CommandPostBody": { + "description": "Specification of which command to run where", + "type": "object", + "required": [ + "command", + "host" + ], + "properties": { + "command": { + "type": "string", + "description": "The command which should be run" + }, + "arguments": { + "type": "object", + "description": "The arguments for the command to be run", + "additionalProperties": { + "type": "string" + } + }, + "host": { + "type": "string", + "description": "IP address of the cassandra host to run the command on" + }, + "cassandra-stop-start": { + "type": "boolean", + "description": "If true, stops cassandra before executing the command and then start it again" + }, + "readwrite": { + "type": "boolean", + "description": "If true, allows the command to *write* to the cassandra directory, otherwise read-only." + } + } + }, + "CommandOutput": { + "description": "Response of /command api", + "type": "object", + "properties": { + "commandOutput": { + "type": "string", + "description": "Output of the command." + } + } + }, + "ListDataCenters": { + "description": "List of managed Cassandra data centers and their properties.", + "type": "object", + "properties": { + "value": { + "description": "Container for array of data centers.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/DataCenterResource" + } + } + } + }, + "SeedNode": { + "type": "object", + "properties": { + "ipAddress": { + "description": "IP address of this seed node.", + "type": "string" + } + } + }, + "Certificate": { + "type": "object", + "properties": { + "pem": { + "description": "PEM formatted public key.", + "type": "string" + } + } + }, + "DataCenterResource": { + "description": "A managed Cassandra data center.", + "type": "object", + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "properties": { + "properties": { + "description": "Properties of a managed Cassandra data center.", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ManagedCassandraProvisioningState" + }, + "dataCenterLocation": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ], + "description": "The region this data center should be created in." + }, + "delegatedSubnetId": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ], + "description": "Resource id of a subnet the nodes in this data center should have their network interfaces connected to. The subnet must be in the same region specified in 'dataCenterLocation' and must be able to route to the subnet specified in the cluster's 'delegatedManagementSubnetId' property. This resource id will be of the form '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/'." + }, + "nodeCount": { + "type": "integer", + "format": "int32", + "description": "The number of nodes the data center should have. This is the desired number. After it is set, it may take some time for the data center to be scaled to match. To monitor the number of nodes and their status, use the fetchNodeStatus method on the cluster." + }, + "seedNodes": { + "readOnly": true, + "type": "array", + "description": "IP addresses for seed nodes in this data center. This is for reference. Generally you will want to use the seedNodes property on the cluster, which aggregates the seed nodes from all data centers in the cluster.", + "items": { + "$ref": "#/definitions/SeedNode" + } + }, + "base64EncodedCassandraYamlFragment": { + "type": "string", + "description": "A fragment of a cassandra.yaml configuration file to be included in the cassandra.yaml for all nodes in this data center. The fragment should be Base64 encoded, and only a subset of keys are allowed." + }, + "managedDiskCustomerKeyUri": { + "type": "string", + "description": "Key uri to use for encryption of managed disks. Ensure the system assigned identity of the cluster has been assigned appropriate permissions(key get/wrap/unwrap permissions) on the key." + }, + "backupStorageCustomerKeyUri": { + "type": "string", + "description": "Indicates the Key Uri of the customer key to use for encryption of the backup storage account." + }, + "sku": { + "type": "string", + "description": "Virtual Machine SKU used for data centers. Default value is Standard_DS14_v2" + }, + "diskSku": { + "type": "string", + "description": "Disk SKU used for data centers. Default value is P30." + }, + "diskCapacity": { + "type": "integer", + "format": "int32", + "description": "Number of disk used for data centers. Default value is 4." + }, + "availabilityZone": { + "type": "boolean", + "description": "If the azure data center has Availability Zone support, apply it to the Virtual Machine ScaleSet that host the cassandra data center virtual machines." + } + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/notebook.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/notebook.json new file mode 100644 index 000000000000..f87b5d1579d2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/notebook.json @@ -0,0 +1,461 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2021-10-15" + }, + "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.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces": { + "get": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Gets the notebook workspace resources of an existing Cosmos DB account.", + "operationId": "NotebookWorkspaces_ListByDatabaseAccount", + "x-ms-pageable": { + "nextLinkName": null + }, + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved notebook workspace resources.", + "schema": { + "$ref": "#/definitions/NotebookWorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceList": { + "$ref": "./examples/CosmosDBNotebookWorkspaceList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}": { + "get": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Gets the notebook workspace for a Cosmos DB account.", + "operationId": "NotebookWorkspaces_Get", + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified notebook workspace resource.", + "schema": { + "$ref": "#/definitions/NotebookWorkspace" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceGet": { + "$ref": "./examples/CosmosDBNotebookWorkspaceGet.json" + } + } + }, + "put": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Creates the notebook workspace for a Cosmos DB account.", + "operationId": "NotebookWorkspaces_CreateOrUpdate", + "x-ms-long-running-operation": true, + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + }, + { + "name": "notebookCreateUpdateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NotebookWorkspaceCreateUpdateParameters" + }, + "description": "The notebook workspace to create for the current database account." + } + ], + "responses": { + "200": { + "description": "Creation of notebook workspace will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NotebookWorkspace" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceCreate": { + "$ref": "./examples/CosmosDBNotebookWorkspaceCreate.json" + } + } + }, + "delete": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Deletes the notebook workspace for a Cosmos DB account.", + "operationId": "NotebookWorkspaces_Delete", + "x-ms-long-running-operation": true, + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "202": { + "description": "The notebook workspace delete operation will complete asynchronously." + }, + "204": { + "description": "The specified notebook workspace does not exist in the database account." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceDelete": { + "$ref": "./examples/CosmosDBNotebookWorkspaceDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/listConnectionInfo": { + "post": { + "tags": [ + "NotebookWorkspacesResource" + ], + "operationId": "NotebookWorkspaces_ListConnectionInfo", + "x-ms-examples": { + "CosmosDBNotebookWorkspaceListConnectionInfo": { + "$ref": "./examples/CosmosDBNotebookWorkspaceListConnectionInfo.json" + } + }, + "description": "Retrieves the connection info for the notebook workspace", + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NotebookWorkspaceConnectionInfoResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/regenerateAuthToken": { + "post": { + "tags": [ + "NotebookWorkspacesResource" + ], + "operationId": "NotebookWorkspaces_RegenerateAuthToken", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceRegenerateAuthToken": { + "$ref": "./examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json" + } + }, + "description": "Regenerates the auth token for the notebook workspace", + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The regenerate auth token operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/start": { + "post": { + "tags": [ + "NotebookWorkspacesResource" + ], + "operationId": "NotebookWorkspaces_Start", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceStart": { + "$ref": "./examples/CosmosDBNotebookWorkspaceStart.json" + } + }, + "description": "Starts the notebook workspace", + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The start operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "NotebookWorkspaceCreateUpdateParameters": { + "description": "Parameters to create a notebook workspace resource", + "type": "object", + "allOf": [ + { + "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "NotebookWorkspaceListResult": { + "description": "A list of notebook workspace resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of notebook workspace resources", + "items": { + "$ref": "#/definitions/NotebookWorkspace" + } + } + } + }, + "NotebookWorkspace": { + "description": "A notebook workspace resource", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/NotebookWorkspaceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "NotebookWorkspaceProperties": { + "description": "Properties of a notebook workspace resource.", + "type": "object", + "properties": { + "notebookServerEndpoint": { + "description": "Specifies the endpoint of Notebook server.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the notebook workspace. Possible values are: Creating, Online, Deleting, Failed, Updating.", + "type": "string", + "readOnly": true + } + } + }, + "NotebookWorkspaceConnectionInfoResult": { + "description": "The connection info for the given notebook workspace", + "properties": { + "authToken": { + "type": "string", + "description": "Specifies auth token used for connecting to Notebook server (uses token-based auth).", + "readOnly": true + }, + "notebookServerEndpoint": { + "type": "string", + "description": "Specifies the endpoint of Notebook server.", + "readOnly": true + } + } + } + }, + "parameters": { + "accountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database account name.", + "minLength": 3, + "maxLength": 50, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + "NotebookWorkspaceNameParameter": { + "name": "notebookWorkspaceName", + "in": "path", + "description": "The name of the notebook workspace resource.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "NotebookWorkspaceName", + "modelAsString": true + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/privateEndpointConnection.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/privateEndpointConnection.json new file mode 100644 index 000000000000..68b7650f832e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/privateEndpointConnection.json @@ -0,0 +1,318 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2021-10-15" + }, + "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.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "List all private endpoint connections on a Cosmos DB account.", + "operationId": "PrivateEndpointConnections_ListByDatabaseAccount", + "x-ms-pageable": { + "nextLinkName": null + }, + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/CosmosDBPrivateEndpointConnectionListGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Gets a private endpoint connection.", + "operationId": "PrivateEndpointConnections_Get", + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/CosmosDBPrivateEndpointConnectionGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Approve or reject a private endpoint connection with a given name.", + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "Successfully approved or rejected private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "Accepted. The private endpoint connection update will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Approve or reject a private endpoint connection with a given name.": { + "$ref": "./examples/CosmosDBPrivateEndpointConnectionUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Deletes a private endpoint connection with a given name.", + "operationId": "PrivateEndpointConnections_Delete", + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "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": "../../stable/2021-10-15/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes a private endpoint connection with a given name.": { + "$ref": "./examples/CosmosDBPrivateEndpointConnectionDelete.json" + } + } + } + } + }, + "definitions": { + "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 + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ] + }, + "PrivateEndpointConnectionProperties": { + "description": "Properties of a private endpoint connection.", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpointProperty", + "description": "Private endpoint which the connection belongs to." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty", + "description": "Connection State of the Private Endpoint Connection." + }, + "groupId": { + "type": "string", + "description": "Group id of the private endpoint." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the private endpoint." + } + } + }, + "PrivateEndpointProperty": { + "type": "object", + "description": "Private endpoint which the connection belongs to.", + "properties": { + "id": { + "type": "string", + "description": "Resource id of the private endpoint." + } + } + }, + "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 + } + } + } + }, + "parameters": { + "accountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database account name.", + "minLength": 3, + "maxLength": 50, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the private endpoint connection." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/privateLinkResources.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/privateLinkResources.json new file mode 100644 index 000000000000..0592b65ece67 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/privateLinkResources.json @@ -0,0 +1,195 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2021-10-15" + }, + "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.DocumentDB/databaseAccounts/{accountName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets the private link resources that need to be created for a Cosmos DB account.", + "operationId": "PrivateLinkResources_ListByDatabaseAccount", + "x-ms-pageable": { + "nextLinkName": null + }, + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/CosmosDBPrivateLinkResourceListGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources/{groupName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets the private link resources that need to be created for a Cosmos DB account.", + "operationId": "PrivateLinkResources_Get", + "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" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/GroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private link resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/CosmosDBPrivateLinkResourceGet.json" + } + } + } + } + }, + "definitions": { + "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 + } + }, + "allOf": [ + { + "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "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 + } + } + } + }, + "parameters": { + "accountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database account name.", + "minLength": 3, + "maxLength": 50, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + "GroupNameParameter": { + "name": "groupName", + "in": "path", + "description": "The name of the private link resource.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/rbac.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/rbac.json new file mode 100644 index 000000000000..6c9dc9b87f62 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/rbac.json @@ -0,0 +1,573 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Role Based Access Control Resource Provider REST API", + "version": "2021-10-15" + }, + "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.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}": { + "get": { + "operationId": "SqlResources_GetSqlRoleDefinition", + "x-ms-examples": { + "CosmosDBSqlRoleDefinitionGet": { + "$ref": "./examples/CosmosDBSqlRoleDefinitionGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB SQL Role Definition with the given Id.", + "parameters": [ + { + "$ref": "#/parameters/roleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Role Definition was successfully retrieved.", + "schema": { + "$ref": "#/definitions/SqlRoleDefinitionGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlRoleDefinition", + "x-ms-examples": { + "CosmosDBSqlRoleDefinitionCreateUpdate": { + "$ref": "./examples/CosmosDBSqlRoleDefinitionCreateUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates or updates an Azure Cosmos DB SQL Role Definition.", + "parameters": [ + { + "$ref": "#/parameters/roleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlRoleDefinitionParameters", + "in": "body", + "required": true, + "description": "The properties required to create or update a Role Definition.", + "schema": { + "$ref": "#/definitions/SqlRoleDefinitionCreateUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Role Definition create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlRoleDefinitionGetResults" + } + }, + "202": { + "description": "The Role Definition create or update request was accepted and will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlRoleDefinition", + "x-ms-examples": { + "CosmosDBSqlRoleDefinitionDelete": { + "$ref": "./examples/CosmosDBSqlRoleDefinitionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes an existing Azure Cosmos DB SQL Role Definition.", + "parameters": [ + { + "$ref": "#/parameters/roleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Role Definition delete operation was completed successfully." + }, + "202": { + "description": "The Role Definition delete request was accepted and will complete asynchronously." + }, + "204": { + "description": "The requested Role Definition does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions": { + "get": { + "operationId": "SqlResources_ListSqlRoleDefinitions", + "x-ms-examples": { + "CosmosDBSqlRoleDefinitionList": { + "$ref": "./examples/CosmosDBSqlRoleDefinitionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the list of all Azure Cosmos DB SQL Role Definitions.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list operation completed successfully.", + "schema": { + "$ref": "#/definitions/SqlRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}": { + "get": { + "operationId": "SqlResources_GetSqlRoleAssignment", + "x-ms-examples": { + "CosmosDBSqlRoleAssignmentGet": { + "$ref": "./examples/CosmosDBSqlRoleAssignmentGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB SQL Role Assignment with the given Id.", + "parameters": [ + { + "$ref": "#/parameters/roleAssignmentIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Role Assignment was successfully retrieved.", + "schema": { + "$ref": "#/definitions/SqlRoleAssignmentGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlRoleAssignment", + "x-ms-examples": { + "CosmosDBSqlRoleAssignmentCreateUpdate": { + "$ref": "./examples/CosmosDBSqlRoleAssignmentCreateUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates or updates an Azure Cosmos DB SQL Role Assignment.", + "parameters": [ + { + "$ref": "#/parameters/roleAssignmentIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlRoleAssignmentParameters", + "in": "body", + "required": true, + "description": "The properties required to create or update a Role Assignment.", + "schema": { + "$ref": "#/definitions/SqlRoleAssignmentCreateUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Role Assignment create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlRoleAssignmentGetResults" + } + }, + "202": { + "description": "The Role Assignment create or update request was accepted and will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlRoleAssignment", + "x-ms-examples": { + "CosmosDBSqlRoleAssignmentDelete": { + "$ref": "./examples/CosmosDBSqlRoleAssignmentDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes an existing Azure Cosmos DB SQL Role Assignment.", + "parameters": [ + { + "$ref": "#/parameters/roleAssignmentIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Role Assignment delete operation was completed successfully." + }, + "202": { + "description": "The Role Assignment delete request was accepted and will complete asynchronously." + }, + "204": { + "description": "The requested Role Assignment does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments": { + "get": { + "operationId": "SqlResources_ListSqlRoleAssignments", + "x-ms-examples": { + "CosmosDBSqlRoleAssignmentList": { + "$ref": "./examples/CosmosDBSqlRoleAssignmentList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the list of all Azure Cosmos DB SQL Role Assignments.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list operation completed successfully.", + "schema": { + "$ref": "#/definitions/SqlRoleAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "SqlRoleDefinitionResource": { + "properties": { + "roleName": { + "type": "string", + "description": "A user-friendly name for the Role Definition. Must be unique for the database account." + }, + "type": { + "type": "string", + "enum": [ + "BuiltInRole", + "CustomRole" + ], + "description": "Indicates whether the Role Definition was built-in or user created.", + "x-ms-enum": { + "name": "RoleDefinitionType", + "modelAsString": false + } + }, + "assignableScopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A set of fully qualified Scopes at or below which Role Assignments may be created using this Role Definition. This will allow application of this Role Definition on the entire database account or any underlying Database / Collection. Must have at least one element. Scopes higher than Database account are not enforceable as assignable Scopes. Note that resources referenced in assignable Scopes need not exist." + }, + "permissions": { + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + }, + "description": "The set of operations allowed through this Role Definition." + } + }, + "description": "Azure Cosmos DB SQL Role Definition resource object." + }, + "SqlRoleDefinitionCreateUpdateParameters": { + "description": "Parameters to create and update an Azure Cosmos DB SQL Role Definition.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update an Azure Cosmos DB SQL Role Definition.", + "$ref": "#/definitions/SqlRoleDefinitionResource" + } + } + }, + "SqlRoleDefinitionGetResults": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SqlRoleDefinitionResource", + "description": "Properties related to the Role Definition." + } + }, + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "description": "An Azure Cosmos DB SQL Role Definition." + }, + "Permission": { + "type": "object", + "properties": { + "dataActions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of data actions that are allowed." + }, + "notDataActions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of data actions that are denied." + } + }, + "description": "The set of data plane operations permitted through this Role Definition." + }, + "SqlRoleDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SqlRoleDefinitionGetResults" + }, + "description": "List of Role Definitions and their properties." + } + }, + "description": "The relevant Role Definitions." + }, + "SqlRoleAssignmentResource": { + "type": "object", + "properties": { + "roleDefinitionId": { + "type": "string", + "description": "The unique identifier for the associated Role Definition." + }, + "scope": { + "type": "string", + "description": "The data plane resource path for which access is being granted through this Role Assignment." + }, + "principalId": { + "type": "string", + "description": "The unique identifier for the associated AAD principal in the AAD graph to which access is being granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription." + } + }, + "description": "Azure Cosmos DB SQL Role Assignment resource object." + }, + "SqlRoleAssignmentCreateUpdateParameters": { + "description": "Parameters to create and update an Azure Cosmos DB SQL Role Assignment.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update an Azure Cosmos DB SQL Role Assignment.", + "$ref": "#/definitions/SqlRoleAssignmentResource" + } + } + }, + "SqlRoleAssignmentGetResults": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SqlRoleAssignmentResource", + "description": "Properties related to the Role Assignment." + } + }, + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "description": "An Azure Cosmos DB Role Assignment" + }, + "SqlRoleAssignmentListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SqlRoleAssignmentGetResults" + }, + "description": "List of Role Assignments and their properties" + } + }, + "description": "The relevant Role Assignments." + } + }, + "parameters": { + "roleDefinitionIdParameter": { + "name": "roleDefinitionId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The GUID for the Role Definition." + }, + "roleAssignmentIdParameter": { + "name": "roleAssignmentId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The GUID for the Role Assignment." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/restorable.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/restorable.json new file mode 100644 index 000000000000..cc57615fdf00 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/restorable.json @@ -0,0 +1,1181 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2021-10-15" + }, + "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}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts": { + "get": { + "operationId": "RestorableDatabaseAccounts_ListByLocation", + "x-ms-examples": { + "CosmosDBRestorableDatabaseAccountList": { + "$ref": "./examples/CosmosDBRestorableDatabaseAccountList.json" + } + }, + "description": "Lists all the restorable Azure Cosmos DB database accounts available under the subscription and in a region. This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableDatabaseAccountsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/restorableDatabaseAccounts": { + "get": { + "operationId": "RestorableDatabaseAccounts_List", + "x-ms-examples": { + "CosmosDBRestorableDatabaseAccountNoLocationList": { + "$ref": "./examples/CosmosDBRestorableDatabaseAccountNoLocationList.json" + } + }, + "description": "Lists all the restorable Azure Cosmos DB database accounts available under the subscription. This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableDatabaseAccountsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}": { + "get": { + "operationId": "RestorableDatabaseAccounts_GetByLocation", + "x-ms-examples": { + "CosmosDBRestorableDatabaseAccountGet": { + "$ref": "./examples/CosmosDBRestorableDatabaseAccountGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB restorable database account. This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read/*' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + } + ], + "responses": { + "200": { + "description": "The restorable database account properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/RestorableDatabaseAccountGetResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/retrieveContinuousBackupInformation": { + "post": { + "operationId": "SqlResources_RetrieveContinuousBackupInformation", + "x-ms-examples": { + "CosmosDBSqlContainerBackupInformation": { + "$ref": "./examples/CosmosDBSqlContainerBackupInformation.json" + } + }, + "description": "Retrieves continuous backup information for a container resource.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/databaseNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "location", + "required": true, + "description": "The name of the continuous backup restore location.", + "schema": { + "$ref": "#/definitions/ContinuousBackupRestoreLocation" + } + } + ], + "responses": { + "200": { + "description": "The Sql container retrieve backup information operation completed successfully.", + "schema": { + "$ref": "#/definitions/BackupInformation" + } + }, + "202": { + "description": "The sql container retrieve backup information operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlDatabases": { + "get": { + "operationId": "RestorableSqlDatabases_List", + "x-ms-examples": { + "CosmosDBRestorableSqlDatabaseList": { + "$ref": "./examples/CosmosDBRestorableSqlDatabaseList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB SQL databases under the restorable account. This helps in scenario where database was accidentally deleted to get the deletion time. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableSqlDatabasesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlContainers": { + "get": { + "operationId": "RestorableSqlContainers_List", + "x-ms-examples": { + "CosmosDBRestorableSqlContainerList": { + "$ref": "./examples/CosmosDBRestorableSqlContainerList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB SQL containers under a specific database. This helps in scenario where container was accidentally deleted. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restorableSqlDatabaseRidParameter" + }, + { + "$ref": "#/parameters/restoreStartTime" + }, + { + "$ref": "#/parameters/restoreEndTime" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableSqlContainersListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlResources": { + "get": { + "operationId": "RestorableSqlResources_List", + "x-ms-examples": { + "CosmosDBRestorableSqlResourceList": { + "$ref": "./examples/CosmosDBRestorableSqlResourceList.json" + } + }, + "description": "Return a list of database and container combo that exist on the account at the given timestamp and location. This helps in scenarios to validate what resources exist at given timestamp and location. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restoreLocationParameter" + }, + { + "$ref": "#/parameters/restoreTimestampInUtcParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableSqlResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/retrieveContinuousBackupInformation": { + "post": { + "operationId": "MongoDBResources_RetrieveContinuousBackupInformation", + "x-ms-examples": { + "CosmosDBMongoDBCollectionBackupInformation": { + "$ref": "./examples/CosmosDBMongoDBCollectionBackupInformation.json" + } + }, + "description": "Retrieves continuous backup information for a Mongodb collection.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/databaseNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "location", + "required": true, + "description": "The name of the continuous backup restore location.", + "schema": { + "$ref": "#/definitions/ContinuousBackupRestoreLocation" + } + } + ], + "responses": { + "200": { + "description": "The Mongodb collection retrieve backup information operation completed successfully.", + "schema": { + "$ref": "#/definitions/BackupInformation" + } + }, + "202": { + "description": "The Mongodb collection retrieve backup information operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbDatabases": { + "get": { + "operationId": "RestorableMongodbDatabases_List", + "x-ms-examples": { + "CosmosDBRestorableMongodbDatabaseList": { + "$ref": "./examples/CosmosDBRestorableMongodbDatabaseList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB MongoDB databases under the restorable account. This helps in scenario where database was accidentally deleted to get the deletion time. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableMongodbDatabasesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbCollections": { + "get": { + "operationId": "RestorableMongodbCollections_List", + "x-ms-examples": { + "CosmosDBRestorableMongodbCollectionList": { + "$ref": "./examples/CosmosDBRestorableMongodbCollectionList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB MongoDB collections under a specific database. This helps in scenario where container was accidentally deleted. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restorableMongodbDatabaseRidParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableMongodbCollectionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbResources": { + "get": { + "operationId": "RestorableMongodbResources_List", + "x-ms-examples": { + "CosmosDBRestorableMongodbResourceList": { + "$ref": "./examples/CosmosDBRestorableMongodbResourceList.json" + } + }, + "description": "Return a list of database and collection combo that exist on the account at the given timestamp and location. This helps in scenarios to validate what resources exist at given timestamp and location. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restoreLocationParameter" + }, + { + "$ref": "#/parameters/restoreTimestampInUtcParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableMongodbResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "RestorableDatabaseAccountsListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableDatabaseAccountGetResult" + }, + "description": "List of restorable database accounts and their properties." + } + }, + "description": "The List operation response, that contains the restorable database accounts and their properties." + }, + "RestorableDatabaseAccountGetResult": { + "description": "A Azure Cosmos DB restorable database account.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a restorable database account.", + "$ref": "#/definitions/RestorableDatabaseAccountProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + } + } + }, + "RestorableDatabaseAccountProperties": { + "type": "object", + "description": "The properties of a restorable database account.", + "properties": { + "accountName": { + "type": "string", + "description": "The name of the global database account" + }, + "creationTime": { + "type": "string", + "format": "date-time", + "description": "The creation time of the restorable database account (ISO-8601 format)." + }, + "deletionTime": { + "type": "string", + "format": "date-time", + "description": "The time at which the restorable database account has been deleted (ISO-8601 format)." + }, + "apiType": { + "type": "string", + "readOnly": true, + "description": "The API type of the restorable database account.", + "$ref": "#/definitions/ApiType" + }, + "restorableLocations": { + "type": "array", + "readOnly": true, + "description": "List of regions where the of the database account can be restored from.", + "items": { + "$ref": "#/definitions/RestorableLocationResource" + } + } + } + }, + "ApiType": { + "description": "Enum to indicate the API type of the restorable database account.", + "type": "string", + "readOnly": true, + "enum": [ + "MongoDB", + "Gremlin", + "Cassandra", + "Table", + "Sql", + "GremlinV2" + ], + "x-ms-enum": { + "name": "ApiType", + "modelAsString": true + } + }, + "RestorableLocationResource": { + "type": "object", + "description": "Properties of the regional restorable account.", + "properties": { + "locationName": { + "type": "string", + "readOnly": true, + "description": "The location of the regional restorable account." + }, + "regionalDatabaseAccountInstanceId": { + "type": "string", + "readOnly": true, + "description": "The instance id of the regional restorable account." + }, + "creationTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The creation time of the regional restorable database account (ISO-8601 format)." + }, + "deletionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The time at which the regional restorable database account has been deleted (ISO-8601 format)." + } + } + }, + "RestorableSqlDatabasesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableSqlDatabaseGetResult" + }, + "description": "List of SQL database events and their properties." + } + }, + "description": "The List operation response, that contains the SQL database events and their properties." + }, + "RestorableSqlDatabaseGetResult": { + "description": "An Azure Cosmos DB SQL database event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a SQL database event.", + "$ref": "#/definitions/RestorableSqlDatabaseProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource Identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + } + }, + "RestorableSqlDatabaseProperties": { + "description": "The properties of an Azure Cosmos DB SQL database event", + "type": "object", + "properties": { + "resource": { + "type": "object", + "description": "The resource of an Azure Cosmos DB SQL database event", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this database event.", + "$ref": "#/definitions/OperationType" + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The time when this database event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of the SQL database." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of the SQL database." + }, + "database": { + "type": "object", + "description": "Cosmos DB SQL database resource object", + "properties": { + "_colls": { + "type": "string", + "readOnly": true, + "description": "A system generated property that specified the addressable path of the collections resource." + }, + "_users": { + "type": "string", + "readOnly": true, + "description": "A system generated property that specifies the addressable path of the users resource." + }, + "_self": { + "type": "string", + "readOnly": true, + "description": "A system generated property that specifies the addressable path of the database resource." + } + }, + "allOf": [ + { + "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/SqlDatabaseResource" + }, + { + "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/ExtendedResourceProperties" + } + ] + } + } + } + } + }, + "RestorableSqlContainersListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableSqlContainerGetResult" + }, + "description": "List of SQL container events and their properties." + } + }, + "description": "The List operation response, that contains the SQL container events and their properties." + }, + "RestorableSqlContainerGetResult": { + "description": "An Azure Cosmos DB SQL container event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a SQL container event.", + "$ref": "#/definitions/RestorableSqlContainerProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource Identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + } + }, + "RestorableSqlContainerProperties": { + "description": "The properties of an Azure Cosmos DB SQL container event", + "type": "object", + "properties": { + "resource": { + "description": "The resource of an Azure Cosmos DB SQL container event", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this container event.", + "$ref": "#/definitions/OperationType" + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The when this container event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of this SQL container." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of this SQL container." + }, + "container": { + "type": "object", + "description": "Cosmos DB SQL container resource object", + "properties": { + "_self": { + "type": "string", + "readOnly": true, + "description": "A system generated property that specifies the addressable path of the container resource." + } + }, + "allOf": [ + { + "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/SqlContainerResource" + }, + { + "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/ExtendedResourceProperties" + } + ] + } + } + } + } + }, + "RestorableSqlResourcesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/DatabaseRestoreResource" + }, + "description": "List of restorable SQL resources, including the database and collection names." + } + }, + "description": "The List operation response, that contains the restorable SQL resources." + }, + "RestorableMongodbDatabasesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableMongodbDatabaseGetResult" + }, + "description": "List of MongoDB database events and their properties." + } + }, + "description": "The List operation response, that contains the MongoDB database events and their properties." + }, + "RestorableMongodbDatabaseGetResult": { + "description": "An Azure Cosmos DB MongoDB database event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a MongoDB database event.", + "$ref": "#/definitions/RestorableMongodbDatabaseProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource Identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + } + }, + "RestorableMongodbDatabaseProperties": { + "description": "The properties of an Azure Cosmos DB MongoDB database event", + "type": "object", + "properties": { + "resource": { + "description": "The resource of an Azure Cosmos DB MongoDB database event", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this database event.", + "$ref": "#/definitions/OperationType" + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The time when this database event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of this MongoDB database." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of this MongoDB database." + } + } + } + } + }, + "RestorableMongodbCollectionsListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableMongodbCollectionGetResult" + }, + "description": "List of MongoDB collection events and their properties." + } + }, + "description": "The List operation response, that contains the MongoDB collection events and their properties." + }, + "RestorableMongodbCollectionGetResult": { + "description": "An Azure Cosmos DB MongoDB collection event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a MongoDB collection event.", + "$ref": "#/definitions/RestorableMongodbCollectionProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource Identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + } + }, + "RestorableMongodbCollectionProperties": { + "description": "The properties of an Azure Cosmos DB MongoDB collection event", + "type": "object", + "properties": { + "resource": { + "description": "The resource of an Azure Cosmos DB MongoDB collection event", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this collection event.", + "$ref": "#/definitions/OperationType" + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The time when this collection event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of this MongoDB collection." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of this MongoDB collection." + } + } + } + } + }, + "RestorableMongodbResourcesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/DatabaseRestoreResource" + }, + "description": "List of restorable MongoDB resources, including the database and collection names." + } + }, + "description": "The List operation response, that contains the restorable MongoDB resources." + }, + "OperationType": { + "description": "Enum to indicate the operation type of the event.", + "type": "string", + "readOnly": true, + "enum": [ + "Create", + "Replace", + "Delete", + "SystemOperation" + ], + "x-ms-enum": { + "name": "OperationType", + "modelAsString": true + } + }, + "ContinuousBackupRestoreLocation": { + "type": "object", + "description": "Properties of the regional restorable account.", + "properties": { + "location": { + "type": "string", + "description": "The name of the continuous backup restore location." + } + } + }, + "BackupInformation": { + "description": "Backup information of a resource.", + "type": "object", + "properties": { + "continuousBackupInformation": { + "description": "Information about the status of continuous backups.", + "type": "object", + "$ref": "#/definitions/ContinuousBackupInformation" + } + } + }, + "ContinuousBackupInformation": { + "description": "Information about the status of continuous backups.", + "type": "object", + "readOnly": true, + "properties": { + "latestRestorableTimestamp": { + "type": "string", + "description": "The latest restorable timestamp for a resource." + } + } + } + }, + "parameters": { + "restorableSqlDatabaseRidParameter": { + "name": "restorableSqlDatabaseRid", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The resource ID of the SQL database." + }, + "restorableMongodbDatabaseRidParameter": { + "name": "restorableMongodbDatabaseRid", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The resource ID of the MongoDB database." + }, + "restoreLocationParameter": { + "name": "restoreLocation", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The location where the restorable resources are located." + }, + "restoreTimestampInUtcParameter": { + "name": "restoreTimestampInUtc", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The timestamp when the restorable resources existed." + }, + "restoreStartTime": { + "name": "startTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The snapshot create timestamp after which snapshots need to be listed." + }, + "restoreEndTime": { + "name": "endTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The snapshot create timestamp before which snapshots need to be listed." + }, + "locationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB region, with spaces between words and each word capitalized." + }, + "instanceIdParameter": { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The instanceId GUID of a restorable database account." + } + } +} diff --git a/specification/cosmos-db/resource-manager/readme.go.md b/specification/cosmos-db/resource-manager/readme.go.md index a37eadd0b3d5..87814591a12d 100644 --- a/specification/cosmos-db/resource-manager/readme.go.md +++ b/specification/cosmos-db/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/cosmos/armcosmos +module-name: sdk/resourcemanager/cosmos/armcosmos module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true @@ -21,6 +21,7 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-10 - tag: package-2021-07-preview - tag: package-2021-06 - tag: package-2021-05 @@ -39,6 +40,15 @@ batch: - tag: package-2015-04 ``` +### Tag: package-2021-10 and go + +These settings apply only when `--tag=package-2021-10 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-10' && $(go) +output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2021-10-15/$(namespace) +``` + ### Tag: package-2021-07-preview and go These settings apply only when `--tag=package-2021-07-preview --go` is specified on the command line. diff --git a/specification/cosmos-db/resource-manager/readme.md b/specification/cosmos-db/resource-manager/readme.md index c830ba4ecc63..22ba6ccd0ce1 100644 --- a/specification/cosmos-db/resource-manager/readme.md +++ b/specification/cosmos-db/resource-manager/readme.md @@ -27,9 +27,44 @@ These are the global settings for the Cosmos-DB API. ``` yaml title: CosmosDBManagementClient openapi-type: arm -tag: package-2021-07-preview +tag: package-2021-10 ``` +### Tag: package-2021-10 + +These settings apply only when `--tag=package-2021-10` is specified on the command line. + +```yaml $(tag) == 'package-2021-10' +input-file: + - Microsoft.DocumentDB/stable/2021-10-15/cosmos-db.json + - Microsoft.DocumentDB/stable/2021-10-15/notebook.json + - Microsoft.DocumentDB/stable/2021-10-15/privateEndpointConnection.json + - Microsoft.DocumentDB/stable/2021-10-15/privateLinkResources.json + - Microsoft.DocumentDB/stable/2021-10-15/rbac.json + - Microsoft.DocumentDB/stable/2021-10-15/restorable.json + - Microsoft.DocumentDB/stable/2021-10-15/managedCassandra.json +modelerfour: + lenient-model-deduplication: true +``` + + +### Tag: package-preview-2021-10 + +These settings apply only when `--tag=package-preview-2021-10` is specified on the command line. + +```yaml $(tag) == 'package-preview-2021-10' +input-file: + - Microsoft.DocumentDB/preview/2021-10-15-preview/cosmos-db.json + - Microsoft.DocumentDB/preview/2021-10-15-preview/managedCassandra.json + - Microsoft.DocumentDB/preview/2021-10-15-preview/notebook.json + - Microsoft.DocumentDB/preview/2021-10-15-preview/privateEndpointConnection.json + - Microsoft.DocumentDB/preview/2021-10-15-preview/privateLinkResources.json + - Microsoft.DocumentDB/preview/2021-10-15-preview/rbac.json + - Microsoft.DocumentDB/preview/2021-10-15-preview/restorable.json + - Microsoft.DocumentDB/preview/2021-10-15-preview/services.json + - Microsoft.DocumentDB/preview/2021-10-15-preview/mongorbac.json + - Microsoft.DocumentDB/preview/2021-10-15-preview/dataTransferService.json +``` ### Tag: package-2021-07-preview These settings apply only when `--tag=package-2021-07-preview` is specified on the command line. @@ -52,7 +87,7 @@ modelerfour: These settings apply only when `--tag=package-2021-06` is specified on the command line. -```yaml $(tag) == 'package-2021-06' +``` yaml $(tag) == 'package-2021-06' input-file: - Microsoft.DocumentDB/stable/2021-06-15/cosmos-db.json - Microsoft.DocumentDB/stable/2021-06-15/notebook.json @@ -451,44 +486,3 @@ See configuration in [readme.go.md](./readme.go.md) ## Java See configuration in [readme.java.md](./readme.java.md) - -## Multi-API/Profile support for AutoRest v3 generators - -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. - -This block is updated by an automatic script. Edits may be lost! - -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ -# include the azure profile definitions from the standard location -require: $(this-folder)/../../../profiles/readme.md - -# all the input files across all versions -input-file: - - $(this-folder)/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json - - $(this-folder)/Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json - - $(this-folder)/Microsoft.DocumentDB/preview/2020-06-01-preview/rbac.json - - $(this-folder)/Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json - - $(this-folder)/Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json - - $(this-folder)/Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json - - $(this-folder)/Microsoft.DocumentDB/stable/2020-04-01/notebook.json - - $(this-folder)/Microsoft.DocumentDB/stable/2020-03-01/cosmos-db.json - - $(this-folder)/Microsoft.DocumentDB/stable/2020-03-01/notebook.json - - $(this-folder)/Microsoft.DocumentDB/stable/2019-12-12/cosmos-db.json - - $(this-folder)/Microsoft.DocumentDB/stable/2019-12-12/notebook.json - - $(this-folder)/Microsoft.DocumentDB/stable/2019-08-01/cosmos-db.json - - $(this-folder)/Microsoft.DocumentDB/stable/2019-08-01/notebook.json - - $(this-folder)/Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json - - $(this-folder)/Microsoft.DocumentDB/stable/2014-04-01/cosmos-db.json - - $(this-folder)/Microsoft.DocumentDB/stable/2015-11-06/cosmos-db.json - - $(this-folder)/Microsoft.DocumentDB/stable/2016-03-19/cosmos-db.json - - $(this-folder)/Microsoft.DocumentDB/stable/2016-03-31/cosmos-db.json - -``` - -If there are files that should not be in the `all-api-versions` set, -uncomment the `exclude-file` section below and add the file paths. - -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json index 1f6d3933e194..48b87c9ddd6e 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json @@ -2713,10 +2713,6 @@ "modelAsString": true } }, - "configuration": { - "description": "Has configuration information for the data in the export. The configuration will be ignored if aggregation and grouping are provided.", - "$ref": "#/definitions/QueryDatasetConfiguration" - }, "aggregation": { "type": "object", "description": "Dictionary of aggregation expression to use in the query. The key of each item in the dictionary is the alias for the aggregated column. Query can have up to 2 aggregation clauses.", diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.exports.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.exports.json new file mode 100644 index 000000000000..da3344170e25 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.exports.json @@ -0,0 +1,892 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01", + "title": "CostManagementClient" + }, + "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": { + "/{scope}/providers/Microsoft.CostManagement/exports": { + "get": { + "tags": [ + "Exports" + ], + "operationId": "Exports_List", + "description": "The operation to list all exports at the given scope.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExportsGetBySubscription": { + "$ref": "./examples/ExportsGetBySubscription.json" + }, + "ExportsGetByResourceGroup": { + "$ref": "./examples/ExportsGetByResourceGroup.json" + }, + "ExportsGetByBillingAccount": { + "$ref": "./examples/ExportsGetByBillingAccount.json" + }, + "ExportsGetByDepartment": { + "$ref": "./examples/ExportsGetByDepartment.json" + }, + "ExportsGetByEnrollmentAccount": { + "$ref": "./examples/ExportsGetByEnrollmentAccount.json" + }, + "ExportsGetByManagementGroup": { + "$ref": "./examples/ExportsGetByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeExportParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the properties within an export. Currently only 'runHistory' is supported and will return information for the last execution of each export.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ExportListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}": { + "get": { + "tags": [ + "Exports" + ], + "operationId": "Exports_Get", + "description": "The operation to get the export for the defined scope by export name.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExportGetBySubscription": { + "$ref": "./examples/ExportGetBySubscription.json" + }, + "ExportGetByResourceGroup": { + "$ref": "./examples/ExportGetByResourceGroup.json" + }, + "ExportGetByBillingAccount": { + "$ref": "./examples/ExportGetByBillingAccount.json" + }, + "ExportGetByDepartment": { + "$ref": "./examples/ExportGetByDepartment.json" + }, + "ExportGetByEnrollmentAccount": { + "$ref": "./examples/ExportGetByEnrollmentAccount.json" + }, + "ExportGetByManagementGroup": { + "$ref": "./examples/ExportGetByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeExportParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/exportNameParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the properties within an export. Currently only 'runHistory' is supported and will return information for the last 10 executions of the export.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Export" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Exports" + ], + "operationId": "Exports_CreateOrUpdate", + "description": "The operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExportCreateOrUpdateBySubscription": { + "$ref": "./examples/ExportCreateOrUpdateBySubscription.json" + }, + "ExportCreateOrUpdateByResourceGroup": { + "$ref": "./examples/ExportCreateOrUpdateByResourceGroup.json" + }, + "ExportCreateOrUpdateByBillingAccount": { + "$ref": "./examples/ExportCreateOrUpdateByBillingAccount.json" + }, + "ExportCreateOrUpdateByDepartment": { + "$ref": "./examples/ExportCreateOrUpdateByDepartment.json" + }, + "ExportCreateOrUpdateByEnrollmentAccount": { + "$ref": "./examples/ExportCreateOrUpdateByEnrollmentAccount.json" + }, + "ExportCreateOrUpdateByManagementGroup": { + "$ref": "./examples/ExportCreateOrUpdateByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeExportParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/exportNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Export" + }, + "description": "Parameters supplied to the CreateOrUpdate Export operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Export" + } + }, + "201": { + "description": "Created.", + "schema": { + "$ref": "#/definitions/Export" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Exports" + ], + "operationId": "Exports_Delete", + "description": "The operation to delete a export.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExportDeleteBySubscription": { + "$ref": "./examples/ExportDeleteBySubscription.json" + }, + "ExportDeleteByResourceGroup": { + "$ref": "./examples/ExportDeleteByResourceGroup.json" + }, + "ExportDeleteByBillingAccount": { + "$ref": "./examples/ExportDeleteByBillingAccount.json" + }, + "ExportDeleteByEnrollmentAccount": { + "$ref": "./examples/ExportDeleteByEnrollmentAccount.json" + }, + "ExportDeleteByDepartment": { + "$ref": "./examples/ExportDeleteByDepartment.json" + }, + "ExportDeleteByManagementGroup": { + "$ref": "./examples/ExportDeleteByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeExportParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/exportNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run": { + "post": { + "tags": [ + "Exports" + ], + "operationId": "Exports_Execute", + "description": "The operation to execute an export.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExportRunBySubscription": { + "$ref": "./examples/ExportRunBySubscription.json" + }, + "ExportRunByResourceGroup": { + "$ref": "./examples/ExportRunByResourceGroup.json" + }, + "ExportRunByBillingAccount": { + "$ref": "./examples/ExportRunByBillingAccount.json" + }, + "ExportRunByDepartment": { + "$ref": "./examples/ExportRunByDepartment.json" + }, + "ExportRunByEnrollmentAccount": { + "$ref": "./examples/ExportRunByEnrollmentAccount.json" + }, + "ExportRunByManagementGroup": { + "$ref": "./examples/ExportRunByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeExportParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/exportNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/runHistory": { + "get": { + "tags": [ + "Exports" + ], + "operationId": "Exports_GetExecutionHistory", + "description": "The operation to get the execution history of an export for the defined scope and export name.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExportRunHistoryGetBySubscription": { + "$ref": "./examples/ExportRunHistoryGetBySubscription.json" + }, + "ExportRunHistoryGetByResourceGroup": { + "$ref": "./examples/ExportRunHistoryGetByResourceGroup.json" + }, + "ExportRunHistoryGetByBillingAccount": { + "$ref": "./examples/ExportRunHistoryGetByBillingAccount.json" + }, + "ExportRunHistoryGetByDepartment": { + "$ref": "./examples/ExportRunHistoryGetByDepartment.json" + }, + "ExportRunHistoryGetByEnrollmentAccount": { + "$ref": "./examples/ExportRunHistoryGetByEnrollmentAccount.json" + }, + "ExportRunHistoryGetByManagementGroup": { + "$ref": "./examples/ExportRunHistoryGetByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeExportParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/exportNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ExportExecutionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "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" + } + } + }, + "ErrorDetails": { + "description": "The details of the error.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + } + } + }, + "Resource": { + "description": "The Resource model definition.", + "type": "object", + "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." + }, + "tags": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "x-ms-azure-resource": true + }, + "ProxyResource": { + "description": "The Resource model definition.", + "type": "object", + "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." + }, + "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 + }, + "ExportListResult": { + "description": "Result of listing exports. It contains a list of available exports in the scope provided.", + "type": "object", + "properties": { + "value": { + "description": "The list of exports.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Export" + } + } + } + }, + "Export": { + "description": "An export resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExportProperties", + "title": "Export properties" + } + } + }, + "ExportProperties": { + "description": "The properties of the export.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CommonExportProperties" + } + ], + "properties": { + "schedule": { + "description": "Has schedule information for the export.", + "$ref": "#/definitions/ExportSchedule" + } + } + }, + "CommonExportProperties": { + "description": "The common properties of the export.", + "type": "object", + "properties": { + "format": { + "description": "The format of the export being delivered. Currently only 'Csv' is supported.", + "type": "string", + "enum": [ + "Csv" + ], + "x-ms-enum": { + "name": "FormatType", + "modelAsString": true + } + }, + "deliveryInfo": { + "description": "Has delivery information for the export.", + "$ref": "#/definitions/ExportDeliveryInfo" + }, + "definition": { + "description": "Has the definition for the export.", + "$ref": "#/definitions/ExportDefinition" + }, + "runHistory": { + "description": "If requested, has the most recent execution history for the export.", + "$ref": "#/definitions/ExportExecutionListResult" + }, + "partitionData": { + "description": "If set to true, exported data will be partitioned by size and placed in a blob directory together with a manifest file. Note: this option is currently available only for modern commerce scopes.", + "type": "boolean" + }, + "nextRunTimeEstimate": { + "description": "If the export has an active schedule, provides an estimate of the next execution time.", + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "required": [ + "deliveryInfo", + "definition" + ] + }, + "ExportSchedule": { + "description": "The schedule associated with the export.", + "type": "object", + "properties": { + "status": { + "description": "The status of the export's schedule. If 'Inactive', the export's schedule is paused.", + "type": "string", + "enum": [ + "Active", + "Inactive" + ], + "x-ms-enum": { + "name": "StatusType", + "modelAsString": true + } + }, + "recurrence": { + "description": "The schedule recurrence.", + "type": "string", + "enum": [ + "Daily", + "Weekly", + "Monthly", + "Annually" + ], + "x-ms-enum": { + "name": "RecurrenceType", + "modelAsString": true + } + }, + "recurrencePeriod": { + "description": "Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date.", + "$ref": "#/definitions/ExportRecurrencePeriod" + } + } + }, + "ExportDeliveryInfo": { + "description": "The delivery information associated with a export.", + "type": "object", + "properties": { + "destination": { + "description": "Has destination for the export being delivered.", + "$ref": "#/definitions/ExportDeliveryDestination" + } + }, + "required": [ + "destination" + ] + }, + "ExportRecurrencePeriod": { + "description": "The start and end date for recurrence schedule.", + "type": "object", + "properties": { + "from": { + "description": "The start date of recurrence.", + "type": "string", + "format": "date-time" + }, + "to": { + "description": "The end date of recurrence.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "from" + ] + }, + "ExportDeliveryDestination": { + "description": "This represents the blob storage account location where exports of costs will be delivered. There are two ways to configure the destination. The approach recommended for most customers is to specify the resourceId of the storage account. This requires a one-time registration of the account's subscription with the Microsoft.CostManagementExports resource provider in order to give Azure Cost Management services access to the storage. When creating an export in the Azure portal this registration is performed automatically but API users may need to register the subscription explicitly (for more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services ). Another way to configure the destination is available ONLY to Partners with a Microsoft Partner Agreement plan who are global admins of their billing account. These Partners, instead of specifying the resourceId of a storage account, can specify the storage account name along with a SAS token for the account. This allows exports of costs to a storage account in any tenant. The SAS token should be created for the blob service with Service/Container/Object resource types and with Read/Write/Delete/List/Add/Create permissions (for more information see https://docs.microsoft.com/en-us/azure/cost-management-billing/costs/export-cost-data-storage-account-sas-key ).", + "type": "object", + "properties": { + "resourceId": { + "description": "The resource id of the storage account where exports will be delivered. This is not required if a sasToken and storageAccount are specified.", + "type": "string" + }, + "container": { + "description": "The name of the container where exports will be uploaded. If the container does not exist it will be created.", + "type": "string" + }, + "rootFolderPath": { + "description": "The name of the directory where exports will be uploaded.", + "type": "string" + }, + "sasToken": { + "description": "A SAS token for the storage account. For a restricted set of Azure customers this together with storageAccount can be specified instead of resourceId. Note: the value returned by the API for this property will always be obfuscated. Returning this same obfuscated value will not result in the SAS token being updated. To update this value a new SAS token must be specified.", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create", + "update" + ] + }, + "storageAccount": { + "description": "The storage account where exports will be uploaded. For a restricted set of Azure customers this together with sasToken can be specified instead of resourceId.", + "type": "string" + } + }, + "required": [ + "container" + ] + }, + "ExportDefinition": { + "description": "The definition of an export.", + "type": "object", + "properties": { + "type": { + "description": "The type of the export. Note that 'Usage' is equivalent to 'ActualCost' and is applicable to exports that do not yet provide data for charges or amortization for service reservations.", + "type": "string", + "enum": [ + "Usage", + "ActualCost", + "AmortizedCost" + ], + "x-ms-enum": { + "name": "ExportType", + "modelAsString": true + } + }, + "timeframe": { + "description": "The time frame for pulling data for the export. If custom, then a specific time period must be provided.", + "type": "string", + "enum": [ + "MonthToDate", + "BillingMonthToDate", + "TheLastMonth", + "TheLastBillingMonth", + "WeekToDate", + "Custom" + ], + "x-ms-enum": { + "name": "TimeframeType", + "modelAsString": true + } + }, + "timePeriod": { + "description": "Has time period for pulling data for the export.", + "$ref": "#/definitions/ExportTimePeriod" + }, + "dataSet": { + "description": "The definition for data in the export.", + "$ref": "#/definitions/ExportDataset" + } + }, + "required": [ + "type", + "timeframe" + ] + }, + "ExportDataset": { + "description": "The definition for data in the export.", + "type": "object", + "properties": { + "granularity": { + "description": "The granularity of rows in the export. Currently only 'Daily' is supported.", + "type": "string", + "enum": [ + "Daily" + ], + "x-ms-enum": { + "name": "GranularityType", + "modelAsString": true + } + }, + "configuration": { + "description": "The export dataset configuration.", + "$ref": "#/definitions/ExportDatasetConfiguration" + } + } + }, + "ExportDatasetConfiguration": { + "description": "The export dataset configuration. Allows columns to be selected for the export. If not provided then the export will include all available columns.", + "type": "object", + "properties": { + "columns": { + "description": "Array of column names to be included in the export. If not provided then the export will include all available columns. The available columns can vary by customer channel (see examples).", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ExportTimePeriod": { + "description": "The date range for data in the export. This should only be specified with timeFrame set to 'Custom'. The maximum date range is 3 months.", + "type": "object", + "properties": { + "from": { + "description": "The start date for export data.", + "type": "string", + "format": "date-time" + }, + "to": { + "description": "The end date for export data.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "from", + "to" + ] + }, + "ExportExecutionListResult": { + "description": "Result of listing the execution history of an export.", + "type": "object", + "properties": { + "value": { + "description": "A list of export executions.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ExportExecution" + } + } + } + }, + "ExportExecution": { + "description": "An export execution.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExportExecutionProperties", + "title": "Export execution properties" + } + } + }, + "ExportExecutionProperties": { + "description": "The properties of the export execution.", + "type": "object", + "properties": { + "executionType": { + "description": "The type of the export execution.", + "type": "string", + "enum": [ + "OnDemand", + "Scheduled" + ], + "x-ms-enum": { + "name": "ExecutionType", + "modelAsString": true + } + }, + "status": { + "description": "The last known status of the export execution.", + "type": "string", + "enum": [ + "Queued", + "InProgress", + "Completed", + "Failed", + "Timeout", + "NewDataNotAvailable", + "DataNotAvailable" + ], + "x-ms-enum": { + "name": "ExecutionStatus", + "modelAsString": true + } + }, + "submittedBy": { + "description": "The identifier for the entity that executed the export. For OnDemand executions it is the user email. For scheduled executions it is 'System'.", + "type": "string" + }, + "submittedTime": { + "description": "The time when export was queued to be executed.", + "type": "string", + "format": "date-time" + }, + "processingStartTime": { + "description": "The time when export was picked up to be executed.", + "type": "string", + "format": "date-time" + }, + "processingEndTime": { + "description": "The time when the export execution finished.", + "type": "string", + "format": "date-time" + }, + "fileName": { + "description": "The name of the exported file.", + "type": "string" + }, + "runSettings": { + "description": "The export settings that were in effect for this execution.", + "$ref": "#/definitions/CommonExportProperties" + }, + "error": { + "description": "The details of any error.", + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request." + }, + "scopeExportParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with export operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and '/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}/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 + }, + "exportNameParameter": { + "name": "exportName", + "in": "path", + "description": "Export Name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.generatedetailedcostreport.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.generatedetailedcostreport.json new file mode 100644 index 000000000000..656b7609d1ff --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.generatedetailedcostreport.json @@ -0,0 +1,408 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01", + "title": "CostManagementClient" + }, + "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": { + "/{scope}/providers/Microsoft.CostManagement/generateDetailedCostReport": { + "post": { + "tags": [ + "UsageDetails" + ], + "operationId": "GenerateDetailedCostReport_CreateOperation", + "description": "Generates the detailed cost report for provided date range, billing period(Only enterprise customers) or Invoice Id asynchronously at a certain scope. Call returns a 202 with header Azure-Consumption-AsyncOperation providing a link to the operation created. A call on the operation will provide the status and if the operation is completed the blob file where generated detailed cost report is being stored.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "GenerateDetailedCostReportByBillingProfileAndInvoiceId": { + "$ref": "./examples/GenerateDetailedCostReportByBillingProfileAndInvoiceId.json" + }, + "GenerateDetailedCostReportBySubscriptionAndTimePeriod": { + "$ref": "./examples/GenerateDetailedCostReportBySubscriptionAndTimePeriod.json" + }, + "GenerateDetailedCostReportByCustomerAndTimePeriod": { + "$ref": "./examples/GenerateDetailedCostReportByCustomerAndTimePeriod.json" + }, + "GenerateDetailedCostReportByBillingProfileAndInvoiceIdAndCustomerId": { + "$ref": "./examples/GenerateDetailedCostReportByBillingProfileAndInvoiceIdAndCustomerId.json" + }, + "GenerateDetailedCostReportByBillingAccountLegacyAndBillingPeriod": { + "$ref": "./examples/GenerateDetailedCostReportByBillingAccountLegacyAndBillingPeriod.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "#/parameters/scopeUsageDetailsParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateDetailedCostReportDefinition" + }, + "description": "Parameters supplied to the Create detailed cost report operation." + } + ], + "responses": { + "200": { + "description": "Request processing completed.", + "schema": { + "$ref": "#/definitions/GenerateDetailedCostReportOperationResult" + } + }, + "202": { + "description": "Accepted. Request will be processed. Use the Location header to check the status.", + "headers": { + "Location": { + "description": "The URL to check the result of the asynchronous operation.", + "type": "string" + }, + "Azure-Consumption-AsyncOperation": { + "description": "The URL to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL to check 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.", + "format": "int32", + "type": "integer" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/GenerateDetailedCostReportErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/operationResults/{operationId}": { + "get": { + "tags": [ + "GenerateDetailedCostReportOperationResults" + ], + "operationId": "GenerateDetailedCostReportOperationResults_Get", + "description": "Get the result of the specified operation. This link is provided in the GenerateDetailedCostReport creation request response header.", + "x-ms-examples": { + "Get details of the operation result": { + "$ref": "./examples/GenerateDetailedCostReportOperationResultsBySubscriptionScope.json" + } + }, + "parameters": [ + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The target operation Id." + }, + { + "$ref": "#/parameters/scopeUsageDetailsParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/GenerateDetailedCostReportOperationResult" + } + }, + "202": { + "description": "Accepted. The operation is ongoing." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/operationStatus/{operationId}": { + "get": { + "tags": [ + "GenerateDetailedCostReportOperationStatus" + ], + "operationId": "GenerateDetailedCostReportOperationStatus_Get", + "description": "Get the status of the specified operation. This link is provided in the GenerateDetailedCostReport creation request response header.", + "x-ms-examples": { + "Get details of the operation status": { + "$ref": "./examples/GenerateDetailedCostReportOperationStatusBySubscriptionScope.json" + } + }, + "parameters": [ + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The target operation Id." + }, + { + "$ref": "#/parameters/scopeUsageDetailsParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/GenerateDetailedCostReportOperationStatuses" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "GenerateDetailedCostReportErrorResponse": { + "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 * 413 Request Entity Too Large - Request is throttled. The amount of data required to fulfill the request exceeds the maximum size permitted of 2Gb. Please utilize our Exports feature instead. \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" + } + } + }, + "GenerateDetailedCostReportDefinition": { + "description": "The definition of a cost detailed report.", + "properties": { + "metric": { + "description": "The type of the detailed report. By default ActualCost is provided", + "type": "string", + "enum": [ + "ActualCost", + "AmortizedCost" + ], + "x-ms-enum": { + "name": "GenerateDetailedCostReportMetricType", + "modelAsString": true + } + }, + "timePeriod": { + "description": "Has time period for pulling data for the cost detailed report. Can only have one of either timePeriod or invoiceId or billingPeriod parameters. If none provided current month cost is provided.", + "$ref": "#/definitions/GenerateDetailedCostReportTimePeriod" + }, + "billingPeriod": { + "description": "Billing Period in YearMonth(e.g. 202008) format. Only for legacy enterprise customers can use this. Can only have one of either timePeriod or invoiceId or billingPeriod parameters. If none provided current month cost is provided.", + "type": "string" + }, + "invoiceId": { + "description": "Invoice Id for PayAsYouGo customers and Modern billing profile scope. Can only have one of either timePeriod or invoiceId or billingPeriod parameters. If none provided current month cost is provided.", + "type": "string" + }, + "customerId": { + "description": "Customer Id for Modern (Invoice Id and billing profile is also required for this).", + "type": "string" + } + } + }, + "GenerateDetailedCostReportTimePeriod": { + "description": "The start and end date for pulling data for the cost detailed report.", + "properties": { + "start": { + "description": "The start date to pull data from. example format 2020-03-15", + "type": "string" + }, + "end": { + "description": "The end date to pull data to. example format 2020-03-15", + "type": "string" + } + }, + "required": [ + "start", + "end" + ] + }, + "GenerateDetailedCostReportOperationStatuses": { + "description": "The status of the long running operation for cost detailed report.", + "properties": { + "id": { + "description": "The id of the long running operation.", + "type": "string" + }, + "name": { + "description": "The name of the long running operation.", + "type": "string" + }, + "status": { + "description": "The status of the long running operation.", + "$ref": "#/definitions/Status" + }, + "type": { + "description": "The type of the long running operation.", + "type": "string" + }, + "error": { + "description": "The details of the error.", + "$ref": "#/definitions/ErrorDetails" + }, + "properties": { + "x-ms-client-flatten": true, + "type": "object", + "description": "The properties of the resource generated.", + "$ref": "#/definitions/DownloadURL" + } + } + }, + "GenerateDetailedCostReportOperationResult": { + "description": "The result of the long running operation for cost detailed report.", + "properties": { + "id": { + "description": "The id of the long running operation.", + "type": "string" + }, + "name": { + "description": "The name of the long running operation.", + "type": "string" + }, + "type": { + "description": "The type of the long running operation.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "type": "object", + "description": "The properties of the resource generated.", + "$ref": "#/definitions/DownloadURL" + } + } + }, + "DownloadURL": { + "description": "The URL to download the generated report.", + "properties": { + "downloadUrl": { + "description": "The URL to download the generated report.", + "type": "string" + }, + "validTill": { + "description": "The time at which report URL becomes invalid/expires in UTC e.g. 2020-12-08T05:55:59.4394737Z.", + "type": "string", + "format": "date-time" + } + } + }, + "ErrorDetails": { + "description": "The details of the error.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "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. \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" + } + } + }, + "Status": { + "description": "The status of the long running operation.", + "properties": { + "status": { + "description": "The status of the long running operation.", + "type": "string", + "enum": [ + "InProgress", + "Completed", + "Failed", + "Queued", + "NoDataFound", + "ReadyToDownload", + "TimedOut" + ], + "x-ms-enum": { + "name": "OperationStatusType", + "modelAsString": true + } + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request." + }, + "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. 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 + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.json new file mode 100644 index 000000000000..11c3cb13429c --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.json @@ -0,0 +1,2650 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01", + "title": "CostManagementClient" + }, + "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": { + "/providers/Microsoft.CostManagement/views": { + "get": { + "tags": [ + "Views" + ], + "operationId": "Views_List", + "description": "Lists all views by tenant and object.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "PrivateViewList": { + "$ref": "./examples/PrivateViewList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ViewListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/views": { + "get": { + "tags": [ + "Views" + ], + "operationId": "Views_ListByScope", + "description": "Lists all views at the given scope.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ResourceGroupViewList": { + "$ref": "./examples/ViewListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeViewParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ViewListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.CostManagement/views/{viewName}": { + "get": { + "tags": [ + "Views" + ], + "operationId": "Views_Get", + "description": "Gets the view by view name.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "PrivateView": { + "$ref": "./examples/PrivateView.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/View" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Views" + ], + "operationId": "Views_CreateOrUpdate", + "description": "The operation to create or update a view. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "CreateOrUpdatePrivateView": { + "$ref": "./examples/PrivateViewCreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/View" + }, + "description": "Parameters supplied to the CreateOrUpdate View operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/View" + } + }, + "201": { + "description": "Created.", + "schema": { + "$ref": "#/definitions/View" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Views" + ], + "operationId": "Views_Delete", + "description": "The operation to delete a view.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "DeletePrivateView": { + "$ref": "./examples/PrivateViewDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "204": { + "description": "NoContent. Resource is not available." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/views/{viewName}": { + "get": { + "tags": [ + "Views" + ], + "operationId": "Views_GetByScope", + "description": "Gets the view for the defined scope by view name.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ResourceGroupView": { + "$ref": "./examples/ViewByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeViewParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/View" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Views" + ], + "operationId": "Views_CreateOrUpdateByScope", + "description": "The operation to create or update a view. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ResourceGroupCreateOrUpdateView": { + "$ref": "./examples/ViewCreateOrUpdateByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeViewParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/View" + }, + "description": "Parameters supplied to the CreateOrUpdate View operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/View" + } + }, + "201": { + "description": "Created.", + "schema": { + "$ref": "#/definitions/View" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Views" + ], + "operationId": "Views_DeleteByScope", + "description": "The operation to delete a view.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ResourceGroupDeleteView": { + "$ref": "./examples/ViewDeleteByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeViewParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "204": { + "description": "NoContent. Resource is not available." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/alerts": { + "get": { + "tags": [ + "Alerts" + ], + "operationId": "Alerts_List", + "description": "Lists the alerts for scope defined.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "BillingAccountAlerts": { + "$ref": "./examples/BillingAccountAlerts.json" + }, + "BillingProfileAlerts": { + "$ref": "./examples/BillingProfileAlerts.json" + }, + "InvoiceSectionAlerts": { + "$ref": "./examples/InvoiceSectionAlerts.json" + }, + "EnrollmentAccountAlerts": { + "$ref": "./examples/EnrollmentAccountAlerts.json" + }, + "DepartmentAlerts": { + "$ref": "./examples/DepartmentAlerts.json" + }, + "SubscriptionAlerts": { + "$ref": "./examples/SubscriptionAlerts.json" + }, + "ResourceGroupAlerts": { + "$ref": "./examples/ResourceGroupAlerts.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/scopeAlertParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AlertsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/alerts/{alertId}": { + "get": { + "tags": [ + "Alerts" + ], + "operationId": "Alerts_Get", + "description": "Gets the alert for the scope by alert ID.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "SingleSubscriptionAlerts": { + "$ref": "./examples/SingleSubscriptionAlert.json" + }, + "SingleResourceGroupAlerts": { + "$ref": "./examples/SingleResourceGroupAlert.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/scopeAlertParameter" + }, + { + "$ref": "#/parameters/alertIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Alert" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Alerts" + ], + "operationId": "Alerts_Dismiss", + "description": "Dismisses the specified alert", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "PatchSubscriptionAlerts": { + "$ref": "./examples/DismissSubscriptionAlerts.json" + }, + "PatchResourceGroupAlerts": { + "$ref": "./examples/DismissResourceGroupAlerts.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/scopeAlertParameter" + }, + { + "$ref": "#/parameters/alertIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DismissAlertPayload" + }, + "description": "Parameters supplied to the Dismiss Alert operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Alert" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/alerts": { + "get": { + "tags": [ + "Alerts" + ], + "operationId": "Alerts_ListExternal", + "description": "Lists the Alerts for external cloud provider type defined.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExternalBillingAccountAlerts": { + "$ref": "./examples/ExternalBillingAccountAlerts.json" + }, + "ExternalSubscriptionAlerts": { + "$ref": "./examples/ExternalSubscriptionAlerts.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/externalCloudProviderTypeParameter" + }, + { + "$ref": "#/parameters/externalCloudProviderIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AlertsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/forecast": { + "post": { + "tags": [ + "Forecast" + ], + "operationId": "Forecast_Usage", + "description": "Lists the forecast charges for scope defined.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "BillingAccountForecast": { + "$ref": "./examples/BillingAccountForecast.json" + }, + "BillingProfileForecast": { + "$ref": "./examples/BillingProfileForecast.json" + }, + "InvoiceSectionForecast": { + "$ref": "./examples/InvoiceSectionForecast.json" + }, + "EnrollmentAccountForecast": { + "$ref": "./examples/EnrollmentAccountForecast.json" + }, + "DepartmentForecast": { + "$ref": "./examples/DepartmentForecast.json" + }, + "SubscriptionForecast": { + "$ref": "./examples/SubscriptionForecast.json" + }, + "ResourceGroupForecast": { + "$ref": "./examples/ResourceGroupForecast.json" + } + }, + "parameters": [ + { + "name": "$filter", + "description": "May be used to filter forecasts by properties/usageDate (Utc time), properties/chargeType or properties/grain. 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" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/scopeForecastParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ForecastDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Forecast Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "204": { + "description": "No Content. Resource is not available." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/forecast": { + "post": { + "tags": [ + "Forecast" + ], + "operationId": "Forecast_ExternalCloudProviderUsage", + "description": "Lists the forecast charges for external cloud provider type defined.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExternalBillingAccountForecast": { + "$ref": "./examples/ExternalBillingAccountForecast.json" + }, + "ExternalSubscriptionForecast": { + "$ref": "./examples/ExternalSubscriptionForecast.json" + } + }, + "parameters": [ + { + "name": "$filter", + "description": "May be used to filter forecasts by properties/usageDate (Utc time), properties/chargeType or properties/grain. 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" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/externalCloudProviderTypeParameter" + }, + { + "$ref": "#/parameters/externalCloudProviderIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ForecastDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Forecast Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/dimensions": { + "get": { + "tags": [ + "Dimensions" + ], + "x-ms-odata": "#/definitions/Dimension", + "operationId": "Dimensions_List", + "description": "Lists the dimensions by the defined scope.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "SubscriptionDimensionsList-Legacy": { + "$ref": "./examples/SubscriptionDimensionsList.json" + }, + "ResourceGroupDimensionsList-Legacy": { + "$ref": "./examples/ResourceGroupDimensionsList.json" + }, + "ManagementGroupDimensionsList-Legacy": { + "$ref": "./examples/ManagementGroupDimensionsList.json" + }, + "ManagementGroupDimensionsListExpandAndTop-Legacy": { + "$ref": "./examples/ManagementGroupDimensionsListExpandAndTop.json" + }, + "ManagementGroupDimensionsListWithFilter-Legacy": { + "$ref": "./examples/ManagementGroupDimensionsListWithFilter.json" + }, + "DepartmentDimensionsList-Legacy": { + "$ref": "./examples/DepartmentDimensionsList.json" + }, + "DepartmentDimensionsListExpandAndTop-Legacy": { + "$ref": "./examples/DepartmentDimensionsListExpandAndTop.json" + }, + "DepartmentDimensionsListWithFilter-Legacy": { + "$ref": "./examples/DepartmentDimensionsListWithFilter.json" + }, + "EnrollmentAccountDimensionsList-Legacy": { + "$ref": "./examples/EnrollmentAccountDimensionsList.json" + }, + "EnrollmentAccountDimensionsListExpandAndTop-Legacy": { + "$ref": "./examples/EnrollmentAccountDimensionsListExpandAndTop.json" + }, + "EnrollmentAccountDimensionsListWithFilter-Legacy": { + "$ref": "./examples/EnrollmentAccountDimensionsListWithFilter.json" + }, + "BillingAccountDimensionsList-Legacy": { + "$ref": "./examples/BillingAccountDimensionsList.json" + }, + "BillingAccountDimensionsListExpandAndTop-Legacy": { + "$ref": "./examples/BillingAccountDimensionsListExpandAndTop.json" + }, + "BillingAccountDimensionsListWithFilter-Legacy": { + "$ref": "./examples/BillingAccountDimensionsListWithFilter.json" + }, + "BillingAccountDimensionsList-Modern": { + "$ref": "./examples/MCABillingAccountDimensionsList.json" + }, + "BillingAccountDimensionsListExpandAndTop-Modern": { + "$ref": "./examples/MCABillingAccountDimensionsListExpandAndTop.json" + }, + "BillingAccountDimensionsListWithFilter-Modern": { + "$ref": "./examples/MCABillingAccountDimensionsListWithFilter.json" + }, + "BillingProfileDimensionsList-Modern": { + "$ref": "./examples/MCABillingProfileDimensionsList.json" + }, + "BillingProfileDimensionsListExpandAndTop-Modern": { + "$ref": "./examples/MCABillingProfileDimensionsListExpandAndTop.json" + }, + "BillingProfileDimensionsListWithFilter-Modern": { + "$ref": "./examples/MCABillingProfileDimensionsListWithFilter.json" + }, + "InvoiceSectionDimensionsList-Modern": { + "$ref": "./examples/MCAInvoiceSectionDimensionsList.json" + }, + "InvoiceSectionDimensionsListExpandAndTop-Modern": { + "$ref": "./examples/MCAInvoiceSectionDimensionsListExpandAndTop.json" + }, + "InvoiceSectionDimensionsListWithFilter-Modern": { + "$ref": "./examples/MCAInvoiceSectionDimensionsListWithFilter.json" + }, + "CustomerDimensionsList-Modern": { + "$ref": "./examples/MCACustomerDimensionsList.json" + }, + "CustomerDimensionsListExpandAndTop-Modern": { + "$ref": "./examples/MCACustomerDimensionsListExpandAndTop.json" + }, + "CustomerDimensionsListWithFilter-Modern": { + "$ref": "./examples/MCACustomerDimensionsListWithFilter.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeDimensionParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$expand", + "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.", + "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 most recent N dimension data.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000, + "format": "int32" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DimensionsListResult" + } + }, + "204": { + "description": "No Content. Resource is not available." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/dimensions": { + "get": { + "tags": [ + "Dimensions" + ], + "x-ms-odata": "#/definitions/Dimension", + "operationId": "Dimensions_ByExternalCloudProviderType", + "description": "Lists the dimensions by the external cloud provider type.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExternalBillingAccountDimensionList": { + "$ref": "./examples/ExternalBillingAccountsDimensions.json" + }, + "ExternalSubscriptionDimensionList": { + "$ref": "./examples/ExternalSubscriptionsDimensions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/externalCloudProviderTypeParameter" + }, + { + "$ref": "#/parameters/externalCloudProviderIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$expand", + "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.", + "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 most recent N dimension data.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000, + "format": "int32" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DimensionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/query": { + "post": { + "tags": [ + "Query" + ], + "operationId": "Query_Usage", + "description": "Query the usage data for scope defined.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "SubscriptionQuery-Legacy": { + "$ref": "./examples/SubscriptionQuery.json" + }, + "SubscriptionQueryGrouping-Legacy": { + "$ref": "./examples/SubscriptionQueryGrouping.json" + }, + "ResourceGroupQuery-Legacy": { + "$ref": "./examples/ResourceGroupQuery.json" + }, + "ResourceGroupQueryGrouping-Legacy": { + "$ref": "./examples/ResourceGroupQueryGrouping.json" + }, + "BillingAccountQuery-Legacy": { + "$ref": "./examples/BillingAccountQuery.json" + }, + "BillingAccountQueryGrouping-Legacy": { + "$ref": "./examples/BillingAccountQueryGrouping.json" + }, + "EnrollmentAccountQuery-Legacy": { + "$ref": "./examples/EnrollmentAccountQuery.json" + }, + "EnrollmentAccountQueryGrouping-Legacy": { + "$ref": "./examples/EnrollmentAccountQueryGrouping.json" + }, + "DepartmentQuery-Legacy": { + "$ref": "./examples/DepartmentQuery.json" + }, + "DepartmentQueryGrouping-Legacy": { + "$ref": "./examples/DepartmentQueryGrouping.json" + }, + "ManagementGroupQuery-Legacy": { + "$ref": "./examples/ManagementGroupQuery.json" + }, + "ManagementGroupQueryGrouping-Legacy": { + "$ref": "./examples/ManagementGroupQueryGrouping.json" + }, + "BillingAccountQuery-Modern": { + "$ref": "./examples/MCABillingAccountQuery.json" + }, + "BillingAccountQueryGrouping-Modern": { + "$ref": "./examples/MCABillingAccountQueryGrouping.json" + }, + "BillingProfileQuery-Modern": { + "$ref": "./examples/MCABillingProfileQuery.json" + }, + "BillingProfileQueryGrouping-Modern": { + "$ref": "./examples/MCABillingProfileQueryGrouping.json" + }, + "InvoiceSectionQuery-Modern": { + "$ref": "./examples/MCAInvoiceSectionQuery.json" + }, + "InvoiceSectionQueryGrouping-Modern": { + "$ref": "./examples/MCAInvoiceSectionQueryGrouping.json" + }, + "CustomerQuery-Modern": { + "$ref": "./examples/MCACustomerQuery.json" + }, + "CustomerQueryGrouping-Modern": { + "$ref": "./examples/MCACustomerQueryGrouping.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeQueryParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QueryDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Query Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "204": { + "description": "No Content. Resource is not available." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/query": { + "post": { + "tags": [ + "Query" + ], + "operationId": "Query_UsageByExternalCloudProviderType", + "description": "Query the usage data for external cloud provider type defined.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExternalBillingAccountQueryList": { + "$ref": "./examples/ExternalBillingAccountsQuery.json" + }, + "ExternalSubscriptionsQuery": { + "$ref": "./examples/ExternalSubscriptionsQuery.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/externalCloudProviderTypeParameter" + }, + { + "$ref": "#/parameters/externalCloudProviderIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QueryDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Query Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.CostManagement/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available cost management 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": { + "ReportConfigDefinition": { + "description": "The definition of a report config.", + "type": "object", + "properties": { + "type": { + "description": "The type of the report. Usage represents actual usage, forecast represents forecasted data and UsageAndForecast represents both usage and forecasted data. Actual usage and forecasted data can be differentiated based on dates.", + "type": "string", + "enum": [ + "Usage" + ], + "x-ms-enum": { + "name": "ReportType", + "modelAsString": true + } + }, + "timeframe": { + "description": "The time frame for pulling data for the report. If custom, then a specific time period must be provided.", + "type": "string", + "enum": [ + "WeekToDate", + "MonthToDate", + "YearToDate", + "Custom" + ], + "x-ms-enum": { + "name": "ReportTimeframeType", + "modelAsString": true + } + }, + "timePeriod": { + "description": "Has time period for pulling data for the report.", + "$ref": "#/definitions/ReportConfigTimePeriod" + }, + "dataSet": { + "description": "Has definition for data in this report config.", + "$ref": "#/definitions/ReportConfigDataset" + }, + "includeMonetaryCommitment": { + "description": "If true, report includes monetary commitment.", + "type": "boolean" + } + }, + "required": [ + "type", + "timeframe" + ] + }, + "ReportConfigTimePeriod": { + "description": "The start and end date for pulling data for the report.", + "type": "object", + "properties": { + "from": { + "description": "The start date to pull data from.", + "type": "string", + "format": "date-time" + }, + "to": { + "description": "The end date to pull data to.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "from", + "to" + ] + }, + "ReportConfigDataset": { + "description": "The definition of data present in the report.", + "type": "object", + "properties": { + "granularity": { + "description": "The granularity of rows in the report.", + "type": "string", + "enum": [ + "Daily", + "Monthly" + ], + "x-ms-enum": { + "name": "ReportGranularityType", + "modelAsString": true + } + }, + "configuration": { + "description": "Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided.", + "$ref": "#/definitions/ReportConfigDatasetConfiguration" + }, + "aggregation": { + "type": "object", + "description": "Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses.", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/ReportConfigAggregation" + }, + "maxItems": 2 + }, + "grouping": { + "description": "Array of group by expression to use in the report. Report can have up to 2 group by clauses.", + "type": "array", + "items": { + "$ref": "#/definitions/ReportConfigGrouping" + }, + "maxItems": 2 + }, + "sorting": { + "description": "Array of order by expression to use in the report.", + "type": "array", + "items": { + "$ref": "#/definitions/ReportConfigSorting" + } + }, + "filter": { + "type": "object", + "description": "Has filter expression to use in the report.", + "$ref": "#/definitions/ReportConfigFilter" + } + } + }, + "ReportConfigDatasetConfiguration": { + "description": "The configuration of dataset in the report.", + "type": "object", + "properties": { + "columns": { + "description": "Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ReportConfigAggregation": { + "description": "The aggregation expression to be used in the report.", + "type": "object", + "properties": { + "name": { + "description": "The name of the column to aggregate.", + "type": "string" + }, + "function": { + "description": "The name of the aggregation function to use.", + "type": "string", + "enum": [ + "Sum" + ], + "x-ms-enum": { + "name": "FunctionType", + "modelAsString": true + } + } + }, + "required": [ + "name", + "function" + ] + }, + "ReportConfigSorting": { + "description": "The order by expression to be used in the report.", + "type": "object", + "properties": { + "direction": { + "description": "Direction of sort.", + "type": "string", + "enum": [ + "Ascending", + "Descending" + ] + }, + "name": { + "description": "The name of the column to sort.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "ReportConfigGrouping": { + "description": "The group by expression to be used in the report.", + "type": "object", + "properties": { + "type": { + "description": "Has type of the column to group.", + "$ref": "#/definitions/ReportConfigColumnType" + }, + "name": { + "description": "The name of the column to group. This version supports subscription lowest possible grain.", + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ReportConfigFilter": { + "description": "The filter expression to be used in the report.", + "type": "object", + "properties": { + "and": { + "description": "The logical \"AND\" expression. Must have at least 2 items.", + "type": "array", + "items": { + "$ref": "#/definitions/ReportConfigFilter" + }, + "minItems": 2 + }, + "or": { + "description": "The logical \"OR\" expression. Must have at least 2 items.", + "type": "array", + "items": { + "$ref": "#/definitions/ReportConfigFilter" + }, + "minItems": 2 + }, + "not": { + "description": "The logical \"NOT\" expression.", + "$ref": "#/definitions/ReportConfigFilter" + }, + "dimension": { + "description": "Has comparison expression for a dimension", + "$ref": "#/definitions/ReportConfigComparisonExpression" + }, + "tag": { + "description": "Has comparison expression for a tag", + "$ref": "#/definitions/ReportConfigComparisonExpression" + } + } + }, + "ReportConfigColumnType": { + "description": "The type of the column in the report.", + "type": "string", + "enum": [ + "Tag", + "Dimension" + ], + "x-ms-enum": { + "name": "ReportConfigColumnType", + "modelAsString": true + } + }, + "ReportConfigComparisonExpression": { + "description": "The comparison expression to be used in the report.", + "type": "object", + "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", + "Contains" + ], + "x-ms-enum": { + "name": "OperatorType", + "modelAsString": true + } + }, + "values": { + "description": "Array of values to use for comparison", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "name", + "operator", + "values" + ] + }, + "ViewListResult": { + "description": "Result of listing views. It contains a list of available views.", + "type": "object", + "properties": { + "value": { + "description": "The list of views.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/View" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "View": { + "description": "States and configurations of Cost Analysis.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ViewProperties", + "title": "View properties" + } + } + }, + "ViewProperties": { + "type": "object", + "description": "The properties of the view.", + "properties": { + "displayName": { + "description": "User input name of the view. Required.", + "type": "string" + }, + "scope": { + "description": "Cost Management scope to save the view on. 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.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for ExternalBillingAccount scope, and '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for ExternalSubscription scope.", + "type": "string" + }, + "createdOn": { + "description": "Date the user created this view.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "modifiedOn": { + "description": "Date when the user last modified this view.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "dateRange": { + "description": "Date range of the current view.", + "type": "string", + "readOnly": true + }, + "currency": { + "description": "Currency of the current view.", + "type": "string", + "readOnly": true + }, + "query": { + "description": "Query body configuration. Required.", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ReportConfigDefinition" + }, + "chart": { + "description": "Chart type of the main view in Cost Analysis. Required.", + "type": "string", + "enum": [ + "Area", + "Line", + "StackedColumn", + "GroupedColumn", + "Table" + ], + "x-ms-enum": { + "name": "ChartType", + "modelAsString": true + } + }, + "accumulated": { + "description": "Show costs accumulated over time.", + "type": "string", + "enum": [ + "true", + "false" + ], + "x-ms-enum": { + "name": "AccumulatedType", + "modelAsString": true + } + }, + "metric": { + "description": "Metric to use when displaying costs.", + "type": "string", + "enum": [ + "ActualCost", + "AmortizedCost", + "AHUB" + ], + "x-ms-enum": { + "name": "MetricType", + "modelAsString": true + } + }, + "kpis": { + "description": "List of KPIs to show in Cost Analysis UI.", + "type": "array", + "items": { + "$ref": "#/definitions/KpiProperties" + } + }, + "pivots": { + "description": "Configuration of 3 sub-views in the Cost Analysis UI.", + "type": "array", + "items": { + "$ref": "#/definitions/PivotProperties" + } + } + } + }, + "KpiProperties": { + "description": "Each KPI must contain a 'type' and 'enabled' key.", + "type": "object", + "properties": { + "type": { + "description": "KPI type (Forecast, Budget).", + "type": "string", + "enum": [ + "Forecast", + "Budget" + ], + "x-ms-enum": { + "name": "KpiTypeType", + "modelAsString": true + } + }, + "id": { + "description": "ID of resource related to metric (budget).", + "type": "string" + }, + "enabled": { + "description": "show the KPI in the UI?", + "type": "boolean" + } + } + }, + "PivotProperties": { + "description": "Each pivot must contain a 'type' and 'name'.", + "type": "object", + "properties": { + "type": { + "description": "Data type to show in view.", + "type": "string", + "enum": [ + "Dimension", + "TagKey" + ], + "x-ms-enum": { + "name": "PivotTypeType", + "modelAsString": true + } + }, + "name": { + "description": "Data field to show in view.", + "type": "string" + } + } + }, + "ErrorDetails": { + "description": "The details of the error.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "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. \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" + } + } + }, + "Resource": { + "description": "The Resource model definition.", + "type": "object", + "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": "Location of the resource." + }, + "sku": { + "readOnly": true, + "type": "string", + "description": "SKU of the resource." + }, + "eTag": { + "readOnly": true, + "type": "string", + "description": "ETag of the resource." + }, + "tags": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "x-ms-azure-resource": true + }, + "ProxyResource": { + "description": "The Resource model definition.", + "type": "object", + "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." + }, + "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 + }, + "DimensionsListResult": { + "description": "Result of listing dimensions. It contains a list of available dimensions.", + "type": "object", + "properties": { + "value": { + "description": "The list of dimensions.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Dimension" + } + } + } + }, + "Dimension": { + "description": "List of Dimension.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DimensionProperties", + "title": "Dimension properties" + } + } + }, + "DimensionProperties": { + "description": "Dimension properties.", + "type": "object", + "properties": { + "description": { + "description": "Dimension description.", + "type": "string", + "readOnly": true + }, + "filterEnabled": { + "description": "Filter enabled.", + "type": "boolean", + "readOnly": true + }, + "groupingEnabled": { + "description": "Grouping enabled.", + "type": "boolean", + "readOnly": true + }, + "data": { + "description": "Dimension data.", + "type": "array", + "items": { + "description": "Dimension data item.", + "type": "string", + "readOnly": true + } + }, + "total": { + "description": "Total number of data for the dimension.", + "format": "int32", + "type": "integer", + "readOnly": true + }, + "category": { + "description": "Dimension category.", + "type": "string", + "readOnly": true + }, + "usageStart": { + "description": "Usage start.", + "format": "date-time", + "type": "string", + "readOnly": true + }, + "usageEnd": { + "description": "Usage end.", + "format": "date-time", + "type": "string", + "readOnly": true + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "AlertsResult": { + "description": "Result of alerts.", + "type": "object", + "properties": { + "value": { + "description": "List of alerts.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Alert" + } + }, + "nextLink": { + "description": "URL to get the next set of alerts results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "Alert": { + "description": "An individual alert.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AlertProperties", + "title": "Alert properties" + } + } + }, + "AlertProperties": { + "description": "Alert properties.", + "type": "object", + "properties": { + "definition": { + "description": "defines the type of alert", + "type": "object", + "properties": { + "type": { + "description": "type of alert", + "type": "string", + "enum": [ + "Budget", + "Invoice", + "Credit", + "Quota", + "General", + "xCloud", + "BudgetForecast" + ], + "x-ms-enum": { + "name": "AlertType", + "modelAsString": true + } + }, + "category": { + "description": "Alert category", + "type": "string", + "enum": [ + "Cost", + "Usage", + "Billing", + "System" + ], + "x-ms-enum": { + "name": "AlertCategory", + "modelAsString": true + } + }, + "criteria": { + "description": "Criteria that triggered alert", + "type": "string", + "enum": [ + "CostThresholdExceeded", + "UsageThresholdExceeded", + "CreditThresholdApproaching", + "CreditThresholdReached", + "QuotaThresholdApproaching", + "QuotaThresholdReached", + "MultiCurrency", + "ForecastCostThresholdExceeded", + "ForecastUsageThresholdExceeded", + "InvoiceDueDateApproaching", + "InvoiceDueDateReached", + "CrossCloudNewDataAvailable", + "CrossCloudCollectionError", + "GeneralThresholdError" + ], + "x-ms-enum": { + "name": "AlertCriteria", + "modelAsString": true + } + } + } + }, + "description": { + "description": "Alert description", + "type": "string" + }, + "source": { + "description": "Source of alert", + "type": "string", + "enum": [ + "Preset", + "User" + ], + "x-ms-enum": { + "name": "AlertSource", + "modelAsString": true + } + }, + "details": { + "description": "Alert details", + "type": "object", + "properties": { + "timeGrainType": { + "description": "Type of timegrain cadence", + "type": "string", + "enum": [ + "None", + "Monthly", + "Quarterly", + "Annually", + "BillingMonth", + "BillingQuarter", + "BillingAnnual" + ], + "x-ms-enum": { + "name": "AlertTimeGrainType", + "modelAsString": true + } + }, + "periodStartDate": { + "description": "datetime of periodStartDate", + "type": "string" + }, + "triggeredBy": { + "description": "notificationId that triggered this alert", + "type": "string" + }, + "resourceGroupFilter": { + "description": "array of resourceGroups to filter by", + "type": "array", + "items": {} + }, + "resourceFilter": { + "description": "array of resources to filter by", + "type": "array", + "items": {} + }, + "meterFilter": { + "description": "array of meters to filter by", + "type": "array", + "items": {} + }, + "tagFilter": { + "description": "tags to filter by", + "type": "object", + "properties": {} + }, + "threshold": { + "description": "notification threshold percentage as a decimal which activated this alert", + "type": "number", + "format": "decimal" + }, + "operator": { + "description": "operator used to compare currentSpend with amount", + "type": "string", + "enum": [ + "None", + "EqualTo", + "GreaterThan", + "GreaterThanOrEqualTo", + "LessThan", + "LessThanOrEqualTo" + ], + "x-ms-enum": { + "name": "AlertOperator", + "modelAsString": true + } + }, + "amount": { + "description": "budget threshold amount", + "type": "number", + "format": "decimal" + }, + "unit": { + "description": "unit of currency being used", + "type": "string" + }, + "currentSpend": { + "description": "current spend", + "type": "number", + "format": "decimal" + }, + "contactEmails": { + "description": "list of emails to contact", + "type": "array", + "items": { + "type": "string" + } + }, + "contactGroups": { + "description": "list of action groups to broadcast to", + "type": "array", + "items": { + "type": "string" + } + }, + "contactRoles": { + "description": "list of contact roles", + "type": "array", + "items": { + "type": "string" + } + }, + "overridingAlert": { + "description": "overriding alert", + "type": "string" + } + } + }, + "costEntityId": { + "description": "related budget", + "type": "string" + }, + "status": { + "description": "alert status", + "type": "string", + "enum": [ + "None", + "Active", + "Overridden", + "Resolved", + "Dismissed" + ], + "x-ms-enum": { + "name": "AlertStatus", + "modelAsString": true + } + }, + "creationTime": { + "description": "dateTime in which alert was created", + "type": "string" + }, + "closeTime": { + "description": "dateTime in which alert was closed", + "type": "string" + }, + "modificationTime": { + "description": "dateTime in which alert was last modified", + "type": "string" + }, + "statusModificationUserName": { + "description": "User who last modified the alert", + "type": "string" + }, + "statusModificationTime": { + "description": "dateTime in which the alert status was last modified", + "type": "string" + } + } + }, + "DismissAlertPayload": { + "description": "The request payload to update an alert", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AlertProperties", + "title": "Alert properties" + } + } + }, + "QueryResult": { + "description": "Result of query. It contains all columns listed under groupings and aggregation.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/QueryProperties", + "title": "Query properties" + } + } + }, + "QueryProperties": { + "description": "Query properties", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string" + }, + "columns": { + "description": "Array of columns", + "type": "array", + "items": { + "$ref": "#/definitions/QueryColumn" + } + }, + "rows": { + "description": "Array of rows", + "type": "array", + "items": { + "type": "array", + "items": {} + } + } + } + }, + "QueryColumn": { + "description": "QueryColumn properties", + "type": "object", + "properties": { + "name": { + "description": "The name of column.", + "type": "string" + }, + "type": { + "description": "The type of column.", + "type": "string" + } + } + }, + "OperationListResult": { + "description": "Result of listing cost management operations. It contains a list of operations and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "description": "List of cost management operations supported by the Microsoft.CostManagement 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 Cost management 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.", + "type": "object", + "properties": { + "provider": { + "description": "Service provider: Microsoft.CostManagement.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Resource on which the operation is performed: Dimensions, Query.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string", + "readOnly": true + } + } + } + } + }, + "ForecastDefinition": { + "description": "The definition of a forecast.", + "type": "object", + "properties": { + "type": { + "description": "The type of the forecast.", + "type": "string", + "enum": [ + "Usage", + "ActualCost", + "AmortizedCost" + ], + "x-ms-enum": { + "name": "ForecastType", + "modelAsString": true + } + }, + "timeframe": { + "description": "The time frame for pulling data for the forecast. If custom, then a specific time period must be provided.", + "type": "string", + "enum": [ + "MonthToDate", + "BillingMonthToDate", + "TheLastMonth", + "TheLastBillingMonth", + "WeekToDate", + "Custom" + ], + "x-ms-enum": { + "name": "ForecastTimeframeType", + "modelAsString": true + } + }, + "timePeriod": { + "description": "Has time period for pulling data for the forecast.", + "$ref": "#/definitions/QueryTimePeriod" + }, + "dataset": { + "description": "Has definition for data in this forecast.", + "$ref": "#/definitions/ForecastDataset" + }, + "includeActualCost": { + "description": "a boolean determining if actualCost will be included", + "type": "boolean" + }, + "includeFreshPartialCost": { + "description": "a boolean determining if FreshPartialCost will be included", + "type": "boolean" + } + }, + "required": [ + "type", + "timeframe", + "dataset" + ] + }, + "ForecastDataset": { + "description": "The definition of data present in the forecast.", + "type": "object", + "properties": { + "granularity": { + "description": "The granularity of rows in the forecast.", + "type": "string", + "enum": [ + "Daily" + ], + "x-ms-enum": { + "name": "GranularityType", + "modelAsString": true + } + }, + "configuration": { + "description": "Has configuration information for the data in the export. The configuration will be ignored if aggregation and grouping are provided.", + "$ref": "#/definitions/QueryDatasetConfiguration" + }, + "aggregation": { + "type": "object", + "description": "Dictionary of aggregation expression to use in the forecast. The key of each item in the dictionary is the alias for the aggregated column. forecast can have up to 2 aggregation clauses.", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/QueryAggregation" + }, + "maxItems": 2 + }, + "filter": { + "type": "object", + "description": "Has filter expression to use in the forecast.", + "$ref": "#/definitions/QueryFilter" + } + } + }, + "QueryDefinition": { + "description": "The definition of a query.", + "type": "object", + "properties": { + "type": { + "description": "The type of the query.", + "type": "string", + "enum": [ + "Usage", + "ActualCost", + "AmortizedCost" + ], + "x-ms-enum": { + "name": "ExportType", + "modelAsString": true + } + }, + "timeframe": { + "description": "The time frame for pulling data for the query. If custom, then a specific time period must be provided.", + "type": "string", + "enum": [ + "MonthToDate", + "BillingMonthToDate", + "TheLastMonth", + "TheLastBillingMonth", + "WeekToDate", + "Custom" + ], + "x-ms-enum": { + "name": "TimeframeType", + "modelAsString": true + } + }, + "timePeriod": { + "description": "Has time period for pulling data for the query.", + "$ref": "#/definitions/QueryTimePeriod" + }, + "dataset": { + "description": "Has definition for data in this query.", + "$ref": "#/definitions/QueryDataset" + } + }, + "required": [ + "type", + "timeframe", + "dataset" + ] + }, + "QueryTimePeriod": { + "description": "The start and end date for pulling data for the query.", + "type": "object", + "properties": { + "from": { + "description": "The start date to pull data from.", + "type": "string", + "format": "date-time" + }, + "to": { + "description": "The end date to pull data to.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "from", + "to" + ] + }, + "QueryDataset": { + "description": "The definition of data present in the query.", + "type": "object", + "properties": { + "granularity": { + "description": "The granularity of rows in the query.", + "type": "string", + "enum": [ + "Daily" + ], + "x-ms-enum": { + "name": "GranularityType", + "modelAsString": true + } + }, + "configuration": { + "description": "Has configuration information for the data in the export. The configuration will be ignored if aggregation and grouping are provided.", + "$ref": "#/definitions/QueryDatasetConfiguration" + }, + "aggregation": { + "type": "object", + "description": "Dictionary of aggregation expression to use in the query. The key of each item in the dictionary is the alias for the aggregated column. Query can have up to 2 aggregation clauses.", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/QueryAggregation" + }, + "maxItems": 2 + }, + "grouping": { + "description": "Array of group by expression to use in the query. Query can have up to 2 group by clauses.", + "type": "array", + "items": { + "$ref": "#/definitions/QueryGrouping" + }, + "maxItems": 2 + }, + "filter": { + "type": "object", + "description": "The filter expression to use in the query. Please reference our Query API REST documentation for how to properly format the filter.", + "$ref": "#/definitions/QueryFilter" + } + } + }, + "QueryDatasetConfiguration": { + "description": "The configuration of dataset in the query.", + "type": "object", + "properties": { + "columns": { + "description": "Array of column names to be included in the query. Any valid query column name is allowed. If not provided, then query includes all columns.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "QueryAggregation": { + "description": "The aggregation expression to be used in the query.", + "type": "object", + "properties": { + "name": { + "description": "The name of the column to aggregate.", + "type": "string" + }, + "function": { + "description": "The name of the aggregation function to use.", + "type": "string", + "enum": [ + "Sum" + ], + "x-ms-enum": { + "name": "FunctionType", + "modelAsString": true + } + } + }, + "required": [ + "name", + "function" + ] + }, + "QueryGrouping": { + "description": "The group by expression to be used in the query.", + "type": "object", + "properties": { + "type": { + "description": "Has type of the column to group.", + "$ref": "#/definitions/QueryColumnType" + }, + "name": { + "description": "The name of the column to group.", + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "QueryFilter": { + "description": "The filter expression to be used in the export.", + "type": "object", + "properties": { + "and": { + "description": "The logical \"AND\" expression. Must have at least 2 items.", + "type": "array", + "items": { + "$ref": "#/definitions/QueryFilter" + }, + "minItems": 2 + }, + "or": { + "description": "The logical \"OR\" expression. Must have at least 2 items.", + "type": "array", + "items": { + "$ref": "#/definitions/QueryFilter" + }, + "minItems": 2 + }, + "not": { + "description": "The logical \"NOT\" expression.", + "$ref": "#/definitions/QueryFilter" + }, + "dimension": { + "description": "Has comparison expression for a dimension", + "$ref": "#/definitions/QueryComparisonExpression" + }, + "tag": { + "description": "Has comparison expression for a tag", + "$ref": "#/definitions/QueryComparisonExpression" + } + } + }, + "QueryColumnType": { + "description": "The type of the column in the export.", + "type": "string", + "enum": [ + "Tag", + "Dimension" + ], + "x-ms-enum": { + "name": "QueryColumnType", + "modelAsString": true + } + }, + "QueryComparisonExpression": { + "description": "The comparison expression to be used in the query.", + "type": "object", + "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": "QueryOperatorType", + "modelAsString": true + } + }, + "values": { + "description": "Array of values to use for comparison", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "name", + "operator", + "values" + ] + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request." + }, + "viewNameParameter": { + "name": "viewName", + "in": "path", + "description": "View name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "scopeViewParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with view 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.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for External Billing Account scope and 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for External Subscription scope.", + "x-ms-parameter-location": "method" + }, + "scopeDimensionParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with dimension 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}/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 + }, + "scopeAlertParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with alerts operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and '/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}/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 + }, + "scopeForecastParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with forecast operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and '/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}/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 + }, + "scopeQueryParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with query and export operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and '/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}/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 + }, + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "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" + }, + "billingAccountIdParameter": { + "name": "billingAccountId", + "in": "path", + "description": "BillingAccount ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "managementGroupIdParameter": { + "name": "managementGroupId", + "in": "path", + "description": "ManagementGroup 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": "Enrollment Account ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "externalCloudProviderTypeParameter": { + "name": "externalCloudProviderType", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "externalSubscriptions", + "externalBillingAccounts" + ], + "x-ms-enum": { + "name": "externalCloudProviderType", + "modelAsString": true + }, + "description": "The external cloud provider type associated with dimension/query operations. This includes 'externalSubscriptions' for linked account and 'externalBillingAccounts' for consolidated account.", + "x-ms-parameter-location": "method" + }, + "externalCloudProviderIdParameter": { + "name": "externalCloudProviderId", + "in": "path", + "required": true, + "type": "string", + "description": "This can be '{externalSubscriptionId}' for linked account or '{externalBillingAccountId}' for consolidated account used with dimension/query operations.", + "x-ms-parameter-location": "method" + }, + "alertIdParameter": { + "name": "alertId", + "in": "path", + "description": "Alert ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountAlerts.json new file mode 100644 index 000000000000..92e85a187afc --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountAlerts.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "billingAccountId": "12345:6789", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111", + "name": "11111111-1111-1111-111111111111", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "11111111-1111-1111-111111111111_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 171000.32, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2019-06-24T05:51:52.8713179Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2019-08-31T17:51:55.1808807Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountDimensionsList.json new file mode 100644 index 000000000000..3a0b12d378b4 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountDimensionsList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "100", + "scope": "providers/Microsoft.Billing/billingAccounts/100" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31", + "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 37, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountDimensionsListExpandAndTop.json new file mode 100644 index 000000000000..34c0efbeedf4 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountDimensionsListExpandAndTop.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "100", + "$expand": "properties/data", + "$top": 5, + "scope": "providers/Microsoft.Billing/billingAccounts/100" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "thoroetrg01", + "default-notificationhubs-westus", + "jedikeyvaultrg", + "contosocodeflow8d4a", + "noobaa" + ], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.automation/automationaccounts", + "microsoft.databricks/workspaces", + "microsoft.dbformysql/servers", + "microsoft.containerregistry/registries", + "microsoft.search/searchservices" + ], + "total": 37, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountDimensionsListWithFilter.json new file mode 100644 index 000000000000..79382668a3d6 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountDimensionsListWithFilter.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "100", + "$expand": "properties/data", + "$top": 5, + "$filter": "properties/category eq 'resourceId'", + "scope": "providers/Microsoft.Billing/billingAccounts/100" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount", + "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1", + "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume" + ], + "total": 1409, + "category": "ResourceId", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource Id", + "filterEnabled": true, + "groupingEnabled": true, + "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D" + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountForecast.json new file mode 100644 index 000000000000..08585cf1cc42 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountForecast.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12345:6789", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + }, + "includeActualCost": false, + "includeFreshPartialCost": false + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Forecast?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + 20180331, + "Forecast", + "USD" + ], + [ + 218.68795741935486, + 20180331, + "Forecast", + "USD" + ], + [ + 0.14384913581657052, + 20180401, + "Forecast", + "USD" + ], + [ + 0.009865586851323632, + 20180429, + "Forecast", + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountQuery.json new file mode 100644 index 000000000000..deb3ebfa7a9e --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountQuery.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "70664866", + "scope": "providers/Microsoft.Billing/billingAccounts/70664866", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ], + [ + 0.16677720329728665, + "gs-stms-dev", + 20180331, + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountQueryGrouping.json new file mode 100644 index 000000000000..88006102fe55 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountQueryGrouping.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "70664866", + "scope": "providers/Microsoft.Billing/billingAccounts/70664866", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "None", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingProfileAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingProfileAlerts.json new file mode 100644 index 000000000000..62dc930b9a7f --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingProfileAlerts.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111", + "name": "11111111-1111-1111-111111111111", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "11111111-1111-1111-111111111111_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 171000.32, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2019-06-24T05:51:52.8713179Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2019-08-31T17:51:55.1808807Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingProfileForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingProfileForecast.json new file mode 100644 index 000000000000..ac61887000ed --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingProfileForecast.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + }, + "includeActualCost": false, + "includeFreshPartialCost": false + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Forecast?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + 20180331, + "Forecast", + "USD" + ], + [ + 218.68795741935486, + 20180331, + "Forecast", + "USD" + ], + [ + 0.14384913581657052, + 20180401, + "Forecast", + "USD" + ], + [ + 0.009865586851323632, + 20180429, + "Forecast", + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentAlerts.json new file mode 100644 index 000000000000..a274d64fcd98 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentAlerts.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "billingAccountId": "12345:6789", + "departmentId": "123", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111", + "name": "11111111-1111-1111-111111111111", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "11111111-1111-1111-111111111111_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 171000.32, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2019-06-24T05:51:52.8713179Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2019-08-31T17:51:55.1808807Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentDimensionsList.json new file mode 100644 index 000000000000..041eeed53578 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentDimensionsList.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "100", + "departmentId": "123", + "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31", + "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 37, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentDimensionsListExpandAndTop.json new file mode 100644 index 000000000000..e9d8435a14ba --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentDimensionsListExpandAndTop.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "100", + "departmentId": "123", + "$expand": "properties/data", + "$top": 5, + "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "thoroetrg01", + "default-notificationhubs-westus", + "jedikeyvaultrg", + "contosocodeflow8d4a", + "noobaa" + ], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.automation/automationaccounts", + "microsoft.databricks/workspaces", + "microsoft.dbformysql/servers", + "microsoft.containerregistry/registries", + "microsoft.search/searchservices" + ], + "total": 37, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentDimensionsListWithFilter.json new file mode 100644 index 000000000000..c30e2c6a89a9 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentDimensionsListWithFilter.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "100", + "departmentId": "123", + "$expand": "properties/data", + "$top": 5, + "$filter": "properties/category eq 'resourceId'", + "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount", + "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1", + "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume" + ], + "total": 1409, + "category": "ResourceId", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource Id", + "filterEnabled": true, + "groupingEnabled": true, + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D" + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentForecast.json new file mode 100644 index 000000000000..fd96fd5d8c82 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentForecast.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12345:6789", + "departmentId": "123", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + }, + "includeActualCost": false, + "includeFreshPartialCost": false + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123/providers/Microsoft.CostManagement/Forecast?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + 20180331, + "Forecast", + "USD" + ], + [ + 218.68795741935486, + 20180331, + "Forecast", + "USD" + ], + [ + 0.14384913581657052, + 20180401, + "Forecast", + "USD" + ], + [ + 0.009865586851323632, + 20180429, + "Forecast", + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentQuery.json new file mode 100644 index 000000000000..bc3213d3f007 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentQuery.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "70664866", + "departmentId": "123", + "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ], + [ + 0.16677720329728665, + "gs-stms-dev", + 20180331, + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentQueryGrouping.json new file mode 100644 index 000000000000..ad8e4e324e7c --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentQueryGrouping.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "70664866", + "departmentId": "123", + "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "None", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DismissResourceGroupAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DismissResourceGroupAlerts.json new file mode 100644 index 000000000000..5cd608f81392 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DismissResourceGroupAlerts.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "ScreenSharingTest-peer", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer", + "alertId": "22222222-2222-2222-2222-222222222222", + "parameters": { + "properties": { + "status": "Dismissed" + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/alerts/22222222-2222-2222-2222-222222222222", + "name": "22222222-2222-2222-2222-222222222222", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "22222222-2222-2222-2222-222222222222_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Dismissed", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DismissSubscriptionAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DismissSubscriptionAlerts.json new file mode 100644 index 000000000000..863ac58f95b8 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DismissSubscriptionAlerts.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "alertId": "22222222-2222-2222-2222-222222222222", + "parameters": { + "properties": { + "status": "Dismissed" + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/alerts/22222222-2222-2222-2222-222222222222", + "name": "22222222-2222-2222-2222-222222222222", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "22222222-2222-2222-2222-222222222222_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Dismissed", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountAlerts.json new file mode 100644 index 000000000000..3a6b90445694 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountAlerts.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "billingAccountId": "12345:6789", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111", + "name": "11111111-1111-1111-111111111111", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "11111111-1111-1111-111111111111_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 171000.32, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2019-06-24T05:51:52.8713179Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2019-08-31T17:51:55.1808807Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountDimensionsList.json new file mode 100644 index 000000000000..4219114de7bd --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountDimensionsList.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "100", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31", + "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 37, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json new file mode 100644 index 000000000000..0611011ef86b --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "100", + "enrollmentAccountId": "456", + "$expand": "properties/data", + "$top": 5, + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "thoroetrg01", + "default-notificationhubs-westus", + "jedikeyvaultrg", + "contosocodeflow8d4a", + "noobaa" + ], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.automation/automationaccounts", + "microsoft.databricks/workspaces", + "microsoft.dbformysql/servers", + "microsoft.containerregistry/registries", + "microsoft.search/searchservices" + ], + "total": 37, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountDimensionsListWithFilter.json new file mode 100644 index 000000000000..8d2f3a997657 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountDimensionsListWithFilter.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "100", + "enrollmentAccountId": "456", + "$expand": "properties/data", + "$top": 5, + "$filter": "properties/category eq 'resourceId'", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount", + "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1", + "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume" + ], + "total": 1409, + "category": "ResourceId", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource Id", + "filterEnabled": true, + "groupingEnabled": true, + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D" + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountForecast.json new file mode 100644 index 000000000000..862d334ccb84 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountForecast.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12345:6789", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + }, + "includeActualCost": false, + "includeFreshPartialCost": false + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456/providers/Microsoft.CostManagement/Forecast?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + 20180331, + "Forecast", + "USD" + ], + [ + 218.68795741935486, + 20180331, + "Forecast", + "USD" + ], + [ + 0.14384913581657052, + 20180401, + "Forecast", + "USD" + ], + [ + 0.009865586851323632, + 20180429, + "Forecast", + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountQuery.json new file mode 100644 index 000000000000..96202b49ea60 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountQuery.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "70664866", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ], + [ + 0.16677720329728665, + "gs-stms-dev", + 20180331, + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountQueryGrouping.json new file mode 100644 index 000000000000..caa6d869a95f --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountQueryGrouping.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "70664866", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByBillingAccount.json new file mode 100644 index 000000000000..9522bd10c082 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByBillingAccount.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "123456", + "scope": "providers/Microsoft.Billing/billingAccounts/123456", + "exportName": "TestExport", + "parameters": { + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByDepartment.json new file mode 100644 index 000000000000..2886327683d3 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByDepartment.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12", + "departmentId": "1234", + "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234", + "exportName": "TestExport", + "parameters": { + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json new file mode 100644 index 000000000000..73db9d1999f4 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "100", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456", + "exportName": "TestExport", + "parameters": { + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByManagementGroup.json new file mode 100644 index 000000000000..5875e7dd1847 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByManagementGroup.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "managementGroupId": "TestMG", + "scope": "providers/Microsoft.Management/managementGroups/TestMG", + "exportName": "TestExport", + "parameters": { + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "200": { + "body": { + "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByResourceGroup.json new file mode 100644 index 000000000000..f96e525c094e --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByResourceGroup.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "exportName": "TestExport", + "parameters": { + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateBySubscription.json new file mode 100644 index 000000000000..320ba0d6394b --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateBySubscription.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "exportName": "TestExport", + "parameters": { + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByBillingAccount.json new file mode 100644 index 000000000000..10e0fd2d11ce --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByBillingAccount.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "123456", + "scope": "providers/Microsoft.Billing/billingAccounts/123456", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByDepartment.json new file mode 100644 index 000000000000..315fe9a132bb --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByDepartment.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12", + "departmentId": "1234", + "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByEnrollmentAccount.json new file mode 100644 index 000000000000..07202bf92840 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByEnrollmentAccount.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "100", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByManagementGroup.json new file mode 100644 index 000000000000..2324f01d9620 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByManagementGroup.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "managementGroupId": "TestMG", + "scope": "providers/Microsoft.Management/managementGroups/TestMG", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByResourceGroup.json new file mode 100644 index 000000000000..93c67cfc12b8 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByResourceGroup.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteBySubscription.json new file mode 100644 index 000000000000..a264cec984a8 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteBySubscription.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByBillingAccount.json new file mode 100644 index 000000000000..3bb0d67d34c7 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByBillingAccount.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "123456", + "scope": "providers/Microsoft.Billing/billingAccounts/123456", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-Id}/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-05-01T00:00:00Z", + "to": "2020-05-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByDepartment.json new file mode 100644 index 000000000000..bda822605a25 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByDepartment.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12", + "departmentId": "1234", + "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-06-30T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByEnrollmentAccount.json new file mode 100644 index 000000000000..c43e495aa240 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByEnrollmentAccount.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "100", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2019-09-01T00:00:00Z", + "to": "2019-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByManagementGroup.json new file mode 100644 index 000000000000..d283bba38890 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByManagementGroup.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "managementGroupId": "TestMG", + "scope": "providers/Microsoft.Management/managementGroups/TestMG", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2019-09-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "UsageDate", + "MeterId", + "InstanceId", + "ResourceLocation", + "UsageQuantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByResourceGroup.json new file mode 100644 index 000000000000..3ace5d6989ff --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByResourceGroup.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-06-30T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetBySubscription.json new file mode 100644 index 000000000000..fcf05bf5421e --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetBySubscription.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2019-06-01T00:00:00Z", + "to": "2019-07-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByBillingAccount.json new file mode 100644 index 000000000000..10e0fd2d11ce --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByBillingAccount.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "123456", + "scope": "providers/Microsoft.Billing/billingAccounts/123456", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByDepartment.json new file mode 100644 index 000000000000..315fe9a132bb --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByDepartment.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12", + "departmentId": "1234", + "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByEnrollmentAccount.json new file mode 100644 index 000000000000..07202bf92840 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByEnrollmentAccount.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "100", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByManagementGroup.json new file mode 100644 index 000000000000..2324f01d9620 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByManagementGroup.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "managementGroupId": "TestMG", + "scope": "providers/Microsoft.Management/managementGroups/TestMG", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByResourceGroup.json new file mode 100644 index 000000000000..93c67cfc12b8 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByResourceGroup.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunBySubscription.json new file mode 100644 index 000000000000..a264cec984a8 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunBySubscription.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByBillingAccount.json new file mode 100644 index 000000000000..fed4f1c7fcbd --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByBillingAccount.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "123456", + "scope": "providers/Microsoft.Billing/billingAccounts/123456", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-id}/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100", + "properties": { + "executionType": "OnDemand", + "status": "Completed", + "submittedBy": "john.doe@gmail.com", + "submittedTime": "2018-08-03T07:52:15.6016681Z", + "processingStartTime": "2018-08-03T07:52:16.9123797Z", + "processingEndTime": "2018-08-03T07:52:28.0373318Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-id}/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef", + "properties": { + "executionType": "Scheduled", + "status": "Completed", + "submittedBy": "System", + "submittedTime": "2018-08-03T09:03:58.5710244Z", + "processingStartTime": "2018-08-03T09:03:58.5710244Z", + "processingEndTime": "2018-08-03T09:04:19.7223808Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByDepartment.json new file mode 100644 index 000000000000..f6919dece732 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByDepartment.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12", + "departmentId": "1234", + "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100", + "properties": { + "executionType": "OnDemand", + "status": "Completed", + "submittedBy": "john.doe@gmail.com", + "submittedTime": "2018-08-03T07:52:15.6016681Z", + "processingStartTime": "2018-08-03T07:52:16.9123797Z", + "processingEndTime": "2018-08-03T07:52:28.0373318Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef", + "properties": { + "executionType": "Scheduled", + "status": "Completed", + "submittedBy": "System", + "submittedTime": "2018-08-03T09:03:58.5710244Z", + "processingStartTime": "2018-08-03T09:03:58.5710244Z", + "processingEndTime": "2018-08-03T09:04:19.7223808Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByEnrollmentAccount.json new file mode 100644 index 000000000000..413c16405db8 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByEnrollmentAccount.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "100", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100", + "properties": { + "executionType": "OnDemand", + "status": "Completed", + "submittedBy": "john.doe@gmail.com", + "submittedTime": "2018-08-03T07:52:15.6016681Z", + "processingStartTime": "2018-08-03T07:52:16.9123797Z", + "processingEndTime": "2018-08-03T07:52:28.0373318Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef", + "properties": { + "executionType": "Scheduled", + "status": "Completed", + "submittedBy": "System", + "submittedTime": "2018-08-03T09:03:58.5710244Z", + "processingStartTime": "2018-08-03T09:03:58.5710244Z", + "processingEndTime": "2018-08-03T09:04:19.7223808Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByManagementGroup.json new file mode 100644 index 000000000000..866e8a0d9b29 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByManagementGroup.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "managementGroupId": "TestMG", + "scope": "providers/Microsoft.Management/managementGroups/TestMG", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100", + "properties": { + "executionType": "OnDemand", + "status": "Completed", + "submittedBy": "john.doe@gmail.com", + "submittedTime": "2018-08-03T07:52:15.6016681Z", + "processingStartTime": "2018-08-03T07:52:16.9123797Z", + "processingEndTime": "2018-08-03T07:52:28.0373318Z", + "fileName": "ScheduledForTestExport/TestExportSchedule/20180729-20180804/TestExportSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + { + "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef", + "properties": { + "executionType": "Scheduled", + "status": "Completed", + "submittedBy": "System", + "submittedTime": "2018-08-03T09:03:58.5710244Z", + "processingStartTime": "2018-08-03T09:03:58.5710244Z", + "processingEndTime": "2018-08-03T09:04:19.7223808Z", + "fileName": "ScheduledForTestExport/TestExportSchedule/20180729-20180804/TestExportSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByResourceGroup.json new file mode 100644 index 000000000000..19bca544cfaf --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByResourceGroup.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100", + "properties": { + "executionType": "OnDemand", + "status": "Completed", + "submittedBy": "john.doe@gmail.com", + "submittedTime": "2018-08-03T07:52:15.6016681Z", + "processingStartTime": "2018-08-03T07:52:16.9123797Z", + "processingEndTime": "2018-08-03T07:52:28.0373318Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef", + "properties": { + "executionType": "Scheduled", + "status": "Completed", + "submittedBy": "System", + "submittedTime": "2018-08-03T09:03:58.5710244Z", + "processingStartTime": "2018-08-03T09:03:58.5710244Z", + "processingEndTime": "2018-08-03T09:04:19.7223808Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetBySubscription.json new file mode 100644 index 000000000000..70d9ec79f68a --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetBySubscription.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100", + "properties": { + "executionType": "OnDemand", + "status": "Completed", + "submittedBy": "john.doe@gmail.com", + "submittedTime": "2018-08-03T07:52:15.6016681Z", + "processingStartTime": "2018-08-03T07:52:16.9123797Z", + "processingEndTime": "2018-08-03T07:52:28.0373318Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef", + "properties": { + "executionType": "Scheduled", + "status": "Completed", + "submittedBy": "System", + "submittedTime": "2018-08-03T09:03:58.5710244Z", + "processingStartTime": "2018-08-03T09:03:58.5710244Z", + "processingEndTime": "2018-08-03T09:04:19.7223808Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByBillingAccount.json new file mode 100644 index 000000000000..ef67bcacd666 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByBillingAccount.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "123456", + "scope": "providers/Microsoft.Billing/billingAccounts/123456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport1", + "name": "TestExport1", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport2", + "name": "TestExport2", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "WeekToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByDepartment.json new file mode 100644 index 000000000000..0b0074c23981 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByDepartment.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12", + "departmentId": "1234", + "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport1", + "name": "TestExport1", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport2", + "name": "TestExport2", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "WeekToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByEnrollmentAccount.json new file mode 100644 index 000000000000..60486c1ce1f8 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByEnrollmentAccount.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "100", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport1", + "name": "TestExport1", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport2", + "name": "TestExport2", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "WeekToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByManagementGroup.json new file mode 100644 index 000000000000..848f52e3ec91 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByManagementGroup.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "managementGroupId": "TestMG", + "scope": "providers/Microsoft.Management/managementGroups/TestMG" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport1", + "name": "TestExport1", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + }, + { + "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport2", + "name": "TestExport2", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "WeekToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByResourceGroup.json new file mode 100644 index 000000000000..28213e0c7c61 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByResourceGroup.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport1", + "name": "TestExport1", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport2", + "name": "TestExport2", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "WeekToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetBySubscription.json new file mode 100644 index 000000000000..8e895333d073 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetBySubscription.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport1", + "name": "TestExport1", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport2", + "name": "TestExport2", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "WeekToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountAlerts.json new file mode 100644 index 000000000000..d69d7a968e57 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountAlerts.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "externalCloudProviderId": "100", + "externalCloudProviderType": "externalBillingAccounts" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + }, + { + "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111", + "name": "11111111-1111-1111-111111111111", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "11111111-1111-1111-111111111111_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 171000.32, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2019-06-24T05:51:52.8713179Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2019-08-31T17:51:55.1808807Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountForecast.json new file mode 100644 index 000000000000..f8b57efe04b8 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountForecast.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "externalCloudProviderId": "100", + "externalCloudProviderType": "externalBillingAccounts", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/query/6dc7b06a-d90a-4df5-b655-ce6cf1c0814d", + "name": "6dc7b06a-d90a-4df5-b655-ce6cf1c0814d", + "type": "Microsoft.CostManagement/query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 0.0, + "Forecast", + "USD" + ], + [ + 30.2572751438, + "Forecast", + "USD" + ], + [ + 0.076757602000000022, + "Forecast", + "USD" + ], + [ + 50.430964190400012, + "Forecast", + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountsDimensions.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountsDimensions.json new file mode 100644 index 000000000000..705d4fcd3fb4 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountsDimensions.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "externalCloudProviderId": "100", + "externalCloudProviderType": "externalBillingAccounts" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/dimensions_ResourceType_2019-12-01_2019-12-31", + "name": "dimensions_ResourceType_2019-12-01_2019-12-31", + "type": "microsoft.consumption/dimensions", + "properties": { + "data": [], + "total": 0, + "category": "ResourceType", + "description": "Resource type", + "usageStart": "2019-12-01T00:00:00Z", + "usageEnd": "2019-12-31T00:00:00Z", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/dimensions_ResourceId_2019-12-01_2019-12-31", + "name": "dimensions_ResourceId_2019-12-01_2019-12-31", + "type": "microsoft.consumption/dimensions", + "properties": { + "data": [], + "total": 0, + "category": "ResourceId", + "description": "Resource ID", + "usageStart": "2019-12-01T00:00:00Z", + "usageEnd": "2019-12-31T00:00:00Z", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountsQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountsQuery.json new file mode 100644 index 000000000000..4d0437c1bbca --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountsQuery.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "externalCloudProviderId": "100", + "externalCloudProviderType": "externalBillingAccounts", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/query/6dc7b06a-d90a-4df5-b655-ce6cf1c0814d", + "name": "6dc7b06a-d90a-4df5-b655-ce6cf1c0814d", + "type": "Microsoft.CostManagement/query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ServiceName", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 0.0, + "abc db", + "USD" + ], + [ + 30.2572751438, + "abc compute cloud", + "USD" + ], + [ + 0.076757602000000022, + "abc file system", + "USD" + ], + [ + 50.430964190400012, + "abc elasticache", + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionAlerts.json new file mode 100644 index 000000000000..92436a022d8f --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionAlerts.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "externalCloudProviderId": "100", + "externalCloudProviderType": "externalSubscriptions" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.CostManagement/externalSubscriptions/100/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + }, + { + "id": "providers/Microsoft.CostManagement/externalSubscriptions/100/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111", + "name": "11111111-1111-1111-111111111111", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "11111111-1111-1111-111111111111_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 171000.32, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2019-06-24T05:51:52.8713179Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2019-08-31T17:51:55.1808807Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionForecast.json new file mode 100644 index 000000000000..d42c1749ebd0 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionForecast.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "externalCloudProviderId": "100", + "externalCloudProviderType": "externalSubscriptions", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.CostManagement/externalSubscriptions/100/query/d99477af-7510-40ee-aca2-e59bdca0d10d", + "name": "d99477af-7510-40ee-aca2-e59bdca0d10d", + "type": "Microsoft.CostManagement/query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionsDimensions.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionsDimensions.json new file mode 100644 index 000000000000..7f2217ebf526 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionsDimensions.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "externalCloudProviderId": "100", + "externalCloudProviderType": "externalSubscriptions" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.CostManagement/externalSubscriptions/123/dimensions_ResourceType_2019-12-01_2019-12-31", + "name": "dimensions_ResourceType_2019-12-01_2019-12-31", + "type": "microsoft.consumption/dimensions", + "properties": { + "data": [], + "total": 0, + "category": "ResourceType", + "description": "Resource type", + "usageStart": "2019-12-01T00:00:00Z", + "usageEnd": "2019-12-31T00:00:00Z", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.CostManagement/externalSubscriptions/123/dimensions_ResourceId_2019-12-01_2019-12-31", + "name": "dimensions_ResourceId_2019-12-01_2019-12-31", + "type": "microsoft.consumption/dimensions", + "properties": { + "data": [], + "total": 0, + "category": "ResourceId", + "description": "Resource ID", + "usageStart": "2019-12-01T00:00:00Z", + "usageEnd": "2019-12-31T00:00:00Z", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionsQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionsQuery.json new file mode 100644 index 000000000000..9afcaed157ad --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionsQuery.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "externalCloudProviderId": "100", + "externalCloudProviderType": "externalSubscriptions", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.CostManagement/externalSubscriptions/100/query/d99477af-7510-40ee-aca2-e59bdca0d10d", + "name": "d99477af-7510-40ee-aca2-e59bdca0d10d", + "type": "Microsoft.CostManagement/query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByBillingAccountLegacyAndBillingPeriod.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByBillingAccountLegacyAndBillingPeriod.json new file mode 100644 index 000000000000..03382991d21d --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByBillingAccountLegacyAndBillingPeriod.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/12345", + "parameters": { + "metric": "ActualCost", + "billingPeriod": "202008" + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationResults/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Consumption/operationResult", + "properties": { + "downloadUrl": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/20201207/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd", + "validTill": "2020-12-08T05:55:59.4394737Z" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.CostManagement/operationResults/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-10-01", + "Azure-Consumption-AsyncOperation": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.CostManagement/operationStatus/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-10-01", + "Retry-After": "60" + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByBillingProfileAndInvoiceId.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByBillingProfileAndInvoiceId.json new file mode 100644 index 000000000000..81bd78090deb --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByBillingProfileAndInvoiceId.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579", + "parameters": { + "metric": "ActualCost", + "invoiceId": "M1234567" + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationResults/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Consumption/operationResult", + "properties": { + "downloadUrl": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/20201207/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd", + "validTill": "2020-12-08T05:55:59.4394737Z" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/operationResults/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-10-01", + "Azure-Consumption-AsyncOperation": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/operationStatus/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-10-01", + "Retry-After": "60" + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByBillingProfileAndInvoiceIdAndCustomerId.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByBillingProfileAndInvoiceIdAndCustomerId.json new file mode 100644 index 000000000000..82834e322fe2 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByBillingProfileAndInvoiceIdAndCustomerId.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579", + "parameters": { + "metric": "ActualCost", + "invoiceId": "M1234567", + "customerId": "456789" + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationResults/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Consumption/operationResult", + "properties": { + "downloadUrl": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/20201207/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd", + "validTill": "2020-12-08T05:55:59.4394737Z" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/operationResults/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-10-01", + "Azure-Consumption-AsyncOperation": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/operationStatus/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-10-01", + "Retry-After": "60" + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByCustomerAndTimePeriod.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByCustomerAndTimePeriod.json new file mode 100644 index 000000000000..c94cee264bdd --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByCustomerAndTimePeriod.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579", + "parameters": { + "metric": "ActualCost", + "timePeriod": { + "start": "2020-03-01", + "end": "2020-03-15" + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationResults/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Consumption/operationResult", + "properties": { + "downloadUrl": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/20201207/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd", + "validTill": "2020-12-08T05:55:59.4394737Z" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579/providers/Microsoft.CostManagement/operationResults/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-10-01", + "Azure-Consumption-AsyncOperation": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579/providers/Microsoft.CostManagement/operationStatus/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-10-01", + "Retry-After": "60" + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportBySubscriptionAndTimePeriod.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportBySubscriptionAndTimePeriod.json new file mode 100644 index 000000000000..5dcd8278c9f7 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportBySubscriptionAndTimePeriod.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "parameters": { + "metric": "ActualCost", + "timePeriod": { + "start": "2020-03-01", + "end": "2020-03-15" + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationResults/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Consumption/operationResult", + "properties": { + "downloadUrl": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/20201207/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd", + "validTill": "2020-12-08T05:55:59.4394737Z" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationResults/00000000-0000-0000-0000-000000000000?api-version=2021-10-01", + "Azure-Consumption-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2021-10-01", + "Retry-After": "60" + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportOperationResultsBySubscriptionScope.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportOperationResultsBySubscriptionScope.json new file mode 100644 index 000000000000..cd7dab16ecda --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportOperationResultsBySubscriptionScope.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "operationId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationResults/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Consumption/operationResult", + "properties": { + "downloadUrl": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/20201207/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd", + "validTill": "2020-12-08T05:55:59.4394737Z" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.CostManagement/operationResults/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-10-01", + "Azure-Consumption-AsyncOperation": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.CostManagement/operationStatus/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-10-01", + "Retry-After": "60" + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportOperationStatusBySubscriptionScope.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportOperationStatusBySubscriptionScope.json new file mode 100644 index 000000000000..65b905ffbf11 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportOperationStatusBySubscriptionScope.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "operationId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationStatus/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "status": "Completed", + "type": "Microsoft.Consumption/operationStatus", + "properties": { + "downloadUrl": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/20201207/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd", + "validTill": "2020-12-08T05:55:59.4394737Z" + }, + "error": { + "code": "0", + "message": null + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/InvoiceSectionAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/InvoiceSectionAlerts.json new file mode 100644 index 000000000000..d90fc5a57b18 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/InvoiceSectionAlerts.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "invoiceSectionId": "9876", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111", + "name": "11111111-1111-1111-111111111111", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "11111111-1111-1111-111111111111_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 171000.32, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2019-06-24T05:51:52.8713179Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2019-08-31T17:51:55.1808807Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/InvoiceSectionForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/InvoiceSectionForecast.json new file mode 100644 index 000000000000..f64328b6b5d5 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/InvoiceSectionForecast.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "invoiceSectionId": "9876", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + }, + "includeActualCost": false, + "includeFreshPartialCost": false + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Forecast?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + 20180331, + "Forecast", + "USD" + ], + [ + 218.68795741935486, + 20180331, + "Forecast", + "USD" + ], + [ + 0.14384913581657052, + 20180401, + "Forecast", + "USD" + ], + [ + 0.009865586851323632, + 20180429, + "Forecast", + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountDimensionsList.json new file mode 100644 index 000000000000..7a30ed852d58 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountDimensionsList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12345:6789", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31", + "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31", + "name": "dimensions_ResourceType_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 37, + "category": "ResourceType", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountDimensionsListExpandAndTop.json new file mode 100644 index 000000000000..12a93024cf15 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountDimensionsListExpandAndTop.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "$expand": "properties/data", + "$top": 5, + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31", + "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "thoroetrg01", + "default-notificationhubs-westus", + "jedikeyvaultrg", + "contosocodeflow8d4a", + "noobaa" + ], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31", + "name": "dimensions_ResourceType_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.automation/automationaccounts", + "microsoft.databricks/workspaces", + "microsoft.dbformysql/servers", + "microsoft.containerregistry/registries", + "microsoft.search/searchservices" + ], + "total": 37, + "category": "ResourceType", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountDimensionsListWithFilter.json new file mode 100644 index 000000000000..f8c6a0ddb4b5 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountDimensionsListWithFilter.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "$expand": "properties/data", + "$top": 5, + "$filter": "properties/category eq 'resourceId'", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31", + "name": "dimensions_ResourceId_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount", + "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1", + "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume" + ], + "total": 1409, + "category": "ResourceId", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource Id", + "filterEnabled": true, + "groupingEnabled": true, + "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D" + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountQuery.json new file mode 100644 index 000000000000..5443581a37ae --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountQuery.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12345:6789", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ], + [ + 0.16677720329728665, + "gs-stms-dev", + 20180331, + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountQueryGrouping.json new file mode 100644 index 000000000000..31f0ffbf4ad9 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountQueryGrouping.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12345:6789", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "None", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileDimensionsList.json new file mode 100644 index 000000000000..61a209e80977 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileDimensionsList.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31", + "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31", + "name": "dimensions_ResourceType_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 37, + "category": "ResourceType", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileDimensionsListExpandAndTop.json new file mode 100644 index 000000000000..fca61ffb8f2d --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileDimensionsListExpandAndTop.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "$expand": "properties/data", + "$top": 5, + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31", + "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "thoroetrg01", + "default-notificationhubs-westus", + "jedikeyvaultrg", + "contosocodeflow8d4a", + "noobaa" + ], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31", + "name": "dimensions_ResourceType_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.automation/automationaccounts", + "microsoft.databricks/workspaces", + "microsoft.dbformysql/servers", + "microsoft.containerregistry/registries", + "microsoft.search/searchservices" + ], + "total": 37, + "category": "ResourceType", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileDimensionsListWithFilter.json new file mode 100644 index 000000000000..946a0fe6665d --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileDimensionsListWithFilter.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "$expand": "properties/data", + "$top": 5, + "$filter": "properties/category eq 'resourceId'", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31", + "name": "dimensions_ResourceId_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount", + "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1", + "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume" + ], + "total": 1409, + "category": "ResourceId", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource Id", + "filterEnabled": true, + "groupingEnabled": true, + "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D" + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileQuery.json new file mode 100644 index 000000000000..4c8c1770e432 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileQuery.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ], + [ + 0.16677720329728665, + "gs-stms-dev", + 20180331, + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileQueryGrouping.json new file mode 100644 index 000000000000..e110931544a8 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileQueryGrouping.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "None", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerDimensionsList.json new file mode 100644 index 000000000000..d085114ab90d --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerDimensionsList.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12345:6789", + "customerId": "5678", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31", + "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31", + "name": "dimensions_ResourceType_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 37, + "category": "ResourceType", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerDimensionsListExpandAndTop.json new file mode 100644 index 000000000000..638b70eb595b --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerDimensionsListExpandAndTop.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "customerId": "5678", + "$expand": "properties/data", + "$top": 5, + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31", + "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "thoroetrg01", + "default-notificationhubs-westus", + "jedikeyvaultrg", + "contosocodeflow8d4a", + "noobaa" + ], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31", + "name": "dimensions_ResourceType_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.automation/automationaccounts", + "microsoft.databricks/workspaces", + "microsoft.dbformysql/servers", + "microsoft.containerregistry/registries", + "microsoft.search/searchservices" + ], + "total": 37, + "category": "ResourceType", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerDimensionsListWithFilter.json new file mode 100644 index 000000000000..3ecc017c6f8e --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerDimensionsListWithFilter.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "customerId": "13579", + "$expand": "properties/data", + "$top": 5, + "$filter": "properties/category eq 'resourceId'", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31", + "name": "dimensions_ResourceId_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount", + "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1", + "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume" + ], + "total": 1409, + "category": "ResourceId", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource Id", + "filterEnabled": true, + "groupingEnabled": true, + "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D" + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerQuery.json new file mode 100644 index 000000000000..052e6127fe6c --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerQuery.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12345:6789", + "customerId": "5678", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ], + [ + 0.16677720329728665, + "gs-stms-dev", + 20180331, + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerQueryGrouping.json new file mode 100644 index 000000000000..a2da465d67e3 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerQueryGrouping.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12345:6789", + "customerId": "5678", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "None", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionDimensionsList.json new file mode 100644 index 000000000000..529439b0acbf --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionDimensionsList.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "invoiceSectionId": "9876", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31", + "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31", + "name": "dimensions_ResourceType_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 37, + "category": "ResourceType", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionDimensionsListExpandAndTop.json new file mode 100644 index 000000000000..4a1cca2dea2a --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionDimensionsListExpandAndTop.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "invoiceSectionId": "9876", + "$expand": "properties/data", + "$top": 5, + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31", + "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "thoroetrg01", + "default-notificationhubs-westus", + "jedikeyvaultrg", + "contosocodeflow8d4a", + "noobaa" + ], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31", + "name": "dimensions_ResourceType_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.automation/automationaccounts", + "microsoft.databricks/workspaces", + "microsoft.dbformysql/servers", + "microsoft.containerregistry/registries", + "microsoft.search/searchservices" + ], + "total": 37, + "category": "ResourceType", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionDimensionsListWithFilter.json new file mode 100644 index 000000000000..3d737cf438d1 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionDimensionsListWithFilter.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "invoiceSectionId": "9876", + "$expand": "properties/data", + "$top": 5, + "$filter": "properties/category eq 'resourceId'", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31", + "name": "dimensions_ResourceId_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount", + "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1", + "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume" + ], + "total": 1409, + "category": "ResourceId", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource Id", + "filterEnabled": true, + "groupingEnabled": true, + "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D" + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionQuery.json new file mode 100644 index 000000000000..a629d81ace06 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionQuery.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "invoiceSectionId": "9876", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ], + [ + 0.16677720329728665, + "gs-stms-dev", + 20180331, + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionQueryGrouping.json new file mode 100644 index 000000000000..8c4f73f459bf --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionQueryGrouping.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "invoiceSectionId": "9876", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "None", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupDimensionsList.json new file mode 100644 index 000000000000..381dd37759c6 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupDimensionsList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "managementGroupId": "MyMgId", + "scope": "providers/Microsoft.Management/managementGroups/MyMgId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31", + "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 37, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupDimensionsListExpandAndTop.json new file mode 100644 index 000000000000..f0d980973533 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupDimensionsListExpandAndTop.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "managementGroupId": "MyMgId", + "$expand": "properties/data", + "$top": 5, + "scope": "providers/Microsoft.Management/managementGroups/MyMgId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "thoroetrg01", + "default-notificationhubs-westus", + "jedikeyvaultrg", + "contosocodeflow8d4a", + "noobaa" + ], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.automation/automationaccounts", + "microsoft.databricks/workspaces", + "microsoft.dbformysql/servers", + "microsoft.containerregistry/registries", + "microsoft.search/searchservices" + ], + "total": 37, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupDimensionsListWithFilter.json new file mode 100644 index 000000000000..121645f857ba --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupDimensionsListWithFilter.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "managementGroupId": "MyMgId", + "$expand": "properties/data", + "$top": 5, + "$filter": "properties/category eq 'resourceId'", + "scope": "providers/Microsoft.Management/managementGroups/MyMgId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount", + "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1", + "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume" + ], + "total": 1409, + "category": "ResourceId", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource Id", + "filterEnabled": true, + "groupingEnabled": true, + "nextLink": "http://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D" + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupQuery.json new file mode 100644 index 000000000000..bf984b923bc8 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupQuery.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "managementGroupId": "MyMgId", + "scope": "providers/Microsoft.Management/managementGroups/MyMgId", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ], + [ + 0.16677720329728665, + "gs-stms-dev", + 20180331, + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupQueryGrouping.json new file mode 100644 index 000000000000..6765ec668659 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupQueryGrouping.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "managementGroupId": "MyMgId", + "scope": "providers/Microsoft.Management/managementGroups/MyMgId", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "None", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateView.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateView.json new file mode 100644 index 000000000000..4c5a6ee3e54b --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateView.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "viewName": "swaggerExample" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.CostManagement/views/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ff9fe66f1d10\"", + "properties": { + "displayName": "swagger Example", + "scope": "", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateViewCreateOrUpdate.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateViewCreateOrUpdate.json new file mode 100644 index 000000000000..13fce4b9f5aa --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateViewCreateOrUpdate.json @@ -0,0 +1,185 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "viewName": "swaggerExample", + "parameters": { + "eTag": "\"1d4ff9fe66f1d10\"", + "properties": { + "displayName": "swagger Example", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/providers/Microsoft.CostManagement/views/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ffa5a9c2430c\"", + "properties": { + "displayName": "swagger Example", + "scope": "", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + }, + "200": { + "body": { + "id": "/providers/Microsoft.CostManagement/views/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ffa5a9c2430c\"", + "properties": { + "displayName": "swagger Example", + "scope": "", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateViewDelete.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateViewDelete.json new file mode 100644 index 000000000000..3e6638272399 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateViewDelete.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "viewName": "TestView" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateViewList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateViewList.json new file mode 100644 index 000000000000..6fc6bfdf7a68 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateViewList.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.CostManagement/views/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ff9fe66f1d10\"", + "properties": { + "displayName": "swagger Example", + "scope": "", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + }, + { + "id": "/providers/Microsoft.CostManagement/views/swaggerExample2", + "name": "swaggerExample2", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ffa5a9c2430c\"", + "properties": { + "displayName": "swagger Example 2", + "scope": "", + "query": { + "type": "Usage", + "timeframe": "LastMonthToDate", + "dataSet": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "GroupedColumn", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupAlerts.json new file mode 100644 index 000000000000..d6b7e3e6eb4a --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupAlerts.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "ScreenSharingTest-peer", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111", + "name": "11111111-1111-1111-111111111111", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "11111111-1111-1111-111111111111_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 171000.32, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2019-06-24T05:51:52.8713179Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2019-08-31T17:51:55.1808807Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupDimensionsList.json new file mode 100644 index 000000000000..b8f59b39981d --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupDimensionsList.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "system.orlando", + "$expand": "properties/data", + "$top": 5, + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/system.orlando" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/system.orlando/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.storage/storageaccounts" + ], + "total": 1, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/system.orlando/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/authprod", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/systemevents", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/armadminprod", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/publicsystemportal" + ], + "total": 27, + "category": "ResourceId", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource Id", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupForecast.json new file mode 100644 index 000000000000..d06799dcc8dc --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupForecast.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "ScreenSharingTest-peer", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + }, + "includeActualCost": false, + "includeFreshPartialCost": false + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/query/00000000-0000-0000-0000-000000000000", + "name": "55312978-ba1b-415c-9304-cfd9c43c0481", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + 20180331, + "Forecast", + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupQuery.json new file mode 100644 index 000000000000..f9c74b989b4a --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupQuery.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "55312978-ba1b-415c-9304-c4b9c43c0481", + "resourceGroupName": "ScreenSharingTest-peer", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/55312978-ba1b-415c-9304-c4b9c43c0481/resourcegroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/Query/9af9459d-441d-4055-9ed0-83d4c4a363fb", + "name": "9af9459d-441d-4055-9ed0-83d4c4a363fb", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + "ScreenSharingTest-peer", + 20180417, + "USD" + ], + [ + 20.10333307059661, + "ScreenSharingTest-peer", + 20180418, + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupQueryGrouping.json new file mode 100644 index 000000000000..ec3b75e7a4fd --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupQueryGrouping.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "ScreenSharingTest-peer", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceType" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/Query/9af9459d-441d-4055-9ed0-83d4c4a363fb", + "name": "9af9459d-441d-4055-9ed0-83d4c4a363fb", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceType", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + "Microsoft.SqlServer", + 20180417, + "USD" + ], + [ + 20.10333307059661, + "Microsoft.Compute", + 20180418, + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SingleResourceGroupAlert.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SingleResourceGroupAlert.json new file mode 100644 index 000000000000..0e43a5319f88 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SingleResourceGroupAlert.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "ScreenSharingTest-peer", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer", + "alertId": "22222222-2222-2222-2222-222222222222" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/alerts/22222222-2222-2222-2222-222222222222", + "name": "22222222-2222-2222-2222-222222222222", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "22222222-2222-2222-2222-222222222222_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SingleSubscriptionAlert.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SingleSubscriptionAlert.json new file mode 100644 index 000000000000..4c2a74b2f55c --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SingleSubscriptionAlert.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "alertId": "22222222-2222-2222-2222-222222222222" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/alerts/22222222-2222-2222-2222-222222222222", + "name": "22222222-2222-2222-2222-222222222222", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "22222222-2222-2222-2222-222222222222_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionAlerts.json new file mode 100644 index 000000000000..76075cc1225c --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionAlerts.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111", + "name": "11111111-1111-1111-111111111111", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "11111111-1111-1111-111111111111_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 171000.32, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2019-06-24T05:51:52.8713179Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2019-08-31T17:51:55.1808807Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionDimensionsList.json new file mode 100644 index 000000000000..7ea7c1d89059 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionDimensionsList.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "$top": 5, + "$expand": "properties/data", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "dcrg", + "rg", + "offlinegalleryrg", + "system.orlando.adminkeyvault", + "system.orlando.keyvault" + ], + "total": 68, + "category": "ResourceGroup", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.storage/storageaccounts", + "microsoft.web.admin/role", + "microsoft.sql/servers", + "microsoft.compute/virtualmachines" + ], + "total": 4, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionForecast.json new file mode 100644 index 000000000000..9a66a788f0c7 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionForecast.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + }, + "includeActualCost": false, + "includeFreshPartialCost": false + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query/00000000-0000-0000-0000-000000000000", + "name": "55312978-ba1b-415c-9304-cfd9c43c0481", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + 20180331, + "Forecast", + "USD" + ], + [ + 218.68795741935486, + 20180331, + "Forecast", + "USD" + ], + [ + 0.14384913581657052, + 20180401, + "Forecast", + "USD" + ], + [ + 0.009865586851323632, + 20180429, + "Forecast", + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionQuery.json new file mode 100644 index 000000000000..087ae0864b64 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionQuery.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/Query/00000000-0000-0000-0000-000000000000", + "name": "55312978-ba1b-415c-9304-cfd9c43c0481", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + "ScreenSharingTest-peer", + 20180331, + "USD" + ], + [ + 218.68795741935486, + "Ict_StratAndPlan_GoldSprova_Prod", + 20180331, + "USD" + ], + [ + 0.14384913581657052, + "ssbciotelement01", + 20180401, + "USD" + ], + [ + 0.009865586851323632, + "ict_stratandplan_goldsprova_prod", + 20180429, + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionQueryGrouping.json new file mode 100644 index 000000000000..41803cc11041 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionQueryGrouping.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "None", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/Query/00000000-0000-0000-0000-000000000000", + "name": "55312978-ba1b-415c-9304-cfd9c43c0481", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 0.009865586851323632, + "Ict_StratAndPlan_GoldSprova_Prod_0", + "USD" + ], + [ + 218.68795741935486, + "Ict_StratAndPlan_GoldSprova_Prod_1", + "USD" + ], + [ + 2.10333307059661, + "ScreenSharingTest-peer1", + "USD" + ], + [ + 0.14384913581657052, + "Ssbciotelement01", + "USD" + ] + ] + } + } + }, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewByResourceGroup.json new file mode 100644 index 000000000000..e6ad7bccb6db --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewByResourceGroup.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "viewName": "swaggerExample", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ff9fe66f1d10\"", + "properties": { + "displayName": "swagger Example", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewCreateOrUpdateByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewCreateOrUpdateByResourceGroup.json new file mode 100644 index 000000000000..797191b41bee --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewCreateOrUpdateByResourceGroup.json @@ -0,0 +1,186 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "viewName": "swaggerExample", + "parameters": { + "eTag": "\"1d4ff9fe66f1d10\"", + "properties": { + "displayName": "swagger Example", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ffa5a9c2430c\"", + "properties": { + "displayName": "swagger Example", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ffa5a9c2430c\"", + "properties": { + "displayName": "swagger Example", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewDeleteByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewDeleteByResourceGroup.json new file mode 100644 index 000000000000..2ebf54df8ad3 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewDeleteByResourceGroup.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "viewName": "TestView" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewListByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewListByResourceGroup.json new file mode 100644 index 000000000000..6cbb6c7431b9 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewListByResourceGroup.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ff9fe66f1d10\"", + "properties": { + "displayName": "swagger Example", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample2", + "name": "swaggerExample2", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ffa5a9c2430c\"", + "properties": { + "displayName": "swagger Example 2", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "query": { + "type": "Usage", + "timeframe": "LastMonthToDate", + "dataSet": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "GroupedColumn", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/readme.azureresourceschema.md b/specification/cost-management/resource-manager/readme.azureresourceschema.md deleted file mode 100644 index ca57f5675564..000000000000 --- a/specification/cost-management/resource-manager/readme.azureresourceschema.md +++ /dev/null @@ -1,172 +0,0 @@ -## AzureResourceSchema - -These settings apply only when `--azureresourceschema` is specified on the command line. - -### AzureResourceSchema multi-api - -``` yaml $(azureresourceschema) && $(multiapi) -batch: - - tag: schema-costmanagement-2020-12-01-preview - - tag: schema-costmanagement-2020-06-01 - - tag: schema-costmanagement-2020-03-01-preview - - tag: schema-costmanagement-2019-11-01 - - tag: schema-costmanagement-2019-10-01 - - tag: schema-costmanagement-2019-09-01 - - tag: schema-costmanagement-2019-04-01-preview - - tag: schema-costmanagement-2019-03-01-preview - - tag: schema-costmanagement-2019-01-01 - - tag: schema-costmanagement-2018-12-01-preview - - tag: schema-costmanagement-2018-08-01-preview - - tag: schema-costmanagement-2018-05-31 - -``` - -Please also specify `--azureresourceschema-folder=`. - -### Tag: schema-costmanagement-2021-01-01 and azureresourceschema - -``` yaml $(tag) == 'schema-costmanagement-2021-01-01' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.CostManagement/stable/2021-01-01/costmanagement.exports.json - - Microsoft.CostManagement/stable/2021-01-01/costmanagement.generatedetailedcostreport.json - - Microsoft.CostManagement/stable/2020-06-01/costmanagement.json - -``` - -### Tag: schema-costmanagement-2020-12-01-preview and azureresourceschema - -``` yaml $(tag) == 'schema-costmanagement-2020-12-01-preview' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.CostManagement/preview/2020-12-01-preview/costmanagement.exports.json - - Microsoft.CostManagement/preview/2020-12-01-preview/costmanagement.generatedetailedcostreport.json - -``` - -### Tag: schema-costmanagement-2020-06-01 and azureresourceschema - -``` yaml $(tag) == 'schema-costmanagement-2020-06-01' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.CostManagement/stable/2020-06-01/costmanagement.json - - Microsoft.CostManagement/stable/2020-06-01/costmanagement.exports.json - -``` - -### Tag: schema-costmanagement-2020-03-01-preview and azureresourceschema - -``` yaml $(tag) == 'schema-costmanagement-2020-03-01-preview' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json - -``` - -### Tag: schema-costmanagement-2019-11-01 and azureresourceschema - -``` yaml $(tag) == 'schema-costmanagement-2019-11-01' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.CostManagement/stable/2019-11-01/costmanagement.json - - Microsoft.CostManagement/stable/2019-11-01/costmanagement.exports.json - -``` - -### Tag: schema-costmanagement-2019-10-01 and azureresourceschema - -``` yaml $(tag) == 'schema-costmanagement-2019-10-01' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.CostManagement/stable/2019-10-01/costmanagement.json - -``` - -### Tag: schema-costmanagement-2019-09-01 and azureresourceschema - -``` yaml $(tag) == 'schema-costmanagement-2019-09-01' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.CostManagement/stable/2019-09-01/costmanagement.json - -``` - -### Tag: schema-costmanagement-2019-04-01-preview and azureresourceschema - -``` yaml $(tag) == 'schema-costmanagement-2019-04-01-preview' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.CostManagement/preview/2019-04-01-preview/costmanagement.json - -``` - -### Tag: schema-costmanagement-2019-03-01-preview and azureresourceschema - -``` yaml $(tag) == 'schema-costmanagement-2019-03-01-preview' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.CostManagement/preview/2019-03-01-preview/costmanagement.json - -``` - -### Tag: schema-costmanagement-2019-01-01 and azureresourceschema - -``` yaml $(tag) == 'schema-costmanagement-2019-01-01' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.CostManagement/stable/2019-01-01/costmanagement.json - -``` - -### Tag: schema-costmanagement-2018-12-01-preview and azureresourceschema - -``` yaml $(tag) == 'schema-costmanagement-2018-12-01-preview' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.CostManagement/preview/2018-12-01-preview/costmanagement.json - -``` - -### Tag: schema-costmanagement-2018-08-01-preview and azureresourceschema - -``` yaml $(tag) == 'schema-costmanagement-2018-08-01-preview' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.CostManagement/preview/2018-08-01-preview/costmanagement.json - -``` - -### Tag: schema-costmanagement-2018-05-31 and azureresourceschema - -``` yaml $(tag) == 'schema-costmanagement-2018-05-31' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.CostManagement/stable/2018-05-31/costmanagement.json - -``` diff --git a/specification/cost-management/resource-manager/readme.md b/specification/cost-management/resource-manager/readme.md index 4cbe311bdc14..a0d96803628a 100644 --- a/specification/cost-management/resource-manager/readme.md +++ b/specification/cost-management/resource-manager/readme.md @@ -26,23 +26,34 @@ These are the global settings for the Cost Management API. ``` yaml openapi-type: arm -tag: package-2019-11 +tag: package-2021-10 azure-validator: false ``` --- +### Tag: package-2021-10 + +These settings apply only when `--tag=package-2021-10` is specified on the command line. + +```yaml $(tag) == 'package-2021-10' +input-file: + - Microsoft.CostManagement/stable/2021-10-01/costmanagement.exports.json + - Microsoft.CostManagement/stable/2021-10-01/costmanagement.generatedetailedcostreport.json + - Microsoft.CostManagement/stable/2021-10-01/costmanagement.json +``` ### Tag: package-2021-01 These settings apply only when `--tag=package-2021-01` is specified on the command line. -```yaml $(tag) == 'package-2021-01' +``` yaml $(tag) == 'package-2021-01' input-file: - Microsoft.CostManagement/stable/2021-01-01/costmanagement.exports.json - Microsoft.CostManagement/stable/2021-01-01/costmanagement.generatedetailedcostreport.json - Microsoft.CostManagement/stable/2020-06-01/costmanagement.json ``` + ### Tag: package-preview-2020-12 These settings apply only when `--tag=package-preview-2020-12` is specified on the command line. @@ -142,6 +153,44 @@ input-file: ``` yaml directive: + - suppress: R4011 + from: costmanagement.exports.json + reason: 'API change needed, The delete operation is defined without a 200 or 204 error response implementation,please add it' + - suppress: R3023 + from: costmanagement.generatedetailedcostreport.json + reason: 'API change needed, Operations API must be implemented for operations' + - suppress: R4018 + from: costmanagement.json + reason: 'API change needed, Response schema of OperatioAPI does not match Arm Schema' + - suppress: R4037 + from: costmanagement.generatedetailedcostreport.json + reason: 'This needs api change - MissingTypeObject' + - suppress: R4009 + from: costmanagement.exports.json + reason: API change needed, we do not yet support systemdata + - suppress: R4009 + from: costmanagement.json + reason: API change needed, we do not yet support systemdata + - suppress: EnumInsteadOfBoolean + from: costmanagement.exports.json + where: $.definitions.CommonExportProperties.properties.partitionData + reason: 'API change needed' + - suppress: EnumInsteadOfBoolean + from: costmanagement.json + where: $.definitions.DimensionProperties.properties.filterEnabled + reason: 'API change needed' + - suppress: EnumInsteadOfBoolean + from: costmanagement.json + where: $.definitions.DimensionProperties.properties.groupingEnabled + reason: 'API change needed' + - suppress: EnumInsteadOfBoolean + from: costmanagement.json + where: $.definitions.ForecastDefinition.properties.includeFreshPartialCost + reason: 'API change needed' + - suppress: EnumInsteadOfBoolean + from: costmanagement.json + where: $.definitions.ForecastDefinition.properties.includeActualCost + reason: 'API change needed' - suppress: R2059 from: costmanagement.json where: $.paths @@ -361,5 +410,3 @@ java: regenerate-manager: true generate-interface: true ``` - - diff --git a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json index baf26422c623..62cfd112c61a 100644 --- a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json +++ b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json @@ -52,6 +52,102 @@ } } }, + "/providers/Microsoft.CustomerLockbox/tenantOptedIn/{tenantId}": { + "get": { + "tags": [ + "Requests" + ], + "description": "Get Customer Lockbox request", + "operationId": "Get_TenantOptedIn", + "x-ms-examples": { + "check if a TenantId is Optedin": { + "$ref": "./examples/TenantOptedIn.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/TenantIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Retrieval of Opt-in status for Tenant successful.", + "schema": { + "$ref": "#/definitions/TenantOptInResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.CustomerLockbox/enableLockbox": { + "post": { + "tags": [ + "Requests" + ], + "description": "Enable Tenant for Lockbox ", + "operationId": "Post_EnableLockbox", + "x-ms-examples": { + "Enable Tenant in Lockbox": { + "$ref": "./examples/EnableLockbox.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Enabling Tenant for Lockbox successful" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.CustomerLockbox/disableLockbox": { + "post": { + "tags": [ + "Requests" + ], + "description": "Disable Tenant for Lockbox ", + "operationId": "Post_DisableLockbox", + "x-ms-examples": { + "Disable a tenant in Lockbox": { + "$ref": "./examples/DisableLockbox.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Disabling Tenant for Lockbox successful" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, "/subscriptions/{subscriptionId}/providers/Microsoft.CustomerLockbox/requests/{requestId}": { "get": { "tags": [ @@ -91,7 +187,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.CustomerLockbox/requests/{requestId}/UpdateApproval": { + "/subscriptions/{subscriptionId}/providers/Microsoft.CustomerLockbox/requests/{requestId}/updateApproval": { "post": { "tags": [ "Requests" @@ -189,6 +285,7 @@ "definitions": { "OperationListResult": { "description": "Result of the request to list Customer Lockbox operations. It contains a list of operations.", + "type": "object", "properties": { "value": { "description": "List of Customer Lockbox operations supported by the Microsoft.StreamAnalytics resource provider.", @@ -222,6 +319,7 @@ }, "display": { "description": "Contains the localized display information for this particular operation / action.", + "type": "object", "readOnly": true, "properties": { "provider": { @@ -258,8 +356,20 @@ } } }, + "TenantOptInResponse": { + "description": "TenantOptIn Response object", + "type": "object", + "properties": { + "isOptedIn": { + "type": "boolean", + "description": "True if tenant is opted in, false otherwise ", + "readOnly": true + } + } + }, "RequestListResult": { "description": "Object containing a list of streaming jobs.", + "type": "object", "properties": { "value": { "type": "array", @@ -356,7 +466,7 @@ "description": "The url of the support case.", "readOnly": true }, - "workItemSource": { + "workitemsource": { "type": "string", "description": "The support case system that was used to initiate the request.", "readOnly": true @@ -365,6 +475,11 @@ "type": "string", "description": "The subscription ID.", "readOnly": true + }, + "accessLevel": { + "type": "string", + "description": "Access level for requested resource", + "readOnly": true } } }, @@ -416,6 +531,7 @@ "ErrorResponse": { "x-ms-external": true, "description": "An error response from the Lockbox service.", + "type": "object", "properties": { "error": { "$ref": "#/definitions/ErrorBody", @@ -426,6 +542,7 @@ "ErrorBody": { "x-ms-external": true, "description": "An error response body from the Lockbox service.", + "type": "object", "properties": { "code": { "type": "string", @@ -451,6 +568,7 @@ "ErrorAdditionalInfo": { "x-ms-external": true, "description": "An error additional info for the Lockbox service.", + "type": "object", "properties": { "type": { "type": "string", @@ -478,6 +596,14 @@ "type": "string", "x-ms-parameter-location": "method" }, + "TenantIdParameter": { + "name": "tenantId", + "in": "path", + "description": "The Azure tenant ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, "ApiVersionParameter": { "name": "api-version", "in": "query", diff --git a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/DisableLockbox.json b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/DisableLockbox.json new file mode 100644 index 000000000000..55decedc9588 --- /dev/null +++ b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/DisableLockbox.json @@ -0,0 +1,8 @@ +{ + "parameters": { + "api-version": "2018-10-11-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/EnableLockbox.json b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/EnableLockbox.json new file mode 100644 index 000000000000..55decedc9588 --- /dev/null +++ b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/EnableLockbox.json @@ -0,0 +1,8 @@ +{ + "parameters": { + "api-version": "2018-10-11-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_Get_InSubscription.json b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_Get_InSubscription.json index 0bd93d6d17be..47f559e6d79e 100644 --- a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_Get_InSubscription.json +++ b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_Get_InSubscription.json @@ -21,7 +21,7 @@ "resourceType": "VMSS", "supportRequest": "12345", "supportCaseUrl": "https://portal.azure.com/#resource/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/microsoft.support/supporttickets/12345", - "workItemSource": "Other", + "workitemsource": "Other", "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } } diff --git a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_List.json b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_List.json index 1ac1bb5686eb..8afa28c67e7e 100644 --- a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_List.json +++ b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_List.json @@ -24,7 +24,7 @@ "resourceType": "VMSS", "supportRequest": "12345", "supportCaseUrl": "https://portal.azure.com/#resource/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/microsoft.support/supporttickets/12345", - "workItemSource": "Other", + "workitemsource": "Other", "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } }, @@ -43,7 +43,7 @@ "resourceType": "Subscription", "supportRequest": "120101324000234", "supportCaseUrl": "https://portal.azure.com/#resource/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/microsoft.support/supporttickets/120101324000234", - "workItemSource": "SupportRequest", + "workitemsource": "SupportRequest", "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } }, @@ -62,7 +62,7 @@ "resourceType": "Subscription", "supportRequest": "120101324000234", "supportCaseUrl": "https://portal.azure.com/#resource/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/microsoft.support/supporttickets/120101324000234", - "workItemSource": "SupportRequest", + "workitemsource": "SupportRequest", "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } } diff --git a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_List_FilterByStatus.json b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_List_FilterByStatus.json index 19fd3b56245b..b1f855f050f1 100644 --- a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_List_FilterByStatus.json +++ b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_List_FilterByStatus.json @@ -24,7 +24,7 @@ "resourceType": "VMSS", "supportRequest": "12345", "supportCaseUrl": "https://portal.azure.com/#resource/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/microsoft.support/supporttickets/12345", - "workItemSource": "Other", + "workitemsource": "Other", "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } }, @@ -43,7 +43,7 @@ "resourceType": "Subscription", "supportRequest": "120101324000234", "supportCaseUrl": "https://portal.azure.com/#resource/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/microsoft.support/supporttickets/120101324000234", - "workItemSource": "SupportRequest", + "workitemsource": "SupportRequest", "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } } diff --git a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/TenantOptedIn.json b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/TenantOptedIn.json new file mode 100644 index 000000000000..4d796c2d8c57 --- /dev/null +++ b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/TenantOptedIn.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "api-version": "2018-10-11-preview" + }, + "responses": { + "200": { + "body": { + "isOptedIn": true + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/databoxedge.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/databoxedge.json new file mode 100644 index 000000000000..74b362105dec --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/databoxedge.json @@ -0,0 +1,9259 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-06-01-preview", + "title": "DataBoxEdgeManagementClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.DataBoxEdge/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "List all the supported operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of supported operations.", + "schema": { + "$ref": "#/definitions/OperationsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "OperationsGet": { + "$ref": "./examples/OperationsGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/availableSkus": { + "get": { + "tags": [ + "AvailableSkus" + ], + "summary": "List all the available Skus and information related to them.", + "operationId": "AvailableSkus_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Lists the available Skus and information related to them.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeSkuList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "AvailableSkus": { + "$ref": "./examples/AvailableSkusList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices": { + "get": { + "tags": [ + "Devices" + ], + "description": "Gets all the Data Box Edge/Data Box Gateway devices in a subscription.", + "operationId": "Devices_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The collection of Data Box Edge/Data Box Gateway devices.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDeviceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "DataBoxEdgeDeviceGetBySubscription": { + "$ref": "./examples/DataBoxEdgeDeviceGetBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices": { + "get": { + "tags": [ + "Devices" + ], + "description": "Gets all the Data Box Edge/Data Box Gateway devices in a resource group.", + "operationId": "Devices_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The collection of Data Box Edge/Data Box Gateway devices.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDeviceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "DataBoxEdgeDeviceGetByResourceGroup": { + "$ref": "./examples/DataBoxEdgeDeviceGetByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}": { + "get": { + "tags": [ + "Devices" + ], + "description": "Gets the properties of the Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Data Box Edge/Data Box Gateway device.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DataBoxEdgeDeviceGetByName": { + "$ref": "./examples/DataBoxEdgeDeviceGetByName.json" + }, + "DataBoxEdgeDeviceGetByNameWithDataResidency": { + "$ref": "./examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json" + } + } + }, + "put": { + "tags": [ + "Devices" + ], + "description": "Creates or updates a Data Box Edge/Data Box Gateway resource.", + "operationId": "Devices_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "dataBoxEdgeDevice", + "in": "body", + "description": "The resource object.", + "required": true, + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevice" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the resource.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DataBoxEdgeDevicePut": { + "$ref": "./examples/DataBoxEdgeDevicePut.json" + }, + "DataBoxEdgeDevicePutWithDataResidency": { + "$ref": "./examples/DataBoxEdgeDevicePutWithDataResidency.json" + } + } + }, + "delete": { + "tags": [ + "Devices" + ], + "description": "Deletes the Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the resource." + }, + "202": { + "description": "Accepted the request to delete the resource." + }, + "204": { + "description": "The resource is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DataBoxEdgeDeviceDelete": { + "$ref": "./examples/DataBoxEdgeDeviceDelete.json" + } + } + }, + "patch": { + "tags": [ + "Devices" + ], + "description": "Modifies a Data Box Edge/Data Box Gateway resource.", + "operationId": "Devices_Update", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The resource parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevicePatch" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the resource.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DataBoxEdgeDevicePatch": { + "$ref": "./examples/DataBoxEdgeDevicePatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts": { + "get": { + "tags": [ + "Alerts" + ], + "description": "Gets all the alerts for a Data Box Edge/Data Box Gateway device.", + "operationId": "Alerts_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of alerts.", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "AlertGetAllInDevice": { + "$ref": "./examples/AlertGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts/{name}": { + "get": { + "tags": [ + "Alerts" + ], + "summary": "Gets an alert by name.", + "operationId": "Alerts_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The alert name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The alert details.", + "schema": { + "$ref": "#/definitions/Alert" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AlertGet": { + "$ref": "./examples/AlertGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules": { + "get": { + "tags": [ + "BandwidthSchedules" + ], + "description": "Gets all the bandwidth schedules for a Data Box Edge/Data Box Gateway device.", + "operationId": "BandwidthSchedules_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of bandwidth schedules.", + "schema": { + "$ref": "#/definitions/BandwidthSchedulesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "BandwidthScheduleGetAllInDevice": { + "$ref": "./examples/BandwidthScheduleGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules/{name}": { + "get": { + "tags": [ + "BandwidthSchedules" + ], + "description": "Gets the properties of the specified bandwidth schedule.", + "operationId": "BandwidthSchedules_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The bandwidth schedule name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The bandwidth schedule.", + "schema": { + "$ref": "#/definitions/BandwidthSchedule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BandwidthScheduleGet": { + "$ref": "./examples/BandwidthScheduleGet.json" + } + } + }, + "put": { + "tags": [ + "BandwidthSchedules" + ], + "description": "Creates or updates a bandwidth schedule.", + "operationId": "BandwidthSchedules_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The bandwidth schedule name which needs to be added/updated.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The bandwidth schedule to be added or updated.", + "required": true, + "schema": { + "$ref": "#/definitions/BandwidthSchedule" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the bandwidth schedule.", + "schema": { + "$ref": "#/definitions/BandwidthSchedule" + } + }, + "202": { + "description": "Accepted the request to create or update the bandwidth schedule." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "BandwidthSchedulePut": { + "$ref": "./examples/BandwidthSchedulePut.json" + } + } + }, + "delete": { + "tags": [ + "BandwidthSchedules" + ], + "description": "Deletes the specified bandwidth schedule.", + "operationId": "BandwidthSchedules_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The bandwidth schedule name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted the request to delete the bandwidth schedule." + }, + "204": { + "description": "Successfully deleted the bandwidth schedule." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "BandwidthScheduleDelete": { + "$ref": "./examples/BandwidthScheduleDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/diagnosticProactiveLogCollectionSettings/default": { + "get": { + "tags": [ + "DiagnosticSettings" + ], + "description": "Gets the proactive log collection settings of the specified Data Box Edge/Data Box Gateway device.", + "operationId": "DiagnosticSettings_GetDiagnosticProactiveLogCollectionSettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The diagnostic proactive log collection settings.", + "schema": { + "$ref": "#/definitions/DiagnosticProactiveLogCollectionSettings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetDiagnosticProactiveLogCollectionSettings": { + "$ref": "./examples/GetDiagnosticProactiveLogCollectionSettings.json" + } + } + }, + "put": { + "tags": [ + "DiagnosticSettings" + ], + "description": "Updates the proactive log collection settings on a Data Box Edge/Data Box Gateway device.", + "operationId": "DiagnosticSettings_UpdateDiagnosticProactiveLogCollectionSettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "proactiveLogCollectionSettings", + "in": "body", + "description": "The proactive log collection settings.", + "required": true, + "schema": { + "$ref": "#/definitions/DiagnosticProactiveLogCollectionSettings" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the proactive log collection settings.", + "schema": { + "$ref": "#/definitions/DiagnosticProactiveLogCollectionSettings" + } + }, + "202": { + "description": "Accepted the request to update the proactive log collection settings." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "UpdateDiagnosticProactiveLogCollectionSettings": { + "$ref": "./examples/UpdateDiagnosticProactiveLogCollectionSettings.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/diagnosticRemoteSupportSettings/default": { + "get": { + "tags": [ + "DiagnosticSettings" + ], + "description": "Gets the diagnostic remote support settings of the specified Data Box Edge/Data Box Gateway device.", + "operationId": "DiagnosticSettings_GetDiagnosticRemoteSupportSettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The diagnostic remote support settings.", + "schema": { + "$ref": "#/definitions/DiagnosticRemoteSupportSettings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetDiagnosticRemoteSupportSettings": { + "$ref": "./examples/GetDiagnosticRemoteSupportSettings.json" + } + } + }, + "put": { + "tags": [ + "DiagnosticSettings" + ], + "description": "Updates the diagnostic remote support settings on a Data Box Edge/Data Box Gateway device.", + "operationId": "DiagnosticSettings_UpdateDiagnosticRemoteSupportSettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "diagnosticRemoteSupportSettings", + "in": "body", + "description": "The diagnostic remote support settings.", + "required": true, + "schema": { + "$ref": "#/definitions/DiagnosticRemoteSupportSettings" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted the request to update the diagnostic remote support settings." + }, + "200": { + "description": "Successfully updated the diagnostic remote support settings.", + "schema": { + "$ref": "#/definitions/DiagnosticRemoteSupportSettings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "UpdateDiagnosticRemoteSupportSettings": { + "$ref": "./examples/UpdateDiagnosticRemoteSupportSettings.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/downloadUpdates": { + "post": { + "tags": [ + "Devices" + ], + "summary": "Downloads the updates on a Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_DownloadUpdates", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully downloaded the updates on the device." + }, + "202": { + "description": "Accepted the request to download the updates on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DownloadUpdatesPost": { + "$ref": "./examples/DownloadUpdatesPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/generateCertificate": { + "post": { + "tags": [ + "Devices" + ], + "description": "Generates certificate for activation key.", + "operationId": "Devices_GenerateCertificate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully generated self signed certificate.", + "schema": { + "$ref": "#/definitions/GenerateCertResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GenerateCertificate": { + "$ref": "./examples/GenerateCertificate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/getExtendedInformation": { + "post": { + "tags": [ + "Devices" + ], + "description": "Gets additional information for the specified Azure Stack Edge/Data Box Gateway device.", + "operationId": "Devices_GetExtendedInformation", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The additional information.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExtendedInfoPost": { + "$ref": "./examples/ExtendedInfoPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/installUpdates": { + "post": { + "tags": [ + "Devices" + ], + "summary": "Installs the updates on the Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_InstallUpdates", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully installed updates on the device." + }, + "202": { + "description": "Accepted the request to install updates on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "InstallUpdatesPost": { + "$ref": "./examples/InstallUpdatesPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/jobs/{name}": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Gets the details of a specified job on a Data Box Edge/Data Box Gateway device.", + "operationId": "Jobs_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The job name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The job details.", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "JobsGet": { + "$ref": "./examples/JobsGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/networkSettings/default": { + "get": { + "tags": [ + "Devices" + ], + "description": "Gets the network settings of the specified Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_GetNetworkSettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The device network settings.", + "schema": { + "$ref": "#/definitions/NetworkSettings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkSettingsGet": { + "$ref": "./examples/NetworkSettingsGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/nodes": { + "get": { + "tags": [ + "Nodes" + ], + "description": "Gets all the nodes currently configured under this Data Box Edge device", + "operationId": "Nodes_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of all nodes on the device.", + "schema": { + "$ref": "#/definitions/NodeList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "NodesGetAllInDevice": { + "$ref": "./examples/NodeGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/operationsStatus/{name}": { + "get": { + "tags": [ + "OperationsStatus" + ], + "summary": "Gets the details of a specified job on a Data Box Edge/Data Box Gateway device.", + "operationId": "OperationsStatus_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The job name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The job details.", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "OperationsStatusGet": { + "$ref": "./examples/OperationsStatusGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders": { + "get": { + "tags": [ + "Orders" + ], + "summary": "Lists all the orders related to a Data Box Edge/Data Box Gateway device.", + "operationId": "Orders_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Lists all the orders for the Data Box Edge Device", + "schema": { + "$ref": "#/definitions/OrderList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "OrderGetAllInDevice": { + "$ref": "./examples/OrderGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default": { + "get": { + "tags": [ + "Orders" + ], + "summary": "Gets a specific order by name.", + "operationId": "Orders_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The order details of a device.", + "schema": { + "$ref": "#/definitions/Order" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "OrderGet": { + "$ref": "./examples/OrderGet.json" + } + } + }, + "put": { + "tags": [ + "Orders" + ], + "summary": "Creates or updates an order.", + "operationId": "Orders_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The order details of a device.", + "required": true, + "type": "string" + }, + { + "name": "order", + "in": "body", + "description": "The order to be created or updated.", + "required": true, + "schema": { + "$ref": "#/definitions/Order" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the order.", + "schema": { + "$ref": "#/definitions/Order" + } + }, + "202": { + "description": "Accepted the request to create or update the order." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "OrderPut": { + "$ref": "./examples/OrderPut.json" + } + } + }, + "delete": { + "tags": [ + "Orders" + ], + "summary": "Deletes the order related to the device.", + "operationId": "Orders_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the order." + }, + "202": { + "description": "Accepted the request to delete the order." + }, + "204": { + "description": "The order is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "OrderDelete": { + "$ref": "./examples/OrderDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default/listDCAccessCode": { + "post": { + "tags": [ + "Orders" + ], + "summary": "Gets the DCAccess Code", + "operationId": "Orders_ListDCAccessCode", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "DC Access code for the device", + "schema": { + "$ref": "#/definitions/DCAccessCode" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetDCAccessCode": { + "$ref": "./examples/GetDCAccessCode.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles": { + "get": { + "tags": [ + "Roles" + ], + "description": "Lists all the roles configured in a Data Box Edge/Data Box Gateway device.", + "operationId": "Roles_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of all the roles configured in the device.", + "schema": { + "$ref": "#/definitions/RoleList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "RoleGetAllInDevice": { + "$ref": "./examples/RoleGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{name}": { + "get": { + "tags": [ + "Roles" + ], + "description": "Gets a specific role by name.", + "operationId": "Roles_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The role with the specified name in the given device.", + "schema": { + "$ref": "#/definitions/Role" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "RoleGet": { + "$ref": "./examples/RoleGet.json" + } + } + }, + "put": { + "tags": [ + "Roles" + ], + "description": "Create or update a role.", + "operationId": "Roles_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "name": "role", + "in": "body", + "description": "The role properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Role" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the role.", + "schema": { + "$ref": "#/definitions/Role" + } + }, + "202": { + "description": "Accepted the request to create or update the role." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "RolePut": { + "$ref": "./examples/RolePut.json" + } + } + }, + "delete": { + "tags": [ + "Roles" + ], + "description": "Deletes the role on the device.", + "operationId": "Roles_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the role." + }, + "202": { + "description": "Accepted the request to delete the role." + }, + "204": { + "description": "The role is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "RoleDelete": { + "$ref": "./examples/RoleDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/addons": { + "get": { + "tags": [ + "Addons" + ], + "description": "Lists all the addons configured in the role.", + "operationId": "Addons_ListByRole", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of all the addons configured in the role.", + "schema": { + "$ref": "#/definitions/AddonList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "RoleListAddOns": { + "$ref": "./examples/RoleListAddOns.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/addons/{addonName}": { + "get": { + "tags": [ + "Addons" + ], + "description": "Gets a specific addon by name.", + "operationId": "Addons_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "name": "addonName", + "in": "path", + "description": "The addon name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The addon with the specified name in the role.", + "schema": { + "$ref": "#/definitions/Addon" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetAddOns": { + "$ref": "./examples/GetAddons.json" + } + } + }, + "put": { + "tags": [ + "Addons" + ], + "description": "Create or update a addon.", + "operationId": "Addons_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "name": "addonName", + "in": "path", + "description": "The addon name.", + "required": true, + "type": "string" + }, + { + "name": "addon", + "in": "body", + "description": "The addon properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Addon" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the addon.", + "schema": { + "$ref": "#/definitions/Addon" + } + }, + "202": { + "description": "Accepted the request to create or update the addon." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "PutAddOns": { + "$ref": "./examples/PutAddons.json" + } + } + }, + "delete": { + "tags": [ + "Addons" + ], + "description": "Deletes the addon on the device.", + "operationId": "Addons_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "name": "addonName", + "in": "path", + "description": "The addon name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the addon." + }, + "202": { + "description": "Accepted the request to delete the addon." + }, + "204": { + "description": "The addon is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DeleteAddOns": { + "$ref": "./examples/DeleteAddons.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/monitoringConfig": { + "get": { + "tags": [ + "MonitoringConfig" + ], + "summary": "Lists metric configurations in a role.", + "operationId": "MonitoringConfig_List", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The monitoring config details.", + "schema": { + "$ref": "#/definitions/MonitoringMetricConfigurationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListMonitoringConfig": { + "$ref": "./examples/ListMonitoringConfig.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/monitoringConfig/default": { + "get": { + "tags": [ + "MonitoringConfig" + ], + "summary": "Gets a metric configuration of a role.", + "operationId": "MonitoringConfig_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The monitoring config details.", + "schema": { + "$ref": "#/definitions/MonitoringMetricConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetMonitoringConfig": { + "$ref": "./examples/GetMonitoringConfig.json" + } + } + }, + "put": { + "tags": [ + "MonitoringConfig" + ], + "summary": "Creates a new metric configuration or updates an existing one for a role.", + "operationId": "MonitoringConfig_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "name": "monitoringMetricConfiguration", + "in": "body", + "description": "The metric configuration.", + "required": true, + "schema": { + "$ref": "#/definitions/MonitoringMetricConfiguration" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the metrics configuration.", + "schema": { + "$ref": "#/definitions/MonitoringMetricConfiguration" + } + }, + "202": { + "description": "Accepted the request to create or update the metrics configuration." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "PutMonitoringConfig": { + "$ref": "./examples/PutMonitoringConfig.json" + } + } + }, + "delete": { + "tags": [ + "MonitoringConfig" + ], + "summary": "deletes a new metric configuration for a role.", + "operationId": "MonitoringConfig_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the metrics configuration." + }, + "202": { + "description": "Accepted the request to delete the metrics configuration." + }, + "204": { + "description": "The metrics configuration is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DeleteMonitoringConfig": { + "$ref": "./examples/DeleteMonitoringConfig.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/scanForUpdates": { + "post": { + "tags": [ + "Devices" + ], + "summary": "Scans for updates on a Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_ScanForUpdates", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully scanned the device for updates." + }, + "202": { + "description": "Accepted the request to scan for updates on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ScanForUpdatesPost": { + "$ref": "./examples/ScanForUpdatesPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/securitySettings/default/update": { + "post": { + "tags": [ + "Devices" + ], + "description": "Updates the security settings on a Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_CreateOrUpdateSecuritySettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "securitySettings", + "in": "body", + "description": "The security settings.", + "required": true, + "schema": { + "$ref": "#/definitions/SecuritySettings" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted the request to update the security settings." + }, + "204": { + "description": "Updated the security settings." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CreateOrUpdateSecuritySettings": { + "$ref": "./examples/SecuritySettingsUpdatePost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares": { + "get": { + "tags": [ + "Shares" + ], + "summary": "Lists all the shares in a Data Box Edge/Data Box Gateway device.", + "operationId": "Shares_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of all the shares on the device.", + "schema": { + "$ref": "#/definitions/ShareList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ShareGetAllInDevice": { + "$ref": "./examples/ShareGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}": { + "get": { + "tags": [ + "Shares" + ], + "summary": "Gets a share by name.", + "operationId": "Shares_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The share name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The share details.", + "schema": { + "$ref": "#/definitions/Share" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ShareGet": { + "$ref": "./examples/ShareGet.json" + } + } + }, + "put": { + "tags": [ + "Shares" + ], + "summary": "Creates a new share or updates an existing share on the device.", + "operationId": "Shares_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The share name.", + "required": true, + "type": "string" + }, + { + "name": "share", + "in": "body", + "description": "The share properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Share" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the share.", + "schema": { + "$ref": "#/definitions/Share" + } + }, + "202": { + "description": "Accepted the request to create or update the share." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SharePut": { + "$ref": "./examples/SharePut.json" + } + } + }, + "delete": { + "tags": [ + "Shares" + ], + "description": "Deletes the share on the Data Box Edge/Data Box Gateway device.", + "operationId": "Shares_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The share name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the share." + }, + "202": { + "description": "Accepted the request to delete the share." + }, + "204": { + "description": "The share is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ShareDelete": { + "$ref": "./examples/ShareDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}/refresh": { + "post": { + "tags": [ + "Shares" + ], + "summary": "Refreshes the share metadata with the data from the cloud.", + "operationId": "Shares_Refresh", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The share name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully refreshed the share on the device." + }, + "202": { + "description": "Accepted the request to refresh the share on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ShareRefreshPost": { + "$ref": "./examples/ShareRefreshPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials": { + "get": { + "tags": [ + "StorageAccountCredentials" + ], + "summary": "Gets all the storage account credentials in a Data Box Edge/Data Box Gateway device.", + "operationId": "StorageAccountCredentials_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of storage account credentials.", + "schema": { + "$ref": "#/definitions/StorageAccountCredentialList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SACGetAllInDevice": { + "$ref": "./examples/SACGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials/{name}": { + "get": { + "tags": [ + "StorageAccountCredentials" + ], + "description": "Gets the properties of the specified storage account credential.", + "operationId": "StorageAccountCredentials_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The storage account credential name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The storage account credential properties.", + "schema": { + "$ref": "#/definitions/StorageAccountCredential" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "SACGet": { + "$ref": "./examples/SACGet.json" + } + } + }, + "put": { + "tags": [ + "StorageAccountCredentials" + ], + "description": "Creates or updates the storage account credential.", + "operationId": "StorageAccountCredentials_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The storage account credential name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountCredential", + "in": "body", + "description": "The storage account credential.", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccountCredential" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the storage account credential.", + "schema": { + "$ref": "#/definitions/StorageAccountCredential" + } + }, + "202": { + "description": "Accepted the request to create or update the storage account credential." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SACPut": { + "$ref": "./examples/SACPut.json" + } + } + }, + "delete": { + "tags": [ + "StorageAccountCredentials" + ], + "description": "Deletes the storage account credential.", + "operationId": "StorageAccountCredentials_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The storage account credential name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the storage account credential." + }, + "202": { + "description": "Accepted the request to delete the storage account credential." + }, + "204": { + "description": "The storage account credential is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SACDelete": { + "$ref": "./examples/SACDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts": { + "get": { + "tags": [ + "StorageAccounts" + ], + "summary": "Lists all the StorageAccounts in a Data Box Edge/Data Box Gateway device.", + "operationId": "StorageAccounts_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of all the StorageAccounts on the device.", + "schema": { + "$ref": "#/definitions/StorageAccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "StorageAccountGetAllInDevice": { + "$ref": "./examples/StorageAccountGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}": { + "get": { + "tags": [ + "StorageAccounts" + ], + "summary": "Gets a StorageAccount by name.", + "operationId": "StorageAccounts_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The storage account name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The storage account details.", + "schema": { + "$ref": "#/definitions/StorageAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageAccountGet": { + "$ref": "./examples/StorageAccountGet.json" + } + } + }, + "put": { + "tags": [ + "StorageAccounts" + ], + "summary": "Creates a new StorageAccount or updates an existing StorageAccount on the device.", + "operationId": "StorageAccounts_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The StorageAccount name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccount", + "in": "body", + "description": "The StorageAccount properties.", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccount" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the StorageAccount.", + "schema": { + "$ref": "#/definitions/StorageAccount" + } + }, + "202": { + "description": "Accepted the request to create or update the StorageAccount." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "StorageAccountPut": { + "$ref": "./examples/StorageAccountPut.json" + } + } + }, + "delete": { + "tags": [ + "StorageAccounts" + ], + "description": "Deletes the StorageAccount on the Data Box Edge/Data Box Gateway device.", + "operationId": "StorageAccounts_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The StorageAccount name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted the request to delete the StorageAccount." + }, + "204": { + "description": "The StorageAccount is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "StorageAccountDelete": { + "$ref": "./examples/StorageAccountDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers": { + "get": { + "tags": [ + "Containers" + ], + "summary": "Lists all the containers of a storage Account in a Data Box Edge/Data Box Gateway device.", + "operationId": "Containers_ListByStorageAccount", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The storage Account name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of all the containers on the device.", + "schema": { + "$ref": "#/definitions/ContainerList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ContainerListAllInDevice": { + "$ref": "./examples/ContainerListAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers/{containerName}": { + "get": { + "tags": [ + "Containers" + ], + "summary": "Gets a container by name.", + "operationId": "Containers_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The Storage Account Name", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "The container Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The container details.", + "schema": { + "$ref": "#/definitions/Container" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ContainerGet": { + "$ref": "./examples/ContainerGet.json" + } + } + }, + "put": { + "tags": [ + "Containers" + ], + "summary": "Creates a new container or updates an existing container on the device.", + "operationId": "Containers_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The Storage Account Name", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "The container name.", + "required": true, + "type": "string" + }, + { + "name": "container", + "in": "body", + "description": "The container properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Container" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the container.", + "schema": { + "$ref": "#/definitions/Container" + } + }, + "202": { + "description": "Accepted the request to create or update the container." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ContainerPut": { + "$ref": "./examples/ContainerPut.json" + } + } + }, + "delete": { + "tags": [ + "Containers" + ], + "description": "Deletes the container on the Data Box Edge/Data Box Gateway device.", + "operationId": "Containers_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The Storage Account Name", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "The container name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted the request to delete the container." + }, + "204": { + "description": "The container is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ContainerDelete": { + "$ref": "./examples/ContainerDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers/{containerName}/refresh": { + "post": { + "tags": [ + "Containers" + ], + "summary": "Refreshes the container metadata with the data from the cloud.", + "operationId": "Containers_Refresh", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The Storage Account Name", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "The container name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully refreshed the container on the device." + }, + "202": { + "description": "Accepted the request to refresh the container on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ContainerRefresh": { + "$ref": "./examples/ContainerRefresh.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers": { + "get": { + "tags": [ + "Triggers" + ], + "description": "Lists all the triggers configured in the device.", + "operationId": "Triggers_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "Specify $filter='CustomContextTag eq ' to filter on custom context tag property", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "List all the triggers configured in the device", + "schema": { + "$ref": "#/definitions/TriggerList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "TriggerGetAllInDevice": { + "$ref": "./examples/TriggerGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers/{name}": { + "get": { + "tags": [ + "Triggers" + ], + "description": "Get a specific trigger by name.", + "operationId": "Triggers_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The trigger name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The trigger.", + "schema": { + "$ref": "#/definitions/Trigger" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "TriggerGet": { + "$ref": "./examples/TriggerGet.json" + } + } + }, + "put": { + "tags": [ + "Triggers" + ], + "description": "Creates or updates a trigger.", + "operationId": "Triggers_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "Creates or updates a trigger", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The trigger name.", + "required": true, + "type": "string" + }, + { + "name": "trigger", + "in": "body", + "description": "The trigger.", + "required": true, + "schema": { + "$ref": "#/definitions/Trigger" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the trigger.", + "schema": { + "$ref": "#/definitions/Trigger" + } + }, + "202": { + "description": "Accepted the request to create or update the trigger." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "TriggerPut": { + "$ref": "./examples/TriggerPut.json" + } + } + }, + "delete": { + "tags": [ + "Triggers" + ], + "description": "Deletes the trigger on the gateway device.", + "operationId": "Triggers_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The trigger name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the trigger." + }, + "202": { + "description": "Accepted the request to delete the trigger." + }, + "204": { + "description": "The trigger is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "TriggerDelete": { + "$ref": "./examples/TriggerDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggerSupportPackage": { + "post": { + "tags": [ + "SupportPackages" + ], + "summary": "Triggers support package on the device", + "operationId": "SupportPackages_TriggerSupportPackage", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "triggerSupportPackageRequest", + "in": "body", + "description": "The trigger support package request object", + "required": true, + "schema": { + "$ref": "#/definitions/TriggerSupportPackageRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully triggered support package on the device." + }, + "202": { + "description": "Accepted the request to trigger support package on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "TriggerSupportPackage": { + "$ref": "./examples/TriggerSupportPackage.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/updateExtendedInformation": { + "post": { + "tags": [ + "Devices" + ], + "description": "Gets additional information for the specified Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_UpdateExtendedInformation", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The patch object.", + "required": true, + "schema": { + "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfoPatch" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Modify additional information.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetUpdateExtendedInfo": { + "$ref": "./examples/GetUpdateExtendedInfo.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/updateSummary/default": { + "get": { + "tags": [ + "Devices" + ], + "summary": "Gets information about the availability of updates based on the last scan of the device. It also gets information about any ongoing download or install jobs on the device.", + "operationId": "Devices_GetUpdateSummary", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The update summary.", + "schema": { + "$ref": "#/definitions/UpdateSummary" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateSummaryGet": { + "$ref": "./examples/UpdateSummaryGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/uploadCertificate": { + "post": { + "tags": [ + "Devices" + ], + "description": "Uploads registration certificate for the device.", + "operationId": "Devices_UploadCertificate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The upload certificate request.", + "required": true, + "schema": { + "$ref": "#/definitions/UploadCertificateRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully uploaded the registration certificate.", + "schema": { + "$ref": "#/definitions/UploadCertificateResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UploadCertificatePost": { + "$ref": "./examples/UploadCertificatePost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users": { + "get": { + "tags": [ + "Users" + ], + "description": "Gets all the users registered on a Data Box Edge/Data Box Gateway device.", + "operationId": "Users_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "Specify $filter='Type eq ' to filter on user type property", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The collection of all users on the device.", + "schema": { + "$ref": "#/definitions/UserList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "UserGetAllInDevice": { + "$ref": "./examples/UserGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users/{name}": { + "get": { + "tags": [ + "Users" + ], + "description": "Gets the properties of the specified user.", + "operationId": "Users_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The user name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The user details.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UserGet": { + "$ref": "./examples/UserGet.json" + } + } + }, + "put": { + "tags": [ + "Users" + ], + "description": "Creates a new user or updates an existing user's information on a Data Box Edge/Data Box Gateway device.", + "operationId": "Users_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The user name.", + "required": true, + "type": "string" + }, + { + "name": "user", + "in": "body", + "description": "The user details.", + "required": true, + "schema": { + "$ref": "#/definitions/User" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "202": { + "description": "Accepted the request to create or update the user." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "UserPut": { + "$ref": "./examples/UserPut.json" + } + } + }, + "delete": { + "tags": [ + "Users" + ], + "description": "Deletes the user on a databox edge/gateway device.", + "operationId": "Users_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The user name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the user." + }, + "202": { + "description": "Accepted the request to delete the user." + }, + "204": { + "description": "The user is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "UserDelete": { + "$ref": "./examples/UserDelete.json" + } + } + } + } + }, + "definitions": { + "Addon": { + "description": "Role Addon", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "kind": { + "description": "Addon type.", + "enum": [ + "IotEdge", + "ArcForKubernetes" + ], + "type": "string", + "x-ms-enum": { + "name": "AddonType", + "modelAsString": true + } + }, + "systemData": { + "description": "Addon type", + "$ref": "#/definitions/SystemData" + } + }, + "discriminator": "kind" + }, + "AddonList": { + "description": "Collection of all the Role addon on the Azure Stack Edge device.", + "type": "object", + "properties": { + "value": { + "description": "The Value.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Addon" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "Address": { + "description": "The shipping address of the customer.", + "required": [ + "country" + ], + "type": "object", + "properties": { + "addressLine1": { + "description": "The address line1.", + "type": "string" + }, + "addressLine2": { + "description": "The address line2.", + "type": "string" + }, + "addressLine3": { + "description": "The address line3.", + "type": "string" + }, + "postalCode": { + "description": "The postal code.", + "type": "string" + }, + "city": { + "description": "The city name.", + "type": "string" + }, + "state": { + "description": "The state name.", + "type": "string" + }, + "country": { + "description": "The country name.", + "type": "string" + } + } + }, + "Alert": { + "description": "Alert on the data box edge/gateway device.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "Alert generated in the resource", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/AlertProperties", + "description": "Properties of alert.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "AlertErrorDetails": { + "description": "Error details for the alert.", + "type": "object", + "properties": { + "errorCode": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "Error Message.", + "type": "string", + "readOnly": true + }, + "occurrences": { + "format": "int32", + "description": "Number of occurrences.", + "type": "integer", + "readOnly": true + } + } + }, + "AlertList": { + "description": "Collection of alerts.", + "type": "object", + "properties": { + "value": { + "description": "The value.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Alert" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "AlertProperties": { + "description": "Properties of alert.", + "type": "object", + "properties": { + "title": { + "description": "Alert title.", + "type": "string", + "readOnly": true + }, + "alertType": { + "description": "Alert type.", + "type": "string", + "readOnly": true + }, + "appearedAtDateTime": { + "format": "date-time", + "description": "UTC time when the alert appeared.", + "type": "string", + "readOnly": true + }, + "recommendation": { + "description": "Alert recommendation.", + "type": "string", + "readOnly": true + }, + "severity": { + "description": "Severity of the alert.", + "enum": [ + "Informational", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AlertSeverity", + "modelAsString": true + } + }, + "errorDetails": { + "$ref": "#/definitions/AlertErrorDetails", + "description": "Error details of the alert.", + "readOnly": true + }, + "detailedInformation": { + "description": "Alert details.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "ArcAddon": { + "description": "Arc Addon.", + "required": [ + "properties", + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Addon" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ArcAddonProperties", + "description": "Properties specific to Arc addon.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "ArcForKubernetes" + }, + "ArcAddonProperties": { + "description": "Arc addon properties.", + "required": [ + "subscriptionId", + "resourceGroupName", + "resourceName", + "resourceLocation" + ], + "type": "object", + "properties": { + "subscriptionId": { + "description": "Arc resource subscription Id", + "type": "string" + }, + "resourceGroupName": { + "description": "Arc resource group name", + "type": "string" + }, + "resourceName": { + "description": "Arc resource Name", + "type": "string" + }, + "resourceLocation": { + "description": "Arc resource location", + "type": "string" + }, + "version": { + "description": "Arc resource version", + "type": "string", + "readOnly": true + }, + "hostPlatform": { + "description": "Host OS supported by the Arc addon.", + "enum": [ + "Windows", + "Linux" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PlatformType", + "modelAsString": true + } + }, + "hostPlatformType": { + "description": "Platform where the runtime is hosted.", + "enum": [ + "KubernetesCluster", + "LinuxVM" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "HostPlatformType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "Addon Provisioning State", + "enum": [ + "Invalid", + "Creating", + "Created", + "Updating", + "Reconfiguring", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AddonState", + "modelAsString": true + } + } + } + }, + "ARMBaseModel": { + "description": "Represents the base class for all object models.", + "type": "object", + "properties": { + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "AsymmetricEncryptedSecret": { + "description": "Represent the secrets intended for encryption with asymmetric key pair.", + "required": [ + "value", + "encryptionAlgorithm" + ], + "type": "object", + "properties": { + "value": { + "description": "The value of the secret.", + "type": "string" + }, + "encryptionCertThumbprint": { + "description": "Thumbprint certificate used to encrypt \\\"Value\\\". If the value is unencrypted, it will be null.", + "x-ms-secret": true, + "type": "string" + }, + "encryptionAlgorithm": { + "description": "The algorithm used to encrypt \"Value\".", + "enum": [ + "None", + "AES256", + "RSAES_PKCS1_v_1_5" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionAlgorithm", + "modelAsString": true + } + } + } + }, + "Authentication": { + "description": "Authentication mechanism for IoT devices.", + "type": "object", + "properties": { + "symmetricKey": { + "$ref": "#/definitions/SymmetricKey", + "description": "Symmetric key for authentication." + } + } + }, + "AzureContainerInfo": { + "description": "Azure container mapping of the endpoint.", + "required": [ + "storageAccountCredentialId", + "containerName", + "dataFormat" + ], + "type": "object", + "properties": { + "storageAccountCredentialId": { + "description": "ID of the storage account credential used to access storage.", + "type": "string" + }, + "containerName": { + "description": "Container name (Based on the data format specified, this represents the name of Azure Files/Page blob/Block blob).", + "type": "string" + }, + "dataFormat": { + "description": "Storage format used for the file represented by the share.", + "enum": [ + "BlockBlob", + "PageBlob", + "AzureFile" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureContainerDataFormat", + "modelAsString": true + } + } + } + }, + "BandwidthSchedule": { + "description": "The bandwidth schedule details.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "Bandwidth object related to ASE resource", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/BandwidthScheduleProperties", + "description": "The properties of the bandwidth schedule.", + "x-ms-client-flatten": true + } + } + }, + "BandwidthScheduleProperties": { + "description": "The properties of the bandwidth schedule.", + "required": [ + "start", + "stop", + "rateInMbps", + "days" + ], + "type": "object", + "properties": { + "start": { + "description": "The start time of the schedule in UTC.", + "type": "string" + }, + "stop": { + "description": "The stop time of the schedule in UTC.", + "type": "string" + }, + "rateInMbps": { + "format": "int32", + "description": "The bandwidth rate in Mbps.", + "type": "integer" + }, + "days": { + "description": "The days of the week when this schedule is applicable.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": true + } + } + } + } + }, + "BandwidthSchedulesList": { + "description": "The collection of bandwidth schedules.", + "type": "object", + "properties": { + "value": { + "description": "The list of bandwidth schedules.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/BandwidthSchedule" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "ClientAccessRight": { + "description": "The mapping between a particular client IP and the type of access client has on the NFS share.", + "required": [ + "client", + "accessPermission" + ], + "type": "object", + "properties": { + "client": { + "description": "IP of the client.", + "type": "string" + }, + "accessPermission": { + "description": "Type of access to be allowed for the client.", + "enum": [ + "NoAccess", + "ReadOnly", + "ReadWrite" + ], + "type": "string", + "x-ms-enum": { + "name": "ClientPermissionType", + "modelAsString": true + } + } + } + }, + "CloudEdgeManagementRole": { + "description": "CloudEdgeManagementRole role.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Role" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CloudEdgeManagementRoleProperties", + "description": "Properties specific to CloudEdgeManagementRole role.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "CloudEdgeManagement" + }, + "CloudEdgeManagementRoleProperties": { + "description": "CloudEdgeManagement Role properties.", + "required": [ + "roleStatus" + ], + "type": "object", + "properties": { + "localManagementStatus": { + "description": "Local Edge Management Status", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RoleStatus", + "modelAsString": true + } + }, + "edgeProfile": { + "$ref": "#/definitions/EdgeProfile", + "description": "Edge Profile of the resource", + "readOnly": true + }, + "roleStatus": { + "description": "Role status.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleStatus", + "modelAsString": true + } + } + } + }, + "CloudError": { + "description": "An error response from the service.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "The error details." + } + }, + "x-ms-external": true + }, + "CloudErrorBody": { + "description": "An error response from the service.", + "type": "object", + "properties": { + "code": { + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.", + "type": "string" + }, + "message": { + "description": "A message describing the error, intended to be suitable for display in a user interface.", + "type": "string" + }, + "details": { + "description": "A list of additional details about the error.", + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + } + } + }, + "x-ms-external": true + }, + "CniConfig": { + "description": "Cni configuration", + "type": "object", + "properties": { + "type": { + "description": "Cni type", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Cni version", + "type": "string", + "readOnly": true + }, + "podSubnet": { + "description": "Pod Subnet", + "type": "string", + "readOnly": true + }, + "serviceSubnet": { + "description": "Service subnet", + "type": "string", + "readOnly": true + } + } + }, + "ComputeResource": { + "description": "Compute infrastructure Resource", + "required": [ + "processorCount", + "memoryInGB" + ], + "type": "object", + "properties": { + "processorCount": { + "format": "int32", + "description": "Processor count", + "type": "integer" + }, + "memoryInGB": { + "format": "int64", + "description": "Memory in GB", + "type": "integer" + } + } + }, + "ContactDetails": { + "description": "Contains all the contact details of the customer.", + "required": [ + "contactPerson", + "companyName", + "phone", + "emailList" + ], + "type": "object", + "properties": { + "contactPerson": { + "description": "The contact person name.", + "type": "string" + }, + "companyName": { + "description": "The name of the company.", + "type": "string" + }, + "phone": { + "description": "The phone number.", + "type": "string" + }, + "emailList": { + "description": "The email list.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Container": { + "description": "Represents a container on the Data Box Edge/Gateway device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "Container in DataBoxEdge Resource", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/ContainerProperties", + "description": "The container properties.", + "x-ms-client-flatten": true + } + } + }, + "ContainerList": { + "description": "Collection of all the containers on the Data Box Edge/Gateway device.", + "type": "object", + "properties": { + "value": { + "description": "The list of containers.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Container" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "ContainerProperties": { + "description": "The container properties.", + "required": [ + "dataFormat" + ], + "type": "object", + "properties": { + "containerStatus": { + "description": "Current status of the container.", + "enum": [ + "OK", + "Offline", + "Unknown", + "Updating", + "NeedsAttention" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ContainerStatus", + "modelAsString": true + } + }, + "dataFormat": { + "description": "DataFormat for Container", + "enum": [ + "BlockBlob", + "PageBlob", + "AzureFile" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureContainerDataFormat", + "modelAsString": true + } + }, + "refreshDetails": { + "$ref": "#/definitions/RefreshDetails", + "description": "Details of the refresh job on this container.", + "readOnly": true + }, + "createdDateTime": { + "format": "date-time", + "description": "The UTC time when container got created.", + "type": "string", + "readOnly": true + } + } + }, + "DataBoxEdgeDevice": { + "description": "The Data Box Edge/Gateway device.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "location": { + "description": "The location of the device. This is a supported and registered Azure geographical region (for example, West US, East US, or Southeast Asia). The geographical region of a device cannot be changed once it is created, but if an identical geographical region is specified on update, the request will succeed.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "The list of tags that describe the device. These tags can be used to view and group this device (across resource groups).", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU type." + }, + "etag": { + "description": "The etag for the devices.", + "type": "string" + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "Msi identity of the resource" + }, + "kind": { + "description": "The kind of the device.", + "enum": [ + "AzureDataBoxGateway", + "AzureStackEdge", + "AzureStackHub", + "AzureModularDataCentre" + ], + "type": "string", + "x-ms-enum": { + "name": "DataBoxEdgeDeviceKind", + "modelAsString": true + } + }, + "systemData": { + "description": "DataBoxEdge Resource", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/DataBoxEdgeDeviceProperties", + "description": "The properties of the Data Box Edge/Gateway device.", + "x-ms-client-flatten": true + } + } + }, + "DataBoxEdgeDeviceExtendedInfo": { + "description": "The extended Info of the Data Box Edge/Gateway device.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfoProperties", + "description": "The extended info properties.", + "x-ms-client-flatten": true + } + } + }, + "DataBoxEdgeDeviceExtendedInfoPatch": { + "description": "The Data Box Edge/Gateway device extended info patch.", + "type": "object", + "properties": { + "clientSecretStoreId": { + "description": "The Key Vault ARM Id for client secrets", + "type": "string" + }, + "clientSecretStoreUrl": { + "description": "The url to access the Client Key Vault", + "type": "string" + }, + "channelIntegrityKeyName": { + "description": "The name for Channel Integrity Key stored in the Client Key Vault", + "type": "string" + }, + "channelIntegrityKeyVersion": { + "description": "The version of Channel Integrity Key stored in the Client Key Vault", + "type": "string" + }, + "syncStatus": { + "description": "For changing or to initiate the resync to key-vault set the status to KeyVaultSyncPending, rest of the status will not be applicable.", + "enum": [ + "KeyVaultSynced", + "KeyVaultSyncFailed", + "KeyVaultNotConfigured", + "KeyVaultSyncPending", + "KeyVaultSyncing", + "KeyVaultNotSynced" + ], + "type": "string", + "x-ms-enum": { + "name": "KeyVaultSyncStatus", + "modelAsString": true + } + } + } + }, + "DataBoxEdgeDeviceExtendedInfoProperties": { + "description": "The properties of the Data Box Edge/Gateway device extended info.", + "type": "object", + "properties": { + "encryptionKeyThumbprint": { + "description": "The digital signature of encrypted certificate.", + "type": "string" + }, + "encryptionKey": { + "description": "The public part of the encryption certificate. Client uses this to encrypt any secret.", + "type": "string" + }, + "resourceKey": { + "description": "The Resource ID of the Resource.", + "type": "string", + "readOnly": true + }, + "clientSecretStoreId": { + "description": "The Key Vault ARM Id for client secrets", + "type": "string" + }, + "clientSecretStoreUrl": { + "description": "The url to access the Client Key Vault", + "type": "string" + }, + "channelIntegrityKeyName": { + "description": "The name of Channel Integrity Key stored in the Client Key Vault", + "type": "string" + }, + "channelIntegrityKeyVersion": { + "description": "The version of Channel Integrity Key stored in the Client Key Vault", + "type": "string" + }, + "keyVaultSyncStatus": { + "description": "Key vault sync status", + "enum": [ + "KeyVaultSynced", + "KeyVaultSyncFailed", + "KeyVaultNotConfigured", + "KeyVaultSyncPending", + "KeyVaultSyncing", + "KeyVaultNotSynced" + ], + "type": "string", + "x-ms-enum": { + "name": "KeyVaultSyncStatus", + "modelAsString": true + } + }, + "deviceSecrets": { + "description": "Device secrets, will be returned only with ODataFilter $expand=deviceSecrets", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Secret" + }, + "readOnly": true + } + } + }, + "DataBoxEdgeDeviceList": { + "description": "The collection of Data Box Edge/Gateway devices.", + "type": "object", + "properties": { + "value": { + "description": "The list of Data Box Edge/Gateway devices.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxEdgeDevice" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "DataBoxEdgeDevicePatch": { + "description": "The Data Box Edge/Gateway device patch.", + "type": "object", + "properties": { + "tags": { + "description": "The tags attached to the Data Box Edge/Gateway resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "Msi identity of the resource" + }, + "properties": { + "$ref": "#/definitions/DataBoxEdgeDevicePropertiesPatch", + "description": "The properties associated with the Data Box Edge/Gateway resource", + "x-ms-client-flatten": true + } + } + }, + "DataBoxEdgeDeviceProperties": { + "description": "The properties of the Data Box Edge/Gateway device.", + "type": "object", + "properties": { + "systemData": { + "description": "DataBoxEdge Device Properties", + "$ref": "#/definitions/SystemData" + }, + "dataBoxEdgeDeviceStatus": { + "description": "The status of the Data Box Edge/Gateway device.", + "enum": [ + "ReadyToSetup", + "Online", + "Offline", + "NeedsAttention", + "Disconnected", + "PartiallyDisconnected", + "Maintenance" + ], + "type": "string", + "x-ms-enum": { + "name": "DataBoxEdgeDeviceStatus", + "modelAsString": true + } + }, + "serialNumber": { + "description": "The Serial Number of Data Box Edge/Gateway device.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The Description of the Data Box Edge/Gateway device.", + "type": "string", + "readOnly": true + }, + "modelDescription": { + "description": "The description of the Data Box Edge/Gateway device model.", + "type": "string", + "readOnly": true + }, + "deviceType": { + "description": "The type of the Data Box Edge/Gateway device.", + "enum": [ + "DataBoxEdgeDevice" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DeviceType", + "modelAsString": true + } + }, + "friendlyName": { + "description": "The Data Box Edge/Gateway device name.", + "type": "string", + "readOnly": true + }, + "culture": { + "description": "The Data Box Edge/Gateway device culture.", + "type": "string", + "readOnly": true + }, + "deviceModel": { + "description": "The Data Box Edge/Gateway device model.", + "type": "string", + "readOnly": true + }, + "deviceSoftwareVersion": { + "description": "The Data Box Edge/Gateway device software version.", + "type": "string", + "readOnly": true + }, + "deviceLocalCapacity": { + "format": "int64", + "description": "The Data Box Edge/Gateway device local capacity in MB.", + "type": "integer", + "readOnly": true + }, + "timeZone": { + "description": "The Data Box Edge/Gateway device timezone.", + "type": "string", + "readOnly": true + }, + "deviceHcsVersion": { + "description": "The device software version number of the device (eg: 1.2.18105.6).", + "type": "string", + "readOnly": true + }, + "configuredRoleTypes": { + "description": "Type of compute roles configured.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "IOT", + "ASA", + "Functions", + "Cognitive", + "MEC", + "CloudEdgeManagement", + "Kubernetes" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleTypes", + "modelAsString": true + } + }, + "readOnly": true + }, + "nodeCount": { + "format": "int32", + "description": "The number of nodes in the cluster.", + "type": "integer", + "readOnly": true + }, + "resourceMoveDetails": { + "$ref": "#/definitions/ResourceMoveDetails", + "description": "The details of the move operation on this resource.", + "readOnly": true + }, + "edgeProfile": { + "$ref": "#/definitions/EdgeProfile", + "description": "The details of Edge Profile for this resource", + "readOnly": true + }, + "dataResidency": { + "$ref": "#/definitions/DataResidency", + "description": "The details of data-residency related properties for this resource" + } + } + }, + "DataBoxEdgeDevicePropertiesPatch": { + "description": "The Data Box Edge/Gateway device properties patch.", + "type": "object", + "properties": { + "edgeProfile": { + "$ref": "#/definitions/EdgeProfilePatch", + "description": "Edge Profile property of the Data Box Edge/Gateway device" + } + } + }, + "DataBoxEdgeMoveRequest": { + "description": "Resource Move details", + "required": [ + "targetResourceGroup", + "resources" + ], + "type": "object", + "properties": { + "targetResourceGroup": { + "description": "Target resource group ARMId", + "type": "string" + }, + "resources": { + "description": "List of resources to be moved", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DataBoxEdgeSku": { + "description": "The Sku information.", + "type": "object", + "properties": { + "resourceType": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The Sku name.", + "enum": [ + "Gateway", + "Edge", + "TEA_1Node", + "TEA_1Node_UPS", + "TEA_1Node_Heater", + "TEA_1Node_UPS_Heater", + "TEA_4Node_Heater", + "TEA_4Node_UPS_Heater", + "TMA", + "TDC", + "TCA_Small", + "GPU", + "TCA_Large", + "EdgeP_Base", + "EdgeP_High", + "EdgePR_Base", + "EdgePR_Base_UPS", + "EP2_64_1VPU_W", + "EP2_128_1T4_Mx1_W", + "EP2_256_2T4_W", + "EdgeMR_Mini", + "RCA_Small", + "RCA_Large", + "RDC", + "Management" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "kind": { + "description": "The Sku kind.", + "type": "string", + "readOnly": true + }, + "tier": { + "description": "The Sku tier.", + "enum": [ + "Standard" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + }, + "size": { + "description": "The Sku kind.", + "type": "string", + "readOnly": true + }, + "family": { + "description": "The Sku family.", + "type": "string", + "readOnly": true + }, + "locations": { + "description": "Availability of the Sku for the region.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "apiVersions": { + "description": "The API versions in which Sku is available.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "locationInfo": { + "description": "Availability of the Sku for the location/zone/site.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SkuLocationInfo" + }, + "readOnly": true + }, + "costs": { + "description": "The pricing info of the Sku.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SkuCost" + }, + "readOnly": true + }, + "signupOption": { + "description": "Sku can be signed up by customer or not.", + "enum": [ + "None", + "Available" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuSignupOption", + "modelAsString": true + } + }, + "version": { + "description": "Availability of the Sku as preview/stable.", + "enum": [ + "Stable", + "Preview" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuVersion", + "modelAsString": true + } + }, + "availability": { + "description": "Links to the next set of results", + "enum": [ + "Available", + "Unavailable" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuAvailability", + "modelAsString": true + } + }, + "shipmentTypes": { + "description": "List of Shipment Types supported by this SKU", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "NotApplicable", + "ShippedToCustomer", + "SelfPickup" + ], + "type": "string", + "x-ms-enum": { + "name": "ShipmentType", + "modelAsString": true + } + }, + "readOnly": true + }, + "capabilities": { + "description": "The capability info of the SKU.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SkuCapability" + }, + "readOnly": true + } + } + }, + "DataBoxEdgeSkuList": { + "description": "List of SKU Information objects.", + "type": "object", + "properties": { + "value": { + "description": "List of ResourceType Sku", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxEdgeSku" + }, + "readOnly": true + }, + "nextLink": { + "description": "Links to the next set of results", + "type": "string", + "readOnly": true + } + } + }, + "DataResidency": { + "description": "Wraps data-residency related information for edge-resource and this should be used with ARM layer.", + "type": "object", + "properties": { + "type": { + "description": "DataResidencyType enum", + "enum": [ + "GeoZoneReplication", + "ZoneReplication" + ], + "type": "string", + "x-ms-enum": { + "name": "DataResidencyType", + "modelAsString": true + } + } + } + }, + "DCAccessCode": { + "description": "DC Access code in the case of Self Managed Shipping.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DCAccessCodeProperties", + "description": "DCAccessCode properties.", + "x-ms-client-flatten": true + } + } + }, + "DCAccessCodeProperties": { + "description": "DCAccessCode Properties.", + "type": "object", + "properties": { + "authCode": { + "description": "DCAccess Code for the Self Managed shipment.", + "type": "string" + } + } + }, + "DiagnosticProactiveLogCollectionSettings": { + "description": "The diagnostic proactive log collection settings of a device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "DiagnosticProactiveLogCollectionSettings", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/ProactiveLogCollectionSettingsProperties", + "description": "Properties of the diagnostic proactive log collection settings.", + "x-ms-client-flatten": true + } + } + }, + "DiagnosticRemoteSupportSettings": { + "description": "The remote support settings of a device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "DiagnosticRemoteSupportSettings", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/DiagnosticRemoteSupportSettingsProperties", + "description": "Properties of the remote support settings.", + "x-ms-client-flatten": true + } + } + }, + "DiagnosticRemoteSupportSettingsProperties": { + "description": "The properties of remote support settings.", + "type": "object", + "properties": { + "remoteSupportSettingsList": { + "description": "Remote support settings list according to the RemoteApplicationType", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/RemoteSupportSettings" + } + } + } + }, + "EdgeProfile": { + "description": "Details about Edge Profile for the resource", + "type": "object", + "properties": { + "subscription": { + "$ref": "#/definitions/EdgeProfileSubscription", + "description": "Edge Profile Subscription" + } + } + }, + "EdgeProfilePatch": { + "description": "The Data Box Edge/Gateway Edge Profile patch.", + "type": "object", + "properties": { + "subscription": { + "$ref": "#/definitions/EdgeProfileSubscriptionPatch", + "description": "The Data Box Edge/Gateway Edge Profile Subscription patch" + } + } + }, + "EdgeProfileSubscription": { + "description": "Subscription details for the Edge Profile", + "type": "object", + "properties": { + "registrationId": { + "description": "Edge Subscription Registration ID", + "type": "string" + }, + "id": { + "description": "ARM ID of the subscription", + "type": "string" + }, + "state": { + "enum": [ + "Registered", + "Warned", + "Suspended", + "Deleted", + "Unregistered" + ], + "type": "string", + "x-ms-enum": { + "name": "SubscriptionState", + "modelAsString": true + } + }, + "registrationDate": { + "type": "string" + }, + "subscriptionId": { + "type": "string" + }, + "properties": { + "$ref": "#/definitions/SubscriptionProperties", + "x-ms-client-flatten": true + } + } + }, + "EdgeProfileSubscriptionPatch": { + "description": "The Data Box Edge/Gateway Edge Profile Subscription patch.", + "type": "object", + "properties": { + "id": { + "description": "The path ID that uniquely identifies the subscription of the edge profile.", + "type": "string" + } + } + }, + "EtcdInfo": { + "description": "Etcd configuration", + "type": "object", + "properties": { + "type": { + "description": "Etcd type", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Etcd version", + "type": "string", + "readOnly": true + } + } + }, + "FileEventTrigger": { + "description": "Trigger details.", + "required": [ + "properties", + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Trigger" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/FileTriggerProperties", + "description": "File trigger properties.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "FileEvent" + }, + "FileSourceInfo": { + "description": "File source details.", + "required": [ + "shareId" + ], + "type": "object", + "properties": { + "shareId": { + "description": "File share ID.", + "type": "string" + } + } + }, + "FileTriggerProperties": { + "description": "File trigger properties.", + "required": [ + "sourceInfo", + "sinkInfo" + ], + "type": "object", + "properties": { + "sourceInfo": { + "$ref": "#/definitions/FileSourceInfo", + "description": "File event source details." + }, + "sinkInfo": { + "$ref": "#/definitions/RoleSinkInfo", + "description": "Role sink info." + }, + "customContextTag": { + "description": "A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module.", + "maxLength": 192, + "type": "string" + } + } + }, + "GenerateCertResponse": { + "description": "Used in activation key generation flow.", + "type": "object", + "properties": { + "publicKey": { + "description": "Gets or sets base64 encoded certificate raw data,\r\nthis is the public part needed to be uploaded to cert vault", + "type": "string" + }, + "privateKey": { + "description": "Gets or sets base64 encoded private part of the certificate,\r\nneeded to form the activation key", + "x-ms-secret": true, + "type": "string" + }, + "expiryTimeInUTC": { + "description": "Gets or sets expiry time in UTC", + "type": "string" + } + } + }, + "ImageRepositoryCredential": { + "description": "Image repository credential.", + "required": [ + "imageRepositoryUrl", + "userName" + ], + "type": "object", + "properties": { + "imageRepositoryUrl": { + "description": "Image repository url (e.g.: mcr.microsoft.com).", + "type": "string" + }, + "userName": { + "description": "Repository user name.", + "type": "string" + }, + "password": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Repository user password." + } + } + }, + "IoTAddon": { + "description": "IoT Addon.", + "required": [ + "properties", + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Addon" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/IoTAddonProperties", + "description": "Properties specific to IOT addon.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "IotEdge" + }, + "IoTAddonProperties": { + "description": "IoT addon properties.", + "required": [ + "ioTDeviceDetails", + "ioTEdgeDeviceDetails" + ], + "type": "object", + "properties": { + "ioTDeviceDetails": { + "$ref": "#/definitions/IoTDeviceInfo", + "description": "IoT device metadata to which appliance needs to be connected." + }, + "ioTEdgeDeviceDetails": { + "$ref": "#/definitions/IoTDeviceInfo", + "description": "IoT edge device to which the IoT Addon needs to be configured." + }, + "version": { + "description": "Version of IoT running on the appliance.", + "type": "string", + "readOnly": true + }, + "hostPlatform": { + "description": "Host OS supported by the IoT addon.", + "enum": [ + "Windows", + "Linux" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PlatformType", + "modelAsString": true + } + }, + "hostPlatformType": { + "description": "Platform where the runtime is hosted.", + "enum": [ + "KubernetesCluster", + "LinuxVM" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "HostPlatformType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "Addon Provisioning State", + "enum": [ + "Invalid", + "Creating", + "Created", + "Updating", + "Reconfiguring", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AddonState", + "modelAsString": true + } + } + } + }, + "IoTDeviceInfo": { + "description": "Metadata of IoT device/IoT Edge device to be configured.", + "required": [ + "deviceId", + "ioTHostHub" + ], + "type": "object", + "properties": { + "deviceId": { + "description": "ID of the IoT device/edge device.", + "type": "string" + }, + "ioTHostHub": { + "description": "Host name for the IoT hub associated to the device.", + "type": "string" + }, + "ioTHostHubId": { + "description": "Id for the IoT hub associated to the device.", + "type": "string" + }, + "authentication": { + "$ref": "#/definitions/Authentication", + "description": "Encrypted IoT device/IoT edge device connection string." + } + } + }, + "IoTEdgeAgentInfo": { + "description": "IoT edge agent details is optional, this will be used for download system Agent module while bootstrapping IoT Role if specified.", + "required": [ + "imageName", + "tag" + ], + "type": "object", + "properties": { + "imageName": { + "description": "Name of the IoT edge agent image.", + "type": "string" + }, + "tag": { + "description": "Image Tag.", + "type": "string" + }, + "imageRepository": { + "$ref": "#/definitions/ImageRepositoryCredential", + "description": "Image repository details." + } + } + }, + "IoTRole": { + "description": "Compute role.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Role" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/IoTRoleProperties", + "description": "Properties specific to IoT role.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "IOT" + }, + "IoTRoleProperties": { + "description": "IoT role properties.", + "required": [ + "hostPlatform", + "ioTDeviceDetails", + "ioTEdgeDeviceDetails", + "roleStatus" + ], + "type": "object", + "properties": { + "hostPlatform": { + "description": "Host OS supported by the IoT role.", + "enum": [ + "Windows", + "Linux" + ], + "type": "string", + "x-ms-enum": { + "name": "PlatformType", + "modelAsString": true + } + }, + "ioTDeviceDetails": { + "$ref": "#/definitions/IoTDeviceInfo", + "description": "IoT device metadata to which data box edge device needs to be connected." + }, + "ioTEdgeDeviceDetails": { + "$ref": "#/definitions/IoTDeviceInfo", + "description": "IoT edge device to which the IoT role needs to be configured." + }, + "shareMappings": { + "description": "Mount points of shares in role(s).", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MountPointMap" + } + }, + "ioTEdgeAgentInfo": { + "$ref": "#/definitions/IoTEdgeAgentInfo", + "description": "Iot edge agent details to download the agent and bootstrap iot runtime." + }, + "hostPlatformType": { + "description": "Platform where the Iot runtime is hosted.", + "enum": [ + "KubernetesCluster", + "LinuxVM" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "HostPlatformType", + "modelAsString": true + } + }, + "computeResource": { + "$ref": "#/definitions/ComputeResource", + "description": "Resource allocation" + }, + "roleStatus": { + "description": "Role status.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleStatus", + "modelAsString": true + } + } + } + }, + "Ipv4Config": { + "description": "Details related to the IPv4 address configuration.", + "type": "object", + "properties": { + "ipAddress": { + "description": "The IPv4 address of the network adapter.", + "type": "string", + "readOnly": true + }, + "subnet": { + "description": "The IPv4 subnet of the network adapter.", + "type": "string", + "readOnly": true + }, + "gateway": { + "description": "The IPv4 gateway of the network adapter.", + "type": "string", + "readOnly": true + } + } + }, + "Ipv6Config": { + "description": "Details related to the IPv6 address configuration.", + "type": "object", + "properties": { + "ipAddress": { + "description": "The IPv6 address of the network adapter.", + "type": "string", + "readOnly": true + }, + "prefixLength": { + "format": "int32", + "description": "The IPv6 prefix of the network adapter.", + "type": "integer", + "readOnly": true + }, + "gateway": { + "description": "The IPv6 gateway of the network adapter.", + "type": "string", + "readOnly": true + } + } + }, + "Job": { + "description": "A device job.", + "type": "object", + "properties": { + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the object.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The current status of the job.", + "enum": [ + "Invalid", + "Running", + "Succeeded", + "Failed", + "Canceled", + "Paused", + "Scheduled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "startTime": { + "format": "date-time", + "description": "The UTC date and time at which the job started.", + "type": "string", + "readOnly": true + }, + "endTime": { + "format": "date-time", + "description": "The UTC date and time at which the job completed.", + "type": "string", + "readOnly": true + }, + "percentComplete": { + "format": "int32", + "description": "The percentage of the job that is complete.", + "type": "integer", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/JobErrorDetails", + "description": "The error details.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/JobProperties", + "description": "The properties of the job.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "JobErrorDetails": { + "description": "The job error information containing the list of job errors.", + "type": "object", + "properties": { + "errorDetails": { + "description": "The error details.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/JobErrorItem" + }, + "readOnly": true + }, + "code": { + "description": "The code intended for programmatic access.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The message that describes the error in detail.", + "type": "string", + "readOnly": true + } + } + }, + "JobErrorItem": { + "description": "The job error items.", + "type": "object", + "properties": { + "recommendations": { + "description": "The recommended actions.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "code": { + "description": "The code intended for programmatic access.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The message that describes the error in detail.", + "type": "string", + "readOnly": true + } + } + }, + "JobProperties": { + "description": "The properties for the job.", + "type": "object", + "properties": { + "jobType": { + "description": "The type of the job.", + "enum": [ + "Invalid", + "ScanForUpdates", + "DownloadUpdates", + "InstallUpdates", + "RefreshShare", + "RefreshContainer", + "Backup", + "Restore", + "TriggerSupportPackage" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobType", + "modelAsString": true + } + }, + "currentStage": { + "description": "Current stage of the update operation.", + "enum": [ + "Unknown", + "Initial", + "ScanStarted", + "ScanComplete", + "ScanFailed", + "DownloadStarted", + "DownloadComplete", + "DownloadFailed", + "InstallStarted", + "InstallComplete", + "InstallFailed", + "RebootInitiated", + "Success", + "Failure", + "RescanStarted", + "RescanComplete", + "RescanFailed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "UpdateOperationStage", + "modelAsString": true + } + }, + "downloadProgress": { + "$ref": "#/definitions/UpdateDownloadProgress", + "description": "The download progress.", + "readOnly": true + }, + "installProgress": { + "$ref": "#/definitions/UpdateInstallProgress", + "description": "The install progress.", + "readOnly": true + }, + "totalRefreshErrors": { + "format": "int32", + "description": "Total number of errors encountered during the refresh process.", + "type": "integer", + "readOnly": true + }, + "errorManifestFile": { + "description": "Local share/remote container relative path to the error manifest file of the refresh.", + "type": "string", + "readOnly": true + }, + "refreshedEntityId": { + "description": "ARM ID of the entity that was refreshed.", + "type": "string", + "readOnly": true + }, + "folder": { + "description": "If only subfolders need to be refreshed, then the subfolder path inside the share or container. (The path is empty if there are no subfolders.)", + "type": "string" + } + } + }, + "KubernetesClusterInfo": { + "description": "Kubernetes cluster configuration", + "required": [ + "version" + ], + "type": "object", + "properties": { + "etcdInfo": { + "$ref": "#/definitions/EtcdInfo", + "description": "Etcd configuration", + "readOnly": true + }, + "nodes": { + "description": "Kubernetes cluster nodes", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/NodeInfo" + }, + "readOnly": true + }, + "version": { + "description": "Kubernetes cluster version", + "type": "string" + } + } + }, + "KubernetesIPConfiguration": { + "description": "Kubernetes node IP configuration", + "type": "object", + "properties": { + "port": { + "description": "Port of the Kubernetes node.", + "type": "string", + "readOnly": true + }, + "ipAddress": { + "description": "IP address of the Kubernetes node.", + "type": "string" + } + } + }, + "KubernetesRole": { + "description": "Kubernetes role.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Role" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/KubernetesRoleProperties", + "description": "Properties specific to Kubernetes role.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "Kubernetes" + }, + "KubernetesRoleCompute": { + "description": "Kubernetes role compute resource", + "required": [ + "vmProfile" + ], + "type": "object", + "properties": { + "vmProfile": { + "description": "VM profile", + "type": "string" + }, + "memoryInBytes": { + "format": "int64", + "description": "Memory in bytes", + "type": "integer", + "readOnly": true + }, + "processorCount": { + "format": "int32", + "description": "Processor count", + "type": "integer", + "readOnly": true + } + } + }, + "KubernetesRoleNetwork": { + "description": "Kubernetes role network resource", + "type": "object", + "properties": { + "cniConfig": { + "$ref": "#/definitions/CniConfig", + "description": "Cni configuration", + "readOnly": true + }, + "loadBalancerConfig": { + "$ref": "#/definitions/LoadBalancerConfig", + "description": "Load balancer configuration", + "readOnly": true + } + } + }, + "KubernetesRoleProperties": { + "description": "Kubernetes role properties.", + "required": [ + "hostPlatform", + "kubernetesClusterInfo", + "kubernetesRoleResources", + "roleStatus" + ], + "type": "object", + "properties": { + "hostPlatform": { + "description": "Host OS supported by the Kubernetes role.", + "enum": [ + "Windows", + "Linux" + ], + "type": "string", + "x-ms-enum": { + "name": "PlatformType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "State of Kubernetes deployment", + "enum": [ + "Invalid", + "Creating", + "Created", + "Updating", + "Reconfiguring", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "KubernetesState", + "modelAsString": true + } + }, + "hostPlatformType": { + "description": "Platform where the runtime is hosted.", + "enum": [ + "KubernetesCluster", + "LinuxVM" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "HostPlatformType", + "modelAsString": true + } + }, + "kubernetesClusterInfo": { + "$ref": "#/definitions/KubernetesClusterInfo", + "description": "Kubernetes cluster configuration" + }, + "kubernetesRoleResources": { + "$ref": "#/definitions/KubernetesRoleResources", + "description": "Kubernetes role resources" + }, + "roleStatus": { + "description": "Role status.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleStatus", + "modelAsString": true + } + } + } + }, + "KubernetesRoleResources": { + "description": "Kubernetes role resources", + "required": [ + "compute" + ], + "type": "object", + "properties": { + "storage": { + "$ref": "#/definitions/KubernetesRoleStorage", + "description": "Kubernetes role storage resource" + }, + "compute": { + "$ref": "#/definitions/KubernetesRoleCompute", + "description": "Kubernetes role compute resource" + }, + "network": { + "$ref": "#/definitions/KubernetesRoleNetwork", + "description": "Kubernetes role network resource", + "readOnly": true + } + } + }, + "KubernetesRoleStorage": { + "description": "Kubernetes role storage resource", + "type": "object", + "properties": { + "storageClasses": { + "description": "Kubernetes storage class info.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/KubernetesRoleStorageClassInfo" + }, + "readOnly": true + }, + "endpoints": { + "description": "Mount points of shares in role(s).", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MountPointMap" + } + } + } + }, + "KubernetesRoleStorageClassInfo": { + "description": "Kubernetes storage class info.", + "type": "object", + "properties": { + "name": { + "description": "Storage class name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Storage class type.", + "type": "string", + "readOnly": true + }, + "posixCompliant": { + "description": "If provisioned storage is posix compliant.", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PosixComplianceStatus", + "modelAsString": true + } + } + } + }, + "LoadBalancerConfig": { + "description": "Load balancer configuration", + "type": "object", + "properties": { + "type": { + "description": "Load balancer type", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Load balancer version", + "type": "string", + "readOnly": true + } + } + }, + "MECRole": { + "description": "MEC role.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Role" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MECRoleProperties", + "description": "Properties specific to MEC role.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "MEC" + }, + "MECRoleProperties": { + "description": "MEC role properties.", + "required": [ + "roleStatus" + ], + "type": "object", + "properties": { + "connectionString": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Activation key of the MEC." + }, + "controllerEndpoint": { + "description": "Controller Endpoint.", + "type": "string" + }, + "resourceUniqueId": { + "description": "Unique Id of the Resource.", + "type": "string" + }, + "roleStatus": { + "description": "Role status.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleStatus", + "modelAsString": true + } + } + } + }, + "MetricConfiguration": { + "description": "Metric configuration.", + "required": [ + "resourceId", + "counterSets" + ], + "type": "object", + "properties": { + "resourceId": { + "description": "The Resource ID on which the metrics should be pushed.", + "type": "string" + }, + "mdmAccount": { + "description": "The MDM account to which the counters should be pushed.", + "type": "string" + }, + "metricNameSpace": { + "description": "The MDM namespace to which the counters should be pushed. This is required if MDMAccount is specified", + "type": "string" + }, + "counterSets": { + "description": "Host name for the IoT hub associated to the device.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricCounterSet" + } + } + } + }, + "MetricCounter": { + "description": "The metric counter", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The counter name.", + "type": "string" + }, + "instance": { + "description": "The instance from which counter should be collected.", + "type": "string" + }, + "dimensionFilter": { + "description": "The dimension filter.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension" + } + }, + "additionalDimensions": { + "description": "The additional dimensions to be added to metric.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension" + } + } + } + }, + "MetricCounterSet": { + "description": "The metric counter set", + "required": [ + "counters" + ], + "type": "object", + "properties": { + "counters": { + "description": "The counters that should be collected in this set.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricCounter" + } + } + } + }, + "MetricDimension": { + "description": "The metric dimension", + "required": [ + "sourceType", + "sourceName" + ], + "type": "object", + "properties": { + "sourceType": { + "description": "The dimension type.", + "type": "string" + }, + "sourceName": { + "description": "The dimension value.", + "type": "string" + } + } + }, + "MetricDimension_V1": { + "description": "Metric Dimension v1.", + "type": "object", + "properties": { + "name": { + "description": "Name of the metrics dimension.", + "type": "string" + }, + "displayName": { + "description": "Display name of the metrics dimension.", + "type": "string" + }, + "toBeExportedForShoebox": { + "description": "To be exported to shoe box.", + "type": "boolean" + } + } + }, + "MetricSpecification_V1": { + "description": "Metric specification version 1.", + "type": "object", + "properties": { + "name": { + "description": "Name of the metric.", + "type": "string" + }, + "displayName": { + "description": "Display name of the metric.", + "type": "string" + }, + "displayDescription": { + "description": "Description of the metric to be displayed.", + "type": "string" + }, + "unit": { + "description": "Metric units.", + "enum": [ + "NotSpecified", + "Percent", + "Count", + "Seconds", + "Milliseconds", + "Bytes", + "BytesPerSecond", + "CountPerSecond" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricUnit", + "modelAsString": true + } + }, + "aggregationType": { + "description": "Metric aggregation type.", + "enum": [ + "NotSpecified", + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricAggregationType", + "modelAsString": true + } + }, + "dimensions": { + "description": "Metric dimensions, other than default dimension which is resource.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension_V1" + } + }, + "fillGapWithZero": { + "description": "Set true to fill the gaps with zero.", + "type": "boolean" + }, + "category": { + "description": "Metric category.", + "enum": [ + "Capacity", + "Transaction" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricCategory", + "modelAsString": true + } + }, + "resourceIdDimensionNameOverride": { + "description": "Resource name override.", + "type": "string" + }, + "supportedTimeGrainTypes": { + "description": "Support granularity of metrics.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "PT1M", + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "PT1D" + ], + "type": "string", + "x-ms-enum": { + "name": "TimeGrain", + "modelAsString": true + } + } + }, + "supportedAggregationTypes": { + "description": "Support metric aggregation type.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "NotSpecified", + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricAggregationType", + "modelAsString": true + } + } + } + } + }, + "MonitoringMetricConfiguration": { + "description": "The metric setting details for the role", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "MonitoringConfiguration on ASE device", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/MonitoringMetricConfigurationProperties", + "description": "The metric setting properties.", + "x-ms-client-flatten": true + } + } + }, + "MonitoringMetricConfigurationList": { + "description": "Collection of metric configurations.", + "type": "object", + "properties": { + "value": { + "description": "The list of metric configurations.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MonitoringMetricConfiguration" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "MonitoringMetricConfigurationProperties": { + "description": "Metrics properties", + "required": [ + "metricConfigurations" + ], + "type": "object", + "properties": { + "metricConfigurations": { + "description": "The metrics configuration details", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricConfiguration" + } + } + } + }, + "MountPointMap": { + "description": "The share mount point.", + "required": [ + "shareId" + ], + "type": "object", + "properties": { + "shareId": { + "description": "ID of the share mounted to the role VM.", + "type": "string" + }, + "roleId": { + "description": "ID of the role to which share is mounted.", + "type": "string", + "readOnly": true + }, + "mountPoint": { + "description": "Mount point for the share.", + "type": "string", + "readOnly": true + }, + "mountType": { + "description": "Mounting type.", + "enum": [ + "Volume", + "HostPath" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MountType", + "modelAsString": true + } + }, + "roleType": { + "description": "Role type.", + "enum": [ + "IOT", + "ASA", + "Functions", + "Cognitive", + "MEC", + "CloudEdgeManagement", + "Kubernetes" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RoleTypes", + "modelAsString": true + } + } + } + }, + "NetworkAdapter": { + "description": "Represents the networkAdapter on a device.", + "type": "object", + "properties": { + "adapterId": { + "description": "Instance ID of network adapter.", + "type": "string", + "readOnly": true + }, + "adapterPosition": { + "$ref": "#/definitions/NetworkAdapterPosition", + "description": "Hardware position of network adapter.", + "readOnly": true + }, + "index": { + "format": "int32", + "description": "Logical index of the adapter.", + "type": "integer", + "readOnly": true + }, + "nodeId": { + "description": "Node ID of the network adapter.", + "type": "string", + "readOnly": true + }, + "networkAdapterName": { + "description": "Network adapter name.", + "type": "string", + "readOnly": true + }, + "label": { + "description": "Hardware label for the adapter.", + "type": "string", + "readOnly": true + }, + "macAddress": { + "description": "MAC address.", + "type": "string", + "readOnly": true + }, + "linkSpeed": { + "format": "int64", + "description": "Link speed.", + "type": "integer", + "readOnly": true + }, + "status": { + "description": "Value indicating whether this adapter is valid.", + "enum": [ + "Inactive", + "Active" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "NetworkAdapterStatus", + "modelAsString": true + } + }, + "rdmaStatus": { + "description": "Value indicating whether this adapter is RDMA capable.", + "enum": [ + "Incapable", + "Capable" + ], + "type": "string", + "x-ms-enum": { + "name": "NetworkAdapterRDMAStatus", + "modelAsString": true + } + }, + "dhcpStatus": { + "description": "Value indicating whether this adapter has DHCP enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "NetworkAdapterDHCPStatus", + "modelAsString": true + } + }, + "ipv4Configuration": { + "$ref": "#/definitions/Ipv4Config", + "description": "The IPv4 configuration of the network adapter.", + "readOnly": true + }, + "ipv6Configuration": { + "$ref": "#/definitions/Ipv6Config", + "description": "The IPv6 configuration of the network adapter.", + "readOnly": true + }, + "ipv6LinkLocalAddress": { + "description": "The IPv6 local address.", + "type": "string", + "readOnly": true + }, + "dnsServers": { + "description": "The list of DNS Servers of the device.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "NetworkAdapterPosition": { + "description": "The network adapter position.", + "type": "object", + "properties": { + "networkGroup": { + "description": "The network group.", + "enum": [ + "None", + "NonRDMA", + "RDMA" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "NetworkGroup", + "modelAsString": true + } + }, + "port": { + "format": "int32", + "description": "The port.", + "type": "integer", + "readOnly": true + } + } + }, + "NetworkSettings": { + "description": "The network settings of a device.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "NetworkSettings on ASE device", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/NetworkSettingsProperties", + "description": "The properties of network settings of a device.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "NetworkSettingsProperties": { + "description": "The properties of network settings.", + "type": "object", + "properties": { + "networkAdapters": { + "description": "The network adapter list on the device.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/NetworkAdapter" + }, + "readOnly": true + } + } + }, + "Node": { + "description": "Represents a single node in a Data box Edge/Gateway device\r\nGateway devices, standalone Edge devices and a single node cluster Edge device will all have 1 node\r\nMulti-node Edge devices will have more than 1 nodes", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/NodeProperties", + "description": "The properties of the node", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "NodeInfo": { + "description": "Kubernetes node info", + "type": "object", + "properties": { + "name": { + "description": "Node name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Node type - Master/Worker", + "enum": [ + "Invalid", + "Master", + "Worker" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "KubernetesNodeType", + "modelAsString": true + } + }, + "ipConfiguration": { + "description": "IP Configuration of the Kubernetes node.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/KubernetesIPConfiguration" + } + } + } + }, + "NodeList": { + "description": "Collection of Nodes.", + "type": "object", + "properties": { + "value": { + "description": "The list of Nodes.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Node" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "NodeProperties": { + "description": "This class represents the nodes in a highly available cluster", + "type": "object", + "properties": { + "nodeStatus": { + "description": "The current status of the individual node", + "enum": [ + "Unknown", + "Up", + "Down", + "Rebooting", + "ShuttingDown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "NodeStatus", + "modelAsString": true + } + }, + "nodeChassisSerialNumber": { + "description": "Serial number of the Chassis", + "type": "string", + "readOnly": true + }, + "nodeSerialNumber": { + "description": "Serial number of the individual node", + "type": "string", + "readOnly": true + }, + "nodeDisplayName": { + "description": "Display Name of the individual node", + "type": "string", + "readOnly": true + }, + "nodeFriendlySoftwareVersion": { + "description": "Friendly software version name that is currently installed on the node", + "type": "string", + "readOnly": true + }, + "nodeHcsVersion": { + "description": "HCS version that is currently installed on the node", + "type": "string", + "readOnly": true + }, + "nodeInstanceId": { + "description": "Guid instance id of the node", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "Operations.", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation.", + "type": "string" + }, + "isDataAction": { + "description": "Is data action.", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Properties displayed for the operation." + }, + "origin": { + "description": "Origin of the operation.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Operation properties.", + "x-ms-client-flatten": true + } + } + }, + "OperationDisplay": { + "description": "Operation display properties.", + "type": "object", + "properties": { + "provider": { + "description": "Provider name.", + "type": "string" + }, + "resource": { + "description": "The type of resource in which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Operation to be performed on the resource.", + "type": "string" + }, + "description": { + "description": "Description of the operation to be performed.", + "type": "string" + } + } + }, + "OperationProperties": { + "description": "Operation properties.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "Service specification." + } + } + }, + "OperationsList": { + "description": "The list of operations used for the discovery of available provider operations.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "The value.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string" + } + } + }, + "Order": { + "description": "The order details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "Order configured on ASE resource", + "$ref": "#/definitions/SystemData" + }, + "kind": { + "description": "It specify the order api version.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/OrderProperties", + "description": "The order properties.", + "x-ms-client-flatten": true + } + } + }, + "OrderList": { + "description": "List of order entities.", + "type": "object", + "properties": { + "value": { + "description": "The list of orders.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Order" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "OrderProperties": { + "description": "Order properties.", + "type": "object", + "properties": { + "orderId": { + "description": "It specify the order resource id.", + "type": "string", + "readOnly": true + }, + "contactInformation": { + "$ref": "#/definitions/ContactDetails", + "description": "The contact details." + }, + "shippingAddress": { + "$ref": "#/definitions/Address", + "description": "The shipping address." + }, + "currentStatus": { + "$ref": "#/definitions/OrderStatus", + "description": "Current status of the order.", + "readOnly": true + }, + "orderHistory": { + "description": "List of status changes in the order.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OrderStatus" + }, + "readOnly": true + }, + "serialNumber": { + "description": "Serial number of the device.", + "type": "string", + "readOnly": true + }, + "deliveryTrackingInfo": { + "description": "Tracking information for the package delivered to the customer whether it has an original or a replacement device.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/TrackingInfo" + }, + "readOnly": true + }, + "returnTrackingInfo": { + "description": "Tracking information for the package returned from the customer whether it has an original or a replacement device.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/TrackingInfo" + }, + "readOnly": true + }, + "shipmentType": { + "description": "ShipmentType of the order", + "enum": [ + "NotApplicable", + "ShippedToCustomer", + "SelfPickup" + ], + "type": "string", + "x-ms-enum": { + "name": "ShipmentType", + "modelAsString": true + } + } + } + }, + "OrderStatus": { + "description": "Represents a single status change.", + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "description": "Status of the order as per the allowed status types.", + "enum": [ + "Untracked", + "AwaitingFulfillment", + "AwaitingPreparation", + "AwaitingShipment", + "Shipped", + "Arriving", + "Delivered", + "ReplacementRequested", + "LostDevice", + "Declined", + "ReturnInitiated", + "AwaitingReturnShipment", + "ShippedBack", + "CollectedAtMicrosoft", + "AwaitingPickup", + "PickupCompleted", + "AwaitingDrop" + ], + "type": "string", + "x-ms-enum": { + "name": "OrderState", + "modelAsString": true + } + }, + "updateDateTime": { + "format": "date-time", + "description": "Time of status update.", + "type": "string", + "readOnly": true + }, + "comments": { + "description": "Comments related to this status change.", + "type": "string" + }, + "trackingInformation": { + "$ref": "#/definitions/TrackingInfo", + "description": "Tracking information related to the state in the ordering flow", + "readOnly": true + }, + "additionalOrderDetails": { + "description": "Dictionary to hold generic information which is not stored\r\nby the already existing properties", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "PeriodicTimerEventTrigger": { + "description": "Trigger details.", + "required": [ + "properties", + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Trigger" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PeriodicTimerProperties", + "description": "Periodic timer trigger properties.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "PeriodicTimerEvent" + }, + "PeriodicTimerProperties": { + "description": "Periodic timer trigger properties.", + "required": [ + "sourceInfo", + "sinkInfo" + ], + "type": "object", + "properties": { + "sourceInfo": { + "$ref": "#/definitions/PeriodicTimerSourceInfo", + "description": "Periodic timer details." + }, + "sinkInfo": { + "$ref": "#/definitions/RoleSinkInfo", + "description": "Role Sink information." + }, + "customContextTag": { + "description": "A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module.", + "maxLength": 192, + "type": "string" + } + } + }, + "PeriodicTimerSourceInfo": { + "description": "Periodic timer event source.", + "required": [ + "startTime", + "schedule" + ], + "type": "object", + "properties": { + "startTime": { + "format": "date-time", + "description": "The time of the day that results in a valid trigger. Schedule is computed with reference to the time specified upto seconds. If timezone is not specified the time will considered to be in device timezone. The value will always be returned as UTC time.", + "type": "string" + }, + "schedule": { + "description": "Periodic frequency at which timer event needs to be raised. Supports daily, hourly, minutes, and seconds.", + "type": "string" + }, + "topic": { + "description": "Topic where periodic events are published to IoT device.", + "type": "string" + } + } + }, + "ProactiveLogCollectionSettingsProperties": { + "description": "The properties of proactive log collection settings.", + "required": [ + "userConsent" + ], + "type": "object", + "properties": { + "userConsent": { + "description": "Proactive diagnostic collection consent flag", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ProactiveDiagnosticsConsent", + "modelAsString": true + } + } + } + }, + "RawCertificateData": { + "description": "Raw Certificate Data.", + "required": [ + "certificate" + ], + "type": "object", + "properties": { + "authenticationType": { + "description": "The authentication type.", + "enum": [ + "Invalid", + "AzureActiveDirectory" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + }, + "certificate": { + "description": "The base64 encoded certificate raw data.", + "type": "string" + } + } + }, + "RefreshDetails": { + "description": "Fields for tracking refresh job on the share or container.", + "type": "object", + "properties": { + "inProgressRefreshJobId": { + "description": "If a refresh job is currently in progress on this share or container, this field indicates the ARM resource ID of that job. The field is empty if no job is in progress.", + "type": "string" + }, + "lastCompletedRefreshJobTimeInUTC": { + "format": "date-time", + "description": "Indicates the completed time for the last refresh job on this particular share or container, if any.This could be a failed job or a successful job.", + "type": "string" + }, + "errorManifestFile": { + "description": "Indicates the relative path of the error xml for the last refresh job on this particular share or container, if any. This could be a failed job or a successful job.", + "type": "string" + }, + "lastJob": { + "description": "Indicates the id of the last refresh job on this particular share or container,if any. This could be a failed job or a successful job.", + "type": "string" + } + } + }, + "RemoteSupportSettings": { + "description": "RemoteApplicationType for which remote support settings is being modified", + "type": "object", + "properties": { + "remoteApplicationType": { + "description": "Remote application type", + "enum": [ + "Powershell", + "WAC", + "LocalUI", + "AllApplications" + ], + "type": "string", + "x-ms-enum": { + "name": "RemoteApplicationType", + "modelAsString": true + } + }, + "accessLevel": { + "description": "Access level allowed for this remote application type", + "enum": [ + "None", + "ReadOnly", + "ReadWrite", + "FullAccess" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessLevel", + "modelAsString": true + } + }, + "expirationTimeStampInUTC": { + "format": "date-time", + "description": "Expiration time stamp", + "type": "string" + } + } + }, + "ResourceIdentity": { + "description": "Msi identity details of the resource", + "type": "object", + "properties": { + "type": { + "description": "Identity type", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "MsiIdentityType", + "modelAsString": true + } + }, + "principalId": { + "description": "Service Principal Id backing the Msi", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Home Tenant Id", + "type": "string", + "readOnly": true + } + } + }, + "ResourceMoveDetails": { + "description": "Fields for tracking resource move", + "type": "object", + "properties": { + "operationInProgress": { + "description": "Denotes whether move operation is in progress", + "enum": [ + "None", + "ResourceMoveInProgress", + "ResourceMoveFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceMoveStatus", + "modelAsString": true + } + }, + "operationInProgressLockTimeoutInUTC": { + "format": "date-time", + "description": "Denotes the timeout of the operation to finish", + "type": "string" + } + } + }, + "ResourceTypeSku": { + "description": "Resource type Sku object", + "type": "object", + "properties": { + "resourceType": { + "description": "The resource type.", + "type": "string", + "readOnly": true + }, + "skus": { + "description": "The skus.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SkuInformation" + }, + "readOnly": true + } + } + }, + "Role": { + "description": "Compute role.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "kind": { + "description": "Role type.", + "enum": [ + "IOT", + "ASA", + "Functions", + "Cognitive", + "MEC", + "CloudEdgeManagement", + "Kubernetes" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleTypes", + "modelAsString": true + } + }, + "systemData": { + "description": "Role configured on ASE resource", + "$ref": "#/definitions/SystemData" + } + }, + "discriminator": "kind" + }, + "RoleList": { + "description": "Collection of all the roles on the Data Box Edge device.", + "type": "object", + "properties": { + "value": { + "description": "The Value.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Role" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "RoleSinkInfo": { + "description": "Compute role against which events will be raised.", + "required": [ + "roleId" + ], + "type": "object", + "properties": { + "roleId": { + "description": "Compute role ID.", + "type": "string" + } + } + }, + "Secret": { + "description": "Holds device secret either as a KeyVault reference or as an encrypted value.", + "type": "object", + "properties": { + "encryptedSecret": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Encrypted (using device public key) secret value." + }, + "keyVaultId": { + "description": "Id of the Key-Vault where secret is stored (ex: secrets/AuthClientSecret/82ef4346187a4033a10d629cde07d740).", + "type": "string" + } + } + }, + "SecuritySettings": { + "description": "The security settings of a device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SecuritySettingsProperties", + "description": "Properties of the security settings.", + "x-ms-client-flatten": true + } + } + }, + "SecuritySettingsProperties": { + "description": "The properties of security settings.", + "required": [ + "deviceAdminPassword" + ], + "type": "object", + "properties": { + "deviceAdminPassword": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Device administrator password as an encrypted string (encrypted using RSA PKCS #1) is used to sign into the local web UI of the device. The Actual password should have at least 8 characters that are a combination of uppercase, lowercase, numeric, and special characters." + } + } + }, + "ServiceSpecification": { + "description": "Service specification.", + "type": "object", + "properties": { + "metricSpecifications": { + "description": "Metric specification as defined by shoebox.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification_V1" + } + } + } + }, + "Share": { + "description": "Represents a share on the Data Box Edge/Gateway device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "Share on ASE device", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/ShareProperties", + "description": "The share properties.", + "x-ms-client-flatten": true + } + } + }, + "ShareAccessRight": { + "description": "Specifies the mapping between this particular user and the type of access he has on shares on this device.", + "required": [ + "shareId", + "accessType" + ], + "type": "object", + "properties": { + "shareId": { + "description": "The share ID.", + "type": "string" + }, + "accessType": { + "description": "Type of access to be allowed on the share for this user.", + "enum": [ + "Change", + "Read", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "ShareAccessType", + "modelAsString": true + } + } + } + }, + "ShareList": { + "description": "Collection of all the shares on the Data Box Edge/Gateway device.", + "type": "object", + "properties": { + "value": { + "description": "The list of shares.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Share" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "ShareProperties": { + "description": "The share properties.", + "required": [ + "shareStatus", + "monitoringStatus", + "accessProtocol" + ], + "type": "object", + "properties": { + "description": { + "description": "Description for the share.", + "type": "string" + }, + "shareStatus": { + "description": "Current status of the share.", + "enum": [ + "Offline", + "Unknown", + "OK", + "Updating", + "NeedsAttention" + ], + "type": "string", + "x-ms-enum": { + "name": "ShareStatus", + "modelAsString": true + } + }, + "monitoringStatus": { + "description": "Current monitoring status of the share.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "MonitoringStatus", + "modelAsString": true + } + }, + "azureContainerInfo": { + "$ref": "#/definitions/AzureContainerInfo", + "description": "Azure container mapping for the share." + }, + "accessProtocol": { + "description": "Access protocol to be used by the share.", + "enum": [ + "SMB", + "NFS" + ], + "type": "string", + "x-ms-enum": { + "name": "ShareAccessProtocol", + "modelAsString": true + } + }, + "userAccessRights": { + "description": "Mapping of users and corresponding access rights on the share (required for SMB protocol).", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/UserAccessRight" + } + }, + "clientAccessRights": { + "description": "List of IP addresses and corresponding access rights on the share(required for NFS protocol).", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ClientAccessRight" + } + }, + "refreshDetails": { + "$ref": "#/definitions/RefreshDetails", + "description": "Details of the refresh job on this share." + }, + "shareMappings": { + "description": "Share mount point to the role.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MountPointMap" + }, + "readOnly": true + }, + "dataPolicy": { + "description": "Data policy of the share.", + "enum": [ + "Cloud", + "Local" + ], + "type": "string", + "x-ms-enum": { + "name": "DataPolicy", + "modelAsString": true + } + } + } + }, + "Sku": { + "description": "The SKU type.", + "type": "object", + "properties": { + "name": { + "description": "SKU name.", + "enum": [ + "Gateway", + "Edge", + "TEA_1Node", + "TEA_1Node_UPS", + "TEA_1Node_Heater", + "TEA_1Node_UPS_Heater", + "TEA_4Node_Heater", + "TEA_4Node_UPS_Heater", + "TMA", + "TDC", + "TCA_Small", + "GPU", + "TCA_Large", + "EdgeP_Base", + "EdgeP_High", + "EdgePR_Base", + "EdgePR_Base_UPS", + "EP2_64_1VPU_W", + "EP2_128_1T4_Mx1_W", + "EP2_256_2T4_W", + "EdgeMR_Mini", + "RCA_Small", + "RCA_Large", + "RDC", + "Management" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "tier": { + "description": "The SKU tier. This is based on the SKU name.", + "enum": [ + "Standard" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + } + } + }, + "SkuCapability": { + "description": "The metadata to describe the capability.", + "type": "object", + "properties": { + "name": { + "description": "An invariant to describe the feature.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "An invariant if the feature is measured by quantity.", + "type": "string", + "readOnly": true + } + } + }, + "SkuCost": { + "description": "The metadata for retrieving price info.", + "type": "object", + "properties": { + "meterId": { + "description": "Used for querying price from commerce.", + "type": "string", + "readOnly": true + }, + "quantity": { + "format": "int64", + "description": "The cost quantity.", + "type": "integer", + "readOnly": true + }, + "extendedUnit": { + "description": "The extended unit.", + "type": "string", + "readOnly": true + } + } + }, + "SkuInformation": { + "description": "Sku information", + "type": "object", + "properties": { + "name": { + "description": "The sku name.", + "type": "string", + "readOnly": true + }, + "tier": { + "description": "The sku tier.", + "type": "string", + "readOnly": true + }, + "kind": { + "description": "The sku kind.", + "type": "string", + "readOnly": true + }, + "family": { + "description": "The Sku family.", + "type": "string", + "readOnly": true + }, + "costs": { + "description": "The pricing info of the Sku.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SkuCost" + }, + "readOnly": true + }, + "locations": { + "description": "The locations where Sku is available.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "locationInfo": { + "description": "The locations where Sku is available with zones and sites info", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SkuLocationInfo" + }, + "readOnly": true + }, + "requiredQuotaIds": { + "description": "The required quotaIds for the sku to be available.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredFeatures": { + "description": "The required features for the sku to be available.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "SkuInformationList": { + "description": "List of SKU Information objects", + "type": "object", + "properties": { + "value": { + "description": "List of ResourceTypeSku objects", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceTypeSku" + }, + "readOnly": true + }, + "nextLink": { + "description": "Links to the next set of results", + "type": "string", + "readOnly": true + } + } + }, + "SkuLocationInfo": { + "description": "The location info.", + "type": "object", + "properties": { + "location": { + "description": "The location.", + "type": "string", + "readOnly": true + }, + "zones": { + "description": "The zones.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "sites": { + "description": "The sites.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "StorageAccount": { + "description": "Represents a Storage Account on the Data Box Edge/Gateway device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "StorageAccount object on ASE device", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/StorageAccountProperties", + "description": "The Storage Account properties.", + "x-ms-client-flatten": true + } + } + }, + "StorageAccountCredential": { + "description": "The storage account credential.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "StorageAccountCredential object", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/StorageAccountCredentialProperties", + "description": "The storage account credential properties.", + "x-ms-client-flatten": true + } + } + }, + "StorageAccountCredentialList": { + "description": "The collection of storage account credentials.", + "type": "object", + "properties": { + "value": { + "description": "The value.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccountCredential" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "StorageAccountCredentialProperties": { + "description": "The storage account credential properties.", + "required": [ + "alias", + "sslStatus", + "accountType" + ], + "type": "object", + "properties": { + "alias": { + "description": "Alias for the storage account.", + "type": "string" + }, + "userName": { + "description": "Username for the storage account.", + "type": "string" + }, + "accountKey": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Encrypted storage key." + }, + "connectionString": { + "description": "Connection string for the storage account. Use this string if username and account key are not specified.", + "type": "string" + }, + "sslStatus": { + "description": "Signifies whether SSL needs to be enabled or not.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "SSLStatus", + "modelAsString": true + } + }, + "blobDomainName": { + "description": "Blob end point for private clouds.", + "type": "string" + }, + "accountType": { + "description": "Type of storage accessed on the storage account.", + "enum": [ + "GeneralPurposeStorage", + "BlobStorage" + ], + "type": "string", + "x-ms-enum": { + "name": "AccountType", + "modelAsString": true + } + }, + "storageAccountId": { + "description": "Id of the storage account.", + "type": "string" + } + } + }, + "StorageAccountList": { + "description": "Collection of all the Storage Accounts on the Data Box Edge/Gateway device.", + "type": "object", + "properties": { + "value": { + "description": "The list of storageAccounts.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccount" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "StorageAccountProperties": { + "description": "The storage account properties.", + "required": [ + "dataPolicy" + ], + "type": "object", + "properties": { + "description": { + "description": "Description for the storage Account.", + "type": "string" + }, + "storageAccountStatus": { + "description": "Current status of the storage account", + "enum": [ + "OK", + "Offline", + "Unknown", + "Updating", + "NeedsAttention" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageAccountStatus", + "modelAsString": true + } + }, + "dataPolicy": { + "description": "Data policy of the storage Account.", + "enum": [ + "Cloud", + "Local" + ], + "type": "string", + "x-ms-enum": { + "name": "DataPolicy", + "modelAsString": true + } + }, + "storageAccountCredentialId": { + "description": "Storage Account Credential Id", + "type": "string" + }, + "blobEndpoint": { + "description": "BlobEndpoint of Storage Account", + "type": "string", + "readOnly": true + }, + "containerCount": { + "format": "int32", + "description": "The Container Count. Present only for Storage Accounts with DataPolicy set to Cloud.", + "type": "integer", + "readOnly": true + } + } + }, + "SubscriptionProperties": { + "type": "object", + "properties": { + "tenantId": { + "type": "string" + }, + "locationPlacementId": { + "type": "string" + }, + "quotaId": { + "type": "string" + }, + "serializedDetails": { + "type": "string" + }, + "registeredFeatures": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionRegisteredFeatures" + } + } + } + }, + "SubscriptionRegisteredFeatures": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "SupportPackageRequestProperties": { + "description": "The share properties.", + "type": "object", + "properties": { + "minimumTimeStamp": { + "format": "date-time", + "description": "Start of the timespan of the log collection", + "type": "string" + }, + "maximumTimeStamp": { + "format": "date-time", + "description": "MaximumTimeStamp until where logs need to be collected", + "type": "string" + }, + "include": { + "description": "Type of files, which need to be included in the logs\r\nThis will contain the type of logs (Default/DefaultWithDumps/None/All/DefaultWithArchived)\r\nor a comma separated list of log types that are required", + "type": "string" + } + } + }, + "SymmetricKey": { + "description": "Symmetric key for authentication.", + "type": "object", + "properties": { + "connectionString": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Connection string based on the symmetric key." + } + } + }, + "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." + } + } + }, + "TrackingInfo": { + "description": "Tracking courier information.", + "type": "object", + "properties": { + "serialNumber": { + "description": "Serial number of the device being tracked.", + "type": "string" + }, + "carrierName": { + "description": "Name of the carrier used in the delivery.", + "type": "string" + }, + "trackingId": { + "description": "Tracking ID of the shipment.", + "type": "string" + }, + "trackingUrl": { + "description": "Tracking URL of the shipment.", + "type": "string" + } + } + }, + "Trigger": { + "description": "Trigger details.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "Trigger in DataBoxEdge Resource", + "$ref": "#/definitions/SystemData" + }, + "kind": { + "description": "Trigger Kind.", + "enum": [ + "FileEvent", + "PeriodicTimerEvent" + ], + "type": "string", + "x-ms-enum": { + "name": "TriggerEventType", + "modelAsString": true + } + } + }, + "discriminator": "kind" + }, + "TriggerList": { + "description": "Collection of all trigger on the data box edge device.", + "type": "object", + "properties": { + "value": { + "description": "The list of triggers.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Trigger" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "TriggerSupportPackageRequest": { + "description": "The request object for trigger support package.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SupportPackageRequestProperties", + "description": "The TriggerSupportPackageRequest properties.", + "x-ms-client-flatten": true + } + } + }, + "UpdateDetails": { + "description": "Update Specific attributes", + "type": "object", + "properties": { + "updateTitle": { + "description": "Title of the Update", + "type": "string" + }, + "updateSize": { + "format": "double", + "description": "Size of the update(In Bytes)", + "type": "number" + }, + "updateType": { + "description": "Type of the Update", + "enum": [ + "Software", + "Kubernetes", + "Firmware" + ], + "type": "string", + "x-ms-enum": { + "name": "UpdateType", + "modelAsString": true + } + }, + "targetVersion": { + "description": "Target Version number", + "type": "string" + }, + "friendlyVersionNumber": { + "description": "Friendly Version Number", + "type": "string" + }, + "estimatedInstallTimeInMins": { + "format": "int32", + "description": "Estimated Install Time for the update", + "type": "integer" + }, + "rebootBehavior": { + "description": "Indicates if updates are available and at least one of the updates needs a reboot.", + "enum": [ + "NeverReboots", + "RequiresReboot", + "RequestReboot" + ], + "type": "string", + "x-ms-enum": { + "name": "InstallRebootBehavior", + "modelAsString": true + } + }, + "installationImpact": { + "description": "Impact of Installing an updateType", + "enum": [ + "None", + "DeviceRebooted", + "KubernetesWorkloadsDown" + ], + "type": "string", + "x-ms-enum": { + "name": "InstallationImpact", + "modelAsString": true + } + }, + "status": { + "description": "Status of the update.", + "enum": [ + "DownloadPending", + "DownloadStarted", + "DownloadCompleted", + "InstallStarted", + "InstallCompleted" + ], + "type": "string", + "x-ms-enum": { + "name": "UpdateStatus", + "modelAsString": true + } + } + } + }, + "UpdateDownloadProgress": { + "description": "Details about the download progress of update.", + "type": "object", + "properties": { + "downloadPhase": { + "description": "The download phase.", + "enum": [ + "Unknown", + "Initializing", + "Downloading", + "Verifying" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DownloadPhase", + "modelAsString": true + } + }, + "percentComplete": { + "format": "int32", + "description": "Percentage of completion.", + "type": "integer", + "readOnly": true + }, + "totalBytesToDownload": { + "format": "double", + "description": "Total bytes to download.", + "type": "number", + "readOnly": true + }, + "totalBytesDownloaded": { + "format": "double", + "description": "Total bytes downloaded.", + "type": "number", + "readOnly": true + }, + "numberOfUpdatesToDownload": { + "format": "int32", + "description": "Number of updates to download.", + "type": "integer", + "readOnly": true + }, + "numberOfUpdatesDownloaded": { + "format": "int32", + "description": "Number of updates downloaded.", + "type": "integer", + "readOnly": true + } + } + }, + "UpdateInstallProgress": { + "description": "Progress details during installation of updates.", + "type": "object", + "properties": { + "percentComplete": { + "format": "int32", + "description": "Percentage completed.", + "type": "integer", + "readOnly": true + }, + "numberOfUpdatesToInstall": { + "format": "int32", + "description": "Number of updates to install.", + "type": "integer", + "readOnly": true + }, + "numberOfUpdatesInstalled": { + "format": "int32", + "description": "Number of updates installed.", + "type": "integer", + "readOnly": true + } + } + }, + "UpdateSummary": { + "description": "Details about ongoing updates and availability of updates on the device.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "UpdateSummary Result", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/UpdateSummaryProperties", + "description": "The device update information summary.", + "x-ms-client-flatten": true + } + } + }, + "UpdateSummaryProperties": { + "description": "The device update information summary.", + "type": "object", + "properties": { + "deviceVersionNumber": { + "description": "The current version of the device in format: 1.2.17312.13.\",", + "type": "string" + }, + "friendlyDeviceVersionName": { + "description": "The current version of the device in text format.", + "type": "string" + }, + "deviceLastScannedDateTime": { + "format": "date-time", + "description": "The last time when a scan was done on the device.", + "type": "string" + }, + "lastCompletedScanJobDateTime": { + "format": "date-time", + "description": "The time when the last scan job was completed (success/cancelled/failed) on the appliance.", + "type": "string" + }, + "lastSuccessfulScanJobTime": { + "format": "date-time", + "description": "Time when the last scan job is successfully completed.", + "type": "string" + }, + "lastCompletedDownloadJobDateTime": { + "format": "date-time", + "description": "The time when the last Download job was completed (success/cancelled/failed) on the appliance.", + "type": "string", + "readOnly": true + }, + "lastCompletedDownloadJobId": { + "description": "JobId of the last ran download job.(Can be success/cancelled/failed)", + "type": "string", + "readOnly": true + }, + "lastDownloadJobStatus": { + "description": "JobStatus of the last ran download job.", + "enum": [ + "Invalid", + "Running", + "Succeeded", + "Failed", + "Canceled", + "Paused", + "Scheduled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "lastSuccessfulInstallJobDateTime": { + "format": "date-time", + "description": "The time when the Last Install job was completed successfully on the appliance", + "type": "string" + }, + "lastCompletedInstallJobDateTime": { + "format": "date-time", + "description": "The time when the last Install job was completed (success/cancelled/failed) on the appliance.", + "type": "string", + "readOnly": true + }, + "lastCompletedInstallJobId": { + "description": "JobId of the last ran install job.(Can be success/cancelled/failed)", + "type": "string", + "readOnly": true + }, + "lastInstallJobStatus": { + "description": "JobStatus of the last ran install job.", + "enum": [ + "Invalid", + "Running", + "Succeeded", + "Failed", + "Canceled", + "Paused", + "Scheduled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "totalNumberOfUpdatesAvailable": { + "format": "int32", + "description": "The number of updates available for the current device version as per the last device scan.", + "type": "integer", + "readOnly": true + }, + "totalNumberOfUpdatesPendingDownload": { + "format": "int32", + "description": "The total number of items pending download.", + "type": "integer", + "readOnly": true + }, + "totalNumberOfUpdatesPendingInstall": { + "format": "int32", + "description": "The total number of items pending install.", + "type": "integer", + "readOnly": true + }, + "rebootBehavior": { + "description": "Indicates if updates are available and at least one of the updates needs a reboot.", + "enum": [ + "NeverReboots", + "RequiresReboot", + "RequestReboot" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "InstallRebootBehavior", + "modelAsString": true + } + }, + "ongoingUpdateOperation": { + "description": "The current update operation.", + "enum": [ + "None", + "Scan", + "Download", + "Install" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "UpdateOperation", + "modelAsString": true + } + }, + "inProgressDownloadJobId": { + "description": "The job ID of the download job in progress.", + "type": "string", + "readOnly": true + }, + "inProgressInstallJobId": { + "description": "The job ID of the install job in progress.", + "type": "string", + "readOnly": true + }, + "inProgressDownloadJobStartedDateTime": { + "format": "date-time", + "description": "The time when the currently running download (if any) started.", + "type": "string", + "readOnly": true + }, + "inProgressInstallJobStartedDateTime": { + "format": "date-time", + "description": "The time when the currently running install (if any) started.", + "type": "string", + "readOnly": true + }, + "updateTitles": { + "description": "The list of updates available for install.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "updates": { + "description": "The list of updates available for install.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/UpdateDetails" + }, + "readOnly": true + }, + "totalUpdateSizeInBytes": { + "format": "double", + "description": "The total size of updates available for download in bytes.", + "type": "number", + "readOnly": true + }, + "totalTimeInMinutes": { + "format": "int32", + "description": "The total time in Minutes", + "type": "integer", + "readOnly": true + } + } + }, + "UploadCertificateRequest": { + "description": "The upload certificate request.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RawCertificateData", + "description": "The Base 64 encoded certificate raw data.", + "x-ms-client-flatten": true + } + } + }, + "UploadCertificateResponse": { + "description": "The upload registration certificate response.", + "type": "object", + "properties": { + "authType": { + "description": "Specifies authentication type.", + "enum": [ + "Invalid", + "AzureActiveDirectory" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + }, + "resourceId": { + "description": "The resource ID of the Data Box Edge/Gateway device.", + "type": "string", + "readOnly": true + }, + "aadAuthority": { + "description": "Azure Active Directory tenant authority.", + "type": "string", + "readOnly": true + }, + "aadTenantId": { + "description": "Azure Active Directory tenant ID.", + "type": "string", + "readOnly": true + }, + "servicePrincipalClientId": { + "description": "Azure Active Directory service principal client ID.", + "type": "string", + "readOnly": true + }, + "servicePrincipalObjectId": { + "description": "Azure Active Directory service principal object ID.", + "type": "string", + "readOnly": true + }, + "azureManagementEndpointAudience": { + "description": "The azure management endpoint audience.", + "type": "string", + "readOnly": true + }, + "aadAudience": { + "description": "Identifier of the target resource that is the recipient of the requested token.", + "type": "string", + "readOnly": true + } + } + }, + "User": { + "description": "Represents a user who has access to one or more shares on the Data Box Edge/Gateway device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "User in DataBoxEdge Resource", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/UserProperties", + "description": "The storage account credential properties.", + "x-ms-client-flatten": true + } + } + }, + "UserAccessRight": { + "description": "The mapping between a particular user and the access type on the SMB share.", + "required": [ + "userId", + "accessType" + ], + "type": "object", + "properties": { + "userId": { + "description": "User ID (already existing in the device).", + "type": "string" + }, + "accessType": { + "description": "Type of access to be allowed for the user.", + "enum": [ + "Change", + "Read", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "ShareAccessType", + "modelAsString": true + } + } + } + }, + "UserList": { + "description": "Collection of users.", + "type": "object", + "properties": { + "value": { + "description": "The list of users.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/User" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "UserProperties": { + "description": "The user properties.", + "required": [ + "userType" + ], + "type": "object", + "properties": { + "encryptedPassword": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "The password details." + }, + "shareAccessRights": { + "description": "List of shares that the user has rights on. This field should not be specified during user creation.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ShareAccessRight" + }, + "readOnly": true + }, + "userType": { + "description": "Type of the user.", + "enum": [ + "Share", + "LocalManagement", + "ARM" + ], + "type": "string", + "x-ms-enum": { + "name": "UserType", + "modelAsString": true + } + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version.", + "required": true, + "type": "string" + }, + "locationParameter": { + "name": "location", + "in": "path", + "description": "The location of the resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The resource group name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "subscriptionIdParameter": { + "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": "impersonate your user account" + }, + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "tags": [] +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/AlertGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/AlertGet.json new file mode 100644 index 000000000000..39fc26d82759 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/AlertGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "title": "Could not scan for updates. Error message : 'An internal error has occurred. Please contact Microsoft Support.'.", + "alertType": "UpdateScanFailedEvent", + "appearedAtDateTime": "2018-12-18T02:18:51.4270267Z", + "recommendation": "Resolve the error : An internal error has occurred. Please contact Microsoft Support.", + "severity": "Critical", + "errorDetails": { + "errorCode": "", + "errorMessage": "", + "occurrences": 1 + }, + "detailedInformation": {} + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/159a00c7-8543-4343-9435-263ac87df3bb", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "type": "dataBoxEdgeDevices/alerts" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/AlertGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/AlertGetAllInDevice.json new file mode 100644 index 000000000000..f6aa0bd288a3 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/AlertGetAllInDevice.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "title": "Device password has changed", + "alertType": "PasswordChangedEvent", + "appearedAtDateTime": "2018-12-18T02:29:15.2325577Z", + "recommendation": "The device administrator password has changed. This is a required action as part of the first time device setup or regular password reset. No further action is required.", + "severity": "Informational", + "errorDetails": { + "errorCode": "", + "errorMessage": "", + "occurrences": 2 + }, + "detailedInformation": {} + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/83eccd0b-134b-40b0-ad62-b5f124d03790", + "name": "83eccd0b-134b-40b0-ad62-b5f124d03790", + "type": "dataBoxEdgeDevices/alerts" + }, + { + "properties": { + "title": "Could not scan for updates. Error message : 'An internal error has occurred. Please contact Microsoft Support.'.", + "alertType": "UpdateScanFailedEvent", + "appearedAtDateTime": "2018-12-18T02:18:51.4270267Z", + "recommendation": "Resolve the error : An internal error has occurred. Please contact Microsoft Support.", + "severity": "Critical", + "errorDetails": { + "errorCode": "", + "errorMessage": "", + "occurrences": 1 + }, + "detailedInformation": {} + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/159a00c7-8543-4343-9435-263ac87df3bb", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "type": "dataBoxEdgeDevices/alerts" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/AvailableSkusList.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/AvailableSkusList.json new file mode 100644 index 000000000000..25424cc9d016 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/AvailableSkusList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "location": "westus", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "dataBoxEdgeDevices", + "name": "Gateway", + "availability": "Available", + "tier": "Standard", + "kind": "AzureDataBoxGateway", + "version": "Stable", + "signupOption": "Available", + "locations": [ + "West US" + ], + "locationInfo": [ + { + "location": "West US" + } + ] + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthScheduleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthScheduleDelete.json new file mode 100644 index 000000000000..c0cb0cdcf0e6 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthScheduleDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "bandwidth-1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthScheduleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthScheduleGet.json new file mode 100644 index 000000000000..9c63f286b8c2 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthScheduleGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "bandwidth-1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "start": "00:00:00", + "stop": "13:59:00", + "rateInMbps": 100, + "days": [ + "Sunday", + "Monday" + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1", + "name": "bandwidth-1", + "type": "dataBoxEdgeDevices/bandwidthSchedules" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthScheduleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthScheduleGetAllInDevice.json new file mode 100644 index 000000000000..681c998bf618 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthScheduleGetAllInDevice.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "start": "00:00:00", + "stop": "13:59:00", + "rateInMbps": 100, + "days": [ + "Sunday", + "Monday" + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1", + "name": "bandwidth-1", + "type": "dataBoxEdgeDevices/bandwidthSchedules" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthSchedulePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthSchedulePut.json new file mode 100644 index 000000000000..75ee120f3398 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthSchedulePut.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "bandwidth-1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "parameters": { + "properties": { + "start": "0:0:0", + "stop": "13:59:0", + "rateInMbps": 100, + "days": [ + "Sunday", + "Monday" + ] + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "start": "00:00:00", + "stop": "13:59:00", + "rateInMbps": 100, + "days": [ + "Sunday", + "Monday" + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1", + "name": "bandwidth-1", + "type": "dataBoxEdgeDevices/bandwidthSchedules" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerDelete.json new file mode 100644 index 000000000000..1a618579f19c --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "containerName": "blobcontainer1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerGet.json new file mode 100644 index 000000000000..08fab2369999 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "containerName": "blobcontainer1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:13:27.8545799Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/storageaccount1/containers/blobcontainer1", + "name": "blobcontainer1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerListAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerListAllInDevice.json new file mode 100644 index 000000000000..73cbd00c3b57 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerListAllInDevice.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:14:32.3016929Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer1", + "name": "blobcontainer1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + }, + { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:15:38.0077675Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer2", + "name": "blobcontainer2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + }, + { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:13:27.8545799Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer3", + "name": "blobcontainer3", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerPut.json new file mode 100644 index 000000000000..93edb0c5aa47 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerPut.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "containerName": "blobcontainer1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "container": { + "properties": { + "dataFormat": "BlockBlob" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:13:27.8545799Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/storageaccount1/containers/blobcontainer1", + "name": "blobcontainer-5e155efe", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerRefresh.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerRefresh.json new file mode 100644 index 000000000000..9b7f89e11750 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerRefresh.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "containerName": "blobcontainer1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceDelete.json new file mode 100644 index 000000000000..4c9310ac7c29 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetByName.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetByName.json new file mode 100644 index 000000000000..3fd7546d81c9 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetByName.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-09-29T18%3A50%3A31.1203818Z'\"_W/\"datetime'2020-09-29T18%3A50%3A31.1343914Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureStackEdge", + "properties": { + "dataBoxEdgeDeviceStatus": "Offline", + "serialNumber": "1D6QHQ2", + "deviceType": "DataBoxEdgeDevice", + "friendlyName": "DBE-1D6QHQ2", + "deviceModel": "Physical", + "deviceSoftwareVersion": "Azure Stack Edge 2009", + "deviceLocalCapacity": 8042259, + "timeZone": "Pacific Standard Time", + "deviceHcsVersion": "2.1.1361.23408", + "configuredRoleTypes": [ + "CloudEdgeManagement" + ], + "nodeCount": 1, + "edgeProfile": { + "subscription": { + "registrationId": "91d8753b-af42-4908-9a5e-2a61f08b20de", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/VmMgmtTestPass/providers/Microsoft.AzureStack/edgeSubscriptions/daaac4b0-35c4-4008-bdc6-b72ca5890f16", + "state": "Registered" + } + } + }, + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EdgeTestPassResource", + "name": "EdgeTestPassResource", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json new file mode 100644 index 000000000000..caeae5a148a1 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-09-29T18%3A50%3A31.1203818Z'\"_W/\"datetime'2020-09-29T18%3A50%3A31.1343914Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureStackEdge", + "properties": { + "dataBoxEdgeDeviceStatus": "Offline", + "serialNumber": "1D6QHQ2", + "deviceType": "DataBoxEdgeDevice", + "friendlyName": "DBE-1D6QHQ2", + "deviceModel": "Physical", + "deviceSoftwareVersion": "Azure Stack Edge 2009", + "deviceLocalCapacity": 8042259, + "timeZone": "Pacific Standard Time", + "deviceHcsVersion": "2.1.1361.23408", + "configuredRoleTypes": [ + "CloudEdgeManagement" + ], + "nodeCount": 1, + "edgeProfile": { + "subscription": { + "registrationId": "91d8753b-af42-4908-9a5e-2a61f08b20de", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/VmMgmtTestPass/providers/Microsoft.AzureStack/edgeSubscriptions/daaac4b0-35c4-4008-bdc6-b72ca5890f16", + "state": "Registered" + } + }, + "dataResidency": { + "type": "ZoneReplication" + } + }, + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EdgeTestPassResource", + "name": "EdgeTestPassResource", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetByResourceGroup.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetByResourceGroup.json new file mode 100644 index 000000000000..5244ebc55377 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetByResourceGroup.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-09-29T18%3A50%3A31.1203818Z'\"_W/\"datetime'2020-09-29T18%3A50%3A31.1343914Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureStackEdge", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EdgeTestPassResource", + "name": "EdgeTestPassResource", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + }, + { + "location": "centraluseuap", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-11-18T23%3A31%3A30.3266766Z'\"_W/\"datetime'2020-11-18T23%3A31%3A30.3326804Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "d97a6de5-f5c0-485a-8f5e-b7f705d2dbc4", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureStackEdge", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/FPGAResource", + "name": "FPGAResource", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + }, + { + "location": "centraluseuap", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-11-18T23%3A31%3A23.1715672Z'\"_W/\"datetime'2020-11-18T23%3A31%3A23.2396152Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "6f2b341b-aded-4ec2-a1bd-d09438d6cc8f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureStackEdge", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/TestVMEdgeResource", + "name": "TestVMEdgeResource", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetBySubscription.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetBySubscription.json new file mode 100644 index 000000000000..72d4cb2ef747 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetBySubscription.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Gateway", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-11-19T01%3A39%3A55.1270082Z'\"_W/\"datetime'2020-11-19T01%3A39%3A55.1320118Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "083df009-06d9-4e3c-ae72-f9249a814334", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureDataBoxGateway", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/abhudeda-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/linksub01", + "name": "linksub01", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + }, + { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Gateway", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-11-19T01%3A40%3A05.9246966Z'\"_W/\"datetime'2020-11-19T01%3A40%3A05.9317011Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "8536db30-78d2-4759-95b7-896a66e14c24", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureDataBoxGateway", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/abhudeda-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/mergeazstest", + "name": "mergeazstest", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + }, + { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Gateway", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-11-19T01%3A40%3A06.496102Z'\"_W/\"datetime'2020-11-19T01%3A40%3A06.503107Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "fc4c1205-35c8-4f35-abc7-f5a78945f676", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureDataBoxGateway", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/abhudeda-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/mergeazstest2", + "name": "mergeazstest2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDevicePatch.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDevicePatch.json new file mode 100644 index 000000000000..b2e3b86941a9 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDevicePatch.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "parameters": { + "properties": { + "edgeProfile": { + "subscription": { + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/rapvs-rg/providers/Microsoft.AzureStack/linkedSubscriptions/ca014ddc-5cf2-45f8-b390-e901e4a0ae87" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-11-19T04%3A43%3A38.6457308Z'\"_W/\"datetime'2020-11-19T04%3A43%3A38.6507339Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureStackEdge", + "properties": { + "dataBoxEdgeDeviceStatus": "ReadyToSetup", + "deviceType": "DataBoxEdgeDevice", + "deviceLocalCapacity": 0, + "timeZone": "Pacific Standard Time", + "nodeCount": 0, + "resourceMoveDetails": { + "operationInProgress": "None" + }, + "edgeProfile": { + "subscription": { + "registrationId": "91d8753b-af42-4908-9a5e-2a61f08b20de", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/VmMgmtTestPass/providers/Microsoft.AzureStack/edgeSubscriptions/daaac4b0-35c4-4008-bdc6-b72ca5890f16", + "state": "Registered" + } + } + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice", + "name": "testedgedevice", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDevicePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDevicePut.json new file mode 100644 index 000000000000..e4d5e6b444a6 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDevicePut.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "dataBoxEdgeDevice": { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + } + } + }, + "responses": { + "200": { + "body": { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "name": "testedgedevice" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDevicePutWithDataResidency.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDevicePutWithDataResidency.json new file mode 100644 index 000000000000..32ef534fdda8 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDevicePutWithDataResidency.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "dataBoxEdgeDevice": { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "properties": { + "dataResidency": { + "type": "ZoneReplication" + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "name": "testedgedevice", + "properties": { + "dataResidency": { + "type": "ZoneReplication" + } + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DeleteAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DeleteAddons.json new file mode 100644 index 000000000000..1040d06caab6 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DeleteAddons.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "KubernetesRole", + "addonName": "arcName", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DeleteMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DeleteMonitoringConfig.json new file mode 100644 index 000000000000..d69bfa85c5cf --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DeleteMonitoringConfig.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "testrole", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DownloadUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DownloadUpdatesPost.json new file mode 100644 index 000000000000..9a6dd5afa768 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DownloadUpdatesPost.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ExtendedInfoPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ExtendedInfoPost.json new file mode 100644 index 000000000000..f119b0ea23e0 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ExtendedInfoPost.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "resourceKey": "3482840729935603111", + "encryptionKeyThumbprint": "", + "encryptionKey": "" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice", + "name": "testedgedevice", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GenerateCertificate.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GenerateCertificate.json new file mode 100644 index 000000000000..332682aed760 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GenerateCertificate.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "publicKey": "MIIEDjCCAnagAwIBAgIQEW4wrxj9+JdA4kFLDgegTTANBgkqhkiG9w0BAQUFADBDMUEwPwYDVQQDHjgAQwBCAF8AUABvAHIAdABhAGwAXwA2ADMANwA0ADEAMwA1ADkAMQA4ADAAMAA3ADAAOQAxADcANTAeFw0yMDExMTkwNDU2MjBaFw0yMDExMjIwNTA2MjBaMEMxQTA/BgNVBAMeOABDAEIAXwBQAG8AcgB0AGEAbABfADYAMwA3ADQAMQAzADUAOQAxADgAMAAwADcAMAA5ADEANwA1MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAqG617KAUc4gOoht527o6FGE/c97W/wZIXqKbx4G8vifljXWw3NGDDuSQfidE3MqSMMJ/AAlDhBH/Deo/PAgUWuWB2WgM+KFWrDS0oDBvLVeIIeiMx4LOsbz4J8IbcKrGWf+ulQyum7dE/yBLzPXcPTjhJP0oMfhGOMlVVWbiKaP78/WZk2PmBQaVv7PxAQnJAPqETH2qAyuc9bd0TaMlIER56WhX9+nzsoI0u7RmBEs8+BaudVroiiK/GpEczy73TCRlpVXGChdBHg+NvYRYz91ltCV9Ijo1bdvcUjdgDJZ4Tz7G8XVCQmxbd9ml6OBLgxQUpd9HSGTcIfFiv+rTUwHR7YkY+1UGHsDPOYnBVDTXs3RFm+c5uNnCKvtyTExDJgabT+FTNb3eyD/BSYsy6b/YZBRqPiO8BRFUsIhWhXtPaUjWOEx6XMeZRnGeF4Hi8iH8TR79kEJhfYy3piSPAc3JrhgoglpyyfZOgyPOje+8tAWS9FHUNyVXKKeksDoZAgMBAAEwDQYJKoZIhvcNAQEFBQADggGBACpfQt34mgr+WlFtY0tqaPAoF6XnVzyKB6XsVAoj1uKFTSCQnr0mWvUMWKSRFTu1bV1VdDokV5I+h92kBcO4ddtHhWtkt16j9XFDsGdDvoUWJeqecZVr9fBPC69wF/9R/2E6iJporR46Pui7gcilYGqb3IjJlh8RT/XBPamQrfDbS7G8eTe91ST5cHr89R6EtDwfyhyTZr2sRrvQrxY2AjEmdH5Zcl9q2Xf8DholZhZ9vwnuYBFfl6VCXWaDAzQWiPdxo1wgXxEpNNDstGFWJKnsnz9UCohNAiPf47B+csPqxjcTLVMhcGLdU/lwpzzkEOciijpYILscvPoU3IM6DmFROgU2z6CForpgwHPDJktyWU1MC7lFdfrSzwu/5b3ZAEQhnJf7rvrybULoYBQWJEuj26Is1S6kXpNUaHAc5HIyIoc2V2eRjasbPIqsU0smjPLS/1egjHxtw9u+v4qDDvDuOjhFJtC3NkPl06TfNgO9+5LgiB1JppXnkLyCQ9RQgw==", + "privateKey": null, + "expiryTimeInUTC": "2020-11-22T05:06:20.000Z" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetAddons.json new file mode 100644 index 000000000000..b17bdaef7e99 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetAddons.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "KubernetesRole", + "addonName": "arcName", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "resourceName": "testedgedevice", + "resourceLocation": "EastUS", + "version": "0.2.18", + "hostPlatform": "Linux", + "hostPlatformType": "KubernetesCluster", + "provisioningState": "Created" + }, + "kind": "ArcForKubernetes", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourcegroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/addonExamples/roles/kubernetesRole/addons/arcName", + "name": "arcName", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetDCAccessCode.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetDCAccessCode.json new file mode 100644 index 000000000000..e1c1accfe527 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetDCAccessCode.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "authCode": "_sv7-NY2" + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetDiagnosticProactiveLogCollectionSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetDiagnosticProactiveLogCollectionSettings.json new file mode 100644 index 000000000000..95928c0e4502 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetDiagnosticProactiveLogCollectionSettings.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "diagnosticProactiveLogCollectionSettings": { + "properties": { + "userConsent": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "userConsent": "Enabled" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/diagnosticProactiveLogCollectionSettings/default", + "name": "default", + "type": "dataBoxEdgeDevices/diagnosticSettings" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetDiagnosticRemoteSupportSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetDiagnosticRemoteSupportSettings.json new file mode 100644 index 000000000000..1d4edafffb44 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetDiagnosticRemoteSupportSettings.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "remoteSupportSettingsList": [ + { + "accessLevel": "ReadWrite", + "expirationTimeStampInUTC": "2021-07-07T00:00:00+00:00", + "remoteApplicationType": "LocalUI" + } + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/diagnosticRemoteSupportSettings/default", + "name": "default", + "type": "dataBoxEdgeDevices/diagnosticSettings" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetMonitoringConfig.json new file mode 100644 index 000000000000..f9000146dbdd --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetMonitoringConfig.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "testrole", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "metricConfigurations": [ + { + "resourceId": "test", + "mdmAccount": "test", + "metricNameSpace": "test", + "counterSets": [ + { + "counters": [ + { + "name": "test" + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetUpdateExtendedInfo.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetUpdateExtendedInfo.json new file mode 100644 index 000000000000..deb309f238b4 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetUpdateExtendedInfo.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "parameters": {}, + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "clientSecretStoreId": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/arja-rg/providers/Microsoft.KeyVault/vaults/test-keyvault-ccy-523", + "clientSecretStoreUrl": "https://test-keyvault-ccy-523.vault.azure.net", + "channelIntegrityKeyName": "ase-cik-ab861822-21ea-4d31-96ec-89aa066f9a59", + "channelIntegrityKeyVersion": "95e9b619e65f433d82c9e1ead48214b9", + "keyVaultSyncStatus": "KeyVaultSynced", + "deviceSecrets": { + "HcsDataVolumeBitLockerExternalKey": { + "keyVaultId": "Id" + }, + "HcsInternalVolumeBitLockerExternalKey": { + "keyVaultId": "Id" + }, + "SystemVolumeBitLockerRecoveryKey": { + "keyVaultId": "Id" + }, + "SEDEncryptionExternalKeyId": {}, + "SEDEncryptionExternalKey": {}, + "BMCDefaultUserPassword": {}, + "RotateKeyForDataVolumeBitlocker": {}, + "RotateKeysForSedDrivesSerialized": {} + } + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/InstallUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/InstallUpdatesPost.json new file mode 100644 index 000000000000..9a6dd5afa768 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/InstallUpdatesPost.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/JobsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/JobsGet.json new file mode 100644 index 000000000000..e5ca63a243db --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/JobsGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/id/locations/westus/jobs/159a00c7-8543-4343-9435-263ac87df3bb", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "status": "Succeeded", + "startTime": "2018-12-18T02:18:51.4270267Z", + "endTime": "2018-12-18T03:18:51.4270267Z", + "percentComplete": 100, + "properties": { + "jobType": "DownloadUpdates", + "currentStage": "Success" + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ListMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ListMonitoringConfig.json new file mode 100644 index 000000000000..17566be004ce --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ListMonitoringConfig.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "testrole", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "metricConfigurations": [ + { + "resourceId": "test", + "mdmAccount": "test", + "metricNameSpace": "test", + "counterSets": [ + { + "counters": [ + { + "name": "test" + } + ] + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/NetworkSettingsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/NetworkSettingsGet.json new file mode 100644 index 000000000000..a4c6fd8c3bd5 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/NetworkSettingsGet.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "networkAdapters": [ + { + "adapterId": "{47D0D0EC-AA8A-4221-AA2A-355B58082BA5}", + "adapterPosition": { + "networkGroup": "NonRDMA", + "port": 0 + }, + "index": 1, + "nodeId": "3fd54d9e-f7a0-45bf-bdf1-39b0977d1984", + "networkAdapterName": "DATA1", + "label": "DATA1", + "macAddress": "00155D4E265B", + "linkSpeed": 10000000000, + "status": "Inactive", + "rdmaStatus": "Incapable", + "dhcpStatus": "Disabled", + "ipv4Configuration": { + "ipAddress": "10.150.78.56", + "subnet": "255.255.252.0", + "gateway": "10.150.76.1" + }, + "ipv6Configuration": { + "ipAddress": "2404:f801:4800:1e:d5c6:50a1:465b:1bbf", + "prefixLength": 64, + "gateway": "fe80::12f3:11ff:fe36:994b%5" + }, + "ipv6LinkLocalAddress": "fe80::d5c6:50a1:465b:1bbf%5", + "dnsServers": [ + "10.50.50.50", + "10.50.10.50" + ] + } + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/networkSettings/default", + "name": "default", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/networkSettings" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/NodeGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/NodeGetAllInDevice.json new file mode 100644 index 000000000000..1cf8b28390fa --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/NodeGetAllInDevice.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "nodeStatus": "Unknown", + "nodeChassisSerialNumber": "1D6QHQ2", + "nodeSerialNumber": "1D6QHQ2", + "nodeDisplayName": "Controller 1", + "nodeFriendlySoftwareVersion": "Data Box Edge 1908", + "nodeHcsVersion": "1.6.961.8307", + "nodeInstanceId": "ad051874-7d27-4ac4-a7b1-b6f231d8a035" + }, + "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/nodes/1D6QHQ2", + "name": "1D6QHQ2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/nodes" + }, + { + "properties": { + "nodeStatus": "Unknown", + "nodeChassisSerialNumber": "1D6QHQ2", + "nodeSerialNumber": "1DCNHQ2", + "nodeDisplayName": "Controller 1", + "nodeFriendlySoftwareVersion": "Data Box Edge 1908", + "nodeHcsVersion": "1.6.961.8307", + "nodeInstanceId": "ddf3a76d-ada4-44af-99c6-a69a0e21bcb6" + }, + "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/nodes/1DCNHQ2", + "name": "1DCNHQ2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/nodes" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OperationsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OperationsGet.json new file mode 100644 index 000000000000..3fc72ce04a0d --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OperationsGet.json @@ -0,0 +1,675 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "share users", + "operation": "List share users", + "description": "Lists or gets the share users" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "share users", + "operation": "List share users", + "description": "Lists or gets the share users" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "share users", + "operation": "Creates or updates share users", + "description": "Creates or updates the share users" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "share users", + "operation": "Delete share users", + "description": "Deletes the share users" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "bandwidth schedules", + "operation": "List bandwidth schedules", + "description": "Lists or gets the bandwidth schedules" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "bandwidth schedules", + "operation": "List bandwidth schedules", + "description": "Lists or gets the bandwidth schedules" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "bandwidth schedules", + "operation": "Creates or updates bandwidth schedules", + "description": "Creates or updates the bandwidth schedules" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "bandwidth schedules", + "operation": "Delete bandwidth schedules", + "description": "Deletes the bandwidth schedules" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "ArmApiRes_roles", + "operation": "List ArmApiRes_roles", + "description": "Lists or gets the ArmApiRes_roles" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "ArmApiRes_roles", + "operation": "List ArmApiRes_roles", + "description": "Lists or gets the ArmApiRes_roles" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "ArmApiRes_roles", + "operation": "Creates or updates ArmApiRes_roles", + "description": "Creates or updates the ArmApiRes_roles" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "ArmApiRes_roles", + "operation": "Delete ArmApiRes_roles", + "description": "Deletes the ArmApiRes_roles" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "List shares", + "description": "Lists or gets the shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "List shares", + "description": "Lists or gets the shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "Creates or updates shares", + "description": "Creates or updates the shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/refresh/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "ArmApiOp_action_refresh_shares", + "description": "ArmApiDesc_action_refresh_shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "Delete shares", + "description": "Deletes the shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/uploadCertificate/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Upload certificates", + "description": "Upload certificate for device registration" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Creates or updates Data Box Edge devices", + "description": "Creates or updates the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "List Data Box Edge devices", + "description": "Lists or gets the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Delete Data Box Edge devices", + "description": "Deletes the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "List Data Box Edge devices", + "description": "Lists or gets the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "List Data Box Edge devices", + "description": "Lists or gets the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Creates or updates Data Box Edge devices", + "description": "Creates or updates the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/getExtendedInformation/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "ArmApiOp_action_getExtendedInformation_dataBoxEdgeDevices", + "description": "ArmApiDesc_action_getExtendedInformation_dataBoxEdgeDevices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/extendedInformation/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Gets resource extended information", + "description": "Retrieves resource extended information" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/networkSettings/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Device network settings", + "operation": "List Device network settings", + "description": "Lists or gets the Device network settings" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/securitySettings/update/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Device security settings", + "operation": "Update security settings", + "description": "Update security settings" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "update summary", + "operation": "List update summary", + "description": "Lists or gets the update summary" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/scanForUpdates/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Scan for updates", + "description": "Scan for updates" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/downloadUpdates/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Download Updates", + "description": "Download Updates in device" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/installUpdates/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Install Updates", + "description": "Install Updates on device" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/jobs/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "jobs", + "operation": "List jobs", + "description": "Lists or gets the jobs" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "storage account credentials", + "operation": "Creates or updates storage account credentials", + "description": "Creates or updates the storage account credentials" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "storage account credentials", + "operation": "List storage account credentials", + "description": "Lists or gets the storage account credentials" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "storage account credentials", + "operation": "List storage account credentials", + "description": "Lists or gets the storage account credentials" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "storage account credentials", + "operation": "Delete storage account credentials", + "description": "Deletes the storage account credentials" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/alerts/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "alerts", + "operation": "List alerts", + "description": "Lists or gets the alerts" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/alerts/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "alerts", + "operation": "List alerts", + "description": "Lists or gets the alerts" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge device", + "operation": "Read Data Box Edge device metric definition", + "description": "Gets the available Data Box Edge device level metrics" + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "NICReadThroughput", + "displayName": "Read Throughput (Network)", + "displayDescription": "The read throughput of the network interface on the device in the reporting period for all volumes in the gateway.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [ + { + "name": "InstanceName", + "displayName": "Name", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "NICWriteThroughput", + "displayName": "Write Throughput (Network)", + "displayDescription": "The write throughput of the network interface on the device in the reporting period for all volumes in the gateway.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [ + { + "name": "InstanceName", + "displayName": "Name", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "CloudReadThroughputPerShare", + "displayName": "Cloud Download Throughput (Share)", + "displayDescription": "The download throughput to Azure from a share during the reporting period.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [ + { + "name": "Share", + "displayName": "Share", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "CloudUploadThroughputPerShare", + "displayName": "Cloud Upload Throughput (Share)", + "displayDescription": "The upload throughput to Azure from a share during the reporting period.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [ + { + "name": "Share", + "displayName": "Share", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "BytesUploadedToCloudPerShare", + "displayName": "Cloud Bytes Uploaded (Share)", + "displayDescription": "The total number of bytes that is uploaded to Azure from a share during the reporting period.", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [ + { + "name": "Share", + "displayName": "Share", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "TotalCapacity", + "displayName": "Total Capacity", + "displayDescription": "Total Capacity", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Capacity", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "AvailableCapacity", + "displayName": "Available Capacity", + "displayDescription": "The available capacity in bytes during the reporting period.", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Capacity", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "CloudUploadThroughput", + "displayName": "Cloud Upload Throughput", + "displayDescription": "The cloud upload throughput during the reporting period.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "CloudReadThroughput", + "displayName": "Cloud Read Throughput", + "displayDescription": "The cloud download throughput during the reporting period.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "BytesUploadedToCloud", + "displayName": "Cloud Bytes Uploaded (Device)", + "displayDescription": "The total number of bytes that is uploaded to Azure from a device during the reporting period.", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + } + ] + } + } + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge device", + "operation": "Write diagnostics setting", + "description": "Creates or updates the diagnostics setting for the resource" + }, + "origin": "system" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge device", + "operation": "Read diagnostics setting", + "description": "Gets the diagnostic setting for the resource" + }, + "origin": "system" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OperationsStatusGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OperationsStatusGet.json new file mode 100644 index 000000000000..85b56e3af7e8 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OperationsStatusGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/id/locations/westus/operationsStatus/159a00c7-8543-4343-9435-263ac87df3bb", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "status": "Succeeded", + "startTime": "2018-12-18T02:18:51.4270267Z", + "endTime": "2018-12-18T03:18:51.4270267Z", + "percentComplete": 100, + "properties": { + "jobType": "DownloadUpdates", + "currentStage": "Success" + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderDelete.json new file mode 100644 index 000000000000..4c9310ac7c29 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderGet.json new file mode 100644 index 000000000000..3bad5dc4ed46 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderGet.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "kind": "V1", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default", + "name": "default", + "type": "dataBoxEdgeDevices/orders", + "properties": { + "contactInformation": { + "contactPerson": "John Mcclane", + "companyName": "Microsoft", + "phone": "(800) 426-9400", + "emailList": [ + "john@microsoft.com" + ] + }, + "shippingAddress": { + "addressLine1": "Microsoft Corporation", + "addressLine2": "One Microsoft Way", + "addressLine3": "Redmond", + "postalCode": "98052", + "city": "WA", + "state": "WA", + "country": "USA" + }, + "currentStatus": { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "" + }, + "orderHistory": [ + { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "lorem ipsum" + } + ], + "serialNumber": "UDS123NSDA123", + "deliveryTrackingInfo": [], + "returnTrackingInfo": [] + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderGetAllInDevice.json new file mode 100644 index 000000000000..d2bca68e00af --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderGetAllInDevice.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "V1", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default", + "name": "default", + "type": "dataBoxEdgeDevices/orders", + "properties": { + "contactInformation": { + "contactPerson": "John Mcclane", + "companyName": "Microsoft", + "phone": "(800) 426-9400", + "emailList": [ + "john@microsoft.com" + ] + }, + "shippingAddress": { + "addressLine1": "Microsoft Corporation", + "addressLine2": "One Microsoft Way", + "addressLine3": "Redmond", + "postalCode": "98052", + "city": "WA", + "state": "WA", + "country": "USA" + }, + "currentStatus": { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "" + }, + "orderHistory": [ + { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "lorem ipsum" + } + ], + "serialNumber": "UDS123NSDA123", + "deliveryTrackingInfo": [], + "returnTrackingInfo": [] + } + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderPut.json new file mode 100644 index 000000000000..c2153ecdedd6 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderPut.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "order": { + "properties": { + "contactInformation": { + "contactPerson": "John Mcclane", + "companyName": "Microsoft", + "phone": "(800) 426-9400", + "emailList": [ + "john@microsoft.com" + ] + }, + "shippingAddress": { + "addressLine1": "Microsoft Corporation", + "addressLine2": "One Microsoft Way", + "addressLine3": "Redmond", + "postalCode": "98052", + "city": "WA", + "state": "WA", + "country": "USA" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default", + "name": "default", + "type": "dataBoxEdgeDevices/orders", + "properties": { + "contactInformation": { + "contactPerson": "John Mcclane", + "companyName": "Microsoft", + "phone": "(800) 426-9400", + "emailList": [ + "john@microsoft.com" + ] + }, + "shippingAddress": { + "addressLine1": "Microsoft Corporation", + "addressLine2": "One Microsoft Way", + "addressLine3": "Redmond", + "postalCode": "98052", + "city": "WA", + "state": "WA", + "country": "USA" + }, + "currentStatus": { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "" + }, + "orderHistory": [ + { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "lorem ipsum" + } + ], + "serialNumber": "UDS123NSDA123", + "deliveryTrackingInfo": [], + "returnTrackingInfo": [] + } + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/PutAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/PutAddons.json new file mode 100644 index 000000000000..a178c1c48677 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/PutAddons.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "KubernetesRole", + "addonName": "arcName", + "addon": { + "kind": "ArcForKubernetes", + "properties": { + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "resourceName": "testedgedevice", + "resourceLocation": "EastUS" + } + }, + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "resourceName": "testedgedevice", + "resourceLocation": "EastUS", + "version": "0.2.18", + "hostPlatform": "Linux", + "hostPlatformType": "KubernetesCluster", + "provisioningState": "Created" + }, + "kind": "ArcForKubernetes", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourcegroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/addonExamples/roles/kubernetesRole/addons/arcName", + "name": "arcName", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/PutMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/PutMonitoringConfig.json new file mode 100644 index 000000000000..7ef3b88a19ae --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/PutMonitoringConfig.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "testrole", + "monitoringMetricConfiguration": { + "properties": { + "metricConfigurations": [ + { + "resourceId": "test", + "mdmAccount": "test", + "metricNameSpace": "test", + "counterSets": [ + { + "counters": [ + { + "name": "test" + } + ] + } + ] + } + ] + } + }, + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "metricConfigurations": [ + { + "resourceId": "test", + "mdmAccount": "test", + "metricNameSpace": "test", + "counterSets": [ + { + "counters": [ + { + "name": "test" + } + ] + } + ] + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleDelete.json new file mode 100644 index 000000000000..d8a30a823295 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "IoTRole1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleGet.json new file mode 100644 index 000000000000..c273722b9395 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleGet.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "IoTRole1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "hostPlatform": "Linux", + "ioTDeviceDetails": { + "deviceId": "iotdevice", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "ioTEdgeDeviceDetails": { + "deviceId": "iotEdge", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "shareMappings": [], + "roleStatus": "Enabled" + }, + "kind": "IOT", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1", + "name": "IoTRole1", + "type": "dataBoxEdgeDevices/roles" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleGetAllInDevice.json new file mode 100644 index 000000000000..f52333f16694 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleGetAllInDevice.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "hostPlatform": "Linux", + "ioTDeviceDetails": { + "deviceId": "iotdevice", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "ioTEdgeDeviceDetails": { + "deviceId": "iotEdge", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "shareMappings": [], + "roleStatus": "Enabled" + }, + "kind": "IOT", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1", + "name": "IoTRole1", + "type": "dataBoxEdgeDevices/roles" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleListAddOns.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleListAddOns.json new file mode 100644 index 000000000000..18165268bcdc --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleListAddOns.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "IoTRole1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "subscriptionId": "0d44739e-0563-474f-97e7-24a0cdb23b29", + "resourceGroupName": "testrg1", + "resourceName": "testresource1", + "resourceLocation": "EastUS", + "version": "0.2.18", + "hostPlatform": "Linux", + "hostPlatformType": "KubernetesCluster", + "provisioningState": "Created" + }, + "kind": "ArcForKubernetes", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/prpare/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/addonExamples/roles/kubernetesRole/addons/arcName", + "name": "arcName", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RolePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RolePut.json new file mode 100644 index 000000000000..17fcbecb568d --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RolePut.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "IoTRole1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "role": { + "kind": "IOT", + "properties": { + "hostPlatform": "Linux", + "ioTDeviceDetails": { + "deviceId": "iotdevice", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": { + "connectionString": { + "value": "Encrypted<>", + "encryptionCertThumbprint": "348586569999244", + "encryptionAlgorithm": "AES256" + } + } + } + }, + "ioTEdgeDeviceDetails": { + "deviceId": "iotEdge", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": { + "connectionString": { + "value": "Encrypted<>", + "encryptionCertThumbprint": "1245475856069999244", + "encryptionAlgorithm": "AES256" + } + } + } + }, + "shareMappings": [], + "roleStatus": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "kind": "IOT", + "properties": { + "hostPlatform": "Linux", + "ioTDeviceDetails": { + "deviceId": "iotdevice", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "ioTEdgeDeviceDetails": { + "deviceId": "iotEdge", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "shareMappings": [], + "roleStatus": "Enabled" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1", + "name": "IoTRole1", + "type": "dataBoxEdgeDevices/roles" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACDelete.json new file mode 100644 index 000000000000..3d52780c446d --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "sac1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACGet.json new file mode 100644 index 000000000000..f6b655b45cb6 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "sac1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "alias": "sac1", + "userName": "cisbvt", + "sslStatus": "Disabled", + "accountType": "BlobStorage" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "name": "sac1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACGetAllInDevice.json new file mode 100644 index 000000000000..9ae5826c55d2 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACGetAllInDevice.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "alias": "sac1128180128323", + "userName": "cisbvt", + "sslStatus": "Disabled", + "accountType": "GeneralPurposeStorage" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1128180128323", + "name": "sac1128180128323", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials" + }, + { + "properties": { + "alias": "sac1128180128312", + "userName": "cisbvt", + "sslStatus": "Disabled", + "accountType": "BlobStorage" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1128180128312", + "name": "sac1128180128312", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACPut.json new file mode 100644 index 000000000000..cf8408764bce --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACPut.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "sac1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "storageAccountCredential": { + "properties": { + "alias": "sac1", + "userName": "cisbvt", + "accountKey": { + "value": "lAeZEYi6rNP1/EyNaVUYmTSZEYyaIaWmwUsGwek0+xiZj54GM9Ue9/UA2ed/ClC03wuSit2XzM/cLRU5eYiFBwks23rGwiQOr3sruEL2a74EjPD050xYjA6M1I2hu/w2yjVHhn5j+DbXS4Xzi+rHHNZK3DgfDO3PkbECjPck+PbpSBjy9+6Mrjcld5DIZhUAeMlMHrFlg+WKRKB14o/og56u5/xX6WKlrMLEQ+y6E18dUwvWs2elTNoVO8PBE8SM/CfooX4AMNvaNdSObNBPdP+F6Lzc556nFNWXrBLRt0vC7s9qTiVRO4x/qCNaK/B4y7IqXMllwQFf4Np9UQ2ECA==", + "encryptionCertThumbprint": "2A9D8D6BE51574B5461230AEF02F162C5F01AD31", + "encryptionAlgorithm": "AES256" + }, + "sslStatus": "Disabled", + "accountType": "BlobStorage" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "alias": "sac1", + "userName": "cisbvt", + "sslStatus": "Disabled", + "accountType": "BlobStorage" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "name": "sac1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ScanForUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ScanForUpdatesPost.json new file mode 100644 index 000000000000..9a6dd5afa768 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ScanForUpdatesPost.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SecuritySettingsUpdatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SecuritySettingsUpdatePost.json new file mode 100644 index 000000000000..1f3e36ebff5d --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SecuritySettingsUpdatePost.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "AzureVM", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "securitySettings": { + "properties": { + "deviceAdminPassword": { + "value": "", + "encryptionAlgorithm": "AES256", + "encryptionCertThumbprint": "" + } + } + } + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareDelete.json new file mode 100644 index 000000000000..4bec4c1c3153 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "smbshare", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareGet.json new file mode 100644 index 000000000000..5ec7d9f093a2 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "smbshare", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "", + "shareStatus": "Online", + "monitoringStatus": "Disabled", + "azureContainerInfo": { + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "containerName": "testContainerSMB", + "dataFormat": "BlockBlob" + }, + "accessProtocol": "SMB", + "userAccessRights": [ + { + "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "accessType": "Change" + } + ], + "clientAccessRights": [], + "refreshDetails": {}, + "shareMappings": [], + "dataPolicy": "Cloud" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare", + "name": "smbshare", + "type": "dataBoxEdgeDevices/shares" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareGetAllInDevice.json new file mode 100644 index 000000000000..b5df266f1f7f --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareGetAllInDevice.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "", + "shareStatus": "Online", + "monitoringStatus": "Disabled", + "azureContainerInfo": { + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "containerName": "testContainerSMB", + "dataFormat": "BlockBlob" + }, + "accessProtocol": "SMB", + "userAccessRights": [ + { + "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "accessType": "Change" + } + ], + "clientAccessRights": [], + "refreshDetails": {}, + "shareMappings": [], + "dataPolicy": "Cloud" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare", + "name": "smbshare", + "type": "dataBoxEdgeDevices/shares" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SharePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SharePut.json new file mode 100644 index 000000000000..ecae8bf1b40a --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SharePut.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "smbshare", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "share": { + "properties": { + "description": "", + "shareStatus": "Online", + "monitoringStatus": "Enabled", + "azureContainerInfo": { + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "containerName": "testContainerSMB", + "dataFormat": "BlockBlob" + }, + "accessProtocol": "SMB", + "userAccessRights": [ + { + "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "accessType": "Change" + } + ], + "dataPolicy": "Cloud" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "", + "shareStatus": "Online", + "monitoringStatus": "Disabled", + "azureContainerInfo": { + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "containerName": "testContainerSMB", + "dataFormat": "BlockBlob" + }, + "accessProtocol": "SMB", + "userAccessRights": [ + { + "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "accessType": "Change" + } + ], + "clientAccessRights": [], + "refreshDetails": {}, + "shareMappings": [], + "dataPolicy": "Cloud" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare", + "name": "smbshare", + "type": "dataBoxEdgeDevices/shares" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareRefreshPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareRefreshPost.json new file mode 100644 index 000000000000..317d232392c1 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareRefreshPost.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "smbshare", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountDelete.json new file mode 100644 index 000000000000..dae083e11c3a --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountGet.json new file mode 100644 index 000000000000..d7f2891166c7 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "blobstorageaccount1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "It's an awesome storage account", + "storageAccountStatus": "OK", + "dataPolicy": "Cloud", + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt", + "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/", + "containerCount": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1", + "name": "blobstorageaccount1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountGetAllInDevice.json new file mode 100644 index 000000000000..36d3ede4b8a1 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountGetAllInDevice.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "It's an awesome storage account", + "storageAccountStatus": "OK", + "dataPolicy": "Cloud", + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt", + "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/", + "containerCount": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1", + "name": "blobstorageaccount1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountPut.json new file mode 100644 index 000000000000..167ea677dc63 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountPut.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "blobstorageaccount1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "storageAccount": { + "properties": { + "description": "It's an awesome storage account", + "storageAccountStatus": "OK", + "dataPolicy": "Cloud", + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "It's an awesome storage account", + "storageAccountStatus": "OK", + "dataPolicy": "Cloud", + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt", + "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/", + "containerCount": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1", + "name": "blobstorageaccount1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerDelete.json new file mode 100644 index 000000000000..abb4fc77537e --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "trigger1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerGet.json new file mode 100644 index 000000000000..a267914370dc --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "trigger1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "customContextTag": "CustomContextTags-1235346475", + "sourceInfo": { + "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1" + }, + "sinkInfo": { + "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1" + } + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1", + "name": "trigger1", + "type": "dataBoxEdgeDevices/triggers", + "kind": "FileEvent" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerGetAllInDevice.json new file mode 100644 index 000000000000..3c03459c0b84 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerGetAllInDevice.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "customContextTag": "CustomContextTags-1235346475", + "sourceInfo": { + "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1" + }, + "sinkInfo": { + "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1" + } + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1", + "name": "trigger1", + "type": "dataBoxEdgeDevices/triggers", + "kind": "FileEvent" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerPut.json new file mode 100644 index 000000000000..f333cdef6a39 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerPut.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "trigger1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "trigger": { + "properties": { + "customContextTag": "CustomContextTags-1235346475", + "sourceInfo": { + "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1" + }, + "sinkInfo": { + "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1" + } + }, + "kind": "FileEvent" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "customContextTag": "CustomContextTags-1235346475", + "sourceInfo": { + "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1" + }, + "sinkInfo": { + "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1" + } + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1", + "name": "trigger1", + "type": "dataBoxEdgeDevices/triggers", + "kind": "FileEvent" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerSupportPackage.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerSupportPackage.json new file mode 100644 index 000000000000..4453218f45dd --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerSupportPackage.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "triggerSupportPackageRequest": { + "properties": { + "minimumTimeStamp": "2018-12-18T02:18:51.4270267Z", + "maximumTimeStamp": "2018-12-18T02:19:51.4270267Z", + "include": "DefaultWithDumps" + } + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UpdateDiagnosticProactiveLogCollectionSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UpdateDiagnosticProactiveLogCollectionSettings.json new file mode 100644 index 000000000000..880f189c91bf --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UpdateDiagnosticProactiveLogCollectionSettings.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "proactiveLogCollectionSettings": { + "properties": { + "userConsent": "Enabled" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "userConsent": "Disabled" + }, + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/dbe-autobot-5428209/diagnosticProactiveLogCollectionSettings/default", + "name": "default", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/diagnosticSettings" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UpdateDiagnosticRemoteSupportSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UpdateDiagnosticRemoteSupportSettings.json new file mode 100644 index 000000000000..8f3b8ee9ba70 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UpdateDiagnosticRemoteSupportSettings.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "diagnosticRemoteSupportSettings": { + "properties": { + "remoteSupportSettingsList": [ + { + "accessLevel": "ReadWrite", + "expirationTimeStampInUTC": "2021-07-07T00:00:00+00:00", + "remoteApplicationType": "Powershell" + } + ] + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "remoteSupportSettingsList": [ + { + "remoteApplicationType": "Powershell", + "accessLevel": "ReadWrite", + "expirationTimeStampInUTC": "2500-09-14T00:00:00+00:00" + } + ] + }, + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/dbe-autobot-154c8a4/diagnosticRemoteSupportSettings/default", + "name": "default", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/diagnosticSettings" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UpdateSummaryGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UpdateSummaryGet.json new file mode 100644 index 000000000000..02dc6ad3809d --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UpdateSummaryGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "parameters": { + "properties": { + "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw==" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "deviceVersionNumber": "2.1.1377.2170", + "friendlyDeviceVersionName": "Azure Stack Edge 2010", + "deviceLastScannedDateTime": "2021-03-17T19:51:51.7864634Z", + "lastCompletedScanJobDateTime": "2021-03-17T19:47:46.1595547Z", + "lastDownloadJobStatus": "Invalid", + "lastInstallJobStatus": "Invalid", + "totalNumberOfUpdatesAvailable": 1, + "totalNumberOfUpdatesPendingDownload": 1, + "totalNumberOfUpdatesPendingInstall": 1, + "rebootBehavior": "NeverReboots", + "ongoingUpdateOperation": "Install", + "updateTitles": [ + "Azure Stack Edge Update 2101 Package 1 of 2 for Pro-GPU, Pro R, Mini R" + ], + "totalUpdateSizeInBytes": 4260898192.0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/updateSummary/default", + "name": "default", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UploadCertificatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UploadCertificatePost.json new file mode 100644 index 000000000000..5e0030dc2cb1 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UploadCertificatePost.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "parameters": { + "properties": { + "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw==" + } + } + }, + "responses": { + "200": { + "body": { + "authType": "AzureActiveDirectory", + "resourceId": "392799901267771", + "aadAuthority": "https://login.windows.net", + "aadTenantId": "100b019d-4626-4a9e-a83c-9cff8fe41909", + "servicePrincipalClientId": "ffd8a688-82b1-4e5a-a4c1-7ede8c928e68", + "servicePrincipalObjectId": "cef6d40c-24e6-4a6f-bb9e-3ec60b4adec4", + "azureManagementEndpointAudience": "https://wus-bvtgateway.ext.trafficmanager.net/" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserDelete.json new file mode 100644 index 000000000000..3bade24f2dcc --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserDelete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "user1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserGet.json new file mode 100644 index 000000000000..5922e1a96672 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "user1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "userType": "Share" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1", + "name": "user1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users" + }, + "202": {} + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserGetAllInDevice.json new file mode 100644 index 000000000000..f8e4d9dfc1de --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserGetAllInDevice.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "userType": "Share" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "name": "user2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users" + }, + { + "properties": { + "userType": "Share" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1", + "name": "user1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserPut.json new file mode 100644 index 000000000000..0802e6eafbef --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserPut.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "user1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "user": { + "properties": { + "encryptedPassword": { + "value": "", + "encryptionAlgorithm": "None", + "encryptionCertThumbprint": "blah" + }, + "userType": "Share" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "userType": "Share" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1", + "name": "user1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/databoxedge.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/databoxedge.json new file mode 100644 index 000000000000..82028fbb8fa6 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/databoxedge.json @@ -0,0 +1,9252 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-06-01", + "title": "DataBoxEdgeManagementClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.DataBoxEdge/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "List all the supported operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of supported operations.", + "schema": { + "$ref": "#/definitions/OperationsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "OperationsGet": { + "$ref": "./examples/OperationsGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/availableSkus": { + "get": { + "tags": [ + "AvailableSkus" + ], + "summary": "List all the available Skus and information related to them.", + "operationId": "AvailableSkus_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Lists the available Skus and information related to them.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeSkuList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "AvailableSkus": { + "$ref": "./examples/AvailableSkusList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices": { + "get": { + "tags": [ + "Devices" + ], + "description": "Gets all the Data Box Edge/Data Box Gateway devices in a subscription.", + "operationId": "Devices_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The collection of Data Box Edge/Data Box Gateway devices.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDeviceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "DataBoxEdgeDeviceGetBySubscription": { + "$ref": "./examples/DataBoxEdgeDeviceGetBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices": { + "get": { + "tags": [ + "Devices" + ], + "description": "Gets all the Data Box Edge/Data Box Gateway devices in a resource group.", + "operationId": "Devices_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The collection of Data Box Edge/Data Box Gateway devices.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDeviceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "DataBoxEdgeDeviceGetByResourceGroup": { + "$ref": "./examples/DataBoxEdgeDeviceGetByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}": { + "get": { + "tags": [ + "Devices" + ], + "description": "Gets the properties of the Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Data Box Edge/Data Box Gateway device.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DataBoxEdgeDeviceGetByName": { + "$ref": "./examples/DataBoxEdgeDeviceGetByName.json" + }, + "DataBoxEdgeDeviceGetByNameWithDataResidency": { + "$ref": "./examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json" + } + } + }, + "put": { + "tags": [ + "Devices" + ], + "description": "Creates or updates a Data Box Edge/Data Box Gateway resource.", + "operationId": "Devices_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "dataBoxEdgeDevice", + "in": "body", + "description": "The resource object.", + "required": true, + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevice" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the resource.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DataBoxEdgeDevicePut": { + "$ref": "./examples/DataBoxEdgeDevicePut.json" + }, + "DataBoxEdgeDevicePutWithDataResidency": { + "$ref": "./examples/DataBoxEdgeDevicePutWithDataResidency.json" + } + } + }, + "delete": { + "tags": [ + "Devices" + ], + "description": "Deletes the Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the resource." + }, + "202": { + "description": "Accepted the request to delete the resource." + }, + "204": { + "description": "The resource is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DataBoxEdgeDeviceDelete": { + "$ref": "./examples/DataBoxEdgeDeviceDelete.json" + } + } + }, + "patch": { + "tags": [ + "Devices" + ], + "description": "Modifies a Data Box Edge/Data Box Gateway resource.", + "operationId": "Devices_Update", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The resource parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevicePatch" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the resource.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DataBoxEdgeDevicePatch": { + "$ref": "./examples/DataBoxEdgeDevicePatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts": { + "get": { + "tags": [ + "Alerts" + ], + "description": "Gets all the alerts for a Data Box Edge/Data Box Gateway device.", + "operationId": "Alerts_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of alerts.", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "AlertGetAllInDevice": { + "$ref": "./examples/AlertGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts/{name}": { + "get": { + "tags": [ + "Alerts" + ], + "summary": "Gets an alert by name.", + "operationId": "Alerts_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The alert name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The alert details.", + "schema": { + "$ref": "#/definitions/Alert" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AlertGet": { + "$ref": "./examples/AlertGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules": { + "get": { + "tags": [ + "BandwidthSchedules" + ], + "description": "Gets all the bandwidth schedules for a Data Box Edge/Data Box Gateway device.", + "operationId": "BandwidthSchedules_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of bandwidth schedules.", + "schema": { + "$ref": "#/definitions/BandwidthSchedulesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "BandwidthScheduleGetAllInDevice": { + "$ref": "./examples/BandwidthScheduleGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules/{name}": { + "get": { + "tags": [ + "BandwidthSchedules" + ], + "description": "Gets the properties of the specified bandwidth schedule.", + "operationId": "BandwidthSchedules_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The bandwidth schedule name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The bandwidth schedule.", + "schema": { + "$ref": "#/definitions/BandwidthSchedule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BandwidthScheduleGet": { + "$ref": "./examples/BandwidthScheduleGet.json" + } + } + }, + "put": { + "tags": [ + "BandwidthSchedules" + ], + "description": "Creates or updates a bandwidth schedule.", + "operationId": "BandwidthSchedules_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The bandwidth schedule name which needs to be added/updated.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The bandwidth schedule to be added or updated.", + "required": true, + "schema": { + "$ref": "#/definitions/BandwidthSchedule" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the bandwidth schedule.", + "schema": { + "$ref": "#/definitions/BandwidthSchedule" + } + }, + "202": { + "description": "Accepted the request to create or update the bandwidth schedule." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "BandwidthSchedulePut": { + "$ref": "./examples/BandwidthSchedulePut.json" + } + } + }, + "delete": { + "tags": [ + "BandwidthSchedules" + ], + "description": "Deletes the specified bandwidth schedule.", + "operationId": "BandwidthSchedules_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The bandwidth schedule name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted the request to delete the bandwidth schedule." + }, + "204": { + "description": "Successfully deleted the bandwidth schedule." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "BandwidthScheduleDelete": { + "$ref": "./examples/BandwidthScheduleDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/diagnosticProactiveLogCollectionSettings/default": { + "get": { + "tags": [ + "DiagnosticSettings" + ], + "description": "Gets the proactive log collection settings of the specified Data Box Edge/Data Box Gateway device.", + "operationId": "DiagnosticSettings_GetDiagnosticProactiveLogCollectionSettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The diagnostic proactive log collection settings.", + "schema": { + "$ref": "#/definitions/DiagnosticProactiveLogCollectionSettings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetDiagnosticProactiveLogCollectionSettings": { + "$ref": "./examples/GetDiagnosticProactiveLogCollectionSettings.json" + } + } + }, + "put": { + "tags": [ + "DiagnosticSettings" + ], + "description": "Updates the proactive log collection settings on a Data Box Edge/Data Box Gateway device.", + "operationId": "DiagnosticSettings_UpdateDiagnosticProactiveLogCollectionSettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "proactiveLogCollectionSettings", + "in": "body", + "description": "The proactive log collection settings.", + "required": true, + "schema": { + "$ref": "#/definitions/DiagnosticProactiveLogCollectionSettings" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the proactive log collection settings.", + "schema": { + "$ref": "#/definitions/DiagnosticProactiveLogCollectionSettings" + } + }, + "202": { + "description": "Accepted the request to update the proactive log collection settings." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "UpdateDiagnosticProactiveLogCollectionSettings": { + "$ref": "./examples/UpdateDiagnosticProactiveLogCollectionSettings.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/diagnosticRemoteSupportSettings/default": { + "get": { + "tags": [ + "DiagnosticSettings" + ], + "description": "Gets the diagnostic remote support settings of the specified Data Box Edge/Data Box Gateway device.", + "operationId": "DiagnosticSettings_GetDiagnosticRemoteSupportSettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The diagnostic remote support settings.", + "schema": { + "$ref": "#/definitions/DiagnosticRemoteSupportSettings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetDiagnosticRemoteSupportSettings": { + "$ref": "./examples/GetDiagnosticRemoteSupportSettings.json" + } + } + }, + "put": { + "tags": [ + "DiagnosticSettings" + ], + "description": "Updates the diagnostic remote support settings on a Data Box Edge/Data Box Gateway device.", + "operationId": "DiagnosticSettings_UpdateDiagnosticRemoteSupportSettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "diagnosticRemoteSupportSettings", + "in": "body", + "description": "The diagnostic remote support settings.", + "required": true, + "schema": { + "$ref": "#/definitions/DiagnosticRemoteSupportSettings" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted the request to update the diagnostic remote support settings." + }, + "200": { + "description": "Successfully updated the diagnostic remote support settings.", + "schema": { + "$ref": "#/definitions/DiagnosticRemoteSupportSettings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "UpdateDiagnosticRemoteSupportSettings": { + "$ref": "./examples/UpdateDiagnosticRemoteSupportSettings.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/downloadUpdates": { + "post": { + "tags": [ + "Devices" + ], + "summary": "Downloads the updates on a Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_DownloadUpdates", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully downloaded the updates on the device." + }, + "202": { + "description": "Accepted the request to download the updates on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DownloadUpdatesPost": { + "$ref": "./examples/DownloadUpdatesPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/generateCertificate": { + "post": { + "tags": [ + "Devices" + ], + "description": "Generates certificate for activation key.", + "operationId": "Devices_GenerateCertificate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully generated self signed certificate.", + "schema": { + "$ref": "#/definitions/GenerateCertResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GenerateCertificate": { + "$ref": "./examples/GenerateCertificate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/getExtendedInformation": { + "post": { + "tags": [ + "Devices" + ], + "description": "Gets additional information for the specified Azure Stack Edge/Data Box Gateway device.", + "operationId": "Devices_GetExtendedInformation", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The additional information.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExtendedInfoPost": { + "$ref": "./examples/ExtendedInfoPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/installUpdates": { + "post": { + "tags": [ + "Devices" + ], + "summary": "Installs the updates on the Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_InstallUpdates", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully installed updates on the device." + }, + "202": { + "description": "Accepted the request to install updates on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "InstallUpdatesPost": { + "$ref": "./examples/InstallUpdatesPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/jobs/{name}": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Gets the details of a specified job on a Data Box Edge/Data Box Gateway device.", + "operationId": "Jobs_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The job name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The job details.", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "JobsGet": { + "$ref": "./examples/JobsGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/networkSettings/default": { + "get": { + "tags": [ + "Devices" + ], + "description": "Gets the network settings of the specified Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_GetNetworkSettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The device network settings.", + "schema": { + "$ref": "#/definitions/NetworkSettings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkSettingsGet": { + "$ref": "./examples/NetworkSettingsGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/nodes": { + "get": { + "tags": [ + "Nodes" + ], + "description": "Gets all the nodes currently configured under this Data Box Edge device", + "operationId": "Nodes_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of all nodes on the device.", + "schema": { + "$ref": "#/definitions/NodeList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "NodesGetAllInDevice": { + "$ref": "./examples/NodeGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/operationsStatus/{name}": { + "get": { + "tags": [ + "OperationsStatus" + ], + "summary": "Gets the details of a specified job on a Data Box Edge/Data Box Gateway device.", + "operationId": "OperationsStatus_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The job name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The job details.", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "OperationsStatusGet": { + "$ref": "./examples/OperationsStatusGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders": { + "get": { + "tags": [ + "Orders" + ], + "summary": "Lists all the orders related to a Data Box Edge/Data Box Gateway device.", + "operationId": "Orders_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Lists all the orders for the Data Box Edge Device", + "schema": { + "$ref": "#/definitions/OrderList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "OrderGetAllInDevice": { + "$ref": "./examples/OrderGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default": { + "get": { + "tags": [ + "Orders" + ], + "summary": "Gets a specific order by name.", + "operationId": "Orders_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The order details of a device.", + "schema": { + "$ref": "#/definitions/Order" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "OrderGet": { + "$ref": "./examples/OrderGet.json" + } + } + }, + "put": { + "tags": [ + "Orders" + ], + "summary": "Creates or updates an order.", + "operationId": "Orders_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The order details of a device.", + "required": true, + "type": "string" + }, + { + "name": "order", + "in": "body", + "description": "The order to be created or updated.", + "required": true, + "schema": { + "$ref": "#/definitions/Order" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the order.", + "schema": { + "$ref": "#/definitions/Order" + } + }, + "202": { + "description": "Accepted the request to create or update the order." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "OrderPut": { + "$ref": "./examples/OrderPut.json" + } + } + }, + "delete": { + "tags": [ + "Orders" + ], + "summary": "Deletes the order related to the device.", + "operationId": "Orders_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the order." + }, + "202": { + "description": "Accepted the request to delete the order." + }, + "204": { + "description": "The order is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "OrderDelete": { + "$ref": "./examples/OrderDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default/listDCAccessCode": { + "post": { + "tags": [ + "Orders" + ], + "summary": "Gets the DCAccess Code", + "operationId": "Orders_ListDCAccessCode", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "DC Access code for the device", + "schema": { + "$ref": "#/definitions/DCAccessCode" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetDCAccessCode": { + "$ref": "./examples/GetDCAccessCode.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles": { + "get": { + "tags": [ + "Roles" + ], + "description": "Lists all the roles configured in a Data Box Edge/Data Box Gateway device.", + "operationId": "Roles_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of all the roles configured in the device.", + "schema": { + "$ref": "#/definitions/RoleList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "RoleGetAllInDevice": { + "$ref": "./examples/RoleGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{name}": { + "get": { + "tags": [ + "Roles" + ], + "description": "Gets a specific role by name.", + "operationId": "Roles_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The role with the specified name in the given device.", + "schema": { + "$ref": "#/definitions/Role" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "RoleGet": { + "$ref": "./examples/RoleGet.json" + } + } + }, + "put": { + "tags": [ + "Roles" + ], + "description": "Create or update a role.", + "operationId": "Roles_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "name": "role", + "in": "body", + "description": "The role properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Role" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the role.", + "schema": { + "$ref": "#/definitions/Role" + } + }, + "202": { + "description": "Accepted the request to create or update the role." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "RolePut": { + "$ref": "./examples/RolePut.json" + } + } + }, + "delete": { + "tags": [ + "Roles" + ], + "description": "Deletes the role on the device.", + "operationId": "Roles_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the role." + }, + "202": { + "description": "Accepted the request to delete the role." + }, + "204": { + "description": "The role is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "RoleDelete": { + "$ref": "./examples/RoleDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/addons": { + "get": { + "tags": [ + "Addons" + ], + "description": "Lists all the addons configured in the role.", + "operationId": "Addons_ListByRole", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of all the addons configured in the role.", + "schema": { + "$ref": "#/definitions/AddonList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "RoleListAddOns": { + "$ref": "./examples/RoleListAddOns.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/addons/{addonName}": { + "get": { + "tags": [ + "Addons" + ], + "description": "Gets a specific addon by name.", + "operationId": "Addons_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "name": "addonName", + "in": "path", + "description": "The addon name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The addon with the specified name in the role.", + "schema": { + "$ref": "#/definitions/Addon" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetAddOns": { + "$ref": "./examples/GetAddons.json" + } + } + }, + "put": { + "tags": [ + "Addons" + ], + "description": "Create or update a addon.", + "operationId": "Addons_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "name": "addonName", + "in": "path", + "description": "The addon name.", + "required": true, + "type": "string" + }, + { + "name": "addon", + "in": "body", + "description": "The addon properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Addon" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the addon.", + "schema": { + "$ref": "#/definitions/Addon" + } + }, + "202": { + "description": "Accepted the request to create or update the addon." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "PutAddOns": { + "$ref": "./examples/PutAddons.json" + } + } + }, + "delete": { + "tags": [ + "Addons" + ], + "description": "Deletes the addon on the device.", + "operationId": "Addons_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "name": "addonName", + "in": "path", + "description": "The addon name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the addon." + }, + "202": { + "description": "Accepted the request to delete the addon." + }, + "204": { + "description": "The addon is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DeleteAddOns": { + "$ref": "./examples/DeleteAddons.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/monitoringConfig": { + "get": { + "tags": [ + "MonitoringConfig" + ], + "summary": "Lists metric configurations in a role.", + "operationId": "MonitoringConfig_List", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The monitoring config details.", + "schema": { + "$ref": "#/definitions/MonitoringMetricConfigurationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListMonitoringConfig": { + "$ref": "./examples/ListMonitoringConfig.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/monitoringConfig/default": { + "get": { + "tags": [ + "MonitoringConfig" + ], + "summary": "Gets a metric configuration of a role.", + "operationId": "MonitoringConfig_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The monitoring config details.", + "schema": { + "$ref": "#/definitions/MonitoringMetricConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetMonitoringConfig": { + "$ref": "./examples/GetMonitoringConfig.json" + } + } + }, + "put": { + "tags": [ + "MonitoringConfig" + ], + "summary": "Creates a new metric configuration or updates an existing one for a role.", + "operationId": "MonitoringConfig_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "name": "monitoringMetricConfiguration", + "in": "body", + "description": "The metric configuration.", + "required": true, + "schema": { + "$ref": "#/definitions/MonitoringMetricConfiguration" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the metrics configuration.", + "schema": { + "$ref": "#/definitions/MonitoringMetricConfiguration" + } + }, + "202": { + "description": "Accepted the request to create or update the metrics configuration." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "PutMonitoringConfig": { + "$ref": "./examples/PutMonitoringConfig.json" + } + } + }, + "delete": { + "tags": [ + "MonitoringConfig" + ], + "summary": "deletes a new metric configuration for a role.", + "operationId": "MonitoringConfig_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the metrics configuration." + }, + "202": { + "description": "Accepted the request to delete the metrics configuration." + }, + "204": { + "description": "The metrics configuration is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DeleteMonitoringConfig": { + "$ref": "./examples/DeleteMonitoringConfig.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/scanForUpdates": { + "post": { + "tags": [ + "Devices" + ], + "summary": "Scans for updates on a Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_ScanForUpdates", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully scanned the device for updates." + }, + "202": { + "description": "Accepted the request to scan for updates on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ScanForUpdatesPost": { + "$ref": "./examples/ScanForUpdatesPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/securitySettings/default/update": { + "post": { + "tags": [ + "Devices" + ], + "description": "Updates the security settings on a Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_CreateOrUpdateSecuritySettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "securitySettings", + "in": "body", + "description": "The security settings.", + "required": true, + "schema": { + "$ref": "#/definitions/SecuritySettings" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted the request to update the security settings." + }, + "204": { + "description": "Updated the security settings." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CreateOrUpdateSecuritySettings": { + "$ref": "./examples/SecuritySettingsUpdatePost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares": { + "get": { + "tags": [ + "Shares" + ], + "summary": "Lists all the shares in a Data Box Edge/Data Box Gateway device.", + "operationId": "Shares_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of all the shares on the device.", + "schema": { + "$ref": "#/definitions/ShareList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ShareGetAllInDevice": { + "$ref": "./examples/ShareGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}": { + "get": { + "tags": [ + "Shares" + ], + "summary": "Gets a share by name.", + "operationId": "Shares_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The share name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The share details.", + "schema": { + "$ref": "#/definitions/Share" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ShareGet": { + "$ref": "./examples/ShareGet.json" + } + } + }, + "put": { + "tags": [ + "Shares" + ], + "summary": "Creates a new share or updates an existing share on the device.", + "operationId": "Shares_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The share name.", + "required": true, + "type": "string" + }, + { + "name": "share", + "in": "body", + "description": "The share properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Share" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the share.", + "schema": { + "$ref": "#/definitions/Share" + } + }, + "202": { + "description": "Accepted the request to create or update the share." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SharePut": { + "$ref": "./examples/SharePut.json" + } + } + }, + "delete": { + "tags": [ + "Shares" + ], + "description": "Deletes the share on the Data Box Edge/Data Box Gateway device.", + "operationId": "Shares_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The share name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the share." + }, + "202": { + "description": "Accepted the request to delete the share." + }, + "204": { + "description": "The share is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ShareDelete": { + "$ref": "./examples/ShareDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}/refresh": { + "post": { + "tags": [ + "Shares" + ], + "summary": "Refreshes the share metadata with the data from the cloud.", + "operationId": "Shares_Refresh", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The share name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully refreshed the share on the device." + }, + "202": { + "description": "Accepted the request to refresh the share on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ShareRefreshPost": { + "$ref": "./examples/ShareRefreshPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials": { + "get": { + "tags": [ + "StorageAccountCredentials" + ], + "summary": "Gets all the storage account credentials in a Data Box Edge/Data Box Gateway device.", + "operationId": "StorageAccountCredentials_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of storage account credentials.", + "schema": { + "$ref": "#/definitions/StorageAccountCredentialList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SACGetAllInDevice": { + "$ref": "./examples/SACGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials/{name}": { + "get": { + "tags": [ + "StorageAccountCredentials" + ], + "description": "Gets the properties of the specified storage account credential.", + "operationId": "StorageAccountCredentials_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The storage account credential name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The storage account credential properties.", + "schema": { + "$ref": "#/definitions/StorageAccountCredential" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "SACGet": { + "$ref": "./examples/SACGet.json" + } + } + }, + "put": { + "tags": [ + "StorageAccountCredentials" + ], + "description": "Creates or updates the storage account credential.", + "operationId": "StorageAccountCredentials_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The storage account credential name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountCredential", + "in": "body", + "description": "The storage account credential.", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccountCredential" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the storage account credential.", + "schema": { + "$ref": "#/definitions/StorageAccountCredential" + } + }, + "202": { + "description": "Accepted the request to create or update the storage account credential." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SACPut": { + "$ref": "./examples/SACPut.json" + } + } + }, + "delete": { + "tags": [ + "StorageAccountCredentials" + ], + "description": "Deletes the storage account credential.", + "operationId": "StorageAccountCredentials_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The storage account credential name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the storage account credential." + }, + "202": { + "description": "Accepted the request to delete the storage account credential." + }, + "204": { + "description": "The storage account credential is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SACDelete": { + "$ref": "./examples/SACDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts": { + "get": { + "tags": [ + "StorageAccounts" + ], + "summary": "Lists all the StorageAccounts in a Data Box Edge/Data Box Gateway device.", + "operationId": "StorageAccounts_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of all the StorageAccounts on the device.", + "schema": { + "$ref": "#/definitions/StorageAccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "StorageAccountGetAllInDevice": { + "$ref": "./examples/StorageAccountGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}": { + "get": { + "tags": [ + "StorageAccounts" + ], + "summary": "Gets a StorageAccount by name.", + "operationId": "StorageAccounts_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The storage account name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The storage account details.", + "schema": { + "$ref": "#/definitions/StorageAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageAccountGet": { + "$ref": "./examples/StorageAccountGet.json" + } + } + }, + "put": { + "tags": [ + "StorageAccounts" + ], + "summary": "Creates a new StorageAccount or updates an existing StorageAccount on the device.", + "operationId": "StorageAccounts_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The StorageAccount name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccount", + "in": "body", + "description": "The StorageAccount properties.", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccount" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the StorageAccount.", + "schema": { + "$ref": "#/definitions/StorageAccount" + } + }, + "202": { + "description": "Accepted the request to create or update the StorageAccount." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "StorageAccountPut": { + "$ref": "./examples/StorageAccountPut.json" + } + } + }, + "delete": { + "tags": [ + "StorageAccounts" + ], + "description": "Deletes the StorageAccount on the Data Box Edge/Data Box Gateway device.", + "operationId": "StorageAccounts_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The StorageAccount name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted the request to delete the StorageAccount." + }, + "204": { + "description": "The StorageAccount is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "StorageAccountDelete": { + "$ref": "./examples/StorageAccountDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers": { + "get": { + "tags": [ + "Containers" + ], + "summary": "Lists all the containers of a storage Account in a Data Box Edge/Data Box Gateway device.", + "operationId": "Containers_ListByStorageAccount", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The storage Account name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of all the containers on the device.", + "schema": { + "$ref": "#/definitions/ContainerList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ContainerListAllInDevice": { + "$ref": "./examples/ContainerListAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers/{containerName}": { + "get": { + "tags": [ + "Containers" + ], + "summary": "Gets a container by name.", + "operationId": "Containers_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The Storage Account Name", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "The container Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The container details.", + "schema": { + "$ref": "#/definitions/Container" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ContainerGet": { + "$ref": "./examples/ContainerGet.json" + } + } + }, + "put": { + "tags": [ + "Containers" + ], + "summary": "Creates a new container or updates an existing container on the device.", + "operationId": "Containers_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The Storage Account Name", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "The container name.", + "required": true, + "type": "string" + }, + { + "name": "container", + "in": "body", + "description": "The container properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Container" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the container.", + "schema": { + "$ref": "#/definitions/Container" + } + }, + "202": { + "description": "Accepted the request to create or update the container." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ContainerPut": { + "$ref": "./examples/ContainerPut.json" + } + } + }, + "delete": { + "tags": [ + "Containers" + ], + "description": "Deletes the container on the Data Box Edge/Data Box Gateway device.", + "operationId": "Containers_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The Storage Account Name", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "The container name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted the request to delete the container." + }, + "204": { + "description": "The container is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ContainerDelete": { + "$ref": "./examples/ContainerDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers/{containerName}/refresh": { + "post": { + "tags": [ + "Containers" + ], + "summary": "Refreshes the container metadata with the data from the cloud.", + "operationId": "Containers_Refresh", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The Storage Account Name", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "The container name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully refreshed the container on the device." + }, + "202": { + "description": "Accepted the request to refresh the container on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ContainerRefresh": { + "$ref": "./examples/ContainerRefresh.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers": { + "get": { + "tags": [ + "Triggers" + ], + "description": "Lists all the triggers configured in the device.", + "operationId": "Triggers_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "Specify $filter='CustomContextTag eq ' to filter on custom context tag property", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "List all the triggers configured in the device", + "schema": { + "$ref": "#/definitions/TriggerList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "TriggerGetAllInDevice": { + "$ref": "./examples/TriggerGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers/{name}": { + "get": { + "tags": [ + "Triggers" + ], + "description": "Get a specific trigger by name.", + "operationId": "Triggers_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The trigger name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The trigger.", + "schema": { + "$ref": "#/definitions/Trigger" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "TriggerGet": { + "$ref": "./examples/TriggerGet.json" + } + } + }, + "put": { + "tags": [ + "Triggers" + ], + "description": "Creates or updates a trigger.", + "operationId": "Triggers_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "Creates or updates a trigger", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The trigger name.", + "required": true, + "type": "string" + }, + { + "name": "trigger", + "in": "body", + "description": "The trigger.", + "required": true, + "schema": { + "$ref": "#/definitions/Trigger" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the trigger.", + "schema": { + "$ref": "#/definitions/Trigger" + } + }, + "202": { + "description": "Accepted the request to create or update the trigger." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "TriggerPut": { + "$ref": "./examples/TriggerPut.json" + } + } + }, + "delete": { + "tags": [ + "Triggers" + ], + "description": "Deletes the trigger on the gateway device.", + "operationId": "Triggers_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The trigger name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the trigger." + }, + "202": { + "description": "Accepted the request to delete the trigger." + }, + "204": { + "description": "The trigger is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "TriggerDelete": { + "$ref": "./examples/TriggerDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggerSupportPackage": { + "post": { + "tags": [ + "SupportPackages" + ], + "summary": "Triggers support package on the device", + "operationId": "SupportPackages_TriggerSupportPackage", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "triggerSupportPackageRequest", + "in": "body", + "description": "The trigger support package request object", + "required": true, + "schema": { + "$ref": "#/definitions/TriggerSupportPackageRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully triggered support package on the device." + }, + "202": { + "description": "Accepted the request to trigger support package on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "TriggerSupportPackage": { + "$ref": "./examples/TriggerSupportPackage.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/updateExtendedInformation": { + "post": { + "tags": [ + "Devices" + ], + "description": "Gets additional information for the specified Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_UpdateExtendedInformation", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The patch object.", + "required": true, + "schema": { + "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfoPatch" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Modify additional information.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetUpdateExtendedInfo": { + "$ref": "./examples/GetUpdateExtendedInfo.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/updateSummary/default": { + "get": { + "tags": [ + "Devices" + ], + "summary": "Gets information about the availability of updates based on the last scan of the device. It also gets information about any ongoing download or install jobs on the device.", + "operationId": "Devices_GetUpdateSummary", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The update summary.", + "schema": { + "$ref": "#/definitions/UpdateSummary" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateSummaryGet": { + "$ref": "./examples/UpdateSummaryGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/uploadCertificate": { + "post": { + "tags": [ + "Devices" + ], + "description": "Uploads registration certificate for the device.", + "operationId": "Devices_UploadCertificate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The upload certificate request.", + "required": true, + "schema": { + "$ref": "#/definitions/UploadCertificateRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully uploaded the registration certificate.", + "schema": { + "$ref": "#/definitions/UploadCertificateResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UploadCertificatePost": { + "$ref": "./examples/UploadCertificatePost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users": { + "get": { + "tags": [ + "Users" + ], + "description": "Gets all the users registered on a Data Box Edge/Data Box Gateway device.", + "operationId": "Users_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "Specify $filter='Type eq ' to filter on user type property", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The collection of all users on the device.", + "schema": { + "$ref": "#/definitions/UserList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "UserGetAllInDevice": { + "$ref": "./examples/UserGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users/{name}": { + "get": { + "tags": [ + "Users" + ], + "description": "Gets the properties of the specified user.", + "operationId": "Users_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The user name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The user details.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UserGet": { + "$ref": "./examples/UserGet.json" + } + } + }, + "put": { + "tags": [ + "Users" + ], + "description": "Creates a new user or updates an existing user's information on a Data Box Edge/Data Box Gateway device.", + "operationId": "Users_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The user name.", + "required": true, + "type": "string" + }, + { + "name": "user", + "in": "body", + "description": "The user details.", + "required": true, + "schema": { + "$ref": "#/definitions/User" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "202": { + "description": "Accepted the request to create or update the user." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "UserPut": { + "$ref": "./examples/UserPut.json" + } + } + }, + "delete": { + "tags": [ + "Users" + ], + "description": "Deletes the user on a databox edge/gateway device.", + "operationId": "Users_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The user name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the user." + }, + "202": { + "description": "Accepted the request to delete the user." + }, + "204": { + "description": "The user is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "UserDelete": { + "$ref": "./examples/UserDelete.json" + } + } + } + } + }, + "definitions": { + "Addon": { + "description": "Role Addon", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "kind": { + "description": "Addon type.", + "enum": [ + "IotEdge", + "ArcForKubernetes" + ], + "type": "string", + "x-ms-enum": { + "name": "AddonType", + "modelAsString": true + } + }, + "systemData": { + "description": "Addon type", + "$ref": "#/definitions/SystemData" + } + }, + "discriminator": "kind" + }, + "AddonList": { + "description": "Collection of all the Role addon on the Azure Stack Edge device.", + "type": "object", + "properties": { + "value": { + "description": "The Value.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Addon" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "Address": { + "description": "The shipping address of the customer.", + "required": [ + "country" + ], + "type": "object", + "properties": { + "addressLine1": { + "description": "The address line1.", + "type": "string" + }, + "addressLine2": { + "description": "The address line2.", + "type": "string" + }, + "addressLine3": { + "description": "The address line3.", + "type": "string" + }, + "postalCode": { + "description": "The postal code.", + "type": "string" + }, + "city": { + "description": "The city name.", + "type": "string" + }, + "state": { + "description": "The state name.", + "type": "string" + }, + "country": { + "description": "The country name.", + "type": "string" + } + } + }, + "Alert": { + "description": "Alert on the data box edge/gateway device.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "Alert generated in the resource", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/AlertProperties", + "description": "Properties of alert.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "AlertErrorDetails": { + "description": "Error details for the alert.", + "type": "object", + "properties": { + "errorCode": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "Error Message.", + "type": "string", + "readOnly": true + }, + "occurrences": { + "format": "int32", + "description": "Number of occurrences.", + "type": "integer", + "readOnly": true + } + } + }, + "AlertList": { + "description": "Collection of alerts.", + "type": "object", + "properties": { + "value": { + "description": "The value.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Alert" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "AlertProperties": { + "description": "Properties of alert.", + "type": "object", + "properties": { + "title": { + "description": "Alert title.", + "type": "string", + "readOnly": true + }, + "alertType": { + "description": "Alert type.", + "type": "string", + "readOnly": true + }, + "appearedAtDateTime": { + "format": "date-time", + "description": "UTC time when the alert appeared.", + "type": "string", + "readOnly": true + }, + "recommendation": { + "description": "Alert recommendation.", + "type": "string", + "readOnly": true + }, + "severity": { + "description": "Severity of the alert.", + "enum": [ + "Informational", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AlertSeverity", + "modelAsString": true + } + }, + "errorDetails": { + "$ref": "#/definitions/AlertErrorDetails", + "description": "Error details of the alert.", + "readOnly": true + }, + "detailedInformation": { + "description": "Alert details.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "ArcAddon": { + "description": "Arc Addon.", + "required": [ + "properties", + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Addon" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ArcAddonProperties", + "description": "Properties specific to Arc addon.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "ArcForKubernetes" + }, + "ArcAddonProperties": { + "description": "Arc addon properties.", + "required": [ + "subscriptionId", + "resourceGroupName", + "resourceName", + "resourceLocation" + ], + "type": "object", + "properties": { + "subscriptionId": { + "description": "Arc resource subscription Id", + "type": "string" + }, + "resourceGroupName": { + "description": "Arc resource group name", + "type": "string" + }, + "resourceName": { + "description": "Arc resource Name", + "type": "string" + }, + "resourceLocation": { + "description": "Arc resource location", + "type": "string" + }, + "version": { + "description": "Arc resource version", + "type": "string", + "readOnly": true + }, + "hostPlatform": { + "description": "Host OS supported by the Arc addon.", + "enum": [ + "Windows", + "Linux" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PlatformType", + "modelAsString": true + } + }, + "hostPlatformType": { + "description": "Platform where the runtime is hosted.", + "enum": [ + "KubernetesCluster", + "LinuxVM" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "HostPlatformType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "Addon Provisioning State", + "enum": [ + "Invalid", + "Creating", + "Created", + "Updating", + "Reconfiguring", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AddonState", + "modelAsString": true + } + } + } + }, + "ARMBaseModel": { + "description": "Represents the base class for all object models.", + "type": "object", + "properties": { + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "AsymmetricEncryptedSecret": { + "description": "Represent the secrets intended for encryption with asymmetric key pair.", + "required": [ + "value", + "encryptionAlgorithm" + ], + "type": "object", + "properties": { + "value": { + "description": "The value of the secret.", + "type": "string" + }, + "encryptionCertThumbprint": { + "description": "Thumbprint certificate used to encrypt \\\"Value\\\". If the value is unencrypted, it will be null.", + "x-ms-secret": true, + "type": "string" + }, + "encryptionAlgorithm": { + "description": "The algorithm used to encrypt \"Value\".", + "enum": [ + "None", + "AES256", + "RSAES_PKCS1_v_1_5" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionAlgorithm", + "modelAsString": true + } + } + } + }, + "Authentication": { + "description": "Authentication mechanism for IoT devices.", + "type": "object", + "properties": { + "symmetricKey": { + "$ref": "#/definitions/SymmetricKey", + "description": "Symmetric key for authentication." + } + } + }, + "AzureContainerInfo": { + "description": "Azure container mapping of the endpoint.", + "required": [ + "storageAccountCredentialId", + "containerName", + "dataFormat" + ], + "type": "object", + "properties": { + "storageAccountCredentialId": { + "description": "ID of the storage account credential used to access storage.", + "type": "string" + }, + "containerName": { + "description": "Container name (Based on the data format specified, this represents the name of Azure Files/Page blob/Block blob).", + "type": "string" + }, + "dataFormat": { + "description": "Storage format used for the file represented by the share.", + "enum": [ + "BlockBlob", + "PageBlob", + "AzureFile" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureContainerDataFormat", + "modelAsString": true + } + } + } + }, + "BandwidthSchedule": { + "description": "The bandwidth schedule details.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "Bandwidth object related to ASE resource", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/BandwidthScheduleProperties", + "description": "The properties of the bandwidth schedule.", + "x-ms-client-flatten": true + } + } + }, + "BandwidthScheduleProperties": { + "description": "The properties of the bandwidth schedule.", + "required": [ + "start", + "stop", + "rateInMbps", + "days" + ], + "type": "object", + "properties": { + "start": { + "description": "The start time of the schedule in UTC.", + "type": "string" + }, + "stop": { + "description": "The stop time of the schedule in UTC.", + "type": "string" + }, + "rateInMbps": { + "format": "int32", + "description": "The bandwidth rate in Mbps.", + "type": "integer" + }, + "days": { + "description": "The days of the week when this schedule is applicable.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": true + } + } + } + } + }, + "BandwidthSchedulesList": { + "description": "The collection of bandwidth schedules.", + "type": "object", + "properties": { + "value": { + "description": "The list of bandwidth schedules.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/BandwidthSchedule" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "ClientAccessRight": { + "description": "The mapping between a particular client IP and the type of access client has on the NFS share.", + "required": [ + "client", + "accessPermission" + ], + "type": "object", + "properties": { + "client": { + "description": "IP of the client.", + "type": "string" + }, + "accessPermission": { + "description": "Type of access to be allowed for the client.", + "enum": [ + "NoAccess", + "ReadOnly", + "ReadWrite" + ], + "type": "string", + "x-ms-enum": { + "name": "ClientPermissionType", + "modelAsString": true + } + } + } + }, + "CloudEdgeManagementRole": { + "description": "CloudEdgeManagementRole role.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Role" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CloudEdgeManagementRoleProperties", + "description": "Properties specific to CloudEdgeManagementRole role.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "CloudEdgeManagement" + }, + "CloudEdgeManagementRoleProperties": { + "description": "CloudEdgeManagement Role properties.", + "required": [ + "roleStatus" + ], + "type": "object", + "properties": { + "localManagementStatus": { + "description": "Local Edge Management Status", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RoleStatus", + "modelAsString": true + } + }, + "edgeProfile": { + "$ref": "#/definitions/EdgeProfile", + "description": "Edge Profile of the resource", + "readOnly": true + }, + "roleStatus": { + "description": "Role status.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleStatus", + "modelAsString": true + } + } + } + }, + "CloudError": { + "description": "An error response from the service.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "The error details." + } + }, + "x-ms-external": true + }, + "CloudErrorBody": { + "description": "An error response from the service.", + "type": "object", + "properties": { + "code": { + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.", + "type": "string" + }, + "message": { + "description": "A message describing the error, intended to be suitable for display in a user interface.", + "type": "string" + }, + "details": { + "description": "A list of additional details about the error.", + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + } + } + }, + "x-ms-external": true + }, + "CniConfig": { + "description": "Cni configuration", + "type": "object", + "properties": { + "type": { + "description": "Cni type", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Cni version", + "type": "string", + "readOnly": true + }, + "podSubnet": { + "description": "Pod Subnet", + "type": "string", + "readOnly": true + }, + "serviceSubnet": { + "description": "Service subnet", + "type": "string", + "readOnly": true + } + } + }, + "ComputeResource": { + "description": "Compute infrastructure Resource", + "required": [ + "processorCount", + "memoryInGB" + ], + "type": "object", + "properties": { + "processorCount": { + "format": "int32", + "description": "Processor count", + "type": "integer" + }, + "memoryInGB": { + "format": "int64", + "description": "Memory in GB", + "type": "integer" + } + } + }, + "ContactDetails": { + "description": "Contains all the contact details of the customer.", + "required": [ + "contactPerson", + "companyName", + "phone", + "emailList" + ], + "type": "object", + "properties": { + "contactPerson": { + "description": "The contact person name.", + "type": "string" + }, + "companyName": { + "description": "The name of the company.", + "type": "string" + }, + "phone": { + "description": "The phone number.", + "type": "string" + }, + "emailList": { + "description": "The email list.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Container": { + "description": "Represents a container on the Data Box Edge/Gateway device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "Container in DataBoxEdge Resource", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/ContainerProperties", + "description": "The container properties.", + "x-ms-client-flatten": true + } + } + }, + "ContainerList": { + "description": "Collection of all the containers on the Data Box Edge/Gateway device.", + "type": "object", + "properties": { + "value": { + "description": "The list of containers.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Container" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "ContainerProperties": { + "description": "The container properties.", + "required": [ + "dataFormat" + ], + "type": "object", + "properties": { + "containerStatus": { + "description": "Current status of the container.", + "enum": [ + "OK", + "Offline", + "Unknown", + "Updating", + "NeedsAttention" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ContainerStatus", + "modelAsString": true + } + }, + "dataFormat": { + "description": "DataFormat for Container", + "enum": [ + "BlockBlob", + "PageBlob", + "AzureFile" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureContainerDataFormat", + "modelAsString": true + } + }, + "refreshDetails": { + "$ref": "#/definitions/RefreshDetails", + "description": "Details of the refresh job on this container.", + "readOnly": true + }, + "createdDateTime": { + "format": "date-time", + "description": "The UTC time when container got created.", + "type": "string", + "readOnly": true + } + } + }, + "DataBoxEdgeDevice": { + "description": "The Data Box Edge/Gateway device.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "location": { + "description": "The location of the device. This is a supported and registered Azure geographical region (for example, West US, East US, or Southeast Asia). The geographical region of a device cannot be changed once it is created, but if an identical geographical region is specified on update, the request will succeed.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "The list of tags that describe the device. These tags can be used to view and group this device (across resource groups).", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU type." + }, + "etag": { + "description": "The etag for the devices.", + "type": "string" + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "Msi identity of the resource" + }, + "kind": { + "description": "The kind of the device.", + "enum": [ + "AzureDataBoxGateway", + "AzureStackEdge", + "AzureStackHub", + "AzureModularDataCentre" + ], + "type": "string", + "x-ms-enum": { + "name": "DataBoxEdgeDeviceKind", + "modelAsString": true + } + }, + "systemData": { + "description": "DataBoxEdge Resource", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/DataBoxEdgeDeviceProperties", + "description": "The properties of the Data Box Edge/Gateway device.", + "x-ms-client-flatten": true + } + } + }, + "DataBoxEdgeDeviceExtendedInfo": { + "description": "The extended Info of the Data Box Edge/Gateway device.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfoProperties", + "description": "The extended info properties.", + "x-ms-client-flatten": true + } + } + }, + "DataBoxEdgeDeviceExtendedInfoPatch": { + "description": "The Data Box Edge/Gateway device extended info patch.", + "type": "object", + "properties": { + "clientSecretStoreId": { + "description": "The Key Vault ARM Id for client secrets", + "type": "string" + }, + "clientSecretStoreUrl": { + "description": "The url to access the Client Key Vault", + "type": "string" + }, + "channelIntegrityKeyName": { + "description": "The name for Channel Integrity Key stored in the Client Key Vault", + "type": "string" + }, + "channelIntegrityKeyVersion": { + "description": "The version of Channel Integrity Key stored in the Client Key Vault", + "type": "string" + }, + "syncStatus": { + "description": "For changing or to initiate the resync to key-vault set the status to KeyVaultSyncPending, rest of the status will not be applicable.", + "enum": [ + "KeyVaultSynced", + "KeyVaultSyncFailed", + "KeyVaultNotConfigured", + "KeyVaultSyncPending", + "KeyVaultSyncing", + "KeyVaultNotSynced" + ], + "type": "string", + "x-ms-enum": { + "name": "KeyVaultSyncStatus", + "modelAsString": true + } + } + } + }, + "DataBoxEdgeDeviceExtendedInfoProperties": { + "description": "The properties of the Data Box Edge/Gateway device extended info.", + "type": "object", + "properties": { + "encryptionKeyThumbprint": { + "description": "The digital signature of encrypted certificate.", + "type": "string" + }, + "encryptionKey": { + "description": "The public part of the encryption certificate. Client uses this to encrypt any secret.", + "type": "string" + }, + "resourceKey": { + "description": "The Resource ID of the Resource.", + "type": "string", + "readOnly": true + }, + "clientSecretStoreId": { + "description": "The Key Vault ARM Id for client secrets", + "type": "string" + }, + "clientSecretStoreUrl": { + "description": "The url to access the Client Key Vault", + "type": "string" + }, + "channelIntegrityKeyName": { + "description": "The name of Channel Integrity Key stored in the Client Key Vault", + "type": "string" + }, + "channelIntegrityKeyVersion": { + "description": "The version of Channel Integrity Key stored in the Client Key Vault", + "type": "string" + }, + "keyVaultSyncStatus": { + "description": "Key vault sync status", + "enum": [ + "KeyVaultSynced", + "KeyVaultSyncFailed", + "KeyVaultNotConfigured", + "KeyVaultSyncPending", + "KeyVaultSyncing", + "KeyVaultNotSynced" + ], + "type": "string", + "x-ms-enum": { + "name": "KeyVaultSyncStatus", + "modelAsString": true + } + }, + "deviceSecrets": { + "description": "Device secrets, will be returned only with ODataFilter $expand=deviceSecrets", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Secret" + }, + "readOnly": true + } + } + }, + "DataBoxEdgeDeviceList": { + "description": "The collection of Data Box Edge/Gateway devices.", + "type": "object", + "properties": { + "value": { + "description": "The list of Data Box Edge/Gateway devices.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxEdgeDevice" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "DataBoxEdgeDevicePatch": { + "description": "The Data Box Edge/Gateway device patch.", + "type": "object", + "properties": { + "tags": { + "description": "The tags attached to the Data Box Edge/Gateway resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "Msi identity of the resource" + }, + "properties": { + "$ref": "#/definitions/DataBoxEdgeDevicePropertiesPatch", + "description": "The properties associated with the Data Box Edge/Gateway resource", + "x-ms-client-flatten": true + } + } + }, + "DataBoxEdgeDeviceProperties": { + "description": "The properties of the Data Box Edge/Gateway device.", + "type": "object", + "properties": { + "systemData": { + "description": "DataBoxEdge Device Properties", + "$ref": "#/definitions/SystemData" + }, + "dataBoxEdgeDeviceStatus": { + "description": "The status of the Data Box Edge/Gateway device.", + "enum": [ + "ReadyToSetup", + "Online", + "Offline", + "NeedsAttention", + "Disconnected", + "PartiallyDisconnected", + "Maintenance" + ], + "type": "string", + "x-ms-enum": { + "name": "DataBoxEdgeDeviceStatus", + "modelAsString": true + } + }, + "serialNumber": { + "description": "The Serial Number of Data Box Edge/Gateway device.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The Description of the Data Box Edge/Gateway device.", + "type": "string", + "readOnly": true + }, + "modelDescription": { + "description": "The description of the Data Box Edge/Gateway device model.", + "type": "string", + "readOnly": true + }, + "deviceType": { + "description": "The type of the Data Box Edge/Gateway device.", + "enum": [ + "DataBoxEdgeDevice" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DeviceType", + "modelAsString": true + } + }, + "friendlyName": { + "description": "The Data Box Edge/Gateway device name.", + "type": "string", + "readOnly": true + }, + "culture": { + "description": "The Data Box Edge/Gateway device culture.", + "type": "string", + "readOnly": true + }, + "deviceModel": { + "description": "The Data Box Edge/Gateway device model.", + "type": "string", + "readOnly": true + }, + "deviceSoftwareVersion": { + "description": "The Data Box Edge/Gateway device software version.", + "type": "string", + "readOnly": true + }, + "deviceLocalCapacity": { + "format": "int64", + "description": "The Data Box Edge/Gateway device local capacity in MB.", + "type": "integer", + "readOnly": true + }, + "timeZone": { + "description": "The Data Box Edge/Gateway device timezone.", + "type": "string", + "readOnly": true + }, + "deviceHcsVersion": { + "description": "The device software version number of the device (eg: 1.2.18105.6).", + "type": "string", + "readOnly": true + }, + "configuredRoleTypes": { + "description": "Type of compute roles configured.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "IOT", + "ASA", + "Functions", + "Cognitive", + "MEC", + "CloudEdgeManagement", + "Kubernetes" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleTypes", + "modelAsString": true + } + }, + "readOnly": true + }, + "nodeCount": { + "format": "int32", + "description": "The number of nodes in the cluster.", + "type": "integer", + "readOnly": true + }, + "resourceMoveDetails": { + "$ref": "#/definitions/ResourceMoveDetails", + "description": "The details of the move operation on this resource.", + "readOnly": true + }, + "edgeProfile": { + "$ref": "#/definitions/EdgeProfile", + "description": "The details of Edge Profile for this resource", + "readOnly": true + }, + "dataResidency": { + "$ref": "#/definitions/DataResidency", + "description": "The details of data-residency related properties for this resource" + } + } + }, + "DataBoxEdgeDevicePropertiesPatch": { + "description": "The Data Box Edge/Gateway device properties patch.", + "type": "object", + "properties": { + "edgeProfile": { + "$ref": "#/definitions/EdgeProfilePatch", + "description": "Edge Profile property of the Data Box Edge/Gateway device" + } + } + }, + "DataBoxEdgeMoveRequest": { + "description": "Resource Move details", + "required": [ + "targetResourceGroup", + "resources" + ], + "type": "object", + "properties": { + "targetResourceGroup": { + "description": "Target resource group ARMId", + "type": "string" + }, + "resources": { + "description": "List of resources to be moved", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DataBoxEdgeSku": { + "description": "The Sku information.", + "type": "object", + "properties": { + "resourceType": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The Sku name.", + "enum": [ + "Gateway", + "Edge", + "TEA_1Node", + "TEA_1Node_UPS", + "TEA_1Node_Heater", + "TEA_1Node_UPS_Heater", + "TEA_4Node_Heater", + "TEA_4Node_UPS_Heater", + "TMA", + "TDC", + "TCA_Small", + "GPU", + "TCA_Large", + "EdgeP_Base", + "EdgeP_High", + "EdgePR_Base", + "EdgePR_Base_UPS", + "EP2_64_1VPU_W", + "EP2_128_1T4_Mx1_W", + "EP2_256_2T4_W", + "EdgeMR_Mini", + "RCA_Small", + "RCA_Large", + "RDC", + "Management" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "kind": { + "description": "The Sku kind.", + "type": "string", + "readOnly": true + }, + "tier": { + "description": "The Sku tier.", + "enum": [ + "Standard" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + }, + "size": { + "description": "The Sku kind.", + "type": "string", + "readOnly": true + }, + "family": { + "description": "The Sku family.", + "type": "string", + "readOnly": true + }, + "locations": { + "description": "Availability of the Sku for the region.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "apiVersions": { + "description": "The API versions in which Sku is available.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "locationInfo": { + "description": "Availability of the Sku for the location/zone/site.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SkuLocationInfo" + }, + "readOnly": true + }, + "costs": { + "description": "The pricing info of the Sku.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SkuCost" + }, + "readOnly": true + }, + "signupOption": { + "description": "Sku can be signed up by customer or not.", + "enum": [ + "None", + "Available" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuSignupOption", + "modelAsString": true + } + }, + "version": { + "description": "Availability of the Sku as preview/stable.", + "enum": [ + "Stable", + "Preview" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuVersion", + "modelAsString": true + } + }, + "availability": { + "description": "Links to the next set of results", + "enum": [ + "Available", + "Unavailable" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuAvailability", + "modelAsString": true + } + }, + "shipmentTypes": { + "description": "List of Shipment Types supported by this SKU", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "NotApplicable", + "ShippedToCustomer", + "SelfPickup" + ], + "type": "string", + "x-ms-enum": { + "name": "ShipmentType", + "modelAsString": true + } + }, + "readOnly": true + }, + "capabilities": { + "description": "The capability info of the SKU.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SkuCapability" + }, + "readOnly": true + } + } + }, + "DataBoxEdgeSkuList": { + "description": "List of SKU Information objects.", + "type": "object", + "properties": { + "value": { + "description": "List of ResourceType Sku", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxEdgeSku" + }, + "readOnly": true + }, + "nextLink": { + "description": "Links to the next set of results", + "type": "string", + "readOnly": true + } + } + }, + "DataResidency": { + "description": "Wraps data-residency related information for edge-resource and this should be used with ARM layer.", + "type": "object", + "properties": { + "type": { + "description": "DataResidencyType enum", + "enum": [ + "GeoZoneReplication", + "ZoneReplication" + ], + "type": "string", + "x-ms-enum": { + "name": "DataResidencyType", + "modelAsString": true + } + } + } + }, + "DCAccessCode": { + "description": "DC Access code in the case of Self Managed Shipping.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DCAccessCodeProperties", + "description": "DCAccessCode properties.", + "x-ms-client-flatten": true + } + } + }, + "DCAccessCodeProperties": { + "description": "DCAccessCode Properties.", + "type": "object", + "properties": { + "authCode": { + "description": "DCAccess Code for the Self Managed shipment.", + "type": "string" + } + } + }, + "DiagnosticProactiveLogCollectionSettings": { + "description": "The diagnostic proactive log collection settings of a device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "DiagnosticProactiveLogCollectionSettings", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/ProactiveLogCollectionSettingsProperties", + "description": "Properties of the diagnostic proactive log collection settings.", + "x-ms-client-flatten": true + } + } + }, + "DiagnosticRemoteSupportSettings": { + "description": "The remote support settings of a device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "DiagnosticRemoteSupportSettings", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/DiagnosticRemoteSupportSettingsProperties", + "description": "Properties of the remote support settings.", + "x-ms-client-flatten": true + } + } + }, + "DiagnosticRemoteSupportSettingsProperties": { + "description": "The properties of remote support settings.", + "type": "object", + "properties": { + "remoteSupportSettingsList": { + "description": "Remote support settings list according to the RemoteApplicationType", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/RemoteSupportSettings" + } + } + } + }, + "EdgeProfile": { + "description": "Details about Edge Profile for the resource", + "type": "object", + "properties": { + "subscription": { + "$ref": "#/definitions/EdgeProfileSubscription", + "description": "Edge Profile Subscription" + } + } + }, + "EdgeProfilePatch": { + "description": "The Data Box Edge/Gateway Edge Profile patch.", + "type": "object", + "properties": { + "subscription": { + "$ref": "#/definitions/EdgeProfileSubscriptionPatch", + "description": "The Data Box Edge/Gateway Edge Profile Subscription patch" + } + } + }, + "EdgeProfileSubscription": { + "description": "Subscription details for the Edge Profile", + "type": "object", + "properties": { + "registrationId": { + "description": "Edge Subscription Registration ID", + "type": "string" + }, + "id": { + "description": "ARM ID of the subscription", + "type": "string" + }, + "state": { + "enum": [ + "Registered", + "Warned", + "Suspended", + "Deleted", + "Unregistered" + ], + "type": "string", + "x-ms-enum": { + "name": "SubscriptionState", + "modelAsString": true + } + }, + "registrationDate": { + "type": "string" + }, + "subscriptionId": { + "type": "string" + }, + "properties": { + "$ref": "#/definitions/SubscriptionProperties", + "x-ms-client-flatten": true + } + } + }, + "EdgeProfileSubscriptionPatch": { + "description": "The Data Box Edge/Gateway Edge Profile Subscription patch.", + "type": "object", + "properties": { + "id": { + "description": "The path ID that uniquely identifies the subscription of the edge profile.", + "type": "string" + } + } + }, + "EtcdInfo": { + "description": "Etcd configuration", + "type": "object", + "properties": { + "type": { + "description": "Etcd type", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Etcd version", + "type": "string", + "readOnly": true + } + } + }, + "FileEventTrigger": { + "description": "Trigger details.", + "required": [ + "properties", + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Trigger" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/FileTriggerProperties", + "description": "File trigger properties.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "FileEvent" + }, + "FileSourceInfo": { + "description": "File source details.", + "required": [ + "shareId" + ], + "type": "object", + "properties": { + "shareId": { + "description": "File share ID.", + "type": "string" + } + } + }, + "FileTriggerProperties": { + "description": "File trigger properties.", + "required": [ + "sourceInfo", + "sinkInfo" + ], + "type": "object", + "properties": { + "sourceInfo": { + "$ref": "#/definitions/FileSourceInfo", + "description": "File event source details." + }, + "sinkInfo": { + "$ref": "#/definitions/RoleSinkInfo", + "description": "Role sink info." + }, + "customContextTag": { + "description": "A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module.", + "maxLength": 192, + "type": "string" + } + } + }, + "GenerateCertResponse": { + "description": "Used in activation key generation flow.", + "type": "object", + "properties": { + "publicKey": { + "description": "Gets or sets base64 encoded certificate raw data,\r\nthis is the public part needed to be uploaded to cert vault", + "type": "string" + }, + "privateKey": { + "description": "Gets or sets base64 encoded private part of the certificate,\r\nneeded to form the activation key", + "x-ms-secret": true, + "type": "string" + }, + "expiryTimeInUTC": { + "description": "Gets or sets expiry time in UTC", + "type": "string" + } + } + }, + "ImageRepositoryCredential": { + "description": "Image repository credential.", + "required": [ + "imageRepositoryUrl", + "userName" + ], + "type": "object", + "properties": { + "imageRepositoryUrl": { + "description": "Image repository url (e.g.: mcr.microsoft.com).", + "type": "string" + }, + "userName": { + "description": "Repository user name.", + "type": "string" + }, + "password": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Repository user password." + } + } + }, + "IoTAddon": { + "description": "IoT Addon.", + "required": [ + "properties", + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Addon" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/IoTAddonProperties", + "description": "Properties specific to IOT addon.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "IotEdge" + }, + "IoTAddonProperties": { + "description": "IoT addon properties.", + "required": [ + "ioTDeviceDetails", + "ioTEdgeDeviceDetails" + ], + "type": "object", + "properties": { + "ioTDeviceDetails": { + "$ref": "#/definitions/IoTDeviceInfo", + "description": "IoT device metadata to which appliance needs to be connected." + }, + "ioTEdgeDeviceDetails": { + "$ref": "#/definitions/IoTDeviceInfo", + "description": "IoT edge device to which the IoT Addon needs to be configured." + }, + "version": { + "description": "Version of IoT running on the appliance.", + "type": "string", + "readOnly": true + }, + "hostPlatform": { + "description": "Host OS supported by the IoT addon.", + "enum": [ + "Windows", + "Linux" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PlatformType", + "modelAsString": true + } + }, + "hostPlatformType": { + "description": "Platform where the runtime is hosted.", + "enum": [ + "KubernetesCluster", + "LinuxVM" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "HostPlatformType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "Addon Provisioning State", + "enum": [ + "Invalid", + "Creating", + "Created", + "Updating", + "Reconfiguring", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AddonState", + "modelAsString": true + } + } + } + }, + "IoTDeviceInfo": { + "description": "Metadata of IoT device/IoT Edge device to be configured.", + "required": [ + "deviceId", + "ioTHostHub" + ], + "type": "object", + "properties": { + "deviceId": { + "description": "ID of the IoT device/edge device.", + "type": "string" + }, + "ioTHostHub": { + "description": "Host name for the IoT hub associated to the device.", + "type": "string" + }, + "ioTHostHubId": { + "description": "Id for the IoT hub associated to the device.", + "type": "string" + }, + "authentication": { + "$ref": "#/definitions/Authentication", + "description": "Encrypted IoT device/IoT edge device connection string." + } + } + }, + "IoTEdgeAgentInfo": { + "description": "IoT edge agent details is optional, this will be used for download system Agent module while bootstrapping IoT Role if specified.", + "required": [ + "imageName", + "tag" + ], + "type": "object", + "properties": { + "imageName": { + "description": "Name of the IoT edge agent image.", + "type": "string" + }, + "tag": { + "description": "Image Tag.", + "type": "string" + }, + "imageRepository": { + "$ref": "#/definitions/ImageRepositoryCredential", + "description": "Image repository details." + } + } + }, + "IoTRole": { + "description": "Compute role.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Role" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/IoTRoleProperties", + "description": "Properties specific to IoT role.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "IOT" + }, + "IoTRoleProperties": { + "description": "IoT role properties.", + "required": [ + "hostPlatform", + "ioTDeviceDetails", + "ioTEdgeDeviceDetails", + "roleStatus" + ], + "type": "object", + "properties": { + "hostPlatform": { + "description": "Host OS supported by the IoT role.", + "enum": [ + "Windows", + "Linux" + ], + "type": "string", + "x-ms-enum": { + "name": "PlatformType", + "modelAsString": true + } + }, + "ioTDeviceDetails": { + "$ref": "#/definitions/IoTDeviceInfo", + "description": "IoT device metadata to which data box edge device needs to be connected." + }, + "ioTEdgeDeviceDetails": { + "$ref": "#/definitions/IoTDeviceInfo", + "description": "IoT edge device to which the IoT role needs to be configured." + }, + "shareMappings": { + "description": "Mount points of shares in role(s).", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MountPointMap" + } + }, + "ioTEdgeAgentInfo": { + "$ref": "#/definitions/IoTEdgeAgentInfo", + "description": "Iot edge agent details to download the agent and bootstrap iot runtime." + }, + "hostPlatformType": { + "description": "Platform where the Iot runtime is hosted.", + "enum": [ + "KubernetesCluster", + "LinuxVM" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "HostPlatformType", + "modelAsString": true + } + }, + "computeResource": { + "$ref": "#/definitions/ComputeResource", + "description": "Resource allocation" + }, + "roleStatus": { + "description": "Role status.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleStatus", + "modelAsString": true + } + } + } + }, + "Ipv4Config": { + "description": "Details related to the IPv4 address configuration.", + "type": "object", + "properties": { + "ipAddress": { + "description": "The IPv4 address of the network adapter.", + "type": "string", + "readOnly": true + }, + "subnet": { + "description": "The IPv4 subnet of the network adapter.", + "type": "string", + "readOnly": true + }, + "gateway": { + "description": "The IPv4 gateway of the network adapter.", + "type": "string", + "readOnly": true + } + } + }, + "Ipv6Config": { + "description": "Details related to the IPv6 address configuration.", + "type": "object", + "properties": { + "ipAddress": { + "description": "The IPv6 address of the network adapter.", + "type": "string", + "readOnly": true + }, + "prefixLength": { + "format": "int32", + "description": "The IPv6 prefix of the network adapter.", + "type": "integer", + "readOnly": true + }, + "gateway": { + "description": "The IPv6 gateway of the network adapter.", + "type": "string", + "readOnly": true + } + } + }, + "Job": { + "description": "A device job.", + "type": "object", + "properties": { + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the object.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The current status of the job.", + "enum": [ + "Invalid", + "Running", + "Succeeded", + "Failed", + "Canceled", + "Paused", + "Scheduled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "startTime": { + "format": "date-time", + "description": "The UTC date and time at which the job started.", + "type": "string", + "readOnly": true + }, + "endTime": { + "format": "date-time", + "description": "The UTC date and time at which the job completed.", + "type": "string", + "readOnly": true + }, + "percentComplete": { + "format": "int32", + "description": "The percentage of the job that is complete.", + "type": "integer", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/JobErrorDetails", + "description": "The error details.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/JobProperties", + "description": "The properties of the job.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "JobErrorDetails": { + "description": "The job error information containing the list of job errors.", + "type": "object", + "properties": { + "errorDetails": { + "description": "The error details.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/JobErrorItem" + }, + "readOnly": true + }, + "code": { + "description": "The code intended for programmatic access.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The message that describes the error in detail.", + "type": "string", + "readOnly": true + } + } + }, + "JobErrorItem": { + "description": "The job error items.", + "type": "object", + "properties": { + "recommendations": { + "description": "The recommended actions.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "code": { + "description": "The code intended for programmatic access.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The message that describes the error in detail.", + "type": "string", + "readOnly": true + } + } + }, + "JobProperties": { + "description": "The properties for the job.", + "type": "object", + "properties": { + "jobType": { + "description": "The type of the job.", + "enum": [ + "Invalid", + "ScanForUpdates", + "DownloadUpdates", + "InstallUpdates", + "RefreshShare", + "RefreshContainer", + "Backup", + "Restore", + "TriggerSupportPackage" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobType", + "modelAsString": true + } + }, + "currentStage": { + "description": "Current stage of the update operation.", + "enum": [ + "Unknown", + "Initial", + "ScanStarted", + "ScanComplete", + "ScanFailed", + "DownloadStarted", + "DownloadComplete", + "DownloadFailed", + "InstallStarted", + "InstallComplete", + "InstallFailed", + "RebootInitiated", + "Success", + "Failure", + "RescanStarted", + "RescanComplete", + "RescanFailed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "UpdateOperationStage", + "modelAsString": true + } + }, + "downloadProgress": { + "$ref": "#/definitions/UpdateDownloadProgress", + "description": "The download progress.", + "readOnly": true + }, + "installProgress": { + "$ref": "#/definitions/UpdateInstallProgress", + "description": "The install progress.", + "readOnly": true + }, + "totalRefreshErrors": { + "format": "int32", + "description": "Total number of errors encountered during the refresh process.", + "type": "integer", + "readOnly": true + }, + "errorManifestFile": { + "description": "Local share/remote container relative path to the error manifest file of the refresh.", + "type": "string", + "readOnly": true + }, + "refreshedEntityId": { + "description": "ARM ID of the entity that was refreshed.", + "type": "string", + "readOnly": true + }, + "folder": { + "description": "If only subfolders need to be refreshed, then the subfolder path inside the share or container. (The path is empty if there are no subfolders.)", + "type": "string" + } + } + }, + "KubernetesClusterInfo": { + "description": "Kubernetes cluster configuration", + "required": [ + "version" + ], + "type": "object", + "properties": { + "etcdInfo": { + "$ref": "#/definitions/EtcdInfo", + "description": "Etcd configuration", + "readOnly": true + }, + "nodes": { + "description": "Kubernetes cluster nodes", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/NodeInfo" + }, + "readOnly": true + }, + "version": { + "description": "Kubernetes cluster version", + "type": "string" + } + } + }, + "KubernetesIPConfiguration": { + "description": "Kubernetes node IP configuration", + "type": "object", + "properties": { + "port": { + "description": "Port of the Kubernetes node.", + "type": "string", + "readOnly": true + }, + "ipAddress": { + "description": "IP address of the Kubernetes node.", + "type": "string" + } + } + }, + "KubernetesRole": { + "description": "Kubernetes role.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Role" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/KubernetesRoleProperties", + "description": "Properties specific to Kubernetes role.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "Kubernetes" + }, + "KubernetesRoleCompute": { + "description": "Kubernetes role compute resource", + "required": [ + "vmProfile" + ], + "type": "object", + "properties": { + "vmProfile": { + "description": "VM profile", + "type": "string" + }, + "memoryInBytes": { + "format": "int64", + "description": "Memory in bytes", + "type": "integer", + "readOnly": true + }, + "processorCount": { + "format": "int32", + "description": "Processor count", + "type": "integer", + "readOnly": true + } + } + }, + "KubernetesRoleNetwork": { + "description": "Kubernetes role network resource", + "type": "object", + "properties": { + "cniConfig": { + "$ref": "#/definitions/CniConfig", + "description": "Cni configuration", + "readOnly": true + }, + "loadBalancerConfig": { + "$ref": "#/definitions/LoadBalancerConfig", + "description": "Load balancer configuration", + "readOnly": true + } + } + }, + "KubernetesRoleProperties": { + "description": "Kubernetes role properties.", + "required": [ + "hostPlatform", + "kubernetesClusterInfo", + "kubernetesRoleResources", + "roleStatus" + ], + "type": "object", + "properties": { + "hostPlatform": { + "description": "Host OS supported by the Kubernetes role.", + "enum": [ + "Windows", + "Linux" + ], + "type": "string", + "x-ms-enum": { + "name": "PlatformType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "State of Kubernetes deployment", + "enum": [ + "Invalid", + "Creating", + "Created", + "Updating", + "Reconfiguring", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "KubernetesState", + "modelAsString": true + } + }, + "hostPlatformType": { + "description": "Platform where the runtime is hosted.", + "enum": [ + "KubernetesCluster", + "LinuxVM" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "HostPlatformType", + "modelAsString": true + } + }, + "kubernetesClusterInfo": { + "$ref": "#/definitions/KubernetesClusterInfo", + "description": "Kubernetes cluster configuration" + }, + "kubernetesRoleResources": { + "$ref": "#/definitions/KubernetesRoleResources", + "description": "Kubernetes role resources" + }, + "roleStatus": { + "description": "Role status.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleStatus", + "modelAsString": true + } + } + } + }, + "KubernetesRoleResources": { + "description": "Kubernetes role resources", + "required": [ + "compute" + ], + "type": "object", + "properties": { + "storage": { + "$ref": "#/definitions/KubernetesRoleStorage", + "description": "Kubernetes role storage resource" + }, + "compute": { + "$ref": "#/definitions/KubernetesRoleCompute", + "description": "Kubernetes role compute resource" + }, + "network": { + "$ref": "#/definitions/KubernetesRoleNetwork", + "description": "Kubernetes role network resource", + "readOnly": true + } + } + }, + "KubernetesRoleStorage": { + "description": "Kubernetes role storage resource", + "type": "object", + "properties": { + "storageClasses": { + "description": "Kubernetes storage class info.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/KubernetesRoleStorageClassInfo" + }, + "readOnly": true + }, + "endpoints": { + "description": "Mount points of shares in role(s).", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MountPointMap" + } + } + } + }, + "KubernetesRoleStorageClassInfo": { + "description": "Kubernetes storage class info.", + "type": "object", + "properties": { + "name": { + "description": "Storage class name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Storage class type.", + "type": "string", + "readOnly": true + }, + "posixCompliant": { + "description": "If provisioned storage is posix compliant.", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PosixComplianceStatus", + "modelAsString": true + } + } + } + }, + "LoadBalancerConfig": { + "description": "Load balancer configuration", + "type": "object", + "properties": { + "type": { + "description": "Load balancer type", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Load balancer version", + "type": "string", + "readOnly": true + } + } + }, + "MECRole": { + "description": "MEC role.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Role" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MECRoleProperties", + "description": "Properties specific to MEC role.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "MEC" + }, + "MECRoleProperties": { + "description": "MEC role properties.", + "required": [ + "roleStatus" + ], + "type": "object", + "properties": { + "connectionString": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Activation key of the MEC." + }, + "controllerEndpoint": { + "description": "Controller Endpoint.", + "type": "string" + }, + "resourceUniqueId": { + "description": "Unique Id of the Resource.", + "type": "string" + }, + "roleStatus": { + "description": "Role status.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleStatus", + "modelAsString": true + } + } + } + }, + "MetricConfiguration": { + "description": "Metric configuration.", + "required": [ + "resourceId", + "counterSets" + ], + "type": "object", + "properties": { + "resourceId": { + "description": "The Resource ID on which the metrics should be pushed.", + "type": "string" + }, + "mdmAccount": { + "description": "The MDM account to which the counters should be pushed.", + "type": "string" + }, + "metricNameSpace": { + "description": "The MDM namespace to which the counters should be pushed. This is required if MDMAccount is specified", + "type": "string" + }, + "counterSets": { + "description": "Host name for the IoT hub associated to the device.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricCounterSet" + } + } + } + }, + "MetricCounter": { + "description": "The metric counter", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The counter name.", + "type": "string" + }, + "instance": { + "description": "The instance from which counter should be collected.", + "type": "string" + }, + "dimensionFilter": { + "description": "The dimension filter.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension" + } + }, + "additionalDimensions": { + "description": "The additional dimensions to be added to metric.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension" + } + } + } + }, + "MetricCounterSet": { + "description": "The metric counter set", + "required": [ + "counters" + ], + "type": "object", + "properties": { + "counters": { + "description": "The counters that should be collected in this set.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricCounter" + } + } + } + }, + "MetricDimension": { + "description": "The metric dimension", + "required": [ + "sourceType", + "sourceName" + ], + "type": "object", + "properties": { + "sourceType": { + "description": "The dimension type.", + "type": "string" + }, + "sourceName": { + "description": "The dimension value.", + "type": "string" + } + } + }, + "MetricDimension_V1": { + "description": "Metric Dimension v1.", + "type": "object", + "properties": { + "name": { + "description": "Name of the metrics dimension.", + "type": "string" + }, + "displayName": { + "description": "Display name of the metrics dimension.", + "type": "string" + }, + "toBeExportedForShoebox": { + "description": "To be exported to shoe box.", + "type": "boolean" + } + } + }, + "MetricSpecification_V1": { + "description": "Metric specification version 1.", + "type": "object", + "properties": { + "name": { + "description": "Name of the metric.", + "type": "string" + }, + "displayName": { + "description": "Display name of the metric.", + "type": "string" + }, + "displayDescription": { + "description": "Description of the metric to be displayed.", + "type": "string" + }, + "unit": { + "description": "Metric units.", + "enum": [ + "NotSpecified", + "Percent", + "Count", + "Seconds", + "Milliseconds", + "Bytes", + "BytesPerSecond", + "CountPerSecond" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricUnit", + "modelAsString": true + } + }, + "aggregationType": { + "description": "Metric aggregation type.", + "enum": [ + "NotSpecified", + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricAggregationType", + "modelAsString": true + } + }, + "dimensions": { + "description": "Metric dimensions, other than default dimension which is resource.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension_V1" + } + }, + "fillGapWithZero": { + "description": "Set true to fill the gaps with zero.", + "type": "boolean" + }, + "category": { + "description": "Metric category.", + "enum": [ + "Capacity", + "Transaction" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricCategory", + "modelAsString": true + } + }, + "resourceIdDimensionNameOverride": { + "description": "Resource name override.", + "type": "string" + }, + "supportedTimeGrainTypes": { + "description": "Support granularity of metrics.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "PT1M", + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "PT1D" + ], + "type": "string", + "x-ms-enum": { + "name": "TimeGrain", + "modelAsString": true + } + } + }, + "supportedAggregationTypes": { + "description": "Support metric aggregation type.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "NotSpecified", + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricAggregationType", + "modelAsString": true + } + } + } + } + }, + "MonitoringMetricConfiguration": { + "description": "The metric setting details for the role", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "MonitoringConfiguration on ASE device", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/MonitoringMetricConfigurationProperties", + "description": "The metric setting properties.", + "x-ms-client-flatten": true + } + } + }, + "MonitoringMetricConfigurationList": { + "description": "Collection of metric configurations.", + "type": "object", + "properties": { + "value": { + "description": "The list of metric configurations.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MonitoringMetricConfiguration" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "MonitoringMetricConfigurationProperties": { + "description": "Metrics properties", + "required": [ + "metricConfigurations" + ], + "type": "object", + "properties": { + "metricConfigurations": { + "description": "The metrics configuration details", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricConfiguration" + } + } + } + }, + "MountPointMap": { + "description": "The share mount point.", + "required": [ + "shareId" + ], + "type": "object", + "properties": { + "shareId": { + "description": "ID of the share mounted to the role VM.", + "type": "string" + }, + "roleId": { + "description": "ID of the role to which share is mounted.", + "type": "string", + "readOnly": true + }, + "mountPoint": { + "description": "Mount point for the share.", + "type": "string", + "readOnly": true + }, + "mountType": { + "description": "Mounting type.", + "enum": [ + "Volume", + "HostPath" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MountType", + "modelAsString": true + } + }, + "roleType": { + "description": "Role type.", + "enum": [ + "IOT", + "ASA", + "Functions", + "Cognitive", + "MEC", + "CloudEdgeManagement", + "Kubernetes" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RoleTypes", + "modelAsString": true + } + } + } + }, + "NetworkAdapter": { + "description": "Represents the networkAdapter on a device.", + "type": "object", + "properties": { + "adapterId": { + "description": "Instance ID of network adapter.", + "type": "string", + "readOnly": true + }, + "adapterPosition": { + "$ref": "#/definitions/NetworkAdapterPosition", + "description": "Hardware position of network adapter.", + "readOnly": true + }, + "index": { + "format": "int32", + "description": "Logical index of the adapter.", + "type": "integer", + "readOnly": true + }, + "nodeId": { + "description": "Node ID of the network adapter.", + "type": "string", + "readOnly": true + }, + "networkAdapterName": { + "description": "Network adapter name.", + "type": "string", + "readOnly": true + }, + "label": { + "description": "Hardware label for the adapter.", + "type": "string", + "readOnly": true + }, + "macAddress": { + "description": "MAC address.", + "type": "string", + "readOnly": true + }, + "linkSpeed": { + "format": "int64", + "description": "Link speed.", + "type": "integer", + "readOnly": true + }, + "status": { + "description": "Value indicating whether this adapter is valid.", + "enum": [ + "Inactive", + "Active" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "NetworkAdapterStatus", + "modelAsString": true + } + }, + "rdmaStatus": { + "description": "Value indicating whether this adapter is RDMA capable.", + "enum": [ + "Incapable", + "Capable" + ], + "type": "string", + "x-ms-enum": { + "name": "NetworkAdapterRDMAStatus", + "modelAsString": true + } + }, + "dhcpStatus": { + "description": "Value indicating whether this adapter has DHCP enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "NetworkAdapterDHCPStatus", + "modelAsString": true + } + }, + "ipv4Configuration": { + "$ref": "#/definitions/Ipv4Config", + "description": "The IPv4 configuration of the network adapter.", + "readOnly": true + }, + "ipv6Configuration": { + "$ref": "#/definitions/Ipv6Config", + "description": "The IPv6 configuration of the network adapter.", + "readOnly": true + }, + "ipv6LinkLocalAddress": { + "description": "The IPv6 local address.", + "type": "string", + "readOnly": true + }, + "dnsServers": { + "description": "The list of DNS Servers of the device.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "NetworkAdapterPosition": { + "description": "The network adapter position.", + "type": "object", + "properties": { + "networkGroup": { + "description": "The network group.", + "enum": [ + "None", + "NonRDMA", + "RDMA" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "NetworkGroup", + "modelAsString": true + } + }, + "port": { + "format": "int32", + "description": "The port.", + "type": "integer", + "readOnly": true + } + } + }, + "NetworkSettings": { + "description": "The network settings of a device.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "NetworkSettings on ASE device", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/NetworkSettingsProperties", + "description": "The properties of network settings of a device.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "NetworkSettingsProperties": { + "description": "The properties of network settings.", + "type": "object", + "properties": { + "networkAdapters": { + "description": "The network adapter list on the device.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/NetworkAdapter" + }, + "readOnly": true + } + } + }, + "Node": { + "description": "Represents a single node in a Data box Edge/Gateway device\r\nGateway devices, standalone Edge devices and a single node cluster Edge device will all have 1 node\r\nMulti-node Edge devices will have more than 1 nodes", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/NodeProperties", + "description": "The properties of the node", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "NodeInfo": { + "description": "Kubernetes node info", + "type": "object", + "properties": { + "name": { + "description": "Node name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Node type - Master/Worker", + "enum": [ + "Invalid", + "Master", + "Worker" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "KubernetesNodeType", + "modelAsString": true + } + }, + "ipConfiguration": { + "description": "IP Configuration of the Kubernetes node.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/KubernetesIPConfiguration" + } + } + } + }, + "NodeList": { + "description": "Collection of Nodes.", + "type": "object", + "properties": { + "value": { + "description": "The list of Nodes.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Node" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "NodeProperties": { + "description": "This class represents the nodes in a highly available cluster", + "type": "object", + "properties": { + "nodeStatus": { + "description": "The current status of the individual node", + "enum": [ + "Unknown", + "Up", + "Down", + "Rebooting", + "ShuttingDown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "NodeStatus", + "modelAsString": true + } + }, + "nodeChassisSerialNumber": { + "description": "Serial number of the Chassis", + "type": "string", + "readOnly": true + }, + "nodeSerialNumber": { + "description": "Serial number of the individual node", + "type": "string", + "readOnly": true + }, + "nodeDisplayName": { + "description": "Display Name of the individual node", + "type": "string", + "readOnly": true + }, + "nodeFriendlySoftwareVersion": { + "description": "Friendly software version name that is currently installed on the node", + "type": "string", + "readOnly": true + }, + "nodeHcsVersion": { + "description": "HCS version that is currently installed on the node", + "type": "string", + "readOnly": true + }, + "nodeInstanceId": { + "description": "Guid instance id of the node", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "Operations.", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation.", + "type": "string" + }, + "isDataAction": { + "description": "Is data action.", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Properties displayed for the operation." + }, + "origin": { + "description": "Origin of the operation.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Operation properties.", + "x-ms-client-flatten": true + } + } + }, + "OperationDisplay": { + "description": "Operation display properties.", + "type": "object", + "properties": { + "provider": { + "description": "Provider name.", + "type": "string" + }, + "resource": { + "description": "The type of resource in which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Operation to be performed on the resource.", + "type": "string" + }, + "description": { + "description": "Description of the operation to be performed.", + "type": "string" + } + } + }, + "OperationProperties": { + "description": "Operation properties.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "Service specification." + } + } + }, + "OperationsList": { + "description": "The list of operations used for the discovery of available provider operations.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "The value.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string" + } + } + }, + "Order": { + "description": "The order details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "Order configured on ASE resource", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/OrderProperties", + "description": "The order properties.", + "x-ms-client-flatten": true + } + } + }, + "OrderList": { + "description": "List of order entities.", + "type": "object", + "properties": { + "value": { + "description": "The list of orders.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Order" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "OrderProperties": { + "description": "Order properties.", + "required": [ + "contactInformation" + ], + "type": "object", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactDetails", + "description": "The contact details." + }, + "shippingAddress": { + "$ref": "#/definitions/Address", + "description": "The shipping address." + }, + "currentStatus": { + "$ref": "#/definitions/OrderStatus", + "description": "Current status of the order.", + "readOnly": true + }, + "orderHistory": { + "description": "List of status changes in the order.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OrderStatus" + }, + "readOnly": true + }, + "serialNumber": { + "description": "Serial number of the device.", + "type": "string", + "readOnly": true + }, + "deliveryTrackingInfo": { + "description": "Tracking information for the package delivered to the customer whether it has an original or a replacement device.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/TrackingInfo" + }, + "readOnly": true + }, + "returnTrackingInfo": { + "description": "Tracking information for the package returned from the customer whether it has an original or a replacement device.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/TrackingInfo" + }, + "readOnly": true + }, + "shipmentType": { + "description": "ShipmentType of the order", + "enum": [ + "NotApplicable", + "ShippedToCustomer", + "SelfPickup" + ], + "type": "string", + "x-ms-enum": { + "name": "ShipmentType", + "modelAsString": true + } + } + } + }, + "OrderStatus": { + "description": "Represents a single status change.", + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "description": "Status of the order as per the allowed status types.", + "enum": [ + "Untracked", + "AwaitingFulfillment", + "AwaitingPreparation", + "AwaitingShipment", + "Shipped", + "Arriving", + "Delivered", + "ReplacementRequested", + "LostDevice", + "Declined", + "ReturnInitiated", + "AwaitingReturnShipment", + "ShippedBack", + "CollectedAtMicrosoft", + "AwaitingPickup", + "PickupCompleted", + "AwaitingDrop" + ], + "type": "string", + "x-ms-enum": { + "name": "OrderState", + "modelAsString": true + } + }, + "updateDateTime": { + "format": "date-time", + "description": "Time of status update.", + "type": "string", + "readOnly": true + }, + "comments": { + "description": "Comments related to this status change.", + "type": "string" + }, + "trackingInformation": { + "$ref": "#/definitions/TrackingInfo", + "description": "Tracking information related to the state in the ordering flow", + "readOnly": true + }, + "additionalOrderDetails": { + "description": "Dictionary to hold generic information which is not stored\r\nby the already existing properties", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "PeriodicTimerEventTrigger": { + "description": "Trigger details.", + "required": [ + "properties", + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Trigger" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PeriodicTimerProperties", + "description": "Periodic timer trigger properties.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "PeriodicTimerEvent" + }, + "PeriodicTimerProperties": { + "description": "Periodic timer trigger properties.", + "required": [ + "sourceInfo", + "sinkInfo" + ], + "type": "object", + "properties": { + "sourceInfo": { + "$ref": "#/definitions/PeriodicTimerSourceInfo", + "description": "Periodic timer details." + }, + "sinkInfo": { + "$ref": "#/definitions/RoleSinkInfo", + "description": "Role Sink information." + }, + "customContextTag": { + "description": "A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module.", + "maxLength": 192, + "type": "string" + } + } + }, + "PeriodicTimerSourceInfo": { + "description": "Periodic timer event source.", + "required": [ + "startTime", + "schedule" + ], + "type": "object", + "properties": { + "startTime": { + "format": "date-time", + "description": "The time of the day that results in a valid trigger. Schedule is computed with reference to the time specified upto seconds. If timezone is not specified the time will considered to be in device timezone. The value will always be returned as UTC time.", + "type": "string" + }, + "schedule": { + "description": "Periodic frequency at which timer event needs to be raised. Supports daily, hourly, minutes, and seconds.", + "type": "string" + }, + "topic": { + "description": "Topic where periodic events are published to IoT device.", + "type": "string" + } + } + }, + "ProactiveLogCollectionSettingsProperties": { + "description": "The properties of proactive log collection settings.", + "required": [ + "userConsent" + ], + "type": "object", + "properties": { + "userConsent": { + "description": "Proactive diagnostic collection consent flag", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ProactiveDiagnosticsConsent", + "modelAsString": true + } + } + } + }, + "RawCertificateData": { + "description": "Raw Certificate Data.", + "required": [ + "certificate" + ], + "type": "object", + "properties": { + "authenticationType": { + "description": "The authentication type.", + "enum": [ + "Invalid", + "AzureActiveDirectory" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + }, + "certificate": { + "description": "The base64 encoded certificate raw data.", + "type": "string" + } + } + }, + "RefreshDetails": { + "description": "Fields for tracking refresh job on the share or container.", + "type": "object", + "properties": { + "inProgressRefreshJobId": { + "description": "If a refresh job is currently in progress on this share or container, this field indicates the ARM resource ID of that job. The field is empty if no job is in progress.", + "type": "string" + }, + "lastCompletedRefreshJobTimeInUTC": { + "format": "date-time", + "description": "Indicates the completed time for the last refresh job on this particular share or container, if any.This could be a failed job or a successful job.", + "type": "string" + }, + "errorManifestFile": { + "description": "Indicates the relative path of the error xml for the last refresh job on this particular share or container, if any. This could be a failed job or a successful job.", + "type": "string" + }, + "lastJob": { + "description": "Indicates the id of the last refresh job on this particular share or container,if any. This could be a failed job or a successful job.", + "type": "string" + } + } + }, + "RemoteSupportSettings": { + "description": "RemoteApplicationType for which remote support settings is being modified", + "type": "object", + "properties": { + "remoteApplicationType": { + "description": "Remote application type", + "enum": [ + "Powershell", + "WAC", + "LocalUI", + "AllApplications" + ], + "type": "string", + "x-ms-enum": { + "name": "RemoteApplicationType", + "modelAsString": true + } + }, + "accessLevel": { + "description": "Access level allowed for this remote application type", + "enum": [ + "None", + "ReadOnly", + "ReadWrite", + "FullAccess" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessLevel", + "modelAsString": true + } + }, + "expirationTimeStampInUTC": { + "format": "date-time", + "description": "Expiration time stamp", + "type": "string" + } + } + }, + "ResourceIdentity": { + "description": "Msi identity details of the resource", + "type": "object", + "properties": { + "type": { + "description": "Identity type", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "MsiIdentityType", + "modelAsString": true + } + }, + "principalId": { + "description": "Service Principal Id backing the Msi", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Home Tenant Id", + "type": "string", + "readOnly": true + } + } + }, + "ResourceMoveDetails": { + "description": "Fields for tracking resource move", + "type": "object", + "properties": { + "operationInProgress": { + "description": "Denotes whether move operation is in progress", + "enum": [ + "None", + "ResourceMoveInProgress", + "ResourceMoveFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceMoveStatus", + "modelAsString": true + } + }, + "operationInProgressLockTimeoutInUTC": { + "format": "date-time", + "description": "Denotes the timeout of the operation to finish", + "type": "string" + } + } + }, + "ResourceTypeSku": { + "description": "Resource type Sku object", + "type": "object", + "properties": { + "resourceType": { + "description": "The resource type.", + "type": "string", + "readOnly": true + }, + "skus": { + "description": "The skus.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SkuInformation" + }, + "readOnly": true + } + } + }, + "Role": { + "description": "Compute role.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "kind": { + "description": "Role type.", + "enum": [ + "IOT", + "ASA", + "Functions", + "Cognitive", + "MEC", + "CloudEdgeManagement", + "Kubernetes" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleTypes", + "modelAsString": true + } + }, + "systemData": { + "description": "Role configured on ASE resource", + "$ref": "#/definitions/SystemData" + } + }, + "discriminator": "kind" + }, + "RoleList": { + "description": "Collection of all the roles on the Data Box Edge device.", + "type": "object", + "properties": { + "value": { + "description": "The Value.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Role" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "RoleSinkInfo": { + "description": "Compute role against which events will be raised.", + "required": [ + "roleId" + ], + "type": "object", + "properties": { + "roleId": { + "description": "Compute role ID.", + "type": "string" + } + } + }, + "Secret": { + "description": "Holds device secret either as a KeyVault reference or as an encrypted value.", + "type": "object", + "properties": { + "encryptedSecret": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Encrypted (using device public key) secret value." + }, + "keyVaultId": { + "description": "Id of the Key-Vault where secret is stored (ex: secrets/AuthClientSecret/82ef4346187a4033a10d629cde07d740).", + "type": "string" + } + } + }, + "SecuritySettings": { + "description": "The security settings of a device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SecuritySettingsProperties", + "description": "Properties of the security settings.", + "x-ms-client-flatten": true + } + } + }, + "SecuritySettingsProperties": { + "description": "The properties of security settings.", + "required": [ + "deviceAdminPassword" + ], + "type": "object", + "properties": { + "deviceAdminPassword": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Device administrator password as an encrypted string (encrypted using RSA PKCS #1) is used to sign into the local web UI of the device. The Actual password should have at least 8 characters that are a combination of uppercase, lowercase, numeric, and special characters." + } + } + }, + "ServiceSpecification": { + "description": "Service specification.", + "type": "object", + "properties": { + "metricSpecifications": { + "description": "Metric specification as defined by shoebox.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification_V1" + } + } + } + }, + "Share": { + "description": "Represents a share on the Data Box Edge/Gateway device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "Share on ASE device", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/ShareProperties", + "description": "The share properties.", + "x-ms-client-flatten": true + } + } + }, + "ShareAccessRight": { + "description": "Specifies the mapping between this particular user and the type of access he has on shares on this device.", + "required": [ + "shareId", + "accessType" + ], + "type": "object", + "properties": { + "shareId": { + "description": "The share ID.", + "type": "string" + }, + "accessType": { + "description": "Type of access to be allowed on the share for this user.", + "enum": [ + "Change", + "Read", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "ShareAccessType", + "modelAsString": true + } + } + } + }, + "ShareList": { + "description": "Collection of all the shares on the Data Box Edge/Gateway device.", + "type": "object", + "properties": { + "value": { + "description": "The list of shares.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Share" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "ShareProperties": { + "description": "The share properties.", + "required": [ + "shareStatus", + "monitoringStatus", + "accessProtocol" + ], + "type": "object", + "properties": { + "description": { + "description": "Description for the share.", + "type": "string" + }, + "shareStatus": { + "description": "Current status of the share.", + "enum": [ + "Offline", + "Unknown", + "OK", + "Updating", + "NeedsAttention" + ], + "type": "string", + "x-ms-enum": { + "name": "ShareStatus", + "modelAsString": true + } + }, + "monitoringStatus": { + "description": "Current monitoring status of the share.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "MonitoringStatus", + "modelAsString": true + } + }, + "azureContainerInfo": { + "$ref": "#/definitions/AzureContainerInfo", + "description": "Azure container mapping for the share." + }, + "accessProtocol": { + "description": "Access protocol to be used by the share.", + "enum": [ + "SMB", + "NFS" + ], + "type": "string", + "x-ms-enum": { + "name": "ShareAccessProtocol", + "modelAsString": true + } + }, + "userAccessRights": { + "description": "Mapping of users and corresponding access rights on the share (required for SMB protocol).", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/UserAccessRight" + } + }, + "clientAccessRights": { + "description": "List of IP addresses and corresponding access rights on the share(required for NFS protocol).", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ClientAccessRight" + } + }, + "refreshDetails": { + "$ref": "#/definitions/RefreshDetails", + "description": "Details of the refresh job on this share." + }, + "shareMappings": { + "description": "Share mount point to the role.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MountPointMap" + }, + "readOnly": true + }, + "dataPolicy": { + "description": "Data policy of the share.", + "enum": [ + "Cloud", + "Local" + ], + "type": "string", + "x-ms-enum": { + "name": "DataPolicy", + "modelAsString": true + } + } + } + }, + "Sku": { + "description": "The SKU type.", + "type": "object", + "properties": { + "name": { + "description": "SKU name.", + "enum": [ + "Gateway", + "Edge", + "TEA_1Node", + "TEA_1Node_UPS", + "TEA_1Node_Heater", + "TEA_1Node_UPS_Heater", + "TEA_4Node_Heater", + "TEA_4Node_UPS_Heater", + "TMA", + "TDC", + "TCA_Small", + "GPU", + "TCA_Large", + "EdgeP_Base", + "EdgeP_High", + "EdgePR_Base", + "EdgePR_Base_UPS", + "EP2_64_1VPU_W", + "EP2_128_1T4_Mx1_W", + "EP2_256_2T4_W", + "EdgeMR_Mini", + "RCA_Small", + "RCA_Large", + "RDC", + "Management" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "tier": { + "description": "The SKU tier. This is based on the SKU name.", + "enum": [ + "Standard" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + } + } + }, + "SkuCapability": { + "description": "The metadata to describe the capability.", + "type": "object", + "properties": { + "name": { + "description": "An invariant to describe the feature.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "An invariant if the feature is measured by quantity.", + "type": "string", + "readOnly": true + } + } + }, + "SkuCost": { + "description": "The metadata for retrieving price info.", + "type": "object", + "properties": { + "meterId": { + "description": "Used for querying price from commerce.", + "type": "string", + "readOnly": true + }, + "quantity": { + "format": "int64", + "description": "The cost quantity.", + "type": "integer", + "readOnly": true + }, + "extendedUnit": { + "description": "The extended unit.", + "type": "string", + "readOnly": true + } + } + }, + "SkuInformation": { + "description": "Sku information", + "type": "object", + "properties": { + "name": { + "description": "The sku name.", + "type": "string", + "readOnly": true + }, + "tier": { + "description": "The sku tier.", + "type": "string", + "readOnly": true + }, + "kind": { + "description": "The sku kind.", + "type": "string", + "readOnly": true + }, + "family": { + "description": "The Sku family.", + "type": "string", + "readOnly": true + }, + "costs": { + "description": "The pricing info of the Sku.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SkuCost" + }, + "readOnly": true + }, + "locations": { + "description": "The locations where Sku is available.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "locationInfo": { + "description": "The locations where Sku is available with zones and sites info", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SkuLocationInfo" + }, + "readOnly": true + }, + "requiredQuotaIds": { + "description": "The required quotaIds for the sku to be available.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredFeatures": { + "description": "The required features for the sku to be available.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "SkuInformationList": { + "description": "List of SKU Information objects", + "type": "object", + "properties": { + "value": { + "description": "List of ResourceTypeSku objects", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceTypeSku" + }, + "readOnly": true + }, + "nextLink": { + "description": "Links to the next set of results", + "type": "string", + "readOnly": true + } + } + }, + "SkuLocationInfo": { + "description": "The location info.", + "type": "object", + "properties": { + "location": { + "description": "The location.", + "type": "string", + "readOnly": true + }, + "zones": { + "description": "The zones.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "sites": { + "description": "The sites.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "StorageAccount": { + "description": "Represents a Storage Account on the Data Box Edge/Gateway device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "StorageAccount object on ASE device", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/StorageAccountProperties", + "description": "The Storage Account properties.", + "x-ms-client-flatten": true + } + } + }, + "StorageAccountCredential": { + "description": "The storage account credential.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "StorageAccountCredential object", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/StorageAccountCredentialProperties", + "description": "The storage account credential properties.", + "x-ms-client-flatten": true + } + } + }, + "StorageAccountCredentialList": { + "description": "The collection of storage account credentials.", + "type": "object", + "properties": { + "value": { + "description": "The value.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccountCredential" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "StorageAccountCredentialProperties": { + "description": "The storage account credential properties.", + "required": [ + "alias", + "sslStatus", + "accountType" + ], + "type": "object", + "properties": { + "alias": { + "description": "Alias for the storage account.", + "type": "string" + }, + "userName": { + "description": "Username for the storage account.", + "type": "string" + }, + "accountKey": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Encrypted storage key." + }, + "connectionString": { + "description": "Connection string for the storage account. Use this string if username and account key are not specified.", + "type": "string" + }, + "sslStatus": { + "description": "Signifies whether SSL needs to be enabled or not.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "SSLStatus", + "modelAsString": true + } + }, + "blobDomainName": { + "description": "Blob end point for private clouds.", + "type": "string" + }, + "accountType": { + "description": "Type of storage accessed on the storage account.", + "enum": [ + "GeneralPurposeStorage", + "BlobStorage" + ], + "type": "string", + "x-ms-enum": { + "name": "AccountType", + "modelAsString": true + } + }, + "storageAccountId": { + "description": "Id of the storage account.", + "type": "string" + } + } + }, + "StorageAccountList": { + "description": "Collection of all the Storage Accounts on the Data Box Edge/Gateway device.", + "type": "object", + "properties": { + "value": { + "description": "The list of storageAccounts.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccount" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "StorageAccountProperties": { + "description": "The storage account properties.", + "required": [ + "dataPolicy" + ], + "type": "object", + "properties": { + "description": { + "description": "Description for the storage Account.", + "type": "string" + }, + "storageAccountStatus": { + "description": "Current status of the storage account", + "enum": [ + "OK", + "Offline", + "Unknown", + "Updating", + "NeedsAttention" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageAccountStatus", + "modelAsString": true + } + }, + "dataPolicy": { + "description": "Data policy of the storage Account.", + "enum": [ + "Cloud", + "Local" + ], + "type": "string", + "x-ms-enum": { + "name": "DataPolicy", + "modelAsString": true + } + }, + "storageAccountCredentialId": { + "description": "Storage Account Credential Id", + "type": "string" + }, + "blobEndpoint": { + "description": "BlobEndpoint of Storage Account", + "type": "string", + "readOnly": true + }, + "containerCount": { + "format": "int32", + "description": "The Container Count. Present only for Storage Accounts with DataPolicy set to Cloud.", + "type": "integer", + "readOnly": true + } + } + }, + "SubscriptionProperties": { + "type": "object", + "properties": { + "tenantId": { + "type": "string" + }, + "locationPlacementId": { + "type": "string" + }, + "quotaId": { + "type": "string" + }, + "serializedDetails": { + "type": "string" + }, + "registeredFeatures": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionRegisteredFeatures" + } + } + } + }, + "SubscriptionRegisteredFeatures": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "SupportPackageRequestProperties": { + "description": "The share properties.", + "type": "object", + "properties": { + "minimumTimeStamp": { + "format": "date-time", + "description": "Start of the timespan of the log collection", + "type": "string" + }, + "maximumTimeStamp": { + "format": "date-time", + "description": "MaximumTimeStamp until where logs need to be collected", + "type": "string" + }, + "include": { + "description": "Type of files, which need to be included in the logs\r\nThis will contain the type of logs (Default/DefaultWithDumps/None/All/DefaultWithArchived)\r\nor a comma separated list of log types that are required", + "type": "string" + } + } + }, + "SymmetricKey": { + "description": "Symmetric key for authentication.", + "type": "object", + "properties": { + "connectionString": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Connection string based on the symmetric key." + } + } + }, + "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." + } + } + }, + "TrackingInfo": { + "description": "Tracking courier information.", + "type": "object", + "properties": { + "serialNumber": { + "description": "Serial number of the device being tracked.", + "type": "string" + }, + "carrierName": { + "description": "Name of the carrier used in the delivery.", + "type": "string" + }, + "trackingId": { + "description": "Tracking ID of the shipment.", + "type": "string" + }, + "trackingUrl": { + "description": "Tracking URL of the shipment.", + "type": "string" + } + } + }, + "Trigger": { + "description": "Trigger details.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "Trigger in DataBoxEdge Resource", + "$ref": "#/definitions/SystemData" + }, + "kind": { + "description": "Trigger Kind.", + "enum": [ + "FileEvent", + "PeriodicTimerEvent" + ], + "type": "string", + "x-ms-enum": { + "name": "TriggerEventType", + "modelAsString": true + } + } + }, + "discriminator": "kind" + }, + "TriggerList": { + "description": "Collection of all trigger on the data box edge device.", + "type": "object", + "properties": { + "value": { + "description": "The list of triggers.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Trigger" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "TriggerSupportPackageRequest": { + "description": "The request object for trigger support package.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SupportPackageRequestProperties", + "description": "The TriggerSupportPackageRequest properties.", + "x-ms-client-flatten": true + } + } + }, + "UpdateDetails": { + "description": "Update Specific attributes", + "type": "object", + "properties": { + "updateTitle": { + "description": "Title of the Update", + "type": "string" + }, + "updateSize": { + "format": "double", + "description": "Size of the update(In Bytes)", + "type": "number" + }, + "updateType": { + "description": "Type of the Update", + "enum": [ + "Software", + "Kubernetes", + "Firmware" + ], + "type": "string", + "x-ms-enum": { + "name": "UpdateType", + "modelAsString": true + } + }, + "targetVersion": { + "description": "Target Version number", + "type": "string" + }, + "friendlyVersionNumber": { + "description": "Friendly Version Number", + "type": "string" + }, + "estimatedInstallTimeInMins": { + "format": "int32", + "description": "Estimated Install Time for the update", + "type": "integer" + }, + "rebootBehavior": { + "description": "Indicates if updates are available and at least one of the updates needs a reboot.", + "enum": [ + "NeverReboots", + "RequiresReboot", + "RequestReboot" + ], + "type": "string", + "x-ms-enum": { + "name": "InstallRebootBehavior", + "modelAsString": true + } + }, + "installationImpact": { + "description": "Impact of Installing an updateType", + "enum": [ + "None", + "DeviceRebooted", + "KubernetesWorkloadsDown" + ], + "type": "string", + "x-ms-enum": { + "name": "InstallationImpact", + "modelAsString": true + } + }, + "status": { + "description": "Status of the update.", + "enum": [ + "DownloadPending", + "DownloadStarted", + "DownloadCompleted", + "InstallStarted", + "InstallCompleted" + ], + "type": "string", + "x-ms-enum": { + "name": "UpdateStatus", + "modelAsString": true + } + } + } + }, + "UpdateDownloadProgress": { + "description": "Details about the download progress of update.", + "type": "object", + "properties": { + "downloadPhase": { + "description": "The download phase.", + "enum": [ + "Unknown", + "Initializing", + "Downloading", + "Verifying" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DownloadPhase", + "modelAsString": true + } + }, + "percentComplete": { + "format": "int32", + "description": "Percentage of completion.", + "type": "integer", + "readOnly": true + }, + "totalBytesToDownload": { + "format": "double", + "description": "Total bytes to download.", + "type": "number", + "readOnly": true + }, + "totalBytesDownloaded": { + "format": "double", + "description": "Total bytes downloaded.", + "type": "number", + "readOnly": true + }, + "numberOfUpdatesToDownload": { + "format": "int32", + "description": "Number of updates to download.", + "type": "integer", + "readOnly": true + }, + "numberOfUpdatesDownloaded": { + "format": "int32", + "description": "Number of updates downloaded.", + "type": "integer", + "readOnly": true + } + } + }, + "UpdateInstallProgress": { + "description": "Progress details during installation of updates.", + "type": "object", + "properties": { + "percentComplete": { + "format": "int32", + "description": "Percentage completed.", + "type": "integer", + "readOnly": true + }, + "numberOfUpdatesToInstall": { + "format": "int32", + "description": "Number of updates to install.", + "type": "integer", + "readOnly": true + }, + "numberOfUpdatesInstalled": { + "format": "int32", + "description": "Number of updates installed.", + "type": "integer", + "readOnly": true + } + } + }, + "UpdateSummary": { + "description": "Details about ongoing updates and availability of updates on the device.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "UpdateSummary Result", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/UpdateSummaryProperties", + "description": "The device update information summary.", + "x-ms-client-flatten": true + } + } + }, + "UpdateSummaryProperties": { + "description": "The device update information summary.", + "type": "object", + "properties": { + "deviceVersionNumber": { + "description": "The current version of the device in format: 1.2.17312.13.\",", + "type": "string" + }, + "friendlyDeviceVersionName": { + "description": "The current version of the device in text format.", + "type": "string" + }, + "deviceLastScannedDateTime": { + "format": "date-time", + "description": "The last time when a scan was done on the device.", + "type": "string" + }, + "lastCompletedScanJobDateTime": { + "format": "date-time", + "description": "The time when the last scan job was completed (success/cancelled/failed) on the appliance.", + "type": "string" + }, + "lastSuccessfulScanJobTime": { + "format": "date-time", + "description": "Time when the last scan job is successfully completed.", + "type": "string" + }, + "lastCompletedDownloadJobDateTime": { + "format": "date-time", + "description": "The time when the last Download job was completed (success/cancelled/failed) on the appliance.", + "type": "string", + "readOnly": true + }, + "lastCompletedDownloadJobId": { + "description": "JobId of the last ran download job.(Can be success/cancelled/failed)", + "type": "string", + "readOnly": true + }, + "lastDownloadJobStatus": { + "description": "JobStatus of the last ran download job.", + "enum": [ + "Invalid", + "Running", + "Succeeded", + "Failed", + "Canceled", + "Paused", + "Scheduled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "lastSuccessfulInstallJobDateTime": { + "format": "date-time", + "description": "The time when the Last Install job was completed successfully on the appliance", + "type": "string" + }, + "lastCompletedInstallJobDateTime": { + "format": "date-time", + "description": "The time when the last Install job was completed (success/cancelled/failed) on the appliance.", + "type": "string", + "readOnly": true + }, + "lastCompletedInstallJobId": { + "description": "JobId of the last ran install job.(Can be success/cancelled/failed)", + "type": "string", + "readOnly": true + }, + "lastInstallJobStatus": { + "description": "JobStatus of the last ran install job.", + "enum": [ + "Invalid", + "Running", + "Succeeded", + "Failed", + "Canceled", + "Paused", + "Scheduled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "totalNumberOfUpdatesAvailable": { + "format": "int32", + "description": "The number of updates available for the current device version as per the last device scan.", + "type": "integer", + "readOnly": true + }, + "totalNumberOfUpdatesPendingDownload": { + "format": "int32", + "description": "The total number of items pending download.", + "type": "integer", + "readOnly": true + }, + "totalNumberOfUpdatesPendingInstall": { + "format": "int32", + "description": "The total number of items pending install.", + "type": "integer", + "readOnly": true + }, + "rebootBehavior": { + "description": "Indicates if updates are available and at least one of the updates needs a reboot.", + "enum": [ + "NeverReboots", + "RequiresReboot", + "RequestReboot" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "InstallRebootBehavior", + "modelAsString": true + } + }, + "ongoingUpdateOperation": { + "description": "The current update operation.", + "enum": [ + "None", + "Scan", + "Download", + "Install" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "UpdateOperation", + "modelAsString": true + } + }, + "inProgressDownloadJobId": { + "description": "The job ID of the download job in progress.", + "type": "string", + "readOnly": true + }, + "inProgressInstallJobId": { + "description": "The job ID of the install job in progress.", + "type": "string", + "readOnly": true + }, + "inProgressDownloadJobStartedDateTime": { + "format": "date-time", + "description": "The time when the currently running download (if any) started.", + "type": "string", + "readOnly": true + }, + "inProgressInstallJobStartedDateTime": { + "format": "date-time", + "description": "The time when the currently running install (if any) started.", + "type": "string", + "readOnly": true + }, + "updateTitles": { + "description": "The list of updates available for install.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "updates": { + "description": "The list of updates available for install.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/UpdateDetails" + }, + "readOnly": true + }, + "totalUpdateSizeInBytes": { + "format": "double", + "description": "The total size of updates available for download in bytes.", + "type": "number", + "readOnly": true + }, + "totalTimeInMinutes": { + "format": "int32", + "description": "The total time in Minutes", + "type": "integer", + "readOnly": true + } + } + }, + "UploadCertificateRequest": { + "description": "The upload certificate request.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RawCertificateData", + "description": "The Base 64 encoded certificate raw data.", + "x-ms-client-flatten": true + } + } + }, + "UploadCertificateResponse": { + "description": "The upload registration certificate response.", + "type": "object", + "properties": { + "authType": { + "description": "Specifies authentication type.", + "enum": [ + "Invalid", + "AzureActiveDirectory" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + }, + "resourceId": { + "description": "The resource ID of the Data Box Edge/Gateway device.", + "type": "string", + "readOnly": true + }, + "aadAuthority": { + "description": "Azure Active Directory tenant authority.", + "type": "string", + "readOnly": true + }, + "aadTenantId": { + "description": "Azure Active Directory tenant ID.", + "type": "string", + "readOnly": true + }, + "servicePrincipalClientId": { + "description": "Azure Active Directory service principal client ID.", + "type": "string", + "readOnly": true + }, + "servicePrincipalObjectId": { + "description": "Azure Active Directory service principal object ID.", + "type": "string", + "readOnly": true + }, + "azureManagementEndpointAudience": { + "description": "The azure management endpoint audience.", + "type": "string", + "readOnly": true + }, + "aadAudience": { + "description": "Identifier of the target resource that is the recipient of the requested token.", + "type": "string", + "readOnly": true + } + } + }, + "User": { + "description": "Represents a user who has access to one or more shares on the Data Box Edge/Gateway device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "systemData": { + "description": "User in DataBoxEdge Resource", + "$ref": "#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/UserProperties", + "description": "The storage account credential properties.", + "x-ms-client-flatten": true + } + } + }, + "UserAccessRight": { + "description": "The mapping between a particular user and the access type on the SMB share.", + "required": [ + "userId", + "accessType" + ], + "type": "object", + "properties": { + "userId": { + "description": "User ID (already existing in the device).", + "type": "string" + }, + "accessType": { + "description": "Type of access to be allowed for the user.", + "enum": [ + "Change", + "Read", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "ShareAccessType", + "modelAsString": true + } + } + } + }, + "UserList": { + "description": "Collection of users.", + "type": "object", + "properties": { + "value": { + "description": "The list of users.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/User" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "UserProperties": { + "description": "The user properties.", + "required": [ + "userType" + ], + "type": "object", + "properties": { + "encryptedPassword": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "The password details." + }, + "shareAccessRights": { + "description": "List of shares that the user has rights on. This field should not be specified during user creation.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ShareAccessRight" + }, + "readOnly": true + }, + "userType": { + "description": "Type of the user.", + "enum": [ + "Share", + "LocalManagement", + "ARM" + ], + "type": "string", + "x-ms-enum": { + "name": "UserType", + "modelAsString": true + } + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version.", + "required": true, + "type": "string" + }, + "locationParameter": { + "name": "location", + "in": "path", + "description": "The location of the resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The resource group name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "subscriptionIdParameter": { + "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": "impersonate your user account" + }, + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "tags": [] +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/AlertGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/AlertGet.json new file mode 100644 index 000000000000..9b25205846a4 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/AlertGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "title": "Could not scan for updates. Error message : 'An internal error has occurred. Please contact Microsoft Support.'.", + "alertType": "UpdateScanFailedEvent", + "appearedAtDateTime": "2018-12-18T02:18:51.4270267Z", + "recommendation": "Resolve the error : An internal error has occurred. Please contact Microsoft Support.", + "severity": "Critical", + "errorDetails": { + "errorCode": "", + "errorMessage": "", + "occurrences": 1 + }, + "detailedInformation": {} + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/159a00c7-8543-4343-9435-263ac87df3bb", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "type": "dataBoxEdgeDevices/alerts" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/AlertGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/AlertGetAllInDevice.json new file mode 100644 index 000000000000..701487ecc53f --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/AlertGetAllInDevice.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "title": "Device password has changed", + "alertType": "PasswordChangedEvent", + "appearedAtDateTime": "2018-12-18T02:29:15.2325577Z", + "recommendation": "The device administrator password has changed. This is a required action as part of the first time device setup or regular password reset. No further action is required.", + "severity": "Informational", + "errorDetails": { + "errorCode": "", + "errorMessage": "", + "occurrences": 2 + }, + "detailedInformation": {} + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/83eccd0b-134b-40b0-ad62-b5f124d03790", + "name": "83eccd0b-134b-40b0-ad62-b5f124d03790", + "type": "dataBoxEdgeDevices/alerts" + }, + { + "properties": { + "title": "Could not scan for updates. Error message : 'An internal error has occurred. Please contact Microsoft Support.'.", + "alertType": "UpdateScanFailedEvent", + "appearedAtDateTime": "2018-12-18T02:18:51.4270267Z", + "recommendation": "Resolve the error : An internal error has occurred. Please contact Microsoft Support.", + "severity": "Critical", + "errorDetails": { + "errorCode": "", + "errorMessage": "", + "occurrences": 1 + }, + "detailedInformation": {} + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/159a00c7-8543-4343-9435-263ac87df3bb", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "type": "dataBoxEdgeDevices/alerts" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/AvailableSkusList.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/AvailableSkusList.json new file mode 100644 index 000000000000..17c40cddb758 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/AvailableSkusList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "location": "westus", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "dataBoxEdgeDevices", + "name": "Gateway", + "availability": "Available", + "tier": "Standard", + "kind": "AzureDataBoxGateway", + "version": "Stable", + "signupOption": "Available", + "locations": [ + "West US" + ], + "locationInfo": [ + { + "location": "West US" + } + ] + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthScheduleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthScheduleDelete.json new file mode 100644 index 000000000000..613e8a68ac71 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthScheduleDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "bandwidth-1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthScheduleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthScheduleGet.json new file mode 100644 index 000000000000..c665a398b160 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthScheduleGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "bandwidth-1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "start": "00:00:00", + "stop": "13:59:00", + "rateInMbps": 100, + "days": [ + "Sunday", + "Monday" + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1", + "name": "bandwidth-1", + "type": "dataBoxEdgeDevices/bandwidthSchedules" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthScheduleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthScheduleGetAllInDevice.json new file mode 100644 index 000000000000..2696d7db0e70 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthScheduleGetAllInDevice.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "start": "00:00:00", + "stop": "13:59:00", + "rateInMbps": 100, + "days": [ + "Sunday", + "Monday" + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1", + "name": "bandwidth-1", + "type": "dataBoxEdgeDevices/bandwidthSchedules" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthSchedulePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthSchedulePut.json new file mode 100644 index 000000000000..facdd80a52a5 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthSchedulePut.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "bandwidth-1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "parameters": { + "properties": { + "start": "0:0:0", + "stop": "13:59:0", + "rateInMbps": 100, + "days": [ + "Sunday", + "Monday" + ] + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "start": "00:00:00", + "stop": "13:59:00", + "rateInMbps": 100, + "days": [ + "Sunday", + "Monday" + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1", + "name": "bandwidth-1", + "type": "dataBoxEdgeDevices/bandwidthSchedules" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerDelete.json new file mode 100644 index 000000000000..bb544af80117 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "containerName": "blobcontainer1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerGet.json new file mode 100644 index 000000000000..466e17913e06 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "containerName": "blobcontainer1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:13:27.8545799Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/storageaccount1/containers/blobcontainer1", + "name": "blobcontainer1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerListAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerListAllInDevice.json new file mode 100644 index 000000000000..bdfd0ca4837c --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerListAllInDevice.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:14:32.3016929Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer1", + "name": "blobcontainer1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + }, + { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:15:38.0077675Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer2", + "name": "blobcontainer2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + }, + { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:13:27.8545799Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer3", + "name": "blobcontainer3", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerPut.json new file mode 100644 index 000000000000..448663137492 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerPut.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "containerName": "blobcontainer1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "container": { + "properties": { + "dataFormat": "BlockBlob" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:13:27.8545799Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/storageaccount1/containers/blobcontainer1", + "name": "blobcontainer-5e155efe", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerRefresh.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerRefresh.json new file mode 100644 index 000000000000..a825111d78f4 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerRefresh.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "containerName": "blobcontainer1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceDelete.json new file mode 100644 index 000000000000..6054d2f27ac7 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetByName.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetByName.json new file mode 100644 index 000000000000..5077422aa0e9 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetByName.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-09-29T18%3A50%3A31.1203818Z'\"_W/\"datetime'2020-09-29T18%3A50%3A31.1343914Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureStackEdge", + "properties": { + "dataBoxEdgeDeviceStatus": "Offline", + "serialNumber": "1D6QHQ2", + "deviceType": "DataBoxEdgeDevice", + "friendlyName": "DBE-1D6QHQ2", + "deviceModel": "Physical", + "deviceSoftwareVersion": "Azure Stack Edge 2009", + "deviceLocalCapacity": 8042259, + "timeZone": "Pacific Standard Time", + "deviceHcsVersion": "2.1.1361.23408", + "configuredRoleTypes": [ + "CloudEdgeManagement" + ], + "nodeCount": 1, + "edgeProfile": { + "subscription": { + "registrationId": "91d8753b-af42-4908-9a5e-2a61f08b20de", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/VmMgmtTestPass/providers/Microsoft.AzureStack/edgeSubscriptions/daaac4b0-35c4-4008-bdc6-b72ca5890f16", + "state": "Registered" + } + } + }, + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EdgeTestPassResource", + "name": "EdgeTestPassResource", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json new file mode 100644 index 000000000000..570655398ac4 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-09-29T18%3A50%3A31.1203818Z'\"_W/\"datetime'2020-09-29T18%3A50%3A31.1343914Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureStackEdge", + "properties": { + "dataBoxEdgeDeviceStatus": "Offline", + "serialNumber": "1D6QHQ2", + "deviceType": "DataBoxEdgeDevice", + "friendlyName": "DBE-1D6QHQ2", + "deviceModel": "Physical", + "deviceSoftwareVersion": "Azure Stack Edge 2009", + "deviceLocalCapacity": 8042259, + "timeZone": "Pacific Standard Time", + "deviceHcsVersion": "2.1.1361.23408", + "configuredRoleTypes": [ + "CloudEdgeManagement" + ], + "nodeCount": 1, + "edgeProfile": { + "subscription": { + "registrationId": "91d8753b-af42-4908-9a5e-2a61f08b20de", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/VmMgmtTestPass/providers/Microsoft.AzureStack/edgeSubscriptions/daaac4b0-35c4-4008-bdc6-b72ca5890f16", + "state": "Registered" + } + }, + "dataResidency": { + "type": "ZoneReplication" + } + }, + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EdgeTestPassResource", + "name": "EdgeTestPassResource", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json new file mode 100644 index 000000000000..fc729cfedaa5 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-09-29T18%3A50%3A31.1203818Z'\"_W/\"datetime'2020-09-29T18%3A50%3A31.1343914Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureStackEdge", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EdgeTestPassResource", + "name": "EdgeTestPassResource", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + }, + { + "location": "centraluseuap", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-11-18T23%3A31%3A30.3266766Z'\"_W/\"datetime'2020-11-18T23%3A31%3A30.3326804Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "d97a6de5-f5c0-485a-8f5e-b7f705d2dbc4", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureStackEdge", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/FPGAResource", + "name": "FPGAResource", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + }, + { + "location": "centraluseuap", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-11-18T23%3A31%3A23.1715672Z'\"_W/\"datetime'2020-11-18T23%3A31%3A23.2396152Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "6f2b341b-aded-4ec2-a1bd-d09438d6cc8f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureStackEdge", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/TestVMEdgeResource", + "name": "TestVMEdgeResource", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetBySubscription.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetBySubscription.json new file mode 100644 index 000000000000..31bbf7b5ec67 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetBySubscription.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Gateway", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-11-19T01%3A39%3A55.1270082Z'\"_W/\"datetime'2020-11-19T01%3A39%3A55.1320118Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "083df009-06d9-4e3c-ae72-f9249a814334", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureDataBoxGateway", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/abhudeda-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/linksub01", + "name": "linksub01", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + }, + { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Gateway", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-11-19T01%3A40%3A05.9246966Z'\"_W/\"datetime'2020-11-19T01%3A40%3A05.9317011Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "8536db30-78d2-4759-95b7-896a66e14c24", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureDataBoxGateway", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/abhudeda-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/mergeazstest", + "name": "mergeazstest", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + }, + { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Gateway", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-11-19T01%3A40%3A06.496102Z'\"_W/\"datetime'2020-11-19T01%3A40%3A06.503107Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "fc4c1205-35c8-4f35-abc7-f5a78945f676", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureDataBoxGateway", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/abhudeda-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/mergeazstest2", + "name": "mergeazstest2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDevicePatch.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDevicePatch.json new file mode 100644 index 000000000000..a7c23a75f607 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDevicePatch.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "parameters": { + "properties": { + "edgeProfile": { + "subscription": { + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/rapvs-rg/providers/Microsoft.AzureStack/linkedSubscriptions/ca014ddc-5cf2-45f8-b390-e901e4a0ae87" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-11-19T04%3A43%3A38.6457308Z'\"_W/\"datetime'2020-11-19T04%3A43%3A38.6507339Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureStackEdge", + "properties": { + "dataBoxEdgeDeviceStatus": "ReadyToSetup", + "deviceType": "DataBoxEdgeDevice", + "deviceLocalCapacity": 0, + "timeZone": "Pacific Standard Time", + "nodeCount": 0, + "resourceMoveDetails": { + "operationInProgress": "None" + }, + "edgeProfile": { + "subscription": { + "registrationId": "91d8753b-af42-4908-9a5e-2a61f08b20de", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/VmMgmtTestPass/providers/Microsoft.AzureStack/edgeSubscriptions/daaac4b0-35c4-4008-bdc6-b72ca5890f16", + "state": "Registered" + } + } + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice", + "name": "testedgedevice", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDevicePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDevicePut.json new file mode 100644 index 000000000000..4e69d2dc44eb --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDevicePut.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "dataBoxEdgeDevice": { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + } + } + }, + "responses": { + "200": { + "body": { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "name": "testedgedevice" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDevicePutWithDataResidency.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDevicePutWithDataResidency.json new file mode 100644 index 000000000000..764d42d8d9ac --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDevicePutWithDataResidency.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "dataBoxEdgeDevice": { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "properties": { + "dataResidency": { + "type": "ZoneReplication" + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "name": "testedgedevice", + "properties": { + "dataResidency": { + "type": "ZoneReplication" + } + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DeleteAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DeleteAddons.json new file mode 100644 index 000000000000..51c9c9c31cec --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DeleteAddons.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "KubernetesRole", + "addonName": "arcName", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DeleteMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DeleteMonitoringConfig.json new file mode 100644 index 000000000000..44a7ffaa768c --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DeleteMonitoringConfig.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "testrole", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DownloadUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DownloadUpdatesPost.json new file mode 100644 index 000000000000..3baaf7d404d8 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DownloadUpdatesPost.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ExtendedInfoPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ExtendedInfoPost.json new file mode 100644 index 000000000000..450d86a0be98 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ExtendedInfoPost.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "resourceKey": "3482840729935603111", + "encryptionKeyThumbprint": "", + "encryptionKey": "" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice", + "name": "testedgedevice", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GenerateCertificate.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GenerateCertificate.json new file mode 100644 index 000000000000..6413e188b4c6 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GenerateCertificate.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "publicKey": "MIIEDjCCAnagAwIBAgIQEW4wrxj9+JdA4kFLDgegTTANBgkqhkiG9w0BAQUFADBDMUEwPwYDVQQDHjgAQwBCAF8AUABvAHIAdABhAGwAXwA2ADMANwA0ADEAMwA1ADkAMQA4ADAAMAA3ADAAOQAxADcANTAeFw0yMDExMTkwNDU2MjBaFw0yMDExMjIwNTA2MjBaMEMxQTA/BgNVBAMeOABDAEIAXwBQAG8AcgB0AGEAbABfADYAMwA3ADQAMQAzADUAOQAxADgAMAAwADcAMAA5ADEANwA1MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAqG617KAUc4gOoht527o6FGE/c97W/wZIXqKbx4G8vifljXWw3NGDDuSQfidE3MqSMMJ/AAlDhBH/Deo/PAgUWuWB2WgM+KFWrDS0oDBvLVeIIeiMx4LOsbz4J8IbcKrGWf+ulQyum7dE/yBLzPXcPTjhJP0oMfhGOMlVVWbiKaP78/WZk2PmBQaVv7PxAQnJAPqETH2qAyuc9bd0TaMlIER56WhX9+nzsoI0u7RmBEs8+BaudVroiiK/GpEczy73TCRlpVXGChdBHg+NvYRYz91ltCV9Ijo1bdvcUjdgDJZ4Tz7G8XVCQmxbd9ml6OBLgxQUpd9HSGTcIfFiv+rTUwHR7YkY+1UGHsDPOYnBVDTXs3RFm+c5uNnCKvtyTExDJgabT+FTNb3eyD/BSYsy6b/YZBRqPiO8BRFUsIhWhXtPaUjWOEx6XMeZRnGeF4Hi8iH8TR79kEJhfYy3piSPAc3JrhgoglpyyfZOgyPOje+8tAWS9FHUNyVXKKeksDoZAgMBAAEwDQYJKoZIhvcNAQEFBQADggGBACpfQt34mgr+WlFtY0tqaPAoF6XnVzyKB6XsVAoj1uKFTSCQnr0mWvUMWKSRFTu1bV1VdDokV5I+h92kBcO4ddtHhWtkt16j9XFDsGdDvoUWJeqecZVr9fBPC69wF/9R/2E6iJporR46Pui7gcilYGqb3IjJlh8RT/XBPamQrfDbS7G8eTe91ST5cHr89R6EtDwfyhyTZr2sRrvQrxY2AjEmdH5Zcl9q2Xf8DholZhZ9vwnuYBFfl6VCXWaDAzQWiPdxo1wgXxEpNNDstGFWJKnsnz9UCohNAiPf47B+csPqxjcTLVMhcGLdU/lwpzzkEOciijpYILscvPoU3IM6DmFROgU2z6CForpgwHPDJktyWU1MC7lFdfrSzwu/5b3ZAEQhnJf7rvrybULoYBQWJEuj26Is1S6kXpNUaHAc5HIyIoc2V2eRjasbPIqsU0smjPLS/1egjHxtw9u+v4qDDvDuOjhFJtC3NkPl06TfNgO9+5LgiB1JppXnkLyCQ9RQgw==", + "privateKey": null, + "expiryTimeInUTC": "2020-11-22T05:06:20.000Z" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetAddons.json new file mode 100644 index 000000000000..514f08c953ae --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetAddons.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "KubernetesRole", + "addonName": "arcName", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "resourceName": "testedgedevice", + "resourceLocation": "EastUS", + "version": "0.2.18", + "hostPlatform": "Linux", + "hostPlatformType": "KubernetesCluster", + "provisioningState": "Created" + }, + "kind": "ArcForKubernetes", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourcegroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/addonExamples/roles/kubernetesRole/addons/arcName", + "name": "arcName", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetDCAccessCode.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetDCAccessCode.json new file mode 100644 index 000000000000..75d5b20637c5 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetDCAccessCode.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "authCode": "_sv7-NY2" + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetDiagnosticProactiveLogCollectionSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetDiagnosticProactiveLogCollectionSettings.json new file mode 100644 index 000000000000..9553f12c7353 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetDiagnosticProactiveLogCollectionSettings.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "diagnosticProactiveLogCollectionSettings": { + "properties": { + "userConsent": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "userConsent": "Enabled" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/diagnosticProactiveLogCollectionSettings/default", + "name": "default", + "type": "dataBoxEdgeDevices/diagnosticSettings" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetDiagnosticRemoteSupportSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetDiagnosticRemoteSupportSettings.json new file mode 100644 index 000000000000..e87ca6c0dc18 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetDiagnosticRemoteSupportSettings.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "remoteSupportSettingsList": [ + { + "accessLevel": "ReadWrite", + "expirationTimeStampInUTC": "2021-07-07T00:00:00+00:00", + "remoteApplicationType": "LocalUI" + } + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/diagnosticRemoteSupportSettings/default", + "name": "default", + "type": "dataBoxEdgeDevices/diagnosticSettings" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetMonitoringConfig.json new file mode 100644 index 000000000000..e4e0eb61a8e8 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetMonitoringConfig.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "testrole", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "metricConfigurations": [ + { + "resourceId": "test", + "mdmAccount": "test", + "metricNameSpace": "test", + "counterSets": [ + { + "counters": [ + { + "name": "test" + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetUpdateExtendedInfo.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetUpdateExtendedInfo.json new file mode 100644 index 000000000000..88075750fe3d --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetUpdateExtendedInfo.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "parameters": {}, + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "clientSecretStoreId": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/arja-rg/providers/Microsoft.KeyVault/vaults/test-keyvault-ccy-523", + "clientSecretStoreUrl": "https://test-keyvault-ccy-523.vault.azure.net", + "channelIntegrityKeyName": "ase-cik-ab861822-21ea-4d31-96ec-89aa066f9a59", + "channelIntegrityKeyVersion": "95e9b619e65f433d82c9e1ead48214b9", + "keyVaultSyncStatus": "KeyVaultSynced", + "deviceSecrets": { + "HcsDataVolumeBitLockerExternalKey": { + "keyVaultId": "Id" + }, + "HcsInternalVolumeBitLockerExternalKey": { + "keyVaultId": "Id" + }, + "SystemVolumeBitLockerRecoveryKey": { + "keyVaultId": "Id" + }, + "SEDEncryptionExternalKeyId": {}, + "SEDEncryptionExternalKey": {}, + "BMCDefaultUserPassword": {}, + "RotateKeyForDataVolumeBitlocker": {}, + "RotateKeysForSedDrivesSerialized": {} + } + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/InstallUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/InstallUpdatesPost.json new file mode 100644 index 000000000000..3baaf7d404d8 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/InstallUpdatesPost.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/JobsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/JobsGet.json new file mode 100644 index 000000000000..8e3f1c402515 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/JobsGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/id/locations/westus/jobs/159a00c7-8543-4343-9435-263ac87df3bb", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "status": "Succeeded", + "startTime": "2018-12-18T02:18:51.4270267Z", + "endTime": "2018-12-18T03:18:51.4270267Z", + "percentComplete": 100, + "properties": { + "jobType": "DownloadUpdates", + "currentStage": "Success" + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ListMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ListMonitoringConfig.json new file mode 100644 index 000000000000..ee78eb32efb3 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ListMonitoringConfig.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "testrole", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "metricConfigurations": [ + { + "resourceId": "test", + "mdmAccount": "test", + "metricNameSpace": "test", + "counterSets": [ + { + "counters": [ + { + "name": "test" + } + ] + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/NetworkSettingsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/NetworkSettingsGet.json new file mode 100644 index 000000000000..975cf33afc87 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/NetworkSettingsGet.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "networkAdapters": [ + { + "adapterId": "{47D0D0EC-AA8A-4221-AA2A-355B58082BA5}", + "adapterPosition": { + "networkGroup": "NonRDMA", + "port": 0 + }, + "index": 1, + "nodeId": "3fd54d9e-f7a0-45bf-bdf1-39b0977d1984", + "networkAdapterName": "DATA1", + "label": "DATA1", + "macAddress": "00155D4E265B", + "linkSpeed": 10000000000, + "status": "Inactive", + "rdmaStatus": "Incapable", + "dhcpStatus": "Disabled", + "ipv4Configuration": { + "ipAddress": "10.150.78.56", + "subnet": "255.255.252.0", + "gateway": "10.150.76.1" + }, + "ipv6Configuration": { + "ipAddress": "2404:f801:4800:1e:d5c6:50a1:465b:1bbf", + "prefixLength": 64, + "gateway": "fe80::12f3:11ff:fe36:994b%5" + }, + "ipv6LinkLocalAddress": "fe80::d5c6:50a1:465b:1bbf%5", + "dnsServers": [ + "10.50.50.50", + "10.50.10.50" + ] + } + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/networkSettings/default", + "name": "default", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/networkSettings" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/NodeGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/NodeGetAllInDevice.json new file mode 100644 index 000000000000..e2c50ecb2c46 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/NodeGetAllInDevice.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "nodeStatus": "Unknown", + "nodeChassisSerialNumber": "1D6QHQ2", + "nodeSerialNumber": "1D6QHQ2", + "nodeDisplayName": "Controller 1", + "nodeFriendlySoftwareVersion": "Data Box Edge 1908", + "nodeHcsVersion": "1.6.961.8307", + "nodeInstanceId": "ad051874-7d27-4ac4-a7b1-b6f231d8a035" + }, + "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/nodes/1D6QHQ2", + "name": "1D6QHQ2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/nodes" + }, + { + "properties": { + "nodeStatus": "Unknown", + "nodeChassisSerialNumber": "1D6QHQ2", + "nodeSerialNumber": "1DCNHQ2", + "nodeDisplayName": "Controller 1", + "nodeFriendlySoftwareVersion": "Data Box Edge 1908", + "nodeHcsVersion": "1.6.961.8307", + "nodeInstanceId": "ddf3a76d-ada4-44af-99c6-a69a0e21bcb6" + }, + "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/nodes/1DCNHQ2", + "name": "1DCNHQ2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/nodes" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OperationsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OperationsGet.json new file mode 100644 index 000000000000..743e8053c323 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OperationsGet.json @@ -0,0 +1,675 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "share users", + "operation": "List share users", + "description": "Lists or gets the share users" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "share users", + "operation": "List share users", + "description": "Lists or gets the share users" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "share users", + "operation": "Creates or updates share users", + "description": "Creates or updates the share users" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "share users", + "operation": "Delete share users", + "description": "Deletes the share users" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "bandwidth schedules", + "operation": "List bandwidth schedules", + "description": "Lists or gets the bandwidth schedules" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "bandwidth schedules", + "operation": "List bandwidth schedules", + "description": "Lists or gets the bandwidth schedules" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "bandwidth schedules", + "operation": "Creates or updates bandwidth schedules", + "description": "Creates or updates the bandwidth schedules" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "bandwidth schedules", + "operation": "Delete bandwidth schedules", + "description": "Deletes the bandwidth schedules" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "ArmApiRes_roles", + "operation": "List ArmApiRes_roles", + "description": "Lists or gets the ArmApiRes_roles" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "ArmApiRes_roles", + "operation": "List ArmApiRes_roles", + "description": "Lists or gets the ArmApiRes_roles" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "ArmApiRes_roles", + "operation": "Creates or updates ArmApiRes_roles", + "description": "Creates or updates the ArmApiRes_roles" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "ArmApiRes_roles", + "operation": "Delete ArmApiRes_roles", + "description": "Deletes the ArmApiRes_roles" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "List shares", + "description": "Lists or gets the shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "List shares", + "description": "Lists or gets the shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "Creates or updates shares", + "description": "Creates or updates the shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/refresh/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "ArmApiOp_action_refresh_shares", + "description": "ArmApiDesc_action_refresh_shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "Delete shares", + "description": "Deletes the shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/uploadCertificate/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Upload certificates", + "description": "Upload certificate for device registration" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Creates or updates Data Box Edge devices", + "description": "Creates or updates the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "List Data Box Edge devices", + "description": "Lists or gets the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Delete Data Box Edge devices", + "description": "Deletes the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "List Data Box Edge devices", + "description": "Lists or gets the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "List Data Box Edge devices", + "description": "Lists or gets the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Creates or updates Data Box Edge devices", + "description": "Creates or updates the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/getExtendedInformation/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "ArmApiOp_action_getExtendedInformation_dataBoxEdgeDevices", + "description": "ArmApiDesc_action_getExtendedInformation_dataBoxEdgeDevices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/extendedInformation/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Gets resource extended information", + "description": "Retrieves resource extended information" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/networkSettings/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Device network settings", + "operation": "List Device network settings", + "description": "Lists or gets the Device network settings" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/securitySettings/update/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Device security settings", + "operation": "Update security settings", + "description": "Update security settings" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "update summary", + "operation": "List update summary", + "description": "Lists or gets the update summary" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/scanForUpdates/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Scan for updates", + "description": "Scan for updates" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/downloadUpdates/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Download Updates", + "description": "Download Updates in device" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/installUpdates/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Install Updates", + "description": "Install Updates on device" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/jobs/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "jobs", + "operation": "List jobs", + "description": "Lists or gets the jobs" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "storage account credentials", + "operation": "Creates or updates storage account credentials", + "description": "Creates or updates the storage account credentials" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "storage account credentials", + "operation": "List storage account credentials", + "description": "Lists or gets the storage account credentials" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "storage account credentials", + "operation": "List storage account credentials", + "description": "Lists or gets the storage account credentials" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "storage account credentials", + "operation": "Delete storage account credentials", + "description": "Deletes the storage account credentials" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/alerts/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "alerts", + "operation": "List alerts", + "description": "Lists or gets the alerts" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/alerts/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "alerts", + "operation": "List alerts", + "description": "Lists or gets the alerts" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge device", + "operation": "Read Data Box Edge device metric definition", + "description": "Gets the available Data Box Edge device level metrics" + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "NICReadThroughput", + "displayName": "Read Throughput (Network)", + "displayDescription": "The read throughput of the network interface on the device in the reporting period for all volumes in the gateway.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [ + { + "name": "InstanceName", + "displayName": "Name", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "NICWriteThroughput", + "displayName": "Write Throughput (Network)", + "displayDescription": "The write throughput of the network interface on the device in the reporting period for all volumes in the gateway.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [ + { + "name": "InstanceName", + "displayName": "Name", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "CloudReadThroughputPerShare", + "displayName": "Cloud Download Throughput (Share)", + "displayDescription": "The download throughput to Azure from a share during the reporting period.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [ + { + "name": "Share", + "displayName": "Share", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "CloudUploadThroughputPerShare", + "displayName": "Cloud Upload Throughput (Share)", + "displayDescription": "The upload throughput to Azure from a share during the reporting period.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [ + { + "name": "Share", + "displayName": "Share", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "BytesUploadedToCloudPerShare", + "displayName": "Cloud Bytes Uploaded (Share)", + "displayDescription": "The total number of bytes that is uploaded to Azure from a share during the reporting period.", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [ + { + "name": "Share", + "displayName": "Share", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "TotalCapacity", + "displayName": "Total Capacity", + "displayDescription": "Total Capacity", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Capacity", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "AvailableCapacity", + "displayName": "Available Capacity", + "displayDescription": "The available capacity in bytes during the reporting period.", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Capacity", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "CloudUploadThroughput", + "displayName": "Cloud Upload Throughput", + "displayDescription": "The cloud upload throughput during the reporting period.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "CloudReadThroughput", + "displayName": "Cloud Read Throughput", + "displayDescription": "The cloud download throughput during the reporting period.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "BytesUploadedToCloud", + "displayName": "Cloud Bytes Uploaded (Device)", + "displayDescription": "The total number of bytes that is uploaded to Azure from a device during the reporting period.", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + } + ] + } + } + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge device", + "operation": "Write diagnostics setting", + "description": "Creates or updates the diagnostics setting for the resource" + }, + "origin": "system" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge device", + "operation": "Read diagnostics setting", + "description": "Gets the diagnostic setting for the resource" + }, + "origin": "system" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OperationsStatusGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OperationsStatusGet.json new file mode 100644 index 000000000000..64890c97b052 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OperationsStatusGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/id/locations/westus/operationsStatus/159a00c7-8543-4343-9435-263ac87df3bb", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "status": "Succeeded", + "startTime": "2018-12-18T02:18:51.4270267Z", + "endTime": "2018-12-18T03:18:51.4270267Z", + "percentComplete": 100, + "properties": { + "jobType": "DownloadUpdates", + "currentStage": "Success" + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderDelete.json new file mode 100644 index 000000000000..6054d2f27ac7 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderGet.json new file mode 100644 index 000000000000..0a46b20ffb9e --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default", + "name": "default", + "type": "dataBoxEdgeDevices/orders", + "properties": { + "contactInformation": { + "contactPerson": "John Mcclane", + "companyName": "Microsoft", + "phone": "(800) 426-9400", + "emailList": [ + "john@microsoft.com" + ] + }, + "shippingAddress": { + "addressLine1": "Microsoft Corporation", + "addressLine2": "One Microsoft Way", + "addressLine3": "Redmond", + "postalCode": "98052", + "city": "WA", + "state": "WA", + "country": "USA" + }, + "currentStatus": { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "" + }, + "orderHistory": [ + { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "lorem ipsum" + } + ], + "serialNumber": "UDS123NSDA123", + "deliveryTrackingInfo": [], + "returnTrackingInfo": [] + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderGetAllInDevice.json new file mode 100644 index 000000000000..029848abc321 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderGetAllInDevice.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default", + "name": "default", + "type": "dataBoxEdgeDevices/orders", + "properties": { + "contactInformation": { + "contactPerson": "John Mcclane", + "companyName": "Microsoft", + "phone": "(800) 426-9400", + "emailList": [ + "john@microsoft.com" + ] + }, + "shippingAddress": { + "addressLine1": "Microsoft Corporation", + "addressLine2": "One Microsoft Way", + "addressLine3": "Redmond", + "postalCode": "98052", + "city": "WA", + "state": "WA", + "country": "USA" + }, + "currentStatus": { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "" + }, + "orderHistory": [ + { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "lorem ipsum" + } + ], + "serialNumber": "UDS123NSDA123", + "deliveryTrackingInfo": [], + "returnTrackingInfo": [] + } + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderPut.json new file mode 100644 index 000000000000..ee4cae7c9779 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderPut.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "order": { + "properties": { + "contactInformation": { + "contactPerson": "John Mcclane", + "companyName": "Microsoft", + "phone": "(800) 426-9400", + "emailList": [ + "john@microsoft.com" + ] + }, + "shippingAddress": { + "addressLine1": "Microsoft Corporation", + "addressLine2": "One Microsoft Way", + "addressLine3": "Redmond", + "postalCode": "98052", + "city": "WA", + "state": "WA", + "country": "USA" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default", + "name": "default", + "type": "dataBoxEdgeDevices/orders", + "properties": { + "contactInformation": { + "contactPerson": "John Mcclane", + "companyName": "Microsoft", + "phone": "(800) 426-9400", + "emailList": [ + "john@microsoft.com" + ] + }, + "shippingAddress": { + "addressLine1": "Microsoft Corporation", + "addressLine2": "One Microsoft Way", + "addressLine3": "Redmond", + "postalCode": "98052", + "city": "WA", + "state": "WA", + "country": "USA" + }, + "currentStatus": { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "" + }, + "orderHistory": [ + { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "lorem ipsum" + } + ], + "serialNumber": "UDS123NSDA123", + "deliveryTrackingInfo": [], + "returnTrackingInfo": [] + } + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/PutAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/PutAddons.json new file mode 100644 index 000000000000..42b3b623a3f5 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/PutAddons.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "KubernetesRole", + "addonName": "arcName", + "addon": { + "kind": "ArcForKubernetes", + "properties": { + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "resourceName": "testedgedevice", + "resourceLocation": "EastUS" + } + }, + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "resourceName": "testedgedevice", + "resourceLocation": "EastUS", + "version": "0.2.18", + "hostPlatform": "Linux", + "hostPlatformType": "KubernetesCluster", + "provisioningState": "Created" + }, + "kind": "ArcForKubernetes", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourcegroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/addonExamples/roles/kubernetesRole/addons/arcName", + "name": "arcName", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/PutMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/PutMonitoringConfig.json new file mode 100644 index 000000000000..ee3a7bce8378 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/PutMonitoringConfig.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "testrole", + "monitoringMetricConfiguration": { + "properties": { + "metricConfigurations": [ + { + "resourceId": "test", + "mdmAccount": "test", + "metricNameSpace": "test", + "counterSets": [ + { + "counters": [ + { + "name": "test" + } + ] + } + ] + } + ] + } + }, + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "metricConfigurations": [ + { + "resourceId": "test", + "mdmAccount": "test", + "metricNameSpace": "test", + "counterSets": [ + { + "counters": [ + { + "name": "test" + } + ] + } + ] + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleDelete.json new file mode 100644 index 000000000000..54a98f8a4e6b --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "IoTRole1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleGet.json new file mode 100644 index 000000000000..c70897f02581 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleGet.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "IoTRole1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "hostPlatform": "Linux", + "ioTDeviceDetails": { + "deviceId": "iotdevice", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "ioTEdgeDeviceDetails": { + "deviceId": "iotEdge", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "shareMappings": [], + "roleStatus": "Enabled" + }, + "kind": "IOT", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1", + "name": "IoTRole1", + "type": "dataBoxEdgeDevices/roles" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleGetAllInDevice.json new file mode 100644 index 000000000000..6f4cf64827c9 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleGetAllInDevice.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "hostPlatform": "Linux", + "ioTDeviceDetails": { + "deviceId": "iotdevice", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "ioTEdgeDeviceDetails": { + "deviceId": "iotEdge", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "shareMappings": [], + "roleStatus": "Enabled" + }, + "kind": "IOT", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1", + "name": "IoTRole1", + "type": "dataBoxEdgeDevices/roles" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleListAddOns.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleListAddOns.json new file mode 100644 index 000000000000..53a141a2f80d --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleListAddOns.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "IoTRole1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "subscriptionId": "0d44739e-0563-474f-97e7-24a0cdb23b29", + "resourceGroupName": "testrg1", + "resourceName": "testresource1", + "resourceLocation": "EastUS", + "version": "0.2.18", + "hostPlatform": "Linux", + "hostPlatformType": "KubernetesCluster", + "provisioningState": "Created" + }, + "kind": "ArcForKubernetes", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/prpare/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/addonExamples/roles/kubernetesRole/addons/arcName", + "name": "arcName", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RolePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RolePut.json new file mode 100644 index 000000000000..246e03bcbb93 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RolePut.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "IoTRole1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "role": { + "kind": "IOT", + "properties": { + "hostPlatform": "Linux", + "ioTDeviceDetails": { + "deviceId": "iotdevice", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": { + "connectionString": { + "value": "Encrypted<>", + "encryptionCertThumbprint": "348586569999244", + "encryptionAlgorithm": "AES256" + } + } + } + }, + "ioTEdgeDeviceDetails": { + "deviceId": "iotEdge", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": { + "connectionString": { + "value": "Encrypted<>", + "encryptionCertThumbprint": "1245475856069999244", + "encryptionAlgorithm": "AES256" + } + } + } + }, + "shareMappings": [], + "roleStatus": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "kind": "IOT", + "properties": { + "hostPlatform": "Linux", + "ioTDeviceDetails": { + "deviceId": "iotdevice", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "ioTEdgeDeviceDetails": { + "deviceId": "iotEdge", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "shareMappings": [], + "roleStatus": "Enabled" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1", + "name": "IoTRole1", + "type": "dataBoxEdgeDevices/roles" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACDelete.json new file mode 100644 index 000000000000..2029ee6b2458 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "sac1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACGet.json new file mode 100644 index 000000000000..4e2c31be26b4 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "sac1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "alias": "sac1", + "userName": "cisbvt", + "sslStatus": "Disabled", + "accountType": "BlobStorage" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "name": "sac1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACGetAllInDevice.json new file mode 100644 index 000000000000..8bc5eb420b19 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACGetAllInDevice.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "alias": "sac1128180128323", + "userName": "cisbvt", + "sslStatus": "Disabled", + "accountType": "GeneralPurposeStorage" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1128180128323", + "name": "sac1128180128323", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials" + }, + { + "properties": { + "alias": "sac1128180128312", + "userName": "cisbvt", + "sslStatus": "Disabled", + "accountType": "BlobStorage" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1128180128312", + "name": "sac1128180128312", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACPut.json new file mode 100644 index 000000000000..b501baea7364 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACPut.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "sac1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "storageAccountCredential": { + "properties": { + "alias": "sac1", + "userName": "cisbvt", + "accountKey": { + "value": "lAeZEYi6rNP1/EyNaVUYmTSZEYyaIaWmwUsGwek0+xiZj54GM9Ue9/UA2ed/ClC03wuSit2XzM/cLRU5eYiFBwks23rGwiQOr3sruEL2a74EjPD050xYjA6M1I2hu/w2yjVHhn5j+DbXS4Xzi+rHHNZK3DgfDO3PkbECjPck+PbpSBjy9+6Mrjcld5DIZhUAeMlMHrFlg+WKRKB14o/og56u5/xX6WKlrMLEQ+y6E18dUwvWs2elTNoVO8PBE8SM/CfooX4AMNvaNdSObNBPdP+F6Lzc556nFNWXrBLRt0vC7s9qTiVRO4x/qCNaK/B4y7IqXMllwQFf4Np9UQ2ECA==", + "encryptionCertThumbprint": "2A9D8D6BE51574B5461230AEF02F162C5F01AD31", + "encryptionAlgorithm": "AES256" + }, + "sslStatus": "Disabled", + "accountType": "BlobStorage" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "alias": "sac1", + "userName": "cisbvt", + "sslStatus": "Disabled", + "accountType": "BlobStorage" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "name": "sac1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ScanForUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ScanForUpdatesPost.json new file mode 100644 index 000000000000..3baaf7d404d8 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ScanForUpdatesPost.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SecuritySettingsUpdatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SecuritySettingsUpdatePost.json new file mode 100644 index 000000000000..ba93e0067bde --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SecuritySettingsUpdatePost.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "AzureVM", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "securitySettings": { + "properties": { + "deviceAdminPassword": { + "value": "", + "encryptionAlgorithm": "AES256", + "encryptionCertThumbprint": "" + } + } + } + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareDelete.json new file mode 100644 index 000000000000..170c890965c3 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "smbshare", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareGet.json new file mode 100644 index 000000000000..153a5f80cd0a --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "smbshare", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "", + "shareStatus": "Online", + "monitoringStatus": "Disabled", + "azureContainerInfo": { + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "containerName": "testContainerSMB", + "dataFormat": "BlockBlob" + }, + "accessProtocol": "SMB", + "userAccessRights": [ + { + "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "accessType": "Change" + } + ], + "clientAccessRights": [], + "refreshDetails": {}, + "shareMappings": [], + "dataPolicy": "Cloud" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare", + "name": "smbshare", + "type": "dataBoxEdgeDevices/shares" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareGetAllInDevice.json new file mode 100644 index 000000000000..b6b72bd21ba0 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareGetAllInDevice.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "", + "shareStatus": "Online", + "monitoringStatus": "Disabled", + "azureContainerInfo": { + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "containerName": "testContainerSMB", + "dataFormat": "BlockBlob" + }, + "accessProtocol": "SMB", + "userAccessRights": [ + { + "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "accessType": "Change" + } + ], + "clientAccessRights": [], + "refreshDetails": {}, + "shareMappings": [], + "dataPolicy": "Cloud" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare", + "name": "smbshare", + "type": "dataBoxEdgeDevices/shares" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SharePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SharePut.json new file mode 100644 index 000000000000..8aa26e99cadc --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SharePut.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "smbshare", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "share": { + "properties": { + "description": "", + "shareStatus": "Online", + "monitoringStatus": "Enabled", + "azureContainerInfo": { + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "containerName": "testContainerSMB", + "dataFormat": "BlockBlob" + }, + "accessProtocol": "SMB", + "userAccessRights": [ + { + "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "accessType": "Change" + } + ], + "dataPolicy": "Cloud" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "", + "shareStatus": "Online", + "monitoringStatus": "Disabled", + "azureContainerInfo": { + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "containerName": "testContainerSMB", + "dataFormat": "BlockBlob" + }, + "accessProtocol": "SMB", + "userAccessRights": [ + { + "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "accessType": "Change" + } + ], + "clientAccessRights": [], + "refreshDetails": {}, + "shareMappings": [], + "dataPolicy": "Cloud" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare", + "name": "smbshare", + "type": "dataBoxEdgeDevices/shares" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareRefreshPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareRefreshPost.json new file mode 100644 index 000000000000..55a350d48724 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareRefreshPost.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "smbshare", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountDelete.json new file mode 100644 index 000000000000..0043d5304e67 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountGet.json new file mode 100644 index 000000000000..609cc2e00476 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "blobstorageaccount1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "It's an awesome storage account", + "storageAccountStatus": "OK", + "dataPolicy": "Cloud", + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt", + "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/", + "containerCount": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1", + "name": "blobstorageaccount1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountGetAllInDevice.json new file mode 100644 index 000000000000..7395d7063872 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountGetAllInDevice.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "It's an awesome storage account", + "storageAccountStatus": "OK", + "dataPolicy": "Cloud", + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt", + "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/", + "containerCount": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1", + "name": "blobstorageaccount1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountPut.json new file mode 100644 index 000000000000..e00836f9bf0e --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountPut.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "blobstorageaccount1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "storageAccount": { + "properties": { + "description": "It's an awesome storage account", + "storageAccountStatus": "OK", + "dataPolicy": "Cloud", + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "It's an awesome storage account", + "storageAccountStatus": "OK", + "dataPolicy": "Cloud", + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt", + "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/", + "containerCount": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1", + "name": "blobstorageaccount1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerDelete.json new file mode 100644 index 000000000000..7cf69ce940be --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "trigger1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerGet.json new file mode 100644 index 000000000000..285e508abbfa --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "trigger1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "customContextTag": "CustomContextTags-1235346475", + "sourceInfo": { + "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1" + }, + "sinkInfo": { + "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1" + } + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1", + "name": "trigger1", + "type": "dataBoxEdgeDevices/triggers", + "kind": "FileEvent" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerGetAllInDevice.json new file mode 100644 index 000000000000..2e63f50931ef --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerGetAllInDevice.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "customContextTag": "CustomContextTags-1235346475", + "sourceInfo": { + "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1" + }, + "sinkInfo": { + "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1" + } + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1", + "name": "trigger1", + "type": "dataBoxEdgeDevices/triggers", + "kind": "FileEvent" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerPut.json new file mode 100644 index 000000000000..1d4beed71e40 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerPut.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "trigger1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "trigger": { + "properties": { + "customContextTag": "CustomContextTags-1235346475", + "sourceInfo": { + "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1" + }, + "sinkInfo": { + "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1" + } + }, + "kind": "FileEvent" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "customContextTag": "CustomContextTags-1235346475", + "sourceInfo": { + "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1" + }, + "sinkInfo": { + "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1" + } + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1", + "name": "trigger1", + "type": "dataBoxEdgeDevices/triggers", + "kind": "FileEvent" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerSupportPackage.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerSupportPackage.json new file mode 100644 index 000000000000..397257153133 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerSupportPackage.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "triggerSupportPackageRequest": { + "properties": { + "minimumTimeStamp": "2018-12-18T02:18:51.4270267Z", + "maximumTimeStamp": "2018-12-18T02:19:51.4270267Z", + "include": "DefaultWithDumps" + } + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UpdateDiagnosticProactiveLogCollectionSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UpdateDiagnosticProactiveLogCollectionSettings.json new file mode 100644 index 000000000000..066405f5102b --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UpdateDiagnosticProactiveLogCollectionSettings.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "proactiveLogCollectionSettings": { + "properties": { + "userConsent": "Enabled" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "userConsent": "Disabled" + }, + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/dbe-autobot-5428209/diagnosticProactiveLogCollectionSettings/default", + "name": "default", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/diagnosticSettings" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UpdateDiagnosticRemoteSupportSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UpdateDiagnosticRemoteSupportSettings.json new file mode 100644 index 000000000000..7d8f2e0c88b7 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UpdateDiagnosticRemoteSupportSettings.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "diagnosticRemoteSupportSettings": { + "properties": { + "remoteSupportSettingsList": [ + { + "accessLevel": "ReadWrite", + "expirationTimeStampInUTC": "2021-07-07T00:00:00+00:00", + "remoteApplicationType": "Powershell" + } + ] + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "remoteSupportSettingsList": [ + { + "remoteApplicationType": "Powershell", + "accessLevel": "ReadWrite", + "expirationTimeStampInUTC": "2500-09-14T00:00:00+00:00" + } + ] + }, + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/dbe-autobot-154c8a4/diagnosticRemoteSupportSettings/default", + "name": "default", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/diagnosticSettings" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UpdateSummaryGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UpdateSummaryGet.json new file mode 100644 index 000000000000..e99757921d34 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UpdateSummaryGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "parameters": { + "properties": { + "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw==" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "deviceVersionNumber": "2.1.1377.2170", + "friendlyDeviceVersionName": "Azure Stack Edge 2010", + "deviceLastScannedDateTime": "2021-03-17T19:51:51.7864634Z", + "lastCompletedScanJobDateTime": "2021-03-17T19:47:46.1595547Z", + "lastDownloadJobStatus": "Invalid", + "lastInstallJobStatus": "Invalid", + "totalNumberOfUpdatesAvailable": 1, + "totalNumberOfUpdatesPendingDownload": 1, + "totalNumberOfUpdatesPendingInstall": 1, + "rebootBehavior": "NeverReboots", + "ongoingUpdateOperation": "Install", + "updateTitles": [ + "Azure Stack Edge Update 2101 Package 1 of 2 for Pro-GPU, Pro R, Mini R" + ], + "totalUpdateSizeInBytes": 4260898192.0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/updateSummary/default", + "name": "default", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UploadCertificatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UploadCertificatePost.json new file mode 100644 index 000000000000..73c4115f65f7 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UploadCertificatePost.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "parameters": { + "properties": { + "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw==" + } + } + }, + "responses": { + "200": { + "body": { + "authType": "AzureActiveDirectory", + "resourceId": "392799901267771", + "aadAuthority": "https://login.windows.net", + "aadTenantId": "100b019d-4626-4a9e-a83c-9cff8fe41909", + "servicePrincipalClientId": "ffd8a688-82b1-4e5a-a4c1-7ede8c928e68", + "servicePrincipalObjectId": "cef6d40c-24e6-4a6f-bb9e-3ec60b4adec4", + "azureManagementEndpointAudience": "https://wus-bvtgateway.ext.trafficmanager.net/" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserDelete.json new file mode 100644 index 000000000000..d39c45a3a333 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserDelete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "user1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserGet.json new file mode 100644 index 000000000000..2b1ec92736ca --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "user1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "userType": "Share" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1", + "name": "user1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users" + }, + "202": {} + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserGetAllInDevice.json new file mode 100644 index 000000000000..08acb99170a8 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserGetAllInDevice.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "userType": "Share" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "name": "user2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users" + }, + { + "properties": { + "userType": "Share" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1", + "name": "user1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserPut.json new file mode 100644 index 000000000000..302a0c9bb1bf --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserPut.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "user1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "user": { + "properties": { + "encryptedPassword": { + "value": "", + "encryptionAlgorithm": "None", + "encryptionCertThumbprint": "blah" + }, + "userType": "Share" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "userType": "Share" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1", + "name": "user1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/readme.md b/specification/databoxedge/resource-manager/readme.md index 8568a6f83a69..754290d39557 100644 --- a/specification/databoxedge/resource-manager/readme.md +++ b/specification/databoxedge/resource-manager/readme.md @@ -26,7 +26,23 @@ These are the global settings for the DataBox Edge API. ``` yaml openapi-type: arm -tag: package-2021-02-01 +tag: package-2021-06-01 +``` +### Tag: package-2021-06-01 + +These settings apply only when `--tag=package-2021-06-01` is specified on the command line. + +``` yaml $(tag) == 'package-2021-06-01' +input-file: +- Microsoft.DataBoxEdge/stable/2021-06-01/databoxedge.json +``` +### Tag: package-2021-06-01-preview + +These settings apply only when `--tag=package-2021-06-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2021-06-01-preview' +input-file: +- Microsoft.DataBoxEdge/preview/2021-06-01-preview/databoxedge.json ``` ### Tag: package-2021-02-01 diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/databricks.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/databricks.json index 9ed69d22aadb..9562eb609ca5 100644 --- a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/databricks.json +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/databricks.json @@ -364,7 +364,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateLinkResources": { "get": { "tags": [ - "GET" + "PrivateLinkResources" ], "summary": "List private link resources", "description": "List private link resources for a given workspace", @@ -410,7 +410,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateLinkResources/{groupId}": { "get": { "tags": [ - "GET" + "PrivateLinkResources" ], "summary": "Get the specified private link resource", "description": "Get the specified private link resource for the given group id (sub-resource)", @@ -456,7 +456,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateEndpointConnections": { "get": { "tags": [ - "GET" + "PrivateEndpointConnections" ], "summary": "List private endpoint connections", "description": "List private endpoint connections of the workspace", @@ -502,7 +502,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}": { "get": { "tags": [ - "GET" + "PrivateEndpointConnections" ], "summary": "Get private endpoint connection", "description": "Get a private endpoint connection properties for a workspace", @@ -546,7 +546,7 @@ }, "put": { "tags": [ - "PUT" + "PrivateEndpointConnections" ], "summary": "Update private endpoint connection status", "description": "Update the status of a private endpoint connection with the specified name", @@ -606,7 +606,7 @@ }, "delete": { "tags": [ - "DELETE" + "PrivateEndpointConnections" ], "summary": "Remove private endpoint connection", "description": "Remove private endpoint connection with the specified name", @@ -656,7 +656,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/outboundNetworkDependenciesEndpoints": { "get": { "tags": [ - "GET" + "OutboundNetworkDependenciesEndpoints" ], "summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified Workspace.", "description": "Gets the list of endpoints that VNET Injected Workspace calls Azure Databricks Control Plane. You must configure outbound access with these endpoints. For more information, see https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/udr", diff --git a/specification/databricks/resource-manager/readme.go.md b/specification/databricks/resource-manager/readme.go.md index 867cec609286..dce6042a09ad 100644 --- a/specification/databricks/resource-manager/readme.go.md +++ b/specification/databricks/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION clear-output-folder: true namespace: databricks ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/databricks/armdatabricks +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/databricks/resource-manager/readme.md b/specification/databricks/resource-manager/readme.md index 21278c58cff4..97e2aef9cb2a 100644 --- a/specification/databricks/resource-manager/readme.md +++ b/specification/databricks/resource-manager/readme.md @@ -113,6 +113,7 @@ swagger-to-sdk: - repo: azure-powershell - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-resource-manager-schemas diff --git a/specification/datadog/resource-manager/readme.md b/specification/datadog/resource-manager/readme.md index 08c2573523b0..a5717a6d4a1c 100644 --- a/specification/datadog/resource-manager/readme.md +++ b/specification/datadog/resource-manager/readme.md @@ -100,27 +100,3 @@ See configuration in [readme.typescript.md](./readme.typescript.md) -## Multi-API/Profile support for AutoRest v3 generators - -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. - -This block is updated by an automatic script. Edits may be lost! - -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ -# include the azure profile definitions from the standard location -require: $(this-folder)/../../../profiles/readme.md - -# all the input files across all versions -input-file: - - $(this-folder)/Microsoft.Datadog/stable/2021-03-01/datadog.json - - $(this-folder)/Microsoft.Datadog/preview/2020-02-01-preview/datadog.json - -``` - -If there are files that should not be in the `all-api-versions` set, -uncomment the `exclude-file` section below and add the file paths. - -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json index 17ed134d46e4..6d71c9342240 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json @@ -5815,7 +5815,7 @@ "readOnly": true }, "status": { - "description": "The status of a pipeline run.", + "description": "The status of a pipeline run. Possible values: Queued, InProgress, Succeeded, Failed, Canceling, Cancelled", "type": "string", "readOnly": true }, @@ -6438,6 +6438,13 @@ "description": "Data flow instance.", "$ref": "#/definitions/DataFlowDebugResource" }, + "dataFlows": { + "description": "List of Data flows", + "type": "array", + "items": { + "$ref": "#/definitions/DataFlowDebugResource" + } + }, "datasets": { "type": "array", "description": "List of datasets.", @@ -6697,6 +6704,10 @@ "datasetParameters": { "type": "object", "description": "Reference data flow parameters from dataset." + }, + "parameters": { + "$ref": "#/definitions/ParameterValueSpecification", + "description": "Data flow parameters" } }, "additionalProperties": { diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json index ded95ed5803a..b2627d72cbd9 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json @@ -66,6 +66,23 @@ } } }, + "Flowlet": { + "x-ms-discriminator-value": "Flowlet", + "description": "Data flow flowlet", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataFlow" + } + ], + "properties": { + "typeProperties": { + "description": "Flowlet type properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/FlowletTypeProperties" + } + } + }, "MappingDataFlowTypeProperties": { "description": "Mapping data flow type properties.", "properties": { @@ -93,6 +110,13 @@ "script": { "type": "string", "description": "DataFlow script." + }, + "scriptLines": { + "type": "array", + "description": "Data flow script lines.", + "items": { + "type": "string" + } } } }, @@ -127,6 +151,48 @@ "script": { "type": "string", "description": "Power query mashup script." + }, + "documentLocale": { + "type": "string", + "description": "Locale of the Power query mashup document." + } + } + }, + "FlowletTypeProperties": { + "description": "Flowlet type properties.", + "type": "object", + "properties": { + "sources": { + "type": "array", + "description": "List of sources in Flowlet.", + "items": { + "$ref": "#/definitions/DataFlowSource" + } + }, + "sinks": { + "type": "array", + "description": "List of sinks in Flowlet.", + "items": { + "$ref": "#/definitions/DataFlowSink" + } + }, + "transformations": { + "type": "array", + "description": "List of transformations in Flowlet.", + "items": { + "$ref": "#/definitions/Transformation" + } + }, + "script": { + "type": "string", + "description": "Flowlet script." + }, + "scriptLines": { + "type": "array", + "description": "Flowlet script lines.", + "items": { + "type": "string" + } } } }, @@ -141,6 +207,18 @@ "description": { "description": "Transformation description.", "type": "string" + }, + "dataset": { + "description": "Dataset reference.", + "$ref": "../datafactory.json#/definitions/DatasetReference" + }, + "linkedService": { + "description": "Linked service reference.", + "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + }, + "flowlet": { + "description": "Flowlet Reference", + "$ref": "../datafactory.json#/definitions/DataFlowReference" } }, "required": [ @@ -166,6 +244,10 @@ "schemaLinkedService": { "description": "Schema linked service reference.", "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + }, + "flowlet": { + "description": "Flowlet Reference", + "$ref": "../datafactory.json#/definitions/DataFlowReference" } } }, @@ -188,6 +270,10 @@ "schemaLinkedService": { "description": "Schema linked service reference.", "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + }, + "flowlet": { + "description": "Flowlet Reference", + "$ref": "../datafactory.json#/definitions/DataFlowReference" } } }, diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json index f04316733701..3d207499b2e7 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json @@ -446,13 +446,16 @@ ] }, "DatasetCompression": { - "discriminator": "type", "description": "The compression method used on a dataset.", "type": "object", "properties": { "type": { "type": "object", "description": "Type of dataset compression. Type: string (or Expression with resultType string)." + }, + "level": { + "type": "object", + "description": "The dataset compression level. Type: string (or Expression with resultType string)." } }, "additionalProperties": { @@ -462,92 +465,6 @@ "type" ] }, - "DatasetBZip2Compression": { - "x-ms-discriminator-value": "BZip2", - "description": "The BZip2 compression method used on a dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DatasetCompression" - } - ], - "properties": {} - }, - "DatasetGZipCompression": { - "x-ms-discriminator-value": "GZip", - "description": "The GZip compression method used on a dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DatasetCompression" - } - ], - "properties": { - "level": { - "type": "object", - "description": "The GZip compression level." - } - } - }, - "DatasetDeflateCompression": { - "x-ms-discriminator-value": "Deflate", - "description": "The Deflate compression method used on a dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DatasetCompression" - } - ], - "properties": { - "level": { - "type": "object", - "description": "The Deflate compression level." - } - } - }, - "DatasetZipDeflateCompression": { - "x-ms-discriminator-value": "ZipDeflate", - "description": "The ZipDeflate compression method used on a dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DatasetCompression" - } - ], - "properties": { - "level": { - "type": "object", - "description": "The ZipDeflate compression level." - } - } - }, - "DatasetTarCompression": { - "x-ms-discriminator-value": "Tar", - "description": "The Tar archive method used on a dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DatasetCompression" - } - ], - "properties": {} - }, - "DatasetTarGZipCompression": { - "x-ms-discriminator-value": "TarGZip", - "description": "The TarGZip compression method used on a dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DatasetCompression" - } - ], - "properties": { - "level": { - "type": "object", - "description": "The TarGZip compression level." - } - } - }, "CompressionLevel": { "title": "Microsoft.Azure.Management.DataFactories.Models.CompressionLevel", "description": "All available compression levels.", diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json index 13d3ea93b24a..5e26933b60db 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json @@ -789,6 +789,10 @@ "useBinaryTransfer": { "type": "boolean", "description": "Specify whether to use binary transfer mode for FTP stores." + }, + "disableChunking": { + "type": "object", + "description": "If true, disable parallel reading within each file. Default is false. Type: boolean (or Expression with resultType boolean)." } } }, @@ -836,6 +840,10 @@ "modifiedDatetimeEnd": { "type": "object", "description": "The end of file's modified datetime. Type: string (or Expression with resultType string)." + }, + "disableChunking": { + "type": "object", + "description": "If true, disable parallel reading within each file. Default is false. Type: boolean (or Expression with resultType boolean)." } } }, @@ -7286,10 +7294,34 @@ "properties": { "sinks": { "type": "object", - "description": "List of Power Query activity sinks mapped to a queryName.", + "description": "(Deprecated. Please use Queries). List of Power Query activity sinks mapped to a queryName.", "additionalProperties": { "$ref": "./DataFlow.json#/definitions/PowerQuerySink" } + }, + "queries": { + "type": "array", + "description": "List of mapping for Power Query mashup query to sink dataset(s).", + "items": { + "$ref": "#/definitions/PowerQuerySinkMapping" + } + } + } + }, + "PowerQuerySinkMapping": { + "description": "Map Power Query mashup query to sink dataset(s).", + "type": "object", + "properties": { + "queryName": { + "description": "Name of the query in Power Query mashup document.", + "type": "string" + }, + "dataflowSinks": { + "type": "array", + "description": "List of sinks mapped to Power Query mashup query.", + "items": { + "$ref": "./DataFlow.json#/definitions/PowerQuerySink" + } } } }, diff --git a/specification/datafactory/resource-manager/readme.go.md b/specification/datafactory/resource-manager/readme.go.md index a3a1c9df2836..e6077df1bc58 100644 --- a/specification/datafactory/resource-manager/readme.go.md +++ b/specification/datafactory/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/datafactory/armdatafactory +module-name: sdk/resourcemanager/datafactory/armdatafactory module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/datafactory/resource-manager/readme.md b/specification/datafactory/resource-manager/readme.md index 4508d4348157..7061c3b95061 100644 --- a/specification/datafactory/resource-manager/readme.md +++ b/specification/datafactory/resource-manager/readme.md @@ -70,6 +70,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-cli-extensions diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/account.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/account.json index ce61db91715a..3e2cd51c23ba 100644 --- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/account.json +++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/account.json @@ -636,6 +636,9 @@ "200": { "description": "Successfully removed the specified Azure Data Lake Store account information from the specified Azure Data Lake Analytics account." }, + "204": { + "description": "The specified datalake storage account does not exist or was already deleted." + }, "default": { "schema": { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" @@ -2124,6 +2127,12 @@ }, "description": "The results of the list operation." }, + "count": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The current number of data lake analytics accounts under this subscription." + }, "nextLink": { "readOnly": true, "type": "string", diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/examples/DataLakeStoreAccounts_Delete.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/examples/DataLakeStoreAccounts_Delete.json index c4ec0f560ff7..e841d9d0c7b2 100644 --- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/examples/DataLakeStoreAccounts_Delete.json +++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/examples/DataLakeStoreAccounts_Delete.json @@ -7,6 +7,7 @@ "dataLakeStoreAccountName": "test_adls_account" }, "responses": { - "200": {} + "200": {}, + "204": {} } } diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json index 8d9f688f27d3..630fa171719f 100644 --- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json +++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json @@ -636,6 +636,9 @@ "200": { "description": "Successfully removed the specified Azure Data Lake Store account information from the specified Azure Data Lake Analytics account." }, + "204": { + "description": "The specified datalake storage account does not exist or was already deleted." + }, "default": { "schema": { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" @@ -2119,6 +2122,12 @@ }, "description": "The results of the list operation." }, + "count": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The current number of data lake analytics accounts under this subscription." + }, "nextLink": { "readOnly": true, "type": "string", diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/DataLakeStoreAccounts_Delete.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/DataLakeStoreAccounts_Delete.json index 81ea00b35fcf..4bd020a8aaf4 100644 --- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/DataLakeStoreAccounts_Delete.json +++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/DataLakeStoreAccounts_Delete.json @@ -7,6 +7,7 @@ "dataLakeStoreAccountName": "test_adls_account" }, "responses": { - "200": {} + "200": {}, + "204": {} } } diff --git a/specification/datalake-analytics/resource-manager/readme.go.md b/specification/datalake-analytics/resource-manager/readme.go.md index c4f0b7e1a376..55edfdc3b28a 100644 --- a/specification/datalake-analytics/resource-manager/readme.go.md +++ b/specification/datalake-analytics/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: account clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/datalake-analytics/armdatalakeanalytics +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/datalake-analytics/resource-manager/readme.md b/specification/datalake-analytics/resource-manager/readme.md index 11a2ba949b50..4e581f076b95 100644 --- a/specification/datalake-analytics/resource-manager/readme.md +++ b/specification/datalake-analytics/resource-manager/readme.md @@ -86,6 +86,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby after_scripts: diff --git a/specification/datalake-store/resource-manager/readme.go.md b/specification/datalake-store/resource-manager/readme.go.md index 9c4ae20f0a49..b17bd352b460 100644 --- a/specification/datalake-store/resource-manager/readme.go.md +++ b/specification/datalake-store/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/datalake-store/armdatalakestore +module-name: sdk/resourcemanager/datalake-store/armdatalakestore module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/dataprotection/resource-manager/readme.md b/specification/dataprotection/resource-manager/readme.md index 5ee7f5607149..c73bbdf176b4 100644 --- a/specification/dataprotection/resource-manager/readme.md +++ b/specification/dataprotection/resource-manager/readme.md @@ -102,7 +102,7 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-net - - repo: azure-sdk-for-python + - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-js @@ -128,6 +128,10 @@ csharp: clear-output-folder: true ``` +## Python + +See configuration in [readme.python.md](./readme.python.md) + ## Go See configuration in [readme.go.md](./readme.go.md) @@ -136,27 +140,3 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) -## Multi-API/Profile support for AutoRest v3 generators - -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. - -This block is updated by an automatic script. Edits may be lost! - -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ -# include the azure profile definitions from the standard location -require: $(this-folder)/../../../profiles/readme.md - -# all the input files across all versions -input-file: - - Microsoft.DataProtection/stable/2021-01-01/dataprotection.json - - Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json - - Microsoft.DataProtection/preview/2021-06-01-preview/dataprotection.json -``` - -If there are files that should not be in the `all-api-versions` set, -uncomment the `exclude-file` section below and add the file paths. - -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/2010-01-01/somefile.json -``` diff --git a/specification/dataprotection/resource-manager/readme.python.md b/specification/dataprotection/resource-manager/readme.python.md index e9f977631a66..956d34fade65 100644 --- a/specification/dataprotection/resource-manager/readme.python.md +++ b/specification/dataprotection/resource-manager/readme.python.md @@ -4,24 +4,20 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. -``` yaml $(python) -python-mode: create -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: azure.mgmt.dataprotection - package-name: azure-mgmt-dataprotection - package-version: 1.0.0b1 - clear-output-folder: true +``` yaml $(python) && $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +namespace: azure.mgmt.dataprotection +package-name: azure-mgmt-dataprotection +package-version: 1.0.0b1 +clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/dataprotection/azure-mgmt-dataprotection/azure/mgmt/dataprotection + +``` yaml $(python) && $(python-mode) == 'update' && $(track2) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/dataprotection/azure-mgmt-dataprotection/azure/mgmt/dataprotection ``` -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/dataprotection/azure-mgmt-dataprotection +``` yaml $(python) && $(python-mode) == 'create' && $(track2) +basic-setup-py: true +output-folder: $(python-sdks-folder)/dataprotection/azure-mgmt-dataprotection ``` diff --git a/specification/datashare/resource-manager/readme.md b/specification/datashare/resource-manager/readme.md index fc4537f05508..f2a798002cae 100644 --- a/specification/datashare/resource-manager/readme.md +++ b/specification/datashare/resource-manager/readme.md @@ -115,30 +115,3 @@ See configuration in [readme.python.md](./readme.python.md) See configuration in [readme.go.md](./readme.go.md) -## Multi-API/Profile support for AutoRest v3 generators - -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. - -This block is updated by an automatic script. Edits may be lost! - -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ -# include the azure profile definitions from the standard location -require: $(this-folder)/../../../profiles/readme.md - -# all the input files across all versions -input-file: - - $(this-folder)/Microsoft.DataShare/preview/2018-11-01-preview/DataShare.json - - $(this-folder)/Microsoft.DataShare/stable/2019-11-01/DataShare.json - - $(this-folder)/Microsoft.DataShare/stable/2020-09-01/DataShare.json - - $(this-folder)/Microsoft.DataShare/preview/2020-10-01-preview/DataShare.json - - $(this-folder)/Microsoft.DataShare/stable/2021-08-01/DataShare.json - -``` - -If there are files that should not be in the `all-api-versions` set, -uncomment the `exclude-file` section below and add the file paths. - -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` \ No newline at end of file diff --git a/specification/desktopvirtualization/resource-manager/readme.go.md b/specification/desktopvirtualization/resource-manager/readme.go.md index 6afe6985300d..8446235b9ddc 100644 --- a/specification/desktopvirtualization/resource-manager/readme.go.md +++ b/specification/desktopvirtualization/resource-manager/readme.go.md @@ -23,6 +23,16 @@ batch: - tag: package-2021-02-01-preview - tag: package-2021-03-09-preview - tag: package-2021-04-01-preview + - tag: package-preview-2021-09 +``` + +### Tag: package-preview-2021-09 and go + +These settings apply only when `--tag=package-preview-2021-09 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-preview-2021-09' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-09-03-preview/$(namespace) ``` ### Tag: package-2021-04-01-preview and go diff --git a/specification/desktopvirtualization/resource-manager/readme.md b/specification/desktopvirtualization/resource-manager/readme.md index dc825b87e53e..276a9c3df1db 100644 --- a/specification/desktopvirtualization/resource-manager/readme.md +++ b/specification/desktopvirtualization/resource-manager/readme.md @@ -149,7 +149,7 @@ This is not used by Autorest itself. swagger-to-sdk: - repo: azure-powershell - repo: azure-sdk-for-csharp - - repo: azure-sdk-for-python + - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-js @@ -189,36 +189,3 @@ See configuration in [readme.node.md](./readme.node.md) See configuration in [readme.ruby.md](./readme.ruby.md) -## Multi-API/Profile support for AutoRest v3 generators - -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. - -This block is updated by an automatic script. Edits may be lost! - -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ -# include the azure profile definitions from the standard location -require: $(this-folder)/../../../profiles/readme.md - -# all the input files across all versions -input-file: - - $(this-folder)/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json - - $(this-folder)/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json - - $(this-folder)/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json - - $(this-folder)/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/desktopvirtualization.json - - $(this-folder)/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/desktopvirtualization.json - - $(this-folder)/Microsoft.DesktopVirtualization/preview/2020-11-02-preview/desktopvirtualization.json - - $(this-folder)/Microsoft.DesktopVirtualization/preview/2020-11-10-preview/desktopvirtualization.json - - $(this-folder)/Microsoft.DesktopVirtualization/preview/2021-01-14-preview/desktopvirtualization.json - - $(this-folder)/Microsoft.DesktopVirtualization/preview/2021-02-01-preview/desktopvirtualization.json - - $(this-folder)/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/desktopvirtualization.json - - $(this-folder)/Microsoft.DesktopVirtualization/preview/2021-04-01-preview/desktopvirtualization.json - -``` - -If there are files that should not be in the `all-api-versions` set, -uncomment the `exclude-file` section below and add the file paths. - -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` diff --git a/specification/desktopvirtualization/resource-manager/readme.python.md b/specification/desktopvirtualization/resource-manager/readme.python.md index 454b0737ac27..1fb1b630a50c 100644 --- a/specification/desktopvirtualization/resource-manager/readme.python.md +++ b/specification/desktopvirtualization/resource-manager/readme.python.md @@ -2,26 +2,22 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. -``` yaml $(python) -python-mode: create -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: azure.mgmt.desktopvirtualization - package-name: azure-mgmt-desktopvirtualization - package-version: 0.2.0 - clear-output-folder: true +``` yaml $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-desktopvirtualization +no-namespace-folders: true +package-version: 1.0.0b1 +clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/azure-mgmt-desktopvirtualization/azure/mgmt/desktopvirtualization + +``` yaml $(python-mode) == 'update' && $(track2) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/desktopvirtualization/azure-mgmt-desktopvirtualization/azure/mgmt/desktopvirtualization ``` -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/azure-mgmt-desktopvirtualization + +``` yaml $(python-mode) == 'create' && $(track2) +basic-setup-py: true +output-folder: $(python-sdks-folder)/desktopvirtualization/azure-mgmt-desktopvirtualization ``` diff --git a/specification/desktopvirtualization/resource-manager/readme.typescript.md b/specification/desktopvirtualization/resource-manager/readme.typescript.md index 1c42590f0e2b..58716fe39a3f 100644 --- a/specification/desktopvirtualization/resource-manager/readme.typescript.md +++ b/specification/desktopvirtualization/resource-manager/readme.typescript.md @@ -6,8 +6,8 @@ Please also specify `--typescript-sdks-folder=`. + +``` yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + namespace: Microsoft.Devices + output-folder: $(csharp-sdks-folder)/deviceprovisioningservices/management/Microsoft.Devices/Generated + clear-output-folder: true +``` \ No newline at end of file diff --git a/specification/deviceprovisioningservices/data-plane/readme.md b/specification/deviceprovisioningservices/data-plane/readme.md new file mode 100644 index 000000000000..a85695dbea29 --- /dev/null +++ b/specification/deviceprovisioningservices/data-plane/readme.md @@ -0,0 +1,63 @@ +# Device Provisioning Service + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Device Provisioning Service. + +--- + +## Getting Started + +To build the SDK for Device Provisioning Service, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: + +> `autorest` + +To see additional help and options, run: + +> `autorest --help` + +--- + +## Configuration + +### Basic Information + +These are the global settings for the IotHub API. + +``` yaml +openapi-type: arm +tag: package-2021-10-01 +``` + + +### Tag: package-2021-10-01 + +These settings apply only when `--tag=package-2021-10-01` is specified on the command line. + +```yaml $(tag) == 'package-2021-10-01' +input-file: + - Microsoft.Devices/stable/2021-10-01/service.json +``` +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-net + - repo: azure-sdk-for-java + - repo: azure-sdk-for-js + - repo: azure-sdk-for-node + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_iot_hub_provisioning_services'] + - repo: azure-resource-manager-schemas +``` + +## C# + +See configuration in [readme.csharp.md](./readme.csharp.md) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCertificateCreateOrUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCertificateCreateOrUpdate.json new file mode 100644 index 000000000000..533f16904bf7 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCertificateCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "certificateDescription": { + "certificate": "############################################" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "certificate": "############################################", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpNs=" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCheckNameAvailability.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCheckNameAvailability.json new file mode 100644 index 000000000000..0e4aa5da3076 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCheckNameAvailability.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "arguments": { + "name": "test213123" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "Invalid", + "message": "name is valid" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCreate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCreate.json new file mode 100644 index 000000000000..bdd56117f3d4 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCreate.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "iotDpsDescription": { + "location": "East US", + "properties": { + "enableDataResidency": false + }, + "sku": { + "name": "S1", + "capacity": 1 + }, + "tags": {} + } + }, + "responses": { + "200": { + "body": { + "etag": "AAAAAAAADGk=", + "name": "myFirstProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "authorizationPolicies": [], + "enableDataResidency": false + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + }, + "201": { + "body": { + "etag": "AAAAAAAADGk=", + "name": "myFirstProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "authorizationPolicies": [], + "enableDataResidency": false + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCreateOrUpdatePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCreateOrUpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..0f7bd6619300 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCreateOrUpdatePrivateEndpointConnection.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSDelete.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSDelete.json new file mode 100644 index 000000000000..df3ec6c19ac0 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": {}, + "204": {}, + "202": {}, + "404": {} + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSDeleteCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSDeleteCertificate.json new file mode 100644 index 000000000000..05c0226c64d8 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSDeleteCertificate.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSDeletePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..a6e6b9903e7e --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSDeletePrivateEndpointConnection.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "Deleted", + "actionsRequired": "None" + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "Deleted", + "actionsRequired": "None" + } + } + } + }, + "204": {} + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGenerateVerificationCode.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGenerateVerificationCode.json new file mode 100644 index 000000000000..05954bec44c0 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGenerateVerificationCode.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=" + }, + "responses": { + "200": { + "body": { + "name": "cert", + "properties": { + "verificationCode": "##################################", + "subject": "CN=andbucdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "##############################", + "certificate": "###########################", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT" + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGet.json new file mode 100644 index 000000000000..990419b2ff0d --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "etag": "AAAAAAAADGk=", + "name": "myFirstProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "authorizationPolicies": [] + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetCertificate.json new file mode 100644 index 000000000000..6d42d08b748d --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetCertificate.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert" + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "certificate": "######################################", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpNs=" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetCertificates.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetCertificates.json new file mode 100644 index 000000000000..0749e8b47528 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetCertificates.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpNs=" + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetKey.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetKey.json new file mode 100644 index 000000000000..59cfd1dedda1 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "keyName": "testKey" + }, + "responses": { + "200": { + "body": { + "keyName": "testKey", + "primaryKey": "##################################", + "secondaryKey": "################################", + "rights": "RegistrationStatusWrite" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetOperationResult.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetOperationResult.json new file mode 100644 index 000000000000..7b42073c8891 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetOperationResult.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "operationId": "MTY5OTNmZDctODI5Yy00N2E2LTkxNDQtMDU1NGIyYzY1ZjRl", + "asyncinfo": "1508265712453" + }, + "responses": { + "200": { + "body": { + "status": "Succeeded" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetPrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..f225fdfb3ed0 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetPrivateEndpointConnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request!", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetPrivateLinkResources.json new file mode 100644 index 000000000000..7e5dd092b9fe --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetPrivateLinkResources.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "groupId": "iotDps" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateLinkResources/iotDps", + "name": "iotDps", + "type": "Microsoft.Devices/ProvisioningServices/PrivateLinkResources", + "properties": { + "groupId": "iotDps", + "requiredMembers": [ + "iotDps" + ], + "requiredZoneNames": [ + "privatelink.azure-devices-provisioning.net" + ] + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetValidSku.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetValidSku.json new file mode 100644 index 000000000000..bd7172404ce3 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetValidSku.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "S1" + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListByResourceGroup.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListByResourceGroup.json new file mode 100644 index 000000000000..edcfab5f6c2d --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListByResourceGroup.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "etag": "AAAAAAAADGk=", + "name": "myFirstProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012" + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + }, + { + "etag": "AAAAAAAADGk=", + "name": "mySecondProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "mySecondProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012" + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/mySecondProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListBySubscription.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListBySubscription.json new file mode 100644 index 000000000000..10809ab99f65 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListBySubscription.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "etag": "AAAAAAAADGk=", + "name": "myFirstProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012" + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + }, + { + "etag": "AAAAAAAADGk=", + "name": "mySecondProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012" + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/mySecondProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListKeys.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListKeys.json new file mode 100644 index 000000000000..244001271379 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListKeys.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "keyName": "key1", + "primaryKey": "#####################################", + "secondaryKey": "###################################", + "rights": "ServiceConfig" + }, + { + "keyName": "key2", + "primaryKey": "#######################################", + "secondaryKey": "####################################=", + "rights": "ServiceConfig" + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListPrivateEndpointConnections.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListPrivateEndpointConnections.json new file mode 100644 index 000000000000..44aedc7b3ca4 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListPrivateEndpointConnections.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request!", + "actionsRequired": "None" + } + } + } + ] + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListPrivateLinkResources.json new file mode 100644 index 000000000000..a734845280ad --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListPrivateLinkResources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateLinkResources/iotDps", + "name": "iotDps", + "type": "Microsoft.Devices/ProvisioningServices/PrivateLinkResources", + "properties": { + "groupId": "iotDps", + "requiredMembers": [ + "iotDps" + ], + "requiredZoneNames": [ + "privatelink.azure-devices-provisioning.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSOperations.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSOperations.json new file mode 100644 index 000000000000..8803ccd6798c --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSOperations.json @@ -0,0 +1,293 @@ +{ + "parameters": { + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Devices/register/action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Register Resource Provider" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Diagnostic Setting" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Set Diagnostic Setting" + } + }, + { + "name": "Microsoft.Devices/IotHubs/metricDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read IotHub service metric definitions" + } + }, + { + "name": "Microsoft.Devices/IotHubs/logDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read IotHub service log definitions" + } + }, + { + "name": "Microsoft.Devices/operations/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get All ResourceProvider Operations" + } + }, + { + "name": "Microsoft.Devices/checkNameAvailability/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Check If IotHub name is available" + } + }, + { + "name": "Microsoft.Devices/usages/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Subscription Usages" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub(s)" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Create or update IotHub Resource" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Delete IotHub Resource" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubStats/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub Statistics" + } + }, + { + "name": "Microsoft.Devices/iotHubs/skus/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get valid IotHub Skus" + } + }, + { + "name": "Microsoft.Devices/iotHubs/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get all IotHub Keys" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub Key for the given name" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Create EventHub Consumer Group" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get EventHub Consumer Group(s)" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Delete EventHub Consumer Group" + } + }, + { + "name": "Microsoft.Devices/iotHubs/exportDevices/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Export Devices" + } + }, + { + "name": "Microsoft.Devices/iotHubs/importDevices/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Import Devices" + } + }, + { + "name": "Microsoft.Devices/iotHubs/jobs/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get the Job(s) on IotHub" + } + }, + { + "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Quota Metrics" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Routing Rule Test All" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Routing Rule Test Route" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Endpoint Health" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Diagnostic Setting" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Set Diagnostic Setting" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read DPS service metric definitions" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read DPS service log definitions" + } + }, + { + "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServives", + "operation": "Check If Provisioning Service name is available" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Get Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Create Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Delete Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/skus/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Delete Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "get security related metadata" + } + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSPatch.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSPatch.json new file mode 100644 index 000000000000..ac5169c58f33 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSPatch.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "location": "East US", + "type": "Microsoft.Devices/ProvisioningServices", + "ProvisioningServiceTags": { + "tags": { + "foo": "bar" + } + } + }, + "responses": { + "200": { + "body": { + "etag": "AAAAAAAADGk=", + "name": "myFirstProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012" + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "tags": { + "foo": "bar" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSVerifyCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSVerifyCertificate.json new file mode 100644 index 000000000000..0f919df7d2dd --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSVerifyCertificate.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=", + "request": { + "certificate": "#####################################" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=andbucdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "certificate": "#####################################", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": true, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpTQ=" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/iotdps.json new file mode 100644 index 000000000000..ed07f6780147 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/iotdps.json @@ -0,0 +1,2546 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-15", + "x-ms-code-generation-settings": { + "host": "management.azure.com" + }, + "title": "iotDpsClient", + "description": "API for using the Azure IoT Hub Device Provisioning Service features." + }, + "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": { + "/providers/Microsoft.Devices/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "DPSOperations": { + "$ref": "./examples/DPSOperations.json" + } + }, + "description": "Lists all of the available Microsoft.Devices REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}": { + "get": { + "tags": [ + "GET" + ], + "operationId": "DpsCertificate_Get", + "description": "Get the certificate from the provisioning service.", + "x-ms-examples": { + "DPSGetCertificate": { + "$ref": "./examples/DPSGetCertificate.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "certificateName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the certificate to retrieve." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the provisioning service the certificate is associated with." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the certificate." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Metadata for the specified certificate.", + "schema": { + "$ref": "#/definitions/CertificateResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "put": { + "tags": [ + "PUT" + ], + "summary": "Upload the certificate to the provisioning service.", + "description": "Add new certificate or update an existing certificate.", + "operationId": "DpsCertificate_CreateOrUpdate", + "x-ms-examples": { + "DPSCreateOrUpdateCertificate": { + "$ref": "./examples/DPSCertificateCreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group identifier.", + "required": true, + "type": "string" + }, + { + "name": "provisioningServiceName", + "in": "path", + "description": "The name of the provisioning service.", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "in": "path", + "description": "The name of the certificate create or update.", + "required": true, + "type": "string", + "maxLength": 256 + }, + { + "name": "certificateDescription", + "in": "body", + "description": "The certificate body.", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateBodyDescription" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate." + } + ], + "responses": { + "200": { + "description": "If certificate already exist and update was successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/CertificateResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "DELETE" + ], + "operationId": "DpsCertificate_Delete", + "summary": "Delete the Provisioning Service Certificate.", + "description": "Deletes the specified certificate associated with the Provisioning Service", + "x-ms-examples": { + "DPSDeleteCertificate": { + "$ref": "./examples/DPSDeleteCertificate.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the certificate" + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the provisioning service." + }, + { + "name": "certificateName", + "in": "path", + "required": true, + "type": "string", + "description": "This is a mandatory field, and is the logical name of the certificate that the provisioning service will access by." + }, + { + "name": "certificate.name", + "in": "query", + "required": false, + "type": "string", + "description": "This is optional, and it is the Common Name of the certificate." + }, + { + "name": "certificate.rawBytes", + "in": "query", + "required": false, + "type": "string", + "format": "byte", + "description": "Raw data within the certificate." + }, + { + "name": "certificate.isVerified", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates if certificate has been verified by owner of the private key." + }, + { + "name": "certificate.purpose", + "in": "query", + "required": false, + "type": "string", + "description": "A description that mentions the purpose of the certificate.", + "enum": [ + "clientAuthentication", + "serverAuthentication" + ], + "x-ms-enum": { + "name": "CertificatePurpose", + "modelAsString": true + } + }, + { + "name": "certificate.created", + "in": "query", + "description": "Time the certificate is created.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "certificate.lastUpdated", + "in": "query", + "required": false, + "type": "string", + "description": "Time the certificate is last updated.", + "format": "date-time" + }, + { + "name": "certificate.hasPrivateKey", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates if the certificate contains a private key." + }, + { + "name": "certificate.nonce", + "in": "query", + "required": false, + "type": "string", + "description": "Random number generated to indicate Proof of Possession." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the non-security related metadata of the provisioning service.", + "description": "Get the metadata of the provisioning service without SAS keys.", + "operationId": "IotDpsResource_Get", + "x-ms-examples": { + "DPSGet": { + "$ref": "./examples/DPSGet.json" + } + }, + "parameters": [ + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the provisioning service to retrieve." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group name." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Provisioning service description with no keys is included in the response.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + }, + "default": { + "description": "Default error response", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "put": { + "tags": [ + "PUT" + ], + "summary": "Create or update the metadata of the provisioning service.", + "description": "Create or update the metadata of the provisioning service. The usual pattern to modify a property is to retrieve the provisioning service metadata and security metadata, and then combine them with the modified values in a new body to update the provisioning service.", + "x-ms-long-running-operation": true, + "operationId": "IotDpsResource_CreateOrUpdate", + "x-ms-examples": { + "DPSCreate": { + "$ref": "./examples/DPSCreate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service to create or update." + }, + { + "name": "iotDpsDescription", + "in": "body", + "required": true, + "description": "Description of the provisioning service to create or update.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "The body contains all the non-security properties of the provisioning service. Security-related properties are set to null.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + }, + "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/ProvisioningServiceDescription" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "patch": { + "tags": [ + "PATCH" + ], + "summary": "Update an existing provisioning service's tags.", + "description": "Update an existing provisioning service's tags. to update other fields use the CreateOrUpdate method", + "x-ms-long-running-operation": true, + "operationId": "IotDpsResource_Update", + "x-ms-examples": { + "DPSPatch": { + "$ref": "./examples/DPSPatch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service to create or update." + }, + { + "name": "ProvisioningServiceTags", + "in": "body", + "required": true, + "description": "Updated tag information to set into the provisioning service instance.", + "schema": { + "$ref": "#/definitions/TagsResource" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Provisioning Service was successfully updated", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "DELETE" + ], + "summary": "Delete the Provisioning Service", + "description": "Deletes the Provisioning Service.", + "x-ms-long-running-operation": true, + "operationId": "IotDpsResource_Delete", + "x-ms-examples": { + "DPSDelete": { + "$ref": "./examples/DPSDelete.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service to delete." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "202": { + "description": "The provisioning service resource provider always returns a 202 Accepted status code with valid Location and Retry-After headers. The resource provider also sets the Azure-AsyncOperation header with a URL that points to the operation resource for this operation. Subsequent GET attempts on the resource after a DELETE operation return a resource representation that indicates a transitional provisioning state (such as Terminating). To retrieve the status of the operation, a client can either poll the URL returned in the Location header after the Retry-After interval, get the provisioning service status directly, or query the operation resource." + }, + "200": { + "description": "This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state." + }, + "204": { + "description": "Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the provisioning service metadata in the service and the status of the delete operation is set to a completed state." + }, + "404": { + "description": "After the long running delete operation completes successfully, a 404 Not Found is returned when the status polling request no longer finds the provisioning service metadata in the service." + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates": { + "get": { + "tags": [ + "GET" + ], + "operationId": "DpsCertificate_List", + "description": "Get all the certificates tied to the provisioning service.", + "x-ms-examples": { + "DPSGetCertificates": { + "$ref": "./examples/DPSGetCertificates.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of resource group." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service to retrieve certificates for." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "List of certificate descriptions in a JSON-serialized array.", + "schema": { + "$ref": "#/definitions/CertificateListDescription" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/provisioningServices": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get all the provisioning services in a subscription.", + "description": "List all the provisioning services for a given subscription id.", + "operationId": "IotDpsResource_ListBySubscription", + "x-ms-examples": { + "DPSListBySubscription": { + "$ref": "./examples/DPSListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the provisioning services in the subscription.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescriptionListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices": { + "get": { + "tags": [ + "GET" + ], + "operationId": "IotDpsResource_ListByResourceGroup", + "description": "Get a list of all provisioning services in the given resource group.", + "x-ms-examples": { + "DPSListByResourceGroup": { + "$ref": "./examples/DPSListByResourceGroup.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "List of provisioning services in the resource group.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescriptionListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/operationresults/{operationId}": { + "get": { + "tags": [ + "GET" + ], + "operationId": "IotDpsResource_GetOperationResult", + "description": "Gets the status of a long running operation, such as create, update or delete a provisioning service.", + "x-ms-examples": { + "DPSGetOperationResult": { + "$ref": "./examples/DPSGetOperationResult.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "Operation id corresponding to long running operation. Use this to poll for the status." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service that the operation is running on." + }, + { + "name": "asyncinfo", + "in": "query", + "description": "Async header used to poll on the status of the operation, obtained while creating the long running operation.", + "required": true, + "type": "string", + "default": "true" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "The status of the long running operation.", + "schema": { + "$ref": "#/definitions/AsyncOperationResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/skus": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the list of valid SKUs for a provisioning service.", + "description": "Gets the list of valid SKUs and tiers for a provisioning service.", + "operationId": "IotDpsResource_listValidSkus", + "x-ms-examples": { + "DPSGetValidSku": { + "$ref": "./examples/DPSGetValidSku.json" + } + }, + "parameters": [ + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of resource group." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the valid SKUs for this provisioning service.", + "schema": { + "$ref": "#/definitions/IotDpsSkuDefinitionListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/generateVerificationCode": { + "post": { + "tags": [ + "POST" + ], + "operationId": "DpsCertificate_GenerateVerificationCode", + "description": "Generate verification code for Proof of Possession.", + "x-ms-examples": { + "DPSGenerateVerificationCode": { + "$ref": "./examples/DPSGenerateVerificationCode.json" + } + }, + "parameters": [ + { + "name": "certificateName", + "in": "path", + "required": true, + "type": "string", + "description": "The mandatory logical name of the certificate, that the provisioning service uses to access." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "name of resource group." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service." + }, + { + "name": "certificate.name", + "in": "query", + "required": false, + "type": "string", + "description": "Common Name for the certificate." + }, + { + "name": "certificate.rawBytes", + "in": "query", + "required": false, + "type": "string", + "format": "byte", + "description": "Raw data of certificate." + }, + { + "name": "certificate.isVerified", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates if the certificate has been verified by owner of the private key." + }, + { + "name": "certificate.purpose", + "in": "query", + "required": false, + "type": "string", + "description": "Description mentioning the purpose of the certificate.", + "enum": [ + "clientAuthentication", + "serverAuthentication" + ], + "x-ms-enum": { + "name": "CertificatePurpose", + "modelAsString": true + } + }, + { + "name": "certificate.created", + "in": "query", + "required": false, + "type": "string", + "format": "date-time", + "description": "Certificate creation time." + }, + { + "name": "certificate.lastUpdated", + "in": "query", + "required": false, + "type": "string", + "format": "date-time", + "description": "Certificate last updated time." + }, + { + "name": "certificate.hasPrivateKey", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates if the certificate contains private key." + }, + { + "name": "certificate.nonce", + "in": "query", + "required": false, + "type": "string", + "description": "Random number generated to indicate Proof of Possession." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Generated verification code for that certificate is returned.", + "schema": { + "$ref": "#/definitions/VerificationCodeResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/verify": { + "post": { + "tags": [ + "POST" + ], + "operationId": "DpsCertificate_VerifyCertificate", + "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.", + "x-ms-examples": { + "DPSVerifyCertificate": { + "$ref": "./examples/DPSVerifyCertificate.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "certificateName", + "in": "path", + "required": true, + "type": "string", + "description": "The mandatory logical name of the certificate, that the provisioning service uses to access." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the certificate." + }, + { + "name": "request", + "in": "body", + "required": true, + "description": "The name of the certificate", + "schema": { + "$ref": "#/definitions/VerificationCodeRequest" + } + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group name." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Provisioning service name." + }, + { + "name": "certificate.name", + "in": "query", + "required": false, + "type": "string", + "description": "Common Name for the certificate." + }, + { + "name": "certificate.rawBytes", + "in": "query", + "required": false, + "type": "string", + "format": "byte", + "description": "Raw data of certificate." + }, + { + "name": "certificate.isVerified", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates if the certificate has been verified by owner of the private key." + }, + { + "name": "certificate.purpose", + "in": "query", + "required": false, + "description": "Describe the purpose of the certificate.", + "type": "string", + "enum": [ + "clientAuthentication", + "serverAuthentication" + ], + "x-ms-enum": { + "name": "CertificatePurpose", + "modelAsString": true + } + }, + { + "name": "certificate.created", + "in": "query", + "required": false, + "type": "string", + "format": "date-time", + "description": "Certificate creation time." + }, + { + "name": "certificate.lastUpdated", + "in": "query", + "required": false, + "type": "string", + "format": "date-time", + "description": "Certificate last updated time." + }, + { + "name": "certificate.hasPrivateKey", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates if the certificate contains private key." + }, + { + "name": "certificate.nonce", + "in": "query", + "required": false, + "type": "string", + "description": "Random number generated to indicate Proof of Possession." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CertificateResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotDpsResource_CheckProvisioningServiceNameAvailability", + "x-ms-examples": { + "DPSCheckName": { + "$ref": "./examples/DPSCheckNameAvailability.json" + } + }, + "summary": "Check if a provisioning service name is available.", + "description": "Check if a provisioning service name is available. This will validate if the name is syntactically valid and if the name is usable", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "arguments", + "in": "body", + "required": true, + "description": "Set the name parameter in the OperationInputs structure to the name of the provisioning service to check.", + "schema": { + "$ref": "#/definitions/OperationInputs" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the provisioning service name is available. If the name is not available, the body contains the reason.", + "schema": { + "$ref": "#/definitions/NameAvailabilityInfo" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/listkeys": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotDpsResource_ListKeys", + "x-ms-examples": { + "DPSListKeys": { + "$ref": "./examples/DPSListKeys.json" + } + }, + "summary": "Get the security metadata for a provisioning service.", + "description": "List the primary and secondary keys for a provisioning service.", + "parameters": [ + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The provisioning service name to get the shared access keys for." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "resource group name" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of shared access policies, including keys, that you can use to access the provisioning service endpoints.", + "schema": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/keys/{keyName}/listkeys": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotDpsResource_ListKeysForKeyName", + "x-ms-examples": { + "DPSGetKey": { + "$ref": "./examples/DPSGetKey.json" + } + }, + "summary": "Get a shared access policy by name from a provisioning service.", + "description": "List primary and secondary keys for a specific key name", + "parameters": [ + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the provisioning service." + }, + { + "name": "keyName", + "in": "path", + "required": true, + "type": "string", + "description": "Logical key name to get key-values for." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The name of the resource group that contains the provisioning service.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized shared access policy, including keys, that you can use to access one or more provisioning service endpoints.", + "schema": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule[AccessRightsDescription]" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "GET" + ], + "summary": "List private link resources", + "description": "List private link resources for the given provisioning service", + "operationId": "IotDpsResource_ListPrivateLinkResources", + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/DPSListPrivateLinkResources.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/provisioningServices/{resourceName}/privateLinkResources/{groupId}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the specified private link resource", + "description": "Get the specified private link resource for the given provisioning service", + "operationId": "IotDpsResource_GetPrivateLinkResources", + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/DPSGetPrivateLinkResources.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/provisioningServices/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "GET" + ], + "summary": "List private endpoint connections", + "description": "List private endpoint connection properties", + "operationId": "IotDpsResource_ListPrivateEndpointConnections", + "x-ms-examples": { + "PrivateEndpointConnections_List": { + "$ref": "./examples/DPSListPrivateEndpointConnections.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/provisioningServices/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get private endpoint connection", + "description": "Get private endpoint connection properties", + "operationId": "IotDpsResource_GetPrivateEndpointConnection", + "x-ms-examples": { + "PrivateEndpointConnection_Get": { + "$ref": "./examples/DPSGetPrivateEndpointConnection.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": "Create or update private endpoint connection", + "description": "Create or update the status of a private endpoint connection with the specified name", + "operationId": "IotDpsResource_CreateOrUpdatePrivateEndpointConnection", + "x-ms-examples": { + "PrivateEndpointConnection_CreateOrUpdate": { + "$ref": "./examples/DPSCreateOrUpdatePrivateEndpointConnection.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": "IotDpsResource_DeletePrivateEndpointConnection", + "x-ms-examples": { + "PrivateEndpointConnection_Delete": { + "$ref": "./examples/DPSDeletePrivateEndpointConnection.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": { + "AsyncOperationResult": { + "type": "object", + "description": "Result of a long running operation.", + "properties": { + "status": { + "description": "current status of a long running operation.", + "type": "string" + }, + "error": { + "description": "Error message containing code, description and details", + "$ref": "#/definitions/ErrorMesssage" + } + } + }, + "ErrorMesssage": { + "description": "Error response containing message and code.", + "type": "object", + "properties": { + "code": { + "description": "standard error code", + "type": "string" + }, + "message": { + "description": "standard error description", + "type": "string" + }, + "details": { + "description": "detailed summary of error", + "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/CertificateResponse" + } + } + } + }, + "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" + } + } + }, + "CertificateResponse": { + "description": "The X509 Certificate.", + "type": "object", + "properties": { + "properties": { + "description": "properties of a certificate", + "$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." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "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", + "readOnly": true + }, + "certificate": { + "description": "base-64 representation of X509 certificate .cer file or just .pem file content.", + "type": "string", + "format": "byte", + "readOnly": true + }, + "created": { + "description": "The certificate's creation 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 + } + } + }, + "IotDpsSkuInfo": { + "type": "object", + "description": "List of possible provisioning service SKUs.", + "properties": { + "name": { + "description": "Sku name.", + "enum": [ + "S1" + ], + "type": "string", + "x-ms-enum": { + "name": "IotDpsSku", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "readOnly": true, + "description": "Pricing tier name of the provisioning service." + }, + "capacity": { + "format": "int64", + "type": "integer", + "description": "The number of units to provision" + } + } + }, + "ProvisioningServiceDescription": { + "description": "The description of the provisioning service.", + "type": "object", + "properties": { + "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" + }, + "properties": { + "description": "Service specific properties for a provisioning service", + "$ref": "#/definitions/IotDpsPropertiesDescription" + }, + "sku": { + "description": "Sku info for a provisioning Service.", + "$ref": "#/definitions/IotDpsSkuInfo" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "sku", + "properties" + ] + }, + "IotDpsPropertiesDescription": { + "description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope", + "type": "object", + "properties": { + "state": { + "description": "Current state of the provisioning service.", + "enum": [ + "Activating", + "Active", + "Deleting", + "Deleted", + "ActivationFailed", + "DeletionFailed", + "Transitioning", + "Suspending", + "Suspended", + "Resuming", + "FailingOver", + "FailoverFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "state", + "modelAsString": true + } + }, + "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" + } + }, + "privateEndpointConnections": { + "description": "Private endpoint connections created on this IotHub", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "provisioningState": { + "description": "The ARM provisioning state of the provisioning service.", + "type": "string" + }, + "iotHubs": { + "type": "array", + "description": "List of IoT hubs associated with this provisioning service.", + "items": { + "$ref": "#/definitions/IotHubDefinitionDescription" + } + }, + "allocationPolicy": { + "enum": [ + "Hashed", + "GeoLatency", + "Static" + ], + "type": "string", + "description": "Allocation policy to be used by this provisioning service.", + "x-ms-enum": { + "name": "AllocationPolicy", + "modelAsString": true + } + }, + "serviceOperationsHostName": { + "description": "Service endpoint for provisioning service.", + "type": "string", + "readOnly": true + }, + "deviceProvisioningHostName": { + "type": "string", + "description": "Device endpoint for this provisioning service.", + "readOnly": true + }, + "idScope": { + "type": "string", + "description": "Unique identifier of this provisioning service.", + "readOnly": true + }, + "authorizationPolicies": { + "description": "List of authorization keys for a provisioning service.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule[AccessRightsDescription]" + } + }, + "enableDataResidency": { + "type": "boolean", + "description": "Optional.\nIndicates if the DPS instance has Data Residency enabled, removing the cross geo-pair disaster recovery." + } + } + }, + "IotHubDefinitionDescription": { + "type": "object", + "description": "Description of the IoT hub.", + "properties": { + "applyAllocationPolicy": { + "description": "flag for applying allocationPolicy or not for a given iot hub.", + "type": "boolean" + }, + "allocationWeight": { + "description": "weight to apply for a given iot h.", + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Host name of the IoT hub." + }, + "connectionString": { + "type": "string", + "description": "Connection string of the IoT hub." + }, + "location": { + "type": "string", + "description": "ARM region of the IoT hub." + } + }, + "required": [ + "connectionString", + "location" + ] + }, + "IpFilterRule": { + "description": "The IP filter rules for a provisioning Service.", + "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": [ + "Accept", + "Reject" + ], + "type": "string", + "x-ms-enum": { + "name": "IpFilterActionType", + "modelAsString": false + } + }, + "ipMask": { + "description": "A string that contains the IP address range in CIDR notation for the rule.", + "type": "string" + }, + "target": { + "description": "Target for requests captured by this rule.", + "enum": [ + "all", + "serviceApi", + "deviceApi" + ], + "type": "string", + "x-ms-enum": { + "name": "IpFilterTargetType", + "modelAsString": false + } + } + }, + "required": [ + "filterName", + "action", + "ipMask" + ] + }, + "PrivateLinkResources": { + "description": "The available private link resources for a provisioning service", + "type": "object", + "properties": { + "value": { + "description": "The list of available private link resources for a provisioning service", + "type": "array", + "items": { + "$ref": "#/definitions/GroupIdInformation" + } + } + } + }, + "GroupIdInformation": { + "description": "The group information for creating a private endpoint on a provisioning service", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "description": "The properties for a group information object", + "$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 a provisioning service", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "PrivateEndpointConnection": { + "description": "The private endpoint connection of a provisioning service", + "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.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "description": "The properties of a private endpoint connection", + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "required": [ + "properties" + ] + }, + "PrivateEndpointConnectionProperties": { + "description": "The properties of a private endpoint connection", + "type": "object", + "properties": { + "privateEndpoint": { + "description": "The private endpoint property of a private endpoint connection", + "$ref": "#/definitions/PrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "The current state of a private endpoint connection", + "$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" + ] + }, + "SharedAccessSignatureAuthorizationRule[AccessRightsDescription]": { + "type": "object", + "description": "Description of the shared access key.", + "properties": { + "keyName": { + "type": "string", + "description": "Name of the key." + }, + "primaryKey": { + "type": "string", + "description": "Primary SAS key value." + }, + "secondaryKey": { + "type": "string", + "description": "Secondary SAS key value." + }, + "rights": { + "description": "Rights that this key has.", + "enum": [ + "ServiceConfig", + "EnrollmentRead", + "EnrollmentWrite", + "DeviceConnect", + "RegistrationStatusRead", + "RegistrationStatusWrite" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessRightsDescription", + "modelAsString": true + } + } + }, + "required": [ + "keyName", + "rights" + ] + }, + "Resource": { + "description": "The common properties of an Azure resource.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "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, + "required": [ + "location" + ] + }, + "OperationListResult": { + "description": "Result of the request to list provisioning service operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "Provisioning service operations supported by the Microsoft.Devices resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "Provisioning Service REST API operation.", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{read | write | action | delete}" + }, + "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: ProvisioningServices." + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "Name of the operation." + } + } + } + } + }, + "ErrorDetails": { + "description": "Error details.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "httpStatusCode": { + "description": "The HTTP status code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "The error details.", + "type": "string", + "readOnly": true + } + } + }, + "SharedAccessSignatureAuthorizationRuleListResult": { + "type": "object", + "description": "List of shared access keys.", + "properties": { + "value": { + "description": "The list of shared access policies.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule[AccessRightsDescription]" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "IotDpsSkuDefinitionListResult": { + "type": "object", + "description": "List of available SKUs.", + "properties": { + "value": { + "description": "The list of SKUs", + "type": "array", + "items": { + "$ref": "#/definitions/IotDpsSkuDefinition" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "IotDpsSkuDefinition": { + "type": "object", + "description": "Available SKUs of tier and units.", + "properties": { + "name": { + "description": "Sku name.", + "enum": [ + "S1" + ], + "type": "string", + "x-ms-enum": { + "name": "IotDpsSku", + "modelAsString": true + } + } + } + }, + "OperationInputs": { + "description": "Input values for operation results call.", + "type": "object", + "properties": { + "name": { + "description": "The name of the Provisioning Service to check.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "NameAvailabilityInfo": { + "type": "object", + "description": "Description of name availability.", + "properties": { + "nameAvailable": { + "description": "specifies if a name is available or not", + "type": "boolean" + }, + "reason": { + "description": "specifies the reason a name is unavailable", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "x-ms-enum": { + "name": "NameUnavailabilityReason", + "modelAsString": true + } + }, + "message": { + "description": "message containing a detailed reason name is unavailable", + "type": "string" + } + } + }, + "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 a Provisioning Service instance." + }, + "ProvisioningServiceDescriptionListResult": { + "type": "object", + "description": "List of provisioning service descriptions.", + "properties": { + "value": { + "description": "List of provisioning service descriptions.", + "type": "array", + "items": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + }, + "nextLink": { + "description": "the next link", + "type": "string", + "readOnly": true + } + } + }, + "VerificationCodeResponse": { + "type": "object", + "description": "Description of the response of the verification code.", + "properties": { + "name": { + "type": "string", + "description": "Name of certificate.", + "readOnly": true + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "Request etag." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "type": "object", + "properties": { + "verificationCode": { + "type": "string", + "description": "Verification code." + }, + "subject": { + "type": "string", + "description": "Certificate subject." + }, + "expiry": { + "type": "string", + "description": "Code expiry." + }, + "thumbprint": { + "type": "string", + "description": "Certificate thumbprint." + }, + "isVerified": { + "type": "boolean", + "description": "Indicate if the certificate is verified by owner of private key." + }, + "certificate": { + "description": "base-64 representation of X509 certificate .cer file or just .pem file content.", + "type": "string", + "format": "byte" + }, + "created": { + "type": "string", + "description": "Certificate created time." + }, + "updated": { + "type": "string", + "description": "Certificate updated time." + } + } + } + }, + "x-ms-azure-resource": true + }, + "VerificationCodeRequest": { + "type": "object", + "description": "The JSON-serialized leaf certificate", + "properties": { + "certificate": { + "description": "base-64 representation of X509 certificate .cer file or just .pem file content.", + "type": "string" + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription identifier.", + "required": true, + "type": "string" + }, + "api-version": { + "name": "api-version", + "in": "query", + "description": "The version of the API.", + "required": true, + "type": "string" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "description": "The name of the resource group that contains the provisioning service.", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceName": { + "name": "resourceName", + "in": "path", + "description": "The name of the provisioning service.", + "required": true, + "type": "string", + "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" + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/readme.md b/specification/deviceprovisioningservices/resource-manager/readme.md index d030b6c04dbd..9b2b8d726995 100644 --- a/specification/deviceprovisioningservices/resource-manager/readme.md +++ b/specification/deviceprovisioningservices/resource-manager/readme.md @@ -85,6 +85,17 @@ input-file: --- +### Tag: package-2021-10 + +These settings apply only when `--tag=package-2021-10` is specified on the command line. + +``` yaml $(tag) == 'package-2021-10' +input-file: +- Microsoft.Devices/stable/2021-10-15/iotdps.json +``` + +--- + ## Code Generation ### Swagger to SDK diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/deviceupdate.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/deviceupdate.json index fc3fbfbe8030..59dbf1d5971a 100644 --- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/deviceupdate.json +++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/deviceupdate.json @@ -936,6 +936,251 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeviceUpdate/accounts/{accountName}/privateEndpointConnectionProxies": { + "get": { + "tags": [ + "PrivateEndpointConnectionProxies" + ], + "description": "(INTERNAL - DO NOT USE) List all private endpoint connection proxies in a device update account.", + "operationId": "PrivateEndpointConnectionProxies_ListByAccount", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionProxyListResult" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionProxyList": { + "$ref": "./examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_ListByAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeviceUpdate/accounts/{accountName}/privateEndpointConnectionProxies/{privateEndpointConnectionProxyId}/validate": { + "post": { + "description": "(INTERNAL - DO NOT USE) Validates a private endpoint connection proxy object.", + "operationId": "PrivateEndpointConnectionProxies_Validate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionProxyIdParameter" + }, + { + "name": "privateEndpointConnectionProxy", + "in": "body", + "description": "The parameters for creating a private endpoint connection proxy.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionProxy" + } + } + ], + "responses": { + "200": { + "description": "Validate private endpoint connection proxy empty response." + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionProxyValidate": { + "$ref": "./examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Validate.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeviceUpdate/accounts/{accountName}/privateEndpointConnectionProxies/{privateEndpointConnectionProxyId}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "(INTERNAL - DO NOT USE) Get the specified private endpoint connection proxy associated with the device update account.", + "operationId": "PrivateEndpointConnectionProxies_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionProxyIdParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionProxy" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionProxyGet": { + "$ref": "./examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Get.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnectionProxies" + ], + "description": "(INTERNAL - DO NOT USE) Creates or updates the specified private endpoint connection proxy resource associated with the device update account.", + "operationId": "PrivateEndpointConnectionProxies_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionProxyIdParameter" + }, + { + "name": "privateEndpointConnectionProxy", + "in": "body", + "description": "The parameters for creating a private endpoint connection proxy.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionProxy" + } + } + ], + "responses": { + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionProxy" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionProxyCreateOrUpdate": { + "$ref": "./examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnectionProxies" + ], + "description": "(INTERNAL - DO NOT USE) Deletes the specified private endpoint connection proxy associated with the device update account.", + "operationId": "PrivateEndpointConnectionProxies_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionProxyIdParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the operation completed synchronously." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "The private endpoint connection does not exist in the subscription." + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionProxyDelete": { + "$ref": "./examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, "/providers/Microsoft.DeviceUpdate/operations": { "get": { "description": "Returns list of operations for Microsoft.DeviceUpdate resource provider.", @@ -1019,7 +1264,7 @@ } }, "identity": { - "$ref": "#/definitions/Identity", + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity", "description": "The type of identity used for the resource." } } @@ -1087,6 +1332,9 @@ "enableDiagnostics": { "description": "Enables or Disables the diagnostic logs collection", "type": "boolean" + }, + "diagnosticStorageProperties": { + "$ref": "#/definitions/DiagnosticStorageProperties" } } } @@ -1095,6 +1343,37 @@ "properties" ] }, + "DiagnosticStorageProperties": { + "description": "Customer-initiated diagnostic log collection storage properties", + "type": "object", + "properties": { + "authenticationType": { + "description": "Authentication Type", + "enum": [ + "KeyBased" + ], + "type": "string", + "readOnly": false, + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + }, + "connectionString": { + "description": "ConnectionString of the diagnostic storage account", + "x-ms-secret": true, + "type": "string" + }, + "resourceId": { + "description": "ResourceId of the diagnostic storage account", + "type": "string" + } + }, + "required": [ + "authenticationType", + "resourceId" + ] + }, "InstanceList": { "description": "List of Instances.", "type": "object", @@ -1112,34 +1391,6 @@ } } }, - "Identity": { - "description": "Identity for the resource.", - "type": "object", - "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": { - "enum": [ - "SystemAssigned", - "None" - ], - "x-ms-enum": { - "name": "ResourceIdentityType", - "modelAsString": false - }, - "type": "string", - "description": "The identity type." - } - } - }, "IotHubSettings": { "type": "object", "description": "Device Update account integration with IoT Hub settings.", @@ -1170,7 +1421,7 @@ "type": "object", "properties": { "identity": { - "$ref": "#/definitions/Identity", + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity", "description": "The type of identity used for the resource." }, "location": { @@ -1257,6 +1508,245 @@ } } } + }, + "PrivateEndpointConnectionProxyListResult": { + "description": "The available private endpoint connection proxies for an Account (not to be used by anyone, here because of ARM requirements)", + "type": "object", + "properties": { + "value": { + "description": "The list of available private endpoint connection proxies for an Account", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionProxy" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of private endpoint connection proxies.", + "type": "string" + } + } + }, + "PrivateEndpointConnectionProxy": { + "description": "Private endpoint connection proxy details.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + }, + { + "$ref": "#/definitions/PrivateEndpointConnectionProxyProperties" + } + ] + }, + "PrivateEndpointConnectionProxyProperties": { + "description": "Private endpoint connection proxy object properties.", + "type": "object", + "x-ms-client-flatten": true, + "properties": { + "eTag": { + "description": "ETag from NRP.", + "type": "string", + "readOnly": true + }, + "remotePrivateEndpoint": { + "description": "Remote private endpoint details.", + "$ref": "#/definitions/RemotePrivateEndpoint" + }, + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProxyProvisioningState", + "description": "The provisioning state of the private endpoint connection proxy resource." + }, + "status": { + "description": "Operation status.", + "type": "string" + } + } + }, + "RemotePrivateEndpoint": { + "description": "Remote private endpoint details.", + "type": "object", + "properties": { + "id": { + "description": "Remote endpoint resource ID.", + "type": "string" + }, + "vnetTrafficTag": { + "description": "Virtual network traffic tag.", + "type": "string", + "readOnly": true + }, + "manualPrivateLinkServiceConnections": { + "description": "List of private link service connections that need manual approval.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkServiceConnection" + } + }, + "privateLinkServiceConnections": { + "description": "List of automatically approved private link service connections.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkServiceConnection" + } + }, + "privateLinkServiceProxies": { + "description": "List of private link service proxies.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkServiceProxy" + } + }, + "connectionDetails": { + "description": "List of connection details.", + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionDetails" + } + } + } + }, + "PrivateLinkServiceConnection": { + "description": "Private link service connection details.", + "type": "object", + "properties": { + "name": { + "description": "Private link service connection name.", + "type": "string" + }, + "groupIds": { + "description": "List of group IDs.", + "type": "array", + "items": { + "type": "string" + } + }, + "requestMessage": { + "description": "Request message.", + "type": "string" + } + } + }, + "PrivateLinkServiceProxy": { + "description": "Private link service proxy details.", + "type": "object", + "properties": { + "id": { + "description": "NRP resource ID.", + "type": "string" + }, + "remotePrivateLinkServiceConnectionState": { + "description": "Remote private link service connection state", + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateLinkServiceConnectionState" + }, + "remotePrivateEndpointConnection": { + "description": "Remote private endpoint connection details.", + "allOf": [ + { + "$ref": "#/definitions/RemotePrivateEndpointConnection" + } + ] + }, + "groupConnectivityInformation": { + "description": "Group connectivity information.", + "type": "array", + "items": { + "$ref": "#/definitions/GroupConnectivityInformation" + } + } + } + }, + "RemotePrivateEndpointConnection": { + "description": "Remote private endpoint connection details.", + "type": "object", + "properties": { + "id": { + "description": "Remote private endpoint connection ID.", + "type": "string", + "readOnly": true + } + } + }, + "GroupConnectivityInformation": { + "description": "Group connectivity details.", + "type": "object", + "properties": { + "groupId": { + "description": "Group ID.", + "type": "string", + "readOnly": true + }, + "memberName": { + "description": "Member name.", + "type": "string", + "readOnly": true + }, + "customerVisibleFqdns": { + "description": "List of customer visible FQDNs.", + "type": "array", + "items": { + "type": "string" + } + }, + "internalFqdn": { + "description": "Internal FQDN.", + "type": "string", + "readOnly": true + }, + "redirectMapId": { + "description": "Redirect map ID.", + "type": "string" + }, + "privateLinkServiceArmRegion": { + "description": "PrivateLinkService ARM region.", + "type": "string" + } + } + }, + "ConnectionDetails": { + "description": "Private endpoint connection proxy object properties.", + "type": "object", + "properties": { + "id": { + "description": "Connection details ID.", + "type": "string", + "readOnly": true + }, + "privateIpAddress": { + "description": "Private IP address.", + "type": "string", + "readOnly": true + }, + "linkIdentifier": { + "description": "Link ID.", + "type": "string", + "readOnly": true + }, + "groupId": { + "description": "Group ID.", + "type": "string", + "readOnly": true + }, + "memberName": { + "description": "Member name.", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointConnectionProxyProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProxyProvisioningState", + "modelAsString": true + } } }, "parameters": { @@ -1311,6 +1801,14 @@ "type": "string", "description": "The group ID of the private link resource.", "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionProxyIdParameter": { + "name": "privateEndpointConnectionProxyId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the private endpoint connection proxy object.", + "x-ms-parameter-location": "method" } } } diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Create.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Create.json index dc732514328b..7062f866535a 100644 --- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Create.json +++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Create.json @@ -15,7 +15,12 @@ "eventHubConnectionString": "string" } ], - "enableDiagnostics": false + "enableDiagnostics": false, + "diagnosticStorageProperties": { + "authenticationType": "KeyBased", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/adu-resource-group/providers/Microsoft.Storage/storageAccounts/testAccount", + "connectionString": "string" + } } } }, @@ -34,7 +39,11 @@ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Devices/IotHubs/blue-contoso-hub" } ], - "enableDiagnostics": false + "enableDiagnostics": false, + "diagnosticStorageProperties": { + "authenticationType": "KeyBased", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/adu-resource-group/providers/Microsoft.Storage/storageAccounts/testAccount" + } } } } diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Get.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Get.json index 23b2706d98a3..2a81fb866f14 100644 --- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Get.json +++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Get.json @@ -21,7 +21,11 @@ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Devices/IotHubs/blue-contoso-hub" } ], - "enableDiagnostics": false + "enableDiagnostics": false, + "diagnosticStorageProperties": { + "authenticationType": "KeyBased", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/adu-resource-group/providers/Microsoft.Storage/storageAccounts/testAccount" + } } } } diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_ListByAccount.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_ListByAccount.json index 162edb2678ee..86d68699867b 100644 --- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_ListByAccount.json +++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_ListByAccount.json @@ -23,7 +23,11 @@ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Devices/IotHubs/blue-contoso-hub" } ], - "enableDiagnostics": false + "enableDiagnostics": false, + "diagnosticStorageProperties": { + "authenticationType": "KeyBased", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/adu-resource-group/providers/Microsoft.Storage/storageAccounts/testAccount" + } } }, { @@ -39,7 +43,11 @@ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Devices/IotHubs/red-contoso-hub" } ], - "enableDiagnostics": false + "enableDiagnostics": false, + "diagnosticStorageProperties": { + "authenticationType": "KeyBased", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/adu-resource-group/providers/Microsoft.Storage/storageAccounts/testAccount" + } } } ] diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Update.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Update.json index 850030cfa1c0..8157a3e3f3c6 100644 --- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Update.json +++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Update.json @@ -25,7 +25,11 @@ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Devices/IotHubs/blue-contoso-hub" } ], - "enableDiagnostics": false + "enableDiagnostics": false, + "diagnosticStorageProperties": { + "authenticationType": "KeyBased", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/adu-resource-group/providers/Microsoft.Storage/storageAccounts/testAccount" + } }, "tags": { "tagKey": "tagValue" diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_CreateOrUpdate.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_CreateOrUpdate.json new file mode 100644 index 000000000000..93a28ec2f88c --- /dev/null +++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_CreateOrUpdate.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "accountName": "contoso", + "privateEndpointConnectionProxyId": "peexample01", + "api-version": "2020-03-01-preview", + "privateEndpointConnectionProxy": { + "remotePrivateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}", + "manualPrivateLinkServiceConnections": [ + { + "name": "{privateEndpointConnectionProxyId}", + "groupIds": [ + "DeviceUpdate" + ], + "requestMessage": "Please approve my connection, thanks." + } + ], + "privateLinkServiceProxies": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}/privateLinkServiceProxies/{privateEndpointConnectionProxyId}", + "groupConnectivityInformation": [] + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DeviceUpdate/accounts/contoso/privateEndpointConnectionProxies/peexample01", + "name": "peexample01", + "type": "Microsoft.DeviceUpdate/accounts/privateEndpointConnectionProxies", + "remotePrivateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}", + "manualPrivateLinkServiceConnections": [ + { + "name": "{plsConnectionName}", + "groupIds": [ + "DeviceUpdate" + ], + "requestMessage": "Please approve my connection, thanks." + } + ], + "privateLinkServiceProxies": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}/privateLinkServiceProxies/{privateEndpointConnectionProxyId}", + "groupConnectivityInformation": [ + { + "groupId": "DeviceUpdate", + "memberName": "adu" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Delete.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Delete.json new file mode 100644 index 000000000000..761c0852b686 --- /dev/null +++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "accountName": "contoso", + "privateEndpointConnectionProxyId": "peexample01", + "api-version": "2020-03-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Get.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Get.json new file mode 100644 index 000000000000..1ae43f3d3a1f --- /dev/null +++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Get.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "accountName": "contoso", + "privateEndpointConnectionProxyId": "peexample01", + "api-version": "2020-03-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DeviceUpdate/accounts/contoso/privateEndpointConnectionProxies/peexample01", + "name": "peexample01", + "type": "Microsoft.DeviceUpdate/accounts/privateEndpointConnectionProxies", + "remotePrivateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}", + "manualPrivateLinkServiceConnections": [ + { + "name": "{plsConnectionName}", + "groupIds": [ + "DeviceUpdate" + ], + "requestMessage": "Please approve my connection, thanks." + } + ], + "privateLinkServiceProxies": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}/privateLinkServiceProxies/{privateEndpointConnectionProxyId}", + "groupConnectivityInformation": [ + { + "groupId": "DeviceUpdate", + "memberName": "adu" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_ListByAccount.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_ListByAccount.json new file mode 100644 index 000000000000..c02dec9714ca --- /dev/null +++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_ListByAccount.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "accountName": "contoso", + "api-version": "2020-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DeviceUpdate/accounts/contoso/privateEndpointConnectionProxies/peexample01", + "name": "peexample01", + "type": "Microsoft.DeviceUpdate/accounts/privateEndpointConnectionProxies", + "remotePrivateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}", + "manualPrivateLinkServiceConnections": [ + { + "name": "{plsConnectionName}", + "groupIds": [ + "DeviceUpdate" + ], + "requestMessage": "Please approve my connection, thanks." + } + ], + "privateLinkServiceProxies": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}/privateLinkServiceProxies/{privateEndpointConnectionProxyId}", + "groupConnectivityInformation": [ + { + "groupId": "DeviceUpdate", + "memberName": "adu" + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Validate.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Validate.json new file mode 100644 index 000000000000..30a2a6a8dfbd --- /dev/null +++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Validate.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "accountName": "contoso", + "privateEndpointConnectionProxyId": "peexample01", + "api-version": "2020-03-01-preview", + "privateEndpointConnectionProxy": { + "remotePrivateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}", + "manualPrivateLinkServiceConnections": [ + { + "name": "{privateEndpointConnectionProxyId}", + "groupIds": [ + "DeviceUpdate" + ], + "requestMessage": "Please approve my connection, thanks." + } + ], + "privateLinkServiceProxies": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}/privateLinkServiceProxies/{privateEndpointConnectionProxyId}", + "groupConnectivityInformation": [] + } + ] + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/deviceupdate/resource-manager/readme.go.md b/specification/deviceupdate/resource-manager/readme.go.md index 1cd6ddaed47b..dbf931401e66 100644 --- a/specification/deviceupdate/resource-manager/readme.go.md +++ b/specification/deviceupdate/resource-manager/readme.go.md @@ -5,6 +5,7 @@ These settings apply only when `--go` is specified on the command line. ```yaml $(go) go: license-header: MICROSOFT_MIT_NO_VERSION + namespace: deviceupdate clear-output-folder: true ``` @@ -21,6 +22,5 @@ These settings apply only when `--tag=package-2020-03-01-preview --go` is specif Please also specify `--go-sdks-folder=`. ```yaml $(tag) == 'package-2020-03-01-preview' && $(go) -namespace: deviceupdate output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-03-01-preview/$(namespace) ``` diff --git a/specification/deviceupdate/resource-manager/readme.md b/specification/deviceupdate/resource-manager/readme.md index 1b7049f092ce..eb2d3fc10e5e 100644 --- a/specification/deviceupdate/resource-manager/readme.md +++ b/specification/deviceupdate/resource-manager/readme.md @@ -47,6 +47,10 @@ directive: where: $.definitions.Identity.properties.type from: deviceupdate.json reason: Managed Identity type can be case in-sensitive + - suppress: BodyTopLevelProperties + from: deviceupdate.json + where: $.definitions.PrivateEndpointConnectionProxy + reason: Internal NRP resource, all properties are top level properties ``` --- diff --git a/specification/devtestlabs/resource-manager/readme.go.md b/specification/devtestlabs/resource-manager/readme.go.md index 153499536442..5862a0617aad 100644 --- a/specification/devtestlabs/resource-manager/readme.go.md +++ b/specification/devtestlabs/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: dtl clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/devtestlabs/armdevtestlabs +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/devtestlabs/resource-manager/readme.md b/specification/devtestlabs/resource-manager/readme.md index 3bf59118d021..60ece7be1f5f 100644 --- a/specification/devtestlabs/resource-manager/readme.md +++ b/specification/devtestlabs/resource-manager/readme.md @@ -74,6 +74,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby diff --git a/specification/domainservices/resource-manager/readme.go.md b/specification/domainservices/resource-manager/readme.go.md index 8b637fff959f..ecc82a2d9b67 100644 --- a/specification/domainservices/resource-manager/readme.go.md +++ b/specification/domainservices/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: aad clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/domainservices/armdomainservices +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/domainservices/resource-manager/readme.md b/specification/domainservices/resource-manager/readme.md index ba89b29341a8..bcf5d5973e30 100644 --- a/specification/domainservices/resource-manager/readme.md +++ b/specification/domainservices/resource-manager/readme.md @@ -91,6 +91,7 @@ swagger-to-sdk: - repo: azure-powershell - repo: azure-sdk-for-net - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node ``` diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json index 58deea45c710..6571d677e5c9 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json @@ -354,7 +354,7 @@ "tags": [ "OrderItems" ], - "description": "Lists order at subscription level.", + "description": "Lists order item at subscription level.", "operationId": "ListOrderItemsAtSubscriptionLevel", "consumes": [ "application/json" @@ -376,17 +376,24 @@ "required": false, "type": "string" }, + { + "name": "$expand", + "in": "query", + "description": "$expand is supported on device details, forward shipping details and reverse shipping details parameters. Each of these can be provided as a comma separated list. Device Details for order item provides details on the devices of the product, Forward and Reverse Shipping details provide forward and reverse shipping details respectively.", + "required": false, + "type": "string" + }, { "name": "$skipToken", "in": "query", - "description": "$skipToken is supported on Get list of orders, which provides the next page in the list of order.", + "description": "$skipToken is supported on Get list of order items, which provides the next page in the list of order items.", "required": false, "type": "string" } ], "responses": { "200": { - "description": "Order item object", + "description": "List of Order item object", "schema": { "$ref": "#/definitions/OrderItemResourceList" } @@ -554,7 +561,7 @@ ], "responses": { "200": { - "description": "Address object.", + "description": "Address resource object.", "schema": { "$ref": "#/definitions/AddressResource" } @@ -832,7 +839,7 @@ { "name": "$expand", "in": "query", - "description": "$expand is supported on device details parameter for order item, which provides details on the devices of the product.", + "description": "$expand is supported on device details, forward shipping details and reverse shipping details parameters. Each of these can be provided as a comma separated list. Device Details for order item provides details on the devices of the product, Forward and Reverse Shipping details provide forward and reverse shipping details respectively.", "required": false, "type": "string" }, @@ -897,7 +904,7 @@ { "name": "$expand", "in": "query", - "description": "$expand is supported on device details parameter for order item, which provides details on the devices of the product.", + "description": "$expand is supported on device details, forward shipping details and reverse shipping details parameters. Each of these can be provided as a comma separated list. Device Details for order item provides details on the devices of the product, Forward and Reverse Shipping details provide forward and reverse shipping details respectively.", "required": false, "type": "string" } @@ -1781,6 +1788,11 @@ "description": "Management Resource Id", "type": "string", "readOnly": true + }, + "managementResourceTenantId": { + "description": "Management Resource Tenant ID", + "type": "string", + "readOnly": true } } }, @@ -1887,7 +1899,7 @@ "type": "object", "properties": { "doubleEncryptionStatus": { - "description": "Defines secondary layer of software-based encryption enablement.", + "description": "Double encryption status as entered by the customer. It is compulsory to give this parameter if the 'Deny' or 'Disabled' policy is configured.", "enum": [ "Disabled", "Enabled" @@ -1906,8 +1918,7 @@ "description": "Double encryption is enabled" } ] - }, - "default": "Disabled" + } } } }, @@ -1951,6 +1962,32 @@ } } }, + "ForwardShippingDetails": { + "description": "Forward shipment details.", + "type": "object", + "properties": { + "carrierName": { + "description": "Name of the carrier.", + "type": "string", + "readOnly": true + }, + "carrierDisplayName": { + "description": "Carrier Name for display purpose. Not to be used for any processing.", + "type": "string", + "readOnly": true + }, + "trackingId": { + "description": "TrackingId of the package", + "type": "string", + "readOnly": true + }, + "trackingUrl": { + "description": "TrackingUrl of the package.", + "type": "string", + "readOnly": true + } + } + }, "HierarchyInformation": { "description": "Holds details about product hierarchy information", "type": "object", @@ -2298,12 +2335,12 @@ "description": "Customer notification Preferences" }, "forwardShippingDetails": { - "$ref": "#/definitions/ShippingDetails", + "$ref": "#/definitions/ForwardShippingDetails", "description": "Forward Package Shipping details", "readOnly": true }, "reverseShippingDetails": { - "$ref": "#/definitions/ShippingDetails", + "$ref": "#/definitions/ReverseShippingDetails", "description": "Reverse Package Shipping details", "readOnly": true }, @@ -2321,7 +2358,7 @@ "readOnly": true }, "cancellationStatus": { - "description": "Describes whether the orderItem is cancellable or not.", + "description": "Describes whether the order item is cancellable or not.", "enum": [ "Cancellable", "CancellableWithFee", @@ -2377,7 +2414,7 @@ "readOnly": true }, "returnStatus": { - "description": "Describes whether the orderItem is returnable or not.", + "description": "Describes whether the order item is returnable or not.", "enum": [ "Returnable", "ReturnableWithFee", @@ -2406,7 +2443,16 @@ }, "managementRpDetails": { "$ref": "#/definitions/ResourceProviderDetails", - "description": "parent RP details", + "description": "Parent RP details - this returns only the first or default parent RP from the entire list", + "readOnly": true + }, + "managementRpDetailsList": { + "description": "List of parent RP details supported for configuration.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderDetails" + }, "readOnly": true }, "error": { @@ -2737,7 +2783,31 @@ "count": { "format": "int32", "description": "Quantity of the product", - "type": "integer" + "type": "integer", + "readOnly": true + }, + "productDoubleEncryptionStatus": { + "description": "Double encryption status of the configuration. Read-only field.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DoubleEncryptionStatus", + "modelAsString": true, + "values": [ + { + "value": "Disabled", + "description": "Double encryption is disabled" + }, + { + "value": "Enabled", + "description": "Double encryption is enabled" + } + ] + } }, "deviceDetails": { "description": "list of device details", @@ -2854,6 +2924,14 @@ "$ref": "#/definitions/ProductLine" }, "readOnly": true + }, + "resourceProviderDetails": { + "description": "Contains details related to resource provider", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderDetails" + } } } }, @@ -2962,7 +3040,13 @@ "ResourceProviderDetails": { "description": "Management RP details", "type": "object", - "properties": {} + "properties": { + "resourceProviderNamespace": { + "description": "Resource provider namespace", + "type": "string", + "readOnly": true + } + } }, "ReturnOrderItemDetails": { "description": "Return order item request body", @@ -2978,6 +3062,46 @@ "returnReason": { "description": "Return Reason.", "type": "string" + }, + "serviceTag": { + "description": "Service tag (located on the bottom-right corner of the device)", + "type": "string" + }, + "shippingBoxRequired": { + "description": "Shipping Box required", + "default": false, + "type": "boolean" + } + } + }, + "ReverseShippingDetails": { + "description": "Reverse shipment details.", + "type": "object", + "properties": { + "sasKeyForLabel": { + "description": "SAS key to download the reverse shipment label of the package.", + "type": "string", + "readOnly": true + }, + "carrierName": { + "description": "Name of the carrier.", + "type": "string", + "readOnly": true + }, + "carrierDisplayName": { + "description": "Carrier Name for display purpose. Not to be used for any processing.", + "type": "string", + "readOnly": true + }, + "trackingId": { + "description": "TrackingId of the package", + "type": "string", + "readOnly": true + }, + "trackingUrl": { + "description": "TrackingUrl of the package.", + "type": "string", + "readOnly": true } } }, diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateOrderItem.json index 3e016c585720..e25e4a15cb35 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateOrderItem.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateOrderItem.json @@ -82,7 +82,8 @@ "productName": "azurestackedgegpu", "configurationName": "azurestackedgegpu" }, - "count": 0 + "count": 0, + "productDoubleEncryptionStatus": "Disabled" }, "orderItemType": "Purchase", "currentStage": { diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderItemByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderItemByName.json index 85de2d37da04..0c8d715d9599 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderItemByName.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderItemByName.json @@ -27,7 +27,8 @@ "productName": "azurestackedgegpu", "configurationName": "azurestackedgegpu" }, - "count": 0 + "count": 0, + "productDoubleEncryptionStatus": "Disabled" }, "orderItemType": "Purchase", "currentStage": { diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtResourceGroupLevel.json index a453c1898744..54fbe66e1b3b 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtResourceGroupLevel.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtResourceGroupLevel.json @@ -28,7 +28,8 @@ "productName": "azurestackedgegpu", "configurationName": "azurestackedgegpu" }, - "count": 0 + "count": 0, + "productDoubleEncryptionStatus": "Disabled" }, "orderItemType": "Purchase", "currentStage": { @@ -122,7 +123,8 @@ "productName": "azurestackedgegpu", "configurationName": "azurestackedgegpu" }, - "count": 0 + "count": 0, + "productDoubleEncryptionStatus": "Disabled" }, "orderItemType": "Purchase", "currentStage": { diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtSubscriptionLevel.json index 744cc6c30d9f..e88a26910420 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtSubscriptionLevel.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtSubscriptionLevel.json @@ -27,7 +27,8 @@ "productName": "azurestackedgegpu", "configurationName": "azurestackedgegpu" }, - "count": 0 + "count": 0, + "productDoubleEncryptionStatus": "Disabled" }, "orderItemType": "Purchase", "currentStage": { @@ -120,7 +121,8 @@ "productName": "azurestackedgegpu", "configurationName": "azurestackedgegpu" }, - "count": 0 + "count": 0, + "productDoubleEncryptionStatus": "Disabled" }, "orderItemType": "Purchase", "currentStage": { diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateOrderItem.json index e2103d6a1000..75f3c28b4fda 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateOrderItem.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateOrderItem.json @@ -56,7 +56,8 @@ "productName": "azurestackedgegpu", "configurationName": "azurestackedgegpu" }, - "count": 0 + "count": 0, + "productDoubleEncryptionStatus": "Disabled" }, "orderItemType": "Purchase", "currentStage": { diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/edgeorder.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/edgeorder.json new file mode 100644 index 000000000000..a4c097c8a5d3 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/edgeorder.json @@ -0,0 +1,3377 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-12-01", + "title": "Edge Ordering Service-Customer" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.EdgeOrder/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "This method gets all the operations that are exposed for customer.", + "operationId": "ListOperations", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListOperations": { + "$ref": "./examples/ListOperations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/addresses": { + "get": { + "tags": [ + "Addresses" + ], + "description": "Lists all the addresses available under the subscription.", + "operationId": "ListAddressesAtSubscriptionLevel", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "$filter is supported to filter based on shipping address properties. Filter supports only equals operation.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of addresses, which provides the next page in the list of addresses.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "List of addresses available under the subscription.", + "schema": { + "$ref": "#/definitions/AddressResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListAddressesAtSubscriptionLevel": { + "$ref": "./examples/ListAddressesAtSubscriptionLevel.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/listProductFamilies": { + "post": { + "tags": [ + "ProductsAndConfigurations" + ], + "description": "This method provides the list of product families for the given subscription.", + "operationId": "ListProductFamilies", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "$expand is supported on configurations parameter for product, which provides details on the configurations for the product.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on list of product families, which provides the next page in the list of product families.", + "required": false, + "type": "string" + }, + { + "name": "productFamiliesRequest", + "in": "body", + "description": "Filters for showing the product families.", + "required": true, + "schema": { + "$ref": "#/definitions/ProductFamiliesRequest" + } + } + ], + "responses": { + "200": { + "description": "The list of available product families under subscription.", + "schema": { + "$ref": "#/definitions/ProductFamilies" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListProductFamilies": { + "$ref": "./examples/ListProductFamilies.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/listConfigurations": { + "post": { + "tags": [ + "ProductsAndConfigurations" + ], + "description": "This method provides the list of configurations for the given product family, product line and product under subscription.", + "operationId": "ListConfigurations", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on list of configurations, which provides the next page in the list of configurations.", + "required": false, + "type": "string" + }, + { + "name": "configurationsRequest", + "in": "body", + "description": "Filters for showing the configurations.", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationsRequest" + } + } + ], + "responses": { + "200": { + "description": "The list of configurations for the given product family, product line and product under subscription.", + "schema": { + "$ref": "#/definitions/Configurations" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListConfigurations": { + "$ref": "./examples/ListConfigurations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/productFamiliesMetadata": { + "post": { + "tags": [ + "ProductFamilyMetadata" + ], + "description": "This method provides the list of product families metadata for the given subscription.", + "operationId": "ListProductFamiliesMetadata", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on list of product families metadata, which provides the next page in the list of product families metadata.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The list of available product families under subscription.", + "schema": { + "$ref": "#/definitions/ProductFamiliesMetadata" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListProductFamiliesMetadata": { + "$ref": "./examples/ListProductFamiliesMetadata.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/orders": { + "get": { + "tags": [ + "Orders" + ], + "description": "Lists order at subscription level.", + "operationId": "ListOrderAtSubscriptionLevel", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of order, which provides the next page in the list of order.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Order object", + "schema": { + "$ref": "#/definitions/OrderResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListOrderAtSubscriptionLevel": { + "$ref": "./examples/ListOrderAtSubscriptionLevel.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/orderItems": { + "get": { + "tags": [ + "OrderItems" + ], + "description": "Lists order item at subscription level.", + "operationId": "ListOrderItemsAtSubscriptionLevel", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "$filter is supported to filter based on order id. Filter supports only equals operation.", + "required": false, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "$expand is supported on device details, forward shipping details and reverse shipping details parameters. Each of these can be provided as a comma separated list. Device Details for order item provides details on the devices of the product, Forward and Reverse Shipping details provide forward and reverse shipping details respectively.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of order items, which provides the next page in the list of order items.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "List of Order item object", + "schema": { + "$ref": "#/definitions/OrderItemResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListOrderItemsAtSubscriptionLevel": { + "$ref": "./examples/ListOrderItemsAtSubscriptionLevel.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses": { + "get": { + "tags": [ + "Addresses" + ], + "description": "Lists all the addresses available under the given resource group.", + "operationId": "ListAddressesAtResourceGroupLevel", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "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" + }, + { + "name": "$filter", + "in": "query", + "description": "$filter is supported to filter based on shipping address properties. Filter supports only equals operation.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of addresses, which provides the next page in the list of address.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "List of addresses available under the resource group.", + "schema": { + "$ref": "#/definitions/AddressResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListAddressesAtResourceGroupLevel": { + "$ref": "./examples/ListAddressesAtResourceGroupLevel.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses/{addressName}": { + "get": { + "tags": [ + "Addresses" + ], + "description": "Gets information about the specified address.", + "operationId": "GetAddressByName", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/addressNameParameter" + }, + { + "$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": "Address object", + "schema": { + "$ref": "#/definitions/AddressResource" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetAddressByName": { + "$ref": "./examples/GetAddressByName.json" + } + } + }, + "put": { + "tags": [ + "Addresses" + ], + "description": "Creates a new address with the specified parameters. Existing address can be updated with this API", + "operationId": "CreateAddress", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/addressNameParameter" + }, + { + "$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" + }, + { + "name": "addressResource", + "in": "body", + "description": "Address details from request body.", + "required": true, + "schema": { + "$ref": "#/definitions/AddressResource" + } + } + ], + "responses": { + "200": { + "description": "Address resource object.", + "schema": { + "$ref": "#/definitions/AddressResource" + } + }, + "202": { + "description": "Accepted request for create Address." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CreateAddress": { + "$ref": "./examples/CreateAddress.json" + } + } + }, + "delete": { + "tags": [ + "Addresses" + ], + "description": "Deletes an address.", + "operationId": "DeleteAddressByName", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/addressNameParameter" + }, + { + "$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": "Address deleted." + }, + "202": { + "description": "Accepted request for delete address." + }, + "204": { + "description": "No content. Address deleted." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DeleteAddressByName": { + "$ref": "./examples/DeleteAddressByName.json" + } + } + }, + "patch": { + "tags": [ + "Addresses" + ], + "description": "Updates the properties of an existing address.", + "operationId": "UpdateAddress", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/addressNameParameter" + }, + { + "$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" + }, + { + "name": "If-Match", + "in": "header", + "description": "Defines the If-Match condition. The patch will be performed only if the ETag of the job on the server matches this value.", + "required": false, + "type": "string" + }, + { + "name": "addressUpdateParameter", + "in": "body", + "description": "Address update parameters from request body.", + "required": true, + "schema": { + "$ref": "#/definitions/AddressUpdateParameter" + } + } + ], + "responses": { + "202": { + "description": "Accepted request for address update." + }, + "200": { + "description": "Address resource object.", + "schema": { + "$ref": "#/definitions/AddressResource" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "UpdateAddress": { + "$ref": "./examples/UpdateAddress.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orders": { + "get": { + "tags": [ + "Orders" + ], + "description": "Lists order at resource group level.", + "operationId": "ListOrderAtResourceGroupLevel", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "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" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of order, which provides the next page in the list of order.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Order object", + "schema": { + "$ref": "#/definitions/OrderResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListOrderAtResourceGroupLevel": { + "$ref": "./examples/ListOrderAtResourceGroupLevel.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/locations/{location}/orders/{orderName}": { + "get": { + "tags": [ + "Orders" + ], + "description": "Gets an order.", + "operationId": "GetOrderByName", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/orderNameParameter" + }, + { + "$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/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Order object", + "schema": { + "$ref": "#/definitions/OrderResource" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetOrderByName": { + "$ref": "./examples/GetOrderByName.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems": { + "get": { + "tags": [ + "OrderItems" + ], + "description": "Lists order item at resource group level.", + "operationId": "ListOrderItemsAtResourceGroupLevel", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "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" + }, + { + "name": "$filter", + "in": "query", + "description": "$filter is supported to filter based on order id. Filter supports only equals operation.", + "required": false, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "$expand is supported on device details, forward shipping details and reverse shipping details parameters. Each of these can be provided as a comma separated list. Device Details for order item provides details on the devices of the product, Forward and Reverse Shipping details provide forward and reverse shipping details respectively.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of order items, which provides the next page in the list of order items.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "List of Order item object", + "schema": { + "$ref": "#/definitions/OrderItemResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListOrderItemsAtResourceGroupLevel": { + "$ref": "./examples/ListOrderItemsAtResourceGroupLevel.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}": { + "get": { + "tags": [ + "OrderItems" + ], + "description": "Gets an order item.", + "operationId": "GetOrderItemByName", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/orderItemNameParameter" + }, + { + "$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" + }, + { + "name": "$expand", + "in": "query", + "description": "$expand is supported on device details, forward shipping details and reverse shipping details parameters. Each of these can be provided as a comma separated list. Device Details for order item provides details on the devices of the product, Forward and Reverse Shipping details provide forward and reverse shipping details respectively.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Order item object", + "schema": { + "$ref": "#/definitions/OrderItemResource" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetOrderItemByName": { + "$ref": "./examples/GetOrderItemByName.json" + } + } + }, + "put": { + "tags": [ + "OrderItems" + ], + "description": "Creates an order item. Existing order item cannot be updated with this api and should instead be updated with the Update order item API.", + "operationId": "CreateOrderItem", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/orderItemNameParameter" + }, + { + "$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" + }, + { + "name": "orderItemResource", + "in": "body", + "description": "Order item details from request body.", + "required": true, + "schema": { + "$ref": "#/definitions/OrderItemResource" + } + } + ], + "responses": { + "200": { + "description": "Returns order item object", + "schema": { + "$ref": "#/definitions/OrderItemResource" + } + }, + "202": { + "description": "Accepted request to create order item." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CreateOrderItem": { + "$ref": "./examples/CreateOrderItem.json" + } + } + }, + "delete": { + "tags": [ + "OrderItems" + ], + "description": "Deletes an order item.", + "operationId": "DeleteOrderItemByName", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/orderItemNameParameter" + }, + { + "$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": "Order item Deleted" + }, + "202": { + "description": "Accepted delete request for an order item" + }, + "204": { + "description": "No content. Order item deleted" + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DeleteOrderItemByName": { + "$ref": "./examples/DeleteOrderItemByName.json" + } + } + }, + "patch": { + "tags": [ + "OrderItems" + ], + "description": "Updates the properties of an existing order item.", + "operationId": "UpdateOrderItem", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/orderItemNameParameter" + }, + { + "$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" + }, + { + "name": "If-Match", + "in": "header", + "description": "Defines the If-Match condition. The patch will be performed only if the ETag of the order on the server matches this value.", + "required": false, + "type": "string" + }, + { + "name": "orderItemUpdateParameter", + "in": "body", + "description": "order item update parameters from request body.", + "required": true, + "schema": { + "$ref": "#/definitions/OrderItemUpdateParameter" + } + } + ], + "responses": { + "202": { + "description": "Accepted request for order item update." + }, + "200": { + "description": "Order item resource object.", + "schema": { + "$ref": "#/definitions/OrderItemResource" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "UpdateOrderItem": { + "$ref": "./examples/UpdateOrderItem.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}/cancel": { + "post": { + "tags": [ + "OrderItems" + ], + "description": "Cancel order item.", + "operationId": "CancelOrderItem", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/orderItemNameParameter" + }, + { + "$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" + }, + { + "name": "cancellationReason", + "in": "body", + "description": "Reason for cancellation.", + "required": true, + "schema": { + "$ref": "#/definitions/CancellationReason" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "204": { + "description": "\"No content\"" + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CancelOrderItem": { + "$ref": "./examples/CancelOrderItem.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}/return": { + "post": { + "tags": [ + "OrderItems" + ], + "description": "Return order item.", + "operationId": "ReturnOrderItem", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/orderItemNameParameter" + }, + { + "$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" + }, + { + "name": "returnOrderItemDetails", + "in": "body", + "description": "Return order item CurrentStatus.", + "required": true, + "schema": { + "$ref": "#/definitions/ReturnOrderItemDetails" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "\"Return order item request accepted.\"" + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ReturnOrderItem": { + "$ref": "./examples/ReturnOrderItem.json" + } + } + } + } + }, + "definitions": { + "AddressDetails": { + "description": "Address details for an order item.", + "required": [ + "forwardAddress" + ], + "type": "object", + "properties": { + "forwardAddress": { + "$ref": "#/definitions/AddressProperties", + "description": "Customer address and contact details. It should be address resource" + }, + "returnAddress": { + "$ref": "#/definitions/AddressProperties", + "description": "Return shipping address", + "readOnly": true + } + } + }, + "AddressProperties": { + "description": "Address Properties", + "required": [ + "contactDetails" + ], + "type": "object", + "properties": { + "shippingAddress": { + "$ref": "#/definitions/ShippingAddress", + "description": "Shipping details for the address" + }, + "contactDetails": { + "$ref": "#/definitions/ContactDetails", + "description": "Contact details for the address" + }, + "addressValidationStatus": { + "description": "Status of address validation", + "enum": [ + "Valid", + "Invalid", + "Ambiguous" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AddressValidationStatus", + "modelAsString": true, + "values": [ + { + "value": "Valid", + "description": "Address provided is valid." + }, + { + "value": "Invalid", + "description": "Address provided is invalid or not supported." + }, + { + "value": "Ambiguous", + "description": "Address provided is ambiguous, please choose one of the alternate addresses returned." + } + ] + } + } + } + }, + "AddressResource": { + "description": "Address Resource.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AddressProperties", + "description": "Properties of an address.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Represents resource creation and update time", + "readOnly": true + } + } + }, + "AddressResourceList": { + "description": "Address Resource Collection", + "type": "object", + "properties": { + "value": { + "description": "List of address resources.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/AddressResource" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link for the next set of job resources.", + "type": "string" + } + } + }, + "AddressUpdateParameter": { + "description": "The Address update parameters", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AddressUpdateProperties", + "description": "Properties of a address to be updated.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "AddressUpdateProperties": { + "description": "Address Properties", + "type": "object", + "properties": { + "shippingAddress": { + "$ref": "#/definitions/ShippingAddress", + "description": "Shipping details for the address" + }, + "contactDetails": { + "$ref": "#/definitions/ContactDetails", + "description": "Contact details for the address" + } + } + }, + "AvailabilityInformation": { + "description": "Availability information of a product system.", + "type": "object", + "properties": { + "availabilityStage": { + "description": "Current availability stage of the product. Availability stage", + "enum": [ + "Available", + "ComingSoon", + "Preview", + "Deprecated", + "Signup", + "Unavailable" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AvailabilityStage", + "modelAsString": true, + "values": [ + { + "value": "Available", + "description": "Product is available." + }, + { + "value": "ComingSoon", + "description": "Product is coming soon." + }, + { + "value": "Preview", + "description": "Product is in preview." + }, + { + "value": "Deprecated", + "description": "Product is deprecated." + }, + { + "value": "Signup", + "description": "Product is available only on signup." + }, + { + "value": "Unavailable", + "description": "Product is not available." + } + ] + } + }, + "disabledReason": { + "description": "Reason why the product is disabled.", + "enum": [ + "None", + "Country", + "Region", + "Feature", + "OfferType", + "NoSubscriptionInfo", + "NotAvailable", + "OutOfStock" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DisabledReason", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "Not disabled." + }, + { + "value": "Country", + "description": "Not available in the requested country." + }, + { + "value": "Region", + "description": "Not available to push data to the requested Azure region." + }, + { + "value": "Feature", + "description": "Required features are not enabled." + }, + { + "value": "OfferType", + "description": "Subscription does not have required offer types." + }, + { + "value": "NoSubscriptionInfo", + "description": "Subscription has not registered to Microsoft.DataBox and Service does not have the subscription notification." + }, + { + "value": "NotAvailable", + "description": "The product is not yet available." + }, + { + "value": "OutOfStock", + "description": "The product is out of stock." + } + ] + } + }, + "disabledReasonMessage": { + "description": "Message for why the product is disabled.", + "type": "string", + "readOnly": true + } + } + }, + "BasicInformation": { + "description": "Basic information for any product system", + "type": "object", + "properties": { + "displayName": { + "description": "Display Name for the product system.", + "type": "string", + "readOnly": true + }, + "description": { + "$ref": "#/definitions/Description", + "description": "Description related to the product system.", + "readOnly": true + }, + "imageInformation": { + "description": "Image information for the product system.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ImageInformation" + }, + "readOnly": true + }, + "costInformation": { + "$ref": "#/definitions/CostInformation", + "description": "Cost information for the product system.", + "readOnly": true + }, + "availabilityInformation": { + "$ref": "#/definitions/AvailabilityInformation", + "description": "Availability information of the product system.", + "readOnly": true + }, + "hierarchyInformation": { + "$ref": "#/definitions/HierarchyInformation", + "description": "Hierarchy information of a product.", + "readOnly": true + } + } + }, + "CancellationReason": { + "description": "Reason for cancellation.", + "required": [ + "reason" + ], + "type": "object", + "properties": { + "reason": { + "description": "Reason for cancellation.", + "type": "string" + } + } + }, + "CommonProperties": { + "description": "Represents common properties across product hierarchy", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BasicInformation" + } + ], + "properties": { + "filterableProperties": { + "description": "list of filters supported for a product", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/FilterableProperty" + }, + "readOnly": true + } + } + }, + "Configuration": { + "description": "Configuration object.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ConfigurationProperties", + "description": "Properties of configuration", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "ConfigurationFilters": { + "description": "Configuration filters", + "required": [ + "hierarchyInformation" + ], + "type": "object", + "properties": { + "hierarchyInformation": { + "$ref": "#/definitions/HierarchyInformation", + "description": "Product hierarchy information" + }, + "filterableProperty": { + "description": "Filters specific to product", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/FilterableProperty" + } + } + } + }, + "ConfigurationProperties": { + "description": "Properties of configuration", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CommonProperties" + } + ], + "properties": { + "specifications": { + "description": "Specifications of the configuration", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Specification" + }, + "readOnly": true + }, + "dimensions": { + "$ref": "#/definitions/Dimensions", + "description": "Dimensions of the configuration", + "readOnly": true + } + } + }, + "Configurations": { + "description": "The list of configurations.", + "type": "object", + "properties": { + "value": { + "description": "List of configurations.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Configuration" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link for the next set of configurations.", + "type": "string" + } + } + }, + "ConfigurationsRequest": { + "description": "Configuration request object.", + "required": [ + "configurationFilters" + ], + "type": "object", + "properties": { + "configurationFilters": { + "description": "Holds details about product hierarchy information and filterable property.", + "uniqueItems": true, + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationFilters" + } + }, + "customerSubscriptionDetails": { + "$ref": "#/definitions/CustomerSubscriptionDetails", + "description": "Customer subscription properties. Clients can display available products to unregistered customers by explicitly passing subscription details" + } + } + }, + "ContactDetails": { + "description": "Contact Details.", + "required": [ + "contactName", + "phone", + "emailList" + ], + "type": "object", + "properties": { + "contactName": { + "description": "Contact name of the person.", + "type": "string" + }, + "phone": { + "description": "Phone number of the contact person.", + "type": "string" + }, + "phoneExtension": { + "description": "Phone extension number of the contact person.", + "type": "string" + }, + "mobile": { + "description": "Mobile number of the contact person.", + "type": "string" + }, + "emailList": { + "description": "List of Email-ids to be notified about job progress.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CostInformation": { + "description": "Cost information for the product system", + "type": "object", + "properties": { + "billingMeterDetails": { + "description": "Details on the various billing aspects for the product system.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/BillingMeterDetails" + }, + "readOnly": true + }, + "billingInfoUrl": { + "description": "Default url to display billing information", + "type": "string", + "readOnly": true + } + } + }, + "BillingMeterDetails": { + "description": "Holds billing meter details for each type of billing", + "type": "object", + "properties": { + "name": { + "description": "Represents Billing type name", + "type": "string", + "readOnly": true + }, + "meterDetails": { + "$ref": "#/definitions/MeterDetails", + "description": "Represents MeterDetails", + "readOnly": true + }, + "meteringType": { + "description": "Represents Metering type (eg one-time or recurrent)", + "enum": [ + "OneTime", + "Recurring", + "Adhoc" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MeteringType", + "modelAsString": true, + "values": [ + { + "value": "OneTime", + "description": "One time billing." + }, + { + "value": "Recurring", + "description": "Recurring billing." + }, + { + "value": "Adhoc", + "description": "Adhoc billing." + } + ] + } + }, + "frequency": { + "description": "Frequency of recurrence", + "type": "string", + "readOnly": true + } + } + }, + "Description": { + "description": "Description related properties of a product system.", + "type": "object", + "properties": { + "descriptionType": { + "description": "Type of description.", + "enum": [ + "Base" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DescriptionType", + "modelAsString": true, + "values": [ + { + "value": "Base", + "description": "Base description." + } + ] + } + }, + "shortDescription": { + "description": "Short description of the product system.", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "Long description of the product system.", + "type": "string", + "readOnly": true + }, + "keywords": { + "description": "Keywords for the product system.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "attributes": { + "description": "Attributes for the product system.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "links": { + "description": "Links for the product system.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Link" + }, + "readOnly": true + } + } + }, + "DeviceDetails": { + "description": "Device details.", + "type": "object", + "properties": { + "serialNumber": { + "description": "device serial number", + "type": "string", + "readOnly": true + }, + "managementResourceId": { + "description": "Management Resource Id", + "type": "string", + "readOnly": true + }, + "managementResourceTenantId": { + "description": "Management Resource Tenant ID", + "type": "string", + "readOnly": true + } + } + }, + "Dimensions": { + "description": "Dimensions of a configuration.", + "type": "object", + "properties": { + "length": { + "description": "Length of the device.", + "type": "number", + "format": "double", + "readOnly": true + }, + "height": { + "description": "Height of the device.", + "type": "number", + "format": "double", + "readOnly": true + }, + "width": { + "description": "Width of the device.", + "type": "number", + "format": "double", + "readOnly": true + }, + "lengthHeightUnit": { + "description": "Unit for the dimensions of length, height and width.", + "enum": [ + "IN", + "CM" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "LengthHeightUnit", + "modelAsString": true, + "values": [ + { + "value": "IN", + "description": "Inch, applicable for West US." + }, + { + "value": "CM", + "description": "Centimeter." + } + ] + } + }, + "weight": { + "description": "Weight of the device.", + "type": "number", + "format": "double", + "readOnly": true + }, + "depth": { + "description": "Depth of the device.", + "type": "number", + "format": "double", + "readOnly": true + }, + "weightUnit": { + "description": "Unit for the dimensions of weight.", + "enum": [ + "LBS", + "KGS" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "WeightMeasurementUnit", + "modelAsString": true, + "values": [ + { + "value": "LBS", + "description": "Pounds." + }, + { + "value": "KGS", + "description": "Kilograms." + } + ] + } + } + } + }, + "DisplayInfo": { + "description": "Describes product display information", + "type": "object", + "properties": { + "productFamilyDisplayName": { + "description": "Product family display name", + "type": "string", + "readOnly": true + }, + "configurationDisplayName": { + "description": "Configuration display name", + "type": "string", + "readOnly": true + } + } + }, + "EncryptionPreferences": { + "description": "Preferences related to the double encryption", + "type": "object", + "properties": { + "doubleEncryptionStatus": { + "description": "Double encryption status as entered by the customer. It is compulsory to give this parameter if the 'Deny' or 'Disabled' policy is configured.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "DoubleEncryptionStatus", + "modelAsString": true, + "values": [ + { + "value": "Disabled", + "description": "Double encryption is disabled" + }, + { + "value": "Enabled", + "description": "Double encryption is enabled" + } + ] + } + } + } + }, + "FilterableProperty": { + "description": "Different types of filters supported and its values.", + "required": [ + "type", + "supportedValues" + ], + "type": "object", + "properties": { + "type": { + "description": "Type of product filter.", + "enum": [ + "ShipToCountries", + "DoubleEncryptionStatus" + ], + "type": "string", + "x-ms-enum": { + "name": "SupportedFilterTypes", + "modelAsString": true, + "values": [ + { + "value": "ShipToCountries", + "description": "Ship to country" + }, + { + "value": "DoubleEncryptionStatus", + "description": "Double encryption status" + } + ] + } + }, + "supportedValues": { + "description": "Values to be filtered.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ForwardShippingDetails": { + "description": "Forward shipment details.", + "type": "object", + "properties": { + "carrierName": { + "description": "Name of the carrier.", + "type": "string", + "readOnly": true + }, + "carrierDisplayName": { + "description": "Carrier Name for display purpose. Not to be used for any processing.", + "type": "string", + "readOnly": true + }, + "trackingId": { + "description": "TrackingId of the package", + "type": "string", + "readOnly": true + }, + "trackingUrl": { + "description": "TrackingUrl of the package.", + "type": "string", + "readOnly": true + } + } + }, + "HierarchyInformation": { + "description": "Holds details about product hierarchy information", + "type": "object", + "properties": { + "productFamilyName": { + "description": "Represents product family name that uniquely identifies product family", + "type": "string" + }, + "productLineName": { + "description": "Represents product line name that uniquely identifies product line", + "type": "string" + }, + "productName": { + "description": "Represents product name that uniquely identifies product", + "type": "string" + }, + "configurationName": { + "description": "Represents configuration name that uniquely identifies configuration", + "type": "string" + } + } + }, + "ImageInformation": { + "description": "Image for the product", + "type": "object", + "properties": { + "imageType": { + "description": "Type of the image", + "enum": [ + "MainImage", + "BulletImage", + "GenericImage" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ImageType", + "modelAsString": true, + "values": [ + { + "value": "MainImage", + "description": "Main image." + }, + { + "value": "BulletImage", + "description": "Bullet image." + }, + { + "value": "GenericImage", + "description": "Generic image." + } + ] + } + }, + "imageUrl": { + "description": "Url of the image", + "type": "string", + "readOnly": true + } + } + }, + "Link": { + "description": "Returns link related to the product", + "type": "object", + "properties": { + "linkType": { + "description": "Type of link", + "enum": [ + "Generic", + "TermsAndConditions", + "Specification", + "Documentation", + "KnowMore", + "SignUp" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "LinkType", + "modelAsString": true, + "values": [ + { + "value": "Generic", + "description": "Generic link." + }, + { + "value": "TermsAndConditions", + "description": "Terms and conditions link." + }, + { + "value": "Specification", + "description": "Link to product specification." + }, + { + "value": "Documentation", + "description": "Link to product documentation" + }, + { + "value": "KnowMore", + "description": "Link to know more" + }, + { + "value": "SignUp", + "description": "Link to sign up for products" + } + ] + } + }, + "linkUrl": { + "description": "Url of the link", + "type": "string", + "readOnly": true + } + } + }, + "ManagementResourcePreferences": { + "description": "Management resource preference to link device", + "type": "object", + "properties": { + "preferredManagementResourceId": { + "description": "Customer preferred Management resource ARM ID", + "type": "string" + } + } + }, + "MeterDetails": { + "description": "Holds details about billing type and its meter guids", + "required": [ + "billingType" + ], + "type": "object", + "properties": { + "billingType": { + "description": "Represents billing type.", + "enum": [ + "Pav2", + "Purchase" + ], + "type": "string", + "x-ms-enum": { + "name": "BillingType", + "modelAsString": true, + "values": [ + { + "value": "Pav2", + "description": "PaV2 billing." + }, + { + "value": "Purchase", + "description": "Purchase billing." + } + ] + } + }, + "multiplier": { + "format": "double", + "description": "Billing unit applicable for Pav2 billing", + "type": "number", + "readOnly": true + }, + "chargingType": { + "description": "Charging type.", + "enum": [ + "PerOrder", + "PerDevice" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ChargingType", + "modelAsString": true, + "values": [ + { + "value": "PerOrder", + "description": "Per order charging type." + }, + { + "value": "PerDevice", + "description": "Per device charging type." + } + ] + } + } + }, + "discriminator": "billingType" + }, + "NotificationPreference": { + "description": "Notification preference for a job stage.", + "required": [ + "stageName", + "sendNotification" + ], + "type": "object", + "properties": { + "stageName": { + "description": "Name of the stage.", + "enum": [ + "Shipped", + "Delivered" + ], + "type": "string", + "x-ms-enum": { + "name": "NotificationStageName", + "modelAsString": true, + "values": [ + { + "value": "Shipped", + "description": "Notification at order item shipped from microsoft datacenter." + }, + { + "value": "Delivered", + "description": "Notification at order item delivered to customer." + } + ] + } + }, + "sendNotification": { + "description": "Notification is required or not.", + "type": "boolean" + } + } + }, + "OrderProperties": { + "description": "Represents order details.", + "type": "object", + "properties": { + "orderItemIds": { + "description": "List of order item ARM Ids which are part of an order.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "currentStage": { + "$ref": "#/definitions/StageDetails", + "description": "Order current status.", + "readOnly": true + }, + "orderStageHistory": { + "description": "Order status history.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/StageDetails" + }, + "readOnly": true + } + } + }, + "OrderResource": { + "description": "Specifies the properties or parameters for an order. Order is a grouping of one or more order items.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/OrderProperties", + "description": "Order properties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Represents resource creation and update time", + "readOnly": true + } + } + }, + "OrderItemResourceList": { + "description": "List of orderItems.", + "type": "object", + "properties": { + "value": { + "description": "List of order item resources.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OrderItemResource" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link for the next set of order item resources.", + "type": "string" + } + } + }, + "OrderItemDetails": { + "description": "Order item details", + "required": [ + "productDetails", + "orderItemType" + ], + "type": "object", + "properties": { + "productDetails": { + "$ref": "#/definitions/ProductDetails", + "description": "Unique identifier for configuration." + }, + "orderItemType": { + "description": "Order item type.", + "enum": [ + "Purchase", + "Rental" + ], + "type": "string", + "x-ms-enum": { + "name": "OrderItemType", + "modelAsString": true, + "values": [ + { + "value": "Purchase", + "description": "Purchase OrderItem." + }, + { + "value": "Rental", + "description": "Rental OrderItem." + } + ] + } + }, + "currentStage": { + "$ref": "#/definitions/StageDetails", + "description": "Current Order item Status", + "readOnly": true + }, + "orderItemStageHistory": { + "description": "Order item status history", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/StageDetails" + }, + "readOnly": true + }, + "preferences": { + "$ref": "#/definitions/Preferences", + "description": "Customer notification Preferences" + }, + "forwardShippingDetails": { + "$ref": "#/definitions/ForwardShippingDetails", + "description": "Forward Package Shipping details", + "readOnly": true + }, + "reverseShippingDetails": { + "$ref": "#/definitions/ReverseShippingDetails", + "description": "Reverse Package Shipping details", + "readOnly": true + }, + "notificationEmailList": { + "description": "Additional notification email list", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "cancellationReason": { + "description": "Cancellation reason.", + "type": "string", + "readOnly": true + }, + "cancellationStatus": { + "description": "Describes whether the order item is cancellable or not.", + "enum": [ + "Cancellable", + "CancellableWithFee", + "NotCancellable" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "OrderItemCancellationEnum", + "modelAsString": true, + "values": [ + { + "value": "Cancellable", + "description": "Order item can be cancelled without fee." + }, + { + "value": "CancellableWithFee", + "description": "Order item can be cancelled with fee." + }, + { + "value": "NotCancellable", + "description": "Order item not cancellable." + } + ] + } + }, + "deletionStatus": { + "description": "Describes whether the order item is deletable or not.", + "enum": [ + "Allowed", + "NotAllowed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ActionStatusEnum", + "modelAsString": true, + "values": [ + { + "value": "Allowed", + "description": "Allowed flag." + }, + { + "value": "NotAllowed", + "description": "Not Allowed flag." + } + ] + } + }, + "returnReason": { + "description": "Return reason.", + "type": "string", + "readOnly": true + }, + "returnStatus": { + "description": "Describes whether the order item is returnable or not.", + "enum": [ + "Returnable", + "ReturnableWithFee", + "NotReturnable" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "OrderItemReturnEnum", + "modelAsString": true, + "values": [ + { + "value": "Returnable", + "description": "Order item can be returned without fee." + }, + { + "value": "ReturnableWithFee", + "description": "Order item can be returned with fee." + }, + { + "value": "NotReturnable", + "description": "Order item not returnable." + } + ] + } + }, + "managementRpDetails": { + "$ref": "#/definitions/ResourceProviderDetails", + "description": "Parent RP details - this returns only the first or default parent RP from the entire list", + "readOnly": true + }, + "managementRpDetailsList": { + "description": "List of parent RP details supported for configuration.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderDetails" + }, + "readOnly": true + }, + "error": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail", + "description": "Top level error for the job.", + "readOnly": true + } + } + }, + "OrderItemProperties": { + "description": "Represents order item details.", + "required": [ + "orderItemDetails", + "addressDetails", + "orderId" + ], + "type": "object", + "properties": { + "orderItemDetails": { + "$ref": "#/definitions/OrderItemDetails", + "description": "Represents order item details." + }, + "addressDetails": { + "$ref": "#/definitions/AddressDetails", + "description": "Represents shipping and return address for order item" + }, + "startTime": { + "format": "date-time", + "description": "Start time of order item", + "type": "string", + "readOnly": true + }, + "orderId": { + "description": "Id of the order to which order item belongs to", + "type": "string" + } + } + }, + "OrderItemResource": { + "description": "Represents order item contract", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/OrderItemProperties", + "description": "Order item properties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Represents resource creation and update time", + "readOnly": true + } + } + }, + "OrderResourceList": { + "description": "List of orders.", + "type": "object", + "properties": { + "value": { + "description": "List of order resources.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OrderResource" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link for the next set of order resources.", + "type": "string" + } + } + }, + "StageDetails": { + "description": "Resource stage details.", + "type": "object", + "properties": { + "stageStatus": { + "description": "Stage status.", + "enum": [ + "None", + "InProgress", + "Succeeded", + "Failed", + "Cancelled", + "Cancelling" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StageStatus", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "No status available yet." + }, + { + "value": "InProgress", + "description": "Stage is in progress." + }, + { + "value": "Succeeded", + "description": "Stage has succeeded." + }, + { + "value": "Failed", + "description": "Stage has failed." + }, + { + "value": "Cancelled", + "description": "Stage has been cancelled." + }, + { + "value": "Cancelling", + "description": "Stage is cancelling." + } + ] + } + }, + "stageName": { + "description": "Stage name", + "enum": [ + "Placed", + "InReview", + "Confirmed", + "ReadyToShip", + "Shipped", + "Delivered", + "InUse", + "ReturnInitiated", + "ReturnPickedUp", + "ReturnedToMicrosoft", + "ReturnCompleted", + "Cancelled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StageName", + "modelAsString": true, + "values": [ + { + "value": "Placed", + "description": "Currently in draft mode and can still be cancelled" + }, + { + "value": "InReview", + "description": "Order is currently in draft mode and can still be cancelled" + }, + { + "value": "Confirmed", + "description": "Order is confirmed" + }, + { + "value": "ReadyToShip", + "description": "Order is ready to ship" + }, + { + "value": "Shipped", + "description": "Order is in transit to customer" + }, + { + "value": "Delivered", + "description": "Order is delivered to customer" + }, + { + "value": "InUse", + "description": "Order is in use at customer site" + }, + { + "value": "ReturnInitiated", + "description": "Return has been initiated by customer." + }, + { + "value": "ReturnPickedUp", + "description": "Order is in transit from customer to microsoft." + }, + { + "value": "ReturnedToMicrosoft", + "description": "Order has been received back to microsoft." + }, + { + "value": "ReturnCompleted", + "description": "Return has now completed." + }, + { + "value": "Cancelled", + "description": "Order has been cancelled." + } + ] + } + }, + "displayName": { + "description": "Display name of the resource stage.", + "type": "string", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "Stage start time", + "type": "string", + "readOnly": true + } + } + }, + "OrderItemUpdateParameter": { + "description": "Updates order item parameters.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/OrderItemUpdateProperties", + "description": "Order item update properties", + "x-ms-client-flatten": true + }, + "tags": { + "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "OrderItemUpdateProperties": { + "description": "Order item update properties.", + "type": "object", + "properties": { + "forwardAddress": { + "$ref": "#/definitions/AddressProperties", + "description": "Updates forward shipping address and contact details." + }, + "preferences": { + "$ref": "#/definitions/Preferences", + "description": "Customer preference." + }, + "notificationEmailList": { + "description": "Additional notification email list.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Pav2MeterDetails": { + "description": "Billing type PAV2 meter details", + "required": [ + "billingType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MeterDetails" + } + ], + "properties": { + "meterGuid": { + "description": "Validation status of requested data center and transport.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "Pav2" + }, + "Preferences": { + "description": "Preferences related to the order", + "type": "object", + "properties": { + "notificationPreferences": { + "description": "Notification preferences.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/NotificationPreference" + } + }, + "transportPreferences": { + "$ref": "#/definitions/TransportPreferences", + "description": "Preferences related to the shipment logistics of the order." + }, + "encryptionPreferences": { + "$ref": "#/definitions/EncryptionPreferences", + "description": "Preferences related to the Encryption." + }, + "managementResourcePreferences": { + "$ref": "#/definitions/ManagementResourcePreferences", + "description": "Preferences related to the Management resource." + } + } + }, + "Product": { + "description": "List of Products", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ProductProperties", + "description": "Properties of product", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "ProductDetails": { + "description": "Represents product details", + "required": [ + "hierarchyInformation" + ], + "type": "object", + "properties": { + "displayInfo": { + "$ref": "#/definitions/DisplayInfo", + "description": "Display details of the product" + }, + "hierarchyInformation": { + "$ref": "#/definitions/HierarchyInformation", + "description": "Hierarchy of the product which uniquely identifies the product" + }, + "count": { + "format": "int32", + "description": "Quantity of the product", + "type": "integer", + "readOnly": true + }, + "productDoubleEncryptionStatus": { + "description": "Double encryption status of the configuration. Read-only field.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DoubleEncryptionStatus", + "modelAsString": true, + "values": [ + { + "value": "Disabled", + "description": "Double encryption is disabled" + }, + { + "value": "Enabled", + "description": "Double encryption is enabled" + } + ] + } + }, + "deviceDetails": { + "description": "list of device details", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/DeviceDetails" + }, + "readOnly": true + } + } + }, + "ProductFamilies": { + "description": "The list of product families.", + "type": "object", + "properties": { + "value": { + "description": "List of product families.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ProductFamily" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link for the next set of product families.", + "type": "string" + } + } + }, + "ProductFamiliesMetadata": { + "description": "Holds details about product family metadata", + "type": "object", + "properties": { + "value": { + "description": "List of product family metadata details.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ProductFamiliesMetadataDetails" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link for the next set of product families.", + "type": "string", + "readOnly": true + } + } + }, + "ProductFamiliesMetadataDetails": { + "description": "Product families metadata details.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ProductFamilyProperties", + "description": "Product family properties", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "ProductFamiliesRequest": { + "description": "The filters for showing the product families.", + "required": [ + "filterableProperties" + ], + "type": "object", + "properties": { + "filterableProperties": { + "description": "Dictionary of filterable properties on product family.", + "type": "object", + "additionalProperties": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/FilterableProperty" + } + } + }, + "customerSubscriptionDetails": { + "$ref": "#/definitions/CustomerSubscriptionDetails", + "description": "Customer subscription properties. Clients can display available products to unregistered customers by explicitly passing subscription details" + } + } + }, + "ProductFamily": { + "description": "Product Family", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ProductFamilyProperties", + "description": "Properties of product family", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "ProductFamilyProperties": { + "description": "Properties of product family", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CommonProperties" + } + ], + "properties": { + "productLines": { + "description": "List of product lines supported in the product family", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ProductLine" + }, + "readOnly": true + }, + "resourceProviderDetails": { + "description": "Contains details related to resource provider", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderDetails" + } + } + } + }, + "ProductLine": { + "description": "Product line", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ProductLineProperties", + "description": "Properties of product line", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "ProductLineProperties": { + "description": "Properties of product line", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CommonProperties" + } + ], + "properties": { + "products": { + "description": "List of products in the product line", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Product" + }, + "readOnly": true + } + } + }, + "ProductProperties": { + "description": "Properties of products", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CommonProperties" + } + ], + "properties": { + "configurations": { + "description": "List of configurations for the product", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Configuration" + }, + "readOnly": true + } + } + }, + "PurchaseMeterDetails": { + "description": "Billing type Purchase meter details", + "required": [ + "billingType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MeterDetails" + } + ], + "properties": { + "productId": { + "description": "Product Id", + "type": "string", + "readOnly": true + }, + "skuId": { + "description": "Sku Id", + "type": "string", + "readOnly": true + }, + "termId": { + "description": "Term Id", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "Purchase" + }, + "ResourceIdentity": { + "description": "Msi identity details of the resource", + "type": "object", + "properties": { + "type": { + "description": "Identity type", + "type": "string" + }, + "principalId": { + "description": "Service Principal Id backing the Msi", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Home Tenant Id", + "type": "string", + "readOnly": true + } + } + }, + "ResourceProviderDetails": { + "description": "Management RP details", + "type": "object", + "properties": { + "resourceProviderNamespace": { + "description": "Resource provider namespace", + "type": "string", + "readOnly": true + } + } + }, + "ReturnOrderItemDetails": { + "description": "Return order item request body", + "required": [ + "returnReason" + ], + "type": "object", + "properties": { + "returnAddress": { + "$ref": "#/definitions/AddressProperties", + "description": "customer return address." + }, + "returnReason": { + "description": "Return Reason.", + "type": "string" + }, + "serviceTag": { + "description": "Service tag (located on the bottom-right corner of the device)", + "type": "string" + }, + "shippingBoxRequired": { + "description": "Shipping Box required", + "default": false, + "type": "boolean" + } + } + }, + "ReverseShippingDetails": { + "description": "Reverse shipment details.", + "type": "object", + "properties": { + "sasKeyForLabel": { + "description": "SAS key to download the reverse shipment label of the package.", + "type": "string", + "readOnly": true + }, + "carrierName": { + "description": "Name of the carrier.", + "type": "string", + "readOnly": true + }, + "carrierDisplayName": { + "description": "Carrier Name for display purpose. Not to be used for any processing.", + "type": "string", + "readOnly": true + }, + "trackingId": { + "description": "TrackingId of the package", + "type": "string", + "readOnly": true + }, + "trackingUrl": { + "description": "TrackingUrl of the package.", + "type": "string", + "readOnly": true + } + } + }, + "ShippingAddress": { + "description": "Shipping address where customer wishes to receive the device.", + "required": [ + "streetAddress1", + "country" + ], + "type": "object", + "properties": { + "streetAddress1": { + "description": "Street Address line 1.", + "type": "string" + }, + "streetAddress2": { + "description": "Street Address line 2.", + "type": "string" + }, + "streetAddress3": { + "description": "Street Address line 3.", + "type": "string" + }, + "city": { + "description": "Name of the City.", + "type": "string" + }, + "stateOrProvince": { + "description": "Name of the State or Province.", + "type": "string" + }, + "country": { + "description": "Name of the Country.", + "type": "string" + }, + "postalCode": { + "description": "Postal code.", + "type": "string" + }, + "zipExtendedCode": { + "description": "Extended Zip Code.", + "type": "string" + }, + "companyName": { + "description": "Name of the company.", + "type": "string" + }, + "addressType": { + "description": "Type of address.", + "enum": [ + "None", + "Residential", + "Commercial" + ], + "type": "string", + "x-ms-enum": { + "name": "AddressType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "Address type not known." + }, + { + "value": "Residential", + "description": "Residential Address." + }, + { + "value": "Commercial", + "description": "Commercial Address." + } + ] + } + } + } + }, + "ShippingDetails": { + "description": "Package shipping details", + "type": "object", + "properties": { + "carrierName": { + "description": "Name of the carrier.", + "type": "string", + "readOnly": true + }, + "carrierDisplayName": { + "description": "Carrier Name for display purpose. Not to be used for any processing.", + "type": "string", + "readOnly": true + }, + "trackingId": { + "description": "TrackingId of the package", + "type": "string", + "readOnly": true + }, + "trackingUrl": { + "description": "TrackingUrl of the package.", + "type": "string", + "readOnly": true + } + } + }, + "Specification": { + "description": "Specifications of the configurations", + "type": "object", + "properties": { + "name": { + "description": "Name of the specification", + "type": "string", + "readOnly": true + }, + "value": { + "description": "Value of the specification", + "type": "string", + "readOnly": true + } + } + }, + "CustomerSubscriptionDetails": { + "description": "Holds Customer subscription details. Clients can display available products to unregistered customers by explicitly passing subscription details", + "required": [ + "quotaId" + ], + "type": "object", + "properties": { + "registeredFeatures": { + "uniqueItems": false, + "description": "List of registered feature flags for subscription", + "type": "array", + "items": { + "$ref": "#/definitions/CustomerSubscriptionRegisteredFeatures" + } + }, + "locationPlacementId": { + "description": "Location placement Id of a subscription", + "type": "string" + }, + "quotaId": { + "description": "Quota ID of a subscription", + "type": "string" + } + } + }, + "CustomerSubscriptionRegisteredFeatures": { + "description": "Represents subscription registered features", + "type": "object", + "properties": { + "name": { + "description": "Name of subscription registered feature", + "type": "string" + }, + "state": { + "description": "State of subscription registered feature", + "type": "string" + } + } + }, + "TransportPreferences": { + "description": "Preferences related to the shipment logistics of the sku", + "required": [ + "preferredShipmentType" + ], + "type": "object", + "properties": { + "preferredShipmentType": { + "description": "Indicates Shipment Logistics type that the customer preferred.", + "enum": [ + "CustomerManaged", + "MicrosoftManaged" + ], + "type": "string", + "x-ms-enum": { + "name": "TransportShipmentTypes", + "modelAsString": true, + "values": [ + { + "value": "CustomerManaged", + "description": "Shipment Logistics is handled by the customer." + }, + { + "value": "MicrosoftManaged", + "description": "Shipment Logistics is handled by Microsoft." + } + ] + } + } + } + } + }, + "parameters": { + "addressNameParameter": { + "name": "addressName", + "in": "path", + "description": "The name of the address Resource within the specified resource group. address names must be between 3 and 24 characters in length and use any alphanumeric and underscore only", + "required": true, + "type": "string", + "maxLength": 24, + "minLength": 3, + "pattern": "^[-\\w\\.]+$", + "x-ms-parameter-location": "method" + }, + "locationParameter": { + "name": "location", + "in": "path", + "description": "The location of the resource", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "orderNameParameter": { + "name": "orderName", + "in": "path", + "description": "The name of the order", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "orderItemNameParameter": { + "name": "orderItemName", + "in": "path", + "description": "The name of the order item", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "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": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CancelOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CancelOrderItem.json new file mode 100644 index 000000000000..57f48f211dfb --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CancelOrderItem.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "TestRG", + "orderItemName": "TestOrderItemName1", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1/cancel?api-version=2021-12-01" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "34" + ], + "cancellationReason": { + "reason": "Order cancelled" + } + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateAddress.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateAddress.json new file mode 100644 index 000000000000..eede62a5f0d6 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateAddress.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "TestRG", + "addressName": "TestMSAddressName", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName?api-version=2021-12-01" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "492" + ], + "addressResource": { + "properties": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "Petr Cech", + "phone": "1234567890", + "phoneExtension": "", + "emailList": [ + "testemail@microsoft.com" + ] + } + }, + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "Petr Cech", + "phone": "1234567890", + "phoneExtension": "", + "emailList": [ + "testemail@microsoft.com" + ] + } + }, + "location": "westus", + "tags": {}, + "name": "TestMSAddressName", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName", + "type": "Microsoft.EdgeOrder/addresses" + } + }, + "202": {} + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateOrderItem.json new file mode 100644 index 000000000000..51908f3b6837 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateOrderItem.json @@ -0,0 +1,168 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "TestRG", + "orderItemName": "TestOrderItemName01", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-01" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1358" + ], + "orderItemResource": { + "properties": { + "orderItemDetails": { + "orderItemType": "Purchase", + "productDetails": { + "hierarchyInformation": { + "productFamilyName": "AzureStackEdge", + "productLineName": "AzureStackEdge", + "productName": "AzureStackEdgeGPU", + "configurationName": "AzureStackEdgeGPU" + } + }, + "preferences": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + } + }, + "addressDetails": { + "forwardAddress": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "zipExtendedCode": "1", + "addressType": "Residential" + }, + "contactDetails": { + "contactName": "164 TOWNSEND ST", + "phone": "3213131190", + "emailList": [ + "ssemmail@microsoft.com", + "vishwamdir@microsoft.com" + ] + } + } + }, + "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01" + }, + "tags": { + "mango": "fruit", + "carrot": "vegetable" + }, + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "orderItemDetails": { + "productDetails": { + "displayInfo": { + "productFamilyDisplayName": "Azure Stack Edge", + "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "azurestackedgegpu" + }, + "count": 0, + "productDoubleEncryptionStatus": "Disabled" + }, + "orderItemType": "Purchase", + "currentStage": { + "stageStatus": "InProgress", + "stageName": "Placed", + "startTime": "2021-06-07T13:08:14.0368516+05:30" + }, + "orderItemStageHistory": [ + { + "stageStatus": "None", + "stageName": "Placed" + }, + { + "stageStatus": "None", + "stageName": "Confirmed" + }, + { + "stageStatus": "None", + "stageName": "ReadyToShip" + }, + { + "stageStatus": "None", + "stageName": "Shipped" + }, + { + "stageStatus": "None", + "stageName": "Delivered" + }, + { + "stageStatus": "None", + "stageName": "InUse" + } + ], + "preferences": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "notificationEmailList": [], + "cancellationStatus": "Cancellable", + "deletionStatus": "NotAllowed", + "returnStatus": "NotReturnable" + }, + "addressDetails": { + "forwardAddress": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "zipExtendedCode": "1", + "companyName": "Microsoft", + "addressType": "Residential" + }, + "contactDetails": { + "contactName": "164 TOWNSEND ST", + "phone": "3213131190", + "emailList": [ + "ssemmail@microsoft.com", + "vishwamdir@microsoft.com" + ] + } + } + }, + "startTime": "2021-06-07T13:08:14.0368516+05:30", + "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01" + }, + "location": "westus", + "tags": { + "mango": "fruit", + "carrot": "vegetable" + }, + "name": "TestOrderItemName01", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01", + "type": "Microsoft.EdgeOrder/orderItems" + } + }, + "202": {} + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteAddressByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteAddressByName.json new file mode 100644 index 000000000000..e030fa8b1633 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteAddressByName.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "TestRG", + "addressName": "TestAddressName1", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName1?api-version=2021-12-01" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteOrderItemByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteOrderItemByName.json new file mode 100644 index 000000000000..4c0e005a2171 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteOrderItemByName.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "TestRG", + "orderItemName": "TestOrderItemName01", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-01" + ] + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetAddressByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetAddressByName.json new file mode 100644 index 000000000000..1b0165a28fcf --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetAddressByName.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "TestRG", + "addressName": "TestMSAddressName", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName?api-version=2021-12-01" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "Petr Cech", + "phone": "1234567890", + "phoneExtension": "", + "emailList": [ + "ssemcr@microsoft.com" + ] + } + }, + "location": "westus", + "tags": {}, + "name": "TestMSAddressName", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName", + "type": "Microsoft.EdgeOrder/addresses" + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderByName.json new file mode 100644 index 000000000000..e7512537e4d0 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderByName.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "TestRG", + "location": "%7B%7B%7Blocation%7D%7D", + "orderName": "TestOrderItemName901", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901?api-version=2021-12-01" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "orderItemIds": [ + "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901" + ], + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "InReview", + "startTime": "2021-06-07T15:30:35.4512229+05:30" + }, + "orderStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2021-06-07T15:24:58.7140341+05:30" + }, + { + "stageStatus": "Succeeded", + "stageName": "InReview", + "startTime": "2021-06-07T15:30:35.4512229+05:30" + } + ] + }, + "name": "TestOrderItemName901", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901", + "type": "Microsoft.EdgeOrder/orders" + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderItemByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderItemByName.json new file mode 100644 index 000000000000..74b8cdb589b7 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderItemByName.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "TestRG", + "orderItemName": "TestOrderItemName01", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-01" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "orderItemDetails": { + "productDetails": { + "displayInfo": { + "productFamilyDisplayName": "Azure Stack Edge", + "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "azurestackedgegpu" + }, + "count": 0, + "productDoubleEncryptionStatus": "Disabled" + }, + "orderItemType": "Purchase", + "currentStage": { + "stageStatus": "InProgress", + "stageName": "Placed", + "startTime": "2021-06-07T13:08:14.0368516+05:30" + }, + "orderItemStageHistory": [ + { + "stageStatus": "None", + "stageName": "Placed" + }, + { + "stageStatus": "None", + "stageName": "Confirmed" + }, + { + "stageStatus": "None", + "stageName": "ReadyToShip" + }, + { + "stageStatus": "None", + "stageName": "Shipped" + }, + { + "stageStatus": "None", + "stageName": "Delivered" + }, + { + "stageStatus": "None", + "stageName": "InUse" + } + ], + "preferences": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "notificationEmailList": [], + "cancellationStatus": "Cancellable", + "deletionStatus": "NotAllowed", + "returnStatus": "NotReturnable" + }, + "addressDetails": { + "forwardAddress": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "zipExtendedCode": "1", + "companyName": "Microsoft", + "addressType": "Residential" + }, + "contactDetails": { + "contactName": "164 TOWNSEND ST", + "phone": "3213131190", + "emailList": [ + "ssemmail@microsoft.com", + "vishwamdir@microsoft.com" + ] + } + } + }, + "startTime": "2021-06-07T13:08:14.0368516+05:30", + "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01" + }, + "location": "westus", + "tags": { + "mango": "fruit", + "carrot": "vegetable" + }, + "name": "TestOrderItemName01", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01", + "type": "Microsoft.EdgeOrder/orderItems" + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtResourceGroupLevel.json new file mode 100644 index 000000000000..a04e3db96cf1 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtResourceGroupLevel.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "TestRG", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses?api-version=2021-12-01" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "Petr Cech", + "phone": "1234567890", + "phoneExtension": "", + "emailList": [ + "ssemmail@microsoft.com" + ] + } + }, + "location": "westus", + "tags": {}, + "name": "TestAddressName0", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName0", + "type": "Microsoft.EdgeOrder/addresses" + }, + { + "properties": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "Petr Cech", + "phone": "1234567890", + "phoneExtension": "", + "emailList": [ + "ssemmail@microsoft.com" + ] + } + }, + "location": "westus", + "tags": {}, + "name": "TestAddressName2", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", + "type": "Microsoft.EdgeOrder/addresses" + }, + { + "properties": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "Petr Cech", + "phone": "1234567890", + "phoneExtension": "", + "emailList": [ + "ssemmail@microsoft.com" + ] + } + }, + "location": "westus", + "tags": {}, + "name": "TestMSAddressName", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName", + "type": "Microsoft.EdgeOrder/addresses" + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtSubscriptionLevel.json new file mode 100644 index 000000000000..ea09929e1bd1 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtSubscriptionLevel.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/addresses?api-version=2021-12-01" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "Petr Cech", + "phone": "1234567890", + "phoneExtension": "", + "emailList": [ + "ssemmail@microsoft.com" + ] + } + }, + "location": "westus", + "tags": {}, + "name": "TestAddressName0", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName0", + "type": "Microsoft.EdgeOrder/addresses" + }, + { + "properties": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "Petr Cech", + "phone": "1234567890", + "phoneExtension": "", + "emailList": [ + "ssemmail@microsoft.com" + ] + } + }, + "location": "westus", + "tags": {}, + "name": "TestAddressName2", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", + "type": "Microsoft.EdgeOrder/addresses" + }, + { + "properties": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "Petr Cech", + "phone": "1234567890", + "phoneExtension": "", + "emailList": [ + "ssemcr@microsoft.com" + ] + } + }, + "location": "westus", + "tags": {}, + "name": "TestMSAddressName", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName", + "type": "Microsoft.EdgeOrder/addresses" + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListConfigurations.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListConfigurations.json new file mode 100644 index 000000000000..30aaeb78e7dc --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListConfigurations.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/{{subscriptionId}}/providers/Microsoft.EdgeOrder/listConfigurations?api-version=2021-12-01" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "396" + ], + "configurationsRequest": { + "configurationFilters": [ + { + "hierarchyInformation": { + "productFamilyName": "AzureStackEdge", + "productLineName": "AzureStackEdge", + "productName": "AzureStackEdgeGPU" + }, + "filterableProperty": [ + { + "type": "ShipToCountries", + "supportedValues": [ + "US" + ] + } + ] + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "specifications": [ + { + "name": "Usable compute", + "value": "40 vCPU" + }, + { + "name": "Usable memory", + "value": "102 GB" + }, + { + "name": "Usable storage", + "value": "4.2 TB" + } + ], + "dimensions": { + "length": 50.0, + "height": 15.0, + "width": 5.0, + "lengthHeightUnit": "IN", + "weight": 50.0, + "depth": 2.0, + "weightUnit": "LBS" + }, + "filterableProperties": [ + { + "type": "ShipToCountries", + "supportedValues": [ + "US", + "AR" + ] + } + ], + "displayName": "Azure Stack Edge Pro - 1 GPU", + "description": { + "descriptionType": "Base", + "shortDescription": "", + "longDescription": "", + "keywords": [ + "GPU" + ], + "attributes": [], + "links": [] + }, + "imageInformation": [], + "costInformation": { + "billingMeterDetails": [] + }, + "availabilityInformation": { + "availabilityStage": "Available", + "disabledReason": "None" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "edgep_base" + } + } + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOperations.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOperations.json new file mode 100644 index 000000000000..481b303ffbc0 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOperations.json @@ -0,0 +1,184 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/providers/Microsoft.EdgeOrder/operations?api-version=2021-12-01" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.EdgeOrder/addresses/read", + "display": { + "provider": "Edge Ordering", + "resource": "Addresses", + "operation": "List or Get Addresses", + "description": "List or get the Addresses" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/addresses/delete", + "display": { + "provider": "Edge Ordering", + "resource": "Addresses", + "operation": "Delete Addresses", + "description": "Delete the Addresses" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/addresses/write", + "display": { + "provider": "Edge Ordering", + "resource": "Addresses", + "operation": "Create or Update Addresses", + "description": "Create or update the Addresses" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/locations/operationResults/read", + "display": { + "provider": "Edge Ordering", + "resource": "Operation Results", + "operation": "List or Get Operation Results", + "description": "List or get the Operation Results" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/operations/read", + "display": { + "provider": "Edge Ordering", + "resource": "Operations", + "operation": "List or Get Operations", + "description": "List or get the Operations" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/locations/orders/read", + "display": { + "provider": "Edge Ordering", + "resource": "Order", + "operation": "List or Get Order", + "description": "List or get the Order" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/orders/read", + "display": { + "provider": "Edge Ordering", + "resource": "Order", + "operation": "List or Get Order", + "description": "List or get the Order" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/orderItems/cancel/action", + "display": { + "provider": "Edge Ordering", + "resource": "OrderItem", + "operation": "Cancel OrderItem", + "description": "Cancels an OrderItem in progress." + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/orderItems/return/action", + "display": { + "provider": "Edge Ordering", + "resource": "OrderItem", + "operation": "Return OrderItem", + "description": "Return an OrderItem." + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/orderItems/read", + "display": { + "provider": "Edge Ordering", + "resource": "OrderItem", + "operation": "List or Get OrderItem", + "description": "List or get the OrderItem" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/orderItems/delete", + "display": { + "provider": "Edge Ordering", + "resource": "OrderItem", + "operation": "Delete OrderItem", + "description": "Delete the OrderItem" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/orderItems/write", + "display": { + "provider": "Edge Ordering", + "resource": "OrderItem", + "operation": "Create or Update OrderItem", + "description": "Create or update the OrderItem" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/productFamiliesMetadata/action", + "display": { + "provider": "Edge Ordering", + "resource": "ArmApiRes_Microsoft.EdgeOrder", + "operation": "List or Get product families metadata", + "description": "This method lists or gets the product families metadata." + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/listProductFamilies/read", + "display": { + "provider": "Edge Ordering", + "resource": "ArmApiRes_Microsoft.EdgeOrder", + "operation": "List Product Families", + "description": "This method returns list of product families." + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/listConfigurations/action", + "display": { + "provider": "Edge Ordering", + "resource": "ArmApiRes_Microsoft.EdgeOrder", + "operation": "List Product Configurations", + "description": "This method returns list of product configurations." + }, + "origin": "user", + "isDataAction": false + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtResourceGroupLevel.json new file mode 100644 index 000000000000..f7ef345a3f4f --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtResourceGroupLevel.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "TestRG", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders?api-version=2021-12-01" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "orderItemIds": [ + "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901" + ], + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "InReview", + "startTime": "2021-06-07T13:13:35.0789537+05:30" + }, + "orderStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2021-06-07T13:08:16.3198555+05:30" + }, + { + "stageStatus": "Succeeded", + "stageName": "InReview", + "startTime": "2021-06-07T13:13:35.0789537+05:30" + } + ] + }, + "name": "TestOrderItemName901", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901", + "type": "Microsoft.EdgeOrder/orders" + }, + { + "properties": { + "orderItemIds": [ + "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01" + ], + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "InReview", + "startTime": "2021-06-07T13:19:40.9984759+05:30" + }, + "orderStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2021-06-07T13:14:39.9413253+05:30" + }, + { + "stageStatus": "Succeeded", + "stageName": "InReview", + "startTime": "2021-06-07T13:19:40.9984759+05:30" + } + ] + }, + "name": "TestOrderItemName01", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01", + "type": "Microsoft.EdgeOrder/orders" + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtSubscriptionLevel.json new file mode 100644 index 000000000000..664c655740ea --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtSubscriptionLevel.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/orders?api-version=2021-12-01" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "orderItemIds": [ + "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901" + ], + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "InReview", + "startTime": "2021-06-07T13:13:35.0789537+05:30" + }, + "orderStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2021-06-07T13:08:16.3198555+05:30" + }, + { + "stageStatus": "Succeeded", + "stageName": "InReview", + "startTime": "2021-06-07T13:13:35.0789537+05:30" + } + ] + }, + "name": "TestOrderItemName901", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901", + "type": "Microsoft.EdgeOrder/orders" + }, + { + "properties": { + "orderItemIds": [ + "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01" + ], + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "InReview", + "startTime": "2021-06-07T13:19:40.9984759+05:30" + }, + "orderStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2021-06-07T13:14:39.9413253+05:30" + }, + { + "stageStatus": "Succeeded", + "stageName": "InReview", + "startTime": "2021-06-07T13:19:40.9984759+05:30" + } + ] + }, + "name": "TestOrderItemName01", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01", + "type": "Microsoft.EdgeOrder/orders" + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtResourceGroupLevel.json new file mode 100644 index 000000000000..4668b8ff89cd --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtResourceGroupLevel.json @@ -0,0 +1,211 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "TestRG", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems?api-version=2021-12-01" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "orderItemDetails": { + "productDetails": { + "displayInfo": { + "productFamilyDisplayName": "Azure Stack Edge", + "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "azurestackedgegpu" + }, + "count": 0, + "productDoubleEncryptionStatus": "Disabled" + }, + "orderItemType": "Purchase", + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2021-06-07T12:29:33.9791927+05:30" + }, + "orderItemStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2021-06-07T12:29:33.9791927+05:30" + }, + { + "stageStatus": "None", + "stageName": "Confirmed" + }, + { + "stageStatus": "None", + "stageName": "ReadyToShip" + }, + { + "stageStatus": "None", + "stageName": "Shipped" + }, + { + "stageStatus": "None", + "stageName": "Delivered" + }, + { + "stageStatus": "None", + "stageName": "InUse" + } + ], + "preferences": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "notificationEmailList": [], + "cancellationStatus": "Cancellable", + "deletionStatus": "NotAllowed", + "returnStatus": "NotReturnable" + }, + "addressDetails": { + "forwardAddress": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "zipExtendedCode": "1", + "companyName": "Microsoft", + "addressType": "Residential" + }, + "contactDetails": { + "contactName": "164 TOWNSEND ST", + "phone": "3213131190", + "emailList": [ + "ssemmail@microsoft.com", + "vishwamdir@microsoft.com" + ] + } + } + }, + "startTime": "2021-06-07T12:29:25.6656282+05:30", + "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901" + }, + "location": "westus", + "tags": { + "mango": "fruit", + "carrot": "vegetable" + }, + "name": "TestOrderItemName901", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901", + "type": "Microsoft.EdgeOrder/orderItems" + }, + { + "properties": { + "orderItemDetails": { + "productDetails": { + "displayInfo": { + "productFamilyDisplayName": "Azure Stack Edge", + "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "azurestackedgegpu" + }, + "count": 0, + "productDoubleEncryptionStatus": "Disabled" + }, + "orderItemType": "Purchase", + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2021-06-07T12:49:48.8869361+05:30" + }, + "orderItemStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2021-06-07T12:31:07.7430555+05:30" + }, + { + "stageStatus": "None", + "stageName": "Confirmed" + }, + { + "stageStatus": "None", + "stageName": "ReadyToShip" + }, + { + "stageStatus": "None", + "stageName": "Shipped" + }, + { + "stageStatus": "None", + "stageName": "Delivered" + }, + { + "stageStatus": "None", + "stageName": "InUse" + } + ], + "preferences": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "notificationEmailList": [], + "cancellationStatus": "Cancellable", + "deletionStatus": "NotAllowed", + "returnStatus": "NotReturnable" + }, + "addressDetails": { + "forwardAddress": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "zipExtendedCode": "1", + "companyName": "Microsoft", + "addressType": "Residential" + }, + "contactDetails": { + "contactName": "164 TOWNSEND ST", + "phone": "32131311", + "emailList": [ + "ssemmail@microsoft.com", + "vishwamdir@microsoft.com" + ] + } + } + }, + "startTime": "2021-06-07T12:31:06.1244193+05:30", + "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01" + }, + "location": "westus", + "tags": { + "mango": "fruit", + "carrot": "vegetable" + }, + "name": "TestOrderItemName01", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01", + "type": "Microsoft.EdgeOrder/orderItems" + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtSubscriptionLevel.json new file mode 100644 index 000000000000..6213db650e23 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtSubscriptionLevel.json @@ -0,0 +1,209 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/orderItems?api-version=2021-12-01" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "orderItemDetails": { + "productDetails": { + "displayInfo": { + "productFamilyDisplayName": "Azure Stack Edge", + "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "azurestackedgegpu" + }, + "count": 0, + "productDoubleEncryptionStatus": "Disabled" + }, + "orderItemType": "Purchase", + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2021-06-07T12:29:33.9791927+05:30" + }, + "orderItemStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2021-06-07T12:29:33.9791927+05:30" + }, + { + "stageStatus": "None", + "stageName": "Confirmed" + }, + { + "stageStatus": "None", + "stageName": "ReadyToShip" + }, + { + "stageStatus": "None", + "stageName": "Shipped" + }, + { + "stageStatus": "None", + "stageName": "Delivered" + }, + { + "stageStatus": "None", + "stageName": "InUse" + } + ], + "preferences": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "notificationEmailList": [], + "cancellationStatus": "Cancellable", + "deletionStatus": "NotAllowed", + "returnStatus": "NotReturnable" + }, + "addressDetails": { + "forwardAddress": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "zipExtendedCode": "1", + "companyName": "Microsoft", + "addressType": "Residential" + }, + "contactDetails": { + "contactName": "164 TOWNSEND ST", + "phone": "3213131190", + "emailList": [ + "testemail@microsoft.com" + ] + } + } + }, + "startTime": "2021-06-07T12:29:25.6656282+05:30", + "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901" + }, + "location": "westus", + "tags": { + "mango": "fruit", + "carrot": "vegetable" + }, + "name": "TestOrderItemName901", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901", + "type": "Microsoft.EdgeOrder/orderItems" + }, + { + "properties": { + "orderItemDetails": { + "productDetails": { + "displayInfo": { + "productFamilyDisplayName": "Azure Stack Edge", + "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "azurestackedgegpu" + }, + "count": 0, + "productDoubleEncryptionStatus": "Disabled" + }, + "orderItemType": "Purchase", + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2021-06-07T12:49:48.8869361+05:30" + }, + "orderItemStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2021-06-07T12:31:07.7430555+05:30" + }, + { + "stageStatus": "None", + "stageName": "Confirmed" + }, + { + "stageStatus": "None", + "stageName": "ReadyToShip" + }, + { + "stageStatus": "None", + "stageName": "Shipped" + }, + { + "stageStatus": "None", + "stageName": "Delivered" + }, + { + "stageStatus": "None", + "stageName": "InUse" + } + ], + "preferences": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "notificationEmailList": [], + "cancellationStatus": "Cancellable", + "deletionStatus": "NotAllowed", + "returnStatus": "NotReturnable" + }, + "addressDetails": { + "forwardAddress": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "zipExtendedCode": "1", + "companyName": "Microsoft", + "addressType": "Residential" + }, + "contactDetails": { + "contactName": "164 TOWNSEND ST", + "phone": "32131311", + "emailList": [ + "ssemmail@microsoft.com", + "vishwamdir@microsoft.com" + ] + } + } + }, + "startTime": "2021-06-07T12:31:06.1244193+05:30", + "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01" + }, + "location": "westus", + "tags": { + "mango": "fruit", + "carrot": "vegetable" + }, + "name": "TestOrderItemName01", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01", + "type": "Microsoft.EdgeOrder/orderItems" + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamilies.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamilies.json new file mode 100644 index 000000000000..d7b99d804797 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamilies.json @@ -0,0 +1,211 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/listProductFamilies?api-version=2021-12-01" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "181" + ], + "productFamiliesRequest": { + "filterableProperties": { + "azurestackedge": [ + { + "type": "ShipToCountries", + "supportedValues": [ + "US" + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "productLines": [ + { + "properties": { + "products": [ + { + "properties": { + "configurations": [ + { + "properties": { + "specifications": [ + { + "name": "Usable compute", + "value": "40 vCPU" + }, + { + "name": "Usable memory", + "value": "102 GB" + }, + { + "name": "Usable storage", + "value": "4.2 TB" + } + ], + "dimensions": { + "length": 50.0, + "height": 15.0, + "width": 5.0, + "lengthHeightUnit": "IN", + "weight": 50.0, + "depth": 2.0, + "weightUnit": "LBS" + }, + "filterableProperties": [ + { + "type": "ShipToCountries", + "supportedValues": [ + "US" + ] + } + ], + "displayName": "Azure Stack Edge Pro - 1 GPU", + "description": { + "descriptionType": "Base", + "shortDescription": "", + "longDescription": "", + "keywords": [ + "GPU" + ], + "attributes": [], + "links": [] + }, + "imageInformation": [], + "costInformation": { + "billingMeterDetails": [] + }, + "availabilityInformation": { + "availabilityStage": "Available", + "disabledReason": "None" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "edgep_base" + } + } + } + ], + "filterableProperties": [ + { + "type": "ShipToCountries", + "supportedValues": [ + "US" + ] + } + ], + "displayName": "Azure Stack Edge Pro - GPU", + "description": { + "descriptionType": "Base", + "shortDescription": "Azure managed physical edge compute device", + "longDescription": "Azure Stack Edge is an AI-enabled edge computing device with network data transfer capabilities. The device is powered with NVIDIA T4 GPUs to provide accelerated AI inferencing at the edge. You can choose from the available configurations with one or two GPUs basis your business need", + "keywords": [ + "GPU" + ], + "attributes": [ + "1U rack mount device with network data transfer capabilities", + "Hardware accelerated ML using Nvidia T4 GPU", + "Azure Private Edge Zones enabled" + ], + "links": [ + { + "linkType": "Specification", + "linkUrl": "https://aka.ms/ase-gpu-devicespecs" + }, + { + "linkType": "Generic", + "linkUrl": "https://aka.ms/ase-gpu-billing" + }, + { + "linkType": "TermsAndConditions", + "linkUrl": "https://aka.ms/ase-gpu-product-terms" + }, + { + "linkType": "KnowMore", + "linkUrl": "https://aka.ms/ase-documentation" + } + ] + }, + "imageInformation": [], + "availabilityInformation": { + "availabilityStage": "Available", + "disabledReason": "None" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "" + } + } + } + ], + "filterableProperties": [ + { + "type": "ShipToCountries", + "supportedValues": [ + "US" + ] + } + ], + "displayName": "Azure Stack Edge", + "description": { + "descriptionType": "Base", + "keywords": [], + "attributes": [], + "links": [] + }, + "imageInformation": [], + "availabilityInformation": { + "availabilityStage": "Available", + "disabledReason": "None" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "", + "configurationName": "" + } + } + } + ], + "displayName": "Azure Stack Edge", + "description": { + "descriptionType": "Base", + "keywords": [], + "attributes": [], + "links": [] + }, + "imageInformation": [], + "availabilityInformation": { + "availabilityStage": "Available", + "disabledReason": "None" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "", + "productName": "", + "configurationName": "" + } + } + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamiliesMetadata.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamiliesMetadata.json new file mode 100644 index 000000000000..b8dd729e0068 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamiliesMetadata.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/productFamiliesMetadata?api-version=2021-12-01" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "productLines": [], + "filterableProperties": [ + { + "type": "ShipToCountries", + "supportedValues": [ + "US" + ] + }, + { + "type": "DoubleEncryptionStatus", + "supportedValues": [ + "Enabled" + ] + } + ], + "displayName": "Azure Stack Edge", + "description": { + "descriptionType": "Base", + "keywords": [], + "attributes": [], + "links": [] + }, + "imageInformation": [], + "availabilityInformation": { + "availabilityStage": "Available", + "disabledReason": "None" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "", + "productName": "", + "configurationName": "" + } + } + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ReturnOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ReturnOrderItem.json new file mode 100644 index 000000000000..82b49f710b21 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ReturnOrderItem.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "TestRG", + "orderItemName": "TestOrderName1", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01/return?api-version=2021-12-01" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "39" + ], + "returnOrderItemDetails": { + "returnReason": "Order returned" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateAddress.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateAddress.json new file mode 100644 index 000000000000..192e6988663d --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateAddress.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "TestRG", + "addressName": "TestAddressName2", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2?api-version=2021-12-01" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "612" + ], + "addressUpdateParameter": { + "properties": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND STT", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "Petr Cech", + "phone": "1234567890", + "phoneExtension": "", + "emailList": [ + "ssemcr@microsoft.com" + ] + } + }, + "tags": { + "Name": "Smile-Updated", + "Work": "Engineering", + "Hobby": "Web Series Added", + "WhatElse": "Web Series Added" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND STT", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "Petr Cech", + "phone": "1234567890", + "phoneExtension": "", + "emailList": [ + "ssemcr@microsoft.com" + ] + } + }, + "location": "westus", + "tags": { + "name": "Smile-Updated", + "work": "Engineering", + "hobby": "Web Series Added", + "whatElse": "Web Series Added" + }, + "name": "TestAddressName2", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", + "type": "Microsoft.EdgeOrder/addresses" + } + }, + "202": {} + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateOrderItem.json new file mode 100644 index 000000000000..7011ce3cae89 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateOrderItem.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "TestRG", + "orderItemName": "TestOrderItemName01", + "api-version": "2021-12-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-01" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "533" + ], + "orderItemUpdateParameter": { + "properties": { + "forwardAddress": { + "contactDetails": { + "contactName": "Updated contact name", + "phone": "2222200000", + "emailList": [ + "testemail@microsoft.com" + ] + } + }, + "preferences": { + "transportPreferences": { + "preferredShipmentType": "CustomerManaged" + } + } + }, + "tags": { + "pigeon": "bird", + "tiger": "animal", + "ant": "insect" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "orderItemDetails": { + "productDetails": { + "displayInfo": { + "productFamilyDisplayName": "Azure Stack Edge", + "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "azurestackedgegpu" + }, + "count": 0, + "productDoubleEncryptionStatus": "Disabled" + }, + "orderItemType": "Purchase", + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2021-06-07T13:14:40.0815406+05:30" + }, + "orderItemStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2021-06-07T13:14:40.0815406+05:30" + }, + { + "stageStatus": "None", + "stageName": "Confirmed" + }, + { + "stageStatus": "None", + "stageName": "ReadyToShip" + }, + { + "stageStatus": "None", + "stageName": "Shipped" + }, + { + "stageStatus": "None", + "stageName": "Delivered" + }, + { + "stageStatus": "None", + "stageName": "InUse" + } + ], + "preferences": { + "transportPreferences": { + "preferredShipmentType": "CustomerManaged" + } + }, + "notificationEmailList": [], + "cancellationStatus": "Cancellable", + "deletionStatus": "NotAllowed", + "returnStatus": "NotReturnable" + }, + "addressDetails": { + "forwardAddress": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "zipExtendedCode": "1", + "companyName": "Microsoft", + "addressType": "Residential" + }, + "contactDetails": { + "contactName": "Updated contact name", + "phone": "2222200000", + "emailList": [ + "testemail@microsoft.com" + ] + } + } + }, + "startTime": "2021-06-07T13:14:37.4649597+05:30", + "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01" + }, + "location": "westus", + "tags": { + "pigeon": "bird", + "tiger": "animal", + "ant": "insect" + }, + "name": "TestOrderItemName01", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01", + "type": "Microsoft.EdgeOrder/orderItems" + } + }, + "202": {} + } +} diff --git a/specification/edgeorder/resource-manager/readme.go.md b/specification/edgeorder/resource-manager/readme.go.md index cc32eb1019e9..5a33b1cbf808 100644 --- a/specification/edgeorder/resource-manager/readme.go.md +++ b/specification/edgeorder/resource-manager/readme.go.md @@ -14,6 +14,7 @@ go: ``` yaml $(go) && $(multiapi) batch: - tag: package-2020-12-preview + - tag: package-2021-12 ``` ### Tag: package-2020-12-preview and go @@ -23,4 +24,13 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2021-12' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-12-01/$(namespace) ``` \ No newline at end of file diff --git a/specification/edgeorder/resource-manager/readme.md b/specification/edgeorder/resource-manager/readme.md index b35e7a45fbe2..1976c8141145 100644 --- a/specification/edgeorder/resource-manager/readme.md +++ b/specification/edgeorder/resource-manager/readme.md @@ -28,9 +28,19 @@ These are the global settings for the EdgeOrder API. title: EdgeOrderManagementClient description: Edge Order API's openapi-type: arm -tag: package-2020-12-preview +tag: package-2021-12 ``` +### Tag: package-2021-12 + +These settings apply only when `--tag=package-2021-12` is specified on the command line. + +``` yaml $(tag) == 'package-2021-12' +input-file: +- Microsoft.EdgeOrder/stable/2021-12-01/edgeorder.json +``` +--- + ### Tag: package-2020-12-preview These settings apply only when `--tag=package-2020-12-preview` is specified on the command line. @@ -40,6 +50,7 @@ input-file: - Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json ``` --- + # Code Generation diff --git a/specification/edgeorder/resource-manager/readme.python.md b/specification/edgeorder/resource-manager/readme.python.md index 91a7c02645b3..ab9658f0d83a 100644 --- a/specification/edgeorder/resource-manager/readme.python.md +++ b/specification/edgeorder/resource-manager/readme.python.md @@ -8,17 +8,46 @@ These settings apply only when `--track2` is specified on the command line. ``` yaml $(track2) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION +namespace: azure.mgmt.edgeorder package-name: azure-mgmt-edgeorder -no-namespace-folders: true package-version: 1.0.0b1 +title: EdgeOrderManagementClient +description: The EdgeOrder Client. clear-output-folder: true +no-namespace-folders: true ``` +### Python multi-api -```yaml $(python) && $(python-mode) == 'update' && $(track2) -no-namespace-folders: true -output-folder: $(python-sdks-folder)/edgeorder/azure-mgmt-edgeorder/azure/mgmt/edgeorder +Generate all API versions currently shipped for this package + +```yaml $(multiapi) && $(track2) +batch: + - tag: package-2020-12-preview + - tag: package-2021-12 + - multiapiscript: true ``` -```yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/edgeorder/azure-mgmt-edgeorder \ No newline at end of file +``` yaml $(multiapiscript) +output-folder: $(python-sdks-folder)/edgeorder/azure-mgmt-edgeorder/azure/mgmt/edgeorder/ +clear-output-folder: false +perform-load: false +``` +### Tag: package-2020-12-preview and python + +These settings apply only when `--tag=package-2020-12-preview --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-12-preview' && $(python) && $(track2) +namespace: azure.mgmt.edgeorder.v2020_12_01_preview +output-folder: $(python-sdks-folder)/edgeorder/azure-mgmt-edgeorder/azure/mgmt/edgeorder/v2020_12_01_preview +``` + +### Tag: package-2021-12 and python + +These settings apply only when `--tag=package-2021-12 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-12' && $(python) && $(track2) +namespace: azure.mgmt.edgeorder.v2021_12_01 +output-folder: $(python-sdks-folder)/edgeorder/azure-mgmt-edgeorder/azure/mgmt/edgeorder/v2021_12_01 +``` \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/examples/keyvalue_deleted.json b/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/examples/keyvalue_deleted.json new file mode 100644 index 000000000000..ed7621dab03e --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/examples/keyvalue_deleted.json @@ -0,0 +1,15 @@ +{ + "id": "84e17ea4-66db-4b54-8050-df8f7763f87b", + "topic": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso", + "subject": "https://contoso.azconfig.io/kv/Foo?label=FizzBuzz", + "data": { + "key": "Foo", + "label": "FizzBuzz", + "etag": "FnUExLaj2moIi4tJX9AXn9sakm0", + "syncToken": "zAJw6V16=Njo1IzUxNjQ2NzM=;sn=5164673" + }, + "eventType": "Microsoft.AppConfiguration.KeyValueDeleted", + "eventTime": "2019-05-31T20:05:03Z", + "dataVersion": "1", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/examples/keyvalue_modified.json b/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/examples/keyvalue_modified.json new file mode 100644 index 000000000000..a2948012d16e --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/examples/keyvalue_modified.json @@ -0,0 +1,15 @@ +{ + "id": "84e17ea4-66db-4b54-8050-df8f7763f87b", + "topic": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso", + "subject": "https://contoso.azconfig.io/kv/Foo?label=FizzBuzz", + "data": { + "key": "Foo", + "label": "FizzBuzz", + "etag": "FnUExLaj2moIi4tJX9AXn9sakm0", + "syncToken": "zAJw6V16=Njo1IzUxNjQ2NzM=;sn=5164673" + }, + "eventType": "Microsoft.AppConfiguration.KeyValueModified", + "eventTime": "2019-05-31T20:05:03Z", + "dataVersion": "1", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/export_rdb_completed.json b/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/export_rdb_completed.json new file mode 100644 index 000000000000..71e8f199a6c4 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/export_rdb_completed.json @@ -0,0 +1,12 @@ +{ + "id":"9b87886d-21a5-4af5-8e3e-10c4b8dac73b", + "eventType":"Microsoft.Cache.ExportRDBCompleted", + "topic":"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}", + "data":{ + "name":"ExportRDBCompleted", + "timestamp":"2020-12-09T21:50:19.9995668+00:00", + "status":"Succeeded"}, + "subject":"ExportRDBCompleted", + "dataversion":"1.0", + "metadataVersion":"1", + "eventTime":"2020-12-09T21:50:19.9995668+00:00"} diff --git a/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/import_rdb_completed.json b/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/import_rdb_completed.json new file mode 100644 index 000000000000..52914f06eff0 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/import_rdb_completed.json @@ -0,0 +1,12 @@ +{ + "id":"9b87886d-21a5-4af5-8e3e-10c4b8dac73b", + "eventType":"Microsoft.Cache.ImportRDBCompleted", + "topic":"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}", + "data":{ + "name":"ImportRDBCompleted", + "timestamp":"2020-12-09T21:50:19.9995668+00:00", + "status":"Succeeded"}, + "subject":"ImportRDBCompleted", + "dataversion":"1.0", + "metadataVersion":"1", + "eventTime":"2020-12-09T21:50:19.9995668+00:00"} diff --git a/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/patching_completed.json b/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/patching_completed.json new file mode 100644 index 000000000000..f05a0de4d736 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/patching_completed.json @@ -0,0 +1,12 @@ +{ + "id":"9b87886d-21a5-4af5-8e3e-10c4b8dac73b", + "eventType":"Microsoft.Cache.PatchingCompleted", + "topic":"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}", + "data":{ + "name":"PatchingCompleted", + "timestamp":"2020-12-09T21:50:19.9995668+00:00", + "status":"Succeeded"}, + "subject":"PatchingCompleted", + "dataversion":"1.0", + "metadataVersion":"1", + "eventTime":"2020-12-09T21:50:19.9995668+00:00"} diff --git a/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/scaling_completed.json b/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/scaling_completed.json new file mode 100644 index 000000000000..4a81a48269ed --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/scaling_completed.json @@ -0,0 +1,12 @@ +{ + "id":"9b87886d-21a5-4af5-8e3e-10c4b8dac73b", + "eventType":"Microsoft.Cache.ScalingCompleted", + "topic":"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}", + "data":{ + "name":"ScalingCompleted", + "timestamp":"2020-12-09T21:50:19.9995668+00:00", + "status":"Succeeded"}, + "subject":"ScalingCompleted", + "dataversion":"1.0", + "metadataVersion":"1", + "eventTime":"2020-12-09T21:50:19.9995668+00:00"} diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_deleted.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_deleted.json new file mode 100644 index 000000000000..716fa2f70ed3 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_deleted.json @@ -0,0 +1,33 @@ +{ + "id": "23cfcc13-33f2-4ae1-8d23-b5015b05302b", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}", + "subject": "thread/{thread-id}/sender/{rawId}/recipient/{rawId}", + "data": { + "deleteTime": "2021-02-19T00:43:10.14Z", + "messageId": "1613695388152", + "senderId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d07-83fe-084822000f6e", + "senderCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d07-83fe-084822000f6e", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d07-83fe-084822000f6e" + } + }, + "senderDisplayName": "Bob(Admin)", + "composeTime": "2021-02-19T00:43:08.152Z", + "type": "Text", + "version": 1613695390361, + "recipientId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d60-83fe-084822000f6f", + "recipientCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d60-83fe-084822000f6f", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d60-83fe-084822000f6f" + } + }, + "transactionId": "fFs4InlBn0O/0WyhfQZVSQ.1.1.2.1.1867776045.1.4", + "threadId": "19:48899258eec941e7a281e03edc8f4964@thread.v2" + }, + "eventType": "Microsoft.Communication.ChatMessageDeleted", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2021-02-19T00:43:10.9982947Z" + } \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_deleted_in_thread.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_deleted_in_thread.json new file mode 100644 index 000000000000..c131d22fe391 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_deleted_in_thread.json @@ -0,0 +1,25 @@ +{ + "id": "17d9c39d-0c58-4ed8-947d-c55959f57f75", + "topic": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}", + "subject": "thread/{thread-id}/sender/{rawId}", + "data": { + "deleteTime": "2021-02-20T00:59:10.464+00:00", + "messageId": "1613782685440", + "type": "Text", + "version": "1613782814333", + "senderDisplayName": "Scott", + "senderCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453" + } + }, + "composeTime": "2021-02-20T00:58:05.44+00:00", + "threadId": "19:e07c8ddc5bab4c059ea9f11d29b544b6@thread.v2", + "transactionId": "HqU6PeK5AkCRSpW8eAbL0A.1.1.2.1.987824181.1" + }, + "eventType": "Microsoft.Communication.ChatMessageDeletedInThread", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2021-02-20T01:00:14.8518034Z" + } \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_edited.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_edited.json new file mode 100644 index 000000000000..a3a242aedc12 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_edited.json @@ -0,0 +1,38 @@ +{ + "id": "93fc1037-b645-4eb0-a0f2-d7bb3ba6e060", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}", + "subject": "thread/{thread-id}/sender/{rawId}/recipient/{rawId}", + "data": { + "editTime": "2021-02-19T00:28:20.784Z", + "messageBody": "Let's Chat about new communication services.", + "messageId": "1613694357917", + "metadata": { + "key": "value", + "description": "A map of data associated with the message" + }, + "senderId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724", + "senderCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724" + } + }, + "senderDisplayName": "Bob(Admin)", + "composeTime": "2021-02-19T00:25:57.917Z", + "type": "Text", + "version": 1613694500784, + "recipientId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d60-83fe-084822000f6f", + "recipientCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d60-83fe-084822000f6f", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d60-83fe-084822000f6f" + } + }, + "transactionId": "1mL4XZH2gEecu/alk9tOtw.2.1.2.1.1833042153.1.7", + "threadId": "19:6e5d6ca1d75044a49a36a7965ec4a906@thread.v2" + }, + "eventType": "Microsoft.Communication.ChatMessageEdited", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2021-02-19T00:28:21.7456718Z" + } \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_edited_in_thread.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_edited_in_thread.json new file mode 100644 index 000000000000..e66186ab89aa --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_edited_in_thread.json @@ -0,0 +1,30 @@ +{ + "id": "7b8dc01e-2659-41fa-bc8c-88a967714510", + "topic": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}", + "subject": "thread/{thread-id}/sender/{rawId}", + "data": { + "editTime": "2021-02-20T00:59:10.464+00:00", + "messageBody": "8effb181-1eb2-4a58-9d03-ed48a461b19b", + "messageId": "1613782685964", + "metadata": { + "key": "value", + "description": "A map of data associated with the message" + }, + "type": "Text", + "version": "1613782750464", + "senderDisplayName": "Scott", + "senderCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453" + } + }, + "composeTime": "2021-02-20T00:58:05.964+00:00", + "threadId": "19:e07c8ddc5bab4c059ea9f11d29b544b6@thread.v2", + "transactionId": "H8Gpj3NkIU6bXlWw8WPvhQ.2.1.2.1.985333801.1" + }, + "eventType": "Microsoft.Communication.ChatMessageEditedInThread", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2021-02-20T00:59:10.7600061Z" + } \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_received.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_received.json new file mode 100644 index 000000000000..25d4ca1f09c5 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_received.json @@ -0,0 +1,37 @@ +{ + "id": "02272459-badb-4e2e-b538-4cb8a2f71da6", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}", + "subject": "thread/{thread-id}/sender/{rawId}/recipient/{rawId}", + "data": { + "messageBody": "Welcome to Azure Communication Services", + "messageId": "1613694358927", + "metadata": { + "key": "value", + "description": "A map of data associated with the message" + }, + "senderId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724", + "senderCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724" + } + }, + "senderDisplayName": "Jhon", + "composeTime": "2021-02-19T00:25:58.927Z", + "type": "Text", + "version": 1613694358927, + "recipientId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d05-83fe-084822000f6d", + "recipientCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d05-83fe-084822000f6d", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d05-83fe-084822000f6d" + } + }, + "transactionId": "oh+LGB2dUUadMcTAdRWQxQ.1.1.1.1.1827536918.1.7", + "threadId": "19:6e5d6ca1d75044a49a36a7965ec4a906@thread.v2" + }, + "eventType": "Microsoft.Communication.ChatMessageReceived", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2021-02-19T00:25:59.9436666Z" + } \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_received_in_thread.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_received_in_thread.json new file mode 100644 index 000000000000..f272449e0436 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_received_in_thread.json @@ -0,0 +1,29 @@ +{ + "id": "4f614f97-c451-4b82-a8c9-1e30c3bfcda1", + "topic": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}", + "subject": "thread/{thread-id}/sender/8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cdb-4916-07fd-084822002624", + "data": { + "messageBody": "Talk about new Thread Events in commuication services", + "messageId": "1613783230064", + "metadata": { + "key": "value", + "description": "A map of data associated with the message" + }, + "type": "Text", + "version": "1613783230064", + "senderDisplayName": "Bob", + "senderCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cdb-4916-07fd-084822002624", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cdb-4916-07fd-084822002624" + } + }, + "composeTime": "2021-02-20T01:07:10.064+00:00", + "threadId": "19:5b3809e80e4a439d92c3316e273f4a2b@thread.v2", + "transactionId": "foMkntkKS0O/MhMlIE5Aag.1.1.1.1.1004077250.1" + }, + "eventType": "Microsoft.Communication.ChatMessageReceivedInThread", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2021-02-20T01:07:10.5704596Z" + } \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_participant_added_to_thread_with_user.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_participant_added_to_thread_with_user.json new file mode 100644 index 000000000000..ca11b6cbd45f --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_participant_added_to_thread_with_user.json @@ -0,0 +1,37 @@ +{ + "id": "049a5a7f-6cd7-43c1-b352-df9e9e6146d1", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}", + "subject": "thread/{thread-id}/participantAdded/{rawId}/recipient/{rawId}", + "data": { + "time": "2021-02-25T06:37:29.9232485Z", + "addedByCommunicationIdentifier": { + "rawId": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8767-1655-373a0d00885d", + "communicationUser": { + "id": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8767-1655-373a0d00885d" + } + }, + "participantAdded": { + "displayName": "John Smith", + "participantCommunicationIdentifier": { + "rawId": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8785-1655-373a0d00885f", + "communicationUser": { + "id": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8785-1655-373a0d00885f" + } + } + }, + "recipientCommunicationIdentifier": { + "rawId": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8781-1655-373a0d00885e", + "communicationUser": { + "id": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8781-1655-373a0d00885e" + } + }, + "createTime": "2021-02-25T06:37:17.371Z", + "version": 1614235049907, + "transactionId": "q7rr9by6m0CiGiQxKdSO1w.1.1.1.1.1473446055.1.6", + "threadId": "19:f1400e1c542f4086a606b52ad20cd0bd@thread.v2" + }, + "eventType": "Microsoft.Communication.ChatParticipantAddedToThreadWithUser", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2021-02-25T06:37:31.4880091Z" + } \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_participant_removed_from_thread_with_user.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_participant_removed_from_thread_with_user.json new file mode 100644 index 000000000000..1184b9d40928 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_participant_removed_from_thread_with_user.json @@ -0,0 +1,37 @@ +{ + "id": "e8a4df24-799d-4c53-94fd-1e05703a4549", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}", + "subject": "thread/{thread-id}/participantRemoved/{rawId}/recipient/{rawId}", + "data": { + "time": "2021-02-25T06:40:20.3564556Z", + "removedByCommunicationIdentifier": { + "rawId": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8767-1655-373a0d00885d", + "communicationUser": { + "id": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8767-1655-373a0d00885d" + } + }, + "participantRemoved": { + "displayName": "Bob", + "participantCommunicationIdentifier": { + "rawId": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8785-1655-373a0d00885f", + "communicationUser": { + "id": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8785-1655-373a0d00885f" + } + } + }, + "recipientCommunicationIdentifier": { + "rawId": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8781-1655-373a0d00885e", + "communicationUser": { + "id": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8781-1655-373a0d00885e" + } + }, + "createTime": "2021-02-25T06:37:17.371Z", + "version": 1614235220325, + "transactionId": "usv74GQ5zU+JmWv/bQ+qfg.1.1.1.1.1480065078.1.5", + "threadId": "19:f1400e1c542f4086a606b52ad20cd0bd@thread.v2" + }, + "eventType": "Microsoft.Communication.ChatParticipantRemovedFromThreadWithUser", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2021-02-25T06:40:24.2244945Z" + } \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_created.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_created.json new file mode 100644 index 000000000000..d52efdd0b90a --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_created.json @@ -0,0 +1,62 @@ +{ + "id": "a607ac52-0974-4d3c-bfd8-6f708a26f509", + "topic": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}", + "subject": "thread/{thread-id}/createdBy/{rawId}", + "data": { + "createdByCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453" + } + }, + "properties": { + "topic": "Talk about new Thread Events in commuication services" + }, + "participants": [ + { + "displayName": "Bob", + "participantCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453" + } + } + }, + { + "displayName": "Scott", + "participantCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38e6-07fd-084822002467", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38e6-07fd-084822002467" + } + } + }, + { + "displayName": "Shawn", + "participantCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38f6-83fe-084822002337", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38f6-83fe-084822002337" + } + } + }, + { + "displayName": "Anthony", + "participantCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38e3-e1fe-084822002c35", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38e3-e1fe-084822002c35" + } + } + } + ], + "createTime": "2021-02-20T00:31:54.365+00:00", + "version": 1613781114365, + "threadId": "19:e07c8ddc5bab4c059ea9f11d29b544b6@thread.v2", + "transactionId": "gK6+kgANy0O1wchlVKVTJg.1.1.1.1.921436178.1" + }, + "eventType": "Microsoft.Communication.ChatThreadCreated", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2021-02-20T00:31:54.5369967Z" + } \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_created_withUser.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_created_withUser.json new file mode 100644 index 000000000000..a98102d9702a --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_created_withUser.json @@ -0,0 +1,62 @@ +{ + "id": "eba02b2d-37bf-420e-8656-3a42ef74c435", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}", + "subject": "thread/{thread-id}/createdBy/rawId/recipient/rawId", + "data": { + "createdBy": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286d-e1fe-0848220013b9", + "createdByCommunicationIdentifier": { + "rawId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286d-e1fe-0848220013b9", + "communicationUser": { + "id": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286d-e1fe-0848220013b9" + } + }, + "properties": { + "topic": "Chat about new commuication services" + }, + "members": [ + { + "displayName": "Bob", + "memberId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286d-e1fe-0848220013b9" + }, + { + "displayName": "John", + "memberId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-289b-07fd-0848220015ea" + } + ], + "participants": [ + { + "displayName": "Bob", + "participantCommunicationIdentifier": { + "rawId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286d-e1fe-0848220013b9", + "communicationUser": { + "id": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286d-e1fe-0848220013b9" + } + } + }, + { + "displayName": "John", + "participantCommunicationIdentifier": { + "rawId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-289b-07fd-0848220015ea", + "communicationUser": { + "id": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-289b-07fd-0848220015ea" + } + } + } + ], + "createTime": "2021-02-18T23:47:26.91Z", + "version": 1613692046910, + "recipientId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286e-84f5-08482200181c", + "recipientCommunicationIdentifier": { + "rawId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286e-84f5-08482200181c", + "communicationUser": { + "id": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286e-84f5-08482200181c" + } + }, + "transactionId": "zbZt+9h/N0em+XCW2QvyIA.1.1.1.1.1737228330.0.1737490483.1.6", + "threadId": "19:1d594fb1eeb14566903cbc5decb5bf5b@thread.v2" + }, + "eventType": "Microsoft.Communication.ChatThreadCreatedWithUser", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2021-02-18T23:47:34.7437103Z" + } \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_deleted.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_deleted.json new file mode 100644 index 000000000000..ab4faf4c8ebe --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_deleted.json @@ -0,0 +1,22 @@ +{ + "id": "1dbd5237-4823-4fed-980c-8d27c17cf5b0", + "topic": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}", + "subject": "thread/{thread-id}/deletedBy/{rawId}", + "data": { + "deletedByCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5c9e-a300-07fd-084822002266", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5c9e-a300-07fd-084822002266" + } + }, + "deleteTime": "2021-02-20T00:00:42.109802+00:00", + "createTime": "2021-02-20T00:00:39.947+00:00", + "version": 1613779241389, + "threadId": "19:c9e9f3060b884e448671391882066ac3@thread.v2", + "transactionId": "KibptDpcLEeEFnlR7cI3QA.1.1.2.1.848298005.1" + }, + "eventType": "Microsoft.Communication.ChatThreadDeleted", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2021-02-20T00:00:42.5428002Z" + } \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_participant_added.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_participant_added.json new file mode 100644 index 000000000000..84ad515279d8 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_participant_added.json @@ -0,0 +1,31 @@ +{ + "id": "3024eb5d-1d71-49d1-878c-7dc3165433d9", + "topic": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}", + "subject": "thread/{thread-id}/participantadded/{rawId}", + "data": { + "time": "2021-02-20T00:54:42.8622646+00:00", + "addedByCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453" + } + }, + "participantAdded": { + "displayName": "Bob", + "participantCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38f3-88f7-084822002454", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38f3-88f7-084822002454" + } + } + }, + "createTime": "2021-02-20T00:31:54.365+00:00", + "version": 1613782482822, + "threadId": "19:e07c8ddc5bab4c059ea9f11d29b544b6@thread.v2", + "transactionId": "9q6cO7i4FkaZ+5RRVzshVw.1.1.1.1.974913783.1" + }, + "eventType": "Microsoft.Communication.ChatThreadParticipantAdded", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2021-02-20T00:54:43.9866454Z" + } \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_participant_removed.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_participant_removed.json new file mode 100644 index 000000000000..0036c16ad74f --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_participant_removed.json @@ -0,0 +1,31 @@ +{ + "id": "6ed810fd-8776-4b13-81c2-1a0c4f791a07", + "topic": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}", + "subject": "thread/{thread-id}/participantremoved/{rawId}", + "data": { + "time": "2021-02-20T00:56:18.1118825+00:00", + "removedByCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453" + } + }, + "participantRemoved": { + "displayName": "Shawn", + "participantCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38e6-07fd-084822002467", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38e6-07fd-084822002467" + } + } + }, + "createTime": "2021-02-20T00:31:54.365+00:00", + "version": 1613782578096, + "threadId": "19:e07c8ddc5bab4c059ea9f11d29b544b6@thread.v2", + "transactionId": "zGCq8IGRr0aEF6COuy7wSA.1.1.1.1.978649284.1" + }, + "eventType": "Microsoft.Communication.ChatThreadParticipantRemoved", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2021-02-20T00:56:18.856721Z" + } \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_properties_updated.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_properties_updated.json new file mode 100644 index 000000000000..a3b0ea8c220b --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_properties_updated.json @@ -0,0 +1,25 @@ +{ + "id": "cf867580-9caf-45be-b49f-ab1cbfcaa59f", + "topic": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}", + "subject": "thread/{thread-id}/editedBy/{rawId}", + "data": { + "editedByCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5c9e-9e35-07fd-084822002264", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5c9e-9e35-07fd-084822002264" + } + }, + "editTime": "2021-02-20T00:04:07.7152073+00:00", + "properties": { + "topic": "Talk about new Thread Events in commuication services" + }, + "createTime": "2021-02-20T00:00:40.126+00:00", + "version": 1613779447695, + "threadId": "19:9e8eefe67b3c470a8187b4c2b00240bc@thread.v2", + "transactionId": "GBE9MB2a40KEWzexIg0D3A.1.1.1.1.856359041.1" + }, + "eventType": "Microsoft.Communication.ChatThreadPropertiesUpdated", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2021-02-20T00:04:07.8410277Z" + } \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_properties_updated_per_user.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_properties_updated_per_user.json new file mode 100644 index 000000000000..036e97e6f3a7 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_properties_updated_per_user.json @@ -0,0 +1,33 @@ +{ + "id": "d57342ff-264e-4a5e-9c54-ef05b7d50082", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}", + "subject": "thread/{thread-id}/editedBy/{rawId}/recipient/{rawId}", + "data": { + "editedBy": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d07-83fe-084822000f6e", + "editedByCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d07-83fe-084822000f6e", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d07-83fe-084822000f6e" + } + }, + "editTime": "2021-02-19T00:28:28.7390282Z", + "properties": { + "topic": "Communication in Azure" + }, + "createTime": "2021-02-19T00:28:25.864Z", + "version": 1613694508719, + "recipientId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724", + "recipientCommunicationIdentifier": { + "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724", + "communicationUser": { + "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724" + } + }, + "transactionId": "WLXPrnJ/I0+LTj2cwMrNMQ.1.1.1.1.1833369763.1.4", + "threadId": "19:2cc3504c41244d7483208a4f58a1f188@thread.v2" + }, + "eventType": "Microsoft.Communication.ChatThreadPropertiesUpdatedPerUser", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2021-02-19T00:28:29.559726Z" + } \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_with_user_deleted.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_with_user_deleted.json new file mode 100644 index 000000000000..00d33b3120b1 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_with_user_deleted.json @@ -0,0 +1,30 @@ +{ + "id": "f5d6750c-c6d7-4da8-bb05-6f3fca6c7295", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}", + "subject": "thread/{thread-id}/deletedBy/{rawId}/recipient/{rawId}", + "data": { + "deletedBy": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-5772-6473-83fe-084822000e21", + "deletedByCommunicationIdentifier": { + "rawId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-5772-6473-83fe-084822000e21", + "communicationUser": { + "id": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-5772-6473-83fe-084822000e21" + } + }, + "deleteTime": "2021-02-18T23:57:51.5987591Z", + "createTime": "2021-02-18T23:54:15.683Z", + "version": 1613692578672, + "recipientId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-5772-647b-e1fe-084822001416", + "recipientCommunicationIdentifier": { + "rawId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-5772-647b-e1fe-084822001416", + "communicationUser": { + "id": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-5772-647b-e1fe-084822001416" + } + }, + "transactionId": "mrliWVUndEmLwkZbeS5KoA.1.1.2.1.1761607918.1.6", + "threadId": "19:5870b8f021d74fd786bf5aeb095da291@thread.v2" + }, + "eventType": "Microsoft.Communication.ChatThreadWithUserDeleted", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2021-02-18T23:57:52.1597234Z" + } \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/recording_file_status_updated.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/recording_file_status_updated.json new file mode 100644 index 000000000000..dc114045a625 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/recording_file_status_updated.json @@ -0,0 +1,25 @@ +{ + "id": "7283825e-f8f1-4c61-a9ea-752c56890500", + "topic": "/subscriptions/{subscription-id}/resourcegroups/}{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}", + "subject": "/recording/call/{call-id}/recordingId/{recording-id}", + "data": { + "recordingStorageInfo": { + "recordingChunks": [ + { + "documentId": "0-eus-d12-801b3f3fc462fe8a01e6810cbff729b8", + "index": 0, + "endReason": "SessionEnded", + "contentLocation": "https://storage.asm.skype.com/v1/objects/0-eus-d12-801b3f3fc462fe8a01e6810cbff729b8/content/video", + "metadataLocation": "https://storage.asm.skype.com/v1/objects/0-eus-d12-801b3f3fc462fe8a01e6810cbff729b8/content/acsmetadata" + } + ] + }, + "recordingStartTime": "2021-07-27T15:20:23.6089755Z", + "recordingDurationMs": 6620, + "sessionEndReason": "CallEnded" + }, + "eventType": "Microsoft.Communication.RecordingFileStatusUpdated", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2021-07-27T15:20:34.2199328Z" + } \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/sms_delivery_report_received.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/sms_delivery_report_received.json new file mode 100644 index 000000000000..7dc5912be070 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/sms_delivery_report_received.json @@ -0,0 +1,24 @@ +{ + "id": "Outgoing_202009180022138813a09b-0cbf-4304-9b03-1546683bb910", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}", + "subject": "/phonenumber/15555555555", + "data": { + "MessageId": "Outgoing_202009180022138813a09b-0cbf-4304-9b03-1546683bb910", + "From": "15555555555", + "To": "+15555555555", + "DeliveryStatus": "Delivered", + "DeliveryStatusDetails": "No error.", + "ReceivedTimestamp": "2020-09-18T00:22:20.2855749Z", + "DeliveryAttempts": [ + { + "Timestamp": "2020-09-18T00:22:14.9315918Z", + "SegmentsSucceeded": 1, + "SegmentsFailed": 0 + } + ] + }, + "eventType": "Microsoft.Communication.SMSDeliveryReportReceived", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2020-09-18T00:22:20Z" +} \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/sms_received b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/sms_received new file mode 100644 index 000000000000..f75e062e2f43 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/sms_received @@ -0,0 +1,16 @@ +{ + "id": "Incoming_20200918002745d29ebbea-3341-4466-9690-0a03af35228e", + "topic": "/subscriptions/50ad1522-5c2c-4d9a-a6c8-67c11ecb75b8/resourcegroups/acse2e/providers/microsoft.communication/communicationservices/{communication-services-resource-name}", + "subject": "/phonenumber/15555555555", + "data": { + "MessageId": "Incoming_20200918002745d29ebbea-3341-4466-9690-0a03af35228e", + "From": "15555555555", + "To": "15555555555", + "Message": "Great to connect with ACS events", + "ReceivedTimestamp": "2020-09-18T00:27:45.32Z" + }, + "eventType": "Microsoft.Communication.SMSReceived", + "dataVersion": "1.0", + "metadataVersion": "1", + "eventTime": "2020-09-18T00:27:47Z" +} \ No newline at end of file diff --git a/specification/eventgrid/data-plane/Microsoft.ContainerRegistry/stable/2018-01-01/examples/chart_deleted.json b/specification/eventgrid/data-plane/Microsoft.ContainerRegistry/stable/2018-01-01/examples/chart_deleted.json new file mode 100644 index 000000000000..177ccc858fb0 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.ContainerRegistry/stable/2018-01-01/examples/chart_deleted.json @@ -0,0 +1,23 @@ +{ + "id": "39136b3a-1a7e-416f-a09e-5c85d5402fca", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.ContainerRegistry/registries/{name}", + "subject": "mychart:1.0.0", + "eventType": "Microsoft.ContainerRegistry.ChartDeleted", + "eventTime": "019-03-12T22:42:08.7034064Z", + "data": { + "id":"ea3a9c28-5b17-40f6-a500-3f02b682927", + "timestamp":"2019-03-12T22:42:08.3783775+00:00", + "action":"chart_delete", + "target":{ + "mediaType":"application/vnd.acr.helm.chart", + "size":25265, + "digest":"sha256:7f060075264b5ba7c14c23672698152ae6a3ebac1c47916e4efe19cd624d5fab", + "repository":"repo", + "tag":"mychart-1.0.0.tgz", + "name":"mychart", + "version":"1.0.0" + } + }, + "dataVersion": "1.0", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.ContainerRegistry/stable/2018-01-01/examples/chart_pushed.json b/specification/eventgrid/data-plane/Microsoft.ContainerRegistry/stable/2018-01-01/examples/chart_pushed.json new file mode 100644 index 000000000000..a1e8dfa86088 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.ContainerRegistry/stable/2018-01-01/examples/chart_pushed.json @@ -0,0 +1,23 @@ +{ + "id": "ea3a9c28-5b17-40f6-a500-3f02b6829277", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.ContainerRegistry/registries/{name}", + "subject": "mychart:1.0.0", + "eventType": "Microsoft.ContainerRegistry.ChartPushed", + "eventTime": "2019-03-12T22:16:31.5164086Z", + "data": { + "id":"ea3a9c28-5b17-40f6-a500-3f02b682927", + "timestamp":"2019-03-12T22:16:31.0087496+00:00", + "action":"chart_push", + "target":{ + "mediaType":"application/vnd.acr.helm.chart", + "size":25265, + "digest":"sha256:7f060075264b5ba7c14c23672698152ae6a3ebac1c47916e4efe19cd624d5fab", + "repository":"repo", + "tag":"mychart-1.0.0.tgz", + "name":"mychart", + "version":"1.0.0" + } + }, + "dataVersion": "1.0", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.ContainerService/stable/2018-01-01/examples/new_kubernetes_version_available.json b/specification/eventgrid/data-plane/Microsoft.ContainerService/stable/2018-01-01/examples/new_kubernetes_version_available.json new file mode 100644 index 000000000000..84f951523b27 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.ContainerService/stable/2018-01-01/examples/new_kubernetes_version_available.json @@ -0,0 +1,15 @@ +{ + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.ContainerService/managedClusters/{cluster}", + "subject": "{cluster}", + "eventType": "Microsoft.ContainerService.NewKubernetesVersionAvailable", + "id": "1234567890abcdef1234567890abcdef12345678", + "data": { + "latestSupportedKubernetesVersion": "1.20.7", + "latestStableKubernetesVersion": "1.19.11", + "lowestMinorKubernetesVersion": "1.18.19", + "latestPreviewKubernetesVersion": "1.21.1" + }, + "dataVersion": "1", + "metadataVersion": "1", + "eventTime": "2021-07-01T04:52:57.0000000Z" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/examples/device_connected.json b/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/examples/device_connected.json new file mode 100644 index 000000000000..ba9327545ff1 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/examples/device_connected.json @@ -0,0 +1,18 @@ +{ + "id": "f6bbf8f4-d365-520d-a878-17bf7238abd8", + "topic": "/SUBSCRIPTIONS/{subscription-id}/RESOURCEGROUPS{resource-group}/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/{hub—name}", + "subject": "devices/LogicAppTestDevice", + "eventType": "Microsoft.Devices.DeviceConnected", + "eventTime": "2018-06-02T19:17:44.4383997Z", + "data": { + "deviceConnectionStateEventInfo": { + "sequenceNumber": + "000000000000000001D4132452F67CE200000002000000000000000000000001" + }, + "hubName": "egtesthub1", + "deviceId": "LogicAppTestDevice", + "moduleId" : "DeviceModuleID" + }, + "dataVersion": "1", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/examples/device_created.json b/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/examples/device_created.json new file mode 100644 index 000000000000..1e128d72bf30 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/examples/device_created.json @@ -0,0 +1,43 @@ +{ + "id": "56afc886-767b-d359-d59e-0da7877166b2", + "topic": "/SUBSCRIPTIONS/{subscription-ID}/RESOURCEGROUPS/{resource-group}/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/{hub-name}", + "subject": "devices/LogicAppTestDevice", + "eventType": "Microsoft.Devices.DeviceCreated", + "eventTime": "2018-01-02T19:17:44.4383997Z", + "data": { + "twin": { + "deviceId": "LogicAppTestDevice", + "etag": "AAAAAAAAAAE=", + "deviceEtag": "null", + "status": "enabled", + "statusUpdateTime": "0001-01-01T00:00:00", + "connectionState": "Disconnected", + "lastActivityTime": "0001-01-01T00:00:00", + "cloudToDeviceMessageCount": 0, + "authenticationType": "sas", + "x509Thumbprint": { + "primaryThumbprint": null, + "secondaryThumbprint": null + }, + "version": 2, + "properties": { + "desired": { + "$metadata": { + "$lastUpdated": "2018-01-02T19:17:44.4383997Z" + }, + "$version": 1 + }, + "reported": { + "$metadata": { + "$lastUpdated": "2018-01-02T19:17:44.4383997Z" + }, + "$version": 1 + } + } + }, + "hubName": "egtesthub1", + "deviceId": "LogicAppTestDevice" + }, + "dataVersion": "1", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/examples/device_telemetry.json b/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/examples/device_telemetry.json new file mode 100644 index 000000000000..c3ef1d1545bb --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/examples/device_telemetry.json @@ -0,0 +1,29 @@ +{ + "id": "9af86784-8d40-fe2g-8b2a-bab65e106785", + "topic": "/SUBSCRIPTIONS/{subscription-ID}/RESOURCEGROUPS/{resource-group}/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/{hub-name}", + "subject": "devices/LogicAppTestDevice", + "eventType": "Microsoft.Devices.DeviceTelemetry", + "eventTime": "2019-01-07T20:58:30.48Z", + "data": { + "body": { + "Weather": { + "Temperature": 900 + }, + "Location": "USA" + }, + "properties": { + "Status": "Active" + }, + "systemProperties": { + "iothub-content-type": "application/json", + "iothub-content-encoding": "utf-8", + "iothub-connection-device-id": "d1", + "iothub-connection-auth-method": "{\"scope\":\"device\",\"type\":\"sas\",\"issuer\":\"iothub\",\"acceptingIpFilterRule\":null}", + "iothub-connection-auth-generation-id": "123455432199234570", + "iothub-enqueuedtime": "2019-01-07T20:58:30.48Z", + "iothub-message-source": "Telemetry" + } + }, + "dataVersion": "", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.EventHub/stable/2018-01-01/examples/capture_file_created.json b/specification/eventgrid/data-plane/Microsoft.EventHub/stable/2018-01-01/examples/capture_file_created.json new file mode 100644 index 000000000000..e001b678cc2e --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.EventHub/stable/2018-01-01/examples/capture_file_created.json @@ -0,0 +1,20 @@ +{ + "topic": "/subscriptions/{guid}/resourcegroups/rgDataMigrationSample/providers/Microsoft.EventHub/namespaces/tfdatamigratens", + "subject": "eventhubs/hubdatamigration", + "eventType": "Microsoft.EventHub.CaptureFileCreated", + "eventTime": "2017-08-31T19:12:46.0498024Z", + "id": "14e87d03-6fbf-4bb2-9a21-92bd1281f247", + "data": { + "fileUrl": "https://tf0831datamigrate.blob.core.windows.net/windturbinecapture/tfdatamigratens/hubdatamigration/1/2017/08/31/19/11/45.avro", + "fileType": "AzureBlockBlob", + "partitionId": "1", + "sizeInBytes": 249168, + "eventCount": 1500, + "firstSequenceNumber": 2400, + "lastSequenceNumber": 3899, + "firstEnqueueTime": "2017-08-31T19:12:14.674Z", + "lastEnqueueTime": "2017-08-31T19:12:44.309Z" + }, + "dataVersion": "", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/examples/secret_new_version_created.json b/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/examples/secret_new_version_created.json new file mode 100644 index 000000000000..b89c8e6daf27 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/examples/secret_new_version_created.json @@ -0,0 +1,18 @@ +{ + "id":"00eccf70-95a7-4e7c-8299-2eb17ee9ad64", + "topic":"/subscriptions/{subscription-id}/resourceGroups/sample-rg/providers/Microsoft.KeyVault/vaults/sample-kv", + "subject":"newsecret", + "eventType":"Microsoft.KeyVault.SecretNewVersionCreated", + "eventTime":"2019-07-25T01:08:33.1036736Z", + "data":{ + "Id":"https://sample-kv.vault.azure.net/secrets/newsecret/ee059b2bb5bc48398a53b168c6cdcb10", + "VaultName":"sample-kv", + "ObjectType":"Secret", + "ObjectName":"newsecret", + "Version":"ee059b2bb5bc48398a53b168c6cdcb10", + "NBF":"1559081980", + "EXP":"1559082102" + }, + "dataVersion":"1", + "metadataVersion":"1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/dataset_drift_detected.json b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/dataset_drift_detected.json new file mode 100644 index 000000000000..c5b5b0ecffc7 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/dataset_drift_detected.json @@ -0,0 +1,19 @@ +{ + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name}", + "subject": "datadrifts/{}/runs/{}", + "eventType": "Microsoft.MachineLearningServices.DatasetDriftDetected", + "eventTime": "2017-06-26T18:41:00.9584103Z", + "id": "831e1650-001e-001b-66ab-eeb76e069631", + "data": { + "DataDriftId": "01d29aa4-e6a4-470a-9ef3-66660d21f8ef", + "DataDriftName": "myDriftMonitor", + "RunId": "01d29aa4-e6a4-470a-9ef3-66660d21f8ef_1571590300380", + "BaseDatasetId": "3c56d136-0f64-4657-a0e8-5162089a88a3", + "TargetDatasetId": "d7e74d2e-c972-4266-b5fb-6c9c182d2a74", + "DriftCoefficient": 0.83503490684792081, + "StartTime": "2019-07-04T00:00:00+00:00", + "EndTime": "2019-07-05T00:00:00+00:00" + }, + "dataVersion": "", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/model_deployed.json b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/model_deployed.json new file mode 100644 index 000000000000..c81a40f6877f --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/model_deployed.json @@ -0,0 +1,21 @@ +{ + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name}", + "subject": "endpoints/my-sklearn-service", + "eventType": "Microsoft.MachineLearningServices.ModelDeployed", + "eventTime": "2017-06-26T18:41:00.9584103Z", + "id": "831e1650-001e-001b-66ab-eeb76e069631", + "data": { + "ServiceName": "my-sklearn-service", + "ServiceComputeType": "ACI", + "ModelIds": "sklearn_regression_model:1,sklearn_regression_model:2", + "ServiceTags": { + "area": "diabetes", + "type": "regression" + }, + "ServiceProperties": { + "type": "test" + } + }, + "dataVersion": "", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/model_registered.json b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/model_registered.json new file mode 100644 index 000000000000..550b849d06dc --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/model_registered.json @@ -0,0 +1,20 @@ +{ + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name}", + "subject": "models/sklearn_regression_model:20", + "eventType": "Microsoft.MachineLearningServices.ModelRegistered", + "eventTime": "2017-06-26T18:41:00.9584103Z", + "id": "831e1650-001e-001b-66ab-eeb76e069631", + "data": { + "ModelName": "sklearn_regression_model", + "ModelVersion": 20, + "ModelTags": { + "area": "diabetes", + "type": "regression" + }, + "ModelProperties": { + "type": "test" + } + }, + "dataVersion": "", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/run_completed.json b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/run_completed.json new file mode 100644 index 000000000000..73e1f074d8ef --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/run_completed.json @@ -0,0 +1,31 @@ +{ + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name}", + "subject": "experiments/0fa9dfaa-cba3-4fa7-b590-23e48548f5c1/runs/AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5", + "eventType": "Microsoft.MachineLearningServices.RunCompleted", + "eventTime": "2017-06-26T18:41:00.9584103Z", + "id": "831e1650-001e-001b-66ab-eeb76e069631", + "data": { + "experimentId": "0fa9dfaa-cba3-4fa7-b590-23e48548f5c1", + "experimentName": "automl-local-regression", + "runId": "AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5", + "runType": null, + "runTags": {}, + "runProperties": { + "runTemplate": "automl_child", + "pipeline_id": "5adc0a4fe02504a586f09a4fcbb241f9a4012062", + "pipeline_spec": "{\"objects\": [{\"class_name\": \"StandardScaler\", \"module\": \"sklearn.preprocessing\", \"param_args\": [], \"param_kwargs\": {\"with_mean\": true, \"with_std\": false}, \"prepared_kwargs\": {}, \"spec_class\": \"preproc\"}, {\"class_name\": \"LassoLars\", \"module\": \"sklearn.linear_model\", \"param_args\": [], \"param_kwargs\": {\"alpha\": 0.001, \"normalize\": true}, \"prepared_kwargs\": {}, \"spec_class\": \"sklearn\"}], \"pipeline_id\": \"5adc0a4fe02504a586f09a4fcbb241f9a4012062\"}", + "training_percent": "100", + "predicted_cost": "0.062226144097381045", + "iteration": "5", + "run_template": "automl_child", + "run_preprocessor": "StandardScalerWrapper", + "run_algorithm": "LassoLars", + "conda_env_data_location": "aml://artifact/ExperimentRun/dcid.AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5/outputs/conda_env_v_1_0_0.yml", + "model_name": "AutoMLad912b2d65", + "scoring_data_location": "aml://artifact/ExperimentRun/dcid.AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5/outputs/scoring_file_v_1_0_0.py", + "model_data_location": "aml://artifact/ExperimentRun/dcid.AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5/outputs/model.pkl" + } + }, + "dataVersion": "", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/run_status_changed.json b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/run_status_changed.json new file mode 100644 index 000000000000..47b618ea60b0 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/run_status_changed.json @@ -0,0 +1,32 @@ +{ + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name}", + "subject": "experiments/0fa9dfaa-cba3-4fa7-b590-23e48548f5c1/runs/AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5", + "eventType": "Microsoft.MachineLearningServices.RunStatusChanged", + "eventTime": "2017-06-26T18:41:00.9584103Z", + "id": "831e1650-001e-001b-66ab-eeb76e069631", + "data": { + "experimentId": "0fa9dfaa-cba3-4fa7-b590-23e48548f5c1", + "experimentName": "automl-local-regression", + "runId": "AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5", + "runType": null, + "runTags": {}, + "runProperties": { + "runTemplate": "automl_child", + "pipeline_id": "5adc0a4fe02504a586f09a4fcbb241f9a4012062", + "pipeline_spec": "{\"objects\": [{\"class_name\": \"StandardScaler\", \"module\": \"sklearn.preprocessing\", \"param_args\": [], \"param_kwargs\": {\"with_mean\": true, \"with_std\": false}, \"prepared_kwargs\": {}, \"spec_class\": \"preproc\"}, {\"class_name\": \"LassoLars\", \"module\": \"sklearn.linear_model\", \"param_args\": [], \"param_kwargs\": {\"alpha\": 0.001, \"normalize\": true}, \"prepared_kwargs\": {}, \"spec_class\": \"sklearn\"}], \"pipeline_id\": \"5adc0a4fe02504a586f09a4fcbb241f9a4012062\"}", + "training_percent": "100", + "predicted_cost": "0.062226144097381045", + "iteration": "5", + "run_template": "automl_child", + "run_preprocessor": "StandardScalerWrapper", + "run_algorithm": "LassoLars", + "conda_env_data_location": "aml://artifact/ExperimentRun/dcid.AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5/outputs/conda_env_v_1_0_0.yml", + "model_name": "AutoMLad912b2d65", + "scoring_data_location": "aml://artifact/ExperimentRun/dcid.AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5/outputs/scoring_file_v_1_0_0.py", + "model_data_location": "aml://artifact/ExperimentRun/dcid.AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5/outputs/model.pkl" + }, + "runStatus": "failed" + }, + "dataVersion": "", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/examples/geofence_entered.json b/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/examples/geofence_entered.json new file mode 100644 index 000000000000..b2bbb65d26b8 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/examples/geofence_entered.json @@ -0,0 +1,26 @@ +{ + "id":"7f8446e2-1ac7-4234-8425-303726ea3981", + "topic":"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Maps/accounts/{accountName}", + "subject":"/spatial/geofence/udid/{udid}/id/{eventId}", + "data":{ + "geometries":[ + { + "deviceId":"device_1", + "udId":"1a13b444-4acf-32ab-ce4e-9ca4af20b169", + "geometryId":"2", + "distance":-999.0, + "nearestLat":47.618786, + "nearestLon":-122.132151 + } + ], + "expiredGeofenceGeometryId":[ + ], + "invalidPeriodGeofenceGeometryId":[ + ] + }, + "eventType":"Microsoft.Maps.GeofenceEntered", + "eventTime":"2018-11-08T00:54:17.6408601Z", + "metadataVersion":"1", + "dataVersion":"1.0" + +} diff --git a/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/examples/geofence_result.json b/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/examples/geofence_result.json new file mode 100644 index 000000000000..176c8db3e613 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/examples/geofence_result.json @@ -0,0 +1,33 @@ +{ + "id":"451675de-a67d-4929-876c-5c2bf0b2c000", +"topic":"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Maps/accounts/{accountName}", + "subject":"/spatial/geofence/udid/{udid}/id/{eventId}", + "data":{ + "geometries":[ + { + "deviceId":"device_1", + "udId":"1a13b444-4acf-32ab-ce4e-9ca4af20b169", + "geometryId":"1", + "distance":999.0, + "nearestLat":47.609833, + "nearestLon":-122.148274 + }, + { + "deviceId":"device_1", + "udId":"1a13b444-4acf-32ab-ce4e-9ca4af20b169", + "geometryId":"2", + "distance":999.0, + "nearestLat":47.621954, + "nearestLon":-122.131841 + } + ], + "expiredGeofenceGeometryId":[ + ], + "invalidPeriodGeofenceGeometryId":[ + ] + }, + "eventType":"Microsoft.Maps.GeofenceResult", + "eventTime":"2018-11-08T00:52:08.0954283Z", + "metadataVersion":"1", + "dataVersion":"1.0" + } diff --git a/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json b/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json index 562ec0f4f744..d9123f79c767 100644 --- a/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json +++ b/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json @@ -944,7 +944,7 @@ } }, "type": "object", - "description": "Ingest heartbeat event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventIngestHeartbeatEventData event." + "description": "Ingest heartbeat event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventIngestHeartbeat event." }, "MediaLiveEventTrackDiscontinuityDetectedEventData": { "properties": { @@ -1006,7 +1006,7 @@ "channelLatencyMs", "latencyResultCode" ], - "description": "Channel Archive heartbeat event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventChannelArchiveHeartbeatEventData event." + "description": "Channel Archive heartbeat event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventChannelArchiveHeartbeat event." } } } diff --git a/specification/eventgrid/data-plane/Microsoft.PolicyInsights/stable/2018-01-01/examples/policy_state_changed.json b/specification/eventgrid/data-plane/Microsoft.PolicyInsights/stable/2018-01-01/examples/policy_state_changed.json new file mode 100644 index 000000000000..d0685ae86e04 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.PolicyInsights/stable/2018-01-01/examples/policy_state_changed.json @@ -0,0 +1,18 @@ +{ + "id": "5829794FCB5075FCF585476619577B5A5A30E52C84842CBD4E2AD73996714C4C", + "topic": "/subscriptions/{subscription-id}", + "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/{provider-namespace}/{resource-type}/{resource-name}", + "data": { + "timestamp": "2021-03-27T18:37:42.4496956Z", + "policyAssignmentId": "{policy-assignment-scope}/providers/microsoft.authorization/policyassignments/{policy-assignment-name}", + "policyDefinitionId": "{policy-definition-scope}/providers/microsoft.authorization/policydefinitions/{policy-definition-name}", + "policyDefinitionReferenceId": "", + "complianceState": "NonCompliant", + "subscriptionId": "{subscription-id}", + "complianceReasonCode": "" + }, + "eventType": "Microsoft.PolicyInsights.PolicyStateChanged", + "eventTime": "2021-03-27T18:37:42.5241536Z", + "dataVersion": "1", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.PolicyInsights/stable/2018-01-01/examples/policy_state_created.json b/specification/eventgrid/data-plane/Microsoft.PolicyInsights/stable/2018-01-01/examples/policy_state_created.json new file mode 100644 index 000000000000..7bdbdf8bc987 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.PolicyInsights/stable/2018-01-01/examples/policy_state_created.json @@ -0,0 +1,18 @@ +{ + "id": "5829794FCB5075FCF585476619577B5A5A30E52C84842CBD4E2AD73996714C4C", + "topic": "/subscriptions/{subscription-id}", + "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/{provider-namespace}/{resource-type}/{resource-name}", + "data": { + "timestamp": "2021-03-27T18:37:42.4496956Z", + "policyAssignmentId": "{policy-assignment-scope}/providers/microsoft.authorization/policyassignments/{policy-assignment-name}", + "policyDefinitionId": "{policy-definition-scope}/providers/microsoft.authorization/policydefinitions/{policy-definition-name}", + "policyDefinitionReferenceId": "", + "complianceState": "NonCompliant", + "subscriptionId": "{subscription-id}", + "complianceReasonCode": "" + }, + "eventType": "Microsoft.PolicyInsights.PolicyStateCreated", + "eventTime": "2021-03-27T18:37:42.5241536Z", + "dataVersion": "1", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_action_cancel.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_action_cancel.json new file mode 100644 index 000000000000..e46c3eceee0d --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_action_cancel.json @@ -0,0 +1,51 @@ +{ + "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey", + "eventType": "Microsoft.Resources.ResourceActionCancel", + "eventTime": "2018-10-08T22:46:22.6022559Z", + "id": "{ID}", + "data": { + "authorization": { + "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey", + "action": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action", + "evidence": { + "role": "Contributor", + "roleAssignmentScope": "/subscriptions/{subscription-id}", + "roleAssignmentId": "{ID}", + "roleDefinitionId": "{ID}", + "principalId": "{ID}", + "principalType": "ServicePrincipal" + } + }, + "claims": { + "aud": "{audience-claim}", + "iss": "{issuer-claim}", + "iat": "{issued-at-claim}", + "nbf": "{not-before-claim}", + "exp": "{expiration-claim}", + "aio": "{token}", + "appid": "{ID}", + "appidacr": "2", + "http://schemas.microsoft.com/identity/claims/identityprovider": "{URL}", + "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}", "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}", + "uti": "{ID}", + "ver": "1.0" + }, + "correlationId": "{ID}", + "httpRequest": { + "clientRequestId": "{ID}", + "clientIpAddress": "{IP-address}", + "method": "POST", + "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey/listKeys?api-version=2017-04-01" + }, + "resourceProvider": "Microsoft.EventHub", + "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey", + "operationName": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action", + "status": "Succeeded", + "subscriptionId": "{subscription-id}", + "tenantId": "{tenant-id}" + }, + "dataVersion": "2", + "metadataVersion": "1", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_action_failure.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_action_failure.json new file mode 100644 index 000000000000..7d2b274eba76 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_action_failure.json @@ -0,0 +1,51 @@ +{ + "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey", + "eventType": "Microsoft.Resources.ResourceActionFailure", + "eventTime": "2018-10-08T22:46:22.6022559Z", + "id": "{ID}", + "data": { + "authorization": { + "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey", + "action": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action", + "evidence": { + "role": "Contributor", + "roleAssignmentScope": "/subscriptions/{subscription-id}", + "roleAssignmentId": "{ID}", + "roleDefinitionId": "{ID}", + "principalId": "{ID}", + "principalType": "ServicePrincipal" + } + }, + "claims": { + "aud": "{audience-claim}", + "iss": "{issuer-claim}", + "iat": "{issued-at-claim}", + "nbf": "{not-before-claim}", + "exp": "{expiration-claim}", + "aio": "{token}", + "appid": "{ID}", + "appidacr": "2", + "http://schemas.microsoft.com/identity/claims/identityprovider": "{URL}", + "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}", "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}", + "uti": "{ID}", + "ver": "1.0" + }, + "correlationId": "{ID}", + "httpRequest": { + "clientRequestId": "{ID}", + "clientIpAddress": "{IP-address}", + "method": "POST", + "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey/listKeys?api-version=2017-04-01" + }, + "resourceProvider": "Microsoft.EventHub", + "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey", + "operationName": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action", + "status": "Succeeded", + "subscriptionId": "{subscription-id}", + "tenantId": "{tenant-id}" + }, + "dataVersion": "2", + "metadataVersion": "1", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_action_success.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_action_success.json new file mode 100644 index 000000000000..84b3b0c022b7 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_action_success.json @@ -0,0 +1,51 @@ +{ + "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey", + "eventType": "Microsoft.Resources.ResourceActionSuccess", + "eventTime": "2018-10-08T22:46:22.6022559Z", + "id": "{ID}", + "data": { + "authorization": { + "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey", + "action": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action", + "evidence": { + "role": "Contributor", + "roleAssignmentScope": "/subscriptions/{subscription-id}", + "roleAssignmentId": "{ID}", + "roleDefinitionId": "{ID}", + "principalId": "{ID}", + "principalType": "ServicePrincipal" + } + }, + "claims": { + "aud": "{audience-claim}", + "iss": "{issuer-claim}", + "iat": "{issued-at-claim}", + "nbf": "{not-before-claim}", + "exp": "{expiration-claim}", + "aio": "{token}", + "appid": "{ID}", + "appidacr": "2", + "http://schemas.microsoft.com/identity/claims/identityprovider": "{URL}", + "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}", "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}", + "uti": "{ID}", + "ver": "1.0" + }, + "correlationId": "{ID}", + "httpRequest": { + "clientRequestId": "{ID}", + "clientIpAddress": "{IP-address}", + "method": "POST", + "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey/listKeys?api-version=2017-04-01" + }, + "resourceProvider": "Microsoft.EventHub", + "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey", + "operationName": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action", + "status": "Succeeded", + "subscriptionId": "{subscription-id}", + "tenantId": "{tenant-id}" + }, + "dataVersion": "2", + "metadataVersion": "1", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_delete_cancel.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_delete_cancel.json new file mode 100644 index 000000000000..e42153003e8e --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_delete_cancel.json @@ -0,0 +1,61 @@ +{ + "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}", + "eventType": "Microsoft.Resources.ResourceDeleteCancel", + "eventTime": "2018-07-19T19:24:12.763881Z", + "id": "19a69642-1aad-4a96-a5ab-8d05494513ce", + "data": { + "authorization": { + "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}", + "action": "Microsoft.Storage/storageAccounts/delete", + "evidence": { + "role": "Subscription Admin" + } + }, + "claims": { + "aud": "{audience-claim}", + "iss": "{issuer-claim}", + "iat": "{issued-at-claim}", + "nbf": "{not-before-claim}", + "exp": "{expiration-claim}", + "_claim_names": "{\"groups\":\"src1\"}", + "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}", + "http://schemas.microsoft.com/claims/authnclassreference": "1", + "aio": "{token}", + "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa", + "appid": "{ID}", + "appidacr": "2", + "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}", + "e_exp": "262800", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}", + "ipaddr": "{IP-address}", + "name": "{full-name}", + "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}", + "onprem_sid": "{ID}", + "puid": "{ID}", + "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}", + "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}", + "uti": "{ID}", + "ver": "1.0" + }, + "correlationId": "{ID}", + "httpRequest": { + "clientRequestId": "{ID}", + "clientIpAddress": "{IP-address}", + "method": "DELETE", + "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}?api-version=2018-02-01" + }, + "resourceProvider": "Microsoft.Storage", + "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}", + "operationName": "Microsoft.Storage/storageAccounts/delete", + "status": "Succeeded", + "subscriptionId": "{subscription-id}", + "tenantId": "{tenant-id}" + }, + "dataVersion": "2", + "metadataVersion": "1", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_delete_failure.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_delete_failure.json new file mode 100644 index 000000000000..2fab5049ef9e --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_delete_failure.json @@ -0,0 +1,61 @@ +{ + "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}", + "eventType": "Microsoft.Resources.ResourceDeleteFailure", + "eventTime": "2018-07-19T19:24:12.763881Z", + "id": "19a69642-1aad-4a96-a5ab-8d05494513ce", + "data": { + "authorization": { + "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}", + "action": "Microsoft.Storage/storageAccounts/delete", + "evidence": { + "role": "Subscription Admin" + } + }, + "claims": { + "aud": "{audience-claim}", + "iss": "{issuer-claim}", + "iat": "{issued-at-claim}", + "nbf": "{not-before-claim}", + "exp": "{expiration-claim}", + "_claim_names": "{\"groups\":\"src1\"}", + "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}", + "http://schemas.microsoft.com/claims/authnclassreference": "1", + "aio": "{token}", + "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa", + "appid": "{ID}", + "appidacr": "2", + "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}", + "e_exp": "262800", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}", + "ipaddr": "{IP-address}", + "name": "{full-name}", + "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}", + "onprem_sid": "{ID}", + "puid": "{ID}", + "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}", + "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}", + "uti": "{ID}", + "ver": "1.0" + }, + "correlationId": "{ID}", + "httpRequest": { + "clientRequestId": "{ID}", + "clientIpAddress": "{IP-address}", + "method": "DELETE", + "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}?api-version=2018-02-01" + }, + "resourceProvider": "Microsoft.Storage", + "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}", + "operationName": "Microsoft.Storage/storageAccounts/delete", + "status": "Succeeded", + "subscriptionId": "{subscription-id}", + "tenantId": "{tenant-id}" + }, + "dataVersion": "2", + "metadataVersion": "1", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_delete_success.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_delete_success.json new file mode 100644 index 000000000000..28e209216df1 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_delete_success.json @@ -0,0 +1,61 @@ +{ + "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}", + "eventType": "Microsoft.Resources.ResourceDeleteSuccess", + "eventTime": "2018-07-19T19:24:12.763881Z", + "id": "19a69642-1aad-4a96-a5ab-8d05494513ce", + "data": { + "authorization": { + "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}", + "action": "Microsoft.Storage/storageAccounts/delete", + "evidence": { + "role": "Subscription Admin" + } + }, + "claims": { + "aud": "{audience-claim}", + "iss": "{issuer-claim}", + "iat": "{issued-at-claim}", + "nbf": "{not-before-claim}", + "exp": "{expiration-claim}", + "_claim_names": "{\"groups\":\"src1\"}", + "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}", + "http://schemas.microsoft.com/claims/authnclassreference": "1", + "aio": "{token}", + "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa", + "appid": "{ID}", + "appidacr": "2", + "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}", + "e_exp": "262800", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}", + "ipaddr": "{IP-address}", + "name": "{full-name}", + "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}", + "onprem_sid": "{ID}", + "puid": "{ID}", + "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}", + "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}", + "uti": "{ID}", + "ver": "1.0" + }, + "correlationId": "{ID}", + "httpRequest": { + "clientRequestId": "{ID}", + "clientIpAddress": "{IP-address}", + "method": "DELETE", + "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}?api-version=2018-02-01" + }, + "resourceProvider": "Microsoft.Storage", + "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}", + "operationName": "Microsoft.Storage/storageAccounts/delete", + "status": "Succeeded", + "subscriptionId": "{subscription-id}", + "tenantId": "{tenant-id}" + }, + "dataVersion": "2", + "metadataVersion": "1", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_write_cancel.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_write_cancel.json new file mode 100644 index 000000000000..a61862355c7a --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_write_cancel.json @@ -0,0 +1,55 @@ +{ + "subject": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}", + "eventType": "Microsoft.Resources.ResourceWriteCancel", + "eventTime": "2018-07-19T18:38:04.6117357Z", + "id": "4db48cba-50a2-455a-93b4-de41a3b5b7f6", + "data": { + "authorization": { + "scope": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}", + "action": "Microsoft.Storage/storageAccounts/write", + "evidence": { + "role": "Subscription Admin" + } + }, + "claims": { + "aud": "{audience-claim}", + "iss": "{issuer-claim}", + "iat": "{issued-at-claim}", + "nbf": "{not-before-claim}", + "exp": "{expiration-claim}", + "_claim_names": "{\"groups\":\"src1\"}", + "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}", + "http://schemas.microsoft.com/claims/authnclassreference": "1", + "aio": "{token}", + "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa", + "appid": "{ID}", + "appidacr": "2", + "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}", + "e_exp": "{expiration}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}", + "ipaddr": "{IP-address}", + "name": "{full-name}", + "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}", + "onprem_sid": "{ID}", + "puid": "{ID}", + "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}", + "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}", + "uti": "{ID}", + "ver": "1.0" + }, + "correlationId": "{ID}", + "resourceProvider": "Microsoft.Storage", + "resourceUri": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}", + "operationName": "Microsoft.Storage/storageAccounts/write", + "status": "Succeeded", + "subscriptionId": "{subscription-id}", + "tenantId": "{tenant-id}" + }, + "dataVersion": "2", + "metadataVersion": "1", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_write_failure.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_write_failure.json new file mode 100644 index 000000000000..df42b7bc2126 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_write_failure.json @@ -0,0 +1,55 @@ +{ + "subject": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}", + "eventType": "Microsoft.Resources.ResourceWriteFailure", + "eventTime": "2018-07-19T18:38:04.6117357Z", + "id": "4db48cba-50a2-455a-93b4-de41a3b5b7f6", + "data": { + "authorization": { + "scope": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}", + "action": "Microsoft.Storage/storageAccounts/write", + "evidence": { + "role": "Subscription Admin" + } + }, + "claims": { + "aud": "{audience-claim}", + "iss": "{issuer-claim}", + "iat": "{issued-at-claim}", + "nbf": "{not-before-claim}", + "exp": "{expiration-claim}", + "_claim_names": "{\"groups\":\"src1\"}", + "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}", + "http://schemas.microsoft.com/claims/authnclassreference": "1", + "aio": "{token}", + "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa", + "appid": "{ID}", + "appidacr": "2", + "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}", + "e_exp": "{expiration}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}", + "ipaddr": "{IP-address}", + "name": "{full-name}", + "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}", + "onprem_sid": "{ID}", + "puid": "{ID}", + "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}", + "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}", + "uti": "{ID}", + "ver": "1.0" + }, + "correlationId": "{ID}", + "resourceProvider": "Microsoft.Storage", + "resourceUri": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}", + "operationName": "Microsoft.Storage/storageAccounts/write", + "status": "Succeeded", + "subscriptionId": "{subscription-id}", + "tenantId": "{tenant-id}" + }, + "dataVersion": "2", + "metadataVersion": "1", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_write_success.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_write_success.json new file mode 100644 index 000000000000..074c8ec080d9 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_write_success.json @@ -0,0 +1,55 @@ +{ + "subject": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}", + "eventType": "Microsoft.Resources.ResourceWriteSuccess", + "eventTime": "2018-07-19T18:38:04.6117357Z", + "id": "4db48cba-50a2-455a-93b4-de41a3b5b7f6", + "data": { + "authorization": { + "scope": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}", + "action": "Microsoft.Storage/storageAccounts/write", + "evidence": { + "role": "Subscription Admin" + } + }, + "claims": { + "aud": "{audience-claim}", + "iss": "{issuer-claim}", + "iat": "{issued-at-claim}", + "nbf": "{not-before-claim}", + "exp": "{expiration-claim}", + "_claim_names": "{\"groups\":\"src1\"}", + "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}", + "http://schemas.microsoft.com/claims/authnclassreference": "1", + "aio": "{token}", + "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa", + "appid": "{ID}", + "appidacr": "2", + "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}", + "e_exp": "{expiration}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}", + "ipaddr": "{IP-address}", + "name": "{full-name}", + "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}", + "onprem_sid": "{ID}", + "puid": "{ID}", + "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}", + "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}", + "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}", + "uti": "{ID}", + "ver": "1.0" + }, + "correlationId": "{ID}", + "resourceProvider": "Microsoft.Storage", + "resourceUri": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}", + "operationName": "Microsoft.Storage/storageAccounts/write", + "status": "Succeeded", + "subscriptionId": "{subscription-id}", + "tenantId": "{tenant-id}" + }, + "dataVersion": "2", + "metadataVersion": "1", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}" +} diff --git a/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/examples/active_messages_available_periodic_notifications.json b/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/examples/active_messages_available_periodic_notifications.json new file mode 100644 index 000000000000..1ef32bc78bc2 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/examples/active_messages_available_periodic_notifications.json @@ -0,0 +1,17 @@ +{ + "topic": "/subscriptions/{subscription-id}/resourcegroups/DemoGroup/providers/Microsoft.ServiceBus/namespaces/{namespace}", + "subject": "topics/{topic}/subscriptions/{subscription}", + "eventType": "Microsoft.ServiceBus.ActiveMessagesAvailablePeriodicNotifications", + "eventTime": "2018-02-14T05:12:53.4133526Z", + "id": "dede87b0-3656-419c-acaf-70c95ddc60f5", + "data": { + "namespaceName": "{namespace}", + "requestUri": "https://{namespace}.servicebus.windows.net/{topic}/subscriptions/{subscription}/$deadletterqueue/messages/head", + "entityType": "subscriber", + "queueName": null, + "topicName": "{topic}", + "subscriptionName": "{subscription}" + }, + "dataVersion": "1", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/examples/deadletter_messages_available_periodic_notification.json b/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/examples/deadletter_messages_available_periodic_notification.json new file mode 100644 index 000000000000..97ad11d742cc --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/examples/deadletter_messages_available_periodic_notification.json @@ -0,0 +1,17 @@ +{ + "topic": "/subscriptions/{subscription-id}/resourcegroups/DemoGroup/providers/Microsoft.ServiceBus/namespaces/{namespace}", + "subject": "queues/{queue}", + "eventType": "Microsoft.ServiceBus.DeadletterMessagesAvailablePeriodicNotifications", + "eventTime": "2018-02-14T05:12:53.4133526Z", + "id": "dede87b0-3656-419c-acaf-70c95ddc60f5", + "data": { + "namespaceName": "{namespace}", + "requestUri": "https://{namespace}.servicebus.windows.net/{queue}/$deadletterqueue/messages/head", + "entityType": "subscriber", + "queueName": "{queue}", + "topicName": null, + "subscriptionName": null + }, + "dataVersion": "1", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/examples/deadletter_messages_available_with_no_listeners.json b/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/examples/deadletter_messages_available_with_no_listeners.json new file mode 100644 index 000000000000..5ea30a798664 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/examples/deadletter_messages_available_with_no_listeners.json @@ -0,0 +1,17 @@ +{ + "topic": "/subscriptions/{subscription-id}/resourcegroups/{your-rg}/providers/Microsoft.ServiceBus/namespaces/{your-service-bus-namespace}", + "subject": "topics/{your-service-bus-topic}/subscriptions/{your-service-bus-subscription}", + "eventType": "Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListeners", + "eventTime": "2018-02-14T05:12:53.4133526Z", + "id": "dede87b0-3656-419c-acaf-70c95ddc60f5", + "data": { + "namespaceName": "YOUR SERVICE BUS NAMESPACE WILL SHOW HERE", + "requestUri": "https://{your-service-bus-namespace}.servicebus.windows.net/{your-topic}/subscriptions/{your-service-bus-subscription}/$deadletterqueue/messages/head", + "entityType": "subscriber", + "queueName": "QUEUE NAME IF QUEUE", + "topicName": "TOPIC NAME IF TOPIC", + "subscriptionName": "SUBSCRIPTION NAME" + }, + "dataVersion": "1", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.SignalRService/stable/2018-01-01/examples/client_connection_connected.json b/specification/eventgrid/data-plane/Microsoft.SignalRService/stable/2018-01-01/examples/client_connection_connected.json new file mode 100644 index 000000000000..7d7fca0e7c03 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.SignalRService/stable/2018-01-01/examples/client_connection_connected.json @@ -0,0 +1,15 @@ +{ + "topic": "/subscriptions/{subscription-id}/resourceGroups/signalr-rg/providers/Microsoft.SignalRService/SignalR/signalr-resource", + "subject": "/hub/chat", + "eventType": "Microsoft.SignalRService.ClientConnectionConnected", + "eventTime": "2019-06-10T18:41:00.9584103Z", + "id": "831e1650-001e-001b-66ab-eeb76e069631", + "data": { + "timestamp": "2019-06-10T18:41:00.9584103Z", + "hubName": "chat", + "connectionId": "crH0uxVSvP61p5wkFY1x1A", + "userId": "user-eymwyo23" + }, + "dataVersion": "1.0", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.SignalRService/stable/2018-01-01/examples/client_connection_disconnected.json b/specification/eventgrid/data-plane/Microsoft.SignalRService/stable/2018-01-01/examples/client_connection_disconnected.json new file mode 100644 index 000000000000..33027c195350 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.SignalRService/stable/2018-01-01/examples/client_connection_disconnected.json @@ -0,0 +1,16 @@ +{ + "topic": "/subscriptions/{subscription-id}/resourceGroups/signalr-rg/providers/Microsoft.SignalRService/SignalR/signalr-resource", + "subject": "/hub/chat", + "eventType": "Microsoft.SignalRService.ClientConnectionDisconnected", + "eventTime": "2019-06-10T18:41:00.9584103Z", + "id": "831e1650-001e-001b-66ab-eeb76e069631", + "data": { + "timestamp": "2019-06-10T18:41:00.9584103Z", + "hubName": "chat", + "connectionId": "crH0uxVSvP61p5wkFY1x1A", + "userId": "user-eymwyo23", + "errorMessage": "Internal server error." + }, + "dataVersion": "1.0", + "metadataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_service_plan_updated.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_service_plan_updated.json new file mode 100644 index 000000000000..f0cf28613e18 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_service_plan_updated.json @@ -0,0 +1,29 @@ +{ + "id": "56501672-9150-40e1-893a-18420c7fdbf7", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/serverfarms/{serverfarm-name}", + "subject": "/Microsoft.Web/serverfarms/{plan-name}", + "eventType": "Microsoft.Web.AppServicePlanUpdated", + "eventTime": "2020-01-28T18:22:23.5516004Z", + "data": { + "serverFarmEventTypeDetail": { + "stampKind": "Public", + "action": "Updated", + "status": "Started" + }, + "serverFarmId": "0", + "sku": { + "name": "P1v2", + "tier": "PremiumV2", + "size": "P1v2", + "family": "Pv2", + "capacity": 1 + }, + "clientRequestId": "8f880321-a991-45c7-b743-6ff63fe4c004", + "correlationRequestId": "1995c3be-ba7f-4ccf-94af-516df637ec8a", + "requestId": "b973a8e6-6949-4783-b44c-ac778be831bb", + "address": "/websystems/WebSites/serverfarms/subscriptions/{subscription-id}/webspaces/{webspace-id}/serverfarms/{plan-name}/async", + "verb": "PUT" + }, + "dataVersion": "1", + "metaDataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_updated_changed_app_settings.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_updated_changed_app_settings.json new file mode 100644 index 000000000000..267c2d8c61f4 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_updated_changed_app_settings.json @@ -0,0 +1,20 @@ +{ + "id": "b74ea56b-2a3f-4de5-a5d7-38e60c81cf23", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}", + "subject": "/Microsoft.Web/sites/{site-name}", + "eventType": "Microsoft.Web.AppUpdated", + "eventTime": "2020-01-28T18:22:30.2760952Z", + "data": { + "appEventTypeDetail": { + "action": "Stopped" + }, + "name": "{site-name}", + "clientRequestId": "64a5e0aa-7cee-4ff1-9093-b9197b820014", + "correlationRequestId": "25bb36a5-8f6c-4f04-b615-e9a0ee045756", + "requestId": "f2e8eb3f-b190-42de-b99e-6acefe587374", + "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/stop", + "verb": "POST" + }, + "dataVersion": "1'", + "metaDataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_updated_restarted.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_updated_restarted.json new file mode 100644 index 000000000000..267c2d8c61f4 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_updated_restarted.json @@ -0,0 +1,20 @@ +{ + "id": "b74ea56b-2a3f-4de5-a5d7-38e60c81cf23", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}", + "subject": "/Microsoft.Web/sites/{site-name}", + "eventType": "Microsoft.Web.AppUpdated", + "eventTime": "2020-01-28T18:22:30.2760952Z", + "data": { + "appEventTypeDetail": { + "action": "Stopped" + }, + "name": "{site-name}", + "clientRequestId": "64a5e0aa-7cee-4ff1-9093-b9197b820014", + "correlationRequestId": "25bb36a5-8f6c-4f04-b615-e9a0ee045756", + "requestId": "f2e8eb3f-b190-42de-b99e-6acefe587374", + "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/stop", + "verb": "POST" + }, + "dataVersion": "1'", + "metaDataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_updated_stopped.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_updated_stopped.json new file mode 100644 index 000000000000..267c2d8c61f4 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_updated_stopped.json @@ -0,0 +1,20 @@ +{ + "id": "b74ea56b-2a3f-4de5-a5d7-38e60c81cf23", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}", + "subject": "/Microsoft.Web/sites/{site-name}", + "eventType": "Microsoft.Web.AppUpdated", + "eventTime": "2020-01-28T18:22:30.2760952Z", + "data": { + "appEventTypeDetail": { + "action": "Stopped" + }, + "name": "{site-name}", + "clientRequestId": "64a5e0aa-7cee-4ff1-9093-b9197b820014", + "correlationRequestId": "25bb36a5-8f6c-4f04-b615-e9a0ee045756", + "requestId": "f2e8eb3f-b190-42de-b99e-6acefe587374", + "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/stop", + "verb": "POST" + }, + "dataVersion": "1'", + "metaDataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/backup_operation_completed.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/backup_operation_completed.json new file mode 100644 index 000000000000..41d7c91085ec --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/backup_operation_completed.json @@ -0,0 +1,20 @@ +{ + "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}", + "subject": "/Microsoft.Web/sites/{site-name}", + "eventType": "Microsoft.Web.BackupOperationCompleted", + "eventTime": "2020-01-28T18:26:51.7194887Z", + "data": { + "appEventTypeDetail": { + "action": "Started" + }, + "name": "{site-name}", + "clientRequestId": "None", + "correlationRequestId": "None", + "requestId": "292f499d-04ee-4066-994d-c2df57b99198", + "address": "None", + "verb": "None" + }, + "dataVersion": "1", + "metaDataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/backup_operation_failed.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/backup_operation_failed.json new file mode 100644 index 000000000000..7e303597fc73 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/backup_operation_failed.json @@ -0,0 +1,20 @@ +{ + "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}", + "subject": "/Microsoft.Web/sites/{site-name}", + "eventType": "Microsoft.Web.BackupOperationFailed", + "eventTime": "2020-01-28T18:26:51.7194887Z", + "data": { + "appEventTypeDetail": { + "action": "Started" + }, + "name": "{site-name}", + "clientRequestId": "None", + "correlationRequestId": "None", + "requestId": "292f499d-04ee-4066-994d-c2df57b99198", + "address": "None", + "verb": "None" + }, + "dataVersion": "1", + "metaDataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/backup_operation_started.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/backup_operation_started.json new file mode 100644 index 000000000000..5c45e3cdbc83 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/backup_operation_started.json @@ -0,0 +1,20 @@ +{ + "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}", + "subject": "/Microsoft.Web/sites/{site-name}", + "eventType": "Microsoft.Web.BackupOperationStarted", + "eventTime": "2020-01-28T18:26:51.7194887Z", + "data": { + "appEventTypeDetail": { + "action": "Started" + }, + "name": "{site-name}", + "clientRequestId": "None", + "correlationRequestId": "None", + "requestId": "292f499d-04ee-4066-994d-c2df57b99198", + "address": "None", + "verb": "None" + }, + "dataVersion": "1", + "metaDataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/restore_operation_completed.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/restore_operation_completed.json new file mode 100644 index 000000000000..9c8cd1eb0c9e --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/restore_operation_completed.json @@ -0,0 +1,21 @@ + +{ + "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}", + "subject": "/Microsoft.Web/sites/{site-name}", + "eventType": "Microsoft.Web.RestoreOperationCompleted", + "eventTime": "2020-01-28T18:26:51.7194887Z", + "data": { + "appEventTypeDetail": { + "action": "Started" + }, + "name": "{site-name}", + "clientRequestId": "None", + "correlationRequestId": "None", + "requestId": "292f499d-04ee-4066-994d-c2df57b99198", + "address": "None", + "verb": "POST" + }, + "dataVersion": "1", + "metaDataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/restore_operation_failed.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/restore_operation_failed.json new file mode 100644 index 000000000000..4ca60cd758a0 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/restore_operation_failed.json @@ -0,0 +1,20 @@ +{ + "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}", + "subject": "/Microsoft.Web/sites/{site-name}", + "eventType": "Microsoft.Web.RestoreOperationFailed", + "eventTime": "2020-01-28T18:26:51.7194887Z", + "data": { + "appEventTypeDetail": { + "action": "Started" + }, + "name": "{site-name}", + "clientRequestId": "None", + "correlationRequestId": "None", + "requestId": "292f499d-04ee-4066-994d-c2df57b99198", + "address": "None", + "verb": "POST" + }, + "dataVersion": "1", + "metaDataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/restore_operation_started.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/restore_operation_started.json new file mode 100644 index 000000000000..7014f0e7615d --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/restore_operation_started.json @@ -0,0 +1,20 @@ +{ + "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}", + "subject": "/Microsoft.Web/sites/{site-name}", + "eventType": "Microsoft.Web.RestoreOperationStarted", + "eventTime": "2020-01-28T18:26:51.7194887Z", + "data": { + "appEventTypeDetail": { + "action": "Started" + }, + "name": "{site-name}", + "clientRequestId": "None", + "correlationRequestId": "None", + "requestId": "292f499d-04ee-4066-994d-c2df57b99198", + "address": "None", + "verb": "POST" + }, + "dataVersion": "1", + "metaDataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_completed.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_completed.json new file mode 100644 index 000000000000..613a42f4210a --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_completed.json @@ -0,0 +1,20 @@ +{ + "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}", + "subject": "/Microsoft.Web/sites/{site-name}", + "eventType": "Microsoft.Web.SlotSwapCompleted", + "eventTime": "2020-01-28T18:26:51.7194887Z", + "data": { + "appEventTypeDetail": null, + "name": "{site-name}", + "clientRequestId": "922f4841-20d9-4dd6-8c5b-23f0d85e5592", + "correlationRequestId": "9ac46505-2b8a-4e06-834c-05ffbe2e8c3a", + "requestId": "765117aa-eaf8-4bd2-a644-1dbf69c7b0fd", + "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/slots?Command=SWAP&targetSlot=production", + "verb": "POST", + "sourceSlot": "staging", + "targetSlot": "production" + }, + "dataVersion": "1", + "metaDataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_failed.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_failed.json new file mode 100644 index 000000000000..a5b17f1cad1d --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_failed.json @@ -0,0 +1,20 @@ +{ + "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}", + "subject": "/Microsoft.Web/sites/{site-name}", + "eventType": "Microsoft.Web.SlotSwapFailed", + "eventTime": "2020-01-28T18:26:51.7194887Z", + "data": { + "appEventTypeDetail": null, + "name": "{site-name}", + "clientRequestId": "922f4841-20d9-4dd6-8c5b-23f0d85e5592", + "correlationRequestId": "9ac46505-2b8a-4e06-834c-05ffbe2e8c3a", + "requestId": "765117aa-eaf8-4bd2-a644-1dbf69c7b0fd", + "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/slots?Command=SWAP&targetSlot=production", + "verb": "POST", + "sourceSlot": "staging", + "targetSlot": "production" + }, + "dataVersion": "1", + "metaDataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_started.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_started.json new file mode 100644 index 000000000000..53bcbfcaf027 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_started.json @@ -0,0 +1,20 @@ +{ + "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}", + "subject": "/Microsoft.Web/sites/{site-name}", + "eventType": "Microsoft.Web.SlotSwapStarted", + "eventTime": "2020-01-28T18:26:51.7194887Z", + "data": { + "appEventTypeDetail": null, + "name": "{site-name}", + "clientRequestId": "922f4841-20d9-4dd6-8c5b-23f0d85e5592", + "correlationRequestId": "9ac46505-2b8a-4e06-834c-05ffbe2e8c3a", + "requestId": "765117aa-eaf8-4bd2-a644-1dbf69c7b0fd", + "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/slots?Command=SWAP&targetSlot=production", + "verb": "POST", + "sourceSlot": "staging", + "targetSlot": "production" + }, + "dataVersion": "1", + "metaDataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_with_preview_cancelled.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_with_preview_cancelled.json new file mode 100644 index 000000000000..b4790f16671b --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_with_preview_cancelled.json @@ -0,0 +1,20 @@ +{ + "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}", + "subject": "/Microsoft.Web/sites/{site-name}", + "eventType": "Microsoft.Web.SlotSwapWithPreviewCancelled", + "eventTime": "2020-01-28T18:26:51.7194887Z", + "data": { + "appEventTypeDetail": null, + "name": "{site-name}", + "clientRequestId": "922f4841-20d9-4dd6-8c5b-23f0d85e5592", + "correlationRequestId": "9ac46505-2b8a-4e06-834c-05ffbe2e8c3a", + "requestId": "765117aa-eaf8-4bd2-a644-1dbf69c7b0fd", + "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/slots?Command=SWAP&targetSlot=production", + "verb": "POST", + "sourceSlot": "staging", + "targetSlot": "production" + }, + "dataVersion": "1", + "metaDataVersion": "1" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_with_preview_started.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_with_preview_started.json new file mode 100644 index 000000000000..1b7b9d096aa5 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_with_preview_started.json @@ -0,0 +1,20 @@ +{ + "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}", + "subject": "/Microsoft.Web/sites/{site-name}", + "eventType": "Microsoft.Web.SlotSwapWithPreviewStarted", + "eventTime": "2020-01-28T18:26:51.7194887Z", + "data": { + "appEventTypeDetail": null, + "name": "{site-name}", + "clientRequestId": "922f4841-20d9-4dd6-8c5b-23f0d85e5592", + "correlationRequestId": "9ac46505-2b8a-4e06-834c-05ffbe2e8c3a", + "requestId": "765117aa-eaf8-4bd2-a644-1dbf69c7b0fd", + "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/slots?Command=SWAP&targetSlot=production", + "verb": "POST", + "sourceSlot": "staging", + "targetSlot": "production" + }, + "dataVersion": "1", + "metaDataVersion": "1" +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/EventGrid.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/EventGrid.json new file mode 100644 index 000000000000..4b725dd959de --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/EventGrid.json @@ -0,0 +1,5877 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-12-01", + "title": "EventGridManagementClient", + "description": "Azure EventGrid Management Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}": { + "get": { + "tags": [ + "Domains" + ], + "summary": "Get a domain.", + "description": "Get properties of a domain.", + "operationId": "Domains_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": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_Get": { + "$ref": "./examples/Domains_Get.json" + } + } + }, + "put": { + "tags": [ + "Domains" + ], + "summary": "Create or update a domain.", + "description": "Asynchronously creates or updates a new domain with the specified parameters.", + "operationId": "Domains_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": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "domainInfo", + "in": "body", + "description": "Domain information.", + "required": true, + "schema": { + "$ref": "#/definitions/Domain" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_CreateOrUpdate": { + "$ref": "./examples/Domains_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Domains" + ], + "summary": "Delete a domain.", + "description": "Delete existing domain.", + "operationId": "Domains_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": "domainName", + "in": "path", + "description": "Name of the domain.", + "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": { + "Domains_Delete": { + "$ref": "./examples/Domains_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Domains" + ], + "summary": "Update a domain.", + "description": "Asynchronously updates a domain with the specified parameters.", + "operationId": "Domains_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": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "domainUpdateParameters", + "in": "body", + "description": "Domain update information.", + "required": true, + "schema": { + "$ref": "#/definitions/DomainUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "201": { + "description": "Domain update request accepted.", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_Update": { + "$ref": "./examples/Domains_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/domains": { + "get": { + "tags": [ + "Domains" + ], + "summary": "List domains under an Azure subscription.", + "description": "List all the domains under an Azure subscription.", + "operationId": "Domains_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/DomainsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_ListBySubscription": { + "$ref": "./examples/Domains_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains": { + "get": { + "tags": [ + "Domains" + ], + "summary": "List domains under a resource group.", + "description": "List all the domains under a resource group.", + "operationId": "Domains_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/DomainsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_ListByResourceGroup": { + "$ref": "./examples/Domains_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/listKeys": { + "post": { + "tags": [ + "Domains" + ], + "summary": "List keys for a domain.", + "description": "List the two keys used to publish to a domain.", + "operationId": "Domains_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": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainSharedAccessKeys" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_ListSharedAccessKeys": { + "$ref": "./examples/Domains_ListSharedAccessKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/regenerateKey": { + "post": { + "tags": [ + "Domains" + ], + "summary": "Regenerate key for a domain.", + "description": "Regenerate a shared access key for a domain.", + "operationId": "Domains_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": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "regenerateKeyRequest", + "in": "body", + "description": "Request body to regenerate key.", + "required": true, + "schema": { + "$ref": "#/definitions/DomainRegenerateKeyRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainSharedAccessKeys" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_RegenerateKey": { + "$ref": "./examples/Domains_RegenerateKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName}": { + "get": { + "tags": [ + "DomainTopics" + ], + "summary": "Get a domain topic.", + "description": "Get properties of a domain topic.", + "operationId": "DomainTopics_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": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "domainTopicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainTopics_Get": { + "$ref": "./examples/DomainTopics_Get.json" + } + } + }, + "put": { + "tags": [ + "DomainTopics" + ], + "summary": "Create or update a domain topic.", + "description": "Asynchronously creates or updates a new domain topic with the specified parameters.", + "operationId": "DomainTopics_CreateOrUpdate", + "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": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "domainTopicName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/DomainTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainTopics_CreateOrUpdate": { + "$ref": "./examples/DomainTopics_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "DomainTopics" + ], + "summary": "Delete a domain topic.", + "description": "Delete existing domain topic.", + "operationId": "DomainTopics_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": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "domainTopicName", + "in": "path", + "description": "Name of the domain 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": { + "DomainTopics_Delete": { + "$ref": "./examples/DomainTopics_Delete.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics": { + "get": { + "tags": [ + "DomainTopics" + ], + "summary": "List domain topics.", + "description": "List all the topics in a domain.", + "operationId": "DomainTopics_ListByDomain", + "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": "domainName", + "in": "path", + "description": "Domain name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainTopicsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainTopics_ListByDomain": { + "$ref": "./examples/DomainTopics_ListByDomain.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get an event subscription.", + "description": "Get properties of an event subscription.", + "operationId": "EventSubscriptions_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "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": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_GetForSubscription": { + "$ref": "./examples/EventSubscriptions_GetForSubscription.json" + }, + "EventSubscriptions_GetForResourceGroup": { + "$ref": "./examples/EventSubscriptions_GetForResourceGroup.json" + }, + "EventSubscriptions_GetForResource": { + "$ref": "./examples/EventSubscriptions_GetForResource.json" + }, + "EventSubscriptions_GetForCustomTopic": { + "$ref": "./examples/EventSubscriptions_GetForCustomTopic.json" + } + } + }, + "put": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Create or update an event subscription.", + "description": "Asynchronously creates a new event subscription or updates an existing event subscription based on the specified scope.", + "operationId": "EventSubscriptions_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "scope", + "in": "path", + "description": "The identifier of the resource to which the event subscription needs to be created or updated. 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": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription. Event subscription names must be between 3 and 64 characters in length and should 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": { + "201": { + "description": "EventSubscription CreateOrUpdate request accepted.", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_CreateOrUpdateForSubscription": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForSubscription.json" + }, + "EventSubscriptions_CreateOrUpdateForResourceGroup": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json" + }, + "EventSubscriptions_CreateOrUpdateForResource": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForResource.json" + }, + "EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json" + }, + "EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json" + }, + "EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json" + }, + "EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Delete an event subscription.", + "description": "Delete an existing event subscription.", + "operationId": "EventSubscriptions_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "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": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription.", + "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": { + "EventSubscriptions_DeleteForSubscription": { + "$ref": "./examples/EventSubscriptions_DeleteForSubscription.json" + }, + "EventSubscriptions_DeleteForResourceGroup": { + "$ref": "./examples/EventSubscriptions_DeleteForResourceGroup.json" + }, + "EventSubscriptions_DeleteForResource": { + "$ref": "./examples/EventSubscriptions_DeleteForResource.json" + }, + "EventSubscriptions_DeleteForCustomTopic": { + "$ref": "./examples/EventSubscriptions_DeleteForCustomTopic.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Update an event subscription.", + "description": "Asynchronously updates an existing event subscription.", + "operationId": "EventSubscriptions_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "scope", + "in": "path", + "description": "The scope of existing 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": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be updated.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionUpdateParameters", + "in": "body", + "description": "Updated event subscription information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventSubscriptionUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "EventSubscription update request accepted.", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_UpdateForSubscription": { + "$ref": "./examples/EventSubscriptions_UpdateForSubscription.json" + }, + "EventSubscriptions_UpdateForResourceGroup": { + "$ref": "./examples/EventSubscriptions_UpdateForResourceGroup.json" + }, + "EventSubscriptions_UpdateForResource": { + "$ref": "./examples/EventSubscriptions_UpdateForResource.json" + }, + "EventSubscriptions_UpdateForCustomTopic": { + "$ref": "./examples/EventSubscriptions_UpdateForCustomTopic.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get an event subscription of a system topic.", + "description": "Get an event subscription.", + "operationId": "SystemTopicEventSubscriptions_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" + }, + { + "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/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopicEventSubscriptions_Get": { + "$ref": "./examples/SystemTopicEventSubscriptions_Get.json" + } + } + }, + "put": { + "tags": [ + "EventSubscriptions" + ], + "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" + ], + "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": "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": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopicEventSubscriptions_CreateOrUpdate": { + "$ref": "./examples/SystemTopicEventSubscriptions_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "EventSubscriptions" + ], + "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" + ], + "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": "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/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": { + "SystemTopicEventSubscriptions_Delete": { + "$ref": "./examples/SystemTopicEventSubscriptions_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "EventSubscriptions" + ], + "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" + ], + "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": "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": "eventSubscriptionUpdateParameters", + "in": "body", + "description": "Updated event subscription information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventSubscriptionUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopicEventSubscriptions_Update": { + "$ref": "./examples/SystemTopicEventSubscriptions_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}/getFullUrl": { + "post": { + "tags": [ + "EventSubscriptions" + ], + "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" + ], + "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": "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/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionFullUrl" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopicEventSubscriptions_GetFullUrl": { + "$ref": "./examples/SystemTopicEventSubscriptions_GetFullUrl.json" + } + } + } + }, + "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getFullUrl": { + "post": { + "tags": [ + "EventSubscriptions" + ], + "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": [ + { + "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": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionFullUrl" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "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" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "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" + ], + "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" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopicEventSubscriptions_ListBySystemTopic": { + "$ref": "./examples/SystemTopicEventSubscriptions_ListBySystemTopic.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/eventSubscriptions": { + "get": { + "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": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$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": { + "EventSubscriptions_ListGlobalBySubscription": { + "$ref": "./examples/EventSubscriptions_ListGlobalBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions": { + "get": { + "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", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "topicTypeName", + "in": "path", + "description": "Name of the topic type.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$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": { + "EventSubscriptions_ListGlobalBySubscriptionForTopicType": { + "$ref": "./examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/eventSubscriptions": { + "get": { + "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": [], + "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/EventSubscriptionsListResult" + } + }, + "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" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions": { + "get": { + "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", + "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": "topicTypeName", + "in": "path", + "description": "Name of the topic type.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$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": { + "EventSubscriptions_ListGlobalByResourceGroupForTopicType": { + "$ref": "./examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions": { + "get": { + "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", + "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/EventSubscriptionsListResult" + } + }, + "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" + ], + "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" + ], + "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": "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/EventSubscriptionsListResult" + } + }, + "default": { + "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" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/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", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$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" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$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": { + "EventSubscriptions_ListRegionalBySubscriptionForTopicType": { + "$ref": "./examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/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", + "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": "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" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$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": { + "EventSubscriptions_ListRegionalByResourceGroupForTopicType": { + "$ref": "./examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/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", + "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": "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" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "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" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{topicName}/providers/Microsoft.EventGrid/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", + "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": "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" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "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" + } + } + }, + "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getDeliveryAttributes": { + "post": { + "tags": [ + "EventSubscriptions" + ], + "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": [ + { + "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": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeliveryAttributeListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_GetDeliveryAttributes": { + "$ref": "./examples/EventSubscriptions_GetDeliveryAttributes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}/getDeliveryAttributes": { + "post": { + "tags": [ + "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" + ], + "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": "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/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeliveryAttributeListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopicEventSubscriptions_GetDeliveryAttributes": { + "$ref": "./examples/SystemTopicEventSubscriptions_GetDeliveryAttributes.json" + } + } + } + }, + "/providers/Microsoft.EventGrid/operations": { + "get": { + "tags": [ + "Operations" + ], + "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/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationsListResult" + } + }, + "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, + "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 topic type.", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventTypesListResult" + } + }, + "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" + } + }, + "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": { + "ExtensionTopics_Get": { + "$ref": "./examples/ExtensionTopics_Get.json" + } + } + } + }, + "/providers/Microsoft.EventGrid/topicTypes": { + "get": { + "tags": [ + "TopicTypes" + ], + "summary": "List topic types.", + "description": "List all registered topic types.", + "operationId": "TopicTypes_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopicTypesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "TopicTypes_List": { + "$ref": "./examples/TopicTypes_List.json" + } + } + } + }, + "/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}": { + "get": { + "tags": [ + "TopicTypes" + ], + "summary": "Get a topic type.", + "description": "Get information about a topic type.", + "operationId": "TopicTypes_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "topicTypeName", + "in": "path", + "description": "Name of the topic type.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopicTypeInfo" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "TopicTypes_Get": { + "$ref": "./examples/TopicTypes_Get.json" + } + } + } + }, + "/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventTypes": { + "get": { + "tags": [ + "TopicTypes" + ], + "summary": "List event types.", + "description": "List event types for a topic type.", + "operationId": "TopicTypes_ListEventTypes", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "topicTypeName", + "in": "path", + "description": "Name of the topic type.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventTypesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "TopicTypes_ListEventTypes": { + "$ref": "./examples/TopicTypes_ListEventTypes.json" + } + } + } + } + }, + "definitions": { + "DomainProperties": { + "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": { + "inputSchemaMappingType": { + "description": "Type of the custom mapping", + "enum": [ + "Json" + ], + "type": "string", + "x-ms-enum": { + "name": "InputSchemaMappingType", + "modelAsString": true + } + } + }, + "discriminator": "inputSchemaMappingType" + }, + "PrivateEndpointConnection": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Properties of the PrivateEndpointConnection.", + "x-ms-client-flatten": true + } + } + }, + "TrackedResource": { + "description": "Definition of a Tracked Resource.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "Location of the resource.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "Tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "Domain": { + "description": "EventGrid Domain.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DomainProperties", + "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." + } + } + }, + "DomainUpdateParameters": { + "description": "Properties of the Domain update.", + "type": "object", + "properties": { + "tags": { + "description": "Tags of the domains resource.", + "type": "object", + "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" + } + } + }, + "DomainsListResult": { + "description": "Result of the List Domains operation.", + "type": "object", + "properties": { + "value": { + "description": "A collection of Domains.", + "type": "array", + "items": { + "$ref": "#/definitions/Domain" + } + }, + "nextLink": { + "description": "A link for the next page of domains.", + "type": "string" + } + } + }, + "DomainSharedAccessKeys": { + "description": "Shared access keys of the Domain.", + "type": "object", + "properties": { + "key1": { + "description": "Shared access key1 for the domain.", + "type": "string" + }, + "key2": { + "description": "Shared access key2 for the domain.", + "type": "string" + } + } + }, + "DomainRegenerateKeyRequest": { + "description": "Domain regenerate share access key request.", + "required": [ + "keyName" + ], + "type": "object", + "properties": { + "keyName": { + "description": "Key name to regenerate key1 or key2.", + "type": "string" + } + } + }, + "DomainTopicProperties": { + "description": "Properties of the Domain Topic.", + "type": "object", + "readOnly": true, + "properties": { + "provisioningState": { + "description": "Provisioning state of the domain topic.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DomainTopicProvisioningState", + "modelAsString": true + } + } + } + }, + "DomainTopic": { + "description": "Domain Topic.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "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" + } + } + }, + "DomainTopicsListResult": { + "description": "Result of the List Domain Topics operation.", + "type": "object", + "properties": { + "value": { + "description": "A collection of Domain Topics.", + "type": "array", + "items": { + "$ref": "#/definitions/DomainTopic" + } + }, + "nextLink": { + "description": "A link for the next page of domain topics.", + "type": "string" + } + } + }, + "EventSubscriptionProperties": { + "description": "Properties of the Event Subscription.", + "type": "object", + "properties": { + "topic": { + "description": "Name of the topic of the event subscription.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state of the event subscription.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed", + "AwaitingManualAction" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EventSubscriptionProvisioningState", + "modelAsString": true + } + }, + "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 (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." + }, + "labels": { + "description": "List of user defined labels.", + "type": "array", + "items": { + "type": "string" + } + }, + "expirationTimeUtc": { + "format": "date-time", + "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." + }, + "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." + } + } + }, + "EventSubscriptionFilter": { + "description": "Filter for the Event Subscription.", + "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.", + "type": "string" + }, + "subjectEndsWith": { + "description": "An optional string to filter events for an event subscription based on a resource path suffix.\r\nWildcard characters are not supported in this path.", + "type": "string" + }, + "includedEventTypes": { + "description": "A list of applicable event types that need to be part of the event subscription. If it is desired to subscribe to all default event types, set the IncludedEventTypes to null.", + "type": "array", + "items": { + "type": "string" + } + }, + "isSubjectCaseSensitive": { + "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", + "items": { + "$ref": "#/definitions/AdvancedFilter" + } + } + } + }, + "RetryPolicy": { + "description": "Information about the retry policy for an event subscription.", + "type": "object", + "properties": { + "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" + } + } + }, + "WebHookEventSubscriptionDestinationProperties": { + "description": "Information about the webhook destination properties for an event subscription.", + "type": "object", + "properties": { + "endpointUrl": { + "description": "The URL that represents the endpoint of the destination of an event subscription.", + "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", + "properties": { + "resourceId": { + "description": "The Azure Resource ID of the storage account that is the destination of the deadletter events", + "type": "string" + }, + "blobContainerName": { + "description": "The name of the Storage blob container that is the destination of the deadletter events", + "type": "string" + } + } + }, + "NumberInAdvancedFilter": { + "description": "NumberIn Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "format": "double", + "type": "number" + } + } + }, + "x-ms-discriminator-value": "NumberIn" + }, + "StorageBlobDeadLetterDestination": { + "description": "Information about the storage blob based dead letter destination.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DeadLetterDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StorageBlobDeadLetterDestinationProperties", + "description": "The properties of the Storage Blob based deadletter destination", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "StorageBlob" + }, + "NumberNotInAdvancedFilter": { + "description": "NumberNotIn Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "format": "double", + "type": "number" + } + } + }, + "x-ms-discriminator-value": "NumberNotIn" + }, + "NumberLessThanAdvancedFilter": { + "description": "NumberLessThan Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "value": { + "format": "double", + "description": "The filter value.", + "type": "number" + } + }, + "x-ms-discriminator-value": "NumberLessThan" + }, + "NumberGreaterThanAdvancedFilter": { + "description": "NumberGreaterThan Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "value": { + "format": "double", + "description": "The filter value.", + "type": "number" + } + }, + "x-ms-discriminator-value": "NumberGreaterThan" + }, + "NumberLessThanOrEqualsAdvancedFilter": { + "description": "NumberLessThanOrEquals Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "value": { + "format": "double", + "description": "The filter value.", + "type": "number" + } + }, + "x-ms-discriminator-value": "NumberLessThanOrEquals" + }, + "NumberGreaterThanOrEqualsAdvancedFilter": { + "description": "NumberGreaterThanOrEquals Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "value": { + "format": "double", + "description": "The filter value.", + "type": "number" + } + }, + "x-ms-discriminator-value": "NumberGreaterThanOrEquals" + }, + "BoolEqualsAdvancedFilter": { + "description": "BoolEquals Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "value": { + "description": "The boolean filter value.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "BoolEquals" + }, + "StringInAdvancedFilter": { + "description": "StringIn Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "StringIn" + }, + "StringNotInAdvancedFilter": { + "description": "StringNotIn Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "StringNotIn" + }, + "StringBeginsWithAdvancedFilter": { + "description": "StringBeginsWith Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "StringBeginsWith" + }, + "StringEndsWithAdvancedFilter": { + "description": "StringEndsWith Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "StringEndsWith" + }, + "StringContainsAdvancedFilter": { + "description": "StringContains Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "StringContains" + }, + "AdvancedFilter": { + "description": "This is the base type that represents an advanced filter. To configure an advanced filter, do not directly instantiate an object of this class. Instead, instantiate an object of a derived class such as BoolEqualsAdvancedFilter, NumberInAdvancedFilter, StringEqualsAdvancedFilter etc. depending on the type of the key based on which you want to filter.", + "required": [ + "operatorType" + ], + "type": "object", + "properties": { + "operatorType": { + "description": "The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.", + "enum": [ + "NumberIn", + "NumberNotIn", + "NumberLessThan", + "NumberGreaterThan", + "NumberLessThanOrEquals", + "NumberGreaterThanOrEquals", + "BoolEquals", + "StringIn", + "StringNotIn", + "StringBeginsWith", + "StringEndsWith", + "StringContains" + ], + "type": "string", + "x-ms-enum": { + "name": "AdvancedFilterOperatorType", + "modelAsString": true + } + }, + "key": { + "description": "The field/property in the event based on which you want to filter.", + "type": "string" + } + }, + "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.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WebHookEventSubscriptionDestinationProperties", + "description": "WebHook Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "WebHook" + }, + "DeadLetterDestination": { + "description": "Information about the dead letter destination for an event subscription. To configure a deadletter destination, do not directly instantiate an object of this class. Instead, instantiate an object of a derived class. Currently, StorageBlobDeadLetterDestination is the only class that derives from this class.", + "type": "object", + "required": [ + "endpointType" + ], + "properties": { + "endpointType": { + "description": "Type of the endpoint for the dead letter destination", + "enum": [ + "StorageBlob" + ], + "type": "string", + "x-ms-enum": { + "name": "DeadLetterEndPointType", + "modelAsString": true + } + } + }, + "discriminator": "endpointType" + }, + "EventHubEventSubscriptionDestinationProperties": { + "description": "The properties for a event hub destination.", + "type": "object", + "properties": { + "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.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventHubEventSubscriptionDestinationProperties", + "description": "Event Hub Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "EventHub" + }, + "StorageQueueEventSubscriptionDestinationProperties": { + "description": "The properties for a storage queue destination.", + "type": "object", + "properties": { + "resourceId": { + "description": "The Azure Resource ID of the storage account that contains the queue that is the destination of an event subscription.", + "type": "string" + }, + "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" + } + } + }, + "StorageQueueEventSubscriptionDestination": { + "description": "Information about the storage queue destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StorageQueueEventSubscriptionDestinationProperties", + "description": "Storage Queue Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "StorageQueue" + }, + "HybridConnectionEventSubscriptionDestinationProperties": { + "description": "The properties for a hybrid connection destination.", + "type": "object", + "properties": { + "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" + } + } + } + }, + "HybridConnectionEventSubscriptionDestination": { + "description": "Information about the HybridConnection destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$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": "ServiceBusTopic" + }, + "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 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" + } + } + } + }, + "AzureFunctionEventSubscriptionDestination": { + "description": "Information about the azure function destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureFunctionEventSubscriptionDestinationProperties", + "description": "Azure Function Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "AzureFunction" + }, + "EventSubscriptionDestination": { + "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.", + "enum": [ + "WebHook", + "EventHub", + "StorageQueue", + "HybridConnection", + "ServiceBusQueue", + "ServiceBusTopic", + "AzureFunction" + ], + "type": "string", + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true + } + } + }, + "discriminator": "endpointType" + }, + "EventSubscription": { + "description": "Event Subscription", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventSubscriptionProperties", + "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.", + "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." + }, + "labels": { + "description": "List of user defined labels.", + "type": "array", + "items": { + "type": "string" + } + }, + "expirationTimeUtc": { + "format": "date-time", + "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." + }, + "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." + } + } + }, + "EventSubscriptionFullUrl": { + "description": "Full endpoint url of an event subscription", + "type": "object", + "properties": { + "endpointUrl": { + "description": "The URL that represents the endpoint of the destination of an event subscription.", + "type": "string" + } + } + }, + "EventSubscriptionsListResult": { + "description": "Result of the List EventSubscriptions operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of EventSubscriptions", + "type": "array", + "items": { + "$ref": "#/definitions/EventSubscription" + } + }, + "nextLink": { + "description": "A link for the next page of event subscriptions", + "type": "string" + } + } + }, + "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", + "properties": { + "value": { + "description": "A collection of operations", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + } + } + }, + "Operation": { + "description": "Represents an operation returned by the GetOperations request", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationInfo", + "description": "Display name of the operation" + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + }, + "properties": { + "description": "Properties of the operation", + "type": "object", + "x-ms-client-flatten": true + } + } + }, + "OperationInfo": { + "description": "Information about an operation", + "type": "object", + "properties": { + "provider": { + "description": "Name of the provider", + "type": "string" + }, + "resource": { + "description": "Name of the resource type", + "type": "string" + }, + "operation": { + "description": "Name of the operation", + "type": "string" + }, + "description": { + "description": "Description of the operation", + "type": "string" + } + } + }, + "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": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TopicProvisioningState", + "modelAsString": true + } + }, + "endpoint": { + "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" + } + } + }, + "Topic": { + "description": "EventGrid Topic", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TopicProperties", + "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" + } + } + }, + "TopicUpdateParameters": { + "description": "Properties of the Topic update", + "type": "object", + "properties": { + "tags": { + "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" + } + } + }, + "TopicsListResult": { + "description": "Result of the List Topics operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of Topics", + "type": "array", + "items": { + "$ref": "#/definitions/Topic" + } + }, + "nextLink": { + "description": "A link for the next page of topics", + "type": "string" + } + } + }, + "TopicSharedAccessKeys": { + "description": "Shared access keys of the Topic", + "type": "object", + "properties": { + "key1": { + "description": "Shared access key1 for the topic.", + "type": "string" + }, + "key2": { + "description": "Shared access key2 for the topic.", + "type": "string" + } + } + }, + "TopicRegenerateKeyRequest": { + "description": "Topic regenerate share access key request", + "required": [ + "keyName" + ], + "type": "object", + "properties": { + "keyName": { + "description": "Key name to regenerate key1 or key2", + "type": "string" + } + } + }, + "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", + "properties": { + "value": { + "description": "A collection of event types", + "type": "array", + "items": { + "$ref": "#/definitions/EventType" + } + } + } + }, + "EventTypeProperties": { + "description": "Properties of the event type", + "type": "object", + "properties": { + "displayName": { + "description": "Display name of the event type.", + "type": "string" + }, + "description": { + "description": "Description of the event type.", + "type": "string" + }, + "schemaUrl": { + "description": "Url of the schema for this event type.", + "type": "string" + }, + "isInDefaultSet": { + "description": "IsInDefaultSet flag of the event type.", + "type": "boolean" + } + } + }, + "EventType": { + "description": "Event Type for a subject under a topic", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventTypeProperties", + "description": "Properties of the event type.", + "x-ms-client-flatten": true + } + } + }, + "TopicTypesListResult": { + "description": "Result of the List Topic Types operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of topic types", + "type": "array", + "items": { + "$ref": "#/definitions/TopicTypeInfo" + } + } + } + }, + "TopicTypeProperties": { + "description": "Properties of a topic type.", + "type": "object", + "properties": { + "provider": { + "description": "Namespace of the provider of the topic type.", + "type": "string" + }, + "displayName": { + "description": "Display Name for the topic type.", + "type": "string" + }, + "description": { + "description": "Description of the topic type.", + "type": "string" + }, + "resourceRegionType": { + "description": "Region type of the resource.", + "enum": [ + "RegionalResource", + "GlobalResource" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceRegionType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "Provisioning state of the topic type", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "TopicTypeProvisioningState", + "modelAsString": true + } + }, + "supportedLocations": { + "description": "List of locations supported by this topic type.", + "type": "array", + "items": { + "type": "string" + } + }, + "sourceResourceFormat": { + "description": "Source resource format.", + "type": "string" + }, + "supportedScopesForSource": { + "description": "Supported source scopes.", + "type": "array", + "items": { + "enum": [ + "Resource", + "ResourceGroup", + "AzureSubscription" + ], + "type": "string" + } + } + } + }, + "TopicTypeInfo": { + "description": "Properties of a topic type info.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TopicTypeProperties", + "description": "Properties of the topic type info", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + "required": true, + "type": "string" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Version of the API to be used with the client request.", + "required": true, + "type": "string" + }, + "FilterParameter": { + "name": "$filter", + "in": "query", + "description": "The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "in": "query", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_CreateOrUpdate.json new file mode 100644 index 000000000000..ede0597d632c --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_CreateOrUpdate.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain1", + "domainTopicName": "exampledomaintopic1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1/topics/exampledomaintopic1", + "name": "exampledomaintopic1", + "type": "Microsoft.EventGrid/domains/topics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_Delete.json new file mode 100644 index 000000000000..5be4e21b3bfe --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain1", + "domainTopicName": "exampledomaintopic1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_Get.json new file mode 100644 index 000000000000..71d3a4e79f5b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_Get.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain2", + "domainTopicName": "topic1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2/topics/topic1", + "name": "topic1", + "properties": { + "provisioningState": "Succeeded" + }, + "type": "Microsoft.EventGrid/domains/topics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_ListByDomain.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_ListByDomain.json new file mode 100644 index 000000000000..e2b8d873c8a1 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_ListByDomain.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/devexprg/providers/Microsoft.EventGrid/domains/domainCli100/topics/domainCli100topic1", + "name": "domainCli100topic1", + "properties": { + "provisioningState": "Succeeded" + }, + "type": "Microsoft.EventGrid/domains/topics" + }, + { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/devexprg/providers/Microsoft.EventGrid/domains/domainCli100/topics/domainCli100topic2", + "name": "domainCli100topic2", + "properties": { + "provisioningState": "Succeeded" + }, + "type": "Microsoft.EventGrid/domains/topics" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_CreateOrUpdate.json new file mode 100644 index 000000000000..75423f7c4dd3 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_CreateOrUpdate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain1", + "api-version": "2020-04-01-preview", + "domainInfo": { + "location": "westus2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1", + "location": "westus2", + "name": "exampledomain1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_Delete.json new file mode 100644 index 000000000000..3712305de1f9 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_Get.json new file mode 100644 index 000000000000..958fd7e429fe --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2", + "location": "westcentralus", + "name": "exampledomain2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_ListByResourceGroup.json new file mode 100644 index 000000000000..a5615d47e6f4 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_ListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1", + "location": "westus2", + "name": "exampledomain1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + }, + { + "properties": { + "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2", + "location": "westcentralus", + "name": "exampledomain2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_ListBySubscription.json new file mode 100644 index 000000000000..065fd4370397 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_ListBySubscription.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1", + "location": "westus2", + "name": "exampledomain1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + }, + { + "properties": { + "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2", + "location": "westcentralus", + "name": "exampledomain2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_ListSharedAccessKeys.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_ListSharedAccessKeys.json new file mode 100644 index 000000000000..01dbc4a20a7c --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_ListSharedAccessKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "key1": "", + "key2": "" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_RegenerateKey.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_RegenerateKey.json new file mode 100644 index 000000000000..6df9219f7a49 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_RegenerateKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain2", + "api-version": "2020-04-01-preview", + "regenerateKeyRequest": { + "keyName": "key1" + } + }, + "responses": { + "200": { + "body": { + "key1": "", + "key2": "" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_Update.json new file mode 100644 index 000000000000..3e59834b75b9 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_Update.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain1", + "api-version": "2020-04-01-preview", + "domainUpdateParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + } + } + }, + "responses": { + "200": {}, + "201": { + "body": { + "properties": { + "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1", + "location": "westus2", + "name": "exampledomain1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json new file mode 100644 index 000000000000..10b5ef006c40 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2020-04-01-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "EventHub", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + }, + "endpointType": "EventHub" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "provisioningState": "Creating", + "labels": null, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json new file mode 100644 index 000000000000..85f8874c8544 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2020-04-01-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "HybridConnection", + "properties": { + "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Relay/namespaces/ContosoNamespace/hybridConnections/HC1" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Relay/namespaces/ContosoNamespace/hybridConnections/HC1" + }, + "endpointType": "HybridConnection" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "provisioningState": "Creating", + "labels": null, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json new file mode 100644 index 000000000000..9a43e885730f --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2020-04-01-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "StorageQueue", + "properties": { + "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "queueName": "queue1" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "queueName": "queue1" + }, + "endpointType": "StorageQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "provisioningState": "Creating", + "labels": null, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json new file mode 100644 index 000000000000..8ff82a8abfab --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2020-04-01-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://azurefunctionexample.azurewebsites.net/runtime/webhooks/EventGrid?functionName=EventGridTrigger1&code=PASSWORDCODE" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://azurefunctionexample.azurewebsites.net/runtime/webhooks/EventGrid" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForResource.json new file mode 100644 index 000000000000..c59f022421cf --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForResource.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1", + "eventSubscriptionName": "examplesubscription10", + "api-version": "2020-04-01-preview", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10", + "name": "examplesubscription10", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json new file mode 100644 index 000000000000..04328d84faca --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg", + "eventSubscriptionName": "examplesubscription2", + "api-version": "2020-04-01-preview", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForSubscription.json new file mode 100644 index 000000000000..21ec84b751b7 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForSubscription.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "eventSubscriptionName": "examplesubscription3", + "api-version": "2020-04-01-preview", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": false + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForCustomTopic.json new file mode 100644 index 000000000000..cb910cec146b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForCustomTopic.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForResource.json new file mode 100644 index 000000000000..a36dd4a32c41 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForResource.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1", + "eventSubscriptionName": "examplesubscription10", + "api-version": "2020-04-01-preview" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForResourceGroup.json new file mode 100644 index 000000000000..bbb6787b1c16 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForResourceGroup.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg", + "eventSubscriptionName": "examplesubscription2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForSubscription.json new file mode 100644 index 000000000000..c49193c06193 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForSubscription.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "eventSubscriptionName": "examplesubscription3", + "api-version": "2020-04-01-preview" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetDeliveryAttributes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetDeliveryAttributes.json new file mode 100644 index 000000000000..e85858f422bf --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetDeliveryAttributes.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "scope": "aaaaaaaaaaaaaaaaaaaaaaaaa", + "eventSubscriptionName": "aaaaaaaaaaaaaaaaaa", + "api-version": "2020-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "header1", + "type": "Static" + }, + { + "name": "header2", + "type": "Dynamic" + }, + { + "name": "header3", + "type": "Static" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForCustomTopic.json new file mode 100644 index 000000000000..86bf95ba4550 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForCustomTopic.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForResource.json new file mode 100644 index 000000000000..a7e3c1d00558 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForResource.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + }, + "endpointType": "EventHub" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForResourceGroup.json new file mode 100644 index 000000000000..0bd3f3bf5d49 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForResourceGroup.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg", + "eventSubscriptionName": "examplesubscription2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForSubscription.json new file mode 100644 index 000000000000..fc62fa15469d --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForSubscription.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "eventSubscriptionName": "examplesubscription3", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForCustomTopic.json new file mode 100644 index 000000000000..29de0d132965 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForCustomTopic.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForResource.json new file mode 100644 index 000000000000..6946be90eca8 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForResource.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForResourceGroup.json new file mode 100644 index 000000000000..e5fe18fe955b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForResourceGroup.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg", + "eventSubscriptionName": "examplesubscription2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForSubscription.json new file mode 100644 index 000000000000..d93adff17991 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForSubscription.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "eventSubscriptionName": "examplesubscription3", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListByDomainTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListByDomainTopic.json new file mode 100644 index 000000000000..27c0593c0f98 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListByDomainTopic.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "domain1", + "topicName": "topic1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/domains/domain1/topics/topic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/domain1/topics/topic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/domains/domain1/topics/topic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/domain1/topics/topic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "labels": [], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/domains/domain1/topics/topic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/domain1/topics/topic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListByResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListByResource.json new file mode 100644 index 000000000000..3db6b0fd2706 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListByResource.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerNamespace": "Microsoft.EventGrid", + "resourceTypeName": "topics", + "resourceName": "exampletopic2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "labels": [], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalByResourceGroup.json new file mode 100644 index 000000000000..2dc73fcc99eb --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalByResourceGroup.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription4", + "name": "examplesubscription4", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json new file mode 100644 index 000000000000..b736f9c55616 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicTypeName": "Microsoft.Resources.ResourceGroups", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalBySubscription.json new file mode 100644 index 000000000000..d36d2cfc0344 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalBySubscription.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription4", + "name": "examplesubscription4", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json new file mode 100644 index 000000000000..ccb726cbbdff --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "topicTypeName": "Microsoft.Resources.Subscriptions", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalByResourceGroup.json new file mode 100644 index 000000000000..156d635fa0fc --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalByResourceGroup.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "location": "westus2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10", + "name": "examplesubscription10", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11", + "name": "examplesubscription11", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json new file mode 100644 index 000000000000..217df915989d --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "location": "westus2", + "topicTypeName": "Microsoft.EventHub.namespaces", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10", + "name": "examplesubscription10", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11", + "name": "examplesubscription11", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalBySubscription.json new file mode 100644 index 000000000000..704a5fb25abd --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalBySubscription.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "location": "westus2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + }, + "endpointType": "EventHub" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10", + "name": "examplesubscription10", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11", + "name": "examplesubscription11", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json new file mode 100644 index 000000000000..15c67841ca99 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "location": "westus2", + "topicTypeName": "Microsoft.EventHub.namespaces", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10", + "name": "examplesubscription10", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11", + "name": "examplesubscription11", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForCustomTopic.json new file mode 100644 index 000000000000..f90c2732c92c --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForCustomTopic.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2020-04-01-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForResource.json new file mode 100644 index 000000000000..bce346c335c4 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForResource.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2020-04-01-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForResourceGroup.json new file mode 100644 index 000000000000..59f8b6db5756 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForResourceGroup.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg", + "eventSubscriptionName": "examplesubscription2", + "api-version": "2020-04-01-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "EventHub", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForSubscription.json new file mode 100644 index 000000000000..673dc543afef --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForSubscription.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "eventSubscriptionName": "examplesubscription3", + "api-version": "2020-04-01-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/ExtensionTopics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/ExtensionTopics_Get.json new file mode 100644 index 000000000000..9a3a9ef9da81 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/ExtensionTopics_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.storage/storageaccounts/exampleResourceName/providers/Microsoft.eventgrid/extensionTopics/default", + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerNamespace": "microsoft.storage", + "resourceTypeName": "storageaccounts", + "resourceName": "exampleResourceName", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "Extension topic for /subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.storage/storageaccounts/exampleResourceName/providers/Microsoft.eventgrid/extensionTopics/default that can be used to obtain metrics", + "systemTopic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleResourceName-2a41650f-00dd-4790-b3ab-dabd12d227cb" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.storage/storageaccounts/exampleResourceName/providers/Microsoft.eventgrid/extensionTopics/default", + "name": "default", + "type": "providers/Microsoft.EventGrid/extensionTopics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Operations_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Operations_List.json new file mode 100644 index 000000000000..e0bc0bbee3dd --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Operations_List.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.EventGrid/register/action", + "display": { + "provider": "Microsoft Event Grid", + "resource": "EventGrid Resource Provider", + "operation": "Registers the EventGrid Resource Provider", + "description": "Registers the eventSubscription for the EventGrid resource provider and enables the creation of Event Grid subscriptions." + }, + "origin": "UserAndSystem" + }, + { + "name": "Microsoft.EventGrid/eventSubscriptions/write", + "display": { + "provider": "Microsoft Event Grid", + "resource": "eventSubscriptions", + "operation": "Write EventSubscription", + "description": "Create or update a eventSubscription" + }, + "origin": "UserAndSystem" + }, + { + "name": "Microsoft.EventGrid/eventSubscriptions/read", + "display": { + "provider": "Microsoft Event Grid", + "resource": "eventSubscriptions", + "operation": "Read EventSubscription", + "description": "Read a eventSubscription" + }, + "origin": "UserAndSystem" + }, + { + "name": "Microsoft.EventGrid/eventSubscriptions/delete", + "display": { + "provider": "Microsoft Event Grid", + "resource": "eventSubscriptions", + "operation": "Delete EventSubscription", + "description": "Delete a eventSubscription" + }, + "origin": "UserAndSystem" + }, + { + "name": "Microsoft.EventGrid/topics/write", + "display": { + "provider": "Microsoft Event Grid", + "resource": "topics", + "operation": "Write Topic", + "description": "Create or update a topic" + }, + "origin": "UserAndSystem" + }, + { + "name": "Microsoft.EventGrid/topics/read", + "display": { + "provider": "Microsoft Event Grid", + "resource": "topics", + "operation": "Read Topic", + "description": "Read a topic" + }, + "origin": "UserAndSystem" + }, + { + "name": "Microsoft.EventGrid/topics/delete", + "display": { + "provider": "Microsoft Event Grid", + "resource": "topics", + "operation": "Delete Topic", + "description": "Delete a topic" + }, + "origin": "UserAndSystem" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_Delete.json new file mode 100644 index 000000000000..0b9b52011235 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "parentType": "topics", + "parentName": "exampletopic1", + "privateEndpointConnectionName": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "api-version": "2020-04-01-preview" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_Get.json new file mode 100644 index 000000000000..650d12fc40e1 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "parentType": "topics", + "parentName": "exampletopic1", + "privateEndpointConnectionName": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5" + }, + "groupIds": [ + "topic" + ], + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Test", + "actionsRequired": "None" + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "type": "Microsoft.EventGrid/topics/privateEndpointConnections" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_ListByResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_ListByResource.json new file mode 100644 index 000000000000..c16c488defbc --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_ListByResource.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "parentType": "topics", + "parentName": "exampletopic1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5" + }, + "groupIds": [ + "topic" + ], + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Test", + "actionsRequired": "None" + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "type": "Microsoft.EventGrid/topics/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_Update.json new file mode 100644 index 000000000000..05dbe5771842 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_Update.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "parentType": "topics", + "parentName": "exampletopic1", + "privateEndpointConnectionName": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "api-version": "2020-04-01-preview", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approving connection", + "actionsRequired": "None" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5" + }, + "groupIds": [ + "topic" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approving connection", + "actionsRequired": "None" + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "type": "Microsoft.EventGrid/topics/privateEndpointConnections" + } + }, + "201": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5" + }, + "groupIds": [ + "topic" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approving connection", + "actionsRequired": "None" + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "type": "Microsoft.EventGrid/topics/privateEndpointConnections" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateLinkResources_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateLinkResources_Get.json new file mode 100644 index 000000000000..aaca5edd77a2 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateLinkResources_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "parentType": "topics", + "parentName": "exampletopic1", + "privateLinkResourceName": "topic", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "groupId": "topic", + "displayName": "Event Grid topic", + "requiredMembers": [ + "topic" + ], + "requiredZoneNames": [ + "privatelink.eventgrid.azure.net" + ] + }, + "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/amh/providers/Microsoft.EventGrid/topics/exampletopic1/privateLinkResources/topic", + "name": "topic", + "type": "Microsoft.EventGrid/topics/privateLinkResources" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateLinkResources_ListByResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateLinkResources_ListByResource.json new file mode 100644 index 000000000000..613d05b44e05 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateLinkResources_ListByResource.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "parentType": "topics", + "parentName": "exampletopic1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "groupId": "topic", + "displayName": "Event Grid topic", + "requiredMembers": [ + "topic" + ], + "requiredZoneNames": [ + "privatelink.eventgrid.azure.net" + ] + }, + "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/amh/providers/Microsoft.EventGrid/topics/exampletopic1/privateLinkResources/topic", + "name": "topic", + "type": "Microsoft.EventGrid/topics/privateLinkResources" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_CreateOrUpdate.json new file mode 100644 index 000000000000..d38b393dd5ea --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_CreateOrUpdate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "eventSubscriptionName": "exampleEventSubscriptionName1", + "api-version": "2021-06-01-preview", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": null, + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/exampleEventSubscriptionName1", + "name": "exampleEventSubscriptionName1", + "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_Delete.json new file mode 100644 index 000000000000..7ad62de98b14 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_Get.json new file mode 100644 index 000000000000..92eee757b012 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_Get.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1", + "provisioningState": "Succeeded", + "destination": { + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource", + "queueName": "que" + }, + "endpointType": "StorageQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix", + "includedEventTypes": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobDeleted" + ] + }, + "labels": [ + "label1", + "label2" + ], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_GetDeliveryAttributes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_GetDeliveryAttributes.json new file mode 100644 index 000000000000..3ffdace692f0 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_GetDeliveryAttributes.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "header1", + "type": "Static", + "properties": { + "value": "NormalValue", + "isSecret": false + } + }, + { + "name": "header2", + "type": "Dynamic", + "properties": { + "sourceField": "data.foo" + } + }, + { + "name": "header3", + "type": "Static", + "properties": { + "value": "mySecretValue", + "isSecret": true + } + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_GetFullUrl.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_GetFullUrl.json new file mode 100644 index 000000000000..57e494399c58 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_GetFullUrl.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_ListBySystemTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_ListBySystemTopic.json new file mode 100644 index 000000000000..da7268d2b4c5 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_ListBySystemTopic.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1", + "provisioningState": "Succeeded", + "destination": { + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource", + "queueName": "que" + }, + "endpointType": "StorageQueue" + }, + "filter": { + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "labels": [], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 10, + "eventTimeToLiveInMinutes": 1440 + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions" + }, + { + "properties": { + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1", + "provisioningState": "Succeeded", + "destination": { + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource", + "queueName": "que" + }, + "endpointType": "StorageQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix", + "includedEventTypes": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobDeleted" + ] + }, + "labels": [ + "label1", + "label2" + ], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_Update.json new file mode 100644 index 000000000000..9bdf21f0392f --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_Update.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "eventSubscriptionName": "exampleEventSubscriptionName1", + "api-version": "2021-06-01-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/exampleEventSubscriptionName1", + "name": "exampleEventSubscriptionName1", + "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_CreateOrUpdate.json new file mode 100644 index 000000000000..6f1e705dd76b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_CreateOrUpdate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "api-version": "2021-06-01-preview", + "systemTopicInfo": { + "properties": { + "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e", + "topicType": "microsoft.storage.storageaccounts" + }, + "location": "westus2", + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e", + "topicType": "microsoft.storage.storageaccounts", + "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2", + "name": "exampleSystemTopic2", + "type": "Microsoft.EventGrid/systemTopics" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e", + "topicType": "microsoft.storage.storageaccounts", + "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2", + "name": "exampleSystemTopic2", + "type": "Microsoft.EventGrid/systemTopics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_Delete.json new file mode 100644 index 000000000000..4dc3bc269b6a --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_Get.json new file mode 100644 index 000000000000..6f2ed852108a --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic2", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e", + "topicType": "microsoft.storage.storageaccounts", + "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2", + "name": "exampleSystemTopic2", + "type": "Microsoft.EventGrid/systemTopics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_ListByResourceGroup.json new file mode 100644 index 000000000000..6532104f0d16 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_ListByResourceGroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e", + "topicType": "microsoft.storage.storageaccounts", + "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/pubstgrunnerb71cd29e-86fad330-7bac-4238-8cab-9e46b75165aa", + "name": "pubstgrunnerb71cd29e-86fad330-7bac-4238-8cab-9e46b75165aa", + "type": "Microsoft.EventGrid/systemTopics" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_ListBySubscription.json new file mode 100644 index 000000000000..7bd800851db1 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_ListBySubscription.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e", + "topicType": "microsoft.storage.storageaccounts", + "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2", + "name": "exampleSystemTopic2", + "type": "Microsoft.EventGrid/systemTopics" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_Update.json new file mode 100644 index 000000000000..77be048df27e --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_Update.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "api-version": "2021-06-01-preview", + "systemTopicUpdateParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e", + "topicType": "microsoft.storage.storageaccounts", + "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2", + "name": "exampleSystemTopic2", + "type": "Microsoft.EventGrid/systemTopics" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e", + "topicType": "microsoft.storage.storageaccounts", + "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2", + "name": "exampleSystemTopic2", + "type": "Microsoft.EventGrid/systemTopics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/TopicTypes_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/TopicTypes_Get.json new file mode 100644 index 000000000000..8a5b5b95dc18 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/TopicTypes_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "topicTypeName": "Microsoft.Storage.StorageAccounts", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "Microsoft Storage service events.", + "displayName": "Storage Accounts", + "provider": "Microsoft.Storage", + "provisioningState": "Succeeded", + "resourceRegionType": "RegionalResource" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts", + "name": "Microsoft.Storage.StorageAccounts", + "type": "Microsoft.EventGrid/topicTypes" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/TopicTypes_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/TopicTypes_List.json new file mode 100644 index 000000000000..06bb41c66f85 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/TopicTypes_List.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "Microsoft EventHubs service events.", + "displayName": "EventHubs Namespace", + "provider": "Microsoft.Eventhub", + "provisioningState": "Succeeded", + "resourceRegionType": "RegionalResource" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Eventhub.Namespaces", + "name": "Microsoft.Eventhub.Namespaces", + "type": "Microsoft.EventGrid/topicTypes" + }, + { + "properties": { + "description": "Microsoft Storage service events.", + "displayName": "Storage Accounts", + "provider": "Microsoft.Storage", + "provisioningState": "Succeeded", + "resourceRegionType": "RegionalResource" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts", + "name": "Microsoft.Storage.StorageAccounts", + "type": "Microsoft.EventGrid/topicTypes" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/TopicTypes_ListEventTypes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/TopicTypes_ListEventTypes.json new file mode 100644 index 000000000000..98e62df5aa9e --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/TopicTypes_ListEventTypes.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "topicTypeName": "Microsoft.Storage.StorageAccounts", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "displayName": "Blob Created", + "description": "Raised when a blob is created.", + "schemaUrl": "tbd" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobCreated", + "name": "Microsoft.Storage.BlobCreated", + "type": "Microsoft.EventGrid/topicTypes/eventTypes" + }, + { + "properties": { + "description": "Raised when a blob is deleted.", + "schemaUrl": "tbd", + "displayName": "Blob Deleted" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobDeleted", + "name": "Microsoft.Storage.BlobDeleted", + "type": "Microsoft.EventGrid/topicTypes/eventTypes" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_CreateOrUpdate.json new file mode 100644 index 000000000000..5df2e89d6b4c --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_CreateOrUpdate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampletopic1", + "api-version": "2020-04-01-preview", + "topicInfo": { + "location": "westus2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "location": "westus2", + "name": "exampletopic1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_Delete.json new file mode 100644 index 000000000000..8ad5954e6073 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampletopic1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_Get.json new file mode 100644 index 000000000000..5a447d1cbf5a --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampletopic2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "endpoint": "https://exampletopic2.westcentralus-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "location": "westcentralus", + "name": "exampletopic2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListByResourceGroup.json new file mode 100644 index 000000000000..26462c27abda --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "location": "westus2", + "name": "exampletopic1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + }, + { + "properties": { + "endpoint": "https://exampletopic2.westcentralus-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "location": "westcentralus", + "name": "exampletopic2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListBySubscription.json new file mode 100644 index 000000000000..12aef1a81833 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListBySubscription.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "location": "westus2", + "name": "exampletopic1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + }, + { + "properties": { + "endpoint": "https://exampletopic2.westcentralus-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "location": "westcentralus", + "name": "exampletopic2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListEventTypes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListEventTypes.json new file mode 100644 index 000000000000..5e5180b28c06 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListEventTypes.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerNamespace": "Microsoft.Storage", + "resourceTypeName": "storageAccounts", + "resourceName": "ExampleStorageAccount", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "Raised when a blob is created.", + "schemaUrl": "tbd", + "displayName": "Blob Created" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobCreated", + "name": "Microsoft.Storage.BlobCreated", + "type": "Microsoft.EventGrid/topicTypes/eventTypes" + }, + { + "properties": { + "description": "Raised when a blob is deleted.", + "schemaUrl": "tbd", + "displayName": "Blob Deleted" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobDeleted", + "name": "Microsoft.Storage.BlobDeleted", + "type": "Microsoft.EventGrid/topicTypes/eventTypes" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListSharedAccessKeys.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListSharedAccessKeys.json new file mode 100644 index 000000000000..c4b3a879be3e --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListSharedAccessKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampletopic2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "key1": "", + "key2": "" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_RegenerateKey.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_RegenerateKey.json new file mode 100644 index 000000000000..528353fc908a --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_RegenerateKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampletopic2", + "api-version": "2020-04-01-preview", + "regenerateKeyRequest": { + "keyName": "key1" + } + }, + "responses": { + "200": { + "body": { + "key1": "", + "key2": "" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_Update.json new file mode 100644 index 000000000000..71edda7cf0a7 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_Update.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampletopic1", + "api-version": "2020-04-01-preview", + "topicUpdateParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + } + } + }, + "responses": { + "200": {}, + "201": { + "body": { + "properties": { + "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "location": "westus2", + "name": "exampletopic1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/readme.go.md b/specification/eventgrid/resource-manager/readme.go.md index c8e7ee3e949f..6cd7bee1be49 100644 --- a/specification/eventgrid/resource-manager/readme.go.md +++ b/specification/eventgrid/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/eventgrid/armeventgrid +module-name: sdk/resourcemanager/eventgrid/armeventgrid module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true @@ -21,6 +21,7 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-12 - tag: package-2021-06-preview - tag: package-2020-10-preview - tag: package-2020-06 @@ -35,6 +36,15 @@ batch: - tag: package-2017-09-preview - tag: package-2017-06-preview ``` +### Tag: package-2021-12 and go + +These settings apply only when `--tag=package-2021-12 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-12' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-12-01/$(namespace) +``` + ### Tag: package-2021-06-preview and go These settings apply only when `--tag=package-2021-06-preview --go` is specified on the command line. diff --git a/specification/eventgrid/resource-manager/readme.java.md b/specification/eventgrid/resource-manager/readme.java.md index 8cd94d1c8eeb..aa5e42612b55 100644 --- a/specification/eventgrid/resource-manager/readme.java.md +++ b/specification/eventgrid/resource-manager/readme.java.md @@ -16,6 +16,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-eventgrid ``` yaml $(java) && $(multiapi) batch: + - tag: package-2021-12 - tag: package-2021-06-preview - tag: package-2020-10-preview - tag: package-2020-06 @@ -28,6 +29,21 @@ batch: - tag: package-2018-05-preview - tag: package-2018-01 ``` + +### Tag: package-2021-12 and java + +These settings apply only when `--tag=package-2021-12 --java` is specified on the command line. + +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2021-12' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.eventgrid.v2021_12_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/eventgrid/mgmt-v2021_12_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2021-06-preview and java These settings apply only when `--tag=package-2021-06-preview --java` is specified on the command line. diff --git a/specification/eventgrid/resource-manager/readme.md b/specification/eventgrid/resource-manager/readme.md index 56fcd035ff46..a8725a8f3a3a 100644 --- a/specification/eventgrid/resource-manager/readme.md +++ b/specification/eventgrid/resource-manager/readme.md @@ -26,7 +26,25 @@ These are the global settings for the Azure EventGrid API. ``` yaml openapi-type: arm -tag: package-2021-06-preview +tag: package-2021-12 +``` + +### Tag: package-2021-12 + +These settings apply only when `--tag=package-2021-12` is specified on the command line. + +``` yaml $(tag) == 'package-2021-12' +input-file: +- Microsoft.EventGrid/stable/2021-12-01/EventGrid.json +``` + +## Suppression + +``` yaml +directive: + - suppress: OperationsApiResponseSchema + from: EventGrid.json + reason: Error is complaining about a section that already exists in all previous stable and preview swaggers. ``` ### Tag: package-2021-06-preview diff --git a/specification/eventgrid/resource-manager/readme.ruby.md b/specification/eventgrid/resource-manager/readme.ruby.md index 4c22c30b24bc..dc87bc3e5b36 100644 --- a/specification/eventgrid/resource-manager/readme.ruby.md +++ b/specification/eventgrid/resource-manager/readme.ruby.md @@ -12,6 +12,7 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-2021-12 - tag: package-2021-06-preview - tag: package-2020-10-preview - tag: package-2020-06 @@ -26,6 +27,16 @@ batch: - tag: package-2017-09-preview - tag: package-2017-06-preview ``` +### Tag: package-2021-12 and ruby +These settings apply only when `--tag=package-2021-12 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-12' && $(ruby) + +namespace: "Azure::EventGrid::Mgmt::V2021_12_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_grid/lib +``` + ### Tag: package-2021-06-preview and ruby These settings apply only when `--tag=package-2021-06-preview --ruby` is specified on the command line. Please also specify `--ruby-sdks-folder=`. diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json new file mode 100644 index 000000000000..6fba7a5f1d87 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json @@ -0,0 +1,891 @@ +{ + "swagger": "2.0", + "info": { + "title": "EventHubManagementClient", + "description": "Azure Event Hubs client", + "version": "2021-11-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.EventHub/namespaces/{namespaceName}/authorizationRules": { + "get": { + "tags": [ + "AuthorizationRules Namespaces" + ], + "operationId": "Namespaces_ListAuthorizationRules", + "x-ms-examples": { + "ListAuthorizationRules": { + "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleListAll.json" + } + }, + "description": "Gets a list of authorization rules for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace AuthorizationRule successfully returned.", + "schema": { + "$ref": "#/definitions/AuthorizationRuleListResult" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}": { + "put": { + "tags": [ + "AuthorizationRules Namespaces" + ], + "operationId": "Namespaces_CreateOrUpdateAuthorizationRule", + "x-ms-examples": { + "NameSpaceAuthorizationRuleCreate": { + "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleCreate.json" + } + }, + "description": "Creates or updates an AuthorizationRule for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AuthorizationRule" + }, + "description": "The shared access AuthorizationRule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace AuthorizationRule created", + "schema": { + "$ref": "#/definitions/AuthorizationRule" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "AuthorizationRules Namespaces" + ], + "operationId": "Namespaces_DeleteAuthorizationRule", + "x-ms-examples": { + "NameSpaceAuthorizationRuleDelete": { + "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleDelete.json" + } + }, + "description": "Deletes an AuthorizationRule for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace AuthorizationRule successfully deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "AuthorizationRules Namespaces" + ], + "operationId": "Namespaces_GetAuthorizationRule", + "x-ms-examples": { + "NameSpaceAuthorizationRuleGet": { + "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleGet.json" + } + }, + "description": "Gets an AuthorizationRule for a Namespace by rule name.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace AuthorizationRule returned successfully.", + "schema": { + "$ref": "#/definitions/AuthorizationRule" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/listKeys": { + "post": { + "tags": [ + "AuthorizationRules Namespaces" + ], + "operationId": "Namespaces_ListKeys", + "x-ms-examples": { + "NameSpaceAuthorizationRuleListKey": { + "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleListKey.json" + } + }, + "description": "Gets the primary and secondary connection strings for the Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Connection strings returned successfully.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/regenerateKeys": { + "post": { + "tags": [ + "AuthorizationRules Namespaces" + ], + "operationId": "Namespaces_RegenerateKeys", + "x-ms-examples": { + "NameSpaceAuthorizationRuleRegenerateKey": { + "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleRegenerateKey.json" + } + }, + "description": "Regenerates the primary or secondary connection strings for the specified Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateAccessKeyParameters" + }, + "description": "Parameters required to regenerate the connection string." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Connection strings regenerated successfully.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules": { + "get": { + "tags": [ + "AuthorizationRules DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_ListAuthorizationRules", + "x-ms-examples": { + "ListAuthorizationRules": { + "$ref": "./examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListAll.json" + } + }, + "description": "Gets a list of authorization rules for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace AuthorizationRule successfully returned.", + "schema": { + "$ref": "#/definitions/AuthorizationRuleListResult" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules/{authorizationRuleName}": { + "get": { + "tags": [ + "AuthorizationRules DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_GetAuthorizationRule", + "x-ms-examples": { + "NameSpaceAuthorizationRuleGet": { + "$ref": "./examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleGet.json" + } + }, + "description": "Gets an AuthorizationRule for a Namespace by rule name.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Alias Namespace AuthorizationRule returned successfully.", + "schema": { + "$ref": "#/definitions/AuthorizationRule" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules/{authorizationRuleName}/listKeys": { + "post": { + "tags": [ + "AuthorizationRules DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_ListKeys", + "x-ms-examples": { + "NameSpaceAuthorizationRuleListKey": { + "$ref": "./examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListKey.json" + } + }, + "description": "Gets the primary and secondary connection strings for the Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Connection strings returned successfully.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules": { + "get": { + "tags": [ + "AuthorizationRules EventHubs" + ], + "operationId": "EventHubs_ListAuthorizationRules", + "x-ms-examples": { + "EventHubAuthorizationRuleListAll": { + "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleListAll.json" + } + }, + "description": "Gets the authorization rules for an Event Hub.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Event Hub AuthorizationRule returned successfully.", + "schema": { + "$ref": "#/definitions/AuthorizationRuleListResult" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}": { + "put": { + "tags": [ + "AuthorizationRules EventHubs" + ], + "operationId": "EventHubs_CreateOrUpdateAuthorizationRule", + "x-ms-examples": { + "EventHubAuthorizationRuleCreate": { + "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleCreate.json" + } + }, + "description": "Creates or updates an AuthorizationRule for the specified Event Hub. Creation/update of the AuthorizationRule will take a few seconds to take effect.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AuthorizationRule" + }, + "description": "The shared access AuthorizationRule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Event Hub AuthorizationRule successfully created.", + "schema": { + "$ref": "#/definitions/AuthorizationRule" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "EventHubs" + ], + "operationId": "EventHubs_GetAuthorizationRule", + "x-ms-examples": { + "EventHubAuthorizationRuleGet": { + "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleGet.json" + } + }, + "description": "Gets an AuthorizationRule for an Event Hub by rule name.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Event Hub AuthorizationRule successfully returned.", + "schema": { + "$ref": "#/definitions/AuthorizationRule" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "EventHubs" + ], + "operationId": "EventHubs_DeleteAuthorizationRule", + "x-ms-examples": { + "EventHubAuthorizationRuleDelete": { + "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleDelete.json" + } + }, + "description": "Deletes an Event Hub AuthorizationRule.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Event Hub AuthorizationRule successfully deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/listKeys": { + "post": { + "tags": [ + "AuthorizationRules EventHubs" + ], + "operationId": "EventHubs_ListKeys", + "x-ms-examples": { + "EventHubAuthorizationRuleListKey": { + "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleListKey.json" + } + }, + "description": "Gets the ACS and SAS connection strings for the Event Hub.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Connection strings successfully returned.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/regenerateKeys": { + "post": { + "tags": [ + "AuthorizationRules EventHubs" + ], + "operationId": "EventHubs_RegenerateKeys", + "x-ms-examples": { + "EventHubAuthorizationRuleRegenerateKey": { + "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleRegenerateKey.json" + } + }, + "description": "Regenerates the ACS and SAS connection strings for the Event Hub.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateAccessKeyParameters" + }, + "description": "Parameters supplied to regenerate the AuthorizationRule Keys (PrimaryKey/SecondaryKey)." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Connection strings successfully regenerated.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "AuthorizationRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AuthorizationRule" + }, + "description": "Result of the List Authorization Rules operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains an incomplete list of Authorization Rules" + } + }, + "description": "The response from the List namespace operation." + }, + "AuthorizationRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "rights": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Manage", + "Send", + "Listen" + ], + "x-ms-enum": { + "name": "AccessRights", + "modelAsString": true + } + }, + "description": "The rights associated with the rule." + } + }, + "required": [ + "rights" + ], + "description": "Properties supplied to create or update AuthorizationRule" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Single item in a List or Get AuthorizationRule operation" + }, + "AccessKeys": { + "properties": { + "primaryConnectionString": { + "readOnly": true, + "type": "string", + "description": "Primary connection string of the created namespace AuthorizationRule." + }, + "secondaryConnectionString": { + "readOnly": true, + "type": "string", + "description": "Secondary connection string of the created namespace AuthorizationRule." + }, + "aliasPrimaryConnectionString": { + "readOnly": true, + "type": "string", + "description": "Primary connection string of the alias if GEO DR is enabled" + }, + "aliasSecondaryConnectionString": { + "readOnly": true, + "type": "string", + "description": "Secondary connection string of the alias if GEO DR is enabled" + }, + "primaryKey": { + "readOnly": true, + "type": "string", + "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token." + }, + "secondaryKey": { + "readOnly": true, + "type": "string", + "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token." + }, + "keyName": { + "readOnly": true, + "type": "string", + "description": "A string that describes the AuthorizationRule." + } + }, + "description": "Namespace/EventHub Connection String" + }, + "RegenerateAccessKeyParameters": { + "properties": { + "keyType": { + "type": "string", + "description": "The access key to regenerate.", + "enum": [ + "PrimaryKey", + "SecondaryKey" + ], + "x-ms-enum": { + "name": "KeyType", + "modelAsString": true + } + }, + "key": { + "type": "string", + "description": "Optional, if the key value provided, is set for KeyType or autogenerated Key value set for keyType" + } + }, + "required": [ + "keyType" + ], + "description": "Parameters supplied to the Regenerate Authorization Rule operation, specifies which key needs to be reset." + } + }, + "parameters": {} +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AvailableClusterRegions-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AvailableClusterRegions-preview.json new file mode 100644 index 000000000000..7b0d0864034d --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AvailableClusterRegions-preview.json @@ -0,0 +1,100 @@ +{ + "swagger": "2.0", + "info": { + "title": "EventHubManagementClient", + "description": "Azure Event Hubs client for managing Event Hubs Cluster, IPFilter Rules and VirtualNetworkRules resources.", + "version": "2021-11-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}/providers/Microsoft.EventHub/availableClusterRegions": { + "get": { + "tags": [ + "Event Hubs Clusters AvailableClusterRegions" + ], + "operationId": "Clusters_ListAvailableClusterRegion", + "x-ms-examples": { + "ListAvailableClusters": { + "$ref": "./examples/Clusters/ListAvailableClustersGet.json" + } + }, + "description": "List the quantity of available pre-provisioned Event Hubs Clusters, indexed by Azure region.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Available clusters listed successfully.", + "schema": { + "$ref": "#/definitions/AvailableClustersList" + } + }, + "default": { + "description": "Error response describing why available clusters could not be successfully listed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "AvailableClustersList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AvailableCluster" + }, + "description": "The count of readily available and pre-provisioned Event Hubs Clusters per region." + } + }, + "description": "The response of the List Available Clusters operation." + }, + "AvailableCluster": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Location fo the Available Cluster" + } + }, + "description": "Pre-provisioned and readily available Event Hubs Cluster count per region." + } + }, + "parameters": {} +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/CheckNameAvailability.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/CheckNameAvailability.json new file mode 100644 index 000000000000..63bfcb8192c7 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/CheckNameAvailability.json @@ -0,0 +1,132 @@ +{ + "swagger": "2.0", + "info": { + "title": "EventHubManagementClient", + "description": "Azure Event Hubs client", + "version": "2021-11-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}/providers/Microsoft.EventHub/checkNameAvailability": { + "post": { + "tags": [ + "CheckNameAvailability Namespaces" + ], + "operationId": "Namespaces_CheckNameAvailability", + "x-ms-examples": { + "NamespacesCheckNameAvailability": { + "$ref": "./examples/NameSpaces/EHNameSpaceCheckNameAvailability.json" + } + }, + "description": "Check the give Namespace name availability.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameter" + }, + "description": "Parameters to check availability of the given Namespace name" + } + ], + "responses": { + "200": { + "description": "check availability returned successfully.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "UnavailableReason": { + "type": "string", + "enum": [ + "None", + "InvalidName", + "SubscriptionIsDisabled", + "NameInUse", + "NameInLockdown", + "TooManyNamespaceInCurrentSubscription" + ], + "x-ms-enum": { + "name": "UnavailableReason", + "modelAsString": false + }, + "description": "Specifies the reason for the unavailability of the service." + }, + "CheckNameAvailabilityParameter": { + "properties": { + "name": { + "type": "string", + "description": "Name to check the namespace name availability" + } + }, + "required": [ + "name" + ], + "description": "Parameter supplied to check Namespace name availability operation " + }, + "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." + }, + "reason": { + "$ref": "#/definitions/UnavailableReason", + "description": "The reason for unavailability of a Namespace." + } + }, + "description": "The Result of the CheckNameAvailability operation" + } + }, + "parameters": {} +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/Clusters-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/Clusters-preview.json new file mode 100644 index 000000000000..7541228cb9fa --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/Clusters-preview.json @@ -0,0 +1,484 @@ +{ + "swagger": "2.0", + "info": { + "title": "EventHubManagementClient", + "description": "Azure Event Hubs client for managing Event Hubs Cluster, IPFilter Rules and VirtualNetworkRules resources.", + "version": "2021-11-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}/providers/Microsoft.EventHub/clusters": { + "get": { + "tags": [ + "EventHubs Clusters" + ], + "operationId": "Clusters_ListBySubscription", + "x-ms-examples": { + "ClustersListBySubscription": { + "$ref": "./examples/Clusters/ClustersListBySubscription.json" + } + }, + "description": "Lists the available Event Hubs Clusters within an ARM resource group", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Clusters returned successfully.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Event Hub Cluster error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters": { + "get": { + "tags": [ + "EventHubs Clusters" + ], + "operationId": "Clusters_ListByResourceGroup", + "x-ms-examples": { + "ClustersListByResourceGroup": { + "$ref": "./examples/Clusters/ClustersListByResourceGroup.json" + } + }, + "description": "Lists the available Event Hubs Clusters within an ARM resource group", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Clusters returned successfully.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Event Hub Cluster error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}": { + "get": { + "tags": [ + "EventHubs Clusters" + ], + "operationId": "Clusters_Get", + "x-ms-examples": { + "ClusterGet": { + "$ref": "./examples/Clusters/ClusterGet.json" + } + }, + "description": "Gets the resource description of the specified Event Hubs Cluster.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Event Hubs Cluster resource description returned successfully.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Event Hubs Cluster error response describing why the cluster description get operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "EventHubs Clusters" + ], + "operationId": "Clusters_CreateOrUpdate", + "x-ms-examples": { + "ClusterPut": { + "$ref": "./examples/Clusters/ClusterPut.json" + } + }, + "description": "Creates or updates an instance of an Event Hubs Cluster.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster", + "required": [ + "location" + ] + }, + "description": "Parameters for creating a eventhub cluster resource." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Event Hubs Cluster successfully created or updated.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "Event Hubs Cluster create or update request accepted.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "202": { + "description": "Event Hubs Cluster create or update request accepted." + }, + "default": { + "description": "Event Hubs error response detailing why the Event Hubs Cluster create or update operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "EventHubs Clusters" + ], + "operationId": "Clusters_Update", + "x-ms-examples": { + "ClusterPatch": { + "$ref": "./examples/Clusters/ClusterPatch.json" + } + }, + "description": "Modifies mutable properties on the Event Hubs Cluster. This operation is idempotent.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster" + }, + "description": "The properties of the Event Hubs Cluster which should be updated." + } + ], + "responses": { + "200": { + "description": "Event Hubs Cluster successfully created.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "Event Hubs Cluster update request accepted.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "202": { + "description": "Event Hubs Cluster update request accepted." + }, + "default": { + "description": "Event Hubs error response detailing why the Event Hubs Cluster update operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "EventHubs Clusters" + ], + "operationId": "Clusters_Delete", + "x-ms-examples": { + "ClusterDelete": { + "$ref": "./examples/Clusters/ClusterDelete.json" + } + }, + "description": "Deletes an existing Event Hubs Cluster. This operation is idempotent.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Event Hubs Cluster successfully deleted." + }, + "202": { + "description": "Event Hubs Cluster delete request accepted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Event Hubs error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}/namespaces": { + "get": { + "tags": [ + "EventHubs Clusters Namespace" + ], + "operationId": "Clusters_ListNamespaces", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "description": "List all Event Hubs Namespace IDs in an Event Hubs Dedicated Cluster.", + "x-ms-examples": { + "ListNamespacesInCluster": { + "$ref": "./examples/Clusters/ListNamespacesInClusterGet.json" + } + }, + "responses": { + "200": { + "description": "List of Namespace IDs in Cluster successfully delivered.", + "schema": { + "$ref": "#/definitions/EHNamespaceIdListResult" + } + }, + "default": { + "description": "Event Hubs Cluster error response detailing why this operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "Cluster": { + "type": "object", + "properties": { + "sku": { + "$ref": "#/definitions/ClusterSku", + "description": "Properties of the cluster SKU." + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + }, + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "properties": { + "createdAt": { + "readOnly": true, + "type": "string", + "description": "The UTC time when the Event Hubs Cluster was created." + }, + "updatedAt": { + "readOnly": true, + "type": "string", + "description": "The UTC time when the Event Hubs Cluster was last updated." + }, + "metricId": { + "readOnly": true, + "type": "string", + "description": "The metric ID of the cluster resource. Provided by the service and not modifiable by the user." + }, + "status": { + "readOnly": true, + "type": "string", + "description": "Status of the Cluster resource" + } + }, + "description": "Event Hubs Cluster properties supplied in responses in List or Get operations." + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource" + } + ], + "description": "Single Event Hubs Cluster resource in List or Get operations." + }, + "ClusterSku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of this SKU.", + "enum": [ + "Dedicated" + ], + "x-ms-enum": { + "name": "ClusterSkuName", + "modelAsString": true + } + }, + "capacity": { + "format": "int32", + "minimum": 1, + "type": "integer", + "description": "The quantity of Event Hubs Cluster Capacity Units contained in this cluster." + } + }, + "required": [ + "name" + ], + "description": "SKU parameters particular to a cluster instance." + }, + "ClusterListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Cluster" + }, + "description": "The Event Hubs Clusters present in the List Event Hubs operation results." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Empty unless the value parameter contains an incomplete list of Event Hubs Clusters." + } + }, + "description": "The response of the List Event Hubs Clusters operation." + }, + "EHNamespaceIdListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EHNamespaceIdContainer" + }, + "description": "Result of the List Namespace IDs operation" + } + }, + "description": "The response of the List Namespace IDs operation" + }, + "EHNamespaceIdContainer": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "id parameter" + } + }, + "description": "The full ARM ID of an Event Hubs Namespace" + } + }, + "parameters": {} +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/SchemaRegistry.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/SchemaRegistry.json new file mode 100644 index 000000000000..182f4f42f92d --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/SchemaRegistry.json @@ -0,0 +1,321 @@ +{ + "swagger": "2.0", + "info": { + "title": "EventHubManagementClient", + "description": "Azure Event Hubs client", + "version": "2021-11-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.EventHub/namespaces/{namespaceName}/schemagroups": { + "get": { + "tags": [ + "SchemaRegistry" + ], + "operationId": "SchemaRegistry_ListByNamespace", + "x-ms-examples": { + "SchemaRegistryListAll": { + "$ref": "./examples/SchemaRegistry/SchemaRegistryListByNamespace.json" + } + }, + "description": "Gets all the Schema Groups in a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of SchemaGroups.", + "schema": { + "$ref": "#/definitions/SchemaGroupListResult" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/schemagroups/{schemaGroupName}": { + "put": { + "tags": [ + "SchemaRegistry" + ], + "operationId": "SchemaRegistry_CreateOrUpdate", + "x-ms-examples": { + "SchemaRegistryCreate": { + "$ref": "./examples/SchemaRegistry/SchemaRegistryCreate.json" + } + }, + "description": "", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v2/definitions.json#/parameters/SchemaGroupNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SchemaGroup" + }, + "description": "Parameters supplied to create an Event Hub resource." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "SchemaGroup successfully created.", + "schema": { + "$ref": "#/definitions/SchemaGroup" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "SchemaRegistry" + ], + "operationId": "SchemaRegistry_Delete", + "x-ms-examples": { + "SchemaRegistryDelete": { + "$ref": "./examples/SchemaRegistry/SchemaRegistryDelete.json" + } + }, + "description": "", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v2/definitions.json#/parameters/SchemaGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "SchemaGroup successfully deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "SchemaRegistry" + ], + "operationId": "SchemaRegistry_Get", + "x-ms-examples": { + "SchemaRegistryGet": { + "$ref": "./examples/SchemaRegistry/SchemaRegistryGet.json" + } + }, + "description": "", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v2/definitions.json#/parameters/SchemaGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the Schema Group description.", + "schema": { + "$ref": "#/definitions/SchemaGroup" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "SchemaGroup": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "properties": { + "updatedAtUtc": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "Exact time the Schema Group was updated" + }, + "createdAtUtc": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "Exact time the Schema Group was created." + }, + "eTag": { + "readOnly": true, + "format": "uuid", + "type": "string", + "description": "The ETag value." + }, + "groupProperties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "dictionary object for SchemaGroup group properties" + }, + "schemaCompatibility": { + "type": "string", + "description": "", + "enum": [ + "None", + "Backward", + "Forward" + ], + "x-ms-enum": { + "name": "SchemaCompatibility", + "modelAsString": true + } + }, + "schemaType": { + "type": "string", + "description": "", + "enum": [ + "Unknown", + "Avro" + ], + "x-ms-enum": { + "name": "SchemaType", + "modelAsString": true + } + } + }, + "description": "" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Single item in List or Get Schema Group operation" + }, + "SchemaGroupListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SchemaGroup" + }, + "description": "Result of the List SchemaGroups operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of Schema Groups." + } + }, + "description": "The result of the List SchemaGroup operation." + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/consumergroups.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/consumergroups.json new file mode 100644 index 000000000000..167530b6d168 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/consumergroups.json @@ -0,0 +1,297 @@ +{ + "swagger": "2.0", + "info": { + "title": "EventHubManagementClient", + "description": "Azure Event Hubs client", + "version": "2021-11-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.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}": { + "put": { + "tags": [ + "ConsumerGroups" + ], + "operationId": "ConsumerGroups_CreateOrUpdate", + "x-ms-examples": { + "ConsumerGroupCreate": { + "$ref": "./examples/ConsumerGroup/EHConsumerGroupCreate.json" + } + }, + "description": "Creates or updates an Event Hubs consumer group as a nested resource within a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConsumerGroup" + }, + "description": "Parameters supplied to create or update a consumer group resource." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Consumer group successfully created.", + "schema": { + "$ref": "#/definitions/ConsumerGroup" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ConsumerGroups" + ], + "operationId": "ConsumerGroups_Delete", + "x-ms-examples": { + "ConsumerGroupDelete": { + "$ref": "./examples/ConsumerGroup/EHConsumerGroupDelete.json" + } + }, + "description": "Deletes a consumer group from the specified Event Hub and resource group.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Consumer group deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "ConsumerGroups" + ], + "operationId": "ConsumerGroups_Get", + "x-ms-examples": { + "ConsumerGroupGet": { + "$ref": "./examples/ConsumerGroup/EHConsumerGroupGet.json" + } + }, + "description": "Gets a description for the specified consumer group.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the consumer group description.", + "schema": { + "$ref": "#/definitions/ConsumerGroup" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups": { + "get": { + "tags": [ + "ConsumerGroups" + ], + "operationId": "ConsumerGroups_ListByEventHub", + "x-ms-examples": { + "ConsumerGroupsListAll": { + "$ref": "./examples/ConsumerGroup/EHConsumerGroupListByEventHub.json" + } + }, + "description": "Gets all the consumer groups in a Namespace. An empty feed is returned if no consumer group exists in the Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of consumer groups.", + "schema": { + "$ref": "#/definitions/ConsumerGroupListResult" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ConsumerGroup": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "createdAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "Exact time the message was created." + }, + "updatedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The exact time the message was updated." + }, + "userMetadata": { + "type": "string", + "description": "User Metadata is a placeholder to store user-defined string data with maximum length 1024. 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": "Single item in List or Get Consumer group operation" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Single item in List or Get Consumer group operation" + }, + "ConsumerGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ConsumerGroup" + }, + "description": "Result of the List Consumer Group operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of Consumer Group" + } + }, + "description": "The result to the List Consumer Group operation." + } + }, + "parameters": {} +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/disasterRecoveryConfigs.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/disasterRecoveryConfigs.json new file mode 100644 index 000000000000..89f242b88d2b --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/disasterRecoveryConfigs.json @@ -0,0 +1,490 @@ +{ + "swagger": "2.0", + "info": { + "title": "EventHubManagementClient", + "description": "Azure Event Hubs client", + "version": "2021-11-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.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/checkNameAvailability": { + "post": { + "tags": [ + "CheckNameAvailability DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_CheckNameAvailability", + "x-ms-examples": { + "NamespacesCheckNameAvailability": { + "$ref": "./examples/disasterRecoveryConfigs/EHAliasCheckNameAvailability.json" + } + }, + "description": "Check the give Namespace name availability.", + "parameters": [ + { + "$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/NamespaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameter" + }, + "description": "Parameters to check availability of the given Alias name" + } + ], + "responses": { + "200": { + "description": "check availability returned successfully.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs": { + "get": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_List", + "x-ms-examples": { + "EHAliasList": { + "$ref": "./examples/disasterRecoveryConfigs/EHAliasList.json" + } + }, + "description": "Gets all Alias(Disaster Recovery configurations)", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of Alias(Disaster Recovery configurations) for eventhub namespace", + "schema": { + "$ref": "#/definitions/ArmDisasterRecoveryListResult" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}": { + "put": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_CreateOrUpdate", + "x-ms-examples": { + "EHAliasCreate": { + "$ref": "./examples/disasterRecoveryConfigs/EHAliasCreate.json" + } + }, + "description": "Creates or updates a new Alias(Disaster Recovery configuration)", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ArmDisasterRecovery" + }, + "description": "Parameters required to create an Alias(Disaster Recovery configuration)" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Alias(Disaster Recovery configuration) successfully created", + "schema": { + "$ref": "#/definitions/ArmDisasterRecovery" + } + }, + "201": { + "description": "Alias(Disaster Recovery configuration) creation request received" + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_Delete", + "x-ms-examples": { + "EHAliasDelete": { + "$ref": "./examples/disasterRecoveryConfigs/EHAliasDelete.json" + } + }, + "description": "Deletes an Alias(Disaster Recovery configuration)", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete Alias(Disaster Recovery configuration) request accepted" + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_Get", + "x-ms-examples": { + "EHAliasGet": { + "$ref": "./examples/disasterRecoveryConfigs/EHAliasGet.json" + } + }, + "description": "Retrieves Alias(Disaster Recovery configuration) for primary or secondary namespace", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the Alias(Disaster Recovery configurations)", + "schema": { + "$ref": "#/definitions/ArmDisasterRecovery" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing": { + "post": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_BreakPairing", + "x-ms-examples": { + "EHAliasBreakPairing": { + "$ref": "./examples/disasterRecoveryConfigs/EHAliasBreakPairing.json" + } + }, + "description": "This operation disables the Disaster Recovery and stops replicating changes from primary to secondary namespaces", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Break-Pairing operation is successful." + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover": { + "post": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_FailOver", + "x-ms-examples": { + "EHAliasFailOver": { + "$ref": "./examples/disasterRecoveryConfigs/EHAliasFailOver.json" + } + }, + "description": "Invokes GEO DR failover and reconfigure the alias to point to the secondary namespace", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Failover operation is successful." + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "UnavailableReason": { + "type": "string", + "enum": [ + "None", + "InvalidName", + "SubscriptionIsDisabled", + "NameInUse", + "NameInLockdown", + "TooManyNamespaceInCurrentSubscription" + ], + "x-ms-enum": { + "name": "UnavailableReason", + "modelAsString": false + }, + "description": "Specifies the reason for the unavailability of the service." + }, + "CheckNameAvailabilityParameter": { + "properties": { + "name": { + "type": "string", + "description": "Name to check the namespace name availability" + } + }, + "required": [ + "name" + ], + "description": "Parameter supplied to check Namespace name availability operation " + }, + "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." + }, + "reason": { + "$ref": "#/definitions/UnavailableReason", + "description": "The reason for unavailability of a Namespace." + } + }, + "description": "The Result of the CheckNameAvailability operation" + }, + "ArmDisasterRecovery": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the Alias(Disaster Recovery configuration) - possible values 'Accepted' or 'Succeeded' or 'Failed'", + "enum": [ + "Accepted", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningStateDR", + "modelAsString": false + } + }, + "partnerNamespace": { + "type": "string", + "description": "ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairing" + }, + "alternateName": { + "type": "string", + "description": "Alternate name specified when alias and namespace names are same." + }, + "role": { + "readOnly": true, + "type": "string", + "description": "role of namespace in GEO DR - possible values 'Primary' or 'PrimaryNotReplicating' or 'Secondary'", + "enum": [ + "Primary", + "PrimaryNotReplicating", + "Secondary" + ], + "x-ms-enum": { + "name": "RoleDisasterRecovery", + "modelAsString": false + } + }, + "pendingReplicationOperationsCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Number of entities pending to be replicated." + } + }, + "description": "Properties required to the Create Or Update Alias(Disaster Recovery configurations)" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Single item in List or Get Alias(Disaster Recovery configuration) operation" + }, + "ArmDisasterRecoveryListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ArmDisasterRecovery" + }, + "description": "List of Alias(Disaster Recovery configurations)" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next set of results. Not empty if Value contains incomplete list of Alias(Disaster Recovery configuration)" + } + }, + "description": "The result of the List Alias(Disaster Recovery configuration) operation." + } + }, + "parameters": {} +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/eventhubs.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/eventhubs.json new file mode 100644 index 000000000000..e0c9f8fa6b3d --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/eventhubs.json @@ -0,0 +1,403 @@ +{ + "swagger": "2.0", + "info": { + "title": "EventHubManagementClient", + "description": "Azure Event Hubs client", + "version": "2021-11-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.EventHub/namespaces/{namespaceName}/eventhubs": { + "get": { + "tags": [ + "EventHubs" + ], + "operationId": "EventHubs_ListByNamespace", + "x-ms-examples": { + "EventHubsListAll": { + "$ref": "./examples/EventHubs/EHEventHubListByNameSpace.json" + } + }, + "description": "Gets all the Event Hubs in a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of Event Hubs.", + "schema": { + "$ref": "#/definitions/EventHubListResult" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}": { + "put": { + "tags": [ + "EventHubs" + ], + "operationId": "EventHubs_CreateOrUpdate", + "x-ms-examples": { + "EventHubCreate": { + "$ref": "./examples/EventHubs/EHEventHubCreate.json" + } + }, + "description": "Creates or updates a new Event Hub as a nested resource within a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Eventhub" + }, + "description": "Parameters supplied to create an Event Hub resource." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Event Hub successfully created.", + "schema": { + "$ref": "#/definitions/Eventhub" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "EventHubs" + ], + "operationId": "EventHubs_Delete", + "x-ms-examples": { + "EventHubDelete": { + "$ref": "./examples/EventHubs/EHEventHubDelete.json" + } + }, + "description": "Deletes an Event Hub from the specified Namespace and resource group.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Event Hub successfully deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "EventHubs" + ], + "operationId": "EventHubs_Get", + "x-ms-examples": { + "EventHubGet": { + "$ref": "./examples/EventHubs/EHEventHubGet.json" + } + }, + "description": "Gets an Event Hubs description for the specified Event Hub.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the Event Hub description.", + "schema": { + "$ref": "#/definitions/Eventhub" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "CaptureDescription": { + "properties": { + "enabled": { + "type": "boolean", + "description": "A value that indicates whether capture description is enabled. " + }, + "encoding": { + "type": "string", + "description": "Enumerates the possible values for the encoding format of capture description. Note: 'AvroDeflate' will be deprecated in New API Version", + "enum": [ + "Avro", + "AvroDeflate" + ], + "x-ms-enum": { + "name": "EncodingCaptureDescription", + "modelAsString": false + } + }, + "intervalInSeconds": { + "format": "int32", + "type": "integer", + "description": "The time window allows you to set the frequency with which the capture to Azure Blobs will happen, value should between 60 to 900 seconds" + }, + "sizeLimitInBytes": { + "format": "int32", + "type": "integer", + "description": "The size window defines the amount of data built up in your Event Hub before an capture operation, value should be between 10485760 to 524288000 bytes" + }, + "destination": { + "$ref": "#/definitions/Destination", + "description": "Properties of Destination where capture will be stored. (Storage Account, Blob Names)" + }, + "skipEmptyArchives": { + "type": "boolean", + "description": "A value that indicates whether to Skip Empty Archives" + } + }, + "description": "Properties to configure capture description for eventhub" + }, + "Eventhub": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "partitionIds": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "Current number of shards on the Event Hub." + }, + "createdAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "Exact time the Event Hub was created." + }, + "updatedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The exact time the message was updated." + }, + "messageRetentionInDays": { + "format": "int64", + "type": "integer", + "minimum": 1, + "description": "Number of days to retain the events for this Event Hub, value should be 1 to 7 days" + }, + "partitionCount": { + "format": "int64", + "type": "integer", + "minimum": 1, + "description": "Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions." + }, + "status": { + "type": "string", + "description": "Enumerates the possible values for the status of the Event Hub.", + "enum": [ + "Active", + "Disabled", + "Restoring", + "SendDisabled", + "ReceiveDisabled", + "Creating", + "Deleting", + "Renaming", + "Unknown" + ], + "x-ms-enum": { + "name": "EntityStatus", + "modelAsString": false + } + }, + "captureDescription": { + "$ref": "#/definitions/CaptureDescription", + "description": "Properties of capture description" + } + }, + "description": "Properties supplied to the Create Or Update Event Hub operation." + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Single item in List or Get Event Hub operation" + }, + "EventHubListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Eventhub" + }, + "description": "Result of the List EventHubs operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of EventHubs." + } + }, + "description": "The result of the List EventHubs operation." + }, + "Destination": { + "properties": { + "name": { + "type": "string", + "description": "Name for capture destination" + }, + "properties": { + "x-ms-client-flatten": true, + "properties": { + "storageAccountResourceId": { + "type": "string", + "description": "Resource id of the storage account to be used to create the blobs" + }, + "blobContainer": { + "type": "string", + "description": "Blob container Name" + }, + "archiveNameFormat": { + "type": "string", + "description": "Blob naming convention for archive, e.g. {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters (Namespace,EventHub .. etc) are mandatory irrespective of order" + }, + "dataLakeSubscriptionId": { + "type": "string", + "format": "uuid", + "description": "Subscription Id of Azure Data Lake Store" + }, + "dataLakeAccountName": { + "type": "string", + "description": "The Azure Data Lake Store name for the captured events" + }, + "dataLakeFolderPath": { + "type": "string", + "description": "The destination folder path for the captured events" + } + }, + "description": "Properties describing the storage account, blob container and archive name format for capture destination" + } + }, + "description": "Capture storage details for capture description" + } + }, + "parameters": {} +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterDelete.json new file mode 100644 index 000000000000..3b27bf400ac6 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "clusterName": "testCluster", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterGet.json new file mode 100644 index 000000000000..87da7f356dbb --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "clusterName": "testCluster", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/myResourceGroup/providers/Microsoft.EventHub/clusters/testCluster", + "name": "testCluster", + "type": "Microsoft.EventHub/Clusters", + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "sku": { + "name": "Dedicated", + "capacity": 4 + }, + "properties": { + "createdAt": "2017-05-24T23:23:27.877Z", + "updatedAt": "2017-05-24T23:23:27.877Z", + "metricId": "SN6-008" + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterPatch.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterPatch.json new file mode 100644 index 000000000000..4c73f2934ac8 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterPatch.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "clusterName": "testCluster", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "location": "South Central US", + "tags": { + "tag3": "value3", + "tag4": "value4" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/myResourceGroup/providers/Microsoft.EventHub/clusters/testCluster", + "name": "testCluster", + "type": "Microsoft.EventHub/Clusters", + "location": "South Central US", + "tags": { + "tag3": "value3", + "tag4": "value4" + }, + "sku": { + "name": "Dedicated", + "capacity": 4 + }, + "properties": { + "createdAt": "2017-06-01T21:37:04.46Z", + "updatedAt": "2017-06-01T21:37:53.413Z", + "metricId": "SN6-008" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/myResourceGroup/providers/Microsoft.EventHub/clusters/testCluster", + "name": "testCluster", + "type": "Microsoft.EventHub/Clusters", + "location": "South Central US", + "tags": { + "tag3": "value3", + "tag4": "value4" + }, + "sku": { + "name": "Dedicated", + "capacity": 4 + }, + "properties": { + "createdAt": "2017-06-01T21:37:04.46Z", + "updatedAt": "2017-06-01T21:37:53.413Z", + "metricId": "SN6-008" + } + } + }, + "202": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterPut.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterPut.json new file mode 100644 index 000000000000..93bfadab22d7 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterPut.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "clusterName": "testCluster", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "sku": { + "name": "Dedicated", + "capacity": 1 + }, + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/myResourceGroup/providers/Microsoft.EventHub/clusters/testCluster", + "name": "testCluster", + "type": "Microsoft.EventHub/Clusters", + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "sku": { + "name": "Dedicated", + "capacity": 1 + }, + "properties": { + "createdAt": "2017-05-24T23:23:27.877Z", + "updatedAt": "2017-05-24T23:23:27.877Z", + "metricId": "SN6-008" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/myResourceGroup/providers/Microsoft.EventHub/clusters/testCluster", + "name": "testCluster", + "type": "Microsoft.EventHub/Clusters", + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "sku": { + "name": "Dedicated", + "capacity": 1 + }, + "properties": { + "createdAt": "2017-05-24T23:23:27.877Z", + "updatedAt": "2017-05-24T23:23:27.877Z", + "metricId": "SN6-008" + } + } + }, + "202": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterQuotaConfigurationGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterQuotaConfigurationGet.json new file mode 100644 index 000000000000..0cad764110cc --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterQuotaConfigurationGet.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "clusterName": "testCluster", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "settings": { + "namespaces-per-cluster-quota": "200", + "eventhub-per-namespace-quota": "20" + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterQuotaConfigurationPatch.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterQuotaConfigurationPatch.json new file mode 100644 index 000000000000..1df604125622 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterQuotaConfigurationPatch.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "clusterName": "testCluster", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "settings": { + "namespaces-per-cluster-quota": "200", + "eventhub-per-namespace-quota": "20" + } + } + }, + "responses": { + "200": { + "body": { + "settings": { + "namespaces-per-cluster-quota": "200", + "eventhub-per-namespace-quota": "20" + } + } + }, + "201": { + "body": { + "settings": { + "namespaces-per-cluster-quota": "200", + "eventhub-per-namespace-quota": "20" + } + } + }, + "202": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClustersListByResourceGroup.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClustersListByResourceGroup.json new file mode 100644 index 000000000000..29ccbd2db1aa --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClustersListByResourceGroup.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-EventHub-SouthCentralUS/providers/Microsoft.EventHub/clusters/testCluster", + "name": "testCluster", + "type": "Microsoft.EventHub/Clusters", + "location": "South Central US", + "tags": {}, + "sku": { + "name": "Dedicated", + "capacity": 4 + }, + "properties": { + "createdAt": "2016-09-13T23:17:25.24Z", + "updatedAt": "2016-09-13T23:17:28.223Z", + "metricId": "SN6-008" + } + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClustersListBySubscription.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClustersListBySubscription.json new file mode 100644 index 000000000000..c01c628df5ab --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClustersListBySubscription.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-EventHub-SouthCentralUS/providers/Microsoft.EventHub/clusters/testCluster", + "name": "testCluster", + "type": "Microsoft.EventHub/Clusters", + "location": "South Central US", + "tags": {}, + "sku": { + "name": "Dedicated", + "capacity": 4 + }, + "properties": { + "createdAt": "2016-09-13T23:17:25.24Z", + "updatedAt": "2016-09-13T23:17:28.223Z", + "metricId": "SN6-008" + } + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ListAvailableClustersGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ListAvailableClustersGet.json new file mode 100644 index 000000000000..4eb7c590f75e --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ListAvailableClustersGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "westus" + }, + { + "location": "eastus" + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ListNamespacesInClusterGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ListNamespacesInClusterGet.json new file mode 100644 index 000000000000..e542aa684201 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ListNamespacesInClusterGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "clusterName": "testCluster", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-EventHub-SouthCentralUS/providers/Microsoft.EventHub/namespaces/rrama-int7-ns1" + }, + { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-EventHub-SouthCentralUS/providers/Microsoft.EventHub/namespaces/rrama-ehns2-int7" + }, + { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.EventHub/namespaces/db3-rrama-foo1" + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupCreate.json new file mode 100644 index 000000000000..b5dca5b6fc7f --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupCreate.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-Namespace-2661", + "eventHubName": "sdk-EventHub-6681", + "consumerGroupName": "sdk-ConsumerGroup-5563", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "properties": { + "userMetadata": "New consumergroup" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2661/eventhubs/sdk-EventHub-6681/consumergroups/sdk-ConsumerGroup-5563", + "name": "sdk-ConsumerGroup-5563", + "type": "Microsoft.EventHub/Namespaces/EventHubs/ConsumerGroups", + "properties": { + "createdAt": "2017-05-25T03:43:09.4536234Z", + "updatedAt": "2017-05-25T03:43:09.4536234Z" + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupDelete.json new file mode 100644 index 000000000000..4acf3e8ee29e --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-Namespace-2661", + "eventHubName": "sdk-EventHub-6681", + "consumerGroupName": "sdk-ConsumerGroup-5563", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupGet.json new file mode 100644 index 000000000000..a8d8c3863486 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-Namespace-2661", + "eventHubName": "sdk-EventHub-6681", + "consumerGroupName": "sdk-ConsumerGroup-5563", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2661/eventhubs/sdk-EventHub-6681/consumergroups/sdk-ConsumerGroup-5563", + "name": "sdk-ConsumerGroup-5563", + "type": "Microsoft.EventHub/Namespaces/EventHubs/ConsumerGroups", + "properties": { + "createdAt": "2017-05-25T03:43:08.7152556Z", + "updatedAt": "2017-05-25T03:43:08.7152556Z" + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupListByEventHub.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupListByEventHub.json new file mode 100644 index 000000000000..51bbb9865253 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupListByEventHub.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-Namespace-2661", + "eventHubName": "sdk-EventHub-6681", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2661/eventhubs/sdk-EventHub-6681/consumergroups/$Default", + "name": "$Default", + "type": "Microsoft.EventHub/Namespaces/EventHubs/ConsumerGroups", + "properties": { + "createdAt": "2017-05-25T03:42:52.287Z", + "updatedAt": "2017-05-25T03:42:52.287Z" + } + }, + { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2661/eventhubs/sdk-EventHub-6681/consumergroups/sdk-consumergroup-5563", + "name": "sdk-consumergroup-5563", + "type": "Microsoft.EventHub/Namespaces/EventHubs/ConsumerGroups", + "properties": { + "createdAt": "2017-05-25T03:43:09.314Z", + "updatedAt": "2017-05-25T03:43:09.314Z" + } + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EHOperations_List.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EHOperations_List.json new file mode 100644 index 000000000000..3c7bb437d797 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EHOperations_List.json @@ -0,0 +1,213 @@ +{ + "parameters": { + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.EventHub/checkNameAvailability/action", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "Non Resource Operation", + "operation": "Get namespace availability." + } + }, + { + "name": "Microsoft.EventHub/register/action", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "EventHub Resource Provider", + "operation": "Registers the EventHub Resource Provider" + } + }, + { + "name": "Microsoft.EventHub/namespaces/write", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "Namespace", + "operation": "Create Or Update Namespace " + } + }, + { + "name": "Microsoft.EventHub/namespaces/read", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "Namespace", + "operation": "Get Namespace Resource" + } + }, + { + "name": "Microsoft.EventHub/namespaces/Delete", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "Namespace", + "operation": "Delete Namespace" + } + }, + { + "name": "Microsoft.EventHub/namespaces/authorizationRules/read", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "AuthorizationRules", + "operation": "Get Namespace Authorization Rules" + } + }, + { + "name": "Microsoft.EventHub/namespaces/authorizationRules/write", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "AuthorizationRules", + "operation": "Create or Update Namespace Authorization Rules" + } + }, + { + "name": "Microsoft.EventHub/namespaces/authorizationRules/delete", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "AuthorizationRules", + "operation": "Delete Namespace Authorization Rule" + } + }, + { + "name": "Microsoft.EventHub/namespaces/authorizationRules/listkeys/action", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "AuthorizationRules", + "operation": "Get Namespace Listkeys" + } + }, + { + "name": "Microsoft.EventHub/namespaces/authorizationRules/regenerateKeys/action", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "AuthorizationRules", + "operation": "Resource Regeneratekeys" + } + }, + { + "name": "Microsoft.EventHub/namespaces/eventhubs/write", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "EventHub", + "operation": "Create or Update EventHub" + } + }, + { + "name": "Microsoft.EventHub/namespaces/eventhubs/read", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "EventHub", + "operation": "Get EventHub" + } + }, + { + "name": "Microsoft.EventHub/namespaces/eventhubs/Delete", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "EventHub", + "operation": "Delete EventHub" + } + }, + { + "name": "Microsoft.EventHub/namespaces/eventhubs/authorizationRules/read", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "EventHub AuthorizationRules", + "operation": " Get EventHub Authorization Rules" + } + }, + { + "name": "Microsoft.EventHub/namespaces/eventhubs/authorizationRules/write", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "EventHub AuthorizationRules", + "operation": "Create or Update EventHub Authorization Rule" + } + }, + { + "name": "Microsoft.EventHub/namespaces/eventhubs/authorizationRules/delete", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "EventHub AuthorizationRules", + "operation": "Delete EventHub Authorization Rules" + } + }, + { + "name": "Microsoft.EventHub/namespaces/eventhubs/authorizationRules/listkeys/action", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "EventHub AuthorizationRules", + "operation": "List EventHub keys" + } + }, + { + "name": "Microsoft.EventHub/namespaces/eventhubs/authorizationRules/regenerateKeys/action", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "EventHub AuthorizationRules", + "operation": "Resource Regeneratekeys" + } + }, + { + "name": "Microsoft.EventHub/namespaces/eventHubs/consumergroups/write", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "ConsumerGroup", + "operation": "Create or Update ConsumerGroup" + } + }, + { + "name": "Microsoft.EventHub/namespaces/eventHubs/consumergroups/read", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "ConsumerGroup", + "operation": "Get ConsumerGroup" + } + }, + { + "name": "Microsoft.EventHub/namespaces/eventHubs/consumergroups/Delete", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "ConsumerGroup", + "operation": "Delete ConsumerGroup" + } + }, + { + "name": "Microsoft.EventHub/namespaces/metricDefinitions/read", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "Namespace metrics", + "operation": "Get Namespace metrics" + } + }, + { + "name": "Microsoft.EventHub/namespaces/diagnosticSettings/read", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "Namespace diagnostic settings", + "operation": "Get Namespace diagnostic settings" + } + }, + { + "name": "Microsoft.EventHub/namespaces/diagnosticSettings/write", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "Namespace diagnostic settings", + "operation": "Create or Update Namespace diagnostic settings" + } + }, + { + "name": "Microsoft.EventHub/namespaces/logDefinitions/read", + "display": { + "provider": "Microsoft Azure EventHub", + "resource": "Namespace logs", + "operation": "Get Namespace logs" + } + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleCreate.json new file mode 100644 index 000000000000..5b3c37e7ed6e --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleCreate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-Namespace-960", + "eventHubName": "sdk-EventHub-532", + "authorizationRuleName": "sdk-Authrules-2513", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-960/eventhubs/sdk-EventHub-532/authorizationRules/sdk-Authrules-2513", + "name": "sdk-Authrules-2513", + "type": "Microsoft.EventHub/Namespaces/EventHubs/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleDelete.json new file mode 100644 index 000000000000..3174a5c43e85 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-Namespace-960", + "eventHubName": "sdk-EventHub-532", + "authorizationRuleName": "sdk-Authrules-2513", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleGet.json new file mode 100644 index 000000000000..03fae7fbf515 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-Namespace-960", + "eventHubName": "sdk-EventHub-532", + "authorizationRuleName": "sdk-Authrules-2513", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-960/eventhubs/sdk-EventHub-532/authorizationRules/sdk-Authrules-2513", + "name": "sdk-Authrules-2513", + "type": "Microsoft.EventHub/Namespaces/EventHubs/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleListAll.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleListAll.json new file mode 100644 index 000000000000..9841522500e8 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleListAll.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-Namespace-960", + "eventHubName": "sdk-EventHub-532", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-960/eventhubs/sdk-EventHub-532/authorizationRules/sdk-Authrules-2513", + "name": "sdk-Authrules-2513", + "type": "Microsoft.EventHub/Namespaces/EventHubs/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleListKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleListKey.json new file mode 100644 index 000000000000..c93240aaf189 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleListKey.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-namespace-960", + "eventHubName": "sdk-EventHub-532", + "authorizationRuleName": "sdk-Authrules-2513", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "primaryConnectionString": "Endpoint=sb://sdk-namespace-960.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-2513;SharedAccessKey=############################################;EntityPath=sdk-EventHub-532", + "secondaryConnectionString": "Endpoint=sb://sdk-namespace-960.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-2513;SharedAccessKey=############################################;EntityPath=sdk-EventHub-532", + "primaryKey": "############################################", + "secondaryKey": "############################################", + "keyName": "sdk-Authrules-2513" + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleRegenerateKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleRegenerateKey.json new file mode 100644 index 000000000000..b0260c2d4f2a --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleRegenerateKey.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-namespace-960", + "eventHubName": "sdk-EventHub-532", + "authorizationRuleName": "sdk-Authrules-1534", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "keyType": "PrimaryKey" + } + }, + "responses": { + "200": { + "body": { + "primaryConnectionString": "Endpoint=sb://sdk-namespace-9027.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-1534;SharedAccessKey=#############################################;EntityPath=sdk-EventHub-1647", + "secondaryConnectionString": "Endpoint=sb://sdk-namespace-9027.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-1534;SharedAccessKey=#############################################;EntityPath=sdk-EventHub-1647", + "primaryKey": "#############################################", + "secondaryKey": "#############################################", + "keyName": "sdk-Authrules-1534" + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubCreate.json new file mode 100644 index 000000000000..5fb6da5065b4 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubCreate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-5357", + "resourceGroupName": "Default-NotificationHubs-AustraliaEast", + "eventHubName": "sdk-EventHub-6547", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "properties": { + "messageRetentionInDays": 4, + "partitionCount": 4, + "status": "Active", + "captureDescription": { + "enabled": true, + "encoding": "Avro", + "intervalInSeconds": 120, + "sizeLimitInBytes": 10485763, + "destination": { + "name": "EventHubArchive.AzureBlockBlob", + "properties": { + "storageAccountResourceId": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-Storage-SouthCentralUS/providers/Microsoft.ClassicStorage/storageAccounts/arjunteststorage", + "blobContainer": "container", + "archiveNameFormat": "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-NotificationHubs-AustraliaEast/providers/Microsoft.EventHub/namespaces/sdk-Namespace-716/eventhubs/sdk-EventHub-10", + "name": "sdk-EventHub-10", + "type": "Microsoft.EventHub/Namespaces/EventHubs", + "properties": { + "messageRetentionInDays": 4, + "partitionCount": 4, + "status": "Active", + "createdAt": "2017-06-28T02:45:55.877Z", + "updatedAt": "2017-06-28T02:46:05.877Z", + "partitionIds": [ + "0", + "1", + "2", + "3" + ], + "captureDescription": { + "enabled": true, + "encoding": "Avro", + "destination": { + "name": "EventHubArchive.AzureBlockBlob", + "properties": { + "storageAccountResourceId": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-Storage-SouthCentralUS/providers/Microsoft.ClassicStorage/storageAccounts/arjunteststorage", + "blobContainer": "container", + "archiveNameFormat": "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}" + } + }, + "intervalInSeconds": 120, + "sizeLimitInBytes": 10485763 + } + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubDelete.json new file mode 100644 index 000000000000..85dbe3b8e5ce --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-5357", + "resourceGroupName": "ArunMonocle", + "eventHubName": "sdk-EventHub-6547", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubGet.json new file mode 100644 index 000000000000..aa622e75cdaa --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-716", + "resourceGroupName": "Default-NotificationHubs-AustraliaEast", + "eventHubName": "sdk-EventHub-10", + "api-version": "2021-11-01", + "subscriptionId": "e2f361f0-3b27-4503-a9cc-21cfba380093" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-NotificationHubs-AustraliaEast/providers/Microsoft.EventHub/namespaces/sdk-Namespace-716/eventhubs/sdk-EventHub-10", + "name": "sdk-EventHub-10", + "type": "Microsoft.EventHub/Namespaces/EventHubs", + "properties": { + "messageRetentionInDays": 4, + "partitionCount": 4, + "status": "Active", + "createdAt": "2017-06-28T02:45:55.877Z", + "updatedAt": "2017-06-28T02:46:05.877Z", + "partitionIds": [ + "0", + "1", + "2", + "3" + ], + "captureDescription": { + "enabled": true, + "encoding": "Avro", + "destination": { + "name": "EventHubArchive.AzureBlockBlob", + "properties": { + "storageAccountResourceId": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-Storage-SouthCentralUS/providers/Microsoft.ClassicStorage/storageAccounts/arjunteststorage", + "blobContainer": "container", + "archiveNameFormat": "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}" + } + }, + "intervalInSeconds": 120, + "sizeLimitInBytes": 10485763 + } + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubListByNameSpace.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubListByNameSpace.json new file mode 100644 index 000000000000..01bde1238b20 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubListByNameSpace.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-5357", + "resourceGroupName": "Default-NotificationHubs-AustraliaEast", + "api-version": "2021-11-01", + "eventHubName": "sdk-eventhub-10", + "subscriptionId": "e2f361f0-3b27-4503-a9cc-21cfba380093" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-NotificationHubs-AustraliaEast/providers/Microsoft.EventHub/namespaces/sdk-Namespace-716/eventhubs/sdk-eventhub-10", + "name": "sdk-eventhub-10", + "type": "Microsoft.EventHub/Namespaces/EventHubs", + "properties": { + "messageRetentionInDays": 4, + "partitionCount": 4, + "status": "Active", + "createdAt": "2017-06-28T02:45:55.877Z", + "updatedAt": "2017-06-28T02:46:05.877Z", + "partitionIds": [ + "0", + "1", + "2", + "3" + ], + "captureDescription": { + "enabled": true, + "encoding": "Avro", + "destination": { + "name": "EventHubArchive.AzureBlockBlob", + "properties": { + "storageAccountResourceId": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-Storage-SouthCentralUS/providers/Microsoft.ClassicStorage/storageAccounts/arjunteststorage", + "blobContainer": "container", + "archiveNameFormat": "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}" + } + }, + "intervalInSeconds": 120, + "sizeLimitInBytes": 10485763 + } + } + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleCreate.json new file mode 100644 index 000000000000..46e2bc1826f3 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleCreate.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2702", + "authorizationRuleName": "sdk-Authrules-1746", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2702/AuthorizationRules/sdk-Authrules-1746", + "name": "sdk-Authrules-1746", + "type": "Microsoft.EventHub/Namespaces/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleDelete.json new file mode 100644 index 000000000000..fa9af151e919 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8980", + "authorizationRuleName": "sdk-Authrules-8929", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleGet.json new file mode 100644 index 000000000000..09ce97c3cac1 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2702", + "authorizationRuleName": "sdk-Authrules-1746", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2702/AuthorizationRules/sdk-Authrules-1746", + "name": "sdk-Authrules-1746", + "type": "Microsoft.EventHub/Namespaces/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleListAll.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleListAll.json new file mode 100644 index 000000000000..6715661bae28 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleListAll.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2702", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2702/AuthorizationRules?api-version=2017-04-01/RootManageSharedAccessKey", + "name": "RootManageSharedAccessKey", + "type": "Microsoft.EventHub/Namespaces/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Manage", + "Send" + ] + } + }, + { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2702/AuthorizationRules?api-version=2017-04-01/sdk-Authrules-1746", + "name": "sdk-Authrules-1746", + "type": "Microsoft.EventHub/Namespaces/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleListKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleListKey.json new file mode 100644 index 000000000000..ff570c3e3d75 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleListKey.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2702", + "authorizationRuleName": "sdk-Authrules-1746", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "primaryConnectionString": "Endpoint=sb://sdk-namespace-2702.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-1746;SharedAccessKey=############################################", + "secondaryConnectionString": "Endpoint=sb://sdk-namespace-2702.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-1746;SharedAccessKey=############################################", + "primaryKey": "############################################", + "secondaryKey": "############################################", + "keyName": "sdk-Authrules-1746" + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleRegenerateKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleRegenerateKey.json new file mode 100644 index 000000000000..1ac506637852 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleRegenerateKey.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8980", + "authorizationRuleName": "sdk-Authrules-8929", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "keyType": "PrimaryKey" + } + }, + "responses": { + "200": { + "body": { + "primaryConnectionString": "Endpoint=sb://sdk-namespace-8980.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-8929;SharedAccessKey=############################################", + "secondaryConnectionString": "Endpoint=sb://sdk-namespace-8980.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-8929;SharedAccessKey=############################################", + "primaryKey": "############################################", + "secondaryKey": "############################################", + "keyName": "sdk-Authrules-8929" + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceCheckNameAvailability.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceCheckNameAvailability.json new file mode 100644 index 000000000000..01fb7eb1c396 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceCheckNameAvailability.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "name": "sdk-Namespace-8458" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "None", + "message": "" + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceCreate.json new file mode 100644 index 000000000000..59616aaeb24e --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceCreate.json @@ -0,0 +1,148 @@ +{ + "parameters": { + "namespaceName": "NamespaceSample", + "resourceGroupName": "ResurceGroupSample", + "api-version": "2021-11-01", + "subscriptionId": "SampleSubscription", + "parameters": { + "location": "East US", + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": {}, + "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": {} + } + }, + "properties": { + "encryption": { + "keyVaultProperties": [ + { + "keyName": "Samplekey", + "keyVaultUri": "https://aprao-keyvault-user.vault-int.azure-int.net/", + "identity": { + "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1" + } + } + ], + "keySource": "Microsoft.KeyVault" + }, + "clusterArmId": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/clusters/enc-test" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 1 + }, + "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample", + "name": "NamespaceSample", + "type": "Microsoft.EventHub/Namespaces", + "location": "East US", + "tags": {}, + "identity": { + "principalId": "PrincipalIdGUID", + "tenantId": "TenantIdGUID", + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": { + "clientId": "ClientIdGUID", + "principalId": "PrincipalIdGUID" + }, + "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": { + "clientId": "6a35400f-6ccb-4817-8f1a-ce19ea4523bc", + "principalId": "ce2d5953-5c15-40ca-9d51-cc3f4a63b0f5" + } + } + }, + "properties": { + "zoneRedundant": false, + "isAutoInflateEnabled": false, + "disableLocalAuth": false, + "maximumThroughputUnits": 0, + "encryption": { + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": [ + { + "keyName": "Samplekey", + "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net", + "keyVersion": "", + "identity": { + "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1" + } + } + ], + "requireInfrastructureEncryption": false + }, + "clusterArmId": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/clusters/enc-test", + "kafkaEnabled": false, + "provisioningState": "Succeeded", + "metricId": "MetricGUID:NamespaceSample", + "createdAt": "2021-02-16T22:36:06.107Z", + "updatedAt": "2021-02-16T22:37:42.29Z", + "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443/" + } + } + }, + "201": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 1 + }, + "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample", + "name": "NamespaceSample", + "type": "Microsoft.EventHub/Namespaces", + "location": "East US", + "tags": {}, + "identity": { + "principalId": "PrincipalIdGUID", + "tenantId": "TenantIdGUID", + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": { + "clientId": "ClientIdGUID", + "principalId": "PrincipalIdGUID" + }, + "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": { + "clientId": "6a35400f-6ccb-4817-8f1a-ce19ea4523bc", + "principalId": "ce2d5953-5c15-40ca-9d51-cc3f4a63b0f5" + } + } + }, + "properties": { + "zoneRedundant": false, + "isAutoInflateEnabled": false, + "disableLocalAuth": false, + "maximumThroughputUnits": 0, + "encryption": { + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": [ + { + "keyName": "Samplekey", + "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net", + "keyVersion": "", + "identity": { + "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1" + } + } + ], + "requireInfrastructureEncryption": false + }, + "clusterArmId": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/clusters/enc-test", + "kafkaEnabled": false, + "provisioningState": "Succeeded", + "metricId": "MetricGUID:NamespaceSample", + "createdAt": "2021-02-16T22:36:06.107Z", + "updatedAt": "2021-02-16T22:37:42.29Z", + "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443/" + } + } + }, + "202": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceDelete.json new file mode 100644 index 000000000000..026f09fc8d67 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "namespaceName": "NamespaceSample", + "resourceGroupName": "ResurceGroupSample", + "api-version": "2021-11-01", + "subscriptionId": "SampleSubscription" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceGet.json new file mode 100644 index 000000000000..6ac56efdc81f --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceGet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "namespaceName": "NamespaceSample", + "resourceGroupName": "ResurceGroupSample", + "api-version": "2021-11-01", + "subscriptionId": "SampleSubscription" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 1 + }, + "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample", + "name": "NamespaceSample", + "type": "Microsoft.EventHub/Namespaces", + "location": "East US", + "tags": {}, + "identity": { + "principalId": "PrincipalIdGUID", + "tenantId": "TenantIdGUID", + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": { + "clientId": "ClientIdGUID", + "principalId": "PrincipalIdGUID" + }, + "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": { + "clientId": "6a35400f-6ccb-4817-8f1a-ce19ea4523bc", + "principalId": "ce2d5953-5c15-40ca-9d51-cc3f4a63b0f5" + } + } + }, + "properties": { + "isAutoInflateEnabled": false, + "disableLocalAuth": false, + "maximumThroughputUnits": 0, + "zoneRedundant": false, + "encryption": { + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": [ + { + "keyName": "Samplekey", + "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net", + "keyVersion": "", + "identity": { + "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1" + } + } + ], + "requireInfrastructureEncryption": false + }, + "privateEndpointConnections": [ + { + "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample/privateEndpointConnections/privateEndpointConnectionName", + "name": "privateEndpointConnectionName", + "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.Network/privateEndpoints/NamespaceSample" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + ], + "provisioningState": "Succeeded", + "clusterArmId": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/clusters/enc-test", + "metricId": "MetricGUID:NamespaceSample", + "createdAt": "2021-01-30T00:28:38.963Z", + "updatedAt": "2021-01-30T00:30:55.143Z", + "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443" + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceList.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceList.json new file mode 100644 index 000000000000..f6fdab6b6807 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceList.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "SampleSubscription" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 0 + }, + "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample", + "name": "NamespaceSample", + "type": "Microsoft.EventHub/Namespaces", + "location": "East US", + "tags": {}, + "identity": { + "principalId": "PrincipalIdGUID", + "tenantId": "TenantIdGUID", + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": { + "clientId": "ClientIdGUID", + "principalId": "PrincipalIdGUID" + }, + "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": { + "clientId": "6a35400f-6ccb-4817-8f1a-ce19ea4523bc", + "principalId": "ce2d5953-5c15-40ca-9d51-cc3f4a63b0f5" + } + } + }, + "properties": { + "isAutoInflateEnabled": false, + "disableLocalAuth": false, + "maximumThroughputUnits": 0, + "zoneRedundant": false, + "encryption": { + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": [ + { + "keyName": "Samplekey", + "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net", + "keyVersion": "", + "identity": { + "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1" + } + } + ], + "requireInfrastructureEncryption": false + }, + "clusterArmId": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/clusters/enc-test", + "provisioningState": "Succeeded", + "metricId": "MetricGUID:NamespaceSample", + "createdAt": "2021-01-30T00:28:38.963Z", + "updatedAt": "2021-01-30T00:30:55.143Z", + "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443/" + } + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceListByResourceGroup.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceListByResourceGroup.json new file mode 100644 index 000000000000..b120031fedd0 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceListByResourceGroup.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "SampleSubscription", + "resourceGroupName": "ResurceGroupSample" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 1 + }, + "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample", + "name": "NamespaceSample", + "type": "Microsoft.EventHub/Namespaces", + "location": "East US", + "tags": {}, + "identity": { + "principalId": "PrincipalIdGUID", + "tenantId": "TenantIdGUID", + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": { + "clientId": "ClientIdGUID", + "principalId": "PrincipalIdGUID" + }, + "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": { + "clientId": "6a35400f-6ccb-4817-8f1a-ce19ea4523bc", + "principalId": "ce2d5953-5c15-40ca-9d51-cc3f4a63b0f5" + } + } + }, + "properties": { + "isAutoInflateEnabled": false, + "disableLocalAuth": false, + "maximumThroughputUnits": 0, + "zoneRedundant": false, + "encryption": { + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": [ + { + "keyName": "Samplekey", + "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net", + "keyVersion": "", + "identity": { + "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1" + } + } + ], + "requireInfrastructureEncryption": false + }, + "clusterArmId": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/clusters/enc-test", + "provisioningState": "Succeeded", + "metricId": "MetricGUID:NamespaceSample", + "createdAt": "2021-01-30T00:28:38.963Z", + "updatedAt": "2021-01-30T00:30:55.143Z", + "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443/" + } + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceUpdate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceUpdate.json new file mode 100644 index 000000000000..80b76c452b1c --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceUpdate.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "namespaceName": "NamespaceSample", + "resourceGroupName": "ResurceGroupSample", + "api-version": "2021-11-01", + "subscriptionId": "SampleSubscription", + "parameters": { + "location": "East US", + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": null + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 1 + }, + "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample", + "name": "NamespaceSample", + "type": "Microsoft.EventHub/Namespaces", + "location": "East US", + "tags": {}, + "identity": { + "principalId": "PrincipalIdGUID", + "tenantId": "TenantIdGUID", + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": { + "clientId": "ClientIdGUID", + "principalId": "PrincipalIdGUID" + } + } + }, + "properties": { + "isAutoInflateEnabled": false, + "disableLocalAuth": false, + "maximumThroughputUnits": 0, + "zoneRedundant": false, + "encryption": { + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": [ + { + "keyName": "Samplekey", + "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net", + "keyVersion": "", + "identity": { + "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1" + } + } + ], + "requireInfrastructureEncryption": false + }, + "provisioningState": "ActivatingIdentity", + "metricId": "MetricGUID:NamespaceSample", + "createdAt": "2021-01-30T00:28:38.963Z", + "updatedAt": "2021-01-30T00:31:13.657Z", + "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443/" + } + } + }, + "201": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 1 + }, + "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample", + "name": "NamespaceSample", + "type": "Microsoft.EventHub/Namespaces", + "location": "East US", + "tags": {}, + "identity": { + "principalId": "PrincipalIdGUID", + "tenantId": "TenantIdGUID", + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": { + "clientId": "ClientIdGUID", + "principalId": "PrincipalIdGUID" + } + } + }, + "properties": { + "isAutoInflateEnabled": false, + "disableLocalAuth": false, + "maximumThroughputUnits": 0, + "zoneRedundant": false, + "encryption": { + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": [ + { + "keyName": "Samplekey", + "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net", + "keyVersion": "", + "identity": { + "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1" + } + } + ], + "requireInfrastructureEncryption": false + }, + "provisioningState": "ActivatingIdentity", + "metricId": "MetricGUID:NamespaceSample", + "createdAt": "2021-01-30T00:28:38.963Z", + "updatedAt": "2021-01-30T00:31:13.657Z", + "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443/" + } + } + }, + "202": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionCreate.json new file mode 100644 index 000000000000..cccf71669713 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionCreate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2924", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "subID", + "privateEndpointConnectionName": "privateEndpointConnectionName", + "parameters": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-8396/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-2847" + }, + "privateLinkServiceConnectionState": { + "status": "Rejected", + "description": "testing" + }, + "provisioningState": "Succeeded" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5828/privateEndpointConnections/928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "name": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5828" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5828/privateEndpointConnections/928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "name": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5828" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionDelete.json new file mode 100644 index 000000000000..02bdc76e87c7 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-3285", + "resourceGroupName": "ArunMonocle", + "privateEndpointConnectionName": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionGet.json new file mode 100644 index 000000000000..1e26551c9715 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-5828", + "resourceGroupName": "SDK-EventHub-4794", + "privateEndpointConnectionName": "privateEndpointConnectionName", + "api-version": "2021-11-01", + "subscriptionId": "subID" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5828/privateEndpointConnections/privateEndpointConnectionName", + "name": "privateEndpointConnectionName", + "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5828" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionList.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionList.json new file mode 100644 index 000000000000..e4679470b555 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-5828", + "resourceGroupName": "SDK-EventHub-4794", + "api-version": "2021-11-01", + "subscriptionId": "subID" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-7182/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5705-new/privateEndpointConnections/5dc668b3-70e4-437f-b61c-a3c1e594be7a", + "name": "5dc668b3-70e4-437f-b61c-a3c1e594be7a", + "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-7182/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5705-new" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateLinkResourcesGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateLinkResourcesGet.json new file mode 100644 index 000000000000..f77366e72c06 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateLinkResourcesGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2924", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "subID" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/subID/resourceGroups/SDK-EventHub-4794/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5828/privateLinkResources/namespace", + "name": "namespace", + "type": "Microsoft.EventHub/namespaces/privateLinkResources", + "properties": { + "groupId": "namespace", + "requiredMembers": [ + "namespace" + ], + "requiredZoneNames": [ + "privatelink.EventHub.windows.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json new file mode 100644 index 000000000000..08bd84fbe0c2 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-6019", + "resourceGroupName": "ResourceGroup", + "api-version": "2021-11-01", + "subscriptionId": "Subscription", + "parameters": { + "properties": { + "defaultAction": "Deny", + "virtualNetworkRules": [ + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2" + }, + "ignoreMissingVnetServiceEndpoint": true + }, + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3" + }, + "ignoreMissingVnetServiceEndpoint": false + }, + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6" + }, + "ignoreMissingVnetServiceEndpoint": false + } + ], + "ipRules": [ + { + "ipMask": "1.1.1.1", + "action": "Allow" + }, + { + "ipMask": "1.1.1.2", + "action": "Allow" + }, + { + "ipMask": "1.1.1.3", + "action": "Allow" + }, + { + "ipMask": "1.1.1.4", + "action": "Allow" + }, + { + "ipMask": "1.1.1.5", + "action": "Allow" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/854d368f-1828-428f-8f3c-f2affa9b2f7d/resourceGroups/resourcegroupid/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9659/networkruleset/default", + "name": "default", + "type": "Microsoft.EventHub/Namespaces/NetworkRuleSet", + "properties": { + "defaultAction": "Deny", + "virtualNetworkRules": [ + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2" + }, + "ignoreMissingVnetServiceEndpoint": true + }, + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3" + }, + "ignoreMissingVnetServiceEndpoint": false + }, + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6" + }, + "ignoreMissingVnetServiceEndpoint": false + } + ], + "ipRules": [ + { + "ipMask": "1.1.1.1", + "action": "Allow" + }, + { + "ipMask": "1.1.1.2", + "action": "Allow" + }, + { + "ipMask": "1.1.1.3", + "action": "Allow" + }, + { + "ipMask": "1.1.1.4", + "action": "Allow" + }, + { + "ipMask": "1.1.1.5", + "action": "Allow" + } + ] + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json new file mode 100644 index 000000000000..ae0eb3041796 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-6019", + "resourceGroupName": "ResourceGroup", + "api-version": "2021-11-01", + "subscriptionId": "Subscription" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionid/resourceGroups/resourcegroupid/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9659/networkruleset/default", + "name": "default", + "type": "Microsoft.EventHub/Namespaces/NetworkRuleSet", + "properties": { + "defaultAction": "Deny", + "virtualNetworkRules": [ + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2" + }, + "ignoreMissingVnetServiceEndpoint": true + }, + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3" + }, + "ignoreMissingVnetServiceEndpoint": false + }, + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6" + }, + "ignoreMissingVnetServiceEndpoint": false + } + ], + "ipRules": [ + { + "ipMask": "1.1.1.1", + "action": "Allow" + }, + { + "ipMask": "1.1.1.2", + "action": "Allow" + }, + { + "ipMask": "1.1.1.3", + "action": "Allow" + }, + { + "ipMask": "1.1.1.4", + "action": "Allow" + }, + { + "ipMask": "1.1.1.5", + "action": "Allow" + } + ] + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetList.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetList.json new file mode 100644 index 000000000000..e231a8fc9263 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetList.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-6019", + "resourceGroupName": "ResourceGroup", + "api-version": "2021-11-01", + "subscriptionId": "Subscription" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionid/resourceGroups/resourcegroupid/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9659/networkruleset/default", + "name": "default", + "type": "Microsoft.EventHub/Namespaces/NetworkRuleSet", + "properties": { + "defaultAction": "Deny", + "virtualNetworkRules": [ + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2" + }, + "ignoreMissingVnetServiceEndpoint": true + }, + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3" + }, + "ignoreMissingVnetServiceEndpoint": false + }, + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6" + }, + "ignoreMissingVnetServiceEndpoint": false + } + ], + "ipRules": [ + { + "ipMask": "1.1.1.1", + "action": "Allow" + }, + { + "ipMask": "1.1.1.2", + "action": "Allow" + }, + { + "ipMask": "1.1.1.3", + "action": "Allow" + }, + { + "ipMask": "1.1.1.4", + "action": "Allow" + }, + { + "ipMask": "1.1.1.5", + "action": "Allow" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryCreate.json new file mode 100644 index 000000000000..e6992b1e21e5 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryCreate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "namespaceName": "ali-ua-test-eh-system-1", + "resourceGroupName": "alitest", + "api-version": "2021-11-01", + "subscriptionId": "e8baea74-64ce-459b-bee3-5aa4c47b3ae3", + "schemaGroupName": "testSchemaGroup1", + "parameters": { + "properties": { + "groupProperties": {}, + "schemaCompatibility": "Forward", + "schemaType": "Avro" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/e8baea74-64ce-459b-bee3-5aa4c47b3ae3/resourceGroups/alitest/providers/Microsoft.EventHub/namespaces/ali-ua-test-eh-system-1/schemagroups/testSchemaGroup1", + "name": "testSchemaGroup1", + "type": "Microsoft.EventHub/Namespaces/SchemaGroups", + "location": "EAST US 2 EUAP", + "properties": { + "updatedAtUtc": "2021-10-13T03:08:11.1671879Z", + "createdAtUtc": "2021-10-13T03:08:11.1671879Z", + "eTag": "51ddcff4-a287-423c-b194-7a8ebbfd8366", + "groupProperties": {}, + "schemaCompatibility": "Forward", + "schemaType": "Avro" + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryDelete.json new file mode 100644 index 000000000000..317d14e4f2b1 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "namespaceName": "ali-ua-test-eh-system-1", + "resourceGroupName": "alitest", + "api-version": "2021-11-01", + "subscriptionId": "e8baea74-64ce-459b-bee3-5aa4c47b3ae3", + "schemaGroupName": "testSchemaGroup1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryGet.json new file mode 100644 index 000000000000..a68833dabff7 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "namespaceName": "ali-ua-test-eh-system-1", + "resourceGroupName": "alitest", + "api-version": "2021-11-01", + "subscriptionId": "e8baea74-64ce-459b-bee3-5aa4c47b3ae3", + "schemaGroupName": "testSchemaGroup1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/e8baea74-64ce-459b-bee3-5aa4c47b3ae3/resourceGroups/alitest/providers/Microsoft.EventHub/namespaces/ali-ua-test-eh-system-1/schemagroups/testSchemaGroup1", + "name": "testSchemaGroup1", + "type": "Microsoft.EventHub/Namespaces/SchemaGroups", + "location": "EAST US 2 EUAP", + "properties": { + "updatedAtUtc": "2021-10-13T03:08:11.1671879Z", + "createdAtUtc": "2021-10-13T03:08:11.1671879Z", + "eTag": "51ddcff4-a287-423c-b194-7a8ebbfd8366", + "groupProperties": {}, + "schemaCompatibility": "Forward", + "schemaType": "Avro" + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryListByNamespace.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryListByNamespace.json new file mode 100644 index 000000000000..739c59618590 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryListByNamespace.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "namespaceName": "ali-ua-test-eh-system-1", + "resourceGroupName": "alitest", + "api-version": "2021-11-01", + "subscriptionId": "e8baea74-64ce-459b-bee3-5aa4c47b3ae3" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/e8baea74-64ce-459b-bee3-5aa4c47b3ae3/resourceGroups/alitest/providers/Microsoft.EventHub/namespaces/ali-ua-test-eh-system-1/schemagroups/testSchemaGroup1", + "name": "testSchemaGroup1", + "type": "Microsoft.EventHub/Namespaces/SchemaGroups", + "location": "EAST US 2 EUAP", + "properties": { + "updatedAtUtc": "2021-10-13T03:08:11.1671879Z", + "createdAtUtc": "2021-10-13T03:08:11.1671879Z", + "eTag": "51ddcff4-a287-423c-b194-7a8ebbfd8366", + "groupProperties": {}, + "schemaCompatibility": "Forward", + "schemaType": "Avro" + } + }, + { + "id": "/subscriptions/e8baea74-64ce-459b-bee3-5aa4c47b3ae3/resourceGroups/alitest/providers/Microsoft.EventHub/namespaces/ali-ua-test-eh-system-1/schemagroups/testSchemaGroup2", + "name": "testSchemaGroup2", + "type": "Microsoft.EventHub/Namespaces/SchemaGroups", + "location": "EAST US 2 EUAP", + "properties": { + "updatedAtUtc": "2021-10-13T03:10:33.6974319Z", + "createdAtUtc": "2021-10-13T03:10:33.6974319Z", + "eTag": "d01173a4-08c5-43c9-b30f-d9666196a907", + "groupProperties": {}, + "schemaCompatibility": "None", + "schemaType": "Avro" + } + }, + { + "id": "/subscriptions/e8baea74-64ce-459b-bee3-5aa4c47b3ae3/resourceGroups/alitest/providers/Microsoft.EventHub/namespaces/ali-ua-test-eh-system-1/schemagroups/testSchemaGroup3", + "name": "testSchemaGroup3", + "type": "Microsoft.EventHub/Namespaces/SchemaGroups", + "location": "EAST US 2 EUAP", + "properties": { + "updatedAtUtc": "2021-10-13T03:13:30.8938585Z", + "createdAtUtc": "2021-10-13T03:13:30.8938585Z", + "eTag": "2c1c3d08-2fb8-4a4e-91f4-6e8b940c1b7c", + "groupProperties": {}, + "schemaCompatibility": "Backward", + "schemaType": "Avro" + } + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleGet.json new file mode 100644 index 000000000000..1e40424c9ac8 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-9080", + "authorizationRuleName": "sdk-Authrules-4879", + "resourceGroupName": "exampleResourceGroup", + "alias": "sdk-DisasterRecovery-4879", + "api-version": "2021-11-01", + "subscriptionId": "exampleSubscriptionId" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-4879", + "name": "sdk-Authrules-4879", + "type": "Microsoft.EventHub/Namespaces/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListAll.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListAll.json new file mode 100644 index 000000000000..148e42151461 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListAll.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-9080", + "resourceGroupName": "exampleResourceGroup", + "alias": "sdk-DisasterRecovery-4047", + "api-version": "2021-11-01", + "subscriptionId": "exampleSubscriptionId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/RootManageSharedAccessKey", + "name": "RootManageSharedAccessKey", + "type": "Microsoft.EventHub/Namespaces/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Manage", + "Send" + ] + } + }, + { + "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-1067", + "name": "sdk-Authrules-1067", + "type": "Microsoft.EventHub/Namespaces/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + }, + { + "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-1684", + "name": "sdk-Authrules-1684", + "type": "Microsoft.EventHub/Namespaces/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + }, + { + "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-4879", + "name": "sdk-Authrules-4879", + "type": "Microsoft.EventHub/Namespaces/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListKey.json new file mode 100644 index 000000000000..6d5a39b93219 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListKey.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2702", + "authorizationRuleName": "sdk-Authrules-1746", + "resourceGroupName": "exampleResourceGroup", + "alias": "sdk-DisasterRecovery-4047", + "api-version": "2021-11-01", + "subscriptionId": "exampleSubscriptionId" + }, + "responses": { + "200": { + "body": { + "aliasPrimaryConnectionString": "Endpoint=sb://sdk-disasterrecovery-4047.servicebus.windows-int.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=############################################", + "aliasSecondaryConnectionString": "Endpoint=sb://sdk-disasterrecovery-4047.servicebus.windows-int.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=############################################", + "primaryKey": "############################################", + "secondaryKey": "############################################", + "keyName": "sdk-Authrules-1746" + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasBreakPairing.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasBreakPairing.json new file mode 100644 index 000000000000..a87d5ab83651 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasBreakPairing.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8859", + "resourceGroupName": "exampleResourceGroup", + "alias": "sdk-DisasterRecovery-3814", + "api-version": "2021-11-01", + "subscriptionId": "exampleSubscriptionId" + }, + "responses": { + "200": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasCheckNameAvailability.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasCheckNameAvailability.json new file mode 100644 index 000000000000..a10a675e2f89 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasCheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "exampleSubscriptionId", + "namespaceName": "sdk-Namespace-9080", + "resourceGroupName": "exampleResourceGroup", + "parameters": { + "name": "sdk-DisasterRecovery-9474" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "None", + "message": "" + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasCreate.json new file mode 100644 index 000000000000..745dbad4cc07 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasCreate.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8859", + "resourceGroupName": "exampleResourceGroup", + "alias": "sdk-DisasterRecovery-3814", + "api-version": "2021-11-01", + "subscriptionId": "exampleSubscriptionId", + "parameters": { + "properties": { + "partnerNamespace": "sdk-Namespace-37" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/exampleResourceGroup/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-8859/disasterRecoveryConfig/sdk-DisasterRecovery-3814", + "name": "sdk-DisasterRecovery-3814", + "type": "Microsoft.EventHub/Namespaces/DisasterRecoveryConfig", + "properties": { + "provisioningState": "Accepted", + "partnerNamespace": "sdk-Namespace-37", + "role": "Primary" + } + } + }, + "201": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasDelete.json new file mode 100644 index 000000000000..b2169fafd4d0 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-5849", + "resourceGroupName": "exampleResourceGroup", + "alias": "sdk-DisasterRecovery-3814", + "api-version": "2021-11-01", + "subscriptionId": "exampleSubscriptionId" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasFailOver.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasFailOver.json new file mode 100644 index 000000000000..a87d5ab83651 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasFailOver.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8859", + "resourceGroupName": "exampleResourceGroup", + "alias": "sdk-DisasterRecovery-3814", + "api-version": "2021-11-01", + "subscriptionId": "exampleSubscriptionId" + }, + "responses": { + "200": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasGet.json new file mode 100644 index 000000000000..498e89591537 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8859", + "resourceGroupName": "exampleResourceGroup", + "alias": "sdk-DisasterRecovery-3814", + "api-version": "2021-11-01", + "subscriptionId": "exampleSubscriptionId" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-37/disasterRecoveryConfig/sdk-DisasterRecovery-3814", + "name": "sdk-DisasterRecovery-3814", + "type": "Microsoft.EventHub/Namespaces/DisasterRecoveryConfig", + "properties": { + "provisioningState": "Accepted", + "partnerNamespace": "sdk-Namespace-8859", + "role": "Secondary", + "pendingReplicationOperationsCount": 0 + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasList.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasList.json new file mode 100644 index 000000000000..e0ae25339642 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8859", + "resourceGroupName": "exampleResourceGroup", + "alias": "sdk-DisasterRecovery-3814", + "api-version": "2021-11-01", + "subscriptionId": "exampleSubscriptionId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-8859/disasterRecoveryConfig/sdk-DisasterRecovery-3814", + "name": "sdk-DisasterRecovery-3814", + "type": "Microsoft.EventHub/Namespaces/DisasterRecoveryConfig", + "properties": { + "provisioningState": "Accepted", + "partnerNamespace": "sdk-Namespace-37", + "role": "Primary" + } + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/namespaces-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/namespaces-preview.json new file mode 100644 index 000000000000..f858001d7de5 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/namespaces-preview.json @@ -0,0 +1,1014 @@ +{ + "swagger": "2.0", + "info": { + "title": "EventHubManagementClient", + "description": "Azure Event Hubs client for managing namespaces.", + "version": "2021-11-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}/providers/Microsoft.EventHub/namespaces": { + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_List", + "x-ms-examples": { + "NamespacesListBySubscription": { + "$ref": "./examples/NameSpaces/EHNameSpaceList.json" + } + }, + "description": "Lists all the available Namespaces within a subscription, irrespective of the resource groups.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespaces returned successfully.", + "schema": { + "$ref": "#/definitions/EHNamespaceListResult" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces": { + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_ListByResourceGroup", + "x-ms-examples": { + "NamespaceListByResourceGroup": { + "$ref": "./examples/NameSpaces/EHNameSpaceListByResourceGroup.json" + } + }, + "description": "Lists the available Namespaces within a resource group.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespaces returned successfully.", + "schema": { + "$ref": "#/definitions/EHNamespaceListResult" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}": { + "put": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_CreateOrUpdate", + "x-ms-examples": { + "NamespaceCreate": { + "$ref": "./examples/NameSpaces/EHNameSpaceCreate.json" + } + }, + "description": "Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EHNamespace", + "required": [ + "location" + ] + }, + "description": "Parameters for creating a namespace resource." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace successfully created.", + "schema": { + "$ref": "#/definitions/EHNamespace" + } + }, + "201": { + "description": "Namespace create request accepted.", + "schema": { + "$ref": "#/definitions/EHNamespace" + } + }, + "202": { + "description": "Namespace create or update request accepted." + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_Delete", + "x-ms-examples": { + "NameSpaceDelete": { + "$ref": "./examples/NameSpaces/EHNameSpaceDelete.json" + } + }, + "description": "Deletes an existing namespace. This operation also removes all associated resources under the namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace successfully deleted." + }, + "202": { + "description": "Namespace delete request accepted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_Get", + "x-ms-examples": { + "NameSpaceGet": { + "$ref": "./examples/NameSpaces/EHNameSpaceGet.json" + } + }, + "description": "Gets the description of the specified namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace returned successfully.", + "schema": { + "$ref": "#/definitions/EHNamespace" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_Update", + "x-ms-examples": { + "NamespacesUpdate": { + "$ref": "./examples/NameSpaces/EHNameSpaceUpdate.json" + } + }, + "description": "Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EHNamespace" + }, + "description": "Parameters for updating a namespace resource." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace successfully updated.", + "schema": { + "$ref": "#/definitions/EHNamespace" + } + }, + "201": { + "description": "Namespace update request accepted.", + "schema": { + "$ref": "#/definitions/EHNamespace" + } + }, + "202": { + "description": "Namespace create or update request accepted." + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/privateEndpointConnections": { + "get": { + "tags": [ + "Namespaces PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "x-ms-examples": { + "NameSpaceCreate": { + "$ref": "./examples/NameSpaces/PrivateEndPointConnectionList.json" + } + }, + "description": "Gets the available PrivateEndpointConnections within a namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "PrivateEndpointConnections successfully returned.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "EventHubEventHub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "put": { + "tags": [ + "Namespaces PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "x-ms-examples": { + "NameSpacePrivateEndPointConnectionCreate": { + "$ref": "./examples/NameSpaces/PrivateEndPointConnectionCreate.json" + } + }, + "description": "Creates or updates PrivateEndpointConnections of service namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639408.aspx" + }, + "parameters": [ + { + "$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/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "Parameters supplied to update Status of PrivateEndPoint Connection to namespace resource." + } + ], + "responses": { + "200": { + "description": "Status of PrivateEndPoint Connection Created successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "Request to update Status of PrivateEndPoint Connection accepted.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Namespaces PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "x-ms-examples": { + "NameSpacePrivateEndPointConnectionDelete": { + "$ref": "./examples/NameSpaces/PrivateEndPointConnectionDelete.json" + } + }, + "description": "Deletes an existing namespace. This operation also removes all associated resources under the namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639389.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "Private Endpoint Connection successfully deleted." + }, + "202": { + "description": "Private Endpoint Connection delete request accepted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Namespaces PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "x-ms-examples": { + "NameSpacePrivateEndPointConnectionGet": { + "$ref": "./examples/NameSpaces/PrivateEndPointConnectionGet.json" + } + }, + "description": "Gets a description for the specified Private Endpoint Connection name.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Private Endpoint Connection successfully returned.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/privateLinkResources": { + "get": { + "tags": [ + "Namespaces PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_Get", + "x-ms-examples": { + "NameSpacePrivateLinkResourcesGet": { + "$ref": "./examples/NameSpaces/PrivateLinkResourcesGet.json" + } + }, + "description": "Gets lists of resources that supports Privatelinks.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Private Link resource List", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesListResult" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "EHNamespaceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EHNamespace" + }, + "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": "The response of the List Namespace operation" + }, + "EHNamespace": { + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "Properties of sku resource" + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "Properties of BYOK Identity description" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + }, + "properties": { + "x-ms-client-flatten": true, + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the Namespace." + }, + "status": { + "readOnly": true, + "type": "string", + "description": "Status of the Namespace." + }, + "createdAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the Namespace was created." + }, + "updatedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the Namespace was updated." + }, + "serviceBusEndpoint": { + "readOnly": true, + "type": "string", + "description": "Endpoint you can use to perform Service Bus operations." + }, + "clusterArmId": { + "type": "string", + "description": "Cluster ARM ID of the Namespace." + }, + "metricId": { + "readOnly": true, + "type": "string", + "description": "Identifier for Azure Insights metrics." + }, + "isAutoInflateEnabled": { + "type": "boolean", + "description": "Value that indicates whether AutoInflate is enabled for eventhub namespace." + }, + "maximumThroughputUnits": { + "format": "int32", + "type": "integer", + "description": "Upper limit of throughput units when AutoInflate is enabled, value should be within 0 to 20 throughput units. ( '0' if AutoInflateEnabled = true)" + }, + "kafkaEnabled": { + "type": "boolean", + "description": "Value that indicates whether Kafka is enabled for eventhub namespace." + }, + "zoneRedundant": { + "type": "boolean", + "description": "Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Properties of BYOK Encryption description" + }, + "privateEndpointConnections": { + "description": "List of private endpoint connections.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "disableLocalAuth": { + "type": "boolean", + "description": "This property disables SAS authentication for the Event Hubs namespace." + }, + "alternateName": { + "type": "string", + "description": "Alternate name specified when alias and namespace names are same." + } + }, + "description": "Namespace properties supplied for create namespace operation." + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource" + } + ], + "description": "Single Namespace item in List or Get Operation" + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of this SKU.", + "enum": [ + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "The billing tier of this particular SKU.", + "enum": [ + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + }, + "capacity": { + "format": "int32", + "minimum": 0, + "type": "integer", + "description": "The Event Hubs throughput units for Basic or Standard tiers, where value should be 0 to 20 throughput units. The Event Hubs premium units for Premium tier, where value should be 0 to 10 premium units." + } + }, + "required": [ + "name" + ], + "description": "SKU parameters supplied to the create namespace operation" + }, + "Identity": { + "x-ms-client-flatten": true, + "properties": { + "principalId": { + "type": "string", + "description": "ObjectId from the KeyVault", + "readOnly": true + }, + "tenantId": { + "type": "string", + "description": "TenantId from the KeyVault", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Type of managed service identity.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ManagedServiceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "description": "Properties for User Assigned Identities" + } + }, + "description": "Properties to configure Identity for Bring your Own Keys" + }, + "UserAssignedIdentity": { + "description": "Recognized Dictionary value.", + "type": "object", + "properties": { + "principalId": { + "description": "Principal Id of user assigned identity", + "type": "string", + "x-ms-client-name": "PrincipalId", + "readOnly": true + }, + "clientId": { + "description": "Client Id of user assigned identity", + "type": "string", + "x-ms-client-name": "ClientId", + "readOnly": true + } + } + }, + "Encryption": { + "x-ms-client-flatten": true, + "properties": { + "keyVaultProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/KeyVaultProperties" + }, + "x-ms-client-name": "KeyVaultProperties", + "description": "Properties of KeyVault" + }, + "keySource": { + "type": "string", + "description": "Enumerates the possible value of keySource for Encryption", + "default": "Microsoft.KeyVault", + "enum": [ + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "keySource", + "modelAsString": false + } + }, + "requireInfrastructureEncryption": { + "type": "boolean", + "description": "Enable Infrastructure Encryption (Double Encryption)" + } + }, + "description": "Properties to configure Encryption" + }, + "KeyVaultProperties": { + "properties": { + "keyName": { + "type": "string", + "description": "Name of the Key from KeyVault", + "x-ms-client-name": "KeyName" + }, + "keyVaultUri": { + "type": "string", + "description": "Uri of KeyVault", + "x-ms-client-name": "KeyVaultUri" + }, + "keyVersion": { + "type": "string", + "description": "Key Version", + "x-ms-client-name": "KeyVersion" + }, + "identity": { + "$ref": "#/definitions/userAssignedIdentityProperties" + } + }, + "description": "Properties to configure keyVault Properties" + }, + "PrivateEndpointConnection": { + "description": "Properties of the PrivateEndpointConnection.", + "allOf": [ + { + "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Properties of the PrivateEndpointConnection.", + "x-ms-client-flatten": true + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + } + } + }, + "PrivateEndpointConnectionProperties": { + "description": "Properties of the private endpoint connection resource.", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The Private Endpoint resource for this Connection." + }, + "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": "EndPointProvisioningState", + "modelAsString": true + } + } + } + }, + "PrivateEndpoint": { + "description": "PrivateEndpoint information.", + "properties": { + "id": { + "description": "The ARM identifier for Private Endpoint.", + "type": "string" + } + } + }, + "ConnectionState": { + "description": "ConnectionState information.", + "properties": { + "status": { + "description": "Status of the connection.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateLinkConnectionStatus", + "modelAsString": true + } + }, + "description": { + "description": "Description of the connection state.", + "type": "string" + } + } + }, + "PrivateEndpointConnectionListResult": { + "description": "Result of the list of all private endpoint connections operation.", + "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.", + "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": { + "description": "Properties of PrivateLinkResource", + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string" + }, + "requiredMembers": { + "type": "array", + "description": "The private link resource required member names.", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "type": "array", + "description": "The private link resource Private link DNS zone name.", + "items": { + "type": "string" + } + } + } + }, + "PrivateLinkResourcesListResult": { + "description": "Result of the List private link resources operation.", + "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" + } + } + }, + "userAssignedIdentityProperties": { + "x-ms-client-flatten": true, + "type": "object", + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "ARM ID of user Identity selected for encryption" + } + } + } + }, + "parameters": {} +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/networkrulessets-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/networkrulessets-preview.json new file mode 100644 index 000000000000..4a6211f16d66 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/networkrulessets-preview.json @@ -0,0 +1,299 @@ +{ + "swagger": "2.0", + "info": { + "title": "EventHubManagementClient", + "description": "Azure Event Hubs client for managing Event Hubs Cluster, IPFilter Rules and VirtualNetworkRules resources.", + "version": "2021-11-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.EventHub/namespaces/{namespaceName}/networkRuleSets/default": { + "put": { + "tags": [ + "NetworkRuleSets" + ], + "x-ms-examples": { + "NameSpaceNetworkRuleSetCreate": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json" + } + }, + "operationId": "Namespaces_CreateOrUpdateNetworkRuleSet", + "description": "Create or update NetworkRuleSet for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + }, + "description": "The Namespace IpFilterRule." + } + ], + "responses": { + "200": { + "description": "Namespace NetworkRuleSet successfully returned.", + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "NetworkRuleSets" + ], + "x-ms-examples": { + "NameSpaceNetworkRuleSetGet": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json" + } + }, + "operationId": "Namespaces_GetNetworkRuleSet", + "description": "Gets NetworkRuleSet for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace NetworkRuleSet successfully returned.", + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/networkRuleSets": { + "get": { + "tags": [ + "NetworkRuleSets" + ], + "x-ms-examples": { + "NameSpaceNetworkRuleSetList": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetList.json" + } + }, + "operationId": "Namespaces_ListNetworkRuleSet", + "description": "Gets NetworkRuleSet for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace NetworkRuleSet successfully returned.", + "schema": { + "$ref": "#/definitions/NetworkRuleSetListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "Subnet": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID of Virtual Network Subnet" + } + }, + "description": "Properties supplied for Subnet" + }, + "NWRuleSetIpRules": { + "x-ms-client-flatten": true, + "properties": { + "ipMask": { + "type": "string", + "description": "IP Mask" + }, + "action": { + "type": "string", + "description": "The IP Filter Action", + "enum": [ + "Allow" + ], + "x-ms-enum": { + "name": "NetworkRuleIPAction", + "modelAsString": true + } + } + }, + "description": "The response from the List namespace operation." + }, + "NWRuleSetVirtualNetworkRules": { + "x-ms-client-flatten": true, + "properties": { + "subnet": { + "$ref": "#/definitions/Subnet", + "description": "Subnet properties" + }, + "ignoreMissingVnetServiceEndpoint": { + "type": "boolean", + "description": "Value that indicates whether to ignore missing Vnet Service Endpoint" + } + }, + "description": "The response from the List namespace operation." + }, + "NetworkRuleSet": { + "properties": { + "properties": { + "description": "NetworkRuleSet properties", + "x-ms-client-flatten": true, + "properties": { + "trustedServiceAccessEnabled": { + "type": "boolean", + "description": "Value that indicates whether Trusted Service Access is Enabled or not." + }, + "defaultAction": { + "type": "string", + "description": "Default Action for Network Rule Set", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "DefaultAction", + "modelAsString": true + } + }, + "virtualNetworkRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NWRuleSetVirtualNetworkRules" + }, + "description": "List VirtualNetwork Rules" + }, + "ipRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NWRuleSetIpRules" + }, + "description": "List of IpRules" + }, + "publicNetworkAccess": { + "description": "This determines if traffic is allowed over public network. By default it is enabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccessFlag", + "modelAsString": true + }, + "default": "Enabled" + } + } + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Description of topic resource." + }, + "NetworkRuleSetListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkRuleSet" + }, + "description": "Result of the List NetworkRuleSet operation" + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of NetworkRuleSet." + } + }, + "description": "The response of the List NetworkRuleSet operation" + } + }, + "parameters": {} +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/operations.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/operations.json new file mode 100644 index 000000000000..d4a176f3221c --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/operations.json @@ -0,0 +1,149 @@ +{ + "swagger": "2.0", + "info": { + "title": "EventHubManagementClient", + "description": "Azure Event Hubs client", + "version": "2021-11-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": { + "/providers/Microsoft.EventHub/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "EHOperations_List": { + "$ref": "./examples/EHOperations_List.json" + } + }, + "description": "Lists all of the available Event Hub REST API operations.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list Event Hub operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "List of Event Hub operations supported by the Microsoft.EventHub resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "A Event Hub REST API operation", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{operation}" + }, + "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": { + "description": "Properties of the operation", + "type": "object", + "x-ms-client-flatten": true + } + } + }, + "OperationDisplay": { + "description": "Operation display payload", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider of the operation", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Resource of the operation", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Localized friendly name for the operation", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Localized friendly description for the operation", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": {} +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/quotaConfiguration-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/quotaConfiguration-preview.json new file mode 100644 index 000000000000..d95d702df4f8 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/quotaConfiguration-preview.json @@ -0,0 +1,157 @@ +{ + "swagger": "2.0", + "info": { + "title": "EventHubManagementClient", + "description": "Azure Event Hubs client for managing Event Hubs Cluster, IPFilter Rules and VirtualNetworkRules resources.", + "version": "2021-11-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.EventHub/clusters/{clusterName}/quotaConfiguration/default": { + "patch": { + "tags": [ + "Event Hubs Clusters Configuration" + ], + "operationId": "Configuration_Patch", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterQuotaConfigurationProperties", + "required": [ + "settings" + ] + }, + "description": "Parameters for creating an Event Hubs Cluster resource." + } + ], + "x-ms-examples": { + "ClustersQuotasConfigurationPatch": { + "$ref": "./examples/Clusters/ClusterQuotaConfigurationPatch.json" + } + }, + "description": "Replace all specified Event Hubs Cluster settings with those contained in the request body. Leaves the settings not specified in the request body unmodified.", + "responses": { + "200": { + "description": "Event Hubs Cluster settings configuration returned.", + "schema": { + "$ref": "#/definitions/ClusterQuotaConfigurationProperties" + } + }, + "201": { + "description": "Event Hubs Cluster setting configuration request successfully accepted.", + "schema": { + "$ref": "#/definitions/ClusterQuotaConfigurationProperties" + } + }, + "202": { + "description": "Event Hubs Cluster update request accepted." + }, + "default": { + "description": "Event Hubs Cluster error response describing why the get cluster quotas and settings operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Event Hubs Clusters Configuration" + ], + "operationId": "Configuration_Get", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "ClustersQuotasConfigurationGet": { + "$ref": "./examples/Clusters/ClusterQuotaConfigurationGet.json" + } + }, + "description": "Get all Event Hubs Cluster settings - a collection of key/value pairs which represent the quotas and settings imposed on the cluster.", + "responses": { + "200": { + "description": "Event Hubs Cluster settings configuration returned.", + "schema": { + "$ref": "#/definitions/ClusterQuotaConfigurationProperties" + } + }, + "default": { + "description": "Event Hubs Cluster error response describing why the get cluster quotas and settings operation failed.", + "schema": { + "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ClusterQuotaConfigurationProperties": { + "type": "object", + "properties": { + "settings": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "All possible Cluster settings - a collection of key/value paired settings which apply to quotas and configurations imposed on the cluster." + } + }, + "description": "Contains all settings for the cluster." + } + }, + "parameters": {} +} diff --git a/specification/eventhub/resource-manager/common/v1/definitions.json b/specification/eventhub/resource-manager/common/v1/definitions.json index a2e23cdaaa56..0d321f11ad03 100644 --- a/specification/eventhub/resource-manager/common/v1/definitions.json +++ b/specification/eventhub/resource-manager/common/v1/definitions.json @@ -1,23 +1,5 @@ { "swagger": "2.0", - "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" - } - } - }, "info": { "version": "1.0", "title": "Common types" @@ -50,24 +32,25 @@ "description": "Definition of resource." }, "Resource": { + "title": "Resource", + "description": "Common fields that are returned in the response for all Azure Resource Manager resources", "properties": { "id": { "readOnly": true, "type": "string", - "description": "Resource ID." + "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" }, "name": { "readOnly": true, "type": "string", - "description": "Resource name." + "description": "The name of the resource" }, "type": { "readOnly": true, "type": "string", - "description": "Resource type." + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" } }, - "description": "The resource definition.", "x-ms-azure-resource": true }, "ErrorResponse": { diff --git a/specification/eventhub/resource-manager/common/v2/definitions.json b/specification/eventhub/resource-manager/common/v2/definitions.json new file mode 100644 index 000000000000..f9273f28d45c --- /dev/null +++ b/specification/eventhub/resource-manager/common/v2/definitions.json @@ -0,0 +1,113 @@ +{ + "swagger": "2.0", + "info": { + "version": "2.0", + "title": "Common types" + }, + "paths": {}, + "definitions": { + "ProxyResource": { + "title": "Resource", + "description": "Common fields that are returned in the response for all Azure Resource Manager resources", + "type": "object", + "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.EventHub/Namespaces\" or \"Microsoft.EventHub/Namespaces/EventHubs\"" + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The geo-location where the resource lives" + } + }, + "x-ms-azure-resource": true + }, + "ErrorDetail": { + "description": "The error detail.", + "type": "object", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The error target." + }, + "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." + } + } + }, + "ErrorResponse": { + "description": "Error response indicates Event Hub service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "error": { + "description": "The error object.", + "$ref": "#/definitions/ErrorDetail" + } + } + }, + "ErrorAdditionalInfo": { + "type": "object", + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The additional info type." + }, + "info": { + "readOnly": true, + "type": "object", + "description": "The additional info." + } + }, + "description": "The resource management error additional info." + } + }, + "parameters": { + "SchemaGroupNameParameter": { + "name": "schemaGroupName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 256, + "x-ms-parameter-location": "method", + "description": "The Schema Group name " + } + } +} diff --git a/specification/eventhub/resource-manager/readme.go.md b/specification/eventhub/resource-manager/readme.go.md index 5cec8aab6180..082b9c18eebd 100644 --- a/specification/eventhub/resource-manager/readme.go.md +++ b/specification/eventhub/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/eventhub/armeventhub +module-name: sdk/resourcemanager/eventhub/armeventhub module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true @@ -24,6 +24,8 @@ batch: - tag: package-2017-04 - tag: package-2015-08 - tag: package-2018-01-preview + - tag: package-2021-01-preview + - tag: package-2021-11 ``` ### Tag: package-2017-04 and go @@ -44,6 +46,33 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-01-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-01-01-preview/$(namespace) +``` + +### Tag: package-2021-06-preview and go + +These settings apply only when `--tag=package-2021-06-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-06-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-06-01-preview/$(namespace) +``` + +### Tag: package-2021-11 and go + +These settings apply only when `--tag=package-2021-11 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-11' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-11-01/$(namespace) +``` + ### Tag: package-2015-08 and go These settings apply only when `--tag=package-2015-08 --go` is specified on the command line. diff --git a/specification/eventhub/resource-manager/readme.java.md b/specification/eventhub/resource-manager/readme.java.md index 2debab97a829..e7504a0651ab 100644 --- a/specification/eventhub/resource-manager/readme.java.md +++ b/specification/eventhub/resource-manager/readme.java.md @@ -17,11 +17,53 @@ service-name: EventHubs ``` yaml $(java) && $(multiapi) batch: + - tag: package-2021-11 + - tag: package-2021-06-preview + - tag: package-2021-01-preview - tag: package-2018-01-preview - tag: package-2015-08 - tag: package-2017-04 ``` +### Tag: package-2021-11 and java + +These settings apply only when `--tag=package-2021-11 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2021-11' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.eventhubs.v2021_11_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/eventhubs/mgmt-v2021_11_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2021-06-preview and java + +These settings apply only when `--tag=package-2021-06-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2021-06-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.eventhubs.v2021_06_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/eventhubs/mgmt-v2021_06_01_preview +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2021-01-preview and java + +These settings apply only when `--tag=package-2021-01-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2021-01-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.eventhubs.v2021_01_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/eventhubs/mgmt-v2021_01_01_preview +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2018-01-preview and java These settings apply only when `--tag=package-2018-01-preview --java` is specified on the command line. @@ -60,3 +102,23 @@ java: regenerate-manager: true generate-interface: true ``` + +### Tag: profile-hybrid-2020-09-01 and java + +These settings apply only when `--tag=profile-hybrid-2020-09-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'profile-hybrid-2020-09-01' && $(java) +input-file: + - Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json + - Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json + - Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json + - Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json + - Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json + - Microsoft.EventHub/stable/2017-04-01/consumergroups.json + - Microsoft.EventHub/stable/2017-04-01/operations.json + - Microsoft.EventHub/stable/2017-04-01/eventhubs.json + - Microsoft.EventHub/stable/2017-04-01/sku.json + - Microsoft.EventHub/stable/2017-04-01/disasterRecoveryConfigs.json + - Microsoft.EventHub/stable/2017-04-01/networkRuleSets.json +``` diff --git a/specification/eventhub/resource-manager/readme.md b/specification/eventhub/resource-manager/readme.md index dddea3b88537..5e9ec13e349f 100644 --- a/specification/eventhub/resource-manager/readme.md +++ b/specification/eventhub/resource-manager/readme.md @@ -26,7 +26,7 @@ These are the global settings for the EventHub API. ``` yaml openapi-type: arm -tag: package-2021-06-preview +tag: package-2021-11 ``` ### Suppression @@ -131,6 +131,26 @@ input-file: - Microsoft.EventHub/preview/2018-01-01-preview/sku.json ``` +### Tag: package-2021-11 + +These settings apply only when `--tag=package-2021-11` is specified on the command line. + +``` yaml $(tag) == 'package-2021-11' +input-file: +- Microsoft.EventHub/stable/2021-11-01/AvailableClusterRegions-preview.json +- Microsoft.EventHub/stable/2021-11-01/Clusters-preview.json +- Microsoft.EventHub/stable/2021-11-01/quotaConfiguration-preview.json +- Microsoft.EventHub/stable/2021-11-01/namespaces-preview.json +- Microsoft.EventHub/stable/2021-11-01/operations.json +- Microsoft.EventHub/stable/2021-11-01/eventhubs.json +- Microsoft.EventHub/stable/2021-11-01/disasterRecoveryConfigs.json +- Microsoft.EventHub/stable/2021-11-01/networkrulessets-preview.json +- Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json +- Microsoft.EventHub/stable/2021-11-01/consumergroups.json +- Microsoft.EventHub/stable/2021-11-01/CheckNameAvailability.json +- Microsoft.EventHub/stable/2021-11-01/SchemaRegistry.json +``` + ### Tag: profile-hybrid-2020-09-01 These settings apply only when `--tag=profile-hybrid-2020-09-01` is specified on the command line. diff --git a/specification/eventhub/resource-manager/readme.python.md b/specification/eventhub/resource-manager/readme.python.md index 9376c4bcf43a..b0546daaa499 100644 --- a/specification/eventhub/resource-manager/readme.python.md +++ b/specification/eventhub/resource-manager/readme.python.md @@ -31,6 +31,7 @@ Generate all API versions currently shipped for this package ```yaml $(multiapi) && !$(track2) batch: + - tag: package-2021-11 - tag: package-2021-06-preview - tag: package-2021-01-preview - tag: package-2018-01-preview @@ -41,6 +42,7 @@ batch: ```yaml $(multiapi) && $(track2) clear-output-folder: true batch: + - tag: package-2021-11 - tag: package-2021-06-preview - tag: package-2021-01-preview - tag: package-2018-01-preview @@ -55,6 +57,19 @@ clear-output-folder: false perform-load: false ``` +### Tag: package-2021-11 and python + +These settings apply only when `--tag=package-2021-11 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-11' +namespace: azure.mgmt.eventhub.v2021_11_01 +output-folder: $(python-sdks-folder)/eventhub/azure-mgmt-eventhub/azure/mgmt/eventhub/v2021_11_01 +python: + namespace: azure.mgmt.eventhub.v2021_11_01 + output-folder: $(python-sdks-folder)/eventhub/azure-mgmt-eventhub/azure/mgmt/eventhub/v2021_11_01 +``` + ### Tag: package-2021-06-preview and python These settings apply only when `--tag=package-2021-06-preview --python` is specified on the command line. diff --git a/specification/eventhub/resource-manager/readme.ruby.md b/specification/eventhub/resource-manager/readme.ruby.md index 4b4c1f8df273..1a0adbbdb6ff 100644 --- a/specification/eventhub/resource-manager/readme.ruby.md +++ b/specification/eventhub/resource-manager/readme.ruby.md @@ -12,6 +12,10 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-2021-11 + - tag: package-2021-06-preview + - tag: package-2021-01-preview + - tag: package-2018-01-preview - tag: package-2017-04 - tag: package-2015-08 ``` @@ -35,3 +39,47 @@ Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2018-01-preview' && $(ruby) + +namespace: "Azure::EventHub::Mgmt::V2018_01_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_hub/lib +``` + +### Tag: package-2021-01-preview and ruby + +These settings apply only when `--tag=package-2021-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-01-preview' && $(ruby) + +namespace: "Azure::EventHub::Mgmt::V2021_01_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_hub/lib +``` + +### Tag: package-2021-06-preview and ruby + +These settings apply only when `--tag=package-2021-06-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-06-preview' && $(ruby) + +namespace: "Azure::EventHub::Mgmt::V2021_06_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_hub/lib +``` + +### Tag: package-2021-11 and ruby + +These settings apply only when `--tag=package-2021-11 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-11' && $(ruby) + +namespace: "Azure::EventHub::Mgmt::V2021_11_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_hub/lib +``` diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListOperations.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListOperations.json index ace9a71bca28..66f5726dbeda 100644 --- a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListOperations.json +++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListOperations.json @@ -70,7 +70,7 @@ "resource": "Custom Locations" }, "origin": "user,system", - "isDataAction": true + "isDataAction": false }, { "name": "Microsoft.ExtendedLocation/customLocations/delete", diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/stable/2021-08-15/examples/CustomLocationsListOperations.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/stable/2021-08-15/examples/CustomLocationsListOperations.json index 52496af7bafb..4b87281d8485 100644 --- a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/stable/2021-08-15/examples/CustomLocationsListOperations.json +++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/stable/2021-08-15/examples/CustomLocationsListOperations.json @@ -70,7 +70,7 @@ "resource": "Custom Locations" }, "origin": "user,system", - "isDataAction": true + "isDataAction": false }, { "name": "Microsoft.ExtendedLocation/customLocations/delete", diff --git a/specification/hdinsight/resource-manager/readme.go.md b/specification/hdinsight/resource-manager/readme.go.md index c7a07c4c158e..42390069b11a 100644 --- a/specification/hdinsight/resource-manager/readme.go.md +++ b/specification/hdinsight/resource-manager/readme.go.md @@ -2,21 +2,39 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: hdinsight clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/hdinsight/armhdinsight +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-06 - tag: package-2018-06-preview - tag: package-2015-03-preview ``` +### Tag: package-2021-06 and go + +These settings apply only when `--tag=package-2021-06 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-06' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-06-01/$(namespace) +``` + ### Tag: package-2018-06-preview and go These settings apply only when `--tag=package-2018-06-preview --go` is specified on the command line. diff --git a/specification/hdinsight/resource-manager/readme.md b/specification/hdinsight/resource-manager/readme.md index 69692c65af07..3c89a7b34e4a 100644 --- a/specification/hdinsight/resource-manager/readme.md +++ b/specification/hdinsight/resource-manager/readme.md @@ -174,6 +174,7 @@ This is not used by Autorest itself. swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-js diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/GetOperations.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/GetOperations.json new file mode 100644 index 000000000000..43e44b7ea8a6 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/GetOperations.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-08-24" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Healthbot/healthbots/read", + "display": { + "provider": "Azure Health Bot", + "resource": "Azure Health Bot", + "operation": "Read Azure Health Bot", + "description": "Read Azure Health Bot" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Healthbot/healthbots/write", + "display": { + "provider": "Azure Health Bot", + "resource": "Azure Health Bot", + "operation": "Write Azure Health Bot", + "description": "Writes Azure Health Bot" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Healthbot/healthbots/delete", + "display": { + "provider": "Azure Health Bot", + "resource": "Azure Health Bot", + "operation": "Delete Azure Health Bot", + "description": "Deletes Azure Health Bot" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ListBotsByResourceGroup.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ListBotsByResourceGroup.json new file mode 100644 index 000000000000..398123090c28 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ListBotsByResourceGroup.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-08-24" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/samplebotname-1yhd91k" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + }, + { + "location": "East US", + "name": "samplebotname2", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname2", + "sku": { + "name": "S1" + }, + "identity": { + "userAssignedIdentities": { + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {}, + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {} + }, + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned, UserAssigned" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/samplebotname2-hdi1osc" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + ] + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ListBotsBySubscription.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ListBotsBySubscription.json new file mode 100644 index 000000000000..f8135e2477ec --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ListBotsBySubscription.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-08-24" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "East US", + "name": "samplebotname2", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname2", + "sku": { + "name": "S1" + }, + "identity": { + "userAssignedIdentities": { + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {}, + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {} + }, + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned, UserAssigned" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/samplebotname2-hdi1osc" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + ] + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceCreationPut.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceCreationPut.json new file mode 100644 index 000000000000..736ecc67d2f0 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceCreationPut.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "resourceGroupName": "healthbotClient", + "api-version": "2021-08-24", + "subscriptionId": "subid", + "botName": "samplebotname", + "parameters": { + "location": "East US", + "sku": { + "name": "F0" + }, + "identity": { + "userAssignedIdentities": { + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {}, + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {} + }, + "type": "SystemAssigned, UserAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "identity": { + "userAssignedIdentities": { + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {}, + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {} + }, + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned, UserAssigned" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + }, + "201": { + "body": { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso", + "provisioningState": "Provisioning" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceDeletionDelete.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceDeletionDelete.json new file mode 100644 index 000000000000..7434003fb0ca --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceDeletionDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "healthbotClient", + "api-version": "2021-08-24", + "subscriptionId": "subid", + "botName": "samplebotname" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceInfoGet.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceInfoGet.json new file mode 100644 index 000000000000..07bdd23d2a01 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceInfoGet.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "resourceGroupName": "healthbotClient", + "api-version": "2021-08-24", + "subscriptionId": "subid", + "botName": "samplebotname" + }, + "responses": { + "200": { + "body": { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "identity": { + "userAssignedIdentities": { + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {}, + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {} + }, + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned, UserAssigned" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceUpdatePatch.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceUpdatePatch.json new file mode 100644 index 000000000000..88c3091858d1 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceUpdatePatch.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "resourceGroupName": "healthbotClient", + "api-version": "2021-08-24", + "subscriptionId": "subid", + "botName": "samplebotname", + "identity": { + "userAssignedIdentities": { + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {}, + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {} + }, + "type": "SystemAssigned, UserAssigned" + }, + "parameters": { + "sku": { + "name": "F0" + } + } + }, + "responses": { + "200": { + "body": { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "identity": { + "userAssignedIdentities": { + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {}, + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {} + }, + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned, UserAssigned" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + }, + "201": { + "body": { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/healthbot.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/healthbot.json new file mode 100644 index 000000000000..77e4b09bce17 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/healthbot.json @@ -0,0 +1,836 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-08-24", + "title": "Azure Health Bot", + "description": "Azure Health Bot is a cloud platform that empowers developers in Healthcare organizations to build and deploy their compliant, AI-powered virtual health assistants and health bots, that help them improve processes and reduce costs.", + "x-ms-code-generation-settings": { + "name": "healthbotClient" + } + }, + "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.HealthBot/healthBots/{botName}": { + "put": { + "operationId": "Bots_Create", + "x-ms-examples": { + "BotCreate": { + "$ref": "./examples/ResourceCreationPut.json" + } + }, + "description": "Create a new Azure Health Bot.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HealthBot" + }, + "description": "The parameters to provide for the created Azure Health Bot." + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "If resource is updated successfully, the service should return 200.", + "schema": { + "$ref": "#/definitions/HealthBot" + } + }, + "201": { + "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "schema": { + "$ref": "#/definitions/HealthBot" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "operationId": "Bots_Get", + "x-ms-examples": { + "ResourceInfoGet": { + "$ref": "./examples/ResourceInfoGet.json" + } + }, + "description": "Get a HealthBot.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "If resource is got successfully, the service should return 200.", + "schema": { + "$ref": "#/definitions/HealthBot" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "Bots_Update", + "x-ms-examples": { + "BotUpdate": { + "$ref": "./examples/ResourceUpdatePatch.json" + } + }, + "description": "Patch a HealthBot.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HealthBotUpdateParameters" + }, + "description": "The parameters to provide for the required Azure Health Bot." + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "If resource is patched successfully, the service should return 200.", + "schema": { + "$ref": "#/definitions/HealthBot" + } + }, + "201": { + "description": "If resource is received update request successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "schema": { + "$ref": "#/definitions/HealthBot" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "Bots_Delete", + "x-ms-examples": { + "BotDelete": { + "$ref": "./examples/ResourceDeletionDelete.json" + } + }, + "description": "Delete a HealthBot.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "If resource is deleted successfully, the service should return 200." + }, + "202": { + "description": "Accepted - Delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthBot/healthBots": { + "get": { + "description": "Returns all the resources of a particular type belonging to a resource group", + "operationId": "Bots_ListByResourceGroup", + "x-ms-examples": { + "List Bots by Resource Group": { + "$ref": "./examples/ListBotsByResourceGroup.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/BotResponseList" + } + }, + "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}/providers/Microsoft.HealthBot/healthBots": { + "get": { + "description": "Returns all the resources of a particular type belonging to a subscription.", + "operationId": "Bots_List", + "x-ms-examples": { + "List Bots by Subscription": { + "$ref": "./examples/ListBotsBySubscription.json" + } + }, + "parameters": [ + { + "$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. 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/BotResponseList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.HealthBot/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all the available Azure Health Bot operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "Get Operations": { + "$ref": "./examples/GetOperations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/AvailableOperations" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Identity": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "The identity type. 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 Azure Health Bot", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "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" + } + }, + "description": "Identity for the resource." + }, + "UserAssignedIdentityMap": { + "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:\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.\n", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + } + }, + "UserAssignedIdentity": { + "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." + } + }, + "type": "object", + "description": "The details of the user assigned managed identity used by the Video Analyzer resource." + }, + "KeyVaultProperties": { + "type": "object", + "description": "Properties of the key vault.", + "required": [ + "keyName", + "keyVaultUri" + ], + "properties": { + "keyName": { + "type": "string", + "description": "The name of the key vault key.", + "x-ms-client-name": "KeyName" + }, + "keyVersion": { + "type": "string", + "description": "The version of the key vault key.", + "x-ms-client-name": "KeyVersion" + }, + "keyVaultUri": { + "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" + } + } + }, + "Sku": { + "type": "object", + "description": "The resource model definition representing SKU", + "properties": { + "name": { + "type": "string", + "description": "The name of the Azure Health Bot SKU", + "enum": [ + "F0", + "S1", + "C0" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + } + }, + "required": [ + "name" + ] + }, + "Resource": { + "type": "object", + "description": "The resource model definition for a ARM tracked top level resource", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "Fully qualified resource Id for 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 + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource" + } + } + }, + "TrackedResource": { + "type": "object", + "description": "The resource model definition for a ARM tracked top level resource", + "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 geo-location where the resource lives" + } + }, + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "HealthBot": { + "type": "object", + "description": "Azure Health Bot resource definition", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "SKU of the Azure Health Bot." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the Azure Health Bot." + }, + "properties": { + "$ref": "#/definitions/HealthBotProperties", + "description": "The set of properties specific to Azure Health Bot resource." + } + }, + "required": [ + "sku" + ] + }, + "HealthBotProperties": { + "type": "object", + "title": "HealthBotProperties", + "description": "The properties of a Azure Health Bot. The Health Bot Service is a cloud platform that empowers developers in Healthcare organizations to build and deploy their compliant, AI-powered virtual health assistants and health bots, that help them improve processes and reduce costs.", + "properties": { + "provisioningState": { + "type": "string", + "description": "The provisioning state of the Azure Health Bot resource.", + "readOnly": true + }, + "botManagementPortalLink": { + "type": "string", + "description": "The link.", + "readOnly": true + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "KeyVault properties for the resource encryption." + } + } + }, + "HealthBotUpdateParameters": { + "type": "object", + "description": "Parameters for updating a Azure Health Bot.", + "properties": { + "properties": { + "$ref": "#/definitions/HealthBotProperties", + "description": "Properties of Azure Health Bot." + }, + "tags": { + "type": "object", + "description": "Tags for a Azure Health Bot.", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ] + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "SKU of the Azure Health Bot." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the Azure Health Bot." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + } + } + }, + "SystemData": { + "description": "Read only system data", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "$ref": "#/definitions/IdentityType", + "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": { + "$ref": "#/definitions/IdentityType", + "description": "The type of identity that last modified the resource" + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)" + } + } + }, + "IdentityType": { + "description": "The type of identity that creates/modifies resources", + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + }, + "ValidationResult": { + "type": "object", + "title": "ValidationResult", + "description": "The response returned from validation process", + "properties": { + "status": { + "type": "string", + "description": "The status code of the response validation." + } + } + }, + "Error": { + "type": "object", + "properties": { + "error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The error target." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Error" + }, + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "description": "The error additional info." + } + } + } + }, + "description": "The resource management error response." + }, + "ErrorAdditionalInfo": { + "type": "object", + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The additional info type." + }, + "info": { + "readOnly": true, + "type": "object", + "description": "The additional info." + } + }, + "description": "The resource management error additional info." + }, + "AvailableOperations": { + "description": "Available operations of the service", + "type": "object", + "properties": { + "value": { + "description": "Collection of available operation details", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OperationDetail" + } + }, + "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" + } + } + }, + "OperationDetail": { + "description": "Operation detail payload", + "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": { + "description": "Additional properties.", + "type": "object" + } + } + }, + "OperationDisplay": { + "description": "Operation display payload", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider of the operation", + "type": "string" + }, + "resource": { + "description": "Resource of the operation", + "type": "string" + }, + "operation": { + "description": "Localized friendly name for the operation", + "type": "string" + }, + "description": { + "description": "Localized friendly description for the operation", + "type": "string" + } + } + }, + "BotResponseList": { + "type": "object", + "properties": { + "nextLink": { + "readOnly": true, + "description": "The link used to get the next page of bot service resources.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/HealthBot" + }, + "description": "Gets the list of Azure Health Bot results and their properties." + } + }, + "description": "The list of Azure Health Bot operation response." + } + }, + "parameters": { + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "maxLength": 64, + "minLength": 2, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of the Bot resource group in the user subscription." + }, + "resourceNameParameter": { + "name": "botName", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "maxLength": 64, + "minLength": 2, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of the Bot resource." + }, + "subscriptionIdParameter": { + "name": "subscriptionId", + "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." + } + } +} diff --git a/specification/healthbot/resource-manager/readme.md b/specification/healthbot/resource-manager/readme.md index 8c56ec316eb2..c0b39299658e 100644 --- a/specification/healthbot/resource-manager/readme.md +++ b/specification/healthbot/resource-manager/readme.md @@ -31,6 +31,17 @@ openapi-subtype: rpaas tag: package-2021-06-10 ``` +### Tag: package-2021-08-24 + +These settings apply only when `--tag=package-2021-08-24` is specified on the command line. + +```yaml $(tag) == 'package-2021-08-24' +input-file: + - Microsoft.HealthBot/stable/2021-08-24/healthbot.json +``` + +--- + ### Tag: package-2021-06-10 These settings apply only when `--tag=package-2021-06-10` is specified on the command line. diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsDeleteDefault.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsDeleteDefault.json new file mode 100644 index 000000000000..164e62932f70 --- /dev/null +++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsDeleteDefault.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "resourceUri": "subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine", + "api-version": "2021-10-06-preview", + "endpointName": "default" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsGetCustom.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsGetCustom.json new file mode 100644 index 000000000000..2c9d1e3a37da --- /dev/null +++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsGetCustom.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceUri": "subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine", + "api-version": "2021-10-06-preview", + "endpointName": "custom" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine/providers/Microsoft.HybridConnectivity/endpoints/custom", + "name": "custom", + "type": "Microsoft.HybridConnectivity/endpoints", + "properties": { + "type": "custom", + "resourceId": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.Relay/namespaces/custom-relay-namespace" + } + } + } + } +} diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsGetDefault.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsGetDefault.json new file mode 100644 index 000000000000..a433bad56209 --- /dev/null +++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsGetDefault.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "resourceUri": "subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine", + "api-version": "2021-10-06-preview", + "endpointName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine/providers/Microsoft.HybridConnectivity/endpoints/default", + "name": "default", + "type": "Microsoft.HybridConnectivity/endpoints", + "properties": { + "type": "default" + } + } + } + } +} diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsList.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsList.json new file mode 100644 index 000000000000..e201956d09e2 --- /dev/null +++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "resourceUri": "subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine", + "api-version": "2021-10-06-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine/providers/Microsoft.HybridConnectivity/endpoints/default", + "name": "default", + "type": "Microsoft.HybridConnectivity/endpoints", + "properties": { + "type": "default" + } + }, + { + "id": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine/providers/Microsoft.HybridConnectivity/endpoints/custom", + "name": "custom", + "type": "Microsoft.HybridConnectivity/endpoints", + "properties": { + "type": "custom", + "resourceId": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.Relay/namespaces/custom-relay-namespace" + } + } + ] + } + } + } +} diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPatchDefault.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPatchDefault.json new file mode 100644 index 000000000000..dc850d159a30 --- /dev/null +++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPatchDefault.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "resourceUri": "subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine", + "api-version": "2021-10-06-preview", + "endpointName": "default", + "EndpointResource": { + "properties": { + "type": "default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine/providers/Microsoft.HybridConnectivity/endpoints/default", + "name": "default", + "type": "Microsoft.HybridConnectivity/endpoints", + "properties": { + "type": "default", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPostListCredentials.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPostListCredentials.json new file mode 100644 index 000000000000..64333cd9116b --- /dev/null +++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPostListCredentials.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "resourceUri": "subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine", + "api-version": "2021-10-06-preview", + "endpointName": "default", + "expiresin": 10800 + }, + "responses": { + "200": { + "body": { + "relay": { + "namespaceName": "azgnrelay-eastus-l1", + "namespaceNameSuffix": "servicebus.windows.net", + "hybridConnectionName": "microsoft.kubernetes/connectedclusters/a0e1fd7d1d974ddf6b11a952d67679c9f12c006eee16861857a8268da4eb1498/1619989456957411072", + "accessKey": "SharedAccessSignature sr=http%3A%2F%2Fazgnrelay-eastus-l1.servicebus.windows.net%2Fmicrosoft.kubernetes%2Fconnectedclusters%2Fa0e1fd7d1d974ddf6b11a952d67679c9f12c006eee16861857a8268da4eb1498%2F1619989456957411072%2F&sig=WxDwPF6AmmODaMHNnBGDSm773UG%2B%2Be", + "expiresOn": 1620000256 + } + } + } + } +} diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPutCustom.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPutCustom.json new file mode 100644 index 000000000000..a1fc54c17bb8 --- /dev/null +++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPutCustom.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "resourceUri": "subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine", + "api-version": "2021-10-06-preview", + "endpointName": "custom", + "EndpointResource": { + "properties": { + "type": "custom", + "resourceId": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.Relay/namespaces/custom-relay-namespace" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine/providers/Microsoft.HybridConnectivity/endpoints/custom", + "name": "custom", + "type": "Microsoft.HybridConnectivity/endpoints", + "properties": { + "type": "custom", + "resourceId": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.Relay/namespaces/custom-relay-namespace", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPutDefault.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPutDefault.json new file mode 100644 index 000000000000..dc850d159a30 --- /dev/null +++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPutDefault.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "resourceUri": "subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine", + "api-version": "2021-10-06-preview", + "endpointName": "default", + "EndpointResource": { + "properties": { + "type": "default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine/providers/Microsoft.HybridConnectivity/endpoints/default", + "name": "default", + "type": "Microsoft.HybridConnectivity/endpoints", + "properties": { + "type": "default", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/OperationsList.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/OperationsList.json new file mode 100644 index 000000000000..929b2d9e3772 --- /dev/null +++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/OperationsList.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2021-10-06-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.HybridConnectivity/operations/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.HybridConnectivity", + "resource": "Operations", + "operation": "Get operations", + "description": "Get the list of Operations" + } + }, + { + "name": "Microsoft.HybridConnectivity/endpoints/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.HybridConnectivity", + "resource": "endpoints", + "operation": "Get/List endpoints", + "description": "Get or list of endpoints to the target resource." + } + }, + { + "name": "Microsoft.HybridConnectivity/endpoints/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.HybridConnectivity", + "resource": "endpoints", + "operation": "Create/Update endpoint", + "description": "Create or update the endpoint to the target resource." + } + }, + { + "name": "Microsoft.HybridConnectivity/endpoints/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.HybridConnectivity", + "resource": "endpoints", + "operation": "Delete endpoint", + "description": "Deletes the endpoint access to the target resource." + } + }, + { + "name": "Microsoft.HybridConnectivity/endpoints/listCredentials/action", + "isDataAction": false, + "display": { + "provider": "Microsoft.HybridConnectivity", + "resource": "endpoints", + "operation": "List credentials for endpoint access", + "description": "List the endpoint access credentials to the resource." + } + }, + { + "name": "Microsoft.HybridConnectivity/register/action", + "isDataAction": false, + "display": { + "provider": "Microsoft.HybridConnectivity", + "resource": "Microsoft.HybridConnectivity", + "operation": "Register the Microsoft.HybridConnectivity", + "description": "Register the subscription for Microsoft.HybridConnectivity" + } + }, + { + "name": "Microsoft.HybridConnectivity/unregister/action", + "isDataAction": false, + "display": { + "provider": "Microsoft.HybridConnectivity", + "resource": "Microsoft.HybridConnectivity", + "operation": "Unregister the Microsoft.HybridConnectivity", + "description": "Unregister the subscription for Microsoft.HybridConnectivity" + } + } + ] + } + } + } +} diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/hybridconnectivity.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/hybridconnectivity.json new file mode 100644 index 000000000000..090f492c5698 --- /dev/null +++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/hybridconnectivity.json @@ -0,0 +1,502 @@ +{ + "swagger": "2.0", + "info": { + "title": "Hybrid Connectivity Management API", + "description": "REST API for Hybrid Connectivity", + "version": "2021-10-06-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": { + "/providers/Microsoft.HybridConnectivity/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists the available Hybrid Connectivity REST API operations.", + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "x-ms-examples": { + "HybridConnectivityOperationsList": { + "$ref": "./examples/OperationsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Operation details.", + "schema": { + "$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" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{resourceUri}/providers/Microsoft.HybridConnectivity/endpoints": { + "get": { + "tags": [ + "Endpoints" + ], + "description": "List of endpoints to the target resource.", + "operationId": "Endpoints_List", + "produces": [ + "application/json" + ], + "x-ms-examples": { + "HybridConnectivityEndpointsGet": { + "$ref": "./examples/EndpointsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceUriParameter" + } + ], + "responses": { + "200": { + "description": "List of endpoints.", + "schema": { + "$ref": "#/definitions/EndpointsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{resourceUri}/providers/Microsoft.HybridConnectivity/endpoints/{endpointName}": { + "get": { + "tags": [ + "Endpoints" + ], + "description": "Gets the endpoint to the resource.", + "operationId": "Endpoints_Get", + "produces": [ + "application/json" + ], + "x-ms-examples": { + "HybridConnectivityEndpointsGetDefault": { + "$ref": "./examples/EndpointsGetDefault.json" + }, + "HybridConnectivityEndpointsGetCustom": { + "$ref": "./examples/EndpointsGetCustom.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "#/parameters/EndpointNameParameter" + } + ], + "responses": { + "200": { + "description": "Endpoint details", + "schema": { + "$ref": "#/definitions/EndpointResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "Endpoints" + ], + "description": "Create or update the endpoint to the target resource.", + "operationId": "Endpoints_CreateOrUpdate", + "produces": [ + "application/json" + ], + "x-ms-examples": { + "HybridConnectivityEndpointsPutDefault": { + "$ref": "./examples/EndpointsPutDefault.json" + }, + "HybridConnectivityEndpointsPutCustom": { + "$ref": "./examples/EndpointsPutCustom.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "#/parameters/EndpointNameParameter" + }, + { + "name": "EndpointResource", + "description": "Endpoint details", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EndpointResource" + } + } + ], + "responses": { + "200": { + "description": "Endpoint details.", + "schema": { + "$ref": "#/definitions/EndpointResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Endpoints" + ], + "description": "Update the endpoint to the target resource.", + "operationId": "Endpoints_Update", + "produces": [ + "application/json" + ], + "x-ms-examples": { + "HybridConnectivityEndpointsPatchDefault": { + "$ref": "./examples/EndpointsPatchDefault.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "#/parameters/EndpointNameParameter" + }, + { + "name": "EndpointResource", + "description": "Endpoint details", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EndpointResource" + } + } + ], + "responses": { + "200": { + "description": "Endpoint resource.", + "schema": { + "$ref": "#/definitions/EndpointResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Endpoints" + ], + "description": "Deletes the endpoint access to the target resource.", + "operationId": "Endpoints_Delete", + "produces": [ + "application/json" + ], + "x-ms-examples": { + "HybridConnectivityEndpointsDeleteDefault": { + "$ref": "./examples/EndpointsDeleteDefault.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "#/parameters/EndpointNameParameter" + } + ], + "responses": { + "200": { + "description": "The endpoint is deleted successfully." + }, + "204": { + "description": "The endpoint has been deleted already." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/{resourceUri}/providers/Microsoft.HybridConnectivity/endpoints/{endpointName}/listCredentials": { + "post": { + "tags": [ + "Endpoints" + ], + "description": "Gets the endpoint access credentials to the resource.", + "operationId": "Endpoints_ListCredentials", + "produces": [ + "application/json" + ], + "x-ms-examples": { + "HybridConnectivityEndpointsPostListCredentials": { + "$ref": "./examples/EndpointsPostListCredentials.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "#/parameters/EndpointNameParameter" + }, + { + "$ref": "#/parameters/AccessTokenExpirationParameter" + } + ], + "responses": { + "200": { + "description": "Endpoint access credentials", + "schema": { + "$ref": "#/definitions/EndpointAccessResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "deprecated": false + } + } + }, + "definitions": { + "RelayNamespaceAccessProperties": { + "type": "object", + "description": "Azure relay hybrid connection access properties", + "required": [ + "namespaceName", + "namespaceNameSuffix", + "hybridConnectionName" + ], + "properties": { + "namespaceName": { + "type": "string", + "description": "The namespace name.", + "minLength": 1, + "maxLength": 200 + }, + "namespaceNameSuffix": { + "type": "string", + "description": "The suffix domain name of relay namespace.", + "minLength": 1, + "maxLength": 100 + }, + "hybridConnectionName": { + "type": "string", + "description": "Azure Relay hybrid connection name for the resource." + }, + "accessKey": { + "type": "string", + "description": "Access key for hybrid connection.", + "readOnly": true + }, + "expiresOn": { + "type": "integer", + "format": "int64", + "description": "The expiration of access key in unix time." + } + } + }, + "EndpointAccessResource": { + "description": "The endpoint access for the target resource.", + "type": "object", + "properties": { + "relay": { + "$ref": "#/definitions/RelayNamespaceAccessProperties", + "x-ms-client-flatten": true + } + } + }, + "EndpointProperties": { + "type": "object", + "description": "Endpoint details", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of endpoint.", + "enum": [ + "default", + "custom" + ], + "x-ms-enum": { + "name": "type", + "modelAsString": true + } + }, + "resourceId": { + "type": "string", + "description": "The resource Id of the connectivity endpoint (optional)." + }, + "provisioningState": { + "type": "string", + "readOnly": true + } + } + }, + "EndpointResource": { + "description": "The endpoint for the target resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "description": "System data of endpoint resource", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "x-ms-client-flatten": true + }, + "properties": { + "description": "The endpoint properties.", + "$ref": "#/definitions/EndpointProperties", + "x-ms-client-flatten": true + } + } + }, + "EndpointsList": { + "description": "The list of endpoints.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of endpoints list.", + "type": "string" + }, + "value": { + "description": "The list of endpoint.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointResource" + } + } + } + } + }, + "parameters": { + "ResourceUriParameter": { + "name": "resourceUri", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified Azure Resource manager identifier of the resource to be connected.", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "EndpointNameParameter": { + "name": "endpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The endpoint name.", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "AccessTokenExpirationParameter": { + "name": "expiresin", + "in": "query", + "required": false, + "type": "integer", + "format": "int64", + "default": 10800, + "minimum": 600, + "maximum": 10800, + "description": "The is how long the endpoint access token is valid (in seconds).", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/hybridconnectivity/resource-manager/readme.az.md b/specification/hybridconnectivity/resource-manager/readme.az.md new file mode 100644 index 000000000000..57f5bad54821 --- /dev/null +++ b/specification/hybridconnectivity/resource-manager/readme.az.md @@ -0,0 +1,28 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +For new Resource Provider. It is highly recommended to onboard Azure CLI extensions. There's no differences in terms of customer usage. + +``` yaml $(az) && $(target-mode) != 'core' +az: + extensions: hybridconnectivity + namespace: azure.mgmt.hybridconnectivity + package-name: azure-mgmt-hybridconnectivity +az-output-folder: $(azure-cli-extension-folder)/src/hybridconnectivity +python-sdk-output-folder: "$(az-output-folder)/azext_hybridconnectivity/vendored_sdks/hybridconnectivity" +# add additional configuration here specific for Azure CLI +# refer to the faq.md for more details +``` + + + +This is for command modules that already in azure cli main repo. +``` yaml $(az) && $(target-mode) == 'core' +az: + extensions: hybridconnectivity + namespace: azure.mgmt.hybridconnectivity + package-name: azure-mgmt-hybridconnectivity +az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/hybridconnectivity +python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/hybridconnectivity" +``` \ No newline at end of file diff --git a/specification/hybridconnectivity/resource-manager/readme.cli.md b/specification/hybridconnectivity/resource-manager/readme.cli.md new file mode 100644 index 000000000000..c6cf6ad37ea4 --- /dev/null +++ b/specification/hybridconnectivity/resource-manager/readme.cli.md @@ -0,0 +1 @@ +## CLI Common Settings for all the command line tools \ No newline at end of file diff --git a/specification/hybridconnectivity/resource-manager/readme.csharp.md b/specification/hybridconnectivity/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..483da256b6a3 --- /dev/null +++ b/specification/hybridconnectivity/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.HybridConnectivity + output-folder: $(csharp-sdks-folder)/hybridconnectivity/management/Microsoft.HybridConnectivity/GeneratedProtocol +``` diff --git a/specification/hybridconnectivity/resource-manager/readme.go.md b/specification/hybridconnectivity/resource-manager/readme.go.md new file mode 100644 index 000000000000..17c468591895 --- /dev/null +++ b/specification/hybridconnectivity/resource-manager/readme.go.md @@ -0,0 +1,26 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) && !$(track2) +go: + license-header: MICROSOFT_MIT_NO_VERSION + namespace: hybridconnectivity + clear-output-folder: true +``` + +### Go multi-api + +```yaml $(go) && $(multiapi) +batch: + - tag: package-2021-10-06-preview +``` + +### Tag: package-2021-10-06-preview and go + +These settings apply only when `--tag=package-2021-10-06-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +```yaml $(tag) == 'package-2021-10-06-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-10-06-preview/$(namespace) +``` diff --git a/specification/hybridconnectivity/resource-manager/readme.md b/specification/hybridconnectivity/resource-manager/readme.md new file mode 100644 index 000000000000..e369f406fef0 --- /dev/null +++ b/specification/hybridconnectivity/resource-manager/readme.md @@ -0,0 +1,80 @@ +# hybridconnectivity + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for hybridconnectivity. + +## Getting Started + +To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the hybridconnectivity. + +```yaml +openapi-type: arm +openapi-subtype: rpaas +tag: package-2021-10-06-preview +``` + +### Tag: package-2021-10-06-preview + +These settings apply only when `--tag=package-2021-10-06-preview` is specified on the command line. + +```yaml $(tag) == 'package-2021-10-06-preview' +input-file: + - Microsoft.HybridConnectivity/preview/2021-10-06-preview/hybridconnectivity.json +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +```yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-net + - repo: azure-sdk-for-python-track2 + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + - repo: azure-cli-extensions +``` +## Az + +See configuration in [readme.az.md](./readme.az.md) + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) diff --git a/specification/hybridconnectivity/resource-manager/readme.python.md b/specification/hybridconnectivity/resource-manager/readme.python.md new file mode 100644 index 000000000000..5cf6d5378b3e --- /dev/null +++ b/specification/hybridconnectivity/resource-manager/readme.python.md @@ -0,0 +1,23 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-hybridconnectivity +no-namespace-folders: true +package-version: 1.0.0b1 +clear-output-folder: true +``` + +``` yaml $(python-mode) == 'update' && $(track2) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/hybridconnectivity/azure-mgmt-hybridconnectivity/azure/mgmt/hybridconnectivity +``` + +``` yaml $(python-mode) == 'create' && $(track2) +basic-setup-py: true +output-folder: $(python-sdks-folder)/hybridconnectivity/azure-mgmt-hybridconnectivity +``` diff --git a/specification/hybridconnectivity/resource-manager/readme.typescript.md b/specification/hybridconnectivity/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..e6356be4ea96 --- /dev/null +++ b/specification/hybridconnectivity/resource-manager/readme.typescript.md @@ -0,0 +1,14 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-hybridconnectivity" + output-folder: "$(typescript-sdks-folder)/sdk/hybridconnectivity/arm-hybridconnectivity" + payload-flattening-threshold: 1 + clear-output-folder: true + generate-metadata: true +``` diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/device.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/device.json index 06a57e4ef093..6b6e7ef51509 100644 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/device.json +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/device.json @@ -391,6 +391,25 @@ ], "description": "Device resource." }, + "AzureStackEdgeFormat": { + "description": "The reference to the Azure stack edge device.", + "required": [ + "azureStackEdge" + ], + "x-ms-discriminator-value": "AzureStackEdge", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DevicePropertiesFormat" + } + ], + "properties": { + "azureStackEdge": { + "$ref": "./common.json#/definitions/SubResource", + "description": "The reference to the Azure stack edge device." + } + } + }, "DevicePropertiesFormat": { "description": "Device properties.", "required": [ @@ -430,11 +449,6 @@ "modelAsString": true } }, - "azureStackEdge": { - "x-ms-discriminator-value": "AzureStackEdge", - "$ref": "./common.json#/definitions/SubResource", - "description": "The reference to the Azure stack edge device." - }, "networkFunctions": { "readOnly": true, "type": "array", diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/stable/2021-05-01/device.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/stable/2021-05-01/device.json index d4692cac491c..823250bea977 100644 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/stable/2021-05-01/device.json +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/stable/2021-05-01/device.json @@ -396,6 +396,25 @@ ], "description": "Device resource." }, + "AzureStackEdgeFormat": { + "description": "The reference to the Azure stack edge device.", + "required": [ + "azureStackEdge" + ], + "x-ms-discriminator-value": "AzureStackEdge", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DevicePropertiesFormat" + } + ], + "properties": { + "azureStackEdge": { + "$ref": "./common.json#/definitions/SubResource", + "description": "The reference to the Azure stack edge device." + } + } + }, "DevicePropertiesFormat": { "description": "Device properties.", "required": [ @@ -435,11 +454,6 @@ "modelAsString": true } }, - "azureStackEdge": { - "x-ms-discriminator-value": "AzureStackEdge", - "$ref": "./common.json#/definitions/SubResource", - "description": "The reference to the Azure stack edge device. Once set, it cannot be updated." - }, "networkFunctions": { "readOnly": true, "type": "array", diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/stable/2020-02-14/imagebuilder.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/stable/2020-02-14/imagebuilder.json index c9dc3144d1eb..0e2d34232c90 100644 --- a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/stable/2020-02-14/imagebuilder.json +++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/stable/2020-02-14/imagebuilder.json @@ -946,7 +946,7 @@ "vmSize": { "type": "string", "default": "", - "description": "Size of the virtual machine used to build, customize and capture images. Omit or specify empty string to use the default (Standard_D1_v2)." + "description": "Size of the virtual machine used to build, customize and capture images. Omit or specify empty string to use the default (Standard_D1_v2 for Gen1 images and Standard_D2ds_v4 for Gen2 images)." }, "osDiskSizeGB": { "type": "integer", diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-03-01/examples/GetInstanceMetadata.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-03-01/examples/GetInstanceMetadata.json index 9f6c5560e5de..537f3774cdb0 100644 --- a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-03-01/examples/GetInstanceMetadata.json +++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-03-01/examples/GetInstanceMetadata.json @@ -9,6 +9,10 @@ "compute": { "azEnvironment": "AZUREPUBLICCLOUD", "evictionPolicy": "deallocate", + "extendedLocation": { + "type": "edgeZone", + "name": "microsoftlosangeles" + }, "isHostCompatibilityLayerVm": "true", "licenseType": "Windows_Server", "location": "westus", @@ -118,6 +122,9 @@ ], "userData": "Zm9vYmFy", "version": "15.05.22", + "virtualMachineScaleSet": { + "id": "/subscriptions/xxxxxxxx-xxxxx-xxx-xxx-xxxx/resourceGroups/resource-group-name/providers/Microsoft.Compute/virtualMachineScaleSets/virtual-machine-scale-set-name" + }, "vmId": "02aab8a4-74ef-476e-8182-f6d2ba4166a6", "vmScaleSetName": "crpteste9vflji9", "vmSize": "Standard_A3", diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-03-01/imds.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-03-01/imds.json index 996fab2bd5e1..e074796502e6 100644 --- a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-03-01/imds.json +++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-03-01/imds.json @@ -249,6 +249,11 @@ "type": "string", "description": "Describes how the VM will be evicted if space needs to be freed up. Only applicable to Spot VMs. For a non-spot VM, this will be an empty string." }, + "extendedLocation": { + "type": "object", + "description": "Describes the extended location of the VM", + "$ref": "#/definitions/ExtendedLocationProperties" + }, "isHostCompatibilityLayerVm": { "type": "string", "description": "Identifies if the VM runs on the Host Compatibility Layer." @@ -358,6 +363,11 @@ "type": "string", "description": "This is the version of the VM image." }, + "virtualMachineScaleSet": { + "type": "object", + "description": "Information about the VMSS the VM belongs to (if applicable)", + "$ref": "#/definitions/VirtualMachineScaleSet" + }, "vmId": { "type": "string", "description": "This is the unique identifier for the VM." @@ -391,6 +401,20 @@ }, "description": "Network Metadata" }, + "ExtendedLocationProperties": { + "type": "object", + "description": "Describes the extended location of the VM", + "properties": { + "type": { + "type": "string", + "description": "The type of the extended location of the VM" + }, + "name": { + "type": "string", + "description": "The name of the extended location of the VM" + } + } + }, "NetworkInterface": { "type": "object", "description": "This contains data about the network interface.", @@ -771,6 +795,16 @@ } } }, + "VirtualMachineScaleSet": { + "type": "object", + "description": "Information about the VMSS the VM belongs to (if applicable)", + "properties": { + "id": { + "type": "string", + "description": "This is the ID of the VMSS the VM belongs to (if applicable)" + } + } + }, "ApplicationResponse": { "type": "string", "description": "This is a binary string containing the application." diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_adx.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_adx.json new file mode 100644 index 000000000000..9f7dddc333e1 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_adx.json @@ -0,0 +1,42 @@ +{ + "title": "Create data export ADX destination", + "description": "Create an ADX destination with an Id.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "destinationId": "destination1", + "api-version": "1.1-preview", + "body": { + "displayName": "Azure Data Explorer", + "type": "dataexplorer@v1", + "clusterUrl": "https://[clusterName].westus2.kusto.windows.net", + "database": "database1", + "table": "table1", + "authorization": { + "type": "servicePrincipal", + "clientId": "3b420743-2020-44c6-9b70-cc42f945db0x", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "clientSecret": "[Secret]" + } + } + }, + "responses": { + "200": { + "body": { + "id": "destination1", + "displayName": "Azure Data Explorer", + "type": "dataexplorer@v1", + "clusterUrl": "https://[clusterName].westus2.kusto.windows.net", + "database": "database1", + "table": "table1", + "authorization": { + "type": "servicePrincipal", + "clientId": "3b420743-2020-44c6-9b70-cc42f945db0x", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "clientSecret": "*****" + }, + "status": "waiting" + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_blob.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_blob.json new file mode 100644 index 000000000000..b5e713f1eacd --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_blob.json @@ -0,0 +1,34 @@ +{ + "title": "Create data export Blob Storage destination", + "description": "Create a Blob Storage destination with an Id.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "destinationId": "destination1", + "api-version": "1.1-preview", + "body": { + "displayName": "Blob Storage", + "type": "blobstorage@v1", + "authorization": { + "type": "connectionString", + "connectionString": "DefaultEndpointsProtocol=https;AccountName=[accountName];AccountKey=[key];EndpointSuffix=core.windows.net", + "containerName": "test" + } + } + }, + "responses": { + "200": { + "body": { + "id": "destination1", + "displayName": "Blob Storage", + "type": "blobstorage@v1", + "authorization": { + "type": "connectionString", + "connectionString": "DefaultEndpointsProtocol=https;AccountName=[accountName];AccountKey=*****;EndpointSuffix=core.windows.net", + "containerName": "test" + }, + "status": "waiting" + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_eventhub.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_eventhub.json new file mode 100644 index 000000000000..8434210d4359 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_eventhub.json @@ -0,0 +1,32 @@ +{ + "title": "Create data export Event Hub destination", + "description": "Create an Event hub destination with an Id.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "destinationId": "destination1", + "api-version": "1.1-preview", + "body": { + "displayName": "Event Hub", + "type": "eventhubs@v1", + "authorization": { + "type": "connectionString", + "connectionString": "Endpoint=sb://[hubName].servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=[Key];EntityPath=entityPath1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "destination1", + "displayName": "Event Hub", + "type": "eventhubs@v1", + "authorization": { + "type": "connectionString", + "connectionString": "Endpoint=sb://[hubName].servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=*****;EntityPath=entityPath1" + }, + "status": "waiting" + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_queue.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_queue.json new file mode 100644 index 000000000000..81baaf783c76 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_queue.json @@ -0,0 +1,32 @@ +{ + "title": "Create data export Service Bus Queue destination", + "description": "Create an Service Bus Queue destination with an Id.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "destinationId": "destination1", + "api-version": "1.1-preview", + "body": { + "displayName": "Service Bus Queue", + "type": "servicebusqueue@v1", + "authorization": { + "type": "connectionString", + "connectionString": "Endpoint=sb://[namespance].servicebus.windows.net/;SharedAccessKeyName=xxx;SharedAccessKey=[key];EntityPath=[name]" + } + } + }, + "responses": { + "200": { + "body": { + "id": "destination1", + "displayName": "Service Bus Queue", + "type": "servicebusqueue@v1", + "authorization": { + "type": "connectionString", + "connectionString": "Endpoint=sb://[namespace].servicebus.windows.net/;SharedAccessKeyName=xxx;SharedAccessKey=*****;EntityPath=[name]" + }, + "status": "waiting" + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_topic.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_topic.json new file mode 100644 index 000000000000..34d7c59356e1 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_topic.json @@ -0,0 +1,32 @@ +{ + "title": "Create data export Event Hub destination", + "description": "Create an Event hub destination with an Id.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "destinationId": "destination1", + "api-version": "1.1-preview", + "body": { + "displayName": "Service Bus Topic", + "type": "servicebustopic@v1", + "authorization": { + "type": "connectionString", + "connectionString": "Endpoint=sb://[namespace].servicebus.windows.net/;SharedAccessKeyName=xxx;SharedAccessKey=[key];EntityPath=[name]" + } + } + }, + "responses": { + "200": { + "body": { + "id": "destination1", + "displayName": "Service Bus Topic", + "type": "servicebustopic@v1", + "authorization": { + "type": "connectionString", + "connectionString": "Endpoint=sb://[namespace].servicebus.windows.net/;SharedAccessKeyName=xxx;SharedAccessKey=*****;EntityPath=[name]" + }, + "status": "waiting" + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_webhook.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_webhook.json new file mode 100644 index 000000000000..299cd1626b54 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_webhook.json @@ -0,0 +1,38 @@ +{ + "title": "Create data export Webhook destination", + "description": "Create a Webhook destination with an Id.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "destinationId": "destination1", + "api-version": "1.1-preview", + "body": { + "displayName": "Webhook No Auth", + "type": "webhook@v1", + "url": "https://webhook.site/9bda8769-d540-4d92-946b-48c5a01e59bd", + "headerCustomizations": { + "x-custom-region": { + "value": "westcentralus", + "secret": false + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "destination1", + "displayName": "Webhook No Auth", + "type": "webhook@v1", + "url": "https://webhook.site/9bda8769-d540-4d92-946b-48c5a01e59bd", + "headerCustomizations": { + "x-custom-region": { + "value": "westcentralus", + "secret": false + } + }, + "status": "waiting" + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_delete.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_delete.json new file mode 100644 index 000000000000..1de306e3b487 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_delete.json @@ -0,0 +1,13 @@ +{ + "title": "Delete data export destination", + "description": "Delete a data export destination with Id.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "destinationId": "destination1", + "api-version": "1.1-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_exports_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_exports_list.json new file mode 100644 index 000000000000..b44d5372e464 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_exports_list.json @@ -0,0 +1,32 @@ +{ + "title": "List all data exports connected to the given destination", + "description": "Get a list of data exports connected to the given destination, returned exports include everything except the destination.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "api-version": "1.1-preview", + "destinationId": "destination1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "newTest", + "displayName": "Test Export 1", + "enabled": true, + "source": "telemetry", + "filter": "SELECT * FROM devices WHERE $displayName != \"abc\" AND $id = \"a\"", + "enrichments": { + "abc": { + "path": "$templateDisplayName" + } + }, + "destinations": [], + "status": "healthy" + } + ] + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_get.json new file mode 100644 index 000000000000..89cd1fbba408 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_get.json @@ -0,0 +1,33 @@ +{ + "title": "Get data export destination", + "description": "Get a data export destination with Id.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "destinationId": "destination1", + "api-version": "1.1-preview" + }, + "responses": { + "200": { + "body": { + "id": "1021f12a-6969-4eff-8518-57cac5f128ab", + "displayName": "Webhook No Auth", + "type": "webhook@v1", + "url": "https://webhook.site/9bda8769-d540-4d92-946b-48c5a01e59bd", + "headerCustomizations": { + "x-custom-region": { + "value": "westcentralus", + "secret": false + } + }, + "status": "error", + "errors": [ + { + "code": "InvalidResponse", + "message": "The webhook returned a 4xx status code." + } + ] + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_list.json new file mode 100644 index 000000000000..e777d670cd11 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_list.json @@ -0,0 +1,86 @@ +{ + "title": "List data export destinations in your application", + "description": "Get a list of data export destinations in your application.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "api-version": "1.1-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "1021f12a-6969-4eff-8518-57cac5f128ab", + "displayName": "Webhook No Auth", + "type": "webhook@v1", + "url": "https://webhook.site/9bda8769-d540-4d92-946b-48c5a01e59bd", + "headerCustomizations": { + "x-custom-region": { + "value": "westcentralus", + "secret": false + } + }, + "status": "waiting" + }, + { + "id": "70bb70e7-e308-4628-95aa-706596646f02", + "displayName": "Service Bus Queue", + "type": "servicebusqueue@v1", + "authorization": { + "type": "connectionString", + "connectionString": "Endpoint=sb://[namespace].servicebus.windows.net/;SharedAccessKeyName=xxx;SharedAccessKey=*****;EntityPath=[queue name]" + }, + "status": "waiting" + }, + { + "id": "7308456f-c72b-43d8-99ba-22a49ea5d51a", + "displayName": "Service Bus Topic", + "type": "servicebustopic@v1", + "authorization": { + "type": "connectionString", + "connectionString": "Endpoint=sb://[namespace].servicebus.windows.net/;SharedAccessKeyName=xxx;SharedAccessKey=*****;EntityPath=[topic name]" + }, + "status": "waiting" + }, + { + "id": "b3bfe8f0-ea63-42f9-82e1-bbade5250aba", + "displayName": "Azure Data Explorer", + "type": "dataexplorer@v1", + "clusterUrl": "https://[clusterName].westus2.kusto.windows.net", + "database": "iiot", + "table": "demo", + "authorization": { + "type": "servicePrincipal", + "clientId": "5b420743-2020-44c6-9b70-cc42f945db0c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "clientSecret": "*****" + }, + "status": "waiting" + }, + { + "id": "beb083d0-cec9-4e7e-8e4b-22b88e8e3479", + "displayName": "Azure Blob Storage", + "type": "blobstorage@v1", + "authorization": { + "type": "connectionString", + "connectionString": "DefaultEndpointsProtocol=https;AccountName=[accountName];AccountKey=*****;EndpointSuffix=core.windows.net", + "containerName": "test" + }, + "status": "waiting" + }, + { + "id": "c0e2a49f-6d5b-4bc1-b448-069806b72781", + "displayName": "Event Hub", + "type": "eventhubs@v1", + "authorization": { + "type": "connectionString", + "connectionString": "Endpoint=sb://[namespace].servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=*****;EntityPath=[hub name]" + }, + "status": "waiting" + } + ] + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_update_webhook.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_update_webhook.json new file mode 100644 index 000000000000..18c8ad7066dd --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_update_webhook.json @@ -0,0 +1,35 @@ +{ + "title": "Update data export Webhook destination", + "description": "Updatea Webhook destination with an Id.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "destinationId": "destination1", + "api-version": "1.1-preview", + "body": { + "headerCustomizations": { + "x-custom-region": { + "value": "eastus", + "secret": false + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "destination1", + "displayName": "Webhook No Auth", + "type": "webhook@v1", + "url": "https://webhook.site/9bda8769-d540-4d92-946b-48c5a01e59bd", + "headerCustomizations": { + "x-custom-region": { + "value": "eastus", + "secret": false + } + }, + "status": "waiting" + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_create.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_create.json new file mode 100644 index 000000000000..edf6508461ff --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_create.json @@ -0,0 +1,50 @@ +{ + "title": "Create a data export", + "description": "Create a data export with Id.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "exportId": "export1", + "api-version": "1.1-preview", + "body": { + "displayName": "Test Export 1", + "enabled": false, + "source": "telemetry", + "filter": "SELECT * FROM devices WHERE $displayName != \"abc\" AND $id = \"a\"", + "enrichments": { + "abc": { + "path": "$templateDisplayName" + } + }, + "destinations": [ + { + "id": "fa5792a4-ead3-41dc-a972-fbeed33d46ae", + "transform": "{ ApplicationId: .applicationId, Component: .component, DeviceName: .device.name }" + } + ] + } + }, + "responses": { + "200": { + "body": { + "id": "export1", + "displayName": "Test Export 1", + "enabled": false, + "source": "telemetry", + "filter": "SELECT * FROM devices WHERE $displayName != \"abc\" AND $id = \"a\"", + "enrichments": { + "abc": { + "path": "$templateDisplayName" + } + }, + "destinations": [ + { + "id": "fa5792a4-ead3-41dc-a972-fbeed33d46ae", + "transform": "{ ApplicationId: .applicationId, Component: .component, DeviceName: .device.name }" + } + ], + "status": "notStarted" + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_delete.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_delete.json new file mode 100644 index 000000000000..be9dbbd5212a --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_delete.json @@ -0,0 +1,13 @@ +{ + "title": "Delete a data export", + "description": "Delete a data export with Id.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "exportId": "export1", + "api-version": "1.1-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_destinations_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_destinations_list.json new file mode 100644 index 000000000000..a50cc5059043 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_destinations_list.json @@ -0,0 +1,26 @@ +{ + "title": "List destinations defined in data export", + "description": "Get a list of destinations in your data export.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "api-version": "1.1-preview", + "exportId": "export1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "fa5792a4-ead3-41dc-a972-fbeed33d46ae", + "displayName": "Web Hook", + "type": "webhook@v1", + "url": "https://webhook.site/9bda8769-d540-4d92-946b-48c5a01e59bd", + "headerCustomizations": {}, + "status": "healthy" + } + ] + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_get.json new file mode 100644 index 000000000000..3b8facd0d5b2 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_get.json @@ -0,0 +1,33 @@ +{ + "title": "Get a data export", + "description": "Get a data export with Id.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "exportId": "export1", + "api-version": "1.1-preview" + }, + "responses": { + "200": { + "body": { + "id": "export1", + "displayName": "Test Export 1", + "enabled": false, + "source": "telemetry", + "filter": "SELECT * FROM devices WHERE $displayName != \"abc\" AND $id = \"a\"", + "enrichments": { + "abc": { + "path": "$templateDisplayName" + } + }, + "destinations": [ + { + "id": "fa5792a4-ead3-41dc-a972-fbeed33d46ae", + "transform": "{ ApplicationId: .applicationId, Component: .component, DeviceName: .device.name }" + } + ], + "status": "notStarted" + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_list.json new file mode 100644 index 000000000000..29ab1f4097af --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_list.json @@ -0,0 +1,67 @@ +{ + "title": "List data exports in your application", + "description": "Get a list of data exports in your application.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "api-version": "1.1-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "export1", + "displayName": "Test Export 1", + "enabled": false, + "source": "telemetry", + "filter": "SELECT * FROM devices WHERE $displayName != \"abc\" AND $id = \"a\"", + "enrichments": { + "abc": { + "path": "$templateDisplayName" + } + }, + "destinations": [ + { + "id": "fa5792a4-ead3-41dc-a972-fbeed33d46ae", + "transform": "{ ApplicationId: .applicationId, Component: .component, DeviceName: .device.name }" + } + ], + "status": "notStarted" + }, + { + "id": "export2", + "displayName": "Test Export 2", + "enabled": true, + "source": "telemetry", + "filter": "SELECT * FROM devices WHERE $id == \"a\"", + "enrichments": { + "abc": { + "path": "$deviceName" + } + }, + "destinations": [ + { + "id": "fa5792a4-ead3-41dc-a972-fbeed33d46ae" + } + ], + "status": "starting" + }, + { + "id": "d7686dda-43d5-4e22-af4e-9518b0ebed29", + "displayName": "Test Export 3", + "enabled": true, + "source": "properties", + "filter": "SELECT * FROM devices WHERE CONTAINS($displayName, \"a\")", + "destinations": [ + { + "id": "destination1" + } + ], + "status": "healthy" + } + ] + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_update.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_update.json new file mode 100644 index 000000000000..e5024fed0936 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_update.json @@ -0,0 +1,42 @@ +{ + "title": "Update a data export", + "description": "Update a data export with Id.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "exportId": "export1", + "api-version": "1.1-preview", + "body": { + "displayName": "Test Export Update", + "enabled": true, + "enrichments": { + "abc": { + "path": "$provisioned" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "export1", + "displayName": "Test Export Update", + "enabled": true, + "source": "telemetry", + "filter": "SELECT * FROM devices WHERE $displayName != \"abc\" AND $id = \"a\"", + "enrichments": { + "abc": { + "path": "$provisioned" + } + }, + "destinations": [ + { + "id": "fa5792a4-ead3-41dc-a972-fbeed33d46ae", + "transform": "{ ApplicationId: .applicationId, Component: .component, DeviceName: .device.name }" + } + ], + "status": "starting" + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_create.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_create.json new file mode 100644 index 000000000000..edbbd3a1be67 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_create.json @@ -0,0 +1,26 @@ +{ + "title": "Create a relationship between device", + "description": "Create a relationship with an Id.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "deviceId": "device1", + "relationshipId": "relationship1", + "api-version": "1.1-preview", + "body": { + "name": "Relationship1", + "source": "device1", + "target": "device2" + } + }, + "responses": { + "200": { + "body": { + "id": "relationship1", + "name": "Relationship1", + "source": "device1", + "target": "device2" + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_delete.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_delete.json new file mode 100644 index 000000000000..3059c326ba7d --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_delete.json @@ -0,0 +1,14 @@ +{ + "title": "Delete device relationship", + "description": "Delete a device relationship by Id.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "deviceId": "device1", + "relationshipId": "relationship1", + "api-version": "1.1-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_get.json new file mode 100644 index 000000000000..ddb237074a77 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_get.json @@ -0,0 +1,21 @@ +{ + "title": "Get a relationship between device", + "description": "Get a relationship with an Id.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "deviceId": "device1", + "relationshipId": "relationship1", + "api-version": "1.1-preview" + }, + "responses": { + "200": { + "body": { + "id": "relationship1", + "name": "Relationship1", + "source": "device1", + "target": "device2" + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_list.json new file mode 100644 index 000000000000..3d9df231bc22 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_list.json @@ -0,0 +1,36 @@ +{ + "title": "List device relationships", + "description": "List all relationships for your device.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "deviceId": "device1", + "api-version": "1.1-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "relationship1", + "name": "Relationship1", + "source": "device1", + "target": "device2" + }, + { + "id": "relationship2", + "name": "Relationship2", + "source": "device3", + "target": "device1" + }, + { + "id": "relationship3", + "name": "Relationship3", + "source": "device1", + "target": "device4" + } + ] + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_update.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_update.json new file mode 100644 index 000000000000..cf51f5f5a5f2 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_update.json @@ -0,0 +1,24 @@ +{ + "title": "Update a relationship between device", + "description": "Update a relationship with an Id.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "deviceId": "device1", + "relationshipId": "relationship1", + "api-version": "1.1-preview", + "body": { + "target": "device3" + } + }, + "responses": { + "200": { + "body": { + "id": "relationship1", + "name": "Relationship1", + "source": "device1", + "target": "device3" + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_create.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_create.json index 1b78f2bda9ed..796afe6e7a0d 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_create.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_create.json @@ -172,6 +172,97 @@ "schema": "dateTime" } ] + }, + "deploymentManifest": { + "modulesContent": { + "$edgeAgent": { + "properties.desired": { + "schemaVersion": "1.1", + "runtime": { + "type": "docker", + "settings": { + "minDockerVersion": "v1.25", + "loggingOptions": "", + "registryCredentials": { + "ContosoRegistry": { + "username": "myacr", + "password": "", + "address": "myacr.azurecr.io" + } + } + } + }, + "systemModules": { + "edgeAgent": { + "type": "docker", + "settings": { + "image": "mcr.microsoft.com/azureiotedge-agent:1.1", + "createOptions": "{}" + } + }, + "edgeHub": { + "type": "docker", + "status": "running", + "restartPolicy": "always", + "startupOrder": 0, + "settings": { + "image": "mcr.microsoft.com/azureiotedge-hub:1.1", + "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"443/tcp\":[{\"HostPort\":\"443\"}],\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}]}}}" + } + } + }, + "modules": { + "SimulatedTemperatureSensor": { + "version": "1.0", + "type": "docker", + "status": "running", + "restartPolicy": "always", + "startupOrder": 2, + "settings": { + "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0", + "createOptions": "{}" + } + }, + "testModule": { + "version": "1.0", + "type": "docker", + "status": "running", + "restartPolicy": "always", + "startupOrder": 1, + "env": { + "tempLimit": { + "value": "100" + } + }, + "settings": { + "image": "myacr.azurecr.io/testModule:latest", + "createOptions": "{}" + } + } + } + } + }, + "$edgeHub": { + "properties.desired": { + "schemaVersion": "1.1", + "routes": { + "sensorToFilter": { + "route": "FROM /messages/modules/SimulatedTemperatureSensor/outputs/temperatureOutput INTO BrokeredEndpoint(\"/modules/testModule/inputs/input1\")", + "priority": 0, + "timeToLiveSecs": 1800 + }, + "filterToIoTHub": { + "route": "FROM /messages/modules/testModule/outputs/output1 INTO $upstream", + "priority": 1, + "timeToLiveSecs": 1800 + } + }, + "storeAndForwardConfiguration": { + "timeToLiveSecs": 100 + } + } + } + } } } }, @@ -345,6 +436,97 @@ "schema": "dateTime" } ] + }, + "deploymentManifest": { + "modulesContent": { + "$edgeAgent": { + "properties.desired": { + "schemaVersion": "1.1", + "runtime": { + "type": "docker", + "settings": { + "minDockerVersion": "v1.25", + "loggingOptions": "", + "registryCredentials": { + "ContosoRegistry": { + "username": "myacr", + "password": "", + "address": "myacr.azurecr.io" + } + } + } + }, + "systemModules": { + "edgeAgent": { + "type": "docker", + "settings": { + "image": "mcr.microsoft.com/azureiotedge-agent:1.1", + "createOptions": "{}" + } + }, + "edgeHub": { + "type": "docker", + "status": "running", + "restartPolicy": "always", + "startupOrder": 0, + "settings": { + "image": "mcr.microsoft.com/azureiotedge-hub:1.1", + "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"443/tcp\":[{\"HostPort\":\"443\"}],\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}]}}}" + } + } + }, + "modules": { + "SimulatedTemperatureSensor": { + "version": "1.0", + "type": "docker", + "status": "running", + "restartPolicy": "always", + "startupOrder": 2, + "settings": { + "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0", + "createOptions": "{}" + } + }, + "testModule": { + "version": "1.0", + "type": "docker", + "status": "running", + "restartPolicy": "always", + "startupOrder": 1, + "env": { + "tempLimit": { + "value": "100" + } + }, + "settings": { + "image": "myacr.azurecr.io/testModule:latest", + "createOptions": "{}" + } + } + } + } + }, + "$edgeHub": { + "properties.desired": { + "schemaVersion": "1.1", + "routes": { + "sensorToFilter": { + "route": "FROM /messages/modules/SimulatedTemperatureSensor/outputs/temperatureOutput INTO BrokeredEndpoint(\"/modules/testModule/inputs/input1\")", + "priority": 0, + "timeToLiveSecs": 1800 + }, + "filterToIoTHub": { + "route": "FROM /messages/modules/testModule/outputs/output1 INTO $upstream", + "priority": 1, + "timeToLiveSecs": 1800 + } + }, + "storeAndForwardConfiguration": { + "timeToLiveSecs": 100 + } + } + } + } } } } diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_get.json index 0f9bba02f678..b560f6e2e73b 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_get.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_get.json @@ -177,6 +177,97 @@ "schema": "dateTime" } ] + }, + "deploymentManifest": { + "modulesContent": { + "$edgeAgent": { + "properties.desired": { + "schemaVersion": "1.1", + "runtime": { + "type": "docker", + "settings": { + "minDockerVersion": "v1.25", + "loggingOptions": "", + "registryCredentials": { + "ContosoRegistry": { + "username": "myacr", + "password": "", + "address": "myacr.azurecr.io" + } + } + } + }, + "systemModules": { + "edgeAgent": { + "type": "docker", + "settings": { + "image": "mcr.microsoft.com/azureiotedge-agent:1.1", + "createOptions": "{}" + } + }, + "edgeHub": { + "type": "docker", + "status": "running", + "restartPolicy": "always", + "startupOrder": 0, + "settings": { + "image": "mcr.microsoft.com/azureiotedge-hub:1.1", + "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"443/tcp\":[{\"HostPort\":\"443\"}],\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}]}}}" + } + } + }, + "modules": { + "SimulatedTemperatureSensor": { + "version": "1.0", + "type": "docker", + "status": "running", + "restartPolicy": "always", + "startupOrder": 2, + "settings": { + "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0", + "createOptions": "{}" + } + }, + "testModule": { + "version": "1.0", + "type": "docker", + "status": "running", + "restartPolicy": "always", + "startupOrder": 1, + "env": { + "tempLimit": { + "value": "100" + } + }, + "settings": { + "image": "myacr.azurecr.io/testModule:latest", + "createOptions": "{}" + } + } + } + } + }, + "$edgeHub": { + "properties.desired": { + "schemaVersion": "1.1", + "routes": { + "sensorToFilter": { + "route": "FROM /messages/modules/SimulatedTemperatureSensor/outputs/temperatureOutput INTO BrokeredEndpoint(\"/modules/testModule/inputs/input1\")", + "priority": 0, + "timeToLiveSecs": 1800 + }, + "filterToIoTHub": { + "route": "FROM /messages/modules/testModule/outputs/output1 INTO $upstream", + "priority": 1, + "timeToLiveSecs": 1800 + } + }, + "storeAndForwardConfiguration": { + "timeToLiveSecs": 100 + } + } + } + } } } } diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_list.json index 869589d04a80..54111c702361 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_list.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_list.json @@ -178,6 +178,97 @@ "schema": "dateTime" } ] + }, + "deploymentManifest": { + "modulesContent": { + "$edgeAgent": { + "properties.desired": { + "schemaVersion": "1.1", + "runtime": { + "type": "docker", + "settings": { + "minDockerVersion": "v1.25", + "loggingOptions": "", + "registryCredentials": { + "ContosoRegistry": { + "username": "myacr", + "password": "", + "address": "myacr.azurecr.io" + } + } + } + }, + "systemModules": { + "edgeAgent": { + "type": "docker", + "settings": { + "image": "mcr.microsoft.com/azureiotedge-agent:1.1", + "createOptions": "{}" + } + }, + "edgeHub": { + "type": "docker", + "status": "running", + "restartPolicy": "always", + "startupOrder": 0, + "settings": { + "image": "mcr.microsoft.com/azureiotedge-hub:1.1", + "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"443/tcp\":[{\"HostPort\":\"443\"}],\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}]}}}" + } + } + }, + "modules": { + "SimulatedTemperatureSensor": { + "version": "1.0", + "type": "docker", + "status": "running", + "restartPolicy": "always", + "startupOrder": 2, + "settings": { + "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0", + "createOptions": "{}" + } + }, + "testModule": { + "version": "1.0", + "type": "docker", + "status": "running", + "restartPolicy": "always", + "startupOrder": 1, + "env": { + "tempLimit": { + "value": "100" + } + }, + "settings": { + "image": "myacr.azurecr.io/testModule:latest", + "createOptions": "{}" + } + } + } + } + }, + "$edgeHub": { + "properties.desired": { + "schemaVersion": "1.1", + "routes": { + "sensorToFilter": { + "route": "FROM /messages/modules/SimulatedTemperatureSensor/outputs/temperatureOutput INTO BrokeredEndpoint(\"/modules/testModule/inputs/input1\")", + "priority": 0, + "timeToLiveSecs": 1800 + }, + "filterToIoTHub": { + "route": "FROM /messages/modules/testModule/outputs/output1 INTO $upstream", + "priority": 1, + "timeToLiveSecs": 1800 + } + }, + "storeAndForwardConfiguration": { + "timeToLiveSecs": 100 + } + } + } + } } } ] diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_update.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_update.json new file mode 100644 index 000000000000..1f63237c04eb --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_update.json @@ -0,0 +1,352 @@ +{ + "title": "Update a device template", + "description": "Updates and publishes a device template.", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "deviceTemplateId": "dtmi:contoso:testDeviceTemplate;1", + "api-version": "1.1-preview", + "body": { + "@type": [ + "ModelDefinition", + "DeviceModel", + "EdgeModel" + ], + "displayName": "Test Definition", + "capabilityModel": { + "@id": "dtmi:contoso:testCapabilityModel;1", + "@type": "Interface", + "displayName": "Test Capability Model", + "extends": [ + { + "@id": "dtmi:contoso:testInterface;1", + "@type": "Interface", + "displayName": "Test Interface", + "contents": [ + { + "@type": "Telemetry", + "displayName": "Test Telemetry", + "name": "testTelemetry", + "schema": "double" + }, + { + "@type": [ + "Telemetry", + "Event", + "EventValue" + ], + "displayName": "Test Event", + "name": "testEvent", + "schema": "integer", + "severity": "warning" + }, + { + "@type": [ + "Property", + "Initialized" + ], + "displayName": "Test Property", + "name": "testProperty", + "schema": "string", + "writable": true, + "initialValue": "initialValue1" + }, + { + "@type": "Property", + "displayName": "Test Read-Only Property", + "name": "testReadOnly", + "schema": "string" + }, + { + "@type": "Property", + "displayName": "Test Complex Property", + "name": "testComplex", + "schema": { + "@id": "dtmi:contoso:testComplex;1", + "@type": "Object", + "displayName": "Object", + "fields": [ + { + "displayName": "First", + "name": "first", + "schema": "string" + }, + { + "displayName": "Second", + "name": "second", + "schema": "string" + } + ] + }, + "writable": true + }, + { + "@type": "Command", + "commandType": "synchronous", + "displayName": "Test Command", + "name": "testCommand", + "request": { + "displayName": "Test Request", + "name": "testRequest", + "schema": "double" + }, + "response": { + "displayName": "Test Response", + "name": "testResponse", + "schema": "geopoint" + } + }, + { + "@type": "Property", + "displayName": "Test Enum", + "name": "testEnum", + "schema": { + "@id": "dtmi:contoso:testEnum;1", + "@type": "Enum", + "displayName": "Enum", + "enumValues": [ + { + "displayName": "First", + "enumValue": 1, + "name": "first" + }, + { + "displayName": "Second", + "enumValue": 2, + "name": "second" + } + ], + "valueSchema": "integer" + }, + "writable": true + } + ] + } + ], + "contents": [ + { + "@type": [ + "Relationship", + "EdgeModule" + ], + "displayName": "Test Module", + "maxMultiplicity": 1, + "name": "testModule", + "target": [ + { + "@id": "dtmi:contoso:testModuleCapabilityModel;1", + "@type": "Interface", + "displayName": "Test Module Capability Model", + "extends": [ + { + "@id": "dtmi:contoso:testModuleInterface;1", + "@type": "Interface", + "contents": [ + { + "@type": "Telemetry", + "displayName": "Test Module Telemetry", + "name": "testModuleTelemetry", + "schema": "double" + }, + { + "@type": "Property", + "displayName": "Test Module Property", + "name": "testModuleProperty", + "schema": "string", + "writable": true + } + ], + "displayName": "Test Module Interface" + } + ] + } + ] + }, + { + "@type": [ + "Cloud", + "Property" + ], + "displayName": "Test Cloud Property", + "name": "testCloudProperty", + "schema": "dateTime" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "@id": "dtmi:contoso:testDeviceTemplate;1", + "@type": [ + "ModelDefinition", + "DeviceModel", + "EdgeModel" + ], + "displayName": "Test Definition", + "etag": "\"~jbzfGhYctc9wtzNZXVmVua5JjTHO/FfjMUJvk9hqkRY=\"", + "capabilityModel": { + "@id": "dtmi:contoso:testCapabilityModel;1", + "@type": "Interface", + "displayName": "Test Capability Model", + "extends": [ + { + "@id": "dtmi:contoso:testInterface;1", + "@type": "Interface", + "displayName": "Test Interface", + "contents": [ + { + "@type": "Telemetry", + "displayName": "Test Telemetry", + "name": "testTelemetry", + "schema": "double" + }, + { + "@type": [ + "Telemetry", + "Event", + "EventValue" + ], + "displayName": "Test Event", + "name": "testEvent", + "schema": "integer", + "severity": "warning" + }, + { + "@type": [ + "Property", + "Initialized" + ], + "displayName": "Test Property", + "name": "testProperty", + "schema": "string", + "writable": true, + "initialValue": "initialValue1" + }, + { + "@type": "Property", + "displayName": "Test Read-Only Property", + "name": "testReadOnly", + "schema": "string" + }, + { + "@type": "Property", + "displayName": "Test Complex Property", + "name": "testComplex", + "schema": { + "@id": "dtmi:contoso:testComplex;1", + "@type": "Object", + "displayName": "Object", + "fields": [ + { + "displayName": "First", + "name": "first", + "schema": "string" + }, + { + "displayName": "Second", + "name": "second", + "schema": "string" + } + ] + }, + "writable": true + }, + { + "@type": "Command", + "commandType": "synchronous", + "displayName": "Test Command", + "name": "testCommand", + "request": { + "displayName": "Test Request", + "name": "testRequest", + "schema": "double" + }, + "response": { + "displayName": "Test Response", + "name": "testResponse", + "schema": "geopoint" + } + }, + { + "@type": "Property", + "displayName": "Test Enum", + "name": "testEnum", + "schema": { + "@id": "dtmi:contoso:testEnum;1", + "@type": "Enum", + "displayName": "Enum", + "enumValues": [ + { + "displayName": "First", + "enumValue": 1, + "name": "first" + }, + { + "displayName": "Second", + "enumValue": 2, + "name": "second" + } + ], + "valueSchema": "integer" + }, + "writable": true + } + ] + } + ], + "contents": [ + { + "@type": [ + "Relationship", + "EdgeModule" + ], + "displayName": "Test Module", + "maxMultiplicity": 1, + "name": "testModule", + "target": [ + { + "@id": "dtmi:contoso:testModuleCapabilityModel;1", + "@type": "Interface", + "displayName": "Test Module Capability Model", + "extends": [ + { + "@id": "dtmi:contoso:testModuleInterface;1", + "@type": "Interface", + "contents": [ + { + "@type": "Telemetry", + "displayName": "Test Module Telemetry", + "name": "testModuleTelemetry", + "schema": "double" + }, + { + "@type": "Property", + "displayName": "Test Module Property", + "name": "testModuleProperty", + "schema": "string", + "writable": true + } + ], + "displayName": "Test Module Interface" + } + ] + } + ] + }, + { + "@type": [ + "Cloud", + "Property" + ], + "displayName": "Test Cloud Property", + "name": "testCloudProperty", + "schema": "dateTime" + } + ] + } + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/fileUpload_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/fileUpload_get.json index 8c92cf9cead7..f8b252909c54 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/fileUpload_get.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/fileUpload_get.json @@ -12,7 +12,6 @@ "account": "contoso-account", "connectionString": "DefaultEndpointsProtocol=https;AccountName=MyAccountName;AccountKey=*****;EndpointSuffix=core.windows.net", "container": "container", - "sasTtl": "PT2H", "state": "succeeded" } } diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/query_run.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/query_run.json new file mode 100644 index 000000000000..f8dbf4c8310d --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/query_run.json @@ -0,0 +1,65 @@ +{ + "title": "Query telemetry", + "description": "Telemetry Query with Aggregation", + "parameters": { + "baseDomain": "azureiotcentral.com", + "subdomain": "appsubdomain", + "api-version": "1.1-preview", + "body": { + "query": "SELECT AVG(RootTelemetry), MAX(RootTelemetry) FROM dtmi:modelDefinition:y5zk2yqblv:en9xfxjif WHERE WITHIN_WINDOW(P1D) AND RootTelemetry > 0 GROUP BY WINDOW(PT3H) ORDER BY $ts ASC" + } + }, + "responses": { + "200": { + "body": { + "results": [ + { + "$ts": "2021-07-13T15:00:00Z", + "avg_RootTelemetry": 50.694243369718016, + "max_RootTelemetry": 94.84065276149875 + }, + { + "$ts": "2021-07-13T18:00:00Z", + "avg_RootTelemetry": 50.18217245036151, + "max_RootTelemetry": 94.06959391609293 + }, + { + "$ts": "2021-07-13T21:00:00Z", + "avg_RootTelemetry": 49.146167597153536, + "max_RootTelemetry": 92.23986369686345 + }, + { + "$ts": "2021-07-14T00:00:00Z", + "avg_RootTelemetry": 50.175258720781486, + "max_RootTelemetry": 93.635346493204 + }, + { + "$ts": "2021-07-14T03:00:00Z", + "avg_RootTelemetry": 49.89615329936023, + "max_RootTelemetry": 97.06116727704713 + }, + { + "$ts": "2021-07-14T06:00:00Z", + "avg_RootTelemetry": 50.45104017085097, + "max_RootTelemetry": 97.62388863622462 + }, + { + "$ts": "2021-07-14T09:00:00Z", + "avg_RootTelemetry": 50.256835113864774, + "max_RootTelemetry": 97.920784666869 + }, + { + "$ts": "2021-07-14T12:00:00Z", + "avg_RootTelemetry": 49.68389289395193, + "max_RootTelemetry": 97.33361905646282 + }, + { + "$ts": "2021-07-14T15:00:00Z", + "avg_RootTelemetry": 50.27084162154068, + "max_RootTelemetry": 94.65114410748755 + } + ] + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/iotcentral.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/iotcentral.json index 9c40c8f5961f..549de12aba5d 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/iotcentral.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/iotcentral.json @@ -107,6 +107,82 @@ ], "discriminator": "type" }, + "BlobStorageV1Destination": { + "x-ms-discriminator-value": "blobstorage@v1", + "allOf": [ + { + "$ref": "#/definitions/Destination" + } + ], + "type": "object", + "properties": { + "authorization": { + "$ref": "#/definitions/BlobStorageV1DestinationAuth" + } + }, + "required": [ + "authorization" + ] + }, + "BlobStorageV1DestinationAuth": { + "type": "object", + "properties": { + "type": { + "description": "The kind of authentication to use.", + "type": "string" + } + }, + "required": [ + "type" + ], + "discriminator": "type" + }, + "BlobStorageV1DestinationConnectionStringAuth": { + "x-ms-discriminator-value": "connectionString", + "allOf": [ + { + "$ref": "#/definitions/BlobStorageV1DestinationAuth" + } + ], + "type": "object", + "properties": { + "connectionString": { + "description": "The connection string for accessing the blob storage account.", + "type": "string" + }, + "containerName": { + "description": "Name of the container where data should be written in the storage account.", + "type": "string" + } + }, + "required": [ + "connectionString", + "containerName" + ] + }, + "BlobStorageV1DestinationSystemAssignedManagedIdentityAuth": { + "x-ms-discriminator-value": "systemAssignedManagedIdentity", + "allOf": [ + { + "$ref": "#/definitions/BlobStorageV1DestinationAuth" + } + ], + "type": "object", + "properties": { + "endpointUri": { + "description": "The storage account's blob service endpoint URL.", + "type": "string" + }, + "containerName": { + "description": "Name of the container where data should be written in the storage account.", + "type": "string" + } + }, + "required": [ + "endpointUri", + "containerName" + ] + }, "CloudPropertyJobData": { "x-ms-discriminator-value": "cloudProperty", "allOf": [ @@ -142,6 +218,181 @@ } ] }, + "DataExplorerV1Destination": { + "x-ms-discriminator-value": "dataexplorer@v1", + "allOf": [ + { + "$ref": "#/definitions/Destination" + } + ], + "type": "object", + "properties": { + "clusterUrl": { + "description": "The resource URI of the Data Explorer instance.", + "type": "string" + }, + "database": { + "description": "Name Data Explorer database where data should be written.", + "type": "string" + }, + "table": { + "description": "The table within the Data Explorer database that will receive the data.", + "type": "string" + }, + "authorization": { + "$ref": "#/definitions/DataExplorerV1DestinationAuth" + } + }, + "required": [ + "clusterUrl", + "database", + "table", + "authorization" + ] + }, + "DataExplorerV1DestinationAuth": { + "type": "object", + "properties": { + "type": { + "description": "The kind of authentication to use.", + "type": "string" + } + }, + "required": [ + "type" + ], + "discriminator": "type" + }, + "DataExplorerV1DestinationServicePrincipalAuth": { + "x-ms-discriminator-value": "servicePrincipal", + "allOf": [ + { + "$ref": "#/definitions/DataExplorerV1DestinationAuth" + } + ], + "type": "object", + "properties": { + "clientId": { + "description": "Service Principal client ID.", + "type": "string" + }, + "tenantId": { + "description": "Service Principal tenant ID.", + "type": "string" + }, + "clientSecret": { + "description": "Service Principal client secret.", + "type": "string" + } + }, + "required": [ + "clientId", + "tenantId", + "clientSecret" + ] + }, + "DataExportError": { + "type": "object", + "properties": { + "code": { + "description": "The code for the error that occurred.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The description of the error that occurred.", + "type": "string", + "readOnly": true + } + } + }, + "DataExportStatus": { + "type": "object", + "properties": { + "status": { + "description": "Indication of the current health and operation of the export or destination.", + "type": "string", + "readOnly": true + }, + "errors": { + "description": "Errors encountered by the export or destination.", + "type": "array", + "items": { + "$ref": "#/definitions/DataExportError" + }, + "readOnly": true + }, + "lastExportTime": { + "description": "The timestamp of the last message that was sent to the export or destination.", + "type": "string", + "format": "date-time", + "readOnly": true + } + } + }, + "Destination": { + "allOf": [ + { + "$ref": "#/definitions/DataExportStatus" + } + ], + "type": "object", + "properties": { + "id": { + "description": "Unique ID of the destination.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "Display name of the destination.", + "type": "string" + }, + "type": { + "description": "The type of destination configuration.", + "type": "string" + } + }, + "required": [ + "displayName", + "type" + ], + "discriminator": "type" + }, + "DestinationCollection": { + "type": "object", + "properties": { + "value": { + "description": "The collection of destinations.", + "type": "array", + "items": { + "$ref": "#/definitions/Destination" + } + }, + "nextLink": { + "description": "URL to get the next page of destinations.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "DestinationReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID of the destination where data should be sent." + }, + "transform": { + "type": "string", + "description": "Query for transforming the message structure to a particular output." + } + }, + "required": [ + "id" + ] + }, "Device": { "type": "object", "properties": { @@ -327,6 +578,48 @@ "type": "object", "additionalProperties": true }, + "DeviceRelationship": { + "type": "object", + "description": "An object representing the relationship between an upstream and a downstream device.", + "properties": { + "id": { + "description": "The unique identifier of this relationship.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name which describes this relationship between given devices from source device template.", + "type": "string" + }, + "source": { + "description": "The device ID of the source (parent) device.", + "type": "string" + }, + "target": { + "description": "The device ID of the target (child) device.", + "type": "string" + } + } + }, + "DeviceRelationshipCollection": { + "type": "object", + "properties": { + "value": { + "description": "The collection of device relationships.", + "type": "array", + "items": { + "$ref": "#/definitions/DeviceRelationship" + } + }, + "nextLink": { + "description": "URL to get the next page of device relationships.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, "DeviceTelemetry": { "type": "object", "properties": { @@ -370,6 +663,10 @@ "capabilityModel": { "description": "The capability model utilized by this device template.", "type": "object" + }, + "deploymentManifest": { + "description": "Deployment manifest associated to this device template.", + "type": "object" } }, "required": [ @@ -415,32 +712,227 @@ "email" ] }, - "FileUpload": { + "Enrichment": { "type": "object", "properties": { - "account": { - "description": "The storage account name where to upload the file to", + "target": { + "description": "The device template or interface which defines the target capability for the enrichment.", "type": "string" }, - "connectionString": { - "description": "The connection string used to configure the storage account", + "path": { + "description": "The path to the target capability within the device template or the system property to use.", "type": "string" }, - "container": { - "description": "The name of the container inside the storage account", + "value": { + "description": "The raw value used for the enrichment." + } + } + }, + "EventHubsV1Destination": { + "x-ms-discriminator-value": "eventhubs@v1", + "allOf": [ + { + "$ref": "#/definitions/Destination" + } + ], + "type": "object", + "properties": { + "authorization": { + "$ref": "#/definitions/EventHubsV1DestinationAuth" + } + }, + "required": [ + "authorization" + ] + }, + "EventHubsV1DestinationAuth": { + "type": "object", + "properties": { + "type": { + "description": "The kind of authentication to use.", "type": "string" - }, - "sasTtl": { - "description": "ISO 8601 duration standard, The amount of time the device’s request to upload a file is valid before it expires.​", + } + }, + "required": [ + "type" + ], + "discriminator": "type" + }, + "EventHubsV1DestinationConnectionStringAuth": { + "x-ms-discriminator-value": "connectionString", + "allOf": [ + { + "$ref": "#/definitions/EventHubsV1DestinationAuth" + } + ], + "type": "object", + "properties": { + "connectionString": { + "description": "The connection string for accessing the Event Hubs namespace, including the `EntityPath` of the event hub.", "type": "string" - }, - "state": { - "description": "The state of the file upload configuration", - "type": "string", - "readOnly": true, - "enum": [ - "pending", - "updating", + } + }, + "required": [ + "connectionString" + ] + }, + "EventHubsV1DestinationSystemAssignedManagedIdentityAuth": { + "x-ms-discriminator-value": "systemAssignedManagedIdentity", + "allOf": [ + { + "$ref": "#/definitions/EventHubsV1DestinationAuth" + } + ], + "type": "object", + "properties": { + "hostName": { + "description": "The host name of the Event Hubs namespace.", + "type": "string" + }, + "eventHubName": { + "description": "The Event Hubs instance name.", + "type": "string" + } + }, + "required": [ + "hostName", + "eventHubName" + ] + }, + "Export": { + "allOf": [ + { + "$ref": "#/definitions/DataExportStatus" + } + ], + "type": "object", + "properties": { + "id": { + "description": "Unique ID of the export.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "Display name of the export.", + "type": "string" + }, + "enabled": { + "description": "Toggle to start/stop an export from sending data.", + "type": "boolean" + }, + "source": { + "description": "The type of data to export.", + "type": "string", + "enum": [ + "telemetry", + "properties", + "deviceLifecycle", + "deviceTemplateLifecycle", + "deviceConnectivity" + ], + "x-ms-enum": { + "name": "DestinationSource", + "modelAsString": false, + "values": [ + { + "value": "telemetry", + "name": "Telemetry", + "description": "Destination source from device telemetry" + }, + { + "value": "properties", + "name": "Properties", + "description": "Destination source from device properties" + }, + { + "value": "deviceLifecycle", + "name": "DeviceLifecycle", + "description": "Destination source from device lifecycle" + }, + { + "value": "deviceTemplateLifecycle", + "name": "DeviceTemplateLifecycle", + "description": "Destination source from device template lifecycle" + }, + { + "value": "deviceConnectivity", + "name": "DeviceConnectivity", + "description": "Destination source from device connectivity" + } + ] + } + }, + "filter": { + "description": "Query defining which events from the source should be exported.", + "type": "string" + }, + "enrichments": { + "description": "Additional pieces of information to include with each sent message. Data is represented as a set of key/value pairs, where the key is the name of the enrichment that will appear in the output message and the value identifies the data to send.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Enrichment" + } + }, + "destinations": { + "description": "The list of destinations to which the export should send data.", + "type": "array", + "items": { + "$ref": "#/definitions/DestinationReference" + } + } + }, + "required": [ + "displayName", + "enabled", + "source", + "destinations" + ] + }, + "ExportCollection": { + "type": "object", + "properties": { + "value": { + "description": "The collection of exports.", + "type": "array", + "items": { + "$ref": "#/definitions/Export" + } + }, + "nextLink": { + "description": "URL to get the next page of exports.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "FileUpload": { + "type": "object", + "properties": { + "account": { + "description": "The storage account name where to upload the file to", + "type": "string" + }, + "connectionString": { + "description": "The connection string used to configure the storage account", + "type": "string" + }, + "container": { + "description": "The name of the container inside the storage account", + "type": "string" + }, + "sasTtl": { + "description": "ISO 8601 duration standard, The amount of time the device’s request to upload a file is valid before it expires.", + "type": "string" + }, + "state": { + "description": "The state of the file upload configuration", + "type": "string", + "readOnly": true, + "enum": [ + "pending", + "updating", "deleting", "succeeded", "failed" @@ -522,6 +1014,15 @@ "description": "Indicates whether the job is starting, running, etc.", "type": "string", "readOnly": true + }, + "organizations": { + "description": "List of organizations of the job.", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1, + "maxItems": 1 } }, "required": [ @@ -746,6 +1247,32 @@ } ] }, + "QueryRequest": { + "type": "object", + "properties": { + "query": { + "description": "Query to be executed.", + "type": "string" + } + }, + "required": [ + "query" + ] + }, + "QueryResponse": { + "type": "object", + "properties": { + "results": { + "type": "array", + "items": { + "type": "object" + } + } + }, + "required": [ + "results" + ] + }, "Role": { "type": "object", "properties": { @@ -795,6 +1322,148 @@ "value" ] }, + "ServiceBusQueueV1Destination": { + "x-ms-discriminator-value": "servicebusqueue@v1", + "allOf": [ + { + "$ref": "#/definitions/Destination" + } + ], + "type": "object", + "properties": { + "authorization": { + "$ref": "#/definitions/ServiceBusQueueV1DestinationAuth" + } + }, + "required": [ + "authorization" + ] + }, + "ServiceBusQueueV1DestinationAuth": { + "type": "object", + "properties": { + "type": { + "description": "The kind of authentication to use.", + "type": "string" + } + }, + "required": [ + "type" + ], + "discriminator": "type" + }, + "ServiceBusQueueV1DestinationConnectionStringAuth": { + "x-ms-discriminator-value": "connectionString", + "allOf": [ + { + "$ref": "#/definitions/ServiceBusQueueV1DestinationAuth" + } + ], + "type": "object", + "properties": { + "connectionString": { + "description": "The connection string for accessing the Service Bus namespace, including the `EntityPath` of the queue.", + "type": "string" + } + }, + "required": [ + "connectionString" + ] + }, + "ServiceBusQueueV1DestinationSystemAssignedManagedIdentityAuth": { + "x-ms-discriminator-value": "systemAssignedManagedIdentity", + "allOf": [ + { + "$ref": "#/definitions/ServiceBusQueueV1DestinationAuth" + } + ], + "type": "object", + "properties": { + "hostName": { + "description": "The host name of the Service Bus namespace.", + "type": "string" + }, + "queueName": { + "description": "The Service Bus queue name.", + "type": "string" + } + }, + "required": [ + "hostName", + "queueName" + ] + }, + "ServiceBusTopicV1Destination": { + "x-ms-discriminator-value": "servicebustopic@v1", + "allOf": [ + { + "$ref": "#/definitions/Destination" + } + ], + "type": "object", + "properties": { + "authorization": { + "$ref": "#/definitions/ServiceBusTopicV1DestinationAuth" + } + }, + "required": [ + "authorization" + ] + }, + "ServiceBusTopicV1DestinationAuth": { + "type": "object", + "properties": { + "type": { + "description": "The kind of authentication to use.", + "type": "string" + } + }, + "required": [ + "type" + ], + "discriminator": "type" + }, + "ServiceBusTopicV1DestinationConnectionStringAuth": { + "x-ms-discriminator-value": "connectionString", + "allOf": [ + { + "$ref": "#/definitions/ServiceBusTopicV1DestinationAuth" + } + ], + "type": "object", + "properties": { + "connectionString": { + "description": "The connection string for accessing the Service Bus namespace, including the `EntityPath` of the topic.", + "type": "string" + } + }, + "required": [ + "connectionString" + ] + }, + "ServiceBusTopicV1DestinationSystemAssignedManagedIdentityAuth": { + "x-ms-discriminator-value": "systemAssignedManagedIdentity", + "allOf": [ + { + "$ref": "#/definitions/ServiceBusTopicV1DestinationAuth" + } + ], + "type": "object", + "properties": { + "hostName": { + "description": "The host name of the Service Bus namespace.", + "type": "string" + }, + "topicName": { + "description": "The Service Bus topic name.", + "type": "string" + } + }, + "required": [ + "hostName", + "topicName" + ] + }, "ServicePrincipalUser": { "x-ms-discriminator-value": "servicePrincipal", "allOf": [ @@ -925,38 +1594,186 @@ "value" ] }, - "X509": { - "type": "object", - "properties": { - "clientCertificates": { - "description": "The X.509 client certificates for this credential.", - "$ref": "#/definitions/X509Certificates" - } - } - }, - "X509Attestation": { - "x-ms-discriminator-value": "x509", + "WebhookV1Destination": { + "x-ms-discriminator-value": "webhook@v1", "allOf": [ { - "$ref": "#/definitions/Attestation" + "$ref": "#/definitions/Destination" } ], "type": "object", "properties": { - "x509": { - "description": "The X.509 credentials for this attestation.", - "$ref": "#/definitions/X509" + "url": { + "description": "The URL to invoke when exporting data.", + "type": "string" + }, + "queryCustomizations": { + "description": "Additional query parameters that should be added to each request.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/WebhookV1DestinationCustomization" + } + }, + "headerCustomizations": { + "description": "Additional headers that should be added to each request.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/WebhookV1DestinationCustomization" + } + }, + "authorization": { + "$ref": "#/definitions/WebhookV1DestinationAuth" } }, "required": [ - "x509" + "url" ] }, - "X509Certificate": { + "WebhookV1DestinationAuth": { "type": "object", "properties": { - "certificate": { - "description": "The string representation of this certificate.", + "type": { + "description": "The kind of authentication to use.", + "type": "string" + } + }, + "required": [ + "type" + ], + "discriminator": "type" + }, + "WebhookV1DestinationCustomization": { + "type": "object", + "properties": { + "value": { + "description": "The value to use for this webhook customization.", + "type": "string" + }, + "secret": { + "description": "Whether to consider the value to be a secret and hide it when retrieving the destination configuration.", + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "WebhookV1DestinationHeaderAuth": { + "x-ms-discriminator-value": "header", + "allOf": [ + { + "$ref": "#/definitions/WebhookV1DestinationAuth" + } + ], + "type": "object", + "properties": { + "value": { + "description": "Value to use for the Authorization header when making requests.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "WebhookV1DestinationOAuthAuth": { + "x-ms-discriminator-value": "oauth", + "allOf": [ + { + "$ref": "#/definitions/WebhookV1DestinationAuth" + } + ], + "type": "object", + "properties": { + "tokenUrl": { + "description": "URL where an access token can be retrieved.", + "type": "string" + }, + "clientId": { + "description": "OAuth2 client ID used when retrieving the token.", + "type": "string" + }, + "clientSecret": { + "description": "OAuth2 client secret used to retrieve the token.", + "type": "string" + }, + "audience": { + "description": "OAuth2 audience.", + "type": "string" + }, + "scope": { + "description": "OAuth2 scope.", + "type": "string" + }, + "requestType": { + "description": "Content-Type for the token request.", + "type": "string", + "enum": [ + "auto", + "json", + "urlencoded" + ], + "x-ms-enum": { + "name": "OAuthRequestType", + "modelAsString": false, + "values": [ + { + "value": "auto", + "name": "Auto", + "description": "Use automatic Content-Type for token request" + }, + { + "value": "json", + "name": "Json", + "description": "Content-Type as JSON for token request" + }, + { + "value": "urlencoded", + "name": "UrlEncoded", + "description": "Content-Type as UrlEncoded for token request" + } + ] + } + } + }, + "required": [ + "tokenUrl", + "clientId", + "clientSecret" + ] + }, + "X509": { + "type": "object", + "properties": { + "clientCertificates": { + "description": "The X.509 client certificates for this credential.", + "$ref": "#/definitions/X509Certificates" + } + } + }, + "X509Attestation": { + "x-ms-discriminator-value": "x509", + "allOf": [ + { + "$ref": "#/definitions/Attestation" + } + ], + "type": "object", + "properties": { + "x509": { + "description": "The X.509 credentials for this attestation.", + "$ref": "#/definitions/X509" + } + }, + "required": [ + "x509" + ] + }, + "X509Certificate": { + "type": "object", + "properties": { + "certificate": { + "description": "The string representation of this certificate.", "type": "string" }, "info": { @@ -1028,8 +1845,351 @@ "operationId": "ApiTokens_Get", "summary": "Get an API token by ID.", "x-ms-examples": { - "Get API token by ID": { - "$ref": "./examples/apitoken_get.json" + "Get API token by ID": { + "$ref": "./examples/apitoken_get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/Version" + }, + { + "in": "path", + "name": "tokenId", + "description": "Unique ID for the API token.", + "type": "string", + "required": true + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ApiToken" + } + } + } + }, + "put": { + "operationId": "ApiTokens_Create", + "summary": "Create a new API token in the application to use in the IoT Central public API. The token value will be returned in the response, and won't be returned again in subsequent requests.", + "x-ms-examples": { + "Create API token": { + "$ref": "./examples/apitoken_create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/Version" + }, + { + "in": "path", + "name": "tokenId", + "description": "Unique ID for the API token.", + "type": "string", + "required": true + }, + { + "in": "body", + "name": "body", + "description": "API token body.", + "schema": { + "$ref": "#/definitions/ApiToken" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ApiToken" + } + } + } + }, + "delete": { + "operationId": "ApiTokens_Remove", + "summary": "Delete an API token.", + "x-ms-examples": { + "Delete API token": { + "$ref": "./examples/apitoken_delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/Version" + }, + { + "in": "path", + "name": "tokenId", + "description": "Unique ID for the API token.", + "type": "string", + "required": true + } + ], + "responses": { + "204": { + "description": "Success" + } + } + } + }, + "/dataExport/destinations": { + "get": { + "operationId": "Destinations_List", + "summary": "Get the list of destinations in an application.", + "x-ms-examples": { + "List data export destinations": { + "$ref": "./examples/dataexports_destinations_list.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/Version" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DestinationCollection" + } + } + } + } + }, + "/dataExport/destinations/{destinationId}": { + "get": { + "operationId": "Destinations_Get", + "summary": "Get a destination by ID.", + "x-ms-examples": { + "Get a data export destination": { + "$ref": "./examples/dataexports_destinations_get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/Version" + }, + { + "$ref": "#/parameters/DestinationId" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Destination" + } + } + } + }, + "put": { + "operationId": "Destinations_Create", + "summary": "Create or update a destination", + "description": "Create or update a definition for where to send data.", + "x-ms-examples": { + "Create a webhook destination": { + "$ref": "./examples/dataexports_destinations_create_webhook.json" + }, + "Create an azure blob storage destination": { + "$ref": "./examples/dataexports_destinations_create_blob.json" + }, + "Create an azure data explorer destination": { + "$ref": "./examples/dataexports_destinations_create_adx.json" + }, + "Create an azure event hub destination": { + "$ref": "./examples/dataexports_destinations_create_eventhub.json" + }, + "Create an azure service bus queue destination": { + "$ref": "./examples/dataexports_destinations_create_queue.json" + }, + "Create an azure service bus topic destination": { + "$ref": "./examples/dataexports_destinations_create_topic.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/Version" + }, + { + "$ref": "#/parameters/DestinationId" + }, + { + "in": "body", + "name": "body", + "description": "Destination body.", + "schema": { + "$ref": "#/definitions/Destination" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Destination" + } + } + } + }, + "patch": { + "operationId": "Destinations_Update", + "summary": "Patch a destination.", + "description": "Perform an incremental update to a destination.", + "x-ms-examples": { + "Update an webhook destination": { + "$ref": "./examples/dataexports_destinations_update_webhook.json" + } + }, + "consumes": [ + "application/json", + "application/json-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/Version" + }, + { + "$ref": "#/parameters/DestinationId" + }, + { + "in": "body", + "name": "body", + "description": "Destination patch body.", + "schema": { + "type": "object" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Destination" + } + } + } + }, + "delete": { + "operationId": "Destinations_Remove", + "summary": "Delete a destination.", + "x-ms-examples": { + "Delete data export destination": { + "$ref": "./examples/dataexports_destinations_delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/Version" + }, + { + "$ref": "#/parameters/DestinationId" + } + ], + "responses": { + "204": { + "description": "Success" + } + } + } + }, + "/dataExport/destinations/{destinationId}/exports": { + "get": { + "operationId": "Destinations_ListExports", + "summary": "List all exports connected to the given destination.", + "x-ms-examples": { + "List all exports connected to the given destination": { + "$ref": "./examples/dataexports_destinations_exports_list.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/Version" + }, + { + "$ref": "#/parameters/DestinationId" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ExportCollection" + } + } + } + } + }, + "/dataExport/exports": { + "get": { + "operationId": "Exports_List", + "summary": "Get the list of exports in an application.", + "x-ms-examples": { + "List data exports": { + "$ref": "./examples/dataexports_exports_list.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/Version" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ExportCollection" + } + } + } + } + }, + "/dataExport/exports/{exportId}": { + "get": { + "operationId": "Exports_Get", + "summary": "Get an export by ID.", + "x-ms-examples": { + "Get data export by ID": { + "$ref": "./examples/dataexports_exports_get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/Version" + }, + { + "$ref": "#/parameters/ExportId" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Export" + } + } + } + }, + "put": { + "operationId": "Exports_Create", + "summary": "Create or update an export", + "description": "Create or update a definition for exporting data. Also used to connect or disconnect an export from destinations.", + "x-ms-examples": { + "Create data export with ID": { + "$ref": "./examples/dataexports_exports_create.json" } }, "parameters": [ @@ -1037,10 +2197,15 @@ "$ref": "#/parameters/Version" }, { - "in": "path", - "name": "tokenId", - "description": "Unique ID for the API token.", - "type": "string", + "$ref": "#/parameters/ExportId" + }, + { + "in": "body", + "name": "body", + "description": "Export body.", + "schema": { + "$ref": "#/definitions/Export" + }, "required": true } ], @@ -1048,36 +2213,37 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ApiToken" + "$ref": "#/definitions/Export" } } } }, - "put": { - "operationId": "ApiTokens_Create", - "summary": "Create a new API token in the application to use in the IoT Central public API. The token value will be returned in the response, and won't be returned again in subsequent requests.", + "patch": { + "operationId": "Exports_Update", + "summary": "Patch an export.", + "description": "Perform an incremental update to an export.", "x-ms-examples": { - "Create API token": { - "$ref": "./examples/apitoken_create.json" + "Update a data export": { + "$ref": "./examples/dataexports_exports_update.json" } }, + "consumes": [ + "application/json", + "application/json-patch+json" + ], "parameters": [ { "$ref": "#/parameters/Version" }, { - "in": "path", - "name": "tokenId", - "description": "Unique ID for the API token.", - "type": "string", - "required": true + "$ref": "#/parameters/ExportId" }, { "in": "body", "name": "body", - "description": "API token body.", + "description": "Export patch body.", "schema": { - "$ref": "#/definitions/ApiToken" + "type": "object" }, "required": true } @@ -1086,17 +2252,17 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ApiToken" + "$ref": "#/definitions/Export" } } } }, "delete": { - "operationId": "ApiTokens_Remove", - "summary": "Delete an API token.", + "operationId": "Exports_Remove", + "summary": "Delete an export.", "x-ms-examples": { - "Delete API token": { - "$ref": "./examples/apitoken_delete.json" + "Delete a data export with ID": { + "$ref": "./examples/dataexports_exports_delete.json" } }, "parameters": [ @@ -1104,11 +2270,7 @@ "$ref": "#/parameters/Version" }, { - "in": "path", - "name": "tokenId", - "description": "Unique ID for the API token.", - "type": "string", - "required": true + "$ref": "#/parameters/ExportId" } ], "responses": { @@ -1118,6 +2280,36 @@ } } }, + "/dataExport/exports/{exportId}/destinations": { + "get": { + "operationId": "Exports_ListDestinations", + "summary": "List all destinations connected to the given export.", + "x-ms-examples": { + "List all destinations in given export": { + "$ref": "./examples/dataexports_exports_destinations_list.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/Version" + }, + { + "$ref": "#/parameters/ExportId" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DestinationCollection" + } + } + } + } + }, "/deviceGroups": { "get": { "operationId": "DeviceGroups_List", @@ -1148,7 +2340,7 @@ "/deviceTemplates": { "get": { "operationId": "DeviceTemplates_List", - "summary": "Get the list of device templates in an application", + "summary": "Get the list of device templates in an application with basic ODATA support ($top, $filter, $orderby), [more details](https://aka.ms/iotcentralodatasupport).", "x-ms-examples": { "List device templates": { "$ref": "./examples/devicetemplates_list.json" @@ -1157,6 +2349,15 @@ "parameters": [ { "$ref": "#/parameters/Version" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/orderBy" } ], "x-ms-pageable": { @@ -1177,7 +2378,7 @@ "operationId": "DeviceTemplates_Get", "summary": "Get a device template by ID", "x-ms-examples": { - "Get a device template by Id": { + "Get a device template by ID": { "$ref": "./examples/devicetemplates_get.json" } }, @@ -1237,7 +2438,7 @@ "summary": "Update the cloud properties and overrides of an existing device template via patch.", "x-ms-examples": { "Update a device template": { - "$ref": "./examples/devicetemplates_create.json" + "$ref": "./examples/devicetemplates_update.json" } }, "parameters": [ @@ -1271,7 +2472,7 @@ "summary": "Delete a device template", "description": "Delete an existing device template by device ID.", "x-ms-examples": { - "Delete a device template by Id": { + "Delete a device template by ID": { "$ref": "./examples/devicetemplates_delete.json" } }, @@ -1293,7 +2494,7 @@ "/devices": { "get": { "operationId": "Devices_List", - "summary": "Get the list of devices in an application", + "summary": "Get the list of devices in an application with basic ODATA support ($top, $filter, $orderby), [more details](https://aka.ms/iotcentralodatasupport).", "x-ms-examples": { "List devices": { "$ref": "./examples/devices_list.json" @@ -1302,6 +2503,15 @@ "parameters": [ { "$ref": "#/parameters/Version" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/orderBy" } ], "x-ms-pageable": { @@ -1323,7 +2533,7 @@ "summary": "Get a device by ID", "description": "Get details about an existing device by device ID.", "x-ms-examples": { - "Get device by Id": { + "Get device by ID": { "$ref": "./examples/devices_get.json" } }, @@ -2537,6 +3747,171 @@ } } }, + "/devices/{deviceId}/relationships/": { + "get": { + "operationId": "Devices_ListRelationships", + "summary": "Given the ID for an upstream device, will return the upstream and the downstream relationships associated with that gateway. These downstream relationships are only those associated with the direct downstream level (they don’t work recursively).", + "description": "List all relationships based on device ID", + "x-ms-examples": { + "List device relationships": { + "$ref": "./examples/devices_relationships_list.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/Version" + }, + { + "$ref": "#/parameters/DeviceId" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DeviceRelationshipCollection" + } + } + } + } + }, + "/devices/{deviceId}/relationships/{relationshipId}": { + "get": { + "operationId": "Devices_GetRelationship", + "summary": "Given the ID for a device and a relationship ID associated with this device, get the details of the relationship.", + "description": "Get device relationship by ID", + "x-ms-examples": { + "Get device relationship by ID": { + "$ref": "./examples/devices_relationships_get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/Version" + }, + { + "$ref": "#/parameters/DeviceId" + }, + { + "$ref": "#/parameters/RelationshipId" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DeviceRelationship" + } + } + } + }, + "put": { + "operationId": "Devices_CreateRelationship", + "summary": "Given the ID for a device and a relationship ID associated with this device, create a new relationship for between the given device and a second device specified in the body.", + "description": "Create a device relationship", + "x-ms-examples": { + "Create a new device relationship": { + "$ref": "./examples/devices_relationships_create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/Version" + }, + { + "$ref": "#/parameters/DeviceId" + }, + { + "$ref": "#/parameters/RelationshipId" + }, + { + "in": "body", + "name": "body", + "description": "Device relationship body.", + "schema": { + "$ref": "#/definitions/DeviceRelationship" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DeviceRelationship" + } + } + } + }, + "patch": { + "operationId": "Devices_UpdateRelationship", + "summary": "Patch a given relationship given the relationship ID and a given device ID.", + "description": "Update device relationship", + "x-ms-examples": { + "Update a device relationship": { + "$ref": "./examples/devices_relationships_update.json" + } + }, + "consumes": [ + "application/json", + "application/json-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/Version" + }, + { + "$ref": "#/parameters/DeviceId" + }, + { + "$ref": "#/parameters/RelationshipId" + }, + { + "in": "body", + "name": "body", + "description": "Device relationship patch body.", + "schema": { + "type": "object" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DeviceRelationship" + } + } + } + }, + "delete": { + "operationId": "Devices_RemoveRelationship", + "summary": "Given the ID for a device and an associated relationship ID, delete the relationship. The given device ID can be that of the upstream or downstream device.", + "description": "Delete a device relationship", + "x-ms-examples": { + "Delete a device relationship": { + "$ref": "./examples/devices_relationships_delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/Version" + }, + { + "$ref": "#/parameters/DeviceId" + }, + { + "$ref": "#/parameters/RelationshipId" + } + ], + "responses": { + "204": { + "description": "Success" + } + } + } + }, "/devices/{deviceId}/telemetry/{telemetryName}": { "get": { "operationId": "Devices_GetTelemetryValue", @@ -2694,7 +4069,7 @@ "summary": "Get a job by ID", "description": "Get details about a running or completed job by job ID.", "x-ms-examples": { - "Get a job by Id": { + "Get a job by ID": { "$ref": "./examples/jobs_get.json" } }, @@ -2868,7 +4243,7 @@ "/organizations": { "get": { "operationId": "Organizations_List", - "summary": "Get the list of organizations the user has access to in an application.", + "summary": "Get the list of organizations the user has access to in an application", "x-ms-examples": { "List organizations": { "$ref": "./examples/organizations_list.json" @@ -3029,6 +4404,39 @@ } } }, + "/query": { + "post": { + "operationId": "Query_Run", + "summary": "Run a query and obtain the result", + "x-ms-examples": { + "List devices": { + "$ref": "./examples/query_run.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/Version" + }, + { + "in": "body", + "name": "body", + "description": "query, more details in [IoT central query language](https://aka.ms/iotcql)", + "schema": { + "$ref": "#/definitions/QueryRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/QueryResponse" + } + } + } + } + }, "/roles": { "get": { "operationId": "Roles_List", @@ -3061,7 +4469,7 @@ "operationId": "Roles_Get", "summary": "Get a role by ID.", "x-ms-examples": { - "Get role by Id": { + "Get role by ID": { "$ref": "./examples/roles_get.json" } }, @@ -3281,6 +4689,14 @@ "type": "string", "required": true }, + "DestinationId": { + "in": "path", + "name": "destinationId", + "description": "Unique ID for the destination.", + "x-ms-parameter-location": "method", + "type": "string", + "required": true + }, "DeviceId": { "in": "path", "name": "deviceId", @@ -3297,6 +4713,14 @@ "type": "string", "required": true }, + "ExportId": { + "in": "path", + "name": "exportId", + "description": "Unique ID for the export.", + "x-ms-parameter-location": "method", + "type": "string", + "required": true + }, "JobId": { "in": "path", "name": "jobId", @@ -3313,6 +4737,14 @@ "type": "string", "required": true }, + "RelationshipId": { + "in": "path", + "name": "relationshipId", + "description": "Unique ID of a relationship between devices.", + "x-ms-parameter-location": "method", + "type": "string", + "required": true + }, "Subdomain": { "in": "path", "name": "subdomain", @@ -3339,6 +4771,30 @@ "1.1-preview" ], "required": true + }, + "filter": { + "in": "query", + "name": "$filter", + "description": "Filter string for results.", + "x-ms-parameter-location": "method", + "type": "string", + "required": false + }, + "orderBy": { + "in": "query", + "name": "$orderby", + "description": "The order by string for results.", + "x-ms-parameter-location": "method", + "type": "string", + "required": false + }, + "top": { + "in": "query", + "name": "$top", + "description": "Page size of returned results.", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false } }, "securityDefinitions": { diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_CreateOrUpdate.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_CreateOrUpdate.json index 9475c57e83b3..024bf03bd538 100644 --- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_CreateOrUpdate.json +++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_CreateOrUpdate.json @@ -13,6 +13,9 @@ "displayName": "My IoT Central App", "subdomain": "my-iot-central-app", "template": "iotc-pnp-preview@1.0.0" + }, + "identity": { + "type": "SystemAssigned" } } }, @@ -39,6 +42,11 @@ }, "sku": { "name": "ST2" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "principalId": "8988ab15-3e7a-4586-8a1c-ed07a73a53e9" } } }, @@ -65,6 +73,11 @@ }, "sku": { "name": "ST2" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "principalId": "8988ab15-3e7a-4586-8a1c-ed07a73a53e9" } } }, diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_Get.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_Get.json index 490a605e453e..df36d17487ae 100644 --- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_Get.json +++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_Get.json @@ -28,6 +28,11 @@ }, "sku": { "name": "F1" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "principalId": "8988ab15-3e7a-4586-8a1c-ed07a73a53e9" } } }, diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_ListByResourceGroup.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_ListByResourceGroup.json index bef602c32f24..5322d6def274 100644 --- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_ListByResourceGroup.json +++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_ListByResourceGroup.json @@ -28,6 +28,11 @@ }, "sku": { "name": "F1" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "principalId": "8988ab15-3e7a-4586-8a1c-ed07a73a53e9" } } ], diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_ListBySubscription.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_ListBySubscription.json index 6692ed91fff9..c05dfc8c6f2f 100644 --- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_ListBySubscription.json +++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_ListBySubscription.json @@ -27,6 +27,11 @@ }, "sku": { "name": "F1" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "principalId": "8988ab15-3e7a-4586-8a1c-ed07a73a53e9" } } ], diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_Update.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_Update.json index ac9b0261d5ab..697d2fb379aa 100644 --- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_Update.json +++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_Update.json @@ -7,6 +7,9 @@ "AppPatch": { "properties": { "displayName": "My IoT Central App 2" + }, + "identity": { + "type": "SystemAssigned" } } }, @@ -34,6 +37,11 @@ }, "sku": { "name": "ST2" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "principalId": "8988ab15-3e7a-4586-8a1c-ed07a73a53e9" } } }, diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/iotcentral.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/iotcentral.json index 03e20a917cb9..59c41e92df94 100644 --- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/iotcentral.json +++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/iotcentral.json @@ -567,6 +567,10 @@ "sku": { "description": "A valid instance SKU.", "$ref": "#/definitions/AppSkuInfo" + }, + "identity": { + "description": "The managed identities for the IoT Central application.", + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/SystemAssignedServiceIdentity" } }, "allOf": [ @@ -597,6 +601,10 @@ "description": "The common properties of an IoT Central application.", "x-ms-client-flatten": true, "$ref": "#/definitions/AppProperties" + }, + "identity": { + "description": "The managed identities for the IoT Central application.", + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/SystemAssignedServiceIdentity" } } }, diff --git a/specification/iotcentral/resource-manager/readme.go.md b/specification/iotcentral/resource-manager/readme.go.md index 6ae9907b07b5..d16c4ac2a9e0 100644 --- a/specification/iotcentral/resource-manager/readme.go.md +++ b/specification/iotcentral/resource-manager/readme.go.md @@ -13,9 +13,19 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-06 - tag: package-2018-09-01 ``` +### Tag: package-2021-06 and go + +These settings apply only when `--tag=package-2021-06 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2021-06' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-06-01/$(namespace) +``` + ### Tag: package-2018-09-01 and go These settings apply only when `--tag=package-2018-09-01 --go` is specified on the command line. diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/IotHub_ManualFailover.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/IotHub_ManualFailover.json new file mode 100644 index 000000000000..ba3ce8591da0 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/IotHub_ManualFailover.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "failoverInput": { + "failoverRegion": "testHub" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/checkNameAvailability.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/checkNameAvailability.json new file mode 100644 index 000000000000..f9d5e2f6e31f --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/checkNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "operationInputs": { + "name": "test-request" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "Invalid", + "message": "" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_certificatescreateorupdate.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_certificatescreateorupdate.json new file mode 100644 index 000000000000..5c7ffa5f75d2 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_certificatescreateorupdate.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "resourceName": "iothub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "certificateDescription": { + "properties": { + "certificate": "############################################" + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + }, + "200": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_certificatesdelete.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_certificatesdelete.json new file mode 100644 index 000000000000..6674ad724fce --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_certificatesdelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceName": "myhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_certverify.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_certverify.json new file mode 100644 index 000000000000..9f14c412ae66 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_certverify.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=", + "certificateVerificationBody": { + "certificate": "#####################################" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=andbucdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": true, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpTQ=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_createOrUpdate.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_createOrUpdate.json new file mode 100644 index 000000000000..b0e130d5660a --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_createOrUpdate.json @@ -0,0 +1,305 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "iotHubDescription": { + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "ipFilterRules": [], + "networkRuleSets": { + "defaultAction": "Deny", + "applyToBuiltInEventHubEndpoint": true, + "ipRules": [ + { + "filterName": "rule1", + "action": "Allow", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Allow", + "ipMask": "157.55.59.128/25" + } + ] + }, + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2 + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "minTlsVersion": "1.2", + "enableDataResidency": true + }, + "sku": { + "name": "S1", + "capacity": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [ + { + "filterName": "rule1", + "action": "Accept", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Accept", + "ipMask": "157.55.59.128/25" + } + ], + "networkRuleSets": { + "defaultAction": "Deny", + "applyToBuiltInEventHubEndpoint": true, + "ipRules": [ + { + "filterName": "rule1", + "action": "Allow", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Allow", + "ipMask": "157.55.59.128/25" + } + ] + }, + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "minTlsVersion": "1.2", + "enableDataResidency": true + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdAt": "2021-01-30T00:28:38.963Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [ + { + "filterName": "rule1", + "action": "Accept", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Accept", + "ipMask": "157.55.59.128/25" + } + ], + "networkRuleSets": { + "defaultAction": "Deny", + "applyToBuiltInEventHubEndpoint": true, + "ipRules": [ + { + "filterName": "rule1", + "action": "Allow", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Allow", + "ipMask": "157.55.59.128/25" + } + ] + }, + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "minTlsVersion": "1.2", + "enableDataResidency": true + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdAt": "2021-01-30T00:28:38.963Z" + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_createconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_createconsumergroup.json new file mode 100644 index 000000000000..5ae8777b4386 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_createconsumergroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "name": "test", + "consumerGroupBody": { + "properties": { + "name": "test" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "created": "Thu, 15 Jun 2017 19:20:58 GMT" + }, + "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default", + "name": "test", + "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups", + "etag": "AAAAAAFD6M4=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_delete.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_delete.json new file mode 100644 index 000000000000..20685015f32a --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_delete.json @@ -0,0 +1,224 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [ + { + "filterName": "rule1", + "action": "Accept", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Accept", + "ipMask": "157.55.59.128/25" + } + ], + "networkRuleSets": { + "defaultAction": "Deny", + "applyToBuiltInEventHubEndpoint": true, + "ipRules": [ + { + "filterName": "rule1", + "action": "Allow", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Allow", + "ipMask": "157.55.59.128/25" + } + ] + }, + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdAt": "2021-01-30T00:28:38.963Z" + } + } + }, + "204": {}, + "202": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [ + { + "filterName": "rule1", + "action": "Accept", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Accept", + "ipMask": "157.55.59.128/25" + } + ], + "networkRuleSets": { + "defaultAction": "Deny", + "applyToBuiltInEventHubEndpoint": true, + "ipRules": [ + { + "filterName": "rule1", + "action": "Allow", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Allow", + "ipMask": "157.55.59.128/25" + } + ] + }, + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdAt": "2021-01-30T00:28:38.963Z" + } + } + }, + "404": { + "body": {} + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_deleteconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_deleteconsumergroup.json new file mode 100644 index 000000000000..f8e12b770a27 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_deleteconsumergroup.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "name": "test" + }, + "responses": { + "200": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_deleteprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_deleteprivateendpointconnection.json new file mode 100644 index 000000000000..27d65e823743 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_deleteprivateendpointconnection.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "Deleted", + "actionsRequired": "None" + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "Deleted", + "actionsRequired": "None" + } + } + } + }, + "204": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_exportdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_exportdevices.json new file mode 100644 index 000000000000..3e7a090bb890 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_exportdevices.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "exportDevicesParameters": { + "authenticationType": "identityBased", + "identity": { + "userAssignedIdentity": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1" + }, + "exportBlobContainerUri": "testBlob", + "excludeKeys": true + } + }, + "responses": { + "200": { + "body": { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_generateverificationcode.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_generateverificationcode.json new file mode 100644 index 000000000000..2a56c890fcc2 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_generateverificationcode.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=" + }, + "responses": { + "200": { + "body": { + "name": "cert", + "properties": { + "verificationCode": "##################################", + "subject": "CN=andbucdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "##############################", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT" + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_get.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_get.json new file mode 100644 index 000000000000..083f33f8bc60 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_get.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [ + { + "filterName": "rule1", + "action": "Accept", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Accept", + "ipMask": "157.55.59.128/25" + } + ], + "networkRuleSets": { + "defaultAction": "Deny", + "applyToBuiltInEventHubEndpoint": true, + "ipRules": [ + { + "filterName": "rule1", + "action": "Allow", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Allow", + "ipMask": "157.55.59.128/25" + } + ] + }, + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "deviceStreams": { + "streamingEndpoints": [ + "https://streams.azure-devices-int.net:9443" + ] + }, + "locations": [ + { + "location": "West US", + "role": "primary" + }, + { + "location": "East US", + "role": "secondary" + } + ], + "minTlsVersion": "1.2" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdAt": "2021-01-30T00:28:38.963Z" + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getcertificate.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getcertificate.json new file mode 100644 index 000000000000..31ff921df634 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getcertificate.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert" + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getconsumergroup.json new file mode 100644 index 000000000000..7d37e97dd0d5 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getconsumergroup.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "name": "test" + }, + "responses": { + "200": { + "body": { + "properties": { + "created": "Thu, 15 Jun 2017 19:20:58 GMT" + }, + "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default", + "name": "test", + "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups", + "etag": "AAAAAAFD6M4=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getjob.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getjob.json new file mode 100644 index 000000000000..11311db37fd6 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getjob.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "jobId": "test" + }, + "responses": { + "200": { + "body": { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getkey.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getkey.json new file mode 100644 index 000000000000..bf4f814f8518 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getkey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "keyName": "iothubowner" + }, + "responses": { + "200": { + "body": { + "keyName": "iothubowner", + "primaryKey": "", + "secondaryKey": "", + "rights": "RegistryWrite, ServiceConnect, DeviceConnect" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getprivateendpointconnection.json new file mode 100644 index 000000000000..4ff0b85da780 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getprivateendpointconnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request!", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getprivatelinkresources.json new file mode 100644 index 000000000000..2208810789c9 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getprivatelinkresources.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "groupId": "iotHub" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateLinkResources/iotHub", + "name": "iotHub", + "type": "Microsoft.Devices/IotHubs/PrivateLinkResources", + "properties": { + "groupId": "iotHub", + "requiredMembers": [ + "iotHub" + ], + "requiredZoneNames": [ + "privatelink.azure-devices.net" + ] + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getskus.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getskus.json new file mode 100644 index 000000000000..367922d2f233 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getskus.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.Devices/IotHubs", + "sku": { + "name": "S1", + "tier": "Standard" + }, + "capacity": { + "default": 1, + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.Devices/IotHubs", + "sku": { + "name": "S2", + "tier": "Standard" + }, + "capacity": { + "minimum": 1, + "maximum": 200, + "default": 1, + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.Devices/IotHubs", + "sku": { + "name": "S3", + "tier": "Standard" + }, + "capacity": { + "minimum": 1, + "maximum": 10, + "default": 1, + "scaleType": "Manual" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_importdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_importdevices.json new file mode 100644 index 000000000000..cf3940c37ac4 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_importdevices.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "importDevicesParameters": { + "inputBlobContainerUri": "testBlob", + "outputBlobContainerUri": "testBlob" + } + }, + "responses": { + "200": { + "body": { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listbyrg.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listbyrg.json new file mode 100644 index 000000000000..4c4d8590fd3f --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listbyrg.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [ + { + "filterName": "rule1", + "action": "Accept", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Accept", + "ipMask": "157.55.59.128/25" + } + ], + "networkRuleSets": { + "defaultAction": "Deny", + "applyToBuiltInEventHubEndpoint": true, + "ipRules": [ + { + "filterName": "rule1", + "action": "Allow", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Allow", + "ipMask": "157.55.59.128/25" + } + ] + }, + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdAt": "2021-01-30T00:28:38.963Z" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listbysubscription.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listbysubscription.json new file mode 100644 index 000000000000..4cba193e6de0 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listbysubscription.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "resourceName": "testHub", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [ + { + "filterName": "rule1", + "action": "Accept", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Accept", + "ipMask": "157.55.59.128/25" + } + ], + "networkRuleSets": { + "defaultAction": "Deny", + "applyToBuiltInEventHubEndpoint": true, + "ipRules": [ + { + "filterName": "rule1", + "action": "Allow", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Allow", + "ipMask": "157.55.59.128/25" + } + ] + }, + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdAt": "2021-01-30T00:28:38.963Z" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listcertificates.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listcertificates.json new file mode 100644 index 000000000000..bac71cb62a87 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listcertificates.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "resourceName": "testhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listehgroups.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listehgroups.json new file mode 100644 index 000000000000..92f349047ce9 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listehgroups.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "created": "Thu, 15 Jun 2017 19:20:58 GMT" + }, + "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default", + "name": "$Default", + "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups", + "etag": "AAAAAAFD6M4=" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listjobs.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listjobs.json new file mode 100644 index 000000000000..c5a6c8fe132d --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listjobs.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listkeys.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listkeys.json new file mode 100644 index 000000000000..51dfe405df35 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listkeys.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "keyName": "iothubowner", + "primaryKey": "", + "secondaryKey": "", + "rights": "RegistryWrite, ServiceConnect, DeviceConnect" + }, + { + "keyName": "service", + "primaryKey": "", + "secondaryKey": "", + "rights": "ServiceConnect" + }, + { + "keyName": "device", + "primaryKey": "", + "secondaryKey": "", + "rights": "DeviceConnect" + }, + { + "keyName": "registryRead", + "primaryKey": "", + "secondaryKey": "", + "rights": "RegistryRead" + }, + { + "keyName": "registryReadWrite", + "primaryKey": "", + "secondaryKey": "", + "rights": "RegistryWrite" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listprivateendpointconnections.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listprivateendpointconnections.json new file mode 100644 index 000000000000..8867691fb477 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listprivateendpointconnections.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request!", + "actionsRequired": "None" + } + } + } + ] + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listprivatelinkresources.json new file mode 100644 index 000000000000..d690aa05e12c --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listprivatelinkresources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateLinkResources/iotHub", + "name": "iotHub", + "type": "Microsoft.Devices/IotHubs/PrivateLinkResources", + "properties": { + "groupId": "iotHub", + "requiredMembers": [ + "iotHub" + ], + "requiredZoneNames": [ + "privatelink.azure-devices.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_operations.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_operations.json new file mode 100644 index 000000000000..acd916d9d5ef --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_operations.json @@ -0,0 +1,328 @@ +{ + "parameters": { + "api-version": "2021-07-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Devices/register/action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Register Resource Provider", + "description": "Register the subscription for the IotHub resource provider and enables the creation of IotHub resources" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Diagnostic Setting", + "description": "Gets the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Set Diagnostic Setting", + "description": "Creates or updates the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/IotHubs/metricDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read IotHub service metric definitions", + "description": "Gets the available metrics for the IotHub service" + } + }, + { + "name": "Microsoft.Devices/IotHubs/logDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read IotHub service log definitions", + "description": "Gets the available log definitions for the IotHub Service" + } + }, + { + "name": "Microsoft.Devices/operations/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get All ResourceProvider Operations", + "description": "Get All ResourceProvider Operations" + } + }, + { + "name": "Microsoft.Devices/checkNameAvailability/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Check If IotHub name is available", + "description": "Check If IotHub name is available" + } + }, + { + "name": "Microsoft.Devices/usages/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Subscription Usages", + "description": "Get subscription usage details for this provider." + } + }, + { + "name": "Microsoft.Devices/iotHubs/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub(s)", + "description": "Gets the IotHub resource(s)" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Create or update IotHub Resource", + "description": "Create or update IotHub Resource" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Delete IotHub Resource", + "description": "Delete IotHub Resource" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubStats/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub Statistics", + "description": "Get IotHub Statistics" + } + }, + { + "name": "Microsoft.Devices/iotHubs/skus/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get valid IotHub Skus", + "description": "Get valid IotHub Skus" + } + }, + { + "name": "Microsoft.Devices/iotHubs/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get all IotHub Keys", + "description": "Get all IotHub Keys" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub Key for the given name", + "description": "Get IotHub Key for the given name" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Create EventHub Consumer Group", + "description": "Create EventHub Consumer Group" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get EventHub Consumer Group(s)", + "description": "Get EventHub Consumer Group(s)" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Delete EventHub Consumer Group", + "description": "Delete EventHub Consumer Group" + } + }, + { + "name": "Microsoft.Devices/iotHubs/exportDevices/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Export Devices", + "description": "Export Devices" + } + }, + { + "name": "Microsoft.Devices/iotHubs/importDevices/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Import Devices", + "description": "Import Devices" + } + }, + { + "name": "Microsoft.Devices/iotHubs/jobs/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get the Job(s) on IotHub", + "description": "Get Job(s) details submitted on given IotHub" + } + }, + { + "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Quota Metrics", + "description": "Get Quota Metrics" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Routing Rule Test All", + "description": "Test a message against all existing Routes" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Routing Rule Test Route", + "description": "Test a message against a provided test Route" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Endpoint Health", + "description": "Gets the health of all routing Endpoints for an IotHub" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Diagnostic Setting", + "description": "Gets the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Set Diagnostic Setting", + "description": "Creates or updates the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read DPS service metric definitions", + "description": "Gets the available metrics for the DPS service" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read DPS service log definitions", + "description": "Gets the available log definitions for the DPS Service" + } + }, + { + "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServives", + "operation": "Check If Provisioning Service name is available", + "description": "Check If Provisioning Service name is available" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Get Provisioning Service resource", + "description": "Get Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Create Provisioning Service resource", + "description": "Create Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Delete Provisioning Service resource", + "description": "Delete Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/skus/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Delete Provisioning Service resource", + "description": "Delete Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "get security related metadata", + "description": "get security related metadata" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_patch.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_patch.json new file mode 100644 index 000000000000..8f28ea7a184e --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_patch.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "resourceName": "myHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "location": "East US", + "type": "Microsoft.Devices/IotHubs", + "IotHubTags": { + "tags": { + "foo": "bar" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": { + "foo": "bar" + }, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [ + { + "filterName": "rule1", + "action": "Accept", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Accept", + "ipMask": "157.55.59.128/25" + } + ], + "networkRuleSets": { + "defaultAction": "Deny", + "applyToBuiltInEventHubEndpoint": true, + "ipRules": [ + { + "filterName": "rule1", + "action": "Allow", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Allow", + "ipMask": "157.55.59.128/25" + } + ] + }, + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdAt": "2021-01-30T00:28:38.963Z" + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_quotametrics.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_quotametrics.json new file mode 100644 index 000000000000..d8c89aa76fa3 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_quotametrics.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "TotalMessages", + "currentValue": 0, + "maxValue": 400000 + }, + { + "name": "TotalDeviceCount", + "currentValue": 0, + "maxValue": 500000 + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_routingendpointhealth.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_routingendpointhealth.json new file mode 100644 index 000000000000..a11d3e1bccd1 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_routingendpointhealth.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "endpointId": "id1", + "healthStatus": "healthy", + "lastSuccessfulSendAttemptTime": "2020-03-26T21:20:57Z", + "lastSendAttemptTime": "2020-03-26T21:24:57Z" + }, + { + "endpointId": "id2", + "healthStatus": "unknown" + }, + { + "endpointId": "id3", + "healthStatus": "unhealthy", + "lastKnownError": "NotFound", + "lastKnownErrorTime": "2020-03-26T21:24:57Z", + "lastSuccessfulSendAttemptTime": "2020-03-26T21:20:57Z", + "lastSendAttemptTime": "2020-03-26T21:24:57Z" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_stats.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_stats.json new file mode 100644 index 000000000000..1a7bcb918e7e --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_stats.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-04-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "totalDeviceCount": 0, + "enabledDeviceCount": 0, + "disabledDeviceCount": 0 + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_testallroutes.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_testallroutes.json new file mode 100644 index 000000000000..852b33807074 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_testallroutes.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "input": { + "routingSource": "DeviceMessages", + "message": { + "body": "Body of message", + "appProperties": { + "key1": "value1" + }, + "systemProperties": { + "key1": "value1" + } + } + } + }, + "responses": { + "200": { + "body": { + "routes": [ + { + "properties": { + "name": "Routeid", + "source": "DeviceMessages", + "endpointNames": [ + "id1" + ], + "isEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_testnewroute.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_testnewroute.json new file mode 100644 index 000000000000..7d3725b8243f --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_testnewroute.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "input": { + "message": { + "body": "Body of message", + "appProperties": { + "key1": "value1" + }, + "systemProperties": { + "key1": "value1" + } + }, + "route": { + "name": "Routeid", + "source": "DeviceMessages", + "endpointNames": [ + "id1" + ], + "isEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "result": "false", + "details": { + "compilationErrors": [ + { + "message": "string response", + "severity": "error", + "location": { + "start": { + "line": 12, + "column": 12 + }, + "end": { + "line": 12, + "column": 24 + } + } + } + ] + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_updateprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_updateprivateendpointconnection.json new file mode 100644 index 000000000000..791e5ee279fc --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_updateprivateendpointconnection.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_usages.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_usages.json new file mode 100644 index 000000000000..ee71609f8b0c --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_usages.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-07-02-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages/freeHubCount", + "type": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages", + "unit": "count", + "currentValue": 1, + "limit": 1, + "name": { + "value": "FreeHubCount", + "localizedValue": "Free Hub Count" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/iothub.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/iothub.json new file mode 100644 index 000000000000..5dd7e602e110 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/iothub.json @@ -0,0 +1,4514 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-07-02-preview", + "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" + ], + "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", + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains all the non-security properties of the IoT hub. Security-related properties are set to null.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "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.", + "operationId": "IotHubResource_CreateOrUpdate", + "x-ms-examples": { + "IotHubResource_CreateOrUpdate": { + "$ref": "./examples/iothub_createOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "iotHubDescription", + "in": "body", + "description": "The IoT hub metadata and security metadata.", + "required": true, + "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": { + "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/IotHubDescription" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the create or update operation. The body contains the resource representation that indicates a transitional provisioning state.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "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/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "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": { + "202": { + "description": "The Iot Hub resource provider always returns a 202 Accepted status code with valid Location and Retry-After headers. The resource provider also sets the Azure-AsyncOperation header with a URL that points to the operation resource for this operation. Subsequent GET attempts on the resource after a DELETE operation return a resource representation that indicates a transitional provisioning state (such as Terminating). To retrieve the status of the operation, a client can either poll the URL returned in the Location header after the Retry-After interval, get the IoT Hub service status directly, or query the operation resource.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "204": { + "description": "Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the Iot hub metadata in the service and the status of the delete operation is set to a completed state." + }, + "404": { + "description": "After the long running delete operation completes successfully, a 404 Not Found is returned when the status polling request no longer finds the Iot hub metadata in the service.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs": { + "get": { + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the subscription.", + "schema": { + "$ref": "#/definitions/IotHubDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs": { + "get": { + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the resource group.", + "schema": { + "$ref": "#/definitions/IotHubDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats": { + "get": { + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains JSON-serialized statistics from the identity registry in the IoT hub.", + "schema": { + "$ref": "#/definitions/RegistryStatistics" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus": { + "get": { + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the valid SKUs for this IoT hub.", + "schema": { + "$ref": "#/definitions/IotHubSkuDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/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", + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "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" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/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", + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint in the IoT hub.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the consumer group to retrieve.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized consumer group.", + "schema": { + "$ref": "#/definitions/EventHubConsumerGroupInfo" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint in the IoT hub.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "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": { + "200": { + "description": "This is a synchronous operation.", + "schema": { + "$ref": "#/definitions/EventHubConsumerGroupInfo" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "delete": { + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint in the IoT hub.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the consumer group to delete.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/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", + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The response contains a JSON-serialized array of all the jobs in the IoT hub.", + "schema": { + "$ref": "#/definitions/JobResponseListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/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", + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "jobId", + "in": "path", + "description": "The job identifier.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The response contains a JSON-serialized description of the job in the IoT hub.", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics": { + "get": { + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The response contains a JSON-serialized array of the quota metrics for the IoT hub.", + "schema": { + "$ref": "#/definitions/IotHubQuotaMetricInfoListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/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/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "iotHubName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EndpointHealthDataListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/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", + "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": "resource group which Iot Hub belongs to", + "in": "path", + "required": true, + "type": "string" + }, + { + "$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", + "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": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of shared access policies, including keys, that you can use to access the IoT hub endpoints.", + "schema": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/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", + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the shared access policy.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized shared access policy, including keys, that you can use to access one or more IoT hub endpoints.", + "schema": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/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", + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "exportDevicesParameters", + "in": "body", + "description": "The parameters that specify the export devices operation.", + "required": true, + "schema": { + "$ref": "#/definitions/ExportDevicesRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/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", + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "importDevicesParameters", + "in": "body", + "description": "The parameters that specify the import devices operation.", + "required": true, + "schema": { + "$ref": "#/definitions/ImportDevicesRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/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" + } + }, + "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" + } + } + }, + "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" + } + }, + "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" + }, + "deviceStreams": { + "description": "The device streams properties of iothub.", + "type": "object", + "properties": { + "streamingEndpoints": { + "description": "List of Device Streams Endpoints.", + "type": "array", + "items": { + "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 + } + }, + "encryption": { + "description": "The encryption properties for the IoT hub.", + "$ref": "#/definitions/EncryptionPropertiesDescription" + }, + "locations": { + "description": "Primary and secondary location for iot hub", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/IotHubLocationDescription" + } + }, + "enableDataResidency": { + "description": "This property when set to true, will enable data residency, thus, disabling disaster recovery.", + "type": "boolean" + } + } + }, + "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": [ + "Accept", + "Reject" + ], + "type": "string", + "x-ms-enum": { + "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" + } + } + } + }, + "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": { + "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/RoutingServiceBusQueueEndpointProperties" + } + }, + "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/RoutingServiceBusTopicEndpointProperties" + } + }, + "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", + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true + } + }, + "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", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "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 + } + }, + "identity": { + "description": "Managed identity properties of routing service bus topic 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 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 + } + }, + "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 + } + }, + "identity": { + "description": "Managed identity properties of routing storage 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 storage account.", + "type": "string" + }, + "resourceGroup": { + "description": "The name of the resource group of the storage account.", + "type": "string" + }, + "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", + "DigitalTwinChangeEvents", + "DeviceConnectionStateEvents", + "MqttBrokerMessages" + ], + "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" + }, + "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" + ] + }, + "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 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": "RoutingSource", + "modelAsString": true + } + }, + "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" + } + }, + "isEnabled": { + "description": "Used to specify whether the fallback route is enabled.", + "type": "boolean" + } + }, + "required": [ + "endpointNames", + "source", + "isEnabled" + ] + }, + "EnrichmentProperties": { + "description": "The properties of an enrichment that your IoT hub applies to messages delivered to endpoints.", + "type": "object", + "properties": { + "key": { + "description": "The key or name for the enrichment property.", + "type": "string" + }, + "value": { + "description": "The value for the enrichment property.", + "type": "string" + }, + "endpointNames": { + "description": "The list of endpoints for which the enrichment is applied to the message.", + "minItems": 1, + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "key", + "value", + "endpointNames" + ] + }, + "IotHubDescription": { + "description": "The description of the IoT hub.", + "type": "object", + "properties": { + "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" + }, + "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" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "sku" + ] + }, + "Resource": { + "description": "The common properties of an Azure resource.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "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, + "required": [ + "location" + ] + }, + "SharedAccessSignatureAuthorizationRuleListResult": { + "description": "The list of shared access policies with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The list of shared access policies.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "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": { + "value": { + "description": "List of IoT Hub operations supported by the Microsoft.Devices resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "IoT Hub REST API operation", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{read | write | action | delete}" + }, + "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" + } + } + } + } + }, + "ErrorDetails": { + "description": "Error details.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "httpStatusCode": { + "description": "The HTTP status code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "The error details.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubQuotaMetricInfoListResult": { + "description": "The JSON-serialized array of IotHubQuotaMetricInfo objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of quota metrics objects.", + "type": "array", + "items": { + "$ref": "#/definitions/IotHubQuotaMetricInfo" + } + }, + "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/EndpointHealthData" + } + }, + "nextLink": { + "description": "Link to more results", + "type": "string", + "readOnly": true + } + } + }, + "EndpointHealthData": { + "description": "The health data for an endpoint", + "type": "object", + "properties": { + "endpointId": { + "description": "Id of the endpoint", + "type": "string" + }, + "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", + "x-ms-enum": { + "name": "EndpointHealthStatus", + "modelAsString": true + } + }, + "lastKnownError": { + "description": "Last error obtained when a message failed to be delivered to iot hub", + "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" + } + } + }, + "RegistryStatistics": { + "description": "Identity registry statistics.", + "type": "object", + "properties": { + "totalDeviceCount": { + "format": "int64", + "description": "The total count of devices in the identity registry.", + "type": "integer", + "readOnly": true + }, + "enabledDeviceCount": { + "format": "int64", + "description": "The count of enabled devices in the identity registry.", + "type": "integer", + "readOnly": true + }, + "disabledDeviceCount": { + "format": "int64", + "description": "The count of disabled devices in the identity registry.", + "type": "integer", + "readOnly": true + } + } + }, + "JobResponseListResult": { + "description": "The JSON-serialized array of JobResponse objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of JobResponse objects.", + "type": "array", + "items": { + "$ref": "#/definitions/JobResponse" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubSkuDescription": { + "description": "SKU properties.", + "type": "object", + "properties": { + "resourceType": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "sku": { + "description": "The type of the resource.", + "$ref": "#/definitions/IotHubSkuInfo" + }, + "capacity": { + "description": "IotHub capacity", + "$ref": "#/definitions/IotHubCapacity" + } + }, + "required": [ + "sku", + "capacity" + ] + }, + "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": { + "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": "IotHubScaleType", + "modelAsString": false + } + } + } + }, + "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": { + "$ref": "#/definitions/EventHubConsumerGroupInfo" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "EventHubConsumerGroupBodyDescription": { + "description": "The EventHub consumer group.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/EventHubConsumerGroupName" + } + }, + "required": [ + "properties" + ] + }, + "EventHubConsumerGroupName": { + "description": "The EventHub consumer group name.", + "type": "object", + "properties": { + "name": { + "description": "EventHub consumer group name", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "EventHubConsumerGroupInfo": { + "description": "The properties of the EventHubConsumerGroupInfo object.", + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "properties": { + "description": "The tags.", + "type": "object", + "additionalProperties": {} + }, + "id": { + "description": "The Event Hub-compatible consumer group identifier.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The Event Hub-compatible consumer group name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "the resource type.", + "type": "string", + "readOnly": true + }, + "etag": { + "description": "The etag.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubSkuDescriptionListResult": { + "description": "The JSON-serialized array of IotHubSkuDescription objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of IotHubSkuDescription.", + "type": "array", + "items": { + "$ref": "#/definitions/IotHubSkuDescription" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "JobResponse": { + "description": "The properties of the Job Response object.", + "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 + }, + "endTimeUtc": { + "format": "date-time-rfc1123", + "description": "The time the job stopped processing.", + "type": "string", + "readOnly": true + }, + "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 + } + } + }, + "IotHubDescriptionListResult": { + "description": "The JSON-serialized array of IotHubDescription objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of IotHubDescription objects.", + "type": "array", + "items": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubQuotaMetricInfo": { + "description": "Quota metrics properties.", + "type": "object", + "properties": { + "name": { + "description": "The name of the quota metric.", + "type": "string", + "readOnly": true + }, + "currentValue": { + "format": "int64", + "description": "The current value for the quota metric.", + "type": "integer", + "readOnly": true + }, + "maxValue": { + "format": "int64", + "description": "The maximum value of the quota metric.", + "type": "integer", + "readOnly": true + } + } + }, + "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": { + "type": "array", + "items": { + "$ref": "#/definitions/UserSubscriptionQuota" + } + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "UserSubscriptionQuota": { + "description": "User subscription quota response", + "type": "object", + "properties": { + "id": { + "description": "IotHub type id", + "type": "string" + }, + "type": { + "description": "Response type", + "type": "string" + }, + "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" + } + } + }, + "Name": { + "description": "Name of Iot Hub type", + "type": "object", + "properties": { + "value": { + "description": "IotHub type", + "type": "string" + }, + "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", + "DigitalTwinChangeEvents", + "DeviceConnectionStateEvents", + "MqttBrokerMessages" + ], + "type": "string", + "x-ms-enum": { + "name": "RoutingSource", + "modelAsString": true + } + }, + "message": { + "description": "Routing message", + "$ref": "#/definitions/RoutingMessage" + }, + "twin": { + "description": "Routing Twin Reference", + "$ref": "#/definitions/RoutingTwin" + } + } + }, + "RoutingTwin": { + "description": "Twin reference input parameter. This is an optional parameter", + "type": "object", + "properties": { + "tags": { + "description": "Twin Tags", + "type": "object" + }, + "properties": { + "properties": { + "desired": { + "description": "Twin desired properties", + "type": "object" + }, + "reported": { + "description": "Twin desired properties", + "type": "object" + } + } + } + } + }, + "RoutingMessage": { + "description": "Routing message", + "type": "object", + "properties": { + "body": { + "description": "Body of routing message", + "type": "string" + }, + "appProperties": { + "description": "App properties", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "systemProperties": { + "description": "System properties", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "TestAllRoutesResult": { + "description": "Result of testing all routes", + "type": "object", + "properties": { + "routes": { + "description": "JSON-serialized array of matched routes", + "type": "array", + "items": { + "$ref": "#/definitions/MatchedRoute" + } + } + } + }, + "MatchedRoute": { + "description": "Routes that matched", + "type": "object", + "properties": { + "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" + }, + "route": { + "description": "Route properties", + "$ref": "#/definitions/RouteProperties" + }, + "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", + "x-ms-enum": { + "name": "TestResultStatus", + "modelAsString": true + } + }, + "details": { + "description": "Detailed result of testing route", + "$ref": "#/definitions/TestRouteResultDetails" + } + } + }, + "TestRouteResultDetails": { + "description": "Detailed result of testing a route", + "type": "object", + "properties": { + "compilationErrors": { + "description": "JSON-serialized list of route compilation errors", + "type": "array", + "items": { + "$ref": "#/definitions/RouteCompilationError" + } + } + } + }, + "RouteCompilationError": { + "description": "Compilation error when evaluating route", + "type": "object", + "properties": { + "message": { + "description": "Route error message", + "type": "string" + }, + "severity": { + "description": "Severity of the route error", + "enum": [ + "error", + "warning" + ], + "type": "string", + "x-ms-enum": { + "name": "RouteErrorSeverity", + "modelAsString": true + } + }, + "location": { + "description": "Location where the route error happened", + "$ref": "#/definitions/RouteErrorRange" + } + } + }, + "RouteErrorRange": { + "description": "Range of route errors", + "type": "object", + "properties": { + "start": { + "description": "Start where the route error happened", + "$ref": "#/definitions/RouteErrorPosition" + }, + "end": { + "description": "End where the route error happened", + "$ref": "#/definitions/RouteErrorPosition" + } + } + }, + "RouteErrorPosition": { + "description": "Position where the route error happened", + "type": "object", + "properties": { + "line": { + "description": "Line where the route error happened", + "format": "int32", + "type": "integer" + }, + "column": { + "description": "Column where the route error happened", + "format": "int32", + "type": "integer" + } + } + }, + "ExportDevicesRequest": { + "description": "Use to provide parameters when requesting an export of all devices in the IoT hub.", + "type": "object", + "properties": { + "exportBlobContainerUri": { + "description": "The export blob container URI.", + "type": "string" + }, + "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" + ] + }, + "ImportDevicesRequest": { + "description": "Use to provide parameters when requesting an import of all devices in the hub.", + "type": "object", + "properties": { + "inputBlobContainerUri": { + "description": "The input blob container URI.", + "type": "string" + }, + "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": [ + "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 + } + } + }, + "EncryptionPropertiesDescription": { + "description": "The encryption properties for the IoT hub.", + "type": "object", + "properties": { + "keySource": { + "description": "The source of the key.", + "type": "string" + }, + "keyVaultProperties": { + "description": "The properties of the KeyVault key.", + "type": "array", + "items": { + "$ref": "#/definitions/KeyVaultKeyProperties" + } + } + } + }, + "KeyVaultKeyProperties": { + "description": "The properties of the KeyVault key.", + "type": "object", + "properties": { + "keyIdentifier": { + "type": "string", + "description": "The identifier of the key." + }, + "identity": { + "description": "Managed identity properties of KeyVault Key.", + "$ref": "#/definitions/ManagedIdentity" + } + } + }, + "ManagedIdentity": { + "description": "The properties of the Managed identity.", + "type": "object", + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned identity." + } + } + }, + "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 timestamp of resource last modification (UTC)" + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription identifier.", + "required": true, + "type": "string" + }, + "api-version": { + "name": "api-version", + "in": "query", + "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" + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/IotHub_ManualFailover.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/IotHub_ManualFailover.json new file mode 100644 index 000000000000..bfc6242a5896 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/IotHub_ManualFailover.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "failoverInput": { + "failoverRegion": "testHub" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/checkNameAvailability.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/checkNameAvailability.json new file mode 100644 index 000000000000..e1ca60af51a3 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/checkNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "operationInputs": { + "name": "test-request" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "Invalid", + "message": "" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_certificatescreateorupdate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_certificatescreateorupdate.json new file mode 100644 index 000000000000..8c3a96d4ff38 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_certificatescreateorupdate.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "resourceName": "iothub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "certificateDescription": { + "properties": { + "certificate": "############################################" + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + }, + "200": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_certificatesdelete.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_certificatesdelete.json new file mode 100644 index 000000000000..ced3518d4bf1 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_certificatesdelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceName": "myhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_certverify.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_certverify.json new file mode 100644 index 000000000000..11716d457441 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_certverify.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=", + "certificateVerificationBody": { + "certificate": "#####################################" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=andbucdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": true, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpTQ=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_createOrUpdate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_createOrUpdate.json new file mode 100644 index 000000000000..d61619a681c2 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_createOrUpdate.json @@ -0,0 +1,305 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "iotHubDescription": { + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "ipFilterRules": [], + "networkRuleSets": { + "defaultAction": "Deny", + "applyToBuiltInEventHubEndpoint": true, + "ipRules": [ + { + "filterName": "rule1", + "action": "Allow", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Allow", + "ipMask": "157.55.59.128/25" + } + ] + }, + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2 + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "minTlsVersion": "1.2", + "enableDataResidency": true + }, + "sku": { + "name": "S1", + "capacity": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [ + { + "filterName": "rule1", + "action": "Accept", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Accept", + "ipMask": "157.55.59.128/25" + } + ], + "networkRuleSets": { + "defaultAction": "Deny", + "applyToBuiltInEventHubEndpoint": true, + "ipRules": [ + { + "filterName": "rule1", + "action": "Allow", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Allow", + "ipMask": "157.55.59.128/25" + } + ] + }, + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "minTlsVersion": "1.2", + "enableDataResidency": true + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdAt": "2021-01-30T00:28:38.963Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [ + { + "filterName": "rule1", + "action": "Accept", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Accept", + "ipMask": "157.55.59.128/25" + } + ], + "networkRuleSets": { + "defaultAction": "Deny", + "applyToBuiltInEventHubEndpoint": true, + "ipRules": [ + { + "filterName": "rule1", + "action": "Allow", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Allow", + "ipMask": "157.55.59.128/25" + } + ] + }, + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "minTlsVersion": "1.2", + "enableDataResidency": true + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdAt": "2021-01-30T00:28:38.963Z" + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_createconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_createconsumergroup.json new file mode 100644 index 000000000000..5e16e28cbd00 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_createconsumergroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "name": "test", + "consumerGroupBody": { + "properties": { + "name": "test" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "created": "Thu, 15 Jun 2017 19:20:58 GMT" + }, + "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default", + "name": "test", + "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups", + "etag": "AAAAAAFD6M4=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_delete.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_delete.json new file mode 100644 index 000000000000..f22c280da49d --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_delete.json @@ -0,0 +1,221 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [ + { + "filterName": "rule1", + "action": "Accept", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Accept", + "ipMask": "157.55.59.128/25" + } + ], + "networkRuleSets": { + "defaultAction": "Deny", + "applyToBuiltInEventHubEndpoint": true, + "ipRules": [ + { + "filterName": "rule1", + "action": "Allow", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Allow", + "ipMask": "157.55.59.128/25" + } + ] + }, + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdAt": "2021-01-30T00:28:38.963Z" + } + } + }, + "204": {}, + "202": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [ + { + "filterName": "rule1", + "action": "Accept", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Accept", + "ipMask": "157.55.59.128/25" + } + ], + "networkRuleSets": { + "defaultAction": "Deny", + "applyToBuiltInEventHubEndpoint": true, + "ipRules": [ + { + "filterName": "rule1", + "action": "Allow", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Allow", + "ipMask": "157.55.59.128/25" + } + ] + }, + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + }, + "404": { + "body": {} + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_deleteconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_deleteconsumergroup.json new file mode 100644 index 000000000000..2810ea0bfc55 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_deleteconsumergroup.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "name": "test" + }, + "responses": { + "200": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_deleteprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_deleteprivateendpointconnection.json new file mode 100644 index 000000000000..6976546d7c42 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_deleteprivateendpointconnection.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "Deleted", + "actionsRequired": "None" + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "Deleted", + "actionsRequired": "None" + } + } + } + }, + "204": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_exportdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_exportdevices.json new file mode 100644 index 000000000000..888bc880025f --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_exportdevices.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "exportDevicesParameters": { + "exportBlobContainerUri": "testBlob", + "excludeKeys": true + } + }, + "responses": { + "200": { + "body": { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_generateverificationcode.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_generateverificationcode.json new file mode 100644 index 000000000000..27a7a0c69f30 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_generateverificationcode.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=" + }, + "responses": { + "200": { + "body": { + "name": "cert", + "properties": { + "verificationCode": "##################################", + "subject": "CN=andbucdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "##############################", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT" + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_get.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_get.json new file mode 100644 index 000000000000..0ecf98efef5e --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_get.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [ + { + "filterName": "rule1", + "action": "Accept", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Accept", + "ipMask": "157.55.59.128/25" + } + ], + "networkRuleSets": { + "defaultAction": "Deny", + "applyToBuiltInEventHubEndpoint": true, + "ipRules": [ + { + "filterName": "rule1", + "action": "Allow", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Allow", + "ipMask": "157.55.59.128/25" + } + ] + }, + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "locations": [ + { + "location": "West US", + "role": "primary" + }, + { + "location": "East US", + "role": "secondary" + } + ], + "minTlsVersion": "1.2" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdAt": "2021-01-30T00:28:38.963Z" + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getcertificate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getcertificate.json new file mode 100644 index 000000000000..43c74b11bab5 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getcertificate.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert" + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getconsumergroup.json new file mode 100644 index 000000000000..a35054285982 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getconsumergroup.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "name": "test" + }, + "responses": { + "200": { + "body": { + "properties": { + "created": "Thu, 15 Jun 2017 19:20:58 GMT" + }, + "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default", + "name": "test", + "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups", + "etag": "AAAAAAFD6M4=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getjob.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getjob.json new file mode 100644 index 000000000000..e5f577a7dde2 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getjob.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "jobId": "test" + }, + "responses": { + "200": { + "body": { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getkey.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getkey.json new file mode 100644 index 000000000000..d37ba4de19c5 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getkey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "keyName": "iothubowner" + }, + "responses": { + "200": { + "body": { + "keyName": "iothubowner", + "primaryKey": "", + "secondaryKey": "", + "rights": "RegistryWrite, ServiceConnect, DeviceConnect" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getprivateendpointconnection.json new file mode 100644 index 000000000000..5de62c0d9cb3 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getprivateendpointconnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request!", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getprivatelinkresources.json new file mode 100644 index 000000000000..9f31c9601431 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getprivatelinkresources.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "groupId": "iotHub" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateLinkResources/iotHub", + "name": "iotHub", + "type": "Microsoft.Devices/IotHubs/PrivateLinkResources", + "properties": { + "groupId": "iotHub", + "requiredMembers": [ + "iotHub" + ], + "requiredZoneNames": [ + "privatelink.azure-devices.net" + ] + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getskus.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getskus.json new file mode 100644 index 000000000000..718ada061b5b --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getskus.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.Devices/IotHubs", + "sku": { + "name": "S1", + "tier": "Standard" + }, + "capacity": { + "default": 1, + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.Devices/IotHubs", + "sku": { + "name": "S2", + "tier": "Standard" + }, + "capacity": { + "minimum": 1, + "maximum": 200, + "default": 1, + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.Devices/IotHubs", + "sku": { + "name": "S3", + "tier": "Standard" + }, + "capacity": { + "minimum": 1, + "maximum": 10, + "default": 1, + "scaleType": "Manual" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_importdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_importdevices.json new file mode 100644 index 000000000000..99930d1af580 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_importdevices.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "importDevicesParameters": { + "inputBlobContainerUri": "testBlob", + "outputBlobContainerUri": "testBlob" + } + }, + "responses": { + "200": { + "body": { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listbyrg.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listbyrg.json new file mode 100644 index 000000000000..12c8a9812c28 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listbyrg.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [ + { + "filterName": "rule1", + "action": "Accept", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Accept", + "ipMask": "157.55.59.128/25" + } + ], + "networkRuleSets": { + "defaultAction": "Deny", + "applyToBuiltInEventHubEndpoint": true, + "ipRules": [ + { + "filterName": "rule1", + "action": "Allow", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Allow", + "ipMask": "157.55.59.128/25" + } + ] + }, + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdAt": "2021-01-30T00:28:38.963Z" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listbysubscription.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listbysubscription.json new file mode 100644 index 000000000000..5a0a912f9689 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listbysubscription.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "resourceName": "testHub", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [ + { + "filterName": "rule1", + "action": "Accept", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Accept", + "ipMask": "157.55.59.128/25" + } + ], + "networkRuleSets": { + "defaultAction": "Deny", + "applyToBuiltInEventHubEndpoint": true, + "ipRules": [ + { + "filterName": "rule1", + "action": "Allow", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Allow", + "ipMask": "157.55.59.128/25" + } + ] + }, + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdAt": "2021-01-30T00:28:38.963Z" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listcertificates.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listcertificates.json new file mode 100644 index 000000000000..fddcd478408c --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listcertificates.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "resourceName": "testhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listehgroups.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listehgroups.json new file mode 100644 index 000000000000..23213bce92a6 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listehgroups.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "created": "Thu, 15 Jun 2017 19:20:58 GMT" + }, + "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default", + "name": "$Default", + "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups", + "etag": "AAAAAAFD6M4=" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listjobs.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listjobs.json new file mode 100644 index 000000000000..6a906e79a6c6 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listjobs.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listkeys.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listkeys.json new file mode 100644 index 000000000000..d0d9f8752ba5 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listkeys.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "keyName": "iothubowner", + "primaryKey": "", + "secondaryKey": "", + "rights": "RegistryWrite, ServiceConnect, DeviceConnect" + }, + { + "keyName": "service", + "primaryKey": "", + "secondaryKey": "", + "rights": "ServiceConnect" + }, + { + "keyName": "device", + "primaryKey": "", + "secondaryKey": "", + "rights": "DeviceConnect" + }, + { + "keyName": "registryRead", + "primaryKey": "", + "secondaryKey": "", + "rights": "RegistryRead" + }, + { + "keyName": "registryReadWrite", + "primaryKey": "", + "secondaryKey": "", + "rights": "RegistryWrite" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listprivateendpointconnections.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listprivateendpointconnections.json new file mode 100644 index 000000000000..6fd8c45e5993 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listprivateendpointconnections.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request!", + "actionsRequired": "None" + } + } + } + ] + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listprivatelinkresources.json new file mode 100644 index 000000000000..67c5b5aae14c --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listprivatelinkresources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateLinkResources/iotHub", + "name": "iotHub", + "type": "Microsoft.Devices/IotHubs/PrivateLinkResources", + "properties": { + "groupId": "iotHub", + "requiredMembers": [ + "iotHub" + ], + "requiredZoneNames": [ + "privatelink.azure-devices.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_operations.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_operations.json new file mode 100644 index 000000000000..ee483dc94a63 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_operations.json @@ -0,0 +1,328 @@ +{ + "parameters": { + "api-version": "2021-07-02" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Devices/register/action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Register Resource Provider", + "description": "Register the subscription for the IotHub resource provider and enables the creation of IotHub resources" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Diagnostic Setting", + "description": "Gets the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Set Diagnostic Setting", + "description": "Creates or updates the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/IotHubs/metricDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read IotHub service metric definitions", + "description": "Gets the available metrics for the IotHub service" + } + }, + { + "name": "Microsoft.Devices/IotHubs/logDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read IotHub service log definitions", + "description": "Gets the available log definitions for the IotHub Service" + } + }, + { + "name": "Microsoft.Devices/operations/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get All ResourceProvider Operations", + "description": "Get All ResourceProvider Operations" + } + }, + { + "name": "Microsoft.Devices/checkNameAvailability/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Check If IotHub name is available", + "description": "Check If IotHub name is available" + } + }, + { + "name": "Microsoft.Devices/usages/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Subscription Usages", + "description": "Get subscription usage details for this provider." + } + }, + { + "name": "Microsoft.Devices/iotHubs/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub(s)", + "description": "Gets the IotHub resource(s)" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Create or update IotHub Resource", + "description": "Create or update IotHub Resource" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Delete IotHub Resource", + "description": "Delete IotHub Resource" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubStats/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub Statistics", + "description": "Get IotHub Statistics" + } + }, + { + "name": "Microsoft.Devices/iotHubs/skus/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get valid IotHub Skus", + "description": "Get valid IotHub Skus" + } + }, + { + "name": "Microsoft.Devices/iotHubs/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get all IotHub Keys", + "description": "Get all IotHub Keys" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub Key for the given name", + "description": "Get IotHub Key for the given name" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Create EventHub Consumer Group", + "description": "Create EventHub Consumer Group" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get EventHub Consumer Group(s)", + "description": "Get EventHub Consumer Group(s)" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Delete EventHub Consumer Group", + "description": "Delete EventHub Consumer Group" + } + }, + { + "name": "Microsoft.Devices/iotHubs/exportDevices/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Export Devices", + "description": "Export Devices" + } + }, + { + "name": "Microsoft.Devices/iotHubs/importDevices/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Import Devices", + "description": "Import Devices" + } + }, + { + "name": "Microsoft.Devices/iotHubs/jobs/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get the Job(s) on IotHub", + "description": "Get Job(s) details submitted on given IotHub" + } + }, + { + "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Quota Metrics", + "description": "Get Quota Metrics" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Routing Rule Test All", + "description": "Test a message against all existing Routes" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Routing Rule Test Route", + "description": "Test a message against a provided test Route" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Endpoint Health", + "description": "Gets the health of all routing Endpoints for an IotHub" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Diagnostic Setting", + "description": "Gets the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Set Diagnostic Setting", + "description": "Creates or updates the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read DPS service metric definitions", + "description": "Gets the available metrics for the DPS service" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read DPS service log definitions", + "description": "Gets the available log definitions for the DPS Service" + } + }, + { + "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServives", + "operation": "Check If Provisioning Service name is available", + "description": "Check If Provisioning Service name is available" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Get Provisioning Service resource", + "description": "Get Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Create Provisioning Service resource", + "description": "Create Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Delete Provisioning Service resource", + "description": "Delete Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/skus/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Delete Provisioning Service resource", + "description": "Delete Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "get security related metadata", + "description": "get security related metadata" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_patch.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_patch.json new file mode 100644 index 000000000000..028b3bc423e0 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_patch.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "resourceName": "myHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "location": "East US", + "type": "Microsoft.Devices/IotHubs", + "IotHubTags": { + "tags": { + "foo": "bar" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": { + "foo": "bar" + }, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [ + { + "filterName": "rule1", + "action": "Accept", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Accept", + "ipMask": "157.55.59.128/25" + } + ], + "networkRuleSets": { + "defaultAction": "Deny", + "applyToBuiltInEventHubEndpoint": true, + "ipRules": [ + { + "filterName": "rule1", + "action": "Allow", + "ipMask": "131.117.159.53" + }, + { + "filterName": "rule2", + "action": "Allow", + "ipMask": "157.55.59.128/25" + } + ] + }, + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdAt": "2021-01-30T00:28:38.963Z" + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_quotametrics.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_quotametrics.json new file mode 100644 index 000000000000..103c5abc4a10 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_quotametrics.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "TotalMessages", + "currentValue": 0, + "maxValue": 400000 + }, + { + "name": "TotalDeviceCount", + "currentValue": 0, + "maxValue": 500000 + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_routingendpointhealth.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_routingendpointhealth.json new file mode 100644 index 000000000000..0758819fa53d --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_routingendpointhealth.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "endpointId": "id1", + "healthStatus": "healthy", + "lastSuccessfulSendAttemptTime": "2020-03-26T21:20:57Z", + "lastSendAttemptTime": "2020-03-26T21:24:57Z" + }, + { + "endpointId": "id2", + "healthStatus": "unknown" + }, + { + "endpointId": "id3", + "healthStatus": "unhealthy", + "lastKnownError": "NotFound", + "lastKnownErrorTime": "2020-03-26T21:24:57Z", + "lastSuccessfulSendAttemptTime": "2020-03-26T21:20:57Z", + "lastSendAttemptTime": "2020-03-26T21:24:57Z" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_stats.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_stats.json new file mode 100644 index 000000000000..1a7bcb918e7e --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_stats.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-04-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "totalDeviceCount": 0, + "enabledDeviceCount": 0, + "disabledDeviceCount": 0 + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_testallroutes.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_testallroutes.json new file mode 100644 index 000000000000..c8f74622f99c --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_testallroutes.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "input": { + "routingSource": "DeviceMessages", + "message": { + "body": "Body of message", + "appProperties": { + "key1": "value1" + }, + "systemProperties": { + "key1": "value1" + } + } + } + }, + "responses": { + "200": { + "body": { + "routes": [ + { + "properties": { + "name": "Routeid", + "source": "DeviceMessages", + "endpointNames": [ + "id1" + ], + "isEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_testnewroute.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_testnewroute.json new file mode 100644 index 000000000000..110186954258 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_testnewroute.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "input": { + "message": { + "body": "Body of message", + "appProperties": { + "key1": "value1" + }, + "systemProperties": { + "key1": "value1" + } + }, + "route": { + "name": "Routeid", + "source": "DeviceMessages", + "endpointNames": [ + "id1" + ], + "isEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "result": "false", + "details": { + "compilationErrors": [ + { + "message": "string response", + "severity": "error", + "location": { + "start": { + "line": 12, + "column": 12 + }, + "end": { + "line": 12, + "column": 24 + } + } + } + ] + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_updateprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_updateprivateendpointconnection.json new file mode 100644 index 000000000000..8837af90f02e --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_updateprivateendpointconnection.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_usages.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_usages.json new file mode 100644 index 000000000000..44f11e6b099e --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_usages.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-07-02", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages/freeHubCount", + "type": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages", + "unit": "count", + "currentValue": 1, + "limit": 1, + "name": { + "value": "FreeHubCount", + "localizedValue": "Free Hub Count" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/iothub.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/iothub.json new file mode 100644 index 000000000000..5e6af1e267da --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/iothub.json @@ -0,0 +1,4462 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-07-02", + "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" + ], + "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", + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains all the non-security properties of the IoT hub. Security-related properties are set to null.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "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. 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": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "iotHubDescription", + "in": "body", + "description": "The IoT hub metadata and security metadata.", + "required": true, + "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": { + "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/IotHubDescription" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the create or update operation. The body contains the resource representation that indicates a transitional provisioning state.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "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/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "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": { + "202": { + "description": "The Iot Hub resource provider always returns a 202 Accepted status code with valid Location and Retry-After headers. The resource provider also sets the Azure-AsyncOperation header with a URL that points to the operation resource for this operation. Subsequent GET attempts on the resource after a DELETE operation return a resource representation that indicates a transitional provisioning state (such as Terminating). To retrieve the status of the operation, a client can either poll the URL returned in the Location header after the Retry-After interval, get the IoT Hub service status directly, or query the operation resource.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "204": { + "description": "Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the Iot hub metadata in the service and the status of the delete operation is set to a completed state." + }, + "404": { + "description": "After the long running delete operation completes successfully, a 404 Not Found is returned when the status polling request no longer finds the Iot hub metadata in the service.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs": { + "get": { + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the subscription.", + "schema": { + "$ref": "#/definitions/IotHubDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs": { + "get": { + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the resource group.", + "schema": { + "$ref": "#/definitions/IotHubDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats": { + "get": { + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains JSON-serialized statistics from the identity registry in the IoT hub.", + "schema": { + "$ref": "#/definitions/RegistryStatistics" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus": { + "get": { + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the valid SKUs for this IoT hub.", + "schema": { + "$ref": "#/definitions/IotHubSkuDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/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", + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "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" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/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", + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint in the IoT hub.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the consumer group to retrieve.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized consumer group.", + "schema": { + "$ref": "#/definitions/EventHubConsumerGroupInfo" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint in the IoT hub.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "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": { + "200": { + "description": "This is a synchronous operation.", + "schema": { + "$ref": "#/definitions/EventHubConsumerGroupInfo" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "delete": { + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint in the IoT hub.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the consumer group to delete.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/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", + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The response contains a JSON-serialized array of all the jobs in the IoT hub.", + "schema": { + "$ref": "#/definitions/JobResponseListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/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", + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "jobId", + "in": "path", + "description": "The job identifier.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The response contains a JSON-serialized description of the job in the IoT hub.", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics": { + "get": { + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The response contains a JSON-serialized array of the quota metrics for the IoT hub.", + "schema": { + "$ref": "#/definitions/IotHubQuotaMetricInfoListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/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/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "iotHubName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EndpointHealthDataListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/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", + "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": "resource group which Iot Hub belongs to", + "in": "path", + "required": true, + "type": "string" + }, + { + "$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", + "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": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of shared access policies, including keys, that you can use to access the IoT hub endpoints.", + "schema": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/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", + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the shared access policy.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized shared access policy, including keys, that you can use to access one or more IoT hub endpoints.", + "schema": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/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", + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "exportDevicesParameters", + "in": "body", + "description": "The parameters that specify the export devices operation.", + "required": true, + "schema": { + "$ref": "#/definitions/ExportDevicesRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/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", + "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" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "importDevicesParameters", + "in": "body", + "description": "The parameters that specify the import devices operation.", + "required": true, + "schema": { + "$ref": "#/definitions/ImportDevicesRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/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" + } + }, + "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" + } + } + }, + "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" + } + }, + "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" + } + }, + "enableDataResidency": { + "description": "This property when set to true, will enable data residency, thus, disabling disaster recovery.", + "type": "boolean" + } + } + }, + "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": [ + "Accept", + "Reject" + ], + "type": "string", + "x-ms-enum": { + "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" + } + } + } + }, + "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": { + "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/RoutingServiceBusQueueEndpointProperties" + } + }, + "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/RoutingServiceBusTopicEndpointProperties" + } + }, + "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", + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true + } + }, + "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", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "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 + } + }, + "identity": { + "description": "Managed identity properties of routing service bus topic 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 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 + } + }, + "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 + } + }, + "identity": { + "description": "Managed identity properties of routing storage 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 storage account.", + "type": "string" + }, + "resourceGroup": { + "description": "The name of the resource group of the storage account.", + "type": "string" + }, + "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": "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" + ] + }, + "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 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": "RoutingSource", + "modelAsString": true + } + }, + "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" + } + }, + "isEnabled": { + "description": "Used to specify whether the fallback route is enabled.", + "type": "boolean" + } + }, + "required": [ + "endpointNames", + "source", + "isEnabled" + ] + }, + "EnrichmentProperties": { + "description": "The properties of an enrichment that your IoT hub applies to messages delivered to endpoints.", + "type": "object", + "properties": { + "key": { + "description": "The key or name for the enrichment property.", + "type": "string" + }, + "value": { + "description": "The value for the enrichment property.", + "type": "string" + }, + "endpointNames": { + "description": "The list of endpoints for which the enrichment is applied to the message.", + "minItems": 1, + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "key", + "value", + "endpointNames" + ] + }, + "IotHubDescription": { + "description": "The description of the IoT hub.", + "type": "object", + "properties": { + "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" + }, + "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" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "sku" + ] + }, + "Resource": { + "description": "The common properties of an Azure resource.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "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, + "required": [ + "location" + ] + }, + "SharedAccessSignatureAuthorizationRuleListResult": { + "description": "The list of shared access policies with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The list of shared access policies.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "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": { + "value": { + "description": "List of IoT Hub operations supported by the Microsoft.Devices resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "IoT Hub REST API operation", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{read | write | action | delete}" + }, + "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" + } + } + } + } + }, + "ErrorDetails": { + "description": "Error details.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "httpStatusCode": { + "description": "The HTTP status code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "The error details.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubQuotaMetricInfoListResult": { + "description": "The JSON-serialized array of IotHubQuotaMetricInfo objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of quota metrics objects.", + "type": "array", + "items": { + "$ref": "#/definitions/IotHubQuotaMetricInfo" + } + }, + "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/EndpointHealthData" + } + }, + "nextLink": { + "description": "Link to more results", + "type": "string", + "readOnly": true + } + } + }, + "EndpointHealthData": { + "description": "The health data for an endpoint", + "type": "object", + "properties": { + "endpointId": { + "description": "Id of the endpoint", + "type": "string" + }, + "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", + "x-ms-enum": { + "name": "EndpointHealthStatus", + "modelAsString": true + } + }, + "lastKnownError": { + "description": "Last error obtained when a message failed to be delivered to iot hub", + "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" + } + } + }, + "RegistryStatistics": { + "description": "Identity registry statistics.", + "type": "object", + "properties": { + "totalDeviceCount": { + "format": "int64", + "description": "The total count of devices in the identity registry.", + "type": "integer", + "readOnly": true + }, + "enabledDeviceCount": { + "format": "int64", + "description": "The count of enabled devices in the identity registry.", + "type": "integer", + "readOnly": true + }, + "disabledDeviceCount": { + "format": "int64", + "description": "The count of disabled devices in the identity registry.", + "type": "integer", + "readOnly": true + } + } + }, + "JobResponseListResult": { + "description": "The JSON-serialized array of JobResponse objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of JobResponse objects.", + "type": "array", + "items": { + "$ref": "#/definitions/JobResponse" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubSkuDescription": { + "description": "SKU properties.", + "type": "object", + "properties": { + "resourceType": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "sku": { + "description": "The type of the resource.", + "$ref": "#/definitions/IotHubSkuInfo" + }, + "capacity": { + "description": "IotHub capacity", + "$ref": "#/definitions/IotHubCapacity" + } + }, + "required": [ + "sku", + "capacity" + ] + }, + "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": { + "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": "IotHubScaleType", + "modelAsString": false + } + } + } + }, + "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": { + "$ref": "#/definitions/EventHubConsumerGroupInfo" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "EventHubConsumerGroupBodyDescription": { + "description": "The EventHub consumer group.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/EventHubConsumerGroupName" + } + }, + "required": [ + "properties" + ] + }, + "EventHubConsumerGroupName": { + "description": "The EventHub consumer group name.", + "type": "object", + "properties": { + "name": { + "description": "EventHub consumer group name", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "EventHubConsumerGroupInfo": { + "description": "The properties of the EventHubConsumerGroupInfo object.", + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "properties": { + "description": "The tags.", + "type": "object", + "additionalProperties": {} + }, + "id": { + "description": "The Event Hub-compatible consumer group identifier.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The Event Hub-compatible consumer group name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "the resource type.", + "type": "string", + "readOnly": true + }, + "etag": { + "description": "The etag.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubSkuDescriptionListResult": { + "description": "The JSON-serialized array of IotHubSkuDescription objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of IotHubSkuDescription.", + "type": "array", + "items": { + "$ref": "#/definitions/IotHubSkuDescription" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "JobResponse": { + "description": "The properties of the Job Response object.", + "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 + }, + "endTimeUtc": { + "format": "date-time-rfc1123", + "description": "The time the job stopped processing.", + "type": "string", + "readOnly": true + }, + "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 + } + } + }, + "IotHubDescriptionListResult": { + "description": "The JSON-serialized array of IotHubDescription objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of IotHubDescription objects.", + "type": "array", + "items": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubQuotaMetricInfo": { + "description": "Quota metrics properties.", + "type": "object", + "properties": { + "name": { + "description": "The name of the quota metric.", + "type": "string", + "readOnly": true + }, + "currentValue": { + "format": "int64", + "description": "The current value for the quota metric.", + "type": "integer", + "readOnly": true + }, + "maxValue": { + "format": "int64", + "description": "The maximum value of the quota metric.", + "type": "integer", + "readOnly": true + } + } + }, + "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": { + "type": "array", + "items": { + "$ref": "#/definitions/UserSubscriptionQuota" + } + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "UserSubscriptionQuota": { + "description": "User subscription quota response", + "type": "object", + "properties": { + "id": { + "description": "IotHub type id", + "type": "string" + }, + "type": { + "description": "Response type", + "type": "string" + }, + "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" + } + } + }, + "Name": { + "description": "Name of Iot Hub type", + "type": "object", + "properties": { + "value": { + "description": "IotHub type", + "type": "string" + }, + "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": "RoutingSource", + "modelAsString": true + } + }, + "message": { + "description": "Routing message", + "$ref": "#/definitions/RoutingMessage" + }, + "twin": { + "description": "Routing Twin Reference", + "$ref": "#/definitions/RoutingTwin" + } + } + }, + "RoutingTwin": { + "description": "Twin reference input parameter. This is an optional parameter", + "type": "object", + "properties": { + "tags": { + "description": "Twin Tags", + "type": "object" + }, + "properties": { + "properties": { + "desired": { + "description": "Twin desired properties", + "type": "object" + }, + "reported": { + "description": "Twin desired properties", + "type": "object" + } + } + } + } + }, + "RoutingMessage": { + "description": "Routing message", + "type": "object", + "properties": { + "body": { + "description": "Body of routing message", + "type": "string" + }, + "appProperties": { + "description": "App properties", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "systemProperties": { + "description": "System properties", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "TestAllRoutesResult": { + "description": "Result of testing all routes", + "type": "object", + "properties": { + "routes": { + "description": "JSON-serialized array of matched routes", + "type": "array", + "items": { + "$ref": "#/definitions/MatchedRoute" + } + } + } + }, + "MatchedRoute": { + "description": "Routes that matched", + "type": "object", + "properties": { + "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" + }, + "route": { + "description": "Route properties", + "$ref": "#/definitions/RouteProperties" + }, + "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", + "x-ms-enum": { + "name": "TestResultStatus", + "modelAsString": true + } + }, + "details": { + "description": "Detailed result of testing route", + "$ref": "#/definitions/TestRouteResultDetails" + } + } + }, + "TestRouteResultDetails": { + "description": "Detailed result of testing a route", + "type": "object", + "properties": { + "compilationErrors": { + "description": "JSON-serialized list of route compilation errors", + "type": "array", + "items": { + "$ref": "#/definitions/RouteCompilationError" + } + } + } + }, + "RouteCompilationError": { + "description": "Compilation error when evaluating route", + "type": "object", + "properties": { + "message": { + "description": "Route error message", + "type": "string" + }, + "severity": { + "description": "Severity of the route error", + "enum": [ + "error", + "warning" + ], + "type": "string", + "x-ms-enum": { + "name": "RouteErrorSeverity", + "modelAsString": true + } + }, + "location": { + "description": "Location where the route error happened", + "$ref": "#/definitions/RouteErrorRange" + } + } + }, + "RouteErrorRange": { + "description": "Range of route errors", + "type": "object", + "properties": { + "start": { + "description": "Start where the route error happened", + "$ref": "#/definitions/RouteErrorPosition" + }, + "end": { + "description": "End where the route error happened", + "$ref": "#/definitions/RouteErrorPosition" + } + } + }, + "RouteErrorPosition": { + "description": "Position where the route error happened", + "type": "object", + "properties": { + "line": { + "description": "Line where the route error happened", + "format": "int32", + "type": "integer" + }, + "column": { + "description": "Column where the route error happened", + "format": "int32", + "type": "integer" + } + } + }, + "ExportDevicesRequest": { + "description": "Use to provide parameters when requesting an export of all devices in the IoT hub.", + "type": "object", + "properties": { + "exportBlobContainerUri": { + "description": "The export blob container URI.", + "type": "string" + }, + "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" + ] + }, + "ImportDevicesRequest": { + "description": "Use to provide parameters when requesting an import of all devices in the hub.", + "type": "object", + "properties": { + "inputBlobContainerUri": { + "description": "The input blob container URI.", + "type": "string" + }, + "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": [ + "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." + } + } + }, + "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 timestamp of resource last modification (UTC)" + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription identifier.", + "required": true, + "type": "string" + }, + "api-version": { + "name": "api-version", + "in": "query", + "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" + } + } +} diff --git a/specification/iothub/resource-manager/readme.go.md b/specification/iothub/resource-manager/readme.go.md index 32301c498df3..f5d6a008771e 100644 --- a/specification/iothub/resource-manager/readme.go.md +++ b/specification/iothub/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/iothub/armiothub +module-name: sdk/resourcemanager/iothub/armiothub module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/iothub/resource-manager/readme.md b/specification/iothub/resource-manager/readme.md index 1e9386dd9079..16fb75f38613 100644 --- a/specification/iothub/resource-manager/readme.md +++ b/specification/iothub/resource-manager/readme.md @@ -26,18 +26,35 @@ These are the global settings for the IotHub API. ``` yaml openapi-type: arm -tag: package-2021-07 +tag: package-preview-2021-07 ``` +### Tag: package-preview-2021-07 + +These settings apply only when `--tag=package-preview-2021-07-02` is specified on the command line. + +```yaml $(tag) == 'package-preview-2021-07-02' +input-file: + - Microsoft.Devices/preview/2021-07-02-preview/iothub.json +``` +### Tag: package-2021-07 + +These settings apply only when `--tag=package-2021-07-02` is specified on the command line. + +```yaml $(tag) == 'package-2021-07-02' +input-file: + - Microsoft.Devices/stable/2021-07-02/iothub.json +``` ### Tag: package-2021-07 These settings apply only when `--tag=package-2021-07` is specified on the command line. -```yaml $(tag) == 'package-2021-07' +``` yaml $(tag) == 'package-2021-07' input-file: - Microsoft.Devices/stable/2021-07-01/iothub.json ``` + ### Tag: package-preview-2021-07 These settings apply only when `--tag=package-preview-2021-07` is specified on the command line. diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Locations/Get.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Locations/Get.json deleted file mode 100644 index 56eeb061163a..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Locations/Get.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "iotDefenderLocation": "eastus" - }, - "responses": { - "200": { - "body": { - "name": "eastus", - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus", - "type": "Microsoft.IoTSecurity/locations", - "properties": {}, - "systemData": { - "createdBy": "string", - "createdByType": "User", - "createdAt": "2020-04-27T21:53:29.0928001Z", - "lastModifiedBy": "string", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" - } - } - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Locations/List.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Locations/List.json deleted file mode 100644 index 1808c6e91e67..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Locations/List.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "eastus", - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus", - "type": "Microsoft.IoTSecurity/locations", - "properties": {}, - "systemData": { - "createdBy": "string", - "createdByType": "User", - "createdAt": "2020-04-27T21:53:29.0928001Z", - "lastModifiedBy": "string", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" - } - } - ] - } - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/Delete.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/Delete.json deleted file mode 100644 index 185e11fbcad8..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/Delete.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "iotDefenderLocation": "eastus", - "siteName": "site", - "sensorName": "mySensor" - }, - "responses": { - "200": {}, - "204": {} - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/DownloadActivation.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/DownloadActivation.json deleted file mode 100644 index 58d27d7bd681..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/DownloadActivation.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "iotDefenderLocation": "eastus", - "siteName": "site", - "sensorName": "mySensor" - }, - "responses": { - "200": { - "headers": { - "content-type": "application/zip" - }, - "body": "{Binary}" - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/DownloadResetPassword.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/DownloadResetPassword.json deleted file mode 100644 index dcbfbaf13e90..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/DownloadResetPassword.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "iotDefenderLocation": "eastus", - "siteName": "site", - "sensorName": "mySensor", - "body": { - "applianceId": "3214-528AV23-D121-D3-E1" - } - }, - "responses": { - "200": { - "headers": { - "content-type": "application/zip" - }, - "body": "{Binary}" - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/Get.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/Get.json deleted file mode 100644 index 29fbe0d08bcc..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/Get.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "iotDefenderLocation": "eastus", - "siteName": "site", - "sensorName": "mySensor" - }, - "responses": { - "200": { - "body": { - "name": "mySensor", - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/sites/site/sensors/mySensor", - "type": "Microsoft.IoTSecurity/locations/sites/sensors", - "properties": { - "connectivityTime": "2020-11-17T12:31:25Z", - "dynamicLearning": true, - "learningMode": true, - "sensorStatus": "Ok", - "sensorVersion": "2020.11.01.1643", - "tiAutomaticUpdates": true, - "tiStatus": "Ok", - "tiVersion": "2020-11-17T12:31:25Z", - "zone": "Zone Name", - "sensorType": "Ot" - }, - "systemData": { - "createdBy": "string", - "createdByType": "User", - "createdAt": "2020-04-27T21:53:29.0928001Z", - "lastModifiedBy": "string", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" - } - } - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/Delete.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/Delete.json deleted file mode 100644 index e1d7a79a61d2..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/Delete.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub", - "sensorName": "mySensor" - }, - "responses": { - "200": {}, - "204": {} - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/DownloadActivation.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/DownloadActivation.json deleted file mode 100644 index 8baf6636651b..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/DownloadActivation.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub", - "sensorName": "mySensor" - }, - "responses": { - "200": { - "headers": { - "content-type": "application/zip" - }, - "body": "{Binary}" - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/DownloadResetPassword.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/DownloadResetPassword.json deleted file mode 100644 index 72e17198b29d..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/DownloadResetPassword.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub", - "sensorName": "mySensor", - "body": { - "applianceId": "3214-528AV23-D121-D3-E1" - } - }, - "responses": { - "200": { - "headers": { - "content-type": "application/zip" - }, - "body": "{Binary}" - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/Get.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/Get.json deleted file mode 100644 index 2c879b84d9fa..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/Get.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub", - "sensorName": "mySensor" - }, - "responses": { - "200": { - "body": { - "name": "mySensor", - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.IoTSecurity/sensors/mySensor", - "type": "Microsoft.IoTSecurity/sensors", - "properties": { - "connectivityTime": "2020-11-17T12:31:25Z", - "dynamicLearning": true, - "learningMode": true, - "sensorStatus": "Ok", - "sensorVersion": "2020.11.01.1643", - "tiAutomaticUpdates": true, - "tiStatus": "Ok", - "tiVersion": "2020-11-17T12:31:25Z", - "zone": "Zone Name", - "sensorType": "Ot" - }, - "systemData": { - "createdBy": "string", - "createdByType": "User", - "createdAt": "2020-04-27T21:53:29.0928001Z", - "lastModifiedBy": "string", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" - } - } - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/List.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/List.json deleted file mode 100644 index 5c6d203121b9..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/List.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "mySensor", - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.IoTSecurity/sensors/mySensor", - "type": "Microsoft.IoTSecurity/sensors", - "properties": { - "connectivityTime": "2020-11-17T12:31:25Z", - "dynamicLearning": true, - "learningMode": true, - "sensorStatus": "Ok", - "sensorVersion": "2020.11.01.1643", - "tiAutomaticUpdates": true, - "tiStatus": "Ok", - "tiVersion": "2020-11-17T12:31:25Z", - "zone": "Zone Name", - "sensorType": "Ot" - }, - "systemData": { - "createdBy": "string", - "createdByType": "User", - "createdAt": "2020-04-27T21:53:29.0928001Z", - "lastModifiedBy": "string", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" - } - }, - { - "name": "otherSensor", - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.IoTSecurity/sensors/otherSensor", - "type": "Microsoft.IoTSecurity/sensors", - "properties": { - "connectivityTime": "2020-11-17T12:31:25Z", - "dynamicLearning": false, - "learningMode": false, - "sensorStatus": "Disconnected", - "sensorVersion": "2020.11.01.1643", - "tiAutomaticUpdates": true, - "tiStatus": "Ok", - "tiVersion": "2020-11-17T12:31:25Z", - "zone": "Zone Name", - "sensorType": "Ot" - }, - "systemData": { - "createdBy": "string", - "createdByType": "User", - "createdAt": "2020-04-27T21:53:29.0928001Z", - "lastModifiedBy": "string", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" - } - } - ] - } - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/Put.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/Put.json deleted file mode 100644 index 421900f4248f..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/Put.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub", - "sensorName": "mySensor", - "sensorModel": { - "properties": { - "tiAutomaticUpdates": true, - "zone": "Zone Name", - "sensorType": "Ot" - } - } - }, - "responses": { - "200": { - "body": { - "name": "mySensor", - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.IoTSecurity/sensors/mySensor", - "type": "Microsoft.IoTSecurity/sensors", - "properties": { - "connectivityTime": "2020-11-17T12:31:25Z", - "dynamicLearning": true, - "learningMode": true, - "sensorStatus": "Ok", - "sensorVersion": "2020.11.01.1643", - "tiAutomaticUpdates": true, - "tiStatus": "Ok", - "tiVersion": "2020-11-17T12:31:25Z", - "zone": "Zone Name", - "sensorType": "Ot" - } - } - }, - "201": { - "body": { - "name": "mySensor", - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.IoTSecurity/sensors/mySensor", - "type": "Microsoft.IoTSecurity/sensors", - "properties": { - "connectivityTime": "2020-11-17T12:31:25Z", - "dynamicLearning": true, - "learningMode": true, - "sensorStatus": "Ok", - "sensorVersion": "2020.11.01.1643", - "tiAutomaticUpdates": true, - "tiStatus": "Ok", - "tiVersion": "2020-11-17T12:31:25Z", - "zone": "Zone Name", - "sensorType": "Ot" - }, - "systemData": { - "createdBy": "string", - "createdByType": "User", - "createdAt": "2020-04-27T21:53:29.0928001Z", - "lastModifiedBy": "string", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" - } - } - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/TriggerTiPackageUpdate.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/TriggerTiPackageUpdate.json deleted file mode 100644 index aa72c8785c2d..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/TriggerTiPackageUpdate.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub", - "sensorName": "mySensor" - }, - "responses": { - "200": {} - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/List.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/List.json deleted file mode 100644 index 2a3d81b9e84b..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/List.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "iotDefenderLocation": "eastus", - "siteName": "site" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "mySensor", - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/sites/site/sensors/mySensor", - "type": "Microsoft.IoTSecurity/locations/sites/sensors", - "properties": { - "connectivityTime": "2020-11-17T12:31:25Z", - "dynamicLearning": true, - "learningMode": true, - "sensorStatus": "Ok", - "sensorVersion": "2020.11.01.1643", - "tiAutomaticUpdates": true, - "tiStatus": "Ok", - "tiVersion": "2020-11-17T12:31:25Z", - "zone": "Zone Name", - "sensorType": "Ot" - }, - "systemData": { - "createdBy": "string", - "createdByType": "User", - "createdAt": "2020-04-27T21:53:29.0928001Z", - "lastModifiedBy": "string", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" - } - }, - { - "name": "otherSensor", - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/sites/site/sensors/otherSensor", - "type": "Microsoft.IoTSecurity/locations/sites/sensors", - "properties": { - "connectivityTime": "2020-11-17T12:31:25Z", - "dynamicLearning": false, - "learningMode": false, - "sensorStatus": "Disconnected", - "sensorVersion": "2020.11.01.1643", - "tiAutomaticUpdates": true, - "tiStatus": "Ok", - "tiVersion": "2020-11-17T12:31:25Z", - "zone": "Zone Name", - "sensorType": "Ot" - }, - "systemData": { - "createdBy": "string", - "createdByType": "User", - "createdAt": "2020-04-27T21:53:29.0928001Z", - "lastModifiedBy": "string", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" - } - } - ] - } - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/Put.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/Put.json deleted file mode 100644 index f6b9f99b2158..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/Put.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "iotDefenderLocation": "eastus", - "siteName": "site", - "sensorName": "mySensor", - "sensorModel": { - "properties": { - "tiAutomaticUpdates": true, - "zone": "Zone Name", - "sensorType": "Ot" - } - } - }, - "responses": { - "200": { - "body": { - "name": "mySensor", - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/sites/site/sensors/mySensor", - "type": "Microsoft.IoTSecurity/locations/sites/sensors", - "properties": { - "connectivityTime": "2020-11-17T12:31:25Z", - "dynamicLearning": true, - "learningMode": true, - "sensorStatus": "Ok", - "sensorVersion": "2020.11.01.1643", - "tiAutomaticUpdates": true, - "tiStatus": "Ok", - "tiVersion": "2020-11-17T12:31:25Z", - "zone": "Zone Name", - "sensorType": "Ot" - } - } - }, - "201": { - "body": { - "name": "mySensor", - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/sites/site/sensors/mySensor", - "type": "Microsoft.IoTSecurity/locations/sites/sensors", - "properties": { - "connectivityTime": "2020-11-17T12:31:25Z", - "dynamicLearning": true, - "learningMode": true, - "sensorStatus": "Ok", - "sensorVersion": "2020.11.01.1643", - "tiAutomaticUpdates": true, - "tiStatus": "Ok", - "tiVersion": "2020-11-17T12:31:25Z", - "zone": "Zone Name", - "sensorType": "Ot" - }, - "systemData": { - "createdBy": "string", - "createdByType": "User", - "createdAt": "2020-04-27T21:53:29.0928001Z", - "lastModifiedBy": "string", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" - } - } - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/TriggerTiPackageUpdate.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/TriggerTiPackageUpdate.json deleted file mode 100644 index 9dd0b146f876..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/TriggerTiPackageUpdate.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "iotDefenderLocation": "eastus", - "siteName": "site", - "sensorName": "mySensor" - }, - "responses": { - "200": {} - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/Delete.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/Delete.json deleted file mode 100644 index 4e5caff95116..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/Delete.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "iotDefenderLocation": "eastus", - "siteName": "site" - }, - "responses": { - "200": {}, - "204": {} - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/Get.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/Get.json deleted file mode 100644 index 5785d533bb5e..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/Get.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "iotDefenderLocation": "eastus", - "siteName": "site" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/sites/site", - "type": "Microsoft.IoTSecurity/locations/sites", - "name": "site", - "properties": { - "displayName": "IoT site name", - "tags": { - "key1": "value1", - "key2": "value2" - } - }, - "systemData": { - "createdBy": "string", - "createdByType": "User", - "createdAt": "2020-04-27T21:53:29.0928001Z", - "lastModifiedBy": "string", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" - } - } - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/Delete.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/Delete.json deleted file mode 100644 index 8c7bec2c91b7..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/Delete.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub" - }, - "responses": { - "200": {}, - "204": {} - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/Get.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/Get.json deleted file mode 100644 index f01f09e6b032..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/Get.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.IoTSecurity/sites/default", - "type": "Microsoft.IoTSecurity/sites", - "name": "default", - "properties": { - "displayName": "IoT site name", - "tags": { - "key1": "value1", - "key2": "value2" - } - }, - "systemData": { - "createdBy": "string", - "createdByType": "User", - "createdAt": "2020-04-27T21:53:29.0928001Z", - "lastModifiedBy": "string", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" - } - } - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/List.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/List.json deleted file mode 100644 index 262e4243745e..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/List.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/sites" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "default", - "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.IoTSecurity/sites/default", - "type": "Microsoft.IoTSecurity/sites", - "properties": { - "displayName": "IoT site name", - "tags": { - "key1": "value1", - "key2": "value2" - } - }, - "systemData": { - "createdBy": "string", - "createdByType": "User", - "createdAt": "2020-04-27T21:53:29.0928001Z", - "lastModifiedBy": "string", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" - } - } - ] - } - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/Put.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/Put.json deleted file mode 100644 index d0844663fc24..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/Put.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub", - "siteModel": { - "properties": { - "displayName": "IoT site name", - "tags": { - "key1": "value1", - "key2": "value2" - } - } - } - }, - "responses": { - "200": { - "body": { - "name": "default", - "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.IoTSecurity/sites/default", - "type": "Microsoft.IoTSecurity/sites", - "properties": { - "displayName": "IoT site name", - "tags": { - "key1": "value1", - "key2": "value2" - } - }, - "systemData": { - "createdBy": "string", - "createdByType": "User", - "createdAt": "2020-04-27T21:53:29.0928001Z", - "lastModifiedBy": "string", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" - } - } - }, - "201": { - "body": { - "name": "default", - "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.IoTSecurity/sites/default", - "type": "Microsoft.IoTSecurity/sites", - "properties": { - "displayName": "IoT site name", - "tags": { - "key1": "value1", - "key2": "value2" - } - }, - "systemData": { - "createdBy": "string", - "createdByType": "User", - "createdAt": "2020-04-27T21:53:29.0928001Z", - "lastModifiedBy": "string", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" - } - } - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/List.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/List.json deleted file mode 100644 index 80ced4212195..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/List.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "iotDefenderLocation": "eastus" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/sites/site", - "type": "Microsoft.IoTSecurity/locations/sites", - "name": "site", - "properties": { - "displayName": "IoT site name", - "tags": { - "key1": "value1", - "key2": "value2" - } - }, - "systemData": { - "createdBy": "string", - "createdByType": "User", - "createdAt": "2020-04-27T21:53:29.0928001Z", - "lastModifiedBy": "string", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" - } - } - ] - } - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/Put.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/Put.json deleted file mode 100644 index ceeb6649c21f..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/Put.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "parameters": { - "api-version": "2021-09-01-preview", - "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "iotDefenderLocation": "eastus", - "siteName": "site", - "siteModel": { - "properties": { - "displayName": "IoT site name", - "tags": { - "key1": "value1", - "key2": "value2" - } - } - } - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/sites/site", - "type": "Microsoft.IoTSecurity/locations/sites", - "name": "site", - "properties": { - "displayName": "IoT site name", - "tags": { - "key1": "value1", - "key2": "value2" - } - }, - "systemData": { - "createdBy": "string", - "createdByType": "User", - "createdAt": "2020-04-27T21:53:29.0928001Z", - "lastModifiedBy": "string", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" - } - } - }, - "201": { - "body": { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/sites/site", - "type": "Microsoft.IoTSecurity/locations/sites", - "name": "site", - "properties": { - "displayName": "IoT site name", - "tags": { - "key1": "value1", - "key2": "value2" - } - }, - "systemData": { - "createdBy": "string", - "createdByType": "User", - "createdAt": "2020-04-27T21:53:29.0928001Z", - "lastModifiedBy": "string", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" - } - } - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/locations.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/locations.json deleted file mode 100644 index e492048bb089..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/locations.json +++ /dev/null @@ -1,164 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Azure Defender for IoT", - "description": "API spec for Microsoft.IoTSecurity (Azure Defender for IoT) resource provider", - "version": "2021-09-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}/providers/Microsoft.IoTSecurity/locations": { - "get": { - "x-ms-examples": { - "List locations": { - "$ref": "./examples/Locations/List.json" - } - }, - "tags": [ - "Locations" - ], - "description": "Lists Defender for IoT locations associated with the given subscription.", - "operationId": "Locations_List", - "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/LocationList" - } - }, - "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.IoTSecurity/locations/{iotDefenderLocation}": { - "get": { - "x-ms-examples": { - "Get location": { - "$ref": "./examples/Locations/Get.json" - } - }, - "tags": [ - "Locations" - ], - "operationId": "Locations_Get", - "description": "Get a Defender for IoT location associated with the given subscription.", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/LocationModel" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - } - } - }, - "definitions": { - "LocationList": { - "description": "List of Defender for IoT locations", - "type": "object", - "properties": { - "value": { - "description": "List data", - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/LocationModel" - } - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } - } - }, - "LocationModel": { - "type": "object", - "description": "IoT Defender location", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "IoT Defender location properties", - "$ref": "#/definitions/LocationProperties" - }, - "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-types/resource-management/v2/types.json#/definitions/ProxyResource" - } - ] - }, - "LocationProperties": { - "type": "object", - "description": "Defender for IoT location properties", - "properties": {} - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/sensors.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/sensors.json deleted file mode 100644 index eee6f46e19f1..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/sensors.json +++ /dev/null @@ -1,869 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Azure Defender for IoT", - "description": "API spec for Microsoft.IoTSecurity (Azure Defender for IoT) resource provider", - "version": "2021-09-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": { - "/{scope}/providers/Microsoft.IoTSecurity/sensors": { - "get": { - "x-ms-examples": { - "List IoT sensors": { - "$ref": "./examples/Sensors/IoTHub/List.json" - } - }, - "tags": [ - "Sensors" - ], - "description": "List IoT sensors", - "operationId": "Sensors_List", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SensorScope" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SensorsList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/{scope}/providers/Microsoft.IoTSecurity/sensors/{sensorName}": { - "get": { - "x-ms-examples": { - "Get IoT sensor": { - "$ref": "./examples/Sensors/IoTHub/Get.json" - } - }, - "tags": [ - "Sensors" - ], - "operationId": "Sensors_Get", - "description": "Get IoT sensor", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SensorScope" - }, - { - "$ref": "#/parameters/SensorName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SensorModel" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "x-ms-examples": { - "Create or update IoT sensor": { - "$ref": "./examples/Sensors/IoTHub/Put.json" - } - }, - "tags": [ - "Sensors" - ], - "operationId": "Sensors_CreateOrUpdate", - "description": "Create or update IoT sensor", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SensorScope" - }, - { - "$ref": "#/parameters/SensorName" - }, - { - "$ref": "#/parameters/SensorModel" - } - ], - "responses": { - "200": { - "description": "Updated IoT sensor", - "schema": { - "$ref": "#/definitions/SensorModel" - } - }, - "201": { - "description": "Created IoT sensor", - "schema": { - "$ref": "#/definitions/SensorModel" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "x-ms-examples": { - "Delete IoT sensor": { - "$ref": "./examples/Sensors/IoTHub/Delete.json" - } - }, - "tags": [ - "Sensors" - ], - "operationId": "Sensors_Delete", - "description": "Delete IoT sensor", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SensorScope" - }, - { - "$ref": "#/parameters/SensorName" - } - ], - "responses": { - "200": { - "description": "Deleted IoT sensor" - }, - "204": { - "description": "IoT sensor does not exist" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/{scope}/providers/Microsoft.IoTSecurity/sensors/{sensorName}/downloadActivation": { - "post": { - "x-ms-examples": { - "Download activation file": { - "$ref": "./examples/Sensors/IoTHub/DownloadActivation.json" - } - }, - "tags": [ - "Sensors" - ], - "operationId": "Sensors_DownloadActivation", - "description": "Download sensor activation file", - "produces": [ - "application/zip" - ], - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SensorScope" - }, - { - "$ref": "#/parameters/SensorName" - } - ], - "responses": { - "200": { - "description": "Downloaded activation file", - "schema": { - "type": "object", - "format": "file" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/{scope}/providers/Microsoft.IoTSecurity/sensors/{sensorName}/downloadResetPassword": { - "post": { - "x-ms-examples": { - "Download file for reset password of the sensor": { - "$ref": "./examples/Sensors/IoTHub/DownloadResetPassword.json" - } - }, - "tags": [ - "Sensors" - ], - "operationId": "Sensors_DownloadResetPassword", - "description": "Download file for reset password of the sensor", - "produces": [ - "application/zip" - ], - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SensorScope" - }, - { - "$ref": "#/parameters/SensorName" - }, - { - "in": "body", - "name": "body", - "required": true, - "description": "The reset password input.", - "schema": { - "$ref": "#/definitions/ResetPasswordInput" - }, - "x-ms-parameter-location": "method" - } - ], - "responses": { - "200": { - "description": "Downloaded reset password file", - "schema": { - "type": "object", - "format": "file" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/{scope}/providers/Microsoft.IoTSecurity/sensors/{sensorName}/triggerTiPackageUpdate": { - "post": { - "x-ms-examples": { - "Trigger threat intelligence package update": { - "$ref": "./examples/Sensors/IoTHub/TriggerTiPackageUpdate.json" - } - }, - "tags": [ - "Sensors" - ], - "operationId": "Sensors_TriggerTiPackageUpdate", - "description": "Trigger threat intelligence package update", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SensorScope" - }, - { - "$ref": "#/parameters/SensorName" - } - ], - "responses": { - "200": { - "description": "Triggered threat intelligence package update" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}/sites/{siteName}/sensors": { - "get": { - "x-ms-examples": { - "List Sensors": { - "$ref": "./examples/Sensors/List.json" - } - }, - "tags": [ - "Sensors" - ], - "description": "List IoT sensors", - "operationId": "SiteSensors_List", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation" - }, - { - "$ref": "#/parameters/SiteName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SensorsList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}/sites/{siteName}/sensors/{sensorName}": { - "get": { - "x-ms-examples": { - "Get Sensor": { - "$ref": "./examples/Sensors/Get.json" - } - }, - "tags": [ - "Sensors" - ], - "operationId": "SiteSensors_Get", - "description": "Get IoT sensor", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation" - }, - { - "$ref": "#/parameters/SiteName" - }, - { - "$ref": "#/parameters/SensorName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SensorModel" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "x-ms-examples": { - "Create or update sensor": { - "$ref": "./examples/Sensors/Put.json" - } - }, - "tags": [ - "Sensors" - ], - "operationId": "SiteSensors_CreateOrUpdate", - "description": "Create or update IoT sensor", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation" - }, - { - "$ref": "#/parameters/SiteName" - }, - { - "$ref": "#/parameters/SensorName" - }, - { - "$ref": "#/parameters/SensorModel" - } - ], - "responses": { - "200": { - "description": "Updated IoT sensor", - "schema": { - "$ref": "#/definitions/SensorModel" - } - }, - "201": { - "description": "Created IoT sensor", - "schema": { - "$ref": "#/definitions/SensorModel" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "x-ms-examples": { - "Delete Sensor": { - "$ref": "./examples/Sensors/Delete.json" - } - }, - "tags": [ - "Sensors" - ], - "operationId": "SiteSensors_Delete", - "description": "Delete IoT sensor", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation" - }, - { - "$ref": "#/parameters/SiteName" - }, - { - "$ref": "#/parameters/SensorName" - } - ], - "responses": { - "200": { - "description": "Deleted IoT sensor" - }, - "204": { - "description": "IoT sensor does not exist" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}/sites/{siteName}/sensors/{sensorName}/downloadActivation": { - "post": { - "x-ms-examples": { - "Download sensor activation file": { - "$ref": "./examples/Sensors/DownloadActivation.json" - } - }, - "tags": [ - "Sensors" - ], - "operationId": "SiteSensors_DownloadActivation", - "description": "Download sensor activation file", - "produces": [ - "application/zip" - ], - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation" - }, - { - "$ref": "#/parameters/SiteName" - }, - { - "$ref": "#/parameters/SensorName" - } - ], - "responses": { - "200": { - "description": "Downloaded activation file", - "schema": { - "type": "object", - "format": "file" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}/sites/{siteName}/sensors/{sensorName}/downloadResetPassword": { - "post": { - "x-ms-examples": { - "Download reset password file of the sensor": { - "$ref": "./examples/Sensors/DownloadResetPassword.json" - } - }, - "tags": [ - "Sensors" - ], - "operationId": "SiteSensors_DownloadResetPassword", - "description": "Download file for reset password of the sensor", - "produces": [ - "application/zip" - ], - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation" - }, - { - "$ref": "#/parameters/SiteName" - }, - { - "$ref": "#/parameters/SensorName" - }, - { - "in": "body", - "name": "body", - "required": true, - "description": "The reset password input.", - "schema": { - "$ref": "#/definitions/ResetPasswordInput" - }, - "x-ms-parameter-location": "method" - } - ], - "responses": { - "200": { - "description": "Downloaded reset password file", - "schema": { - "type": "object", - "format": "file" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}/sites/{siteName}/sensors/{sensorName}/triggerTiPackageUpdate": { - "post": { - "x-ms-examples": { - "Trigger threat intelligence package sensor update": { - "$ref": "./examples/Sensors/TriggerTiPackageUpdate.json" - } - }, - "tags": [ - "Sensors" - ], - "operationId": "SiteSensors_TriggerTiPackageUpdate", - "description": "Trigger threat intelligence package update", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation" - }, - { - "$ref": "#/parameters/SiteName" - }, - { - "$ref": "#/parameters/SensorName" - } - ], - "responses": { - "200": { - "description": "Triggered threat intelligence package update" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - } - } - }, - "definitions": { - "SensorsList": { - "description": "List of IoT sensors", - "type": "object", - "properties": { - "value": { - "description": "List data", - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/SensorModel" - } - } - } - }, - "SensorModel": { - "type": "object", - "description": "IoT sensor model", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "IoT sensor properties", - "$ref": "#/definitions/SensorProperties" - }, - "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-types/resource-management/v2/types.json#/definitions/Resource" - } - ] - }, - "SensorProperties": { - "type": "object", - "description": "IoT sensor properties", - "properties": { - "connectivityTime": { - "description": "Last connectivity time of the IoT sensor", - "readOnly": true, - "type": "string", - "example": "2020-11-17T12:31:25Z" - }, - "dynamicLearning": { - "description": "Dynamic mode status of the IoT sensor", - "example": true, - "readOnly": true, - "type": "boolean" - }, - "learningMode": { - "description": "Learning mode status of the IoT sensor", - "example": true, - "readOnly": true, - "type": "boolean" - }, - "sensorStatus": { - "readOnly": true, - "type": "string", - "example": "Ok", - "description": "Status of the IoT sensor", - "enum": [ - "Ok", - "Disconnected", - "Unavailable" - ], - "x-ms-enum": { - "name": "sensorStatus", - "modelAsString": true, - "values": [ - { - "value": "Ok" - }, - { - "value": "Disconnected" - }, - { - "value": "Unavailable" - } - ] - } - }, - "sensorVersion": { - "description": "Version of the IoT sensor", - "readOnly": true, - "type": "string", - "example": "2020.11.01.1643" - }, - "tiAutomaticUpdates": { - "description": "TI Automatic mode status of the IoT sensor", - "example": true, - "type": "boolean" - }, - "tiStatus": { - "readOnly": true, - "type": "string", - "example": "Ok", - "description": "TI Status of the IoT sensor", - "enum": [ - "Ok", - "Failed", - "InProgress", - "UpdateAvailable" - ], - "x-ms-enum": { - "name": "tiStatus", - "modelAsString": true, - "values": [ - { - "value": "Ok" - }, - { - "value": "Failed" - }, - { - "value": "InProgress" - }, - { - "value": "UpdateAvailable" - } - ] - } - }, - "tiVersion": { - "description": "TI Version of the IoT sensor", - "readOnly": true, - "type": "string", - "example": "2020-11-17T12:31:25Z" - }, - "zone": { - "type": "string", - "description": "Zone of the IoT sensor", - "example": "A12" - }, - "sensorType": { - "description": "Type of sensor", - "example": "Ot", - "type": "string", - "enum": [ - "Ot", - "Enterprise" - ], - "x-ms-enum": { - "name": "sensorType", - "modelAsString": true, - "values": [ - { - "value": "Ot" - }, - { - "value": "Enterprise" - } - ] - } - } - } - }, - "ResetPasswordInput": { - "type": "object", - "description": "Reset password input.", - "properties": { - "applianceId": { - "description": "The appliance id of the sensor.", - "type": "string" - } - } - } - }, - "parameters": { - "SensorScope": { - "name": "scope", - "in": "path", - "required": true, - "type": "string", - "description": "Scope of the query (IoT Hub, /providers/Microsoft.Devices/iotHubs/myHub)", - "x-ms-parameter-location": "method", - "x-ms-skip-url-encoding": true - }, - "SiteName": { - "name": "siteName", - "in": "path", - "required": true, - "type": "string", - "description": "Site Name", - "x-ms-parameter-location": "method", - "x-ms-skip-url-encoding": true - }, - "SensorName": { - "name": "sensorName", - "in": "path", - "required": true, - "type": "string", - "description": "Name of the IoT sensor", - "x-ms-parameter-location": "method" - }, - "SensorModel": { - "name": "sensorModel", - "in": "body", - "required": true, - "description": "The IoT sensor model", - "schema": { - "$ref": "#/definitions/SensorModel" - }, - "x-ms-parameter-location": "method" - } - } -} diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/sites.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/sites.json deleted file mode 100644 index 940046a2e2c2..000000000000 --- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/sites.json +++ /dev/null @@ -1,445 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Azure Defender for IoT", - "description": "API spec for Microsoft.IoTSecurity (Azure Defender for IoT) resource provider", - "version": "2021-09-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": { - "/{scope}/providers/Microsoft.IoTSecurity/sites": { - "get": { - "x-ms-examples": { - "List IoT sites": { - "$ref": "./examples/Sites/IoTHub/List.json" - } - }, - "tags": [ - "Sites" - ], - "description": "List IoT sites", - "operationId": "Sites_List", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SiteScope" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SitesList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/{scope}/providers/Microsoft.IoTSecurity/sites/default": { - "get": { - "x-ms-examples": { - "Get IoT site": { - "$ref": "./examples/Sites/IoTHub/Get.json" - } - }, - "tags": [ - "Sites" - ], - "operationId": "Sites_Get", - "description": "Get IoT site", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SiteScope" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SiteModel" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "x-ms-examples": { - "Create or update IoT site": { - "$ref": "./examples/Sites/IoTHub/Put.json" - } - }, - "tags": [ - "Sites" - ], - "operationId": "Sites_CreateOrUpdate", - "description": "Create or update IoT site", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SiteScope" - }, - { - "$ref": "#/parameters/SiteModel" - } - ], - "responses": { - "200": { - "description": "Updated IoT site", - "schema": { - "$ref": "#/definitions/SiteModel" - } - }, - "201": { - "description": "Created IoT site", - "schema": { - "$ref": "#/definitions/SiteModel" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "x-ms-examples": { - "Delete IoT site": { - "$ref": "./examples/Sites/IoTHub/Delete.json" - } - }, - "tags": [ - "Sites" - ], - "operationId": "Sites_Delete", - "description": "Delete IoT site", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SiteScope" - } - ], - "responses": { - "200": { - "description": "Deleted IoT site" - }, - "204": { - "description": "IoT site does not exist" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}/sites": { - "get": { - "x-ms-examples": { - "List sites": { - "$ref": "./examples/Sites/List.json" - } - }, - "tags": [ - "Sites" - ], - "description": "List IoT sites", - "operationId": "LocationSites_List", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SitesList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}/sites/{siteName}": { - "get": { - "x-ms-examples": { - "Get site": { - "$ref": "./examples/Sites/Get.json" - } - }, - "tags": [ - "Sites" - ], - "operationId": "LocationSites_Get", - "description": "Get IoT site", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation" - }, - { - "$ref": "#/parameters/SiteName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SiteModel" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "x-ms-examples": { - "Create or update site": { - "$ref": "./examples/Sites/Put.json" - } - }, - "tags": [ - "Sites" - ], - "operationId": "LocationSites_CreateOrUpdate", - "description": "Create or update IoT site", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation" - }, - { - "$ref": "#/parameters/SiteName" - }, - { - "$ref": "#/parameters/SiteModel" - } - ], - "responses": { - "200": { - "description": "Updated IoT site", - "schema": { - "$ref": "#/definitions/SiteModel" - } - }, - "201": { - "description": "Created IoT site", - "schema": { - "$ref": "#/definitions/SiteModel" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "x-ms-examples": { - "Delete Site": { - "$ref": "./examples/Sites/Delete.json" - } - }, - "tags": [ - "Sites" - ], - "operationId": "LocationSites_Delete", - "description": "Delete IoT site", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation" - }, - { - "$ref": "#/parameters/SiteName" - } - ], - "responses": { - "200": { - "description": "Deleted IoT site" - }, - "204": { - "description": "IoT site does not exist" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - } - } - }, - "definitions": { - "SitesList": { - "description": "List of IoT sites", - "type": "object", - "properties": { - "value": { - "description": "List data", - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/SiteModel" - } - } - } - }, - "SiteModel": { - "type": "object", - "description": "IoT site model", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "IoT site properties", - "$ref": "#/definitions/SiteProperties" - }, - "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-types/resource-management/v2/types.json#/definitions/ProxyResource" - } - ] - }, - "SiteProperties": { - "type": "object", - "description": "IoT site properties", - "properties": { - "displayName": { - "type": "string", - "description": "Display name of the IoT site" - }, - "tags": { - "type": "object", - "description": "Tags of the IoT site", - "additionalProperties": { - "type": "string" - } - } - }, - "required": [ - "displayName" - ] - } - }, - "parameters": { - "SiteScope": { - "name": "scope", - "in": "path", - "required": true, - "type": "string", - "description": "Scope of the query (IoT Hub, /providers/Microsoft.Devices/iotHubs/myHub)", - "x-ms-parameter-location": "method", - "x-ms-skip-url-encoding": true - }, - "SiteName": { - "name": "siteName", - "in": "path", - "required": true, - "type": "string", - "description": "Site Name", - "x-ms-parameter-location": "method", - "x-ms-skip-url-encoding": true - }, - "SiteModel": { - "name": "siteModel", - "in": "body", - "required": true, - "description": "The IoT sites model", - "schema": { - "$ref": "#/definitions/SiteModel" - }, - "x-ms-parameter-location": "method" - } - } -} diff --git a/specification/iotsecurity/resource-manager/readme.md b/specification/iotsecurity/resource-manager/readme.md index faceebb1f548..16a224504fef 100644 --- a/specification/iotsecurity/resource-manager/readme.md +++ b/specification/iotsecurity/resource-manager/readme.md @@ -90,26 +90,6 @@ input-file: - Microsoft.IoTSecurity/preview/2021-07-01-preview/vulnerabilities.json ``` - -``` yaml -title: IoTSecurity -description: API spec for Microsoft.IoTSecurity (Azure Defender for IoT) resource provider -openapi-type: arm -tag: 2021-09-01-preview -``` - -### Tag: 2021-09-01-preview - -These settings apply only when `--tag=2021-09-01-preview` is specified on the command line. - -``` yaml $(tag) == '2021-09-01-preview' -input-file: -- Microsoft.IoTSecurity/preview/2021-02-01-preview/operations.json -- Microsoft.IoTSecurity/preview/2021-09-01-preview/locations.json -- Microsoft.IoTSecurity/preview/2021-09-01-preview/sites.json -- Microsoft.IoTSecurity/preview/2021-09-01-preview/sensors.json -``` - --- # Code Generation diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/backuprestore.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/backuprestore.json index 2348ad3f90c3..d756cec023cc 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/backuprestore.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/backuprestore.json @@ -37,7 +37,7 @@ "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, - "description": "Creates a full backup using a user-provided SAS token to an Azure blob storage container.", + "description": "Creates a full backup using a user-provided SAS token to an Azure blob storage container. This operation is supported only by the Managed HSM service.", "parameters": [ { "in": "body", diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaindownloadpost-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaindownloadpost-example.json index d0d853a1abb1..78b71a4eb817 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaindownloadpost-example.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaindownloadpost-example.json @@ -1,64 +1,58 @@ { "parameters": { - "vaultBaseUrl": "https://myvault.vault.azure.net/", + "vaultBaseUrl": "https://myhsmvault.managedhsm.azure.net/", "CertificateInfoObject": { "certificates": [ { - "value": { - "kid": "id1", - "kty": "RSA", - "key_ops": [ - "verify", - "encrypt", - "wrapKey" - ], - "alg": "RSA-OAEP-256", - "x5c": [ - "MIIEnTCCBAgIBATANBgkAoWgAwIqhkiG9w0BAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" - ], - "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", - "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A", - "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs", - "e": "AQAB" - } + "kid": "id1", + "kty": "RSA", + "key_ops": [ + "verify", + "encrypt", + "wrapKey" + ], + "alg": "RSA-OAEP-256", + "x5c": [ + "MIIEnTCCBAgIBATANBgkAoWgAwIqhkiG9w0BAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" + ], + "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", + "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A", + "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs", + "e": "AQAB" }, { - "value": { - "kid": "id2", - "kty": "RSA", - "key_ops": [ - "verify", - "encrypt", - "wrapKey" - ], - "alg": "RSA-OAEP-256", - "x5c": [ - "MIIEnTCCBAgIBAoWgAwIqhkiG9w0BTANBgkAAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" - ], - "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", - "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A", - "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs", - "e": "AQAB" - } + "kid": "id2", + "kty": "RSA", + "key_ops": [ + "verify", + "encrypt", + "wrapKey" + ], + "alg": "RSA-OAEP-256", + "x5c": [ + "MIIEnTCCBAgIBAoWgAwIqhkiG9w0BTANBgkAAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" + ], + "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", + "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A", + "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs", + "e": "AQAB" }, { - "value": { - "kid": "id3", - "kty": "RSA", - "key_ops": [ - "verify", - "encrypt", - "wrapKey" - ], - "alg": "RSA-OAEP-256", - "x5c": [ - "MIIEnTCCBkiG9w0BAQsFADAQMQ4wDAYDVQQDDAgIBATANBgkAoWgAwIqhAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" - ], - "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", - "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A", - "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs", - "e": "AQAB" - } + "kid": "id3", + "kty": "RSA", + "key_ops": [ + "verify", + "encrypt", + "wrapKey" + ], + "alg": "RSA-OAEP-256", + "x5c": [ + "MIIEnTCCBkiG9w0BAQsFADAQMQ4wDAYDVQQDDAgIBATANBgkAoWgAwIqhAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" + ], + "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", + "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A", + "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs", + "e": "AQAB" } ], "required": 2 @@ -69,7 +63,7 @@ "202": { "headers": { "Retry-After": 5, - "Azure-AsyncOperation": "https://myvault.vault.azure.net/securitydomain/download/pending" + "Azure-AsyncOperation": "https://myhsmvault.managedhsm.azure.net/securitydomain/download/pending" }, "body": { "value": "eyJFbmNEYXRhIjp7ImRhdGEiOlt7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhSE50WDJKaFkydDFjQ0o5Li53dGhUcG5Dakh6d0Fvbm14SlJrcmhnLmIxU21NcjJkX2J3VUZJS0tlRnZ0Y2lvS1BiUXo3OGJyd1duclVBZE4tM0txY01FUXNtSU5FN09WZ2JLbFZ0V2tkemJmaGdrUHd1dUhtaG9QUHpJd2tHQTQwYXVLZW9OaC1EN2RWanBJd2NVcDVMNDVVVlNRWXM5elRQQnRmSnItcy0xbk1DNEhwZnpXRHNhZUxUTzhfcGRtNGxISi1lN3dGeTE3NVJQMDRZR0xPZlVEaVBTaUZXTzVQd3djQjRsSUx1ZXI4cmgyaGYtSFN1M3lnYW02N3VGdjc1WTAtU0gxN1F3VHpwbkRtXzZUbzNaUWZIRHp3WUprQjlWYmRvaHVMcWl4QUY2MS14UjVvXzc3MUdtOHlkZHF1Ri1qV2ppUjAwNWZBSnFLb1UyM3lmYXhZdmROaFdNQVUwU3RfTG5HTnYxaXRQYVg3cXV2aWkzOFlhbjd3TU9VZGg4TW5VS19rN1hhSU96VTJfUFVWVll2R2RNcXFlaVRNLXBrekFxZC02LU5vZ3llc000NzdXdnBNa0F2STZLS2xvRkJKQzRfUlFYYUxITHZwMnAxTlM0NUZLNTEzb1JJeHROd3AtM3JUME5FU2RTbnZfb3ZCeDhFVGpZdF9Mcm1RNHplb2pqRFVLZC1EWmxQcFlGUVAwZWFfNmpSckpsZ3lvVC16czhWTEFFREdoX1lmZDRydHNENVhFZGVMZ0IyMEF2NWlLRk1jcHhtTVVSakRJQTZES1hNUXFIa1RLam1pQmU2aHROZ2FNNjE3S2FYclRuWjE5Ui0zWlIxbGs4UmhoQm5yZ0NBamlWd1lVcE8xUGl0ZDY2bl82VFlTVTJ5eFkxMkxoZ0V3Z1hxR2pzOGJIVEtGYnZVVmxKQTduV1RSN2hTUHpTZDJjanlBaUNDR1ZEUjQ4VjBTY1FBVXFLTGVFZUl5NzhueXJQSE9kXzk3dGtGSXBsdmhncnBkdXRISUNyakQ3T1BMWVJ6UGpFQlJxUFFzQm1RSzl2V1NDNDk5ZGFITzRJOUtRTG9mVTc1VmhOOGt0NlV4aGZFVF95eURfSGM0UGJLZkc5TG1hYUlxVGVtVWZCVnU5REx4RXJLbzhLVC1RX1dFRi1LOEZFbXhZdUFKWEgyMktrTWxfSGFva280NlRCV0FPcTduLW8zaHRpbVBlUmxuSkZxa0lqbTBIc3UzWEJETkdpMEFZZGtpakE0QzgtOFVwNk9ZSWVDZnZOeVEzYVllcmhJVGpHR1puMnJ5SEZCRnR3WVIwbkJCc0ZfMFo4SkR6NTlvTEtlMThheVlvaUp1UHNTdWp4VHFNeF8yNG44WndQTnB6LVhYLXBEVWpkSUZvVS1FSXV0UWxnT3dqUmVKZ3I3WF8yUks5cVBfT25ERkRNUnZzUU5oS1pIWklhREdVdEROd2JxMmNHQzBNRElpeDgzR2RIS29kbGJqNkJ6VXEtUXFXT1dSdUtiQ1NnTFdULVdSdnNzUXlONnhIYXRHb1VSMUVMcVpPejJUZmw0cm5Ka2QtSTlRTE15c01zbVFiZldlTXBJWXA3M29STGxVNm9iRnNkM2JNNnVGeGFGcDUzT0pDamNGUUNlLWM4X0xEMWk2dWhFeFNZenNSYjhLR2cyX0dpMFNCSkcwdjBSb205X3oyVklScER5MFdyZmhnLV9YRjZUdFNtZkhoYWpRVzVqTC1xMnNmQkNlcVI5M3FXYUt1TFJQS0RfSm4zWElJR1R4UklDMzRETTlfbXprRTE2SUZDa0dnN3FEMmZCZ2EwNHA2c1hrdlEtUkdYVFhKZGlOd3NpVW1RUFR3Ql9LSVA2OFRNQWdSTWpBMEFJMjZOSmZ0b2Z4eng2X0w2VTU1SDZELVZ1UjdDOWsyR2lWa2Y0VnU0Q2p4WTI5TWdwUERlaHdScjVVMXRBUFU3Wi1nVU9Eb0NTcGRINVRjY1NROGtKb3FEby04SWRKMjlYa0NEUTdDX3U2aTFVVF9feUhLbjFwSUxocnBxZm5lb081SE5sNEJTbjJ5cEdFZUpfYldCNl9GMU4tYXBoVDNjRmpQWjVnb0tfM3ZPVWw4N0gtSjMxNnhpUGRiZGhiM3ZkSTVkQ3daekhzOEZwbFpVaXJGNGlsRHM4bklrRGs0cXdIZGZvQ2VWTlgtWE1neUFOUTlKZTQxOHJEZkprZF82OWFiSzB6MXlKcmg4ZHhNajFHSnc2N2FzZHZ1XzV1elZPcjBldE95WDUzUVMtUkhLeEs4RWZUZ0U2SThwVjBTQ1hRYkg5S2lNd1dYcm45cjk0QzFhZ3dJLUZ1b0JlNFl4eHo4OFc2RUdvUzJMMmkwWTM0LWFjWVJxSTl5M3l2aVJ3T29Ub2NnUmF3NDFUU3ZROE5zUzBPQUlyY1JzMlJfMWhOeFlObFAyUm04VktPcldEcjQ1MHNJRC13elYzUmJxenJLcVJnbmxBOEFKcnVCa1FPbTQzVUFIVnBDY1pvVGtUMVYxYi1Weml3bUQzV0hHZFFnM216RVItdmlGR0RJLWJKX09NN1JWdlFwT21xQVFBWTFvQ3ljOWh0cUZKSUlhYTdibzEtQ1lqcDNTd0ItYnBsTjhuWDhHVWFUbkNFbVM1N1VTbDMxUGVpNkszeXJmUWVJWl84Q2RSdngtZzUya2E5NU1nRmZGcUFOdFNQUzhXbTJQSm55aDlxYTliTVhzSmI5RmVYUnFZSlV2OGxfc2VkVWJEWFRBS3BGWl9hWVI3VUpLa0xWejNiNEcxQWptcFJQQXdzd01TWDJtUkFzcGt4Z2ZrdV94QjRyaDBuX2t4NDQ3Q2pYa1VjSncxNlpBVHI1Nk92THZCNmZoRXNqejhVWGRyNTJHQ1R2MzluUjBsUGVLQzlZcC1GTGZHaXNNTVk3TEM4WHNFU3ZhWVU0NnZGZzJGVUhjYmgyM19xbENiWldPWm9vd1FrSnFJM2VCU2s1Rkc3ZXVPOERLS2tBU2N3dkFmc3cxM0VCTHJ2djhLem5mMndRbFN1VFVEMjdWaEt3Mk55SUtuUTJkeTN5d0NtT0EyRnNBdkRwUWpybXNITjVmVDVTLWlTRjRyZTBrMFU1VzVJUVg2RzNJMlBDWFJDOHJnZFA3SjFNOHEwVGtOZE0yRUVqdzBtbWpkaVM2RFUzbWMtUDVya0hEdTh0anpPYktESE5MbTJfa0NoQWFqTXNtcUlDMzFiOUxvTUg0c2xYbUNjUDhQTXF6M1c4TXB0V2NGSHFLT3pDeDJTWmlVRkdaN2h2a1c0dWFyczFDMG95ekFJYTA3eDF5aWZxSFUtbW1Mai1FTEp1Y0xkZ1VOSkJjeGFuVFNSc3VpRjhnNU5iUFBIdDVHdEtiUC1SdmlQd2V2cHdjbjdrVU9RUDNRUnpiUjlLdUpFZ0JTdGFndU1GMlNwVjRDNlJNZ2E1RlB6UDRVajdtNmdDMk9WSjB4RG95ZEdYSnJPa2NiRlhHQnRfXzFHSG1uWUw1cVhVbGJBT3F4RS03ZmJiem91OGhpSi1IeFBTY1lfUHJwOG9ZUUZ0Q29sSkhMZFFHaHBUT1hKd19lU0phRU5jaGczbDVFNkxCNVU5TFlkeTRmSnh0ekY4dDdHenR4Z1BlMnFLN0xBTkRVZXNxZUJEMzJTVEd6cVhzVG43UWNlcEEwcjBzTnlyaXFuSERTYk9vXzNTdDNKbkJzdlNselRiWWFuZEozY1pJN1c2RWsxQlZLeGhVNUQtRGNJb1R2cWNvN0t0WW1pS29FT1hjbG9jQkZLTFhPWENhMVhvUUZsUnRCdGNUQW9LTDNZSmZTS0ZwRUw4VVc3bnZlcTlfcXZ2UFRtMmpUUW96UHAtYjhNZFJDZjFVc3RId1JxeDcyVXNxcDBKbnhTVERaRi10Sm1zdlZHYkJHcVIzZmNmT1lGaExZN3c0UDYxVS01U2NUMWpxaGhnOVVQbDdJVFFBMTlJRHJkWHZrSEotSkZsVXRoVHY2YnNaT3FuMmNNaURjdUdTY3BLckgxMHRnZmZ2cWxSZWcxLVlJTGJMLXJ4eDk0ZER2R3RkXzV2eWNBZjFiY2Qwd3RaRzdLaWg4OVhZaS1xVjZVc0stYWZyT2V4VG9pX1Y5clNPMmZ4RG9GQ0JoV2dUc3RMc1pIQUN4VU82SzZzbFFwbVBpRTFKNldXdjIzYnZORF84Q3dwM004UURsay1TUWlsNEJUZnFjeVdzRHN0Y05tRnJGVkJBMWdGdFdGVWh4cTlHQVUyQ2o1bWtWM2REekgwM3FYLWI2cGdpSlE1SFFWRmw1SkV2bTFLQWd2ajJQRGFwNmhyd3NXZVBIanhjMXNwQ0dJcnA2Sk91LVZQMm84Mk5hWXY0S1UxUkFRai1mdXYtVFhfaG4zSG9Md2lDa2NRaEdpWWpWRjJvVEdDTEhkLV9rVEFRRjZDZ2hDRjlQVXFmdVNaSFlfRW94MG1NdlBZRDB6NURZMFhISUY4UzQ4cExOUE9seUJRZ3pSNU84c0VHZk5BOVM0cnJwVVdJQmpETnpyVGlZMjVqV3V0czNIaHhVUU53X0c1dFFqLS1hVTlCcUItZkg0TVVKNm9HM1lDSHpkcUVBd05MclVWQkF3M2s4NFhkZ0xjVnFhVzJBSUpxMTBLQ1NQdUxOY3ZURHM2WEhXS3kyTHd0UTRHdUN6REhCQWliT19vV0hQcjZyaERKVWcyZTV2aGV0cVBlejV1M0oxeFN0VDhyYUIyT3ZOYk9ob05BYmNwMDRQbGJ3UHJpZ0FFQ0dTMVQ4ODVaTjdqYjlEd1FOckxwWU9Db0lQRGNlaVhuYXg1al9UNmF4LUhadF9jQTAya1JZMFNBSEJITkZOQXE4eUxIdkh1MmJxQkpiUmZ4cEo5TkZmeFF6ZEoyYlpSNmJHOG54dVNUSmVqeXVRdlJaNzBOZUZqR05FaERFQ3JTNUoySTBBVFBaMDVPTE1OUU53NnZERGJBSmR5NV9WT2F6c3BhLWoxM3dwVVJuSDBzWlBJd1YwVWpSdHRjUTVHNzRNLXctZXppNUk2dkdZOTlyUHhZZkZRMlVITnJzTV9COVVxTlZXZk1qcjFRM2Z5cWxuZ2IwUmF6WHRoX2FjLVJiOFBtV3FBYnBvV3N6cXctZnFDQ0otb0drWkwtLXhOeGFjdjBfWDh4QjlYT21NajgyWGFKdkhNVmJpdWZwUUNsWnBPS0E2QmtjQlhqSVM0LTkwWDVneXlhTVd3bHozcEdud1UxSFZNRHBNeVBJN1VKYUZtdkRQcFU2WlhZZXZWRUZEMzg2NVBKeEZDZnBfdVhoWVBqMEFZLVRNRWpPZlIzUEktMjJ4bDl0REEzOUNuMlhzeDNrQ2c1Vkhlb01BbWZsM3YtaWZxUWxnZ0YyVS1uNEJXXzA0QlpOb1F5Y0ZQdnA0Q0Y1c21MVXUwSmVsN3BuMFF4OFQ4cjRLaEVRdWRoUk13RTJtWlc4TEZTeVdobXFzRDRXNVRDYi1QVTBQZXNHMDdFMXJLYkdFV2NaWi0xek5pam1SWUpxUHdZSWRnUmdhMV8wZktCNFcxZEVRNnE5elRESnl6YTNTS0M3TVhhbjR6d2F5aGM0aTc5Ty1NM3JPSUIzT0lJUFc2RjY1MTM1WXlUVVpETGJqZUJPOGZ2NlJCQU9MR0xqXzgyc2hPQUFrRXNJcThPSnVHTWNiMEZUVXVqYUNHQURaLW85RWNhWDdMMm4xanJBNVVEaFNaV2xhQ0JfZ2pFTzhDTTdJV2xYMnVRYTVJOVg4ZDd5VE9TZFZWX0ZDbk5zcjRUdWNvcWNZalpDd1VmaUpSLXJfYWxKbVluVE5RMFphOGt5ZVRWZWZYTDkyNnFyQ1FqSUcxV29BV2FtYkRNUHV6QkJNZG5sWVNyaXMyV2VyU3hFX3RjeTE3djdvaU9Xbm05TGFVam5ob0VXVTlTTjBBSEJ1Mmhsa2dHOGM0TzhHMmo2eEd0QUVURnJJRnk3MTNJMi03eGVCNjNFMjJqZ0FQSlFqbVV4RzZaaExFSFJBOXNHWUt5Snl6dTNmd3c0SGxFS1EzdFpXN0JTV01ueXFYOUJsVG5rZEJrSHVBTkpiLW1JcWl6UVR5ekVodTBLQU5GY2w3OFpaNzYyU0pfdERaQTRhZDhweGR6TVZoZnpvYkt2Qmo2dUlKcjFvQlpIbmp3cFJvM1Y5OXV2bElGSWZBS3NfVmlSRWl0QUdxT29GaTczYlpuWFN5RDlmZ1hYNU53Ri1mcGd5S0VlQk10anM5Ti1xYUNlRFVRYVJaWVNlc1JCOVItMUVNa2pqdHBjSWlOaGxIbGxnZ21tOWd2T2N5LXR4bXRZcTZYRTgwQ3NQN05vSWZIZ3JYSTVwcURnWGtESjB3SWJxRHV3aFF4NWNmQVpFV3FuUDVPSkJURm5BbEUzSWpqdEFnMXRVNi1taUt5c29HNG05VlZUejNGNnh2V0N0aXFZeFVFX01tdy03UXBwcjdQdEV3d3B1ZUNoczZGQ1MwSXY0YTlQUF9Iei16QUt0Zm11Tjg4emhyY3hjcVhJNFRqeHpLenQ0NDk1RW5MLWVqR1ZUR3Q2OG1fMjYwUklIa0wzamlQLVd4NlJaRkVFb1RhMFo3TTBIdnhkb3JORVVsYXFqaDFXRmRKVFV3dG40SmJpeVJFTGthZUNMTEYtdlF4dkVwVmg4M29udUtZakVFV19CUXdrbW9ITG00MlYtZTJ3eVR4Rmt4eWpBNnJFQmk4anh2V0RYeWtySVVYbjRKRXZyS0MyWmZuZklBNUJGR3B5aU5MbU0zSVkxNHhKQ3VRY1g2aFVwajVWMVpfbllBLW1mTFJ5V2Y4MkIzZEVOdzBUZFY5QTU5T2NmUlRlamx3WVdDSEhxcFpPTXJQXzZtUjJmSTlIVGhIVjM1UXhIMS03eWJ5SEN5YTF1dzhhNGdPMkpXWjFqY1dTWDZndm5UTThRazh4bjdGcnFnaWdhYTJ4Y2RiUlhlbHlocUZUX3gtSUlSQUFNbEJLZW94cnZXaTRQQTZDc3BxSzJBSjk0ZVFEeHRjZi11ajQxek8xajJnQTJiNGdicGh1dlBHZUVDUTVJUDJzNzhYczY0SlVPVmpIZUxJdVBQM0laaUZsWGt0cl9SZ3BwTzZZS3FGTXFMNEZlUExHbWVDQTZfczBfdEhtNzJscmFFSzlmWnpfalBwRWYtQ1YwMlZLN2hmM3BIdlBTcmJlZmtMdXJaSXJmOXJrLS1LbWFmdGQtQXhfdzU2clJXLVprdGZJd043ck52bXVPQlZRaVRyZ3o5TC1PeDhVbTFSejRMS3hzRWpKZU5XcE1JWW1ENlN3a01vNVE2bnpLS2tZeVBvbjIxTVVqTTliU0tTUm1MVUVMeEhKN1RYV0l1UmVZRkIxb2l3eVR6OHdZdmtMSUJlNUE0U2ZfVTZPNGh1ZmVXLXJ1c2NDSWtqNmhudXNWSjh1dmpibTRndlBPZC1fRHh5aDJmLVBiZVQyWUg2QXFsQlRZbGZhQV9STXJpRWpFc0ZWamRsYmxVZVVWamxQT3MyVEhIS1U0aUxRSm9yeUV1UFBucGE1dFVJRW15dHBtSjZ5c29adzd3UkFBbkxfTjNGVi1nemtkOFdXejZSbldrdUhWVG5PWE1GUWQ4UlRQNzI2S1otMzJHdGxHRmZKUE1pdUZoOHBKOUl1VkFnTHBoY0VNeGxYbWc3RUViUnVEZ0otbXVqRkdRZWlpTHVLSUpqRFd6dFlnOE1LbTA1M0gzT1AxQldxc1o1bHotZnRSeHZtQm5vOFFDVjYzTXltajhmUHBKMHgwYTc0OEhydVhLTGhSY213SVoyZjJqRExqNGw0a04xbDdmUlI1YmlIMzZHRm01OENLQURqOXlGQ2hBckdmNzNjSkkwX3VCU2l1UHFBMTJRdmNxeF9IVjkwXzdUN2tyR2diTVlkZ1Iwem4xcjN5LVJkek9VVnV1QXphWm9ISmFZVXBEY3E3dVk0ajVrUXJ2WmZtY1V2ZV9iclFDSkNKenJaTkVNY2xtRTdCMjlOVm5DZDVKMDVZZVozb2s5bVlyd0dlOXZQeGZVUmxtYTllT2hFR0ZDXzV5T0dxT0wwWHY4eF9uUWxaaTNNVHF1UWJUTE9pVlY4OG9OeFdXQ1dhUkxIdkpPUzNBMmNsd0JzVFNSdV9ZMHZCQUlacXBtZXY0WXhzOFpWcXZtWUdsRjJ2bk82cm5ybWNYWHRPclFFX000TTJrbXRlenJheUpUek8tMXRhSjRWdkk3ZmplZG1tamU2eTREZmFkbjRlTnAybmVubUl1cmJFeE5mekdINnl6TFMtR3pZV1VLbGFOTXpyYjNYSGViNVBSMTNmZEJZeE81ZmZoUHUxZE9tblFiNXRtYV9pTGpkRlFkQThFUVQ5bXhnOHpDUWFjZDBNeXM0NGoxRXZiaEhzcTViRDFka0pQaXhKMmw3LXlxLU54Sm1ieVdhOEZLeEM5aHRIaEF3VHV2OVJ6akFJM0N2Y09rTnVVcVRaWi1XTFMzbFBxSVhGNjZDZnlSa0VTUXk5UXFGdjYwTld5UXl6ZUhDLU9jVUJuSFhMLVBiYVBKNFpNYTIwRDlYNW80RzdoNjYwMXo2MkJiMEx2dUVJcFg0Z1gxZ3JURU1SSW9NbHZNdDk3NkRCTDc0emJDN0VqT0hEMnpxQ20zT1dDSXREY3NBb0E2Sm5vc2lONmpTWFFEUlJhYXViUVNweXhHYWZNamlIZDlvbk5pb3dGREo5LUxsTkdOckhqNy0yT0lWTVpMMkFIMnVsYWNuNjVJa2pWU2FJdzlfNHh5X1FUOVM5c1B2R0RlZkVja1VMcnJuUi1JRHZTcVFXSXFKYm03TTQxbVhMa3hXLVR1VDM1YlcwQ3RlNUJLRFJKSExPU3lFZHZkdllfV190RnktY290SGF1VmlHZUt4U0tfa1RFeEFDVWxWT3pDcWZIMmlNXzVqdXU1RDZacVhRZlZfekpIYTVURkN0UjRyS1VkVmU2Q0tabjFFZjFDV3R4X2gxeDFLRnRMc2lIT25ER0tJUHptb1ZjcDQ1T0NJY0hjMEJPN19CTHVsUklacFpWcmNlXzFNMzdOb0pGdDkxZktxOXZ5dC00NGdfYVpRMS1ZWmZWYUlraHpxLWdjNWJUcThmN2M4U3JCdU1aaThUWU9WaXlnc0h0U3hWRHNaTFhwcWU1Yl9JWFZ1cEItQm1tRzZ6Zk0xZmFDRnNaYVc4TWNoOVBPTF9PQndNVTdCNG5TdXZ5ZTFHb19udkFvSHZmbDJWV1VnTXI3MERidE9NNjhteEExVlBSS0M1dDJJUVgyN1lRWmhyRFNaTG00OGh0cktVR0NVSjFaMmFSOVdhc0FrclRNODJ1YzdwanFvQzd6R1BhbnFGSHFLdmlzVVk5Rkp0MFZXYXd4OGxXZ2xYWlFISHNEVzZyVmpSNjFJYjJGV2ZCRURfcFUwc2x6YUNZQWl5eEtkQVdzejJfQ3hvR2l6VDhnNVd3YjIybzFad3VPZ05Kcy12SzhYWXVYdkx3UzdILTBrVlhLQkhDSG9SMkh6dnlnR21Qa2tEekpyZnJVN3hzczlIdUo1SC1SSnJacXhmLU5pbUxPWm5nemJiYWpiOUJzcGFScFRwUWwwbmF2TkpWbXNMSTJYelJwVldsWlctaTVWdUhDZkZEMjdORW9LalB6MFRiY0dQZ0NtRUdOdWo3dTRkS0t2NFdsWkxHby1WT1RsLWpkVV9aY0VGNy1vVlBZTXZqU05oVFp3WWw5TEowN2xxYkt6aGE1NE5iZUt2ZTk1c3RVVThibWFNcXd1M1dxUkltNmFiSUtfeW15el9COVRqalZpSzluU2hhWDRNektDTmpiaFk1MXB6b1lrc240akhDWTBxVDJHOVkzWnoyZlZuQ01LdU1ZV0p0Z0E3bXlZN1BQSEtycU1OWnJ0cmNvaTd2YkxkUk03MGY3aFZIemVFenhYZFIxMXBjN1F0VnVpUFlSRWx2UE5GUFBFRkJuZDZPNmpnbGxHaTRWSHoxV2tQOWJ3VUVPellQcXdoQkpvTVNpUnRrakFJd196c0lUY2R2RTFtUWxSMGx5RFJKTU9BQjRKVTdpRWcxU29QSGN2TmZibFphRDY3NUJKcFZwUkZKUk4xbUYwV3lpRUlvOHAxU2Jqa0hWUWxVcXRLZTg0clEyUGtUV0NWRnhsOVJMMzRjcHcyZjFaanVtbDFYYUZnS2ZWdTZLSnFkZnpzUHBHYW1UdGZEbTdkaFdZSUZrUjdhVzNvWUllMTVIZ0tnSDFkZmRDbjBUZVgybVM3UTFHTzJHNVlsUm1FOHJXLWp0Y21xVEM2d3hidUxHdXZiQm1GeTlzMUtyWV92Q1dXcGk4Q1hnMm1KekkxYjlKSFB4MXVvUE1MLVRfUXg2dGhnR0JEeUZpcmVPUkg4ZUhaOE9PMnR2TWk4Rkw3YnJMS3E5a3Uzdm1valplWFpZbExvRGJYTk9Jd0s0UFozaWNZVVRjWUkxWms0OVRpV21NNmR6dmVvamQ4dnpVNGZLRGVmUFZ1WXM3OG1ISG5EYkZ6eklGeHhRa2N1OWNsb2UyS3NZNHJvY01qbllad2d3eW9WSkIzUGJGNnJvZVl3VlFXNzJ4TFpMdktHa0VGQ1dKMVR2YUVRN2dHa3FJNHIzZEE0LWttUm5UQWxzT3dTZFpYZ3NlZ296RzJQUTZqZTV4SGNTUG9lNkRoUk4xbWhLNWZZR19KZGpmSl83LXVkLVo2NlMxZVQtcS1waUc2OGVfaVhMaWJHRno0WmFjZDBWVjNKN1VhMnF4ODRXX1BQQjRTZE5lQkNkYjlDb3ZXRm0xalhUcW9RRWFMQ0c1WTgyMEFTN3VvUGxJejE0R2xocWQxZHFKbmt5REl5UWllZ3JQTG9PaFdjaDMteDlmbGkwTWpiUHRzM3QtOEVDb3piVWlpeVBZcF9hZzFSZUhFbHNxUG1yQUZCMXJnVUI5SmxJMDUtTTRtaEJ5alMxX0NiejVLRHJFSkRfcFBXc0l4eUlSUnNKZWVaNE9NX2NnYlRxN2dCbEdzNGZwR0U2SUdZZzMtVkZ3Y1NXaUhwdmxWOGR4djU0aWhrTUZRVDVBbjRNVXZUM2M1YzdWODQxZzlrbUhpdjJqRElPc0ZYRDlncDNtZGpFUjRsQUNRdUdiVTlmd3Vmc25xaF9PcUdNT2x2TzNqN3VSek5XRktvdGJHZzI1Zm93MmdTbllfNTNCdHRGRFhFdGVFZDdLcGJZYm5ldS0ySF9yUVJobjJpcUNjODRrSUw1amlRVEVPdG9rT0lCQmEyYWUyY3MtRDhIVmpnV05KTHF6bDVsOVdwcVVUV2RDYVJMa3U5RGZ1YWkxenBjOEJKQkM4M00zazZOQTZMbFZpeDN0OWNqNUd2VjdHbC1QYXdidjA0ZFBhMXQwVDBjNFNxbzR5OTJ6YktIN3ZpTzA2ZjJlQWhwYkFiQ1UweEZyX19tWEtnSzJYclNlM2xZcU0yUHdBbVBBU1ZkWHNCc0p2djdfTXpHaWttWmxBSzJLYTV2UjRFeEY0Y3p3NHZvSGMxR3pfbjJpZlotWmxLRmJLTTYzdXNtTHlndHFZN0VGaDFyd0pTWnJIY0d4Mnk3V2N4SWVRY2otVG11RG9xcG9kdXNQenN2R0tQbzM5dHJSeFRuNmVOZF9lMzhNT3BNU1Q5VEtMQmhVdW80WUVaM29IU2phUnA4TEtKbjZjNUFDelREUVo4cVJVaEw2Z2R2N21FRlBpMWFTVjNTLVc1RU1YOFRTRU9oZnpDcmxfUTlGR2lYaW1KZ1dSdE1Na1JHeGNILWFsRzRYWkthdTlwcmhZcUM3SEtiNVZOQkx4OUFhemtxQVExRG5xRkdkNEdYd3luWjdXNHVBRHFfUm9BM29VN3VnQlJzVmNIeC1MNjJITU9PQWFYYnpVZWMwaWM2d2ltVXVpdmJpa3dZSnUyeGgyc09qVHA1QlZRQXFGelV1NDRYMUVpaUJxUldIWW5pNGNFazhpajk1Ynh0bTVDUjBweThzRlREUDBGcXEtWVoycUt6MndiSF94SmVpOXg3bkRxUHlhRDBEaWk2MWR2UVhramtrNGhFSGtuUWpoeUR2NGZLN1hGejBGWUxXYkwwQ05ORmdHeWJhQjJWT2FGYkJQVmdtSjRFNkJxTHdTWE1UR1dVd3g4cjZWU1puQ1l6NjRfV29HZ1BteFFDckdRWXBaWVRXNkFYb3MyWTRtQ2dNeWdDV2hKTng2a2ptbGRkdDZTeFNWdXVlS3RmWkMwNmktYzdpa0ZvM0ZYRzF0YmpwdFN3OFpMbWdWb0k4M19scTNxY29QNTNkVklZVy1GQnUySXJwYU1DZDZYNTJWUEZ1SGhKYlEzWDF0VG4zLXNxTkFvdXdWckZjMmNTbHJvSXRFOHBYdlVaRS1NQTR3QloxejRJYlpjYk4yLV80ZVM5Q0Q0c2xVSlJyQU5MdzlEd3BaSlo3T3NvZUJTWUZKeWw4SFprMWwzTlNDdFpNQUIxX05QODFpWjV2amdrUUszWXpWTDB6SmV1cUJUc2VSb0xlY3BPWEY1V2dEaFdrUFRlY25mdHFMdXZpZGc2d01HRkt0blhnYTVrbWZQbUs0d2xxVUhQR1BSbXZDV1ZZelRUN2pMT01XWFUzVmZsUlpabXpJdzhla3pLODQ5Zm5ZQkR3YnYtWjJvcVhFNGFQUUswUUNYeUczTU9QM0JpcFFXc2VtQ1JLRWdnRlBTNEQ0TlRjS1FKVHQtLWUtVXpMOTluM2NZOWpXUVpPZU9iSTlxTl83MVRPVnA1UE1mYjJ0MEhCTU1KNkxwcVRuOXFQQVF3QkdZYTM5aWRqU2ZtTXNXd013a25naTJFZEZWSTM5Uk01OGdlMnJITVFjRlF4bGhyb3M0aS1kNnlSek04azVNcGRsYW91UDZ3VWlGZ1E1ekdtMEpVNTJrQ09VakxnaUJNakhLZDUxUWs3ejY2YXZicWlvelFRSnlneDlfM29WSzMyMXBFQXJHd0Q2cjBKLUJySWJBamFmYU1sb2xPbm1TY254NVM2dE9rQ1VEXzlIN1RQRjRoUTBBQl9sZmFpNHFoSFAtdi02c2xxQ0xqT0FmTk5mTmUtX2tnU1lfdVpGMUQ2T3FmZTVDOThPc2tfU1ZHalBsYTNrNk1CdFl5TEZpZjdoVktSQkVibk44Sjc1MFp6VHV6bjIzMTExY3ZyZlhpeG8ycUY3cWgzUHlDMEc1YnpiWFFMNmtXc21TS2R1ZGFXN1N4NG9WVHZVMnlHTVVzdWt2ajhmd183OGhJYW95d0RRS242T1p0WEszZFUzczFxVkk0QlAyRUduWXd3MU9INWdKNnd5endqUzBjTWVLbldiWVh1c3NpTVFmdEcyN3l4OThKcFpncGZFemFsaHIzOHE5bGxBc3RlWnhvS3g4ZmRhcnFjTU51WWJLblRPdjZTZkFfZFR1VmgzejZDMVV2cl96MF9nd1VtVWFhX1ZxMk9kTWVVV2IwSF9xSGc2X3FKNFZPWWhOODdFMm55WkcyTElja0VPc2k3TnNNZW9VeHg0LTc4ZXFxTGk5U3BscUgyWEFLbEtTaWQ0eGVlVDV3OVI5YVJDVGZ0cVNxSEpfa0YyTzl6elRDSV9XTkdGX3l1c2R0eER4bllMTHFtNElqUWVzTmRSV2duNURDZ0Q4Q3NqRWZic0lpNVgxWUFUZ29KQS05Z2VuVFV3LU14aEc2WHl0ZjlCM0piSHJoMFZQa2Y1cE5RZjIwT0xPSFMwSVNLOU9QMGx4ckZSQUFXa3A3RF9aNGRIOENySUUtRnFjWHAwc3E3QndSOGZFRUMzMWhicjl4NEp0T1FiRnN4NjNSaGEzdTltOE1NSzNUeUU3eWE4aDJVdTYyT3p1Q1JrSl9mUnJEODc5cEl2T3RRYW5rYzRJUE9Ia2tiNHV5SWxiTEo5QUF4eGdXZTBfRWdhYnVPMWdDTVJDUG56RWFHel9pajNmVXFFVmpXVzF3WFZXUjlVOGRiS3N2UFd3TkV3dmNJeXF0X0ZlMzFaM0ZsVEF2eDY1UlpGQV9XYmg4bVF1NGg1MXVzazNBWTRGdUppdWpFZVBnNXNLcFZyaWRXbVpIS0hSWndjRF8tNG1CNVV3b0hRcXhWVEZaRjBlcXJ0T0FXMGdXb0l3OEdULUpWelVrR3JWQ0JiemQ2MHJHNE51ZDJzZjUxMnN3MXFOZGhGZXFoT0gxMWJCNzItLXhkOTl3aHl3MVE2a3o0Ym9OaHdpRTA0cmtBdGM4RHpVczFmcldoLmd4amVtYTRfSkxNQk9mTV9LNWR4SDd3aldzZ2hzSFJYNTcxNnZGWmFnZFEiLCJ0YWciOiJoc21fYmFja3VwIn0seyJjb21wYWN0X2p3ZSI6ImV5SmhiR2NpT2lKa2FYSWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pWW1GelpWOWxibU5zWVhabFgySmhZMnQxY0NKOS4uUjNJN2ZhODFxMkxiSHRCSlNld2VCZy50Q3BZMlZBWTlpZHE0YWVZaEh4c29HVlcyT3lKdTdOVHRvbEJZYUFJSDBsNkFXR09IUDZrVGQwYVp4bFV6dDYzbjV6WUwxa3hSeFdMVEJuVUFYTG1tT0IwZjZlS0poYzdmSmRVZTU3cDhNTDRjSktIbDJSS1FwdGpfRVQ5VHVOc0RZZ1ltVXg2RDN1MllWak5GcWMxcFhVbUQ3dW54dE05eU4xVFNGdjNWY21BNHFmNXZ1T3Z5Q3NsYWd0T1pzbkthR1V6ZGpZak9RS0pHRXoyeTdZSVlYT0tHLWljZ1h0Z201Zl9RcDZIWUJlSWFobi0tSDhMS25uT05rQVRKdFJRQVBFUllrTEtuZHNaN1JLNmFacnFaR25SRm9FRDdNWkloRG4zWENKQ2xZZ3Fsemw3a2FHQlU4ZUpsZGpKMjVnTnIzdTIxamZNeDBDN2o2ZUZaOTd5NFJhQ0JGUUptUGlRVWFmQkdYSDJPTGNBS2lNOXc2MWtzRjU4N0V1cDk1T0tYSjBrSEZ4OG9oVmlxbGJnNVV1QjhaY3l0eHZ0S3pmWG5RVEJqS2ZDYmJvYlBkU3FrNVBEVWtCWWJ5WGVSS1ZXMHREeVZFZk9haldzWE0xdVRsWXItRDgtQW8xV29jT0hBYkhGM3h1dVBhZnNEdklYcTd3Mk5fckJwOXZNOWpPQzBqdExEeldYeFlwcjIxWmNIdmhwaWJCM3F3ZEVNS1pfZDc1SkM5Y0VmMU85LUlNaVBUSVpja1podEVyazVQQVI3ZnJYQVBBOHJrVjJtTVlJQUxOWV9EQjhDcHVIR2JHeGZ6cE1iZ2d2U1R1OUtacV82YWhIbGVIT0VqRklXNXpiWHp3NG05ZXpMRHpQTnJzWUwxa25uLXAxT0k4TWdzZjVmd1hZS1NtT1VFeEZDdUI2NDd2dldhdmg5eXM5YUxZWFNOb2pEQWxqZlRrRmU5RlVVdUZLSmV5S0V5a2RDS1JPZHZlSXhqSHk4emFBdGNBZGdVSXAwT1FWdkFON3VnZkI4SVJQLWU1a2k1VlptNHpXR1AyQkVWTV92WWxlMkE2VEp0SDNMUFQ3TVV6VGxvMVBVMWtLVExrZ3EyVWp4MERldmZrLTg4WjNTbFhVZWtRVG5QV0lZY2lhY1hDMVptenRVQVpwYTBraV9TcXVmRjNmdGQ4TFFJR3dFNHpkZGZtc0R6aWxlSFpLR3ZUZi10MUtkTm9VbkJtYnFOb0JObUR1blNuTHlBeldFWE16Z2VIZHBsLXZLWVpTUXA5ZnJpdkRlV2ZlOGxXVmJPUmxiUDRxNzlKQ2tVZHBoMXJnM2l5cXRjaHpMa0J4N1pqeGJkUEZ6MkU3Q1B2UGFFYnJUZ3o5WDRUN3VZa1JVTmtDRkpscF9NS0VfdEthNXNwREwtckx2bHgySlV3ZWpXUGJyRWdWRDdocXdhVklMNXdwZzhHSlI4eEhpeVdMbzNVcU1fU0FlZmV6MUNDcElFb1QwT1E1TV94VTlhNWp3bDAuby1JSU5IdzFXTlJBc2xSRnE4OGlZclllTmVibVRhOVRrRlB1Um9LRl9lWSIsInRhZyI6ImJhc2VfZW5jbGF2ZV9iYWNrdXAifSx7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhMjF6Y0Y5bGJtTnNZWFpsWDJKaFkydDFjQ0o5Li5XYW82Q1FQYXdIN1lGRXdHN2Uza05nLjNVSWh4SGFtV0FLWGlBUG9qVzNlcW56NThRbEpPQm9OcDJGcHVzT0k0UXR6RmIyZHM0M29TVjl6Q3lRaklrc0ZYRko0Q2Zra0QwQUhxQUtna01LZ1JWd09aT2xyRTJHZEpKRVk1bzk2QlU4eEhqZF9BVFo2dlFiMlVMRVIwRnFUZnZIOU5yZlY5SGRfX1lUS01UdVE2ME5XWWtUX1R3TUxRX2kyRDdHd0J0S3pLN0FnbEVjbVM3RXpuWHA0Zlk2RmJRTmN0ZDNjNHpWWUFieDJxbndHMWYzTDNaMndkZGdySVhEMmJlam5RQmJMX3VIRWJUM18yM2hZeDZFdHhEQ3E0bXIzNXB1MVNINDF1UGlnQTcyNG13clNXYUR3NkdJRHlwZVpzc1RYNmc2RXQ5ZHJ2aG85UHpZTjNtdkxpR29PdHBPTUN1cTFyd3J1QmZNMmlkNkdfU1FMT1dkR3NQOWdIUEsxV0FYZTQ3LW1qWXBkbGhiaGFNTjFVaVJBZWxORVR1al8zaDl5Wjl1aFcxbm9TOVdJYU9WekxFVXBDZnJNTVlMLWdubkxuUXZWSkhWNjJGTUQ4V2VkUlUzelVSSzQ3VFZxTGtzY2RoYmxNZUJHUWhJV0R4aEFuSzNHcUFOR25ZM3Bnb1p6QzRTdHVfWmNNS2tsMVZ0bnZiZUZoTExHMnpmMFQ0QTM1Q29ZVHV3TnV0LUNVS0prOW5mZ0x5YXZWNVJGclg1cFJTV3lGS0dUNzY4Rk82MmhBY3pCZDhVeVdwdVJvNGhZZkZjOUI4dUNKZ21JSF9KWXhRVlgwMjh1akdyYm04cjVFa01GNHMyN0RZWmkwRTVCMkZGczNLOEsyQTJxM0l0R3ZKWXdkc2c1Q0g3eGVhelZGNmtjTW5vU3ZvM0c2MVp2WU1lOE1wQ0c0ekMxekdTeDdHSnpjRkxyUG9OcWVnTzhob1p5YzJOSzc1elBFWUN1TTkzcTB1Q01QYTlQbmxPV2tLZzVzX3RLTVZiQV9sMEd2eHdla3hVUlRKSzBXbjRxc0diLXRqb3lmdDd0MmxzcG9LMnprWEtPRGFSUlZfUXhicmJxYlFzSXpGLXIwNnB6c1JRSExGTlR4WUJBX3Yyc1BBSXFkSGowdEpLcUs3UG5XMkk3ZW5BNE5UM1NaOVp6WkdCY3Jua3R5Mm1fQVYyQTNWaHRlRk43X0I4VUVnYXhKenNLNVZkQnhGLUJDNFZlSkdvMXRLcXJ0WktQX0dqQk1NTGxiNlhZOEVoS3BQT1M0a2RIQnNsVFdPLWNwZzhnNDZxRnpmRDdqOE5IUTF4UkJqRmZ3ZnI5ZjB0YjhZckNHek9RNWMwQjdGQUxDSk5LSUZnc3JWallkT2Q5b1l1QTV0YlpmdlJBdDJHTllfLVRId0xyMHBZYWQzY21XTU5VUFBjd2R3cjRqNkI1Qks5amJRX2d0UldGcUF3SHVCaHRCbklpajF1UFRPNDZlRmttUXZWT1E2dll6M015M1djak5Lbnl2X1dmdGdHVFJIdnM5RXlfblFMZ2ViV2dUSGI3S3VsVjhKN2dFWTBOOERob3Vsb0dVTXFsaVh0bjZqYWV0VWVSQmFoT2hUbkkxWGVaNGZzdGdpbHc3dnhEeFI1dTVXcEdHQWtHMi1kc281b045QVVEcHh2dlh4Wld3S0g3NkNvcUZqbmJIQTBXVlh5R0hENEw2SVlrQThkWHhncFltOUU5OFM3YjRnaTEycTB6TWVMR2Y3dktJRG1ObWpvRVZoWEtGS1BOXzM0RjBMeE1NVWtfMW5BM3lxb2FXbUd6UlNWV3EtLXloa05QendNSDF4WDJrQ1p5b1hsZ25kSzh6dzVkSXBza2RsZkhuU1piMVpEdjZtTWhQbklLMWhhblJZb1NzS1ZtZG9wRUhtODdDVFVpWUVydHlPSDdmU2FpalR3M1dUUnY0N21VcUdvdTBXdUNIZlJlVXMxMFYtblJpYWNoSVBqLTV2U1NNS0NTcFdscWJ1Q1V2RDlsdnktRVNubEw0T19abEVRckRnNVRTSUxZNU44WGw5cVM0eDREd05DR1ZiSnZJMUJfeE5CTkJmRFVmcVF2UXk3UlU3d1ZhSHFLelIyM0h1eThzQU8xV0JXMGpCdW1RSjI3NUpHZldTVngtRjFhXzhIWkcwR1ZLczAySXFGdDRTOWRyMENPNXRHMmsxTnNzTXVrWXl0YnRzcXJJdGxzblRRVjdiTUhFZ1pGSWJ6TGpBd3lhUWM4NWQwSXhsQmJibUJZZUhkWnRubGRkdGs5QnZ5NHNqckRnSVZlQWVwdVZxRjNONklrcXVJM1UtZ2p3S0FjQTNKMVJkZENEeXJMVTJhakZGOVdhU0FuYWlOcXJ1R3o3WVY5SDFiaWlkWFJiSFBoRXNFNDNLMkpoX2ljOVBoTFUzdlBXbGNRODV1R3RrWkxRTTNlbUF1RzJLR1NGQTcxd1pyb1hocVRIQUxKNWpLTElhQ0Rld2hfTHBOTHNjM3RVS0xOMDRaVjJHSDhTdFl1N3ZlOUE2QXlTcmhUZjFKRGV5aWdael9kU1ktQXNpaGszRDFjSTN4Rmh5LUdsZTNWQ3ZPRjFSTFFfZHh2NjV2bldTWkdBeHRNdXFHV2VNTnVZY09saXplRGZnNFVuM2RPN1VpdDhpb1R4dU1WMndyRVNPVXpRdThpb0d6TzNpV3RXWWxfMll0LTF1eGZVRjVMSF9EOW9pazFpQTJ3RE9ydnFJemhBczJGakxMQmhqS3BIcWViODJTZ2J3elJRbzJFQmZuenJiMzBWNmtPTjUzOEJkanRCS0hvYUdJSnhLUnNnRjZzUkkxQy1uSVR4NWFZeVhJMExDU0JBRWU5eUpUWkxVV2tqT3AtX3pSSnZfR3dkTnhTWnZMSEdkcFlWT3ByMTF6OFU0azhYTE1xSnRhWXAtZk1CcVh4eWJMZDNxaE1kX1B2V0dNdlJHYm9pd3F3cnYtWllwbHU5Y1I1a1RvZmlHY1I1SFpaWXhTcjN1ZVVubXpjY0kyRUJNQVFqc3UyLWthU2NLMnNWang2emNUaHU0UFBxSXpELVpzdDlRbGpqVGEtZW5kU1ktby1NUjFvbDdkNjR4eTViVzM3Q0NOcHJYX0Zud3djaEhCMXVHUzNLbEx3UUxkV0NlX3dPYjY3NDNNSHFZamExNm4zdW9UZFF0TVFIUkt6N09kaWl2TDF0NGJQdFVrZVFfZkpsRGpDbjJTRGpRelBUWWY4SlY0eFpkTFZlcEE3V0NaNHUyWXNyUFBKUk1SdU51M1VNWUVxYjVhX2lzdXJJYzJNRDUzYVJpZHlxODBSN1lkaVRIMV9oZDRfR3pEWTd1UDBqSm51RHV0SUNNUkJLNTlqejIxWWpydy1ycGdnNFFrRlQ2Sm1CbnFSS20tWC1YTlNDMFdLeFJGcjRmQlFLVXA3bEFfRDlIVWdzdjlPUE9RREF5V2ZVMzdja2ZfWEFNNERiYVJZTkZrdEk5enUzazhWUk1NRE9PdVJPdTM0WHBhU2VUaVg0Z1ZtdHp1bDkzUnd2VUplMDBBT0FyQU53ZmpKRUZHSU5fN1ZxMWVHTmhsWlMwSkZBaXY0OGJzU3cwTTB0eWpmVGMtZlJrMWh1UUx4cC1HOURyMHg0V2ZaWC16dVgzaUx5VnRsdkIzNHo3eXcxSTU4aklTeFdMZlczRXR5T0xod0RKb2pYTHJpeU5fWnJRQ21BS0tfZ19NU2hvY0FLMlo3S0wzSy1ETGw2NnFLR3RwV0FkS0JnNWxsWS1YUXJjWnF2MGlkbWlaSndqZ2kyZFg3VmVmVUw2cld4TkQyM05Vb1U3QUVVempzdThKMHF2ZmQtU3h3SHpseFpLYUo4NTV0aTdTS2RUNThUY19MTFN4UDFXUXAyaENOdkJ2MDJQNlJ6VUR0LUNSSVZOWWpUYzFaVXNSTzByRExTMERmNmxkekZWeHFaUnh6eTlpQ2ZhczRFVndMNW84WHJVbmh0elFLamNUY090bjVyWjh5OHZidUhGWkdyZlMzRG5vemNuc2dRekVwWGw5X0cwRlYwRFY3bGN6TWlEajk1eGh3cnJtbmttdlY4VktZOFFTSkQzbklYOTlCZ05LWldyNmdWWm92RHYxUmpBd2JiSlJOcnJDYS16R3JoRW9WX0pPUGRITC1OZlNsNjA0TnhvR1NIR3RtekNCUktQYjdHNUJfWFVsUGE0NEZReXgtSk03RmlxbE45Q3lJckpkZVRXcWtjalFEWk9Mb0M0UFB0Y3ZDZldCOFZ3N3VCN1Rfbmx5emlFZk9zVkd5S1VUMGE1Tm9BdkZpNVJGSE9Xalg2bkJDWUZOaHhUWVVkU0R2RFRhOWlYN1Zyd3NNaVRvMGxCbzJQMm9OQng5Q0M0ajNVaTVOV180eDJNdWlKSEtqc3dXa2d1cDhxd3pyeTlxYU1fSDFFdXZVZWl0X09kRTN6MFV4N3RkT0QyM0lqZFVuTnZ5eGROMTVYcGU0Q2lReGJMU25kME9KQnpoWHZ2V2ZyQlVnZmttMkYxVjc1V1J4Y0h4NmFrX1Axay1oa3ZGb3dGZnEtZUR1cEU4aHM1NFdGZFFBSmpYczV3MzdkWXZNUXh2WXdKa0VwTDNiN3ZkRHdJWWNqRlg5SWctMmJJVTZJNnNKX1pwYlNONlpjbG4yaE5tblg0WmVZNHVQRTAxVVJlNm03R205QWZwRTJhS2lPMS1pVm56SkdBOElKUHh1NXp0WkxtWUNPaG85Nk50V1VzR1E4MEpTbmgwWXVELThZclhmWnBLSjJmRGFPODZ4NVB0NWN5UVJYc3h0ZTBPUjhGMDd5Tm1nclNIZ2NGMEJGTG5fd2xXbGJUd2tiRHk1ZWRhcWVFMFdZdEY1Mnl1Zjd1MnZvZXhZckEuRFVIdHJDMk1iVVhUZ05XTTZZdlppMkdIVkpMenJsY2dVVXF2RXBrNkpCYyIsInRhZyI6Imttc3BfZW5jbGF2ZV9iYWNrdXAifV0sImtkZiI6InNwMTA4X2tkZiJ9LCJTaGFyZWRLZXlzIjp7ImVuY19zaGFyZXMiOlt7ImVuY19rZXkiOiJleUpoYkdjaU9pSlNVMEV0VDBGRlVDMHlOVFlpTENKbGJtTWlPaUpCTWpVMlEwSkRMVWhUTlRFeUlpd2lhMmxrSWpvaWJtOTBJSFZ6WldRaWZRLk0tQXhHUVlKNlVDQ0xtZVhwOWdTUjJFVTFsbktMRXEyZjFWd01uT0pXaWFMRGJIZ01sX20tRlZ1X1hsNEdNczM2T056YTFJZ3FEM19aQ2h4dmJUSzRtb2JnczlyQzBWR0tYeDdHN3FkbTdNbDhFVGZCampMTVl3ZElReUdyeVREWVdYZW5UdEFacVpJNnc1NmZhX1REMmhzejNGQ2NkLVBmdExYZm04aDFMaFlHZVlfUVlqMzBPeVhlV29FZ1ZndzYtQ2d1RGlhNUdxWjhISl85S0Z4ZVZPQl9zQkt1QjdWWmdpRjN5LVVkQ1FNV0JSSkhITU5mTWs0QTV1bU81aWFRbzFVN3pDekRDVGpodjBVX1U5U2ZOdHFFUFdkbFZxanYwdXpaNXJOSUdxQjI0cE5NT0V5dU8ySDZWTi10R0xkX1pLNlNHUmNPc09BVlllazN1WjZyejhiekFZRVVYLXlXNFBUUWV2Ujg2WlJzc3BIdXRjYldaNi0ySG5YUV9UUTBJNFMtcTJIVUVUNEE1QWk2cy1NQkFLeDQ5eFV4c1VDUmxQTHFnUGUwRERlaDJmOVVpQnRGQy1pazA4ZXBYa2xHVnJqVWFXLTU2RUU1b1R3WWN1bVpNMy1nUHdPV3JUN1luRThWd3BveEt1Z3Bua01YNENJZWpOWTlCRzVlcGxfc0VfLTRpMWRpaWprdDR6UUtDNHVTOWhDMXRSdVdfYW5wZHBpd3VYUFVOaWRNX2VpWDVRVWVNT256cVFjLWtxcmdRR1dUYVp6S2lyZGNQOHpsTzdYQnZWaW1Rc2V3dVVJZnVfRVpMQ010WVdLZEVLTk5Kb19LTTB5bm9qZ04zcmxia1N5ZWRTcE4wVXVnTjdPd3o2YmZXM2xSNHdKajhOclo0bzM5cjBLVDhZLnZjYWFxQ2RMM0U2U2wyRkpVeFZNdVEubXFTa3RpZ3pYbkZpTkhoUTBXQ1RheEtBODFYWlpFU1A4QnNuMlhTSFlzRnpOOXZOdHFRN052d2I3RFItSnJzaVRRRWxZb0NSanFyemZCQm5EbC1Vd2g5QS1LanBzUFJKcXRHd2dSWW9vRlUueW1ObTVRWlJxeWdadjdoQ1dmQUJpNF9KRHI2dmdQNVFNQmpoMEd2WDlMOCIsIng1dF8yNTYiOiI3ODd2MUR0V3E0OU03bzB6dlRRbmp0V3gzdmNTc2xZZzBxYnoxdlJUa080In0seyJlbmNfa2V5IjoiZXlKaGJHY2lPaUpTVTBFdFQwRkZVQzB5TlRZaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2libTkwSUhWelpXUWlmUS5ndUFieGdOUmNDcXJNOUF3TnJEOWR2VnFBcUYwSUVuUjBTbWZGR1Q3T2hpUDhZdVVKbFd2OUt1MmVva05GLVZrbUZuZkdfMWlIVVZoYUxNNEN3X0RBRjQ1YnVtMlBCc29qcEYxY1FNTDJPR3NyZ0xnZG1sMWNtbEpKaXh3UGk2Y29TVTgxMGFrdTdpalVVU0xDSmlSaHJvQnpmVm1PS0lqQ0duaGVEcl9pdVdwN1NaUkRsejYzaFMyVGh1bXZ0LS1TVzU2TGxSeHpLelJaeFliOUctWTBvYXF4UkhsMThLSWp6MGZNeEswS2ROMk5LQTdWaDZEUnlRR3BvRUFZTjRtYkxJbDgwb3A5VlFCUE1uVE1KRnRHY1pQV0JvNlVDQk9HRTN6eWUyRGEyakZnTGtnOV9xRV81MXY4RGllZUJYY2FGTFlzV3lxbTZRLXJnczFxNlozVktEZkNONFNDNllvSFBsd0xCMkIwOTJDdzNkM0kwVm52eUtTdndmMEdtNW9zUG9tbm1SN0NXa20ySGVUMEFJbFJoUG41Y1V1T3ZjV1BhNFFtbEdyRG5sZ2RTOVRqSmdjVFhQdEVLU2ljWmtYdFhtdUtNUHVNbmNSVFNOVHI0WGZ3aUJtNEFtMjJKd1FtN0xPS1M5X2cxNi1DMDFTcFh5UDQtNkZSV3NZMWczMFVjZkxPS1pjRWVtUTVSVGRDWkJRU3dQMTZEZ05PLXluM2JTUVl2ZGFUYm5qV0pVSjEyTWppMXMwckxMdDFkOE5GbS1XRVVXdUFZd1B5YlJLa2JBRXdFajR0MjhyRmZHaFZBdmc0R3otSHh3OHFLLUhuSkNwWVFtTXFqT0hpaUN1OWNVUUYyeXBmTGxEVU9SUlpYd1Bobnc5NUNWV3JPcmhWWENIVWk5bUwtdy55dFVSMjVSVjg5WFNjR1JtSW83MWxBLl9TWGs1bzF5Wldpdk5NbGVIYl85Z21NeWZuNjZwTFdyLUxhbVZ0VmhjNHFZZlg1RFFiSjFoalVXYmVtcHZRc2hHVUxqX08xMkpKbU9tblZLRGYwR05FbnJGOUlFRlRpbzJPZy1TeHNKdTQ0LmYtRnlTYVg0Y3pnSGM5X3haalAyeEdibDl4bnRvMzBNMDU3VnRCaHNrLUkiLCJ4NXRfMjU2IjoibmhHaVdaM3NEdWdBS1pObnBVNGY5MHdYbFpRTTAzR1Y2UGZzYk5MczhObyJ9LHsiZW5jX2tleSI6ImV5SmhiR2NpT2lKU1UwRXRUMEZGVUMweU5UWWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pYm05MElIVnpaV1FpZlEuZXRadTJjek9zVTBBZWRRSWdnamxsNFZIWk40SFlXc1FpZG9EdUx0VVlSMlUxWnBLU3RYSjUtUjduUm1Mdk1USVZVQ0pWcU0yTkZxNjB6cjZMZUc1VXNPY0ZGal9MQzgyMlRyMEJJa1BaZnRWZ1gzUnJHTmJzcmNKWGtxcW9fa05WNDM3Tl81VlgwVE5ldFZURk13RDM4Q3FXX0otQkUwd1JKQ21FTVk4QlpvckROc0dOTnVhUlg1bDdod0NRX1RtN1NKRVhlNGR1alJXVEVEWXM5dXdMelgxcFplcVRFa0NfZTl0TVd1Q2ZDZlo4Q1JyQ25oQ3oyemJ2bUQxSldaVVlRc253a3I1LWxtZnQwUm9UczF2cGVQbGtIdjl3UkplYkp3U29KUWJjQ3JPMlJRRE9od1BCNkdXbk1WTTY1WnU5MVh5V3RQNFdjUHFvak5wdDZHSEZPdmEzX3RTaG1LV3RYNXhhM0dzUUVJaTNCSTdGOVdMNEJ1NkhqclFkMDVjcHZVcm80X2hUeURiWUtET0g5NFlPVi1qUXg1Sl9RUXJWVnJDbFJZd0Y0ZjMzcFItTzJJbnh1N1UzZGJNLVFQNDlLYUo3Y2g4MkpmOTRxY2N0dGJoVGpxNG5TdzVNV2VjbkNQZjRIa1JjdWw5RGtJZEVwY0RIMmRaVXFkV0JHYjFuRWNldlc0NDBUbFJuNkcwVHhqSzBaX2dpekx4dXVsZklPUTEySEpNdlBjWXd3OV8tMWdGZWdUdDgzb3N5OEJmVjNwNDA3eFpXRVROUFR5ZWNMNTV2enRKUjJjUjZLWmRlTkdsNlpENTgwNmVPYzlaUGIwS1Fnb2I3MkRVM05mODJidDN1cFB0LXEwaFNuZzNIWHpUZUhWYlFRV01NWmxBcEN2aHdpWml0SGcuY2c0d2tyQ0p1YzVBbmJaY2lQWVhDUS5YOW1Hc0QxdWJSU0lFUzBiclJiOWhQU0xaY2tTaGNkbmtBRzE3MTFpcnpmcmlEMWZwS1pna1RwQzZfQ2daTnBiU2JHT3psQTZkZ2pReXpxM0dFN1JGa0MxRzh4cW9DZE8xTVp1MUVsQzdXMC40dUZFdEFSUktzVHdxWUtjRDRTNm1HQ2JNZmhxeU9xd1VHdFpPMWtYNExjIiwieDV0XzI1NiI6IndkOUVyWmhYUVppeHB3TTZPLUVCOWNLQWlBaVM3YVdnUkdkQWtNMU0yNzAifV0sImtleV9hbGdvcml0aG0iOiJzaGFtaXJfc2hhcmUiLCJyZXF1aXJlZCI6Mn0sInZlcnNpb24iOjJ9" diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomainoperationstatus-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomainoperationstatus-example.json index a42ad06981b7..78cb9eada74f 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomainoperationstatus-example.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomainoperationstatus-example.json @@ -1,6 +1,6 @@ { "parameters": { - "vaultBaseUrl": "https://myvault.vault.azure.net/", + "vaultBaseUrl": "https://myhsmvault.managedhsm.azure.net/", "api-version": "7.3-preview" }, "responses": { diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaintransferkey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaintransferkey-example.json index 429d89d917c7..3548b289c54e 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaintransferkey-example.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaintransferkey-example.json @@ -1,6 +1,6 @@ { "parameters": { - "vaultBaseUrl": "https://myvault.vault.azure.net/", + "vaultBaseUrl": "https://myhsmvault.managedhsm.azure.net/", "api-version": "7.3-preview" }, "responses": { @@ -8,7 +8,7 @@ "body": { "key_format": "jwk", "transfer_key": { - "kid": "https://myvault.vault.azure.net/transfer_key", + "kid": "https://myhsmvault.managedhsm.azure.net/transfer_key", "kty": "RSA", "key_ops": [ "encrypt" diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomainuploadoperation-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomainuploadoperation-example.json index 7ab696464ead..c36cfa311443 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomainuploadoperation-example.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomainuploadoperation-example.json @@ -1,6 +1,6 @@ { "parameters": { - "vaultBaseUrl": "https://myvault.vault.azure.net/", + "vaultBaseUrl": "https://myhsmvault.managedhsm.azure.net/", "security_domain": { "value": "eyJFbmNEYXRhIjp7ImRhdGEiOlt7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhSE50WDJKaFkydDFjQ0o5Li53dGhUcG5Dakh6d0Fvbm14SlJrcmhnLmIxU21NcjJkX2J3VUZJS0tlRnZ0Y2lvS1BiUXo3OGJyd1duclVBZE4tM0txY01FUXNtSU5FN09WZ2JLbFZ0V2tkemJmaGdrUHd1dUhtaG9QUHpJd2tHQTQwYXVLZW9OaC1EN2RWanBJd2NVcDVMNDVVVlNRWXM5elRQQnRmSnItcy0xbk1DNEhwZnpXRHNhZUxUTzhfcGRtNGxISi1lN3dGeTE3NVJQMDRZR0xPZlVEaVBTaUZXTzVQd3djQjRsSUx1ZXI4cmgyaGYtSFN1M3lnYW02N3VGdjc1WTAtU0gxN1F3VHpwbkRtXzZUbzNaUWZIRHp3WUprQjlWYmRvaHVMcWl4QUY2MS14UjVvXzc3MUdtOHlkZHF1Ri1qV2ppUjAwNWZBSnFLb1UyM3lmYXhZdmROaFdNQVUwU3RfTG5HTnYxaXRQYVg3cXV2aWkzOFlhbjd3TU9VZGg4TW5VS19rN1hhSU96VTJfUFVWVll2R2RNcXFlaVRNLXBrekFxZC02LU5vZ3llc000NzdXdnBNa0F2STZLS2xvRkJKQzRfUlFYYUxITHZwMnAxTlM0NUZLNTEzb1JJeHROd3AtM3JUME5FU2RTbnZfb3ZCeDhFVGpZdF9Mcm1RNHplb2pqRFVLZC1EWmxQcFlGUVAwZWFfNmpSckpsZ3lvVC16czhWTEFFREdoX1lmZDRydHNENVhFZGVMZ0IyMEF2NWlLRk1jcHhtTVVSakRJQTZES1hNUXFIa1RLam1pQmU2aHROZ2FNNjE3S2FYclRuWjE5Ui0zWlIxbGs4UmhoQm5yZ0NBamlWd1lVcE8xUGl0ZDY2bl82VFlTVTJ5eFkxMkxoZ0V3Z1hxR2pzOGJIVEtGYnZVVmxKQTduV1RSN2hTUHpTZDJjanlBaUNDR1ZEUjQ4VjBTY1FBVXFLTGVFZUl5NzhueXJQSE9kXzk3dGtGSXBsdmhncnBkdXRISUNyakQ3T1BMWVJ6UGpFQlJxUFFzQm1RSzl2V1NDNDk5ZGFITzRJOUtRTG9mVTc1VmhOOGt0NlV4aGZFVF95eURfSGM0UGJLZkc5TG1hYUlxVGVtVWZCVnU5REx4RXJLbzhLVC1RX1dFRi1LOEZFbXhZdUFKWEgyMktrTWxfSGFva280NlRCV0FPcTduLW8zaHRpbVBlUmxuSkZxa0lqbTBIc3UzWEJETkdpMEFZZGtpakE0QzgtOFVwNk9ZSWVDZnZOeVEzYVllcmhJVGpHR1puMnJ5SEZCRnR3WVIwbkJCc0ZfMFo4SkR6NTlvTEtlMThheVlvaUp1UHNTdWp4VHFNeF8yNG44WndQTnB6LVhYLXBEVWpkSUZvVS1FSXV0UWxnT3dqUmVKZ3I3WF8yUks5cVBfT25ERkRNUnZzUU5oS1pIWklhREdVdEROd2JxMmNHQzBNRElpeDgzR2RIS29kbGJqNkJ6VXEtUXFXT1dSdUtiQ1NnTFdULVdSdnNzUXlONnhIYXRHb1VSMUVMcVpPejJUZmw0cm5Ka2QtSTlRTE15c01zbVFiZldlTXBJWXA3M29STGxVNm9iRnNkM2JNNnVGeGFGcDUzT0pDamNGUUNlLWM4X0xEMWk2dWhFeFNZenNSYjhLR2cyX0dpMFNCSkcwdjBSb205X3oyVklScER5MFdyZmhnLV9YRjZUdFNtZkhoYWpRVzVqTC1xMnNmQkNlcVI5M3FXYUt1TFJQS0RfSm4zWElJR1R4UklDMzRETTlfbXprRTE2SUZDa0dnN3FEMmZCZ2EwNHA2c1hrdlEtUkdYVFhKZGlOd3NpVW1RUFR3Ql9LSVA2OFRNQWdSTWpBMEFJMjZOSmZ0b2Z4eng2X0w2VTU1SDZELVZ1UjdDOWsyR2lWa2Y0VnU0Q2p4WTI5TWdwUERlaHdScjVVMXRBUFU3Wi1nVU9Eb0NTcGRINVRjY1NROGtKb3FEby04SWRKMjlYa0NEUTdDX3U2aTFVVF9feUhLbjFwSUxocnBxZm5lb081SE5sNEJTbjJ5cEdFZUpfYldCNl9GMU4tYXBoVDNjRmpQWjVnb0tfM3ZPVWw4N0gtSjMxNnhpUGRiZGhiM3ZkSTVkQ3daekhzOEZwbFpVaXJGNGlsRHM4bklrRGs0cXdIZGZvQ2VWTlgtWE1neUFOUTlKZTQxOHJEZkprZF82OWFiSzB6MXlKcmg4ZHhNajFHSnc2N2FzZHZ1XzV1elZPcjBldE95WDUzUVMtUkhLeEs4RWZUZ0U2SThwVjBTQ1hRYkg5S2lNd1dYcm45cjk0QzFhZ3dJLUZ1b0JlNFl4eHo4OFc2RUdvUzJMMmkwWTM0LWFjWVJxSTl5M3l2aVJ3T29Ub2NnUmF3NDFUU3ZROE5zUzBPQUlyY1JzMlJfMWhOeFlObFAyUm04VktPcldEcjQ1MHNJRC13elYzUmJxenJLcVJnbmxBOEFKcnVCa1FPbTQzVUFIVnBDY1pvVGtUMVYxYi1Weml3bUQzV0hHZFFnM216RVItdmlGR0RJLWJKX09NN1JWdlFwT21xQVFBWTFvQ3ljOWh0cUZKSUlhYTdibzEtQ1lqcDNTd0ItYnBsTjhuWDhHVWFUbkNFbVM1N1VTbDMxUGVpNkszeXJmUWVJWl84Q2RSdngtZzUya2E5NU1nRmZGcUFOdFNQUzhXbTJQSm55aDlxYTliTVhzSmI5RmVYUnFZSlV2OGxfc2VkVWJEWFRBS3BGWl9hWVI3VUpLa0xWejNiNEcxQWptcFJQQXdzd01TWDJtUkFzcGt4Z2ZrdV94QjRyaDBuX2t4NDQ3Q2pYa1VjSncxNlpBVHI1Nk92THZCNmZoRXNqejhVWGRyNTJHQ1R2MzluUjBsUGVLQzlZcC1GTGZHaXNNTVk3TEM4WHNFU3ZhWVU0NnZGZzJGVUhjYmgyM19xbENiWldPWm9vd1FrSnFJM2VCU2s1Rkc3ZXVPOERLS2tBU2N3dkFmc3cxM0VCTHJ2djhLem5mMndRbFN1VFVEMjdWaEt3Mk55SUtuUTJkeTN5d0NtT0EyRnNBdkRwUWpybXNITjVmVDVTLWlTRjRyZTBrMFU1VzVJUVg2RzNJMlBDWFJDOHJnZFA3SjFNOHEwVGtOZE0yRUVqdzBtbWpkaVM2RFUzbWMtUDVya0hEdTh0anpPYktESE5MbTJfa0NoQWFqTXNtcUlDMzFiOUxvTUg0c2xYbUNjUDhQTXF6M1c4TXB0V2NGSHFLT3pDeDJTWmlVRkdaN2h2a1c0dWFyczFDMG95ekFJYTA3eDF5aWZxSFUtbW1Mai1FTEp1Y0xkZ1VOSkJjeGFuVFNSc3VpRjhnNU5iUFBIdDVHdEtiUC1SdmlQd2V2cHdjbjdrVU9RUDNRUnpiUjlLdUpFZ0JTdGFndU1GMlNwVjRDNlJNZ2E1RlB6UDRVajdtNmdDMk9WSjB4RG95ZEdYSnJPa2NiRlhHQnRfXzFHSG1uWUw1cVhVbGJBT3F4RS03ZmJiem91OGhpSi1IeFBTY1lfUHJwOG9ZUUZ0Q29sSkhMZFFHaHBUT1hKd19lU0phRU5jaGczbDVFNkxCNVU5TFlkeTRmSnh0ekY4dDdHenR4Z1BlMnFLN0xBTkRVZXNxZUJEMzJTVEd6cVhzVG43UWNlcEEwcjBzTnlyaXFuSERTYk9vXzNTdDNKbkJzdlNselRiWWFuZEozY1pJN1c2RWsxQlZLeGhVNUQtRGNJb1R2cWNvN0t0WW1pS29FT1hjbG9jQkZLTFhPWENhMVhvUUZsUnRCdGNUQW9LTDNZSmZTS0ZwRUw4VVc3bnZlcTlfcXZ2UFRtMmpUUW96UHAtYjhNZFJDZjFVc3RId1JxeDcyVXNxcDBKbnhTVERaRi10Sm1zdlZHYkJHcVIzZmNmT1lGaExZN3c0UDYxVS01U2NUMWpxaGhnOVVQbDdJVFFBMTlJRHJkWHZrSEotSkZsVXRoVHY2YnNaT3FuMmNNaURjdUdTY3BLckgxMHRnZmZ2cWxSZWcxLVlJTGJMLXJ4eDk0ZER2R3RkXzV2eWNBZjFiY2Qwd3RaRzdLaWg4OVhZaS1xVjZVc0stYWZyT2V4VG9pX1Y5clNPMmZ4RG9GQ0JoV2dUc3RMc1pIQUN4VU82SzZzbFFwbVBpRTFKNldXdjIzYnZORF84Q3dwM004UURsay1TUWlsNEJUZnFjeVdzRHN0Y05tRnJGVkJBMWdGdFdGVWh4cTlHQVUyQ2o1bWtWM2REekgwM3FYLWI2cGdpSlE1SFFWRmw1SkV2bTFLQWd2ajJQRGFwNmhyd3NXZVBIanhjMXNwQ0dJcnA2Sk91LVZQMm84Mk5hWXY0S1UxUkFRai1mdXYtVFhfaG4zSG9Md2lDa2NRaEdpWWpWRjJvVEdDTEhkLV9rVEFRRjZDZ2hDRjlQVXFmdVNaSFlfRW94MG1NdlBZRDB6NURZMFhISUY4UzQ4cExOUE9seUJRZ3pSNU84c0VHZk5BOVM0cnJwVVdJQmpETnpyVGlZMjVqV3V0czNIaHhVUU53X0c1dFFqLS1hVTlCcUItZkg0TVVKNm9HM1lDSHpkcUVBd05MclVWQkF3M2s4NFhkZ0xjVnFhVzJBSUpxMTBLQ1NQdUxOY3ZURHM2WEhXS3kyTHd0UTRHdUN6REhCQWliT19vV0hQcjZyaERKVWcyZTV2aGV0cVBlejV1M0oxeFN0VDhyYUIyT3ZOYk9ob05BYmNwMDRQbGJ3UHJpZ0FFQ0dTMVQ4ODVaTjdqYjlEd1FOckxwWU9Db0lQRGNlaVhuYXg1al9UNmF4LUhadF9jQTAya1JZMFNBSEJITkZOQXE4eUxIdkh1MmJxQkpiUmZ4cEo5TkZmeFF6ZEoyYlpSNmJHOG54dVNUSmVqeXVRdlJaNzBOZUZqR05FaERFQ3JTNUoySTBBVFBaMDVPTE1OUU53NnZERGJBSmR5NV9WT2F6c3BhLWoxM3dwVVJuSDBzWlBJd1YwVWpSdHRjUTVHNzRNLXctZXppNUk2dkdZOTlyUHhZZkZRMlVITnJzTV9COVVxTlZXZk1qcjFRM2Z5cWxuZ2IwUmF6WHRoX2FjLVJiOFBtV3FBYnBvV3N6cXctZnFDQ0otb0drWkwtLXhOeGFjdjBfWDh4QjlYT21NajgyWGFKdkhNVmJpdWZwUUNsWnBPS0E2QmtjQlhqSVM0LTkwWDVneXlhTVd3bHozcEdud1UxSFZNRHBNeVBJN1VKYUZtdkRQcFU2WlhZZXZWRUZEMzg2NVBKeEZDZnBfdVhoWVBqMEFZLVRNRWpPZlIzUEktMjJ4bDl0REEzOUNuMlhzeDNrQ2c1Vkhlb01BbWZsM3YtaWZxUWxnZ0YyVS1uNEJXXzA0QlpOb1F5Y0ZQdnA0Q0Y1c21MVXUwSmVsN3BuMFF4OFQ4cjRLaEVRdWRoUk13RTJtWlc4TEZTeVdobXFzRDRXNVRDYi1QVTBQZXNHMDdFMXJLYkdFV2NaWi0xek5pam1SWUpxUHdZSWRnUmdhMV8wZktCNFcxZEVRNnE5elRESnl6YTNTS0M3TVhhbjR6d2F5aGM0aTc5Ty1NM3JPSUIzT0lJUFc2RjY1MTM1WXlUVVpETGJqZUJPOGZ2NlJCQU9MR0xqXzgyc2hPQUFrRXNJcThPSnVHTWNiMEZUVXVqYUNHQURaLW85RWNhWDdMMm4xanJBNVVEaFNaV2xhQ0JfZ2pFTzhDTTdJV2xYMnVRYTVJOVg4ZDd5VE9TZFZWX0ZDbk5zcjRUdWNvcWNZalpDd1VmaUpSLXJfYWxKbVluVE5RMFphOGt5ZVRWZWZYTDkyNnFyQ1FqSUcxV29BV2FtYkRNUHV6QkJNZG5sWVNyaXMyV2VyU3hFX3RjeTE3djdvaU9Xbm05TGFVam5ob0VXVTlTTjBBSEJ1Mmhsa2dHOGM0TzhHMmo2eEd0QUVURnJJRnk3MTNJMi03eGVCNjNFMjJqZ0FQSlFqbVV4RzZaaExFSFJBOXNHWUt5Snl6dTNmd3c0SGxFS1EzdFpXN0JTV01ueXFYOUJsVG5rZEJrSHVBTkpiLW1JcWl6UVR5ekVodTBLQU5GY2w3OFpaNzYyU0pfdERaQTRhZDhweGR6TVZoZnpvYkt2Qmo2dUlKcjFvQlpIbmp3cFJvM1Y5OXV2bElGSWZBS3NfVmlSRWl0QUdxT29GaTczYlpuWFN5RDlmZ1hYNU53Ri1mcGd5S0VlQk10anM5Ti1xYUNlRFVRYVJaWVNlc1JCOVItMUVNa2pqdHBjSWlOaGxIbGxnZ21tOWd2T2N5LXR4bXRZcTZYRTgwQ3NQN05vSWZIZ3JYSTVwcURnWGtESjB3SWJxRHV3aFF4NWNmQVpFV3FuUDVPSkJURm5BbEUzSWpqdEFnMXRVNi1taUt5c29HNG05VlZUejNGNnh2V0N0aXFZeFVFX01tdy03UXBwcjdQdEV3d3B1ZUNoczZGQ1MwSXY0YTlQUF9Iei16QUt0Zm11Tjg4emhyY3hjcVhJNFRqeHpLenQ0NDk1RW5MLWVqR1ZUR3Q2OG1fMjYwUklIa0wzamlQLVd4NlJaRkVFb1RhMFo3TTBIdnhkb3JORVVsYXFqaDFXRmRKVFV3dG40SmJpeVJFTGthZUNMTEYtdlF4dkVwVmg4M29udUtZakVFV19CUXdrbW9ITG00MlYtZTJ3eVR4Rmt4eWpBNnJFQmk4anh2V0RYeWtySVVYbjRKRXZyS0MyWmZuZklBNUJGR3B5aU5MbU0zSVkxNHhKQ3VRY1g2aFVwajVWMVpfbllBLW1mTFJ5V2Y4MkIzZEVOdzBUZFY5QTU5T2NmUlRlamx3WVdDSEhxcFpPTXJQXzZtUjJmSTlIVGhIVjM1UXhIMS03eWJ5SEN5YTF1dzhhNGdPMkpXWjFqY1dTWDZndm5UTThRazh4bjdGcnFnaWdhYTJ4Y2RiUlhlbHlocUZUX3gtSUlSQUFNbEJLZW94cnZXaTRQQTZDc3BxSzJBSjk0ZVFEeHRjZi11ajQxek8xajJnQTJiNGdicGh1dlBHZUVDUTVJUDJzNzhYczY0SlVPVmpIZUxJdVBQM0laaUZsWGt0cl9SZ3BwTzZZS3FGTXFMNEZlUExHbWVDQTZfczBfdEhtNzJscmFFSzlmWnpfalBwRWYtQ1YwMlZLN2hmM3BIdlBTcmJlZmtMdXJaSXJmOXJrLS1LbWFmdGQtQXhfdzU2clJXLVprdGZJd043ck52bXVPQlZRaVRyZ3o5TC1PeDhVbTFSejRMS3hzRWpKZU5XcE1JWW1ENlN3a01vNVE2bnpLS2tZeVBvbjIxTVVqTTliU0tTUm1MVUVMeEhKN1RYV0l1UmVZRkIxb2l3eVR6OHdZdmtMSUJlNUE0U2ZfVTZPNGh1ZmVXLXJ1c2NDSWtqNmhudXNWSjh1dmpibTRndlBPZC1fRHh5aDJmLVBiZVQyWUg2QXFsQlRZbGZhQV9STXJpRWpFc0ZWamRsYmxVZVVWamxQT3MyVEhIS1U0aUxRSm9yeUV1UFBucGE1dFVJRW15dHBtSjZ5c29adzd3UkFBbkxfTjNGVi1nemtkOFdXejZSbldrdUhWVG5PWE1GUWQ4UlRQNzI2S1otMzJHdGxHRmZKUE1pdUZoOHBKOUl1VkFnTHBoY0VNeGxYbWc3RUViUnVEZ0otbXVqRkdRZWlpTHVLSUpqRFd6dFlnOE1LbTA1M0gzT1AxQldxc1o1bHotZnRSeHZtQm5vOFFDVjYzTXltajhmUHBKMHgwYTc0OEhydVhLTGhSY213SVoyZjJqRExqNGw0a04xbDdmUlI1YmlIMzZHRm01OENLQURqOXlGQ2hBckdmNzNjSkkwX3VCU2l1UHFBMTJRdmNxeF9IVjkwXzdUN2tyR2diTVlkZ1Iwem4xcjN5LVJkek9VVnV1QXphWm9ISmFZVXBEY3E3dVk0ajVrUXJ2WmZtY1V2ZV9iclFDSkNKenJaTkVNY2xtRTdCMjlOVm5DZDVKMDVZZVozb2s5bVlyd0dlOXZQeGZVUmxtYTllT2hFR0ZDXzV5T0dxT0wwWHY4eF9uUWxaaTNNVHF1UWJUTE9pVlY4OG9OeFdXQ1dhUkxIdkpPUzNBMmNsd0JzVFNSdV9ZMHZCQUlacXBtZXY0WXhzOFpWcXZtWUdsRjJ2bk82cm5ybWNYWHRPclFFX000TTJrbXRlenJheUpUek8tMXRhSjRWdkk3ZmplZG1tamU2eTREZmFkbjRlTnAybmVubUl1cmJFeE5mekdINnl6TFMtR3pZV1VLbGFOTXpyYjNYSGViNVBSMTNmZEJZeE81ZmZoUHUxZE9tblFiNXRtYV9pTGpkRlFkQThFUVQ5bXhnOHpDUWFjZDBNeXM0NGoxRXZiaEhzcTViRDFka0pQaXhKMmw3LXlxLU54Sm1ieVdhOEZLeEM5aHRIaEF3VHV2OVJ6akFJM0N2Y09rTnVVcVRaWi1XTFMzbFBxSVhGNjZDZnlSa0VTUXk5UXFGdjYwTld5UXl6ZUhDLU9jVUJuSFhMLVBiYVBKNFpNYTIwRDlYNW80RzdoNjYwMXo2MkJiMEx2dUVJcFg0Z1gxZ3JURU1SSW9NbHZNdDk3NkRCTDc0emJDN0VqT0hEMnpxQ20zT1dDSXREY3NBb0E2Sm5vc2lONmpTWFFEUlJhYXViUVNweXhHYWZNamlIZDlvbk5pb3dGREo5LUxsTkdOckhqNy0yT0lWTVpMMkFIMnVsYWNuNjVJa2pWU2FJdzlfNHh5X1FUOVM5c1B2R0RlZkVja1VMcnJuUi1JRHZTcVFXSXFKYm03TTQxbVhMa3hXLVR1VDM1YlcwQ3RlNUJLRFJKSExPU3lFZHZkdllfV190RnktY290SGF1VmlHZUt4U0tfa1RFeEFDVWxWT3pDcWZIMmlNXzVqdXU1RDZacVhRZlZfekpIYTVURkN0UjRyS1VkVmU2Q0tabjFFZjFDV3R4X2gxeDFLRnRMc2lIT25ER0tJUHptb1ZjcDQ1T0NJY0hjMEJPN19CTHVsUklacFpWcmNlXzFNMzdOb0pGdDkxZktxOXZ5dC00NGdfYVpRMS1ZWmZWYUlraHpxLWdjNWJUcThmN2M4U3JCdU1aaThUWU9WaXlnc0h0U3hWRHNaTFhwcWU1Yl9JWFZ1cEItQm1tRzZ6Zk0xZmFDRnNaYVc4TWNoOVBPTF9PQndNVTdCNG5TdXZ5ZTFHb19udkFvSHZmbDJWV1VnTXI3MERidE9NNjhteEExVlBSS0M1dDJJUVgyN1lRWmhyRFNaTG00OGh0cktVR0NVSjFaMmFSOVdhc0FrclRNODJ1YzdwanFvQzd6R1BhbnFGSHFLdmlzVVk5Rkp0MFZXYXd4OGxXZ2xYWlFISHNEVzZyVmpSNjFJYjJGV2ZCRURfcFUwc2x6YUNZQWl5eEtkQVdzejJfQ3hvR2l6VDhnNVd3YjIybzFad3VPZ05Kcy12SzhYWXVYdkx3UzdILTBrVlhLQkhDSG9SMkh6dnlnR21Qa2tEekpyZnJVN3hzczlIdUo1SC1SSnJacXhmLU5pbUxPWm5nemJiYWpiOUJzcGFScFRwUWwwbmF2TkpWbXNMSTJYelJwVldsWlctaTVWdUhDZkZEMjdORW9LalB6MFRiY0dQZ0NtRUdOdWo3dTRkS0t2NFdsWkxHby1WT1RsLWpkVV9aY0VGNy1vVlBZTXZqU05oVFp3WWw5TEowN2xxYkt6aGE1NE5iZUt2ZTk1c3RVVThibWFNcXd1M1dxUkltNmFiSUtfeW15el9COVRqalZpSzluU2hhWDRNektDTmpiaFk1MXB6b1lrc240akhDWTBxVDJHOVkzWnoyZlZuQ01LdU1ZV0p0Z0E3bXlZN1BQSEtycU1OWnJ0cmNvaTd2YkxkUk03MGY3aFZIemVFenhYZFIxMXBjN1F0VnVpUFlSRWx2UE5GUFBFRkJuZDZPNmpnbGxHaTRWSHoxV2tQOWJ3VUVPellQcXdoQkpvTVNpUnRrakFJd196c0lUY2R2RTFtUWxSMGx5RFJKTU9BQjRKVTdpRWcxU29QSGN2TmZibFphRDY3NUJKcFZwUkZKUk4xbUYwV3lpRUlvOHAxU2Jqa0hWUWxVcXRLZTg0clEyUGtUV0NWRnhsOVJMMzRjcHcyZjFaanVtbDFYYUZnS2ZWdTZLSnFkZnpzUHBHYW1UdGZEbTdkaFdZSUZrUjdhVzNvWUllMTVIZ0tnSDFkZmRDbjBUZVgybVM3UTFHTzJHNVlsUm1FOHJXLWp0Y21xVEM2d3hidUxHdXZiQm1GeTlzMUtyWV92Q1dXcGk4Q1hnMm1KekkxYjlKSFB4MXVvUE1MLVRfUXg2dGhnR0JEeUZpcmVPUkg4ZUhaOE9PMnR2TWk4Rkw3YnJMS3E5a3Uzdm1valplWFpZbExvRGJYTk9Jd0s0UFozaWNZVVRjWUkxWms0OVRpV21NNmR6dmVvamQ4dnpVNGZLRGVmUFZ1WXM3OG1ISG5EYkZ6eklGeHhRa2N1OWNsb2UyS3NZNHJvY01qbllad2d3eW9WSkIzUGJGNnJvZVl3VlFXNzJ4TFpMdktHa0VGQ1dKMVR2YUVRN2dHa3FJNHIzZEE0LWttUm5UQWxzT3dTZFpYZ3NlZ296RzJQUTZqZTV4SGNTUG9lNkRoUk4xbWhLNWZZR19KZGpmSl83LXVkLVo2NlMxZVQtcS1waUc2OGVfaVhMaWJHRno0WmFjZDBWVjNKN1VhMnF4ODRXX1BQQjRTZE5lQkNkYjlDb3ZXRm0xalhUcW9RRWFMQ0c1WTgyMEFTN3VvUGxJejE0R2xocWQxZHFKbmt5REl5UWllZ3JQTG9PaFdjaDMteDlmbGkwTWpiUHRzM3QtOEVDb3piVWlpeVBZcF9hZzFSZUhFbHNxUG1yQUZCMXJnVUI5SmxJMDUtTTRtaEJ5alMxX0NiejVLRHJFSkRfcFBXc0l4eUlSUnNKZWVaNE9NX2NnYlRxN2dCbEdzNGZwR0U2SUdZZzMtVkZ3Y1NXaUhwdmxWOGR4djU0aWhrTUZRVDVBbjRNVXZUM2M1YzdWODQxZzlrbUhpdjJqRElPc0ZYRDlncDNtZGpFUjRsQUNRdUdiVTlmd3Vmc25xaF9PcUdNT2x2TzNqN3VSek5XRktvdGJHZzI1Zm93MmdTbllfNTNCdHRGRFhFdGVFZDdLcGJZYm5ldS0ySF9yUVJobjJpcUNjODRrSUw1amlRVEVPdG9rT0lCQmEyYWUyY3MtRDhIVmpnV05KTHF6bDVsOVdwcVVUV2RDYVJMa3U5RGZ1YWkxenBjOEJKQkM4M00zazZOQTZMbFZpeDN0OWNqNUd2VjdHbC1QYXdidjA0ZFBhMXQwVDBjNFNxbzR5OTJ6YktIN3ZpTzA2ZjJlQWhwYkFiQ1UweEZyX19tWEtnSzJYclNlM2xZcU0yUHdBbVBBU1ZkWHNCc0p2djdfTXpHaWttWmxBSzJLYTV2UjRFeEY0Y3p3NHZvSGMxR3pfbjJpZlotWmxLRmJLTTYzdXNtTHlndHFZN0VGaDFyd0pTWnJIY0d4Mnk3V2N4SWVRY2otVG11RG9xcG9kdXNQenN2R0tQbzM5dHJSeFRuNmVOZF9lMzhNT3BNU1Q5VEtMQmhVdW80WUVaM29IU2phUnA4TEtKbjZjNUFDelREUVo4cVJVaEw2Z2R2N21FRlBpMWFTVjNTLVc1RU1YOFRTRU9oZnpDcmxfUTlGR2lYaW1KZ1dSdE1Na1JHeGNILWFsRzRYWkthdTlwcmhZcUM3SEtiNVZOQkx4OUFhemtxQVExRG5xRkdkNEdYd3luWjdXNHVBRHFfUm9BM29VN3VnQlJzVmNIeC1MNjJITU9PQWFYYnpVZWMwaWM2d2ltVXVpdmJpa3dZSnUyeGgyc09qVHA1QlZRQXFGelV1NDRYMUVpaUJxUldIWW5pNGNFazhpajk1Ynh0bTVDUjBweThzRlREUDBGcXEtWVoycUt6MndiSF94SmVpOXg3bkRxUHlhRDBEaWk2MWR2UVhramtrNGhFSGtuUWpoeUR2NGZLN1hGejBGWUxXYkwwQ05ORmdHeWJhQjJWT2FGYkJQVmdtSjRFNkJxTHdTWE1UR1dVd3g4cjZWU1puQ1l6NjRfV29HZ1BteFFDckdRWXBaWVRXNkFYb3MyWTRtQ2dNeWdDV2hKTng2a2ptbGRkdDZTeFNWdXVlS3RmWkMwNmktYzdpa0ZvM0ZYRzF0YmpwdFN3OFpMbWdWb0k4M19scTNxY29QNTNkVklZVy1GQnUySXJwYU1DZDZYNTJWUEZ1SGhKYlEzWDF0VG4zLXNxTkFvdXdWckZjMmNTbHJvSXRFOHBYdlVaRS1NQTR3QloxejRJYlpjYk4yLV80ZVM5Q0Q0c2xVSlJyQU5MdzlEd3BaSlo3T3NvZUJTWUZKeWw4SFprMWwzTlNDdFpNQUIxX05QODFpWjV2amdrUUszWXpWTDB6SmV1cUJUc2VSb0xlY3BPWEY1V2dEaFdrUFRlY25mdHFMdXZpZGc2d01HRkt0blhnYTVrbWZQbUs0d2xxVUhQR1BSbXZDV1ZZelRUN2pMT01XWFUzVmZsUlpabXpJdzhla3pLODQ5Zm5ZQkR3YnYtWjJvcVhFNGFQUUswUUNYeUczTU9QM0JpcFFXc2VtQ1JLRWdnRlBTNEQ0TlRjS1FKVHQtLWUtVXpMOTluM2NZOWpXUVpPZU9iSTlxTl83MVRPVnA1UE1mYjJ0MEhCTU1KNkxwcVRuOXFQQVF3QkdZYTM5aWRqU2ZtTXNXd013a25naTJFZEZWSTM5Uk01OGdlMnJITVFjRlF4bGhyb3M0aS1kNnlSek04azVNcGRsYW91UDZ3VWlGZ1E1ekdtMEpVNTJrQ09VakxnaUJNakhLZDUxUWs3ejY2YXZicWlvelFRSnlneDlfM29WSzMyMXBFQXJHd0Q2cjBKLUJySWJBamFmYU1sb2xPbm1TY254NVM2dE9rQ1VEXzlIN1RQRjRoUTBBQl9sZmFpNHFoSFAtdi02c2xxQ0xqT0FmTk5mTmUtX2tnU1lfdVpGMUQ2T3FmZTVDOThPc2tfU1ZHalBsYTNrNk1CdFl5TEZpZjdoVktSQkVibk44Sjc1MFp6VHV6bjIzMTExY3ZyZlhpeG8ycUY3cWgzUHlDMEc1YnpiWFFMNmtXc21TS2R1ZGFXN1N4NG9WVHZVMnlHTVVzdWt2ajhmd183OGhJYW95d0RRS242T1p0WEszZFUzczFxVkk0QlAyRUduWXd3MU9INWdKNnd5endqUzBjTWVLbldiWVh1c3NpTVFmdEcyN3l4OThKcFpncGZFemFsaHIzOHE5bGxBc3RlWnhvS3g4ZmRhcnFjTU51WWJLblRPdjZTZkFfZFR1VmgzejZDMVV2cl96MF9nd1VtVWFhX1ZxMk9kTWVVV2IwSF9xSGc2X3FKNFZPWWhOODdFMm55WkcyTElja0VPc2k3TnNNZW9VeHg0LTc4ZXFxTGk5U3BscUgyWEFLbEtTaWQ0eGVlVDV3OVI5YVJDVGZ0cVNxSEpfa0YyTzl6elRDSV9XTkdGX3l1c2R0eER4bllMTHFtNElqUWVzTmRSV2duNURDZ0Q4Q3NqRWZic0lpNVgxWUFUZ29KQS05Z2VuVFV3LU14aEc2WHl0ZjlCM0piSHJoMFZQa2Y1cE5RZjIwT0xPSFMwSVNLOU9QMGx4ckZSQUFXa3A3RF9aNGRIOENySUUtRnFjWHAwc3E3QndSOGZFRUMzMWhicjl4NEp0T1FiRnN4NjNSaGEzdTltOE1NSzNUeUU3eWE4aDJVdTYyT3p1Q1JrSl9mUnJEODc5cEl2T3RRYW5rYzRJUE9Ia2tiNHV5SWxiTEo5QUF4eGdXZTBfRWdhYnVPMWdDTVJDUG56RWFHel9pajNmVXFFVmpXVzF3WFZXUjlVOGRiS3N2UFd3TkV3dmNJeXF0X0ZlMzFaM0ZsVEF2eDY1UlpGQV9XYmg4bVF1NGg1MXVzazNBWTRGdUppdWpFZVBnNXNLcFZyaWRXbVpIS0hSWndjRF8tNG1CNVV3b0hRcXhWVEZaRjBlcXJ0T0FXMGdXb0l3OEdULUpWelVrR3JWQ0JiemQ2MHJHNE51ZDJzZjUxMnN3MXFOZGhGZXFoT0gxMWJCNzItLXhkOTl3aHl3MVE2a3o0Ym9OaHdpRTA0cmtBdGM4RHpVczFmcldoLmd4amVtYTRfSkxNQk9mTV9LNWR4SDd3aldzZ2hzSFJYNTcxNnZGWmFnZFEiLCJ0YWciOiJoc21fYmFja3VwIn0seyJjb21wYWN0X2p3ZSI6ImV5SmhiR2NpT2lKa2FYSWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pWW1GelpWOWxibU5zWVhabFgySmhZMnQxY0NKOS4uUjNJN2ZhODFxMkxiSHRCSlNld2VCZy50Q3BZMlZBWTlpZHE0YWVZaEh4c29HVlcyT3lKdTdOVHRvbEJZYUFJSDBsNkFXR09IUDZrVGQwYVp4bFV6dDYzbjV6WUwxa3hSeFdMVEJuVUFYTG1tT0IwZjZlS0poYzdmSmRVZTU3cDhNTDRjSktIbDJSS1FwdGpfRVQ5VHVOc0RZZ1ltVXg2RDN1MllWak5GcWMxcFhVbUQ3dW54dE05eU4xVFNGdjNWY21BNHFmNXZ1T3Z5Q3NsYWd0T1pzbkthR1V6ZGpZak9RS0pHRXoyeTdZSVlYT0tHLWljZ1h0Z201Zl9RcDZIWUJlSWFobi0tSDhMS25uT05rQVRKdFJRQVBFUllrTEtuZHNaN1JLNmFacnFaR25SRm9FRDdNWkloRG4zWENKQ2xZZ3Fsemw3a2FHQlU4ZUpsZGpKMjVnTnIzdTIxamZNeDBDN2o2ZUZaOTd5NFJhQ0JGUUptUGlRVWFmQkdYSDJPTGNBS2lNOXc2MWtzRjU4N0V1cDk1T0tYSjBrSEZ4OG9oVmlxbGJnNVV1QjhaY3l0eHZ0S3pmWG5RVEJqS2ZDYmJvYlBkU3FrNVBEVWtCWWJ5WGVSS1ZXMHREeVZFZk9haldzWE0xdVRsWXItRDgtQW8xV29jT0hBYkhGM3h1dVBhZnNEdklYcTd3Mk5fckJwOXZNOWpPQzBqdExEeldYeFlwcjIxWmNIdmhwaWJCM3F3ZEVNS1pfZDc1SkM5Y0VmMU85LUlNaVBUSVpja1podEVyazVQQVI3ZnJYQVBBOHJrVjJtTVlJQUxOWV9EQjhDcHVIR2JHeGZ6cE1iZ2d2U1R1OUtacV82YWhIbGVIT0VqRklXNXpiWHp3NG05ZXpMRHpQTnJzWUwxa25uLXAxT0k4TWdzZjVmd1hZS1NtT1VFeEZDdUI2NDd2dldhdmg5eXM5YUxZWFNOb2pEQWxqZlRrRmU5RlVVdUZLSmV5S0V5a2RDS1JPZHZlSXhqSHk4emFBdGNBZGdVSXAwT1FWdkFON3VnZkI4SVJQLWU1a2k1VlptNHpXR1AyQkVWTV92WWxlMkE2VEp0SDNMUFQ3TVV6VGxvMVBVMWtLVExrZ3EyVWp4MERldmZrLTg4WjNTbFhVZWtRVG5QV0lZY2lhY1hDMVptenRVQVpwYTBraV9TcXVmRjNmdGQ4TFFJR3dFNHpkZGZtc0R6aWxlSFpLR3ZUZi10MUtkTm9VbkJtYnFOb0JObUR1blNuTHlBeldFWE16Z2VIZHBsLXZLWVpTUXA5ZnJpdkRlV2ZlOGxXVmJPUmxiUDRxNzlKQ2tVZHBoMXJnM2l5cXRjaHpMa0J4N1pqeGJkUEZ6MkU3Q1B2UGFFYnJUZ3o5WDRUN3VZa1JVTmtDRkpscF9NS0VfdEthNXNwREwtckx2bHgySlV3ZWpXUGJyRWdWRDdocXdhVklMNXdwZzhHSlI4eEhpeVdMbzNVcU1fU0FlZmV6MUNDcElFb1QwT1E1TV94VTlhNWp3bDAuby1JSU5IdzFXTlJBc2xSRnE4OGlZclllTmVibVRhOVRrRlB1Um9LRl9lWSIsInRhZyI6ImJhc2VfZW5jbGF2ZV9iYWNrdXAifSx7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhMjF6Y0Y5bGJtTnNZWFpsWDJKaFkydDFjQ0o5Li5XYW82Q1FQYXdIN1lGRXdHN2Uza05nLjNVSWh4SGFtV0FLWGlBUG9qVzNlcW56NThRbEpPQm9OcDJGcHVzT0k0UXR6RmIyZHM0M29TVjl6Q3lRaklrc0ZYRko0Q2Zra0QwQUhxQUtna01LZ1JWd09aT2xyRTJHZEpKRVk1bzk2QlU4eEhqZF9BVFo2dlFiMlVMRVIwRnFUZnZIOU5yZlY5SGRfX1lUS01UdVE2ME5XWWtUX1R3TUxRX2kyRDdHd0J0S3pLN0FnbEVjbVM3RXpuWHA0Zlk2RmJRTmN0ZDNjNHpWWUFieDJxbndHMWYzTDNaMndkZGdySVhEMmJlam5RQmJMX3VIRWJUM18yM2hZeDZFdHhEQ3E0bXIzNXB1MVNINDF1UGlnQTcyNG13clNXYUR3NkdJRHlwZVpzc1RYNmc2RXQ5ZHJ2aG85UHpZTjNtdkxpR29PdHBPTUN1cTFyd3J1QmZNMmlkNkdfU1FMT1dkR3NQOWdIUEsxV0FYZTQ3LW1qWXBkbGhiaGFNTjFVaVJBZWxORVR1al8zaDl5Wjl1aFcxbm9TOVdJYU9WekxFVXBDZnJNTVlMLWdubkxuUXZWSkhWNjJGTUQ4V2VkUlUzelVSSzQ3VFZxTGtzY2RoYmxNZUJHUWhJV0R4aEFuSzNHcUFOR25ZM3Bnb1p6QzRTdHVfWmNNS2tsMVZ0bnZiZUZoTExHMnpmMFQ0QTM1Q29ZVHV3TnV0LUNVS0prOW5mZ0x5YXZWNVJGclg1cFJTV3lGS0dUNzY4Rk82MmhBY3pCZDhVeVdwdVJvNGhZZkZjOUI4dUNKZ21JSF9KWXhRVlgwMjh1akdyYm04cjVFa01GNHMyN0RZWmkwRTVCMkZGczNLOEsyQTJxM0l0R3ZKWXdkc2c1Q0g3eGVhelZGNmtjTW5vU3ZvM0c2MVp2WU1lOE1wQ0c0ekMxekdTeDdHSnpjRkxyUG9OcWVnTzhob1p5YzJOSzc1elBFWUN1TTkzcTB1Q01QYTlQbmxPV2tLZzVzX3RLTVZiQV9sMEd2eHdla3hVUlRKSzBXbjRxc0diLXRqb3lmdDd0MmxzcG9LMnprWEtPRGFSUlZfUXhicmJxYlFzSXpGLXIwNnB6c1JRSExGTlR4WUJBX3Yyc1BBSXFkSGowdEpLcUs3UG5XMkk3ZW5BNE5UM1NaOVp6WkdCY3Jua3R5Mm1fQVYyQTNWaHRlRk43X0I4VUVnYXhKenNLNVZkQnhGLUJDNFZlSkdvMXRLcXJ0WktQX0dqQk1NTGxiNlhZOEVoS3BQT1M0a2RIQnNsVFdPLWNwZzhnNDZxRnpmRDdqOE5IUTF4UkJqRmZ3ZnI5ZjB0YjhZckNHek9RNWMwQjdGQUxDSk5LSUZnc3JWallkT2Q5b1l1QTV0YlpmdlJBdDJHTllfLVRId0xyMHBZYWQzY21XTU5VUFBjd2R3cjRqNkI1Qks5amJRX2d0UldGcUF3SHVCaHRCbklpajF1UFRPNDZlRmttUXZWT1E2dll6M015M1djak5Lbnl2X1dmdGdHVFJIdnM5RXlfblFMZ2ViV2dUSGI3S3VsVjhKN2dFWTBOOERob3Vsb0dVTXFsaVh0bjZqYWV0VWVSQmFoT2hUbkkxWGVaNGZzdGdpbHc3dnhEeFI1dTVXcEdHQWtHMi1kc281b045QVVEcHh2dlh4Wld3S0g3NkNvcUZqbmJIQTBXVlh5R0hENEw2SVlrQThkWHhncFltOUU5OFM3YjRnaTEycTB6TWVMR2Y3dktJRG1ObWpvRVZoWEtGS1BOXzM0RjBMeE1NVWtfMW5BM3lxb2FXbUd6UlNWV3EtLXloa05QendNSDF4WDJrQ1p5b1hsZ25kSzh6dzVkSXBza2RsZkhuU1piMVpEdjZtTWhQbklLMWhhblJZb1NzS1ZtZG9wRUhtODdDVFVpWUVydHlPSDdmU2FpalR3M1dUUnY0N21VcUdvdTBXdUNIZlJlVXMxMFYtblJpYWNoSVBqLTV2U1NNS0NTcFdscWJ1Q1V2RDlsdnktRVNubEw0T19abEVRckRnNVRTSUxZNU44WGw5cVM0eDREd05DR1ZiSnZJMUJfeE5CTkJmRFVmcVF2UXk3UlU3d1ZhSHFLelIyM0h1eThzQU8xV0JXMGpCdW1RSjI3NUpHZldTVngtRjFhXzhIWkcwR1ZLczAySXFGdDRTOWRyMENPNXRHMmsxTnNzTXVrWXl0YnRzcXJJdGxzblRRVjdiTUhFZ1pGSWJ6TGpBd3lhUWM4NWQwSXhsQmJibUJZZUhkWnRubGRkdGs5QnZ5NHNqckRnSVZlQWVwdVZxRjNONklrcXVJM1UtZ2p3S0FjQTNKMVJkZENEeXJMVTJhakZGOVdhU0FuYWlOcXJ1R3o3WVY5SDFiaWlkWFJiSFBoRXNFNDNLMkpoX2ljOVBoTFUzdlBXbGNRODV1R3RrWkxRTTNlbUF1RzJLR1NGQTcxd1pyb1hocVRIQUxKNWpLTElhQ0Rld2hfTHBOTHNjM3RVS0xOMDRaVjJHSDhTdFl1N3ZlOUE2QXlTcmhUZjFKRGV5aWdael9kU1ktQXNpaGszRDFjSTN4Rmh5LUdsZTNWQ3ZPRjFSTFFfZHh2NjV2bldTWkdBeHRNdXFHV2VNTnVZY09saXplRGZnNFVuM2RPN1VpdDhpb1R4dU1WMndyRVNPVXpRdThpb0d6TzNpV3RXWWxfMll0LTF1eGZVRjVMSF9EOW9pazFpQTJ3RE9ydnFJemhBczJGakxMQmhqS3BIcWViODJTZ2J3elJRbzJFQmZuenJiMzBWNmtPTjUzOEJkanRCS0hvYUdJSnhLUnNnRjZzUkkxQy1uSVR4NWFZeVhJMExDU0JBRWU5eUpUWkxVV2tqT3AtX3pSSnZfR3dkTnhTWnZMSEdkcFlWT3ByMTF6OFU0azhYTE1xSnRhWXAtZk1CcVh4eWJMZDNxaE1kX1B2V0dNdlJHYm9pd3F3cnYtWllwbHU5Y1I1a1RvZmlHY1I1SFpaWXhTcjN1ZVVubXpjY0kyRUJNQVFqc3UyLWthU2NLMnNWang2emNUaHU0UFBxSXpELVpzdDlRbGpqVGEtZW5kU1ktby1NUjFvbDdkNjR4eTViVzM3Q0NOcHJYX0Zud3djaEhCMXVHUzNLbEx3UUxkV0NlX3dPYjY3NDNNSHFZamExNm4zdW9UZFF0TVFIUkt6N09kaWl2TDF0NGJQdFVrZVFfZkpsRGpDbjJTRGpRelBUWWY4SlY0eFpkTFZlcEE3V0NaNHUyWXNyUFBKUk1SdU51M1VNWUVxYjVhX2lzdXJJYzJNRDUzYVJpZHlxODBSN1lkaVRIMV9oZDRfR3pEWTd1UDBqSm51RHV0SUNNUkJLNTlqejIxWWpydy1ycGdnNFFrRlQ2Sm1CbnFSS20tWC1YTlNDMFdLeFJGcjRmQlFLVXA3bEFfRDlIVWdzdjlPUE9RREF5V2ZVMzdja2ZfWEFNNERiYVJZTkZrdEk5enUzazhWUk1NRE9PdVJPdTM0WHBhU2VUaVg0Z1ZtdHp1bDkzUnd2VUplMDBBT0FyQU53ZmpKRUZHSU5fN1ZxMWVHTmhsWlMwSkZBaXY0OGJzU3cwTTB0eWpmVGMtZlJrMWh1UUx4cC1HOURyMHg0V2ZaWC16dVgzaUx5VnRsdkIzNHo3eXcxSTU4aklTeFdMZlczRXR5T0xod0RKb2pYTHJpeU5fWnJRQ21BS0tfZ19NU2hvY0FLMlo3S0wzSy1ETGw2NnFLR3RwV0FkS0JnNWxsWS1YUXJjWnF2MGlkbWlaSndqZ2kyZFg3VmVmVUw2cld4TkQyM05Vb1U3QUVVempzdThKMHF2ZmQtU3h3SHpseFpLYUo4NTV0aTdTS2RUNThUY19MTFN4UDFXUXAyaENOdkJ2MDJQNlJ6VUR0LUNSSVZOWWpUYzFaVXNSTzByRExTMERmNmxkekZWeHFaUnh6eTlpQ2ZhczRFVndMNW84WHJVbmh0elFLamNUY090bjVyWjh5OHZidUhGWkdyZlMzRG5vemNuc2dRekVwWGw5X0cwRlYwRFY3bGN6TWlEajk1eGh3cnJtbmttdlY4VktZOFFTSkQzbklYOTlCZ05LWldyNmdWWm92RHYxUmpBd2JiSlJOcnJDYS16R3JoRW9WX0pPUGRITC1OZlNsNjA0TnhvR1NIR3RtekNCUktQYjdHNUJfWFVsUGE0NEZReXgtSk03RmlxbE45Q3lJckpkZVRXcWtjalFEWk9Mb0M0UFB0Y3ZDZldCOFZ3N3VCN1Rfbmx5emlFZk9zVkd5S1VUMGE1Tm9BdkZpNVJGSE9Xalg2bkJDWUZOaHhUWVVkU0R2RFRhOWlYN1Zyd3NNaVRvMGxCbzJQMm9OQng5Q0M0ajNVaTVOV180eDJNdWlKSEtqc3dXa2d1cDhxd3pyeTlxYU1fSDFFdXZVZWl0X09kRTN6MFV4N3RkT0QyM0lqZFVuTnZ5eGROMTVYcGU0Q2lReGJMU25kME9KQnpoWHZ2V2ZyQlVnZmttMkYxVjc1V1J4Y0h4NmFrX1Axay1oa3ZGb3dGZnEtZUR1cEU4aHM1NFdGZFFBSmpYczV3MzdkWXZNUXh2WXdKa0VwTDNiN3ZkRHdJWWNqRlg5SWctMmJJVTZJNnNKX1pwYlNONlpjbG4yaE5tblg0WmVZNHVQRTAxVVJlNm03R205QWZwRTJhS2lPMS1pVm56SkdBOElKUHh1NXp0WkxtWUNPaG85Nk50V1VzR1E4MEpTbmgwWXVELThZclhmWnBLSjJmRGFPODZ4NVB0NWN5UVJYc3h0ZTBPUjhGMDd5Tm1nclNIZ2NGMEJGTG5fd2xXbGJUd2tiRHk1ZWRhcWVFMFdZdEY1Mnl1Zjd1MnZvZXhZckEuRFVIdHJDMk1iVVhUZ05XTTZZdlppMkdIVkpMenJsY2dVVXF2RXBrNkpCYyIsInRhZyI6Imttc3BfZW5jbGF2ZV9iYWNrdXAifV0sImtkZiI6InNwMTA4X2tkZiJ9LCJTaGFyZWRLZXlzIjp7ImVuY19zaGFyZXMiOlt7ImVuY19rZXkiOiJleUpoYkdjaU9pSlNVMEV0VDBGRlVDMHlOVFlpTENKbGJtTWlPaUpCTWpVMlEwSkRMVWhUTlRFeUlpd2lhMmxrSWpvaWJtOTBJSFZ6WldRaWZRLk0tQXhHUVlKNlVDQ0xtZVhwOWdTUjJFVTFsbktMRXEyZjFWd01uT0pXaWFMRGJIZ01sX20tRlZ1X1hsNEdNczM2T056YTFJZ3FEM19aQ2h4dmJUSzRtb2JnczlyQzBWR0tYeDdHN3FkbTdNbDhFVGZCampMTVl3ZElReUdyeVREWVdYZW5UdEFacVpJNnc1NmZhX1REMmhzejNGQ2NkLVBmdExYZm04aDFMaFlHZVlfUVlqMzBPeVhlV29FZ1ZndzYtQ2d1RGlhNUdxWjhISl85S0Z4ZVZPQl9zQkt1QjdWWmdpRjN5LVVkQ1FNV0JSSkhITU5mTWs0QTV1bU81aWFRbzFVN3pDekRDVGpodjBVX1U5U2ZOdHFFUFdkbFZxanYwdXpaNXJOSUdxQjI0cE5NT0V5dU8ySDZWTi10R0xkX1pLNlNHUmNPc09BVlllazN1WjZyejhiekFZRVVYLXlXNFBUUWV2Ujg2WlJzc3BIdXRjYldaNi0ySG5YUV9UUTBJNFMtcTJIVUVUNEE1QWk2cy1NQkFLeDQ5eFV4c1VDUmxQTHFnUGUwRERlaDJmOVVpQnRGQy1pazA4ZXBYa2xHVnJqVWFXLTU2RUU1b1R3WWN1bVpNMy1nUHdPV3JUN1luRThWd3BveEt1Z3Bua01YNENJZWpOWTlCRzVlcGxfc0VfLTRpMWRpaWprdDR6UUtDNHVTOWhDMXRSdVdfYW5wZHBpd3VYUFVOaWRNX2VpWDVRVWVNT256cVFjLWtxcmdRR1dUYVp6S2lyZGNQOHpsTzdYQnZWaW1Rc2V3dVVJZnVfRVpMQ010WVdLZEVLTk5Kb19LTTB5bm9qZ04zcmxia1N5ZWRTcE4wVXVnTjdPd3o2YmZXM2xSNHdKajhOclo0bzM5cjBLVDhZLnZjYWFxQ2RMM0U2U2wyRkpVeFZNdVEubXFTa3RpZ3pYbkZpTkhoUTBXQ1RheEtBODFYWlpFU1A4QnNuMlhTSFlzRnpOOXZOdHFRN052d2I3RFItSnJzaVRRRWxZb0NSanFyemZCQm5EbC1Vd2g5QS1LanBzUFJKcXRHd2dSWW9vRlUueW1ObTVRWlJxeWdadjdoQ1dmQUJpNF9KRHI2dmdQNVFNQmpoMEd2WDlMOCIsIng1dF8yNTYiOiI3ODd2MUR0V3E0OU03bzB6dlRRbmp0V3gzdmNTc2xZZzBxYnoxdlJUa080In0seyJlbmNfa2V5IjoiZXlKaGJHY2lPaUpTVTBFdFQwRkZVQzB5TlRZaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2libTkwSUhWelpXUWlmUS5ndUFieGdOUmNDcXJNOUF3TnJEOWR2VnFBcUYwSUVuUjBTbWZGR1Q3T2hpUDhZdVVKbFd2OUt1MmVva05GLVZrbUZuZkdfMWlIVVZoYUxNNEN3X0RBRjQ1YnVtMlBCc29qcEYxY1FNTDJPR3NyZ0xnZG1sMWNtbEpKaXh3UGk2Y29TVTgxMGFrdTdpalVVU0xDSmlSaHJvQnpmVm1PS0lqQ0duaGVEcl9pdVdwN1NaUkRsejYzaFMyVGh1bXZ0LS1TVzU2TGxSeHpLelJaeFliOUctWTBvYXF4UkhsMThLSWp6MGZNeEswS2ROMk5LQTdWaDZEUnlRR3BvRUFZTjRtYkxJbDgwb3A5VlFCUE1uVE1KRnRHY1pQV0JvNlVDQk9HRTN6eWUyRGEyakZnTGtnOV9xRV81MXY4RGllZUJYY2FGTFlzV3lxbTZRLXJnczFxNlozVktEZkNONFNDNllvSFBsd0xCMkIwOTJDdzNkM0kwVm52eUtTdndmMEdtNW9zUG9tbm1SN0NXa20ySGVUMEFJbFJoUG41Y1V1T3ZjV1BhNFFtbEdyRG5sZ2RTOVRqSmdjVFhQdEVLU2ljWmtYdFhtdUtNUHVNbmNSVFNOVHI0WGZ3aUJtNEFtMjJKd1FtN0xPS1M5X2cxNi1DMDFTcFh5UDQtNkZSV3NZMWczMFVjZkxPS1pjRWVtUTVSVGRDWkJRU3dQMTZEZ05PLXluM2JTUVl2ZGFUYm5qV0pVSjEyTWppMXMwckxMdDFkOE5GbS1XRVVXdUFZd1B5YlJLa2JBRXdFajR0MjhyRmZHaFZBdmc0R3otSHh3OHFLLUhuSkNwWVFtTXFqT0hpaUN1OWNVUUYyeXBmTGxEVU9SUlpYd1Bobnc5NUNWV3JPcmhWWENIVWk5bUwtdy55dFVSMjVSVjg5WFNjR1JtSW83MWxBLl9TWGs1bzF5Wldpdk5NbGVIYl85Z21NeWZuNjZwTFdyLUxhbVZ0VmhjNHFZZlg1RFFiSjFoalVXYmVtcHZRc2hHVUxqX08xMkpKbU9tblZLRGYwR05FbnJGOUlFRlRpbzJPZy1TeHNKdTQ0LmYtRnlTYVg0Y3pnSGM5X3haalAyeEdibDl4bnRvMzBNMDU3VnRCaHNrLUkiLCJ4NXRfMjU2IjoibmhHaVdaM3NEdWdBS1pObnBVNGY5MHdYbFpRTTAzR1Y2UGZzYk5MczhObyJ9LHsiZW5jX2tleSI6ImV5SmhiR2NpT2lKU1UwRXRUMEZGVUMweU5UWWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pYm05MElIVnpaV1FpZlEuZXRadTJjek9zVTBBZWRRSWdnamxsNFZIWk40SFlXc1FpZG9EdUx0VVlSMlUxWnBLU3RYSjUtUjduUm1Mdk1USVZVQ0pWcU0yTkZxNjB6cjZMZUc1VXNPY0ZGal9MQzgyMlRyMEJJa1BaZnRWZ1gzUnJHTmJzcmNKWGtxcW9fa05WNDM3Tl81VlgwVE5ldFZURk13RDM4Q3FXX0otQkUwd1JKQ21FTVk4QlpvckROc0dOTnVhUlg1bDdod0NRX1RtN1NKRVhlNGR1alJXVEVEWXM5dXdMelgxcFplcVRFa0NfZTl0TVd1Q2ZDZlo4Q1JyQ25oQ3oyemJ2bUQxSldaVVlRc253a3I1LWxtZnQwUm9UczF2cGVQbGtIdjl3UkplYkp3U29KUWJjQ3JPMlJRRE9od1BCNkdXbk1WTTY1WnU5MVh5V3RQNFdjUHFvak5wdDZHSEZPdmEzX3RTaG1LV3RYNXhhM0dzUUVJaTNCSTdGOVdMNEJ1NkhqclFkMDVjcHZVcm80X2hUeURiWUtET0g5NFlPVi1qUXg1Sl9RUXJWVnJDbFJZd0Y0ZjMzcFItTzJJbnh1N1UzZGJNLVFQNDlLYUo3Y2g4MkpmOTRxY2N0dGJoVGpxNG5TdzVNV2VjbkNQZjRIa1JjdWw5RGtJZEVwY0RIMmRaVXFkV0JHYjFuRWNldlc0NDBUbFJuNkcwVHhqSzBaX2dpekx4dXVsZklPUTEySEpNdlBjWXd3OV8tMWdGZWdUdDgzb3N5OEJmVjNwNDA3eFpXRVROUFR5ZWNMNTV2enRKUjJjUjZLWmRlTkdsNlpENTgwNmVPYzlaUGIwS1Fnb2I3MkRVM05mODJidDN1cFB0LXEwaFNuZzNIWHpUZUhWYlFRV01NWmxBcEN2aHdpWml0SGcuY2c0d2tyQ0p1YzVBbmJaY2lQWVhDUS5YOW1Hc0QxdWJSU0lFUzBiclJiOWhQU0xaY2tTaGNkbmtBRzE3MTFpcnpmcmlEMWZwS1pna1RwQzZfQ2daTnBiU2JHT3psQTZkZ2pReXpxM0dFN1JGa0MxRzh4cW9DZE8xTVp1MUVsQzdXMC40dUZFdEFSUktzVHdxWUtjRDRTNm1HQ2JNZmhxeU9xd1VHdFpPMWtYNExjIiwieDV0XzI1NiI6IndkOUVyWmhYUVppeHB3TTZPLUVCOWNLQWlBaVM3YVdnUkdkQWtNMU0yNzAifV0sImtleV9hbGdvcml0aG0iOiJzaGFtaXJfc2hhcmUiLCJyZXF1aXJlZCI6Mn0sInZlcnNpb24iOjJ9" }, @@ -11,7 +11,7 @@ "202": { "headers": { "Retry-After": 5, - "Azure-AsyncOperation": "https://myvault.vault.azure.net/securitydomain/upload/pending" + "Azure-AsyncOperation": "https://myhsmvault.managedhsm.azure.net/securitydomain/upload/pending" }, "body": { "status": "InProgress", diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/keys.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/keys.json index 7772fd7d460e..72ea378a2f69 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/keys.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/keys.json @@ -947,7 +947,7 @@ ], "responses": { "200": { - "description": "A key bundle containing the key and its attributes.", + "description": "A JWS containing the key, its attributes, the result of the key release, and information about the request.", "schema": { "$ref": "#/definitions/KeyReleaseResult" } @@ -1304,7 +1304,8 @@ "data": { "description": "Blob encoding the policy rules under which the key can be released.", "type": "string", - "format": "base64url" + "format": "base64url", + "x-ms-client-name": "encodedPolicy" } } }, @@ -1840,7 +1841,8 @@ "target": { "type": "string", "minLength": 1, - "description": "The attestation assertion for the target of the key release." + "description": "The attestation assertion for the target of the key release.", + "x-ms-client-name": "targetAttestationToken" }, "nonce": { "type": "string", diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/securitydomain.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/securitydomain.json index a9a6508bb32e..fc1c18bf242e 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/securitydomain.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/securitydomain.json @@ -233,7 +233,7 @@ "certificates": { "type": "array", "items": { - "$ref": "#/definitions/SecurityDomainCertificateItem" + "$ref": "#/definitions/SecurityDomainJsonWebKey" }, "minItems": 3, "maxItems": 10, @@ -252,17 +252,6 @@ "certificates" ] }, - "SecurityDomainCertificateItem": { - "properties": { - "value": { - "$ref": "#/definitions/SecurityDomainJsonWebKey", - "description": "Customer generated certificate containing public key in JWK format" - } - }, - "required": [ - "value" - ] - }, "TransferKey": { "properties": { "key_format": { diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/backuprestore.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/backuprestore.json index 772b6755bbac..13c0ddee2b57 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/backuprestore.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/backuprestore.json @@ -37,7 +37,7 @@ "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, - "description": "Creates a full backup using a user-provided SAS token to an Azure blob storage container.", + "description": "Creates a full backup using a user-provided SAS token to an Azure blob storage container. This operation is supported only by the Managed HSM service.", "parameters": [ { "in": "body", diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/examples/securitydomaindownloadpost-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/examples/securitydomaindownloadpost-example.json index defc6c8bdeb4..ff9ea5f8e3b0 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/examples/securitydomaindownloadpost-example.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/examples/securitydomaindownloadpost-example.json @@ -4,61 +4,55 @@ "CertificateInfoObject": { "certificates": [ { - "value": { - "kid": "id1", - "kty": "RSA", - "key_ops": [ - "verify", - "encrypt", - "wrapKey" - ], - "alg": "RSA-OAEP-256", - "x5c": [ - "MIIEnTCCBAgIBATANBgkAoWgAwIqhkiG9w0BAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" - ], - "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", - "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A", - "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs", - "e": "AQAB" - } + "kid": "id1", + "kty": "RSA", + "key_ops": [ + "verify", + "encrypt", + "wrapKey" + ], + "alg": "RSA-OAEP-256", + "x5c": [ + "MIIEnTCCBAgIBATANBgkAoWgAwIqhkiG9w0BAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" + ], + "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", + "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A", + "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs", + "e": "AQAB" }, { - "value": { - "kid": "id2", - "kty": "RSA", - "key_ops": [ - "verify", - "encrypt", - "wrapKey" - ], - "alg": "RSA-OAEP-256", - "x5c": [ - "MIIEnTCCBAgIBAoWgAwIqhkiG9w0BTANBgkAAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" - ], - "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", - "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A", - "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs", - "e": "AQAB" - } + "kid": "id2", + "kty": "RSA", + "key_ops": [ + "verify", + "encrypt", + "wrapKey" + ], + "alg": "RSA-OAEP-256", + "x5c": [ + "MIIEnTCCBAgIBAoWgAwIqhkiG9w0BTANBgkAAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" + ], + "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", + "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A", + "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs", + "e": "AQAB" }, { - "value": { - "kid": "id3", - "kty": "RSA", - "key_ops": [ - "verify", - "encrypt", - "wrapKey" - ], - "alg": "RSA-OAEP-256", - "x5c": [ - "MIIEnTCCBkiG9w0BAQsFADAQMQ4wDAYDVQQDDAgIBATANBgkAoWgAwIqhAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" - ], - "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", - "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A", - "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs", - "e": "AQAB" - } + "kid": "id3", + "kty": "RSA", + "key_ops": [ + "verify", + "encrypt", + "wrapKey" + ], + "alg": "RSA-OAEP-256", + "x5c": [ + "MIIEnTCCBkiG9w0BAQsFADAQMQ4wDAYDVQQDDAgIBATANBgkAoWgAwIqhAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" + ], + "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", + "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A", + "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs", + "e": "AQAB" } ], "required": 2 @@ -69,7 +63,7 @@ "202": { "headers": { "Retry-After": 5, - "Azure-AsyncOperation": "https://myvault.vault.azure.net/securitydomain/download/pending" + "Azure-AsyncOperation": "https://myhsmvault.managedhsm.azure.net/securitydomain/download/pending" }, "body": { "value": "eyJFbmNEYXRhIjp7ImRhdGEiOlt7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhSE50WDJKaFkydDFjQ0o5Li53dGhUcG5Dakh6d0Fvbm14SlJrcmhnLmIxU21NcjJkX2J3VUZJS0tlRnZ0Y2lvS1BiUXo3OGJyd1duclVBZE4tM0txY01FUXNtSU5FN09WZ2JLbFZ0V2tkemJmaGdrUHd1dUhtaG9QUHpJd2tHQTQwYXVLZW9OaC1EN2RWanBJd2NVcDVMNDVVVlNRWXM5elRQQnRmSnItcy0xbk1DNEhwZnpXRHNhZUxUTzhfcGRtNGxISi1lN3dGeTE3NVJQMDRZR0xPZlVEaVBTaUZXTzVQd3djQjRsSUx1ZXI4cmgyaGYtSFN1M3lnYW02N3VGdjc1WTAtU0gxN1F3VHpwbkRtXzZUbzNaUWZIRHp3WUprQjlWYmRvaHVMcWl4QUY2MS14UjVvXzc3MUdtOHlkZHF1Ri1qV2ppUjAwNWZBSnFLb1UyM3lmYXhZdmROaFdNQVUwU3RfTG5HTnYxaXRQYVg3cXV2aWkzOFlhbjd3TU9VZGg4TW5VS19rN1hhSU96VTJfUFVWVll2R2RNcXFlaVRNLXBrekFxZC02LU5vZ3llc000NzdXdnBNa0F2STZLS2xvRkJKQzRfUlFYYUxITHZwMnAxTlM0NUZLNTEzb1JJeHROd3AtM3JUME5FU2RTbnZfb3ZCeDhFVGpZdF9Mcm1RNHplb2pqRFVLZC1EWmxQcFlGUVAwZWFfNmpSckpsZ3lvVC16czhWTEFFREdoX1lmZDRydHNENVhFZGVMZ0IyMEF2NWlLRk1jcHhtTVVSakRJQTZES1hNUXFIa1RLam1pQmU2aHROZ2FNNjE3S2FYclRuWjE5Ui0zWlIxbGs4UmhoQm5yZ0NBamlWd1lVcE8xUGl0ZDY2bl82VFlTVTJ5eFkxMkxoZ0V3Z1hxR2pzOGJIVEtGYnZVVmxKQTduV1RSN2hTUHpTZDJjanlBaUNDR1ZEUjQ4VjBTY1FBVXFLTGVFZUl5NzhueXJQSE9kXzk3dGtGSXBsdmhncnBkdXRISUNyakQ3T1BMWVJ6UGpFQlJxUFFzQm1RSzl2V1NDNDk5ZGFITzRJOUtRTG9mVTc1VmhOOGt0NlV4aGZFVF95eURfSGM0UGJLZkc5TG1hYUlxVGVtVWZCVnU5REx4RXJLbzhLVC1RX1dFRi1LOEZFbXhZdUFKWEgyMktrTWxfSGFva280NlRCV0FPcTduLW8zaHRpbVBlUmxuSkZxa0lqbTBIc3UzWEJETkdpMEFZZGtpakE0QzgtOFVwNk9ZSWVDZnZOeVEzYVllcmhJVGpHR1puMnJ5SEZCRnR3WVIwbkJCc0ZfMFo4SkR6NTlvTEtlMThheVlvaUp1UHNTdWp4VHFNeF8yNG44WndQTnB6LVhYLXBEVWpkSUZvVS1FSXV0UWxnT3dqUmVKZ3I3WF8yUks5cVBfT25ERkRNUnZzUU5oS1pIWklhREdVdEROd2JxMmNHQzBNRElpeDgzR2RIS29kbGJqNkJ6VXEtUXFXT1dSdUtiQ1NnTFdULVdSdnNzUXlONnhIYXRHb1VSMUVMcVpPejJUZmw0cm5Ka2QtSTlRTE15c01zbVFiZldlTXBJWXA3M29STGxVNm9iRnNkM2JNNnVGeGFGcDUzT0pDamNGUUNlLWM4X0xEMWk2dWhFeFNZenNSYjhLR2cyX0dpMFNCSkcwdjBSb205X3oyVklScER5MFdyZmhnLV9YRjZUdFNtZkhoYWpRVzVqTC1xMnNmQkNlcVI5M3FXYUt1TFJQS0RfSm4zWElJR1R4UklDMzRETTlfbXprRTE2SUZDa0dnN3FEMmZCZ2EwNHA2c1hrdlEtUkdYVFhKZGlOd3NpVW1RUFR3Ql9LSVA2OFRNQWdSTWpBMEFJMjZOSmZ0b2Z4eng2X0w2VTU1SDZELVZ1UjdDOWsyR2lWa2Y0VnU0Q2p4WTI5TWdwUERlaHdScjVVMXRBUFU3Wi1nVU9Eb0NTcGRINVRjY1NROGtKb3FEby04SWRKMjlYa0NEUTdDX3U2aTFVVF9feUhLbjFwSUxocnBxZm5lb081SE5sNEJTbjJ5cEdFZUpfYldCNl9GMU4tYXBoVDNjRmpQWjVnb0tfM3ZPVWw4N0gtSjMxNnhpUGRiZGhiM3ZkSTVkQ3daekhzOEZwbFpVaXJGNGlsRHM4bklrRGs0cXdIZGZvQ2VWTlgtWE1neUFOUTlKZTQxOHJEZkprZF82OWFiSzB6MXlKcmg4ZHhNajFHSnc2N2FzZHZ1XzV1elZPcjBldE95WDUzUVMtUkhLeEs4RWZUZ0U2SThwVjBTQ1hRYkg5S2lNd1dYcm45cjk0QzFhZ3dJLUZ1b0JlNFl4eHo4OFc2RUdvUzJMMmkwWTM0LWFjWVJxSTl5M3l2aVJ3T29Ub2NnUmF3NDFUU3ZROE5zUzBPQUlyY1JzMlJfMWhOeFlObFAyUm04VktPcldEcjQ1MHNJRC13elYzUmJxenJLcVJnbmxBOEFKcnVCa1FPbTQzVUFIVnBDY1pvVGtUMVYxYi1Weml3bUQzV0hHZFFnM216RVItdmlGR0RJLWJKX09NN1JWdlFwT21xQVFBWTFvQ3ljOWh0cUZKSUlhYTdibzEtQ1lqcDNTd0ItYnBsTjhuWDhHVWFUbkNFbVM1N1VTbDMxUGVpNkszeXJmUWVJWl84Q2RSdngtZzUya2E5NU1nRmZGcUFOdFNQUzhXbTJQSm55aDlxYTliTVhzSmI5RmVYUnFZSlV2OGxfc2VkVWJEWFRBS3BGWl9hWVI3VUpLa0xWejNiNEcxQWptcFJQQXdzd01TWDJtUkFzcGt4Z2ZrdV94QjRyaDBuX2t4NDQ3Q2pYa1VjSncxNlpBVHI1Nk92THZCNmZoRXNqejhVWGRyNTJHQ1R2MzluUjBsUGVLQzlZcC1GTGZHaXNNTVk3TEM4WHNFU3ZhWVU0NnZGZzJGVUhjYmgyM19xbENiWldPWm9vd1FrSnFJM2VCU2s1Rkc3ZXVPOERLS2tBU2N3dkFmc3cxM0VCTHJ2djhLem5mMndRbFN1VFVEMjdWaEt3Mk55SUtuUTJkeTN5d0NtT0EyRnNBdkRwUWpybXNITjVmVDVTLWlTRjRyZTBrMFU1VzVJUVg2RzNJMlBDWFJDOHJnZFA3SjFNOHEwVGtOZE0yRUVqdzBtbWpkaVM2RFUzbWMtUDVya0hEdTh0anpPYktESE5MbTJfa0NoQWFqTXNtcUlDMzFiOUxvTUg0c2xYbUNjUDhQTXF6M1c4TXB0V2NGSHFLT3pDeDJTWmlVRkdaN2h2a1c0dWFyczFDMG95ekFJYTA3eDF5aWZxSFUtbW1Mai1FTEp1Y0xkZ1VOSkJjeGFuVFNSc3VpRjhnNU5iUFBIdDVHdEtiUC1SdmlQd2V2cHdjbjdrVU9RUDNRUnpiUjlLdUpFZ0JTdGFndU1GMlNwVjRDNlJNZ2E1RlB6UDRVajdtNmdDMk9WSjB4RG95ZEdYSnJPa2NiRlhHQnRfXzFHSG1uWUw1cVhVbGJBT3F4RS03ZmJiem91OGhpSi1IeFBTY1lfUHJwOG9ZUUZ0Q29sSkhMZFFHaHBUT1hKd19lU0phRU5jaGczbDVFNkxCNVU5TFlkeTRmSnh0ekY4dDdHenR4Z1BlMnFLN0xBTkRVZXNxZUJEMzJTVEd6cVhzVG43UWNlcEEwcjBzTnlyaXFuSERTYk9vXzNTdDNKbkJzdlNselRiWWFuZEozY1pJN1c2RWsxQlZLeGhVNUQtRGNJb1R2cWNvN0t0WW1pS29FT1hjbG9jQkZLTFhPWENhMVhvUUZsUnRCdGNUQW9LTDNZSmZTS0ZwRUw4VVc3bnZlcTlfcXZ2UFRtMmpUUW96UHAtYjhNZFJDZjFVc3RId1JxeDcyVXNxcDBKbnhTVERaRi10Sm1zdlZHYkJHcVIzZmNmT1lGaExZN3c0UDYxVS01U2NUMWpxaGhnOVVQbDdJVFFBMTlJRHJkWHZrSEotSkZsVXRoVHY2YnNaT3FuMmNNaURjdUdTY3BLckgxMHRnZmZ2cWxSZWcxLVlJTGJMLXJ4eDk0ZER2R3RkXzV2eWNBZjFiY2Qwd3RaRzdLaWg4OVhZaS1xVjZVc0stYWZyT2V4VG9pX1Y5clNPMmZ4RG9GQ0JoV2dUc3RMc1pIQUN4VU82SzZzbFFwbVBpRTFKNldXdjIzYnZORF84Q3dwM004UURsay1TUWlsNEJUZnFjeVdzRHN0Y05tRnJGVkJBMWdGdFdGVWh4cTlHQVUyQ2o1bWtWM2REekgwM3FYLWI2cGdpSlE1SFFWRmw1SkV2bTFLQWd2ajJQRGFwNmhyd3NXZVBIanhjMXNwQ0dJcnA2Sk91LVZQMm84Mk5hWXY0S1UxUkFRai1mdXYtVFhfaG4zSG9Md2lDa2NRaEdpWWpWRjJvVEdDTEhkLV9rVEFRRjZDZ2hDRjlQVXFmdVNaSFlfRW94MG1NdlBZRDB6NURZMFhISUY4UzQ4cExOUE9seUJRZ3pSNU84c0VHZk5BOVM0cnJwVVdJQmpETnpyVGlZMjVqV3V0czNIaHhVUU53X0c1dFFqLS1hVTlCcUItZkg0TVVKNm9HM1lDSHpkcUVBd05MclVWQkF3M2s4NFhkZ0xjVnFhVzJBSUpxMTBLQ1NQdUxOY3ZURHM2WEhXS3kyTHd0UTRHdUN6REhCQWliT19vV0hQcjZyaERKVWcyZTV2aGV0cVBlejV1M0oxeFN0VDhyYUIyT3ZOYk9ob05BYmNwMDRQbGJ3UHJpZ0FFQ0dTMVQ4ODVaTjdqYjlEd1FOckxwWU9Db0lQRGNlaVhuYXg1al9UNmF4LUhadF9jQTAya1JZMFNBSEJITkZOQXE4eUxIdkh1MmJxQkpiUmZ4cEo5TkZmeFF6ZEoyYlpSNmJHOG54dVNUSmVqeXVRdlJaNzBOZUZqR05FaERFQ3JTNUoySTBBVFBaMDVPTE1OUU53NnZERGJBSmR5NV9WT2F6c3BhLWoxM3dwVVJuSDBzWlBJd1YwVWpSdHRjUTVHNzRNLXctZXppNUk2dkdZOTlyUHhZZkZRMlVITnJzTV9COVVxTlZXZk1qcjFRM2Z5cWxuZ2IwUmF6WHRoX2FjLVJiOFBtV3FBYnBvV3N6cXctZnFDQ0otb0drWkwtLXhOeGFjdjBfWDh4QjlYT21NajgyWGFKdkhNVmJpdWZwUUNsWnBPS0E2QmtjQlhqSVM0LTkwWDVneXlhTVd3bHozcEdud1UxSFZNRHBNeVBJN1VKYUZtdkRQcFU2WlhZZXZWRUZEMzg2NVBKeEZDZnBfdVhoWVBqMEFZLVRNRWpPZlIzUEktMjJ4bDl0REEzOUNuMlhzeDNrQ2c1Vkhlb01BbWZsM3YtaWZxUWxnZ0YyVS1uNEJXXzA0QlpOb1F5Y0ZQdnA0Q0Y1c21MVXUwSmVsN3BuMFF4OFQ4cjRLaEVRdWRoUk13RTJtWlc4TEZTeVdobXFzRDRXNVRDYi1QVTBQZXNHMDdFMXJLYkdFV2NaWi0xek5pam1SWUpxUHdZSWRnUmdhMV8wZktCNFcxZEVRNnE5elRESnl6YTNTS0M3TVhhbjR6d2F5aGM0aTc5Ty1NM3JPSUIzT0lJUFc2RjY1MTM1WXlUVVpETGJqZUJPOGZ2NlJCQU9MR0xqXzgyc2hPQUFrRXNJcThPSnVHTWNiMEZUVXVqYUNHQURaLW85RWNhWDdMMm4xanJBNVVEaFNaV2xhQ0JfZ2pFTzhDTTdJV2xYMnVRYTVJOVg4ZDd5VE9TZFZWX0ZDbk5zcjRUdWNvcWNZalpDd1VmaUpSLXJfYWxKbVluVE5RMFphOGt5ZVRWZWZYTDkyNnFyQ1FqSUcxV29BV2FtYkRNUHV6QkJNZG5sWVNyaXMyV2VyU3hFX3RjeTE3djdvaU9Xbm05TGFVam5ob0VXVTlTTjBBSEJ1Mmhsa2dHOGM0TzhHMmo2eEd0QUVURnJJRnk3MTNJMi03eGVCNjNFMjJqZ0FQSlFqbVV4RzZaaExFSFJBOXNHWUt5Snl6dTNmd3c0SGxFS1EzdFpXN0JTV01ueXFYOUJsVG5rZEJrSHVBTkpiLW1JcWl6UVR5ekVodTBLQU5GY2w3OFpaNzYyU0pfdERaQTRhZDhweGR6TVZoZnpvYkt2Qmo2dUlKcjFvQlpIbmp3cFJvM1Y5OXV2bElGSWZBS3NfVmlSRWl0QUdxT29GaTczYlpuWFN5RDlmZ1hYNU53Ri1mcGd5S0VlQk10anM5Ti1xYUNlRFVRYVJaWVNlc1JCOVItMUVNa2pqdHBjSWlOaGxIbGxnZ21tOWd2T2N5LXR4bXRZcTZYRTgwQ3NQN05vSWZIZ3JYSTVwcURnWGtESjB3SWJxRHV3aFF4NWNmQVpFV3FuUDVPSkJURm5BbEUzSWpqdEFnMXRVNi1taUt5c29HNG05VlZUejNGNnh2V0N0aXFZeFVFX01tdy03UXBwcjdQdEV3d3B1ZUNoczZGQ1MwSXY0YTlQUF9Iei16QUt0Zm11Tjg4emhyY3hjcVhJNFRqeHpLenQ0NDk1RW5MLWVqR1ZUR3Q2OG1fMjYwUklIa0wzamlQLVd4NlJaRkVFb1RhMFo3TTBIdnhkb3JORVVsYXFqaDFXRmRKVFV3dG40SmJpeVJFTGthZUNMTEYtdlF4dkVwVmg4M29udUtZakVFV19CUXdrbW9ITG00MlYtZTJ3eVR4Rmt4eWpBNnJFQmk4anh2V0RYeWtySVVYbjRKRXZyS0MyWmZuZklBNUJGR3B5aU5MbU0zSVkxNHhKQ3VRY1g2aFVwajVWMVpfbllBLW1mTFJ5V2Y4MkIzZEVOdzBUZFY5QTU5T2NmUlRlamx3WVdDSEhxcFpPTXJQXzZtUjJmSTlIVGhIVjM1UXhIMS03eWJ5SEN5YTF1dzhhNGdPMkpXWjFqY1dTWDZndm5UTThRazh4bjdGcnFnaWdhYTJ4Y2RiUlhlbHlocUZUX3gtSUlSQUFNbEJLZW94cnZXaTRQQTZDc3BxSzJBSjk0ZVFEeHRjZi11ajQxek8xajJnQTJiNGdicGh1dlBHZUVDUTVJUDJzNzhYczY0SlVPVmpIZUxJdVBQM0laaUZsWGt0cl9SZ3BwTzZZS3FGTXFMNEZlUExHbWVDQTZfczBfdEhtNzJscmFFSzlmWnpfalBwRWYtQ1YwMlZLN2hmM3BIdlBTcmJlZmtMdXJaSXJmOXJrLS1LbWFmdGQtQXhfdzU2clJXLVprdGZJd043ck52bXVPQlZRaVRyZ3o5TC1PeDhVbTFSejRMS3hzRWpKZU5XcE1JWW1ENlN3a01vNVE2bnpLS2tZeVBvbjIxTVVqTTliU0tTUm1MVUVMeEhKN1RYV0l1UmVZRkIxb2l3eVR6OHdZdmtMSUJlNUE0U2ZfVTZPNGh1ZmVXLXJ1c2NDSWtqNmhudXNWSjh1dmpibTRndlBPZC1fRHh5aDJmLVBiZVQyWUg2QXFsQlRZbGZhQV9STXJpRWpFc0ZWamRsYmxVZVVWamxQT3MyVEhIS1U0aUxRSm9yeUV1UFBucGE1dFVJRW15dHBtSjZ5c29adzd3UkFBbkxfTjNGVi1nemtkOFdXejZSbldrdUhWVG5PWE1GUWQ4UlRQNzI2S1otMzJHdGxHRmZKUE1pdUZoOHBKOUl1VkFnTHBoY0VNeGxYbWc3RUViUnVEZ0otbXVqRkdRZWlpTHVLSUpqRFd6dFlnOE1LbTA1M0gzT1AxQldxc1o1bHotZnRSeHZtQm5vOFFDVjYzTXltajhmUHBKMHgwYTc0OEhydVhLTGhSY213SVoyZjJqRExqNGw0a04xbDdmUlI1YmlIMzZHRm01OENLQURqOXlGQ2hBckdmNzNjSkkwX3VCU2l1UHFBMTJRdmNxeF9IVjkwXzdUN2tyR2diTVlkZ1Iwem4xcjN5LVJkek9VVnV1QXphWm9ISmFZVXBEY3E3dVk0ajVrUXJ2WmZtY1V2ZV9iclFDSkNKenJaTkVNY2xtRTdCMjlOVm5DZDVKMDVZZVozb2s5bVlyd0dlOXZQeGZVUmxtYTllT2hFR0ZDXzV5T0dxT0wwWHY4eF9uUWxaaTNNVHF1UWJUTE9pVlY4OG9OeFdXQ1dhUkxIdkpPUzNBMmNsd0JzVFNSdV9ZMHZCQUlacXBtZXY0WXhzOFpWcXZtWUdsRjJ2bk82cm5ybWNYWHRPclFFX000TTJrbXRlenJheUpUek8tMXRhSjRWdkk3ZmplZG1tamU2eTREZmFkbjRlTnAybmVubUl1cmJFeE5mekdINnl6TFMtR3pZV1VLbGFOTXpyYjNYSGViNVBSMTNmZEJZeE81ZmZoUHUxZE9tblFiNXRtYV9pTGpkRlFkQThFUVQ5bXhnOHpDUWFjZDBNeXM0NGoxRXZiaEhzcTViRDFka0pQaXhKMmw3LXlxLU54Sm1ieVdhOEZLeEM5aHRIaEF3VHV2OVJ6akFJM0N2Y09rTnVVcVRaWi1XTFMzbFBxSVhGNjZDZnlSa0VTUXk5UXFGdjYwTld5UXl6ZUhDLU9jVUJuSFhMLVBiYVBKNFpNYTIwRDlYNW80RzdoNjYwMXo2MkJiMEx2dUVJcFg0Z1gxZ3JURU1SSW9NbHZNdDk3NkRCTDc0emJDN0VqT0hEMnpxQ20zT1dDSXREY3NBb0E2Sm5vc2lONmpTWFFEUlJhYXViUVNweXhHYWZNamlIZDlvbk5pb3dGREo5LUxsTkdOckhqNy0yT0lWTVpMMkFIMnVsYWNuNjVJa2pWU2FJdzlfNHh5X1FUOVM5c1B2R0RlZkVja1VMcnJuUi1JRHZTcVFXSXFKYm03TTQxbVhMa3hXLVR1VDM1YlcwQ3RlNUJLRFJKSExPU3lFZHZkdllfV190RnktY290SGF1VmlHZUt4U0tfa1RFeEFDVWxWT3pDcWZIMmlNXzVqdXU1RDZacVhRZlZfekpIYTVURkN0UjRyS1VkVmU2Q0tabjFFZjFDV3R4X2gxeDFLRnRMc2lIT25ER0tJUHptb1ZjcDQ1T0NJY0hjMEJPN19CTHVsUklacFpWcmNlXzFNMzdOb0pGdDkxZktxOXZ5dC00NGdfYVpRMS1ZWmZWYUlraHpxLWdjNWJUcThmN2M4U3JCdU1aaThUWU9WaXlnc0h0U3hWRHNaTFhwcWU1Yl9JWFZ1cEItQm1tRzZ6Zk0xZmFDRnNaYVc4TWNoOVBPTF9PQndNVTdCNG5TdXZ5ZTFHb19udkFvSHZmbDJWV1VnTXI3MERidE9NNjhteEExVlBSS0M1dDJJUVgyN1lRWmhyRFNaTG00OGh0cktVR0NVSjFaMmFSOVdhc0FrclRNODJ1YzdwanFvQzd6R1BhbnFGSHFLdmlzVVk5Rkp0MFZXYXd4OGxXZ2xYWlFISHNEVzZyVmpSNjFJYjJGV2ZCRURfcFUwc2x6YUNZQWl5eEtkQVdzejJfQ3hvR2l6VDhnNVd3YjIybzFad3VPZ05Kcy12SzhYWXVYdkx3UzdILTBrVlhLQkhDSG9SMkh6dnlnR21Qa2tEekpyZnJVN3hzczlIdUo1SC1SSnJacXhmLU5pbUxPWm5nemJiYWpiOUJzcGFScFRwUWwwbmF2TkpWbXNMSTJYelJwVldsWlctaTVWdUhDZkZEMjdORW9LalB6MFRiY0dQZ0NtRUdOdWo3dTRkS0t2NFdsWkxHby1WT1RsLWpkVV9aY0VGNy1vVlBZTXZqU05oVFp3WWw5TEowN2xxYkt6aGE1NE5iZUt2ZTk1c3RVVThibWFNcXd1M1dxUkltNmFiSUtfeW15el9COVRqalZpSzluU2hhWDRNektDTmpiaFk1MXB6b1lrc240akhDWTBxVDJHOVkzWnoyZlZuQ01LdU1ZV0p0Z0E3bXlZN1BQSEtycU1OWnJ0cmNvaTd2YkxkUk03MGY3aFZIemVFenhYZFIxMXBjN1F0VnVpUFlSRWx2UE5GUFBFRkJuZDZPNmpnbGxHaTRWSHoxV2tQOWJ3VUVPellQcXdoQkpvTVNpUnRrakFJd196c0lUY2R2RTFtUWxSMGx5RFJKTU9BQjRKVTdpRWcxU29QSGN2TmZibFphRDY3NUJKcFZwUkZKUk4xbUYwV3lpRUlvOHAxU2Jqa0hWUWxVcXRLZTg0clEyUGtUV0NWRnhsOVJMMzRjcHcyZjFaanVtbDFYYUZnS2ZWdTZLSnFkZnpzUHBHYW1UdGZEbTdkaFdZSUZrUjdhVzNvWUllMTVIZ0tnSDFkZmRDbjBUZVgybVM3UTFHTzJHNVlsUm1FOHJXLWp0Y21xVEM2d3hidUxHdXZiQm1GeTlzMUtyWV92Q1dXcGk4Q1hnMm1KekkxYjlKSFB4MXVvUE1MLVRfUXg2dGhnR0JEeUZpcmVPUkg4ZUhaOE9PMnR2TWk4Rkw3YnJMS3E5a3Uzdm1valplWFpZbExvRGJYTk9Jd0s0UFozaWNZVVRjWUkxWms0OVRpV21NNmR6dmVvamQ4dnpVNGZLRGVmUFZ1WXM3OG1ISG5EYkZ6eklGeHhRa2N1OWNsb2UyS3NZNHJvY01qbllad2d3eW9WSkIzUGJGNnJvZVl3VlFXNzJ4TFpMdktHa0VGQ1dKMVR2YUVRN2dHa3FJNHIzZEE0LWttUm5UQWxzT3dTZFpYZ3NlZ296RzJQUTZqZTV4SGNTUG9lNkRoUk4xbWhLNWZZR19KZGpmSl83LXVkLVo2NlMxZVQtcS1waUc2OGVfaVhMaWJHRno0WmFjZDBWVjNKN1VhMnF4ODRXX1BQQjRTZE5lQkNkYjlDb3ZXRm0xalhUcW9RRWFMQ0c1WTgyMEFTN3VvUGxJejE0R2xocWQxZHFKbmt5REl5UWllZ3JQTG9PaFdjaDMteDlmbGkwTWpiUHRzM3QtOEVDb3piVWlpeVBZcF9hZzFSZUhFbHNxUG1yQUZCMXJnVUI5SmxJMDUtTTRtaEJ5alMxX0NiejVLRHJFSkRfcFBXc0l4eUlSUnNKZWVaNE9NX2NnYlRxN2dCbEdzNGZwR0U2SUdZZzMtVkZ3Y1NXaUhwdmxWOGR4djU0aWhrTUZRVDVBbjRNVXZUM2M1YzdWODQxZzlrbUhpdjJqRElPc0ZYRDlncDNtZGpFUjRsQUNRdUdiVTlmd3Vmc25xaF9PcUdNT2x2TzNqN3VSek5XRktvdGJHZzI1Zm93MmdTbllfNTNCdHRGRFhFdGVFZDdLcGJZYm5ldS0ySF9yUVJobjJpcUNjODRrSUw1amlRVEVPdG9rT0lCQmEyYWUyY3MtRDhIVmpnV05KTHF6bDVsOVdwcVVUV2RDYVJMa3U5RGZ1YWkxenBjOEJKQkM4M00zazZOQTZMbFZpeDN0OWNqNUd2VjdHbC1QYXdidjA0ZFBhMXQwVDBjNFNxbzR5OTJ6YktIN3ZpTzA2ZjJlQWhwYkFiQ1UweEZyX19tWEtnSzJYclNlM2xZcU0yUHdBbVBBU1ZkWHNCc0p2djdfTXpHaWttWmxBSzJLYTV2UjRFeEY0Y3p3NHZvSGMxR3pfbjJpZlotWmxLRmJLTTYzdXNtTHlndHFZN0VGaDFyd0pTWnJIY0d4Mnk3V2N4SWVRY2otVG11RG9xcG9kdXNQenN2R0tQbzM5dHJSeFRuNmVOZF9lMzhNT3BNU1Q5VEtMQmhVdW80WUVaM29IU2phUnA4TEtKbjZjNUFDelREUVo4cVJVaEw2Z2R2N21FRlBpMWFTVjNTLVc1RU1YOFRTRU9oZnpDcmxfUTlGR2lYaW1KZ1dSdE1Na1JHeGNILWFsRzRYWkthdTlwcmhZcUM3SEtiNVZOQkx4OUFhemtxQVExRG5xRkdkNEdYd3luWjdXNHVBRHFfUm9BM29VN3VnQlJzVmNIeC1MNjJITU9PQWFYYnpVZWMwaWM2d2ltVXVpdmJpa3dZSnUyeGgyc09qVHA1QlZRQXFGelV1NDRYMUVpaUJxUldIWW5pNGNFazhpajk1Ynh0bTVDUjBweThzRlREUDBGcXEtWVoycUt6MndiSF94SmVpOXg3bkRxUHlhRDBEaWk2MWR2UVhramtrNGhFSGtuUWpoeUR2NGZLN1hGejBGWUxXYkwwQ05ORmdHeWJhQjJWT2FGYkJQVmdtSjRFNkJxTHdTWE1UR1dVd3g4cjZWU1puQ1l6NjRfV29HZ1BteFFDckdRWXBaWVRXNkFYb3MyWTRtQ2dNeWdDV2hKTng2a2ptbGRkdDZTeFNWdXVlS3RmWkMwNmktYzdpa0ZvM0ZYRzF0YmpwdFN3OFpMbWdWb0k4M19scTNxY29QNTNkVklZVy1GQnUySXJwYU1DZDZYNTJWUEZ1SGhKYlEzWDF0VG4zLXNxTkFvdXdWckZjMmNTbHJvSXRFOHBYdlVaRS1NQTR3QloxejRJYlpjYk4yLV80ZVM5Q0Q0c2xVSlJyQU5MdzlEd3BaSlo3T3NvZUJTWUZKeWw4SFprMWwzTlNDdFpNQUIxX05QODFpWjV2amdrUUszWXpWTDB6SmV1cUJUc2VSb0xlY3BPWEY1V2dEaFdrUFRlY25mdHFMdXZpZGc2d01HRkt0blhnYTVrbWZQbUs0d2xxVUhQR1BSbXZDV1ZZelRUN2pMT01XWFUzVmZsUlpabXpJdzhla3pLODQ5Zm5ZQkR3YnYtWjJvcVhFNGFQUUswUUNYeUczTU9QM0JpcFFXc2VtQ1JLRWdnRlBTNEQ0TlRjS1FKVHQtLWUtVXpMOTluM2NZOWpXUVpPZU9iSTlxTl83MVRPVnA1UE1mYjJ0MEhCTU1KNkxwcVRuOXFQQVF3QkdZYTM5aWRqU2ZtTXNXd013a25naTJFZEZWSTM5Uk01OGdlMnJITVFjRlF4bGhyb3M0aS1kNnlSek04azVNcGRsYW91UDZ3VWlGZ1E1ekdtMEpVNTJrQ09VakxnaUJNakhLZDUxUWs3ejY2YXZicWlvelFRSnlneDlfM29WSzMyMXBFQXJHd0Q2cjBKLUJySWJBamFmYU1sb2xPbm1TY254NVM2dE9rQ1VEXzlIN1RQRjRoUTBBQl9sZmFpNHFoSFAtdi02c2xxQ0xqT0FmTk5mTmUtX2tnU1lfdVpGMUQ2T3FmZTVDOThPc2tfU1ZHalBsYTNrNk1CdFl5TEZpZjdoVktSQkVibk44Sjc1MFp6VHV6bjIzMTExY3ZyZlhpeG8ycUY3cWgzUHlDMEc1YnpiWFFMNmtXc21TS2R1ZGFXN1N4NG9WVHZVMnlHTVVzdWt2ajhmd183OGhJYW95d0RRS242T1p0WEszZFUzczFxVkk0QlAyRUduWXd3MU9INWdKNnd5endqUzBjTWVLbldiWVh1c3NpTVFmdEcyN3l4OThKcFpncGZFemFsaHIzOHE5bGxBc3RlWnhvS3g4ZmRhcnFjTU51WWJLblRPdjZTZkFfZFR1VmgzejZDMVV2cl96MF9nd1VtVWFhX1ZxMk9kTWVVV2IwSF9xSGc2X3FKNFZPWWhOODdFMm55WkcyTElja0VPc2k3TnNNZW9VeHg0LTc4ZXFxTGk5U3BscUgyWEFLbEtTaWQ0eGVlVDV3OVI5YVJDVGZ0cVNxSEpfa0YyTzl6elRDSV9XTkdGX3l1c2R0eER4bllMTHFtNElqUWVzTmRSV2duNURDZ0Q4Q3NqRWZic0lpNVgxWUFUZ29KQS05Z2VuVFV3LU14aEc2WHl0ZjlCM0piSHJoMFZQa2Y1cE5RZjIwT0xPSFMwSVNLOU9QMGx4ckZSQUFXa3A3RF9aNGRIOENySUUtRnFjWHAwc3E3QndSOGZFRUMzMWhicjl4NEp0T1FiRnN4NjNSaGEzdTltOE1NSzNUeUU3eWE4aDJVdTYyT3p1Q1JrSl9mUnJEODc5cEl2T3RRYW5rYzRJUE9Ia2tiNHV5SWxiTEo5QUF4eGdXZTBfRWdhYnVPMWdDTVJDUG56RWFHel9pajNmVXFFVmpXVzF3WFZXUjlVOGRiS3N2UFd3TkV3dmNJeXF0X0ZlMzFaM0ZsVEF2eDY1UlpGQV9XYmg4bVF1NGg1MXVzazNBWTRGdUppdWpFZVBnNXNLcFZyaWRXbVpIS0hSWndjRF8tNG1CNVV3b0hRcXhWVEZaRjBlcXJ0T0FXMGdXb0l3OEdULUpWelVrR3JWQ0JiemQ2MHJHNE51ZDJzZjUxMnN3MXFOZGhGZXFoT0gxMWJCNzItLXhkOTl3aHl3MVE2a3o0Ym9OaHdpRTA0cmtBdGM4RHpVczFmcldoLmd4amVtYTRfSkxNQk9mTV9LNWR4SDd3aldzZ2hzSFJYNTcxNnZGWmFnZFEiLCJ0YWciOiJoc21fYmFja3VwIn0seyJjb21wYWN0X2p3ZSI6ImV5SmhiR2NpT2lKa2FYSWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pWW1GelpWOWxibU5zWVhabFgySmhZMnQxY0NKOS4uUjNJN2ZhODFxMkxiSHRCSlNld2VCZy50Q3BZMlZBWTlpZHE0YWVZaEh4c29HVlcyT3lKdTdOVHRvbEJZYUFJSDBsNkFXR09IUDZrVGQwYVp4bFV6dDYzbjV6WUwxa3hSeFdMVEJuVUFYTG1tT0IwZjZlS0poYzdmSmRVZTU3cDhNTDRjSktIbDJSS1FwdGpfRVQ5VHVOc0RZZ1ltVXg2RDN1MllWak5GcWMxcFhVbUQ3dW54dE05eU4xVFNGdjNWY21BNHFmNXZ1T3Z5Q3NsYWd0T1pzbkthR1V6ZGpZak9RS0pHRXoyeTdZSVlYT0tHLWljZ1h0Z201Zl9RcDZIWUJlSWFobi0tSDhMS25uT05rQVRKdFJRQVBFUllrTEtuZHNaN1JLNmFacnFaR25SRm9FRDdNWkloRG4zWENKQ2xZZ3Fsemw3a2FHQlU4ZUpsZGpKMjVnTnIzdTIxamZNeDBDN2o2ZUZaOTd5NFJhQ0JGUUptUGlRVWFmQkdYSDJPTGNBS2lNOXc2MWtzRjU4N0V1cDk1T0tYSjBrSEZ4OG9oVmlxbGJnNVV1QjhaY3l0eHZ0S3pmWG5RVEJqS2ZDYmJvYlBkU3FrNVBEVWtCWWJ5WGVSS1ZXMHREeVZFZk9haldzWE0xdVRsWXItRDgtQW8xV29jT0hBYkhGM3h1dVBhZnNEdklYcTd3Mk5fckJwOXZNOWpPQzBqdExEeldYeFlwcjIxWmNIdmhwaWJCM3F3ZEVNS1pfZDc1SkM5Y0VmMU85LUlNaVBUSVpja1podEVyazVQQVI3ZnJYQVBBOHJrVjJtTVlJQUxOWV9EQjhDcHVIR2JHeGZ6cE1iZ2d2U1R1OUtacV82YWhIbGVIT0VqRklXNXpiWHp3NG05ZXpMRHpQTnJzWUwxa25uLXAxT0k4TWdzZjVmd1hZS1NtT1VFeEZDdUI2NDd2dldhdmg5eXM5YUxZWFNOb2pEQWxqZlRrRmU5RlVVdUZLSmV5S0V5a2RDS1JPZHZlSXhqSHk4emFBdGNBZGdVSXAwT1FWdkFON3VnZkI4SVJQLWU1a2k1VlptNHpXR1AyQkVWTV92WWxlMkE2VEp0SDNMUFQ3TVV6VGxvMVBVMWtLVExrZ3EyVWp4MERldmZrLTg4WjNTbFhVZWtRVG5QV0lZY2lhY1hDMVptenRVQVpwYTBraV9TcXVmRjNmdGQ4TFFJR3dFNHpkZGZtc0R6aWxlSFpLR3ZUZi10MUtkTm9VbkJtYnFOb0JObUR1blNuTHlBeldFWE16Z2VIZHBsLXZLWVpTUXA5ZnJpdkRlV2ZlOGxXVmJPUmxiUDRxNzlKQ2tVZHBoMXJnM2l5cXRjaHpMa0J4N1pqeGJkUEZ6MkU3Q1B2UGFFYnJUZ3o5WDRUN3VZa1JVTmtDRkpscF9NS0VfdEthNXNwREwtckx2bHgySlV3ZWpXUGJyRWdWRDdocXdhVklMNXdwZzhHSlI4eEhpeVdMbzNVcU1fU0FlZmV6MUNDcElFb1QwT1E1TV94VTlhNWp3bDAuby1JSU5IdzFXTlJBc2xSRnE4OGlZclllTmVibVRhOVRrRlB1Um9LRl9lWSIsInRhZyI6ImJhc2VfZW5jbGF2ZV9iYWNrdXAifSx7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhMjF6Y0Y5bGJtTnNZWFpsWDJKaFkydDFjQ0o5Li5XYW82Q1FQYXdIN1lGRXdHN2Uza05nLjNVSWh4SGFtV0FLWGlBUG9qVzNlcW56NThRbEpPQm9OcDJGcHVzT0k0UXR6RmIyZHM0M29TVjl6Q3lRaklrc0ZYRko0Q2Zra0QwQUhxQUtna01LZ1JWd09aT2xyRTJHZEpKRVk1bzk2QlU4eEhqZF9BVFo2dlFiMlVMRVIwRnFUZnZIOU5yZlY5SGRfX1lUS01UdVE2ME5XWWtUX1R3TUxRX2kyRDdHd0J0S3pLN0FnbEVjbVM3RXpuWHA0Zlk2RmJRTmN0ZDNjNHpWWUFieDJxbndHMWYzTDNaMndkZGdySVhEMmJlam5RQmJMX3VIRWJUM18yM2hZeDZFdHhEQ3E0bXIzNXB1MVNINDF1UGlnQTcyNG13clNXYUR3NkdJRHlwZVpzc1RYNmc2RXQ5ZHJ2aG85UHpZTjNtdkxpR29PdHBPTUN1cTFyd3J1QmZNMmlkNkdfU1FMT1dkR3NQOWdIUEsxV0FYZTQ3LW1qWXBkbGhiaGFNTjFVaVJBZWxORVR1al8zaDl5Wjl1aFcxbm9TOVdJYU9WekxFVXBDZnJNTVlMLWdubkxuUXZWSkhWNjJGTUQ4V2VkUlUzelVSSzQ3VFZxTGtzY2RoYmxNZUJHUWhJV0R4aEFuSzNHcUFOR25ZM3Bnb1p6QzRTdHVfWmNNS2tsMVZ0bnZiZUZoTExHMnpmMFQ0QTM1Q29ZVHV3TnV0LUNVS0prOW5mZ0x5YXZWNVJGclg1cFJTV3lGS0dUNzY4Rk82MmhBY3pCZDhVeVdwdVJvNGhZZkZjOUI4dUNKZ21JSF9KWXhRVlgwMjh1akdyYm04cjVFa01GNHMyN0RZWmkwRTVCMkZGczNLOEsyQTJxM0l0R3ZKWXdkc2c1Q0g3eGVhelZGNmtjTW5vU3ZvM0c2MVp2WU1lOE1wQ0c0ekMxekdTeDdHSnpjRkxyUG9OcWVnTzhob1p5YzJOSzc1elBFWUN1TTkzcTB1Q01QYTlQbmxPV2tLZzVzX3RLTVZiQV9sMEd2eHdla3hVUlRKSzBXbjRxc0diLXRqb3lmdDd0MmxzcG9LMnprWEtPRGFSUlZfUXhicmJxYlFzSXpGLXIwNnB6c1JRSExGTlR4WUJBX3Yyc1BBSXFkSGowdEpLcUs3UG5XMkk3ZW5BNE5UM1NaOVp6WkdCY3Jua3R5Mm1fQVYyQTNWaHRlRk43X0I4VUVnYXhKenNLNVZkQnhGLUJDNFZlSkdvMXRLcXJ0WktQX0dqQk1NTGxiNlhZOEVoS3BQT1M0a2RIQnNsVFdPLWNwZzhnNDZxRnpmRDdqOE5IUTF4UkJqRmZ3ZnI5ZjB0YjhZckNHek9RNWMwQjdGQUxDSk5LSUZnc3JWallkT2Q5b1l1QTV0YlpmdlJBdDJHTllfLVRId0xyMHBZYWQzY21XTU5VUFBjd2R3cjRqNkI1Qks5amJRX2d0UldGcUF3SHVCaHRCbklpajF1UFRPNDZlRmttUXZWT1E2dll6M015M1djak5Lbnl2X1dmdGdHVFJIdnM5RXlfblFMZ2ViV2dUSGI3S3VsVjhKN2dFWTBOOERob3Vsb0dVTXFsaVh0bjZqYWV0VWVSQmFoT2hUbkkxWGVaNGZzdGdpbHc3dnhEeFI1dTVXcEdHQWtHMi1kc281b045QVVEcHh2dlh4Wld3S0g3NkNvcUZqbmJIQTBXVlh5R0hENEw2SVlrQThkWHhncFltOUU5OFM3YjRnaTEycTB6TWVMR2Y3dktJRG1ObWpvRVZoWEtGS1BOXzM0RjBMeE1NVWtfMW5BM3lxb2FXbUd6UlNWV3EtLXloa05QendNSDF4WDJrQ1p5b1hsZ25kSzh6dzVkSXBza2RsZkhuU1piMVpEdjZtTWhQbklLMWhhblJZb1NzS1ZtZG9wRUhtODdDVFVpWUVydHlPSDdmU2FpalR3M1dUUnY0N21VcUdvdTBXdUNIZlJlVXMxMFYtblJpYWNoSVBqLTV2U1NNS0NTcFdscWJ1Q1V2RDlsdnktRVNubEw0T19abEVRckRnNVRTSUxZNU44WGw5cVM0eDREd05DR1ZiSnZJMUJfeE5CTkJmRFVmcVF2UXk3UlU3d1ZhSHFLelIyM0h1eThzQU8xV0JXMGpCdW1RSjI3NUpHZldTVngtRjFhXzhIWkcwR1ZLczAySXFGdDRTOWRyMENPNXRHMmsxTnNzTXVrWXl0YnRzcXJJdGxzblRRVjdiTUhFZ1pGSWJ6TGpBd3lhUWM4NWQwSXhsQmJibUJZZUhkWnRubGRkdGs5QnZ5NHNqckRnSVZlQWVwdVZxRjNONklrcXVJM1UtZ2p3S0FjQTNKMVJkZENEeXJMVTJhakZGOVdhU0FuYWlOcXJ1R3o3WVY5SDFiaWlkWFJiSFBoRXNFNDNLMkpoX2ljOVBoTFUzdlBXbGNRODV1R3RrWkxRTTNlbUF1RzJLR1NGQTcxd1pyb1hocVRIQUxKNWpLTElhQ0Rld2hfTHBOTHNjM3RVS0xOMDRaVjJHSDhTdFl1N3ZlOUE2QXlTcmhUZjFKRGV5aWdael9kU1ktQXNpaGszRDFjSTN4Rmh5LUdsZTNWQ3ZPRjFSTFFfZHh2NjV2bldTWkdBeHRNdXFHV2VNTnVZY09saXplRGZnNFVuM2RPN1VpdDhpb1R4dU1WMndyRVNPVXpRdThpb0d6TzNpV3RXWWxfMll0LTF1eGZVRjVMSF9EOW9pazFpQTJ3RE9ydnFJemhBczJGakxMQmhqS3BIcWViODJTZ2J3elJRbzJFQmZuenJiMzBWNmtPTjUzOEJkanRCS0hvYUdJSnhLUnNnRjZzUkkxQy1uSVR4NWFZeVhJMExDU0JBRWU5eUpUWkxVV2tqT3AtX3pSSnZfR3dkTnhTWnZMSEdkcFlWT3ByMTF6OFU0azhYTE1xSnRhWXAtZk1CcVh4eWJMZDNxaE1kX1B2V0dNdlJHYm9pd3F3cnYtWllwbHU5Y1I1a1RvZmlHY1I1SFpaWXhTcjN1ZVVubXpjY0kyRUJNQVFqc3UyLWthU2NLMnNWang2emNUaHU0UFBxSXpELVpzdDlRbGpqVGEtZW5kU1ktby1NUjFvbDdkNjR4eTViVzM3Q0NOcHJYX0Zud3djaEhCMXVHUzNLbEx3UUxkV0NlX3dPYjY3NDNNSHFZamExNm4zdW9UZFF0TVFIUkt6N09kaWl2TDF0NGJQdFVrZVFfZkpsRGpDbjJTRGpRelBUWWY4SlY0eFpkTFZlcEE3V0NaNHUyWXNyUFBKUk1SdU51M1VNWUVxYjVhX2lzdXJJYzJNRDUzYVJpZHlxODBSN1lkaVRIMV9oZDRfR3pEWTd1UDBqSm51RHV0SUNNUkJLNTlqejIxWWpydy1ycGdnNFFrRlQ2Sm1CbnFSS20tWC1YTlNDMFdLeFJGcjRmQlFLVXA3bEFfRDlIVWdzdjlPUE9RREF5V2ZVMzdja2ZfWEFNNERiYVJZTkZrdEk5enUzazhWUk1NRE9PdVJPdTM0WHBhU2VUaVg0Z1ZtdHp1bDkzUnd2VUplMDBBT0FyQU53ZmpKRUZHSU5fN1ZxMWVHTmhsWlMwSkZBaXY0OGJzU3cwTTB0eWpmVGMtZlJrMWh1UUx4cC1HOURyMHg0V2ZaWC16dVgzaUx5VnRsdkIzNHo3eXcxSTU4aklTeFdMZlczRXR5T0xod0RKb2pYTHJpeU5fWnJRQ21BS0tfZ19NU2hvY0FLMlo3S0wzSy1ETGw2NnFLR3RwV0FkS0JnNWxsWS1YUXJjWnF2MGlkbWlaSndqZ2kyZFg3VmVmVUw2cld4TkQyM05Vb1U3QUVVempzdThKMHF2ZmQtU3h3SHpseFpLYUo4NTV0aTdTS2RUNThUY19MTFN4UDFXUXAyaENOdkJ2MDJQNlJ6VUR0LUNSSVZOWWpUYzFaVXNSTzByRExTMERmNmxkekZWeHFaUnh6eTlpQ2ZhczRFVndMNW84WHJVbmh0elFLamNUY090bjVyWjh5OHZidUhGWkdyZlMzRG5vemNuc2dRekVwWGw5X0cwRlYwRFY3bGN6TWlEajk1eGh3cnJtbmttdlY4VktZOFFTSkQzbklYOTlCZ05LWldyNmdWWm92RHYxUmpBd2JiSlJOcnJDYS16R3JoRW9WX0pPUGRITC1OZlNsNjA0TnhvR1NIR3RtekNCUktQYjdHNUJfWFVsUGE0NEZReXgtSk03RmlxbE45Q3lJckpkZVRXcWtjalFEWk9Mb0M0UFB0Y3ZDZldCOFZ3N3VCN1Rfbmx5emlFZk9zVkd5S1VUMGE1Tm9BdkZpNVJGSE9Xalg2bkJDWUZOaHhUWVVkU0R2RFRhOWlYN1Zyd3NNaVRvMGxCbzJQMm9OQng5Q0M0ajNVaTVOV180eDJNdWlKSEtqc3dXa2d1cDhxd3pyeTlxYU1fSDFFdXZVZWl0X09kRTN6MFV4N3RkT0QyM0lqZFVuTnZ5eGROMTVYcGU0Q2lReGJMU25kME9KQnpoWHZ2V2ZyQlVnZmttMkYxVjc1V1J4Y0h4NmFrX1Axay1oa3ZGb3dGZnEtZUR1cEU4aHM1NFdGZFFBSmpYczV3MzdkWXZNUXh2WXdKa0VwTDNiN3ZkRHdJWWNqRlg5SWctMmJJVTZJNnNKX1pwYlNONlpjbG4yaE5tblg0WmVZNHVQRTAxVVJlNm03R205QWZwRTJhS2lPMS1pVm56SkdBOElKUHh1NXp0WkxtWUNPaG85Nk50V1VzR1E4MEpTbmgwWXVELThZclhmWnBLSjJmRGFPODZ4NVB0NWN5UVJYc3h0ZTBPUjhGMDd5Tm1nclNIZ2NGMEJGTG5fd2xXbGJUd2tiRHk1ZWRhcWVFMFdZdEY1Mnl1Zjd1MnZvZXhZckEuRFVIdHJDMk1iVVhUZ05XTTZZdlppMkdIVkpMenJsY2dVVXF2RXBrNkpCYyIsInRhZyI6Imttc3BfZW5jbGF2ZV9iYWNrdXAifV0sImtkZiI6InNwMTA4X2tkZiJ9LCJTaGFyZWRLZXlzIjp7ImVuY19zaGFyZXMiOlt7ImVuY19rZXkiOiJleUpoYkdjaU9pSlNVMEV0VDBGRlVDMHlOVFlpTENKbGJtTWlPaUpCTWpVMlEwSkRMVWhUTlRFeUlpd2lhMmxrSWpvaWJtOTBJSFZ6WldRaWZRLk0tQXhHUVlKNlVDQ0xtZVhwOWdTUjJFVTFsbktMRXEyZjFWd01uT0pXaWFMRGJIZ01sX20tRlZ1X1hsNEdNczM2T056YTFJZ3FEM19aQ2h4dmJUSzRtb2JnczlyQzBWR0tYeDdHN3FkbTdNbDhFVGZCampMTVl3ZElReUdyeVREWVdYZW5UdEFacVpJNnc1NmZhX1REMmhzejNGQ2NkLVBmdExYZm04aDFMaFlHZVlfUVlqMzBPeVhlV29FZ1ZndzYtQ2d1RGlhNUdxWjhISl85S0Z4ZVZPQl9zQkt1QjdWWmdpRjN5LVVkQ1FNV0JSSkhITU5mTWs0QTV1bU81aWFRbzFVN3pDekRDVGpodjBVX1U5U2ZOdHFFUFdkbFZxanYwdXpaNXJOSUdxQjI0cE5NT0V5dU8ySDZWTi10R0xkX1pLNlNHUmNPc09BVlllazN1WjZyejhiekFZRVVYLXlXNFBUUWV2Ujg2WlJzc3BIdXRjYldaNi0ySG5YUV9UUTBJNFMtcTJIVUVUNEE1QWk2cy1NQkFLeDQ5eFV4c1VDUmxQTHFnUGUwRERlaDJmOVVpQnRGQy1pazA4ZXBYa2xHVnJqVWFXLTU2RUU1b1R3WWN1bVpNMy1nUHdPV3JUN1luRThWd3BveEt1Z3Bua01YNENJZWpOWTlCRzVlcGxfc0VfLTRpMWRpaWprdDR6UUtDNHVTOWhDMXRSdVdfYW5wZHBpd3VYUFVOaWRNX2VpWDVRVWVNT256cVFjLWtxcmdRR1dUYVp6S2lyZGNQOHpsTzdYQnZWaW1Rc2V3dVVJZnVfRVpMQ010WVdLZEVLTk5Kb19LTTB5bm9qZ04zcmxia1N5ZWRTcE4wVXVnTjdPd3o2YmZXM2xSNHdKajhOclo0bzM5cjBLVDhZLnZjYWFxQ2RMM0U2U2wyRkpVeFZNdVEubXFTa3RpZ3pYbkZpTkhoUTBXQ1RheEtBODFYWlpFU1A4QnNuMlhTSFlzRnpOOXZOdHFRN052d2I3RFItSnJzaVRRRWxZb0NSanFyemZCQm5EbC1Vd2g5QS1LanBzUFJKcXRHd2dSWW9vRlUueW1ObTVRWlJxeWdadjdoQ1dmQUJpNF9KRHI2dmdQNVFNQmpoMEd2WDlMOCIsIng1dF8yNTYiOiI3ODd2MUR0V3E0OU03bzB6dlRRbmp0V3gzdmNTc2xZZzBxYnoxdlJUa080In0seyJlbmNfa2V5IjoiZXlKaGJHY2lPaUpTVTBFdFQwRkZVQzB5TlRZaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2libTkwSUhWelpXUWlmUS5ndUFieGdOUmNDcXJNOUF3TnJEOWR2VnFBcUYwSUVuUjBTbWZGR1Q3T2hpUDhZdVVKbFd2OUt1MmVva05GLVZrbUZuZkdfMWlIVVZoYUxNNEN3X0RBRjQ1YnVtMlBCc29qcEYxY1FNTDJPR3NyZ0xnZG1sMWNtbEpKaXh3UGk2Y29TVTgxMGFrdTdpalVVU0xDSmlSaHJvQnpmVm1PS0lqQ0duaGVEcl9pdVdwN1NaUkRsejYzaFMyVGh1bXZ0LS1TVzU2TGxSeHpLelJaeFliOUctWTBvYXF4UkhsMThLSWp6MGZNeEswS2ROMk5LQTdWaDZEUnlRR3BvRUFZTjRtYkxJbDgwb3A5VlFCUE1uVE1KRnRHY1pQV0JvNlVDQk9HRTN6eWUyRGEyakZnTGtnOV9xRV81MXY4RGllZUJYY2FGTFlzV3lxbTZRLXJnczFxNlozVktEZkNONFNDNllvSFBsd0xCMkIwOTJDdzNkM0kwVm52eUtTdndmMEdtNW9zUG9tbm1SN0NXa20ySGVUMEFJbFJoUG41Y1V1T3ZjV1BhNFFtbEdyRG5sZ2RTOVRqSmdjVFhQdEVLU2ljWmtYdFhtdUtNUHVNbmNSVFNOVHI0WGZ3aUJtNEFtMjJKd1FtN0xPS1M5X2cxNi1DMDFTcFh5UDQtNkZSV3NZMWczMFVjZkxPS1pjRWVtUTVSVGRDWkJRU3dQMTZEZ05PLXluM2JTUVl2ZGFUYm5qV0pVSjEyTWppMXMwckxMdDFkOE5GbS1XRVVXdUFZd1B5YlJLa2JBRXdFajR0MjhyRmZHaFZBdmc0R3otSHh3OHFLLUhuSkNwWVFtTXFqT0hpaUN1OWNVUUYyeXBmTGxEVU9SUlpYd1Bobnc5NUNWV3JPcmhWWENIVWk5bUwtdy55dFVSMjVSVjg5WFNjR1JtSW83MWxBLl9TWGs1bzF5Wldpdk5NbGVIYl85Z21NeWZuNjZwTFdyLUxhbVZ0VmhjNHFZZlg1RFFiSjFoalVXYmVtcHZRc2hHVUxqX08xMkpKbU9tblZLRGYwR05FbnJGOUlFRlRpbzJPZy1TeHNKdTQ0LmYtRnlTYVg0Y3pnSGM5X3haalAyeEdibDl4bnRvMzBNMDU3VnRCaHNrLUkiLCJ4NXRfMjU2IjoibmhHaVdaM3NEdWdBS1pObnBVNGY5MHdYbFpRTTAzR1Y2UGZzYk5MczhObyJ9LHsiZW5jX2tleSI6ImV5SmhiR2NpT2lKU1UwRXRUMEZGVUMweU5UWWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pYm05MElIVnpaV1FpZlEuZXRadTJjek9zVTBBZWRRSWdnamxsNFZIWk40SFlXc1FpZG9EdUx0VVlSMlUxWnBLU3RYSjUtUjduUm1Mdk1USVZVQ0pWcU0yTkZxNjB6cjZMZUc1VXNPY0ZGal9MQzgyMlRyMEJJa1BaZnRWZ1gzUnJHTmJzcmNKWGtxcW9fa05WNDM3Tl81VlgwVE5ldFZURk13RDM4Q3FXX0otQkUwd1JKQ21FTVk4QlpvckROc0dOTnVhUlg1bDdod0NRX1RtN1NKRVhlNGR1alJXVEVEWXM5dXdMelgxcFplcVRFa0NfZTl0TVd1Q2ZDZlo4Q1JyQ25oQ3oyemJ2bUQxSldaVVlRc253a3I1LWxtZnQwUm9UczF2cGVQbGtIdjl3UkplYkp3U29KUWJjQ3JPMlJRRE9od1BCNkdXbk1WTTY1WnU5MVh5V3RQNFdjUHFvak5wdDZHSEZPdmEzX3RTaG1LV3RYNXhhM0dzUUVJaTNCSTdGOVdMNEJ1NkhqclFkMDVjcHZVcm80X2hUeURiWUtET0g5NFlPVi1qUXg1Sl9RUXJWVnJDbFJZd0Y0ZjMzcFItTzJJbnh1N1UzZGJNLVFQNDlLYUo3Y2g4MkpmOTRxY2N0dGJoVGpxNG5TdzVNV2VjbkNQZjRIa1JjdWw5RGtJZEVwY0RIMmRaVXFkV0JHYjFuRWNldlc0NDBUbFJuNkcwVHhqSzBaX2dpekx4dXVsZklPUTEySEpNdlBjWXd3OV8tMWdGZWdUdDgzb3N5OEJmVjNwNDA3eFpXRVROUFR5ZWNMNTV2enRKUjJjUjZLWmRlTkdsNlpENTgwNmVPYzlaUGIwS1Fnb2I3MkRVM05mODJidDN1cFB0LXEwaFNuZzNIWHpUZUhWYlFRV01NWmxBcEN2aHdpWml0SGcuY2c0d2tyQ0p1YzVBbmJaY2lQWVhDUS5YOW1Hc0QxdWJSU0lFUzBiclJiOWhQU0xaY2tTaGNkbmtBRzE3MTFpcnpmcmlEMWZwS1pna1RwQzZfQ2daTnBiU2JHT3psQTZkZ2pReXpxM0dFN1JGa0MxRzh4cW9DZE8xTVp1MUVsQzdXMC40dUZFdEFSUktzVHdxWUtjRDRTNm1HQ2JNZmhxeU9xd1VHdFpPMWtYNExjIiwieDV0XzI1NiI6IndkOUVyWmhYUVppeHB3TTZPLUVCOWNLQWlBaVM3YVdnUkdkQWtNMU0yNzAifV0sImtleV9hbGdvcml0aG0iOiJzaGFtaXJfc2hhcmUiLCJyZXF1aXJlZCI6Mn0sInZlcnNpb24iOjJ9" diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/examples/securitydomainuploadoperation-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/examples/securitydomainuploadoperation-example.json index 0a9caadd3972..9e5e99093492 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/examples/securitydomainuploadoperation-example.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/examples/securitydomainuploadoperation-example.json @@ -10,7 +10,7 @@ "202": { "headers": { "Retry-After": 5, - "Azure-AsyncOperation": "https://myvault.vault.azure.net/securitydomain/upload/pending" + "Azure-AsyncOperation": "https://myhsmvault.managedhsm.azure.net/securitydomain/upload/pending" }, "body": { "status": "InProgress", diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/securitydomain.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/securitydomain.json index 7257afea5782..c0e5853eace1 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/securitydomain.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/securitydomain.json @@ -233,7 +233,7 @@ "certificates": { "type": "array", "items": { - "$ref": "#/definitions/SecurityDomainCertificateItem" + "$ref": "#/definitions/SecurityDomainJsonWebKey" }, "minItems": 3, "maxItems": 10, @@ -252,17 +252,6 @@ "certificates" ] }, - "SecurityDomainCertificateItem": { - "properties": { - "value": { - "$ref": "#/definitions/SecurityDomainJsonWebKey", - "description": "Customer generated certificate containing public key in JWK format" - } - }, - "required": [ - "value" - ] - }, "TransferKey": { "properties": { "key_format": { diff --git a/specification/keyvault/data-plane/readme.md b/specification/keyvault/data-plane/readme.md index 8f5488fbaa14..d2893e2d923e 100644 --- a/specification/keyvault/data-plane/readme.md +++ b/specification/keyvault/data-plane/readme.md @@ -144,17 +144,6 @@ input-file: # Code Generation -## Swagger to SDK - -This section describes what SDK should be generated by the automatic system. -This is not used by Autorest itself. - -``` yaml $(swagger-to-sdk) -swagger-to-sdk: - - repo: azure-sdk-for-go - - repo: azure-sdk-for-net-track2 -``` - ## C# These settings apply only when `--csharp` is specified on the command line. diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/ManagedHsm_Update.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/ManagedHsm_Update.json index 0d672d316c09..8efe883a494d 100644 --- a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/ManagedHsm_Update.json +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/ManagedHsm_Update.json @@ -43,6 +43,9 @@ } }, "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1?api-version=2021-06-01-preview" + }, "body": { "properties": { "tenantId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/purgeDeletedVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/purgeDeletedVault.json index f39a347c1094..ae7455752e2f 100644 --- a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/purgeDeletedVault.json +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/purgeDeletedVault.json @@ -11,15 +11,6 @@ }, "202": { "headers": {} - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "", - "message": "" - } - } } } } diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/updateAccessPoliciesAdd.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/updateAccessPoliciesAdd.json index 58c13c9dd8ec..6f199852e2ee 100644 --- a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/updateAccessPoliciesAdd.json +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/updateAccessPoliciesAdd.json @@ -77,15 +77,6 @@ ] } } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "", - "message": "" - } - } } } } diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/keys.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/keys.json index f10f60b8e6cf..272c2aafa28c 100644 --- a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/keys.json +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/keys.json @@ -383,7 +383,8 @@ "verify", "wrapKey", "unwrapKey", - "import" + "import", + "release" ], "x-ms-enum": { "name": "JsonWebKeyOperation", diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json index 3dd42bd0bdfd..07f35d503f44 100644 --- a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json @@ -332,13 +332,6 @@ "$ref": "#/definitions/VaultAccessPolicyParameters" } }, - "404": { - "description": "The specified resource does not exist.", - "schema": { - "$ref": "common.json#/definitions/CloudError" - }, - "x-ms-error-response": true - }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -608,13 +601,6 @@ "202": { "description": "Vault is being purged." }, - "404": { - "description": "The specified resource does not exist.", - "schema": { - "$ref": "common.json#/definitions/CloudError" - }, - "x-ms-error-response": true - }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -1117,8 +1103,10 @@ "restore", "recover", "purge", - "release", - "rotate" + "rotate", + "getrotationpolicy", + "setrotationpolicy", + "release" ], "x-ms-enum": { "name": "KeyPermissions", diff --git a/specification/keyvault/resource-manager/readme.go.md b/specification/keyvault/resource-manager/readme.go.md index df788384ab81..b1da7c75363a 100644 --- a/specification/keyvault/resource-manager/readme.go.md +++ b/specification/keyvault/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/keyvault/armkeyvault +module-name: sdk/resourcemanager/keyvault/armkeyvault module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/keyvault/resource-manager/readme.md b/specification/keyvault/resource-manager/readme.md index 1d75e290a39c..d7744c19bc1f 100644 --- a/specification/keyvault/resource-manager/readme.md +++ b/specification/keyvault/resource-manager/readme.md @@ -183,6 +183,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-node - repo: azure-sdk-for-js - repo: azure-sdk-for-ruby diff --git a/specification/keyvault/resource-manager/readme.python.md b/specification/keyvault/resource-manager/readme.python.md index a2a5ddb5284d..0b058845a74c 100644 --- a/specification/keyvault/resource-manager/readme.python.md +++ b/specification/keyvault/resource-manager/readme.python.md @@ -26,6 +26,7 @@ batch: - tag: package-2016-10 - tag: package-preview-2020-04-full - tag: package-preview-2021-04 + - tag: package-preview-2021-06 - multiapiscript: true ``` @@ -34,6 +35,15 @@ output-folder: $(python-sdks-folder)/keyvault/azure-mgmt-keyvault/azure/mgmt/key clear-output-folder: false perform-load: false ``` +### Tag: package-preview-2021-06 and python + +These settings apply only when `--tag=package-preview-2021-06 --python` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2021-06' +namespace: azure.mgmt.keyvault.v2021_06_01_preview +output-folder: $(python-sdks-folder)/keyvault/azure-mgmt-keyvault/azure/mgmt/keyvault/v2021_06_01_preview +``` + ### Tag: package-preview-2021-04 and python These settings apply only when `--tag=package-preview-2021-04 --python` is specified on the command line. diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2021-11-01-preview/definitions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2021-11-01-preview/definitions.json new file mode 100644 index 000000000000..213f0f56a571 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2021-11-01-preview/definitions.json @@ -0,0 +1,165 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-01-preview", + "title": "Common types and definitions", + "description": "Definitions and parameters common for all resource types of KubernetesConfiguration RP" + }, + "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": {}, + "definitions": { + "ProvisioningStateDefinition": { + "type": "string", + "readOnly": true, + "description": "The provisioning state of the resource.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Creating", + "Updating", + "Deleting" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "OperationStatusResult": { + "description": "The current status of an async operation.", + "type": "object", + "required": [ + "status" + ], + "properties": { + "id": { + "description": "Fully qualified ID for the async operation.", + "type": "string" + }, + "name": { + "description": "Name of the async operation.", + "type": "string" + }, + "status": { + "description": "Operation status.", + "type": "string" + }, + "properties": { + "description": "Additional information, if available.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "error": { + "description": "If present, details of the operation error.", + "type": "object", + "readOnly": true, + "x-nullable": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail" + } + } + }, + "OperationStatusList": { + "description": "The async operations in progress, in the cluster.", + "type": "object", + "readOnly": true, + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationStatusResult" + }, + "description": "List of async operations in progress, in the cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of Operation Result objects, if any." + } + } + }, + "ResourceProviderOperation": { + "description": "Supported operation of this resource provider.", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "Operation name, in format of {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider: Microsoft KubernetesConfiguration.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of this operation.", + "type": "string" + } + } + }, + "isDataAction": { + "description": "The flag that indicates whether the operation applies to data plane.", + "type": "boolean", + "readOnly": true + }, + "origin": { + "description": "Origin of the operation", + "type": "string", + "readOnly": true + } + } + }, + "ResourceProviderOperationList": { + "description": "Result of the request to list operations.", + "type": "object", + "readOnly": true, + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderOperation" + }, + "description": "List of operations supported by this resource provider." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to the next set of results, if any." + } + } + } + }, + "parameters": {} +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2021-11-01-preview/parameters.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2021-11-01-preview/parameters.json new file mode 100644 index 000000000000..37d20d04a80d --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2021-11-01-preview/parameters.json @@ -0,0 +1,62 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-01-preview", + "title": "Common types and definitions", + "description": "Definitions and parameters common for all resource types of KubernetesConfiguration RP" + }, + "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": {}, + "definitions": {}, + "parameters": { + "ClusterRpParameter": { + "name": "clusterRp", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "Microsoft.ContainerService", + "Microsoft.Kubernetes" + ], + "description": "The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters).", + "x-ms-parameter-location": "method" + }, + "ClusterResourceNameParameter": { + "name": "clusterResourceName", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "managedClusters", + "connectedClusters" + ], + "description": "The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters).", + "x-ms-parameter-location": "method" + }, + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the kubernetes cluster.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2022-01-01-preview/definitions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2022-01-01-preview/definitions.json new file mode 100644 index 000000000000..a5e5e9f2551c --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2022-01-01-preview/definitions.json @@ -0,0 +1,165 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "Common types and definitions", + "description": "Definitions and parameters common for all resource types of KubernetesConfiguration RP" + }, + "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": {}, + "definitions": { + "ProvisioningStateDefinition": { + "type": "string", + "readOnly": true, + "description": "The provisioning state of the resource.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Creating", + "Updating", + "Deleting" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "OperationStatusResult": { + "description": "The current status of an async operation.", + "type": "object", + "required": [ + "status" + ], + "properties": { + "id": { + "description": "Fully qualified ID for the async operation.", + "type": "string" + }, + "name": { + "description": "Name of the async operation.", + "type": "string" + }, + "status": { + "description": "Operation status.", + "type": "string" + }, + "properties": { + "description": "Additional information, if available.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "error": { + "description": "If present, details of the operation error.", + "type": "object", + "readOnly": true, + "x-nullable": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail" + } + } + }, + "OperationStatusList": { + "description": "The async operations in progress, in the cluster.", + "type": "object", + "readOnly": true, + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationStatusResult" + }, + "description": "List of async operations in progress, in the cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of Operation Result objects, if any." + } + } + }, + "ResourceProviderOperation": { + "description": "Supported operation of this resource provider.", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "Operation name, in format of {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider: Microsoft KubernetesConfiguration.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of this operation.", + "type": "string" + } + } + }, + "isDataAction": { + "description": "The flag that indicates whether the operation applies to data plane.", + "type": "boolean", + "readOnly": true + }, + "origin": { + "description": "Origin of the operation", + "type": "string", + "readOnly": true + } + } + }, + "ResourceProviderOperationList": { + "description": "Result of the request to list operations.", + "type": "object", + "readOnly": true, + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderOperation" + }, + "description": "List of operations supported by this resource provider." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to the next set of results, if any." + } + } + } + }, + "parameters": {} +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2022-01-01-preview/parameters.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2022-01-01-preview/parameters.json new file mode 100644 index 000000000000..5537bbea7c2f --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2022-01-01-preview/parameters.json @@ -0,0 +1,62 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "Common types and definitions", + "description": "Definitions and parameters common for all resource types of KubernetesConfiguration RP" + }, + "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": {}, + "definitions": {}, + "parameters": { + "ClusterRpParameter": { + "name": "clusterRp", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "Microsoft.ContainerService", + "Microsoft.Kubernetes" + ], + "description": "The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters).", + "x-ms-parameter-location": "method" + }, + "ClusterResourceNameParameter": { + "name": "clusterResourceName", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "managedClusters", + "connectedClusters" + ], + "description": "The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters).", + "x-ms-parameter-location": "method" + }, + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the kubernetes cluster.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ClusterExtensionType_Get.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ClusterExtensionType_Get.json new file mode 100644 index 000000000000..1b5fe51c9b00 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ClusterExtensionType_Get.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaaaa", + "resourceGroupName": "rgextensionTypes", + "clusterRp": "Microsoft.ContainerService", + "clusterResourceName": "managedClusters", + "clusterName": "aaaaaaaaaaaaaaaaaaaaa", + "api-version": "2021-11-01-preview", + "extensionTypeName": "aaaaaa" + }, + "responses": { + "200": { + "body": { + "properties": { + "releaseTrains": [ + "aaaaaaaaaaaaaaaaaaaaaa" + ], + "clusterTypes": "connectedClusters", + "supportedScopes": { + "defaultScope": "aaaaaaaaaaa", + "clusterScopeSettings": { + "properties": { + "allowMultipleInstances": true, + "defaultReleaseNamespace": "aaaaaaaaaaaaaaaaaaaaaaa" + }, + "id": "aaaaaaaaaaaaaaaa", + "name": "aaaaaaaaaa", + "type": "aaaaaaaaaaaaaaaaaaa" + } + } + }, + "systemData": { + "createdBy": "aaaaaaaa", + "createdByType": "User", + "createdAt": "2021-04-14T22:44:27.144Z", + "lastModifiedBy": "aaaaaaaaa", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-14T22:44:27.144Z" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ClusterExtensionTypes_List.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ClusterExtensionTypes_List.json new file mode 100644 index 000000000000..2bedb2b0d425 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ClusterExtensionTypes_List.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaaaa", + "resourceGroupName": "rgextensionTypes", + "clusterRp": "Microsoft.ContainerService", + "clusterResourceName": "managedClusters", + "clusterName": "aaaaaaaaaaaaaaaaaaaaa", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "releaseTrains": [ + "aaaaaaaaaaaaaaaaaaaaaa" + ], + "clusterTypes": "connectedClusters", + "supportedScopes": { + "defaultScope": "aaaaaaaaaaa", + "clusterScopeSettings": { + "properties": { + "allowMultipleInstances": true, + "defaultReleaseNamespace": "aaaaaaaaaaaaaaaaaaaaaaa" + }, + "id": "aaaaaaaaaaaaaaaa", + "name": "aaaaaaaaaa", + "type": "aaaaaaaaaaaaaaaaaaa" + } + } + }, + "systemData": { + "createdBy": "aaaaaaaa", + "createdByType": "User", + "createdAt": "2021-04-14T22:44:27.144Z", + "lastModifiedBy": "aaaaaaaaa", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-14T22:44:27.144Z" + } + } + ], + "nextLink": "aaaaaaaaaaaaaaaaaaaaa" + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/CreateExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/CreateExtension.json new file mode 100644 index 000000000000..e87ecd2ebec7 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/CreateExtension.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2021-11-01-preview", + "clusterName": "clusterName1", + "extension": { + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "configurationProtectedSettings": { + "omsagent.secret.key": "secretKeyValue01" + } + } + } + }, + "responses": { + "201": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Creating", + "statuses": [] + } + } + }, + "200": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Creating", + "statuses": [] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/CreateFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/CreateFluxConfiguration.json new file mode 100644 index 000000000000..e7a4144e0ff1 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/CreateFluxConfiguration.json @@ -0,0 +1,329 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2021-11-01-preview", + "clusterName": "clusterName1", + "fluxConfiguration": { + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master" + }, + "httpsCAFile": "ZXhhbXBsZWNlcnRpZmljYXRl" + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "validation": "none" + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + { + "kustomizationName": "srs-kustomization1" + } + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false, + "validation": "none" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + }, + "httpsCAFile": "ZXhhbXBsZWNlcnRpZmljYXRl" + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "validation": "none" + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + { + "kustomizationName": "srs-kustomization1" + } + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false, + "validation": "none" + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "lastSourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "lastSourceSyncedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + }, + "201": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + }, + "httpsCAFile": "ZXhhbXBsZWNlcnRpZmljYXRl" + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "validation": "none" + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + { + "kustomizationName": "srs-kustomization1" + } + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false, + "validation": "none" + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "lastSourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "lastSourceSyncedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + }, + "409": { + "headers": {}, + "description": "Conflict failure, as another operation is in progress", + "body": { + "error": { + "code": "CreateConflict", + "message": "The PUT method cannot be completed due to a conflict. (ProvisioningState of fluxConfiguration: Creating). Please wait for a few minutes for the ProvisioningState to change to Succeeded, Failed or Canceled and retry again. If the problem persists, please contact Microsoft support." + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/CreateSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/CreateSourceControlConfiguration.json new file mode 100644 index 000000000000..e4b35ab210c1 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/CreateSourceControlConfiguration.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "sourceControlConfigurationName": "SRS_GitHubConfig", + "api-version": "2021-11-01-preview", + "clusterName": "clusterName1", + "sourceControlConfiguration": { + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "operatorParams": "--git-email=xyzgituser@users.srs.github.com", + "configurationProtectedSettings": { + "protectedSetting1Key": "protectedSetting1Value" + }, + "enableHelmOperator": true, + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "helmOperatorProperties": { + "chartVersion": "0.3.0", + "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system" + } + } + } + }, + "responses": { + "201": { + "headers": {}, + "description": "Details of the Kubernetes Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "operatorParams": "--git-email=xyzgituser@users.srs.github.com", + "enableHelmOperator": true, + "helmOperatorProperties": { + "chartVersion": "0.3.0", + "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system" + }, + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqvTzeL+BWgcHnC1CTBRMg2ZfCh9khlrvb2avFHiGG24rRvjLHlKqtfiiw+cZNCKskUyVKqamD2RHrhyn/wXvJ9fFRt0LhYLKn4hJhJaPx4IawdWnW1MUv4U+Mr8o3Cxps4EmiZemqri3fOrhzEIlPL272whKpzlDLV7L4W1XQIGmVPwQ93HTzKEd5uHuEuw6JyFftDDLlCnd3Q1kQ7HOabFEfcSSr9cMx2MU4j/Pjuf3Rd/CzeksvKtU009KSXSnWKm8LL1fihSc1H1WDTi8iuZtT63hsNYH1yxrPRpMVScs3ufLViAGO9NEHQSgDdl/OERQQqKisUn2Qm6adgmftw== rsa-key-20190909", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Pending", + "lastConfigApplied": "2020-09-08T05:25:32.122Z", + "message": "Configuration successfully created", + "messageLevel": "Info" + } + } + } + }, + "200": { + "headers": {}, + "description": "Details of the Kubernetes Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "operatorParams": "--git-email=xyzgituser@users.srs.github.com", + "enableHelmOperator": true, + "helmOperatorProperties": { + "chartVersion": "0.3.0", + "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system" + }, + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqvTzeL+BWgcHnC1CTBRMg2ZfCh9khlrvb2avFHiGG24rRvjLHlKqtfiiw+cZNCKskUyVKqamD2RHrhyn/wXvJ9fFRt0LhYLKn4hJhJaPx4IawdWnW1MUv4U+Mr8o3Cxps4EmiZemqri3fOrhzEIlPL272whKpzlDLV7L4W1XQIGmVPwQ93HTzKEd5uHuEuw6JyFftDDLlCnd3Q1kQ7HOabFEfcSSr9cMx2MU4j/Pjuf3Rd/CzeksvKtU009KSXSnWKm8LL1fihSc1H1WDTi8iuZtT63hsNYH1yxrPRpMVScs3ufLViAGO9NEHQSgDdl/OERQQqKisUn2Qm6adgmftw== rsa-key-20190909", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Pending", + "lastConfigApplied": "2020-09-08T05:25:32.122Z", + "message": "Configuration successfully created", + "messageLevel": "Info" + } + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/DeleteExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/DeleteExtension.json new file mode 100644 index 000000000000..a467ca9f6159 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/DeleteExtension.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2021-11-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "x-ms-async-operation-timeout": "PT1H" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/DeleteFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/DeleteFluxConfiguration.json new file mode 100644 index 000000000000..455e2c90a71a --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/DeleteFluxConfiguration.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2021-11-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/{operationId}", + "x-ms-async-operation-timeout": "PT1H" + }, + "description": "Details of the Kubernetes Flux Configuration's current status." + }, + "200": {}, + "204": {} + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/DeleteSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/DeleteSourceControlConfiguration.json new file mode 100644 index 000000000000..cdd84aefc042 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/DeleteSourceControlConfiguration.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "sourceControlConfigurationName": "SRS_GitHubConfig", + "api-version": "2021-11-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ExtensionTypeVersions_List.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ExtensionTypeVersions_List.json new file mode 100644 index 000000000000..265f6ff6a9e1 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ExtensionTypeVersions_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaaaa", + "location": "aaaaaa", + "extensionTypeName": "aaaaaa", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "versions": [ + { + "releaseTrain": "aaaa", + "versions": [ + "aaaaaaaaaaaaaa" + ] + } + ], + "nextLink": "aaa", + "systemData": { + "createdBy": "aaaaaaaa", + "createdByType": "User", + "createdAt": "2021-04-14T22:44:27.144Z", + "lastModifiedBy": "aaaaaaaaa", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-14T22:44:27.144Z" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetExtension.json new file mode 100644 index 000000000000..a96b19139b5c --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetExtension.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2021-11-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Creating", + "statuses": [] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetExtensionAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetExtensionAsyncOperationStatus.json new file mode 100644 index 000000000000..873af34ca8af --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetExtensionAsyncOperationStatus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2021-11-01-preview", + "clusterName": "clusterName1", + "operationId": "99999999-9999-9999-9999-999999999999" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/99999999-9999-9999-9999-999999999999", + "name": "99999999-9999-9999-9999-999999999999", + "status": "Succeeded", + "properties": {}, + "error": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetFluxConfiguration.json new file mode 100644 index 000000000000..5ec00ff16534 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetFluxConfiguration.json @@ -0,0 +1,146 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2021-11-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + } + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "validation": "none" + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + { + "kustomizationName": "srs-kustomization1" + } + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false, + "validation": "none" + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": { + "name": "my-name", + "namespace": "my-namespace" + }, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "lastSourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "lastSourceSyncedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetFluxConfigurationAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetFluxConfigurationAsyncOperationStatus.json new file mode 100644 index 000000000000..38ffa20136c0 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetFluxConfigurationAsyncOperationStatus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2021-11-01-preview", + "clusterName": "clusterName1", + "operationId": "99999999-9999-9999-9999-999999999999" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/99999999-9999-9999-9999-999999999999", + "name": "99999999-9999-9999-9999-999999999999", + "status": "Succeeded", + "properties": {}, + "error": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetSourceControlConfiguration.json new file mode 100644 index 000000000000..2129b5282af3 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetSourceControlConfiguration.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "sourceControlConfigurationName": "SRS_GitHubConfig", + "api-version": "2021-11-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the Source Control Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "operatorParams": "--git-email=xyzgituser@users.srs.github.com", + "helmOperatorProperties": { + "chartVersion": "0.3.0", + "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system" + }, + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqvTzeL+BWgcHnC1CTBRMg2ZfCh9khlrvb2avFHiGG24rRvjLHlKqtfiiw+cZNCKskUyVKqamD2RHrhyn/wXvJ9fFRt0LhYLKn4hJhJaPx4IawdWnW1MUv4U+Mr8o3Cxps4EmiZemqri3fOrhzEIlPL272whKpzlDLV7L4W1XQIGmVPwQ93HTzKEd5uHuEuw6JyFftDDLlCnd3Q1kQ7HOabFEfcSSr9cMx2MU4j/Pjuf3Rd/CzeksvKtU009KSXSnWKm8LL1fihSc1H1WDTi8iuZtT63hsNYH1yxrPRpMVScs3ufLViAGO9NEHQSgDdl/OERQQqKisUn2Qm6adgmftw== rsa-key-20190909", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Pending", + "lastConfigApplied": "2020-09-08T05:25:32.122Z", + "message": "Configuration successfully created", + "messageLevel": "Info" + } + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListAsyncOperationStatus.json new file mode 100644 index 000000000000..763d502de9a8 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListAsyncOperationStatus.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2021-11-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/99999999-9999-9999-9999-999999999999", + "name": "99999999-9999-9999-9999-999999999999", + "status": "Deleting", + "properties": {}, + "error": null + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/cassandraExtension1/operations/88888888-8888-8888-8888-888888888888", + "name": "88888888-8888-8888-8888-888888888888", + "status": "Creating", + "properties": {}, + "error": null + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListExtensions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListExtensions.json new file mode 100644 index 000000000000..469816319dad --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListExtensions.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2021-11-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Creating", + "statuses": [] + } + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/BackupVault01", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "App1Monitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T04:09:23.011Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T04:09:23.011Z" + }, + "properties": { + "extensionType": "Microsoft.RecoveryServices/recoveryVault", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Stable", + "version": "1.0.1", + "scope": { + "cluster": { + "releaseNamespace": "myKVNamespace" + } + }, + "configurationSettings": {}, + "provisioningState": "Creating", + "statuses": [] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListFluxConfigurations.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListFluxConfigurations.json new file mode 100644 index 000000000000..3b7358dd5af3 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListFluxConfigurations.json @@ -0,0 +1,187 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2021-11-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + } + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "validation": "none" + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + { + "kustomizationName": "srs-kustomization1" + } + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false, + "validation": "none" + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "lastSourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "lastSourceSyncedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + } + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "validation": "none" + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + { + "kustomizationName": "srs-kustomization1" + } + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false, + "validation": "none" + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "lastSourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "lastSourceSyncedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListSourceControlConfiguration.json new file mode 100644 index 000000000000..57fe5d592b18 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListSourceControlConfiguration.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2021-11-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/SRSClusterconfigs", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Compliant" + } + } + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SCRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SCRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/SCRSClusterconfigs", + "operatorNamespace": "SCRS_Namespace", + "operatorInstanceName": "SCRSGitHubFluxOp-02", + "operatorType": "Flux", + "operatorScope": "cluster", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Compliant" + } + } + } + ] + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/LocationExtensionTypes_List.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/LocationExtensionTypes_List.json new file mode 100644 index 000000000000..a3406acacba8 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/LocationExtensionTypes_List.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaaaa", + "location": "aaaaaa", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "releaseTrains": [ + "aaaaaaaaaaaaaaaaaaaaaa" + ], + "clusterTypes": "connectedClusters", + "supportedScopes": { + "defaultScope": "aaaaaaaaaaa", + "clusterScopeSettings": { + "properties": { + "allowMultipleInstances": true, + "defaultReleaseNamespace": "aaaaaaaaaaaaaaaaaaaaaaa" + }, + "id": "aaaaaaaaaaaaaaaa", + "name": "aaaaaaaaaa", + "type": "aaaaaaaaaaaaaaaaaaa" + } + } + }, + "systemData": { + "createdBy": "aaaaaaaa", + "createdByType": "User", + "createdAt": "2021-04-14T22:44:27.144Z", + "lastModifiedBy": "aaaaaaaaa", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-14T22:44:27.144Z" + } + } + ], + "nextLink": "aaaaaaaaaaaaaaaaaaaaa" + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/OperationsList.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/OperationsList.json new file mode 100644 index 000000000000..2313e176af6d --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/OperationsList.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/write", + "display": { + "operation": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/write", + "resource": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "description": "Creates or updates source control configuration.", + "provider": "Microsoft Kubernetes Configuration" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/read", + "display": { + "operation": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/read", + "resource": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "description": "Gets source control configuration.", + "provider": "Microsoft Kubernetes Configuration" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/delete", + "display": { + "operation": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/delete", + "resource": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "description": "Deletes source control configuration.", + "provider": "Microsoft Kubernetes Configuration" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Get extension", + "description": "Get the specified Extension." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/write", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Create a Extension", + "description": "Create the Extension specified." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/delete", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Delete Extension", + "description": "Delete the specified Extension." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/operations/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Get Extension Async Operation Status", + "description": "Get the Status of the Extension Async Operation." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "fluxConfigurations", + "operation": "Get fluxConfiguration", + "description": "Get the specified Flux Configuration." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/write", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "fluxConfigurations", + "operation": "Create a fluxConfiguration", + "description": "Create the Flux Configuration specified." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/delete", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "fluxConfigurations", + "operation": "Delete Flux Configuration", + "description": "Delete the specified Flux Configuration." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/operations/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "fluxConfigurations", + "operation": "Get Flux Configuration Async Operation Status", + "description": "Get the Status of the Flux Configuration Async Operation." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/register/action", + "display": { + "operation": "Microsoft.KubernetesConfiguration/register/action", + "resource": "Register", + "description": "Registers subscription to Microsoft.KubernetesConfiguration resource provider.", + "provider": "Microsoft Kubernetes Configuration" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensionTypes/read", + "display": { + "operation": "Microsoft.KubernetesConfiguration/extensionTypes/read", + "resource": "extensionTypes", + "description": "Get Kubernetes Configuration Available Extensions", + "provider": "Microsoft KubernetesConfiguration" + }, + "isDataAction": false, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/PatchExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/PatchExtension.json new file mode 100644 index 000000000000..3b2238425a38 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/PatchExtension.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2021-11-01-preview", + "clusterName": "clusterName1", + "patchExtension": { + "properties": { + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "configurationProtectedSettings": { + "omsagent.secret.key": "secretKeyValue01" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Extension properties and details of the Patch operation, including AsyncOperation url.", + "body": { + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Updating", + "statuses": [] + } + } + }, + "409": { + "headers": {}, + "description": "Conflict failure, as another Patch operation is in progress", + "body": { + "error": { + "code": "PatchConflict", + "message": "The PATCH method cannot be completed due to a conflict. (ProvisioningState of extension: Updating). Please wait for a few minutes for the ProvisioningState to change to Succeeded, Failed or Canceled and retry again. If the problem persists, please contact Microsoft support." + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/PatchFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/PatchFluxConfiguration.json new file mode 100644 index 000000000000..221a8a8479af --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/PatchFluxConfiguration.json @@ -0,0 +1,163 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2021-11-01-preview", + "clusterName": "clusterName1", + "fluxConfigurationPatch": { + "properties": { + "suspend": true, + "gitRepository": { + "url": "https://github.com/jonathan-innis/flux2-kustomize-helm-example.git" + }, + "kustomizations": { + "srs-kustomization1": null, + "srs-kustomization2": { + "path": "./test/alt-path", + "syncIntervalInSeconds": 300, + "validation": "client", + "dependsOn": null + }, + "srs-kustomization3": { + "path": "./test/another-path", + "syncIntervalInSeconds": 300, + "validation": "client" + } + } + } + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Extension properties and details of the Patch operation, including AsyncOperation url.", + "body": { + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/jonathan-innis/flux2-kustomize-helm-example.git", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + } + }, + "kustomizations": { + "srs-kustomization2": { + "path": "./test/alt-path", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 300, + "retryIntervalInSeconds": 600, + "prune": false, + "validation": "client" + }, + "srs-kustomization3": { + "path": "./test/another-path", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 300, + "retryIntervalInSeconds": null, + "prune": false, + "validation": "client" + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "lastSourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "lastSourceSyncedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + }, + "409": { + "headers": {}, + "description": "Conflict failure, as another Patch operation is in progress", + "body": { + "error": { + "code": "PatchConflict", + "message": "The PATCH method cannot be completed due to a conflict. (ProvisioningState of fluxConfiguration: Updating). Please wait for a few minutes for the ProvisioningState to change to Succeeded, Failed or Canceled and retry again. If the problem persists, please contact Microsoft support." + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensionTypes.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensionTypes.json new file mode 100644 index 000000000000..6b0be3309dbd --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensionTypes.json @@ -0,0 +1,383 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-01-preview", + "title": "ExtensionTypes", + "description": "Use these APIs to create extension resources through ARM, for Kubernetes Clusters." + }, + "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}": { + "get": { + "description": "Get Extension Type details", + "operationId": "ClusterExtensionType_Get", + "x-ms-examples": { + "ClusterExtensionType_Get_MaximumSet_Gen": { + "$ref": "./examples/ClusterExtensionType_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ExtensionTypeNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionType" + } + }, + "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes": { + "get": { + "description": "Get Extension Types", + "operationId": "ClusterExtensionTypes_List", + "x-ms-examples": { + "ClusterExtensionTypes_List_MaximumSet_Gen": { + "$ref": "./examples/ClusterExtensionTypes_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionTypeList" + } + }, + "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.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions": { + "get": { + "description": "List available versions for an Extension Type", + "operationId": "ExtensionTypeVersions_List", + "x-ms-examples": { + "ExtensionTypeVersions_List_MaximumSet_Gen": { + "$ref": "./examples/ExtensionTypeVersions_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ExtensionLocationParameter" + }, + { + "$ref": "#/parameters/ExtensionTypeNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionVersionList" + } + }, + "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", + "itemName": "versions" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes": { + "get": { + "tags": [ + "ExtensionType" + ], + "description": "List all Extension Types", + "operationId": "LocationExtensionTypes_List", + "x-ms-examples": { + "LocationExtensionTypes_List_MaximumSet_Gen": { + "$ref": "./examples/LocationExtensionTypes_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ExtensionLocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionTypeList" + } + }, + "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" + } + } + } + }, + "definitions": { + "ExtensionTypeList": { + "description": "List Extension Types", + "type": "object", + "properties": { + "value": { + "description": "The list of Extension Types", + "type": "array", + "items": { + "$ref": "#/definitions/ExtensionType" + } + }, + "nextLink": { + "description": "The link to fetch the next page of Extension Types", + "type": "string" + } + } + }, + "ExtensionType": { + "type": "object", + "description": "Represents an Extension Type.", + "required": [ + "properties" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExtensionTypeProperties", + "description": "Describes the Resource Type properties." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + "ExtensionTypeProperties": { + "description": "Properties of the connected cluster.", + "type": "object", + "properties": { + "releaseTrains": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "Extension release train: preview or stable" + }, + "clusterTypes": { + "description": "Cluster types", + "readOnly": true, + "type": "string", + "enum": [ + "connectedClusters", + "managedClusters" + ], + "x-ms-enum": { + "name": "clusterTypes", + "modelAsString": false + } + }, + "supportedScopes": { + "readOnly": true, + "type": "object", + "description": "Extension scopes", + "$ref": "#/definitions/SupportedScopes" + } + } + }, + "ExtensionVersionList": { + "description": "List versions for an Extension", + "type": "object", + "properties": { + "versions": { + "description": "Versions available for this Extension Type", + "type": "array", + "items": { + "type": "object", + "properties": { + "releaseTrain": { + "description": "The release train for this Extension Type", + "type": "string" + }, + "versions": { + "type": "array", + "description": "Versions available for this Extension Type and release train", + "items": { + "type": "string" + } + } + } + } + }, + "nextLink": { + "description": "The link to fetch the next page of Extension Types", + "type": "string" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + "SupportedScopes": { + "type": "object", + "description": "Extension scopes", + "properties": { + "defaultScope": { + "type": "string", + "description": "Default extension scopes: cluster or namespace" + }, + "clusterScopeSettings": { + "description": "Scope settings", + "$ref": "#/definitions/ClusterScopeSettings" + } + } + }, + "ClusterScopeSettings": { + "type": "object", + "description": "Extension scope settings", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Extension scope settings", + "properties": { + "allowMultipleInstances": { + "type": "boolean", + "description": "Describes if multiple instances of the extension are allowed" + }, + "defaultReleaseNamespace": { + "type": "string", + "description": "Default extension release namespace" + } + } + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + } + }, + "parameters": { + "ExtensionLocationParameter": { + "name": "location", + "in": "path", + "description": "extension location", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ExtensionTypeNameParameter": { + "name": "extensionTypeName", + "in": "path", + "required": true, + "type": "string", + "description": "Extension type name", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensions.json new file mode 100644 index 000000000000..956e57e560ff --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensions.json @@ -0,0 +1,682 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-01-preview", + "title": "ExtensionsClient", + "description": "Use these APIs to create extension resources through ARM, for Kubernetes Clusters." + }, + "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}": { + "put": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Create a new Kubernetes Cluster Extension.", + "operationId": "Extensions_Create", + "x-ms-examples": { + "Create Extension": { + "$ref": "./examples/CreateExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "extension", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Extension" + }, + "description": "Properties necessary to Create an Extension." + } + ], + "responses": { + "201": { + "description": "Request received successfully.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "200": { + "description": "Request received successfully for an existing resource.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Gets Kubernetes Cluster Extension.", + "operationId": "Extensions_Get", + "x-ms-examples": { + "Get Extension": { + "$ref": "./examples/GetExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.", + "operationId": "Extensions_Delete", + "x-ms-examples": { + "Delete Extension": { + "$ref": "./examples/DeleteExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "forceDelete", + "in": "query", + "description": "Delete the extension resource in Azure - not the normal asynchronous delete.", + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The request has been accepted for processing." + }, + "204": { + "description": "No Content. The request has been accepted but the extension was not found." + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Patch an existing Kubernetes Cluster Extension.", + "operationId": "Extensions_Update", + "x-ms-examples": { + "Update Extension": { + "$ref": "./examples/PatchExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "patchExtension", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/patchExtension" + }, + "description": "Properties to Patch in an existing Extension." + } + ], + "responses": { + "202": { + "description": "Request received successfully, and the resource will be updated asynchronously.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "409": { + "description": "Conflict", + "x-ms-error-response": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions": { + "get": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "List all Extensions in the cluster.", + "operationId": "Extensions_List", + "x-ms-examples": { + "List Extensions": { + "$ref": "./examples/ListExtensions.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionsList" + } + }, + "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}": { + "get": { + "tags": [ + "Extension Operation Status" + ], + "operationId": "OperationStatus_Get", + "description": "Get Async Operation status", + "x-ms-examples": { + "ExtensionAsyncOperationStatus Get": { + "$ref": "./examples/GetExtensionAsyncOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "operationId", + "in": "path", + "description": "operation Id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Extension Operation Status", + "schema": { + "$ref": "../../common/2021-11-01-preview/definitions.json#/definitions/OperationStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ScopeCluster": { + "description": "Specifies that the scope of the extension is Cluster", + "type": "object", + "properties": { + "releaseNamespace": { + "description": "Namespace where the extension Release must be placed, for a Cluster scoped extension. If this namespace does not exist, it will be created", + "type": "string" + } + } + }, + "ScopeNamespace": { + "description": "Specifies that the scope of the extension is Namespace", + "type": "object", + "properties": { + "targetNamespace": { + "description": "Namespace where the extension will be created for an Namespace scoped extension. If this namespace does not exist, it will be created", + "type": "string" + } + } + }, + "Scope": { + "description": "Scope of the extension. It can be either Cluster or Namespace; but not both.", + "type": "object", + "properties": { + "cluster": { + "type": "object", + "x-nullable": true, + "description": "Specifies that the scope of the extension is Cluster", + "$ref": "#/definitions/ScopeCluster" + }, + "namespace": { + "type": "object", + "x-nullable": true, + "description": "Specifies that the scope of the extension is Namespace", + "$ref": "#/definitions/ScopeNamespace" + } + } + }, + "ExtensionStatus": { + "description": "Status from the extension.", + "type": "object", + "readOnly": true, + "properties": { + "code": { + "type": "string", + "description": "Status code provided by the Extension" + }, + "displayStatus": { + "type": "string", + "description": "Short description of status of the extension." + }, + "level": { + "type": "string", + "description": "Level of the status.", + "enum": [ + "Error", + "Warning", + "Information" + ], + "default": "Information", + "x-ms-enum": { + "name": "LevelType", + "modelAsString": true + } + }, + "message": { + "type": "string", + "description": "Detailed message of the status from the Extension." + }, + "time": { + "type": "string", + "description": "DateLiteral (per ISO8601) noting the time of installation status." + } + } + }, + "Extension": { + "description": "The Extension object.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Properties of an Extension resource", + "properties": { + "extensionType": { + "description": "Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher.", + "type": "string" + }, + "autoUpgradeMinorVersion": { + "description": "Flag to note if this extension participates in auto upgrade of minor version, or not.", + "type": "boolean", + "default": true + }, + "releaseTrain": { + "description": "ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.", + "type": "string", + "default": "Stable" + }, + "version": { + "description": "Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'.", + "type": "string" + }, + "scope": { + "description": "Scope at which the extension is installed.", + "$ref": "#/definitions/Scope" + }, + "configurationSettings": { + "description": "Configuration settings, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "configurationProtectedSettings": { + "description": "Configuration settings that are sensitive, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + }, + "provisioningState": { + "description": "Status of installation of this extension.", + "type": "string", + "readOnly": true, + "$ref": "../../common/2021-11-01-preview/definitions.json#/definitions/ProvisioningStateDefinition" + }, + "statuses": { + "description": "Status from this extension.", + "type": "array", + "x-nullable": true, + "items": { + "$ref": "#/definitions/ExtensionStatus" + } + }, + "errorInfo": { + "description": "Error information from the Agent - e.g. errors during installation.", + "type": "object", + "readOnly": true, + "x-nullable": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail" + }, + "customLocationSettings": { + "description": "Custom Location settings properties.", + "type": "object", + "readOnly": true, + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "packageUri": { + "description": "Uri of the Helm package", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "aksAssignedIdentity": { + "description": "Identity of the Extension resource in an AKS cluster", + "x-nullable": true, + "type": "object", + "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" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + } + } + } + } + }, + "identity": { + "description": "Identity of the Extension resource", + "x-nullable": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Identity" + }, + "systemData": { + "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "ExtensionsList": { + "description": "Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Extension" + }, + "description": "List of Extensions within a Kubernetes cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of extension objects, if any." + } + } + }, + "patchExtension": { + "description": "The Extension Patch Request object.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Updatable properties of an Extension Patch Request", + "properties": { + "autoUpgradeMinorVersion": { + "description": "Flag to note if this extension participates in auto upgrade of minor version, or not.", + "type": "boolean", + "default": true + }, + "releaseTrain": { + "description": "ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.", + "type": "string", + "default": "Stable" + }, + "version": { + "description": "Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'.", + "type": "string" + }, + "configurationSettings": { + "description": "Configuration settings, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "configurationProtectedSettings": { + "description": "Configuration settings that are sensitive, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + } + } + } + } + } + }, + "parameters": { + "ExtensionNameParameter": { + "name": "extensionName", + "in": "path", + "description": "Name of the Extension.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/fluxconfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/fluxconfiguration.json new file mode 100644 index 000000000000..01ef06788032 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/fluxconfiguration.json @@ -0,0 +1,913 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-01-preview", + "title": "FluxConfigurationClient", + "description": "Use these APIs to create Flux Configuration resources through ARM, for Kubernetes Clusters." + }, + "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}": { + "get": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "Gets details of the Flux Configuration.", + "operationId": "FluxConfigurations_Get", + "x-ms-examples": { + "Get Flux Configuration": { + "$ref": "./examples/GetFluxConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FluxConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "Create a new Kubernetes Flux Configuration.", + "operationId": "FluxConfigurations_CreateOrUpdate", + "x-ms-examples": { + "Create Flux Configuration": { + "$ref": "./examples/CreateFluxConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "fluxConfiguration", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FluxConfiguration" + }, + "description": "Properties necessary to Create a FluxConfiguration." + } + ], + "responses": { + "200": { + "description": "Request received successfully for an existing resource.", + "schema": { + "$ref": "#/definitions/FluxConfiguration" + } + }, + "201": { + "description": "Request received successfully.", + "schema": { + "$ref": "#/definitions/FluxConfiguration" + } + }, + "409": { + "description": "Conflict", + "x-ms-error-response": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "Update an existing Kubernetes Flux Configuration.", + "operationId": "FluxConfigurations_Update", + "x-ms-examples": { + "Patch Flux Configuration": { + "$ref": "./examples/PatchFluxConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "fluxConfigurationPatch", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FluxConfigurationPatch" + }, + "description": "Properties to Patch in an existing Flux Configuration." + } + ], + "responses": { + "202": { + "description": "Request received successfully, and the resource will be updated asynchronously.", + "schema": { + "$ref": "#/definitions/FluxConfiguration" + } + }, + "409": { + "description": "Conflict", + "x-ms-error-response": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync from the source repo.", + "operationId": "FluxConfigurations_Delete", + "x-ms-examples": { + "Delete Flux Configuration": { + "$ref": "./examples/DeleteFluxConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "forceDelete", + "in": "query", + "description": "Delete the extension resource in Azure - not the normal asynchronous delete.", + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "OK. The request has been completed successfully." + }, + "202": { + "description": "Accepted. The request has been accepted for processing." + }, + "204": { + "description": "No Content. The request has been accepted but the configuration was not found." + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations": { + "get": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "List all Flux Configurations.", + "operationId": "FluxConfigurations_List", + "x-ms-examples": { + "List Flux Configuration": { + "$ref": "./examples/ListFluxConfigurations.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FluxConfigurationsList" + } + }, + "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}": { + "get": { + "tags": [ + "FluxConfiguration Operation Status" + ], + "operationId": "FluxConfigOperationStatus_Get", + "description": "Get Async Operation status", + "x-ms-examples": { + "FluxConfigurationAsyncOperationStatus Get": { + "$ref": "./examples/GetFluxConfigurationAsyncOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "operationId", + "in": "path", + "description": "operation Id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "FluxConfiguration Operation Status", + "schema": { + "$ref": "../../common/2021-11-01-preview/definitions.json#/definitions/OperationStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ScopeDefinition": { + "description": "Scope at which the configuration will be installed.", + "type": "string", + "enum": [ + "cluster", + "namespace" + ], + "default": "cluster", + "x-ms-enum": { + "name": "ScopeType", + "modelAsString": true + } + }, + "SourceKindDefinition": { + "description": "Source Kind to pull the configuration data from.", + "type": "string", + "enum": [ + "GitRepository" + ], + "x-ms-enum": { + "name": "SourceKindType", + "modelAsString": true + } + }, + "GitRepositoryDefinition": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "x-nullable": true, + "properties": { + "url": { + "description": "The URL to sync for the flux configuration git repository.", + "type": "string", + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "repositoryRef": { + "description": "The source reference for the GitRepository object.", + "$ref": "#/definitions/RepositoryRefDefinition" + }, + "sshKnownHosts": { + "description": "Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH", + "type": "string", + "x-nullable": true + }, + "httpsUser": { + "description": "Base64-encoded HTTPS username used to access private git repositories over HTTPS", + "type": "string", + "x-nullable": true + }, + "httpsCAFile": { + "description": "Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS", + "type": "string", + "x-nullable": true + }, + "localAuthRef": { + "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.", + "type": "string", + "x-nullable": true + } + } + }, + "RepositoryRefDefinition": { + "description": "The source reference for the GitRepository object.", + "type": "object", + "x-nullable": true, + "properties": { + "branch": { + "description": "The git repository branch name to checkout.", + "type": "string", + "x-nullable": true + }, + "tag": { + "description": "The git repository tag name to checkout. This takes precedence over branch.", + "type": "string", + "x-nullable": true + }, + "semver": { + "description": "The semver range used to match against git repository tags. This takes precedence over tag.", + "type": "string", + "x-nullable": true + }, + "commit": { + "description": "The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence over semver.", + "type": "string", + "x-nullable": true + } + } + }, + "KustomizationDefinition": { + "description": "The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster.", + "type": "object", + "x-nullable": true, + "properties": { + "path": { + "description": "The path in the source reference to reconcile on the cluster.", + "type": "string", + "default": "" + }, + "dependsOn": { + "description": "Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation.", + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/DependsOnDefinition" + }, + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the Kustomization on the cluster.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the Kustomization on the cluster.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "retryIntervalInSeconds": { + "description": "The interval at which to re-reconcile the Kustomization on the cluster in the event of failure on reconciliation.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "prune": { + "description": "Enable/disable garbage collections of Kubernetes objects created by this Kustomization.", + "type": "boolean", + "default": false + }, + "validation": { + "description": "Specify whether to validate the Kubernetes objects referenced in the Kustomization before applying them to the cluster.", + "$ref": "#/definitions/KustomizationValidationDefinition" + }, + "force": { + "description": "Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field change.", + "type": "boolean", + "default": false + } + } + }, + "DependsOnDefinition": { + "description": "Specify which kustomizations must succeed reconciliation on the cluster prior to reconciling this kustomization", + "type": "object", + "properties": { + "kustomizationName": { + "description": "Name of the kustomization to claim dependency on", + "type": "string" + } + } + }, + "KustomizationValidationDefinition": { + "description": "Specify whether to validate the Kubernetes objects referenced in the Kustomization before applying them to the cluster.", + "type": "string", + "enum": [ + "none", + "client", + "server" + ], + "default": "none", + "x-ms-enum": { + "name": "KustomizationValidationType", + "modelAsString": true + } + }, + "ObjectStatusDefinition": { + "description": "Statuses of objects deployed by the user-specified kustomizations from the git repository.", + "type": "object", + "x-nullable": true, + "properties": { + "name": { + "description": "Name of the applied object", + "type": "string" + }, + "namespace": { + "description": "Namespace of the applied object", + "type": "string" + }, + "kind": { + "description": "Kind of the applied object", + "type": "string" + }, + "complianceState": { + "description": "Compliance state of the applied object showing whether the applied object has come into a ready state on the cluster.", + "type": "string", + "$ref": "#/definitions/FluxComplianceStateDefinition" + }, + "appliedBy": { + "description": "Object reference to the Kustomization that applied this object", + "type": "object", + "$ref": "#/definitions/ObjectReferenceDefinition", + "x-nullable": true + }, + "statusConditions": { + "description": "List of Kubernetes object status conditions present on the cluster", + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/ObjectStatusConditionDefinition" + }, + "x-nullable": true + }, + "helmReleaseProperties": { + "description": "Additional properties that are provided from objects of the HelmRelease kind", + "type": "object", + "$ref": "#/definitions/HelmReleasePropertiesDefinition", + "x-nullable": true + } + } + }, + "ObjectReferenceDefinition": { + "description": "Object reference to a Kubernetes object on a cluster", + "type": "object", + "x-nullable": true, + "properties": { + "name": { + "description": "Name of the object", + "type": "string" + }, + "namespace": { + "description": "Namespace of the object", + "type": "string" + } + } + }, + "ObjectStatusConditionDefinition": { + "description": "Status condition of Kubernetes object", + "type": "object", + "properties": { + "lastTransitionTime": { + "description": "Last time this status condition has changed", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "A more verbose description of the object status condition", + "type": "string" + }, + "reason": { + "description": "Reason for the specified status condition type status", + "type": "string" + }, + "status": { + "description": "Status of the Kubernetes object condition type", + "type": "string" + }, + "type": { + "description": "Object status condition type for this object", + "type": "string" + } + } + }, + "HelmReleasePropertiesDefinition": { + "type": "object", + "x-nullable": true, + "properties": { + "lastRevisionApplied": { + "description": "The revision number of the last released object change", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "helmChartRef": { + "description": "The reference to the HelmChart object used as the source to this HelmRelease", + "type": "object", + "$ref": "#/definitions/ObjectReferenceDefinition" + }, + "failureCount": { + "description": "Total number of times that the HelmRelease failed to install or upgrade", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "installFailureCount": { + "description": "Number of times that the HelmRelease failed to install", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "upgradeFailureCount": { + "description": "Number of times that the HelmRelease failed to upgrade", + "type": "integer", + "format": "int64", + "x-nullable": true + } + } + }, + "FluxComplianceStateDefinition": { + "description": "Compliance state of the cluster object.", + "type": "string", + "enum": [ + "Compliant", + "Non-Compliant", + "Pending", + "Suspended", + "Unknown" + ], + "default": "Unknown", + "x-ms-enum": { + "name": "FluxComplianceState", + "modelAsString": true + } + }, + "FluxConfiguration": { + "type": "object", + "description": "The Flux Configuration object returned in Get & Put response.", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Properties to create a Flux Configuration resource", + "properties": { + "scope": { + "description": "Scope at which the operator will be installed.", + "$ref": "#/definitions/ScopeDefinition" + }, + "namespace": { + "description": "The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only.", + "type": "string", + "default": "default" + }, + "sourceKind": { + "description": "Source Kind to pull the configuration data from.", + "$ref": "#/definitions/SourceKindDefinition" + }, + "suspend": { + "description": "Whether this configuration should suspend its reconciliation of its kustomizations and sources.", + "type": "boolean", + "default": false + }, + "gitRepository": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "$ref": "#/definitions/GitRepositoryDefinition" + }, + "kustomizations": { + "description": "Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/KustomizationDefinition" + } + }, + "configurationProtectedSettings": { + "description": "Key-value pairs of protected configuration settings for the configuration", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + }, + "statuses": { + "description": "Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects provisioned by the fluxConfiguration.", + "type": "array", + "readOnly": true, + "x-nullable": true, + "items": { + "type": "object", + "$ref": "#/definitions/ObjectStatusDefinition" + } + }, + "repositoryPublicKey": { + "description": "Public Key associated with this fluxConfiguration (either generated within the cluster or provided by the user).", + "type": "string", + "x-nullable": true, + "readOnly": true + }, + "lastSourceSyncedCommitId": { + "description": "Branch and SHA of the last source commit synced with the cluster.", + "type": "string", + "x-nullable": true, + "readOnly": true + }, + "lastSourceSyncedAt": { + "description": "Datetime the fluxConfiguration last synced its source on the cluster.", + "type": "string", + "format": "date-time", + "x-nullable": true, + "readOnly": true + }, + "complianceState": { + "description": "Combined status of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects.", + "type": "string", + "readOnly": true, + "$ref": "#/definitions/FluxComplianceStateDefinition" + }, + "provisioningState": { + "description": "Status of the creation of the fluxConfiguration.", + "type": "string", + "readOnly": true, + "$ref": "../../common/2021-11-01-preview/definitions.json#/definitions/ProvisioningStateDefinition" + }, + "errorMessage": { + "description": "Error message returned to the user in the case of provisioning failure.", + "type": "string", + "x-nullable": true, + "readOnly": true + } + } + }, + "systemData": { + "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "FluxConfigurationPatch": { + "description": "The Flux Configuration Patch Request object.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Updatable properties of an Flux Configuration Patch Request", + "properties": { + "sourceKind": { + "description": "Source Kind to pull the configuration data from.", + "$ref": "#/definitions/SourceKindDefinition" + }, + "suspend": { + "description": "Whether this configuration should suspend its reconciliation of its kustomizations and sources.", + "type": "boolean", + "default": false + }, + "gitRepository": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "$ref": "#/definitions/GitRepositoryDefinition" + }, + "kustomizations": { + "description": "Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/KustomizationDefinition" + } + }, + "configurationProtectedSettings": { + "description": "Key-value pairs of protected configuration settings for the configuration", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + } + } + } + } + }, + "FluxConfigurationsList": { + "description": "Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/FluxConfiguration" + }, + "description": "List of Flux Configurations within a Kubernetes cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of configuration objects, if any." + } + } + } + }, + "parameters": { + "FluxConfigurationNameParameter": { + "name": "fluxConfigurationName", + "in": "path", + "description": "Name of the Flux Configuration.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/kubernetesconfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/kubernetesconfiguration.json new file mode 100644 index 000000000000..87a1abf84b00 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/kubernetesconfiguration.json @@ -0,0 +1,475 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-01-preview", + "title": "SourceControlConfigurationClient", + "description": "Use these APIs to create Source Control Configuration resources through ARM, for Kubernetes Clusters." + }, + "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}": { + "get": { + "tags": [ + "SourceControlConfiguration" + ], + "description": "Gets details of the Source Control Configuration.", + "operationId": "SourceControlConfigurations_Get", + "x-ms-examples": { + "Get Source Control Configuration": { + "$ref": "./examples/GetSourceControlConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SourceControlConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "SourceControlConfiguration" + ], + "description": "Create a new Kubernetes Source Control Configuration.", + "operationId": "SourceControlConfigurations_CreateOrUpdate", + "x-ms-examples": { + "Create Source Control Configuration": { + "$ref": "./examples/CreateSourceControlConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SourceControlConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "sourceControlConfiguration", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SourceControlConfiguration" + }, + "description": "Properties necessary to Create KubernetesConfiguration." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlConfiguration" + } + }, + "201": { + "description": "Created.", + "schema": { + "$ref": "#/definitions/SourceControlConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "SourceControlConfiguration" + ], + "description": "This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from the source repo.", + "operationId": "SourceControlConfigurations_Delete", + "x-ms-examples": { + "Delete Source Control Configuration": { + "$ref": "./examples/DeleteSourceControlConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SourceControlConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has been completed successfully." + }, + "204": { + "description": "No Content. The request has been accepted but the configuration was not found." + }, + "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations": { + "get": { + "tags": [ + "SourceControlConfiguration" + ], + "description": "List all Source Control Configurations.", + "operationId": "SourceControlConfigurations_List", + "x-ms-examples": { + "List Source Control Configuration": { + "$ref": "./examples/ListSourceControlConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlConfigurationList" + } + }, + "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" + } + } + } + }, + "definitions": { + "ComplianceStatus": { + "description": "Compliance Status details", + "type": "object", + "readOnly": true, + "properties": { + "complianceState": { + "description": "The compliance state of the configuration.", + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ComplianceStateType", + "modelAsString": true + }, + "enum": [ + "Pending", + "Compliant", + "Noncompliant", + "Installed", + "Failed" + ] + }, + "lastConfigApplied": { + "description": "Datetime the configuration was last applied.", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "Message from when the configuration was applied.", + "type": "string" + }, + "messageLevel": { + "description": "Level of the message.", + "type": "string", + "enum": [ + "Error", + "Warning", + "Information" + ], + "x-ms-enum": { + "name": "MessageLevelType", + "modelAsString": true + } + } + } + }, + "ChartVersion": { + "description": "Version of the operator Helm chart.", + "type": "string" + }, + "ChartValues": { + "description": "Values override for the operator Helm chart.", + "type": "string" + }, + "HelmOperatorProperties": { + "description": "Properties for Helm operator.", + "type": "object", + "properties": { + "chartVersion": { + "description": "Version of the operator Helm chart.", + "$ref": "#/definitions/ChartVersion" + }, + "chartValues": { + "description": "Values override for the operator Helm chart.", + "$ref": "#/definitions/ChartValues" + } + } + }, + "ConfigurationProtectedSettings": { + "description": "Name-value pairs of protected configuration settings for the configuration", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "OperatorTypeDefinition": { + "description": "Type of the operator", + "type": "string", + "enum": [ + "Flux" + ], + "x-ms-enum": { + "name": "OperatorType", + "modelAsString": true + } + }, + "OperatorScopeDefinition": { + "description": "Scope at which the operator will be installed.", + "type": "string", + "enum": [ + "cluster", + "namespace" + ], + "default": "cluster", + "x-ms-enum": { + "name": "OperatorScopeType", + "modelAsString": true + } + }, + "SourceControlConfiguration": { + "description": "The SourceControl Configuration object returned in Get & Put response.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Properties to create a Source Control Configuration resource", + "properties": { + "repositoryUrl": { + "type": "string", + "description": "Url of the SourceControl Repository." + }, + "operatorNamespace": { + "description": "The namespace to which this operator is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only.", + "type": "string", + "default": "default" + }, + "operatorInstanceName": { + "description": "Instance name of the operator - identifying the specific configuration.", + "type": "string" + }, + "operatorType": { + "description": "Type of the operator", + "$ref": "#/definitions/OperatorTypeDefinition" + }, + "operatorParams": { + "description": "Any Parameters for the Operator instance in string format.", + "type": "string" + }, + "configurationProtectedSettings": { + "description": "Name-value pairs of protected configuration settings for the configuration", + "type": "object", + "$ref": "#/definitions/ConfigurationProtectedSettings" + }, + "operatorScope": { + "description": "Scope at which the operator will be installed.", + "$ref": "#/definitions/OperatorScopeDefinition" + }, + "repositoryPublicKey": { + "description": "Public Key associated with this SourceControl configuration (either generated within the cluster or provided by the user).", + "type": "string", + "readOnly": true + }, + "sshKnownHostsContents": { + "description": "Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances", + "type": "string" + }, + "enableHelmOperator": { + "description": "Option to enable Helm Operator for this git configuration.", + "type": "boolean" + }, + "helmOperatorProperties": { + "description": "Properties for Helm operator.", + "type": "object", + "$ref": "#/definitions/HelmOperatorProperties" + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the resource provider.", + "readOnly": true, + "x-ms-enum": { + "modelAsString": true, + "name": "ProvisioningStateType" + }, + "enum": [ + "Accepted", + "Deleting", + "Running", + "Succeeded", + "Failed" + ] + }, + "complianceStatus": { + "type": "object", + "description": "Compliance Status of the Configuration", + "readOnly": true, + "$ref": "#/definitions/ComplianceStatus" + } + } + }, + "systemData": { + "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "SourceControlConfigurationList": { + "description": "Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SourceControlConfiguration" + }, + "description": "List of Source Control Configurations within a Kubernetes cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of configuration objects, if any." + } + } + } + }, + "parameters": { + "SourceControlConfigurationNameParameter": { + "name": "sourceControlConfigurationName", + "in": "path", + "description": "Name of the Source Control Configuration.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/operations.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/operations.json new file mode 100644 index 000000000000..6e9ca7a62d5b --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/operations.json @@ -0,0 +1,127 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-01-preview", + "title": "OperationsClient", + "description": "Use these APIs to create extension resources through ARM, for Kubernetes Clusters." + }, + "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations": { + "get": { + "tags": [ + "Operations in a Cluster" + ], + "operationId": "OperationStatus_List", + "description": "List Async Operations, currently in progress, in a cluster", + "x-ms-examples": { + "AsyncOperationStatus List": { + "$ref": "./examples/ListAsyncOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Operations in a cluster", + "schema": { + "$ref": "../../common/2021-11-01-preview/definitions.json#/definitions/OperationStatusList" + } + }, + "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" + } + } + }, + "/providers/Microsoft.KubernetesConfiguration/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "BatchAccountDelete": { + "$ref": "./examples/OperationsList.json" + } + }, + "description": "List all the available operations the KubernetesConfiguration resource provider supports.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "../../common/2021-11-01-preview/definitions.json#/definitions/ResourceProviderOperationList" + } + }, + "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" + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ClusterExtensionType_Get.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ClusterExtensionType_Get.json new file mode 100644 index 000000000000..66bfc54c9ef6 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ClusterExtensionType_Get.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.ContainerService", + "clusterResourceName": "managedClusters", + "clusterName": "clusterName1", + "api-version": "2022-01-01-preview", + "extensionTypeName": "microsoft.example" + }, + "responses": { + "200": { + "body": { + "properties": { + "releaseTrains": [ + "stable", + "preview", + "pilot" + ], + "clusterTypes": "connectedClusters", + "supportedScopes": { + "defaultScope": "cluster", + "clusterScopeSettings": { + "properties": { + "allowMultipleInstances": true, + "defaultReleaseNamespace": "kube-system" + }, + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.ContainerService/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensionTypes/microsoft.example", + "name": "microsoft.example", + "type": "Microsoft.KubernetesConfiguration/extensionTypes" + } + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ClusterExtensionTypes_List.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ClusterExtensionTypes_List.json new file mode 100644 index 000000000000..96998beb9c85 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ClusterExtensionTypes_List.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.ContainerService", + "clusterResourceName": "managedClusters", + "clusterName": "clusterName1", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "releaseTrains": [ + "stable", + "preview", + "pilot" + ], + "clusterTypes": "connectedClusters", + "supportedScopes": { + "defaultScope": "cluster", + "clusterScopeSettings": { + "properties": { + "allowMultipleInstances": true, + "defaultReleaseNamespace": "kube-system" + }, + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.ContainerService/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensionTypes/microsoft.example", + "name": "microsoft.example", + "type": "Microsoft.KubernetesConfiguration/extensionTypes" + } + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateExtension.json new file mode 100644 index 000000000000..0034d08920c8 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateExtension.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2022-01-01-preview", + "clusterName": "clusterName1", + "extension": { + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "configurationProtectedSettings": { + "omsagent.secret.key": "secretKeyValue01" + } + } + } + }, + "responses": { + "201": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/operationId?api-version=2022-01-01-preview" + }, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Creating", + "statuses": [] + } + } + }, + "200": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Creating", + "statuses": [] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateFluxConfiguration.json new file mode 100644 index 000000000000..0219b602e29c --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateFluxConfiguration.json @@ -0,0 +1,314 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2022-01-01-preview", + "clusterName": "clusterName1", + "fluxConfiguration": { + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master" + }, + "httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl" + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + { + "kustomizationName": "srs-kustomization1" + } + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + }, + "httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl" + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + { + "kustomizationName": "srs-kustomization1" + } + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "lastSourceUpdatedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "lastSourceUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + }, + "201": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}", + "x-ms-async-operation-timeout": "PT48H", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/operationId?api-version=2022-01-01-preview" + }, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + }, + "httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl" + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + { + "kustomizationName": "srs-kustomization1" + } + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "lastSourceUpdatedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "lastSourceUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateFluxConfigurationWithBucket.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateFluxConfigurationWithBucket.json new file mode 100644 index 000000000000..febab801429d --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateFluxConfigurationWithBucket.json @@ -0,0 +1,303 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2022-01-01-preview", + "clusterName": "clusterName1", + "fluxConfiguration": { + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "Bucket", + "suspend": false, + "bucket": { + "url": "https://fluxminiotest.az.minio.io", + "bucketName": "flux", + "syncIntervalInSeconds": 1000, + "timeoutInSeconds": 1000, + "accessKey": "fluxminiotest" + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + { + "kustomizationName": "srs-kustomization1" + } + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "Bucket", + "suspend": false, + "gitRepository": null, + "bucket": { + "url": "https://fluxminiotest.az.minio.io", + "bucketName": "flux", + "syncIntervalInSeconds": 1000, + "timeoutInSeconds": 1000, + "accessKey": "fluxminiotest" + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + { + "kustomizationName": "srs-kustomization1" + } + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "lastSourceUpdatedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "lastSourceUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + }, + "201": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": null, + "bucket": { + "url": "https://fluxminiotest.az.minio.io", + "bucketName": "flux", + "syncIntervalInSeconds": 1000, + "timeoutInSeconds": 1000, + "accessKey": "fluxminiotest" + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + { + "kustomizationName": "srs-kustomization1" + } + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "lastSourceUpdatedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "lastSourceUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateSourceControlConfiguration.json new file mode 100644 index 000000000000..02b50416917c --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateSourceControlConfiguration.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "sourceControlConfigurationName": "SRS_GitHubConfig", + "api-version": "2022-01-01-preview", + "clusterName": "clusterName1", + "sourceControlConfiguration": { + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "operatorParams": "--git-email=xyzgituser@users.srs.github.com", + "configurationProtectedSettings": { + "protectedSetting1Key": "protectedSetting1Value" + }, + "enableHelmOperator": true, + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "helmOperatorProperties": { + "chartVersion": "0.3.0", + "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system" + } + } + } + }, + "responses": { + "201": { + "headers": {}, + "description": "Details of the Kubernetes Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "operatorParams": "--git-email=xyzgituser@users.srs.github.com", + "enableHelmOperator": true, + "helmOperatorProperties": { + "chartVersion": "0.3.0", + "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system" + }, + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqvTzeL+BWgcHnC1CTBRMg2ZfCh9khlrvb2avFHiGG24rRvjLHlKqtfiiw+cZNCKskUyVKqamD2RHrhyn/wXvJ9fFRt0LhYLKn4hJhJaPx4IawdWnW1MUv4U+Mr8o3Cxps4EmiZemqri3fOrhzEIlPL272whKpzlDLV7L4W1XQIGmVPwQ93HTzKEd5uHuEuw6JyFftDDLlCnd3Q1kQ7HOabFEfcSSr9cMx2MU4j/Pjuf3Rd/CzeksvKtU009KSXSnWKm8LL1fihSc1H1WDTi8iuZtT63hsNYH1yxrPRpMVScs3ufLViAGO9NEHQSgDdl/OERQQqKisUn2Qm6adgmftw== rsa-key-20190909", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Pending", + "lastConfigApplied": "2020-09-08T05:25:32.122Z", + "message": "Configuration successfully created", + "messageLevel": "Info" + } + } + } + }, + "200": { + "headers": {}, + "description": "Details of the Kubernetes Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "operatorParams": "--git-email=xyzgituser@users.srs.github.com", + "enableHelmOperator": true, + "helmOperatorProperties": { + "chartVersion": "0.3.0", + "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system" + }, + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqvTzeL+BWgcHnC1CTBRMg2ZfCh9khlrvb2avFHiGG24rRvjLHlKqtfiiw+cZNCKskUyVKqamD2RHrhyn/wXvJ9fFRt0LhYLKn4hJhJaPx4IawdWnW1MUv4U+Mr8o3Cxps4EmiZemqri3fOrhzEIlPL272whKpzlDLV7L4W1XQIGmVPwQ93HTzKEd5uHuEuw6JyFftDDLlCnd3Q1kQ7HOabFEfcSSr9cMx2MU4j/Pjuf3Rd/CzeksvKtU009KSXSnWKm8LL1fihSc1H1WDTi8iuZtT63hsNYH1yxrPRpMVScs3ufLViAGO9NEHQSgDdl/OERQQqKisUn2Qm6adgmftw== rsa-key-20190909", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Pending", + "lastConfigApplied": "2020-09-08T05:25:32.122Z", + "message": "Configuration successfully created", + "messageLevel": "Info" + } + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteExtension.json new file mode 100644 index 000000000000..b0b8d483de74 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteExtension.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2022-01-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "x-ms-async-operation-timeout": "PT1H" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteFluxConfiguration.json new file mode 100644 index 000000000000..5519d51d8eb7 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteFluxConfiguration.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2022-01-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/{operationId}", + "x-ms-async-operation-timeout": "PT1H" + }, + "description": "Details of the Kubernetes Flux Configuration's current status." + }, + "200": {}, + "204": {} + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteSourceControlConfiguration.json new file mode 100644 index 000000000000..57e8318484d0 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteSourceControlConfiguration.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "sourceControlConfigurationName": "SRS_GitHubConfig", + "api-version": "2022-01-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ExtensionTypeVersions_List.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ExtensionTypeVersions_List.json new file mode 100644 index 000000000000..833cb3bc0556 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ExtensionTypeVersions_List.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "location": "eastus", + "extensionTypeName": "microsoft.example", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "versions": [ + { + "releaseTrain": "stable", + "versions": [ + "0.1.0", + "0.2.0", + "0.2.1" + ] + } + ], + "nextLink": null, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetExtension.json new file mode 100644 index 000000000000..136c235e3b8e --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetExtension.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2022-01-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Creating", + "statuses": [] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetExtensionAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetExtensionAsyncOperationStatus.json new file mode 100644 index 000000000000..5ba2489ee842 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetExtensionAsyncOperationStatus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2022-01-01-preview", + "clusterName": "clusterName1", + "operationId": "99999999-9999-9999-9999-999999999999" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/99999999-9999-9999-9999-999999999999", + "name": "99999999-9999-9999-9999-999999999999", + "status": "Succeeded", + "properties": {}, + "error": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetFluxConfiguration.json new file mode 100644 index 000000000000..488556d54761 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetFluxConfiguration.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2022-01-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + } + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + { + "kustomizationName": "srs-kustomization1" + } + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": { + "name": "my-name", + "namespace": "my-namespace" + }, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "lastSourceUpdatedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "lastSourceUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetFluxConfigurationAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetFluxConfigurationAsyncOperationStatus.json new file mode 100644 index 000000000000..5e77edee737e --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetFluxConfigurationAsyncOperationStatus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2022-01-01-preview", + "clusterName": "clusterName1", + "operationId": "99999999-9999-9999-9999-999999999999" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/99999999-9999-9999-9999-999999999999", + "name": "99999999-9999-9999-9999-999999999999", + "status": "Succeeded", + "properties": {}, + "error": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetSourceControlConfiguration.json new file mode 100644 index 000000000000..d5df16546fd9 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetSourceControlConfiguration.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "sourceControlConfigurationName": "SRS_GitHubConfig", + "api-version": "2022-01-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the Source Control Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "operatorParams": "--git-email=xyzgituser@users.srs.github.com", + "helmOperatorProperties": { + "chartVersion": "0.3.0", + "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system" + }, + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqvTzeL+BWgcHnC1CTBRMg2ZfCh9khlrvb2avFHiGG24rRvjLHlKqtfiiw+cZNCKskUyVKqamD2RHrhyn/wXvJ9fFRt0LhYLKn4hJhJaPx4IawdWnW1MUv4U+Mr8o3Cxps4EmiZemqri3fOrhzEIlPL272whKpzlDLV7L4W1XQIGmVPwQ93HTzKEd5uHuEuw6JyFftDDLlCnd3Q1kQ7HOabFEfcSSr9cMx2MU4j/Pjuf3Rd/CzeksvKtU009KSXSnWKm8LL1fihSc1H1WDTi8iuZtT63hsNYH1yxrPRpMVScs3ufLViAGO9NEHQSgDdl/OERQQqKisUn2Qm6adgmftw== rsa-key-20190909", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Pending", + "lastConfigApplied": "2020-09-08T05:25:32.122Z", + "message": "Configuration successfully created", + "messageLevel": "Info" + } + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListAsyncOperationStatus.json new file mode 100644 index 000000000000..7568803c1151 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListAsyncOperationStatus.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2022-01-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/99999999-9999-9999-9999-999999999999", + "name": "99999999-9999-9999-9999-999999999999", + "status": "Deleting", + "properties": {}, + "error": null + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/cassandraExtension1/operations/88888888-8888-8888-8888-888888888888", + "name": "88888888-8888-8888-8888-888888888888", + "status": "Creating", + "properties": {}, + "error": null + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListExtensions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListExtensions.json new file mode 100644 index 000000000000..58279d6f8984 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListExtensions.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2022-01-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Creating", + "statuses": [] + } + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/BackupVault01", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "App1Monitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T04:09:23.011Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T04:09:23.011Z" + }, + "properties": { + "extensionType": "Microsoft.RecoveryServices/recoveryVault", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Stable", + "version": "1.0.1", + "scope": { + "cluster": { + "releaseNamespace": "myKVNamespace" + } + }, + "configurationSettings": {}, + "provisioningState": "Creating", + "statuses": [] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListFluxConfigurations.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListFluxConfigurations.json new file mode 100644 index 000000000000..fc37798582cf --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListFluxConfigurations.json @@ -0,0 +1,183 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2022-01-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + } + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + { + "kustomizationName": "srs-kustomization1" + } + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "lastSourceUpdatedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "lastSourceUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + } + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + { + "kustomizationName": "srs-kustomization1" + } + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "lastSourceUpdatedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "lastSourceUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListSourceControlConfiguration.json new file mode 100644 index 000000000000..bc26948b33e2 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListSourceControlConfiguration.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2022-01-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/SRSClusterconfigs", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Compliant" + } + } + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SCRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SCRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/SCRSClusterconfigs", + "operatorNamespace": "SCRS_Namespace", + "operatorInstanceName": "SCRSGitHubFluxOp-02", + "operatorType": "Flux", + "operatorScope": "cluster", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Compliant" + } + } + } + ] + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/LocationExtensionTypes_List.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/LocationExtensionTypes_List.json new file mode 100644 index 000000000000..cbcd34f96b8a --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/LocationExtensionTypes_List.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "location": "eastus", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "releaseTrains": [ + "stable", + "preview", + "pilot" + ], + "clusterTypes": "connectedClusters", + "supportedScopes": { + "defaultScope": "cluster", + "clusterScopeSettings": { + "properties": { + "allowMultipleInstances": true, + "defaultReleaseNamespace": "kube-system" + }, + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.ContainerService/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensionTypes/microsoft.example", + "name": "microsoft.example", + "type": "Microsoft.KubernetesConfiguration/extensionTypes" + } + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/OperationsList.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/OperationsList.json new file mode 100644 index 000000000000..e9d16c360cbb --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/OperationsList.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/write", + "display": { + "operation": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/write", + "resource": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "description": "Creates or updates source control configuration.", + "provider": "Microsoft Kubernetes Configuration" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/read", + "display": { + "operation": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/read", + "resource": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "description": "Gets source control configuration.", + "provider": "Microsoft Kubernetes Configuration" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/delete", + "display": { + "operation": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/delete", + "resource": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "description": "Deletes source control configuration.", + "provider": "Microsoft Kubernetes Configuration" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Get extension", + "description": "Get the specified Extension." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/write", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Create a Extension", + "description": "Create the Extension specified." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/delete", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Delete Extension", + "description": "Delete the specified Extension." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/operations/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Get Extension Async Operation Status", + "description": "Get the Status of the Extension Async Operation." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "fluxConfigurations", + "operation": "Get fluxConfiguration", + "description": "Get the specified Flux Configuration." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/write", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "fluxConfigurations", + "operation": "Create a fluxConfiguration", + "description": "Create the Flux Configuration specified." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/delete", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "fluxConfigurations", + "operation": "Delete Flux Configuration", + "description": "Delete the specified Flux Configuration." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/operations/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "fluxConfigurations", + "operation": "Get Flux Configuration Async Operation Status", + "description": "Get the Status of the Flux Configuration Async Operation." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/register/action", + "display": { + "operation": "Microsoft.KubernetesConfiguration/register/action", + "resource": "Register", + "description": "Registers subscription to Microsoft.KubernetesConfiguration resource provider.", + "provider": "Microsoft Kubernetes Configuration" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensionTypes/read", + "display": { + "operation": "Microsoft.KubernetesConfiguration/extensionTypes/read", + "resource": "extensionTypes", + "description": "Get Kubernetes Configuration Available Extensions", + "provider": "Microsoft KubernetesConfiguration" + }, + "isDataAction": false, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/PatchExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/PatchExtension.json new file mode 100644 index 000000000000..71cb2ef38bb5 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/PatchExtension.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2022-01-01-preview", + "clusterName": "clusterName1", + "patchExtension": { + "properties": { + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "configurationProtectedSettings": { + "omsagent.secret.key": "secretKeyValue01" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/operationId", + "x-ms-async-operation-timeout": "PT48H", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/operationId?api-version=2022-01-01-preview" + }, + "description": "Extension properties and details of the Patch operation, including AsyncOperation url.", + "body": { + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Updating", + "statuses": [] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/PatchFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/PatchFluxConfiguration.json new file mode 100644 index 000000000000..285562be8390 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/PatchFluxConfiguration.json @@ -0,0 +1,150 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2022-01-01-preview", + "clusterName": "clusterName1", + "fluxConfigurationPatch": { + "properties": { + "suspend": true, + "gitRepository": { + "url": "https://github.com/jonathan-innis/flux2-kustomize-helm-example.git" + }, + "kustomizations": { + "srs-kustomization1": null, + "srs-kustomization2": { + "path": "./test/alt-path", + "syncIntervalInSeconds": 300, + "dependsOn": null + }, + "srs-kustomization3": { + "path": "./test/another-path", + "syncIntervalInSeconds": 300 + } + } + } + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/operationId", + "x-ms-async-operation-timeout": "PT48H", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/operationId?api-version=2022-01-01-preview" + }, + "description": "Extension properties and details of the Patch operation, including AsyncOperation url.", + "body": { + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/jonathan-innis/flux2-kustomize-helm-example.git", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + } + }, + "kustomizations": { + "srs-kustomization2": { + "path": "./test/alt-path", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 300, + "retryIntervalInSeconds": 600, + "prune": false + }, + "srs-kustomization3": { + "path": "./test/another-path", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 300, + "retryIntervalInSeconds": null, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "lastSourceUpdatedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "lastSourceUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/extensionTypes.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/extensionTypes.json new file mode 100644 index 000000000000..24de229ae21f --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/extensionTypes.json @@ -0,0 +1,383 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "ExtensionTypes", + "description": "Use these APIs to create extension resources through ARM, for Kubernetes Clusters." + }, + "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}": { + "get": { + "description": "Get Extension Type details", + "operationId": "ClusterExtensionType_Get", + "x-ms-examples": { + "ClusterExtensionType_Get_MaximumSet_Gen": { + "$ref": "./examples/ClusterExtensionType_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ExtensionTypeNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionType" + } + }, + "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes": { + "get": { + "description": "Get Extension Types", + "operationId": "ClusterExtensionTypes_List", + "x-ms-examples": { + "ClusterExtensionTypes_List_MaximumSet_Gen": { + "$ref": "./examples/ClusterExtensionTypes_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionTypeList" + } + }, + "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.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions": { + "get": { + "description": "List available versions for an Extension Type", + "operationId": "ExtensionTypeVersions_List", + "x-ms-examples": { + "ExtensionTypeVersions_List_MaximumSet_Gen": { + "$ref": "./examples/ExtensionTypeVersions_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ExtensionLocationParameter" + }, + { + "$ref": "#/parameters/ExtensionTypeNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionVersionList" + } + }, + "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", + "itemName": "versions" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes": { + "get": { + "tags": [ + "ExtensionType" + ], + "description": "List all Extension Types", + "operationId": "LocationExtensionTypes_List", + "x-ms-examples": { + "LocationExtensionTypes_List_MaximumSet_Gen": { + "$ref": "./examples/LocationExtensionTypes_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ExtensionLocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionTypeList" + } + }, + "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" + } + } + } + }, + "definitions": { + "ExtensionTypeList": { + "description": "List Extension Types", + "type": "object", + "properties": { + "value": { + "description": "The list of Extension Types", + "type": "array", + "items": { + "$ref": "#/definitions/ExtensionType" + } + }, + "nextLink": { + "description": "The link to fetch the next page of Extension Types", + "type": "string" + } + } + }, + "ExtensionType": { + "type": "object", + "description": "Represents an Extension Type.", + "required": [ + "properties" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExtensionTypeProperties", + "description": "Describes the Resource Type properties." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + "ExtensionTypeProperties": { + "description": "Properties of the connected cluster.", + "type": "object", + "properties": { + "releaseTrains": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "Extension release train: preview or stable" + }, + "clusterTypes": { + "description": "Cluster types", + "readOnly": true, + "type": "string", + "enum": [ + "connectedClusters", + "managedClusters" + ], + "x-ms-enum": { + "name": "clusterTypes", + "modelAsString": false + } + }, + "supportedScopes": { + "readOnly": true, + "type": "object", + "description": "Extension scopes", + "$ref": "#/definitions/SupportedScopes" + } + } + }, + "ExtensionVersionList": { + "description": "List versions for an Extension", + "type": "object", + "properties": { + "versions": { + "description": "Versions available for this Extension Type", + "type": "array", + "items": { + "type": "object", + "properties": { + "releaseTrain": { + "description": "The release train for this Extension Type", + "type": "string" + }, + "versions": { + "type": "array", + "description": "Versions available for this Extension Type and release train", + "items": { + "type": "string" + } + } + } + } + }, + "nextLink": { + "description": "The link to fetch the next page of Extension Types", + "type": "string" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + "SupportedScopes": { + "type": "object", + "description": "Extension scopes", + "properties": { + "defaultScope": { + "type": "string", + "description": "Default extension scopes: cluster or namespace" + }, + "clusterScopeSettings": { + "description": "Scope settings", + "$ref": "#/definitions/ClusterScopeSettings" + } + } + }, + "ClusterScopeSettings": { + "type": "object", + "description": "Extension scope settings", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Extension scope settings", + "properties": { + "allowMultipleInstances": { + "type": "boolean", + "description": "Describes if multiple instances of the extension are allowed" + }, + "defaultReleaseNamespace": { + "type": "string", + "description": "Default extension release namespace" + } + } + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + } + }, + "parameters": { + "ExtensionLocationParameter": { + "name": "location", + "in": "path", + "description": "extension location", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ExtensionTypeNameParameter": { + "name": "extensionTypeName", + "in": "path", + "required": true, + "type": "string", + "description": "Extension type name", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/extensions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/extensions.json new file mode 100644 index 000000000000..19017d29f789 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/extensions.json @@ -0,0 +1,675 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "ExtensionsClient", + "description": "Use these APIs to create extension resources through ARM, for Kubernetes Clusters." + }, + "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}": { + "put": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Create a new Kubernetes Cluster Extension.", + "operationId": "Extensions_Create", + "x-ms-examples": { + "Create Extension": { + "$ref": "./examples/CreateExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "extension", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Extension" + }, + "description": "Properties necessary to Create an Extension." + } + ], + "responses": { + "201": { + "description": "Request received successfully.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "200": { + "description": "Request received successfully for an existing resource.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Gets Kubernetes Cluster Extension.", + "operationId": "Extensions_Get", + "x-ms-examples": { + "Get Extension": { + "$ref": "./examples/GetExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.", + "operationId": "Extensions_Delete", + "x-ms-examples": { + "Delete Extension": { + "$ref": "./examples/DeleteExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "forceDelete", + "in": "query", + "description": "Delete the extension resource in Azure - not the normal asynchronous delete.", + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The request has been accepted for processing." + }, + "204": { + "description": "No Content. The request has been accepted but the extension was not found." + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Patch an existing Kubernetes Cluster Extension.", + "operationId": "Extensions_Update", + "x-ms-examples": { + "Update Extension": { + "$ref": "./examples/PatchExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "patchExtension", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/patchExtension" + }, + "description": "Properties to Patch in an existing Extension." + } + ], + "responses": { + "202": { + "description": "Request received successfully, and the resource will be updated asynchronously.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions": { + "get": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "List all Extensions in the cluster.", + "operationId": "Extensions_List", + "x-ms-examples": { + "List Extensions": { + "$ref": "./examples/ListExtensions.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionsList" + } + }, + "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}": { + "get": { + "tags": [ + "Extension Operation Status" + ], + "operationId": "OperationStatus_Get", + "description": "Get Async Operation status", + "x-ms-examples": { + "ExtensionAsyncOperationStatus Get": { + "$ref": "./examples/GetExtensionAsyncOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "operationId", + "in": "path", + "description": "operation Id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Extension Operation Status", + "schema": { + "$ref": "../../common/2022-01-01-preview/definitions.json#/definitions/OperationStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ScopeCluster": { + "description": "Specifies that the scope of the extension is Cluster", + "type": "object", + "properties": { + "releaseNamespace": { + "description": "Namespace where the extension Release must be placed, for a Cluster scoped extension. If this namespace does not exist, it will be created", + "type": "string" + } + } + }, + "ScopeNamespace": { + "description": "Specifies that the scope of the extension is Namespace", + "type": "object", + "properties": { + "targetNamespace": { + "description": "Namespace where the extension will be created for an Namespace scoped extension. If this namespace does not exist, it will be created", + "type": "string" + } + } + }, + "Scope": { + "description": "Scope of the extension. It can be either Cluster or Namespace; but not both.", + "type": "object", + "properties": { + "cluster": { + "type": "object", + "x-nullable": true, + "description": "Specifies that the scope of the extension is Cluster", + "$ref": "#/definitions/ScopeCluster" + }, + "namespace": { + "type": "object", + "x-nullable": true, + "description": "Specifies that the scope of the extension is Namespace", + "$ref": "#/definitions/ScopeNamespace" + } + } + }, + "ExtensionStatus": { + "description": "Status from the extension.", + "type": "object", + "readOnly": true, + "properties": { + "code": { + "type": "string", + "description": "Status code provided by the Extension" + }, + "displayStatus": { + "type": "string", + "description": "Short description of status of the extension." + }, + "level": { + "type": "string", + "description": "Level of the status.", + "enum": [ + "Error", + "Warning", + "Information" + ], + "default": "Information", + "x-ms-enum": { + "name": "LevelType", + "modelAsString": true + } + }, + "message": { + "type": "string", + "description": "Detailed message of the status from the Extension." + }, + "time": { + "type": "string", + "description": "DateLiteral (per ISO8601) noting the time of installation status." + } + } + }, + "Extension": { + "description": "The Extension object.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Properties of an Extension resource", + "properties": { + "extensionType": { + "description": "Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher.", + "type": "string" + }, + "autoUpgradeMinorVersion": { + "description": "Flag to note if this extension participates in auto upgrade of minor version, or not.", + "type": "boolean", + "default": true + }, + "releaseTrain": { + "description": "ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.", + "type": "string", + "default": "Stable" + }, + "version": { + "description": "Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'.", + "type": "string" + }, + "scope": { + "description": "Scope at which the extension is installed.", + "$ref": "#/definitions/Scope" + }, + "configurationSettings": { + "description": "Configuration settings, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "configurationProtectedSettings": { + "description": "Configuration settings that are sensitive, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + }, + "provisioningState": { + "description": "Status of installation of this extension.", + "type": "string", + "readOnly": true, + "$ref": "../../common/2022-01-01-preview/definitions.json#/definitions/ProvisioningStateDefinition" + }, + "statuses": { + "description": "Status from this extension.", + "type": "array", + "x-nullable": true, + "items": { + "$ref": "#/definitions/ExtensionStatus" + } + }, + "errorInfo": { + "description": "Error information from the Agent - e.g. errors during installation.", + "type": "object", + "readOnly": true, + "x-nullable": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail" + }, + "customLocationSettings": { + "description": "Custom Location settings properties.", + "type": "object", + "readOnly": true, + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "packageUri": { + "description": "Uri of the Helm package", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "aksAssignedIdentity": { + "description": "Identity of the Extension resource in an AKS cluster", + "x-nullable": true, + "type": "object", + "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" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + } + } + } + } + }, + "identity": { + "description": "Identity of the Extension resource", + "x-nullable": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Identity" + }, + "systemData": { + "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "ExtensionsList": { + "description": "Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Extension" + }, + "description": "List of Extensions within a Kubernetes cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of extension objects, if any." + } + } + }, + "patchExtension": { + "description": "The Extension Patch Request object.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Updatable properties of an Extension Patch Request", + "properties": { + "autoUpgradeMinorVersion": { + "description": "Flag to note if this extension participates in auto upgrade of minor version, or not.", + "type": "boolean", + "default": true + }, + "releaseTrain": { + "description": "ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.", + "type": "string", + "default": "Stable" + }, + "version": { + "description": "Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'.", + "type": "string" + }, + "configurationSettings": { + "description": "Configuration settings, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "configurationProtectedSettings": { + "description": "Configuration settings that are sensitive, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + } + } + } + } + } + }, + "parameters": { + "ExtensionNameParameter": { + "name": "extensionName", + "in": "path", + "description": "Name of the Extension.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/fluxconfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/fluxconfiguration.json new file mode 100644 index 000000000000..eecea2dbf322 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/fluxconfiguration.json @@ -0,0 +1,1096 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "FluxConfigurationClient", + "description": "Use these APIs to create Flux Configuration resources through ARM, for Kubernetes Clusters." + }, + "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}": { + "get": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "Gets details of the Flux Configuration.", + "operationId": "FluxConfigurations_Get", + "x-ms-examples": { + "Get Flux Configuration": { + "$ref": "./examples/GetFluxConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FluxConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "Create a new Kubernetes Flux Configuration.", + "operationId": "FluxConfigurations_CreateOrUpdate", + "x-ms-examples": { + "Create Flux Configuration": { + "$ref": "./examples/CreateFluxConfiguration.json" + }, + "Create Flux Configuration with Bucket Source Kind": { + "$ref": "./examples/CreateFluxConfigurationWithBucket.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "fluxConfiguration", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FluxConfiguration" + }, + "description": "Properties necessary to Create a FluxConfiguration." + } + ], + "responses": { + "200": { + "description": "Request received successfully for an existing resource.", + "schema": { + "$ref": "#/definitions/FluxConfiguration" + } + }, + "201": { + "description": "Request received successfully.", + "schema": { + "$ref": "#/definitions/FluxConfiguration" + } + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "Update an existing Kubernetes Flux Configuration.", + "operationId": "FluxConfigurations_Update", + "x-ms-examples": { + "Patch Flux Configuration": { + "$ref": "./examples/PatchFluxConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "fluxConfigurationPatch", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FluxConfigurationPatch" + }, + "description": "Properties to Patch in an existing Flux Configuration." + } + ], + "responses": { + "202": { + "description": "Request received successfully, and the resource will be updated asynchronously.", + "schema": { + "$ref": "#/definitions/FluxConfiguration" + } + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync from the source repo.", + "operationId": "FluxConfigurations_Delete", + "x-ms-examples": { + "Delete Flux Configuration": { + "$ref": "./examples/DeleteFluxConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "forceDelete", + "in": "query", + "description": "Delete the extension resource in Azure - not the normal asynchronous delete.", + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "OK. The request has been completed successfully." + }, + "202": { + "description": "Accepted. The request has been accepted for processing." + }, + "204": { + "description": "No Content. The request has been accepted but the configuration was not found." + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations": { + "get": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "List all Flux Configurations.", + "operationId": "FluxConfigurations_List", + "x-ms-examples": { + "List Flux Configuration": { + "$ref": "./examples/ListFluxConfigurations.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FluxConfigurationsList" + } + }, + "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}": { + "get": { + "tags": [ + "FluxConfiguration Operation Status" + ], + "operationId": "FluxConfigOperationStatus_Get", + "description": "Get Async Operation status", + "x-ms-examples": { + "FluxConfigurationAsyncOperationStatus Get": { + "$ref": "./examples/GetFluxConfigurationAsyncOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "operationId", + "in": "path", + "description": "operation Id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "FluxConfiguration Operation Status", + "schema": { + "$ref": "../../common/2022-01-01-preview/definitions.json#/definitions/OperationStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ScopeDefinition": { + "description": "Scope at which the configuration will be installed.", + "type": "string", + "enum": [ + "cluster", + "namespace" + ], + "default": "cluster", + "x-ms-enum": { + "name": "ScopeType", + "modelAsString": true + } + }, + "SourceKindDefinition": { + "description": "Source Kind to pull the configuration data from.", + "type": "string", + "enum": [ + "GitRepository", + "Bucket" + ], + "x-ms-enum": { + "name": "SourceKindType", + "modelAsString": true + } + }, + "GitRepositoryDefinition": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "x-nullable": true, + "properties": { + "url": { + "description": "The URL to sync for the flux configuration git repository.", + "type": "string", + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "repositoryRef": { + "description": "The source reference for the GitRepository object.", + "$ref": "#/definitions/RepositoryRefDefinition" + }, + "sshKnownHosts": { + "description": "Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH", + "type": "string", + "x-nullable": true + }, + "httpsUser": { + "description": "Plaintext HTTPS username used to access private git repositories over HTTPS", + "type": "string", + "x-nullable": true + }, + "httpsCACert": { + "description": "Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS", + "type": "string", + "x-nullable": true + }, + "localAuthRef": { + "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.", + "type": "string", + "x-nullable": true + } + } + }, + "GitRepositoryPatchDefinition": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "x-nullable": true, + "properties": { + "url": { + "description": "The URL to sync for the flux configuration git repository.", + "type": "string", + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "repositoryRef": { + "description": "The source reference for the GitRepository object.", + "$ref": "#/definitions/RepositoryRefDefinition" + }, + "sshKnownHosts": { + "description": "Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH", + "type": "string", + "x-nullable": true + }, + "httpsUser": { + "description": "Plaintext HTTPS username used to access private git repositories over HTTPS", + "type": "string", + "x-nullable": true + }, + "httpsCACert": { + "description": "Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS", + "type": "string", + "x-nullable": true + }, + "localAuthRef": { + "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.", + "type": "string", + "x-nullable": true + } + } + }, + "RepositoryRefDefinition": { + "description": "The source reference for the GitRepository object.", + "type": "object", + "x-nullable": true, + "properties": { + "branch": { + "description": "The git repository branch name to checkout.", + "type": "string", + "x-nullable": true + }, + "tag": { + "description": "The git repository tag name to checkout. This takes precedence over branch.", + "type": "string", + "x-nullable": true + }, + "semver": { + "description": "The semver range used to match against git repository tags. This takes precedence over tag.", + "type": "string", + "x-nullable": true + }, + "commit": { + "description": "The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence over semver.", + "type": "string", + "x-nullable": true + } + } + }, + "BucketDefinition": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "x-nullable": true, + "properties": { + "url": { + "description": "The URL to sync for the flux configuration S3 bucket.", + "type": "string" + }, + "bucketName": { + "description": "The bucket name to sync from the url endpoint for the flux configuration.", + "type": "string" + }, + "insecure": { + "description": "Specify whether to use insecure communication when puling data from the S3 bucket.", + "type": "boolean", + "default": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "accessKey": { + "description": "Plaintext access key used to securely access the S3 bucket", + "type": "string", + "x-nullable": true + }, + "localAuthRef": { + "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.", + "type": "string", + "x-nullable": true + } + } + }, + "BucketPatchDefinition": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "x-nullable": true, + "properties": { + "url": { + "description": "The URL to sync for the flux configuration S3 bucket.", + "type": "string", + "x-nullable": true + }, + "bucketName": { + "description": "The bucket name to sync from the url endpoint for the flux configuration.", + "type": "string", + "x-nullable": true + }, + "insecure": { + "description": "Specify whether to use insecure communication when puling data from the S3 bucket.", + "type": "boolean", + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "accessKey": { + "description": "Plaintext access key used to securely access the S3 bucket", + "type": "string", + "x-nullable": true + }, + "localAuthRef": { + "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.", + "type": "string", + "x-nullable": true + } + } + }, + "KustomizationDefinition": { + "description": "The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster.", + "type": "object", + "x-nullable": true, + "properties": { + "path": { + "description": "The path in the source reference to reconcile on the cluster.", + "type": "string", + "default": "" + }, + "dependsOn": { + "description": "Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation.", + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/DependsOnDefinition" + }, + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the Kustomization on the cluster.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the Kustomization on the cluster.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "retryIntervalInSeconds": { + "description": "The interval at which to re-reconcile the Kustomization on the cluster in the event of failure on reconciliation.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "prune": { + "description": "Enable/disable garbage collections of Kubernetes objects created by this Kustomization.", + "type": "boolean", + "default": false + }, + "force": { + "description": "Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field change.", + "type": "boolean", + "default": false + } + } + }, + "KustomizationPatchDefinition": { + "description": "The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster.", + "type": "object", + "x-nullable": true, + "properties": { + "path": { + "description": "The path in the source reference to reconcile on the cluster.", + "type": "string", + "x-nullable": true + }, + "dependsOn": { + "description": "Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation.", + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/DependsOnDefinition" + }, + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the Kustomization on the cluster.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the Kustomization on the cluster.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "retryIntervalInSeconds": { + "description": "The interval at which to re-reconcile the Kustomization on the cluster in the event of failure on reconciliation.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "prune": { + "description": "Enable/disable garbage collections of Kubernetes objects created by this Kustomization.", + "type": "boolean", + "x-nullable": true + }, + "force": { + "description": "Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field change.", + "type": "boolean", + "x-nullable": true + } + } + }, + "DependsOnDefinition": { + "description": "Specify which kustomizations must succeed reconciliation on the cluster prior to reconciling this kustomization", + "type": "object", + "properties": { + "kustomizationName": { + "description": "Name of the kustomization to claim dependency on", + "type": "string" + } + } + }, + "KustomizationValidationDefinition": { + "description": "Specify whether to validate the Kubernetes objects referenced in the Kustomization before applying them to the cluster.", + "type": "string", + "enum": [ + "none", + "client", + "server" + ], + "default": "none", + "x-ms-enum": { + "name": "KustomizationValidationType", + "modelAsString": true + } + }, + "ObjectStatusDefinition": { + "description": "Statuses of objects deployed by the user-specified kustomizations from the git repository.", + "type": "object", + "x-nullable": true, + "properties": { + "name": { + "description": "Name of the applied object", + "type": "string" + }, + "namespace": { + "description": "Namespace of the applied object", + "type": "string" + }, + "kind": { + "description": "Kind of the applied object", + "type": "string" + }, + "complianceState": { + "description": "Compliance state of the applied object showing whether the applied object has come into a ready state on the cluster.", + "type": "string", + "$ref": "#/definitions/FluxComplianceStateDefinition" + }, + "appliedBy": { + "description": "Object reference to the Kustomization that applied this object", + "type": "object", + "$ref": "#/definitions/ObjectReferenceDefinition", + "x-nullable": true + }, + "statusConditions": { + "description": "List of Kubernetes object status conditions present on the cluster", + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/ObjectStatusConditionDefinition" + }, + "x-nullable": true + }, + "helmReleaseProperties": { + "description": "Additional properties that are provided from objects of the HelmRelease kind", + "type": "object", + "$ref": "#/definitions/HelmReleasePropertiesDefinition", + "x-nullable": true + } + } + }, + "ObjectReferenceDefinition": { + "description": "Object reference to a Kubernetes object on a cluster", + "type": "object", + "x-nullable": true, + "properties": { + "name": { + "description": "Name of the object", + "type": "string" + }, + "namespace": { + "description": "Namespace of the object", + "type": "string" + } + } + }, + "ObjectStatusConditionDefinition": { + "description": "Status condition of Kubernetes object", + "type": "object", + "properties": { + "lastTransitionTime": { + "description": "Last time this status condition has changed", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "A more verbose description of the object status condition", + "type": "string" + }, + "reason": { + "description": "Reason for the specified status condition type status", + "type": "string" + }, + "status": { + "description": "Status of the Kubernetes object condition type", + "type": "string" + }, + "type": { + "description": "Object status condition type for this object", + "type": "string" + } + } + }, + "HelmReleasePropertiesDefinition": { + "type": "object", + "x-nullable": true, + "properties": { + "lastRevisionApplied": { + "description": "The revision number of the last released object change", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "helmChartRef": { + "description": "The reference to the HelmChart object used as the source to this HelmRelease", + "type": "object", + "$ref": "#/definitions/ObjectReferenceDefinition" + }, + "failureCount": { + "description": "Total number of times that the HelmRelease failed to install or upgrade", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "installFailureCount": { + "description": "Number of times that the HelmRelease failed to install", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "upgradeFailureCount": { + "description": "Number of times that the HelmRelease failed to upgrade", + "type": "integer", + "format": "int64", + "x-nullable": true + } + } + }, + "FluxComplianceStateDefinition": { + "description": "Compliance state of the cluster object.", + "type": "string", + "enum": [ + "Compliant", + "Non-Compliant", + "Pending", + "Suspended", + "Unknown" + ], + "default": "Unknown", + "x-ms-enum": { + "name": "FluxComplianceState", + "modelAsString": true + } + }, + "FluxConfiguration": { + "type": "object", + "description": "The Flux Configuration object returned in Get & Put response.", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Properties to create a Flux Configuration resource", + "properties": { + "scope": { + "description": "Scope at which the operator will be installed.", + "$ref": "#/definitions/ScopeDefinition" + }, + "namespace": { + "description": "The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only.", + "type": "string", + "default": "default" + }, + "sourceKind": { + "description": "Source Kind to pull the configuration data from.", + "$ref": "#/definitions/SourceKindDefinition", + "default": "GitRepository" + }, + "suspend": { + "description": "Whether this configuration should suspend its reconciliation of its kustomizations and sources.", + "type": "boolean", + "default": false + }, + "gitRepository": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "$ref": "#/definitions/GitRepositoryDefinition" + }, + "bucket": { + "description": "Parameters to reconcile to the Bucket source kind type.", + "type": "object", + "$ref": "#/definitions/BucketDefinition" + }, + "kustomizations": { + "description": "Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/KustomizationDefinition" + } + }, + "configurationProtectedSettings": { + "description": "Key-value pairs of protected configuration settings for the configuration", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + }, + "statuses": { + "description": "Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects provisioned by the fluxConfiguration.", + "type": "array", + "readOnly": true, + "x-nullable": true, + "items": { + "type": "object", + "$ref": "#/definitions/ObjectStatusDefinition" + } + }, + "repositoryPublicKey": { + "description": "Public Key associated with this fluxConfiguration (either generated within the cluster or provided by the user).", + "type": "string", + "x-nullable": true, + "readOnly": true + }, + "lastSourceUpdatedCommitId": { + "description": "Branch and SHA of the last source commit synced with the cluster.", + "type": "string", + "x-nullable": true, + "readOnly": true + }, + "lastSourceUpdatedAt": { + "description": "Datetime the fluxConfiguration last synced its source on the cluster.", + "type": "string", + "format": "date-time", + "x-nullable": true, + "readOnly": true + }, + "complianceState": { + "description": "Combined status of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects.", + "type": "string", + "readOnly": true, + "$ref": "#/definitions/FluxComplianceStateDefinition" + }, + "provisioningState": { + "description": "Status of the creation of the fluxConfiguration.", + "type": "string", + "readOnly": true, + "$ref": "../../common/2022-01-01-preview/definitions.json#/definitions/ProvisioningStateDefinition" + }, + "errorMessage": { + "description": "Error message returned to the user in the case of provisioning failure.", + "type": "string", + "x-nullable": true, + "readOnly": true + } + } + }, + "systemData": { + "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "FluxConfigurationPatch": { + "description": "The Flux Configuration Patch Request object.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Updatable properties of an Flux Configuration Patch Request", + "properties": { + "sourceKind": { + "description": "Source Kind to pull the configuration data from.", + "$ref": "#/definitions/SourceKindDefinition", + "x-nullable": true + }, + "suspend": { + "description": "Whether this configuration should suspend its reconciliation of its kustomizations and sources.", + "type": "boolean", + "x-nullable": true + }, + "gitRepository": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "$ref": "#/definitions/GitRepositoryPatchDefinition" + }, + "bucket": { + "description": "Parameters to reconcile to the Bucket source kind type.", + "type": "object", + "$ref": "#/definitions/BucketDefinition" + }, + "kustomizations": { + "description": "Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/KustomizationPatchDefinition" + } + }, + "configurationProtectedSettings": { + "description": "Key-value pairs of protected configuration settings for the configuration", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + } + } + } + } + }, + "FluxConfigurationsList": { + "description": "Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/FluxConfiguration" + }, + "description": "List of Flux Configurations within a Kubernetes cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of configuration objects, if any." + } + } + } + }, + "parameters": { + "FluxConfigurationNameParameter": { + "name": "fluxConfigurationName", + "in": "path", + "description": "Name of the Flux Configuration.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/kubernetesconfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/kubernetesconfiguration.json new file mode 100644 index 000000000000..5af0acaa313d --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/kubernetesconfiguration.json @@ -0,0 +1,475 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "SourceControlConfigurationClient", + "description": "Use these APIs to create Source Control Configuration resources through ARM, for Kubernetes Clusters." + }, + "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}": { + "get": { + "tags": [ + "SourceControlConfiguration" + ], + "description": "Gets details of the Source Control Configuration.", + "operationId": "SourceControlConfigurations_Get", + "x-ms-examples": { + "Get Source Control Configuration": { + "$ref": "./examples/GetSourceControlConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SourceControlConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "SourceControlConfiguration" + ], + "description": "Create a new Kubernetes Source Control Configuration.", + "operationId": "SourceControlConfigurations_CreateOrUpdate", + "x-ms-examples": { + "Create Source Control Configuration": { + "$ref": "./examples/CreateSourceControlConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SourceControlConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "sourceControlConfiguration", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SourceControlConfiguration" + }, + "description": "Properties necessary to Create KubernetesConfiguration." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlConfiguration" + } + }, + "201": { + "description": "Created.", + "schema": { + "$ref": "#/definitions/SourceControlConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "SourceControlConfiguration" + ], + "description": "This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from the source repo.", + "operationId": "SourceControlConfigurations_Delete", + "x-ms-examples": { + "Delete Source Control Configuration": { + "$ref": "./examples/DeleteSourceControlConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SourceControlConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has been completed successfully." + }, + "204": { + "description": "No Content. The request has been accepted but the configuration was not found." + }, + "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations": { + "get": { + "tags": [ + "SourceControlConfiguration" + ], + "description": "List all Source Control Configurations.", + "operationId": "SourceControlConfigurations_List", + "x-ms-examples": { + "List Source Control Configuration": { + "$ref": "./examples/ListSourceControlConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlConfigurationList" + } + }, + "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" + } + } + } + }, + "definitions": { + "ComplianceStatus": { + "description": "Compliance Status details", + "type": "object", + "readOnly": true, + "properties": { + "complianceState": { + "description": "The compliance state of the configuration.", + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ComplianceStateType", + "modelAsString": true + }, + "enum": [ + "Pending", + "Compliant", + "Noncompliant", + "Installed", + "Failed" + ] + }, + "lastConfigApplied": { + "description": "Datetime the configuration was last applied.", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "Message from when the configuration was applied.", + "type": "string" + }, + "messageLevel": { + "description": "Level of the message.", + "type": "string", + "enum": [ + "Error", + "Warning", + "Information" + ], + "x-ms-enum": { + "name": "MessageLevelType", + "modelAsString": true + } + } + } + }, + "ChartVersion": { + "description": "Version of the operator Helm chart.", + "type": "string" + }, + "ChartValues": { + "description": "Values override for the operator Helm chart.", + "type": "string" + }, + "HelmOperatorProperties": { + "description": "Properties for Helm operator.", + "type": "object", + "properties": { + "chartVersion": { + "description": "Version of the operator Helm chart.", + "$ref": "#/definitions/ChartVersion" + }, + "chartValues": { + "description": "Values override for the operator Helm chart.", + "$ref": "#/definitions/ChartValues" + } + } + }, + "ConfigurationProtectedSettings": { + "description": "Name-value pairs of protected configuration settings for the configuration", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "OperatorTypeDefinition": { + "description": "Type of the operator", + "type": "string", + "enum": [ + "Flux" + ], + "x-ms-enum": { + "name": "OperatorType", + "modelAsString": true + } + }, + "OperatorScopeDefinition": { + "description": "Scope at which the operator will be installed.", + "type": "string", + "enum": [ + "cluster", + "namespace" + ], + "default": "cluster", + "x-ms-enum": { + "name": "OperatorScopeType", + "modelAsString": true + } + }, + "SourceControlConfiguration": { + "description": "The SourceControl Configuration object returned in Get & Put response.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Properties to create a Source Control Configuration resource", + "properties": { + "repositoryUrl": { + "type": "string", + "description": "Url of the SourceControl Repository." + }, + "operatorNamespace": { + "description": "The namespace to which this operator is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only.", + "type": "string", + "default": "default" + }, + "operatorInstanceName": { + "description": "Instance name of the operator - identifying the specific configuration.", + "type": "string" + }, + "operatorType": { + "description": "Type of the operator", + "$ref": "#/definitions/OperatorTypeDefinition" + }, + "operatorParams": { + "description": "Any Parameters for the Operator instance in string format.", + "type": "string" + }, + "configurationProtectedSettings": { + "description": "Name-value pairs of protected configuration settings for the configuration", + "type": "object", + "$ref": "#/definitions/ConfigurationProtectedSettings" + }, + "operatorScope": { + "description": "Scope at which the operator will be installed.", + "$ref": "#/definitions/OperatorScopeDefinition" + }, + "repositoryPublicKey": { + "description": "Public Key associated with this SourceControl configuration (either generated within the cluster or provided by the user).", + "type": "string", + "readOnly": true + }, + "sshKnownHostsContents": { + "description": "Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances", + "type": "string" + }, + "enableHelmOperator": { + "description": "Option to enable Helm Operator for this git configuration.", + "type": "boolean" + }, + "helmOperatorProperties": { + "description": "Properties for Helm operator.", + "type": "object", + "$ref": "#/definitions/HelmOperatorProperties" + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the resource provider.", + "readOnly": true, + "x-ms-enum": { + "modelAsString": true, + "name": "ProvisioningStateType" + }, + "enum": [ + "Accepted", + "Deleting", + "Running", + "Succeeded", + "Failed" + ] + }, + "complianceStatus": { + "type": "object", + "description": "Compliance Status of the Configuration", + "readOnly": true, + "$ref": "#/definitions/ComplianceStatus" + } + } + }, + "systemData": { + "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "SourceControlConfigurationList": { + "description": "Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SourceControlConfiguration" + }, + "description": "List of Source Control Configurations within a Kubernetes cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of configuration objects, if any." + } + } + } + }, + "parameters": { + "SourceControlConfigurationNameParameter": { + "name": "sourceControlConfigurationName", + "in": "path", + "description": "Name of the Source Control Configuration.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/operations.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/operations.json new file mode 100644 index 000000000000..6ac2645a3fba --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/operations.json @@ -0,0 +1,127 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "OperationsClient", + "description": "Use these APIs to create extension resources through ARM, for Kubernetes Clusters." + }, + "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations": { + "get": { + "tags": [ + "Operations in a Cluster" + ], + "operationId": "OperationStatus_List", + "description": "List Async Operations, currently in progress, in a cluster", + "x-ms-examples": { + "AsyncOperationStatus List": { + "$ref": "./examples/ListAsyncOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Operations in a cluster", + "schema": { + "$ref": "../../common/2022-01-01-preview/definitions.json#/definitions/OperationStatusList" + } + }, + "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" + } + } + }, + "/providers/Microsoft.KubernetesConfiguration/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "BatchAccountDelete": { + "$ref": "./examples/OperationsList.json" + } + }, + "description": "List all the available operations the KubernetesConfiguration resource provider supports.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "../../common/2022-01-01-preview/definitions.json#/definitions/ResourceProviderOperationList" + } + }, + "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" + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/kubernetesconfiguration/resource-manager/readme.go.md b/specification/kubernetesconfiguration/resource-manager/readme.go.md index d24dd70dc6ba..98a0abfd2085 100644 --- a/specification/kubernetesconfiguration/resource-manager/readme.go.md +++ b/specification/kubernetesconfiguration/resource-manager/readme.go.md @@ -13,12 +13,46 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-preview-2022-01 + - tag: package-preview-2021-11 + - tag: package-2021-09 - tag: package-preview-2021-05 - tag: package-2021-03 - - tag: package-2019-11-01-preview + - tag: package-preview-2020-10 - tag: package-2020-07-01-preview + - tag: package-2019-11-01-preview ``` +### Tag: package-preview-2022-01 and go + +These settings apply only when `--tag=package-preview-2022-01 --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-preview-2022-01' && $(go) +namespace: kubernetesconfiguration +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2022-01-01-preview/$(namespace) +``` + +### Tag: package-preview-2021-11 and go + +These settings apply only when `--tag=package-preview-2021-11 --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-preview-2021-11' && $(go) +namespace: kubernetesconfiguration +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-11-01-preview/$(namespace) +``` + +### Tag: package-2021-09 and go + +These settings apply only when `--tag=package-2021-09 --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2021-09' && $(go) +namespace: kubernetesconfiguration +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-09-01/$(namespace) +``` + ### Tag: package-preview-2021-05 and go These settings apply only when `--tag=package-preview-2021-05 --go` is specified on the command line. @@ -37,9 +71,22 @@ Please also specify `--go-sdks-folder=`. +```yaml $(tag) == 'package-preview-2020-10' && $(go) +namespace: kubernetesconfiguration +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-10-01-preview/$(namespace) +``` - +### Tag: package-2020-07-01-preview and go +These settings apply only when `--tag=package-2020-07-01-preview --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. +```yaml $(tag) == 'package-2020-07-01-preview' && $(go) +namespace: kubernetesconfiguration +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-07-01-preview/$(namespace) ``` ### Tag: package-2019-11-01-preview and go @@ -50,10 +97,4 @@ Please also specify `--go-sdks-folder=`. -```yaml $(tag) == 'package-2020-07-01-preview' && $(go) -namespace: kubernetesconfiguration -output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-07-01-preview/$(namespace) +``` \ No newline at end of file diff --git a/specification/kubernetesconfiguration/resource-manager/readme.java.md b/specification/kubernetesconfiguration/resource-manager/readme.java.md index 8a36719a3c7d..e89c7c799d8e 100644 --- a/specification/kubernetesconfiguration/resource-manager/readme.java.md +++ b/specification/kubernetesconfiguration/resource-manager/readme.java.md @@ -16,18 +16,61 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-kubernetesconfigura ``` yaml $(java) && $(multiapi) batch: - - tag: package-2021-05-01-preview + - tag: package-preview-2022-01 + - tag: package-preview-2021-11 + - tag: package-2021-09 + - tag: package-preview-2021-05 - tag: package-2021-03-01 + - tag: package-preview-2020-10 - tag: package-2020-07-01-preview - tag: package-2019-11-01-preview ``` -### Tag: package-2021-05-01-preview and java +### Tag: package-preview-2022-01 and java -These settings apply only when `--tag=package-2021-05-01-preview --java` is specified on the command line. +These settings apply only when `--tag=package-preview-2022-01 --java` is specified on the command line. Please also specify `--azure-libraries-for-java-folder=`. -``` yaml $(tag) == 'package-2021-05-01-preview' && $(java) && $(multiapi) +``` yaml $(tag) == 'package-preview-2022-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.kubernetesconfiguration.v2022_01_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/kubernetesconfiguration/mgmt-v2022_01_01_preview + regenerate-manager: true + generate-interface: true +``` + +### Tag: package-preview-2021-11 and java + +These settings apply only when `--tag=package-preview-2021-11 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-preview-2021-11' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.kubernetesconfiguration.v2021_11_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/kubernetesconfiguration/mgmt-v2021_11_01_preview + regenerate-manager: true + generate-interface: true +``` + +### Tag: package-2021-09 and java + +These settings apply only when `--tag=package-2021-09 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2021-09' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.kubernetesconfiguration.v2021_09_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/kubernetesconfiguration/mgmt-v2021_09_01 + regenerate-manager: true + generate-interface: true +``` + +### Tag: package-preview-2021-05 and java + +These settings apply only when `--tag=package-preview-2021-05 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-preview-2021-05' && $(java) && $(multiapi) java: namespace: com.microsoft.azure.management.kubernetesconfiguration.v2021_05_01_preview output-folder: $(azure-libraries-for-java-folder)/sdk/kubernetesconfiguration/mgmt-v2021_05_01_preview @@ -48,6 +91,19 @@ java: generate-interface: true ``` +### Tag: package-preview-2020-10 and java + +These settings apply only when `--tag=package-preview-2020-10 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-preview-2020-10' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.kubernetesconfiguration.v2020_10_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/kubernetesconfiguration/mgmt-v2020_10_01_preview + regenerate-manager: true + generate-interface: true +``` + ### Tag: package-2020-07-01-preview and java These settings apply only when `--tag=package-2020-07-01-preview --java` is specified on the command line. diff --git a/specification/kubernetesconfiguration/resource-manager/readme.md b/specification/kubernetesconfiguration/resource-manager/readme.md index 48f2e9a7a74e..16daffb770d0 100644 --- a/specification/kubernetesconfiguration/resource-manager/readme.md +++ b/specification/kubernetesconfiguration/resource-manager/readme.md @@ -28,11 +28,24 @@ These are the global settings for the KubernetesConfiguration. title: SourceControlConfigurationClient description: KubernetesConfiguration Client openapi-type: arm -tag: package-2021-09 +tag: package-preview-2022-01 ``` --- + +### Tag: package-preview-2022-01 + +These settings apply only when `--tag=package-preview-2022-01` is specified on the command line. + +```yaml $(tag) == 'package-preview-2022-01' +input-file: + - Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/extensionTypes.json + - Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/extensions.json + - Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/fluxconfiguration.json + - Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/kubernetesconfiguration.json + - Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/operations.json +``` ### Tag: package-2021-09 These settings apply only when `--tag=package-2021-09` is specified on the command line. @@ -43,8 +56,10 @@ input-file: ``` --- + ## Suppression -```yaml + +``` yaml directive: - suppress: LongRunningResponseStatusCode reason: The validation tools do not properly recognize 202 as a supported response code. @@ -83,6 +98,28 @@ directive: } ``` +### Tag: package-preview-2021-11 + +These settings apply only when `--tag=package-preview-2021-11` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2021-11' +input-file: + - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensions.json + - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensionTypes.json + - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/kubernetesconfiguration.json + - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/fluxconfiguration.json + - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/operations.json +``` + +### Tag: package-2021-09 + +These settings apply only when `--tag=package-2021-09` is specified on the command line. + +``` yaml $(tag) == 'package-2021-09' +input-file: + - Microsoft.KubernetesConfiguration/stable/2021-09-01/extensions.json +``` + ### Tag: package-preview-2021-05 These settings apply only when `--tag=package-preview-2021-05` is specified on the command line. @@ -136,8 +173,49 @@ input-file: ``` yaml directive: - suppress: TopLevelResourcesListBySubscription + reason: 'Microsoft.KubernetesConfiguration is a proxy resource provider under Microsoft.Kubernetes' + from: kubernetesconfiguration.json + - suppress: LongRunningResponseStatusCode + reason: The validation tools do not properly recognize 202 as a supported response code. from: extensions.json + - suppress: TopLevelResourcesListBySubscription reason: 'Microsoft.KubernetesConfiguration is a proxy resource provider under Microsoft.Kubernetes' + from: extensions.json + - suppress: LongRunningResponseStatusCode + reason: The validation tools do not properly recognize 202 as a supported response code. + from: fluxconfiguration.json + - suppress: TopLevelResourcesListBySubscription + from: fluxconfiguration.json + reason: 'Microsoft.KubernetesConfiguration is a proxy resource provider under Microsoft.Kubernetes and Microsoft.ContainerServices' + - suppress: BodyTopLevelProperties + where: $.definitions.Extension.properties + from: extensions.json + reason: |- + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources + + The systemData should be top level element based on the new requirement: + { + "id": "/subscriptions/{id}/resourceGroups/{group}/providers/{rpns}/{type}/{name}", + "name": "{name}", + "type": "{resourceProviderNamespace}/{resourceType}", + "location": "North US", + "systemData":{ + "createdBy": "", + "createdByType": "", + "createdAt": "", + "lastModifiedBy": "", + "lastModifiedByType": "", + "lastModifiedAt": "" + }, + "tags": { + "key1": "value 1", + "key2": "value 2" + }, + "kind": "resource kind", + "properties": { + "comment": "Resource defined structure" + } + } ``` --- diff --git a/specification/kubernetesconfiguration/resource-manager/readme.python.md b/specification/kubernetesconfiguration/resource-manager/readme.python.md index ee6fcd558f05..2210c12e9604 100644 --- a/specification/kubernetesconfiguration/resource-manager/readme.python.md +++ b/specification/kubernetesconfiguration/resource-manager/readme.python.md @@ -4,20 +4,108 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. -```yaml $(python) && $(track2) +``` yaml $(python) && $(track2) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.kubernetesconfiguration package-name: azure-mgmt-kubernetesconfiguration no-namespace-folders: true -package-version: 1.0.0b1 +package-version: 1.1.0 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) -no-namespace-folders: true -output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration + +### Python multi-api + +Generate all API versions currently shipped for this package + +```yaml $(multiapi) +clear-output-folder: true +batch: + - tag: package-preview-2022-01 + - tag: package-preview-2021-11 + - tag: package-2021-09 + - tag: package-preview-2021-05 + - tag: package-2021-03 + - tag: package-preview-2020-10 + - tag: package-2020-07-01-preview + - tag: package-2019-11-01-preview + - multiapiscript: true +``` + +``` yaml $(multiapiscript) +output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/ +clear-output-folder: false +perform-load: false +``` + +### Tag: package-preview-2022-01 and python + +These settings apply only when `--tag=package-preview-2022-01 --python` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2022-01' +namespace: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview +output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/v2022_01_01_preview +``` + +### Tag: package-preview-2021-11 and python + +These settings apply only when `--tag=package-preview-2021-11 --python` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2021-11' +namespace: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview +output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/v2021_11_01_preview +``` + +### Tag: package-2021-09 and python + +These settings apply only when `--tag=package-2021-09 --python` is specified on the command line. + +``` yaml $(tag) == 'package-2021-09' +namespace: azure.mgmt.kubernetesconfiguration.v2021_09_01 +output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/v2021_09_01 ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration + +### Tag: package-preview-2021-05 and python + +These settings apply only when `--tag=package-preview-2021-05 --python` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2021-05' +namespace: azure.mgmt.kubernetesconfiguration.v2021_05_01_preview +output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/v2021_05_01_preview +``` + +### Tag: package-2021-03 and python + +These settings apply only when `--tag=package-2021-03 --python` is specified on the command line. + +``` yaml $(tag) == 'package-2021-03' +namespace: azure.mgmt.kubernetesconfiguration.v2021_03_01 +output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/v2021_03_01 +``` + +### Tag: package-preview-2020-10 and python + +These settings apply only when `--tag=package-preview-2020-10 --python` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2020-10' +namespace: azure.mgmt.kubernetesconfiguration.v2020_10_01_preview +output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/v2020_10_01_preview +``` + +### Tag: package-2020-07-01-preview and python + +These settings apply only when `--tag=package-2020-07-01-preview --python` is specified on the command line. + +``` yaml $(tag) == 'package-2020-07-01-preview' +namespace: azure.mgmt.kubernetesconfiguration.v2020_07_01_preview +output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/v2020_07_01_preview +``` + +### Tag: package-2019-11-01-preview and python + +These settings apply only when `--tag=package-2019-11-01-preview --python` is specified on the command line. + +``` yaml $(tag) == 'package-2019-11-01-preview ' +namespace: azure.mgmt.kubernetesconfiguration.v2019_11_01_preview +output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/v2019_11_01_preview ``` \ No newline at end of file diff --git a/specification/kubernetesconfiguration/resource-manager/readme.ruby.md b/specification/kubernetesconfiguration/resource-manager/readme.ruby.md index 9360ba1303da..fbb49fb17303 100644 --- a/specification/kubernetesconfiguration/resource-manager/readme.ruby.md +++ b/specification/kubernetesconfiguration/resource-manager/readme.ruby.md @@ -12,18 +12,52 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: - - tag: package-2021-05-01-preview' - - tag: package-2021-03-01' - - tag: package-2020-07-01-preview' - - tag: package-2019-11-01-preview' + - tag: package-preview-2022-01 + - tag: package-preview-2021-11 + - tag: package-2021-09 + - tag: package-preview-2021-05 + - tag: package-2021-03-01 + - tag: package-preview-2020-10 + - tag: package-2020-07-01-preview + - tag: package-2019-11-01-preview ``` -### Tag: package-2021-05-01-preview and ruby +### Tag: package-preview-2022-01 and ruby -These settings apply only when `--tag=package-2021-05-01-preview --ruby` is specified on the command line. +These settings apply only when `--tag=package-preview-2022-01 --ruby` is specified on the command line. Please also specify `--ruby-sdks-folder=`. -```yaml $(tag) == 'package-2021-05-01-preview' && $(ruby) +```yaml $(tag) == 'package-preview-2022-01' && $(ruby) +namespace: "Azure::KubernetesConfiguration::Mgmt::V2022_01_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib +``` + +### Tag: package-preview-2021-11 and ruby + +These settings apply only when `--tag=package-preview-2021-11 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-preview-2021-11' && $(ruby) +namespace: "Azure::KubernetesConfiguration::Mgmt::V2021_11_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib +``` + +### Tag: package-2021-09 and ruby + +These settings apply only when `--tag=package-2021-09 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2021-09' && $(ruby) +namespace: "Azure::KubernetesConfiguration::Mgmt::V2021_09_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib +``` + +### Tag: package-preview-2021-05 and ruby + +These settings apply only when `--tag=package-preview-2021-05 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-preview-2021-05' && $(ruby) namespace: "Azure::KubernetesConfiguration::Mgmt::V2021_05_01_preview" output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib ``` @@ -38,13 +72,13 @@ namespace: "Azure::KubernetesConfiguration::Mgmt::V2021_03_01" output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib ``` -### Tag: package-2019-11-01-preview and ruby +### Tag: package-preview-2020-10 and ruby -These settings apply only when `--tag=package-2019-11-01-preview --ruby` is specified on the command line. +These settings apply only when `--tag=package-preview-2020-10 --ruby` is specified on the command line. Please also specify `--ruby-sdks-folder=`. -```yaml $(tag) == 'package-2019-11-01-preview' && $(ruby) -namespace: "Azure::KubernetesConfiguration::Mgmt::V2019_11_01_preview" +```yaml $(tag) == 'package-preview-2020-10' && $(ruby) +namespace: "Azure::KubernetesConfiguration::Mgmt::V2020_10_01_preview" output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib ``` @@ -57,3 +91,13 @@ Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2019-11-01-preview' && $(ruby) +namespace: "Azure::KubernetesConfiguration::Mgmt::V2019_11_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib +``` diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Images.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Images.json new file mode 100644 index 000000000000..279c70995419 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Images.json @@ -0,0 +1,379 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-15-preview", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services images." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "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": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans/{labPlanName}/images": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "LabPlans.json#/parameters/LabPlanNameParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": [ + "Image" + ], + "summary": "Gets all images.", + "description": "Gets all images from galleries attached to a lab plan.", + "operationId": "Images_ListByLabPlan", + "responses": { + "200": { + "description": "The request was successful; a list of images is returned", + "schema": { + "$ref": "#/definitions/PagedImages" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listImages": { + "$ref": "./examples/Images/listImages.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans/{labPlanName}/images/{imageName}": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "LabPlans.json#/parameters/LabPlanNameParameter" + }, + { + "$ref": "#/parameters/ImageNameParameter" + } + ], + "get": { + "tags": [ + "Image" + ], + "summary": "Gets an image.", + "description": "Gets an image resource.", + "operationId": "Images_Get", + "responses": { + "200": { + "description": "The request was successful; the image is returned", + "schema": { + "$ref": "#/definitions/Image" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "getImage": { + "$ref": "./examples/Images/getImage.json" + } + } + }, + "put": { + "tags": [ + "Image" + ], + "summary": "Updates an image via PUT.", + "description": "Updates an image resource via PUT. Creating new resources via PUT will not function.", + "operationId": "Images_CreateOrUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/Image" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the image is returned", + "schema": { + "$ref": "#/definitions/Image" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "putImage": { + "$ref": "./examples/Images/putImage.json" + } + } + }, + "patch": { + "tags": [ + "Image" + ], + "summary": "Updates an image.", + "description": "Updates an image resource.", + "consumes": [ + "application/json" + ], + "operationId": "Images_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUpdate" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the image is returned", + "schema": { + "$ref": "#/definitions/Image" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "patchImage": { + "$ref": "./examples/Images/patchImage.json" + } + } + } + } + }, + "definitions": { + "Image": { + "description": "Lab services virtual machine image", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "description": "Metadata pertaining to creation and last modification of the image.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "description": "Image resource properties", + "$ref": "#/definitions/ImageProperties", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ] + }, + "PagedImages": { + "description": "Paged list of Lab services virtual machine images.", + "type": "object", + "properties": { + "value": { + "description": "The array page of virtual machine images.", + "type": "array", + "items": { + "$ref": "#/definitions/Image" + }, + "readOnly": true + }, + "nextLink": { + "description": "The link to get the next page of image results.", + "type": "string", + "readOnly": true + } + } + }, + "ImageUpdate": { + "description": "Lab services virtual machine image for updates.", + "type": "object", + "properties": { + "properties": { + "description": "Image resource properties", + "$ref": "#/definitions/ImageUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "ImageUpdateProperties": { + "description": "Properties of an image resource update", + "type": "object", + "properties": { + "enabledState": { + "description": "Is the image enabled", + "default": "Disabled", + "$ref": "LabServices.json#/definitions/enableState" + } + } + }, + "ImageProperties": { + "description": "Properties of an image resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ImageUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "Current provisioning state of the image.", + "$ref": "LabServices.json#/definitions/provisioningState", + "readOnly": true + }, + "displayName": { + "description": "The image display name.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "A description of the image.", + "type": "string", + "readOnly": true + }, + "iconUrl": { + "description": "URL of the image icon.", + "type": "string", + "readOnly": true + }, + "author": { + "description": "The image author.", + "type": "string", + "readOnly": true + }, + "osType": { + "description": "The OS Type of the image.", + "$ref": "LabServices.json#/definitions/osType", + "readOnly": true + }, + "plan": { + "description": "The ID of marketplace plan associated with the image (optional).", + "type": "string", + "readOnly": true + }, + "termsStatus": { + "description": "The status of image terms of use (enabled = accepted, disabled = not accepted).", + "$ref": "LabServices.json#/definitions/enableState", + "readOnly": true + }, + "offer": { + "description": "The ID of an offer associated with the image.", + "type": "string", + "readOnly": true + }, + "publisher": { + "description": "The ID of the publisher of the image.", + "type": "string", + "readOnly": true + }, + "sku": { + "description": "The image SKU.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The image version.", + "type": "string", + "readOnly": true + }, + "sharedGalleryId": { + "description": "The ID for the image in the shared gallery.", + "$ref": "LabServices.json#/definitions/url", + "readOnly": true + }, + "availableRegions": { + "description": "The available regions of the image in the shared gallery.", + "type": "array", + "items": { + "type": "string" + } + }, + "osState": { + "description": "The OS State of the image.", + "$ref": "LabServices.json#/definitions/osState", + "readOnly": true + } + }, + "required": [ + "enabledState" + ] + } + }, + "parameters": { + "ImageNameParameter": { + "name": "imageName", + "in": "path", + "required": true, + "type": "string", + "description": "The image name.", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/LabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/LabPlans.json new file mode 100644 index 000000000000..83c1e3daf649 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/LabPlans.json @@ -0,0 +1,532 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-15-preview", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services lab plans." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "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" + } + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/labPlans": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": [ + "LabPlan" + ], + "summary": "Get all lab plans for a subscription.", + "description": "Returns a list of all lab plans within a subscription", + "operationId": "LabPlans_ListBySubscription", + "responses": { + "200": { + "description": "The request was successful; response contains all Lab Plans for the given subscription.", + "schema": { + "$ref": "#/definitions/PagedLabPlans" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listLabPlans": { + "$ref": "./examples/LabPlans/listLabPlans.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "get": { + "tags": [ + "LabPlan" + ], + "summary": "Get all lab plans for a subscription and resource group.", + "description": "Returns a list of all lab plans for a subscription and resource group.", + "operationId": "LabPlans_ListByResourceGroup", + "responses": { + "200": { + "description": "The request was successful; response contains all Lab Plans for the given subscription.", + "schema": { + "$ref": "#/definitions/PagedLabPlans" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listResourceGroupLabPlans": { + "$ref": "./examples/LabPlans/listResourceGroupLabPlans.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans/{labPlanName}": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/LabPlanNameParameter" + } + ], + "get": { + "tags": [ + "LabPlan" + ], + "summary": "Retrieves a Lab Plan resource.", + "description": "Retrieves the properties of a Lab Plan.", + "operationId": "LabPlans_Get", + "responses": { + "200": { + "description": "The request was successful; response contains the Lab Plan.", + "schema": { + "$ref": "#/definitions/LabPlan" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "getLabPlan": { + "$ref": "./examples/LabPlans/getLabPlan.json" + } + } + }, + "put": { + "tags": [ + "LabPlan" + ], + "summary": "Updates or creates a Lab Plan resource.", + "description": "Operation to create or update a Lab Plan resource.", + "operationId": "LabPlans_CreateOrUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/LabPlan" + } + } + ], + "responses": { + "200": { + "description": "The update was successful; response contains the Lab Plan.", + "schema": { + "$ref": "#/definitions/LabPlan" + } + }, + "201": { + "description": "The create was successful; response contains the Lab Plan.", + "schema": { + "$ref": "#/definitions/LabPlan" + } + }, + "202": { + "description": "The update was successful and has a long running operation; response contains the Lab Plan.", + "schema": { + "$ref": "#/definitions/LabPlan" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "original-uri" + }, + "x-ms-examples": { + "putLabPlan": { + "$ref": "./examples/LabPlans/putLabPlan.json" + } + } + }, + "patch": { + "tags": [ + "LabPlan" + ], + "summary": "Updates a Lab Plan resource.", + "description": "Operation to update a Lab Plan resource.", + "consumes": [ + "application/json" + ], + "operationId": "LabPlans_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/LabPlanUpdate" + } + } + ], + "responses": { + "200": { + "description": "The update was successful; response contains the Lab Plan.", + "schema": { + "$ref": "#/definitions/LabPlan" + } + }, + "202": { + "description": "The update was successful and has a long running operation; response contains the Lab Plan.", + "schema": { + "$ref": "#/definitions/LabPlan" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "patchLabPlan": { + "$ref": "./examples/LabPlans/patchLabPlan.json" + } + } + }, + "delete": { + "tags": [ + "LabPlan" + ], + "summary": "Deletes a Lab Plan resource.", + "description": "Operation to delete a Lab Plan resource. Deleting a lab plan does not delete labs associated with a lab plan, nor does it delete shared images added to a gallery via the lab plan permission container.", + "operationId": "LabPlans_Delete", + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + }, + "204": { + "description": "The request has been fulfilled." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "deleteLabPlan": { + "$ref": "./examples/LabPlans/deleteLabPlan.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans/{labPlanName}/saveImage": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/LabPlanNameParameter" + } + ], + "post": { + "tags": [ + "VirtualMachine" + ], + "summary": "Save an image from a lab VM to the attached shared image gallery.", + "description": "Saves an image from a lab VM to the attached shared image gallery.", + "operationId": "LabPlans_SaveImage", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/SaveImageBody" + } + } + ], + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "saveImageVirtualMachine": { + "$ref": "./examples/LabPlans/saveImageVirtualMachine.json" + } + } + } + } + }, + "definitions": { + "LabPlan": { + "description": "Lab Plans act as a permission container for creating labs via labs.azure.com. Additionally, they can provide a set of default configurations that will apply at the time of creating a lab, but these defaults can still be overwritten.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "systemData": { + "description": "Metadata pertaining to creation and last modification of the lab plan.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "description": "Lab plan resource properties", + "$ref": "#/definitions/LabPlanProperties", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ] + }, + "PagedLabPlans": { + "description": "Paged list of lab plans.", + "type": "object", + "properties": { + "value": { + "description": "The array page of lab plans.", + "type": "array", + "items": { + "$ref": "#/definitions/LabPlan" + }, + "readOnly": true + }, + "nextLink": { + "description": "The link to get the next page of lab plan results.", + "type": "string", + "readOnly": true + } + } + }, + "LabPlanNetworkProfile": { + "description": "Profile for how to handle networking for Lab Plans.", + "type": "object", + "properties": { + "subnetId": { + "description": "The external subnet resource id", + "$ref": "LabServices.json#/definitions/url" + } + } + }, + "LabPlanUpdate": { + "description": "Contains lab configuration and default settings. This variant is used for PATCH.", + "type": "object", + "allOf": [ + { + "$ref": "LabServices.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "properties": { + "description": "Lab plan resource update properties", + "$ref": "#/definitions/LabPlanUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "LabPlanUpdateProperties": { + "description": "Lab plan resource properties for updates", + "type": "object", + "properties": { + "defaultConnectionProfile": { + "description": "The default lab connection profile. This can be changed on a lab resource and only provides a default profile.", + "$ref": "LabServices.json#/definitions/ConnectionProfile" + }, + "defaultAutoShutdownProfile": { + "description": "The default lab shutdown profile. This can be changed on a lab resource and only provides a default profile.", + "$ref": "LabServices.json#/definitions/AutoShutdownProfile" + }, + "defaultNetworkProfile": { + "description": "The lab plan network profile. To enforce lab network policies they must be defined here and cannot be changed when there are existing labs associated with this lab plan.", + "$ref": "#/definitions/LabPlanNetworkProfile" + }, + "allowedRegions": { + "description": "The allowed regions for the lab creator to use when creating labs using this lab plan.", + "type": "array", + "items": { + "type": "string" + } + }, + "sharedGalleryId": { + "description": "Resource ID of the Shared Image Gallery attached to this lab plan. When saving a lab template virtual machine image it will be persisted in this gallery. Shared images from the gallery can be made available to use when creating new labs.", + "$ref": "LabServices.json#/definitions/url" + }, + "supportInfo": { + "description": "Support contact information and instructions for users of the lab plan. This information is displayed to lab owners and virtual machine users for all labs in the lab plan.", + "$ref": "#/definitions/SupportInfo" + }, + "linkedLmsInstance": { + "description": "Base Url of the lms instance this lab plan can link lab rosters against.", + "$ref": "LabServices.json#/definitions/url" + } + } + }, + "LabPlanProperties": { + "description": "Lab plan resource properties", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/LabPlanUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "Current provisioning state of the lab plan.", + "$ref": "LabServices.json#/definitions/provisioningState", + "readOnly": true + } + } + }, + "SupportInfo": { + "description": "Support contact information and instructions.", + "type": "object", + "properties": { + "url": { + "description": "Support web address.", + "$ref": "LabServices.json#/definitions/url" + }, + "email": { + "description": "Support contact email address.", + "$ref": "LabServices.json#/definitions/emailAddress" + }, + "phone": { + "description": "Support contact phone number.", + "$ref": "LabServices.json#/definitions/phoneNumber" + }, + "instructions": { + "description": "Support instructions.", + "type": "string" + } + } + }, + "SaveImageBody": { + "description": "Body for the save image POST", + "type": "object", + "properties": { + "name": { + "description": "The name for the image we create.", + "type": "string" + }, + "labVirtualMachineId": { + "description": "The ID of the lab virtual machine you want to save an image from.", + "$ref": "LabServices.json#/definitions/url" + } + } + } + }, + "parameters": { + "LabPlanNameParameter": { + "name": "labPlanName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the lab plan that uniquely identifies it within containing resource group. Used in resource URIs and in UI.", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/LabServices.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/LabServices.json new file mode 100644 index 000000000000..0d6d8b7006ac --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/LabServices.json @@ -0,0 +1,301 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-15-preview", + "title": "LabServicesClient", + "description": "Azure Lab Services REST API.", + "x-ms-code-generation-settings": { + "internalConstructors": true + } + }, + "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": { + "/providers/Microsoft.LabServices/operations": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "Operations" + ], + "summary": "Get all operations", + "description": "Returns a list of all operations.", + "operationId": "Operations_List", + "responses": { + "200": { + "description": "The request was successful; response contains all operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listOperations": { + "$ref": "./examples/LabServices/listOperations.json" + } + } + } + } + }, + "definitions": { + "provisioningState": { + "type": "string", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Locked" + ], + "description": "Resource provisioning state.", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Creating", + "description": "Resource is in the process of being created." + }, + { + "value": "Updating", + "description": "New property values are being applied to the resource." + }, + { + "value": "Deleting", + "description": "Resource is in the process of being deleted." + }, + { + "value": "Succeeded", + "description": "Resource is in healthy state after creation or update operation." + }, + { + "value": "Failed", + "description": "Previous operation on the resource has failed leaving resource in unhealthy state." + }, + { + "value": "Locked", + "description": "The resource is locked and changes are currently blocked. This could be due to maintenance or a scheduled operation. The state will go back to succeeded once the locking operation has finished." + } + ] + } + }, + "enableState": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "description": "Property enabled state.", + "x-ms-enum": { + "name": "EnableState", + "modelAsString": false + } + }, + "connectionType": { + "type": "string", + "enum": [ + "Public", + "Private", + "None" + ], + "description": "A connection type for access labs and VMs (Public, Private or None).", + "x-ms-enum": { + "name": "ConnectionType", + "modelAsString": false + } + }, + "emailAddress": { + "type": "string", + "minLength": 6, + "maxLength": 254, + "description": "An email address." + }, + "phoneNumber": { + "type": "string", + "minLength": 1, + "maxLength": 31, + "description": "A phone number." + }, + "url": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + }, + "osType": { + "type": "string", + "enum": [ + "Windows", + "Linux" + ], + "description": "The operating system type.", + "x-ms-enum": { + "name": "OsType", + "modelAsString": false + } + }, + "osState": { + "type": "string", + "enum": [ + "Generalized", + "Specialized" + ], + "description": "The operating system state.", + "x-ms-enum": { + "name": "OsState", + "modelAsString": false, + "values": [ + { + "value": "Generalized", + "description": "Image does not contain any machine and user specific information." + }, + { + "value": "Specialized", + "description": "Image contains machine and user specific information." + } + ] + } + }, + "shutdownOnIdleMode": { + "type": "string", + "enum": [ + "None", + "UserAbsence", + "LowUsage" + ], + "description": "Defines whether to shut down VM on idle and the criteria for idle detection.", + "x-ms-enum": { + "name": "shutdownOnIdleMode", + "modelAsString": false, + "values": [ + { + "value": "None", + "description": "The VM won't be shut down when it is idle." + }, + { + "value": "UserAbsence", + "description": "The VM will be considered as idle when there is no keyboard or mouse input." + }, + { + "value": "LowUsage", + "description": "The VM will be considered as idle when user is absent and the resource (CPU and disk) consumption is low." + } + ] + } + }, + "TrackedResourceUpdate": { + "description": "Base tracked resource type for all PATCH updates.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AutoShutdownProfile": { + "description": "Profile for how to handle shutting down virtual machines.", + "type": "object", + "properties": { + "shutdownOnDisconnect": { + "description": "Whether shutdown on disconnect is enabled", + "default": "Disabled", + "$ref": "#/definitions/enableState" + }, + "shutdownWhenNotConnected": { + "description": "Whether a VM will get shutdown when it hasn't been connected to after a period of time.", + "default": "Disabled", + "$ref": "#/definitions/enableState" + }, + "shutdownOnIdle": { + "description": "Whether a VM will get shutdown when it has idled for a period of time.", + "default": "None", + "$ref": "#/definitions/shutdownOnIdleMode" + }, + "disconnectDelay": { + "description": "The amount of time a VM will stay running after a user disconnects if this behavior is enabled.", + "type": "string", + "format": "duration" + }, + "noConnectDelay": { + "description": "The amount of time a VM will stay running before it is shutdown if no connection is made and this behavior is enabled.", + "type": "string", + "format": "duration" + }, + "idleDelay": { + "description": "The amount of time a VM will idle before it is shutdown if this behavior is enabled.", + "type": "string", + "format": "duration" + } + } + }, + "ConnectionProfile": { + "description": "Connection profile for how users connect to lab virtual machines.", + "type": "object", + "properties": { + "webSshAccess": { + "description": "The enabled access level for Web Access over SSH.", + "default": "None", + "$ref": "#/definitions/connectionType" + }, + "webRdpAccess": { + "description": "The enabled access level for Web Access over RDP.", + "default": "None", + "$ref": "#/definitions/connectionType" + }, + "clientSshAccess": { + "description": "The enabled access level for Client Access over SSH.", + "default": "None", + "$ref": "#/definitions/connectionType" + }, + "clientRdpAccess": { + "description": "The enabled access level for Client Access over RDP.", + "default": "None", + "$ref": "#/definitions/connectionType" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Labs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Labs.json new file mode 100644 index 000000000000..1029bfd79632 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Labs.json @@ -0,0 +1,797 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-15-preview", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services labs." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "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" + } + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/labs": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": [ + "Lab" + ], + "summary": "Get all labs for a subscription.", + "description": "Returns a list of all labs for a subscription.", + "operationId": "Labs_ListBySubscription", + "responses": { + "200": { + "description": "The request was successful; response contains all Labs for the given subscription.", + "schema": { + "$ref": "#/definitions/PagedLabs" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listLabs": { + "$ref": "./examples/Labs/listLabs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "get": { + "tags": [ + "Lab" + ], + "summary": "Get all labs for a subscription and resource group.", + "description": "Returns a list of all labs in a resource group.", + "operationId": "Labs_ListByResourceGroup", + "responses": { + "200": { + "description": "The request was successful; response contains all Labs for the given subscription and resource group.", + "schema": { + "$ref": "#/definitions/PagedLabs" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listResourceGroupLabs": { + "$ref": "./examples/Labs/listResourceGroupLabs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/LabNameParameter" + } + ], + "get": { + "tags": [ + "Lab" + ], + "summary": "Get a lab resource.", + "description": "Returns the properties of a lab resource.", + "operationId": "Labs_Get", + "responses": { + "200": { + "description": "The request was successful; response contains the Lab.", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "getLab": { + "$ref": "./examples/Labs/getLab.json" + } + } + }, + "put": { + "tags": [ + "Lab" + ], + "summary": "Create or update a lab resource.", + "description": "Operation to create or update a lab resource.", + "operationId": "Labs_CreateOrUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/Lab" + } + } + ], + "responses": { + "200": { + "description": "The update was successful; response contains the Lab.", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "201": { + "description": "The create was successful; response contains the Lab.", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "202": { + "description": "The update was successful and has a long running operation; response contains the Lab.", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "original-uri" + }, + "x-ms-examples": { + "putLab": { + "$ref": "./examples/Labs/putLab.json" + } + } + }, + "patch": { + "tags": [ + "Lab" + ], + "summary": "Update a lab resource.", + "description": "Operation to update a lab resource.", + "consumes": [ + "application/json" + ], + "operationId": "Labs_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/LabUpdate" + } + } + ], + "responses": { + "200": { + "description": "The resource was updated; response contains the Lab.", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "202": { + "description": "The resource was update and has a long running operation; response contains the Lab.", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "patchLab": { + "$ref": "./examples/Labs/patchLab.json" + } + } + }, + "delete": { + "tags": [ + "Lab" + ], + "summary": "Deletes a lab resource.", + "description": "Operation to delete a lab resource.", + "operationId": "Labs_Delete", + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + }, + "204": { + "description": "The request has been fulfilled." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "deleteLab": { + "$ref": "./examples/Labs/deleteLab.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/publish": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/LabNameParameter" + } + ], + "post": { + "tags": [ + "Lab" + ], + "summary": "Publish or re-publish a lab.", + "description": "Publish or re-publish a lab. This will create or update all lab resources, such as virtual machines.", + "operationId": "Labs_Publish", + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "publishLab": { + "$ref": "./examples/Labs/publishLab.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/syncGroup": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/LabNameParameter" + } + ], + "post": { + "tags": [ + "Lab" + ], + "summary": "Manually sync the lab group.", + "description": "Action used to manually kick off an AAD group sync job.", + "operationId": "Labs_SyncGroup", + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "syncLab": { + "$ref": "./examples/Labs/syncLab.json" + } + } + } + } + }, + "definitions": { + "Lab": { + "description": "The lab resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "systemData": { + "description": "Metadata pertaining to creation and last modification of the lab.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "description": "Lab resource properties", + "$ref": "#/definitions/LabProperties", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ] + }, + "PagedLabs": { + "description": "Paged list of labs.", + "type": "object", + "properties": { + "value": { + "description": "The array page of lab results.", + "type": "array", + "items": { + "$ref": "#/definitions/Lab" + }, + "readOnly": true + }, + "nextLink": { + "description": "The link to get the next page of image results.", + "type": "string", + "readOnly": true + } + } + }, + "LabNetworkProfile": { + "description": "Profile for how to handle networking for Labs.", + "type": "object", + "properties": { + "subnetId": { + "description": "The external subnet resource id", + "$ref": "LabServices.json#/definitions/url" + }, + "loadBalancerId": { + "description": "The external load balancer resource id", + "$ref": "LabServices.json#/definitions/url" + }, + "publicIpId": { + "description": "The external public IP resource id", + "$ref": "LabServices.json#/definitions/url" + } + } + }, + "LabUpdate": { + "description": "The lab resource for updates.", + "type": "object", + "allOf": [ + { + "$ref": "LabServices.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "properties": { + "description": "Lab resource properties", + "$ref": "#/definitions/LabUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "LabUpdateProperties": { + "description": "Properties of a lab resource used for updates.", + "type": "object", + "properties": { + "autoShutdownProfile": { + "description": "The resource auto shutdown configuration for the lab. This controls whether actions are taken on resources that are sitting idle.", + "$ref": "LabServices.json#/definitions/AutoShutdownProfile" + }, + "connectionProfile": { + "description": "The connection profile for the lab. This controls settings such as web access to lab resources or whether RDP or SSH ports are open.", + "$ref": "LabServices.json#/definitions/ConnectionProfile" + }, + "virtualMachineProfile": { + "description": "The profile used for creating lab virtual machines.", + "$ref": "#/definitions/VirtualMachineProfile" + }, + "securityProfile": { + "description": "The lab security profile.", + "$ref": "#/definitions/SecurityProfile" + }, + "rosterProfile": { + "description": "The lab user list management profile.", + "$ref": "#/definitions/RosterProfile" + }, + "labPlanId": { + "description": "The ID of the lab plan. Used during resource creation to provide defaults and acts as a permission container when creating a lab via labs.azure.com. Setting a labPlanId on an existing lab provides organization..", + "$ref": "LabServices.json#/definitions/url" + }, + "title": { + "description": "The title of the lab.", + "type": "string", + "minLength": 1, + "maxLength": 120 + }, + "description": { + "description": "The description of the lab.", + "type": "string" + } + } + }, + "LabProperties": { + "description": "Properties of a lab resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/LabUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "Current provisioning state of the lab.", + "$ref": "LabServices.json#/definitions/provisioningState", + "readOnly": true + }, + "networkProfile": { + "description": "The network profile for the lab, typically applied via a lab plan. This profile cannot be modified once a lab has been created.", + "$ref": "#/definitions/LabNetworkProfile", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "state": { + "description": "The lab state.", + "$ref": "#/definitions/LabState", + "readOnly": true + } + }, + "required": [ + "autoShutdownProfile", + "connectionProfile", + "securityProfile", + "virtualMachineProfile" + ] + }, + "SecurityProfile": { + "description": "The lab security profile.", + "type": "object", + "properties": { + "registrationCode": { + "description": "The registration code for the lab.", + "type": "string", + "readOnly": true + }, + "openAccess": { + "description": "Whether any user or only specified users can register to a lab.", + "$ref": "LabServices.json#/definitions/enableState" + } + } + }, + "RosterProfile": { + "description": "The lab user list management profile.", + "type": "object", + "properties": { + "activeDirectoryGroupId": { + "description": "The AAD group ID which this lab roster is populated from. Having this set enables AAD sync mode.", + "type": "string" + }, + "ltiContextId": { + "description": "The unique context identifier for the lab in the lms.", + "type": "string" + }, + "lmsInstance": { + "description": "The base URI identifying the lms instance.", + "type": "string" + }, + "ltiClientId": { + "description": "The unique id of the azure lab services tool in the lms.", + "type": "string" + }, + "ltiRosterEndpoint": { + "description": "The uri of the names and roles service endpoint on the lms for the class attached to this lab.", + "type": "string" + } + } + }, + "VirtualMachineProfile": { + "description": "The base virtual machine configuration for a lab.", + "type": "object", + "properties": { + "createOption": { + "description": "Indicates what lab virtual machines are created from.", + "type": "string", + "enum": [ + "Image", + "TemplateVM" + ], + "x-ms-enum": { + "name": "CreateOption", + "modelAsString": false, + "values": [ + { + "value": "Image", + "description": "An image is used to create all lab user virtual machines. When this option is set, no template VM will be created." + }, + { + "value": "TemplateVM", + "description": "A template VM will be used to create all lab user virtual machines." + } + ] + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "imageReference": { + "description": "The image configuration for lab virtual machines.", + "$ref": "#/definitions/ImageReference", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "osType": { + "description": "The OS type of the image", + "$ref": "LabServices.json#/definitions/osType", + "readOnly": true + }, + "sku": { + "description": "The SKU for the lab. Defines the type of virtual machines used in the lab.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Sku", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "additionalCapabilities": { + "description": "Additional VM capabilities.", + "$ref": "#/definitions/VirtualMachineAdditionalCapabilities", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "usageQuota": { + "description": "The initial quota alloted to each lab user. Must be a time span between 0 and 9999 hours.", + "type": "string", + "format": "duration" + }, + "useSharedPassword": { + "description": "Enabling this option will use the same password for all user VMs.", + "default": "Disabled", + "$ref": "LabServices.json#/definitions/enableState", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "adminUser": { + "description": "Credentials for the admin user on the VM.", + "$ref": "#/definitions/Credentials" + }, + "nonAdminUser": { + "description": "Credentials for the non-admin user on the VM, if one exists.", + "$ref": "#/definitions/Credentials" + } + }, + "required": [ + "createOption", + "imageReference", + "usageQuota", + "sku", + "adminUser" + ] + }, + "VirtualMachineAdditionalCapabilities": { + "description": "The additional capabilities for a lab VM.", + "type": "object", + "properties": { + "installGpuDrivers": { + "description": "Flag to pre-install dedicated GPU drivers.", + "default": "Disabled", + "$ref": "LabServices.json#/definitions/enableState" + } + } + }, + "Credentials": { + "description": "Credentials for a user on a lab VM.", + "type": "object", + "properties": { + "username": { + "description": "The username to use when signing in to lab VMs.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "password": { + "description": "The password for the user. This is required for the TemplateVM createOption.", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create" + ] + } + }, + "required": [ + "username" + ] + }, + "ImageReference": { + "description": "Image reference information. Used in the virtual machine profile.", + "type": "object", + "properties": { + "id": { + "description": "Image resource ID", + "$ref": "LabServices.json#/definitions/url" + }, + "offer": { + "description": "The image offer if applicable.", + "type": "string" + }, + "publisher": { + "description": "The image publisher", + "type": "string" + }, + "sku": { + "description": "The image SKU", + "type": "string" + }, + "version": { + "description": "The image version specified on creation.", + "type": "string" + }, + "exactVersion": { + "description": "The actual version of the image after use.", + "type": "string", + "readOnly": true + } + } + }, + "LabState": { + "type": "string", + "enum": [ + "Draft", + "Publishing", + "Scaling", + "Syncing", + "Published" + ], + "description": "The state of a virtual machine.", + "x-ms-enum": { + "name": "LabState", + "modelAsString": false, + "values": [ + { + "value": "Draft", + "description": "The lab is currently in draft (has not been published)." + }, + { + "value": "Publishing", + "description": "The lab is publishing." + }, + { + "value": "Scaling", + "description": "The lab is scaling." + }, + { + "value": "Syncing", + "description": "The lab is syncing users." + }, + { + "value": "Published", + "description": "The lab has been published." + } + ] + } + } + }, + "parameters": { + "LabNameParameter": { + "name": "labName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the lab that uniquely identifies it within containing lab account. Used in resource URIs.", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/OperationResults.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/OperationResults.json new file mode 100644 index 000000000000..33679bbf33c2 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/OperationResults.json @@ -0,0 +1,173 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-15-preview", + "title": "LabServicesClient", + "description": "Azure Lab Services REST API.", + "x-ms-code-generation-settings": { + "internalConstructors": true + } + }, + "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}/providers/Microsoft.LabServices/operationResults/{operationResultId}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/OperationResultId" + } + ], + "get": { + "tags": [ + "OperationResults" + ], + "summary": "Get an azure operation result.", + "description": "Returns an azure operation result.", + "operationId": "OperationResults_Get", + "responses": { + "200": { + "description": "The request was successful; response contains the operation result.", + "schema": { + "$ref": "#/definitions/OperationResult" + } + }, + "204": { + "description": "The request has been fulfilled." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "getOperationResult": { + "$ref": "./examples/OperationResults/getOperationResult.json" + } + } + } + } + }, + "definitions": { + "OperationResult": { + "description": "A long running operation result", + "type": "object", + "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" + }, + "status": { + "description": "The operation status", + "type": "string", + "enum": [ + "NotStarted", + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": false, + "values": [ + { + "value": "NotStarted", + "description": "The operation has been accepted but hasn't started." + }, + { + "value": "InProgress", + "description": "The operation is running" + }, + { + "value": "Succeeded", + "description": "The operation Succeeded" + }, + { + "value": "Failed", + "description": "The operation failed" + }, + { + "value": "Canceled", + "description": "Not supported yet" + } + ] + } + }, + "startTime": { + "description": "Start time", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "End time", + "type": "string", + "format": "date-time" + }, + "percentComplete": { + "description": "Percent completion", + "type": "number" + }, + "error": { + "description": "The error for a failure if the operation failed.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail" + } + }, + "required": [ + "status" + ] + } + }, + "parameters": { + "OperationResultId": { + "name": "operationResultId", + "in": "path", + "required": true, + "type": "string", + "description": "The operation result ID / name.", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Schedules.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Schedules.json new file mode 100644 index 000000000000..0b7d82521ee5 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Schedules.json @@ -0,0 +1,470 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-15-preview", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services schedules." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "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" + } + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/schedules": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": [ + "Schedule" + ], + "summary": "Get all schedules for a lab.", + "description": "Returns a list of all schedules for a lab.", + "operationId": "Schedules_ListByLab", + "responses": { + "200": { + "description": "The request was successful; response contains all schedules for the given lab.", + "schema": { + "$ref": "#/definitions/PagedSchedules" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "getListSchedule": { + "$ref": "./examples/Schedules/listSchedule.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/schedules/{scheduleName}": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/ScheduleNameParameter" + } + ], + "get": { + "tags": [ + "Schedule" + ], + "summary": "Get a lab Schedule.", + "description": "Returns the properties of a lab Schedule.", + "operationId": "Schedules_Get", + "responses": { + "200": { + "description": "The request was successful; response contains the lab schedule.", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "getSchedule": { + "$ref": "./examples/Schedules/getSchedule.json" + } + } + }, + "put": { + "tags": [ + "Schedule" + ], + "summary": "Create or update a lab schedule.", + "description": "Operation to create or update a lab schedule.", + "operationId": "Schedules_CreateOrUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/Schedule" + } + } + ], + "responses": { + "200": { + "description": "The schedule was updated; response contains the lab schedule.", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "201": { + "description": "The schedule was created; response contains the lab schedule.", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "putSchedule": { + "$ref": "./examples/Schedules/putSchedule.json" + } + } + }, + "patch": { + "tags": [ + "Schedule" + ], + "summary": "Update a lab schedule.", + "description": "Operation to update a lab schedule.", + "consumes": [ + "application/json" + ], + "operationId": "Schedules_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/ScheduleUpdate" + } + } + ], + "responses": { + "200": { + "description": "The schedule was updated; response contains the lab schedule.", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "patchSchedule": { + "$ref": "./examples/Schedules/patchSchedule.json" + } + } + }, + "delete": { + "tags": [ + "Schedule" + ], + "summary": "Deletes a schedule resource.", + "description": "Operation to delete a schedule resource.", + "operationId": "Schedules_Delete", + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + }, + "204": { + "description": "The request has been fulfilled." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "deleteSchedule": { + "$ref": "./examples/Schedules/deleteSchedule.json" + } + } + } + } + }, + "definitions": { + "Schedule": { + "description": "Schedule for automatically turning virtual machines in a lab on and off at specified times.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "description": "Metadata pertaining to creation and last modification of the schedule.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "description": "Schedule resource properties", + "$ref": "#/definitions/ScheduleProperties", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ] + }, + "PagedSchedules": { + "description": "Paged list of schedules.", + "type": "object", + "properties": { + "value": { + "description": "The array page of schedule results.", + "type": "array", + "items": { + "$ref": "#/definitions/Schedule" + }, + "readOnly": true + }, + "nextLink": { + "description": "The link to get the next page of schedule results.", + "type": "string", + "readOnly": true + } + } + }, + "ScheduleUpdate": { + "description": "Schedule for automatically turning virtual machines in a lab on and off at specified times. Used for updates.", + "type": "object", + "properties": { + "properties": { + "description": "Schedule resource properties", + "$ref": "#/definitions/ScheduleUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "ScheduleUpdateProperties": { + "description": "Schedule resource properties used for updates.", + "type": "object", + "properties": { + "startAt": { + "description": "When lab user virtual machines will be started. Timestamp offsets will be ignored and timeZoneId is used instead.", + "type": "string", + "format": "date-time" + }, + "stopAt": { + "description": "When lab user virtual machines will be stopped. Timestamp offsets will be ignored and timeZoneId is used instead.", + "type": "string", + "format": "date-time" + }, + "recurrencePattern": { + "description": "The recurrence pattern of the scheduled actions.", + "$ref": "#/definitions/RecurrencePattern" + }, + "timeZoneId": { + "description": "The IANA timezone id for the schedule.", + "type": "string", + "maxLength": 50 + }, + "notes": { + "description": "Notes for this schedule.", + "type": "string", + "maxLength": 1000 + } + } + }, + "ScheduleProperties": { + "description": "Schedule resource properties", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScheduleUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "Current provisioning state of the schedule.", + "$ref": "LabServices.json#/definitions/provisioningState", + "readOnly": true + } + }, + "required": [ + "stopAt", + "timeZoneId" + ] + }, + "RecurrencePattern": { + "description": "Recurrence pattern of a lab schedule.", + "type": "object", + "properties": { + "frequency": { + "description": "The frequency of the recurrence.", + "$ref": "#/definitions/RecurrenceFrequency" + }, + "weekDays": { + "description": "The week days the schedule runs. Used for when the Frequency is set to Weekly.", + "type": "array", + "items": { + "$ref": "#/definitions/WeekDay", + "maxItems": 7 + } + }, + "interval": { + "description": "The interval to invoke the schedule on. For example, interval = 2 and RecurrenceFrequency.Daily will run every 2 days. When no interval is supplied, an interval of 1 is used.", + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 365 + }, + "expirationDate": { + "description": "When the recurrence will expire. This date is inclusive.", + "type": "string", + "format": "date" + } + }, + "required": [ + "frequency", + "expirationDate" + ] + }, + "WeekDay": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "description": "Days of the week.", + "x-ms-enum": { + "name": "WeekDay", + "modelAsString": false, + "values": [ + { + "value": "Sunday", + "description": "Schedule will run on Sunday" + }, + { + "value": "Monday", + "description": "Schedule will run on Monday" + }, + { + "value": "Tuesday", + "description": "Schedule will run on Tuesday" + }, + { + "value": "Wednesday", + "description": "Schedule will run on Wednesday" + }, + { + "value": "Thursday", + "description": "Schedule will run on Thursday" + }, + { + "value": "Friday", + "description": "Schedule will run on Friday" + }, + { + "value": "Saturday", + "description": "Schedule will run on Saturday" + } + ] + } + }, + "RecurrenceFrequency": { + "type": "string", + "enum": [ + "Daily", + "Weekly" + ], + "description": "Schedule recurrence frequencies.", + "x-ms-enum": { + "name": "RecurrenceFrequency", + "modelAsString": false, + "values": [ + { + "value": "Daily", + "description": "Schedule will run every days." + }, + { + "value": "Weekly", + "description": "Schedule will run every week on days specified in weekDays." + } + ] + } + } + }, + "parameters": { + "ScheduleNameParameter": { + "name": "scheduleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the schedule that uniquely identifies it within containing lab. Used in resource URIs.", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Skus.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Skus.json new file mode 100644 index 000000000000..6d575db2fa33 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Skus.json @@ -0,0 +1,300 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-15-preview", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services resource SKUs." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "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": { + "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/skus": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": [ + "Skus" + ], + "summary": "Gets all the Azure Lab Services resource SKUs.", + "description": "Returns a list of all the Azure Lab Services resource SKUs.", + "operationId": "Skus_List", + "responses": { + "200": { + "description": "The request was successful; response contains all Azure Lab Services virtual machine sizes.", + "schema": { + "$ref": "#/definitions/PagedLabServicesSkus" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listSkus": { + "$ref": "./examples/Skus/listSkus.json" + } + } + } + } + }, + "definitions": { + "LabServicesSku": { + "description": "Azure Lab Services resource SKUs", + "type": "object", + "properties": { + "resourceType": { + "description": "The lab services resource type.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the SKU.", + "type": "string", + "readOnly": true + }, + "tier": { + "description": "The tier of the SKU.", + "type": "string", + "enum": [ + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "LabServicesSkuTier", + "modelAsString": true + }, + "readOnly": true + }, + "size": { + "description": "The SKU size.", + "type": "string", + "readOnly": true + }, + "family": { + "description": "The family of the SKU.", + "type": "string", + "readOnly": true + }, + "capacity": { + "$ref": "#/definitions/LabServicesSkuCapacity" + }, + "capabilities": { + "description": "The capabilities of the SKU.", + "type": "array", + "items": { + "$ref": "#/definitions/LabServicesSkuCapabilities" + }, + "readOnly": true + }, + "locations": { + "description": "List of locations that are available for a size.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "costs": { + "description": "Metadata for retrieving price info of a lab services SKUs.", + "type": "array", + "items": { + "$ref": "#/definitions/LabServicesSkuCost" + }, + "readOnly": true + }, + "restrictions": { + "description": "Restrictions of a lab services SKUs.", + "type": "array", + "items": { + "$ref": "#/definitions/LabServicesSkuRestrictions" + }, + "readOnly": true + } + } + }, + "PagedLabServicesSkus": { + "description": "Paged list of lab services skus.", + "type": "object", + "properties": { + "value": { + "description": "The array page of sku results.", + "type": "array", + "items": { + "$ref": "#/definitions/LabServicesSku" + }, + "readOnly": true + }, + "nextLink": { + "description": "The link to get the next page of sku results.", + "type": "string", + "readOnly": true + } + } + }, + "LabServicesSkuCapabilities": { + "description": "The array of capabilities of a lab services SKU.", + "type": "object", + "properties": { + "name": { + "description": "The name of the capability for a SKU.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The value of the capability for a SKU.", + "type": "string", + "readOnly": true + } + } + }, + "LabServicesSkuCapacity": { + "description": "The scale out/in options of the SKU.", + "type": "object", + "properties": { + "default": { + "description": "The default capacity for this resource.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "minimum": { + "description": "The lowest permitted capacity for this resource.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "maximum": { + "description": "The highest permitted capacity for this resource.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "scaleType": { + "description": "The localized name of the resource.", + "type": "string", + "enum": [ + "None", + "Manual", + "Automatic" + ], + "x-ms-enum": { + "name": "ScaleType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "The capacity is not adjustable in any way." + }, + { + "value": "Manual", + "description": "The user must manually scale this SKU in and out." + }, + { + "value": "Automatic", + "description": "The user is permitted to scale this SKU in and out." + } + ] + }, + "readOnly": true + } + } + }, + "LabServicesSkuCost": { + "description": "The array of costs of a lab services SKU.", + "type": "object", + "properties": { + "meterId": { + "description": "The meter id.", + "type": "string", + "readOnly": true + }, + "quantity": { + "description": "The quantity of units charged.", + "type": "number", + "readOnly": true + }, + "extendedUnit": { + "description": "The extended unit.", + "type": "string", + "readOnly": true + } + } + }, + "LabServicesSkuRestrictions": { + "description": "The restriction details.", + "type": "object", + "properties": { + "type": { + "description": "The type of restriction.", + "type": "string", + "enum": [ + "Location" + ], + "x-ms-enum": { + "name": "RestrictionType", + "modelAsString": true + }, + "readOnly": true + }, + "values": { + "description": "The values of the restriction.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "reasonCode": { + "description": "The reason for the restriction.", + "type": "string", + "enum": [ + "QuotaId", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "RestrictionReasonCode", + "modelAsString": true + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Usages.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Usages.json new file mode 100644 index 000000000000..4b1e0bd6b370 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Usages.json @@ -0,0 +1,163 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-15-preview", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services core usages." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "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": { + "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/locations/{location}/usages": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationRouteParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": [ + "Usages" + ], + "summary": "Gets the list of usages.", + "description": "Returns list of usage per SKU family for the specified subscription in the specified region.", + "operationId": "Usages_ListByLocation", + "responses": { + "200": { + "description": "The request was successful; a list of usages is returned", + "schema": { + "$ref": "#/definitions/ListUsagesResult" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listUsages": { + "$ref": "./examples/Usages/getUsages.json" + } + } + } + } + }, + "definitions": { + "ListUsagesResult": { + "description": "List of Core Usages.", + "type": "object", + "properties": { + "value": { + "description": "The array page of Usages.", + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "readOnly": true + }, + "nextLink": { + "description": "The link to get the next page of Usage result.", + "type": "string", + "readOnly": true + } + } + }, + "Usage": { + "description": "The core usage details.", + "type": "object", + "properties": { + "currentValue": { + "description": "The current usage.", + "type": "integer", + "format": "int64" + }, + "limit": { + "description": "The limit integer.", + "type": "integer", + "format": "int64" + }, + "unit": { + "description": "The unit details.", + "type": "string", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": true + } + }, + "name": { + "description": "The name.", + "$ref": "#/definitions/UsageName" + }, + "id": { + "description": "The fully qualified arm resource id.", + "type": "string" + } + } + }, + "UsageName": { + "description": "The Usage Names.", + "type": "object", + "properties": { + "localizedValue": { + "description": "The localized name of the resource.", + "type": "string" + }, + "value": { + "description": "The name of the resource.", + "type": "string" + } + } + } + }, + "parameters": { + "LocationRouteParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location name.", + "pattern": "^[-\\w\\._]+$", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Users.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Users.json new file mode 100644 index 000000000000..72e644d64dca --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Users.json @@ -0,0 +1,527 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-15-preview", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services users." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "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" + } + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": [ + "User" + ], + "summary": "Get all users for a lab.", + "description": "Returns a list of all users for a lab.", + "operationId": "Users_ListByLab", + "responses": { + "200": { + "description": "The request was successful; response contains all users for the given lab.", + "schema": { + "$ref": "#/definitions/PagedUsers" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listUser": { + "$ref": "./examples/Users/listUser.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users/{userName}": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/UserNameParameter" + } + ], + "get": { + "tags": [ + "User" + ], + "summary": "Get a lab user.", + "description": "Returns the properties of a lab user.", + "operationId": "Users_Get", + "responses": { + "200": { + "description": "The request was successful; response contains the lab user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "getUser": { + "$ref": "./examples/Users/getUser.json" + } + } + }, + "put": { + "tags": [ + "User" + ], + "summary": "Create or update a lab user.", + "description": "Operation to create or update a lab user.", + "operationId": "Users_CreateOrUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/User" + } + } + ], + "responses": { + "200": { + "description": "The user was updated successfully; response contains the lab user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "201": { + "description": "The user was created successfully; response contains the lab user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "202": { + "description": "The user was updated successfully and has a long running operation; response contains the lab user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "original-uri" + }, + "x-ms-examples": { + "putUser": { + "$ref": "./examples/Users/putUser.json" + } + } + }, + "patch": { + "tags": [ + "User" + ], + "summary": "Update a lab user.", + "description": "Operation to update a lab user.", + "consumes": [ + "application/json" + ], + "operationId": "Users_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/UserUpdate" + } + } + ], + "responses": { + "200": { + "description": "The user was updated successfully; response contains the lab user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "202": { + "description": "The user was updated successfully and has a long running operation; response contains the lab user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "patchUser": { + "$ref": "./examples/Users/patchUser.json" + } + } + }, + "delete": { + "tags": [ + "User" + ], + "summary": "Deletes a user resource.", + "description": "Operation to delete a user resource.", + "operationId": "Users_Delete", + "responses": { + "200": { + "description": "The request was completed." + }, + "202": { + "description": "The request was accepted." + }, + "204": { + "description": "The request has been fulfilled." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "deleteUser": { + "$ref": "./examples/Users/deleteUser.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users/{userName}/invite": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/UserNameParameter" + } + ], + "post": { + "tags": [ + "User" + ], + "summary": "Invite a user to a lab.", + "description": "Operation to invite a user to a lab.", + "operationId": "Users_Invite", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/InviteBody" + } + } + ], + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "inviteUser": { + "$ref": "./examples/Users/inviteUser.json" + } + } + } + } + }, + "definitions": { + "User": { + "description": "User of a lab that can register for and use virtual machines within the lab.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "description": "Metadata pertaining to creation and last modification of the user resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "description": "User resource properties", + "$ref": "#/definitions/UserProperties", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ] + }, + "PagedUsers": { + "description": "Paged list of users.", + "type": "object", + "properties": { + "value": { + "description": "The array page of user results.", + "type": "array", + "items": { + "$ref": "#/definitions/User" + }, + "readOnly": true + }, + "nextLink": { + "description": "The link to get the next page of image results.", + "type": "string", + "readOnly": true + } + } + }, + "UserUpdate": { + "description": "User of a lab that can register for and use virtual machines within the lab. Used for updates.", + "type": "object", + "properties": { + "properties": { + "description": "User resource properties", + "$ref": "#/definitions/UserUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "UserUpdateProperties": { + "description": "User resource properties used for updates.", + "type": "object", + "properties": { + "additionalUsageQuota": { + "description": "The amount of usage quota time the user gets in addition to the lab usage quota.", + "type": "string", + "format": "duration" + } + } + }, + "UserProperties": { + "description": "User resource properties", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UserUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "Current provisioning state of the user resource.", + "$ref": "LabServices.json#/definitions/provisioningState", + "readOnly": true + }, + "displayName": { + "description": "Display name of the user, for example user's full name.", + "type": "string", + "readOnly": true + }, + "email": { + "description": "Email address of the user.", + "$ref": "LabServices.json#/definitions/emailAddress", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "registrationState": { + "description": "State of the user's registration within the lab.", + "$ref": "#/definitions/RegistrationState", + "readOnly": true + }, + "invitationState": { + "description": "State of the invitation message for the user.", + "$ref": "#/definitions/InvitationState", + "readOnly": true + }, + "invitationSent": { + "description": "Date and time when the invitation message was sent to the user.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "totalUsage": { + "description": "How long the user has used their virtual machines in this lab.", + "type": "string", + "format": "duration", + "readOnly": true + } + }, + "required": [ + "email" + ] + }, + "RegistrationState": { + "type": "string", + "enum": [ + "NotRegistered", + "Registered" + ], + "description": "The user lab registration state.", + "x-ms-enum": { + "name": "RegistrationState", + "modelAsString": false, + "values": [ + { + "value": "Registered", + "description": "User has not yet registered with the lab." + }, + { + "value": "NotRegistered", + "description": "User has registered with the lab." + } + ] + } + }, + "InvitationState": { + "type": "string", + "enum": [ + "NotSent", + "Sending", + "Sent", + "Failed" + ], + "description": "The lab user invitation state.", + "x-ms-enum": { + "name": "InvitationState", + "modelAsString": false, + "values": [ + { + "value": "NotSent", + "description": "The invitation has not been sent." + }, + { + "value": "Sending", + "description": "Currently sending the invitation." + }, + { + "value": "Sent", + "description": "The invitation has been successfully sent." + }, + { + "value": "Failed", + "description": "There was an error while sending the invitation." + } + ] + } + }, + "InviteBody": { + "description": "Body for a user invite request", + "type": "object", + "properties": { + "text": { + "description": "Custom text for the invite email.", + "type": "string" + } + } + } + }, + "parameters": { + "UserNameParameter": { + "name": "userName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the user that uniquely identifies it within containing lab. Used in resource URIs.", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/VirtualMachines.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/VirtualMachines.json new file mode 100644 index 000000000000..48e447c079ce --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/VirtualMachines.json @@ -0,0 +1,615 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-15-preview", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services virtual machines." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "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" + } + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": [ + "VirtualMachine" + ], + "summary": "Get all virtual machines for a lab.", + "description": "Returns a list of all virtual machines for a lab.", + "operationId": "VirtualMachines_ListByLab", + "responses": { + "200": { + "description": "The request was successful; response contains all virtual machines for the given lab.", + "schema": { + "$ref": "#/definitions/PagedVirtualMachines" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listVirtualMachine": { + "$ref": "./examples/VirtualMachines/listVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/VirtualMachineNameParameter" + } + ], + "get": { + "tags": [ + "VirtualMachine" + ], + "summary": "Get a lab virtual machine.", + "description": "Returns the properties for a lab virtual machine.", + "operationId": "VirtualMachines_Get", + "responses": { + "200": { + "description": "The request was successful; response contains the lab virtual machine.", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "getVirtualMachine": { + "$ref": "./examples/VirtualMachines/getVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/start": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/VirtualMachineNameParameter" + } + ], + "post": { + "tags": [ + "VirtualMachine" + ], + "summary": "Start a lab virtual machine.", + "description": "Action to start a lab virtual machine.", + "operationId": "VirtualMachines_Start", + "responses": { + "200": { + "description": "The request was completed." + }, + "202": { + "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "startVirtualMachine": { + "$ref": "./examples/VirtualMachines/startVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/stop": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/VirtualMachineNameParameter" + } + ], + "post": { + "tags": [ + "VirtualMachine" + ], + "summary": "Stop a lab virtual machine.", + "description": "Action to stop a lab virtual machine.", + "operationId": "VirtualMachines_Stop", + "responses": { + "200": { + "description": "The request was completed." + }, + "202": { + "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "stopVirtualMachine": { + "$ref": "./examples/VirtualMachines/stopVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/reimage": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/VirtualMachineNameParameter" + } + ], + "post": { + "tags": [ + "VirtualMachine" + ], + "summary": "Re-image a lab virtual machine.", + "description": "Re-image a lab virtual machine. The virtual machine will be deleted and recreated using the latest published snapshot of the reference environment of the lab.", + "operationId": "VirtualMachines_Reimage", + "responses": { + "200": { + "description": "The request was completed." + }, + "202": { + "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "reimageVirtualMachine": { + "$ref": "./examples/VirtualMachines/reimageVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/redeploy": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/VirtualMachineNameParameter" + } + ], + "post": { + "tags": [ + "VirtualMachine" + ], + "summary": "Redeploy a lab virtual machine to a different compute node. For troubleshooting connectivity.", + "description": "Action to redeploy a lab virtual machine to a different compute node. For troubleshooting connectivity.", + "operationId": "VirtualMachines_Redeploy", + "responses": { + "200": { + "description": "The request was completed." + }, + "202": { + "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "redeployVirtualMachine": { + "$ref": "./examples/VirtualMachines/redeployVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/resetPassword": { + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/VirtualMachineNameParameter" + } + ], + "post": { + "tags": [ + "VirtualMachine" + ], + "summary": "Reset a lab virtual machine password.", + "description": "Resets a lab virtual machine password.", + "operationId": "VirtualMachines_ResetPassword", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/ResetPasswordBody" + } + } + ], + "responses": { + "200": { + "description": "The request was completed." + }, + "202": { + "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "resetPasswordVirtualMachine": { + "$ref": "./examples/VirtualMachines/resetPasswordVirtualMachine.json" + } + } + } + } + }, + "definitions": { + "VirtualMachine": { + "description": "A lab virtual machine resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "System data of the Lab virtual machine.", + "readOnly": true + }, + "properties": { + "description": "Virtual machine resource properties", + "$ref": "#/definitions/VirtualMachineProperties", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ] + }, + "PagedVirtualMachines": { + "description": "Paged list of lab services virtual machines.", + "type": "object", + "properties": { + "value": { + "description": "The array page of virtual machine results.", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachine" + }, + "readOnly": true + }, + "nextLink": { + "description": "The link to get the next page of virtual machine results.", + "type": "string", + "readOnly": true + } + } + }, + "VirtualMachineProperties": { + "description": "Virtual machine resource properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Current provisioning state of the virtual machine.", + "$ref": "LabServices.json#/definitions/provisioningState", + "readOnly": true + }, + "state": { + "description": "The current state of the virtual machine", + "$ref": "#/definitions/VirtualMachineState", + "readOnly": true + }, + "connectionProfile": { + "description": "Profile for information about connecting to the virtual machine.", + "$ref": "#/definitions/VirtualMachineConnectionProfile", + "readOnly": true + }, + "claimedByUserId": { + "description": "The lab user ID (not the PUID!) of who claimed the virtual machine.", + "type": "string", + "readOnly": true + }, + "vmType": { + "description": "The type of this VM resource", + "$ref": "#/definitions/VirtualMachineType", + "readOnly": true + } + } + }, + "ResetPasswordBody": { + "description": "Body of a reset password request.", + "type": "object", + "properties": { + "username": { + "description": "The user whose password is being reset", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "password": { + "description": "The password", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create" + ] + } + }, + "required": [ + "username", + "password" + ] + }, + "VirtualMachineState": { + "type": "string", + "enum": [ + "Stopped", + "Starting", + "Running", + "Stopping", + "ResettingPassword", + "Reimaging", + "Redeploying" + ], + "description": "The state of a virtual machine.", + "x-ms-enum": { + "name": "VirtualMachineState", + "modelAsString": false, + "values": [ + { + "value": "Stopped", + "description": "The VM is currently stopped." + }, + { + "value": "Starting", + "description": "The VM is starting." + }, + { + "value": "Running", + "description": "The VM is running." + }, + { + "value": "Stopping", + "description": "The VM is stopping." + }, + { + "value": "ResettingPassword", + "description": "The VM password is being reset." + }, + { + "value": "Reimaging", + "description": "The VM is being reimaged." + }, + { + "value": "Redeploying", + "description": "The VM is being redeployed." + } + ] + } + }, + "VirtualMachineConnectionProfile": { + "description": "The connection information for the virtual machine", + "type": "object", + "properties": { + "privateIpAddress": { + "description": "The private IP address of the virtual machine.", + "type": "string", + "readOnly": true + }, + "sshAuthority": { + "description": "Port and host name separated by semicolon for connecting via SSH protocol to the virtual machine.", + "type": "string", + "readOnly": true + }, + "sshInBrowserUrl": { + "description": "URL for connecting via SSH protocol to the virtual machine in browser.", + "$ref": "LabServices.json#/definitions/url", + "readOnly": true + }, + "rdpAuthority": { + "description": "Port and host name separated by semicolon for connecting via RDP protocol to the virtual machine.", + "type": "string", + "readOnly": true + }, + "rdpInBrowserUrl": { + "description": "URL for connecting via RDP protocol to the virtual machine in browser.", + "$ref": "LabServices.json#/definitions/url", + "readOnly": true + }, + "adminUsername": { + "description": "The username used to log on to the virtual machine as admin.", + "type": "string", + "readOnly": true + }, + "nonAdminUsername": { + "description": "The username used to log on to the virtual machine as non-admin, if one exists.", + "type": "string", + "readOnly": true + } + } + }, + "VirtualMachineType": { + "type": "string", + "enum": [ + "User", + "Template" + ], + "description": "The type of the lab virtual machine.", + "x-ms-enum": { + "name": "VirtualMachineType", + "modelAsString": false, + "values": [ + { + "value": "User", + "description": "A user VM" + }, + { + "value": "Template", + "description": "A template VM" + } + ] + } + } + }, + "parameters": { + "VirtualMachineNameParameter": { + "name": "virtualMachineName", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the virtual machine that uniquely identifies it within the containing lab. Used in resource URIs.", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/getImage.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/getImage.json new file mode 100644 index 000000000000..9132849aff54 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/getImage.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan", + "imageName": "image1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image1", + "name": "image1", + "type": "Microsoft.LabServices/Image", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Windows Server 2019 Datacenter", + "description": "A description of the image", + "osType": "Windows", + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410", + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/Providers/Microsoft.Compute/Locations/westus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/2019-Datacenter/Versions/2019.0.20190410", + "enabledState": "Enabled" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/listImages.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/listImages.json new file mode 100644 index 000000000000..0211296f50ba --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/listImages.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image1", + "name": "image1", + "type": "Microsoft.LabServices/Image", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Windows Server 2019 Datacenter", + "description": "A description of the image", + "osType": "Windows", + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410", + "sharedGalleryId": null, + "enabledState": "Enabled" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image2", + "name": "image2", + "type": "Microsoft.LabServices/Image", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "A custom image", + "description": "An example custom image response", + "osType": "Windows", + "offer": null, + "publisher": null, + "sku": null, + "version": null, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/sig/images/test-1", + "enabledState": "Enabled" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/patchImage.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/patchImage.json new file mode 100644 index 000000000000..3b4933c70f60 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/patchImage.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan", + "imageName": "image1", + "body": { + "properties": { + "enabledState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image1", + "name": "image1", + "type": "Microsoft.LabServices/Image", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Windows Server 2019 Datacenter", + "description": "A description of the image", + "osType": "Windows", + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410", + "enabledState": "Enabled" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/putImage.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/putImage.json new file mode 100644 index 000000000000..3b4933c70f60 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/putImage.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan", + "imageName": "image1", + "body": { + "properties": { + "enabledState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image1", + "name": "image1", + "type": "Microsoft.LabServices/Image", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Windows Server 2019 Datacenter", + "description": "A description of the image", + "osType": "Windows", + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410", + "enabledState": "Enabled" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/deleteLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/deleteLabPlan.json new file mode 100644 index 000000000000..614cde0fbd07 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/deleteLabPlan.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "204": {} + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/getLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/getLabPlan.json new file mode 100644 index 000000000000..df5e4b12dc75 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/getLabPlan.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/listLabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/listLabPlans.json new file mode 100644 index 000000000000..85d7d2af0326 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/listLabPlans.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/listResourceGroupLabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/listResourceGroupLabPlans.json new file mode 100644 index 000000000000..5b91c91c40ce --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/listResourceGroupLabPlans.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/patchLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/patchLabPlan.json new file mode 100644 index 000000000000..12590bf03f14 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/patchLabPlan.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan", + "body": { + "properties": { + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Updating", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/putLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/putLabPlan.json new file mode 100644 index 000000000000..9c7019e857b6 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/putLabPlan.json @@ -0,0 +1,174 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan", + "body": { + "location": "westus", + "properties": { + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Creating", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Updating", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/saveImageVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/saveImageVirtualMachine.json new file mode 100644 index 000000000000..b4dcbbad1dd2 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/saveImageVirtualMachine.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan", + "body": { + "name": "Test Image", + "labVirtualMachineId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/virtualMachines/template" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabServices/listOperations.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabServices/listOperations.json new file mode 100644 index 000000000000..0b05ab710e1d --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabServices/listOperations.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "name": "Microsoft.LabServices/labPlans/write", + "isDataAction": false, + "display": { + "provider": "Microsoft Azure Lab Services", + "resource": "Microsoft.LabServices/labPlans", + "operation": "Create or Update Lab Plan", + "description": "Create new or update an existing lab plan." + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/deleteLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/deleteLab.json new file mode 100644 index 000000000000..eac1ad568fcd --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/deleteLab.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "204": {} + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/getLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/getLab.json new file mode 100644 index 000000000000..97440adfbfcb --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/getLab.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "10:00", + "useSharedPassword": "Disabled", + "adminUser": { + "username": "test-user" + } + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/listLabs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/listLabs.json new file mode 100644 index 000000000000..bac7763b79c6 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/listLabs.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "10:00", + "useSharedPassword": "Disabled", + "adminUser": { + "username": "test-user" + } + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/listResourceGroupLabs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/listResourceGroupLabs.json new file mode 100644 index 000000000000..62e35f67fbd0 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/listResourceGroupLabs.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "10:00", + "useSharedPassword": "Disabled", + "adminUser": { + "username": "test-user" + } + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/patchLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/patchLab.json new file mode 100644 index 000000000000..7f5cca021f1e --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/patchLab.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "body": { + "properties": { + "securityProfile": { + "openAccess": "Enabled" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Enabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/id" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "sku": { + "name": "Medium", + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "10:00", + "useSharedPassword": "Disabled", + "adminUser": { + "username": "test-user" + } + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Updating", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Enabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "10:00", + "useSharedPassword": "Disabled", + "adminUser": { + "username": "test-user" + } + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/publishLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/publishLab.json new file mode 100644 index 000000000000..c0ea7cf822ef --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/publishLab.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/putLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/putLab.json new file mode 100644 index 000000000000..69e17003b3d4 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/putLab.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "body": { + "location": "westus", + "properties": { + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "securityProfile": { + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "sku": { + "name": "Medium" + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "10:00", + "useSharedPassword": "Disabled", + "adminUser": { + "username": "test-user" + } + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "10:00", + "useSharedPassword": "Disabled", + "adminUser": { + "username": "test-user" + } + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Creating", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "10:00", + "useSharedPassword": "Disabled", + "adminUser": { + "username": "test-user" + } + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Updating", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "10:00", + "useSharedPassword": "Disabled", + "adminUser": { + "username": "test-user" + } + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/syncLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/syncLab.json new file mode 100644 index 000000000000..c0ea7cf822ef --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/syncLab.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/OperationResults/getOperationResult.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/OperationResults/getOperationResult.json new file mode 100644 index 000000000000..b422658c1b37 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/OperationResults/getOperationResult.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "operationResultId": "a64149d8-84cb-4566-ab8e-b4ee1a074174" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174", + "name": "a64149d8-84cb-4566-ab8e-b4ee1a074174", + "status": "InProgress", + "startTime": "2020-05-01T10:00:00Z" + } + }, + "204": {} + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/deleteSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/deleteSchedule.json new file mode 100644 index 000000000000..40404931e070 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/deleteSchedule.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "scheduleName": "schedule1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "204": {} + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/getSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/getSchedule.json new file mode 100644 index 000000000000..0a800ce629b8 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/getSchedule.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "scheduleName": "schedule1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1", + "name": "schedule1", + "type": "Microsoft.LabServices/Schedule", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Daily", + "interval": 1, + "expirationDate": "2020-08-14" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 1 for students" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/listSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/listSchedule.json new file mode 100644 index 000000000000..40e7b958bd6b --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/listSchedule.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1", + "name": "schedule1", + "type": "Microsoft.LabServices/Schedule", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Daily", + "interval": 1, + "expirationDate": "2020-08-14" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 1 for students" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule2", + "name": "schedule2", + "type": "Microsoft.LabServices/Schedule", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Weekly", + "weekDays": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "expirationDate": "2020-08-14" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 2 for students" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/patchSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/patchSchedule.json new file mode 100644 index 000000000000..199a4d3be297 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/patchSchedule.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "scheduleName": "schedule1", + "body": { + "properties": { + "recurrencePattern": { + "frequency": "Daily", + "interval": 2, + "expirationDate": "2020-08-14" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1", + "name": "schedule1", + "type": "Microsoft.LabServices/Schedule", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Daily", + "interval": 2, + "expirationDate": "2020-08-14" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 1 for students" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/putSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/putSchedule.json new file mode 100644 index 000000000000..f2cd26a4de2f --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/putSchedule.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "scheduleName": "schedule1", + "body": { + "properties": { + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Daily", + "interval": 2, + "expirationDate": "2020-08-14" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 1 for students" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1", + "name": "schedule1", + "type": "Microsoft.LabServices/Schedule", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Daily", + "interval": 2, + "expirationDate": "2020-08-14" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 1 for students" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1", + "name": "schedule1", + "type": "Microsoft.LabServices/Schedule", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Daily", + "interval": 2, + "expirationDate": "2020-08-14" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 1 for students" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Skus/listSkus.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Skus/listSkus.json new file mode 100644 index 000000000000..8ca159f3b62e --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Skus/listSkus.json @@ -0,0 +1,271 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "resourceType": "labs", + "name": "Standard_Fv2_2_4GB_64_S_SSD", + "tier": "Standard", + "size": "Fv2_2_4GB_64_S_SSD", + "family": "Fv2", + "locations": [ + "westus2" + ], + "capacity": { + "minimum": 0, + "maximum": 400, + "default": 1, + "scaleType": "Automatic" + }, + "costs": [ + { + "meterId": "", + "quantity": 20.4, + "extendedUnit": "WindowsHourly" + }, + { + "meterId": "", + "quantity": 20.4, + "extendedUnit": "HybridBenefitHourly" + }, + { + "meterId": "", + "quantity": 0.7, + "extendedUnit": "InactiveHourly" + }, + { + "meterId": "", + "quantity": 20.4, + "extendedUnit": "LinuxHourly" + } + ], + "capabilities": [ + { + "name": "vCPUs", + "value": "2" + }, + { + "name": "MemoryGB", + "value": "4" + }, + { + "name": "StorageGB", + "value": "64" + }, + { + "name": "StorageType", + "value": "StandardSSD" + }, + { + "name": "HyperVGenerations", + "value": "V1,V2" + }, + { + "name": "IsGpu", + "value": "False" + } + ] + }, + { + "resourceType": "labs", + "name": "Standard_Fv2_2_4GB_256_S_SSD", + "tier": "Standard", + "size": "Fv2_2_4GB_256_S_SSD", + "family": "Fv2", + "locations": [ + "westus2" + ], + "capacity": { + "minimum": 0, + "maximum": 400, + "default": 1, + "scaleType": "Automatic" + }, + "costs": [ + { + "meterId": "", + "quantity": 22.8, + "extendedUnit": "WindowsHourly" + }, + { + "meterId": "", + "quantity": 22.8, + "extendedUnit": "HybridBenefitHourly" + }, + { + "meterId": "", + "quantity": 2.7, + "extendedUnit": "InactiveHourly" + }, + { + "meterId": "", + "quantity": 22.8, + "extendedUnit": "LinuxHourly" + } + ], + "capabilities": [ + { + "name": "vCPUs", + "value": "2" + }, + { + "name": "MemoryGB", + "value": "4" + }, + { + "name": "StorageGB", + "value": "256" + }, + { + "name": "StorageType", + "value": "StandardSSD" + }, + { + "name": "HyperVGenerations", + "value": "V1,V2" + }, + { + "name": "IsGpu", + "value": "False" + } + ] + }, + { + "resourceType": "labs", + "name": "Standard_Dv4_2_8GB_128_S_SSD", + "tier": "Standard", + "size": "Dv4_2_8GB_128_S_SSD", + "family": "Dv4", + "locations": [ + "westus2" + ], + "capacity": { + "minimum": 0, + "maximum": 400, + "default": 1, + "scaleType": "Automatic" + }, + "costs": [ + { + "meterId": "", + "quantity": 24.2, + "extendedUnit": "WindowsHourly" + }, + { + "meterId": "", + "quantity": 24.2, + "extendedUnit": "HybridBenefitHourly" + }, + { + "meterId": "", + "quantity": 1.4, + "extendedUnit": "InactiveHourly" + }, + { + "meterId": "", + "quantity": 24.2, + "extendedUnit": "LinuxHourly" + } + ], + "capabilities": [ + { + "name": "vCPUs", + "value": "2" + }, + { + "name": "MemoryGB", + "value": "8" + }, + { + "name": "StorageGB", + "value": "128" + }, + { + "name": "StorageType", + "value": "StandardSSD" + }, + { + "name": "HyperVGenerations", + "value": "V1,V2" + }, + { + "name": "IsGpu", + "value": "False" + } + ] + }, + { + "resourceType": "labs", + "name": "Standard_Dv4_2_8GB_256_S_SSD", + "tier": "Standard", + "size": "Dv4_2_8GB_256_S_SSD", + "family": "Dv4", + "locations": [ + "westus2" + ], + "capacity": { + "minimum": 0, + "maximum": 400, + "default": 1, + "scaleType": "Automatic" + }, + "costs": [ + { + "meterId": "", + "quantity": 25.8, + "extendedUnit": "WindowsHourly" + }, + { + "meterId": "", + "quantity": 25.8, + "extendedUnit": "HybridBenefitHourly" + }, + { + "meterId": "", + "quantity": 2.7, + "extendedUnit": "InactiveHourly" + }, + { + "meterId": "", + "quantity": 25.8, + "extendedUnit": "LinuxHourly" + } + ], + "capabilities": [ + { + "name": "vCPUs", + "value": "2" + }, + { + "name": "MemoryGB", + "value": "8" + }, + { + "name": "StorageGB", + "value": "256" + }, + { + "name": "StorageType", + "value": "StandardSSD" + }, + { + "name": "HyperVGenerations", + "value": "V1,V2" + }, + { + "name": "IsGpu", + "value": "False" + } + ] + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Usages/getUsages.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Usages/getUsages.json new file mode 100644 index 000000000000..7d0271df5565 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Usages/getUsages.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "location": "westus2" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "currentValue": 10, + "limit": 100, + "unit": "Count", + "name": { + "value": "NCasv3T4" + }, + "id": "" + }, + { + "currentValue": 5, + "limit": 30, + "unit": "Count", + "name": { + "value": "ESv4" + }, + "id": "" + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/deleteUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/deleteUser.json new file mode 100644 index 000000000000..2a4f8e8fece3 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/deleteUser.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "userName": "testuser" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "204": {} + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/getUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/getUser.json new file mode 100644 index 000000000000..f06a90c79c05 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/getUser.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "userName": "testuser" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "23:59", + "additionalUsageQuota": "10:00" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/inviteUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/inviteUser.json new file mode 100644 index 000000000000..c6c772fb258e --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/inviteUser.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "userName": "testuser", + "body": { + "text": "Invitation to lab testlab" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/listUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/listUser.json new file mode 100644 index 000000000000..c2a6a2319c10 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/listUser.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "23:59", + "additionalUsageQuota": "10:00" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/patchUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/patchUser.json new file mode 100644 index 000000000000..fb60932c7660 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/patchUser.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "userName": "testuser", + "body": { + "properties": { + "additionalUsageQuota": "20:00" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "23:59", + "additionalUsageQuota": "20:00" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Updating", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "23:59", + "additionalUsageQuota": "20:00" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/putUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/putUser.json new file mode 100644 index 000000000000..cc940c4fce0e --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/putUser.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "userName": "testuser", + "body": { + "properties": { + "additionalUsageQuota": "20:00", + "email": "testuser@contoso.com" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "23:59", + "additionalUsageQuota": "20:00" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "23:59", + "additionalUsageQuota": "20:00" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Updating", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "23:59", + "additionalUsageQuota": "20:00" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/getVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/getVirtualMachine.json new file mode 100644 index 000000000000..c0e43a30b81c --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/getVirtualMachine.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "virtualMachineName": "template" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/virtualMachines/template", + "name": "default", + "type": "Microsoft.LabServices/VirtualMachine", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "state": "Running", + "connectionProfile": { + "privateIpAddress": "192.168.2.1", + "sshAuthority": "vm-42.contoso.com:22", + "sshInBrowserUrl": "vm-42.contoso.com", + "rdpAuthority": "vm-42.contoso.com:3389", + "rdpInBrowserUrl": "vm-42.contoso.com", + "adminUsername": "user123" + }, + "claimedByUserId": "testuser567", + "vmType": "Template" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/listVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/listVirtualMachine.json new file mode 100644 index 000000000000..0ff8f1b929fa --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/listVirtualMachine.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/virtualMachines/template", + "name": "default", + "type": "Microsoft.LabServices/VirtualMachine", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "state": "Running", + "connectionProfile": { + "privateIpAddress": "192.168.2.1", + "sshAuthority": "vm-42.contoso.com:22", + "sshInBrowserUrl": "vm-42.contoso.com", + "rdpAuthority": "vm-42.contoso.com:3389", + "rdpInBrowserUrl": "vm-42.contoso.com", + "adminUsername": "user123" + }, + "claimedByUserId": "testuser567", + "vmType": "Template" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/redeployVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/redeployVirtualMachine.json new file mode 100644 index 000000000000..6534b4e6b37f --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/redeployVirtualMachine.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "virtualMachineName": "template" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/reimageVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/reimageVirtualMachine.json new file mode 100644 index 000000000000..6534b4e6b37f --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/reimageVirtualMachine.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "virtualMachineName": "template" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/resetPasswordVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/resetPasswordVirtualMachine.json new file mode 100644 index 000000000000..c453d6236d61 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/resetPasswordVirtualMachine.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "virtualMachineName": "template", + "body": { + "username": "example-username", + "password": "example-password" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/startVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/startVirtualMachine.json new file mode 100644 index 000000000000..6534b4e6b37f --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/startVirtualMachine.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "virtualMachineName": "template" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/stopVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/stopVirtualMachine.json new file mode 100644 index 000000000000..6534b4e6b37f --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/stopVirtualMachine.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "virtualMachineName": "template" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/readme.md b/specification/labservices/resource-manager/readme.md index 64ae5a1342d2..c171c6a13cea 100644 --- a/specification/labservices/resource-manager/readme.md +++ b/specification/labservices/resource-manager/readme.md @@ -26,15 +26,32 @@ These are the global settings for the LabServices API. ``` yaml openapi-type: arm -tag: package-preview-2021-10 +tag: package-preview-2021-11 ``` +### Tag: package-preview-2021-11 + +These settings apply only when `--tag=package-preview-2021-11` is specified on the command line. + +```yaml $(tag) == 'package-preview-2021-11' +input-file: + - Microsoft.LabServices/preview/2021-11-15-preview/Images.json + - Microsoft.LabServices/preview/2021-11-15-preview/LabPlans.json + - Microsoft.LabServices/preview/2021-11-15-preview/LabServices.json + - Microsoft.LabServices/preview/2021-11-15-preview/Labs.json + - Microsoft.LabServices/preview/2021-11-15-preview/OperationResults.json + - Microsoft.LabServices/preview/2021-11-15-preview/Schedules.json + - Microsoft.LabServices/preview/2021-11-15-preview/Users.json + - Microsoft.LabServices/preview/2021-11-15-preview/VirtualMachines.json + - Microsoft.LabServices/preview/2021-11-15-preview/Usages.json + - Microsoft.LabServices/preview/2021-11-15-preview/Skus.json +``` ### Tag: package-preview-2021-10 These settings apply only when `--tag=package-preview-2021-10` is specified on the command line. -```yaml $(tag) == 'package-preview-2021-10' +``` yaml $(tag) == 'package-preview-2021-10' input-file: - Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json - Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json @@ -45,6 +62,7 @@ input-file: - Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json - Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json ``` + ### Tag: package-2018-10 These settings apply only when `--tag=package-2018-10` is specified on the command line. diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_Put.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_Put.json index afa23a8b4540..3a7fdb7a95e5 100644 --- a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_Put.json +++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_Put.json @@ -4,7 +4,13 @@ "subscriptionId": "f34b22a3-2202-4fb1-b040-1332bd928c84", "resourceGroup": "testResourceGroup", "integrationServiceEnvironmentName": "testIntegrationServiceEnvironment", - "apiName": "servicebus" + "apiName": "servicebus", + "integrationServiceEnvironmentManagedApi": { + "location": "brazilsouth", + "properties": { + "deploymentParameters": null + } + } }, "responses": { "201": { diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/logic.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/logic.json index 604c3048b2a0..71195d2d791f 100644 --- a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/logic.json +++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/logic.json @@ -6105,7 +6105,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ManagedApiListResult" + "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApiListResult" } }, "default": { @@ -6165,7 +6165,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ManagedApi" + "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApi" } }, "default": { @@ -6215,19 +6215,28 @@ }, { "$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/ManagedApi" + "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApi" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/ManagedApi" + "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApi" } }, "default": { @@ -6467,6 +6476,9 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/WorkflowProperties", "description": "The workflow properties." + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" } }, "description": "The workflow type.", @@ -7318,20 +7330,24 @@ }, "contentVersion": { "type": "string", - "description": "The content version." + "description": "The content version.", + "readOnly": true }, "contentSize": { "type": "integer", "format": "int64", - "description": "The content size." + "description": "The content size.", + "readOnly": true }, "contentHash": { "$ref": "#/definitions/ContentHash", - "description": "The content hash." + "description": "The content hash.", + "readOnly": true }, "metadata": { "$ref": "#/definitions/Object", - "description": "The metadata." + "description": "The metadata.", + "readOnly": true } }, "description": "The content link." @@ -8297,52 +8313,62 @@ "properties": { "name": { "type": "string", - "description": "The name" + "description": "The name", + "readOnly": true }, "connectionParameters": { "type": "object", "additionalProperties": { "$ref": "#/definitions/Object" }, - "description": "The connection parameters." + "description": "The connection parameters.", + "readOnly": true }, "metadata": { "$ref": "#/definitions/ApiResourceMetadata", - "description": "The metadata." + "description": "The metadata.", + "readOnly": true }, "runtimeUrls": { "type": "array", "description": "The runtime urls.", "items": { "type": "string" - } + }, + "readOnly": true }, "generalInformation": { "$ref": "#/definitions/ApiResourceGeneralInformation", - "description": "The api general information." + "description": "The api general information.", + "readOnly": true }, "capabilities": { "type": "array", "description": "The capabilities.", "items": { "type": "string" - } + }, + "readOnly": true }, "backendService": { "$ref": "#/definitions/ApiResourceBackendService", - "description": "The backend service." + "description": "The backend service.", + "readOnly": true }, "policies": { "$ref": "#/definitions/ApiResourcePolicies", - "description": "The policies for the API." + "description": "The policies for the API.", + "readOnly": true }, "apiDefinitionUrl": { "type": "string", - "description": "The API definition." + "description": "The API definition.", + "readOnly": true }, "apiDefinitions": { "$ref": "#/definitions/ApiResourceDefinitions", - "description": "The api definitions." + "description": "The api definitions.", + "readOnly": true }, "integrationServiceEnvironment": { "$ref": "#/definitions/ResourceReference", @@ -8350,11 +8376,13 @@ }, "provisioningState": { "$ref": "#/definitions/WorkflowProvisioningState", - "description": "The provisioning state." + "description": "The provisioning state.", + "readOnly": true }, "category": { "$ref": "#/definitions/ApiTier", - "description": "The category." + "description": "The category.", + "readOnly": true } } }, @@ -8810,6 +8838,9 @@ "sku": { "$ref": "#/definitions/IntegrationServiceEnvironmentSku", "description": "The sku." + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" } }, "allOf": [ @@ -9018,7 +9049,6 @@ "properties": { "type": { "$ref": "#/definitions/OpenAuthenticationProviderType", - "readOnly": true, "description": "Type of provider for OAuth." }, "claims": { @@ -9102,6 +9132,63 @@ } } }, + "ManagedServiceIdentity": { + "description": "Managed service identity properties.", + "type": "object", + "properties": { + "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", + "x-ms-enum": { + "name": "ManagedServiceIdentityType", + "modelAsString": true + } + }, + "tenantId": { + "description": "Tenant of managed service identity.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "principalId": { + "description": "Principal Id of managed service identity.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "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" + } + } + }, + "required": [ + "type" + ] + }, + "userAssignedIdentity": { + "description": "User Assigned identity properties.", + "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 + } + } + }, "IntegrationServiceEnvironmentSkuList": { "type": "object", "properties": { @@ -9185,6 +9272,64 @@ "modelAsString": true } }, + "IntegrationServiceEnvironmentManagedApiListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApi" + }, + "description": "The integration service environment managed APIs." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "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.", @@ -9224,7 +9369,7 @@ "description": "The integration account properties.", "properties": { "integrationServiceEnvironment": { - "$ref": "#/definitions/IntegrationServiceEnvironment", + "$ref": "#/definitions/ResourceReference", "description": "The integration service environment." }, "state": { diff --git a/specification/logic/resource-manager/readme.go.md b/specification/logic/resource-manager/readme.go.md index a379ee0f9451..0b56f2bdc1f5 100644 --- a/specification/logic/resource-manager/readme.go.md +++ b/specification/logic/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/logic/armlogic +module-name: sdk/resourcemanager/logic/armlogic module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/logic/resource-manager/readme.md b/specification/logic/resource-manager/readme.md index de6d61a19038..9a849167969b 100644 --- a/specification/logic/resource-manager/readme.md +++ b/specification/logic/resource-manager/readme.md @@ -130,6 +130,7 @@ swagger-to-sdk: - repo: azure-sdk-for-java - repo: azure-sdk-for-trenton - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/logz.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/logz.json index b5e404f18ed4..3693313e61f9 100644 --- a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/logz.json +++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/logz.json @@ -1936,7 +1936,11 @@ "effectiveDate": { "format": "date-time", "description": "date when plan was applied", - "type": "string" + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] } } }, diff --git a/specification/logz/resource-manager/Microsoft.Logz/stable/2020-10-01/logz.json b/specification/logz/resource-manager/Microsoft.Logz/stable/2020-10-01/logz.json index 0c142e9b146a..4bbd299b05ac 100644 --- a/specification/logz/resource-manager/Microsoft.Logz/stable/2020-10-01/logz.json +++ b/specification/logz/resource-manager/Microsoft.Logz/stable/2020-10-01/logz.json @@ -1936,7 +1936,11 @@ "effectiveDate": { "format": "date-time", "description": "date when plan was applied", - "type": "string" + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] } } }, diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinition.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinition.json index 065d892c01f7..6fd81d1fcc3b 100644 --- a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinition.json +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinition.json @@ -44,6 +44,8 @@ } ], "provisioningState": "Succeeded", + "manageeTenantId": "0e06d6a3-55ae-40a3-ac29-350808980808", + "manageeTenantName": "Test customer", "managedByTenantName": "Test Tenant" }, "plan": { diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinitions.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinitions.json index d88e7509f99f..e57d8f7a77b7 100644 --- a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinitions.json +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinitions.json @@ -45,6 +45,8 @@ } ], "provisioningState": "Succeeded", + "manageeTenantId": "0e06d6a3-55ae-40a3-ac29-350808980808", + "manageeTenantName": "Test customer", "managedByTenantName": "Test Tenant" }, "plan": { diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json index caaac95ed665..877402e94ebb 100644 --- a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json @@ -652,6 +652,16 @@ "modelAsString": true } }, + "manageeTenantId": { + "readOnly": true, + "type": "string", + "description": "The identifier of the managed tenant." + }, + "manageeTenantName": { + "readOnly": true, + "type": "string", + "description": "The name of the managed tenant." + }, "managedByTenantName": { "readOnly": true, "type": "string", diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/DeleteManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/DeleteManagementGroup.json index 94bb28c71f43..0f32df28ed5d 100644 --- a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/DeleteManagementGroup.json +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/DeleteManagementGroup.json @@ -6,6 +6,9 @@ }, "responses": { "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Management/managementGroups/GroupToDelete?api-version=2021-04-01" + }, "body": { "id": "/providers/Microsoft.Management/managementGroups/GroupToDelete", "type": "Microsoft.Management/managementGroups", diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/ListOperations.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/ListOperations.json new file mode 100644 index 000000000000..f852371b28f0 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/ListOperations.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "display": { + "provider": "aaaaaaaaaaaaaaaaaaaaa", + "resource": "aaaaaaaaaaaaa", + "operation": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "description": "aaaaaaaaaaaaaaaaaaaaaa" + } + } + ], + "nextLink": "aaaaaaaaaaaaaaaaaaa" + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/management.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/management.json index dac391a711a6..bc6ed0b42164 100644 --- a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/management.json +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/management.json @@ -718,6 +718,11 @@ }, "x-ms-pageable": { "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Operations": { + "$ref": "./examples/ListOperations.json" + } } } }, diff --git a/specification/managementgroups/resource-manager/readme.go.md b/specification/managementgroups/resource-manager/readme.go.md index 60c68669323e..d41844a72c39 100644 --- a/specification/managementgroups/resource-manager/readme.go.md +++ b/specification/managementgroups/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION clear-output-folder: true namespace: managementgroups ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/managementgroups/armmanagementgroups +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/managementgroups/resource-manager/readme.md b/specification/managementgroups/resource-manager/readme.md index d95f4e63afc7..a4cff1e75af2 100644 --- a/specification/managementgroups/resource-manager/readme.md +++ b/specification/managementgroups/resource-manager/readme.md @@ -114,6 +114,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-cli-extensions diff --git a/specification/maps/data-plane/Common/preview/1.0/common.json b/specification/maps/data-plane/Common/preview/1.0/common.json index f91f88f9b5b6..257942bd35d5 100644 --- a/specification/maps/data-plane/Common/preview/1.0/common.json +++ b/specification/maps/data-plane/Common/preview/1.0/common.json @@ -64,7 +64,7 @@ } } }, - "BatchRequestBody": { + "BatchRequest": { "description": "This type represents the request body for the Batch service.", "type": "object", "properties": { @@ -72,25 +72,29 @@ "description": "The list of queries to process.", "type": "array", "items": { - "description": "Batch Query object", - "type": "object", - "properties": { - "query": { - "description": "Partial query string.", - "type": "string", - "example": "?query=One, Microsoft Way, Redmond, WA 98052&limit=3" - } - } + "$ref": "#/definitions/BatchRequestItem" } } } }, - "BatchResponse": { + "BatchRequestItem": { + "description": "Batch request object", + "type": "object", + "properties": { + "query": { + "description": "This parameter contains a query string used to perform an unstructured geocoding operation. The query string will be passed verbatim to the search API for processing.", + "type": "string", + "example": "?query=One, Microsoft Way, Redmond, WA 98052&limit=3" + } + } + }, + "BatchResult": { "description": "This object is returned from a successful Batch service call. Extend with 'batchItems' property.", "type": "object", "properties": { "summary": { - "description": "Summary for the batch request", + "description": "Summary of the results for the batch request", + "x-ms-client-name": "BatchSummary", "type": "object", "readOnly": true, "properties": { @@ -108,19 +112,19 @@ } } }, - "BatchItem": { + "BatchResultItem": { "description": "An item returned from Batch API. Extend with 'response' property.", "type": "object", "properties": { "statusCode": { "description": "HTTP request status code.", - "type": "number", + "type": "integer", "readOnly": true, "example": 200 } } }, - "CoordinatesPair": { + "LatLongPair": { "description": "A location represented as a latitude and longitude.", "type": "object", "properties": { @@ -136,7 +140,7 @@ } } }, - "CoordinatesPairAbbreviated": { + "LatLongPairAbbreviated": { "description": "A location represented as a latitude and longitude using short names 'lat' & 'lon'.", "type": "object", "properties": { @@ -152,6 +156,16 @@ } } }, + "BoundingBox": { + "x-ms-client-name": "boundingBox", + "description": "Bounding box. Projection used - EPSG:3857. Format : 'minLon, minLat, maxLon, maxLat'.", + "type": "array", + "readOnly": true, + "items": { + "type": "number", + "format": "double" + } + }, "GeoJsonPosition": { "description": "A `Position` is an array of numbers with two or more elements. The first two elements are _longitude_ and _latitude_, precisely in that order. _Altitude/Elevation_ is an optional third element. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.1) for details.", "type": "array", @@ -532,7 +546,7 @@ "Language": { "name": "language", "in": "query", - "description": "Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.\n\nPlease refer to [Supported Languages](https://docs.microsoft.com/en-us/azure/azure-maps/supported-languages) for details.", + "description": "Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.\n\nPlease refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.", "type": "string", "x-ms-parameter-location": "method" }, @@ -614,29 +628,195 @@ }, "View": { "name": "view", + "x-ms-client-name": "localizedMapView", "in": "query", - "description": "The View parameter specifies which set of geopolitically disputed content is returned via Azure Maps services, including borders and labels displayed on the map. The View parameter (also referred to as “user region parameter”) will show the correct maps for that country/region. By default, the View parameter is set to “Unified” even if you haven’t defined it in the request. It is your responsibility to determine the location of your users, and then set the View parameter correctly for that location. Alternatively, you have the option to set ‘View=Auto’, which will return the map data based on the IP address of the request. The View parameter in Azure Maps must be used in compliance with applicable laws, including those regarding mapping, of the country where maps, images and other data and third party content that you are authorized to access via Azure Maps is made available. Example: view=IN.\n\nPlease refer to [Supported Views](https://aka.ms/AzureMapsLocalizationViews) for details and to see the available Views.", + "description": "The View parameter (also called the \"user region\" parameter) allows you to show the correct maps for a certain country/region for geopolitically disputed regions. Different countries have different views of such regions, and the View parameter allows your application to comply with the view required by the country your application will be serving. By default, the View parameter is set to “Unified” even if you haven’t defined it in the request. It is your responsibility to determine the location of your users, and then set the View parameter correctly for that location. Alternatively, you have the option to set ‘View=Auto’, which will return the map data based on the IP address of the request. The View parameter in Azure Maps must be used in compliance with applicable laws, including those regarding mapping, of the country where maps, images and other data and third party content that you are authorized to access via Azure Maps is made available. Example: view=IN.\n\nPlease refer to [Supported Views](https://aka.ms/AzureMapsLocalizationViews) for details and to see the available Views.", + "x-ms-parameter-location": "method", "type": "string", - "x-ms-parameter-location": "method" + "enum": [ + "AE", + "AR", + "BH", + "IN", + "IQ", + "JO", + "KW", + "LB", + "MA", + "OM", + "PK", + "PS", + "QA", + "SA", + "SY", + "YE", + "Auto", + "Unified" + ], + "x-ms-enum": { + "name": "LocalizedMapView", + "modelAsString": true, + "values": [ + { + "value": "AE", + "description": "United Arab Emirates (Arabic View)" + }, + { + "value": "AR", + "description": "Argentina (Argentinian View)" + }, + { + "value": "BH", + "description": "Bahrain (Arabic View)" + }, + { + "value": "IN", + "description": "India (Indian View)" + }, + { + "value": "IQ", + "description": "Iraq (Arabic View)" + }, + { + "value": "JO", + "description": "Jordan (Arabic View)" + }, + { + "value": "KW", + "description": "Kuwait (Arabic View)" + }, + { + "value": "LB", + "description": "Lebanon (Arabic View)" + }, + { + "value": "MA", + "description": "Morocco (Moroccan View)" + }, + { + "value": "OM", + "description": "Oman (Arabic View)" + }, + { + "value": "PK", + "description": "Pakistan (Pakistani View)" + }, + { + "value": "PS", + "description": "Palestinian Authority (Arabic View)" + }, + { + "value": "QA", + "description": "Qatar (Arabic View)" + }, + { + "value": "SA", + "description": "Saudi Arabia (Arabic View)" + }, + { + "value": "SY", + "description": "Syria (Arabic View)" + }, + { + "value": "YE", + "description": "Yemen (Arabic View)" + }, + { + "value": "Auto", + "description": "Return the map data based on the IP address of the request." + }, + { + "value": "Unified", + "description": "Unified View (Others)" + } + ] + } + }, + "PositionLatitudeAbbreviated": { + "name": "lat", + "x-ms-client-name": "Latitude", + "description": "The latitude of the location being passed. Example: 48.36.", + "type": "number", + "in": "query", + "required": true, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "position" + } + }, + "PositionLongitudeAbbreviated": { + "name": "lon", + "x-ms-client-name": "Longitude", + "description": "The longitude of the location being passed. Example: -124.63.", + "type": "number", + "in": "query", + "required": true, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "position" + } }, "xTileIndex": { "name": "x", - "x-ms-client-name": "xTileIndex", "in": "query", - "description": "X coordinate of the tile on zoom grid. Value must be in the range [0, 2`zoom` -1].\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", + "description": "X coordinate of the tile on zoom grid. Value must be in the range [0, 2`zoom` -1].\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid) for details.", "required": true, "type": "integer", "format": "int32", - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "tileIndex" + } }, "yTileIndex": { "name": "y", - "x-ms-client-name": "yTileIndex", "in": "query", - "description": "Y coordinate of the tile on zoom grid. Value must be in the range [0, 2`zoom` -1].\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", + "description": "Y coordinate of the tile on zoom grid. Value must be in the range [0, 2`zoom` -1].\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid) for details.", "required": true, "type": "integer", "format": "int32", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "tileIndex" + } + }, + "zTileIndex": { + "name": "zoom", + "x-ms-client-name": "z", + "in": "query", + "description": "Zoom level for the desired tile. \n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", + "required": true, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "tileIndex" + } + }, + "IncludeText": { + "name": "text", + "x-ms-client-name": "includeText", + "in": "query", + "description": "Yes/no value to exclude textual data from response. Only images and country names will be in response.", + "type": "string", + "enum": [ + "yes", + "no" + ], + "x-ms-enum": { + "name": "IncludeText", + "modelAsString": true, + "values": [ + { + "value": "yes", + "description": "Include all textual data in response." + }, + { + "value": "no", + "description": "Exclude textual data from response. Only images and country names will be in response." + } + ] + }, "x-ms-parameter-location": "method" } }, @@ -686,7 +866,7 @@ "x-ms-error-response": true }, "409StorageLimit": { - "description": "The [data storage limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits) is reached on the Azure Maps account. You can always use the [Data Delete API](https://docs.microsoft.com/en-us/rest/api/maps/data/deletepreview) to delete old/unused content and create space for new uploads.", + "description": "The [data storage limit](https://docs.microsoft.com/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits) is reached on the Azure Maps account. You can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data/deletepreview) to delete old/unused content and create space for new uploads.", "schema": { "$ref": "../../../../../common-types/data-plane/v1/types.json#/definitions/ErrorResponse" }, diff --git a/specification/maps/data-plane/Creator/preview/1.0/examples/spatial/Spatial_GetPointInPolygon.json b/specification/maps/data-plane/Creator/preview/1.0/examples/spatial/Spatial_EvaluatePointInPolygon.json similarity index 100% rename from specification/maps/data-plane/Creator/preview/1.0/examples/spatial/Spatial_GetPointInPolygon.json rename to specification/maps/data-plane/Creator/preview/1.0/examples/spatial/Spatial_EvaluatePointInPolygon.json diff --git a/specification/maps/data-plane/Creator/preview/1.0/spatial.json b/specification/maps/data-plane/Creator/preview/1.0/spatial.json index 84aac9f7e193..018f46e700e6 100644 --- a/specification/maps/data-plane/Creator/preview/1.0/spatial.json +++ b/specification/maps/data-plane/Creator/preview/1.0/spatial.json @@ -25,15 +25,21 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "AzureKey": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", + "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", "in": "header" } }, @@ -44,7 +50,10 @@ ] }, { - "AzureKey": [] + "SharedKey": [] + }, + { + "SasToken": [] } ], "responses": {}, @@ -112,24 +121,6 @@ }, "x-ms-parameter-location": "method" }, - "SpatialLatitude": { - "name": "lat", - "x-ms-client-name": "Latitude", - "description": "The latitude of the location being passed. Example: 48.36.", - "type": "number", - "in": "query", - "required": true, - "x-ms-parameter-location": "method" - }, - "SpatialLongitude": { - "name": "lon", - "x-ms-client-name": "Longitude", - "description": "The longitude of the location being passed. Example: -124.63.", - "type": "number", - "in": "query", - "required": true, - "x-ms-parameter-location": "method" - }, "SearchGeofenceRequestBody": { "name": "searchGeofenceRequestBody", "in": "body", @@ -196,12 +187,13 @@ "type": "string" }, { - "$ref": "#/parameters/SpatialLatitude" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLatitudeAbbreviated" }, { - "$ref": "#/parameters/SpatialLongitude" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLongitudeAbbreviated" }, { + "x-ms-client-name": "altitude", "name": "z", "in": "query", "description": "The sea level in meter of the location being passed. If this parameter is presented, 2D extrusion is used. Example: 200.", @@ -215,6 +207,7 @@ "type": "string" }, { + "x-ms-client-name": "searchBufferInMeters", "name": "searchBuffer", "in": "query", "description": "The radius of the buffer around the geofence in meters that defines how far to search inside and outside the border of the fence against the coordinate that was provided when calculating the result. The minimum value is 0, and the maximum is 500. The default value is 50.", @@ -242,7 +235,7 @@ } }, "schema": { - "$ref": "#/definitions/GeofenceResponse" + "$ref": "#/definitions/Geofence" } }, "default": { @@ -276,12 +269,13 @@ "type": "string" }, { - "$ref": "#/parameters/SpatialLatitude" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLatitudeAbbreviated" }, { - "$ref": "#/parameters/SpatialLongitude" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLongitudeAbbreviated" }, { + "x-ms-client-name": "altitude", "name": "z", "in": "query", "description": "The sea level in meter of the location being passed. If this parameter is presented, 2D extrusion geofencing is applied. Example: 200.", @@ -325,7 +319,7 @@ } }, "schema": { - "$ref": "#/definitions/GeofenceResponse" + "$ref": "#/definitions/Geofence" } }, "default": { @@ -367,7 +361,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/BufferResponse" + "$ref": "#/definitions/BufferResult" } }, "default": { @@ -408,7 +402,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/BufferResponse" + "$ref": "#/definitions/BufferResult" } }, "default": { @@ -437,10 +431,10 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat" }, { - "$ref": "#/parameters/SpatialLatitude" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLatitudeAbbreviated" }, { - "$ref": "#/parameters/SpatialLongitude" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLongitudeAbbreviated" }, { "name": "numberOfClosestPoints", @@ -486,10 +480,10 @@ "$ref": "#/parameters/SpatialUploadUdid" }, { - "$ref": "#/parameters/SpatialLatitude" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLatitudeAbbreviated" }, { - "$ref": "#/parameters/SpatialLongitude" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLongitudeAbbreviated" }, { "name": "numberOfClosestPoints", @@ -531,10 +525,10 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat" }, { - "$ref": "#/parameters/SpatialLatitude" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLatitudeAbbreviated" }, { - "$ref": "#/parameters/SpatialLongitude" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLongitudeAbbreviated" }, { "$ref": "#/parameters/PointInPolygonRequestBody" @@ -544,7 +538,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/PointInPolygonResponse" + "$ref": "#/definitions/PointInPolygonResult" } }, "default": { @@ -554,10 +548,10 @@ }, "get": { "description": "**Applies to**: S1 pricing tier.\n\nThis API returns a boolean value indicating whether a point is inside a set of polygons. The set of polygons is provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may contain Polygon and MultiPolygon geometries, other geometries will be ignored if provided. If the point is inside or on the boundary of one of these polygons, the value returned is true. In all other cases, the value returned is false. When the point is inside multiple polygons, the result will give intersecting geometries section to show all valid geometries(referenced by geometryId) in user data. The maximum number of vertices accepted to form a Polygon is 10,000.\n\n \nTo test this API, you can upload the sample data from [Post Point In Polygon API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postpointinpolygon#examples) examples(Request Body) via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and replace the [udid] from the [sample request below](https://docs.microsoft.com/en-us/rest/api/maps/spatial/getpointinpolygon#examples) with the udid returned by Data Upload API.", - "operationId": "Spatial_GetPointInPolygon", + "operationId": "Spatial_EvaluatePointInPolygon", "x-ms-examples": { "GetPointInPolygon": { - "$ref": "./examples/spatial/Spatial_GetPointInPolygon.json" + "$ref": "./examples/spatial/Spatial_EvaluatePointInPolygon.json" } }, "parameters": [ @@ -574,17 +568,17 @@ "$ref": "#/parameters/SpatialUploadUdid" }, { - "$ref": "#/parameters/SpatialLatitude" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLatitudeAbbreviated" }, { - "$ref": "#/parameters/SpatialLongitude" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLongitudeAbbreviated" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/PointInPolygonResponse" + "$ref": "#/definitions/PointInPolygonResult" } }, "default": { @@ -624,7 +618,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/GreatCircleDistanceResponse" + "$ref": "#/definitions/GreatCircleDistanceResult" } }, "default": { @@ -635,24 +629,6 @@ } }, "definitions": { - "SpatialCoordinate": { - "description": "A location represented as a latitude and longitude", - "type": "object", - "properties": { - "lat": { - "description": "Latitude property", - "type": "number", - "format": "double", - "readOnly": true - }, - "lon": { - "description": "Longitude property", - "type": "number", - "format": "double", - "readOnly": true - } - } - }, "GeofenceGeometry": { "description": "The geofencing geometry.", "type": "object", @@ -664,6 +640,7 @@ "readOnly": true }, "udId": { + "x-ms-client-name": "udid", "description": "The unique id returned from [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) after uploading a valid GeoJSON FeatureCollection object. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.3) for details. All the feature's properties should contain `geometryId`, which is used for identifying the geometry and is case-sensitive.", "type": "string", "readOnly": true @@ -674,7 +651,7 @@ "readOnly": true }, "distance": { - "description": "Distance from the coordinate to the closest border of the geofence. Positive means the coordinate is outside of the geofence. If the coordinate is outside of the geofence, but more than the value of searchBuffer away from the closest geofence border, then the value is 999. Negative means the coordinate is inside of the geofence. If the coordinate is inside the polygon, but more than the value of searchBuffer away from the closest geofencing border, then the value is -999. A value of 999 means that there is great confidence the coordinate is well outside the geofence. A value of -999 means that there is great confidence the coordinate is well within the geofence.", + "description": "Distance from the coordinate to the closest border of the geofence (in meters except when special values -999/999 are used). Positive means the coordinate is outside of the geofence. If the coordinate is outside of the geofence, but more than the value of searchBuffer away from the closest geofence border, then the value is 999. Negative means the coordinate is inside of the geofence. If the coordinate is inside the polygon, but more than the value of searchBuffer away from the closest geofencing border, then the value is -999. A value of 999 means that there is great confidence the coordinate is well outside the geofence. A value of -999 means that there is great confidence the coordinate is well within the geofence.", "type": "number", "readOnly": true }, @@ -689,13 +666,14 @@ "readOnly": true }, "nearestZ": { + "x-ms-client-name": "nearestElevation", "description": "Sea level in meter of the nearest point on the 2D extrusion geometry. This will only be presented in response when value is provided for 'zInMeter' in the request.", "type": "number", "readOnly": true } } }, - "GeofenceResponse": { + "Geofence": { "description": "This object is returned from a geofence proximity call.", "type": "object", "properties": { @@ -746,28 +724,31 @@ } } }, - "BufferResponse": { + "BufferSummary": { + "type": "object", + "readOnly": true, + "properties": { + "udid": { + "description": "The udid for the user data if one exists", + "type": "string", + "readOnly": true + }, + "information": { + "description": "The information about what happened during the call.", + "type": "string", + "readOnly": true + } + } + }, + "BufferResult": { "description": "This object is returned from a successful Spatial Buffer call.", "type": "object", "properties": { "summary": { - "description": "Summary of the call.", - "type": "object", - "readOnly": true, - "properties": { - "udid": { - "description": "The udid for the user data if one exists", - "type": "string", - "readOnly": true - }, - "information": { - "description": "The information about what happened during the call.", - "type": "string", - "readOnly": true - } - } + "$ref": "#/definitions/BufferSummary" }, "result": { + "x-ms-client-name": "features", "description": "The FeatureCollection of buffers for the input.", "$ref": "../../../Common/preview/1.0/common.json#/definitions/GeoJsonFeatureCollection" } @@ -781,7 +762,11 @@ "$ref": "#/definitions/ClosestPointSummary" }, "result": { - "$ref": "#/definitions/ClosestPointResult" + "description": "Closest Point Result Array", + "type": "array", + "items": { + "$ref": "#/definitions/ClosestPoint" + } } } }, @@ -791,7 +776,7 @@ "readOnly": true, "properties": { "sourcePoint": { - "$ref": "#/definitions/SpatialCoordinate" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated" }, "udid": { "description": "A unique data id (udid) for the uploaded content", @@ -805,14 +790,7 @@ } } }, - "ClosestPointResult": { - "description": "Closest Point Result Array", - "type": "array", - "items": { - "$ref": "#/definitions/ClosestPointResultEntry" - } - }, - "ClosestPointResultEntry": { + "ClosestPoint": { "description": "Closest Point Result Entry Object", "type": "object", "readOnly": true, @@ -823,7 +801,7 @@ "readOnly": true }, "position": { - "$ref": "#/definitions/SpatialCoordinate" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated" }, "geometryId": { "description": "The unique id identifies a geometry", @@ -832,7 +810,7 @@ } } }, - "PointInPolygonResponse": { + "PointInPolygonResult": { "description": "Returns true if point is within the polygon, false otherwise", "type": "object", "properties": { @@ -840,7 +818,24 @@ "$ref": "#/definitions/PointInPolygonSummary" }, "result": { - "$ref": "#/definitions/PointInPolygonResult" + "description": "Point In Polygon Result Object", + "type": "object", + "properties": { + "pointInPolygons": { + "x-ms-client-name": "isPointInPolygons", + "description": "Point In Polygons Property", + "type": "boolean", + "readOnly": true + }, + "intersectingGeometries": { + "description": "Geometries array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/GeometryId" + } + } + } } } }, @@ -850,7 +845,7 @@ "readOnly": true, "properties": { "sourcePoint": { - "$ref": "#/definitions/SpatialCoordinate" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated" }, "udid": { "description": "A unique data id (udid) for the uploaded content. Udid is not applicable for POST spatial operations(set to null)", @@ -864,46 +859,30 @@ } } }, - "PointInPolygonResult": { - "description": "Point In Polygon Result Object", + "GeometryId": { + "description": "The Spatial geometry", + "type": "string", + "readOnly": true + }, + "GreatCircleDistanceSummary": { + "description": "Summary object", "type": "object", + "readOnly": true, "properties": { - "pointInPolygons": { - "description": "Point In Polygons Property", - "type": "boolean", - "readOnly": true + "sourcePoint": { + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated" }, - "intersectingGeometries": { - "description": "Geometries array", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/GeometryId" - } + "targetPoint": { + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated" } } }, - "GeometryId": { - "description": "The Spatial geometry", - "type": "string", - "readOnly": true - }, - "GreatCircleDistanceResponse": { + "GreatCircleDistanceResult": { "description": "This object is returned from a successful Great Circle Distance call", "type": "object", "properties": { "summary": { - "description": "Summary object", - "type": "object", - "readOnly": true, - "properties": { - "sourcePoint": { - "$ref": "#/definitions/SpatialCoordinate" - }, - "targetPoint": { - "$ref": "#/definitions/SpatialCoordinate" - } - } + "$ref": "#/definitions/GreatCircleDistanceSummary" }, "result": { "description": "Result Object", diff --git a/specification/maps/data-plane/Creator/preview/2.0/alias.json b/specification/maps/data-plane/Creator/preview/2.0/alias.json index 4f780ebd4c4c..91d2e5d3e70e 100644 --- a/specification/maps/data-plane/Creator/preview/2.0/alias.json +++ b/specification/maps/data-plane/Creator/preview/2.0/alias.json @@ -25,15 +25,21 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "AzureKey": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", + "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", "in": "header" } }, @@ -44,7 +50,10 @@ ] }, { - "AzureKey": [] + "SharedKey": [] + }, + { + "SasToken": [] } ], "responses": {}, @@ -107,7 +116,7 @@ "201": { "description": "Content created successfully. The response body contains the newly created alias id `aliasId`.", "schema": { - "$ref": "#/definitions/AliasesCreateResponse" + "$ref": "#/definitions/Alias" }, "headers": { "Access-Control-Expose-Headers": { @@ -145,7 +154,7 @@ "200": { "description": "List alias request completed successfully. The response body contains a list of all the previously created aliases.", "schema": { - "$ref": "#/definitions/AliasListResponse" + "$ref": "#/definitions/AliasListResult" } }, "default": { @@ -181,7 +190,7 @@ "200": { "description": "Alias was assigned successfully.", "schema": { - "$ref": "#/definitions/AliasListItem" + "$ref": "#/definitions/Alias" } }, "default": { @@ -219,10 +228,10 @@ }, "get": { "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch the details of a previously created alias.\n\n### Submit Get Details Request\n\nTo get the details of your alias, you will issue a `GET` request with the `aliasId` in the path.\n\n### Get Details Response\n\nThe Get Details API returns the previously created alias in `json` format. The response contains the following details for the alias resource:\n > createdTimestamp - The timestamp that the alias was created.\n > aliasId - The id for the alias.\n > creatorDataItemId - The id for the creator data item that this alias references (could be null if the alias has not been assigned).\n > lastUpdatedTimestamp - The last time the alias was assigned to a resource.\n\nHere's a sample response:\n```json\n{\n \"createdTimestamp\": \"2020-02-13T21:19:11.123Z\",\n \"aliasId\": \"a8a4b8bb-ecf4-fb27-a618-f41721552766\",\n \"creatorDataItemId\": \"e89aebb9-70a3-8fe1-32bb-1fbd0c725f14\",\n \"lastUpdatedTimestamp\": \"2020-02-13T21:19:22.123Z\"\n}\n```", - "operationId": "Alias_GetDetails", + "operationId": "Alias_Get", "x-ms-examples": { "Get a previously created alias": { - "$ref": "./examples/alias/Alias_GetDetails.json" + "$ref": "./examples/alias/Alias_Get.json" } }, "parameters": [ @@ -240,7 +249,7 @@ "200": { "description": "Get alias request completed successfully. The response body contains the previously created alias.", "schema": { - "$ref": "#/definitions/AliasListItem" + "$ref": "#/definitions/Alias" } }, "default": { @@ -251,35 +260,7 @@ } }, "definitions": { - "AliasesCreateResponse": { - "description": "The response model for the Alias Create API for the case when the alias was successfully created.", - "type": "object", - "properties": { - "createdTimestamp": { - "description": "The created timestamp for the alias.", - "type": "string", - "format": "date-time", - "readOnly": true - }, - "aliasId": { - "description": "The id for the alias.", - "type": "string", - "readOnly": true - }, - "creatorDataItemId": { - "description": "The id for the creator data item that this alias references (could be null if the alias has not been assigned).", - "type": "string", - "readOnly": true - }, - "lastUpdatedTimestamp": { - "description": "The timestamp of the last time the alias was assigned.", - "type": "string", - "format": "date-time", - "readOnly": true - } - } - }, - "AliasListResponse": { + "AliasListResult": { "description": "The response model for the List API. Returns a list of all the previously created aliases.", "type": "object", "properties": { @@ -288,7 +269,7 @@ "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/AliasListItem" + "$ref": "#/definitions/Alias" } }, "nextLink": { @@ -298,13 +279,14 @@ } } }, - "AliasListItem": { + "Alias": { "description": "Detailed information for the alias.", "type": "object", "properties": { "createdTimestamp": { "description": "The created timestamp for the alias.", "type": "string", + "format": "date-time", "readOnly": true }, "aliasId": { diff --git a/specification/maps/data-plane/Creator/preview/2.0/data.json b/specification/maps/data-plane/Creator/preview/2.0/data.json index 7e56d1ee4ab8..0db86c566229 100644 --- a/specification/maps/data-plane/Creator/preview/2.0/data.json +++ b/specification/maps/data-plane/Creator/preview/2.0/data.json @@ -25,15 +25,21 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "AzureKey": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", + "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", "in": "header" } }, @@ -44,7 +50,10 @@ ] }, { - "AzureKey": [] + "SharedKey": [] + }, + { + "SasToken": [] } ], "responses": {}, @@ -58,9 +67,8 @@ "default": "2.0", "x-ms-parameter-location": "client" }, - "UploadDataFormat": { + "DataFormat": { "name": "dataFormat", - "x-ms-client-name": "UploadDataFormat", "description": "Data format of the content being uploaded.", "type": "string", "in": "query", @@ -71,7 +79,7 @@ "dwgzippackage" ], "x-ms-enum": { - "name": "UploadDataFormat", + "name": "DataFormat", "modelAsString": true, "values": [ { @@ -83,6 +91,7 @@ "description": "Compressed data format." }, { + "name": "dwgZipPackage", "value": "dwgzippackage", "description": "ZIP package containing DWG file." } @@ -92,7 +101,6 @@ }, "UniqueDataId": { "name": "udid", - "x-ms-client-name": "UniqueDataId", "description": "The unique data id for the content. The `udid` must have been obtained from a successful [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) call.", "type": "string", "in": "path", @@ -101,7 +109,6 @@ }, "UploadDataDescription": { "name": "description", - "x-ms-client-name": "UploadDataDescription", "description": "The description to be given to the upload.", "type": "string", "in": "query", @@ -120,7 +127,7 @@ "/mapData": { "post": { "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Data Upload API allows the caller to upload data content to the Azure Maps service.\nYou can use this API in a scenario like uploading a collection of Geofences in `GeoJSON` \nformat, for use in our [Azure Maps Geofencing Service](https://docs.microsoft.com/rest/api/maps/spatial).\n\n## Submit Upload Request\n\nTo upload your content you will use a `POST` request. The request body will contain the data to upload. The \n`dataFormat` query parameter will contain the format for the data, the `dataSharingLevel` query parameter \ncan contain the sharing level for the data. The `Content-Type` header will be set to the content type of the \ndata.\n\nFor example, to upload a collection of geofences in `GeoJSON` format, set the request body to the geofence \ncontent. Set the `dataFormat` query parameter to _geojson_, and set the `Content-Type` header to either one \nof the following media types:\n\n- `application/json`\n- `application/vnd.geo+json`\n- `application/octet-stream`\n\nHere's a sample request body for uploading a simple Geofence represented as a circle geometry using a center \npoint and a radius. The sample below is in `GeoJSON`:\n\n```json\n{\n \"type\": \"FeatureCollection\",\n \"features\": [{\n \"type\": \"Feature\",\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [-122.126986, 47.639754]\n },\n \"properties\": {\n \"geometryId\": \"001\",\n \"radius\": 500\n }\n }]\n}\n```\n\nThe Data Upload API performs a \n[long-running request](https://aka.ms/am-creator-lrt-v2).\n\n## Data Upload Limits\n\nPlease, be aware that currently every Azure Maps account has a [data storage limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). \nOnce the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. \nYou can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to \ndelete old/unused content and create space for new uploads.", - "operationId": "Data_UploadPreview", + "operationId": "Data_Upload", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "location" @@ -145,7 +152,7 @@ "$ref": "#/parameters/UploadDataDescription" }, { - "$ref": "#/parameters/UploadDataFormat" + "$ref": "#/parameters/DataFormat" }, { "name": "UploadContent", @@ -174,7 +181,7 @@ }, "get": { "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API allows the caller to fetch a list of all content uploaded previously using the [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview). \n\n\n### Submit List Request\n\nTo list all your map data content you will issue a `GET` request with no additional parameters.\n\n\n### List Data Response\n\nThe Data List API returns the complete list of all data in `json` format. The response contains the following details for each data resource:\n\n > udid - The unique data id for the data resource.\n\n > location - The location of the data resource. Execute a HTTP `GET` on this location to download the data.\n\n\nHere's a sample response returning the `udid` and `location` of 3 data resources: \n\n
\n\n```json\n{\n \"mapDataList\": \n [\n {\n \"udid\": \"9a1288fa-1858-4a3b-b68d-13a8j5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/9a1288fa-1858-4a3b-b68d-13a8j5af7d7c?api-version=1.0\",\n \"sizeInBytes\": 29920,\n \"uploadStatus\": \"Completed\"\n },\n {\n \"udid\": \"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/8b1288fa-1958-4a2b-b68e-13a7i5af7d7c?api-version=1.0\",\n \"sizeInBytes\": 1339,\n \"uploadStatus\": \"Completed\"\n },\n {\n \"udid\": \"7c1288fa-2058-4a1b-b68f-13a6h5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/7c1288fa-2058-4a1b-b68f-13a6h5af7d7c?api-version=1.0\",\n \"sizeInBytes\": 1650,\n \"uploadStatus\": \"Pending\"\n }]\n}\n```\n\n
", - "operationId": "Data_ListPreview", + "operationId": "Data_List", "x-ms-examples": { "List all the previously uploaded data": { "$ref": "./examples/data/Data_List.json" @@ -192,7 +199,7 @@ "200": { "description": "List data request completed successfully. The response body contains a list of all the previously uploaded data.", "schema": { - "$ref": "#/definitions/MapDataListResponse" + "$ref": "#/definitions/MapDataListResult" } }, "default": { @@ -204,7 +211,7 @@ "/mapData/{udid}": { "put": { "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Data Update API allows the caller to update a previously uploaded data content.\n\nYou can use this API in a scenario like adding or removing geofences to or from an existing collection of geofences. \nGeofences are uploaded using the [Data Upload API](https://docs.microsoft.com/rest/api/maps/data-v2/upload-preview), for \nuse in the [Azure Maps Geofencing Service](https://docs.microsoft.com/rest/api/maps/spatial).\n\nPlease note that the Update API will *replace* and *override* the existing data content.\n\n## Submit Update Request\n\nTo update your content you will use a `PUT` request. The request body will contain the new data that will replace \nthe existing data. The `Content-Type` header will be set to the content type of the data, and the path will contain \nthe `udid` of the data to be update.\n\nFor example, to update a collection of geofences that were previously uploaded using the Upload API, place the new \ngeofence content in the request body. Set the `udid` parameter in the path to the `udid` of the data received \npreviously in the upload API response. And set the `Content-Type` header to one of the following media types:\n\n- `application/json`\n- `application/vnd.geo+json`\n- `application/octet-stream`\n\nHere's a sample request body for updating a simple Geofence. It's represented as a circle geometry using a center \npoint and a radius. The sample below is in `GeoJSON`:\n\n```json\n{\n \"type\": \"FeatureCollection\",\n \"features\": [{\n \"type\": \"Feature\",\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [-122.126986, 47.639754]\n },\n \"properties\": {\n \"geometryId\": \"001\",\n \"radius\": 500\n }\n }]\n}\n```\n\nThe previously uploaded geofence had a radius of 100m. The above request will update it to 500m.\n\nThe Data Update API performs a \n[long-running request](https://aka.ms/am-creator-lrt-v2).\n\n## Data Update Limits\n\nPlease, be aware that currently every Azure Maps account has a [data storage limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). \nOnce the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. \nYou can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to \ndelete old/unused content and create space for new uploads.", - "operationId": "Data_UpdatePreview", + "operationId": "Data_Update", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "location" @@ -254,7 +261,7 @@ }, "get": { "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API allows the caller to download a previously uploaded data content.
\nYou can use this API in a scenario like downloading an existing collection of geofences uploaded previously using the [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) for use in our [Azure Maps Geofencing Service](https://docs.microsoft.com/en-us/rest/api/maps/spatial). \n\n\n### Submit Download Request\n\nTo download your content you will use a `GET` request where the path will contain the `udid` of the data to download. Optionally, you can also pass in an `Accept` header to specify a preference for the `Content-Type` of the data response.
\nFor example, to download a collection of geofences previously uploaded using the Upload API, set the `udid` parameter in the path to the `udid` of the data received previously in the upload API response and set the `Accept` header to either one of the following media types: \n \n - `application/json`\n - `application/vnd.geo+json`\n - `application/octet-stream`\n\n\n### Download Data Response\n\nThe Download API will return a HTTP `200 OK` response if the data resource with the passed-in `udid` is found, where the response body will contain the content of the data resource.
\nA HTTP `400 Bad Request` error response will be returned if the data resource with the passed-in `udid` is not found.
\n\nHere's a sample response body for a simple geofence represented in `GeoJSON` uploaded previously using the Upload API:\n
\n\n```json\n{\n \"type\": \"FeatureCollection\",\n \"features\": [{\n \"type\": \"Feature\",\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [-122.126986, 47.639754]\n },\n \"properties\": {\n \"geometryId\": \"001\",\n \"radius\": 500\n }\n }]\n}\n```", - "operationId": "Data_DownloadPreview", + "operationId": "Data_Download", "x-ms-examples": { "Download previously uploaded GeoJSON data containing geometries that represent a collection of geofences": { "$ref": "./examples/data/Data_Download.json" @@ -296,7 +303,7 @@ }, "delete": { "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API allows the caller to delete a previously uploaded data content.
\nYou can use this API in a scenario like removing geofences previously uploaded using the [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) for use in our [Azure Maps Geofencing Service](https://docs.microsoft.com/en-us/rest/api/maps/spatial). You can also use this API to delete old/unused uploaded content and create space for new content.\n\n\n### Submit Delete Request\n\nTo delete your content you will issue a `DELETE` request where the path will contain the `udid` of the data to delete.
\nFor example, to delete a collection of geofences previously uploaded using the Upload API, set the `udid` parameter in the path to the `udid` of the data received previously in the upload API response. \n\n\n### Delete Data Response\n\nThe Data Delete API returns a HTTP `204 No Content` response with an empty body, if the data resource was deleted successfully.
\nA HTTP `400 Bad Request` error response will be returned if the data resource with the passed-in `udid` is not found. ", - "operationId": "Data_DeletePreview", + "operationId": "Data_Delete", "x-ms-examples": { "Delete previously uploaded GeoJSON data containing geometries that represent a collection of geofences": { "$ref": "./examples/data/Data_Delete.json" @@ -326,7 +333,7 @@ "/mapData/operations/{operationId}": { "get": { "description": "This path will be obtained from a call to POST /mapData. While in progress, an http200 will be returned with no extra headers - followed by an http200 with Resource-Location header once completed.", - "operationId": "Data_GetOperationPreview", + "operationId": "Data_GetOperation", "x-ms-examples": { "Get the status of an operation which is still running": { "$ref": "./examples/data/Data_GetOperationStillRunning.json" @@ -355,11 +362,7 @@ } }, "definitions": { - "MapDataDownloadResponse": { - "description": "The response model for the Data Download API. The response body will contain the content for the passed in `udid`.", - "type": "object" - }, - "MapDataListResponse": { + "MapDataListResult": { "description": "The response model for the Data List API. Returns a list of all the previously uploaded data.", "type": "object", "properties": { @@ -368,12 +371,68 @@ "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/MapDataDetailInfo" + "$ref": "#/definitions/MapData" } } } }, - "MapDataDetailInfo": { + "DataFormat": { + "description": "Data format of the uploaded content.", + "type": "string", + "readOnly": true, + "enum": [ + "geojson", + "zip", + "dwgzippackage" + ], + "x-ms-enum": { + "name": "DataFormat", + "modelAsString": true, + "values": [ + { + "value": "geojson", + "description": "[GeoJSON](https://tools.ietf.org/html/rfc7946) is a JSON based geospatial data interchange format." + }, + { + "value": "zip", + "description": "Compressed data format." + }, + { + "name": "dwgZipPackage", + "value": "dwgzippackage", + "description": "ZIP package containing DWG file." + } + ] + } + }, + "UploadStatus": { + "description": "The current upload status of the content.", + "type": "string", + "readOnly": true, + "enum": [ + "Pending", + "Completed", + "Failed" + ], + "x-ms-enum": { + "name": "UploadStatus", + "values": [ + { + "value": "Pending", + "description": "Upload is processing" + }, + { + "value": "Completed", + "description": "Upload validation and processing completed" + }, + { + "value": "Failed", + "description": "Upload validation and/or processing failure" + } + ] + } + }, + "MapData": { "description": "Detail information for the data.", "type": "object", "properties": { @@ -383,8 +442,10 @@ "readOnly": true }, "location": { + "x-ms-client-name": "locationURL", "description": "The location of the data. Execute a HTTP `GET` on this location to download the data.", "type": "string", + "format": "uri", "readOnly": true }, "sizeInBytes": { @@ -394,14 +455,10 @@ "readOnly": true }, "uploadStatus": { - "description": "The current upload status of the content.", - "type": "string", - "readOnly": true + "$ref": "#/definitions/UploadStatus" }, "dataFormat": { - "description": "The current data format.", - "type": "string", - "readOnly": true + "$ref": "#/definitions/DataFormat" }, "description": { "description": "The current description.", diff --git a/specification/maps/data-plane/Creator/preview/2.0/dataset.json b/specification/maps/data-plane/Creator/preview/2.0/dataset.json index 49360cdd2775..6a724a677cd8 100644 --- a/specification/maps/data-plane/Creator/preview/2.0/dataset.json +++ b/specification/maps/data-plane/Creator/preview/2.0/dataset.json @@ -25,15 +25,21 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "AzureKey": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", + "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", "in": "header" } }, @@ -44,7 +50,10 @@ ] }, { - "AzureKey": [] + "SharedKey": [] + }, + { + "SasToken": [] } ], "responses": {}, @@ -66,9 +75,8 @@ "required": true, "x-ms-parameter-location": "method" }, - "DescriptionDataset": { + "DatasetDescription": { "name": "description", - "x-ms-client-name": "DescriptionDataset", "description": "The description to be given to the dataset.", "type": "string", "in": "query", @@ -126,7 +134,7 @@ "$ref": "#/parameters/AppendDatasetId" }, { - "$ref": "#/parameters/DescriptionDataset" + "$ref": "#/parameters/DatasetDescription" } ], "responses": { @@ -142,7 +150,7 @@ } }, "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a list of all previously successfully created datasets.\n\n### Submit List Request\n\nTo list all your datasets, you will issue a `GET` request with no additional parameters.\n\n\n### List Data Response\n\nThe List API returns the complete list of all datasets in `json` format. The response contains the following fields (if they are not null or empty):\n> created - The timestamp the dataset was created.\n> datasetId - The id for the dataset.\n> description - The description for the dataset.\n> datasetSources - The source data that was used when the create request was issued.\n> ontology - The source [ontology](https://docs.microsoft.com/en-us/azure/azure-maps/creator-facility-ontology) that was used in the conversion service for the input data.
\n\nThe `datasetSources` describes the source data that was used when the create request was issued and contains the following elements (if they are not null or empty):\n\n> conversionIds - The list of `conversionId` (null if none were provided).\n> appendDatasetId - The `datasetId` that was used for an append operation (null if none was used).\n>featureCounts - The counts for each feature type in the dataset.
\n\nHere's a sample response returning the `timestamp`, `datasetId`, `description`, `datasetSources`, and `ontology` of 3 dataset resources:\n\n\n```json\n{\n \"datasets\": [\n {\n \"timestamp\": \"2020-01-01T22:50:48.123Z\",\n \"datasetId\": \"f6495f62-94f8-0ec2-c252-45626f82fcb2\",\n \"description\": \"Some description or comment for the dataset.\",\n \"datasetSources\": {\n \"conversionIds\": [\n \"15d21452-c9bb-27b6-5e79-743ca5c3205d\"\n ], },\n \"ontology\": \"facility-2.0\",\n \"featureCounts\": {\n \"directoryInfo\": 2,\n \"category\": 10,\n \"facility\": 1,\n \"level\": 3,\n \"unit\": 183,\n \"zone\": 3,\n \"verticalPenetration\": 6,\n \"opening\": 48,\n \"areaElement\": 108\n }\n },\n {\n \"timestamp\": \"2020-01-01T22:57:53.123Z\",\n \"datasetId\": \"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\n \"description\": \"Create from upload '0c1288fa-2058-4a1b-b68d-13a5f5af7d7c'.\",\n \"datasetSources\": {\n \"conversionIds\": [\n \"0c1288fa-2058-4a1b-b68d-13a5f5af7d7c\"\n ],\n \"appendDatasetId\": \"46d1edb6-d29e-4786-9589-dbd4efd7a977\"\n },\n \"ontology\": \"facility-2.0\",\n \"featureCounts\": {\n \"directoryInfo\": 2,\n \"category\": 10,\n \"facility\": 1,\n \"level\": 3,\n \"unit\": 183,\n \"zone\": 3,\n \"verticalPenetration\": 6,\n \"opening\": 48,\n \"areaElement\": 108\n }\n }\n ]\n}\n```", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a list of all previously successfully created datasets.\n\n### Submit List Request\n\nTo list all your datasets, you will issue a `GET` request with no additional parameters.\n\n\n### List Data Response\n\nThe List API returns the complete list of all datasets in `json` format. The response contains the following fields (if they are not null or empty):\n> created - The timestamp the dataset was created.\n> datasetId - The id for the dataset.\n> description - The description for the dataset.\n> datasetSources - The source data that was used when the create request was issued.\n> ontology - The source [ontology](https://docs.microsoft.com/en-us/azure/azure-maps/creator-facility-ontology) that was used in the conversion service for the input data.
\n\nThe `datasetSources` describes the source data that was used when the create request was issued and contains the following elements (if they are not null or empty):\n\n> conversionIds - The list of `conversionId` (null if none were provided).\n> appendDatasetId - The `datasetId` that was used for an append operation (null if none was used).\n>featureCounts - The counts for each feature type in the dataset.
\n\nHere's a sample response returning the `timestamp`, `datasetId`, `description`, `datasetSources`, and `ontology` of 3 dataset resources:\n\n\n```json\n{\n \"datasets\": [\n {\n \"timestamp\": \"2020-01-01T22:50:48.123Z\",\n \"datasetId\": \"f6495f62-94f8-0ec2-c252-45626f82fcb2\",\n \"description\": \"Some description or comment for the dataset.\",\n \"datasetSources\": {\n \"conversionIds\": [\n \"15d21452-c9bb-27b6-5e79-743ca5c3205d\"\n ], },\n \"\": \"facility-2.0\",\n \"featureCounts\": {\n \"directoryInfo\": 2,\n \"category\": 10,\n \"facility\": 1,\n \"level\": 3,\n \"unit\": 183,\n \"zone\": 3,\n \"verticalPenetration\": 6,\n \"opening\": 48,\n \"areaElement\": 108\n }\n },\n {\n \"timestamp\": \"2020-01-01T22:57:53.123Z\",\n \"datasetId\": \"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\n \"description\": \"Create from upload '0c1288fa-2058-4a1b-b68d-13a5f5af7d7c'.\",\n \"datasetSources\": {\n \"conversionIds\": [\n \"0c1288fa-2058-4a1b-b68d-13a5f5af7d7c\"\n ],\n \"appendDatasetId\": \"46d1edb6-d29e-4786-9589-dbd4efd7a977\"\n },\n \"ontology\": \"facility-2.0\",\n \"featureCounts\": {\n \"directoryInfo\": 2,\n \"category\": 10,\n \"facility\": 1,\n \"level\": 3,\n \"unit\": 183,\n \"zone\": 3,\n \"verticalPenetration\": 6,\n \"opening\": 48,\n \"areaElement\": 108\n }\n }\n ]\n}\n```", "operationId": "Dataset_List", "x-ms-examples": { "List all the previously created datasets": { @@ -165,7 +173,7 @@ "200": { "description": "The dataset request completed successfully. The response body contains the previously created dataset.", "schema": { - "$ref": "#/definitions/DatasetListResponse" + "$ref": "#/definitions/DatasetListResult" } }, "default": { @@ -198,7 +206,7 @@ "200": { "description": "The get dataset request completed successfully.", "schema": { - "$ref": "#/definitions/DatasetDetailInfo" + "$ref": "#/definitions/Dataset" } }, "default": { @@ -270,7 +278,7 @@ } }, "definitions": { - "DatasetListResponse": { + "DatasetListResult": { "description": "The response model for the Dataset List API. The response body will contain a list of all the previously created datasets.", "type": "object", "properties": { @@ -279,7 +287,7 @@ "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/DatasetDetailInfo" + "$ref": "#/definitions/Dataset" } }, "nextLink": { @@ -289,13 +297,14 @@ } } }, - "DatasetDetailInfo": { + "Dataset": { "description": "Detail information for the dataset.", "type": "object", "properties": { "created": { "description": "The created timestamp for the dataset.", "type": "string", + "format": "date-time", "readOnly": true }, "datasetId": { diff --git a/specification/maps/data-plane/Creator/preview/2.0/dwgconversion.json b/specification/maps/data-plane/Creator/preview/2.0/dwgconversion.json index cec49312d4bb..ca5b9048a125 100644 --- a/specification/maps/data-plane/Creator/preview/2.0/dwgconversion.json +++ b/specification/maps/data-plane/Creator/preview/2.0/dwgconversion.json @@ -25,15 +25,21 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "AzureKey": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", + "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", "in": "header" } }, @@ -44,7 +50,10 @@ ] }, { - "AzureKey": [] + "SharedKey": [] + }, + { + "SasToken": [] } ], "responses": {}, @@ -80,6 +89,20 @@ "type": "string", "in": "query", "required": true, + "enum": [ + "facility-2.0" + ], + "x-ms-enum": { + "name": "OutputOntology", + "modelAsString": true, + "values": [ + { + "value": "facility-2.0", + "description": "Facility ontology defines how Azure Maps Creator internally stores facility data in a Creator dataset." + } + ] + }, + "x-ms-client-default": "facility-2.0", "x-ms-parameter-location": "method" }, "DescriptionDwgConversion": { @@ -165,7 +188,7 @@ "200": { "description": "List request completed successfully.", "schema": { - "$ref": "#/definitions/ConversionListResponse" + "$ref": "#/definitions/ConversionListResult" } }, "default": { @@ -198,7 +221,7 @@ "200": { "description": "Returns details of the specified conversion.", "schema": { - "$ref": "#/definitions/ConversionListDetailInfo" + "$ref": "#/definitions/Conversion" } }, "default": { @@ -267,7 +290,7 @@ } }, "definitions": { - "ConversionListResponse": { + "ConversionListResult": { "description": "The response model for the Conversion List API.", "type": "object", "properties": { @@ -276,7 +299,7 @@ "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/ConversionListDetailInfo" + "$ref": "#/definitions/Conversion" } }, "nextLink": { @@ -286,7 +309,7 @@ } } }, - "ConversionListDetailInfo": { + "Conversion": { "description": "Detail information for the conversion requests.", "type": "object", "properties": { @@ -315,6 +338,10 @@ }, "featureCounts": { "description": "A summary of feature counts in this conversion.", + "additionalProperties": { + "type": "integer", + "format": "int64" + }, "type": "object", "readOnly": true } diff --git a/specification/maps/data-plane/Creator/preview/2.0/examples/alias/Alias_GetDetails.json b/specification/maps/data-plane/Creator/preview/2.0/examples/alias/Alias_Get.json similarity index 100% rename from specification/maps/data-plane/Creator/preview/2.0/examples/alias/Alias_GetDetails.json rename to specification/maps/data-plane/Creator/preview/2.0/examples/alias/Alias_Get.json diff --git a/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_CreateStateset.json b/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_CreateStateset.json index 10cb4c1c3c01..80d3be39e2f1 100644 --- a/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_CreateStateset.json +++ b/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_CreateStateset.json @@ -4,7 +4,7 @@ "api-version": "2.0", "description": "Stateset for Azure Maps POC.", "datasetId": "5d34fbe8-87b7-f7c0-3144-c50e003a3c75", - "statesetCreateRequestBody": { + "styleRules": { "styles": [ { "keyName": "s1", diff --git a/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_GetStates.json b/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_ListStates.json similarity index 100% rename from specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_GetStates.json rename to specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_ListStates.json diff --git a/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_UpdateStates.json b/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_UpdateStates.json index ef821c9a0fbe..ee6316364a98 100644 --- a/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_UpdateStates.json +++ b/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_UpdateStates.json @@ -4,7 +4,7 @@ "api-version": "2.0", "statesetId": "b24bdb73-1305-3212-1909-a428d937b64", "featureId": "SPC4709", - "featureStateUpdateRequestBody": { + "featureStates": { "states": [ { "keyName": "s1", diff --git a/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_UpdateStateset.json b/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_UpdateStateset.json index 792430d33438..7bc6f55f1718 100644 --- a/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_UpdateStateset.json +++ b/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_UpdateStateset.json @@ -3,7 +3,7 @@ "geography": "us", "api-version": "2.0", "statesetId": "b24bdb73-1305-3212-1909-a428d937b64", - "statesetStyleUpdateRequestBody": { + "styleRules": { "styles": [ { "keyName": "s1", diff --git a/specification/maps/data-plane/Creator/preview/2.0/examples/wfs/WFS_GetConformance.json b/specification/maps/data-plane/Creator/preview/2.0/examples/wfs/WFS_ListConformance.json similarity index 100% rename from specification/maps/data-plane/Creator/preview/2.0/examples/wfs/WFS_GetConformance.json rename to specification/maps/data-plane/Creator/preview/2.0/examples/wfs/WFS_ListConformance.json diff --git a/specification/maps/data-plane/Creator/preview/2.0/featurestate.json b/specification/maps/data-plane/Creator/preview/2.0/featurestate.json index cc8fafcd0f60..96bbaf6ee5b6 100644 --- a/specification/maps/data-plane/Creator/preview/2.0/featurestate.json +++ b/specification/maps/data-plane/Creator/preview/2.0/featurestate.json @@ -25,15 +25,21 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "AzureKey": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", + "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", "in": "header" } }, @@ -44,7 +50,10 @@ ] }, { - "AzureKey": [] + "SharedKey": [] + }, + { + "SasToken": [] } ], "responses": {}, @@ -106,8 +115,9 @@ "required": true, "x-ms-parameter-location": "method" }, - "StateKeyNameDelete": { + "StateKeyName": { "name": "stateKeyName", + "x-ms-client-name": "keyName", "description": "The Name of the state to be deleted.", "type": "string", "in": "query", @@ -139,12 +149,12 @@ "$ref": "#/parameters/FeatureStateSetDescription" }, { - "name": "statesetCreateRequestBody", + "name": "styleRules", "in": "body", "description": "The stateset style JSON data.", "required": true, "schema": { - "$ref": "#/definitions/StylesObject" + "$ref": "#/definitions/StyleRules" } } ], @@ -152,7 +162,7 @@ "200": { "description": "Stateset created.", "schema": { - "$ref": "#/definitions/StatesetCreatedResponse" + "$ref": "#/definitions/StatesetCreatedResult" } }, "default": { @@ -162,7 +172,7 @@ }, "get": { "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n This API allows the caller to fetch a list of all previously successfully created statesets.", - "operationId": "FeatureState_ListStateset", + "operationId": "FeatureState_ListStatesets", "x-ms-examples": { "List all the previously created statesets": { "$ref": "./examples/featurestate/Featurestate_List.json" @@ -184,7 +194,7 @@ "200": { "description": "The list stateset request completed successfully. The response body contains a list of all the previously created statesets.", "schema": { - "$ref": "#/definitions/StatesetListResponse" + "$ref": "#/definitions/StatesetListResult" } }, "default": { @@ -196,7 +206,7 @@ "/featureStateSets/{statesetId}": { "put": { "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis PUT API allows the user to update the stateset style rules.", - "operationId": "FeatureState_PutStateset", + "operationId": "FeatureState_UpdateStateset", "x-ms-examples": { "Update stateset style rules with a statesetId": { "$ref": "./examples/featurestate/Featurestate_UpdateStateset.json" @@ -213,12 +223,12 @@ "$ref": "#/parameters/StatesetIdInPath" }, { - "name": "statesetStyleUpdateRequestBody", + "name": "styleRules", "in": "body", "description": "The stateset style JSON data. Only style rules are allowed to be updated, update on keyname and type is not allowed.", "required": true, "schema": { - "$ref": "#/definitions/StylesObject" + "$ref": "#/definitions/StyleRules" } } ], @@ -282,7 +292,7 @@ "200": { "description": "Get request completed successfully.", "schema": { - "$ref": "#/definitions/StatesetGetResponse" + "$ref": "#/definitions/Stateset" } }, "default": { @@ -314,7 +324,7 @@ "$ref": "#/parameters/FeatureIdSet" }, { - "name": "featureStateUpdateRequestBody", + "name": "featureStates", "in": "body", "description": "The feature state JSON data. A feature can have only one state at a given point in time. The specified state keyname must have been defined during the stateset creation.", "required": true, @@ -354,7 +364,7 @@ "$ref": "#/parameters/FeatureIdDelete" }, { - "$ref": "#/parameters/StateKeyNameDelete" + "$ref": "#/parameters/StateKeyName" } ], "responses": { @@ -367,11 +377,11 @@ } }, "get": { - "operationId": "FeatureState_GetStates", + "operationId": "FeatureState_ListStates", "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n This API returns the current state information associated with the given feature in the given stateset.", "x-ms-examples": { "Get the current states of a feature": { - "$ref": "./examples/featurestate/Featurestate_GetStates.json" + "$ref": "./examples/featurestate/Featurestate_ListStates.json" } }, "parameters": [ @@ -403,7 +413,7 @@ } }, "definitions": { - "StatesetGetResponse": { + "Stateset": { "description": "The response model for the successful Stateset Get API.", "type": "object", "properties": { @@ -420,11 +430,12 @@ } }, "statesetStyle": { - "$ref": "#/definitions/StylesObject" + "x-ms-client-name": "styleRules", + "$ref": "#/definitions/StyleRules" } } }, - "StatesetListResponse": { + "StatesetListResult": { "description": "The response model for the successful Stateset List API.", "type": "object", "properties": { @@ -432,7 +443,7 @@ "description": "A list of statesets information.", "type": "array", "items": { - "$ref": "#/definitions/StatesetInfoObject" + "$ref": "#/definitions/StatesetInfo" } }, "nextLink": { @@ -442,32 +453,23 @@ } } }, - "StatesetInfoObject": { + "StatesetInfo": { "description": "The stateset information detail.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Stateset" + } + ], "properties": { "statesetId": { "description": "The stateset ID of this stateset.", - "type": "string" - }, - "description": { - "description": "Description associated with the stateset.", "type": "string", "readOnly": true - }, - "datasetIds": { - "description": "Dataset ID associated with the stateset.", - "type": "array", - "items": { - "type": "string" - } - }, - "statesetStyle": { - "$ref": "#/definitions/StylesObject" } } }, - "StatesetCreatedResponse": { + "StatesetCreatedResult": { "description": "The response model for the successful Stateset Create API.", "type": "object", "properties": { @@ -486,12 +488,12 @@ "description": "The feature states array.", "type": "array", "items": { - "$ref": "#/definitions/FeatureStateObject" + "$ref": "#/definitions/FeatureState" } } } }, - "FeatureStateObject": { + "FeatureState": { "description": "Single feature state model.", "type": "object", "properties": { @@ -509,25 +511,26 @@ } } }, - "StylesObject": { + "StyleRules": { "description": "The styles model.", "type": "object", "properties": { "styles": { - "description": "An array of stateset styles. The style rule could be a numeric or string or a boolean type style rule. Refer to NumberRuleObject, StringRuleObject and BooleanRuleObject definitions [here](https://aka.ms/AzureMapsStatesetStylesObject). ", + "x-ms-client-name": "styleRules", + "description": "An array of stateset style rules. The style rule could be a numeric or string or a boolean type style rule. Refer to NumberRule, StringRule and BooleanRule definitions [here](https://aka.ms/AzureMapsStatesetStyles). ", "type": "array", "items": { - "$ref": "#/definitions/StyleObject" + "$ref": "#/definitions/StyleRule" } } } }, - "NumberRuleObject": { + "NumberRule": { "description": "The numeric rule. The color is selected from the first range it falls into.", "type": "object", "properties": { "range": { - "$ref": "#/definitions/RangeObject" + "$ref": "#/definitions/Range" }, "color": { "description": "The color when value is within the range. Color is a JSON string in a variety of permitted formats, HTML-style hex values, RGB (\"#ff0\", \"#ffff00\", \"rgb(255, 255, 0)\"), RGBA (\"rgba(255, 255, 0, 1)\"), HSL(\"hsl(100, 50%, 50%)\"), and HSLA(\"hsla(100, 50%, 50%, 1)\"). Predefined HTML colors names, like yellow and blue, are also permitted.", @@ -535,7 +538,7 @@ } } }, - "RangeObject": { + "Range": { "description": "The numeric value range for this style rule. If the value is in the range, all the conditions must hold true.", "type": "object", "properties": { @@ -557,7 +560,7 @@ } } }, - "BooleanRuleObject": { + "BooleanRule": { "description": "The boolean rule. The color is selected based on the logic value of the key.", "type": "object", "properties": { @@ -579,8 +582,8 @@ "type": "string" } }, - "StyleObject": { - "description": "The stateset style model. The style rule could be a numeric type style rule or a boolean type style rule. Refer to NumberRuleObject, StringRuleObject and BooleanRuleObject definitions [here](https://aka.ms/AzureMapsStatesetStylesObject). ", + "StyleRule": { + "description": "The stateset style model. The style rule could be a numeric type style rule or a boolean type style rule. Refer to NumberRule, StringRuleObject and BooleanRule definitions [here](https://aka.ms/AzureMapsStatesetStyles). ", "discriminator": "type", "type": "object", "required": [ @@ -601,36 +604,33 @@ "string" ], "x-ms-enum": { - "name": "StyleObjectType", + "name": "StyleRuleType", "modelAsString": true, "values": [ { "value": "boolean", - "description": "Boolean type of stateset style.", - "name": "BooleanTypeStyleRule" + "description": "Boolean type of stateset style." }, { "value": "number", - "description": "Number type of stateset style.", - "name": "NumberTypeStyleRule" + "description": "Number type of stateset style." }, { "value": "string", - "description": "String type of stateset style.", - "name": "StringTypeStyleRule" + "description": "String type of stateset style." } ] } } } }, - "BooleanTypeStyleRule": { + "BooleanStyleRule": { "description": "The boolean type style rule object.", "x-ms-discriminator-value": "boolean", "type": "object", "allOf": [ { - "$ref": "#/definitions/StyleObject" + "$ref": "#/definitions/StyleRule" } ], "properties": { @@ -638,7 +638,7 @@ "description": "Boolean style rules.", "type": "array", "items": { - "$ref": "#/definitions/BooleanRuleObject" + "$ref": "#/definitions/BooleanRule" } } }, @@ -646,13 +646,13 @@ "rules" ] }, - "NumberTypeStyleRule": { + "NumberStyleRule": { "description": "The numeric type style rule object.", "x-ms-discriminator-value": "number", "type": "object", "allOf": [ { - "$ref": "#/definitions/StyleObject" + "$ref": "#/definitions/StyleRule" } ], "properties": { @@ -660,7 +660,7 @@ "description": "Numeric style rules.", "type": "array", "items": { - "$ref": "#/definitions/NumberRuleObject" + "$ref": "#/definitions/NumberRule" } } }, @@ -668,13 +668,13 @@ "rules" ] }, - "StringTypeStyleRule": { + "StringStyleRule": { "description": "The string type style rule object.", "x-ms-discriminator-value": "string", "type": "object", "allOf": [ { - "$ref": "#/definitions/StyleObject" + "$ref": "#/definitions/StyleRule" } ], "properties": { diff --git a/specification/maps/data-plane/Creator/preview/2.0/tileset.json b/specification/maps/data-plane/Creator/preview/2.0/tileset.json index a6d5d1fdb6d4..fa2e258968a6 100644 --- a/specification/maps/data-plane/Creator/preview/2.0/tileset.json +++ b/specification/maps/data-plane/Creator/preview/2.0/tileset.json @@ -25,15 +25,21 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "AzureKey": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", + "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", "in": "header" } }, @@ -44,7 +50,10 @@ ] }, { - "AzureKey": [] + "SharedKey": [] + }, + { + "SasToken": [] } ], "responses": {}, @@ -154,7 +163,7 @@ "200": { "description": "List tileset request completed successfully. The response body contains a list of all tilesets.", "schema": { - "$ref": "#/definitions/TilesetListResponse" + "$ref": "#/definitions/TilesetListResult" } }, "default": { @@ -187,7 +196,7 @@ "200": { "description": "List tileset request completed successfully. The response body contains a list of all tilesets.", "schema": { - "$ref": "#/definitions/TilesetDetailInfo" + "$ref": "#/definitions/Tileset" } }, "default": { @@ -256,7 +265,7 @@ } }, "definitions": { - "TilesetListResponse": { + "TilesetListResult": { "description": "The response model for the Tileset List API. Returns a list of all tilesets.", "type": "object", "properties": { @@ -265,7 +274,7 @@ "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/TilesetDetailInfo" + "$ref": "#/definitions/Tileset" } }, "nextLink": { @@ -275,7 +284,7 @@ } } }, - "TilesetDetailInfo": { + "Tileset": { "description": "Detail information for the data.", "type": "object", "properties": { @@ -309,11 +318,7 @@ }, "bbox": { "description": "Bounding box which all features of the tileset lay within. Projection used - EPSG:3857. Format : 'minLon, minLat, maxLon, maxLat'.", - "type": "array", - "readOnly": true, - "items": { - "type": "number" - } + "$ref": "../../../Common/preview/1.0/common.json#/definitions/BoundingBox" } } } diff --git a/specification/maps/data-plane/Creator/preview/2.0/wfs.json b/specification/maps/data-plane/Creator/preview/2.0/wfs.json index 7759489089de..b944c8c21255 100644 --- a/specification/maps/data-plane/Creator/preview/2.0/wfs.json +++ b/specification/maps/data-plane/Creator/preview/2.0/wfs.json @@ -25,15 +25,21 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "AzureKey": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", + "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", "in": "header" } }, @@ -44,7 +50,10 @@ ] }, { - "AzureKey": [] + "SharedKey": [] + }, + { + "SasToken": [] } ], "responses": {}, @@ -76,8 +85,14 @@ }, "Bbox": { "name": "bbox", + "x-ms-client-name": "boundingBox", "in": "query", - "type": "string", + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "number", + "format": "double" + }, "description": "Only features that have a geometry that intersects the supplied bounding box are selected.\n* Lower left corner, coordinate axis 1 * Lower left corner, coordinate axis 2 * Upper right corner, coordinate axis 1 * Upper right corner, coordinate axis 2\nThe coordinate reference system of the values is WGS84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate reference system is specified in the parameter `bbox-crs`.\nFor WGS84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge).", "x-ms-parameter-location": "method" }, @@ -123,7 +138,7 @@ "200": { "description": "Ok", "schema": { - "$ref": "#/definitions/LandingPageResponse" + "$ref": "#/definitions/LandingPageResult" } }, "default": { @@ -135,10 +150,10 @@ "/wfs/datasets/{datasetId}/conformance": { "get": { "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThe Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v2/dataset/create). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Get Requirements Classes lists all requirements classes specified in the standard that the server conforms to.", - "operationId": "WFS_GetConformance", + "operationId": "WFS_ListConformance", "x-ms-examples": { "GetConformance": { - "$ref": "./examples/wfs/WFS_GetConformance.json" + "$ref": "./examples/wfs/WFS_ListConformance.json" } }, "parameters": [ @@ -156,7 +171,7 @@ "200": { "description": "Ok", "schema": { - "$ref": "#/definitions/ConformanceResponse" + "$ref": "#/definitions/ConformanceResult" } }, "default": { @@ -225,7 +240,7 @@ "200": { "description": "Ok", "schema": { - "$ref": "#/definitions/CollectionInfo" + "$ref": "#/definitions/Collection" } }, "default": { @@ -261,7 +276,7 @@ "200": { "description": "Ok", "schema": { - "$ref": "#/definitions/CollectionDefinitionResponse" + "$ref": "#/definitions/CollectionDefinition" } }, "default": { @@ -342,7 +357,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/FeatureResponse" + "$ref": "#/definitions/FeatureResult" } }, "default": { @@ -384,7 +399,7 @@ } }, "definitions": { - "LandingPageResponse": { + "LandingPageResult": { "type": "object", "required": [ "links" @@ -397,12 +412,12 @@ "description": "Links to other WFS endpoints.", "type": "array", "items": { - "$ref": "#/definitions/WfsEndpointLink" + "$ref": "#/definitions/WFSEndpointLink" } } } }, - "ConformanceResponse": { + "ConformanceResult": { "type": "object", "required": [ "conformsTo" @@ -423,7 +438,7 @@ } } }, - "WfsEndpointLink": { + "WFSEndpointLink": { "description": "Links to other WFS endpoints", "type": "object", "required": [ @@ -445,6 +460,7 @@ "example": "application/geo+json" }, "hreflang": { + "x-ms-client-name": "hrefLang", "description": "A hint indicating what the language of the result of dereferencing the link should be.", "type": "string", "example": "en" @@ -469,7 +485,7 @@ "description": "Links to other WFS endpoints.", "type": "array", "items": { - "$ref": "#/definitions/WfsEndpointLink" + "$ref": "#/definitions/WFSEndpointLink" }, "example": [ { @@ -496,12 +512,12 @@ "description": "All the collections in a given dataset.", "type": "array", "items": { - "$ref": "#/definitions/CollectionInfo" + "$ref": "#/definitions/Collection" } } } }, - "CollectionInfo": { + "Collection": { "type": "object", "required": [ "name", @@ -530,7 +546,7 @@ "description": "Links to other WFS endpoints.", "type": "array", "items": { - "$ref": "#/definitions/WfsEndpointLink" + "$ref": "#/definitions/WFSEndpointLink" }, "example": [ { @@ -549,7 +565,7 @@ } } }, - "CollectionDefinitionResponse": { + "CollectionDefinition": { "description": "collection of GeoJSON features", "type": "object", "required": [ @@ -643,23 +659,22 @@ } }, "properties": { - "x-ms-client-flatten": true, "description": "attributes of the collection used", "type": "array", "items": { - "$ref": "#/definitions/DefinitionProperties" + "$ref": "#/definitions/DefinitionProperty" } }, "links": { "description": "Links to other WFS endpoints.", "type": "array", "items": { - "$ref": "#/definitions/WfsEndpointLink" + "$ref": "#/definitions/WFSEndpointLink" } } } }, - "DefinitionProperties": { + "DefinitionProperty": { "type": "object", "required": [ "name", @@ -684,16 +699,34 @@ }, "ExtendedGeoJsonFeatureCollection": { "description": "A valid `GeoJSON FeatureCollection` object type extended with numberReturned and links array. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.3) for details.", - "x-ms-discriminator-value": "FeatureCollection", "type": "object", "allOf": [ { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/GeoJsonFeatureCollection" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/GeoJsonFeatureCollectionData" }, { "$ref": "#/definitions/ExtendedGeoJsonFeatureCollectionData" } - ] + ], + "properties": { + "type": { + "description": "Specifies the `GeoJSON` type: FeatureCollection.", + "type": "string", + "enum": [ + "FeatureCollection" + ], + "x-ms-enum": { + "name": "GeoJsonObjectType", + "modelAsString": false, + "values": [ + { + "value": "FeatureCollection", + "description": "`GeoJSON FeatureCollection` object." + } + ] + } + } + } }, "ExtendedGeoJsonFeatureCollectionData": { "type": "object", @@ -709,12 +742,12 @@ "description": "Links to other WFS endpoints.", "type": "array", "items": { - "$ref": "#/definitions/WfsEndpointLink" + "$ref": "#/definitions/WFSEndpointLink" } } } }, - "FeatureResponse": { + "FeatureResult": { "type": "object", "required": [ "feature" @@ -730,7 +763,7 @@ "description": "Links to other WFS endpoints.", "type": "array", "items": { - "$ref": "#/definitions/WfsEndpointLink" + "$ref": "#/definitions/WFSEndpointLink" } } } diff --git a/specification/maps/data-plane/Creator/readme.python.md b/specification/maps/data-plane/Creator/readme.python.md index e21d59809285..4d120e214bb5 100644 --- a/specification/maps/data-plane/Creator/readme.python.md +++ b/specification/maps/data-plane/Creator/readme.python.md @@ -14,9 +14,9 @@ clear-output-folder: true ``` ``` yaml $(python) && $(python-mode) == 'update' no-namespace-folders: true -output-folder: $(python-sdks-folder)/maps/azure-maps-creator/azure/maps/creator +output-folder: $(python-sdks-folder)/maps/azure-maps-creator/azure/maps/creator/_generated ``` ``` yaml $(python) && $(python-mode) == 'create' basic-setup-py: true -output-folder: $(python-sdks-folder)/maps/azure-maps-creator +output-folder: $(python-sdks-folder)/maps/azure-maps-creator/ ``` diff --git a/specification/maps/data-plane/DEM/preview/1.0/elevation.json b/specification/maps/data-plane/DEM/preview/1.0/elevation.json index 34562e06e61c..4186af0ed6f3 100644 --- a/specification/maps/data-plane/DEM/preview/1.0/elevation.json +++ b/specification/maps/data-plane/DEM/preview/1.0/elevation.json @@ -18,15 +18,21 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "AzureKey": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", + "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", "in": "header" } }, @@ -37,7 +43,10 @@ ] }, { - "AzureKey": [] + "SharedKey": [] + }, + { + "SasToken": [] } ], "responses": {}, @@ -56,10 +65,10 @@ "/elevation/point/{format}": { "get": { "summary": "Get Elevation Data on One or More Points", - "description": "**Applies to**: S1 pricing tier.\n\nThe Get Data for Points API provides elevation data for one or more points. A point is defined in lat,long coordinate format.\n\n Due to the URL character length limit of 2048, it's not possible to pass more than 100 coordinates as a pipeline delimited string in a URL GET request. If you intend to pass more than 100 coordinates as a pipeline delimited string, use the [POST Data\n For Points](https://docs.microsoft.com/en-us/rest/api/maps/elevation/postdataforpoints).", - "operationId": "GetDataForPoints", + "description": "**Applies to**: S1 pricing tier.\n\n The Get Data for Points API provides elevation data for one or more points. A point is defined in lat,long coordinate format.\n\n Due to the URL character length limit of 2048, it's not possible to pass more than 100 coordinates as a pipeline delimited string in a URL GET request. If you intend to pass more than 100 coordinates as a pipeline delimited string, use the [POST Data\n For Points](https://docs.microsoft.com/rest/api/maps/elevation/postdataforpoints).\n\n The result will be in the same sequence of points listed in the request.", + "operationId": "Elevation_GetDataForPoints", "x-ms-examples": { - "GetDataForPoints": { + "Successfully retrieve elevation data for one or more points using get": { "$ref": "./examples/GetDataForPoints.json" } }, @@ -91,7 +100,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/PointsResult" + "$ref": "#/definitions/ElevationResult" } }, "default": { @@ -101,10 +110,10 @@ }, "post": { "summary": "Query Elevation Data for Multiple Points", - "description": "**Applies to**: S1 pricing tier.\n\nThe Post Data for Points API provides elevation data for multiple points. A point is defined lon/lat coordinate format. Use the POST endpoint only if you intend to pass multiple points in the request. If you intend to pass a single coordinate into the API, use the [GET Data For Points API](https://docs.microsoft.com/en-us/rest/api/maps/elevation/getdataforpoints).", - "operationId": "PostDataForPoints", + "description": "**Applies to**: S1 pricing tier.\n\n The Post Data for Points API provides elevation data for multiple points. A point is defined lon/lat coordinate format.\n\n Use the POST endpoint only if you intend to pass multiple points in the request. If you intend to pass a single coordinate into the API, use the [GET Data For Points API](https://docs.microsoft.com/rest/api/maps/elevation/getdataforpoints).\n\n The result will be in the same sequence of points listed in the request.", + "operationId": "Elevation_PostDataForPoints", "x-ms-examples": { - "PostDataForPoints": { + "Successfully retrieve elevation data for multiple points using post": { "$ref": "./examples/PostDataForPoints.json" } }, @@ -119,7 +128,7 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat" }, { - "name": "pointsRequestBody", + "name": "points", "in": "body", "description": "The string representation of a list of points. A point is defined in lon/lat WGS84 coordinate reference system format. Each points in a list should be separated by the pipe ('|') character. The number of points that can be requested in a POST request ranges from 2 to 2,000. The resolution of the elevation data will be the highest for a single point and will decrease if multiple points are spread further apart. ", "required": true, @@ -132,7 +141,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/PointsResult" + "$ref": "#/definitions/ElevationResult" } }, "default": { @@ -144,10 +153,10 @@ "/elevation/line/{format}": { "get": { "summary": "Get Elevation Data Along a Polyline", - "description": "**Applies to**: S1 pricing tier.\n\nThe Get Data for Polyline API provides elevation data along a polyline.\n\n A polyline is defined by passing in between 2 and N endpoint coordinates separated by a pipe ('|') character. In addition to passing in endpoints, customers can specify the number of sample points that will be used to divide polyline into equally spaced segments. Elevation data at both start and endpoints and equally spaced points along the polyline will be returned.\n\n A line between two endpoints is a straight Cartesian line, the shortest line between those two points in the coordinate reference system. Note that the point is chosen based on Euclidean distance and may markedly differ from the geodesic path along the curved surface of the reference ellipsoid.", - "operationId": "GetDataForPolyline", + "description": "**Applies to**: S1 pricing tier.\n\n The Get Data for Polyline API provides elevation data along a polyline.\n\n A polyline is defined by passing in between 2 and N endpoint coordinates separated by a pipe ('|') character. In addition to passing in endpoints, customers can specify the number of sample points that will be used to divide polyline into equally spaced segments.\n\n Elevation data at both start and endpoints, as well as equally spaced points along the polyline will be returned. The results will be listed in the direction from the first endpoint towards the last endpoint. A line between two endpoints is a straight Cartesian line, the shortest line between those two points in the coordinate reference system. Note that the point is chosen based on Euclidean distance and may markedly differ from the geodesic path along the curved surface of the reference ellipsoid.", + "operationId": "Elevation_GetDataForPolyline", "x-ms-examples": { - "GetDataForPolyLine": { + "Successfully retrieve elevation data along a polyline using get": { "$ref": "./examples/GetDataForPolyline.json" } }, @@ -187,7 +196,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/LinesResult" + "$ref": "#/definitions/ElevationResult" } }, "default": { @@ -197,10 +206,10 @@ }, "post": { "summary": "Query Elevation Data Along a Polyline", - "description": "**Applies to**: S1 pricing tier.\n\n The Post Data for Polyline API provides elevation data along a polyline. A polyline is defined by passing in between 2 and N endpoint coordinates separated by a pipe ('|') character. In addition to passing in endpoints, customers can specify the number of sample points that will be used to divide polyline into equally spaced segments.\n\n Elevation data at both start and end points and equally spaced points along the polyline will be returned. A line between two endpoints is a straight Cartesian line, the shortest line between those two points in the coordinate reference system. Note that the point is chosen based on Euclidean distance and may markedly differ from the geodesic path along the curved surface of the reference ellipsoid.", - "operationId": "PostDataForPolyline", + "description": "**Applies to**: S1 pricing tier.\n\n The Post Data for Polyline API provides elevation data along a polyline.\n\n A polyline is defined by passing in between 2 and N endpoint coordinates separated by a pipe ('|') character. In addition to passing in endpoints, customers can specify the number of sample points that will be used to divide polyline into equally spaced segments.\n\n Elevation data at both start and end points, as well as equally spaced points along the polyline will be returned. The results will be listed in the direction from the first endpoint towards the last endpoint. A line between two endpoints is a straight Cartesian line, the shortest line between those two points in the coordinate reference system. Note that the point is chosen based on Euclidean distance and may markedly differ from the geodesic path along the curved surface of the reference ellipsoid.", + "operationId": "Elevation_PostDataForPolyline", "x-ms-examples": { - "PostDataForPolyLine": { + "Successfully retrieve elevation data along a polyline using post": { "$ref": "./examples/PostDataForPolyline.json" } }, @@ -215,7 +224,7 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat" }, { - "name": "linesRequestBody", + "name": "polyline", "in": "body", "description": "The string representation of a polyline path. A polyline is defined by endpoint coordinates, with each endpoint separated by a pipe ('|') character. The polyline should be defined in the following format: `[longitude_point1, latitude_point1 | longitude_point2, latitude_point2, ..., longitude_pointN, latitude_pointN]`. The longitude and latitude values refer to the World Geodetic System (WGS84) coordinate reference system. The resolution of the data used to compute the elevation will depend on the distance between the endpoints.", "required": true, @@ -236,7 +245,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/LinesResult" + "$ref": "#/definitions/ElevationResult" } }, "default": { @@ -249,9 +258,9 @@ "get": { "summary": "Get Elevation Data at Equally Spaced Locations Within a Bounding Box", "description": "**Applies to**: S1 pricing tier.\n\nThe Get Data for Bounding Box API provides elevation data at equally spaced locations within a bounding box. A bounding box is defined by the coordinates for two corners (southwest, northeast) and then subsequently divided into rows and columns.\n\n Elevations are returned for the vertices of the grid created by the rows and columns. Up to 2,000 elevations can be returned in a single request. The returned elevation values are ordered, starting at the southwest corner, and then proceeding west to east along the row. At the end of the row, it moves north to the next row, and repeats the process until it reaches the far northeast corner.", - "operationId": "GetDataForBoundingBox", + "operationId": "Elevation_GetDataForBoundingBox", "x-ms-examples": { - "GetDataForBoundingBox": { + "Successfully retrieve elevation data within a bounding box": { "$ref": "./examples/GetDataForBoundingBox.json" } }, @@ -271,14 +280,18 @@ "description": "The string that represents the rectangular area of a bounding box. The bounds parameter is defined by the 4 bounding box coordinates, with WGS84 longitude and latitude of the southwest corner followed by WGS84 longitude and latitude of the northeast corner. The string is presented in the following format: `[SouthwestCorner_Longitude, SouthwestCorner_Latitude, NortheastCorner_Longitude, NortheastCorner_Latitude]`.", "required": true, "type": "array", + "collectionFormat": "csv", + "minItems": 4, + "maxItems": 4, "items": { - "type": "string" + "type": "number", + "format": "float" } }, { "name": "rows", "in": "query", - "description": "Specifies the number of rows to use to divide the bounding box area into a grid. The number of vertices in the grid should be less than 2,000. ", + "description": "Specifies the number of rows to use to divide the bounding box area into a grid. The number of vertices (rows x columns) in the grid should be less than 2,000. ", "type": "integer", "minimum": 2, "maximum": 1000, @@ -287,7 +300,7 @@ { "name": "columns", "in": "query", - "description": "Specifies the number of columns to use to divide the bounding box area into a grid. The number of vertices in the grid should be less than 2,000. ", + "description": "Specifies the number of columns to use to divide the bounding box area into a grid. The number of vertices (rows x columns) in the grid should be less than 2,000. ", "type": "integer", "minimum": 2, "maximum": 1000, @@ -298,7 +311,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/BoundingBoxResult" + "$ref": "#/definitions/ElevationResult" } }, "default": { @@ -309,20 +322,20 @@ } }, "definitions": { - "ElevationPointResponse": { + "ElevationArray": { "description": "The response for point/points elevation API. The result will be in same sequence of points listed in request.", "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/PointElevationResult" + "$ref": "#/definitions/Elevation" } }, - "PointElevationResult": { + "Elevation": { "type": "object", "description": "The elevation data.", "properties": { "coordinate": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPair" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPair" }, "elevationInMeter": { "description": "The elevation value in meters.", @@ -331,46 +344,13 @@ } } }, - "ElevationLineResponse": { - "description": "The response from the Get Data for Polyline API. The results will be listed in the direction from the first endpoint towards the last endpoint.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/PointElevationResult" - } - }, - "ElevationLatticeResponse": { - "description": "The response from the Get Data for Bounding Box API. The results are ordered starting with the southwest corner, and then proceed west to east and south to north.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/PointElevationResult" - } - }, - "PointsResult": { - "type": "object", - "description": "The response from a successful Elevation Points request.", - "properties": { - "data": { - "$ref": "#/definitions/ElevationPointResponse" - } - } - }, - "LinesResult": { - "type": "object", - "description": "The response from a successful Elevation Polyline request.", - "properties": { - "data": { - "$ref": "#/definitions/ElevationLineResponse" - } - } - }, - "BoundingBoxResult": { + "ElevationResult": { "type": "object", "description": "The response from a successful Get Data for Bounding Box API.", "properties": { "data": { - "$ref": "#/definitions/ElevationLatticeResponse" + "x-ms-client-name": "elevations", + "$ref": "#/definitions/ElevationArray" } } }, @@ -378,14 +358,14 @@ "type": "array", "description": "The post elevation points array request body. The length of the array ranges from 2 to 2000.", "items": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPairAbbreviated" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated" } }, "LinesInRequestBody": { "type": "array", "description": "The post elevation lines request body.", "items": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPairAbbreviated" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated" } } } diff --git a/specification/maps/data-plane/DEM/preview/1.0/examples/PostDataForPoints.json b/specification/maps/data-plane/DEM/preview/1.0/examples/PostDataForPoints.json index 61ab92e429b1..f5cca15a81ae 100644 --- a/specification/maps/data-plane/DEM/preview/1.0/examples/PostDataForPoints.json +++ b/specification/maps/data-plane/DEM/preview/1.0/examples/PostDataForPoints.json @@ -2,7 +2,7 @@ "parameters": { "format": "json", "api-version": "1.0", - "pointsRequestBody": [ + "points": [ { "lon": -121.66853362143818, "lat": 46.84646479863713 diff --git a/specification/maps/data-plane/DEM/preview/1.0/examples/PostDataForPolyline.json b/specification/maps/data-plane/DEM/preview/1.0/examples/PostDataForPolyline.json index e1de6f13cbc5..b1be86350322 100644 --- a/specification/maps/data-plane/DEM/preview/1.0/examples/PostDataForPolyline.json +++ b/specification/maps/data-plane/DEM/preview/1.0/examples/PostDataForPolyline.json @@ -2,7 +2,7 @@ "parameters": { "format": "json", "api-version": "1.0", - "linesRequestBody": [ + "polyline": [ { "lon": -121.66853362143818, "lat": 46.84646479863713 diff --git a/specification/maps/data-plane/DEM/readme.python.md b/specification/maps/data-plane/DEM/readme.python.md index a4de636f8430..7300ff1f047f 100644 --- a/specification/maps/data-plane/DEM/readme.python.md +++ b/specification/maps/data-plane/DEM/readme.python.md @@ -14,9 +14,9 @@ clear-output-folder: true ``` ``` yaml $(python) && $(python-mode) == 'update' no-namespace-folders: true -output-folder: $(python-sdks-folder)/maps/azure-maps-elevation/azure/maps/elevation +output-folder: $(python-sdks-folder)/maps/azure-maps-elevation/azure/maps/elevation/_generated ``` ``` yaml $(python) && $(python-mode) == 'create' basic-setup-py: true -output-folder: $(python-sdks-folder)/maps/azure-maps-elevation +output-folder: $(python-sdks-folder)/maps/azure-maps-elevation/ ``` diff --git a/specification/maps/data-plane/Geolocation/preview/1.0/geolocation.json b/specification/maps/data-plane/Geolocation/preview/1.0/geolocation.json index 80075541a4dc..13fdf8aba99f 100644 --- a/specification/maps/data-plane/Geolocation/preview/1.0/geolocation.json +++ b/specification/maps/data-plane/Geolocation/preview/1.0/geolocation.json @@ -18,15 +18,21 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "AzureKey": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", + "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", "in": "header" } }, @@ -37,7 +43,10 @@ ] }, { - "AzureKey": [] + "SharedKey": [] + }, + { + "SasToken": [] } ], "responses": {}, @@ -55,8 +64,9 @@ "paths": { "/geolocation/ip/{format}": { "get": { - "description": "\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis service will return the ISO country code for the provided IP address. Developers can use this information to block or alter certain content based on geographical locations where the application is being viewed from. \n\n\n__Note:__ This service returns results from IANA and does not necessarily reflect the views of Microsoft Corporation.", - "operationId": "GetLocation", + "description": "\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis service will return the ISO country code for the provided IP address. Developers can use this information to block or alter certain content based on geographical locations where the application is being viewed from.", + "operationId": "Geolocation_GetIPToLocation", + "x-ms-client-name": "GetLocation", "x-ms-examples": { "Successfully retrieve country code from IP address": { "$ref": "./examples/SuccessfulGetCountryCodeFromIP.json" @@ -117,7 +127,7 @@ "readOnly": true, "properties": { "isoCode": { - "description": "The IP Address's 2-character code [(ISO 3166-1)](https://www.iso.org/iso-3166-country-codes.html) of the country or region as assigned by IANA and regional internet authorities. Please note, IP address in ranges reserved for special purpose will return Null for country/region.", + "description": "The IP Address's 2-character code [(ISO 3166-1)](https://www.iso.org/iso-3166-country-codes.html) of the country or region. Please note, IP address in ranges reserved for special purpose will return Null for country/region.", "type": "string", "readOnly": true } diff --git a/specification/maps/data-plane/Geolocation/readme.python.md b/specification/maps/data-plane/Geolocation/readme.python.md index 52c2c17b7339..e36a62d9ec23 100644 --- a/specification/maps/data-plane/Geolocation/readme.python.md +++ b/specification/maps/data-plane/Geolocation/readme.python.md @@ -14,9 +14,9 @@ clear-output-folder: true ``` ``` yaml $(python) && $(python-mode) == 'update' no-namespace-folders: true -output-folder: $(python-sdks-folder)/maps/azure-maps-geolocation/azure/maps/geolocation +output-folder: $(python-sdks-folder)/maps/azure-maps-geolocation/azure/maps/geolocation/_generated ``` ``` yaml $(python) && $(python-mode) == 'create' basic-setup-py: true -output-folder: $(python-sdks-folder)/maps/azure-maps-geolocation +output-folder: $(python-sdks-folder)/maps/azure-maps-geolocation/ ``` diff --git a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/alias.json b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/alias.json deleted file mode 100644 index 4dcb41ce7393..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/alias.json +++ /dev/null @@ -1,450 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Azure Maps Alias Service", - "version": "1.0", - "description": "APIs for managing aliases in Azure Maps." - }, - "x-ms-parameterized-host": { - "hostTemplate": "{geography}.atlas.microsoft.com", - "parameters": [ - { - "$ref": "#/parameters/GeographicResourceLocation" - } - ] - }, - "schemes": [ - "https" - ], - "consumes": [], - "produces": [ - "application/json", - "application/xml" - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", - "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." - } - }, - "apiKeyQuery": { - "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", - "name": "subscription-key", - "in": "query" - } - }, - "security": [ - { - "azure_auth": [] - }, - { - "apiKeyQuery": [] - } - ], - "responses": { - "202": { - "description": "Request Accepted: The request has been accepted for processing. Please use the URL in the Location Header to retry or access the results.", - "headers": { - "Location": { - "type": "string", - "description": "New URL to check for the results of the long running process." - } - } - }, - "400": { - "description": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "401": { - "description": "Access denied due to invalid subscription key or invalid Azure Active Directory (Azure AD) bearer token. Make sure to provide a valid key for an active Azure subscription and Maps resource. Otherwise, verify the [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header for error code and description of the provided Azure AD bearer token.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - }, - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Bearer realm=\"https://atlas.microsoft.com/\", error=\"invalid_token\", error_description=\"The access token expired\"" - } - } - }, - "403": { - "description": "Permission, capacity, or authentication issues.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "404": { - "description": "Not Found: the requested resource could not be found, but it may be available again in the future.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "500": { - "description": "An error occurred while processing the request. Please try again later.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - } - }, - "parameters": { - "GeographicResourceLocation": { - "name": "geography", - "description": "This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu.", - "in": "path", - "required": true, - "type": "string", - "default": "us", - "enum": [ - "us", - "eu" - ], - "x-ms-enum": { - "name": "GeographicResourceLocation", - "modelAsString": true, - "values": [ - { - "value": "us", - "description": "Used to access an Azure Maps Creator resource in the United States" - }, - { - "value": "eu", - "description": "Used to access an Azure Maps Creator resource in Europe" - } - ] - }, - "x-ms-parameter-location": "client" - }, - "SubscriptionKey": { - "name": "subscription-key", - "description": "One of the Azure Maps keys provided from an Azure Map Account. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication) for details on how to manage authentication.", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "client" - }, - "ApiVersion": { - "name": "api-version", - "description": "Version number of Azure Maps API. Current version is 1.0", - "type": "string", - "in": "query", - "required": true, - "default": "1.0", - "x-ms-parameter-location": "client" - }, - "CreateResourceId": { - "name": "resourceId", - "description": "The unique id that references a resource to be aliased.", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "AssignResourceId": { - "name": "resourceId", - "description": "The unique id that references a resource to be aliased.", - "type": "string", - "in": "query", - "required": true, - "x-ms-parameter-location": "method" - }, - "AliasId": { - "name": "aliasId", - "description": "The unique id that references an existing alias.", - "type": "string", - "in": "path", - "required": true, - "x-ms-parameter-location": "method" - } - }, - "paths": { - "/alias": { - "post": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Alias - Create API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nThis API allows the caller to create an alias.
\nYou can also assign the alias during the create request as well.\n\n\n### Submit Create Request\n\nTo create your alias, you will use a `POST` request. If you would like to assign the alias during the creation, you will pass the `resourceId` query parameter.
\n\n\n### Create Alias Response\n\nThe Create API returns a HTTP `201 Created` response the id of the alias, `aliasId`, in the body.\nThe response will look something like:\n\n```json\n{\n \"aliasId\" : \"d7e5efc8-2239-4387-a286-5bb51aa804e3\"\n}\n```\n\n
", - "operationId": "Alias_CreatePreview", - "x-ms-examples": { - "Create an alias that does not reference any resource": { - "$ref": "./examples/Alias_Create.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "201": { - "description": "Content created successfully. The response body contains the newly created alias id `aliasId`.", - "schema": { - "$ref": "#/definitions/AliasCreateResponse" - }, - "headers": { - "Access-Control-Expose-Headers": { - "type": "string", - "description": "The list of response headers that can be read by the client." - } - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - }, - "get": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Alias - List API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nThis API allows the caller to fetch a list of all previously successfully created aliases.\n\n\n### Submit List Request\n\nTo list all your aliases, you will issue a `GET` request with no additional parameters.
\n\n\n### List Data Response\n\nThe List API returns the complete list of all aliases in `json` format. The response contains the following details for each alias resource:\n\n > createdTimestamp - The timestamp that the alias was created.\n > aliasId - The id for the alias.\n > resourceId - The id for the resource that this alias references (could be null if the alias has not been assigned).\n > lastUpdatedTimestamp - The last time the alias was assigned to a resource.\n\n\nHere's a sample response returning 2 alias resources: \n\n
\n\n```json\n{\n \"aliases\": [\n {\n \"createdTimestamp\": \"2020-02-13T21:19:11+00:00\",\n \"aliasId\": \"a8a4b8bb-ecf4-fb27-a618-f41721552766\",\n \"resourceId\": \"e89aebb9-70a3-8fe1-32bb-1fbd0c725f14\",\n \"lastUpdatedTimestamp\": \"2020-02-13T21:19:22+00:00\"\n },\n {\n \"createdTimestamp\": \"2020-02-18T19:53:33+00:00\",\n \"aliasId\": \"1856dbfc-7a66-ee5a-bf8d-51dbfe1906f6\",\n \"resourceId\": null,\n \"lastUpdatedTimestamp\": \"2020-02-18T19:53:33+00:00\"\n }\n ]\n}\n```\n\n
", - "operationId": "Alias_ListPreview", - "x-ms-examples": { - "List all the previously created aliases": { - "$ref": "./examples/Alias_List.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "List alias request completed successfully. The response body contains a list of all the previously created aliases.", - "schema": { - "$ref": "#/definitions/AliasListResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/alias/assign/{aliasId}": { - "patch": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Alias - Assign API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nThis API allows the caller to assign an alias to reference a resource.
\n\n\n### Submit Assign Request\n\nTo assign your alias to a resource, you will use a `PATCH` request with the `aliasId` in the path and the `resourceId` passed as a query parameter.
\n\n\n### Create Alias Response\n\nThe Assign API returns a HTTP `204 No Content` response with an empty body, if the alias was assigned successfully.
", - "operationId": "Alias_AssignPreview", - "x-ms-examples": { - "Assign an alias to a resource": { - "$ref": "./examples/Alias_Assign.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/AliasId" - }, - { - "$ref": "#/parameters/AssignResourceId" - } - ], - "responses": { - "204": { - "description": "Alias was assigned successfully.", - "schema": { - "$ref": "#/definitions/AliasAssignResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/alias/{aliasId}": { - "delete": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Alias - Delete API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nThis API allows the caller to delete a previously created alias.
\nYou can also use this API to delete old/unused aliases to create space for new content.\nThis API does not delete the references resource, only the alias referencing the resource.\n\n\n### Submit Delete Request\n\nTo delete your alias you will issue a `DELETE` request where the path will contain the `aliasId` of the alias to delete.
\n\n\n### Delete Alias Response\n\nThe Delete API returns a HTTP `204 No Content` response with an empty body, if the alias was deleted successfully.
\nA HTTP `400 Bad Request` error response will be returned if the alias with the passed-in `aliasId` is not found. ", - "operationId": "Alias_DeletePreview", - "x-ms-examples": { - "Delete previously created alias": { - "$ref": "./examples/Alias_Delete.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/AliasId" - } - ], - "responses": { - "204": { - "description": "Alias delete request completed successfully. The content for `aliasId` was deleted on the server.", - "schema": { - "$ref": "#/definitions/AliasDeleteResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - } - }, - "definitions": { - "ODataErrorResponse": { - "type": "object", - "description": "This response object is returned when an error occurs in the Azure Maps API.", - "properties": { - "error": { - "$ref": "#/definitions/ODataError" - } - } - }, - "ODataError": { - "type": "object", - "description": "This object is returned when an error occurs in the Azure Maps API.", - "properties": { - "code": { - "type": "string", - "readOnly": true, - "description": "The ODataError code." - }, - "message": { - "type": "string", - "readOnly": true, - "description": "If available, a human-readable description of the error." - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/ODataError" - } - }, - "target": { - "type": "string", - "readOnly": true, - "description": "If available, the target causing the error." - } - } - }, - "AliasCreateResponse": { - "description": "The response model for the Alias Create API for the case when the alias was successfully created.", - "type": "object", - "properties": { - "aliasId": { - "description": "An alias id `aliasId` for the created alias.", - "type": "string", - "readOnly": true - } - } - }, - "AliasAssignResponse": { - "description": "The response model for the Assign API. The response body will be empty signifying the assign was successful.", - "type": "object" - }, - "AliasDeleteResponse": { - "description": "The response model for the Delete API. The response body will be empty signifying there's alias available with the given `aliasId` anymore.", - "type": "object" - }, - "AliasListResponse": { - "description": "The response model for the List API. Returns a list of all the previously created aliases.", - "type": "object", - "properties": { - "aliases": { - "description": "A list of all the previously created aliases.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/AliasListItem" - } - } - } - }, - "AliasListItem": { - "description": "Detailed information for the alias.", - "type": "object", - "properties": { - "createdTimestamp": { - "description": "The created timestamp for the alias.", - "type": "string", - "readOnly": true - }, - "aliasId": { - "description": "The id for the alias.", - "type": "string", - "readOnly": true - }, - "resourceId": { - "description": "The id for the resource that this alias references (could be null if the alias has not been assigned).", - "type": "string", - "readOnly": true - }, - "lastUpdatedTimestamp": { - "description": "The timestamp of the last time the alias was assigned.", - "type": "string", - "readOnly": true - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Assign.json b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Assign.json deleted file mode 100644 index 510eadf5d277..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Assign.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]", - "aliasId": "[aliasId]", - "resourceId": "[resourceId]" - }, - "responses": { - "204": { - "body": {} - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request - Error message." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found - The requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "Unknown error - An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Create.json b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Create.json deleted file mode 100644 index 4ceff472346f..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Create.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]" - }, - "responses": { - "201": { - "headers": {}, - "body": { - "aliasId": "25084fb7-307a-4720-8f91-7952a0b91012" - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request - Error message." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found - The requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "Unknown error - An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Delete.json b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Delete.json deleted file mode 100644 index fc920bdb905e..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Delete.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]", - "aliasId": "[aliasId]" - }, - "responses": { - "204": { - "body": {} - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request - One or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found - The requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "Unknown error - An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_List.json b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_List.json deleted file mode 100644 index 918b6bc1c103..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_List.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]" - }, - "responses": { - "200": { - "body": { - "aliases": [ - { - "createdTimestamp": "2020-02-13T21:19:11+00:00", - "aliasId": "a8a4b8bb-ecf4-fb27-a618-f41721552766", - "resourceId": "e89aebb9-70a3-8fe1-32bb-1fbd0c725f14", - "lastUpdatedTimestamp": "2020-02-13T21:19:22+00:00" - }, - { - "createdTimestamp": "2020-02-13T21:19:11+00:00", - "aliasId": "1856dbfc-7a66-ee5a-bf8d-51dbfe1906f6", - "resourceId": null, - "lastUpdatedTimestamp": "2020-02-13T21:19:11+00:00" - } - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request - One or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found - The requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "Unknown error - An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/2.0/alias.json b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/2.0/alias.json index e90893e81a35..5a2882386f63 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/2.0/alias.json +++ b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/2.0/alias.json @@ -22,28 +22,39 @@ "application/xml" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { diff --git a/specification/maps/data-plane/Microsoft.Maps/DEM/preview/1.0/elevation.json b/specification/maps/data-plane/Microsoft.Maps/DEM/preview/1.0/elevation.json index d5cbc47fbca0..686f8968c607 100644 --- a/specification/maps/data-plane/Microsoft.Maps/DEM/preview/1.0/elevation.json +++ b/specification/maps/data-plane/Microsoft.Maps/DEM/preview/1.0/elevation.json @@ -15,28 +15,39 @@ "application/xml" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { diff --git a/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/data.json b/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/data.json index df595c8d592c..d11b63884ca3 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/data.json +++ b/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/data.json @@ -21,28 +21,39 @@ "application/json" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { diff --git a/specification/maps/data-plane/Microsoft.Maps/Data/preview/2.0/data.json b/specification/maps/data-plane/Microsoft.Maps/Data/preview/2.0/data.json index 283d5bde47c5..0eea5ccd637e 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Data/preview/2.0/data.json +++ b/specification/maps/data-plane/Microsoft.Maps/Data/preview/2.0/data.json @@ -21,28 +21,39 @@ "application/json" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { @@ -304,7 +315,7 @@ }, "get": { "x-publish": true, - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API allows the caller to fetch a list of all content uploaded previously using the [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview). \n\n\n### Submit List Request\n\nTo list all your map data content you will issue a `GET` request with no additional parameters.\n\n\n### List Data Response\n\nThe Data List API returns the complete list of all data in `json` format. The response contains the following details for each data resource:\n\n > udid - The unique data id for the data resource.\n\n > location - The location of the data resource. Execute a HTTP `GET` on this location to download the data.\n\n\nHere's a sample response returning the `udid` and `location` of 3 data resources: \n\n
\n\n```json\n{\n \"mapDataList\": \n [\n {\n \"udid\": \"9a1288fa-1858-4a3b-b68d-13a8j5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/9a1288fa-1858-4a3b-b68d-13a8j5af7d7c?api-version=1.0\",\n \"sizeInBytes\": 29920,\n \"uploadStatus\": \"Completed\"\n },\n {\n \"udid\": \"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/8b1288fa-1958-4a2b-b68e-13a7i5af7d7c?api-version=1.0\",\n \"sizeInBytes\": 1339,\n \"uploadStatus\": \"Completed\"\n },\n {\n \"udid\": \"7c1288fa-2058-4a1b-b68f-13a6h5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/7c1288fa-2058-4a1b-b68f-13a6h5af7d7c?api-version=1.0\",\n \"sizeInBytes\": 1650,\n \"uploadStatus\": \"Pending\"\n }]\n}\n```\n\n
", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API allows the caller to fetch a list of all content uploaded previously using the [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview). \n\n\n### Submit List Request\n\nTo list all your map data content you will issue a `GET` request with no additional parameters.\n\n\n### List Data Response\n\nThe Data List API returns the complete list of all data in `json` format. The response contains the following details for each data resource:\n\n > udid - The unique data id for the data resource.\n\n > location - The location of the data resource. Execute a HTTP `GET` on this location to download the data.\n\n\nHere's a sample response returning the `udid` and `location` of 3 data resources: \n\n
\n\n```json\n{\n \"mapDataList\": \n [\n {\n \"udid\": \"9a1288fa-1858-4a3b-b68d-13a8j5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/9a1288fa-1858-4a3b-b68d-13a8j5af7d7c?api-version=1.0\",\n \"created\": \"2021-04-05T18:41:15+00:00\",\n \"updated\": \"2021-04-05T18:41:26+00:00\",\n \"sizeInBytes\": 29920,\n \"uploadStatus\": \"Completed\",\n \"description\": \"Sample Building\",\n \"dataFormat\": \"zip\"\n },\n {\n \"udid\": \"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/8b1288fa-1958-4a2b-b68e-13a7i5af7d7c?api-version=1.0\",\n \"created\": \"2021-06-09T12:42:17+00:00\",\n \"updated\": \"2021-06-09T12:42:19+00:00\",\n \"sizeInBytes\": 1339,\n \"uploadStatus\": \"Completed\",\n \"description\": \"Sample Lobby\",\n \"dataFormat\": \"zip\"\n },\n {\n \"udid\": \"7c1288fa-2058-4a1b-b68f-13a6h5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/7c1288fa-2058-4a1b-b68f-13a6h5af7d7c?api-version=1.0\",\n \"created\": \"2021-07-08T08:25:48+00:00\",\n \"updated\": \"2021-07-08T08:25:52+00:00\",\n \"sizeInBytes\": 1650,\n \"uploadStatus\": \"Pending\",\n \"description\": \"Sample Break Room\",\n \"dataFormat\": \"zip\"\n }]\n}\n```\n\n
", "operationId": "Data_ListPreview", "x-ms-examples": { "List all the previously uploaded data": { diff --git a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/dataset.json b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/dataset.json deleted file mode 100644 index 272cdc992bb5..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/dataset.json +++ /dev/null @@ -1,642 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Azure Maps Dataset Service", - "version": "1.0", - "description": "APIs for managing datasets from uploaded data in Azure Maps." - }, - "x-ms-parameterized-host": { - "hostTemplate": "{geography}.atlas.microsoft.com", - "parameters": [ - { - "$ref": "#/parameters/GeographicResourceLocation" - } - ] - }, - "schemes": [ - "https" - ], - "consumes": [], - "produces": [ - "application/json", - "application/xml" - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", - "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." - } - }, - "apiKeyQuery": { - "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", - "name": "subscription-key", - "in": "query" - } - }, - "security": [ - { - "azure_auth": [] - }, - { - "apiKeyQuery": [] - } - ], - "responses": { - "400": { - "description": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "401": { - "description": "Access denied due to invalid subscription key or invalid Azure Active Directory (Azure AD) bearer token. Make sure to provide a valid key for an active Azure subscription and Maps resource. Otherwise, verify the [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header for error code and description of the provided Azure AD bearer token.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - }, - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Bearer realm=\"https://atlas.microsoft.com/\", error=\"invalid_token\", error_description=\"The access token expired\"" - } - } - }, - "403": { - "description": "Permission, capacity, or authentication issues.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "404": { - "description": "Not Found: the requested resource could not be found, but it may be available again in the future.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "500": { - "description": "An error occurred while processing the request. Please try again later.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "200Async": { - "description": "The operation's status response.", - "schema": { - "$ref": "#/definitions/LongRunningOperationResult" - } - }, - "201Async": { - "description": "The resource has been created successfully.", - "schema": { - "$ref": "#/definitions/LongRunningOperationResult" - }, - "headers": { - "Location": { - "type": "string", - "description": "A URI where details on the newly created resource can be found." - } - } - }, - "202Async": { - "description": "**Supported only for async request.**\nRequest Accepted: The request has been accepted for processing. Please use the URL in the Location Header to retry or access the results.", - "headers": { - "Location": { - "type": "string", - "description": "New URL to check for the results of the long running process." - } - } - } - }, - "parameters": { - "GeographicResourceLocation": { - "name": "geography", - "description": "This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu.", - "in": "path", - "required": true, - "type": "string", - "default": "us", - "enum": [ - "us", - "eu" - ], - "x-ms-enum": { - "name": "GeographicResourceLocation", - "modelAsString": true, - "values": [ - { - "value": "us", - "description": "Used to access an Azure Maps Creator resource in the United States" - }, - { - "value": "eu", - "description": "Used to access an Azure Maps Creator resource in Europe" - } - ] - }, - "x-ms-parameter-location": "client" - }, - "SubscriptionKey": { - "name": "subscription-key", - "description": "One of the Azure Maps keys provided from an Azure Map Account. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication) for details on how to manage authentication.", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "client" - }, - "ApiVersion": { - "name": "api-version", - "description": "Version number of Azure Maps API. Current version is 1.0", - "type": "string", - "in": "query", - "required": true, - "default": "1.0", - "x-ms-parameter-location": "client" - }, - "ConversionIdQuery": { - "name": "conversionId", - "description": "The unique ID used to create the dataset. The `conversionId` must have been obtained from a successful call to the Conversion Service Convert API and must be provided with multiple query parameters with same name (if more than one is provided). May not be provided in conjunction with the `udid` query parameter.", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "UdidDataset": { - "name": "udid", - "description": "The unique data ID used to create the dataset. The `udid` must have been obtained from a successful call to the Data Service Upload API and must be provided with multiple query parameters with the same name (if more than one is provided). May not be provided in conjunction with `conversionId` query parameter.", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "DescriptionDataset": { - "name": "description", - "description": "The description to be given to the dataset.", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "DatasetId": { - "name": "datasetId", - "type": "string", - "in": "path", - "description": "The identifier for the dataset to query from.", - "required": true, - "x-ms-parameter-location": "method" - }, - "Type": { - "name": "type", - "type": "string", - "in": "query", - "description": "The type of data to create the dataset with.", - "enum": [ - "facility" - ], - "x-ms-enum": { - "name": "DatasetType", - "modelAsString": true, - "values": [ - { - "value": "facility", - "description": "Facility Maps data type." - } - ] - }, - "required": true, - "x-ms-parameter-location": "method" - }, - "ImportUdid": { - "name": "udid", - "description": "The unique data ID used to import data into the dataset. The `udid` must have been obtained from a successful call to the Data Service Upload API.", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "ImportType": { - "name": "type", - "type": "string", - "in": "query", - "description": "The type of data to import into the dataset with.", - "enum": [ - "fixture" - ], - "x-ms-enum": { - "name": "ImportDataType", - "modelAsString": true, - "values": [ - { - "value": "fixture", - "description": "Area and point element data." - } - ] - }, - "required": true, - "x-ms-parameter-location": "method" - }, - "AppendDatasetId": { - "name": "datasetId", - "type": "string", - "in": "query", - "description": "The ID for the dataset to append to.", - "required": false, - "x-ms-parameter-location": "method" - }, - "StatusId": { - "name": "statusId", - "type": "string", - "in": "path", - "description": "The ID to query the status for the dataset create/import request.", - "required": true, - "x-ms-parameter-location": "method" - } - }, - "paths": { - "/dataset/create": { - "post": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Dataset Create API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API \nand SDK. The Dataset APIs are part of Creator. This API allows the caller to create a dataset from data that \nwas uploaded to the Azure Maps Data Service.\n\nYou can use this API in a scenario like uploading a DWG zip package for a building, converting the zip package using \nthe Azure Maps Conversion Service, creating a dataset from the converted zip package. The created dataset can be \nused to create tilesets using the Azure Maps Tileset Service and can be queried via the Azure Maps WFS Service.\n\n## Submit Create Request\n\nTo create your dataset, you will use a `POST` request where the `conversionId` query parameter is an id that represents \nthe converted DWG zip package, the `type` parameter will describe the data type to use for the dataset, the `datasetId`\nparameter will describe if the provided data should be appended to a current dataset and, optionally, the \n`description` query parameter will contain a description (if description is not provided a default description will be \ngiven).\n\nThe Create API is a \n[long-running request](https://aka.ms/am-creator-lrt).", - "operationId": "Dataset_CreatePreview", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, - "x-ms-examples": { - "Create dataset from a converted CAD file provided by conversionId": { - "$ref": "./examples/Dataset_Create.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/ConversionIdQuery" - }, - { - "$ref": "#/parameters/UdidDataset" - }, - { - "$ref": "#/parameters/Type" - }, - { - "$ref": "#/parameters/AppendDatasetId" - }, - { - "$ref": "#/parameters/DescriptionDataset" - } - ], - "responses": { - "201": { - "$ref": "#/responses/201Async" - }, - "202": { - "$ref": "#/responses/202Async" - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/dataset/import/{datasetId}": { - "patch": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Dataset Import API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API \nand SDK. The Dataset APIs are part of Creator. This API allows the caller to bulk import data into a dataset \nfrom data that was uploaded to the Azure Maps Data service.
\n\n### Submit Import Request\n\nTo import data into your dataset, you will use a `PATCH` request where the `datasetId` query parameter is the \ndataset you want to import your data into, the `udid` query parameter is the data you want to import, and the `type` \nparameter will describe the data type to use for the import data.
\n\nThe Import API is a \n[long-running request](https://aka.ms/am-creator-lrt).", - "operationId": "Dataset_ImportPreview", - "x-ms-examples": { - "Import data into previously created dataset": { - "$ref": "./examples/Dataset_Import.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/DatasetId" - }, - { - "$ref": "#/parameters/ImportUdid" - }, - { - "$ref": "#/parameters/ImportType" - } - ], - "responses": { - "200": { - "$ref": "#/responses/200Async" - }, - "202": { - "$ref": "#/responses/202Async" - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/dataset/{datasetId}": { - "delete": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Dataset Delete API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Dataset APIs are part of Creator.\nThis API allows the caller to delete a previously created dataset.
\nYou can also use this API to delete old/unused datasets to create space for new Creator content.\n\n\n### Submit Delete Request\n\nTo delete your content you will issue a `DELETE` request where the path will contain the `datasetId` of the dataset to delete.
\n\n\n### Delete Data Response\n\nThe Delete API returns a HTTP `204 No Content` response if the dataset resource was deleted successfully.
", - "operationId": "Dataset_DeletePreview", - "x-ms-examples": { - "Delete previously created dataset": { - "$ref": "./examples/Dataset_Delete.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/DatasetId" - } - ], - "responses": { - "204": { - "description": "The dataset delete request completed successfully. The resource referenced by the `datasetId` was deleted from the server.", - "schema": { - "$ref": "#/definitions/DatasetDeleteResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/dataset": { - "get": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Dataset List API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Dataset APIs are part of Creator.\nThis API allows the caller to fetch a list of all previously successfully created datasets.\n\n\n### Submit List Request\n\nTo list all your datasets, you will issue a `GET` request with no additional parameters.
\n\n\n### List Data Response\n\nThe List API returns the complete list of all datasets in `json` format. The response contains the following fields (if they are not null or empty):\n > created - The timestamp the dataset was created.\n > datasetId - The id for the dataset.\n > description - The description for the dataset.\n > datasetSources - The source data that was used when the create request was issued.\n\nThe `datasetSources` describes the source data that was used when the create request was issued and contains the following elements (if they are not null or empty):\n > conversionIds - The list of `conversionId` (null if none were provided).\n > udids - The list of `udid` (null if none were provided).\n > appendDatasetId - The `datasetId` that was used for an append operation (null if none was used).\n > type - The type of data stored in the dataset that was created.\n\nHere's a sample response returning the `timestamp`, `datasetId`, `description`, and `datasetSources` of 3 dataset resources:\n\n
\n\n```json\n{\n \"datasets\": [\n {\n \"timestamp\": \"2020-01-01T22:50:48+00:00\",\n \"datasetId\": \"f6495f62-94f8-0ec2-c252-45626f82fcb2\",\n \"description\": \"Some description or comment for the dataset.\",\n \"datasetSources\": {\n \"conversionIds\": [\n \"15d21452-c9bb-27b6-5e79-743ca5c3205d\"\n ],\n \"type\": \"facility\"\n },\n \"status\": \"Succeeded\"\n },\n {\n \"timestamp\": \"2020-01-01T22:57:53+00:00\",\n \"datasetId\": \"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\n \"description\": \"Create from upload '0c1288fa-2058-4a1b-b68d-13a5f5af7d7c'.\",\n \"datasetSources\": {\n \"udids\": [\n \"0c1288fa-2058-4a1b-b68d-13a5f5af7d7c\"\n ],\n \"type\": \"facility\"\n },\n \"status\": \"Succeeded\"\n },\n {\n \"timestamp\": \"2020-01-01T20:39:36+00:00\",\n \"datasetId\": \"7c1288fa-2058-4a1b-b68f-13a6h5af7d7c\",\n \"description\": \"Some other description or comment for the dataset.\",\n \"datasetSources\": {\n \"conversionIds\": [\n \"15d21452-c9bb-27b6-5e79-743ca5c3205d\"\n ],\n \"appendDatasetId\": \"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\n \"type\": \"facility\"\n },\n \"status\": \"Succeeded\"\n }\n ]\n}\n```\n
", - "operationId": "Dataset_ListPreview", - "x-ms-examples": { - "List all the previously created datasets": { - "$ref": "./examples/Dataset_List.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "The list dataset request completed successfully. The response body contains a list of all the previously created datasets.", - "schema": { - "$ref": "#/definitions/DatasetListResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - } - }, - "definitions": { - "ODataErrorResponse": { - "type": "object", - "description": "This response object is returned when an error occurs in the Azure Maps API.", - "properties": { - "error": { - "$ref": "#/definitions/ODataError" - } - } - }, - "ODataError": { - "type": "object", - "description": "This object is returned when an error occurs in the Azure Maps API.", - "properties": { - "code": { - "type": "string", - "readOnly": true, - "description": "The ODataError code." - }, - "message": { - "type": "string", - "readOnly": true, - "description": "If available, a human-readable description of the error." - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/ODataError" - } - }, - "target": { - "type": "string", - "readOnly": true, - "description": "If available, the target causing the error." - } - } - }, - "LongRunningOperationResult": { - "description": "The response model for a Long-Running Operations API.", - "type": "object", - "properties": { - "operationId": { - "description": "The Id for this long-running operation.", - "type": "string" - }, - "status": { - "description": "The status state of the request.", - "type": "string", - "enum": [ - "NotStarted", - "Running", - "Failed", - "Succeeded" - ], - "x-ms-enum": { - "name": "type", - "modelAsString": true, - "values": [ - { - "value": "NotStarted", - "description": "The request has not started processing yet." - }, - { - "value": "Running", - "description": "The request has started processing." - }, - { - "value": "Failed", - "description": "The request has one or more failures." - }, - { - "value": "Succeeded", - "description": "The request has successfully completed." - } - ] - }, - "readOnly": true - }, - "created": { - "description": "The created timestamp.", - "type": "string", - "readOnly": true - }, - "resourceLocation": { - "description": "The location URI for details about the created resource. This is only provided when the request was successfully completed.", - "type": "string", - "readOnly": true - }, - "error": { - "$ref": "#/definitions/ODataError" - }, - "warning": { - "$ref": "#/definitions/ODataError" - } - } - }, - "DatasetDeleteResponse": { - "description": "The response model for the Dataset Delete API. The response body will be empty signifying there's no content available for the `datasetId` anymore.", - "type": "object" - }, - "DatasetListResponse": { - "description": "The response model for the Dataset List API. The response body will contain a list of all the previously created datasets.", - "type": "object", - "properties": { - "datasets": { - "description": "A list of all the previously created datasets.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/DatasetDetailInfo" - } - } - } - }, - "DatasetDetailInfo": { - "description": "Detail information for the dataset.", - "type": "object", - "properties": { - "created": { - "description": "The created timestamp for the dataset.", - "type": "string", - "readOnly": true - }, - "datasetId": { - "description": "The id for the dataset.", - "type": "string", - "readOnly": true - }, - "description": { - "description": "The description for the dataset.", - "type": "string", - "readOnly": true - }, - "datasetSources": { - "$ref": "#/definitions/DatasetSources" - }, - "featureCounts": { - "description": "The feature counts for the dataset.", - "type": "object", - "readOnly": true - } - } - }, - "DatasetSources": { - "description": "Information about the details of the create request for the dataset.", - "type": "object", - "properties": { - "conversionIds": { - "description": "The list of `conversionId` that were used to create the dataset.", - "type": "array", - "readOnly": true, - "items": { - "type": "string" - } - }, - "udids": { - "description": "The list of `conversionId` that were used to create the dataset.", - "type": "array", - "readOnly": true, - "items": { - "type": "string" - } - }, - "appendDatasetId": { - "description": "The dataset that was appended to to create the current dataset.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "The type of data stored in the dataset.", - "type": "string", - "readOnly": true - } - } - }, - "DatasetGetDetailsResponse": { - "$ref": "#/definitions/DatasetDetailInfo" - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Create.json b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Create.json deleted file mode 100644 index e59db5d0820e..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Create.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]", - "conversionId": "[conversionId]", - "type": "facility" - }, - "responses": { - "201": { - "headers": { - "Location": "https://us.atlas.microsoft.com/dataset/{datasetId}?api-version=1.0", - "Access-Control-Expose-Headers": "Location" - }, - "body": { - "operationId": "{operationId}", - "status": "Succeeded", - "created": "2020-01-02 1:02:03 AM +00:00", - "resourceLocation": "https://us.atlas.microsoft.com/dataset/{datasetId}?api-version=1.0" - } - }, - "202": { - "headers": { - "Location": "https://us.atlas.microsoft.com/dataset/operations/{operationId}?api-version=1.0", - "Access-Control-Expose-Headers": "Location" - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request - Error message." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found - The requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "Unknown error - An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Delete.json b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Delete.json deleted file mode 100644 index 865652b9cbd8..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Delete.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]", - "datasetId": "[datasetId]" - }, - "responses": { - "204": { - "body": {} - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request - One or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found - The requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "Unknown error - An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Import.json b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Import.json deleted file mode 100644 index 074bd5c20371..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Import.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]", - "datasetId": "[conversionId]", - "udid": "[udid]", - "type": "fixture" - }, - "responses": { - "200": { - "headers": {}, - "body": { - "operationId": "{operationId}", - "status": "Succeeded", - "created": "2020-01-02 03:04:05 AM +00:00", - "resourceLocation": "https://us.atlas.microsoft.com/dataset/{datasetId}?api-version=1.0" - } - }, - "202": { - "headers": { - "Location": "https://us.atlas.microsoft.com/dataset/operations/{operationId}?api-version=1.0", - "Access-Control-Expose-Headers": "Location" - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request - Error message." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found - The requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "Unknown error - An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_List.json b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_List.json deleted file mode 100644 index 70a28edebb38..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_List.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]" - }, - "responses": { - "200": { - "body": { - "datasets": [ - { - "created": "2020-01-02 3:04:05 AM +00:00", - "datasetId": "f6495f62-94f8-0ec2-c252-45626f82fcb2", - "description": "Some description or comment for the dataset.", - "datasetSources": { - "conversionIds": [ - "15d21452-c9bb-27b6-5e79-743ca5c3205d" - ], - "type": "facility" - }, - "featureCounts": { - "directoryInfo": 1, - "category": 18, - "facility": 1, - "level": 6, - "unit": 775, - "opening": 471, - "areaElement": 496 - } - }, - { - "created": "2020-01-02 3:04:05 PM +00:00", - "datasetId": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c", - "description": "Create from upload '0c1288fa-2058-4a1b-b68d-13a5f5af7d7c'.", - "datasetSources": { - "udids": [ - "0c1288fa-2058-4a1b-b68d-13a5f5af7d7c" - ], - "type": "facility" - }, - "featureCounts": { - "directoryInfo": 1, - "category": 2, - "facility": 1, - "level": 6, - "unit": 19 - } - }, - { - "created": "2020-01-02 3:04:05 AM +00:00", - "datasetId": "7c1288fa-2058-4a1b-b68f-13a6h5af7d7c", - "description": "Some other description or comment for the dataset.", - "datasetSources": { - "conversionIds": [ - "15d21452-c9bb-27b6-5e79-743ca5c3205d" - ], - "appendDatasetId": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c", - "type": "facility" - }, - "featureCounts": { - "directoryInfo": 1, - "category": 1, - "facility": 1, - "level": 1, - "unit": 10 - } - } - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request - One or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found - The requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "Unknown error - An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/2.0/dataset.json b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/2.0/dataset.json index 6d0f4eae2b24..49fe3a5335a7 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/2.0/dataset.json +++ b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/2.0/dataset.json @@ -22,28 +22,39 @@ "application/xml" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { diff --git a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/dwgconversion.json b/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/dwgconversion.json deleted file mode 100644 index 1c058347349c..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/dwgconversion.json +++ /dev/null @@ -1,508 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Azure Maps Conversion Service", - "version": "1.0", - "description": "APIs for converting DWG Packages in Azure Maps." - }, - "x-ms-parameterized-host": { - "hostTemplate": "{geography}.atlas.microsoft.com", - "parameters": [ - { - "$ref": "#/parameters/GeographicResourceLocation" - } - ] - }, - "schemes": [ - "https" - ], - "consumes": [], - "produces": [ - "application/json" - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", - "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." - } - }, - "apiKeyQuery": { - "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", - "name": "subscription-key", - "in": "query" - } - }, - "security": [ - { - "azure_auth": [] - }, - { - "apiKeyQuery": [] - } - ], - "responses": { - "400": { - "description": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "401": { - "description": "Access denied due to invalid subscription key or invalid Azure Active Directory (Azure AD) bearer token. Make sure to provide a valid key for an active Azure subscription and Maps resource. Otherwise, verify the [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header for error code and description of the provided Azure AD bearer token.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - }, - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Bearer realm=\"https://atlas.microsoft.com/\", error=\"invalid_token\", error_description=\"The access token expired\"" - } - } - }, - "403": { - "description": "Permission, capacity, or authentication issues.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "404": { - "description": "Not Found: the requested resource could not be found, but it may be available again in the future.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "500": { - "description": "An error occurred while processing the request. Please try again later.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "201Async": { - "description": "The resource has been created successfully.", - "schema": { - "$ref": "#/definitions/LongRunningOperationResult" - }, - "headers": { - "Location": { - "type": "string", - "description": "A URI where details on the newly created resource can be found." - } - } - }, - "202Async": { - "description": "**Supported only for async request.**\nRequest Accepted: The request has been accepted for processing. Please use the URL in the Location Header to retry or access the results.", - "headers": { - "Location": { - "type": "string", - "description": "New URL to check for the results of the long running process." - } - } - } - }, - "parameters": { - "GeographicResourceLocation": { - "name": "geography", - "description": "This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu.", - "in": "path", - "required": true, - "type": "string", - "default": "us", - "enum": [ - "us", - "eu" - ], - "x-ms-enum": { - "name": "GeographicResourceLocation", - "modelAsString": true, - "values": [ - { - "value": "us", - "description": "Used to access an Azure Maps Creator resource in the United States" - }, - { - "value": "eu", - "description": "Used to access an Azure Maps Creator resource in Europe" - } - ] - }, - "x-ms-parameter-location": "client" - }, - "ClientId": { - "name": "x-ms-client-id", - "description": "Specifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.", - "type": "string", - "in": "header", - "required": false, - "x-ms-parameter-location": "client" - }, - "SubscriptionKey": { - "name": "subscription-key", - "description": "One of the Azure Maps keys provided from an Azure Map Account. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication) for details on how to manage authentication.", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "client" - }, - "ApiVersion": { - "name": "api-version", - "description": "Version number of Azure Maps API. Current version is 1.0", - "type": "string", - "in": "query", - "required": true, - "default": "1.0", - "x-ms-parameter-location": "client" - }, - "UdidQuery": { - "name": "udid", - "description": "The unique data id for the content. The `udid` must have been obtained from a successful [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadpreview) call.", - "type": "string", - "in": "query", - "required": true, - "x-ms-parameter-location": "method" - }, - "ConversionId": { - "name": "conversionId", - "description": "The conversion id for the content. The `conversionId` must have been obtained from a successful [Conversion API](https://docs.microsoft.com/en-us/rest/api/maps/conversion/convertpreview) call.", - "type": "string", - "in": "path", - "required": true, - "x-ms-parameter-location": "method" - }, - "ConversionInputType": { - "name": "inputType", - "description": "Input type of the content being converted. Currently, only `DWG` type is supported.", - "type": "string", - "in": "query", - "required": true, - "enum": [ - "DWG" - ], - "x-ms-enum": { - "name": "ConversionInputType", - "modelAsString": true, - "values": [ - { - "value": "DWG", - "description": "DWG file format." - } - ] - }, - "x-ms-parameter-location": "method" - }, - "DescriptionDwgConversion": { - "name": "description", - "description": "User provided description of the content being converted.", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - } - }, - "paths": { - "/conversion/convert": { - "post": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Conversion Create API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).
\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and \nSDK. [This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.
\n\nThe Conversion API lets the caller import a set of DWG design files as a zipped [Drawing Package](https://aka.ms/am-drawing-package) into Azure Maps. The [Drawing Package](https://aka.ms/am-drawing-package) should first be \nuploaded using the [Azure Maps Data Service](https://docs.microsoft.com/rest/api/maps/data). Once uploaded, use the \n`udid` returned by the [Data Upload API](https://docs.microsoft.com/rest/api/maps/data/uploadpreview) to call \nthis Conversion API.\n\n## Convert DWG package\n\nThe Conversion API performs a \n[long-running request](https://aka.ms/am-creator-lrt).\n\n## Debug DWG package issues\n\n\nDuring the Conversion process, if there are any issues with the DWG package [errors and warnings](https://aka.ms/am-conversion-errors) are provided in the response along with a *diagnostic package* to visualize \nand diagnose these issues. In case any issues are encountered with your DWG package, the Conversion operation status process as detailed \n[here](https://aka.ms/am-creator-lrt) returns the location of the *diagnostic\npackage* that can be downloaded by the caller to help them visualize and diagnose these issues. The *diagnostic package* location\ncan be found in the properties section of the conversion operation status response and looks like the following:\n\n```json\n{\n \"properties\": {\n \"diagnosticPackageLocation\": \"https://us.atlas.microsoft.com/mapdata/{DiagnosticPackageId}?api-version=1.0\" \n } \n}\n```\n\nThe *diagnostic package* can be downloaded by executing a `HTTP GET` request on the `diagnosticPackageLocation`.\nFor more details on how to use the tool to visualize and diagnose all the errors and warnings see [Drawing Error Visualizer](https://aka.ms/am-drawing-errors-visualizer).
\n\nA conversion operation will be marked as *success* if there are zero or more warnings but will be marked as *failed* if any errors are encountered. ", - "operationId": "Conversion_ConvertPreview", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, - "x-ms-examples": { - "Convert previously uploaded DWG Package": { - "$ref": "./examples/Conversion.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/UdidQuery" - }, - { - "$ref": "#/parameters/ConversionInputType" - }, - { - "$ref": "#/parameters/DescriptionDwgConversion" - } - ], - "responses": { - "201": { - "$ref": "#/responses/201Async" - }, - "202": { - "$ref": "#/responses/202Async" - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/conversion": { - "get": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Conversion List API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).
\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.
\n\nThis API allows the caller to fetch a list of all successful data conversions submitted previously using the [Conversion API](https://docs.microsoft.com/en-us/rest/api/maps/conversion/convertpreview). \n\n### Submit List Request\n\nTo list all successful conversions you will issue a `GET` request with no additional parameters.\n\n### List Data Response\n\nThe Conversion List API returns the complete list of all conversion details in `json` format.
\n\nHere is a sample response returning the details of two successful conversion requests: \n\n
\n\n```json\n{\n \"conversions\": \n [\n {\n \"conversionId\": \"54398242-ea6c-1f31-4fa6-79b1ae0fc24d\",\n \"udid\": \"31838736-8b84-11ea-bc55-0242ac130003\",\n \"created\": \"5/19/2020 9:00:00 AM +00:00\",\n \"description\": \"User provided description.\",\n \"featureCounts\": {\n \"DIR\": 1,\n \"LVL\": 3,\n \"FCL\": 1,\n \"UNIT\": 150,\n \"CTG\": 8,\n \"AEL\": 0,\n \"OPN\": 10\n }\n },\n {\n \"conversionId\": \"2acf7d32-8b84-11ea-bc55-0242ac130003\",\n \"udid\": \"1214bc58-8b84-11ea-bc55-0242ac1300039\",\n \"created\": \"5/19/2020 9:00:00 AM +00:00\",\n \"description\": \"User provided description.\",\n \"featureCounts\": {\n \"DIR\": 1,\n \"LVL\": 3,\n \"FCL\": 1,\n \"UNIT\": 150,\n \"CTG\": 8,\n \"AEL\": 0,\n \"OPN\": 10\n }\n }\n ]\n}\n```\n\n
", - "operationId": "Conversion_ListPreview", - "x-ms-examples": { - "Returns a list of all the data processed by the Conversion Service for the account": { - "$ref": "./examples/List.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "List request completed successfully.", - "schema": { - "$ref": "#/definitions/ConversionListResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/conversion/{conversionId}": { - "delete": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Conversion Delete API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).
\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.
\n\nThis API allows the caller to delete any data conversions created previously using the [Conversion API](https://docs.microsoft.com/en-us/rest/api/maps/conversion/convertpreview).\n\n### Submit Delete Request\n\nTo delete your conversion data you will issue a `DELETE` request where the path will contain the `conversionId` of the data to delete.\n\n### Conversion Delete Response\n\nThe Conversion Delete API returns a HTTP `204 No Content` response with an empty body, if the converted data resources were deleted successfully.
\nA HTTP `400 Bad Request` error response will be returned if no resource associated with the passed-in `conversionId` is found. ", - "operationId": "Conversion_DeletePreview", - "x-ms-examples": { - "Delete previously converted content": { - "$ref": "./examples/Delete.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/ConversionId" - } - ], - "responses": { - "204": { - "description": "Conversion delete request completed successfully. The content for `conversionId` was deleted on the server.", - "schema": { - "$ref": "#/definitions/ConversionDeleteResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - } - }, - "definitions": { - "ODataErrorResponse": { - "type": "object", - "description": "This response object is returned when an error occurs in the Azure Maps API.", - "properties": { - "error": { - "$ref": "#/definitions/ODataError" - } - } - }, - "ODataError": { - "type": "object", - "description": "This object is returned when an error occurs in the Azure Maps API.", - "properties": { - "code": { - "type": "string", - "readOnly": true, - "description": "The ODataError code." - }, - "message": { - "type": "string", - "readOnly": true, - "description": "If available, a human-readable description of the error." - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/ODataError" - } - }, - "target": { - "type": "string", - "readOnly": true, - "description": "If available, the target causing the error." - } - } - }, - "LongRunningOperationResult": { - "description": "The response model for a Long-Running Operations API.", - "type": "object", - "properties": { - "operationId": { - "description": "The Id for this long-running operation.", - "type": "string" - }, - "status": { - "description": "The status state of the request.", - "type": "string", - "enum": [ - "NotStarted", - "Running", - "Failed", - "Succeeded" - ], - "x-ms-enum": { - "name": "type", - "modelAsString": true, - "values": [ - { - "value": "NotStarted", - "description": "The request has not started processing yet." - }, - { - "value": "Running", - "description": "The request has started processing." - }, - { - "value": "Failed", - "description": "The request has one or more failures." - }, - { - "value": "Succeeded", - "description": "The request has successfully completed." - } - ] - }, - "readOnly": true - }, - "created": { - "description": "The created timestamp.", - "type": "string", - "readOnly": true - }, - "resourceLocation": { - "description": "The location URI for details about the created resource. This is only provided when the request was successfully completed.", - "type": "string", - "readOnly": true - }, - "error": { - "$ref": "#/definitions/ODataError" - }, - "warning": { - "$ref": "#/definitions/ODataError" - } - } - }, - "ConversionListResponse": { - "description": "The response model for the Conversion List API.", - "type": "object", - "properties": { - "conversions": { - "description": "A list of all the previously submitted conversion requests.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/ConversionListDetailInfo" - } - } - } - }, - "ConversionListDetailInfo": { - "description": "Detail information for the conversion requests.", - "type": "object", - "properties": { - "conversionId": { - "description": "A unique id that represents the artifact of a _successfully_ completed conversion process.", - "type": "string", - "readOnly": true - }, - "udid": { - "description": "The unique id of the content provided to create this conversion.", - "type": "string", - "readOnly": true - }, - "created": { - "description": "The date and time of this conversion.", - "type": "string", - "readOnly": true - }, - "description": { - "description": "User provided description of the content being converted.", - "type": "string", - "readOnly": true - }, - "featureCounts": { - "description": "A summary of feature counts in this conversion.", - "type": "object", - "readOnly": true - } - } - }, - "ConversionDeleteResponse": { - "description": "The response model for the Conversion Delete API. The response body will be empty signifying there's no content available for the `conversionId` anymore.", - "type": "object" - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/Conversion.json b/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/Conversion.json deleted file mode 100644 index 620928efd64a..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/Conversion.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]", - "udid": "25084fb7-307a-4720-8f91-7952a0b91012", - "inputType": "DWG" - }, - "responses": { - "201": { - "headers": { - "Location": "https://us.atlas.microsoft.com/conversion/{conversionId}?api-version=1.0", - "Access-Control-Expose-Headers": "Location" - }, - "body": { - "operationId": "{operationId}", - "status": "Succeeded", - "created": "2020-01-02 1:02:03 AM +00:00", - "resourceLocation": "https://us.atlas.microsoft.com/conversion/{conversionId}?api-version=1.0" - } - }, - "202": { - "headers": { - "Location": "https://us.atlas.microsoft.com/conversion/operations/{operationId}?api-version=1.0", - "Access-Control-Expose-Headers": "Location" - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/Delete.json b/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/Delete.json deleted file mode 100644 index a2437b22c532..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/Delete.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]", - "conversionId": "99884fb7-87a9-0920-7f93-7952a0b91012" - }, - "responses": { - "204": { - "body": {} - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/List.json b/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/List.json deleted file mode 100644 index 2b7782a6acf3..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/List.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]" - }, - "responses": { - "200": { - "body": { - "conversions": [ - { - "conversionId": "54398242-ea6c-1f31-4fa6-79b1ae0fc24d", - "udid": "31838736-8b84-11ea-bc55-0242ac130003", - "created": "5/19/2020 9:00:00 AM +00:00", - "description": "User provided description.", - "featureCounts": { - "directoryInfo": 1, - "level": 3, - "facility": 1, - "unit": 150, - "category": 8, - "areaElement": 0, - "opening": 10 - } - }, - { - "conversionId": "2acf7d32-8b84-11ea-bc55-0242ac130003", - "udid": "1214bc58-8b84-11ea-bc55-0242ac1300039", - "created": "5/19/2020 9:00:00 AM +00:00", - "description": "User provided description.", - "featureCounts": { - "directoryInfo": 1, - "level": 3, - "facility": 1, - "unit": 150, - "category": 8, - "areaElement": 0, - "opening": 10 - } - } - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/2.0/dwgconversion.json b/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/2.0/dwgconversion.json index 7aee6aea4ce0..805f6381fc1b 100644 --- a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/2.0/dwgconversion.json +++ b/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/2.0/dwgconversion.json @@ -21,28 +21,39 @@ "application/json" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/CreateStateset.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/CreateStateset.json deleted file mode 100644 index 26077a93784b..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/CreateStateset.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]", - "datasetId": "5d34fbe8-87b7-f7c0-3144-c50e003a3c75", - "statesetCreateRequestBody": { - "styles": [ - { - "keyname": "s1", - "type": "boolean", - "rules": [ - { - "true": "#FF0000", - "false": "#00FF00" - } - ] - }, - { - "keyname": "s2", - "type": "number", - "rules": [ - { - "range": { - "exclusiveMaximum": 50 - }, - "color": "#343deb" - }, - { - "range": { - "minimum": 50, - "exclusiveMaximum": 70 - }, - "color": "#34ebb1" - }, - { - "range": { - "minimum": 70, - "exclusiveMaximum": 90 - }, - "color": "#eba834" - }, - { - "range": { - "minimum": 90 - }, - "color": "#eb3434" - } - ] - }, - { - "keyname": "s3", - "type": "string", - "rules": [ - { - "stateValue1": "#FF0000", - "stateValue2": "#FF00AA", - "stateValueN": "#00FF00" - } - ] - } - ] - } - }, - "responses": { - "200": { - "body": { - "statesetId": "b24bdb73-1305-3212-1909-a428d937b64f" - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/DeleteFeatureState.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/DeleteFeatureState.json deleted file mode 100644 index 4fae12773bc9..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/DeleteFeatureState.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]", - "statesetId": "b24bdb73-1305-3212-1909-a428d937b64", - "featureId": "SPC4709", - "stateKeyName": "keyName1" - }, - "responses": { - "200": {}, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "409": { - "headers": {}, - "body": { - "error": { - "code": "409 Conflict", - "message": "The request could not be completed due to a conflict with the current state of the resource." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/DeleteStateset.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/DeleteStateset.json deleted file mode 100644 index 18a62b07b2d0..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/DeleteStateset.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]", - "statesetId": "b24bdb73-1305-3212-1909-a428d937b64f" - }, - "responses": { - "204": {}, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/GetStates.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/GetStates.json deleted file mode 100644 index 0f83e1814041..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/GetStates.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]", - "statesetId": "b24bdb73-1305-3212-1909-a428d937b64", - "featureId": "SPC4709" - }, - "responses": { - "200": { - "body": { - "states": [ - { - "keyName": "s1", - "value": true, - "eventTimestamp": "2019-08-16 13:01" - } - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/GetStateset.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/GetStateset.json deleted file mode 100644 index 655b55546d1c..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/GetStateset.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]", - "statesetId": "b24bdb73-1305-3212-1909-a428d937b64" - }, - "responses": { - "200": { - "body": { - "datasetIdList": [ - "8d700cc7-fd2c-4e21-b402-ad3f5e524f36" - ], - "statesetStyle": { - "styles": [ - { - "keyName": "s1", - "type": "boolean", - "rules": [ - { - "true": "#FFFF00", - "false": "#FFFFFF" - } - ] - }, - { - "keyName": "s2", - "type": "number", - "rules": [ - { - "range": { - "minimum": null, - "maximum": null, - "exclusiveMinumum": null, - "exclusiveMaximum": "50" - }, - "color": "#343deb" - }, - { - "range": { - "minimum": "50", - "maximum": null, - "exclusiveMinumum": null, - "exclusiveMaximum": "69" - }, - "color": "#34ebb1" - }, - { - "range": { - "minimum": "69", - "maximum": null, - "exclusiveMinumum": null, - "exclusiveMaximum": "90" - }, - "color": "#eba834" - }, - { - "range": { - "minimum": "90", - "maximum": null, - "exclusiveMinumum": null, - "exclusiveMaximum": null - }, - "color": "#eb3434" - } - ] - } - ] - } - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/Stateset_List.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/Stateset_List.json deleted file mode 100644 index 94eede94963b..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/Stateset_List.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]" - }, - "responses": { - "200": { - "body": { - "statesetDetailList": [ - { - "statesetId": "09abcdf8-cad0-b3dd-a38f-d5ee3cff5eea", - "datasetIdList": [ - "8d700cc7-fd2c-4e21-b402-ad3f5e524f36" - ], - "statesetStyle": { - "styles": [ - { - "keyName": "s1", - "type": "boolean", - "rules": [ - { - "true": "#0FFF00", - "false": "#00FFF0" - } - ] - }, - { - "keyName": "s2", - "type": "number", - "rules": [ - { - "range": { - "minimum": null, - "maximum": null, - "exclusiveMinumum": null, - "exclusiveMaximum": "50" - }, - "color": "#343deb" - }, - { - "range": { - "minimum": "50", - "maximum": null, - "exclusiveMinumum": null, - "exclusiveMaximum": "69" - }, - "color": "#34ebb1" - }, - { - "range": { - "minimum": "69", - "maximum": null, - "exclusiveMinumum": null, - "exclusiveMaximum": "90" - }, - "color": "#eba834" - }, - { - "range": { - "minimum": "90", - "maximum": null, - "exclusiveMinumum": null, - "exclusiveMaximum": null - }, - "color": "#eb3434" - } - ] - } - ] - } - } - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/UpdateStates.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/UpdateStates.json deleted file mode 100644 index a2e115192cc9..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/UpdateStates.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]", - "statesetId": "b24bdb73-1305-3212-1909-a428d937b64", - "featureId": "SPC4709", - "featureStateUpdateRequestBody": { - "states": [ - { - "keyName": "s1", - "value": true, - "eventTimestamp": "2019-08-16 13:01" - } - ] - } - }, - "responses": { - "200": {}, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/UpdateStateset.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/UpdateStateset.json deleted file mode 100644 index 02d4c988a0a1..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/UpdateStateset.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]", - "statesetId": "b24bdb73-1305-3212-1909-a428d937b64", - "statesetStyleUpdateRequestBody": { - "styles": [ - { - "keyname": "s1", - "type": "boolean", - "rules": [ - { - "true": "#FFFF00", - "false": "#FFFFFF" - } - ] - }, - { - "keyname": "s2", - "type": "number", - "rules": [ - { - "range": { - "exclusiveMaximum": 50 - }, - "color": "#343deb" - }, - { - "range": { - "minimum": 50, - "exclusiveMaximum": 69 - }, - "color": "#34ebb1" - }, - { - "range": { - "minimum": 69, - "exclusiveMaximum": 90 - }, - "color": "#eba834" - }, - { - "range": { - "minimum": 90 - }, - "color": "#eb3434" - } - ] - } - ] - } - }, - "responses": { - "200": {}, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/featurestate.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/featurestate.json deleted file mode 100644 index 2ba054df55af..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/featurestate.json +++ /dev/null @@ -1,875 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Azure Maps Feature State Service", - "version": "1.0", - "description": "APIs for managing the dynamic feature states in Azure Maps." - }, - "x-ms-parameterized-host": { - "hostTemplate": "{geography}.atlas.microsoft.com", - "parameters": [ - { - "$ref": "#/parameters/GeographicResourceLocation" - } - ] - }, - "schemes": [ - "https" - ], - "consumes": [], - "produces": [ - "application/json" - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", - "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." - } - }, - "apiKeyQuery": { - "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", - "name": "subscription-key", - "in": "query" - } - }, - "security": [ - { - "azure_auth": [] - }, - { - "apiKeyQuery": [] - } - ], - "responses": { - "400": { - "description": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "401": { - "description": "Access denied due to invalid subscription key or invalid Azure Active Directory (Azure AD) bearer token. Make sure to provide a valid key for an active Azure subscription and Maps resource. Otherwise, verify the [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header for error code and description of the provided Azure AD bearer token.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - }, - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Bearer realm=\"https://atlas.microsoft.com/\", error=\"invalid_token\", error_description=\"The access token expired\"" - } - } - }, - "403": { - "description": "Permission, capacity, or authentication issues.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "404": { - "description": "Not Found: the requested resource could not be found, but it may be available again in the future.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "409": { - "description": "The request could not be completed due to a conflict with the current state of the resource. Likely caused by a parallel update to the same resource.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "500": { - "description": "An error occurred while processing the request. Please try again later.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - } - }, - "parameters": { - "GeographicResourceLocation": { - "name": "geography", - "description": "This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu.", - "in": "path", - "required": true, - "type": "string", - "default": "us", - "enum": [ - "us", - "eu" - ], - "x-ms-enum": { - "name": "GeographicResourceLocation", - "modelAsString": true, - "values": [ - { - "value": "us", - "description": "Used to access an Azure Maps Creator resource in the United States" - }, - { - "value": "eu", - "description": "Used to access an Azure Maps Creator resource in Europe" - } - ] - }, - "x-ms-parameter-location": "client" - }, - "SubscriptionKey": { - "name": "subscription-key", - "description": "One of the Azure Maps keys provided from an Azure Map Account. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication) for details on how to manage authentication.", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "client" - }, - "ApiVersion": { - "name": "api-version", - "description": "Version number of Azure Maps API. Current version is 1.0", - "type": "string", - "in": "query", - "required": true, - "default": "1.0", - "x-ms-parameter-location": "client" - }, - "DatasetIdForCreate": { - "name": "datasetId", - "description": "The datasetId must have been obtained from a successful [Dataset Create API](https://review.docs.microsoft.com/en-us/rest-staging/api/maps-master/dataset/createpreview?branch=lbs) call.", - "type": "string", - "in": "query", - "required": true, - "x-ms-parameter-location": "method" - }, - "StatesetId": { - "name": "statesetId", - "description": "The stateset id that was created.", - "type": "string", - "in": "query", - "required": true, - "x-ms-parameter-location": "method" - }, - "StatesetIdInPath": { - "name": "statesetId", - "description": "The stateset id that was created.", - "type": "string", - "in": "path", - "required": true, - "x-ms-parameter-location": "method" - }, - "FeatureIdSet": { - "name": "featureId", - "description": "The id of a feature in the given dataset. If the featureId is not present in the dataset, Bad Request response will be returned.", - "type": "string", - "in": "query", - "required": true, - "x-ms-parameter-location": "method" - }, - "FeatureIdGet": { - "name": "featureId", - "description": "The id of a feature in the given stateset. If no state was set for the featureId in the stateset earlier, Bad Request response will be returned.", - "type": "string", - "in": "query", - "required": true, - "x-ms-parameter-location": "method" - }, - "FeatureIdDelete": { - "name": "featureId", - "description": "The id of a feature in the given stateset. If no state was set for the featureId in the stateset earlier, Bad Request response will be returned.", - "type": "string", - "in": "query", - "required": true, - "x-ms-parameter-location": "method" - }, - "StateKeyNameDelete": { - "name": "stateKeyName", - "description": "The Name of the state to be deleted.", - "type": "string", - "in": "query", - "required": true, - "x-ms-parameter-location": "method" - } - }, - "paths": { - "/featureState/stateset/{statesetId}": { - "get": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nThis GET API allows the user to get the stateset Information.\n\nThe stateset Information includes the datasetId associated to the stateset, and the styles of that stateset.", - "operationId": "FeatureState_GetStatesetPreview", - "x-ms-examples": { - "Get stateset information with a statesetId": { - "$ref": "./examples/GetStateset.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/StatesetIdInPath" - } - ], - "responses": { - "200": { - "description": "Get request completed successfully.", - "schema": { - "$ref": "#/definitions/StatesetGetResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - }, - "delete": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).
This DELETE API allows the user to delete the stateset and the associated data.", - "operationId": "FeatureState_DeleteStatesetPreview", - "x-ms-examples": { - "Delete an existing stateset": { - "$ref": "./examples/DeleteStateset.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/StatesetIdInPath" - } - ], - "responses": { - "204": { - "description": "Stateset Deleted." - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - }, - "put": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nThis PUT API allows the user to update the stateset style rules.", - "operationId": "FeatureState_PutStatesetPreview", - "x-ms-examples": { - "Update stateset style rules with a statesetId": { - "$ref": "./examples/UpdateStateset.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/StatesetIdInPath" - }, - { - "name": "statesetStyleUpdateRequestBody", - "in": "body", - "description": "The stateset style JSON data. Only style rules are allowed to be updated, update on keyname and type is not allowed.", - "required": true, - "schema": { - "$ref": "#/definitions/StylesObject" - } - } - ], - "responses": { - "200": { - "description": "Stateset styles are updated successfully." - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/featureState/stateset": { - "post": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nThis POST API allows the user to create a new Stateset and define stateset style using request body.\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Feature State API is part of Creator. \n\nThe Feature State service allows the user to update the states of a feature and query them to be used in other services. The dynamic properties of a feature that don't belong to the dataset are referred to as *states* here.\n\nThis Feature State service pivot on the Stateset. Like Tileset, Stateset encapsulates the storage mechanism for feature states for a dataset.\n\nOnce the stateset is created, users can use that statesetId to post feature state updates and retrieve the current feature states. A feature can have only one state at a given point in time. \n\nFeature state is defined by the key name, value and the timestamp. When a feature state update is posted to Azure Maps, the state value gets updated only if the provided state’s timestamp is later than the stored timestamp. \n\nAzure Maps MapControl provides a way to use these feature states to style the features. Please refer to the State Tile documentation for more information.", - "operationId": "FeatureState_CreateStatesetPreview", - "x-ms-examples": { - "Create a new stateset with a datasetId": { - "$ref": "./examples/CreateStateset.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/DatasetIdForCreate" - }, - { - "name": "statesetCreateRequestBody", - "in": "body", - "description": "The stateset style JSON data.", - "required": true, - "schema": { - "$ref": "#/definitions/StylesObject" - } - } - ], - "responses": { - "200": { - "description": "Stateset created.", - "schema": { - "$ref": "#/definitions/StatesetCreatedResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - }, - "get": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).
This API allows the caller to fetch a list of all previously successfully created statesets.", - "operationId": "FeatureState_ListStatesetPreview", - "x-ms-examples": { - "List all the previously created statesets": { - "$ref": "./examples/Stateset_List.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "The list stateset request completed successfully. The response body contains a list of all the previously created statesets.", - "schema": { - "$ref": "#/definitions/StatesetListResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/featureState/state": { - "get": { - "x-publish": true, - "operationId": "FeatureState_GetStatesPreview", - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).
This API returns the current state information associated with the given feature in the given stateset.", - "x-ms-examples": { - "Get the current states of a feature": { - "$ref": "./examples/GetStates.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/StatesetId" - }, - { - "$ref": "#/parameters/FeatureIdGet" - } - ], - "responses": { - "200": { - "description": "Get request completed successfully.", - "schema": { - "$ref": "#/definitions/FeatureStatesStructure" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - }, - "post": { - "x-publish": true, - "operationId": "FeatureState_UpdateStatesPreview", - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).
\nThis POST API allows the user to update the state of the given feature in the given stateset.", - "x-ms-examples": { - "Update the states of a feature": { - "$ref": "./examples/UpdateStates.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/StatesetId" - }, - { - "$ref": "#/parameters/FeatureIdSet" - }, - { - "name": "featureStateUpdateRequestBody", - "in": "body", - "description": "The feature state JSON data. A feature can have only one state at a given point in time. The specified state keyname must have been defined during the stateset creation.", - "required": true, - "schema": { - "$ref": "#/definitions/FeatureStatesStructure" - } - } - ], - "responses": { - "200": { - "description": "Feature states are updated successfully." - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - }, - "delete": { - "x-publish": true, - "operationId": "FeatureState_DeleteStatePreview", - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).
This API deletes the state information identified by the StateKeyName parameter for the feature identified by the FeatureId parameter in the the stateset.", - "x-ms-examples": { - "Delete the given feature state": { - "$ref": "./examples/DeleteFeatureState.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/StatesetId" - }, - { - "$ref": "#/parameters/FeatureIdDelete" - }, - { - "$ref": "#/parameters/StateKeyNameDelete" - } - ], - "responses": { - "200": { - "description": "Feature states deleted successfully." - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "409": { - "$ref": "#/responses/409" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - } - }, - "definitions": { - "ODataErrorResponse": { - "type": "object", - "description": "This response object is returned when an error occurs in the Azure Maps API.", - "properties": { - "error": { - "$ref": "#/definitions/ODataError" - } - } - }, - "ODataError": { - "type": "object", - "description": "This object is returned when an error occurs in the Azure Maps API.", - "properties": { - "code": { - "type": "string", - "readOnly": true, - "description": "The ODataError code." - }, - "message": { - "type": "string", - "readOnly": true, - "description": "If available, a human-readable description of the error." - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/ODataError" - } - }, - "target": { - "type": "string", - "readOnly": true, - "description": "If available, the target causing the error." - } - } - }, - "StatesetGetResponse": { - "description": "The response model for the successful Stateset Get API.", - "type": "object", - "properties": { - "datasetIdList": { - "description": "Dataset ID associated with the stateset.", - "type": "array", - "items": { - "type": "string" - } - }, - "statesetStyle": { - "$ref": "#/definitions/StylesObject" - } - } - }, - "StatesetListResponse": { - "description": "The response model for the successful Stateset List API.", - "type": "object", - "properties": { - "statesetDetailList": { - "description": "A list of statesets information.", - "type": "array", - "items": { - "$ref": "#/definitions/StatesetInfoObject" - } - } - } - }, - "StatesetInfoObject": { - "description": "The stateset information detail.", - "type": "object", - "properties": { - "statesetId": { - "description": "The stateset ID of this stateset.", - "type": "string" - }, - "datasetIdList": { - "description": "Dataset ID associated with the stateset.", - "type": "array", - "items": { - "type": "string" - } - }, - "statesetStyle": { - "$ref": "#/definitions/StylesObject" - } - } - }, - "StatesetCreatedResponse": { - "description": "The response model for the successful Stateset Create API.", - "type": "object", - "properties": { - "statesetId": { - "description": "The ID for the new stateset created.", - "type": "string", - "readOnly": true - } - } - }, - "FeatureStatesStructure": { - "description": "The feature states model for a feature.", - "type": "object", - "properties": { - "states": { - "description": "The feature states array.", - "type": "array", - "items": { - "$ref": "#/definitions/FeatureStateObject" - } - } - } - }, - "FeatureStateObject": { - "description": "Single feature state model.", - "type": "object", - "properties": { - "keyName": { - "description": "Feature state Keyname.", - "type": "string" - }, - "value": { - "description": "Value for the feature state.", - "type": "object" - }, - "eventTimestamp": { - "description": "Timestamp when the feature state was captured.", - "type": "string" - } - } - }, - "StylesObject": { - "description": "The styles model.", - "type": "object", - "properties": { - "styles": { - "description": "An array of stateset styles. The style rule could be a numeric or string or a boolean type style rule. Refer to NumberRuleObject, StringRuleObject and BooleanRuleObject definitions [here](https://aka.ms/AzureMapsStatesetStylesObject). ", - "type": "array", - "items": { - "$ref": "#/definitions/StyleObject" - } - } - } - }, - "StyleObject": { - "description": "The stateset style model. The style rule could be a numeric type style rule or a boolean type style rule. Refer to NumberRuleObject, StringRuleObject and BooleanRuleObject definitions [here](https://aka.ms/AzureMapsStatesetStylesObject). ", - "type": "object" - }, - "NumberRuleObject": { - "description": "The numeric rule", - "type": "object", - "properties": { - "range": { - "$ref": "#/definitions/RangeObject" - }, - "color": { - "description": "Color is a JSON string in a variety of permitted formats, HTML-style hex values, RGB (\"#ff0\", \"#ffff00\", \"rgb(255, 255, 0)\"), RGBA (\"rgba(255, 255, 0, 1)\"), HSL(\"hsl(100, 50%, 50%)\"), and HSLA(\"hsla(100, 50%, 50%, 1)\"). Predefined HTML colors names, like yellow and blue, are also permitted.", - "type": "string" - } - } - }, - "RangeObject": { - "description": "The numeric value range for this style rule, If the value is in the range, all the conditions must hold true.", - "type": "object", - "properties": { - "minimum": { - "description": "All the number x that x ≥ minimum.", - "type": "number", - "format": "double" - }, - "maximum": { - "description": "All the number x that x ≤ maximum.", - "type": "number", - "format": "double" - }, - "exclusiveMinimum": { - "description": "All the number x that x > exclusiveMinimum.", - "type": "number", - "format": "double" - }, - "exclusiveMaximum": { - "description": "All the number x that x < exclusiveMaximum.", - "type": "number", - "format": "double" - } - } - }, - "BooleanRuleObject": { - "description": "the boolean rule", - "type": "object", - "properties": { - "true": { - "description": "The color when value is true.", - "type": "string" - }, - "false": { - "description": "The color when value is false.", - "type": "string" - } - } - }, - "StringRuleObject": { - "description": "The string rule. The string value matching is case sensitive. If a feature's state doesn't match any of the values defined here, that feature will not have any dynamic style. If duplicate string values are given, the first one takes precedence.", - "type": "object", - "properties": { - "stateValue1": { - "description": "The color when value string is stateValue1.", - "type": "string" - }, - "stateValue2": { - "description": "The color when value string is stateValue2.", - "type": "string" - }, - "stateValueN": { - "description": "The color when value string is stateValueN.", - "type": "string" - } - } - }, - "StyleRuleBase": { - "description": "contains common properties for numeric, string and boolean style rules.", - "discriminator": "type", - "required": [ - "keyName", - "type" - ], - "properties": { - "keyName": { - "description": "Stateset style key name. Key names are random strings but they should be unique inside style array.", - "type": "string" - }, - "type": { - "description": "The type of stateset style.", - "type": "string", - "enum": [ - "number", - "boolean", - "string" - ] - } - } - }, - "BooleanTypeStyleRule": { - "description": "the boolean type style rule object.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/StyleRuleBase" - } - ], - "properties": { - "rules": { - "description": "Boolean style rules.", - "type": "array", - "items": { - "$ref": "#/definitions/BooleanRuleObject" - } - } - } - }, - "NumberTypeStyleRule": { - "description": "The numeric type style rule object.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/StyleRuleBase" - } - ], - "properties": { - "rules": { - "description": "Numeric style rules.", - "type": "array", - "items": { - "$ref": "#/definitions/NumberRuleObject" - } - } - } - }, - "StringTypeStyleRule": { - "description": "The string type style rule object.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/StyleRuleBase" - } - ], - "properties": { - "rules": { - "description": "String style rules.", - "type": "array", - "items": { - "$ref": "#/definitions/StringRuleObject" - } - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/2.0/featurestate.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/2.0/featurestate.json index 5a3cb74172c4..350f6c6c0e7e 100644 --- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/2.0/featurestate.json +++ b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/2.0/featurestate.json @@ -21,28 +21,39 @@ "application/json" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { diff --git a/specification/maps/data-plane/Microsoft.Maps/Feedback/preview/1.0/feedback.json b/specification/maps/data-plane/Microsoft.Maps/Feedback/preview/1.0/feedback.json index ee3fcae13137..cadd50ab6c0d 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Feedback/preview/1.0/feedback.json +++ b/specification/maps/data-plane/Microsoft.Maps/Feedback/preview/1.0/feedback.json @@ -14,28 +14,39 @@ "application/xml" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { diff --git a/specification/maps/data-plane/Microsoft.Maps/Geolocation/preview/1.0/geolocation.json b/specification/maps/data-plane/Microsoft.Maps/Geolocation/preview/1.0/geolocation.json index d5540b97f505..c56a90f64d14 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Geolocation/preview/1.0/geolocation.json +++ b/specification/maps/data-plane/Microsoft.Maps/Geolocation/preview/1.0/geolocation.json @@ -14,28 +14,39 @@ "application/json" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { @@ -128,8 +139,8 @@ "/geolocation/ip/{format}": { "get": { "x-publish": true, - "description": "\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis service will return the ISO country code for the provided IP address. Developers can use this information to block or alter certain content based on geographical locations where the application is being viewed from. \n\n\n__Note:__ This service returns results from IANA and does not necessarily reflect the views of Microsoft Corporation.", - "operationId": "Geolocation_GetIPToLocationPreview", + "description": "\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis service will return the ISO country code for the provided IP address. Developers can use this information to block or alter certain content based on geographical locations where the application is being viewed from.", + "operationId": "Geolocation_GetIPToLocation", "x-ms-examples": { "GetLocationByIpAddress": { "$ref": "./examples/GetLocationByIpAddress.json" @@ -239,7 +250,7 @@ "readOnly": true, "properties": { "isoCode": { - "description": "The IP Address's 2-character code [(ISO 3166-1)](https://www.iso.org/iso-3166-country-codes.html) of the country or region as assigned by IANA and regional internet authorities. Please note, IP address in ranges reserved for special purpose will return Null for country/region.", + "description": "The IP Address's 2-character code [(ISO 3166-1)](https://www.iso.org/iso-3166-country-codes.html) of the country or region. Please note, IP address in ranges reserved for special purpose will return Null for country/region.", "type": "string", "readOnly": true } diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetMetroArea.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetMetroArea.json deleted file mode 100644 index 82d62473f11d..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetMetroArea.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "parameters": { - "api-version": "1.0", - "format": "json", - "query": "40.648677,-74.010535", - "queryType": "position" - }, - "responses": { - "200": { - "body": { - "results": [ - { - "metroId": 121, - "metroName": "NYC-NJ", - "viewport": { - "topLeftPoint": { - "latitude": 42.21254, - "longitude": -75.68527 - }, - "btmRightPoint": { - "latitude": 38.87921, - "longitude": -71.83323 - } - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - -73.08158, - 41.18596 - ], - [ - -73.12026, - 41.23447 - ], - [ - -73.17959, - 41.25386 - ], - [ - -73.25697, - 41.18014 - ], - [ - -73.36529, - 41.18401 - ], - [ - -73.36013, - 41.39719 - ], - [ - -73.08158, - 41.18596 - ] - ] - ] - } - } - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetMetroAreaInfo.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetMetroAreaInfo.json deleted file mode 100644 index 34064024fa0d..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetMetroAreaInfo.json +++ /dev/null @@ -1,360 +0,0 @@ -{ - "parameters": { - "api-version": "1.0", - "format": "json", - "query": "121", - "detailType": "agencies" - }, - "responses": { - "200": { - "body": { - "metroName": "NYC-NJ", - "agencies": [ - { - "agencyId": "121---10368", - "agencyKey": "LIBUS", - "agencyName": "NICE bus", - "transitType": { - "transitType": "Bus", - "captionOverride": "Bus" - } - }, - { - "agencyId": "121---10369", - "agencyKey": "GOOGLESTAM_TRANSIT", - "agencyName": "CT Transit- Stamford", - "transitType": { - "transitType": "Bus", - "captionOverride": "Bus" - } - }, - { - "agencyId": "121---10370", - "agencyKey": "0", - "agencyName": "Norwalk Transit District", - "transitType": { - "transitType": "Bus", - "captionOverride": "Bus" - } - }, - { - "agencyId": "121---516", - "agencyKey": "NJB", - "agencyName": "NJ Transit", - "transitType": { - "transitType": "Bus", - "captionOverride": "Bus" - } - }, - { - "agencyId": "121---1175189", - "agencyKey": "42700", - "agencyName": "Statue Cruises", - "transitType": { - "transitType": "Ferry", - "captionOverride": "Ferry" - } - }, - { - "agencyId": "121---1058901", - "agencyKey": "SCT", - "agencyName": "Suffolk County Transit", - "transitType": { - "transitType": "Bus", - "captionOverride": "Bus" - } - }, - { - "agencyId": "121---1175188", - "agencyKey": "42705", - "agencyName": "Seastreak", - "transitType": { - "transitType": "Ferry", - "captionOverride": "Ferry" - } - }, - { - "agencyId": "121---1217492", - "agencyKey": "1", - "agencyName": "NYC Ferry Shuttle bus", - "transitType": { - "transitType": "Bus", - "captionOverride": "Bus" - } - }, - { - "agencyId": "121---726988", - "agencyKey": "LI", - "agencyName": "LIRR", - "transitType": { - "transitType": "Rail", - "captionOverride": "Rail" - } - }, - { - "agencyId": "121---1217493", - "agencyKey": "1", - "agencyName": "NYC Ferry", - "transitType": { - "transitType": "Ferry", - "captionOverride": "Ferry" - } - }, - { - "agencyId": "121---855111", - "agencyKey": "MTA NYCT", - "agencyName": "MTA Subway", - "transitType": { - "transitType": "Subway", - "captionOverride": "Subway" - } - }, - { - "agencyId": "121---855110", - "agencyKey": "MTA NYCT", - "agencyName": "Staten Island Railway", - "transitType": { - "transitType": "Rail", - "captionOverride": "Rail" - } - }, - { - "agencyId": "121---5844", - "agencyKey": "151", - "agencyName": "PATH", - "transitType": { - "transitType": "Rail", - "captionOverride": "Rail" - } - }, - { - "agencyId": "121---965398", - "agencyKey": "631", - "agencyName": "Port Authority of NY and NJ", - "transitType": { - "transitType": "Bus", - "captionOverride": "Bus" - } - }, - { - "agencyId": "121---865943", - "agencyKey": "5942", - "agencyName": "Suffolk County Transit", - "transitType": { - "transitType": "Bus", - "captionOverride": "Bus" - } - }, - { - "agencyId": "121---1020565", - "agencyKey": "24415", - "agencyName": "Staten Island Ferry", - "transitType": { - "transitType": "Ferry", - "captionOverride": "Ferry" - } - }, - { - "agencyId": "121---865942", - "agencyKey": "14639", - "agencyName": "Long Beach NY", - "transitType": { - "transitType": "Bus", - "captionOverride": "Bus" - } - }, - { - "agencyId": "121---1358024", - "agencyKey": "72", - "agencyName": "Ulster County Area Transit", - "transitType": { - "transitType": "Bus", - "captionOverride": "Bus" - } - }, - { - "agencyId": "121---1325321", - "agencyKey": "58939", - "agencyName": "Hampton Jitney", - "transitType": { - "transitType": "Bus", - "captionOverride": "Bus" - } - }, - { - "agencyId": "121---1440628", - "agencyKey": "63882", - "agencyName": "Housatonic Area Regional Transit", - "transitType": { - "transitType": "Bus", - "captionOverride": "Bus" - } - }, - { - "agencyId": "121---775148", - "agencyKey": "119", - "agencyName": "AirTrain", - "transitType": { - "transitType": "Tram", - "captionOverride": "Light Rail" - } - }, - { - "agencyId": "121---427", - "agencyKey": "1", - "agencyName": "Metro-North Railroad", - "transitType": { - "transitType": "Rail", - "captionOverride": "Rail" - } - }, - { - "agencyId": "121---856508", - "agencyKey": "5705", - "agencyName": "Roosevelt Island Cable Car", - "transitType": { - "transitType": "Bus", - "captionOverride": "Bus" - } - }, - { - "agencyId": "121---1460323", - "agencyKey": "65856", - "agencyName": "Downtown Alliance", - "transitType": { - "transitType": "Bus", - "captionOverride": "Bus" - } - }, - { - "agencyId": "121---856507", - "agencyKey": "5705", - "agencyName": "Roosevelt Island Cable Car", - "transitType": { - "transitType": "CableCar", - "captionOverride": "Cable car" - } - }, - { - "agencyId": "121---1227748", - "agencyKey": "SLE", - "agencyName": "Shore Line East", - "transitType": { - "transitType": "Rail", - "captionOverride": "Rail" - } - }, - { - "agencyId": "121---856506", - "agencyKey": "5703", - "agencyName": "NY Waterway", - "transitType": { - "transitType": "Ferry", - "captionOverride": "Ferry" - } - }, - { - "agencyId": "121---1367715", - "agencyKey": "67", - "agencyName": "Dutchess County Public Transit", - "transitType": { - "transitType": "Bus", - "captionOverride": "Bus" - } - }, - { - "agencyId": "121---10169", - "agencyKey": "NJT", - "agencyName": "NJ Transit Rail", - "transitType": { - "transitType": "Rail", - "captionOverride": "Rail" - } - }, - { - "agencyId": "121---10170", - "agencyKey": "NJT", - "agencyName": "NJ Transit Rail", - "transitType": { - "transitType": "Tram", - "captionOverride": "Light Rail" - } - }, - { - "agencyId": "121---857463", - "agencyKey": "MTA NYCT", - "agencyName": "MTA Bus", - "transitType": { - "transitType": "Bus", - "captionOverride": "Bus" - } - }, - { - "agencyId": "121---11515", - "agencyKey": "WCDOT", - "agencyName": "Bee-Line Bus", - "transitType": { - "transitType": "Bus", - "captionOverride": "Bus" - } - }, - { - "agencyId": "121---1177901", - "agencyKey": "0", - "agencyName": "LANTA", - "transitType": { - "transitType": "Bus", - "captionOverride": "Bus" - } - } - ], - "isFaresSupported": "true" - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetNearbyTransit.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetNearbyTransit.json deleted file mode 100644 index 963d9675101b..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetNearbyTransit.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "parameters": { - "api-version": "1.0", - "format": "json", - "query": "40.693393,-73.988310", - "radius": 300 - }, - "responses": { - "200": { - "body": { - "results": [ - { - "id": "121---14013676", - "type": "stop", - "objectDetails": { - "stopKey": "307460", - "stopName": "Adams St/Bklyn Supreme Crt", - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - "position": { - "latitude": 40.69256, - "longitude": -73.989131 - }, - "viewport": { - "topLeftPoint": { - "latitude": 40.693471, - "longitude": -73.9903 - }, - "btmRightPoint": { - "latitude": 40.691648, - "longitude": -73.987961 - } - } - }, - { - "id": "121---14013518", - "type": "stop", - "objectDetails": { - "stopKey": "306969", - "stopName": "Jay St/Willoughby St", - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - "position": { - "latitude": 40.692661, - "longitude": -73.98718 - }, - "viewport": { - "topLeftPoint": { - "latitude": 40.693572, - "longitude": -73.988349 - }, - "btmRightPoint": { - "latitude": 40.691749, - "longitude": -73.98601 - } - } - }, - { - "id": "121---14011729", - "type": "stop", - "objectDetails": { - "stopKey": "302445", - "stopName": "Jay St/Willoughby St", - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - "position": { - "latitude": 40.692451, - "longitude": -73.987337 - }, - "viewport": { - "topLeftPoint": { - "latitude": 40.693362, - "longitude": -73.988506 - }, - "btmRightPoint": { - "latitude": 40.691539, - "longitude": -73.986167 - } - } - } - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetRealTimeArrivals.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetRealTimeArrivals.json deleted file mode 100644 index 60933fce0b9f..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetRealTimeArrivals.json +++ /dev/null @@ -1,141 +0,0 @@ -{ - "parameters": { - "api-version": "1.0", - "format": "json", - "query": "121---19919516" - }, - "responses": { - "200": { - "body": { - "results": [ - { - "arrivalMinutes": 1, - "scheduleType": "realTime", - "patternId": "121---3120454", - "line": { - "lineId": "121---3128966", - "lineGroupId": "121---400175", - "direction": "forward", - "agencyId": "121---855111", - "agencyName": "MTA Subway", - "lineNumber": "R", - "lineDestination": "Forest Hills - 71 Av", - "transitType": "Subway" - }, - "stop": { - "stopId": "121---19919516", - "stopKey": "S9563736", - "stopName": "45 St [R]", - "position": { - "latitude": 40.648939, - "longitude": -74.010006 - }, - "mainTransitType": "Subway", - "mainAgencyId": "121---855111", - "mainAgencyName": "MTA Subway" - } - }, - { - "arrivalMinutes": 7, - "scheduleType": "realTime", - "patternId": "121---3120453", - "line": { - "lineId": "121---3128969", - "lineGroupId": "121---400175", - "direction": "backward", - "agencyId": "121---855111", - "agencyName": "MTA Subway", - "lineNumber": "R", - "lineDestination": "Bay Ridge - 95 St", - "transitType": "Subway" - }, - "stop": { - "stopId": "121---19919516", - "stopKey": "S9563736", - "stopName": "45 St [R]", - "position": { - "latitude": 40.648939, - "longitude": -74.010006 - }, - "mainTransitType": "Subway", - "mainAgencyId": "121---855111", - "mainAgencyName": "MTA Subway" - } - }, - { - "arrivalMinutes": 13, - "scheduleType": "realTime", - "patternId": "121---3120453", - "line": { - "lineId": "121---3128969", - "lineGroupId": "121---400175", - "direction": "backward", - "agencyId": "121---855111", - "agencyName": "MTA Subway", - "lineNumber": "R", - "lineDestination": "Bay Ridge - 95 St", - "transitType": "Subway" - }, - "stop": { - "stopId": "121---19919516", - "stopKey": "S9563736", - "stopName": "45 St [R]", - "position": { - "latitude": 40.648939, - "longitude": -74.010006 - }, - "mainTransitType": "Subway", - "mainAgencyId": "121---855111", - "mainAgencyName": "MTA Subway" - } - } - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitItinerary.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitItinerary.json deleted file mode 100644 index 91f2c104f189..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitItinerary.json +++ /dev/null @@ -1,253 +0,0 @@ -{ - "parameters": { - "api-version": "1.0", - "format": "json", - "query": "6f1eb44e-255f-4d06-9491-a35ee7864e19---20200929FF43D18907D24B35A1A7454DE7231C89:0---81", - "detailType": [ - "geometry" - ] - }, - "responses": { - "200": { - "body": { - "departureTime": "2020-09-29T20:48:05Z", - "arrivalTime": "2020-09-29T20:53:25Z", - "legs": [ - { - "legType": "Wait", - "legStartTime": "2020-09-29T20:48:05Z", - "legEndTime": "2020-09-29T20:48:05Z", - "lineGroup": { - "lineGroupId": "0---211457", - "agencyId": "0---321", - "agencyName": "CTA", - "lineNumber": "22", - "caption1": "Clark", - "caption2": "22 Clark", - "color": "565A5C", - "transitType": "Bus" - }, - "line": { - "lineId": "0---1151684", - "lineGroupId": "0---211457", - "direction": "forward", - "agencyId": "0---321", - "lineNumber": "22", - "lineDestination": "Southbound - Harrison" - }, - "stops": [ - { - "stopId": "0---161771", - "stopKey": "1853", - "stopName": "Clark & Oak (South)", - "stopCode": "1853", - "position": { - "latitude": 41.900657, - "longitude": -87.631426 - }, - "mainTransitType": "Bus", - "mainAgencyId": "0---321", - "mainAgencyName": "CTA" - }, - { - "stopId": "0---33004397", - "stopKey": "18255", - "stopName": "Clark & Huron (South)", - "stopCode": "18255", - "position": { - "latitude": 41.894729, - "longitude": -87.631288 - }, - "mainTransitType": "Bus", - "mainAgencyId": "0---321", - "mainAgencyName": "CTA" - } - ], - "waitOnVehicle": "false" - }, - { - "legType": "Bus", - "legStartTime": "2020-09-29T20:48:05Z", - "legEndTime": "2020-09-29T20:51:15Z", - "lineGroup": { - "lineGroupId": "81---211457", - "agencyId": "81---321", - "agencyName": "CTA", - "lineNumber": "22", - "caption1": "Clark", - "caption2": "22 Clark", - "color": "565A5C", - "transitType": "Bus" - }, - "line": { - "lineId": "81---1151684", - "lineGroupId": "81---211457", - "direction": "forward", - "agencyId": "81---321", - "lineNumber": "22", - "lineDestination": "Southbound - Harrison" - }, - "stops": [ - { - "stopId": "81---161771", - "stopKey": "1853", - "stopName": "Clark & Oak (South)", - "stopCode": "1853", - "position": { - "latitude": 41.900657, - "longitude": -87.631426 - }, - "mainTransitType": "Bus", - "mainAgencyId": "81---321", - "mainAgencyName": "CTA" - }, - { - "stopId": "81---161772", - "stopKey": "1854", - "stopName": "Clark & Delaware (South)", - "stopCode": "1854", - "position": { - "latitude": 41.899361, - "longitude": -87.631386 - }, - "mainTransitType": "Bus", - "mainAgencyId": "81---321", - "mainAgencyName": "CTA" - }, - { - "stopId": "81---33004397", - "stopKey": "18255", - "stopName": "Clark & Huron (South)", - "stopCode": "18255", - "position": { - "latitude": 41.894729, - "longitude": -87.631288 - }, - "mainTransitType": "Bus", - "mainAgencyId": "81---321", - "mainAgencyName": "CTA" - } - ], - "geometry": { - "type": "LineString", - "coordinates": [ - [ - -87.63157, - 41.90064 - ], - [ - -87.63156, - 41.90057 - ], - [ - -87.63153, - 41.90045 - ], - [ - -87.6315, - 41.90029 - ], - [ - -87.63121, - 41.89508 - ], - [ - -87.63121, - 41.89498 - ], - [ - -87.63121, - 41.89487 - ], - [ - -87.63121, - 41.89481 - ], - [ - -87.6312, - 41.89476 - ], - [ - -87.6312, - 41.89473 - ], - [ - -87.6312, - 41.89472 - ] - ] - }, - "legFare": { - "fares": [ - { - "price": { - "amount": 225, - "currencyCode": "USD" - }, - "usage": "pay" - } - ] - } - } - ], - "itineraryFare": { - "price": { - "amount": 225, - "currencyCode": "USD" - }, - "tickets": [ - { - "amount": 225, - "currencyCode": "USD" - } - ] - } - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitLineInfo.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitLineInfo.json deleted file mode 100644 index ea4d8d7bf140..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitLineInfo.json +++ /dev/null @@ -1,599 +0,0 @@ -{ - "parameters": { - "api-version": "1.0", - "format": "json", - "query": "121---373227", - "detailType": [ - "stops" - ] - }, - "responses": { - "200": { - "body": { - "lineGroup": { - "lineGroupId": "121---373227", - "agencyId": "121---857463", - "agencyName": "MTA Bus", - "lineNumber": "B25", - "caption1": "Dwntn Bklyn & DUMBO - Broadway Junction", - "caption2": "B25 Dwntn Bklyn & DUMBO - Broadway Junction", - "color": "6CBE45", - "transitType": "Bus" - }, - "lines": [ - { - "lineId": "121---1227940", - "lineGroupId": "121---373227", - "direction": "forward", - "agencyId": "121---857463", - "agencyName": "MTA Bus", - "lineNumber": "B25", - "lineDestination": "Broadway Jct Alabama Av Via Fulton", - "mostFrequentPatternId": "121---1581548", - "transitType": "Bus" - }, - { - "lineId": "121---1227941", - "lineGroupId": "121---373227", - "direction": "backward", - "agencyId": "121---857463", - "agencyName": "MTA Bus", - "lineNumber": "B25", - "lineDestination": "Downtown Bklyn Front St Via Fulton", - "mostFrequentPatternId": "121---1701359", - "transitType": "Bus" - } - ], - "stops": [ - { - "stopId": "121---14011984", - "stopKey": "303017", - "stopName": "Fulton St/Ashland Pl", - "position": { - "latitude": 40.687781, - "longitude": -73.978221 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14013637", - "stopKey": "307259", - "stopName": "Fulton St/Thomas S Boyland St", - "position": { - "latitude": 40.678336, - "longitude": -73.913138 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14013639", - "stopKey": "307263", - "stopName": "Fulton St/Van Sinderen Av", - "position": { - "latitude": 40.677816, - "longitude": -73.903542 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14013638", - "stopKey": "307260", - "stopName": "Fulton St/Rockaway Av", - "position": { - "latitude": 40.678189, - "longitude": -73.910359 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14013633", - "stopKey": "307255", - "stopName": "Fulton St/Ralph Av", - "position": { - "latitude": 40.678762, - "longitude": -73.92125 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14013632", - "stopKey": "307254", - "stopName": "Fulton St/Buffalo Av", - "position": { - "latitude": 40.67894, - "longitude": -73.924108 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---31066255", - "stopKey": "901211", - "stopName": "East New York Av/Alabama Av", - "position": { - "latitude": 40.676719, - "longitude": -73.900118 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14013635", - "stopKey": "307257", - "stopName": "Fulton St/Saratoga Av", - "position": { - "latitude": 40.678489, - "longitude": -73.915892 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14013634", - "stopKey": "307256", - "stopName": "Fulton St/Howard Av", - "position": { - "latitude": 40.678615, - "longitude": -73.918564 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011701", - "stopKey": "302376", - "stopName": "Fulton St/Grand Av", - "position": { - "latitude": 40.682362, - "longitude": -73.961824 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011700", - "stopKey": "302375", - "stopName": "Fulton St/St James Pl", - "position": { - "latitude": 40.682662, - "longitude": -73.9633 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14193658", - "stopName": "Front St/York St", - "position": { - "latitude": 40.702464, - "longitude": -73.991858 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011703", - "stopKey": "302378", - "stopName": "Fulton St/Franklin Av", - "position": { - "latitude": 40.680982, - "longitude": -73.955289 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14013751", - "stopKey": "307631", - "stopName": "Fulton St/Eastern Py", - "position": { - "latitude": 40.678066, - "longitude": -73.908188 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011702", - "stopKey": "302377", - "stopName": "Fulton St/Classon Av", - "position": { - "latitude": 40.681579, - "longitude": -73.958134 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011697", - "stopKey": "302371", - "stopName": "Fulton St/Clermont Av", - "position": { - "latitude": 40.683904, - "longitude": -73.968617 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011696", - "stopKey": "302370", - "stopName": "Fulton St/Carlton Av", - "position": { - "latitude": 40.68478, - "longitude": -73.970798 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011699", - "stopKey": "302374", - "stopName": "Fulton St/Washington Av", - "position": { - "latitude": 40.682882, - "longitude": -73.964338 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011698", - "stopKey": "302372", - "stopName": "Fulton St/Clinton Av", - "position": { - "latitude": 40.683332, - "longitude": -73.966593 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14013629", - "stopKey": "307251", - "stopName": "Fulton St/Troy Av", - "position": { - "latitude": 40.679501, - "longitude": -73.934459 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011964", - "stopKey": "302948", - "stopName": "Fulton St/Flatbush Av Ext", - "position": { - "latitude": 40.688976, - "longitude": -73.981278 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011708", - "stopKey": "302383", - "stopName": "Fulton St/Kingston Av", - "position": { - "latitude": 40.67988, - "longitude": -73.941381 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14013631", - "stopKey": "307253", - "stopName": "Fulton St/Utica Av", - "position": { - "latitude": 40.67919, - "longitude": -73.928636 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14013630", - "stopKey": "307252", - "stopName": "Fulton St/Schenectady Av", - "position": { - "latitude": 40.679398, - "longitude": -73.932497 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14013689", - "stopKey": "307491", - "stopName": "Fulton St/Hoyt St", - "position": { - "latitude": 40.69069, - "longitude": -73.985547 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011705", - "stopKey": "302380", - "stopName": "Fulton St/Nostrand Av", - "position": { - "latitude": 40.680301, - "longitude": -73.949161 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14013881", - "stopKey": "307926", - "stopName": "Fulton St/Albany Av", - "position": { - "latitude": 40.679664, - "longitude": -73.937573 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011704", - "stopKey": "302379", - "stopName": "Fulton St/Bedford Av", - "position": { - "latitude": 40.6805, - "longitude": -73.952805 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011963", - "stopKey": "302947", - "stopName": "Fulton St/Bond St", - "position": { - "latitude": 40.689709, - "longitude": -73.983099 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011707", - "stopKey": "302382", - "stopName": "Fulton St/Brooklyn Av", - "position": { - "latitude": 40.680033, - "longitude": -73.944167 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011962", - "stopKey": "302945", - "stopName": "Fulton St/Smith St", - "position": { - "latitude": 40.69148, - "longitude": -73.987534 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011706", - "stopKey": "302381", - "stopName": "Fulton St/Marcy Av", - "position": { - "latitude": 40.680116, - "longitude": -73.945667 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14406637", - "stopName": "Tillary St/Cadman Pz E", - "position": { - "latitude": 40.696046, - "longitude": -73.990383 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011693", - "stopKey": "302359", - "stopName": "Cadman Plz W/Cadman Tower", - "position": { - "latitude": 40.698348, - "longitude": -73.991565 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011692", - "stopKey": "302358", - "stopName": "Cadman Pz W/Clark St", - "position": { - "latitude": 40.696696, - "longitude": -73.991464 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14013676", - "stopKey": "307460", - "stopName": "Adams St/Bklyn Supreme Crt", - "position": { - "latitude": 40.69256, - "longitude": -73.989131 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011695", - "stopKey": "302369", - "stopName": "Fulton St/S Portland Av", - "position": { - "latitude": 40.686059, - "longitude": -73.974034 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14013934", - "stopKey": "308025", - "stopName": "Water St/Main St", - "position": { - "latitude": 40.703318, - "longitude": -73.991102 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011694", - "stopKey": "302368", - "stopName": "Fulton St/Lafayette Av", - "position": { - "latitude": 40.687146, - "longitude": -73.97669 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011689", - "stopKey": "302355", - "stopName": "Old Fulton St/Elizabeth Pl", - "position": { - "latitude": 40.702666, - "longitude": -73.993952 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011691", - "stopKey": "302357", - "stopName": "Cadman Pz W/Middagh St", - "position": { - "latitude": 40.699591, - "longitude": -73.99129 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - { - "stopId": "121---14011690", - "stopKey": "302356", - "stopName": "Old Fulton St/Henry St", - "position": { - "latitude": 40.701021, - "longitude": -73.991449 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - } - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitRoute.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitRoute.json deleted file mode 100644 index 280920327153..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitRoute.json +++ /dev/null @@ -1,268 +0,0 @@ -{ - "parameters": { - "api-version": "1.0", - "format": "json", - "origin": "41.948437, -87.655334", - "originType": "position", - "destination": "41.878876, -87.635918", - "destinationType": "position", - "modeType": "publicTransit", - "transitType": "bus" - }, - "responses": { - "200": { - "body": { - "results": [ - { - "itineraryId": "41372ab5-8577-481a-ab24-e84572fe69a5---2020092910DC67FA27034F15A29F4AE5415ADAF2:0---81", - "departureTime": "2020-09-30T00:30:29Z", - "arrivalTime": "2020-09-30T01:18:16Z", - "travelTimeInSeconds": 2867, - "numberOfLegs": 4, - "legs": [ - { - "legType": "Walk", - "legStartTime": "2020-09-30T00:30:29Z", - "legEndTime": "2020-09-30T00:34:01Z", - "caption": "North Clark Street", - "lengthInMeters": 196 - }, - { - "legType": "Wait", - "legStartTime": "2020-09-30T00:34:01Z", - "legEndTime": "2020-09-30T00:35:02Z", - "caption": "22" - }, - { - "legType": "Bus", - "legStartTime": "2020-09-30T00:35:02Z", - "legEndTime": "2020-09-30T01:12:52Z", - "caption": "22", - "lengthInMeters": 8463, - "legFare": { - "fares": [ - { - "price": { - "amount": 225, - "currencyCode": "USD" - }, - "usage": "pay" - } - ] - } - }, - { - "legType": "Walk", - "legStartTime": "2020-09-30T01:12:53Z", - "legEndTime": "2020-09-30T01:18:16Z", - "lengthInMeters": 421 - } - ], - "itineraryFare": { - "price": { - "amount": 225, - "currencyCode": "USD" - }, - "tickets": [ - { - "amount": 225, - "currencyCode": "USD" - } - ] - } - }, - { - "itineraryId": "41372ab5-8577-481a-ab24-e84572fe69a5---2020092910DC67FA27034F15A29F4AE5415ADAF2:1---81", - "departureTime": "2020-09-30T00:32:42Z", - "arrivalTime": "2020-09-30T01:26:29Z", - "travelTimeInSeconds": 3227, - "numberOfLegs": 3, - "legs": [ - { - "legType": "Walk", - "legStartTime": "2020-09-30T00:32:42Z", - "legEndTime": "2020-09-30T00:39:40Z", - "caption": "West Sheridan Road", - "lengthInMeters": 480 - }, - { - "legType": "Wait", - "legStartTime": "2020-09-30T00:39:40Z", - "legEndTime": "2020-09-30T00:40:41Z", - "caption": "151" - }, - { - "legType": "Bus", - "legStartTime": "2020-09-30T00:40:41Z", - "legEndTime": "2020-09-30T01:26:29Z", - "caption": "151", - "lengthInMeters": 10539, - "legFare": { - "fares": [ - { - "price": { - "amount": 225, - "currencyCode": "USD" - }, - "usage": "pay" - } - ] - } - } - ], - "itineraryFare": { - "price": { - "amount": 225, - "currencyCode": "USD" - }, - "tickets": [ - { - "amount": 225, - "currencyCode": "USD" - } - ] - } - }, - { - "itineraryId": "41372ab5-8577-481a-ab24-e84572fe69a5---2020092910DC67FA27034F15A29F4AE5415ADAF2:2---81", - "departureTime": "2020-09-30T00:28:04Z", - "arrivalTime": "2020-09-30T01:24:46Z", - "travelTimeInSeconds": 3402, - "numberOfLegs": 7, - "legs": [ - { - "legType": "Walk", - "legStartTime": "2020-09-30T00:28:04Z", - "legEndTime": "2020-09-30T00:35:40Z", - "caption": "West Waveland Avenue", - "lengthInMeters": 522 - }, - { - "legType": "Wait", - "legStartTime": "2020-09-30T00:35:40Z", - "legEndTime": "2020-09-30T00:36:41Z", - "caption": "8" - }, - { - "legType": "Bus", - "legStartTime": "2020-09-30T00:36:41Z", - "legEndTime": "2020-09-30T01:09:41Z", - "caption": "8", - "lengthInMeters": 8059, - "legFare": { - "fares": [ - { - "price": { - "amount": 225, - "currencyCode": "USD" - }, - "usage": "pay" - } - ] - } - }, - { - "legType": "Walk", - "legStartTime": "2020-09-30T01:09:42Z", - "legEndTime": "2020-09-30T01:11:59Z", - "caption": "West Van Buren Street", - "lengthInMeters": 174 - }, - { - "legType": "Wait", - "legStartTime": "2020-09-30T01:11:59Z", - "legEndTime": "2020-09-30T01:18:43Z", - "caption": "126" - }, - { - "legType": "Bus", - "legStartTime": "2020-09-30T01:18:43Z", - "legEndTime": "2020-09-30T01:22:45Z", - "caption": "126", - "lengthInMeters": 1092, - "legFare": { - "fares": [ - { - "price": { - "amount": 25, - "currencyCode": "USD" - }, - "usage": "pay" - } - ] - } - }, - { - "legType": "Walk", - "legStartTime": "2020-09-30T01:22:46Z", - "legEndTime": "2020-09-30T01:24:46Z", - "lengthInMeters": 102 - } - ], - "itineraryFare": { - "price": { - "amount": 250, - "currencyCode": "USD" - }, - "tickets": [ - { - "amount": 225, - "currencyCode": "USD" - }, - { - "amount": 25, - "currencyCode": "USD" - } - ] - } - } - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitStopInfo.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitStopInfo.json deleted file mode 100644 index 1f7fc7684b6d..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitStopInfo.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "parameters": { - "api-version": "1.0", - "format": "json", - "query": "121---14013676", - "queryType": "stopId", - "detailType": [ - "lines" - ] - }, - "responses": { - "200": { - "body": { - "stop": { - "stopId": "121---14013676", - "stopKey": "307460", - "stopName": "Adams St/Bklyn Supreme Crt", - "position": { - "latitude": 40.69256, - "longitude": -73.989131 - }, - "mainTransitType": "Bus", - "mainAgencyId": "121---857463", - "mainAgencyName": "MTA Bus" - }, - "lines": [ - { - "lineId": "121---1227940", - "lineGroupId": "121---373227", - "direction": "forward", - "agencyId": "121---857463", - "agencyName": "MTA Bus", - "lineNumber": "B25", - "lineDestination": "Broadway Jct Alabama Av Via Fulton", - "transitType": "Bus" - }, - { - "lineId": "121---1227962", - "lineGroupId": "121---373234", - "direction": "forward", - "agencyId": "121---857463", - "agencyName": "MTA Bus", - "lineNumber": "B38", - "lineDestination": "Ltd Ridgewood Catalpa Av", - "transitType": "Bus" - }, - { - "lineId": "121---1227960", - "lineGroupId": "121---373234", - "direction": "forward", - "agencyId": "121---857463", - "agencyName": "MTA Bus", - "lineNumber": "B38", - "lineDestination": "Ridgewood Metro Av", - "transitType": "Bus" - }, - { - "lineId": "121---1227961", - "lineGroupId": "121---373234", - "direction": "forward", - "agencyId": "121---857463", - "agencyName": "MTA Bus", - "lineNumber": "B38", - "lineDestination": "Ridgewood Catalpa Av", - "transitType": "Bus" - }, - { - "lineId": "121---3996060", - "lineGroupId": "121---373236", - "direction": "backward", - "agencyId": "121---857463", - "agencyName": "MTA Bus", - "lineNumber": "B41", - "lineDestination": "Kings Plaza Via Flatbush", - "transitType": "Bus" - }, - { - "lineId": "121---3996040", - "lineGroupId": "121---373236", - "direction": "backward", - "agencyId": "121---857463", - "agencyName": "MTA Bus", - "lineNumber": "B41", - "lineDestination": "Bergen Beach Veterans Av Via Flatbush", - "transitType": "Bus" - }, - { - "lineId": "121---3996059", - "lineGroupId": "121---373236", - "direction": "backward", - "agencyId": "121---857463", - "agencyName": "MTA Bus", - "lineNumber": "B41", - "lineDestination": "Limited Kings Plaza Via Flatbush", - "transitType": "Bus" - }, - { - "lineId": "121---1227976", - "lineGroupId": "121---373236", - "direction": "backward", - "agencyId": "121---857463", - "agencyName": "MTA Bus", - "lineNumber": "B41", - "lineDestination": "Ltd Bergen Bch Veterans Av Via Flatbush", - "transitType": "Bus" - }, - { - "lineId": "121---1228017", - "lineGroupId": "121---373245", - "direction": "forward", - "agencyId": "121---857463", - "agencyName": "MTA Bus", - "lineNumber": "B52", - "lineDestination": "Ridgewood Term Via Gates", - "transitType": "Bus" - } - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/mobility.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/mobility.json deleted file mode 100644 index 01fbad524e40..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/mobility.json +++ /dev/null @@ -1,2596 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Azure Maps Mobility Service", - "version": "1.0" - }, - "host": "atlas.microsoft.com", - "schemes": [ - "https" - ], - "consumes": [], - "produces": [ - "application/json" - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", - "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." - } - }, - "apiKeyQuery": { - "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", - "name": "subscription-key", - "in": "query" - } - }, - "security": [ - { - "azure_auth": [] - }, - { - "apiKeyQuery": [] - } - ], - "responses": { - "400": { - "description": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "401": { - "description": "Access denied due to invalid subscription key or invalid Azure Active Directory (Azure AD) bearer token. Make sure to provide a valid key for an active Azure subscription and Maps resource. Otherwise, verify the [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header for error code and description of the provided Azure AD bearer token.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - }, - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Bearer realm=\"https://atlas.microsoft.com/\", error=\"invalid_token\", error_description=\"The access token expired\"" - } - } - }, - "403": { - "description": "Permission, capacity, or authentication issues.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "404": { - "description": "Not Found: the requested resource could not be found, but it may be available again in the future.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "500": { - "description": "An error occurred while processing the request. Please try again later.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - } - }, - "parameters": { - "ClientId": { - "name": "x-ms-client-id", - "description": "Specifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.", - "type": "string", - "in": "header", - "required": false, - "x-ms-parameter-location": "client" - }, - "SubscriptionKey": { - "name": "subscription-key", - "description": "One of the Azure Maps keys provided from an Azure Map Account. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication) for details on how to manage authentication.", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "client" - }, - "ApiVersion": { - "name": "api-version", - "description": "Version number of Azure Maps API. Current version is 1.0", - "type": "string", - "in": "query", - "required": true, - "default": "1.0", - "x-ms-parameter-location": "client" - }, - "JsonFormat": { - "name": "format", - "description": "Desired format of the response. Only `json` format is supported.", - "type": "string", - "in": "path", - "required": true, - "enum": [ - "json" - ], - "x-ms-enum": { - "name": "JsonFormat", - "modelAsString": true, - "values": [ - { - "value": "json", - "description": "[The JavaScript Object Notation Data Interchange Format](https://tools.ietf.org/html/rfc8259)" - } - ] - }, - "x-ms-parameter-location": "method" - }, - "MetroId": { - "name": "metroId", - "description": "The unique id of the metro area. Can be retrieved via [Get Metro Area API](https://aka.ms/AzureMapsMobilityMetro).", - "type": "integer", - "format": "int32", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "MobilityLanguage": { - "name": "language", - "description": "Language in which search results will be returned. Only NGT is supported. Please refer to [Supported languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - } - }, - "paths": { - "/mobility/metroArea/id/{format}": { - "get": { - "deprecated": true, - "x-publish": true, - "operationId": "Mobility_GetMetroAreaPreview", - "description": ">[!Important]\n>The Azure Maps Mobility Services Preview has been retired and will no longer be available and supported after October 5, 2021. All other Azure Maps API and Services are unaffected by this retirement announcement.\n>For details, see [Azure Maps Mobility Preview Retirement](https://azure.microsoft.com/updates/azure-maps-mobility-services-preview-retirement/).\n\n\n**Metro Area API**\n\n**Applies to**: S1 pricing tier.\n\nService allows users to request metro areas in which the Azure Maps Mobility Service is available. The service supports filtering results by country or coordinate location. Information returned includes Metro Area details such as metro Id, name and a representation of the metro area geometry in GeoJSON format.", - "x-ms-examples": { - "MetroArea": { - "$ref": "./examples/GetMetroArea.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/JsonFormat" - }, - { - "name": "query", - "description": "The applicable location input. Can be position (specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\") or countryCode (2-character ISO country code).", - "in": "query", - "required": true, - "type": "string" - }, - { - "name": "queryType", - "description": "The type of the query. By default originType=position, specified as a comma separated string composed by latitude followed by longitude, e.g. \"47.641268,-122.125679”.", - "in": "query", - "required": false, - "type": "string", - "default": "position", - "enum": [ - "position", - "countryCode" - ], - "x-ms-enum": { - "name": "MetroAreaQueryType", - "modelAsString": true, - "values": [ - { - "value": "position", - "description": "The origin of the route as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\"." - }, - { - "value": "countryCode", - "description": "2-character [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 country code. E.g. US." - } - ] - }, - "x-ms-parameter-location": "method" - }, - { - "$ref": "#/parameters/MobilityLanguage" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/MetroAreaResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/mobility/metroArea/info/{format}": { - "get": { - "deprecated": true, - "x-publish": true, - "operationId": "Mobility_GetMetroAreaInfoPreview", - "description": ">[!Important]\n>The Azure Maps Mobility Services Preview has been retired and will no longer be available and supported after October 5, 2021. All other Azure Maps API and Services are unaffected by this retirement announcement.\n>For details, see [Azure Maps Mobility Preview Retirement](https://azure.microsoft.com/updates/azure-maps-mobility-services-preview-retirement/).\n\n\n**Metro Area Info API**\n\n**Applies to**: S1 pricing tier.\n\nService allows users to request additional information for metro areas in which the Azure Maps Mobility services are available. Information such as supported transit types, transit agencies and active alerts is available, depending on the options selected. Also, the service returns information if the public transit fare information is available for the requested metro area.", - "x-ms-examples": { - "MetroAreaInfo": { - "$ref": "./examples/GetMetroAreaInfo.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/JsonFormat" - }, - { - "name": "query", - "description": "metroId. The unique id of the metro area. Required parameter specifying the required metro area to search in. Can be retrieved via [Get Metro Area API](https://aka.ms/AzureMapsMobilityTransitRoute).", - "in": "query", - "required": true, - "type": "integer", - "format": "int32" - }, - { - "name": "detailType", - "description": "Specify details requested respective to the metro area as a comma separated list. Supported values are:\n * `agencies` - Return a list of all public transit agencies operating in the given metro area.\n * `alerts` - Returns a list of all active service alerts, that are defined in the metro or agency level, and are not connected to a specific line or stop.\n * `alertDetails` - Applicable only when alerts are requested. Returns details of the alerts.\n * `transitTypes` - Returns a list of all supported transit types in the given metro area.", - "in": "query", - "required": true, - "type": "array", - "items": { - "type": "string", - "enum": [ - "agencies", - "alerts", - "alertDetails", - "transitTypes" - ], - "x-ms-enum": { - "name": "MetroAreaDetailType", - "modelAsString": true, - "values": [ - { - "value": "agencies", - "description": "Return a list of all public transit agencies operating in the given metro area." - }, - { - "value": "alerts", - "description": "Returns a list of all active service alerts, that are defined in the metro or agency level, and are not connected to a specific line or stop." - }, - { - "value": "alertDetails", - "description": "Applicable only when alerts are requested. Returns details of the alerts." - }, - { - "value": "transitTypes", - "description": "Returns a list of all supported transit types in the given metro area." - } - ] - } - }, - "x-ms-parameter-location": "method" - }, - { - "$ref": "#/parameters/MobilityLanguage" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/MetroAreaInfoResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/mobility/transit/nearby/{format}": { - "get": { - "deprecated": true, - "x-publish": true, - "operationId": "Mobility_GetNearbyTransitPreview", - "description": ">[!Important]\n>The Azure Maps Mobility Services Preview has been retired and will no longer be available and supported after October 5, 2021. All other Azure Maps API and Services are unaffected by this retirement announcement.\n>For details, see [Azure Maps Mobility Preview Retirement](https://azure.microsoft.com/updates/azure-maps-mobility-services-preview-retirement/).\n\n\n**Find Nearby Transit API**\n\n**Applies to**: S1 pricing tier.\n\nGet Nearby Transit service allows you to search public transit stops around a given location returning the transit object details. Service allows users to search for public transit stops within a given radius returning a set of stops with stop details. Additional information such as transit operator information is returned depending on the options selected. The returned information can be used for further processing such as requesting [real-time arrivals](https://aka.ms/AzureMapsMobilityRealTimeArrivals) for the stop or [transit stop details](https://aka.ms/AzureMapsMobilityTransitStop) such as main transit type of most lines stopping for a given public, active service alerts or main transport agency.", - "x-ms-examples": { - "NearbyTransit": { - "$ref": "./examples/GetNearbyTransit.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/JsonFormat" - }, - { - "$ref": "#/parameters/MetroId" - }, - { - "name": "query", - "description": "Location input from user. The applicable location query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".", - "in": "query", - "required": true, - "type": "string" - }, - { - "name": "limit", - "description": "Maximum number of responses that will be returned. Default is 3, minimum 1 and maximum 100. Sort order is based on distance from input location.", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "radius", - "description": "Specifies the search area to constrain a search. The radius in meters to for the results to be constrained to the defined area. Default value is 30 meters, minimum 1 meter and maximum 5000 meters (5km).", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "objectType", - "description": "The transit object type. By default, objectType is set to `stop`", - "in": "query", - "required": false, - "default": "stop", - "type": "string" - }, - { - "$ref": "#/parameters/MobilityLanguage" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/NearbyTransitResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/mobility/transit/line/{format}": { - "get": { - "deprecated": true, - "x-publish": true, - "operationId": "Mobility_GetTransitLineInfoPreview", - "description": ">[!Important]\n>The Azure Maps Mobility Services Preview has been retired and will no longer be available and supported after October 5, 2021. All other Azure Maps API and Services are unaffected by this retirement announcement.\n>For details, see [Azure Maps Mobility Preview Retirement](https://azure.microsoft.com/updates/azure-maps-mobility-services-preview-retirement/).\n\n\n**Transit Line Info API**\n\n**Applies to**: S1 pricing tier.\n\nYour scenario might require requesting transit line specific data such as stops and line geometry. Transit Line Info service allows you to request line group by line group id returning a line group comprised a set of lines. Additional information such as 24 hours static schedule, active alerts for the line group and line patterns is also available, depending on the options selected. Mobility services uses a parallel data model for public transit lines and line groups. Usually line group contains 2 lines, one going from A to B, and the other returning from B to A, both operating by the same Public Transport Agency having the same line number. We recommend you review our guidance [article](https://aka.ms/AMapsPublicTRansitConcepts) to understand the concepts of lines and line groups.", - "x-ms-examples": { - "TransitLineInfo": { - "$ref": "./examples/GetTransitLineInfo.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/JsonFormat" - }, - { - "$ref": "#/parameters/MetroId" - }, - { - "name": "query", - "description": "lineGroupId, for example,'666074'. Typically contains 2 lines having the same agency and line, one going from A to B, and the other from B to A.", - "in": "query", - "required": true, - "type": "string" - }, - { - "name": "detailType", - "description": "Specify additional details requested respective to the line group as a comma separated list. As a default service returns line basic info. Supported values are:\n * `alerts` - Return any active service alerts for the specified stop. Response provides brief information for disruption in service and all basic data associated with the alert.\n * `alertDetails` - Can only be used in conjunction with detailType=alerts.Return additional details associated with the active service alerts.\n * `lines` - Return transit lines that stops at the specified stop.\n * `stops` - Return list of stops the line group goes through.\n * `schedule` - Return a 24h static schedule for the specified line group from the current time of the day to the end of the current day.\n * `patterns` - Return list of patterns this group is comprised of. A pattern consists of a stop sequence and shape per line.", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "alerts", - "alertDetails", - "lines", - "stops", - "schedule", - "patterns" - ], - "x-ms-enum": { - "name": "TransitLineDetailType", - "modelAsString": true, - "values": [ - { - "value": "alerts", - "description": "Return any active service alerts for the specified stop. Response provides brief information for disruption in service and all basic data associated with the alert." - }, - { - "value": "alertDetails", - "description": "Can only be used in conjunction with detailType=alerts.Return additional details associated with the active service alerts." - }, - { - "value": "lines", - "description": "Return transit lines that stops at the specified stop." - }, - { - "value": "stops", - "description": "Return list of stops the line group goes through." - }, - { - "value": "schedule", - "description": "Return a 24h static schedule for the specified line group from the current time of the day to the end of the current day." - }, - { - "value": "patterns", - "description": "Return list of patterns this group is comprised of. A pattern consists of a stop sequence and shape per line." - } - ] - } - } - }, - { - "$ref": "#/parameters/MobilityLanguage" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/TransitLineInfoResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/mobility/transit/stop/{format}": { - "get": { - "deprecated": true, - "x-publish": true, - "operationId": "Mobility_GetTransitStopInfoPreview", - "description": ">[!Important]\n>The Azure Maps Mobility Services Preview has been retired and will no longer be available and supported after October 5, 2021. All other Azure Maps API and Services are unaffected by this retirement announcement.\n>For details, see [Azure Maps Mobility Preview Retirement](https://azure.microsoft.com/updates/azure-maps-mobility-services-preview-retirement/).\n\n\n**Transit Stop Info API**\n\n**Applies to**: S1 pricing tier.\n\nGet Transit Stop Info service allows you to request information for a given public transit stop. Basic information returned includes details such as main transit type of most lines stopping for a given public and main transport agency. Additional details such as stop lines and active service alerts for specified stop are also available, depending on the options selected.", - "x-ms-examples": { - "TransitStopInfo": { - "$ref": "./examples/GetTransitStopInfo.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/JsonFormat" - }, - { - "$ref": "#/parameters/MetroId" - }, - { - "name": "query", - "description": "The stopId or stopKey for which the user is requesting transit stop details.", - "in": "query", - "required": true, - "type": "string" - }, - { - "name": "queryType", - "description": "The type of the unique query parameter of the stop. By default queryType=stopId.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "stopId", - "stopKey" - ], - "default": "stopId", - "x-ms-enum": { - "name": "TransitStopQueryType", - "modelAsString": true, - "values": [ - { - "value": "stopId", - "description": "The unique Azure Maps identifier for the respective public transit stop. When referring to public transit stops over time, it is recommended to use `stopId` since it will not change, as long as the physical stop exists" - }, - { - "value": "stopKey", - "description": "The GTFS stop Id. GTFS stop Ids are provided by the transit authority and are subject to change.
**Note**: When this value is used, the metroId parameter is required." - } - ] - }, - "x-ms-parameter-location": "method" - }, - { - "name": "detailType", - "description": "Specify additional details requested respective to the transit stop as a comma separated list. Supported values are:\n * `alerts` - Return any active service alerts for the specified stop. Response provides brief information for disruption in service and all basic data associated with the alert.\n * `alertDetails` - Can only be used in conjunction with detailType=alerts.Return additional details associated with the active service alerts.\n * `lines` - Return transit lines that stops at the specified stop.\n * `lineGroups` - Return line groups that stops at the specified stop.", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "alerts", - "alertDetails", - "lines", - "lineGroups" - ], - "x-ms-enum": { - "name": "TransitStopDetailType", - "modelAsString": true, - "values": [ - { - "value": "alerts", - "description": "Return any active service alerts for the specified stop. Response provides brief information for disruption in service and all basic data associated with the alert." - }, - { - "value": "alertDetails", - "description": "Can only be used in conjunction with detailType=alerts.Return additional details associated with the active service alerts." - }, - { - "value": "lines", - "description": "Return transit lines that stops at the specified stop." - }, - { - "value": "lineGroups", - "description": "Return line groups that stops at the specified stop." - } - ] - } - } - }, - { - "$ref": "#/parameters/MobilityLanguage" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/TransitStopInfoResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/mobility/transit/route/{format}": { - "get": { - "deprecated": true, - "x-publish": true, - "operationId": "Mobility_GetTransitRoutePreview", - "description": ">[!Important]\n>The Azure Maps Mobility Services Preview has been retired and will no longer be available and supported after October 5, 2021. All other Azure Maps API and Services are unaffected by this retirement announcement.\n>For details, see [Azure Maps Mobility Preview Retirement](https://azure.microsoft.com/updates/azure-maps-mobility-services-preview-retirement/).\n\n\n**Transit Route API**\n\n**Applies to**: S1 pricing tier.\n\nGet Transit Route API will allow trip planning returning the best possible route options between an origin and destination by using multi-modal search. Service provides a variety of travel modes, including walk, bike, and public transit. The API supports parameters to request one or multiple public transit types such as bus, tram and subway, and prefer a specific transit agency operating in the area. Also, service provides transit fare details and options to choose optimal route with least walk or transfers and specify arrival or departure times when user need to be at a specific destination by a certain time.", - "x-ms-examples": { - "TransitRoute": { - "$ref": "./examples/GetTransitRoute.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/JsonFormat" - }, - { - "$ref": "#/parameters/MetroId" - }, - { - "name": "origin", - "description": "The origin of the route. By default originType=position, specified as a comma separated string composed by latitude followed by longitude, e.g. \"47.641268,-122.125679”.", - "in": "query", - "required": true, - "type": "string" - }, - { - "name": "originType", - "description": "The type of the origin. By default originType=position, specified as a comma separated string composed by latitude followed by longitude, e.g., \"47.641268,-122.125679”.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "position", - "stopId", - "stopKey" - ], - "default": "position", - "x-ms-enum": { - "name": "OriginType", - "modelAsString": true, - "values": [ - { - "value": "position", - "description": "The origin of the route as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\"." - }, - { - "value": "stopId", - "description": "The unique Azure Maps identifier for the respective public transit stop. When referring to public transit stops over time, it is recommended to use `stopId` since it will not change, as long as the physical stop exists" - }, - { - "value": "stopKey", - "description": "The GTFS stop Id. GTFS stop Ids are provided by the transit authority and are subject to change.
**Note**: When this value is used, the metroId parameter is required." - } - ] - }, - "x-ms-parameter-location": "method" - }, - { - "name": "destination", - "description": "The destination of the route. By default the destinationType=position, specified as a comma separated string composed by latitude followed by longitude, e.g. \"47.641268,-122.125679”.", - "in": "query", - "required": true, - "type": "string" - }, - { - "name": "destinationType", - "description": "The type of the destination.", - "in": "query", - "required": false, - "type": "string", - "default": "position", - "enum": [ - "position", - "stopId", - "stopKey" - ], - "x-ms-enum": { - "name": "DestinationType", - "modelAsString": true, - "values": [ - { - "value": "position", - "description": "The destination of the route as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\"." - }, - { - "value": "stopId", - "description": "The unique Azure Maps identifier for the respective public transit stop. When referring to public transit stops over time, it is recommended to use `stopId` since it will not change, as long as the physical stop exists." - }, - { - "value": "stopKey", - "description": "The GTFS stop Id. GTFS stop Ids are provided by the transit authority and are subject to change.
**Note**: When this value is used, the metroId parameter is required." - } - ] - }, - "x-ms-parameter-location": "method" - }, - { - "name": "modeType", - "description": "The mode of travel for the requested route; as comma separated list. If not specified, all modes will be allowed. All modes might not be available in all metro areas. If valid trip is not found, empty result will be returned. Supported values are:\n * `walk` - Walk (pedestrian)\n * `bike` - Bike\n * `publicTransit` - Public transit", - "required": false, - "in": "query", - "type": "array", - "items": { - "type": "string", - "enum": [ - "walk", - "bike", - "publicTransit" - ], - "x-ms-enum": { - "name": "ModeType", - "modelAsString": true, - "values": [ - { - "value": "walk", - "description": "walk (pedestrian)" - }, - { - "value": "bike", - "description": "bike" - }, - { - "value": "publicTransit", - "description": "public transit" - } - ] - } - }, - "x-ms-parameter-location": "method" - }, - { - "name": "transitType", - "description": "Applicable only with modeType = publicTransit. Allow only a specific set of public transit types (as a comma separated list) to be returned for the route. Note that the requested transitType may not be available for the entire route. If not specified, all modes will be allowed. Supported values are:\n * `bus` - Bus\n * `cableCar` - Cable car\n * `ferry` - Ferry\n * `funicular` - Funicular\n * `gondola` - Gondola\n * `rail` - Rail\n * `tram` - Tram\n * `subway` - Subway/Metro", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "bus", - "cableCar", - "ferry", - "funicular", - "gondola", - "rail", - "tram", - "subway" - ], - "x-ms-enum": { - "name": "TransitTypeFilter", - "modelAsString": true, - "values": [ - { - "value": "bus", - "description": "bus" - }, - { - "value": "cableCar", - "description": "cableCar" - }, - { - "value": "ferry", - "description": "ferry" - }, - { - "value": "funicular", - "description": "funicular" - }, - { - "value": "gondola", - "description": "gondola" - }, - { - "value": "rail", - "description": "rail" - }, - { - "value": "tram", - "description": "tram" - }, - { - "value": "subway", - "description": "subway" - } - ] - } - }, - "x-ms-parameter-location": "method" - }, - { - "name": "agency", - "description": "Specifies whether to prefer routes from a specific set of agencies if possible; as a comma separated list. If valid trip isn’t found with the preferred agency, or only one with very long trips or with large number of transfers, itineraries with other agencies will be returned.", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - } - }, - { - "name": "agencyType", - "description": "Specifies the agency identifier to request routes from preferred agencies. By default the agencyType=agencyId.", - "in": "query", - "required": false, - "type": "string", - "default": "agencyId", - "enum": [ - "agencyId", - "agencyKey", - "agencyName" - ], - "x-ms-enum": { - "name": "AgencyType", - "modelAsString": true, - "values": [ - { - "value": "agencyId", - "description": "The Id of the transit agency, e.g. '5872'" - }, - { - "value": "agencyKey", - "description": "The agency’s GTFS Id.
**Note**: When this value is used, the metroId parameter is required." - }, - { - "value": "agencyName", - "description": "The name of the transit agency, e.g. Metro Transit." - } - ] - }, - "x-ms-parameter-location": "method" - }, - { - "name": "time", - "description": "The time of departure or arrival in the local time in ISO format (2019-04-05T14:24:18-04:00). If timeType is not specified, it will be assumed to be 'departure' and time is the current local time at the origin point.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "timeType", - "description": "Specifies whether the time signifies departure time or arrival time. If not defined, default value is 'departure'.", - "in": "query", - "required": false, - "type": "string", - "default": "departure", - "enum": [ - "arrival", - "departure", - "last" - ], - "x-ms-enum": { - "name": "TimeType", - "modelAsString": true, - "values": [ - { - "value": "arrival", - "description": "arrival at the destination point. Requires that 'time' value must be in the future." - }, - { - "value": "departure", - "description": "Request departure at the destination point. Requires that 'time' value must be now or in the future." - }, - { - "value": "last", - "description": "Request the last lines for the day." - } - ] - } - }, - { - "name": "routeType", - "description": "The type of route requested. If not specified, 'optimal' will be used.", - "in": "query", - "required": false, - "type": "string", - "default": "optimal", - "enum": [ - "optimal", - "leastWalk", - "leastTransfers" - ], - "x-ms-enum": { - "name": "TransitRouteType", - "modelAsString": true, - "values": [ - { - "value": "optimal", - "description": "The best optimal route." - }, - { - "value": "leastWalk", - "description": "Route with least walk." - }, - { - "value": "leastTransfers", - "description": "Route with least transfers." - } - ] - } - }, - { - "name": "bikeType", - "description": "Bike type of the bike. Specifies which type of bikes will be used. Only private bikes are supported.", - "in": "query", - "required": false, - "type": "string", - "default": "privateBike" - }, - { - "$ref": "#/parameters/MobilityLanguage" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/TransitRouteResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/mobility/transit/itinerary/{format}": { - "get": { - "deprecated": true, - "x-publish": true, - "operationId": "Mobility_GetTransitItineraryPreview", - "description": ">[!Important]\n>The Azure Maps Mobility Services Preview has been retired and will no longer be available and supported after October 5, 2021. All other Azure Maps API and Services are unaffected by this retirement announcement.\n>For details, see [Azure Maps Mobility Preview Retirement](https://azure.microsoft.com/updates/azure-maps-mobility-services-preview-retirement/).\n\n\n**Transit Itinerary API**\n\n**Applies to**: S1 pricing tier.\n\nReturns data according to an itinerary Id previously returned by [Transit Route API](https://aka.ms/AzureMapsMobilityTransitRoute). The basic info contains data as to the various legs comprising the itinerary, including the locations, public transit lines, start and end times and fare information. Users can request additional routing information such as the shape of the itinerary and detailed itinerary schedules is also available, depending on the options selected. An itinerary is available up to 24 hours following a search request.", - "x-ms-examples": { - "TransitItinerary": { - "$ref": "./examples/GetTransitItinerary.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/JsonFormat" - }, - { - "name": "query", - "description": "The unique id (itineraryId) of an itinerary previously returned by [Transit Route API](https://aka.ms/AzureMapsMobilityTransitRoute).", - "in": "query", - "required": true, - "type": "string" - }, - { - "name": "detailType", - "description": "Specify additional details returned in the transit route itinerary response, as a comma separated list. Supported values are:\n * `geometry` - Shape of an in GeoJSON format. For public transit legs will return also the stops that the leg passes through. For walk and bike legs, will return also the turn-by-turn navigation data. \n * `schedule` - Static schedule data as to all departures of Public Transit legs from the current time of the day to the end of the current day.", - "required": false, - "in": "query", - "type": "array", - "items": { - "type": "string", - "enum": [ - "geometry", - "schedule" - ], - "x-ms-enum": { - "name": "TransitItineraryDetailType", - "modelAsString": true, - "values": [ - { - "value": "geometry", - "description": "Shape of an in GeoJSON format. For public transit legs will return also the stops that the leg passes through. For walk and bike legs, will return also the turn-by-turn navigation data." - }, - { - "value": "schedule", - "description": "Static schedule data as to all departures of Public Transit legs from the current time of the day to the end of the current day." - } - ] - } - }, - "x-ms-parameter-location": "method" - }, - { - "$ref": "#/parameters/MobilityLanguage" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/TransitItineraryResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/mobility/realtime/arrivals/{format}": { - "get": { - "deprecated": true, - "x-publish": true, - "operationId": "Mobility_GetRealTimeArrivalsPreview", - "description": ">[!Important]\n>The Azure Maps Mobility Services Preview has been retired and will no longer be available and supported after October 5, 2021. All other Azure Maps API and Services are unaffected by this retirement announcement.\n>For details, see [Azure Maps Mobility Preview Retirement](https://azure.microsoft.com/updates/azure-maps-mobility-services-preview-retirement/).\n\n\n**Real-time Arrivals API**\n\n**Applies to**: S1 pricing tier.\n\nGet Real Time Arrivals API returns for a given a stop, line or location the requested number of real-time arrivals. Endpoint support different modes to request real-time arrivals such as number of live arrivals for all lines arriving at the specified stop or all arrivals of a line to stops near the user’s location. The API supports parameters to request one or multiple public transit types such as bus, tram and subway, maximum number if arrivals, and prefer a specific transit agency operating in the area. In some cases real-time arrivals may not be available, for example, if arrival is too far in the future or transit vehicle does not have capability to share the real-time location. This is symbolized in a scheduleType field present in all responses.", - "x-ms-examples": { - "RealTimeArrivals": { - "$ref": "./examples/GetRealTimeArrivals.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/JsonFormat" - }, - { - "$ref": "#/parameters/MetroId" - }, - { - "name": "query", - "description": "Stop, line or location identifier.", - "in": "query", - "required": true, - "type": "string" - }, - { - "name": "queryType", - "description": "The type of the query parameter. Defines the mode of the request. Only one mode per request is supported. By default queryType is set to be ‘stops’ returning the requested number of Live Arrivals for all lines arriving at the specified stop.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "stops", - "line", - "lineAndStop", - "position" - ], - "default": "stops", - "x-ms-enum": { - "name": "RealTimeArrivalsQueryType", - "modelAsString": true, - "values": [ - { - "value": "stops", - "description": "One or multiple stops as a comma separated list. Returns the requested number of live arrivals for all lines arriving at the specified stop. Defined by parameter stopQueryType." - }, - { - "value": "line", - "description": "Returns the next live arrival times for each stop within the specified line. lineId, for example, '3785742'." - }, - { - "value": "lineAndStop", - "description": "Returns up to three next Live Arrival times for a given line at a given stop. Comma-separated list including lineId and stop identifier, for example, 1228526,14014071 (lineId,stopId)." - }, - { - "value": "position", - "description": "Returns arrivals of a line to stops near the user’s location. The applicable location query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\"." - } - ] - }, - "x-ms-parameter-location": "method" - }, - { - "name": "stopQueryType", - "description": "The type of the unique query parameter of the stop. By default stopQueryType=stopId. This parameter can only be used in conjunction with queryType=stops or queryType=lineAndStop.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "stopId", - "stopKey" - ], - "default": "stopId", - "x-ms-enum": { - "name": "StopQueryType", - "modelAsString": true, - "values": [ - { - "value": "stopId", - "description": "The unique Azure Maps identifier for the respective public transit stop. When referring to public transit stops over time, it is recommended to use `stopId` since it will not change, as long as the physical stop exists." - }, - { - "value": "stopKey", - "description": "The GTFS stop Id. GTFS stop Ids are provided by the transit authority and are subject to change.
**Note**: When this value is used, the metroId parameter is required." - } - ] - }, - "x-ms-parameter-location": "method" - }, - { - "name": "limit", - "description": "The maximum arrivals to return. If not specified, the system default will be used. For stops max number of arrivals per stop. For lines max arrivals per stop on the line. For everything else max arrivals overall.", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "maxMinutesInFuture", - "description": "The maximum time (in minutes) in the future to return arrivals for. If not specified, the system default (30 minutes) will be used. The minimum value is 0 and maximum value is 60 minutes.", - "required": false, - "type": "integer", - "format": "int32", - "in": "query" - }, - { - "name": "transitType", - "description": "Type of public transit user is requesting respective transit stop, as a comma separated list. For example, transitType=Bus,Subway. If not specified, all will be allowed. This parameter can only be used in conjunction with queryType=stops. Supported values are:\n * `bus` - Bus\n * `cableCar` - Cable car\n * `ferry` - Ferry\n * `funicular` - Funicular\n * `gondola` - Gondola\n * `rail` - Rail\n * `tram` - Tram\n * `subway` - Subway/Metro", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "bus", - "cableCar", - "ferry", - "funicular", - "gondola", - "rail", - "tram", - "subway" - ], - "x-ms-enum": { - "name": "TransitTypeFilter", - "modelAsString": true, - "values": [ - { - "value": "bus", - "description": "bus" - }, - { - "value": "cableCar", - "description": "cableCar" - }, - { - "value": "ferry", - "description": "ferry" - }, - { - "value": "funicular", - "description": "funicular" - }, - { - "value": "gondola", - "description": "gondola" - }, - { - "value": "rail", - "description": "rail" - }, - { - "value": "tram", - "description": "tram" - }, - { - "value": "subway", - "description": "subway" - } - ] - } - }, - "x-ms-parameter-location": "method" - }, - { - "name": "agency", - "description": "In case you prefer routes from a specific set of agencies to be returned. Specified as a comma separated string.", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - } - }, - { - "name": "agencyType", - "description": "Specifies the agency identifier to request routes from a specific set of agencies to be returned. By default the agencyType=agencyId.", - "in": "query", - "required": false, - "type": "string", - "default": "agencyId", - "enum": [ - "agencyId", - "agencyKey", - "agencyName" - ], - "x-ms-enum": { - "name": "AgencyType", - "modelAsString": true, - "values": [ - { - "value": "agencyId", - "description": "The Id of the transit agency, e.g. '5872'" - }, - { - "value": "agencyKey", - "description": "The agency’s GTFS Id.
**Note**: When this value is used, the metroId parameter is required." - }, - { - "value": "agencyName", - "description": "The name of the transit agency, e.g. Metro Transit." - } - ] - }, - "x-ms-parameter-location": "method" - }, - { - "name": "timeoutInSeconds", - "description": "Time in seconds within which if the provider doesn’t respond, end point will return static data.", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "$ref": "#/parameters/MobilityLanguage" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RealTimeArrivalsResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - } - }, - "definitions": { - "ODataErrorResponse": { - "type": "object", - "description": "This response object is returned when an error occurs in the Azure Maps API.", - "properties": { - "error": { - "$ref": "#/definitions/ODataError" - } - } - }, - "ODataError": { - "type": "object", - "description": "This object is returned when an error occurs in the Azure Maps API.", - "properties": { - "code": { - "type": "string", - "readOnly": true, - "description": "The ODataError code." - }, - "message": { - "type": "string", - "readOnly": true, - "description": "If available, a human-readable description of the error." - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/ODataError" - } - }, - "target": { - "type": "string", - "readOnly": true, - "description": "If available, the target causing the error." - } - } - }, - "Coordinate": { - "description": "A location represented as a latitude and longitude.", - "type": "object", - "properties": { - "latitude": { - "description": "Latitude property", - "type": "number", - "format": "double", - "readOnly": true - }, - "longitude": { - "description": "Longitude property", - "type": "number", - "format": "double", - "readOnly": true - } - } - }, - "GeoJSONGeometry": { - "description": "A valid `GeoJSON` geometry object. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1) for details.", - "type": "object", - "discriminator": "type", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Specifies the `GeoJSON` geometry type. Must be one of the seven valid GeoJSON geometry types - Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon and GeometryCollection.", - "type": "string", - "enum": [ - "Point", - "MultiPoint", - "LineString", - "MultiLineString", - "Polygon", - "MultiPolygon", - "GeometryCollection" - ], - "x-ms-enum": { - "name": "GeoJSONGeometryType", - "modelAsString": true, - "values": [ - { - "value": "Point", - "description": "`GeoJSON Point` geometry." - }, - { - "value": "MultiPoint", - "description": "`GeoJSON MultiPoint` geometry." - }, - { - "value": "LineString", - "description": "`GeoJSON LineString` geometry." - }, - { - "value": "MultiLineString", - "description": "`GeoJSON MultiLineString` geometry." - }, - { - "value": "Polygon", - "description": "`GeoJSON Polygon` geometry." - }, - { - "value": "MultiPolygon", - "description": "`GeoJSON MultiPolygon` geometry." - }, - { - "value": "GeometryCollection", - "description": "`GeoJSON GeometryCollection` geometry." - } - ] - } - } - } - }, - "Polygon": { - "description": "A valid `GeoJSON Polygon` geometry type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.6) for details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/GeoJSONGeometry" - }, - { - "properties": { - "type": { - "description": "Specifies the `type` for the object. Value should always be equal to \"Polygon\".", - "type": "string" - }, - "coordinates": { - "description": "Coordinates for the `Polygon` geometry type.", - "type": "array", - "items": { - "$ref": "#/definitions/GeoJSONLinearRing" - } - } - }, - "required": [ - "coordinates" - ] - } - ] - }, - "LineString": { - "description": "A valid `GeoJSON LineString` geometry type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.4) for details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/GeoJSONGeometry" - }, - { - "properties": { - "type": { - "description": "Specifies the `type` for the geometry. Value should always be equal to \"LineString\".", - "type": "string" - }, - "coordinates": { - "description": "Coordinates for the `LineString` geometry.", - "type": "array", - "items": { - "$ref": "#/definitions/GeoJSONPosition" - } - } - }, - "required": [ - "coordinates" - ] - } - ] - }, - "GeoJSONLinearRing": { - "description": "Though a linear ring is not explicitly represented as a GeoJSON geometry type, it helps in defining the polygon as an array of linear rings. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.6) for details.", - "type": "array", - "items": { - "$ref": "#/definitions/GeoJSONPosition" - } - }, - "GeoJSONPosition": { - "description": "A valid `GeoJSON Position` geometry type. A `Position` is an array of numbers with two or more elements. The first two elements are _longitude_ and _latitude_, precisely in that order. _Altitude/Elevation_ is an optional third element. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.1) for details.", - "type": "array", - "items": { - "type": "number", - "format": "double" - } - }, - "MetroAreaResponse": { - "description": "This object is returned from a successful Get Metro Area call", - "type": "object", - "properties": { - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/MetroAreaResult" - } - } - } - }, - "MetroAreaInfoResponse": { - "description": "This object is returned from a successful Metro Area Info call.", - "type": "object", - "properties": { - "metroName": { - "type": "string", - "description": "The name of the metro area." - }, - "isFaresSupported": { - "type": "string", - "description": "Indicates if public transit fares information is available in the metro area. Fare information is available through [Get Transit Route API](https://aka.ms/AzureMapsMobilityTransitRoute) and [Get Transit Itinerary APIs](https://aka.ms/AzureMapsMobilityTransitItinerary)." - }, - "transitTypes": { - "description": "Supported transit types in the metro area. Returned if specified in the request.", - "type": "array", - "items": { - "$ref": "#/definitions/TransitTypeResult" - } - }, - "agencies": { - "type": "array", - "items": { - "$ref": "#/definitions/Agency" - } - }, - "alerts": { - "type": "array", - "items": { - "$ref": "#/definitions/Alert" - } - } - } - }, - "NearbyTransitResponse": { - "description": "This object is returned from a successful Get Nearby Transit call", - "type": "object", - "properties": { - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/TransitObjectResult" - } - } - } - }, - "TransitStopInfoResponse": { - "description": "This object is returned from a successful Get Transit Stop Info call", - "type": "object", - "properties": { - "stop": { - "$ref": "#/definitions/Stop" - }, - "lines": { - "$ref": "#/definitions/Lines" - }, - "lineGroups": { - "$ref": "#/definitions/LineGroups" - }, - "alerts": { - "$ref": "#/definitions/Alerts" - } - } - }, - "TransitRouteResponse": { - "description": "This object is returned from a successful Get Transit Stop Info call", - "type": "object", - "properties": { - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/ItineraryResult" - } - } - } - }, - "TransitItineraryResponse": { - "description": "This object is returned from a successful Get Transit Itinerary call", - "type": "object", - "properties": { - "departureTime": { - "description": "The date and time of departure from the origin point in ISO 8601 format, e.g. 1996-12-19T16:39:57-08:00.", - "type": "string" - }, - "arrivalTime": { - "description": "The date and time of arrival at the destination point in ISO 8601 format, e.g. 1996-12-19T19:39:57-08:00.", - "type": "string" - }, - "legs": { - "$ref": "#/definitions/ItinerarySummary" - }, - "itineraryFare": { - "description": "Itinerary level transit fare information. Returned only if fare information is available for the entire itinerary. [Get Metro Area Info API](https://aka.ms/AzureMapsMobilityMetroAreaInfo) can be requested to confirm if fare information is available in the metro area.", - "$ref": "#/definitions/ItineraryFare" - } - } - }, - "TransitLineInfoResponse": { - "description": "This object is returned from a successful Transit Line Info call.", - "type": "object", - "properties": { - "lineGroup": { - "description": "Groups together all lines that are logically part of the same group. Typically contains 2 lines having the same agency and line, one going from A to B, and the other from B to A.", - "$ref": "#/definitions/LineGroup" - }, - "lines": { - "description": "The line group’s basic info and list of the lines.", - "$ref": "#/definitions/Lines" - }, - "stops": { - "description": "List of stops the line group goes through.", - "type": "array", - "items": { - "$ref": "#/definitions/Stop" - } - }, - "patterns": { - "description": "List of patterns this group is comprised of. A pattern consists of a stop sequence and shape per a line in GeoJSON format.", - "type": "array", - "items": { - "$ref": "#/definitions/Pattern" - } - }, - "schedule": { - "description": "Line schedule for the current 24h. May be null in case no schedule exists for the current time.", - "$ref": "#/definitions/LineArrival" - } - } - }, - "RealTimeArrivalsResponse": { - "description": "This object is returned from a successful Get Real Time Arrival Info call.", - "type": "object", - "properties": { - "results": { - "description": "Results array. Contains results related details.", - "type": "array", - "items": { - "$ref": "#/definitions/RealTimeArrivalResult" - } - } - } - }, - "MetroAreaResult": { - "description": "Details of the metro area.", - "type": "object", - "properties": { - "metroId": { - "description": "The metro area's Id for use with other API calls.", - "type": "integer", - "format": "int32" - }, - "metroName": { - "description": "The main display name of the metro.", - "type": "string" - }, - "geometry": { - "$ref": "#/definitions/Polygon" - }, - "viewport": { - "$ref": "#/definitions/ResultViewport" - } - } - }, - "ResultViewport": { - "description": "The viewport that covers the result represented by the top-left and bottom-right coordinates of the viewport.", - "type": "object", - "properties": { - "topLeftPoint": { - "$ref": "#/definitions/Coordinate" - }, - "btmRightPoint": { - "$ref": "#/definitions/Coordinate" - } - } - }, - "TransitObjectResult": { - "type": "object", - "properties": { - "id": { - "description": "The unique identifier (stopID) for the returned public transit stop. When referring to public transit stops over time, it is recommended to use `stopId` since it will not change, as long as the physical stop exists.", - "type": "string" - }, - "type": { - "description": "The type of object found as a result of the query.", - "type": "string" - }, - "objectDetails": { - "description": "The object specific details.", - "type": "object" - }, - "position": { - "description": "The transit object's position.", - "$ref": "#/definitions/Coordinate" - }, - "viewport": { - "$ref": "#/definitions/ResultViewport" - } - } - }, - "Stop": { - "description": "The stop's basic info", - "type": "object", - "properties": { - "stopId": { - "description": "The unique Azure Maps identifier for the respective public transit stop. When referring to public transit stops over time, it is recommended to use `stopId` since it will not change, as long as the physical stop exists.", - "type": "string" - }, - "stopKey": { - "description": "The GTFS stop Id. GTFS stop Ids are provided by the transit authority and subject to change.", - "type": "string" - }, - "stopName": { - "description": "The name of the stop.", - "type": "string" - }, - "stopCode": { - "description": "The stop code displayed at the physical stop. Returned if available.", - "type": "string" - }, - "position": { - "description": "The Stop's location, latitude and longitude.", - "$ref": "#/definitions/Coordinate" - }, - "mainTransitType": { - "description": "The transit type of most lines stopping at this stop. One of Tram, Subway, Rail, Bus, Ferry, CableCar, Gondola, Funicular", - "type": "string" - }, - "mainAgencyId": { - "description": "The Id of the transit agency of most lines stopping at this stop. For example '5872'.", - "type": "string" - }, - "mainAgencyName": { - "description": "The name of the agency of most lines stopping at this stop, for example, 'Metro Transit'.", - "type": "string" - } - } - }, - "Lines": { - "description": "A list of stop lines", - "type": "array", - "items": { - "$ref": "#/definitions/Line" - } - }, - "Line": { - "description": "A stop line", - "type": "object", - "properties": { - "lineId": { - "description": "Line Id.", - "type": "string" - }, - "lineGroupId": { - "description": "Line group Id. Typically contains 2 lines having the same agency and line, one going from A to B, and the other from B to A.", - "type": "string" - }, - "direction": { - "description": "Line direction. Possible values 'forward' or 'backward'.", - "type": "string" - }, - "agencyId": { - "description": "The Id of the transit agency, for example, '5872'.", - "type": "string" - }, - "agencyName": { - "description": "The name of the transit agency, for example, 'NJ Transit'.", - "type": "string" - }, - "lineNumber": { - "description": "The transit line number.", - "type": "string" - }, - "origin": { - "description": "The line’s origin, will be present according to metro settings.", - "type": "string" - }, - "lineDestination": { - "description": "The line’s user displayable destination.", - "type": "string" - }, - "mostFrequentPatternId": { - "description": "Most common pattern for the line.", - "type": "string" - }, - "transitType": { - "description": "The public transit type of the line.", - "$ref": "#/definitions/TransitType" - } - } - }, - "LineGroups": { - "description": "A list of line groups", - "type": "array", - "items": { - "$ref": "#/definitions/LineGroup" - } - }, - "LineGroup": { - "description": "A line group", - "type": "object", - "properties": { - "lineGroupId": { - "description": "Line group Id. Typically contains 2 lines having the same agency and line, one going from A to B, and the other from B to A.", - "type": "string" - }, - "agencyId": { - "description": "The Id of the transit agency, for example, '5872'.", - "type": "string" - }, - "agencyName": { - "description": "The name of the transit agency, e.g. Metro Transit.", - "type": "string" - }, - "lineNumber": { - "description": "The transit line number.", - "type": "string" - }, - "caption1": { - "description": "A descriptive string. In case caption2 is null, should be used alone as a subtitle to the line number (i.e. Circular). In case caption2 has a value present, should be used in conjunction with it (i.e. Rome ↔ Napoli).", - "type": "string" - }, - "caption2": { - "description": "A descriptive string.", - "type": "string" - }, - "color": { - "description": "HEX color for the line.", - "type": "string" - }, - "transitType": { - "description": "The public transit type of the line.", - "$ref": "#/definitions/TransitType" - } - } - }, - "Alerts": { - "description": "A list of stop alerts", - "type": "array", - "items": { - "$ref": "#/definitions/Alert" - } - }, - "Alert": { - "description": "Basic information associated with the active alert. Returned if specified in the request and there is an active alert in the metro area.", - "type": "object", - "properties": { - "alertSummary": { - "description": "Text summarizing the alert.", - "type": "string" - }, - "publicationDate": { - "description": "The date and time in ISO 8601 format, e.g. 2019-04-05T14:24:18-04:00.", - "type": "string", - "format": "date-time" - }, - "category": { - "description": "The category of the alert. One of None, Regular, Info, Modified, Critical.", - "type": "string" - }, - "alertLevel": { - "description": "The level at which the respective alert extents to. One of Metro, Agency, Line, Stop.", - "type": "string" - }, - "details": { - "$ref": "#/definitions/AlertDetail" - } - } - }, - "AlertDetail": { - "description": "A list of alert details.", - "type": "object", - "properties": { - "agencyId": { - "description": "The Id of the relevant transit agency, for example, '5872'.", - "type": "string" - }, - "agencyName": { - "description": "Name of the relevant transit agency, e.g. Metro Transit.", - "type": "string" - }, - "title": { - "description": "The title of the alert.", - "type": "string" - }, - "description": { - "description": "A short description of the alert.", - "$ref": "#/definitions/AlertDescription" - }, - "activeFrom": { - "description": "The start time of the alert in the local time in ISO format (2019-04-05T14:24:18-04:00).", - "type": "string", - "format": "date-time" - }, - "activeTo": { - "description": "The estimated end time of the alert in the local time in ISO format (2019-04-05T14:24:18-04:00).", - "type": "string", - "format": "date-time" - }, - "effect": { - "description": "Service Alert effect - one of SA_NO_SERVICE, SA_REDUCED_SERVICE, SA_SIGNIFICANT_DELAYS, SA_DETOUR, SA_ADDITIONAL_SERVICE, SA_MODIFIED_SERVICE, SA_OTHER_EFFECT, SA_STOP_MOVED, SA_GOOD_SERVICE, SA_SLEEPING, SA_OTHER_EFFECT", - "type": "string" - } - } - }, - "ItineraryResult": { - "type": "object", - "properties": { - "itineraryId": { - "description": "A unique identifier of the returned itinerary.", - "type": "string" - }, - "departureTime": { - "description": "The date and time of departure from the origin point in ISO 8601 format, e.g. 1996-12-19T16:39:57-08:00.", - "type": "string", - "format": "date-time" - }, - "arrivalTime": { - "description": "The date and time of arrival at the destination point in ISO 8601 format, e.g. 1996-12-19T19:39:57-08:00.", - "type": "string", - "format": "date-time" - }, - "travelTimeInSeconds": { - "description": "Estimated travel time in seconds.", - "type": "integer", - "format": "int32" - }, - "numberOfLegs": { - "description": "Number of legs.", - "type": "integer", - "format": "int32" - }, - "legs": { - "description": "An array summarizing the legs of this itinerary.", - "$ref": "#/definitions/RouteItinerarySummary" - }, - "itineraryFare": { - "description": "Itinerary level transit fare information. Returned only if fare information is available for the entire itinerary. [Get Metro Area Info API](https://aka.ms/AzureMapsMobilityMetroAreaInfo) can be requested to confirm if fare information is available in the metro area.", - "$ref": "#/definitions/ItineraryFare" - } - } - }, - "RouteItinerarySummary": { - "type": "array", - "items": { - "$ref": "#/definitions/RouteItineraryLeg" - } - }, - "RouteItineraryLeg": { - "type": "object", - "properties": { - "legType": { - "description": "The travel mode of the leg.", - "$ref": "#/definitions/LegType" - }, - "legFare": { - "description": "Leg level public transit fare information. Returned only if fare information is available for the entire itinerary.", - "$ref": "#/definitions/LegFare" - }, - "legStartTime": { - "description": "Start time for the leg in ISO 8601 format, e.g. 1996-12-19T19:39:57-08:00.", - "type": "string" - }, - "legEndTime": { - "description": "End time for the leg in ISO 8601 format, e.g. 1996-12-19T19:39:57-08:00.", - "type": "string" - }, - "caption": { - "description": "For Public Transit legs the caption of the line serving the leg, for example, line number.", - "type": "string" - }, - "lengthInMeters": { - "description": "The total distance of the leg in meters.", - "type": "integer", - "format": "int32" - } - } - }, - "ItinerarySummary": { - "description": "An array summarizing the legs of this itinerary.", - "type": "array", - "items": { - "$ref": "#/definitions/Leg" - } - }, - "Leg": { - "type": "object", - "properties": { - "legType": { - "description": "The travel mode of the leg.", - "$ref": "#/definitions/LegType" - }, - "legStartTime": { - "description": "Start time for the leg.", - "type": "string" - }, - "legEndTime": { - "description": "End time for the leg.", - "type": "string" - }, - "steps": { - "description": "In case of walk or bike leg, the directions.", - "type": "array", - "items": { - "$ref": "#/definitions/Step" - } - }, - "origin": { - "description": "The walk/bike leg’s origin.", - "$ref": "#/definitions/LegPoint" - }, - "destination": { - "description": "The walk/bike leg’s destination.", - "$ref": "#/definitions/LegPoint" - }, - "geometry": { - "$ref": "#/definitions/LineString" - }, - "lineGroup": { - "description": "In case of a public transit leg, the line group serving this leg.", - "$ref": "#/definitions/LineGroup" - }, - "line": { - "description": "In case of a public transit leg, the line serving this leg.", - "$ref": "#/definitions/Line" - }, - "stops": { - "description": "List of stops comprising the line’s route within the leg (e.g. the stops the leg passes through).", - "$ref": "#/definitions/Stops" - }, - "departures": { - "description": "Relevant for Public Transit and Wait legs only", - "$ref": "#/definitions/Departures" - }, - "legFare": { - "description": "Leg level public transit fare information. Returned only if fare information is available for the entire itinerary.", - "$ref": "#/definitions/LegFare" - }, - "waitOnVehicle": { - "description": "Indicates whether it’s necessary to wait for the next leg on the same vehicle (i.e. the bus will only change its line number).", - "type": "string" - } - } - }, - "LegType": { - "type": "string", - "enum": [ - "Walk", - "Bicycle", - "Tram", - "Subway", - "Rail", - "Bus", - "Ferry", - "Cable", - "Gondola", - "Funicular", - "PathWayWalk", - "Wait", - "WaitOnVehicle" - ], - "x-ms-enum": { - "name": "LegType", - "modelAsString": true, - "values": [ - { - "value": "Walk", - "description": "Pedestrian walk" - }, - { - "value": "Bicycle", - "description": "Bicycle" - }, - { - "value": "Tram", - "description": "Tram" - }, - { - "value": "Subway", - "description": "Subway" - }, - { - "value": "Rail", - "description": "Rail" - }, - { - "value": "Bus", - "description": "Bus" - }, - { - "value": "Ferry", - "description": "Ferry" - }, - { - "value": "Cable", - "description": "Cable Car" - }, - { - "value": "Gondola", - "description": "Gondola" - }, - { - "value": "Funicular", - "description": "Funicular" - }, - { - "value": "PathWayWalk", - "description": "A Leg describing a walk within a compound, e.g. Central Station" - }, - { - "value": "Wait", - "description": "A Leg describing a wait for the next public transit leg" - }, - { - "value": "WaitOnVehicle", - "description": "It’s necessary to wait for the next leg on the same vehicle (i.e. the bus will only change its line number)" - } - ] - } - }, - "ItineraryFare": { - "description": "Itinerary level transit fare information.", - "type": "object", - "properties": { - "price": { - "description": "The total price for all tickets a user is expected to purchase in order to complete this itinerary.", - "$ref": "#/definitions/Price" - }, - "tickets": { - "description": "An array describing the individual prices of each of the tickets that the user is expected to purchase throughout this itinerary. The list isn’t ordered.", - "type": "array", - "items": { - "$ref": "#/definitions/Tickets" - } - } - } - }, - "Tickets": { - "description": "An array describing the individual prices of each of the tickets that the user is expected to purchase throughout this itinerary. The list isn’t ordered.", - "type": "object", - "properties": { - "amount": { - "description": "Price of the ticket in cents. For example, $5.00 is returned as ‘500’.", - "type": "integer", - "format": "int32" - }, - "currencyCode": { - "description": "Currency code, for example for US dollars “USD”.", - "type": "string" - } - } - }, - "LegFare": { - "description": "Leg level public transit fare information. Returned only if fare information is available for the entire itinerary level and supported by the local transit agency.", - "type": "object", - "properties": { - "fares": { - "type": "array", - "items": { - "$ref": "#/definitions/Fares" - } - } - } - }, - "Fares": { - "description": "Detailed fare information for the leg.", - "type": "object", - "properties": { - "price": { - "description": "The price of the ticket when purchased for the individual leg, not for the entire route at once.", - "$ref": "#/definitions/Price" - }, - "usage": { - "description": "Supported values are:\n\n * pay – user is expected to pay for this ticket in order to consume the current leg\n * transfer – user can use a ticket purchased in a previous leg in order to consume the current leg. In general, when transfer is specified, the number of transfers is counted, and has a limit.\n * continue – user can use a ticket purchased in a previous leg in order to consume the current leg. In general, when continue is specified, the number of transfers isn’t incremented for this leg.\n * upgrade – user is expected to upgrade a ticket purchased in a previous leg in order to consume the current leg.", - "type": "string" - } - } - }, - "Price": { - "type": "object", - "properties": { - "amount": { - "description": "Price of the ticket in cents. For example, $5.00 is returned as ‘500’.", - "type": "integer", - "format": "int32" - }, - "currencyCode": { - "description": "Currency code, for example for US dollars “USD”.", - "type": "string" - } - } - }, - "LegPoint": { - "type": "object", - "properties": { - "position": { - "$ref": "#/definitions/Coordinate" - } - } - }, - "Stops": { - "type": "array", - "items": { - "$ref": "#/definitions/Stop" - } - }, - "Step": { - "type": "object", - "properties": { - "direction": { - "description": "The walking direction associated with this step.", - "$ref": "#/definitions/Direction" - }, - "streetName": { - "description": "The name of the street in which this step takes place.", - "type": "string" - } - } - }, - "Direction": { - "description": "The walking directions guidance.", - "type": "object", - "properties": { - "relativeDirection": { - "description": "The relative walking direction associated with applicable step.", - "type": "string", - "enum": [ - "depart", - "hardLeft", - "left", - "slightlyLeft", - "continue", - "slightlyRight", - "right", - "hardRight", - "circleClockwise", - "circleCounterclockwise", - "elevator", - "uturnLeft", - "uturnRight" - ], - "x-ms-enum": { - "name": "RelativeDirection", - "modelAsString": true, - "values": [ - { - "value": "depart", - "description": "Leave" - }, - { - "value": "hardLeft", - "description": "Turn sharp left." - }, - { - "value": "left", - "description": "Turn left." - }, - { - "value": "slightlyLeft", - "description": "Turn slightly left." - }, - { - "value": "continue", - "description": "Keep going." - }, - { - "value": "slightlyRight", - "description": "Turn slightly right." - }, - { - "value": "right", - "description": "Turn right." - }, - { - "value": "hardRight", - "description": "Turn sharp right." - }, - { - "value": "circleClockwise", - "description": "Circle clockwise." - }, - { - "value": "circleCounterclockwise", - "description": "Circle counter clockwise." - }, - { - "value": "elevator", - "description": "Take the elevator." - }, - { - "value": "uturnLeft", - "description": "Make a U-turn left." - }, - { - "value": "uturnRight", - "description": "Make a U-turn right." - } - ] - } - }, - "absoluteDirection": { - "description": "The absolute walking direction associated with this step.", - "type": "string", - "enum": [ - "north", - "northeast", - "east", - "southeast", - "south", - "southwest", - "west", - "northwest" - ], - "x-ms-enum": { - "name": "AbsoluteDirection", - "modelAsString": true, - "values": [ - { - "value": "north", - "description": "North" - }, - { - "value": "northeast", - "description": "NorthEast" - }, - { - "value": "east", - "description": "East" - }, - { - "value": "southeast", - "description": "SouthEast" - }, - { - "value": "south", - "description": "South" - }, - { - "value": "southwest", - "description": "SouthWest" - }, - { - "value": "west", - "description": "West" - }, - { - "value": "northwest", - "description": "NorthWest" - } - ] - } - } - } - }, - "Departures": { - "type": "array", - "items": { - "$ref": "#/definitions/LineArrival" - } - }, - "LineArrival": { - "type": "object", - "properties": { - "lineId": { - "description": "Line Id.", - "type": "string" - }, - "stopId": { - "description": "The unique Azure Maps identifier for the respective public transit stop. When referring to public transit stops over time, it is recommended to use `stopId` since it will not change, as long as the physical stop exists.", - "type": "string" - }, - "scheduleTime": { - "description": "The date and time of departure from the stop in ISO 8601 format, e.g. 1996-12-19T19:39:57-08:00.", - "type": "string", - "format": "date-time" - }, - "scheduleType": { - "description": "Whether the result is based on real-time or static data.", - "$ref": "#/definitions/ScheduleType" - } - } - }, - "Pattern": { - "type": "object", - "description": "Stop-shape-segments of the trip pattern, which are an ordered list of the stops and the shapes connecting them.", - "properties": { - "patternId": { - "description": "Pattern Id, for example, '3267995'.", - "type": "string" - }, - "lineId": { - "description": "Line Id.", - "type": "string" - }, - "stopIds": { - "description": "Stops the line goes through.", - "type": "array", - "items": { - "type": "string" - } - }, - "geometry": { - "description": "Stop sequence and shape per a line in GeoJSON format.", - "$ref": "#/definitions/LineString" - } - } - }, - "TransitTypeResult": { - "type": "object", - "properties": { - "transitType": { - "description": "Supported public transit type. Returned if specified in the request.", - "$ref": "#/definitions/TransitType" - }, - "captionOverride": { - "description": "For metro areas in which local name is different than the GTFS supported transit type, original name is returned.", - "type": "string" - } - } - }, - "Agency": { - "type": "object", - "description": "Details of the agency. Returned if specified in the request.", - "properties": { - "agencyId": { - "description": "The Id of the relevant transit agency, for example, '5872'", - "type": "string" - }, - "agencyKey": { - "description": "The agency’s GTFS Id.", - "type": "string" - }, - "agencyName": { - "description": "Name of the relevant transit agency, e.g. Metro Transit.", - "type": "string" - }, - "transitType": { - "description": "Supported public transit type. One of Tram, Subway, Rail, Bus, Ferry, CableCar, Gondola, Funicular.", - "$ref": "#/definitions/TransitTypeResult" - } - } - }, - "TransitType": { - "type": "string", - "enum": [ - "Bus", - "CableCar", - "Ferry", - "Funicular", - "Gondola", - "Rail", - "Tram", - "Subway" - ], - "x-ms-enum": { - "name": "TransitType", - "modelAsString": true, - "values": [ - { - "value": "Bus", - "description": "bus" - }, - { - "value": "CableCar", - "description": "cableCar" - }, - { - "value": "Ferry", - "description": "ferry" - }, - { - "value": "Funicular", - "description": "funicular" - }, - { - "value": "Gondola", - "description": "gondola" - }, - { - "value": "Rail", - "description": "rail" - }, - { - "value": "Tram", - "description": "tram" - }, - { - "value": "Subway", - "description": "subway" - } - ] - } - }, - "AlertDescription": { - "type": "object", - "properties": { - "data": { - "description": "Description of the alert.", - "type": "string" - }, - "format": { - "description": "Format of the alert description.", - "type": "string" - }, - "sourceUrl": { - "description": "Source URL.", - "type": "string" - } - } - }, - "RealTimeArrivalResult": { - "description": "Contains real-time arrival related details.", - "type": "object", - "properties": { - "arrivalMinutes": { - "description": "The estimated time of arrival in minutes.", - "type": "integer", - "format": "int32" - }, - "scheduleType": { - "description": "Whether the result is based on real-time or static data.", - "$ref": "#/definitions/ScheduleType" - }, - "patternId": { - "description": "The pattern Id.", - "type": "string" - }, - "line": { - "description": "The public transit type of the line.", - "$ref": "#/definitions/Line" - }, - "stop": { - "description": "Object for the given stop.", - "$ref": "#/definitions/Stop" - } - } - }, - "ScheduleType": { - "description": "Whether the result is based on real-time or static data.", - "type": "string", - "enum": [ - "scheduledTime", - "realTime" - ], - "x-ms-enum": { - "name": "ScheduleType", - "modelAsString": true, - "values": [ - { - "value": "scheduledTime", - "description": "Returned when estimated time of arrival is based on real-time data." - }, - { - "value": "realTime", - "description": "Returned when estimated time of arrival is based on static data." - } - ] - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json index 640b24eb7549..b44d7667f576 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json @@ -15,28 +15,39 @@ "application/xml" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { diff --git a/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/render.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/render.json index 78c92b9c46e1..ea2c58d8d95b 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/render.json +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/render.json @@ -15,28 +15,39 @@ "application/xml" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { diff --git a/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.1/render.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.1/render.json index 4117a291531c..a8cf03b4e745 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.1/render.json +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.1/render.json @@ -15,28 +15,39 @@ "application/xml" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure Role Based Access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure Role based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Note\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* The `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* The Azure role based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, Powershell, CLI, Azure SDKs, or REST APIs.\n* Usage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key which is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, Powershell, CLI, Azure SDKs, or REST APIs. With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for. For publicly exposed applications our recommendation is to use server to server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { diff --git a/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/route.json b/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/route.json index 941c0bc0de55..843d379df60b 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/route.json +++ b/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/route.json @@ -15,28 +15,39 @@ "application/xml" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { diff --git a/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchAddressReverse.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchAddressReverse.json index 097316bfd647..d5da78b025fa 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchAddressReverse.json +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchAddressReverse.json @@ -15,10 +15,8 @@ "addresses": [ { "address": { - "buildingNumber": "31", "streetNumber": "31", "routeNumbers": [], - "street": "N 2nd St", "streetName": "N 2nd St", "streetNameAndNumber": "31 N 2nd St", "countryCode": "US", diff --git a/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json index 91a8a6bcd46b..1259e7d0b646 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json @@ -104,10 +104,8 @@ "addresses": [ { "address": { - "buildingNumber": "410", "streetNumber": "410", "routeNumbers": [], - "street": "Thomas Street", "streetName": "Thomas Street", "streetNameAndNumber": "410 Thomas Street", "countryCode": "US", diff --git a/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/search.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/search.json index b864387d1263..3546139bff3f 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/search.json +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/search.json @@ -15,28 +15,39 @@ "application/xml" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { diff --git a/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/spatial.json b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/spatial.json index d72f6961b1ba..d8203e39545d 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/spatial.json +++ b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/spatial.json @@ -15,28 +15,39 @@ "application/xml" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { diff --git a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/Create.json b/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/Create.json deleted file mode 100644 index d95ef6727f62..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/Create.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]", - "datasetId": "[dataset-Id]" - }, - "responses": { - "201": { - "headers": { - "Location": "https://us.atlas.microsoft.com/tileset/{tilesetId}?api-version=1.0", - "Access-Control-Expose-Headers": "Location" - }, - "body": { - "operationId": "{operationId}", - "status": "Succeeded", - "created": "2020-01-02 1:02:03 AM +00:00", - "resourceLocation": "https://us.atlas.microsoft.com/tileset/{tilesetId}?api-version=1.0" - } - }, - "202": { - "headers": { - "Location": "https://us.atlas.microsoft.com/tileset/operations/{operationId}?api-version=1.0", - "Access-Control-Expose-Headers": "Location" - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/Delete.json b/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/Delete.json deleted file mode 100644 index 645e0fcb102b..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/Delete.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]", - "tilesetId": "25084fb7-307a-4720-8f91-7952a0b91012" - }, - "responses": { - "204": { - "body": {} - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/List.json b/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/List.json deleted file mode 100644 index ec95c2ccc02e..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/List.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "subscription-key": "[subscription-key]" - }, - "responses": { - "200": { - "body": { - "tilesets": [ - { - "tilesetId": "d8fa86de-bb0f-4a02-a6ff-62ae7545dd84", - "datasetId": "63b18a6b-ac35-4b23-a1d9-ffa1003ad50b", - "description": "My first tileset", - "minZoom": 16, - "maxZoom": 18, - "bbox": [ - -122.13595, - 47.636524, - -122.1329, - 47.637525 - ] - }, - { - "tilesetId": "b8dca8b3-8aad-4afe-abd6-0efe37b5a2e3", - "datasetId": "c0a01139-662e-4d5a-bf5f-92ea4a292aad", - "description": "My second tileset", - "minZoom": 19, - "maxZoom": 19, - "bbox": [ - -122.13595, - 47.636524, - -122.1329, - 47.637525 - ] - } - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/tileset.json b/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/tileset.json deleted file mode 100644 index f194ce77bb42..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/tileset.json +++ /dev/null @@ -1,513 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Azure Maps Tileset Service", - "version": "1.0", - "description": "APIs for managing Tilesets." - }, - "x-ms-parameterized-host": { - "hostTemplate": "{geography}.atlas.microsoft.com", - "parameters": [ - { - "$ref": "#/parameters/GeographicResourceLocation" - } - ] - }, - "schemes": [ - "https" - ], - "consumes": [], - "produces": [ - "application/json" - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", - "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." - } - }, - "apiKeyQuery": { - "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", - "name": "subscription-key", - "in": "query" - } - }, - "security": [ - { - "azure_auth": [] - }, - { - "apiKeyQuery": [] - } - ], - "responses": { - "400": { - "description": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "401": { - "description": "Access denied due to invalid subscription key or invalid Azure Active Directory (Azure AD) bearer token. Make sure to provide a valid key for an active Azure subscription and Maps resource. Otherwise, verify the [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header for error code and description of the provided Azure AD bearer token.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - }, - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Bearer realm=\"https://atlas.microsoft.com/\", error=\"invalid_token\", error_description=\"The access token expired\"" - } - } - }, - "403": { - "description": "Permission, capacity, or authentication issues.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "404": { - "description": "Not Found: the requested resource could not be found, but it may be available again in the future.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "500": { - "description": "An error occurred while processing the request. Please try again later.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "201Async": { - "description": "The resource has been created successfully.", - "schema": { - "$ref": "#/definitions/LongRunningOperationResult" - }, - "headers": { - "Location": { - "type": "string", - "description": "A URI where details on the newly created resource can be found." - } - } - }, - "202Async": { - "description": "**Supported only for async request.**\nRequest Accepted: The request has been accepted for processing. Please use the URL in the Location Header to retry or access the results.", - "headers": { - "Location": { - "type": "string", - "description": "New URL to check for the results of the long running process." - } - } - } - }, - "parameters": { - "GeographicResourceLocation": { - "name": "geography", - "description": "This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu.", - "in": "path", - "required": true, - "type": "string", - "default": "us", - "enum": [ - "us", - "eu" - ], - "x-ms-enum": { - "name": "GeographicResourceLocation", - "modelAsString": true, - "values": [ - { - "value": "us", - "description": "Used to access an Azure Maps Creator resource in the United States" - }, - { - "value": "eu", - "description": "Used to access an Azure Maps Creator resource in Europe" - } - ] - }, - "x-ms-parameter-location": "client" - }, - "ClientId": { - "name": "x-ms-client-id", - "description": "Specifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.", - "type": "string", - "in": "header", - "required": false, - "x-ms-parameter-location": "client" - }, - "SubscriptionKey": { - "name": "subscription-key", - "description": "One of the Azure Maps keys provided from an Azure Map Account. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication) for details on how to manage authentication.", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "client" - }, - "ApiVersion": { - "name": "api-version", - "description": "Version number of Azure Maps API. Current version is 1.0", - "type": "string", - "in": "query", - "required": true, - "default": "1.0", - "x-ms-parameter-location": "client" - }, - "JsonFormat": { - "name": "format", - "description": "Desired format of the response. Only `json` format is supported.", - "type": "string", - "in": "path", - "required": true, - "enum": [ - "json" - ], - "x-ms-enum": { - "name": "JsonFormat", - "modelAsString": true, - "values": [ - { - "value": "json", - "description": "[The JavaScript Object Notation Data Interchange Format](https://tools.ietf.org/html/rfc8259)" - } - ] - }, - "x-ms-parameter-location": "method" - }, - "DatasetIdQuery": { - "name": "datasetId", - "description": "The unique `datasetId` that the tileset create API uses to retrieve features to generate tiles. The `datasetId` must have been obtained from a successful [Dataset Create API](/en-us/rest/api/maps/dataset/createpreview) call.", - "type": "string", - "in": "query", - "required": true, - "x-ms-parameter-location": "client" - }, - "TilesetId": { - "name": "tilesetId", - "description": "The Tileset Id", - "type": "string", - "in": "path", - "required": true, - "x-ms-parameter-location": "method" - }, - "DescriptionTileset": { - "name": "description", - "description": "User provided description of the tileset.", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - } - }, - "paths": { - "/tileset/create/vector": { - "post": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Tileset Create API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API \nand SDK. [This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThe Tileset Create API allows the caller to create a tileset from a dataset. A tileset contains a set of tiles that can be consumed \nfrom the [Get Map Tile](/rest/api/maps/render/getmaptile) to retrieve custom tiles. To make a dataset, use the \n[DataSet Create API](/rest/api/maps/dataset/createpreview).\n\n## Submit Create Request\n\nTo create your tileset you will make a `POST` request with an empty body. The `datasetId` query parameter will be \nused as the source of the tileset data.\n\nThe Create Tileset API is a \n[long-running request](https://aka.ms/am-creator-lrt).", - "operationId": "Tileset_CreatePreview", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, - "x-ms-examples": { - "Create Tileset by providing a Dataset Id": { - "$ref": "./examples/Create.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/DatasetIdQuery" - }, - { - "$ref": "#/parameters/DescriptionTileset" - } - ], - "responses": { - "201": { - "$ref": "#/responses/201Async" - }, - "202": { - "$ref": "#/responses/202Async" - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/tileset": { - "get": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Tileset List API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\nThis API allows the caller to fetch a list of all tilesets created. \n
", - "operationId": "Tileset_ListPreview", - "x-ms-examples": { - "Get a list of all tilesets": { - "$ref": "./examples/List.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "List tileset request completed successfully. The response body contains a list of all tilesets.", - "schema": { - "$ref": "#/definitions/TilesetListResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/tileset/{tilesetId}": { - "delete": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Tileset Delete API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\nThis API allows the caller to delete a created tileset.
\nYou can use this API if a tileset is no longer needed. \n\n### Submit Delete Request\n\nTo delete your content you will issue a `DELETE` request where the path will contain the `tilesetId` of the tileset to delete.
\n\n#### Delete request \"Successful\"\n\nThe Tileset Delete API returns a HTTP `204 No Content` response with an empty body, if the tileset was deleted successfully.
\n\n#### Delete request \"Failed\"\n\nA HTTP `400 Bad Request` error response will be returned if the tileset with the passed-in `tilesetId` is not found. \n\nHere is a sample error response:\n\n
\n\n```json\n{\n \"error\": {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request - Tileset Id: d85b5b27-5fc4-4599-8b50-47160e90f8ce does not exist.\"\n }\n}\n```", - "operationId": "Tileset_DeletePreview", - "x-ms-examples": { - "Delete a created tileset": { - "$ref": "./examples/Delete.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/TilesetId" - } - ], - "responses": { - "204": { - "description": "Tileset delete request completed successfully.", - "schema": { - "$ref": "#/definitions/TilesetDeleteResponse" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - } - }, - "definitions": { - "ODataErrorResponse": { - "type": "object", - "description": "This response object is returned when an error occurs in the Azure Maps API.", - "properties": { - "error": { - "$ref": "#/definitions/ODataError" - } - } - }, - "ODataError": { - "type": "object", - "description": "This object is returned when an error occurs in the Azure Maps API.", - "properties": { - "code": { - "type": "string", - "readOnly": true, - "description": "The ODataError code." - }, - "message": { - "type": "string", - "readOnly": true, - "description": "If available, a human-readable description of the error." - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/ODataError" - } - }, - "target": { - "type": "string", - "readOnly": true, - "description": "If available, the target causing the error." - } - } - }, - "LongRunningOperationResult": { - "description": "The response model for a Long-Running Operations API.", - "type": "object", - "properties": { - "operationId": { - "description": "The Id for this long-running operation.", - "type": "string" - }, - "status": { - "description": "The status state of the request.", - "type": "string", - "enum": [ - "NotStarted", - "Running", - "Failed", - "Succeeded" - ], - "x-ms-enum": { - "name": "type", - "modelAsString": true, - "values": [ - { - "value": "NotStarted", - "description": "The request has not started processing yet." - }, - { - "value": "Running", - "description": "The request has started processing." - }, - { - "value": "Failed", - "description": "The request has one or more failures." - }, - { - "value": "Succeeded", - "description": "The request has successfully completed." - } - ] - }, - "readOnly": true - }, - "created": { - "description": "The created timestamp.", - "type": "string", - "readOnly": true - }, - "resourceLocation": { - "description": "The location URI for details about the created resource. This is only provided when the request was successfully completed.", - "type": "string", - "readOnly": true - }, - "error": { - "$ref": "#/definitions/ODataError" - }, - "warning": { - "$ref": "#/definitions/ODataError" - } - } - }, - "TilesetListResponse": { - "description": "The response model for the Tileset List API. Returns a list of all tilesets.", - "type": "object", - "properties": { - "tilesets": { - "description": "A list of all tilesets.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/TilesetDetailInfo" - } - } - } - }, - "TilesetDetailInfo": { - "description": "Detail information for the data.", - "type": "object", - "properties": { - "tilesetId": { - "description": "The unique tileset id for the tileset.", - "type": "string", - "readOnly": true - }, - "datasetId": { - "description": "The unique dataset Id used to create the tileset.", - "type": "string", - "readOnly": true - }, - "description": { - "description": "The description the caller provided when creating the tileset. Maximum length 1024 characters.", - "type": "string", - "readOnly": true - }, - "minZoom": { - "description": "The lowest tile zoom level tile generated for the tileset.", - "type": "integer", - "readOnly": true - }, - "maxZoom": { - "description": "The highest tile zoom level tile generated for the tileset.", - "type": "integer", - "readOnly": true - }, - "bbox": { - "description": "Bounding box which all features of the tileset lay within. Projection used - EPSG:3857. Format : 'minLon, minLat, maxLon, maxLat'.", - "type": "array", - "readOnly": true, - "items": { - "type": "number" - } - } - } - }, - "TilesetDeleteResponse": { - "description": "The response model for the Delete API. The response body will be empty signifying there's no content available for the `tilesetId` anymore.", - "type": "object" - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/2.0/tileset.json b/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/2.0/tileset.json index 526919d98048..7e7db745b0f0 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/2.0/tileset.json +++ b/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/2.0/tileset.json @@ -21,28 +21,39 @@ "application/json" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { diff --git a/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/timezone.json b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/timezone.json index 278fe7eb72ca..87a0fc2b6354 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/timezone.json +++ b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/timezone.json @@ -15,28 +15,39 @@ "application/xml" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { diff --git a/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json index 380c7b6caeee..956773d94703 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json +++ b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json @@ -15,28 +15,39 @@ "application/xml" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/DeleteItem.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/DeleteItem.json deleted file mode 100644 index 72fdf9389540..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/DeleteItem.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "datasetid": "018fda98-e638-0edf-5ef7-28491ff3bed4", - "subscription-key": "[subscription-key]", - "collectionId": "facility", - "featureId": "FCL39" - }, - "responses": { - "204": {}, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollection.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollection.json deleted file mode 100644 index 289c2decdf0c..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollection.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "datasetid": "018fda98-e638-0edf-5ef7-28491ff3bed4", - "subscription-key": "[subscription-key]", - "collectionId": "unit" - }, - "responses": { - "200": { - "body": { - "name": "unit", - "description": "A physical and non-overlapping area which might be occupied and traversed by a navigating agent. Can be a hallway, a room, a courtyard, etc. It is surrounded by physical obstruction (wall), unless the isOpenArea attribute is equal to true, and one must add openings where the obstruction shouldn't be there. If isOpenArea attribute is equal to true, all the sides are assumed open to the surroundings and walls are to be added where needed. Walls for open areas are represented as a lineElement or areaElement with isObstruction equal to true.", - "links": [ - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/definition?api-version=1.0", - "rel": "describedBy", - "title": "Metadata catalogue for unit" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/items?api-version=1.0", - "rel": "data", - "title": "unit" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit?api-version=1.0", - "rel": "self", - "title": "Metadata catalogue for unit" - } - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollectionDefinition.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollectionDefinition.json deleted file mode 100644 index 5abb684137ba..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollectionDefinition.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "datasetid": "018fda98-e638-0edf-5ef7-28491ff3bed4", - "subscription-key": "[subscription-key]", - "collectionId": "unit" - }, - "responses": { - "200": { - "body": { - "idPrefix": "UNIT", - "name": "unit", - "description": "A physical and non-overlapping area which might be occupied and traversed by a navigating agent. Can be a hallway, a room, a courtyard, etc. It is surrounded by physical obstruction (wall), unless the isOpenArea attribute is equal to true, and one must add openings where the obstruction shouldn't be there. If isOpenArea attribute is equal to true, all the sides are assumed open to the surroundings and walls are to be added where needed. Walls for open areas are represented as a lineElement or areaElement with isObstruction equal to true.", - "geometryType": "Polygon", - "featureTypes": [], - "properties": [ - { - "name": "externalId", - "required": false, - "type": "text" - }, - { - "name": "originalId", - "required": false, - "type": "text" - }, - { - "name": "categoryId", - "required": true, - "type": { - "featureId": "category" - } - }, - { - "name": "isOpenArea", - "required": false, - "type": "boolean" - }, - { - "name": "navigableBy", - "required": false, - "type": { - "array": { - "enum": [ - "pedestrian", - "wheelchair", - "machine", - "bicycle", - "automobile", - "hiredAuto", - "bus", - "railcar", - "emergency", - "ferry", - "boat" - ] - } - } - }, - { - "name": "isRoutable", - "required": false, - "type": "boolean" - }, - { - "name": "routeThroughBehavior", - "required": false, - "type": { - "enum": [ - "disallowed", - "allowed", - "preferred" - ] - } - }, - { - "name": "nonPublic", - "required": false, - "type": "boolean" - }, - { - "name": "levelId", - "required": true, - "type": { - "featureId": "level" - } - }, - { - "name": "occupants", - "required": false, - "type": { - "array": { - "featureId": "directoryInfo" - } - } - }, - { - "name": "addressId", - "required": false, - "type": { - "featureId": "directoryInfo" - } - }, - { - "name": "addressRoomNumber", - "required": false, - "type": "text" - }, - { - "name": "name", - "required": false, - "type": "text" - }, - { - "name": "nameSubtitle", - "required": false, - "type": "text" - }, - { - "name": "nameAlt", - "required": false, - "type": "text" - }, - { - "name": "anchorPoint", - "required": false, - "type": { - "geometry": [ - "Point" - ], - "isFragmented": false, - "srid": 4326 - } - } - ], - "links": [ - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/definition?api-version=1.0", - "rel": "self", - "title": "Metadata catalogue for unit" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/items?api-version=1.0", - "rel": "data", - "title": "unit" - } - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollections.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollections.json deleted file mode 100644 index c66647770907..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollections.json +++ /dev/null @@ -1,298 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "datasetid": "018fda98-e638-0edf-5ef7-28491ff3bed4", - "subscription-key": "[subscription-key]" - }, - "responses": { - "200": { - "body": { - "collections": [ - { - "name": "unit", - "description": "A physical and non-overlapping area which might be occupied and traversed by a navigating agent. Can be a hallway, a room, a courtyard, etc. It is surrounded by physical obstruction (wall), unless the isOpenArea attribute is equal to true, and one must add openings where the obstruction shouldn't be there. If isOpenArea attribute is equal to true, all the sides are assumed open to the surroundings and walls are to be added where needed. Walls for open areas are represented as a lineElement or areaElement with isObstruction equal to true.", - "links": [ - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/definition?api-version=1.0", - "rel": "describedBy", - "title": "Metadata catalogue for unit" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/items?api-version=1.0", - "rel": "data", - "title": "unit" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit?api-version=1.0", - "rel": "self", - "title": "Metadata catalogue for unit" - } - ] - }, - { - "name": "zone", - "description": "A virtual area. ex, wifi zone, emergency assembly area. Zones can be used as destinations but not meant for through traffic.", - "links": [ - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/zone/definition?api-version=1.0", - "rel": "describedBy", - "title": "Metadata catalogue for zone" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/zone/items?api-version=1.0", - "rel": "data", - "title": "zone" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/zone?api-version=1.0", - "rel": "self", - "title": "Metadata catalogue for zone" - } - ] - }, - { - "name": "level", - "description": "An indication of the extent and vertical position of a set of features.", - "links": [ - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/level/definition?api-version=1.0", - "rel": "describedBy", - "title": "Metadata catalogue for level" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/level/items?api-version=1.0", - "rel": "data", - "title": "level" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/level?api-version=1.0", - "rel": "self", - "title": "Metadata catalogue for level" - } - ] - }, - { - "name": "facility", - "description": "Area of the site, building footprint etc.", - "links": [ - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/facility/definition?api-version=1.0", - "rel": "describedBy", - "title": "Metadata catalogue for facility" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/facility/items?api-version=1.0", - "rel": "data", - "title": "facility" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/facility?api-version=1.0", - "rel": "self", - "title": "Metadata catalogue for facility" - } - ] - }, - { - "name": "verticalPenetration", - "description": "An area that, when used in a set, represents a method of navigating vertically between levels. It can be used to model stairs, elevators etc. Geometry can overlap units and other vertical penetration features.", - "links": [ - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/verticalPenetration/definition?api-version=1.0", - "rel": "describedBy", - "title": "Metadata catalogue for verticalPenetration" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/verticalPenetration/items?api-version=1.0", - "rel": "data", - "title": "verticalPenetration" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/verticalPenetration?api-version=1.0", - "rel": "self", - "title": "Metadata catalogue for verticalPenetration" - } - ] - }, - { - "name": "opening", - "description": "A usually-traversable boundary between two units, or a unit and verticalPenetration.", - "links": [ - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/opening/definition?api-version=1.0", - "rel": "describedBy", - "title": "Metadata catalogue for opening" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/opening/items?api-version=1.0", - "rel": "data", - "title": "opening" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/opening?api-version=1.0", - "rel": "self", - "title": "Metadata catalogue for opening" - } - ] - }, - { - "name": "directoryInfo", - "description": "Name, address, phone number, website, and hours of operation for a unit, facility, or an occupant of a unit or facility.", - "links": [ - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/directoryInfo/definition?api-version=1.0", - "rel": "describedBy", - "title": "Metadata catalogue for directoryInfo" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/directoryInfo/items?api-version=1.0", - "rel": "data", - "title": "directoryInfo" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/directoryInfo?api-version=1.0", - "rel": "self", - "title": "Metadata catalogue for directoryInfo" - } - ] - }, - { - "name": "pointElement", - "description": "A point feature in a unit, such as a first aid kit or a sprinkler head.", - "links": [ - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/pointElement/definition?api-version=1.0", - "rel": "describedBy", - "title": "Metadata catalogue for pointElement" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/pointElement/items?api-version=1.0", - "rel": "data", - "title": "pointElement" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/pointElement?api-version=1.0", - "rel": "self", - "title": "Metadata catalogue for pointElement" - } - ] - }, - { - "name": "lineElement", - "description": "A line feature in a unit, such as a dividing wall, window.", - "links": [ - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/lineElement/definition?api-version=1.0", - "rel": "describedBy", - "title": "Metadata catalogue for lineElement" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/lineElement/items?api-version=1.0", - "rel": "data", - "title": "lineElement" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/lineElement?api-version=1.0", - "rel": "self", - "title": "Metadata catalogue for lineElement" - } - ] - }, - { - "name": "areaElement", - "description": "A polygon feature in a unit, such as an area open to below, an obstruction like an island in a unit.", - "links": [ - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/areaElement/definition?api-version=1.0", - "rel": "describedBy", - "title": "Metadata catalogue for areaElement" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/areaElement/items?api-version=1.0", - "rel": "data", - "title": "areaElement" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/areaElement?api-version=1.0", - "rel": "self", - "title": "Metadata catalogue for areaElement" - } - ] - }, - { - "name": "category", - "description": "Category names. e.g. \"room.conference\". The isRoutable attribute puts a feature with that category on the routing graph. The routeThroughBehavior attribute determines whether a feature can be used for through traffic or not.", - "links": [ - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/category/definition?api-version=1.0", - "rel": "describedBy", - "title": "Metadata catalogue for category" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/category/items?api-version=1.0", - "rel": "data", - "title": "category" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/category?api-version=1.0", - "rel": "self", - "title": "Metadata catalogue for category" - } - ] - } - ], - "links": [ - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections?api-version=1.0", - "rel": "self" - } - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetConformance.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetConformance.json deleted file mode 100644 index 48086e702d21..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetConformance.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "datasetid": "018fda98-e638-0edf-5ef7-28491ff3bed4", - "subscription-key": "[subscription-key]" - }, - "responses": { - "200": { - "body": { - "conformsTo": [ - "http://www.opengis.net/spec/wfs-1/3.0/req/core", - "http://www.opengis.net/spec/wfs-1/3.0/req/oas30", - "http://www.opengis.net/spec/wfs-1/3.0/req/geojson", - "http://tempuri.org/wfs/3.0/edit" - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetItem.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetItem.json deleted file mode 100644 index 20f6305c4e7e..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetItem.json +++ /dev/null @@ -1,129 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "datasetid": "018fda98-e638-0edf-5ef7-28491ff3bed4", - "subscription-key": "[subscription-key]", - "collectionId": "unit", - "featureId": "UNIT39" - }, - "responses": { - "200": { - "body": { - "feature": { - "type": "feature", - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - 139.63304057829211, - 35.457686686108559 - ], - [ - 139.63296283234274, - 35.457783904258683 - ], - [ - 139.63308672404617, - 35.457850229062018 - ], - [ - 139.63314516916711, - 35.457777145699858 - ], - [ - 139.63312747036289, - 35.457767670747167 - ], - [ - 139.63314677109963, - 35.457743535881377 - ], - [ - 139.63304057829211, - 35.457686686108559 - ] - ] - ] - }, - "properties": { - "originalId": "ddbbb583-4621-4e11-8859-299d1057e843", - "categoryId": "CTG10", - "isOpenArea": false, - "navigableBy": [ - "pedestrian" - ], - "isRoutable": false, - "routeThroughBehavior": "allowed", - "nonPublic": false, - "levelId": "LVL18", - "occupants": [], - "addressId": "DIR16", - "addressRoomNumber": "", - "name": "21N13", - "nameSubtitle": "", - "nameAlt": "" - }, - "id": "UNIT39", - "featureType": "" - }, - "links": [ - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/items/UNIT39?api-version=1.0", - "rel": "self" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit?api-version=1.0", - "rel": "data" - } - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetItems.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetItems.json deleted file mode 100644 index 1862a002e696..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetItems.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "datasetid": "018fda98-e638-0edf-5ef7-28491ff3bed4", - "subscription-key": "[subscription-key]", - "collectionId": "unit", - "limit": 1, - "bbox": "-122, 47, -120, 46" - }, - "responses": { - "200": { - "body": { - "type": "FeatureCollection", - "features": [ - { - "type": "feature", - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - 139.63304057829211, - 35.457686686108559 - ], - [ - 139.63296283234274, - 35.457783904258683 - ], - [ - 139.63308672404617, - 35.457850229062018 - ], - [ - 139.63314516916711, - 35.457777145699858 - ], - [ - 139.63312747036289, - 35.457767670747167 - ], - [ - 139.63314677109963, - 35.457743535881377 - ], - [ - 139.63304057829211, - 35.457686686108559 - ] - ] - ] - }, - "properties": { - "originalId": "ddbbb583-4621-4e11-8859-299d1057e843", - "categoryId": "CTG10", - "isOpenArea": false, - "navigableBy": [ - "pedestrian" - ], - "isRoutable": false, - "routeThroughBehavior": "allowed", - "nonPublic": false, - "levelId": "LVL18", - "occupants": [], - "addressId": "DIR16", - "addressRoomNumber": "", - "name": "21N13", - "nameSubtitle": "", - "nameAlt": "" - }, - "id": "UNIT39", - "featureType": "" - } - ], - "numberReturned": 1, - "links": [ - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/items?api-version=1.0&limit=1", - "rel": "self" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit?api-version=1.0", - "rel": "data" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/items?n=PMRG4ZLYOQRDUMJMEJYHEZLWEI5C2ML5&api-version=1.0&limit=1", - "rel": "next" - } - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetLandingPage.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetLandingPage.json deleted file mode 100644 index 508aba14bca4..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetLandingPage.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "parameters": { - "geography": "us", - "api-version": "1.0", - "datasetid": "018fda98-e638-0edf-5ef7-28491ff3bed4", - "subscription-key": "[subscription-key]" - }, - "responses": { - "200": { - "body": { - "links": [ - { - "href": "https://us.atlas.microsoft.com/wfs/datasets/018fda98-e638-0edf-5ef7-28491ff3bed4", - "rel": "self", - "title": "Azure Maps WFS" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/datasets/018fda98-e638-0edf-5ef7-28491ff3bed4/api", - "rel": "service", - "title": "The API definition" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/datasets/018fda98-e638-0edf-5ef7-28491ff3bed4/conformance", - "rel": "conformance", - "title": "WFS 3.0 conformance classes implemented by this server" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/datasets/018fda98-e638-0edf-5ef7-28491ff3bed4/version", - "rel": "data", - "title": "The version information" - }, - { - "href": "https://us.atlas.microsoft.com/wfs/datasets/018fda98-e638-0edf-5ef7-28491ff3bed4/collections", - "rel": "data", - "title": "Metadata about the feature collections" - } - ] - } - }, - "400": { - "headers": {}, - "body": { - "error": { - "code": "400 BadRequest", - "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." - } - } - }, - "401": { - "headers": {}, - "body": { - "error": { - "code": "401 Unauthorized", - "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." - } - } - }, - "403": { - "headers": {}, - "body": { - "error": { - "code": "403 Forbidden", - "message": "Permission, capacity, or authentication issues." - } - } - }, - "404": { - "headers": {}, - "body": { - "error": { - "code": "404 NotFound", - "message": "Not Found: the requested resource could not be found, but it may be available again in the future." - } - } - }, - "500": { - "headers": {}, - "body": { - "error": { - "code": "500 InternalServerError", - "message": "An error occurred while processing the request. Please try again later." - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/wfs.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/wfs.json deleted file mode 100644 index dfb4d2b6d180..000000000000 --- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/wfs.json +++ /dev/null @@ -1,1020 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Azure Maps Web Feature Service", - "version": "1.0", - "description": "Azure Maps Web Feature REST APIs" - }, - "x-ms-parameterized-host": { - "hostTemplate": "{geography}.atlas.microsoft.com", - "parameters": [ - { - "$ref": "#/parameters/GeographicResourceLocation" - } - ] - }, - "schemes": [ - "https" - ], - "consumes": [], - "produces": [ - "application/json", - "application/xml" - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", - "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." - } - }, - "apiKeyQuery": { - "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", - "name": "subscription-key", - "in": "query" - } - }, - "security": [ - { - "azure_auth": [] - }, - { - "apiKeyQuery": [] - } - ], - "responses": { - "202": { - "description": "Request Accepted: The request has been accepted for processing. Please use the URL in the Location Header to retry or access the results.", - "headers": { - "Location": { - "type": "string", - "description": "New URL to check for the results of the long running process." - } - } - }, - "400": { - "description": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "401": { - "description": "Access denied due to invalid subscription key or invalid Azure Active Directory (Azure AD) bearer token. Make sure to provide a valid key for an active Azure subscription and Maps resource. Otherwise, verify the [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header for error code and description of the provided Azure AD bearer token.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - }, - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Bearer realm=\"https://atlas.microsoft.com/\", error=\"invalid_token\", error_description=\"The access token expired\"" - } - } - }, - "403": { - "description": "Permission, capacity, or authentication issues.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "404": { - "description": "Not Found: the requested resource could not be found, but it may be available again in the future.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - }, - "500": { - "description": "An error occurred while processing the request. Please try again later.", - "schema": { - "$ref": "#/definitions/ODataErrorResponse" - } - } - }, - "parameters": { - "GeographicResourceLocation": { - "name": "geography", - "description": "This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu.", - "in": "path", - "required": true, - "type": "string", - "default": "us", - "enum": [ - "us", - "eu" - ], - "x-ms-enum": { - "name": "GeographicResourceLocation", - "modelAsString": true, - "values": [ - { - "value": "us", - "description": "Used to access an Azure Maps Creator resource in the United States" - }, - { - "value": "eu", - "description": "Used to access an Azure Maps Creator resource in Europe" - } - ] - }, - "x-ms-parameter-location": "client" - }, - "ClientId": { - "name": "x-ms-client-id", - "description": "Specifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.", - "type": "string", - "in": "header", - "required": false, - "x-ms-parameter-location": "client" - }, - "SubscriptionKey": { - "name": "subscription-key", - "description": "One of the Azure Maps keys provided from an Azure Map Account. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication) for details on how to manage authentication.", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "client" - }, - "ApiVersion": { - "name": "api-version", - "description": "Version number of Azure Maps API. Current version is 1.0", - "type": "string", - "in": "query", - "required": true, - "default": "1.0", - "x-ms-parameter-location": "client" - }, - "Datasetid": { - "name": "datasetid", - "type": "string", - "in": "path", - "description": "The identifier for the dataset to query from.", - "required": true, - "x-ms-parameter-location": "method" - }, - "LimitWfs": { - "name": "limit", - "in": "query", - "type": "number", - "minimum": 1, - "maximum": 50, - "default": 10, - "description": "The optional limit parameter limits the number of features that are presented in the response document.\nOnly features that are on the first level of the collection in the response document are counted. Nested objects contained within the explicitly requested features shall not be counted.\n* Minimum = 1 * Maximum = 50 * Default = 10", - "x-ms-parameter-location": "method" - }, - "Filter": { - "name": "filter", - "in": "query", - "type": "string", - "description": "Filter expression to search for features with specific property values in a given collection. Only feature properties of scalar type and equals operator are supported.\nThis is a special parameter where the parameter name is a case sensitive property name. The scheme for this parameter is {property name}={property value}. Unless \"filter\" is one of the property names in the collection, \"filter\" should not be used as a parameter name. To search for features with \"name\" property value \"21N13\", use \"name=21N13\".\nMultiple filters are supported and should be represented as multiple query parameters. E.g., =&= String values are case sensitive.", - "x-ms-parameter-location": "method" - }, - "Bbox": { - "name": "bbox", - "in": "query", - "type": "string", - "description": "Only features that have a geometry that intersects the supplied bounding box are selected.\n* Lower left corner, coordinate axis 1 * Lower left corner, coordinate axis 2 * Upper right corner, coordinate axis 1 * Upper right corner, coordinate axis 2\nThe coordinate reference system of the values is WGS84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate reference system is specified in the parameter `bbox-crs`.\nFor WGS84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge).", - "required": false, - "x-ms-parameter-location": "method" - }, - "CollectionId": { - "name": "collectionId", - "in": "path", - "type": "string", - "required": true, - "description": "Identifier (name) of a specific collection", - "x-ms-parameter-location": "method" - }, - "FeatureId": { - "name": "featureId", - "in": "path", - "type": "string", - "description": "Local identifier of a specific feature", - "required": true, - "x-ms-parameter-location": "method" - } - }, - "paths": { - "/wfs/datasets/{datasetid}/": { - "get": { - "x-publish": true, - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/dataset/createpreview). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Get Landing Page API provides links to the API definition, the Conformance statements and the metadata about the feature data in this dataset.", - "operationId": "WFS_GetLandingPagePreview", - "x-ms-examples": { - "GetLandingPage": { - "$ref": "./examples/GetLandingPage.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/Datasetid" - } - ], - "responses": { - "200": { - "description": "Ok", - "schema": { - "$ref": "#/definitions/Root" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/wfs/datasets/{datasetid}/conformance": { - "get": { - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/dataset/createpreview). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Get Requirements Classes lists all requirements classes specified in the standard that the server conforms to.", - "x-publish": true, - "operationId": "WFS_GetRequirementsClassesPreview", - "x-ms-examples": { - "GetConformance": { - "$ref": "./examples/GetConformance.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/Datasetid" - } - ], - "responses": { - "200": { - "description": "Ok", - "schema": { - "$ref": "#/definitions/ReqClasses" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/wfs/datasets/{datasetid}/collections": { - "get": { - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/dataset/createpreview). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Collections Description API provides descriptions of all the collections in a given dataset.", - "operationId": "WFS_CollectionsDescriptionPreview", - "x-publish": true, - "x-ms-examples": { - "GetCollections": { - "$ref": "./examples/GetCollections.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/Datasetid" - } - ], - "responses": { - "200": { - "description": "Ok", - "schema": { - "$ref": "#/definitions/Content" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/wfs/datasets/{datasetid}/collections/{collectionId}": { - "get": { - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/dataset/createpreview). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\n \nThe Collection Description API provides the description of a given collection. It includes the links to the operations that can be performed on the collection.", - "operationId": "WFS_CollectionDescriptionPreview", - "x-publish": true, - "x-ms-examples": { - "GetCollection": { - "$ref": "./examples/GetCollection.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/Datasetid" - }, - { - "$ref": "#/parameters/CollectionId" - } - ], - "responses": { - "200": { - "description": "Ok", - "schema": { - "$ref": "#/definitions/CollectionInfo" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/wfs/datasets/{datasetid}/collections/{collectionId}/definition": { - "get": { - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/dataset/createpreview). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\n \nThe Collection Definition API provides the detailed data model of a given collection.", - "operationId": "WFS_CollectionDefinitionPreview", - "x-publish": true, - "x-ms-examples": { - "GetCollectionDefinition": { - "$ref": "./examples/GetCollectionDefinition.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/Datasetid" - }, - { - "$ref": "#/parameters/CollectionId" - } - ], - "responses": { - "200": { - "description": "Ok", - "schema": { - "$ref": "#/definitions/CollectionDefinition" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/wfs/datasets/{datasetid}/collections/{collectionId}/items": { - "get": { - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/dataset/createpreview). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Get Features API returns the list of features in the given collection.", - "operationId": "WFS_GetFeaturesPreview", - "x-publish": true, - "x-ms-examples": { - "Getitems": { - "$ref": "./examples/GetItems.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ClientId" - }, - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/Datasetid" - }, - { - "$ref": "#/parameters/CollectionId" - }, - { - "$ref": "#/parameters/LimitWfs" - }, - { - "$ref": "#/parameters/Bbox" - }, - { - "$ref": "#/parameters/Filter" - } - ], - "responses": { - "200": { - "description": "Ok", - "schema": { - "$ref": "#/definitions/FeatureCollectionGeoJSON" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - }, - "/wfs/datasets/{datasetid}/collections/{collectionId}/items/{featureId}": { - "get": { - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/dataset/createpreview). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Get Feature API returns the feature identified by the provided id in the given collection.", - "x-publish": true, - "operationId": "WFS_GetFeaturePreview", - "x-ms-examples": { - "GetFeature": { - "$ref": "./examples/GetItem.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/Datasetid" - }, - { - "$ref": "#/parameters/CollectionId" - }, - { - "$ref": "#/parameters/FeatureId" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Feature" - } - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - }, - "delete": { - "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/dataset/createpreview). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Delete Feature API deletes the feature identified by the provided id in the given collection. At this point this API supports only facility features. Deleting a facility feature deletes all the child features of that facility recursively.", - "x-publish": true, - "operationId": "WFS_DeleteFeaturePreview", - "x-ms-examples": { - "GetFeature": { - "$ref": "./examples/DeleteItem.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionKey" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/Datasetid" - }, - { - "$ref": "#/parameters/CollectionId" - }, - { - "$ref": "#/parameters/FeatureId" - } - ], - "responses": { - "204": { - "description": "Feature Deleted." - }, - "400": { - "$ref": "#/responses/400" - }, - "401": { - "$ref": "#/responses/401" - }, - "403": { - "$ref": "#/responses/403" - }, - "404": { - "$ref": "#/responses/404" - }, - "500": { - "$ref": "#/responses/500" - } - } - } - } - }, - "definitions": { - "ODataErrorResponse": { - "type": "object", - "description": "This response object is returned when an error occurs in the Azure Maps API.", - "properties": { - "error": { - "$ref": "#/definitions/ODataError" - } - } - }, - "ODataError": { - "type": "object", - "description": "This object is returned when an error occurs in the Azure Maps API.", - "properties": { - "code": { - "type": "string", - "readOnly": true, - "description": "The ODataError code." - }, - "message": { - "type": "string", - "readOnly": true, - "description": "If available, a human-readable description of the error." - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/ODataError" - } - }, - "target": { - "type": "string", - "readOnly": true, - "description": "If available, the target causing the error." - } - } - }, - "Exception": { - "type": "object", - "required": [ - "code" - ], - "properties": { - "code": { - "type": "string" - }, - "description": { - "type": "string" - } - } - }, - "Root": { - "type": "object", - "required": [ - "links" - ], - "properties": { - "links": { - "type": "array", - "items": { - "$ref": "#/definitions/Link" - } - } - } - }, - "ReqClasses": { - "type": "object", - "required": [ - "conformsTo" - ], - "properties": { - "conformsTo": { - "type": "array", - "items": { - "type": "string" - }, - "example": [ - "http://www.opengis.net/spec/wfs-1/3.0/req/core", - "http://www.opengis.net/spec/wfs-1/3.0/req/oas30", - "http://www.opengis.net/spec/wfs-1/3.0/req/html", - "http://www.opengis.net/spec/wfs-1/3.0/req/geojson" - ] - } - } - }, - "Link": { - "description": "Links to other WFS endpoints", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "type": "string" - }, - "rel": { - "type": "string", - "example": "prev" - }, - "type": { - "type": "string", - "example": "application/geo+json" - }, - "hreflang": { - "type": "string", - "example": "en" - }, - "title": { - "type": "string" - } - } - }, - "Content": { - "type": "object", - "required": [ - "links", - "collections" - ], - "properties": { - "links": { - "type": "array", - "items": { - "$ref": "#/definitions/Link" - }, - "example": [ - { - "href": "http://data.example.org/collections.json", - "rel": "self", - "type": "application/json", - "title": "this document" - }, - { - "href": "http://data.example.org/collections.html", - "rel": "alternate", - "type": "text/html", - "title": "this document as HTML" - }, - { - "href": "http://schemas.example.org/1.0/foobar.xsd", - "rel": "describedBy", - "type": "application/xml", - "title": "XML schema for Acme Corporation data" - } - ] - }, - "collections": { - "type": "array", - "items": { - "$ref": "#/definitions/CollectionInfo" - } - } - } - }, - "Version": { - "type": "object", - "required": [ - "version", - "revisionTimestamp", - "links" - ], - "properties": { - "version": { - "description": "version number of the dataset", - "type": "string", - "example": "1.0.0" - }, - "revisionTimestamp": { - "description": "timestamp of the revision", - "type": "string", - "example": "2020-01-02T03:04:05" - }, - "links": { - "type": "array", - "items": { - "$ref": "#/definitions/Link" - }, - "example": [ - { - "href": "http://data.example.org/collections.json", - "rel": "self", - "type": "application/json", - "title": "this document" - }, - { - "href": "http://data.example.org/collections.html", - "rel": "alternate", - "type": "text/html", - "title": "this document as HTML" - }, - { - "href": "http://schemas.example.org/1.0/foobar.xsd", - "rel": "describedBy", - "type": "application/xml", - "title": "XML schema for Acme Corporation data" - } - ] - } - } - }, - "CollectionInfo": { - "type": "object", - "required": [ - "name", - "links" - ], - "properties": { - "name": { - "description": "identifier of the collection used, for example, in URIs", - "type": "string", - "example": "buildings" - }, - "title": { - "description": "human readable title of the collection", - "type": "string", - "example": "Buildings" - }, - "description": { - "description": "a description of the features in the collection", - "type": "string", - "example": "Buildings in the city of Bonn." - }, - "links": { - "type": "array", - "items": { - "$ref": "#/definitions/Link" - }, - "example": [ - { - "href": "http://data.example.org/collections/buildings/items", - "rel": "item", - "type": "application/geo+json", - "title": "Buildings" - }, - { - "href": "http://example.org/concepts/building.html", - "rel": "describedBy", - "type": "text/html", - "title": "Feature catalogue for buildings" - } - ] - } - } - }, - "CollectionDefinition": { - "description": "collection of GeoJSON features", - "type": "object", - "required": [ - "idPrefix", - "name", - "geometryType", - "featureTypes" - ], - "properties": { - "description": { - "description": "describes the collection", - "type": "string" - }, - "idPrefix": { - "description": "prefix of the collection used", - "type": "string", - "example": "BLD" - }, - "name": { - "description": "identifier of the collection used, for example, in URIs", - "type": "string", - "example": "buildings" - }, - "title": { - "description": "title of collection", - "type": "string", - "example": "Feature Class buildings" - }, - "geometryType": { - "description": "type of geometry returned", - "type": "string", - "enum": [ - "Point", - "MultiPoint", - "LineString", - "MultiLineString", - "Polygon", - "MultiPolygon", - "GeometryCollection" - ] - }, - "featureTypes": { - "description": "type of features returned", - "type": "array", - "items": { - "type": "string" - } - }, - "properties": { - "x-ms-client-flatten": true, - "description": "attributes of the collection used", - "type": "array", - "items": { - "$ref": "#/definitions/DefinitionProperties" - } - }, - "links": { - "type": "array", - "items": { - "$ref": "#/definitions/Link" - } - } - } - }, - "DefinitionProperties": { - "type": "object", - "required": [ - "name", - "required", - "type" - ], - "properties": { - "name": { - "description": "name of attribute", - "type": "string", - "example": "external_id" - }, - "required": { - "description": "is attribute required", - "type": "boolean" - }, - "type": { - "description": "type of attribute", - "type": "object" - } - } - }, - "FeatureCollectionGeoJSON": { - "type": "object", - "required": [ - "type", - "features" - ], - "properties": { - "type": { - "type": "string" - }, - "numberReturned": { - "type": "integer" - }, - "features": { - "type": "array", - "items": { - "$ref": "#/definitions/FeatureGeoJSON" - } - }, - "links": { - "type": "array", - "items": { - "$ref": "#/definitions/Link" - } - } - } - }, - "Feature": { - "type": "object", - "required": [ - "feature" - ], - "properties": { - "feature": { - "$ref": "#/definitions/FeatureGeoJSON" - }, - "links": { - "type": "array", - "items": { - "$ref": "#/definitions/Link" - } - } - } - }, - "FeatureGeoJSON": { - "description": "GeoJSON Feature", - "type": "object", - "required": [ - "type", - "geometry", - "properties" - ], - "properties": { - "type": { - "description": "feature", - "type": "string" - }, - "geometry": { - "description": "This represents the geometry for one or more geographical features (parks, state boundary etc.) and should be a `GeoJSON` compliant type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946) for details.", - "type": "object" - }, - "properties": { - "x-ms-client-flatten": true, - "description": "Additional properties of the feature.", - "type": "object" - }, - "id": { - "description": "Identifier for the feature.", - "type": "string" - }, - "featureType": { - "description": "The type of the feature. The value depends on the data model the current feature is part of. Some data models may have an empty value.", - "type": "string" - } - } - } - } -} diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/2.0/wfs.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/2.0/wfs.json index ee95b8709fa3..ede8be4acf8e 100644 --- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/2.0/wfs.json +++ b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/2.0/wfs.json @@ -22,28 +22,39 @@ "application/xml" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { diff --git a/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/weather.json b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/weather.json index 6d2bff219c5d..b5b8577959f8 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/weather.json +++ b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/weather.json @@ -13,28 +13,39 @@ "application/json" ], "securityDefinitions": { - "azure_auth": { + "AADToken": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { - "user_impersonation": "Impersonates a user's Azure Active Directory account." + "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "apiKeyQuery": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", + "in": "header" } }, "security": [ { - "azure_auth": [] + "AADToken": [ + "https://atlas.microsoft.com/.default" + ] + }, + { + "SharedKey": [] }, { - "apiKeyQuery": [] + "SasToken": [] } ], "responses": { diff --git a/specification/maps/data-plane/Render/preview/1.0/examples/GetCopyrightFromBoundingBox.json b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulBoundingBoxCopyrightRequest.json similarity index 100% rename from specification/maps/data-plane/Render/preview/1.0/examples/GetCopyrightFromBoundingBox.json rename to specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulBoundingBoxCopyrightRequest.json diff --git a/specification/maps/data-plane/Render/preview/1.0/examples/GetCopyrightCaption.json b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulCopyrightCaptionRequest.json similarity index 100% rename from specification/maps/data-plane/Render/preview/1.0/examples/GetCopyrightCaption.json rename to specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulCopyrightCaptionRequest.json diff --git a/specification/maps/data-plane/Render/preview/1.0/examples/GetMapImageryTile.json b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulImageryTileRequest.json similarity index 100% rename from specification/maps/data-plane/Render/preview/1.0/examples/GetMapImageryTile.json rename to specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulImageryTileRequest.json diff --git a/specification/maps/data-plane/Render/preview/1.0/examples/GetMapStateTile.json b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulStateTileRequest.json similarity index 100% rename from specification/maps/data-plane/Render/preview/1.0/examples/GetMapStateTile.json rename to specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulStateTileRequest.json diff --git a/specification/maps/data-plane/Render/preview/1.0/examples/GetMapStaticImage.json b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulStaticImageRequest.json similarity index 100% rename from specification/maps/data-plane/Render/preview/1.0/examples/GetMapStaticImage.json rename to specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulStaticImageRequest.json diff --git a/specification/maps/data-plane/Render/preview/1.0/examples/GetCopyrightForTile.json b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulTileCopyrightRequest.json similarity index 100% rename from specification/maps/data-plane/Render/preview/1.0/examples/GetCopyrightForTile.json rename to specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulTileCopyrightRequest.json diff --git a/specification/maps/data-plane/Render/preview/1.0/examples/GetMapTile.json b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulTileRequest.json similarity index 100% rename from specification/maps/data-plane/Render/preview/1.0/examples/GetMapTile.json rename to specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulTileRequest.json diff --git a/specification/maps/data-plane/Render/preview/1.0/examples/GetCopyrightForWorld.json b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulWorldCopyrightRequest.json similarity index 100% rename from specification/maps/data-plane/Render/preview/1.0/examples/GetCopyrightForWorld.json rename to specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulWorldCopyrightRequest.json diff --git a/specification/maps/data-plane/Render/preview/1.0/render.json b/specification/maps/data-plane/Render/preview/1.0/render.json index 22f2fcf88e30..845cec0302df 100644 --- a/specification/maps/data-plane/Render/preview/1.0/render.json +++ b/specification/maps/data-plane/Render/preview/1.0/render.json @@ -18,15 +18,21 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "AzureKey": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", + "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", "in": "header" } }, @@ -37,7 +43,10 @@ ] }, { - "AzureKey": [] + "SharedKey": [] + }, + { + "SasToken": [] } ], "responses": {}, @@ -57,6 +66,7 @@ "type": "string", "in": "path", "required": true, + "x-ms-client-default": "png", "enum": [ "png" ], @@ -72,6 +82,33 @@ }, "x-ms-parameter-location": "method" }, + "MapTileSize": { + "name": "tileSize", + "in": "query", + "description": "The size of the returned map tile in pixels.", + "type": "string", + "enum": [ + "256", + "512" + ], + "x-ms-enum": { + "name": "MapTileSize", + "modelAsString": true, + "values": [ + { + "value": "256", + "name": "size256", + "description": "Return a 256 by 256 pixel tile." + }, + { + "value": "512", + "name": "size512", + "description": "Return a 512 by 512 pixel tile." + } + ] + }, + "x-ms-parameter-location": "method" + }, "TileFormat": { "name": "format", "description": "Desired format of the response. Possible values are png & pbf.", @@ -98,76 +135,50 @@ }, "x-ms-parameter-location": "method" }, - "RasterZoom18": { - "name": "zoom", + "BoundingBoxSouthWest": { + "name": "mincoordinates", + "x-ms-client-name": "southWest", "in": "query", - "description": "Zoom level for the desired tile. Zoom value must be in the range: 0-18 (inclusive).\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", + "description": "Minimum coordinates (south-west point) of bounding box in latitude longitude coordinate system. E.g. 52.41064,4.84228", "required": true, - "type": "integer", - "format": "int32", - "x-ms-parameter-location": "method" - }, - "VectorZoom": { - "name": "zoom", - "in": "query", - "description": "Zoom level for the desired tile. Zoom value must be in the range: 0-20 (inclusive).\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", - "required": true, - "type": "integer", - "format": "int32", - "x-ms-parameter-location": "method" - }, - "ImageryRasterZoom": { - "name": "zoom", - "in": "query", - "description": "Zoom level for the desired tile. Zoom value must be in the range: 1-19 (inclusive).\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", - "required": true, - "type": "integer", - "format": "int32", - "x-ms-parameter-location": "method" + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "collectionFormat": "csv", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "BoundingBox" + } }, - "RasterVectorNaturalEarthZoom": { - "name": "zoom", + "BoundingBoxNorthEast": { + "name": "maxcoordinates", + "x-ms-client-name": "northEast", "in": "query", - "description": "Zoom level for the desired tile. For _raster_ tiles, value must be in the range: 0-18 (inclusive). Terra raster tiles, values must be in the range 0-6 (inclusive). For _vector_ tiles, value must be in the range: 0-22 (inclusive).\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", + "description": "Maximum coordinates (north-east point) of bounding box in latitude longitude coordinate system. E.g. 52.41064,4.84228", "required": true, - "type": "integer", - "format": "int32", - "x-ms-parameter-location": "method" - }, - "IncludeText": { - "name": "text", - "in": "query", - "description": "Yes/no value to exclude textual data from response. Only images and country names will be in response.", - "type": "string", - "enum": [ - "yes", - "no" - ], - "x-ms-enum": { - "name": "IncludeText", - "modelAsString": true, - "values": [ - { - "value": "yes", - "description": "Include all textual data in response." - }, - { - "value": "no", - "description": "Exclude textual data from response. Only images and country names will be in response." - } - ] + "type": "array", + "items": { + "type": "number", + "format": "double" }, - "x-ms-parameter-location": "method" + "collectionFormat": "csv", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "BoundingBox" + } } }, "paths": { "/map/static/{format}": { "get": { "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nThe static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The supported resolution range for the map image is from 1x1 to 8192x8192. If you are deciding when to use the static image service over the map tile service, you may want to consider how you would like to interact with the rendered map. If the map contents will be relatively unchanging, a static map is a good choice. If you want to support a lot of zooming, panning and changing of the map content, the map tile service would be a better choice. \n\nService also provides Image Composition functionality to get a static image back with additional data like; pushpins and geometry overlays with following S0 and S1 capabilities. \n\nIn S0 you can:\n- Render up to 5 pushpins specified in the request\n- Provide one custom image for the pins referenced in the request\n- Add labels to the pushpins\n\nIn S1 you can:\n- Render pushpins through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n- Specify multiple pushpin styles\n- Render circle, polyline and polygon geometry types.\n- Render of supported GeoJSON geometry types uploaded through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n\nPlease see [How-to-Guide](https://aka.ms/AzureMapsHowToGuideImageCompositor) for detailed examples.\n\n_Note_ : Either **center** or **bbox** parameter must be supplied to the\nAPI.\n

\nThe supported Lat and Lon ranges when using the **bbox** parameter, are as follows:\n

\n\n |Zoom Level | Max Lon Range | Max Lat Range|\n |:----------|:----------------|:-------------|\n |0 | 360.0 | 170.0 | \n |1 | 360.0 | 170.0 |\n |2 | 360.0 | 170.0 |\n |3 | 360.0 | 170.0 |\n |4 | 360.0 | 170.0 |\n |5 | 180.0 | 85.0 |\n |6 | 90.0 | 42.5 |\n |7 | 45.0 | 21.25 |\n |8 | 22.5 | 10.625 |\n |9 | 11.25 | 5.3125 |\n |10 | 5.625 | 2.62625 |\n |11 | 2.8125 | 1.328125 |\n |12 | 1.40625 | 0.6640625 |\n |13 | 0.703125 | 0.33203125 |\n |14 | 0.3515625 | 0.166015625 |\n |15 | 0.17578125 | 0.0830078125 | \n |16 | 0.087890625 | 0.0415039063 | \n |17 | 0.0439453125 | 0.0207519531 |\n |18 | 0.0219726563 | 0.0103759766 |\n |19 | 0.0109863281 | 0.0051879883 |\n |20 | 0.0054931641 | 0.0025939941 |", - "operationId": "GetMapStaticImage", + "operationId": "Render_GetMapImage", + "x-ms-client_name": "GetMapStaticImage", "x-ms-examples": { - "GetMapStaticImage": { - "$ref": "./examples/GetMapStaticImage.json" + "Successful Static Image Request": { + "$ref": "./examples/SuccessfulStaticImageRequest.json" } }, "parameters": [ @@ -246,13 +257,24 @@ "name": "center", "in": "query", "description": "Coordinates of the center point. Format: 'lon,lat'. Projection used\n- EPSG:3857. Longitude range: -180 to 180. Latitude range: -85 to 85. \n\nNote: Either center or bbox are required parameters. They are\nmutually exclusive.", - "type": "string" + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "number", + "format": "double" + } }, { "name": "bbox", + "x-ms-client-name": "boundingBox", "in": "query", "description": "Bounding box. Projection used - EPSG:3857. Format : 'minLon, minLat,\nmaxLon, maxLat'. \n\nNote: Either bbox or center are required\nparameters. They are mutually exclusive. It shouldn’t be used with\nheight or width.\n\nThe maximum allowed ranges for Lat and Lon are defined for each zoom level\nin the table at the top of this page.", - "type": "string" + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "number", + "format": "double" + } }, { "name": "height", @@ -330,10 +352,10 @@ "/map/tile/{format}": { "get": { "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nFetches map tiles in vector or raster format typically to be integrated into a new map control or SDK. By default, Azure uses vector map tiles for its web map control (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid))\n\n**Note**: Weather tiles are only available via [Get Map Tile V2 API](https://aka.ms/AzureMapsWeatherTiles). We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).", - "operationId": "GetMapTile", + "operationId": "Render_GetMapTile", "x-ms-examples": { - "GetMapTile": { - "$ref": "./examples/GetMapTile.json" + "Successful Tile Request": { + "$ref": "./examples/SuccessfulTileRequest.json" } }, "parameters": [ @@ -412,7 +434,7 @@ } }, { - "$ref": "#/parameters/RasterVectorNaturalEarthZoom" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex" }, { "$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex" @@ -421,28 +443,7 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/yTileIndex" }, { - "name": "tileSize", - "in": "query", - "description": "The size of the returned map tile in pixels.", - "type": "string", - "enum": [ - "256", - "512" - ], - "x-ms-enum": { - "name": "MapTileSize", - "modelAsString": true, - "values": [ - { - "value": "256", - "description": "Return a 256 by 256 pixel tile." - }, - { - "value": "512", - "description": "Return a 512 by 512 pixel tile." - } - ] - } + "$ref": "#/parameters/MapTileSize" }, { "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" @@ -482,10 +483,10 @@ "/map/statetile": { "get": { "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nFetches state tiles in vector format typically to be integrated into indoor maps module of map control or SDK. The map control will call this API after user turns on dynamic styling (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid))", - "operationId": "GetMapStateTile", + "operationId": "Render_GetMapStateTile", "x-ms-examples": { - "GetMapStateTile": { - "$ref": "./examples/GetMapStateTile.json" + "Successful State Tile Request": { + "$ref": "./examples/SuccessfulStateTileRequest.json" } }, "parameters": [ @@ -496,7 +497,7 @@ "$ref": "#/parameters/ApiVersion" }, { - "$ref": "#/parameters/VectorZoom" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex" }, { "$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex" @@ -540,10 +541,10 @@ "/map/copyright/caption/{format}": { "get": { "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile \nservice. In addition to basic copyright for the whole map, API is serving \nspecific groups of copyrights for some countries.\n\nAs an alternative to copyrights for map request, one can receive captions\nfor displaying the map provider information on the map.", - "operationId": "GetCopyrightCaption", + "operationId": "Render_GetCopyrightCaption", "x-ms-examples": { - "GetCopyrightCaption": { - "$ref": "./examples/GetCopyrightCaption.json" + "Successful Copyright Caption Request": { + "$ref": "./examples/SuccessfulCopyrightCaptionRequest.json" } }, "parameters": [ @@ -561,7 +562,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/GetCopyrightCaptionResult" + "$ref": "#/definitions/CopyrightCaption" } }, "default": { @@ -573,10 +574,10 @@ "/map/imagery/{format}": { "get": { "description": "**Applies to:** S1 pricing tier.\n\n\nThis service returns a map image tile with size 256x256, given the x and y coordinates and zoom\nlevel. Zoom level ranges from 1 to 19. The current available style value is 'satellite' which provides satellite\nimagery alone.\n\n\n**Note**: We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).", - "operationId": "GetMapImageryTile", + "operationId": "Render_GetMapImageryTile", "x-ms-examples": { - "GetMapImageryTile": { - "$ref": "./examples/GetMapImageryTile.json" + "Successful Imagery Tile Request": { + "$ref": "./examples/SuccessfulImageryTileRequest.json" } }, "parameters": [ @@ -595,6 +596,7 @@ "description": "Map style to be returned. __Possible values:__ satellite.", "required": true, "type": "string", + "x-ms-client-default": "satellite", "enum": [ "satellite" ], @@ -610,7 +612,7 @@ } }, { - "$ref": "#/parameters/ImageryRasterZoom" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex" }, { "$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex" @@ -648,10 +650,10 @@ "/map/copyright/bounding/{format}": { "get": { "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nReturns copyright information for a given bounding box. Bounding-box requests should specify the minimum and maximum longitude and latitude (EPSG-3857) coordinates", - "operationId": "GetCopyrightFromBoundingBox", + "operationId": "Render_GetCopyrightFromBoundingBox", "x-ms-examples": { - "GetCopyrightFromBoundingBox": { - "$ref": "./examples/GetCopyrightFromBoundingBox.json" + "Successful Bounding Box Copyright Request": { + "$ref": "./examples/SuccessfulBoundingBoxCopyrightRequest.json" } }, "parameters": [ @@ -662,31 +664,23 @@ "$ref": "#/parameters/ApiVersion" }, { - "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat" + "$ref": "#/parameters/BoundingBoxSouthWest" }, { - "name": "mincoordinates", - "in": "query", - "description": "Minimum coordinates of bounding box in latitude longitude coordinate system. E.g. 52.41064,4.84228", - "required": true, - "type": "string" + "$ref": "#/parameters/BoundingBoxNorthEast" }, { - "name": "maxcoordinates", - "in": "query", - "description": "Maximum coordinates of bounding box in latitude longitude coordinate system. E.g. 52.41064,4.84228", - "required": true, - "type": "string" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat" }, { - "$ref": "#/parameters/IncludeText" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/IncludeText" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/GetCopyrightFromBoundingBoxResult" + "$ref": "#/definitions/Copyright" } }, "default": { @@ -698,10 +692,10 @@ "/map/copyright/tile/{format}": { "get": { "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for a given tile. To obtain the copyright information for a particular tile, the request should specify the tile's zoom level and x and y coordinates (see: Zoom Levels and Tile Grid).", - "operationId": "GetCopyrightForTile", + "operationId": "Render_GetCopyrightForTile", "x-ms-examples": { - "GetCopyrightForTile": { - "$ref": "./examples/GetCopyrightForTile.json" + "Successful Tile Copyright Request": { + "$ref": "./examples/SuccessfulTileCopyrightRequest.json" } }, "parameters": [ @@ -712,10 +706,7 @@ "$ref": "#/parameters/ApiVersion" }, { - "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat" - }, - { - "$ref": "#/parameters/RasterZoom18" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex" }, { "$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex" @@ -724,14 +715,17 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/yTileIndex" }, { - "$ref": "#/parameters/IncludeText" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat" + }, + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/IncludeText" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/GetCopyrightForTileResult" + "$ref": "#/definitions/Copyright" } }, "default": { @@ -743,10 +737,10 @@ "/map/copyright/world/{format}": { "get": { "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for the world. To obtain the default copyright information for the whole world, do not specify a tile or bounding box.", - "operationId": "GetCopyrightForWorld", + "operationId": "Render_GetCopyrightForWorld", "x-ms-examples": { - "GetCopyrightForWorld": { - "$ref": "./examples/GetCopyrightForWorld.json" + "Successful World Copyright Request": { + "$ref": "./examples/SuccessfulWorldCopyrightRequest.json" } }, "parameters": [ @@ -760,14 +754,14 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat" }, { - "$ref": "#/parameters/IncludeText" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/IncludeText" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/GetCopyrightForWorldResult" + "$ref": "#/definitions/Copyright" } }, "default": { @@ -778,34 +772,6 @@ } }, "definitions": { - "GetCopyrightFromBoundingBoxResult": { - "description": "This object is returned from a successful Get Copyright From Bounding Box call", - "type": "object", - "properties": { - "formatVersion": { - "description": "Format Version property", - "type": "string", - "readOnly": true - }, - "generalCopyrights": { - "description": "General Copyrights array", - "type": "array", - "readOnly": true, - "items": { - "type": "string", - "readOnly": true - } - }, - "regions": { - "description": "Regions array", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/RegionCopyrights" - } - } - } - }, "RegionCopyrights": { "type": "object", "properties": { @@ -837,8 +803,8 @@ } } }, - "GetCopyrightCaptionResult": { - "description": "This object is returned from a successful Get Copyright Caption call", + "CopyrightCaption": { + "description": "This object is returned from a successful copyright call", "type": "object", "properties": { "formatVersion": { @@ -853,36 +819,8 @@ } } }, - "GetCopyrightForWorldResult": { - "description": "This object is returned from a successful Get Copyright For World call", - "type": "object", - "properties": { - "formatVersion": { - "description": "Format Version property", - "type": "string", - "readOnly": true - }, - "generalCopyrights": { - "description": "General Copyrights array", - "type": "array", - "readOnly": true, - "items": { - "type": "string", - "readOnly": true - } - }, - "regions": { - "description": "Regions array", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/RegionCopyrights" - } - } - } - }, - "GetCopyrightForTileResult": { - "description": "This object is returned from a successful Get Copyright For Tile call", + "Copyright": { + "description": "This object is returned from a successful copyright request", "type": "object", "properties": { "formatVersion": { diff --git a/specification/maps/data-plane/Render/preview/2.0/examples/GetMapTileV2.json b/specification/maps/data-plane/Render/preview/2.0/examples/SuccessfulTileRequest.json similarity index 100% rename from specification/maps/data-plane/Render/preview/2.0/examples/GetMapTileV2.json rename to specification/maps/data-plane/Render/preview/2.0/examples/SuccessfulTileRequest.json diff --git a/specification/maps/data-plane/Render/preview/2.0/render.json b/specification/maps/data-plane/Render/preview/2.0/render.json index 0435165eea1b..fc01889bd867 100644 --- a/specification/maps/data-plane/Render/preview/2.0/render.json +++ b/specification/maps/data-plane/Render/preview/2.0/render.json @@ -18,15 +18,21 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "AzureKey": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", + "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", "in": "header" } }, @@ -37,7 +43,10 @@ ] }, { - "AzureKey": [] + "SharedKey": [] + }, + { + "SasToken": [] } ], "responses": {}, @@ -65,12 +74,23 @@ "microsoft.base.road", "microsoft.base.darkgrey", "microsoft.base.labels.road", + "microsoft.base.labels.darkgrey", "microsoft.base.hybrid.road", + "microsoft.base.hybrid.darkgrey", "microsoft.imagery", "microsoft.weather.radar.main", "microsoft.weather.infrared.main", "microsoft.dem", - "microsoft.dem.contours" + "microsoft.dem.contours", + "microsoft.traffic.absolute", + "microsoft.traffic.absolute.main", + "microsoft.traffic.relative", + "microsoft.traffic.relative.main", + "microsoft.traffic.relative.dark", + "microsoft.traffic.delay", + "microsoft.traffic.delay.main", + "microsoft.traffic.reduced.main", + "microsoft.traffic.incident" ], "x-ms-enum": { "name": "TilesetID", @@ -104,10 +124,18 @@ "value": "microsoft.base.labels.road", "description": "Label data in our main style.
\n\nSupports zoom levels 0 through 22. Format: raster (png)." }, + { + "value": "microsoft.base.labels.darkgrey", + "description": "Label data in our dark grey style.
\n\nSupports zoom levels 0 through 22. Format: raster (png)." + }, { "value": "microsoft.base.hybrid.road", "description": "Road, boundary and label data in our main style.
\n\nSupports zoom levels 0 through 22. Format: raster (png)." }, + { + "value": "microsoft.base.hybrid.darkgrey", + "description": "Road, boundary and label data in our dark grey style.
\n\nSupports zoom levels 0 through 22. Format: raster (png)." + }, { "value": "microsoft.imagery", "description": "A combination of satellite and aerial imagery. Only available in S1 pricing SKU.
\n\nSupports zoom levels 1 through 19. Format: raster (jpeg)." @@ -127,29 +155,56 @@ { "value": "microsoft.dem.contours", "description": "Digital elevation contour line tiles. Compared to the microsoft.dem option, these tiles are in vector format and intended for visualization purpose. The tiles cover the whole landmass of Earth. Some small islands (e.g., atolls) might not be represented accurately.
\n* The vertical unit for measurement of elevation height is meters.
\n* The horizontal reference datum is the World Geodetic System 1984 (WGS84-G1150) and the vertical reference datum is the Earth Gravitational Model 2008 (EGM2008).
\n* Tile data comes from the [Airbus WorldDEM4Ortho product](https://www.intelligence-airbusds.com/worlddem-streaming/). Urban areas are approximately leveled down to ground level. All other areas are represented by the object surface level (e.g., trees).
\n\nSupports zoom levels 9 through 14. Format: vector (pbf)." + }, + { + "value": "microsoft.traffic.absolute", + "description": "absolute traffic tiles in vector" + }, + { + "value": "microsoft.traffic.absolute.main", + "description": "absolute traffic tiles in raster in our main style." + }, + { + "value": "microsoft.traffic.relative", + "description": "relative traffic tiles in vector" + }, + { + "value": "microsoft.traffic.relative.main", + "description": "relative traffic tiles in raster in our main style." + }, + { + "value": "microsoft.traffic.relative.dark", + "description": "relative traffic tiles in raster in our dark style." + }, + { + "value": "microsoft.traffic.delay", + "description": "traffic tiles in vector" + }, + { + "value": "microsoft.traffic.delay.main", + "description": "traffic tiles in raster in our main style" + }, + { + "value": "microsoft.traffic.reduced.main", + "description": "reduced traffic tiles in raster in our main style" + }, + { + "value": "microsoft.traffic.incident", + "description": "incident tiles in vector" } ] }, "x-ms-parameter-location": "method" - }, - "MapTileV2Zoom": { - "name": "zoom", - "in": "query", - "description": "Zoom level for the desired tile. Please find TilesetID list below for more details on supported zoom level for each tilesetId.
\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", - "required": true, - "type": "integer", - "format": "int32", - "x-ms-parameter-location": "method" } }, "paths": { "/map/tile": { "get": { "description": "**Applies to**: S0 and S1 pricing tiers.\n\nThe Get Map Tiles API allows users to request map tiles in vector or raster formats typically to be integrated into a map control or SDK. Some example tiles that can be requested are Azure Maps road tiles, real-time Weather Radar tiles or the map tiles created using [Azure Maps Creator](https://aka.ms/amcreator). By default, Azure Maps uses vector tiles for its web map control (Web SDK) and Android SDK.", - "operationId": "GetMapTileV2", + "operationId": "RenderV2_GetMapTile", "x-ms-examples": { - "GetMapTile": { - "$ref": "./examples/GetMapTileV2.json" + "Successful Tile Request": { + "$ref": "./examples/SuccessfulTileRequest.json" } }, "parameters": [ @@ -163,7 +218,7 @@ "$ref": "#/parameters/TilesetId_rv2" }, { - "$ref": "#/parameters/MapTileV2Zoom" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex" }, { "$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex" @@ -179,28 +234,7 @@ "format": "date-time" }, { - "name": "tileSize", - "in": "query", - "description": "The size of the returned map tile in pixels.", - "type": "string", - "enum": [ - "256", - "512" - ], - "x-ms-enum": { - "name": "TileSize", - "modelAsString": true, - "values": [ - { - "value": "256", - "description": "Return a 256 by 256 pixel tile. Available for all tilesetIds except for\n* microsoft.terra.main" - }, - { - "value": "512", - "description": "Return a 512 by 512 pixel tile. Available for all tilesetIds except for \n* microsoft.weather.radar.main\n* microsoft.weather.infrared.main\n* microsoft.base.hybrid\n* microsoft.dem\n* microsoft.imagery" - } - ] - } + "$ref": "../1.0/render.json#/parameters/MapTileSize" }, { "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" @@ -220,9 +254,7 @@ "200": { "description": "The tile returned from a successful API call.", "schema": { - "type": "object", - "format": "file", - "readOnly": true + "$ref": "#/definitions/MapTile" }, "headers": { "Content-Type": { @@ -237,5 +269,13 @@ } } } + }, + "definitions": { + "MapTile": { + "description": "The tile returned from a successful API call.", + "type": "object", + "format": "file", + "readOnly": true + } } } diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/GetMapAttributionV2.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulAttributionRequest.json similarity index 100% rename from specification/maps/data-plane/Render/preview/2.1/examples/GetMapAttributionV2.json rename to specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulAttributionRequest.json diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulBoundingBoxCopyrightRequest.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulBoundingBoxCopyrightRequest.json new file mode 100644 index 000000000000..8bd58db3b8e3 --- /dev/null +++ b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulBoundingBoxCopyrightRequest.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json", + "mincoordinates": "52.41064,4.84228", + "maxcoordinates": "52.41072,4.84239", + "text": "yes" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "formatVersion": "0.0.1", + "generalCopyrights": [ + "© 1992 – 2016 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection, database right protection and other intellectual property rights owned by TomTom or its suppliers. The use of this material is subject to the terms of a license agreement. Any unauthorized copying or disclosure of this material will lead to criminal and civil liabilities.", + "Data Source © 2016 TomTom", + "based on" + ], + "regions": [ + { + "copyrights": [ + "Topografische onderground Copyright © dienst voor het kadaster en de openbare registers, Apeldoorn 2016." + ], + "country": { + "ISO3": "NLD", + "label": "Netherlands" + } + } + ] + } + } + } +} diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulCopyrightCaptionRequest.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulCopyrightCaptionRequest.json new file mode 100644 index 000000000000..fa4e4cb47cd9 --- /dev/null +++ b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulCopyrightCaptionRequest.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json" + }, + "responses": { + "200": { + "body": { + "formatVersion": "0.0.1", + "copyrightsCaption": "© 1992 - 2017 TomTom." + } + } + } +} diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulStateTileRequest.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulStateTileRequest.json new file mode 100644 index 000000000000..d3119378b2e4 --- /dev/null +++ b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulStateTileRequest.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "1.0", + "statesetId": "[statesetId]", + "zoom": 6, + "x": 10, + "y": 22 + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.mapbox-vector-tile" + }, + "body": "{file}" + } + } +} diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulStaticImageRequest.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulStaticImageRequest.json new file mode 100644 index 000000000000..c747d41a9d99 --- /dev/null +++ b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulStaticImageRequest.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "png", + "zoom": 2, + "bbox": "1.355233,42.982261,24.980233,56.526017", + "layer": "basic", + "style": "main" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "image/png" + }, + "body": "{file}" + } + } +} diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulTileCopyrightRequest.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulTileCopyrightRequest.json new file mode 100644 index 000000000000..6f1a8fb24822 --- /dev/null +++ b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulTileCopyrightRequest.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json", + "zoom": 6, + "x": 9, + "y": 22 + }, + "responses": { + "200": { + "body": { + "formatVersion": "0.0.1", + "generalCopyrights": [ + "© 1992 - 2018 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection, database right protection and other intellectual property rights owned by TomTom or its suppliers. The use of this material is subject to the terms of a license agreement. Any unauthorized copying or disclosure of this material will lead to criminal and civil liabilities.", + "Data Source © 2018 TomTom", + "based on" + ], + "regions": [ + { + "copyrights": [ + "© 2006 – 2018 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection and other intellectual property rights owned or licensed to TomTom. The product includes information copied with permission from Canadian authorities, including © Canada Post Corporation and Department of Natural Resources Canada, All rights reserved. The use of this material is subject to the terms of a License Agreement. You will be held liable for any unauthorized copying or disclosure of this material. Adapted from Statistics Canada: Boundary Files, 2016 Census; Road Network File, 2016; and Census Population and Dwelling Count Highlight Tables, 2016 Census. This does not constitute an endorsement by Statistics Canada of this product", + "The following copyright notice applies to the use of Administrative Area: © 2006 – 2018 TomTom. All rights reserved. Adapted from Statistics Canada: Boundary Files, 2016 Census: Census Population and Dwelling Count Highlight Tables, 2016. This does not constitute an endorsement by Statistics Canada of this product.", + "The following copyright notice applies to the use of Post- FSA layer and 6-digit layer: © 2006 – 2018 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection and other intellectual property rights owned or licensed to TomTom. The product includes information copied with permission from Canadian authorities, including © Canada Post Corporation, All rights reserved. The use of this material is subject to the terms of a License Agreement. You will be held liable for any unauthorized copying or disclosure of this material", + "The following copyright notice applies to the use of Points of Interest: © 2006 – 2018 TomTom. All rights reserved. Portions of the POI database contained in Points of Interest North America have been provided by Neustar Localeze", + "The following copyright notice applies to the use of Telecommunications: © 2017 Pitney Bowes. All rights reserved. In addition, for the following product layers Wire Center Boundaries, ILEC Boundaries, and Rate Center Boundaries, the following also applies: This product contains information and/or data of Telcordia Technologies, Inc. (Telcordia) licensed to be included herein.", + "The following copyright notice applies to the use of TomTom Traffic: Portions of the data have been provided by Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. © 2017. Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. All rights reserved.", + "This product contains address point data made available under the city of Vancouver’s Open Data framework as documented on August 6, 2012 in: vancouver.ca/open-government-licence Contains public sector Datasets made available under the City of Toronto's Open Data Licence v2.0. This is specified in their terms available here: http://www1.toronto.ca/wps/portal/contentonly?vgnextoid=4a37e03bb8d1e310VgnVCM10000071d60f89RCRD", + "Contains information licensed under the Open Government Licence – Strathcona County. For specifics, please reference: https://data.strathcona.ca/licence", + "Contains information licensed under the Open Government Licence – County of Grande Prairie. For specifics, please reference: http://www.countygp.ab.ca/EN/main/community/maps-gis/open-data/open-data-licence.html", + "Contains information licensed under the Open Government Licence – Canada. For specifics, please reference: http://open.canada.ca/en/open-government-licence-canada", + "Contains information licensed under the Calgary Regional Partnership Open Data Licence. For specifics, please reference: http://calgaryregion.ca/dam/Website/reports/General/GIS/Public-documents/Calgary-Regional-Partnership-Open-Data-Licence/Calgary%20Regional%20Partnership%20Open%20Data%20Licence.pdf Contains information licensed under the Open Government Licence – Banff. For specifics, please reference: http://www.banffopendata.ca/Home/About", + "Contains information licensed under the Open Data License – City of Grande Prairie. For specifics, please reference: http://www.cityofgp.com/index.aspx?page=2332", + "Contains information licensed under the Open Government Licence – City of Victoria. For specifics, please reference: http://www.victoria.ca/EN/main/city/open-data-catalogue/open-data-licence.html", + "Contains information licenced under the Open Government Licence - Halifax. For specifics, please reference: http://www.halifax.ca/opendata/OD_TermsOfUse.php", + "Contains information provided by the City of Guelph under an open government license. For specifics, please reference: http://data.open.guelph.ca/pages/open-government-licence", + "Contains information licensed under the Open Government Licence – Haldimand County. For specifics, please reference: http://opendata.haldimandcounty.on.ca/", + "Contains information provided by the City of Hamilton under an open government license. For specifics, please reference: http://www2.hamilton.ca/NR/rdonlyres/C58984A4-FE11-40B9-A231-8572EB922AAA/0/OpenDataTermsAndConditions_Final.html Contains information licensed under the Open Government Licence - Niagara Region. For specifics, please reference: http://www.niagararegion.ca/government/opendata/terms-of-use.aspx", + "Contains information licensed under the Open Government Licence — Town of Oakville. For specifics, please reference: http://www.oakville.ca/data/open_data_licence.html", + "Contains information licensed under the Open Government Licence - The Corporation of the City of Windsor. For specifics, please reference: http://www.citywindsor.ca/opendata/Documents/OpenDataTermsofUse.pdf", + "Contains information licensed under the Open Government Licence – City of Regina. For specifics, please reference: https://www.regina.ca/residents/open-government/open-government-licence/", + "Contains information licensed under the Open Government License - British Columbia. Contains information licensed under the Open Government License - City of Surrey. Contains public sector datasets made available under the City of Brandon's Open Data License. For specifics, please reference: http://opengov.brandon.ca/terms.aspx", + "Contains information licensed under the Open Government License - Winnipeg. For specifics, please reference: https://data.winnipeg.ca/open-data-licence", + "Contains information licensed under the GeoNB Open Data Licence. For specifics, please reference: http://geonb.snb.ca/documents/license/geonb-odl_en.pdf", + "Contains information licensed under the Open Government Licence - The Corporation of the Municipality of Chatham-Kent. Contains information licensed under the Open Government Licence - Niagara Region. For specifics, please referec: https://niagaraopendata.ca/pages/open-government-license-2-0-niagara-region", + "Contains information licensed under the Open Government Licence - City of Welland. Contains information licensed under the Open Government Licence - Prince Edward Island. For specifics, please reference: https://www.princeedwardisland.ca/en/information/finance/open-government-licence-prince-edward-island", + "Contains information licensed under the Open Government License - Kamloops. For specifics, please reference: http://www.kamloops.ca/maps/disclaimer.html", + "Contains information licensed under the Open Government License - Nanaimo. For specifics, please reference: http://www.nanaimo.ca/EN/main/departments/information-technology/DataCatalogue/Licence.html Contains information licensed under the Open Government License – City of New Westminster. For specifics, please reference: http://opendata.newwestcity.ca/licence", + "Contains information licensed under the Open Government License – City of Prince George. For specifics, please reference: http://pgmap.princegeorge.ca/opendata/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf", + "Contains Information licensed under the Open Government Licence – Brantford. For specifics, please reference: http://www.brantford.ca/govt/projects/opendata/Pages/OpenDataLicence.aspx", + "Contains data for Gatineau, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode", + "Contains data for Laval, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode", + "Contains data for Longueuil, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode", + "Contains data for Montreal, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode", + "Contains data for Rimouski, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode" + ], + "country": { + "ISO3": "CAN", + "label": "Canada" + } + }, + { + "copyrights": [ + "The following copyright notice applies to the use of Points of Interest: © 2006 – 2018 TomTom. All rights reserved. Portions of the POI database contained in Points of Interest North America have been provided by Neustar Localeze", + "The following copyright notice applies to the use of Telecommunications: © 2017 Pitney Bowes. All rights reserved. In addition, for the following product layers Wire Center Boundaries, ILEC Boundaries, and Rate Center Boundaries, the following also applies: This product contains information and/or data of Telcordia Technologies, Inc. (Telcordia) licensed to be included herein.", + "The following copyright notice applies to the use of TomTom Traffic: Portions of the data have been provided by Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. © 2017. Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. All rights reserved.", + "© United States Postal Service 2017", + "Contains data made available by the Rhode Island Geographic Information System (RIGIS) consortium, the State of Rhode Island, and the University of Rhode Island. For specifics, please reference: http://www.rigis.org/information", + "Contains Address Points data made available by State of Maryland and MD iMAP. For specifics, please reference: http://imap.maryland.gov." + ], + "country": { + "ISO3": "USA", + "label": "United States" + } + } + ] + } + } + } +} diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/GetMapTileV2.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulTileRequest.json similarity index 100% rename from specification/maps/data-plane/Render/preview/2.1/examples/GetMapTileV2.json rename to specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulTileRequest.json diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/GetMapTilesetV2.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulTilesetRequest.json similarity index 100% rename from specification/maps/data-plane/Render/preview/2.1/examples/GetMapTilesetV2.json rename to specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulTilesetRequest.json diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulWorldCopyrightRequest.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulWorldCopyrightRequest.json new file mode 100644 index 000000000000..fee7389f1757 --- /dev/null +++ b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulWorldCopyrightRequest.json @@ -0,0 +1,338 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json" + }, + "responses": { + "200": { + "body": { + "formatVersion": "0.0.1", + "generalCopyrights": [ + "© 1992 - 2018 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection, database right protection and other intellectual property rights owned by TomTom or its suppliers. The use of this material is subject to the terms of a license agreement. Any unauthorized copying or disclosure of this material will lead to criminal and civil liabilities.", + "Data Source © 2018 TomTom", + "based on" + ], + "regions": [ + { + "copyrights": [ + "This product contains cartographic information (geometry, street names, traffic flow, address points) made available by Govern d’Andorra under legal terms available here; https://www.govern.ad/avis-legal" + ], + "country": { + "ISO3": "AND", + "label": "Andorra" + } + }, + { + "copyrights": [ + "In New South Wales this product contains road centerline geometry from NSW Land Property Information licensed under CC-BY 3.0 AU. © Land and Property Information [2015]. Further information available here: http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services", + "In Queensland this product contains road centerline geometry from QLD Transport and Main Roads authority made available by the Queensland open data portal and licensed under CC-BY 3.0 AU. Further information available here: https://data.qld.gov.au/dataset/state-controlled-roads-queensland", + "In South Australia this product contains road centerline geometry from SA Department of Planning Transport and Infrastructure made available by the South Australian government and licensed under CC-BY 4.0. Further information available here: http://data.sa.gov.au/data/organization/department-of-planning-transport-and-infrastructure https://data.sa.gov.au/copyright", + "In Tasmania this product contains road centerline attribution from the Tasmanian Government Transport agency. http://www.transport.tas.gov.au/roadsafety/speed", + "In Victoria this product contains cartographic information (roads, speed restriction, vehicle restrictions) made available by the Victorian Government open data portal licensed under CC-BY 4.0. Further information here: http://vicroadsopendata.vicroadsmaps.opendata.arcgis.com/ https://www.data.vic.gov.au/data/dataset", + "In Western Australia this product contains medium scale road centerline geometry from Landgate made available by the Western Australian Government via their open that portal licensed under CC-BY 4.0 http://catalogue.beta.data.wa.gov.au/dataset/roads-lgate-012 http://opendefinition.org/od/2.0/en/", + "This product contains address point data made available in the PSMA Geocoded National Address File (G- NAF) offered via the Australian Federal Government open data portal under EULA terms based on Creative Commons license CC BY 4.0 with the following special restriction. For Specifics please reference: https://data.gov.au/dataset/geocoded-national-address-file-g-naf/resource/09f74802-08b1-4214-a6ea-3591b2753d30" + ], + "country": { + "ISO3": "AUS", + "label": "Australia" + } + }, + { + "copyrights": [ + "© BEV, GZ 1368/2017" + ], + "country": { + "ISO3": "AUT", + "label": "Austria" + } + }, + { + "copyrights": [ + "© Source data. State committee on property of the Republic of Belarus, 2015 © Republic unitary organization <>, 2016" + ], + "country": { + "ISO3": "BLR", + "label": "Belarus" + } + }, + { + "copyrights": [ + "© 2006 – 2018 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection and other intellectual property rights owned or licensed to TomTom. The product includes information copied with permission from Canadian authorities, including © Canada Post Corporation and Department of Natural Resources Canada, All rights reserved. The use of this material is subject to the terms of a License Agreement. You will be held liable for any unauthorized copying or disclosure of this material. Adapted from Statistics Canada: Boundary Files, 2016 Census; Road Network File, 2016; and Census Population and Dwelling Count Highlight Tables, 2016 Census. This does not constitute an endorsement by Statistics Canada of this product", + "The following copyright notice applies to the use of Administrative Area: © 2006 – 2018 TomTom. All rights reserved. Adapted from Statistics Canada: Boundary Files, 2016 Census: Census Population and Dwelling Count Highlight Tables, 2016. This does not constitute an endorsement by Statistics Canada of this product.", + "The following copyright notice applies to the use of Post- FSA layer and 6-digit layer: © 2006 – 2018 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection and other intellectual property rights owned or licensed to TomTom. The product includes information copied with permission from Canadian authorities, including © Canada Post Corporation, All rights reserved. The use of this material is subject to the terms of a License Agreement. You will be held liable for any unauthorized copying or disclosure of this material", + "The following copyright notice applies to the use of Points of Interest: © 2006 – 2018 TomTom. All rights reserved. Portions of the POI database contained in Points of Interest North America have been provided by Neustar Localeze", + "The following copyright notice applies to the use of Telecommunications: © 2017 Pitney Bowes. All rights reserved. In addition, for the following product layers Wire Center Boundaries, ILEC Boundaries, and Rate Center Boundaries, the following also applies: This product contains information and/or data of Telcordia Technologies, Inc. (Telcordia) licensed to be included herein.", + "The following copyright notice applies to the use of TomTom Traffic: Portions of the data have been provided by Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. © 2017. Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. All rights reserved.", + "This product contains address point data made available under the city of Vancouver’s Open Data framework as documented on August 6, 2012 in: vancouver.ca/open-government-licence Contains public sector Datasets made available under the City of Toronto's Open Data Licence v2.0. This is specified in their terms available here: http://www1.toronto.ca/wps/portal/contentonly?vgnextoid=4a37e03bb8d1e310VgnVCM10000071d60f89RCRD", + "Contains information licensed under the Open Government Licence – Strathcona County. For specifics, please reference: https://data.strathcona.ca/licence", + "Contains information licensed under the Open Government Licence – County of Grande Prairie. For specifics, please reference: http://www.countygp.ab.ca/EN/main/community/maps-gis/open-data/open-data-licence.html", + "Contains information licensed under the Open Government Licence – Canada. For specifics, please reference: http://open.canada.ca/en/open-government-licence-canada", + "Contains information licensed under the Calgary Regional Partnership Open Data Licence. For specifics, please reference: http://calgaryregion.ca/dam/Website/reports/General/GIS/Public-documents/Calgary-Regional-Partnership-Open-Data-Licence/Calgary%20Regional%20Partnership%20Open%20Data%20Licence.pdf Contains information licensed under the Open Government Licence – Banff. For specifics, please reference: http://www.banffopendata.ca/Home/About", + "Contains information licensed under the Open Data License – City of Grande Prairie. For specifics, please reference: http://www.cityofgp.com/index.aspx?page=2332", + "Contains information licensed under the Open Government Licence – City of Victoria. For specifics, please reference: http://www.victoria.ca/EN/main/city/open-data-catalogue/open-data-licence.html", + "Contains information licenced under the Open Government Licence - Halifax. For specifics, please reference: http://www.halifax.ca/opendata/OD_TermsOfUse.php", + "Contains information provided by the City of Guelph under an open government license. For specifics, please reference: http://data.open.guelph.ca/pages/open-government-licence", + "Contains information licensed under the Open Government Licence – Haldimand County. For specifics, please reference: http://opendata.haldimandcounty.on.ca/", + "Contains information provided by the City of Hamilton under an open government license. For specifics, please reference: http://www2.hamilton.ca/NR/rdonlyres/C58984A4-FE11-40B9-A231-8572EB922AAA/0/OpenDataTermsAndConditions_Final.html Contains information licensed under the Open Government Licence - Niagara Region. For specifics, please reference: http://www.niagararegion.ca/government/opendata/terms-of-use.aspx", + "Contains information licensed under the Open Government Licence — Town of Oakville. For specifics, please reference: http://www.oakville.ca/data/open_data_licence.html", + "Contains information licensed under the Open Government Licence - The Corporation of the City of Windsor. For specifics, please reference: http://www.citywindsor.ca/opendata/Documents/OpenDataTermsofUse.pdf", + "Contains information licensed under the Open Government Licence – City of Regina. For specifics, please reference: https://www.regina.ca/residents/open-government/open-government-licence/", + "Contains information licensed under the Open Government License - British Columbia. Contains information licensed under the Open Government License - City of Surrey. Contains public sector datasets made available under the City of Brandon's Open Data License. For specifics, please reference: http://opengov.brandon.ca/terms.aspx", + "Contains information licensed under the Open Government License - Winnipeg. For specifics, please reference: https://data.winnipeg.ca/open-data-licence", + "Contains information licensed under the GeoNB Open Data Licence. For specifics, please reference: http://geonb.snb.ca/documents/license/geonb-odl_en.pdf", + "Contains information licensed under the Open Government Licence - The Corporation of the Municipality of Chatham-Kent. Contains information licensed under the Open Government Licence - Niagara Region. For specifics, please referec: https://niagaraopendata.ca/pages/open-government-license-2-0-niagara-region", + "Contains information licensed under the Open Government Licence - City of Welland. Contains information licensed under the Open Government Licence - Prince Edward Island. For specifics, please reference: https://www.princeedwardisland.ca/en/information/finance/open-government-licence-prince-edward-island", + "Contains information licensed under the Open Government License - Kamloops. For specifics, please reference: http://www.kamloops.ca/maps/disclaimer.html", + "Contains information licensed under the Open Government License - Nanaimo. For specifics, please reference: http://www.nanaimo.ca/EN/main/departments/information-technology/DataCatalogue/Licence.html Contains information licensed under the Open Government License – City of New Westminster. For specifics, please reference: http://opendata.newwestcity.ca/licence", + "Contains information licensed under the Open Government License – City of Prince George. For specifics, please reference: http://pgmap.princegeorge.ca/opendata/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf", + "Contains Information licensed under the Open Government Licence – Brantford. For specifics, please reference: http://www.brantford.ca/govt/projects/opendata/Pages/OpenDataLicence.aspx", + "Contains data for Gatineau, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode", + "Contains data for Laval, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode", + "Contains data for Longueuil, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode", + "Contains data for Montreal, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode", + "Contains data for Rimouski, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode" + ], + "country": { + "ISO3": "CAN", + "label": "Canada" + } + }, + { + "copyrights": [ + "© Swisstopo" + ], + "country": { + "ISO3": "CHE", + "label": "Switzerland" + } + }, + { + "copyrights": [ + "GeoBasis-DE/Geobasis NRW 2017" + ], + "country": { + "ISO3": "DEU", + "label": "Germany" + } + }, + { + "copyrights": [ + "© DAV, violation of these copyrights shall cause legal proceedings" + ], + "country": { + "ISO3": "DNK", + "label": "Denmark" + } + }, + { + "copyrights": [ + "© 2013-2018 TomTom-Nomago" + ], + "country": { + "ISO3": "DZA", + "label": "Algeria" + } + }, + { + "copyrights": [ + "This product contains cartographic information (geometry, street names, traffic flow) made available by Ajuntament de Lleida under legal terms available here: http://www.paeria.es/cas/avisLegal.asp", + "This product contains cartographic information (geometry, street names, traffic flow) made available by Ayuntamiento de Logroño under legal terms available here: http://web.logro-o.org/giswebpgm/ayuda/condicionesuso.html", + "This product contains address point data made available under the Gobierno de Navarra and offered under Creative Commons- Attribution (CC-by 3.0) license in: http://idena.navarra.es/busquedas/catalog/descargas/descargas.page", + "This product contains address point data made available by la Comunidad de Madrid with the product NomeCalles offered by El Instituto de Estadística de la Comunidad de Madrid in: http://www.madrid.org/nomecalles/DescargaBDTCorte.icm", + "This product contains address point data made available by la Dirección General del Catastro del Ministerio de Economía y Hacienda in: https://www.sedecatastro.gob.es/OVCFrames.aspx?TIPO=TIT&a=masiv", + "This product contains cartographic information (geometry, street names, traffic flow, address points) made available by Ajuntament de El Prat de Llobregat under legal terms available here: http://www.elprat.cat/plantilles/pr_re_mactfill_1c_imfl/_uGU6aDOKh21PMmm2WqoT4ZOhxsiMHAS0S7PZC2PCFqo", + "This product contains cartographic information (geometry, street names, traffic flow, address points) made available by Ayuntamiento de Valencia under legal terms available here: http://www.valencia.es/ayuntamiento/DatosAbiertos.nsf/vDocumentosTituloAux/Condiciones%20de%20uso?opendocument&lang=1&nivel=5&seccion=1", + "This product contains cartographic information (geometry, street names, traffic flow, address points) made available by Ajuntament de Sant Feu de Llobregat under legal terms available here: https://www.santfeliu.cat/common/misc/widget_container.faces?xmid=11796", + "This product contains cartographic information (geometry, street names, traffic flow) made available by Ayuntamiento de Vitoria-Gasteiz under Creative Commons Reconocimiento 3.0 España available here: TT#0041606-16 http://creativecommons.org/licenses/by/3.0/es/legalcode.es" + ], + "country": { + "ISO3": "ESP", + "label": "Spain" + } + }, + { + "copyrights": [ + "(navigation devices only) Michelin data © Michelin 2017 The following copyright applies to the Advanced Navigable MAP, Address Points, 2D City Map and Buildings: Source: Direction générale des Finances Publiques – Cadastre; Updated 2017" + ], + "country": { + "ISO3": "FRA", + "label": "France" + } + }, + { + "copyrights": [ + "Ordnance Survey of Northern Ireland", + "Contains Ordnance Survey data © Crown copyright and database right 2017", + "Code-Point® Open data; Contains Royal Mail data © Royal Mail copyright and database right 2017 Contains National Statistics data © Crown copyright and database right 2017" + ], + "country": { + "ISO3": "GBR", + "label": "United Kingdom" + } + }, + { + "copyrights": [ + "© Base data Bakosurtanal" + ], + "country": { + "ISO3": "IDN", + "label": "Indonesia" + } + }, + { + "copyrights": [ + "This product contains cartographic information (street names, address points) made available by the Regione Lombardia and offered under Italian Open Data License (IODL 2.0) http://www.dati.gov.it/iodl/2.0/) available at the following address: http://www.geoportale.regione.lombardia.it/en/i.i.t.-della-lombardia", + "This product contains cartographic information from Comune di Milano 1)– Servizio Sit e Statistica made available at https://geoportale.comune.milano.it/sit/open-data/ under license Creative Commons Attribution (CC BY 2,5) 2) Web portal available at https://www.comune.milano.it/wps/portal/ist/it/vivicitta/verde/parchi Under license Creative Commons Attribution (CC BY 3.0) (http://www.comune.milano.it/wps/portal/ist/it/extra/others/footer/legal)", + "This product contains cartographic information (street names, address points) made available by Regione Emilia Romagna and offered under Creative Commons Attribution (CC BY 2.5) available at following address http://geoportale.regione.emilia-romagna.it/it/catalogo/dati-cartografici/cartografia-di-base/database-topografico-regionale/gestione-viabilita-indirizzi/toponimi-e-numeri-civici This product contains cartographic information (street names, address points) made available by Comune di Torino and offered under Italian Open Data License (IODL 2.0) available at following address http://aperto.comune.torino.it/?q=node/504", + "This product contains cartographic information (street names, address points) made available by Regione Veneto and offered offered under Italian Open Data License (IODL 2.0) available at following address http://dati.veneto.it/dataset", + "This product contains cartographic information (street names, address points) made available by Regione Toscana and offered offered under under Creative Commons Attribution (CC BY 2.5), according to the legislation available at http://www.regione.toscana.it/documents/10180/492172/Decreto-2014_02_25n663.pdf/162db905-95fd-4b5e-bc41-88a629b5a3e5 and Regolamento http://raccoltanormativa.consiglio.regione.toscana.it/articolo?urndoc=urn:nir:regione.toscana:regolamento.giunta:2007-02-09;6/R&pr=idx,0;artic,1;articparziale,0, data available at following address http://dati.toscana.it/dataset/grafo-civici", + "This product contains cartographic information (area info) made available by Comune di Roma at http://dati.comune.roma.it/cms/it/dettaglio_ambiente.page?contentId=DTS5931 under license Creative Commons Attribution (CC BY 4.0)", + "This product contains data (house numbers, geographical and statistical info on administrative areas) made available under the Istituto Nazionale di Statistica and offered under Creative Commons- Attribution (CC-by 3.0) license in: http://www.istat.it/it/archivio/678 and http://datiopen.istat.it/", + "This product contains address point data made available under the Comune di Verona in: http://www.comune.verona.it/nqcontent.cfm?a_id=37426", + "This product contains address point data made available under the Comune di Vicenza in: http://www.comune.vicenza.it/servizi/opendata.php/76184", + "This product contains address point data from Comune di Milano – Servizio Sit e Statistica This product contains address point data made available under the Provincia di Biella in: http://cartografia.provincia.biella.it/on-line/Home/Repertorio/Consultazione/articolo3000217.html", + "This product contains address point data made available by Comune di Torino and offered under Italian Open Data License (IODL 2.0) available at following address http://aperto.comune.torino.it/?q=node/504", + "This product contains address point data made available under the Comune di Firenze and offered under Creative Commons- Attribution (CC-by 3.0) license in: http://opendata.comune.fi.it/statistica_territorio/dataset_0040.html", + "This product contains address point data made available by Regione Emilia Romagna and offered under Creative Commons Attribution (CC BY 2.5) available at following address http://geoportale.regione.emilia-romagna.it/it/catalogo/dati-cartografici/cartografia-di-base/database-topografico-regionale/gestione-viabilita-indirizzi/toponimi-e-numeri-civici", + "This product contains address point data made available by Regione Toscana and offered under Creative Commons Attribution (CC BY 2.5), according to the legislation available at http://www.regione.toscana.it/documents/10180/492172/Decreto-2014_02_25n663.pdf/162db905-95fd-4b5e-bc41-88a629b5a3e5 and Regolamento http://raccoltanormativa.consiglio.regione.toscana.it/articolo?urndoc=urn:nir:regione.toscana:regolamento.giunta:2007-02-09;6/R&pr=idx,0;artic,1;articparziale,0, data available at following address http://dati.toscana.it/dataset/grafo-civici", + "This product contains address point data made available by Regione Veneto and offered offered under Italian Open Data License (IODL 2.0) available at following address http://dati.veneto.it/dataset", + "This product contains address point data made available by Regione Autonoma Friuli Venezia Giulia and offered under ITALIA OPEN DATA LICENSE V2.0 (IODL 2.0). Data are available at following address : http://www.regione.fvg.it/rafvg/cms/RAFVG/ambiente-territorio/conoscere-ambiente-territorio/", + "This product contains address point data made available by Regione Umbria and offered under CCBY License. Data are available at following address : http://www.umbriageo.regione.umbria.it/pagine/servizi-wms-attivi?permalink=servizi-wms-attivi&permalink=servizi-wms-attivi This product contains address point data made available by Regione Lombardia and offered under Italian Open Data License (IODL 2.0 http://www.dati.gov.it/iodl/2.0/) available at the following address: http://www.geoportale.regione.lombardia.it/en/i.i.t.-della-lombardia" + ], + "country": { + "ISO3": "ITA", + "label": "Italy" + } + }, + { + "copyrights": [ + "© Royal Jordanian Geographic center" + ], + "country": { + "ISO3": "JOR", + "label": "Jordan" + } + }, + { + "copyrights": [ + "© Shobunsha Publications, Inc. © Shobunsha" + ], + "country": { + "ISO3": "JPN", + "label": "Japan" + } + }, + { + "copyrights": [ + "Based upon electronic data © Mappers Co., Ltd. All rights reserved" + ], + "country": { + "ISO3": "KOR", + "label": "Republic of Korea" + } + }, + { + "copyrights": [ + "© FICHIER DE BASE DES ADRESSES GEOCODEES : ADM. DU CADASTRE ET DE LA TOPOGRAPHIE (2017) [© File taken from the database of geocoded addresses: Land Registry and Topography Administration (2017)]" + ], + "country": { + "ISO3": "LUX", + "label": "Luxembourg" + } + }, + { + "copyrights": [ + "Macao Special Administrative Region Government – Cartography and Cadastre Bureau", + "This product contains Road Geometry data made available by Macao Special Administrative Region Government – Cartography and Cadastre Bureau: http://www.dscc.gov.mo/ENG/copyright.html" + ], + "country": { + "ISO3": "MAC", + "label": "Macao" + } + }, + { + "copyrights": [ + "The following copyright notice applies to the use of TomTom Traffic: Portions of the data have been provided by Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. © 2017. Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. All rights reserved." + ], + "country": { + "ISO3": "MEX", + "label": "Mexico" + } + }, + { + "copyrights": [ + "This product includes data from Mapping Unit, Malta Environment and Planning Authority and licensed on behalf of them or © Mapping Unit, Malta Environment and Planning Authority" + ], + "country": { + "ISO3": "MLT", + "label": "Malta" + } + }, + { + "copyrights": [ + "Topografische onderground Copyright © dienst voor het kadaster en de openbare registers, Apeldoorn 2017" + ], + "country": { + "ISO3": "NLD", + "label": "Netherlands" + } + }, + { + "copyrights": [ + "Contains data under the Norwegian licence for Open Government data (NLOD) distributed by Statens Vegvesen" + ], + "country": { + "ISO3": "NOR", + "label": "Norway" + } + }, + { + "copyrights": [ + "This product contains cartographic information (geometry, street names) made available by LINZ and sourced from the LINZ Data Service and licensed under the Creative Commons Attribution 3.0 New Zealand license", + "This product contains cartographic information (geometry) made with the help of Aerial Imagery made available by LINZ and sourced from the LINZ Data Service and licensed by various government agencies for re-use under the Creative Commons Attribution 3.0 New Zealand license", + "This product contains cartographic information (crash data) made available by New Zealand Transport Agency licensed under CC-BY 3.0 NZL. Further information here: http://www.nzta.govt.nz/resources/grouped-crash-sites", + "This product contains cartographic information (geometry, lane information, street names) made available by New Zealand Transport Agency on agreement on a case by case basis. Further information here: https://www.nzta.govt.nz/about-us/about-this-site#privacy https://www.nzta.govt.nz/projects/", + "This product contains address point data made available in the New Zealand Address Dataset which is sourced from New Zealand Post and Land Information New Zealand (LINZ). New Zealand Post copyright reserved. Data sourced from LINZ Data Service is subject to Creative Commons Attribution 3.0 New Zealand license" + ], + "country": { + "ISO3": "NZL", + "label": "New Zealand" + } + }, + { + "copyrights": [ + "This product contains postal code data of Poşta Română made available under Open Government License: http://data.gov.ro/base/images/logoinst/OGL-ROU-1.0.pdf http://data.gov.ro/dataset/coduri-postale-romania" + ], + "country": { + "ISO3": "ROU", + "label": "Romania" + } + }, + { + "copyrights": [ + "© ROSREESTR" + ], + "country": { + "ISO3": "RUS", + "label": "Russian Federation" + } + }, + { + "copyrights": [ + "The following copyright notice applies to the use of Points of Interest: © 2006 – 2018 TomTom. All rights reserved. Portions of the POI database contained in Points of Interest North America have been provided by Neustar Localeze", + "The following copyright notice applies to the use of Telecommunications: © 2017 Pitney Bowes. All rights reserved. In addition, for the following product layers Wire Center Boundaries, ILEC Boundaries, and Rate Center Boundaries, the following also applies: This product contains information and/or data of Telcordia Technologies, Inc. (Telcordia) licensed to be included herein.", + "The following copyright notice applies to the use of TomTom Traffic: Portions of the data have been provided by Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. © 2017. Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. All rights reserved.", + "© United States Postal Service 2017", + "Contains data made available by the Rhode Island Geographic Information System (RIGIS) consortium, the State of Rhode Island, and the University of Rhode Island. For specifics, please reference: http://www.rigis.org/information", + "Contains Address Points data made available by State of Maryland and MD iMAP. For specifics, please reference: http://imap.maryland.gov." + ], + "country": { + "ISO3": "USA", + "label": "United States" + } + } + ] + } + } + } +} diff --git a/specification/maps/data-plane/Render/preview/2.1/render.json b/specification/maps/data-plane/Render/preview/2.1/render.json index 4ba3549001c9..78f775c0d62b 100644 --- a/specification/maps/data-plane/Render/preview/2.1/render.json +++ b/specification/maps/data-plane/Render/preview/2.1/render.json @@ -18,15 +18,21 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "AzureKey": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", + "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", "in": "header" } }, @@ -37,7 +43,10 @@ ] }, { - "AzureKey": [] + "SharedKey": [] + }, + { + "SasToken": [] } ], "responses": {}, @@ -56,10 +65,11 @@ "/map/tile": { "get": { "description": "**Applies to**: S0 and S1 pricing tiers.\n\nThe Get Map Tiles API allows users to request map tiles in vector or raster formats typically to be integrated into a map control or SDK. Some example tiles that can be requested are Azure Maps road tiles, real-time Weather Radar tiles or the map tiles created using [Azure Maps Creator](https://aka.ms/amcreator). By default, Azure Maps uses vector tiles for its web map control (Web SDK) and Android SDK.", - "operationId": "GetMapTileV2", + "operationId": "RenderV2_GetMapTile", + "x-ms-client-name": "GetMapTile", "x-ms-examples": { - "GetMapTile": { - "$ref": "./examples/GetMapTileV2.json" + "Successful Tile Request": { + "$ref": "./examples/SuccessfulTileRequest.json" } }, "parameters": [ @@ -73,7 +83,7 @@ "$ref": "../2.0/render.json#/parameters/TilesetId_rv2" }, { - "$ref": "../2.0/render.json#/parameters/MapTileV2Zoom" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex" }, { "$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex" @@ -89,28 +99,7 @@ "type": "string" }, { - "name": "tileSize", - "in": "query", - "description": "The size of the returned map tile in pixels.", - "type": "string", - "enum": [ - "256", - "512" - ], - "x-ms-enum": { - "name": "TileSize", - "modelAsString": true, - "values": [ - { - "value": "256", - "description": "Return a 256 by 256 pixel tile. Available for all tilesetIds except for\n* microsoft.terra.main" - }, - { - "value": "512", - "description": "Return a 512 by 512 pixel tile. Available for all tilesetIds except for \n* microsoft.weather.radar.main\n* microsoft.weather.infrared.main\n* microsoft.base.hybrid\n* microsoft.dem\n* microsoft.imagery" - } - ] - } + "$ref": "../1.0/render.json#/parameters/MapTileSize" }, { "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" @@ -130,9 +119,7 @@ "200": { "description": "The tile returned from a successful API call.", "schema": { - "type": "object", - "format": "file", - "readOnly": true + "$ref": "../2.0/render.json#/definitions/MapTile" }, "headers": { "Content-Type": { @@ -150,10 +137,10 @@ "/map/tileset": { "get": { "description": "**Applies to**: S0 and S1 pricing tiers.\n\nThe Get Map Tileset API allows users to request metadata for a tileset.", - "operationId": "GetMapTileset", + "operationId": "RenderV2_GetMapTileset", "x-ms-examples": { - "GetMapTileset": { - "$ref": "./examples/GetMapTilesetV2.json" + "Successful Tileset Request": { + "$ref": "./examples/SuccessfulTilesetRequest.json" } }, "parameters": [ @@ -174,7 +161,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/MapTilesetResultV2" + "$ref": "#/definitions/MapTileset" } }, "default": { @@ -186,10 +173,10 @@ "/map/attribution": { "get": { "description": "**Applies to**: S0 and S1 pricing tiers.\n\nThe Get Map Attribution API allows users to request map copyright attribution information for a section of a tileset.", - "operationId": "GetMapAttribution", + "operationId": "RenderV2_GetMapAttribution", "x-ms-examples": { - "GetMapAttribution": { - "$ref": "./examples/GetMapAttributionV2.json" + "Successful Attribution Request": { + "$ref": "./examples/SuccessfulAttributionRequest.json" } }, "parameters": [ @@ -203,7 +190,13 @@ "$ref": "../2.0/render.json#/parameters/TilesetId_rv2" }, { - "$ref": "../2.0/render.json#/parameters/MapTileV2Zoom" + "name": "zoom", + "in": "query", + "description": "Zoom level for the desired map attribution.", + "required": true, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" }, { "name": "bounds", @@ -213,7 +206,8 @@ "type": "array", "collectionFormat": "csv", "items": { - "type": "string" + "type": "number", + "format": "double" } } ], @@ -224,7 +218,396 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/MapAttributionResultV2" + "$ref": "#/definitions/MapAttribution" + } + }, + "default": { + "$ref": "../../../Common/preview/1.0/common.json#/responses/default" + } + } + } + }, + "/map/statetile": { + "get": { + "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nFetches state tiles in vector format typically to be integrated into indoor maps module of map control or SDK. The map control will call this API after user turns on dynamic styling (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid))", + "operationId": "RenderV2_GetMapStateTile", + "x-ms-examples": { + "Successful State Tile Request": { + "$ref": "./examples/SuccessfulStateTileRequest.json" + } + }, + "parameters": [ + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex" + }, + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex" + }, + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/yTileIndex" + }, + { + "name": "statesetId", + "in": "query", + "description": "The stateset id.", + "required": true, + "type": "string" + } + ], + "produces": [ + "application/vnd.mapbox-vector-tile", + "application/json" + ], + "responses": { + "200": { + "description": "This tile is returned from a successful Get Map State Tile call", + "schema": { + "$ref": "../2.0/render.json#/definitions/MapTile" + }, + "headers": { + "Content-Type": { + "type": "string", + "description": "The content-type for the response." + } + } + }, + "default": { + "$ref": "../../../Common/preview/1.0/common.json#/responses/default" + } + } + } + }, + "/map/copyright/caption/{format}": { + "get": { + "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile \nservice. In addition to basic copyright for the whole map, API is serving \nspecific groups of copyrights for some countries.\n\nAs an alternative to copyrights for map request, one can receive captions\nfor displaying the map provider information on the map.", + "operationId": "RenderV2_GetCopyrightCaption", + "x-ms-examples": { + "Successful Copyright Caption Request": { + "$ref": "./examples/SuccessfulCopyrightCaptionRequest.json" + } + }, + "parameters": [ + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../1.0/render.json#/definitions/CopyrightCaption" + } + }, + "default": { + "$ref": "../../../Common/preview/1.0/common.json#/responses/default" + } + } + } + }, + "/map/static/{format}": { + "get": { + "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nThe static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The supported resolution range for the map image is from 1x1 to 8192x8192. If you are deciding when to use the static image service over the map tile service, you may want to consider how you would like to interact with the rendered map. If the map contents will be relatively unchanging, a static map is a good choice. If you want to support a lot of zooming, panning and changing of the map content, the map tile service would be a better choice. \n\nService also provides Image Composition functionality to get a static image back with additional data like; pushpins and geometry overlays with following S0 and S1 capabilities. \n\nIn S0 you can:\n- Render up to 5 pushpins specified in the request\n- Provide one custom image for the pins referenced in the request\n- Add labels to the pushpins\n\nIn S1 you can:\n- Render pushpins through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n- Specify multiple pushpin styles\n- Render circle, polyline and polygon geometry types.\n- Render of supported GeoJSON geometry types uploaded through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n\nPlease see [How-to-Guide](https://aka.ms/AzureMapsHowToGuideImageCompositor) for detailed examples.\n\n_Note_ : Either **center** or **bbox** parameter must be supplied to the\nAPI.\n

\nThe supported Lat and Lon ranges when using the **bbox** parameter, are as follows:\n

\n\n |Zoom Level | Max Lon Range | Max Lat Range|\n |:----------|:----------------|:-------------|\n |0 | 360.0 | 170.0 | \n |1 | 360.0 | 170.0 |\n |2 | 360.0 | 170.0 |\n |3 | 360.0 | 170.0 |\n |4 | 360.0 | 170.0 |\n |5 | 180.0 | 85.0 |\n |6 | 90.0 | 42.5 |\n |7 | 45.0 | 21.25 |\n |8 | 22.5 | 10.625 |\n |9 | 11.25 | 5.3125 |\n |10 | 5.625 | 2.62625 |\n |11 | 2.8125 | 1.328125 |\n |12 | 1.40625 | 0.6640625 |\n |13 | 0.703125 | 0.33203125 |\n |14 | 0.3515625 | 0.166015625 |\n |15 | 0.17578125 | 0.0830078125 | \n |16 | 0.087890625 | 0.0415039063 | \n |17 | 0.0439453125 | 0.0207519531 |\n |18 | 0.0219726563 | 0.0103759766 |\n |19 | 0.0109863281 | 0.0051879883 |\n |20 | 0.0054931641 | 0.0025939941 |", + "operationId": "RenderV2_GetMapStaticImage", + "x-ms-examples": { + "Successful Static Image Request": { + "$ref": "./examples/SuccessfulStaticImageRequest.json" + } + }, + "parameters": [ + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "../1.0/render.json#/parameters/RasterTileFormat" + }, + { + "name": "layer", + "in": "query", + "description": "Map layer requested. If layer is set to labels or hybrid, the format should be png.", + "type": "string", + "enum": [ + "basic", + "hybrid", + "labels" + ], + "x-ms-enum": { + "name": "StaticMapLayer", + "modelAsString": true, + "values": [ + { + "value": "basic", + "description": "Returns an image containing all map features including polygons, borders, roads and labels." + }, + { + "value": "hybrid", + "description": "Returns an image containing borders, roads, and labels, and can be overlaid on other tiles (such as satellite imagery) to produce hybrid tiles." + }, + { + "value": "labels", + "description": "Returns an image of just the map's label information." + } + ] + } + }, + { + "name": "style", + "in": "query", + "description": "Map style to be returned. Possible values are main and dark.", + "type": "string", + "enum": [ + "main", + "dark" + ], + "x-ms-enum": { + "name": "MapImageStyle", + "modelAsString": true, + "values": [ + { + "value": "main", + "description": "Azure Maps main style" + }, + { + "value": "dark", + "description": "Dark grey version of the Azure Maps main style" + } + ] + } + }, + { + "name": "zoom", + "in": "query", + "description": "Desired zoom level of the map. Zoom value must be in the range: 0-20 (inclusive). Default value is 12.

Please see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 20 + }, + { + "name": "center", + "in": "query", + "description": "Coordinates of the center point. Format: 'lon,lat'. Projection used\n- EPSG:3857. Longitude range: -180 to 180. Latitude range: -85 to 85. \n\nNote: Either center or bbox are required parameters. They are\nmutually exclusive.", + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "number", + "format": "double" + } + }, + { + "name": "bbox", + "x-ms-client-name": "boundingBox", + "in": "query", + "description": "Bounding box. Projection used - EPSG:3857. Format : 'minLon, minLat,\nmaxLon, maxLat'. \n\nNote: Either bbox or center are required\nparameters. They are mutually exclusive. It shouldn’t be used with\nheight or width.\n\nThe maximum allowed ranges for Lat and Lon are defined for each zoom level\nin the table at the top of this page.", + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "number", + "format": "double" + } + }, + { + "name": "height", + "in": "query", + "description": "Height of the resulting image in pixels. Range is 1 to 8192. Default\nis 512. It shouldn’t be used with bbox.", + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 8192 + }, + { + "name": "width", + "in": "query", + "description": "Width of the resulting image in pixels. Range is 1 to 8192. Default is 512. It shouldn’t be used with bbox.", + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 8192 + }, + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" + }, + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/View" + }, + { + "name": "pins", + "description": "Pushpin style and instances. Use this parameter to optionally add pushpins to the image.\nThe pushpin style describes the appearance of the pushpins, and the instances specify\nthe coordinates of the pushpins and optional labels for each pin. (Be sure to properly URL-encode values of this\nparameter since it will contain reserved characters such as pipes and punctuation.)\n\nThe Azure Maps account S0 SKU only supports a single instance of the pins parameter. Other SKUs\nallow multiple instances of the pins parameter to specify multiple pin styles.\n\nTo render a pushpin at latitude 45°N and longitude 122°W using the default built-in pushpin style, add the\nquerystring parameter \n\n`pins=default||-122 45` \n\nNote that the longitude comes before the latitude.\nAfter URL encoding this will look like\n\n`pins=default%7C%7C-122+45`\n\nAll of the examples here show the pins\nparameter without URL encoding, for clarity.\n\nTo render a pin at multiple locations, separate each location with a pipe character. For example, use\n\n`pins=default||-122 45|-119.5 43.2|-121.67 47.12`\n\nThe S0 Azure Maps account SKU only allows five pushpins. Other account SKUs do not have this limitation.\n\n### Style Modifiers\n\nYou can modify the appearance of the pins by adding style modifiers. These are added after the style but before\nthe locations and labels. Style modifiers each have a two-letter name. These abbreviated names are used to help\nreduce the length of the URL.\n\nTo change the color of the pushpin, use the 'co' style modifier and specify the color using the HTML/CSS RGB color\nformat which is a six-digit hexadecimal number (the three-digit form is not supported). For example, to use\na deep pink color which you would specify as #FF1493 in CSS, use\n\n`pins=default|coFF1493||-122 45`\n\n### Pushpin Labels\n\nTo add a label to the pins, put the label in single quotes just before the coordinates. For example, to label\nthree pins with the values '1', '2', and '3', use\n\n`pins=default||'1'-122 45|'2'-119.5 43.2|'3'-121.67 47.12`\n\nThere is a built in pushpin style called 'none' that does not display a pushpin image. You can use this if\nyou want to display labels without any pin image. For example,\n\n`pins=none||'A'-122 45|'B'-119.5 43.2`\n\nTo change the color of the pushpin labels, use the 'lc' label color style modifier. For example, to use pink\npushpins with black labels, use\n\n`pins=default|coFF1493|lc000000||-122 45`\n\nTo change the size of the labels, use the 'ls' label size style modifier. The label size represents the approximate\nheight of the label text in pixels. For example, to increase the label size to 12, use\n\n`pins=default|ls12||'A'-122 45|'B'-119 43`\n\nThe labels are centered at the pushpin 'label anchor.' The anchor location is predefined for built-in pushpins and\nis at the top center of custom pushpins (see below). To override the label anchor, using the 'la' style modifier\nand provide X and Y pixel coordinates for the anchor. These coordinates are relative to the top left corner of the\npushpin image. Positive X values move the anchor to the right, and positive Y values move the anchor down. For example,\nto position the label anchor 10 pixels right and 4 pixels above the top left corner of the pushpin image,\nuse\n\n`pins=default|la10 -4||'A'-122 45|'B'-119 43`\n\n### Custom Pushpins\n\nTo use a custom pushpin image, use the word 'custom' as the pin style name, and then specify a URL after the\nlocation and label information. Use two pipe characters to indicate that you're done specifying locations and are\nstarting the URL. For example,\n\n`pins=custom||-122 45||http://contoso.com/pushpins/red.png`\n\nAfter URL encoding, this would look like\n\n`pins=custom%7C%7C-122+45%7C%7Chttp%3A%2F%2Fcontoso.com%2Fpushpins%2Fred.png`\n\nBy default, custom pushpin images are drawn centered at the pin coordinates. This usually isn't ideal as it obscures\nthe location that you're trying to highlight. To override the anchor location of the pin image, use the 'an'\nstyle modifier. This uses the same format as the 'la' label anchor style modifier. For example, if your custom\npin image has the tip of the pin at the top left corner of the image, you can set the anchor to that spot by\nusing\n\n`pins=custom|an0 0||-122 45||http://contoso.com/pushpins/red.png`\n\nNote: If you use the 'co' color modifier with a custom pushpin image, the specified color will replace the RGB \nchannels of the pixels in the image but will leave the alpha (opacity) channel unchanged. This would usually\nonly be done with a solid-color custom image.\n\n### Getting Pushpins from Azure Maps Data Storage\n\nFor all Azure Maps account SKUs other than S0,\nthe pushpin location information can be obtained from Azure Maps Data Storage. After uploading a GeoJSON document containing pin locations, the Data Storage service returns a Unique Data ID (UDID) that you can use\nto reference the data in the pins parameter.\n\nTo use the point geometry from an uploaded GeoJSON document as the pin locations, specify the UDID in the locations\nsection of the pins parameter. For example,\n\n`pins=default||udid-29dc105a-dee7-409f-a3f9-22b066ae4713`\n\nNote that\nonly point and multipoint geometry, points and multipoints from geometry collections, and point geometry from features\nwill be used. Linestring and polygon geometry will be ignored. If the point comes from a feature and the feature\nhas a string property called \"label\", the value of that property will be used as the label for the pin.\n\nYou can mix pin locations from Data Storage and pin locations specified in the pins parameter. Any of the pipe-delimited\npin locations can be a longitude and latitude or a UDID. For example,\n\n`pins=default||-122 45|udid-29dc105a-dee7-409f-a3f9-22b066ae4713|-119 43`\n\n### Scale, Rotation, and Opacity\n\nYou can make pushpins and their labels larger or smaller by using the 'sc' scale style modifier. This is a\nvalue greater than zero. A value of 1 is the standard scale. Values larger than 1 will make the pins larger, and\nvalues smaller than 1 will make them smaller. For example, to draw the pushpins 50% larger than normal, use\n\n`pins=default|sc1.5||-122 45`\n\nYou can rotate pushpins and their labels by using the 'ro' rotation style modifier. This is a number of degrees\nof clockwise rotation. Use a negative number to rotate counter-clockwise. For example, to rotate the pushpins\n90 degrees clockwise and double their size, use\n\n`pins=default|ro90|sc2||-122 45`\n\nYou can make pushpins and their labels partially transparent by specifying the 'al' alpha style modifier.\nThis is a number between 0 and 1 indicating the opacity of the pushpins. Zero makes them completely transparent\n(and not visible) and 1 makes them completely opaque (which is the default). For example, to make pushpins\nand their labels only 67% opaque, use\n\n`pins=default|al.67||-122 45`\n\n### Style Modifier Summary\n\nModifier | Description | Range \n:--------:|-----------------|------------------\nal | Alpha (opacity) | 0 to 1 \nan | Pin anchor | * \nco | Pin color | 000000 to FFFFFF \nla | Label anchor | * \nlc | Label color | 000000 to FFFFFF \nls | Label size | Greater than 0 \nro | Rotation | -360 to 360 \nsc | Scale | Greater than 0 \n\n* X and Y coordinates can be anywhere within pin image or a margin around it.\nThe margin size is the minimum of the pin width and height.", + "in": "query", + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + } + }, + { + "name": "path", + "description": "Path style and locations. Use this parameter to optionally add lines, polygons or circles to the image.\nThe path style describes the appearance of the line and fill. (Be sure to properly URL-encode values of this\nparameter since it will contain reserved characters such as pipes and punctuation.)\n\nPath parameter is supported in Azure Maps account SKU starting with S1. Multiple instances of the path parameter \nallow to specify multiple geometries with their styles. Number of parameters per request is limited to 10 and\nnumber of locations is limited to 100 per path.\n\nTo render a circle with radius 100 meters and center point at latitude 45°N and longitude 122°W using the default style, add the\nquerystring parameter \n\n`path=ra100||-122 45` \n\nNote that the longitude comes before the latitude.\nAfter URL encoding this will look like\n\n`path=ra100%7C%7C-122+45`\n\nAll of the examples here show the path parameter without URL encoding, for clarity.\n\nTo render a line, separate each location with a pipe character. For example, use\n\n`path=||-122 45|-119.5 43.2|-121.67 47.12`\n\nTo render a polygon, last location must be equal to the start location. For example, use\n\n`path=||-122 45|-119.5 43.2|-121.67 47.12|-122 45`\n\nLongitude and latitude values for locations of lines and polygons can be in the range from -360 to 360 to allow for rendering of geometries crossing the anti-meridian.\n\n### Style Modifiers\n\nYou can modify the appearance of the path by adding style modifiers. These are added before the locations. \nStyle modifiers each have a two-letter name. These abbreviated names are used to help reduce the length\nof the URL.\n\nTo change the color of the outline, use the 'lc' style modifier and specify the color using the HTML/CSS RGB color\nformat which is a six-digit hexadecimal number (the three-digit form is not supported). For example, to use\na deep pink color which you would specify as #FF1493 in CSS, use\n\n`path=lcFF1493||-122 45|-119.5 43.2`\n\nMultiple style modifiers may be combined together to create a more complex visual style.\n\n`lc0000FF|lw3|la0.60|fa0.50||-122.2 47.6|-122.2 47.7|-122.3 47.7|-122.3 47.6|-122.2 47.6`\n\n### Getting Path locations from Azure Maps Data Storage\n\nFor all Azure Maps account SKUs other than S0, the path location information can be obtained from Azure Maps Data Storage. \nAfter uploading a GeoJSON document containing path locations, the Data Storage service returns a Unique Data ID (UDID) that you can use\nto reference the data in the path parameter.\n\nTo use the point geometry from an uploaded GeoJSON document as the path locations, specify the UDID in the locations\nsection of the path parameter. For example,\n\n`path=||udid-29dc105a-dee7-409f-a3f9-22b066ae4713`\n\nNote the it is not allowed to mix path locations from Data Storage with locations specified in the path parameter. \n\n### Style Modifier Summary\n\nModifier | Description | Range \n:--------:|------------------------|------------------\nlc | Line color | 000000 to FFFFFF\nfc | Fill color | 000000 to FFFFFF\nla | Line alpha (opacity) | 0 to 1 \nfa | Fill alpha (opacity) | 0 to 1 \nlw | Line width | Greater than 0 \nra | Circle radius (meters) | Greater than 0", + "in": "query", + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + } + } + ], + "produces": [ + "application/json", + "image/jpeg", + "image/png", + "image/pbf", + "application/vnd.mapbox-vector-tile" + ], + "responses": { + "200": { + "description": "This image is returned from a successful Get Map Static Image call", + "schema": { + "type": "object", + "format": "file", + "readOnly": true + }, + "headers": { + "Content-Type": { + "type": "string", + "description": "The content-type for the response." + } + } + }, + "default": { + "$ref": "../../../Common/preview/1.0/common.json#/responses/default" + } + } + } + }, + "/map/copyright/bounding/{format}": { + "get": { + "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nReturns copyright information for a given bounding box. Bounding-box requests should specify the minimum and maximum longitude and latitude (EPSG-3857) coordinates", + "operationId": "RenderV2_GetCopyrightFromBoundingBox", + "x-ms-examples": { + "SuccessfulBoundingBoxCopyrightRequest": { + "$ref": "./examples/SuccessfulBoundingBoxCopyrightRequest.json" + } + }, + "parameters": [ + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "../1.0/render.json#/parameters/BoundingBoxSouthWest" + }, + { + "$ref": "../1.0/render.json#/parameters/BoundingBoxNorthEast" + }, + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat" + }, + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/IncludeText" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../1.0/render.json#/definitions/Copyright" + } + }, + "default": { + "$ref": "../../../Common/preview/1.0/common.json#/responses/default" + } + } + } + }, + "/map/copyright/tile/{format}": { + "get": { + "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for a given tile. To obtain the copyright information for a particular tile, the request should specify the tile's zoom level and x and y coordinates (see: Zoom Levels and Tile Grid).", + "operationId": "RenderV2_GetCopyrightForTile", + "x-ms-examples": { + "Successful Tile Copyright Request": { + "$ref": "./examples/SuccessfulTileCopyrightRequest.json" + } + }, + "parameters": [ + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex" + }, + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex" + }, + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/yTileIndex" + }, + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat" + }, + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/IncludeText" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../1.0/render.json#/definitions/Copyright" + } + }, + "default": { + "$ref": "../../../Common/preview/1.0/common.json#/responses/default" + } + } + } + }, + "/map/copyright/world/{format}": { + "get": { + "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for the world. To obtain the default copyright information for the whole world, do not specify a tile or bounding box.", + "operationId": "RenderV2_GetCopyrightForWorld", + "x-ms-examples": { + "Successful World Copyright Request": { + "$ref": "./examples/SuccessfulWorldCopyrightRequest.json" + } + }, + "parameters": [ + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat" + }, + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/IncludeText" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../1.0/render.json#/definitions/Copyright" } }, "default": { @@ -235,13 +618,7 @@ } }, "definitions": { - "MapTileResultv2": { - "description": "The tile returned from a successful API call.", - "type": "object", - "format": "file", - "readOnly": true - }, - "MapTilesetResultV2": { + "MapTileset": { "description": "Metadata for a tileset in the TileJSON format.", "type": "object", "readOnly": true, @@ -249,24 +626,24 @@ "tilejson": { "type": "string", "pattern": "\\d+\\.\\d+\\.\\d+\\w?[\\w\\d]*", - "description": "Version of the TileJSON spec." + "description": "Describes the version of the TileJSON spec that is implemented by this JSON object." }, "name": { "type": "string", - "description": "Name of the tileset." + "description": "A name describing the tileset. The name can contain any legal character. Implementations SHOULD NOT interpret the name as HTML." }, "description": { "type": "string", - "description": "Text description of the tileset." + "description": "Text description of the tileset. The description can contain any legal character. Implementations SHOULD NOT interpret the description as HTML." }, "version": { "type": "string", "pattern": "\\d+\\.\\d+\\.\\d+\\w?[\\w\\d]*", - "description": "A semver.org style version number for the tiles contained within the tileset." + "description": "A semver.org style version number for the tiles contained within the tileset. When changes across tiles are introduced, the minor version MUST change." }, "attribution": { "type": "string", - "description": "Copyright attribution to be displayed on the map." + "description": "Copyright attribution to be displayed on the map. Implementations MAY decide to treat this as HTML or literal text. For security reasons, make absolutely sure that this field can't be abused as a vector for XSS or beacon tracking." }, "template": { "type": "string", @@ -274,18 +651,18 @@ }, "legend": { "type": "string", - "description": "A legend to be displayed with the map." + "description": "A legend to be displayed with the map. Implementations MAY decide to treat this as HTML or literal text. For security reasons, make absolutely sure that this field can't be abused as a vector for XSS or beacon tracking." }, "scheme": { "type": "string", - "description": "Default: \"xyz\". Either \"xyz\" or \"tms\". Influences the y direction of the tile coordinates." + "description": "Default: \"xyz\". Either \"xyz\" or \"tms\". Influences the y direction of the tile coordinates. The global-mercator (aka Spherical Mercator) profile is assumed." }, "tiles": { "type": "array", "items": { "type": "string" }, - "description": "An array of tile endpoints." + "description": "An array of tile endpoints. If multiple endpoints are specified, clients may use any combination of endpoints. All endpoints MUST return the same content for the same URL. The array MUST contain at least one endpoint." }, "grids": { "type": "array", @@ -302,12 +679,14 @@ "description": "An array of data files in GeoJSON format." }, "minzoom": { + "x-ms-client-name": "minZoom", "minimum": 0, "maximum": 30, "type": "integer", "description": "The minimum zoom level." }, "maxzoom": { + "x-ms-client-name": "maxZoom", "minimum": 0, "maximum": 30, "type": "integer", @@ -318,18 +697,18 @@ "items": { "type": "number" }, - "description": "The WGS84 bounds of the tileset." + "description": "The maximum extent of available map tiles. Bounds MUST define an area covered by all zoom levels. The bounds are represented in WGS:84 latitude and longitude values, in the order left, bottom, right, top. Values may be integers or floating point numbers." }, "center": { "type": "array", "items": { "type": "number" }, - "description": "The default location of the tileset in the form [longitude, latitude, zoom]." + "description": "The default location of the tileset in the form [longitude, latitude, zoom]. The zoom level MUST be between minzoom and maxzoom. Implementations can use this value to set the default location." } } }, - "MapAttributionResultV2": { + "MapAttribution": { "description": "Copyright attribution for the requested section of a tileset.", "type": "object", "readOnly": true, diff --git a/specification/maps/data-plane/Render/readme.go.md b/specification/maps/data-plane/Render/readme.go.md index 309634d3db6f..e5665e8bf508 100644 --- a/specification/maps/data-plane/Render/readme.go.md +++ b/specification/maps/data-plane/Render/readme.go.md @@ -13,7 +13,6 @@ export-clients: true ``` yaml $(go) && $(multiapi) batch: - - tag: 2.0-preview - tag: 2.1-preview ``` diff --git a/specification/maps/data-plane/Render/readme.md b/specification/maps/data-plane/Render/readme.md index 742c370a1a2b..252789e625af 100644 --- a/specification/maps/data-plane/Render/readme.md +++ b/specification/maps/data-plane/Render/readme.md @@ -40,7 +40,6 @@ These settings apply only when `--tag=2.1-preview` is specified on the command l ``` yaml $(tag) == '2.1-preview' input-file: - - preview/1.0/render.json - preview/2.1/render.json ``` @@ -50,10 +49,18 @@ These settings apply only when `--tag=2.0-preview` is specified on the command l ``` yaml $(tag) == '2.0-preview' input-file: - - preview/1.0/render.json - preview/2.0/render.json ``` +### Tag: 1.0-preview + +These settings apply only when `--tag=1.0-preview` is specified on the command line. + +``` yaml $(tag) == '1.0-preview' +input-file: + - preview/1.0/render.json +``` + # Code Generation ## Swagger to SDK diff --git a/specification/maps/data-plane/Render/readme.python.md b/specification/maps/data-plane/Render/readme.python.md index 5ac67a238fe9..7d521a0cde7c 100644 --- a/specification/maps/data-plane/Render/readme.python.md +++ b/specification/maps/data-plane/Render/readme.python.md @@ -14,9 +14,9 @@ clear-output-folder: true ``` ``` yaml $(python) && $(python-mode) == 'update' no-namespace-folders: true -output-folder: $(python-sdks-folder)/maps/azure-maps-render/azure/maps/render +output-folder: $(python-sdks-folder)/maps/azure-maps-render/azure/maps/render/_generated ``` ``` yaml $(python) && $(python-mode) == 'create' basic-setup-py: true -output-folder: $(python-sdks-folder)/maps/azure-maps-render +output-folder: $(python-sdks-folder)/maps/azure-maps-render/ ``` diff --git a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirections.json b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirections.json index 7ab075df4b74..c0ffa20e17f6 100644 --- a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirections.json +++ b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirections.json @@ -3,7 +3,7 @@ "format": "json", "api-version": "1.0", "query": "52.50931,13.42936:52.50274,13.43872", - "postRouteDirectionsRequestBody": { + "routeDirectionParameters": { "supportingPoints": { "type": "GeometryCollection", "geometries": [ diff --git a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirectionsBatch.json b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirectionsBatch.json index 71913667a5ca..1b13aed12776 100644 --- a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirectionsBatch.json +++ b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirectionsBatch.json @@ -2,7 +2,7 @@ "parameters": { "format": "json", "api-version": "1.0", - "postRouteDirectionsBatchRequestBody": { + "routeDirectionsBatchQueries": { "batchItems": [ { "query": "?query=47.639987,-122.128384:47.621252,-122.184408:47.596437,-122.332000&routeType=fastest&travelMode=car&maxAlternatives=99" diff --git a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirectionsBatchSync.json b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirectionsBatchSync.json index a636f6fc44d7..233adc0d3333 100644 --- a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirectionsBatchSync.json +++ b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirectionsBatchSync.json @@ -2,7 +2,7 @@ "parameters": { "format": "json", "api-version": "1.0", - "postRouteDirectionsBatchRequestBody": { + "routeDirectionsBatchQueries": { "batchItems": [ { "query": "?query=47.639987,-122.128384:47.621252,-122.184408:47.596437,-122.332000&routeType=fastest&travelMode=car&maxAlternatives=99" diff --git a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteMatrix.json b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteMatrix.json index d59b3f77816f..d4b118284d7e 100644 --- a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteMatrix.json +++ b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteMatrix.json @@ -3,7 +3,7 @@ "format": "json", "api-version": "1.0", "routeType": "shortest", - "postRouteMatrixRequestBody": { + "routeMatrixQuery": { "origins": { "type": "MultiPoint", "coordinates": [ diff --git a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteMatrixSync.json b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteMatrixSync.json index 0eb24efc72e0..31c84a58c599 100644 --- a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteMatrixSync.json +++ b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteMatrixSync.json @@ -3,7 +3,7 @@ "format": "json", "api-version": "1.0", "routeType": "shortest", - "postRouteMatrixRequestBody": { + "routeMatrixQuery": { "origins": { "type": "MultiPoint", "coordinates": [ diff --git a/specification/maps/data-plane/Route/preview/1.0/route.json b/specification/maps/data-plane/Route/preview/1.0/route.json index a5771c613d6b..4e82d2427eb9 100644 --- a/specification/maps/data-plane/Route/preview/1.0/route.json +++ b/specification/maps/data-plane/Route/preview/1.0/route.json @@ -18,15 +18,21 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "AzureKey": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", + "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", "in": "header" } }, @@ -37,7 +43,10 @@ ] }, { - "AzureKey": [] + "SharedKey": [] + }, + { + "SasToken": [] } ], "responses": {}, @@ -143,18 +152,22 @@ "values": [ { "value": "fastest", + "name": "Fastest", "description": "The fastest route." }, { "value": "shortest", + "name": "Shortest", "description": "The shortest route by distance." }, { "value": "eco", + "name": "Economy", "description": "A route balanced by economy and speed." }, { "value": "thrilling", + "name": "Thrilling", "description": "Includes interesting or challenging roads and uses as few motorways as possible. You can choose the level of turns included and also the degree of hilliness. See the hilliness and windingness parameters for how to set this. There is a limit of 900 km on routes planned with `routeType`=thrilling" } ] @@ -191,8 +204,9 @@ }, "x-ms-parameter-location": "method" }, - "HillinessDegree": { + "InclineLevel": { "name": "hilliness", + "x-ms-client-name": "inclineLevel", "in": "query", "description": "Degree of hilliness for thrilling route. This parameter can only be used in conjunction with `routeType`=thrilling.", "type": "string", @@ -202,7 +216,7 @@ "high" ], "x-ms-enum": { - "name": "HillinessDegree", + "name": "InclineLevel", "modelAsString": true, "values": [ { @@ -356,11 +370,11 @@ "x-ms-parameter-location": "method" }, "ConstantSpeedConsumptionInLitersPerHundredkm": { + "x-ms-client-name": "ConstantSpeedConsumptionInLitersPerHundredKm", "name": "constantSpeedConsumptionInLitersPerHundredkm", "in": "query", "description": "\n\nSpecifies the speed-dependent component of consumption.\n\nProvided as an unordered list of colon-delimited speed & consumption-rate pairs. The list defines points on a consumption curve. Consumption rates for speeds not in the list are found as follows:\n\n * by linear interpolation, if the given speed lies in between two speeds in the list\n\n * by linear extrapolation otherwise, assuming a constant (ΔConsumption/ΔSpeed) determined by the nearest two points in the list\n\nThe list must contain between 1 and 25 points (inclusive), and may not contain duplicate points for the same speed. If it only contains a single point, then the consumption rate of that point is used without further processing.\n\nConsumption specified for the largest speed must be greater than or equal to that of the penultimate largest speed. This ensures that extrapolation does not lead to negative consumption rates.\n\nSimilarly, consumption values specified for the two smallest speeds in the list cannot lead to a negative consumption rate for any smaller speed.\n\nThe valid range for the consumption values(expressed in l/100km) is between 0.01 and 100000.0.\n\nSensible Values : 50,6.3:130,11.5\n\n**Note** : This parameter is required for **The Combustion Consumption Model**.", - "type": "number", - "format": "float", + "type": "string", "x-ms-parameter-location": "method" }, "CurrentFuelInLiters": { @@ -368,7 +382,7 @@ "in": "query", "description": "Specifies the current supply of fuel in liters.\n\nSensible Values : 55", "type": "number", - "format": "float", + "format": "double", "x-ms-parameter-location": "method" }, "AuxiliaryPowerInLitersPerHour": { @@ -376,15 +390,16 @@ "in": "query", "description": "Specifies the amount of fuel consumed for sustaining auxiliary systems of the vehicle, in liters per hour.\n\nIt can be used to specify consumption due to devices and systems such as AC systems, radio, heating, etc.\n\nSensible Values : 0.2", "type": "number", - "format": "float", + "format": "double", "x-ms-parameter-location": "method" }, "FuelEnergyDensityInMJoulesPerLiter": { + "x-ms-client-name": "FuelEnergyDensityInMegajoulesPerLiter", "name": "fuelEnergyDensityInMJoulesPerLiter", "in": "query", "description": "Specifies the amount of chemical energy stored in one liter of fuel in megajoules (MJ). It is used in conjunction with the ***Efficiency** parameters for conversions between saved or consumed energy and fuel. For example, energy density is 34.2 MJ/l for gasoline, and 35.8 MJ/l for Diesel fuel.\n\nThis parameter is required if any ***Efficiency** parameter is set.\n\nSensible Values : 34.2", "type": "number", - "format": "float", + "format": "double", "x-ms-parameter-location": "method" }, "AccelerationEfficiency": { @@ -392,7 +407,9 @@ "in": "query", "description": "Specifies the efficiency of converting chemical energy stored in fuel to kinetic energy when the vehicle accelerates _(i.e. KineticEnergyGained/ChemicalEnergyConsumed). ChemicalEnergyConsumed_ is obtained by converting consumed fuel to chemical energy using **fuelEnergyDensityInMJoulesPerLiter**.\n\nMust be paired with **decelerationEfficiency**.\n\nThe range of values allowed are 0.0 to 1/**decelerationEfficiency**.\n\nSensible Values : for **Combustion Model** : 0.33, for **Electric Model** : 0.66", "type": "number", - "format": "float", + "format": "double", + "minimum": 0, + "maximum": 1, "x-ms-parameter-location": "method" }, "DecelerationEfficiency": { @@ -400,7 +417,9 @@ "in": "query", "description": "Specifies the efficiency of converting kinetic energy to saved (not consumed) fuel when the vehicle decelerates _(i.e. ChemicalEnergySaved/KineticEnergyLost). ChemicalEnergySaved_ is obtained by converting saved (not consumed) fuel to energy using **fuelEnergyDensityInMJoulesPerLiter**.\n\nMust be paired with **accelerationEfficiency**.\n\nThe range of values allowed are 0.0 to 1/**accelerationEfficiency**.\n\nSensible Values : for **Combustion Model** : 0.83, for **Electric Model** : 0.91", "type": "number", - "format": "float", + "format": "double", + "minimum": 0, + "maximum": 1, "x-ms-parameter-location": "method" }, "UphillEfficiency": { @@ -408,7 +427,9 @@ "in": "query", "description": "Specifies the efficiency of converting chemical energy stored in fuel to potential energy when the vehicle gains elevation _(i.e. PotentialEnergyGained/ChemicalEnergyConsumed). ChemicalEnergyConsumed_ is obtained by converting consumed fuel to chemical energy using **fuelEnergyDensityInMJoulesPerLiter**.\n\nMust be paired with **downhillEfficiency**.\n\nThe range of values allowed are 0.0 to 1/**downhillEfficiency**.\n\nSensible Values : for **Combustion Model** : 0.27, for **Electric Model** : 0.74", "type": "number", - "format": "float", + "format": "double", + "minimum": 0, + "maximum": 1, "x-ms-parameter-location": "method" }, "DownhillEfficiency": { @@ -416,11 +437,14 @@ "in": "query", "description": "Specifies the efficiency of converting potential energy to saved (not consumed) fuel when the vehicle loses elevation _(i.e. ChemicalEnergySaved/PotentialEnergyLost). ChemicalEnergySaved_ is obtained by converting saved (not consumed) fuel to energy using **fuelEnergyDensityInMJoulesPerLiter**.\n\nMust be paired with **uphillEfficiency**.\n\nThe range of values allowed are 0.0 to 1/**uphillEfficiency**.\n\nSensible Values : for **Combustion Model** : 0.51, for **Electric Model** : 0.73", "type": "number", - "format": "float", + "format": "double", + "minimum": 0, + "maximum": 1, "x-ms-parameter-location": "method" }, "ConstantSpeedConsumptionInkWhPerHundredkm": { "name": "constantSpeedConsumptionInkWhPerHundredkm", + "x-ms-client-name": "ConstantSpeedConsumptionInKwHPerHundredKm", "in": "query", "description": "Specifies the speed-dependent component of consumption.\n\nProvided as an unordered list of speed/consumption-rate pairs. The list defines points on a consumption curve. Consumption rates for speeds not in the list are found as follows:\n\n* by linear interpolation, if the given speed lies in between two speeds in the list\n\n* by linear extrapolation otherwise, assuming a constant (ΔConsumption/ΔSpeed) determined by the nearest two points in the list\n\nThe list must contain between 1 and 25 points (inclusive), and may not contain duplicate points for the same speed. If it only contains a single point, then the consumption rate of that point is used without further processing.\n\nConsumption specified for the largest speed must be greater than or equal to that of the penultimate largest speed. This ensures that extrapolation does not lead to negative consumption rates.\n\nSimilarly, consumption values specified for the two smallest speeds in the list cannot lead to a negative consumption rate for any smaller speed.\n\nThe valid range for the consumption values(expressed in kWh/100km) is between 0.01 and 100000.0.\n\nSensible Values : 50,8.2:130,21.3\n\nThis parameter is required for **Electric consumption model**.", "type": "string", @@ -428,23 +452,29 @@ }, "CurrentChargeInkWh": { "name": "currentChargeInkWh", + "x-ms-client-name": "CurrentChargeInKwH", "in": "query", "description": "Specifies the current electric energy supply in kilowatt hours (kWh).\n\nThis parameter co-exists with **maxChargeInkWh** parameter.\n\nThe range of values allowed are 0.0 to **maxChargeInkWh**.\n\nSensible Values : 43", - "type": "string", + "type": "number", + "format": "double", "x-ms-parameter-location": "method" }, "MaxChargeInkWh": { "name": "maxChargeInkWh", + "x-ms-client-name": "MaxChargeInKwH", "in": "query", "description": "Specifies the maximum electric energy supply in kilowatt hours (kWh) that may be stored in the vehicle's battery.\n\nThis parameter co-exists with **currentChargeInkWh** parameter.\n\nMinimum value has to be greater than or equal to **currentChargeInkWh**.\n\nSensible Values : 85", - "type": "string", + "type": "number", + "format": "double", "x-ms-parameter-location": "method" }, "AuxiliaryPowerInkW": { "name": "auxiliaryPowerInkW", + "x-ms-client-name": "AuxiliaryPowerInKw", "in": "query", "description": "Specifies the amount of power consumed for sustaining auxiliary systems, in kilowatts (kW).\n\nIt can be used to specify consumption due to devices and systems such as AC systems, radio, heating, etc.\n\nSensible Values : 1.7", - "type": "string", + "type": "number", + "format": "double", "x-ms-parameter-location": "method" }, "VehicleWeightMatrix": { @@ -452,6 +482,7 @@ "in": "query", "description": "Weight of the vehicle in kilograms.", "type": "integer", + "default": 0, "x-ms-parameter-location": "method" }, "VehicleWeight": { @@ -459,6 +490,7 @@ "in": "query", "description": "Weight of the vehicle in kilograms.\n\n* It is mandatory if any of the *Efficiency parameters are set.\n\n* It must be strictly positive when used in the context of the Consumption Model. Weight restrictions are considered.\n\n* If no detailed **Consumption Model** is specified and the value of **vehicleWeight** is non-zero, then weight restrictions are considered.\n\n* In all other cases, this parameter is ignored.\n\nSensible Values : for **Combustion Model** : 1600, for **Electric Model** : 1900", "type": "integer", + "default": 0, "x-ms-parameter-location": "method" }, "VehicleMaxSpeed": { @@ -466,6 +498,7 @@ "in": "query", "description": "Maximum speed of the vehicle in km/hour. The max speed in the vehicle profile is used to check whether a vehicle is allowed on motorways. \n\n* A value of 0 means that an appropriate value for the vehicle will be determined and applied during route planning.\n\n* A non-zero value may be overridden during route planning. For example, the current traffic flow is 60 km/hour. If the vehicle maximum speed is set to 50 km/hour, the routing engine will consider 60 km/hour as this is the current situation. If the maximum speed of the vehicle is provided as 80 km/hour but the current traffic flow is 60 km/hour, then routing engine will again use 60 km/hour.", "type": "integer", + "default": 0, "x-ms-parameter-location": "method" }, "VehicleLength": { @@ -473,7 +506,8 @@ "in": "query", "description": "Length of the vehicle in meters. A value of 0 means that length restrictions are not considered.", "type": "number", - "format": "float", + "format": "double", + "default": 0, "x-ms-parameter-location": "method" }, "VehicleHeight": { @@ -481,7 +515,8 @@ "in": "query", "description": "Height of the vehicle in meters. A value of 0 means that height restrictions are not considered.", "type": "number", - "format": "float", + "format": "double", + "default": 0, "x-ms-parameter-location": "method" }, "VehicleWidth": { @@ -489,7 +524,8 @@ "in": "query", "description": "Width of the vehicle in meters. A value of 0 means that width restrictions are not considered.", "type": "number", - "format": "float", + "format": "double", + "default": 0, "x-ms-parameter-location": "method" }, "VehicleAxleWeight": { @@ -497,13 +533,16 @@ "in": "query", "description": "Weight per axle of the vehicle in kg. A value of 0 means that weight restrictions per axle are not considered.", "type": "integer", + "default": 0, "x-ms-parameter-location": "method" }, "VehicleCommercial": { "name": "vehicleCommercial", + "x-ms-client-name": "isCommercialVehicle", "in": "query", - "description": "Vehicle is used for commercial purposes and thus may not be allowed to drive on some roads.", + "description": "Whether the vehicle is used for commercial purposes. Commercial vehicles may not be allowed to drive on some roads.", "type": "boolean", + "default": false, "x-ms-parameter-location": "method" }, "DepartAt": { @@ -524,6 +563,7 @@ }, "SectionType": { "name": "sectionType", + "x-ms-client-name": "FilterSectionType", "in": "query", "description": "Specifies which of the section types is reported in the route response.

For example if sectionType = pedestrian the sections which are suited for pedestrians only are returned. Multiple types can be used. The default sectionType refers to the travelMode input. By default travelMode is set to car", "type": "string", @@ -537,7 +577,9 @@ "tollVignette", "traffic", "travelMode", - "tunnel" + "tunnel", + "carpool", + "urban" ], "x-ms-enum": { "name": "SectionType", @@ -545,43 +587,63 @@ "values": [ { "value": "carTrain", - "description": "Get sections if the route includes car trains." + "name": "CarOrTrain", + "description": "Sections of the route that are cars or trains." }, { "value": "country", - "description": "Countries the route has parts in." + "name": "Country", + "description": "Sections indicating which countries the route is in." }, { "value": "ferry", - "description": "Get sections if the route includes ferries." + "name": "Ferry", + "description": "Sections of the route that are ferries." }, { "value": "motorway", - "description": "Get sections if the route includes motorways." + "name": "Motorway", + "description": "Sections of the route that are motorways." }, { "value": "pedestrian", - "description": "Get sections which are suited for pedestrians." + "name": "Pedestrian", + "description": "Sections of the route that are only suited for pedestrians." }, { "value": "tollRoad", - "description": "Get sections which require a toll to be payed." + "name": "TollRoad", + "description": "Sections of the route that require a toll to be payed." }, { "value": "tollVignette", - "description": "Get sections which require a toll vignette to be present." + "name": "TollVignette", + "description": "Sections of the route that require a toll vignette to be present." }, { "value": "traffic", - "description": "Get sections which contain traffic information." + "name": "Traffic", + "description": "Sections of the route that contain traffic information." }, { "value": "travelMode", - "description": "Get sections in relation to the request parameter `travelMode`." + "name": "TravelMode", + "description": "Sections in relation to the request parameter `travelMode`." }, { "value": "tunnel", - "description": "Get sections if the route includes tunnels." + "name": "Tunnel", + "description": "Sections of the route that are tunnels." + }, + { + "value": "carpool", + "name": "Carpool", + "description": "Sections of the route that require use of carpool (HOV/High Occupancy Vehicle) lanes." + }, + { + "value": "urban", + "name": "Urban", + "description": "Sections of the route that are located within urban areas." } ] }, @@ -589,13 +651,15 @@ }, "ComputeBestOrder": { "name": "computeBestOrder", + "x-ms-client-name": "computeBestWaypointOrder", "in": "query", "description": "Re-order the route waypoints using a fast heuristic algorithm to reduce the route length. Yields best results when used in conjunction with routeType _shortest_. Notice that origin and destination are excluded from the optimized waypoint indices. To include origin and destination in the response, please increase all the indices by 1 to account for the origin, and then add the destination as the final index. Possible values are true or false. True computes a better order if possible, but is not allowed to be used in conjunction with maxAlternatives value greater than 0 or in conjunction with circle waypoints. False will use the locations in the given order and not allowed to be used in conjunction with routeRepresentation _none_.", "type": "boolean", "x-ms-parameter-location": "method" }, - "RouteRepresentation": { + "RouteRepresentationForBestOrder": { "name": "routeRepresentation", + "x-ms-client-name": "routeRepresentationForBestOrder", "in": "query", "description": "Specifies the representation of the set of routes provided as response. This parameter value can only be used in conjunction with computeBestOrder=true.", "type": "string", @@ -605,7 +669,7 @@ "none" ], "x-ms-enum": { - "name": "RouteRepresentation", + "name": "RouteRepresentationForBestOrder", "modelAsString": true, "values": [ { @@ -624,8 +688,9 @@ }, "x-ms-parameter-location": "method" }, - "ComputeTravelTimeFor": { + "ComputeTravelTime": { "name": "computeTravelTimeFor", + "x-ms-client-name": "computeTravelTime", "in": "query", "description": "Specifies whether to return additional travel times using different types of traffic information (none, historic, live) as well as the default best-estimate travel time.", "type": "string", @@ -634,7 +699,7 @@ "all" ], "x-ms-enum": { - "name": "ComputeTravelTimeFor", + "name": "ComputeTravelTime", "modelAsString": true, "values": [ { @@ -663,10 +728,24 @@ "in": "query", "description": "Specifies which data should be reported for diagnosis purposes. The only possible value is _effectiveSettings_. Reports the effective parameters or data used when calling the API. In the case of defaulted parameters the default will be reflected where the parameter was not specified by the caller.", "type": "string", - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "enum": [ + "effectiveSettings" + ], + "x-ms-enum": { + "name": "Report", + "modelAsString": true, + "values": [ + { + "value": "effectiveSettings", + "description": "Reports the effective parameters or data used when calling the API." + } + ] + } }, "Traffic": { "name": "traffic", + "x-ms-client-name": "useTrafficData", "in": "query", "description": "Possible values: \n * true - Do consider all available traffic information during routing\n * false - Ignore current traffic data during routing. Note that although the current traffic data is ignored \n during routing, the effect of historic traffic on effective road speeds is still incorporated.", "type": "boolean", @@ -729,6 +808,7 @@ }, "MatrixId": { "name": "format", + "x-ms-client-name": "matrixId", "description": "Matrix id received after the Matrix Route request was accepted successfully.", "type": "string", "in": "path", @@ -737,24 +817,35 @@ }, "BatchId": { "name": "format", + "x-ms-client-name": "batchId", "description": "Batch id for querying the operation.", "type": "string", "in": "path", "required": true, "x-ms-parameter-location": "method" + }, + "Query": { + "name": "query", + "x-ms-client-name": "routePoints", + "in": "query", + "description": "The Coordinates through which the route is calculated, delimited by a colon. A minimum of two coordinates is required. The first one is the origin and the last is the destination of the route. Optional coordinates in-between act as WayPoints in the route. You can pass up to 150 WayPoints.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" } }, "paths": { "/route/matrix/{format}": { "post": { "description": "\n\n**Applies to**: S1 pricing tier.\n\nThe Matrix Routing service allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using an asynchronous (async) or synchronous (sync) POST request. For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.\n\n\nFor each route, the travel times and distances are returned. You can use the computed costs to determine which detailed routes to calculate using the Route Directions API.\n\n\nThe maximum size of a matrix for async request is **700** and for sync request it's **100** (the number of origins multiplied by the number of destinations).\n\n\n\n### Submit Synchronous Route Matrix Request\nIf your scenario requires synchronous requests and the maximum size of the matrix is less than or equal to 100, you might want to make synchronous request. The maximum size of a matrix for this API is **100** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 10x10, 6x8, 9x8 (it does not need to be square).\n\n```\nPOST https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n\n### Submit Asynchronous Route Matrix Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex routing requests. When you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available. If `waitForResults` parameter in the request is set to true, user will get a 200 response if the request is finished under 120 seconds.\n\n\nThe maximum size of a matrix for this API is **700** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 50x10, 10x10, 28x25. 10x70 (it does not need to be square).\n\n\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\n\n\n\n```\nPOST https://atlas.microsoft.com/route/matrix/json?api-version=1.0&subscription-key={subscription-key}\n```\n\nHere's a typical sequence of asynchronous operations:\n1. Client sends a Route Matrix POST request to Azure Maps\n\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Route Matrix request has been accepted.\n\n > HTTP `Error` - There was an error processing your Route Matrix request. This could either be a 400 Bad Request or any other Error status code.\n\n\n3. If the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:\n\n ```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n ```\n\n\n4. Client issues a GET request on the download URL obtained in Step 3 to download the results\n\n### Download Sync Results\nWhen you make a POST request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.\n\n### Download Async Results\nWhen a request issues a `202 Accepted` response, the request is being processed using our async pipeline. You will be given a URL to check the progress of your async request in the location header of the response. This status URI looks like the following:\n```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n```\n\nThe URL provided by the location header will return the following responses when a `GET` request is issued.\n\n > HTTP `202 Accepted` - Matrix request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Matrix request successfully processed. The response body contains all of the results.", - "operationId": "PostRouteMatrix", + "operationId": "Route_PostRouteMatrix", + "x-ms-client-name": "RequestRouteMatrix", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-examples": { - "PostRouteMatrix": { + "Successfully submit a route matrix request": { "$ref": "./examples/PostRouteMatrix.json" } }, @@ -775,7 +866,7 @@ "type": "boolean" }, { - "$ref": "#/parameters/ComputeTravelTimeFor" + "$ref": "#/parameters/ComputeTravelTime" }, { "$ref": "#/parameters/SectionType" @@ -808,7 +899,7 @@ "$ref": "#/parameters/WindingnessLevel" }, { - "$ref": "#/parameters/HillinessDegree" + "$ref": "#/parameters/InclineLevel" }, { "$ref": "#/parameters/TravelMode" @@ -826,12 +917,12 @@ "$ref": "#/parameters/VehicleLoadType" }, { - "name": "postRouteMatrixRequestBody", + "name": "routeMatrixQuery", "description": "The matrix of origin and destination coordinates to compute the route distance, travel time and other summary for each cell of the matrix based on the input parameters. The minimum and the maximum cell count supported are 1 and **700** for async and **100** for sync respectively. For example, it can be 35 origins and 20 destinations or 25 origins and 25 destinations for async API.", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/PostRouteMatrixRequestBody" + "$ref": "#/definitions/RouteMatrixQuery" } } ], @@ -839,7 +930,7 @@ "200": { "description": "Matrix request successfully processed. The response body contains all of the results.", "schema": { - "$ref": "#/definitions/RouteMatrixResponse" + "$ref": "#/definitions/RouteMatrixResult" } }, "202": { @@ -852,13 +943,13 @@ }, "get": { "description": "If the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:\n\n ```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n ```\n\n\n4. Client issues a GET request on the download URL obtained in Step 3 to download the results\n\n### Download Sync Results\nWhen you make a POST request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.\n\n### Download Async Results\nWhen a request issues a `202 Accepted` response, the request is being processed using our async pipeline. You will be given a URL to check the progress of your async request in the location header of the response. This status URI looks like the following:\n```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n```\n\nThe URL provided by the location header will return the following responses when a `GET` request is issued.\n\n > HTTP `202 Accepted` - Matrix request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Matrix request successfully processed. The response body contains all of the results.", - "operationId": "GetRouteMatrix", + "operationId": "Route_GetRouteMatrix", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "original-uri" }, "x-ms-examples": { - "GetRouteMatrix": { + "Successfully retrieve the status for a route matrix request": { "$ref": "./examples/GetRouteMatrix.json" } }, @@ -877,7 +968,7 @@ "200": { "description": "Matrix request successfully processed. The response body contains all of the results.", "schema": { - "$ref": "#/definitions/RouteMatrixResponse" + "$ref": "#/definitions/RouteMatrixResult" } }, "202": { @@ -892,9 +983,10 @@ "/route/matrix/sync/{format}": { "post": { "description": "\n\n**Applies to**: S1 pricing tier.\n\nThe Matrix Routing service allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using an asynchronous (async) or synchronous (sync) POST request. For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.\n\n\nFor each route, the travel times and distances are returned. You can use the computed costs to determine which detailed routes to calculate using the Route Directions API.\n\n\nThe maximum size of a matrix for async request is **700** and for sync request it's **100** (the number of origins multiplied by the number of destinations).\n\n\n\n### Submit Synchronous Route Matrix Request\nIf your scenario requires synchronous requests and the maximum size of the matrix is less than or equal to 100, you might want to make synchronous request. The maximum size of a matrix for this API is **100** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 10x10, 6x8, 9x8 (it does not need to be square).\n\n```\nPOST https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n\n### Submit Asynchronous Route Matrix Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex routing requests. When you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available. If `waitForResults` parameter in the request is set to true, user will get a 200 response if the request is finished under 120 seconds.\n\n\nThe maximum size of a matrix for this API is **700** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 50x10, 10x10, 28x25. 10x70 (it does not need to be square).\n\n\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\n\n\n\n```\nPOST https://atlas.microsoft.com/route/matrix/json?api-version=1.0&subscription-key={subscription-key}\n```\n\nHere's a typical sequence of asynchronous operations:\n1. Client sends a Route Matrix POST request to Azure Maps\n\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Route Matrix request has been accepted.\n\n > HTTP `Error` - There was an error processing your Route Matrix request. This could either be a 400 Bad Request or any other Error status code.\n\n\n3. If the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:\n\n ```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n ```\n\n\n4. Client issues a GET request on the download URL obtained in Step 3 to download the results\n\n### Download Sync Results\nWhen you make a POST request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.\n\n### Download Async Results\nWhen a request issues a `202 Accepted` response, the request is being processed using our async pipeline. You will be given a URL to check the progress of your async request in the location header of the response. This status URI looks like the following:\n```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n```\n\nThe URL provided by the location header will return the following responses when a `GET` request is issued.\n\n > HTTP `202 Accepted` - Matrix request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Matrix request successfully processed. The response body contains all of the results.", - "operationId": "PostRouteMatrixSync", + "operationId": "Route_PostRouteMatrixSync", + "x-ms-client-name": "RequestRouteMatrixSync", "x-ms-examples": { - "PostRouteMatrixSync": { + "Successfully retrieve a route matrix request result synchronously": { "$ref": "./examples/PostRouteMatrixSync.json" } }, @@ -915,7 +1007,7 @@ "type": "boolean" }, { - "$ref": "#/parameters/ComputeTravelTimeFor" + "$ref": "#/parameters/ComputeTravelTime" }, { "$ref": "#/parameters/SectionType" @@ -948,7 +1040,7 @@ "$ref": "#/parameters/WindingnessLevel" }, { - "$ref": "#/parameters/HillinessDegree" + "$ref": "#/parameters/InclineLevel" }, { "$ref": "#/parameters/TravelMode" @@ -966,12 +1058,12 @@ "$ref": "#/parameters/VehicleLoadType" }, { - "name": "postRouteMatrixRequestBody", + "name": "routeMatrixQuery", "description": "The matrix of origin and destination coordinates to compute the route distance, travel time and other summary for each cell of the matrix based on the input parameters. The minimum and the maximum cell count supported are 1 and **700** for async and **100** for sync respectively. For example, it can be 35 origins and 20 destinations or 25 origins and 25 destinations for async API.", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/PostRouteMatrixRequestBody" + "$ref": "#/definitions/RouteMatrixQuery" } } ], @@ -979,7 +1071,7 @@ "200": { "description": "Matrix request successfully processed. The response body contains all of the results.", "schema": { - "$ref": "#/definitions/RouteMatrixResponse" + "$ref": "#/definitions/RouteMatrixResult" } }, "408": { @@ -994,9 +1086,9 @@ "/route/directions/{format}": { "get": { "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nReturns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.\n\nInformation returned includes the distance, estimated travel time, and a representation of the route geometry. Additional routing information such as optimized waypoint order or turn by turn instructions is also available, depending on the options selected.\n\nRouting service provides a set of parameters for a detailed description of vehicle-specific Consumption Model. Please check [Consumption Model](https://docs.microsoft.com/azure/azure-maps/consumption-model) for detailed explanation of the concepts and parameters involved.", - "operationId": "GetRouteDirections", + "operationId": "Route_GetRouteDirections", "x-ms-examples": { - "GetRouteDirections": { + "Successfully retrieve a route between an origin and a destination": { "$ref": "./examples/GetRouteDirections.json" } }, @@ -1011,11 +1103,7 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat" }, { - "name": "query", - "in": "query", - "description": "The Coordinates through which the route is calculated, delimited by a colon. A minimum of two coordinates is required. The first one is the origin and the last is the destination of the route. Optional coordinates in-between act as WayPoints in the route. You can pass up to 150 WayPoints.", - "required": true, - "type": "string" + "$ref": "#/parameters/Query" }, { "name": "maxAlternatives", @@ -1059,10 +1147,10 @@ "$ref": "#/parameters/ComputeBestOrder" }, { - "$ref": "#/parameters/RouteRepresentation" + "$ref": "#/parameters/RouteRepresentationForBestOrder" }, { - "$ref": "#/parameters/ComputeTravelTimeFor" + "$ref": "#/parameters/ComputeTravelTime" }, { "$ref": "#/parameters/VehicleHeading" @@ -1098,7 +1186,7 @@ "$ref": "#/parameters/WindingnessLevel" }, { - "$ref": "#/parameters/HillinessDegree" + "$ref": "#/parameters/InclineLevel" }, { "$ref": "#/parameters/TravelMode" @@ -1159,7 +1247,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RouteDirectionsResponse" + "$ref": "#/definitions/RouteDirections" } }, "default": { @@ -1169,9 +1257,10 @@ }, "post": { "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nReturns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.\n\nInformation returned includes the distance, estimated travel time, and a representation of the route geometry. Additional routing information such as optimized waypoint order or turn by turn instructions is also available, depending on the options selected.\n\nRouting service provides a set of parameters for a detailed description of a vehicle-specific Consumption Model. Please check [Consumption Model](https://docs.microsoft.com/azure/azure-maps/consumption-model) for detailed explanation of the concepts and parameters involved.", - "operationId": "PostRouteDirections", + "operationId": "Route_PostRouteDirections", + "x-ms-client-name": "GetRouteDirectionsWithAdditionalParameters", "x-ms-examples": { - "PostRouteDirections": { + "Successfully retrieve a route between an origin and a destination with additional parameters in the body": { "$ref": "./examples/PostRouteDirections.json" } }, @@ -1186,11 +1275,7 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat" }, { - "name": "query", - "in": "query", - "description": "The Coordinates through which the route is calculated. Needs two coordinates at least. Delimited by colon. First one is the origin and the last is the destination of the route. The coordinates are in a lat,long format. Optional coordinates in between act as WayPoints in the route.", - "required": true, - "type": "string" + "$ref": "#/parameters/Query" }, { "name": "maxAlternatives", @@ -1228,10 +1313,10 @@ "$ref": "#/parameters/ComputeBestOrder" }, { - "$ref": "#/parameters/RouteRepresentation" + "$ref": "#/parameters/RouteRepresentationForBestOrder" }, { - "$ref": "#/parameters/ComputeTravelTimeFor" + "$ref": "#/parameters/ComputeTravelTime" }, { "$ref": "#/parameters/VehicleHeading" @@ -1273,7 +1358,7 @@ "$ref": "#/parameters/WindingnessLevel" }, { - "$ref": "#/parameters/HillinessDegree" + "$ref": "#/parameters/InclineLevel" }, { "$ref": "#/parameters/TravelMode" @@ -1330,12 +1415,12 @@ "$ref": "#/parameters/AuxiliaryPowerInkW" }, { - "name": "postRouteDirectionsRequestBody", + "name": "routeDirectionParameters", "description": "Used for reconstructing a route and for calculating zero or more alternative routes to this reference route. The provided sequence of coordinates is used as input for route reconstruction. The alternative routes are calculated between the origin and destination points specified in the base path parameter locations. If both minDeviationDistance and minDeviationTime are set to zero, then these origin and destination points are expected to be at (or very near) the beginning and end of the reference route, respectively. Intermediate locations (waypoints) are not supported when using supportingPoints.\n\nSetting at least one of minDeviationDistance or minDeviationTime to a value greater than zero has the following consequences:\n\n* The origin point of the calculateRoute request must be on (or very near) the input reference route. If this is not the case, an error is returned. However, the origin point does not need to be at the beginning of the input reference route (it can be thought of as the current vehicle position on the reference route).\n* The reference route, returned as the first route in the calculateRoute response, will start at the origin point specified in the calculateRoute request. The initial part of the input reference route up until the origin point will be excluded from the response.\n* The values of minDeviationDistance and minDeviationTime determine how far alternative routes will be guaranteed to follow the reference route from the origin point onwards.\n* The route must use departAt.\n* The vehicleHeading is ignored.", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/PostRouteDirectionsRequestBody" + "$ref": "#/definitions/RouteDirectionParameters" } } ], @@ -1343,7 +1428,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RouteDirectionsResponse" + "$ref": "#/definitions/RouteDirections" } }, "default": { @@ -1355,9 +1440,9 @@ "/route/range/{format}": { "get": { "description": "__Route Range (Isochrone) API__\n\n\n**Applies to**: S1 pricing tier.\n\nThis service will calculate a set of locations that can be reached from the origin point based on fuel, energy, time or distance budget that is specified. A polygon boundary (or Isochrone) is returned in a counterclockwise orientation as well as the precise polygon center which was the result of the origin point.\n\nThe returned polygon can be used for further processing such as [Search Inside Geometry](https://docs.microsoft.com/rest/api/maps/search/postsearchinsidegeometry) to search for POIs within the provided Isochrone.", - "operationId": "GetRouteRange", + "operationId": "Route_GetRouteRange", "x-ms-examples": { - "GetRouteRange": { + "Successfully retrieve a set of locations that can be reached from the origin point based on various conditions": { "$ref": "./examples/GetRouteRange.json" } }, @@ -1376,35 +1461,43 @@ "in": "query", "description": "The Coordinate from which the range calculation should start.", "required": true, - "type": "string" + "type": "array", + "collectionFormat": "csv", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "number", + "format": "double" + } }, { "name": "fuelBudgetInLiters", "in": "query", "description": "Fuel budget in liters that determines maximal range which can be travelled using the specified Combustion Consumption Model.
When fuelBudgetInLiters is used, it is mandatory to specify a detailed Combustion Consumption Model.
Exactly one budget (fuelBudgetInLiters, energyBudgetInkWh, timeBudgetInSec, or distanceBudgetInMeters) must be used.", "type": "number", - "format": "float" + "format": "double" }, { "name": "energyBudgetInkWh", + "x-ms-client-name": "energyBudgetInKwH", "in": "query", "description": "Electric energy budget in kilowatt hours (kWh) that determines maximal range which can be travelled using the specified Electric Consumption Model.
When energyBudgetInkWh is used, it is mandatory to specify a detailed Electric Consumption Model.
Exactly one budget (fuelBudgetInLiters, energyBudgetInkWh, timeBudgetInSec, or distanceBudgetInMeters) must be used.", "type": "number", - "format": "float" + "format": "double" }, { "name": "timeBudgetInSec", "in": "query", "description": "Time budget in seconds that determines maximal range which can be travelled using driving time. The Consumption Model will only affect the range when routeType is eco.
Exactly one budget (fuelBudgetInLiters, energyBudgetInkWh, timeBudgetInSec, or distanceBudgetInMeters) must be used.", "type": "number", - "format": "float" + "format": "double" }, { "name": "distanceBudgetInMeters", "in": "query", "description": "Distance budget in meters that determines maximal range which can be travelled using driving distance. The Consumption Model will only affect the range when routeType is eco.
Exactly one budget (fuelBudgetInLiters, energyBudgetInkWh, timeBudgetInSec, or distanceBudgetInMeters) must be used.", "type": "number", - "format": "float" + "format": "double" }, { "$ref": "#/parameters/DepartAt" @@ -1422,7 +1515,7 @@ "$ref": "#/parameters/TravelMode" }, { - "$ref": "#/parameters/HillinessDegree" + "$ref": "#/parameters/InclineLevel" }, { "$ref": "#/parameters/WindingnessLevel" @@ -1495,7 +1588,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/GetRouteRangeResponse" + "$ref": "#/definitions/RouteRangeResult" } }, "default": { @@ -1506,14 +1599,15 @@ }, "/route/directions/batch/{format}": { "post": { - "description": "**Route Directions Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/en-us/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/route/directions/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex route requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **700** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Route Directions Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n``` GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0 ```\nNote:- Please remember to add AUTH information (subscription-key/azure_auth - See [Security](#security)) to the _status URI_ before running it.
\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _route directions_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 3 _route directions_ queries:\n\n\n```json\n{\n \"batchItems\": [\n { \"query\": \"?query=47.620659,-122.348934:47.610101,-122.342015&travelMode=bicycle&routeType=eco&traffic=false\" },\n { \"query\": \"?query=40.759856,-73.985108:40.771136,-73.973506&travelMode=pedestrian&routeType=shortest\" },\n { \"query\": \"?query=48.923159,-122.557362:32.621279,-116.840362\" }\n ]\n}\n```\n\nA _route directions_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _route directions_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/route/getroutedirections#uri-parameters). The string values in the _route directions_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **700** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n \n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`RouteDirectionsResponse`](https://docs.microsoft.com/en-us/rest/api/maps/route/getroutedirections#routedirectionsresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 1 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 1,\n \"totalRequests\": 2\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\": {\n \"routes\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"legs\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"points\": [\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.34892\n },\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.3485\n },\n {\n \"latitude\": 47.62095,\n \"longitude\": -122.3476\n }\n ]\n }\n ],\n \"sections\": [\n {\n \"startPointIndex\": 0,\n \"endPointIndex\": 40,\n \"sectionType\": \"TRAVEL_MODE\",\n \"travelMode\": \"bicycle\"\n }\n ]\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", - "operationId": "PostRouteDirectionsBatch", + "description": "**Route Directions Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex route requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **700** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Route Directions Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n``` GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0 ```\nNote:- Please remember to add AUTH information (subscription-key/azure_auth - See [Security](#security)) to the _status URI_ before running it.
\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _route directions_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 3 _route directions_ queries:\n\n\n```json\n{\n \"batchItems\": [\n { \"query\": \"?query=47.620659,-122.348934:47.610101,-122.342015&travelMode=bicycle&routeType=eco&traffic=false\" },\n { \"query\": \"?query=40.759856,-73.985108:40.771136,-73.973506&travelMode=pedestrian&routeType=shortest\" },\n { \"query\": \"?query=48.923159,-122.557362:32.621279,-116.840362\" }\n ]\n}\n```\n\nA _route directions_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _route directions_ [URI parameters](https://docs.microsoft.com/rest/api/maps/route/getroutedirections#uri-parameters). The string values in the _route directions_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **700** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n \n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`RouteDirections`](https://docs.microsoft.com/rest/api/maps/route/getroutedirections#routedirections) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 1 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 1,\n \"totalRequests\": 2\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\": {\n \"routes\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"legs\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"points\": [\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.34892\n },\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.3485\n },\n {\n \"latitude\": 47.62095,\n \"longitude\": -122.3476\n }\n ]\n }\n ],\n \"sections\": [\n {\n \"startPointIndex\": 0,\n \"endPointIndex\": 40,\n \"sectionType\": \"TRAVEL_MODE\",\n \"travelMode\": \"bicycle\"\n }\n ]\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "operationId": "Route_PostRouteDirectionsBatch", + "x-ms-client-name": "RequestRouteDirectionsBatch", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-examples": { - "PostRouteDirectionsBatch": { + "Successfully submit a route direction batch request": { "$ref": "./examples/PostRouteDirectionsBatch.json" } }, @@ -1528,12 +1622,12 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat" }, { - "name": "postRouteDirectionsBatchRequestBody", + "name": "routeDirectionsBatchQueries", "in": "body", - "description": "The list of route directions queries/requests to process. The list can contain a max of 700 queries for async and 100 queries for sync version and must contain at least 1 query.", + "description": "The list of route directions queries/requests to process. The list can contain a max of 700 queries for async and 100 queries for sync version and must contain at least 1 query.", "required": true, "schema": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequestBody" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequest" } } ], @@ -1541,7 +1635,7 @@ "200": { "description": "Batch request successfully processed. The response body contains all the batch results.", "schema": { - "$ref": "#/definitions/RouteDirectionsBatchResponse" + "$ref": "#/definitions/RouteDirectionsBatchResult" } }, "202": { @@ -1553,14 +1647,14 @@ } }, "get": { - "description": "### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n \n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`RouteDirectionsResponse`](https://docs.microsoft.com/en-us/rest/api/maps/route/getroutedirections#routedirectionsresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 1 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 1,\n \"totalRequests\": 2\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\": {\n \"routes\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"legs\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"points\": [\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.34892\n },\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.3485\n },\n {\n \"latitude\": 47.62095,\n \"longitude\": -122.3476\n }\n ]\n }\n ],\n \"sections\": [\n {\n \"startPointIndex\": 0,\n \"endPointIndex\": 40,\n \"sectionType\": \"TRAVEL_MODE\",\n \"travelMode\": \"bicycle\"\n }\n ]\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", - "operationId": "GetRouteDirectionsBatch", + "description": "### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n \n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`RouteDirections`](https://docs.microsoft.com/rest/api/maps/route/getroutedirections#routedirections) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 1 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 1,\n \"totalRequests\": 2\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\": {\n \"routes\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"legs\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"points\": [\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.34892\n },\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.3485\n },\n {\n \"latitude\": 47.62095,\n \"longitude\": -122.3476\n }\n ]\n }\n ],\n \"sections\": [\n {\n \"startPointIndex\": 0,\n \"endPointIndex\": 40,\n \"sectionType\": \"TRAVEL_MODE\",\n \"travelMode\": \"bicycle\"\n }\n ]\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "operationId": "Route_GetRouteDirectionsBatch", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "original-uri" }, "x-ms-examples": { - "GetRouteDirectionsBatch": { + "Successfully retrieve the status for the route direction batch request": { "$ref": "./examples/GetRouteDirectionsBatch.json" } }, @@ -1579,7 +1673,7 @@ "200": { "description": "Batch request successfully processed. The response body contains all the batch results.", "schema": { - "$ref": "#/definitions/RouteDirectionsBatchResponse" + "$ref": "#/definitions/RouteDirectionsBatchResult" } }, "202": { @@ -1593,10 +1687,11 @@ }, "/route/directions/batch/sync/{format}": { "post": { - "description": "**Route Directions Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/en-us/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/route/directions/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex route requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **700** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Route Directions Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n``` GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0 ```\nNote:- Please remember to add AUTH information (subscription-key/azure_auth - See [Security](#security)) to the _status URI_ before running it.
\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _route directions_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 3 _route directions_ queries:\n\n\n```json\n{\n \"batchItems\": [\n { \"query\": \"?query=47.620659,-122.348934:47.610101,-122.342015&travelMode=bicycle&routeType=eco&traffic=false\" },\n { \"query\": \"?query=40.759856,-73.985108:40.771136,-73.973506&travelMode=pedestrian&routeType=shortest\" },\n { \"query\": \"?query=48.923159,-122.557362:32.621279,-116.840362\" }\n ]\n}\n```\n\nA _route directions_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _route directions_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/route/getroutedirections#uri-parameters). The string values in the _route directions_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **700** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n \n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`RouteDirectionsResponse`](https://docs.microsoft.com/en-us/rest/api/maps/route/getroutedirections#routedirectionsresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 1 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 1,\n \"totalRequests\": 2\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\": {\n \"routes\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"legs\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"points\": [\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.34892\n },\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.3485\n },\n {\n \"latitude\": 47.62095,\n \"longitude\": -122.3476\n }\n ]\n }\n ],\n \"sections\": [\n {\n \"startPointIndex\": 0,\n \"endPointIndex\": 40,\n \"sectionType\": \"TRAVEL_MODE\",\n \"travelMode\": \"bicycle\"\n }\n ]\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", - "operationId": "PostRouteDirectionsBatchSync", + "description": "**Route Directions Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/route/directions/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`RouteDirections`](https://docs.microsoft.com/rest/api/maps/route/getroutedirections#routedirections) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 1 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 1,\n \"totalRequests\": 2\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\": {\n \"routes\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"legs\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"points\": [\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.34892\n },\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.3485\n },\n {\n \"latitude\": 47.62095,\n \"longitude\": -122.3476\n }\n ]\n }\n ],\n \"sections\": [\n {\n \"startPointIndex\": 0,\n \"endPointIndex\": 40,\n \"sectionType\": \"TRAVEL_MODE\",\n \"travelMode\": \"bicycle\"\n }\n ]\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "operationId": "Route_PostRouteDirectionsBatchSync", + "x-ms-client-name": "RequestRouteDirectionsBatchSync", "x-ms-examples": { - "PostRouteDirectionsBatchSync": { + "Successfully retrieve the route direction batch result synchronously": { "$ref": "./examples/PostRouteDirectionsBatchSync.json" } }, @@ -1611,12 +1706,12 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat" }, { - "name": "postRouteDirectionsBatchRequestBody", + "name": "routeDirectionsBatchQueries", "in": "body", "description": "The list of route directions queries/requests to process. The list can contain a max of 700 queries for async and 100 queries for sync version and must contain at least 1 query.", "required": true, "schema": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequestBody" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequest" } } ], @@ -1624,7 +1719,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RouteDirectionsBatchResponse" + "$ref": "#/definitions/RouteDirectionsBatchResult" } }, "408": { @@ -1638,12 +1733,12 @@ } }, "definitions": { - "PostRouteDirectionsRequestBody": { + "RouteDirectionParameters": { "type": "object", "description": "Post body parameters for Route directions.", "properties": { "supportingPoints": { - "description": "A GeoJSON Geometry collection representing sequence of coordinates used as input for route reconstruction and for calculating zero or more alternative routes to this reference route.\n - The provided sequence of supporting points is used as input for route reconstruction.\n - The alternative routes are calculated between the origin and destination points specified in the base path parameter locations.\n - If both _minDeviationDistance_ and _minDeviationTime_ are set to zero, then these origin and destination points are\n expected to be at (or very near) the beginning and end of the reference route, respectively.\n - Intermediate locations (_waypoints_) are not supported when using <_supportingPoints_>.\n - The reference route may contain traffic incidents of type _ROAD_CLOSURE_, which are\n ignored for the calculation of the reference route's travel time and traffic delay.", + "description": "A GeoJSON Geometry collection representing sequence of coordinates used as input for route reconstruction and for calculating zero or more alternative routes to this reference route.\n - The provided sequence of supporting points is used as input for route reconstruction.\n - The alternative routes are calculated between the origin and destination points specified in the base path parameter locations.\n - If both _minDeviationDistance_ and _minDeviationTime_ are set to zero, then these origin and destination points are\n expected to be at (or very near) the beginning and end of the reference route, respectively.\n - Intermediate locations (_waypoints_) are not supported when using <_supportingPoints_>.\n - The reference route may contain traffic incidents of type _ROAD_CLOSURE_, which are\n ignored for the calculation of the reference route's travel time and traffic delay.\n Please refer to [Supporting Points](https://docs.microsoft.com/azure/azure-maps/how-to-use-best-practices-for-routing#calculate-and-bias-alternative-routes-using-supporting-points) for details.", "$ref": "../../../Common/preview/1.0/common.json#/definitions/GeoJsonGeometryCollection" }, "avoidVignette": { @@ -1666,7 +1761,7 @@ } } }, - "RouteDirectionsResponse": { + "RouteDirections": { "description": "This object is returned from a successful Route Directions call", "type": "object", "properties": { @@ -1680,7 +1775,7 @@ "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/RouteDirectionsResult" + "$ref": "#/definitions/Route" } }, "optimizedWaypoints": { @@ -1692,22 +1787,22 @@ } }, "report": { - "$ref": "#/definitions/RouteResponseReport" + "$ref": "#/definitions/RouteReport" } } }, - "RouteDirectionsResult": { + "Route": { "type": "object", "properties": { "summary": { - "$ref": "#/definitions/RouteDirectionsSummary" + "$ref": "#/definitions/RouteSummary" }, "legs": { "description": "Legs array", "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/RouteResultLeg" + "$ref": "#/definitions/RouteLeg" } }, "sections": { @@ -1715,15 +1810,15 @@ "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/RouteResultSection" + "$ref": "#/definitions/RouteSection" } }, "guidance": { - "$ref": "#/definitions/RouteResultGuidance" + "$ref": "#/definitions/RouteGuidance" } } }, - "RouteDirectionsSummary": { + "RouteSummary": { "description": "Summary object", "type": "object", "readOnly": true, @@ -1744,14 +1839,10 @@ "readOnly": true }, "departureTime": { - "description": "Departure Time property", - "type": "string", - "readOnly": true + "$ref": "#/definitions/DepartureTime" }, "arrivalTime": { - "description": "Arrival Time property", - "type": "string", - "readOnly": true + "$ref": "#/definitions/ArrivalTime" } } }, @@ -1771,23 +1862,24 @@ } } }, - "RouteResultLeg": { + "RouteLeg": { + "description": "A description of a part of a route, comprised of a list of points. Each additional waypoint provided in the request will result in an additional leg in the returned route.", "type": "object", "properties": { "summary": { - "$ref": "#/definitions/RouteResultLegSummary" + "$ref": "#/definitions/RouteLegSummary" }, "points": { "description": "Points array", "type": "array", "readOnly": true, "items": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPair" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPair" } } } }, - "RouteResultLegSummary": { + "RouteLegSummary": { "description": "Summary object for route section.", "type": "object", "readOnly": true, @@ -1808,14 +1900,10 @@ "readOnly": true }, "departureTime": { - "description": "Departure Time property", - "type": "string", - "readOnly": true + "$ref": "#/definitions/DepartureTime" }, "arrivalTime": { - "description": "Arrival Time property", - "type": "string", - "readOnly": true + "$ref": "#/definitions/ArrivalTime" }, "noTrafficTravelTimeInSeconds": { "description": "Estimated travel time calculated as if there are no delays on the route due to traffic conditions (e.g. congestion). Included only if computeTravelTimeFor = all is used in the query.", @@ -1835,44 +1923,40 @@ "fuelConsumptionInLiters": { "description": "Estimated fuel consumption in liters using the Combustion Consumption Model. Included if vehicleEngineType is set to _combustion_ and constantSpeedConsumptionInLitersPerHundredkm is specified. The value will be non-negative.", "type": "number", - "format": "float", + "format": "double", "readOnly": true }, "batteryConsumptionInkWh": { + "x-ms-client-name": "batteryConsumptionInKwH", "description": "Estimated electric energy consumption in kilowatt hours (kWh) using the Electric Consumption Model. Included if vehicleEngineType is set to electric and constantSpeedConsumptionInkWhPerHundredkm is specified. The value of batteryConsumptionInkWh includes the recuperated electric energy and can therefore be negative (which indicates gaining energy). If both maxChargeInkWh and currentChargeInkWh are specified, recuperation will be capped to ensure that the battery charge level never exceeds maxChargeInkWh. If neither maxChargeInkWh nor currentChargeInkWh are specified, unconstrained recuperation is assumed in the consumption calculation.", "type": "number", - "format": "float", + "format": "double", "readOnly": true } } }, - "RouteResultSection": { + "RouteSection": { + "description": "Route sections contain additional information about parts of a route. Each section contains at least the elements `startPointIndex`, `endPointIndex`, and `sectionType`.", "type": "object", "properties": { "startPointIndex": { - "description": "Start Point Index property", + "description": "Index of the first point (offset 0) in the route this section applies to.", "type": "integer", "readOnly": true }, "endPointIndex": { - "description": "End Point Index property", + "description": "Index of the last point (offset 0) in the route this section applies to.", "type": "integer", "readOnly": true }, "sectionType": { - "description": "Section Type property", - "type": "string", - "readOnly": true + "$ref": "#/definitions/ResponseSectionType" }, "travelMode": { - "description": "Travel Mode property", - "type": "string", - "readOnly": true + "$ref": "#/definitions/ResponseTravelMode" }, "simpleCategory": { - "description": "Type of the incident. Can currently be JAM, ROAD_WORK, ROAD_CLOSURE, or OTHER. See \"tec\" for detailed information.", - "type": "string", - "readOnly": true + "$ref": "#/definitions/SimpleCategory" }, "effectiveSpeedInKmh": { "description": "Effective speed of the incident in km/h, averaged over its entire length.", @@ -1885,49 +1969,15 @@ "readOnly": true }, "magnitudeOfDelay": { - "description": "The magnitude of delay caused by the incident. These values correspond to the values of the response field ty of the [Get Traffic Incident Detail API](https://docs.microsoft.com/rest/api/maps/traffic/gettrafficincidentdetail). ", - "readOnly": true, - "type": "string", - "enum": [ - "0", - "1", - "2", - "3", - "4" - ], - "x-ms-enum": { - "name": "MagnitudeOfDelay", - "modelAsString": true, - "values": [ - { - "value": "0", - "description": "Unknown." - }, - { - "value": "1", - "description": "Minor." - }, - { - "value": "2", - "description": "Moderate." - }, - { - "value": "3", - "description": "Major." - }, - { - "value": "4", - "description": "Undefined, used for road closures and other indefinite delays." - } - ] - } + "x-ms-client-name": "delayMagnitude", + "$ref": "#/definitions/DelayMagnitude" }, "tec": { - "$ref": "#/definitions/RouteResultSectionTec" + "$ref": "#/definitions/RouteSectionTec" } } }, - "RouteResultSectionTec": { + "RouteSectionTec": { "description": "Details of the traffic event, using definitions in the [TPEG2-TEC](https://www.iso.org/standard/63116.html) standard. Can contain effectCode and causes elements.", "type": "object", "properties": { @@ -1940,12 +1990,12 @@ "description": "Causes array", "type": "array", "items": { - "$ref": "#/definitions/RouteResultSectionTecCause" + "$ref": "#/definitions/RouteSectionTecCause" } } } }, - "RouteResultSectionTecCause": { + "RouteSectionTecCause": { "description": "The cause of the traffic event. Can contain mainCauseCode and subCauseCode elements. Can be used to define iconography and descriptions.", "type": "object", "properties": { @@ -1961,7 +2011,7 @@ } } }, - "RouteResultInstruction": { + "RouteInstruction": { "description": "A set of attributes describing a maneuver, e.g. 'Turn right', 'Keep left', 'Take the ferry', 'Take the motorway', 'Arrive'.", "type": "object", "properties": { @@ -1976,7 +2026,7 @@ "readOnly": true }, "point": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPair" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPair" }, "pointIndex": { "description": "The index of the point in the list of polyline \"points\" corresponding to the point of the instruction.", @@ -2000,26 +2050,32 @@ "values": [ { "value": "TURN", + "name": "Turn", "description": "Turn." }, { "value": "ROAD_CHANGE", + "name": "RoadChange", "description": "Road Change." }, { "value": "LOCATION_DEPARTURE", + "name": "LocationDeparture", "description": "Departure location." }, { "value": "LOCATION_ARRIVAL", + "name": "LocationArrival", "description": "Arrival location." }, { "value": "DIRECTION_INFO", + "name": "DirectionInfo", "description": "Direction information." }, { "value": "LOCATION_WAYPOINT", + "name": "LocationWaypoint", "description": "Way point location." } ] @@ -2088,6 +2144,7 @@ } }, "turnAngleInDecimalDegrees": { + "x-ms-client-name": "turnAngleInDegrees", "description": "Indicates the direction of an instruction. If junctionType indicates a turn instruction:\n\n * 180 = U-turn\n * [-179, -1] = Left turn\n * 0 = Straight on (a '0 degree' turn)\n * [1, 179] = Right turn\n\nIf junctionType indicates a bifurcation instruction:\n\n * <0 - keep left\n * \\>0 - keep right", "type": "integer", "readOnly": true @@ -2170,134 +2227,167 @@ "values": [ { "value": "ARRIVE", + "name": "Arrive", "description": "You have arrived." }, { "value": "ARRIVE_LEFT", + "name": "ArriveLeft", "description": "You have arrived. Your destination is on the left." }, { "value": "ARRIVE_RIGHT", + "name": "ArriveRight", "description": "You have arrived. Your destination is on the right." }, { "value": "DEPART", + "name": "Depart", "description": "Leave." }, { "value": "STRAIGHT", + "name": "Straight", "description": "Keep straight on." }, { "value": "KEEP_RIGHT", + "name": "KeepRight", "description": "Keep right." }, { "value": "BEAR_RIGHT", + "name": "BearRight", "description": "Bear right." }, { "value": "TURN_RIGHT", + "name": "TurnRight", "description": "Turn right." }, { "value": "SHARP_RIGHT", + "name": "SharpRight", "description": "Turn sharp right." }, { "value": "KEEP_LEFT", + "name": "KeepLeft", "description": "Keep left." }, { "value": "BEAR_LEFT", + "name": "BearLeft", "description": "Bear left." }, { "value": "TURN_LEFT", + "name": "TurnLeft", "description": "Turn left." }, { "value": "SHARP_LEFT", + "name": "SharpLeft", "description": "Turn sharp left." }, { "value": "MAKE_UTURN", + "name": "MakeUTurn", "description": "Make a U-turn." }, { "value": "ENTER_MOTORWAY", + "name": "EnterMotorway", "description": "Take the motorway." }, { "value": "ENTER_FREEWAY", + "name": "EnterFreeway", "description": "Take the freeway." }, { "value": "ENTER_HIGHWAY", + "name": "EnterHighway", "description": "Take the highway." }, { "value": "TAKE_EXIT", + "name": "TakeExit", "description": "Take the exit." }, { "value": "MOTORWAY_EXIT_LEFT", + "name": "MotorwayExitLeft", "description": "Take the left exit." }, { "value": "MOTORWAY_EXIT_RIGHT", + "name": "MotorwayExitRight", "description": "Take the right exit." }, { "value": "TAKE_FERRY", + "name": "TakeFerry", "description": "Take the ferry." }, { "value": "ROUNDABOUT_CROSS", + "name": "RoundaboutCross", "description": "Cross the roundabout." }, { "value": "ROUNDABOUT_RIGHT", + "name": "RoundaboutRight", "description": "At the roundabout take the exit on the right." }, { "value": "ROUNDABOUT_LEFT", + "name": "RoundaboutLeft", "description": "At the roundabout take the exit on the left." }, { "value": "ROUNDABOUT_BACK", + "name": "RoundaboutBack", "description": "Go around the roundabout." }, { "value": "TRY_MAKE_UTURN", + "name": "TryMakeUTurn", "description": "Try to make a U-turn." }, { "value": "FOLLOW", + "name": "Follow", "description": "Follow." }, { "value": "SWITCH_PARALLEL_ROAD", + "name": "SwitchParallelRoad", "description": "Switch to the parallel road." }, { "value": "SWITCH_MAIN_ROAD", + "name": "SwitchMainRoad", "description": "Switch to the main road." }, { "value": "ENTRANCE_RAMP", + "name": "EntranceRamp", "description": "Take the ramp." }, { "value": "WAYPOINT_LEFT", + "name": "WaypointLeft", "description": "You have reached the waypoint. It is on the left." }, { "value": "WAYPOINT_RIGHT", + "name": "WaypointRight", "description": "You have reached the waypoint. It is on the right." }, { "value": "WAYPOINT_REACHED", + "name": "WaypointReached", "description": "You have reached the waypoint." } ] @@ -2315,17 +2405,17 @@ } } }, - "RouteResultInstructionGroup": { + "RouteInstructionGroup": { "description": "Groups a sequence of instruction elements which are related to each other. The sequence range is constrained with firstInstructionIndex and lastInstructionIndex. When human-readable text messages are requested for guidance (instructionType=text or tagged), then the instructionGroup has a summary message returned when available.", "type": "object", "properties": { "firstInstructionIndex": { - "description": "Index of the first instruction.", + "description": "Index of the first instruction in the instructions and belonging to this group.", "type": "integer", "readOnly": true }, "lastInstructionIndex": { - "description": "Index of the last instruction.", + "description": "Index of the last instruction in the instructions and belonging to this group.", "type": "integer", "readOnly": true }, @@ -2341,7 +2431,7 @@ } } }, - "RouteResultGuidance": { + "RouteGuidance": { "description": "Contains guidance related elements. This field is present only when guidance was requested and is available.", "type": "object", "readOnly": true, @@ -2351,7 +2441,7 @@ "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/RouteResultInstruction" + "$ref": "#/definitions/RouteInstruction" } }, "instructionGroups": { @@ -2359,12 +2449,12 @@ "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/RouteResultInstructionGroup" + "$ref": "#/definitions/RouteInstructionGroup" } } } }, - "GetRouteRangeResponse": { + "RouteRangeResult": { "description": "This object is returned from a successful Route Reachable Range call", "type": "object", "properties": { @@ -2377,7 +2467,7 @@ "$ref": "#/definitions/RouteRange" }, "report": { - "$ref": "#/definitions/RouteResponseReport" + "$ref": "#/definitions/RouteReport" } } }, @@ -2387,19 +2477,19 @@ "properties": { "center": { "description": "Center point of the reachable range", - "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPair" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPair" }, "boundary": { "description": "Polygon boundary of the reachable range represented as a list of points.", "type": "array", "readOnly": true, "items": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPair" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPair" } } } }, - "RouteResponseReport": { + "RouteReport": { "description": "Reports the effective settings used in the current call.", "type": "object", "properties": { @@ -2408,12 +2498,12 @@ "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/RouteResponseReportEffectiveSetting" + "$ref": "#/definitions/EffectiveSetting" } } } }, - "RouteResponseReportEffectiveSetting": { + "EffectiveSetting": { "description": "Effective parameter or data used when calling this Route API.", "type": "object", "properties": { @@ -2429,7 +2519,7 @@ } } }, - "RouteMatrixResponse": { + "RouteMatrixResult": { "description": "This object is returned from a successful Route Matrix call. For ex, if 2 origins and 3 destinations are provided, there are going to 2 arrays with 3 elements in each. Each element's content depends on the options provided in the query.", "type": "object", "properties": { @@ -2446,7 +2536,7 @@ "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/RouteMatrixResult" + "$ref": "#/definitions/RouteMatrix" } } }, @@ -2472,7 +2562,7 @@ } } }, - "RouteMatrixResult": { + "RouteMatrix": { "description": "Matrix result object", "type": "object", "readOnly": true, @@ -2493,11 +2583,12 @@ "readOnly": true, "properties": { "routeSummary": { - "$ref": "#/definitions/RouteResultLegSummary" + "x-ms-client-name": "summary", + "$ref": "#/definitions/RouteLegSummary" } } }, - "PostRouteMatrixRequestBody": { + "RouteMatrixQuery": { "description": "An object with a matrix of coordinates.", "type": "object", "properties": { @@ -2509,12 +2600,12 @@ } } }, - "RouteDirectionsBatchResponse": { + "RouteDirectionsBatchResult": { "description": "This object is returned from a successful Route Directions Batch service call.", "type": "object", "allOf": [ { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResponse" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResult" } ], "properties": { @@ -2533,17 +2624,17 @@ "type": "object", "allOf": [ { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchItem" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResultItem" } ], "properties": { "response": { - "description": "The result of the query. RouteDirectionsResponse if the query completed successfully, ErrorResponse otherwise.", + "description": "The result of the query. RouteDirections if the query completed successfully, ErrorResponse otherwise.", "type": "object", "readOnly": true, "allOf": [ { - "$ref": "#/definitions/RouteDirectionsResponse" + "$ref": "#/definitions/RouteDirections" }, { "$ref": "../../../../../common-types/data-plane/v1/types.json#/definitions/ErrorResponse" @@ -2551,6 +2642,241 @@ ] } } + }, + "DepartureTime": { + "description": "The estimated departure time for the route or leg.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "ArrivalTime": { + "description": "The estimated arrival time for the route or leg.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "ResponseSectionType": { + "description": "Section types of the reported route response", + "type": "string", + "readOnly": true, + "enum": [ + "CAR_TRAIN", + "COUNTRY", + "FERRY", + "MOTORWAY", + "PEDESTRIAN", + "TOLL_ROAD", + "TOLL_VIGNETTE", + "TRAFFIC", + "TRAVEL_MODE", + "TUNNEL", + "CARPOOL", + "URBAN" + ], + "x-ms-enum": { + "name": "ResponseSectionType", + "modelAsString": true, + "values": [ + { + "value": "CAR_TRAIN", + "name": "CarOrTrain", + "description": "Sections of the route that are cars or trains." + }, + { + "value": "COUNTRY", + "name": "Country", + "description": "Sections indicating which countries the route is in." + }, + { + "value": "FERRY", + "name": "Ferry", + "description": "Sections of the route that are ferries." + }, + { + "value": "MOTORWAY", + "name": "Motorway", + "description": "Sections of the route that are motorways." + }, + { + "value": "PEDESTRIAN", + "name": "Pedestrian", + "description": "Sections of the route that are only suited for pedestrians." + }, + { + "value": "TOLL_ROAD", + "name": "TollRoad", + "description": "Sections of the route that require a toll to be payed." + }, + { + "value": "TOLL_VIGNETTE", + "name": "TollVignette", + "description": "Sections of the route that require a toll vignette to be present." + }, + { + "value": "TRAFFIC", + "name": "Traffic", + "description": "Sections of the route that contain traffic information." + }, + { + "value": "TRAVEL_MODE", + "name": "TravelMode", + "description": "Sections in relation to the request parameter `travelMode`." + }, + { + "value": "TUNNEL", + "name": "Tunnel", + "description": "Sections of the route that are tunnels." + }, + { + "value": "CARPOOL", + "name": "Carpool", + "description": "Sections of the route that require use of carpool (HOV/High Occupancy Vehicle) lanes." + }, + { + "value": "URBAN", + "name": "Urban", + "description": "Sections of the route that are located within urban areas." + } + ] + } + }, + "ResponseTravelMode": { + "description": "Travel mode for the calculated route. The value will be set to `other` if the requested mode of transport is not possible in this section", + "type": "string", + "readOnly": true, + "enum": [ + "car", + "truck", + "taxi", + "bus", + "van", + "motorcycle", + "bicycle", + "pedestrian", + "other" + ], + "x-ms-enum": { + "name": "ResponseTravelMode", + "modelAsString": true, + "values": [ + { + "value": "car", + "description": "The returned routes are optimized for cars." + }, + { + "value": "truck", + "description": "The returned routes are optimized for commercial vehicles, like for trucks." + }, + { + "value": "taxi", + "description": "The returned routes are optimized for taxis. BETA functionality." + }, + { + "value": "bus", + "description": "The returned routes are optimized for buses, including the use of bus only lanes. BETA functionality." + }, + { + "value": "van", + "description": "The returned routes are optimized for vans. BETA functionality." + }, + { + "value": "motorcycle", + "description": "The returned routes are optimized for motorcycles. BETA functionality." + }, + { + "value": "bicycle", + "description": "The returned routes are optimized for bicycles, including use of bicycle lanes." + }, + { + "value": "pedestrian", + "description": "The returned routes are optimized for pedestrians, including the use of sidewalks." + }, + { + "value": "other", + "description": "The given mode of transport is not possible in this section" + } + ] + } + }, + "SimpleCategory": { + "description": "Type of the incident. Can currently be JAM, ROAD_WORK, ROAD_CLOSURE, or OTHER. See \"tec\" for detailed information.", + "type": "string", + "readOnly": true, + "enum": [ + "JAM", + "ROAD_WORK", + "ROAD_CLOSURE", + "OTHER" + ], + "x-ms-enum": { + "name": "SimpleCategory", + "modelAsString": true, + "values": [ + { + "value": "JAM", + "name": "Jam", + "description": "Traffic jam." + }, + { + "value": "ROAD_WORK", + "name": "RoadWork", + "description": "Road work." + }, + { + "value": "ROAD_CLOSURE", + "name": "RoadClosure", + "description": "Road closure." + }, + { + "value": "OTHER", + "name": "Other", + "description": "Other." + } + ] + } + }, + "DelayMagnitude": { + "description": "The magnitude of delay caused by the incident. These values correspond to the values of the response field ty of the [Get Traffic Incident Detail API](https://docs.microsoft.com/rest/api/maps/traffic/gettrafficincidentdetail). ", + "readOnly": true, + "type": "string", + "enum": [ + "0", + "1", + "2", + "3", + "4" + ], + "x-ms-enum": { + "name": "DelayMagnitude", + "modelAsString": true, + "values": [ + { + "value": "0", + "name": "Unknown", + "description": "Unknown." + }, + { + "value": "1", + "name": "Minor", + "description": "Minor." + }, + { + "value": "2", + "name": "Moderate", + "description": "Moderate." + }, + { + "value": "3", + "name": "Major", + "description": "Major." + }, + { + "value": "4", + "name": "Undefined", + "description": "Undefined, used for road closures and other indefinite delays." + } + ] + } } } } diff --git a/specification/maps/data-plane/Route/readme.python.md b/specification/maps/data-plane/Route/readme.python.md index e49ab788707b..377a659afd1e 100644 --- a/specification/maps/data-plane/Route/readme.python.md +++ b/specification/maps/data-plane/Route/readme.python.md @@ -14,9 +14,9 @@ clear-output-folder: true ``` ``` yaml $(python) && $(python-mode) == 'update' no-namespace-folders: true -output-folder: $(python-sdks-folder)/maps/azure-maps-route/azure/maps/route +output-folder: $(python-sdks-folder)/maps/azure-maps-route/azure/maps/route/_generated ``` ``` yaml $(python) && $(python-mode) == 'create' basic-setup-py: true -output-folder: $(python-sdks-folder)/maps/azure-maps-route +output-folder: $(python-sdks-folder)/maps/azure-maps-route/ ``` diff --git a/specification/maps/data-plane/Route/readme.typescript.md b/specification/maps/data-plane/Route/readme.typescript.md index 3239505647af..416e5df64989 100644 --- a/specification/maps/data-plane/Route/readme.typescript.md +++ b/specification/maps/data-plane/Route/readme.typescript.md @@ -13,15 +13,11 @@ clear-output-folder: false generate-metadata: false directive: - from: route.json - where: $.definitions.PostRouteDirectionsRequestBody.properties.supportingPoints + where: $.definitions.RouteDirectionParameters.properties.supportingPoints transform: > $ = { "description": "A GeoJSON Geometry collection representing sequence of coordinates used as input for route reconstruction and for calculating zero or more alternative routes to this reference route.\n - The provided sequence of supporting points is used as input for route reconstruction.\n - The alternative routes are calculated between the origin and destination points specified in the base path parameter locations.\n - If both _minDeviationDistance_ and _minDeviationTime_ are set to zero, then these origin and destination points are\n expected to be at (or very near) the beginning and end of the reference route, respectively.\n - Intermediate locations (_waypoints_) are not supported when using <_supportingPoints_>.\n - The reference route may contain traffic incidents of type _ROAD_CLOSURE_, which are\n ignored for the calculation of the reference route's travel time and traffic delay.", "type": "object" }; reason: Autorest TS codegen does not deserialize array of base class objects as an operation parameter properly -> https://github.com/Azure/autorest.typescript/issues/1040 - - remove-operation: Route_GetRouteMatrix - reason: This operation is created for Java SDK that has no LRO poller implementation - - remove-operation: Route_GetRouteDirectionsBatch - reason: This operation is created for Java SDK that has no LRO poller implementation ``` diff --git a/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverse.json b/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverse.json index 8494a75faa80..8082282fffe8 100644 --- a/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverse.json +++ b/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverse.json @@ -14,10 +14,8 @@ "addresses": [ { "address": { - "buildingNumber": "31", "streetNumber": "31", "routeNumbers": [], - "street": "N 2nd St", "streetName": "N 2nd St", "streetNameAndNumber": "31 N 2nd St", "countryCode": "US", diff --git a/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseBatch.json b/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseBatch.json index c2c616b0b08f..3f75e6ecd4a9 100644 --- a/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseBatch.json +++ b/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseBatch.json @@ -22,10 +22,8 @@ "addresses": [ { "address": { - "buildingNumber": "7", "streetNumber": "7", "routeNumbers": [], - "street": "Avenue Anatole France", "streetName": "Avenue Anatole France", "streetNameAndNumber": "7 Avenue Anatole France", "countryCode": "FR", @@ -90,10 +88,8 @@ "addresses": [ { "address": { - "buildingNumber": "410", "streetNumber": "410", "routeNumbers": [], - "street": "Thomas Street", "streetName": "Thomas Street", "streetNameAndNumber": "410 Thomas Street", "countryCode": "US", diff --git a/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseCrossStreet.json b/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseCrossStreet.json index 320943fae70f..52d4730c8085 100644 --- a/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseCrossStreet.json +++ b/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseCrossStreet.json @@ -26,8 +26,7 @@ "country": "United States", "countryCodeISO3": "USA", "freeformAddress": "East Santa Clara Street & North 2nd Street, San Jose, CA 95113", - "countrySubdivisionName": "California", - "street": "North 2nd Street" + "countrySubdivisionName": "California" }, "position": "37.33666,-121.88951" } diff --git a/specification/maps/data-plane/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json b/specification/maps/data-plane/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json index dc4a934ab7b0..93227926b63b 100644 --- a/specification/maps/data-plane/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json +++ b/specification/maps/data-plane/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json @@ -35,10 +35,8 @@ "addresses": [ { "address": { - "buildingNumber": "7", "streetNumber": "7", "routeNumbers": [], - "street": "Avenue Anatole France", "streetName": "Avenue Anatole France", "streetNameAndNumber": "7 Avenue Anatole France", "countryCode": "FR", @@ -103,10 +101,8 @@ "addresses": [ { "address": { - "buildingNumber": "410", "streetNumber": "410", "routeNumbers": [], - "street": "Thomas Street", "streetName": "Thomas Street", "streetNameAndNumber": "410 Thomas Street", "countryCode": "US", diff --git a/specification/maps/data-plane/Search/preview/1.0/examples/PostSearchAddressReverseBatchSync.json b/specification/maps/data-plane/Search/preview/1.0/examples/PostSearchAddressReverseBatchSync.json index 3efb30e013fc..07069a170bc0 100644 --- a/specification/maps/data-plane/Search/preview/1.0/examples/PostSearchAddressReverseBatchSync.json +++ b/specification/maps/data-plane/Search/preview/1.0/examples/PostSearchAddressReverseBatchSync.json @@ -35,10 +35,8 @@ "addresses": [ { "address": { - "buildingNumber": "7", "streetNumber": "7", "routeNumbers": [], - "street": "Avenue Anatole France", "streetName": "Avenue Anatole France", "streetNameAndNumber": "7 Avenue Anatole France", "countryCode": "FR", @@ -103,10 +101,8 @@ "addresses": [ { "address": { - "buildingNumber": "410", "streetNumber": "410", "routeNumbers": [], - "street": "Thomas Street", "streetName": "Thomas Street", "streetNameAndNumber": "410 Thomas Street", "countryCode": "US", diff --git a/specification/maps/data-plane/Search/preview/1.0/search.json b/specification/maps/data-plane/Search/preview/1.0/search.json index b14b25e8937d..4908a011ed0d 100644 --- a/specification/maps/data-plane/Search/preview/1.0/search.json +++ b/specification/maps/data-plane/Search/preview/1.0/search.json @@ -18,15 +18,21 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "AzureKey": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", + "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", "in": "header" } }, @@ -37,7 +43,10 @@ ] }, { - "AzureKey": [] + "SharedKey": [] + }, + { + "SasToken": [] } ], "responses": {}, @@ -53,6 +62,7 @@ }, "BatchId": { "name": "format", + "x-ms-client-name": "batchId", "description": "Batch id for querying the operation.", "type": "string", "in": "path", @@ -62,6 +72,7 @@ "LimitSearch": { "name": "limit", "in": "query", + "x-ms-client-name": "top", "description": "Maximum number of responses that will be returned. Default: 10, minimum: 1 and maximum: 100", "type": "integer", "minimum": 1, @@ -71,6 +82,7 @@ "Offset": { "name": "ofs", "in": "query", + "x-ms-client-name": "skip", "description": "Starting offset of the returned results within the full result set. Default: 0, minimum: 0 and maximum: 1900", "type": "integer", "minimum": 0, @@ -82,6 +94,7 @@ "in": "query", "description": "Latitude where results should be biased. E.g. 37.337", "type": "number", + "format": "double", "x-ms-parameter-location": "method" }, "OptionalBiasLon": { @@ -89,6 +102,7 @@ "in": "query", "description": "Longitude where results should be biased. E.g. -121.89", "type": "number", + "format": "double", "x-ms-parameter-location": "method" }, "BoundingBoxTopLeft": { @@ -113,6 +127,7 @@ "description": "Latitude where results should be biased. E.g. 37.337.", "required": true, "type": "number", + "format": "double", "x-ms-parameter-location": "method" }, "RequiredBiasLon": { @@ -121,13 +136,7 @@ "description": "Longitude where results should be biased. E.g. -121.89.", "required": true, "type": "number", - "x-ms-parameter-location": "method" - }, - "Language": { - "name": "language", - "in": "query", - "description": "Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.\n\nPlease refer to [Supported Languages](https://docs.microsoft.com/en-us/azure/azure-maps/supported-languages) for details.", - "type": "string", + "format": "double", "x-ms-parameter-location": "method" }, "Query": { @@ -143,18 +152,19 @@ "in": "query", "description": "The applicable query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".", "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "View": { - "name": "view", - "in": "query", - "description": "The View parameter specifies which set of geopolitically disputed content is returned via Azure Maps services, including borders and labels displayed on the map. The View parameter (also referred to as “user region parameter”) will show the correct maps for that country/region. By default, the View parameter is set to “Unified” even if you haven’t defined it in the request. It is your responsibility to determine the location of your users, and then set the View parameter correctly for that location. Alternatively, you have the option to set ‘View=Auto’, which will return the map data based on the IP address of the request. The View parameter in Azure Maps must be used in compliance with applicable laws, including those regarding mapping, of the country where maps, images and other data and third party content that you are authorized to access via Azure Maps is made available. Example: view=IN.\n\nPlease refer to [Supported Views](https://aka.ms/AzureMapsLocalizationViews) for details and to see the available Views.", - "type": "string", - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "type": "array", + "collectionFormat": "csv", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "number", + "format": "double" + } }, "SearchIndexSet": { "name": "idxSet", + "x-ms-client-name": "indexFilter", "in": "query", "description": "A comma separated list of indexes which should be utilized for the search. Item order does not matter. Available indexes are: Addr = Address range interpolation, Geo = Geographies, PAD = Point Addresses, POI = Points of interest, Str = Streets, Xstr = Cross Streets (intersections)", "type": "array", @@ -169,32 +179,38 @@ "Xstr" ], "x-ms-enum": { - "name": "SearchIndexSet", + "name": "SearchIndexes", "modelAsString": true, "values": [ { "value": "Addr", - "description": "Address range interpolation" + "description": "Address range interpolation", + "name": "Address" }, { "value": "Geo", - "description": "Geographies" + "description": "Geographies", + "name": "Geographies" }, { "value": "PAD", - "description": "Point Addresses" + "description": "Point Addresses", + "name": "PointAddresses" }, { "value": "POI", - "description": "Points of interest" + "description": "Points of interest", + "name": "PointsOfInterest" }, { "value": "Str", - "description": "Streets" + "description": "Streets", + "name": "Streets" }, { "value": "Xstr", - "description": "Cross Streets (Intersections)" + "description": "Cross Streets (Intersections)", + "name": "CrossStreets" } ] } @@ -202,22 +218,74 @@ "collectionFormat": "csv", "x-ms-parameter-location": "method" }, + "EntityType": { + "name": "entityType", + "in": "query", + "description": "Specifies the level of filtering performed on geographies. Narrows the search for specified geography entity types, e.g. return only municipality. The resulting response will contain the geography ID as well as the entity type matched. If you provide more than one entity as a comma separated list, endpoint will return the 'smallest entity available'. Returned Geometry ID can be used to get the geometry of that geography via [Get Search Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon) API. The following parameters are ignored when entityType is set:\n\n* heading\n* number\n* returnRoadUse\n* returnSpeedLimit\n* roadUse\n* returnMatchType", + "type": "string", + "enum": [ + "Country", + "CountrySubdivision", + "CountrySecondarySubdivision", + "CountryTertiarySubdivision", + "Municipality", + "MunicipalitySubdivision", + "Neighbourhood", + "PostalCodeArea" + ], + "x-ms-enum": { + "name": "GeographicEntityType", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, "ExtendedPostalCodesFor": { "name": "extendedPostalCodesFor", "in": "query", "description": "Indexes for which extended postal codes should be included in the results.\n\nAvailable indexes are: \n\n **Addr** = Address ranges \n\n **Geo** = Geographies \n\n **PAD** = Point Addresses \n\n **POI** = Points of Interest \n\n **Str** = Streets \n\n **XStr** = Cross Streets (intersections)\n\nValue should be a comma separated list of index types (in any order) or **None** for no indexes.\n\nBy default extended postal codes are included for all indexes except Geo. Extended postal code lists for geographies can be quite long so they have to be explicitly requested when needed.\n\nUsage examples:\n\n extendedPostalCodesFor=POI \n\n extendedPostalCodesFor=PAD,Addr,POI \n\n extendedPostalCodesFor=None\n\nExtended postal code is returned as an **extendedPostalCode** property of an address. Availability is region-dependent.", - "type": "string", + "type": "array", + "items": { + "type": "string", + "enum": [ + "Addr", + "Geo", + "PAD", + "POI", + "Str", + "Xstr" + ], + "x-ms-enum": { + "name": "SearchIndexes", + "modelAsString": true + } + }, + "collectionFormat": "csv", "x-ms-parameter-location": "method" }, "ExtendedPostalCodesForPoi": { "name": "extendedPostalCodesFor", "in": "query", "description": "Indexes for which extended postal codes should be included in the results.\n\nAvailable indexes are: \n\n **POI** = Points of Interest \n\nValue should be **POI** or **None** to disable extended postal codes.\n\nBy default extended postal codes are included.\n\nUsage examples:\n\n extendedPostalCodesFor=POI \n\n extendedPostalCodesFor=None\n\nExtended postal code is returned as an **extendedPostalCode** property of an address. Availability is region-dependent.", - "type": "string", + "type": "array", + "minItems": 0, + "maxItems": 1, + "required": false, + "items": { + "type": "string", + "enum": [ + "POI", + "None" + ], + "x-ms-enum": { + "name": "PointOfInterestExtendedPostalCodes", + "modelAsString": true + } + }, "x-ms-parameter-location": "method" }, "Typeahead": { "name": "typeahead", + "x-ms-client-name": "isTypeAhead", "in": "query", "description": "Boolean. If the typeahead flag is set, the query will be interpreted as a partial input and the search will enter predictive mode", "type": "boolean", @@ -226,6 +294,7 @@ "CategorySet": { "name": "categorySet", "in": "query", + "x-ms-client-name": "categoryFilter", "description": "A comma-separated list of category set IDs which could be used to restrict the result to specific Points of Interest categories. ID order does not matter. When multiple category identifiers are provided, only POIs that belong to (at least) one of the categories from the provided list will be returned. The list of supported categories can be discovered using  [POI Categories API](https://aka.ms/AzureMapsPOICategoryTree). Usage examples: \n\n* **categorySet=7315** (Search Points of Interest from category Restaurant)\n\n* **categorySet=7315025,7315017** (Search Points of Interest of category either Italian or French Restaurant) ", "type": "array", "items": { @@ -236,6 +305,7 @@ }, "CountrySet": { "name": "countrySet", + "x-ms-client-name": "countryFilter", "in": "query", "description": "Comma separated string of country codes, e.g. FR,ES. This will limit the search to the specified countries", "type": "array", @@ -247,9 +317,10 @@ }, "Radius": { "name": "radius", + "x-ms-client-name": "radiusInMeters", "in": "query", "description": "The radius in meters to for the results to be constrained to the defined area", - "type": "number", + "type": "integer", "x-ms-parameter-location": "method" }, "PoiQuery": { @@ -263,6 +334,7 @@ "BrandSet": { "name": "brandSet", "in": "query", + "x-ms-client-name": "brandFilter", "description": "A comma-separated list of brand names which could be used to restrict the result to specific brands. Item order does not matter. When multiple brands are provided, only results that belong to (at least) one of the provided list will be returned. Brands that contain a \",\" in their name should be put into quotes.\n\nUsage examples:\n\n brandSet=Foo\n\n brandSet=Foo,Bar\n\n brandSet=\"A,B,C Comma\",Bar", "type": "array", "items": { @@ -274,6 +346,7 @@ "ConnectorSet": { "name": "connectorSet", "in": "query", + "x-ms-client-name": "electricVehicleConnectorFilter", "description": "A comma-separated list of connector types which could be used to restrict the result to Electric Vehicle Station supporting specific connector types. Item order does not matter. When multiple connector types are provided, only results that belong to (at least) one of the provided list will be returned.\n\nAvailable connector types are:\n * `StandardHouseholdCountrySpecific` - These are the standard household connectors for a certain region. They are all AC single phase and the standard Voltage and standard Amperage. See also: [Plug & socket types - World Standards](https://www.worldstandards.eu/electricity/plugs-and-sockets).\n * `IEC62196Type1` - Type 1 connector as defined in the IEC 62196-2 standard. Also called Yazaki after the original manufacturer or SAE J1772 after the standard that first published it. Mostly used in combination with 120V single phase or up to 240V single phase infrastructure.\n * `IEC62196Type1CCS` - Type 1 based combo connector as defined in the IEC 62196-3 standard. The connector is based on the Type 1 connector – as defined in the IEC 62196-2 standard – with two additional direct current (DC) contacts to allow DC fast charging.\n * `IEC62196Type2CableAttached` - Type 2 connector as defined in the IEC 62196-2 standard. Provided as a cable and plug attached to the charging point.\n * `IEC62196Type2Outlet` - Type 2 connector as defined in the IEC 62196-2 standard. Provided as a socket set into the charging point.\n * `IEC62196Type2CCS` - Type 2 based combo connector as defined in the IEC 62196-3 standard. The connector is based on the Type 2 connector – as defined in the IEC 62196-2 standard – with two additional direct current (DC) contacts to allow DC fast charging.\n * `IEC62196Type3` - Type 3 connector as defined in the IEC 62196-2 standard. Also called Scame after the original manufacturer. Mostly used in combination with up to 240V single phase or up to 420V three phase infrastructure.\n * `Chademo` - CHAdeMO connector named after an association formed by the Tokyo Electric Power Company and industrial partners. Because of this is is also known as the TEPCO's connector. It supports fast DC charging.\n * `IEC60309AC1PhaseBlue` - Industrial Blue connector is a connector defined in the IEC 60309 standard. It is sometime referred to as by some combination of the standard, the color and the fact that is a single phase connector. The connector usually has the \"P+N+E, 6h\" configuration.\n * `IEC60309DCWhite` - Industrial White connector is a DC connector defined in the IEC 60309 standard.\n * `Tesla` - The Tesla connector is the regionally specific Tesla Supercharger connector. I.e. it refers to either Tesla's proprietary connector, sometimes referred to as Tesla Port mostly limited to North America or the modified Type 2 (DC over Type 2) in Europe.\n\nUsage examples:\n\n connectorSet=IEC62196Type2CableAttached\n connectorSet=IEC62196Type2Outlet,IEC62196Type2CableAttached", "type": "array", "items": { @@ -292,7 +365,7 @@ "Tesla" ], "x-ms-enum": { - "name": "ConnectorSet", + "name": "ElectricVehicleConnector", "modelAsString": true, "values": [ { @@ -345,16 +418,17 @@ "collectionFormat": "csv", "x-ms-parameter-location": "method" }, - "OpeningHours": { + "OperatingHours": { "name": "openingHours", - "description": "Hours of operation for a POI (Points of Interest). The availability of hours of operation will vary based on the data available.\nSupported value: nextSevenDays", + "x-ms-client-name": "operatingHours", + "description": "Hours of operation for a POI (Points of Interest). The availability of hours of operation will vary based on the data available. If not passed, then no opening hours information will be returned. \nSupported value: nextSevenDays", "type": "string", "in": "query", "enum": [ "nextSevenDays" ], "x-ms-enum": { - "name": "OpeningHours", + "name": "OperatingHoursRange", "modelAsString": true, "values": [ { @@ -369,8 +443,9 @@ "paths": { "/search/polygon/{format}": { "get": { - "description": "**Get Polygon**\n\n\n**Applies to**: S1 pricing tier.\n\n\nThe Get Polygon service allows you to request the geometry data such as a city or country outline for a set of entities, previously retrieved from an Online Search request in GeoJSON format. The geometry ID is returned in the dataSources object under \"geometry\" and \"id\" in either a Search Address or Search Fuzzy call.\n\nPlease note that any geometry ID retrieved from an Online Search endpoint has a limited lifetime. The client should not store geometry IDs in persistent storage for later referral, as the stability of these identifiers is not guaranteed for a long period of time. It is expected that a request to the Polygon method is made within a few minutes of the request to the Online Search method that provided the ID. The service allows for batch requests up to 20 identifiers.", - "operationId": "GetSearchPolygon", + "description": "**Get Polygon**\n\n\n**Applies to**: S1 pricing tier.\n\n\nThe Get Polygon service allows you to request the geometry data such as a city or country outline for a set of entities, previously retrieved from an Online Search request in GeoJSON format. The geometry ID is returned in the sourceGeometry object under \"geometry\" and \"id\" in either a Search Address or Search Fuzzy call.\n\nPlease note that any geometry ID retrieved from an Online Search endpoint has a limited lifetime. The client should not store geometry IDs in persistent storage for later referral, as the stability of these identifiers is not guaranteed for a long period of time. It is expected that a request to the Polygon method is made within a few minutes of the request to the Online Search method that provided the ID. The service allows for batch requests up to 20 identifiers.", + "operationId": "Search_GetSearchPolygon", + "x-ms-client-name": "ListPolygons", "x-ms-examples": { "Get the Geometry using the geometry id returned by the previous Search": { "$ref": "./examples/GetSearchPolygon.json" @@ -389,6 +464,7 @@ { "name": "geometries", "in": "query", + "x-ms-client-name": "geometryIds", "description": "Comma separated list of geometry UUIDs, previously retrieved from an Online Search request.", "required": true, "type": "array", @@ -401,7 +477,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchPolygonResponse" + "$ref": "#/definitions/PolygonResult" } }, "default": { @@ -413,7 +489,8 @@ "/search/fuzzy/{format}": { "get": { "description": "\n**Free Form Search**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThe basic default API is Free Form Search which handles the most fuzzy of inputs handling any combination of address or POI tokens. This search API is the canonical 'single line search'. The Free Form Search API is a seamless combination of POI search and geocoding. The API can also be weighted with a contextual position (lat./lon. pair), or fully constrained by a coordinate and radius, or it can be executed more generally without any geo biasing anchor point.

We strongly advise you to use the 'countrySet' parameter to specify only the countries for which your application needs coverage, as the default behavior will be to search the entire world, potentially returning unnecessary results.

E.g.: `countrySet`=US,FR

Please see [Search Coverage](https://docs.microsoft.com/azure/location-based-services/geocoding-coverage) for a complete list of all the supported countries.

Most Search queries default to `maxFuzzyLevel`=2 to gain performance and also reduce unusual results. This new default can be overridden as needed per request by passing in the query param `maxFuzzyLevel`=3 or 4.", - "operationId": "GetSearchFuzzy", + "operationId": "Search_GetSearchFuzzy", + "x-ms-client-name": "FuzzySearch", "x-ms-examples": { "Search City Seattle": { "$ref": "./examples/GetSearchFuzzy.json" @@ -467,7 +544,7 @@ "$ref": "#/parameters/BoundingBoxBottomRight" }, { - "$ref": "#/parameters/Language" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" }, { "$ref": "#/parameters/ExtendedPostalCodesFor" @@ -498,17 +575,20 @@ "$ref": "#/parameters/ConnectorSet" }, { - "$ref": "#/parameters/View" + "$ref": "#/parameters/EntityType" }, { - "$ref": "#/parameters/OpeningHours" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/View" + }, + { + "$ref": "#/parameters/OperatingHours" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchCommonResponse" + "$ref": "#/definitions/SearchAddressResult" } }, "default": { @@ -520,7 +600,8 @@ "/search/poi/{format}": { "get": { "description": "**Get POI by Name**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nPoints of Interest (POI) Search allows you to request POI results by name. Search supports additional query parameters such as language and filtering results by area of interest driven by country or bounding box. Endpoint will return only POI results matching the query string. Response includes POI details such as address, coordinate location and category.", - "operationId": "GetSearchPOI", + "operationId": "Search_GetSearchPOI", + "x-ms-client-name": "SearchPointOfInterest", "x-ms-examples": { "Search for juice bars within 5 miles of Seattle Downtown and limit the response to 5 results": { "$ref": "./examples/GetSearchPOI.json" @@ -574,7 +655,7 @@ "$ref": "#/parameters/BoundingBoxBottomRight" }, { - "$ref": "#/parameters/Language" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" }, { "$ref": "#/parameters/ExtendedPostalCodesForPoi" @@ -586,17 +667,17 @@ "$ref": "#/parameters/ConnectorSet" }, { - "$ref": "#/parameters/View" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/View" }, { - "$ref": "#/parameters/OpeningHours" + "$ref": "#/parameters/OperatingHours" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchCommonResponse" + "$ref": "#/definitions/SearchAddressResult" } }, "default": { @@ -608,7 +689,8 @@ "/search/nearby/{format}": { "get": { "description": "**Nearby Search**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nIf you have a use case for only retrieving POI results around a specific location, the nearby search method may be the right choice. This endpoint will only return POI results, and does not take in a search query parameter.", - "operationId": "GetSearchNearby", + "operationId": "Search_GetSearchNearby", + "x-ms-client-name": "SearchNearbyPointOfInterest", "x-ms-examples": { "Search for any points of interest (POI) within 5 miles of Manhattan NY and return the top 10 results": { "$ref": "./examples/GetSearchNearby.json" @@ -645,11 +727,12 @@ { "name": "radius", "in": "query", + "x-ms-client-name": "radiusInMeters", "description": "The radius in meters to for the results to be constrained to the defined area, Min value is 1, Max Value is 50000.", - "type": "number" + "type": "integer" }, { - "$ref": "#/parameters/Language" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" }, { "$ref": "#/parameters/ExtendedPostalCodesFor" @@ -661,14 +744,14 @@ "$ref": "#/parameters/ConnectorSet" }, { - "$ref": "#/parameters/View" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/View" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchCommonResponse" + "$ref": "#/definitions/SearchAddressResult" } }, "default": { @@ -680,7 +763,8 @@ "/search/poi/category/{format}": { "get": { "description": "**Get POI by Category**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nPoints of Interest (POI) Category Search allows you to request POI results from given category. Search allows to query POIs from one category at a time. Endpoint will only return POI results which are categorized as specified. Response includes POI details such as address, coordinate location and classification.", - "operationId": "GetSearchPOICategory", + "operationId": "Search_GetSearchPOICategory", + "x-ms-client-name": "SearchPointOfInterestCategory", "x-ms-examples": { "Search for atm's within 2 miles of Times Square NY and return the top 3 results": { "$ref": "./examples/GetSearchPOICategory.json" @@ -734,7 +818,7 @@ "$ref": "#/parameters/BoundingBoxBottomRight" }, { - "$ref": "#/parameters/Language" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" }, { "$ref": "#/parameters/ExtendedPostalCodesFor" @@ -746,17 +830,17 @@ "$ref": "#/parameters/ConnectorSet" }, { - "$ref": "#/parameters/View" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/View" }, { - "$ref": "#/parameters/OpeningHours" + "$ref": "#/parameters/OperatingHours" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchCommonResponse" + "$ref": "#/definitions/SearchAddressResult" } }, "default": { @@ -768,7 +852,8 @@ "/search/poi/category/tree/{format}": { "get": { "description": "**Get POI Category Tree**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nPOI Category API provides a full list of supported Points of Interest (POI) categories and subcategories together with their translations and synonyms. The returned content can be used to provide more meaningful results through other Search Service APIs, like [Get Search POI](https://docs.microsoft.com/rest/api/maps/search/getsearchpoi).", - "operationId": "GetSearchPOICategoryTree", + "operationId": "Search_GetSearchPOICategoryTree", + "x-ms-client-name": "GetPointOfInterestCategoryTree", "x-ms-examples": { "Get the POI Category Tree (only partial response shown below)": { "$ref": "./examples/GetSearchPOICategoryTree.json" @@ -795,7 +880,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchPoiCategoryTreeResponse" + "$ref": "#/definitions/PointOfInterestCategoryTreeResult" } }, "default": { @@ -807,7 +892,8 @@ "/search/address/{format}": { "get": { "description": "**Address Geocoding**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nIn many cases, the complete search service might be too much, for instance if you are only interested in traditional geocoding. Search can also be accessed for address look up exclusively. The geocoding is performed by hitting the geocode endpoint with just the address or partial address in question. The geocoding search index will be queried for everything above the street level data. No POIs will be returned. Note that the geocoder is very tolerant of typos and incomplete addresses. It will also handle everything from exact street addresses or street or intersections as well as higher level geographies such as city centers, counties, states etc.", - "operationId": "GetSearchAddress", + "operationId": "Search_GetSearchAddress", + "x-ms-client-name": "SearchAddress", "x-ms-examples": { "Search detail address 15127 NE 24th Street, Redmond, WA 98052": { "$ref": "./examples/GetSearchAddress.json" @@ -858,20 +944,23 @@ "$ref": "#/parameters/BoundingBoxBottomRight" }, { - "$ref": "#/parameters/Language" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" }, { "$ref": "#/parameters/ExtendedPostalCodesFor" }, { - "$ref": "#/parameters/View" + "$ref": "#/parameters/EntityType" + }, + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/View" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchCommonResponse" + "$ref": "#/definitions/SearchAddressResult" } }, "default": { @@ -883,9 +972,10 @@ "/search/address/reverse/{format}": { "get": { "description": "**Reverse Geocode to an Address**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThere may be times when you need to translate a coordinate (example: 37.786505, -122.3862) into a human understandable street address. Most often this is needed in tracking applications where you receive a GPS feed from the device or asset and wish to know what address where the coordinate is located. This endpoint will return address information for a given coordinate.", - "operationId": "GetSearchAddressReverse", + "operationId": "Search_GetSearchAddressReverse", + "x-ms-client-name": "ReverseSearchAddress", "x-ms-examples": { - "GetSearchAddressReverse": { + "Searches addresses for coordinates 37.337,-121.89": { "$ref": "./examples/GetSearchAddressReverse.json" } }, @@ -903,10 +993,11 @@ "$ref": "#/parameters/Position" }, { - "$ref": "#/parameters/Language" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" }, { "name": "returnSpeedLimit", + "x-ms-client-name": "includeSpeedLimit", "in": "query", "description": "Boolean. To enable return of the posted speed limit", "type": "boolean" @@ -915,7 +1006,7 @@ "name": "heading", "in": "query", "description": "The directional heading of the vehicle in degrees, for travel along a segment of roadway. 0 is North, 90 is East and so on, values range from -360 to 360. The precision can include upto one decimal place", - "type": "number", + "type": "integer", "minimum": -360, "maximum": 360 }, @@ -930,6 +1021,7 @@ }, { "name": "returnRoadUse", + "x-ms-client-name": "includeRoadUse", "in": "query", "description": "Boolean. To enable return of the road use array for reverse geocodes at street level", "type": "boolean" @@ -938,7 +1030,21 @@ "name": "roadUse", "in": "query", "description": "To restrict reverse geocodes to a certain type of road use. The road use array for reverse geocodes can be one or more of LimitedAccess, Arterial, Terminal, Ramp, Rotary, LocalStreet", - "type": "string" + "type": "array", + "items": { + "type": "string", + "enum": [ + "LimitedAccess", + "Arterial", + "Terminal", + "Ramp", + "Rotary", + "LocalStreet" + ], + "x-ms-enum": { + "name": "RoadUseType" + } + } }, { "name": "allowFreeformNewline", @@ -948,73 +1054,23 @@ }, { "name": "returnMatchType", + "x-ms-client-name": "includeMatchType", "in": "query", "description": "Include information on the type of match the geocoder achieved in the response.", "type": "boolean" }, { - "name": "entityType", - "in": "query", - "description": "Specifies the level of filtering performed on geographies. Narrows the search for specified geography entity types, e.g. return only municipality. The resulting response will contain the geography ID as well as the entity type matched. If you provide more than one entity as a comma separated list, endpoint will return the 'smallest entity available'. Returned Geometry ID can be used to get the geometry of that geography via [Get Search Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon) API. The following parameters are ignored when entityType is set:\n\n* heading\n* number\n* returnRoadUse\n* returnSpeedLimit\n* roadUse\n* returnMatchType", - "type": "string", - "enum": [ - "Country", - "CountrySubdivision", - "CountrySecondarySubdivision", - "CountryTertiarySubdivision", - "Municipality", - "MunicipalitySubdivision", - "Neighbourhood", - "PostalCodeArea" - ], - "x-ms-enum": { - "name": "EntityType", - "modelAsString": true, - "values": [ - { - "value": "Country", - "description": "Country name" - }, - { - "value": "CountrySubdivision", - "description": "State or Province" - }, - { - "value": "CountrySecondarySubdivision", - "description": "County" - }, - { - "value": "CountryTertiarySubdivision", - "description": "Named Area" - }, - { - "value": "Municipality", - "description": "City / Town" - }, - { - "value": "MunicipalitySubdivision", - "description": "Sub / Super City" - }, - { - "value": "Neighbourhood", - "description": "Neighbourhood" - }, - { - "value": "PostalCodeArea", - "description": "Postal Code / Zip Code" - } - ] - } + "$ref": "#/parameters/EntityType" }, { - "$ref": "#/parameters/View" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/View" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchAddressReverseResponse" + "$ref": "#/definitions/ReverseSearchAddressResult" } }, "default": { @@ -1026,9 +1082,10 @@ "/search/address/reverse/crossStreet/{format}": { "get": { "description": "**Reverse Geocode to a Cross Street**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThere may be times when you need to translate a coordinate (example: 37.786505, -122.3862) into a human understandable cross street. Most often this is needed in tracking applications where you receive a GPS feed from the device or asset and wish to know what address where the coordinate is located.\nThis endpoint will return cross street information for a given coordinate.", - "operationId": "GetSearchAddressReverseCrossStreet", + "operationId": "Search_GetSearchAddressReverseCrossStreet", + "x-ms-client-name": "ReverseSearchCrossStreetAddress", "x-ms-examples": { - "GetSearchAddressReverseCrossStreet": { + "Search address of the nearest intersection/crossroad": { "$ref": "./examples/GetSearchAddressReverseCrossStreet.json" } }, @@ -1052,7 +1109,7 @@ "name": "heading", "in": "query", "description": "The directional heading of the vehicle in degrees, for travel along a segment of roadway. 0 is North, 90 is East and so on, values range from -360 to 360. The precision can include upto one decimal place", - "type": "number", + "type": "integer", "minimum": -360, "maximum": 360 }, @@ -1060,17 +1117,17 @@ "$ref": "#/parameters/Radius" }, { - "$ref": "#/parameters/Language" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" }, { - "$ref": "#/parameters/View" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/View" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchAddressReverseCrossStreetResponse" + "$ref": "#/definitions/ReverseSearchCrossStreetAddressResult" } }, "default": { @@ -1082,9 +1139,10 @@ "/search/address/structured/{format}": { "get": { "description": "**Structured Address Geocoding**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nAzure Address Geocoding can also be accessed for structured address look up exclusively. The geocoding search index will be queried for everything above the street level data. No POIs will be returned. Note that the geocoder is very tolerant of typos and incomplete addresses. It will also handle everything from exact street addresses or street or intersections as well as higher level geographies such as city centers, counties, states etc.", - "operationId": "GetSearchAddressStructured", + "operationId": "Search_GetSearchAddressStructured", + "x-ms-client-name": "SearchStructuredAddress", "x-ms-examples": { - "GetSearchAddressStructured": { + "Search address in Redmond, WA in structured form": { "$ref": "./examples/GetSearchAddressStructured.json" } }, @@ -1099,12 +1157,13 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat" }, { - "$ref": "#/parameters/Language" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" }, { "name": "countryCode", "in": "query", "description": "The 2 or 3 letter [ISO3166-1](https://www.iso.org/iso-3166-country-codes.html) country code portion of an address. E.g. US.", + "required": true, "default": "US", "type": "string" }, @@ -1172,14 +1231,17 @@ "$ref": "#/parameters/ExtendedPostalCodesFor" }, { - "$ref": "#/parameters/View" + "$ref": "#/parameters/EntityType" + }, + { + "$ref": "../../../Common/preview/1.0/common.json#/parameters/View" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchCommonResponse" + "$ref": "#/definitions/SearchAddressResult" } }, "default": { @@ -1191,7 +1253,8 @@ "/search/geometry/{format}": { "post": { "description": "**Applies to**: S0 and S1 pricing tiers.\n\nThe Search Geometry endpoint allows you to perform a free form search inside a single geometry or many of them. The search results that fall inside the geometry/geometries will be returned.

To send the geometry you will use a `POST` request where the request body will contain the `geometry` object represented as a `GeoJSON` type and the `Content-Type` header will be set to `application/json`. The geographical features to be searched can be modeled as Polygon and/or Circle geometries represented using any one of the following `GeoJSON` types:
  • **GeoJSON FeatureCollection**
    The `geometry` can be represented as a `GeoJSON FeatureCollection` object. This is the recommended option if the geometry contains both Polygons and Circles. The `FeatureCollection` can contain a max of 50 `GeoJSON Feature` objects. Each `Feature` object should represent either a Polygon or a Circle with the following conditions:
    • A `Feature` object for the Polygon geometry can have a max of 50 coordinates and it's properties must be empty.
    • A `Feature` object for the Circle geometry is composed of a _center_ represented using a `GeoJSON Point` type and a _radius_ value (in meters) which must be specified in the object's properties along with the _subType_ property whose value should be 'Circle'.

    Please see the Examples section below for a sample `FeatureCollection` representation.

  • **GeoJSON GeometryCollection**
    The `geometry` can be represented as a `GeoJSON GeometryCollection` object. This is the recommended option if the geometry contains a list of Polygons only. The `GeometryCollection` can contain a max of 50 `GeoJSON Polygon` objects. Each `Polygon` object can have a max of 50 coordinates. Please see the Examples section below for a sample `GeometryCollection` representation.

  • **GeoJSON Polygon**
    The `geometry` can be represented as a `GeoJSON Polygon` object. This is the recommended option if the geometry contains a single Polygon. The `Polygon` object can have a max of 50 coordinates. Please see the Examples section below for a sample `Polygon` representation.

.

", - "operationId": "PostSearchInsideGeometry", + "operationId": "Search_PostSearchInsideGeometry", + "x-ms-client-name": "SearchInsideGeometry", "x-ms-examples": { "Search for pizza places inside a geometry represented as a GeoJSON FeatureCollection type": { "$ref": "./examples/PostSearchInsideFeatureCollection.json" @@ -1220,7 +1283,7 @@ "$ref": "#/parameters/LimitSearch" }, { - "$ref": "#/parameters/Language" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" }, { "$ref": "#/parameters/CategorySet" @@ -1233,25 +1296,26 @@ }, { "name": "searchInsideGeometryRequestBody", + "x-ms-client-name": "geometry", "in": "body", "description": "This represents the geometry for one or more geographical features (parks, state boundary etc.) to search in and should be a GeoJSON compliant type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946) for details.", "required": true, "schema": { - "$ref": "#/definitions/SearchInsideGeometryRequestBody" + "$ref": "#/definitions/SearchInsideGeometryRequest" } }, { - "$ref": "#/parameters/View" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/View" }, { - "$ref": "#/parameters/OpeningHours" + "$ref": "#/parameters/OperatingHours" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchCommonResponse" + "$ref": "#/definitions/SearchAddressResult" } }, "default": { @@ -1263,7 +1327,8 @@ "/search/alongRoute/{format}": { "post": { "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nThe Search Along Route endpoint allows you to perform a fuzzy search for POIs along a specified route. This search is constrained by specifying the `maxDetourTime` limiting measure.

To send the route-points you will use a `POST` request where the request body will contain the `route` object represented as a `GeoJSON LineString` type and the `Content-Type` header will be set to `application/json`. Each route-point in `route` is represented as a `GeoJSON Position` type i.e. an array where the _longitude_ value is followed by the _latitude_ value and the _altitude_ value is ignored. The `route` should contain at least 2 route-points.

It is possible that original route will be altered, some of it's points may be skipped. If the route that passes through the found point is faster than the original one, the `detourTime` value in the response is negative.", - "operationId": "PostSearchAlongRoute", + "operationId": "Search_PostSearchAlongRoute", + "x-ms-client-name": "SearchAlongRoute", "x-ms-examples": { "Search for burger joints along a route": { "$ref": "./examples/PostSearchAlongRoute.json" @@ -1282,9 +1347,6 @@ { "$ref": "#/parameters/PoiQuery" }, - { - "$ref": "#/parameters/CategorySet" - }, { "name": "maxDetourTime", "description": "Maximum detour time of the point of interest in seconds. Max value is 3600 seconds", @@ -1293,8 +1355,19 @@ "in": "query", "maximum": 3600 }, + { + "name": "searchAlongRouteRequestBody", + "x-ms-client-name": "route", + "in": "body", + "description": "This represents the route to search along and should be a valid `GeoJSON LineString` type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.4) for details.", + "required": true, + "schema": { + "$ref": "#/definitions/SearchAlongRouteRequest" + } + }, { "name": "limit", + "x-ms-client-name": "top", "description": "Maximum number of responses that will be returned. Default value is 10. Max value is 20", "type": "integer", "in": "query", @@ -1304,29 +1377,23 @@ "$ref": "#/parameters/BrandSet" }, { - "$ref": "#/parameters/ConnectorSet" + "$ref": "#/parameters/CategorySet" }, { - "$ref": "#/parameters/View" + "$ref": "#/parameters/ConnectorSet" }, { - "$ref": "#/parameters/OpeningHours" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/View" }, { - "name": "searchAlongRouteRequestBody", - "in": "body", - "description": "This represents the route to search along and should be a valid `GeoJSON LineString` type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.4) for details.", - "required": true, - "schema": { - "$ref": "#/definitions/SearchAlongRouteRequestBody" - } + "$ref": "#/parameters/OperatingHours" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchCommonResponse" + "$ref": "#/definitions/SearchAddressResult" } }, "default": { @@ -1337,8 +1404,9 @@ }, "/search/fuzzy/batch/sync/{format}": { "post": { - "description": "**Search Fuzzy Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchCommonResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy#searchcommonresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", - "operationId": "PostSearchFuzzyBatchSync", + "description": "**Search Fuzzy Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "operationId": "Search_PostSearchFuzzyBatchSync", + "x-ms-client-name": "FuzzySearchBatchSync", "x-ms-examples": { "A Sync Search Fuzzy Batch API call containing 5 Search Fuzzy API queries": { "$ref": "./examples/PostSearchFuzzyBatchSync.json" @@ -1356,11 +1424,12 @@ }, { "name": "searchFuzzyBatchRequestBody", + "x-ms-client-name": "batchRequest", "in": "body", "description": "The list of search fuzzy queries/requests to process. The list can contain a max of 10,000 queries and must contain at least 1 query.", "required": true, "schema": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequestBody" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequest" } } ], @@ -1368,7 +1437,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchFuzzyBatchResponse" + "$ref": "#/definitions/SearchAddressBatchProcessResult" } }, "408": { @@ -1382,8 +1451,9 @@ }, "/search/fuzzy/batch/{format}": { "post": { - "description": "**Search Fuzzy Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchCommonResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy#searchcommonresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", - "operationId": "PostSearchFuzzyBatch", + "description": "**Search Fuzzy Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "operationId": "Search_PostSearchFuzzyBatch", + "x-ms-client-name": "FuzzySearchBatch", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "location" @@ -1405,11 +1475,12 @@ }, { "name": "searchFuzzyBatchRequestBody", + "x-ms-client-name": "batchRequest", "in": "body", - "description": "The list of search fuzzy queries/requests to process. The list can contain a max of 10,000 queries and must contain at least 1 query.", + "description": "The list of search fuzzy queries/requests to process. The list can contain a max of 10,000 queries and must contain at least 1 query.", "required": true, "schema": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequestBody" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequest" } } ], @@ -1417,7 +1488,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchFuzzyBatchResponse" + "$ref": "#/definitions/SearchAddressBatchProcessResult" } }, "202": { @@ -1429,8 +1500,9 @@ } }, "get": { - "description": "**Search Fuzzy Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchCommonResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy#searchcommonresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", - "operationId": "GetSearchFuzzyBatch", + "description": "**Search Fuzzy Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "operationId": "Search_GetSearchFuzzyBatch", + "x-ms-client-name": "GetFuzzySearchBatch", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "original-uri" @@ -1455,7 +1527,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchFuzzyBatchResponse" + "$ref": "#/definitions/SearchAddressBatchProcessResult" } }, "202": { @@ -1469,8 +1541,9 @@ }, "/search/address/batch/sync/{format}": { "post": { - "description": "**Search Address Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchCommonResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress#SearchCommonResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", - "operationId": "PostSearchAddressBatchSync", + "description": "**Search Address Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "operationId": "Search_PostSearchAddressBatchSync", + "x-ms-client-name": "SearchAddressBatchSync", "x-ms-examples": { "A Sync Address Geocoding Batch API call containing 5 Address Geocoding API queries": { "$ref": "./examples/PostSearchAddressBatchSync.json" @@ -1488,11 +1561,12 @@ }, { "name": "searchAddressBatchRequestBody", + "x-ms-client-name": "batchRequest", "in": "body", "description": "The list of address geocoding queries/requests to process. The list can contain a max of 10,000 queries and must contain at least 1 query.", "required": true, "schema": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequestBody" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequest" } } ], @@ -1500,7 +1574,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchAddressBatchResponse" + "$ref": "#/definitions/SearchAddressBatchProcessResult" } }, "408": { @@ -1514,8 +1588,9 @@ }, "/search/address/batch/{format}": { "post": { - "description": "**Search Address Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchCommonResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress#SearchCommonResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", - "operationId": "PostSearchAddressBatch", + "description": "**Search Address Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "operationId": "Search_PostSearchAddressBatch", + "x-ms-client-name": "SearchAddressBatch", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "location" @@ -1537,11 +1612,12 @@ }, { "name": "searchAddressBatchRequestBody", + "x-ms-client-name": "batchRequest", "in": "body", "description": "The list of address geocoding queries/requests to process. The list can contain a max of 10,000 queries and must contain at least 1 query.", "required": true, "schema": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequestBody" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequest" } } ], @@ -1549,7 +1625,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchAddressBatchResponse" + "$ref": "#/definitions/SearchAddressBatchProcessResult" } }, "202": { @@ -1561,8 +1637,8 @@ } }, "get": { - "description": "**Search Address Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchCommonResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress#SearchCommonResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", - "operationId": "GetSearchAddressBatch", + "description": "**Search Address Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "operationId": "Search_GetSearchAddressBatch", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "original-uri" @@ -1587,7 +1663,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchAddressBatchResponse" + "$ref": "#/definitions/SearchAddressBatchProcessResult" } }, "202": { @@ -1601,8 +1677,9 @@ }, "/search/address/reverse/batch/sync/{format}": { "post": { - "description": "**Search Address Reverse Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", - "operationId": "PostSearchAddressReverseBatchSync", + "description": "**Search Address Reverse Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "operationId": "Search_PostSearchAddressReverseBatchSync", + "x-ms-client-name": "ReverseSearchAddressBatchSync", "x-ms-examples": { "A Reverse Geocoding Batch API Sync call containing 5 Reverse Geocoding API queries": { "$ref": "./examples/PostSearchAddressReverseBatchSync.json" @@ -1620,11 +1697,12 @@ }, { "name": "searchAddressReverseBatchRequestBody", + "x-ms-client-name": "batchRequest", "in": "body", "description": "The list of reverse geocoding queries/requests to process. The list can contain a max of 10,000 queries and must contain at least 1 query.", "required": true, "schema": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequestBody" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequest" } } ], @@ -1632,7 +1710,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchAddressReverseBatchResponse" + "$ref": "#/definitions/ReverseSearchAddressBatchProcessResult" } }, "408": { @@ -1646,8 +1724,9 @@ }, "/search/address/reverse/batch/{format}": { "post": { - "description": "**Search Address Reverse Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", - "operationId": "PostSearchAddressReverseBatch", + "description": "**Search Address Reverse Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "operationId": "Search_PostSearchAddressReverseBatch", + "x-ms-client-name": "ReverseSearchAddressBatch", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "location" @@ -1669,11 +1748,12 @@ }, { "name": "searchAddressReverseBatchRequestBody", + "x-ms-client-name": "batchRequest", "in": "body", "description": "The list of reverse geocoding queries/requests to process. The list can contain a max of 10,000 queries and must contain at least 1 query.", "required": true, "schema": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequestBody" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequest" } } ], @@ -1681,7 +1761,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchAddressReverseBatchResponse" + "$ref": "#/definitions/ReverseSearchAddressBatchProcessResult" } }, "202": { @@ -1693,8 +1773,9 @@ } }, "get": { - "description": "**Search Address Reverse Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", - "operationId": "GetSearchAddressReverseBatch", + "description": "**Search Address Reverse Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "operationId": "Search_GetSearchAddressReverseBatch", + "x-ms-client-name": "GetReverseSearchAddressBatch", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "original-uri" @@ -1719,7 +1800,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SearchAddressReverseBatchResponse" + "$ref": "#/definitions/ReverseSearchAddressBatchProcessResult" } }, "202": { @@ -1733,21 +1814,22 @@ } }, "definitions": { - "SearchPolygonResponse": { + "PolygonResult": { "description": "This object is returned from a successful Search Polygon call", "type": "object", "properties": { "additionalData": { "description": "Results array", - "type": "array", + "x-ms-client-name": "polygons", "readOnly": true, + "type": "array", "items": { - "$ref": "#/definitions/SearchPolygonResult" + "$ref": "#/definitions/Polygon" } } } }, - "SearchPolygonResult": { + "Polygon": { "type": "object", "properties": { "providerID": { @@ -1755,25 +1837,20 @@ "type": "string", "readOnly": true }, - "error": { - "description": "Reason for the failure to obtain data for this provider.", - "type": "string", - "readOnly": true - }, "geometryData": { "description": "Geometry data in GeoJSON format. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946) for details. Present only if \"error\" is not present.", "$ref": "../../../Common/preview/1.0/common.json#/definitions/GeoJsonObject" } } }, - "SearchCommonResponse": { + "SearchAddressResult": { "description": "This object is returned from a successful Search calls.", "type": "object", "properties": { "summary": { "description": "Summary object for a Search API response", "readOnly": true, - "$ref": "#/definitions/SearchCommonSummary" + "$ref": "#/definitions/SearchSummary" }, "results": { "description": "A list of Search API results.", @@ -1782,53 +1859,75 @@ "items": { "description": "This type represents the Search API result object.", "readOnly": true, - "$ref": "#/definitions/SearchCommonResult" + "$ref": "#/definitions/SearchAddressResultItem" } } } }, - "SearchCommonSummary": { + "SearchSummary": { "description": "Summary object for a Search API response.", "type": "object", "readOnly": true, "properties": { "query": { - "description": "Query property", + "description": "The query parameter that was used to produce these search results.", "type": "string", "readOnly": true }, "queryType": { - "description": "QueryType property", + "description": "The type of query being returned: NEARBY or NON_NEAR.", "type": "string", - "readOnly": true + "readOnly": true, + "enum": [ + "NEARBY", + "NON_NEAR" + ], + "x-ms-enum": { + "name": "QueryType", + "modelAsString": true, + "values": [ + { + "value": "NEARBY", + "name": "NEARBY", + "description": "Search was performed around a certain latitude and longitude with a defined radius" + }, + { + "value": "NON_NEAR", + "name": "GLOBAL", + "description": "Search was performed globally, without biasing to a certain latitude and longitude, and no defined radius" + } + ] + } }, "queryTime": { - "description": "QueryTime property", + "description": "Time spent resolving the query, in milliseconds.", "type": "integer", "readOnly": true }, "numResults": { - "description": "NumResults property", + "description": "Number of results in the response.", "type": "integer", "readOnly": true }, "limit": { + "x-ms-client-name": "top", "description": "Maximum number of responses that will be returned", "readOnly": true, "type": "integer" }, "offset": { - "description": "Offset property", + "x-ms-client-name": "skip", + "description": "The starting offset of the returned Results within the full Result set.", "type": "integer", "readOnly": true }, "totalResults": { - "description": "TotalResults property", + "description": "The total number of Results found.", "type": "integer", "readOnly": true }, "fuzzyLevel": { - "description": "FuzzyLevel property", + "description": "The maximum fuzzy level required to provide Results.", "type": "integer", "readOnly": true }, @@ -1836,15 +1935,11 @@ "description": "Indication when the internal search engine has applied a geospatial bias to improve the ranking of results. In some methods, this can be affected by setting the lat and lon parameters where available. In other cases it is purely internal.", "type": "object", "readOnly": true, - "allOf": [ - { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPairAbbreviated" - } - ] + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated" } } }, - "SearchCommonResult": { + "SearchAddressResultItem": { "description": "Result object for a Search API response.", "type": "object", "readOnly": true, @@ -1852,7 +1947,19 @@ "type": { "description": "One of:\n* POI\n* Street\n* Geography\n* Point Address\n* Address Range\n* Cross Street", "type": "string", - "readOnly": true + "readOnly": true, + "enum": [ + "POI", + "Street", + "Geography", + "Point Address", + "Address Range", + "Cross Street" + ], + "x-ms-enum": { + "name": "SearchAddressResultType", + "modelAsString": true + } }, "id": { "description": "Id property", @@ -1860,13 +1967,14 @@ "readOnly": true }, "score": { - "$ref": "#/definitions/SearchResultScore" + "$ref": "#/definitions/Score" }, "dist": { - "$ref": "#/definitions/SearchResultDistance" + "x-ms-client-name": "distanceInMeters", + "$ref": "#/definitions/Distance" }, "info": { - "description": "Info property", + "description": "Information about the original data source of the Result. Used for support requests.", "type": "string", "readOnly": true }, @@ -1874,58 +1982,62 @@ "$ref": "#/definitions/EntityType" }, "poi": { - "$ref": "#/definitions/SearchResultPoi" + "x-ms-client-name": "pointOfInterest", + "$ref": "#/definitions/PointOfInterest" }, "address": { - "$ref": "#/definitions/SearchResultAddress" + "$ref": "#/definitions/Address" }, "position": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPairAbbreviated" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated" }, "viewport": { - "$ref": "#/definitions/SearchResultViewport" + "$ref": "#/definitions/BoundingBox" }, "entryPoints": { - "description": "Entry Points array", + "description": "Array of EntryPoints. Those describe the types of entrances available at the location. The type can be \"main\" for main entrances such as a front door, or a lobby, and \"minor\", for side and back doors.", "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/SearchResultEntryPoint" + "$ref": "#/definitions/EntryPoint" } }, "addressRanges": { - "$ref": "#/definitions/SearchResultAddressRanges" + "$ref": "#/definitions/AddressRanges" }, "dataSources": { + "description": "Optional section. Reference geometry id for use with the [Get Search Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon) API.", + "type": "object", + "readOnly": true, "$ref": "#/definitions/DataSources" }, "matchType": { - "type": "string", - "readOnly": true, + "$ref": "#/definitions/MatchType", "description": "Information on the type of match.\n\nOne of:\n * AddressPoint\n * HouseNumberRange\n * Street" }, "detourTime": { - "description": "Detour time in seconds", - "type": "number", + "description": "Detour time in seconds. Only returned for calls to the Search Along Route API.", + "type": "integer", "readOnly": true } } }, - "SearchPoiCategoryTreeResponse": { + "PointOfInterestCategoryTreeResult": { "description": "This object is returned from a successful POI Category Tree call", "type": "object", "properties": { "poiCategories": { + "x-ms-client-name": "categories", "description": "Categories array", "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/PoiCategoryResult" + "$ref": "#/definitions/PointOfInterestCategory" } } } }, - "PoiCategoryResult": { + "PointOfInterestCategory": { "description": "POI category result", "type": "object", "properties": { @@ -1940,6 +2052,7 @@ "readOnly": true }, "childCategoryIds": { + "x-ms-client-name": "childIds", "description": "Array of child category ids", "type": "array", "items": { @@ -1959,69 +2072,75 @@ } } }, - "SearchAddressReverseResponse": { + "ReverseSearchAddressResult": { "description": "This object is returned from a successful Search Address Reverse call", "type": "object", "properties": { "summary": { "description": "Summary object for a Search Address Reverse response", "readOnly": true, - "$ref": "#/definitions/SearchCommonSummary" + "$ref": "#/definitions/SearchSummary" }, "addresses": { "description": "Addresses array", "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/SearchAddressReverseResult" + "$ref": "#/definitions/ReverseSearchAddressResultItem" } } } }, - "SearchAddressReverseResult": { + "ReverseSearchAddressResultItem": { "description": "Result object for a Search Address Reverse response", "type": "object", "properties": { "address": { - "$ref": "#/definitions/SearchResultAddress" + "$ref": "#/definitions/Address" }, "position": { "type": "string", "readOnly": true, "description": "Position property in the form of \"{latitude},{longitude}\"" }, - "matchType": { - "type": "string", + "roadUse": { + "type": "array", "readOnly": true, + "items": { + "$ref": "#/definitions/RoadUseType" + } + }, + "matchType": { + "$ref": "#/definitions/MatchType", "description": "Information on the type of match.\n\nOne of:\n * AddressPoint\n * HouseNumberRange\n * Street" } } }, - "SearchAddressReverseCrossStreetResponse": { + "ReverseSearchCrossStreetAddressResult": { "description": "This object is returned from a successful Search Address Reverse CrossStreet call", "type": "object", "properties": { "summary": { "description": "Summary object for a Search Address Reverse Cross Street response", "readOnly": true, - "$ref": "#/definitions/SearchCommonSummary" + "$ref": "#/definitions/SearchSummary" }, "addresses": { "description": "Addresses array", "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/SearchAddressReverseCrossStreetResult" + "$ref": "#/definitions/ReverseSearchCrossStreetAddressResultItem" } } } }, - "SearchAddressReverseCrossStreetResult": { + "ReverseSearchCrossStreetAddressResultItem": { "description": "Result object for a Search Address Reverse Cross Street response", "type": "object", "properties": { "address": { - "$ref": "#/definitions/SearchResultAddress" + "$ref": "#/definitions/Address" }, "position": { "type": "string", @@ -2030,7 +2149,7 @@ } } }, - "SearchInsideGeometryRequestBody": { + "SearchInsideGeometryRequest": { "description": "This type represents the request body for the Search Inside Geometry service.", "type": "object", "properties": { @@ -2039,7 +2158,7 @@ } } }, - "SearchAlongRouteRequestBody": { + "SearchAlongRouteRequest": { "description": "This type represents the request body for the Search Along Route service.", "type": "object", "properties": { @@ -2048,7 +2167,7 @@ } } }, - "SearchResultPoi": { + "PointOfInterest": { "description": "Details of the returned POI including information such as the name, phone, url address, and classifications.", "type": "object", "readOnly": true, @@ -2073,16 +2192,7 @@ "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/SearchResultPoiCategorySet" - } - }, - "categories": { - "description": "__[Deprecated]__ Use classifications instead. Categories array", - "type": "array", - "readOnly": true, - "items": { - "type": "string", - "readOnly": true + "$ref": "#/definitions/PointOfInterestCategorySet" } }, "classifications": { @@ -2090,7 +2200,7 @@ "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/SearchResultPoiClassification" + "$ref": "#/definitions/Classification" } }, "brands": { @@ -2098,15 +2208,16 @@ "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/SearchResultPoiBrand" + "$ref": "#/definitions/BrandName" } }, "openingHours": { - "$ref": "#/definitions/SearchResultPoiOpeningHours" + "x-ms-client-name": "operatingHours", + "$ref": "#/definitions/OperatingHours" } } }, - "SearchResultPoiCategorySet": { + "PointOfInterestCategorySet": { "description": "POI category", "type": "object", "properties": { @@ -2117,7 +2228,7 @@ } } }, - "SearchResultPoiClassification": { + "Classification": { "description": "The classification for the POI being returned", "type": "object", "properties": { @@ -2131,12 +2242,12 @@ "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/SearchResultPoiClassificationName" + "$ref": "#/definitions/ClassificationName" } } } }, - "SearchResultPoiClassificationName": { + "ClassificationName": { "description": "Name for the classification", "type": "object", "properties": { @@ -2152,12 +2263,12 @@ } } }, - "SearchResultPoiOpeningHours": { + "OperatingHours": { "description": "Opening hours for a POI (Points of Interest).", "type": "object", "properties": { "mode": { - "description": "Value used in the Request", + "description": "Value used in the request: none or \"nextSevenDays\"", "type": "string", "readOnly": true }, @@ -2166,31 +2277,31 @@ "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/SearchResultPoiOpeningHoursTimeRange" + "$ref": "#/definitions/OperatingHoursTimeRange" } } } }, - "SearchResultPoiOpeningHoursTimeRange": { + "OperatingHoursTimeRange": { "description": "Open time range for a day", "type": "object", "properties": { "startTime": { "description": "The point in the next 7 days range when a given POI is being opened, or the beginning of the range if it was opened before the range.", - "$ref": "#/definitions/SearchResultPoiOpeningHoursTimeRangeTime" + "$ref": "#/definitions/OperatingHoursTime" }, "endTime": { "description": "The point in the next 7 days range when a given POI is being closed, or the beginning of the range if it was closed before the range.", - "$ref": "#/definitions/SearchResultPoiOpeningHoursTimeRangeTime" + "$ref": "#/definitions/OperatingHoursTime" } } }, - "SearchResultPoiOpeningHoursTimeRangeTime": { + "OperatingHoursTime": { "description": "Represents a date and time", "type": "object", "properties": { "date": { - "description": "Represents current day in calendar year in POI time zone.", + "description": "Represents current calendar date in POI time zone, e.g. \"2019-02-07\".", "type": "string", "readOnly": true }, @@ -2206,7 +2317,7 @@ } } }, - "SearchResultPoiBrand": { + "BrandName": { "description": "The name of the brand for the POI being returned", "type": "object", "properties": { @@ -2217,33 +2328,33 @@ } } }, - "SearchResultAddress": { + "Address": { "description": "The address of the result", "type": "object", "readOnly": true, "properties": { "buildingNumber": { - "description": "Building Number property", + "description": "The building number on the street. DEPRECATED, use streetNumber instead.", "type": "string", "readOnly": true }, "street": { - "description": "Street property", + "description": "The street name. DEPRECATED, use streetName instead.", "type": "string", "readOnly": true }, "crossStreet": { - "description": "Cross Street property", + "description": "The name of the street being crossed.", "type": "string", "readOnly": true }, "streetNumber": { - "description": "Street Number property", + "description": "The building number on the street.", "type": "string", "readOnly": true }, "routeNumbers": { - "description": "number of routes", + "description": "The codes used to unambiguously identify the street", "type": "array", "items": { "type": "integer", @@ -2252,72 +2363,72 @@ "readOnly": true }, "streetName": { - "description": "Street Name property", + "description": "The street name.", "type": "string", "readOnly": true }, "streetNameAndNumber": { - "description": "Street Name and Number property", + "description": "The street name and number.", "type": "string", "readOnly": true }, "municipality": { - "description": "Municipality property", + "description": "City / Town", "type": "string", "readOnly": true }, "municipalitySubdivision": { - "description": "Municipality Subdivision property", + "description": "Sub / Super City", "type": "string", "readOnly": true }, "countryTertiarySubdivision": { - "description": "Country Tertiary Subdivision property", + "description": "Named Area", "type": "string", "readOnly": true }, "countrySecondarySubdivision": { - "description": "Country Secondary Subdivision property", + "description": "County", "type": "string", "readOnly": true }, "countrySubdivision": { - "description": "Country Subdivision property", + "description": "State or Province", "type": "string", "readOnly": true }, "postalCode": { - "description": "Postal Code property", + "description": "Postal Code / Zip Code", "type": "string", "readOnly": true }, "extendedPostalCode": { - "description": "Extended Postal Code property", + "description": "Extended postal code (availability is dependent on the region).", "type": "string", "readOnly": true }, "countryCode": { - "description": "Country Code property", + "description": "Country (Note: This is a two-letter code, not a country name.)", "type": "string", "readOnly": true }, "country": { - "description": "Country property", + "description": "Country name", "type": "string", "readOnly": true }, "countryCodeISO3": { - "description": "Country Code ISO3 property", + "description": "ISO alpha-3 country code", "type": "string", "readOnly": true }, "freeformAddress": { - "description": "Free form Address property", + "description": "An address line formatted according to the formatting rules of a Result's country of origin, or in the case of a country, its full country name.", "type": "string", "readOnly": true }, "countrySubdivisionName": { - "description": "Country Subdivision Name property", + "description": "The full name of a first level of country administrative hierarchy. This field appears only in case countrySubdivision is presented in an abbreviated form. Only supported for USA, Canada, and Great Britain.", "type": "string", "readOnly": true }, @@ -2333,20 +2444,35 @@ } } }, - "SearchResultViewport": { - "description": "The viewport that covers the result represented by the top-left and bottom-right coordinates of the viewport.", + "Viewport": { + "description": "The viewport that covers the result represented by the top-left and bottom-right coordinates of the viewport.", + "type": "object", + "readOnly": true, + "properties": { + "topLeftPoint": { + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated" + }, + "btmRightPoint": { + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated" + } + } + }, + "BoundingBox": { + "description": "The viewport that covers the result represented by the top-left and bottom-right coordinates of the viewport.", "type": "object", "readOnly": true, "properties": { "topLeftPoint": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPairAbbreviated" + "x-ms-client-name": "topLeft", + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated" }, "btmRightPoint": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPairAbbreviated" + "x-ms-client-name": "bottomRight", + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated" } } }, - "SearchResultEntryPoint": { + "EntryPoint": { "description": "The entry point for the POI being returned.", "type": "object", "readOnly": true, @@ -2365,11 +2491,11 @@ } }, "position": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPairAbbreviated" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated" } } }, - "SearchResultAddressRanges": { + "AddressRanges": { "description": "Describes the address range on both sides of the street for a search result. Coordinates for the start and end locations of the address range are included.", "type": "object", "readOnly": true, @@ -2383,60 +2509,25 @@ "type": "string" }, "from": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPairAbbreviated" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated" }, "to": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPairAbbreviated" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated" } } }, - "SearchResultScore": { + "Score": { "description": "The value within a result set to indicate the relative matching score between results. You can use this to determine that result x is twice as likely to be as relevant as result y if the value of x is 2x the value of y. The values vary between queries and is only meant as a relative value for one result set.", "type": "number", + "format": "double", "readOnly": true }, - "SearchResultDistance": { + "Distance": { "description": "Straight line distance between the result and geobias location in meters.", "type": "number", - "readOnly": true - }, - "SearchSummaryGeoBias": { - "description": "Indication when the internal search engine has applied a geospatial bias to improve the ranking of results. In some methods, this can be affected by setting the lat and lon parameters where available. In other cases it is purely internal.", - "type": "object", + "format": "double", "readOnly": true, - "properties": { - "lat": { - "description": "Latitude property", - "type": "number", - "readOnly": true - }, - "lon": { - "description": "Longitude property", - "type": "number", - "readOnly": true - } - } - }, - "DataSources": { - "description": "Optional section. Reference ids for use with the [Get Search Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon) API.", - "type": "object", - "readOnly": true, - "properties": { - "geometry": { - "$ref": "#/definitions/DataSourcesGeometry" - } - } - }, - "DataSourcesGeometry": { - "description": "Information about the geometric shape of the result. Only present if type == Geography.", - "type": "object", - "properties": { - "id": { - "description": "Pass this as geometryId to the [Get Search Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon) API to fetch geometry information for this result.", - "type": "string", - "readOnly": true - } - } + "x-ms-client-name": "distanceInMeters" }, "EntityType": { "description": "Geography entity type. Present only when entityType was requested and is available.", @@ -2453,7 +2544,7 @@ "PostalCodeArea" ], "x-ms-enum": { - "name": "EntityType", + "name": "GeographicEntityType", "modelAsString": true, "values": [ { @@ -2491,55 +2582,59 @@ ] } }, - "SearchFuzzyBatchResponse": { - "description": "This object is returned from a successful Search Fuzzy Batch service call.", + "RoadUseType": { + "description": "Describes the possible uses of a road.", + "type": "string", + "readOnly": true, + "enum": [ + "LimitedAccess", + "Arterial", + "Terminal", + "Ramp", + "Rotary", + "LocalStreet" + ] + }, + "MatchType": { + "description": "Types of match for a reverse address search operation.", + "type": "string", + "readOnly": true, + "enum": [ + "AddressPoint", + "HouseNumberRange", + "Street" + ] + }, + "DataSources": { + "x-ms-client-name": "DataSource", + "description": "Optional section. Reference ids for use with the [Get Search Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon) API.", "type": "object", - "allOf": [ - { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResponse" - } - ], + "readOnly": true, "properties": { - "batchItems": { - "description": "Array containing the batch results.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/SearchFuzzyBatchItem" - } + "geometry": { + "$ref": "#/definitions/Geometry" } } }, - "SearchFuzzyBatchItem": { - "description": "An item returned from Search Fuzzy Batch service call.", + "Geometry": { + "x-ms-client-name": "GeometryIdentifier", + "description": "Information about the geometric shape of the result. Only present if type == Geography.", "type": "object", - "allOf": [ - { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchItem" - } - ], "properties": { - "response": { - "description": "The result of the query. SearchCommonResponse if the query completed successfully, ErrorResponse otherwise.", - "type": "object", - "readOnly": true, - "allOf": [ - { - "$ref": "#/definitions/SearchCommonResponse" - }, - { - "$ref": "../../../../../common-types/data-plane/v1/types.json#/definitions/ErrorResponse" - } - ] + "id": { + "description": "Pass this as geometryId to the [Get Search Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon) API to fetch geometry information for this result.", + "type": "string", + "readOnly": true } } }, - "SearchAddressBatchResponse": { + "SearchAddressBatchProcessResult": { + "x-ms-client-name": "SearchAddressBatchResult", "description": "This object is returned from a successful Search Address Batch service call.", "type": "object", "allOf": [ { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResponse" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResult" } ], "properties": { @@ -2558,17 +2653,17 @@ "type": "object", "allOf": [ { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchItem" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResultItem" } ], "properties": { "response": { - "description": "The result of the query. SearchCommonResponse if the query completed successfully, ErrorResponse otherwise.", + "description": "The result of the query. SearchAddressResponse if the query completed successfully, ErrorResponse otherwise.", "type": "object", "readOnly": true, "allOf": [ { - "$ref": "#/definitions/SearchCommonResponse" + "$ref": "#/definitions/SearchAddressResult" }, { "$ref": "../../../../../common-types/data-plane/v1/types.json#/definitions/ErrorResponse" @@ -2577,12 +2672,12 @@ } } }, - "SearchAddressReverseBatchResponse": { + "ReverseSearchAddressBatchProcessResult": { "description": "This object is returned from a successful Search Address Reverse Batch service call.", "type": "object", "allOf": [ { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResponse" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResult" } ], "properties": { @@ -2591,17 +2686,17 @@ "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/SearchAddressReverseBatchItem" + "$ref": "#/definitions/ReverseSearchAddressBatchItem" } } } }, - "SearchAddressReverseBatchItem": { + "ReverseSearchAddressBatchItem": { "description": "An item returned from Search Address Reverse Batch service call.", "type": "object", "allOf": [ { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchItem" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResultItem" } ], "properties": { @@ -2611,7 +2706,7 @@ "readOnly": true, "allOf": [ { - "$ref": "#/definitions/SearchAddressReverseResponse" + "$ref": "#/definitions/ReverseSearchAddressResult" }, { "$ref": "../../../../../common-types/data-plane/v1/types.json#/definitions/ErrorResponse" diff --git a/specification/maps/data-plane/Search/readme.md b/specification/maps/data-plane/Search/readme.md index a2cfe6b0f075..7c5040aa60f9 100644 --- a/specification/maps/data-plane/Search/readme.md +++ b/specification/maps/data-plane/Search/readme.md @@ -66,7 +66,7 @@ swagger-to-sdk: #should be azure-sdk-for-net-track2, but SDK has not yet onboarded #manually generate for now with track2 - - repo: azure-sdk-for-net + #- repo: azure-sdk-for-net ``` ## Python diff --git a/specification/maps/data-plane/Search/readme.python.md b/specification/maps/data-plane/Search/readme.python.md index eff0dc04110c..a578a5829fc8 100644 --- a/specification/maps/data-plane/Search/readme.python.md +++ b/specification/maps/data-plane/Search/readme.python.md @@ -14,9 +14,9 @@ clear-output-folder: true ``` ``` yaml $(python) && $(python-mode) == 'update' no-namespace-folders: true -output-folder: $(python-sdks-folder)/maps/azure-maps-search/azure/maps/search +output-folder: $(python-sdks-folder)/maps/azure-maps-search/azure/maps/search/_generated ``` ``` yaml $(python) && $(python-mode) == 'create' basic-setup-py: true -output-folder: $(python-sdks-folder)/maps/azure-maps-search +output-folder: $(python-sdks-folder)/maps/azure-maps-search/ ``` diff --git a/specification/maps/data-plane/Search/readme.typescript.md b/specification/maps/data-plane/Search/readme.typescript.md index e4651762495b..f17cf008e411 100644 --- a/specification/maps/data-plane/Search/readme.typescript.md +++ b/specification/maps/data-plane/Search/readme.typescript.md @@ -20,10 +20,4 @@ directive: "type": "object" }; reason: Autorest TS codegen does not deserialize array of base class objects as an operation parameter properly -> https://github.com/Azure/autorest.typescript/issues/1040 - - remove-operation: Search_GetSearchFuzzyBatch - reason: This operation is created for Java SDK that has no LRO poller implementation - - remove-operation: Search_GetSearchAddressBatch - reason: This operation is created for Java SDK that has no LRO poller implementation - - remove-operation: Search_GetSearchAddressReverseBatch - reason: This operation is created for Java SDK that has no LRO poller implementation ``` diff --git a/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneEnumIANA.json b/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneEnumIANA.json index ea0b2f096580..2db943d752e7 100644 --- a/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneEnumIANA.json +++ b/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneEnumIANA.json @@ -7,3177 +7,3177 @@ "200": { "body": [ { - "id": "Africa/Bamako", - "isAlias": true, - "aliasOf": "Africa/Abidjan", - "hasZone1970Location": true + "Id": "Africa/Bamako", + "IsAlias": true, + "AliasOf": "Africa/Abidjan", + "HasZone1970Location": true }, { - "id": "Africa/Banjul", - "isAlias": true, - "aliasOf": "Africa/Abidjan", - "hasZone1970Location": true + "Id": "Africa/Banjul", + "IsAlias": true, + "AliasOf": "Africa/Abidjan", + "HasZone1970Location": true }, { - "id": "Africa/Conakry", - "isAlias": true, - "aliasOf": "Africa/Abidjan", - "hasZone1970Location": true + "Id": "Africa/Conakry", + "IsAlias": true, + "AliasOf": "Africa/Abidjan", + "HasZone1970Location": true }, { - "id": "Africa/Dakar", - "isAlias": true, - "aliasOf": "Africa/Abidjan", - "hasZone1970Location": true + "Id": "Africa/Dakar", + "IsAlias": true, + "AliasOf": "Africa/Abidjan", + "HasZone1970Location": true }, { - "id": "Africa/Freetown", - "isAlias": true, - "aliasOf": "Africa/Abidjan", - "hasZone1970Location": true + "Id": "Africa/Freetown", + "IsAlias": true, + "AliasOf": "Africa/Abidjan", + "HasZone1970Location": true }, { - "id": "Africa/Lome", - "isAlias": true, - "aliasOf": "Africa/Abidjan", - "hasZone1970Location": true + "Id": "Africa/Lome", + "IsAlias": true, + "AliasOf": "Africa/Abidjan", + "HasZone1970Location": true }, { - "id": "Africa/Nouakchott", - "isAlias": true, - "aliasOf": "Africa/Abidjan", - "hasZone1970Location": true + "Id": "Africa/Nouakchott", + "IsAlias": true, + "AliasOf": "Africa/Abidjan", + "HasZone1970Location": true }, { - "id": "Africa/Ouagadougou", - "isAlias": true, - "aliasOf": "Africa/Abidjan", - "hasZone1970Location": true + "Id": "Africa/Ouagadougou", + "IsAlias": true, + "AliasOf": "Africa/Abidjan", + "HasZone1970Location": true }, { - "id": "Africa/Sao_Tome", - "isAlias": true, - "aliasOf": "Africa/Abidjan", - "hasZone1970Location": true + "Id": "Africa/Sao_Tome", + "IsAlias": true, + "AliasOf": "Africa/Abidjan", + "HasZone1970Location": true }, { - "id": "Atlantic/St_Helena", - "isAlias": true, - "aliasOf": "Africa/Abidjan", - "hasZone1970Location": true + "Id": "Atlantic/St_Helena", + "IsAlias": true, + "AliasOf": "Africa/Abidjan", + "HasZone1970Location": true }, { - "id": "Africa/Addis_Ababa", - "isAlias": true, - "aliasOf": "Africa/Nairobi", - "hasZone1970Location": true + "Id": "Africa/Addis_Ababa", + "IsAlias": true, + "AliasOf": "Africa/Nairobi", + "HasZone1970Location": true }, { - "id": "Africa/Asmara", - "isAlias": true, - "aliasOf": "Africa/Nairobi", - "hasZone1970Location": true + "Id": "Africa/Asmara", + "IsAlias": true, + "AliasOf": "Africa/Nairobi", + "HasZone1970Location": true }, { - "id": "Africa/Dar_es_Salaam", - "isAlias": true, - "aliasOf": "Africa/Nairobi", - "hasZone1970Location": true + "Id": "Africa/Dar_es_Salaam", + "IsAlias": true, + "AliasOf": "Africa/Nairobi", + "HasZone1970Location": true }, { - "id": "Africa/Djibouti", - "isAlias": true, - "aliasOf": "Africa/Nairobi", - "hasZone1970Location": true + "Id": "Africa/Djibouti", + "IsAlias": true, + "AliasOf": "Africa/Nairobi", + "HasZone1970Location": true }, { - "id": "Africa/Kampala", - "isAlias": true, - "aliasOf": "Africa/Nairobi", - "hasZone1970Location": true + "Id": "Africa/Kampala", + "IsAlias": true, + "AliasOf": "Africa/Nairobi", + "HasZone1970Location": true }, { - "id": "Africa/Mogadishu", - "isAlias": true, - "aliasOf": "Africa/Nairobi", - "hasZone1970Location": true + "Id": "Africa/Mogadishu", + "IsAlias": true, + "AliasOf": "Africa/Nairobi", + "HasZone1970Location": true }, { - "id": "Indian/Antananarivo", - "isAlias": true, - "aliasOf": "Africa/Nairobi", - "hasZone1970Location": true + "Id": "Indian/Antananarivo", + "IsAlias": true, + "AliasOf": "Africa/Nairobi", + "HasZone1970Location": true }, { - "id": "Indian/Comoro", - "isAlias": true, - "aliasOf": "Africa/Nairobi", - "hasZone1970Location": true + "Id": "Indian/Comoro", + "IsAlias": true, + "AliasOf": "Africa/Nairobi", + "HasZone1970Location": true }, { - "id": "Indian/Mayotte", - "isAlias": true, - "aliasOf": "Africa/Nairobi", - "hasZone1970Location": true + "Id": "Indian/Mayotte", + "IsAlias": true, + "AliasOf": "Africa/Nairobi", + "HasZone1970Location": true }, { - "id": "Africa/Blantyre", - "isAlias": true, - "aliasOf": "Africa/Maputo", - "hasZone1970Location": true + "Id": "Africa/Blantyre", + "IsAlias": true, + "AliasOf": "Africa/Maputo", + "HasZone1970Location": true }, { - "id": "Africa/Bujumbura", - "isAlias": true, - "aliasOf": "Africa/Maputo", - "hasZone1970Location": true + "Id": "Africa/Bujumbura", + "IsAlias": true, + "AliasOf": "Africa/Maputo", + "HasZone1970Location": true }, { - "id": "Africa/Gaborone", - "isAlias": true, - "aliasOf": "Africa/Maputo", - "hasZone1970Location": true + "Id": "Africa/Gaborone", + "IsAlias": true, + "AliasOf": "Africa/Maputo", + "HasZone1970Location": true }, { - "id": "Africa/Harare", - "isAlias": true, - "aliasOf": "Africa/Maputo", - "hasZone1970Location": true + "Id": "Africa/Harare", + "IsAlias": true, + "AliasOf": "Africa/Maputo", + "HasZone1970Location": true }, { - "id": "Africa/Kigali", - "isAlias": true, - "aliasOf": "Africa/Maputo", - "hasZone1970Location": true + "Id": "Africa/Kigali", + "IsAlias": true, + "AliasOf": "Africa/Maputo", + "HasZone1970Location": true }, { - "id": "Africa/Lubumbashi", - "isAlias": true, - "aliasOf": "Africa/Maputo", - "hasZone1970Location": true + "Id": "Africa/Lubumbashi", + "IsAlias": true, + "AliasOf": "Africa/Maputo", + "HasZone1970Location": true }, { - "id": "Africa/Lusaka", - "isAlias": true, - "aliasOf": "Africa/Maputo", - "hasZone1970Location": true + "Id": "Africa/Lusaka", + "IsAlias": true, + "AliasOf": "Africa/Maputo", + "HasZone1970Location": true }, { - "id": "Africa/Bangui", - "isAlias": true, - "aliasOf": "Africa/Lagos", - "hasZone1970Location": true + "Id": "Africa/Bangui", + "IsAlias": true, + "AliasOf": "Africa/Lagos", + "HasZone1970Location": true }, { - "id": "Africa/Brazzaville", - "isAlias": true, - "aliasOf": "Africa/Lagos", - "hasZone1970Location": true + "Id": "Africa/Brazzaville", + "IsAlias": true, + "AliasOf": "Africa/Lagos", + "HasZone1970Location": true }, { - "id": "Africa/Douala", - "isAlias": true, - "aliasOf": "Africa/Lagos", - "hasZone1970Location": true + "Id": "Africa/Douala", + "IsAlias": true, + "AliasOf": "Africa/Lagos", + "HasZone1970Location": true }, { - "id": "Africa/Kinshasa", - "isAlias": true, - "aliasOf": "Africa/Lagos", - "hasZone1970Location": true + "Id": "Africa/Kinshasa", + "IsAlias": true, + "AliasOf": "Africa/Lagos", + "HasZone1970Location": true }, { - "id": "Africa/Libreville", - "isAlias": true, - "aliasOf": "Africa/Lagos", - "hasZone1970Location": true + "Id": "Africa/Libreville", + "IsAlias": true, + "AliasOf": "Africa/Lagos", + "HasZone1970Location": true }, { - "id": "Africa/Luanda", - "isAlias": true, - "aliasOf": "Africa/Lagos", - "hasZone1970Location": true + "Id": "Africa/Luanda", + "IsAlias": true, + "AliasOf": "Africa/Lagos", + "HasZone1970Location": true }, { - "id": "Africa/Malabo", - "isAlias": true, - "aliasOf": "Africa/Lagos", - "hasZone1970Location": true + "Id": "Africa/Malabo", + "IsAlias": true, + "AliasOf": "Africa/Lagos", + "HasZone1970Location": true }, { - "id": "Africa/Niamey", - "isAlias": true, - "aliasOf": "Africa/Lagos", - "hasZone1970Location": true + "Id": "Africa/Niamey", + "IsAlias": true, + "AliasOf": "Africa/Lagos", + "HasZone1970Location": true }, { - "id": "Africa/Porto-Novo", - "isAlias": true, - "aliasOf": "Africa/Lagos", - "hasZone1970Location": true + "Id": "Africa/Porto-Novo", + "IsAlias": true, + "AliasOf": "Africa/Lagos", + "HasZone1970Location": true }, { - "id": "Africa/Maseru", - "isAlias": true, - "aliasOf": "Africa/Johannesburg", - "hasZone1970Location": true + "Id": "Africa/Maseru", + "IsAlias": true, + "AliasOf": "Africa/Johannesburg", + "HasZone1970Location": true }, { - "id": "Africa/Mbabane", - "isAlias": true, - "aliasOf": "Africa/Johannesburg", - "hasZone1970Location": true + "Id": "Africa/Mbabane", + "IsAlias": true, + "AliasOf": "Africa/Johannesburg", + "HasZone1970Location": true }, { - "id": "Africa/Juba", - "isAlias": true, - "aliasOf": "Africa/Khartoum", - "hasZone1970Location": true + "Id": "Africa/Juba", + "IsAlias": true, + "AliasOf": "Africa/Khartoum", + "HasZone1970Location": true }, { - "id": "Europe/Nicosia", - "isAlias": true, - "aliasOf": "Asia/Nicosia", - "hasZone1970Location": true + "Id": "Europe/Nicosia", + "IsAlias": true, + "AliasOf": "Asia/Nicosia", + "HasZone1970Location": true }, { - "id": "Asia/Bahrain", - "isAlias": true, - "aliasOf": "Asia/Qatar", - "hasZone1970Location": true + "Id": "Asia/Bahrain", + "IsAlias": true, + "AliasOf": "Asia/Qatar", + "HasZone1970Location": true }, { - "id": "Asia/Aden", - "isAlias": true, - "aliasOf": "Asia/Riyadh", - "hasZone1970Location": true + "Id": "Asia/Aden", + "IsAlias": true, + "AliasOf": "Asia/Riyadh", + "HasZone1970Location": true }, { - "id": "Asia/Kuwait", - "isAlias": true, - "aliasOf": "Asia/Riyadh", - "hasZone1970Location": true + "Id": "Asia/Kuwait", + "IsAlias": true, + "AliasOf": "Asia/Riyadh", + "HasZone1970Location": true }, { - "id": "Asia/Phnom_Penh", - "isAlias": true, - "aliasOf": "Asia/Bangkok", - "hasZone1970Location": true + "Id": "Asia/Phnom_Penh", + "IsAlias": true, + "AliasOf": "Asia/Bangkok", + "HasZone1970Location": true }, { - "id": "Asia/Vientiane", - "isAlias": true, - "aliasOf": "Asia/Bangkok", - "hasZone1970Location": true + "Id": "Asia/Vientiane", + "IsAlias": true, + "AliasOf": "Asia/Bangkok", + "HasZone1970Location": true }, { - "id": "Asia/Muscat", - "isAlias": true, - "aliasOf": "Asia/Dubai", - "hasZone1970Location": true + "Id": "Asia/Muscat", + "IsAlias": true, + "AliasOf": "Asia/Dubai", + "HasZone1970Location": true }, { - "id": "Pacific/Saipan", - "isAlias": true, - "aliasOf": "Pacific/Guam", - "hasZone1970Location": true + "Id": "Pacific/Saipan", + "IsAlias": true, + "AliasOf": "Pacific/Guam", + "HasZone1970Location": true }, { - "id": "Antarctica/McMurdo", - "isAlias": true, - "aliasOf": "Pacific/Auckland", - "hasZone1970Location": true + "Id": "Antarctica/McMurdo", + "IsAlias": true, + "AliasOf": "Pacific/Auckland", + "HasZone1970Location": true }, { - "id": "Pacific/Midway", - "isAlias": true, - "aliasOf": "Pacific/Pago_Pago", - "hasZone1970Location": true + "Id": "Pacific/Midway", + "IsAlias": true, + "AliasOf": "Pacific/Pago_Pago", + "HasZone1970Location": true }, { - "id": "Europe/Jersey", - "isAlias": true, - "aliasOf": "Europe/London", - "hasZone1970Location": true + "Id": "Europe/Jersey", + "IsAlias": true, + "AliasOf": "Europe/London", + "HasZone1970Location": true }, { - "id": "Europe/Guernsey", - "isAlias": true, - "aliasOf": "Europe/London", - "hasZone1970Location": true + "Id": "Europe/Guernsey", + "IsAlias": true, + "AliasOf": "Europe/London", + "HasZone1970Location": true }, { - "id": "Europe/Isle_of_Man", - "isAlias": true, - "aliasOf": "Europe/London", - "hasZone1970Location": true + "Id": "Europe/Isle_of_Man", + "IsAlias": true, + "AliasOf": "Europe/London", + "HasZone1970Location": true }, { - "id": "Europe/Mariehamn", - "isAlias": true, - "aliasOf": "Europe/Helsinki", - "hasZone1970Location": true + "Id": "Europe/Mariehamn", + "IsAlias": true, + "AliasOf": "Europe/Helsinki", + "HasZone1970Location": true }, { - "id": "Europe/Busingen", - "isAlias": true, - "aliasOf": "Europe/Zurich", - "hasZone1970Location": true + "Id": "Europe/Busingen", + "IsAlias": true, + "AliasOf": "Europe/Zurich", + "HasZone1970Location": true }, { - "id": "Europe/Vatican", - "isAlias": true, - "aliasOf": "Europe/Rome", - "hasZone1970Location": true + "Id": "Europe/Vatican", + "IsAlias": true, + "AliasOf": "Europe/Rome", + "HasZone1970Location": true }, { - "id": "Europe/San_Marino", - "isAlias": true, - "aliasOf": "Europe/Rome", - "hasZone1970Location": true + "Id": "Europe/San_Marino", + "IsAlias": true, + "AliasOf": "Europe/Rome", + "HasZone1970Location": true }, { - "id": "Europe/Vaduz", - "isAlias": true, - "aliasOf": "Europe/Zurich", - "hasZone1970Location": true + "Id": "Europe/Vaduz", + "IsAlias": true, + "AliasOf": "Europe/Zurich", + "HasZone1970Location": true }, { - "id": "Arctic/Longyearbyen", - "isAlias": true, - "aliasOf": "Europe/Oslo", - "hasZone1970Location": true + "Id": "Arctic/Longyearbyen", + "IsAlias": true, + "AliasOf": "Europe/Oslo", + "HasZone1970Location": true }, { - "id": "Europe/Ljubljana", - "isAlias": true, - "aliasOf": "Europe/Belgrade", - "hasZone1970Location": true + "Id": "Europe/Ljubljana", + "IsAlias": true, + "AliasOf": "Europe/Belgrade", + "HasZone1970Location": true }, { - "id": "Europe/Podgorica", - "isAlias": true, - "aliasOf": "Europe/Belgrade", - "hasZone1970Location": true + "Id": "Europe/Podgorica", + "IsAlias": true, + "AliasOf": "Europe/Belgrade", + "HasZone1970Location": true }, { - "id": "Europe/Sarajevo", - "isAlias": true, - "aliasOf": "Europe/Belgrade", - "hasZone1970Location": true + "Id": "Europe/Sarajevo", + "IsAlias": true, + "AliasOf": "Europe/Belgrade", + "HasZone1970Location": true }, { - "id": "Europe/Skopje", - "isAlias": true, - "aliasOf": "Europe/Belgrade", - "hasZone1970Location": true + "Id": "Europe/Skopje", + "IsAlias": true, + "AliasOf": "Europe/Belgrade", + "HasZone1970Location": true }, { - "id": "Europe/Zagreb", - "isAlias": true, - "aliasOf": "Europe/Belgrade", - "hasZone1970Location": true + "Id": "Europe/Zagreb", + "IsAlias": true, + "AliasOf": "Europe/Belgrade", + "HasZone1970Location": true }, { - "id": "Europe/Bratislava", - "isAlias": true, - "aliasOf": "Europe/Prague", - "hasZone1970Location": true + "Id": "Europe/Bratislava", + "IsAlias": true, + "AliasOf": "Europe/Prague", + "HasZone1970Location": true }, { - "id": "Asia/Istanbul", - "isAlias": true, - "aliasOf": "Europe/Istanbul", - "hasZone1970Location": true + "Id": "Asia/Istanbul", + "IsAlias": true, + "AliasOf": "Europe/Istanbul", + "HasZone1970Location": true }, { - "id": "America/Cayman", - "isAlias": true, - "aliasOf": "America/Panama", - "hasZone1970Location": true + "Id": "America/Cayman", + "IsAlias": true, + "AliasOf": "America/Panama", + "HasZone1970Location": true }, { - "id": "America/Aruba", - "isAlias": true, - "aliasOf": "America/Curacao", - "hasZone1970Location": true + "Id": "America/Aruba", + "IsAlias": true, + "AliasOf": "America/Curacao", + "HasZone1970Location": true }, { - "id": "America/Lower_Princes", - "isAlias": true, - "aliasOf": "America/Curacao", - "hasZone1970Location": true + "Id": "America/Lower_Princes", + "IsAlias": true, + "AliasOf": "America/Curacao", + "HasZone1970Location": true }, { - "id": "America/Kralendijk", - "isAlias": true, - "aliasOf": "America/Curacao", - "hasZone1970Location": true + "Id": "America/Kralendijk", + "IsAlias": true, + "AliasOf": "America/Curacao", + "HasZone1970Location": true }, { - "id": "America/Anguilla", - "isAlias": true, - "aliasOf": "America/Port_of_Spain", - "hasZone1970Location": true + "Id": "America/Anguilla", + "IsAlias": true, + "AliasOf": "America/Port_of_Spain", + "HasZone1970Location": true }, { - "id": "America/Antigua", - "isAlias": true, - "aliasOf": "America/Port_of_Spain", - "hasZone1970Location": true + "Id": "America/Antigua", + "IsAlias": true, + "AliasOf": "America/Port_of_Spain", + "HasZone1970Location": true }, { - "id": "America/Dominica", - "isAlias": true, - "aliasOf": "America/Port_of_Spain", - "hasZone1970Location": true + "Id": "America/Dominica", + "IsAlias": true, + "AliasOf": "America/Port_of_Spain", + "HasZone1970Location": true }, { - "id": "America/Grenada", - "isAlias": true, - "aliasOf": "America/Port_of_Spain", - "hasZone1970Location": true + "Id": "America/Grenada", + "IsAlias": true, + "AliasOf": "America/Port_of_Spain", + "HasZone1970Location": true }, { - "id": "America/Guadeloupe", - "isAlias": true, - "aliasOf": "America/Port_of_Spain", - "hasZone1970Location": true + "Id": "America/Guadeloupe", + "IsAlias": true, + "AliasOf": "America/Port_of_Spain", + "HasZone1970Location": true }, { - "id": "America/Marigot", - "isAlias": true, - "aliasOf": "America/Port_of_Spain", - "hasZone1970Location": true + "Id": "America/Marigot", + "IsAlias": true, + "AliasOf": "America/Port_of_Spain", + "HasZone1970Location": true }, { - "id": "America/Montserrat", - "isAlias": true, - "aliasOf": "America/Port_of_Spain", - "hasZone1970Location": true + "Id": "America/Montserrat", + "IsAlias": true, + "AliasOf": "America/Port_of_Spain", + "HasZone1970Location": true }, { - "id": "America/St_Barthelemy", - "isAlias": true, - "aliasOf": "America/Port_of_Spain", - "hasZone1970Location": true + "Id": "America/St_Barthelemy", + "IsAlias": true, + "AliasOf": "America/Port_of_Spain", + "HasZone1970Location": true }, { - "id": "America/St_Kitts", - "isAlias": true, - "aliasOf": "America/Port_of_Spain", - "hasZone1970Location": true + "Id": "America/St_Kitts", + "IsAlias": true, + "AliasOf": "America/Port_of_Spain", + "HasZone1970Location": true }, { - "id": "America/St_Lucia", - "isAlias": true, - "aliasOf": "America/Port_of_Spain", - "hasZone1970Location": true + "Id": "America/St_Lucia", + "IsAlias": true, + "AliasOf": "America/Port_of_Spain", + "HasZone1970Location": true }, { - "id": "America/St_Thomas", - "isAlias": true, - "aliasOf": "America/Port_of_Spain", - "hasZone1970Location": true + "Id": "America/St_Thomas", + "IsAlias": true, + "AliasOf": "America/Port_of_Spain", + "HasZone1970Location": true }, { - "id": "America/St_Vincent", - "isAlias": true, - "aliasOf": "America/Port_of_Spain", - "hasZone1970Location": true + "Id": "America/St_Vincent", + "IsAlias": true, + "AliasOf": "America/Port_of_Spain", + "HasZone1970Location": true }, { - "id": "America/Tortola", - "isAlias": true, - "aliasOf": "America/Port_of_Spain", - "hasZone1970Location": true + "Id": "America/Tortola", + "IsAlias": true, + "AliasOf": "America/Port_of_Spain", + "HasZone1970Location": true }, { - "id": "US/Pacific-New", - "isAlias": true, - "aliasOf": "America/Los_Angeles", - "hasZone1970Location": true + "Id": "US/Pacific-New", + "IsAlias": true, + "AliasOf": "America/Los_Angeles", + "HasZone1970Location": true }, { - "id": "GMT", - "isAlias": true, - "aliasOf": "Etc/GMT", - "hasZone1970Location": false + "Id": "GMT", + "IsAlias": true, + "AliasOf": "Etc/GMT", + "HasZone1970Location": false }, { - "id": "Etc/Universal", - "isAlias": true, - "aliasOf": "Etc/UTC", - "hasZone1970Location": false + "Id": "Etc/Universal", + "IsAlias": true, + "AliasOf": "Etc/UTC", + "HasZone1970Location": false }, { - "id": "Etc/Zulu", - "isAlias": true, - "aliasOf": "Etc/UTC", - "hasZone1970Location": false + "Id": "Etc/Zulu", + "IsAlias": true, + "AliasOf": "Etc/UTC", + "HasZone1970Location": false }, { - "id": "Etc/Greenwich", - "isAlias": true, - "aliasOf": "Etc/GMT", - "hasZone1970Location": false + "Id": "Etc/Greenwich", + "IsAlias": true, + "AliasOf": "Etc/GMT", + "HasZone1970Location": false }, { - "id": "Etc/GMT-0", - "isAlias": true, - "aliasOf": "Etc/GMT", - "hasZone1970Location": false + "Id": "Etc/GMT-0", + "IsAlias": true, + "AliasOf": "Etc/GMT", + "HasZone1970Location": false }, { - "id": "Etc/GMT+0", - "isAlias": true, - "aliasOf": "Etc/GMT", - "hasZone1970Location": false + "Id": "Etc/GMT+0", + "IsAlias": true, + "AliasOf": "Etc/GMT", + "HasZone1970Location": false }, { - "id": "Etc/GMT0", - "isAlias": true, - "aliasOf": "Etc/GMT", - "hasZone1970Location": false + "Id": "Etc/GMT0", + "IsAlias": true, + "AliasOf": "Etc/GMT", + "HasZone1970Location": false }, { - "id": "Africa/Asmera", - "isAlias": true, - "aliasOf": "Africa/Nairobi", - "hasZone1970Location": true + "Id": "Africa/Asmera", + "IsAlias": true, + "AliasOf": "Africa/Nairobi", + "HasZone1970Location": true }, { - "id": "Africa/Timbuktu", - "isAlias": true, - "aliasOf": "Africa/Abidjan", - "hasZone1970Location": true + "Id": "Africa/Timbuktu", + "IsAlias": true, + "AliasOf": "Africa/Abidjan", + "HasZone1970Location": true }, { - "id": "America/Argentina/ComodRivadavia", - "isAlias": true, - "aliasOf": "America/Argentina/Catamarca", - "hasZone1970Location": true + "Id": "America/Argentina/ComodRivadavia", + "IsAlias": true, + "AliasOf": "America/Argentina/Catamarca", + "HasZone1970Location": true }, { - "id": "America/Atka", - "isAlias": true, - "aliasOf": "America/Adak", - "hasZone1970Location": true + "Id": "America/Atka", + "IsAlias": true, + "AliasOf": "America/Adak", + "HasZone1970Location": true }, { - "id": "America/Buenos_Aires", - "isAlias": true, - "aliasOf": "America/Argentina/Buenos_Aires", - "hasZone1970Location": true + "Id": "America/Buenos_Aires", + "IsAlias": true, + "AliasOf": "America/Argentina/Buenos_Aires", + "HasZone1970Location": true }, { - "id": "America/Catamarca", - "isAlias": true, - "aliasOf": "America/Argentina/Catamarca", - "hasZone1970Location": true + "Id": "America/Catamarca", + "IsAlias": true, + "AliasOf": "America/Argentina/Catamarca", + "HasZone1970Location": true }, { - "id": "America/Coral_Harbour", - "isAlias": true, - "aliasOf": "America/Atikokan", - "hasZone1970Location": true + "Id": "America/Coral_Harbour", + "IsAlias": true, + "AliasOf": "America/Atikokan", + "HasZone1970Location": true }, { - "id": "America/Cordoba", - "isAlias": true, - "aliasOf": "America/Argentina/Cordoba", - "hasZone1970Location": true + "Id": "America/Cordoba", + "IsAlias": true, + "AliasOf": "America/Argentina/Cordoba", + "HasZone1970Location": true }, { - "id": "America/Ensenada", - "isAlias": true, - "aliasOf": "America/Tijuana", - "hasZone1970Location": true + "Id": "America/Ensenada", + "IsAlias": true, + "AliasOf": "America/Tijuana", + "HasZone1970Location": true }, { - "id": "America/Fort_Wayne", - "isAlias": true, - "aliasOf": "America/Indiana/Indianapolis", - "hasZone1970Location": true + "Id": "America/Fort_Wayne", + "IsAlias": true, + "AliasOf": "America/Indiana/Indianapolis", + "HasZone1970Location": true }, { - "id": "America/Indianapolis", - "isAlias": true, - "aliasOf": "America/Indiana/Indianapolis", - "hasZone1970Location": true + "Id": "America/Indianapolis", + "IsAlias": true, + "AliasOf": "America/Indiana/Indianapolis", + "HasZone1970Location": true }, { - "id": "America/Jujuy", - "isAlias": true, - "aliasOf": "America/Argentina/Jujuy", - "hasZone1970Location": true + "Id": "America/Jujuy", + "IsAlias": true, + "AliasOf": "America/Argentina/Jujuy", + "HasZone1970Location": true }, { - "id": "America/Knox_IN", - "isAlias": true, - "aliasOf": "America/Indiana/Knox", - "hasZone1970Location": true + "Id": "America/Knox_IN", + "IsAlias": true, + "AliasOf": "America/Indiana/Knox", + "HasZone1970Location": true }, { - "id": "America/Louisville", - "isAlias": true, - "aliasOf": "America/Kentucky/Louisville", - "hasZone1970Location": true + "Id": "America/Louisville", + "IsAlias": true, + "AliasOf": "America/Kentucky/Louisville", + "HasZone1970Location": true }, { - "id": "America/Mendoza", - "isAlias": true, - "aliasOf": "America/Argentina/Mendoza", - "hasZone1970Location": true + "Id": "America/Mendoza", + "IsAlias": true, + "AliasOf": "America/Argentina/Mendoza", + "HasZone1970Location": true }, { - "id": "America/Montreal", - "isAlias": true, - "aliasOf": "America/Toronto", - "hasZone1970Location": true + "Id": "America/Montreal", + "IsAlias": true, + "AliasOf": "America/Toronto", + "HasZone1970Location": true }, { - "id": "America/Porto_Acre", - "isAlias": true, - "aliasOf": "America/Rio_Branco", - "hasZone1970Location": true + "Id": "America/Porto_Acre", + "IsAlias": true, + "AliasOf": "America/Rio_Branco", + "HasZone1970Location": true }, { - "id": "America/Rosario", - "isAlias": true, - "aliasOf": "America/Argentina/Cordoba", - "hasZone1970Location": true + "Id": "America/Rosario", + "IsAlias": true, + "AliasOf": "America/Argentina/Cordoba", + "HasZone1970Location": true }, { - "id": "America/Santa_Isabel", - "isAlias": true, - "aliasOf": "America/Tijuana", - "hasZone1970Location": true + "Id": "America/Santa_Isabel", + "IsAlias": true, + "AliasOf": "America/Tijuana", + "HasZone1970Location": true }, { - "id": "America/Shiprock", - "isAlias": true, - "aliasOf": "America/Denver", - "hasZone1970Location": true + "Id": "America/Shiprock", + "IsAlias": true, + "AliasOf": "America/Denver", + "HasZone1970Location": true }, { - "id": "America/Virgin", - "isAlias": true, - "aliasOf": "America/Port_of_Spain", - "hasZone1970Location": true + "Id": "America/Virgin", + "IsAlias": true, + "AliasOf": "America/Port_of_Spain", + "HasZone1970Location": true }, { - "id": "Antarctica/South_Pole", - "isAlias": true, - "aliasOf": "Pacific/Auckland", - "hasZone1970Location": true + "Id": "Antarctica/South_Pole", + "IsAlias": true, + "AliasOf": "Pacific/Auckland", + "HasZone1970Location": true }, { - "id": "Asia/Ashkhabad", - "isAlias": true, - "aliasOf": "Asia/Ashgabat", - "hasZone1970Location": true + "Id": "Asia/Ashkhabad", + "IsAlias": true, + "AliasOf": "Asia/Ashgabat", + "HasZone1970Location": true }, { - "id": "Asia/Calcutta", - "isAlias": true, - "aliasOf": "Asia/Kolkata", - "hasZone1970Location": true + "Id": "Asia/Calcutta", + "IsAlias": true, + "AliasOf": "Asia/Kolkata", + "HasZone1970Location": true }, { - "id": "Asia/Chongqing", - "isAlias": true, - "aliasOf": "Asia/Shanghai", - "hasZone1970Location": true + "Id": "Asia/Chongqing", + "IsAlias": true, + "AliasOf": "Asia/Shanghai", + "HasZone1970Location": true }, { - "id": "Asia/Chungking", - "isAlias": true, - "aliasOf": "Asia/Shanghai", - "hasZone1970Location": true + "Id": "Asia/Chungking", + "IsAlias": true, + "AliasOf": "Asia/Shanghai", + "HasZone1970Location": true }, { - "id": "Asia/Dacca", - "isAlias": true, - "aliasOf": "Asia/Dhaka", - "hasZone1970Location": true + "Id": "Asia/Dacca", + "IsAlias": true, + "AliasOf": "Asia/Dhaka", + "HasZone1970Location": true }, { - "id": "Asia/Harbin", - "isAlias": true, - "aliasOf": "Asia/Shanghai", - "hasZone1970Location": true + "Id": "Asia/Harbin", + "IsAlias": true, + "AliasOf": "Asia/Shanghai", + "HasZone1970Location": true }, { - "id": "Asia/Kashgar", - "isAlias": true, - "aliasOf": "Asia/Urumqi", - "hasZone1970Location": true + "Id": "Asia/Kashgar", + "IsAlias": true, + "AliasOf": "Asia/Urumqi", + "HasZone1970Location": true }, { - "id": "Asia/Katmandu", - "isAlias": true, - "aliasOf": "Asia/Kathmandu", - "hasZone1970Location": true + "Id": "Asia/Katmandu", + "IsAlias": true, + "AliasOf": "Asia/Kathmandu", + "HasZone1970Location": true }, { - "id": "Asia/Macao", - "isAlias": true, - "aliasOf": "Asia/Macau", - "hasZone1970Location": true + "Id": "Asia/Macao", + "IsAlias": true, + "AliasOf": "Asia/Macau", + "HasZone1970Location": true }, { - "id": "Asia/Rangoon", - "isAlias": true, - "aliasOf": "Asia/Yangon", - "hasZone1970Location": true + "Id": "Asia/Rangoon", + "IsAlias": true, + "AliasOf": "Asia/Yangon", + "HasZone1970Location": true }, { - "id": "Asia/Saigon", - "isAlias": true, - "aliasOf": "Asia/Ho_Chi_Minh", - "hasZone1970Location": true + "Id": "Asia/Saigon", + "IsAlias": true, + "AliasOf": "Asia/Ho_Chi_Minh", + "HasZone1970Location": true }, { - "id": "Asia/Tel_Aviv", - "isAlias": true, - "aliasOf": "Asia/Jerusalem", - "hasZone1970Location": true + "Id": "Asia/Tel_Aviv", + "IsAlias": true, + "AliasOf": "Asia/Jerusalem", + "HasZone1970Location": true }, { - "id": "Asia/Thimbu", - "isAlias": true, - "aliasOf": "Asia/Thimphu", - "hasZone1970Location": true + "Id": "Asia/Thimbu", + "IsAlias": true, + "AliasOf": "Asia/Thimphu", + "HasZone1970Location": true }, { - "id": "Asia/Ujung_Pandang", - "isAlias": true, - "aliasOf": "Asia/Makassar", - "hasZone1970Location": true + "Id": "Asia/Ujung_Pandang", + "IsAlias": true, + "AliasOf": "Asia/Makassar", + "HasZone1970Location": true }, { - "id": "Asia/Ulan_Bator", - "isAlias": true, - "aliasOf": "Asia/Ulaanbaatar", - "hasZone1970Location": true + "Id": "Asia/Ulan_Bator", + "IsAlias": true, + "AliasOf": "Asia/Ulaanbaatar", + "HasZone1970Location": true }, { - "id": "Atlantic/Faeroe", - "isAlias": true, - "aliasOf": "Atlantic/Faroe", - "hasZone1970Location": true + "Id": "Atlantic/Faeroe", + "IsAlias": true, + "AliasOf": "Atlantic/Faroe", + "HasZone1970Location": true }, { - "id": "Atlantic/Jan_Mayen", - "isAlias": true, - "aliasOf": "Europe/Oslo", - "hasZone1970Location": true + "Id": "Atlantic/Jan_Mayen", + "IsAlias": true, + "AliasOf": "Europe/Oslo", + "HasZone1970Location": true }, { - "id": "Australia/ACT", - "isAlias": true, - "aliasOf": "Australia/Sydney", - "hasZone1970Location": true + "Id": "Australia/ACT", + "IsAlias": true, + "AliasOf": "Australia/Sydney", + "HasZone1970Location": true }, { - "id": "Australia/Canberra", - "isAlias": true, - "aliasOf": "Australia/Sydney", - "hasZone1970Location": true + "Id": "Australia/Canberra", + "IsAlias": true, + "AliasOf": "Australia/Sydney", + "HasZone1970Location": true }, { - "id": "Australia/LHI", - "isAlias": true, - "aliasOf": "Australia/Lord_Howe", - "hasZone1970Location": true + "Id": "Australia/LHI", + "IsAlias": true, + "AliasOf": "Australia/Lord_Howe", + "HasZone1970Location": true }, { - "id": "Australia/NSW", - "isAlias": true, - "aliasOf": "Australia/Sydney", - "hasZone1970Location": true + "Id": "Australia/NSW", + "IsAlias": true, + "AliasOf": "Australia/Sydney", + "HasZone1970Location": true }, { - "id": "Australia/North", - "isAlias": true, - "aliasOf": "Australia/Darwin", - "hasZone1970Location": true + "Id": "Australia/North", + "IsAlias": true, + "AliasOf": "Australia/Darwin", + "HasZone1970Location": true }, { - "id": "Australia/Queensland", - "isAlias": true, - "aliasOf": "Australia/Brisbane", - "hasZone1970Location": true + "Id": "Australia/Queensland", + "IsAlias": true, + "AliasOf": "Australia/Brisbane", + "HasZone1970Location": true }, { - "id": "Australia/South", - "isAlias": true, - "aliasOf": "Australia/Adelaide", - "hasZone1970Location": true + "Id": "Australia/South", + "IsAlias": true, + "AliasOf": "Australia/Adelaide", + "HasZone1970Location": true }, { - "id": "Australia/Tasmania", - "isAlias": true, - "aliasOf": "Australia/Hobart", - "hasZone1970Location": true + "Id": "Australia/Tasmania", + "IsAlias": true, + "AliasOf": "Australia/Hobart", + "HasZone1970Location": true }, { - "id": "Australia/Victoria", - "isAlias": true, - "aliasOf": "Australia/Melbourne", - "hasZone1970Location": true + "Id": "Australia/Victoria", + "IsAlias": true, + "AliasOf": "Australia/Melbourne", + "HasZone1970Location": true }, { - "id": "Australia/West", - "isAlias": true, - "aliasOf": "Australia/Perth", - "hasZone1970Location": true + "Id": "Australia/West", + "IsAlias": true, + "AliasOf": "Australia/Perth", + "HasZone1970Location": true }, { - "id": "Australia/Yancowinna", - "isAlias": true, - "aliasOf": "Australia/Broken_Hill", - "hasZone1970Location": true + "Id": "Australia/Yancowinna", + "IsAlias": true, + "AliasOf": "Australia/Broken_Hill", + "HasZone1970Location": true }, { - "id": "Brazil/Acre", - "isAlias": true, - "aliasOf": "America/Rio_Branco", - "hasZone1970Location": true + "Id": "Brazil/Acre", + "IsAlias": true, + "AliasOf": "America/Rio_Branco", + "HasZone1970Location": true }, { - "id": "Brazil/DeNoronha", - "isAlias": true, - "aliasOf": "America/Noronha", - "hasZone1970Location": true + "Id": "Brazil/DeNoronha", + "IsAlias": true, + "AliasOf": "America/Noronha", + "HasZone1970Location": true }, { - "id": "Brazil/East", - "isAlias": true, - "aliasOf": "America/Sao_Paulo", - "hasZone1970Location": true + "Id": "Brazil/East", + "IsAlias": true, + "AliasOf": "America/Sao_Paulo", + "HasZone1970Location": true }, { - "id": "Brazil/West", - "isAlias": true, - "aliasOf": "America/Manaus", - "hasZone1970Location": true + "Id": "Brazil/West", + "IsAlias": true, + "AliasOf": "America/Manaus", + "HasZone1970Location": true }, { - "id": "Canada/Atlantic", - "isAlias": true, - "aliasOf": "America/Halifax", - "hasZone1970Location": true + "Id": "Canada/Atlantic", + "IsAlias": true, + "AliasOf": "America/Halifax", + "HasZone1970Location": true }, { - "id": "Canada/Central", - "isAlias": true, - "aliasOf": "America/Winnipeg", - "hasZone1970Location": true + "Id": "Canada/Central", + "IsAlias": true, + "AliasOf": "America/Winnipeg", + "HasZone1970Location": true }, { - "id": "Canada/East-Saskatchewan", - "isAlias": true, - "aliasOf": "America/Regina", - "hasZone1970Location": true + "Id": "Canada/East-Saskatchewan", + "IsAlias": true, + "AliasOf": "America/Regina", + "HasZone1970Location": true }, { - "id": "Canada/Eastern", - "isAlias": true, - "aliasOf": "America/Toronto", - "hasZone1970Location": true + "Id": "Canada/Eastern", + "IsAlias": true, + "AliasOf": "America/Toronto", + "HasZone1970Location": true }, { - "id": "Canada/Mountain", - "isAlias": true, - "aliasOf": "America/Edmonton", - "hasZone1970Location": true + "Id": "Canada/Mountain", + "IsAlias": true, + "AliasOf": "America/Edmonton", + "HasZone1970Location": true }, { - "id": "Canada/Newfoundland", - "isAlias": true, - "aliasOf": "America/St_Johns", - "hasZone1970Location": true + "Id": "Canada/Newfoundland", + "IsAlias": true, + "AliasOf": "America/St_Johns", + "HasZone1970Location": true }, { - "id": "Canada/Pacific", - "isAlias": true, - "aliasOf": "America/Vancouver", - "hasZone1970Location": true + "Id": "Canada/Pacific", + "IsAlias": true, + "AliasOf": "America/Vancouver", + "HasZone1970Location": true }, { - "id": "Canada/Saskatchewan", - "isAlias": true, - "aliasOf": "America/Regina", - "hasZone1970Location": true + "Id": "Canada/Saskatchewan", + "IsAlias": true, + "AliasOf": "America/Regina", + "HasZone1970Location": true }, { - "id": "Canada/Yukon", - "isAlias": true, - "aliasOf": "America/Whitehorse", - "hasZone1970Location": true + "Id": "Canada/Yukon", + "IsAlias": true, + "AliasOf": "America/Whitehorse", + "HasZone1970Location": true }, { - "id": "Chile/Continental", - "isAlias": true, - "aliasOf": "America/Santiago", - "hasZone1970Location": true + "Id": "Chile/Continental", + "IsAlias": true, + "AliasOf": "America/Santiago", + "HasZone1970Location": true }, { - "id": "Chile/EasterIsland", - "isAlias": true, - "aliasOf": "Pacific/Easter", - "hasZone1970Location": true + "Id": "Chile/EasterIsland", + "IsAlias": true, + "AliasOf": "Pacific/Easter", + "HasZone1970Location": true }, { - "id": "Cuba", - "isAlias": true, - "aliasOf": "America/Havana", - "hasZone1970Location": true + "Id": "Cuba", + "IsAlias": true, + "AliasOf": "America/Havana", + "HasZone1970Location": true }, { - "id": "Egypt", - "isAlias": true, - "aliasOf": "Africa/Cairo", - "hasZone1970Location": true + "Id": "Egypt", + "IsAlias": true, + "AliasOf": "Africa/Cairo", + "HasZone1970Location": true }, { - "id": "Eire", - "isAlias": true, - "aliasOf": "Europe/Dublin", - "hasZone1970Location": true + "Id": "Eire", + "IsAlias": true, + "AliasOf": "Europe/Dublin", + "HasZone1970Location": true }, { - "id": "Europe/Belfast", - "isAlias": true, - "aliasOf": "Europe/London", - "hasZone1970Location": true + "Id": "Europe/Belfast", + "IsAlias": true, + "AliasOf": "Europe/London", + "HasZone1970Location": true }, { - "id": "Europe/Tiraspol", - "isAlias": true, - "aliasOf": "Europe/Chisinau", - "hasZone1970Location": true + "Id": "Europe/Tiraspol", + "IsAlias": true, + "AliasOf": "Europe/Chisinau", + "HasZone1970Location": true }, { - "id": "GB", - "isAlias": true, - "aliasOf": "Europe/London", - "hasZone1970Location": true + "Id": "GB", + "IsAlias": true, + "AliasOf": "Europe/London", + "HasZone1970Location": true }, { - "id": "GB-Eire", - "isAlias": true, - "aliasOf": "Europe/London", - "hasZone1970Location": true + "Id": "GB-Eire", + "IsAlias": true, + "AliasOf": "Europe/London", + "HasZone1970Location": true }, { - "id": "GMT+0", - "isAlias": true, - "aliasOf": "Etc/GMT", - "hasZone1970Location": false + "Id": "GMT+0", + "IsAlias": true, + "AliasOf": "Etc/GMT", + "HasZone1970Location": false }, { - "id": "GMT-0", - "isAlias": true, - "aliasOf": "Etc/GMT", - "hasZone1970Location": false + "Id": "GMT-0", + "IsAlias": true, + "AliasOf": "Etc/GMT", + "HasZone1970Location": false }, { - "id": "GMT0", - "isAlias": true, - "aliasOf": "Etc/GMT", - "hasZone1970Location": false + "Id": "GMT0", + "IsAlias": true, + "AliasOf": "Etc/GMT", + "HasZone1970Location": false }, { - "id": "Greenwich", - "isAlias": true, - "aliasOf": "Etc/GMT", - "hasZone1970Location": false + "Id": "Greenwich", + "IsAlias": true, + "AliasOf": "Etc/GMT", + "HasZone1970Location": false }, { - "id": "Hongkong", - "isAlias": true, - "aliasOf": "Asia/Hong_Kong", - "hasZone1970Location": true + "Id": "Hongkong", + "IsAlias": true, + "AliasOf": "Asia/Hong_Kong", + "HasZone1970Location": true }, { - "id": "Iceland", - "isAlias": true, - "aliasOf": "Atlantic/Reykjavik", - "hasZone1970Location": true + "Id": "Iceland", + "IsAlias": true, + "AliasOf": "Atlantic/Reykjavik", + "HasZone1970Location": true }, { - "id": "Iran", - "isAlias": true, - "aliasOf": "Asia/Tehran", - "hasZone1970Location": true + "Id": "Iran", + "IsAlias": true, + "AliasOf": "Asia/Tehran", + "HasZone1970Location": true }, { - "id": "Israel", - "isAlias": true, - "aliasOf": "Asia/Jerusalem", - "hasZone1970Location": true + "Id": "Israel", + "IsAlias": true, + "AliasOf": "Asia/Jerusalem", + "HasZone1970Location": true }, { - "id": "Jamaica", - "isAlias": true, - "aliasOf": "America/Jamaica", - "hasZone1970Location": true + "Id": "Jamaica", + "IsAlias": true, + "AliasOf": "America/Jamaica", + "HasZone1970Location": true }, { - "id": "Japan", - "isAlias": true, - "aliasOf": "Asia/Tokyo", - "hasZone1970Location": true + "Id": "Japan", + "IsAlias": true, + "AliasOf": "Asia/Tokyo", + "HasZone1970Location": true }, { - "id": "Kwajalein", - "isAlias": true, - "aliasOf": "Pacific/Kwajalein", - "hasZone1970Location": true + "Id": "Kwajalein", + "IsAlias": true, + "AliasOf": "Pacific/Kwajalein", + "HasZone1970Location": true }, { - "id": "Libya", - "isAlias": true, - "aliasOf": "Africa/Tripoli", - "hasZone1970Location": true + "Id": "Libya", + "IsAlias": true, + "AliasOf": "Africa/Tripoli", + "HasZone1970Location": true }, { - "id": "Mexico/BajaNorte", - "isAlias": true, - "aliasOf": "America/Tijuana", - "hasZone1970Location": true + "Id": "Mexico/BajaNorte", + "IsAlias": true, + "AliasOf": "America/Tijuana", + "HasZone1970Location": true }, { - "id": "Mexico/BajaSur", - "isAlias": true, - "aliasOf": "America/Mazatlan", - "hasZone1970Location": true + "Id": "Mexico/BajaSur", + "IsAlias": true, + "AliasOf": "America/Mazatlan", + "HasZone1970Location": true }, { - "id": "Mexico/General", - "isAlias": true, - "aliasOf": "America/Mexico_City", - "hasZone1970Location": true + "Id": "Mexico/General", + "IsAlias": true, + "AliasOf": "America/Mexico_City", + "HasZone1970Location": true }, { - "id": "NZ", - "isAlias": true, - "aliasOf": "Pacific/Auckland", - "hasZone1970Location": true + "Id": "NZ", + "IsAlias": true, + "AliasOf": "Pacific/Auckland", + "HasZone1970Location": true }, { - "id": "NZ-CHAT", - "isAlias": true, - "aliasOf": "Pacific/Chatham", - "hasZone1970Location": true + "Id": "NZ-CHAT", + "IsAlias": true, + "AliasOf": "Pacific/Chatham", + "HasZone1970Location": true }, { - "id": "Navajo", - "isAlias": true, - "aliasOf": "America/Denver", - "hasZone1970Location": true + "Id": "Navajo", + "IsAlias": true, + "AliasOf": "America/Denver", + "HasZone1970Location": true }, { - "id": "PRC", - "isAlias": true, - "aliasOf": "Asia/Shanghai", - "hasZone1970Location": true + "Id": "PRC", + "IsAlias": true, + "AliasOf": "Asia/Shanghai", + "HasZone1970Location": true }, { - "id": "Pacific/Johnston", - "isAlias": true, - "aliasOf": "Pacific/Honolulu", - "hasZone1970Location": true + "Id": "Pacific/Johnston", + "IsAlias": true, + "AliasOf": "Pacific/Honolulu", + "HasZone1970Location": true }, { - "id": "Pacific/Ponape", - "isAlias": true, - "aliasOf": "Pacific/Pohnpei", - "hasZone1970Location": true + "Id": "Pacific/Ponape", + "IsAlias": true, + "AliasOf": "Pacific/Pohnpei", + "HasZone1970Location": true }, { - "id": "Pacific/Samoa", - "isAlias": true, - "aliasOf": "Pacific/Pago_Pago", - "hasZone1970Location": true + "Id": "Pacific/Samoa", + "IsAlias": true, + "AliasOf": "Pacific/Pago_Pago", + "HasZone1970Location": true }, { - "id": "Pacific/Truk", - "isAlias": true, - "aliasOf": "Pacific/Chuuk", - "hasZone1970Location": true + "Id": "Pacific/Truk", + "IsAlias": true, + "AliasOf": "Pacific/Chuuk", + "HasZone1970Location": true }, { - "id": "Pacific/Yap", - "isAlias": true, - "aliasOf": "Pacific/Chuuk", - "hasZone1970Location": true + "Id": "Pacific/Yap", + "IsAlias": true, + "AliasOf": "Pacific/Chuuk", + "HasZone1970Location": true }, { - "id": "Poland", - "isAlias": true, - "aliasOf": "Europe/Warsaw", - "hasZone1970Location": true + "Id": "Poland", + "IsAlias": true, + "AliasOf": "Europe/Warsaw", + "HasZone1970Location": true }, { - "id": "Portugal", - "isAlias": true, - "aliasOf": "Europe/Lisbon", - "hasZone1970Location": true + "Id": "Portugal", + "IsAlias": true, + "AliasOf": "Europe/Lisbon", + "HasZone1970Location": true }, { - "id": "ROC", - "isAlias": true, - "aliasOf": "Asia/Taipei", - "hasZone1970Location": true + "Id": "ROC", + "IsAlias": true, + "AliasOf": "Asia/Taipei", + "HasZone1970Location": true }, { - "id": "ROK", - "isAlias": true, - "aliasOf": "Asia/Seoul", - "hasZone1970Location": true + "Id": "ROK", + "IsAlias": true, + "AliasOf": "Asia/Seoul", + "HasZone1970Location": true }, { - "id": "Singapore", - "isAlias": true, - "aliasOf": "Asia/Singapore", - "hasZone1970Location": true + "Id": "Singapore", + "IsAlias": true, + "AliasOf": "Asia/Singapore", + "HasZone1970Location": true }, { - "id": "Turkey", - "isAlias": true, - "aliasOf": "Europe/Istanbul", - "hasZone1970Location": true + "Id": "Turkey", + "IsAlias": true, + "AliasOf": "Europe/Istanbul", + "HasZone1970Location": true }, { - "id": "UCT", - "isAlias": true, - "aliasOf": "Etc/UCT", - "hasZone1970Location": false + "Id": "UCT", + "IsAlias": true, + "AliasOf": "Etc/UCT", + "HasZone1970Location": false }, { - "id": "US/Alaska", - "isAlias": true, - "aliasOf": "America/Anchorage", - "hasZone1970Location": true + "Id": "US/Alaska", + "IsAlias": true, + "AliasOf": "America/Anchorage", + "HasZone1970Location": true }, { - "id": "US/Aleutian", - "isAlias": true, - "aliasOf": "America/Adak", - "hasZone1970Location": true + "Id": "US/Aleutian", + "IsAlias": true, + "AliasOf": "America/Adak", + "HasZone1970Location": true }, { - "id": "US/Arizona", - "isAlias": true, - "aliasOf": "America/Phoenix", - "hasZone1970Location": true + "Id": "US/Arizona", + "IsAlias": true, + "AliasOf": "America/Phoenix", + "HasZone1970Location": true }, { - "id": "US/Central", - "isAlias": true, - "aliasOf": "America/Chicago", - "hasZone1970Location": true + "Id": "US/Central", + "IsAlias": true, + "AliasOf": "America/Chicago", + "HasZone1970Location": true }, { - "id": "US/East-Indiana", - "isAlias": true, - "aliasOf": "America/Indiana/Indianapolis", - "hasZone1970Location": true + "Id": "US/East-Indiana", + "IsAlias": true, + "AliasOf": "America/Indiana/Indianapolis", + "HasZone1970Location": true }, { - "id": "US/Eastern", - "isAlias": true, - "aliasOf": "America/New_York", - "hasZone1970Location": true + "Id": "US/Eastern", + "IsAlias": true, + "AliasOf": "America/New_York", + "HasZone1970Location": true }, { - "id": "US/Hawaii", - "isAlias": true, - "aliasOf": "Pacific/Honolulu", - "hasZone1970Location": true + "Id": "US/Hawaii", + "IsAlias": true, + "AliasOf": "Pacific/Honolulu", + "HasZone1970Location": true }, { - "id": "US/Indiana-Starke", - "isAlias": true, - "aliasOf": "America/Indiana/Knox", - "hasZone1970Location": true + "Id": "US/Indiana-Starke", + "IsAlias": true, + "AliasOf": "America/Indiana/Knox", + "HasZone1970Location": true }, { - "id": "US/Michigan", - "isAlias": true, - "aliasOf": "America/Detroit", - "hasZone1970Location": true + "Id": "US/Michigan", + "IsAlias": true, + "AliasOf": "America/Detroit", + "HasZone1970Location": true }, { - "id": "US/Mountain", - "isAlias": true, - "aliasOf": "America/Denver", - "hasZone1970Location": true + "Id": "US/Mountain", + "IsAlias": true, + "AliasOf": "America/Denver", + "HasZone1970Location": true }, { - "id": "US/Pacific", - "isAlias": true, - "aliasOf": "America/Los_Angeles", - "hasZone1970Location": true + "Id": "US/Pacific", + "IsAlias": true, + "AliasOf": "America/Los_Angeles", + "HasZone1970Location": true }, { - "id": "US/Samoa", - "isAlias": true, - "aliasOf": "Pacific/Pago_Pago", - "hasZone1970Location": true + "Id": "US/Samoa", + "IsAlias": true, + "AliasOf": "Pacific/Pago_Pago", + "HasZone1970Location": true }, { - "id": "UTC", - "isAlias": true, - "aliasOf": "Etc/UTC", - "hasZone1970Location": false + "Id": "UTC", + "IsAlias": true, + "AliasOf": "Etc/UTC", + "HasZone1970Location": false }, { - "id": "Universal", - "isAlias": true, - "aliasOf": "Etc/UTC", - "hasZone1970Location": false + "Id": "Universal", + "IsAlias": true, + "AliasOf": "Etc/UTC", + "HasZone1970Location": false }, { - "id": "W-SU", - "isAlias": true, - "aliasOf": "Europe/Moscow", - "hasZone1970Location": true + "Id": "W-SU", + "IsAlias": true, + "AliasOf": "Europe/Moscow", + "HasZone1970Location": true }, { - "id": "Zulu", - "isAlias": true, - "aliasOf": "Etc/UTC", - "hasZone1970Location": false + "Id": "Zulu", + "IsAlias": true, + "AliasOf": "Etc/UTC", + "HasZone1970Location": false }, { - "id": "Africa/Abidjan", - "isAlias": false, - "hasZone1970Location": true + "Id": "Africa/Abidjan", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Africa/Accra", - "isAlias": false, - "hasZone1970Location": true + "Id": "Africa/Accra", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Africa/Algiers", - "isAlias": false, - "hasZone1970Location": true + "Id": "Africa/Algiers", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Africa/Bissau", - "isAlias": false, - "hasZone1970Location": true + "Id": "Africa/Bissau", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Africa/Cairo", - "isAlias": false, - "hasZone1970Location": true + "Id": "Africa/Cairo", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Africa/Casablanca", - "isAlias": false, - "hasZone1970Location": true + "Id": "Africa/Casablanca", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Africa/Ceuta", - "isAlias": false, - "hasZone1970Location": true + "Id": "Africa/Ceuta", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Africa/El_Aaiun", - "isAlias": false, - "hasZone1970Location": true + "Id": "Africa/El_Aaiun", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Africa/Johannesburg", - "isAlias": false, - "hasZone1970Location": true + "Id": "Africa/Johannesburg", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Africa/Khartoum", - "isAlias": false, - "hasZone1970Location": true + "Id": "Africa/Khartoum", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Africa/Lagos", - "isAlias": false, - "hasZone1970Location": true + "Id": "Africa/Lagos", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Africa/Maputo", - "isAlias": false, - "hasZone1970Location": true + "Id": "Africa/Maputo", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Africa/Monrovia", - "isAlias": false, - "hasZone1970Location": true + "Id": "Africa/Monrovia", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Africa/Nairobi", - "isAlias": false, - "hasZone1970Location": true + "Id": "Africa/Nairobi", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Africa/Ndjamena", - "isAlias": false, - "hasZone1970Location": true + "Id": "Africa/Ndjamena", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Africa/Tripoli", - "isAlias": false, - "hasZone1970Location": true + "Id": "Africa/Tripoli", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Africa/Tunis", - "isAlias": false, - "hasZone1970Location": true + "Id": "Africa/Tunis", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Africa/Windhoek", - "isAlias": false, - "hasZone1970Location": true + "Id": "Africa/Windhoek", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Adak", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Adak", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Anchorage", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Anchorage", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Araguaina", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Araguaina", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Argentina/Buenos_Aires", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Argentina/Buenos_Aires", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Argentina/Catamarca", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Argentina/Catamarca", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Argentina/Cordoba", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Argentina/Cordoba", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Argentina/Jujuy", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Argentina/Jujuy", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Argentina/La_Rioja", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Argentina/La_Rioja", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Argentina/Mendoza", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Argentina/Mendoza", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Argentina/Rio_Gallegos", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Argentina/Rio_Gallegos", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Argentina/Salta", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Argentina/Salta", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Argentina/San_Juan", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Argentina/San_Juan", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Argentina/San_Luis", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Argentina/San_Luis", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Argentina/Tucuman", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Argentina/Tucuman", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Argentina/Ushuaia", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Argentina/Ushuaia", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Asuncion", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Asuncion", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Atikokan", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Atikokan", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Bahia", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Bahia", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Bahia_Banderas", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Bahia_Banderas", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Barbados", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Barbados", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Belem", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Belem", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Belize", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Belize", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Blanc-Sablon", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Blanc-Sablon", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Boa_Vista", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Boa_Vista", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Bogota", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Bogota", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Boise", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Boise", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Cambridge_Bay", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Cambridge_Bay", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Campo_Grande", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Campo_Grande", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Cancun", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Cancun", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Caracas", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Caracas", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Cayenne", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Cayenne", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Chicago", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Chicago", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Chihuahua", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Chihuahua", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Costa_Rica", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Costa_Rica", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Creston", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Creston", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Cuiaba", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Cuiaba", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Curacao", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Curacao", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Danmarkshavn", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Danmarkshavn", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Dawson", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Dawson", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Dawson_Creek", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Dawson_Creek", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Denver", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Denver", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Detroit", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Detroit", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Edmonton", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Edmonton", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Eirunepe", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Eirunepe", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/El_Salvador", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/El_Salvador", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Fort_Nelson", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Fort_Nelson", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Fortaleza", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Fortaleza", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Glace_Bay", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Glace_Bay", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Godthab", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Godthab", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Goose_Bay", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Goose_Bay", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Grand_Turk", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Grand_Turk", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Guatemala", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Guatemala", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Guayaquil", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Guayaquil", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Guyana", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Guyana", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Halifax", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Halifax", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Havana", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Havana", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Hermosillo", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Hermosillo", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Indiana/Indianapolis", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Indiana/Indianapolis", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Indiana/Knox", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Indiana/Knox", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Indiana/Marengo", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Indiana/Marengo", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Indiana/Petersburg", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Indiana/Petersburg", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Indiana/Tell_City", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Indiana/Tell_City", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Indiana/Vevay", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Indiana/Vevay", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Indiana/Vincennes", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Indiana/Vincennes", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Indiana/Winamac", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Indiana/Winamac", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Inuvik", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Inuvik", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Iqaluit", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Iqaluit", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Jamaica", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Jamaica", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Juneau", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Juneau", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Kentucky/Louisville", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Kentucky/Louisville", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Kentucky/Monticello", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Kentucky/Monticello", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/La_Paz", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/La_Paz", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Lima", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Lima", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Los_Angeles", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Los_Angeles", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Maceio", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Maceio", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Managua", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Managua", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Manaus", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Manaus", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Martinique", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Martinique", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Matamoros", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Matamoros", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Mazatlan", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Mazatlan", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Menominee", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Menominee", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Merida", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Merida", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Metlakatla", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Metlakatla", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Mexico_City", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Mexico_City", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Miquelon", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Miquelon", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Moncton", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Moncton", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Monterrey", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Monterrey", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Montevideo", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Montevideo", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Nassau", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Nassau", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/New_York", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/New_York", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Nipigon", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Nipigon", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Nome", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Nome", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Noronha", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Noronha", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/North_Dakota/Beulah", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/North_Dakota/Beulah", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/North_Dakota/Center", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/North_Dakota/Center", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/North_Dakota/New_Salem", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/North_Dakota/New_Salem", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Ojinaga", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Ojinaga", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Panama", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Panama", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Pangnirtung", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Pangnirtung", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Paramaribo", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Paramaribo", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Phoenix", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Phoenix", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Port-au-Prince", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Port-au-Prince", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Port_of_Spain", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Port_of_Spain", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Porto_Velho", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Porto_Velho", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Puerto_Rico", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Puerto_Rico", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Punta_Arenas", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Punta_Arenas", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Rainy_River", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Rainy_River", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Rankin_Inlet", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Rankin_Inlet", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Recife", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Recife", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Regina", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Regina", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Resolute", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Resolute", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Rio_Branco", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Rio_Branco", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Santarem", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Santarem", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Santiago", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Santiago", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Santo_Domingo", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Santo_Domingo", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Sao_Paulo", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Sao_Paulo", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Scoresbysund", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Scoresbysund", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Sitka", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Sitka", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/St_Johns", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/St_Johns", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Swift_Current", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Swift_Current", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Tegucigalpa", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Tegucigalpa", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Thule", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Thule", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Thunder_Bay", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Thunder_Bay", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Tijuana", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Tijuana", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Toronto", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Toronto", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Vancouver", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Vancouver", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Whitehorse", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Whitehorse", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Winnipeg", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Winnipeg", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Yakutat", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Yakutat", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "America/Yellowknife", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Yellowknife", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Antarctica/Casey", - "isAlias": false, - "hasZone1970Location": true + "Id": "Antarctica/Casey", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Antarctica/Davis", - "isAlias": false, - "hasZone1970Location": true + "Id": "Antarctica/Davis", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Antarctica/DumontDUrville", - "isAlias": false, - "hasZone1970Location": true + "Id": "Antarctica/DumontDUrville", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Antarctica/Macquarie", - "isAlias": false, - "hasZone1970Location": true + "Id": "Antarctica/Macquarie", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Antarctica/Mawson", - "isAlias": false, - "hasZone1970Location": true + "Id": "Antarctica/Mawson", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Antarctica/Palmer", - "isAlias": false, - "hasZone1970Location": true + "Id": "Antarctica/Palmer", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Antarctica/Rothera", - "isAlias": false, - "hasZone1970Location": true + "Id": "Antarctica/Rothera", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Antarctica/Syowa", - "isAlias": false, - "hasZone1970Location": true + "Id": "Antarctica/Syowa", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Antarctica/Troll", - "isAlias": false, - "hasZone1970Location": true + "Id": "Antarctica/Troll", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Antarctica/Vostok", - "isAlias": false, - "hasZone1970Location": true + "Id": "Antarctica/Vostok", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Almaty", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Almaty", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Amman", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Amman", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Anadyr", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Anadyr", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Aqtau", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Aqtau", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Aqtobe", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Aqtobe", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Ashgabat", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Ashgabat", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Atyrau", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Atyrau", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Baghdad", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Baghdad", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Baku", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Baku", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Bangkok", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Bangkok", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Barnaul", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Barnaul", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Beirut", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Beirut", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Bishkek", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Bishkek", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Brunei", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Brunei", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Chita", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Chita", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Choibalsan", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Choibalsan", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Colombo", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Colombo", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Damascus", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Damascus", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Dhaka", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Dhaka", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Dili", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Dili", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Dubai", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Dubai", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Dushanbe", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Dushanbe", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Famagusta", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Famagusta", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Gaza", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Gaza", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Hebron", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Hebron", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Ho_Chi_Minh", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Ho_Chi_Minh", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Hong_Kong", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Hong_Kong", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Hovd", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Hovd", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Irkutsk", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Irkutsk", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Jakarta", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Jakarta", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Jayapura", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Jayapura", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Jerusalem", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Jerusalem", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Kabul", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Kabul", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Kamchatka", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Kamchatka", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Karachi", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Karachi", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Kathmandu", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Kathmandu", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Khandyga", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Khandyga", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Kolkata", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Kolkata", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Krasnoyarsk", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Krasnoyarsk", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Kuala_Lumpur", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Kuala_Lumpur", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Kuching", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Kuching", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Macau", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Macau", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Magadan", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Magadan", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Makassar", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Makassar", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Manila", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Manila", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Nicosia", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Nicosia", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Novokuznetsk", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Novokuznetsk", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Novosibirsk", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Novosibirsk", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Omsk", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Omsk", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Oral", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Oral", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Pontianak", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Pontianak", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Pyongyang", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Pyongyang", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Qatar", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Qatar", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Qyzylorda", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Qyzylorda", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Riyadh", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Riyadh", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Sakhalin", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Sakhalin", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Samarkand", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Samarkand", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Seoul", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Seoul", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Shanghai", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Shanghai", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Singapore", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Singapore", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Srednekolymsk", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Srednekolymsk", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Taipei", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Taipei", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Tashkent", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Tashkent", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Tbilisi", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Tbilisi", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Tehran", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Tehran", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Thimphu", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Thimphu", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Tokyo", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Tokyo", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Tomsk", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Tomsk", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Ulaanbaatar", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Ulaanbaatar", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Urumqi", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Urumqi", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Ust-Nera", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Ust-Nera", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Vladivostok", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Vladivostok", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Yakutsk", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Yakutsk", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Yangon", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Yangon", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Yekaterinburg", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Yekaterinburg", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Asia/Yerevan", - "isAlias": false, - "hasZone1970Location": true + "Id": "Asia/Yerevan", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Atlantic/Azores", - "isAlias": false, - "hasZone1970Location": true + "Id": "Atlantic/Azores", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Atlantic/Bermuda", - "isAlias": false, - "hasZone1970Location": true + "Id": "Atlantic/Bermuda", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Atlantic/Canary", - "isAlias": false, - "hasZone1970Location": true + "Id": "Atlantic/Canary", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Atlantic/Cape_Verde", - "isAlias": false, - "hasZone1970Location": true + "Id": "Atlantic/Cape_Verde", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Atlantic/Faroe", - "isAlias": false, - "hasZone1970Location": true + "Id": "Atlantic/Faroe", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Atlantic/Madeira", - "isAlias": false, - "hasZone1970Location": true + "Id": "Atlantic/Madeira", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Atlantic/Reykjavik", - "isAlias": false, - "hasZone1970Location": true + "Id": "Atlantic/Reykjavik", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Atlantic/South_Georgia", - "isAlias": false, - "hasZone1970Location": true + "Id": "Atlantic/South_Georgia", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Atlantic/Stanley", - "isAlias": false, - "hasZone1970Location": true + "Id": "Atlantic/Stanley", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Australia/Adelaide", - "isAlias": false, - "hasZone1970Location": true + "Id": "Australia/Adelaide", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Australia/Brisbane", - "isAlias": false, - "hasZone1970Location": true + "Id": "Australia/Brisbane", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Australia/Broken_Hill", - "isAlias": false, - "hasZone1970Location": true + "Id": "Australia/Broken_Hill", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Australia/Currie", - "isAlias": false, - "hasZone1970Location": true + "Id": "Australia/Currie", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Australia/Darwin", - "isAlias": false, - "hasZone1970Location": true + "Id": "Australia/Darwin", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Australia/Eucla", - "isAlias": false, - "hasZone1970Location": true + "Id": "Australia/Eucla", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Australia/Hobart", - "isAlias": false, - "hasZone1970Location": true + "Id": "Australia/Hobart", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Australia/Lindeman", - "isAlias": false, - "hasZone1970Location": true + "Id": "Australia/Lindeman", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Australia/Lord_Howe", - "isAlias": false, - "hasZone1970Location": true + "Id": "Australia/Lord_Howe", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Australia/Melbourne", - "isAlias": false, - "hasZone1970Location": true + "Id": "Australia/Melbourne", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Australia/Perth", - "isAlias": false, - "hasZone1970Location": true + "Id": "Australia/Perth", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Australia/Sydney", - "isAlias": false, - "hasZone1970Location": true + "Id": "Australia/Sydney", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "CET", - "isAlias": false, - "hasZone1970Location": false + "Id": "CET", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "CST6CDT", - "isAlias": false, - "hasZone1970Location": false + "Id": "CST6CDT", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "EET", - "isAlias": false, - "hasZone1970Location": false + "Id": "EET", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "EST", - "isAlias": false, - "hasZone1970Location": false + "Id": "EST", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "EST5EDT", - "isAlias": false, - "hasZone1970Location": false + "Id": "EST5EDT", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT+1", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT+1", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT+10", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT+10", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT+11", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT+11", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT+12", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT+12", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT+2", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT+2", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT+3", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT+3", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT+4", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT+4", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT+5", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT+5", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT+6", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT+6", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT+7", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT+7", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT+8", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT+8", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT+9", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT+9", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT-1", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT-1", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT-10", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT-10", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT-11", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT-11", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT-12", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT-12", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT-13", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT-13", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT-14", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT-14", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT-2", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT-2", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT-3", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT-3", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT-4", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT-4", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT-5", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT-5", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT-6", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT-6", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT-7", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT-7", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT-8", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT-8", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/GMT-9", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/GMT-9", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/UCT", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/UCT", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Etc/UTC", - "isAlias": false, - "hasZone1970Location": false + "Id": "Etc/UTC", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Europe/Amsterdam", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Amsterdam", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Andorra", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Andorra", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Astrakhan", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Astrakhan", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Athens", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Athens", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Belgrade", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Belgrade", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Berlin", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Berlin", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Brussels", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Brussels", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Bucharest", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Bucharest", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Budapest", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Budapest", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Chisinau", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Chisinau", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Copenhagen", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Copenhagen", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Dublin", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Dublin", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Gibraltar", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Gibraltar", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Helsinki", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Helsinki", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Istanbul", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Istanbul", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Kaliningrad", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Kaliningrad", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Kiev", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Kiev", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Kirov", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Kirov", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Lisbon", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Lisbon", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/London", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/London", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Luxembourg", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Luxembourg", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Madrid", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Madrid", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Malta", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Malta", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Minsk", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Minsk", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Monaco", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Monaco", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Moscow", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Moscow", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Oslo", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Oslo", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Paris", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Paris", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Prague", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Prague", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Riga", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Riga", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Rome", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Rome", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Samara", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Samara", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Saratov", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Saratov", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Simferopol", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Simferopol", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Sofia", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Sofia", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Stockholm", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Stockholm", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Tallinn", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Tallinn", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Tirane", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Tirane", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Ulyanovsk", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Ulyanovsk", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Uzhgorod", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Uzhgorod", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Vienna", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Vienna", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Vilnius", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Vilnius", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Volgograd", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Volgograd", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Warsaw", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Warsaw", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Zaporozhye", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Zaporozhye", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Europe/Zurich", - "isAlias": false, - "hasZone1970Location": true + "Id": "Europe/Zurich", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "HST", - "isAlias": false, - "hasZone1970Location": false + "Id": "HST", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Indian/Chagos", - "isAlias": false, - "hasZone1970Location": true + "Id": "Indian/Chagos", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Indian/Christmas", - "isAlias": false, - "hasZone1970Location": true + "Id": "Indian/Christmas", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Indian/Cocos", - "isAlias": false, - "hasZone1970Location": true + "Id": "Indian/Cocos", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Indian/Kerguelen", - "isAlias": false, - "hasZone1970Location": true + "Id": "Indian/Kerguelen", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Indian/Mahe", - "isAlias": false, - "hasZone1970Location": true + "Id": "Indian/Mahe", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Indian/Maldives", - "isAlias": false, - "hasZone1970Location": true + "Id": "Indian/Maldives", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Indian/Mauritius", - "isAlias": false, - "hasZone1970Location": true + "Id": "Indian/Mauritius", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Indian/Reunion", - "isAlias": false, - "hasZone1970Location": true + "Id": "Indian/Reunion", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "MET", - "isAlias": false, - "hasZone1970Location": false + "Id": "MET", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "MST", - "isAlias": false, - "hasZone1970Location": false + "Id": "MST", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "MST7MDT", - "isAlias": false, - "hasZone1970Location": false + "Id": "MST7MDT", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "PST8PDT", - "isAlias": false, - "hasZone1970Location": false + "Id": "PST8PDT", + "IsAlias": false, + "HasZone1970Location": false }, { - "id": "Pacific/Apia", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Apia", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Auckland", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Auckland", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Bougainville", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Bougainville", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Chatham", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Chatham", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Chuuk", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Chuuk", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Easter", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Easter", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Efate", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Efate", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Enderbury", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Enderbury", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Fakaofo", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Fakaofo", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Fiji", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Fiji", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Funafuti", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Funafuti", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Galapagos", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Galapagos", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Gambier", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Gambier", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Guadalcanal", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Guadalcanal", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Guam", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Guam", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Honolulu", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Honolulu", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Kiritimati", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Kiritimati", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Kosrae", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Kosrae", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Kwajalein", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Kwajalein", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Majuro", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Majuro", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Marquesas", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Marquesas", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Nauru", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Nauru", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Niue", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Niue", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Norfolk", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Norfolk", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Noumea", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Noumea", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Pago_Pago", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Pago_Pago", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Palau", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Palau", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Pitcairn", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Pitcairn", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Pohnpei", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Pohnpei", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Port_Moresby", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Port_Moresby", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Rarotonga", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Rarotonga", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Tahiti", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Tahiti", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Tarawa", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Tarawa", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Tongatapu", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Tongatapu", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Wake", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Wake", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "Pacific/Wallis", - "isAlias": false, - "hasZone1970Location": true + "Id": "Pacific/Wallis", + "IsAlias": false, + "HasZone1970Location": true }, { - "id": "WET", - "isAlias": false, - "hasZone1970Location": false + "Id": "WET", + "IsAlias": false, + "HasZone1970Location": false } ] } diff --git a/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneIANAVersion.json b/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneIANAVersion.json index a86486af9616..6895b5db0840 100644 --- a/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneIANAVersion.json +++ b/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneIANAVersion.json @@ -6,7 +6,7 @@ "responses": { "200": { "body": { - "version": "2017b" + "Version": "2017b" } } } diff --git a/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneWindowsToIANA.json b/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneWindowsToIANA.json index 5d19b87b7ce0..b1aa68335ccf 100644 --- a/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneWindowsToIANA.json +++ b/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneWindowsToIANA.json @@ -8,9 +8,9 @@ "200": { "body": [ { - "id": "America/Los_Angeles", - "isAlias": false, - "hasZone1970Location": true + "Id": "America/Los_Angeles", + "IsAlias": false, + "HasZone1970Location": true } ] } diff --git a/specification/maps/data-plane/Timezone/preview/1.0/timezone.json b/specification/maps/data-plane/Timezone/preview/1.0/timezone.json index 33c7c81f7322..7412e9901b4b 100644 --- a/specification/maps/data-plane/Timezone/preview/1.0/timezone.json +++ b/specification/maps/data-plane/Timezone/preview/1.0/timezone.json @@ -18,15 +18,21 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "AzureKey": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", + "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", "in": "header" } }, @@ -37,7 +43,10 @@ ] }, { - "AzureKey": [] + "SharedKey": [] + }, + { + "SasToken": [] } ], "responses": {}, @@ -103,6 +112,7 @@ }, "TimezoneTransitionsFrom": { "name": "transitionsFrom", + "x-ms-client-name": "daylightSavingsTimeFrom", "in": "query", "description": "Alternatively, use alias \"tf\". The start date from which daylight savings time (DST) transitions are requested, only applies when \"options\" = all or \"options\" = transitions.", "type": "string", @@ -111,6 +121,7 @@ }, "TimezoneTransitionsYears": { "name": "transitionsYears", + "x-ms-client-name": "daylightSavingsTimeLastingYears", "in": "query", "description": "Alternatively, use alias \"ty\". The number of years from \"transitionsFrom\" for which DST transitions are requested, only applies when \"options\" = all or \"options\" = transitions.", "type": "integer", @@ -121,9 +132,9 @@ "/timezone/byId/{format}": { "get": { "description": "__Time Zone by Id__\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns current, historical, and future time zone information for the specified IANA time zone ID.", - "operationId": "GetTimezoneByID", + "operationId": "Timezone_GetTimezoneByID", "x-ms-examples": { - "GetTimezoneByID": { + "Successfully retrieve timezone by ID": { "$ref": "./examples/GetTimezoneByID.json" } }, @@ -154,6 +165,7 @@ }, { "name": "query", + "x-ms-client-name": "timezoneId", "in": "query", "description": "The IANA time zone ID.", "required": true, @@ -164,7 +176,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/TimezoneByIdResult" + "$ref": "#/definitions/TimezoneResult" } }, "default": { @@ -176,9 +188,9 @@ "/timezone/byCoordinates/{format}": { "get": { "description": "__Time Zone by Coordinates__\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns current, historical, and future time zone information for a specified latitude-longitude pair. In addition, the API provides sunset and sunrise times for a given location.", - "operationId": "GetTimezoneByCoordinates", + "operationId": "Timezone_GetTimezoneByCoordinates", "x-ms-examples": { - "GetTimezoneByCoordinates": { + "Successfully retrieve timezone by coordinates": { "$ref": "./examples/GetTimezoneByCoordinates.json" } }, @@ -210,16 +222,24 @@ { "name": "query", "in": "query", - "description": "Coordinates of the point for which time zone information is requested. The applicable query is specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".", + "description": "Coordinates of the point for which time zone information is requested. This parameter is a list of coordinates, containing a pair of coordinate(lat, long). When this endpoint is called directly, coordinates are passed in as a single string containing coordinates, separated by commas.", "required": true, - "type": "string" + "x-ms-client-name": "coordinates", + "type": "array", + "collectionFormat": "csv", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "number", + "format": "double" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/TimezoneByCoordinatesResult" + "$ref": "#/definitions/TimezoneResult" } }, "default": { @@ -230,10 +250,11 @@ }, "/timezone/enumWindows/{format}": { "get": { - "description": "__Enumerate Windows Time Zones__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns a full list of Windows Time Zone IDs.", - "operationId": "GetTimezoneEnumWindows", + "description": "__Windows Time Zones__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns a full list of Windows Time Zone IDs.", + "operationId": "Timezone_GetTimezoneEnumWindows", + "x-ms-client-name": "GetWindowsTimezoneIds", "x-ms-examples": { - "GetTimezoneEnumWindows": { + "Successfully retrieve Windows timezone Ids": { "$ref": "./examples/GetTimezoneEnumWindows.json" } }, @@ -263,10 +284,11 @@ }, "/timezone/enumIana/{format}": { "get": { - "description": "__Enumerate IANA Time Zones__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns a full list of IANA time zone IDs. Updates to the IANA service will be reflected in the system within one day.", - "operationId": "GetTimezoneEnumIANA", + "description": "__IANA Time Zones__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns a full list of IANA time zone IDs. Updates to the IANA service will be reflected in the system within one day.", + "operationId": "Timezone_GetTimezoneEnumIANA", + "x-ms-client-name": "GetIANATimezoneIds", "x-ms-examples": { - "GetTimezoneEnumIANA": { + "Successfully retrieve Iana timezone Ids": { "$ref": "./examples/GetTimezoneEnumIANA.json" } }, @@ -296,10 +318,11 @@ }, "/timezone/ianaVersion/{format}": { "get": { - "description": "__Time Zone IANA Version__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns the current IANA version number.", - "operationId": "GetTimezoneIANAVersion", + "description": "__Time Zone IANA Version__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns the current IANA version number as Metadata.", + "operationId": "Timezone_GetTimezoneIANAVersion", + "x-ms-client-name": "GetIANAVersion", "x-ms-examples": { - "GetTimezoneIANAVersion": { + "Successfully retrieve Iana version metadata": { "$ref": "./examples/GetTimezoneIANAVersion.json" } }, @@ -330,9 +353,10 @@ "/timezone/windowsToIana/{format}": { "get": { "description": "__Windows to IANA Time Zone__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns a corresponding IANA ID, given a valid Windows Time Zone ID. Multiple IANA IDs may be returned for a single Windows ID. It is possible to narrow these results by adding an optional territory parameter.", - "operationId": "GetTimezoneWindowsToIANA", + "operationId": "Timezone_GetTimezoneWindowsToIANA", + "x-ms-client-name": "ConvertWindowsTimezoneToIANA", "x-ms-examples": { - "GetTimezoneWindowsToIANA": { + "Successfully retrieve corresponding timezone Iana": { "$ref": "./examples/GetTimezoneWindowsToIANA.json" } }, @@ -349,6 +373,7 @@ { "name": "query", "in": "query", + "x-ms-client-name": "windowsTimezoneId", "description": "The Windows time zone ID.", "required": true, "type": "string" @@ -356,6 +381,7 @@ { "name": "territory", "in": "query", + "x-ms-client-name": "windowsTerritoryCode", "description": "Windows Time Zone territory code.", "type": "string" } @@ -424,8 +450,8 @@ } } }, - "TimezoneByIdResult": { - "description": "This object is returned from a successful Timezone By ID call", + "TimezoneResult": { + "description": "This object is returned from a successful Timezone By ID call or By Coordinates call", "type": "object", "properties": { "Version": { @@ -440,27 +466,7 @@ "format": "date-time" }, "TimeZones": { - "$ref": "#/definitions/TimeZonesById" - } - } - }, - "TimezoneByCoordinatesResult": { - "description": "This object is returned from a successful Timezone By Coordinates call", - "type": "object", - "properties": { - "Version": { - "description": "Version property", - "type": "string", - "readOnly": true - }, - "ReferenceUtcTimestamp": { - "description": "Reference Utc Timestamp property", - "type": "string", - "readOnly": true, - "format": "date-time" - }, - "TimeZones": { - "$ref": "#/definitions/TimeZonesByCoordinates" + "$ref": "#/definitions/TimezoneIds" } } }, @@ -468,10 +474,10 @@ "description": "This object is returned from a successful Timezone Enum Windows call", "type": "array", "items": { - "$ref": "#/definitions/TimezoneEnumWindow" + "$ref": "#/definitions/TimezoneWindows" } }, - "TimezoneEnumWindow": { + "TimezoneWindows": { "type": "object", "properties": { "WindowsId": { @@ -505,7 +511,7 @@ "description": "This object is returned from a successful Timezone IANA Version call", "type": "object", "properties": { - "version": { + "Version": { "description": "Version property", "type": "string", "readOnly": true @@ -522,89 +528,37 @@ "IanaId": { "type": "object", "properties": { - "id": { + "Id": { "description": "Id property", "type": "string", "readOnly": true }, - "isAlias": { + "IsAlias": { "description": "IsAlias property", "type": "boolean", "readOnly": true }, - "aliasOf": { + "AliasOf": { "description": "AliasOf property", "type": "string", "readOnly": true }, - "hasZone1970Location": { - "description": "HasZone1970Location property", + "HasZone1970Location": { + "description": "This attribute returns `True` if the IanaId has any country/zone associated with it.", "type": "boolean", "readOnly": true } } }, - "TimeZonesById": { - "description": "TimeZoneById array", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/TimezoneById" - } - }, - "TimeZonesByCoordinates": { - "description": "TimeZoneByCoordinates array", + "TimezoneIds": { + "description": "TimeZoneId array", "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/TimeZoneByCoordinates" - } - }, - "TimezoneById": { - "type": "object", - "properties": { - "Id": { - "description": "Id property", - "type": "string", - "readOnly": true - }, - "Aliases": { - "description": "An array of time zone ID aliases.  Only returned when [options]=*zoneinfo* or *all*.\n\nNote: may be null.", - "type": "array", - "readOnly": true, - "items": { - "type": "string", - "readOnly": true - } - }, - "Countries": { - "description": "An array of country records. Only returned when [options]=*zoneinfo* or *all*.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/CountryRecord" - } - }, - "Names": { - "$ref": "#/definitions/TimezoneNames" - }, - "ReferenceTime": { - "$ref": "#/definitions/ReferenceTimeById" - }, - "RepresentativePoint": { - "$ref": "#/definitions/RepresentativePoint" - }, - "TimeTransitions": { - "description": "Time zone DST transitions from [transitionsFrom] until timestamp + 1 year.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/TimeTransition" - } - } + "$ref": "#/definitions/TimezoneId" } }, - "TimeZoneByCoordinates": { + "TimezoneId": { "type": "object", "properties": { "Id": { @@ -633,7 +587,7 @@ "$ref": "#/definitions/TimezoneNames" }, "ReferenceTime": { - "$ref": "#/definitions/ReferenceTimeByCoordinates" + "$ref": "#/definitions/ReferenceTime" }, "RepresentativePoint": { "$ref": "#/definitions/RepresentativePoint" @@ -674,44 +628,7 @@ } } }, - "ReferenceTimeById": { - "description": "Details in effect at the local time.", - "type": "object", - "readOnly": true, - "properties": { - "Tag": { - "description": "Time zone name in effect at the reference timestamp (i.e. PST or PDT depending whether Daylight Savings Time is in effect).", - "type": "string", - "readOnly": true - }, - "StandardOffset": { - "description": "UTC offset in effect at the `ReferenceUTCTimestamp`.", - "type": "string", - "readOnly": true - }, - "DaylightSavings": { - "description": "Time saving in minutes in effect at the `ReferenceUTCTimestamp`.", - "type": "string", - "readOnly": true - }, - "WallTime": { - "description": "Current wall time at the given time zone as shown in the `Tag` property.", - "type": "string", - "readOnly": true - }, - "PosixTzValidYear": { - "description": "The year this POSIX string is valid for. Note: A POSIX string will only be valid in the given year.", - "type": "integer", - "readOnly": true - }, - "PosixTz": { - "description": "POSIX string used to set the time zone environment variable.", - "type": "string", - "readOnly": true - } - } - }, - "ReferenceTimeByCoordinates": { + "ReferenceTime": { "description": "Details in effect at the local time.", "type": "object", "readOnly": true, @@ -747,13 +664,15 @@ "readOnly": true }, "Sunrise": { - "description": "Sunrise at the given time zone as shown in the `Tag` property.", + "description": "Sunrise at the given time zone as shown in the `Tag` property. The sunrise is described in the ISO8601 format. (Only be populated if the call is byCoordinates)", "type": "string", + "format": "date-time", "readOnly": true }, "Sunset": { - "description": "Sunset at the given time zone as shown in the `Tag` property.", + "description": "Sunset at the given time zone as shown in the `Tag` property. The sunset is described in the ISO8601 format.(Only be populated if the call is byCoordinates)", "type": "string", + "format": "date-time", "readOnly": true } } diff --git a/specification/maps/data-plane/Timezone/readme.python.md b/specification/maps/data-plane/Timezone/readme.python.md index 627dbb2e2847..76a3fb593f33 100644 --- a/specification/maps/data-plane/Timezone/readme.python.md +++ b/specification/maps/data-plane/Timezone/readme.python.md @@ -14,9 +14,9 @@ clear-output-folder: true ``` ``` yaml $(python) && $(python-mode) == 'update' no-namespace-folders: true -output-folder: $(python-sdks-folder)/maps/azure-maps-timezone/azure/maps/timezone +output-folder: $(python-sdks-folder)/maps/azure-maps-timezone/azure/maps/timezone/_generated ``` ``` yaml $(python) && $(python-mode) == 'create' basic-setup-py: true -output-folder: $(python-sdks-folder)/maps/azure-maps-timezone +output-folder: $(python-sdks-folder)/maps/azure-maps-timezone/ ``` diff --git a/specification/maps/data-plane/Traffic/preview/1.0/traffic.json b/specification/maps/data-plane/Traffic/preview/1.0/traffic.json index d87505a6d072..5dc97f7255c3 100644 --- a/specification/maps/data-plane/Traffic/preview/1.0/traffic.json +++ b/specification/maps/data-plane/Traffic/preview/1.0/traffic.json @@ -18,15 +18,21 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "AzureKey": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", + "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", "in": "header" } }, @@ -37,7 +43,10 @@ ] }, { - "AzureKey": [] + "SharedKey": [] + }, + { + "SasToken": [] } ], "responses": {}, @@ -100,9 +109,9 @@ "/traffic/flow/tile/{format}": { "get": { "description": "__Traffic Flow Tile__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThe Azure Flow Tile API serves 256 x 256 pixel tiles showing traffic flow. All tiles use the same grid system. Because the traffic tiles use transparent images, they can be layered on top of map tiles to create a compound display. The Flow tiles use colors to indicate either the speed of traffic on different road segments, or the difference between that speed and the free-flow speed on the road segment in question.", - "operationId": "GetTrafficFlowTile", + "operationId": "Traffic_GetTrafficFlowTile", "x-ms-examples": { - "GetTrafficFlowTile": { + "Request tile depicting the traffic flow": { "$ref": "./examples/GetTrafficFlowTile.json" } }, @@ -201,9 +210,9 @@ "/traffic/flow/segment/{format}": { "get": { "description": "__Traffic Flow Segment__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThis service provides information about the speeds and travel times of the road fragment closest to the given coordinates. It is designed to work alongside the Flow layer of the Render Service to support clickable flow data visualizations. With this API, the client side can connect any place in the map with flow data on the closest road and present it to the user.", - "operationId": "GetTrafficFlowSegment", + "operationId": "Traffic_GetTrafficFlowSegment", "x-ms-examples": { - "GetTrafficFlowSegment": { + "Request traffic flow segment information": { "$ref": "./examples/GetTrafficFlowSegment.json" } }, @@ -239,9 +248,17 @@ { "name": "query", "in": "query", - "description": "Coordinates of the point close to the road segment. They have to be comma-separated and calculated using EPSG4326 projection.", + "description": "Coordinates of the point close to the road segment. This parameter is a list of four coordinates, containing two coordinate pairs (lat, long, lat, long), and calculated using EPSG4326 projection. When this endpoint is called directly, coordinates are passed in as a single string containing four coordinates, separated by commas.", "required": true, - "type": "string" + "x-ms-client-name": "coordinates", + "type": "array", + "collectionFormat": "csv", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "number", + "format": "double" + } }, { "name": "unit", @@ -287,7 +304,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/TrafficFlowSegmentResult" + "$ref": "#/definitions/TrafficFlowSegmentData" } }, "default": { @@ -299,9 +316,9 @@ "/traffic/incident/tile/{format}": { "get": { "description": "__Traffic Incident Tile__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThis service serves 256 x 256 pixel tiles showing traffic incidents. All tiles use the same grid system. Because the traffic tiles use transparent images, they can be layered on top of map tiles to create a compound display. Traffic tiles render graphics to indicate traffic on the roads in the specified area.", - "operationId": "GetTrafficIncidentTile", + "operationId": "Traffic_GetTrafficIncidentTile", "x-ms-examples": { - "GetTrafficIncidentTile": { + "Request a tile depicting a traffic incident": { "$ref": "./examples/GetTrafficIncidentTile.json" } }, @@ -341,7 +358,7 @@ }, { "value": "s3", - "description": "Creates plain lines with certain degree of glow." + "description": "Creates plain lines with certain degree of glow, different from the s2 style." }, { "value": "night", @@ -398,9 +415,9 @@ "/traffic/incident/detail/{format}": { "get": { "description": "__Traffic Incident Detail__ \n\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThis API provides information on traffic incidents inside a given bounding box, based on the current Traffic Model ID. The Traffic Model ID is available to grant synchronization of data between calls and API's. The Traffic Model ID is a key value for determining the currency of traffic incidents. It is updated every minute, and is valid for two minutes before it times out. It is used in rendering [incident tiles](https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficincidenttile). It can be obtained from the [Viewport API](https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficincidentviewport).", - "operationId": "GetTrafficIncidentDetail", + "operationId": "Traffic_GetTrafficIncidentDetail", "x-ms-examples": { - "GetTrafficIncidentDetail": { + "Request information about a traffic incident": { "$ref": "./examples/GetTrafficIncidentDetail.json" } }, @@ -427,7 +444,7 @@ "night" ], "x-ms-enum": { - "name": "TrafficIncidentDetailStyle", + "name": "IncidentDetailStyle", "modelAsString": true, "values": [ { @@ -440,7 +457,7 @@ }, { "value": "s3", - "description": "Creates plain lines with certain degree of glow." + "description": "Creates plain lines with certain degree of glow, different than the s2 style." }, { "value": "night", @@ -454,7 +471,14 @@ "in": "query", "description": "The `boundingbox` is represented by two value pairs describing it's corners (first pair for lower left corner and second for upper right). The pairs can either be specified using any of the `projection`'s specified below (e.g., _minY,minX,maxY,maxX_) or by two latitude-longitude pairs (e.g., _minLat,minLon,maxLat,maxLon_).

NOTE: If latitude/longitude pairs are used, then the `projection` parameter must be set to \"EPSG4326\".", "required": true, - "type": "string" + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "minItems": 4, + "maxItems": 4, + "collectionFormat": "csv" }, { "name": "boundingZoom", @@ -544,7 +568,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/TrafficIncidentDetailResult" + "$ref": "#/definitions/TrafficIncidentDetail" } }, "default": { @@ -556,9 +580,9 @@ "/traffic/incident/viewport/{format}": { "get": { "description": "__Traffic Incident Viewport__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThis API returns legal and technical information for the viewport described in the request. It should be called by client applications whenever the viewport changes (for instance, through zooming, panning, going to a location, or displaying a route). The request should contain the bounding box and zoom level of the viewport whose information is needed. The return will contain map version information, as well as the current Traffic Model ID and copyright IDs. The Traffic Model ID returned by the Viewport Description is used by other APIs to retrieve last traffic information for further processing.", - "operationId": "GetTrafficIncidentViewport", + "operationId": "Traffic_GetTrafficIncidentViewport", "x-ms-examples": { - "GetTrafficIncidentViewport": { + "Request traffic incident information for the selected viewport": { "$ref": "./examples/GetTrafficIncidentViewport.json" } }, @@ -575,9 +599,16 @@ { "name": "boundingbox", "in": "query", - "description": "Bounding box of the map viewport in [EPSG900913](http://docs.openlayers.org/library/spherical_mercator.html) projection. The `boundingbox` is represented by two value pairs describing it's corners (first pair for lower left corner and second for upper right). All values should be separated by commas (e.g., _minY,minX,maxY,maxX_). The maximum size of the bounding box that can be passed is dependent on the requested zoom level. The width and height cannot exceed 4092 pixels when rendered on the given zoom level.

NOTE: Bounding boxes that cross the 180° meridian require special treatment. For such boxes, the eastern _maxX_ value will be negative, and thus less than the _minX_ value west of the 180° meridian. To address that, the value 40075016.6855874 should be added to the true _maxX_ value before it is passed in the request.", + "description": "Bounding box of the map viewport in [EPSG900913](http://docs.openlayers.org/library/spherical_mercator.html) projection. The `boundingbox` is represented by two value pairs describing it's corners (first pair for lower left corner and second for upper right). When this endpoint is called directly, all values should be separated by commas (e.g., _minY,minX,maxY,maxX_). The maximum size of the bounding box that can be passed is dependent on the requested zoom level. The width and height cannot exceed 4092 pixels when rendered on the given zoom level.

NOTE: Bounding boxes that cross the 180° meridian require special treatment. For such boxes, the eastern _maxX_ value will be negative, and thus less than the _minX_ value west of the 180° meridian. To address that, the value 40075016.6855874 should be added to the true _maxX_ value before it is passed in the request.", "required": true, - "type": "string" + "type": "array", + "collectionFormat": "csv", + "minItems": 4, + "maxItems": 4, + "items": { + "type": "number", + "format": "double" + } }, { "name": "boundingzoom", @@ -592,9 +623,16 @@ { "name": "overviewbox", "in": "query", - "description": "Bounding box of the overview map in [EPSG900913](http://docs.openlayers.org/library/spherical_mercator.html) projection.

Used in case the overview box/mini map has different copyright data than the main map. If there is no mini map, the same coordinates as `boundingBox` is used.", + "description": "Bounding box of the overview map in [EPSG900913](http://docs.openlayers.org/library/spherical_mercator.html) projection.

Used in case the overview box/mini map has different copyright data than the main map. If there is no mini map, the same coordinates as `boundingBox` is used. When this endpoint is called directly, coordinates are passed in as a single string containing four coordinates, separated by commas.", "required": true, - "type": "string" + "type": "array", + "collectionFormat": "csv", + "minItems": 4, + "maxItems": 4, + "items": { + "type": "number", + "format": "double" + } }, { "name": "overviewzoom", @@ -618,7 +656,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/TrafficIncidentViewportResult" + "$ref": "#/definitions/TrafficIncidentViewport" } }, "default": { @@ -629,7 +667,7 @@ } }, "definitions": { - "TrafficFlowSegmentResult": { + "TrafficFlowSegmentData": { "description": "This object is returned from a successful Traffic Flow Segment call", "type": "object", "properties": { @@ -641,6 +679,7 @@ "frc": { "description": "Functional Road Class. This indicates the road type:\n 0: Motorway, freeway or other major road.\n 1: Major road, less important than a motorway.\n 2: Other major road.\n 3: Secondary road.\n 4: Local connecting road.\n 5: Local road of high importance.\n 6: Local road.", "type": "string", + "x-ms-client-name": "functionalRoadClass", "readOnly": true }, "currentSpeed": { @@ -656,13 +695,13 @@ "readOnly": true }, "currentTravelTime": { - "description": "Current travel time in seconds based on fused real-time measurements between the defined locations in the specified direction.", + "description": "Current travel time in seconds, across this traffic segment, based on fused real-time measurements between the defined locations in the specified direction.", "type": "integer", "format": "int32", "readOnly": true }, "freeFlowTravelTime": { - "description": "The travel time in seconds which would be expected under ideal free flow conditions.", + "description": "The travel time in seconds, across this traffic segment, which would be expected under ideal free flow conditions.", "type": "integer", "format": "int32", "readOnly": true @@ -679,9 +718,10 @@ "coordinate": { "description": "Coordinate array", "type": "array", + "x-ms-client-name": "coordinates", "readOnly": true, "items": { - "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPair" + "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPair" } } } @@ -692,15 +732,16 @@ "readOnly": true }, "openlr": { - "description": "OpenLR code for segment", - "type": "number", - "readOnly": true + "description": "OpenLR code for segment. See [OpenLR](https://en.wikipedia.org/wiki/OpenLR) for more information on the use of Open LR codes.", + "type": "string", + "readOnly": true, + "x-ms-client-name": "openLrCode" } } } } }, - "TrafficIncidentDetailResult": { + "TrafficIncidentDetail": { "description": "This object is returned from a successful Traffic incident Detail call", "type": "object", "properties": { @@ -710,7 +751,7 @@ "readOnly": true, "properties": { "@id": { - "description": "ID of the traffic incident", + "description": "ID of the traffic model for this incident", "type": "string", "readOnly": true }, @@ -718,15 +759,16 @@ "description": "A single traffic incident, or a cluster of traffic incidents", "type": "array", "readOnly": true, + "x-ms-client-name": "pointsOfInterest", "items": { - "$ref": "#/definitions/TrafficIncidentPoi" + "$ref": "#/definitions/TrafficIncidentPointOfInterest" } } } } } }, - "TrafficIncidentPoi": { + "TrafficIncidentPointOfInterest": { "type": "object", "readOnly": true, "properties": { @@ -739,111 +781,241 @@ "description": "The point where an icon of the cluster or raw incident should be drawn, expressed in the requested projection. This is affected by traffic style, zoom level and road type", "type": "object", "readOnly": true, - "properties": { - "x": { - "description": "x coordinate", - "type": "number", - "readOnly": true - }, - "y": { - "description": "y coordinate", - "type": "number", - "readOnly": true - } - } + "x-ms-client-name": "point", + "$ref": "#/definitions/Point" }, "ic": { "description": "The icon category associated with this incident. Values are numbers in the range 0-13, with the following meanings -- 0: Unknown, 1: Accident, 2: Fog, 3: Dangerous Conditions, 4: Rain, 5: Ice, 6: Jam, 7: Lane Closed, 8: Road Closed, 9: Road Works, 10: Wind, 11: Flooding, 12: Detour, 13: Cluster", "type": "integer", "format": "int32", - "readOnly": true + "readOnly": true, + "x-ms-client-name": "iconCategory", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "x-ms-enum": { + "name": "IconCategory", + "modelAsString": true, + "values": [ + { + "value": "0", + "name": "Unknown", + "description": "Unknown" + }, + { + "value": "1", + "name": "Accident", + "description": "Accident" + }, + { + "value": "2", + "name": "Fog", + "description": "Fog" + }, + { + "value": "3", + "name": "Dangerous Conditions", + "description": "Dangerous Conditions" + }, + { + "value": "4", + "name": "Rain", + "description": "Rain" + }, + { + "value": "5", + "name": "Ice", + "description": "Ice" + }, + { + "value": "6", + "name": "Jam", + "description": "Jam" + }, + { + "value": "7", + "name": "Lane Closed", + "description": "Lane Closed" + }, + { + "value": "8", + "name": "Road Closed", + "description": "Road Closed" + }, + { + "value": "9", + "name": "Road Works", + "description": "Road Works" + }, + { + "value": "10", + "name": "Wind", + "description": "Wind" + }, + { + "value": "11", + "name": "Flooding", + "description": "Flooding" + }, + { + "value": "12", + "name": "Detour", + "description": "Detour" + }, + { + "value": "13", + "name": "Cluster", + "description": "Cluster: Returned if a cluster contains incidents with different icon categories." + }, + { + "value": "14", + "name": "Broken Down Vehicle", + "description": "Broken Down Vehicle" + } + ] + } }, "ty": { "description": "The magnitude of delay associated with incident. These values correspond to incident colors in the traffic tiles", "type": "integer", "format": "int32", - "readOnly": true + "readOnly": true, + "x-ms-client-name": "magnitudeOfDelay", + "enum": [ + 0, + 1, + 2, + 3, + 4 + ], + "x-ms-enum": { + "name": "DelayMagnitude", + "modelAsString": true, + "values": [ + { + "value": "0", + "name": "Unknown", + "description": "Unknown" + }, + { + "value": "1", + "name": "Minor", + "description": "Minor" + }, + { + "value": "2", + "name": "Moderate", + "description": "Moderate" + }, + { + "value": "3", + "name": "Major", + "description": "Major" + }, + { + "value": "4", + "name": "Indefinite", + "description": "Indefinite (used for road closures and other indefinite delays)" + } + ] + } }, "cbl": { "description": "Bottom left coordinate of the cluster in the projection of the request", "type": "object", "readOnly": true, - "properties": { - "x": { - "description": "x coordinate", - "type": "number", - "readOnly": true - }, - "y": { - "description": "y coordinate", - "type": "number", - "readOnly": true - } - } + "x-ms-client-name": "bottomLeftCoordinate", + "$ref": "#/definitions/Point" }, "ctr": { "description": "Top right coordinate of the cluster in the projection of the request", "type": "object", "readOnly": true, - "properties": { - "x": { - "description": "x coordinate", - "type": "number", - "readOnly": true - }, - "y": { - "description": "y coordinate", - "type": "number", - "readOnly": true - } - } + "x-ms-client-name": "topLeftCoordinate", + "$ref": "#/definitions/Point" }, "cs": { "description": "Cluster size: the number of incidents in the cluster", "type": "integer", "format": "int32", - "readOnly": true + "readOnly": true, + "x-ms-client-name": "clusterSize" }, "l": { "description": "Length of the incident in meters", "type": "integer", "format": "int32", - "readOnly": true + "readOnly": true, + "x-ms-client-name": "lengthInMeters" }, "r": { "description": "The road number(s) affected by the incident. Multiple road numbers will delimited by slashes", "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-client-name": "roadNumbers" + }, + "sd": { + "description": "Start date of the incident, if available. The date is described in the ISO8601 format.", + "type": "string", + "format": "date-time", + "readOnly": true, + "x-ms-client-name": "startDate" + }, + "ed": { + "description": "Estimated end date of the incident, if available. The date is described in the ISO8601 format.", + "type": "string", + "format": "date-time", + "readOnly": true, + "x-ms-client-name": "endDate" }, "dl": { "description": "Delay caused by the incident in seconds (except in road closures)", "type": "integer", "format": "int32", - "readOnly": true + "readOnly": true, + "x-ms-client-name": "delayInSeconds" }, "t": { "description": "To: the name of the intersection or location where the traffic due to the incident ends", "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-client-name": "trafficEndLocation" }, "f": { "description": "From: the name of the intersection or location where the traffic due to the incident starts", "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-client-name": "trafficStartLocation" }, "d": { "description": "Description of the incident in the language requested", "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-client-name": "description" }, "c": { "description": "Cause of the incident, where available, in the language requested", "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-client-name": "cause" } } }, - "TrafficIncidentViewportResult": { + "TrafficIncidentViewport": { "description": "This object is returned from a successful Traffic Incident Viewport call", "type": "object", "properties": { @@ -853,41 +1025,62 @@ "readOnly": true, "properties": { "trafficState": { - "description": "Traffic State array", - "type": "object", - "readOnly": true, - "properties": { - "@trafficAge": { - "description": "@Traffic Age property", - "type": "integer", - "format": "int32", - "readOnly": true - }, - "@trafficModelId": { - "description": "@Traffic Model Id property", - "type": "string", - "readOnly": true - } - } + "$ref": "#/definitions/TrafficState" }, "copyrightIds": { - "description": "Copyright Ids property", + "x-ms-client-name": "copyrightInformation", + "description": "When the copyright parameter value is true, this contains the full text of the copyright information that must be displayed with the tiles in the viewport", "type": "string", "readOnly": true }, "@version": { - "description": "@Version property", + "description": "Indicates the software version used to generate the information. For use with support queries.", "type": "string", "readOnly": true }, "@maps": { - "description": "@maps property", + "description": "Indicates the data provider's internal names for the map data used in the viewport. For use with support queries.", "type": "string", "readOnly": true } } } } + }, + "TrafficState": { + "description": "Traffic State information", + "type": "object", + "readOnly": true, + "properties": { + "@trafficAge": { + "description": "The elapsed time (in seconds) from the Traffic Model ID creation.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "@trafficModelId": { + "description": "The unique ID called Traffic Model ID is used in calls to Traffic Incident services. It allows to obtain information from particular traffic updates. Traffic Model ID is updated every minute, and is valid for two minutes before it times out.", + "type": "string", + "readOnly": true + } + } + }, + "Point": { + "description": "Generic representation of a point with coordinates (x, y) in the Cartesian plane.", + "type": "object", + "readOnly": true, + "properties": { + "x": { + "description": "x coordinate", + "type": "number", + "readOnly": true + }, + "y": { + "description": "y coordinate", + "type": "number", + "readOnly": true + } + } } } } diff --git a/specification/maps/data-plane/Traffic/readme.python.md b/specification/maps/data-plane/Traffic/readme.python.md index c633df954c2e..02dfd111814a 100644 --- a/specification/maps/data-plane/Traffic/readme.python.md +++ b/specification/maps/data-plane/Traffic/readme.python.md @@ -14,9 +14,9 @@ clear-output-folder: true ``` ``` yaml $(python) && $(python-mode) == 'update' no-namespace-folders: true -output-folder: $(python-sdks-folder)/maps/azure-maps-traffic/azure/maps/traffic +output-folder: $(python-sdks-folder)/maps/azure-maps-traffic/azure/maps/traffic/_generated ``` ``` yaml $(python) && $(python-mode) == 'create' basic-setup-py: true -output-folder: $(python-sdks-folder)/maps/azure-maps-traffic +output-folder: $(python-sdks-folder)/maps/azure-maps-traffic/ ``` diff --git a/specification/maps/data-plane/Weather/preview/1.0/examples/GetCurrentConditions.json b/specification/maps/data-plane/Weather/preview/1.0/examples/GetCurrentConditions.json index b5ad98d74336..20022b386b34 100644 --- a/specification/maps/data-plane/Weather/preview/1.0/examples/GetCurrentConditions.json +++ b/specification/maps/data-plane/Weather/preview/1.0/examples/GetCurrentConditions.json @@ -76,7 +76,7 @@ "localizedDescription": "Steady", "code": "S" }, - "past24HourTemperatureDeparture": { + "pastTwentyFourHourTemperatureDeparture": { "value": 1.8, "unit": "C", "unitType": 17 @@ -102,39 +102,39 @@ "unit": "mm", "unitType": 3 }, - "past3Hours": { + "pastThreeHours": { "value": 0.8, "unit": "mm", "unitType": 3 }, - "past6Hours": { + "pastSixHours": { "value": 0.8, "unit": "mm", "unitType": 3 }, - "past9Hours": { + "pastNineHours": { "value": 0.8, "unit": "mm", "unitType": 3 }, - "past12Hours": { + "pastTwelveHours": { "value": 0.8, "unit": "mm", "unitType": 3 }, - "past18Hours": { + "pastEighteenHours": { "value": 0.8, "unit": "mm", "unitType": 3 }, - "past24Hours": { + "pastTwentyFourHours": { "value": 0.8, "unit": "mm", "unitType": 3 } }, "temperatureSummary": { - "past6Hours": { + "pastSixHours": { "minimum": { "value": 8.3, "unit": "C", @@ -146,7 +146,7 @@ "unitType": 17 } }, - "past12Hours": { + "pastTwelveHours": { "minimum": { "value": 5.9, "unit": "C", @@ -158,7 +158,7 @@ "unitType": 17 } }, - "past24Hours": { + "pastTwentyFourHours": { "minimum": { "value": 5.9, "unit": "C", diff --git a/specification/maps/data-plane/Weather/preview/1.0/examples/GetMinuteForecast.json b/specification/maps/data-plane/Weather/preview/1.0/examples/GetMinuteForecast.json index 04c7409c4043..54cab45b8247 100644 --- a/specification/maps/data-plane/Weather/preview/1.0/examples/GetMinuteForecast.json +++ b/specification/maps/data-plane/Weather/preview/1.0/examples/GetMinuteForecast.json @@ -54,7 +54,7 @@ "blue": 39, "hex": "#23BE27" }, - "precipitationType": "rain", + "precipitationType": "Rain", "iconCode": 12, "cloudCover": 100 }, @@ -76,7 +76,7 @@ "blue": 39, "hex": "#23BE27" }, - "precipitationType": "rain", + "precipitationType": "Rain", "iconCode": 12, "cloudCover": 100 }, diff --git a/specification/maps/data-plane/Weather/preview/1.0/examples/GetQuarterDayForecast.json b/specification/maps/data-plane/Weather/preview/1.0/examples/GetQuarterDayForecast.json index 4aeb40dd930e..5e2d732561a9 100644 --- a/specification/maps/data-plane/Weather/preview/1.0/examples/GetQuarterDayForecast.json +++ b/specification/maps/data-plane/Weather/preview/1.0/examples/GetQuarterDayForecast.json @@ -10,7 +10,7 @@ "body": { "forecasts": [ { - "date": "2019-11-14T00:00:00", + "date": "2019-11-14T00:00:00-08:00", "effectiveDate": "2019-11-14T07:00:00-08:00", "quarter": 0, "iconCode": 12, @@ -101,7 +101,7 @@ } }, { - "date": "2019-11-14T00:00:00", + "date": "2019-11-14T00:00:00-08:00", "effectiveDate": "2019-11-14T13:00:00-08:00", "quarter": 1, "iconCode": 12, @@ -192,7 +192,7 @@ } }, { - "date": "2019-11-14T00:00:00", + "date": "2019-11-14T00:00:00-08:00", "effectiveDate": "2019-11-14T19:00:00-08:00", "quarter": 2, "iconCode": 7, @@ -281,7 +281,7 @@ } }, { - "date": "2019-11-14T00:00:00", + "date": "2019-11-14T00:00:00-08:00", "effectiveDate": "2019-11-15T01:00:00-08:00", "quarter": 3, "iconCode": 12, diff --git a/specification/maps/data-plane/Weather/preview/1.0/weather.json b/specification/maps/data-plane/Weather/preview/1.0/weather.json index dab27658e75e..1e63f3b770fe 100644 --- a/specification/maps/data-plane/Weather/preview/1.0/weather.json +++ b/specification/maps/data-plane/Weather/preview/1.0/weather.json @@ -17,15 +17,21 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } }, - "AzureKey": { + "SharedKey": { "type": "apiKey", - "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", + "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.", "name": "subscription-key", + "in": "query" + }, + "SasToken": { + "type": "apiKey", + "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.", + "name": "SAS Token", "in": "header" } }, @@ -36,12 +42,15 @@ ] }, { - "AzureKey": [] + "SharedKey": [] + }, + { + "SasToken": [] } ], "responses": {}, "parameters": { - "WeatherApiVersion": { + "ApiVersion": { "name": "api-version", "description": "Version number of Azure Maps API.", "type": "string", @@ -50,13 +59,6 @@ "default": "1.0", "x-ms-parameter-location": "client" }, - "WeatherLanguage": { - "name": "language", - "description": "Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used. Default value is en-us. \n\nPlease refer to [Supported languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.", - "type": "string", - "in": "query", - "x-ms-parameter-location": "method" - }, "WeatherDataUnit": { "name": "unit", "description": "Specifies to return the data in either metric units or imperial units. Default value is metric.", @@ -87,9 +89,9 @@ "/weather/forecast/hourly/{format}": { "get": { "description": "**Get Hourly Forecast**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nRequest detailed weather forecast by the hour for the next 1, 12, 24 (1 day), 72 (3 days), 120 (5 days), and 240 hours (10 days) for the given the given coordinate location. The API returns details such as temperature, humidity, wind, precipitation, and ultraviolet (UV) index.\n\nIn S0 you can request hourly forecast for the next 1, 12, 24 hours (1 day), and 72 hours (3 days). In S1 you can also request hourly forecast for the next 120 (5 days) and 240 hours (10 days).", - "operationId": "GetHourlyForecast", + "operationId": "Weather_GetHourlyForecast", "x-ms-examples": { - "GetHourlyForecast": { + "Successfully retrieve detailed weather forecast by the hour": { "$ref": "./examples/GetHourlyForecast.json" } }, @@ -98,17 +100,26 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId" }, { - "$ref": "#/parameters/WeatherApiVersion" + "$ref": "#/parameters/ApiVersion" }, { "$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat" }, { "name": "query", - "description": "Coordinates of the location for which hourly forecast information is requested. The applicable query is specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".", + "x-ms-client-name": "coordinates", "in": "query", - "type": "string", - "required": true + "description": "The applicable query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".", + "required": true, + "x-ms-parameter-location": "method", + "type": "array", + "collectionFormat": "csv", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "number", + "format": "double" + } }, { "$ref": "#/parameters/WeatherDataUnit" @@ -120,7 +131,7 @@ "type": "integer" }, { - "$ref": "#/parameters/WeatherLanguage" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" } ], "responses": { @@ -139,9 +150,9 @@ "/weather/forecast/minute/{format}": { "get": { "description": "**Get Minute Forecast**\n \n \n**Applies to**: S1 pricing tier.\n\n\nGet Minute Forecast service returns minute-by-minute forecasts for a given location for the next 120 minutes. Users can request weather forecasts in the interval of 1, 5 and 15 minutes. The response will include details such as the type of precipitation (including rain, snow, or a mixture of both), start time, and precipitation intensity value (dBZ).", - "operationId": "GetMinuteForecast", + "operationId": "Weather_GetMinuteForecast", "x-ms-examples": { - "GetMinuteForecast": { + "Successfully retrieve minute-by-minute forecasts for a given location": { "$ref": "./examples/GetMinuteForecast.json" } }, @@ -150,17 +161,26 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId" }, { - "$ref": "#/parameters/WeatherApiVersion" + "$ref": "#/parameters/ApiVersion" }, { "$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat" }, { "name": "query", - "description": "Coordinates of the location for which minute forecast information is requested. The applicable query is specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".", + "x-ms-client-name": "coordinates", "in": "query", - "type": "string", - "required": true + "description": "The applicable query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".", + "required": true, + "x-ms-parameter-location": "method", + "type": "array", + "collectionFormat": "csv", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "number", + "format": "double" + } }, { "name": "interval", @@ -169,7 +189,7 @@ "type": "integer" }, { - "$ref": "#/parameters/WeatherLanguage" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" } ], "responses": { @@ -188,9 +208,9 @@ "/weather/forecast/quarterDay/{format}": { "get": { "description": "**Get Quarter-Day Forecast**\n \n \n**Applies to**: S0 and S1 pricing tiers.\n\n\nService returns detailed weather forecast by quarter-day for the next 1, 5, 10, or 15 days for a given location. Response data is presented by quarters of the day - morning, afternoon, evening, and overnight. Details such as temperature, humidity, wind, precipitation, and UV index are returned.", - "operationId": "GetQuarterDayForecast", + "operationId": "Weather_GetQuarterDayForecast", "x-ms-examples": { - "GetQuarterDayForecast": { + "Successfully retrieve detailed weather forecast by a given location": { "$ref": "./examples/GetQuarterDayForecast.json" } }, @@ -199,17 +219,26 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId" }, { - "$ref": "#/parameters/WeatherApiVersion" + "$ref": "#/parameters/ApiVersion" }, { "$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat" }, { "name": "query", - "description": "Coordinates of the location for which quarter-day forecast information is requested. The applicable query is specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".", + "x-ms-client-name": "coordinates", "in": "query", - "type": "string", - "required": true + "description": "The applicable query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".", + "required": true, + "x-ms-parameter-location": "method", + "type": "array", + "collectionFormat": "csv", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "number", + "format": "double" + } }, { "$ref": "#/parameters/WeatherDataUnit" @@ -221,7 +250,7 @@ "type": "integer" }, { - "$ref": "#/parameters/WeatherLanguage" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" } ], "responses": { @@ -240,9 +269,9 @@ "/weather/currentConditions/{format}": { "get": { "description": "**Get Current Conditions**\n \n \n**Applies to**: S0 and S1 pricing tiers.\n\n\nGet Current Conditions service returns detailed current weather conditions such as precipitation, temperature and wind for a given coordinate location. Also, observations from the past 6 or 24 hours for a particular location can be retrieved. The basic information returned with the response include details such as observation date and time, brief description of the weather conditions, weather icon, precipitation indicator flags, and temperature. Additional details such as RealFeel™ Temperature and UV index are also returned.", - "operationId": "GetCurrentConditions", + "operationId": "Weather_GetCurrentConditions", "x-ms-examples": { - "GetCurrentConditions": { + "Successfully retrieve detailed current weather conditions for a given coordinate location": { "$ref": "./examples/GetCurrentConditions.json" } }, @@ -251,17 +280,26 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId" }, { - "$ref": "#/parameters/WeatherApiVersion" + "$ref": "#/parameters/ApiVersion" }, { "$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat" }, { "name": "query", - "description": "Coordinates of the location for which current conditions information is requested. The applicable query is specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".", + "x-ms-client-name": "coordinates", "in": "query", - "type": "string", - "required": true + "description": "The applicable query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".", + "required": true, + "x-ms-parameter-location": "method", + "type": "array", + "collectionFormat": "csv", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "number", + "format": "double" + } }, { "$ref": "#/parameters/WeatherDataUnit" @@ -279,7 +317,7 @@ "type": "integer" }, { - "$ref": "#/parameters/WeatherLanguage" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" } ], "responses": { @@ -298,9 +336,9 @@ "/weather/forecast/daily/{format}": { "get": { "description": "**Get Daily Forecast**\n \n \n**Applies to**: S0 and S1 pricing tiers.\n\n\nThe service returns detailed weather forecast such as temperature and wind by day for the next 1, 5, 10, 15, 25, or 45 days for a given coordinate location. The response include details such as temperature, wind, precipitation, air quality, and UV index.\n\nIn S0 you can request daily forecast for the next 1, 5, 10, and 15 days. In S1 you can also request daily forecast for the next 25 days, and 45 days.", - "operationId": "GetDailyForecast", + "operationId": "Weather_GetDailyForecast", "x-ms-examples": { - "GetDailyForecast": { + "Successfully retrieve detailed daily weather forecast for a given coordinate location": { "$ref": "./examples/GetDailyForecast.json" } }, @@ -309,17 +347,26 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId" }, { - "$ref": "#/parameters/WeatherApiVersion" + "$ref": "#/parameters/ApiVersion" }, { "$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat" }, { "name": "query", - "description": "Coordinates of the location for which current conditions information is requested. The applicable query is specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".", + "x-ms-client-name": "coordinates", "in": "query", - "type": "string", - "required": true + "description": "The applicable query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".", + "required": true, + "x-ms-parameter-location": "method", + "type": "array", + "collectionFormat": "csv", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "number", + "format": "double" + } }, { "$ref": "#/parameters/WeatherDataUnit" @@ -331,7 +378,7 @@ "type": "integer" }, { - "$ref": "#/parameters/WeatherLanguage" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" } ], "responses": { @@ -350,9 +397,9 @@ "/weather/route/{format}": { "get": { "description": "**Get Weather along route**\n \n \n **Applies to**: S1 pricing tier.\n\n Weather along a route API returns hyper local (one kilometer or less), up-to-the-minute weather nowcasts, weather hazard assessments, and notifications along a route described as a sequence of waypoints. \n This includes a list of weather hazards affecting the waypoint or route, and the aggregated hazard index for each waypoint might be used to paint each portion of a route according to how safe it is for the driver. When submitting the waypoints, it is recommended to stay within, or close to, the distance that can be traveled within 120-mins or shortly after. Data is updated every five minutes. \n \n The service supplements Azure Maps [Route Service](https://docs.microsoft.com/rest/api/maps/route) that allows you to first request a route between an origin and a destination and use that as an input for Weather Along Route endpoint.\n \n In addition, the service supports scenarios to generate weather notifications for waypoints that experience an increase in intensity of a weather hazard. For example, if the vehicle is expected to begin experiencing heavy rain as it reaches a waypoint, a weather notification for heavy rain will be generated for that waypoint allowing the end product to display a heavy rain notification before the driver reaches that waypoint. \n The trigger for when to display the notification for a waypoint could be based, for example, on a [geofence](https://docs.microsoft.com/azure/azure-maps/tutorial-iot-hub-maps), or selectable distance to the waypoint.\n\n The API covers all regions of the planet except latitudes above Greenland and Antarctica.", - "operationId": "GetWeatherAlongRoute", + "operationId": "Weather_GetWeatherAlongRoute", "x-ms-examples": { - "GetWeatherAlongRoute": { + "Successfully retrieve detailed weather casts along a route described as a sequence of waypoints": { "$ref": "./examples/GetWeatherAlongRoute.json" } }, @@ -361,7 +408,7 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId" }, { - "$ref": "#/parameters/WeatherApiVersion" + "$ref": "#/parameters/ApiVersion" }, { "$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat" @@ -374,7 +421,7 @@ "required": true }, { - "$ref": "#/parameters/WeatherLanguage" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" } ], "responses": { @@ -393,9 +440,9 @@ "/weather/severe/alerts/{format}": { "get": { "description": "**Get Severe Weather Alerts**\n\n**Applies to**: S0 and S1 pricing tiers.\n\nSevere weather phenomenon can significantly impact our everyday life and business operations. For example, severe weather conditions such as tropical storms, high winds or flooding can close roads and force logistics companies to reroute their fleet causing delays in reaching destinations and breaking the cold chain of refrigerated food products.  Azure Maps Severe Weather Alerts API returns the severe weather alerts that are available worldwide from both official Government Meteorological Agencies and leading global to regional weather alert providers. The service can return details such as alert type, category, level and detailed description about the active severe alerts for the requested location, like hurricanes, thunderstorms, lightning, heat waves or forest fires.", - "operationId": "GetSevereWeatherAlerts", + "operationId": "Weather_GetSevereWeatherAlerts", "x-ms-examples": { - "GetSevereWeatherAlerts": { + "Successfully retrieve severe weather alerts": { "$ref": "./examples/GetSevereWeatherAlerts.json" } }, @@ -404,20 +451,29 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId" }, { - "$ref": "#/parameters/WeatherApiVersion" + "$ref": "#/parameters/ApiVersion" }, { "$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat" }, { "name": "query", - "description": "Coordinates of the location for which severe weather alerts are requested. The applicable query is specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".", + "x-ms-client-name": "coordinates", "in": "query", - "type": "string", - "required": true + "description": "The applicable query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".", + "required": true, + "x-ms-parameter-location": "method", + "type": "array", + "collectionFormat": "csv", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "number", + "format": "double" + } }, { - "$ref": "#/parameters/WeatherLanguage" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" }, { "name": "details", @@ -442,9 +498,9 @@ "/weather/indices/daily/{format}": { "get": { "description": "**Get Daily Indices**\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThere may be times when you want to know if the weather conditions are optimal for a specific activity, for example, for outdoor construction, indoor activities, running or farming including soil moisture information. Azure Maps Indices API returns index values that will guide end users to plan future activities. For example, a health mobile application can notify users that today is good weather for running or for other outdoors activities like for playing golf, and retail stores can optimize their digital marketing campaigns based on predicted index values. The service returns in daily indices values for current and next 5, 10 and 15 days starting from current day.", - "operationId": "GetDailyIndices", + "operationId": "Weather_GetDailyIndices", "x-ms-examples": { - "GetDailyIndices": { + "Successfully retrieve daily indices values from current day": { "$ref": "./examples/GetDailyIndices.json" } }, @@ -453,20 +509,29 @@ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId" }, { - "$ref": "#/parameters/WeatherApiVersion" + "$ref": "#/parameters/ApiVersion" }, { "$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat" }, { "name": "query", - "description": "Coordinates of the location for which daily indices are requested. The applicable query is specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".", + "x-ms-client-name": "coordinates", "in": "query", - "type": "string", - "required": true + "description": "The applicable query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".", + "required": true, + "x-ms-parameter-location": "method", + "type": "array", + "collectionFormat": "csv", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "number", + "format": "double" + } }, { - "$ref": "#/parameters/WeatherLanguage" + "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language" }, { "name": "duration", @@ -502,7 +567,454 @@ } }, "definitions": { + "IconCode": { + "type": "integer", + "format": "int32", + "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details.", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ], + "x-ms-enum": { + "name": "IconCode", + "modelAsString": true, + "values": [ + { + "value": 1, + "name": "Sunny", + "description": "Sunny" + }, + { + "value": 2, + "name": "MostlySunny", + "description": "Mostly Sunny" + }, + { + "value": 3, + "name": "PartlySunny", + "description": "Partly Sunny" + }, + { + "value": 4, + "name": "IntermittentClouds", + "description": "Intermittent Clouds" + }, + { + "value": 5, + "name": "HazySunshine", + "description": "Hazy Sunshine" + }, + { + "value": 6, + "name": "MostlyCloudy", + "description": "Mostly Cloudy" + }, + { + "value": 7, + "name": "Cloudy", + "description": "Cloudy" + }, + { + "value": 8, + "name": "Dreary", + "description": "Dreary (Overcast)" + }, + { + "value": 11, + "name": "Fog", + "description": "Fog" + }, + { + "value": 12, + "name": "Showers", + "description": "Showers" + }, + { + "value": 13, + "name": "MostlyCloudyWithShowers", + "description": "Mostly Cloudy with Showers" + }, + { + "value": 14, + "name": "PartlySunnyWithShowers", + "description": "Partly Sunny with Showers" + }, + { + "value": 15, + "name": "Thunderstorms", + "description": "Thunderstorms" + }, + { + "value": 16, + "name": "MostlyCloudyWithThunderstorms", + "description": "Mostly Cloudy with Thunderstorms" + }, + { + "value": 17, + "name": "PartlySunnyWithThunderstorms", + "description": "Partly Sunny with Thunderstorms" + }, + { + "value": 18, + "name": "Rain", + "description": "Rain" + }, + { + "value": 19, + "name": "Flurries", + "description": "Flurries" + }, + { + "value": 20, + "name": "MostlyCloudyWithFlurries", + "description": "Mostly Cloudy with Flurries" + }, + { + "value": 21, + "name": "PartlySunnyWithFlurries", + "description": "Partly Sunny with Flurries" + }, + { + "value": 22, + "name": "Snow", + "description": "Snow" + }, + { + "value": 23, + "name": "MostlyCloudyWithSnow", + "description": "Mostly Cloudy with Snow" + }, + { + "value": 24, + "name": "Ice", + "description": "Ice" + }, + { + "value": 25, + "name": "Sleet", + "description": "Sleet" + }, + { + "value": 26, + "name": "FreezingRain", + "description": "Freezing Rain" + }, + { + "value": 29, + "name": "RainAndSnow", + "description": "Rain and Snow" + }, + { + "value": 30, + "name": "Hot", + "description": "Hot" + }, + { + "value": 31, + "name": "Cold", + "description": "Cold" + }, + { + "value": 32, + "name": "Windy", + "description": "Windy" + }, + { + "value": 33, + "name": "Clear", + "description": "Clear" + }, + { + "value": 34, + "name": "Mostly Clear", + "description": "Mostly Clear" + }, + { + "value": 35, + "name": "Partly Cloudy", + "description": "Partly Cloudy" + }, + { + "value": 36, + "name": "IntermittentCloudsNight", + "description": "Intermittent Clouds (Night)" + }, + { + "value": 37, + "name": "HazyMoonlight", + "description": "Hazy Moonlight" + }, + { + "value": 38, + "name": "MostlyCloudyNight", + "description": "Mostly Cloudy (Night)" + }, + { + "value": 39, + "name": "PartlyCloudyWithShowers", + "description": "Partly Cloudy with Showers" + }, + { + "value": 40, + "name": "MostlyCloudyWithShowersNight", + "description": "Mostly Cloudy with Showers (Night)" + }, + { + "value": 41, + "name": "Partly Cloudy with Thunderstorms", + "description": "Partly Cloudy with Thunderstorms" + }, + { + "value": 42, + "name": "MostlyCloudyWithThunderstormsNight", + "description": "Mostly Cloudy with Thunderstorms (Night)" + }, + { + "value": 43, + "name": "MostlyCloudyWithFlurriesNight", + "description": "Mostly Cloudy with Flurries (Night)" + }, + { + "value": 44, + "name": "MostlyCloudyWithSnowNight", + "description": "Mostly Cloudy with Snow (Night)" + } + ] + } + }, + "UnitType": { + "type": "integer", + "format": "int32", + "description": "Numeric ID value associated with the type of unit being displayed. Can be used for unit translation. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details.", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 31 + ], + "x-ms-enum": { + "name": "UnitType", + "modelAsString": true, + "values": [ + { + "value": 0, + "name": "Feet", + "description": "feet" + }, + { + "value": 1, + "name": "Inches", + "description": "inches" + }, + { + "value": 2, + "name": "Miles", + "description": "miles" + }, + { + "value": 3, + "name": "Millimeter", + "description": "millimeter" + }, + { + "value": 4, + "name": "Centimeter", + "description": "centimeter" + }, + { + "value": 5, + "name": "Meter", + "description": "meter" + }, + { + "value": 6, + "name": "Kilometer", + "description": "kilometer" + }, + { + "value": 7, + "name": "KilometersPerHour", + "description": "kilometersPerHour" + }, + { + "value": 8, + "name": "Knots", + "description": "knots" + }, + { + "value": 9, + "name": "MilesPerHour", + "description": "milesPerHour" + }, + { + "value": 10, + "name": "MetersPerSecond", + "description": "metersPerSecond" + }, + { + "value": 11, + "name": "HectoPascals", + "description": "hectoPascals" + }, + { + "value": 12, + "name": "InchesOfMercury", + "description": "inchesOfMercury" + }, + { + "value": 13, + "name": "KiloPascals", + "description": "kiloPascals" + }, + { + "value": 14, + "name": "Millibars", + "description": "millibars" + }, + { + "value": 15, + "name": "MillimetersOfMercury", + "description": "millimetersOfMercury" + }, + { + "value": 16, + "name": "PoundsPerSquareInch", + "description": "poundsPerSquareInch" + }, + { + "value": 17, + "name": "Celsius", + "description": "celsius" + }, + { + "value": 18, + "name": "Fahrenheit", + "description": "fahrenheit" + }, + { + "value": 19, + "name": "Kelvin", + "description": "kelvin" + }, + { + "value": 20, + "name": "Percent", + "description": "percent" + }, + { + "value": 21, + "name": "Float", + "description": "float" + }, + { + "value": 22, + "name": "Integer", + "description": "integer" + }, + { + "value": 31, + "name": "MicrogramsPerCubicMeterOfAir", + "description": "MicrogramsPerCubicMeterOfAir" + } + ] + } + }, + "PrecipitationType": { + "type": "string", + "description": "Specifies the type of precipitation (\"Rain\" \"Snow\" \"Ice\" or \"Mix\"). If dbz is zero, precipitationType is not present in the response.", + "enum": [ + "Rain", + "Snow", + "Ice", + "Mix" + ], + "x-ms-enum": { + "name": "PrecipitationType", + "modelAsString": true, + "values": [ + { + "value": "Rain", + "description": "Rain" + }, + { + "value": "Snow", + "description": "Snow" + }, + { + "value": "Ice", + "description": "Ice" + }, + { + "value": "Mix", + "description": "Mix" + } + ] + } + }, "WeatherUnit": { + "x-ms-client-name": "WeatherValue", "description": "Specific value of a given unit related to weather.", "type": "object", "properties": { @@ -512,13 +1024,12 @@ "description": "Rounded value." }, "unit": { + "x-ms-client-name": "unitLabel", "type": "string", "description": "Type of unit for the returned value." }, "unitType": { - "type": "integer", - "format": "int32", - "description": "Numeric ID value associated with the type of unit being displayed. Can be used for unit translation. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details." + "$ref": "#/definitions/UnitType" } } }, @@ -545,6 +1056,7 @@ "description": "Wind direction in Azimuth degrees, starting at true North and continuing in clockwise direction. North is 0 degrees, east is 90 degrees, south is 180 degrees, west is 270 degrees. Possible values 0-359." }, "localizedDescription": { + "x-ms-client-name": "description", "type": "string", "description": "Direction abbreviation in the specified language." } @@ -565,13 +1077,12 @@ "description": "Type of unit for the speed value." }, "unitType": { - "type": "integer", - "format": "int32", - "description": "Numeric ID value associated with the type of unit being displayed. Can be used for unit translation. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details." + "$ref": "#/definitions/UnitType" } } }, "WeatherUnitRange": { + "x-ms-client-name": "WeatherValueRange", "type": "object", "description": "Returned temperature values.", "properties": { @@ -593,20 +1104,57 @@ "HazardIndex": { "type": "integer", "format": "int32", - "description": "A severity/hazard index.\n * `0` - No hazard.\n * `1` - Be informed, be aware.\n * `2` - Pay attention, be prepared.\n * `3` - Take action.\n * `4` - Life threatening, emergency." + "description": "A severity/hazard index.\n * `0` - No hazard.\n * `1` - Be informed, be aware.\n * `2` - Pay attention, be prepared.\n * `3` - Take action.\n * `4` - Life threatening, emergency.", + "enum": [ + 0, + 1, + 2, + 3, + 4 + ], + "x-ms-enum": { + "name": "HazardIndex", + "modelAsString": true, + "values": [ + { + "value": 0, + "name": "NoHazard", + "description": "No hazard" + }, + { + "value": 1, + "name": "Informed", + "description": "Be informed" + }, + { + "value": 2, + "name": "PayAttention", + "description": "Pay attention" + }, + { + "value": 3, + "name": "TakeAction", + "description": "Take action" + }, + { + "value": 4, + "name": "Emergency", + "description": "Emergency" + } + ] + } }, "HourlyForecast": { "type": "object", "properties": { "date": { + "x-ms-client-name": "dateTime", "type": "string", "description": "Date and time of the forecast in ISO 8601 format, for example, 2019-10-27T19:39:57-08:00.", "format": "date-time" }, "iconCode": { - "type": "integer", - "format": "int32", - "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details." + "$ref": "#/definitions/IconCode" }, "iconPhrase": { "type": "string", @@ -654,6 +1202,7 @@ "description": "Visibility in specified unit. A measure of the distance at which an object or light can be clearly discerned." }, "ceiling": { + "x-ms-client-name": "cloudCeiling", "$ref": "#/definitions/WeatherUnit", "description": "Cloud ceiling in specified unit. The ceiling is a measurement of the height of the base of the lowest clouds." }, @@ -661,6 +1210,7 @@ "$ref": "#/definitions/UVIndex" }, "uvIndexPhrase": { + "x-ms-client-name": "uvIndexDescription", "type": "string", "description": "Phrase associated with the `uvIndex`." }, @@ -713,6 +1263,7 @@ "forecasts": { "type": "array", "description": "Forecast data for each returned hour.", + "readOnly": true, "items": { "$ref": "#/definitions/HourlyForecast" } @@ -727,10 +1278,12 @@ "description": "Summary phrase for the next 60 minutes. Phrase length is approximately 60 characters." }, "shortPhrase": { + "x-ms-client-name": "shortDescription", "type": "string", "description": "Short summary phrase for the next 120 minutes. Phrase length is approximately 25 characters." }, "briefPhrase": { + "x-ms-client-name": "briefDescription", "type": "string", "description": "Summary phrase for the next 120 minutes. Phrase length is approximately 60 characters." }, @@ -739,9 +1292,7 @@ "description": "Long summary phrase for the next 120 minutes. Phrase length is 60+ characters." }, "iconCode": { - "type": "integer", - "format": "int32", - "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details." + "$ref": "#/definitions/IconCode" } }, "description": "Phrase summaries for the entire forecast period." @@ -765,10 +1316,12 @@ "description": "The number of minutes for which the summary applies." }, "shortPhrase": { + "x-ms-client-name": "shortDescription", "type": "string", "description": "Short summary phrase. Phrase length is approximately 25 characters." }, "briefPhrase": { + "x-ms-client-name": "briefDescription", "type": "string", "description": "Brief summary phrase. Phrase length is approximately 60 characters." }, @@ -777,9 +1330,7 @@ "description": "Long summary phrase. Phrase length is 60+ characters." }, "iconCode": { - "type": "integer", - "format": "int32", - "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details." + "$ref": "#/definitions/IconCode" } } }, @@ -797,11 +1348,13 @@ "description": "The first minute for the interval." }, "dbz": { + "x-ms-client-name": "decibelRelativeToZ", "type": "number", "format": "double", "description": "A unit that represents forecasted precipitation intensity." }, "shortPhrase": { + "x-ms-client-name": "shortDescription", "type": "string", "description": "A short phrase describing precipitation condition for the interval." }, @@ -818,13 +1371,10 @@ "description": "The band color that maps to the precipitation type and threshold. If dbz is zero, not present in the response." }, "precipitationType": { - "type": "string", - "description": "Specifies the type of precipitation (\"rain\" \"snow\" \"ice\" or \"mix\"). If dbz is zero, precipitationType is not present in the response." + "$ref": "#/definitions/PrecipitationType" }, "iconCode": { - "type": "integer", - "format": "int32", - "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details." + "$ref": "#/definitions/IconCode" }, "cloudCover": { "type": "integer", @@ -837,9 +1387,11 @@ "type": "object", "properties": { "summary": { + "readOnly": true, "$ref": "#/definitions/MinuteForecastSummary" }, "intervalSummaries": { + "readOnly": true, "type": "array", "items": { "$ref": "#/definitions/IntervalSummary" @@ -849,6 +1401,7 @@ "intervals": { "type": "array", "description": "Forecast data for each interval in the forecast.", + "readOnly": true, "items": { "$ref": "#/definitions/ForecastInterval" } @@ -883,7 +1436,9 @@ "type": "object", "properties": { "date": { + "x-ms-client-name": "dateTime", "type": "string", + "format": "date-time", "description": "Date of the forecast as example, 2019-10-27T00:00:00" }, "effectiveDate": { @@ -907,27 +1462,29 @@ "values": [ { "value": 0, + "name": "FirstQuarter", "description": "7:00 am - 1:00 pm / 7:00- 13:00" }, { "value": 1, + "name": "SecondQuarter", "description": "1:00 pm - 7:00 pm/ 13:00- 19:00" }, { "value": 2, + "name": "ThirdQuarter", "description": "7:00 pm - 1:00 am/ 19:00 - 01:00" }, { "value": 3, + "name": "ForthQuarter", "description": "1:00 am - 7:00 am/ 01:00 - 07:00" } ] } }, "iconCode": { - "type": "integer", - "format": "int32", - "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details." + "$ref": "#/definitions/IconCode" }, "iconPhrase": { "type": "string", @@ -976,8 +1533,7 @@ "description": "Indicates the presence or absence of precipitation. True indicates the presence of precipitation, false indicates the absence of precipitation." }, "precipitationType": { - "type": "string", - "description": "Specifies the type of precipitation (\"rain\" \"snow\" \"ice\" or \"mix\"). If dbz = zero, precipitationType is not present in the response." + "$ref": "#/definitions/PrecipitationType" }, "precipitationIntensity": { "type": "string", @@ -1015,6 +1571,7 @@ "type": "object", "properties": { "forecasts": { + "readOnly": true, "type": "array", "description": "Forecast data for each quarter in the response.", "items": { @@ -1027,6 +1584,7 @@ "type": "object", "properties": { "results": { + "readOnly": true, "description": "Detailed current weather conditions.", "type": "array", "items": { @@ -1039,6 +1597,7 @@ "type": "object", "properties": { "localizedDescription": { + "x-ms-client-name": "description", "type": "string", "description": "Description of the pressure tendency in specified language" }, @@ -1055,75 +1614,59 @@ "$ref": "#/definitions/WeatherUnit", "description": "The amount of precipitation (liquid equivalent) that has fallen in the past hour." }, - "past3Hours": { + "pastThreeHours": { "$ref": "#/definitions/WeatherUnit", "description": "The amount of precipitation (liquid equivalent) that has fallen in the past three hours." }, - "past6Hours": { + "pastSixHours": { "$ref": "#/definitions/WeatherUnit", "description": "The amount of precipitation (liquid equivalent) that has fallen in the past six hours. Contains Metric and Imperial Values." }, - "past9Hours": { + "pastNineHours": { "$ref": "#/definitions/WeatherUnit", "description": "The amount of precipitation (liquid equivalent) that has fallen in the past nine hours." }, - "past12Hours": { + "pastTwelveHours": { "$ref": "#/definitions/WeatherUnit", "description": "The amount of precipitation (liquid equivalent) that has fallen in the past 12 hours." }, - "past18Hours": { + "pastEighteenHours": { "$ref": "#/definitions/WeatherUnit", "description": "The amount of precipitation (liquid equivalent) that has fallen in the past 18 hours." }, - "past24Hours": { + "pastTwentyFourHours": { "$ref": "#/definitions/WeatherUnit", "description": "The amount of precipitation (liquid equivalent) that has fallen in the past 24 hours." } } }, + "PastHoursTemperature": { + "type": "object", + "properties": { + "minimum": { + "$ref": "#/definitions/WeatherUnit", + "description": "minimum" + }, + "maximum": { + "$ref": "#/definitions/WeatherUnit", + "description": "maximum" + } + }, + "description": "Summary of temperature fluctuations over the number of past hours." + }, "TemperatureSummary": { "type": "object", "properties": { - "past6Hours": { - "type": "object", - "properties": { - "minimum": { - "$ref": "#/definitions/WeatherUnit", - "description": "minimum" - }, - "maximum": { - "$ref": "#/definitions/WeatherUnit", - "description": "maximum" - } - }, + "pastSixHours": { + "$ref": "#/definitions/PastHoursTemperature", "description": "Summary of temperature fluctuations over the past 6 hours." }, - "past12Hours": { - "type": "object", - "properties": { - "minimum": { - "$ref": "#/definitions/WeatherUnit", - "description": "minimum" - }, - "maximum": { - "$ref": "#/definitions/WeatherUnit", - "description": "maximum" - } - }, + "pastTwelveHours": { + "$ref": "#/definitions/PastHoursTemperature", "description": "Summary of temperature fluctuations over the past 12 hours." }, - "past24Hours": { - "type": "object", - "properties": { - "minimum": { - "$ref": "#/definitions/WeatherUnit", - "description": "minimum" - }, - "maximum": { - "$ref": "#/definitions/WeatherUnit", - "description": "maximum" - } - }, + "pastTwentyFourHours": { + "$ref": "#/definitions/PastHoursTemperature", "description": "Summary of temperature fluctuations over the past 24 hours." } } @@ -1137,19 +1680,19 @@ "description": "Date and time of the current observation displayed in ISO 8601 format, for example, 2019-10-27T19:39:57-08:00." }, "phrase": { + "x-ms-client-name": "description", "type": "string", "description": "Phrase description of the current weather condition. Displayed in specified language." }, "iconCode": { - "type": "integer", - "format": "int32", - "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details." + "$ref": "#/definitions/IconCode" }, "hasPrecipitation": { "type": "boolean", "description": "Indicates the presence or absence of precipitation. True indicates the presence of precipitation, false indicates the absence of precipitation." }, "isDayTime": { + "x-ms-client-name": "isDaytime", "type": "boolean", "description": "Indicates the time of the day. True indicates 'day',', false indicates 'night." }, @@ -1186,6 +1729,7 @@ "$ref": "#/definitions/UVIndex" }, "uvIndexPhrase": { + "x-ms-client-name": "uvIndexDescription", "type": "string", "description": "Phrase associated with the `uvIndex`." }, @@ -1203,6 +1747,7 @@ "description": "Percent representing cloud cover." }, "ceiling": { + "x-ms-client-name": "cloudCeiling", "$ref": "#/definitions/WeatherUnit", "description": "Cloud ceiling in specified unit. The ceiling is a measurement of the height of the base of the lowest clouds." }, @@ -1214,7 +1759,7 @@ "$ref": "#/definitions/PressureTendency", "description": "Atmospheric pressure change." }, - "past24HourTemperatureDeparture": { + "pastTwentyFourHourTemperatureDeparture": { "$ref": "#/definitions/WeatherUnit", "description": "Departure from the temperature observed 24 hours ago in specified unit." }, @@ -1286,6 +1831,7 @@ "type": "object", "properties": { "name": { + "x-ms-client-name": "description", "type": "string", "description": "Name of the pollen or pollutant. For example, grass, mold, weed, air quality, tree and UV index." }, @@ -1304,6 +1850,7 @@ "description": "Value associated with the air quality or pollution category. These values range from 1 to 6. 1 implying good conditions, 6 implying hazardous conditions." }, "type": { + "x-ms-client-name": "airQualityType", "type": "string", "description": "Only exists for air quality. Examples include ozone and particle pollution." } @@ -1313,6 +1860,7 @@ "type": "object", "properties": { "date": { + "x-ms-client-name": "dateTime", "type": "string", "format": "date-time", "description": "Date and time of the current observation displayed in ISO 8601 format, for example, 2019-10-27T19:39:57-08:00." @@ -1335,23 +1883,27 @@ "description": "Hours of sun." }, "degreeDaySummary": { + "x-ms-client-name": "meanTemperatureDeviation", "$ref": "#/definitions/DegreeDaySummary", - "description": "Summary of Heating Degree Day or Cooling Degree Day information" + "description": "Summary for mean temperature of Heating Degree Day or Cooling Degree Day information" }, "airAndPollen": { + "x-ms-client-name": "airQuality", "type": "array", "items": { "$ref": "#/definitions/AirAndPollen" }, - "description": "airAndPollen" + "description": "Air quality" }, "day": { + "x-ms-client-name": "daytimeForecast", "$ref": "#/definitions/DayOrNight", - "description": "Day" + "description": "Day forecast detail" }, "night": { + "x-ms-client-name": "nighttimeForecast", "$ref": "#/definitions/DayOrNight", - "description": "Night" + "description": "Night forecast detail" }, "sources": { "description": "Source(s) of the forecast data.", @@ -1366,10 +1918,12 @@ "type": "object", "properties": { "summary": { + "readOnly": true, "$ref": "#/definitions/DailyForecastSummary" }, "forecasts": { "type": "array", + "readOnly": true, "description": "Forecast data for each requested day.", "items": { "$ref": "#/definitions/DailyForecast" @@ -1397,12 +1951,11 @@ } }, "DayOrNight": { + "x-ms-client-name": "DailyForecastDetail", "type": "object", "properties": { "iconCode": { - "type": "integer", - "format": "int32", - "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details." + "$ref": "#/definitions/IconCode" }, "iconPhrase": { "type": "string", @@ -1416,14 +1969,14 @@ "description": "Indicates the presence or absence of precipitation. True indicates the presence of precipitation, false indicates the absence of precipitation." }, "precipitationType": { - "type": "string", - "description": "Specifies the type of precipitation (\"rain\" \"snow\" \"ice\" or \"mix\"). If dbz = zero, precipitationType is not present in the response." + "$ref": "#/definitions/PrecipitationType" }, "precipitationIntensity": { "type": "string", "description": "Description of the intensity." }, "shortPhrase": { + "x-ms-client-name": "shortDescription", "type": "string", "description": "Phrase description of the forecast in specified language. Azure Maps attempts to keep this phrase under 30 characters in length, but some languages/weather events may result in a longer phrase length, exceeding 30 characters." }, @@ -1512,9 +2065,7 @@ "type": "object", "properties": { "iconCode": { - "type": "integer", - "format": "int32", - "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details." + "$ref": "#/definitions/IconCode" }, "hazards": { "$ref": "#/definitions/WeatherHazards" @@ -1526,9 +2077,11 @@ "description": "This object is returned from a successful Weather Along Route.", "properties": { "summary": { + "readOnly": true, "$ref": "#/definitions/WeatherAlongRouteSummary" }, "waypoints": { + "readOnly": true, "type": "array", "description": "Data for each waypoint returned in the same order as specified in the request.", "items": { @@ -1569,18 +2122,19 @@ } }, "WeatherWaypoint": { + "x-ms-client-name": "WaypointForecast", "type": "object", "properties": { "iconCode": { - "type": "integer", - "format": "int32", - "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details." + "$ref": "#/definitions/IconCode" }, "shortPhrase": { + "x-ms-client-name": "shortDescription", "type": "string", "description": "A displayable short phrase describing the forecasted conditions and precipitation intensity/type." }, "isDayTime": { + "x-ms-client-name": "isDaytime", "type": "boolean", "description": "Indicates the time of the day. True indicates 'day',', false indicates 'night." }, @@ -1630,6 +2184,7 @@ "$ref": "#/definitions/HazardIndex" }, "hazardDetails": { + "x-ms-client-name": "details", "type": "array", "description": "Details of the weather hazards affecting the trip.", "items": { @@ -1649,6 +2204,7 @@ "description": "A unique identifier (non-displayable) for each type of hazard: LightRain, ModerateRain, HeavyRain, LightMix, ModerateMix, HeavyMix, LightSnow, ModerateSnow, HeavySnow, LightIce, ModerateIce, HeavyIce, Hail, LargeHail, SunGlare, SunGlareHigh, Lightning, SevereLightning, WindModerate, WindHigh, WindExtreme, FloodWarning, FlashFloodWarning, TornadoWarning, TsunamiWarning, SevereThunderstormWarning." }, "shortPhrase": { + "x-ms-client-name": "shortDescription", "type": "string", "description": "A displayable short phrase describing the forecasted conditions and precipitation intensity/type." } @@ -1669,6 +2225,7 @@ "description": "A unique identifier (non-displayable) for each type of hazard: LightRain, ModerateRain, HeavyRain, LightMix, ModerateMix, HeavyMix, LightSnow, ModerateSnow, HeavySnow, LightIce, ModerateIce, HeavyIce, Hail, LargeHail, SunGlare, SunGlareHigh, Lightning, SevereLightning, WindModerate, WindHigh, WindExtreme, FloodWarning, FlashFloodWarning, TornadoWarning, TsunamiWarning, SevereThunderstormWarning." }, "shortPhrase": { + "x-ms-client-name": "shortDescription", "type": "string", "description": "A displayable short phrase describing the forecasted conditions and precipitation intensity/type." } @@ -1679,6 +2236,7 @@ "description": "This object is returned from a successful Get Severe Weather Alerts call.", "properties": { "results": { + "readOnly": true, "type": "array", "items": { "$ref": "#/definitions/SevereWeatherAlert" @@ -1714,6 +2272,7 @@ "description": "Number signifying the importance or ranking order of the given alert within the country/region it has originated. A lower number signifies a higher priority. For example, 1 is the highest priority. The number varies by country/region and can change over time as each country/region evolves their alert systems." }, "class": { + "x-ms-client-name": "classification", "type": "string", "description": "Classification of the alert. This field is not available for all countries and therefore not always returned." }, @@ -1735,6 +2294,7 @@ "description": "A disclaimer regarding the source of the alert information. This field is not always available. For example, disclaimer may include details about the delays or potential issues related to the alarm." }, "alertAreas": { + "x-ms-client-name": "alertDetails", "type": "array", "items": { "$ref": "#/definitions/AlertArea" @@ -1748,16 +2308,19 @@ "description": "Description of a severe weather alert.", "properties": { "localized": { + "x-ms-client-name": "description", "type": "string", "description": "Description of the alert in the specified language. By default English (en-US) is returned if the language parameter is not specified in the request." }, "english": { + "x-ms-client-name": "status", "type": "string", "description": "Description of the alert in English (en-US)." } } }, "AlertArea": { + "x-ms-client-name": "AlertDetails", "type": "object", "description": "Information about a severe weather alert issued within an affected area(s). If multiple alerts are active for the same location, the alerts will be returned in order of `priority` within the API response, with the highest priority alert being returned at the top of the response.", "properties": { @@ -1766,6 +2329,7 @@ "description": "The name of an area which is affected by the alert. The location that was requested falls under the alert area." }, "summary": { + "x-ms-client-name": "description", "type": "string", "description": "Text summarizing the alert in the returned area." }, @@ -1784,10 +2348,12 @@ "description": "The latest status of the alert in the current area." }, "alertDetails": { + "x-ms-client-name": "details", "type": "string", "description": "Full details associated with the alert. Returned if `details`=True. This field is always returned in the language(s) of choice by the issuing provider and Azure Maps only returns what is created by the provider. Please note, some countries/regions may offer their native language and English. Language parameter won’t apply to this field." }, "alertDetailsLanguageCode": { + "x-ms-client-name": "language", "type": "string", "description": "Language of the `alertDetails`. This field helps to point out that the language of the `alertDetails` may differ from the requested language parameter. Returned if `details`=True. Language code has been derived from the ISO 639-1 Alpha-2 codes." } @@ -1850,7 +2416,7 @@ }, { "value": "Continue", - "description": "\"Continue\" - the alert has been updated since its initial issuance, but no changes were made to `alertAreas`, `startTime`, `endTime`, or `class`." + "description": "\"Continue\" - the alert has been updated since its initial issuance, but no changes were made to `alertDetails`, `startTime`, `endTime`, or `class`." }, { "value": "Update", @@ -1864,6 +2430,7 @@ "description": "This object is returned from a successful Get Daily Indices call.", "properties": { "results": { + "readOnly": true, "type": "array", "items": { "$ref": "#/definitions/DailyIndex" @@ -1896,6 +2463,7 @@ "description": "Index value. Ranges from 0.0 to 10.0. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details and to see the supported ranges." }, "category": { + "x-ms-client-name": "categoryDescription", "type": "string", "description": "Textual description for `categoryValue` corresponding to the level that the index value falls under, for example \"Very Good\"." }, @@ -1905,8 +2473,9 @@ "description": "Level that the index value falls under, represented by an integer. This value can be 1 through 5 and should be used in combination with the `ascending` flag because it can differ among indices. For example, the following values apply for Mosquito Activity: Low=1, Moderate=2, High=3, Very High=4, and Extreme=5." }, "ascending": { + "x-ms-client-name": "isAscending", "type": "boolean", - "description": "Describes the direction of the `value` and `categoryValue`. For example, when `ascending`=True, the poorest index value is 0 and the best index value is 10. When `ascending`=True, the poorest index value is 10 and the best index value is 0." + "description": "Describes the direction of the `value` and `categoryValue`. For example, when set to `true`, the poorest index value is 0 and the best index value is 10. When set to `true`, the poorest index value is 10 and the best index value is 0." }, "description": { "type": "string", diff --git a/specification/maps/data-plane/Weather/readme.python.md b/specification/maps/data-plane/Weather/readme.python.md index cc6dc945e5ce..0e45dccebff3 100644 --- a/specification/maps/data-plane/Weather/readme.python.md +++ b/specification/maps/data-plane/Weather/readme.python.md @@ -14,9 +14,9 @@ clear-output-folder: true ``` ``` yaml $(python) && $(python-mode) == 'update' no-namespace-folders: true -output-folder: $(python-sdks-folder)/maps/azure-maps-weather/azure/maps/weather +output-folder: $(python-sdks-folder)/maps/azure-maps-weather/azure/maps/weather/_generated ``` ``` yaml $(python) && $(python-mode) == 'create' basic-setup-py: true -output-folder: $(python-sdks-folder)/maps/azure-maps-weather +output-folder: $(python-sdks-folder)/maps/azure-maps-weather/ ``` diff --git a/specification/maps/data-plane/readme.md b/specification/maps/data-plane/readme.md index cd93b9d99169..d53a1f4008a1 100644 --- a/specification/maps/data-plane/readme.md +++ b/specification/maps/data-plane/readme.md @@ -38,7 +38,7 @@ directive: from: timezone.json reason: It will break existing clients if we change the name -``` +``` ### Tag: package-preview-2.0 @@ -55,7 +55,6 @@ input-file: - Microsoft.Maps/FeatureState/preview/2.0/featurestate.json - Microsoft.Maps/Feedback/preview/1.0/feedback.json - Microsoft.Maps/Geolocation/preview/1.0/geolocation.json - - Microsoft.Maps/Mobility/preview/1.0/mobility.json - Microsoft.Maps/Render/preview/1.0/render.json - Microsoft.Maps/Render/preview/2.0/render.json - Microsoft.Maps/Route/preview/1.0/route.json @@ -73,23 +72,16 @@ These settings apply only when `--tag=package-1.0-preview` is specified on the c ``` yaml $(tag) == 'package-1.0-preview' input-file: - - Microsoft.Maps/Alias/preview/1.0/alias.json - Microsoft.Maps/Data/preview/1.0/data.json - - Microsoft.Maps/Dataset/preview/1.0/dataset.json - Microsoft.Maps/DEM/preview/1.0/elevation.json - - Microsoft.Maps/DwgConversion/preview/1.0/dwgconversion.json - - Microsoft.Maps/FeatureState/preview/1.0/featurestate.json - Microsoft.Maps/Feedback/preview/1.0/feedback.json - Microsoft.Maps/Geolocation/preview/1.0/geolocation.json - - Microsoft.Maps/Mobility/preview/1.0/mobility.json - Microsoft.Maps/Render/preview/1.0/render.json - Microsoft.Maps/Render/preview/2.0/render.json - Microsoft.Maps/Route/preview/1.0/route.json - Microsoft.Maps/Search/preview/1.0/search.json - Microsoft.Maps/Spatial/preview/1.0/spatial.json - - Microsoft.Maps/Tileset/preview/1.0/tileset.json - Microsoft.Maps/Timezone/preview/1.0/timezone.json - Microsoft.Maps/Traffic/preview/1.0/traffic.json - Microsoft.Maps/Weather/preview/1.0/weather.json - - Microsoft.Maps/WFS/preview/1.0/wfs.json ``` diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/AccountListSAS.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/AccountListSAS.json new file mode 100644 index 000000000000..4362316f66af --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/AccountListSAS.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount", + "MapsAccountSasParameters": { + "signingKey": "primaryKey", + "principalId": "e917f87b-324d-4728-98ed-e31d311a7d65", + "regions": [ + "eastus" + ], + "maxRatePerSecond": 500, + "start": "2017-05-24T10:42:03.1567373Z", + "expiry": "2017-05-24T11:42:03.1567373Z" + } + }, + "responses": { + "200": { + "body": { + "accountSasToken": "accountSasToken" + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateAccount.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateAccount.json new file mode 100644 index 000000000000..0e7f62a205f5 --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateAccount.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount", + "MapsAccount": { + "location": "eastus", + "sku": { + "name": "S0" + }, + "kind": "Gen1", + "tags": { + "test": "true" + }, + "properties": { + "disableLocalAuth": false, + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount", + "name": "myMapsAccount", + "type": "Microsoft.Maps/accounts", + "kind": "Gen1", + "location": "eastus", + "tags": { + "test": "true" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-07-02T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-07-02T01:01:01.1075056Z" + }, + "sku": { + "name": "S0", + "tier": "Standard" + }, + "properties": { + "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593", + "provisioningState": "Succeeded", + "disableLocalAuth": false, + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ] + } + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount", + "name": "myMapsAccount", + "type": "Microsoft.Maps/accounts", + "kind": "Gen1", + "location": "eastus", + "tags": { + "test": "true" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-07-02T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-07-02T01:01:01.1075056Z" + }, + "sku": { + "name": "S0", + "tier": "Standard" + }, + "properties": { + "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593", + "provisioningState": "Succeeded", + "disableLocalAuth": false, + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateAccountGen2.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateAccountGen2.json new file mode 100644 index 000000000000..9de8816b76e0 --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateAccountGen2.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount", + "MapsAccount": { + "location": "eastus", + "sku": { + "name": "G2" + }, + "kind": "Gen2", + "tags": { + "test": "true" + }, + "properties": { + "disableLocalAuth": true, + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount", + "name": "myMapsAccount", + "type": "Microsoft.Maps/accounts", + "kind": "Gen2", + "location": "eastus", + "tags": { + "test": "true" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-07-02T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-07-02T01:01:01.1075056Z" + }, + "sku": { + "name": "G2", + "tier": "Standard" + }, + "properties": { + "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593", + "provisioningState": "Succeeded", + "disableLocalAuth": true, + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ] + } + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount", + "name": "myMapsAccount", + "type": "Microsoft.Maps/accounts", + "kind": "Gen2", + "location": "eastus", + "tags": { + "test": "true" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-07-02T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-07-02T01:01:01.1075056Z" + }, + "sku": { + "name": "G2", + "tier": "Standard" + }, + "properties": { + "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593", + "provisioningState": "Succeeded", + "disableLocalAuth": true, + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateAccountManagedIdentity.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateAccountManagedIdentity.json new file mode 100644 index 000000000000..f817c604f0f2 --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateAccountManagedIdentity.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount", + "MapsAccount": { + "location": "eastus", + "sku": { + "name": "G2" + }, + "kind": "Gen2", + "tags": { + "test": "true" + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": {} + } + }, + "properties": { + "disableLocalAuth": false, + "linkedResources": [ + { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/mystorageacc", + "uniqueName": "myBatchStorageAccount" + }, + { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/mystorageacc", + "uniqueName": "myBlobDataSource" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount", + "name": "myMapsAccount", + "type": "Microsoft.Maps/accounts", + "kind": "Gen2", + "location": "eastus", + "tags": { + "test": "true" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-07-02T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-07-02T01:01:01.1075056Z" + }, + "sku": { + "name": "G2", + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "principalId": "77f72dac-e0aa-484e-9acd-e5e7075310ef", + "tenantId": "06006684-60c1-4954-a20c-ffd8fbea7276", + "userAssignedIdentities": { + "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": { + "clientId": "b602d315-01b5-4265-af23-859edc4f2431", + "principalId": "ac287332-364a-41d9-a567-9ad86b9fc299" + } + } + }, + "properties": { + "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593", + "provisioningState": "Succeeded", + "disableLocalAuth": true, + "linkedResources": [ + { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/mystorageacc", + "uniqueName": "myBatchStorageAccount" + }, + { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/mystorageacc", + "uniqueName": "myBlobDataSource" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount", + "name": "myMapsAccount", + "type": "Microsoft.Maps/accounts", + "kind": "Gen2", + "location": "eastus", + "tags": { + "test": "true" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-07-02T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-07-02T01:01:01.1075056Z" + }, + "sku": { + "name": "G2", + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "principalId": "77f72dac-e0aa-484e-9acd-e5e7075310ef", + "tenantId": "06006684-60c1-4954-a20c-ffd8fbea7276", + "userAssignedIdentities": { + "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": { + "clientId": "b602d315-01b5-4265-af23-859edc4f2431", + "principalId": "ac287332-364a-41d9-a567-9ad86b9fc299" + } + } + }, + "properties": { + "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593", + "provisioningState": "Succeeded", + "disableLocalAuth": true, + "linkedResources": [ + { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/mystorageacc", + "uniqueName": "myBatchStorageAccount" + }, + { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/mystorageacc", + "uniqueName": "myBlobDataSource" + } + ] + } + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateMapsCreator.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateMapsCreator.json new file mode 100644 index 000000000000..123f1b65c686 --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateMapsCreator.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount", + "creatorName": "myCreator", + "CreatorResource": { + "location": "eastus2", + "tags": { + "test": "true" + }, + "properties": { + "storageUnits": 5 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator", + "name": "myCreator", + "type": "Microsoft.Maps/accounts/creators", + "location": "eastus2", + "tags": { + "test": "true" + }, + "systemData": null, + "properties": { + "provisioningState": "Created", + "storageUnits": 5 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator", + "name": "myCreator", + "type": "Microsoft.Maps/accounts/creators", + "location": "eastus2", + "tags": { + "test": "true" + }, + "systemData": null, + "properties": { + "provisioningState": "Created", + "storageUnits": 5 + } + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/DeleteAccount.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/DeleteAccount.json new file mode 100644 index 000000000000..fae9b0b0e13a --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/DeleteAccount.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/DeleteMapsCreator.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/DeleteMapsCreator.json new file mode 100644 index 000000000000..abd8f63ac1e7 --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/DeleteMapsCreator.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount", + "creatorName": "myCreator" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetAccount.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetAccount.json new file mode 100644 index 000000000000..209f4b5f976e --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetAccount.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount", + "name": "myMapsAccount", + "type": "Microsoft.Maps/accounts", + "location": "global", + "kind": "Gen1", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-07-02T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-07-02T01:01:01.1075056Z" + }, + "tags": { + "test": "true" + }, + "sku": { + "name": "S0", + "tier": "Standard" + }, + "properties": { + "uniqueId": "string", + "disableLocalAuth": false, + "provisioningState": "Succeeded", + "linkedResources": [] + } + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetMapsCreator.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetMapsCreator.json new file mode 100644 index 000000000000..2f506329d3a9 --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetMapsCreator.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount", + "creatorName": "myCreator" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator", + "name": "myCreator", + "type": "Microsoft.Maps/accounts/creators", + "location": "unitedstates", + "tags": { + "test": "true" + }, + "systemData": null, + "properties": { + "provisioningState": "Succeeded", + "storageUnits": 5 + } + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetOperations.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetOperations.json new file mode 100644 index 000000000000..88173a13a82e --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetOperations.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Maps/register/action", + "isDataAction": false, + "display": { + "provider": "Microsoft Maps", + "resource": "Maps Account", + "operation": "Register the provider", + "description": "Register the provider" + } + }, + { + "name": "Microsoft.Maps/accounts/write", + "isDataAction": false, + "display": { + "provider": "Microsoft Maps", + "resource": "Maps Account", + "operation": "Create or update a Maps Account.", + "description": "Create or update a Maps Account." + } + }, + { + "name": "Microsoft.Maps/accounts/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Maps", + "resource": "Maps Account", + "operation": "Get a Maps Account.", + "description": "Get a Maps Account." + } + }, + { + "name": "Microsoft.Maps/accounts/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft Maps", + "resource": "Maps Account", + "operation": "Delete a Maps Account.", + "description": "Delete a Maps Account." + } + }, + { + "name": "Microsoft.Maps/accounts/listKeys/action", + "isDataAction": false, + "display": { + "provider": "Microsoft Maps", + "resource": "Maps Account", + "operation": "List keys", + "description": "List Maps Account keys" + } + }, + { + "name": "Microsoft.Maps/accounts/regenerateKey/action", + "isDataAction": false, + "display": { + "provider": "Microsoft Maps", + "resource": "Maps Account", + "operation": "Generate new primary or secondary key", + "description": "Generate new Maps Account primary or secondary key" + } + }, + { + "name": "Microsoft.Maps/accounts/creators/write", + "isDataAction": false, + "display": { + "provider": "Microsoft Maps", + "resource": "Creator", + "operation": "Create or update a Maps Creator.", + "description": "Create or update a Maps Creator." + } + }, + { + "name": "Microsoft.Maps/accounts/creators/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Maps", + "resource": "Creator", + "operation": "Get a Maps Creator.", + "description": "Get a Maps Creator." + } + }, + { + "name": "Microsoft.Maps/accounts/creators/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft Maps", + "resource": "Creator", + "operation": "Delete a Maps Creator.", + "description": "Delete a Maps Creator." + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetOperationsSubscription.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetOperationsSubscription.json new file mode 100644 index 000000000000..a61f9c98529e --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetOperationsSubscription.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2021-02-01", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Maps/register/action", + "isDataAction": false, + "display": { + "provider": "Microsoft Maps", + "resource": "Maps Account", + "operation": "Register the provider", + "description": "Register the provider" + } + }, + { + "name": "Microsoft.Maps/accounts/write", + "isDataAction": false, + "display": { + "provider": "Microsoft Maps", + "resource": "Maps Account", + "operation": "Create or update a Maps Account.", + "description": "Create or update a Maps Account." + } + }, + { + "name": "Microsoft.Maps/accounts/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Maps", + "resource": "Maps Account", + "operation": "Get a Maps Account.", + "description": "Get a Maps Account." + } + }, + { + "name": "Microsoft.Maps/accounts/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft Maps", + "resource": "Maps Account", + "operation": "Delete a Maps Account.", + "description": "Delete a Maps Account." + } + }, + { + "name": "Microsoft.Maps/accounts/listKeys/action", + "isDataAction": false, + "display": { + "provider": "Microsoft Maps", + "resource": "Maps Account", + "operation": "List keys", + "description": "List Maps Account keys" + } + }, + { + "name": "Microsoft.Maps/accounts/regenerateKey/action", + "isDataAction": false, + "display": { + "provider": "Microsoft Maps", + "resource": "Maps Account", + "operation": "Generate new primary or secondary key", + "description": "Generate new Maps Account primary or secondary key" + } + }, + { + "name": "Microsoft.Maps/accounts/creators/write", + "isDataAction": false, + "display": { + "provider": "Microsoft Maps", + "resource": "Creator", + "operation": "Create or update a Maps Creator.", + "description": "Create or update a Maps Creator." + } + }, + { + "name": "Microsoft.Maps/accounts/creators/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Maps", + "resource": "Creator", + "operation": "Get a Maps Creator.", + "description": "Get a Maps Creator." + } + }, + { + "name": "Microsoft.Maps/accounts/creators/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft Maps", + "resource": "Creator", + "operation": "Delete a Maps Creator.", + "description": "Delete a Maps Creator." + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListAccountsByResourceGroup.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListAccountsByResourceGroup.json new file mode 100644 index 000000000000..c85b2d489f2b --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListAccountsByResourceGroup.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount2", + "name": "myMapsAccount2", + "type": "Microsoft.Maps/accounts", + "location": "global", + "kind": "Gen1", + "tags": { + "test": "true" + }, + "sku": { + "name": "S0", + "tier": "Standard" + }, + "properties": { + "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593", + "provisioningState": "Succeeded", + "disableLocalAuth": false + } + }, + { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount", + "name": "myMapsAccount", + "type": "Microsoft.Maps/accounts", + "location": "global", + "kind": "Gen2", + "tags": { + "test": "true" + }, + "sku": { + "name": "G2", + "tier": "Standard" + }, + "properties": { + "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c592", + "provisioningState": "Succeeded", + "disableLocalAuth": true + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListAccountsBySubscription.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListAccountsBySubscription.json new file mode 100644 index 000000000000..87e84c921c88 --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListAccountsBySubscription.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount2", + "name": "myMapsAccount2", + "type": "Microsoft.Maps/accounts", + "location": "global", + "kind": "Gen1", + "tags": { + "test": "true" + }, + "sku": { + "name": "S0", + "tier": "Standard" + }, + "properties": { + "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593", + "provisioningState": "Succeeded", + "disableLocalAuth": false + } + }, + { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount", + "name": "myMapsAccount", + "type": "Microsoft.Maps/accounts", + "location": "global", + "kind": "Gen2", + "tags": { + "test": "true" + }, + "sku": { + "name": "G2", + "tier": "Standard" + }, + "properties": { + "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c592", + "provisioningState": "Succeeded", + "disableLocalAuth": true + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListKeys.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListKeys.json new file mode 100644 index 000000000000..4b2d2aed9845 --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListKeys.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "primaryKeyLastUpdated": "2021-07-02T01:01:01.1075056Z", + "secondaryKey": "", + "secondaryKeyLastUpdated": "2021-07-02T01:01:01.1075056Z" + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListMapsCreatorsByAccount.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListMapsCreatorsByAccount.json new file mode 100644 index 000000000000..dcbc929a3102 --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListMapsCreatorsByAccount.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator", + "name": "myCreator", + "type": "Microsoft.Maps/accounts/creators", + "location": "unitedstates", + "tags": { + "test": "true" + }, + "systemData": null, + "properties": { + "provisioningState": "Succeeded", + "storageUnits": 5 + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/RegenerateKey.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/RegenerateKey.json new file mode 100644 index 000000000000..6a4f8a96989d --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/RegenerateKey.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount", + "keySpecification": { + "keyType": "primary" + } + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "primaryKeyLastUpdated": "2021-07-02T01:01:01.1075056Z", + "secondaryKey": "", + "secondaryKeyLastUpdated": "2021-07-02T01:01:01.1075056Z" + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccount.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccount.json new file mode 100644 index 000000000000..119c47245e34 --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccount.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount", + "MapsAccountUpdateParameters": { + "tags": { + "specialTag": "true" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount", + "name": "myMapsAccount", + "type": "Microsoft.Maps/accounts", + "location": "global", + "kind": "Gen1", + "tags": { + "specialTag": "true" + }, + "sku": { + "name": "S0", + "tier": "Standard" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-07-02T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-07-02T01:01:01.1075056Z" + }, + "properties": { + "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593", + "provisioningState": "Succeeded", + "disableLocalAuth": false + } + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccountGen1.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccountGen1.json new file mode 100644 index 000000000000..871fe35b996a --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccountGen1.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount", + "MapsAccountUpdateParameters": { + "kind": "Gen1", + "sku": { + "name": "S1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount", + "name": "myMapsAccount", + "type": "Microsoft.Maps/accounts", + "location": "global", + "kind": "Gen1", + "sku": { + "name": "S1", + "tier": "Standard" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-07-02T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-07-02T01:01:01.1075056Z" + }, + "properties": { + "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593", + "provisioningState": "Succeeded", + "disableLocalAuth": false, + "linkedResources": [] + } + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccountGen2.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccountGen2.json new file mode 100644 index 000000000000..266813268435 --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccountGen2.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount", + "MapsAccountUpdateParameters": { + "kind": "Gen2", + "sku": { + "name": "G2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount", + "name": "myMapsAccount", + "type": "Microsoft.Maps/accounts", + "location": "global", + "kind": "Gen2", + "sku": { + "name": "G2", + "tier": "Standard" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-07-02T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-07-02T01:01:01.1075056Z" + }, + "properties": { + "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593", + "provisioningState": "Succeeded", + "disableLocalAuth": false, + "linkedResources": [] + } + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccountManagedIdentity.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccountManagedIdentity.json new file mode 100644 index 000000000000..be6169390967 --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccountManagedIdentity.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount", + "MapsAccountUpdateParameters": { + "kind": "Gen2", + "sku": { + "name": "G2" + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": {} + } + }, + "properties": { + "linkedResources": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}", + "uniqueName": "myBatchStorageAccount" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount", + "name": "myMapsAccount", + "type": "Microsoft.Maps/accounts", + "location": "eastus", + "kind": "Gen2", + "sku": { + "name": "G2", + "tier": "Standard" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-07-02T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-07-02T01:01:01.1075056Z" + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "principalId": "77f72dac-e0aa-484e-9acd-e5e7075310ef", + "tenantId": "06006684-60c1-4954-a20c-ffd8fbea7276", + "userAssignedIdentities": { + "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": { + "clientId": "b602d315-01b5-4265-af23-859edc4f2431", + "principalId": "ac287332-364a-41d9-a567-9ad86b9fc299" + } + } + }, + "properties": { + "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593", + "provisioningState": "Succeeded", + "disableLocalAuth": false, + "linkedResources": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}", + "uniqueName": "myBatchStorageAccount" + } + ] + } + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateMapsCreator.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateMapsCreator.json new file mode 100644 index 000000000000..c25a0d18cb4b --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateMapsCreator.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount", + "creatorName": "myCreator", + "CreatorUpdateParameters": { + "tags": { + "specialTag": "true" + }, + "properties": { + "storageUnits": 10 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator", + "name": "myCreator", + "type": "Microsoft.Maps/accounts/creators", + "location": "unitedstates", + "tags": { + "specialTag": "true" + }, + "systemData": null, + "properties": { + "provisioningState": "Succeeded", + "storageUnits": 10 + } + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/maps-management.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/maps-management.json new file mode 100644 index 000000000000..b7e9f4e9862f --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/maps-management.json @@ -0,0 +1,1438 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Resource Provider", + "description": "Resource Provider", + "version": "2021-12-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.Maps/accounts/{accountName}": { + "put": { + "tags": [ + "Accounts" + ], + "description": "Create or update a Maps Account. A Maps Account holds the keys which allow access to the Maps REST APIs.", + "operationId": "Accounts_CreateOrUpdate", + "x-ms-examples": { + "Create Gen1 Account": { + "$ref": "./examples/CreateAccount.json" + }, + "Create Gen2 Account": { + "$ref": "./examples/CreateAccountGen2.json" + }, + "Create Account with Managed Identities": { + "$ref": "./examples/CreateAccountManagedIdentity.json" + } + }, + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "MapsAccount", + "in": "body", + "description": "The new or updated parameters for the Maps Account.", + "required": true, + "schema": { + "$ref": "#/definitions/MapsAccount" + } + } + ], + "responses": { + "200": { + "description": "The Account was successfully updated.", + "schema": { + "$ref": "#/definitions/MapsAccount" + } + }, + "201": { + "description": "The Account was successfully created.", + "schema": { + "$ref": "#/definitions/MapsAccount" + } + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Accounts" + ], + "description": "Updates a Maps Account. Only a subset of the parameters may be updated after creation, such as Sku, Tags, Properties.", + "operationId": "Accounts_Update", + "x-ms-examples": { + "Update Account Tags": { + "$ref": "./examples/UpdateAccount.json" + }, + "Update to Gen2 Account": { + "$ref": "./examples/UpdateAccountGen2.json" + }, + "Update to Gen1 Account": { + "$ref": "./examples/UpdateAccountGen1.json" + }, + "Update Account Managed Identities": { + "$ref": "./examples/UpdateAccountManagedIdentity.json" + } + }, + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "MapsAccountUpdateParameters", + "in": "body", + "description": "The updated parameters for the Maps Account.", + "required": true, + "schema": { + "$ref": "#/definitions/MapsAccountUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Account was successfully updated.", + "schema": { + "$ref": "#/definitions/MapsAccount" + } + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Accounts" + ], + "description": "Delete a Maps Account.", + "operationId": "Accounts_Delete", + "x-ms-examples": { + "DeleteAccount": { + "$ref": "./examples/DeleteAccount.json" + } + }, + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + } + ], + "responses": { + "200": { + "description": "The Account was deleted successfully." + }, + "204": { + "description": "The specified Account was not found. Nothing was deleted." + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Accounts" + ], + "description": "Get a Maps Account.", + "operationId": "Accounts_Get", + "x-ms-examples": { + "GetAccount": { + "$ref": "./examples/GetAccount.json" + } + }, + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful.", + "schema": { + "$ref": "#/definitions/MapsAccount" + } + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts": { + "get": { + "tags": [ + "Accounts" + ], + "description": "Get all Maps Accounts in a Resource Group", + "operationId": "Accounts_ListByResourceGroup", + "x-ms-examples": { + "List Accounts By Resource Group": { + "$ref": "./examples/ListAccountsByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful.", + "schema": { + "$ref": "#/definitions/MapsAccounts" + } + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Maps/accounts": { + "get": { + "tags": [ + "Accounts" + ], + "description": "Get all Maps Accounts in a Subscription", + "operationId": "Accounts_ListBySubscription", + "x-ms-examples": { + "List Accounts By Subscription": { + "$ref": "./examples/ListAccountsBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "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 request was successful.", + "schema": { + "$ref": "#/definitions/MapsAccounts" + } + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/listSas": { + "post": { + "tags": [ + "Accounts" + ], + "description": "Create and list an account shared access signature token. Use this SAS token for authentication to Azure Maps REST APIs through various Azure Maps SDKs. As prerequisite to create a SAS Token. \n\nPrerequisites:\n1. Create or have an existing User Assigned Managed Identity in the same Azure region as the account. \n2. Create or update an Azure Map account with the same Azure region as the User Assigned Managed Identity is placed.", + "operationId": "Accounts_ListSas", + "x-ms-examples": { + "List Account Sas": { + "$ref": "./examples/AccountListSAS.json" + } + }, + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "MapsAccountSasParameters", + "in": "body", + "description": "The updated parameters for the Maps Account.", + "required": true, + "schema": { + "$ref": "#/definitions/AccountSasParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful.", + "schema": { + "$ref": "#/definitions/MapsAccountSasToken" + } + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/listKeys": { + "post": { + "tags": [ + "Accounts" + ], + "description": "Get the keys to use with the Maps APIs. A key is used to authenticate and authorize access to the Maps REST APIs. Only one key is needed at a time; two are given to provide seamless key regeneration.", + "operationId": "Accounts_ListKeys", + "x-ms-examples": { + "List Keys": { + "$ref": "./examples/ListKeys.json" + } + }, + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful.", + "schema": { + "$ref": "#/definitions/MapsAccountKeys" + } + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/regenerateKey": { + "post": { + "tags": [ + "Accounts" + ], + "description": "Regenerate either the primary or secondary key for use with the Maps APIs. The old key will stop working immediately.", + "operationId": "Accounts_RegenerateKeys", + "x-ms-examples": { + "Regenerate Key": { + "$ref": "./examples/RegenerateKey.json" + } + }, + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "keySpecification", + "in": "body", + "required": true, + "description": "Which key to regenerate: primary or secondary.", + "schema": { + "$ref": "#/definitions/MapsKeySpecification" + } + } + ], + "responses": { + "200": { + "description": "The request was successful.", + "schema": { + "$ref": "#/definitions/MapsAccountKeys" + } + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Maps/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "List operations available for the Maps Resource Provider", + "operationId": "Maps_ListOperations", + "x-ms-examples": { + "Get Operations": { + "$ref": "./examples/GetOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful.", + "schema": { + "$ref": "#/definitions/MapsOperations" + } + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Maps/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "List operations available for the Maps Resource Provider", + "operationId": "Maps_ListSubscriptionOperations", + "x-ms-examples": { + "Get Operations by Subscription": { + "$ref": "./examples/GetOperationsSubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "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 request was successful.", + "schema": { + "$ref": "#/definitions/MapsOperations" + } + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/creators": { + "get": { + "tags": [ + "Creators" + ], + "description": "Get all Creator instances for an Azure Maps Account", + "operationId": "Creators_ListByAccount", + "x-ms-examples": { + "List Creator Resources By Account": { + "$ref": "./examples/ListMapsCreatorsByAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful.", + "schema": { + "$ref": "#/definitions/CreatorList" + } + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/creators/{creatorName}": { + "put": { + "tags": [ + "Creators" + ], + "description": "Create or update a Maps Creator resource. Creator resource will manage Azure resources required to populate a custom set of mapping data. It requires an account to exist before it can be created.", + "operationId": "Creators_CreateOrUpdate", + "x-ms-examples": { + "Create Creator Resource": { + "$ref": "./examples/CreateMapsCreator.json" + } + }, + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CreatorNameParameter" + }, + { + "name": "CreatorResource", + "in": "body", + "description": "The new or updated parameters for the Creator resource.", + "required": true, + "schema": { + "$ref": "#/definitions/Creator" + } + } + ], + "responses": { + "200": { + "description": "The Creator is updated with the provided properties.", + "schema": { + "$ref": "#/definitions/Creator" + } + }, + "201": { + "description": "The Creator will be created asynchronously. The Creator will be ready to use once the provisioningState property changed to 'Succeeded' through creators Get API.", + "schema": { + "$ref": "#/definitions/Creator" + } + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Creators" + ], + "description": "Updates the Maps Creator resource. Only a subset of the parameters may be updated after creation, such as Tags.", + "operationId": "Creators_Update", + "x-ms-examples": { + "Update Creator Resource": { + "$ref": "./examples/UpdateMapsCreator.json" + } + }, + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CreatorNameParameter" + }, + { + "name": "CreatorUpdateParameters", + "in": "body", + "description": "The update parameters for Maps Creator.", + "required": true, + "schema": { + "$ref": "#/definitions/CreatorUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Maps Creator was successfully updated.", + "schema": { + "$ref": "#/definitions/Creator" + } + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Creators" + ], + "description": "Delete a Maps Creator resource.", + "operationId": "Creators_Delete", + "x-ms-examples": { + "Delete Creator Resource": { + "$ref": "./examples/DeleteMapsCreator.json" + } + }, + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CreatorNameParameter" + } + ], + "responses": { + "200": { + "description": "The Maps Creator will be deleted." + }, + "204": { + "description": "The specified Maps Creator resource was not found. Nothing was deleted." + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Creators" + ], + "description": "Get a Maps Creator resource.", + "operationId": "Creators_Get", + "x-ms-examples": { + "Get Creator Resource": { + "$ref": "./examples/GetMapsCreator.json" + } + }, + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CreatorNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful.", + "schema": { + "$ref": "#/definitions/Creator" + } + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "parameters": { + "AccountNameParameter": { + "name": "accountName", + "in": "path", + "description": "The name of the Maps Account.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "PrivateAtlasNameParameter": { + "name": "privateAtlasName", + "in": "path", + "description": "The name of the Private Atlas instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "CreatorNameParameter": { + "name": "creatorName", + "in": "path", + "description": "The name of the Maps Creator instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "Creator": { + "description": "An Azure resource which represents Maps Creator product and provides ability to manage private location data.", + "type": "object", + "properties": { + "properties": { + "description": "The Creator resource properties.", + "$ref": "#/definitions/CreatorProperties" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "MapsAccount": { + "description": "An Azure resource which represents access to a suite of Maps REST APIs.", + "type": "object", + "properties": { + "sku": { + "description": "The SKU of this account.", + "$ref": "#/definitions/Sku" + }, + "kind": { + "description": "Get or Set Kind property.", + "$ref": "#/definitions/Kind" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + }, + "identity": { + "type": "object", + "$ref": "#/definitions/ManagedServiceIdentity", + "description": "Sets the identity property for maps account." + }, + "properties": { + "description": "The map account properties.", + "$ref": "#/definitions/MapsAccountProperties" + } + }, + "required": [ + "sku" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "MapsAccountUpdateParameters": { + "description": "Parameters used to update an existing Maps Account.", + "type": "object", + "properties": { + "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." + }, + "kind": { + "description": "Get or Set Kind property.", + "$ref": "#/definitions/Kind" + }, + "sku": { + "description": "The SKU of this account.", + "$ref": "#/definitions/Sku" + }, + "identity": { + "type": "object", + "$ref": "#/definitions/ManagedServiceIdentity", + "description": "Sets the identity property for maps account." + }, + "properties": { + "description": "The map account properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/MapsAccountProperties" + } + } + }, + "CreatorUpdateParameters": { + "description": "Parameters used to update an existing Creator resource.", + "type": "object", + "properties": { + "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": { + "description": "Creator resource properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/CreatorProperties" + } + } + }, + "MapsAccounts": { + "description": "A list of Maps Accounts.", + "type": "object", + "properties": { + "value": { + "description": "a Maps Account.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MapsAccount" + } + }, + "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" + } + } + }, + "CreatorList": { + "description": "A list of Creator resources.", + "type": "object", + "properties": { + "value": { + "description": "a Creator account.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Creator" + } + }, + "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" + } + } + }, + "Kind": { + "description": "The Kind of the Maps Account.", + "type": "string", + "default": "Gen1", + "enum": [ + "Gen1", + "Gen2" + ], + "x-ms-enum": { + "name": "kind", + "modelAsString": true + } + }, + "Sku": { + "description": "The SKU of the Maps Account.", + "type": "object", + "properties": { + "name": { + "description": "The name of the SKU, in standard format (such as S0).", + "type": "string", + "enum": [ + "S0", + "S1", + "G2" + ], + "x-ms-enum": { + "name": "name", + "modelAsString": true + } + }, + "tier": { + "readOnly": true, + "type": "string", + "description": "Gets the sku tier. This is based on the SKU name." + } + }, + "required": [ + "name" + ] + }, + "MapsKeySpecification": { + "description": "Whether the operation refers to the primary or secondary key.", + "type": "object", + "required": [ + "keyType" + ], + "properties": { + "keyType": { + "type": "string", + "enum": [ + "primary", + "secondary" + ], + "x-ms-enum": { + "name": "KeyType", + "modelAsString": true + }, + "description": "Whether the operation refers to the primary or secondary key." + } + } + }, + "MapsAccountKeys": { + "description": "The set of keys which can be used to access the Maps REST APIs. Two keys are provided for key rotation without interruption.", + "type": "object", + "properties": { + "primaryKeyLastUpdated": { + "type": "string", + "readOnly": true, + "description": "The last updated date and time of the primary key." + }, + "primaryKey": { + "type": "string", + "readOnly": true, + "description": "The primary key for accessing the Maps REST APIs." + }, + "secondaryKey": { + "type": "string", + "readOnly": true, + "description": "The secondary key for accessing the Maps REST APIs." + }, + "secondaryKeyLastUpdated": { + "type": "string", + "readOnly": true, + "description": "The last updated date and time of the secondary key." + } + } + }, + "AccountSasParameters": { + "description": "Parameters used to create an account Shared Access Signature (SAS) token. The REST API access control is provided by Azure Maps Role Based Access (RBAC) identity and access.", + "type": "object", + "properties": { + "signingKey": { + "type": "string", + "description": "The Map account key to use for signing.", + "enum": [ + "primaryKey", + "secondaryKey" + ], + "x-ms-enum": { + "name": "SigningKey", + "modelAsString": true + } + }, + "principalId": { + "description": "The principal Id also known as the object Id of a User Assigned Managed Identity currently assigned to the Map Account. To assign a Managed Identity of the account, use operation Create or Update an assign a User Assigned Identity resource Id.", + "type": "string" + }, + "regions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional, allows control of which region locations are permitted access to Azure Maps REST APIs with the SAS token. Example: \"eastus\", \"westus2\". Omitting this parameter will allow all region locations to be accessible." + }, + "maxRatePerSecond": { + "type": "integer", + "minimum": 0, + "maximum": 500, + "default": 500, + "format": "int32", + "exclusiveMinimum": true, + "description": "Required parameter which represents the desired maximum request per second to allowed for the given SAS token. This does not guarantee perfect accuracy in measurements but provides application safe guards of abuse with eventual enforcement." + }, + "start": { + "description": "The date time offset of when the token validity begins. For example \"2017-05-24T10:42:03.1567373Z\".", + "type": "string" + }, + "expiry": { + "description": "The date time offset of when the token validity expires. For example \"2017-05-24T10:42:03.1567373Z\"", + "type": "string" + } + }, + "required": [ + "signingKey", + "principalId", + "maxRatePerSecond", + "start", + "expiry" + ] + }, + "MapsAccountSasToken": { + "description": "A new Sas token which can be used to access the Maps REST APIs and is controlled by the specified Managed identity permissions on Azure (IAM) Role Based Access Control.", + "type": "object", + "properties": { + "accountSasToken": { + "type": "string", + "readOnly": true, + "description": "The shared access signature access token." + } + } + }, + "ManagedServiceIdentity": { + "description": "Identity for the resource.", + "type": "object", + "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." + } + } + } + } + } + }, + "MapsOperations": { + "description": "The set of operations available for Maps.", + "type": "object", + "properties": { + "value": { + "description": "An operation available for Maps.", + "type": "array", + "readOnly": true, + "uniqueItems": false, + "items": { + "$ref": "#/definitions/OperationDetail" + } + }, + "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" + } + } + }, + "OperationDetail": { + "description": "Operation detail payload", + "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": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationProperties", + "description": "Properties of the operation" + } + } + }, + "OperationDisplay": { + "description": "Operation display payload", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider of the operation", + "type": "string" + }, + "resource": { + "description": "Resource of the operation", + "type": "string" + }, + "operation": { + "description": "Localized friendly name for the operation", + "type": "string" + }, + "description": { + "description": "Localized friendly description for the operation", + "type": "string" + } + } + }, + "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" + } + } + } + }, + "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 Count." + }, + "dimensions": { + "description": "Dimensions of map account.", + "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." + }, + "sourceMdmAccount": { + "type": "string", + "description": "Source metrics account." + }, + "internalMetricName": { + "type": "string", + "description": "Internal metric name." + } + } + }, + "Dimension": { + "description": "Dimension of map account, for example API Category, Api Name, Result Type, and Response Code.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Display name of dimension." + }, + "displayName": { + "type": "string", + "description": "Display name of dimension." + }, + "internalName": { + "type": "string", + "description": "Internal name of the dimension." + }, + "internalMetricName": { + "type": "string", + "description": "Internal metric name of the dimension." + }, + "sourceMdmNamespace": { + "type": "string", + "description": "Source Mdm Namespace of the dimension." + }, + "toBeExportedToShoebox": { + "type": "boolean", + "description": "Flag to indicate exporting to Azure Monitor." + } + } + }, + "MapsAccountProperties": { + "description": "Additional Map account properties", + "type": "object", + "properties": { + "uniqueId": { + "description": "A unique identifier for the maps account", + "type": "string", + "readOnly": true + }, + "disableLocalAuth": { + "description": "Allows toggle functionality on Azure Policy to disable Azure Maps local authentication support. This will disable Shared Keys authentication from any usage.", + "type": "boolean", + "default": false + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the Map account resource.", + "readOnly": true + }, + "linkedResources": { + "type": "array", + "$ref": "#/definitions/LinkedResources", + "description": "Sets the resources to be used for Managed Identities based operations for the Map account resource." + }, + "cors": { + "$ref": "#/definitions/CorsRules", + "description": "Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service." + } + } + }, + "LinkedResources": { + "type": "array", + "maxItems": 10, + "items": { + "$ref": "#/definitions/LinkedResource" + }, + "description": "The array of associated resources to the Map account. Linked resource in the array cannot individually update, you must update all linked resources in the array together. These resources may be used on operations on the Azure Maps REST API. Access is controlled by the Map Account Managed Identity(s) permissions to those resource(s)." + }, + "LinkedResource": { + "type": "object", + "properties": { + "uniqueName": { + "type": "string", + "description": "A provided name which uniquely identifies the linked resource." + }, + "id": { + "type": "string", + "description": "ARM resource id in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}'." + } + }, + "required": [ + "uniqueName", + "id" + ], + "description": "Linked resource is reference to a resource deployed in an Azure subscription, add the linked resource `uniqueName` value as an optional parameter for operations on Azure Maps Geospatial REST APIs." + }, + "CorsRules": { + "type": "object", + "properties": { + "corsRules": { + "type": "array", + "maxItems": 5, + "items": { + "description": "Specifies a CORS rule for the Map Account.", + "$ref": "#/definitions/CorsRule" + }, + "description": "The list of CORS rules. You can include up to five CorsRule elements in the request. " + } + }, + "description": "Sets the CORS rules. You can include up to five CorsRule elements in the request. " + }, + "CorsRule": { + "type": "object", + "properties": { + "allowedOrigins": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or \"*\" to allow all domains" + } + }, + "required": [ + "allowedOrigins" + ], + "description": "Specifies a CORS rule for the Map Account." + }, + "CreatorProperties": { + "description": "Creator resource properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "The state of the resource provisioning, terminal states: Succeeded, Failed, Canceled", + "type": "string", + "readOnly": true + }, + "storageUnits": { + "description": "The storage units to be allocated. Integer values from 1 to 100, inclusive.", + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 100 + } + }, + "required": [ + "storageUnits" + ] + } + } +} diff --git a/specification/maps/resource-manager/readme.md b/specification/maps/resource-manager/readme.md index dd4f68353760..0760169b6b01 100644 --- a/specification/maps/resource-manager/readme.md +++ b/specification/maps/resource-manager/readme.md @@ -28,18 +28,27 @@ These are the global settings for the Maps API. title: AzureMapsManagementClient description: Azure Maps openapi-type: arm -tag: package-preview-2021-07 +tag: package-preview-2021-12 ``` +### Tag: package-preview-2021-12 + +These settings apply only when `--tag=package-preview-2021-12` is specified on the command line. + +```yaml $(tag) == 'package-preview-2021-12' +input-file: + - Microsoft.Maps/preview/2021-12-01-preview/maps-management.json +``` ### Tag: package-preview-2021-07 These settings apply only when `--tag=package-preview-2021-07` is specified on the command line. -```yaml $(tag) == 'package-preview-2021-07' +``` yaml $(tag) == 'package-preview-2021-07' input-file: - Microsoft.Maps/preview/2021-07-01-preview/maps-management.json ``` + ### Tag: package-2021-02 These settings apply only when `--tag=package-2021-02` is specified on the command line. @@ -206,6 +215,7 @@ directive: - suppress: R3006 where: - $.definitions.MapsAccount.properties + - $.definitions.Creator.properties reason: - Currently systemData is not allowed. - suppress: R3010 diff --git a/specification/marketplacecatalog/data-plane/Microsoft.Marketplace/stable/2021-10-01/examples/PublicOffers_Get.json b/specification/marketplacecatalog/data-plane/Microsoft.Marketplace/stable/2021-10-01/examples/PublicOffers_Get.json new file mode 100644 index 000000000000..45d7cd8eb156 --- /dev/null +++ b/specification/marketplacecatalog/data-plane/Microsoft.Marketplace/stable/2021-10-01/examples/PublicOffers_Get.json @@ -0,0 +1,138 @@ +{ + "parameters": { + "id": "Microsoft.ResourceGroup", + "api-version": "2021-06-01" + }, + "responses": { + "200": { + "body": { + "language": "en", + "displayName": "Resource group", + "hasStandardContractAmendments": false, + "publisherId": "Microsoft", + "publisherDisplayName": "Microsoft", + "offerId": "ResourceGroup", + "legacyId": "Microsoft.ResourceGroup", + "summary": "Manage and deploy resources in an application together", + "longSummary": "Manage and deploy resources in an application together", + "description": "

Resource groups enable you to manage all your resources in an application together. Resource groups are enabled by Azure Resource Manager. Resource Manager allows you to group multiple resources as a logical group which serves as the lifecycle boundary for every resource contained within it. Typically a group will contain resources related to a specific application. For example, a group may contain a Website resource that hosts your public website, a SQL Database that stores relational data used by the site, and a Storage Account that stores non-relational assets.

", + "offerType": "None", + "isPrivate": false, + "isPreview": false, + "isStopSell": false, + "fulfillBeforeChargeEligible": false, + "bigId": "Microsoft.ResourceGroup", + "legalTermsType": "None", + "supportUri": null, + "version": "1.0.6", + "categoryIds": [ + "azure", + "free" + ], + "screenshotUris": [], + "links": [ + { + "id": "0", + "displayName": "Documentation", + "uri": "https://go.microsoft.com/fwlink/?LinkId=532897" + } + ], + "iconFileUris": {}, + "metadata": { + "leadGeneration": null, + "testDrive": null + }, + "images": [ + { + "context": "ibiza", + "items": [ + { + "id": "small", + "uri": "https://mprpdfartifactstore.azureedge.net/publicartifactsmigration/Microsoft.ResourceGroup.1.0.6/Icons/Small.png", + "type": "icon" + }, + { + "id": "medium", + "uri": "https://mprpdfartifactstore.azureedge.net/publicartifactsmigration/Microsoft.ResourceGroup.1.0.6/Icons/Medium.png", + "type": "icon" + }, + { + "id": "large", + "uri": "https://mprpdfartifactstore.azureedge.net/publicartifactsmigration/Microsoft.ResourceGroup.1.0.6/Icons/Large.png", + "type": "icon" + }, + { + "id": "wide", + "uri": "https://mprpdfartifactstore.azureedge.net/publicartifactsmigration/Microsoft.ResourceGroup.1.0.6/Icons/Wide.png", + "type": "icon" + } + ] + } + ], + "plans": [ + { + "id": "ResourceGroup", + "displayName": "Resource group", + "summary": "Manage and deploy resources in an application together", + "description": "

Resource groups enable you to manage all your resources in an application together. Resource groups are enabled by Azure Resource Manager. Resource Manager allows you to group multiple resources as a logical group which serves as the lifecycle boundary for every resource contained within it. Typically a group will contain resources related to a specific application. For example, a group may contain a Website resource that hosts your public website, a SQL Database that stores relational data used by the site, and a Storage Account that stores non-relational assets.

", + "restrictedAudience": {}, + "skuId": "ResourceGroup", + "planId": "ResourceGroup", + "legacyPlanId": "Microsoft.ResourceGroup", + "keywords": [], + "type": "None", + "leadGeneration": null, + "testDrive": null, + "availabilities": [], + "categoryIds": [ + "azure", + "free" + ], + "conversionPaths": [], + "metadata": {}, + "uiDefinitionUri": "https://mprpdfartifactstore.azureedge.net/publicartifactsmigration/Microsoft.ResourceGroup.1.0.6/UIDefinition.json", + "artifacts": [ + { + "name": "Template", + "uri": "https://mprpdfartifactstore.azureedge.net/publicartifactsmigration/Microsoft.ResourceGroup.1.0.6/DeploymentTemplates/Template.json", + "type": "Template" + } + ], + "version": "1.0.6", + "itemName": "ResourceGroup", + "isPrivate": false, + "isHidden": false, + "hasFreeTrials": false, + "isByol": false, + "isFree": true, + "isPayg": false, + "isStopSell": false, + "cspState": "OptIn", + "isQuantifiable": false + } + ], + "isThirdParty": false, + "keywords": [ + "resourcegroup" + ], + "popularity": 11.455376815824977, + "hasFreeTrials": false, + "isByol": false, + "isMacc": false, + "hasFreePlans": true, + "isQuantifiable": false, + "hasPaygPlans": false, + "isReseller": false, + "isExcludedFromSearch": false, + "offerEnvironment": 0, + "excludeFromBootstrap": false, + "disableSendEmailOnPurchase": false, + "hideFromSaasBlade": false, + "integratedWithMicrosoftGraphApi": false + } + }, + "404": { + "body": "The product does not exist" + } + } +} diff --git a/specification/marketplacecatalog/data-plane/Microsoft.Marketplace/stable/2021-10-01/examples/PublicOffers_List.json b/specification/marketplacecatalog/data-plane/Microsoft.Marketplace/stable/2021-10-01/examples/PublicOffers_List.json new file mode 100644 index 000000000000..c095693b0387 --- /dev/null +++ b/specification/marketplacecatalog/data-plane/Microsoft.Marketplace/stable/2021-10-01/examples/PublicOffers_List.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "api-version": "2021-06-01" + }, + "responses": { + "200": { + "body": { + "items": [ + { + "language": "en", + "displayName": "Resource group", + "hasStandardContractAmendments": false, + "publisherId": "Microsoft", + "publisherDisplayName": "Microsoft", + "offerId": "ResourceGroup", + "legacyId": "Microsoft.ResourceGroup", + "summary": "Manage and deploy resources in an application together", + "longSummary": "Manage and deploy resources in an application together", + "description": "

Resource groups enable you to manage all your resources in an application together. Resource groups are enabled by Azure Resource Manager. Resource Manager allows you to group multiple resources as a logical group which serves as the lifecycle boundary for every resource contained within it. Typically a group will contain resources related to a specific application. For example, a group may contain a Website resource that hosts your public website, a SQL Database that stores relational data used by the site, and a Storage Account that stores non-relational assets.

", + "offerType": "None", + "isPrivate": false, + "isPreview": false, + "isStopSell": false, + "fulfillBeforeChargeEligible": false, + "bigId": "Microsoft.ResourceGroup", + "legalTermsType": "None", + "supportUri": null, + "version": "1.0.6", + "categoryIds": [ + "azure", + "free" + ], + "screenshotUris": [], + "links": [ + { + "id": "0", + "displayName": "Documentation", + "uri": "https://go.microsoft.com/fwlink/?LinkId=532897" + } + ], + "iconFileUris": {}, + "metadata": { + "leadGeneration": null, + "testDrive": null + }, + "images": [ + { + "context": "ibiza", + "items": [ + { + "id": "small", + "uri": "https://mprpdfartifactstore.azureedge.net/publicartifactsmigration/Microsoft.ResourceGroup.1.0.6/Icons/Small.png", + "type": "icon" + }, + { + "id": "medium", + "uri": "https://mprpdfartifactstore.azureedge.net/publicartifactsmigration/Microsoft.ResourceGroup.1.0.6/Icons/Medium.png", + "type": "icon" + }, + { + "id": "large", + "uri": "https://mprpdfartifactstore.azureedge.net/publicartifactsmigration/Microsoft.ResourceGroup.1.0.6/Icons/Large.png", + "type": "icon" + }, + { + "id": "wide", + "uri": "https://mprpdfartifactstore.azureedge.net/publicartifactsmigration/Microsoft.ResourceGroup.1.0.6/Icons/Wide.png", + "type": "icon" + } + ] + } + ], + "plans": [ + { + "id": "ResourceGroup", + "displayName": "Resource group", + "summary": "Manage and deploy resources in an application together", + "description": "

Resource groups enable you to manage all your resources in an application together. Resource groups are enabled by Azure Resource Manager. Resource Manager allows you to group multiple resources as a logical group which serves as the lifecycle boundary for every resource contained within it. Typically a group will contain resources related to a specific application. For example, a group may contain a Website resource that hosts your public website, a SQL Database that stores relational data used by the site, and a Storage Account that stores non-relational assets.

", + "restrictedAudience": {}, + "skuId": "ResourceGroup", + "planId": "ResourceGroup", + "legacyPlanId": "Microsoft.ResourceGroup", + "keywords": [], + "type": "None", + "leadGeneration": null, + "testDrive": null, + "availabilities": [], + "categoryIds": [ + "azure", + "free" + ], + "conversionPaths": [], + "metadata": {}, + "uiDefinitionUri": "https://mprpdfartifactstore.azureedge.net/publicartifactsmigration/Microsoft.ResourceGroup.1.0.6/UIDefinition.json", + "artifacts": [ + { + "name": "Template", + "uri": "https://mprpdfartifactstore.azureedge.net/publicartifactsmigration/Microsoft.ResourceGroup.1.0.6/DeploymentTemplates/Template.json", + "type": "Template" + } + ], + "version": "1.0.6", + "itemName": "ResourceGroup", + "isPrivate": false, + "isHidden": false, + "hasFreeTrials": false, + "isByol": false, + "isFree": true, + "isPayg": false, + "isStopSell": false, + "cspState": "OptIn", + "isQuantifiable": false + } + ], + "isThirdParty": false, + "keywords": [ + "resourcegroup" + ], + "popularity": 11.455376815824977, + "hasFreeTrials": false, + "isByol": false, + "isMacc": false, + "hasFreePlans": true, + "isQuantifiable": false, + "hasPaygPlans": false, + "isReseller": false, + "isExcludedFromSearch": false, + "offerEnvironment": 0, + "excludeFromBootstrap": false, + "disableSendEmailOnPurchase": false, + "hideFromSaasBlade": false, + "integratedWithMicrosoftGraphApi": false + } + ], + "nextPageLink": "https://df.catalogrp.azure-test.net/offers?Microsoft.AspNetCore.Http.QueryCollection&$skip=30", + "count": 10 + } + }, + "400": { + "body": "Invalid OData argument" + } + } +} diff --git a/specification/marketplacecatalog/data-plane/Microsoft.Marketplace/stable/2021-10-01/marketplacecatalog.json b/specification/marketplacecatalog/data-plane/Microsoft.Marketplace/stable/2021-10-01/marketplacecatalog.json new file mode 100644 index 000000000000..ab1bce85279a --- /dev/null +++ b/specification/marketplacecatalog/data-plane/Microsoft.Marketplace/stable/2021-10-01/marketplacecatalog.json @@ -0,0 +1,2053 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01", + "title": "Microsoft Marketplace Catalog Browse API", + "description": "Microsoft Marketplace Catalog Browse API", + "x-ms-code-generation-settings": { + "name": "marketplacecatalogClient" + } + }, + "host": "catalogapi.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/offers/{id}": { + "get": { + "tags": [ + "Public-Offers-Single" + ], + "summary": "Get a public offer by id", + "operationId": "PublicOffers_Get", + "parameters": [ + { + "type": "string", + "name": "id", + "in": "path", + "required": true, + "description": "Offer id", + "x-nullable": true + }, + { + "type": "string", + "name": "api-version", + "x-originalName": "apiVersion", + "in": "query", + "required": true, + "description": "API version", + "default": "2021-06-01", + "x-nullable": true + }, + { + "type": "string", + "name": "language", + "in": "query", + "description": "Offer language", + "default": "en", + "x-nullable": true + }, + { + "type": "string", + "name": "market", + "in": "query", + "description": "Offer market", + "default": "US", + "x-nullable": true + }, + { + "type": "boolean", + "name": "includeStopSoldPlans", + "in": "query", + "description": "To include stop sold or hidden plans", + "default": false, + "x-nullable": false + }, + { + "type": "array", + "name": "hideKeys", + "in": "query", + "description": "Add hide key to retrieve preview items", + "collectionFormat": "multi", + "x-nullable": true, + "items": { + "type": "string" + } + } + ], + "responses": { + "200": { + "x-nullable": false, + "description": "Returns a single public or preview offer", + "schema": { + "$ref": "#/definitions/CatalogItem" + } + }, + "404": { + "x-nullable": false, + "description": "In case offer does not exist", + "schema": { + "type": "string" + } + } + }, + "x-ms-examples": { + "PublicOffers_Get": { + "$ref": "./examples/PublicOffers_Get.json" + } + } + } + }, + "/offers": { + "get": { + "tags": [ + "Public-Offers-Listing" + ], + "summary": "Get a list of public available offers", + "operationId": "PublicOffers_List", + "parameters": [ + { + "type": "string", + "name": "api-version", + "x-originalName": "apiVersion", + "in": "query", + "required": true, + "description": "API version", + "default": "2021-06-01", + "x-nullable": true + }, + { + "type": "string", + "name": "language", + "in": "query", + "description": "Offer language", + "default": "en", + "x-nullable": true + }, + { + "type": "array", + "name": "hideKeys", + "in": "query", + "description": "Add hide key to retrieve preview items", + "collectionFormat": "multi", + "x-nullable": true, + "items": { + "type": "string" + } + } + ], + "responses": { + "200": { + "x-nullable": false, + "description": "Returns a list of public or preview offers", + "schema": { + "$ref": "#/definitions/PageResultOfCatalogItem" + } + }, + "400": { + "x-nullable": false, + "description": "In case request malformed", + "schema": { + "type": "string" + } + } + }, + "x-ms-examples": { + "PublicOffers_List": { + "$ref": "./examples/PublicOffers_List.json" + } + } + } + } + }, + "definitions": { + "PageResultOfCatalogItem": { + "type": "object", + "description": "Represents a feed of entities that includes additional information that OData formats support.", + "properties": { + "items": { + "type": "array", + "description": "Gets the collection of entities for this feed.", + "items": { + "$ref": "#/definitions/CatalogItem" + } + }, + "nextPageLink": { + "type": "string", + "description": "Gets the link for the next page of items in the feed.", + "format": "uri" + }, + "count": { + "type": "integer", + "description": "Gets the total count of items in the feed.", + "format": "int64" + } + } + }, + "CatalogItem": { + "type": "object", + "required": [ + "language", + "hasStandardContractAmendments", + "offerId", + "legacyId", + "offerType", + "isPrivate", + "isPreview", + "isStopSell", + "fulfillBeforeChargeEligible", + "bigId", + "legalTermsType", + "isThirdParty", + "popularity", + "hasFreeTrials", + "isByol", + "isMacc", + "hasFreePlans", + "isQuantifiable", + "hasPaygPlans", + "isReseller", + "isExcludedFromSearch", + "offerEnvironment", + "excludeFromBootstrap", + "disableSendEmailOnPurchase", + "hideFromSaasBlade", + "integratedWithMicrosoftGraphApi" + ], + "properties": { + "language": { + "type": "string", + "description": "Language" + }, + "displayName": { + "type": "string", + "description": "Display name" + }, + "hasStandardContractAmendments": { + "type": "boolean", + "description": "A value indicating whether standard contract amendments are present for this product" + }, + "publisherMpnId": { + "type": "string", + "description": "The publisher's Microsoft Partner Network (MPN) Id" + }, + "sellerId": { + "type": "string", + "description": "Partner Center Seller Id" + }, + "publisherId": { + "type": "string", + "description": "Publisher id" + }, + "partnerCenterId": { + "type": "string", + "description": "Partner center id" + }, + "publisherDisplayName": { + "type": "string", + "description": "Publisher display name" + }, + "offerId": { + "type": "string", + "description": "Offer id" + }, + "legacyId": { + "type": "string", + "description": "Offer legacy id" + }, + "determinedStorefronts": { + "type": "array", + "description": "The list of the storefronts for which this offer is designated", + "items": { + "$ref": "#/definitions/Store" + } + }, + "summary": { + "type": "string", + "description": "Summary" + }, + "longSummary": { + "type": "string", + "description": "Long summary" + }, + "description": { + "type": "string", + "description": "Description" + }, + "offerType": { + "description": "Offer type", + "allOf": [ + { + "$ref": "#/definitions/OfferType" + } + ] + }, + "isPrivate": { + "type": "boolean", + "description": "A value indicating whether the item is private" + }, + "isPreview": { + "type": "boolean", + "description": "A value indicating whether the item is preview" + }, + "isStopSell": { + "type": "boolean", + "description": "A value indicating whether sale of this item is stopped" + }, + "fulfillBeforeChargeEligible": { + "type": "boolean", + "description": "A value indicating whether this item is eligible for fulfill before charge" + }, + "marketingMaterial": { + "description": "Marketing material added by the publisher", + "allOf": [ + { + "$ref": "#/definitions/MarketingMaterial" + } + ] + }, + "markets": { + "type": "array", + "description": "Markets for the item", + "items": { + "type": "string" + } + }, + "isvContactDetails": { + "type": "object", + "description": "ISV contact details", + "additionalProperties": { + "type": "string" + } + }, + "bigId": { + "type": "string", + "description": "Big catalog id" + }, + "ocpSolutionId": { + "type": "string", + "description": "OCP solution id of the product" + }, + "legalTermsUri": { + "type": "string", + "description": "Legal terms URI" + }, + "cspLegalTermsUri": { + "type": "string", + "description": "CSP legal terms URI" + }, + "legalTermsType": { + "description": "Type of to the legal terms", + "allOf": [ + { + "$ref": "#/definitions/LegalTermsType" + } + ] + }, + "privacyPolicyUri": { + "type": "string", + "description": "Uri to the privacy policy of the product" + }, + "helpLink": { + "type": "string", + "description": "Help link for the product" + }, + "supportUri": { + "type": "string", + "description": "Support uri of the product" + }, + "version": { + "type": "string", + "description": "Big Cat submission version" + }, + "uiDefinitionUri": { + "type": "string", + "description": "User interface definition uri" + }, + "categoryIds": { + "type": "array", + "description": "List of category IDs the marketplace item belongs to", + "items": { + "type": "string" + } + }, + "marketCode": { + "type": "string", + "description": "Market code of a service offer" + }, + "marketStates": { + "type": "array", + "description": "Market states of a service offer", + "items": { + "type": "string" + } + }, + "industryIds": { + "type": "array", + "description": "List of industry IDs the item belongs to", + "items": { + "type": "string" + } + }, + "cloudIndustryCategories": { + "type": "array", + "description": "List of cloud industry IDs the item belongs to", + "items": { + "type": "string" + } + }, + "primaryProduct": { + "type": "string", + "description": "Primary product for the offer" + }, + "supportedProducts": { + "type": "array", + "description": "It maps to the list of products the publisher provides with which their offer works", + "items": { + "type": "string" + } + }, + "applicableProducts": { + "type": "array", + "description": "Product categories the offer belongs to", + "items": { + "type": "string" + } + }, + "serviceType": { + "type": "string", + "description": "Service type that applies to the offer" + }, + "competencies": { + "type": "array", + "description": "Competencies that apply to the offer", + "items": { + "$ref": "#/definitions/Competency" + } + }, + "hasPrices": { + "type": "boolean", + "description": "A value indicating whether the item has prices" + }, + "duration": { + "description": "The duration that applies to the item", + "allOf": [ + { + "$ref": "#/definitions/Duration" + } + ] + }, + "marketPricingDetails": { + "type": "array", + "description": "The pricing details of each market to the item", + "items": { + "$ref": "#/definitions/MarketPricingDetailsItem" + } + }, + "pricing": { + "description": "The pricing that applies to the item", + "allOf": [ + { + "$ref": "#/definitions/Pricing" + } + ] + }, + "solutionAreas": { + "type": "array", + "description": "The states that apply to the item", + "items": { + "type": "string" + } + }, + "screenshotUris": { + "type": "array", + "description": "List of screenshot image URIs provided for the item", + "items": { + "type": "string" + } + }, + "links": { + "type": "array", + "description": "List of Links provided for the item", + "items": { + "$ref": "#/definitions/LinkProperties" + } + }, + "filters": { + "type": "array", + "description": "List of filters for the item", + "items": { + "$ref": "#/definitions/Filter" + } + }, + "iconFileUris": { + "type": "object", + "description": "Dictionary of icon image URIs by icon type", + "x-dictionaryKey": { + "$ref": "#/definitions/IconKind" + }, + "additionalProperties": { + "type": "string" + } + }, + "artifacts": { + "type": "array", + "description": "List of artifacts", + "items": { + "$ref": "#/definitions/Artifact" + } + }, + "metadata": { + "description": "Custom item metadata", + "allOf": [ + { + "$ref": "#/definitions/OfferMetadata" + } + ] + }, + "images": { + "type": "array", + "description": "List of Images", + "items": { + "$ref": "#/definitions/ImageGroup" + } + }, + "videos": { + "type": "array", + "description": "List of product videos", + "items": { + "$ref": "#/definitions/ProductVideo" + } + }, + "plans": { + "type": "array", + "description": "Plans available for the offer details", + "items": { + "$ref": "#/definitions/Plan" + } + }, + "resourceGroupName": { + "type": "string", + "description": "Resource group name the gallery item belongs to" + }, + "definitionTemplates": { + "description": "Definition templates", + "allOf": [ + { + "$ref": "#/definitions/DefinitionTemplates" + } + ] + }, + "additionalProperties": { + "type": "object", + "description": "Properties provided for the item", + "additionalProperties": { + "type": "string" + } + }, + "restrictedAudience": { + "description": "This fields supports setting explicit audience like subscription, tenant or user", + "allOf": [ + { + "$ref": "#/definitions/RestrictedAudience" + } + ] + }, + "isThirdParty": { + "type": "boolean", + "description": "A value indicating whether the product is third party offer or not" + }, + "groupId": { + "type": "string", + "description": "This value is used to merge different entities to a single item" + }, + "hideKeys": { + "type": "array", + "description": "List of hide keys provided for the item", + "items": { + "type": "string" + } + }, + "keywords": { + "type": "array", + "description": "List of keywords provided for the item", + "items": { + "type": "string" + } + }, + "popularity": { + "type": "number", + "description": "Popularity of the product", + "format": "double" + }, + "pricingDetailsUri": { + "type": "string", + "description": "Pricing details uri of the product" + }, + "hasFreeTrials": { + "type": "boolean", + "description": "A value indicating whether it has free trials" + }, + "isByol": { + "type": "boolean", + "description": "A value indicating whether it has licensed plans" + }, + "isMacc": { + "type": "boolean", + "description": "A value indicating whether it is MACC eligible" + }, + "hasFreePlans": { + "type": "boolean", + "description": "A value indicating whether it has free plans" + }, + "isQuantifiable": { + "type": "boolean", + "description": "A value indicating whether product is quantifiable" + }, + "altStackReference": { + "type": "string", + "description": "Alternative stack reference" + }, + "hasPaygPlans": { + "type": "boolean", + "description": "A value indicating whether an offer has a 'Pay As You Go' plan" + }, + "isReseller": { + "type": "boolean", + "description": "A value indicating whether microsoft is acting as a reseller" + }, + "ttl": { + "type": "integer", + "description": "Expiration policy in seconds", + "format": "int32" + }, + "isExcludedFromSearch": { + "type": "boolean", + "description": "A value indicating whether the offer should excluded from search" + }, + "applicableStoreFronts": { + "description": "A value indicating what store fronts this offer should surface on", + "allOf": [ + { + "$ref": "#/definitions/StoreFrontOptions" + } + ] + }, + "offerVersion": { + "type": "string", + "description": "Offer version specified by the publisher on publishing portal" + }, + "isMicrosoftProduct": { + "type": "boolean", + "description": "A value indicating whether it is a microsoft product" + }, + "productOwnershipSellingMotion": { + "type": "string", + "description": "Product ownership selling motion" + }, + "documentLinks": { + "type": "array", + "description": "The list of document links provided for the item", + "items": { + "$ref": "#/definitions/LinkProperties" + } + }, + "offerEnvironment": { + "description": "A value indicating offer's environment", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentInfo" + } + ] + }, + "linkedAddIns": { + "type": "array", + "description": "List of linked Add Ins provided for the item", + "items": { + "type": "string" + } + }, + "excludeFromBootstrap": { + "type": "boolean", + "description": "A value indicating whether the offer should not be re-ingest during bootstrap session" + }, + "hydrationNotificationReceivedAt": { + "type": "string", + "description": "Notification creation time", + "format": "date-time" + }, + "bigCatLastModifiedDate": { + "type": "string", + "description": "Last modified date", + "format": "date-time" + }, + "disableSendEmailOnPurchase": { + "type": "boolean", + "description": "Indication to disable sending email on purchase" + }, + "hideFromSaasBlade": { + "type": "boolean", + "description": "Indication to hide from SaaS blade" + }, + "integratedWithMicrosoftGraphApi": { + "type": "boolean", + "description": "Indication if there is integrated with Microsoft graph API" + }, + "multiTenantAadAppId": { + "type": "string", + "description": "Multi tenant AAD app id" + }, + "licenseManagementType": { + "type": "string", + "description": "License management type" + }, + "licenseModel": { + "type": "string", + "description": "License model" + }, + "pbiServicePrincipalIds": { + "type": "array", + "description": "PBI service principals", + "items": { + "type": "string" + } + }, + "isCoreVm": { + "type": "boolean", + "description": "Set to true only for offers of OfferType.VirtualMachine to indicate that it was originally of OfferType.CoreVirtualMachine" + }, + "m365CertificationInfo": { + "description": "M365 Certification info", + "allOf": [ + { + "$ref": "#/definitions/M365CertificationInfo" + } + ] + }, + "downloadLink": { + "type": "string", + "description": "Download link for offers of type OfferType.PowerBIVisuals" + }, + "downloadSampleLink": { + "type": "string", + "description": "Download sample report link for offers of type OfferType.PowerBIVisuals" + }, + "omexAssetId": { + "type": "string", + "description": "Asset ID for offers of type OfferType.PowerBIVisuals" + }, + "mixProductId": { + "type": "string", + "description": "Product ID for offers of type OfferType.PowerBIVisuals" + }, + "appFreeType": { + "type": "string", + "description": "Whether an offer has additional purchases required" + }, + "storeFrontPricings": { + "type": "object", + "description": "storefront pricings parameters for AppSource and AMP", + "x-dictionaryKey": { + "$ref": "#/definitions/Store" + }, + "additionalProperties": { + "$ref": "#/definitions/UIPricing" + } + } + } + }, + "Store": { + "type": "string", + "description": "enum type", + "x-enumNames": [ + "Appsource", + "AMP", + "Ibiza", + "Cosell" + ], + "enum": [ + "Appsource", + "AMP", + "Ibiza", + "Cosell" + ] + }, + "OfferType": { + "type": "string", + "description": "enum type", + "x-enumNames": [ + "None", + "DevService", + "ManagedApplication", + "VirtualMachine", + "AzureApplication", + "Container", + "SaaS", + "SolutionTemplate", + "IotEdgeModules", + "ManagedServices", + "ContainerApps", + "VisualStudioExtension", + "DynamicsOps", + "DynamicsCE", + "DynamicsBC", + "PowerBI", + "ConsultingServices", + "CosellOnly", + "CoreVirtualMachine", + "PowerBIVisuals" + ], + "enum": [ + "None", + "DevService", + "ManagedApplication", + "VirtualMachine", + "AzureApplication", + "Container", + "SaaS", + "SolutionTemplate", + "IotEdgeModules", + "ManagedServices", + "ContainerApps", + "VisualStudioExtension", + "DynamicsOps", + "DynamicsCE", + "DynamicsBC", + "PowerBI", + "ConsultingServices", + "CosellOnly", + "CoreVirtualMachine", + "PowerBIVisuals" + ] + }, + "MarketingMaterial": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "Path to the marketing site" + }, + "learnUri": { + "type": "string", + "description": "Path to the learn site" + } + } + }, + "LegalTermsType": { + "type": "string", + "description": "enum type", + "x-enumNames": [ + "None", + "EA" + ], + "enum": [ + "None", + "EA" + ] + }, + "Competency": { + "type": "object", + "properties": { + "competencyName": { + "type": "string", + "description": "Competency name" + }, + "competencyLevel": { + "type": "string", + "description": "Competency level" + } + } + }, + "Duration": { + "type": "object", + "required": [ + "durationValue", + "durationUnit" + ], + "properties": { + "durationValue": { + "type": "integer", + "description": "Duration value", + "format": "int64" + }, + "durationUnit": { + "description": "Duration unit", + "allOf": [ + { + "$ref": "#/definitions/ServiceDurationUnit" + } + ] + } + } + }, + "ServiceDurationUnit": { + "type": "string", + "description": "enum type", + "x-enumNames": [ + "Days", + "Hours", + "Weeks" + ], + "enum": [ + "Days", + "Hours", + "Weeks" + ] + }, + "MarketPricingDetailsItem": { + "type": "object", + "properties": { + "pricing": { + "description": "Pricing that applies to the item", + "allOf": [ + { + "$ref": "#/definitions/Pricing" + } + ] + }, + "marketCode": { + "type": "string", + "description": "Market code of a service offer" + }, + "marketStates": { + "type": "array", + "description": "Market states of a service offer", + "items": { + "type": "string" + } + } + } + }, + "Pricing": { + "type": "object", + "properties": { + "currencyCode": { + "type": "string", + "description": "Currency code" + }, + "planPrices": { + "type": "array", + "description": "Plan prices", + "items": { + "$ref": "#/definitions/PlanPrice" + } + } + } + }, + "PlanPrice": { + "type": "object", + "required": [ + "currencyDecorator", + "price" + ], + "properties": { + "planId": { + "type": "string", + "description": "Plan id" + }, + "currencyDecorator": { + "description": "Currency decorator", + "allOf": [ + { + "$ref": "#/definitions/CurrencyDecorator" + } + ] + }, + "price": { + "type": "number", + "description": "Price of the item", + "format": "double" + } + } + }, + "CurrencyDecorator": { + "type": "integer", + "description": "enum type", + "x-enumNames": [ + "Fixed", + "Estimated" + ], + "enum": [ + 0, + 1 + ] + }, + "LinkProperties": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the link" + }, + "displayName": { + "type": "string", + "description": "Display name of the link" + }, + "uri": { + "type": "string", + "description": "URI of the link" + } + } + }, + "Filter": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Filter type" + }, + "value": { + "type": "string", + "description": "Filter value" + } + } + }, + "IconKind": { + "type": "integer", + "description": "enum type", + "x-enumNames": [ + "Small", + "Medium", + "Large", + "Wide", + "Hero" + ], + "enum": [ + 0, + 1, + 2, + 3, + 4 + ] + }, + "Artifact": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "name": { + "type": "string", + "description": "Artifact name" + }, + "uri": { + "type": "string", + "description": "Artifact uri" + }, + "type": { + "description": "Artifact type", + "allOf": [ + { + "$ref": "#/definitions/ArtifactType" + } + ] + } + } + }, + "ArtifactType": { + "type": "string", + "description": "enum type", + "x-enumNames": [ + "Template", + "Fragment", + "Custom", + "Metadata" + ], + "enum": [ + "Template", + "Fragment", + "Custom", + "Metadata" + ] + }, + "OfferMetadata": { + "type": "object", + "properties": { + "leadGeneration": { + "description": "Lead generation info", + "allOf": [ + { + "$ref": "#/definitions/LeadGeneration" + } + ] + }, + "testDrive": { + "description": "Test Drive info", + "allOf": [ + { + "$ref": "#/definitions/TestDrive" + } + ] + } + } + }, + "LeadGeneration": { + "type": "object", + "properties": { + "productId": { + "type": "string", + "description": "Product Id" + } + } + }, + "TestDrive": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description" + }, + "userManual": { + "type": "string", + "description": "User manual" + }, + "testDriveDuration": { + "type": "string", + "description": "Test Drive Duration" + }, + "accessInformation": { + "type": "string", + "description": "Access Information" + }, + "orchestrationType": { + "type": "string", + "description": "Orchestration Type" + }, + "labId": { + "type": "string", + "description": "Lab identifier" + }, + "demoId": { + "type": "string", + "description": "Demo identifier" + }, + "video": { + "description": "Walk-through video", + "allOf": [ + { + "$ref": "#/definitions/ProductVideo" + } + ] + }, + "powerBiDashboardLink": { + "type": "string", + "description": "Power Bi dashboard link" + } + } + }, + "ProductVideo": { + "type": "object", + "properties": { + "caption": { + "type": "string", + "description": "Caption" + }, + "uri": { + "type": "string", + "description": "Video uri", + "format": "uri" + }, + "videoPurpose": { + "type": "string", + "description": "Video purpose" + }, + "previewImage": { + "description": "Preview image", + "allOf": [ + { + "$ref": "#/definitions/PreviewImage" + } + ] + } + } + }, + "PreviewImage": { + "type": "object", + "properties": { + "caption": { + "type": "string", + "description": "Caption" + }, + "uri": { + "type": "string", + "description": "Image uri", + "format": "uri" + }, + "imagePurpose": { + "type": "string", + "description": "Image purpose" + } + } + }, + "ImageGroup": { + "type": "object", + "properties": { + "context": { + "type": "string", + "description": "context" + }, + "items": { + "type": "array", + "description": "List of images", + "items": { + "$ref": "#/definitions/Image" + } + } + } + }, + "Image": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Image id" + }, + "uri": { + "type": "string", + "description": "Image uri" + }, + "type": { + "type": "string", + "description": "Image type" + } + } + }, + "Plan": { + "type": "object", + "required": [ + "type", + "isPrivate", + "isHidden", + "hasFreeTrials", + "isByol", + "isFree", + "isPayg", + "isStopSell", + "cspState", + "isQuantifiable" + ], + "properties": { + "id": { + "type": "string", + "description": "Plan id" + }, + "displayName": { + "type": "string", + "description": "Display name of the plan" + }, + "summary": { + "type": "string", + "description": "Summary of the plan" + }, + "description": { + "type": "string", + "description": "Description of the plan" + }, + "restrictedAudience": { + "description": "Restricted audience", + "allOf": [ + { + "$ref": "#/definitions/RestrictedAudience" + } + ] + }, + "skuId": { + "type": "string", + "description": "Sku id" + }, + "planId": { + "type": "string", + "description": "Plan id" + }, + "legacyPlanId": { + "type": "string", + "description": "Legacy plan Id which is obtained by combining Offer->LegacyId and PlanId with no separator in between" + }, + "keywords": { + "type": "array", + "description": "List of keywords", + "items": { + "type": "string" + } + }, + "type": { + "description": "Offer type", + "allOf": [ + { + "$ref": "#/definitions/OfferType" + } + ] + }, + "leadGeneration": { + "description": "Lead generation info", + "allOf": [ + { + "$ref": "#/definitions/LeadGeneration" + } + ] + }, + "testDrive": { + "description": "Test Drive info", + "allOf": [ + { + "$ref": "#/definitions/TestDrive" + } + ] + }, + "availabilities": { + "type": "array", + "description": "List of availabilities for this plan", + "items": { + "$ref": "#/definitions/AvailabilityEntity" + } + }, + "categoryIds": { + "type": "array", + "description": "Category IDs for this plan", + "items": { + "type": "string" + } + }, + "conversionPaths": { + "type": "array", + "description": "Conversion paths for this plan", + "items": { + "type": "string" + } + }, + "metadata": { + "description": "Metadata for this plan", + "allOf": [ + { + "$ref": "#/definitions/OpenProperty" + } + ] + }, + "operatingSystem": { + "description": "Operating system info for this plan", + "allOf": [ + { + "$ref": "#/definitions/OperatingSystem" + } + ] + }, + "uiDefinitionUri": { + "type": "string", + "description": "What blade to be opened when someone wants to create the marketplace item" + }, + "artifacts": { + "type": "array", + "description": "Files related to the marketplace item", + "items": { + "$ref": "#/definitions/Artifact" + } + }, + "version": { + "type": "string", + "description": "Version of the marketplace item" + }, + "itemName": { + "type": "string", + "description": "Item name" + }, + "isPrivate": { + "type": "boolean", + "description": "A value indicating whether the item is private" + }, + "isHidden": { + "type": "boolean", + "description": "A value indicating whether the plan is hidden" + }, + "hasFreeTrials": { + "type": "boolean", + "description": "A value indicating whether it has free trials" + }, + "isByol": { + "type": "boolean", + "description": "A value indicating whether it has licensed plans" + }, + "isFree": { + "type": "boolean", + "description": "A value indicating whether it has at least one free availability in any market" + }, + "isPayg": { + "type": "boolean", + "description": "A value indicating whether the plan is 'Pay As You Go'" + }, + "isStopSell": { + "type": "boolean", + "description": "A value indicating whether it has been stopped from sell in a market" + }, + "altStackReference": { + "type": "string", + "description": "Alternative stack reference" + }, + "stackType": { + "type": "string", + "description": "Stack type : Classic, Gen1, Gen2" + }, + "cspState": { + "description": "A value indicating whether the product is available for purchase through CSP channel", + "allOf": [ + { + "$ref": "#/definitions/CSPState" + } + ] + }, + "resourceProviderNamespace": { + "type": "string", + "description": "Resource Provider Namespace" + }, + "resourceType": { + "type": "string", + "description": "Resource Provider type" + }, + "minQuantity": { + "type": "integer", + "description": "Min quantity", + "format": "int32" + }, + "maxQuantity": { + "type": "integer", + "description": "Max quantity", + "format": "int32" + }, + "isQuantifiable": { + "type": "boolean", + "description": "A value indicating whether the plan is quantifiable" + }, + "callToAction": { + "type": "string", + "description": "Ahe action that can be performed on this plan on the storefronts" + }, + "redirectUrl": { + "type": "string", + "description": "URL to redirect the user to post the performed action on the storefronts" + }, + "serviceIdentifier": { + "type": "string", + "description": "Service identifier" + }, + "vmSecurityType": { + "description": "VM security type", + "allOf": [ + { + "$ref": "#/definitions/VmSecurityType" + } + ] + }, + "displayRank": { + "type": "string", + "description": "Display rank" + } + } + }, + "RestrictedAudience": { + "type": "object", + "properties": { + "subscriptions": { + "type": "array", + "description": "Subscription based restricted audience", + "items": { + "type": "string" + } + }, + "tenants": { + "type": "array", + "description": "Tenant based restricted audience", + "items": { + "type": "string" + } + }, + "users": { + "type": "array", + "description": "User based restricted audience", + "items": { + "type": "string" + } + } + } + }, + "AvailabilityEntity": { + "type": "object", + "required": [ + "isPIRequired", + "pricingAudience", + "isStopSell", + "hasFreeTrials", + "displayRank", + "remediationRequired" + ], + "properties": { + "actions": { + "type": "array", + "description": "List of allowed actions", + "items": { + "type": "string" + } + }, + "market": { + "type": "string", + "description": "Market for the availability collection" + }, + "isPIRequired": { + "type": "boolean", + "description": "A value indicating whether a payment instrument is required" + }, + "appId": { + "type": "string", + "description": "App id of the availability collection" + }, + "planID": { + "type": "string", + "description": "Plan Id of the availability collection" + }, + "meterId": { + "type": "string", + "description": "Applicable billing meter Id" + }, + "meter": { + "description": "Applicable billing meter information", + "allOf": [ + { + "$ref": "#/definitions/Meter" + } + ] + }, + "pricingAudience": { + "description": "Pricing audience", + "allOf": [ + { + "$ref": "#/definitions/PricingAudience" + } + ] + }, + "terms": { + "type": "array", + "description": "List of applicable terms", + "items": { + "$ref": "#/definitions/Term" + } + }, + "piFilter": { + "description": "Applicable billing meter information", + "allOf": [ + { + "$ref": "#/definitions/PIFilter" + } + ] + }, + "isStopSell": { + "type": "boolean", + "description": "A value indicating whether it has been stopped from sell in a market" + }, + "hasFreeTrials": { + "type": "boolean", + "description": "A value indicating whether it has free trials" + }, + "assetBehaviors": { + "type": "array", + "description": "Asset behaviors", + "items": { + "type": "string" + } + }, + "consumptionUnitType": { + "type": "string", + "description": "Consumption unit type" + }, + "displayRank": { + "type": "integer", + "description": "Display rank", + "format": "int32" + }, + "partitionKey": { + "type": "string", + "description": "Partition key" + }, + "remediationRequired": { + "type": "boolean", + "description": "A value indicating whether remediation is required to acquire availability" + }, + "remediations": { + "type": "array", + "description": "Remediation actions for acquiring availability if RemediationRequired is true", + "items": { + "$ref": "#/definitions/Remediation" + } + }, + "startDate": { + "type": "integer", + "description": "Availability effectiveness start date - in epoch minutes", + "format": "int32" + }, + "endDate": { + "type": "integer", + "description": "Availability effectiveness end date - in epoch minutes", + "format": "int32" + }, + "planAvailabilities": { + "type": "array", + "description": "Plan availabilities", + "items": { + "$ref": "#/definitions/AvailabilityEntity" + } + } + } + }, + "Meter": { + "type": "object", + "properties": { + "meterId": { + "type": "string", + "description": "Meter id" + }, + "partNumber": { + "type": "string", + "description": "Compute part number" + }, + "consumptionResourceId": { + "type": "string", + "description": "Consumption resource id" + }, + "price": { + "description": "Price for this meter", + "allOf": [ + { + "$ref": "#/definitions/Price" + } + ] + }, + "type": { + "type": "string", + "description": "Type for this meter" + }, + "includedQuantityProperties": { + "type": "array", + "description": "Included quantity properties", + "items": { + "$ref": "#/definitions/IncludedQuantityProperty" + } + } + } + }, + "Price": { + "type": "object", + "required": [ + "isPIRequired", + "listPrice", + "msrp" + ], + "properties": { + "currencyCode": { + "type": "string", + "description": "Currency code i.e. 'USD'" + }, + "isPIRequired": { + "type": "boolean", + "description": "A value indicating whether a payment instrument is required" + }, + "listPrice": { + "type": "number", + "description": "Retail price for the item", + "format": "decimal" + }, + "msrp": { + "type": "number", + "description": "Manufacturer's suggested retail price for the item", + "format": "decimal" + } + } + }, + "IncludedQuantityProperty": { + "allOf": [ + { + "$ref": "#/definitions/IncludedQuantityProperty2" + }, + { + "type": "object" + } + ] + }, + "IncludedQuantityProperty2": { + "type": "object", + "properties": { + "termId": { + "type": "string", + "description": "Term id" + }, + "quantity": { + "type": "string", + "description": "Quantity" + } + } + }, + "PricingAudience": { + "type": "string", + "description": "enum type", + "x-enumNames": [ + "None", + "DirectCommercial", + "PartnerCommercial", + "Custom", + "IndirectCommercial", + "IndirectGov", + "DirectChk", + "DirectBlue" + ], + "enum": [ + "None", + "DirectCommercial", + "PartnerCommercial", + "Custom", + "IndirectCommercial", + "IndirectGov", + "DirectChk", + "DirectBlue" + ] + }, + "Term": { + "type": "object", + "properties": { + "termDescriptionParameters": { + "type": "array", + "description": "Term description parameters", + "items": { + "$ref": "#/definitions/TermDescriptionParameter" + } + }, + "termId": { + "type": "string", + "description": "Term id" + }, + "termUnits": { + "type": "string", + "description": "Term unit" + }, + "prorationPolicy": { + "description": "Proration policy", + "allOf": [ + { + "$ref": "#/definitions/ProrationPolicy" + } + ] + }, + "termDescription": { + "type": "string", + "description": "Term description" + }, + "price": { + "description": "Price for the term", + "allOf": [ + { + "$ref": "#/definitions/Price" + } + ] + }, + "renewTermId": { + "type": "string", + "description": "Renew term id" + }, + "renewTermUnits": { + "type": "string", + "description": "Renew term units" + }, + "billingPlan": { + "description": "Billing Plan", + "allOf": [ + { + "$ref": "#/definitions/BillingPlan" + } + ] + } + } + }, + "TermDescriptionParameter": { + "type": "object", + "properties": { + "parameter": { + "type": "string", + "description": "Parameter" + }, + "value": { + "type": "string", + "description": "Value" + } + } + }, + "ProrationPolicy": { + "type": "object", + "properties": { + "minimumProratedUnits": { + "type": "string", + "description": "Minimum prorated units" + } + } + }, + "BillingPlan": { + "type": "object", + "properties": { + "billingPeriod": { + "type": "string", + "description": "Billing period" + }, + "title": { + "type": "string", + "description": "Title" + }, + "description": { + "type": "string", + "description": "Description" + }, + "price": { + "description": "Price", + "allOf": [ + { + "$ref": "#/definitions/Price" + } + ] + } + } + }, + "PIFilter": { + "type": "object", + "properties": { + "exclusionProperties": { + "type": "array", + "description": "List of exclusion properties", + "items": { + "type": "string" + } + }, + "inclusionProperties": { + "type": "array", + "description": "List of inclusion properties", + "items": { + "type": "string" + } + } + } + }, + "Remediation": { + "type": "object", + "properties": { + "remediationId": { + "type": "string", + "description": "Remediation identifier" + }, + "type": { + "type": "string", + "description": "Remediation type" + } + } + }, + "OpenProperty": { + "type": "object", + "properties": { + "generation": { + "type": "string", + "description": "VM generation" + }, + "properties": { + "type": "object", + "additionalProperties": {} + } + } + }, + "OperatingSystem": { + "type": "object", + "properties": { + "family": { + "type": "string", + "description": "Operating system family" + }, + "type": { + "type": "string", + "description": "Operating system type" + }, + "name": { + "type": "string", + "description": "Operating system name" + } + } + }, + "CSPState": { + "type": "string", + "description": "enum type", + "x-enumNames": [ + "OptIn", + "OptOut", + "Terminated", + "SelectiveOptIn" + ], + "enum": [ + "OptIn", + "OptOut", + "Terminated", + "SelectiveOptIn" + ] + }, + "VmSecurityType": { + "type": "string", + "description": "enum type", + "x-enumFlags": true, + "x-enumNames": [ + "None", + "Trusted", + "Confidential" + ], + "enum": [ + "None", + "Trusted", + "Confidential" + ] + }, + "DefinitionTemplates": { + "type": "object", + "properties": { + "uiDefinitionFileUri": { + "type": "string", + "description": "UI definition file URI" + }, + "defaultDeploymentTemplateId": { + "type": "string", + "description": "Default deployment template id" + }, + "deploymentTemplateFileUris": { + "type": "object", + "description": "A dictionary containing the deployment template file IDs defined in the package manifest and corresponding URIs", + "additionalProperties": { + "type": "string" + } + }, + "deploymentFragmentFileUris": { + "type": "object", + "description": "a dictionary containing the deployment fragment file IDs defined in the package manifest and corresponding URIs", + "additionalProperties": { + "type": "string" + } + } + } + }, + "StoreFrontOptions": { + "type": "integer", + "description": "enum type", + "x-enumFlags": true, + "x-enumNames": [ + "None", + "Azure", + "AMP", + "AppSource" + ], + "enum": [ + 0, + 1, + 2, + 4 + ] + }, + "EnvironmentInfo": { + "type": "integer", + "description": "enum type", + "x-enumNames": [ + "DogFood", + "Canary", + "Production", + "FairFax", + "Unknown" + ], + "enum": [ + 1, + 2, + 3, + 4, + 5 + ] + }, + "M365CertificationInfo": { + "type": "object", + "required": [ + "m365CertificationType" + ], + "properties": { + "m365CertificationType": { + "description": "M365 Certification Type", + "allOf": [ + { + "$ref": "#/definitions/CertificationType" + } + ] + }, + "m365CertificationDetailsUrl": { + "type": "string", + "description": "M365 Certification Url" + }, + "m365CertificationId": { + "type": "string", + "description": "M365 Certification Id" + } + } + }, + "CertificationType": { + "type": "integer", + "description": "enum type", + "x-enumNames": [ + "Undefined", + "None", + "SelfAttested", + "MicrosoftCertified" + ], + "enum": [ + 0, + 1, + 2, + 3 + ] + }, + "UIPricing": { + "type": "object", + "required": [ + "pricingOptions" + ], + "properties": { + "pricingOptions": { + "description": "A value indicating what pricing options are available on the application", + "allOf": [ + { + "$ref": "#/definitions/PricingOptions" + } + ] + }, + "hasPrices": { + "type": "boolean", + "description": "Has prices" + } + } + }, + "PricingOptions": { + "type": "integer", + "description": "enum type", + "x-enumFlags": true, + "x-enumNames": [ + "None", + "Free", + "FreeTrial", + "Paid", + "Byol" + ], + "enum": [ + 0, + 1, + 2, + 4, + 8 + ] + } + } +} diff --git a/specification/marketplacecatalog/data-plane/readme.md b/specification/marketplacecatalog/data-plane/readme.md new file mode 100644 index 000000000000..2f7011591614 --- /dev/null +++ b/specification/marketplacecatalog/data-plane/readme.md @@ -0,0 +1,39 @@ +# marketplacecatalog + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for marketplacecatalog. + +## Getting Started + +To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the marketplacecatalog. + +```yaml +openapi-type: data-plane +tag: package-2021-10-01 +``` + +### Tag: package-2021-10-01 + +These settings apply only when `--tag=package-2021-10-01` is specified on the command line. + +```yaml $(tag) == 'package-2021-10-01' +input-file: + - Microsoft.Marketplace/stable/2021-10-01/marketplacecatalog.json +``` diff --git a/specification/marketplacenotifications/resource-manager/Microsoft.MarketplaceNotifications/stable/2021-03-03/MarketplaceNotifications.json b/specification/marketplacenotifications/resource-manager/Microsoft.MarketplaceNotifications/stable/2021-03-03/MarketplaceNotifications.json index 46c53b7f0a21..5cbb73ca9b36 100644 --- a/specification/marketplacenotifications/resource-manager/Microsoft.MarketplaceNotifications/stable/2021-03-03/MarketplaceNotifications.json +++ b/specification/marketplacenotifications/resource-manager/Microsoft.MarketplaceNotifications/stable/2021-03-03/MarketplaceNotifications.json @@ -21,7 +21,7 @@ "tags": [ "Notification" ], - "operationId": "Notifications_GetWithAuthorization", + "operationId": "Notifications_List", "parameters": [ { "$ref": "#/parameters/SubscriptionId" @@ -62,7 +62,7 @@ "tags": [ "Notification" ], - "operationId": "Notification_GetWithAuthorization", + "operationId": "Notification_Get", "parameters": [ { "$ref": "#/parameters/SubscriptionId" diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/2.0.0/LiveVideoAnalytics.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/2.0.0/LiveVideoAnalytics.json deleted file mode 100644 index e1135e5d617f..000000000000 --- a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/2.0.0/LiveVideoAnalytics.json +++ /dev/null @@ -1,1124 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "description": "Direct Methods for Live Video Analytics on IoT Edge.", - "version": "2.0.0", - "title": "Direct Methods for Live Video Analytics on IoT Edge", - "contact": { - "email": "amshelp@microsoft.com" - } - }, - "security": [ - { - "sharedAccessSignature": [] - } - ], - "paths": {}, - "securityDefinitions": { - "sharedAccessSignature": { - "type": "apiKey", - "name": "Authorization", - "in": "header" - } - }, - "definitions": { - "MediaGraphInstance": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string", - "description": "The identifier for the media graph instance." - }, - "systemData": { - "$ref": "#/definitions/MediaGraphSystemData" - }, - "properties": { - "$ref": "#/definitions/MediaGraphInstanceProperties" - } - }, - "description": "Represents an instance of a media graph." - }, - "MediaGraphInstanceProperties": { - "type": "object", - "properties": { - "description": { - "type": "string", - "description": "An optional description for the instance." - }, - "topologyName": { - "type": "string", - "description": "The name of the media graph topology that this instance will run. A topology with this name should already have been set in the Edge module." - }, - "parameters": { - "type": "array", - "description": "List of one or more graph instance parameters.", - "items": { - "$ref": "#/definitions/MediaGraphParameterDefinition" - } - }, - "state": { - "type": "string", - "description": "Allowed states for a graph instance.", - "enum": [ - "Inactive", - "Activating", - "Active", - "Deactivating" - ], - "x-ms-enum": { - "name": "MediaGraphInstanceState", - "values": [ - { - "value": "Inactive", - "description": "The media graph instance is idle and not processing media." - }, - { - "value": "Activating", - "description": "The media graph instance is transitioning into the active state." - }, - { - "value": "Active", - "description": "The media graph instance is active and processing media." - }, - { - "value": "Deactivating", - "description": "The media graph instance is transitioning into the inactive state." - } - ], - "modelAsString": true - } - } - }, - "description": "Properties of a media graph instance." - }, - "MediaGraphParameterDefinition": { - "type": "object", - "required": [ - "name", - "value" - ], - "properties": { - "name": { - "type": "string", - "description": "The name of the parameter defined in the media graph topology." - }, - "value": { - "type": "string", - "description": "The value to supply for the named parameter defined in the media graph topology." - } - }, - "description": "A key-value pair. A media graph topology allows certain values to be parameterized. When an instance is created, the parameters are supplied with arguments specific to that instance. This allows the same graph topology to be used as a blueprint for multiple graph instances with different values for the parameters." - }, - "MediaGraphInstanceCollection": { - "type": "object", - "properties": { - "value": { - "type": "array", - "description": "A collection of media graph instances.", - "items": { - "$ref": "#/definitions/MediaGraphInstance" - } - }, - "@continuationToken": { - "type": "string", - "description": "A continuation token to use in subsequent calls to enumerate through the graph instance collection. This is used when the collection contains too many results to return in one response." - } - }, - "description": "A collection of media graph instances." - }, - "MediaGraphTopologyCollection": { - "type": "object", - "properties": { - "value": { - "type": "array", - "description": "A collection of media graph topologies.", - "items": { - "$ref": "#/definitions/MediaGraphTopology" - } - }, - "@continuationToken": { - "type": "string", - "description": "A continuation token to use in subsequent calls to enumerate through the graph topologies collection. This is used when the collection contains too many results to return in one response." - } - }, - "description": "A collection of media graph topologies." - }, - "MediaGraphTopology": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string", - "description": "The identifier for the media graph topology." - }, - "systemData": { - "$ref": "#/definitions/MediaGraphSystemData" - }, - "properties": { - "$ref": "#/definitions/MediaGraphTopologyProperties" - } - }, - "description": "The definition of a media graph topology." - }, - "MediaGraphTopologyProperties": { - "type": "object", - "properties": { - "description": { - "type": "string", - "description": "A description of a media graph topology. It is recommended to use this to describe the expected use of the topology." - }, - "parameters": { - "type": "array", - "items": { - "$ref": "#/definitions/MediaGraphParameterDeclaration" - }, - "description": "The list of parameters defined in the topology. The value for these parameters are supplied by instances of this topology." - }, - "sources": { - "type": "array", - "items": { - "$ref": "#/definitions/MediaGraphSource" - }, - "description": "The list of source nodes in this topology." - }, - "processors": { - "type": "array", - "items": { - "$ref": "#/definitions/MediaGraphProcessor" - }, - "description": "The list of processor nodes in this topology." - }, - "sinks": { - "type": "array", - "items": { - "$ref": "#/definitions/MediaGraphSink" - }, - "description": "The list of sink nodes in this topology." - } - }, - "description": "A description of the properties of a media graph topology." - }, - "MediaGraphSystemData": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time", - "description": "The timestamp of resource creation (UTC)." - }, - "lastModifiedAt": { - "type": "string", - "format": "date-time", - "description": "The timestamp of resource last modification (UTC)." - } - }, - "description": "The system data for a resource. This is used by both topologies and instances." - }, - "MediaGraphParameterDeclaration": { - "type": "object", - "required": [ - "name", - "type" - ], - "properties": { - "name": { - "type": "string", - "description": "The name of the parameter.", - "maxLength": 64 - }, - "type": { - "type": "string", - "description": "The type of the parameter.", - "enum": [ - "String", - "SecretString", - "Int", - "Double", - "Bool" - ], - "x-ms-enum": { - "name": "MediaGraphParameterType", - "values": [ - { - "value": "String", - "description": "A string parameter value." - }, - { - "value": "SecretString", - "description": "A string to hold sensitive information as parameter value." - }, - { - "value": "Int", - "description": "A 32-bit signed integer as parameter value." - }, - { - "value": "Double", - "description": "A 64-bit double-precision floating point type as parameter value." - }, - { - "value": "Bool", - "description": "A boolean value that is either true or false." - } - ], - "modelAsString": true - } - }, - "description": { - "type": "string", - "description": "Description of the parameter." - }, - "default": { - "type": "string", - "description": "The default value for the parameter to be used if the media graph instance does not specify a value." - } - }, - "description": "The declaration of a parameter in the media graph topology. A media graph topology can be authored with parameters. Then, during graph instance creation, the value for those parameters can be specified. This allows the same graph topology to be used as a blueprint for multiple graph instances with different values for the parameters." - }, - "MediaGraphSource": { - "type": "object", - "required": [ - "@type", - "name" - ], - "discriminator": "@type", - "properties": { - "@type": { - "type": "string", - "description": "The type of the source node. The discriminator for derived types." - }, - "name": { - "type": "string", - "description": "The name to be used for this source node." - } - }, - "description": "A source node in a media graph." - }, - "MediaGraphRtspSource": { - "type": "object", - "properties": { - "transport": { - "type": "string", - "description": "Underlying RTSP transport. This is used to enable or disable HTTP tunneling.", - "enum": [ - "Http", - "Tcp" - ], - "x-ms-enum": { - "name": "MediaGraphRtspTransport", - "values": [ - { - "value": "Http", - "description": "HTTP/HTTPS transport. This should be used when HTTP tunneling is desired." - }, - { - "value": "Tcp", - "description": "TCP transport. This should be used when HTTP tunneling is NOT desired." - } - ], - "modelAsString": true - } - }, - "endpoint": { - "description": "RTSP endpoint of the stream that is being connected to.", - "$ref": "#/definitions/MediaGraphEndpoint" - } - }, - "required": [ - "endpoint" - ], - "allOf": [ - { - "$ref": "#/definitions/MediaGraphSource" - } - ], - "description": "Enables a media graph to capture media from a RTSP server.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphRtspSource" - }, - "MediaGraphIoTHubMessageSource": { - "type": "object", - "properties": { - "hubInputName": { - "type": "string", - "description": "Name of the input path where messages can be routed to (via routes declared in the IoT Edge deployment manifest)." - } - }, - "allOf": [ - { - "$ref": "#/definitions/MediaGraphSource" - } - ], - "description": "Enables a media graph to receive messages via routes declared in the IoT Edge deployment manifest.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphIoTHubMessageSource" - }, - "MediaGraphIoTHubMessageSink": { - "type": "object", - "properties": { - "hubOutputName": { - "type": "string", - "description": "Name of the output path to which the media graph will publish message. These messages can then be delivered to desired destinations by declaring routes referencing the output path in the IoT Edge deployment manifest." - } - }, - "required": [ - "@type", - "hubOutputName" - ], - "allOf": [ - { - "$ref": "#/definitions/MediaGraphSink" - } - ], - "description": "Enables a media graph to publish messages that can be delivered via routes declared in the IoT Edge deployment manifest.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphIoTHubMessageSink" - }, - "MediaGraphEndpoint": { - "type": "object", - "required": [ - "@type", - "url" - ], - "discriminator": "@type", - "properties": { - "@type": { - "type": "string", - "description": "The discriminator for derived types." - }, - "credentials": { - "description": "Polymorphic credentials to be presented to the endpoint.", - "$ref": "#/definitions/MediaGraphCredentials" - }, - "url": { - "type": "string", - "description": "Url for the endpoint." - } - }, - "description": "Base class for endpoints." - }, - "MediaGraphCredentials": { - "type": "object", - "required": [ - "@type" - ], - "discriminator": "@type", - "properties": { - "@type": { - "type": "string", - "description": "The discriminator for derived types." - } - }, - "description": "Credentials to present during authentication." - }, - "MediaGraphUsernamePasswordCredentials": { - "type": "object", - "properties": { - "username": { - "type": "string", - "description": "Username for a username/password pair." - }, - "password": { - "type": "string", - "description": "Password for a username/password pair. Please use a parameter so that the actual value is not returned on PUT or GET requests." - } - }, - "required": [ - "username", - "password" - ], - "allOf": [ - { - "$ref": "#/definitions/MediaGraphCredentials" - } - ], - "description": "Username/password credential pair.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphUsernamePasswordCredentials" - }, - "MediaGraphHttpHeaderCredentials": { - "type": "object", - "properties": { - "headerName": { - "type": "string", - "description": "HTTP header name." - }, - "headerValue": { - "type": "string", - "description": "HTTP header value. Please use a parameter so that the actual value is not returned on PUT or GET requests." - } - }, - "required": [ - "headerName", - "headerValue" - ], - "allOf": [ - { - "$ref": "#/definitions/MediaGraphCredentials" - } - ], - "description": "Http header service credentials.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphHttpHeaderCredentials" - }, - "MediaGraphUnsecuredEndpoint": { - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/MediaGraphEndpoint" - } - ], - "description": "An endpoint that the media graph can connect to, with no encryption in transit.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphUnsecuredEndpoint" - }, - "MediaGraphTlsEndpoint": { - "type": "object", - "properties": { - "trustedCertificates": { - "description": "Trusted certificates when authenticating a TLS connection. Null designates that Azure Media Service's source of trust should be used.", - "$ref": "#/definitions/MediaGraphCertificateSource" - }, - "validationOptions": { - "description": "Validation options to use when authenticating a TLS connection. By default, strict validation is used.", - "$ref": "#/definitions/MediaGraphTlsValidationOptions" - } - }, - "allOf": [ - { - "$ref": "#/definitions/MediaGraphEndpoint" - } - ], - "description": "A TLS endpoint for media graph external connections.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphTlsEndpoint" - }, - "MediaGraphCertificateSource": { - "type": "object", - "required": [ - "@type" - ], - "discriminator": "@type", - "properties": { - "@type": { - "type": "string", - "description": "The discriminator for derived types." - } - }, - "description": "Base class for certificate sources." - }, - "MediaGraphTlsValidationOptions": { - "type": "object", - "properties": { - "ignoreHostname": { - "type": "string", - "description": "Boolean value ignoring the host name (common name) during validation." - }, - "ignoreSignature": { - "type": "string", - "description": "Boolean value ignoring the integrity of the certificate chain at the current time." - } - }, - "description": "Options for controlling the authentication of TLS endpoints." - }, - "MediaGraphPemCertificateList": { - "type": "object", - "properties": { - "certificates": { - "type": "array", - "description": "PEM formatted public certificates one per entry.", - "items": { - "type": "string" - } - } - }, - "required": [ - "certificates" - ], - "allOf": [ - { - "$ref": "#/definitions/MediaGraphCertificateSource" - } - ], - "description": "A list of PEM formatted certificates.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphPemCertificateList" - }, - "MediaGraphSink": { - "type": "object", - "required": [ - "@type", - "inputs", - "name" - ], - "discriminator": "@type", - "properties": { - "@type": { - "type": "string", - "description": "The discriminator for derived types." - }, - "name": { - "type": "string", - "description": "The name to be used for the media graph sink." - }, - "inputs": { - "type": "array", - "description": "An array of the names of the other nodes in the media graph, the outputs of which are used as input for this sink node.", - "items": { - "$ref": "#/definitions/MediaGraphNodeInput" - } - } - }, - "description": "Enables a media graph to write media data to a destination outside of the Live Video Analytics IoT Edge module." - }, - "MediaGraphNodeInput": { - "type": "object", - "required": [ - "nodeName" - ], - "properties": { - "nodeName": { - "type": "string", - "description": "The name of another node in the media graph, the output of which is used as input to this node." - }, - "outputSelectors": { - "type": "array", - "description": "Allows for the selection of particular streams from another node.", - "items": { - "$ref": "#/definitions/MediaGraphOutputSelector" - } - } - }, - "description": "Represents the input to any node in a media graph." - }, - "MediaGraphOutputSelector": { - "type": "object", - "properties": { - "property": { - "type": "string", - "description": "The stream property to compare with.", - "enum": [ - "mediaType" - ], - "x-ms-enum": { - "name": "MediaGraphOutputSelectorProperty", - "values": [ - { - "value": "mediaType", - "description": "The stream's MIME type or subtype." - } - ], - "modelAsString": true - } - }, - "operator": { - "type": "string", - "description": "The operator to compare streams by.", - "enum": [ - "is", - "isNot" - ], - "x-ms-enum": { - "name": "MediaGraphOutputSelectorOperator", - "values": [ - { - "value": "is", - "description": "A media type is the same type or a subtype." - }, - { - "value": "isNot", - "description": "A media type is not the same type or a subtype." - } - ], - "modelAsString": true - } - }, - "value": { - "type": "string", - "description": "Value to compare against." - } - }, - "description": "Allows for the selection of particular streams from another node." - }, - "MediaGraphFileSink": { - "type": "object", - "properties": { - "baseDirectoryPath": { - "type": "string", - "description": "Absolute directory for all outputs to the Edge device from this sink.", - "example": "/var/media/output/" - }, - "fileNamePattern": { - "type": "string", - "description": "File name pattern for creating new files on the Edge device. The pattern must include at least one system variable. See the documentation for available variables and additional examples.", - "example": "mySampleFile-${System.GraphTopologyName}-${System.GraphInstanceName}-${System.DateTime}" - }, - "maximumSizeMiB": { - "type": "string", - "description": "Maximum amount of disk space that can be used for storing files from this sink." - } - }, - "required": [ - "fileNamePattern", - "baseDirectoryPath", - "maximumSizeMiB" - ], - "allOf": [ - { - "$ref": "#/definitions/MediaGraphSink" - } - ], - "description": "Enables a media graph to write/store media (video and audio) to a file on the Edge device.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphFileSink" - }, - "MediaGraphAssetSink": { - "type": "object", - "properties": { - "assetNamePattern": { - "type": "string", - "description": "A name pattern when creating new assets. The pattern must include at least one system variable. See the documentation for available variables and additional examples.", - "example": "MySampleAsset-${System.GraphTopologyName}-${System.GraphInstanceName}-${System.DateTime}" - }, - "segmentLength": { - "type": "string", - "example": "PT30S", - "description": "When writing media to an asset, wait until at least this duration of media has been accumulated on the Edge. Expressed in increments of 30 seconds, with a minimum of 30 seconds and a recommended maximum of 5 minutes." - }, - "localMediaCachePath": { - "type": "string", - "description": "Path to a local file system directory for temporary caching of media before writing to an Asset. Used when the Edge device is temporarily disconnected from Azure.", - "example": "/var/lib/lva/tmp/" - }, - "localMediaCacheMaximumSizeMiB": { - "type": "string", - "description": "Maximum amount of disk space that can be used for temporary caching of media." - } - }, - "required": [ - "@type", - "assetNamePattern", - "localMediaCachePath", - "localMediaCacheMaximumSizeMiB" - ], - "allOf": [ - { - "$ref": "#/definitions/MediaGraphSink" - } - ], - "description": "Enables a media graph to record media to an Azure Media Services asset for subsequent playback.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphAssetSink" - }, - "MediaGraphProcessor": { - "type": "object", - "required": [ - "@type", - "inputs", - "name" - ], - "discriminator": "@type", - "properties": { - "@type": { - "type": "string", - "description": "The discriminator for derived types." - }, - "name": { - "type": "string", - "description": "The name for this processor node." - }, - "inputs": { - "type": "array", - "description": "An array of the names of the other nodes in the media graph, the outputs of which are used as input for this processor node.", - "items": { - "$ref": "#/definitions/MediaGraphNodeInput" - } - } - }, - "description": "A node that represents the desired processing of media in a graph. Takes media and/or events as inputs, and emits media and/or event as output." - }, - "MediaGraphMotionDetectionProcessor": { - "type": "object", - "properties": { - "sensitivity": { - "type": "string", - "description": "Enumeration that specifies the sensitivity of the motion detection processor.", - "enum": [ - "Low", - "Medium", - "High" - ], - "x-ms-enum": { - "name": "MediaGraphMotionDetectionSensitivity", - "values": [ - { - "value": "Low", - "description": "Low Sensitivity." - }, - { - "value": "Medium", - "description": "Medium Sensitivity." - }, - { - "value": "High", - "description": "High Sensitivity." - } - ], - "modelAsString": true - } - }, - "outputMotionRegion": { - "type": "boolean", - "description": "Indicates whether the processor should detect and output the regions, within the video frame, where motion was detected. Default is true." - }, - "eventAggregationWindow": { - "type": "string", - "description": "Event aggregation window duration, or 0 for no aggregation." - } - }, - "allOf": [ - { - "$ref": "#/definitions/MediaGraphProcessor" - } - ], - "description": "A node that accepts raw video as input, and detects if there are moving objects present. If so, then it emits an event, and allows frames where motion was detected to pass through. Other frames are blocked/dropped.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphMotionDetectionProcessor" - }, - "MediaGraphExtensionProcessorBase": { - "type": "object", - "required": [ - "endpoint", - "image" - ], - "properties": { - "endpoint": { - "description": "Endpoint to which this processor should connect.", - "$ref": "#/definitions/MediaGraphEndpoint" - }, - "image": { - "description": "Describes the parameters of the image that is sent as input to the endpoint.", - "$ref": "#/definitions/MediaGraphImage" - }, - "samplingOptions": { - "description": "Describes the sampling options to be applied when forwarding samples to the extension.", - "$ref": "#/definitions/MediaGraphSamplingOptions" - } - }, - "allOf": [ - { - "$ref": "#/definitions/MediaGraphProcessor" - } - ], - "description": "Processor that allows for extensions outside of the Live Video Analytics Edge module to be integrated into the graph. It is the base class for various different kinds of extension processor types.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphExtensionProcessorBase" - }, - "MediaGraphCognitiveServicesVisionExtension": { - "type": "object", - "properties": {}, - "allOf": [ - { - "$ref": "#/definitions/MediaGraphExtensionProcessorBase" - } - ], - "description": "A processor that allows the media graph to send video frames to a Cognitive Services Vision extension. Inference results are relayed to downstream nodes.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphCognitiveServicesVisionExtension" - }, - "MediaGraphGrpcExtension": { - "type": "object", - "required": [ - "dataTransfer" - ], - "properties": { - "dataTransfer": { - "description": "How media should be transferred to the inference engine.", - "$ref": "#/definitions/MediaGraphGrpcExtensionDataTransfer" - }, - "extensionConfiguration": { - "type": "string", - "description": "Optional configuration to pass to the gRPC extension." - } - }, - "allOf": [ - { - "$ref": "#/definitions/MediaGraphExtensionProcessorBase" - } - ], - "description": "A processor that allows the media graph to send video frames to an external inference container over a gRPC connection. This can be done using shared memory (for high frame rates), or over the network. Inference results are relayed to downstream nodes.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphGrpcExtension" - }, - "MediaGraphGrpcExtensionDataTransfer": { - "type": "object", - "required": [ - "mode" - ], - "properties": { - "sharedMemorySizeMiB": { - "type": "string", - "description": "The size of the buffer for all in-flight frames in mebibytes if mode is SharedMemory. Should not be specified otherwise." - }, - "mode": { - "type": "string", - "description": "How frame data should be transmitted to the inference engine.", - "enum": [ - "Embedded", - "SharedMemory" - ], - "x-ms-enum": { - "name": "MediaGraphGrpcExtensionDataTransferMode", - "values": [ - { - "value": "Embedded", - "description": "Frames are transferred embedded into the gRPC messages." - }, - { - "value": "SharedMemory", - "description": "Frames are transferred through shared memory." - } - ], - "modelAsString": true - } - } - }, - "description": "Describes how media should be transferred to the inference engine.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphGrpcExtensionDataTransfer" - }, - "MediaGraphHttpExtension": { - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/MediaGraphExtensionProcessorBase" - } - ], - "description": "A processor that allows the media graph to send video frames (mostly at low frame rates e.g. <5 fps) to an external inference container over an HTTP-based RESTful API. Inference results are relayed to downstream nodes.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphHttpExtension" - }, - "MediaGraphImage": { - "type": "object", - "properties": { - "scale": { - "$ref": "#/definitions/MediaGraphImageScale" - }, - "format": { - "$ref": "#/definitions/MediaGraphImageFormat" - } - }, - "description": "Describes the properties of an image frame." - }, - "MediaGraphSamplingOptions": { - "type": "object", - "properties": { - "skipSamplesWithoutAnnotation": { - "type": "string", - "description": "If true, limits the samples submitted to the extension to only samples which have associated inference(s)" - }, - "maximumSamplesPerSecond": { - "type": "string", - "description": "Maximum rate of samples submitted to the extension" - } - }, - "description": "Describes the properties of a sample." - }, - "MediaGraphImageScale": { - "type": "object", - "properties": { - "mode": { - "type": "string", - "description": "Describes the modes for scaling an input video frame into an image, before it is sent to an inference engine.", - "enum": [ - "PreserveAspectRatio", - "Pad", - "Stretch" - ], - "x-ms-enum": { - "name": "MediaGraphImageScaleMode", - "values": [ - { - "value": "PreserveAspectRatio", - "description": "Use the same aspect ratio as the input frame." - }, - { - "value": "Pad", - "description": "Center pad the input frame to match the given dimensions." - }, - { - "value": "Stretch", - "description": "Stretch input frame to match given dimensions." - } - ], - "modelAsString": true - } - }, - "width": { - "type": "string", - "description": "The desired output width of the image." - }, - "height": { - "type": "string", - "description": "The desired output height of the image." - } - }, - "description": "The scaling mode for the image." - }, - "MediaGraphImageFormat": { - "type": "object", - "required": [ - "@type" - ], - "discriminator": "@type", - "properties": { - "@type": { - "type": "string", - "description": "The discriminator for derived types." - } - }, - "description": "Encoding settings for an image.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphImageFormat" - }, - "MediaGraphImageFormatRaw": { - "type": "object", - "required": [ - "pixelFormat" - ], - "properties": { - "pixelFormat": { - "type": "string", - "description": "The pixel format that will be used to encode images.", - "enum": [ - "Yuv420p", - "Rgb565be", - "Rgb565le", - "Rgb555be", - "Rgb555le", - "Rgb24", - "Bgr24", - "Argb", - "Rgba", - "Abgr", - "Bgra" - ], - "x-ms-enum": { - "name": "MediaGraphImageFormatRawPixelFormat", - "values": [ - { - "value": "Yuv420p", - "description": "Planar YUV 4:2:0, 12bpp, (1 Cr and Cb sample per 2x2 Y samples)." - }, - { - "value": "Rgb565be", - "description": "Packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian." - }, - { - "value": "Rgb565le", - "description": "Packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), little-endian." - }, - { - "value": "Rgb555be", - "description": "Packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), big-endian , X=unused/undefined." - }, - { - "value": "Rgb555le", - "description": "Packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), little-endian, X=unused/undefined." - }, - { - "value": "Rgb24", - "description": "Packed RGB 8:8:8, 24bpp, RGBRGB." - }, - { - "value": "Bgr24", - "description": "Packed RGB 8:8:8, 24bpp, BGRBGR." - }, - { - "value": "Argb", - "description": "Packed ARGB 8:8:8:8, 32bpp, ARGBARGB." - }, - { - "value": "Rgba", - "description": "Packed RGBA 8:8:8:8, 32bpp, RGBARGBA." - }, - { - "value": "Abgr", - "description": "Packed ABGR 8:8:8:8, 32bpp, ABGRABGR." - }, - { - "value": "Bgra", - "description": "Packed BGRA 8:8:8:8, 32bpp, BGRABGRA." - } - ], - "modelAsString": true - } - } - }, - "allOf": [ - { - "$ref": "#/definitions/MediaGraphImageFormat" - } - ], - "description": "Encoding settings for raw images.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphImageFormatRaw" - }, - "MediaGraphImageFormatJpeg": { - "type": "object", - "properties": { - "quality": { - "type": "string", - "description": "The image quality. Value must be between 0 to 100 (best quality)." - } - }, - "allOf": [ - { - "$ref": "#/definitions/MediaGraphImageFormat" - } - ], - "description": "Encoding settings for Jpeg images.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphImageFormatJpeg" - }, - "MediaGraphImageFormatBmp": { - "type": "object", - "properties": {}, - "allOf": [ - { - "$ref": "#/definitions/MediaGraphImageFormat" - } - ], - "description": "Encoding settings for Bmp images.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphImageFormatBmp" - }, - "MediaGraphImageFormatPng": { - "type": "object", - "properties": {}, - "allOf": [ - { - "$ref": "#/definitions/MediaGraphImageFormat" - } - ], - "description": "Encoding settings for Png images.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphImageFormatPng" - }, - "MediaGraphSignalGateProcessor": { - "type": "object", - "properties": { - "activationEvaluationWindow": { - "type": "string", - "example": "PT1.0S", - "description": "The period of time over which the gate gathers input events before evaluating them." - }, - "activationSignalOffset": { - "type": "string", - "example": "-PT1.0S", - "description": "Signal offset once the gate is activated (can be negative). It is an offset between the time the event is received, and the timestamp of the first media sample (eg. video frame) that is allowed through by the gate." - }, - "minimumActivationTime": { - "type": "string", - "example": "PT1S", - "description": "The minimum period for which the gate remains open in the absence of subsequent triggers (events)." - }, - "maximumActivationTime": { - "type": "string", - "example": "PT2S", - "description": "The maximum period for which the gate remains open in the presence of subsequent events." - } - }, - "allOf": [ - { - "$ref": "#/definitions/MediaGraphProcessor" - } - ], - "description": "A signal gate determines when to block (gate) incoming media, and when to allow it through. It gathers input events over the activationEvaluationWindow, and determines whether to open or close the gate.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphSignalGateProcessor" - } - } -} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/2.0.0/LiveVideoAnalyticsSdkDefinitions.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/2.0.0/LiveVideoAnalyticsSdkDefinitions.json deleted file mode 100644 index 147d26469752..000000000000 --- a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/2.0.0/LiveVideoAnalyticsSdkDefinitions.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "description": "Direct Methods for Live Video Analytics on IoT Edge.", - "version": "2.0.0", - "title": "Direct Methods for Live Video Analytics on IoT Edge", - "contact": { - "email": "amshelp@microsoft.com" - } - }, - "security": [ - { - "sharedAccessSignature": [] - } - ], - "paths": {}, - "securityDefinitions": { - "sharedAccessSignature": { - "type": "apiKey", - "name": "Authorization", - "in": "header" - } - }, - "definitions": { - "MethodRequest": { - "type": "object", - "required": [ - "methodName" - ], - "properties": { - "methodName": { - "type": "string", - "description": "method name", - "readOnly": true - }, - "@apiVersion": { - "type": "string", - "description": "api version", - "enum": [ - "2.0" - ], - "x-ms-enum": { - "name": "ApiVersionEnum", - "modelAsString": false - } - } - }, - "discriminator": "methodName", - "description": "Base Class for Method Requests." - }, - "MediaGraphTopologySetRequest": { - "type": "object", - "x-ms-discriminator-value": "GraphTopologySet", - "allOf": [ - { - "$ref": "#/definitions/MethodRequest" - } - ], - "required": [ - "graph" - ], - "properties": { - "graph": { - "$ref": "./LiveVideoAnalytics.json#/definitions/MediaGraphTopology" - } - }, - "description": "Represents the MediaGraphTopologySetRequest." - }, - "MediaGraphTopologySetRequestBody": { - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/MethodRequest" - }, - { - "$ref": "./LiveVideoAnalytics.json#/definitions/MediaGraphTopology" - } - ], - "description": "Represents the MediaGraphTopologySetRequest body." - }, - "MediaGraphInstanceSetRequest": { - "type": "object", - "x-ms-discriminator-value": "GraphInstanceSet", - "allOf": [ - { - "$ref": "#/definitions/MethodRequest" - } - ], - "required": [ - "instance" - ], - "properties": { - "instance": { - "$ref": "./LiveVideoAnalytics.json#/definitions/MediaGraphInstance" - } - }, - "description": "Represents the MediaGraphInstanceSetRequest." - }, - "MediaGraphInstanceSetRequestBody": { - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/MethodRequest" - }, - { - "$ref": "./LiveVideoAnalytics.json#/definitions/MediaGraphInstance" - } - ], - "description": "Represents the MediaGraphInstanceSetRequest body." - }, - "ItemNonSetRequestBase": { - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/MethodRequest" - } - ], - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string", - "description": "method name" - } - } - }, - "MediaGraphTopologyListRequest": { - "type": "object", - "x-ms-discriminator-value": "GraphTopologyList", - "allOf": [ - { - "$ref": "#/definitions/MethodRequest" - } - ], - "description": "Represents the MediaGraphTopologyListRequest." - }, - "MediaGraphTopologyGetRequest": { - "type": "object", - "x-ms-discriminator-value": "GraphTopologyGet", - "allOf": [ - { - "$ref": "#/definitions/ItemNonSetRequestBase" - } - ], - "description": "Represents the MediaGraphTopologyGetRequest." - }, - "MediaGraphTopologyDeleteRequest": { - "type": "object", - "x-ms-discriminator-value": "GraphTopologyDelete", - "allOf": [ - { - "$ref": "#/definitions/ItemNonSetRequestBase" - } - ], - "description": "Represents the MediaGraphTopologyDeleteRequest." - }, - "MediaGraphInstanceListRequest": { - "type": "object", - "x-ms-discriminator-value": "GraphInstanceList", - "allOf": [ - { - "$ref": "#/definitions/MethodRequest" - } - ], - "description": "Represents the MediaGraphInstanceListRequest." - }, - "MediaGraphInstanceGetRequest": { - "type": "object", - "x-ms-discriminator-value": "GraphInstanceGet", - "allOf": [ - { - "$ref": "#/definitions/ItemNonSetRequestBase" - } - ], - "description": "Represents the MediaGraphInstanceGetRequest." - }, - "MediaGraphInstanceActivateRequest": { - "type": "object", - "x-ms-discriminator-value": "GraphInstanceActivate", - "allOf": [ - { - "$ref": "#/definitions/ItemNonSetRequestBase" - } - ], - "description": "Represents the MediaGraphInstanceActivateRequest." - }, - "MediaGraphInstanceDeActivateRequest": { - "type": "object", - "x-ms-discriminator-value": "GraphInstanceDeactivate", - "allOf": [ - { - "$ref": "#/definitions/ItemNonSetRequestBase" - } - ], - "description": "Represents the MediaGraphInstanceDeactivateRequest." - }, - "MediaGraphInstanceDeleteRequest": { - "type": "object", - "x-ms-discriminator-value": "GraphInstanceDelete", - "allOf": [ - { - "$ref": "#/definitions/ItemNonSetRequestBase" - } - ], - "description": "Represents the MediaGraphInstanceDeleteRequest." - } - } -} diff --git a/specification/mediaservices/data-plane/readme.md b/specification/mediaservices/data-plane/readme.md deleted file mode 100644 index ad5b26baaa51..000000000000 --- a/specification/mediaservices/data-plane/readme.md +++ /dev/null @@ -1,105 +0,0 @@ -# MediaServices - Live Video Analytics Edge - -> see https://aka.ms/autorest - -This is the AutoRest configuration file for Live video analytics edge. - -These swaggers are used to generate the SDKs for Live Video Analytics. These SDKs are models only (no client) and customer would need to use IoT SDK to send direct method calls to IoT hub. These SDKs are not ARM based and doesn't do any REST calls. all operations are sent as direct methods on IoT hub. - ---- - -## Getting Started - -To build the SDK for Live video analytics edge, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: - -> `autorest` - -To see additional help and options, run: - -> `autorest --help` - ---- - -## Configuration - -### Basic Information - -These are the global settings for the Live video analytics API. - -``` yaml -openapi-type: data-plane -tag: package-lva-2-0-0-preview - -directive: - - where: - - $.definitions.MethodRequest.properties.methodName - suppress: - - RequiredReadOnlyProperties -``` - -### Tag: package-lva-1-0-4-preview - -These settings apply only when `--tag=package-lva-2-0-0-preview` is specified on the command line. - -``` yaml $(tag) == 'package-lva-2-0-0-preview' -input-file: - - LiveVideoAnalytics.Edge/preview/2.0.0/LiveVideoAnalytics.json - - LiveVideoAnalytics.Edge/preview/2.0.0/LiveVideoAnalyticsSdkDefinitions.json -``` - ---- - -# Code Generation - -## Swagger to SDK - -This section describes what SDK should be generated by the automatic system. -This is not used by Autorest itself. - -``` yaml $(swagger-to-sdk) -swagger-to-sdk: - - repo: azure-sdk-for-net - after_scripts: - - bundle install && rake arm:regen_all_profiles['azure_media_lva_edge'] -``` - -## C# - -These settings apply only when `--csharp` is specified on the command line. -Please also specify `--csharp-sdks-folder=`. - -``` yaml $(csharp) -csharp: - azure-arm: false - payload-flattening-threshold: 2 - license-header: MICROSOFT_MIT_NO_VERSION - namespace: Microsoft.Azure.Media.LiveVideoAnalytics.Edge - output-folder: $(csharp-sdks-folder)/mediaservices/Microsoft.Azure.Media.LiveVideoAnalytics.Edge/src/Generated - clear-output-folder: true - use-internal-constructors: true - override-client-name: LiveVideoAnalyticsEdgeClient - use-datetimeoffset: true -``` -## Multi-API/Profile support for AutoRest v3 generators - -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. - -This block is updated by an automatic script. Edits may be lost! - -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ -# include the azure profile definitions from the standard location -require: $(this-folder)/../../../profiles/readme.md - -# all the input files across all versions -input-file: - - $(this-folder)/LiveVideoAnalytics.Edge/preview/2.0.0/LiveVideoAnalytics.json - -``` - -If there are files that should not be in the `all-api-versions` set, -uncomment the `exclude-file` section below and add the file paths. - -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` diff --git a/specification/mediaservices/resource-manager/readme.go.md b/specification/mediaservices/resource-manager/readme.go.md index 98beb9ed5ca3..477a44feb716 100644 --- a/specification/mediaservices/resource-manager/readme.go.md +++ b/specification/mediaservices/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -```yaml $(go) +```yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: media clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/mediaservices/armmediaservices +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ```yaml $(go) && $(multiapi) diff --git a/specification/mediaservices/resource-manager/readme.md b/specification/mediaservices/resource-manager/readme.md index e176229e2717..28250ed74aab 100644 --- a/specification/mediaservices/resource-manager/readme.md +++ b/specification/mediaservices/resource-manager/readme.md @@ -205,6 +205,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/autoscale_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/autoscale_API.json new file mode 100644 index 000000000000..bb73f6675c83 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/autoscale_API.json @@ -0,0 +1,1091 @@ +{ + "swagger": "2.0", + "info": { + "title": "MonitorManagementClient", + "version": "2021-05-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.Insights/autoscalesettings": { + "get": { + "description": "Lists the autoscale settings for a resource group", + "tags": [ + "AutoscaleSettings" + ], + "operationId": "AutoscaleSettings_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AutoscaleErrorResponse" + } + }, + "200": { + "description": "Successful request for a list of autoscale settings", + "schema": { + "$ref": "#/definitions/AutoscaleSettingResourceCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List autoscale settings": { + "$ref": "./examples/listAutoscaleSetting.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Insights/autoscalesettings/{autoscaleSettingName}": { + "put": { + "description": "Creates or updates an autoscale setting.", + "tags": [ + "AutoscaleSettings" + ], + "operationId": "AutoscaleSettings_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AutoscaleSettingNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AutoscaleSettingResource" + }, + "description": "Parameters supplied to the operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AutoscaleErrorResponse" + } + }, + "200": { + "description": "Successful request to create or update an autoscale setting", + "schema": { + "$ref": "#/definitions/AutoscaleSettingResource" + } + }, + "201": { + "description": "Created autoscale setting", + "schema": { + "$ref": "#/definitions/AutoscaleSettingResource" + } + } + }, + "x-ms-examples": { + "Create or update an autoscale setting": { + "$ref": "./examples/createOrUpdateAutoscaleSetting.json" + } + } + }, + "delete": { + "description": "Deletes and autoscale setting", + "tags": [ + "AutoscaleSettings" + ], + "operationId": "AutoscaleSettings_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AutoscaleSettingNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AutoscaleErrorResponse" + } + }, + "200": { + "description": "Successful request to delete an autoscale setting" + }, + "204": { + "description": "No content: Successful request to delete an autoscale setting, but the response is intentionally empty" + } + }, + "x-ms-examples": { + "Delete an autoscale setting": { + "$ref": "./examples/deleteAutoscaleSetting.json" + } + } + }, + "get": { + "description": "Gets an autoscale setting", + "tags": [ + "AutoscaleSettings" + ], + "operationId": "AutoscaleSettings_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AutoscaleSettingNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AutoscaleErrorResponse" + } + }, + "200": { + "description": "Successful request to get one autoscale setting", + "schema": { + "$ref": "#/definitions/AutoscaleSettingResource" + } + } + }, + "x-ms-examples": { + "Get an autoscale setting": { + "$ref": "./examples/getAutoscaleSetting.json" + } + } + }, + "patch": { + "description": "Updates an existing AutoscaleSettingsResource. To update other fields use the CreateOrUpdate method.", + "operationId": "AutoscaleSettings_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AutoscaleSettingNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "autoscaleSettingResource", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AutoscaleSettingResourcePatch" + }, + "description": "Parameters supplied to the operation." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AutoscaleErrorResponse" + } + }, + "200": { + "description": "An existing autoscale setting resource was successfully updated.", + "schema": { + "$ref": "#/definitions/AutoscaleSettingResource" + } + } + }, + "x-ms-examples": { + "Patch an autoscale setting": { + "$ref": "./examples/patchAutoscaleSetting.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Insights/autoscalesettings/{autoscaleSettingName}/predictiveMetrics": { + "get": { + "tags": [ + "Metrics" + ], + "operationId": "PredictiveMetric_Get", + "description": "get predictive autoscale metric future data", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AutoscaleSettingNameParameter" + }, + { + "$ref": "#/parameters/TimespanParameter" + }, + { + "$ref": "#/parameters/IntervalParameter" + }, + { + "$ref": "#/parameters/MetricNamespaceParameter" + }, + { + "$ref": "#/parameters/MetricNamesParameter" + }, + { + "$ref": "#/parameters/AggregationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AutoscaleErrorResponse" + } + }, + "200": { + "description": "Successful request to get the list of metric values.", + "schema": { + "$ref": "#/definitions/PredictiveResponse" + } + } + }, + "x-ms-examples": { + "Get Metric for data": { + "$ref": "./examples/GetPredictiveMetric.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/autoscalesettings": { + "get": { + "description": "Lists the autoscale settings for a subscription", + "tags": [ + "AutoscaleSettings" + ], + "operationId": "AutoscaleSettings_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AutoscaleErrorResponse" + } + }, + "200": { + "description": "Successful request for a list of autoscale settings", + "schema": { + "$ref": "#/definitions/AutoscaleSettingResourceCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List autoscale settings by subs": { + "$ref": "./examples/listAutoscaleSettingBySubscription.json" + } + } + } + } + }, + "definitions": { + "ScaleCapacity": { + "type": "object", + "required": [ + "minimum", + "maximum", + "default" + ], + "properties": { + "minimum": { + "type": "string", + "description": "the minimum number of instances for the resource." + }, + "maximum": { + "type": "string", + "description": "the maximum number of instances for the resource. The actual maximum number of instances is limited by the cores that are available in the subscription." + }, + "default": { + "type": "string", + "description": "the number of instances that will be set if metrics are not available for evaluation. The default is only used if the current instance count is lower than the default." + } + }, + "description": "The number of instances that can be used during this profile." + }, + "MetricTrigger": { + "type": "object", + "required": [ + "metricName", + "metricResourceUri", + "timeGrain", + "statistic", + "timeWindow", + "timeAggregation", + "operator", + "threshold" + ], + "properties": { + "metricName": { + "type": "string", + "description": "the name of the metric that defines what the rule monitors." + }, + "metricNamespace": { + "type": "string", + "description": "the namespace of the metric that defines what the rule monitors." + }, + "metricResourceUri": { + "type": "string", + "description": "the resource identifier of the resource the rule monitors." + }, + "metricResourceLocation": { + "type": "string", + "description": "the location of the resource the rule monitors." + }, + "timeGrain": { + "type": "string", + "format": "duration", + "description": "the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric definitions for the metric. Must be between 12 hours and 1 minute." + }, + "statistic": { + "type": "string", + "description": "the metric statistic type. How the metrics from multiple instances are combined.", + "enum": [ + "Average", + "Min", + "Max", + "Sum", + "Count" + ], + "x-ms-enum": { + "name": "MetricStatisticType", + "modelAsString": false + } + }, + "timeWindow": { + "type": "string", + "format": "duration", + "description": "the range of time in which instance data is collected. This value must be greater than the delay in metric collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes." + }, + "timeAggregation": { + "type": "string", + "description": "time aggregation type. How the data that is collected should be combined over time. The default value is Average.", + "enum": [ + "Average", + "Minimum", + "Maximum", + "Total", + "Count", + "Last" + ], + "x-ms-enum": { + "name": "TimeAggregationType", + "modelAsString": false + } + }, + "operator": { + "type": "string", + "description": "the operator that is used to compare the metric data and the threshold.", + "enum": [ + "Equals", + "NotEquals", + "GreaterThan", + "GreaterThanOrEqual", + "LessThan", + "LessThanOrEqual" + ], + "x-ms-enum": { + "name": "ComparisonOperationType", + "modelAsString": false + } + }, + "threshold": { + "type": "number", + "format": "double", + "description": "the threshold of the metric that triggers the scale action." + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleMetricDimension" + }, + "description": "List of dimension conditions. For example: [{\"DimensionName\":\"AppName\",\"Operator\":\"Equals\",\"Values\":[\"App1\"]},{\"DimensionName\":\"Deployment\",\"Operator\":\"Equals\",\"Values\":[\"default\"]}]." + }, + "dividePerInstance": { + "type": "boolean", + "description": "a value indicating whether metric should divide per instance." + } + }, + "description": "The trigger that results in a scaling action." + }, + "ScaleAction": { + "type": "object", + "required": [ + "direction", + "type", + "cooldown" + ], + "properties": { + "direction": { + "type": "string", + "description": "the scale direction. Whether the scaling action increases or decreases the number of instances.", + "enum": [ + "None", + "Increase", + "Decrease" + ], + "x-ms-enum": { + "name": "ScaleDirection", + "modelAsString": false + } + }, + "type": { + "type": "string", + "description": "the type of action that should occur when the scale rule fires.", + "enum": [ + "ChangeCount", + "PercentChangeCount", + "ExactCount", + "ServiceAllowedNextValue" + ], + "x-ms-enum": { + "name": "ScaleType", + "modelAsString": false + } + }, + "value": { + "type": "string", + "description": "the number of instances that are involved in the scaling action. This value must be 1 or greater. The default value is 1.", + "default": "1" + }, + "cooldown": { + "type": "string", + "format": "duration", + "description": "the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week and 1 minute in ISO 8601 format." + } + }, + "description": "The parameters for the scaling action." + }, + "ScaleRule": { + "type": "object", + "required": [ + "scaleAction", + "metricTrigger" + ], + "properties": { + "metricTrigger": { + "$ref": "#/definitions/MetricTrigger", + "description": "the trigger that results in a scaling action." + }, + "scaleAction": { + "$ref": "#/definitions/ScaleAction", + "description": "the parameters for the scaling action." + } + }, + "description": "A rule that provide the triggers and parameters for the scaling action." + }, + "TimeWindow": { + "type": "object", + "properties": { + "timeZone": { + "type": "string", + "description": "the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time" + }, + "start": { + "type": "string", + "format": "date-time", + "description": "the start time for the profile in ISO 8601 format." + }, + "end": { + "type": "string", + "format": "date-time", + "description": "the end time for the profile in ISO 8601 format." + } + }, + "required": [ + "start", + "end" + ], + "description": "A specific date-time for the profile." + }, + "RecurrentSchedule": { + "type": "object", + "required": [ + "timeZone", + "days", + "hours", + "minutes" + ], + "properties": { + "timeZone": { + "type": "string", + "description": "the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time" + }, + "days": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the collection of days that the profile takes effect on. Possible values are Sunday through Saturday." + }, + "hours": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM times are not supported)." + }, + "minutes": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "A collection of minutes at which the profile takes effect at." + } + }, + "description": "The scheduling constraints for when the profile begins." + }, + "Recurrence": { + "type": "object", + "required": [ + "frequency", + "schedule" + ], + "properties": { + "frequency": { + "type": "string", + "description": "the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles. For example, to set a daily schedule, set **schedule** to every day of the week. The frequency property specifies that the schedule is repeated weekly.", + "enum": [ + "None", + "Second", + "Minute", + "Hour", + "Day", + "Week", + "Month", + "Year" + ], + "x-ms-enum": { + "name": "RecurrenceFrequency", + "modelAsString": false + } + }, + "schedule": { + "$ref": "#/definitions/RecurrentSchedule", + "description": "the scheduling constraints for when the profile begins." + } + }, + "description": "The repeating times at which this profile begins. This element is not used if the FixedDate element is used." + }, + "AutoscaleProfile": { + "type": "object", + "required": [ + "rules", + "name", + "capacity" + ], + "properties": { + "name": { + "type": "string", + "description": "the name of the profile." + }, + "capacity": { + "$ref": "#/definitions/ScaleCapacity", + "description": "the number of instances that can be used during this profile." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRule" + }, + "description": "the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules can be specified." + }, + "fixedDate": { + "$ref": "#/definitions/TimeWindow", + "description": "the specific date-time for the profile. This element is not used if the Recurrence element is used." + }, + "recurrence": { + "$ref": "#/definitions/Recurrence", + "description": "the repeating times at which this profile begins. This element is not used if the FixedDate element is used." + } + }, + "description": "Autoscale profile." + }, + "PredictiveAutoscalePolicy": { + "type": "object", + "required": [ + "scaleMode" + ], + "properties": { + "scaleMode": { + "type": "string", + "description": "the predictive autoscale mode", + "enum": [ + "Disabled", + "ForecastOnly", + "Enabled" + ], + "x-ms-enum": { + "name": "PredictiveAutoscalePolicyScaleMode", + "modelAsString": false + } + }, + "scaleLookAheadTime": { + "type": "string", + "format": "duration", + "description": "the amount of time to specify by which instances are launched in advance. It must be between 1 minute and 60 minutes in ISO 8601 format." + } + }, + "description": "The parameters for enabling predictive autoscale." + }, + "EmailNotification": { + "type": "object", + "properties": { + "sendToSubscriptionAdministrator": { + "type": "boolean", + "description": "a value indicating whether to send email to subscription administrator.", + "default": false + }, + "sendToSubscriptionCoAdministrators": { + "type": "boolean", + "description": "a value indicating whether to send email to subscription co-administrators.", + "default": false + }, + "customEmails": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored." + } + }, + "description": "Email notification of an autoscale event." + }, + "WebhookNotification": { + "type": "object", + "properties": { + "serviceUri": { + "type": "string", + "description": "the service address to receive the notification." + }, + "properties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "a property bag of settings. This value can be empty." + } + }, + "description": "Webhook notification of an autoscale event." + }, + "AutoscaleNotification": { + "type": "object", + "required": [ + "operation" + ], + "properties": { + "operation": { + "type": "string", + "description": "the operation associated with the notification and its value must be \"scale\"", + "enum": [ + "Scale" + ], + "x-ms-enum": { + "name": "OperationType", + "modelAsString": false + } + }, + "email": { + "$ref": "#/definitions/EmailNotification", + "description": "the email notification." + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/WebhookNotification" + }, + "description": "the collection of webhook notifications." + } + }, + "description": "Autoscale notification." + }, + "AutoscaleSetting": { + "type": "object", + "required": [ + "profiles" + ], + "properties": { + "profiles": { + "type": "array", + "maxItems": 20, + "items": { + "$ref": "#/definitions/AutoscaleProfile" + }, + "description": "the collection of automatic scaling profiles that specify different scaling parameters for different time periods. A maximum of 20 profiles can be specified." + }, + "notifications": { + "type": "array", + "items": { + "$ref": "#/definitions/AutoscaleNotification" + }, + "description": "the collection of notifications." + }, + "enabled": { + "type": "boolean", + "description": "the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is 'true'.", + "default": true + }, + "predictiveAutoscalePolicy": { + "$ref": "#/definitions/PredictiveAutoscalePolicy", + "description": "the predictive autoscale policy mode." + }, + "name": { + "type": "string", + "description": "the name of the autoscale setting." + }, + "targetResourceUri": { + "type": "string", + "description": "the resource identifier of the resource that the autoscale setting should be added to." + }, + "targetResourceLocation": { + "type": "string", + "description": "the location of the resource that the autoscale setting should be added to." + } + }, + "description": "A setting that contains all of the configuration for the automatic scaling of a resource." + }, + "AutoscaleSettingResource": { + "type": "object", + "required": [ + "location", + "properties" + ], + "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": { + "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." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AutoscaleSetting", + "description": "The autoscale setting of the resource." + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to the response.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "x-ms-azure-resource": true, + "description": "The autoscale setting resource." + }, + "AutoscaleSettingResourcePatch": { + "type": "object", + "description": "The autoscale setting object for patch operations.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AutoscaleSetting", + "description": "The autoscale setting properties of the update operation." + } + } + }, + "AutoscaleSettingResourceCollection": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AutoscaleSettingResource" + }, + "description": "the values for the autoscale setting resources." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "required": [ + "value" + ], + "description": "Represents a collection of autoscale setting resources." + }, + "AutoscaleErrorResponse": { + "description": "Describes the format of Error response.", + "type": "object", + "properties": { + "error": { + "type": "object", + "description": "The error object.", + "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": "A human-readable representation of the error's details.", + "type": "string" + } + } + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to the response.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "ScaleRuleMetricDimension": { + "type": "object", + "required": [ + "DimensionName", + "Operator", + "Values" + ], + "properties": { + "DimensionName": { + "type": "string", + "description": "Name of the dimension." + }, + "Operator": { + "type": "string", + "description": "the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the values. 'NotEquals' being not equal to all of the values", + "enum": [ + "Equals", + "NotEquals" + ], + "x-ms-enum": { + "name": "ScaleRuleMetricDimensionOperationType", + "modelAsString": true + } + }, + "Values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "list of dimension values. For example: [\"App1\",\"App2\"]." + } + }, + "description": "Specifies an auto scale rule metric dimension." + }, + "PredictiveResponse": { + "type": "object", + "properties": { + "timespan": { + "type": "string", + "description": "The timespan for which the data was retrieved. Its value consists of two datetimes concatenated, separated by '/'. This may be adjusted in the future and returned back from what was originally requested." + }, + "interval": { + "type": "string", + "format": "duration", + "description": "The interval (window size) for which the metric data was returned in. This may be adjusted in the future and returned back from what was originally requested. This is not present if a metadata request was made." + }, + "metricName": { + "type": "string", + "description": "The metrics being queried" + }, + "targetResourceId": { + "type": "string", + "description": "resource of the predictive metric." + }, + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/PredictiveValue" + }, + "description": "the value of the collection." + } + }, + "description": "The response to a metrics query." + }, + "PredictiveValue": { + "type": "object", + "required": [ + "timeStamp", + "value" + ], + "properties": { + "timeStamp": { + "type": "string", + "format": "date-time", + "description": "the timestamp for the metric value in ISO 8601 format." + }, + "value": { + "type": "number", + "format": "double", + "description": "Predictive value in this time bucket." + } + }, + "description": "Represents a predictive metric value in the given bucket." + } + }, + "parameters": { + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "AutoscaleSettingNameParameter": { + "name": "autoscaleSettingName", + "in": "path", + "required": true, + "type": "string", + "description": "The autoscale setting name.", + "x-ms-parameter-location": "method" + }, + "TimespanParameter": { + "name": "timespan", + "in": "query", + "required": true, + "type": "string", + "description": "The timespan of the query. It is a string with the following format 'startDateTime_ISO/endDateTime_ISO'.", + "x-ms-parameter-location": "method" + }, + "IntervalParameter": { + "name": "interval", + "in": "query", + "required": true, + "type": "string", + "format": "duration", + "description": "The interval (i.e. timegrain) of the query.", + "x-ms-parameter-location": "method" + }, + "MetricNamesParameter": { + "name": "metricName", + "in": "query", + "required": true, + "type": "string", + "description": "The names of the metrics (comma separated) to retrieve. Special case: If a metricname itself has a comma in it then use %2 to indicate it. Eg: 'Metric,Name1' should be **'Metric%2Name1'**", + "x-ms-parameter-location": "method" + }, + "AggregationParameter": { + "name": "aggregation", + "in": "query", + "required": true, + "type": "string", + "description": "The list of aggregation types (comma separated) to retrieve.", + "x-ms-parameter-location": "method" + }, + "MetricNamespaceParameter": { + "name": "metricNamespace", + "in": "query", + "required": true, + "type": "string", + "description": "Metric namespace to query metric definitions for.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettings_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettings_API.json index 5489b5fb0239..3f1bcaa24c9f 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettings_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettings_API.json @@ -71,6 +71,9 @@ "x-ms-examples": { "Gets the diagnostic setting": { "$ref": "./examples/getDiagnosticSetting.json" + }, + "Gets the diagnostic setting for category": { + "$ref": "./examples/getDiagnosticSettingCategory.json" } } }, @@ -117,6 +120,9 @@ "x-ms-examples": { "Creates or Updates the diagnostic setting": { "$ref": "./examples/createOrUpdateDiagnosticSetting.json" + }, + "Creates or Updates the diagnostic setting for category": { + "$ref": "./examples/createOrUpdateDiagnosticSettingCategory.json" } } }, @@ -193,6 +199,9 @@ "x-ms-examples": { "Gets the diagnostic setting": { "$ref": "./examples/listDiagnosticSettings.json" + }, + "Gets the diagnostic setting for category": { + "$ref": "./examples/listDiagnosticSettingsCategory.json" } } } diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/GetPredictiveMetric.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/GetPredictiveMetric.json new file mode 100644 index 000000000000..165be02c8a0c --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/GetPredictiveMetric.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myRG", + "autoscaleSettingName": "vmss1-Autoscale-775", + "timespan": "2021-10-14T22:00:00.000Z/2021-10-16T22:00:00.000Z", + "metricNamespace": "Microsoft.Compute/virtualMachineScaleSets", + "metricName": "PercentageCPU", + "aggregation": "Total", + "interval": "PT1H", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "timespan": "2021-10-14T22:00:00.000Z/2021-10-16T22:00:00.000Z", + "interval": "PT1H", + "metricName": "PercentageCPU", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1", + "data": [ + { + "timeStamp": "2021-10-14T22:00:00Z", + "value": 123.0 + }, + { + "timeStamp": "2021-10-14T22:02:00Z", + "value": 120.0 + }, + { + "timeStamp": "2021-10-14T22:02:00Z", + "value": 88.0 + }, + { + "timeStamp": "2021-10-14T22:03:00Z", + "value": 100.0 + } + ] + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/createOrUpdateAutoscaleSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/createOrUpdateAutoscaleSetting.json new file mode 100644 index 000000000000..e35e20a4db7d --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/createOrUpdateAutoscaleSetting.json @@ -0,0 +1,479 @@ +{ + "parameters": { + "subscriptionId": "b67f7fec-69fc-4974-9099-a26bd6ffeda3", + "resourceGroupName": "TestingMetricsScaleSet", + "autoscaleSettingName": "MySetting", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "West US", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "profiles": [ + { + "name": "adios", + "capacity": { + "minimum": "1", + "maximum": "10", + "default": "1" + }, + "rules": [ + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT1M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 10.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Increase", + "type": "ChangeCount", + "value": "1", + "cooldown": "PT5M" + } + }, + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT2M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 15.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Decrease", + "type": "ChangeCount", + "value": "2", + "cooldown": "PT6M" + } + } + ], + "fixedDate": { + "timeZone": "UTC", + "start": "2015-03-05T14:00:00Z", + "end": "2015-03-05T14:30:00Z" + } + }, + { + "name": "saludos", + "capacity": { + "minimum": "1", + "maximum": "10", + "default": "1" + }, + "rules": [ + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT1M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 10.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Increase", + "type": "ChangeCount", + "value": "1", + "cooldown": "PT5M" + } + }, + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT2M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 15.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Decrease", + "type": "ChangeCount", + "value": "2", + "cooldown": "PT6M" + } + } + ], + "recurrence": { + "frequency": "Week", + "schedule": { + "timeZone": "UTC", + "days": [ + "1" + ], + "hours": [ + 5 + ], + "minutes": [ + 15 + ] + } + } + } + ], + "enabled": true, + "predictiveAutoscalePolicy": { + "scaleMode": "Enabled" + }, + "targetResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "notifications": [ + { + "operation": "Scale", + "email": { + "sendToSubscriptionAdministrator": true, + "sendToSubscriptionCoAdministrators": true, + "customEmails": [ + "gu@ms.com", + "ge@ns.net" + ] + }, + "webhooks": [ + { + "serviceUri": "http://myservice.com", + "properties": {} + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/microsoft.insights/autoscalesettings/MySetting", + "name": "MySetting", + "type": "Microsoft.Insights/autoscaleSettings", + "location": "West US", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "profiles": [ + { + "name": "adios", + "capacity": { + "minimum": "1", + "maximum": "10", + "default": "1" + }, + "rules": [ + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT1M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 10.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Increase", + "type": "ChangeCount", + "value": "1", + "cooldown": "PT5M" + } + }, + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT2M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 15.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Decrease", + "type": "ChangeCount", + "value": "2", + "cooldown": "PT6M" + } + } + ], + "fixedDate": { + "timeZone": "UTC", + "start": "2015-03-05T14:00:00Z", + "end": "2015-03-05T14:30:00Z" + } + }, + { + "name": "saludos", + "capacity": { + "minimum": "1", + "maximum": "10", + "default": "1" + }, + "rules": [ + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT1M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 10.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Increase", + "type": "ChangeCount", + "value": "1", + "cooldown": "PT5M" + } + }, + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT2M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 15.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Decrease", + "type": "ChangeCount", + "value": "2", + "cooldown": "PT6M" + } + } + ], + "recurrence": { + "frequency": "Week", + "schedule": { + "timeZone": "UTC", + "days": [ + "1" + ], + "hours": [ + 5 + ], + "minutes": [ + 15 + ] + } + } + } + ], + "enabled": true, + "name": "MySetting", + "targetResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "predictiveAutoscalePolicy": { + "scaleMode": "Enabled", + "scaleLookAheadTime": null + }, + "notifications": [ + { + "operation": "Scale", + "email": { + "sendToSubscriptionAdministrator": true, + "sendToSubscriptionCoAdministrators": true, + "customEmails": [ + "gu@ms.com", + "ge@ns.net" + ] + }, + "webhooks": [ + { + "serviceUri": "http://myservice.com", + "properties": {} + } + ] + } + ] + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/microsoft.insights/autoscalesettings/MySetting", + "name": "MySetting", + "type": "Microsoft.Insights/autoscaleSettings", + "location": "West US", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "profiles": [ + { + "name": "adios", + "capacity": { + "minimum": "1", + "maximum": "10", + "default": "1" + }, + "rules": [ + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT1M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 10.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Increase", + "type": "ChangeCount", + "value": "1", + "cooldown": "PT5M" + } + }, + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT2M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 15.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Decrease", + "type": "ChangeCount", + "value": "2", + "cooldown": "PT6M" + } + } + ], + "fixedDate": { + "timeZone": "UTC", + "start": "2015-03-05T14:00:00Z", + "end": "2015-03-05T14:30:00Z" + } + }, + { + "name": "saludos", + "capacity": { + "minimum": "1", + "maximum": "10", + "default": "1" + }, + "rules": [ + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT1M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 10.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Increase", + "type": "ChangeCount", + "value": "1", + "cooldown": "PT5M" + } + }, + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT2M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 15.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Decrease", + "type": "ChangeCount", + "value": "2", + "cooldown": "PT6M" + } + } + ], + "recurrence": { + "frequency": "Week", + "schedule": { + "timeZone": "UTC", + "days": [ + "1" + ], + "hours": [ + 5 + ], + "minutes": [ + 15 + ] + } + } + } + ], + "enabled": true, + "name": "MySetting", + "targetResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "predictiveAutoscalePolicy": { + "scaleMode": "Enabled", + "scaleLookAheadTime": null + }, + "notifications": [ + { + "operation": "Scale", + "email": { + "sendToSubscriptionAdministrator": true, + "sendToSubscriptionCoAdministrators": true, + "customEmails": [ + "gu@ms.com", + "ge@ns.net" + ] + }, + "webhooks": [ + { + "serviceUri": "http://myservice.com", + "properties": {} + } + ] + } + ] + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/createOrUpdateDiagnosticSettingCategory.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/createOrUpdateDiagnosticSettingCategory.json new file mode 100644 index 000000000000..ab7513727bef --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/createOrUpdateDiagnosticSettingCategory.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "resourceUri": "subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourcegroups/viruela1/providers/microsoft.logic/workflows/viruela6", + "name": "mysetting", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "storageAccountId": "/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1", + "workspaceId": "", + "eventHubAuthorizationRuleId": "/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule", + "eventHubName": "myeventhub", + "marketplacePartnerId": "/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1", + "metrics": [ + { + "category": "WorkflowMetrics", + "enabled": true, + "retentionPolicy": { + "enabled": false, + "days": 0 + } + } + ], + "logs": [ + { + "category": "WorkflowRuntime", + "enabled": true, + "retentionPolicy": { + "enabled": false, + "days": 0 + } + } + ], + "logAnalyticsDestinationType": "Dedicated" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourcegroups/viruela1/providers/microsoft.logic/workflows/viruela6/diagnosticSettings/mysetting", + "type": "", + "name": "mysetting", + "properties": { + "storageAccountId": "/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1", + "workspaceId": "", + "eventHubAuthorizationRuleId": "/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule", + "eventHubName": "myeventhub", + "marketplacePartnerId": "/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1", + "metrics": [ + { + "category": "WorkflowMetrics", + "enabled": true, + "retentionPolicy": { + "enabled": false, + "days": 0 + } + } + ], + "logs": [ + { + "category": "WorkflowRuntime", + "enabled": true, + "retentionPolicy": { + "enabled": false, + "days": 0 + } + } + ], + "logAnalyticsDestinationType": "Dedicated" + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/createOrUpdateManagementGroupDiagnosticSettingCategory.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/createOrUpdateManagementGroupDiagnosticSettingCategory.json new file mode 100644 index 000000000000..20ab6f1bde88 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/createOrUpdateManagementGroupDiagnosticSettingCategory.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "managementGroupId": "testChildMG7", + "name": "setting1", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "storageAccountId": "/subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5", + "workspaceId": "/subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace", + "eventHubAuthorizationRuleId": "/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule", + "eventHubName": "myeventhub", + "marketplacePartnerId": "/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1", + "logs": [ + { + "category": "Administrative", + "enabled": true + }, + { + "category": "Policy", + "enabled": true + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "providers/Microsoft.Management/managementGroups/testChildMG7/providers/microsoft.insights/diagnosticSettings/setting1", + "type": "Microsoft.Insights/diagnosticSettings", + "name": "setting1", + "properties": { + "storageAccountId": "/subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5", + "workspaceId": "/subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace", + "eventHubAuthorizationRuleId": "/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule", + "marketplacePartnerId": "/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1", + "logs": [ + { + "category": "Administrative", + "enabled": true + }, + { + "category": "Policy", + "enabled": true + } + ] + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/createOrUpdateSubscriptionDiagnosticSettingCategory.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/createOrUpdateSubscriptionDiagnosticSettingCategory.json new file mode 100644 index 000000000000..8a02930abb8a --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/createOrUpdateSubscriptionDiagnosticSettingCategory.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "fb9f25f9-5785-4510-a38f-a62f188eb9f8", + "name": "ds4", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "storageAccountId": "/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1", + "workspaceId": "", + "eventHubAuthorizationRuleId": "/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule", + "eventHubName": "myeventhub", + "marketplacePartnerId": "/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1", + "logs": [ + { + "category": "Security", + "enabled": true + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/providers/AzureResourceManager/diagnosticSettings/ds4", + "type": null, + "name": "ds4", + "properties": { + "storageAccountId": "/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1", + "workspaceId": "/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/apptest/providers/Microsoft.OperationalInsights/workspaces/test1", + "eventHubAuthorizationRuleId": "/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/apptest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule", + "marketplacePartnerId": "/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1", + "logs": [ + { + "category": "Security", + "enabled": true + }, + { + "category": "Administrative", + "enabled": true + }, + { + "category": "ServiceHealth", + "enabled": true + }, + { + "category": "Alert", + "enabled": true + }, + { + "category": "Recommendation", + "enabled": true + }, + { + "category": "Policy", + "enabled": true + }, + { + "category": "Autoscale", + "enabled": true + }, + { + "category": "ResourceHealth", + "enabled": true + } + ] + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/deleteAutoscaleSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/deleteAutoscaleSetting.json new file mode 100644 index 000000000000..59857126e096 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/deleteAutoscaleSetting.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "b67f7fec-69fc-4974-9099-a26bd6ffeda3", + "resourceGroupName": "TestingMetricsScaleSet", + "autoscaleSettingName": "MySetting", + "api-version": "2021-05-01-prevew" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/getAutoscaleSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/getAutoscaleSetting.json new file mode 100644 index 000000000000..f09114031abc --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/getAutoscaleSetting.json @@ -0,0 +1,167 @@ +{ + "parameters": { + "subscriptionId": "b67f7fec-69fc-4974-9099-a26bd6ffeda3", + "resourceGroupName": "TestingMetricsScaleSet", + "autoscaleSettingName": "MySetting", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/microsoft.insights/autoscalesettings/MySetting", + "name": "MySetting", + "type": "Microsoft.Insights/autoscaleSettings", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "profiles": [ + { + "name": "adios", + "capacity": { + "minimum": "1", + "maximum": "10", + "default": "1" + }, + "rules": [ + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT1M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 10.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Increase", + "type": "ChangeCount", + "value": "1", + "cooldown": "PT5M" + } + }, + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT2M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 15.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Decrease", + "type": "ChangeCount", + "value": "2", + "cooldown": "PT6M" + } + } + ], + "fixedDate": { + "timeZone": "UTC", + "start": "2015-03-05T14:00:00Z", + "end": "2015-03-05T14:30:00Z" + } + }, + { + "name": "saludos", + "capacity": { + "minimum": "1", + "maximum": "10", + "default": "1" + }, + "rules": [ + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT1M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 10.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Increase", + "type": "ChangeCount", + "value": "1", + "cooldown": "PT5M" + } + }, + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT2M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 15.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Decrease", + "type": "ChangeCount", + "value": "2", + "cooldown": "PT6M" + } + } + ], + "recurrence": { + "frequency": "Week", + "schedule": { + "timeZone": "UTC", + "days": [ + "1" + ], + "hours": [ + 5 + ], + "minutes": [ + 15 + ] + } + } + } + ], + "enabled": true, + "predictiveAutoscalePolicy": { + "scaleMode": "Enabled" + }, + "name": "MySetting", + "targetResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "notifications": [ + { + "operation": "Scale", + "email": { + "sendToSubscriptionAdministrator": true, + "sendToSubscriptionCoAdministrators": true, + "customEmails": [ + "gu@ms.com", + "ge@ns.net" + ] + }, + "webhooks": [ + { + "serviceUri": "http://myservice.com", + "properties": {} + } + ] + } + ] + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/getDiagnosticSettingCategory.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/getDiagnosticSettingCategory.json new file mode 100644 index 000000000000..9f37c9256e0d --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/getDiagnosticSettingCategory.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "resourceUri": "subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourcegroups/viruela1/providers/microsoft.logic/workflows/viruela6", + "name": "mysetting", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourcegroups/viruela1/providers/microsoft.logic/workflows/viruela6/diagnosticSettings/service", + "type": "", + "name": "mysetting", + "properties": { + "storageAccountId": "/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1", + "workspaceId": "", + "eventHubAuthorizationRuleId": "/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule", + "marketplacePartnerId": "/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1", + "metrics": [ + { + "category": "WorkflowMetrics", + "enabled": true, + "retentionPolicy": { + "enabled": false, + "days": 0 + } + } + ], + "logs": [ + { + "category": "WorkflowRuntime", + "enabled": true, + "retentionPolicy": { + "enabled": false, + "days": 0 + } + } + ] + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/getManagementGroupDiagnosticSettingCategory.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/getManagementGroupDiagnosticSettingCategory.json new file mode 100644 index 000000000000..1f45eaed0733 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/getManagementGroupDiagnosticSettingCategory.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "managementGroupId": "testChildMG7", + "name": "setting1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "providers/Microsoft.Management/managementGroups/testChildMG7/providers/microsoft.insights/diagnosticSettings/setting1", + "type": "Microsoft.Insights/diagnosticSettings", + "name": "setting1", + "properties": { + "storageAccountId": "/subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5", + "workspaceId": "/subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace", + "eventHubAuthorizationRuleId": "/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule", + "marketplacePartnerId": "/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1", + "logs": [ + { + "category": "Administrative", + "enabled": true + }, + { + "category": "Policy", + "enabled": true + } + ] + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/getSubscriptionDiagnosticSettingCategory.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/getSubscriptionDiagnosticSettingCategory.json new file mode 100644 index 000000000000..6732d928816e --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/getSubscriptionDiagnosticSettingCategory.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "fb9f25f9-5785-4510-a38f-a62f188eb9f8", + "name": "mysetting", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/providers/AzureResourceManager/diagnosticSettings/ds4", + "type": null, + "name": "ds4", + "properties": { + "storageAccountId": "/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1", + "workspaceId": "/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/apptest/providers/Microsoft.OperationalInsights/workspaces/test1", + "eventHubAuthorizationRuleId": "/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/apptest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule", + "marketplacePartnerId": "/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1", + "logs": [ + { + "category": "Security", + "enabled": true + }, + { + "category": "Administrative", + "enabled": true + }, + { + "category": "ServiceHealth", + "enabled": true + }, + { + "category": "Alert", + "enabled": true + }, + { + "category": "Recommendation", + "enabled": true + }, + { + "category": "Policy", + "enabled": true + }, + { + "category": "Autoscale", + "enabled": true + }, + { + "category": "ResourceHealth", + "enabled": true + } + ] + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/listAutoscaleSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/listAutoscaleSetting.json new file mode 100644 index 000000000000..7d61272544f6 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/listAutoscaleSetting.json @@ -0,0 +1,172 @@ +{ + "parameters": { + "subscriptionId": "b67f7fec-69fc-4974-9099-a26bd6ffeda3", + "resourceGroupName": "TestingMetricsScaleSet", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/microsoft.insights/autoscalesettings/MySetting", + "name": "MySetting", + "type": "Microsoft.Insights/autoscaleSettings", + "location": "West US", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "profiles": [ + { + "name": "adios", + "capacity": { + "minimum": "1", + "maximum": "10", + "default": "1" + }, + "rules": [ + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT1M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 10.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Increase", + "type": "ChangeCount", + "value": "1", + "cooldown": "PT5M" + } + }, + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT2M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 15.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Decrease", + "type": "ChangeCount", + "value": "2", + "cooldown": "PT6M" + } + } + ], + "fixedDate": { + "timeZone": "UTC", + "start": "2015-03-05T14:00:00Z", + "end": "2015-03-05T14:30:00Z" + } + }, + { + "name": "saludos", + "capacity": { + "minimum": "1", + "maximum": "10", + "default": "1" + }, + "rules": [ + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT1M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 10.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Increase", + "type": "ChangeCount", + "value": "1", + "cooldown": "PT5M" + } + }, + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT2M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 15.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Decrease", + "type": "ChangeCount", + "value": "2", + "cooldown": "PT6M" + } + } + ], + "recurrence": { + "frequency": "Week", + "schedule": { + "timeZone": "UTC", + "days": [ + "1" + ], + "hours": [ + 5 + ], + "minutes": [ + 15 + ] + } + } + } + ], + "enabled": true, + "predictiveAutoscalePolicy": { + "scaleMode": "Enabled" + }, + "name": "MySetting", + "targetResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "notifications": [ + { + "operation": "Scale", + "email": { + "sendToSubscriptionAdministrator": true, + "sendToSubscriptionCoAdministrators": true, + "customEmails": [ + "gu@ms.com", + "ge@ns.net" + ] + }, + "webhooks": [ + { + "serviceUri": "http://myservice.com", + "properties": {} + } + ] + } + ] + } + } + ], + "nextLink": "https://management.azure.com/########-####-####-####-############$skiptoken=######" + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/listAutoscaleSettingBySubscription.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/listAutoscaleSettingBySubscription.json new file mode 100644 index 000000000000..0dbc595ddd9f --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/listAutoscaleSettingBySubscription.json @@ -0,0 +1,170 @@ +{ + "parameters": { + "subscriptionId": "b67f7fec-69fc-4974-9099-a26bd6ffeda3", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/microsoft.insights/autoscalesettings/MySetting", + "name": "MySetting", + "type": "Microsoft.Insights/autoscaleSettings", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "profiles": [ + { + "name": "adios", + "capacity": { + "minimum": "1", + "maximum": "10", + "default": "1" + }, + "rules": [ + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT1M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 10.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Increase", + "type": "ChangeCount", + "value": "1", + "cooldown": "PT5M" + } + }, + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT2M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 15.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Decrease", + "type": "ChangeCount", + "value": "2", + "cooldown": "PT6M" + } + } + ], + "fixedDate": { + "timeZone": "UTC", + "start": "2015-03-05T14:00:00Z", + "end": "2015-03-05T14:30:00Z" + } + }, + { + "name": "saludos", + "capacity": { + "minimum": "1", + "maximum": "10", + "default": "1" + }, + "rules": [ + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT1M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 10.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Increase", + "type": "ChangeCount", + "value": "1", + "cooldown": "PT5M" + } + }, + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT2M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 15.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Decrease", + "type": "ChangeCount", + "value": "2", + "cooldown": "PT6M" + } + } + ], + "recurrence": { + "frequency": "Week", + "schedule": { + "timeZone": "UTC", + "days": [ + "1" + ], + "hours": [ + 5 + ], + "minutes": [ + 15 + ] + } + } + } + ], + "enabled": true, + "predictiveAutoscalePolicy": { + "scaleMode": "Enabled" + }, + "name": "MySetting", + "targetResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "notifications": [ + { + "operation": "Scale", + "email": { + "sendToSubscriptionAdministrator": true, + "sendToSubscriptionCoAdministrators": true, + "customEmails": [ + "gu@ms.com", + "ge@ns.net" + ] + }, + "webhooks": [ + { + "serviceUri": "http://myservice.com", + "properties": {} + } + ] + } + ] + } + } + ], + "nextLink": "https://management.azure.com/########-####-####-####-############$skiptoken=######" + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/listDiagnosticSettingsCategory.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/listDiagnosticSettingsCategory.json new file mode 100644 index 000000000000..a345e235d0ad --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/listDiagnosticSettingsCategory.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceUri": "subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourcegroups/viruela1/providers/microsoft.logic/workflows/viruela6", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourcegroups/viruela1/providers/microsoft.logic/workflows/viruela6/diagnosticSettings/mysetting", + "type": "microsoft.logic/workflows", + "name": "mysetting", + "properties": { + "storageAccountId": "/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1", + "eventHubAuthorizationRuleId": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/andy1101/providers/Microsoft.EventHub/namespaces/andy1101/authorizationrules/RootManageSharedAccessKey", + "workspaceId": "", + "marketplacePartnerId": "/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1", + "metrics": [ + { + "category": "WorkflowMetrics", + "enabled": true, + "retentionPolicy": { + "enabled": false, + "days": 0 + } + } + ], + "logs": [ + { + "category": "WorkflowRuntime", + "enabled": true, + "retentionPolicy": { + "enabled": false, + "days": 0 + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/listManagementGroupDiagnosticSettingsCategory.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/listManagementGroupDiagnosticSettingsCategory.json new file mode 100644 index 000000000000..47105fd50dfd --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/listManagementGroupDiagnosticSettingsCategory.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "managementGroupId": "testChildMG7", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "providers/Microsoft.Management/managementGroups/testChildMG7/providers/microsoft.insights/diagnosticSettings/setting1", + "type": "Microsoft.Insights/diagnosticSettings", + "name": "setting1", + "properties": { + "storageAccountId": "/subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5", + "workspaceId": "/subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace", + "eventHubAuthorizationRuleId": "/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule", + "marketplacePartnerId": "/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1", + "logs": [ + { + "category": "Administrative", + "enabled": true + }, + { + "category": "Policy", + "enabled": true + } + ] + } + } + ] + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/listSubscriptionDiagnosticSettingsCategory.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/listSubscriptionDiagnosticSettingsCategory.json new file mode 100644 index 000000000000..a712bc34750b --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/listSubscriptionDiagnosticSettingsCategory.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "fb9f25f9-5785-4510-a38f-a62f188eb9f8", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/providers/AzureResourceManager/diagnosticSettings/ds4", + "type": null, + "name": "ds4", + "properties": { + "storageAccountId": "/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1", + "workspaceId": "/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/apptest/providers/Microsoft.OperationalInsights/workspaces/test1", + "eventHubAuthorizationRuleId": "/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/apptest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule", + "marketplacePartnerId": "/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1", + "logs": [ + { + "category": "Security", + "enabled": true + }, + { + "category": "Administrative", + "enabled": true + }, + { + "category": "ServiceHealth", + "enabled": true + }, + { + "category": "Alert", + "enabled": true + }, + { + "category": "Recommendation", + "enabled": true + }, + { + "category": "Policy", + "enabled": true + }, + { + "category": "Autoscale", + "enabled": true + }, + { + "category": "ResourceHealth", + "enabled": true + } + ] + } + } + ] + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/patchAutoscaleSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/patchAutoscaleSetting.json new file mode 100644 index 000000000000..88725fb2dbfa --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/examples/patchAutoscaleSetting.json @@ -0,0 +1,317 @@ +{ + "parameters": { + "subscriptionId": "b67f7fec-69fc-4974-9099-a26bd6ffeda3", + "resourceGroupName": "TestingMetricsScaleSet", + "autoscaleSettingName": "MySetting", + "api-version": "2021-05-01-preview", + "autoscaleSettingResource": { + "tags": { + "key1": "value1" + }, + "properties": { + "profiles": [ + { + "name": "adios", + "capacity": { + "minimum": "1", + "maximum": "10", + "default": "1" + }, + "rules": [ + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT1M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 10.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Increase", + "type": "ChangeCount", + "value": "1", + "cooldown": "PT5M" + } + }, + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT2M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 15.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Decrease", + "type": "ChangeCount", + "value": "2", + "cooldown": "PT6M" + } + } + ], + "fixedDate": { + "timeZone": "UTC", + "start": "2015-03-05T14:00:00Z", + "end": "2015-03-05T14:30:00Z" + } + }, + { + "name": "saludos", + "capacity": { + "minimum": "1", + "maximum": "10", + "default": "1" + }, + "rules": [ + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT1M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 10.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Increase", + "type": "ChangeCount", + "value": "1", + "cooldown": "PT5M" + } + }, + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT2M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 15.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Decrease", + "type": "ChangeCount", + "value": "2", + "cooldown": "PT6M" + } + } + ], + "recurrence": { + "frequency": "Week", + "schedule": { + "timeZone": "UTC", + "days": [ + "1" + ], + "hours": [ + 5 + ], + "minutes": [ + 15 + ] + } + } + } + ], + "enabled": true, + "predictiveAutoscalePolicy": { + "scaleMode": "Enabled" + }, + "targetResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "notifications": [ + { + "operation": "Scale", + "email": { + "sendToSubscriptionAdministrator": true, + "sendToSubscriptionCoAdministrators": true, + "customEmails": [ + "gu@ms.com", + "ge@ns.net" + ] + }, + "webhooks": [ + { + "serviceUri": "http://myservice.com", + "properties": {} + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/microsoft.insights/autoscalesettings/MySetting", + "name": "MySetting", + "type": "Microsoft.Insights/autoscaleSettings", + "location": "West US", + "tags": { + "$type": "Microsoft.WindowsAzure.Management.Common.Storage.CasePreservedDictionary" + }, + "properties": { + "profiles": [ + { + "name": "adios", + "capacity": { + "minimum": "1", + "maximum": "10", + "default": "1" + }, + "rules": [ + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT1M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 10.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Increase", + "type": "ChangeCount", + "value": "1", + "cooldown": "PT5M" + } + }, + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT2M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 15.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Decrease", + "type": "ChangeCount", + "value": "2", + "cooldown": "PT6M" + } + } + ], + "fixedDate": { + "timeZone": "UTC", + "start": "2015-03-05T14:00:00Z", + "end": "2015-03-05T14:30:00Z" + } + }, + { + "name": "saludos", + "capacity": { + "minimum": "1", + "maximum": "10", + "default": "1" + }, + "rules": [ + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT1M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 10.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Increase", + "type": "ChangeCount", + "value": "1", + "cooldown": "PT5M" + } + }, + { + "metricTrigger": { + "metricName": "Percentage CPU", + "metricResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "timeGrain": "PT2M", + "statistic": "Average", + "timeWindow": "PT5M", + "timeAggregation": "Average", + "operator": "GreaterThan", + "threshold": 15.0, + "dividePerInstance": false + }, + "scaleAction": { + "direction": "Decrease", + "type": "ChangeCount", + "value": "2", + "cooldown": "PT6M" + } + } + ], + "recurrence": { + "frequency": "Week", + "schedule": { + "timeZone": "UTC", + "days": [ + "1" + ], + "hours": [ + 5 + ], + "minutes": [ + 15 + ] + } + } + } + ], + "enabled": true, + "name": "MySetting", + "targetResourceUri": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc", + "predictiveAutoscalePolicy": { + "scaleMode": "Enabled", + "scaleLookAheadTime": null + }, + "notifications": [ + { + "operation": "Scale", + "email": { + "sendToSubscriptionAdministrator": true, + "sendToSubscriptionCoAdministrators": true, + "customEmails": [ + "gu@ms.com", + "ge@ns.net" + ] + }, + "webhooks": [ + { + "serviceUri": "http://myservice.com", + "properties": {} + } + ] + } + ] + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/managementGroupDiagnosticSettings_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/managementGroupDiagnosticSettings_API.json index f71244209936..7ed04076dbcd 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/managementGroupDiagnosticSettings_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/managementGroupDiagnosticSettings_API.json @@ -71,6 +71,9 @@ "x-ms-examples": { "Gets the management group diagnostic setting": { "$ref": "./examples/getManagementGroupDiagnosticSetting.json" + }, + "Gets the management group diagnostic setting for category": { + "$ref": "./examples/getManagementGroupDiagnosticSettingCategory.json" } } }, @@ -117,6 +120,9 @@ "x-ms-examples": { "Creates or Updates the management group diagnostic setting": { "$ref": "./examples/createOrUpdateManagementGroupDiagnosticSetting.json" + }, + "Creates or Updates the management group diagnostic setting for category": { + "$ref": "./examples/createOrUpdateManagementGroupDiagnosticSettingCategory.json" } } }, @@ -193,6 +199,9 @@ "x-ms-examples": { "Gets the management group diagnostic setting": { "$ref": "./examples/listManagementGroupDiagnosticSettings.json" + }, + "Gets the management group diagnostic setting for category": { + "$ref": "./examples/listManagementGroupDiagnosticSettingsCategory.json" } } } diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/subscriptionDiagnosticsSettings_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/subscriptionDiagnosticsSettings_API.json index 7d0532a7a0f4..af49be8aa85f 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/subscriptionDiagnosticsSettings_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/subscriptionDiagnosticsSettings_API.json @@ -71,6 +71,9 @@ "x-ms-examples": { "Gets the subscription diagnostic setting": { "$ref": "./examples/getSubscriptionDiagnosticSetting.json" + }, + "Gets the subscription diagnostic setting for category": { + "$ref": "./examples/getSubscriptionDiagnosticSettingCategory.json" } } }, @@ -117,6 +120,9 @@ "x-ms-examples": { "Creates or Updates the subscription diagnostic setting": { "$ref": "./examples/createOrUpdateSubscriptionDiagnosticSetting.json" + }, + "Creates or Updates the subscription diagnostic setting for category": { + "$ref": "./examples/createOrUpdateSubscriptionDiagnosticSettingCategory.json" } } }, @@ -193,6 +199,9 @@ "x-ms-examples": { "Gets the subscription diagnostic setting": { "$ref": "./examples/listSubscriptionDiagnosticSettings.json" + }, + "Gets the subscription diagnostic settings for category": { + "$ref": "./examples/listSubscriptionDiagnosticSettingsCategory.json" } } } diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/createOrUpdateScheduledQueryRule.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/createOrUpdateScheduledQueryRule.json new file mode 100644 index 000000000000..b74a1be324dd --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/createOrUpdateScheduledQueryRule.json @@ -0,0 +1,200 @@ +{ + "parameters": { + "subscriptionId": "dd4bfc94-a096-412b-9c43-4bd13e35afbc", + "resourceGroupName": "QueryResourceGroupName", + "ruleName": "perf", + "api-version": "2021-08-01", + "parameters": { + "location": "eastus", + "properties": { + "description": "Performance rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147/resourceGroups/scopeResourceGroup1/providers/Microsoft.Compute/virtualMachines/vm1" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Perf | where ObjectName == \"Processor\"", + "timeAggregation": "Average", + "metricMeasureColumn": "% Processor Time", + "resourceIdColumn": "resourceId", + "dimensions": [ + { + "name": "ComputerIp", + "operator": "Exclude", + "values": [ + "192.168.1.1" + ] + }, + { + "name": "OSType", + "operator": "Include", + "values": [ + "*" + ] + } + ], + "operator": "GreaterThan", + "threshold": 70, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": { + "actionGroups": [ + "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup" + ], + "customProperties": { + "key11": "value11", + "key12": "value12" + } + }, + "autoMitigate": true, + "checkWorkspaceAlertsStorageConfigured": true, + "skipQueryValidation": true + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/perf", + "name": "perf", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Performance rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147/resourceGroups/scopeResourceGroup1/providers/Microsoft.Compute/virtualMachines/vm1" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Perf | where ObjectName == \"Processor\"", + "timeAggregation": "Average", + "metricMeasureColumn": "% Processor Time", + "resourceIdColumn": "resourceId", + "dimensions": [ + { + "name": "ComputerIp", + "operator": "Exclude", + "values": [ + "192.168.1.1" + ] + }, + { + "name": "OSType", + "operator": "Include", + "values": [ + "*" + ] + } + ], + "operator": "GreaterThan", + "threshold": 70, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": { + "actionGroups": [ + "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup" + ], + "customProperties": { + "key11": "value11", + "key12": "value12" + } + }, + "autoMitigate": true, + "isWorkspaceAlertsStorageConfigured": true, + "checkWorkspaceAlertsStorageConfigured": true, + "skipQueryValidation": true + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/perf", + "name": "perf", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Performance rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147/resourceGroups/scopeResourceGroup1/providers/Microsoft.Compute/virtualMachines/vm1" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Perf | where ObjectName == \"Processor\"", + "timeAggregation": "Average", + "metricMeasureColumn": "% Processor Time", + "resourceIdColumn": "resourceId", + "dimensions": [ + { + "name": "ComputerIp", + "operator": "Exclude", + "values": [ + "192.168.1.1" + ] + }, + { + "name": "OSType", + "operator": "Include", + "values": [ + "*" + ] + } + ], + "operator": "GreaterThan", + "threshold": 70, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": { + "actionGroups": [ + "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup" + ], + "customProperties": { + "key11": "value11", + "key12": "value12" + } + }, + "autoMitigate": true, + "isWorkspaceAlertsStorageConfigured": true, + "checkWorkspaceAlertsStorageConfigured": true, + "skipQueryValidation": true + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/createOrUpdateScheduledQueryRuleResourceGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/createOrUpdateScheduledQueryRuleResourceGroup.json new file mode 100644 index 000000000000..f760191d4535 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/createOrUpdateScheduledQueryRuleResourceGroup.json @@ -0,0 +1,158 @@ +{ + "parameters": { + "subscriptionId": "dd4bfc94-a096-412b-9c43-4bd13e35afbc", + "resourceGroupName": "QueryResourceGroupName", + "ruleName": "heartbeat", + "api-version": "2021-08-01", + "parameters": { + "location": "eastus", + "properties": { + "description": "Health check rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147/resourceGroups/scopeResourceGroup1" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Heartbeat", + "timeAggregation": "Count", + "dimensions": [], + "operator": "GreaterThan", + "threshold": 360, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": { + "actionGroups": [ + "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup" + ], + "customProperties": { + "key11": "value11", + "key12": "value12" + } + }, + "autoMitigate": true, + "checkWorkspaceAlertsStorageConfigured": true, + "skipQueryValidation": true + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/heartbeat", + "name": "heartbeat", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Health check rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147/resourceGroups/scopeResourceGroup1" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Heartbeat", + "timeAggregation": "Count", + "dimensions": [], + "operator": "GreaterThan", + "threshold": 360, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": { + "actionGroups": [ + "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup" + ], + "customProperties": { + "key11": "value11", + "key12": "value12" + } + }, + "autoMitigate": true, + "isWorkspaceAlertsStorageConfigured": true, + "checkWorkspaceAlertsStorageConfigured": true, + "skipQueryValidation": true + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/heartbeat", + "name": "heartbeat", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Health check rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147/resourceGroups/scopeResourceGroup1" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Heartbeat", + "timeAggregation": "Count", + "dimensions": [], + "operator": "GreaterThan", + "threshold": 360, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": { + "actionGroups": [ + "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup" + ], + "customProperties": { + "key11": "value11", + "key12": "value12" + } + }, + "autoMitigate": true, + "isWorkspaceAlertsStorageConfigured": true, + "checkWorkspaceAlertsStorageConfigured": true, + "skipQueryValidation": true + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/createOrUpdateScheduledQueryRuleSubscription.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/createOrUpdateScheduledQueryRuleSubscription.json new file mode 100644 index 000000000000..bb82eda913f9 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/createOrUpdateScheduledQueryRuleSubscription.json @@ -0,0 +1,209 @@ +{ + "parameters": { + "subscriptionId": "dd4bfc94-a096-412b-9c43-4bd13e35afbc", + "resourceGroupName": "QueryResourceGroupName", + "ruleName": "perf", + "api-version": "2021-08-01", + "parameters": { + "location": "eastus", + "properties": { + "description": "Performance rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Perf | where ObjectName == \"Processor\"", + "timeAggregation": "Average", + "metricMeasureColumn": "% Processor Time", + "resourceIdColumn": "resourceId", + "dimensions": [ + { + "name": "ComputerIp", + "operator": "Exclude", + "values": [ + "192.168.1.1" + ] + }, + { + "name": "OSType", + "operator": "Include", + "values": [ + "*" + ] + } + ], + "operator": "GreaterThan", + "threshold": 70, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": { + "actionGroups": [ + "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup" + ], + "customProperties": { + "key11": "value11", + "key12": "value12" + } + }, + "autoMitigate": true, + "checkWorkspaceAlertsStorageConfigured": true, + "skipQueryValidation": true + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/perf", + "name": "perf", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Performance rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Perf | where ObjectName == \"Processor\"", + "timeAggregation": "Average", + "metricMeasureColumn": "% Processor Time", + "resourceIdColumn": "resourceId", + "dimensions": [ + { + "name": "ComputerIp", + "operator": "Exclude", + "values": [ + "192.168.1.1" + ] + }, + { + "name": "OSType", + "operator": "Include", + "values": [ + "*" + ] + } + ], + "operator": "GreaterThan", + "threshold": 70, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": { + "actionGroups": [ + "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup" + ], + "customProperties": { + "key11": "value11", + "key12": "value12" + } + }, + "autoMitigate": true, + "isWorkspaceAlertsStorageConfigured": true, + "checkWorkspaceAlertsStorageConfigured": true, + "skipQueryValidation": true + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/perf", + "name": "perf", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Performance rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Perf | where ObjectName == \"Processor\"", + "timeAggregation": "Average", + "metricMeasureColumn": "% Processor Time", + "resourceIdColumn": "resourceId", + "dimensions": [ + { + "name": "ComputerIp", + "operator": "Exclude", + "values": [ + "192.168.1.1" + ] + }, + { + "name": "OSType", + "operator": "Include", + "values": [ + "*" + ] + } + ], + "operator": "GreaterThan", + "threshold": 70, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": { + "actionGroups": [ + "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup" + ], + "customProperties": { + "key11": "value11", + "key12": "value12" + } + }, + "autoMitigate": true, + "isWorkspaceAlertsStorageConfigured": true, + "checkWorkspaceAlertsStorageConfigured": true, + "skipQueryValidation": true + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/deleteScheduledQueryRule.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/deleteScheduledQueryRule.json new file mode 100644 index 000000000000..63f4e4698641 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/deleteScheduledQueryRule.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "dd4bfc94-a096-412b-9c43-4bd13e35afbc", + "resourceGroupName": "QueryResourceGroupName", + "ruleName": "heartbeat", + "api-version": "2021-08-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/getScheduledQueryRule.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/getScheduledQueryRule.json new file mode 100644 index 000000000000..a6dbc3ff9ca3 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/getScheduledQueryRule.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "dd4bfc94-a096-412b-9c43-4bd13e35afbc", + "resourceGroupName": "QueryResourceGroupName", + "ruleName": "perf", + "api-version": "2021-08-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/perf", + "name": "perf", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Performance rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147/resourceGroups/scopeResourceGroup1/providers/Microsoft.Compute/virtualMachines/vm1" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Perf | where ObjectName == \"Processor\"", + "timeAggregation": "Average", + "metricMeasureColumn": "% Processor Time", + "resourceIdColumn": "resourceId", + "dimensions": [ + { + "name": "ComputerIp", + "operator": "Exclude", + "values": [ + "192.168.1.1" + ] + }, + { + "name": "OSType", + "operator": "Include", + "values": [ + "*" + ] + } + ], + "operator": "GreaterThan", + "threshold": 70, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": { + "actionGroups": [ + "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup" + ], + "customProperties": { + "key11": "value11", + "key12": "value12" + } + }, + "autoMitigate": true, + "isWorkspaceAlertsStorageConfigured": true, + "checkWorkspaceAlertsStorageConfigured": true, + "skipQueryValidation": true + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/listScheduledQueryRulesByResourceGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/listScheduledQueryRulesByResourceGroup.json new file mode 100644 index 000000000000..55f43ae296e1 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/listScheduledQueryRulesByResourceGroup.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "subscriptionId": "dd4bfc94-a096-412b-9c43-4bd13e35afbc", + "resourceGroupName": "QueryResourceGroupName", + "api-version": "2021-08-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/perf", + "name": "perf", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Performance rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147/resourceGroups/scopeResourceGroup1" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Perf | where ObjectName == \"Processor\"", + "timeAggregation": "Average", + "metricMeasureColumn": "% Processor Time", + "resourceIdColumn": "resourceId", + "dimensions": [ + { + "name": "ComputerIp", + "operator": "Exclude", + "values": [ + "192.168.1.1" + ] + }, + { + "name": "OSType", + "operator": "Include", + "values": [ + "*" + ] + } + ], + "operator": "GreaterThan", + "threshold": 70, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": { + "actionGroups": [ + "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup" + ], + "customProperties": { + "key11": "value11", + "key12": "value12" + } + }, + "autoMitigate": true, + "isWorkspaceAlertsStorageConfigured": true, + "checkWorkspaceAlertsStorageConfigured": true, + "skipQueryValidation": true + } + }, + { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/heartbeat", + "name": "heartbeat", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Health check rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147/resourceGroups/scopeResourceGroup1" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Heartbeat", + "timeAggregation": "Count", + "dimensions": [], + "operator": "GreaterThan", + "threshold": 360, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": { + "actionGroups": [ + "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup" + ], + "customProperties": { + "key11": "value11", + "key12": "value12" + } + }, + "autoMitigate": true, + "isWorkspaceAlertsStorageConfigured": true, + "checkWorkspaceAlertsStorageConfigured": true, + "skipQueryValidation": true + } + } + ] + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/listScheduledQueryRulesBySubscription.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/listScheduledQueryRulesBySubscription.json new file mode 100644 index 000000000000..fe0395c9ed10 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/listScheduledQueryRulesBySubscription.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "subscriptionId": "dd4bfc94-a096-412b-9c43-4bd13e35afbc", + "api-version": "2021-08-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/perf", + "name": "perf", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Performance rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Perf | where ObjectName == \"Processor\"", + "timeAggregation": "Average", + "metricMeasureColumn": "% Processor Time", + "resourceIdColumn": "resourceId", + "dimensions": [ + { + "name": "ComputerIp", + "operator": "Exclude", + "values": [ + "192.168.1.1" + ] + }, + { + "name": "OSType", + "operator": "Include", + "values": [ + "*" + ] + } + ], + "operator": "GreaterThan", + "threshold": 70, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": { + "actionGroups": [ + "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup" + ], + "customProperties": { + "key11": "value11", + "key12": "value12" + } + }, + "autoMitigate": true, + "isWorkspaceAlertsStorageConfigured": true, + "checkWorkspaceAlertsStorageConfigured": true, + "skipQueryValidation": true + } + }, + { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/MyResourceGroupName2/providers/microsoft.insights/scheduledqueryrules/heartbeat", + "name": "heartbeat", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Health check rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Heartbeat", + "timeAggregation": "Count", + "dimensions": [], + "operator": "GreaterThan", + "threshold": 360, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": { + "actionGroups": [ + "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup" + ], + "customProperties": { + "key11": "value11", + "key12": "value12" + } + }, + "autoMitigate": true, + "isWorkspaceAlertsStorageConfigured": true, + "checkWorkspaceAlertsStorageConfigured": true, + "skipQueryValidation": true + } + } + ] + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/patchScheduledQueryRule.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/patchScheduledQueryRule.json new file mode 100644 index 000000000000..a1cb704b6a4e --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/patchScheduledQueryRule.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "dd4bfc94-a096-412b-9c43-4bd13e35afbc", + "resourceGroupName": "QueryResourceGroupName", + "ruleName": "heartbeat", + "api-version": "2021-08-01", + "parameters": { + "properties": { + "enabled": false + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/heartbeat", + "name": "heartbeat", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Health check rule", + "severity": 4, + "enabled": false, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Heartbeat", + "timeAggregation": "Count", + "dimensions": [], + "operator": "GreaterThan", + "threshold": 360, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": { + "actionGroups": [ + "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup" + ], + "customProperties": { + "key11": "value11", + "key12": "value12" + } + }, + "autoMitigate": true, + "isWorkspaceAlertsStorageConfigured": true, + "checkWorkspaceAlertsStorageConfigured": true, + "skipQueryValidation": true + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/scheduledQueryRule_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/scheduledQueryRule_API.json new file mode 100644 index 000000000000..9a4e94319279 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/scheduledQueryRule_API.json @@ -0,0 +1,668 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-08-01", + "title": "Scheduled Query Rules API", + "description": "Azure Monitor client to create/update/delete Scheduled Query Rules." + }, + "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}/providers/Microsoft.Insights/scheduledQueryRules": { + "get": { + "tags": [ + "ScheduledQueryRules" + ], + "description": "Retrieve a scheduled query rule definitions in a subscription.", + "operationId": "ScheduledQueryRules_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for a list of scheduled query rules", + "schema": { + "$ref": "#/definitions/ScheduledQueryRuleResourceCollection" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List scheduled query rules by subscription": { + "$ref": "./examples/listScheduledQueryRulesBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules": { + "get": { + "tags": [ + "ScheduledQueryRules" + ], + "description": "Retrieve scheduled query rule definitions in a resource group.", + "operationId": "ScheduledQueryRules_ListByResourceGroup", + "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": "Successful request for a list of scheduled query rules", + "schema": { + "$ref": "#/definitions/ScheduledQueryRuleResourceCollection" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List scheduled query rules by resource group": { + "$ref": "./examples/listScheduledQueryRulesByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}": { + "get": { + "tags": [ + "ScheduledQueryRules" + ], + "description": "Retrieve an scheduled query rule definition.", + "operationId": "ScheduledQueryRules_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful request to get a scheduled query rule", + "schema": { + "$ref": "#/definitions/ScheduledQueryRuleResource" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + }, + "x-ms-examples": { + "Get a scheduled query rule for single resource": { + "$ref": "./examples/getScheduledQueryRule.json" + } + } + }, + "put": { + "tags": [ + "ScheduledQueryRules" + ], + "description": "Creates or updates a scheduled query rule.", + "operationId": "ScheduledQueryRules_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScheduledQueryRuleResource" + }, + "description": "The parameters of the rule to create or update." + } + ], + "responses": { + "200": { + "description": "Successful request to update a scheduled query rule", + "schema": { + "$ref": "#/definitions/ScheduledQueryRuleResource" + } + }, + "201": { + "description": "Created a scheduled query rule", + "schema": { + "$ref": "#/definitions/ScheduledQueryRuleResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + }, + "x-ms-examples": { + "Create or update a scheduled query rule for Single Resource": { + "$ref": "./examples/createOrUpdateScheduledQueryRule.json" + }, + "Create or update a scheduled query rule on Resource group(s)": { + "$ref": "./examples/createOrUpdateScheduledQueryRuleResourceGroup.json" + }, + "Create or update a scheduled query rule on Subscription ": { + "$ref": "./examples/createOrUpdateScheduledQueryRuleSubscription.json" + } + } + }, + "patch": { + "tags": [ + "ScheduledQueryRules" + ], + "description": "Update a scheduled query rule.", + "operationId": "ScheduledQueryRules_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScheduledQueryRuleResourcePatch" + }, + "description": "The parameters of the rule to update." + } + ], + "responses": { + "200": { + "description": "Successful request to update a scheduled query rule", + "schema": { + "$ref": "#/definitions/ScheduledQueryRuleResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + }, + "x-ms-examples": { + "Create or update a scheduled query rule": { + "$ref": "./examples/patchScheduledQueryRule.json" + } + } + }, + "delete": { + "tags": [ + "ScheduledQueryRules" + ], + "description": "Deletes a scheduled query rule.", + "operationId": "ScheduledQueryRules_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + }, + "200": { + "description": "Successful request to delete a scheduled query rule" + }, + "204": { + "description": "No content: the request was successful, but the response is empty" + } + }, + "x-ms-examples": { + "Delete a scheduled query rule": { + "$ref": "./examples/deleteScheduledQueryRule.json" + } + } + } + } + }, + "definitions": { + "Actions": { + "type": "object", + "description": "Actions to invoke when the alert fires.", + "properties": { + "actionGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Action Group resource Ids to invoke when the alert fires." + }, + "customProperties": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "The dictionary of custom properties to include with the post operation. These data are appended to the alert payload." + }, + "description": "The properties of an alert payload." + } + } + }, + "ScheduledQueryRuleProperties": { + "type": "object", + "properties": { + "createdWithApiVersion": { + "type": "string", + "readOnly": true, + "description": "The api-version used when creating this alert rule" + }, + "isLegacyLogAnalyticsRule": { + "type": "boolean", + "readOnly": true, + "description": "True if alert rule is legacy Log Analytic rule" + }, + "description": { + "type": "string", + "description": "The description of the scheduled query rule." + }, + "displayName": { + "type": "string", + "description": "The display name of the alert rule" + }, + "severity": { + "type": "number", + "description": "Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest. Relevant and required only for rules of the kind LogAlert.", + "enum": [ + "0", + "1", + "2", + "3", + "4" + ], + "x-ms-enum": { + "name": "AlertSeverity", + "modelAsString": true + } + }, + "enabled": { + "type": "boolean", + "description": "The flag which indicates whether this scheduled query rule is enabled. Value should be true or false" + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of resource id's that this scheduled query rule is scoped to." + }, + "evaluationFrequency": { + "type": "string", + "format": "duration", + "description": "How often the scheduled query rule is evaluated represented in ISO 8601 duration format. Relevant and required only for rules of the kind LogAlert." + }, + "windowSize": { + "type": "string", + "format": "duration", + "description": "The period of time (in ISO 8601 duration format) on which the Alert query will be executed (bin size). Relevant and required only for rules of the kind LogAlert." + }, + "overrideQueryTimeRange": { + "type": "string", + "format": "duration", + "description": "If specified then overrides the query time range (default is WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert." + }, + "targetResourceTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of resource type of the target resource(s) on which the alert is created/updated. For example if the scope is a resource group and targetResourceTypes is Microsoft.Compute/virtualMachines, then a different alert will be fired for each virtual machine in the resource group which meet the alert criteria. Relevant only for rules of the kind LogAlert" + }, + "criteria": { + "$ref": "#/definitions/ScheduledQueryRuleCriteria", + "description": "The rule criteria that defines the conditions of the scheduled query rule." + }, + "muteActionsDuration": { + "type": "string", + "format": "duration", + "description": "Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired. Relevant only for rules of the kind LogAlert." + }, + "actions": { + "type": "object", + "$ref": "#/definitions/Actions", + "description": "Actions to invoke when the alert fires." + }, + "isWorkspaceAlertsStorageConfigured": { + "type": "boolean", + "readOnly": true, + "description": "The flag which indicates whether this scheduled query rule has been configured to be stored in the customer's storage. The default is false." + }, + "checkWorkspaceAlertsStorageConfigured": { + "type": "boolean", + "description": "The flag which indicates whether this scheduled query rule should be stored in the customer's storage. The default is false. Relevant only for rules of the kind LogAlert." + }, + "skipQueryValidation": { + "type": "boolean", + "description": "The flag which indicates whether the provided query should be validated or not. The default is false. Relevant only for rules of the kind LogAlert." + }, + "autoMitigate": { + "type": "boolean", + "description": "The flag that indicates whether the alert should be automatically resolved or not. The default is true. Relevant only for rules of the kind LogAlert." + } + }, + "description": "scheduled query rule Definition" + }, + "ScheduledQueryRuleResource": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "properties": { + "kind": { + "type": "string", + "description": "Indicates the type of scheduled query rule. The default is LogAlert.", + "enum": [ + "LogAlert", + "LogToMetric" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + }, + "etag": { + "type": "string", + "readOnly": true, + "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. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. " + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "SystemData of ScheduledQueryRule.", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScheduledQueryRuleProperties", + "description": "The rule properties of the resource.", + "required": [ + "enabled", + "criteria", + "scopes" + ] + } + }, + "description": "The scheduled query rule resource." + }, + "ScheduledQueryRuleResourcePatch": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScheduledQueryRuleProperties", + "description": "The scheduled query rule properties of the resource." + } + }, + "description": "The scheduled query rule resource for patch operations." + }, + "ScheduledQueryRuleResourceCollection": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ScheduledQueryRuleResource" + }, + "description": "The values for the scheduled query rule resources." + }, + "nextLink": { + "description": "Provides the link to retrieve the next set of elements.", + "type": "string", + "readOnly": true + } + }, + "description": "Represents a collection of scheduled query rule resources." + }, + "ScheduledQueryRuleCriteria": { + "type": "object", + "description": "The rule criteria that defines the conditions of the scheduled query rule.", + "properties": { + "allOf": { + "type": "array", + "description": "A list of conditions to evaluate against the specified scopes", + "items": { + "$ref": "#/definitions/Condition" + } + } + } + }, + "Condition": { + "type": "object", + "description": "A condition of the scheduled query rule.", + "properties": { + "query": { + "type": "string", + "description": "Log query alert" + }, + "timeAggregation": { + "type": "string", + "description": "Aggregation type. Relevant and required only for rules of the kind LogAlert.", + "enum": [ + "Count", + "Average", + "Minimum", + "Maximum", + "Total" + ], + "x-ms-enum": { + "name": "timeAggregation", + "modelAsString": true + } + }, + "metricMeasureColumn": { + "type": "string", + "description": "The column containing the metric measure number. Relevant only for rules of the kind LogAlert." + }, + "resourceIdColumn": { + "type": "string", + "description": "The column containing the resource id. The content of the column must be a uri formatted as resource id. Relevant only for rules of the kind LogAlert." + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + }, + "description": "List of Dimensions conditions" + }, + "operator": { + "type": "string", + "enum": [ + "Equals", + "GreaterThan", + "GreaterThanOrEqual", + "LessThan", + "LessThanOrEqual" + ], + "x-ms-enum": { + "name": "conditionOperator", + "modelAsString": true + }, + "description": "The criteria operator. Relevant and required only for rules of the kind LogAlert." + }, + "threshold": { + "type": "number", + "format": "double", + "description": "the criteria threshold value that activates the alert. Relevant and required only for rules of the kind LogAlert." + }, + "failingPeriods": { + "type": "object", + "description": "The minimum number of violations required within the selected lookback time window required to raise an alert. Relevant only for rules of the kind LogAlert.", + "properties": { + "numberOfEvaluationPeriods": { + "type": "integer", + "format": "int64", + "default": 1, + "description": "The number of aggregated lookback points. The lookback time window is calculated based on the aggregation granularity (windowSize) and the selected number of aggregated points. Default value is 1" + }, + "minFailingPeriodsToAlert": { + "type": "integer", + "format": "int64", + "default": 1, + "description": "The number of violations to trigger an alert. Should be smaller or equal to numberOfEvaluationPeriods. Default value is 1" + } + } + }, + "metricName": { + "type": "string", + "description": "The name of the metric to be sent. Relevant and required only for rules of the kind LogToMetric." + } + } + }, + "Dimension": { + "type": "object", + "description": "Dimension splitting and filtering definition", + "properties": { + "name": { + "type": "string", + "description": "Name of the dimension" + }, + "operator": { + "type": "string", + "description": "Operator for dimension values", + "enum": [ + "Include", + "Exclude" + ], + "x-ms-enum": { + "name": "dimensionOperator", + "modelAsString": true + } + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of dimension values" + } + }, + "required": [ + "name", + "operator", + "values" + ] + }, + "ErrorContract": { + "description": "Describes the format of Error response.", + "type": "object", + "properties": { + "error": { + "description": "The error details.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + } + } + }, + "parameters": { + "RuleNameParameter": { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the rule.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/actionGroups_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/actionGroups_API.json new file mode 100644 index 000000000000..303bc9305f9e --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/actionGroups_API.json @@ -0,0 +1,1211 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Action Groups API", + "x-ms-code-generation-settings": { + "name": "MonitorManagementClient" + }, + "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" + } + } + } + }, + "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" + }, + "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" + }, + "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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + } + } + } + }, + "/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" + }, + "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" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Azure resource name" + }, + "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" + }, + "TestNotificationResponse": { + "description": "The response when test notification succeeded", + "type": "object", + "properties": { + "notificationId": { + "type": "string", + "description": "The notification id" + }, + "correlationId": { + "type": "string", + "description": "The correlation id" + }, + "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" + }, + "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" + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/createOrUpdateActionGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/createOrUpdateActionGroup.json new file mode 100644 index 000000000000..72b204003827 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/createOrUpdateActionGroup.json @@ -0,0 +1,374 @@ +{ + "parameters": { + "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d", + "resourceGroupName": "Default-NotificationRules", + "actionGroupName": "SampleActionGroup", + "api-version": "2021-09-01", + "actionGroup": { + "location": "Global", + "tags": {}, + "properties": { + "groupShortName": "sample", + "enabled": true, + "emailReceivers": [ + { + "name": "John Doe's email", + "emailAddress": "johndoe@email.com", + "useCommonAlertSchema": false + }, + { + "name": "Jane Smith's email", + "emailAddress": "janesmith@email.com", + "useCommonAlertSchema": true + } + ], + "smsReceivers": [ + { + "name": "John Doe's mobile", + "countryCode": "1", + "phoneNumber": "1234567890" + }, + { + "name": "Jane Smith's mobile", + "countryCode": "1", + "phoneNumber": "0987654321" + } + ], + "webhookReceivers": [ + { + "name": "Sample webhook 1", + "serviceUri": "http://www.example.com/webhook1", + "useCommonAlertSchema": true + }, + { + "name": "Sample webhook 2", + "serviceUri": "http://www.example.com/webhook2", + "useCommonAlertSchema": true, + "useAadAuth": true, + "objectId": "d3bb868c-fe44-452c-aa26-769a6538c808", + "identifierUri": "http://someidentifier/d7811ba3-7996-4a93-99b6-6b2f3f355f8a", + "tenantId": "68a4459a-ccb8-493c-b9da-dd30457d1b84" + } + ], + "itsmReceivers": [ + { + "name": "Sample itsm", + "workspaceId": "5def922a-3ed4-49c1-b9fd-05ec533819a3|55dfd1f8-7e59-4f89-bf56-4c82f5ace23c", + "connectionId": "a3b9076c-ce8e-434e-85b4-aff10cb3c8f1", + "ticketConfiguration": "{\"PayloadRevision\":0,\"WorkItemType\":\"Incident\",\"UseTemplate\":false,\"WorkItemData\":\"{}\",\"CreateOneWIPerCI\":false}", + "region": "westcentralus" + } + ], + "azureAppPushReceivers": [ + { + "name": "Sample azureAppPush", + "emailAddress": "johndoe@email.com" + } + ], + "automationRunbookReceivers": [ + { + "automationAccountId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest", + "runbookName": "Sample runbook", + "webhookResourceId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest/webhooks/Alert1510184037084", + "isGlobalRunbook": false, + "name": "testRunbook", + "serviceUri": "", + "useCommonAlertSchema": true + } + ], + "voiceReceivers": [ + { + "name": "Sample voice", + "countryCode": "1", + "phoneNumber": "1234567890" + } + ], + "logicAppReceivers": [ + { + "name": "Sample logicApp", + "resourceId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/LogicApp/providers/Microsoft.Logic/workflows/testLogicApp", + "callbackUrl": "https://prod-27.northcentralus.logic.azure.com/workflows/68e572e818e5457ba898763b7db90877/triggers/manual/paths/invoke/azns/test?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=Abpsb72UYJxPPvmDo937uzofupO5r_vIeWEx7KVHo7w", + "useCommonAlertSchema": false + } + ], + "azureFunctionReceivers": [ + { + "name": "Sample azureFunction", + "functionAppResourceId": "/subscriptions/5def922a-3ed4-49c1-b9fd-05ec533819a3/resourceGroups/aznsTest/providers/Microsoft.Web/sites/testFunctionApp", + "functionName": "HttpTriggerCSharp1", + "httpTriggerUrl": "http://test.me", + "useCommonAlertSchema": true + } + ], + "armRoleReceivers": [ + { + "name": "Sample armRole", + "roleId": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635", + "useCommonAlertSchema": true + } + ], + "eventHubReceivers": [ + { + "name": "Sample eventHub", + "eventHubNameSpace": "testEventHubNameSpace", + "eventHubName": "testEventHub", + "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d", + "tenantId": "68a4459a-ccb8-493c-b9da-dd30457d1b84" + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/Default-NotificationRules/providers/microsoft.insights/actionGroups/SampleActionGroup", + "type": "Microsoft.Insights/ActionGroups", + "name": "SampleActionGroup", + "location": "Global", + "tags": {}, + "properties": { + "groupShortName": "sample", + "enabled": true, + "emailReceivers": [ + { + "name": "John Doe's email", + "emailAddress": "johndoe@email.com", + "status": "Enabled", + "useCommonAlertSchema": false + }, + { + "name": "Jane Smith's email", + "emailAddress": "janesmith@email.com", + "status": "Enabled", + "useCommonAlertSchema": true + } + ], + "smsReceivers": [ + { + "name": "John Doe's mobile", + "countryCode": "1", + "phoneNumber": "1234567890", + "status": "Enabled" + }, + { + "name": "Jane Smith's mobile", + "countryCode": "1", + "phoneNumber": "0987654321", + "status": "Enabled" + } + ], + "webhookReceivers": [ + { + "name": "Sample webhook 1", + "serviceUri": "http://www.example.com/webhook1", + "useCommonAlertSchema": true + }, + { + "name": "Sample webhook 2", + "serviceUri": "http://www.example.com/webhook2", + "useCommonAlertSchema": true, + "useAadAuth": true, + "objectId": "d3bb868c-fe44-452c-aa26-769a6538c808", + "identifierUri": "http://someidentifier/d7811ba3-7996-4a93-99b6-6b2f3f355f8a", + "tenantId": "68a4459a-ccb8-493c-b9da-dd30457d1b84" + } + ], + "itsmReceivers": [ + { + "name": "Sample itsm", + "workspaceId": "5def922a-3ed4-49c1-b9fd-05ec533819a3|55dfd1f8-7e59-4f89-bf56-4c82f5ace23c", + "connectionId": "a3b9076c-ce8e-434e-85b4-aff10cb3c8f1", + "ticketConfiguration": "{\"PayloadRevision\":0,\"WorkItemType\":\"Incident\",\"UseTemplate\":false,\"WorkItemData\":\"{}\",\"CreateOneWIPerCI\":false}", + "region": "westcentralus" + } + ], + "azureAppPushReceivers": [ + { + "name": "Sample azureAppPush", + "emailAddress": "johndoe@email.com" + } + ], + "automationRunbookReceivers": [ + { + "automationAccountId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest", + "runbookName": "Sample runbook", + "webhookResourceId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest/webhooks/Alert1510184037084", + "isGlobalRunbook": false, + "name": "testRunbook", + "serviceUri": "", + "useCommonAlertSchema": true + } + ], + "voiceReceivers": [ + { + "name": "Sample voice", + "countryCode": "1", + "phoneNumber": "1234567890" + } + ], + "logicAppReceivers": [ + { + "name": "Sample logicApp", + "resourceId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/LogicApp/providers/Microsoft.Logic/workflows/testLogicApp", + "callbackUrl": "https://prod-27.northcentralus.logic.azure.com/workflows/68e572e818e5457ba898763b7db90877/triggers/manual/paths/invoke/azns/test?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=Abpsb72UYJxPPvmDo937uzofupO5r_vIeWEx7KVHo7w", + "useCommonAlertSchema": false + } + ], + "azureFunctionReceivers": [ + { + "name": "Sample azureFunction", + "functionAppResourceId": "/subscriptions/5def922a-3ed4-49c1-b9fd-05ec533819a3/resourceGroups/aznsTest/providers/Microsoft.Web/sites/testFunctionApp", + "functionName": "HttpTriggerCSharp1", + "httpTriggerUrl": "", + "useCommonAlertSchema": true + } + ], + "armRoleReceivers": [ + { + "name": "Sample armRole", + "roleId": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635", + "useCommonAlertSchema": true + } + ], + "eventHubReceivers": [ + { + "name": "Sample eventHub", + "eventHubNameSpace": "testEventHubNameSpace", + "eventHubName": "testEventHub", + "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d", + "tenantId": "68a4459a-ccb8-493c-b9da-dd30457d1b84", + "useCommonAlertSchema": false + } + ] + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/Default-NotificationRules/providers/microsoft.insights/actionGroups/SampleActionGroup", + "type": "Microsoft.Insights/ActionGroups", + "name": "SampleActionGroup", + "location": "Global", + "tags": {}, + "properties": { + "groupShortName": "sample", + "enabled": true, + "emailReceivers": [ + { + "name": "John Doe's email", + "emailAddress": "johndoe@email.com", + "status": "Enabled", + "useCommonAlertSchema": false + }, + { + "name": "Jane Smith's email", + "emailAddress": "janesmith@email.com", + "status": "Enabled", + "useCommonAlertSchema": true + } + ], + "smsReceivers": [ + { + "name": "John Doe's mobile", + "countryCode": "1", + "phoneNumber": "1234567890", + "status": "Enabled" + }, + { + "name": "Jane Smith's mobile", + "countryCode": "1", + "phoneNumber": "0987654321", + "status": "Enabled" + } + ], + "webhookReceivers": [ + { + "name": "Sample webhook 1", + "serviceUri": "http://www.example.com/webhook1", + "useCommonAlertSchema": true + }, + { + "name": "Sample webhook 2", + "serviceUri": "http://www.example.com/webhook2", + "useCommonAlertSchema": true, + "useAadAuth": true, + "objectId": "d3bb868c-fe44-452c-aa26-769a6538c808", + "identifierUri": "http://someidentifier/d7811ba3-7996-4a93-99b6-6b2f3f355f8a", + "tenantId": "68a4459a-ccb8-493c-b9da-dd30457d1b84" + } + ], + "itsmReceivers": [ + { + "name": "Sample itsm", + "workspaceId": "5def922a-3ed4-49c1-b9fd-05ec533819a3|55dfd1f8-7e59-4f89-bf56-4c82f5ace23c", + "connectionId": "a3b9076c-ce8e-434e-85b4-aff10cb3c8f1", + "ticketConfiguration": "{\"PayloadRevision\":0,\"WorkItemType\":\"Incident\",\"UseTemplate\":false,\"WorkItemData\":\"{}\",\"CreateOneWIPerCI\":false}", + "region": "westcentralus" + } + ], + "azureAppPushReceivers": [ + { + "name": "Sample azureAppPush", + "emailAddress": "johndoe@email.com" + } + ], + "automationRunbookReceivers": [ + { + "automationAccountId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest", + "runbookName": "Sample runbook", + "webhookResourceId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest/webhooks/Alert1510184037084", + "isGlobalRunbook": false, + "name": "testRunbook", + "serviceUri": "", + "useCommonAlertSchema": true + } + ], + "voiceReceivers": [ + { + "name": "Sample voice", + "countryCode": "1", + "phoneNumber": "1234567890" + } + ], + "logicAppReceivers": [ + { + "name": "Sample logicApp", + "resourceId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/LogicApp/providers/Microsoft.Logic/workflows/testLogicApp", + "callbackUrl": "https://prod-27.northcentralus.logic.azure.com/workflows/68e572e818e5457ba898763b7db90877/triggers/manual/paths/invoke/azns/test?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=Abpsb72UYJxPPvmDo937uzofupO5r_vIeWEx7KVHo7w", + "useCommonAlertSchema": false + } + ], + "azureFunctionReceivers": [ + { + "name": "Sample azureFunction", + "functionAppResourceId": "/subscriptions/5def922a-3ed4-49c1-b9fd-05ec533819a3/resourceGroups/aznsTest/providers/Microsoft.Web/sites/testFunctionApp", + "functionName": "HttpTriggerCSharp1", + "httpTriggerUrl": "", + "useCommonAlertSchema": true + } + ], + "armRoleReceivers": [ + { + "name": "Sample armRole", + "roleId": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635", + "useCommonAlertSchema": true + } + ], + "eventHubReceivers": [ + { + "name": "Sample eventHub", + "eventHubNameSpace": "testEventHubNameSpace", + "eventHubName": "testEventHub", + "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d", + "tenantId": "68a4459a-ccb8-493c-b9da-dd30457d1b84", + "useCommonAlertSchema": false + } + ] + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/deleteActionGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/deleteActionGroup.json new file mode 100644 index 000000000000..92e41cdbc8c6 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/deleteActionGroup.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d", + "resourceGroupName": "Default-NotificationRules", + "actionGroupName": "SampleActionGroup", + "api-version": "2021-09-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/enableReceiver.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/enableReceiver.json new file mode 100644 index 000000000000..ffc6b04f5435 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/enableReceiver.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d", + "resourceGroupName": "Default-NotificationRules", + "actionGroupName": "SampleActionGroup", + "api-version": "2021-09-01", + "enableRequest": { + "receiverName": "John Doe's mobile" + } + }, + "responses": { + "200": {}, + "409": {} + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/getActionGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/getActionGroup.json new file mode 100644 index 000000000000..04786559924a --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/getActionGroup.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d", + "resourceGroupName": "Default-NotificationRules", + "actionGroupName": "SampleActionGroup", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/Default-NotificationRules/providers/microsoft.insights/actionGroups/SampleActionGroup", + "type": "Microsoft.Insights/ActionGroups", + "name": "SampleActionGroup", + "location": "Global", + "tags": {}, + "properties": { + "groupShortName": "sample", + "enabled": true, + "emailReceivers": [ + { + "name": "John Doe's email", + "emailAddress": "johndoe@email.com", + "status": "Enabled", + "useCommonAlertSchema": true + }, + { + "name": "Jane Smith's email", + "emailAddress": "janesmith@email.com", + "status": "Disabled", + "useCommonAlertSchema": true + } + ], + "smsReceivers": [ + { + "name": "John Doe's mobile", + "countryCode": "1", + "phoneNumber": "1234567890", + "status": "Disabled" + }, + { + "name": "Jane Smith's mobile", + "countryCode": "1", + "phoneNumber": "0987654321", + "status": "Enabled" + } + ], + "webhookReceivers": [ + { + "name": "Sample webhook", + "serviceUri": "http://www.example.com/webhook", + "useCommonAlertSchema": false + }, + { + "name": "Sample webhook 2", + "serviceUri": "http://www.example.com/webhook2", + "useCommonAlertSchema": true, + "useAadAuth": true, + "objectId": "d3bb868c-fe44-452c-aa26-769a6538c808", + "identifierUri": "http://someidentifier/d7811ba3-7996-4a93-99b6-6b2f3f355f8a", + "tenantId": "68a4459a-ccb8-493c-b9da-dd30457d1b84" + } + ], + "itsmReceivers": [], + "azureAppPushReceivers": [], + "automationRunbookReceivers": [], + "voiceReceivers": [], + "logicAppReceivers": [], + "azureFunctionReceivers": [], + "armRoleReceivers": [], + "eventHubReceivers": [] + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/getTestNotifications.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/getTestNotifications.json new file mode 100644 index 000000000000..372cac27dd3e --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/getTestNotifications.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d", + "notificationId": "11000222191287", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Context": { + "NotificationSource": "Microsoft.Insights/TestNotification", + "ContextType": "Microsoft.Insights/Budget" + }, + "State": "Completed", + "CompletedTime": "0001-01-01T00:00:00+00:00", + "CreatedTime": "2021-09-21T04:52:29.5091168+00:00", + "ActionDetails": [ + { + "MechanismType": "AzureAppPush", + "Name": "AzureAppPush", + "Status": "Completed", + "SubState": "Default", + "SendTime": "2021-09-21T04:52:42.8620629+00:00", + "Detail": null + }, + { + "MechanismType": "AzureFunction", + "Name": "AzureFunction-1", + "Status": "Completed", + "SubState": "Default", + "SendTime": "2021-09-21T04:52:42.0623319+00:00", + "Detail": null + }, + { + "MechanismType": "Email", + "Name": "Email-2", + "Status": "Completed", + "SubState": "Default", + "SendTime": "2021-09-21T04:52:40.7480368+00:00", + "Detail": null + }, + { + "MechanismType": "LogicApp", + "Name": "Sample logicApp", + "Status": "Completed", + "SubState": "Default", + "SendTime": "2021-09-21T04:52:42.2473419+00:00", + "Detail": null + }, + { + "MechanismType": "SecureWebhook", + "Name": "SecureWebhook-1", + "Status": "Completed", + "SubState": "Default", + "SendTime": "2021-09-21T04:52:42.0723479+00:00", + "Detail": null + }, + { + "MechanismType": "Sms", + "Name": "Sms-1", + "Status": "Completed", + "SubState": "Default", + "SendTime": "2021-09-21T04:52:41.353015+00:00", + "Detail": null + }, + { + "MechanismType": "Voice", + "Name": "Voice-1", + "Status": "Completed", + "SubState": "Default", + "SendTime": "2021-09-21T04:52:41.6330734+00:00", + "Detail": null + } + ] + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/listActionGroups.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/listActionGroups.json new file mode 100644 index 000000000000..7be7b0ea6aa4 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/listActionGroups.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d", + "resourceGroupName": "Default-NotificationRules", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/Default-NotificationRules/providers/microsoft.insights/actionGroups/SampleActionGroup", + "type": "Microsoft.Insights/ActionGroups", + "name": "SampleActionGroup", + "location": "Global", + "tags": {}, + "properties": { + "groupShortName": "sample", + "enabled": true, + "emailReceivers": [ + { + "name": "John Doe's email", + "emailAddress": "johndoe@email.com", + "status": "Enabled", + "useCommonAlertSchema": true + }, + { + "name": "Jane Smith's email", + "emailAddress": "janesmith@email.com", + "status": "Disabled", + "useCommonAlertSchema": true + } + ], + "smsReceivers": [ + { + "name": "John Doe's mobile", + "countryCode": "1", + "phoneNumber": "1234567890", + "status": "Disabled" + }, + { + "name": "Jane Smith's mobile", + "countryCode": "1", + "phoneNumber": "0987654321", + "status": "Enabled" + } + ], + "webhookReceivers": [ + { + "name": "Sample webhook", + "serviceUri": "http://www.example.com/webhook", + "useCommonAlertSchema": false + }, + { + "name": "Sample webhook 2", + "serviceUri": "http://www.example.com/webhook2", + "useCommonAlertSchema": true, + "useAadAuth": true, + "objectId": "d3bb868c-fe44-452c-aa26-769a6538c808", + "identifierUri": "http://someidentifier/d7811ba3-7996-4a93-99b6-6b2f3f355f8a", + "tenantId": "68a4459a-ccb8-493c-b9da-dd30457d1b84" + } + ], + "itsmReceivers": [], + "azureAppPushReceivers": [], + "automationRunbookReceivers": [], + "voiceReceivers": [], + "logicAppReceivers": [], + "azureFunctionReceivers": [], + "armRoleReceivers": [], + "eventHubReceivers": [] + } + }, + { + "id": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/Default-NotificationRules/providers/microsoft.insights/actionGroups/SampleActionGroup2", + "type": "Microsoft.Insights/ActionGroups", + "name": "SampleActionGroup2", + "location": "Global", + "tags": {}, + "properties": { + "groupShortName": "sample2", + "enabled": false, + "emailReceivers": [ + { + "name": "John Doe's email", + "emailAddress": "johndoe@email.com", + "status": "Enabled", + "useCommonAlertSchema": true + } + ], + "smsReceivers": [ + { + "name": "Jane Smith's mobile", + "countryCode": "1", + "phoneNumber": "0987654321", + "status": "Enabled" + } + ], + "webhookReceivers": [], + "itsmReceivers": [], + "azureAppPushReceivers": [], + "automationRunbookReceivers": [], + "voiceReceivers": [], + "logicAppReceivers": [], + "azureFunctionReceivers": [], + "armRoleReceivers": [], + "eventHubReceivers": [] + } + } + ] + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/patchActionGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/patchActionGroup.json new file mode 100644 index 000000000000..2b85555d58aa --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/patchActionGroup.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d", + "resourceGroupName": "Default-NotificationRules", + "actionGroupName": "SampleActionGroup", + "api-version": "2021-09-01", + "actionGroupPatch": { + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "enabled": false + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/Default-NotificationRules/providers/microsoft.insights/actionGroups/SampleActionGroup", + "type": "Microsoft.Insights/ActionGroups", + "name": "SampleActionGroup", + "location": "Global", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "groupShortName": "sample", + "enabled": true, + "emailReceivers": [ + { + "name": "John Doe's email", + "emailAddress": "johndoe@email.com", + "status": "Enabled", + "useCommonAlertSchema": true + }, + { + "name": "Jane Smith's email", + "emailAddress": "janesmith@email.com", + "status": "Enabled", + "useCommonAlertSchema": true + } + ], + "smsReceivers": [ + { + "name": "John Doe's mobile", + "countryCode": "1", + "phoneNumber": "1234567890", + "status": "Enabled" + }, + { + "name": "Jane Smith's mobile", + "countryCode": "1", + "phoneNumber": "0987654321", + "status": "Enabled" + } + ], + "webhookReceivers": [ + { + "name": "Sample webhook", + "serviceUri": "http://www.example.com/webhook", + "useCommonAlertSchema": false + }, + { + "name": "Sample webhook 2", + "serviceUri": "http://www.example.com/webhook2", + "useCommonAlertSchema": true, + "useAadAuth": true, + "objectId": "d3bb868c-fe44-452c-aa26-769a6538c808", + "identifierUri": "http://someidentifier/d7811ba3-7996-4a93-99b6-6b2f3f355f8a", + "tenantId": "68a4459a-ccb8-493c-b9da-dd30457d1b84" + } + ], + "itsmReceivers": [], + "azureAppPushReceivers": [], + "automationRunbookReceivers": [], + "voiceReceivers": [], + "logicAppReceivers": [], + "azureFunctionReceivers": [], + "armRoleReceivers": [], + "eventHubReceivers": [] + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/postTestNotifications.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/postTestNotifications.json new file mode 100644 index 000000000000..641f612308eb --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/examples/postTestNotifications.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d", + "api-version": "2021-09-01", + "notificationRequest": { + "alertType": "budget", + "emailReceivers": [ + { + "name": "John Doe's email", + "emailAddress": "johndoe@email.com", + "useCommonAlertSchema": false + }, + { + "name": "Jane Smith's email", + "emailAddress": "janesmith@email.com", + "useCommonAlertSchema": true + } + ], + "smsReceivers": [ + { + "name": "John Doe's mobile", + "countryCode": "1", + "phoneNumber": "1234567890" + }, + { + "name": "Jane Smith's mobile", + "countryCode": "1", + "phoneNumber": "0987654321" + } + ], + "webhookReceivers": [ + { + "name": "Sample webhook 1", + "serviceUri": "http://www.example.com/webhook1", + "useCommonAlertSchema": true + }, + { + "name": "Sample webhook 2", + "serviceUri": "http://www.example.com/webhook2", + "useCommonAlertSchema": true, + "useAadAuth": true, + "objectId": "d3bb868c-fe44-452c-aa26-769a6538c808", + "identifierUri": "http://someidentifier/d7811ba3-7996-4a93-99b6-6b2f3f355f8a", + "tenantId": "68a4459a-ccb8-493c-b9da-dd30457d1b84" + } + ], + "itsmReceivers": [ + { + "name": "Sample itsm", + "workspaceId": "5def922a-3ed4-49c1-b9fd-05ec533819a3|55dfd1f8-7e59-4f89-bf56-4c82f5ace23c", + "connectionId": "a3b9076c-ce8e-434e-85b4-aff10cb3c8f1", + "ticketConfiguration": "{\"PayloadRevision\":0,\"WorkItemType\":\"Incident\",\"UseTemplate\":false,\"WorkItemData\":\"{}\",\"CreateOneWIPerCI\":false}", + "region": "westcentralus" + } + ], + "azureAppPushReceivers": [ + { + "name": "Sample azureAppPush", + "emailAddress": "johndoe@email.com" + } + ], + "automationRunbookReceivers": [ + { + "automationAccountId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest", + "runbookName": "Sample runbook", + "webhookResourceId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest/webhooks/Alert1510184037084", + "isGlobalRunbook": false, + "name": "testRunbook", + "serviceUri": "http://test.me", + "useCommonAlertSchema": true + } + ], + "voiceReceivers": [ + { + "name": "Sample voice", + "countryCode": "1", + "phoneNumber": "1234567890" + } + ], + "logicAppReceivers": [ + { + "name": "Sample logicApp", + "resourceId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/LogicApp/providers/Microsoft.Logic/workflows/testLogicApp", + "callbackUrl": "https://prod-27.northcentralus.logic.azure.com/workflows/68e572e818e5457ba898763b7db90877/triggers/manual/paths/invoke/azns/test?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=Abpsb72UYJxPPvmDo937uzofupO5r_vIeWEx7KVHo7w", + "useCommonAlertSchema": false + } + ], + "azureFunctionReceivers": [ + { + "name": "Sample azureFunction", + "functionAppResourceId": "/subscriptions/5def922a-3ed4-49c1-b9fd-05ec533819a3/resourceGroups/aznsTest/providers/Microsoft.Web/sites/testFunctionApp", + "functionName": "HttpTriggerCSharp1", + "httpTriggerUrl": "http://test.me", + "useCommonAlertSchema": true + } + ], + "eventHubReceivers": [ + { + "name": "Sample eventHub", + "eventHubNameSpace": "testEventHubNameSpace", + "eventHubName": "testEventHub", + "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d", + "tenantId": "68a4459a-ccb8-493c-b9da-dd30457d1b84" + } + ] + } + }, + "responses": { + "202": { + "headers": {}, + "body": { + "notificationId": "11000222191287", + "correlationId": "5000094c-7f6b-49f2-a0ad-c620c65d34b5", + "createdTime": "2021-09-21T03:05:17+00:00" + } + } + } +} diff --git a/specification/monitor/resource-manager/readme.go.md b/specification/monitor/resource-manager/readme.go.md index 2cf5467d3de0..d3f5a30d42c7 100644 --- a/specification/monitor/resource-manager/readme.go.md +++ b/specification/monitor/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/monitor/armmonitor +module-name: sdk/resourcemanager/monitor/armmonitor module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/monitor/resource-manager/readme.md b/specification/monitor/resource-manager/readme.md index 4a1ac4a3e443..2ac1f3c84b2d 100644 --- a/specification/monitor/resource-manager/readme.md +++ b/specification/monitor/resource-manager/readme.md @@ -35,7 +35,66 @@ title: MonitorManagementClient ``` yaml description: Monitor Management Client openapi-type: arm -tag: package-2021-04 +tag: package-2021-08 + +directive: + - suppress: Example Validations + reason: There are open issues (bugs) in the validator affecting some of the examples and since there is no way to selectively disable the validation for a particular example or paths, all of the example validation is being turned off. +``` + +### Tag: package-2021-09 + +These settings apply only when `--tag=package-2021-09` is specified on the command line + +``` yaml $(tag) == 'package-2021-09' +input-file: +- Microsoft.Insights/stable/2015-04-01/autoscale_API.json +- Microsoft.Insights/stable/2015-04-01/operations_API.json +- Microsoft.Insights/stable/2016-03-01/alertRulesIncidents_API.json +- Microsoft.Insights/stable/2016-03-01/alertRules_API.json +- Microsoft.Insights/stable/2016-03-01/logProfiles_API.json +- Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettings_API.json +- Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettingsCategories_API.json +- Microsoft.Insights/stable/2021-09-01/actionGroups_API.json +- Microsoft.Insights/stable/2015-04-01/activityLogs_API.json +- Microsoft.Insights/stable/2015-04-01/eventCategories_API.json +- Microsoft.Insights/stable/2015-04-01/tenantActivityLogs_API.json +- Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json +- Microsoft.Insights/stable/2018-01-01/metrics_API.json +- Microsoft.Insights/stable/2019-03-01/metricBaselines_API.json +- Microsoft.Insights/stable/2018-03-01/metricAlert_API.json +- Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json +- Microsoft.Insights/preview/2017-12-01-preview/metricNamespaces_API.json +- Microsoft.Insights/preview/2018-11-27-preview/vmInsightsOnboarding_API.json +- Microsoft.Insights/preview/2019-10-17-preview/privateLinkScopes_API.json +- Microsoft.Insights/stable/2017-04-01/activityLogAlerts_API.json +- Microsoft.Insights/stable/2021-04-01/dataCollectionEndpoints_API.json +- Microsoft.Insights/stable/2021-04-01/dataCollectionRuleAssociations_API.json +- Microsoft.Insights/stable/2021-04-01/dataCollectionRules_API.json +``` + +``` yaml +description: Monitor Management Client +openapi-type: arm +tag: package-2021-08 +``` + +### Tag: package-2021-09-01-only + +These settings apply only when `--tag=package-2021-09-01-only` is specified on the command line. + +``` yaml $(tag) == 'package-2021-09-01-only' +input-file: +- Microsoft.Insights/stable/2021-09-01/actionGroups_API.json +``` + +### Tag: package-2021-08 + +These settings apply only when `--tag=package-2021-08` is specified on the command line. + +```yaml $(tag) == 'package-2021-08' +input-file: + - Microsoft.Insights/stable/2021-08-01/scheduledQueryRule_API.json ``` ### Tag: package-2021-07 @@ -124,8 +183,9 @@ input-file: These settings apply only when `--tag=package-2021-05-01-preview-only` is specified on the command line. -``` yaml $(tag) == 'package-2021-05-01-preview-only' +```yaml $(tag) == 'package-2021-05-01-preview-only' input-file: +- Microsoft.Insights/preview/2021-05-01-preview/autoscale_API.json - Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettings_API.json - Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettingsCategories_API.json - Microsoft.Insights/preview/2021-05-01-preview/managementGroupDiagnosticSettings_API.json @@ -710,6 +770,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby @@ -818,6 +879,9 @@ directive: - suppress: DefaultErrorResponseSchema from: metricDefinitions_API.json reason: 'Updating the error response to the new format would be a breaking change.' + - suppress: DefaultErrorResponseSchema + from: actionGroups_API.json + reason: 'Updating the error response to the new format would be a breaking change.' - suppress: OperationsAPIImplementation from: operations_API.json where: $.paths @@ -834,7 +898,10 @@ directive: from: autoscale_API.json where: $.paths reason: 'Operations API is defined in a separate swagger spec for Microsoft.Insights namespace (https://github.com/Azure/azure-rest-api-specs/blob/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/operations_API.json)' - + - suppress: OperationsAPIImplementation + from: actionGroups_API.json + where: $.paths + reason: 'Operations API is defined in a separate swagger spec for Microsoft.Insights namespace (https://github.com/Azure/azure-rest-api-specs/blob/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/operations_API.json)' ``` ``` yaml ($(go) && !$(track2) && $(tag) == 'package-2021-07') || $(csharp) || $(validation) || $(typescript) @@ -857,7 +924,7 @@ directive: reason: Incompatible values (2020-10-01) ``` -``` yaml !$(python) && !$(go) && !$(java) && ($(tag) == 'package-2021-04' || $(tag) == 'package-2021-07') +``` yaml !$(python) && !$(go) && !$(java) && ($(tag) == 'package-2021-04' || $(tag) == 'package-2021-07' || $(tag) == 'package-2021-09') directive: - from: scheduledQueryRule_API.json where: $.parameters diff --git a/specification/monitor/resource-manager/readme.python.md b/specification/monitor/resource-manager/readme.python.md index b793bbc64b51..cf483e953155 100644 --- a/specification/monitor/resource-manager/readme.python.md +++ b/specification/monitor/resource-manager/readme.python.md @@ -18,6 +18,7 @@ Generate all API versions currently shipped for this package ```yaml $(multiapi) && $(track2) clear-output-folder: true batch: + - tag: package-2021-09-01-only - tag: package-2021-05-01-preview-only - tag: package-2021-04-only - tag: package-2020-10-only @@ -51,6 +52,16 @@ clear-output-folder: false perform-load: false ``` +### Tag: package-2021-09-01-only and python + +These settings apply only when `--tag=package-2021-09-01-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-09-01-only' +namespace: $(python-base-namespace).v2021_09_01 +output-folder: $(python-sdks-folder)/$(python-base-folder)/v2021_09_01 +``` + ### Tag: package-2021-07-01-preview-only and python These settings apply only when `--tag=package-2021-07-01-preview-only --python` is specified on the command line. diff --git a/specification/msi/resource-manager/readme.go.md b/specification/msi/resource-manager/readme.go.md index d22cecc34ec2..20de31f01819 100644 --- a/specification/msi/resource-manager/readme.go.md +++ b/specification/msi/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/msi/armmsi +module-name: sdk/resourcemanager/msi/armmsi module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/msi/resource-manager/readme.md b/specification/msi/resource-manager/readme.md index 8719b1a40add..01a75fd7f0b5 100644 --- a/specification/msi/resource-manager/readme.md +++ b/specification/msi/resource-manager/readme.md @@ -67,6 +67,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_msi'] diff --git a/specification/mysql/resource-manager/readme.go.md b/specification/mysql/resource-manager/readme.go.md index aeb29e21a455..79f303849ae8 100644 --- a/specification/mysql/resource-manager/readme.go.md +++ b/specification/mysql/resource-manager/readme.go.md @@ -2,12 +2,28 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION clear-output-folder: true ``` +``` yaml $(go) && $(track2) && $(package-singleservers) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/mysql/armmysql +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + +``` yaml $(go) && $(track2) && $(package-flexibleservers) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/mysql/armmysqlflexibleservers +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/mysql/resource-manager/readme.md b/specification/mysql/resource-manager/readme.md index d93458386cba..8afdd0c012fd 100644 --- a/specification/mysql/resource-manager/readme.md +++ b/specification/mysql/resource-manager/readme.md @@ -173,6 +173,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-resource-manager-schemas diff --git a/specification/mysql/resource-manager/readme.typescript.md b/specification/mysql/resource-manager/readme.typescript.md index f7ab3b2fe14f..9061bf8202e6 100644 --- a/specification/mysql/resource-manager/readme.typescript.md +++ b/specification/mysql/resource-manager/readme.typescript.md @@ -6,8 +6,6 @@ Please also specify `--typescript-sdks-folder=://:." + }, + "timeout": { + "type": "integer", + "format": "int32", + "description": "The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds." + }, + "pickHostNameFromBackendHttpSettings": { + "type": "boolean", + "description": "Whether the host header should be picked from the backend http settings. Default value is false." + }, + "match": { + "$ref": "#/definitions/ApplicationGatewayProbeHealthResponseMatch", + "description": "Criterion for classifying a healthy probe response." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to backend pool of application gateway to which probe request will be sent." + }, + "backendHttpSettings": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to backend http setting of application gateway to be used for test probe." + } + }, + "description": "Details of on demand test probe request." + }, + "ApplicationGatewayBackendHealthOnDemand": { + "properties": { + "backendAddressPool": { + "$ref": "#/definitions/ApplicationGatewayBackendAddressPool", + "description": "Reference to an ApplicationGatewayBackendAddressPool resource." + }, + "backendHealthHttpSettings": { + "$ref": "#/definitions/ApplicationGatewayBackendHealthHttpSettings", + "description": "Application gateway BackendHealthHttp settings." + } + }, + "description": "Result of on demand test probe." + }, + "ApplicationGatewayBackendHealth": { + "properties": { + "backendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendHealthPool" + }, + "description": "A list of ApplicationGatewayBackendHealthPool resources." + } + }, + "description": "Response for ApplicationGatewayBackendHealth API service call." + }, + "ApplicationGatewayBackendHealthPool": { + "properties": { + "backendAddressPool": { + "$ref": "#/definitions/ApplicationGatewayBackendAddressPool", + "description": "Reference to an ApplicationGatewayBackendAddressPool resource." + }, + "backendHttpSettingsCollection": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendHealthHttpSettings" + }, + "description": "List of ApplicationGatewayBackendHealthHttpSettings resources." + } + }, + "description": "Application gateway BackendHealth pool." + }, + "ApplicationGatewayBackendHealthHttpSettings": { + "properties": { + "backendHttpSettings": { + "$ref": "#/definitions/ApplicationGatewayBackendHttpSettings", + "description": "Reference to an ApplicationGatewayBackendHttpSettings resource." + }, + "servers": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendHealthServer" + }, + "description": "List of ApplicationGatewayBackendHealthServer resources." + } + }, + "description": "Application gateway BackendHealthHttp settings." + }, + "ApplicationGatewayBackendHealthServer": { + "properties": { + "address": { + "type": "string", + "description": "IP address or FQDN of backend server." + }, + "ipConfiguration": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration", + "description": "Reference to IP configuration of backend server." + }, + "health": { + "type": "string", + "description": "Health of backend server.", + "enum": [ + "Unknown", + "Up", + "Down", + "Partial", + "Draining" + ], + "x-ms-enum": { + "name": "ApplicationGatewayBackendHealthServerHealth", + "modelAsString": true + } + }, + "healthProbeLog": { + "type": "string", + "description": "Health Probe Log." + } + }, + "description": "Application gateway backendhealth http settings." + }, + "ApplicationGatewaySku": { + "properties": { + "name": { + "type": "string", + "description": "Name of an application gateway SKU.", + "enum": [ + "Standard_Small", + "Standard_Medium", + "Standard_Large", + "WAF_Medium", + "WAF_Large", + "Standard_v2", + "WAF_v2" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Tier of an application gateway.", + "enum": [ + "Standard", + "WAF", + "Standard_v2", + "WAF_v2" + ], + "x-ms-enum": { + "name": "ApplicationGatewayTier", + "modelAsString": true + } + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "Capacity (instance count) of an application gateway." + } + }, + "description": "SKU of an application gateway." + }, + "ApplicationGatewaySslPolicy": { + "properties": { + "disabledSslProtocols": { + "type": "array", + "description": "Ssl protocols to be disabled on application gateway.", + "items": { + "type": "string", + "$ref": "#/definitions/ProtocolsEnum" + } + }, + "policyType": { + "type": "string", + "description": "Type of Ssl Policy.", + "enum": [ + "Predefined", + "Custom" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySslPolicyType", + "modelAsString": true + } + }, + "policyName": { + "$ref": "#/definitions/PolicyNameEnum", + "description": "Name of Ssl predefined policy." + }, + "cipherSuites": { + "type": "array", + "items": { + "$ref": "#/definitions/CipherSuitesEnum" + }, + "description": "Ssl cipher suites to be enabled in the specified order to application gateway." + }, + "minProtocolVersion": { + "$ref": "#/definitions/ProtocolsEnum", + "description": "Minimum version of Ssl protocol to be supported on application gateway." + } + }, + "description": "Application Gateway Ssl policy." + }, + "ApplicationGatewayClientAuthConfiguration": { + "properties": { + "verifyClientCertIssuerDN": { + "type": "boolean", + "description": "Verify client certificate issuer name on the application gateway." + } + }, + "description": "Application gateway client authentication configuration." + }, + "ApplicationGatewayIPConfigurationPropertiesFormat": { + "properties": { + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the subnet resource. A subnet from where application gateway gets its private address." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application gateway IP configuration resource." + } + }, + "description": "Properties of IP configuration of an application gateway." + }, + "ApplicationGatewayIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayIPConfigurationPropertiesFormat", + "description": "Properties of the application gateway IP configuration." + }, + "name": { + "type": "string", + "description": "Name of the IP configuration 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": "IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed." + }, + "ApplicationGatewayAuthenticationCertificatePropertiesFormat": { + "properties": { + "data": { + "type": "string", + "description": "Certificate public data." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the authentication certificate resource." + } + }, + "description": "Authentication certificates properties of an application gateway." + }, + "ApplicationGatewayAuthenticationCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayAuthenticationCertificatePropertiesFormat", + "description": "Properties of the application gateway authentication certificate." + }, + "name": { + "type": "string", + "description": "Name of the authentication certificate 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": "Authentication certificates of an application gateway." + }, + "ApplicationGatewayTrustedRootCertificatePropertiesFormat": { + "properties": { + "data": { + "type": "string", + "description": "Certificate public data." + }, + "keyVaultSecretId": { + "type": "string", + "description": "Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the trusted root certificate resource." + } + }, + "description": "Trusted Root certificates properties of an application gateway." + }, + "ApplicationGatewayTrustedRootCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayTrustedRootCertificatePropertiesFormat", + "description": "Properties of the application gateway trusted root certificate." + }, + "name": { + "type": "string", + "description": "Name of the trusted root certificate 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": "Trusted Root certificates of an application gateway." + }, + "ApplicationGatewayTrustedClientCertificatePropertiesFormat": { + "properties": { + "data": { + "type": "string", + "description": "Certificate public data." + }, + "validatedCertData": { + "readOnly": true, + "type": "string", + "description": "Validated certificate data." + }, + "clientCertIssuerDN": { + "readOnly": true, + "type": "string", + "description": "Distinguished name of client certificate issuer." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the trusted client certificate resource." + } + }, + "description": "Trusted client certificates properties of an application gateway." + }, + "ApplicationGatewayTrustedClientCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayTrustedClientCertificatePropertiesFormat", + "description": "Properties of the application gateway trusted client certificate." + }, + "name": { + "type": "string", + "description": "Name of the trusted client certificate 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": "Trusted client certificates of an application gateway." + }, + "ApplicationGatewaySslCertificatePropertiesFormat": { + "properties": { + "data": { + "type": "string", + "description": "Base-64 encoded pfx certificate. Only applicable in PUT Request." + }, + "password": { + "type": "string", + "description": "Password for the pfx file specified in data. Only applicable in PUT request." + }, + "publicCertData": { + "readOnly": true, + "type": "string", + "description": "Base-64 encoded Public cert data corresponding to pfx specified in data. Only applicable in GET request." + }, + "keyVaultSecretId": { + "type": "string", + "description": "Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the SSL certificate resource." + } + }, + "description": "Properties of SSL certificates of an application gateway." + }, + "ApplicationGatewaySslCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewaySslCertificatePropertiesFormat", + "description": "Properties of the application gateway SSL certificate." + }, + "name": { + "type": "string", + "description": "Name of the SSL certificate 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": "SSL certificates of an application gateway." + }, + "ApplicationGatewayFrontendIPConfigurationPropertiesFormat": { + "properties": { + "privateIPAddress": { + "type": "string", + "description": "PrivateIPAddress of the network interface IP Configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method." + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the subnet resource." + }, + "publicIPAddress": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the PublicIP resource." + }, + "privateLinkConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the application gateway private link configuration." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the frontend IP configuration resource." + } + }, + "description": "Properties of Frontend IP configuration of an application gateway." + }, + "ApplicationGatewayFrontendIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayFrontendIPConfigurationPropertiesFormat", + "description": "Properties of the application gateway frontend IP configuration." + }, + "name": { + "type": "string", + "description": "Name of the frontend IP configuration 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": "Frontend IP configuration of an application gateway." + }, + "ApplicationGatewayFrontendPortPropertiesFormat": { + "properties": { + "port": { + "type": "integer", + "format": "int32", + "description": "Frontend port." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the frontend port resource." + } + }, + "description": "Properties of Frontend port of an application gateway." + }, + "ApplicationGatewayFrontendPort": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayFrontendPortPropertiesFormat", + "description": "Properties of the application gateway frontend port." + }, + "name": { + "type": "string", + "description": "Name of the frontend port 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": "Frontend port of an application gateway." + }, + "ApplicationGatewayBackendAddress": { + "properties": { + "fqdn": { + "type": "string", + "description": "Fully qualified domain name (FQDN)." + }, + "ipAddress": { + "type": "string", + "description": "IP address." + } + }, + "description": "Backend address of an application gateway." + }, + "ApplicationGatewayBackendAddressPoolPropertiesFormat": { + "properties": { + "backendIPConfigurations": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" + }, + "description": "Collection of references to IPs defined in network interfaces." + }, + "backendAddresses": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendAddress" + }, + "description": "Backend addresses." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the backend address pool resource." + } + }, + "description": "Properties of Backend Address Pool of an application gateway." + }, + "ApplicationGatewayBackendAddressPool": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayBackendAddressPoolPropertiesFormat", + "description": "Properties of the application gateway backend address pool." + }, + "name": { + "type": "string", + "description": "Name of the backend address pool 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": "Backend Address Pool of an application gateway." + }, + "ApplicationGatewayBackendHttpSettingsPropertiesFormat": { + "properties": { + "port": { + "type": "integer", + "format": "int32", + "description": "The destination port on the backend." + }, + "protocol": { + "$ref": "#/definitions/ApplicationGatewayProtocol", + "description": "The protocol used to communicate with the backend." + }, + "cookieBasedAffinity": { + "type": "string", + "description": "Cookie based affinity.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ApplicationGatewayCookieBasedAffinity", + "modelAsString": true + } + }, + "requestTimeout": { + "type": "integer", + "format": "int32", + "description": "Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds." + }, + "probe": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Probe resource of an application gateway." + }, + "authenticationCertificates": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Array of references to application gateway authentication certificates." + }, + "trustedRootCertificates": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Array of references to application gateway trusted root certificates." + }, + "connectionDraining": { + "$ref": "#/definitions/ApplicationGatewayConnectionDraining", + "description": "Connection draining of the backend http settings resource." + }, + "hostName": { + "type": "string", + "description": "Host header to be sent to the backend servers." + }, + "pickHostNameFromBackendAddress": { + "type": "boolean", + "description": "Whether to pick host header should be picked from the host name of the backend server. Default value is false." + }, + "affinityCookieName": { + "type": "string", + "description": "Cookie name to use for the affinity cookie." + }, + "probeEnabled": { + "type": "boolean", + "description": "Whether the probe is enabled. Default value is false." + }, + "path": { + "type": "string", + "description": "Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is null." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the backend HTTP settings resource." + } + }, + "description": "Properties of Backend address pool settings of an application gateway." + }, + "ApplicationGatewayBackendHttpSettings": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayBackendHttpSettingsPropertiesFormat", + "description": "Properties of the application gateway backend HTTP settings." + }, + "name": { + "type": "string", + "description": "Name of the backend http settings 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": "Backend address pool settings of an application gateway." + }, + "ApplicationGatewaySslProfilePropertiesFormat": { + "properties": { + "trustedClientCertificates": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Array of references to application gateway trusted client certificates." + }, + "sslPolicy": { + "$ref": "#/definitions/ApplicationGatewaySslPolicy", + "description": "SSL policy of the application gateway resource." + }, + "clientAuthConfiguration": { + "$ref": "#/definitions/ApplicationGatewayClientAuthConfiguration", + "description": "Client authentication configuration of the application gateway resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the HTTP listener resource." + } + }, + "description": "Properties of SSL profile of an application gateway." + }, + "ApplicationGatewaySslProfile": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewaySslProfilePropertiesFormat", + "description": "Properties of the application gateway SSL profile." + }, + "name": { + "type": "string", + "description": "Name of the SSL profile 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": "SSL profile of an application gateway." + }, + "ApplicationGatewayHttpListenerPropertiesFormat": { + "properties": { + "frontendIPConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Frontend IP configuration resource of an application gateway." + }, + "frontendPort": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Frontend port resource of an application gateway." + }, + "protocol": { + "$ref": "#/definitions/ApplicationGatewayProtocol", + "description": "Protocol of the HTTP listener." + }, + "hostName": { + "type": "string", + "description": "Host name of HTTP listener." + }, + "sslCertificate": { + "$ref": "./network.json#/definitions/SubResource", + "description": "SSL certificate resource of an application gateway." + }, + "sslProfile": { + "$ref": "./network.json#/definitions/SubResource", + "description": "SSL profile resource of the application gateway." + }, + "requireServerNameIndication": { + "type": "boolean", + "description": "Applicable only if protocol is https. Enables SNI for multi-hosting." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the HTTP listener resource." + }, + "customErrorConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayCustomError" + }, + "description": "Custom error configurations of the HTTP listener." + }, + "firewallPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the FirewallPolicy resource." + }, + "hostNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of Host names for HTTP Listener that allows special wildcard characters as well." + } + }, + "description": "Properties of HTTP listener of an application gateway." + }, + "ApplicationGatewayHttpListener": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat", + "description": "Properties of the application gateway HTTP listener." + }, + "name": { + "type": "string", + "description": "Name of the HTTP listener 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": "Http listener of an application gateway." + }, + "ApplicationGatewayPathRulePropertiesFormat": { + "properties": { + "paths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Path rules of URL path map." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend address pool resource of URL path map path rule." + }, + "backendHttpSettings": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend http settings resource of URL path map path rule." + }, + "redirectConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Redirect configuration resource of URL path map path rule." + }, + "rewriteRuleSet": { + "$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", + "description": "The provisioning state of the path rule resource." + }, + "firewallPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the FirewallPolicy resource." + } + }, + "description": "Properties of path rule of an application gateway." + }, + "ApplicationGatewayPathRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPathRulePropertiesFormat", + "description": "Properties of the application gateway path rule." + }, + "name": { + "type": "string", + "description": "Name of the path rule 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": "Path rule of URL path map of an application gateway." + }, + "ApplicationGatewayProbePropertiesFormat": { + "properties": { + "protocol": { + "$ref": "#/definitions/ApplicationGatewayProtocol", + "description": "The protocol used for the probe." + }, + "host": { + "type": "string", + "description": "Host name to send the probe to." + }, + "path": { + "type": "string", + "description": "Relative path of probe. Valid path starts from '/'. Probe is sent to ://:." + }, + "interval": { + "type": "integer", + "format": "int32", + "description": "The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds." + }, + "timeout": { + "type": "integer", + "format": "int32", + "description": "The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds." + }, + "unhealthyThreshold": { + "type": "integer", + "format": "int32", + "description": "The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20." + }, + "pickHostNameFromBackendHttpSettings": { + "type": "boolean", + "description": "Whether the host header should be picked from the backend http settings. Default value is false." + }, + "minServers": { + "type": "integer", + "format": "int32", + "description": "Minimum number of servers that are always marked healthy. Default value is 0." + }, + "match": { + "$ref": "#/definitions/ApplicationGatewayProbeHealthResponseMatch", + "description": "Criterion for classifying a healthy probe response." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the probe resource." + }, + "port": { + "type": "integer", + "format": "int32", + "description": "Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from http settings will be used. This property is valid for Standard_v2 and WAF_v2 only.", + "minimum": 1, + "maximum": 65535 + } + }, + "description": "Properties of probe of an application gateway." + }, + "ApplicationGatewayProbeHealthResponseMatch": { + "properties": { + "body": { + "type": "string", + "description": "Body that must be contained in the health response. Default value is empty." + }, + "statusCodes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399." + } + }, + "description": "Application gateway probe health response match." + }, + "ApplicationGatewayProbe": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayProbePropertiesFormat", + "description": "Properties of the application gateway probe." + }, + "name": { + "type": "string", + "description": "Name of the probe 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": "Probe of the application gateway." + }, + "ApplicationGatewayRequestRoutingRulePropertiesFormat": { + "properties": { + "ruleType": { + "type": "string", + "description": "Rule type.", + "enum": [ + "Basic", + "PathBasedRouting" + ], + "x-ms-enum": { + "name": "ApplicationGatewayRequestRoutingRuleType", + "modelAsString": true + } + }, + "priority": { + "type": "integer", + "format": "int32", + "minimum": 1, + "exclusiveMinimum": false, + "maximum": 20000, + "exclusiveMaximum": false, + "description": "Priority of the request routing rule." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend address pool resource of the application gateway." + }, + "backendHttpSettings": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend http settings resource of the application gateway." + }, + "httpListener": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Http listener resource of the application gateway." + }, + "urlPathMap": { + "$ref": "./network.json#/definitions/SubResource", + "description": "URL path map resource of the application gateway." + }, + "rewriteRuleSet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Rewrite Rule Set resource in Basic rule of the application gateway." + }, + "redirectConfiguration": { + "$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", + "description": "The provisioning state of the request routing rule resource." + } + }, + "description": "Properties of request routing rule of the application gateway." + }, + "ApplicationGatewayRequestRoutingRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayRequestRoutingRulePropertiesFormat", + "description": "Properties of the application gateway request routing rule." + }, + "name": { + "type": "string", + "description": "Name of the request routing rule 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": "Request routing rule of an application gateway." + }, + "ApplicationGatewayRewriteRuleSet": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayRewriteRuleSetPropertiesFormat", + "description": "Properties of the application gateway rewrite rule set." + }, + "name": { + "type": "string", + "description": "Name of the rewrite rule set 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." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Rewrite rule set of an application gateway." + }, + "ApplicationGatewayRewriteRuleSetPropertiesFormat": { + "properties": { + "rewriteRules": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRewriteRule" + }, + "description": "Rewrite rules in the rewrite rule set." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the rewrite rule set resource." + } + }, + "description": "Properties of rewrite rule set of the application gateway." + }, + "ApplicationGatewayRewriteRule": { + "properties": { + "name": { + "type": "string", + "description": "Name of the rewrite rule that is unique within an Application Gateway." + }, + "ruleSequence": { + "type": "integer", + "description": "Rule Sequence of the rewrite rule that determines the order of execution of a particular rule in a RewriteRuleSet." + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRewriteRuleCondition" + }, + "description": "Conditions based on which the action set execution will be evaluated." + }, + "actionSet": { + "type": "object", + "$ref": "#/definitions/ApplicationGatewayRewriteRuleActionSet", + "description": "Set of actions to be done as part of the rewrite Rule." + } + }, + "description": "Rewrite rule of an application gateway." + }, + "ApplicationGatewayRewriteRuleCondition": { + "properties": { + "variable": { + "type": "string", + "description": "The condition parameter of the RewriteRuleCondition." + }, + "pattern": { + "type": "string", + "description": "The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition." + }, + "ignoreCase": { + "type": "boolean", + "description": "Setting this parameter to truth value with force the pattern to do a case in-sensitive comparison." + }, + "negate": { + "type": "boolean", + "description": "Setting this value as truth will force to check the negation of the condition given by the user." + } + }, + "description": "Set of conditions in the Rewrite Rule in Application Gateway." + }, + "ApplicationGatewayRewriteRuleActionSet": { + "properties": { + "requestHeaderConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayHeaderConfiguration" + }, + "description": "Request Header Actions in the Action Set." + }, + "responseHeaderConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayHeaderConfiguration" + }, + "description": "Response Header Actions in the Action Set." + }, + "urlConfiguration": { + "$ref": "#/definitions/ApplicationGatewayUrlConfiguration", + "description": "Url Configuration Action in the Action Set." + } + }, + "description": "Set of actions in the Rewrite Rule in Application Gateway." + }, + "ApplicationGatewayHeaderConfiguration": { + "properties": { + "headerName": { + "type": "string", + "description": "Header name of the header configuration." + }, + "headerValue": { + "type": "string", + "description": "Header value of the header configuration." + } + }, + "description": "Header configuration of the Actions set in Application Gateway." + }, + "ApplicationGatewayUrlConfiguration": { + "properties": { + "modifiedPath": { + "type": "string", + "description": "Url path which user has provided for url rewrite. Null means no path will be updated. Default value is null." + }, + "modifiedQueryString": { + "type": "string", + "description": "Query string which user has provided for url rewrite. Null means no query string will be updated. Default value is null." + }, + "reroute": { + "type": "boolean", + "description": "If set as true, it will re-evaluate the url path map provided in path based request routing rules using modified path. Default value is false." + } + }, + "description": "Url configuration of the Actions set in Application Gateway." + }, + "ApplicationGatewayRedirectConfigurationPropertiesFormat": { + "properties": { + "redirectType": { + "type": "string", + "$ref": "#/definitions/RedirectTypeEnum", + "description": "HTTP redirection type." + }, + "targetListener": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to a listener to redirect the request to." + }, + "targetUrl": { + "type": "string", + "description": "Url to redirect the request to." + }, + "includePath": { + "type": "boolean", + "description": "Include path in the redirected url." + }, + "includeQueryString": { + "type": "boolean", + "description": "Include query string in the redirected url." + }, + "requestRoutingRules": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Request routing specifying redirect configuration." + }, + "urlPathMaps": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Url path maps specifying default redirect configuration." + }, + "pathRules": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Path rules specifying redirect configuration." + } + }, + "description": "Properties of redirect configuration of the application gateway." + }, + "ApplicationGatewayRedirectConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayRedirectConfigurationPropertiesFormat", + "description": "Properties of the application gateway redirect configuration." + }, + "name": { + "type": "string", + "description": "Name of the redirect configuration 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": "Redirect configuration of an application gateway." + }, + "ApplicationGatewayPrivateLinkConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPrivateLinkConfigurationProperties", + "description": "Properties of the application gateway private link configuration." + }, + "name": { + "type": "string", + "description": "Name of the private link configuration 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": "Private Link Configuration on an application gateway." + }, + "ApplicationGatewayPrivateLinkConfigurationProperties": { + "properties": { + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateLinkIpConfiguration" + }, + "description": "An array of application gateway private link ip configurations." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application gateway private link configuration." + } + }, + "description": "Properties of private link configuration on an application gateway." + }, + "ApplicationGatewayPrivateLinkIpConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPrivateLinkIpConfigurationProperties", + "description": "Properties of an application gateway private link ip configuration." + }, + "name": { + "type": "string", + "description": "The name of application gateway private link ip configuration." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "The application gateway private link ip configuration." + }, + "ApplicationGatewayPrivateLinkIpConfigurationProperties": { + "properties": { + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method." + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the subnet resource." + }, + "primary": { + "type": "boolean", + "description": "Whether the ip configuration is primary or not." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application gateway private link IP configuration." + } + }, + "description": "Properties of an application gateway private link IP configuration." + }, + "ApplicationGatewayPrivateLinkResource": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPrivateLinkResourceProperties", + "description": "Properties of the application gateway private link resource." + }, + "name": { + "type": "string", + "description": "Name of the private link resource 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": "PrivateLink Resource of an application gateway." + }, + "ApplicationGatewayPrivateLinkResourceProperties": { + "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." + }, + "ApplicationGatewayPrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateLinkResource" + }, + "description": "List of private link resources of an application gateway." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListApplicationGatewayPrivateLinkResources API service call. Gets all private link resources for an application gateway." + }, + "ApplicationGatewayPrivateEndpointConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnectionProperties", + "description": "Properties of the application gateway private endpoint connection." + }, + "name": { + "type": "string", + "description": "Name of the private endpoint connection on 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": "Private Endpoint connection on an application gateway." + }, + "ApplicationGatewayPrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "readOnly": true, + "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "privateLinkServiceConnectionState": { + "$ref": "./privateLinkService.json#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application gateway private endpoint connection resource." + }, + "linkIdentifier": { + "readOnly": true, + "type": "string", + "description": "The consumer link id." + } + }, + "description": "Properties of Private Link Resource of an application gateway." + }, + "ApplicationGatewayPrivateEndpointConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnection" + }, + "description": "List of private endpoint connections on an application gateway." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListApplicationGatewayPrivateEndpointConnection API service call. Gets all private endpoint connections for an application gateway." + }, + "ApplicationGatewayPropertiesFormat": { + "properties": { + "sku": { + "$ref": "#/definitions/ApplicationGatewaySku", + "description": "SKU of the application gateway resource." + }, + "sslPolicy": { + "$ref": "#/definitions/ApplicationGatewaySslPolicy", + "description": "SSL policy of the application gateway resource." + }, + "operationalState": { + "readOnly": true, + "type": "string", + "description": "Operational state of the application gateway resource.", + "enum": [ + "Stopped", + "Starting", + "Running", + "Stopping" + ], + "x-ms-enum": { + "name": "ApplicationGatewayOperationalState", + "modelAsString": true + } + }, + "gatewayIPConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayIPConfiguration" + }, + "description": "Subnets of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "authenticationCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayAuthenticationCertificate" + }, + "description": "Authentication certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "trustedRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayTrustedRootCertificate" + }, + "description": "Trusted Root certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "trustedClientCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayTrustedClientCertificate" + }, + "description": "Trusted client certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "sslCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewaySslCertificate" + }, + "description": "SSL certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "frontendIPConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFrontendIPConfiguration" + }, + "description": "Frontend IP addresses of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "frontendPorts": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFrontendPort" + }, + "description": "Frontend ports of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "probes": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayProbe" + }, + "description": "Probes of the application gateway resource." + }, + "backendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendAddressPool" + }, + "description": "Backend address pool of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "backendHttpSettingsCollection": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendHttpSettings" + }, + "description": "Backend http settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "httpListeners": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayHttpListener" + }, + "description": "Http listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "sslProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewaySslProfile" + }, + "description": "SSL profiles of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "urlPathMaps": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayUrlPathMap" + }, + "description": "URL path map of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "requestRoutingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRequestRoutingRule" + }, + "description": "Request routing rules of the application gateway resource." + }, + "rewriteRuleSets": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRewriteRuleSet" + }, + "description": "Rewrite rules for the application gateway resource." + }, + "redirectConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRedirectConfiguration" + }, + "description": "Redirect configurations of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "webApplicationFirewallConfiguration": { + "$ref": "#/definitions/ApplicationGatewayWebApplicationFirewallConfiguration", + "description": "Web application firewall configuration." + }, + "firewallPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the FirewallPolicy resource." + }, + "enableHttp2": { + "type": "boolean", + "description": "Whether HTTP2 is enabled on the application gateway resource." + }, + "enableFips": { + "type": "boolean", + "description": "Whether FIPS is enabled on the application gateway resource." + }, + "autoscaleConfiguration": { + "$ref": "#/definitions/ApplicationGatewayAutoscaleConfiguration", + "description": "Autoscale Configuration." + }, + "privateLinkConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateLinkConfiguration" + }, + "description": "PrivateLink configurations on application gateway." + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnection" + }, + "description": "Private Endpoint connections on application gateway." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the application gateway resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application gateway resource." + }, + "customErrorConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayCustomError" + }, + "description": "Custom error configurations of the application gateway resource." + }, + "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." + }, + "ApplicationGateway": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPropertiesFormat", + "description": "Properties of the application gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting where the resource needs to come from." + }, + "identity": { + "$ref": "./network.json#/definitions/ManagedServiceIdentity", + "description": "The identity of the application gateway, if configured." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Application gateway resource." + }, + "ApplicationGatewayListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGateway" + }, + "description": "List of an application gateways in a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListApplicationGateways API service call." + }, + "ApplicationGatewayUrlPathMapPropertiesFormat": { + "properties": { + "defaultBackendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Default backend address pool resource of URL path map." + }, + "defaultBackendHttpSettings": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Default backend http settings resource of URL path map." + }, + "defaultRewriteRuleSet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Default Rewrite rule set resource of URL path map." + }, + "defaultRedirectConfiguration": { + "$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": { + "$ref": "#/definitions/ApplicationGatewayPathRule" + }, + "description": "Path rule of URL path map resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the URL path map resource." + } + }, + "description": "Properties of UrlPathMap of the application gateway." + }, + "ApplicationGatewayUrlPathMap": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayUrlPathMapPropertiesFormat", + "description": "Properties of the application gateway URL path map." + }, + "name": { + "type": "string", + "description": "Name of the URL path map 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": "UrlPathMaps give a url path to the backend mapping information for PathBasedRouting." + }, + "ApplicationGatewayWebApplicationFirewallConfiguration": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the web application firewall is enabled or not." + }, + "firewallMode": { + "type": "string", + "description": "Web application firewall mode.", + "enum": [ + "Detection", + "Prevention" + ], + "x-ms-enum": { + "name": "ApplicationGatewayFirewallMode", + "modelAsString": true + } + }, + "ruleSetType": { + "type": "string", + "description": "The type of the web application firewall rule set. Possible values are: 'OWASP'." + }, + "ruleSetVersion": { + "type": "string", + "description": "The version of the rule set type." + }, + "disabledRuleGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallDisabledRuleGroup" + }, + "description": "The disabled rule groups." + }, + "requestBodyCheck": { + "type": "boolean", + "description": "Whether allow WAF to check request Body." + }, + "maxRequestBodySize": { + "type": "integer", + "format": "int32", + "maximum": 128, + "exclusiveMaximum": false, + "minimum": 8, + "exclusiveMinimum": false, + "description": "Maximum request body size for WAF." + }, + "maxRequestBodySizeInKb": { + "type": "integer", + "format": "int32", + "maximum": 128, + "exclusiveMaximum": false, + "minimum": 8, + "exclusiveMinimum": false, + "description": "Maximum request body size in Kb for WAF." + }, + "fileUploadLimitInMb": { + "type": "integer", + "format": "int32", + "minimum": 0, + "exclusiveMinimum": false, + "description": "Maximum file upload size in Mb for WAF." + }, + "exclusions": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallExclusion" + }, + "description": "The exclusion list." + } + }, + "required": [ + "enabled", + "firewallMode", + "ruleSetType", + "ruleSetVersion" + ], + "description": "Application gateway web application firewall configuration." + }, + "ApplicationGatewayAutoscaleConfiguration": { + "properties": { + "minCapacity": { + "type": "integer", + "format": "int32", + "minimum": 0, + "exclusiveMinimum": false, + "description": "Lower bound on number of Application Gateway capacity." + }, + "maxCapacity": { + "type": "integer", + "format": "int32", + "minimum": 2, + "exclusiveMinimum": false, + "description": "Upper bound on number of Application Gateway capacity." + } + }, + "required": [ + "minCapacity" + ], + "description": "Application Gateway autoscale configuration." + }, + "ApplicationGatewayConnectionDraining": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether connection draining is enabled or not." + }, + "drainTimeoutInSec": { + "type": "integer", + "format": "int32", + "maximum": 3600, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false, + "description": "The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds." + } + }, + "required": [ + "enabled", + "drainTimeoutInSec" + ], + "description": "Connection draining allows open connections to a backend server to be active for a specified time after the backend server got removed from the configuration." + }, + "ApplicationGatewayFirewallDisabledRuleGroup": { + "properties": { + "ruleGroupName": { + "type": "string", + "description": "The name of the rule group that will be disabled." + }, + "rules": { + "type": "array", + "items": { + "type": "integer", + "format": "int32", + "x-nullable": false + }, + "description": "The list of rules that will be disabled. If null, all rules of the rule group will be disabled." + } + }, + "required": [ + "ruleGroupName" + ], + "description": "Allows to disable rules within a rule group or an entire rule group." + }, + "ApplicationGatewayAvailableServerVariablesResult": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Response for ApplicationGatewayAvailableServerVariables API service call." + }, + "ApplicationGatewayAvailableRequestHeadersResult": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Response for ApplicationGatewayAvailableRequestHeaders API service call." + }, + "ApplicationGatewayAvailableResponseHeadersResult": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Response for ApplicationGatewayAvailableResponseHeaders API service call." + }, + "ApplicationGatewayFirewallExclusion": { + "properties": { + "matchVariable": { + "type": "string", + "description": "The variable to be excluded." + }, + "selectorMatchOperator": { + "type": "string", + "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to." + }, + "selector": { + "type": "string", + "description": "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to." + } + }, + "required": [ + "matchVariable", + "selectorMatchOperator", + "selector" + ], + "description": "Allow to exclude some variable satisfy the condition for the WAF check." + }, + "ApplicationGatewayAvailableWafRuleSetsResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallRuleSet" + }, + "description": "The list of application gateway rule sets." + } + }, + "description": "Response for ApplicationGatewayAvailableWafRuleSets API service call." + }, + "ApplicationGatewayFirewallRuleSet": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayFirewallRuleSetPropertiesFormat", + "description": "Properties of the application gateway firewall rule set." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "A web application firewall rule set." + }, + "ApplicationGatewayFirewallRuleSetPropertiesFormat": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the web application firewall rule set." + }, + "ruleSetType": { + "type": "string", + "description": "The type of the web application firewall rule set." + }, + "ruleSetVersion": { + "type": "string", + "description": "The version of the web application firewall rule set type." + }, + "ruleGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallRuleGroup" + }, + "description": "The rule groups of the web application firewall rule set." + } + }, + "required": [ + "ruleSetType", + "ruleSetVersion", + "ruleGroups" + ], + "description": "Properties of the web application firewall rule set." + }, + "ApplicationGatewayFirewallRuleGroup": { + "properties": { + "ruleGroupName": { + "type": "string", + "description": "The name of the web application firewall rule group." + }, + "description": { + "type": "string", + "description": "The description of the web application firewall rule group." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallRule" + }, + "description": "The rules of the web application firewall rule group." + } + }, + "required": [ + "ruleGroupName", + "rules" + ], + "description": "A web application firewall rule group." + }, + "ApplicationGatewayFirewallRule": { + "properties": { + "ruleId": { + "type": "integer", + "format": "int32", + "description": "The identifier of the web application firewall rule." + }, + "description": { + "type": "string", + "description": "The description of the web application firewall rule." + } + }, + "required": [ + "ruleId" + ], + "description": "A web application firewall rule." + }, + "ApplicationGatewayAvailableSslOptions": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayAvailableSslOptionsPropertiesFormat", + "description": "Properties of the application gateway available SSL options." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Response for ApplicationGatewayAvailableSslOptions API service call." + }, + "ApplicationGatewayAvailableSslOptionsPropertiesFormat": { + "properties": { + "predefinedPolicies": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of available Ssl predefined policy." + }, + "defaultPolicy": { + "$ref": "#/definitions/PolicyNameEnum", + "description": "Name of the Ssl predefined policy applied by default to application gateway." + }, + "availableCipherSuites": { + "type": "array", + "items": { + "$ref": "#/definitions/CipherSuitesEnum" + }, + "description": "List of available Ssl cipher suites." + }, + "availableProtocols": { + "type": "array", + "items": { + "$ref": "#/definitions/ProtocolsEnum" + }, + "description": "List of available Ssl protocols." + } + }, + "description": "Properties of ApplicationGatewayAvailableSslOptions." + }, + "ApplicationGatewayAvailableSslPredefinedPolicies": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewaySslPredefinedPolicy" + }, + "description": "List of available Ssl predefined policy." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ApplicationGatewayAvailableSslOptions API service call." + }, + "ApplicationGatewaySslPredefinedPolicy": { + "properties": { + "name": { + "type": "string", + "description": "Name of the Ssl predefined policy." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewaySslPredefinedPolicyPropertiesFormat", + "description": "Properties of the application gateway SSL predefined policy." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "An Ssl predefined policy." + }, + "ApplicationGatewaySslPredefinedPolicyPropertiesFormat": { + "properties": { + "cipherSuites": { + "type": "array", + "items": { + "$ref": "#/definitions/CipherSuitesEnum" + }, + "description": "Ssl cipher suites to be enabled in the specified order for application gateway." + }, + "minProtocolVersion": { + "$ref": "#/definitions/ProtocolsEnum", + "description": "Minimum version of Ssl protocol to be supported on application gateway." + } + }, + "description": "Properties of ApplicationGatewaySslPredefinedPolicy." + }, + "ApplicationGatewayCustomError": { + "properties": { + "statusCode": { + "type": "string", + "description": "Status code of the application gateway customer error.", + "enum": [ + "HttpStatus403", + "HttpStatus502" + ], + "x-ms-enum": { + "name": "ApplicationGatewayCustomErrorStatusCode", + "modelAsString": true + } + }, + "customErrorPageUrl": { + "type": "string", + "description": "Error page URL of the application gateway customer error." + } + }, + "description": "Customer error of an application gateway." + }, + "PolicyNameEnum": { + "type": "string", + "description": "Ssl predefined policy name enums.", + "enum": [ + "AppGwSslPolicy20150501", + "AppGwSslPolicy20170401", + "AppGwSslPolicy20170401S" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySslPolicyName", + "modelAsString": true + } + }, + "ProtocolsEnum": { + "type": "string", + "description": "Ssl protocol enums.", + "enum": [ + "TLSv1_0", + "TLSv1_1", + "TLSv1_2" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySslProtocol", + "modelAsString": true + } + }, + "CipherSuitesEnum": { + "type": "string", + "description": "Ssl cipher suites enums.", + "enum": [ + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_AES_256_GCM_SHA384", + "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", + "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySslCipherSuite", + "modelAsString": true + } + }, + "RedirectTypeEnum": { + "type": "string", + "description": "Redirect type enum.", + "enum": [ + "Permanent", + "Found", + "SeeOther", + "Temporary" + ], + "x-ms-enum": { + "name": "ApplicationGatewayRedirectType", + "modelAsString": true + } + }, + "ApplicationGatewayProtocol": { + "type": "string", + "description": "Application Gateway protocol.", + "enum": [ + "Http", + "Https" + ], + "x-ms-enum": { + "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/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/applicationSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/applicationSecurityGroup.json new file mode 100644 index 000000000000..5330acab0d73 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/applicationSecurityGroup.json @@ -0,0 +1,406 @@ +{ + "swagger": "2.0", + "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-05-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.Network/applicationSecurityGroups/{applicationSecurityGroupName}": { + "delete": { + "tags": [ + "ApplicationSecurityGroups" + ], + "operationId": "ApplicationSecurityGroups_Delete", + "description": "Deletes the specified application security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application security group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "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" + }, + "x-ms-examples": { + "Delete application security group": { + "$ref": "./examples/ApplicationSecurityGroupDelete.json" + } + } + }, + "get": { + "tags": [ + "ApplicationSecurityGroups" + ], + "operationId": "ApplicationSecurityGroups_Get", + "description": "Gets information about the specified application security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application security group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the specified application security group resource.", + "schema": { + "$ref": "#/definitions/ApplicationSecurityGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get application security group": { + "$ref": "./examples/ApplicationSecurityGroupGet.json" + } + } + }, + "put": { + "tags": [ + "ApplicationSecurityGroups" + ], + "operationId": "ApplicationSecurityGroups_CreateOrUpdate", + "description": "Creates or updates an application security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application security group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationSecurityGroup" + }, + "description": "Parameters supplied to the create or update ApplicationSecurityGroup operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting application security group resource.", + "schema": { + "$ref": "#/definitions/ApplicationSecurityGroup" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting application security group resource.", + "schema": { + "$ref": "#/definitions/ApplicationSecurityGroup" + } + }, + "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" + }, + "x-ms-examples": { + "Create application security group": { + "$ref": "./examples/ApplicationSecurityGroupCreate.json" + } + } + }, + "patch": { + "tags": [ + "applicationSecurityGroups" + ], + "operationId": "ApplicationSecurityGroups_UpdateTags", + "description": "Updates an application security group's tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application security group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update application security group tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ApplicationSecurityGroup resource.", + "schema": { + "$ref": "#/definitions/ApplicationSecurityGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update application security group tags": { + "$ref": "./examples/ApplicationSecurityGroupUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups": { + "get": { + "tags": [ + "ApplicationSecurityGroups" + ], + "operationId": "ApplicationSecurityGroups_ListAll", + "description": "Gets all application security groups in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of application security group resources.", + "schema": { + "$ref": "#/definitions/ApplicationSecurityGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all application security groups": { + "$ref": "./examples/ApplicationSecurityGroupListAll.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups": { + "get": { + "tags": [ + "ApplicationSecurityGroups" + ], + "operationId": "ApplicationSecurityGroups_List", + "description": "Gets all the application security groups in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of application security group resources.", + "schema": { + "$ref": "#/definitions/ApplicationSecurityGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List load balancers in resource group": { + "$ref": "./examples/ApplicationSecurityGroupList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ApplicationSecurityGroup": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationSecurityGroupPropertiesFormat", + "description": "Properties of the application security group." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "An application security group in a resource group." + }, + "ApplicationSecurityGroupPropertiesFormat": { + "properties": { + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the application security group resource. It uniquely identifies a resource, even if the user changes its name or migrate the resource across subscriptions or resource groups." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application security group resource." + } + }, + "description": "Application security group properties." + }, + "ApplicationSecurityGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationSecurityGroup" + }, + "description": "A list of application security groups." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "A list of application security groups." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/availableDelegations.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/availableDelegations.json new file mode 100644 index 000000000000..16210f8d4aff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/availableDelegations.json @@ -0,0 +1,178 @@ +{ + "swagger": "2.0", + "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-05-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}/providers/Microsoft.Network/locations/{location}/availableDelegations": { + "get": { + "operationId": "AvailableDelegations_List", + "description": "Gets all of the available subnet delegations for this subscription in this region.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the subnet." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all of the possible delegations for a subnet in this subscription in the region.", + "schema": { + "$ref": "#/definitions/AvailableDelegationsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get available delegations": { + "$ref": "./examples/AvailableDelegationsSubscriptionGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableDelegations": { + "get": { + "operationId": "AvailableResourceGroupDelegations_List", + "description": "Gets all of the available subnet delegations for this resource group in this region.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the domain name." + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all of the possible delegations for a subnet in this subscription in the region.", + "schema": { + "$ref": "#/definitions/AvailableDelegationsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get available delegations in the resource group": { + "$ref": "./examples/AvailableDelegationsResourceGroupGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AvailableDelegationsResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AvailableDelegation" + }, + "description": "An array of available delegations." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "An array of available delegations." + }, + "AvailableDelegation": { + "properties": { + "name": { + "type": "string", + "description": "The name of the AvailableDelegation resource." + }, + "id": { + "type": "string", + "description": "A unique identifier of the AvailableDelegation resource." + }, + "type": { + "type": "string", + "description": "Resource type." + }, + "serviceName": { + "type": "string", + "description": "The name of the service and resource." + }, + "actions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The actions permitted to the service upon delegation." + } + }, + "description": "The serviceName of an AvailableDelegation indicates a possible delegation for a subnet." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/availableServiceAliases.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/availableServiceAliases.json new file mode 100644 index 000000000000..ee08be9c7dca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/availableServiceAliases.json @@ -0,0 +1,171 @@ +{ + "swagger": "2.0", + "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-05-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}/providers/Microsoft.Network/locations/{location}/availableServiceAliases": { + "get": { + "operationId": "AvailableServiceAliases_List", + "description": "Gets all available service aliases for this subscription in this region.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all available service aliases for the subscription in the region.", + "schema": { + "$ref": "#/definitions/AvailableServiceAliasesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get available service aliases": { + "$ref": "./examples/AvailableServiceAliasesList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableServiceAliases": { + "get": { + "operationId": "AvailableServiceAliases_ListByResourceGroup", + "description": "Gets all available service aliases for this resource group in this region.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all available service aliases for the resource group in the region.", + "schema": { + "$ref": "#/definitions/AvailableServiceAliasesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get available service aliases in the resource group": { + "$ref": "./examples/AvailableServiceAliasesListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AvailableServiceAlias": { + "properties": { + "name": { + "type": "string", + "description": "The name of the service alias." + }, + "id": { + "type": "string", + "description": "The ID of the service alias." + }, + "type": { + "type": "string", + "description": "The type of the resource." + }, + "resourceName": { + "type": "string", + "description": "The resource name of the service alias." + } + }, + "description": "The available service alias." + }, + "AvailableServiceAliasesResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AvailableServiceAlias" + }, + "description": "An array of available service aliases." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "An array of available service aliases." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/azureFirewall.json new file mode 100644 index 000000000000..6b978f954630 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/azureFirewall.json @@ -0,0 +1,1086 @@ +{ + "swagger": "2.0", + "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-05-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.Network/azureFirewalls/{azureFirewallName}": { + "delete": { + "tags": [ + "AzureFirewalls" + ], + "operationId": "AzureFirewalls_Delete", + "description": "Deletes the specified Azure Firewall.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "azureFirewallName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Firewall." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Azure Firewall": { + "$ref": "./examples/AzureFirewallDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "AzureFirewalls" + ], + "operationId": "AzureFirewalls_Get", + "description": "Gets the specified Azure Firewall.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "azureFirewallName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Firewall." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns an AzureFirewall resource.", + "schema": { + "$ref": "#/definitions/AzureFirewall" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Azure Firewall": { + "$ref": "./examples/AzureFirewallGet.json" + }, + "Get Azure Firewall With Zones": { + "$ref": "./examples/AzureFirewallGetWithZones.json" + }, + "Get Azure Firewall With management subnet": { + "$ref": "./examples/AzureFirewallGetWithMgmtSubnet.json" + }, + "Get Azure Firewall With Additional Properties": { + "$ref": "./examples/AzureFirewallGetWithAdditionalProperties.json" + }, + "Get Azure Firewall With IpGroups": { + "$ref": "./examples/AzureFirewallGetWithIpGroups.json" + } + } + }, + "put": { + "tags": [ + "AzureFirewalls" + ], + "operationId": "AzureFirewalls_CreateOrUpdate", + "description": "Creates or updates the specified Azure Firewall.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "azureFirewallName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 56, + "description": "The name of the Azure Firewall." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AzureFirewall" + }, + "description": "Parameters supplied to the create or update Azure Firewall operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting AzureFirewall resource.", + "schema": { + "$ref": "#/definitions/AzureFirewall" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting AzureFirewall resource.", + "schema": { + "$ref": "#/definitions/AzureFirewall" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Azure Firewall": { + "$ref": "./examples/AzureFirewallPut.json" + }, + "Create Azure Firewall With Zones": { + "$ref": "./examples/AzureFirewallPutWithZones.json" + }, + "Create Azure Firewall With management subnet": { + "$ref": "./examples/AzureFirewallPutWithMgmtSubnet.json" + }, + "Create Azure Firewall in virtual Hub": { + "$ref": "./examples/AzureFirewallPutInHub.json" + }, + "Create Azure Firewall With Additional Properties": { + "$ref": "./examples/AzureFirewallPutWithAdditionalProperties.json" + }, + "Create Azure Firewall With IpGroups": { + "$ref": "./examples/AzureFirewallPutWithIpGroups.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "AzureFirewalls" + ], + "operationId": "AzureFirewalls_UpdateTags", + "description": "Updates tags of an Azure Firewall resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "azureFirewallName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Firewall." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update azure firewall tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Update successful. The operation returns the resulting AzureFirewall resource.", + "schema": { + "$ref": "#/definitions/AzureFirewall" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Azure Firewall Tags": { + "$ref": "./examples/AzureFirewallUpdateTags.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls": { + "get": { + "tags": [ + "AzureFirewalls" + ], + "operationId": "AzureFirewalls_List", + "description": "Lists all Azure Firewalls in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of AzureFirewall resources.", + "schema": { + "$ref": "#/definitions/AzureFirewallListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Azure Firewalls for a given resource group": { + "$ref": "./examples/AzureFirewallListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls": { + "get": { + "tags": [ + "AzureFirewalls" + ], + "operationId": "AzureFirewalls_ListAll", + "description": "Gets all the Azure Firewalls in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of AzureFirewall resources.", + "schema": { + "$ref": "#/definitions/AzureFirewallListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Azure Firewalls for a given subscription": { + "$ref": "./examples/AzureFirewallListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AzureFirewallIPConfigurationPropertiesFormat": { + "properties": { + "privateIPAddress": { + "type": "string", + "readOnly": true, + "description": "The Firewall Internal Load Balancer IP to be used as the next hop in User Defined Routes." + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the subnet resource. This resource must be named 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'." + }, + "publicIPAddress": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the PublicIP resource. This field is a mandatory input if subnet is not null." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the Azure firewall IP configuration resource." + } + }, + "description": "Properties of IP configuration of an Azure Firewall." + }, + "AzureFirewallIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzureFirewallIPConfigurationPropertiesFormat", + "description": "Properties of the azure firewall IP configuration." + }, + "name": { + "type": "string", + "description": "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": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IP configuration of an Azure Firewall." + }, + "AzureFirewallPublicIPAddress": { + "properties": { + "address": { + "type": "string", + "description": "Public IP Address value." + } + }, + "description": "Public IP Address associated with azure firewall." + }, + "AzureFirewallIpGroups": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Resource ID." + }, + "changeNumber": { + "type": "string", + "readOnly": true, + "description": "The iteration number." + } + }, + "description": "IpGroups associated with azure firewall." + }, + "HubPublicIPAddresses": { + "properties": { + "addresses": { + "type": "array", + "description": "The list of Public IP addresses associated with azure firewall or IP addresses to be retained.", + "items": { + "$ref": "#/definitions/AzureFirewallPublicIPAddress" + } + }, + "count": { + "type": "integer", + "format": "int32", + "description": "The number of Public IP addresses associated with azure firewall." + } + }, + "description": "Public IP addresses associated with azure firewall." + }, + "HubIPAddresses": { + "properties": { + "publicIPs": { + "description": "Public IP addresses associated with azure firewall.", + "$ref": "#/definitions/HubPublicIPAddresses" + }, + "privateIPAddress": { + "type": "string", + "description": "Private IP Address associated with azure firewall." + } + }, + "description": "IP addresses associated with azure firewall." + }, + "IpGroups": { + "type": "array", + "description": "List of IpGroups associated with azure firewall.", + "items": { + "$ref": "#/definitions/AzureFirewallIpGroups" + } + }, + "AzureFirewallPropertiesFormat": { + "properties": { + "applicationRuleCollections": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallApplicationRuleCollection" + }, + "description": "Collection of application rule collections used by Azure Firewall." + }, + "natRuleCollections": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallNatRuleCollection" + }, + "description": "Collection of NAT rule collections used by Azure Firewall." + }, + "networkRuleCollections": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallNetworkRuleCollection" + }, + "description": "Collection of network rule collections used by Azure Firewall." + }, + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallIPConfiguration" + }, + "description": "IP configuration of the Azure Firewall resource." + }, + "managementIpConfiguration": { + "$ref": "#/definitions/AzureFirewallIPConfiguration", + "description": "IP configuration of the Azure Firewall used for management traffic." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the Azure firewall resource." + }, + "threatIntelMode": { + "description": "The operation mode for Threat Intelligence.", + "$ref": "#/definitions/AzureFirewallThreatIntelMode" + }, + "virtualHub": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The virtualHub to which the firewall belongs." + }, + "firewallPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The firewallPolicy associated with this azure firewall." + }, + "hubIPAddresses": { + "description": "IP addresses associated with AzureFirewall.", + "$ref": "#/definitions/HubIPAddresses" + }, + "ipGroups": { + "readOnly": true, + "description": "IpGroups associated with AzureFirewall.", + "$ref": "#/definitions/IpGroups" + }, + "sku": { + "description": "The Azure Firewall Resource SKU.", + "$ref": "#/definitions/AzureFirewallSku" + }, + "additionalProperties": { + "$ref": "#/definitions/AzureFirewallAdditionalProperties", + "description": "The additional properties used to further config this azure firewall." + } + }, + "description": "Properties of the Azure Firewall." + }, + "AzureFirewall": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzureFirewallPropertiesFormat", + "description": "Properties of the azure firewall." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting where the resource needs to come from." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Azure Firewall resource." + }, + "AzureFirewallListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewall" + }, + "description": "List of Azure Firewalls in a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListAzureFirewalls API service call." + }, + "AzureFirewallThreatIntelMode": { + "type": "string", + "description": "The operation mode for Threat Intel.", + "enum": [ + "Alert", + "Deny", + "Off" + ], + "x-ms-enum": { + "name": "AzureFirewallThreatIntelMode", + "modelAsString": true + } + }, + "AzureFirewallAdditionalProperties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The additional properties of azure firewall." + }, + "AzureFirewallApplicationRuleCollectionPropertiesFormat": { + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "maximum": 65000, + "exclusiveMaximum": false, + "minimum": 100, + "exclusiveMinimum": false, + "description": "Priority of the application rule collection resource." + }, + "action": { + "$ref": "#/definitions/AzureFirewallRCAction", + "description": "The action type of a rule collection." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallApplicationRule" + }, + "description": "Collection of rules used by a application rule collection." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application rule collection resource." + } + }, + "description": "Properties of the application rule collection." + }, + "AzureFirewallApplicationRuleCollection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzureFirewallApplicationRuleCollectionPropertiesFormat", + "description": "Properties of the azure firewall application rule collection." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the Azure firewall. 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." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Application rule collection resource." + }, + "AzureFirewallApplicationRuleProtocol": { + "properties": { + "protocolType": { + "description": "Protocol type.", + "$ref": "#/definitions/AzureFirewallApplicationRuleProtocolType" + }, + "port": { + "type": "integer", + "format": "int32", + "maximum": 64000, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false, + "description": "Port number for the protocol, cannot be greater than 64000. This field is optional." + } + }, + "description": "Properties of the application rule protocol." + }, + "AzureFirewallApplicationRule": { + "properties": { + "name": { + "type": "string", + "description": "Name of the application rule." + }, + "description": { + "type": "string", + "description": "Description of the rule." + }, + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses for this rule.", + "items": { + "type": "string" + } + }, + "protocols": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallApplicationRuleProtocol" + }, + "description": "Array of ApplicationRuleProtocols." + }, + "targetFqdns": { + "type": "array", + "description": "List of FQDNs for this rule.", + "items": { + "type": "string" + } + }, + "fqdnTags": { + "type": "array", + "description": "List of FQDN Tags for this rule.", + "items": { + "type": "string" + } + }, + "sourceIpGroups": { + "type": "array", + "description": "List of source IpGroups for this rule.", + "items": { + "type": "string" + } + } + }, + "description": "Properties of an application rule." + }, + "AzureFirewallNatRuleCollectionProperties": { + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "maximum": 65000, + "exclusiveMaximum": false, + "minimum": 100, + "exclusiveMinimum": false, + "description": "Priority of the NAT rule collection resource." + }, + "action": { + "$ref": "#/definitions/AzureFirewallNatRCAction", + "description": "The action type of a NAT rule collection." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallNatRule" + }, + "description": "Collection of rules used by a NAT rule collection." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the NAT rule collection resource." + } + }, + "description": "Properties of the NAT rule collection." + }, + "AzureFirewallNatRuleCollection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzureFirewallNatRuleCollectionProperties", + "description": "Properties of the azure firewall NAT rule collection." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the Azure firewall. 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." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "NAT rule collection resource." + }, + "AzureFirewallNatRule": { + "properties": { + "name": { + "type": "string", + "description": "Name of the NAT rule." + }, + "description": { + "type": "string", + "description": "Description of the rule." + }, + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses for this rule.", + "items": { + "type": "string" + } + }, + "destinationAddresses": { + "type": "array", + "description": "List of destination IP addresses for this rule. Supports IP ranges, prefixes, and service tags.", + "items": { + "type": "string" + } + }, + "destinationPorts": { + "type": "array", + "description": "List of destination ports.", + "items": { + "type": "string" + } + }, + "protocols": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallNetworkRuleProtocol" + }, + "description": "Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule." + }, + "translatedAddress": { + "type": "string", + "description": "The translated address for this NAT rule." + }, + "translatedPort": { + "type": "string", + "description": "The translated port for this NAT rule." + }, + "translatedFqdn": { + "type": "string", + "description": "The translated FQDN for this NAT rule." + }, + "sourceIpGroups": { + "type": "array", + "description": "List of source IpGroups for this rule.", + "items": { + "type": "string" + } + } + }, + "description": "Properties of a NAT rule." + }, + "AzureFirewallNatRCAction": { + "properties": { + "type": { + "description": "The type of action.", + "$ref": "#/definitions/AzureFirewallNatRCActionType" + } + }, + "description": "AzureFirewall NAT Rule Collection Action." + }, + "AzureFirewallNatRCActionType": { + "type": "string", + "description": "The action type of a NAT rule collection.", + "enum": [ + "Snat", + "Dnat" + ], + "x-ms-enum": { + "name": "AzureFirewallNatRCActionType", + "modelAsString": true + } + }, + "AzureFirewallNetworkRuleCollectionPropertiesFormat": { + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "maximum": 65000, + "exclusiveMaximum": false, + "minimum": 100, + "exclusiveMinimum": false, + "description": "Priority of the network rule collection resource." + }, + "action": { + "$ref": "#/definitions/AzureFirewallRCAction", + "description": "The action type of a rule collection." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallNetworkRule" + }, + "description": "Collection of rules used by a network rule collection." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network rule collection resource." + } + }, + "description": "Properties of the network rule collection." + }, + "AzureFirewallNetworkRuleCollection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzureFirewallNetworkRuleCollectionPropertiesFormat", + "description": "Properties of the azure firewall network rule collection." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the Azure firewall. 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." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Network rule collection resource." + }, + "AzureFirewallNetworkRule": { + "properties": { + "name": { + "type": "string", + "description": "Name of the network rule." + }, + "description": { + "type": "string", + "description": "Description of the rule." + }, + "protocols": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallNetworkRuleProtocol" + }, + "description": "Array of AzureFirewallNetworkRuleProtocols." + }, + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses for this rule.", + "items": { + "type": "string" + } + }, + "destinationAddresses": { + "type": "array", + "description": "List of destination IP addresses.", + "items": { + "type": "string" + } + }, + "destinationPorts": { + "type": "array", + "description": "List of destination ports.", + "items": { + "type": "string" + } + }, + "destinationFqdns": { + "type": "array", + "description": "List of destination FQDNs.", + "items": { + "type": "string" + } + }, + "sourceIpGroups": { + "type": "array", + "description": "List of source IpGroups for this rule.", + "items": { + "type": "string" + } + }, + "destinationIpGroups": { + "type": "array", + "description": "List of destination IpGroups for this rule.", + "items": { + "type": "string" + } + } + }, + "description": "Properties of the network rule." + }, + "AzureFirewallRCAction": { + "properties": { + "type": { + "description": "The type of action.", + "$ref": "#/definitions/AzureFirewallRCActionType" + } + }, + "description": "Properties of the AzureFirewallRCAction." + }, + "AzureFirewallRCActionType": { + "type": "string", + "description": "The action type of a rule collection.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "AzureFirewallRCActionType", + "modelAsString": true + } + }, + "AzureFirewallNetworkRuleProtocol": { + "type": "string", + "description": "The protocol of a Network Rule resource.", + "enum": [ + "TCP", + "UDP", + "Any", + "ICMP" + ], + "x-ms-enum": { + "name": "AzureFirewallNetworkRuleProtocol", + "modelAsString": true + } + }, + "AzureFirewallApplicationRuleProtocolType": { + "type": "string", + "description": "The protocol type of a Application Rule resource.", + "enum": [ + "Http", + "Https", + "Mssql" + ], + "x-ms-enum": { + "name": "AzureFirewallApplicationRuleProtocolType", + "modelAsString": true + } + }, + "AzureFirewallSku": { + "properties": { + "name": { + "type": "string", + "description": "Name of an Azure Firewall SKU.", + "enum": [ + "AZFW_VNet", + "AZFW_Hub" + ], + "x-ms-enum": { + "name": "AzureFirewallSkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Tier of an Azure Firewall.", + "enum": [ + "Standard", + "Premium", + "Basic" + ], + "x-ms-enum": { + "name": "AzureFirewallSkuTier", + "modelAsString": true + } + } + }, + "description": "SKU of an Azure Firewall." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/azureFirewallFqdnTag.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/azureFirewallFqdnTag.json new file mode 100644 index 000000000000..1f8bb87f6ce6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/azureFirewallFqdnTag.json @@ -0,0 +1,130 @@ +{ + "swagger": "2.0", + "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-05-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}/providers/Microsoft.Network/azureFirewallFqdnTags": { + "get": { + "tags": [ + "AzureFirewallFqdnTags" + ], + "operationId": "AzureFirewallFqdnTags_ListAll", + "description": "Gets all the Azure Firewall FQDN Tags in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Azure Firewall FQDN Tag resources.", + "schema": { + "$ref": "#/definitions/AzureFirewallFqdnTagListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Azure Firewall FQDN Tags for a given subscription": { + "$ref": "./examples/AzureFirewallFqdnTagsListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AzureFirewallFqdnTagPropertiesFormat": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the Azure firewall FQDN tag resource." + }, + "fqdnTagName": { + "type": "string", + "readOnly": true, + "description": "The name of this FQDN Tag." + } + }, + "description": "Azure Firewall FQDN Tag Properties." + }, + "AzureFirewallFqdnTag": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzureFirewallFqdnTagPropertiesFormat", + "description": "Properties of the azure firewall FQDN tag." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Azure Firewall FQDN Tag Resource." + }, + "AzureFirewallFqdnTagListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallFqdnTag" + }, + "description": "List of Azure Firewall FQDN Tags in a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListAzureFirewallFqdnTags API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/azureWebCategory.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/azureWebCategory.json new file mode 100644 index 000000000000..f8b9224670bb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/azureWebCategory.json @@ -0,0 +1,184 @@ +{ + "swagger": "2.0", + "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-05-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}/providers/Microsoft.Network/azureWebCategories/{name}": { + "get": { + "tags": [ + "WebCategories" + ], + "operationId": "WebCategories_Get", + "description": "Gets the specified Azure Web Category.", + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the azureWebCategory." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands resourceIds back referenced by the azureWebCategory resource." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting azureWebCategory resource.", + "schema": { + "$ref": "#/definitions/AzureWebCategory" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Azure Web Category by name": { + "$ref": "./examples/AzureWebCategoryGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureWebCategories": { + "get": { + "tags": [ + "WebCategories" + ], + "operationId": "WebCategories_ListBySubscription", + "description": "Gets all the Azure Web Categories in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Azure Web Category resources.", + "schema": { + "$ref": "#/definitions/AzureWebCategoryListResult" + } + }, + "default": { + "description": "Unexpected Error.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Azure Web Categories for a given subscription": { + "$ref": "./examples/AzureWebCategoriesListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AzureWebCategoryPropertiesFormat": { + "properties": { + "group": { + "type": "string", + "readOnly": true, + "description": "The name of the group that the category belongs to." + } + }, + "description": "Azure Web Category Properties." + }, + "AzureWebCategory": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzureWebCategoryPropertiesFormat", + "description": "Properties of the Azure Web Category." + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "description": "Azure Web Category Resource." + }, + "AzureWebCategoryListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureWebCategory" + }, + "description": "List of Azure Web Categories for a given Subscription." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListAzureWebCategories API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/bastionHost.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/bastionHost.json new file mode 100644 index 000000000000..28565ea9c97f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/bastionHost.json @@ -0,0 +1,980 @@ +{ + "swagger": "2.0", + "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-05-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.Network/bastionHosts/{bastionHostName}": { + "delete": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_Delete", + "description": "Deletes the specified Bastion Host.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Bastion Host": { + "$ref": "./examples/BastionHostDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_Get", + "description": "Gets the specified Bastion Host.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns an BastionHost resource.", + "schema": { + "$ref": "#/definitions/BastionHost" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Bastion Host": { + "$ref": "./examples/BastionHostGet.json" + } + } + }, + "put": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_CreateOrUpdate", + "description": "Creates or updates the specified Bastion Host.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BastionHost" + }, + "description": "Parameters supplied to the create or update Bastion Host operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting Bastion Host resource.", + "schema": { + "$ref": "#/definitions/BastionHost" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting Bastion Host resource.", + "schema": { + "$ref": "#/definitions/BastionHost" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Bastion Host": { + "$ref": "./examples/BastionHostPut.json" + } + }, + "x-ms-long-running-operation": true, + "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": { + "get": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_List", + "description": "Lists all Bastion Hosts in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Bastion Host resources.", + "schema": { + "$ref": "#/definitions/BastionHostListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Bastion Hosts for a given subscription": { + "$ref": "./examples/BastionHostListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts": { + "get": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_ListByResourceGroup", + "description": "Lists all Bastion Hosts in a resource group.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of BastionHost resources.", + "schema": { + "$ref": "#/definitions/BastionHostListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Bastion Hosts for a given resource group": { + "$ref": "./examples/BastionHostListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/createShareableLinks": { + "post": { + "tags": [ + "BastionHosts", + "BastionShareableLink" + ], + "operationId": "PutBastionShareableLink", + "description": "Creates a Bastion Shareable Links for all the VMs specified in the request.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BastionShareableLinkRequest" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of shareable links for the specified VMs, giving appropriate error messages as needed.", + "schema": { + "$ref": "#/definitions/BastionShareableLinkListResult" + } + }, + "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-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Create Bastion Shareable Links for the request VMs": { + "$ref": "./examples/BastionShareableLinkCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/deleteShareableLinks": { + "post": { + "tags": [ + "BastionHosts", + "BastionShareableLink" + ], + "operationId": "DeleteBastionShareableLink", + "description": "Deletes the Bastion Shareable Links for all the VMs specified in the request.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BastionShareableLinkRequest" + } + ], + "responses": { + "200": { + "description": "Success. The operation deleted the BastionShareableLinks associated with the VMs, if they existed. No return body." + }, + "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-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete Bastion Shareable Links for the request VMs": { + "$ref": "./examples/BastionShareableLinkDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/getShareableLinks": { + "post": { + "tags": [ + "BastionHosts", + "BastionShareableLink" + ], + "operationId": "GetBastionShareableLink", + "description": "Return the Bastion Shareable Links for all the VMs specified in the request.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BastionShareableLinkRequest" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of shareable links for the specified VMs, giving appropriate error messages as needed.", + "schema": { + "$ref": "#/definitions/BastionShareableLinkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Returns the Bastion Shareable Links for the request VMs": { + "$ref": "./examples/BastionShareableLinkGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/getActiveSessions": { + "post": { + "tags": [ + "BastionHosts" + ], + "operationId": "GetActiveSessions", + "description": "Returns the list of currently active sessions on the Bastion.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of active sessions on the Bastion.", + "schema": { + "$ref": "#/definitions/BastionActiveSessionListResult" + } + }, + "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-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Returns a list of currently active sessions on the Bastion": { + "$ref": "./examples/BastionSessionsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/disconnectActiveSessions": { + "post": { + "tags": [ + "BastionHosts" + ], + "operationId": "DisconnectActiveSessions", + "description": "Returns the list of currently active sessions on the Bastion.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/SessionIdsParameters" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of sessions with the state of deleted/failed/not found.", + "schema": { + "$ref": "#/definitions/BastionSessionDeleteResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Deletes the specified active session": { + "$ref": "./examples/BastionSessionDelete.json" + } + } + } + } + }, + "definitions": { + "Sku": { + "description": "The sku of this Bastion Host.", + "properties": { + "name": { + "type": "string", + "description": "The name of this Bastion Host.", + "enum": [ + "Basic", + "Standard" + ], + "default": "Standard", + "x-ms-enum": { + "name": "BastionHostSkuName", + "modelAsString": true + } + } + }, + "type": "object" + }, + "BastionHostIPConfigurationPropertiesFormat": { + "properties": { + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference of the subnet resource." + }, + "publicIPAddress": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference of the PublicIP resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the bastion host IP configuration resource." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "Private IP allocation method." + } + }, + "required": [ + "subnet", + "publicIPAddress" + ], + "description": "Properties of IP configuration of an Bastion Host." + }, + "BastionHostIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BastionHostIPConfigurationPropertiesFormat", + "description": "Represents the ip configuration associated with the resource." + }, + "name": { + "type": "string", + "description": "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": "Ip configuration type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IP configuration of an Bastion Host." + }, + "BastionHostPropertiesFormat": { + "properties": { + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionHostIPConfiguration" + }, + "description": "IP configuration of the Bastion Host resource." + }, + "dnsName": { + "type": "string", + "description": "FQDN for the endpoint on which bastion host is accessible." + }, + "provisioningState": { + "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." + }, + "BastionHost": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BastionHostPropertiesFormat", + "description": "Represents the bastion host resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "sku": { + "description": "The sku of this Bastion Host.", + "$ref": "#/definitions/Sku" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Bastion Host resource." + }, + "BastionHostListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionHost" + }, + "description": "List of Bastion Hosts in a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListBastionHosts API service call." + }, + "BastionShareableLink": { + "properties": { + "vm": { + "$ref": "#/definitions/VM", + "description": "Reference of the virtual machine resource." + }, + "bsl": { + "type": "string", + "readOnly": true, + "description": "The unique Bastion Shareable Link to the virtual machine." + }, + "createdAt": { + "type": "string", + "readOnly": true, + "description": "The time when the link was created." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "Optional field indicating the warning or error message related to the vm in case of partial failure." + } + }, + "required": [ + "vm" + ], + "description": "Bastion Shareable Link." + }, + "BastionShareableLinkListRequest": { + "properties": { + "vms": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionShareableLink" + }, + "description": "List of VM references." + } + }, + "description": "Post request for all the Bastion Shareable Link endpoints." + }, + "BastionShareableLinkListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionShareableLink" + }, + "description": "List of Bastion Shareable Links for the request." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for all the Bastion Shareable Link endpoints." + }, + "BastionActiveSession": { + "properties": { + "sessionId": { + "type": "string", + "readOnly": true, + "description": "A unique id for the session." + }, + "startTime": { + "type": "object", + "readOnly": true, + "description": "The time when the session started." + }, + "targetSubscriptionId": { + "type": "string", + "readOnly": true, + "description": "The subscription id for the target virtual machine." + }, + "resourceType": { + "type": "string", + "readOnly": true, + "description": "The type of the resource." + }, + "targetHostName": { + "type": "string", + "readOnly": true, + "description": "The host name of the target." + }, + "targetResourceGroup": { + "type": "string", + "readOnly": true, + "description": "The resource group of the target." + }, + "userName": { + "type": "string", + "readOnly": true, + "description": "The user name who is active on this session." + }, + "targetIpAddress": { + "type": "string", + "readOnly": true, + "description": "The IP Address of the target." + }, + "protocol": { + "type": "string", + "readOnly": true, + "description": "The protocol used to connect to the target.", + "enum": [ + "SSH", + "RDP" + ], + "x-ms-enum": { + "name": "BastionConnectProtocol", + "modelAsString": true + } + }, + "targetResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource id of the target." + }, + "sessionDurationInMins": { + "type": "number", + "readOnly": true, + "description": "Duration in mins the session has been active." + } + }, + "description": "The session detail for a target." + }, + "BastionActiveSessionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionActiveSession" + }, + "description": "List of active sessions on the bastion." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for GetActiveSessions." + }, + "BastionSessionState": { + "properties": { + "sessionId": { + "type": "string", + "readOnly": true, + "description": "A unique id for the session." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "Used for extra information." + }, + "state": { + "type": "string", + "readOnly": true, + "description": "The state of the session. Disconnected/Failed/NotFound." + } + }, + "description": "The session state detail for a target." + }, + "BastionSessionDeleteResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionSessionState" + }, + "description": "List of sessions with their corresponding state." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for DisconnectActiveSessions." + }, + "VM": { + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Describes a Virtual Machine." + }, + "SessionIds": { + "properties": { + "sessionIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of session IDs." + } + }, + "description": "List of session IDs." + } + }, + "parameters": { + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "BastionShareableLinkRequest": { + "name": "bslRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BastionShareableLinkListRequest" + }, + "description": "Post request for all the Bastion Shareable Link endpoints.", + "x-ms-parameter-location": "method" + }, + "BastionHostName": { + "name": "bastionHostName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Bastion Host.", + "x-ms-parameter-location": "method" + }, + "SessionIdsParameters": { + "name": "sessionIds", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SessionIds" + }, + "description": "The list of sessionids to disconnect.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/checkDnsAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/checkDnsAvailability.json new file mode 100644 index 000000000000..bd1a7226609c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/checkDnsAvailability.json @@ -0,0 +1,96 @@ +{ + "swagger": "2.0", + "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-05-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}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability": { + "get": { + "operationId": "CheckDnsNameAvailability", + "description": "Checks whether a domain name in the cloudapp.azure.com zone is available for use.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the domain name." + }, + { + "name": "domainNameLabel", + "in": "query", + "required": true, + "type": "string", + "description": "The domain name to be verified. It must conform to the following regular expression: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns whether the DNS name is available.", + "schema": { + "$ref": "#/definitions/DnsNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Check Dns Name Availability": { + "$ref": "./examples/CheckDnsNameAvailability.json" + } + } + } + } + }, + "definitions": { + "DnsNameAvailabilityResult": { + "properties": { + "available": { + "type": "boolean", + "description": "Domain availability (True/False)." + } + }, + "description": "Response for the CheckDnsNameAvailability API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/cloudServiceNetworkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/cloudServiceNetworkInterface.json new file mode 100644 index 000000000000..abc3febd7eaa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/cloudServiceNetworkInterface.json @@ -0,0 +1,222 @@ +{ + "swagger": "2.0", + "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-05-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.Compute/cloudServices/{cloudServiceName}/roleInstances/{roleInstanceName}/networkInterfaces": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListCloudServiceRoleInstanceNetworkInterfaces", + "description": "Gets information about all network interfaces in a role instance in a cloud service.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cloudServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cloud service." + }, + { + "name": "roleInstanceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of role instance." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List cloud service role instance network interfaces": { + "$ref": "./examples/CloudServiceRoleInstanceNetworkInterfaceList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/cloudServices/{cloudServiceName}/networkInterfaces": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListCloudServiceNetworkInterfaces", + "description": "Gets all network interfaces in a cloud service.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cloudServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cloud service." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List cloud service network interfaces": { + "$ref": "./examples/CloudServiceNetworkInterfaceList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/cloudServices/{cloudServiceName}/roleInstances/{roleInstanceName}/networkInterfaces/{networkInterfaceName}": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_GetCloudServiceNetworkInterface", + "description": "Get the specified network interface in a cloud service.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cloudServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cloud service." + }, + { + "name": "roleInstanceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of role instance." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterface" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get cloud service network interface": { + "$ref": "./examples/CloudServiceNetworkInterfaceGet.json" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/cloudServicePublicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/cloudServicePublicIpAddress.json new file mode 100644 index 000000000000..c936c9bcb0be --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/cloudServicePublicIpAddress.json @@ -0,0 +1,241 @@ +{ + "swagger": "2.0", + "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-05-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.Compute/cloudServices/{cloudServiceName}/publicipaddresses": { + "get": { + "operationId": "PublicIPAddresses_ListCloudServicePublicIPAddresses", + "description": "Gets information about all public IP addresses on a cloud service level.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cloudServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cloud service." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PublicIPInterface resources.", + "schema": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddressListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVMSSPublicIP": { + "$ref": "./examples/CloudServicePublicIpListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/cloudServices/{cloudServiceName}/roleInstances/{roleInstanceName}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses": { + "get": { + "operationId": "PublicIPAddresses_ListCloudServiceRoleInstancePublicIPAddresses", + "description": "Gets information about all public IP addresses in a role instance IP configuration in a cloud service.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cloudServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cloud service." + }, + { + "name": "roleInstanceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of role instance." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The network interface name." + }, + { + "name": "ipConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The IP configuration name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PublicIPAddress resources.", + "schema": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddressListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVMSSVMPublicIP": { + "$ref": "./examples/CloudServiceRoleInstancePublicIpList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/cloudServices/{cloudServiceName}/roleInstances/{roleInstanceName}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}": { + "get": { + "operationId": "PublicIPAddresses_GetCloudServicePublicIPAddress", + "description": "Get the specified public IP address in a cloud service.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cloudServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cloud service." + }, + { + "name": "roleInstanceName", + "in": "path", + "required": true, + "type": "string", + "description": "The role instance name." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "ipConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the IP configuration." + }, + { + "name": "publicIpAddressName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP Address." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "x-ms-examples": { + "GetVMSSPublicIP": { + "$ref": "./examples/CloudServicePublicIpGet.json" + } + }, + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting PublicIPAddress resource.", + "schema": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/customIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/customIpPrefix.json new file mode 100644 index 000000000000..9c33cf0a98cc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/customIpPrefix.json @@ -0,0 +1,476 @@ +{ + "swagger": "2.0", + "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-05-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.Network/customIpPrefixes/{customIpPrefixName}": { + "delete": { + "tags": [ + "CustomIpPrefixes" + ], + "operationId": "CustomIPPrefixes_Delete", + "description": "Deletes the specified custom IP prefix.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "customIpPrefixName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the CustomIpPrefix." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete custom IP prefix": { + "$ref": "./examples/CustomIpPrefixDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "CustomIpPrefixes" + ], + "operationId": "CustomIPPrefixes_Get", + "description": "Gets the specified custom IP prefix in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "customIpPrefixName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the custom IP prefix." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting CustomIpPrefix resource.", + "schema": { + "$ref": "#/definitions/CustomIpPrefix" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get custom IP prefix": { + "$ref": "./examples/CustomIpPrefixGet.json" + } + } + }, + "put": { + "tags": [ + "CustomIpPrefixes" + ], + "operationId": "CustomIPPrefixes_CreateOrUpdate", + "description": "Creates or updates a custom IP prefix.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "customIpPrefixName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the custom IP prefix." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CustomIpPrefix" + }, + "description": "Parameters supplied to the create or update custom IP prefix operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting CustomIpPrefix resource.", + "schema": { + "$ref": "#/definitions/CustomIpPrefix" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting CustomIpPrefix resource.", + "schema": { + "$ref": "#/definitions/CustomIpPrefix" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create custom IP prefix allocation method": { + "$ref": "./examples/CustomIpPrefixCreateCustomizedValues.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "CustomIpPrefixes" + ], + "operationId": "CustomIPPrefixes_UpdateTags", + "description": "Updates custom IP prefix tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "customIpPrefixName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the custom IP prefix." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update custom IP prefix tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting customIpPrefix resource.", + "schema": { + "$ref": "#/definitions/CustomIpPrefix" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update public IP address tags": { + "$ref": "./examples/CustomIpPrefixUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/customIpPrefixes": { + "get": { + "tags": [ + "CustomIpPrefixes" + ], + "operationId": "CustomIPPrefixes_ListAll", + "description": "Gets all the custom IP prefixes in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of CustomIpPrefix resources.", + "schema": { + "$ref": "#/definitions/CustomIpPrefixListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all custom IP prefixes": { + "$ref": "./examples/CustomIpPrefixListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/customIpPrefixes": { + "get": { + "tags": [ + "CustomIpPrefixes" + ], + "operationId": "CustomIPPrefixes_List", + "description": "Gets all custom IP prefixes in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of CustomIpPrefix resources.", + "schema": { + "$ref": "#/definitions/CustomIpPrefixListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List resource group Custom IP prefixes": { + "$ref": "./examples/CustomIpPrefixList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "CustomIpPrefixPropertiesFormat": { + "properties": { + "cidr": { + "type": "string", + "description": "The prefix range in CIDR notation. Should include the start address and the prefix length." + }, + "signedMessage": { + "type": "string", + "description": "Signed message for WAN validation." + }, + "authorizationMessage": { + "type": "string", + "description": "Authorization message for WAN validation." + }, + "customIpPrefixParent": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The Parent CustomIpPrefix for IPv6 /64 CustomIpPrefix." + }, + "childCustomIpPrefixes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "The list of all Children for IPv6 /48 CustomIpPrefix." + }, + "commissionedState": { + "type": "string", + "description": "The commissioned state of the Custom IP Prefix.", + "enum": [ + "Provisioning", + "Provisioned", + "Commissioning", + "Commissioned", + "Decommissioning", + "Deprovisioning" + ], + "x-ms-enum": { + "name": "CommissionedState", + "modelAsString": true + } + }, + "publicIpPrefixes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "The list of all referenced PublicIpPrefixes." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the custom IP prefix resource." + }, + "failedReason": { + "readOnly": true, + "type": "string", + "description": "The reason why resource is in failed state." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the custom IP prefix resource." + } + }, + "description": "Custom IP prefix properties." + }, + "CustomIpPrefix": { + "properties": { + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of the custom IP prefix." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomIpPrefixPropertiesFormat", + "description": "Custom IP prefix properties." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting the IP allocated for the resource needs to come from." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Custom IP prefix resource." + }, + "CustomIpPrefixListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CustomIpPrefix" + }, + "description": "A list of Custom IP prefixes that exists in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListCustomIpPrefixes API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/ddosCustomPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/ddosCustomPolicy.json new file mode 100644 index 000000000000..085553dd0a4f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/ddosCustomPolicy.json @@ -0,0 +1,364 @@ +{ + "swagger": "2.0", + "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-05-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.Network/ddosCustomPolicies/{ddosCustomPolicyName}": { + "delete": { + "tags": [ + "ddosCustomPolicies" + ], + "operationId": "DdosCustomPolicies_Delete", + "description": "Deletes the specified DDoS custom policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosCustomPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS custom policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "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" + }, + "x-ms-examples": { + "Delete DDoS custom policy": { + "$ref": "./examples/DdosCustomPolicyDelete.json" + } + } + }, + "get": { + "tags": [ + "ddosCustomPolicies" + ], + "operationId": "DdosCustomPolicies_Get", + "description": "Gets information about the specified DDoS custom policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosCustomPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS custom policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the specified DDoS custom policy resource.", + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get DDoS custom policy": { + "$ref": "./examples/DdosCustomPolicyGet.json" + } + } + }, + "put": { + "tags": [ + "ddosCustomPolicies" + ], + "operationId": "DdosCustomPolicies_CreateOrUpdate", + "description": "Creates or updates a DDoS custom policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosCustomPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS custom policy." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + }, + "description": "Parameters supplied to the create or update operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting DDoS custom policy resource.", + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting DDoS custom policy resource.", + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + } + }, + "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" + }, + "x-ms-examples": { + "Create DDoS custom policy": { + "$ref": "./examples/DdosCustomPolicyCreate.json" + } + } + }, + "patch": { + "tags": [ + "ddosCustomPolicies" + ], + "operationId": "DdosCustomPolicies_UpdateTags", + "description": "Update a DDoS custom policy tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosCustomPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS custom policy." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update DDoS custom policy resource tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting DDoS custom policy resource.", + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DDoS Custom policy Update tags": { + "$ref": "./examples/DdosCustomPolicyUpdateTags.json" + } + } + } + } + }, + "definitions": { + "DdosCustomPolicy": { + "description": "A DDoS custom policy in a resource group.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DdosCustomPolicyPropertiesFormat", + "description": "Properties of the DDoS custom policy." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "DdosCustomPolicyPropertiesFormat": { + "properties": { + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the DDoS custom policy resource. It uniquely identifies the resource, even if the user changes its name or migrate the resource across subscriptions or resource groups." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the DDoS custom policy resource." + }, + "publicIPAddresses": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "The list of public IPs associated with the DDoS custom policy resource. This list is read-only." + }, + "protocolCustomSettings": { + "readOnly": false, + "type": "array", + "items": { + "$ref": "#/definitions/ProtocolCustomSettingsFormat" + }, + "description": "The protocol-specific DDoS policy customization parameters." + } + }, + "description": "DDoS custom policy properties." + }, + "ProtocolCustomSettingsFormat": { + "properties": { + "protocol": { + "readOnly": false, + "type": "string", + "enum": [ + "Tcp", + "Udp", + "Syn" + ], + "x-ms-enum": { + "name": "DdosCustomPolicyProtocol", + "modelAsString": true + }, + "description": "The protocol for which the DDoS protection policy is being customized." + }, + "triggerRateOverride": { + "readOnly": false, + "type": "string", + "description": "The customized DDoS protection trigger rate." + }, + "sourceRateOverride": { + "readOnly": false, + "type": "string", + "description": "The customized DDoS protection source rate." + }, + "triggerSensitivityOverride": { + "readOnly": false, + "type": "string", + "enum": [ + "Relaxed", + "Low", + "Default", + "High" + ], + "x-ms-enum": { + "name": "DdosCustomPolicyTriggerSensitivityOverride", + "modelAsString": true + }, + "description": "The customized DDoS protection trigger rate sensitivity degrees. High: Trigger rate set with most sensitivity w.r.t. normal traffic. Default: Trigger rate set with moderate sensitivity w.r.t. normal traffic. Low: Trigger rate set with less sensitivity w.r.t. normal traffic. Relaxed: Trigger rate set with least sensitivity w.r.t. normal traffic." + } + }, + "description": "DDoS custom policy properties." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/ddosProtectionPlan.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/ddosProtectionPlan.json new file mode 100644 index 000000000000..ada671698dd9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/ddosProtectionPlan.json @@ -0,0 +1,436 @@ +{ + "swagger": "2.0", + "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-05-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.Network/ddosProtectionPlans/{ddosProtectionPlanName}": { + "delete": { + "tags": [ + "DdosProtectionPlans" + ], + "operationId": "DdosProtectionPlans_Delete", + "description": "Deletes the specified DDoS protection plan.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosProtectionPlanName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS protection plan." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "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" + }, + "x-ms-examples": { + "Delete DDoS protection plan": { + "$ref": "./examples/DdosProtectionPlanDelete.json" + } + } + }, + "get": { + "tags": [ + "DdosProtectionPlans" + ], + "operationId": "DdosProtectionPlans_Get", + "description": "Gets information about the specified DDoS protection plan.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosProtectionPlanName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS protection plan." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the specified DDoS protection plan resource.", + "schema": { + "$ref": "#/definitions/DdosProtectionPlan" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get DDoS protection plan": { + "$ref": "./examples/DdosProtectionPlanGet.json" + } + } + }, + "put": { + "tags": [ + "DdosProtectionPlans" + ], + "operationId": "DdosProtectionPlans_CreateOrUpdate", + "description": "Creates or updates a DDoS protection plan.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosProtectionPlanName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS protection plan." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DdosProtectionPlan" + }, + "description": "Parameters supplied to the create or update operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting DDoS protection plan resource.", + "schema": { + "$ref": "#/definitions/DdosProtectionPlan" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting DDoS protection plan resource.", + "schema": { + "$ref": "#/definitions/DdosProtectionPlan" + } + }, + "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" + }, + "x-ms-examples": { + "Create DDoS protection plan": { + "$ref": "./examples/DdosProtectionPlanCreate.json" + } + } + }, + "patch": { + "tags": [ + "DdosProtectionPlans" + ], + "operationId": "DdosProtectionPlans_UpdateTags", + "description": "Update a DDoS protection plan tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosProtectionPlanName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS protection plan." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to the update DDoS protection plan resource tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting DDoS protection plan resource.", + "schema": { + "$ref": "#/definitions/DdosProtectionPlan" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DDoS protection plan Update tags": { + "$ref": "./examples/DdosProtectionPlanUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans": { + "get": { + "tags": [ + "DdosProtectionPlans" + ], + "operationId": "DdosProtectionPlans_List", + "description": "Gets all DDoS protection plans in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of DDoS protection plan resources.", + "schema": { + "$ref": "#/definitions/DdosProtectionPlanListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all DDoS protection plans": { + "$ref": "./examples/DdosProtectionPlanListAll.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans": { + "get": { + "tags": [ + "DdosProtectionPlans" + ], + "operationId": "DdosProtectionPlans_ListByResourceGroup", + "description": "Gets all the DDoS protection plans in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of DDoS protection plan resources.", + "schema": { + "$ref": "#/definitions/DdosProtectionPlanListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List DDoS protection plans in resource group": { + "$ref": "./examples/DdosProtectionPlanList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "DdosProtectionPlan": { + "description": "A DDoS protection plan in a resource group.", + "x-ms-azure-resource": true, + "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." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DdosProtectionPlanPropertiesFormat", + "description": "Properties of the DDoS protection plan." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + } + }, + "DdosProtectionPlanPropertiesFormat": { + "properties": { + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the DDoS protection plan resource. It uniquely identifies the resource, even if the user changes its name or migrate the resource across subscriptions or resource groups." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the DDoS protection plan resource." + }, + "virtualNetworks": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "The list of virtual networks associated with the DDoS protection plan resource. This list is read-only." + } + }, + "description": "DDoS protection plan properties." + }, + "DdosProtectionPlanListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DdosProtectionPlan" + }, + "description": "A list of DDoS protection plans." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "A list of DDoS protection plans." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/dscpConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/dscpConfiguration.json new file mode 100644 index 000000000000..b17556cd5185 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/dscpConfiguration.json @@ -0,0 +1,513 @@ +{ + "swagger": "2.0", + "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-05-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.Network/dscpConfigurations/{dscpConfigurationName}": { + "put": { + "tags": [ + "DscpConfiguration" + ], + "operationId": "DscpConfiguration_CreateOrUpdate", + "description": "Creates or updates a DSCP Configuration.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "dscpConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DscpConfiguration" + }, + "description": "Parameters supplied to the create or update dscp configuration operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting DscpConfiguration resource.", + "schema": { + "$ref": "#/definitions/DscpConfiguration" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting DscpConfiguration resource.", + "schema": { + "$ref": "#/definitions/DscpConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create DSCP Configuration": { + "$ref": "./examples/DscpConfigurationCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "delete": { + "tags": [ + "DscpConfiguration" + ], + "operationId": "DscpConfiguration_Delete", + "description": "Deletes a DSCP Configuration.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "dscpConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete DSCP Configuration": { + "$ref": "./examples/DscpConfigurationDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "DscpConfiguration" + ], + "operationId": "DscpConfiguration_Get", + "description": "Gets a DSCP Configuration.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "dscpConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting DSCP Configuration resource.", + "schema": { + "$ref": "#/definitions/DscpConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Dscp Configuration": { + "$ref": "./examples/DscpConfigurationGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dscpConfigurations": { + "get": { + "tags": [ + "DscpConfigurations" + ], + "operationId": "DscpConfiguration_List", + "description": "Gets a DSCP Configuration.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting DSCP Configuration resource.", + "schema": { + "$ref": "#/definitions/DscpConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Dscp Configuration": { + "$ref": "./examples/DscpConfigurationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/dscpConfigurations": { + "get": { + "tags": [ + "DscpConfigurations" + ], + "operationId": "DscpConfiguration_ListAll", + "description": "Gets all dscp configurations in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "#/definitions/DscpConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all network interfaces": { + "$ref": "./examples/DscpConfigurationListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "DscpConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DscpConfigurationPropertiesFormat", + "description": "Properties of the network interface." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Differentiated Services Code Point configuration for any given network interface" + }, + "DscpConfigurationPropertiesFormat": { + "properties": { + "markings": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "List of markings to be used in the configuration." + }, + "sourceIpRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/QosIpRange" + }, + "description": "Source IP ranges." + }, + "destinationIpRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/QosIpRange" + }, + "description": "Destination IP ranges." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/QosPortRange" + }, + "description": "Sources port ranges." + }, + "destinationPortRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/QosPortRange" + }, + "description": "Destination port ranges." + }, + "protocol": { + "type": "string", + "enum": [ + "DoNotUse", + "Icmp", + "Tcp", + "Udp", + "Gre", + "Esp", + "Ah", + "Vxlan", + "All" + ], + "x-ms-enum": { + "name": "ProtocolType", + "modelAsString": true + }, + "description": "RNM supported protocol types." + }, + "qosDefinitionCollection": { + "type": "array", + "items": { + "$ref": "#/definitions/QosDefinition" + }, + "description": "QoS object definitions" + }, + "qosCollectionId": { + "type": "string", + "readOnly": true, + "description": "Qos Collection ID generated by RNM." + }, + "associatedNetworkInterfaces": { + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterface" + }, + "readOnly": true, + "description": "Associated Network Interfaces to the DSCP Configuration." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the DSCP Configuration resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the DSCP Configuration resource." + } + }, + "description": "Differentiated Services Code Point configuration properties." + }, + "QosDefinition": { + "type": "object", + "properties": { + "markings": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "List of markings to be used in the configuration." + }, + "sourceIpRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/QosIpRange" + }, + "description": "Source IP ranges." + }, + "destinationIpRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/QosIpRange" + }, + "description": "Destination IP ranges." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/QosPortRange" + }, + "description": "Sources port ranges." + }, + "destinationPortRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/QosPortRange" + }, + "description": "Destination port ranges." + }, + "protocol": { + "type": "string", + "enum": [ + "DoNotUse", + "Icmp", + "Tcp", + "Udp", + "Gre", + "Esp", + "Ah", + "Vxlan", + "All" + ], + "x-ms-enum": { + "name": "ProtocolType", + "modelAsString": true + }, + "description": "RNM supported protocol types." + } + }, + "description": "Quality of Service defines the traffic configuration between endpoints. Mandatory to have one marking." + }, + "QosIpRange": { + "properties": { + "startIP": { + "type": "string", + "description": "Start IP Address." + }, + "endIP": { + "type": "string", + "description": "End IP Address." + } + }, + "description": "Qos Traffic Profiler IP Range properties." + }, + "QosPortRange": { + "properties": { + "start": { + "type": "integer", + "format": "int32", + "description": "Qos Port Range start." + }, + "end": { + "type": "integer", + "format": "int32", + "description": "Qos Port Range end." + } + }, + "description": "Qos Traffic Profiler Port range properties." + }, + "DscpConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DscpConfiguration" + }, + "description": "A list of dscp configurations in a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the DscpConfigurationList API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/endpointService.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/endpointService.json new file mode 100644 index 000000000000..49389d56b4b4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/endpointService.json @@ -0,0 +1,119 @@ +{ + "swagger": "2.0", + "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-05-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}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices": { + "get": { + "operationId": "AvailableEndpointServices_List", + "description": "List what values of endpoint services are available for use.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location to check available endpoint services." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns list of available endpoint services.", + "schema": { + "$ref": "#/definitions/EndpointServicesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "EndpointServicesList": { + "$ref": "./examples/EndpointServicesList.json" + } + } + } + } + }, + "definitions": { + "EndpointServicesListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EndpointServiceResult" + }, + "description": "List of available endpoint services in a region." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListAvailableEndpointServices API service call." + }, + "EndpointServiceResult": { + "properties": { + "name": { + "type": "string", + "description": "Name of the endpoint service.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Type of the endpoint service.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Endpoint service." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json new file mode 100644 index 000000000000..d6ea5bba3ef7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4" + }, + "responses": { + "200": { + "body": [ + "Accept-Charset" + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json new file mode 100644 index 000000000000..cdc1455daeed --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4" + }, + "responses": { + "200": { + "body": [ + "Access-Control-Allow-Origin" + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableServerVariablesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableServerVariablesGet.json new file mode 100644 index 000000000000..d30f8a118873 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableServerVariablesGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4" + }, + "responses": { + "200": { + "body": [ + "request_query" + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableSslOptionsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableSslOptionsGet.json new file mode 100644 index 000000000000..9df66abdb26f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableSslOptionsGet.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default", + "type": "Microsoft.Network/ApplicationGatewayAvailableSslOptions", + "properties": { + "predefinedPolicies": [ + { + "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501" + }, + { + "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401" + }, + { + "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401S" + } + ], + "defaultPolicy": "AppGwSslPolicy20150501", + "availableCipherSuites": [ + "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_AES_256_GCM_SHA384", + "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", + "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA" + ], + "availableProtocols": [ + "TLSv1_0", + "TLSv1_1", + "TLSv1_2" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json new file mode 100644 index 000000000000..31d5995c5b07 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "AppGwSslPolicy20150501", + "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501", + "properties": { + "cipherSuites": [ + "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_AES_256_GCM_SHA384", + "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", + "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA" + ], + "minProtocolVersion": "TLSv1_0" + } + }, + { + "name": "AppGwSslPolicy20170401", + "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401", + "properties": { + "cipherSuites": [ + "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_RSA_WITH_AES_256_GCM_SHA384", + "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" + ], + "minProtocolVersion": "TLSv1_1" + } + }, + { + "name": "AppGwSslPolicy20170401S", + "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401S", + "properties": { + "cipherSuites": [ + "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_RSA_WITH_AES_256_GCM_SHA384", + "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" + ], + "minProtocolVersion": "TLSv1_2" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json new file mode 100644 index 000000000000..7b579ee8a165 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "predefinedPolicyName": "AppGwSslPolicy20150501" + }, + "responses": { + "200": { + "body": { + "name": "AppGwSslPolicy20150501", + "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501", + "properties": { + "cipherSuites": [ + "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_AES_256_GCM_SHA384", + "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", + "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA" + ], + "minProtocolVersion": "TLSv1_0" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json new file mode 100644 index 000000000000..b5a3c60a34d4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "OWASP_3.0", + "id": "/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets/", + "type": "Microsoft.Network/applicationGatewayAvailableWafRuleSets", + "properties": { + "provisioningState": "Succeeded", + "ruleSetType": "OWASP", + "ruleSetVersion": "3.0", + "ruleGroups": [ + { + "ruleGroupName": "General", + "description": "", + "rules": [ + { + "ruleId": 200004, + "description": "Possible Multipart Unmatched Boundary." + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayBackendHealthGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayBackendHealthGet.json new file mode 100644 index 000000000000..d88acd321180 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayBackendHealthGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "appgw", + "applicationGatewayName": "appgw" + }, + "responses": { + "200": { + "body": { + "backendAddressPools": [ + { + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFAnalyticsPool" + }, + "backendHttpSettingsCollection": [ + { + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/MFPoolSettings" + }, + "servers": [ + { + "address": "10.220.1.8", + "health": "Up" + } + ] + } + ] + }, + { + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFPool" + }, + "backendHttpSettingsCollection": [ + { + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/MFPoolSettings" + }, + "servers": [ + { + "address": "10.220.1.4", + "health": "Up" + }, + { + "address": "10.220.1.5", + "health": "Up" + } + ] + } + ] + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayBackendHealthTest.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayBackendHealthTest.json new file mode 100644 index 000000000000..99fe1b6bbbe2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayBackendHealthTest.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw", + "probeRequest": { + "protocol": "Http", + "pickHostNameFromBackendHttpSettings": true, + "path": "/", + "timeout": 30, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFAnalyticsPool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/MFPoolSettings" + } + } + }, + "responses": { + "200": { + "body": { + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFAnalyticsPool" + }, + "backendHealthHttpSettings": { + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/MFPoolSettings" + }, + "servers": [ + { + "address": "10.220.1.4", + "health": "Up" + }, + { + "address": "10.220.1.5", + "health": "Up" + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayCreate.json new file mode 100644 index 000000000000..e8f64567a98f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayCreate.json @@ -0,0 +1,1016 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "location": "eastus", + "properties": { + "sku": { + "name": "Standard_v2", + "tier": "Standard_v2", + "capacity": 3 + }, + "gatewayIPConfigurations": [ + { + "name": "appgwipc", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/appgwsubnet" + } + } + } + ], + "sslCertificates": [ + { + "name": "sslcert", + "properties": { + "data": "****", + "password": "****" + } + }, + { + "name": "sslcert2", + "properties": { + "keyVaultSecretId": "https://kv/secret" + } + } + ], + "trustedRootCertificates": [ + { + "name": "rootcert", + "properties": { + "data": "****" + } + }, + { + "name": "rootcert1", + "properties": { + "keyVaultSecretId": "https://kv/secret" + } + } + ], + "trustedClientCertificates": [ + { + "name": "clientcert", + "properties": { + "data": "****" + } + } + ], + "frontendIPConfigurations": [ + { + "name": "appgwfip", + "properties": { + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip" + } + } + } + ], + "frontendPorts": [ + { + "name": "appgwfp", + "properties": { + "port": 443 + } + }, + { + "name": "appgwfp80", + "properties": { + "port": 80 + } + } + ], + "backendAddressPools": [ + { + "name": "appgwpool", + "properties": { + "backendAddresses": [ + { + "ipAddress": "10.0.1.1" + }, + { + "ipAddress": "10.0.1.2" + } + ] + } + }, + { + "name": "appgwpool1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool1", + "properties": { + "backendAddresses": [ + "10.0.0.1", + "10.0.0.2" + ] + } + } + ], + "backendHttpSettingsCollection": [ + { + "name": "appgwbhs", + "properties": { + "port": 80, + "protocol": "Http", + "cookieBasedAffinity": "Disabled", + "requestTimeout": 30 + } + } + ], + "sslProfiles": [ + { + "name": "sslProfile1", + "properties": { + "sslPolicy": { + "policyType": "Custom", + "minProtocolVersion": "TLSv1_1", + "cipherSuites": [ + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + ] + }, + "clientAuthConfiguration": { + "verifyClientCertIssuerDN": true + }, + "trustedClientCertificates": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/trustedClientCertificates/clientcert" + } + ] + } + } + ], + "httpListeners": [ + { + "name": "appgwhl", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp" + }, + "protocol": "Https", + "sslCertificate": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert" + }, + "sslProfile": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslProfiles/sslProfile1" + }, + "requireServerNameIndication": false + } + }, + { + "name": "appgwhttplistener", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80" + }, + "protocol": "Http" + } + } + ], + "urlPathMaps": [ + { + "name": "pathMap1", + "properties": { + "defaultBackendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "defaultBackendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "defaultRewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "defaultLoadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + }, + "pathRules": [ + { + "name": "apiPaths", + "properties": { + "paths": [ + "/api", + "/v1/api" + ], + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "rewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "loadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + } + } + } + ] + } + } + ], + "requestRoutingRules": [ + { + "name": "appgwrule", + "properties": { + "ruleType": "Basic", + "priority": 10, + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl" + }, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "rewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "loadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + } + } + }, + { + "name": "appgwPathBasedRule", + "properties": { + "ruleType": "PathBasedRouting", + "priority": 20, + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener" + }, + "urlPathMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1" + } + } + } + ], + "rewriteRuleSets": [ + { + "name": "rewriteRuleSet1", + "properties": { + "rewriteRules": [ + { + "name": "Set X-Forwarded-For", + "ruleSequence": 102, + "conditions": [ + { + "variable": "http_req_Authorization", + "pattern": "^Bearer", + "ignoreCase": true, + "negate": false + } + ], + "actionSet": { + "requestHeaderConfigurations": [ + { + "headerName": "X-Forwarded-For", + "headerValue": "{var_add_x_forwarded_for_proxy}" + } + ], + "responseHeaderConfigurations": [ + { + "headerName": "Strict-Transport-Security", + "headerValue": "max-age=31536000" + } + ], + "urlConfiguration": { + "modifiedPath": "/abc" + } + } + } + ] + } + } + ], + "loadDistributionPolicies": [ + { + "name": "ldp1", + "properties": { + "loadDistributionAlgorithm": "RoundRobin", + "loadDistributionTargets": [ + { + "name": "ld11", + "properties": { + "weightPerServer": 40, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + } + } + }, + { + "name": "ld11", + "properties": { + "weightPerServer": 60, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool1" + } + } + } + ] + } + } + ], + "globalConfiguration": { + "enableRequestBuffering": true, + "enableResponseBuffering": true + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "appgw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw", + "type": "Microsoft.Network/applicationGateways", + "location": "southcentralus", + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "Standard_Medium", + "tier": "Standard", + "capacity": 3 + }, + "operationalState": "Running", + "gatewayIPConfigurations": [ + { + "name": "appgwipc", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/gatewayIPConfigurations/appgwipc", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet" + } + } + } + ], + "sslCertificates": [ + { + "name": "sslcert", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert", + "properties": { + "provisioningState": "Succeeded", + "publicCertData": "*****" + } + } + ], + "trustedClientCertificates": [ + { + "name": "clientcert", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/trustedClientCertificates/clientcert", + "properties": { + "provisioningState": "Succeeded", + "data": "****" + } + } + ], + "authenticationCertificates": [], + "frontendIPConfigurations": [ + { + "name": "appgwfip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip" + } + } + } + ], + "frontendPorts": [ + { + "name": "appgwfp", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp", + "properties": { + "provisioningState": "Succeeded", + "port": 443 + } + }, + { + "name": "appgwfp80", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80", + "properties": { + "provisioningState": "Succeeded", + "port": 80 + } + } + ], + "backendAddressPools": [ + { + "name": "appgwpool", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool", + "properties": { + "provisioningState": "Succeeded", + "backendAddresses": [] + } + }, + { + "name": "appgwpool1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool1", + "properties": { + "provisioningState": "Succeeded", + "backendAddresses": [ + "10.0.0.1", + "10.0.0.2" + ] + } + } + ], + "backendHttpSettingsCollection": [ + { + "name": "appgwbhs", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs", + "properties": { + "provisioningState": "Succeeded", + "port": 80, + "protocol": "Http", + "cookieBasedAffinity": "Disabled", + "requestTimeout": 30 + } + } + ], + "sslProfiles": [ + { + "name": "sslProfile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslProfiles/sslProfile1", + "properties": { + "provisioningState": "Succeeded", + "sslPolicy": { + "policyType": "Custom", + "minProtocolVersion": "TLSv1_1", + "cipherSuites": [ + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + ] + }, + "clientAuthConfiguration": { + "verifyClientCertIssuerDN": true + }, + "trustedClientCertificates": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/trustedClientCertificates/clientcert" + } + ] + } + } + ], + "httpListeners": [ + { + "name": "appgwhl", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp" + }, + "protocol": "Https", + "sslCertificate": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert" + }, + "sslProfile": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslProfiles/sslProfile1" + }, + "requireServerNameIndication": false + } + }, + { + "name": "appgwhttplistener", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80" + }, + "protocol": "Http" + } + } + ], + "urlPathMaps": [ + { + "name": "pathMap1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1", + "properties": { + "provisioningState": "Succeeded", + "defaultBackendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "defaultBackendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "defaultRewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "defaultLoadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + }, + "pathRules": [ + { + "name": "apiPaths", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1/pathRules/apiPaths", + "properties": { + "provisioningState": "Succeeded", + "paths": [ + "/api", + "/v1/api" + ], + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "rewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "loadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + } + } + } + ] + } + } + ], + "requestRoutingRules": [ + { + "name": "appgwrule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwrule", + "properties": { + "provisioningState": "Succeeded", + "ruleType": "Basic", + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl" + }, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "rewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "loadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + } + } + }, + { + "name": "appgwPathBasedRule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwPathBasedRule", + "properties": { + "provisioningState": "Succeeded", + "ruleType": "PathBasedRouting", + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener" + }, + "urlPathMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1" + } + } + } + ], + "rewriteRuleSets": [ + { + "name": "rewriteRuleSet1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1", + "properties": { + "provisioningState": "Succeeded", + "rewriteRules": [ + { + "name": "Set X-Forwarded-For", + "ruleSequence": 102, + "conditions": [ + { + "variable": "http_req_Authorization", + "pattern": "^Bearer", + "ignoreCase": true, + "negate": false + } + ], + "actionSet": { + "requestHeaderConfigurations": [ + { + "headerName": "X-Forwarded-For", + "headerValue": "{var_remote-addr}" + } + ], + "responseHeaderConfigurations": [ + { + "headerName": "Strict-Transport-Security", + "headerValue": "max-age=31536000" + } + ], + "urlConfiguration": { + "modifiedPath": "/abc", + "reroute": true + } + } + } + ] + } + } + ], + "probes": [], + "loadDistributionPolicies": [ + { + "name": "ldp1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1", + "properties": { + "loadDistributionAlgorithm": "RoundRobin", + "loadDistributionTargets": [ + { + "name": "ld11", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1/loadDistributionTargets/ldt1", + "properties": { + "weightPerServer": 40, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + } + } + }, + { + "name": "ld11", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1/loadDistributionTargets/ldt1", + "properties": { + "weightPerServer": 60, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool1" + } + } + } + ] + } + } + ], + "globalConfiguration": { + "enableRequestBuffering": true, + "enableResponseBuffering": true + } + } + } + }, + "200": { + "body": { + "name": "appgw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw", + "type": "Microsoft.Network/applicationGateways", + "location": "southcentralus", + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "Standard_Medium", + "tier": "Standard", + "capacity": 3 + }, + "operationalState": "Running", + "gatewayIPConfigurations": [ + { + "name": "appgwipc", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/gatewayIPConfigurations/appgwipc", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet" + } + } + } + ], + "sslCertificates": [ + { + "name": "sslcert", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert", + "properties": { + "provisioningState": "Succeeded", + "publicCertData": "*****" + } + } + ], + "trustedClientCertificates": [ + { + "name": "clientcert", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/trustedClientCertificates/clientcert", + "properties": { + "provisioningState": "Succeeded", + "data": "****" + } + } + ], + "authenticationCertificates": [], + "frontendIPConfigurations": [ + { + "name": "appgwfip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip" + }, + "privateLinkConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkConfigurations/privateLinkConfig1" + } + } + } + ], + "frontendPorts": [ + { + "name": "appgwfp", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp", + "properties": { + "provisioningState": "Succeeded", + "port": 443 + } + }, + { + "name": "appgwfp80", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80", + "properties": { + "provisioningState": "Succeeded", + "port": 80 + } + } + ], + "backendAddressPools": [ + { + "name": "appgwpool", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool", + "properties": { + "provisioningState": "Succeeded", + "backendAddresses": [] + } + }, + { + "name": "appgwpool1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool1", + "properties": { + "provisioningState": "Succeeded", + "backendAddresses": [ + "10.0.0.1", + "10.0.0.2" + ] + } + } + ], + "backendHttpSettingsCollection": [ + { + "name": "appgwbhs", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs", + "properties": { + "provisioningState": "Succeeded", + "port": 80, + "protocol": "Http", + "cookieBasedAffinity": "Disabled", + "requestTimeout": 30 + } + } + ], + "sslProfiles": [ + { + "name": "sslProfile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslProfiles/sslProfile1", + "properties": { + "provisioningState": "Succeeded", + "sslPolicy": { + "policyType": "Custom", + "minProtocolVersion": "TLSv1_1", + "cipherSuites": [ + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + ] + }, + "clientAuthConfiguration": { + "verifyClientCertIssuerDN": true + }, + "trustedClientCertificates": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/trustedClientCertificates/clientcert" + } + ] + } + } + ], + "httpListeners": [ + { + "name": "appgwhl", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp" + }, + "protocol": "Https", + "sslCertificate": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert" + }, + "sslProfile": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslProfiles/sslProfile1" + }, + "requireServerNameIndication": false + } + }, + { + "name": "appgwhttplistener", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80" + }, + "protocol": "Http" + } + } + ], + "urlPathMaps": [ + { + "name": "pathMap1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1", + "properties": { + "provisioningState": "Succeeded", + "defaultBackendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "defaultBackendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "defaultRewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "defaultLoadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + }, + "pathRules": [ + { + "name": "apiPaths", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1/pathRules/apiPaths", + "properties": { + "provisioningState": "Succeeded", + "paths": [ + "/api", + "/v1/api" + ], + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "rewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "loadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + } + } + } + ] + } + } + ], + "requestRoutingRules": [ + { + "name": "appgwrule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwrule", + "properties": { + "provisioningState": "Succeeded", + "ruleType": "Basic", + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl" + }, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "rewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "loadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + } + } + }, + { + "name": "appgwPathBasedRule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwPathBasedRule", + "properties": { + "provisioningState": "Succeeded", + "ruleType": "PathBasedRouting", + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener" + }, + "urlPathMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1" + } + } + } + ], + "rewriteRuleSets": [ + { + "name": "rewriteRuleSet1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1", + "properties": { + "provisioningState": "Succeeded", + "rewriteRules": [ + { + "name": "Set X-Forwarded-For", + "ruleSequence": 102, + "conditions": [ + { + "variable": "http_req_Authorization", + "pattern": "^Bearer", + "ignoreCase": true, + "negate": false + } + ], + "actionSet": { + "requestHeaderConfigurations": [ + { + "headerName": "X-Forwarded-For", + "headerValue": "{var_remote-addr}" + } + ], + "responseHeaderConfigurations": [ + { + "headerName": "Strict-Transport-Security", + "headerValue": "max-age=31536000" + } + ], + "urlConfiguration": { + "modifiedPath": "/abc", + "modifiedQueryString": "x=y&a=b" + } + } + } + ] + } + } + ], + "probes": [], + "loadDistributionPolicies": [ + { + "name": "ldp1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1", + "properties": { + "loadDistributionAlgorithm": "RoundRobin", + "loadDistributionTargets": [ + { + "name": "ld11", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1/loadDistributionTargets/ldt1", + "properties": { + "weightPerServer": 40, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + } + } + }, + { + "name": "ld11", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1/loadDistributionTargets/ldt1", + "properties": { + "weightPerServer": 60, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool1" + } + } + } + ] + } + } + ], + "globalConfiguration": { + "enableRequestBuffering": true, + "enableResponseBuffering": true + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayDelete.json new file mode 100644 index 000000000000..2d75a70c3039 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayGet.json new file mode 100644 index 000000000000..57ff5057525e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayGet.json @@ -0,0 +1,388 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw" + }, + "responses": { + "200": { + "body": { + "name": "appgw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw", + "type": "Microsoft.Network/applicationGateways", + "location": "southcentralus", + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "Standard_Medium", + "tier": "Standard", + "capacity": 3 + }, + "operationalState": "Running", + "gatewayIPConfigurations": [ + { + "name": "appgwipc", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/gatewayIPConfigurations/appgwipc", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet" + } + } + } + ], + "sslCertificates": [ + { + "name": "sslcert", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert", + "properties": { + "provisioningState": "Succeeded", + "publicCertData": "*****" + } + } + ], + "trustedClientCertificates": [ + { + "name": "clientcert", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/trustedClientCertificates/clientcert", + "properties": { + "provisioningState": "Succeeded", + "data": "****", + "validatedCertData": "****", + "clientCertIssuerDN": "CN=User1, OU=Eng, O=Company Ltd, L=D4, S=Arizona, C=US" + } + } + ], + "authenticationCertificates": [], + "frontendIPConfigurations": [ + { + "name": "appgwfip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip" + } + } + } + ], + "frontendPorts": [ + { + "name": "appgwfp", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp", + "properties": { + "provisioningState": "Succeeded", + "port": 443 + } + }, + { + "name": "appgwfp80", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80", + "properties": { + "provisioningState": "Succeeded", + "port": 80 + } + } + ], + "backendAddressPools": [ + { + "name": "appgwpool", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool", + "properties": { + "provisioningState": "Succeeded", + "backendAddresses": [] + } + }, + { + "name": "appgwpool1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool1", + "properties": { + "provisioningState": "Succeeded", + "backendAddresses": [ + "10.0.0.1", + "10.0.0.2" + ] + } + } + ], + "backendHttpSettingsCollection": [ + { + "name": "appgwbhs", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs", + "properties": { + "provisioningState": "Succeeded", + "port": 80, + "protocol": "Http", + "cookieBasedAffinity": "Disabled", + "requestTimeout": 30 + } + } + ], + "sslProfiles": [ + { + "name": "sslProfile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslProfiles/sslProfile1", + "properties": { + "provisioningState": "Succeeded", + "sslPolicy": { + "policyType": "Custom", + "minProtocolVersion": "TLSv1_1", + "cipherSuites": [ + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + ] + }, + "clientAuthConfiguration": { + "verifyClientCertIssuerDN": true + }, + "trustedClientCertificates": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/trustedClientCertificates/clientcert" + } + ] + } + } + ], + "httpListeners": [ + { + "name": "appgwhl", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp" + }, + "protocol": "Https", + "sslCertificate": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert" + }, + "sslProfile": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslProfiles/sslProfile1" + }, + "requireServerNameIndication": false + } + }, + { + "name": "appgwhttplistener", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80" + }, + "protocol": "Http" + } + } + ], + "urlPathMaps": [ + { + "name": "pathMap1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1", + "properties": { + "provisioningState": "Succeeded", + "defaultBackendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "defaultBackendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "defaultRewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "defaultLoadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + }, + "pathRules": [ + { + "name": "apiPaths", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1/pathRules/apiPaths", + "properties": { + "provisioningState": "Succeeded", + "paths": [ + "/api", + "/v1/api" + ], + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "rewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "loadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + } + } + } + ] + } + } + ], + "requestRoutingRules": [ + { + "name": "appgwrule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwrule", + "properties": { + "provisioningState": "Succeeded", + "ruleType": "Basic", + "priority": 10, + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl" + }, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "rewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "loadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + } + } + }, + { + "name": "appgwPathBasedRule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwPathBasedRule", + "properties": { + "provisioningState": "Succeeded", + "ruleType": "PathBasedRouting", + "priority": 20, + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener" + }, + "urlPathMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1" + } + } + } + ], + "rewriteRuleSets": [ + { + "name": "rewriteRuleSet1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1", + "properties": { + "provisioningState": "Succeeded", + "rewriteRules": [ + { + "name": "Set X-Forwarded-For", + "ruleSequence": 102, + "conditions": [ + { + "variable": "http_req_Authorization", + "pattern": "^Bearer", + "ignoreCase": true, + "negate": false + } + ], + "actionSet": { + "requestHeaderConfigurations": [ + { + "headerName": "X-Forwarded-For", + "headerValue": "{var_remote-addr}" + } + ], + "responseHeaderConfigurations": [ + { + "headerName": "Strict-Transport-Security", + "headerValue": "max-age=31536000" + } + ], + "urlConfiguration": { + "modifiedPath": "/abc", + "modifiedQueryString": "x=y&a=b", + "reroute": false + } + } + } + ] + } + } + ], + "probes": [], + "privateLinkConfigurations": [ + { + "name": "privateLink1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkConfigurations/privateLink1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "natNicIpconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkConfigurations/privateLink1/privateLinkConfigurations/privateLink1/ipConfigurations/natNicIpconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "primary": true, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet" + } + } + }, + { + "name": "natNicIpconfig2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkConfigurations/privateLink1/privateLinkConfigurations/privateLink1/ipConfigurations/natNicIpconfig2", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet" + } + } + } + ] + } + } + ], + "privateEndpointConnections": [], + "loadDistributionPolicies": [ + { + "name": "ldp1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1", + "properties": { + "loadDistributionAlgorithm": "RoundRobin", + "loadDistributionTargets": [ + { + "name": "ld11", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1/loadDistributionTargets/ldt1", + "properties": { + "weightPerServer": 40, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + } + } + }, + { + "name": "ld11", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1/loadDistributionTargets/ldt1", + "properties": { + "weightPerServer": 60, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool1" + } + } + } + ] + } + } + ], + "globalConfiguration": { + "enableRequestBuffering": true, + "enableResponseBuffering": true + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayList.json new file mode 100644 index 000000000000..acd75b896d72 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayList.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "appgw", + "type": "Microsoft.Network/applicationGateways", + "location": "southcentralus", + "properties": { + "sku": { + "name": "Standard_Medium", + "tier": "Standard", + "capacity": 3 + }, + "gatewayIPConfigurations": [ + { + "name": "appgwipc", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/appgwsubnet" + } + } + } + ], + "sslCertificates": [ + { + "name": "sslcert", + "properties": { + "data": "base64-pfxData", + "password": "" + } + } + ], + "frontendIPConfigurations": [ + { + "name": "appgwfip", + "properties": { + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip" + } + } + } + ], + "frontendPorts": [ + { + "name": "appgwfp", + "properties": { + "port": 443 + } + } + ], + "backendAddressPools": [ + { + "name": "appgwpool", + "properties": { + "backendAddresses": [ + { + "ipAddress": "10.0.1.1" + }, + { + "ipAddress": "10.0.1.2" + } + ] + } + } + ], + "backendHttpSettingsCollection": [ + { + "name": "appgwbhs", + "properties": { + "port": 80, + "protocol": "Http", + "cookieBasedAffinity": "Disabled", + "requestTimeout": 30 + } + } + ], + "httpListeners": [ + { + "name": "appgwhl", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp" + }, + "protocol": "Https", + "sslCertificate": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert" + }, + "requireServerNameIndication": false + } + } + ], + "requestRoutingRules": [ + { + "name": "appgwrule", + "properties": { + "ruleType": "Basic", + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl" + }, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayListAll.json new file mode 100644 index 000000000000..5090deea3023 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayListAll.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "appgw", + "type": "Microsoft.Network/applicationGateways", + "location": "southcentralus", + "properties": { + "sku": { + "name": "Standard_Medium", + "tier": "Standard", + "capacity": 3 + }, + "gatewayIPConfigurations": [ + { + "name": "appgwipc", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/appgwsubnet" + } + } + } + ], + "sslCertificates": [ + { + "name": "sslcert", + "properties": { + "data": "base64-pfxData", + "password": "" + } + } + ], + "frontendIPConfigurations": [ + { + "name": "appgwfip", + "properties": { + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip" + } + } + } + ], + "frontendPorts": [ + { + "name": "appgwfp", + "properties": { + "port": 443 + } + } + ], + "backendAddressPools": [ + { + "name": "appgwpool", + "properties": { + "backendAddresses": [ + { + "ipAddress": "10.0.1.1" + }, + { + "ipAddress": "10.0.1.2" + } + ] + } + } + ], + "backendHttpSettingsCollection": [ + { + "name": "appgwbhs", + "properties": { + "port": 80, + "protocol": "Http", + "cookieBasedAffinity": "Disabled", + "requestTimeout": 30 + } + } + ], + "httpListeners": [ + { + "name": "appgwhl", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp" + }, + "protocol": "Https", + "sslCertificate": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert" + }, + "requireServerNameIndication": false + } + } + ], + "requestRoutingRules": [ + { + "name": "appgwrule", + "properties": { + "ruleType": "Basic", + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl" + }, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayPrivateEndpointConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayPrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..96b7258e281f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayPrivateEndpointConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw", + "connectionName": "connection1" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayPrivateEndpointConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayPrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..be1707df47ad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayPrivateEndpointConnectionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw", + "connectionName": "connection1" + }, + "responses": { + "200": { + "body": { + "name": "coonection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkResources/connection1", + "type": "Microsoft.Network/applicationGateways/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approval Done" + }, + "linkIdentifier": "805319460" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayPrivateEndpointConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayPrivateEndpointConnectionList.json new file mode 100644 index 000000000000..414db6fce01b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayPrivateEndpointConnectionList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "coonection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkResources/connection1", + "type": "Microsoft.Network/applicationGateways/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approval Done" + }, + "linkIdentifier": "805319460" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..7e48cb3dcac8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw", + "connectionName": "connection1", + "parameters": { + "name": "connection1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId2/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "testPlePeConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + }, + "linkIdentifier": "linkId" + } + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayPrivateLinkResourceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayPrivateLinkResourceList.json new file mode 100644 index 000000000000..bd97a7f6194e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayPrivateLinkResourceList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "privateLink1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkResources/privateLink1", + "type": "Microsoft.Network/applicationGateways/privateLinkResources", + "properties": { + "groupId": "privateLink1", + "requiredMembers": [ + "privateLink1" + ], + "requiredZoneNames": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayStart.json new file mode 100644 index 000000000000..8e8667ed7ed2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayStop.json new file mode 100644 index 000000000000..8e8667ed7ed2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayUpdateTags.json new file mode 100644 index 000000000000..c8a96bf02652 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationGatewayUpdateTags.json @@ -0,0 +1,148 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "AppGw", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "AppGw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw", + "type": "Microsoft.Network/applicationGateways", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "sku": { + "name": "Standard_Small", + "tier": "Standard", + "capacity": 2 + }, + "operationalState": "Running", + "gatewayIPConfigurations": [ + { + "name": "GatewayIp01", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/gatewayIPConfigurations/GatewayIp01", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnet1" + } + } + } + ], + "sslCertificates": [], + "authenticationCertificates": [], + "frontendIPConfigurations": [ + { + "name": "FrontEndConfig01", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendIPConfigurations/FrontEndConfig01", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/publicIp1" + } + } + } + ], + "frontendPorts": [ + { + "name": "FrontEndPort01", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendPorts/FrontEndPort01", + "properties": { + "provisioningState": "Succeeded", + "port": 80 + } + } + ], + "backendAddressPools": [ + { + "name": "Pool01", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendAddressPools/Pool01", + "properties": { + "provisioningState": "Succeeded", + "backendAddresses": [ + { + "ipAddress": "10.10.10.1" + }, + { + "ipAddress": "10.10.10.2" + }, + { + "ipAddress": "10.10.10.3" + } + ] + } + } + ], + "backendHttpSettingsCollection": [ + { + "name": "PoolSetting01", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendHttpSettingsCollection/PoolSetting01", + "properties": { + "provisioningState": "Succeeded", + "port": 80, + "protocol": "Http", + "cookieBasedAffinity": "Disabled", + "pickHostNameFromBackendAddress": false, + "requestTimeout": 30 + } + } + ], + "httpListeners": [ + { + "name": "listener1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/httpListeners/listener1", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendIPConfigurations/FrontEndConfig01" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendPorts/FrontEndPort01" + }, + "protocol": "Http", + "requireServerNameIndication": false + } + } + ], + "urlPathMaps": [], + "requestRoutingRules": [ + { + "name": "Rule01", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/requestRoutingRules/Rule01", + "properties": { + "provisioningState": "Succeeded", + "ruleType": "Basic", + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/httpListeners/listener1" + }, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendAddressPools/Pool01" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendHttpSettingsCollection/PoolSetting01" + } + } + } + ], + "probes": [], + "redirectConfigurations": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationSecurityGroupCreate.json new file mode 100644 index 000000000000..7e105dfb75b3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationSecurityGroupCreate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationSecurityGroupName": "test-asg", + "parameters": { + "location": "westus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "test-asg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg", + "type": "Microsoft.Network/applicationSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + }, + "201": { + "body": { + "name": "test-asg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg", + "type": "Microsoft.Network/applicationSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationSecurityGroupDelete.json new file mode 100644 index 000000000000..e67ae4361e17 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationSecurityGroupDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationSecurityGroupName": "test-asg" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationSecurityGroupGet.json new file mode 100644 index 000000000000..c0e4ef2dad6f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationSecurityGroupGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationSecurityGroupName": "test-asg" + }, + "responses": { + "200": { + "body": { + "name": "test-asg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg", + "type": "Microsoft.Network/applicationSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationSecurityGroupList.json new file mode 100644 index 000000000000..fa13a2769ed3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationSecurityGroupList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg1", + "name": "asg1", + "type": "Microsoft.Network/applicationSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg2", + "name": "asg2", + "type": "Microsoft.Network/applicationSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationSecurityGroupListAll.json new file mode 100644 index 000000000000..ba8d90c5109f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationSecurityGroupListAll.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg1", + "name": "asg1", + "type": "Microsoft.Network/applicationSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg2", + "name": "asg2", + "type": "Microsoft.Network/applicationSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationSecurityGroupUpdateTags.json new file mode 100644 index 000000000000..272281d91a66 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ApplicationSecurityGroupUpdateTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationSecurityGroupName": "test-asg", + "location": "westus", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-asg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg", + "type": "Microsoft.Network/applicationSecurityGroups", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AutoApprovedPrivateLinkServicesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AutoApprovedPrivateLinkServicesGet.json new file mode 100644 index 000000000000..81c709c3a815 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AutoApprovedPrivateLinkServicesGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "location": "regionName", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1" + }, + { + "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2" + }, + { + "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls3" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json new file mode 100644 index 000000000000..23f748a975d0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "location": "regionName", + "subscriptionId": "subId", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1" + }, + { + "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2" + }, + { + "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls3" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AvailableDelegationsResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AvailableDelegationsResourceGroupGet.json new file mode 100644 index 000000000000..b53a0379bd42 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AvailableDelegationsResourceGroupGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "location": "westcentralus", + "subscriptionId": "subId", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Provider.resourceType", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/availableDelegations/Microsoft.Provider.resourceType", + "type": "Microsoft.Network/availableDelegations", + "serviceName": "Microsoft.Provider/resourceType", + "actions": [ + "Microsoft.Network/resource/action" + ] + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AvailableDelegationsSubscriptionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AvailableDelegationsSubscriptionGet.json new file mode 100644 index 000000000000..acd2d7e43411 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AvailableDelegationsSubscriptionGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "location": "westcentralus", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Provider.resourceType", + "id": "/subscriptions/subId/providers/Microsoft.Network/availableDelegations/Microsoft.Provider.resourceType", + "type": "Microsoft.Network/availableDelegations", + "serviceName": "Microsoft.Provider/resourceType", + "actions": [ + "Microsoft.Network/resource/action" + ] + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AvailablePrivateEndpointTypesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AvailablePrivateEndpointTypesGet.json new file mode 100644 index 000000000000..fd3fbbc42df4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AvailablePrivateEndpointTypesGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "location": "regionName", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId/providers/Microsoft.Network/availablePrivateEndpointTypes/Microsoft.Provider.resourceType", + "type": "Microsoft.Network/availablePrivateEndpointTypes", + "resourceName": "Microsoft.Provider/resourceType" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json new file mode 100644 index 000000000000..d59e18a61dac --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "location": "regionName", + "subscriptionId": "subId", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/availablePrivateEndpointTypes/Microsoft.Provider.resourceType", + "type": "Microsoft.Network/availablePrivateEndpointTypes", + "resourceName": "Microsoft.Provider/resourceType" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AvailableServiceAliasesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AvailableServiceAliasesList.json new file mode 100644 index 000000000000..7037e1508ccd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AvailableServiceAliasesList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "location": "westcentralus", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "servicesAzure", + "id": "/subscriptions/subId/providers/Microsoft.Network/AvailableServiceAliases/servicesAzure", + "type": "Microsoft.Network/AvailableServiceAliases", + "resourceName": "/services/Azure" + }, + { + "name": "servicesAzureManagedInstance", + "id": "/subscriptions/subId/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureManagedInstance", + "type": "Microsoft.Network/AvailableServiceAliases", + "resourceName": "/services/Azure/ManagedInstance" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AvailableServiceAliasesListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AvailableServiceAliasesListByResourceGroup.json new file mode 100644 index 000000000000..02eb986f1828 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AvailableServiceAliasesListByResourceGroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "location": "westcentralus", + "subscriptionId": "subId", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "servicesAzure", + "id": "/subscriptions/subId/providers/Microsoft.Network/AvailableServiceAliases/servicesAzure", + "type": "Microsoft.Network/AvailableServiceAliases", + "resourceName": "/services/Azure" + }, + { + "name": "servicesAzureManagedInstance", + "id": "/subscriptions/subId/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureManagedInstance", + "type": "Microsoft.Network/AvailableServiceAliases", + "resourceName": "/services/Azure/ManagedInstance" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallDelete.json new file mode 100644 index 000000000000..0aa93c814307 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallFqdnTagsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallFqdnTagsListBySubscription.json new file mode 100644 index 000000000000..28738fbdc1f2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallFqdnTagsListBySubscription.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "azfwfqdntag", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewallFqdnTags/azfwfqdntag", + "type": "Microsoft.Network/azureFirewallFqdnTags", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "fqdnTagName": "azfwfqdntag" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallGet.json new file mode 100644 index 000000000000..5832d4d37d4c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallGet.json @@ -0,0 +1,177 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall" + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "ipGroups": [], + "additionalProperties": {} + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallGetWithAdditionalProperties.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallGetWithAdditionalProperties.json new file mode 100644 index 000000000000..ed513bef2b24 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallGetWithAdditionalProperties.json @@ -0,0 +1,179 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall" + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "additionalProperties": { + "key1": "value1", + "key2": "value2" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallGetWithIpGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallGetWithIpGroups.json new file mode 100644 index 000000000000..2fef45f879df --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallGetWithIpGroups.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall" + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceIpGroups": [ + "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceIpGroups": [ + "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationIpGroups": [ + "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups2" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceIpGroups": [ + "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups3" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "ipGroups": [ + { + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1", + "changeNumber": "5" + }, + { + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups2", + "changeNumber": "4" + }, + { + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups3", + "changeNumber": "1" + } + ], + "additionalProperties": {} + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallGetWithMgmtSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallGetWithMgmtSubnet.json new file mode 100644 index 000000000000..eef2eaaedcd4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallGetWithMgmtSubnet.json @@ -0,0 +1,190 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall" + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "managementIpConfiguration": { + "name": "azureFirewallMgmtIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallMgmtIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallManagementSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/managementPipName" + } + } + }, + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "additionalProperties": {} + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallGetWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallGetWithZones.json new file mode 100644 index 000000000000..1478dd038bc7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallGetWithZones.json @@ -0,0 +1,181 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall" + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US 2", + "zones": [ + "1", + "2", + "3" + ], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "ipGroups": [], + "additionalProperties": {} + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallListByResourceGroup.json new file mode 100644 index 000000000000..570c56815961 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallListByResourceGroup.json @@ -0,0 +1,193 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "managementIpConfiguration": { + "name": "azureFirewallMgmtIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallMgmtIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallManagementSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/managementPipName" + } + } + }, + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "ipGroups": [], + "additionalProperties": { + "key1": "value1", + "key2": "value2" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallListBySubscription.json new file mode 100644 index 000000000000..b44cece9a0f3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallListBySubscription.json @@ -0,0 +1,192 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "managementIpConfiguration": { + "name": "azureFirewallMgmtIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallMgmtIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallManagementSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/managementPipName" + } + } + }, + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "ipGroups": [], + "additionalProperties": { + "key1": "value1", + "key2": "value2" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallPut.json new file mode 100644 index 000000000000..326a4e306c99 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallPut.json @@ -0,0 +1,497 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "zones": [], + "properties": { + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedPort": "880", + "translatedFqdn": "internalhttpserver" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "protocols": [ + "TCP" + ], + "destinationFqdns": [ + "www.amazon.com" + ] + } + ] + } + } + ], + "ipGroups": [], + "additionalProperties": {} + } + } + }, + "201": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "additionalProperties": {} + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallPutInHub.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallPutInHub.json new file mode 100644 index 000000000000..445363a4dc98 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallPutInHub.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "zones": [], + "properties": { + "sku": { + "name": "AZFW_Hub", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "firewallPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/policy1" + }, + "hubIPAddresses": { + "publicIPs": { + "addresses": [], + "count": 1 + } + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_Hub", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "firewallPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/policy1" + }, + "hubIPAddresses": { + "publicIPs": { + "addresses": [ + { + "address": "13.73.240.12" + } + ], + "count": 1 + }, + "privateIPAddress": "10.0.0.0" + }, + "additionalProperties": {} + } + } + }, + "201": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_Hub", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "firewallPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/policy1" + }, + "hubIPAddresses": { + "publicIPs": { + "addresses": [ + { + "address": "13.73.240.12" + } + ], + "count": 1 + }, + "privateIPAddress": "10.0.0.0" + }, + "ipGroups": [], + "additionalProperties": {} + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallPutWithAdditionalProperties.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallPutWithAdditionalProperties.json new file mode 100644 index 000000000000..73996b42bc9c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallPutWithAdditionalProperties.json @@ -0,0 +1,507 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "zones": [], + "properties": { + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "ipGroups": [], + "additionalProperties": { + "key1": "value1", + "key2": "value2" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedPort": "880", + "translatedFqdn": "internalhttpserver" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "protocols": [ + "TCP" + ], + "destinationFqdns": [ + "www.amazon.com" + ] + } + ] + } + } + ], + "additionalProperties": { + "key1": "value1", + "key2": "value2" + } + } + } + }, + "201": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "additionalProperties": { + "key1": "value1", + "key2": "value2" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallPutWithIpGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallPutWithIpGroups.json new file mode 100644 index 000000000000..506589138174 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallPutWithIpGroups.json @@ -0,0 +1,505 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "zones": [], + "properties": { + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedPort": "880", + "translatedFqdn": "internalhttpserver" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "protocols": [ + "TCP" + ], + "destinationFqdns": [ + "www.amazon.com" + ] + } + ] + } + } + ], + "additionalProperties": {} + } + } + }, + "201": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceIpGroups": [ + "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceIpGroups": [ + "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationIpGroups": [ + "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups2" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "ipGroups": [ + { + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1", + "changeNumber": "5" + }, + { + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups2", + "changeNumber": "4" + } + ], + "additionalProperties": {} + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallPutWithMgmtSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallPutWithMgmtSubnet.json new file mode 100644 index 000000000000..79ac4e6df8a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallPutWithMgmtSubnet.json @@ -0,0 +1,507 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "zones": [], + "properties": { + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "managementIpConfiguration": { + "name": "azureFirewallMgmtIpConfiguration", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallManagementSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/managementPipName" + } + } + }, + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedPort": "880", + "translatedFqdn": "internalhttpserver" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "protocols": [ + "TCP" + ], + "destinationFqdns": [ + "www.amazon.com" + ] + } + ] + } + } + ], + "additionalProperties": {} + } + } + }, + "201": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "additionalProperties": {} + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallPutWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallPutWithZones.json new file mode 100644 index 000000000000..5ceb778a3a70 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallPutWithZones.json @@ -0,0 +1,509 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall", + "parameters": { + "location": "West US 2", + "tags": { + "key1": "value1" + }, + "zones": [ + "1", + "2", + "3" + ], + "properties": { + "threatIntelMode": "Alert", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US 2", + "zones": [ + "1", + "2", + "3" + ], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "ipGroups": [], + "additionalProperties": {} + } + } + }, + "201": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US 2", + "zones": [ + "1", + "2", + "3" + ], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "additionalProperties": {} + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallUpdateTags.json new file mode 100644 index 000000000000..ec7bcb376781 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureFirewallUpdateTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "azfwtest", + "azureFirewallName": "fw1", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "fw1", + "id": "/subscriptions/subid/resourceGroups/azfwtest/providers/Microsoft.Network/azureFirewalls/fw1", + "type": "Microsoft.Network/azureFirewalls", + "location": "brazilsouth", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureWebCategoriesListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureWebCategoriesListBySubscription.json new file mode 100644 index 000000000000..83c032f8a2f9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureWebCategoriesListBySubscription.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "4de8428a-4a92-4cea-90ff-b47128b8cab8" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Arts", + "id": "/subscriptions/4de8428a-4a92-4cea-90ff-b47128b8cab8/providers/Microsoft.Network/azureWebCategories/Arts", + "type": "Microsoft.Network/azureWebCategories", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "group": "General" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureWebCategoryGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureWebCategoryGet.json new file mode 100644 index 000000000000..0d700feed071 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/AzureWebCategoryGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "4de8428a-4a92-4cea-90ff-b47128b8cab8", + "name": "Arts" + }, + "responses": { + "200": { + "body": { + "name": "Arts", + "id": "/subscriptions/4de8428a-4a92-4cea-90ff-b47128b8cab8/providers/Microsoft.Network/azureWebCategories/Arts", + "type": "Microsoft.Network/azureWebCategories", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "group": "General" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionHostDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionHostDelete.json new file mode 100644 index 000000000000..f0d61969e024 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionHostDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionHostGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionHostGet.json new file mode 100644 index 000000000000..f4d66da88b25 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionHostGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant'" + }, + "responses": { + "200": { + "body": { + "name": "bastionhost'", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionHostListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionHostListByResourceGroup.json new file mode 100644 index 000000000000..a8bbe43b27c2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionHostListByResourceGroup.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "bastionhost'", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionHostListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionHostListBySubscription.json new file mode 100644 index 000000000000..439d935fe4f7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionHostListBySubscription.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "bastionhost'", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionHostPatch.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionHostPatch.json new file mode 100644 index 000000000000..f16251c7bdea --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionHostPatch.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "bastionhosttenant", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + }, + "sku": { + "name": "Standard" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionHostPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionHostPut.json new file mode 100644 index 000000000000..99ac864ae09c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionHostPut.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "sku": { + "name": "Standard" + }, + "parameters": { + "properties": { + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "bastionhost", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + }, + "201": { + "body": { + "name": "bastionhost'", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionSessionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionSessionDelete.json new file mode 100644 index 000000000000..41fec5c4a554 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionSessionDelete.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "sessionIds": [ + "session1", + "session2", + "session3" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sessionId": "session1", + "message": "session session1 invalidated!", + "state": "Disconnected" + }, + { + "sessionId": "session2", + "message": "session session2 could not be disconnected!", + "state": "Failed" + }, + { + "sessionId": "session3", + "message": "session session3 not found!", + "state": "NotFound" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionSessionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionSessionsList.json new file mode 100644 index 000000000000..16702ed1bab3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionSessionsList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sessionId": "sessionId", + "startTime": "2019-1-1T12:00:00.0000Z", + "targetSubscriptionId": "subid", + "resourceType": "VM", + "targetHostName": "vm01", + "targetResourceGroup": "rg1", + "userName": "user", + "targetIpAddress": "1.1.1.1", + "protocol": "SSH", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm01", + "sessionDurationInMins": 0.0 + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionShareableLinkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionShareableLinkCreate.json new file mode 100644 index 000000000000..e064e449c28a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionShareableLinkCreate.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "bslRequest": { + "vms": [ + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm1" + } + }, + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm2" + } + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm1" + }, + "bsl": "http://bst-bastionhostid.bastion.com/api/shareable-url/tokenvm1", + "createdAt": "2019-10-18T12:00:00.0000Z" + }, + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm2" + }, + "bsl": "http://bst-bastionhostid.bastion.com/api/shareable-url/tokenvm2", + "createdAt": "2019-10-17T12:00:00.0000Z" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionShareableLinkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionShareableLinkDelete.json new file mode 100644 index 000000000000..76060cfc09b0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionShareableLinkDelete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "bslRequest": { + "vms": [ + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm1" + } + }, + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm2" + } + } + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionShareableLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionShareableLinkGet.json new file mode 100644 index 000000000000..f2c3448bdae0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/BastionShareableLinkGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "bslRequest": { + "vms": [ + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm1" + } + }, + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm2" + } + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm1" + }, + "bsl": "http://bst-bastionhostid.bastion.com/api/shareable-url/tokenvm1", + "createdAt": "2019-10-18T12:00:00.0000Z" + }, + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm2" + }, + "bsl": "http://bst-bastionhostid.bastion.com/api/shareable-url/tokenvm2", + "createdAt": "2019-10-17T12:00:00.0000Z" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CheckDnsNameAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CheckDnsNameAvailability.json new file mode 100644 index 000000000000..cef611a69c7a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CheckDnsNameAvailability.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "location": "westus", + "domainNameLabel": "testdns" + }, + "responses": { + "200": { + "body": { + "available": false + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CheckPrivateLinkServiceVisibility.json new file mode 100644 index 000000000000..952587226ea9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CheckPrivateLinkServiceVisibility.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "location": "westus", + "parameters": { + "privateLinkServiceAlias": "mypls.00000000-0000-0000-0000-000000000000.azure.privatelinkservice" + } + }, + "responses": { + "200": { + "body": { + "visible": true + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json new file mode 100644 index 000000000000..cdbecd14d0f0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "location": "westus", + "resourceGroupName": "rg1", + "parameters": { + "privateLinkServiceAlias": "mypls.00000000-0000-0000-0000-000000000000.azure.privatelinkservice" + } + }, + "responses": { + "200": { + "body": { + "visible": true + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CloudServiceNetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CloudServiceNetworkInterfaceGet.json new file mode 100644 index 000000000000..e4a783757e6e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CloudServiceNetworkInterfaceGet.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "nic1", + "cloudServiceName": "cs1", + "roleInstanceName": "TestVMRole_IN_0" + }, + "responses": { + "200": { + "body": { + "name": "nic1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_0/networkInterfaces/nic1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_0/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.5", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_0/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.1" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "dns.cdmx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "primary": true + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CloudServiceNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CloudServiceNetworkInterfaceList.json new file mode 100644 index 000000000000..662934959c01 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CloudServiceNetworkInterfaceList.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "cloudServiceName": "cs1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nic1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_0/networkInterfaces/nic1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_0/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_0/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.0" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "ruw4wz3grewudjsyzrxj44pxod.cdmx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "primary": true + } + }, + { + "name": "nic1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_1/networkInterfaces/nic1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_1/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.5", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.1" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "ruw4wz3grewudjsyzrxj44pxod.cdmx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "primary": true + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CloudServicePublicIpGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CloudServicePublicIpGet.json new file mode 100644 index 000000000000..200fcf8c1f15 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CloudServicePublicIpGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "cloudServiceName": "cs1", + "resourceGroupName": "cs-tester", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "roleInstanceName": "Test_VM_0", + "networkInterfaceName": "nic1", + "ipConfigurationName": "ip1", + "publicIpAddressName": "pub1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cs-tester/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/Test_VM_0/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1", + "name": "pub1", + "properties": { + "publicIPAllocationMethod": "Dynamic", + "publicIPAddressVersion": "IPv4", + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/cs-tester/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/Test_VM_0/networkInterfaces/nic1/ipConfigurations/ip1" + }, + "dnsSettings": { + "domainNameLabel": "vm1.testvmssacc", + "fqdn": "vm1.testvmssacc.southeastasia.cloudapp.azure.com" + }, + "ipAddress": "13.67.119.72", + "idleTimeoutInMinutes": 10, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CloudServicePublicIpListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CloudServicePublicIpListAll.json new file mode 100644 index 000000000000..bcc5300a42d5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CloudServicePublicIpListAll.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "cloudServiceName": "cs1", + "resourceGroupName": "cs-tester", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/cs-tester/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/Test_VM_0/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1", + "name": "pub1", + "properties": { + "publicIPAllocationMethod": "Dynamic", + "publicIPAddressVersion": "IPv4", + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/cs-tester/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/Test_VM_0/networkInterfaces/nic1/ipConfigurations/ip1" + }, + "dnsSettings": { + "domainNameLabel": "vm1.testvmssacc", + "fqdn": "vm1.testvmssacc.southeastasia.cloudapp.azure.com" + }, + "ipAddress": "13.67.119.72", + "idleTimeoutInMinutes": 10, + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/cs-tester/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/Test_VM_3/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1", + "name": "pub1", + "properties": { + "publicIPAllocationMethod": "Dynamic", + "publicIPAddressVersion": "IPv4", + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/cs-tester/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/Test_VM_3/networkInterfaces/nic1/ipConfigurations/ip1" + }, + "dnsSettings": { + "domainNameLabel": "vm3.testvmssacc", + "fqdn": "vm3.testvmssacc.southeastasia.cloudapp.azure.com" + }, + "ipAddress": "13.67.118.216", + "idleTimeoutInMinutes": 10, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CloudServiceRoleInstanceNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CloudServiceRoleInstanceNetworkInterfaceList.json new file mode 100644 index 000000000000..a1945061a22e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CloudServiceRoleInstanceNetworkInterfaceList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "cloudServiceName": "cs1", + "roleInstanceName": "TestVMRole_IN_0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nic1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_0/networkInterfaces/nic1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_0/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.5", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_0/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.1" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "ruw4wz3grewudjsyzrxj44pxod.cdmx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "primary": true + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CloudServiceRoleInstancePublicIpList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CloudServiceRoleInstancePublicIpList.json new file mode 100644 index 000000000000..f2067c76c67e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CloudServiceRoleInstancePublicIpList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "cloudServiceName": "cs1", + "resourceGroupName": "cs-tester", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "roleInstanceName": "Test_VM_0", + "networkInterfaceName": "nic1", + "ipConfigurationName": "ip1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/cs-tester/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/Test_VM_0/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1", + "name": "pub1", + "properties": { + "publicIPAllocationMethod": "Dynamic", + "publicIPAddressVersion": "IPv4", + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/cs-tester/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/Test_VM_0/networkInterfaces/nic1/ipConfigurations/ip1" + }, + "dnsSettings": { + "domainNameLabel": "vm1.testvmssacc", + "fqdn": "vm1.testvmssacc.southeastasia.cloudapp.azure.com" + }, + "ipAddress": "13.67.119.72", + "idleTimeoutInMinutes": 10, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CustomIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CustomIpPrefixCreateCustomizedValues.json new file mode 100644 index 000000000000..9550867a8eb3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CustomIpPrefixCreateCustomizedValues.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "customIpPrefixName": "test-customipprefix", + "zones": [ + "1" + ], + "parameters": { + "location": "westus", + "properties": { + "cidr": "0.0.0.0/24" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-customipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/customIpPrefixes/test-customipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "192.168.254.2/24", + "commissionedState": "Provisioning", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + } + }, + "201": { + "body": { + "name": "test-customipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/customIpPrefixes/test-customipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "192.168.254.2/24", + "commissionedState": "Provisioning", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CustomIpPrefixDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CustomIpPrefixDelete.json new file mode 100644 index 000000000000..4b3935cbcff8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CustomIpPrefixDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "customIpPrefixName": "test-customipprefix" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CustomIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CustomIpPrefixGet.json new file mode 100644 index 000000000000..6c410c4d71b3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CustomIpPrefixGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "customIpPrefixName": "test-customipprefix" + }, + "responses": { + "200": { + "body": { + "name": "test-customipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/customIpPrefixes/test-customipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.0.0/24", + "commissionedState": "Commissioned", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CustomIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CustomIpPrefixList.json new file mode 100644 index 000000000000..e16af576e2f7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CustomIpPrefixList.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-customipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/customIpPrefixes/test-customipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.0.0/24", + "commissionedState": "Commissioned", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/customIpPrefixes/test-customipprefix2", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.1.0/30", + "commissionedState": "Commissioned", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix4", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix4", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "2607:f0d1:1002:0001::/64", + "commissionedState": "Commissioned", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [], + "customIpPrefixParent": { + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix5" + } + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix5", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix5", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "2607:f0d1:1002::/48", + "commissionedState": "Provisioned", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix4" + } + ] + }, + "type": "Microsoft.Network/customIpPrefixes" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CustomIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CustomIpPrefixListAll.json new file mode 100644 index 000000000000..777d534a78d5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CustomIpPrefixListAll.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-customipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/customIpPrefixes/test-customipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.0.0/24", + "commissionedState": "Commissioned", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix2", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/customIpPrefixes/test-customipprefix2", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.2.0/23", + "commissionedState": "Commissioned", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix3", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix3", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.4.0/22", + "commissionedState": "Provisioning", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix4", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix4", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "2607:f0d1:1002:0001::/64", + "commissionedState": "Commissioned", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [], + "customIpPrefixParent": { + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix5" + } + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix5", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix5", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "2607:f0d1:1002::/48", + "commissionedState": "Provisioned", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix4" + } + ] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix6", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix6", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Failed", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.5.0/22", + "commissionedState": "ProvisionFailed", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "failedReason": "CustomerSignatureNotVerified", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CustomIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CustomIpPrefixUpdateTags.json new file mode 100644 index 000000000000..39485f06aa0b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/CustomIpPrefixUpdateTags.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "customIpPrefixName": "test-customipprefix", + "zones": [ + "1" + ], + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-customipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/customIpPrefixes/test-customipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "192.168.254.2/24", + "commissionedState": "Provisioning", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.Network/customIpPrefixes" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosCustomPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosCustomPolicyCreate.json new file mode 100644 index 000000000000..b69e8aeb6e13 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosCustomPolicyCreate.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosCustomPolicyName": "test-ddos-custom-policy", + "parameters": { + "location": "centraluseuap", + "properties": { + "protocolCustomSettings": [ + { + "protocol": "Tcp" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-ddos-custom-policy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosCustomPolicies/test-ddos-custom-policy", + "type": "Microsoft.Network/ddosCustomPolicies", + "location": "centraluseuap", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "publicIPAddresses": [], + "protocolCustomSettings": [ + { + "protocol": "Tcp", + "triggerRateOverride": "20000" + } + ] + } + } + }, + "201": { + "body": { + "name": "test-ddos-custom-policy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosCustomPolicies/test-ddos-custom-policy", + "type": "Microsoft.Network/ddosCustomPolicies", + "location": "centraluseuap", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "publicIPAddresses": [], + "protocolCustomSettings": [ + { + "protocol": "Tcp", + "triggerRateOverride": "20000" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosCustomPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosCustomPolicyDelete.json new file mode 100644 index 000000000000..0585550f2e1e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosCustomPolicyDelete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosCustomPolicyName": "test-ddos-custom-policy", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosCustomPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosCustomPolicyGet.json new file mode 100644 index 000000000000..0037a53fe3d0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosCustomPolicyGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosCustomPolicyName": "test-ddos-custom-policy" + }, + "responses": { + "200": { + "body": { + "name": "test-ddos-custom-policy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosCustomPolicies/test-ddos-custom-policy", + "type": "Microsoft.Network/ddosCustomPolicies", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "publicIPAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosCustomPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosCustomPolicyUpdateTags.json new file mode 100644 index 000000000000..6e2eef3c9a7c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosCustomPolicyUpdateTags.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosCustomPolicyName": "test-ddos-custom-policy", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-ddos-custom-policy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosCustomPolicies/test-ddos-custom-policy", + "type": "Microsoft.Network/ddosCustomPolicies", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "publicIPAddresses": [], + "protocolCustomSettings": [ + { + "protocol": "Tcp", + "triggerRateOverride": "20000" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosProtectionPlanCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosProtectionPlanCreate.json new file mode 100644 index 000000000000..face3947ac70 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosProtectionPlanCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosProtectionPlanName": "test-plan", + "parameters": { + "location": "westus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "test-plan", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan", + "type": "Microsoft.Network/ddosProtectionPlans", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworks": [] + } + } + }, + "201": { + "body": { + "name": "test-plan", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan", + "type": "Microsoft.Network/ddosProtectionPlans", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworks": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosProtectionPlanDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosProtectionPlanDelete.json new file mode 100644 index 000000000000..bb9695991ee5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosProtectionPlanDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosProtectionPlanName": "test-plan" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosProtectionPlanGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosProtectionPlanGet.json new file mode 100644 index 000000000000..242e50065f9b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosProtectionPlanGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosProtectionPlanName": "test-plan" + }, + "responses": { + "200": { + "body": { + "name": "test-plan", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan", + "type": "Microsoft.Network/ddosProtectionPlans", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosProtectionPlanList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosProtectionPlanList.json new file mode 100644 index 000000000000..5f2d3aabdaf3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosProtectionPlanList.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan1", + "name": "plan1", + "type": "Microsoft.Network/ddosProtectionPlans", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet" + } + ] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan2", + "name": "plan2", + "type": "Microsoft.Network/ddosProtectionPlans", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosProtectionPlanListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosProtectionPlanListAll.json new file mode 100644 index 000000000000..055707dc4d9a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosProtectionPlanListAll.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan1", + "name": "plan1", + "type": "Microsoft.Network/ddosProtectionPlans", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet1" + } + ] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan2", + "name": "plan2", + "type": "Microsoft.Network/ddosProtectionPlans", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet3" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosProtectionPlanUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosProtectionPlanUpdateTags.json new file mode 100644 index 000000000000..c9f346749ad3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DdosProtectionPlanUpdateTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosProtectionPlanName": "test-plan", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-plan", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan", + "type": "Microsoft.Network/ddosProtectionPlans", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworks": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DefaultSecurityRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DefaultSecurityRuleGet.json new file mode 100644 index 000000000000..7422cc5d5316 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DefaultSecurityRuleGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "networkSecurityGroupName": "nsg1", + "defaultSecurityRuleName": "AllowVnetInBound" + }, + "responses": { + "200": { + "body": { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound", + "sourcePortRanges": [], + "destinationPortRanges": [], + "sourceAddressPrefixes": [], + "destinationAddressPrefixes": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DefaultSecurityRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DefaultSecurityRuleList.json new file mode 100644 index 000000000000..524b2ee70cc1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DefaultSecurityRuleList.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "networkSecurityGroupName": "nsg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound", + "sourcePortRanges": [], + "destinationPortRanges": [], + "sourceAddressPrefixes": [], + "destinationAddressPrefixes": [] + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound", + "sourcePortRanges": [], + "destinationPortRanges": [], + "sourceAddressPrefixes": [], + "destinationAddressPrefixes": [] + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound", + "sourcePortRanges": [], + "destinationPortRanges": [], + "sourceAddressPrefixes": [], + "destinationAddressPrefixes": [] + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound", + "sourcePortRanges": [], + "destinationPortRanges": [], + "sourceAddressPrefixes": [], + "destinationAddressPrefixes": [] + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound", + "sourcePortRanges": [], + "destinationPortRanges": [], + "sourceAddressPrefixes": [], + "destinationAddressPrefixes": [] + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound", + "sourcePortRanges": [], + "destinationPortRanges": [], + "sourceAddressPrefixes": [], + "destinationAddressPrefixes": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DscpConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DscpConfigurationCreate.json new file mode 100644 index 000000000000..9ae561ad70fd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DscpConfigurationCreate.json @@ -0,0 +1,231 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "dscpConfigurationName": "mydscpconfig", + "parameters": { + "properties": { + "qosDefinitionCollection": [ + { + "markings": [ + 1 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 10, + "end": 11 + }, + { + "start": 20, + "end": 21 + } + ], + "destinationPortRanges": [ + { + "start": 15, + "end": 15 + } + ], + "protocol": "Tcp" + }, + { + "markings": [ + 2 + ], + "sourceIpRanges": [ + { + "startIP": "12.0.0.1", + "endIP": "12.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "12.0.10.1", + "endIP": "12.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 51, + "end": 52 + } + ], + "protocol": "Udp" + } + ] + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "mydscpConfig", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dscpConfiguration/mydscpConfig", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "qosDefinitionCollection": [ + { + "markings": [ + 1 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 61, + "end": 62 + } + ], + "protocol": "Tcp" + }, + { + "markings": [ + 2 + ], + "sourceIpRanges": [ + { + "startIP": "12.0.0.1", + "endIP": "12.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "12.0.10.1", + "endIP": "12.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 51, + "end": 52 + } + ], + "protocol": "Udp" + } + ], + "associatedNetworkInterfaces": [], + "qosCollectionId": "0f8fad5b-d9cb-469f-a165-70867728950e" + }, + "type": "Microsoft.Network/dscpConfiguration" + } + }, + "201": { + "body": { + "name": "mydscpConfig", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dscpConfiguration/mydscpConfig", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "qosDefinitionCollection": [ + { + "markings": [ + 1 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 61, + "end": 62 + } + ], + "protocol": "Tcp" + }, + { + "markings": [ + 2 + ], + "sourceIpRanges": [ + { + "startIP": "12.0.0.1", + "endIP": "12.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "12.0.10.1", + "endIP": "12.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 51, + "end": 52 + } + ], + "protocol": "Udp" + } + ], + "associatedNetworkInterfaces": [], + "qosCollectionId": "0f8fad5b-d9cb-469f-a165-70867728950e" + }, + "type": "Microsoft.Network/dscpConfiguration" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DscpConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DscpConfigurationDelete.json new file mode 100644 index 000000000000..f309f3304103 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DscpConfigurationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "dscpConfigurationName": "mydscpConfig" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DscpConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DscpConfigurationGet.json new file mode 100644 index 000000000000..78000b76e1e5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DscpConfigurationGet.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "dscpConfigurationName": "mydscpConfig" + }, + "responses": { + "200": { + "body": { + "name": "mydscpConfig", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dscpConfiguration/mydscpConfig", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "associatedNetworkInterfaces": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2" + ], + "qosCollectionId": "0f8fad5b-d9cb-469f-a165-70867728950e", + "qosDefinitionCollection": [ + { + "markings": [ + 1 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 61, + "end": 62 + } + ], + "protocol": "Tcp" + }, + { + "markings": [ + 2 + ], + "sourceIpRanges": [ + { + "startIP": "12.0.0.1", + "endIP": "12.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "12.0.10.1", + "endIP": "12.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 51, + "end": 52 + } + ], + "protocol": "Udp" + } + ] + }, + "type": "Microsoft.Network/dscpConfiguration" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DscpConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DscpConfigurationList.json new file mode 100644 index 000000000000..fc98f0e16a03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DscpConfigurationList.json @@ -0,0 +1,167 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "mydscpConfig", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dscpConfiguration/mydscpConfig", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "associatedNetworkInterfaces": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2" + ], + "qosCollectionId": "0f8fad5b-d9cb-469f-a165-70867728950e", + "qosDefinitionCollection": [ + { + "markings": [ + 1 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 61, + "end": 62 + } + ], + "protocol": "Tcp" + }, + { + "markings": [ + 2 + ], + "sourceIpRanges": [ + { + "startIP": "12.0.0.1", + "endIP": "12.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "12.0.10.1", + "endIP": "12.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 51, + "end": 52 + } + ], + "protocol": "Udp" + } + ] + }, + "type": "Microsoft.Network/dscpConfiguration" + }, + { + "name": "mydscpConfig2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dscpConfiguration/mydscpConfig2", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "associatedNetworkInterfaces": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic3", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic4" + ], + "qosCollectionId": "9as24mf6-d9cb-7a7f-a165-70867728950e", + "qosDefinitionCollection": [ + { + "markings": [ + 1 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 61, + "end": 62 + } + ], + "protocol": "Tcp" + }, + { + "markings": [ + 2 + ], + "sourceIpRanges": [ + { + "startIP": "12.0.0.1", + "endIP": "12.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "12.0.10.1", + "endIP": "12.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 51, + "end": 52 + } + ], + "protocol": "Udp" + } + ] + }, + "type": "Microsoft.Network/dscpConfiguration" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DscpConfigurationListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DscpConfigurationListAll.json new file mode 100644 index 000000000000..79f85f2236ee --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/DscpConfigurationListAll.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "mydscpConfig", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dscpConfiguration/mydscpConfig", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "associatedNetworkInterfaces": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2" + ], + "qosCollectionId": "0f8fad5b-d9cb-469f-a165-70867728950e", + "qosDefinitionCollection": [ + { + "markings": [ + 1 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 61, + "end": 62 + } + ], + "protocol": "Tcp" + }, + { + "markings": [ + 2 + ], + "sourceIpRanges": [ + { + "startIP": "12.0.0.1", + "endIP": "12.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "12.0.10.1", + "endIP": "12.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 51, + "end": 52 + } + ], + "protocol": "Udp" + } + ] + }, + "type": "Microsoft.Network/dscpConfiguration" + }, + { + "name": "mydscpConfig2", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/dscpConfiguration/mydscpConfig2", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "associatedNetworkInterfaces": [ + "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/test-nic3", + "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/test-nic4" + ], + "qosCollectionId": "9as24mf6-d9cb-7a7f-a165-70867728950e", + "qosDefinitionCollection": [ + { + "markings": [ + 1 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 61, + "end": 62 + } + ], + "protocol": "Tcp" + }, + { + "markings": [ + 2 + ], + "sourceIpRanges": [ + { + "startIP": "12.0.0.1", + "endIP": "12.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "12.0.10.1", + "endIP": "12.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 51, + "end": 52 + } + ], + "protocol": "Udp" + } + ] + }, + "type": "Microsoft.Network/dscpConfiguration" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/EffectiveRoutesListForConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/EffectiveRoutesListForConnection.json new file mode 100644 index 000000000000..d7e3b1ac7534 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/EffectiveRoutesListForConnection.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2021-05-01", + "effectiveRoutesParameters": { + "resourceId": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName", + "virtualWanResourceType": "ExpressRouteConnection" + } + }, + "responses": { + "200": { + "description": "Request successful. Follow the location header for the effective routes list." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/EffectiveRoutesListForRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/EffectiveRoutesListForRouteTable.json new file mode 100644 index 000000000000..b48fb823c030 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/EffectiveRoutesListForRouteTable.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2021-05-01", + "effectiveRoutesParameters": { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1", + "virtualWanResourceType": "RouteTable" + } + }, + "responses": { + "200": { + "description": "Request successful. Follow the location header for the effective routes list." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/EffectiveRoutesListForVirtualHub.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/EffectiveRoutesListForVirtualHub.json new file mode 100644 index 000000000000..632dc98b5cf9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/EffectiveRoutesListForVirtualHub.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2021-05-01", + "effectiveRoutesParameters": null + }, + "responses": { + "200": { + "description": "Request successful. Follow the location header for the effective routes list." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/EndpointServicesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/EndpointServicesList.json new file mode 100644 index 000000000000..4c7be5571490 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/EndpointServicesList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Storage", + "id": "/subscriptions/subid/providers/Microsoft.Network/virtualNetworkEndpointServices/Microsoft.Storage", + "type": "Microsoft.Network/virtualNetworkEndpointServices" + }, + { + "name": "Microsoft.Sql", + "id": "/subscriptions/subid/providers/Microsoft.Network/virtualNetworkEndpointServices/Microsoft.Sql", + "type": "Microsoft.Network/virtualNetworkEndpointServices" + }, + { + "name": "Microsoft.AzureActiveDirectory", + "id": "/subscriptions/subid/providers/Microsoft.Network/virtualNetworkEndpointServices/Microsoft.AzureActiveDirectory", + "type": "Microsoft.Network/virtualNetworkEndpointServices" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitARPTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitARPTableList.json new file mode 100644 index 000000000000..b8784687e915 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitARPTableList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "peeringName": "peeringName", + "devicePath": "devicePath" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "age": 0, + "interface": "Microsoft", + "ipAddress": "IPAddress", + "macAddress": "macAddress" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitAuthorizationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitAuthorizationCreate.json new file mode 100644 index 000000000000..ba26e0c8d61c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitAuthorizationCreate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "authorizationName": "authorizatinName", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "authorizationParameters": { + "properties": {} + } + }, + "responses": { + "201": { + "body": { + "name": "authorizationName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/authorizationName", + "etag": "W/\"e22dd4b2-4c24-44cf-b702-70a472b62914\"", + "properties": { + "provisioningState": "Updating", + "authorizationUseStatus": "Available" + } + } + }, + "200": { + "body": { + "name": "authorizationName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/authorizationName", + "etag": "W/\"e22dd4b2-4c24-44cf-b702-70a472b62914\"", + "properties": { + "provisioningState": "Updating", + "authorizationUseStatus": "Available" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitAuthorizationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitAuthorizationDelete.json new file mode 100644 index 000000000000..2cde345b864b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitAuthorizationDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "authorizationName": "authorizationName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitAuthorizationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitAuthorizationGet.json new file mode 100644 index 000000000000..04710ae4d8a5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitAuthorizationGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "authorizationName": "authorizationName" + }, + "responses": { + "200": { + "body": { + "name": "MyAuthorization1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/MyAuthorization1", + "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"", + "properties": { + "provisioningState": "Succeeded", + "authorizationKey": "authKey", + "authorizationUseStatus": "Available" + }, + "type": "Microsoft.Network/expressRouteCircuits/authorizations" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitAuthorizationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitAuthorizationList.json new file mode 100644 index 000000000000..e5e4ea0bac1e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitAuthorizationList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "MyAuthorization1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/MyAuthorization1", + "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"", + "properties": { + "provisioningState": "Succeeded", + "authorizationKey": "authKey", + "authorizationUseStatus": "Available" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitConnectionCreate.json new file mode 100644 index 000000000000..4265cac6ea92 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitConnectionCreate.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "connectionName": "circuitConnectionUSAUS", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid1", + "circuitName": "ExpressRouteARMCircuitA", + "peeringName": "AzurePrivatePeering", + "type": "Microsoft.Network/expressRouteCircuits/peerings/connections", + "expressRouteCircuitConnectionParameters": { + "properties": { + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering" + }, + "peerExpressRouteCircuitPeering": { + "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering" + }, + "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a", + "addressPrefix": "10.0.0.0/29", + "ipv6CircuitConnectionConfig": { + "addressPrefix": "aa:bb::/125" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "circuitConnectionUSAUS", + "properties": { + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering" + }, + "peerExpressRouteCircuitPeering": { + "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering" + }, + "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a", + "addressPrefix": "10.0.0.0/24", + "circuitConnectionStatus": "Connected", + "provisioningState": "Succeeded", + "ipv6CircuitConnectionConfig": { + "addressPrefix": "aa:bb::1/125", + "circuitConnectionStatus": "Connected" + } + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "circuitConnectionUSAUS", + "properties": { + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering" + }, + "peerExpressRouteCircuitPeering": { + "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering" + }, + "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a", + "addressPrefix": "10.0.0.0/24", + "circuitConnectionStatus": "Connected", + "provisioningState": "Succeeded", + "ipv6CircuitConnectionConfig": { + "addressPrefix": "aa:bb::1/125", + "circuitConnectionStatus": "Connected" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitConnectionDelete.json new file mode 100644 index 000000000000..4145743098c1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitConnectionDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "circuitName": "ExpressRouteARMCircuitA", + "peeringName": "AzurePrivatePeering", + "connectionName": "circuitConnectionUSAUS", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitConnectionGet.json new file mode 100644 index 000000000000..ff6cbb4968dd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitConnectionGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "connectionName": "circuitConnectionUSAUS", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid1", + "circuitName": "ExpressRouteARMCircuitA", + "peeringName": "AzurePrivatePeering" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "circuitConnectionUSAUS", + "properties": { + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering" + }, + "peerExpressRouteCircuitPeering": { + "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering" + }, + "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a", + "addressPrefix": "10.0.0.0/24", + "circuitConnectionStatus": "Connected", + "provisioningState": "Succeeded", + "ipv6CircuitConnectionConfig": { + "addressPrefix": "aa:bb::1/125", + "circuitConnectionStatus": "Connected" + } + }, + "type": "Microsoft.Network/expressRouteCircuits/peerings/connections" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitConnectionList.json new file mode 100644 index 000000000000..c319b89732a8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitConnectionList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid1", + "circuitName": "ExpressRouteARMCircuitA", + "peeringName": "AzurePrivatePeering" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "circuitConnectionUSAUS", + "properties": { + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering" + }, + "peerExpressRouteCircuitPeering": { + "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering" + }, + "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a", + "addressPrefix": "10.0.0.0/24", + "circuitConnectionStatus": "Connected", + "provisioningState": "Succeeded", + "ipv6CircuitConnectionConfig": { + "addressPrefix": "aa:bb::1/125", + "circuitConnectionStatus": "Connected" + } + } + }, + { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSEUR", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "circuitConnectionUSEUR", + "properties": { + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering" + }, + "peerExpressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/dedharckteurope/providers/Microsoft.Network/expressRouteCircuits/dedharcktams/peerings/AzurePrivatePeering" + }, + "addressPrefix": "20.0.0.0/24", + "circuitConnectionStatus": "Connected", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitCreate.json new file mode 100644 index 000000000000..732ce1d1131a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitCreate.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "parameters": { + "sku": { + "name": "Standard_MeteredData", + "tier": "Standard", + "family": "MeteredData" + }, + "properties": { + "authorizations": [], + "peerings": [], + "allowClassicOperations": false, + "serviceProviderProperties": { + "serviceProviderName": "Equinix", + "peeringLocation": "Silicon Valley", + "bandwidthInMbps": 200 + } + }, + "location": "Brazil South" + } + }, + "responses": { + "201": { + "body": { + "name": "circuitName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "Brazil South", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [], + "serviceProviderProperties": { + "serviceProviderName": "Equinix", + "peeringLocation": "Silicon Valley", + "bandwidthInMbps": 200 + }, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "serviceKey": "a1410692-0000-4ceb-b94a-b90b94d398d1", + "serviceProviderProvisioningState": "NotProvisioned" + }, + "sku": { + "name": "Standard_MeteredData", + "tier": "Standard", + "family": "MeteredData" + } + } + }, + "200": { + "body": { + "name": "circuitName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "Brazil South", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [], + "serviceProviderProperties": { + "serviceProviderName": "Equinix", + "peeringLocation": "Silicon Valley", + "bandwidthInMbps": 200 + }, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "serviceKey": "a1410692-0000-4ceb-b94a-b90b94d398d1", + "serviceProviderProvisioningState": "NotProvisioned" + }, + "sku": { + "name": "Standard_MeteredData", + "tier": "Standard", + "family": "MeteredData" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json new file mode 100644 index 000000000000..e839c9205db8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "type": "Microsoft.Network/expressRouteCircuits", + "circuitName": "expressRouteCircuit1", + "parameters": { + "location": "westus", + "sku": { + "name": "Premium_MeteredData", + "tier": "Premium", + "family": "MeteredData" + }, + "properties": { + "expressRoutePort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName" + }, + "bandwidthInGbps": 10 + } + } + }, + "responses": { + "200": { + "body": { + "name": "expressRouteCircuit1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/expressRouteCircuit1", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [], + "expressRoutePort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName" + }, + "bandwidthInGbps": 10, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "gatewayManagerEtag": "20", + "serviceKey": "d281f746-ee01-4d00-8b0a-edec4833772b", + "serviceProviderProvisioningState": "Provisioned" + }, + "sku": { + "name": "Premium_MeteredData", + "tier": "Premium", + "family": "MeteredData" + } + } + }, + "201": { + "body": { + "name": "expressRouteCircuit1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/expressRouteCircuit1", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [], + "expressRoutePort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName" + }, + "bandwidthInGbps": 10, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "gatewayManagerEtag": "20", + "serviceKey": "d281f746-ee01-4d00-8b0a-edec4833772b", + "serviceProviderProvisioningState": "Provisioned" + }, + "sku": { + "name": "Premium_MeteredData", + "tier": "Premium", + "family": "MeteredData" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitDelete.json new file mode 100644 index 000000000000..883a02ac9cdf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitGet.json new file mode 100644 index 000000000000..d8a55d203e4b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "circuitName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [], + "serviceProviderProperties": { + "serviceProviderName": "providerName", + "peeringLocation": "peeringLocation", + "bandwidthInMbps": 200 + }, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "serviceKey": "a1410692-0000-4ceb-b94a-b90b94d398d1", + "serviceProviderProvisioningState": "NotProvisioned" + }, + "sku": { + "name": "Standard_MeteredData", + "tier": "Standard", + "family": "MeteredData" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitListByResourceGroup.json new file mode 100644 index 000000000000..c58b40fb57ff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitListByResourceGroup.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "circuitName1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName1", + "etag": "W/\"832b28c3-f5fd-4d2a-a2cb-6e4a2fe452b3\"", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [ + { + "name": "MyAuthorization1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/MyAuthorization1", + "etag": "W/\"832b28c3-f5fd-4d2a-a2cb-6e4a2fe452b3\"", + "properties": { + "provisioningState": "Succeeded", + "authorizationKey": "authkey", + "authorizationUseStatus": "Available" + } + } + ], + "serviceProviderProperties": { + "serviceProviderName": "providerName", + "peeringLocation": "peeringLocation", + "bandwidthInMbps": 200 + }, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "gatewayManagerEtag": "113", + "serviceKey": "a1410692-ed3b-4ceb-b94a-b90b95d398d1", + "serviceProviderProvisioningState": "Provisioned" + }, + "sku": { + "name": "Standard_MeteredData", + "tier": "Standard", + "family": "MeteredData" + } + }, + { + "name": "circuitName2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName2", + "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [ + { + "name": "MyAuthorization2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName2/authorizations/MyAuthorization2", + "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"", + "properties": { + "provisioningState": "Succeeded", + "authorizationKey": "authkey", + "authorizationUseStatus": "Available" + } + } + ], + "serviceProviderProperties": { + "serviceProviderName": "providerName", + "peeringLocation": "peeringLocation", + "bandwidthInMbps": 200 + }, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "gatewayManagerEtag": "", + "serviceKey": "6569625a-9ba4-498b-9719-14d778eef609", + "serviceProviderProvisioningState": "NotProvisioned" + }, + "sku": { + "name": "Standard_MeteredData", + "tier": "Standard", + "family": "MeteredData" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitListBySubscription.json new file mode 100644 index 000000000000..276a3ca74210 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitListBySubscription.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "circuitName1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName1", + "etag": "W/\"832b28c3-f5fd-4d2a-a2cb-6e4a2fe452b3\"", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [ + { + "name": "MyAuthorization1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/MyAuthorization1", + "etag": "W/\"832b28c3-f5fd-4d2a-a2cb-6e4a2fe452b3\"", + "properties": { + "provisioningState": "Succeeded", + "authorizationKey": "authkey", + "authorizationUseStatus": "Available" + } + } + ], + "serviceProviderProperties": { + "serviceProviderName": "providerName", + "peeringLocation": "peeringLocation", + "bandwidthInMbps": 200 + }, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "gatewayManagerEtag": "113", + "serviceKey": "a1410692-ed3b-4ceb-b94a-b90b95d398d1", + "serviceProviderProvisioningState": "Provisioned" + }, + "sku": { + "name": "Standard_MeteredData", + "tier": "Standard", + "family": "MeteredData" + } + }, + { + "name": "circuitName2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName2", + "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [ + { + "name": "MyAuthorization2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName2/authorizations/MyAuthorization2", + "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"", + "properties": { + "provisioningState": "Succeeded", + "authorizationKey": "authkey", + "authorizationUseStatus": "Available" + } + } + ], + "serviceProviderProperties": { + "serviceProviderName": "providerName", + "peeringLocation": "peeringLocation", + "bandwidthInMbps": 200 + }, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "gatewayManagerEtag": "", + "serviceKey": "6569625a-9ba4-498b-9719-14d778eef609", + "serviceProviderProvisioningState": "NotProvisioned" + }, + "sku": { + "name": "Standard_MeteredData", + "tier": "Standard", + "family": "MeteredData" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitPeeringCreate.json new file mode 100644 index 000000000000..92e471bc7374 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitPeeringCreate.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "peeringParameters": { + "properties": { + "peerASN": 200, + "primaryPeerAddressPrefix": "192.168.16.252/30", + "secondaryPeerAddressPrefix": "192.168.18.252/30", + "vlanId": 200 + } + } + }, + "responses": { + "201": { + "body": { + "name": "AzurePrivatePeering", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peeringType": "AzurePrivatePeering", + "azureASN": 12076, + "peerASN": 200, + "primaryPeerAddressPrefix": "192.168.16.252/30", + "secondaryPeerAddressPrefix": "192.168.18.252/30", + "primaryAzurePort": "", + "secondaryAzurePort": "", + "state": "Enabled", + "vlanId": 200, + "gatewayManagerEtag": "", + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + }, + "expressRouteConnection": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName" + } + } + } + }, + "200": { + "body": { + "name": "AzurePrivatePeering", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peeringType": "AzurePrivatePeering", + "azureASN": 12076, + "peerASN": 200, + "primaryPeerAddressPrefix": "192.168.16.252/30", + "secondaryPeerAddressPrefix": "192.168.18.252/30", + "primaryAzurePort": "", + "secondaryAzurePort": "", + "state": "Enabled", + "vlanId": 200, + "gatewayManagerEtag": "", + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + }, + "expressRouteConnection": "" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitPeeringDelete.json new file mode 100644 index 000000000000..7c9d2f96cfb3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "peeringName": "peeringName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitPeeringGet.json new file mode 100644 index 000000000000..48730e791bd9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitPeeringGet.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "peeringName": "MicrosoftPeering" + }, + "responses": { + "200": { + "body": { + "name": "MicrosoftPeering", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/MicrosoftPeering", + "etag": "W/\"b2a25b98-2e6d-4d46-87f2-089de5f6fdf9\"", + "properties": { + "provisioningState": "Succeeded", + "peeringType": "MicrosoftPeering", + "azureASN": 12076, + "peerASN": 100, + "primaryPeerAddressPrefix": "123.0.0.0/30", + "secondaryPeerAddressPrefix": "123.0.0.4/30", + "primaryAzurePort": "A51-TEST-06GMR-CIS-1-PRI-A", + "secondaryAzurePort": "A51-TEST-06GMR-CIS-2-SEC-A", + "state": "Enabled", + "vlanId": 300, + "gatewayManagerEtag": "103", + "lastModifiedBy": "Customer", + "microsoftPeeringConfig": { + "advertisedPublicPrefixes": [ + "123.1.0.0/24" + ], + "advertisedCommunities": [], + "advertisedPublicPrefixesState": "ValidationNeeded", + "customerASN": 23, + "legacyMode": 0, + "routingRegistryName": "ARIN" + }, + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled", + "microsoftPeeringConfig": { + "advertisedPublicPrefixes": [ + "3FFE:FFFF:0:CD31::/120" + ], + "advertisedCommunities": [], + "advertisedPublicPrefixesState": "ValidationNeeded", + "customerASN": 23, + "legacyMode": 0, + "routingRegistryName": "ARIN" + } + }, + "routeFilter": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName" + } + }, + "type": "Microsoft.Network/expressRouteCircuits/peerings" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitPeeringList.json new file mode 100644 index 000000000000..2f1f616c1093 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitPeeringList.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "MicrosoftPeering", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/MicrosoftPeering", + "etag": "W/\"b2a25b98-2e6d-4d46-87f2-089de5f6fdf9\"", + "properties": { + "provisioningState": "Succeeded", + "peeringType": "MicrosoftPeering", + "azureASN": 12076, + "peerASN": 100, + "primaryPeerAddressPrefix": "123.0.0.0/30", + "secondaryPeerAddressPrefix": "123.0.0.4/30", + "primaryAzurePort": "A51-TEST-06GMR-CIS-1-PRI-A", + "secondaryAzurePort": "A51-TEST-06GMR-CIS-2-SEC-A", + "state": "Enabled", + "vlanId": 300, + "gatewayManagerEtag": "103", + "lastModifiedBy": "Customer", + "microsoftPeeringConfig": { + "advertisedPublicPrefixes": [ + "123.1.0.0/24" + ], + "advertisedCommunities": [], + "advertisedPublicPrefixesState": "ValidationNeeded", + "customerASN": 23, + "legacyMode": 0, + "routingRegistryName": "ARIN" + }, + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled", + "microsoftPeeringConfig": { + "advertisedPublicPrefixes": [ + "3FFE:FFFF:0:CD31::/120" + ], + "advertisedCommunities": [], + "advertisedPublicPrefixesState": "ValidationNeeded", + "customerASN": 23, + "legacyMode": 0, + "routingRegistryName": "ARIN" + } + }, + "expressRouteConnection": "" + } + }, + { + "name": "AzurePrivatePeering", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering", + "etag": "W/\"b2a25b98-2e6d-4d46-87f2-089de5f6fdf9\"", + "properties": { + "provisioningState": "Succeeded", + "peeringType": "AzurePrivatePeering", + "azureASN": 12076, + "peerASN": 100, + "primaryPeerAddressPrefix": "10.0.0.0/30", + "secondaryPeerAddressPrefix": "10.0.0.4/30", + "primaryAzurePort": "A51-TEST-06GMR-CIS-1-PRI-A", + "secondaryAzurePort": "A51-TEST-06GMR-CIS-2-SEC-A", + "state": "Enabled", + "vlanId": 200, + "gatewayManagerEtag": "103", + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + }, + "expressRouteConnection": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitPeeringStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitPeeringStats.json new file mode 100644 index 000000000000..eb7bc5ae517c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitPeeringStats.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "peeringName": "peeringName" + }, + "responses": { + "200": { + "body": { + "primarybytesIn": 537408, + "primarybytesOut": 44032550, + "secondarybytesIn": 0, + "secondarybytesOut": 39002500 + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitRouteTableList.json new file mode 100644 index 000000000000..04b71239f0ce --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitRouteTableList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "peeringName": "peeringName", + "devicePath": "devicePath" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "network": "", + "nextHop": "", + "locPrf": "", + "weight": 0, + "path": "" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitRouteTableSummaryList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitRouteTableSummaryList.json new file mode 100644 index 000000000000..7db789f074a9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitRouteTableSummaryList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "peeringName": "peeringName", + "devicePath": "devicePath" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "neighbor": "100.65.171.1", + "v": 4, + "as": 9583, + "upDown": "never", + "statePfxRcd": "Idle" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitStats.json new file mode 100644 index 000000000000..77e6228eee41 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitStats.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primarybytesIn": 537408, + "primarybytesOut": 44032550, + "secondarybytesIn": 0, + "secondarybytesOut": 39002500 + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitUpdateTags.json new file mode 100644 index 000000000000..5c7fa185dd17 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCircuitUpdateTags.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "ertest", + "circuitName": "er1", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "er1", + "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "brazilsouth", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Failed", + "peerings": [], + "authorizations": [], + "serviceProviderProperties": { + "serviceProviderName": "Equinix", + "peeringLocation": "Silicon Valley", + "bandwidthInMbps": 1000 + }, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "gatewayManagerEtag": "", + "serviceKey": "0b392c2e-1e9d-46d7-b5e0-9ce90ca6b60c", + "serviceProviderProvisioningState": "NotProvisioned" + }, + "sku": { + "name": "Standard_MeteredData", + "tier": "Standard", + "family": "MeteredData" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteConnectionCreate.json new file mode 100644 index 000000000000..324bee4cfae3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteConnectionCreate.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "expressRouteGatewayName": "gateway-2", + "resourceGroupName": "resourceGroupName", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "connectionName": "connectionName", + "putExpressRouteConnectionParameters": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/gateway-2/expressRouteConnections/connectionName", + "name": "connectionName", + "properties": { + "routingWeight": 2, + "authorizationKey": "authorizationKey", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "connectionName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/gateway-2/expressRouteConnections/connectionName", + "properties": { + "provisioningState": "Provisioned", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering" + }, + "authorizationKey": "authorizationKey", + "routingWeight": 2, + "enableInternetSecurity": false, + "expressRouteGatewayBypass": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + }, + "201": { + "body": { + "name": "connectionName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/gateway-2/expressRouteConnections/connectionName", + "properties": { + "provisioningState": "Provisioned", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering" + }, + "authorizationKey": "authorizationKey", + "routingWeight": 2, + "enableInternetSecurity": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteConnectionDelete.json new file mode 100644 index 000000000000..2a383f6b5bbb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "connectionName": "connectionName", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteConnectionGet.json new file mode 100644 index 000000000000..75037782285e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteConnectionGet.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "connectionName": "connectionName" + }, + "responses": { + "200": { + "body": { + "name": "connectionName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName", + "properties": { + "provisioningState": "Provisioned", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering" + }, + "authorizationKey": "authorizationKey", + "routingWeight": 1, + "enableInternetSecurity": false, + "expressRouteGatewayBypass": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteConnectionList.json new file mode 100644 index 000000000000..a217deeeb2c3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteConnectionList.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "resourceGroupName": "resourceGroupName", + "expressRouteGatewayName": "expressRouteGatewayName", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "connectionName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName", + "properties": { + "provisioningState": "Provisioned", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering" + }, + "authorizationKey": "authorizationKey", + "routingWeight": 1, + "enableInternetSecurity": false, + "expressRouteGatewayBypass": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json new file mode 100644 index 000000000000..1f4031bbfb5f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "peeringParameters": { + "properties": { + "peerASN": 200, + "primaryPeerAddressPrefix": "192.168.16.252/30", + "secondaryPeerAddressPrefix": "192.168.18.252/30", + "vlanId": 200, + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126" + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "AzurePrivatePeering", + "id": "/subscriptions/subid/resourceGroups/CrossConnection-SiliconValley/providers/Microsoft.Network/expressRouteCrossConnections//peerings/AzurePrivatePeering", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peeringType": "AzurePrivatePeering", + "azureASN": 12076, + "peerASN": 200, + "primaryPeerAddressPrefix": "192.168.16.252/30", + "secondaryPeerAddressPrefix": "192.168.18.252/30", + "primaryAzurePort": "", + "secondaryAzurePort": "", + "state": "Enabled", + "vlanId": 200, + "gatewayManagerEtag": "", + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + } + } + } + }, + "200": { + "body": { + "name": "AzurePrivatePeering", + "id": "/subscriptions/subid/resourceGroups/CrossConnection-Boydton1DC/providers/Microsoft.Network/expressRouteCrossConnections//peerings/AzurePrivatePeering", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peeringType": "AzurePrivatePeering", + "azureASN": 12076, + "peerASN": 200, + "primaryPeerAddressPrefix": "192.168.16.252/30", + "secondaryPeerAddressPrefix": "192.168.18.252/30", + "primaryAzurePort": "", + "secondaryAzurePort": "", + "state": "Enabled", + "vlanId": 200, + "gatewayManagerEtag": "", + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json new file mode 100644 index 000000000000..4803f077a05c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json new file mode 100644 index 000000000000..0f4ad11c8736 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "AzurePrivatePeering", + "id": "/subscriptions/subid/resourceGroups/CrossConnection-Boydton1DC/providers/Microsoft.Network/expressRouteCrossConnections//peerings/AzurePrivatePeering", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peeringType": "AzurePrivatePeering", + "azureASN": 12076, + "peerASN": 200, + "primaryPeerAddressPrefix": "192.168.16.252/30", + "secondaryPeerAddressPrefix": "192.168.18.252/30", + "primaryAzurePort": "", + "secondaryAzurePort": "", + "state": "Enabled", + "vlanId": 200, + "gatewayManagerEtag": "", + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json new file mode 100644 index 000000000000..2c5cae709127 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "AzurePrivatePeering", + "id": "/subscriptions/subid/resourceGroups/CrossConnection-SiliconValley/providers/Microsoft.Network/expressRouteCrossConnections//peerings/AzurePrivatePeering", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peeringType": "AzurePrivatePeering", + "azureASN": 12076, + "peerASN": 200, + "primaryPeerAddressPrefix": "192.168.16.252/30", + "secondaryPeerAddressPrefix": "192.168.18.252/30", + "primaryAzurePort": "", + "secondaryAzurePort": "", + "state": "Enabled", + "vlanId": 200, + "gatewayManagerEtag": "", + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionGet.json new file mode 100644 index 000000000000..5d55898d2192 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "CrossConnection-SiliconValley", + "crossConnectionName": "" + }, + "responses": { + "200": { + "body": { + "name": "", + "id": "/subscriptions/subid/resourceGroups/CrossConnection-SiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/", + "type": "Microsoft.Network/expressRouteCrossConnections", + "location": "brazilsouth", + "etag": "W/\"c0e6477e-8150-4d4f-9bf6-bb10e6acb63a\"", + "properties": { + "provisioningState": "Enabled", + "expressRouteCircuit": { + "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1" + }, + "peerings": [], + "peeringLocation": "SiliconValley", + "bandwidthInMbps": 1000, + "primaryAzurePort": "bvtazureixp01", + "secondaryAzurePort": "bvtazureixp01", + "sTag": 2, + "serviceProviderProvisioningState": "NotProvisioned" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionList.json new file mode 100644 index 000000000000..dffc0ea5f4c1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "", + "id": "/subscriptions/subid/resourceGroups/CrossConnectionSiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/", + "type": "Microsoft.Network/expressRouteCrossConnections", + "location": "brazilsouth", + "properties": { + "provisioningState": "Enabled", + "expressRouteCircuit": { + "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1" + }, + "peerings": [], + "peeringLocation": "SiliconValley", + "bandwidthInMbps": 1000, + "primaryAzurePort": "bvtazureixp01", + "secondaryAzurePort": "bvtazureixp01", + "sTag": 2, + "serviceProviderProvisioningState": "NotProvisioned" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json new file mode 100644 index 000000000000..507fecc6160c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "resourceGroupName": "CrossConnection-SiliconValley", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "", + "id": "/subscriptions/subid/resourceGroups/CrossConnectionSilicon-Valley/providers/Microsoft.Network/expressRouteCrossConnections/", + "type": "Microsoft.Network/expressRouteCrossConnections", + "location": "brazilsouth", + "properties": { + "provisioningState": "Enabled", + "expressRouteCircuit": { + "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1" + }, + "peerings": [], + "peeringLocation": "SiliconValley", + "bandwidthInMbps": 1000, + "primaryAzurePort": "bvtazureixp01", + "secondaryAzurePort": "bvtazureixp01", + "sTag": 2, + "serviceProviderProvisioningState": "NotProvisioned" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionUpdate.json new file mode 100644 index 000000000000..c2301672d50f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "CrossConnection-SiliconValley", + "crossConnectionName": "", + "parameters": { + "properties": { + "serviceProviderProvisioningState": "NotProvisioned" + } + } + }, + "responses": { + "200": { + "body": { + "name": "", + "id": "/subscriptions/subid/resourceGroups/CrossConnectionSiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/", + "type": "Microsoft.Network/expressRouteCrossConnections", + "location": "brazilsouth", + "properties": { + "provisioningState": "Enabled", + "expressRouteCircuit": { + "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1" + }, + "peerings": [], + "peeringLocation": "SiliconValley", + "bandwidthInMbps": 1000, + "primaryAzurePort": "bvtazureixp01", + "secondaryAzurePort": "bvtazureixp01", + "sTag": 2, + "serviceProviderProvisioningState": "NotProvisioned" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionUpdateTags.json new file mode 100644 index 000000000000..30d1d6e1e38e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionUpdateTags.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "CrossConnection-SiliconValley", + "crossConnectionName": "", + "crossConnectionParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "er1", + "id": "/subscriptions/subid/resourceGroups/CrossConnectionSiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/", + "type": "Microsoft.Network/expressRouteCrossConnections", + "location": "brazilsouth", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Failed", + "expressRouteCircuit": { + "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1" + }, + "peerings": [], + "peeringLocation": "SiliconValley", + "bandwidthInMbps": 1000, + "primaryAzurePort": "bvtazureixp01", + "secondaryAzurePort": "bvtazureixp01", + "sTag": 2, + "serviceProviderProvisioningState": "NotProvisioned" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionsArpTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionsArpTable.json new file mode 100644 index 000000000000..e4899f80697d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionsArpTable.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "devicePath": "primary", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "age": 0, + "interface": "Microsoft", + "ipAddress": "192.116.14.254", + "macAddress": "885a.9269.9110" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionsRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionsRouteTable.json new file mode 100644 index 000000000000..48e3f3c9499e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionsRouteTable.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "devicePath": "primary", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "network": "10.6.0.0/16", + "nextHop": "10.6.1.12", + "locPrf": "", + "weight": 0, + "path": "65514" + }, + { + "network": "10.7.0.0/16", + "nextHop": "10.7.1.13", + "locPrf": "", + "weight": 0, + "path": "65514" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json new file mode 100644 index 000000000000..2a060d27152f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "devicePath": "primary", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "neighbor": "10.6.1.112", + "asn": 65514, + "upDown": "1d14h", + "stateOrPrefixesReceived": "Active" + }, + { + "neighbor": "10.6.1.113", + "asn": 65514, + "upDown": "1d14h", + "stateOrPrefixesReceived": "1" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteGatewayCreate.json new file mode 100644 index 000000000000..325416ec20f2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteGatewayCreate.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "expressRouteGatewayName": "gateway-2", + "subscriptionId": "subid", + "resourceGroupName": "resourceGroupName", + "api-version": "2021-05-01", + "putExpressRouteGatewayParameters": { + "location": "westus", + "properties": { + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupId/providers/Microsoft.Network/virtualHubs/virtualHubName" + }, + "autoScaleConfiguration": { + "bounds": { + "min": 3 + } + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "gateway-2", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/gateway-2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "westus", + "type": "Microsoft.Network/expressRouteGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName" + }, + "autoScaleConfiguration": { + "bounds": { + "min": 3 + } + } + } + } + }, + "200": { + "body": { + "name": "gateway-2", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/gateway-2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "westus", + "type": "Microsoft.Network/expressRouteGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName" + }, + "autoScaleConfiguration": { + "bounds": { + "min": 3 + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteGatewayDelete.json new file mode 100644 index 000000000000..d3cb0fbc1d52 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteGatewayGet.json new file mode 100644 index 000000000000..8c7acdf0f168 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteGatewayGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "expressRouteGatewayName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "westus", + "type": "Microsoft.Network/expressRouteGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteGatewayListByResourceGroup.json new file mode 100644 index 000000000000..feceb98a4d4c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteGatewayListByResourceGroup.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "resourceGroupName": "resourceGroupName", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "expressRouteGatewayName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "westus", + "type": "Microsoft.Network/expressRouteGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName" + }, + "autoScaleConfiguration": { + "bounds": { + "min": 2 + } + }, + "expressRouteConnections": [ + { + "name": "connectionName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName", + "properties": { + "provisioningState": "Provisioned", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering" + }, + "authorizationKey": "f28e9c99-78d8-4248-a855-c54cf6beb99d", + "routingWeight": 1, + "enableInternetSecurity": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hvirtualHubNameub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteGatewayListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteGatewayListBySubscription.json new file mode 100644 index 000000000000..c83e088210e8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteGatewayListBySubscription.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "expressRouteGatewayName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "westus", + "type": "Microsoft.Network/expressRouteGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName" + }, + "autoScaleConfiguration": { + "bounds": { + "min": 2 + } + }, + "expressRouteConnections": [ + { + "name": "connectionName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName", + "properties": { + "provisioningState": "Provisioned", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering" + }, + "authorizationKey": "f28e9c99-78d8-4248-a855-c54cf6beb99d", + "routingWeight": 1, + "enableInternetSecurity": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hvirtualHubNameub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteGatewayUpdateTags.json new file mode 100644 index 000000000000..996f740a681d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteGatewayUpdateTags.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "expressRouteGatewayParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "expressRouteGatewayName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "westus", + "type": "Microsoft.Network/expressRouteGateways", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteLinkGet.json new file mode 100644 index 000000000000..829997f8bc20 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteLinkGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName", + "linkName": "linkName" + }, + "responses": { + "200": { + "body": { + "name": "linkName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/linkName", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteLinkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteLinkList.json new file mode 100644 index 000000000000..8e98d0bebd9e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteLinkList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "name": "link2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortCreate.json new file mode 100644 index 000000000000..6dcf4a113a84 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortCreate.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName", + "parameters": { + "location": "westus", + "properties": { + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "encapsulation": "QinQ" + } + } + }, + "responses": { + "200": { + "body": { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName", + "type": "Microsoft.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + }, + "201": { + "body": { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName", + "type": "Microsoft.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortDelete.json new file mode 100644 index 000000000000..69853de2ee30 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortGet.json new file mode 100644 index 000000000000..6d9143ebbe4f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName" + }, + "responses": { + "200": { + "body": { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName", + "type": "Microsoft.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortList.json new file mode 100644 index 000000000000..942e0376cd67 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortList.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName", + "type": "Microsoft.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortListByResourceGroup.json new file mode 100644 index 000000000000..7b3b9620d007 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortListByResourceGroup.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-05-01", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName", + "type": "Microsoft.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortUpdateLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortUpdateLink.json new file mode 100644 index 000000000000..60efcc3ae523 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortUpdateLink.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName", + "parameters": { + "location": "westus", + "properties": { + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "encapsulation": "QinQ", + "links": [ + { + "name": "link1", + "properties": { + "adminState": "Enabled" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName", + "type": "Microsoft.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Enabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + }, + "201": { + "body": { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName", + "type": "Microsoft.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Enabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortUpdateTags.json new file mode 100644 index 000000000000..3bf7e27b6c0f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortUpdateTags.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName", + "type": "Microsoft.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortsLocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortsLocationGet.json new file mode 100644 index 000000000000..f1f05424f469 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortsLocationGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-05-01", + "locationName": "locationName" + }, + "responses": { + "200": { + "body": { + "name": "locationName", + "id": "/subscriptions/subid/providers/Microsoft.Network/expressRoutePortsLocations/locationName", + "type": "Microsoft.Network/expressRoutePortsLocations", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "address": "123 Main Street, City, State, Zip", + "contact": "email@address.com", + "availableBandwidths": [ + { + "offerName": "100 Gbps", + "valueInGbps": 100 + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortsLocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortsLocationList.json new file mode 100644 index 000000000000..97b3a8da904e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRoutePortsLocationList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "locationName", + "id": "/subscriptions/subid/providers/Microsoft.Network/expressRoutePortsLocations/locationName", + "type": "Microsoft.Network/expressRoutePortsLocations", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "address": "123 Main Street, City, State, Zip", + "contact": "email@address.com", + "availableBandwidths": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteProviderList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteProviderList.json new file mode 100644 index 000000000000..621fc1f85208 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ExpressRouteProviderList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "providerName", + "id": "/subscriptions//resourceGroups//providers/Microsoft.Network/expressRouteServiceProviders/", + "type": "Microsoft.Network/expressRouteServiceProviders", + "properties": { + "provisioningState": "Succeeded", + "peeringLocations": [ + "peeringLocation1", + "peeringLocation2" + ], + "bandwidthsOffered": [ + { + "offerName": "50Mbps", + "valueInMbps": 50 + }, + { + "offerName": "100Mbps", + "valueInMbps": 100 + }, + { + "offerName": "200Mbps", + "valueInMbps": 200 + }, + { + "offerName": "500Mbps", + "valueInMbps": 500 + }, + { + "offerName": "1Gbps", + "valueInMbps": 1000 + }, + { + "offerName": "2Gbps", + "valueInMbps": 2000 + }, + { + "offerName": "5Gbps", + "valueInMbps": 5000 + }, + { + "offerName": "10Gbps", + "valueInMbps": 10000 + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyDelete.json new file mode 100644 index 000000000000..dbc77ec18624 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyGet.json new file mode 100644 index 000000000000..9a46bb4e7e03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyGet.json @@ -0,0 +1,121 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy" + }, + "responses": { + "200": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "threatIntelWhitelist": { + "ipAddresses": [ + "20.3.4.5" + ], + "fqdns": [ + "*.microsoft.com" + ] + }, + "ruleCollectionGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1" + } + ], + "insights": { + "isEnabled": true, + "retentionDays": 100, + "logAnalyticsResources": { + "workspaces": [ + { + "region": "westus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace1" + } + }, + { + "region": "eastus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace2" + } + } + ], + "defaultWorkspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/defaultWorkspace" + } + } + }, + "firewalls": [], + "snat": { + "privateRanges": [ + "IANAPrivateRanges" + ] + }, + "sql": { + "allowSqlRedirect": true + }, + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + }, + "explicitProxySettings": { + "enableExplicitProxy": true, + "httpPort": 8087, + "httpsPort": 8087, + "pacFilePort": 8087, + "pacFile": "https://tinawstorage.file.core.windows.net/?sv=2020-02-10&ss=bfqt&srt=sco&sp=rwdlacuptfx&se=2021-06-04T07:01:12Z&st=2021-06-03T23:01:12Z&sip=68.65.171.11&spr=https&sig=Plsa0RRVpGbY0IETZZOT6znOHcSro71LLTTbzquYPgs%3D" + }, + "sku": { + "tier": "Premium" + }, + "intrusionDetection": { + "mode": "Alert", + "configuration": { + "signatureOverrides": [ + { + "id": "2525004", + "mode": "Deny" + } + ], + "bypassTrafficSettings": [ + { + "name": "bypassRule1", + "description": "Rule 1", + "protocol": "TCP", + "sourceAddresses": [ + "1.2.3.4" + ], + "destinationAddresses": [ + "5.6.7.8" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + }, + "transportSecurity": { + "certificateAuthority": { + "name": "clientcert", + "keyVaultSecretId": "https://kv/secret" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyListByResourceGroup.json new file mode 100644 index 000000000000..a4005885d13e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyListByResourceGroup.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "ruleCollectionGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1" + } + ], + "firewalls": [], + "snat": { + "privateRanges": [ + "IANAPrivateRanges" + ] + }, + "sql": { + "allowSqlRedirect": true + }, + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + }, + "sku": { + "tier": "Standard" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyListBySubscription.json new file mode 100644 index 000000000000..18961936e2a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyListBySubscription.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "ruleCollectionGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1" + } + ], + "firewalls": [], + "snat": { + "privateRanges": [ + "IANAPrivateRanges" + ] + }, + "sql": { + "allowSqlRedirect": true + }, + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + }, + "sku": { + "tier": "Standard" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyNatRuleCollectionGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyNatRuleCollectionGroupGet.json new file mode 100644 index 000000000000..8a54ac7f9d18 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyNatRuleCollectionGroupGet.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleCollectionGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "priority": 100, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyNatRuleCollection", + "action": { + "type": "DNAT" + }, + "rules": [ + { + "ruleType": "NatRule", + "name": "NatRule1", + "translatedFqdn": "internalhttpserver", + "translatedPort": "8080", + "ipProtocols": [ + "TCP", + "UDP" + ], + "sourceAddresses": [ + "2.2.2.2" + ], + "sourceIpGroups": [], + "destinationAddresses": [ + "152.23.32.23" + ], + "destinationPorts": [ + "8080" + ] + } + ], + "name": "NatRC", + "priority": 100 + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyNatRuleCollectionGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyNatRuleCollectionGroupPut.json new file mode 100644 index 000000000000..b370c90afa56 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyNatRuleCollectionGroupPut.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "ruleCollectionGroupName": "ruleCollectionGroup1", + "parameters": { + "properties": { + "priority": 100, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyNatRuleCollection", + "priority": 100, + "name": "Example-Nat-Rule-Collection", + "action": { + "type": "DNAT" + }, + "rules": [ + { + "ruleType": "NatRule", + "name": "nat-rule1", + "translatedFqdn": "internalhttp.server.net", + "translatedPort": "8080", + "ipProtocols": [ + "TCP", + "UDP" + ], + "sourceAddresses": [ + "2.2.2.2" + ], + "sourceIpGroups": [], + "destinationAddresses": [ + "152.23.32.23" + ], + "destinationPorts": [ + "8080" + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 100, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyNatRuleCollection", + "name": "Example-Nat-Rule-Collection", + "priority": 100, + "action": { + "type": "DNAT" + }, + "rules": [ + { + "ruleType": "NatRule", + "name": "nat-rule1", + "translatedFqdn": "internalhttp.server.net", + "translatedPort": "8080", + "ipProtocols": [ + "TCP", + "UDP" + ], + "sourceAddresses": [ + "2.2.2.2" + ], + "sourceIpGroups": [], + "destinationAddresses": [ + "152.23.32.23" + ], + "destinationPorts": [ + "8080" + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyNatRuleCollection", + "name": "Example-Nat-Rule-Collection", + "priority": 100, + "action": { + "type": "DNAT" + }, + "rules": [ + { + "ruleType": "NatRule", + "name": "nat-rule1", + "translatedFqdn": "internalhttp.server.net", + "translatedPort": "8080", + "ipProtocols": [ + "TCP", + "UDP" + ], + "sourceAddresses": [ + "2.2.2.2" + ], + "sourceIpGroups": [], + "destinationAddresses": [ + "152.23.32.23" + ], + "destinationPorts": [ + "8080" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyPut.json new file mode 100644 index 000000000000..252295e65e6a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyPut.json @@ -0,0 +1,336 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "properties": { + "threatIntelMode": "Alert", + "threatIntelWhitelist": { + "ipAddresses": [ + "20.3.4.5" + ], + "fqdns": [ + "*.microsoft.com" + ] + }, + "insights": { + "isEnabled": true, + "retentionDays": 100, + "logAnalyticsResources": { + "workspaces": [ + { + "region": "westus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace1" + } + }, + { + "region": "eastus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace2" + } + } + ], + "defaultWorkspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/defaultWorkspace" + } + } + }, + "snat": { + "privateRanges": [ + "IANAPrivateRanges" + ] + }, + "sql": { + "allowSqlRedirect": true + }, + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + }, + "explicitProxySettings": { + "enableExplicitProxy": true, + "httpPort": 8087, + "httpsPort": 8087, + "pacFilePort": 8087, + "pacFile": "https://tinawstorage.file.core.windows.net/?sv=2020-02-10&ss=bfqt&srt=sco&sp=rwdlacuptfx&se=2021-06-04T07:01:12Z&st=2021-06-03T23:01:12Z&sip=68.65.171.11&spr=https&sig=Plsa0RRVpGbY0IETZZOT6znOHcSro71LLTTbzquYPgs%3D" + }, + "sku": { + "tier": "Premium" + }, + "intrusionDetection": { + "mode": "Alert", + "configuration": { + "signatureOverrides": [ + { + "id": "2525004", + "mode": "Deny" + } + ], + "bypassTrafficSettings": [ + { + "name": "bypassRule1", + "description": "Rule 1", + "protocol": "TCP", + "sourceAddresses": [ + "1.2.3.4" + ], + "destinationAddresses": [ + "5.6.7.8" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + }, + "transportSecurity": { + "certificateAuthority": { + "name": "clientcert", + "keyVaultSecretId": "https://kv/secret" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "threatIntelWhitelist": { + "ipAddresses": [ + "20.3.4.5" + ], + "fqdns": [ + "*.microsoft.com" + ] + }, + "ruleCollectionGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup2" + } + ], + "insights": { + "isEnabled": true, + "retentionDays": 100, + "logAnalyticsResources": { + "workspaces": [ + { + "region": "westus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace1" + } + }, + { + "region": "eastus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace2" + } + } + ], + "defaultWorkspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/defaultWorkspace" + } + } + }, + "firewalls": [], + "snat": { + "privateRanges": [ + "IANAPrivateRanges" + ] + }, + "sql": { + "allowSqlRedirect": true + }, + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + }, + "explicitProxySettings": { + "enableExplicitProxy": true, + "httpPort": 8087, + "httpsPort": 8087, + "pacFilePort": 8087, + "pacFile": "https://tinawstorage.file.core.windows.net/?sv=2020-02-10&ss=bfqt&srt=sco&sp=rwdlacuptfx&se=2021-06-04T07:01:12Z&st=2021-06-03T23:01:12Z&sip=68.65.171.11&spr=https&sig=Plsa0RRVpGbY0IETZZOT6znOHcSro71LLTTbzquYPgs%3D" + }, + "sku": { + "tier": "Premium" + }, + "intrusionDetection": { + "mode": "Alert", + "configuration": { + "signatureOverrides": [ + { + "id": "2525004", + "mode": "Deny" + } + ], + "bypassTrafficSettings": [ + { + "name": "bypassRule1", + "description": "Rule 1", + "protocol": "TCP", + "sourceAddresses": [ + "1.2.3.4" + ], + "destinationAddresses": [ + "5.6.7.8" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + }, + "transportSecurity": { + "certificateAuthority": { + "name": "clientcert", + "keyVaultSecretId": "https://kv/secret" + } + } + } + } + }, + "201": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "threatIntelWhitelist": { + "ipAddresses": [ + "20.3.4.5" + ], + "fqdns": [ + "*.microsoft.com" + ] + }, + "ruleCollectionGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup2" + } + ], + "insights": { + "isEnabled": true, + "retentionDays": 100, + "logAnalyticsResources": { + "workspaces": [ + { + "region": "westus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace1" + } + }, + { + "region": "eastus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace2" + } + } + ], + "defaultWorkspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/defaultWorkspace" + } + } + }, + "firewalls": [], + "snat": { + "privateRanges": [ + "IANAPrivateRanges" + ] + }, + "sql": { + "allowSqlRedirect": true + }, + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + }, + "explicitProxySettings": { + "enableExplicitProxy": true, + "httpPort": 8087, + "httpsPort": 8087, + "pacFilePort": 8087, + "pacFile": "https://tinawstorage.file.core.windows.net/?sv=2020-02-10&ss=bfqt&srt=sco&sp=rwdlacuptfx&se=2021-06-04T07:01:12Z&st=2021-06-03T23:01:12Z&sip=68.65.171.11&spr=https&sig=Plsa0RRVpGbY0IETZZOT6znOHcSro71LLTTbzquYPgs%3D" + }, + "sku": { + "tier": "Premium" + }, + "intrusionDetection": { + "mode": "Alert", + "configuration": { + "signatureOverrides": [ + { + "id": "2525004", + "mode": "Deny" + } + ], + "bypassTrafficSettings": [ + { + "name": "bypassRule1", + "description": "Rule 1", + "protocol": "TCP", + "sourceAddresses": [ + "1.2.3.4" + ], + "destinationAddresses": [ + "5.6.7.8" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + }, + "transportSecurity": { + "certificateAuthority": { + "name": "clientcert", + "keyVaultSecretId": "https://kv/secret" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyQuerySignatureOverrides.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyQuerySignatureOverrides.json new file mode 100644 index 000000000000..deac9766fd6a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyQuerySignatureOverrides.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "parameters": { + "filters": [ + { + "field": "Mode", + "values": [ + "Deny" + ] + } + ], + "search": "", + "orderBy": { + "field": "severity", + "order": "Ascending" + }, + "resultsPerPage": 20, + "skip": 0 + } + }, + "responses": { + "200": { + "body": { + "signatures": [ + { + "signatureId": 2000015, + "mode": 2, + "severity": 1, + "direction": 2, + "group": "A Network Trojan was detected", + "description": "P2P Phatbot Control Connection", + "sourcePorts": [ + "any" + ], + "destinationPorts": [ + "any" + ], + "lastUpdated": "2010-07-30T00:00:00", + "inheritedFromParentPolicy": false, + "protocol": "tcp" + }, + { + "signatureId": 2000106, + "mode": 2, + "severity": 1, + "direction": 1, + "group": "Attempted User Privilege Gain", + "description": "WEB_SERVER SQL sp_delete_alert attempt", + "sourcePorts": [ + "any" + ], + "destinationPorts": [ + "any" + ], + "lastUpdated": "2019-09-27T00:00:00", + "inheritedFromParentPolicy": false, + "protocol": "http" + } + ], + "matchingRecordsCount": 2 + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyQuerySignatureOverridesFilterValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyQuerySignatureOverridesFilterValues.json new file mode 100644 index 000000000000..a9ca25f1e30c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyQuerySignatureOverridesFilterValues.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "parameters": { + "filterName": "severity" + } + }, + "responses": { + "200": { + "body": { + "filterValues": [ + "low", + "medium", + "high" + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupDelete.json new file mode 100644 index 000000000000..a9665571c6a5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleCollectionGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupGet.json new file mode 100644 index 000000000000..dbb82537e512 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleCollectionGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "priority": 200, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-rule1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupList.json new file mode 100644 index 000000000000..b5ad0dc3aa00 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "name": "Example-Filter-Rule-Collection", + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "priority": 120, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "network-rule-1", + "ruleType": "NetworkRule", + "description": "Network rule", + "destinationAddresses": [ + "*" + ], + "sourceAddresses": [ + "10.1.25.0/24" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupPut.json new file mode 100644 index 000000000000..e06cd7d2b4a3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupPut.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "ruleCollectionGroupName": "ruleCollectionGroup1", + "parameters": { + "properties": { + "priority": 100, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "priority": 100, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-rule1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 100, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "priority": 100, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-rule1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 100, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "priority": 100, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-rule1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json new file mode 100644 index 000000000000..158f476fdc21 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "ruleGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "priority": 200, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-rule1", + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ], + "sourceIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups1" + ], + "destinationIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups2" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json new file mode 100644 index 000000000000..c44d1213f3b3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "name": "Example-Filter-Rule-Collection", + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "priority": 120, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "network-rule-1", + "ruleType": "NetworkRule", + "description": "Network rule", + "sourceIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups1" + ], + "destinationIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups2" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json new file mode 100644 index 000000000000..6c0aa3560d78 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "ruleCollectionGroupName": "ruleCollectionGroup1", + "parameters": { + "properties": { + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-1", + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ], + "sourceIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups1" + ], + "destinationIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups2" + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-1", + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ], + "sourceIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups1" + ], + "destinationIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups2" + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-1", + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ], + "sourceIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups1" + ], + "destinationIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups2" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesGet.json new file mode 100644 index 000000000000..f7d406fe34be --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesGet.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleCollectionGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2" + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "priority": 200, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "ApplicationRule", + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ], + "webCategories": [ + "Hacking" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesList.json new file mode 100644 index 000000000000..fa4a906d7ada --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesList.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "name": "Example-Filter-Rule-Collection", + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "priority": 120, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "ApplicationRule", + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ], + "webCategories": [ + "Hacking" + ] + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesPut.json new file mode 100644 index 000000000000..d2dc4992b6ad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesPut.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "ruleCollectionGroupName": "ruleCollectionGroup1", + "parameters": { + "properties": { + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "ApplicationRule", + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ], + "webCategories": [ + "Hacking" + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "ApplicationRule", + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ], + "webCategories": [ + "Hacking" + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "ApplicationRule", + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ], + "webCategories": [ + "Hacking" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicySignatureOverridesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicySignatureOverridesGet.json new file mode 100644 index 000000000000..fc818b22637f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicySignatureOverridesGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/signatureOverrides/default", + "name": "default", + "type": "Microsoft.Network/firewallPolicies/signatureOverrides", + "properties": { + "signatures": { + "2000105": "Off", + "2000106": "Deny" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicySignatureOverridesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicySignatureOverridesList.json new file mode 100644 index 000000000000..2f542f59f74c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicySignatureOverridesList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/signatureOverrides/default", + "name": "default", + "type": "Microsoft.Network/firewallPolicies/signatureOverrides", + "properties": { + "signatures": { + "2000105": "Off", + "2000106": "Deny" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicySignatureOverridesPatch.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicySignatureOverridesPatch.json new file mode 100644 index 000000000000..bb52718e2845 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicySignatureOverridesPatch.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "parameters": { + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/signatureOverrides/default", + "name": "default", + "type": "Microsoft.Network/firewallPolicies/signatureOverrides", + "properties": { + "signatures": { + "2000105": "Off", + "2000106": "Deny" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/signatureOverrides/default", + "name": "default", + "type": "Microsoft.Network/firewallPolicies/signatureOverrides", + "properties": { + "signatures": { + "2000105": "Off", + "2000106": "Deny" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicySignatureOverridesPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicySignatureOverridesPut.json new file mode 100644 index 000000000000..bb52718e2845 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/FirewallPolicySignatureOverridesPut.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "parameters": { + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/signatureOverrides/default", + "name": "default", + "type": "Microsoft.Network/firewallPolicies/signatureOverrides", + "properties": { + "signatures": { + "2000105": "Off", + "2000106": "Deny" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/signatureOverrides/default", + "name": "default", + "type": "Microsoft.Network/firewallPolicies/signatureOverrides", + "properties": { + "signatures": { + "2000105": "Off", + "2000106": "Deny" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/GenerateExpressRoutePortsLOA.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/GenerateExpressRoutePortsLOA.json new file mode 100644 index 000000000000..32f15863d0df --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/GenerateExpressRoutePortsLOA.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName", + "request": { + "customerName": "customerName" + } + }, + "responses": { + "200": { + "description": "Request successful. Returns the content as a base64 encoded string", + "body": { + "encodedContent": "TWFuIGlzIGRpc3" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json new file mode 100644 index 000000000000..579dfaced80f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualWANName": "wan1", + "vpnClientParams": { + "vpnServerConfigurationResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnconfig1", + "authenticationMethod": "EAPTLS" + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "profileUrl": "aaaaaaaaaaaaaaaaaaaaaaaaaaa" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/GetVirtualWanVpnServerConfigurations.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/GetVirtualWanVpnServerConfigurations.json new file mode 100644 index 000000000000..4d314fc91dff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/GetVirtualWanVpnServerConfigurations.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "virtualWANName": "wan1" + }, + "responses": { + "200": { + "description": "Request successful.", + "body": { + "vpnServerConfigurationResourceIds": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnconfig1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnconfig2" + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubRouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubRouteTableDelete.json new file mode 100644 index 000000000000..12bee041b41a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubRouteTableDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routeTableName": "hubRouteTable1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubRouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubRouteTableGet.json new file mode 100644 index 000000000000..5ed11ca465f8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubRouteTableGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "routeTableName": "hubRouteTable1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "hubRouteTable1", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "name": "route1", + "destinationType": "CIDR", + "destinations": [ + "10.0.0.0/8", + "20.0.0.0/8", + "30.0.0.0/8" + ], + "nextHopType": "ResourceId", + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azureFirewall1" + } + ], + "labels": [ + "label1", + "label2" + ], + "associatedConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn2" + ], + "propagatingConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/erg1/expressRouteConnections/erConn1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/vpngw1/vpnConnections/vpnConn2" + ] + }, + "type": "Microsoft.Network/virtualHubs/hubRouteTables" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubRouteTableList.json new file mode 100644 index 000000000000..1b5caa15e9ea --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubRouteTableList.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": [ + { + "name": "hubRouteTable1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "name": "route1a", + "destinationType": "CIDR", + "destinations": [ + "10.0.0.0/8", + "20.0.0.0/8", + "30.0.0.0/8" + ], + "nextHopType": "ResourceId", + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azureFirewall1" + } + ], + "labels": [ + "label1", + "label2" + ], + "associatedConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn2" + ], + "propagatingConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/erg1/expressRouteConnections/erConn1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/vpngw1/vpnConnections/vpnConn2" + ] + }, + "type": "Microsoft.Network/virtualHubs/hubRouteTables" + }, + { + "name": "hubRouteTable2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "name": "route2a", + "destinationType": "CIDR", + "destinations": [ + "40.0.0.0/8", + "50.0.0.0/8", + "60.0.0.0/8" + ], + "nextHopType": "ResourceId", + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubVirtualNetworkConnections/vn1" + } + ], + "labels": [ + "label3" + ], + "associatedConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn3", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn4" + ], + "propagatingConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/erg1/expressRouteConnections/erConn2", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/vpngw1/vpnConnections/vpnConn1" + ] + }, + "type": "Microsoft.Network/virtualHubs/hubRouteTables" + } + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubRouteTablePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubRouteTablePut.json new file mode 100644 index 000000000000..7868e5339bbc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubRouteTablePut.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "routeTableName": "hubRouteTable1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1", + "routeTableParameters": { + "properties": { + "routes": [ + { + "name": "route1", + "destinationType": "CIDR", + "destinations": [ + "10.0.0.0/8", + "20.0.0.0/8", + "30.0.0.0/8" + ], + "nextHopType": "ResourceId", + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azureFirewall1" + } + ], + "labels": [ + "label1", + "label2" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "hubRouteTable1", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "name": "route1", + "destinationType": "CIDR", + "destinations": [ + "10.0.0.0/8", + "20.0.0.0/8", + "30.0.0.0/8" + ], + "nextHopType": "ResourceId", + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azureFirewall1" + } + ], + "labels": [ + "label1", + "label2" + ], + "associatedConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn2" + ], + "propagatingConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/erg1/expressRouteConnections/erConn1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/vpngw1/vpnConnections/vpnConn2" + ] + }, + "type": "Microsoft.Network/virtualHubs/hubRouteTables" + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1a", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "hubRouteTable1", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "name": "route1", + "destinationType": "CIDR", + "destinations": [ + "10.0.0.0/8", + "20.0.0.0/8", + "30.0.0.0/8" + ], + "nextHopType": "ResourceId", + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azureFirewall1" + } + ], + "labels": [ + "label1", + "label2" + ], + "associatedConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn2" + ], + "propagatingConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/erg1/expressRouteConnections/erConn1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/vpngw1/vpnConnections/vpnConn2" + ] + }, + "type": "Microsoft.Network/virtualHubs/hubRouteTables" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubVirtualNetworkConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubVirtualNetworkConnectionDelete.json new file mode 100644 index 000000000000..f1bc6e33af7b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubVirtualNetworkConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubVirtualNetworkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubVirtualNetworkConnectionGet.json new file mode 100644 index 000000000000..b4a4a9ebb2de --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubVirtualNetworkConnectionGet.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1" + }, + "enableInternetSecurity": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [ + { + "name": "route1", + "addressPrefixes": [ + "10.1.0.0/16", + "10.2.0.0/16" + ], + "nextHopIpAddress": "10.0.0.68" + }, + { + "name": "route2", + "addressPrefixes": [ + "10.3.0.0/16", + "10.4.0.0/16" + ], + "nextHopIpAddress": "10.0.0.65" + } + ], + "bgpConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/bgpConnections/bgpConn1" + } + ] + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubVirtualNetworkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubVirtualNetworkConnectionList.json new file mode 100644 index 000000000000..bc61a7b1f0d4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubVirtualNetworkConnectionList.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": [ + { + "name": "connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1" + }, + "enableInternetSecurity": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [ + { + "name": "route1", + "addressPrefixes": [ + "10.1.0.0/16", + "10.2.0.0/16" + ], + "nextHopIpAddress": "10.0.0.68" + }, + { + "name": "route2", + "addressPrefixes": [ + "10.3.0.0/16", + "10.4.0.0/16" + ], + "nextHopIpAddress": "10.0.0.65" + } + ], + "bgpConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/bgpConnections/bgpConn1" + } + ] + } + } + } + }, + { + "name": "connection2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "enableInternetSecurity": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [ + { + "name": "route1", + "addressPrefixes": [ + "10.1.0.0/16", + "10.2.0.0/16" + ], + "nextHopIpAddress": "10.0.0.68" + }, + { + "name": "route2", + "addressPrefixes": [ + "10.3.0.0/16", + "10.4.0.0/16" + ], + "nextHopIpAddress": "10.0.0.65" + } + ], + "bgpConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/bgpConnections/bgpConn2" + } + ] + } + } + } + } + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubVirtualNetworkConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubVirtualNetworkConnectionPut.json new file mode 100644 index 000000000000..7c595e206e68 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/HubVirtualNetworkConnectionPut.json @@ -0,0 +1,165 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "hubVirtualNetworkConnectionParameters": { + "properties": { + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/SpokeVnet1" + }, + "enableInternetSecurity": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [ + { + "name": "route1", + "addressPrefixes": [ + "10.1.0.0/16", + "10.2.0.0/16" + ], + "nextHopIpAddress": "10.0.0.68" + }, + { + "name": "route2", + "addressPrefixes": [ + "10.3.0.0/16", + "10.4.0.0/16" + ], + "nextHopIpAddress": "10.0.0.65" + } + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/connection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Updating", + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/SpokeVnet1" + }, + "enableInternetSecurity": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [ + { + "name": "route1", + "addressPrefixes": [ + "10.1.0.0/16", + "10.2.0.0/16" + ], + "nextHopIpAddress": "10.0.0.68" + }, + { + "name": "route2", + "addressPrefixes": [ + "10.3.0.0/16", + "10.4.0.0/16" + ], + "nextHopIpAddress": "10.0.0.65" + } + ], + "bgpConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/bgpConnections/bgpConn1" + } + ] + } + } + } + } + }, + "201": { + "body": { + "name": "connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/connection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Updating", + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/SpokeVnet1" + }, + "enableInternetSecurity": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [ + { + "name": "route1", + "addressPrefixes": [ + "10.1.0.0/16", + "10.2.0.0/16" + ], + "nextHopIpAddress": "10.0.0.68" + }, + { + "name": "route2", + "addressPrefixes": [ + "10.3.0.0/16", + "10.4.0.0/16" + ], + "nextHopIpAddress": "10.0.0.65" + } + ], + "bgpConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/bgpConnections/bgpConn1" + } + ] + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/InboundNatRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/InboundNatRuleCreate.json new file mode 100644 index 000000000000..a5667c36d327 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/InboundNatRuleCreate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "loadBalancerName": "lb1", + "inboundNatRuleName": "natRule1.1", + "inboundNatRuleParameters": { + "properties": { + "protocol": "Tcp", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1" + }, + "frontendPort": 3390, + "backendPort": 3389, + "idleTimeoutInMinutes": 4, + "enableTcpReset": false, + "enableFloatingIP": false + } + } + }, + "responses": { + "200": { + "body": { + "name": "natRule1.1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.1", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1" + }, + "frontendPort": 3390, + "backendPort": 3389, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 4, + "protocol": "Tcp", + "enableTcpReset": false, + "backendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1" + } + } + } + }, + "201": { + "body": { + "name": "natRule1.1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.1", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1" + }, + "frontendPort": 3390, + "backendPort": 3389, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 4, + "protocol": "Tcp", + "enableTcpReset": false, + "backendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/InboundNatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/InboundNatRuleDelete.json new file mode 100644 index 000000000000..80bd6af627f5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/InboundNatRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "loadBalancerName": "lb1", + "inboundNatRuleName": "natRule1.1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/InboundNatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/InboundNatRuleGet.json new file mode 100644 index 000000000000..735ef7159167 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/InboundNatRuleGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "loadBalancerName": "lb1", + "inboundNatRuleName": "natRule1.1" + }, + "responses": { + "200": { + "body": { + "name": "natRule1.1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.1", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1" + }, + "frontendPort": 3390, + "backendPort": 3389, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 4, + "protocol": "Tcp", + "enableTcpReset": true, + "backendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/InboundNatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/InboundNatRuleList.json new file mode 100644 index 000000000000..8a728135dde6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/InboundNatRuleList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "loadBalancerName": "lb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "natRule1.1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.1", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1" + }, + "frontendPort": 3390, + "backendPort": 3389, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 4, + "protocol": "Tcp", + "enableTcpReset": true, + "backendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1" + } + } + }, + { + "name": "natRule1.3", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.3", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1" + }, + "frontendPort": 3392, + "backendPort": 3389, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 4, + "protocol": "Tcp", + "enableTcpReset": true, + "backendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/3/networkInterfaces/nic1/ipConfigurations/ip1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/InboundSecurityRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/InboundSecurityRulePut.json new file mode 100644 index 000000000000..c843cad8901d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/InboundSecurityRulePut.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "ruleCollectionName": "rule1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva", + "parameters": { + "properties": { + "rules": [ + { + "protocol": "TCP", + "sourceAddressPrefix": "50.20.121.5/32", + "destinationPortRange": 22 + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "protocol": "TCP", + "sourceAddressPrefix": "50.20.121.5/32", + "destinationPortRange": 22 + } + ] + } + } + }, + "201": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "protocol": "TCP", + "sourceAddressPrefix": "50.20.121.5/32", + "destinationPortRange": 22 + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpAllocationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpAllocationCreate.json new file mode 100644 index 000000000000..240e7c27616f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpAllocationCreate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ipAllocationName": "test-ipallocation", + "parameters": { + "properties": { + "type": "Hypernet", + "prefix": "3.2.5.0/24", + "allocationTags": { + "VNetID": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/HypernetVnet1" + } + }, + "location": "centraluseuap" + } + }, + "responses": { + "200": { + "body": { + "name": "test-ipallocation", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/IpAllocations/test-ipallocation", + "type": "Microsoft.Network/IpAllocations", + "location": "centraluseuap", + "properties": { + "type": "Hypernet", + "prefix": "3.2.5.0/24", + "ipamAllocationId": "916d3b28-663f-448b-9abc-1bea9d5fed8f", + "allocationTags": { + "VNetID": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/HypernetVnet1" + } + } + } + }, + "201": { + "body": { + "name": "test-ipallocation", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/IpAllocations/test-ipallocation", + "type": "Microsoft.Network/IpAllocations", + "location": "centraluseuap", + "properties": { + "type": "Hypernet", + "prefix": "3.2.5.0/24", + "ipamAllocationId": "916d3b28-663f-448b-9abc-1bea9d5fed8f", + "allocationTags": { + "VNetID": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/HypernetVnet1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpAllocationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpAllocationDelete.json new file mode 100644 index 000000000000..6a20294cc760 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpAllocationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ipAllocationName": "test-ipallocation" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpAllocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpAllocationGet.json new file mode 100644 index 000000000000..d1dffaf46c64 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpAllocationGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ipAllocationName": "test-ipallocation" + }, + "responses": { + "200": { + "body": { + "name": "test-ipallocation", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/IpAllocations/test-ipallocation", + "type": "Microsoft.Network/IpAllocations", + "location": "centraluseuap", + "properties": { + "type": "Hypernet", + "prefix": "3.2.5.0/24", + "ipamAllocationId": "916d3b28-663f-448b-9abc-1bea9d5fed8f", + "allocationTags": { + "VNetID": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/HypernetVnet1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpAllocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpAllocationList.json new file mode 100644 index 000000000000..f381c3ec902e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpAllocationList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-ipallocation1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/IpAllocations/test-ipallocation1", + "type": "Microsoft.Network/IpAllocations", + "location": "centraluseuap", + "properties": { + "type": "Hypernet", + "prefix": "3.2.5.0/24", + "ipamAllocationId": "916d3b28-663f-448b-9abc-1bea9d5fed8f", + "allocationTags": { + "VNetID": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/HypernetVnet1" + } + } + }, + { + "name": "test-ipallocation2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/IpAllocations/test-ipallocation2", + "type": "Microsoft.Network/IpAllocations", + "location": "centraluseuap", + "properties": { + "type": "Hypernet", + "prefix": "3.2.6.0/24", + "ipamAllocationId": "57dc7256-2ff7-43f2-b9c8-85a70b5c6408", + "allocationTags": { + "VNetID": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/HypernetVnet2" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpAllocationListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpAllocationListByResourceGroup.json new file mode 100644 index 000000000000..57715fbfcddf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpAllocationListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-ipallocation1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/IpAllocations/test-ipallocation1", + "type": "Microsoft.Network/IpAllocations", + "location": "centraluseuap", + "properties": { + "type": "Hypernet", + "prefix": "3.2.5.0/24", + "ipamAllocationId": "916d3b28-663f-448b-9abc-1bea9d5fed8f", + "allocationTags": { + "VNetID": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/HypernetVnet1" + } + } + }, + { + "name": "test-ipallocation2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/IpAllocations/test-ipallocation2", + "type": "Microsoft.Network/IpAllocations", + "location": "centraluseuap", + "properties": { + "type": "Hypernet", + "prefix": "3.2.6.0/24", + "ipamAllocationId": "57dc7256-2ff7-43f2-b9c8-85a70b5c6408", + "allocationTags": { + "VNetID": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/HypernetVnet2" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpAllocationUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpAllocationUpdateTags.json new file mode 100644 index 000000000000..3289f1fce43b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpAllocationUpdateTags.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ipAllocationName": "test-ipallocation", + "location": "centraluseuap", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-ipallocation", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/IpAllocations/test-ipallocation", + "type": "Microsoft.Network/IpAllocations", + "location": "centraluseuap", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "type": "Hypernet", + "prefix": "3.2.5.0/24", + "ipamAllocationId": "916d3b28-663f-448b-9abc-1bea9d5fed8f", + "allocationTags": { + "VNetID": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/HypernetVnet1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpGroupsCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpGroupsCreate.json new file mode 100644 index 000000000000..79f80a2d50ad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpGroupsCreate.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "myResourceGroup", + "ipGroupsName": "ipGroups1", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "properties": { + "ipAddresses": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "ipGroups1", + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1", + "type": "Microsoft.Network/ipGroups", + "location": "westcentralus", + "properties": { + "provisioningState": "Succeeded", + "ipAddresses": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ], + "firewalls": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall" + } + ], + "firewallPolicies": [] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + } + }, + "201": { + "body": { + "name": "ipGroups1", + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1", + "type": "Microsoft.Network/ipGroups", + "location": "westcentralus", + "properties": { + "provisioningState": "Succeeded", + "ipAddresses": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ], + "firewalls": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall" + } + ], + "firewallPolicies": [] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpGroupsDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpGroupsDelete.json new file mode 100644 index 000000000000..bc1e1d500c15 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpGroupsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "myResourceGroup", + "ipGroupsName": "ipGroups1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpGroupsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpGroupsGet.json new file mode 100644 index 000000000000..2d92e6610fc5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpGroupsGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "myResourceGroup", + "ipGroupsName": "ipGroups1" + }, + "responses": { + "200": { + "body": { + "name": "ipGroups1", + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1", + "type": "Microsoft.Network/ipGroups", + "location": "westcentralus", + "properties": { + "provisioningState": "Succeeded", + "ipAddresses": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ], + "firewalls": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall" + } + ], + "firewallPolicies": [] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpGroupsListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpGroupsListByResourceGroup.json new file mode 100644 index 000000000000..7612f8b19371 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpGroupsListByResourceGroup.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ipGroups1", + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups", + "type": "Microsoft.Network/ipGroups", + "location": "westcentralus", + "properties": { + "provisioningState": "Succeeded", + "ipAddresses": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ], + "firewalls": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall" + } + ], + "firewallPolicies": [] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + }, + { + "name": "ipGroups2", + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups", + "type": "Microsoft.Network/ipGroups", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "ipAddresses": [ + "14.64.39.16/32", + "41.74.146.80/31", + "42.74.147.32/28" + ], + "firewalls": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall" + } + ], + "firewallPolicies": [] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpGroupsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpGroupsListBySubscription.json new file mode 100644 index 000000000000..38907ca28087 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpGroupsListBySubscription.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "iptag1", + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup1/ipGroups", + "type": "Microsoft.Network/ipGroups", + "location": "westcentralus", + "properties": { + "provisioningState": "Succeeded", + "ipAddresses": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ], + "firewalls": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall" + } + ], + "firewallPolicies": [] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + }, + { + "name": "iptag2", + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup2/ipGroups", + "type": "Microsoft.Network/ipGroups", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "ipAddresses": [ + "14.64.39.16/32", + "41.74.146.80/31", + "42.74.147.32/28" + ], + "firewalls": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall" + } + ], + "firewallPolicies": [] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpGroupsUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpGroupsUpdateTags.json new file mode 100644 index 000000000000..93d45cf77e07 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/IpGroupsUpdateTags.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "ipGroupsName": "ipGroups1", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-05-01", + "subscriptionId": "subId", + "parameters": { + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "ipGroups1", + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1", + "type": "Microsoft.Network/ipGroups", + "location": "westcentralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "ipAddresses": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ], + "firewalls": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall" + } + ], + "firewallPolicies": [] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json new file mode 100644 index 000000000000..0c5acb183d35 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "backend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "address1", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.4" + } + }, + { + "name": "address2", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.5" + } + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json new file mode 100644 index 000000000000..0f6c8ca23088 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "name": "backend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "address1", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.4" + } + }, + { + "name": "address2", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.5" + } + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json new file mode 100644 index 000000000000..844eae8c6ecf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2021-05-01", + "parameters": { + "properties": { + "loadBalancerBackendAddresses": [ + { + "name": "address1", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.4" + } + }, + { + "name": "address2", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.5" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "backend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "address1", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.4" + } + }, + { + "name": "address2", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.5" + } + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + }, + "201": { + "body": { + "name": "backend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "address1", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.4" + } + }, + { + "name": "address2", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.5" + } + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerBackendAddressPoolDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerBackendAddressPoolDelete.json new file mode 100644 index 000000000000..a1cca8500e9c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerBackendAddressPoolDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2021-05-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerBackendAddressPoolGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerBackendAddressPoolGet.json new file mode 100644 index 000000000000..46fb492e8598 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerBackendAddressPoolGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "name": "backend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "backendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic/ipConfigurations/default-ip-config" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerBackendAddressPoolList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerBackendAddressPoolList.json new file mode 100644 index 000000000000..528a23488c5d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerBackendAddressPoolList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "backend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "backendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic/ipConfigurations/default-ip-config" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreate.json new file mode 100644 index 000000000000..c36646ab2443 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreate.json @@ -0,0 +1,339 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "properties": {} + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false, + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2 + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false + } + } + ], + "inboundNatPools": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false, + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false + } + } + ], + "inboundNatPools": [] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false, + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false + } + } + ], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateGatewayLoadBalancerConsumer.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateGatewayLoadBalancerConsumer.json new file mode 100644 index 000000000000..8ab2f63248bf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateGatewayLoadBalancerConsumer.json @@ -0,0 +1,348 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "gatewayLoadBalancer": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "properties": {} + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2 + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "inboundNatPools": [], + "outboundRules": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ], + "gatewayLoadBalancer": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ], + "gatewayLoadBalancer": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json new file mode 100644 index 000000000000..c39284cbde4d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json @@ -0,0 +1,330 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Premium" + }, + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "properties": { + "tunnelInterfaces": [ + { + "port": 15000, + "identifier": 900, + "protocol": "VXLAN", + "type": "Internal" + }, + { + "port": 15001, + "identifier": 901, + "protocol": "VXLAN", + "type": "Internal" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 0, + "backendPort": 0, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "All", + "loadDistribution": "Default", + "backendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + } + ], + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2 + } + } + ], + "inboundNatPools": [], + "outboundRules": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "tunnelInterfaces": [ + { + "port": 15000, + "identifier": 900, + "protocol": "VXLAN", + "type": "Internal" + }, + { + "port": 15001, + "identifier": 901, + "protocol": "VXLAN", + "type": "Internal" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + } + ], + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "tunnelInterfaces": [ + { + "port": 15000, + "identifier": 900, + "protocol": "VXLAN", + "type": "Internal" + }, + { + "port": 15001, + "identifier": 901, + "protocol": "VXLAN", + "type": "Internal" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + } + ], + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json new file mode 100644 index 000000000000..a92e4a0a6368 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json @@ -0,0 +1,361 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Premium" + }, + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb1", + "properties": {} + }, + { + "name": "be-lb2", + "properties": {} + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 0, + "backendPort": 0, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "All", + "loadDistribution": "Default", + "backendAddressPool": {}, + "backendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2" + } + ], + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2 + } + } + ], + "inboundNatPools": [], + "outboundRules": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "tunnelInterfaces": [ + { + "port": 15000, + "identifier": 900, + "protocol": "VXLAN", + "type": "Internal" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + }, + { + "name": "be-lb2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "tunnelInterfaces": [ + { + "port": 15001, + "identifier": 901, + "protocol": "VXLAN", + "type": "Internal" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 0, + "backendPort": 0, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2" + } + ], + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "tunnelInterfaces": [ + { + "port": 15000, + "identifier": 900, + "protocol": "VXLAN", + "type": "Internal" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + }, + { + "name": "be-lb2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "tunnelInterfaces": [ + { + "port": 15001, + "identifier": 901, + "protocol": "VXLAN", + "type": "Internal" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2" + } + ], + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateGlobalTier.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateGlobalTier.json new file mode 100644 index 000000000000..cedf91b2d6b5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateGlobalTier.json @@ -0,0 +1,314 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Standard", + "tier": "Global" + }, + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "properties": { + "loadBalancerBackendAddresses": [ + { + "name": "regional-lb1-address", + "properties": { + "loadBalancerFrontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb" + } + } + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2 + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard", + "tier": "Global" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "regional-lb1-address", + "properties": { + "loadBalancerFrontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb" + } + } + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard", + "tier": "Global" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "regional-lb1-address", + "properties": { + "loadBalancerFrontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb" + } + } + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateStandardSku.json new file mode 100644 index 000000000000..ef52857632d7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateStandardSku.json @@ -0,0 +1,339 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "properties": {} + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2 + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "inboundNatPools": [], + "outboundRules": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateWithInboundNatPool.json new file mode 100644 index 000000000000..b9de2df9a5fb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateWithInboundNatPool.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "frontendIPConfigurations": [ + { + "properties": { + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet" + } + }, + "name": "test", + "zones": [], + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test" + } + ], + "backendAddressPools": [], + "loadBalancingRules": [], + "probes": [], + "inboundNatRules": [], + "outboundRules": [], + "inboundNatPools": [ + { + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test" + }, + "protocol": "Tcp", + "frontendPortRangeStart": 8080, + "frontendPortRangeEnd": 8085, + "backendPort": 8888, + "idleTimeoutInMinutes": 10, + "enableFloatingIP": true, + "enableTcpReset": true + }, + "name": "test", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "test", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet" + }, + "inboundNatPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test" + } + ] + } + } + ], + "backendAddressPools": [], + "loadBalancingRules": [], + "probes": [], + "inboundNatRules": [], + "outboundRules": [], + "inboundNatPools": [ + { + "name": "test", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test", + "type": "Microsoft.Network/loadBalancers/inboundNatPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendPortRangeStart": 8080, + "frontendPortRangeEnd": 8085, + "backendPort": 8888, + "idleTimeoutInMinutes": 10, + "enableFloatingIP": true, + "protocol": "Tcp", + "enableTcpReset": true, + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test" + } + } + } + ] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "test", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet" + }, + "inboundNatPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test" + } + ] + } + } + ], + "backendAddressPools": [], + "loadBalancingRules": [], + "probes": [], + "inboundNatRules": [], + "outboundRules": [], + "inboundNatPools": [ + { + "name": "test", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test", + "type": "Microsoft.Network/loadBalancers/inboundNatPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendPortRangeStart": 8080, + "frontendPortRangeEnd": 8085, + "backendPort": 8888, + "idleTimeoutInMinutes": 10, + "enableFloatingIP": true, + "protocol": "Tcp", + "enableTcpReset": true, + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test" + } + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateWithOutboundRules.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateWithOutboundRules.json new file mode 100644 index 000000000000..f688d7ba5f76 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateWithOutboundRules.json @@ -0,0 +1,423 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "properties": {} + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "protocol": "Tcp", + "loadDistribution": "Default", + "frontendPort": 80, + "backendPort": 80, + "idleTimeoutInMinutes": 15, + "enableFloatingIP": true, + "disableOutboundSnat": true + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2 + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "inboundNatPools": [], + "outboundRules": [ + { + "name": "rule1", + "properties": { + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "frontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + } + ], + "protocol": "All" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ], + "outboundRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1" + } + ], + "privateIPAddressVersion": "IPv4" + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "outboundRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false, + "loadDistribution": "Default", + "disableOutboundSnat": true, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false + } + } + ], + "outboundRules": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1", + "type": "Microsoft.Network/loadBalancers/outboundRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "allocatedOutboundPorts": 1024, + "protocol": "All", + "enableTcpReset": false, + "idleTimeoutInMinutes": 4, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "frontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + } + ] + } + } + ], + "inboundNatPools": [] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ], + "outboundRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1" + } + ], + "privateIPAddressVersion": "IPv4" + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "outboundRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false, + "loadDistribution": "Default", + "disableOutboundSnat": true, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false + } + } + ], + "outboundRules": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1", + "type": "Microsoft.Network/loadBalancers/outboundRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "allocatedOutboundPorts": 1024, + "protocol": "All", + "enableTcpReset": false, + "idleTimeoutInMinutes": 4, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "frontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + } + ] + } + } + ], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateWithZones.json new file mode 100644 index 000000000000..b3a93d27d2d2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerCreateWithZones.json @@ -0,0 +1,348 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + }, + "zones": [ + "1" + ] + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "properties": {} + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2 + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "inboundNatPools": [], + "outboundRules": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerDelete.json new file mode 100644 index 000000000000..d7d4e7547f74 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerFrontendIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerFrontendIPConfigurationGet.json new file mode 100644 index 000000000000..caf3a211b765 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerFrontendIPConfigurationGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "frontendIPConfigurationName": "frontend", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "name": "frontend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/frontend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerFrontendIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerFrontendIPConfigurationList.json new file mode 100644 index 000000000000..3b18b916a250 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerFrontendIPConfigurationList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "loadBalancerName": "lb" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "frontend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/frontend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerGet.json new file mode 100644 index 000000000000..817ec6a7c8b2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerGet.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb" + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers", + "location": "westus", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/probes", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true + } + } + ], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerGetInboundNatRulePortMapping.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerGetInboundNatRulePortMapping.json new file mode 100644 index 000000000000..1eb6b0d4828c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerGetInboundNatRulePortMapping.json @@ -0,0 +1,162 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb" + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers", + "location": "westus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "8bec96ef-0a6a-45b8-9860-4ffde7bf3572", + "properties": { + "ipAddress": "10.0.0.4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "inboundNatRulesPortMapping": [ + { + "inboundNatRuleName": "natRule", + "frontendPort": 3389, + "backendPort": 3389 + } + ] + } + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/probes", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 0, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "frontendPortRangeStart": 3389, + "frontendPortRangeEnd": 4000, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + } + } + } + ], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerList.json new file mode 100644 index 000000000000..7b826bf79833 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerList.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers", + "location": "westus", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "felb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "belb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/belb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/belb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/prlb" + } + } + } + ], + "probes": [ + { + "name": "prlb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/prlb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/probes", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "inrlb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true + } + } + ], + "inboundNatPools": [] + } + }, + { + "name": "lb2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb2", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers", + "location": "westus", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [], + "backendAddressPools": [], + "loadBalancingRules": [], + "probes": [], + "inboundNatRules": [], + "inboundNatPools": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerListAll.json new file mode 100644 index 000000000000..b548e8bed12e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerListAll.json @@ -0,0 +1,160 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers", + "location": "westus", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "felb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "belb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/belb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/belb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/prlb" + } + } + } + ], + "probes": [ + { + "name": "prlb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/prlb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/probes", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "inrlb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true + } + } + ], + "inboundNatPools": [] + } + }, + { + "name": "lb3", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/lb3", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers", + "location": "westus", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [], + "backendAddressPools": [], + "loadBalancingRules": [], + "probes": [], + "inboundNatRules": [], + "inboundNatPools": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerLoadBalancingRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerLoadBalancingRuleGet.json new file mode 100644 index 000000000000..0d67a0473499 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerLoadBalancingRuleGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "loadBalancingRuleName": "rule1", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/loadBalancingRules/rule1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfrontend" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bepool1" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/probes/probe1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerLoadBalancingRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerLoadBalancingRuleList.json new file mode 100644 index 000000000000..aa600d251608 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerLoadBalancingRuleList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/loadBalancingRules/rule1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfrontend" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bepool1" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/probes/probe1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerNetworkInterfaceListSimple.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerNetworkInterfaceListSimple.json new file mode 100644 index 000000000000..d51276e31ab3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerNetworkInterfaceListSimple.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "mynic", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/ipConfigurations/ipconfig1", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/frontendSubnet" + }, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/bepool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inbound1" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": false, + "enableIPForwarding": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerNetworkInterfaceListVmss.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerNetworkInterfaceListVmss.json new file mode 100644 index 000000000000..7c6b56dbb235 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerNetworkInterfaceListVmss.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "vmss1Nic", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/vmss1Nic", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "vmss1IpConfig", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/vmss1Nic/ipConfigurations/vmss1IpConfig", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vmss1Vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/bepool" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/natpool.0" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "aaaaaaaaaaaaaaaaaaaaaaaaaa.dx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "primary": true, + "virtualMachine": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0" + } + } + }, + { + "name": "vmss1Nic", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/vmss1Nic", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "vmss1IpConfig", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/vmss1Nic/ipConfigurations/vmss1IpConfig", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.5", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vmss1Vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/bepool" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/natpool.1" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "aaaaaaaaaaaaaaaaaaaaaaaaaa.dx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "primary": true, + "virtualMachine": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerOutboundRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerOutboundRuleGet.json new file mode 100644 index 000000000000..08b27ad50399 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerOutboundRuleGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "outboundRuleName": "rule1", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/outboundRules/rule1", + "type": "Microsoft.Network/loadBalancers/outboundRules", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfrontend" + } + ], + "allocatedOutboundPorts": 64, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bepool1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerOutboundRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerOutboundRuleList.json new file mode 100644 index 000000000000..8559369ec354 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerOutboundRuleList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/outboundRules/rule1", + "type": "Microsoft.Network/loadBalancers/outboundRules", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfrontend" + } + ], + "allocatedOutboundPorts": 64, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bepool1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerProbeGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerProbeGet.json new file mode 100644 index 000000000000..c5344cf14dd2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerProbeGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "probeName": "probe1", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "name": "probe1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/probes/probe1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/probes", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerProbeList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerProbeList.json new file mode 100644 index 000000000000..acfe942b2185 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerProbeList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "prlb", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/probes/prlb", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/probes", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerUpdateTags.json new file mode 100644 index 000000000000..6c767e8af6af --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancerUpdateTags.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancersSwapPublicIpAddresses.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancersSwapPublicIpAddresses.json new file mode 100644 index 000000000000..dd789090ea46 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LoadBalancersSwapPublicIpAddresses.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "location": "westus", + "parameters": { + "frontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfe1", + "properties": { + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPAddresses/pip2" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/lb2/frontendIPConfigurations/lbfe2", + "properties": { + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip1" + } + } + } + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LocalNetworkGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LocalNetworkGatewayCreate.json new file mode 100644 index 000000000000..fa56f8c7a4f6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LocalNetworkGatewayCreate.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "localNetworkGatewayName": "localgw", + "parameters": { + "properties": { + "localNetworkAddressSpace": { + "addressPrefixes": [ + "10.1.0.0/16" + ] + }, + "gatewayIpAddress": "11.12.13.14", + "fqdn": "site1.contoso.com" + }, + "location": "Central US" + } + }, + "responses": { + "201": { + "body": { + "name": "localgw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/localNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Updating", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "localNetworkAddressSpace": { + "addressPrefixes": [ + "10.1.0.0/16" + ] + }, + "gatewayIpAddress": "11.12.13.14" + } + } + }, + "200": { + "body": { + "name": "localgw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/localNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Updating", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "localNetworkAddressSpace": { + "addressPrefixes": [ + "10.1.0.0/16" + ] + }, + "gatewayIpAddress": "11.12.13.14" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LocalNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LocalNetworkGatewayDelete.json new file mode 100644 index 000000000000..66782a46128c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LocalNetworkGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "localNetworkGatewayName": "localgw" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LocalNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LocalNetworkGatewayGet.json new file mode 100644 index 000000000000..fabf5ad6f75d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LocalNetworkGatewayGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "localNetworkGatewayName": "localgw" + }, + "responses": { + "200": { + "body": { + "name": "localgw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/localNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "localNetworkAddressSpace": { + "addressPrefixes": [ + "10.1.0.0/16" + ] + }, + "gatewayIpAddress": "x.x.x.x" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LocalNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LocalNetworkGatewayList.json new file mode 100644 index 000000000000..3a734980746c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LocalNetworkGatewayList.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "localgw1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/localNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "localNetworkAddressSpace": { + "addressPrefixes": [ + "10.1.0.0/16" + ] + }, + "gatewayIpAddress": "x.x.x.x" + } + }, + { + "name": "localgw2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/localNetworkGateways", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "localNetworkAddressSpace": { + "addressPrefixes": [ + "10.2.0.0/16" + ] + }, + "gatewayIpAddress": "x.x.x.x" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LocalNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LocalNetworkGatewayUpdateTags.json new file mode 100644 index 000000000000..10779bb1e4af --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/LocalNetworkGatewayUpdateTags.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "localNetworkGatewayName": "lgw", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "lgw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/lgw", + "type": "Microsoft.Network/localNetworkGateways", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "localNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "gatewayIpAddress": "12.0.0.1" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatGatewayCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatGatewayCreateOrUpdate.json new file mode 100644 index 000000000000..7713c3968ac0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatGatewayCreateOrUpdate.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "natGatewayName": "test-natgateway", + "parameters": { + "location": "westus", + "sku": { + "name": "Standard" + }, + "properties": { + "publicIpAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ], + "publicIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-natGateway", + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway", + "location": "westus", + "properties": { + "idleTimeoutInMinutes": 5, + "provisioningState": "Succeeded", + "publicIpAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ], + "publicIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1" + } + ], + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1" + } + ] + }, + "type": "Microsoft.Network/natGateways" + } + }, + "201": { + "body": { + "name": "test-natGateway", + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway", + "location": "westus", + "properties": { + "idleTimeoutInMinutes": 5, + "provisioningState": "Succeeded", + "publicIpAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ], + "publicIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1" + } + ], + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1" + } + ] + }, + "type": "Microsoft.Network/natGateways" + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatGatewayDelete.json new file mode 100644 index 000000000000..cbeade506ad6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "natGatewayName": "test-natGateway" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatGatewayGet.json new file mode 100644 index 000000000000..5d09b30bd59e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatGatewayGet.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "natGatewayName": "test-natGateway" + }, + "responses": { + "200": { + "body": { + "name": "test-natGateway", + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway", + "location": "westus", + "properties": { + "idleTimeoutInMinutes": 5, + "provisioningState": "Succeeded", + "publicIpAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ], + "publicIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1" + } + ], + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1" + } + ] + }, + "type": "Microsoft.Network/natGateways" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatGatewayList.json new file mode 100644 index 000000000000..fd923973baf4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatGatewayList.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-natGateway", + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateway/test-natGateway", + "location": "westus", + "properties": { + "idleTimeoutInMinutes": 5, + "provisioningState": "Succeeded", + "publicIpAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ], + "publicIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1" + } + ], + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1" + } + ] + }, + "type": "Microsoft.Network/natGateways" + }, + { + "name": "test-natGateway2", + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/natGateway/test-natGateway2", + "location": "westus", + "properties": { + "idleTimeoutInMinutes": 5, + "provisioningState": "Succeeded", + "publicIpAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ], + "publicIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1" + } + ], + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1" + } + ] + }, + "type": "Microsoft.Network/natGateways" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatGatewayListAll.json new file mode 100644 index 000000000000..282ed1528b56 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatGatewayListAll.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-natGateway", + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway", + "location": "westus", + "properties": { + "idleTimeoutInMinutes": 5, + "provisioningState": "Succeeded", + "publicIpAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ], + "publicIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1" + } + ], + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1" + } + ] + }, + "type": "Microsoft.Network/natGateways" + }, + { + "name": "test-natGateway2", + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/natGatewayes/test-natGateway2", + "location": "westus", + "properties": { + "idleTimeoutInMinutes": 5, + "provisioningState": "Succeeded", + "publicIpAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ], + "publicIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1" + } + ], + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1" + } + ] + }, + "type": "Microsoft.Network/natGateways" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatGatewayUpdateTags.json new file mode 100644 index 000000000000..e1834ebb2f8c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatGatewayUpdateTags.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "natGatewayName": "test-natGateway", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-natGateway", + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway", + "location": "westus", + "properties": { + "idleTimeoutInMinutes": 5, + "provisioningState": "Succeeded", + "publicIpAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ], + "publicIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1" + } + ], + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1" + } + ] + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.Network/natGateways" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatRuleDelete.json new file mode 100644 index 000000000000..105d5ea300af --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "natRuleName": "natRule1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatRuleGet.json new file mode 100644 index 000000000000..c46d9a807ff3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatRuleGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "natRuleName": "natRule1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/natRule1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24" + } + ], + "externalMappings": [], + "egressVpnSiteLinkConnections": [], + "ingressVpnSiteLinkConnections": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatRuleList.json new file mode 100644 index 000000000000..e81097d6d010 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatRuleList.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/natRule1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/cloudnet1-VNG/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24" + } + ], + "egressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection1" + } + ], + "ingressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection2" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/natRule2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/cloudnet1-VNG1/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24" + } + ], + "egressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection1" + } + ], + "ingressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection2" + } + ] + } + } + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatRulePut.json new file mode 100644 index 000000000000..9dd8e8f3a1a5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NatRulePut.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "natRuleName": "natRule1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "NatRuleParameters": { + "properties": { + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/cloudnet1-VNG/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/natRule1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/cloudnet1-VNG/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24" + } + ], + "egressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection1" + } + ], + "ingressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection2" + } + ] + } + } + }, + "201": { + "body": { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/natRule1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/cloudnet1-VNG/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24" + } + ], + "egressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection1" + } + ], + "ingressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection2" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceCreate.json new file mode 100644 index 000000000000..99d418a5dc35 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceCreate.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "test-nic", + "parameters": { + "properties": { + "enableAcceleratedNetworking": true, + "ipConfigurations": [ + { + "name": "ipconfig1", + "properties": { + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + } + } + } + ] + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "test-nic", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": true, + "enableIPForwarding": false, + "vnetEncryptionSupported": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + }, + "201": { + "body": { + "name": "test-nic", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": true, + "enableIPForwarding": false, + "vnetEncryptionSupported": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceCreateGatewayLoadBalancerConsumer.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceCreateGatewayLoadBalancerConsumer.json new file mode 100644 index 000000000000..0425f055be81 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceCreateGatewayLoadBalancerConsumer.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "test-nic", + "parameters": { + "properties": { + "enableAcceleratedNetworking": true, + "ipConfigurations": [ + { + "name": "ipconfig1", + "properties": { + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "gatewayLoadBalancer": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider" + } + } + } + ] + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "test-nic", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "gatewayLoadBalancer": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider" + } + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": true, + "enableIPForwarding": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + }, + "201": { + "body": { + "name": "test-nic", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "gatewayLoadBalancer": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider" + } + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": true, + "enableIPForwarding": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceDelete.json new file mode 100644 index 000000000000..14ae672a93b2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "test-nic" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceEffectiveNSGList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceEffectiveNSGList.json new file mode 100644 index 000000000000..45c76704fc07 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceEffectiveNSGList.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "nic1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/test-nsg" + }, + "association": { + "networkManager": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/nm1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "networkInterface": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1" + } + }, + "effectiveSecurityRules": [ + { + "name": "securityRules/rule1", + "protocol": "Tcp", + "sourcePortRange": "456-456", + "destinationPortRange": "6579-6579", + "sourceAddressPrefix": "0.0.0.0/32", + "destinationAddressPrefix": "0.0.0.0/32", + "access": "Allow", + "priority": 234, + "direction": "Inbound" + }, + { + "name": "securityRules/default-allow-rdp", + "protocol": "Tcp", + "sourcePortRange": "0-65535", + "destinationPortRange": "3389-3389", + "sourceAddressPrefix": "1.1.1.1/32", + "destinationAddressPrefix": "0.0.0.0/0", + "access": "Allow", + "priority": 1000, + "direction": "Inbound" + }, + { + "name": "defaultSecurityRules/AllowInternetOutBound", + "protocol": "All", + "sourcePortRange": "0-65535", + "destinationPortRange": "0-65535", + "sourceAddressPrefix": "0.0.0.0/0", + "destinationAddressPrefix": "Internet", + "expandedDestinationAddressPrefix": [ + "32.0.0.0/3", + "4.0.0.0/6", + "2.0.0.0/7", + "1.0.0.0/8" + ], + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + ] + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceEffectiveRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceEffectiveRouteTableList.json new file mode 100644 index 000000000000..727dcb21bcf1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceEffectiveRouteTableList.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "nic1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "source": "Default", + "state": "Active", + "addressPrefix": [ + "172.20.2.0/24" + ], + "nextHopType": "VnetLocal", + "nextHopIpAddress": [] + }, + { + "source": "Default", + "state": "Active", + "addressPrefix": [ + "0.0.0.0/0" + ], + "nextHopType": "Internet", + "nextHopIpAddress": [] + }, + { + "source": "Default", + "state": "Active", + "addressPrefix": [ + "10.0.0.0/8" + ], + "nextHopType": "None", + "nextHopIpAddress": [] + }, + { + "source": "Default", + "state": "Active", + "addressPrefix": [ + "100.64.0.0/10" + ], + "nextHopType": "None", + "nextHopIpAddress": [] + }, + { + "source": "Default", + "state": "Active", + "addressPrefix": [ + "172.16.0.0/12" + ], + "nextHopType": "None", + "nextHopIpAddress": [] + }, + { + "source": "Default", + "state": "Active", + "addressPrefix": [ + "192.168.0.0/16" + ], + "nextHopType": "None", + "nextHopIpAddress": [] + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceGet.json new file mode 100644 index 000000000000..e71721415f24 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceGet.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "test-nic" + }, + "responses": { + "200": { + "body": { + "name": "test-nic", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "test.bx.internal.cloudapp.net" + }, + "macAddress": "00-0D-3A-1B-C7-21", + "enableAcceleratedNetworking": true, + "enableIPForwarding": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg" + }, + "primary": true, + "virtualMachine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1" + }, + "dscpConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/dscpConfiguration/mydscpconfiguration" + }, + "vnetEncryptionSupported": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceIPConfigurationGet.json new file mode 100644 index 000000000000..61913381a80d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceIPConfigurationGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "ipConfigurationName": "ipconfig1", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/ipConfigurations/ipconfig1", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/frontendSubnet" + }, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/backendAddressPools/bepool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1" + } + ], + "virtualNetworkTaps": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/vTAP1" + }, + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/vTAP2" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceIPConfigurationList.json new file mode 100644 index 000000000000..fbe194a56499 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceIPConfigurationList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "nic1", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet12/subnets/subnet12" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceList.json new file mode 100644 index 000000000000..143dc2822249 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceList.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-nic", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "test.bx.internal.cloudapp.net" + }, + "macAddress": "00-0D-3A-1B-C7-21", + "enableAcceleratedNetworking": true, + "enableIPForwarding": false, + "vnetEncryptionSupported": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg" + }, + "primary": true, + "virtualMachine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1" + } + }, + "type": "Microsoft.Network/networkInterfaces" + }, + { + "name": "test-nic2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip2" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet2/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": true, + "enableIPForwarding": false, + "vnetEncryptionSupported": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceListAll.json new file mode 100644 index 000000000000..c7a212af3e98 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceListAll.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-nic", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "test.bx.internal.cloudapp.net" + }, + "macAddress": "00-0D-3A-1B-C7-21", + "enableAcceleratedNetworking": true, + "enableIPForwarding": false, + "vnetEncryptionSupported": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg" + }, + "primary": true, + "virtualMachine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1" + } + }, + "type": "Microsoft.Network/networkInterfaces" + }, + { + "name": "test-nic2", + "id": "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/networkInterfaces/test-nic2", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/networkInterfaces/test-nic2/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/publicIPAddresses/test-ip2" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/virtualNetworks/rgnew-vnet2/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": true, + "enableIPForwarding": false, + "vnetEncryptionSupported": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceLoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceLoadBalancerList.json new file mode 100644 index 000000000000..6aa119f4becb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceLoadBalancerList.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "nic1", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "lbname1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "type": "Microsoft.Network/loadBalancers", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "frontendIPConfigurations": [ + { + "name": "lbfrontend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/frontendIPConfigurations/lbfrontend", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/publicIPAddresses/myDynamicPublicIP" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "bepool1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/backendAddressPools/bepool1", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "backendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/frontendIPConfigurations/lbfrontend" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/backendAddressPools/bepool1" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/probes/probe1" + } + } + } + ], + "probes": [ + { + "name": "probe1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/probes/probe1", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "inbound1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/frontendIPConfigurations/lbfrontend" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "backendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1" + } + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceTapConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceTapConfigurationCreate.json new file mode 100644 index 000000000000..19ea60b7957b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceTapConfigurationCreate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "tapConfigurationName": "tapconfiguration1", + "api-version": "2021-05-01", + "tapConfigurationParameters": { + "properties": { + "virtualNetworkTap": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "tapConfiguration1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1", + "etag": "etag", + "type": "Microsoft.Network/networkInterfaces/tapConfigurations", + "properties": { + "virtualNetworkTap": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap" + }, + "provisioningState": "Succeded" + } + } + }, + "201": { + "body": { + "name": "tapConfiguration1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1", + "etag": "etag", + "type": "Microsoft.Network/networkInterfaces/tapConfigurations", + "properties": { + "virtualNetworkTap": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap" + }, + "provisioningState": "Succeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceTapConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceTapConfigurationDelete.json new file mode 100644 index 000000000000..9435e9f3ece9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceTapConfigurationDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "test-networkinterface", + "tapConfigurationName": "test-tapconfiguration" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceTapConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceTapConfigurationGet.json new file mode 100644 index 000000000000..5d98b63923df --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceTapConfigurationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "tapConfigurationName": "tapconfiguration1", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "name": "tapConfiguration1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1", + "etag": "etag", + "type": "Microsoft.Network/networkInterfaces/tapConfigurations", + "properties": { + "virtualNetworkTap": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap" + }, + "provisioningState": "Succeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceTapConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceTapConfigurationList.json new file mode 100644 index 000000000000..8e20477e24d2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceTapConfigurationList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "mynic" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "tapConfiguration1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1", + "etag": "etag", + "type": "Microsoft.Network/networkInterfaces/tapConfigurations", + "properties": { + "virtualNetworkTap": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap" + }, + "provisioningState": "Succeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceUpdateTags.json new file mode 100644 index 000000000000..8b944689a3d9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkInterfaceUpdateTags.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "test-nic", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-nic", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic", + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": true, + "enableIPForwarding": false, + "vnetEncryptionSupported": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileCreateConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileCreateConfigOnly.json new file mode 100644 index 000000000000..9d810b751708 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileCreateConfigOnly.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkProfileName": "networkProfile1", + "parameters": { + "location": "westus", + "properties": { + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth1", + "properties": { + "ipConfigurations": [ + { + "name": "ipconfig1", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "networkProfile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf", + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfig1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + } + ], + "containerNetworkInterfaces": [] + } + } + }, + "201": { + "body": { + "name": "networkProfile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf", + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfig1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + } + ], + "containerNetworkInterfaces": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileDelete.json new file mode 100644 index 000000000000..ead82514325e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkProfileName": "networkProfile1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileGetConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileGetConfigOnly.json new file mode 100644 index 000000000000..5c508aa65635 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileGetConfigOnly.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkProfileName": "networkProfile1" + }, + "responses": { + "200": { + "body": { + "name": "networkProfile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles", + "location": "centraluseuap", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf", + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth0", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfigprofile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + }, + { + "name": "ipconfigprofile2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile2", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + }, + { + "name": "eth1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfigprofile3", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + } + ], + "containerNetworkInterfaces": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileGetWithContainerNic.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileGetWithContainerNic.json new file mode 100644 index 000000000000..9d3b98887cc4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileGetWithContainerNic.json @@ -0,0 +1,203 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkProfileName": "networkProfile1" + }, + "responses": { + "200": { + "body": { + "name": "networkProfile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "type": "Microsoft.Network/networkProfiles", + "location": "centraluseuap", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf", + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth0", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfigprofile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + }, + { + "name": "ipconfigprofile2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile2", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ], + "containerNetworkInterfaces": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth0" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth0" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth0" + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + }, + { + "name": "eth1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfigprofile3", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ], + "containerNetworkInterfaces": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth1" + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + } + ], + "containerNetworkInterfaces": [ + { + "name": "containerGroup1_eth0", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth0", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "properties": { + "provisioningState": "Succeeded", + "containerNetworkInterfaceConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0" + }, + "container": { + "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup1" + }, + "ipConfigurations": [] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces" + }, + { + "name": "containerGroup1_eth1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth1", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "properties": { + "provisioningState": "Succeeded", + "containerNetworkInterfaceConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1" + }, + "container": { + "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup1" + }, + "ipConfigurations": [] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces" + }, + { + "name": "containerGroup2_eth0", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth0", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "properties": { + "provisioningState": "Succeeded", + "containerNetworkInterfaceConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0" + }, + "container": { + "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup2" + }, + "ipConfigurations": [] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces" + }, + { + "name": "containerGroup2_eth1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth1", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "properties": { + "provisioningState": "Succeeded", + "containerNetworkInterfaceConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1" + }, + "container": { + "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup2" + }, + "ipConfigurations": [] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces" + }, + { + "name": "containerGroup3_eth0", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth0", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "properties": { + "provisioningState": "Succeeded", + "containerNetworkInterfaceConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0" + }, + "container": { + "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup3" + }, + "ipConfigurations": [] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces" + }, + { + "name": "containerGroup3_eth1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth1", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "properties": { + "provisioningState": "Succeeded", + "containerNetworkInterfaceConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1" + }, + "container": { + "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup3" + }, + "ipConfigurations": [] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileList.json new file mode 100644 index 000000000000..0037e7592768 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileList.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1", + "name": "networkProfile1", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf", + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth0", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfigprofile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + }, + { + "name": "ipconfigprofile2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile2", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + } + ], + "containerNetworkInterfaces": [] + }, + "type": "Microsoft.Network/networkProfiles", + "location": "centraluseuap" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile2", + "name": "networkProfile2", + "properties": { + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfigprofile3", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + } + ], + "containerNetworkInterfaces": [] + }, + "type": "Microsoft.Network/networkProfiles", + "location": "centraluseuap" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileListAll.json new file mode 100644 index 000000000000..ff1378752fa1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileListAll.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1", + "name": "networkProfile1", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf", + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth0", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfigprofile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + } + ], + "containerNetworkInterfaces": [] + }, + "type": "Microsoft.Network/networkProfiles", + "location": "centraluseuap" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkProfiles/networkProfile2", + "name": "networkProfile2", + "properties": { + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth1", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfigprofile3", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + } + ], + "containerNetworkInterfaces": [] + }, + "type": "Microsoft.Network/networkProfiles", + "location": "centraluseuap" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileUpdateTags.json new file mode 100644 index 000000000000..fef4b1dab3d8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkProfileUpdateTags.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkProfileName": "test-np", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-np", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-np", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf", + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth0", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfigprofile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + } + ], + "containerNetworkInterfaces": [] + }, + "type": "Microsoft.Network/networkProfiles", + "location": "centraluseuap" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupCreate.json new file mode 100644 index 000000000000..46d0374b60e1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupCreate.json @@ -0,0 +1,233 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg", + "parameters": { + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "securityRules": [], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "securityRules": [], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupCreateWithRule.json new file mode 100644 index 000000000000..fa5be491c2f2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupCreateWithRule.json @@ -0,0 +1,282 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg", + "parameters": { + "properties": { + "securityRules": [ + { + "name": "rule1", + "properties": { + "protocol": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Allow", + "destinationPortRange": "80", + "sourcePortRange": "*", + "priority": 130, + "direction": "Inbound" + } + } + ] + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "securityRules": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1", + "properties": { + "provisioningState": "Succeeded", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "80", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 130, + "direction": "Inbound" + } + } + ], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "securityRules": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1", + "properties": { + "provisioningState": "Succeeded", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "80", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 130, + "direction": "Inbound" + } + } + ], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupDelete.json new file mode 100644 index 000000000000..f9ea7d5494b4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupGet.json new file mode 100644 index 000000000000..eb53d2ecf62d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupGet.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg" + }, + "responses": { + "200": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "securityRules": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1", + "properties": { + "provisioningState": "Succeeded", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "80", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 130, + "direction": "Inbound" + } + } + ], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupList.json new file mode 100644 index 000000000000..e2c421fc0d98 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupList.json @@ -0,0 +1,231 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nsg1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "securityRules": [], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + }, + { + "name": "nsg3", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "securityRules": [], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupListAll.json new file mode 100644 index 000000000000..a018cf176460 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupListAll.json @@ -0,0 +1,230 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nsg1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "securityRules": [], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + }, + { + "name": "nsg3", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "securityRules": [], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupRuleCreate.json new file mode 100644 index 000000000000..e676d00473c8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupRuleCreate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg", + "securityRuleName": "rule1", + "securityRuleParameters": { + "properties": { + "protocol": "*", + "sourceAddressPrefix": "10.0.0.0/8", + "destinationAddressPrefix": "11.0.0.0/8", + "access": "Deny", + "destinationPortRange": "8080", + "sourcePortRange": "*", + "priority": 100, + "direction": "Outbound" + } + } + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1", + "properties": { + "provisioningState": "Succeeded", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "8080", + "sourceAddressPrefix": "10.0.0.0/8", + "destinationAddressPrefix": "11.0.0.0/8", + "access": "Deny", + "priority": 100, + "direction": "Outbound" + } + } + }, + "201": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1", + "properties": { + "provisioningState": "Succeeded", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "8080", + "sourceAddressPrefix": "10.0.0.0/8", + "destinationAddressPrefix": "11.0.0.0/8", + "access": "Deny", + "priority": 100, + "direction": "Outbound" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupRuleDelete.json new file mode 100644 index 000000000000..c0ead5ee01f9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg", + "securityRuleName": "rule1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupRuleGet.json new file mode 100644 index 000000000000..a50b7b292370 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupRuleGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg", + "securityRuleName": "rule1" + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1", + "properties": { + "provisioningState": "Succeeded", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "80", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 130, + "direction": "Inbound" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupRuleList.json new file mode 100644 index 000000000000..db84f8d233e6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupRuleList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1", + "properties": { + "provisioningState": "Succeeded", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "80", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 130, + "direction": "Inbound" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupUpdateTags.json new file mode 100644 index 000000000000..0c5defd1b74d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkSecurityGroupUpdateTags.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "securityRules": [], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceDelete.json new file mode 100644 index 000000000000..653c9c6668e6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceGet.json new file mode 100644 index 000000000000..da25ee38e2ba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceGet.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva" + }, + "responses": { + "200": { + "body": { + "name": "nva", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva", + "type": "Microsoft.Network/networkVirtualAppliances", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "addressPrefix": "192.168.1.0/16", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "virtualApplianceSites": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" + } + ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], + "provisioningState": "Succeeded", + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000, + "virtualApplianceNics": [ + { + "name": "managementNic", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1" + }, + { + "name": "privateNic-1", + "privateIpAddress": "192.168.12.2" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceListByResourceGroup.json new file mode 100644 index 000000000000..fdabe1886131 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceListByResourceGroup.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nva", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva", + "type": "Microsoft.Network/networkVirtualAppliances", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "addressPrefix": "192.168.1.0/16", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "virtualApplianceSites": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" + } + ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], + "provisioningState": "Succeeded", + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000, + "virtualApplianceNics": [ + { + "name": "managementNic", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1" + }, + { + "name": "privateNic-1", + "privateIpAddress": "192.168.12.2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceListBySubscription.json new file mode 100644 index 000000000000..b33a8ca9f474 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceListBySubscription.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nva", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva", + "type": "Microsoft.Network/networkVirtualAppliances", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "addressPrefix": "192.168.1.0/16", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "virtualApplianceSites": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" + } + ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], + "provisioningState": "Succeeded", + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000, + "virtualApplianceNics": [ + { + "name": "managementNic", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1" + }, + { + "name": "privateNic-1", + "privateIpAddress": "192.168.12.2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualAppliancePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualAppliancePut.json new file mode 100644 index 000000000000..666dd0906148 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualAppliancePut.json @@ -0,0 +1,155 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva", + "parameters": { + "tags": { + "key1": "value1" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "location": "West US", + "properties": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000 + } + } + }, + "responses": { + "200": { + "body": { + "name": "nva", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva", + "type": "Microsoft.Network/networkVirtualAppliances", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "addressPrefix": "192.168.1.0/16", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "virtualApplianceSites": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" + } + ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], + "provisioningState": "Succeeded", + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000, + "virtualApplianceNics": [ + { + "name": "managementNic", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1" + }, + { + "name": "privateNic-1", + "privateIpAddress": "192.168.12.2" + } + ] + } + } + }, + "201": { + "body": { + "name": "nva", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva", + "type": "Microsoft.Network/networkVirtualAppliances", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "addressPrefix": "192.168.1.0/16", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "virtualApplianceSites": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" + } + ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], + "provisioningState": "Succeeded", + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000, + "virtualApplianceNics": [ + { + "name": "managementNic", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1" + }, + { + "name": "privateNic-1", + "privateIpAddress": "192.168.12.2" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceSiteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceSiteDelete.json new file mode 100644 index 000000000000..12164600393d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceSiteDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "siteName": "site1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceSiteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceSiteGet.json new file mode 100644 index 000000000000..6cb261c19688 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceSiteGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "siteName": "site1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva" + }, + "responses": { + "200": { + "body": { + "name": "site1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/virtualApplianceSites/site1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "192.168.1.0/24", + "o365Policy": { + "breakOutCategories": { + "allow": true, + "optimize": true, + "default": true + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceSiteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceSiteList.json new file mode 100644 index 000000000000..8cb2334421b5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceSiteList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "siteName": "site1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "site1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/virtualApplianceSites/site1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "192.168.1.0/24", + "o365Policy": { + "breakOutCategories": { + "allow": true, + "optimize": true, + "default": true + } + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceSitePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceSitePut.json new file mode 100644 index 000000000000..8c1ff95dffbb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceSitePut.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "siteName": "site1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva", + "parameters": { + "properties": { + "addressPrefix": "192.168.1.0/24", + "o365Policy": { + "breakOutCategories": { + "allow": true, + "optimize": true, + "default": true + } + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "site1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/virtualApplianceSites/site1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "192.168.1.0/24", + "o365Policy": { + "breakOutCategories": { + "allow": true, + "optimize": true, + "default": true + } + } + } + } + }, + "201": { + "body": { + "name": "site1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/virtualApplianceSites/site1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "192.168.1.0/24", + "o365Policy": { + "breakOutCategories": { + "allow": true, + "optimize": true, + "default": true + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceSkuGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceSkuGet.json new file mode 100644 index 000000000000..587a8f852923 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceSkuGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "skuName": "ciscoSdwan" + }, + "responses": { + "200": { + "body": { + "name": "ciscoSdwan", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualApplianceSkus/ciscoSdwan", + "type": "Microsoft.Network/networkVirtualApplianceSkus", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "vendor": "Cisco", + "availableVersions": [ + "11.12" + ], + "availableScaleUnits": [ + { + "scaleUnit": "1", + "instanceCount": 2 + }, + { + "scaleUnit": "2", + "instanceCount": 2 + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceSkuList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceSkuList.json new file mode 100644 index 000000000000..6439d7ad9661 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceSkuList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ciscoSdwan", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualApplianceSkus/ciscoSdwan", + "type": "Microsoft.Network/networkVirtualApplianceSkus", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "vendor": "Cisco", + "availableVersions": [ + "11.12" + ], + "availableScaleUnits": [ + { + "scaleUnit": "1", + "instanceCount": 2 + }, + { + "scaleUnit": "2", + "instanceCount": 2 + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceUpdateTags.json new file mode 100644 index 000000000000..41a16a925e56 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkVirtualApplianceUpdateTags.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva", + "parameters": { + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "nva", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva", + "type": "Microsoft.Network/networkVirtualAppliances", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "addressPrefix": "192.168.1.0/16", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "virtualApplianceSites": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" + } + ], + "provisioningState": "Succeeded", + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000, + "virtualApplianceNics": [ + { + "name": "managementNic", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1" + }, + { + "name": "privateNic-1", + "privateIpAddress": "192.168.12.2" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherAvailableProvidersListGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherAvailableProvidersListGet.json new file mode 100644 index 000000000000..152888a7e448 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherAvailableProvidersListGet.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "azureLocations": [ + "West US" + ], + "country": "United States", + "state": "washington", + "city": "seattle" + } + }, + "responses": { + "200": { + "body": { + "countries": [ + { + "countryName": "United States", + "states": [ + { + "stateName": "washington", + "cities": [ + { + "cityName": "seattle", + "providers": [ + "Comcast Cable Communications, Inc. - ASN 7922", + "Comcast Cable Communications, LLC - ASN 7922", + "Level 3 Communications, Inc. (GBLX) - ASN 3549", + "Qwest Communications Company, LLC - ASN 209" + ] + } + ] + } + ] + } + ] + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/availableProvidersList?api-version=2021-05-01" + }, + "body": { + "countries": [ + { + "countryName": "United States", + "states": [ + { + "stateName": "washington", + "cities": [ + { + "cityName": "seattle", + "providers": [ + "Comcast Cable Communications, Inc. - ASN 7922", + "Comcast Cable Communications, LLC - ASN 7922", + "Level 3 Communications, Inc. (GBLX) - ASN 3549", + "Qwest Communications Company, LLC - ASN 209" + ] + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherAzureReachabilityReportGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherAzureReachabilityReportGet.json new file mode 100644 index 000000000000..edaee19d8ee2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherAzureReachabilityReportGet.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "providerLocation": { + "country": "United States", + "state": "washington" + }, + "providers": [ + "Frontier Communications of America, Inc. - ASN 5650" + ], + "azureLocations": [ + "West US" + ], + "startTime": "2017-09-07T00:00:00Z", + "endTime": "2017-09-10T00:00:00Z" + } + }, + "responses": { + "200": { + "body": { + "aggregationLevel": "State", + "providerLocation": { + "country": "United States", + "state": "washington" + }, + "reachabilityReport": [ + { + "provider": "Frontier Communications of America, Inc. - ASN 5650", + "azureLocation": "West US", + "latencies": [ + { + "timeStamp": "2017-09-07T00:00:00Z", + "score": 94 + }, + { + "timeStamp": "2017-09-08T00:00:00Z", + "score": 94 + }, + { + "timeStamp": "2017-09-09T00:00:00Z", + "score": 94 + } + ] + } + ] + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/azureReachabilityReport?api-version=2021-05-01" + }, + "body": { + "aggregationLevel": "State", + "providerLocation": { + "country": "United States", + "state": "washington" + }, + "reachabilityReport": [ + { + "provider": "Frontier Communications of America, Inc. - ASN 5650", + "azureLocation": "West US", + "latencies": [ + { + "timeStamp": "2017-09-07T00:00:00Z", + "score": 94 + }, + { + "timeStamp": "2017-09-08T00:00:00Z", + "score": 94 + }, + { + "timeStamp": "2017-09-09T00:00:00Z", + "score": 94 + } + ] + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorCreate.json new file mode 100644 index 000000000000..1c22f64046e4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorCreate.json @@ -0,0 +1,142 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1", + "parameters": { + "location": "eastus", + "properties": { + "endpoints": [ + { + "name": "source", + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/ct1" + }, + { + "name": "destination", + "address": "bing.com" + } + ], + "testConfigurations": [ + { + "name": "tcp", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80 + } + } + ], + "testGroups": [ + { + "name": "tg", + "testConfigurations": [ + "tcp" + ], + "sources": [ + "source" + ], + "destinations": [ + "destination" + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "cm1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1", + "etag": "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"", + "properties": { + "provisioningState": "Updating", + "endpoints": [ + { + "name": "source", + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/ct1" + }, + { + "name": "destination", + "address": "bing.com" + } + ], + "testConfigurations": [ + { + "name": "tcp", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80 + } + } + ], + "testGroups": [ + { + "name": "tg", + "testConfigurations": [ + "tcp" + ], + "sources": [ + "source" + ], + "destinations": [ + "destination" + ] + } + ] + }, + "location": "eastus", + "type": "Microsoft.Network/networkWatchers/connectionMonitors" + } + }, + "201": { + "body": { + "name": "cm1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1", + "etag": "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"", + "properties": { + "provisioningState": "Succeeded", + "endpoints": [ + { + "name": "source", + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/ct1" + }, + { + "name": "destination", + "address": "bing.com" + } + ], + "testConfigurations": [ + { + "name": "tcp", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80 + } + } + ], + "testGroups": [ + { + "name": "tg", + "testConfigurations": [ + "tcp" + ], + "sources": [ + "source" + ], + "destinations": [ + "destination" + ] + } + ] + }, + "location": "eastus", + "type": "Microsoft.Network/networkWatchers/connectionMonitors" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorDelete.json new file mode 100644 index 000000000000..6d19ab9d1687 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorGet.json new file mode 100644 index 000000000000..002fde4b2493 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "200": { + "body": { + "name": "cm1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "endpoints": [ + { + "name": "source", + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/ct1" + }, + { + "name": "destination", + "address": "bing.com" + } + ], + "testConfigurations": [ + { + "name": "tcp", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80 + } + } + ], + "testGroups": [ + { + "name": "tg", + "testConfigurations": [ + "tcp" + ], + "sources": [ + "source" + ], + "destinations": [ + "destination" + ] + } + ] + }, + "location": "eastus", + "type": "Microsoft.Network/networkWatchers/connectionMonitors" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorList.json new file mode 100644 index 000000000000..2e0050ce2ad1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorList.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "cm1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "endpoints": [ + { + "name": "source", + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/ct1" + }, + { + "name": "destination", + "address": "bing.com" + } + ], + "testConfigurations": [ + { + "name": "tcp", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80 + } + } + ], + "testGroups": [ + { + "name": "tg", + "testConfigurations": [ + "tcp" + ], + "sources": [ + "source" + ], + "destinations": [ + "destination" + ] + } + ] + }, + "location": "eastus", + "type": "Microsoft.Network/networkWatchers/connectionMonitors" + }, + { + "name": "cm2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "endpoints": [ + { + "name": "source", + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/ct2" + }, + { + "name": "destination", + "address": "google.com" + } + ], + "testConfigurations": [ + { + "name": "tcp", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80 + } + } + ], + "testGroups": [ + { + "name": "tg", + "testConfigurations": [ + "tcp" + ], + "sources": [ + "source" + ], + "destinations": [ + "destination" + ] + } + ] + }, + "location": "eastus", + "type": "Microsoft.Network/networkWatchers/connectionMonitors" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorQuery.json new file mode 100644 index 000000000000..e8fac16b8665 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorQuery.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "200": { + "body": { + "sourceStatus": "Active", + "states": [ + { + "connectionState": "Reachable", + "startTime": "2018-01-08T03:42:33.3387305Z", + "endTime": "2018-01-08T05:12:41.5265438Z", + "evaluationState": "Completed", + "hops": [ + { + "type": "Source", + "id": "7dbbe7aa-60ba-4650-831e-63d775d38e9e", + "address": "10.1.1.4", + "resourceId": "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1", + "nextHopIds": [ + "75c8d819-b208-4584-a311-1aa45ce753f9" + ], + "issues": [] + }, + { + "type": "VirtualNetwork", + "id": "75c8d819-b208-4584-a311-1aa45ce753f9", + "address": "192.168.100.4", + "resourceId": "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1", + "nextHopIds": [], + "issues": [] + } + ] + } + ] + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1/query?api-version=2021-05-01" + }, + "body": { + "sourceStatus": "Active", + "states": [ + { + "connectionState": "Reachable", + "startTime": "2018-01-08T03:42:33.3387305Z", + "endTime": "2018-01-08T05:12:41.5265438Z", + "evaluationState": "Completed", + "hops": [ + { + "type": "Source", + "id": "7dbbe7aa-60ba-4650-831e-63d775d38e9e", + "address": "10.1.1.4", + "resourceId": "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1", + "nextHopIds": [ + "75c8d819-b208-4584-a311-1aa45ce753f9" + ], + "issues": [] + }, + { + "type": "VirtualNetwork", + "id": "75c8d819-b208-4584-a311-1aa45ce753f9", + "address": "192.168.100.4", + "resourceId": "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1", + "nextHopIds": [], + "issues": [] + } + ] + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorStart.json new file mode 100644 index 000000000000..457dc01fde27 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorStart.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorStop.json new file mode 100644 index 000000000000..457dc01fde27 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorStop.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json new file mode 100644 index 000000000000..118178b6851a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "cm1", + "id": "/subscriptions/subid/`/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "source": { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1", + "port": 0 + }, + "destination": { + "address": "bing.com", + "port": 80 + }, + "monitoringIntervalInSeconds": 60, + "autoStart": true, + "startTime": "2019-09-04T02:48:10.6797393Z", + "monitoringStatus": "Running" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.Network/networkWatchers/connectionMonitors", + "location": "westcentralus" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorV2Create.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorV2Create.json new file mode 100644 index 000000000000..e222e75a25e0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectionMonitorV2Create.json @@ -0,0 +1,206 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1", + "location": "centraluseuap", + "parameters": { + "properties": { + "endpoints": [ + { + "name": "vm1", + "resourceId": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/NwRgIrinaCentralUSEUAP/providers/Microsoft.Compute/virtualMachines/vm1" + }, + { + "name": "CanaryWorkspaceVamshi", + "resourceId": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/vasamudrRG/providers/Microsoft.OperationalInsights/workspaces/vasamudrWorkspace", + "filter": { + "type": "Include", + "items": [ + { + "type": "AgentAddress", + "address": "npmuser" + } + ] + } + }, + { + "name": "bing", + "address": "bing.com" + }, + { + "name": "google", + "address": "google.com" + } + ], + "testConfigurations": [ + { + "name": "testConfig1", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80, + "disableTraceRoute": false + } + } + ], + "testGroups": [ + { + "name": "test1", + "disable": false, + "testConfigurations": [ + "testConfig1" + ], + "sources": [ + "vm1", + "CanaryWorkspaceVamshi" + ], + "destinations": [ + "bing", + "google" + ] + } + ], + "outputs": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "cm1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1", + "etag": "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"", + "properties": { + "endpoints": [ + { + "name": "vm1", + "resourceId": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/NwRgIrinaCentralUSEUAP/providers/Microsoft.Compute/virtualMachines/vm1" + }, + { + "name": "CanaryWorkspaceVamshi", + "resourceId": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/vasamudrRG/providers/Microsoft.OperationalInsights/workspaces/vasamudrWorkspace", + "filter": { + "type": "Include", + "items": [ + { + "type": "AgentAddress", + "address": "npmuser" + } + ] + } + }, + { + "name": "bing", + "address": "bing.com" + }, + { + "name": "google", + "address": "google.com" + } + ], + "testConfigurations": [ + { + "name": "testConfig1", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80, + "disableTraceRoute": false + } + } + ], + "testGroups": [ + { + "name": "test1", + "disable": false, + "testConfigurations": [ + "testConfig1" + ], + "sources": [ + "vm1", + "CanaryWorkspaceVamshi" + ], + "destinations": [ + "bing", + "google" + ] + } + ], + "outputs": [] + }, + "location": "centraluseuap", + "type": "Microsoft.Network/networkWatchers/connectionMonitors" + } + }, + "201": { + "body": { + "name": "cm1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1", + "etag": "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"", + "properties": { + "endpoints": [ + { + "name": "vm1", + "resourceId": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/NwRgIrinaCentralUSEUAP/providers/Microsoft.Compute/virtualMachines/vm1" + }, + { + "name": "CanaryWorkspaceVamshi", + "resourceId": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/vasamudrRG/providers/Microsoft.OperationalInsights/workspaces/vasamudrWorkspace", + "filter": { + "type": "Include", + "items": [ + { + "type": "AgentAddress", + "address": "npmuser" + } + ] + } + }, + { + "name": "bing", + "address": "bing.com" + }, + { + "name": "google", + "address": "google.com" + } + ], + "testConfigurations": [ + { + "name": "testConfig1", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80, + "disableTraceRoute": false + } + } + ], + "testGroups": [ + { + "name": "test1", + "disable": false, + "testConfigurations": [ + "testConfig1" + ], + "sources": [ + "vm1", + "CanaryWorkspaceVamshi" + ], + "destinations": [ + "bing", + "google" + ] + } + ], + "outputs": [] + }, + "location": "centraluseuap", + "type": "Microsoft.Network/networkWatchers/connectionMonitors" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectivityCheck.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectivityCheck.json new file mode 100644 index 000000000000..f9038213f661 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherConnectivityCheck.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "source": { + "resourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1" + }, + "destination": { + "address": "192.168.100.4", + "port": 3389 + }, + "preferredIPVersion": "IPv4" + } + }, + "responses": { + "200": { + "body": { + "hops": [ + { + "type": "Source", + "id": "7dbbe7aa-60ba-4650-831e-63d775d38e9e", + "address": "10.1.1.4", + "resourceId": "subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1", + "nextHopIds": [ + "75c8d819-b208-4584-a311-1aa45ce753f9" + ], + "issues": [] + }, + { + "type": "VirtualNetwork", + "id": "75c8d819-b208-4584-a311-1aa45ce753f9", + "address": "192.168.100.4", + "resourceId": "subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1", + "nextHopIds": [], + "issues": [] + } + ], + "connectionStatus": "Connected", + "avgLatencyInMs": 1, + "minLatencyInMs": 1, + "maxLatencyInMs": 4, + "probesSent": 100, + "probesFailed": 0 + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectivityCheck?api-version=2021-05-01" + }, + "body": { + "hops": [ + { + "type": "Source", + "id": "7dbbe7aa-60ba-4650-831e-63d775d38e9e", + "address": "10.1.1.4", + "resourceId": "subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1", + "nextHopIds": [ + "75c8d819-b208-4584-a311-1aa45ce753f9" + ], + "issues": [] + }, + { + "type": "VirtualNetwork", + "id": "75c8d819-b208-4584-a311-1aa45ce753f9", + "address": "192.168.100.4", + "resourceId": "subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1", + "nextHopIds": [], + "issues": [] + } + ], + "connectionStatus": "Connected", + "avgLatencyInMs": 1, + "minLatencyInMs": 1, + "maxLatencyInMs": 4, + "probesSent": 100, + "probesFailed": 0 + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherCreate.json new file mode 100644 index 000000000000..4b6dc2e314c5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "nw1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/networkWatchers", + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "nw1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/networkWatchers", + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherDelete.json new file mode 100644 index 000000000000..35cd61a16197 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogConfigure.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogConfigure.json new file mode 100644 index 000000000000..7a0fa66decdd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogConfigure.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "properties": { + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "properties": { + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", + "enabled": true + } + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/configureFlowLog?api-version=2021-05-01" + }, + "body": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "properties": { + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", + "enabled": true + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogCreate.json new file mode 100644 index 000000000000..d22f0c8e7e4e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogCreate.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "flowLogName": "fl", + "parameters": { + "location": "centraluseuap", + "properties": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/desmondcentral-nsg", + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/nwtest1mgvbfmqsigdxe", + "enabled": true, + "format": { + "type": "JSON", + "version": 1 + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "Microsoft.Networkdesmond-rgdesmondcentral-nsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw/FlowLogs/fl", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Updating", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/desmondcentral-nsg", + "targetResourceGuid": "00000000-0000-0000-0000-000000000000", + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/nwtest1mgvbfmqsigdxe", + "enabled": true, + "flowAnalyticsConfiguration": {}, + "retentionPolicy": { + "days": 0, + "enabled": false + }, + "format": { + "type": "JSON", + "version": 1 + } + }, + "type": "Microsoft.Network/networkWatchers/FlowLogs", + "location": "centraluseuap" + } + }, + "201": { + "body": { + "name": "Microsoft.Networkdesmond-rgdesmondcentral-nsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw/FlowLogs/fl", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/desmondcentral-nsg", + "targetResourceGuid": "00000000-0000-0000-0000-000000000000", + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/nwtest1mgvbfmqsigdxe", + "enabled": true, + "flowAnalyticsConfiguration": {}, + "retentionPolicy": { + "days": 0, + "enabled": false + }, + "format": { + "type": "JSON", + "version": 1 + } + }, + "type": "Microsoft.Network/networkWatchers/FlowLogs", + "location": "centraluseuap" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogDelete.json new file mode 100644 index 000000000000..16001015f4c4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "flowLogName": "fl" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogGet.json new file mode 100644 index 000000000000..c296ea3a9b8c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "flowLogName": "flowLog1" + }, + "responses": { + "200": { + "body": { + "name": "flowLog1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/тц1/FlowLogs/flowLog1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/networkSecurityGroups/vm5-nsg", + "targetResourceGuid": "00000000-0000-0000-0000-000000000000", + "storageId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/wzstorage002", + "enabled": true, + "flowAnalyticsConfiguration": { + "networkWatcherFlowAnalyticsConfiguration": { + "enabled": false, + "workspaceId": "-", + "workspaceRegion": "-", + "trafficAnalyticsInterval": 60 + } + }, + "retentionPolicy": { + "days": 0, + "enabled": false + }, + "format": { + "type": "JSON", + "version": 2 + } + }, + "location": "centraluseuap", + "type": "Microsoft.Network/networkWatchers/FlowLogs" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogList.json new file mode 100644 index 000000000000..900cfce1eb11 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogList.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "flowLog1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/тц1/FlowLogs/flowLog1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/networkSecurityGroups/vm5-nsg", + "targetResourceGuid": "00000000-0000-0000-0000-000000000000", + "storageId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/wzstorage002", + "enabled": true, + "flowAnalyticsConfiguration": { + "networkWatcherFlowAnalyticsConfiguration": { + "enabled": false, + "workspaceId": "-", + "workspaceRegion": "-", + "trafficAnalyticsInterval": 60 + } + }, + "retentionPolicy": { + "days": 0, + "enabled": false + }, + "format": { + "type": "JSON", + "version": 2 + } + }, + "location": "centraluseuap", + "type": "Microsoft.Network/networkWatchers/FlowLogs" + }, + { + "name": "flowLog2", + "id": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkWatchers/NetworkWatcher_centraluseuap/FlowLogs/flowLog2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/networkSecurityGroups/DSCP-test-vm1-nsg", + "targetResourceGuid": "00000000-0000-0000-0000-000000000000", + "storageId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/iraflowlogtest2diag", + "enabled": true, + "flowAnalyticsConfiguration": {}, + "retentionPolicy": { + "days": 0, + "enabled": false + }, + "format": { + "type": "JSON", + "version": 2 + } + }, + "type": "Microsoft.Network/networkWatchers/FlowLogs", + "location": "centraluseuap" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogStatusQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogStatusQuery.json new file mode 100644 index 000000000000..68b54bd5e369 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogStatusQuery.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + } + }, + "responses": { + "200": { + "body": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "properties": { + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", + "enabled": true + } + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/queryFlowLogStatus?api-version=2021-05-01" + }, + "body": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "properties": { + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", + "enabled": true + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogUpdateTags.json new file mode 100644 index 000000000000..9a71d66650ae --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherFlowLogUpdateTags.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw", + "flowLogName": "fl", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "Microsoft.Networkdesmond-rgdesmondcentral-nsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw/FlowLogs/fl", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/desmondcentral-nsg", + "targetResourceGuid": "00000000-0000-0000-0000-000000000000", + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/nwtest1mgvbfmqsigdxe", + "enabled": true, + "flowAnalyticsConfiguration": {}, + "retentionPolicy": { + "days": 0, + "enabled": false + }, + "format": { + "type": "JSON", + "version": 1 + } + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.Network/networkWatchers/FlowLogs", + "location": "centralus" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherGet.json new file mode 100644 index 000000000000..11fba666d46a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1" + }, + "responses": { + "200": { + "body": { + "name": "nw1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/networkWatchers", + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherIpFlowVerify.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherIpFlowVerify.json new file mode 100644 index 000000000000..0983c033aa0b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherIpFlowVerify.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", + "direction": "Outbound", + "protocol": "TCP", + "localPort": "80", + "remotePort": "80", + "localIPAddress": "10.2.0.4", + "remoteIPAddress": "121.10.1.1" + } + }, + "responses": { + "200": { + "body": { + "access": "Allow", + "ruleName": "Rule1" + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/ipFlowVerify?api-version=2021-05-01" + }, + "body": { + "access": "Allow", + "ruleName": "Rule1" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherList.json new file mode 100644 index 000000000000..775f21467292 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nw1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/networkWatchers", + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded" + } + }, + { + "name": "nw2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/networkWatchers", + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherListAll.json new file mode 100644 index 000000000000..fd968f9989d6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherListAll.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nw1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/networkWatchers", + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded" + } + }, + { + "name": "nw2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/networkWatchers", + "location": "westus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json new file mode 100644 index 000000000000..fb7c9a9d35eb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json @@ -0,0 +1,201 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", + "profiles": [ + { + "direction": "Inbound", + "protocol": "TCP", + "source": "10.1.0.4", + "destination": "12.11.12.14", + "destinationPort": "12100" + } + ] + } + }, + "responses": { + "200": { + "body": { + "results": [ + { + "profile": { + "direction": "Inbound", + "protocol": "TCP", + "source": "10.1.0.4", + "destination": "12.11.12.14", + "destinationPort": "12100" + }, + "networkSecurityGroupResult": { + "securityRuleAccessResult": "Allow", + "evaluatedNetworkSecurityGroups": [ + { + "networkSecurityGroupId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/subnets/AppSubnet", + "matchedRule": { + "ruleName": "UserRule_fe_rule", + "action": "Allow" + }, + "rulesEvaluationResult": [ + { + "name": "UserRule_Cleanuptool-Allow-100", + "protocolMatched": true, + "sourceMatched": false, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": false + }, + { + "name": "UserRule_Cleanuptool-Allow-101", + "protocolMatched": true, + "sourceMatched": true, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": false + }, + { + "name": "UserRule_Cleanuptool-Allow-102", + "protocolMatched": true, + "sourceMatched": false, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": false + }, + { + "name": "UserRule_Cleanuptool-Deny-103", + "protocolMatched": true, + "sourceMatched": true, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": false + }, + { + "name": "UserRule_fe_rule", + "protocolMatched": true, + "sourceMatched": true, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": true + } + ] + }, + { + "networkSecurityGroupId": "/subscriptions/61cc8a98-a8be-4bfe-a04e-0b461f93fe35/resourceGroups/NwRgCentralUSEUAP_copy/providers/Microsoft.Network/networkSecurityGroups/AppNSG", + "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/networkInterfaces/nic", + "matchedRule": { + "ruleName": "UserRule_fe_rule", + "action": "Allow" + }, + "rulesEvaluationResult": [ + { + "name": "UserRule_fe_rule", + "protocolMatched": true, + "sourceMatched": true, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": true + } + ] + } + ] + } + } + ] + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/networkConfigurationDiagnostic?api-version=2021-05-01" + }, + "body": { + "results": [ + { + "profile": { + "direction": "Inbound", + "protocol": "TCP", + "source": "10.1.0.4", + "destination": "12.11.12.14", + "destinationPort": "12100" + }, + "networkSecurityGroupResult": { + "securityRuleAccessResult": "Allow", + "evaluatedNetworkSecurityGroups": [ + { + "networkSecurityGroupId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/subnets/AppSubnet", + "matchedRule": { + "ruleName": "UserRule_fe_rule", + "action": "Allow" + }, + "rulesEvaluationResult": [ + { + "name": "UserRule_Cleanuptool-Allow-100", + "protocolMatched": true, + "sourceMatched": false, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": false + }, + { + "name": "UserRule_Cleanuptool-Allow-101", + "protocolMatched": true, + "sourceMatched": true, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": false + }, + { + "name": "UserRule_Cleanuptool-Allow-102", + "protocolMatched": true, + "sourceMatched": false, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": false + }, + { + "name": "UserRule_Cleanuptool-Deny-103", + "protocolMatched": true, + "sourceMatched": true, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": false + }, + { + "name": "UserRule_fe_rule", + "protocolMatched": true, + "sourceMatched": true, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": true + } + ] + }, + { + "networkSecurityGroupId": "/subscriptions/61cc8a98-a8be-4bfe-a04e-0b461f93fe35/resourceGroups/NwRgCentralUSEUAP_copy/providers/Microsoft.Network/networkSecurityGroups/AppNSG", + "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/networkInterfaces/nic", + "matchedRule": { + "ruleName": "UserRule_fe_rule", + "action": "Allow" + }, + "rulesEvaluationResult": [ + { + "name": "UserRule_fe_rule", + "protocolMatched": true, + "sourceMatched": true, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": true + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherNextHopGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherNextHopGet.json new file mode 100644 index 000000000000..01f630656a82 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherNextHopGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", + "sourceIPAddress": "10.0.0.5", + "destinationIPAddress": "10.0.0.10", + "targetNicResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1" + } + }, + "responses": { + "200": { + "body": { + "nextHopType": "VnetLocal", + "nextHopIpAddress": "10.0.0.1", + "routeTableId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/routeTables/rt1" + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/nextHop?api-version=2021-05-01" + }, + "body": { + "nextHopType": "VnetLocal", + "nextHopIpAddress": "10.0.0.1", + "routeTableId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/routeTables/rt1" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherPacketCaptureCreate.json new file mode 100644 index 000000000000..7b6092999228 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherPacketCaptureCreate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "packetCaptureName": "pc1", + "parameters": { + "properties": { + "target": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", + "bytesToCapturePerPacket": 10000, + "totalBytesPerSession": 100000, + "timeLimitInSeconds": 100, + "storageLocation": { + "storageId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore", + "storagePath": "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap", + "filePath": "D:\\capture\\pc1.cap" + }, + "filters": [ + { + "protocol": "TCP", + "localIPAddress": "10.0.0.4", + "localPort": "80" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "name": "pc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1", + "properties": { + "provisioningState": "Updating", + "target": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", + "bytesToCapturePerPacket": 10000, + "totalBytesPerSession": 100000, + "timeLimitInSeconds": 100, + "storageLocation": { + "storageId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore", + "storagePath": "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap", + "filePath": "D:\\capture\\pc1.cap" + }, + "filters": [ + { + "protocol": "TCP", + "localIPAddress": "10.0.0.4", + "localPort": "80" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherPacketCaptureDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherPacketCaptureDelete.json new file mode 100644 index 000000000000..e55e1740a5c1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherPacketCaptureDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "packetCaptureName": "pc1" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherPacketCaptureGet.json new file mode 100644 index 000000000000..4d3e3c7c9ac2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherPacketCaptureGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "packetCaptureName": "pc1" + }, + "responses": { + "200": { + "body": { + "name": "pc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Updating", + "target": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", + "bytesToCapturePerPacket": 10000, + "totalBytesPerSession": 100000, + "timeLimitInSeconds": 100, + "storageLocation": { + "storageId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore", + "storagePath": "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap", + "filePath": "D:\\capture\\pc1.cap" + }, + "filters": [ + { + "protocol": "TCP", + "localIPAddress": "10.0.0.4", + "localPort": "80" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherPacketCaptureQueryStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherPacketCaptureQueryStatus.json new file mode 100644 index 000000000000..735aaaa9cf29 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherPacketCaptureQueryStatus.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "packetCaptureName": "pc1" + }, + "responses": { + "200": { + "body": { + "name": "pc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1", + "captureStartTime": "2016-09-07T12:35:24Z", + "packetCaptureStatus": "Stopped", + "stopReason": "TimeExceeded", + "packetCaptureError": [] + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/troubleshoot?api-version=2021-05-01" + }, + "body": { + "name": "pc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1", + "captureStartTime": "2016-09-07T12:35:24Z", + "packetCaptureStatus": "Stopped", + "stopReason": "TimeExceeded", + "packetCaptureError": [] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherPacketCaptureStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherPacketCaptureStop.json new file mode 100644 index 000000000000..fb36bb855f60 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherPacketCaptureStop.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "packetCaptureName": "pc1" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherPacketCapturesList.json new file mode 100644 index 000000000000..52dab86fc3ed --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherPacketCapturesList.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "pc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Updating", + "target": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", + "bytesToCapturePerPacket": 10000, + "totalBytesPerSession": 100000, + "timeLimitInSeconds": 100, + "storageLocation": { + "storageId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore", + "storagePath": "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap", + "filePath": "D:\\capture\\pc1.cap" + }, + "filters": [ + { + "protocol": "TCP", + "localIPAddress": "10.0.0.4", + "localPort": "80" + } + ] + } + }, + { + "name": "pc2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "target": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", + "bytesToCapturePerPacket": 10000, + "totalBytesPerSession": 100000, + "timeLimitInSeconds": 100, + "storageLocation": { + "storageId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore", + "storagePath": "https://mytestaccountname.blob.core.windows.net/capture/pc2.cap", + "filePath": "D:\\capture\\pc2.cap" + }, + "filters": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherSecurityGroupViewGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherSecurityGroupViewGet.json new file mode 100644 index 000000000000..a767c444781b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherSecurityGroupViewGet.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1" + } + }, + "responses": { + "200": { + "body": { + "networkInterfaces": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1", + "securityRuleAssociations": { + "subnetAssociation": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "securityRules": [ + { + "name": "fe_rule", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/AppNSG/securityRules/fe_rule", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow Frontend", + "protocol": "Tcp", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "10.1.0.0/24", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 100, + "direction": "Inbound" + } + } + ] + }, + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions//resourceGroups//providers/Microsoft.Network/networkSecurityGroups//defaultSecurityRules/", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + } + ], + "effectiveSecurityRules": [ + { + "name": "DefaultOutboundDenyAll", + "protocol": "All", + "sourcePortRange": "0-65535", + "destinationPortRange": "0-65535", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + ] + } + } + ] + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/queryStatus?api-version=2021-05-01" + }, + "body": { + "networkInterfaces": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1", + "securityRuleAssociations": { + "subnetAssociation": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "securityRules": [ + { + "name": "fe_rule", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/AppNSG/securityRules/fe_rule", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow Frontend", + "protocol": "Tcp", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "10.1.0.0/24", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 100, + "direction": "Inbound" + } + } + ] + }, + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions//resourceGroups//providers/Microsoft.Network/networkSecurityGroups//defaultSecurityRules/", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + } + ], + "effectiveSecurityRules": [ + { + "name": "DefaultOutboundDenyAll", + "protocol": "All", + "sourcePortRange": "0-65535", + "destinationPortRange": "0-65535", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherTopologyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherTopologyGet.json new file mode 100644 index 000000000000..25280459bd5d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherTopologyGet.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceGroupName": "rg2" + } + }, + "responses": { + "200": { + "body": { + "id": "ce592f46-8164-4bf2-ad36-b8e4acf6fb68", + "createdDateTime": "2017-08-02T19:31:55.9461781Z", + "lastModified": "2017-05-27T00:00:13.2005337Z", + "resources": [ + { + "name": "MultiTierApp0", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/MultiTierApp0", + "location": "westus", + "associations": [ + { + "name": "appNic0", + "resourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/appNic0", + "associationType": "Contains" + }, + { + "name": "appNic10", + "resourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/appNic10", + "associationType": "Contains" + } + ] + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherTroubleshootGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherTroubleshootGet.json new file mode 100644 index 000000000000..ef2ab2308244 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherTroubleshootGet.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", + "properties": { + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", + "storagePath": "https://st1.blob.core.windows.net/cn1" + } + } + }, + "responses": { + "200": { + "body": { + "startTime": "2017-01-12T00:19:47.0442834Z", + "endTime": "2017-01-12T00:20:09.914Z", + "code": "UnHealthy", + "results": [ + { + "id": "000000", + "reasonType": "VipUnResponsive", + "summary": "We are sorry, your VPN gateway is unreachable from the Internet", + "detail": "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected", + "recommendedActions": [ + { + "actionText": "Verify if there is a network security group (NSG) applied to the GatewaySubnet", + "actionUri": "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal", + "actionUriText": "Verify" + }, + { + "actionText": "If your VPN gateway isn't up and running by the expected resolution time, contact support", + "actionUri": "http://azure.microsoft.com/support", + "actionUriText": "contact support" + } + ] + } + ] + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/troubleshoot?api-version=2021-05-01" + }, + "body": { + "startTime": "2017-01-12T00:19:47.0442834Z", + "endTime": "2017-01-12T00:20:09.914Z", + "code": "UnHealthy", + "results": [ + { + "id": "000000", + "reasonType": "VipUnResponsive", + "summary": "We are sorry, your VPN gateway is unreachable from the Internet", + "detail": "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected", + "recommendedActions": [ + { + "actionText": "Verify if there is a network security group (NSG) applied to the GatewaySubnet", + "actionUri": "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal", + "actionUriText": "Verify" + }, + { + "actionText": "If your VPN gateway isn't up and running by the expected resolution time, contact support", + "actionUri": "http://azure.microsoft.com/support", + "actionUriText": "contact support" + } + ] + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherTroubleshootResultQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherTroubleshootResultQuery.json new file mode 100644 index 000000000000..ab9dc53a22ee --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherTroubleshootResultQuery.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1" + } + }, + "responses": { + "200": { + "body": { + "startTime": "2017-01-12T00:19:47.0442834Z", + "endTime": "2017-01-12T00:20:09.914Z", + "code": "UnHealthy", + "results": [ + { + "id": "000000", + "reasonType": "VipUnResponsive", + "summary": "We are sorry, your VPN gateway is unreachable from the Internet", + "detail": "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected", + "recommendedActions": [ + { + "actionText": "Verify if there is a network security group (NSG) applied to the GatewaySubnet", + "actionUri": "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal", + "actionUriText": "Verify" + }, + { + "actionText": "If your VPN gateway isn't up and running by the expected resolution time, contact support", + "actionUri": "http://azure.microsoft.com/support", + "actionUriText": "contact support" + } + ] + } + ] + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/queryTroubleshootResult?api-version=2021-05-01" + }, + "body": { + "startTime": "2017-01-12T00:19:47.0442834Z", + "endTime": "2017-01-12T00:20:09.914Z", + "code": "UnHealthy", + "results": [ + { + "id": "000000", + "reasonType": "VipUnResponsive", + "summary": "We are sorry, your VPN gateway is unreachable from the Internet", + "detail": "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected", + "recommendedActions": [ + { + "actionText": "Verify if there is a network security group (NSG) applied to the GatewaySubnet", + "actionUri": "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal", + "actionUriText": "Verify" + }, + { + "actionText": "If your VPN gateway isn't up and running by the expected resolution time, contact support", + "actionUri": "http://azure.microsoft.com/support", + "actionUriText": "contact support" + } + ] + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherUpdateTags.json new file mode 100644 index 000000000000..7b39cc8baf2b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/NetworkWatcherUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "nw1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/networkWatchers", + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/OperationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/OperationList.json new file mode 100644 index 000000000000..e6419ea42505 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/OperationList.json @@ -0,0 +1,137 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Network/localnetworkgateways/read", + "display": { + "provider": "Microsoft Network", + "resource": "LocalNetworkGateway", + "operation": "Get LocalNetworkGateway", + "description": "Gets LocalNetworkGateway" + } + }, + { + "name": "Microsoft.Network/localnetworkgateways/write", + "display": { + "provider": "Microsoft Network", + "resource": "LocalNetworkGateway", + "operation": "Create or update LocalNetworkGateway", + "description": "Creates or updates an existing LocalNetworkGateway" + } + }, + { + "name": "Microsoft.Network/localnetworkgateways/delete", + "display": { + "provider": "Microsoft Network", + "resource": "LocalNetworkGateway", + "operation": "Delete LocalNetworkGateway", + "description": "Deletes LocalNetworkGateway" + } + }, + { + "name": "Microsoft.Network/networkInterfaces/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Network", + "resource": "Network Interface metric definition", + "operation": "Read Network Interface metric definitions", + "description": "Gets available metrics for the Network Interface" + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "BytesSentRate", + "displayName": "Bytes Sent", + "displayDescription": "Number of bytes the Network Interface sent", + "unit": "Count", + "aggregationType": "Total", + "availabilities": [ + { + "timeGrain": "00:01:00", + "retention": "00:00:00", + "blobDuration": "01:00:00" + }, + { + "timeGrain": "01:00:00", + "retention": "00:00:00", + "blobDuration": "1.00:00:00" + } + ], + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^__Ready__$", + "fillGapWithZero": false, + "dimensions": [], + "isInternal": false + }, + { + "name": "BytesReceivedRate", + "displayName": "Bytes Received", + "displayDescription": "Number of bytes the Network Interface received", + "unit": "Count", + "aggregationType": "Total", + "availabilities": [ + { + "timeGrain": "00:01:00", + "retention": "00:00:00", + "blobDuration": "01:00:00" + }, + { + "timeGrain": "01:00:00", + "retention": "00:00:00", + "blobDuration": "1.00:00:00" + } + ], + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^__Ready__$", + "fillGapWithZero": false, + "dimensions": [], + "isInternal": false + } + ] + } + } + }, + { + "name": "Microsoft.Network/networksecuritygroups/providers/Microsoft.Insights/logDefinitions/read", + "display": { + "provider": "Microsoft Network", + "resource": "Network Security Groups Log Definitions", + "operation": "Get Network Security Group Event Log Definitions", + "description": "Gets the events for network security group" + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "logSpecifications": [ + { + "name": "NetworkSecurityGroupEvent", + "displayName": "Network Security Group Event", + "blobDuration": "PT1H" + }, + { + "name": "NetworkSecurityGroupRuleCounter", + "displayName": "Network Security Group Rule Counter", + "blobDuration": "PT1H" + }, + { + "name": "NetworkSecurityGroupFlowEvent", + "displayName": "Network Security Group Rule Flow Event", + "blobDuration": "PT1H" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayDelete.json new file mode 100644 index 000000000000..8b1bfccbaad8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayGenerateVpnProfile.json new file mode 100644 index 000000000000..005a6afb68ad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayGenerateVpnProfile.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "p2sVpnGateway1", + "parameters": { + "authenticationMethod": "EAPTLS" + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "profileUrl": "aaaaaaaaaaaaaaaaaaaaaaaaaaa" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayGet.json new file mode 100644 index 000000000000..fe11d0f82d6d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayGet.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "p2sVpnGateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "enableInternetSecurity": false + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "3.3.3.3" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 2, + "allocatedIpAddresses": [ + "1.1.1.1", + "2.2.2.2" + ], + "totalIngressBytesTransferred": 2000, + "totalEgressBytesTransferred": 3000 + }, + "isRoutingPreferenceInternet": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayGetConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayGetConnectionHealth.json new file mode 100644 index 000000000000..e5457a2495ef --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayGetConnectionHealth.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "p2sVpnGateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "enableInternetSecurity": false + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "3.3.3.3" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 2, + "allocatedIpAddresses": [ + "1.1.1.1", + "2.2.2.2" + ], + "totalIngressBytesTransferred": 2000, + "totalEgressBytesTransferred": 3000 + }, + "isRoutingPreferenceInternet": false + } + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json new file mode 100644 index 000000000000..ee6008bd0560 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "p2s-vpn-gateway-test", + "gatewayName": "p2svpngateway", + "api-version": "2021-05-01", + "request": { + "vpnUserNamesFilter": [ + "vpnUser1", + "vpnUser2" + ], + "outputBlobSasUrl": "https://blobcortextesturl.blob.core.windows.net/folderforconfig/p2sconnectionhealths?sp=rw&se=2018-01-10T03%3A42%3A04Z&sv=2017-04-17&sig=WvXrT5bDmDFfgHs%2Brz%2BjAu123eRCNE9BO0eQYcPDT7pY%3D&sr=b" + } + }, + "responses": { + "200": { + "body": { + "sasUrl": "aaaaaaaaaaaaaaaaaa" + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayList.json new file mode 100644 index 000000000000..5763f179172f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayList.json @@ -0,0 +1,157 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "p2sVpnGateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "enableInternetSecurity": true + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "3.3.3.3" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 2, + "allocatedIpAddresses": [ + "1.1.1.1", + "2.2.2.2" + ], + "totalIngressBytesTransferred": 2000, + "totalEgressBytesTransferred": 3000 + }, + "isRoutingPreferenceInternet": false + } + }, + { + "name": "p2sVpnGateway2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.4.0.0/16" + ] + }, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "enableInternetSecurity": true + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "4.4.4.4" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 2, + "allocatedIpAddresses": [ + "1.1.1.1", + "2.2.2.2" + ], + "totalIngressBytesTransferred": 2000, + "totalEgressBytesTransferred": 3000 + }, + "isRoutingPreferenceInternet": false + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayListByResourceGroup.json new file mode 100644 index 000000000000..c1ff57344f3b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayListByResourceGroup.json @@ -0,0 +1,153 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "p2sVpnGateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "properties": { + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "enableInternetSecurity": false + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "3.3.3.3" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 2, + "allocatedIpAddresses": [ + "1.1.1.1", + "2.2.2.2" + ], + "totalIngressBytesTransferred": 2000, + "totalEgressBytesTransferred": 3000 + }, + "isRoutingPreferenceInternet": false + } + }, + { + "name": "p2sVpnGateway2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "properties": { + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "enableInternetSecurity": false + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "4.4.4.4" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 2, + "allocatedIpAddresses": [ + "1.1.1.1", + "2.2.2.2" + ], + "totalIngressBytesTransferred": 2000, + "totalEgressBytesTransferred": 3000 + }, + "isRoutingPreferenceInternet": false + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayPut.json new file mode 100644 index 000000000000..18be268e2199 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayPut.json @@ -0,0 +1,210 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "p2SVpnGatewayParameters": { + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "properties": { + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "1.1.1.1", + "2.2.2.2" + ], + "isRoutingPreferenceInternet": false + } + } + }, + "responses": { + "200": { + "body": { + "name": "p2sVpnGateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "enableInternetSecurity": false + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "1.1.1.1", + "2.2.2.2" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 0, + "allocatedIpAddresses": [], + "totalIngressBytesTransferred": 0, + "totalEgressBytesTransferred": 0 + }, + "isRoutingPreferenceInternet": false + } + } + }, + "201": { + "body": { + "name": "p2sVpnGateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "enableInternetSecurity": false + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "1.1.1.1", + "2.2.2.2" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 0, + "allocatedIpAddresses": [], + "totalIngressBytesTransferred": 0, + "totalEgressBytesTransferred": 0 + }, + "isRoutingPreferenceInternet": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayReset.json new file mode 100644 index 000000000000..64d9c5273e32 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayReset.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "p2sVpnGateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "enableInternetSecurity": false + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "3.3.3.3" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 2, + "allocatedIpAddresses": [ + "1.1.1.1", + "2.2.2.2" + ], + "totalIngressBytesTransferred": 2000, + "totalEgressBytesTransferred": 3000 + }, + "isRoutingPreferenceInternet": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayUpdateTags.json new file mode 100644 index 000000000000..0102b46fb389 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2SVpnGatewayUpdateTags.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "p2SVpnGatewayParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "p2sVpnGateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "properties": { + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "enableInternetSecurity": false + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "3.3.3.3" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 2, + "allocatedIpAddresses": [ + "1.1.1.1", + "2.2.2.2" + ], + "totalIngressBytesTransferred": 2000, + "totalEgressBytesTransferred": 3000 + }, + "isRoutingPreferenceInternet": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json new file mode 100644 index 000000000000..61732d433589 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "p2s-vpn-gateway-test", + "p2sVpnGatewayName": "p2svpngateway", + "api-version": "2021-05-01", + "request": { + "vpnConnectionIds": [ + "vpnconnId1", + "vpnconnId2" + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PeerExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PeerExpressRouteCircuitConnectionGet.json new file mode 100644 index 000000000000..6c31cc38db2c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PeerExpressRouteCircuitConnectionGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "connectionName": "60aee347-e889-4a42-8c1b-0aae8b1e4013", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid1", + "circuitName": "ExpressRouteARMCircuitA", + "peeringName": "AzurePrivatePeering" + }, + "responses": { + "200": { + "body": { + "name": "60aee347-e889-4a42-8c1b-0aae8b1e4013", + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/peerConnections/60aee347-e889-4a42-8c1b-0aae8b1e4013", + "etag": "W/\"6ffbbb06-da20-44ca-a34f-280c4653b1e9\"", + "properties": { + "provisioningState": "Succeeded", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering" + }, + "peerExpressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitB/peerings/AzurePrivatePeering" + }, + "addressPrefix": "20.0.0.0/29", + "circuitConnectionStatus": "Connected", + "connectionName": "circuitConnectionWestusEastus", + "authResourceGuid": "" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PeerExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PeerExpressRouteCircuitConnectionList.json new file mode 100644 index 000000000000..dc4e4e52dd0b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PeerExpressRouteCircuitConnectionList.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid1", + "circuitName": "ExpressRouteARMCircuitA", + "peeringName": "AzurePrivatePeering" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "60aee347-e889-4a42-8c1b-0aae8b1e4013", + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/peerConnections/60aee347-e889-4a42-8c1b-0aae8b1e4013", + "etag": "W/\"6ffbbb06-da20-44ca-a34f-280c4653b1e9\"", + "properties": { + "provisioningState": "Succeeded", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering" + }, + "peerExpressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitB/peerings/AzurePrivatePeering" + }, + "addressPrefix": "20.0.0.0/29", + "circuitConnectionStatus": "Connected", + "connectionName": "circuitConnectionWestusEastus", + "authResourceGuid": "" + } + }, + { + "name": "c8b17193-8dd3-4f61-866d-8cdd2e2e268e", + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/peerConnections/c8b17193-8dd3-4f61-866d-8cdd2e2e268e", + "etag": "W/\"6ffbbb06-da20-44ca-a34f-280c4653b1e9\"", + "properties": { + "provisioningState": "Succeeded", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering" + }, + "peerExpressRouteCircuitPeering": { + "id": "/subscriptions/subid2/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitC/peerings/AzurePrivatePeering" + }, + "addressPrefix": "30.0.0.0/29", + "circuitConnectionStatus": "Connected", + "connectionName": "circuitConnectionCentralusEastus", + "authResourceGuid": "64283012-d377-421d-8398-f6aeb2ac7ea0" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointCreate.json new file mode 100644 index 000000000000..959fad433908 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointCreate.json @@ -0,0 +1,165 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "extendedLocation": { + "type": "EdgeZone", + "name": "edgeZone0" + }, + "parameters": { + "location": "eastus2euap", + "properties": { + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection." + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "ipConfigurations": [ + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.6" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testPe", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "location": "eastus2euap", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "manualPrivateLinkServiceConnections": [], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.6" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + }, + "201": { + "body": { + "name": "testPe", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "location": "eastus2euap", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.6" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointCreateForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointCreateForManualApproval.json new file mode 100644 index 000000000000..2a521b851ce8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointCreateForManualApproval.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "parameters": { + "location": "eastus", + "properties": { + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please manually approve my connection." + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "ipConfigurations": [ + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.5" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testPe", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [], + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please manually approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Awaiting approval", + "actionsRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.5" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + }, + "201": { + "body": { + "name": "testPe", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.5" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointCreateWithASG.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointCreateWithASG.json new file mode 100644 index 000000000000..52c5828ad483 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointCreateWithASG.json @@ -0,0 +1,145 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "extendedLocation": { + "type": "EdgeZone", + "name": "edgeZone0" + }, + "parameters": { + "location": "eastus2euap", + "properties": { + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection." + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "applicationSecurityGroups": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/applicationSecurityGroup/asg1" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "testPe", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "location": "eastus2euap", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "manualPrivateLinkServiceConnections": [], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/applicationSecurityGroup/asg1" + } + ] + } + } + }, + "201": { + "body": { + "name": "testPe", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "location": "eastus2euap", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/applicationSecurityGroup/asg1" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointDelete.json new file mode 100644 index 000000000000..b83c3ca56546 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointDnsZoneGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointDnsZoneGroupCreate.json new file mode 100644 index 000000000000..97bc19d8fb45 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointDnsZoneGroupCreate.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "privateDnsZoneGroupName": "testPdnsgroup", + "parameters": { + "properties": { + "privateDnsZoneConfigs": [ + { + "properties": { + "privateDnsZoneId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateDnsZones/zone1.com" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "testPdnsgroup", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPe/privateDnsZoneGroups/testPdnsgroup", + "properties": { + "provisioningState": "Succeeded", + "privateDnsZoneConfigs": [ + { + "properties": { + "privateDnsZoneId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateDnsZones/zone1.com", + "recordSets": [ + { + "recordType": "A", + "recordSetName": "abc", + "fqdn": "abc.zone1.com", + "ipAddresses": [ + "10.0.0.4" + ] + }, + { + "recordType": "A", + "recordSetName": "abc2", + "fqdn": "abc2.zone1.com", + "ipAddresses": [ + "10.0.0.5" + ] + } + ] + } + } + ] + } + } + }, + "201": { + "body": { + "name": "testPdnsgroup", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPe/privateDnsZoneGroups/testPdnsgroup", + "properties": { + "provisioningState": "Succeeded", + "privateDnsZoneConfigs": [ + { + "properties": { + "privateDnsZoneId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateDnsZones/zone1.com", + "recordSets": [ + { + "recordType": "A", + "recordSetName": "abc", + "fqdn": "abc.zone1.com", + "ipAddresses": [ + "10.0.0.4" + ] + }, + { + "recordType": "A", + "recordSetName": "abc2", + "fqdn": "abc2.zone1.com", + "ipAddresses": [ + "10.0.0.5" + ] + } + ] + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointDnsZoneGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointDnsZoneGroupDelete.json new file mode 100644 index 000000000000..97cd18504215 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointDnsZoneGroupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "privateDnsZoneGroupName": "testPdnsgroup" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointDnsZoneGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointDnsZoneGroupGet.json new file mode 100644 index 000000000000..a3f9c709e410 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointDnsZoneGroupGet.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "privateDnsZoneGroupName": "testPdnsgroup" + }, + "responses": { + "200": { + "body": { + "name": "testPdnsgroup", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPe/privateDnsZoneGroups/testPdnsgroup", + "properties": { + "provisioningState": "Succeeded", + "privateDnsZoneConfigs": [ + { + "properties": { + "privateDnsZoneId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateDnsZones/zone1.com", + "recordSets": [ + { + "recordType": "A", + "recordSetName": "abc", + "fqdn": "abc.zone1.com", + "ipAddresses": [ + "10.0.0.4" + ] + }, + { + "recordType": "A", + "recordSetName": "abc2", + "fqdn": "abc2.zone1.com", + "ipAddresses": [ + "10.0.0.5" + ] + } + ] + } + }, + { + "properties": { + "privateDnsZoneId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateDnsZones/zone2.com", + "recordSets": [ + { + "recordType": "A", + "recordSetName": "abc", + "fqdn": "abc.zone2.com", + "ipAddresses": [ + "10.0.0.6" + ] + }, + { + "recordType": "A", + "recordSetName": "abc2", + "fqdn": "abc2.zone2.com", + "ipAddresses": [ + "10.0.0.7" + ] + } + ] + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointDnsZoneGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointDnsZoneGroupList.json new file mode 100644 index 000000000000..b08c84bf00ac --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointDnsZoneGroupList.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testPdnsgroup1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPe/privateDnsZoneGroups/testPdnsgroup1", + "properties": { + "provisioningState": "Succeeded", + "privateDnsZoneConfigs": [ + { + "properties": { + "privateDnsZoneId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateDnsZones/zone1.com", + "recordSets": [ + { + "recordType": "A", + "recordSetName": "abc", + "fqdn": "abc.zone1.com", + "ipAddresses": [ + "10.0.0.4" + ] + }, + { + "recordType": "A", + "recordSetName": "abc2", + "fqdn": "abc2.zone1.com", + "ipAddresses": [ + "10.0.0.5" + ] + } + ] + } + } + ] + } + }, + { + "name": "testPdnsgroup2", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPe/privateDnsZoneGroups/testPdnsgroup2", + "properties": { + "provisioningState": "Succeeded", + "privateDnsZoneConfigs": [ + { + "properties": { + "privateDnsZoneId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateDnsZones/zone2.com", + "recordSets": [ + { + "recordType": "A", + "recordSetName": "abc3", + "fqdn": "abc3.zone2.com", + "ipAddresses": [ + "10.0.0.6" + ] + }, + { + "recordType": "A", + "recordSetName": "abc4", + "fqdn": "abc4.zone2.com", + "ipAddresses": [ + "10.0.0.7" + ] + } + ] + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointGet.json new file mode 100644 index 000000000000..90c68ddd25b4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointGet.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe" + }, + "responses": { + "200": { + "body": { + "name": "testPe", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "manualPrivateLinkServiceConnections": [], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.6" + } + }, + { + "name": "pestaticconfig2", + "properties": { + "groupId": "file", + "memberName": "file2", + "privateIPAddress": "192.168.0.7" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointGetForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointGetForManualApproval.json new file mode 100644 index 000000000000..eed9291a8583 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointGetForManualApproval.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe" + }, + "responses": { + "200": { + "body": { + "name": "testPe", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [], + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please manually approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Awaiting approval", + "actionsRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.5" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointGetWithASG.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointGetWithASG.json new file mode 100644 index 000000000000..12542717d331 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointGetWithASG.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe" + }, + "responses": { + "200": { + "body": { + "name": "testPe", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "manualPrivateLinkServiceConnections": [], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/applicationSecurityGroup/asg1" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointList.json new file mode 100644 index 000000000000..f5723296e8fa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointList.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe1", + "name": "pe1", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection for pe1.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "manualPrivateLinkServiceConnections": [], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe1.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.10" + } + }, + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file2", + "privateIPAddress": "192.168.0.11" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + }, + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe2", + "name": "pe2", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [], + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please manually approve my connection for pe2.", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Awaiting approval", + "actionsRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet2" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe2.nic.zyxw9876" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc3.cosmos1.com", + "ipAddresses": [ + "192.168.0.6" + ] + }, + { + "fqdn": "abc4.cosmos1.com", + "ipAddresses": [ + "192.168.0.7" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig3", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.8" + } + }, + { + "name": "pestaticconfig4", + "properties": { + "groupId": "file", + "memberName": "file2", + "privateIPAddress": "192.168.0.9" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointListAll.json new file mode 100644 index 000000000000..af3506275348 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateEndpointListAll.json @@ -0,0 +1,216 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe1", + "name": "pe1", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection for pe1.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe1.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig1", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.9" + } + }, + { + "name": "pestaticconfig2", + "properties": { + "groupId": "file", + "memberName": "file2", + "privateIPAddress": "192.168.0.10" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + }, + { + "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2", + "name": "pe2", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [], + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please manually approve my connection for pe2.", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Awaiting approval", + "actionsRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet2" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg2/provders/Microsoft.Network/networkInterfaces/pe2.nic.zyxw9876" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc3.cosmos1.com", + "ipAddresses": [ + "192.168.0.5" + ] + }, + { + "fqdn": "abc4.cosmos1.com", + "ipAddresses": [ + "192.168.0.6" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig3", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.11" + } + }, + { + "name": "pestaticconfig4", + "properties": { + "groupId": "file", + "memberName": "file2", + "privateIPAddress": "192.168.0.12" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + }, + { + "id": "/subscriptions/subId/resourceGroups/rg3/providers/Microsoft.Network/privateEndpoints/pe3", + "name": "pe3", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg3/providers/Microsoft.Network/privateLinkServices/testPls3", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection for pe3.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg3/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet3" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg3/provders/Microsoft.Network/networkInterfaces/pe3.nic.efgh5463" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc5.cosmos2.com", + "ipAddresses": [ + "192.168.0.7" + ] + }, + { + "fqdn": "abc6.cosmos2.com", + "ipAddresses": [ + "192.168.0.8" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig5", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.13" + } + }, + { + "name": "pestaticconfig6", + "properties": { + "groupId": "file", + "memberName": "file2", + "privateIPAddress": "192.168.0.14" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceCreate.json new file mode 100644 index 000000000000..b4de3c313f6d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceCreate.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls", + "extendedLocation": { + "type": "EdgeZone", + "name": "edgeZone0" + }, + "parameters": { + "location": "eastus", + "properties": { + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2", + "subscription3" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2", + "fqdn3" + ], + "loadBalancerFrontendIpConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb", + "properties": { + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "testPls", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2", + "subscription3" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2", + "fqdn3" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIpConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb", + "properties": { + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls.nic.abcd1234" + } + ] + } + } + }, + "201": { + "body": { + "name": "testPls", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2", + "subscription3" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2", + "fqdn3" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIpConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb", + "properties": { + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls.nic.abcd1234" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceDelete.json new file mode 100644 index 000000000000..a51fc69c504c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..a234bba32fd9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls", + "peConnectionName": "testPlePeConnection" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceGet.json new file mode 100644 index 000000000000..af783d94889d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceGet.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls" + }, + "responses": { + "200": { + "body": { + "name": "testPls", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "type": "Microsoft.Network/privateLinkServices", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2", + "subscription3" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2", + "fqdn3" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIpConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb", + "properties": { + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "privateEndpointConnections": [ + { + "name": "privateEndpointConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls.nic.abcd1234" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..df07d2b46893 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls", + "peConnectionName": "testPlePeConnection" + }, + "responses": { + "200": { + "body": { + "name": "testPlePeConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceList.json new file mode 100644 index 000000000000..76e258d666fa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceList.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testPls1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1", + "type": "Microsoft.Network/privateLinkServices", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIpConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb1" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb1", + "properties": { + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb1" + } + } + } + ], + "privateEndpointConnections": [ + { + "name": "pec1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls1.nic.abcd1234" + } + ] + } + }, + { + "name": "testPls2", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2", + "type": "Microsoft.Network/privateLinkServices", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2", + "subscription3" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2", + "fqdn3" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIpConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb2" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb2", + "properties": { + "privateIPAddress": "10.0.1.5", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb2" + } + } + } + ], + "privateEndpointConnections": [ + { + "name": "pec2", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls2.nic.efgh5678" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceListAll.json new file mode 100644 index 000000000000..816f67e67dcf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceListAll.json @@ -0,0 +1,142 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testPls1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1", + "type": "Microsoft.Network/privateLinkServices", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2", + "subscription3" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2", + "fqdn3" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIpConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb1" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb1", + "properties": { + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb1" + } + } + } + ], + "privateEndpointConnections": [ + { + "name": "pec1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls1.nic.abcd1234" + } + ] + } + }, + { + "name": "testPls2", + "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/testPls2", + "type": "Microsoft.Network/privateLinkServices", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIpConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb2" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb2", + "properties": { + "privateIPAddress": "10.0.1.5", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb2" + } + } + } + ], + "privateEndpointConnections": [ + { + "name": "pec1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/testPe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg2/provders/Microsoft.Network/networkInterfaces/testPls2.nic.efgh5678" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json new file mode 100644 index 000000000000..1b43ce8b1707 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testPlePeConnection1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + }, + { + "name": "testPlePeConnection2", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe2" + }, + "privateLinkServiceConnectionState": { + "status": "Rejected", + "description": "rejected by some reason." + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..ccdf2eb6bf38 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls", + "peConnectionName": "testPlePeConnection", + "parameters": { + "name": "testPlePeConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "testPlePeConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressCreateCustomizedValues.json new file mode 100644 index 000000000000..fd5e15994173 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressCreateCustomizedValues.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpAddressName": "test-ip", + "zones": [ + "1" + ], + "parameters": { + "properties": { + "publicIPAllocationMethod": "Static", + "idleTimeoutInMinutes": 10, + "publicIPAddressVersion": "IPv4" + }, + "sku": { + "name": "Standard", + "tier": "Global" + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip", + "location": "eastus", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Static", + "idleTimeoutInMinutes": 10, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + } + }, + "sku": { + "name": "Standard", + "tier": "Global" + }, + "type": "Microsoft.Network/publicIPAddresses" + } + }, + "201": { + "body": { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip", + "location": "eastus", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Static", + "idleTimeoutInMinutes": 10, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + } + }, + "sku": { + "name": "Standard", + "tier": "Global" + }, + "type": "Microsoft.Network/publicIPAddresses" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressCreateDefaults.json new file mode 100644 index 000000000000..c65f0545b732 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressCreateDefaults.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpAddressName": "test-ip", + "parameters": { + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + } + }, + "sku": { + "name": "Basic" + }, + "type": "Microsoft.Network/publicIPAddresses" + } + }, + "201": { + "body": { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + } + }, + "sku": { + "name": "Basic" + }, + "type": "Microsoft.Network/publicIPAddresses" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressCreateDns.json new file mode 100644 index 000000000000..4a3477040237 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressCreateDns.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpAddressName": "test-ip", + "parameters": { + "properties": { + "dnsSettings": { + "domainNameLabel": "dnslbl" + } + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "dnsSettings": { + "domainNameLabel": "dnslbl", + "fqdn": "dnslbl.westus.cloudapp.azure.com" + }, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + } + }, + "type": "Microsoft.Network/publicIPAddresses" + } + }, + "201": { + "body": { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "dnsSettings": { + "domainNameLabel": "dnslbl", + "fqdn": "dnslbl.westus.cloudapp.azure.com" + }, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + } + }, + "type": "Microsoft.Network/publicIPAddresses" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressDelete.json new file mode 100644 index 000000000000..4ee5ee1d71d4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpAddressName": "test-ip" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressGet.json new file mode 100644 index 000000000000..7e12b1042c17 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpAddressName": "testDNS-ip" + }, + "responses": { + "200": { + "body": { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testDNS-ip", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + }, + "ipTags": [ + { + "ipTagType": "FirstPartyUsage", + "tag": "SQL" + }, + { + "ipTagType": "FirstPartyUsage", + "tag": "Storage" + } + ] + }, + "type": "Microsoft.Network/publicIPAddresses" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressList.json new file mode 100644 index 000000000000..96597991ecc3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testDNS-ip", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + }, + "ipTags": [ + { + "ipTagType": "FirstPartyUsage", + "tag": "SQL" + }, + { + "ipTagType": "FirstPartyUsage", + "tag": "Storage" + } + ] + }, + "type": "Microsoft.Network/publicIPAddresses" + }, + { + "name": "ip03", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/ip03", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "40.85.154.247", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "dnsSettings": { + "domainNameLabel": "testlbl", + "fqdn": "testlbl.westus.cloudapp.azure.com" + }, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/testLb/frontendIPConfigurations/LoadBalancerFrontEnd" + } + }, + "type": "Microsoft.Network/publicIPAddresses" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressListAll.json new file mode 100644 index 000000000000..df128f4687c7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressListAll.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testDNS-ip", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + } + }, + "type": "Microsoft.Network/publicIPAddresses" + }, + { + "name": "ip01", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPAddresses/ip01", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "40.85.154.247", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "dnsSettings": { + "domainNameLabel": "testlbl", + "fqdn": "testlbl.westus.cloudapp.azure.com" + }, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/testLb/frontendIPConfigurations/LoadBalancerFrontEnd" + } + }, + "type": "Microsoft.Network/publicIPAddresses" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressUpdateTags.json new file mode 100644 index 000000000000..f8973e04e467 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpAddressUpdateTags.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpAddressName": "test-ip", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Static", + "idleTimeoutInMinutes": 10, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + } + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.Network/publicIPAddresses" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixCreateCustomizedValues.json new file mode 100644 index 000000000000..ccb509a2c14f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixCreateCustomizedValues.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpPrefixName": "test-ipprefix", + "zones": [ + "1" + ], + "parameters": { + "location": "westus", + "properties": { + "publicIPAddressVersion": "IPv4", + "prefixLength": 30 + }, + "sku": { + "name": "Standard", + "tier": "Regional" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-ipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] + }, + "sku": { + "name": "Standard", + "tier": "Regional" + }, + "type": "Microsoft.Network/publicIPPrefixes" + } + }, + "201": { + "body": { + "name": "test-ipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] + }, + "sku": { + "name": "Standard", + "tier": "Regional" + }, + "type": "Microsoft.Network/publicIPPrefixes" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixCreateDefaults.json new file mode 100644 index 000000000000..84cbe7c3d476 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixCreateDefaults.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpPrefixName": "test-ipprefix", + "parameters": { + "location": "westus", + "properties": { + "prefixLength": 30 + }, + "sku": { + "name": "Standard" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-ipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] + }, + "sku": { + "name": "Standard" + }, + "type": "Microsoft.Network/publicIPPrefixes" + } + }, + "201": { + "body": { + "name": "test-ipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] + }, + "sku": { + "name": "Standard" + }, + "type": "Microsoft.Network/publicIPPrefixes" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixDelete.json new file mode 100644 index 000000000000..e76c046a7db9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpPrefixName": "test-ipprefix" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixGet.json new file mode 100644 index 000000000000..bcc0e428052f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpPrefixName": "test-ipprefix" + }, + "responses": { + "200": { + "body": { + "name": "test-ipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [], + "publicIPAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ] + }, + "sku": { + "name": "Standard" + }, + "type": "Microsoft.Network/publicIPPrefixes" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixList.json new file mode 100644 index 000000000000..508712d26c15 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-ipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipPrefix": "40.85.154.2/30", + "ipTags": [ + { + "ipTagType": "FirstPartyUsage", + "tag": "SQL" + } + ] + }, + "sku": { + "name": "Standard" + }, + "type": "Microsoft.Network/publicIPPrefixes" + }, + { + "name": "ipprefix03", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/ipprefix03", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "publicIPAddressVersion": "IPv4", + "prefixLength": 31, + "ipPrefix": "40.85.153.2/31", + "ipTags": [] + }, + "sku": { + "name": "Standard" + }, + "type": "Microsoft.Network/publicIPPrefixes" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixListAll.json new file mode 100644 index 000000000000..0d98be8e6eca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixListAll.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-ipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipPrefix": "41.85.154.247/30", + "ipTags": [], + "publicIPAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ] + }, + "sku": { + "name": "Standard" + }, + "type": "Microsoft.Network/publicIPPrefixes" + }, + { + "name": "ipprefix01", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/ipprefix01", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "ipPrefix": "40.85.154.247/30", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipTags": [] + }, + "sku": { + "name": "Standard" + }, + "type": "Microsoft.Network/publicIPPrefixes" + }, + { + "name": "pfx", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/publicIPPrefixes/pfx", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/publicIPPrefixes", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "ipPrefix": "25.101.84.16/30", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipTags": [], + "loadBalancerFrontendIpConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/loadBalancers/lb-pfx/frontendIPConfigurations/ipconfig1" + } + }, + "sku": { + "name": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixUpdateTags.json new file mode 100644 index 000000000000..cf4c89e281bd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/PublicIpPrefixUpdateTags.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpPrefixName": "test-ipprefix", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-ipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "publicIPAddressVersion": "IPv4", + "ipPrefix": "40.85.154.247/30", + "prefixLength": 30, + "ipTags": [] + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "sku": { + "name": "Standard" + }, + "type": "Microsoft.Network/publicIPPrefixes" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/QueryInboundNatRulePortMapping.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/QueryInboundNatRulePortMapping.json new file mode 100644 index 000000000000..e77a3cd78643 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/QueryInboundNatRulePortMapping.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "groupName": "rg1", + "loadBalancerName": "lb1", + "backendPoolName": "bp1", + "parameters": { + "ipAddress": "10.0.0.4" + } + }, + "responses": { + "200": { + "body": { + "inboundNatRulePortMappings": [ + { + "inboundNatRuleName": "natRule", + "protocol": "Tcp", + "frontendPort": 3389, + "backendPort": 3389 + } + ] + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bp1/queryInboundNatRulePortMapping?api-version=2021-05-01" + }, + "body": { + "inboundNatRulePortMappings": [ + { + "inboundNatRuleName": "natRule", + "protocol": "Tcp", + "frontendPort": 3389, + "backendPort": 3389 + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterCreate.json new file mode 100644 index 000000000000..31765499d0dc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterCreate.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "routeFilterParameters": { + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "rules": [ + { + "name": "ruleName", + "properties": { + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "filterName", + "type": "Microsoft.Network/routeFilters", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + ], + "peerings": [] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "filterName", + "type": "Microsoft.Network/routeFilters", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + ], + "peerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterDelete.json new file mode 100644 index 000000000000..a3762c6faaba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterGet.json new file mode 100644 index 000000000000..8b23c3a74e61 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "filterName", + "type": "Microsoft.Network/routeFilters", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + ], + "peerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterList.json new file mode 100644 index 000000000000..170ac6cd4c82 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "filterName", + "type": "Microsoft.Network/routeFilters", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + ], + "peerings": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterListByResourceGroup.json new file mode 100644 index 000000000000..fc87d9afafd2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterListByResourceGroup.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "filterName", + "type": "Microsoft.Network/routeFilters", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + ], + "peerings": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterRuleCreate.json new file mode 100644 index 000000000000..a9c0b6a0a793 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterRuleCreate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "ruleName": "ruleName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "routeFilterRuleParameters": { + "properties": { + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterRuleDelete.json new file mode 100644 index 000000000000..3446055b2acf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "ruleName": "ruleName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterRuleGet.json new file mode 100644 index 000000000000..e6483916870e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterRuleGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "ruleName": "filterName", + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterRuleListByRouteFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterRuleListByRouteFilter.json new file mode 100644 index 000000000000..539c9613f258 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterRuleListByRouteFilter.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "routeFilterName": "filterName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterUpdateTags.json new file mode 100644 index 000000000000..eeb15e9be59b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteFilterUpdateTags.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "parameters": { + "tags": { + "key1": "value1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "filterName", + "type": "Microsoft.Network/routeFilters", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030" + ] + } + } + ], + "peerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableCreate.json new file mode 100644 index 000000000000..d74278c8467a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableCreate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt", + "parameters": { + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "name": "testrt", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "routes": [], + "disableBgpRoutePropagation": true + } + } + }, + "201": { + "body": { + "name": "testrt", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "disableBgpRoutePropagation": true, + "routes": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableCreateWithRoute.json new file mode 100644 index 000000000000..016595568f1b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableCreateWithRoute.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt", + "parameters": { + "properties": { + "disableBgpRoutePropagation": true, + "routes": [ + { + "name": "route1", + "properties": { + "addressPrefix": "10.0.3.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + ] + }, + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "name": "testrt", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "disableBgpRoutePropagation": true, + "routes": [ + { + "name": "route1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.3.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "testrt", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "name": "route1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.3.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableDelete.json new file mode 100644 index 000000000000..9ea079bdd357 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableGet.json new file mode 100644 index 000000000000..9bac11fd8513 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt" + }, + "responses": { + "200": { + "body": { + "name": "testrt", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "disableBgpRoutePropagation": false, + "routes": [ + { + "name": "route1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.3.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableList.json new file mode 100644 index 000000000000..b14696800fa0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableList.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testrt", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "disableBgpRoutePropagation": true, + "routes": [ + { + "name": "route1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.3.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + ] + } + }, + { + "name": "testrt2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt2", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "properties": { + "disableBgpRoutePropagation": true, + "provisioningState": "Succeeded", + "routes": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableListAll.json new file mode 100644 index 000000000000..fbe70ecc61d5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableListAll.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testrt", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "name": "route1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.3.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + ] + } + }, + { + "name": "testrt3", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/routeTables/testrt3", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "routes": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableRouteCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableRouteCreate.json new file mode 100644 index 000000000000..f21e9ac5a416 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableRouteCreate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt", + "routeName": "route1", + "routeParameters": { + "properties": { + "addressPrefix": "10.0.3.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + }, + "responses": { + "200": { + "body": { + "name": "route1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.3.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + }, + "201": { + "body": { + "name": "route1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.3.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableRouteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableRouteDelete.json new file mode 100644 index 000000000000..ba2d8174f38d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableRouteDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt", + "routeName": "route1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableRouteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableRouteGet.json new file mode 100644 index 000000000000..db66ca4611da --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableRouteGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt", + "routeName": "route1" + }, + "responses": { + "200": { + "body": { + "name": "route1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.3.0/24", + "nextHopType": "Internet" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableRouteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableRouteList.json new file mode 100644 index 000000000000..2b20e3c0e864 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableRouteList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "route1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.3.0/24", + "nextHopType": "Internet" + } + }, + { + "name": "route2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route2", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.2.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableUpdateTags.json new file mode 100644 index 000000000000..0cfdf6d01bee --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RouteTableUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testrt", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "routes": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RoutingIntentDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RoutingIntentDelete.json new file mode 100644 index 000000000000..424745299053 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RoutingIntentDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routingIntentName": "Intent1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RoutingIntentGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RoutingIntentGet.json new file mode 100644 index 000000000000..2b7731f3b89d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RoutingIntentGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "routingIntentName": "Intent1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": { + "body": { + "name": "Intent1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routingIntent/Intent1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "routingPolicies": [ + { + "name": "InternetTraffic", + "destinations": [ + "Internet" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + }, + { + "name": "PrivateTrafficPolicy", + "destinations": [ + "PrivateTraffic" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + } + ] + }, + "type": "Microsoft.Network/virtualHubs/routingIntent" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RoutingIntentList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RoutingIntentList.json new file mode 100644 index 000000000000..88375d38480d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RoutingIntentList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Intent1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routingIntent/Intent1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "routingPolicies": [ + { + "name": "InternetTraffic", + "destinations": [ + "Internet" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + }, + { + "name": "PrivateTrafficPolicy", + "destinations": [ + "PrivateTraffic" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + } + ] + }, + "type": "Microsoft.Network/virtualHubs/routingIntent" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RoutingIntentPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RoutingIntentPut.json new file mode 100644 index 000000000000..153aacdf9622 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/RoutingIntentPut.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "routingIntentName": "Intent1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1", + "routingIntentParameters": { + "properties": { + "routingPolicies": [ + { + "name": "InternetTraffic", + "destinations": [ + "Internet" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + }, + { + "name": "PrivateTrafficPolicy", + "destinations": [ + "PrivateTraffic" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "Intent1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routingIntent/Intent1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "routingPolicies": [ + { + "name": "InternetTraffic", + "destinations": [ + "Internet" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + }, + { + "name": "PrivateTrafficPolicy", + "destinations": [ + "PrivateTraffic" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + } + ] + }, + "type": "Microsoft.Network/virtualHubs/routingIntent" + } + }, + "201": { + "body": { + "name": "Intent1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routingIntent/Intent1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "routingPolicies": [ + { + "name": "InternetTraffic", + "destinations": [ + "Internet" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + }, + { + "name": "PrivateTrafficPolicy", + "destinations": [ + "PrivateTraffic" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + } + ] + }, + "type": "Microsoft.Network/virtualHubs/routingIntent" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SecurityPartnerProviderDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SecurityPartnerProviderDelete.json new file mode 100644 index 000000000000..473196d4c6bd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SecurityPartnerProviderDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "securityPartnerProviderName": "securityPartnerProvider" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SecurityPartnerProviderGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SecurityPartnerProviderGet.json new file mode 100644 index 000000000000..62e70fddfc48 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SecurityPartnerProviderGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "securityPartnerProviderName": "securityPartnerProvider" + }, + "responses": { + "200": { + "body": { + "name": "securityPartnerProvider", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/securityPartnerProviders/securityPartnerProvider", + "type": "Microsoft.Network/securityPartnerProviders", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "securityProviderName": "ZScaler", + "connectionStatus": "Unknown", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SecurityPartnerProviderListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SecurityPartnerProviderListByResourceGroup.json new file mode 100644 index 000000000000..b3a0a8350a41 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SecurityPartnerProviderListByResourceGroup.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "securityPartnerProvider", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/securityPartnerProviders/securityPartnerProvider", + "type": "Microsoft.Network/securityPartnerProviders", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "securityProviderName": "ZScaler", + "connectionStatus": "Unknown", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SecurityPartnerProviderListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SecurityPartnerProviderListBySubscription.json new file mode 100644 index 000000000000..b02701ef8b42 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SecurityPartnerProviderListBySubscription.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "securityPartnerProvider", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/securityPartnerProviders/securityPartnerProvider", + "type": "Microsoft.Network/securityPartnerProviders", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "securityProviderName": "ZScaler", + "connectionStatus": "Unknown", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SecurityPartnerProviderPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SecurityPartnerProviderPut.json new file mode 100644 index 000000000000..8f1269a12a5c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SecurityPartnerProviderPut.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "securityPartnerProviderName": "securityPartnerProvider", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "properties": { + "securityProviderName": "ZScaler", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "securityPartnerProvider", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/securityPartnerProviders/securityPartnerProvider", + "type": "Microsoft.Network/securityPartnerProviders", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "securityProviderName": "ZScaler", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + } + } + } + }, + "201": { + "body": { + "name": "securityPartnerProvider", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/securityPartnerProviders/securityPartnerProvider", + "type": "Microsoft.Network/securityPartnerProviders", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "securityProviderName": "ZScaler", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SecurityPartnerProviderUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SecurityPartnerProviderUpdateTags.json new file mode 100644 index 000000000000..de6458305da8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SecurityPartnerProviderUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "securityPartnerProviderName": "securityPartnerProvider", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "fw1", + "id": "/subscriptions/subid/resourceGroups/azfwtest/providers/Microsoft.Network/securityPartnerProviders/securityPartnerProvider", + "type": "Microsoft.Network/securityPartnerProviders", + "location": "brazilsouth", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "securityProviderName": "ZScaler" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceCommunityList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceCommunityList.json new file mode 100644 index 000000000000..4470d9db9e2d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceCommunityList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.Network/bgpServiceCommunities/skype", + "name": "skype", + "type": "Microsoft.Network/bgpServiceCommunities", + "properties": { + "serviceName": "skype", + "bgpCommunities": [ + { + "serviceSupportedRegion": "Global", + "communityName": "Skype For Business Online", + "communityValue": "12076:5030", + "communityPrefixes": [ + "13.67.56.225/32", + "13.67.186.105/32" + ], + "isAuthorizedToUse": true, + "serviceGroup": "O365" + } + ] + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.Network/bgpServiceCommunities/exchange", + "name": "exchange", + "type": "Microsoft.Network/bgpServiceCommunities", + "properties": { + "serviceName": "exchange", + "bgpCommunities": [ + { + "serviceSupportedRegion": "Global", + "communityName": "Exchange Online", + "communityValue": "12076:5040", + "communityPrefixes": [ + "13.67.56.225/32", + "13.67.186.105/32" + ], + "isAuthorizedToUse": true, + "serviceGroup": "O365" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyCreate.json new file mode 100644 index 000000000000..cb00fefcc485 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyCreate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testPolicy", + "parameters": { + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ServiceEndpointPolicies/testpolicy", + "type": "Microsoft.Network/ServiceEndpointPolicies", + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [], + "subnets": [], + "provisioningState": "Succeeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F" + } + } + }, + "201": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testpolicy", + "type": "Microsoft.Network/ServiceEndpointPolicies", + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [], + "subnets": [], + "provisioningState": "Succeeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyCreateWithDefinition.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyCreateWithDefinition.json new file mode 100644 index 000000000000..ca87d2c72a99 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyCreateWithDefinition.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testPolicy", + "parameters": { + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ServiceEndpointPolicies/testpolicy", + "type": "Microsoft.Network/ServiceEndpointPolicies", + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ], + "subnets": [], + "provisioningState": "Succeeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F" + } + } + }, + "201": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ServiceEndpointPolicies/testpolicy", + "type": "Microsoft.Network/ServiceEndpointPolicies", + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ], + "subnets": [], + "provisioningState": "Succeeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyDefinitionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyDefinitionCreate.json new file mode 100644 index 000000000000..d6812d36a083 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyDefinitionCreate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testPolicy", + "serviceEndpointPolicyDefinitionName": "testDefinition", + "ServiceEndpointPolicyDefinitions": { + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "testDefinition", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy/serviceEndpointPolicyDefinitions/testDefinition", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + }, + "201": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyDefinitionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyDefinitionDelete.json new file mode 100644 index 000000000000..138780ed0486 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyDefinitionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testPolicy", + "serviceEndpointPolicyDefinitionName": "testDefinition" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyDefinitionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyDefinitionGet.json new file mode 100644 index 000000000000..840956598014 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyDefinitionGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testPolicy", + "serviceEndpointPolicyDefinitionName": "testDefinition" + }, + "responses": { + "200": { + "body": { + "name": "testDefinition", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy/serviceEndpointPolicyDefinitions/testDefinition", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyDefinitionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyDefinitionList.json new file mode 100644 index 000000000000..d6872dd75ef3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyDefinitionList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testPolicy" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testDef", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy/serviceEndpointPolicyDefinitions/testDef", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyDelete.json new file mode 100644 index 000000000000..95d26ee50a44 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "serviceEndpointPolicy1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyGet.json new file mode 100644 index 000000000000..8d48c254e3cf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testServiceEndpointPolicy" + }, + "responses": { + "200": { + "body": { + "name": "testServiceEndpointPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy", + "type": "Microsoft.Network/serviceEndpointPolicies", + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ], + "subnets": [], + "provisioningState": "Succeeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyList.json new file mode 100644 index 000000000000..ccfd7e3d2011 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyList.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testServiceEndpointPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy", + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ], + "subnets": [], + "provisioningState": "Succeeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F" + } + }, + { + "name": "testServiceEndpointPolicy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy1", + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition1", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ], + "subnets": [], + "provisioningState": "Succeeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyListAll.json new file mode 100644 index 000000000000..137788290d4d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyListAll.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy", + "type": "Microsoft.Network/serviceEndpointPolicies", + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition1", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ], + "subnets": [], + "provisioningState": "Succeeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F" + } + }, + { + "name": "testPolicy1", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy2", + "type": "Microsoft.Network/serviceEndpointPolicies", + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition2", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ], + "subnets": [], + "provisioningState": "Succeeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyUpdateTags.json new file mode 100644 index 000000000000..4f8daad699a9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceEndpointPolicyUpdateTags.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testServiceEndpointPolicy", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testServiceEndpointPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy", + "type": "Microsoft.Network/serviceEndpointPolicies", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ], + "subnets": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceTagInformationListResult.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceTagInformationListResult.json new file mode 100644 index 000000000000..5aec9557b202 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceTagInformationListResult.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "location": "westeurope", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ApiManagement", + "id": "ApiManagement", + "properties": { + "changeNumber": "7", + "region": "", + "systemService": "AzureApiManagement", + "addressPrefixes": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ] + } + }, + { + "name": "ApiManagement.AustraliaCentral", + "id": "ApiManagement.AustraliaCentral", + "properties": { + "changeNumber": "2", + "region": "australiacentral", + "systemService": "AzureApiManagement", + "addressPrefixes": [ + "20.36.106.68/31", + "20.36.107.176/28" + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceTagInformationListResultWithNoAddressPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceTagInformationListResultWithNoAddressPrefixes.json new file mode 100644 index 000000000000..4813e104e3ad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceTagInformationListResultWithNoAddressPrefixes.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "location": "westeurope", + "subscriptionId": "subid", + "noAddressPrefixes": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ApiManagement", + "id": "ApiManagement", + "properties": { + "changeNumber": "7", + "region": "", + "systemService": "AzureApiManagement", + "addressPrefixes": [] + } + }, + { + "name": "ApiManagement.AustraliaCentral", + "id": "ApiManagement.AustraliaCentral", + "properties": { + "changeNumber": "2", + "region": "australiacentral", + "systemService": "AzureApiManagement", + "addressPrefixes": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceTagInformationListResultWithTagname.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceTagInformationListResultWithTagname.json new file mode 100644 index 000000000000..19f692721140 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceTagInformationListResultWithTagname.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "location": "westeurope", + "subscriptionId": "subid", + "tagName": "ApiManagement" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ApiManagement", + "id": "ApiManagement", + "properties": { + "changeNumber": "7", + "region": "", + "systemService": "AzureApiManagement", + "addressPrefixes": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceTagsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceTagsList.json new file mode 100644 index 000000000000..759de6bdad70 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/ServiceTagsList.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "location": "westcentralus", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "name": "public", + "id": "/subscriptions/subId/providers/Microsoft.Network/serviceTags/public", + "type": "Microsoft.Network/serviceTags", + "changeNumber": "63", + "cloud": "Public", + "values": [ + { + "name": "ApiManagement", + "id": "ApiManagement", + "properties": { + "changeNumber": "7", + "region": "", + "systemService": "AzureApiManagement", + "addressPrefixes": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ] + } + }, + { + "name": "ApiManagement.AustraliaCentral", + "id": "ApiManagement.AustraliaCentral", + "properties": { + "changeNumber": "2", + "region": "australiacentral", + "systemService": "AzureApiManagement", + "addressPrefixes": [ + "20.36.106.68/31", + "20.36.107.176/28" + ] + } + }, + { + "name": "AppService", + "id": "AppService", + "properties": { + "changeNumber": "13", + "region": "", + "systemService": "AzureAppService", + "addressPrefixes": [ + "13.64.73.110/32", + "191.235.208.12/32", + "191.235.215.184/32" + ] + } + }, + { + "name": "ServiceBus", + "id": "ServiceBus", + "properties": { + "changeNumber": "10", + "region": "", + "systemService": "AzureServiceBus", + "addressPrefixes": [ + "23.98.82.96/29", + "40.68.127.68/32", + "40.70.146.64/29" + ] + } + }, + { + "name": "ServiceBus.EastUS2", + "id": "ServiceBus.EastUS2", + "properties": { + "changeNumber": "1", + "region": "eastus2", + "systemService": "AzureServiceBus", + "addressPrefixes": [ + "13.68.110.36/32", + "40.70.146.64/29" + ] + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/centraluseuap/serviceTags?api-version=2020-06-01&changenumber=changenumber&$skipToken={skipToken}" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetCreate.json new file mode 100644 index 000000000000..cc39440fafe8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetCreate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "subnetParameters": { + "properties": { + "addressPrefix": "10.0.0.0/16" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetCreateServiceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetCreateServiceEndpoint.json new file mode 100644 index 000000000000..b7c71b5cabfc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetCreateServiceEndpoint.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "subnetParameters": { + "properties": { + "addressPrefix": "10.0.0.0/16", + "serviceEndpoints": [ + { + "service": "Microsoft.Storage" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "serviceEndpoints": [ + { + "service": "Microsoft.Storage", + "locations": [ + "eastus2(stage)", + "usnorth(stage)" + ], + "provisioningState": "Succeeded" + } + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "serviceEndpoints": [ + { + "service": "Microsoft.Storage", + "locations": [ + "eastus2(stage)", + "usnorth(stage)" + ], + "provisioningState": "Succeeded" + } + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetCreateWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetCreateWithDelegation.json new file mode 100644 index 000000000000..d4d8e82a7ede --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetCreateWithDelegation.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2021-05-01", + "subscriptionId": "subId", + "subnetParameters": { + "properties": { + "addressPrefix": "10.0.0.0/16" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "provisioningState": "Succeeded", + "delegations": [ + { + "name": "myDelegation", + "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1/delegations/myDelegation", + "properties": { + "provisioningState": "Succeeded", + "serviceName": "Microsoft.Provider/resourceType", + "actions": [] + } + } + ], + "purpose": "" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "provisioningState": "Succeeded", + "delegations": [ + { + "name": "myDelegation", + "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1/delegations/myDelegation", + "properties": { + "provisioningState": "Succeeded", + "serviceName": "Microsoft.Provider/resourceType", + "actions": [] + } + } + ], + "purpose": "" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetDelete.json new file mode 100644 index 000000000000..4f5fda1e7d76 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetGet.json new file mode 100644 index 000000000000..504f919c15db --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetGetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetGetWithDelegation.json new file mode 100644 index 000000000000..5c4b161f6043 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetGetWithDelegation.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2021-05-01", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "provisioningState": "Succeeded", + "delegations": [ + { + "name": "myDelegation", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/delegations/myDelegation", + "properties": { + "provisioningState": "Succeeded", + "serviceName": "Microsoft.Provider/resourceType", + "actions": [] + } + } + ], + "purpose": "" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetList.json new file mode 100644 index 000000000000..28a621b31d06 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet2", + "name": "subnet2", + "properties": { + "addressPrefix": "10.0.0.0/16", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetPrepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetPrepareNetworkPolicies.json new file mode 100644 index 000000000000..e45ffa691e26 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetPrepareNetworkPolicies.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "subnetName": "subnet1", + "prepareNetworkPoliciesRequestParameters": { + "serviceName": "Microsoft.Sql/managedInstances" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetUnprepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetUnprepareNetworkPolicies.json new file mode 100644 index 000000000000..b6cc02d7aa5f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/SubnetUnprepareNetworkPolicies.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "subnetName": "subnet1", + "unprepareNetworkPoliciesRequestParameters": { + "serviceName": "Microsoft.Sql/managedInstances" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/UsageList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/UsageList.json new file mode 100644 index 000000000000..60f28cd64b5a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/UsageList.json @@ -0,0 +1,265 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "currentValue": 8.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/VirtualNetworks", + "limit": 50.0, + "name": { + "localizedValue": "Virtual Networks", + "value": "VirtualNetworks" + }, + "unit": "Count" + }, + { + "currentValue": 3.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/StaticPublicIPAddresses", + "limit": 20.0, + "name": { + "localizedValue": "Static Public IP Addresses", + "value": "StaticPublicIPAddresses" + }, + "unit": "Count" + }, + { + "currentValue": 1.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/NetworkSecurityGroups", + "limit": 100.0, + "name": { + "localizedValue": "Network Security Groups", + "value": "NetworkSecurityGroups" + }, + "unit": "Count" + }, + { + "currentValue": 8.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/PublicIPAddresses", + "limit": 60.0, + "name": { + "localizedValue": "Public IP Addresses", + "value": "PublicIPAddresses" + }, + "unit": "Count" + }, + { + "currentValue": 2.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/NetworkInterfaces", + "limit": 350.0, + "name": { + "localizedValue": "Network Interfaces", + "value": "NetworkInterfaces" + }, + "unit": "Count" + }, + { + "currentValue": 2.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/LoadBalancers", + "limit": 100.0, + "name": { + "localizedValue": "Load Balancers", + "value": "LoadBalancers" + }, + "unit": "Count" + }, + { + "currentValue": 1.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/ApplicationGateways", + "limit": 50.0, + "name": { + "localizedValue": "Application Gateways", + "value": "ApplicationGateways" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteTables", + "limit": 100.0, + "name": { + "localizedValue": "Route Tables", + "value": "RouteTables" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteFilters", + "limit": 1000.0, + "name": { + "localizedValue": "Route Filters", + "value": "RouteFilters" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/NetworkWatchers", + "limit": 1.0, + "name": { + "localizedValue": "Network Watchers", + "value": "NetworkWatchers" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/PacketCaptures", + "limit": 10.0, + "name": { + "localizedValue": "Packet Captures", + "value": "PacketCaptures" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/DnsServersPerVirtualNetwork", + "limit": 9.0, + "name": { + "localizedValue": "DNS servers per Virtual Network", + "value": "DnsServersPerVirtualNetwork" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SubnetsPerVirtualNetwork", + "limit": 1000.0, + "name": { + "localizedValue": "Subnets per Virtual Network", + "value": "SubnetsPerVirtualNetwork" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/IPConfigurationsPerVirtualNetwork", + "limit": 4096.0, + "name": { + "localizedValue": "IP Configurations per Virtual Network", + "value": "IPConfigurationsPerVirtualNetwork" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/PeeringsPerVirtualNetwork", + "limit": 10.0, + "name": { + "localizedValue": "Peerings per Virtual Network", + "value": "PeeringsPerVirtualNetwork" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SecurityRulesPerNetworkSecurityGroup", + "limit": 200.0, + "name": { + "localizedValue": "Security rules per Network Security Group", + "value": "SecurityRulesPerNetworkSecurityGroup" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SecurityRuleAddressesOrPortsPerNetworkSecurityGroup", + "limit": 2000.0, + "name": { + "localizedValue": "Security rules addresses or ports per Network Security Group", + "value": "SecurityRuleAddressesOrPortsPerNetworkSecurityGroup" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/InboundRulesPerLoadBalancer", + "limit": 150.0, + "name": { + "localizedValue": "Inbound Rules per Load Balancer", + "value": "InboundRulesPerLoadBalancer" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/FrontendIPConfigurationPerLoadBalancer", + "limit": 10.0, + "name": { + "localizedValue": "Frontend IP Configurations per Load Balancer", + "value": "FrontendIPConfigurationPerLoadBalancer" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/outboundRulesPerLoadBalancer", + "limit": 5.0, + "name": { + "localizedValue": "Outbound Rules per Load Balancer", + "value": "outboundRulesPerLoadBalancer" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RoutesPerRouteTable", + "limit": 100.0, + "name": { + "localizedValue": "Routes per Route Table", + "value": "RoutesPerRouteTable" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SecondaryIPConfigurationsPerNetworkInterface", + "limit": 256.0, + "name": { + "localizedValue": "Secondary IP Configurations per Network Interface", + "value": "SecondaryIPConfigurationsPerNetworkInterface" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/InboundRulesPerNetworkInterface", + "limit": 500.0, + "name": { + "localizedValue": "Inbound rules per Network Interface", + "value": "InboundRulesPerNetworkInterface" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteFilterRulesPerRouteFilter", + "limit": 1.0, + "name": { + "localizedValue": "Route filter rules per Route Filter", + "value": "RouteFilterRulesPerRouteFilter" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteFiltersPerExpressRouteBgpPeering", + "limit": 1.0, + "name": { + "localizedValue": "Route filters per Express route BGP Peering", + "value": "RouteFiltersPerExpressRouteBgpPeering" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/UsageListSpacedLocation.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/UsageListSpacedLocation.json new file mode 100644 index 000000000000..71b9b64c6ea4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/UsageListSpacedLocation.json @@ -0,0 +1,335 @@ +{ + "parameters": { + "location": "West US", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "currentValue": 12.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/VirtualNetworks", + "limit": 50.0, + "name": { + "localizedValue": "Virtual Networks", + "value": "VirtualNetworks" + }, + "unit": "Count" + }, + { + "currentValue": 1.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/StaticPublicIPAddresses", + "limit": 20.0, + "name": { + "localizedValue": "Static Public IP Addresses", + "value": "StaticPublicIPAddresses" + }, + "unit": "Count" + }, + { + "currentValue": 3.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkSecurityGroups", + "limit": 100.0, + "name": { + "localizedValue": "Network Security Groups", + "value": "NetworkSecurityGroups" + }, + "unit": "Count" + }, + { + "currentValue": 12.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PublicIPAddresses", + "limit": 60.0, + "name": { + "localizedValue": "Public IP Addresses", + "value": "PublicIPAddresses" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PublicIpPrefixes", + "limit": 2147483647.0, + "name": { + "localizedValue": "Public Ip Prefixes", + "value": "PublicIpPrefixes" + }, + "unit": "Count" + }, + { + "currentValue": 2.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkInterfaces", + "limit": 24000.0, + "name": { + "localizedValue": "Network Interfaces", + "value": "NetworkInterfaces" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/LoadBalancers", + "limit": 100.0, + "name": { + "localizedValue": "Load Balancers", + "value": "LoadBalancers" + }, + "unit": "Count" + }, + { + "currentValue": 3.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/ApplicationGateways", + "limit": 50.0, + "name": { + "localizedValue": "Application Gateways", + "value": "ApplicationGateways" + }, + "unit": "Count" + }, + { + "currentValue": 5.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RouteTables", + "limit": 100.0, + "name": { + "localizedValue": "Route Tables", + "value": "RouteTables" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RouteFilters", + "limit": 1000.0, + "name": { + "localizedValue": "Route Filters", + "value": "RouteFilters" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkWatchers", + "limit": 1.0, + "name": { + "localizedValue": "Network Watchers", + "value": "NetworkWatchers" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PacketCaptures", + "limit": 100.0, + "name": { + "localizedValue": "Packet Captures", + "value": "PacketCaptures" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/ApplicationSecurityGroups", + "limit": 500.0, + "name": { + "localizedValue": "Application Security Groups.", + "value": "ApplicationSecurityGroups" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/DdosProtectionPlans", + "limit": 1.0, + "name": { + "localizedValue": "DDoS Protection Plans.", + "value": "DdosProtectionPlans" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/ServiceEndpointPolicies", + "limit": 200.0, + "name": { + "localizedValue": "Service Endpoint Policies", + "value": "ServiceEndpointPolicies" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkIntentPolicies", + "limit": 200.0, + "name": { + "localizedValue": "Network Intent Policies", + "value": "NetworkIntentPolicies" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/DnsServersPerVirtualNetwork", + "limit": 9.0, + "name": { + "localizedValue": "DNS servers per Virtual Network", + "value": "DnsServersPerVirtualNetwork" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SubnetsPerVirtualNetwork", + "limit": 1000.0, + "name": { + "localizedValue": "Subnets per Virtual Network", + "value": "SubnetsPerVirtualNetwork" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/IPConfigurationsPerVirtualNetwork", + "limit": 16384.0, + "name": { + "localizedValue": "IP Configurations per Virtual Network", + "value": "IPConfigurationsPerVirtualNetwork" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PeeringsPerVirtualNetwork", + "limit": 50.0, + "name": { + "localizedValue": "Peerings per Virtual Network", + "value": "PeeringsPerVirtualNetwork" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SecurityRulesPerNetworkSecurityGroup", + "limit": 1000.0, + "name": { + "localizedValue": "Security rules per Network Security Group", + "value": "SecurityRulesPerNetworkSecurityGroup" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SecurityRulesPerNetworkIntentPolicy", + "limit": 100.0, + "name": { + "localizedValue": "Security rules per Network Intent Policy", + "value": "SecurityRulesPerNetworkIntentPolicy" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RoutesPerNetworkIntentPolicy", + "limit": 100.0, + "name": { + "localizedValue": "Routes per Network Intent Policy", + "value": "RoutesPerNetworkIntentPolicy" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SecurityRuleAddressesOrPortsPerNetworkSecurityGroup", + "limit": 2000.0, + "name": { + "localizedValue": "Security rules addresses or ports per Network Security Group", + "value": "SecurityRuleAddressesOrPortsPerNetworkSecurityGroup" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/InboundRulesPerLoadBalancer", + "limit": 150.0, + "name": { + "localizedValue": "Inbound Rules per Load Balancer", + "value": "InboundRulesPerLoadBalancer" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/FrontendIPConfigurationPerLoadBalancer", + "limit": 10.0, + "name": { + "localizedValue": "Frontend IP Configurations per Load Balancer", + "value": "FrontendIPConfigurationPerLoadBalancer" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/OutboundRulesPerLoadBalancer", + "limit": 5.0, + "name": { + "localizedValue": "Outbound Rules per Load Balancer", + "value": "OutboundRulesPerLoadBalancer" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RoutesPerRouteTable", + "limit": 400.0, + "name": { + "localizedValue": "Routes per Route Table", + "value": "RoutesPerRouteTable" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SecondaryIPConfigurationsPerNetworkInterface", + "limit": 256.0, + "name": { + "localizedValue": "Secondary IP Configurations per Network Interface", + "value": "SecondaryIPConfigurationsPerNetworkInterface" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/InboundRulesPerNetworkInterface", + "limit": 500.0, + "name": { + "localizedValue": "Inbound rules per Network Interface", + "value": "InboundRulesPerNetworkInterface" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RouteFilterRulesPerRouteFilter", + "limit": 1.0, + "name": { + "localizedValue": "Route filter rules per Route Filter", + "value": "RouteFilterRulesPerRouteFilter" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RouteFiltersPerExpressRouteBgpPeering", + "limit": 1.0, + "name": { + "localizedValue": "Route filters per Express route BGP Peering", + "value": "RouteFiltersPerExpressRouteBgpPeering" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubBgpConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubBgpConnectionDelete.json new file mode 100644 index 000000000000..fb5d478cab5e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubBgpConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "connectionName": "conn1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubBgpConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubBgpConnectionGet.json new file mode 100644 index 000000000000..e4950283f3af --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubBgpConnectionGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "connectionName": "conn1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1" + }, + "responses": { + "200": { + "body": { + "name": "conn1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/bgpConnections/conn1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000, + "connectionState": "Connected", + "hubVirtualNetworkConnection": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubVirtualNetworkConnections/hubVnetConn1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubBgpConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubBgpConnectionList.json new file mode 100644 index 000000000000..9cee01bdd78d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubBgpConnectionList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "conn1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/bgpConnections/conn1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000, + "connectionState": "Connected", + "hubVirtualNetworkConnection": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubVirtualNetworkConnections/hubVnetConn1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubBgpConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubBgpConnectionPut.json new file mode 100644 index 000000000000..097988ff3845 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubBgpConnectionPut.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "connectionName": "conn1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1", + "parameters": { + "properties": { + "peerIp": "192.168.1.5", + "peerAsn": 20000, + "hubVirtualNetworkConnection": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubVirtualNetworkConnections/hubVnetConn1" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "conn1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/bgpConnections/conn1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000, + "connectionState": "Connected", + "hubVirtualNetworkConnection": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubVirtualNetworkConnections/hubVnetConn1" + } + } + } + }, + "201": { + "body": { + "name": "conn1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/bgpConnections/conn1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000, + "connectionState": "Connected", + "hubVirtualNetworkConnection": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubVirtualNetworkConnections/hubVnetConn1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubDelete.json new file mode 100644 index 000000000000..d20c586915b5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubGet.json new file mode 100644 index 000000000000..2db4fcb5d3c8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "virtualHub1", + "type": "Microsoft.Network/virtualHubs", + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1" + }, + "virtualHubRouteTableV2s": [], + "addressPrefix": "10.10.1.0/24", + "sku": "Basic", + "routingState": "Provisioned", + "virtualRouterAsn": 65515, + "virtualRouterIps": [ + "10.10.1.12", + "10.10.1.13" + ], + "allowBranchToBranchTraffic": false, + "preferredRoutingGateway": "ExpressRoute" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubIpConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubIpConfigurationDelete.json new file mode 100644 index 000000000000..dbaa9056436b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubIpConfigurationDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "ipConfigName": "ipconfig1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubIpConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubIpConfigurationGet.json new file mode 100644 index 000000000000..60199460e270 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubIpConfigurationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1", + "ipConfigName": "ipconfig1" + }, + "responses": { + "200": { + "body": { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/ipConfigurations/ipconfig1", + "type": "Microsoft.Network/virtualHubs/ipConfigurations", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubIpConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubIpConfigurationList.json new file mode 100644 index 000000000000..ed7309866b2d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubIpConfigurationList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/ipConfigurations/ipconfig1", + "type": "Microsoft.Network/virtualHubs/ipConfigurations", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubIpConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubIpConfigurationPut.json new file mode 100644 index 000000000000..bc74006398ba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubIpConfigurationPut.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "ipConfigName": "ipconfig1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1", + "parameters": { + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/ipConfigurations/ipconfig1", + "type": "Microsoft.Network/virtualHubs/ipConfigurations", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + } + } + } + }, + "201": { + "body": { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/ipConfigurations/ipconfig1", + "type": "Microsoft.Network/virtualHubs/ipConfigurations", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubList.json new file mode 100644 index 000000000000..4138d0eada14 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubList.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "virtualHub1", + "type": "Microsoft.Network/virtualHubs", + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1" + }, + "virtualHubRouteTableV2s": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "rt2a", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.10.0.0/16", + "20.20.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + }, + { + "destinationType": "CIDR", + "destinations": [ + "0.0.0.0/0" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Vnets" + ] + } + } + ], + "addressPrefix": "10.10.1.0/24", + "sku": "Basic", + "routingState": "Provisioned", + "virtualRouterAsn": 65515, + "virtualRouterIps": [ + "10.10.1.12", + "10.10.1.13" + ], + "allowBranchToBranchTraffic": false, + "preferredRoutingGateway": "ExpressRoute" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "East US", + "name": "virtualHub2", + "type": "Microsoft.Network/virtualHubs", + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1" + }, + "virtualHubRouteTableV2s": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/routeTables/virtualHubRouteTable2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "rt2a", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.10.0.0/16", + "20.20.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + }, + { + "destinationType": "CIDR", + "destinations": [ + "0.0.0.0/0" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Vnets" + ] + } + } + ], + "addressPrefix": "210.10.1.0/24", + "sku": "Basic", + "routingState": "Provisioned", + "virtualRouterAsn": 65515, + "virtualRouterIps": [ + "10.10.1.12", + "10.10.1.13" + ], + "allowBranchToBranchTraffic": false, + "preferredRoutingGateway": "ExpressRoute" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubListByResourceGroup.json new file mode 100644 index 000000000000..eff9aaef0a93 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubListByResourceGroup.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "virtualHub1", + "type": "Microsoft.Network/virtualHubs", + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1" + }, + "virtualHubRouteTableV2s": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/routeTables/virtualHubRouteTable2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "rt2a", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.10.0.0/16", + "20.20.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + }, + { + "destinationType": "CIDR", + "destinations": [ + "0.0.0.0/0" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Vnets" + ] + } + } + ], + "addressPrefix": "10.10.1.0/24", + "sku": "Basic", + "routingState": "Provisioned", + "virtualRouterAsn": 65515, + "virtualRouterIps": [ + "10.10.1.12", + "10.10.1.13" + ], + "allowBranchToBranchTraffic": false, + "preferredRoutingGateway": "ExpressRoute" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "East US", + "name": "virtualHub2", + "type": "Microsoft.Network/virtualHubs", + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1" + }, + "virtualHubRouteTableV2s": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/routeTables/virtualHubRouteTable2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "rt2a", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.10.0.0/16", + "20.20.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + }, + { + "destinationType": "CIDR", + "destinations": [ + "0.0.0.0/0" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Vnets" + ] + } + } + ], + "addressPrefix": "210.10.1.0/24", + "sku": "Basic", + "routingState": "Provisioned", + "virtualRouterAsn": 65515, + "virtualRouterIps": [ + "10.10.1.12", + "10.10.1.13" + ], + "allowBranchToBranchTraffic": false, + "preferredRoutingGateway": "ExpressRoute" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubPut.json new file mode 100644 index 000000000000..9023a06e522c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubPut.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "virtualHubName": "virtualHub2", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "virtualHubParameters": { + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1" + }, + "addressPrefix": "10.168.0.0/24", + "sku": "Basic" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "virtualHub2", + "type": "Microsoft.Network/virtualHubs", + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1" + }, + "virtualHubRouteTableV2s": [], + "addressPrefix": "10.168.0.0/24", + "sku": "Basic", + "routingState": "Provisioned", + "virtualRouterAsn": 65515, + "virtualRouterIps": [ + "10.10.1.12", + "10.10.1.13" + ], + "allowBranchToBranchTraffic": false, + "preferredRoutingGateway": "ExpressRoute" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "virtualHub2", + "type": "Microsoft.Network/virtualHubs", + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1" + }, + "virtualHubRouteTableV2s": [], + "addressPrefix": "10.168.0.0/24", + "sku": "Basic", + "routingState": "Provisioned", + "virtualRouterAsn": 65515, + "virtualRouterIps": [ + "10.10.1.12", + "10.10.1.13" + ], + "allowBranchToBranchTraffic": false, + "preferredRoutingGateway": "ExpressRoute" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubRouteTableV2Delete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubRouteTableV2Delete.json new file mode 100644 index 000000000000..b76cd3d5c294 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubRouteTableV2Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routeTableName": "virtualHubRouteTable1a", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubRouteTableV2Get.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubRouteTableV2Get.json new file mode 100644 index 000000000000..00669d24904a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubRouteTableV2Get.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "routeTableName": "virtualHubRouteTable1a", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1a", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "virtualHubRouteTable1a", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.10.0.0/16", + "20.20.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + }, + { + "destinationType": "CIDR", + "destinations": [ + "0.0.0.0/0" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Vnets" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubRouteTableV2List.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubRouteTableV2List.json new file mode 100644 index 000000000000..714d94edf93c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubRouteTableV2List.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": [ + { + "name": "virtualHubRouteTable1a", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1a", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.10.0.0/16", + "20.20.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + }, + { + "destinationType": "CIDR", + "destinations": [ + "0.0.0.0/0" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Vnets" + ] + } + }, + { + "name": "virtualHubRouteTable1b", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1b", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.30.0.0/16", + "20.40.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Branches" + ] + } + } + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubRouteTableV2Put.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubRouteTableV2Put.json new file mode 100644 index 000000000000..4be461c2cd8c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubRouteTableV2Put.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "routeTableName": "virtualHubRouteTable1a", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1", + "virtualHubRouteTableV2Parameters": { + "properties": { + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.10.0.0/16", + "20.20.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + }, + { + "destinationType": "CIDR", + "destinations": [ + "0.0.0.0/0" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Vnets" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1a", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "virtualHubRouteTable1a", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.10.0.0/16", + "20.20.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + }, + { + "destinationType": "CIDR", + "destinations": [ + "0.0.0.0/0" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Vnets" + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1a", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "virtualHubRouteTable1a", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.10.0.0/16", + "20.20.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + }, + { + "destinationType": "CIDR", + "destinations": [ + "0.0.0.0/0" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Vnets" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubUpdateTags.json new file mode 100644 index 000000000000..402b943a898e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualHubUpdateTags.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "virtualHubName": "virtualHub2", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "virtualHubParameters": { + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "virtualHub2", + "type": "Microsoft.Network/virtualHubs", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1" + }, + "virtualHubRouteTableV2s": [], + "addressPrefix": "10.168.0.0/24", + "sku": "Basic", + "virtualRouterAsn": 65515, + "virtualRouterIps": [ + "10.10.1.12", + "10.10.1.13" + ], + "allowBranchToBranchTraffic": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCheckIPAddressAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCheckIPAddressAvailability.json new file mode 100644 index 000000000000..988d393944ea --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCheckIPAddressAvailability.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "ipAddress": "10.0.1.4" + }, + "responses": { + "200": { + "body": { + "available": false, + "availableIPAddresses": [ + "10.0.1.5", + "10.0.1.6", + "10.0.1.7", + "10.0.1.8", + "10.0.1.9" + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreate.json new file mode 100644 index 000000000000..4f197812e8da --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "parameters": { + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "flowTimeoutInMinutes": 10 + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "flowTimeoutInMinutes": 10, + "subnets": [], + "virtualNetworkPeerings": [] + } + } + }, + "201": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "flowTimeoutInMinutes": 10, + "subnets": [], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json new file mode 100644 index 000000000000..5b24b9177a66 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "vnetTest", + "virtualNetworkName": "vnet1", + "parameters": { + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "serviceEndpoints": [ + { + "service": "Microsoft.Storage" + } + ], + "serviceEndpointPolicies": [ + { + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/serviceEndpointPolicies/ServiceEndpointPolicy1" + } + ] + } + } + ] + }, + "location": "eastus2euap" + } + }, + "responses": { + "200": { + "body": { + "name": "vnet1", + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus2euap", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "ipConfigurations": [], + "resourceNavigationLinks": [], + "serviceEndpoints": [ + { + "provisioningState": "Succeeded", + "service": "Microsoft.Storage", + "locations": [ + "eastus2(stage)", + "usnorth(stage)" + ] + } + ], + "serviceEndpointPolicies": [ + { + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/serviceEndpointPolicies/ServiceEndpointPolicy1" + } + ], + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [] + } + } + }, + "201": { + "body": { + "name": "vnet1", + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus2euap", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "ipConfigurations": [], + "resourceNavigationLinks": [], + "serviceEndpoints": [ + { + "provisioningState": "Succeeded", + "service": "Microsoft.Storage", + "locations": [ + "eastus2(stage)", + "usnorth(stage)" + ] + } + ], + "serviceEndpointPolicies": [ + { + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/serviceEndpointPolicies/ServiceEndpointPolicy1" + } + ], + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateServiceEndpoints.json new file mode 100644 index 000000000000..cb9965c1daa8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateServiceEndpoints.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "vnetTest", + "virtualNetworkName": "vnet1", + "parameters": { + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "serviceEndpoints": [ + { + "service": "Microsoft.Storage" + } + ] + } + } + ] + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "vnet1", + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "ipConfigurations": [], + "resourceNavigationLinks": [], + "serviceEndpoints": [ + { + "provisioningState": "Succeeded", + "service": "Microsoft.Storage", + "locations": [ + "eastus2(stage)", + "usnorth(stage)" + ] + } + ], + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [] + } + } + }, + "201": { + "body": { + "name": "vnet1", + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "ipConfigurations": [], + "resourceNavigationLinks": [], + "serviceEndpoints": [ + { + "provisioningState": "Succeeded", + "service": "Microsoft.Storage", + "locations": [ + "eastus2(stage)", + "usnorth(stage)" + ] + } + ], + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateSubnet.json new file mode 100644 index 000000000000..eb6e2f5c6e4e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateSubnet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "parameters": { + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24" + } + } + ] + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [] + } + } + }, + "201": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json new file mode 100644 index 000000000000..802634afae88 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "parameters": { + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-2", + "properties": { + "addressPrefixes": [ + "10.0.0.0/28", + "10.0.1.0/28" + ] + } + } + ] + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-2", + "name": "test-2", + "properties": { + "addressPrefixes": [ + "10.0.0.0/28", + "10.1.0.0/28" + ], + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [] + } + } + }, + "201": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-2", + "name": "test-2", + "properties": { + "addressPrefixes": [ + "10.0.0.0/28", + "10.0.1.0/28" + ], + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateSubnetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateSubnetWithDelegation.json new file mode 100644 index 000000000000..29b9311c5c39 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateSubnetWithDelegation.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "parameters": { + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "delegations": [ + { + "name": "myDelegation", + "properties": { + "serviceName": "Microsoft.Sql/managedInstances" + } + } + ] + } + } + ] + }, + "location": "westcentralus" + } + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "westcentralus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded", + "delegations": [ + { + "name": "myDelegation", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1/delegations/myDelegation", + "properties": { + "provisioningState": "Succeeded", + "serviceName": "Microsoft.Sql/managedInstances", + "actions": [] + } + } + ], + "purpose": "" + } + } + ], + "virtualNetworkPeerings": [] + } + } + }, + "201": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "westcentralus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded", + "delegations": [ + { + "name": "myDelegation", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1/delegations/myDelegation", + "properties": { + "provisioningState": "Succeeded", + "serviceName": "Microsoft.Sql/managedInstances", + "actions": [] + } + } + ], + "purpose": "" + } + } + ], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateWithBgpCommunities.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateWithBgpCommunities.json new file mode 100644 index 000000000000..7eea4b3ffc56 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateWithBgpCommunities.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "parameters": { + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24" + } + } + ], + "bgpCommunities": { + "virtualNetworkCommunity": "12076:20000" + } + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded" + } + } + ], + "bgpCommunities": { + "virtualNetworkCommunity": "12076:20000", + "regionalCommunity": "12076:50004" + }, + "virtualNetworkPeerings": [] + } + } + }, + "201": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded" + } + } + ], + "bgpCommunities": { + "virtualNetworkCommunity": "12076:20000", + "regionalCommunity": "12076:50004" + }, + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateWithEncryption.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateWithEncryption.json new file mode 100644 index 000000000000..e7defd70362f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkCreateWithEncryption.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "parameters": { + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24" + } + } + ], + "encryption": { + "enabled": true, + "enforcement": "AllowUnencrypted" + } + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded" + } + } + ], + "encryption": { + "enabled": true, + "enforcement": "AllowUnencrypted" + }, + "virtualNetworkPeerings": [] + } + } + }, + "201": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded" + } + } + ], + "encryption": { + "enabled": true, + "enforcement": "AllowUnencrypted" + }, + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkDelete.json new file mode 100644 index 000000000000..8ce31463a61e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionCreate.json new file mode 100644 index 000000000000..1b29ee7a907e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionCreate.json @@ -0,0 +1,169 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "connS2S", + "parameters": { + "properties": { + "virtualNetworkGateway1": { + "properties": { + "ipConfigurations": [ + { + "properties": { + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + } + }, + "name": "gwipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1" + } + ], + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "enableBgp": false, + "activeActive": false, + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1" + }, + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0 + } + }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "location": "centralus", + "tags": {} + }, + "localNetworkGateway2": { + "properties": { + "localNetworkAddressSpace": { + "addressPrefixes": [ + "10.1.0.0/16" + ] + }, + "gatewayIpAddress": "x.x.x.x" + }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw", + "location": "centralus", + "tags": {} + }, + "ingressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1" + } + ], + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2" + } + ], + "connectionType": "IPsec", + "connectionProtocol": "IKEv2", + "routingWeight": 0, + "dpdTimeoutSeconds": 30, + "sharedKey": "Abc123", + "enableBgp": false, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "trafficSelectorPolicies": [], + "connectionMode": "Default" + }, + "location": "centralus" + } + }, + "responses": { + "201": { + "body": { + "name": "connS2S", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/connS2S", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/connections", + "location": "centralus", + "properties": { + "provisioningState": "Updating", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworkGateway1": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "properties": {} + }, + "localNetworkGateway2": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw", + "properties": {} + }, + "ingressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1" + } + ], + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2" + } + ], + "connectionType": "IPsec", + "connectionProtocol": "IKEv2", + "routingWeight": 0, + "dpdTimeoutSeconds": 30, + "sharedKey": "Abc123", + "enableBgp": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "connectionMode": "Default" + } + } + }, + "200": { + "body": { + "name": "connS2S", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/connS2S", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/connections", + "location": "centralus", + "properties": { + "provisioningState": "Updating", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworkGateway1": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "properties": {} + }, + "localNetworkGateway2": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw", + "properties": {} + }, + "ingressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1" + } + ], + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2" + } + ], + "connectionType": "IPsec", + "connectionProtocol": "IKEv2", + "routingWeight": 0, + "dpdTimeoutSeconds": 30, + "sharedKey": "Abc123", + "enableBgp": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "connectionMode": "Default" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionDelete.json new file mode 100644 index 000000000000..99ad2d6c6f8f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "conn1" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionGet.json new file mode 100644 index 000000000000..594763e099cd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionGet.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "connS2S" + }, + "responses": { + "200": { + "body": { + "name": "connS2S", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/connS2S", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/connections", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworkGateway1": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "properties": {} + }, + "localNetworkGateway2": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw", + "properties": {} + }, + "ingressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1" + } + ], + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2" + } + ], + "connectionType": "IPsec", + "connectionProtocol": "IKEv2", + "routingWeight": 0, + "dpdTimeoutSeconds": 30, + "sharedKey": "Abc123", + "enableBgp": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "trafficSelectorPolicies": [], + "connectionStatus": "Connecting", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "connectionMode": "Default" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionGetIkeSas.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionGetIkeSas.json new file mode 100644 index 000000000000..09003bc83422 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionGetIkeSas.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "vpngwcn1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/westus/operationResults/{operationId}?api-version=2021-05-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json new file mode 100644 index 000000000000..d56571b1a8b5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "connS2S" + }, + "responses": { + "200": { + "body": { + "value": "AzureAbc123" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionReset.json new file mode 100644 index 000000000000..accebce62715 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionReset.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "conn1" + }, + "responses": { + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json new file mode 100644 index 000000000000..38f0364fedce --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "conn1", + "parameters": { + "keyLength": 128 + } + }, + "responses": { + "200": { + "body": { + "keyLength": 128 + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json new file mode 100644 index 000000000000..6162fa89a4dd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "connS2S", + "parameters": { + "value": "AzureAbc123" + } + }, + "responses": { + "200": { + "body": { + "value": "AzureAbc123" + } + }, + "201": { + "body": { + "value": "AzureAbc123" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json new file mode 100644 index 000000000000..78b931dc19d7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "vpngwcn1" + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..03d46a35b7de --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "vpngwcn1", + "parameters": { + "filterData": "{'TracingFlags': 11,'MaxPacketBufferSize': 120,'MaxFileSize': 200,'Filters': [{'SourceSubnets': ['20.1.1.0/24'],'DestinationSubnets': ['10.1.1.0/24'],'SourcePort': [500],'DestinationPort': [4500],'Protocol': 6,'TcpFlags': 16,'CaptureSingleDirectionTrafficOnly': true}]}" + } + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json new file mode 100644 index 000000000000..9f68c05e2d88 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "vpngwcn1", + "parameters": { + "sasUrl": "https://teststorage.blob.core.windows.net/?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-09-13T07:44:05Z&st=2019-09-06T23:44:05Z&spr=https&sig=V1h9D1riltvZMI69d6ihENnFo%2FrCvTqGgjO2lf%2FVBhE%3D" + } + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json new file mode 100644 index 000000000000..4d51a976331d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "test", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "test", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/test", + "type": "Microsoft.Network/connections", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworkGateway1": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "properties": {} + }, + "localNetworkGateway2": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/lgw", + "properties": {} + }, + "ingressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1" + } + ], + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2" + } + ], + "connectionType": "IPsec", + "routingWeight": 0, + "sharedKey": "temp1234", + "enableBgp": false, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "trafficSelectorPolicies": [], + "connectionStatus": "Unknown", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0 + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionsList.json new file mode 100644 index 000000000000..86d783d4592c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayConnectionsList.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "conn1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/conn1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/connections", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworkGateway1": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1", + "properties": {} + }, + "localNetworkGateway2": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw1", + "properties": {} + }, + "ingressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1/natRules/natRule1" + } + ], + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1/natRules/natRule2" + } + ], + "connectionType": "IPsec", + "connectionProtocol": "IKEv1", + "routingWeight": 0, + "dpdTimeoutSeconds": 30, + "enableBgp": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "trafficSelectorPolicies": [], + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "connectionMode": "Default" + } + }, + { + "name": "conn2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/conn2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/connections", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworkGateway1": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2", + "properties": {} + }, + "localNetworkGateway2": { + "properties": {}, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw2" + }, + "ingressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2/natRules/natRule1" + } + ], + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2/natRules/natRule2" + } + ], + "connectionType": "IPsec", + "connectionProtocol": "IKEv2", + "routingWeight": 0, + "dpdTimeoutSeconds": 20, + "enableBgp": false, + "useLocalAzureIpAddress": true, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "trafficSelectorPolicies": [], + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "connectionMode": "Default" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayDelete.json new file mode 100644 index 000000000000..57f60c3fca3a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json new file mode 100644 index 000000000000..ec70fe60e992 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "parameters": {} + }, + "responses": { + "200": { + "body": "" + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json new file mode 100644 index 000000000000..bc349d88af5a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "parameters": {} + }, + "responses": { + "202": {}, + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGet.json new file mode 100644 index 000000000000..c76d4309fe05 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGet.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "200": { + "body": { + "name": "vpngw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "gwipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1", + "etag": "W/\"00ae2b69-88e7-4b3a-b66a-cfa2244e0801\"", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2", + "etag": "W/\"00ae2b69-88e7-4b3a-b66a-cfa2244e0801\"", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "IngressSnat", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 0 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "enablePrivateIpAddress": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "vpnClientConfiguration": { + "vpnClientProtocols": [ + "OpenVPN" + ], + "vpnClientRootCertificates": [], + "vpnClientRevokedCertificates": [], + "radiusServers": [ + { + "radiusServerAddress": "10.1.0.0", + "radiusServerScore": 20 + } + ] + }, + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1", + "defaultBgpIpAddresses": [ + "10.3.1.254" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "52.161.10.135" + ] + } + ] + }, + "customRoutes": { + "addressPrefixes": [ + "101.168.0.6/32" + ] + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json new file mode 100644 index 000000000000..0d52d57ee9fb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "peer": "test" + }, + "responses": { + "202": {}, + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json new file mode 100644 index 000000000000..07b66dfef86e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json new file mode 100644 index 000000000000..7f2aac80199f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "200": { + "body": { + "saLifeTimeSeconds": 86473, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup2", + "pfsGroup": "PFS2" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json new file mode 100644 index 000000000000..0164f8dce374 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json new file mode 100644 index 000000000000..34342177037d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "resourceGroupName": "p2s-vnet-test", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "virtualNetworkGatewayName": "vpnp2sgw" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "vpnConnectionId": "IKEv2_1e1cfe59-5c7c-4315-a876-b11fbfdfeed4", + "vpnConnectionDuration": 900, + "vpnConnectionTime": "2019-05-02T22:26:22", + "publicIpAddress": "167.220.2.232:45522", + "privateIpAddress": "192.168.210.2", + "vpnUserName": "gwp2schildcert", + "maxBandwidth": 240000000, + "egressPacketsTransferred": 557, + "egressBytesTransferred": 33420, + "ingressPacketsTransferred": 557, + "ingressBytesTransferred": 33420, + "maxPacketsPerSecond": 4 + }, + { + "vpnConnectionId": "IKEv2_571cfe59-2c7d-1415-e813-c51fbfdfea16", + "vpnConnectionDuration": 800, + "vpnConnectionTime": "2019-05-01T21:06:12", + "publicIpAddress": "167.220.2.232:45213", + "privateIpAddress": "192.168.210.1", + "vpnUserName": "gwp2schildcert", + "maxBandwidth": 220000000, + "egressPacketsTransferred": 357, + "egressBytesTransferred": 23420, + "ingressPacketsTransferred": 357, + "ingressBytesTransferred": 23420, + "maxPacketsPerSecond": 4 + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayLearnedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayLearnedRoutes.json new file mode 100644 index 000000000000..07b66dfef86e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayLearnedRoutes.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayList.json new file mode 100644 index 000000000000..4222fac7268b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayList.json @@ -0,0 +1,220 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "vpngw1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "loc1", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "default", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1/ipConfigurations/default", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/vpngw1-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1/natRules/natRule1", + "etag": "W/\"00ae2b69-88e7-4b3a-b66a-cfa2244e0801\"", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1/natRules/natRule2", + "etag": "W/\"00ae2b69-88e7-4b3a-b66a-cfa2244e0801\"", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "IngressSnat", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 2 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "enablePrivateIpAddress": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "vpnClientConfiguration": { + "vpnClientProtocols": [], + "vpnClientRootCertificates": [], + "vpnClientRevokedCertificates": [] + }, + "bgpSettings": { + "asn": 65515, + "bgpPeeringAddress": "10.0.0.14", + "peerWeight": 0 + }, + "customRoutes": { + "addressPrefixes": [ + "101.168.0.6/32" + ] + } + } + }, + { + "name": "vpngw2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "loc2", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "default", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2/ipConfigurations/default", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "privateIPAddress": "10.1.0.7", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/vpngw2-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2/natRules/natRule1", + "etag": "W/\"00ae2b69-88e7-4b3a-b66a-cfa2244e0801\"", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2/natRules/natRule2", + "etag": "W/\"00ae2b69-88e7-4b3a-b66a-cfa2244e0801\"", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "IngressSnat", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 2 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "enablePrivateIpAddress": true, + "activeActive": false, + "disableIPSecReplayProtection": false, + "vpnClientConfiguration": { + "vpnClientProtocols": [ + "OpenVPN" + ], + "vpnClientRootCertificates": [], + "vpnClientRevokedCertificates": [], + "radiusServers": [ + { + "radiusServerAddress": "10.2.0.0", + "radiusServerScore": 20 + } + ] + }, + "bgpSettings": { + "asn": 65515, + "bgpPeeringAddress": "10.1.0.46", + "peerWeight": 0 + }, + "customRoutes": { + "addressPrefixes": [ + "101.168.0.6/32" + ] + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayNatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayNatRuleDelete.json new file mode 100644 index 000000000000..96404819e9fc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayNatRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "natRuleName": "natRule1", + "virtualNetworkGatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayNatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayNatRuleGet.json new file mode 100644 index 000000000000..c2610df01e10 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayNatRuleGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "virtualNetworkGatewayName": "gateway1", + "natRuleName": "natRule1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/natRules/natRule1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24", + "portRange": "100-100" + } + ], + "externalMappings": [ + { + "addressSpace": "50.4.0.0/24", + "portRange": "200-200" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayNatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayNatRuleList.json new file mode 100644 index 000000000000..c0ae4df0d78c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayNatRuleList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "virtualNetworkGatewayName": "gateway1", + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/natRules/natRule1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/natRules/natRule2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24" + } + ] + } + } + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayNatRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayNatRulePut.json new file mode 100644 index 000000000000..3165dcf0737f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayNatRulePut.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "natRuleName": "natRule1", + "virtualNetworkGatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "NatRuleParameters": { + "properties": { + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24", + "portRange": "200-300" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24", + "portRange": "300-400" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/natRules/natRule1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24", + "portRange": "200-300" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24", + "portRange": "300-400" + } + ] + } + } + }, + "201": { + "body": { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/natRules/natRule1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24", + "portRange": "200-300" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24", + "portRange": "300-400" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayReset.json new file mode 100644 index 000000000000..31a1215836d3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayReset.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "vpngw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "gwipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 0 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "enableBgp": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1", + "defaultBgpIpAddresses": [ + "10.3.1.254" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "52.161.10.135" + ] + } + ] + }, + "customRoutes": { + "addressPrefixes": [ + "101.168.0.6/32" + ] + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json new file mode 100644 index 000000000000..09cbc03cca7e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json new file mode 100644 index 000000000000..28b685baec32 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "vpnclientIpsecParams": { + "saLifeTimeSeconds": 86473, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup2", + "pfsGroup": "PFS2" + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "saLifeTimeSeconds": 86473, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup2", + "pfsGroup": "PFS2" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayStartPacketCapture.json new file mode 100644 index 000000000000..25f67c8b0a16 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayStartPacketCapture.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..59250beef13f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "parameters": { + "filterData": "{'TracingFlags': 11,'MaxPacketBufferSize': 120,'MaxFileSize': 200,'Filters': [{'SourceSubnets': ['20.1.1.0/24'],'DestinationSubnets': ['10.1.1.0/24'],'SourcePort': [500],'DestinationPort': [4500],'Protocol': 6,'TcpFlags': 16,'CaptureSingleDirectionTrafficOnly': true}]}" + } + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayStopPacketCapture.json new file mode 100644 index 000000000000..9dbfedbf298f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayStopPacketCapture.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "parameters": { + "sasUrl": "https://teststorage.blob.core.windows.net/?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-09-13T07:44:05Z&st=2019-09-06T23:44:05Z&spr=https&sig=V1h9D1riltvZMI69d6ihENnFo%2FrCvTqGgjO2lf%2FVBhE%3D" + } + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json new file mode 100644 index 000000000000..6e379fcfacca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayUpdate.json new file mode 100644 index 000000000000..31abc33d6aad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayUpdate.json @@ -0,0 +1,346 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "parameters": { + "properties": { + "ipConfigurations": [ + { + "properties": { + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + } + }, + "name": "gwipconfig1" + } + ], + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "enableBgp": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "enableDnsForwarding": true, + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2", + "properties": { + "type": "Static", + "mode": "IngressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1" + }, + "vpnClientConfiguration": { + "vpnClientProtocols": [ + "OpenVPN" + ], + "vpnClientRootCertificates": [], + "vpnClientRevokedCertificates": [], + "radiusServers": [ + { + "radiusServerAddress": "10.2.0.0", + "radiusServerScore": 20, + "radiusServerSecret": "radiusServerSecret" + } + ] + }, + "bgpSettings": { + "asn": 65515, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0 + }, + "customRoutes": { + "addressPrefixes": [ + "101.168.0.6/32" + ] + } + }, + "location": "centralus" + } + }, + "responses": { + "200": { + "body": { + "name": "vpngw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "gwipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2", + "properties": { + "type": "Static", + "mode": "IngressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 0 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "enableDnsForwarding": true, + "inboundDnsForwardingEndpoint": "10.0.1.14", + "vpnClientConfiguration": { + "vpnClientProtocols": [ + "OpenVPN" + ], + "vpnClientRootCertificates": [], + "vpnClientRevokedCertificates": [], + "radiusServers": [ + { + "radiusServerAddress": "10.2.0.0", + "radiusServerScore": 20 + } + ] + }, + "bgpSettings": { + "asn": 65515, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1", + "defaultBgpIpAddresses": [ + "10.3.1.254" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "52.161.10.135" + ] + } + ] + }, + "customRoutes": { + "addressPrefixes": [ + "101.168.0.6/32" + ] + } + } + } + }, + "201": { + "body": { + "name": "vpngw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "gwipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2", + "properties": { + "type": "Static", + "mode": "IngressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 0 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "enableBgp": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "enableDnsForwarding": true, + "enablePrivateIpAddress": false, + "inboundDnsForwardingEndpoint": "10.0.1.14", + "vpnClientConfiguration": { + "vpnClientProtocols": [ + "OpenVPN" + ], + "vpnClientRootCertificates": [], + "vpnClientRevokedCertificates": [], + "radiusServers": [ + { + "radiusServerAddress": "10.2.0.0", + "radiusServerScore": 20 + } + ] + }, + "bgpSettings": { + "asn": 65515, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1", + "defaultBgpIpAddresses": [ + "10.3.1.254" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "52.161.10.135" + ] + } + ] + }, + "customRoutes": { + "addressPrefixes": [ + "101.168.0.6/32" + ] + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayUpdateTags.json new file mode 100644 index 000000000000..16673989f484 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayUpdateTags.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "vpngw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "default", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/default", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testpub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 2 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "bgpSettings": { + "asn": 65515, + "bgpPeeringAddress": "10.0.0.254", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1", + "defaultBgpIpAddresses": [ + "10.3.1.254" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "52.161.10.135" + ] + } + ] + }, + "customRoutes": { + "addressPrefixes": [ + "101.168.0.6/32" + ] + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json new file mode 100644 index 000000000000..80076ba23c19 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "vpngw", + "parameters": { + "vendor": "Cisco", + "deviceFamily": "ISR", + "firmwareVersion": "IOS 15.1 (Preview)" + } + }, + "responses": { + "200": { + "body": "! Microsoft Corporation\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! Sample VPN tunnel configuration template for IOS-based devices\r\n!\r\n! This configuration template applies to Cisco VPN devices running IOS 15.1 or beyond (ISR or ASR)\r\n!\r\n\r\n\r\n\t\t\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! ACL rules\r\n!\r\n! Some VPN devices require explicit ACL rules to allow cross-premises traffic:\r\n!\r\n! 1. Allow traffic between on premises address ranges and VNet address ranges\r\n! 2. Allow IKE traffic (UDP:500) between on premises VPN devices and Azure VPN gateway\r\n! 3. Allow IPsec traffic (Proto:ESP) between on premises VPN devices and Azure VPN gateway\r\n!\r\n\t\t\r\naccess-list 101 permit ip 10.1.0.0 0.0.255.255 10.0.0.0 0.0.255.255\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! Internet Key Exchange (IKE) configuration\r\n!\r\n! This section specifies the authentication, encryption, hashing, and Diffie-Hellman group parameters for IKE\r\n! main mode or phase 1\r\n!\r\n\r\ncrypto ikev2 proposal SwaggerS2S-proposal\r\n encryption DES3\r\n integrity SHA384\r\n group DHGroup24\r\n lifetime 3600\r\n exit\r\n\r\ncrypto ikev2 policy SwaggerS2S-policy\r\n proposal SwaggerS2S-proposal\r\n exit\r\n\r\ncrypto ikev2 keyring SwaggerBranch-keyring\r\n\t\t\r\n\t\tpeer 52.173.199.254\r\n\t\taddress 52.173.199.254\r\n\t\tpre-shared-key lALEHuppeopJmA94exRNiRr2QzuZ6lOsvzu5IlJUEA6LthbTc8g5MTT86MCsGNMzGkTAaLuLnEJoD1Cn4cIlr94qKZm9drsgllzWvsPNezS71stAkaW1Bb7h6GBnDlDP\r\n exit\r\n\r\ncrypto ikev2 profile SwaggerS2S-profile\r\n match address local 10.3.0.0\r\n\tmatch identity remote address 52.173.199.254 255.255.255.255\r\n\t\t\r\n authentication remote pre-share\r\n authentication local pre-share\r\n keyring SwaggerBranch-keyring\r\n exit\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! IPsec configuration\r\n!\r\n! This section specifies encryption, authentication, tunnel mode properties for the Phase 2 negotiation\r\n!\r\ncrypto ipsec transform-set SwaggerS2S-TransformSet DES3 DES3\r\n mode tunnel\r\n exit\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! Crypto map configuration\r\n!\r\n! This section defines a crypto profile that binds the cross-premises network traffic to the IPsec and IKE\r\n! policy profiles for this connection. Then defines the VTI (virtual tunnel interface) with the crypto\r\n! profile. A random interface number (tunnel 1) was used with a random link local address (169.254.0.1/28)\r\n! for the tunnel interface. If either selection is already used in the VPN device, please select another\r\n! interface number or address. The only requirement is that they must not overlap with another interface\r\n! on the same VPN device.\r\n!\r\ncrypto ipsec profile SwaggerS2S-IPsecProfile\r\n set transform-set SwaggerS2S-TransformSet\r\n set ikev2-profile SwaggerS2S-profile\r\n set pfs None\r\n set security-association lifetime 3600\r\n exit\r\n\r\n\r\nint tunnel 52.173.199.254\r\n ip address 169.254.0.1 255.255.255.252\r\n ip tcp adjust-mss 1350\r\n tunnel source 10.3.0.0\r\n tunnel mode ipsec ipv4\r\n tunnel destination 52.173.199.254\r\n tunnel protection ipsec profile SwaggerS2S-IPsecProfile\r\n exit\r\n\r\n\tip route 10.0.0.0 255.255.0.0 tunnel 52.173.199.254 " + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json new file mode 100644 index 000000000000..7ae37a08548e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "vpn-gateway-test", + "virtualNetworkGatewayName": "vpngateway", + "api-version": "2021-05-01", + "request": { + "vpnConnectionIds": [ + "vpnconnId1", + "vpnconnId2" + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewaysListConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewaysListConnections.json new file mode 100644 index 000000000000..b1f8cc64227e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGatewaysListConnections.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "virtualNetworkGatewayName": "test-vpn-gateway-1", + "api-version": "2021-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-vpn-connection", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/connections/test-vpn-connection", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "type": "Microsoft.Network/connections", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworkGateway1": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkGateways/test-vpn-gateway-1" + }, + "virtualNetworkGateway2": { + "id": "/subscriptions/subid/resourceGroups/testrg-2/providers/Microsoft.Network/virtualNetworkGateways/test-vpn-gateway-2" + }, + "connectionType": "Vnet2Vnet", + "routingWeight": 22, + "enableBgp": true, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "trafficSelectorPolicies": [], + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0 + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGet.json new file mode 100644 index 000000000000..8b0f95b41428 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet" + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "subnet1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.1.0/24", + "ipConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe" + } + ] + } + } + ], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGetResourceNavigationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGetResourceNavigationLinks.json new file mode 100644 index 000000000000..a67f9b3e9ac5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGetResourceNavigationLinks.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "vnet", + "subnetName": "subnet" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "redisCache_redis-tester", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnet/resourceNavigationLinks/redisCache_redis-tester", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworks/subnets/resourceNavigationLinks", + "properties": { + "provisioningState": "Succeeded", + "linkedResourceType": "Microsoft.Cache/redis", + "link": "/subscriptions/subid/resourceGroups/another-rg/providers/Microsoft.Cache/Redis/redis-tester" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGetServiceAssociationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGetServiceAssociationLinks.json new file mode 100644 index 000000000000..f729bbb34b0a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGetServiceAssociationLinks.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "vnet", + "subnetName": "subnet" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "acisal", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnet/serviceAssociationLinks/acisal", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks", + "properties": { + "provisioningState": "Succeeded", + "linkedResourceType": "Microsoft.ContainerInstance/containerGroups", + "allowDelete": true, + "locations": [ + "westus" + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGetWithServiceAssociationLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGetWithServiceAssociationLink.json new file mode 100644 index 000000000000..55d34b345360 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGetWithServiceAssociationLink.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet" + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "subnet1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1", + "etag": "W/\"4d3e91b4-f67f-48be-880b-e4a8abdd019e\"", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.214.0/24", + "ipConfigurationProfiles": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1" + } + ], + "serviceAssociationLinks": [ + { + "name": "serviceAssociationLink1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/serviceAssociationLinks/serviceAssociationLink1", + "etag": "W/\"4d3e91b4-f67f-48be-880b-e4a8abdd019e\"", + "properties": { + "provisioningState": "Succeeded", + "linkedResourceType": "Microsoft.Provider/resourceType" + } + } + ], + "serviceEndpoints": [], + "delegations": [ + { + "name": "aciDelegation", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/delegations/aciDelegation", + "etag": "W/\"4d3e91b4-f67f-48be-880b-e4a8abdd019e\"", + "properties": { + "provisioningState": "Succeeded", + "serviceName": "Microsoft.Provider/resourceType", + "actions": [ + "Microsoft.Network/virtualNetworks/subnets/action" + ] + } + } + ] + } + } + ], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGetWithSubnetDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGetWithSubnetDelegation.json new file mode 100644 index 000000000000..bbcd7cd94901 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkGetWithSubnetDelegation.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet" + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "subnet1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.1.0/24", + "ipConfigurations": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe" + } + ], + "delegations": [ + { + "name": "myDelegation", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/delegations/myDelegation", + "properties": { + "provisioningState": "Succeeded", + "serviceName": "Microsoft.Provider/resourceType", + "actions": [] + } + } + ], + "purpose": "" + } + } + ], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkList.json new file mode 100644 index 000000000000..d52e0255ab94 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkList.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1", + "name": "vnet1", + "type": "Microsoft.Network/virtualNetworks", + "location": "westus", + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/8" + ] + }, + "dhcpOptions": { + "dnsServers": [] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [], + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2", + "name": "vnet2", + "type": "Microsoft.Network/virtualNetworks", + "location": "westus", + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "dhcpOptions": { + "dnsServers": [ + "8.8.8.8" + ] + }, + "subnets": [], + "virtualNetworkPeerings": [], + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkListAll.json new file mode 100644 index 000000000000..421602456698 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkListAll.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1", + "name": "vnet1", + "type": "Microsoft.Network/virtualNetworks", + "location": "westus", + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/8" + ] + }, + "dhcpOptions": { + "dnsServers": [] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [], + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2", + "name": "vnet2", + "type": "Microsoft.Network/virtualNetworks", + "location": "westus", + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "dhcpOptions": { + "dnsServers": [ + "8.8.8.8" + ] + }, + "subnets": [], + "virtualNetworkPeerings": [], + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkListUsage.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkListUsage.json new file mode 100644 index 000000000000..93e6aaab0eb8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkListUsage.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "virtualNetworkName": "vnetName", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "currentValue": -1.0, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetName/subnets/GatewaySubnet", + "limit": -1.0, + "name": { + "localizedValue": "Subnet size and usage", + "value": "SubnetSpace" + }, + "unit": "Count" + }, + { + "currentValue": 2.0, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetName/subnets/newSubnet", + "limit": 3.0, + "name": { + "localizedValue": "Subnet size and usage", + "value": "SubnetSpace" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringCreate.json new file mode 100644 index 000000000000..e333dba66d5c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringCreate.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "VirtualNetworkPeeringParameters": { + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringCreateWithRemoteVirtualNetworkEncryption.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringCreateWithRemoteVirtualNetworkEncryption.json new file mode 100644 index 000000000000..60b5a3a1c717 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringCreateWithRemoteVirtualNetworkEncryption.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "VirtualNetworkPeeringParameters": { + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "remoteVirtualNetworkEncryption": { + "enabled": true, + "enforcement": "AllowUnencrypted" + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "remoteVirtualNetworkEncryption": { + "enabled": true, + "enforcement": "AllowUnencrypted" + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringDelete.json new file mode 100644 index 000000000000..63510091a1a6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringGet.json new file mode 100644 index 000000000000..e13f69cc0621 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringGetWithRemoteVirtualNetworkEncryption.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringGetWithRemoteVirtualNetworkEncryption.json new file mode 100644 index 000000000000..48907ecf33ac --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringGetWithRemoteVirtualNetworkEncryption.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "remoteVirtualNetworkEncryption": { + "enabled": true, + "enforcement": "AllowUnencrypted" + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringList.json new file mode 100644 index 000000000000..ec51b91148ce --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringList.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer2", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": false, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet3" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "13.0.0.0/8" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "13.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20003", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringListWithRemoteVirtualNetworkEncryption.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringListWithRemoteVirtualNetworkEncryption.json new file mode 100644 index 000000000000..7e48fab815da --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringListWithRemoteVirtualNetworkEncryption.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "remoteVirtualNetworkEncryption": { + "enabled": true, + "enforcement": "AllowUnencrypted" + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer2", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": false, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet3" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "13.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20003", + "regionalCommunity": "12076:50004" + }, + "remoteVirtualNetworkEncryption": { + "enabled": true, + "enforcement": "AllowUnencrypted" + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringSync.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringSync.json new file mode 100644 index 000000000000..ec39b6270b7f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkPeeringSync.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "syncRemoteAddressSpace": "true", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "VirtualNetworkPeeringParameters": { + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkTapCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkTapCreate.json new file mode 100644 index 000000000000..45c3a72c0bcd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkTapCreate.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "tapName": "test-vtap", + "parameters": { + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/ipconfig1" + } + }, + "location": "centraluseuap" + } + }, + "responses": { + "200": { + "body": { + "name": "testvtap", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "provisioningState": "Succeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F", + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration" + } + ] + } + } + }, + "201": { + "body": { + "name": "testvtap", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "provisioningState": "Succeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F", + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkTapDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkTapDelete.json new file mode 100644 index 000000000000..37368cad97f1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkTapDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "tapName": "test-vtap" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkTapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkTapGet.json new file mode 100644 index 000000000000..81c4ff5c3f27 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkTapGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "tapName": "testvtap" + }, + "responses": { + "200": { + "body": { + "name": "testvtap", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "provisioningState": "Succeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F", + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkTapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkTapList.json new file mode 100644 index 000000000000..3b21b9e3ae42 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkTapList.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testvtap", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "provisioningState": "Succeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F", + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration" + } + ] + } + }, + { + "name": "testvtap2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap2", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "provisioningState": "Succeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F", + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface3/tapConfigurations/testtapConfiguration" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkTapListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkTapListAll.json new file mode 100644 index 000000000000..5d6bdc433767 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkTapListAll.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testvtap", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "provisioningState": "Succeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F", + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration" + } + ] + } + }, + { + "name": "testvtap2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap2", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "provisioningState": "Succeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F", + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface3/tapConfigurations/testtapConfiguration" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkTapUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkTapUpdateTags.json new file mode 100644 index 000000000000..b600abad6dfb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkTapUpdateTags.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "tapName": "test-vtap", + "tapParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-vtap", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/test-vtap", + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "provisioningState": "Succeded", + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration" + } + ] + }, + "type": "Microsoft.Network/virtualNetworkTaps" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkUpdateTags.json new file mode 100644 index 000000000000..48df7f1289f2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualNetworkUpdateTags.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "location": "westus", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterDelete.json new file mode 100644 index 000000000000..8159e4ae2823 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterGet.json new file mode 100644 index 000000000000..837ba272c478 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": { + "body": { + "name": "virtualRouter", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter", + "type": "Microsoft.Network/virtualRouters", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualRouterAsn": 10000, + "virtualRouterIps": [ + "192.168.1.1", + "192.168.1.2" + ], + "hostedGateway": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway" + }, + "peerings": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterListByResourceGroup.json new file mode 100644 index 000000000000..ca8b8cd46030 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterListByResourceGroup.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "virtualRouter", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter", + "type": "Microsoft.Network/virtualRouters", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualRouterAsn": 10000, + "virtualRouterIps": [ + "192.168.1.1", + "192.168.1.2" + ], + "hostedGateway": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway" + }, + "peerings": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterListBySubscription.json new file mode 100644 index 000000000000..471f1cd37da0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterListBySubscription.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "virtualRouter", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter", + "type": "Microsoft.Network/virtualRouters", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualRouterAsn": 10000, + "virtualRouterIps": [ + "192.168.1.1", + "192.168.1.2" + ], + "hostedGateway": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway" + }, + "peerings": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPeerListAdvertisedRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPeerListAdvertisedRoute.json new file mode 100644 index 000000000000..2f0b73921634 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPeerListAdvertisedRoute.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "hubName": "virtualRouter1", + "connectionName": "peer1" + }, + "responses": { + "202": {}, + "200": { + "body": { + "value": [ + { + "localAddress": "10.85.3.4", + "network": "10.45.0.0/16", + "nextHop": "10.85.3.4", + "sourcePeer": "10.85.3.4", + "origin": "Igp", + "asPath": "65515", + "weight": 0 + }, + { + "localAddress": "10.85.3.4", + "network": "10.85.0.0/16", + "nextHop": "10.85.3.4", + "sourcePeer": "10.85.3.4", + "origin": "Igp", + "asPath": "65515", + "weight": 0 + }, + { + "localAddress": "10.85.3.4", + "network": "10.100.0.0/16", + "nextHop": "10.85.3.4", + "sourcePeer": "10.85.3.4", + "origin": "Igp", + "asPath": "65515", + "weight": 0 + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPeerListLearnedRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPeerListLearnedRoute.json new file mode 100644 index 000000000000..359c102bb580 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPeerListLearnedRoute.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "hubName": "virtualRouter1", + "connectionName": "peer1" + }, + "responses": { + "202": {}, + "200": { + "body": { + "value": [ + { + "localAddress": "10.85.3.4", + "network": "10.101.0.0/16", + "nextHop": "10.85.4.4", + "sourcePeer": "10.85.4.4", + "origin": "EBgp", + "asPath": "65002-65001", + "weight": 32768 + }, + { + "localAddress": "10.85.3.5", + "network": "10.101.0.0/16", + "nextHop": "10.85.4.4", + "sourcePeer": "10.85.4.4", + "origin": "EBgp", + "asPath": "65002-65001", + "weight": 32768 + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPeeringDelete.json new file mode 100644 index 000000000000..17458fb35e36 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "peeringName": "peering1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPeeringGet.json new file mode 100644 index 000000000000..288de0df3571 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPeeringGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "peeringName": "peering1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": { + "body": { + "name": "peering1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000 + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPeeringList.json new file mode 100644 index 000000000000..463ebb7d241a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPeeringList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "peering1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000 + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPeeringPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPeeringPut.json new file mode 100644 index 000000000000..841c8b91d428 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPeeringPut.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "peeringName": "peering1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter", + "parameters": { + "properties": { + "peerIp": "192.168.1.5", + "peerAsn": 20000 + } + } + }, + "responses": { + "200": { + "body": { + "name": "peering1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000 + } + } + }, + "201": { + "body": { + "name": "peering1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000 + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPut.json new file mode 100644 index 000000000000..237252e8b1f9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualRouterPut.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "properties": { + "hostedGateway": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "virtualRouter", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter", + "type": "Microsoft.Network/virtualRouters", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualRouterAsn": 10000, + "virtualRouterIps": [ + "192.168.1.1", + "192.168.1.2" + ], + "hostedGateway": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway" + }, + "peerings": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1" + } + ] + } + } + }, + "201": { + "body": { + "name": "virtualRouter", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter", + "type": "Microsoft.Network/virtualRouters", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualRouterAsn": 10000, + "virtualRouterIps": [ + "192.168.1.1", + "192.168.1.2" + ], + "hostedGateway": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway" + }, + "peerings": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWANDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWANDelete.json new file mode 100644 index 000000000000..d0b217d74b99 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWANDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "VirtualWANName": "virtualWan1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWANGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWANGet.json new file mode 100644 index 000000000000..3bda5747644e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWANGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "VirtualWANName": "wan1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "wan1", + "type": "Microsoft.Network/virtualWANs", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "disableVpnEncryption": false, + "virtualHubs": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2" + ], + "vpnSites": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2" + ], + "type": "Basic" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWANList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWANList.json new file mode 100644 index 000000000000..766691ec5c2c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWANList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "wan1", + "type": "Microsoft.Network/virtualWANs", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "disableVpnEncryption": false, + "virtualHubs": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2" + ], + "vpnSites": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2" + ], + "type": "Basic" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualWANs/wan2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "East US", + "name": "wan2", + "type": "Microsoft.Network/virtualWANs", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "disableVpnEncryption": false, + "virtualHubs": [ + "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/hub1", + "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/hub2" + ], + "vpnSites": [ + "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite1", + "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite2" + ], + "type": "Basic" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWANListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWANListByResourceGroup.json new file mode 100644 index 000000000000..a7b8d8ec97d6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWANListByResourceGroup.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "wan1", + "type": "Microsoft.Network/virtualWANs", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "disableVpnEncryption": false, + "virtualHubs": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2" + ], + "vpnSites": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2" + ], + "type": "Basic" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "East US", + "name": "wan2", + "type": "Microsoft.Network/virtualWANs", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "disableVpnEncryption": false, + "virtualHubs": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub3", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub4" + ], + "vpnSites": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite3", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite4" + ], + "type": "Basic" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWANPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWANPut.json new file mode 100644 index 000000000000..dedaa544e2f5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWANPut.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "VirtualWANName": "wan1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "WANParameters": { + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "disableVpnEncryption": false, + "type": "Basic" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "wan1", + "type": "Microsoft.Network/virtualWANs", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "disableVpnEncryption": false, + "virtualHubs": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2" + ], + "vpnSites": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2" + ], + "type": "Basic" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "wan1", + "type": "Microsoft.Network/virtualWANs", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "disableVpnEncryption": false, + "virtualHubs": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2" + ], + "vpnSites": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2" + ], + "type": "Basic" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWANUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWANUpdateTags.json new file mode 100644 index 000000000000..8ca39692a082 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWANUpdateTags.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "VirtualWANName": "wan1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "WANParameters": { + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "wan1", + "type": "Microsoft.Network/virtualWANs", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "disableVpnEncryption": false, + "virtualHubs": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2" + ], + "vpnSites": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2" + ], + "type": "Basic" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWanSupportedSecurityProviders.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWanSupportedSecurityProviders.json new file mode 100644 index 000000000000..76d81b610ff6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VirtualWanSupportedSecurityProviders.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "virtualWANName": "wan1" + }, + "responses": { + "200": { + "description": "Request successful.", + "body": { + "supportedProviders": [ + { + "name": "AzureFirewall", + "url": "", + "type": "Native" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssNetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssNetworkInterfaceGet.json new file mode 100644 index 000000000000..146f80e3d7f4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssNetworkInterfaceGet.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2018-10-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "nic1", + "virtualMachineScaleSetName": "vmss1", + "virtualmachineIndex": "1" + }, + "responses": { + "200": { + "body": { + "name": "nic1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.5", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.1" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "dns.cdmx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "primary": true, + "virtualMachine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssNetworkInterfaceIpConfigGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssNetworkInterfaceIpConfigGet.json new file mode 100644 index 000000000000..5b7c23b7b56b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssNetworkInterfaceIpConfigGet.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2018-10-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualMachineScaleSetName": "vmss1", + "virtualmachineIndex": "2", + "networkInterfaceName": "nic1", + "ipConfigurationName": "ip1" + }, + "responses": { + "200": { + "body": { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/2/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.6", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.2" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssNetworkInterfaceIpConfigList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssNetworkInterfaceIpConfigList.json new file mode 100644 index 000000000000..e14de4e82a72 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssNetworkInterfaceIpConfigList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2018-10-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualMachineScaleSetName": "vmss1", + "virtualmachineIndex": "2", + "networkInterfaceName": "nic1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/2/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.6", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssNetworkInterfaceList.json new file mode 100644 index 000000000000..0ec937148391 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssNetworkInterfaceList.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "api-version": "2018-10-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualMachineScaleSetName": "vmss1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nic1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/nic1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.0" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "ruw4wz3grewudjsyzrxj44pxod.cdmx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "primary": true, + "virtualMachine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0" + } + } + }, + { + "name": "nic1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.5", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.1" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "ruw4wz3grewudjsyzrxj44pxod.cdmx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "primary": true, + "virtualMachine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssPublicIpGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssPublicIpGet.json new file mode 100644 index 000000000000..229c15712a0d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssPublicIpGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "virtualMachineScaleSetName": "vmss1", + "resourceGroupName": "vmss-tester", + "api-version": "2018-10-01", + "subscriptionId": "subid", + "virtualmachineIndex": 1, + "networkInterfaceName": "nic1", + "ipConfigurationName": "ip1", + "publicIpAddressName": "pub1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1", + "name": "pub1", + "properties": { + "publicIPAllocationMethod": "Dynamic", + "publicIPAddressVersion": "IPv4", + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1" + }, + "dnsSettings": { + "domainNameLabel": "vm1.testvmssacc", + "fqdn": "vm1.testvmssacc.southeastasia.cloudapp.azure.com" + }, + "ipAddress": "13.67.119.72", + "idleTimeoutInMinutes": 10, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssPublicIpListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssPublicIpListAll.json new file mode 100644 index 000000000000..605e0b831869 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssPublicIpListAll.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "virtualMachineScaleSetName": "vmss1", + "resourceGroupName": "vmss-tester", + "api-version": "2018-10-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1", + "name": "pub1", + "properties": { + "publicIPAllocationMethod": "Dynamic", + "publicIPAddressVersion": "IPv4", + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1" + }, + "dnsSettings": { + "domainNameLabel": "vm1.testvmssacc", + "fqdn": "vm1.testvmssacc.southeastasia.cloudapp.azure.com" + }, + "ipAddress": "13.67.119.72", + "idleTimeoutInMinutes": 10, + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/3/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1", + "name": "pub1", + "properties": { + "publicIPAllocationMethod": "Dynamic", + "publicIPAddressVersion": "IPv4", + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/3/networkInterfaces/nic1/ipConfigurations/ip1" + }, + "dnsSettings": { + "domainNameLabel": "vm3.testvmssacc", + "fqdn": "vm3.testvmssacc.southeastasia.cloudapp.azure.com" + }, + "ipAddress": "13.67.118.216", + "idleTimeoutInMinutes": 10, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssVmNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssVmNetworkInterfaceList.json new file mode 100644 index 000000000000..e4f1cbf14ebf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssVmNetworkInterfaceList.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2018-10-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualMachineScaleSetName": "vmss1", + "virtualmachineIndex": "1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nic1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.5", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.1" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "ruw4wz3grewudjsyzrxj44pxod.cdmx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "primary": true, + "virtualMachine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssVmPublicIpList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssVmPublicIpList.json new file mode 100644 index 000000000000..d21f5d40ed03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VmssVmPublicIpList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "virtualMachineScaleSetName": "vmss1", + "resourceGroupName": "vmss-tester", + "api-version": "2018-10-01", + "subscriptionId": "subid", + "virtualmachineIndex": 1, + "networkInterfaceName": "nic1", + "ipConfigurationName": "ip1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1", + "name": "pub1", + "properties": { + "publicIPAllocationMethod": "Dynamic", + "publicIPAddressVersion": "IPv4", + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1" + }, + "dnsSettings": { + "domainNameLabel": "vm1.testvmssacc", + "fqdn": "vm1.testvmssacc.southeastasia.cloudapp.azure.com" + }, + "ipAddress": "13.67.119.72", + "idleTimeoutInMinutes": 10, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionDelete.json new file mode 100644 index 000000000000..a7ef8b9713dd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "connectionName": "vpnConnection1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionGet.json new file mode 100644 index 000000000000..a87384893e16 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionGet.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "connectionName": "vpnConnection1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "enableInternetSecurity": false, + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "trafficSelectorPolicies": [], + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "vpnLinkConnectionMode": "ResponderOnly" + } + }, + { + "name": "Connection-Link2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "vpnLinkConnectionMode": "InitiatorOnly" + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionList.json new file mode 100644 index 000000000000..bebe331dbf54 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionList.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "enableInternetSecurity": false, + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "trafficSelectorPolicies": [], + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "vpnLinkConnectionMode": "Default" + } + }, + { + "name": "Connection-Link2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "vpnLinkConnectionMode": "Default" + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionPut.json new file mode 100644 index 000000000000..0cae2f968088 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionPut.json @@ -0,0 +1,169 @@ +{ + "parameters": { + "connectionName": "vpnConnection1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "VpnConnectionParameters": { + "properties": { + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "properties": { + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "vpnLinkConnectionMode": "Default", + "usePolicyBasedTrafficSelectors": false + } + } + ], + "trafficSelectorPolicies": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "enableInternetSecurity": false, + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "vpnLinkConnectionMode": "Default" + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "trafficSelectorPolicies": [] + } + } + }, + "201": { + "body": { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "enableInternetSecurity": false, + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "vpnLinkConnectionMode": "Default" + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "trafficSelectorPolicies": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionStartPacketCapture.json new file mode 100644 index 000000000000..481701c0c0ca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionStartPacketCapture.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "gateway1", + "vpnConnectionName": "vpnConnection1", + "parameters": { + "linkConnectionNames": [ + "siteLink1", + "siteLink2" + ] + } + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..fc531f92f9cb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionStartPacketCaptureFilterData.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "gateway1", + "vpnConnectionName": "vpnConnection1", + "parameters": { + "filterData": "{'TracingFlags': 11,'MaxPacketBufferSize': 120,'MaxFileSize': 200,'Filters': [{'SourceSubnets': ['20.1.1.0/24'],'DestinationSubnets': ['10.1.1.0/24'],'SourcePort': [500],'DestinationPort': [4500],'Protocol': 6,'TcpFlags': 16,'CaptureSingleDirectionTrafficOnly': true}]}", + "linkConnectionNames": [ + "siteLink1", + "siteLink2" + ] + } + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionStopPacketCapture.json new file mode 100644 index 000000000000..e058de75ec33 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnConnectionStopPacketCapture.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "gateway1", + "vpnConnectionName": "vpnConnection1", + "parameters": { + "sasUrl": "https://teststorage.blob.core.windows.net/?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-09-13T07:44:05Z&st=2019-09-06T23:44:05Z&spr=https&sig=V1h9D1riltvZMI69d6ihENnFo%2FrCvTqGgjO2lf%2FVBhE%3D", + "linkConnectionNames": [ + "vpnSiteLink1", + "vpnSiteLink2" + ] + } + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayDelete.json new file mode 100644 index 000000000000..41a519e356bd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayGet.json new file mode 100644 index 000000000000..6fd8912d17eb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayGet.json @@ -0,0 +1,207 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "gateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/vpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "connections": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "enableInternetSecurity": false, + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "ingressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03" + } + ] + } + }, + { + "name": "Connection-Link2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat04" + } + ] + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "defaultBgpIpAddresses": [ + "10.30.0.4" + ], + "customBgpIpAddresses": [ + "169.254.21.5" + ], + "tunnelIpAddresses": [ + "104.208.48.178" + ] + }, + { + "ipconfigurationId": "Instance1", + "defaultBgpIpAddresses": [ + "10.30.0.5" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "104.208.48.179" + ] + } + ] + }, + "natRules": [ + { + "name": "nat03", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03", + "properties": { + "type": "Dynamic", + "mode": "IgressSnat", + "internalMappings": [ + { + "addressSpace": "0.0.0.0/26" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.0.0/26" + } + ], + "ingressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/Connection-Link1" + } + ] + }, + "type": "Microsoft.Network/vpnGateways/natRules" + }, + { + "name": "nat04", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat04", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "0.0.0.0/26" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.0.0/26" + } + ], + "egressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/Connection-Link2" + } + ] + }, + "type": "Microsoft.Network/vpnGateways/natRules" + } + ], + "isRoutingPreferenceInternet": false, + "enableBgpRouteTranslationForNat": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayList.json new file mode 100644 index 000000000000..79999580079f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayList.json @@ -0,0 +1,304 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "gateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/vpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "connections": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "enableInternetSecurity": false, + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "ingressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03" + } + ] + } + }, + { + "name": "Connection-Link2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat04" + } + ] + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "defaultBgpIpAddresses": [ + "10.30.0.4" + ], + "customBgpIpAddresses": [ + "169.254.21.5" + ], + "tunnelIpAddresses": [ + "104.208.48.178" + ] + }, + { + "ipconfigurationId": "Instance1", + "defaultBgpIpAddresses": [ + "10.30.0.5" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "104.208.48.179" + ] + } + ] + }, + "natRules": [ + { + "name": "nat03", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03", + "properties": { + "type": "Dynamic", + "mode": "IgressSnat", + "internalMappings": [ + { + "addressSpace": "0.0.0.0/26" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.0.0/26" + } + ], + "ingressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/Connection-Link1" + } + ] + }, + "type": "Microsoft.Network/vpnGateways/natRules" + }, + { + "name": "nat04", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat04", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "0.0.0.0/26" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.0.0/26" + } + ], + "egressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/Connection-Link2" + } + ] + }, + "type": "Microsoft.Network/vpnGateways/natRules" + } + ], + "isRoutingPreferenceInternet": false, + "enableBgpRouteTranslationForNat": false + } + }, + { + "name": "gateway2", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnGateways/gateway2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/vpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2" + }, + "connections": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnGateways/gateway2/vpnConnections/vpnConnection2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite2" + }, + "connectionStatus": "Connected", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "routingWeight": 0, + "connectionBandwidth": 100, + "sharedKey": "key", + "enableBgp": false, + "useLocalAzureIpAddress": false, + "ipsecPolicies": [], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "defaultBgpIpAddresses": [ + "10.30.0.4" + ], + "customBgpIpAddresses": [ + "169.254.21.5" + ], + "tunnelIpAddresses": [ + "104.208.48.178" + ] + }, + { + "ipconfigurationId": "Instance1", + "defaultBgpIpAddresses": [ + "10.30.0.5" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "104.208.48.179" + ] + } + ] + }, + "natRules": [], + "isRoutingPreferenceInternet": false, + "enableBgpRouteTranslationForNat": false + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayListByResourceGroup.json new file mode 100644 index 000000000000..a880abb37795 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayListByResourceGroup.json @@ -0,0 +1,280 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "gateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/vpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "connections": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "enableInternetSecurity": false, + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03" + } + ] + } + }, + { + "name": "Connection-Link2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03" + } + ] + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "defaultBgpIpAddresses": [ + "10.30.0.4" + ], + "customBgpIpAddresses": [ + "169.254.21.5" + ], + "tunnelIpAddresses": [ + "104.208.48.178" + ] + }, + { + "ipconfigurationId": "Instance1", + "defaultBgpIpAddresses": [ + "10.30.0.5" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "104.208.48.179" + ] + } + ] + }, + "natRules": [ + { + "name": "nat03", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "0.0.0.0/26" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.0.0/26" + } + ], + "egressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/Connection-Link1" + } + ] + }, + "type": "Microsoft.Network/vpnGateways/natRules" + } + ], + "isRoutingPreferenceInternet": false, + "enableBgpRouteTranslationForNat": false + } + }, + { + "name": "gateway2", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnGateways/gateway2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/vpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2" + }, + "connections": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnGateways/gateway2/vpnConnections/vpnConnection2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite2" + }, + "connectionStatus": "Connected", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "routingWeight": 0, + "connectionBandwidth": 100, + "sharedKey": "key", + "enableBgp": false, + "useLocalAzureIpAddress": false, + "ipsecPolicies": [], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "defaultBgpIpAddresses": [ + "10.30.0.4" + ], + "customBgpIpAddresses": [ + "169.254.21.5" + ], + "tunnelIpAddresses": [ + "104.208.48.178" + ] + }, + { + "ipconfigurationId": "Instance1", + "defaultBgpIpAddresses": [ + "10.30.0.5" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "104.208.48.179" + ] + } + ] + }, + "natRules": [], + "isRoutingPreferenceInternet": false, + "enableBgpRouteTranslationForNat": false + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayPut.json new file mode 100644 index 000000000000..54b22e5e80b8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayPut.json @@ -0,0 +1,377 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "vpnGatewayParameters": { + "location": "westcentralus", + "tags": { + "key1": "value1" + }, + "properties": { + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "connections": [ + { + "name": "vpnConnection1", + "properties": { + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "properties": { + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03" + } + ] + } + } + ] + } + } + ], + "bgpSettings": { + "asn": 65515, + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "customBgpIpAddresses": [ + "169.254.21.5" + ] + }, + { + "ipconfigurationId": "Instance1", + "customBgpIpAddresses": [ + "169.254.21.10" + ] + } + ] + }, + "natRules": [ + { + "name": "nat03", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "0.0.0.0/26" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.0.0/26" + } + ], + "ipConfigurationId": "" + } + } + ], + "isRoutingPreferenceInternet": false, + "enableBgpRouteTranslationForNat": false + } + } + }, + "responses": { + "200": { + "body": { + "name": "gateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/vpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "connections": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "enableInternetSecurity": false, + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03" + } + ] + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "defaultBgpIpAddresses": [ + "10.30.0.4" + ], + "customBgpIpAddresses": [ + "169.254.21.5" + ], + "tunnelIpAddresses": [ + "104.208.48.178" + ] + }, + { + "ipconfigurationId": "Instance1", + "defaultBgpIpAddresses": [ + "10.30.0.5" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "104.208.48.179" + ] + } + ] + }, + "natRules": [ + { + "name": "nat03", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "0.0.0.0/26" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.0.0/26" + } + ], + "egressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/Connection-Link1" + } + ] + } + } + ], + "isRoutingPreferenceInternet": false + } + } + }, + "201": { + "body": { + "name": "gateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/vpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "connections": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "enableInternetSecurity": false, + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03" + } + ] + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "defaultBgpIpAddresses": [ + "10.30.0.4" + ], + "customBgpIpAddresses": [ + "169.254.21.5" + ], + "tunnelIpAddresses": [ + "104.208.48.178" + ] + }, + { + "ipconfigurationId": "Instance1", + "defaultBgpIpAddresses": [ + "10.30.0.5" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "104.208.48.179" + ] + } + ] + }, + "natRules": [ + { + "name": "nat03", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "0.0.0.0/26" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.0.0/26" + } + ], + "egressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/Connection-Link1" + } + ] + } + } + ], + "isRoutingPreferenceInternet": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayReset.json new file mode 100644 index 000000000000..850ea46c6927 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayReset.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "gatewayName": "vpngw", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "vpngw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/vpngw", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/vpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "connections": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/vpngw/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "connectionStatus": "Connected", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "routingWeight": 0, + "connectionBandwidth": 100, + "sharedKey": "key", + "enableBgp": false, + "useLocalAzureIpAddress": false, + "ipsecPolicies": [], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "defaultBgpIpAddresses": [ + "10.30.0.4" + ], + "customBgpIpAddresses": [ + "169.254.21.5" + ], + "tunnelIpAddresses": [ + "104.208.48.178" + ] + }, + { + "ipconfigurationId": "Instance1", + "defaultBgpIpAddresses": [ + "10.30.0.5" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "104.208.48.179" + ] + } + ] + }, + "natRules": [], + "isRoutingPreferenceInternet": false, + "enableBgpRouteTranslationForNat": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayStartPacketCapture.json new file mode 100644 index 000000000000..045335d1fdea --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayStartPacketCapture.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..8f7f5b1d9468 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayStartPacketCaptureFilterData.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "vpngw", + "parameters": { + "filterData": "{'TracingFlags': 11,'MaxPacketBufferSize': 120,'MaxFileSize': 200,'Filters': [{'SourceSubnets': ['20.1.1.0/24'],'DestinationSubnets': ['10.1.1.0/24'],'SourcePort': [500],'DestinationPort': [4500],'Protocol': 6,'TcpFlags': 16,'CaptureSingleDirectionTrafficOnly': true}]}" + } + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayStopPacketCapture.json new file mode 100644 index 000000000000..75a2bd0b683c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayStopPacketCapture.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "vpngw", + "parameters": { + "sasUrl": "https://teststorage.blob.core.windows.net/?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-09-13T07:44:05Z&st=2019-09-06T23:44:05Z&spr=https&sig=V1h9D1riltvZMI69d6ihENnFo%2FrCvTqGgjO2lf%2FVBhE%3D" + } + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayUpdateTags.json new file mode 100644 index 000000000000..741437e54687 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnGatewayUpdateTags.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "vpnGatewayParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "gateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/vpnGateways", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "connections": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "connectionStatus": "Connected", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "routingWeight": 0, + "sharedKey": "key", + "enableBgp": false, + "ipsecPolicies": [], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "bgpSettings": { + "asn": 65515, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "defaultBgpIpAddresses": [ + "10.30.0.4" + ], + "customBgpIpAddresses": [ + "169.254.21.5" + ], + "tunnelIpAddresses": [ + "104.208.48.178" + ] + }, + { + "ipconfigurationId": "Instance1", + "defaultBgpIpAddresses": [ + "10.30.0.5" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "104.208.48.179" + ] + } + ] + }, + "natRules": [], + "isRoutingPreferenceInternet": false, + "enableBgpRouteTranslationForNat": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnServerConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnServerConfigurationDelete.json new file mode 100644 index 000000000000..06473feea312 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnServerConfigurationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnServerConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnServerConfigurationGet.json new file mode 100644 index 000000000000..6accd72012a5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnServerConfigurationGet.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnServerConfiguration1", + "type": "Microsoft.Network/vpnServerConfigurations", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "vpnProtocols": [ + "IkeV2" + ], + "vpnAuthenticationTypes": [ + "Certificate" + ], + "vpnClientIpsecPolicies": [ + { + "saLifeTimeSeconds": 86472, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup14", + "pfsGroup": "PFS14" + } + ], + "vpnClientRootCertificates": [ + { + "name": "vpnServerConfigVpnClientRootCert1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN" + } + ], + "vpnClientRevokedCertificates": [ + { + "name": "vpnServerConfigVpnClientRevokedCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ], + "radiusServers": [ + { + "radiusServerAddress": "10.0.0.0", + "radiusServerScore": 25 + } + ], + "radiusServerRootCertificates": [ + { + "name": "vpnServerConfigRadiusServerRootCer1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM" + } + ], + "radiusClientRootCertificates": [ + { + "name": "vpnServerConfigRadiusClientRootCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnServerConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnServerConfigurationList.json new file mode 100644 index 000000000000..b001c1de2cef --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnServerConfigurationList.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnServerConfiguration1", + "type": "Microsoft.Network/vpnServerConfigurations", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "vpnProtocols": [ + "IkeV2" + ], + "vpnAuthenticationTypes": [ + "Certificate" + ], + "vpnClientIpsecPolicies": [ + { + "saLifeTimeSeconds": 86472, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup14", + "pfsGroup": "PFS14" + } + ], + "vpnClientRootCertificates": [ + { + "name": "vpnServerConfigVpnClientRootCert1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN" + } + ], + "vpnClientRevokedCertificates": [ + { + "name": "vpnServerConfigVpnClientRevokedCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ], + "radiusServerAddress": "8.9.9.9", + "radiusServerSecret": "", + "radiusServerRootCertificates": [ + { + "name": "vpnServerConfigRadiusServerRootCer1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM" + } + ], + "radiusClientRootCertificates": [ + { + "name": "vpnServerConfigRadiusClientRootCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "East US", + "name": "vpnServerConfiguration2", + "type": "Microsoft.Network/vpnServerConfigurations", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "vpnProtocols": [ + "IkeV2" + ], + "vpnAuthenticationTypes": [ + "Certificate" + ], + "vpnClientIpsecPolicies": [ + { + "saLifeTimeSeconds": 86472, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup14", + "pfsGroup": "PFS14" + } + ], + "vpnClientRootCertificates": [ + { + "name": "vpnServerConfigVpnClientRootCert1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN" + } + ], + "vpnClientRevokedCertificates": [ + { + "name": "vpnServerConfigVpnClientRevokedCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ], + "radiusServers": [ + { + "radiusServerAddress": "10.0.0.0", + "radiusServerScore": 25 + } + ], + "radiusServerRootCertificates": [ + { + "name": "vpnServerConfigRadiusServerRootCer1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM" + } + ], + "radiusClientRootCertificates": [ + { + "name": "vpnServerConfigRadiusClientRootCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnServerConfigurationListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnServerConfigurationListByResourceGroup.json new file mode 100644 index 000000000000..a55c438478af --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnServerConfigurationListByResourceGroup.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnServerConfiguration1", + "type": "Microsoft.Network/vpnServerConfigurations", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "vpnProtocols": [ + "IkeV2" + ], + "vpnAuthenticationTypes": [ + "Certificate" + ], + "vpnClientIpsecPolicies": [ + { + "saLifeTimeSeconds": 86472, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup14", + "pfsGroup": "PFS14" + } + ], + "vpnClientRootCertificates": [ + { + "name": "vpnServerConfigVpnClientRootCert1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN" + } + ], + "vpnClientRevokedCertificates": [ + { + "name": "vpnServerConfigVpnClientRevokedCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ], + "radiusServerAddress": "8.9.9.9", + "radiusServerSecret": "", + "radiusServerRootCertificates": [ + { + "name": "vpnServerConfigRadiusServerRootCer1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM" + } + ], + "radiusClientRootCertificates": [ + { + "name": "vpnServerConfigRadiusClientRootCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnServerConfiguration2", + "type": "Microsoft.Network/vpnServerConfigurations", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "vpnProtocols": [ + "IkeV2" + ], + "vpnAuthenticationTypes": [ + "Certificate" + ], + "vpnClientIpsecPolicies": [ + { + "saLifeTimeSeconds": 86472, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup14", + "pfsGroup": "PFS14" + } + ], + "vpnClientRootCertificates": [ + { + "name": "vpnServerConfigVpnClientRootCert1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN" + } + ], + "vpnClientRevokedCertificates": [ + { + "name": "vpnServerConfigVpnClientRevokedCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ], + "radiusServerAddress": "8.9.9.9", + "radiusServerSecret": "", + "radiusServerRootCertificates": [ + { + "name": "vpnServerConfigRadiusServerRootCer1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM" + } + ], + "radiusClientRootCertificates": [ + { + "name": "vpnServerConfigRadiusClientRootCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnServerConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnServerConfigurationPut.json new file mode 100644 index 000000000000..92a22c4de465 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnServerConfigurationPut.json @@ -0,0 +1,190 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "VpnServerConfigurationParameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "properties": { + "vpnProtocols": [ + "IkeV2" + ], + "vpnClientIpsecPolicies": [ + { + "saLifeTimeSeconds": 86472, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup14", + "pfsGroup": "PFS14" + } + ], + "vpnClientRootCertificates": [ + { + "name": "vpnServerConfigVpnClientRootCert1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN" + } + ], + "vpnClientRevokedCertificates": [ + { + "name": "vpnServerConfigVpnClientRevokedCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ], + "radiusServers": [ + { + "radiusServerAddress": "10.0.0.0", + "radiusServerScore": 25, + "radiusServerSecret": "radiusServerSecret" + } + ], + "radiusServerRootCertificates": [ + { + "name": "vpnServerConfigRadiusServerRootCer1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM" + } + ], + "radiusClientRootCertificates": [ + { + "name": "vpnServerConfigRadiusClientRootCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnServerConfiguration1", + "type": "Microsoft.Network/vpnServerConfigurations", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "vpnProtocols": [ + "IkeV2" + ], + "vpnAuthenticationTypes": [ + "Certificate" + ], + "vpnClientIpsecPolicies": [ + { + "saLifeTimeSeconds": 86472, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup14", + "pfsGroup": "PFS14" + } + ], + "vpnClientRootCertificates": [ + { + "name": "vpnServerConfigVpnClientRootCert1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN" + } + ], + "vpnClientRevokedCertificates": [ + { + "name": "vpnServerConfigVpnClientRevokedCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ], + "radiusServers": [ + { + "radiusServerAddress": "10.0.0.0", + "radiusServerScore": 25 + } + ], + "radiusServerRootCertificates": [ + { + "name": "vpnServerConfigRadiusServerRootCer1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM" + } + ], + "radiusClientRootCertificates": [ + { + "name": "vpnServerConfigRadiusClientRootCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnServerConfiguration1", + "type": "Microsoft.Network/vpnServerConfigurations", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "vpnProtocols": [ + "IkeV2" + ], + "vpnAuthenticationTypes": [ + "Certificate" + ], + "vpnClientIpsecPolicies": [ + { + "saLifeTimeSeconds": 86472, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup14", + "pfsGroup": "PFS14" + } + ], + "vpnClientRootCertificates": [ + { + "name": "vpnServerConfigVpnClientRootCert1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN" + } + ], + "vpnClientRevokedCertificates": [ + { + "name": "vpnServerConfigVpnClientRevokedCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ], + "radiusServers": [ + { + "radiusServerAddress": "10.0.0.0", + "radiusServerScore": 25 + } + ], + "radiusServerRootCertificates": [ + { + "name": "vpnServerConfigRadiusServerRootCer1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM" + } + ], + "radiusClientRootCertificates": [ + { + "name": "vpnServerConfigRadiusClientRootCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnServerConfigurationUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnServerConfigurationUpdateTags.json new file mode 100644 index 000000000000..b290454a928c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnServerConfigurationUpdateTags.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "VpnServerConfigurationParameters": { + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnServerConfiguration1", + "type": "Microsoft.Network/vpnServerConfigurations", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "vpnProtocols": [ + "IkeV2" + ], + "vpnClientIpsecPolicies": [ + { + "saLifeTimeSeconds": 86472, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup14", + "pfsGroup": "PFS14" + } + ], + "vpnClientRootCertificates": [ + { + "name": "vpnServerConfigVpnClientRootCert1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN" + } + ], + "vpnClientRevokedCertificates": [ + { + "name": "vpnServerConfigVpnClientRevokedCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ], + "radiusServerAddress": "8.9.9.9", + "radiusServerSecret": "", + "radiusServerRootCertificates": [ + { + "name": "vpnServerConfigRadiusServerRootCer1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM" + } + ], + "radiusClientRootCertificates": [ + { + "name": "vpnServerConfigRadiusClientRootCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteDelete.json new file mode 100644 index 000000000000..760c39d91a16 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteGet.json new file mode 100644 index 000000000000..8ea2313bcbeb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnSite1", + "type": "Microsoft.Network/vpnSites", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1" + }, + "deviceProperties": { + "linkSpeedInMbps": 0 + }, + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "isSecuritySite": false, + "vpnSiteLinks": [ + { + "name": "vpnSiteLink1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1", + "type": "Microsoft.Network/vpnSites/vpnSiteLinks", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "50.50.50.56", + "linkProperties": { + "linkProviderName": "vendor1", + "linkSpeedInMbps": 0 + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteLinkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteLinkConnectionGet.json new file mode 100644 index 000000000000..25493e955785 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteLinkConnectionGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "connectionName": "vpnConnection1", + "linkConnectionName": "Connection-Link1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "Connection-Link1", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0 + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteLinkConnectionGetIkeSas.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteLinkConnectionGetIkeSas.json new file mode 100644 index 000000000000..89b114ea89cd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteLinkConnectionGetIkeSas.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "gateway1", + "connectionName": "vpnConnection1", + "linkConnectionName": "Connection-Link1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/westus/operationResults/{operationId}?api-version=2021-05-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteLinkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteLinkConnectionList.json new file mode 100644 index 000000000000..15544a13500e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteLinkConnectionList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "connectionName": "vpnConnection1" + }, + "responses": { + "200": { + "body": [ + { + "name": "Connection-Link1", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0 + } + } + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteLinkConnectionReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteLinkConnectionReset.json new file mode 100644 index 000000000000..1a1571a85599 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteLinkConnectionReset.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "gateway1", + "connectionName": "vpnConnection1", + "linkConnectionName": "Connection-Link1" + }, + "responses": { + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteLinkGet.json new file mode 100644 index 000000000000..62da555c41c4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteLinkGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "vpnSiteLinkName": "vpnSiteLink1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "vpnSiteLink1", + "type": "Microsoft.Network/vpnSites/vpnSiteLinks", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "50.50.50.56", + "linkProperties": { + "linkSpeedInMbps": 0 + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteLinkListByVpnSite.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteLinkListByVpnSite.json new file mode 100644 index 000000000000..c160e7814f01 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteLinkListByVpnSite.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "vpnSiteName": "vpnSite1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "vpnSiteLink1", + "type": "Microsoft.Network/vpnSites/vpnSiteLinks", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "50.50.50.56", + "linkProperties": { + "linkSpeedInMbps": 200 + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + }, + { + "name": "vpnSiteLink2", + "type": "Microsoft.Network/vpnSites/vpnSiteLinks", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "40.40.40.46", + "linkProperties": { + "linkSpeedInMbps": 200 + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.1", + "asn": 1234 + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteList.json new file mode 100644 index 000000000000..ffcd8fed9549 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteList.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnSite1", + "type": "Microsoft.Network/vpnSites", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1" + }, + "deviceProperties": { + "linkSpeedInMbps": 0 + }, + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "isSecuritySite": false, + "vpnSiteLinks": [ + { + "name": "vpnSiteLink1", + "type": "Microsoft.Network/vpnSites/vpnSiteLinks", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "50.50.50.56", + "linkProperties": { + "linkSpeedInMbps": 0 + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + } + ] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "East US", + "name": "vpnSite2", + "type": "Microsoft.Network/vpnSites", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualWan": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualWANs/wan1", + "deviceProperties": { + "deviceVendor": "vendor1", + "deviceModel": "model01", + "linkSpeedInMbps": 200 + }, + "ipAddress": "10.1.0.0", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + }, + "isSecuritySite": false + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteListByResourceGroup.json new file mode 100644 index 000000000000..1fb394be3166 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteListByResourceGroup.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnSite1", + "type": "Microsoft.Network/vpnSites", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1" + }, + "deviceProperties": { + "linkSpeedInMbps": 0 + }, + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "isSecuritySite": false, + "vpnSiteLinks": [ + { + "name": "vpnSiteLink1", + "type": "Microsoft.Network/vpnSites/vpnSiteLinks", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "50.50.50.56", + "linkProperties": { + "linkSpeedInMbps": 0 + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + } + ] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnSite2", + "type": "Microsoft.Network/vpnSites", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1", + "deviceProperties": { + "deviceVendor": "vendor1", + "deviceModel": "model01", + "linkSpeedInMbps": 200 + }, + "ipAddress": "10.1.0.0", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSitePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSitePut.json new file mode 100644 index 000000000000..609324d97407 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSitePut.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "VpnSiteParameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "properties": { + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1" + }, + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "isSecuritySite": false, + "vpnSiteLinks": [ + { + "name": "vpnSiteLink1", + "properties": { + "ipAddress": "50.50.50.56", + "fqdn": "link1.vpnsite1.contoso.com", + "linkProperties": { + "linkProviderName": "vendor1", + "linkSpeedInMbps": 0 + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + } + ], + "o365Policy": { + "breakOutCategories": { + "allow": true, + "optimize": true, + "default": false + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnSite1", + "type": "Microsoft.Network/vpnSites", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1" + }, + "deviceProperties": { + "linkSpeedInMbps": 0 + }, + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "isSecuritySite": false, + "vpnSiteLinks": [ + { + "name": "vpnSiteLink1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/vpnSites/vpnSiteLinks", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "50.50.50.56", + "linkProperties": { + "linkProviderName": "vendor1", + "linkSpeedInMbps": 0 + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnSite1", + "type": "Microsoft.Network/vpnSites", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1" + }, + "deviceProperties": { + "linkSpeedInMbps": 0 + }, + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "isSecuritySite": false, + "vpnSiteLinks": [ + { + "name": "vpnSiteLink1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "50.50.50.56", + "linkProperties": { + "linkProviderName": "vendor1", + "linkSpeedInMbps": 0 + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteUpdateTags.json new file mode 100644 index 000000000000..4299f12aff7b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSiteUpdateTags.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "subscriptionId": "subid", + "VpnSiteParameters": { + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnSite1", + "type": "Microsoft.Network/vpnSites", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1", + "deviceProperties": { + "deviceVendor": "vendor1", + "deviceModel": "model01", + "linkSpeedInMbps": 200 + }, + "ipAddress": "10.0.0.0", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSitesConfigurationDownload.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSitesConfigurationDownload.json new file mode 100644 index 000000000000..3c03c6f711ed --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/VpnSitesConfigurationDownload.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2021-05-01", + "virtualWANName": "wan1", + "request": { + "vpnSites": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/abc" + ], + "outputBlobSasUrl": "https://blobcortextesturl.blob.core.windows.net/folderforconfig/vpnFile?sp=rw&se=2018-01-10T03%3A42%3A04Z&sv=2017-04-17&sig=WvXrT5bDmDFfgHs%2Brz%2BjAu123eRCNE9BO0eQYcPDT7pY%3D&sr=b" + } + }, + "responses": { + "200": { + "description": "Request successful. Follow the location header for sas-url to output blob." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/WafListAllPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/WafListAllPolicies.json new file mode 100644 index 000000000000..26d308235938 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/WafListAllPolicies.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Policy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1", + "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "state": "Enabled", + "mode": "Prevention", + "maxRequestBodySizeInKb": 2000, + "fileUploadLimitInMb": 4000, + "requestBodyCheck": true + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeader", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Windows" + ] + } + ], + "action": "Block" + } + ], + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/WafListPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/WafListPolicies.json new file mode 100644 index 000000000000..cb3fa0bcf9bb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/WafListPolicies.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Policy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1", + "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "state": "Enabled", + "mode": "Detection", + "maxRequestBodySizeInKb": 2000, + "fileUploadLimitInMb": 4000, + "requestBodyCheck": true + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2" + } + ] + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeader", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Windows" + ] + } + ], + "action": "Block" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/WafPolicyCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/WafPolicyCreateOrUpdate.json new file mode 100644 index 000000000000..5827a259665b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/WafPolicyCreateOrUpdate.json @@ -0,0 +1,402 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1", + "parameters": { + "location": "WestUs", + "properties": { + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2" + } + ], + "exclusions": [ + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroups": [ + { + "ruleGroupName": "REQUEST-930-APPLICATION-ATTACK-LFI", + "rules": [ + { + "ruleId": "930120" + } + ] + }, + { + "ruleGroupName": "REQUEST-932-APPLICATION-ATTACK-RCE" + } + ] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "EndsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.1", + "ruleGroups": [] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "test" + }, + { + "matchVariable": "RequestArgValues", + "selectorMatchOperator": "StartsWith", + "selector": "test" + } + ] + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "ruleType": "MatchRule", + "action": "Block", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ] + }, + { + "name": "Rule2", + "priority": 2, + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeaders", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "matchValues": [ + "Windows" + ] + } + ], + "action": "Block" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "Policy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1", + "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "state": "Enabled", + "mode": "Detection", + "maxRequestBodySizeInKb": 2000, + "fileUploadLimitInMb": 4000, + "requestBodyCheck": true + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2" + } + ], + "exclusions": [ + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroups": [ + { + "ruleGroupName": "REQUEST-930-APPLICATION-ATTACK-LFI", + "rules": [ + { + "ruleId": "930120" + } + ] + }, + { + "ruleGroupName": "REQUEST-932-APPLICATION-ATTACK-RCE" + } + ] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "EndsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.1", + "ruleGroups": [] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "test" + }, + { + "matchVariable": "RequestArgValues", + "selectorMatchOperator": "StartsWith", + "selector": "test" + } + ] + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeader", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Windows" + ] + } + ], + "action": "Block" + } + ] + } + } + }, + "201": { + "body": { + "name": "Policy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1", + "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "state": "Enabled", + "mode": "Detection", + "maxRequestBodySizeInKb": 2000, + "fileUploadLimitInMb": 4000, + "requestBodyCheck": true + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2" + } + ], + "exclusions": [ + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroups": [ + { + "ruleGroupName": "REQUEST-930-APPLICATION-ATTACK-LFI", + "rules": [ + { + "ruleId": "930120" + } + ] + }, + { + "ruleGroupName": "REQUEST-932-APPLICATION-ATTACK-RCE" + } + ] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "EndsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.1", + "ruleGroups": [] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "test" + }, + { + "matchVariable": "RequestArgValues", + "selectorMatchOperator": "StartsWith", + "selector": "test" + } + ] + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeader", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Windows" + ] + } + ], + "action": "Block" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/WafPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/WafPolicyDelete.json new file mode 100644 index 000000000000..133b6cd54e61 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/WafPolicyDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/WafPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/WafPolicyGet.json new file mode 100644 index 000000000000..014b8b8e2971 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/examples/WafPolicyGet.json @@ -0,0 +1,181 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1" + }, + "responses": { + "200": { + "body": { + "name": "Policy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1", + "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "state": "Enabled", + "mode": "Prevention", + "maxRequestBodySizeInKb": 2000, + "fileUploadLimitInMb": 4000, + "requestBodyCheck": true + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeader", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Windows" + ] + } + ], + "action": "Block" + } + ], + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroupOverrides": [ + { + "ruleGroupName": "REQUEST-942-APPLICATION-ATTACK-SQLI", + "rules": [ + { + "ruleId": "942130", + "state": "Disabled" + }, + { + "ruleId": "942110", + "state": "Disabled" + } + ] + }, + { + "ruleGroupName": "REQUEST-920-PROTOCOL-ENFORCEMENT", + "rules": [ + { + "ruleId": "920100", + "state": "Disabled" + }, + { + "ruleId": "920120", + "state": "Disabled" + } + ] + } + ] + } + ], + "exclusions": [ + { + "matchVariable": "RequestHeaderNames", + "selectorMatchOperator": "Equals", + "selector": "testHeader1" + }, + { + "matchVariable": "RequestHeaderNames", + "selectorMatchOperator": "StartsWith", + "selector": "testHeader2" + }, + { + "matchVariable": "RequestArgValues", + "selectorMatchOperator": "StartsWith", + "selector": "hello" + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroups": [ + { + "ruleGroupName": "REQUEST-930-APPLICATION-ATTACK-LFI", + "rules": [ + { + "ruleId": "930120" + } + ] + }, + { + "ruleGroupName": "REQUEST-932-APPLICATION-ATTACK-RCE" + } + ] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "EndsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.1", + "ruleGroups": [] + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/expressRouteCircuit.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/expressRouteCircuit.json new file mode 100644 index 000000000000..43f0a0ef7eda --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/expressRouteCircuit.json @@ -0,0 +1,2507 @@ +{ + "swagger": "2.0", + "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-05-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.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}": { + "delete": { + "tags": [ + "ExpressRouteCircuitAuthorizations" + ], + "operationId": "ExpressRouteCircuitAuthorizations_Delete", + "description": "Deletes the specified authorization from the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "authorizationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the authorization." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Delete successful." + }, + "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" + }, + "x-ms-examples": { + "Delete ExpressRouteCircuit Authorization": { + "$ref": "./examples/ExpressRouteCircuitAuthorizationDelete.json" + } + } + }, + "get": { + "tags": [ + "ExpressRouteCircuitAuthorizations" + ], + "operationId": "ExpressRouteCircuitAuthorizations_Get", + "description": "Gets the specified authorization from the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "authorizationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the authorization." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the ExpressRouteCircuitAuthorization resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ExpressRouteCircuit Authorization": { + "$ref": "./examples/ExpressRouteCircuitAuthorizationGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRouteCircuitAuthorizations" + ], + "operationId": "ExpressRouteCircuitAuthorizations_CreateOrUpdate", + "description": "Creates or updates an authorization in the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "authorizationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the authorization." + }, + { + "name": "authorizationParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + }, + "description": "Parameters supplied to the create or update express route circuit authorization operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + } + }, + "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" + }, + "x-ms-examples": { + "Create ExpressRouteCircuit Authorization": { + "$ref": "./examples/ExpressRouteCircuitAuthorizationCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations": { + "get": { + "tags": [ + "ExpressRouteCircuitAuthorizations" + ], + "operationId": "ExpressRouteCircuitAuthorizations_List", + "description": "Gets all authorizations in an express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the circuit." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteCircuitAuthorization resources.", + "schema": { + "$ref": "#/definitions/AuthorizationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRouteCircuit Authorization": { + "$ref": "./examples/ExpressRouteCircuitAuthorizationList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}": { + "delete": { + "tags": [ + "ExpressRouteCircuitPeerings" + ], + "operationId": "ExpressRouteCircuitPeerings_Delete", + "description": "Deletes the specified peering from the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "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" + }, + "x-ms-examples": { + "Delete ExpressRouteCircuit Peerings": { + "$ref": "./examples/ExpressRouteCircuitPeeringDelete.json" + } + } + }, + "get": { + "tags": [ + "ExpressRouteCircuitPeerings" + ], + "operationId": "ExpressRouteCircuitPeerings_Get", + "description": "Gets the specified peering for the express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ExpressRouteCircuit Peering": { + "$ref": "./examples/ExpressRouteCircuitPeeringGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRouteCircuitPeerings" + ], + "operationId": "ExpressRouteCircuitPeerings_CreateOrUpdate", + "description": "Creates or updates a peering in the specified express route circuits.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "peeringParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + }, + "description": "Parameters supplied to the create or update express route circuit peering operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCircuitPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ExpressRouteCircuitPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + } + }, + "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" + }, + "x-ms-examples": { + "Create ExpressRouteCircuit Peerings": { + "$ref": "./examples/ExpressRouteCircuitPeeringCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings": { + "get": { + "tags": [ + "ExpressRouteCircuitPeerings" + ], + "operationId": "ExpressRouteCircuitPeerings_List", + "description": "Gets all peerings in a specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteCircuitPeering resources.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitPeeringListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRouteCircuit Peerings": { + "$ref": "./examples/ExpressRouteCircuitPeeringList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}": { + "delete": { + "tags": [ + "ExpressRouteCircuitConnections" + ], + "operationId": "ExpressRouteCircuitConnections_Delete", + "description": "Deletes the specified Express Route Circuit Connection from the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete ExpressRouteCircuit": { + "$ref": "./examples/ExpressRouteCircuitConnectionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "ExpressRouteCircuitConnections" + ], + "operationId": "ExpressRouteCircuitConnections_Get", + "description": "Gets the specified Express Route Circuit Connection from the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Express Route Circuit Connection resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteCircuitConnectionGet": { + "$ref": "./examples/ExpressRouteCircuitConnectionGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRouteCircuitConnections" + ], + "operationId": "ExpressRouteCircuitConnections_CreateOrUpdate", + "description": "Creates or updates a Express Route Circuit Connection in the specified express route circuits.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit connection." + }, + { + "name": "expressRouteCircuitConnectionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + }, + "description": "Parameters supplied to the create or update express route circuit connection operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCircuitPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ExpressRouteCircuitPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteCircuitConnectionCreate": { + "$ref": "./examples/ExpressRouteCircuitConnectionCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections": { + "get": { + "tags": [ + "ExpressRouteCircuitConnections" + ], + "operationId": "ExpressRouteCircuitConnections_List", + "description": "Gets all global reach connections associated with a private peering in an express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteCircuitConnections resources.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRouteCircuit Connection": { + "$ref": "./examples/ExpressRouteCircuitConnectionList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections/{connectionName}": { + "get": { + "tags": [ + "PeerExpressRouteCircuitConnections" + ], + "operationId": "PeerExpressRouteCircuitConnections_Get", + "description": "Gets the specified Peer Express Route Circuit Connection from the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peer express route circuit connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Peer Express Route Circuit Connection resource.", + "schema": { + "$ref": "#/definitions/PeerExpressRouteCircuitConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PeerExpressRouteCircuitConnectionGet": { + "$ref": "./examples/PeerExpressRouteCircuitConnectionGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections": { + "get": { + "tags": [ + "PeerExpressRouteCircuitConnections" + ], + "operationId": "PeerExpressRouteCircuitConnections_List", + "description": "Gets all global reach peer connections associated with a private peering in an express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PeerExpressRouteCircuitConnections resources.", + "schema": { + "$ref": "#/definitions/PeerExpressRouteCircuitConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Peer ExpressRouteCircuit Connection": { + "$ref": "./examples/PeerExpressRouteCircuitConnectionList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}": { + "delete": { + "tags": [ + "ExpressRouteCircuits" + ], + "operationId": "ExpressRouteCircuits_Delete", + "description": "Deletes the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted. Sets 'Disabling' provisioningState until the operation completes. Returns an operation URI that can be queried to find the current state of the operation." + }, + "200": { + "description": "Delete successful." + }, + "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" + }, + "x-ms-examples": { + "Delete ExpressRouteCircuit": { + "$ref": "./examples/ExpressRouteCircuitDelete.json" + } + } + }, + "get": { + "tags": [ + "ExpressRouteCircuits" + ], + "operationId": "ExpressRouteCircuits_Get", + "description": "Gets information about the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of express route circuit." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuit resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuit" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ExpressRouteCircuit": { + "$ref": "./examples/ExpressRouteCircuitGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRouteCircuits" + ], + "operationId": "ExpressRouteCircuits_CreateOrUpdate", + "description": "Creates or updates an express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the circuit." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteCircuit" + }, + "description": "Parameters supplied to the create or update express route circuit operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting ExpressRouteCircuit resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuit" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCircuit resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuit" + } + }, + "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" + }, + "x-ms-examples": { + "Create ExpressRouteCircuit": { + "$ref": "./examples/ExpressRouteCircuitCreate.json" + }, + "Create ExpressRouteCircuit on ExpressRoutePort": { + "$ref": "./examples/ExpressRouteCircuitCreateOnExpressRoutePort.json" + } + } + }, + "patch": { + "tags": [ + "ExpressRouteCircuits" + ], + "operationId": "ExpressRouteCircuits_UpdateTags", + "description": "Updates an express route circuit tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the circuit." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update express route circuit tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCircuit resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuit" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Express Route Circuit Tags": { + "$ref": "./examples/ExpressRouteCircuitUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}": { + "post": { + "tags": [ + "ExpressRouteCircuitArpTable" + ], + "operationId": "ExpressRouteCircuits_ListArpTable", + "description": "Gets the currently advertised ARP table associated with the express route circuit in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "devicePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path of the device." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitsArpTable resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitsArpTableListResult" + } + }, + "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-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "List ARP Table": { + "$ref": "./examples/ExpressRouteCircuitARPTableList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}": { + "post": { + "tags": [ + "ExpressRouteCircuitRoutesTable" + ], + "operationId": "ExpressRouteCircuits_ListRoutesTable", + "description": "Gets the currently advertised routes table associated with the express route circuit in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "devicePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path of the device." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitsRouteTable resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitsRoutesTableListResult" + } + }, + "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-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "List Route Tables": { + "$ref": "./examples/ExpressRouteCircuitRouteTableList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}": { + "post": { + "tags": [ + "ExpressRouteCircuitRoutesTableSummary" + ], + "operationId": "ExpressRouteCircuits_ListRoutesTableSummary", + "description": "Gets the currently advertised routes table summary associated with the express route circuit in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "devicePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path of the device." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitsRoutesTableSummary resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitsRoutesTableSummaryListResult" + } + }, + "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-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "List Route Table Summary": { + "$ref": "./examples/ExpressRouteCircuitRouteTableSummaryList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats": { + "get": { + "tags": [ + "ExpressRouteCircuitStats" + ], + "operationId": "ExpressRouteCircuits_GetStats", + "description": "Gets all the stats from an express route circuit in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitStats resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitStats" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ExpressRoute Circuit Traffic Stats": { + "$ref": "./examples/ExpressRouteCircuitStats.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats": { + "get": { + "tags": [ + "ExpressRouteCircuitStats" + ], + "operationId": "ExpressRouteCircuits_GetPeeringStats", + "description": "Gets all stats from an express route circuit in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitStats resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitStats" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ExpressRoute Circuit Peering Traffic Stats": { + "$ref": "./examples/ExpressRouteCircuitPeeringStats.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits": { + "get": { + "tags": [ + "ExpressRouteCircuits" + ], + "operationId": "ExpressRouteCircuits_List", + "description": "Gets all the express route circuits in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRouteCircuits in a resource group": { + "$ref": "./examples/ExpressRouteCircuitListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits": { + "get": { + "tags": [ + "ExpressRouteCircuits" + ], + "operationId": "ExpressRouteCircuits_ListAll", + "description": "Gets all the express route circuits in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteCircuit resources.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRouteCircuits in a subscription": { + "$ref": "./examples/ExpressRouteCircuitListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders": { + "get": { + "tags": [ + "ExpressRouteServiceProviders" + ], + "operationId": "ExpressRouteServiceProviders_List", + "description": "Gets all the available express route service providers.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteServiceProvider resources.", + "schema": { + "$ref": "#/definitions/ExpressRouteServiceProviderListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRoute providers": { + "$ref": "./examples/ExpressRouteProviderList.json" + } + } + } + } + }, + "definitions": { + "AuthorizationPropertiesFormat": { + "properties": { + "authorizationKey": { + "type": "string", + "description": "The authorization key." + }, + "authorizationUseStatus": { + "type": "string", + "description": "The authorization use status.", + "enum": [ + "Available", + "InUse" + ], + "x-ms-enum": { + "name": "AuthorizationUseStatus", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the authorization resource." + } + }, + "description": "Properties of ExpressRouteCircuitAuthorization." + }, + "ExpressRouteCircuitAuthorization": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AuthorizationPropertiesFormat", + "description": "Properties of the express route circuit authorization." + }, + "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": { + "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": "Authorization in an ExpressRouteCircuit resource." + }, + "AuthorizationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + }, + "description": "The authorizations in an ExpressRoute Circuit." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListAuthorizations API service call retrieves all authorizations that belongs to an ExpressRouteCircuit." + }, + "ExpressRouteCircuitPeeringConfig": { + "properties": { + "advertisedPublicPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The reference to AdvertisedPublicPrefixes." + }, + "advertisedCommunities": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The communities of bgp peering. Specified for microsoft peering." + }, + "advertisedPublicPrefixesState": { + "readOnly": true, + "type": "string", + "description": "The advertised public prefix state of the Peering resource.", + "enum": [ + "NotConfigured", + "Configuring", + "Configured", + "ValidationNeeded" + ], + "x-ms-enum": { + "name": "ExpressRouteCircuitPeeringAdvertisedPublicPrefixState", + "modelAsString": true + } + }, + "legacyMode": { + "type": "integer", + "format": "int32", + "description": "The legacy mode of the peering." + }, + "customerASN": { + "type": "integer", + "format": "int32", + "description": "The CustomerASN of the peering." + }, + "routingRegistryName": { + "type": "string", + "description": "The RoutingRegistryName of the configuration." + } + }, + "description": "Specifies the peering configuration." + }, + "Ipv6ExpressRouteCircuitPeeringConfig": { + "properties": { + "primaryPeerAddressPrefix": { + "type": "string", + "description": "The primary address prefix." + }, + "secondaryPeerAddressPrefix": { + "type": "string", + "description": "The secondary address prefix." + }, + "microsoftPeeringConfig": { + "$ref": "#/definitions/ExpressRouteCircuitPeeringConfig", + "description": "The Microsoft peering configuration." + }, + "routeFilter": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the RouteFilter resource." + }, + "state": { + "type": "string", + "description": "The state of peering.", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "ExpressRouteCircuitPeeringState", + "modelAsString": true + } + } + }, + "description": "Contains IPv6 peering config." + }, + "ExpressRouteCircuitStats": { + "properties": { + "primarybytesIn": { + "type": "integer", + "format": "int64", + "description": "The Primary BytesIn of the peering." + }, + "primarybytesOut": { + "type": "integer", + "format": "int64", + "description": "The primary BytesOut of the peering." + }, + "secondarybytesIn": { + "type": "integer", + "format": "int64", + "description": "The secondary BytesIn of the peering." + }, + "secondarybytesOut": { + "type": "integer", + "format": "int64", + "description": "The secondary BytesOut of the peering." + } + }, + "description": "Contains stats associated with the peering." + }, + "ExpressRouteCircuitPeeringPropertiesFormat": { + "properties": { + "peeringType": { + "$ref": "#/definitions/ExpressRoutePeeringType", + "description": "The peering type." + }, + "state": { + "$ref": "#/definitions/ExpressRoutePeeringState", + "description": "The peering state." + }, + "azureASN": { + "type": "integer", + "format": "int32", + "description": "The Azure ASN." + }, + "peerASN": { + "type": "integer", + "format": "int64", + "minimum": 1, + "maximum": 4294967295, + "description": "The peer ASN." + }, + "primaryPeerAddressPrefix": { + "type": "string", + "description": "The primary address prefix." + }, + "secondaryPeerAddressPrefix": { + "type": "string", + "description": "The secondary address prefix." + }, + "primaryAzurePort": { + "type": "string", + "description": "The primary port." + }, + "secondaryAzurePort": { + "type": "string", + "description": "The secondary port." + }, + "sharedKey": { + "type": "string", + "description": "The shared key." + }, + "vlanId": { + "type": "integer", + "format": "int32", + "description": "The VLAN ID." + }, + "microsoftPeeringConfig": { + "$ref": "#/definitions/ExpressRouteCircuitPeeringConfig", + "description": "The Microsoft peering configuration." + }, + "stats": { + "$ref": "#/definitions/ExpressRouteCircuitStats", + "description": "The peering stats of express route circuit." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route circuit peering resource." + }, + "gatewayManagerEtag": { + "type": "string", + "description": "The GatewayManager Etag." + }, + "lastModifiedBy": { + "readOnly": true, + "type": "string", + "description": "Who was the last to modify the peering." + }, + "routeFilter": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the RouteFilter resource." + }, + "ipv6PeeringConfig": { + "$ref": "#/definitions/Ipv6ExpressRouteCircuitPeeringConfig", + "description": "The IPv6 peering configuration." + }, + "expressRouteConnection": { + "$ref": "./virtualWan.json#/definitions/ExpressRouteConnectionId", + "description": "The ExpressRoute connection." + }, + "connections": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + }, + "description": "The list of circuit connections associated with Azure Private Peering for this circuit." + }, + "peeredConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PeerExpressRouteCircuitConnection" + }, + "readOnly": true, + "description": "The list of peered circuit connections associated with Azure Private Peering for this circuit." + } + }, + "description": "Properties of the express route circuit peering." + }, + "ExpressRouteCircuitPeering": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteCircuitPeeringPropertiesFormat", + "description": "Properties of the express route circuit peering." + }, + "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": { + "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": "Peering in an ExpressRouteCircuit resource." + }, + "ExpressRouteCircuitPeeringListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + }, + "description": "The peerings in an express route circuit." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCircuit." + }, + "ExpressRoutePeeringType": { + "type": "string", + "description": "The peering type.", + "enum": [ + "AzurePublicPeering", + "AzurePrivatePeering", + "MicrosoftPeering" + ], + "x-ms-enum": { + "name": "ExpressRoutePeeringType", + "modelAsString": true + } + }, + "ExpressRoutePeeringState": { + "type": "string", + "description": "The state of peering.", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "ExpressRoutePeeringState", + "modelAsString": true + } + }, + "Ipv6CircuitConnectionConfig": { + "description": "IPv6 Circuit Connection properties for global reach.", + "properties": { + "addressPrefix": { + "type": "string", + "description": "/125 IP address space to carve out customer addresses for global reach." + }, + "circuitConnectionStatus": { + "readOnly": true, + "$ref": "#/definitions/CircuitConnectionStatus", + "description": "Express Route Circuit connection state." + } + } + }, + "ExpressRouteCircuitConnectionPropertiesFormat": { + "properties": { + "expressRouteCircuitPeering": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to Express Route Circuit Private Peering Resource of the circuit initiating connection." + }, + "peerExpressRouteCircuitPeering": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to Express Route Circuit Private Peering Resource of the peered circuit." + }, + "addressPrefix": { + "type": "string", + "description": "/29 IP address space to carve out Customer addresses for tunnels." + }, + "authorizationKey": { + "type": "string", + "description": "The authorization key." + }, + "ipv6CircuitConnectionConfig": { + "$ref": "#/definitions/Ipv6CircuitConnectionConfig", + "description": "IPv6 Address PrefixProperties of the express route circuit connection." + }, + "circuitConnectionStatus": { + "$ref": "#/definitions/CircuitConnectionStatus", + "description": "Express Route Circuit connection state." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route circuit connection resource." + } + }, + "description": "Properties of the express route circuit connection." + }, + "ExpressRouteCircuitConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteCircuitConnectionPropertiesFormat", + "description": "Properties of the express route circuit connection." + }, + "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": { + "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": "Express Route Circuit Connection in an ExpressRouteCircuitPeering resource." + }, + "ExpressRouteCircuitConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + }, + "description": "The global reach connection associated with Private Peering in an ExpressRoute Circuit." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListConnections API service call retrieves all global reach connections that belongs to a Private Peering for an ExpressRouteCircuit." + }, + "PeerExpressRouteCircuitConnectionPropertiesFormat": { + "properties": { + "expressRouteCircuitPeering": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to Express Route Circuit Private Peering Resource of the circuit." + }, + "peerExpressRouteCircuitPeering": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to Express Route Circuit Private Peering Resource of the peered circuit." + }, + "addressPrefix": { + "type": "string", + "description": "/29 IP address space to carve out Customer addresses for tunnels." + }, + "circuitConnectionStatus": { + "$ref": "#/definitions/CircuitConnectionStatus", + "description": "Express Route Circuit connection state." + }, + "connectionName": { + "type": "string", + "description": "The name of the express route circuit connection resource." + }, + "authResourceGuid": { + "type": "string", + "description": "The resource guid of the authorization used for the express route circuit connection." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the peer express route circuit connection resource." + } + }, + "description": "Properties of the peer express route circuit connection." + }, + "PeerExpressRouteCircuitConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PeerExpressRouteCircuitConnectionPropertiesFormat", + "description": "Properties of the peer express route circuit connection." + }, + "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": { + "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": "Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering resource." + }, + "PeerExpressRouteCircuitConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PeerExpressRouteCircuitConnection" + }, + "description": "The global reach peer circuit connection associated with Private Peering in an ExpressRoute Circuit." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListPeeredConnections API service call retrieves all global reach peer circuit connections that belongs to a Private Peering for an ExpressRouteCircuit." + }, + "ExpressRouteCircuitSku": { + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU." + }, + "tier": { + "type": "string", + "description": "The tier of the SKU.", + "enum": [ + "Standard", + "Premium", + "Basic", + "Local" + ], + "x-ms-enum": { + "name": "ExpressRouteCircuitSkuTier", + "modelAsString": true + } + }, + "family": { + "type": "string", + "description": "The family of the SKU.", + "enum": [ + "UnlimitedData", + "MeteredData" + ], + "x-ms-enum": { + "name": "ExpressRouteCircuitSkuFamily", + "modelAsString": true + } + } + }, + "description": "Contains SKU in an ExpressRouteCircuit." + }, + "ExpressRouteCircuitServiceProviderProperties": { + "properties": { + "serviceProviderName": { + "type": "string", + "description": "The serviceProviderName." + }, + "peeringLocation": { + "type": "string", + "description": "The peering location." + }, + "bandwidthInMbps": { + "type": "integer", + "format": "int32", + "description": "The BandwidthInMbps." + } + }, + "description": "Contains ServiceProviderProperties in an ExpressRouteCircuit." + }, + "ExpressRouteCircuitPropertiesFormat": { + "properties": { + "allowClassicOperations": { + "type": "boolean", + "description": "Allow classic operations." + }, + "circuitProvisioningState": { + "type": "string", + "description": "The CircuitProvisioningState state of the resource." + }, + "serviceProviderProvisioningState": { + "$ref": "#/definitions/ServiceProviderProvisioningState", + "description": "The ServiceProviderProvisioningState state of the resource." + }, + "authorizations": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + }, + "description": "The list of authorizations." + }, + "peerings": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + }, + "description": "The list of peerings." + }, + "serviceKey": { + "type": "string", + "description": "The ServiceKey." + }, + "serviceProviderNotes": { + "type": "string", + "description": "The ServiceProviderNotes." + }, + "serviceProviderProperties": { + "$ref": "#/definitions/ExpressRouteCircuitServiceProviderProperties", + "description": "The ServiceProviderProperties." + }, + "expressRoutePort": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource." + }, + "bandwidthInGbps": { + "type": "number", + "description": "The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource." + }, + "stag": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The identifier of the circuit traffic. Outer tag for QinQ encapsulation." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route circuit resource." + }, + "gatewayManagerEtag": { + "type": "string", + "description": "The GatewayManager Etag." + }, + "globalReachEnabled": { + "type": "boolean", + "description": "Flag denoting global reach status." + } + }, + "description": "Properties of ExpressRouteCircuit." + }, + "ExpressRouteCircuit": { + "properties": { + "sku": { + "$ref": "#/definitions/ExpressRouteCircuitSku", + "description": "The SKU." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteCircuitPropertiesFormat", + "description": "Properties of the express route circuit." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "ExpressRouteCircuit resource." + }, + "ExpressRouteCircuitArpTable": { + "properties": { + "age": { + "type": "integer", + "format": "int32", + "description": "Entry age in minutes." + }, + "interface": { + "type": "string", + "description": "Interface address." + }, + "ipAddress": { + "type": "string", + "description": "The IP address." + }, + "macAddress": { + "type": "string", + "description": "The MAC address." + } + }, + "description": "The ARP table associated with the ExpressRouteCircuit." + }, + "ExpressRouteCircuitsArpTableListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitArpTable" + }, + "description": "A list of the ARP tables." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListArpTable associated with the Express Route Circuits API." + }, + "ExpressRouteCircuitRoutesTable": { + "properties": { + "network": { + "type": "string", + "description": "IP address of a network entity." + }, + "nextHop": { + "type": "string", + "description": "NextHop address." + }, + "locPrf": { + "type": "string", + "description": "Local preference value as set with the set local-preference route-map configuration command." + }, + "weight": { + "type": "integer", + "format": "int32", + "description": "Route Weight." + }, + "path": { + "type": "string", + "description": "Autonomous system paths to the destination network." + } + }, + "description": "The routes table associated with the ExpressRouteCircuit." + }, + "ExpressRouteCircuitsRoutesTableListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitRoutesTable" + }, + "description": "The list of routes table." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListRoutesTable associated with the Express Route Circuits API." + }, + "ExpressRouteCircuitRoutesTableSummary": { + "properties": { + "neighbor": { + "type": "string", + "description": "IP address of the neighbor." + }, + "v": { + "type": "integer", + "format": "int32", + "description": "BGP version number spoken to the neighbor." + }, + "as": { + "type": "integer", + "format": "int32", + "description": "Autonomous system number." + }, + "upDown": { + "type": "string", + "description": "The length of time that the BGP session has been in the Established state, or the current status if not in the Established state." + }, + "statePfxRcd": { + "type": "string", + "description": "Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group." + } + }, + "description": "The routes table associated with the ExpressRouteCircuit." + }, + "ExpressRouteCircuitsRoutesTableSummaryListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitRoutesTableSummary" + }, + "description": "A list of the routes table." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListRoutesTable associated with the Express Route Circuits API." + }, + "ExpressRouteCircuitListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuit" + }, + "description": "A list of ExpressRouteCircuits in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListExpressRouteCircuit API service call." + }, + "ExpressRouteServiceProviderBandwidthsOffered": { + "properties": { + "offerName": { + "type": "string", + "description": "The OfferName." + }, + "valueInMbps": { + "type": "integer", + "format": "int32", + "description": "The ValueInMbps." + } + }, + "description": "Contains bandwidths offered in ExpressRouteServiceProvider resources." + }, + "ExpressRouteServiceProviderPropertiesFormat": { + "properties": { + "peeringLocations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of peering locations." + }, + "bandwidthsOffered": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteServiceProviderBandwidthsOffered" + }, + "description": "A list of bandwidths offered." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route service provider resource." + } + }, + "description": "Properties of ExpressRouteServiceProvider." + }, + "ExpressRouteServiceProvider": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteServiceProviderPropertiesFormat", + "description": "Properties of the express route service provider." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "A ExpressRouteResourceProvider object." + }, + "ExpressRouteServiceProviderListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteServiceProvider" + }, + "description": "A list of ExpressRouteResourceProvider resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListExpressRouteServiceProvider API service call." + }, + "CircuitConnectionStatus": { + "type": "string", + "readOnly": true, + "description": "Express Route Circuit connection state.", + "enum": [ + "Connected", + "Connecting", + "Disconnected" + ], + "x-ms-enum": { + "name": "CircuitConnectionStatus", + "modelAsString": true + } + }, + "ServiceProviderProvisioningState": { + "type": "string", + "description": "The ServiceProviderProvisioningState state of the resource.", + "enum": [ + "NotProvisioned", + "Provisioning", + "Provisioned", + "Deprovisioning" + ], + "x-ms-enum": { + "name": "ServiceProviderProvisioningState", + "modelAsString": true + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/expressRouteCrossConnection.json new file mode 100644 index 000000000000..ca8c92f20661 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/expressRouteCrossConnection.json @@ -0,0 +1,1008 @@ +{ + "swagger": "2.0", + "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-05-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}/providers/Microsoft.Network/expressRouteCrossConnections": { + "get": { + "tags": [ + "ExpressRouteCrossConnections" + ], + "operationId": "ExpressRouteCrossConnections_List", + "description": "Retrieves all the ExpressRouteCrossConnections in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteCrossConnectionList": { + "$ref": "./examples/ExpressRouteCrossConnectionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections": { + "get": { + "tags": [ + "ExpressRouteCrossConnections" + ], + "operationId": "ExpressRouteCrossConnections_ListByResourceGroup", + "description": "Retrieves all the ExpressRouteCrossConnections in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful.The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteCrossConnectionListByResourceGroup": { + "$ref": "./examples/ExpressRouteCrossConnectionListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}": { + "get": { + "tags": [ + "ExpressRouteCrossConnections" + ], + "operationId": "ExpressRouteCrossConnections_Get", + "description": "Gets details about the specified ExpressRouteCrossConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group (peering location of the circuit)." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection (service key of the circuit)." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnection resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetExpressRouteCrossConnection": { + "$ref": "./examples/ExpressRouteCrossConnectionGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRouteCrossConnections" + ], + "operationId": "ExpressRouteCrossConnections_CreateOrUpdate", + "description": "Update the specified ExpressRouteCrossConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnection" + }, + "description": "Parameters supplied to the update express route crossConnection operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCrossConnection resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateExpressRouteCrossConnection": { + "$ref": "./examples/ExpressRouteCrossConnectionUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "ExpressRouteCrossConnections" + ], + "operationId": "ExpressRouteCrossConnections_UpdateTags", + "description": "Updates an express route cross connection tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cross connection." + }, + { + "name": "crossConnectionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update express route cross connection tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCrossConnection resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateExpressRouteCrossConnectionTags": { + "$ref": "./examples/ExpressRouteCrossConnectionUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings": { + "get": { + "tags": [ + "ExpressRouteCrossConnectionPeerings" + ], + "operationId": "ExpressRouteCrossConnectionPeerings_List", + "description": "Gets all peerings in a specified ExpressRouteCrossConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteCrossConnectionPeering resources.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeeringList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteCrossConnectionBgpPeeringList": { + "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}": { + "delete": { + "tags": [ + "ExpressRouteCrossConnectionPeerings" + ], + "operationId": "ExpressRouteCrossConnectionPeerings_Delete", + "description": "Deletes the specified peering from the ExpressRouteCrossConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DeleteExpressRouteCrossConnectionBgpPeering": { + "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "ExpressRouteCrossConnectionPeerings" + ], + "operationId": "ExpressRouteCrossConnectionPeerings_Get", + "description": "Gets the specified peering for the ExpressRouteCrossConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetExpressRouteCrossConnectionBgpPeering": { + "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRouteCrossConnectionPeerings" + ], + "operationId": "ExpressRouteCrossConnectionPeerings_CreateOrUpdate", + "description": "Creates or updates a peering in the specified ExpressRouteCrossConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "peeringParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + }, + "description": "Parameters supplied to the create or update ExpressRouteCrossConnection peering operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCrossConnectionPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ExpressRouteCrossConnectionPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteCrossConnectionBgpPeeringCreate": { + "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}": { + "post": { + "tags": [ + "ExpressRouteCrossConnectionArpTable" + ], + "operationId": "ExpressRouteCrossConnections_ListArpTable", + "description": "Gets the currently advertised ARP table associated with the express route cross connection in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "devicePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path of the device." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionsArpTable resource.", + "schema": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitsArpTableListResult" + } + }, + "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": { + "GetExpressRouteCrossConnectionsArpTable": { + "$ref": "./examples/ExpressRouteCrossConnectionsArpTable.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}": { + "post": { + "tags": [ + "ExpressRouteCrossConnectionRouteTableSummary" + ], + "operationId": "ExpressRouteCrossConnections_ListRoutesTableSummary", + "description": "Gets the route table summary associated with the express route cross connection in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "devicePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path of the device." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionsRouteTableSummary resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionsRoutesTableSummaryListResult" + } + }, + "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": { + "GetExpressRouteCrossConnectionsRouteTableSummary": { + "$ref": "./examples/ExpressRouteCrossConnectionsRouteTableSummary.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}": { + "post": { + "tags": [ + "ExpressRouteCrossConnectionRouteTable" + ], + "operationId": "ExpressRouteCrossConnections_ListRoutesTable", + "description": "Gets the currently advertised routes table associated with the express route cross connection in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "devicePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path of the device." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionsRouteTable resource.", + "schema": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitsRoutesTableListResult" + } + }, + "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": { + "GetExpressRouteCrossConnectionsRouteTable": { + "$ref": "./examples/ExpressRouteCrossConnectionsRouteTable.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": { + "ExpressRouteCrossConnectionRoutesTableSummary": { + "properties": { + "neighbor": { + "type": "string", + "description": "IP address of Neighbor router." + }, + "asn": { + "type": "integer", + "format": "int32", + "description": "Autonomous system number." + }, + "upDown": { + "type": "string", + "description": "The length of time that the BGP session has been in the Established state, or the current status if not in the Established state." + }, + "stateOrPrefixesReceived": { + "type": "string", + "description": "Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group." + } + }, + "description": "The routes table associated with the ExpressRouteCircuit." + }, + "ExpressRouteCrossConnectionsRoutesTableSummaryListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCrossConnectionRoutesTableSummary" + }, + "description": "A list of the routes table." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListRoutesTable associated with the Express Route Cross Connections." + }, + "ExpressRouteCircuitReference": { + "properties": { + "id": { + "type": "string", + "description": "Corresponding Express Route Circuit Id." + } + }, + "description": "Reference to an express route circuit." + }, + "ExpressRouteCrossConnectionProperties": { + "properties": { + "primaryAzurePort": { + "readOnly": true, + "type": "string", + "description": "The name of the primary port." + }, + "secondaryAzurePort": { + "readOnly": true, + "type": "string", + "description": "The name of the secondary port." + }, + "sTag": { + "readOnly": true, + "type": "integer", + "description": "The identifier of the circuit traffic." + }, + "peeringLocation": { + "readOnly": true, + "type": "string", + "description": "The peering location of the ExpressRoute circuit." + }, + "bandwidthInMbps": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The circuit bandwidth In Mbps." + }, + "expressRouteCircuit": { + "$ref": "#/definitions/ExpressRouteCircuitReference", + "description": "The ExpressRouteCircuit." + }, + "serviceProviderProvisioningState": { + "$ref": "./expressRouteCircuit.json#/definitions/ServiceProviderProvisioningState", + "description": "The provisioning state of the circuit in the connectivity provider system." + }, + "serviceProviderNotes": { + "type": "string", + "description": "Additional read only notes set by the connectivity provider." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route cross connection resource." + }, + "peerings": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + }, + "description": "The list of peerings." + } + }, + "description": "Properties of ExpressRouteCrossConnection." + }, + "ExpressRouteCrossConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteCrossConnectionProperties", + "description": "Properties of the express route cross connection." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "ExpressRouteCrossConnection resource." + }, + "ExpressRouteCrossConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCrossConnection" + }, + "description": "A list of ExpressRouteCrossConnection resources." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListExpressRouteCrossConnection API service call." + }, + "ExpressRouteCrossConnectionPeeringProperties": { + "properties": { + "peeringType": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRoutePeeringType", + "description": "The peering type." + }, + "state": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRoutePeeringState", + "description": "The peering state." + }, + "azureASN": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The Azure ASN." + }, + "peerASN": { + "type": "integer", + "format": "int64", + "minimum": 1, + "maximum": 4294967295, + "description": "The peer ASN." + }, + "primaryPeerAddressPrefix": { + "type": "string", + "description": "The primary address prefix." + }, + "secondaryPeerAddressPrefix": { + "type": "string", + "description": "The secondary address prefix." + }, + "primaryAzurePort": { + "readOnly": true, + "type": "string", + "description": "The primary port." + }, + "secondaryAzurePort": { + "readOnly": true, + "type": "string", + "description": "The secondary port." + }, + "sharedKey": { + "type": "string", + "description": "The shared key." + }, + "vlanId": { + "type": "integer", + "format": "int32", + "description": "The VLAN ID." + }, + "microsoftPeeringConfig": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitPeeringConfig", + "description": "The Microsoft peering configuration." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route cross connection peering resource." + }, + "gatewayManagerEtag": { + "type": "string", + "description": "The GatewayManager Etag." + }, + "lastModifiedBy": { + "readOnly": true, + "type": "string", + "description": "Who was the last to modify the peering." + }, + "ipv6PeeringConfig": { + "$ref": "./expressRouteCircuit.json#/definitions/Ipv6ExpressRouteCircuitPeeringConfig", + "description": "The IPv6 peering configuration." + } + }, + "description": "Properties of express route cross connection peering." + }, + "ExpressRouteCrossConnectionPeering": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteCrossConnectionPeeringProperties", + "description": "Properties of the express route cross connection peering." + }, + "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": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Peering in an ExpressRoute Cross Connection resource." + }, + "ExpressRouteCrossConnectionPeeringList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + }, + "description": "The peerings in an express route cross connection." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCrossConnection." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/expressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/expressRoutePort.json new file mode 100644 index 000000000000..9dfdfb48d12e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/expressRoutePort.json @@ -0,0 +1,963 @@ +{ + "swagger": "2.0", + "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-05-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}/providers/Microsoft.Network/ExpressRoutePortsLocations": { + "get": { + "tags": [ + "ExpressRoutePortsLocations" + ], + "operationId": "ExpressRoutePortsLocations_List", + "description": "Retrieves all ExpressRoutePort peering locations. Does not return available bandwidths for each location. Available bandwidths can only be obtained when retrieving a specific peering location.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the list of all ExpressRoutePort peering locations.", + "schema": { + "$ref": "#/definitions/ExpressRoutePortsLocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ExpressRoutePortsLocationList": { + "$ref": "./examples/ExpressRoutePortsLocationList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations/{locationName}": { + "get": { + "tags": [ + "ExpressRoutePortsLocations" + ], + "operationId": "ExpressRoutePortsLocations_Get", + "description": "Retrieves a single ExpressRoutePort peering location, including the list of available bandwidths available at said peering location.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the requested ExpressRoutePort peering location." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the requested ExpressRoutePort peering location.", + "schema": { + "$ref": "#/definitions/ExpressRoutePortsLocation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRoutePortsLocationGet": { + "$ref": "./examples/ExpressRoutePortsLocationGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}": { + "delete": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_Delete", + "description": "Deletes the specified ExpressRoutePort resource.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoutePort resource." + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "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" + }, + "x-ms-examples": { + "ExpressRoutePortDelete": { + "$ref": "./examples/ExpressRoutePortDelete.json" + } + } + }, + "get": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_Get", + "description": "Retrieves the requested ExpressRoutePort resource.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of ExpressRoutePort." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the requested ExpressRoutePort resource.", + "schema": { + "$ref": "#/definitions/ExpressRoutePort" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRoutePortGet": { + "$ref": "./examples/ExpressRoutePortGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_CreateOrUpdate", + "description": "Creates or updates the specified ExpressRoutePort resource.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoutePort resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRoutePort" + }, + "description": "Parameters supplied to the create ExpressRoutePort operation." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRoutePort resource.", + "schema": { + "$ref": "#/definitions/ExpressRoutePort" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ExpressRoutePort resource.", + "schema": { + "$ref": "#/definitions/ExpressRoutePort" + } + }, + "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" + }, + "x-ms-examples": { + "ExpressRoutePortCreate": { + "$ref": "./examples/ExpressRoutePortCreate.json" + }, + "ExpressRoutePortUpdateLink": { + "$ref": "./examples/ExpressRoutePortUpdateLink.json" + } + } + }, + "patch": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_UpdateTags", + "description": "Update ExpressRoutePort tags.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoutePort resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update ExpressRoutePort resource tags." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRoutePort resource.", + "schema": { + "$ref": "#/definitions/ExpressRoutePort" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRoutePortUpdateTags": { + "$ref": "./examples/ExpressRoutePortUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts": { + "get": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_ListByResourceGroup", + "description": "List all the ExpressRoutePort resources in the specified resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRoutePort resources. If there are no ExpressRoutePort resources then an empty list is returned.", + "schema": { + "$ref": "#/definitions/ExpressRoutePortListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ExpressRoutePortListByResourceGroup": { + "$ref": "./examples/ExpressRoutePortListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePorts": { + "get": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_List", + "description": "List all the ExpressRoutePort resources in the specified subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRoutePort resources. If there are no ExpressRoutePort resources then an empty list is returned.", + "schema": { + "$ref": "#/definitions/ExpressRoutePortListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ExpressRoutePortList": { + "$ref": "./examples/ExpressRoutePortList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links/{linkName}": { + "get": { + "tags": [ + "ExpressRouteLinks" + ], + "operationId": "ExpressRouteLinks_Get", + "description": "Retrieves the specified ExpressRouteLink resource.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoutePort resource." + }, + { + "name": "linkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteLink resource." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the requested ExpressRouteLink resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteLink" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteLinkGet": { + "$ref": "./examples/ExpressRouteLinkGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links": { + "get": { + "tags": [ + "ExpressRouteLinks" + ], + "operationId": "ExpressRouteLinks_List", + "description": "Retrieve the ExpressRouteLink sub-resources of the specified ExpressRoutePort resource.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoutePort resource." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteLink resources. If there are no ExpressRouteLink resources then an empty list is returned.", + "schema": { + "$ref": "#/definitions/ExpressRouteLinkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ExpressRouteLinkGet": { + "$ref": "./examples/ExpressRouteLinkList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRoutePorts/{expressRoutePortName}/generateLoa": { + "post": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_GenerateLOA", + "description": "Generate a letter of authorization for the requested ExpressRoutePort resource.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of ExpressRoutePort." + }, + { + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateExpressRoutePortsLOARequest" + }, + "description": "Request parameters supplied to generate a letter of authorization." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the content as a base64 encoded string.", + "schema": { + "$ref": "#/definitions/GenerateExpressRoutePortsLOAResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GenerateExpressRoutePortLOA": { + "$ref": "./examples/GenerateExpressRoutePortsLOA.json" + } + } + } + } + }, + "definitions": { + "ExpressRoutePortsLocationBandwidths": { + "title": "ExpressRoutePorts Location Bandwidths", + "description": "Real-time inventory of available ExpressRoute port bandwidths.", + "properties": { + "offerName": { + "type": "string", + "readOnly": true, + "description": "Bandwidth descriptive name." + }, + "valueInGbps": { + "type": "integer", + "readOnly": true, + "description": "Bandwidth value in Gbps." + } + } + }, + "ExpressRoutePortsLocationPropertiesFormat": { + "title": "ExpressRoutePorts Location Properties", + "description": "Properties specific to ExpressRoutePorts peering location resources.", + "properties": { + "address": { + "type": "string", + "readOnly": true, + "description": "Address of peering location." + }, + "contact": { + "type": "string", + "readOnly": true, + "description": "Contact details of peering locations." + }, + "availableBandwidths": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRoutePortsLocationBandwidths" + }, + "description": "The inventory of available ExpressRoutePort bandwidths." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route port location resource." + } + } + }, + "ExpressRoutePortsLocation": { + "title": "ExpressRoutePorts Peering Location", + "description": "Definition of the ExpressRoutePorts peering location resource.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRoutePortsLocationPropertiesFormat", + "description": "ExpressRoutePort peering location properties." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "ExpressRoutePortsLocationListResult": { + "title": "ExpressRoutePorts Location List Result", + "description": "Response for ListExpressRoutePortsLocations API service call.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRoutePortsLocation" + }, + "description": "The list of all ExpressRoutePort peering locations." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + } + }, + "ExpressRouteLinkMacSecConfig": { + "description": "ExpressRouteLink Mac Security Configuration.", + "title": "Definition of ExpressRouteLink Mac Security configuration.", + "properties": { + "cknSecretIdentifier": { + "type": "string", + "description": "Keyvault Secret Identifier URL containing Mac security CKN key." + }, + "cakSecretIdentifier": { + "type": "string", + "description": "Keyvault Secret Identifier URL containing Mac security CAK key." + }, + "cipher": { + "type": "string", + "description": "Mac security cipher.", + "enum": [ + "GcmAes256", + "GcmAes128", + "GcmAesXpn128", + "GcmAesXpn256" + ], + "x-ms-enum": { + "name": "ExpressRouteLinkMacSecCipher", + "modelAsString": true + } + }, + "sciState": { + "type": "string", + "description": "Sci mode enabled/disabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "ExpressRouteLinkMacSecSciState", + "modelAsString": true + } + } + } + }, + "ExpressRouteLinkPropertiesFormat": { + "title": "ExpressRouteLink Resource Properties", + "description": "Properties specific to ExpressRouteLink resources.", + "properties": { + "routerName": { + "readOnly": true, + "type": "string", + "description": "Name of Azure router associated with physical port." + }, + "interfaceName": { + "readOnly": true, + "type": "string", + "description": "Name of Azure router interface." + }, + "patchPanelId": { + "readOnly": true, + "type": "string", + "description": "Mapping between physical port to patch panel port." + }, + "rackId": { + "readOnly": true, + "type": "string", + "description": "Mapping of physical patch panel to rack." + }, + "connectorType": { + "readOnly": true, + "type": "string", + "description": "Physical fiber port type.", + "enum": [ + "LC", + "SC" + ], + "x-ms-enum": { + "name": "ExpressRouteLinkConnectorType", + "modelAsString": true + } + }, + "adminState": { + "type": "string", + "description": "Administrative state of the physical port.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ExpressRouteLinkAdminState", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route link resource." + }, + "macSecConfig": { + "$ref": "#/definitions/ExpressRouteLinkMacSecConfig", + "description": "MacSec configuration." + } + } + }, + "ExpressRouteLink": { + "title": "ExpressRouteLink", + "description": "ExpressRouteLink child resource definition.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteLinkPropertiesFormat", + "description": "ExpressRouteLink properties." + }, + "name": { + "type": "string", + "description": "Name of child port resource that is unique among child port resources of the parent." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ] + }, + "ExpressRouteLinkListResult": { + "title": "ExpressRouteLink List Result", + "description": "Response for ListExpressRouteLinks API service call.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteLink" + }, + "description": "The list of ExpressRouteLink sub-resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + } + }, + "ExpressRoutePortPropertiesFormat": { + "title": "ExpressRoutePort Properties", + "description": "Properties specific to ExpressRoutePort resources.", + "properties": { + "peeringLocation": { + "type": "string", + "description": "The name of the peering location that the ExpressRoutePort is mapped to physically." + }, + "bandwidthInGbps": { + "type": "integer", + "description": "Bandwidth of procured ports in Gbps." + }, + "provisionedBandwidthInGbps": { + "readOnly": true, + "type": "number", + "description": "Aggregate Gbps of associated circuit bandwidths." + }, + "mtu": { + "readOnly": true, + "type": "string", + "description": "Maximum transmission unit of the physical port pair(s)." + }, + "encapsulation": { + "type": "string", + "description": "Encapsulation method on physical ports.", + "enum": [ + "Dot1Q", + "QinQ" + ], + "x-ms-enum": { + "name": "ExpressRoutePortsEncapsulation", + "modelAsString": true + } + }, + "etherType": { + "readOnly": true, + "type": "string", + "description": "Ether type of the physical port." + }, + "allocationDate": { + "readOnly": true, + "type": "string", + "description": "Date of the physical port allocation to be used in Letter of Authorization." + }, + "links": { + "title": "ExpressRouteLink Sub-Resources", + "description": "The set of physical links of the ExpressRoutePort resource.", + "readOnly": false, + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteLink" + } + }, + "circuits": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Reference the ExpressRoute circuit(s) that are provisioned on this ExpressRoutePort resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route port resource." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the express route port resource." + } + } + }, + "ExpressRoutePort": { + "title": "ExpressRoute Port", + "description": "ExpressRoutePort resource definition.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRoutePortPropertiesFormat", + "description": "ExpressRoutePort properties." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "identity": { + "$ref": "./network.json#/definitions/ManagedServiceIdentity", + "description": "The identity of ExpressRoutePort, if configured." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "ExpressRoutePortListResult": { + "title": "ExpressRoute Port List Result", + "description": "Response for ListExpressRoutePorts API service call.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRoutePort" + }, + "description": "A list of ExpressRoutePort resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + } + }, + "GenerateExpressRoutePortsLOARequest": { + "description": "The customer name to be printed on a letter of authorization.", + "properties": { + "customerName": { + "type": "string", + "description": "The customer name." + } + }, + "required": [ + "customerName" + ] + }, + "GenerateExpressRoutePortsLOAResult": { + "description": "Response for GenerateExpressRoutePortsLOA API service call.", + "properties": { + "encodedContent": { + "type": "string", + "description": "The content as a base64 encoded string." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/firewallPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/firewallPolicy.json new file mode 100644 index 000000000000..6ac9d91c4cab --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/firewallPolicy.json @@ -0,0 +1,2008 @@ +{ + "swagger": "2.0", + "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-05-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.Network/firewallPolicies/{firewallPolicyName}": { + "delete": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_Delete", + "description": "Deletes the specified Firewall Policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Firewall Policy": { + "$ref": "./examples/FirewallPolicyDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_Get", + "description": "Gets the specified Firewall Policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a Firewall Policy resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get FirewallPolicy": { + "$ref": "./examples/FirewallPolicyGet.json" + } + } + }, + "put": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_CreateOrUpdate", + "description": "Creates or updates the specified Firewall Policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FirewallPolicy" + }, + "description": "Parameters supplied to the create or update Firewall Policy operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request received successfully. The operation returns the resulting FirewallPolicy resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicy" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting FirewallPolicy resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create FirewallPolicy": { + "$ref": "./examples/FirewallPolicyPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies": { + "get": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_List", + "description": "Lists all Firewall Policies in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of FirewallPolicy resources.", + "schema": { + "$ref": "#/definitions/FirewallPolicyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Firewall Policies for a given resource group": { + "$ref": "./examples/FirewallPolicyListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/firewallPolicies": { + "get": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_ListAll", + "description": "Gets all the Firewall Policies in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of FirewallPolicy resources.", + "schema": { + "$ref": "#/definitions/FirewallPolicyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Firewall Policies for a given subscription": { + "$ref": "./examples/FirewallPolicyListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleCollectionGroups/{ruleCollectionGroupName}": { + "delete": { + "tags": [ + "FirewallPolicyRuleCollectionGroups" + ], + "operationId": "FirewallPolicyRuleCollectionGroups_Delete", + "description": "Deletes the specified FirewallPolicyRuleCollectionGroup.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "ruleCollectionGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the FirewallPolicyRuleCollectionGroup." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete FirewallPolicyRuleCollectionGroup": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "FirewallPolicyRuleCollectionGroups" + ], + "operationId": "FirewallPolicyRuleCollectionGroups_Get", + "description": "Gets the specified FirewallPolicyRuleCollectionGroup.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "ruleCollectionGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the FirewallPolicyRuleCollectionGroup." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a FirewallPolicyRuleCollectionGroup resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get FirewallPolicyRuleCollectionGroup": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupGet.json" + }, + "Get FirewallPolicyRuleCollectionGroup With IpGroups": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json" + }, + "Get FirewallPolicyNatRuleCollectionGroup": { + "$ref": "./examples/FirewallPolicyNatRuleCollectionGroupGet.json" + }, + "Get FirewallPolicyRuleCollectionGroup With Web Categories": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesGet.json" + } + } + }, + "put": { + "tags": [ + "FirewallPolicyRuleCollectionGroups" + ], + "operationId": "FirewallPolicyRuleCollectionGroups_CreateOrUpdate", + "description": "Creates or updates the specified FirewallPolicyRuleCollectionGroup.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "ruleCollectionGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the FirewallPolicyRuleCollectionGroup." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroup" + }, + "description": "Parameters supplied to the create or update FirewallPolicyRuleCollectionGroup operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request received successfully. The operation returns the resulting FirewallPolicyRuleCollectionGroup resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroup" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting FirewallPolicyRuleCollectionGroup resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create FirewallPolicyRuleCollectionGroup": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupPut.json" + }, + "Create FirewallPolicyRuleCollectionGroup With IpGroups": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json" + }, + "Create FirewallPolicyNatRuleCollectionGroup": { + "$ref": "./examples/FirewallPolicyNatRuleCollectionGroupPut.json" + }, + "Create FirewallPolicyRuleCollectionGroup With Web Categories": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleCollectionGroups": { + "get": { + "tags": [ + "FirewallPolicyRuleCollectionGroups" + ], + "operationId": "FirewallPolicyRuleCollectionGroups_List", + "description": "Lists all FirewallPolicyRuleCollectionGroups in a FirewallPolicy resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of FirewallPolicyRuleCollectionGroup resources.", + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all FirewallPolicyRuleCollectionGroups for a given FirewallPolicy": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupList.json" + }, + "List all FirewallPolicyRuleCollectionGroups with IpGroups for a given FirewallPolicy": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json" + }, + "List all FirewallPolicyRuleCollectionGroup With Web Categories": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/listIdpsSignatures": { + "post": { + "operationId": "FirewallPolicyIdpsSignatures_List", + "description": "Retrieves the current status of IDPS signatures for the relevant policy", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IDPSQueryObject" + } + } + ], + "responses": { + "200": { + "description": "Success. The operation returns an IDPS Query Response", + "schema": { + "$ref": "#/definitions/QueryResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "query signature overrides": { + "$ref": "./examples/FirewallPolicyQuerySignatureOverrides.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/signatureOverrides/default": { + "patch": { + "operationId": "FirewallPolicyIdpsSignaturesOverrides_Patch", + "description": "Will update the status of policy's signature overrides for IDPS", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "description": "Will contain all properties of the object to put", + "schema": { + "$ref": "#/definitions/SignaturesOverrides" + } + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Will return the policy current signature overrides object", + "schema": { + "$ref": "#/definitions/SignaturesOverrides" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "patch signature overrides": { + "$ref": "./examples/FirewallPolicySignatureOverridesPatch.json" + } + } + }, + "put": { + "description": "Will override/create a new signature overrides for the policy's IDPS", + "operationId": "FirewallPolicyIdpsSignaturesOverrides_Put", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "description": "Will contain all properties of the object to put", + "schema": { + "$ref": "#/definitions/SignaturesOverrides" + } + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Describes the new state of the signature overrides after the PUT operation", + "schema": { + "$ref": "#/definitions/SignaturesOverrides" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "put signature overrides": { + "$ref": "./examples/FirewallPolicySignatureOverridesPut.json" + } + } + }, + "get": { + "description": "Returns all signatures overrides for a specific policy.", + "operationId": "FirewallPolicyIdpsSignaturesOverrides_Get", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Will return the policy current signature overrides object", + "schema": { + "$ref": "#/definitions/SignaturesOverrides" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "get signature overrides": { + "$ref": "./examples/FirewallPolicySignatureOverridesGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/listIdpsFilterOptions": { + "post": { + "operationId": "FirewallPolicyIdpsSignaturesFilterValues_List", + "description": "Retrieves the current filter values for the signatures overrides", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SignatureOverridesFilterValuesQuery" + } + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of all valid filter values for the requested column", + "schema": { + "$ref": "#/definitions/SignatureOverridesFilterValuesResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "query signature overrides": { + "$ref": "./examples/FirewallPolicyQuerySignatureOverridesFilterValues.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/signatureOverrides": { + "get": { + "description": "Returns all signatures overrides objects for a specific policy as a list containing a single value.", + "operationId": "FirewallPolicyIdpsSignaturesOverrides_List", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Will return the policy current signature overrides object inside a list", + "schema": { + "$ref": "#/definitions/SignaturesOverridesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "get signature overrides": { + "$ref": "./examples/FirewallPolicySignatureOverridesList.json" + } + } + } + } + }, + "definitions": { + "FirewallPolicy": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FirewallPolicyPropertiesFormat", + "description": "Properties of the firewall policy." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "identity": { + "$ref": "./network.json#/definitions/ManagedServiceIdentity", + "description": "The identity of the firewall policy." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "FirewallPolicy Resource." + }, + "FirewallPolicyPropertiesFormat": { + "properties": { + "ruleCollectionGroups": { + "type": "array", + "readOnly": true, + "description": "List of references to FirewallPolicyRuleCollectionGroups.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the firewall policy resource." + }, + "basePolicy": { + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource", + "description": "The parent firewall policy from which rules are inherited." + }, + "firewalls": { + "type": "array", + "readOnly": true, + "description": "List of references to Azure Firewalls that this Firewall Policy is associated with.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "childPolicies": { + "type": "array", + "readOnly": true, + "description": "List of references to Child Firewall Policies.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "threatIntelMode": { + "description": "The operation mode for Threat Intelligence.", + "$ref": "./azureFirewall.json#/definitions/AzureFirewallThreatIntelMode" + }, + "threatIntelWhitelist": { + "description": "ThreatIntel Whitelist for Firewall Policy.", + "$ref": "#/definitions/FirewallPolicyThreatIntelWhitelist" + }, + "insights": { + "description": "Insights on Firewall Policy.", + "$ref": "#/definitions/FirewallPolicyInsights" + }, + "snat": { + "description": "The private IP addresses/IP ranges to which traffic will not be SNAT.", + "$ref": "#/definitions/FirewallPolicySNAT" + }, + "sql": { + "description": "SQL Settings definition.", + "$ref": "#/definitions/FirewallPolicySQL" + }, + "dnsSettings": { + "description": "DNS Proxy Settings definition.", + "$ref": "#/definitions/DnsSettings" + }, + "explicitProxySettings": { + "description": "Explicit Proxy Settings definition.", + "$ref": "#/definitions/ExplicitProxySettings" + }, + "intrusionDetection": { + "description": "The configuration for Intrusion detection.", + "$ref": "#/definitions/FirewallPolicyIntrusionDetection" + }, + "transportSecurity": { + "description": "TLS Configuration definition.", + "$ref": "#/definitions/FirewallPolicyTransportSecurity" + }, + "sku": { + "description": "The Firewall Policy SKU.", + "$ref": "#/definitions/FirewallPolicySku" + } + }, + "description": "Firewall Policy definition." + }, + "FirewallPolicyRuleCollectionGroup": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroupProperties", + "description": "The properties of the firewall policy rule collection group." + }, + "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": { + "type": "string", + "readOnly": true, + "description": "Rule Group type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Rule Collection Group resource." + }, + "FirewallPolicyRuleCollectionGroupProperties": { + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "maximum": 65000, + "exclusiveMaximum": false, + "minimum": 100, + "exclusiveMinimum": false, + "description": "Priority of the Firewall Policy Rule Collection Group resource." + }, + "ruleCollections": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleCollection" + }, + "description": "Group of Firewall Policy rule collections." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the firewall policy rule collection group resource." + } + }, + "description": "Properties of the rule collection group." + }, + "FirewallPolicyRuleCollection": { + "description": "Properties of the rule collection.", + "discriminator": "ruleCollectionType", + "required": [ + "ruleCollectionType" + ], + "properties": { + "ruleCollectionType": { + "type": "string", + "description": "The type of the rule collection.", + "enum": [ + "FirewallPolicyNatRuleCollection", + "FirewallPolicyFilterRuleCollection" + ], + "x-ms-enum": { + "name": "FirewallPolicyRuleCollectionType", + "modelAsString": true + } + }, + "name": { + "type": "string", + "description": "The name of the rule collection." + }, + "priority": { + "type": "integer", + "format": "int32", + "maximum": 65000, + "exclusiveMaximum": false, + "minimum": 100, + "exclusiveMinimum": false, + "description": "Priority of the Firewall Policy Rule Collection resource." + } + } + }, + "FirewallPolicyNatRuleCollection": { + "properties": { + "action": { + "$ref": "#/definitions/FirewallPolicyNatRuleCollectionAction", + "description": "The action type of a Nat rule collection." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRule" + }, + "description": "List of rules included in a rule collection." + } + }, + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRuleCollection" + } + ], + "x-ms-discriminator-value": "FirewallPolicyNatRuleCollection", + "description": "Firewall Policy NAT Rule Collection." + }, + "FirewallPolicyFilterRuleCollection": { + "properties": { + "action": { + "$ref": "#/definitions/FirewallPolicyFilterRuleCollectionAction", + "description": "The action type of a Filter rule collection." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRule" + }, + "description": "List of rules included in a rule collection." + } + }, + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRuleCollection" + } + ], + "x-ms-discriminator-value": "FirewallPolicyFilterRuleCollection", + "description": "Firewall Policy Filter Rule Collection." + }, + "FirewallPolicyRule": { + "description": "Properties of a rule.", + "discriminator": "ruleType", + "required": [ + "ruleType" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the rule." + }, + "description": { + "type": "string", + "description": "Description of the rule." + }, + "ruleType": { + "type": "string", + "description": "Rule Type.", + "enum": [ + "ApplicationRule", + "NetworkRule", + "NatRule" + ], + "x-ms-enum": { + "name": "FirewallPolicyRuleType", + "modelAsString": true + } + } + } + }, + "ApplicationRule": { + "x-ms-discriminator-value": "ApplicationRule", + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRule" + } + ], + "properties": { + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses for this rule.", + "items": { + "type": "string" + } + }, + "destinationAddresses": { + "type": "array", + "description": "List of destination IP addresses or Service Tags.", + "items": { + "type": "string" + } + }, + "protocols": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleApplicationProtocol" + }, + "description": "Array of Application Protocols." + }, + "targetFqdns": { + "type": "array", + "description": "List of FQDNs for this rule.", + "items": { + "type": "string" + } + }, + "targetUrls": { + "type": "array", + "description": "List of Urls for this rule condition.", + "items": { + "type": "string" + } + }, + "fqdnTags": { + "type": "array", + "description": "List of FQDN Tags for this rule.", + "items": { + "type": "string" + } + }, + "sourceIpGroups": { + "type": "array", + "description": "List of source IpGroups for this rule.", + "items": { + "type": "string" + } + }, + "terminateTLS": { + "type": "boolean", + "description": "Terminate TLS connections for this rule." + }, + "webCategories": { + "type": "array", + "description": "List of destination azure web categories.", + "items": { + "type": "string" + } + } + }, + "description": "Rule of type application." + }, + "NatRule": { + "description": "Rule of type nat.", + "x-ms-discriminator-value": "NatRule", + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRule" + } + ], + "properties": { + "ipProtocols": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleNetworkProtocol" + }, + "description": "Array of FirewallPolicyRuleNetworkProtocols." + }, + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses for this rule.", + "items": { + "type": "string" + } + }, + "destinationAddresses": { + "type": "array", + "description": "List of destination IP addresses or Service Tags.", + "items": { + "type": "string" + } + }, + "destinationPorts": { + "type": "array", + "description": "List of destination ports.", + "items": { + "type": "string" + } + }, + "translatedAddress": { + "type": "string", + "description": "The translated address for this NAT rule." + }, + "translatedPort": { + "type": "string", + "description": "The translated port for this NAT rule." + }, + "sourceIpGroups": { + "type": "array", + "description": "List of source IpGroups for this rule.", + "items": { + "type": "string" + } + }, + "translatedFqdn": { + "type": "string", + "description": "The translated FQDN for this NAT rule." + } + } + }, + "NetworkRule": { + "description": "Rule of type network.", + "x-ms-discriminator-value": "NetworkRule", + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRule" + } + ], + "properties": { + "ipProtocols": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleNetworkProtocol" + }, + "description": "Array of FirewallPolicyRuleNetworkProtocols." + }, + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses for this rule.", + "items": { + "type": "string" + } + }, + "destinationAddresses": { + "type": "array", + "description": "List of destination IP addresses or Service Tags.", + "items": { + "type": "string" + } + }, + "destinationPorts": { + "type": "array", + "description": "List of destination ports.", + "items": { + "type": "string" + } + }, + "sourceIpGroups": { + "type": "array", + "description": "List of source IpGroups for this rule.", + "items": { + "type": "string" + } + }, + "destinationIpGroups": { + "type": "array", + "description": "List of destination IpGroups for this rule.", + "items": { + "type": "string" + } + }, + "destinationFqdns": { + "type": "array", + "description": "List of destination FQDNs.", + "items": { + "type": "string" + } + } + } + }, + "FirewallPolicyRuleApplicationProtocol": { + "properties": { + "protocolType": { + "description": "Protocol type.", + "$ref": "#/definitions/FirewallPolicyRuleApplicationProtocolType" + }, + "port": { + "type": "integer", + "format": "int32", + "maximum": 64000, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false, + "description": "Port number for the protocol, cannot be greater than 64000." + } + }, + "description": "Properties of the application rule protocol." + }, + "FirewallPolicyRuleApplicationProtocolType": { + "type": "string", + "description": "The application protocol type of a Rule.", + "enum": [ + "Http", + "Https" + ], + "x-ms-enum": { + "name": "FirewallPolicyRuleApplicationProtocolType", + "modelAsString": true + } + }, + "FirewallPolicyNatRuleCollectionActionType": { + "type": "string", + "description": "The action type of a rule.", + "enum": [ + "DNAT" + ], + "x-ms-enum": { + "name": "FirewallPolicyNatRuleCollectionActionType", + "modelAsString": true + } + }, + "FirewallPolicyNatRuleCollectionAction": { + "properties": { + "type": { + "description": "The type of action.", + "$ref": "#/definitions/FirewallPolicyNatRuleCollectionActionType" + } + }, + "description": "Properties of the FirewallPolicyNatRuleCollectionAction." + }, + "FirewallPolicyFilterRuleCollectionActionType": { + "type": "string", + "description": "The action type of a rule.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "FirewallPolicyFilterRuleCollectionActionType", + "modelAsString": true + } + }, + "FirewallPolicyFilterRuleCollectionAction": { + "properties": { + "type": { + "description": "The type of action.", + "$ref": "#/definitions/FirewallPolicyFilterRuleCollectionActionType" + } + }, + "description": "Properties of the FirewallPolicyFilterRuleCollectionAction." + }, + "FirewallPolicyRuleNetworkProtocol": { + "type": "string", + "description": "The Network protocol of a Rule.", + "enum": [ + "TCP", + "UDP", + "Any", + "ICMP" + ], + "x-ms-enum": { + "name": "FirewallPolicyRuleNetworkProtocol", + "modelAsString": true + } + }, + "FirewallPolicyListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicy" + }, + "description": "List of Firewall Policies in a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListFirewallPolicies API service call." + }, + "FirewallPolicyRuleCollectionGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroup" + }, + "description": "List of FirewallPolicyRuleCollectionGroups in a FirewallPolicy." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListFirewallPolicyRuleCollectionGroups API service call." + }, + "FirewallPolicyThreatIntelWhitelist": { + "description": "ThreatIntel Whitelist for Firewall Policy.", + "x-ms-discriminator-value": "FirewallPolicyThreatIntelWhitelist", + "properties": { + "ipAddresses": { + "type": "array", + "description": "List of IP addresses for the ThreatIntel Whitelist.", + "items": { + "type": "string" + } + }, + "fqdns": { + "type": "array", + "description": "List of FQDNs for the ThreatIntel Whitelist.", + "items": { + "type": "string" + } + } + } + }, + "FirewallPolicyInsights": { + "description": "Firewall Policy Insights.", + "x-ms-discriminator-value": "FirewallPolicyInsights", + "properties": { + "isEnabled": { + "type": "boolean", + "description": "A flag to indicate if the insights are enabled on the policy." + }, + "retentionDays": { + "type": "integer", + "format": "int32", + "description": "Number of days the insights should be enabled on the policy." + }, + "logAnalyticsResources": { + "description": "Workspaces needed to configure the Firewall Policy Insights.", + "$ref": "#/definitions/FirewallPolicyLogAnalyticsResources" + } + } + }, + "FirewallPolicySNAT": { + "description": "The private IP addresses/IP ranges to which traffic will not be SNAT.", + "x-ms-discriminator-value": "FirewallPolicySNAT", + "properties": { + "privateRanges": { + "type": "array", + "description": "List of private IP addresses/IP address ranges to not be SNAT.", + "items": { + "type": "string" + } + } + } + }, + "FirewallPolicySQL": { + "type": "object", + "description": "SQL Settings in Firewall Policy.", + "x-ms-discriminator-value": "FirewallPolicySQL", + "properties": { + "allowSqlRedirect": { + "type": "boolean", + "description": "A flag to indicate if SQL Redirect traffic filtering is enabled. Turning on the flag requires no rule using port 11000-11999." + } + } + }, + "DnsSettings": { + "description": "DNS Proxy Settings in Firewall Policy.", + "x-ms-discriminator-value": "DnsSettings", + "properties": { + "servers": { + "type": "array", + "description": "List of Custom DNS Servers.", + "items": { + "type": "string" + } + }, + "enableProxy": { + "type": "boolean", + "description": "Enable DNS Proxy on Firewalls attached to the Firewall Policy." + }, + "requireProxyForNetworkRules": { + "type": "boolean", + "description": "FQDNs in Network Rules are supported when set to true.", + "x-nullable": true + } + } + }, + "ExplicitProxySettings": { + "description": "Explicit Proxy Settings in Firewall Policy.", + "x-ms-discriminator-value": "ExplicitProxySettings", + "type": "object", + "properties": { + "enableExplicitProxy": { + "type": "boolean", + "description": "When set to true, explicit proxy mode is enabled.", + "x-nullable": true + }, + "httpPort": { + "type": "integer", + "format": "int32", + "maximum": 64000, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false, + "description": "Port number for explicit proxy http protocol, cannot be greater than 64000." + }, + "httpsPort": { + "type": "integer", + "format": "int32", + "maximum": 64000, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false, + "description": "Port number for explicit proxy https protocol, cannot be greater than 64000." + }, + "pacFilePort": { + "type": "integer", + "format": "int32", + "maximum": 64000, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false, + "description": "Port number for firewall to serve PAC file." + }, + "pacFile": { + "type": "string", + "description": "SAS URL for PAC file." + } + } + }, + "FirewallPolicyIntrusionDetection": { + "description": "Configuration for intrusion detection mode and rules.", + "properties": { + "mode": { + "$ref": "#/definitions/FirewallPolicyIntrusionDetectionStateOptions", + "description": "Intrusion detection general state." + }, + "configuration": { + "$ref": "#/definitions/FirewallPolicyIntrusionDetectionConfiguration", + "description": "Intrusion detection configuration properties." + } + } + }, + "FirewallPolicyIntrusionDetectionStateOptions": { + "type": "string", + "description": "Possible state values.", + "enum": [ + "Off", + "Alert", + "Deny" + ], + "x-ms-enum": { + "name": "FirewallPolicyIntrusionDetectionStateType", + "modelAsString": true + } + }, + "FirewallPolicyIntrusionDetectionConfiguration": { + "description": "The operation for configuring intrusion detection.", + "properties": { + "signatureOverrides": { + "type": "array", + "description": "List of specific signatures states.", + "items": { + "$ref": "#/definitions/FirewallPolicyIntrusionDetectionSignatureSpecification" + } + }, + "bypassTrafficSettings": { + "type": "array", + "description": "List of rules for traffic to bypass.", + "items": { + "$ref": "#/definitions/FirewallPolicyIntrusionDetectionBypassTrafficSpecifications" + } + } + } + }, + "FirewallPolicyIntrusionDetectionSignatureSpecification": { + "properties": { + "id": { + "type": "string", + "description": "Signature id." + }, + "mode": { + "$ref": "#/definitions/FirewallPolicyIntrusionDetectionStateOptions", + "description": "The signature state." + } + }, + "description": "Intrusion detection signatures specification states." + }, + "FirewallPolicyIntrusionDetectionBypassTrafficSpecifications": { + "properties": { + "name": { + "type": "string", + "description": "Name of the bypass traffic rule." + }, + "description": { + "type": "string", + "description": "Description of the bypass traffic rule." + }, + "protocol": { + "type": "string", + "$ref": "#/definitions/FirewallPolicyIntrusionDetectionBypassTrafficProtocol", + "description": "The rule bypass protocol." + }, + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses or ranges for this rule.", + "items": { + "type": "string" + } + }, + "destinationAddresses": { + "type": "array", + "description": "List of destination IP addresses or ranges for this rule.", + "items": { + "type": "string" + } + }, + "destinationPorts": { + "type": "array", + "description": "List of destination ports or ranges.", + "items": { + "type": "string" + } + }, + "sourceIpGroups": { + "type": "array", + "description": "List of source IpGroups for this rule.", + "items": { + "type": "string" + } + }, + "destinationIpGroups": { + "type": "array", + "description": "List of destination IpGroups for this rule.", + "items": { + "type": "string" + } + } + }, + "description": "Intrusion detection bypass traffic specification." + }, + "FirewallPolicyIntrusionDetectionBypassTrafficProtocol": { + "type": "string", + "description": "Possible intrusion detection bypass traffic protocols.", + "enum": [ + "TCP", + "UDP", + "ICMP", + "ANY" + ], + "x-ms-enum": { + "name": "FirewallPolicyIntrusionDetectionProtocol", + "modelAsString": true + } + }, + "FirewallPolicyTransportSecurity": { + "properties": { + "certificateAuthority": { + "$ref": "#/definitions/FirewallPolicyCertificateAuthority", + "description": "The CA used for intermediate CA generation." + } + }, + "description": "Configuration needed to perform TLS termination & initiation." + }, + "FirewallPolicyCertificateAuthority": { + "properties": { + "keyVaultSecretId": { + "type": "string", + "description": "Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault." + }, + "name": { + "type": "string", + "description": "Name of the CA certificate." + } + }, + "description": "Trusted Root certificates properties for tls." + }, + "FirewallPolicySku": { + "properties": { + "tier": { + "type": "string", + "description": "Tier of Firewall Policy.", + "enum": [ + "Standard", + "Premium", + "Basic" + ], + "x-ms-enum": { + "name": "FirewallPolicySkuTier", + "modelAsString": true + } + } + }, + "description": "SKU of Firewall policy." + }, + "FirewallPolicyLogAnalyticsResources": { + "description": "Log Analytics Resources for Firewall Policy Insights.", + "x-ms-discriminator-value": "FirewallPolicyLogAnalyticsResources", + "properties": { + "workspaces": { + "type": "array", + "description": "List of workspaces for Firewall Policy Insights.", + "items": { + "$ref": "#/definitions/FirewallPolicyLogAnalyticsWorkspace" + } + }, + "defaultWorkspaceId": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The default workspace Id for Firewall Policy Insights." + } + } + }, + "FirewallPolicyLogAnalyticsWorkspace": { + "description": "Log Analytics Workspace for Firewall Policy Insights.", + "x-ms-discriminator-value": "FirewallPolicyLogAnalyticsWorkspace", + "properties": { + "region": { + "type": "string", + "description": "Region to configure the Workspace." + }, + "workspaceId": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The workspace Id for Firewall Policy Insights." + } + } + }, + "IDPSQueryObject": { + "description": "Will describe the query to run against the IDPS signatures DB", + "type": "object", + "properties": { + "filters": { + "type": "object", + "description": "Contain all filters names and values", + "$ref": "#/definitions/Filters" + }, + "search": { + "type": "string", + "description": "Search term in all columns" + }, + "orderBy": { + "type": "object", + "$ref": "#/definitions/OrderBy", + "description": "Column to sort response by" + }, + "resultsPerPage": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 1000, + "description": "The number of the results to return in each page" + }, + "skip": { + "type": "integer", + "format": "int32", + "description": "The number of records matching the filter to skip" + } + } + }, + "Filters": { + "description": "Describers the filters to filter response by", + "type": "array", + "items": { + "$ref": "#/definitions/FilterItems" + } + }, + "FilterItems": { + "description": "Will contain the filter name and values to operate on", + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "The name of the field we would like to filter" + }, + "values": { + "type": "array", + "description": "List of values to filter the current field by", + "items": { + "type": "string", + "description": "Value of the field to filter by" + } + } + } + }, + "OrderBy": { + "description": "Describes a column to sort", + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "Describes the actual column name to sort by" + }, + "order": { + "type": "string", + "description": "Describes if results should be in ascending/descending order", + "enum": [ + "Ascending", + "Descending" + ] + } + } + }, + "QueryResults": { + "description": "Query result", + "type": "object", + "properties": { + "matchingRecordsCount": { + "type": "integer", + "format": "int64", + "description": "Number of total records matching the query." + }, + "signatures": { + "type": "array", + "items": { + "$ref": "#/definitions/SingleQueryResult" + }, + "description": "Array containing the results of the query" + } + } + }, + "SingleQueryResult": { + "type": "object", + "properties": { + "signatureId": { + "type": "integer", + "format": "int32", + "description": "The ID of the signature" + }, + "mode": { + "type": "integer", + "format": "int32", + "description": "The current mode enforced, 0 - Disabled, 1 - Alert, 2 -Deny", + "enum": [ + 0, + 1, + 2 + ] + }, + "severity": { + "type": "integer", + "format": "int32", + "description": "Describes the severity of signature: 1 - Low, 2 - Medium, 3 - High", + "enum": [ + 1, + 2, + 3 + ] + }, + "direction": { + "type": "integer", + "format": "int32", + "description": "Describes in which direction signature is being enforced: 0 - Inbound, 1 - OutBound, 2 - Bidirectional", + "enum": [ + 0, + 1, + 2 + ] + }, + "group": { + "type": "string", + "description": "Describes the groups the signature belongs to" + }, + "description": { + "type": "string", + "description": "Describes what is the signature enforces" + }, + "protocol": { + "type": "string", + "description": "Describes the protocol the signatures is being enforced in" + }, + "sourcePorts": { + "type": "array", + "items": { + "$ref": "#/definitions/PortsList" + }, + "description": "Describes the list of source ports related to this signature" + }, + "destinationPorts": { + "type": "array", + "items": { + "$ref": "#/definitions/PortsList" + }, + "description": "Describes the list of destination ports related to this signature" + }, + "lastUpdated": { + "type": "string", + "description": "Describes the last updated time of the signature (provided from 3rd party vendor)" + }, + "inheritedFromParentPolicy": { + "type": "boolean", + "description": "Describes if this override is inherited from base policy or not" + } + } + }, + "PortsList": { + "type": "string", + "description": "Describes a port, port range, or negation of a port" + }, + "Signatures": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "SignaturesOverridesList": { + "type": "object", + "description": "Describes an object containing an array with a single item", + "properties": { + "value": { + "type": "array", + "description": "Describes a list consisting exactly one item describing the policy's signature override status", + "items": { + "description": "Describes the single signatures overrides object related to that policy.", + "$ref": "#/definitions/SignaturesOverrides" + } + } + } + }, + "SignaturesOverrides": { + "x-ms-azure-resource": true, + "type": "object", + "description": "Contains all specific policy signatures overrides for the IDPS", + "properties": { + "name": { + "type": "string", + "description": "Contains the name of the resource (default)" + }, + "id": { + "description": "Will contain the resource id of the signature override resource", + "type": "string" + }, + "type": { + "type": "string", + "description": "Will contain the type of the resource: Microsoft.Network/firewallPolicies/intrusionDetectionSignaturesOverrides" + }, + "properties": { + "type": "object", + "description": "Will contain the properties of the resource (the actual signature overrides)", + "properties": { + "signatures": { + "type": "object", + "$ref": "#/definitions/Signatures" + } + } + } + } + }, + "SignatureOverridesFilterValuesQuery": { + "description": "Describes the filter values possibles for a given column", + "type": "object", + "properties": { + "filterName": { + "type": "string", + "description": "Describes the name of the column which values will be returned" + } + } + }, + "SignatureOverridesFilterValuesResponse": { + "description": "Describes the list of all possible values for a specific filter value", + "type": "object", + "properties": { + "filterValues": { + "description": "Describes the possible values", + "type": "array", + "items": { + "description": "Describes a single value of the filter", + "type": "string" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/ipAllocation.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/ipAllocation.json new file mode 100644 index 000000000000..210f025d658a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/ipAllocation.json @@ -0,0 +1,454 @@ +{ + "swagger": "2.0", + "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-05-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.Network/IpAllocations/{ipAllocationName}": { + "delete": { + "tags": [ + "IpAllocations" + ], + "operationId": "IpAllocations_Delete", + "description": "Deletes the specified IpAllocation.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipAllocationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the IpAllocation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + }, + "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" + }, + "x-ms-examples": { + "Delete IpAllocation": { + "$ref": "./examples/IpAllocationDelete.json" + } + } + }, + "get": { + "tags": [ + "IpAllocations" + ], + "operationId": "IpAllocations_Get", + "description": "Gets the specified IpAllocation by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipAllocationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the IpAllocation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting IpAllocation resource.", + "schema": { + "$ref": "#/definitions/IpAllocation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get IpAllocation": { + "$ref": "./examples/IpAllocationGet.json" + } + } + }, + "put": { + "tags": [ + "IpAllocations" + ], + "operationId": "IpAllocations_CreateOrUpdate", + "description": "Creates or updates an IpAllocation in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipAllocationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the IpAllocation." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IpAllocation" + }, + "description": "Parameters supplied to the create or update virtual network operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting IpAllocation resource.", + "schema": { + "$ref": "#/definitions/IpAllocation" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting IpAllocation resource.", + "schema": { + "$ref": "#/definitions/IpAllocation" + } + }, + "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" + }, + "x-ms-examples": { + "Create IpAllocation": { + "$ref": "./examples/IpAllocationCreate.json" + } + } + }, + "patch": { + "tags": [ + "IpAllocations" + ], + "operationId": "IpAllocations_UpdateTags", + "description": "Updates a IpAllocation tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipAllocationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the IpAllocation." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update IpAllocation tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting IpAllocation resource.", + "schema": { + "$ref": "#/definitions/IpAllocation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update virtual network tags": { + "$ref": "./examples/IpAllocationUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/IpAllocations": { + "get": { + "tags": [ + "IpAllocations" + ], + "operationId": "IpAllocations_List", + "description": "Gets all IpAllocations in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of IpAllocation resources.", + "schema": { + "$ref": "#/definitions/IpAllocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all IpAllocations": { + "$ref": "./examples/IpAllocationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/IpAllocations": { + "get": { + "tags": [ + "IpAllocations" + ], + "operationId": "IpAllocations_ListByResourceGroup", + "description": "Gets all IpAllocations in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of IpAllocation resources.", + "schema": { + "$ref": "#/definitions/IpAllocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List IpAllocations in resource group": { + "$ref": "./examples/IpAllocationListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "IpAllocationPropertiesFormat": { + "properties": { + "subnet": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "The Subnet that using the prefix of this IpAllocation resource." + }, + "virtualNetwork": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "The VirtualNetwork that using the prefix of this IpAllocation resource." + }, + "type": { + "$ref": "#/definitions/IpAllocationType", + "description": "The type for the IpAllocation." + }, + "prefix": { + "type": "string", + "description": "The address prefix for the IpAllocation." + }, + "prefixLength": { + "type": "integer", + "x-nullable": true, + "default": 0, + "description": "The address prefix length for the IpAllocation." + }, + "prefixType": { + "$ref": "./network.json#/definitions/IPVersion", + "default": null, + "description": "The address prefix Type for the IpAllocation." + }, + "ipamAllocationId": { + "type": "string", + "description": "The IPAM allocation ID." + }, + "allocationTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "IpAllocation tags." + } + }, + "description": "Properties of the IpAllocation." + }, + "IpAllocation": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IpAllocationPropertiesFormat", + "description": "Properties of the IpAllocation." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "IpAllocation resource." + }, + "IpAllocationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IpAllocation" + }, + "description": "A list of IpAllocation resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListIpAllocations API service call." + }, + "IpAllocationType": { + "type": "string", + "description": "IpAllocation type.", + "enum": [ + "Undefined", + "Hypernet" + ], + "x-ms-enum": { + "name": "IpAllocationType", + "modelAsString": true + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/ipGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/ipGroups.json new file mode 100644 index 000000000000..e613392c1e04 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/ipGroups.json @@ -0,0 +1,430 @@ +{ + "swagger": "2.0", + "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-05-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.Network/ipGroups/{ipGroupsName}": { + "get": { + "tags": [ + "IpGroups" + ], + "operationId": "IpGroups_Get", + "description": "Gets the specified ipGroups.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipGroupsName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ipGroups." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands resourceIds (of Firewalls/Network Security Groups etc.) back referenced by the IpGroups resource." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting IpGroups resource.", + "schema": { + "$ref": "#/definitions/IpGroup" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Get_IpGroups": { + "$ref": "./examples/IpGroupsGet.json" + } + } + }, + "put": { + "tags": [ + "IpGroups" + ], + "operationId": "IpGroups_CreateOrUpdate", + "description": "Creates or updates an ipGroups in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipGroupsName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ipGroups." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IpGroup" + }, + "description": "Parameters supplied to the create or update IpGroups operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ipGroups resource.", + "schema": { + "$ref": "#/definitions/IpGroup" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ipGroups resource.", + "schema": { + "$ref": "#/definitions/IpGroup" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "CreateOrUpdate_IpGroups": { + "$ref": "./examples/IpGroupsCreate.json" + } + } + }, + "patch": { + "tags": [ + "IpGroups" + ], + "operationId": "IpGroups_UpdateGroups", + "description": "Updates tags of an IpGroups resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipGroupsName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ipGroups." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to the update ipGroups operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ipGroups resource.", + "schema": { + "$ref": "#/definitions/IpGroup" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Update_IpGroups": { + "$ref": "./examples/IpGroupsUpdateTags.json" + } + } + }, + "delete": { + "tags": [ + "IpGroups" + ], + "operationId": "IpGroups_Delete", + "description": "Deletes the specified ipGroups.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipGroupsName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ipGroups." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Delete_IpGroups": { + "$ref": "./examples/IpGroupsDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups": { + "get": { + "tags": [ + "IpGroups" + ], + "operationId": "IpGroups_ListByResourceGroup", + "description": "Gets all IpGroups in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ipGroups resources.", + "schema": { + "$ref": "#/definitions/IpGroupListResult" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "ListByResourceGroup_IpGroups": { + "$ref": "./examples/IpGroupsListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ipGroups": { + "get": { + "tags": [ + "IpGroups" + ], + "operationId": "IpGroups_List", + "description": "Gets all IpGroups in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ipGroups resources.", + "schema": { + "$ref": "#/definitions/IpGroupListResult" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List_IpGroups": { + "$ref": "./examples/IpGroupsListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "IpGroup": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IpGroupPropertiesFormat", + "description": "Properties of the IpGroups." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "The IpGroups resource information." + }, + "IpGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IpGroup" + }, + "description": "The list of IpGroups information resources." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for the ListIpGroups API service call." + }, + "IpGroupPropertiesFormat": { + "properties": { + "provisioningState": { + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the IpGroups resource.", + "readOnly": true + }, + "ipAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IpAddresses/IpAddressPrefixes in the IpGroups resource." + }, + "firewalls": { + "type": "array", + "readOnly": true, + "description": "List of references to Firewall resources that this IpGroups is associated with.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "firewallPolicies": { + "type": "array", + "readOnly": true, + "description": "List of references to Firewall Policies resources that this IpGroups is associated with.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + } + }, + "description": "The IpGroups property information." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/loadBalancer.json new file mode 100644 index 000000000000..f4884e83c893 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/loadBalancer.json @@ -0,0 +1,2616 @@ +{ + "swagger": "2.0", + "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-05-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.Network/loadBalancers/{loadBalancerName}": { + "delete": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_Delete", + "description": "Deletes the specified load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "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." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete load balancer": { + "$ref": "./examples/LoadBalancerDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_Get", + "description": "Gets the specified load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "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." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting LoadBalancer resource.", + "schema": { + "$ref": "#/definitions/LoadBalancer" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get load balancer": { + "$ref": "./examples/LoadBalancerGet.json" + }, + "Get load balancer with inbound NAT rule port mapping": { + "$ref": "./examples/LoadBalancerGetInboundNatRulePortMapping.json" + } + } + }, + "put": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_CreateOrUpdate", + "description": "Creates or updates a load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "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": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LoadBalancer" + }, + "description": "Parameters supplied to the create or update load balancer operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting LoadBalancer resource.", + "schema": { + "$ref": "#/definitions/LoadBalancer" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting LoadBalancer resource.", + "schema": { + "$ref": "#/definitions/LoadBalancer" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create load balancer": { + "$ref": "./examples/LoadBalancerCreate.json" + }, + "Create load balancer with Standard SKU": { + "$ref": "./examples/LoadBalancerCreateStandardSku.json" + }, + "Create load balancer with Global Tier and one regional load balancer in its backend pool": { + "$ref": "./examples/LoadBalancerCreateGlobalTier.json" + }, + "Create load balancer with Frontend IP in Zone 1": { + "$ref": "./examples/LoadBalancerCreateWithZones.json" + }, + "Create load balancer with inbound nat pool": { + "$ref": "./examples/LoadBalancerCreateWithInboundNatPool.json" + }, + "Create load balancer with outbound rules": { + "$ref": "./examples/LoadBalancerCreateWithOutboundRules.json" + }, + "Create load balancer with Gateway Load Balancer Consumer configured": { + "$ref": "./examples/LoadBalancerCreateGatewayLoadBalancerConsumer.json" + }, + "Create load balancer with Gateway Load Balancer Provider configured with one Backend Pool": { + "$ref": "./examples/LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json" + }, + "Create load balancer with Gateway Load Balancer Provider configured with two Backend Pool": { + "$ref": "./examples/LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_UpdateTags", + "description": "Updates a load balancer tags.", + "parameters": [ + { + "name": "resourceGroupName", + "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": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update load balancer tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting LoadBalancer resource.", + "schema": { + "$ref": "#/definitions/LoadBalancer" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update load balancer tags": { + "$ref": "./examples/LoadBalancerUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_ListAll", + "description": "Gets all the load balancers in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all load balancers": { + "$ref": "./examples/LoadBalancerListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_List", + "description": "Gets all the load balancers in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List load balancers in resource group": { + "$ref": "./examples/LoadBalancerList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerBackendAddressPools_List", + "description": "Gets all the load balancer backed address pools.", + "parameters": [ + { + "name": "resourceGroupName", + "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." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer BackendAddressPool resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerBackendAddressPoolListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerBackendAddressPoolList": { + "$ref": "./examples/LoadBalancerBackendAddressPoolList.json" + }, + "Load balancer with BackendAddressPool containing BackendAddresses": { + "$ref": "./examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerBackendAddressPools_Get", + "description": "Gets load balancer backend address pool.", + "parameters": [ + { + "name": "resourceGroupName", + "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": "backendAddressPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the backend address pool." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns LoadBalancer BackendAddressPool resource.", + "schema": { + "$ref": "#/definitions/BackendAddressPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerBackendAddressPoolGet": { + "$ref": "./examples/LoadBalancerBackendAddressPoolGet.json" + }, + "LoadBalancer with BackendAddressPool with BackendAddresses": { + "$ref": "./examples/LBBackendAddressPoolWithBackendAddressesGet.json" + } + } + }, + "put": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerBackendAddressPools_CreateOrUpdate", + "description": "Creates or updates a load balancer backend address pool.", + "parameters": [ + { + "name": "resourceGroupName", + "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": "backendAddressPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the backend address pool." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BackendAddressPool" + }, + "description": "Parameters supplied to the create or update load balancer backend address pool operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting BackendAddressPool resource.", + "schema": { + "$ref": "#/definitions/BackendAddressPool" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting BackendAddressPool resource.", + "schema": { + "$ref": "#/definitions/BackendAddressPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update load balancer backend pool with backend addresses containing virtual network and IP address.": { + "$ref": "./examples/LBBackendAddressPoolWithBackendAddressesPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerBackendAddressPools_Delete", + "description": "Deletes the specified load balancer backend address pool.", + "parameters": [ + { + "name": "resourceGroupName", + "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": "backendAddressPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the backend address pool." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BackendAddressPoolDelete": { + "$ref": "./examples/LoadBalancerBackendAddressPoolDelete.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}/frontendIPConfigurations": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerFrontendIPConfigurations_List", + "description": "Gets all the load balancer frontend IP configurations.", + "parameters": [ + { + "name": "resourceGroupName", + "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." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer FrontendIPConfiguration resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerFrontendIPConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerFrontendIPConfigurationList": { + "$ref": "./examples/LoadBalancerFrontendIPConfigurationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerFrontendIPConfigurations_Get", + "description": "Gets load balancer frontend IP configuration.", + "parameters": [ + { + "name": "resourceGroupName", + "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": "frontendIPConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the frontend IP configuration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns LoadBalancer FrontendIPConfiguration resource.", + "schema": { + "$ref": "#/definitions/FrontendIPConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerFrontendIPConfigurationGet": { + "$ref": "./examples/LoadBalancerFrontendIPConfigurationGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "InboundNatRules_List", + "description": "Gets all the inbound NAT rules in a load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "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." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer InboundNatRule resources.", + "schema": { + "$ref": "#/definitions/InboundNatRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "InboundNatRuleList": { + "$ref": "./examples/InboundNatRuleList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}": { + "delete": { + "tags": [ + "LoadBalancers" + ], + "operationId": "InboundNatRules_Delete", + "description": "Deletes the specified load balancer inbound NAT rule.", + "parameters": [ + { + "name": "resourceGroupName", + "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": "inboundNatRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the inbound NAT rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "InboundNatRuleDelete": { + "$ref": "./examples/InboundNatRuleDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "InboundNatRules_Get", + "description": "Gets the specified load balancer inbound NAT rule.", + "parameters": [ + { + "name": "resourceGroupName", + "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": "inboundNatRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the inbound NAT rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting InboundNatRule resource.", + "schema": { + "$ref": "#/definitions/InboundNatRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "InboundNatRuleGet": { + "$ref": "./examples/InboundNatRuleGet.json" + } + } + }, + "put": { + "tags": [ + "LoadBalancers" + ], + "operationId": "InboundNatRules_CreateOrUpdate", + "description": "Creates or updates a load balancer inbound NAT rule.", + "parameters": [ + { + "name": "resourceGroupName", + "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": "inboundNatRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the inbound NAT rule." + }, + { + "name": "inboundNatRuleParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InboundNatRule" + }, + "description": "Parameters supplied to the create or update inbound NAT rule operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting InboundNatRule resource.", + "schema": { + "$ref": "#/definitions/InboundNatRule" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting InboundNatRule resource.", + "schema": { + "$ref": "#/definitions/InboundNatRule" + } + }, + "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" + }, + "x-ms-examples": { + "InboundNatRuleCreate": { + "$ref": "./examples/InboundNatRuleCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerLoadBalancingRules_List", + "description": "Gets all the load balancing rules in a load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "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." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer LoadBalancingRule resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerLoadBalancingRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "LoadBalancerLoadBalancingRuleList": { + "$ref": "./examples/LoadBalancerLoadBalancingRuleList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerLoadBalancingRules_Get", + "description": "Gets the specified load balancer load balancing rule.", + "parameters": [ + { + "name": "resourceGroupName", + "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": "loadBalancingRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancing rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting LoadBalancingRule resource.", + "schema": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerLoadBalancingRuleGet": { + "$ref": "./examples/LoadBalancerLoadBalancingRuleGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerOutboundRules_List", + "description": "Gets all the outbound rules in a load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "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." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer OutboundRule resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerOutboundRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "LoadBalancerOutboundRuleList": { + "$ref": "./examples/LoadBalancerOutboundRuleList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules/{outboundRuleName}": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerOutboundRules_Get", + "description": "Gets the specified load balancer outbound rule.", + "parameters": [ + { + "name": "resourceGroupName", + "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": "outboundRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the outbound rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting OutboundRule resource.", + "schema": { + "$ref": "#/definitions/OutboundRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerOutboundRuleGet": { + "$ref": "./examples/LoadBalancerOutboundRuleGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerNetworkInterfaces_List", + "description": "Gets associated load balancer network interfaces.", + "parameters": [ + { + "name": "resourceGroupName", + "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." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerNetworkInterfaceListVmss": { + "$ref": "./examples/LoadBalancerNetworkInterfaceListVmss.json" + }, + "LoadBalancerNetworkInterfaceListSimple": { + "$ref": "./examples/LoadBalancerNetworkInterfaceListSimple.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerProbes_List", + "description": "Gets all the load balancer probes.", + "parameters": [ + { + "name": "resourceGroupName", + "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." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer Probe resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerProbeListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerProbeList": { + "$ref": "./examples/LoadBalancerProbeList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/setLoadBalancerFrontendPublicIpAddresses": { + "post": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_SwapPublicIpAddresses", + "description": "Swaps VIPs between two load balancers.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The region where load balancers are located at." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LoadBalancerVipSwapRequest" + }, + "description": "Parameters that define which VIPs should be swapped." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful." + }, + "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": { + "Swap VIPs between two load balancers.": { + "$ref": "./examples/LoadBalancersSwapPublicIpAddresses.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/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": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerProbes_Get", + "description": "Gets load balancer probe.", + "parameters": [ + { + "name": "resourceGroupName", + "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": "probeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the probe." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns LoadBalancer Probe resource.", + "schema": { + "$ref": "#/definitions/Probe" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerProbeGet": { + "$ref": "./examples/LoadBalancerProbeGet.json" + } + } + } + } + }, + "definitions": { + "GatewayLoadBalancerTunnelInterface": { + "properties": { + "port": { + "type": "integer", + "format": "int32", + "description": "Port of gateway load balancer tunnel interface." + }, + "identifier": { + "type": "integer", + "format": "int32", + "description": "Identifier of gateway load balancer tunnel interface." + }, + "protocol": { + "type": "string", + "description": "Protocol of gateway load balancer tunnel interface.", + "enum": [ + "None", + "Native", + "VXLAN" + ], + "x-ms-enum": { + "name": "GatewayLoadBalancerTunnelProtocol", + "modelAsString": true + } + }, + "type": { + "type": "string", + "description": "Traffic type of gateway load balancer tunnel interface.", + "enum": [ + "None", + "Internal", + "External" + ], + "x-ms-enum": { + "name": "GatewayLoadBalancerTunnelInterfaceType", + "modelAsString": true + } + } + }, + "description": "Gateway load balancer tunnel interface of a load balancer backend address pool." + }, + "LoadBalancerSku": { + "properties": { + "name": { + "type": "string", + "description": "Name of a load balancer SKU.", + "enum": [ + "Basic", + "Standard", + "Gateway" + ], + "x-ms-enum": { + "name": "LoadBalancerSkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Tier of a load balancer SKU.", + "enum": [ + "Regional", + "Global" + ], + "x-ms-enum": { + "name": "LoadBalancerSkuTier", + "modelAsString": true + } + } + }, + "description": "SKU of a load balancer." + }, + "FrontendIPConfigurationPropertiesFormat": { + "properties": { + "inboundNatRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to inbound rules that use this frontend IP." + }, + "inboundNatPools": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to inbound pools that use this frontend IP." + }, + "outboundRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to outbound rules that use this frontend IP." + }, + "loadBalancingRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to load balancing rules that use this frontend IP." + }, + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The Private IP allocation method." + }, + "privateIPAddressVersion": { + "$ref": "./network.json#/definitions/IPVersion", + "description": "Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4." + }, + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "The reference to the subnet resource." + }, + "publicIPAddress": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress", + "description": "The reference to the Public IP resource." + }, + "publicIPPrefix": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the Public IP Prefix resource." + }, + "gatewayLoadBalancer": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to gateway load balancer frontend IP." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the frontend IP configuration resource." + } + }, + "description": "Properties of Frontend IP Configuration of the load balancer." + }, + "FrontendIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FrontendIPConfigurationPropertiesFormat", + "description": "Properties of the load balancer probe." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource." + }, + "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." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting the IP allocated for the resource needs to come from." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Frontend IP address of the load balancer." + }, + "LoadBalancerBackendAddressPropertiesFormat": { + "properties": { + "virtualNetwork": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to an existing virtual network." + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to an existing subnet." + }, + "ipAddress": { + "type": "string", + "description": "IP Address belonging to the referenced virtual network.", + "x-ms-azure-resource": false + }, + "networkInterfaceIPConfiguration": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to IP address defined in network interfaces." + }, + "loadBalancerFrontendIPConfiguration": { + "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." + }, + "LoadBalancerBackendAddress": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LoadBalancerBackendAddressPropertiesFormat", + "description": "Properties of load balancer backend address pool." + }, + "name": { + "type": "string", + "description": "Name of the backend address." + } + }, + "description": "Load balancer backend addresses." + }, + "BackendAddressPoolPropertiesFormat": { + "properties": { + "location": { + "type": "string", + "description": "The location of the backend address pool." + }, + "tunnelInterfaces": { + "type": "array", + "items": { + "$ref": "#/definitions/GatewayLoadBalancerTunnelInterface" + }, + "description": "An array of gateway load balancer tunnel interfaces." + }, + "loadBalancerBackendAddresses": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerBackendAddress" + }, + "description": "An array of backend addresses." + }, + "backendIPConfigurations": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" + }, + "description": "An array of references to IP addresses defined in network interfaces." + }, + "loadBalancingRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to load balancing rules that use this backend address pool." + }, + "outboundRule": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to an outbound rule that uses this backend address pool." + }, + "outboundRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "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", + "description": "The provisioning state of the backend address pool resource." + } + }, + "description": "Properties of the backend address pool." + }, + "BackendAddressPool": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BackendAddressPoolPropertiesFormat", + "description": "Properties of load balancer backend address pool." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of backend address pools used by the load balancer. This name can be used to access the resource." + }, + "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": "Pool of backend IP addresses." + }, + "LoadBalancingRulePropertiesFormat": { + "properties": { + "frontendIPConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to frontend IP addresses." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend IPs." + }, + "backendAddressPools": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to pool of DIPs." + }, + "probe": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the load balancer probe used by the load balancing rule." + }, + "protocol": { + "$ref": "#/definitions/TransportProtocol", + "description": "The reference to the transport protocol used by the load balancing rule." + }, + "loadDistribution": { + "type": "string", + "description": "The load distribution policy for this rule.", + "enum": [ + "Default", + "SourceIP", + "SourceIPProtocol" + ], + "x-ms-enum": { + "name": "LoadDistribution", + "modelAsString": true + } + }, + "frontendPort": { + "type": "integer", + "format": "int32", + "description": "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 enables \"Any Port\"." + }, + "backendPort": { + "type": "integer", + "format": "int32", + "description": "The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables \"Any Port\"." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP." + }, + "enableFloatingIP": { + "type": "boolean", + "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint." + }, + "enableTcpReset": { + "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." + }, + "disableOutboundSnat": { + "type": "boolean", + "description": "Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the load balancing rule resource." + } + }, + "required": [ + "protocol", + "frontendPort" + ], + "description": "Properties of the load balancer." + }, + "LoadBalancingRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LoadBalancingRulePropertiesFormat", + "description": "Properties of load balancer load balancing rule." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of load balancing rules used by the load balancer. This name can be used to access the resource." + }, + "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": "A load balancing rule for a load balancer." + }, + "ProbePropertiesFormat": { + "properties": { + "loadBalancingRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "The load balancer rules that use this probe." + }, + "protocol": { + "type": "string", + "description": "The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful.", + "enum": [ + "Http", + "Tcp", + "Https" + ], + "x-ms-enum": { + "name": "ProbeProtocol", + "modelAsString": true + } + }, + "port": { + "type": "integer", + "format": "int32", + "description": "The port for communicating the probe. Possible values range from 1 to 65535, inclusive." + }, + "intervalInSeconds": { + "type": "integer", + "format": "int32", + "description": "The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5." + }, + "numberOfProbes": { + "type": "integer", + "format": "int32", + "description": "The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure." + }, + "requestPath": { + "type": "string", + "description": "The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the probe resource." + } + }, + "required": [ + "protocol", + "port" + ], + "description": "Load balancer probe resource." + }, + "Probe": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProbePropertiesFormat", + "description": "Properties of load balancer probe." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource." + }, + "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": "A load balancer probe." + }, + "InboundNatRulePropertiesFormat": { + "properties": { + "frontendIPConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to frontend IP addresses." + }, + "backendIPConfiguration": { + "readOnly": true, + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration", + "description": "A reference to a private IP address defined on a network interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations is forwarded to the backend IP." + }, + "protocol": { + "$ref": "#/definitions/TransportProtocol", + "description": "The reference to the transport protocol used by the load balancing rule." + }, + "frontendPort": { + "type": "integer", + "format": "int32", + "description": "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534." + }, + "backendPort": { + "type": "integer", + "format": "int32", + "description": "The port used for the internal endpoint. Acceptable values range from 1 to 65535." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP." + }, + "enableFloatingIP": { + "type": "boolean", + "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint." + }, + "enableTcpReset": { + "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", + "description": "The provisioning state of the inbound NAT rule resource." + } + }, + "description": "Properties of the inbound NAT rule." + }, + "InboundNatRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/InboundNatRulePropertiesFormat", + "description": "Properties of load balancer inbound NAT rule." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name can be used to access the resource." + }, + "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": "Inbound NAT rule of the load balancer." + }, + "InboundNatPoolPropertiesFormat": { + "properties": { + "frontendIPConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to frontend IP addresses." + }, + "protocol": { + "$ref": "#/definitions/TransportProtocol", + "description": "The reference to the transport protocol used by the inbound NAT pool." + }, + "frontendPortRangeStart": { + "type": "integer", + "format": "int32", + "description": "The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65534." + }, + "frontendPortRangeEnd": { + "type": "integer", + "format": "int32", + "description": "The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65535." + }, + "backendPort": { + "type": "integer", + "format": "int32", + "description": "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP." + }, + "enableFloatingIP": { + "type": "boolean", + "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint." + }, + "enableTcpReset": { + "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." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the inbound NAT pool resource." + } + }, + "required": [ + "protocol", + "frontendPortRangeStart", + "frontendPortRangeEnd", + "backendPort" + ], + "description": "Properties of Inbound NAT pool." + }, + "InboundNatPool": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/InboundNatPoolPropertiesFormat", + "description": "Properties of load balancer inbound nat pool." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name can be used to access the resource." + }, + "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": "Inbound NAT pool of the load balancer." + }, + "OutboundRulePropertiesFormat": { + "properties": { + "allocatedOutboundPorts": { + "type": "integer", + "format": "int32", + "description": "The number of outbound ports to be used for NAT." + }, + "frontendIPConfigurations": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "The Frontend IP addresses of the load balancer." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the outbound rule resource." + }, + "protocol": { + "type": "string", + "description": "The protocol for the outbound rule in load balancer.", + "enum": [ + "Tcp", + "Udp", + "All" + ], + "x-ms-enum": { + "name": "LoadBalancerOutboundRuleProtocol", + "modelAsString": true + } + }, + "enableTcpReset": { + "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." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "description": "The timeout for the TCP idle connection." + } + }, + "required": [ + "backendAddressPool", + "frontendIPConfigurations", + "protocol" + ], + "description": "Outbound rule of the load balancer." + }, + "OutboundRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OutboundRulePropertiesFormat", + "description": "Properties of load balancer outbound rule." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource." + }, + "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": "Outbound rule of the load balancer." + }, + "LoadBalancerPropertiesFormat": { + "properties": { + "frontendIPConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendIPConfiguration" + }, + "description": "Object representing the frontend IPs to be used for the load balancer." + }, + "backendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/BackendAddressPool" + }, + "description": "Collection of backend address pools used by a load balancer." + }, + "loadBalancingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + }, + "description": "Object collection representing the load balancing rules Gets the provisioning." + }, + "probes": { + "type": "array", + "items": { + "$ref": "#/definitions/Probe" + }, + "description": "Collection of probe objects used in the load balancer." + }, + "inboundNatRules": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatRule" + }, + "description": "Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT pool. 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." + }, + "inboundNatPools": { + "type": "array", + "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." + }, + "outboundRules": { + "type": "array", + "items": { + "$ref": "#/definitions/OutboundRule" + }, + "description": "The outbound rules." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the load balancer resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the load balancer resource." + } + }, + "description": "Properties of the load balancer." + }, + "LoadBalancer": { + "properties": { + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of the load balancer." + }, + "sku": { + "$ref": "#/definitions/LoadBalancerSku", + "description": "The load balancer SKU." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LoadBalancerPropertiesFormat", + "description": "Properties of load balancer." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "LoadBalancer resource." + }, + "LoadBalancerListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "description": "A list of load balancers in a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListLoadBalancers API service call." + }, + "InboundNatRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatRule" + }, + "description": "A list of inbound NAT rules in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListInboundNatRule API service call." + }, + "LoadBalancerBackendAddressPoolListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BackendAddressPool" + }, + "description": "A list of backend address pools in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListBackendAddressPool API service call." + }, + "LoadBalancerFrontendIPConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendIPConfiguration" + }, + "description": "A list of frontend IP configurations in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListFrontendIPConfiguration API service call." + }, + "LoadBalancerLoadBalancingRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + }, + "description": "A list of load balancing rules in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListLoadBalancingRule API service call." + }, + "LoadBalancerOutboundRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OutboundRule" + }, + "description": "A list of outbound rules in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListOutboundRule API service call." + }, + "LoadBalancerProbeListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Probe" + }, + "description": "A list of probes in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListProbe API service call." + }, + "TransportProtocol": { + "type": "string", + "description": "The transport protocol for the endpoint.", + "enum": [ + "Udp", + "Tcp", + "All" + ], + "x-ms-enum": { + "name": "TransportProtocol", + "modelAsString": true + } + }, + "LoadBalancerVipSwapRequest": { + "properties": { + "frontendIPConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerVipSwapRequestFrontendIPConfiguration" + }, + "description": "A list of frontend IP configuration resources that should swap VIPs." + } + }, + "description": "The request for a VIP swap." + }, + "LoadBalancerVipSwapRequestFrontendIPConfiguration": { + "properties": { + "id": { + "type": "string", + "description": "The ID of frontend IP configuration resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LoadBalancerVipSwapRequestFrontendIPConfigurationProperties", + "description": "The properties of VIP swap request's frontend IP configuration object." + } + }, + "description": "VIP swap request's frontend IP configuration object." + }, + "LoadBalancerVipSwapRequestFrontendIPConfigurationProperties": { + "properties": { + "publicIPAddress": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to public IP address resource." + } + }, + "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/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/natGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/natGateway.json new file mode 100644 index 000000000000..965fcf1a9111 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/natGateway.json @@ -0,0 +1,469 @@ +{ + "swagger": "2.0", + "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-05-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.Network/natGateways/{natGatewayName}": { + "delete": { + "tags": [ + "NatGateways" + ], + "operationId": "NatGateways_Delete", + "description": "Deletes the specified nat gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "natGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete nat gateway": { + "$ref": "./examples/NatGatewayDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "NatGateways" + ], + "operationId": "NatGateways_Get", + "description": "Gets the specified nat gateway in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "natGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NatGateway resource.", + "schema": { + "$ref": "#/definitions/NatGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get nat gateway": { + "$ref": "./examples/NatGatewayGet.json" + } + } + }, + "put": { + "tags": [ + "NatGateways" + ], + "operationId": "NatGateways_CreateOrUpdate", + "description": "Creates or updates a nat gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "natGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NatGateway" + }, + "description": "Parameters supplied to the create or update nat gateway operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting NatGateway resource.", + "schema": { + "$ref": "#/definitions/NatGateway" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting NatGateway resource.", + "schema": { + "$ref": "#/definitions/NatGateway" + } + }, + "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": { + "Create nat gateway": { + "$ref": "./examples/NatGatewayCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "NatGateways" + ], + "operationId": "NatGateways_UpdateTags", + "description": "Updates nat gateway tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "natGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update nat gateway tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting NatGateway resource.", + "schema": { + "$ref": "#/definitions/NatGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update nat gateway tags": { + "$ref": "./examples/NatGatewayUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/natGateways": { + "get": { + "tags": [ + "NatGateways" + ], + "operationId": "NatGateways_ListAll", + "description": "Gets all the Nat Gateways in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NatGateway resources.", + "schema": { + "$ref": "#/definitions/NatGatewayListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all nat gateways": { + "$ref": "./examples/NatGatewayListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways": { + "get": { + "tags": [ + "NatGateways" + ], + "operationId": "NatGateways_List", + "description": "Gets all nat gateways in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NatGateway resources.", + "schema": { + "$ref": "#/definitions/NatGatewayListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List nat gateways in resource group": { + "$ref": "./examples/NatGatewayList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "NatGatewaySku": { + "properties": { + "name": { + "type": "string", + "description": "Name of Nat Gateway SKU.", + "enum": [ + "Standard" + ], + "x-ms-enum": { + "name": "NatGatewaySkuName", + "modelAsString": true + } + } + }, + "description": "SKU of nat gateway." + }, + "NatGatewayPropertiesFormat": { + "properties": { + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The idle timeout of the nat gateway." + }, + "publicIpAddresses": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of public ip addresses associated with the nat gateway resource." + }, + "publicIpPrefixes": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of public ip prefixes associated with the nat gateway resource." + }, + "subnets": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to the subnets using this nat gateway resource." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the NAT gateway resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the NAT gateway resource." + } + }, + "description": "Nat Gateway properties." + }, + "NatGateway": { + "properties": { + "sku": { + "$ref": "#/definitions/NatGatewaySku", + "description": "The nat gateway SKU." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NatGatewayPropertiesFormat", + "description": "Nat Gateway properties." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting the zone in which Nat Gateway should be deployed." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Nat Gateway resource." + }, + "NatGatewayListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NatGateway" + }, + "description": "A list of Nat Gateways that exists in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListNatGateways API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/network.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/network.json new file mode 100644 index 000000000000..ad54f54d2b8c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/network.json @@ -0,0 +1,359 @@ +{ + "swagger": "2.0", + "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-05-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": {}, + "definitions": { + "ErrorDetails": { + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "message": { + "type": "string", + "description": "Error message." + } + }, + "description": "Common error details representation." + }, + "Error": { + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetails" + }, + "description": "Error details." + }, + "innerError": { + "type": "string", + "description": "Inner error message." + } + }, + "description": "Common error representation." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Cloud error body." + } + }, + "description": "An error response from the service." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "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": "A list of additional details about the error." + } + }, + "description": "An error response from the service." + }, + "AzureAsyncOperationResult": { + "properties": { + "status": { + "type": "string", + "description": "Status of the Azure async operation.", + "enum": [ + "InProgress", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "NetworkOperationStatus", + "modelAsString": true + } + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Details of the error occurred during specified asynchronous operation." + } + }, + "description": "The response body contains the status of the specified asynchronous operation, indicating whether it has succeeded, is in progress, or has failed. Note that this status is distinct from the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous operation succeeded, the response body includes the HTTP status code for the successful request. If the asynchronous operation failed, the response body includes the HTTP status code for the failed request and error information regarding the failure." + }, + "Resource": { + "properties": { + "id": { + "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": "Common resource representation.", + "x-ms-azure-resource": true + }, + "SubResource": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + }, + "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." + }, + "ManagedServiceIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "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 virtual machine.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "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." + } + } + }, + "description": "The list of user identities associated with 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." + }, + "ProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "Access": { + "type": "string", + "description": "Access to be allowed or denied.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "Access", + "modelAsString": true + } + }, + "AuthenticationMethod": { + "type": "string", + "description": "VPN client authentication method.", + "enum": [ + "EAPTLS", + "EAPMSCHAPv2" + ], + "x-ms-enum": { + "name": "AuthenticationMethod", + "modelAsString": true + } + }, + "IPAllocationMethod": { + "type": "string", + "description": "IP address allocation method.", + "enum": [ + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "IPAllocationMethod", + "modelAsString": true + } + }, + "IPVersion": { + "type": "string", + "description": "IP address version.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "IPVersion", + "modelAsString": true + } + }, + "ExtendedLocationType": { + "type": "string", + "description": "The supported ExtendedLocation types. Currently only EdgeZone is supported in Microsoft.Network resources.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "description": "ExtendedLocation complex type.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The 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." + }, + "ApiVersionVmssParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "2017-03-30" + ], + "x-ms-enum": { + "name": "ApiVersion", + "modelAsString": true + }, + "description": "Client API version." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/networkInterface.json new file mode 100644 index 000000000000..d762a4c4172f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/networkInterface.json @@ -0,0 +1,1587 @@ +{ + "swagger": "2.0", + "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-05-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.Network/networkInterfaces/{networkInterfaceName}": { + "delete": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_Delete", + "description": "Deletes the specified network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete network interface": { + "$ref": "./examples/NetworkInterfaceDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_Get", + "description": "Gets information about the specified network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "#/definitions/NetworkInterface" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get network interface": { + "$ref": "./examples/NetworkInterfaceGet.json" + } + } + }, + "put": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_CreateOrUpdate", + "description": "Creates or updates a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkInterface" + }, + "description": "Parameters supplied to the create or update network interface operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "#/definitions/NetworkInterface" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "#/definitions/NetworkInterface" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create network interface": { + "$ref": "./examples/NetworkInterfaceCreate.json" + }, + "Create network interface with Gateway Load Balancer Consumer configured": { + "$ref": "./examples/NetworkInterfaceCreateGatewayLoadBalancerConsumer.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_UpdateTags", + "description": "Updates a network interface tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update network interface tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "#/definitions/NetworkInterface" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update network interface tags": { + "$ref": "./examples/NetworkInterfaceUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListAll", + "description": "Gets all network interfaces in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all network interfaces": { + "$ref": "./examples/NetworkInterfaceListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_List", + "description": "Gets all network interfaces in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List network interfaces in resource group": { + "$ref": "./examples/NetworkInterfaceList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable": { + "post": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_GetEffectiveRouteTable", + "description": "Gets all route tables applied to a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of EffectRoute resources.", + "schema": { + "$ref": "#/definitions/EffectiveRouteListResult" + } + }, + "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": { + "Show network interface effective route tables": { + "$ref": "./examples/NetworkInterfaceEffectiveRouteTableList.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups": { + "post": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListEffectiveNetworkSecurityGroups", + "description": "Gets all network security groups applied to a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkSecurityGroup resources.", + "schema": { + "$ref": "#/definitions/EffectiveNetworkSecurityGroupListResult" + } + }, + "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": { + "List network interface effective network security groups": { + "$ref": "./examples/NetworkInterfaceEffectiveNSGList.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaceIPConfigurations_List", + "description": "Get all ip configurations in a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface IPConfiguration resources.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceIPConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "NetworkInterfaceIPConfigurationList": { + "$ref": "./examples/NetworkInterfaceIPConfigurationList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaceIPConfigurations_Get", + "description": "Gets the specified network interface ip configuration.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "ipConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ip configuration name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkInterface IPConfiguration resource.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceIPConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkInterfaceIPConfigurationGet": { + "$ref": "./examples/NetworkInterfaceIPConfigurationGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaceLoadBalancers_List", + "description": "List all load balancers in a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface LoadBalancer resources.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceLoadBalancerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "NetworkInterfaceLoadBalancerList": { + "$ref": "./examples/NetworkInterfaceLoadBalancerList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}": { + "delete": { + "tags": [ + "Network Interfaces" + ], + "operationId": "NetworkInterfaceTapConfigurations_Delete", + "description": "Deletes the specified tap configuration from the NetworkInterface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "tapConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tap configuration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete tap configuration": { + "$ref": "./examples/NetworkInterfaceTapConfigurationDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaceTapConfigurations_Get", + "description": "Get the specified tap configuration on a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "tapConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tap configuration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a tap configuration.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Network Interface Tap Configurations": { + "$ref": "./examples/NetworkInterfaceTapConfigurationGet.json" + } + } + }, + "put": { + "tags": [ + "Network Interfaces" + ], + "operationId": "NetworkInterfaceTapConfigurations_CreateOrUpdate", + "description": "Creates or updates a Tap configuration in the specified NetworkInterface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "tapConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tap configuration." + }, + { + "name": "tapConfigurationParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + }, + "description": "Parameters supplied to the create or update tap configuration operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting Tap Configuration resource.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting Tap configuration resource.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Network Interface Tap Configurations": { + "$ref": "./examples/NetworkInterfaceTapConfigurationCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaceTapConfigurations_List", + "description": "Get all Tap configurations in a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface TapConfiguration resources.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List virtual network tap configurations": { + "$ref": "./examples/NetworkInterfaceTapConfigurationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "NetworkInterfaceTapConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkInterfaceTapConfigurationPropertiesFormat", + "description": "Properties of the Virtual Network Tap configuration." + }, + "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": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Sub Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Tap configuration in a Network Interface." + }, + "NetworkInterfaceTapConfigurationPropertiesFormat": { + "properties": { + "virtualNetworkTap": { + "$ref": "./virtualNetworkTap.json#/definitions/VirtualNetworkTap", + "description": "The reference to the Virtual Network Tap resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network interface tap configuration resource." + } + }, + "description": "Properties of Virtual Network Tap configuration." + }, + "NetworkInterfaceIPConfigurationPropertiesFormat": { + "properties": { + "gatewayLoadBalancer": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to gateway load balancer frontend IP." + }, + "virtualNetworkTaps": { + "type": "array", + "items": { + "$ref": "./virtualNetworkTap.json#/definitions/VirtualNetworkTap" + }, + "description": "The reference to Virtual Network Taps." + }, + "applicationGatewayBackendAddressPools": { + "type": "array", + "items": { + "$ref": "./applicationGateway.json#/definitions/ApplicationGatewayBackendAddressPool" + }, + "description": "The reference to ApplicationGatewayBackendAddressPool resource." + }, + "loadBalancerBackendAddressPools": { + "type": "array", + "items": { + "$ref": "./loadBalancer.json#/definitions/BackendAddressPool" + }, + "description": "The reference to LoadBalancerBackendAddressPool resource." + }, + "loadBalancerInboundNatRules": { + "type": "array", + "items": { + "$ref": "./loadBalancer.json#/definitions/InboundNatRule" + }, + "description": "A list of references of LoadBalancerInboundNatRules." + }, + "privateIPAddress": { + "type": "string", + "description": "Private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method." + }, + "privateIPAddressVersion": { + "$ref": "./network.json#/definitions/IPVersion", + "description": "Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4." + }, + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "Subnet bound to the IP configuration." + }, + "primary": { + "type": "boolean", + "description": "Whether this is a primary customer address on the network interface." + }, + "publicIPAddress": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress", + "description": "Public IP address bound to the IP configuration." + }, + "applicationSecurityGroups": { + "type": "array", + "items": { + "$ref": "./applicationSecurityGroup.json#/definitions/ApplicationSecurityGroup" + }, + "description": "Application security groups in which the IP configuration is included." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network interface IP configuration." + }, + "privateLinkConnectionProperties": { + "$ref": "#/definitions/NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties", + "description": "PrivateLinkConnection properties for the network interface.", + "readOnly": true + } + }, + "description": "Properties of IP configuration." + }, + "NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties": { + "properties": { + "groupId": { + "type": "string", + "readOnly": true, + "description": "The group ID for current private link connection." + }, + "requiredMemberName": { + "type": "string", + "readOnly": true, + "description": "The required member name for current private link connection." + }, + "fqdns": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "List of FQDNs for current private link connection." + } + }, + "description": "PrivateLinkConnection properties for the network interface." + }, + "NetworkInterfaceIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkInterfaceIPConfigurationPropertiesFormat", + "description": "Network interface IP configuration properties." + }, + "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": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IPConfiguration in a network interface." + }, + "NetworkInterfaceDnsSettings": { + "properties": { + "dnsServers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection." + }, + "appliedDnsServers": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "If the VM that uses this NIC is part of an Availability Set, then this list will have the union of all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of those VMs." + }, + "internalDnsNameLabel": { + "type": "string", + "description": "Relative DNS name for this NIC used for internal communications between VMs in the same virtual network." + }, + "internalFqdn": { + "readOnly": true, + "type": "string", + "description": "Fully qualified DNS name supporting internal communications between VMs in the same virtual network." + }, + "internalDomainNameSuffix": { + "readOnly": true, + "type": "string", + "description": "Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix." + } + }, + "description": "DNS settings of a network interface." + }, + "NetworkInterfacePropertiesFormat": { + "properties": { + "virtualMachine": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to a virtual machine.", + "readOnly": true + }, + "networkSecurityGroup": { + "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup", + "description": "The reference to the NetworkSecurityGroup resource." + }, + "privateEndpoint": { + "readOnly": true, + "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint", + "description": "A reference to the private endpoint to which the network interface is linked." + }, + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceIPConfiguration" + }, + "description": "A list of IPConfigurations of the network interface." + }, + "tapConfigurations": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + }, + "description": "A list of TapConfigurations of the network interface." + }, + "dnsSettings": { + "$ref": "#/definitions/NetworkInterfaceDnsSettings", + "description": "The DNS settings in network interface." + }, + "macAddress": { + "readOnly": true, + "type": "string", + "description": "The MAC address of the network interface." + }, + "primary": { + "readOnly": true, + "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." + }, + "enableIPForwarding": { + "type": "boolean", + "description": "Indicates whether IP forwarding is enabled on this network interface." + }, + "hostedWorkloads": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "A list of references to linked BareMetal resources." + }, + "dscpConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to the dscp configuration to which the network interface is linked.", + "readOnly": true + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the network interface resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network interface resource." + }, + "workloadType": { + "type": "string", + "description": "WorkloadType of the NetworkInterface for BareMetal resources" + }, + "nicType": { + "type": "string", + "description": "Type of Network Interface resource.", + "enum": [ + "Standard", + "Elastic" + ], + "x-ms-enum": { + "name": "NetworkInterfaceNicType", + "modelAsString": true + } + }, + "privateLinkService": { + "$ref": "./privateLinkService.json#/definitions/PrivateLinkService", + "description": "Privatelinkservice of the network interface resource." + }, + "migrationPhase": { + "type": "string", + "description": "Migration phase of Network Interface resource.", + "enum": [ + "None", + "Prepare", + "Commit", + "Abort", + "Committed" + ], + "x-ms-enum": { + "name": "NetworkInterfaceMigrationPhase", + "modelAsString": true + } + } + }, + "description": "NetworkInterface properties." + }, + "NetworkInterface": { + "properties": { + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of the network interface." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkInterfacePropertiesFormat", + "description": "Properties of the network interface." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "A network interface in a resource group." + }, + "NetworkInterfaceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterface" + }, + "description": "A list of network interfaces in a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListNetworkInterface API service call." + }, + "NetworkInterfaceTapConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + }, + "description": "A list of tap configurations." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for list tap configurations API service call." + }, + "NetworkInterfaceIPConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceIPConfiguration" + }, + "description": "A list of ip configurations." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for list ip configurations API service call." + }, + "NetworkInterfaceLoadBalancerListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "./loadBalancer.json#/definitions/LoadBalancer" + }, + "description": "A list of load balancers." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for list ip configurations API service call." + }, + "EffectiveNetworkSecurityGroup": { + "properties": { + "networkSecurityGroup": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The ID of network security group that is applied." + }, + "association": { + "$ref": "#/definitions/EffectiveNetworkSecurityGroupAssociation", + "description": "Associated resources." + }, + "effectiveSecurityRules": { + "type": "array", + "items": { + "$ref": "#/definitions/EffectiveNetworkSecurityRule" + }, + "description": "A collection of effective security rules." + }, + "tagMap": { + "type": "string", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of IP Addresses within the tag (key)." + }, + "description": "Mapping of tags to list of IP Addresses included within the tag." + } + }, + "description": "Effective network security group." + }, + "EffectiveNetworkSecurityGroupAssociation": { + "properties": { + "networkManager": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The ID of the Azure network manager if assigned." + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The ID of the subnet if assigned." + }, + "networkInterface": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The ID of the network interface if assigned." + } + }, + "description": "The effective network security group association." + }, + "EffectiveNetworkSecurityRule": { + "properties": { + "name": { + "type": "string", + "description": "The name of the security rule specified by the user (if created by the user)." + }, + "protocol": { + "type": "string", + "description": "The network protocol this rule applies to.", + "enum": [ + "Tcp", + "Udp", + "All" + ], + "x-ms-enum": { + "name": "EffectiveSecurityRuleProtocol", + "modelAsString": true + } + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range." + }, + "destinationPortRange": { + "type": "string", + "description": "The destination port or range." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)." + }, + "destinationPortRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The source address prefix." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix." + }, + "sourceAddressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)." + }, + "destinationAddressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)." + }, + "expandedSourceAddressPrefix": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The expanded source address prefix." + }, + "expandedDestinationAddressPrefix": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Expanded destination address prefix." + }, + "access": { + "$ref": "./networkSecurityGroup.json#/definitions/SecurityRuleAccess", + "description": "Whether network traffic is allowed or denied." + }, + "priority": { + "type": "integer", + "format": "int32", + "description": "The priority of the rule." + }, + "direction": { + "$ref": "./networkSecurityGroup.json#/definitions/SecurityRuleDirection", + "description": "The direction of the rule." + } + }, + "description": "Effective network security rules." + }, + "EffectiveNetworkSecurityGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EffectiveNetworkSecurityGroup" + }, + "description": "A list of effective network security groups." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for list effective network security groups API service call." + }, + "EffectiveRoute": { + "properties": { + "name": { + "type": "string", + "description": "The name of the user defined route. This is optional." + }, + "disableBgpRoutePropagation": { + "type": "boolean", + "description": "If true, on-premises routes are not propagated to the network interfaces in the subnet." + }, + "source": { + "type": "string", + "description": "Who created the route.", + "enum": [ + "Unknown", + "User", + "VirtualNetworkGateway", + "Default" + ], + "x-ms-enum": { + "name": "EffectiveRouteSource", + "modelAsString": true + } + }, + "state": { + "type": "string", + "description": "The value of effective route.", + "enum": [ + "Active", + "Invalid" + ], + "x-ms-enum": { + "name": "EffectiveRouteState", + "modelAsString": true + } + }, + "addressPrefix": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The address prefixes of the effective routes in CIDR notation." + }, + "nextHopIpAddress": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IP address of the next hop of the effective route." + }, + "nextHopType": { + "$ref": "./routeTable.json#/definitions/RouteNextHopType", + "description": "The type of Azure hop the packet should be sent to." + } + }, + "description": "Effective Route." + }, + "EffectiveRouteListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EffectiveRoute" + }, + "description": "A list of effective routes." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for list effective route API service call." + }, + "IPConfigurationPropertiesFormat": { + "properties": { + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method.", + "default": "Dynamic" + }, + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "The reference to the subnet resource." + }, + "publicIPAddress": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress", + "description": "The reference to the public IP resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the IP configuration resource." + } + }, + "description": "Properties of IP configuration." + }, + "IPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IPConfigurationPropertiesFormat", + "description": "Properties of the IP configuration." + }, + "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": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IP configuration." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/networkProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/networkProfile.json new file mode 100644 index 000000000000..17436ae584ea --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/networkProfile.json @@ -0,0 +1,622 @@ +{ + "swagger": "2.0", + "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-05-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.Network/networkProfiles/{networkProfileName}": { + "delete": { + "tags": [ + "NetworkProfiles" + ], + "operationId": "NetworkProfiles_Delete", + "description": "Deletes the specified network profile.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkProfileName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the NetworkProfile." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete network profile": { + "$ref": "./examples/NetworkProfileDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "NetworkProfiles" + ], + "operationId": "NetworkProfiles_Get", + "description": "Gets the specified network profile in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkProfileName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP prefix." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkProfile resource.", + "schema": { + "$ref": "#/definitions/NetworkProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get network profile": { + "$ref": "./examples/NetworkProfileGetConfigOnly.json" + }, + "Get network profile with container network interfaces": { + "$ref": "./examples/NetworkProfileGetWithContainerNic.json" + } + } + }, + "put": { + "tags": [ + "NetworkProfiles" + ], + "operationId": "NetworkProfiles_CreateOrUpdate", + "description": "Creates or updates a network profile.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkProfileName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network profile." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkProfile" + }, + "description": "Parameters supplied to the create or update network profile operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting NetworkProfile resource.", + "schema": { + "$ref": "#/definitions/NetworkProfile" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting NetworkProfile resource.", + "schema": { + "$ref": "#/definitions/NetworkProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create network profile defaults": { + "$ref": "./examples/NetworkProfileCreateConfigOnly.json" + } + }, + "x-ms-long-running-operation": false + }, + "patch": { + "tags": [ + "NetworkProfiles" + ], + "operationId": "NetworkProfiles_UpdateTags", + "description": "Updates network profile tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkProfileName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network profile." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update network profile tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting NetworkProfile resource.", + "schema": { + "$ref": "#/definitions/NetworkProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update network profile tags": { + "$ref": "./examples/NetworkProfileUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkProfiles": { + "get": { + "tags": [ + "NetworkProfiles" + ], + "operationId": "NetworkProfiles_ListAll", + "description": "Gets all the network profiles in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkProfile resources.", + "schema": { + "$ref": "#/definitions/NetworkProfileListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all network profiles": { + "$ref": "./examples/NetworkProfileListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles": { + "get": { + "tags": [ + "NetworkProfiles" + ], + "operationId": "NetworkProfiles_List", + "description": "Gets all network profiles in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkProfile resources.", + "schema": { + "$ref": "#/definitions/NetworkProfileListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List resource group network profiles": { + "$ref": "./examples/NetworkProfileList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "NetworkProfilePropertiesFormat": { + "properties": { + "containerNetworkInterfaces": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ContainerNetworkInterface" + }, + "description": "List of child container network interfaces." + }, + "containerNetworkInterfaceConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerNetworkInterfaceConfiguration" + }, + "description": "List of chid container network interface configurations." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the network profile resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network profile resource." + } + }, + "description": "Network profile properties." + }, + "NetworkProfile": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkProfilePropertiesFormat", + "description": "Network profile properties." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Network profile resource." + }, + "NetworkProfileListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkProfile" + }, + "description": "A list of network profiles that exist in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListNetworkProfiles API service call." + }, + "ContainerNetworkInterfacePropertiesFormat": { + "properties": { + "containerNetworkInterfaceConfiguration": { + "readOnly": true, + "$ref": "#/definitions/ContainerNetworkInterfaceConfiguration", + "description": "Container network interface configuration from which this container network interface is created." + }, + "container": { + "$ref": "#/definitions/Container", + "description": "Reference to the container to which this container network interface is attached." + }, + "ipConfigurations": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ContainerNetworkInterfaceIpConfiguration" + }, + "description": "Reference to the ip configuration on this container nic." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the container network interface resource." + } + }, + "description": "Properties of container network interface." + }, + "ContainerNetworkInterface": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ContainerNetworkInterfacePropertiesFormat", + "description": "Container network interface properties." + }, + "name": { + "type": "string", + "description": "The name of the resource. This name can be used to access the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Sub Resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Container network interface child resource." + }, + "ContainerNetworkInterfaceConfigurationPropertiesFormat": { + "properties": { + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/IPConfigurationProfile" + }, + "description": "A list of ip configurations of the container network interface configuration." + }, + "containerNetworkInterfaces": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "A list of container network interfaces created from this container network interface configuration." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the container network interface configuration resource." + } + }, + "description": "Container network interface configuration properties." + }, + "ContainerNetworkInterfaceConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ContainerNetworkInterfaceConfigurationPropertiesFormat", + "description": "Container network interface configuration properties." + }, + "name": { + "type": "string", + "description": "The name of the resource. This name can be used to access the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Sub Resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Container network interface configuration child resource." + }, + "IPConfigurationProfilePropertiesFormat": { + "properties": { + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "The reference to the subnet resource to create a container network interface ip configuration." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the IP configuration profile resource." + } + }, + "description": "IP configuration profile properties." + }, + "IPConfigurationProfile": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IPConfigurationProfilePropertiesFormat", + "description": "Properties of the IP configuration profile." + }, + "name": { + "type": "string", + "description": "The name of the resource. This name can be used to access the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Sub Resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IP configuration profile child resource." + }, + "Container": { + "properties": {}, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Reference to container resource in remote resource provider." + }, + "ContainerNetworkInterfaceIpConfigurationPropertiesFormat": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the container network interface IP configuration resource." + } + }, + "description": "Properties of the container network interface IP configuration." + }, + "ContainerNetworkInterfaceIpConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ContainerNetworkInterfaceIpConfigurationPropertiesFormat", + "description": "Properties of the container network interface IP configuration." + }, + "name": { + "type": "string", + "description": "The name of the resource. This name can be used to access the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Sub Resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "description": "The ip configuration for a container network interface." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/networkSecurityGroup.json new file mode 100644 index 000000000000..9156d0eb1ea3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/networkSecurityGroup.json @@ -0,0 +1,986 @@ +{ + "swagger": "2.0", + "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-05-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.Network/networkSecurityGroups/{networkSecurityGroupName}": { + "delete": { + "tags": [ + "NetworkSecurityGroups" + ], + "operationId": "NetworkSecurityGroups_Delete", + "description": "Deletes the specified network security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete network security group": { + "$ref": "./examples/NetworkSecurityGroupDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "NetworkSecurityGroups" + ], + "operationId": "NetworkSecurityGroups_Get", + "description": "Gets the specified network security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkSecurityGroup resource.", + "schema": { + "$ref": "#/definitions/NetworkSecurityGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get network security group": { + "$ref": "./examples/NetworkSecurityGroupGet.json" + } + } + }, + "put": { + "tags": [ + "NetworkSecurityGroups" + ], + "operationId": "NetworkSecurityGroups_CreateOrUpdate", + "description": "Creates or updates a network security group in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkSecurityGroup" + }, + "description": "Parameters supplied to the create or update network security group operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting NetworkSecurityGroup resource.", + "schema": { + "$ref": "#/definitions/NetworkSecurityGroup" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting NetworkSecurityGroup resource.", + "schema": { + "$ref": "#/definitions/NetworkSecurityGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create network security group": { + "$ref": "./examples/NetworkSecurityGroupCreate.json" + }, + "Create network security group with rule": { + "$ref": "./examples/NetworkSecurityGroupCreateWithRule.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "NetworkSecurityGroups" + ], + "operationId": "NetworkSecurityGroups_UpdateTags", + "description": "Updates a network security group tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update network security group tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting NetworkSecurityGroup resource.", + "schema": { + "$ref": "#/definitions/NetworkSecurityGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update network security group tags": { + "$ref": "./examples/NetworkSecurityGroupUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups": { + "get": { + "tags": [ + "NetworkSecurityGroups" + ], + "operationId": "NetworkSecurityGroups_ListAll", + "description": "Gets all network security groups in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkSecurityGroup resources.", + "schema": { + "$ref": "#/definitions/NetworkSecurityGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all network security groups": { + "$ref": "./examples/NetworkSecurityGroupListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups": { + "get": { + "tags": [ + "NetworkSecurityGroups" + ], + "operationId": "NetworkSecurityGroups_List", + "description": "Gets all network security groups in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkSecurityGroup resources.", + "schema": { + "$ref": "#/definitions/NetworkSecurityGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List network security groups in resource group": { + "$ref": "./examples/NetworkSecurityGroupList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}": { + "delete": { + "tags": [ + "SecurityRules" + ], + "operationId": "SecurityRules_Delete", + "description": "Deletes the specified network security rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "name": "securityRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the security rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete network security rule from network security group": { + "$ref": "./examples/NetworkSecurityGroupRuleDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "SecurityRules" + ], + "operationId": "SecurityRules_Get", + "description": "Get the specified network security rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "name": "securityRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the security rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting SecurityRule resource.", + "schema": { + "$ref": "#/definitions/SecurityRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get network security rule in network security group": { + "$ref": "./examples/NetworkSecurityGroupRuleGet.json" + } + } + }, + "put": { + "tags": [ + "SecurityRules" + ], + "operationId": "SecurityRules_CreateOrUpdate", + "description": "Creates or updates a security rule in the specified network security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "name": "securityRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the security rule." + }, + { + "name": "securityRuleParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityRule" + }, + "description": "Parameters supplied to the create or update network security rule operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting SecurityRule resource.", + "schema": { + "$ref": "#/definitions/SecurityRule" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting SecurityRule resource.", + "schema": { + "$ref": "#/definitions/SecurityRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create security rule": { + "$ref": "./examples/NetworkSecurityGroupRuleCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules": { + "get": { + "tags": [ + "SecurityRules" + ], + "operationId": "SecurityRules_List", + "description": "Gets all security rules in a network security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of SecurityRule resources.", + "schema": { + "$ref": "#/definitions/SecurityRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List network security rules in network security group": { + "$ref": "./examples/NetworkSecurityGroupRuleList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules": { + "get": { + "tags": [ + "SecurityRules" + ], + "operationId": "DefaultSecurityRules_List", + "description": "Gets all default security rules in a network security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of SecurityRule resources.", + "schema": { + "$ref": "#/definitions/SecurityRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DefaultSecurityRuleList": { + "$ref": "./examples/DefaultSecurityRuleList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}": { + "get": { + "tags": [ + "SecurityRules" + ], + "operationId": "DefaultSecurityRules_Get", + "description": "Get the specified default network security rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "name": "defaultSecurityRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the default security rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting SecurityRule resource.", + "schema": { + "$ref": "#/definitions/SecurityRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DefaultSecurityRuleGet": { + "$ref": "./examples/DefaultSecurityRuleGet.json" + } + } + } + } + }, + "definitions": { + "SecurityRulePropertiesFormat": { + "properties": { + "description": { + "type": "string", + "description": "A description for this rule. Restricted to 140 chars." + }, + "protocol": { + "type": "string", + "description": "Network protocol this rule applies to.", + "enum": [ + "Tcp", + "Udp", + "Icmp", + "Esp", + "*", + "Ah" + ], + "x-ms-enum": { + "name": "SecurityRuleProtocol", + "modelAsString": true + } + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "destinationPortRange": { + "type": "string", + "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + }, + "sourceAddressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The CIDR or source IP ranges." + }, + "sourceApplicationSecurityGroups": { + "type": "array", + "items": { + "$ref": "./applicationSecurityGroup.json#/definitions/ApplicationSecurityGroup" + }, + "description": "The application security group specified as source." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "destinationAddressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The destination address prefixes. CIDR or destination IP ranges." + }, + "destinationApplicationSecurityGroups": { + "type": "array", + "items": { + "$ref": "./applicationSecurityGroup.json#/definitions/ApplicationSecurityGroup" + }, + "description": "The application security group specified as destination." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "type": "string", + "description": "The source port." + }, + "description": "The source port ranges." + }, + "destinationPortRanges": { + "type": "array", + "items": { + "type": "string", + "description": "The destination port." + }, + "description": "The destination port ranges." + }, + "access": { + "$ref": "#/definitions/SecurityRuleAccess", + "description": "The network traffic is allowed or denied." + }, + "priority": { + "type": "integer", + "format": "int32", + "description": "The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule." + }, + "direction": { + "$ref": "#/definitions/SecurityRuleDirection", + "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the security rule resource." + } + }, + "required": [ + "protocol", + "access", + "direction" + ], + "description": "Security rule resource." + }, + "SecurityRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecurityRulePropertiesFormat", + "description": "Properties of the security rule." + }, + "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": { + "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": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Network security rule." + }, + "SecurityRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SecurityRule" + }, + "description": "The security rules in a network security group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListSecurityRule API service call. Retrieves all security rules that belongs to a network security group." + }, + "NetworkSecurityGroupPropertiesFormat": { + "properties": { + "securityRules": { + "type": "array", + "items": { + "$ref": "#/definitions/SecurityRule" + }, + "description": "A collection of security rules of the network security group." + }, + "defaultSecurityRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SecurityRule" + }, + "description": "The default security rules of network security group." + }, + "networkInterfaces": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterface" + }, + "description": "A collection of references to network interfaces." + }, + "subnets": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./virtualNetwork.json#/definitions/Subnet" + }, + "description": "A collection of references to subnets." + }, + "flowLogs": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkWatcher.json#/definitions/FlowLog" + }, + "description": "A collection of references to flow log resources." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the network security group resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network security group resource." + } + }, + "description": "Network Security Group resource." + }, + "NetworkSecurityGroup": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkSecurityGroupPropertiesFormat", + "description": "Properties of the network security group." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "NetworkSecurityGroup resource." + }, + "NetworkSecurityGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityGroup" + }, + "description": "A list of NetworkSecurityGroup resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListNetworkSecurityGroups API service call." + }, + "SecurityRuleAccess": { + "type": "string", + "description": "Whether network traffic is allowed or denied.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "SecurityRuleAccess", + "modelAsString": true + } + }, + "SecurityRuleDirection": { + "type": "string", + "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.", + "enum": [ + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "SecurityRuleDirection", + "modelAsString": true + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/networkVirtualAppliance.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/networkVirtualAppliance.json new file mode 100644 index 000000000000..6cae6b8b09a6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/networkVirtualAppliance.json @@ -0,0 +1,1175 @@ +{ + "swagger": "2.0", + "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-05-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.Network/networkVirtualAppliances/{networkVirtualApplianceName}": { + "delete": { + "tags": [ + "NetworkVirtualAppliances" + ], + "operationId": "NetworkVirtualAppliances_Delete", + "description": "Deletes the specified Network Virtual Appliance.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of Network Virtual Appliance." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete NetworkVirtualAppliance": { + "$ref": "./examples/NetworkVirtualApplianceDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "NetworkVirtualAppliances" + ], + "operationId": "NetworkVirtualAppliances_Get", + "description": "Gets the specified Network Virtual Appliance.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of Network Virtual Appliance." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a Network Virtual Appliance resource.", + "schema": { + "$ref": "#/definitions/NetworkVirtualAppliance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get NetworkVirtualAppliance": { + "$ref": "./examples/NetworkVirtualApplianceGet.json" + } + } + }, + "patch": { + "tags": [ + "NetworkVirtualAppliances" + ], + "operationId": "NetworkVirtualAppliances_UpdateTags", + "description": "Updates a Network Virtual Appliance.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of Network Virtual Appliance." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of Network Virtual Appliance being updated." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to Update Network Virtual Appliance Tags." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of Network Virtual Appliance updated.", + "schema": { + "$ref": "#/definitions/NetworkVirtualAppliance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update NetworkVirtualAppliance": { + "$ref": "./examples/NetworkVirtualApplianceUpdateTags.json" + } + } + }, + "put": { + "tags": [ + "NetworkVirtualAppliances" + ], + "operationId": "NetworkVirtualAppliances_CreateOrUpdate", + "description": "Creates or updates the specified Network Virtual Appliance.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of Network Virtual Appliance." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkVirtualAppliance" + }, + "description": "Parameters supplied to the create or update Network Virtual Appliance." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Network Virtual Appliance resource.", + "schema": { + "$ref": "#/definitions/NetworkVirtualAppliance" + } + }, + "201": { + "description": "Request received successfully. The operation returns the resulting Network Virtual Appliance resource.", + "schema": { + "$ref": "#/definitions/NetworkVirtualAppliance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create NetworkVirtualAppliance": { + "$ref": "./examples/NetworkVirtualAppliancePut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances": { + "get": { + "tags": [ + "NetworkVirtualAppliances" + ], + "operationId": "NetworkVirtualAppliances_ListByResourceGroup", + "description": "Lists all Network Virtual Appliances in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Network Virtual Appliance resources.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Network Virtual Appliance for a given resource group": { + "$ref": "./examples/NetworkVirtualApplianceListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkVirtualAppliances": { + "get": { + "tags": [ + "NetworkVirtualAppliances" + ], + "operationId": "NetworkVirtualAppliances_List", + "description": "Gets all Network Virtual Appliances in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Network Virtual Appliance resources.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Network Virtual Appliances for a given subscription": { + "$ref": "./examples/NetworkVirtualApplianceListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}/virtualApplianceSites/{siteName}": { + "delete": { + "tags": [ + "VirtualApplianceSites" + ], + "operationId": "VirtualApplianceSites_Delete", + "description": "Deletes the specified site from a Virtual Appliance.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Virtual Appliance." + }, + { + "name": "siteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the site." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Network Virtual Appliance Site": { + "$ref": "./examples/NetworkVirtualApplianceSiteDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "VirtualApplianceSites" + ], + "operationId": "VirtualApplianceSites_Get", + "description": "Gets the specified Virtual Appliance Site.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Virtual Appliance." + }, + { + "name": "siteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the site." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a Network Virtual Appliance Site resource.", + "schema": { + "$ref": "#/definitions/VirtualApplianceSite" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetNetwork Virtual Appliance Site": { + "$ref": "./examples/NetworkVirtualApplianceSiteGet.json" + } + } + }, + "put": { + "tags": [ + "VirtualApplianceSites" + ], + "operationId": "VirtualApplianceSites_CreateOrUpdate", + "description": "Creates or updates the specified Network Virtual Appliance Site.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Virtual Appliance." + }, + { + "name": "siteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the site." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualApplianceSite" + }, + "description": "Parameters supplied to the create or update Network Virtual Appliance Site operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Network Virtual Appliance Site resource.", + "schema": { + "$ref": "#/definitions/VirtualApplianceSite" + } + }, + "201": { + "description": "Request received successfully. The operation returns the resulting Network Virtual Appliance Site resource.", + "schema": { + "$ref": "#/definitions/VirtualApplianceSite" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Network Virtual Appliance Site": { + "$ref": "./examples/NetworkVirtualApplianceSitePut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}/virtualApplianceSites": { + "get": { + "tags": [ + "VirtualApplianceSites" + ], + "operationId": "VirtualApplianceSites_List", + "description": "Lists all Network Virtual Appliance Sites in a Network Virtual Appliance resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Virtual Appliance." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Network Virtual Appliance site resources.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceSiteListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Network Virtual Appliance sites for a given Network Virtual Appliance": { + "$ref": "./examples/NetworkVirtualApplianceSiteList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkVirtualApplianceSkus": { + "get": { + "tags": [ + "VirtualApplianceSkus" + ], + "operationId": "VirtualApplianceSkus_List", + "description": "List all SKUs available for a virtual appliance.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the list of all virtual appliance skus.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceSkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "NetworkVirtualApplianceSkuListResult": { + "$ref": "./examples/NetworkVirtualApplianceSkuList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkVirtualApplianceSkus/{skuName}": { + "get": { + "tags": [ + "VirtualApplianceSkus" + ], + "operationId": "VirtualApplianceSkus_Get", + "description": "Retrieves a single available sku for network virtual appliance.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "skuName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Sku." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the requested NetworkVirtualAppliance sku information.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceSku" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkVirtualApplianceSkuGet": { + "$ref": "./examples/NetworkVirtualApplianceSkuGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}/inboundSecurityRules/{ruleCollectionName}": { + "put": { + "operationId": "InboundSecurityRule_CreateOrUpdate", + "description": "Creates or updates the specified Network Virtual Appliance Inbound Security Rules.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Virtual Appliance." + }, + { + "name": "ruleCollectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of security rule collection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InboundSecurityRule" + }, + "description": "Parameters supplied to the create or update Network Virtual Appliance Inbound Security Rules operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Network Virtual Appliance Inbound Security Rules resource.", + "schema": { + "$ref": "#/definitions/InboundSecurityRule" + } + }, + "201": { + "description": "Request received successfully. The operation returns the resulting Network Virtual Appliance Inbound Security Rules resource.", + "schema": { + "$ref": "#/definitions/InboundSecurityRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Network Virtual Appliance Inbound Security Rules": { + "$ref": "./examples/InboundSecurityRulePut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + } + }, + "definitions": { + "NetworkVirtualAppliance": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkVirtualAppliancePropertiesFormat", + "description": "Properties of the Network Virtual Appliance." + }, + "identity": { + "$ref": "./network.json#/definitions/ManagedServiceIdentity", + "description": "The service principal that has read access to cloud-init and config blob." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "NetworkVirtualAppliance Resource." + }, + "NetworkVirtualAppliancePropertiesFormat": { + "properties": { + "nvaSku": { + "readOnly": false, + "description": "Network Virtual Appliance SKU.", + "$ref": "#/definitions/VirtualApplianceSkuProperties" + }, + "addressPrefix": { + "type": "string", + "readOnly": true, + "description": "Address Prefix." + }, + "bootStrapConfigurationBlobs": { + "type": "array", + "readOnly": false, + "description": "BootStrapConfigurationBlobs storage URLs.", + "items": { + "type": "string" + } + }, + "virtualHub": { + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource", + "description": "The Virtual Hub where Network Virtual Appliance is being deployed." + }, + "cloudInitConfigurationBlobs": { + "type": "array", + "readOnly": false, + "description": "CloudInitConfigurationBlob storage URLs.", + "items": { + "type": "string" + } + }, + "cloudInitConfiguration": { + "type": "string", + "readOnly": false, + "description": "CloudInitConfiguration string in plain text." + }, + "virtualApplianceAsn": { + "type": "integer", + "readOnly": false, + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "VirtualAppliance ASN." + }, + "sshPublicKey": { + "type": "string", + "readOnly": false, + "description": "Public key for SSH login." + }, + "virtualApplianceNics": { + "type": "array", + "readOnly": true, + "description": "List of Virtual Appliance Network Interfaces.", + "items": { + "$ref": "#/definitions/VirtualApplianceNicProperties" + } + }, + "virtualApplianceSites": { + "type": "array", + "readOnly": true, + "description": "List of references to VirtualApplianceSite.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "inboundSecurityRules": { + "type": "array", + "readOnly": true, + "description": "List of references to InboundSecurityRules.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + } + }, + "description": "Network Virtual Appliance definition." + }, + "VirtualApplianceSkuProperties": { + "properties": { + "vendor": { + "type": "string", + "readOnly": false, + "description": "Virtual Appliance Vendor." + }, + "bundledScaleUnit": { + "type": "string", + "readOnly": false, + "description": "Virtual Appliance Scale Unit." + }, + "marketPlaceVersion": { + "type": "string", + "readOnly": false, + "description": "Virtual Appliance Version." + } + }, + "description": "Network Virtual Appliance Sku Properties." + }, + "VirtualApplianceNicProperties": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "NIC name." + }, + "publicIpAddress": { + "type": "string", + "readOnly": true, + "description": "Public IP address." + }, + "privateIpAddress": { + "type": "string", + "readOnly": true, + "description": "Private IP address." + } + }, + "description": "Network Virtual Appliance NIC properties." + }, + "VirtualApplianceSite": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualApplianceSiteProperties", + "description": "The properties of the Virtual Appliance Sites." + }, + "name": { + "type": "string", + "description": "Name of the virtual appliance site." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Site type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Virtual Appliance Site resource." + }, + "VirtualApplianceSiteProperties": { + "properties": { + "addressPrefix": { + "type": "string", + "readOnly": false, + "description": "Address Prefix." + }, + "o365Policy": { + "readOnly": false, + "description": "Office 365 Policy.", + "$ref": "#/definitions/Office365PolicyProperties" + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + } + }, + "description": "Properties of the rule group." + }, + "Office365PolicyProperties": { + "properties": { + "breakOutCategories": { + "readOnly": false, + "description": "Office 365 breakout categories.", + "$ref": "#/definitions/BreakOutCategoryPolicies" + } + }, + "description": "Network Virtual Appliance Sku Properties." + }, + "BreakOutCategoryPolicies": { + "properties": { + "allow": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control breakout of o365 allow category." + }, + "optimize": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control breakout of o365 optimize category." + }, + "default": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control breakout of o365 default category." + } + }, + "description": "Network Virtual Appliance Sku Properties." + }, + "NetworkVirtualApplianceSku": { + "title": "Available NetworkVirtualApplianceSkus", + "description": "Definition of the NetworkVirtualApplianceSkus resource.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkVirtualApplianceSkuPropertiesFormat", + "description": "NetworkVirtualApplianceSku properties." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "NetworkVirtualApplianceSkuPropertiesFormat": { + "title": "Network Virtual Appliance Sku Properties", + "description": "Properties specific to NetworkVirtualApplianceSkus.", + "properties": { + "vendor": { + "type": "string", + "readOnly": true, + "description": "Network Virtual Appliance Sku vendor." + }, + "availableVersions": { + "type": "array", + "readOnly": true, + "description": "Available Network Virtual Appliance versions.", + "items": { + "type": "string" + } + }, + "availableScaleUnits": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkVirtualApplianceSkuInstances" + }, + "description": "The list of scale units available." + } + } + }, + "NetworkVirtualApplianceSkuInstances": { + "title": "Network Virtual Appliance Sku Instances", + "description": "List of available Sku and instances.", + "properties": { + "scaleUnit": { + "type": "string", + "readOnly": true, + "description": "Scale Unit." + }, + "instanceCount": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "Instance Count." + } + } + }, + "NetworkVirtualApplianceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkVirtualAppliance" + }, + "description": "List of Network Virtual Appliances." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListNetworkVirtualAppliances API service call." + }, + "NetworkVirtualApplianceSiteListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualApplianceSite" + }, + "description": "List of Network Virtual Appliance sites." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListNetworkVirtualApplianceSites API service call." + }, + "NetworkVirtualApplianceSkuListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkVirtualApplianceSku" + }, + "description": "List of Network Virtual Appliance Skus that are available." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListNetworkVirtualApplianceSkus API service call." + }, + "InboundSecurityRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/InboundSecurityRuleProperties", + "description": "The properties of the Inbound Security Rules." + }, + "name": { + "type": "string", + "description": "Name of security rule collection." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "NVA inbound security rule type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "NVA Inbound Security Rule resource." + }, + "InboundSecurityRuleProperties": { + "properties": { + "rules": { + "type": "array", + "readOnly": false, + "description": "List of allowed rules.", + "items": { + "$ref": "#/definitions/InboundSecurityRules" + } + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + } + }, + "description": "Properties of the Inbound Security Rules resource." + }, + "InboundSecurityRules": { + "properties": { + "protocol": { + "type": "string", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "InboundSecurityRulesProtocol", + "modelAsString": true + }, + "description": "Protocol. This should be either TCP or UDP." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Only /30, /31 and /32 Ip ranges are allowed." + }, + "destinationPortRange": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 65535, + "description": "NVA port ranges to be opened up. One needs to provide specific ports." + } + }, + "description": "Properties of the Inbound Security Rules resource." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/networkWatcher.json new file mode 100644 index 000000000000..4a25de74157e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/networkWatcher.json @@ -0,0 +1,4744 @@ +{ + "swagger": "2.0", + "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-05-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.Network/networkWatchers/{networkWatcherName}": { + "put": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_CreateOrUpdate", + "description": "Creates or updates a network watcher in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkWatcher" + }, + "description": "Parameters that define the network watcher resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting network watcher resource.", + "schema": { + "$ref": "#/definitions/NetworkWatcher" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting network watcher resource.", + "schema": { + "$ref": "#/definitions/NetworkWatcher" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create network watcher": { + "$ref": "./examples/NetworkWatcherCreate.json" + } + } + }, + "get": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_Get", + "description": "Gets the specified network watcher by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a network watcher resource.", + "schema": { + "$ref": "#/definitions/NetworkWatcher" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get network watcher": { + "$ref": "./examples/NetworkWatcherGet.json" + } + } + }, + "delete": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_Delete", + "description": "Deletes the specified network watcher resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete network watcher": { + "$ref": "./examples/NetworkWatcherDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_UpdateTags", + "description": "Updates a network watcher tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update network watcher tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting network watcher resource.", + "schema": { + "$ref": "#/definitions/NetworkWatcher" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update network watcher tags": { + "$ref": "./examples/NetworkWatcherUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers": { + "get": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_List", + "description": "Gets all network watchers by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of network watcher resources.", + "schema": { + "$ref": "#/definitions/NetworkWatcherListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "List network watchers": { + "$ref": "./examples/NetworkWatcherList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers": { + "get": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_ListAll", + "description": "Gets all network watchers by subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of network watcher resources.", + "schema": { + "$ref": "#/definitions/NetworkWatcherListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "List all network watchers": { + "$ref": "./examples/NetworkWatcherListAll.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetTopology", + "description": "Gets the current network topology by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TopologyParameters" + }, + "description": "Parameters that define the representation of topology." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the topology of resource group.", + "schema": { + "$ref": "#/definitions/Topology" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Topology": { + "$ref": "./examples/NetworkWatcherTopologyGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_VerifyIPFlow", + "description": "Verify IP flow from the specified VM to a location given the currently configured NSG rules.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VerificationIPFlowParameters" + }, + "description": "Parameters that define the IP flow to be verified." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the result of IP flow verification.", + "schema": { + "$ref": "#/definitions/VerificationIPFlowResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/VerificationIPFlowResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Ip flow verify": { + "$ref": "./examples/NetworkWatcherIpFlowVerify.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetNextHop", + "description": "Gets the next hop from the specified VM.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NextHopParameters" + }, + "description": "Parameters that define the source and destination endpoint." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the next hop from the VM.", + "schema": { + "$ref": "#/definitions/NextHopResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NextHopResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get next hop": { + "$ref": "./examples/NetworkWatcherNextHopGet.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetVMSecurityRules", + "description": "Gets the configured and effective security group rules on the specified VM.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityGroupViewParameters" + }, + "description": "Parameters that define the VM to check security groups for." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns security group rules on the VM.", + "schema": { + "$ref": "#/definitions/SecurityGroupViewResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/SecurityGroupViewResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get security group view": { + "$ref": "./examples/NetworkWatcherSecurityGroupViewGet.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}": { + "put": { + "tags": [ + "PacketCaptures" + ], + "operationId": "PacketCaptures_Create", + "description": "Create and start a packet capture on the specified VM.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "packetCaptureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the packet capture session." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PacketCapture" + }, + "description": "Parameters that define the create packet capture operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request successful. The operation returns the resulting packet capture session.", + "schema": { + "$ref": "#/definitions/PacketCaptureResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create packet capture": { + "$ref": "./examples/NetworkWatcherPacketCaptureCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "PacketCaptures" + ], + "operationId": "PacketCaptures_Get", + "description": "Gets a packet capture session by name.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "packetCaptureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the packet capture session." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a packet capture session.", + "schema": { + "$ref": "#/definitions/PacketCaptureResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get packet capture": { + "$ref": "./examples/NetworkWatcherPacketCaptureGet.json" + } + } + }, + "delete": { + "tags": [ + "PacketCaptures" + ], + "operationId": "PacketCaptures_Delete", + "description": "Deletes the specified packet capture session.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "packetCaptureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the packet capture session." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete packet capture": { + "$ref": "./examples/NetworkWatcherPacketCaptureDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop": { + "post": { + "tags": [ + "PacketCaptures" + ], + "operationId": "PacketCaptures_Stop", + "description": "Stops a specified packet capture session.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "packetCaptureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the packet capture session." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation stops the packet capture session." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Stop packet capture": { + "$ref": "./examples/NetworkWatcherPacketCaptureStop.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus": { + "post": { + "tags": [ + "PacketCaptures" + ], + "operationId": "PacketCaptures_GetStatus", + "description": "Query the status of a running packet capture session.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "packetCaptureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name given to the packet capture session." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful query of packet capture status.", + "schema": { + "$ref": "#/definitions/PacketCaptureQueryStatusResult" + } + }, + "202": { + "description": "Accepted query status of packet capture.", + "schema": { + "$ref": "#/definitions/PacketCaptureQueryStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Query packet capture status": { + "$ref": "./examples/NetworkWatcherPacketCaptureQueryStatus.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures": { + "get": { + "tags": [ + "PacketCaptures" + ], + "operationId": "PacketCaptures_List", + "description": "Lists all packet capture sessions within the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful packet capture enumeration request.", + "schema": { + "$ref": "#/definitions/PacketCaptureListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "List packet captures": { + "$ref": "./examples/NetworkWatcherPacketCapturesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetTroubleshooting", + "description": "Initiate troubleshooting on a specified resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TroubleshootingParameters" + }, + "description": "Parameters that define the resource to troubleshoot." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful troubleshooting request.", + "schema": { + "$ref": "#/definitions/TroubleshootingResult" + } + }, + "202": { + "description": "Accepted get troubleshooting request.", + "schema": { + "$ref": "#/definitions/TroubleshootingResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get troubleshooting": { + "$ref": "./examples/NetworkWatcherTroubleshootGet.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetTroubleshootingResult", + "description": "Get the last completed troubleshooting result on a specified resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QueryTroubleshootingParameters" + }, + "description": "Parameters that define the resource to query the troubleshooting result." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful get troubleshooting result request.", + "schema": { + "$ref": "#/definitions/TroubleshootingResult" + } + }, + "202": { + "description": "Accepted get troubleshooting result request.", + "schema": { + "$ref": "#/definitions/TroubleshootingResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get troubleshoot result": { + "$ref": "./examples/NetworkWatcherTroubleshootResultQuery.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog": { + "post": { + "tags": [ + "NetworkWatchers", + "TrafficAnalytics" + ], + "operationId": "NetworkWatchers_SetFlowLogConfiguration", + "description": "Configures flow log and traffic analytics (optional) on a specified resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FlowLogInformation" + }, + "description": "Parameters that define the configuration of flow log." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for setting flow log and traffic analytics (optional) configuration.", + "schema": { + "$ref": "#/definitions/FlowLogInformation" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/FlowLogInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Configure flow log": { + "$ref": "./examples/NetworkWatcherFlowLogConfigure.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus": { + "post": { + "tags": [ + "NetworkWatchers", + "TrafficAnalytics" + ], + "operationId": "NetworkWatchers_GetFlowLogStatus", + "description": "Queries status of flow log and traffic analytics (optional) on a specified resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FlowLogStatusParameters" + }, + "description": "Parameters that define a resource to query flow log and traffic analytics (optional) status." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for query flow log and traffic analytics (optional) status.", + "schema": { + "$ref": "#/definitions/FlowLogInformation" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/FlowLogInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get flow log status": { + "$ref": "./examples/NetworkWatcherFlowLogStatusQuery.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_CheckConnectivity", + "description": "Verifies the possibility of establishing a direct TCP connection from a virtual machine to a given endpoint including another VM or an arbitrary remote server.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectivityParameters" + }, + "description": "Parameters that determine how the connectivity check will be performed." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for checking connectivity.", + "schema": { + "$ref": "#/definitions/ConnectivityInformation" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ConnectivityInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Check connectivity": { + "$ref": "./examples/NetworkWatcherConnectivityCheck.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetAzureReachabilityReport", + "description": "NOTE: This feature is currently in preview and still being tested for stability. Gets the relative latency score for internet service providers from a specified location to Azure regions.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AzureReachabilityReportParameters" + }, + "description": "Parameters that determine Azure reachability report configuration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for Azure reachability report.", + "schema": { + "$ref": "#/definitions/AzureReachabilityReport" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/AzureReachabilityReport" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Azure Reachability Report": { + "$ref": "./examples/NetworkWatcherAzureReachabilityReportGet.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_ListAvailableProviders", + "description": "NOTE: This feature is currently in preview and still being tested for stability. Lists all available internet service providers for a specified Azure region.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AvailableProvidersListParameters" + }, + "description": "Parameters that scope the list of available providers." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for list of available providers.", + "schema": { + "$ref": "#/definitions/AvailableProvidersList" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/AvailableProvidersList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Available Providers List": { + "$ref": "./examples/NetworkWatcherAvailableProvidersListGet.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/networkConfigurationDiagnostic": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetNetworkConfigurationDiagnostic", + "description": "Gets Network Configuration Diagnostic data to help customers understand and debug network behavior. It provides detailed information on what security rules were applied to a specified traffic flow and the result of evaluating these rules. Customers must provide details of a flow like source, destination, protocol, etc. The API returns whether traffic was allowed or denied, the rules evaluated for the specified flow and the evaluation results.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkConfigurationDiagnosticParameters" + }, + "description": "Parameters to get network configuration diagnostic." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the result of network configuration diagnostic.", + "schema": { + "$ref": "#/definitions/NetworkConfigurationDiagnosticResponse" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NetworkConfigurationDiagnosticResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Network configuration diagnostic": { + "$ref": "./examples/NetworkWatcherNetworkConfigurationDiagnostic.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}": { + "put": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_CreateOrUpdate", + "description": "Create or update a connection monitor.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection monitor." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionMonitor" + }, + "description": "Parameters that define the operation to create a connection monitor." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "migrate", + "in": "query", + "required": false, + "type": "string", + "description": "Value indicating whether connection monitor V1 should be migrated to V2 format." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting network watcher resource.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorResult" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting network watcher resource.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create connection monitor V1": { + "$ref": "./examples/NetworkWatcherConnectionMonitorCreate.json" + }, + "Create connection monitor V2": { + "$ref": "./examples/NetworkWatcherConnectionMonitorV2Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_Get", + "description": "Gets a connection monitor by name.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection monitor." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a connection monitor.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get connection monitor": { + "$ref": "./examples/NetworkWatcherConnectionMonitorGet.json" + } + } + }, + "delete": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_Delete", + "description": "Deletes the specified connection monitor.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection monitor." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted. The operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete connection monitor": { + "$ref": "./examples/NetworkWatcherConnectionMonitorDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_UpdateTags", + "description": "Update tags of the specified connection monitor.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection monitor." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update connection monitor tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns updated connection monitor.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update connection monitor tags": { + "$ref": "./examples/NetworkWatcherConnectionMonitorUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop": { + "post": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_Stop", + "description": "Stops the specified connection monitor.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection monitor." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation stops the connection monitor." + }, + "202": { + "description": "Accepted. The operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Stop connection monitor": { + "$ref": "./examples/NetworkWatcherConnectionMonitorStop.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start": { + "post": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_Start", + "description": "Starts the specified connection monitor.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection monitor." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation starts the connection monitor." + }, + "202": { + "description": "Accepted. The operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Start connection monitor": { + "$ref": "./examples/NetworkWatcherConnectionMonitorStart.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query": { + "post": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_Query", + "description": "Query a snapshot of the most recent connection states.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name given to the connection monitor." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful query of connection states.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorQueryResult" + } + }, + "202": { + "description": "Accepted query of connection states.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorQueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Query connection monitor": { + "$ref": "./examples/NetworkWatcherConnectionMonitorQuery.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors": { + "get": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_List", + "description": "Lists all connection monitors for the specified Network Watcher.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful connection monitor enumeration request.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "List connection monitors": { + "$ref": "./examples/NetworkWatcherConnectionMonitorList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/flowLogs/{flowLogName}": { + "put": { + "tags": [ + "FlowLogs" + ], + "operationId": "FlowLogs_CreateOrUpdate", + "description": "Create or update a flow log for the specified network security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "flowLogName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the flow log." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FlowLog" + }, + "description": "Parameters that define the create or update flow log resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request successful. The operation returns the resulting flow log resource.", + "schema": { + "$ref": "#/definitions/FlowLog" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting flow log resource.", + "schema": { + "$ref": "#/definitions/FlowLog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update flow log": { + "$ref": "./examples/NetworkWatcherFlowLogCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "FlowLogs" + ], + "operationId": "FlowLogs_UpdateTags", + "description": "Update tags of the specified flow log.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "flowLogName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the flow log." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update flow log tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns updated flow log.", + "schema": { + "$ref": "#/definitions/FlowLog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update flow log tags": { + "$ref": "./examples/NetworkWatcherFlowLogUpdateTags.json" + } + } + }, + "get": { + "tags": [ + "FlowLogs" + ], + "operationId": "FlowLogs_Get", + "description": "Gets a flow log resource by name.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "flowLogName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the flow log resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a flow log resource.", + "schema": { + "$ref": "#/definitions/FlowLog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get flow log": { + "$ref": "./examples/NetworkWatcherFlowLogGet.json" + } + } + }, + "delete": { + "tags": [ + "FlowLogs" + ], + "operationId": "FlowLogs_Delete", + "description": "Deletes the specified flow log resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "flowLogName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the flow log resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete flow log": { + "$ref": "./examples/NetworkWatcherFlowLogDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/flowLogs": { + "get": { + "tags": [ + "FlowLogs" + ], + "operationId": "FlowLogs_List", + "description": "Lists all flow log resources for the specified Network Watcher.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful flow log enumeration request.", + "schema": { + "$ref": "#/definitions/FlowLogListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List connection monitors": { + "$ref": "./examples/NetworkWatcherFlowLogList.json" + } + } + } + } + }, + "definitions": { + "ErrorResponse": { + "description": "The error object.", + "properties": { + "error": { + "title": "Error", + "$ref": "./network.json#/definitions/ErrorDetails", + "description": "The error details object." + } + } + }, + "NetworkWatcher": { + "properties": { + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkWatcherPropertiesFormat", + "description": "Properties of the network watcher." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Network watcher in a resource group." + }, + "NetworkWatcherPropertiesFormat": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network watcher resource." + } + }, + "description": "The network watcher properties." + }, + "NetworkWatcherListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkWatcher" + }, + "description": "List of network watcher resources." + } + }, + "description": "Response for ListNetworkWatchers API service call." + }, + "TopologyParameters": { + "properties": { + "targetResourceGroupName": { + "type": "string", + "description": "The name of the target resource group to perform topology on." + }, + "targetVirtualNetwork": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the Virtual Network resource." + }, + "targetSubnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the Subnet resource." + } + }, + "description": "Parameters that define the representation of topology." + }, + "Topology": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "GUID representing the operation id." + }, + "createdDateTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The datetime when the topology was initially created for the resource group." + }, + "lastModified": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The datetime when the topology was last modified." + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/definitions/TopologyResource" + }, + "description": "A list of topology resources." + } + }, + "description": "Topology of the specified resource group." + }, + "TopologyResource": { + "properties": { + "name": { + "type": "string", + "description": "Name of the resource." + }, + "id": { + "type": "string", + "description": "ID of the resource." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "associations": { + "type": "array", + "description": "Holds the associations the resource has with other resources in the resource group.", + "items": { + "$ref": "#/definitions/TopologyAssociation" + } + } + }, + "description": "The network resource topology information for the given resource group." + }, + "TopologyAssociation": { + "properties": { + "name": { + "type": "string", + "description": "The name of the resource that is associated with the parent resource." + }, + "resourceId": { + "type": "string", + "description": "The ID of the resource that is associated with the parent resource." + }, + "associationType": { + "type": "string", + "enum": [ + "Associated", + "Contains" + ], + "x-ms-enum": { + "name": "AssociationType", + "modelAsString": true + }, + "description": "The association type of the child resource to the parent resource." + } + }, + "description": "Resources that have an association with the parent resource." + }, + "VerificationIPFlowParameters": { + "description": "Parameters that define the IP flow to be verified.", + "required": [ + "targetResourceId", + "direction", + "protocol", + "localPort", + "remotePort", + "localIPAddress", + "remoteIPAddress" + ], + "properties": { + "targetResourceId": { + "type": "string", + "description": "The ID of the target resource to perform next-hop on." + }, + "direction": { + "$ref": "#/definitions/Direction", + "description": "The direction of the packet represented as a 5-tuple." + }, + "protocol": { + "type": "string", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "IpFlowProtocol", + "modelAsString": true + }, + "description": "Protocol to be verified on." + }, + "localPort": { + "type": "string", + "description": "The local port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction." + }, + "remotePort": { + "type": "string", + "description": "The remote port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction." + }, + "localIPAddress": { + "type": "string", + "description": "The local IP address. Acceptable values are valid IPv4 addresses." + }, + "remoteIPAddress": { + "type": "string", + "description": "The remote IP address. Acceptable values are valid IPv4 addresses." + }, + "targetNicResourceId": { + "type": "string", + "description": "The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of them, then this parameter must be specified. Otherwise optional)." + } + } + }, + "VerificationIPFlowResult": { + "description": "Results of IP flow verification on the target resource.", + "properties": { + "access": { + "$ref": "./network.json#/definitions/Access", + "description": "Indicates whether the traffic is allowed or denied." + }, + "ruleName": { + "type": "string", + "description": "Name of the rule. If input is not matched against any security rule, it is not displayed." + } + } + }, + "NextHopParameters": { + "description": "Parameters that define the source and destination endpoint.", + "required": [ + "targetResourceId", + "sourceIPAddress", + "destinationIPAddress" + ], + "properties": { + "targetResourceId": { + "type": "string", + "description": "The resource identifier of the target resource against which the action is to be performed." + }, + "sourceIPAddress": { + "type": "string", + "description": "The source IP address." + }, + "destinationIPAddress": { + "type": "string", + "description": "The destination IP address." + }, + "targetNicResourceId": { + "type": "string", + "description": "The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of the nics, then this parameter must be specified. Otherwise optional)." + } + } + }, + "NextHopResult": { + "description": "The information about next hop from the specified VM.", + "properties": { + "nextHopType": { + "type": "string", + "enum": [ + "Internet", + "VirtualAppliance", + "VirtualNetworkGateway", + "VnetLocal", + "HyperNetGateway", + "None" + ], + "x-ms-enum": { + "name": "NextHopType", + "modelAsString": true + }, + "description": "Next hop type." + }, + "nextHopIpAddress": { + "type": "string", + "description": "Next hop IP Address." + }, + "routeTableId": { + "type": "string", + "description": "The resource identifier for the route table associated with the route being returned. If the route being returned does not correspond to any user created routes then this field will be the string 'System Route'." + } + } + }, + "SecurityGroupViewParameters": { + "description": "Parameters that define the VM to check security groups for.", + "required": [ + "targetResourceId" + ], + "properties": { + "targetResourceId": { + "type": "string", + "description": "ID of the target VM." + } + } + }, + "SecurityGroupViewResult": { + "description": "The information about security rules applied to the specified VM.", + "properties": { + "networkInterfaces": { + "type": "array", + "description": "List of network interfaces on the specified VM.", + "items": { + "$ref": "#/definitions/SecurityGroupNetworkInterface" + } + } + } + }, + "SecurityGroupNetworkInterface": { + "description": "Network interface and all its associated security rules.", + "properties": { + "id": { + "type": "string", + "description": "ID of the network interface." + }, + "securityRuleAssociations": { + "$ref": "#/definitions/SecurityRuleAssociations", + "description": "All security rules associated with the network interface." + } + } + }, + "SecurityRuleAssociations": { + "description": "All security rules associated with the network interface.", + "properties": { + "networkInterfaceAssociation": { + "$ref": "#/definitions/NetworkInterfaceAssociation", + "description": "Network interface and it's custom security rules." + }, + "subnetAssociation": { + "$ref": "#/definitions/SubnetAssociation", + "description": "Subnet and it's custom security rules." + }, + "defaultSecurityRules": { + "type": "array", + "items": { + "$ref": "./networkSecurityGroup.json#/definitions/SecurityRule" + }, + "description": "Collection of default security rules of the network security group." + }, + "effectiveSecurityRules": { + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/EffectiveNetworkSecurityRule" + }, + "description": "Collection of effective security rules." + } + } + }, + "NetworkInterfaceAssociation": { + "description": "Network interface and its custom security rules.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Network interface ID." + }, + "securityRules": { + "type": "array", + "description": "Collection of custom security rules.", + "items": { + "$ref": "./networkSecurityGroup.json#/definitions/SecurityRule" + } + } + } + }, + "SubnetAssociation": { + "description": "Subnet and it's custom security rules.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Subnet ID." + }, + "securityRules": { + "type": "array", + "description": "Collection of custom security rules.", + "items": { + "$ref": "./networkSecurityGroup.json#/definitions/SecurityRule" + } + } + } + }, + "PacketCapture": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PacketCaptureParameters", + "description": "Properties of the packet capture." + } + }, + "required": [ + "properties" + ], + "description": "Parameters that define the create packet capture operation." + }, + "PacketCaptureParameters": { + "properties": { + "target": { + "type": "string", + "description": "The ID of the targeted resource, only VM is currently supported." + }, + "bytesToCapturePerPacket": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "default": 0, + "description": "Number of bytes captured per packet, the remaining bytes are truncated." + }, + "totalBytesPerSession": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "default": 1073741824, + "description": "Maximum size of the capture output." + }, + "timeLimitInSeconds": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 18000, + "default": 18000, + "description": "Maximum duration of the capture session in seconds." + }, + "storageLocation": { + "$ref": "#/definitions/PacketCaptureStorageLocation", + "description": "The storage location for a packet capture session." + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/PacketCaptureFilter" + }, + "description": "A list of packet capture filters." + } + }, + "required": [ + "target", + "storageLocation" + ], + "description": "Parameters that define the create packet capture operation." + }, + "PacketCaptureStorageLocation": { + "properties": { + "storageId": { + "type": "string", + "description": "The ID of the storage account to save the packet capture session. Required if no local file path is provided." + }, + "storagePath": { + "type": "string", + "description": "The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture." + }, + "filePath": { + "type": "string", + "description": "A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional." + } + }, + "description": "The storage location for a packet capture session." + }, + "PacketCaptureFilter": { + "properties": { + "protocol": { + "type": "string", + "enum": [ + "TCP", + "UDP", + "Any" + ], + "x-ms-enum": { + "name": "PcProtocol", + "modelAsString": true + }, + "default": "Any", + "description": "Protocol to be filtered on." + }, + "localIPAddress": { + "type": "string", + "description": "Local IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5\"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + }, + "remoteIPAddress": { + "type": "string", + "description": "Local IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + }, + "localPort": { + "type": "string", + "description": "Local port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + }, + "remotePort": { + "type": "string", + "description": "Remote port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + } + }, + "description": "Filter that is applied to packet capture request. Multiple filters can be applied." + }, + "PacketCaptureListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PacketCaptureResult" + }, + "description": "Information about packet capture sessions." + } + }, + "description": "List of packet capture sessions." + }, + "PacketCaptureResult": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the packet capture session." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "ID of the packet capture operation." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PacketCaptureResultProperties", + "description": "Properties of the packet capture result." + } + }, + "description": "Information about packet capture session." + }, + "PacketCaptureResultProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the packet capture session." + } + }, + "allOf": [ + { + "$ref": "#/definitions/PacketCaptureParameters" + } + ], + "description": "The properties of a packet capture session." + }, + "PacketCaptureQueryStatusResult": { + "properties": { + "name": { + "type": "string", + "description": "The name of the packet capture resource." + }, + "id": { + "type": "string", + "description": "The ID of the packet capture resource." + }, + "captureStartTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the packet capture session." + }, + "packetCaptureStatus": { + "type": "string", + "enum": [ + "NotStarted", + "Running", + "Stopped", + "Error", + "Unknown" + ], + "x-ms-enum": { + "name": "PcStatus", + "modelAsString": true + }, + "description": "The status of the packet capture session." + }, + "stopReason": { + "type": "string", + "description": "The reason the current packet capture session was stopped." + }, + "packetCaptureError": { + "type": "array", + "description": "List of errors of packet capture session.", + "items": { + "type": "string", + "enum": [ + "InternalError", + "AgentStopped", + "CaptureFailed", + "LocalFileFailed", + "StorageFailed" + ], + "x-ms-enum": { + "name": "PcError", + "modelAsString": true + } + } + } + }, + "description": "Status of packet capture session." + }, + "TroubleshootingParameters": { + "description": "Parameters that define the resource to troubleshoot.", + "required": [ + "targetResourceId", + "properties" + ], + "properties": { + "targetResourceId": { + "description": "The target resource to troubleshoot.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/TroubleshootingProperties", + "description": "Properties of the troubleshooting resource." + } + } + }, + "QueryTroubleshootingParameters": { + "description": "Parameters that define the resource to query the troubleshooting result.", + "required": [ + "targetResourceId" + ], + "properties": { + "targetResourceId": { + "description": "The target resource ID to query the troubleshooting result.", + "type": "string" + } + } + }, + "TroubleshootingProperties": { + "description": "Storage location provided for troubleshoot.", + "required": [ + "storageId", + "storagePath" + ], + "properties": { + "storageId": { + "description": "The ID for the storage account to save the troubleshoot result.", + "type": "string" + }, + "storagePath": { + "description": "The path to the blob to save the troubleshoot result in.", + "type": "string" + } + } + }, + "TroubleshootingResult": { + "description": "Troubleshooting information gained from specified resource.", + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the troubleshooting." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time of the troubleshooting." + }, + "code": { + "type": "string", + "description": "The result code of the troubleshooting." + }, + "results": { + "type": "array", + "description": "Information from troubleshooting.", + "items": { + "$ref": "#/definitions/TroubleshootingDetails" + } + } + } + }, + "TroubleshootingDetails": { + "description": "Information gained from troubleshooting of specified resource.", + "properties": { + "id": { + "type": "string", + "description": "The id of the get troubleshoot operation." + }, + "reasonType": { + "type": "string", + "description": "Reason type of failure." + }, + "summary": { + "type": "string", + "description": "A summary of troubleshooting." + }, + "detail": { + "type": "string", + "description": "Details on troubleshooting results." + }, + "recommendedActions": { + "type": "array", + "description": "List of recommended actions.", + "items": { + "$ref": "#/definitions/TroubleshootingRecommendedActions" + } + } + } + }, + "TroubleshootingRecommendedActions": { + "description": "Recommended actions based on discovered issues.", + "properties": { + "actionId": { + "description": "ID of the recommended action.", + "type": "string" + }, + "actionText": { + "description": "Description of recommended actions.", + "type": "string" + }, + "actionUri": { + "description": "The uri linking to a documentation for the recommended troubleshooting actions.", + "type": "string" + }, + "actionUriText": { + "description": "The information from the URI for the recommended troubleshooting actions.", + "type": "string" + } + } + }, + "FlowLogListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FlowLog" + }, + "description": "Information about flow log resource." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "List of flow logs." + }, + "FlowLog": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FlowLogPropertiesFormat", + "description": "Properties of the flow log." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "A flow log resource." + }, + "FlowLogPropertiesFormat": { + "description": "Parameters that define the configuration of flow log.", + "required": [ + "targetResourceId", + "storageId" + ], + "properties": { + "targetResourceId": { + "description": "ID of network security group to which flow log will be applied.", + "type": "string" + }, + "targetResourceGuid": { + "readOnly": true, + "description": "Guid of network security group to which flow log will be applied.", + "type": "string" + }, + "storageId": { + "description": "ID of the storage account which is used to store the flow log.", + "type": "string" + }, + "enabled": { + "description": "Flag to enable/disable flow logging.", + "type": "boolean" + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicyParameters", + "description": "Parameters that define the retention policy for flow log." + }, + "format": { + "$ref": "#/definitions/FlowLogFormatParameters", + "description": "Parameters that define the flow log format." + }, + "flowAnalyticsConfiguration": { + "$ref": "#/definitions/TrafficAnalyticsProperties", + "description": "Parameters that define the configuration of traffic analytics." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the flow log." + } + } + }, + "FlowLogProperties": { + "description": "Parameters that define the configuration of flow log.", + "required": [ + "storageId", + "enabled" + ], + "properties": { + "storageId": { + "description": "ID of the storage account which is used to store the flow log.", + "type": "string" + }, + "enabled": { + "description": "Flag to enable/disable flow logging.", + "type": "boolean" + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicyParameters", + "description": "Parameters that define the retention policy for flow log." + }, + "format": { + "$ref": "#/definitions/FlowLogFormatParameters", + "description": "Parameters that define the flow log format." + } + } + }, + "FlowLogStatusParameters": { + "description": "Parameters that define a resource to query flow log and traffic analytics (optional) status.", + "required": [ + "targetResourceId" + ], + "properties": { + "targetResourceId": { + "description": "The target resource where getting the flow log and traffic analytics (optional) status.", + "type": "string" + } + } + }, + "RetentionPolicyParameters": { + "description": "Parameters that define the retention policy for flow log.", + "properties": { + "days": { + "description": "Number of days to retain flow log records.", + "type": "integer", + "format": "int32", + "default": 0 + }, + "enabled": { + "description": "Flag to enable/disable retention.", + "type": "boolean", + "default": false + } + } + }, + "FlowLogFormatParameters": { + "description": "Parameters that define the flow log format.", + "properties": { + "type": { + "type": "string", + "description": "The file type of flow log.", + "enum": [ + "JSON" + ], + "x-ms-enum": { + "name": "FlowLogFormatType", + "modelAsString": true + } + }, + "version": { + "description": "The version (revision) of the flow log.", + "type": "integer", + "format": "int32", + "default": 0 + } + } + }, + "FlowLogInformation": { + "description": "Information on the configuration of flow log and traffic analytics (optional) .", + "required": [ + "targetResourceId", + "properties" + ], + "properties": { + "targetResourceId": { + "description": "The ID of the resource to configure for flow log and traffic analytics (optional) .", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FlowLogProperties", + "description": "Properties of the flow log." + }, + "flowAnalyticsConfiguration": { + "$ref": "#/definitions/TrafficAnalyticsProperties", + "description": "Parameters that define the configuration of traffic analytics." + } + } + }, + "TrafficAnalyticsProperties": { + "description": "Parameters that define the configuration of traffic analytics.", + "properties": { + "networkWatcherFlowAnalyticsConfiguration": { + "$ref": "#/definitions/TrafficAnalyticsConfigurationProperties", + "description": "Parameters that define the configuration of traffic analytics." + } + } + }, + "TrafficAnalyticsConfigurationProperties": { + "description": "Parameters that define the configuration of traffic analytics.", + "properties": { + "enabled": { + "description": "Flag to enable/disable traffic analytics.", + "type": "boolean" + }, + "workspaceId": { + "description": "The resource guid of the attached workspace.", + "type": "string" + }, + "workspaceRegion": { + "description": "The location of the attached workspace.", + "type": "string" + }, + "workspaceResourceId": { + "description": "Resource Id of the attached workspace.", + "type": "string" + }, + "trafficAnalyticsInterval": { + "description": "The interval in minutes which would decide how frequently TA service should do flow analytics.", + "type": "integer", + "format": "int32" + } + } + }, + "ConnectivityParameters": { + "description": "Parameters that determine how the connectivity check will be performed.", + "required": [ + "source", + "destination" + ], + "properties": { + "source": { + "$ref": "#/definitions/ConnectivitySource", + "description": "The source of the connection." + }, + "destination": { + "$ref": "#/definitions/ConnectivityDestination", + "description": "The destination of connection." + }, + "protocol": { + "type": "string", + "description": "Network protocol.", + "enum": [ + "Tcp", + "Http", + "Https", + "Icmp" + ], + "x-ms-enum": { + "name": "Protocol", + "modelAsString": true + } + }, + "protocolConfiguration": { + "$ref": "#/definitions/ProtocolConfiguration", + "description": "Configuration of the protocol." + }, + "preferredIPVersion": { + "$ref": "./network.json#/definitions/IPVersion", + "description": "Preferred IP version of the connection." + } + } + }, + "ConnectivitySource": { + "description": "Parameters that define the source of the connection.", + "required": [ + "resourceId" + ], + "properties": { + "resourceId": { + "description": "The ID of the resource from which a connectivity check will be initiated.", + "type": "string" + }, + "port": { + "description": "The source port from which a connectivity check will be performed.", + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 65535 + } + } + }, + "ConnectivityDestination": { + "description": "Parameters that define destination of connection.", + "properties": { + "resourceId": { + "description": "The ID of the resource to which a connection attempt will be made.", + "type": "string" + }, + "address": { + "description": "The IP address or URI the resource to which a connection attempt will be made.", + "type": "string" + }, + "port": { + "description": "Port on which check connectivity will be performed.", + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 65535 + } + } + }, + "ConnectivityInformation": { + "description": "Information on the connectivity status.", + "properties": { + "hops": { + "readOnly": true, + "type": "array", + "description": "List of hops between the source and the destination.", + "items": { + "$ref": "#/definitions/ConnectivityHop" + } + }, + "connectionStatus": { + "readOnly": true, + "type": "string", + "enum": [ + "Unknown", + "Connected", + "Disconnected", + "Degraded" + ], + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + }, + "description": "The connection status." + }, + "avgLatencyInMs": { + "description": "Average latency in milliseconds.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "minLatencyInMs": { + "description": "Minimum latency in milliseconds.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "maxLatencyInMs": { + "description": "Maximum latency in milliseconds.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "probesSent": { + "description": "Total number of probes sent.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "probesFailed": { + "description": "Number of failed probes.", + "readOnly": true, + "type": "integer", + "format": "int32" + } + } + }, + "ConnectivityHop": { + "description": "Information about a hop between the source and the destination.", + "properties": { + "type": { + "description": "The type of the hop.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "The ID of the hop.", + "readOnly": true, + "type": "string" + }, + "address": { + "description": "The IP address of the hop.", + "readOnly": true, + "type": "string" + }, + "resourceId": { + "description": "The ID of the resource corresponding to this hop.", + "readOnly": true, + "type": "string" + }, + "nextHopIds": { + "readOnly": true, + "type": "array", + "description": "List of next hop identifiers.", + "items": { + "type": "string" + } + }, + "previousHopIds": { + "readOnly": true, + "type": "array", + "description": "List of previous hop identifiers.", + "items": { + "type": "string" + } + }, + "links": { + "readOnly": true, + "type": "array", + "description": "List of hop links.", + "items": { + "$ref": "#/definitions/HopLink" + } + }, + "previousLinks": { + "readOnly": true, + "type": "array", + "description": "List of previous hop links.", + "items": { + "$ref": "#/definitions/HopLink" + } + }, + "issues": { + "readOnly": true, + "type": "array", + "description": "List of issues.", + "items": { + "$ref": "#/definitions/ConnectivityIssue" + } + } + } + }, + "HopLink": { + "description": "Hop link.", + "properties": { + "nextHopId": { + "description": "The ID of the next hop.", + "readOnly": true, + "type": "string" + }, + "linkType": { + "description": "Link type.", + "readOnly": true, + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/HopLinkProperties", + "description": "Hop link properties." + }, + "issues": { + "readOnly": true, + "type": "array", + "description": "List of issues.", + "items": { + "$ref": "#/definitions/ConnectivityIssue" + } + }, + "context": { + "readOnly": true, + "type": "object", + "description": "Provides additional context on links.", + "additionalProperties": { + "type": "string" + } + }, + "resourceId": { + "description": "Resource ID.", + "readOnly": true, + "type": "string" + } + } + }, + "HopLinkProperties": { + "description": "Hop link properties.", + "properties": { + "roundTripTimeMin": { + "description": "Minimum roundtrip time in milliseconds.", + "readOnly": true, + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295 + }, + "roundTripTimeAvg": { + "description": "Average roundtrip time in milliseconds.", + "readOnly": true, + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295 + }, + "roundTripTimeMax": { + "description": "Maximum roundtrip time in milliseconds.", + "readOnly": true, + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295 + } + } + }, + "ConnectivityIssue": { + "description": "Information about an issue encountered in the process of checking for connectivity.", + "properties": { + "origin": { + "readOnly": true, + "type": "string", + "enum": [ + "Local", + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "Origin", + "modelAsString": true + }, + "description": "The origin of the issue." + }, + "severity": { + "readOnly": true, + "type": "string", + "enum": [ + "Error", + "Warning" + ], + "x-ms-enum": { + "name": "Severity", + "modelAsString": true + }, + "description": "The severity of the issue." + }, + "type": { + "readOnly": true, + "type": "string", + "enum": [ + "Unknown", + "AgentStopped", + "GuestFirewall", + "DnsResolution", + "SocketBind", + "NetworkSecurityRule", + "UserDefinedRoute", + "PortThrottled", + "Platform" + ], + "x-ms-enum": { + "name": "IssueType", + "modelAsString": true + }, + "description": "The type of issue." + }, + "context": { + "readOnly": true, + "type": "array", + "description": "Provides additional context on the issue.", + "items": { + "$ref": "#/definitions/IssueContext" + } + } + } + }, + "IssueContext": { + "description": "A key-value pair that provides additional context on the issue.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "ProtocolConfiguration": { + "description": "Configuration of the protocol.", + "properties": { + "HTTPConfiguration": { + "$ref": "#/definitions/HTTPConfiguration", + "description": "HTTP configuration of the connectivity check." + } + } + }, + "HTTPConfiguration": { + "properties": { + "method": { + "type": "string", + "description": "HTTP method.", + "enum": [ + "Get" + ], + "x-ms-enum": { + "name": "HTTPMethod", + "modelAsString": true + } + }, + "headers": { + "type": "array", + "description": "List of HTTP headers.", + "items": { + "$ref": "#/definitions/HTTPHeader" + } + }, + "validStatusCodes": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "Valid status codes." + } + }, + "description": "HTTP configuration of the connectivity check." + }, + "HTTPHeader": { + "properties": { + "name": { + "type": "string", + "description": "The name in HTTP header." + }, + "value": { + "type": "string", + "description": "The value in HTTP header." + } + }, + "description": "The HTTP header." + }, + "AzureReachabilityReportParameters": { + "properties": { + "providerLocation": { + "$ref": "#/definitions/AzureReachabilityReportLocation", + "description": "Parameters that define a geographic location." + }, + "providers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of Internet service providers." + }, + "azureLocations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional Azure regions to scope the query to." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time for the Azure reachability report." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time for the Azure reachability report." + } + }, + "required": [ + "providerLocation", + "startTime", + "endTime" + ], + "description": "Geographic and time constraints for Azure reachability report." + }, + "AzureReachabilityReportLocation": { + "properties": { + "country": { + "type": "string", + "description": "The name of the country." + }, + "state": { + "type": "string", + "description": "The name of the state." + }, + "city": { + "type": "string", + "description": "The name of the city or town." + } + }, + "required": [ + "country" + ], + "description": "Parameters that define a geographic location." + }, + "AzureReachabilityReport": { + "properties": { + "aggregationLevel": { + "type": "string", + "description": "The aggregation level of Azure reachability report. Can be Country, State or City." + }, + "providerLocation": { + "$ref": "#/definitions/AzureReachabilityReportLocation", + "description": "Parameters that define a geographic location." + }, + "reachabilityReport": { + "type": "array", + "description": "List of Azure reachability report items.", + "items": { + "$ref": "#/definitions/AzureReachabilityReportItem" + } + } + }, + "required": [ + "aggregationLevel", + "providerLocation", + "reachabilityReport" + ], + "description": "Azure reachability report details." + }, + "AzureReachabilityReportItem": { + "properties": { + "provider": { + "type": "string", + "description": "The Internet service provider." + }, + "azureLocation": { + "type": "string", + "description": "The Azure region." + }, + "latencies": { + "type": "array", + "description": "List of latency details for each of the time series.", + "items": { + "$ref": "#/definitions/AzureReachabilityReportLatencyInfo" + } + } + }, + "description": "Azure reachability report details for a given provider location." + }, + "AzureReachabilityReportLatencyInfo": { + "properties": { + "timeStamp": { + "type": "string", + "format": "date-time", + "description": "The time stamp." + }, + "score": { + "type": "integer", + "format": "int32", + "description": "The relative latency score between 1 and 100, higher values indicating a faster connection.", + "minimum": 1, + "maximum": 100 + } + }, + "description": "Details on latency for a time series." + }, + "AvailableProvidersListParameters": { + "properties": { + "azureLocations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of Azure regions." + }, + "country": { + "type": "string", + "description": "The country for available providers list." + }, + "state": { + "type": "string", + "description": "The state for available providers list." + }, + "city": { + "type": "string", + "description": "The city or town for available providers list." + } + }, + "description": "Constraints that determine the list of available Internet service providers." + }, + "AvailableProvidersList": { + "properties": { + "countries": { + "type": "array", + "description": "List of available countries.", + "items": { + "$ref": "#/definitions/AvailableProvidersListCountry" + } + } + }, + "required": [ + "countries" + ], + "description": "List of available countries with details." + }, + "AvailableProvidersListCountry": { + "properties": { + "countryName": { + "type": "string", + "description": "The country name." + }, + "providers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of Internet service providers." + }, + "states": { + "type": "array", + "description": "List of available states in the country.", + "items": { + "$ref": "#/definitions/AvailableProvidersListState" + } + } + }, + "description": "Country details." + }, + "AvailableProvidersListState": { + "properties": { + "stateName": { + "type": "string", + "description": "The state name." + }, + "providers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of Internet service providers." + }, + "cities": { + "type": "array", + "description": "List of available cities or towns in the state.", + "items": { + "$ref": "#/definitions/AvailableProvidersListCity" + } + } + }, + "description": "State details." + }, + "AvailableProvidersListCity": { + "properties": { + "cityName": { + "type": "string", + "description": "The city or town name." + }, + "providers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of Internet service providers." + } + }, + "description": "City or town details." + }, + "NetworkConfigurationDiagnosticParameters": { + "description": "Parameters to get network configuration diagnostic.", + "required": [ + "targetResourceId", + "profiles" + ], + "properties": { + "targetResourceId": { + "type": "string", + "description": "The ID of the target resource to perform network configuration diagnostic. Valid options are VM, NetworkInterface, VMSS/NetworkInterface and Application Gateway." + }, + "verbosityLevel": { + "type": "string", + "enum": [ + "Normal", + "Minimum", + "Full" + ], + "x-ms-enum": { + "name": "VerbosityLevel", + "modelAsString": true + }, + "description": "Verbosity level." + }, + "profiles": { + "type": "array", + "description": "List of network configuration diagnostic profiles.", + "items": { + "$ref": "#/definitions/NetworkConfigurationDiagnosticProfile" + } + } + } + }, + "NetworkConfigurationDiagnosticProfile": { + "description": "Parameters to compare with network configuration.", + "required": [ + "direction", + "protocol", + "source", + "destination", + "destinationPort" + ], + "properties": { + "direction": { + "$ref": "#/definitions/Direction", + "description": "The direction of the traffic." + }, + "protocol": { + "type": "string", + "description": "Protocol to be verified on. Accepted values are '*', TCP, UDP." + }, + "source": { + "type": "string", + "description": "Traffic source. Accepted values are '*', IP Address/CIDR, Service Tag." + }, + "destination": { + "type": "string", + "description": "Traffic destination. Accepted values are: '*', IP Address/CIDR, Service Tag." + }, + "destinationPort": { + "type": "string", + "description": "Traffic destination port. Accepted values are '*' and a single port in the range (0 - 65535)." + } + } + }, + "NetworkConfigurationDiagnosticResponse": { + "description": "Results of network configuration diagnostic on the target resource.", + "properties": { + "results": { + "readOnly": true, + "type": "array", + "description": "List of network configuration diagnostic results.", + "items": { + "$ref": "#/definitions/NetworkConfigurationDiagnosticResult" + } + } + } + }, + "NetworkConfigurationDiagnosticResult": { + "description": "Network configuration diagnostic result corresponded to provided traffic query.", + "properties": { + "profile": { + "$ref": "#/definitions/NetworkConfigurationDiagnosticProfile", + "description": "Network configuration diagnostic profile." + }, + "networkSecurityGroupResult": { + "$ref": "#/definitions/NetworkSecurityGroupResult", + "description": "Network security group result." + } + } + }, + "NetworkSecurityGroupResult": { + "description": "Network configuration diagnostic result corresponded provided traffic query.", + "properties": { + "securityRuleAccessResult": { + "$ref": "./networkSecurityGroup.json#/definitions/SecurityRuleAccess", + "description": "The network traffic is allowed or denied." + }, + "evaluatedNetworkSecurityGroups": { + "readOnly": true, + "type": "array", + "description": "List of results network security groups diagnostic.", + "items": { + "$ref": "#/definitions/EvaluatedNetworkSecurityGroup" + } + } + } + }, + "EvaluatedNetworkSecurityGroup": { + "description": "Results of network security group evaluation.", + "properties": { + "networkSecurityGroupId": { + "type": "string", + "description": "Network security group ID." + }, + "appliedTo": { + "type": "string", + "description": "Resource ID of nic or subnet to which network security group is applied." + }, + "matchedRule": { + "$ref": "#/definitions/MatchedRule", + "description": "Matched network security rule." + }, + "rulesEvaluationResult": { + "readOnly": true, + "type": "array", + "description": "List of network security rules evaluation results.", + "items": { + "$ref": "#/definitions/NetworkSecurityRulesEvaluationResult" + } + } + } + }, + "MatchedRule": { + "description": "Matched rule.", + "properties": { + "ruleName": { + "type": "string", + "description": "Name of the matched network security rule." + }, + "action": { + "type": "string", + "description": "The network traffic is allowed or denied. Possible values are 'Allow' and 'Deny'." + } + } + }, + "NetworkSecurityRulesEvaluationResult": { + "description": "Network security rules evaluation result.", + "properties": { + "name": { + "type": "string", + "description": "Name of the network security rule." + }, + "protocolMatched": { + "type": "boolean", + "description": "Value indicating whether protocol is matched." + }, + "sourceMatched": { + "type": "boolean", + "description": "Value indicating whether source is matched." + }, + "sourcePortMatched": { + "type": "boolean", + "description": "Value indicating whether source port is matched." + }, + "destinationMatched": { + "type": "boolean", + "description": "Value indicating whether destination is matched." + }, + "destinationPortMatched": { + "type": "boolean", + "description": "Value indicating whether destination port is matched." + } + } + }, + "Direction": { + "type": "string", + "description": "The direction of the traffic.", + "enum": [ + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "Direction", + "modelAsString": true + } + }, + "ConnectionMonitor": { + "properties": { + "location": { + "type": "string", + "description": "Connection monitor location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Connection monitor tags." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ConnectionMonitorParameters", + "description": "Properties of the connection monitor." + } + }, + "required": [ + "properties" + ], + "description": "Parameters that define the operation to create a connection monitor." + }, + "ConnectionMonitorParameters": { + "properties": { + "source": { + "$ref": "#/definitions/ConnectionMonitorSource", + "description": "Describes the source of connection monitor." + }, + "destination": { + "$ref": "#/definitions/ConnectionMonitorDestination", + "description": "Describes the destination of connection monitor." + }, + "autoStart": { + "type": "boolean", + "default": true, + "description": "Determines if the connection monitor will start automatically once created." + }, + "monitoringIntervalInSeconds": { + "type": "integer", + "format": "int32", + "minimum": 30, + "maximum": 1800, + "default": 60, + "description": "Monitoring interval in seconds." + }, + "endpoints": { + "type": "array", + "description": "List of connection monitor endpoints.", + "items": { + "$ref": "#/definitions/ConnectionMonitorEndpoint" + } + }, + "testConfigurations": { + "type": "array", + "description": "List of connection monitor test configurations.", + "items": { + "$ref": "#/definitions/ConnectionMonitorTestConfiguration" + } + }, + "testGroups": { + "type": "array", + "description": "List of connection monitor test groups.", + "items": { + "$ref": "#/definitions/ConnectionMonitorTestGroup" + } + }, + "outputs": { + "type": "array", + "description": "List of connection monitor outputs.", + "items": { + "$ref": "#/definitions/ConnectionMonitorOutput" + } + }, + "notes": { + "type": "string", + "description": "Optional notes to be associated with the connection monitor." + } + }, + "description": "Parameters that define the operation to create a connection monitor." + }, + "ConnectionMonitorSource": { + "properties": { + "resourceId": { + "type": "string", + "description": "The ID of the resource used as the source by connection monitor." + }, + "port": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 65535, + "description": "The source port used by connection monitor." + } + }, + "required": [ + "resourceId" + ], + "description": "Describes the source of connection monitor." + }, + "ConnectionMonitorDestination": { + "properties": { + "resourceId": { + "type": "string", + "description": "The ID of the resource used as the destination by connection monitor." + }, + "address": { + "type": "string", + "description": "Address of the connection monitor destination (IP or domain name)." + }, + "port": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 65535, + "description": "The destination port used by connection monitor." + } + }, + "description": "Describes the destination of connection monitor." + }, + "ConnectionMonitorEndpoint": { + "properties": { + "name": { + "type": "string", + "description": "The name of the connection monitor endpoint." + }, + "type": { + "type": "string", + "enum": [ + "AzureVM", + "AzureVNet", + "AzureSubnet", + "ExternalAddress", + "MMAWorkspaceMachine", + "MMAWorkspaceNetwork" + ], + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true + }, + "description": "The endpoint type." + }, + "resourceId": { + "type": "string", + "description": "Resource ID of the connection monitor endpoint." + }, + "address": { + "type": "string", + "description": "Address of the connection monitor endpoint (IP or domain name)." + }, + "filter": { + "$ref": "#/definitions/ConnectionMonitorEndpointFilter", + "description": "Filter for sub-items within the endpoint." + }, + "scope": { + "$ref": "#/definitions/ConnectionMonitorEndpointScope", + "description": "Endpoint scope." + }, + "coverageLevel": { + "type": "string", + "enum": [ + "Default", + "Low", + "BelowAverage", + "Average", + "AboveAverage", + "Full" + ], + "x-ms-enum": { + "name": "CoverageLevel", + "modelAsString": true + }, + "description": "Test coverage for the endpoint." + } + }, + "required": [ + "name" + ], + "description": "Describes the connection monitor endpoint." + }, + "ConnectionMonitorEndpointScope": { + "properties": { + "include": { + "type": "array", + "description": "List of items which needs to be included to the endpoint scope.", + "items": { + "$ref": "#/definitions/ConnectionMonitorEndpointScopeItem" + } + }, + "exclude": { + "type": "array", + "description": "List of items which needs to be excluded from the endpoint scope.", + "items": { + "$ref": "#/definitions/ConnectionMonitorEndpointScopeItem" + } + } + }, + "description": "Describes the connection monitor endpoint scope." + }, + "ConnectionMonitorEndpointScopeItem": { + "properties": { + "address": { + "type": "string", + "description": "The address of the endpoint item. Supported types are IPv4/IPv6 subnet mask or IPv4/IPv6 IP address." + } + }, + "description": "Describes the connection monitor endpoint scope item." + }, + "ConnectionMonitorEndpointFilter": { + "properties": { + "type": { + "type": "string", + "enum": [ + "Include" + ], + "x-ms-enum": { + "name": "ConnectionMonitorEndpointFilterType", + "modelAsString": true + }, + "description": "The behavior of the endpoint filter. Currently only 'Include' is supported." + }, + "items": { + "type": "array", + "description": "List of items in the filter.", + "items": { + "$ref": "#/definitions/ConnectionMonitorEndpointFilterItem" + } + } + }, + "description": "Describes the connection monitor endpoint filter." + }, + "ConnectionMonitorEndpointFilterItem": { + "properties": { + "type": { + "type": "string", + "enum": [ + "AgentAddress" + ], + "x-ms-enum": { + "name": "ConnectionMonitorEndpointFilterItemType", + "modelAsString": true + }, + "description": "The type of item included in the filter. Currently only 'AgentAddress' is supported." + }, + "address": { + "type": "string", + "description": "The address of the filter item." + } + }, + "description": "Describes the connection monitor endpoint filter item." + }, + "ConnectionMonitorTestGroup": { + "properties": { + "name": { + "type": "string", + "description": "The name of the connection monitor test group." + }, + "disable": { + "type": "boolean", + "description": "Value indicating whether test group is disabled." + }, + "testConfigurations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of test configuration names." + }, + "sources": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of source endpoint names." + }, + "destinations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of destination endpoint names." + } + }, + "required": [ + "name", + "testConfigurations", + "sources", + "destinations" + ], + "description": "Describes the connection monitor test group." + }, + "ConnectionMonitorTestConfiguration": { + "properties": { + "name": { + "type": "string", + "description": "The name of the connection monitor test configuration." + }, + "testFrequencySec": { + "type": "integer", + "format": "int32", + "description": "The frequency of test evaluation, in seconds." + }, + "protocol": { + "type": "string", + "enum": [ + "Tcp", + "Http", + "Icmp" + ], + "x-ms-enum": { + "name": "ConnectionMonitorTestConfigurationProtocol", + "modelAsString": true + }, + "description": "The protocol to use in test evaluation." + }, + "preferredIPVersion": { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "PreferredIPVersion", + "modelAsString": true + }, + "description": "The preferred IP version to use in test evaluation. The connection monitor may choose to use a different version depending on other parameters." + }, + "httpConfiguration": { + "$ref": "#/definitions/ConnectionMonitorHttpConfiguration", + "description": "The parameters used to perform test evaluation over HTTP." + }, + "tcpConfiguration": { + "$ref": "#/definitions/ConnectionMonitorTcpConfiguration", + "description": "The parameters used to perform test evaluation over TCP." + }, + "icmpConfiguration": { + "$ref": "#/definitions/ConnectionMonitorIcmpConfiguration", + "description": "The parameters used to perform test evaluation over ICMP." + }, + "successThreshold": { + "$ref": "#/definitions/ConnectionMonitorSuccessThreshold", + "description": "The threshold for declaring a test successful." + } + }, + "required": [ + "name", + "protocol" + ], + "description": "Describes a connection monitor test configuration." + }, + "ConnectionMonitorHttpConfiguration": { + "properties": { + "port": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 65535, + "description": "The port to connect to." + }, + "method": { + "type": "string", + "description": "The HTTP method to use.", + "enum": [ + "Get", + "Post" + ], + "x-ms-enum": { + "name": "HTTPConfigurationMethod", + "modelAsString": true + } + }, + "path": { + "type": "string", + "description": "The path component of the URI. For instance, \"/dir1/dir2\"." + }, + "requestHeaders": { + "type": "array", + "description": "The HTTP headers to transmit with the request.", + "items": { + "$ref": "#/definitions/HTTPHeader" + } + }, + "validStatusCodeRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "HTTP status codes to consider successful. For instance, \"2xx,301-304,418\"." + }, + "preferHTTPS": { + "type": "boolean", + "description": "Value indicating whether HTTPS is preferred over HTTP in cases where the choice is not explicit." + } + }, + "description": "Describes the HTTP configuration." + }, + "ConnectionMonitorTcpConfiguration": { + "properties": { + "port": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 65535, + "description": "The port to connect to." + }, + "disableTraceRoute": { + "type": "boolean", + "description": "Value indicating whether path evaluation with trace route should be disabled." + }, + "destinationPortBehavior": { + "type": "string", + "description": "Destination port behavior.", + "enum": [ + "None", + "ListenIfAvailable" + ], + "x-ms-enum": { + "name": "DestinationPortBehavior", + "modelAsString": true + } + } + }, + "description": "Describes the TCP configuration." + }, + "ConnectionMonitorIcmpConfiguration": { + "properties": { + "disableTraceRoute": { + "type": "boolean", + "description": "Value indicating whether path evaluation with trace route should be disabled." + } + }, + "description": "Describes the ICMP configuration." + }, + "ConnectionMonitorSuccessThreshold": { + "properties": { + "checksFailedPercent": { + "type": "integer", + "format": "int32", + "description": "The maximum percentage of failed checks permitted for a test to evaluate as successful." + }, + "roundTripTimeMs": { + "type": "number", + "description": "The maximum round-trip time in milliseconds permitted for a test to evaluate as successful." + } + }, + "description": "Describes the threshold for declaring a test successful." + }, + "ConnectionMonitorOutput": { + "properties": { + "type": { + "type": "string", + "description": "Connection monitor output destination type. Currently, only \"Workspace\" is supported.", + "enum": [ + "Workspace" + ], + "x-ms-enum": { + "name": "OutputType", + "modelAsString": true + } + }, + "workspaceSettings": { + "$ref": "#/definitions/ConnectionMonitorWorkspaceSettings", + "description": "Describes the settings for producing output into a log analytics workspace." + } + }, + "description": "Describes a connection monitor output destination." + }, + "ConnectionMonitorWorkspaceSettings": { + "properties": { + "workspaceResourceId": { + "type": "string", + "description": "Log analytics workspace resource ID." + } + }, + "description": "Describes the settings for producing output into a log analytics workspace." + }, + "ConnectionStateSnapshot": { + "properties": { + "connectionState": { + "type": "string", + "enum": [ + "Reachable", + "Unreachable", + "Unknown" + ], + "x-ms-enum": { + "name": "ConnectionState", + "modelAsString": true + }, + "description": "The connection state." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the connection snapshot." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time of the connection snapshot." + }, + "evaluationState": { + "type": "string", + "enum": [ + "NotStarted", + "InProgress", + "Completed" + ], + "x-ms-enum": { + "name": "EvaluationState", + "modelAsString": true + }, + "description": "Connectivity analysis evaluation state." + }, + "avgLatencyInMs": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "Average latency in ms." + }, + "minLatencyInMs": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "Minimum latency in ms." + }, + "maxLatencyInMs": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "Maximum latency in ms." + }, + "probesSent": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The number of sent probes." + }, + "probesFailed": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The number of failed probes." + }, + "hops": { + "readOnly": true, + "type": "array", + "description": "List of hops between the source and the destination.", + "items": { + "$ref": "./networkWatcher.json#/definitions/ConnectivityHop" + } + } + }, + "description": "Connection state snapshot." + }, + "ConnectionMonitorListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionMonitorResult" + }, + "description": "Information about connection monitors." + } + }, + "description": "List of connection monitors." + }, + "ConnectionMonitorResult": { + "x-ms-azure-resource": true, + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the connection monitor." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "ID of the connection monitor." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Connection monitor type." + }, + "location": { + "type": "string", + "description": "Connection monitor location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Connection monitor tags." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ConnectionMonitorResultProperties", + "description": "Properties of the connection monitor result." + } + }, + "description": "Information about the connection monitor." + }, + "ConnectionMonitorResultProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the connection monitor." + }, + "startTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The date and time when the connection monitor was started." + }, + "monitoringStatus": { + "readOnly": true, + "type": "string", + "description": "The monitoring status of the connection monitor." + }, + "connectionMonitorType": { + "readOnly": true, + "type": "string", + "enum": [ + "MultiEndpoint", + "SingleSourceDestination" + ], + "x-ms-enum": { + "name": "ConnectionMonitorType", + "modelAsString": true + }, + "description": "Type of connection monitor." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectionMonitorParameters" + } + ], + "description": "Describes the properties of a connection monitor." + }, + "ConnectionMonitorQueryResult": { + "properties": { + "sourceStatus": { + "type": "string", + "enum": [ + "Unknown", + "Active", + "Inactive" + ], + "x-ms-enum": { + "name": "ConnectionMonitorSourceStatus", + "modelAsString": true + }, + "description": "Status of connection monitor source." + }, + "states": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionStateSnapshot" + }, + "description": "Information about connection states." + } + }, + "description": "List of connection states snapshots." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/operation.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/operation.json new file mode 100644 index 000000000000..b30b755e0962 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/operation.json @@ -0,0 +1,271 @@ +{ + "swagger": "2.0", + "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-05-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": { + "/providers/Microsoft.Network/operations": { + "get": { + "operationId": "Operations_List", + "description": "Lists all of the available Network Rest API operations.", + "parameters": [ + { + "$ref": "./network.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": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a list of operations for a resource provider": { + "$ref": "./examples/OperationList.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list Network 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 Network operations supported by the Network resource provider." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "Network 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 Network.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Type of the operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of the operation.", + "type": "string" + } + } + }, + "origin": { + "description": "Origin of the operation.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationPropertiesFormat", + "description": "Operation properties format." + } + } + }, + "OperationPropertiesFormat": { + "description": "Description of operation properties format.", + "properties": { + "serviceSpecification": { + "description": "Specification of the service.", + "properties": { + "metricSpecifications": { + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + }, + "description": "Operation service specification." + }, + "logSpecifications": { + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + }, + "description": "Operation log specification." + } + } + } + } + }, + "LogSpecification": { + "description": "Description of logging specification.", + "properties": { + "name": { + "type": "string", + "description": "The name of the specification." + }, + "displayName": { + "type": "string", + "description": "The display name of the specification." + }, + "blobDuration": { + "type": "string", + "description": "Duration of the blob." + } + } + }, + "MetricSpecification": { + "description": "Description of metrics specification.", + "properties": { + "name": { + "type": "string", + "description": "The name of the metric." + }, + "displayName": { + "type": "string", + "description": "The display name of the metric." + }, + "displayDescription": { + "type": "string", + "description": "The description of the metric." + }, + "unit": { + "type": "string", + "description": "Units the metric to be displayed in." + }, + "aggregationType": { + "type": "string", + "description": "The aggregation type." + }, + "availabilities": { + "type": "array", + "items": { + "$ref": "#/definitions/Availability" + }, + "description": "List of availability." + }, + "enableRegionalMdmAccount": { + "type": "boolean", + "description": "Whether regional MDM account enabled." + }, + "fillGapWithZero": { + "type": "boolean", + "description": "Whether gaps would be filled with zeros." + }, + "metricFilterPattern": { + "type": "string", + "description": "Pattern for the filter of the metric." + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + }, + "description": "List of dimensions." + }, + "isInternal": { + "type": "boolean", + "description": "Whether the metric is internal." + }, + "sourceMdmAccount": { + "type": "string", + "description": "The source MDM account." + }, + "sourceMdmNamespace": { + "type": "string", + "description": "The source MDM namespace." + }, + "resourceIdDimensionNameOverride": { + "type": "string", + "description": "The resource Id dimension name override." + } + } + }, + "Dimension": { + "description": "Dimension of the metric.", + "properties": { + "name": { + "type": "string", + "description": "The name of the dimension." + }, + "displayName": { + "type": "string", + "description": "The display name of the dimension." + }, + "internalName": { + "type": "string", + "description": "The internal name of the dimension." + } + } + }, + "Availability": { + "description": "Availability of the metric.", + "properties": { + "timeGrain": { + "type": "string", + "description": "The time grain of the availability." + }, + "retention": { + "type": "string", + "description": "The retention of the availability." + }, + "blobDuration": { + "type": "string", + "description": "Duration of the availability blob." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/privateEndpoint.json new file mode 100644 index 000000000000..62ad009f7afe --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/privateEndpoint.json @@ -0,0 +1,1038 @@ +{ + "swagger": "2.0", + "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-05-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.Network/privateEndpoints/{privateEndpointName}": { + "delete": { + "tags": [ + "PrivateEndpoints" + ], + "operationId": "PrivateEndpoints_Delete", + "description": "Deletes the specified private endpoint.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete private endpoint": { + "$ref": "./examples/PrivateEndpointDelete.json" + } + } + }, + "get": { + "tags": [ + "PrivateEndpoints" + ], + "operationId": "PrivateEndpoints_Get", + "description": "Gets the specified private endpoint by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting private endpoint resource.", + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Get private endpoint": { + "$ref": "./examples/PrivateEndpointGet.json" + }, + "Get private endpoint with manual approval connection": { + "$ref": "./examples/PrivateEndpointGetForManualApproval.json" + }, + "Get private endpoint with application security groups": { + "$ref": "./examples/PrivateEndpointGetWithASG.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpoints" + ], + "operationId": "PrivateEndpoints_CreateOrUpdate", + "description": "Creates or updates an private endpoint in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "description": "Parameters supplied to the create or update private endpoint operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting private endpoint resource.", + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting private endpoint resource.", + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create private endpoint": { + "$ref": "./examples/PrivateEndpointCreate.json" + }, + "Create private endpoint with manual approval connection": { + "$ref": "./examples/PrivateEndpointCreateForManualApproval.json" + }, + "Create private endpoint with application security groups": { + "$ref": "./examples/PrivateEndpointCreateWithASG.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints": { + "get": { + "tags": [ + "PrivateEndpoints" + ], + "operationId": "PrivateEndpoints_List", + "description": "Gets all private endpoints in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of private endpoint resources.", + "schema": { + "$ref": "#/definitions/PrivateEndpointListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List private endpoints in resource group": { + "$ref": "./examples/PrivateEndpointList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateEndpoints": { + "get": { + "tags": [ + "PrivateEndpoints" + ], + "operationId": "PrivateEndpoints_ListBySubscription", + "description": "Gets all private endpoints in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of private endpoint resources.", + "schema": { + "$ref": "#/definitions/PrivateEndpointListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List all private endpoints": { + "$ref": "./examples/PrivateEndpointListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes": { + "get": { + "operationId": "AvailablePrivateEndpointTypes_List", + "description": "Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the domain name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.", + "schema": { + "$ref": "#/definitions/AvailablePrivateEndpointTypesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get available PrivateEndpoint types": { + "$ref": "./examples/AvailablePrivateEndpointTypesGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes": { + "get": { + "operationId": "AvailablePrivateEndpointTypes_ListByResourceGroup", + "description": "Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the domain name." + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.", + "schema": { + "$ref": "#/definitions/AvailablePrivateEndpointTypesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get available PrivateEndpoint types in the resource group": { + "$ref": "./examples/AvailablePrivateEndpointTypesResourceGroupGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName}": { + "delete": { + "tags": [ + "PrivateDnsZoneGroups" + ], + "operationId": "PrivateDnsZoneGroups_Delete", + "description": "Deletes the specified private dns zone group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint." + }, + { + "name": "privateDnsZoneGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private dns zone group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "200": { + "description": "Delete successful." + }, + "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" + }, + "x-ms-examples": { + "Delete private dns zone group": { + "$ref": "./examples/PrivateEndpointDnsZoneGroupDelete.json" + } + } + }, + "get": { + "tags": [ + "PrivateDnsZoneGroups" + ], + "operationId": "PrivateDnsZoneGroups_Get", + "description": "Gets the private dns zone group resource by specified private dns zone group name.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint." + }, + { + "name": "privateDnsZoneGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private dns zone group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting privateDnsZoneGroup resource.", + "schema": { + "$ref": "#/definitions/PrivateDnsZoneGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get private dns zone group": { + "$ref": "./examples/PrivateEndpointDnsZoneGroupGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateDnsZoneGroups" + ], + "operationId": "PrivateDnsZoneGroups_CreateOrUpdate", + "description": "Creates or updates a private dns zone group in the specified private endpoint.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint." + }, + { + "name": "privateDnsZoneGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private dns zone group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateDnsZoneGroup" + }, + "description": "Parameters supplied to the create or update private dns zone group operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting PrivateDnsZoneGroup resource.", + "schema": { + "$ref": "#/definitions/PrivateDnsZoneGroup" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting PrivateDnsZoneGroup resource.", + "schema": { + "$ref": "#/definitions/PrivateDnsZoneGroup" + } + }, + "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" + }, + "x-ms-examples": { + "Create private dns zone group": { + "$ref": "./examples/PrivateEndpointDnsZoneGroupCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups": { + "get": { + "tags": [ + "PrivateDnsZoneGroups" + ], + "operationId": "PrivateDnsZoneGroups_List", + "description": "Gets all private dns zone groups in a private endpoint.", + "parameters": [ + { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint." + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of private dns zone group resources.", + "schema": { + "$ref": "#/definitions/PrivateDnsZoneGroupListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List private endpoints in resource group": { + "$ref": "./examples/PrivateEndpointDnsZoneGroupList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "PrivateEndpoint": { + "properties": { + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of the load balancer." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateEndpointProperties", + "description": "Properties of the private endpoint." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Private endpoint resource." + }, + "PrivateEndpointProperties": { + "properties": { + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "The ID of the subnet from which the private IP will be allocated." + }, + "networkInterfaces": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterface" + }, + "description": "An array of references to the network interfaces created for this private endpoint." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the private endpoint resource." + }, + "privateLinkServiceConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkServiceConnection" + }, + "description": "A grouping of information about the connection to the remote resource." + }, + "manualPrivateLinkServiceConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkServiceConnection" + }, + "description": "A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource." + }, + "customDnsConfigs": { + "type": "array", + "items": { + "$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." + }, + "CustomDnsConfigPropertiesFormat": { + "properties": { + "fqdn": { + "type": "string", + "description": "Fqdn that resolves to private endpoint ip address." + }, + "ipAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of private ip addresses of the private endpoint." + } + }, + "description": "Contains custom Dns resolution configuration from customer." + }, + "PrivateLinkServiceConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkServiceConnectionProperties", + "description": "Properties of the private link service connection." + }, + "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." + }, + "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." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "PrivateLinkServiceConnection resource." + }, + "PrivateLinkServiceConnectionProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the private link service connection resource." + }, + "privateLinkServiceId": { + "type": "string", + "description": "The resource id of private link service." + }, + "groupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to." + }, + "requestMessage": { + "type": "string", + "description": "A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars." + }, + "privateLinkServiceConnectionState": { + "$ref": "./privateLinkService.json#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of read-only information about the state of the connection to the remote resource." + } + }, + "description": "Properties of the PrivateLinkServiceConnection." + }, + "PrivateEndpointListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "description": "A list of private endpoint resources in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + }, + "description": "Response for the ListPrivateEndpoints API service call." + }, + "PrivateDnsZoneGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateDnsZoneGroup" + }, + "description": "A list of private dns zone group resources in a private endpoint." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + }, + "description": "Response for the ListPrivateDnsZoneGroups API service call." + }, + "AvailablePrivateEndpointTypesResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AvailablePrivateEndpointType" + }, + "description": "An array of available privateEndpoint type." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "An array of available PrivateEndpoint types." + }, + "AvailablePrivateEndpointType": { + "properties": { + "name": { + "type": "string", + "description": "The name of the service and resource." + }, + "id": { + "type": "string", + "description": "A unique identifier of the AvailablePrivateEndpoint Type resource." + }, + "type": { + "type": "string", + "description": "Resource type." + }, + "resourceName": { + "type": "string", + "description": "The name of the service and resource." + }, + "displayName": { + "type": "string", + "description": "Display name of the resource." + } + }, + "description": "The information of an AvailablePrivateEndpointType." + }, + "PrivateDnsZoneGroup": { + "properties": { + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateDnsZoneGroupPropertiesFormat", + "description": "Properties of the private dns zone group." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Private dns zone group resource." + }, + "PrivateDnsZoneGroupPropertiesFormat": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the private dns zone group resource." + }, + "privateDnsZoneConfigs": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateDnsZoneConfig" + }, + "description": "A collection of private dns zone configurations of the private dns zone group." + } + }, + "description": "Properties of the private dns zone group." + }, + "PrivateDnsZoneConfig": { + "properties": { + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateDnsZonePropertiesFormat", + "description": "Properties of the private dns zone configuration." + } + }, + "description": "PrivateDnsZoneConfig resource." + }, + "PrivateDnsZonePropertiesFormat": { + "properties": { + "privateDnsZoneId": { + "type": "string", + "description": "The resource id of the private dns zone." + }, + "recordSets": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RecordSet" + }, + "description": "A collection of information regarding a recordSet, holding information to identify private resources." + } + }, + "description": "Properties of the private dns zone configuration resource." + }, + "RecordSet": { + "properties": { + "recordType": { + "type": "string", + "description": "Resource record type." + }, + "recordSetName": { + "type": "string", + "description": "Recordset name." + }, + "fqdn": { + "type": "string", + "description": "Fqdn that resolves to private endpoint ip address." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the recordset." + }, + "ttl": { + "type": "integer", + "description": "Recordset time to live." + }, + "ipAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private ip address of the private endpoint." + } + }, + "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/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/privateLinkService.json new file mode 100644 index 000000000000..82a1cb96f306 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/privateLinkService.json @@ -0,0 +1,1086 @@ +{ + "swagger": "2.0", + "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-05-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.Network/privateLinkServices/{serviceName}": { + "delete": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_Delete", + "description": "Deletes the specified private link service.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete private link service": { + "$ref": "./examples/PrivateLinkServiceDelete.json" + } + } + }, + "get": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_Get", + "description": "Gets the specified private link service by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting PrivateLinkService resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkService" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Get private link service": { + "$ref": "./examples/PrivateLinkServiceGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateLinkService" + ], + "operationId": "PrivateLinkServices_CreateOrUpdate", + "description": "Creates or updates an private link service in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateLinkService" + }, + "description": "Parameters supplied to the create or update private link service operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting privateLinkService resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkService" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting privateLinkService resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkService" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create private link service": { + "$ref": "./examples/PrivateLinkServiceCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices": { + "get": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_List", + "description": "Gets all private link services in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of privateLinkService resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkServiceListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List private link service in resource group": { + "$ref": "./examples/PrivateLinkServiceList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateLinkServices": { + "get": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_ListBySubscription", + "description": "Gets all private link service in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PrivateLinkService resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkServiceListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List all private list service": { + "$ref": "./examples/PrivateLinkServiceListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}": { + "get": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_GetPrivateEndpointConnection", + "description": "Get the specific private end point connection by specific private link service in the resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "name": "peConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private end point connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting private end point connection resource.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Get private end point connection": { + "$ref": "./examples/PrivateLinkServiceGetPrivateEndpointConnection.json" + } + } + }, + "put": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_UpdatePrivateEndpointConnection", + "description": "Approve or reject private end point connection for a private link service in a subscription.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "name": "peConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private end point connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "Parameters supplied to approve or reject the private end point connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting PrivateEndpointConnection resource.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "approve or reject private end point connection for a private link service": { + "$ref": "./examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json" + } + } + }, + "delete": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_DeletePrivateEndpointConnection", + "description": "Delete private end point connection for a private link service in a subscription.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "name": "peConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private end point connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "delete private end point connection for a private link service": { + "$ref": "./examples/PrivateLinkServiceDeletePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_ListPrivateEndpointConnections", + "description": "Gets all private end point connections for a specific private link service.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of private end point connection resources.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List private link service in resource group": { + "$ref": "./examples/PrivateLinkServiceListPrivateEndpointConnection.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility": { + "post": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_CheckPrivateLinkServiceVisibility", + "description": "Checks whether the subscription is visible to private link service.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the domain name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckPrivateLinkServiceVisibilityRequest" + }, + "description": "The request body of CheckPrivateLinkService API call." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns whether the subscription is visible to private link service.", + "schema": { + "$ref": "#/definitions/PrivateLinkServiceVisibility" + } + }, + "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-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Check private link service visibility": { + "$ref": "./examples/CheckPrivateLinkServiceVisibility.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility": { + "post": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_CheckPrivateLinkServiceVisibilityByResourceGroup", + "description": "Checks whether the subscription is visible to private link service in the specified resource group.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the domain name." + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckPrivateLinkServiceVisibilityRequest" + }, + "description": "The request body of CheckPrivateLinkService API call." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns whether the subscription is visible to private link service.", + "schema": { + "$ref": "#/definitions/PrivateLinkServiceVisibility" + } + }, + "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-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Check private link service visibility": { + "$ref": "./examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices": { + "get": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_ListAutoApprovedPrivateLinkServices", + "description": "Returns all of the private link service ids that can be linked to a Private Endpoint with auto approved in this subscription in this region.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the domain name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all of the private link service ids that can be linked to a Private Endpoint with auto approved in this subscription in this region.", + "schema": { + "$ref": "#/definitions/AutoApprovedPrivateLinkServicesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get list of private link service id that can be linked to a private end point with auto approved": { + "$ref": "./examples/AutoApprovedPrivateLinkServicesGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices": { + "get": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_ListAutoApprovedPrivateLinkServicesByResourceGroup", + "description": "Returns all of the private link service ids that can be linked to a Private Endpoint with auto approved in this subscription in this region.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the domain name." + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all of the private link service ids that can be linked to a Private Endpoint with auto approved in this subscription in this region.", + "schema": { + "$ref": "#/definitions/AutoApprovedPrivateLinkServicesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get list of private link service id that can be linked to a private end point with auto approved": { + "$ref": "./examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "PrivateLinkService": { + "properties": { + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of the load balancer." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkServiceProperties", + "description": "Properties of the private link service." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Private link service resource." + }, + "PrivateLinkServiceProperties": { + "properties": { + "loadBalancerFrontendIpConfigurations": { + "type": "array", + "items": { + "$ref": "./loadBalancer.json#/definitions/FrontendIPConfiguration" + }, + "description": "An array of references to the load balancer IP configurations." + }, + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkServiceIpConfiguration" + }, + "description": "An array of private link service IP configurations." + }, + "networkInterfaces": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterface" + }, + "description": "An array of references to the network interfaces created for this private link service." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the private link service resource." + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "An array of list about connections to the private endpoint." + }, + "visibility": { + "allOf": [ + { + "$ref": "#/definitions/ResourceSet" + } + ], + "description": "The visibility list of the private link service." + }, + "autoApproval": { + "allOf": [ + { + "$ref": "#/definitions/ResourceSet" + } + ], + "description": "The auto-approval list of the private link service." + }, + "fqdns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of Fqdn." + }, + "alias": { + "readOnly": true, + "type": "string", + "description": "The alias of the private link service." + }, + "enableProxyProtocol": { + "type": "boolean", + "description": "Whether the private link service is enabled for proxy protocol or not." + } + }, + "description": "Properties of the private link service." + }, + "ResourceSet": { + "properties": { + "subscriptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of subscriptions." + } + }, + "description": "The base resource set for visibility and auto-approval." + }, + "PrivateLinkServiceIpConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkServiceIpConfigurationProperties", + "description": "Properties of the private link service ip configuration." + }, + "name": { + "type": "string", + "description": "The name of private link service ip configuration." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "The private link service ip configuration." + }, + "PrivateLinkServiceIpConfigurationProperties": { + "properties": { + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method." + }, + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "The reference to the subnet resource." + }, + "primary": { + "type": "boolean", + "description": "Whether the ip configuration is primary or not." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the private link service IP configuration resource." + }, + "privateIPAddressVersion": { + "$ref": "./network.json#/definitions/IPVersion", + "description": "Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4." + } + }, + "description": "Properties of private link service IP configuration." + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Properties of the private end point connection." + }, + "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." + }, + "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." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "PrivateEndpointConnection resource." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "readOnly": true, + "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + }, + "linkIdentifier": { + "readOnly": true, + "type": "string", + "description": "The consumer link id." + } + }, + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "status": { + "type": "string", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + }, + "description": { + "type": "string", + "description": "The reason for approval/rejection of the connection." + }, + "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." + }, + "PrivateLinkServiceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkService" + }, + "description": "A list of PrivateLinkService resources in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + }, + "description": "Response for the ListPrivateLinkService API service call." + }, + "PrivateEndpointConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "A list of PrivateEndpointConnection resources for a specific private link service." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + }, + "description": "Response for the ListPrivateEndpointConnection API service call." + }, + "CheckPrivateLinkServiceVisibilityRequest": { + "properties": { + "privateLinkServiceAlias": { + "type": "string", + "description": "The alias of the private link service." + } + }, + "description": "Request body of the CheckPrivateLinkServiceVisibility API service call." + }, + "PrivateLinkServiceVisibility": { + "properties": { + "visible": { + "type": "boolean", + "description": "Private Link Service Visibility (True/False)." + } + }, + "description": "Response for the CheckPrivateLinkServiceVisibility API service call." + }, + "AutoApprovedPrivateLinkServicesResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AutoApprovedPrivateLinkService" + }, + "description": "An array of auto approved private link service." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "An array of private link service id that can be linked to a private end point with auto approved." + }, + "AutoApprovedPrivateLinkService": { + "properties": { + "privateLinkService": { + "type": "string", + "description": "The id of the private link service resource." + } + }, + "description": "The information of an AutoApprovedPrivateLinkService." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/publicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/publicIpAddress.json new file mode 100644 index 000000000000..e230f2b6f597 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/publicIpAddress.json @@ -0,0 +1,600 @@ +{ + "swagger": "2.0", + "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-05-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.Network/publicIPAddresses/{publicIpAddressName}": { + "delete": { + "tags": [ + "PublicIPAddresses" + ], + "operationId": "PublicIPAddresses_Delete", + "description": "Deletes the specified public IP address.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpAddressName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP address." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete public IP address": { + "$ref": "./examples/PublicIpAddressDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "PublicIPAddresses" + ], + "operationId": "PublicIPAddresses_Get", + "description": "Gets the specified public IP address in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpAddressName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP address." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting PublicIPAddress resource.", + "schema": { + "$ref": "#/definitions/PublicIPAddress" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get public IP address": { + "$ref": "./examples/PublicIpAddressGet.json" + } + } + }, + "put": { + "tags": [ + "PublicIPAddresses" + ], + "operationId": "PublicIPAddresses_CreateOrUpdate", + "description": "Creates or updates a static or dynamic public IP address.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpAddressName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP address." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PublicIPAddress" + }, + "description": "Parameters supplied to the create or update public IP address operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting PublicIPAddress resource.", + "schema": { + "$ref": "#/definitions/PublicIPAddress" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting PublicIPAddress resource.", + "schema": { + "$ref": "#/definitions/PublicIPAddress" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create public IP address defaults": { + "$ref": "./examples/PublicIpAddressCreateDefaults.json" + }, + "Create public IP address allocation method": { + "$ref": "./examples/PublicIpAddressCreateCustomizedValues.json" + }, + "Create public IP address DNS": { + "$ref": "./examples/PublicIpAddressCreateDns.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "PublicIPAddresses" + ], + "operationId": "PublicIPAddresses_UpdateTags", + "description": "Updates public IP address tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpAddressName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP address." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update public IP address tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting PublicIPAddress resource.", + "schema": { + "$ref": "#/definitions/PublicIPAddress" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update public IP address tags": { + "$ref": "./examples/PublicIpAddressUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses": { + "get": { + "tags": [ + "PublicIPAddresses" + ], + "operationId": "PublicIPAddresses_ListAll", + "description": "Gets all the public IP addresses in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PublicIPAddress resources.", + "schema": { + "$ref": "#/definitions/PublicIPAddressListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all public IP addresses": { + "$ref": "./examples/PublicIpAddressListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses": { + "get": { + "tags": [ + "PublicIPAddresses" + ], + "operationId": "PublicIPAddresses_List", + "description": "Gets all public IP addresses in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PublicIPAddress resources.", + "schema": { + "$ref": "#/definitions/PublicIPAddressListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List resource group public IP addresses": { + "$ref": "./examples/PublicIpAddressList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "PublicIPAddressSku": { + "properties": { + "name": { + "type": "string", + "description": "Name of a public IP address SKU.", + "enum": [ + "Basic", + "Standard" + ], + "x-ms-enum": { + "name": "PublicIPAddressSkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Tier of a public IP address SKU.", + "enum": [ + "Regional", + "Global" + ], + "x-ms-enum": { + "name": "PublicIPAddressSkuTier", + "modelAsString": true + } + } + }, + "description": "SKU of a public IP address." + }, + "PublicIPAddressPropertiesFormat": { + "properties": { + "publicIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The public IP address allocation method." + }, + "publicIPAddressVersion": { + "$ref": "./network.json#/definitions/IPVersion", + "description": "The public IP address version." + }, + "ipConfiguration": { + "readOnly": true, + "$ref": "./networkInterface.json#/definitions/IPConfiguration", + "description": "The IP configuration associated with the public IP address." + }, + "dnsSettings": { + "$ref": "#/definitions/PublicIPAddressDnsSettings", + "description": "The FQDN of the DNS record associated with the public IP address." + }, + "ddosSettings": { + "$ref": "#/definitions/DdosSettings", + "description": "The DDoS protection custom policy associated with the public IP address." + }, + "ipTags": { + "type": "array", + "items": { + "$ref": "#/definitions/IpTag" + }, + "description": "The list of tags associated with the public IP address." + }, + "ipAddress": { + "type": "string", + "description": "The IP address associated with the public IP address resource." + }, + "publicIPPrefix": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The Public IP Prefix this Public IP Address should be allocated from." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The idle timeout of the public IP address." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the public IP address resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the public IP address resource." + }, + "servicePublicIPAddress": { + "$ref": "#/definitions/PublicIPAddress", + "description": "The service public IP address of the public IP address resource." + }, + "natGateway": { + "$ref": "./natGateway.json#/definitions/NatGateway", + "description": "The NatGateway for the Public IP address." + }, + "migrationPhase": { + "type": "string", + "description": "Migration phase of Public IP Address.", + "enum": [ + "None", + "Prepare", + "Commit", + "Abort", + "Committed" + ], + "x-ms-enum": { + "name": "PublicIPAddressMigrationPhase", + "modelAsString": true + } + }, + "linkedPublicIPAddress": { + "$ref": "#/definitions/PublicIPAddress", + "description": "The linked public IP address of the public IP address resource." + }, + "deleteOption": { + "type": "string", + "description": "Specify what happens to the public IP address when the VM using it is deleted", + "enum": [ + "Delete", + "Detach" + ], + "x-ms-enum": { + "name": "DeleteOptions", + "modelAsString": true + } + } + }, + "description": "Public IP address properties." + }, + "PublicIPAddress": { + "properties": { + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of the public ip address." + }, + "sku": { + "$ref": "#/definitions/PublicIPAddressSku", + "description": "The public IP address SKU." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PublicIPAddressPropertiesFormat", + "description": "Public IP address properties." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting the IP allocated for the resource needs to come from." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Public IP address resource." + }, + "PublicIPAddressListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PublicIPAddress" + }, + "description": "A list of public IP addresses that exists in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListPublicIpAddresses API service call." + }, + "PublicIPAddressDnsSettings": { + "properties": { + "domainNameLabel": { + "type": "string", + "description": "The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system." + }, + "fqdn": { + "type": "string", + "description": "The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone." + }, + "reverseFqdn": { + "type": "string", + "description": "The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN." + } + }, + "description": "Contains FQDN of the DNS record associated with the public IP address." + }, + "DdosSettings": { + "properties": { + "ddosCustomPolicy": { + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource", + "description": "The DDoS custom policy associated with the public IP." + }, + "protectionCoverage": { + "readOnly": false, + "type": "string", + "enum": [ + "Basic", + "Standard" + ], + "x-ms-enum": { + "name": "DdosSettingsProtectionCoverage", + "modelAsString": true + }, + "description": "The DDoS protection policy customizability of the public IP. Only standard coverage will have the ability to be customized." + }, + "protectedIP": { + "readOnly": false, + "type": "boolean", + "description": "Enables DDoS protection on the public IP." + } + }, + "description": "Contains the DDoS protection settings of the public IP." + }, + "IpTag": { + "properties": { + "ipTagType": { + "type": "string", + "description": "The IP tag type. Example: FirstPartyUsage." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag associated with the public IP. Example: SQL." + } + }, + "description": "Contains the IpTag associated with the object." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/publicIpPrefix.json new file mode 100644 index 000000000000..45b02e2e2742 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/publicIpPrefix.json @@ -0,0 +1,509 @@ +{ + "swagger": "2.0", + "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-05-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.Network/publicIPPrefixes/{publicIpPrefixName}": { + "delete": { + "tags": [ + "PublicIPPrefixes" + ], + "operationId": "PublicIPPrefixes_Delete", + "description": "Deletes the specified public IP prefix.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpPrefixName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the PublicIpPrefix." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete public IP prefix": { + "$ref": "./examples/PublicIpPrefixDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "PublicIPPrefixes" + ], + "operationId": "PublicIPPrefixes_Get", + "description": "Gets the specified public IP prefix in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpPrefixName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP prefix." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting PublicIPPrefix resource.", + "schema": { + "$ref": "#/definitions/PublicIPPrefix" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get public IP prefix": { + "$ref": "./examples/PublicIpPrefixGet.json" + } + } + }, + "put": { + "tags": [ + "PublicIPPrefixes" + ], + "operationId": "PublicIPPrefixes_CreateOrUpdate", + "description": "Creates or updates a static or dynamic public IP prefix.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpPrefixName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP prefix." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PublicIPPrefix" + }, + "description": "Parameters supplied to the create or update public IP prefix operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting PublicIPPrefix resource.", + "schema": { + "$ref": "#/definitions/PublicIPPrefix" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting PublicIPPrefix resource.", + "schema": { + "$ref": "#/definitions/PublicIPPrefix" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create public IP prefix defaults": { + "$ref": "./examples/PublicIpPrefixCreateDefaults.json" + }, + "Create public IP prefix allocation method": { + "$ref": "./examples/PublicIpPrefixCreateCustomizedValues.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "PublicIPPrefixes" + ], + "operationId": "PublicIPPrefixes_UpdateTags", + "description": "Updates public IP prefix tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpPrefixName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP prefix." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update public IP prefix tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting PublicIPPrefix resource.", + "schema": { + "$ref": "#/definitions/PublicIPPrefix" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update public IP prefix tags": { + "$ref": "./examples/PublicIpPrefixUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPPrefixes": { + "get": { + "tags": [ + "PublicIPPrefixes" + ], + "operationId": "PublicIPPrefixes_ListAll", + "description": "Gets all the public IP prefixes in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PublicIPPrefix resources.", + "schema": { + "$ref": "#/definitions/PublicIPPrefixListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all public IP prefixes": { + "$ref": "./examples/PublicIpPrefixListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes": { + "get": { + "tags": [ + "PublicIPPrefixes" + ], + "operationId": "PublicIPPrefixes_List", + "description": "Gets all public IP prefixes in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PublicIPPrefix resources.", + "schema": { + "$ref": "#/definitions/PublicIPPrefixListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List resource group public IP prefixes": { + "$ref": "./examples/PublicIpPrefixList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "PublicIPPrefixSku": { + "properties": { + "name": { + "type": "string", + "description": "Name of a public IP prefix SKU.", + "enum": [ + "Standard" + ], + "x-ms-enum": { + "name": "PublicIPPrefixSkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Tier of a public IP prefix SKU.", + "enum": [ + "Regional", + "Global" + ], + "x-ms-enum": { + "name": "PublicIPPrefixSkuTier", + "modelAsString": true + } + } + }, + "description": "SKU of a public IP prefix." + }, + "PublicIPPrefixPropertiesFormat": { + "properties": { + "publicIPAddressVersion": { + "$ref": "./network.json#/definitions/IPVersion", + "description": "The public IP address version." + }, + "ipTags": { + "type": "array", + "items": { + "$ref": "./publicIpAddress.json#/definitions/IpTag" + }, + "description": "The list of tags associated with the public IP prefix." + }, + "prefixLength": { + "type": "integer", + "format": "int32", + "description": "The Length of the Public IP Prefix." + }, + "ipPrefix": { + "readOnly": true, + "type": "string", + "description": "The allocated Prefix." + }, + "publicIPAddresses": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ReferencedPublicIpAddress" + }, + "description": "The list of all referenced PublicIPAddresses." + }, + "loadBalancerFrontendIpConfiguration": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to load balancer frontend IP configuration associated with the public IP prefix." + }, + "customIPPrefix": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The customIpPrefix that this prefix is associated with." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the public IP prefix resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the public IP prefix resource." + }, + "natGateway": { + "$ref": "./natGateway.json#/definitions/NatGateway", + "description": "NatGateway of Public IP Prefix." + } + }, + "description": "Public IP prefix properties." + }, + "PublicIPPrefix": { + "properties": { + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of the public ip address." + }, + "sku": { + "$ref": "#/definitions/PublicIPPrefixSku", + "description": "The public IP prefix SKU." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PublicIPPrefixPropertiesFormat", + "description": "Public IP prefix properties." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting the IP allocated for the resource needs to come from." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Public IP prefix resource." + }, + "PublicIPPrefixListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PublicIPPrefix" + }, + "description": "A list of public IP prefixes that exists in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListPublicIpPrefixes API service call." + }, + "ReferencedPublicIpAddress": { + "properties": { + "id": { + "type": "string", + "description": "The PublicIPAddress Reference." + } + }, + "description": "Reference to a public IP address." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/routeFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/routeFilter.json new file mode 100644 index 000000000000..b722403fff9d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/routeFilter.json @@ -0,0 +1,822 @@ +{ + "swagger": "2.0", + "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-05-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.Network/routeFilters/{routeFilterName}": { + "delete": { + "tags": [ + "RouteFilters" + ], + "operationId": "RouteFilters_Delete", + "x-ms-examples": { + "RouteFilterDelete": { + "$ref": "./examples/RouteFilterDelete.json" + } + }, + "description": "Deletes the specified route filter.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeFilterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route filter." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Delete successful." + }, + "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" + } + }, + "get": { + "tags": [ + "RouteFilters" + ], + "operationId": "RouteFilters_Get", + "x-ms-examples": { + "RouteFilterGet": { + "$ref": "./examples/RouteFilterGet.json" + } + }, + "description": "Gets the specified route filter.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeFilterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route filter." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced express route bgp peering resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Route Filter resource.", + "schema": { + "$ref": "#/definitions/RouteFilter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "RouteFilters" + ], + "operationId": "RouteFilters_CreateOrUpdate", + "x-ms-examples": { + "RouteFilterCreate": { + "$ref": "./examples/RouteFilterCreate.json" + } + }, + "description": "Creates or updates a route filter in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeFilterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route filter." + }, + { + "name": "routeFilterParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RouteFilter" + }, + "description": "Parameters supplied to the create or update route filter operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Route Filter resource.", + "schema": { + "$ref": "#/definitions/RouteFilter" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting Route Filter resource.", + "schema": { + "$ref": "#/definitions/RouteFilter" + } + }, + "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" + } + }, + "patch": { + "tags": [ + "RouteFilters" + ], + "operationId": "RouteFilters_UpdateTags", + "description": "Updates tags of a route filter.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeFilterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route filter." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update route filter tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Route Filter resource.", + "schema": { + "$ref": "#/definitions/RouteFilter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update route filter tags": { + "$ref": "./examples/RouteFilterUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters": { + "get": { + "tags": [ + "RouteFilters" + ], + "operationId": "RouteFilters_ListByResourceGroup", + "x-ms-examples": { + "RouteFilterListByResourceGroup": { + "$ref": "./examples/RouteFilterListByResourceGroup.json" + } + }, + "description": "Gets all route filters in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Route Filter resources.", + "schema": { + "$ref": "#/definitions/RouteFilterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters": { + "get": { + "tags": [ + "RouteFilters" + ], + "operationId": "RouteFilters_List", + "x-ms-examples": { + "RouteFilterList": { + "$ref": "./examples/RouteFilterList.json" + } + }, + "description": "Gets all route filters in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Route Filter resources.", + "schema": { + "$ref": "#/definitions/RouteFilterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}": { + "delete": { + "tags": [ + "RouteFilterRules" + ], + "operationId": "RouteFilterRules_Delete", + "x-ms-examples": { + "RouteFilterRuleDelete": { + "$ref": "./examples/RouteFilterRuleDelete.json" + } + }, + "description": "Deletes the specified rule from a route filter.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeFilterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route filter." + }, + { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Accepted." + }, + "204": { + "description": "Rule was deleted or not found." + }, + "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" + } + }, + "get": { + "tags": [ + "RouteFilterRules" + ], + "operationId": "RouteFilterRules_Get", + "x-ms-examples": { + "RouteFilterRuleGet": { + "$ref": "./examples/RouteFilterRuleGet.json" + } + }, + "description": "Gets the specified rule from a route filter.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeFilterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route filter." + }, + { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Route Filter Rule resource.", + "schema": { + "$ref": "#/definitions/RouteFilterRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "RouteFilterRules" + ], + "operationId": "RouteFilterRules_CreateOrUpdate", + "x-ms-examples": { + "RouteFilterRuleCreate": { + "$ref": "./examples/RouteFilterRuleCreate.json" + } + }, + "description": "Creates or updates a route in the specified route filter.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeFilterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route filter." + }, + { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route filter rule." + }, + { + "name": "routeFilterRuleParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RouteFilterRule" + }, + "description": "Parameters supplied to the create or update route filter rule operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting Route Filter Rule resource.", + "schema": { + "$ref": "#/definitions/RouteFilterRule" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting Route Filter Rule resource.", + "schema": { + "$ref": "#/definitions/RouteFilterRule" + } + }, + "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" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules": { + "get": { + "tags": [ + "RouteFilterRules" + ], + "operationId": "RouteFilterRules_ListByRouteFilter", + "x-ms-examples": { + "RouteFilterRuleListByRouteFilter": { + "$ref": "./examples/RouteFilterRuleListByRouteFilter.json" + } + }, + "description": "Gets all RouteFilterRules in a route filter.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeFilterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route filter." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Route Filter Rule resources.", + "schema": { + "$ref": "#/definitions/RouteFilterRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "RouteFilterRulePropertiesFormat": { + "required": [ + "access", + "routeFilterRuleType", + "communities" + ], + "properties": { + "access": { + "$ref": "./network.json#/definitions/Access", + "description": "The access type of the rule." + }, + "routeFilterRuleType": { + "type": "string", + "description": "The rule type of the rule.", + "enum": [ + "Community" + ], + "x-ms-enum": { + "name": "RouteFilterRuleType", + "modelAsString": true + } + }, + "communities": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the route filter rule resource." + } + }, + "description": "Route Filter Rule Resource." + }, + "RouteFilterRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RouteFilterRulePropertiesFormat", + "description": "Properties of the route filter rule." + }, + "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." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Route Filter Rule Resource." + }, + "PatchRouteFilterRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RouteFilterRulePropertiesFormat", + "description": "Properties of the route filter rule." + }, + "name": { + "type": "string", + "readOnly": true, + "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." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Route Filter Rule Resource." + }, + "RouteFilterPropertiesFormat": { + "properties": { + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/RouteFilterRule" + }, + "description": "Collection of RouteFilterRules contained within a route filter." + }, + "peerings": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitPeering" + }, + "description": "A collection of references to express route circuit peerings." + }, + "ipv6Peerings": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitPeering" + }, + "description": "A collection of references to express route circuit ipv6 peerings." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the route filter resource." + } + }, + "description": "Route Filter Resource." + }, + "RouteFilter": { + "required": [ + "location" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RouteFilterPropertiesFormat", + "description": "Properties of the route filter." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Route Filter Resource." + }, + "PatchRouteFilter": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RouteFilterPropertiesFormat", + "description": "Properties of the route filter." + }, + "name": { + "type": "string", + "readOnly": true, + "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." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Route Filter Resource." + }, + "RouteFilterListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RouteFilter" + }, + "description": "A list of route filters in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListRouteFilters API service call." + }, + "RouteFilterRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RouteFilterRule" + }, + "description": "A list of RouteFilterRules in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListRouteFilterRules API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/routeTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/routeTable.json new file mode 100644 index 000000000000..d92c8624132c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/routeTable.json @@ -0,0 +1,768 @@ +{ + "swagger": "2.0", + "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-05-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.Network/routeTables/{routeTableName}": { + "delete": { + "tags": [ + "RouteTables" + ], + "operationId": "RouteTables_Delete", + "description": "Deletes the specified route table.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "200": { + "description": "Request successful. Operation to delete was accepted." + }, + "202": { + "description": "Accepted. If route table not found returned synchronously, otherwise if found returned asynchronously." + }, + "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" + }, + "x-ms-examples": { + "Delete route table": { + "$ref": "./examples/RouteTableDelete.json" + } + } + }, + "get": { + "tags": [ + "RouteTables" + ], + "operationId": "RouteTables_Get", + "description": "Gets the specified route table.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting RouteTable resource.", + "schema": { + "$ref": "#/definitions/RouteTable" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get route table": { + "$ref": "./examples/RouteTableGet.json" + } + } + }, + "put": { + "tags": [ + "RouteTables" + ], + "operationId": "RouteTables_CreateOrUpdate", + "description": "Create or updates a route table in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RouteTable" + }, + "description": "Parameters supplied to the create or update route table operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting RouteTable resource.", + "schema": { + "$ref": "#/definitions/RouteTable" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting RouteTable resource.", + "schema": { + "$ref": "#/definitions/RouteTable" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create route table": { + "$ref": "./examples/RouteTableCreate.json" + }, + "Create route table with route": { + "$ref": "./examples/RouteTableCreateWithRoute.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "RouteTables" + ], + "operationId": "RouteTables_UpdateTags", + "description": "Updates a route table tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update route table tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting RouteTable resource.", + "schema": { + "$ref": "#/definitions/RouteTable" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update route table tags": { + "$ref": "./examples/RouteTableUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables": { + "get": { + "tags": [ + "RouteTables" + ], + "operationId": "RouteTables_List", + "description": "Gets all route tables in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of RouteTable resources.", + "schema": { + "$ref": "#/definitions/RouteTableListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List route tables in resource group": { + "$ref": "./examples/RouteTableList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables": { + "get": { + "tags": [ + "RouteTables" + ], + "operationId": "RouteTables_ListAll", + "description": "Gets all route tables in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of RouteTable resources.", + "schema": { + "$ref": "#/definitions/RouteTableListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all route tables": { + "$ref": "./examples/RouteTableListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}": { + "delete": { + "tags": [ + "Routes" + ], + "operationId": "Routes_Delete", + "description": "Deletes the specified route from a route table.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "name": "routeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Accepted." + }, + "204": { + "description": "Route was deleted or not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete route": { + "$ref": "./examples/RouteTableRouteDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Routes" + ], + "operationId": "Routes_Get", + "description": "Gets the specified route from a route table.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "name": "routeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Route resource.", + "schema": { + "$ref": "#/definitions/Route" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get route": { + "$ref": "./examples/RouteTableRouteGet.json" + } + } + }, + "put": { + "tags": [ + "Routes" + ], + "operationId": "Routes_CreateOrUpdate", + "description": "Creates or updates a route in the specified route table.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "name": "routeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route." + }, + { + "name": "routeParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Route" + }, + "description": "Parameters supplied to the create or update route operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting Route resource.", + "schema": { + "$ref": "#/definitions/Route" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting Route resource.", + "schema": { + "$ref": "#/definitions/Route" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create route": { + "$ref": "./examples/RouteTableRouteCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes": { + "get": { + "tags": [ + "Routes" + ], + "operationId": "Routes_List", + "description": "Gets all routes in a route table.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Route resources.", + "schema": { + "$ref": "#/definitions/RouteListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List routes": { + "$ref": "./examples/RouteTableRouteList.json" + } + } + } + } + }, + "definitions": { + "RoutePropertiesFormat": { + "properties": { + "addressPrefix": { + "type": "string", + "description": "The destination CIDR to which the route applies." + }, + "nextHopType": { + "$ref": "#/definitions/RouteNextHopType", + "description": "The type of Azure hop the packet should be sent to." + }, + "nextHopIpAddress": { + "type": "string", + "description": "The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the route resource." + }, + "hasBgpOverride": { + "type": "boolean", + "description": "A value indicating whether this route overrides overlapping BGP routes regardless of LPM." + } + }, + "required": [ + "nextHopType" + ], + "description": "Route resource." + }, + "Route": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RoutePropertiesFormat", + "description": "Properties of the route." + }, + "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": { + "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": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Route resource." + }, + "RouteTablePropertiesFormat": { + "properties": { + "routes": { + "type": "array", + "items": { + "$ref": "#/definitions/Route" + }, + "description": "Collection of routes contained within a route table." + }, + "subnets": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./virtualNetwork.json#/definitions/Subnet" + }, + "description": "A collection of references to subnets." + }, + "disableBgpRoutePropagation": { + "type": "boolean", + "description": "Whether to disable the routes learned by BGP on that route table. True means disable." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the route table resource." + }, + "resourceGuid": { + "type": "string", + "readOnly": true, + "description": "The resource GUID property of the route table." + } + }, + "description": "Route Table resource." + }, + "RouteTable": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RouteTablePropertiesFormat", + "description": "Properties of the route table." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Route table resource." + }, + "RouteTableListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RouteTable" + }, + "description": "A list of route tables in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListRouteTable API service call." + }, + "RouteListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Route" + }, + "description": "A list of routes in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListRoute API service call." + }, + "RouteNextHopType": { + "type": "string", + "description": "The type of Azure hop the packet should be sent to.", + "enum": [ + "VirtualNetworkGateway", + "VnetLocal", + "Internet", + "VirtualAppliance", + "None" + ], + "x-ms-enum": { + "name": "RouteNextHopType", + "modelAsString": true + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/securityPartnerProvider.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/securityPartnerProvider.json new file mode 100644 index 000000000000..987da965c33f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/securityPartnerProvider.json @@ -0,0 +1,441 @@ +{ + "swagger": "2.0", + "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-05-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.Network/securityPartnerProviders/{securityPartnerProviderName}": { + "delete": { + "tags": [ + "SecurityPartnerProviders" + ], + "operationId": "SecurityPartnerProviders_Delete", + "description": "Deletes the specified Security Partner Provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "securityPartnerProviderName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Security Partner Provider." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Security Partner Provider": { + "$ref": "./examples/SecurityPartnerProviderDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "SecurityPartnerProviders" + ], + "operationId": "SecurityPartnerProviders_Get", + "description": "Gets the specified Security Partner Provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "securityPartnerProviderName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Security Partner Provider." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a SecurityPartnerProvider resource.", + "schema": { + "$ref": "#/definitions/SecurityPartnerProvider" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Security Partner Provider": { + "$ref": "./examples/SecurityPartnerProviderGet.json" + } + } + }, + "put": { + "tags": [ + "SecurityPartnerProviders" + ], + "operationId": "SecurityPartnerProviders_CreateOrUpdate", + "description": "Creates or updates the specified Security Partner Provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "securityPartnerProviderName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Security Partner Provider." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityPartnerProvider" + }, + "description": "Parameters supplied to the create or update Security Partner Provider operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting SecurityPartnerProvider resource.", + "schema": { + "$ref": "#/definitions/SecurityPartnerProvider" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting SecurityPartnerProvider resource.", + "schema": { + "$ref": "#/definitions/SecurityPartnerProvider" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Security Partner Provider": { + "$ref": "./examples/SecurityPartnerProviderPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "SecurityPartnerProviders" + ], + "operationId": "SecurityPartnerProviders_UpdateTags", + "description": "Updates tags of a Security Partner Provider resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "securityPartnerProviderName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Security Partner Provider." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update Security Partner Provider tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting SecurityPartnerProvider resource.", + "schema": { + "$ref": "#/definitions/SecurityPartnerProvider" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Security Partner Provider Tags": { + "$ref": "./examples/SecurityPartnerProviderUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/securityPartnerProviders": { + "get": { + "tags": [ + "SecurityPartnerProviders" + ], + "operationId": "SecurityPartnerProviders_ListByResourceGroup", + "description": "Lists all Security Partner Providers in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of SecurityPartnerProvider resources.", + "schema": { + "$ref": "#/definitions/SecurityPartnerProviderListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Security Partner Providers for a given resource group": { + "$ref": "./examples/SecurityPartnerProviderListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/securityPartnerProviders": { + "get": { + "tags": [ + "SecurityPartnerProviders" + ], + "operationId": "SecurityPartnerProviders_List", + "description": "Gets all the Security Partner Providers in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of SecurityPartnerProvider resources.", + "schema": { + "$ref": "#/definitions/SecurityPartnerProviderListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Security Partner Providers for a given subscription": { + "$ref": "./examples/SecurityPartnerProviderListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "SecurityPartnerProviderPropertiesFormat": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the Security Partner Provider resource." + }, + "securityProviderName": { + "description": "The security provider name.", + "$ref": "#/definitions/SecurityPartnerProvidersecurityProviderName" + }, + "connectionStatus": { + "readOnly": true, + "description": "The connection status with the Security Partner Provider.", + "$ref": "#/definitions/SecurityPartnerProviderConnectionStatus" + }, + "virtualHub": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The virtualHub to which the Security Partner Provider belongs." + } + }, + "description": "Properties of the Security Partner Provider." + }, + "SecurityPartnerProvider": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecurityPartnerProviderPropertiesFormat", + "description": "Properties of the Security Partner Provider." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Security Partner Provider resource." + }, + "SecurityPartnerProviderListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SecurityPartnerProvider" + }, + "description": "List of Security Partner Providers in a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListSecurityPartnerProviders API service call." + }, + "SecurityPartnerProvidersecurityProviderName": { + "type": "string", + "description": "The Security Providers.", + "enum": [ + "ZScaler", + "IBoss", + "Checkpoint" + ], + "x-ms-enum": { + "name": "SecurityProviderName", + "modelAsString": true + } + }, + "SecurityPartnerProviderConnectionStatus": { + "type": "string", + "description": "The current state of the connection with Security Partner Provider.", + "readOnly": true, + "enum": [ + "Unknown", + "PartiallyConnected", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "SecurityPartnerProviderConnectionStatus", + "modelAsString": true + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/serviceCommunity.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/serviceCommunity.json new file mode 100644 index 000000000000..10e490da20ab --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/serviceCommunity.json @@ -0,0 +1,158 @@ +{ + "swagger": "2.0", + "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-05-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}/providers/Microsoft.Network/bgpServiceCommunities": { + "get": { + "tags": [ + "BgpServiceCommunities" + ], + "operationId": "BgpServiceCommunities_List", + "x-ms-examples": { + "ServiceCommunityList": { + "$ref": "./examples/ServiceCommunityList.json" + } + }, + "description": "Gets all the available bgp service communities.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of BgpServiceCommunity resources.", + "schema": { + "$ref": "#/definitions/BgpServiceCommunityListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "BGPCommunity": { + "properties": { + "serviceSupportedRegion": { + "type": "string", + "description": "The region which the service support. e.g. For O365, region is Global." + }, + "communityName": { + "type": "string", + "description": "The name of the bgp community. e.g. Skype." + }, + "communityValue": { + "type": "string", + "description": "The value of the bgp community. For more information: https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing." + }, + "communityPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The prefixes that the bgp community contains." + }, + "isAuthorizedToUse": { + "type": "boolean", + "description": "Customer is authorized to use bgp community or not." + }, + "serviceGroup": { + "type": "string", + "description": "The service group of the bgp community contains." + } + }, + "description": "Contains bgp community information offered in Service Community resources." + }, + "BgpServiceCommunityPropertiesFormat": { + "properties": { + "serviceName": { + "type": "string", + "description": "The name of the bgp community. e.g. Skype." + }, + "bgpCommunities": { + "type": "array", + "items": { + "$ref": "#/definitions/BGPCommunity" + }, + "description": "A list of bgp communities." + } + }, + "description": "Properties of Service Community." + }, + "BgpServiceCommunity": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BgpServiceCommunityPropertiesFormat", + "description": "Properties of the BGP service community." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Service Community Properties." + }, + "BgpServiceCommunityListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BgpServiceCommunity" + }, + "description": "A list of service community resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListServiceCommunity API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/serviceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/serviceEndpointPolicy.json new file mode 100644 index 000000000000..39c2770ca27c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/serviceEndpointPolicy.json @@ -0,0 +1,762 @@ +{ + "swagger": "2.0", + "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-05-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.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}": { + "delete": { + "tags": [ + "ServiceEndpointPolicies" + ], + "operationId": "ServiceEndpointPolicies_Delete", + "description": "Deletes the specified service endpoint policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceEndpointPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete service endpoint policy": { + "$ref": "./examples/ServiceEndpointPolicyDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "ServiceEndpointPolicies" + ], + "operationId": "ServiceEndpointPolicies_Get", + "description": "Gets the specified service Endpoint Policies in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceEndpointPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ServiceEndpointPolicy resource.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get service endPoint Policy": { + "$ref": "./examples/ServiceEndpointPolicyGet.json" + } + } + }, + "put": { + "tags": [ + "ServiceEndpointPolicies" + ], + "operationId": "ServiceEndpointPolicies_CreateOrUpdate", + "description": "Creates or updates a service Endpoint Policies.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceEndpointPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicy" + }, + "description": "Parameters supplied to the create or update service endpoint policy operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting ServiceEndpointPolicy resource.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicy" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting ServiceEndpointPolicy resource.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create service endpoint policy": { + "$ref": "./examples/ServiceEndpointPolicyCreate.json" + }, + "Create service endpoint policy with definition": { + "$ref": "./examples/ServiceEndpointPolicyCreateWithDefinition.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "ServiceEndpointPolicies" + ], + "operationId": "ServiceEndpointPolicies_UpdateTags", + "description": "Updates tags of a service endpoint policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceEndpointPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update service endpoint policy tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ServiceEndpointPolicy resource.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update service endpoint policy tags": { + "$ref": "./examples/ServiceEndpointPolicyUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ServiceEndpointPolicies": { + "get": { + "tags": [ + "ServiceEndpointPolicies" + ], + "operationId": "ServiceEndpointPolicies_List", + "description": "Gets all the service endpoint policies in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ServiceEndpointPolicy resources.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all service endpoint policy": { + "$ref": "./examples/ServiceEndpointPolicyListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies": { + "get": { + "tags": [ + "ServiceEndpointPolicies" + ], + "operationId": "ServiceEndpointPolicies_ListByResourceGroup", + "description": "Gets all service endpoint Policies in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ServiceEndpointPolicy resources.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List resource group service endpoint policies": { + "$ref": "./examples/ServiceEndpointPolicyList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}": { + "delete": { + "tags": [ + "ServiceEndpointPolicyDefinitions" + ], + "operationId": "ServiceEndpointPolicyDefinitions_Delete", + "description": "Deletes the specified ServiceEndpoint policy definitions.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceEndpointPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Service Endpoint Policy." + }, + { + "name": "serviceEndpointPolicyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy definition." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete service endpoint policy definitions from service endpoint policy": { + "$ref": "./examples/ServiceEndpointPolicyDefinitionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "serviceEndpointPolicyDefinitions" + ], + "operationId": "ServiceEndpointPolicyDefinitions_Get", + "description": "Get the specified service endpoint policy definitions from service endpoint policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceEndpointPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy name." + }, + { + "name": "serviceEndpointPolicyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy definition name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ServiceEndpointPolicyDefinition resource.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicyDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get service endpoint definition in service endpoint policy": { + "$ref": "./examples/ServiceEndpointPolicyDefinitionGet.json" + } + } + }, + "put": { + "tags": [ + "serviceEndpointPolicyDefinitions" + ], + "operationId": "ServiceEndpointPolicyDefinitions_CreateOrUpdate", + "description": "Creates or updates a service endpoint policy definition in the specified service endpoint policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceEndpointPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy." + }, + { + "name": "serviceEndpointPolicyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy definition name." + }, + { + "name": "ServiceEndpointPolicyDefinitions", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicyDefinition" + }, + "description": "Parameters supplied to the create or update service endpoint policy operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ServiceEndpointPolicyDefinition resource.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicyDefinition" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ServiceEndpointPolicyDefinition resource.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicyDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create service endpoint policy definition": { + "$ref": "./examples/ServiceEndpointPolicyDefinitionCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions": { + "get": { + "tags": [ + "ServiceEndpointPolicyDefinitions" + ], + "operationId": "ServiceEndpointPolicyDefinitions_ListByResourceGroup", + "description": "Gets all service endpoint policy definitions in a service end point policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceEndpointPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ServiceEndpointPolicyDefinition resources.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicyDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List service endpoint definitions in service end point policy": { + "$ref": "./examples/ServiceEndpointPolicyDefinitionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ServiceEndpointPolicyDefinitionPropertiesFormat": { + "properties": { + "description": { + "type": "string", + "description": "A description for this rule. Restricted to 140 chars." + }, + "service": { + "type": "string", + "description": "Service endpoint name." + }, + "serviceResources": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of service resources." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the service endpoint policy definition resource." + } + }, + "description": "Service Endpoint policy definition resource." + }, + "ServiceEndpointPolicyDefinition": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServiceEndpointPolicyDefinitionPropertiesFormat", + "description": "Properties of the service endpoint policy definition." + }, + "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": { + "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": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Service Endpoint policy definitions." + }, + "ServiceEndpointPolicyDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpointPolicyDefinition" + }, + "description": "The service endpoint policy definition in a service endpoint policy." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListServiceEndpointPolicyDefinition API service call. Retrieves all service endpoint policy definition that belongs to a service endpoint policy." + }, + "ServiceEndpointPolicyPropertiesFormat": { + "properties": { + "serviceEndpointPolicyDefinitions": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpointPolicyDefinition" + }, + "description": "A collection of service endpoint policy definitions of the service endpoint policy." + }, + "subnets": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./virtualNetwork.json#/definitions/Subnet" + }, + "description": "A collection of references to subnets." + }, + "resourceGuid": { + "type": "string", + "readOnly": true, + "description": "The resource GUID property of the service endpoint policy resource." + }, + "provisioningState": { + "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." + }, + "ServiceEndpointPolicy": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServiceEndpointPolicyPropertiesFormat", + "description": "Properties of the service end point policy." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "kind": { + "readOnly": true, + "type": "string", + "description": "Kind of service endpoint policy. This is metadata used for the Azure portal experience." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Service End point policy resource." + }, + "ServiceEndpointPolicyListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpointPolicy" + }, + "description": "A list of ServiceEndpointPolicy resources." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListServiceEndpointPolicies API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/serviceTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/serviceTags.json new file mode 100644 index 000000000000..614c9cbd7d63 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/serviceTags.json @@ -0,0 +1,262 @@ +{ + "swagger": "2.0", + "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-05-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}/providers/Microsoft.Network/locations/{location}/serviceTags": { + "get": { + "operationId": "ServiceTags_List", + "description": "Gets a list of service tag information resources.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location that will be used as a reference for version (not as a filter based on location, you will get the list of service tags with prefix details across all regions but limited to the cloud that your subscription belongs to)." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns a list of service tag information resources.", + "schema": { + "$ref": "#/definitions/ServiceTagsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get list of service tags": { + "$ref": "./examples/ServiceTagsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/serviceTagDetails": { + "get": { + "operationId": "ServiceTagInformation_List", + "description": "Gets a list of service tag information resources with pagination.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location that will be used as a reference for cloud (not as a filter based on location, you will get the list of service tags with prefix details across all regions but limited to the cloud that your subscription belongs to)." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "noAddressPrefixes", + "in": "query", + "required": false, + "type": "boolean", + "description": "Do not return address prefixes for the tag(s)." + }, + { + "name": "tagName", + "in": "query", + "required": false, + "type": "string", + "description": "Return tag information for a particular tag." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns a list of service tag information resources.", + "schema": { + "$ref": "#/definitions/ServiceTagInformationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get list of service tags": { + "$ref": "./examples/ServiceTagInformationListResult.json" + }, + "Get list of service tags with no address prefixes": { + "$ref": "./examples/ServiceTagInformationListResultWithNoAddressPrefixes.json" + }, + "Get list of service tags with tag name.": { + "$ref": "./examples/ServiceTagInformationListResultWithTagname.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ServiceTagsListResult": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the cloud." + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The ID of the cloud." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The azure resource type." + }, + "changeNumber": { + "type": "string", + "readOnly": true, + "description": "The iteration number." + }, + "cloud": { + "type": "string", + "readOnly": true, + "description": "The name of the cloud." + }, + "values": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceTagInformation" + }, + "readOnly": true, + "description": "The list of service tag information resources." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get next page of service tag information resources." + } + }, + "description": "Response for the ListServiceTags API service call." + }, + "ServiceTagInformationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceTagInformation" + }, + "description": "The list of service tag information resources." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for Get ServiceTagInformation API service call. Retrieves the list of service tag information resources." + }, + "ServiceTagInformation": { + "properties": { + "properties": { + "$ref": "#/definitions/ServiceTagInformationPropertiesFormat", + "readOnly": true, + "description": "Properties of the service tag information." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of service tag." + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The ID of service tag." + }, + "serviceTagChangeNumber": { + "type": "string", + "readOnly": true, + "description": "The iteration number of service tag object for region." + } + }, + "description": "The service tag information." + }, + "ServiceTagInformationPropertiesFormat": { + "properties": { + "changeNumber": { + "type": "string", + "readOnly": true, + "description": "The iteration number of service tag." + }, + "region": { + "type": "string", + "readOnly": true, + "description": "The region of service tag." + }, + "systemService": { + "type": "string", + "readOnly": true, + "description": "The name of system service." + }, + "addressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "The list of IP address prefixes." + }, + "state": { + "type": "string", + "readOnly": true, + "description": "The state of the service tag." + } + }, + "description": "Properties of the service tag information." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/usage.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/usage.json new file mode 100644 index 000000000000..6c3b304a97c3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/usage.json @@ -0,0 +1,160 @@ +{ + "swagger": "2.0", + "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-05-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}/providers/Microsoft.Network/locations/{location}/usages": { + "get": { + "tags": [ + "Usages" + ], + "operationId": "Usages_List", + "description": "List network usages for a subscription.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location where resource usage is queried.", + "pattern": "^[-\\w\\._ ]+$" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Usage resources.", + "schema": { + "$ref": "#/definitions/UsagesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List usages": { + "$ref": "./examples/UsageList.json" + }, + "List usages spaced location": { + "$ref": "./examples/UsageListSpacedLocation.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "UsageName": { + "properties": { + "value": { + "type": "string", + "description": "A string describing the resource name." + }, + "localizedValue": { + "type": "string", + "description": "A localized string describing the resource name." + } + }, + "description": "The usage names." + }, + "Usage": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Resource identifier." + }, + "unit": { + "type": "string", + "description": "An enum describing the unit of measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": true + } + }, + "currentValue": { + "type": "integer", + "format": "int64", + "description": "The current value of the usage." + }, + "limit": { + "type": "integer", + "format": "int64", + "description": "The limit of usage." + }, + "name": { + "$ref": "#/definitions/UsageName", + "description": "The name of the type of usage." + } + }, + "required": [ + "unit", + "currentValue", + "limit", + "name" + ], + "description": "The network resource usage." + }, + "UsagesListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "The list network resource usages." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "The list usages operation response." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/virtualNetwork.json new file mode 100644 index 000000000000..fad7d17be5b6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/virtualNetwork.json @@ -0,0 +1,2112 @@ +{ + "swagger": "2.0", + "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-05-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.Network/virtualNetworks/{virtualNetworkName}": { + "delete": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_Delete", + "description": "Deletes the specified virtual network.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + }, + "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" + }, + "x-ms-examples": { + "Delete virtual network": { + "$ref": "./examples/VirtualNetworkDelete.json" + } + } + }, + "get": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_Get", + "description": "Gets the specified virtual network by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting VirtualNetwork resource.", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get virtual network": { + "$ref": "./examples/VirtualNetworkGet.json" + }, + "Get virtual network with a delegated subnet": { + "$ref": "./examples/VirtualNetworkGetWithSubnetDelegation.json" + }, + "Get virtual network with service association links": { + "$ref": "./examples/VirtualNetworkGetWithServiceAssociationLink.json" + } + } + }, + "put": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_CreateOrUpdate", + "description": "Creates or updates a virtual network in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetwork" + }, + "description": "Parameters supplied to the create or update virtual network operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetwork resource.", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetwork resource.", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "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" + }, + "x-ms-examples": { + "Create virtual network": { + "$ref": "./examples/VirtualNetworkCreate.json" + }, + "Create virtual network with subnet": { + "$ref": "./examples/VirtualNetworkCreateSubnet.json" + }, + "Create virtual network with subnet containing address prefixes": { + "$ref": "./examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json" + }, + "Create virtual network with Bgp Communities": { + "$ref": "./examples/VirtualNetworkCreateWithBgpCommunities.json" + }, + "Create virtual network with service endpoints": { + "$ref": "./examples/VirtualNetworkCreateServiceEndpoints.json" + }, + "Create virtual network with service endpoints and service endpoint policy": { + "$ref": "./examples/VirtualNetworkCreateServiceEndpointPolicy.json" + }, + "Create virtual network with delegated subnets": { + "$ref": "./examples/VirtualNetworkCreateSubnetWithDelegation.json" + }, + "Create virtual network with encryption": { + "$ref": "./examples/VirtualNetworkCreateWithEncryption.json" + } + } + }, + "patch": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_UpdateTags", + "description": "Updates a virtual network tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update virtual network tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetwork resource.", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update virtual network tags": { + "$ref": "./examples/VirtualNetworkUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks": { + "get": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_ListAll", + "description": "Gets all virtual networks in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetwork resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all virtual networks": { + "$ref": "./examples/VirtualNetworkListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks": { + "get": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_List", + "description": "Gets all virtual networks in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetwork resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List virtual networks in resource group": { + "$ref": "./examples/VirtualNetworkList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}": { + "delete": { + "tags": [ + "Subnets" + ], + "operationId": "Subnets_Delete", + "description": "Deletes the specified subnet.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "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": { + "Delete subnet": { + "$ref": "./examples/SubnetDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Subnets" + ], + "operationId": "Subnets_Get", + "description": "Gets the specified subnet by virtual network and resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Subnet resource.", + "schema": { + "$ref": "#/definitions/Subnet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get subnet": { + "$ref": "./examples/SubnetGet.json" + }, + "Get subnet with a delegation": { + "$ref": "./examples/SubnetGetWithDelegation.json" + } + } + }, + "put": { + "tags": [ + "Subnets" + ], + "operationId": "Subnets_CreateOrUpdate", + "description": "Creates or updates a subnet in the specified virtual network.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "name": "subnetParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Subnet" + }, + "description": "Parameters supplied to the create or update subnet operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting Subnet resource.", + "schema": { + "$ref": "#/definitions/Subnet" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting Subnet resource.", + "schema": { + "$ref": "#/definitions/Subnet" + } + }, + "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" + }, + "x-ms-examples": { + "Create subnet": { + "$ref": "./examples/SubnetCreate.json" + }, + "Create subnet with service endpoints": { + "$ref": "./examples/SubnetCreateServiceEndpoint.json" + }, + "Create subnet with a delegation": { + "$ref": "./examples/SubnetCreateWithDelegation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/PrepareNetworkPolicies": { + "post": { + "operationId": "Subnets_PrepareNetworkPolicies", + "description": "Prepares a subnet by applying network intent policies.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "name": "prepareNetworkPoliciesRequestParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrepareNetworkPoliciesRequest" + }, + "description": "Parameters supplied to prepare subnet by applying network intent policies." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Preparing subnet by applying network intent policies is successful." + }, + "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-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Prepare Network Policies": { + "$ref": "./examples/SubnetPrepareNetworkPolicies.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/UnprepareNetworkPolicies": { + "post": { + "operationId": "Subnets_UnprepareNetworkPolicies", + "description": "Unprepares a subnet by removing network intent policies.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "name": "unprepareNetworkPoliciesRequestParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UnprepareNetworkPoliciesRequest" + }, + "description": "Parameters supplied to unprepare subnet to remove network intent policies." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Unpreparing subnet by removing network intent policies is successful." + }, + "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-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Unprepare Network Policies": { + "$ref": "./examples/SubnetUnprepareNetworkPolicies.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ResourceNavigationLinks": { + "get": { + "operationId": "ResourceNavigationLinks_List", + "description": "Gets a list of resource navigation links for a subnet.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of resource navigation links for the subnet.", + "schema": { + "$ref": "#/definitions/ResourceNavigationLinksListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Resource Navigation Links": { + "$ref": "./examples/VirtualNetworkGetResourceNavigationLinks.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ServiceAssociationLinks": { + "get": { + "operationId": "ServiceAssociationLinks_List", + "description": "Gets a list of service association links for a subnet.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of service association links for the subnet.", + "schema": { + "$ref": "#/definitions/ServiceAssociationLinksListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Service Association Links": { + "$ref": "./examples/VirtualNetworkGetServiceAssociationLinks.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets": { + "get": { + "tags": [ + "Subnets" + ], + "operationId": "Subnets_List", + "description": "Gets all subnets in a virtual network.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Subnet resources.", + "schema": { + "$ref": "#/definitions/SubnetListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List subnets": { + "$ref": "./examples/SubnetList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}": { + "delete": { + "tags": [ + "VirtualNetworkPeerings" + ], + "operationId": "VirtualNetworkPeerings_Delete", + "description": "Deletes the specified virtual network peering.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "virtualNetworkPeeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Delete successful." + }, + "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": { + "Delete peering": { + "$ref": "./examples/VirtualNetworkPeeringDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "VirtualNetworkPeerings" + ], + "operationId": "VirtualNetworkPeerings_Get", + "description": "Gets the specified virtual network peering.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "virtualNetworkPeeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting VirtualNetworkPeering resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get peering": { + "$ref": "./examples/VirtualNetworkPeeringGet.json" + }, + "Get peering with remote virtual network encryption": { + "$ref": "./examples/VirtualNetworkPeeringGetWithRemoteVirtualNetworkEncryption.json" + } + } + }, + "put": { + "tags": [ + "VirtualNetworkPeerings" + ], + "operationId": "VirtualNetworkPeerings_CreateOrUpdate", + "description": "Creates or updates a peering in the specified virtual network.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "virtualNetworkPeeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "VirtualNetworkPeeringParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + }, + "description": "Parameters supplied to the create or update virtual network peering operation." + }, + { + "name": "syncRemoteAddressSpace", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "true" + ], + "x-ms-enum": { + "name": "SyncRemoteAddressSpace", + "modelAsString": true + }, + "description": "Parameter indicates the intention to sync the peering with the current address space on the remote vNet after it's updated." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkPeering resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetworkPeering resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create peering": { + "$ref": "./examples/VirtualNetworkPeeringCreate.json" + }, + "Sync Peering": { + "$ref": "./examples/VirtualNetworkPeeringSync.json" + }, + "Create peering with remote virtual network encryption": { + "$ref": "./examples/VirtualNetworkPeeringCreateWithRemoteVirtualNetworkEncryption.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings": { + "get": { + "tags": [ + "VirtualNetworkPeerings" + ], + "operationId": "VirtualNetworkPeerings_List", + "description": "Gets all virtual network peerings in a virtual network.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetworkPeering resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeeringListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List peerings": { + "$ref": "./examples/VirtualNetworkPeeringList.json" + }, + "List peerings with remote virtual network encryption": { + "$ref": "./examples/VirtualNetworkPeeringListWithRemoteVirtualNetworkEncryption.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability": { + "get": { + "operationId": "VirtualNetworks_CheckIPAddressAvailability", + "description": "Checks whether a private IP address is available for use.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "ipAddress", + "in": "query", + "required": true, + "type": "string", + "description": "The private IP address to be verified." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Private IP address availability and list of other free addresses if the requested one is not available.", + "schema": { + "$ref": "#/definitions/IPAddressAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Check IP address availability": { + "$ref": "./examples/VirtualNetworkCheckIPAddressAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages": { + "get": { + "operationId": "VirtualNetworks_ListUsage", + "description": "Lists usage stats.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Usage stats for vnet.", + "schema": { + "$ref": "#/definitions/VirtualNetworkListUsageResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VnetGetUsage": { + "$ref": "./examples/VirtualNetworkListUsage.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ServiceAssociationLinkPropertiesFormat": { + "properties": { + "linkedResourceType": { + "type": "string", + "description": "Resource type of the linked resource." + }, + "link": { + "type": "string", + "description": "Link to the external resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the service association link resource." + }, + "allowDelete": { + "type": "boolean", + "description": "If true, the resource can be deleted." + }, + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of locations." + } + }, + "description": "Properties of ServiceAssociationLink." + }, + "ServiceAssociationLink": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServiceAssociationLinkPropertiesFormat", + "description": "Resource navigation link properties format." + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "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": "ServiceAssociationLink resource." + }, + "ResourceNavigationLinkFormat": { + "properties": { + "linkedResourceType": { + "type": "string", + "description": "Resource type of the linked resource." + }, + "link": { + "type": "string", + "description": "Link to the external resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the resource navigation link resource." + } + }, + "description": "Properties of ResourceNavigationLink." + }, + "ResourceNavigationLink": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ResourceNavigationLinkFormat", + "description": "Resource navigation link properties format." + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource navigation link identifier." + }, + "etag": { + "readOnly": true, + "type": "string", + "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": "ResourceNavigationLink resource." + }, + "ServiceDelegationPropertiesFormat": { + "properties": { + "serviceName": { + "type": "string", + "description": "The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers)." + }, + "actions": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The actions permitted to the service upon delegation." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the service delegation resource." + } + }, + "description": "Properties of a service delegation." + }, + "Delegation": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServiceDelegationPropertiesFormat", + "description": "Properties of the subnet." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a subnet. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Details the service to which the subnet is delegated." + }, + "SubnetPropertiesFormat": { + "properties": { + "addressPrefix": { + "type": "string", + "description": "The address prefix for the subnet." + }, + "addressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of address prefixes for the subnet." + }, + "networkSecurityGroup": { + "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup", + "description": "The reference to the NetworkSecurityGroup resource." + }, + "routeTable": { + "$ref": "./routeTable.json#/definitions/RouteTable", + "description": "The reference to the RouteTable resource." + }, + "natGateway": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Nat gateway associated with this subnet." + }, + "serviceEndpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpointPropertiesFormat" + }, + "description": "An array of service endpoints." + }, + "serviceEndpointPolicies": { + "type": "array", + "items": { + "$ref": "./serviceEndpointPolicy.json#/definitions/ServiceEndpointPolicy" + }, + "description": "An array of service endpoint policies." + }, + "privateEndpoints": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint" + }, + "description": "An array of references to private endpoints." + }, + "ipConfigurations": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/IPConfiguration" + }, + "description": "An array of references to the network interface IP configurations using subnet." + }, + "ipConfigurationProfiles": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkProfile.json#/definitions/IPConfigurationProfile" + }, + "description": "Array of IP configuration profiles which reference this subnet." + }, + "ipAllocations": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Array of IpAllocation which reference this subnet." + }, + "resourceNavigationLinks": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceNavigationLink" + }, + "description": "An array of references to the external resources using subnet." + }, + "serviceAssociationLinks": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ServiceAssociationLink" + }, + "description": "An array of references to services injecting into this subnet." + }, + "delegations": { + "type": "array", + "items": { + "$ref": "#/definitions/Delegation" + }, + "description": "An array of references to the delegations on the subnet." + }, + "purpose": { + "type": "string", + "readOnly": true, + "description": "A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the subnet resource." + }, + "privateEndpointNetworkPolicies": { + "type": "string", + "default": "Enabled", + "description": "Enable or Disable apply network policies on private end point in the subnet.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "VirtualNetworkPrivateEndpointNetworkPolicies", + "modelAsString": true + } + }, + "privateLinkServiceNetworkPolicies": { + "type": "string", + "default": "Enabled", + "description": "Enable or Disable apply network policies on private link service in the subnet.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "VirtualNetworkPrivateLinkServiceNetworkPolicies", + "modelAsString": true + } + }, + "applicationGatewayIpConfigurations": { + "type": "array", + "items": { + "$ref": "./applicationGateway.json#/definitions/ApplicationGatewayIPConfiguration" + }, + "description": "Application gateway IP configurations of virtual network resource." + } + }, + "description": "Properties of the subnet." + }, + "ServiceEndpointPropertiesFormat": { + "properties": { + "service": { + "type": "string", + "description": "The type of the endpoint service." + }, + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of locations." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the service endpoint resource." + } + }, + "description": "The service endpoint properties." + }, + "VirtualNetworkPeeringPropertiesFormat": { + "properties": { + "allowVirtualNetworkAccess": { + "type": "boolean", + "description": "Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space." + }, + "allowForwardedTraffic": { + "type": "boolean", + "description": "Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network." + }, + "allowGatewayTransit": { + "type": "boolean", + "description": "If gateway links can be used in remote virtual networking to link to this virtual network." + }, + "useRemoteGateways": { + "type": "boolean", + "description": "If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway." + }, + "remoteVirtualNetwork": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the remote virtual network. The remote virtual network can be in the same or different region (preview). See here to register for the preview and learn more (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering)." + }, + "remoteAddressSpace": { + "$ref": "#/definitions/AddressSpace", + "description": "The reference to the address space peered with the remote virtual network." + }, + "remoteVirtualNetworkAddressSpace": { + "$ref": "#/definitions/AddressSpace", + "description": "The reference to the current address space of the remote virtual network." + }, + "remoteBgpCommunities": { + "$ref": "#/definitions/VirtualNetworkBgpCommunities", + "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.", + "enum": [ + "Initiated", + "Connected", + "Disconnected" + ], + "x-ms-enum": { + "name": "VirtualNetworkPeeringState", + "modelAsString": true + } + }, + "peeringSyncLevel": { + "type": "string", + "description": "The peering sync status of the virtual network peering.", + "enum": [ + "FullyInSync", + "RemoteNotInSync", + "LocalNotInSync", + "LocalAndRemoteNotInSync" + ], + "x-ms-enum": { + "name": "VirtualNetworkPeeringLevel", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual network peering resource." + }, + "doNotVerifyRemoteGateways": { + "type": "boolean", + "description": "If we need to verify the provisioning state of the remote gateway." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resourceGuid property of the Virtual Network peering resource." + } + }, + "description": "Properties of the virtual network peering." + }, + "Subnet": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SubnetPropertiesFormat", + "description": "Properties of the subnet." + }, + "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": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Subnet in a virtual network resource." + }, + "VirtualNetworkPeering": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkPeeringPropertiesFormat", + "description": "Properties of the virtual network peering." + }, + "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": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Peerings in a virtual network resource." + }, + "SubnetListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + }, + "description": "The subnets in a virtual network." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network." + }, + "ResourceNavigationLinksListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceNavigationLink" + }, + "description": "The resource navigation links in a subnet." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ResourceNavigationLinks_List operation." + }, + "ServiceAssociationLinksListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceAssociationLink" + }, + "description": "The service association links in a subnet." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ServiceAssociationLinks_List operation." + }, + "VirtualNetworkPeeringListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkPeering" + }, + "description": "The peerings in a virtual network." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual network." + }, + "VirtualNetworkPropertiesFormat": { + "properties": { + "addressSpace": { + "$ref": "#/definitions/AddressSpace", + "description": "The AddressSpace that contains an array of IP address ranges that can be used by subnets." + }, + "dhcpOptions": { + "$ref": "#/definitions/DhcpOptions", + "description": "The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network." + }, + "flowTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The FlowTimeout value (in minutes) for the Virtual Network" + }, + "subnets": { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + }, + "description": "A list of subnets in a Virtual Network." + }, + "virtualNetworkPeerings": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkPeering" + }, + "description": "A list of peerings in a Virtual Network." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resourceGuid property of the Virtual Network resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual network resource." + }, + "enableDdosProtection": { + "type": "boolean", + "default": false, + "description": "Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It requires a DDoS protection plan associated with the resource." + }, + "enableVmProtection": { + "type": "boolean", + "default": false, + "description": "Indicates if VM protection is enabled for all the subnets in the virtual network." + }, + "ddosProtectionPlan": { + "$ref": "./network.json#/definitions/SubResource", + "default": null, + "description": "The DDoS protection plan associated with the virtual network." + }, + "bgpCommunities": { + "$ref": "#/definitions/VirtualNetworkBgpCommunities", + "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": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Array of IpAllocation which reference this VNET." + } + }, + "description": "Properties of the virtual network." + }, + "VirtualNetwork": { + "properties": { + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of the virtual network." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkPropertiesFormat", + "description": "Properties of the virtual network." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Virtual Network resource." + }, + "VirtualNetworkListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetwork" + }, + "description": "A list of VirtualNetwork resources in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListVirtualNetworks API service call." + }, + "AddressSpace": { + "properties": { + "addressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of address blocks reserved for this virtual network in CIDR notation." + } + }, + "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + }, + "DhcpOptions": { + "properties": { + "dnsServers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of DNS servers IP addresses." + } + }, + "description": "DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for a subnet overrides VNET DHCP options." + }, + "VirtualNetworkBgpCommunities": { + "properties": { + "virtualNetworkCommunity": { + "type": "string", + "description": "The BGP community associated with the virtual network." + }, + "regionalCommunity": { + "type": "string", + "readOnly": true, + "description": "The BGP community associated with the region of the virtual network." + } + }, + "required": [ + "virtualNetworkCommunity" + ], + "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": { + "type": "boolean", + "description": "Private IP address availability." + }, + "availableIPAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Contains other available private IP addresses if the asked for address is taken." + }, + "isPlatformReserved": { + "type": "boolean", + "description": "Private IP address platform reserved." + } + }, + "description": "Response for CheckIPAddressAvailability API service call." + }, + "VirtualNetworkListUsageResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/VirtualNetworkUsage" + }, + "description": "VirtualNetwork usage stats." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the virtual networks GetUsage API service call." + }, + "VirtualNetworkUsage": { + "properties": { + "currentValue": { + "type": "number", + "format": "double", + "readOnly": true, + "description": "Indicates number of IPs used from the Subnet." + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Subnet identifier." + }, + "limit": { + "type": "number", + "format": "double", + "readOnly": true, + "description": "Indicates the size of the subnet." + }, + "name": { + "$ref": "#/definitions/VirtualNetworkUsageName", + "readOnly": true, + "description": "The name containing common and localized value for usage." + }, + "unit": { + "type": "string", + "readOnly": true, + "description": "Usage units. Returns 'Count'." + } + }, + "description": "Usage details for subnet." + }, + "VirtualNetworkUsageName": { + "properties": { + "localizedValue": { + "type": "string", + "readOnly": true, + "description": "Localized subnet size and usage string." + }, + "value": { + "type": "string", + "readOnly": true, + "description": "Subnet size and usage string." + } + }, + "description": "Usage strings container." + }, + "PrepareNetworkPoliciesRequest": { + "properties": { + "serviceName": { + "type": "string", + "description": "The name of the service for which subnet is being prepared for." + }, + "networkIntentPolicyConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkIntentPolicyConfiguration" + }, + "description": "A list of NetworkIntentPolicyConfiguration." + } + }, + "description": "Details of PrepareNetworkPolicies for Subnet." + }, + "UnprepareNetworkPoliciesRequest": { + "properties": { + "serviceName": { + "type": "string", + "description": "The name of the service for which subnet is being unprepared for." + } + }, + "description": "Details of UnprepareNetworkPolicies for Subnet." + }, + "NetworkIntentPolicyConfiguration": { + "properties": { + "networkIntentPolicyName": { + "type": "string", + "description": "The name of the Network Intent Policy for storing in target subscription." + }, + "sourceNetworkIntentPolicy": { + "$ref": "#/definitions/NetworkIntentPolicy", + "description": "Source network intent policy." + } + }, + "description": "Details of NetworkIntentPolicyConfiguration for PrepareNetworkPoliciesRequest." + }, + "NetworkIntentPolicy": { + "properties": { + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Network Intent Policy resource." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/virtualNetworkGateway.json new file mode 100644 index 000000000000..e2510dd95a2f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/virtualNetworkGateway.json @@ -0,0 +1,4232 @@ +{ + "swagger": "2.0", + "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-05-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.Network/virtualNetworkGateways/{virtualNetworkGatewayName}": { + "put": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_CreateOrUpdate", + "description": "Creates or updates a virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + }, + "description": "Parameters supplied to create or update virtual network gateway operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateVirtualNetworkGateway": { + "$ref": "./examples/VirtualNetworkGatewayUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Get", + "description": "Gets the specified virtual network gateway by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGateway": { + "$ref": "./examples/VirtualNetworkGatewayGet.json" + } + } + }, + "delete": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Delete", + "description": "Deletes the specified virtual network gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DeleteVirtualNetworkGateway": { + "$ref": "./examples/VirtualNetworkGatewayDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_UpdateTags", + "description": "Updates a virtual network gateway tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update virtual network gateway tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateVirtualNetworkGatewayTags": { + "$ref": "./examples/VirtualNetworkGatewayUpdateTags.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways": { + "get": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_List", + "description": "Gets all virtual network gateways by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetworkGateway resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVirtualNetworkGatewaysinResourceGroup": { + "$ref": "./examples/VirtualNetworkGatewayList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections": { + "get": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_ListConnections", + "description": "Gets all the connections in a virtual network gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayListConnectionsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "VirtualNetworkGatewaysListConnections": { + "$ref": "./examples/VirtualNetworkGatewaysListConnections.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Reset", + "description": "Resets the primary of the virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "gatewayVip", + "in": "query", + "required": false, + "type": "string", + "description": "Virtual network gateway vip address supplied to the begin reset of the active-active feature enabled gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation reset the primary of the virtual network gateway.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ResetVirtualNetworkGateway": { + "$ref": "./examples/VirtualNetworkGatewayReset.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/resetvpnclientsharedkey": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_ResetVpnClientSharedKey", + "description": "Resets the VPN client shared key of the virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation reset the vpn client shared key of the virtual network gateway." + }, + "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": { + "ResetVpnClientSharedKey": { + "$ref": "./examples/VirtualNetworkGatewayResetVpnClientSharedKey.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Generatevpnclientpackage", + "description": "Generates VPN client package for P2S client of the virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnClientParameters" + }, + "description": "Parameters supplied to the generate virtual network gateway VPN client package operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "VPN client package URL.", + "schema": { + "type": "string" + } + }, + "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": { + "GenerateVPNClientPackage": { + "$ref": "./examples/VirtualNetworkGatewayGenerateVpnClientPackage.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GenerateVpnProfile", + "description": "Generates VPN profile for P2S client of the virtual network gateway in the specified resource group. Used for IKEV2 and radius based authentication.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnClientParameters" + }, + "description": "Parameters supplied to the generate virtual network gateway VPN client package operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "VPN profile package URL.", + "schema": { + "type": "string" + } + }, + "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": { + "GenerateVirtualNetworkGatewayVPNProfile": { + "$ref": "./examples/VirtualNetworkGatewayGenerateVpnProfile.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetVpnProfilePackageUrl", + "description": "Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "VPN profile package URL.", + "schema": { + "type": "string" + } + }, + "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": { + "GetVirtualNetworkGatewayVPNProfilePackageURL": { + "$ref": "./examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetBgpPeerStatus", + "description": "The GetBgpPeerStatus operation retrieves the status of all BGP peers.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "peer", + "in": "query", + "required": false, + "type": "string", + "description": "The IP address of the peer to retrieve the status of." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of BGP peer statuses.", + "schema": { + "$ref": "#/definitions/BgpPeerStatusListResult" + } + }, + "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": { + "GetVirtualNetworkGatewayBGPPeerStatus": { + "$ref": "./examples/VirtualNetworkGatewayGetBGPPeerStatus.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_SupportedVpnDevices", + "description": "Gets a xml format representation for supported vpn devices.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Xml format representation for supported vpn devices.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVirtualNetworkGatewaySupportedVPNDevices": { + "$ref": "./examples/VirtualNetworkGatewaySupportedVpnDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetLearnedRoutes", + "description": "This operation retrieves a list of routes the virtual network gateway has learned, including routes learned from BGP peers.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of advertised BGP routes.", + "schema": { + "$ref": "#/definitions/GatewayRouteListResult" + } + }, + "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": { + "GetVirtualNetworkGatewayLearnedRoutes": { + "$ref": "./examples/VirtualNetworkGatewayLearnedRoutes.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetAdvertisedRoutes", + "description": "This operation retrieves a list of routes the virtual network gateway is advertising to the specified peer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "peer", + "in": "query", + "required": true, + "type": "string", + "description": "The IP address of the peer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of learned BGP routes.", + "schema": { + "$ref": "#/definitions/GatewayRouteListResult" + } + }, + "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": { + "GetVirtualNetworkGatewayAdvertisedRoutes": { + "$ref": "./examples/VirtualNetworkGatewayGetAdvertisedRoutes.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_SetVpnclientIpsecParameters", + "description": "The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "vpnclientIpsecParams", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnClientIPsecParameters" + }, + "description": "Parameters supplied to the Begin Set vpnclient ipsec parameters of Virtual Network Gateway P2S client operation through Network resource provider." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation sets the specified vpnclient ipsec parameters for P2S client of the virtual network gateway.", + "schema": { + "$ref": "#/definitions/VpnClientIPsecParameters" + } + }, + "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" + }, + "x-ms-examples": { + "Set VirtualNetworkGateway VpnClientIpsecParameters": { + "$ref": "./examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetVpnclientIpsecParameters", + "description": "The Get VpnclientIpsecParameters operation retrieves information about the vpnclient ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the set vpnclient ipsec parameters for P2S client of VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VpnClientIPsecParameters" + } + }, + "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" + }, + "x-ms-examples": { + "Get VirtualNetworkGateway VpnClientIpsecParameters": { + "$ref": "./examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_VpnDeviceConfigurationScript", + "description": "Gets a xml format representation for vpn device configuration script.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection for which the configuration script is generated." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnDeviceScriptParameters" + }, + "description": "Parameters supplied to the generate vpn device script operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Xml format representation for vpn device configuration script.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVPNDeviceConfigurationScript": { + "$ref": "./examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/startPacketCapture": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_StartPacketCapture", + "description": "Starts packet capture on virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VpnPacketCaptureStartParameters" + }, + "description": "Virtual network gateway packet capture parameters supplied to start packet capture on gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture started on virtual network gateway.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Start packet capture on virtual network gateway without filter": { + "$ref": "./examples/VirtualNetworkGatewayStartPacketCapture.json" + }, + "Start packet capture on virtual network gateway with filter": { + "$ref": "./examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/stopPacketCapture": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_StopPacketCapture", + "description": "Stops packet capture on virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnPacketCaptureStopParameters" + }, + "description": "Virtual network gateway packet capture parameters supplied to stop packet capture on gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture stopped on virtual network gateway.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Stop packet capture on virtual network gateway": { + "$ref": "./examples/VirtualNetworkGatewayStopPacketCapture.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}": { + "put": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_CreateOrUpdate", + "description": "Creates or updates a virtual network gateway connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + }, + "description": "Parameters supplied to the create or update virtual network gateway connection operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CreateVirtualNetworkGatewayConnection_S2S": { + "$ref": "./examples/VirtualNetworkGatewayConnectionCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_Get", + "description": "Gets the specified virtual network gateway connection by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayConnection": { + "$ref": "./examples/VirtualNetworkGatewayConnectionGet.json" + } + } + }, + "delete": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_Delete", + "description": "Deletes the specified virtual network Gateway connection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DeleteVirtualNetworkGatewayConnection": { + "$ref": "./examples/VirtualNetworkGatewayConnectionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_UpdateTags", + "description": "Updates a virtual network gateway connection tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update virtual network gateway connection tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateVirtualNetworkGatewayConnectionTags": { + "$ref": "./examples/VirtualNetworkGatewayConnectionUpdateTags.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey": { + "put": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_SetSharedKey", + "description": "The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway connection name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + }, + "description": "Parameters supplied to the Begin Set Virtual Network Gateway connection Shared key operation throughNetwork resource provider." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request successful. The operation returns the resulting ConnectionSharedKey resource.", + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting ConnectionSharedKey resource.", + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "SetVirtualNetworkGatewayConnectionSharedKey": { + "$ref": "./examples/VirtualNetworkGatewayConnectionSetSharedKey.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_GetSharedKey", + "description": "The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves information about the specified virtual network gateway connection shared key through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway connection shared key name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetworkGatewayConnection resources.", + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayConnectionSharedKey": { + "$ref": "./examples/VirtualNetworkGatewayConnectionGetSharedKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections": { + "get": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_List", + "description": "The List VirtualNetworkGatewayConnections operation retrieves all the virtual network gateways connections created.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation resets the virtual network gateway connection shared key.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVirtualNetworkGatewayConnectionsinResourceGroup": { + "$ref": "./examples/VirtualNetworkGatewayConnectionsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_ResetSharedKey", + "description": "The VirtualNetworkGatewayConnectionResetSharedKey operation resets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway connection reset shared key Name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionResetSharedKey" + }, + "description": "Parameters supplied to the begin reset virtual network gateway connection shared key operation through network resource provider." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation sets the virtual network gateway connection shared key.", + "schema": { + "$ref": "#/definitions/ConnectionResetSharedKey" + } + }, + "202": { + "description": "Request successful. The operation sets the virtual network gateway connection shared key." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ResetVirtualNetworkGatewayConnectionSharedKey": { + "$ref": "./examples/VirtualNetworkGatewayConnectionResetSharedKey.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/startPacketCapture": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_StartPacketCapture", + "description": "Starts packet capture on virtual network gateway connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VpnPacketCaptureStartParameters" + }, + "description": "Virtual network gateway packet capture parameters supplied to start packet capture on gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture started on virtual network gateway connection.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Start packet capture on virtual network gateway connection without filter": { + "$ref": "./examples/VirtualNetworkGatewayConnectionStartPacketCapture.json" + }, + "Start packet capture on virtual network gateway connection with filter": { + "$ref": "./examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/stopPacketCapture": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_StopPacketCapture", + "description": "Stops packet capture on virtual network gateway connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway Connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnPacketCaptureStopParameters" + }, + "description": "Virtual network gateway packet capture parameters supplied to stop packet capture on gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture stopped on virtual network gateway connection.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Stop packet capture on virtual network gateway connection": { + "$ref": "./examples/VirtualNetworkGatewayConnectionStopPacketCapture.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/getikesas": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_GetIkeSas", + "description": "Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway Connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation GetIkeSas will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation getikesas completed on virtual network gateway connection.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "The operation GetIkeSas could not be completed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayConnectionIkeSa": { + "$ref": "./examples/VirtualNetworkGatewayConnectionGetIkeSas.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/resetconnection": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_ResetConnection", + "description": "Resets the virtual network gateway connection specified.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway Connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "The operation resetconnection could not be completed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ResetVirtualNetworkGatewayConnection": { + "$ref": "./examples/VirtualNetworkGatewayConnectionReset.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}": { + "put": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_CreateOrUpdate", + "description": "Creates or updates a local network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "localNetworkGatewayName", + "in": "path", + "required": true, + "minLength": 1, + "type": "string", + "description": "The name of the local network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + }, + "description": "Parameters supplied to the create or update local network gateway operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting LocalNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting LocalNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CreateLocalNetworkGateway": { + "$ref": "./examples/LocalNetworkGatewayCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_Get", + "description": "Gets the specified local network gateway in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "localNetworkGatewayName", + "in": "path", + "required": true, + "minLength": 1, + "type": "string", + "description": "The name of the local network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting LocalNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetLocalNetworkGateway": { + "$ref": "./examples/LocalNetworkGatewayGet.json" + } + } + }, + "delete": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_Delete", + "description": "Deletes the specified local network gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "localNetworkGatewayName", + "in": "path", + "required": true, + "minLength": 1, + "type": "string", + "description": "The name of the local network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + }, + "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": { + "DeleteLocalNetworkGateway": { + "$ref": "./examples/LocalNetworkGatewayDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_UpdateTags", + "description": "Updates a local network gateway tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "localNetworkGatewayName", + "in": "path", + "required": true, + "minLength": 1, + "type": "string", + "description": "The name of the local network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update local network gateway tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting LocalNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateLocalNetworkGatewayTags": { + "$ref": "./examples/LocalNetworkGatewayUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways": { + "get": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_List", + "description": "Gets all the local network gateways in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LocalNetworkGateway resources.", + "schema": { + "$ref": "#/definitions/LocalNetworkGatewayListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListLocalNetworkGateways": { + "$ref": "./examples/LocalNetworkGatewayList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getVpnClientConnectionHealth": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetVpnclientConnectionHealth", + "description": "Get VPN client connection health detail per P2S client connection of the virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of VPN client connection health details.", + "schema": { + "$ref": "#/definitions/VpnClientConnectionHealthDetailListResult" + } + }, + "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": { + "GetVirtualNetworkGatewayVpnclientConnectionHealth": { + "$ref": "./examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/disconnectVirtualNetworkGatewayVpnConnections": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_DisconnectVirtualNetworkGatewayVpnConnections", + "description": "Disconnect vpn connections of virtual network gateway in the specified resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "./virtualWan.json#/definitions/P2SVpnConnectionRequest" + }, + "description": "The parameters are supplied to disconnect vpn connections." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation disconnects the requested vpn connections." + }, + "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": { + "Disconnect VpnConnections from Virtual Network Gateway": { + "$ref": "./examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/natRules/{natRuleName}": { + "get": { + "operationId": "VirtualNetworkGatewayNatRules_Get", + "x-ms-examples": { + "VirtualNetworkGatewayNatRuleGet": { + "$ref": "./examples/VirtualNetworkGatewayNatRuleGet.json" + } + }, + "description": "Retrieves the details of a nat rule.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the Virtual Network Gateway." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "natRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the nat rule.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayNatRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VirtualNetworkGatewayNatRules_CreateOrUpdate", + "x-ms-examples": { + "VirtualNetworkGatewayNatRulePut": { + "$ref": "./examples/VirtualNetworkGatewayNatRulePut.json" + } + }, + "description": "Creates a nat rule to a scalable virtual network gateway if it doesn't exist else updates the existing nat rules.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the Virtual Network Gateway." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "natRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "NatRuleParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayNatRule" + }, + "description": "Parameters supplied to create or Update a Nat Rule." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the nat rule created or updated.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayNatRule" + } + }, + "201": { + "description": "Request successful. Returns the details of the nat rule created or updated.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayNatRule" + } + }, + "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" + } + }, + "delete": { + "operationId": "VirtualNetworkGatewayNatRules_Delete", + "x-ms-examples": { + "VirtualNetworkGatewayNatRuleDelete": { + "$ref": "./examples/VirtualNetworkGatewayNatRuleDelete.json" + } + }, + "description": "Deletes a nat rule.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the Virtual Network Gateway." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "natRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Nat Rule deleted." + }, + "202": { + "description": "Request received successfully. Nat Rule deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No nat rules exist 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/virtualNetworkGateways/{virtualNetworkGatewayName}/natRules": { + "get": { + "operationId": "VirtualNetworkGatewayNatRules_ListByVirtualNetworkGateway", + "x-ms-examples": { + "VirtualNetworkGatewayNatRuleList": { + "$ref": "./examples/VirtualNetworkGatewayNatRuleList.json" + } + }, + "description": "Retrieves all nat rules for a particular virtual network gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the virtual network gateway." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all Nat rules for a virtual network gateway.", + "schema": { + "$ref": "#/definitions/ListVirtualNetworkGatewayNatRulesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "VirtualNetworkGatewayIPConfigurationPropertiesFormat": { + "properties": { + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method." + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the subnet resource." + }, + "publicIPAddress": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the public IP resource." + }, + "privateIPAddress": { + "readOnly": true, + "type": "string", + "description": "Private IP Address for this gateway." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual network gateway IP configuration resource." + } + }, + "description": "Properties of VirtualNetworkGatewayIPConfiguration." + }, + "VirtualNetworkGatewayIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkGatewayIPConfigurationPropertiesFormat", + "description": "Properties of the virtual network gateway ip configuration." + }, + "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": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IP configuration for virtual network gateway." + }, + "VirtualNetworkGatewayNatRuleProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the NAT Rule resource." + }, + "type": { + "type": "string", + "description": "The type of NAT rule for VPN NAT.", + "enum": [ + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "VpnNatRuleType", + "modelAsString": true + } + }, + "mode": { + "type": "string", + "description": "The Source NAT direction of a VPN NAT.", + "enum": [ + "EgressSnat", + "IngressSnat" + ], + "x-ms-enum": { + "name": "VpnNatRuleMode", + "modelAsString": true + } + }, + "internalMappings": { + "type": "array", + "items": { + "$ref": "./virtualWan.json#/definitions/VpnNatRuleMapping" + }, + "description": "The private IP address internal mapping for NAT." + }, + "externalMappings": { + "type": "array", + "items": { + "$ref": "./virtualWan.json#/definitions/VpnNatRuleMapping" + }, + "description": "The private IP address external mapping for NAT." + }, + "ipConfigurationId": { + "type": "string", + "description": "The IP Configuration ID this NAT rule applies to." + } + }, + "description": "Parameters for VirtualNetworkGatewayNatRule." + }, + "VirtualNetworkGatewayNatRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkGatewayNatRuleProperties", + "description": "Properties of the Virtual Network Gateway NAT rule." + }, + "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": "VirtualNetworkGatewayNatRule Resource." + }, + "VirtualNetworkGatewayPropertiesFormat": { + "properties": { + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayIPConfiguration" + }, + "description": "IP configurations for virtual network gateway." + }, + "gatewayType": { + "type": "string", + "description": "The type of this virtual network gateway.", + "enum": [ + "Vpn", + "ExpressRoute", + "LocalGateway" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewayType", + "modelAsString": true + } + }, + "vpnType": { + "type": "string", + "description": "The type of this virtual network gateway.", + "enum": [ + "PolicyBased", + "RouteBased" + ], + "x-ms-enum": { + "name": "VpnType", + "modelAsString": true + } + }, + "vpnGatewayGeneration": { + "type": "string", + "description": "The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN.", + "enum": [ + "None", + "Generation1", + "Generation2" + ], + "x-ms-enum": { + "name": "VpnGatewayGeneration", + "modelAsString": true + } + }, + "enableBgp": { + "type": "boolean", + "description": "Whether BGP is enabled for this virtual network gateway or not." + }, + "enablePrivateIpAddress": { + "type": "boolean", + "description": "Whether private IP needs to be enabled on this gateway for connections or not." + }, + "activeActive": { + "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." + }, + "sku": { + "$ref": "#/definitions/VirtualNetworkGatewaySku", + "description": "The reference to the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway." + }, + "vpnClientConfiguration": { + "$ref": "#/definitions/VpnClientConfiguration", + "description": "The reference to the VpnClientConfiguration resource which represents the P2S VpnClient configurations." + }, + "bgpSettings": { + "$ref": "#/definitions/BgpSettings", + "description": "Virtual network gateway's BGP speaker settings." + }, + "customRoutes": { + "$ref": "./virtualNetwork.json#/definitions/AddressSpace", + "description": "The reference to the address space resource which represents the custom routes address space specified by the customer for virtual network gateway and VpnClient." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the virtual network gateway resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual network gateway resource." + }, + "enableDnsForwarding": { + "type": "boolean", + "description": "Whether dns forwarding is enabled or not." + }, + "inboundDnsForwardingEndpoint": { + "type": "string", + "readOnly": true, + "description": "The IP address allocated by the gateway to which dns requests can be sent." + }, + "vNetExtendedLocationResourceId": { + "type": "string", + "description": "Customer vnet resource id. VirtualNetworkGateway of type local gateway is associated with the customer vnet." + }, + "natRules": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayNatRule" + }, + "description": "NatRules for virtual network gateway." + }, + "enableBgpRouteTranslationForNat": { + "type": "boolean", + "description": "EnableBgpRouteTranslationForNat flag." + } + }, + "description": "VirtualNetworkGateway properties." + }, + "VpnClientRootCertificatePropertiesFormat": { + "properties": { + "publicCertData": { + "type": "string", + "description": "The certificate public data." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VPN client root certificate resource." + } + }, + "required": [ + "publicCertData" + ], + "description": "Properties of SSL certificates of application gateway." + }, + "VpnClientRootCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnClientRootCertificatePropertiesFormat", + "description": "Properties of the vpn client root certificate." + }, + "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": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "required": [ + "properties" + ], + "description": "VPN client root certificate of virtual network gateway." + }, + "VpnClientRevokedCertificatePropertiesFormat": { + "properties": { + "thumbprint": { + "type": "string", + "description": "The revoked VPN client certificate thumbprint." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VPN client revoked certificate resource." + } + }, + "description": "Properties of the revoked VPN client certificate of virtual network gateway." + }, + "VpnClientRevokedCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnClientRevokedCertificatePropertiesFormat", + "description": "Properties of the vpn client revoked certificate." + }, + "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": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VPN client revoked certificate of virtual network gateway." + }, + "RadiusServer": { + "properties": { + "radiusServerAddress": { + "type": "string", + "description": "The address of this radius server." + }, + "radiusServerScore": { + "type": "integer", + "format": "int64", + "description": "The initial score assigned to this radius server." + }, + "radiusServerSecret": { + "type": "string", + "description": "The secret used for this radius server." + } + }, + "required": [ + "radiusServerAddress" + ], + "description": "Radius Server Settings." + }, + "VpnClientConfiguration": { + "properties": { + "vpnClientAddressPool": { + "$ref": "./virtualNetwork.json#/definitions/AddressSpace", + "description": "The reference to the address space resource which represents Address space for P2S VpnClient." + }, + "vpnClientRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnClientRootCertificate" + }, + "description": "VpnClientRootCertificate for virtual network gateway." + }, + "vpnClientRevokedCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnClientRevokedCertificate" + }, + "description": "VpnClientRevokedCertificate for Virtual network gateway." + }, + "vpnClientProtocols": { + "type": "array", + "items": { + "type": "string", + "description": "VPN client protocol enabled for the virtual network gateway.", + "enum": [ + "IkeV2", + "SSTP", + "OpenVPN" + ], + "x-ms-enum": { + "name": "VpnClientProtocol", + "modelAsString": true + } + }, + "description": "VpnClientProtocols for Virtual network gateway." + }, + "vpnAuthenticationTypes": { + "type": "array", + "items": { + "type": "string", + "description": "VPN authentication types enabled for the virtual network gateway.", + "enum": [ + "Certificate", + "Radius", + "AAD" + ], + "x-ms-enum": { + "name": "VpnAuthenticationType", + "modelAsString": true + } + }, + "description": "VPN authentication types for the virtual network gateway.." + }, + "vpnClientIpsecPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/IpsecPolicy" + }, + "description": "VpnClientIpsecPolicies for virtual network gateway P2S client." + }, + "radiusServerAddress": { + "type": "string", + "description": "The radius server address property of the VirtualNetworkGateway resource for vpn client connection." + }, + "radiusServerSecret": { + "type": "string", + "description": "The radius secret property of the VirtualNetworkGateway resource for vpn client connection." + }, + "radiusServers": { + "type": "array", + "items": { + "$ref": "#/definitions/RadiusServer" + }, + "description": "The radiusServers property for multiple radius server configuration." + }, + "aadTenant": { + "type": "string", + "description": "The AADTenant property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication." + }, + "aadAudience": { + "type": "string", + "description": "The AADAudience property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication." + }, + "aadIssuer": { + "type": "string", + "description": "The AADIssuer property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication." + } + }, + "description": "VpnClientConfiguration for P2S client." + }, + "VirtualNetworkGatewaySku": { + "properties": { + "name": { + "type": "string", + "description": "Gateway SKU name.", + "enum": [ + "Basic", + "HighPerformance", + "Standard", + "UltraPerformance", + "VpnGw1", + "VpnGw2", + "VpnGw3", + "VpnGw4", + "VpnGw5", + "VpnGw1AZ", + "VpnGw2AZ", + "VpnGw3AZ", + "VpnGw4AZ", + "VpnGw5AZ", + "ErGw1AZ", + "ErGw2AZ", + "ErGw3AZ" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewaySkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Gateway SKU tier.", + "enum": [ + "Basic", + "HighPerformance", + "Standard", + "UltraPerformance", + "VpnGw1", + "VpnGw2", + "VpnGw3", + "VpnGw4", + "VpnGw5", + "VpnGw1AZ", + "VpnGw2AZ", + "VpnGw3AZ", + "VpnGw4AZ", + "VpnGw5AZ", + "ErGw1AZ", + "ErGw2AZ", + "ErGw3AZ" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewaySkuTier", + "modelAsString": true + } + }, + "capacity": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The capacity." + } + }, + "description": "VirtualNetworkGatewaySku details." + }, + "BgpSettings": { + "properties": { + "asn": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The BGP speaker's ASN." + }, + "bgpPeeringAddress": { + "type": "string", + "description": "The BGP peering address and BGP identifier of this BGP speaker." + }, + "peerWeight": { + "type": "integer", + "format": "int32", + "description": "The weight added to routes learned from this BGP speaker." + }, + "bgpPeeringAddresses": { + "type": "array", + "items": { + "$ref": "#/definitions/IPConfigurationBgpPeeringAddress" + }, + "description": "BGP peering address with IP configuration ID for virtual network gateway." + } + }, + "description": "BGP settings details." + }, + "BgpPeerStatus": { + "properties": { + "localAddress": { + "type": "string", + "readOnly": true, + "description": "The virtual network gateway's local address." + }, + "neighbor": { + "type": "string", + "readOnly": true, + "description": "The remote BGP peer." + }, + "asn": { + "type": "integer", + "format": "int64", + "readOnly": true, + "minimum": 0, + "maximum": 4294967295, + "description": "The autonomous system number of the remote BGP peer." + }, + "state": { + "type": "string", + "readOnly": true, + "description": "The BGP peer state.", + "enum": [ + "Unknown", + "Stopped", + "Idle", + "Connecting", + "Connected" + ], + "x-ms-enum": { + "name": "BgpPeerState", + "modelAsString": true + } + }, + "connectedDuration": { + "type": "string", + "readOnly": true, + "description": "For how long the peering has been up." + }, + "routesReceived": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The number of routes learned from this peer." + }, + "messagesSent": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The number of BGP messages sent." + }, + "messagesReceived": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The number of BGP messages received." + } + }, + "description": "BGP peer status details." + }, + "GatewayRoute": { + "properties": { + "localAddress": { + "type": "string", + "readOnly": true, + "description": "The gateway's local address." + }, + "network": { + "type": "string", + "readOnly": true, + "description": "The route's network prefix." + }, + "nextHop": { + "type": "string", + "readOnly": true, + "description": "The route's next hop." + }, + "sourcePeer": { + "type": "string", + "readOnly": true, + "description": "The peer this route was learned from." + }, + "origin": { + "type": "string", + "readOnly": true, + "description": "The source this route was learned from." + }, + "asPath": { + "type": "string", + "readOnly": true, + "description": "The route's AS path sequence." + }, + "weight": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The route's weight." + } + }, + "description": "Gateway routing details." + }, + "VirtualNetworkGateway": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkGatewayPropertiesFormat", + "description": "Properties of the virtual network gateway." + }, + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of type local virtual network gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "description": "A common class for general resource information." + }, + "VpnClientParameters": { + "properties": { + "processorArchitecture": { + "type": "string", + "description": "VPN client Processor Architecture.", + "enum": [ + "Amd64", + "X86" + ], + "x-ms-enum": { + "name": "ProcessorArchitecture", + "modelAsString": true + } + }, + "authenticationMethod": { + "$ref": "./network.json#/definitions/AuthenticationMethod", + "description": "VPN client authentication method." + }, + "radiusServerAuthCertificate": { + "type": "string", + "description": "The public certificate data for the radius server authentication certificate as a Base-64 encoded string. Required only if external radius authentication has been configured with EAPTLS authentication." + }, + "clientRootCertificates": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of client root certificates public certificate data encoded as Base-64 strings. Optional parameter for external radius based authentication with EAPTLS." + } + }, + "description": "Vpn Client Parameters for package generation." + }, + "VirtualNetworkGatewayListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGateway" + }, + "description": "A list of VirtualNetworkGateway resources that exists in a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListVirtualNetworkGateways API service call." + }, + "ListVirtualNetworkGatewayNatRulesResult": { + "description": "Result of the request to list all nat rules to a virtual network gateway. It contains a list of Nat rules and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayNatRule" + }, + "description": "List of Nat Rules." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "BgpPeerStatusListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BgpPeerStatus" + }, + "description": "List of BGP peers." + } + }, + "description": "Response for list BGP peer status API service call." + }, + "GatewayRouteListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GatewayRoute" + }, + "description": "List of gateway routes." + } + }, + "description": "List of virtual network gateway routes." + }, + "TunnelConnectionHealth": { + "properties": { + "tunnel": { + "readOnly": true, + "type": "string", + "description": "Tunnel name." + }, + "connectionStatus": { + "readOnly": true, + "$ref": "#/definitions/VirtualNetworkGatewayConnectionStatus", + "description": "Virtual Network Gateway connection status." + }, + "ingressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The Ingress Bytes Transferred in this connection." + }, + "egressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The Egress Bytes Transferred in this connection." + }, + "lastConnectionEstablishedUtcTime": { + "readOnly": true, + "type": "string", + "description": "The time at which connection was established in Utc format." + } + }, + "description": "VirtualNetworkGatewayConnection properties." + }, + "VirtualNetworkGatewayConnectionPropertiesFormat": { + "properties": { + "authorizationKey": { + "type": "string", + "description": "The authorizationKey." + }, + "virtualNetworkGateway1": { + "$ref": "#/definitions/VirtualNetworkGateway", + "description": "The reference to virtual network gateway resource." + }, + "virtualNetworkGateway2": { + "$ref": "#/definitions/VirtualNetworkGateway", + "description": "The reference to virtual network gateway resource." + }, + "localNetworkGateway2": { + "$ref": "#/definitions/LocalNetworkGateway", + "description": "The reference to local network gateway resource." + }, + "ingressNatRules": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of ingress NatRules." + }, + "egressNatRules": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of egress NatRules." + }, + "connectionType": { + "$ref": "#/definitions/VirtualNetworkGatewayConnectionType", + "description": "Gateway connection type." + }, + "connectionProtocol": { + "$ref": "#/definitions/ConnectionProtocol", + "description": "Connection protocol used for this connection." + }, + "routingWeight": { + "type": "integer", + "format": "int32", + "description": "The routing weight." + }, + "dpdTimeoutSeconds": { + "type": "integer", + "format": "int32", + "description": "The dead peer detection timeout of this connection in seconds." + }, + "connectionMode": { + "$ref": "#/definitions/VirtualNetworkGatewayConnectionMode", + "description": "The connection mode for this connection." + }, + "sharedKey": { + "type": "string", + "description": "The IPSec shared key." + }, + "connectionStatus": { + "readOnly": true, + "$ref": "#/definitions/VirtualNetworkGatewayConnectionStatus", + "description": "Virtual Network Gateway connection status." + }, + "tunnelConnectionStatus": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TunnelConnectionHealth" + }, + "description": "Collection of all tunnels' connection health status." + }, + "egressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The egress bytes transferred in this connection." + }, + "ingressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The ingress bytes transferred in this connection." + }, + "peer": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to peerings resource." + }, + "enableBgp": { + "type": "boolean", + "description": "EnableBgp flag." + }, + "useLocalAzureIpAddress": { + "type": "boolean", + "description": "Use private local Azure IP for the connection." + }, + "usePolicyBasedTrafficSelectors": { + "type": "boolean", + "description": "Enable policy-based traffic selectors." + }, + "ipsecPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/IpsecPolicy" + }, + "description": "The IPSec Policies to be considered by this connection." + }, + "trafficSelectorPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/TrafficSelectorPolicy" + }, + "description": "The Traffic Selector Policies to be considered by this connection." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the virtual network gateway connection resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual network gateway connection resource." + }, + "expressRouteGatewayBypass": { + "type": "boolean", + "description": "Bypass ExpressRoute Gateway for data forwarding." + } + }, + "required": [ + "virtualNetworkGateway1", + "connectionType" + ], + "description": "VirtualNetworkGatewayConnection properties." + }, + "VirtualNetworkGatewayConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkGatewayConnectionPropertiesFormat", + "description": "Properties of the virtual network gateway connection." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "description": "A common class for general resource information." + }, + "VirtualNetworkGatewayConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + }, + "description": "A list of VirtualNetworkGatewayConnection resources that exists in a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListVirtualNetworkGatewayConnections API service call." + }, + "ConnectionResetSharedKey": { + "properties": { + "keyLength": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 128, + "description": "The virtual network connection reset shared key length, should between 1 and 128." + } + }, + "required": [ + "keyLength" + ], + "description": "The virtual network connection reset shared key." + }, + "ConnectionSharedKey": { + "properties": { + "value": { + "type": "string", + "description": "The virtual network connection shared key value." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "required": [ + "value" + ], + "description": "Response for GetConnectionSharedKey API service call." + }, + "IpsecPolicy": { + "properties": { + "saLifeTimeSeconds": { + "type": "integer", + "format": "int32", + "description": "The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel." + }, + "saDataSizeKilobytes": { + "type": "integer", + "format": "int32", + "description": "The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel." + }, + "ipsecEncryption": { + "$ref": "#/definitions/IpsecEncryption", + "description": "The IPSec encryption algorithm (IKE phase 1)." + }, + "ipsecIntegrity": { + "$ref": "#/definitions/IpsecIntegrity", + "description": "The IPSec integrity algorithm (IKE phase 1)." + }, + "ikeEncryption": { + "$ref": "#/definitions/IkeEncryption", + "description": "The IKE encryption algorithm (IKE phase 2)." + }, + "ikeIntegrity": { + "$ref": "#/definitions/IkeIntegrity", + "description": "The IKE integrity algorithm (IKE phase 2)." + }, + "dhGroup": { + "$ref": "#/definitions/DhGroup", + "description": "The DH Group used in IKE Phase 1 for initial SA." + }, + "pfsGroup": { + "$ref": "#/definitions/PfsGroup", + "description": "The Pfs Group used in IKE Phase 2 for new child SA." + } + }, + "required": [ + "saLifeTimeSeconds", + "saDataSizeKilobytes", + "ipsecEncryption", + "ipsecIntegrity", + "ikeEncryption", + "ikeIntegrity", + "dhGroup", + "pfsGroup" + ], + "description": "An IPSec Policy configuration for a virtual network gateway connection." + }, + "TrafficSelectorPolicy": { + "properties": { + "localAddressRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A collection of local address spaces in CIDR format." + }, + "remoteAddressRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A collection of remote address spaces in CIDR format." + } + }, + "required": [ + "localAddressRanges", + "remoteAddressRanges" + ], + "description": "An traffic selector policy for a virtual network gateway connection." + }, + "ConnectionProtocol": { + "type": "string", + "description": "Gateway connection protocol.", + "enum": [ + "IKEv2", + "IKEv1" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewayConnectionProtocol", + "modelAsString": true + } + }, + "VpnClientIPsecParameters": { + "properties": { + "saLifeTimeSeconds": { + "type": "integer", + "format": "int32", + "description": "The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client." + }, + "saDataSizeKilobytes": { + "type": "integer", + "format": "int32", + "description": "The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.." + }, + "ipsecEncryption": { + "$ref": "#/definitions/IpsecEncryption", + "description": "The IPSec encryption algorithm (IKE phase 1)." + }, + "ipsecIntegrity": { + "$ref": "#/definitions/IpsecIntegrity", + "description": "The IPSec integrity algorithm (IKE phase 1)." + }, + "ikeEncryption": { + "$ref": "#/definitions/IkeEncryption", + "description": "The IKE encryption algorithm (IKE phase 2)." + }, + "ikeIntegrity": { + "$ref": "#/definitions/IkeIntegrity", + "description": "The IKE integrity algorithm (IKE phase 2)." + }, + "dhGroup": { + "$ref": "#/definitions/DhGroup", + "description": "The DH Group used in IKE Phase 1 for initial SA." + }, + "pfsGroup": { + "$ref": "#/definitions/PfsGroup", + "description": "The Pfs Group used in IKE Phase 2 for new child SA." + } + }, + "required": [ + "saLifeTimeSeconds", + "saDataSizeKilobytes", + "ipsecEncryption", + "ipsecIntegrity", + "ikeEncryption", + "ikeIntegrity", + "dhGroup", + "pfsGroup" + ], + "description": "An IPSec parameters for a virtual network gateway P2S connection." + }, + "LocalNetworkGatewayPropertiesFormat": { + "properties": { + "localNetworkAddressSpace": { + "$ref": "./virtualNetwork.json#/definitions/AddressSpace", + "description": "Local network site address space." + }, + "gatewayIpAddress": { + "type": "string", + "description": "IP address of local network gateway." + }, + "fqdn": { + "type": "string", + "description": "FQDN of local network gateway." + }, + "bgpSettings": { + "$ref": "#/definitions/BgpSettings", + "description": "Local network gateway's BGP speaker settings." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the local network gateway resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the local network gateway resource." + } + }, + "description": "LocalNetworkGateway properties." + }, + "LocalNetworkGateway": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LocalNetworkGatewayPropertiesFormat", + "description": "Properties of the local network gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "description": "A common class for general resource information." + }, + "LocalNetworkGatewayListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LocalNetworkGateway" + }, + "description": "A list of local network gateways that exists in a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListLocalNetworkGateways API service call." + }, + "VirtualNetworkConnectionGatewayReference": { + "properties": { + "id": { + "type": "string", + "description": "The ID of VirtualNetworkGateway or LocalNetworkGateway resource." + } + }, + "required": [ + "id" + ], + "description": "A reference to VirtualNetworkGateway or LocalNetworkGateway resource." + }, + "VirtualNetworkGatewayConnectionListEntityPropertiesFormat": { + "properties": { + "authorizationKey": { + "type": "string", + "description": "The authorizationKey." + }, + "virtualNetworkGateway1": { + "$ref": "#/definitions/VirtualNetworkConnectionGatewayReference", + "description": "The reference to virtual network gateway resource." + }, + "virtualNetworkGateway2": { + "$ref": "#/definitions/VirtualNetworkConnectionGatewayReference", + "description": "The reference to virtual network gateway resource." + }, + "localNetworkGateway2": { + "$ref": "#/definitions/VirtualNetworkConnectionGatewayReference", + "description": "The reference to local network gateway resource." + }, + "connectionType": { + "$ref": "#/definitions/VirtualNetworkGatewayConnectionType", + "description": "Gateway connection type." + }, + "connectionProtocol": { + "$ref": "#/definitions/ConnectionProtocol", + "description": "Connection protocol used for this connection." + }, + "routingWeight": { + "type": "integer", + "format": "int32", + "description": "The routing weight." + }, + "connectionMode": { + "$ref": "#/definitions/VirtualNetworkGatewayConnectionMode", + "description": "The connection mode for this connection." + }, + "sharedKey": { + "type": "string", + "description": "The IPSec shared key." + }, + "connectionStatus": { + "readOnly": true, + "$ref": "#/definitions/VirtualNetworkGatewayConnectionStatus", + "description": "Virtual Network Gateway connection status." + }, + "tunnelConnectionStatus": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TunnelConnectionHealth" + }, + "description": "Collection of all tunnels' connection health status." + }, + "egressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The egress bytes transferred in this connection." + }, + "ingressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The ingress bytes transferred in this connection." + }, + "peer": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to peerings resource." + }, + "enableBgp": { + "type": "boolean", + "description": "EnableBgp flag." + }, + "usePolicyBasedTrafficSelectors": { + "type": "boolean", + "description": "Enable policy-based traffic selectors." + }, + "ipsecPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/IpsecPolicy" + }, + "description": "The IPSec Policies to be considered by this connection." + }, + "trafficSelectorPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/TrafficSelectorPolicy" + }, + "description": "The Traffic Selector Policies to be considered by this connection." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the virtual network gateway connection resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual network gateway connection resource." + }, + "expressRouteGatewayBypass": { + "type": "boolean", + "description": "Bypass ExpressRoute Gateway for data forwarding." + } + }, + "required": [ + "virtualNetworkGateway1", + "connectionType" + ], + "description": "VirtualNetworkGatewayConnection properties." + }, + "VirtualNetworkGatewayConnectionListEntity": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkGatewayConnectionListEntityPropertiesFormat", + "description": "Properties of the virtual network gateway connection." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "description": "A common class for general resource information." + }, + "VirtualNetworkGatewayListConnectionsResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayConnectionListEntity" + }, + "description": "A list of VirtualNetworkGatewayConnection resources that exists in a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the VirtualNetworkGatewayListConnections API service call." + }, + "VpnDeviceScriptParameters": { + "properties": { + "vendor": { + "type": "string", + "description": "The vendor for the vpn device." + }, + "deviceFamily": { + "type": "string", + "description": "The device family for the vpn device." + }, + "firmwareVersion": { + "type": "string", + "description": "The firmware version for the vpn device." + } + }, + "description": "Vpn device configuration script generation parameters." + }, + "DhGroup": { + "type": "string", + "description": "The DH Groups used in IKE Phase 1 for initial SA.", + "enum": [ + "None", + "DHGroup1", + "DHGroup2", + "DHGroup14", + "DHGroup2048", + "ECP256", + "ECP384", + "DHGroup24" + ], + "x-ms-enum": { + "name": "DhGroup", + "modelAsString": true + } + }, + "IkeEncryption": { + "type": "string", + "description": "The IKE encryption algorithm (IKE phase 2).", + "enum": [ + "DES", + "DES3", + "AES128", + "AES192", + "AES256", + "GCMAES256", + "GCMAES128" + ], + "x-ms-enum": { + "name": "IkeEncryption", + "modelAsString": true + } + }, + "IkeIntegrity": { + "type": "string", + "description": "The IKE integrity algorithm (IKE phase 2).", + "enum": [ + "MD5", + "SHA1", + "SHA256", + "SHA384", + "GCMAES256", + "GCMAES128" + ], + "x-ms-enum": { + "name": "IkeIntegrity", + "modelAsString": true + } + }, + "IpsecEncryption": { + "type": "string", + "description": "The IPSec encryption algorithm (IKE phase 1).", + "enum": [ + "None", + "DES", + "DES3", + "AES128", + "AES192", + "AES256", + "GCMAES128", + "GCMAES192", + "GCMAES256" + ], + "x-ms-enum": { + "name": "IpsecEncryption", + "modelAsString": true + } + }, + "IpsecIntegrity": { + "type": "string", + "description": "The IPSec integrity algorithm (IKE phase 1).", + "enum": [ + "MD5", + "SHA1", + "SHA256", + "GCMAES128", + "GCMAES192", + "GCMAES256" + ], + "x-ms-enum": { + "name": "IpsecIntegrity", + "modelAsString": true + } + }, + "PfsGroup": { + "type": "string", + "description": "The Pfs Groups used in IKE Phase 2 for new child SA.", + "enum": [ + "None", + "PFS1", + "PFS2", + "PFS2048", + "ECP256", + "ECP384", + "PFS24", + "PFS14", + "PFSMM" + ], + "x-ms-enum": { + "name": "PfsGroup", + "modelAsString": true + } + }, + "VirtualNetworkGatewayConnectionStatus": { + "type": "string", + "description": "Virtual Network Gateway connection status.", + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewayConnectionStatus", + "modelAsString": true + } + }, + "VirtualNetworkGatewayConnectionType": { + "type": "string", + "description": "Gateway connection type.", + "enum": [ + "IPsec", + "Vnet2Vnet", + "ExpressRoute", + "VPNClient" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewayConnectionType", + "modelAsString": true + } + }, + "VirtualNetworkGatewayConnectionMode": { + "type": "string", + "description": "Gateway connection type.", + "enum": [ + "Default", + "ResponderOnly", + "InitiatorOnly" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewayConnectionMode", + "modelAsString": true + } + }, + "VpnClientConnectionHealthDetailListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnClientConnectionHealthDetail" + }, + "description": "List of vpn client connection health." + } + }, + "description": "List of virtual network gateway vpn client connection health." + }, + "VpnClientConnectionHealthDetail": { + "properties": { + "vpnConnectionId": { + "type": "string", + "readOnly": true, + "description": "The vpn client Id." + }, + "vpnConnectionDuration": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The duration time of a connected vpn client." + }, + "vpnConnectionTime": { + "type": "string", + "readOnly": true, + "description": "The start time of a connected vpn client." + }, + "publicIpAddress": { + "type": "string", + "readOnly": true, + "description": "The public Ip of a connected vpn client." + }, + "privateIpAddress": { + "type": "string", + "readOnly": true, + "description": "The assigned private Ip of a connected vpn client." + }, + "vpnUserName": { + "type": "string", + "readOnly": true, + "description": "The user name of a connected vpn client." + }, + "maxBandwidth": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The max band width." + }, + "egressPacketsTransferred": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The egress packets per second." + }, + "egressBytesTransferred": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The egress bytes per second." + }, + "ingressPacketsTransferred": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The ingress packets per second." + }, + "ingressBytesTransferred": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The ingress bytes per second." + }, + "maxPacketsPerSecond": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The max packets transferred per second." + } + }, + "description": "VPN client connection health detail." + }, + "VpnPacketCaptureStopParameters": { + "properties": { + "sasUrl": { + "type": "string", + "description": "SAS url for packet capture on virtual network gateway." + } + }, + "description": "Stop packet capture parameters." + }, + "VpnPacketCaptureStartParameters": { + "properties": { + "filterData": { + "type": "string", + "description": "Start Packet capture parameters." + } + }, + "description": "Start packet capture parameters on virtual network gateway." + }, + "IPConfigurationBgpPeeringAddress": { + "properties": { + "ipconfigurationId": { + "type": "string", + "description": "The ID of IP configuration which belongs to gateway." + }, + "defaultBgpIpAddresses": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of default BGP peering addresses which belong to IP configuration." + }, + "customBgpIpAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of custom BGP peering addresses which belong to IP configuration." + }, + "tunnelIpAddresses": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of tunnel public IP addresses which belong to IP configuration." + } + }, + "description": "Properties of IPConfigurationBgpPeeringAddress." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/virtualNetworkTap.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/virtualNetworkTap.json new file mode 100644 index 000000000000..09fe1c40938c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/virtualNetworkTap.json @@ -0,0 +1,426 @@ +{ + "swagger": "2.0", + "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-05-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.Network/virtualNetworkTaps/{tapName}": { + "delete": { + "tags": [ + "VirtualNetworkTap" + ], + "operationId": "VirtualNetworkTaps_Delete", + "description": "Deletes the specified virtual network tap.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "tapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network tap." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted. Sets 'Deleting' provisioningState until the operation completes. Returns an operation URI that can be queried to find the current state of the operation." + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Virtual Network Tap resource": { + "$ref": "./examples/VirtualNetworkTapDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "VirtualNetworkTap" + ], + "operationId": "VirtualNetworkTaps_Get", + "description": "Gets information about the specified virtual network tap.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "tapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of virtual network tap." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting VirtualNetworkTap resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkTap" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Virtual Network Tap": { + "$ref": "./examples/VirtualNetworkTapGet.json" + } + } + }, + "put": { + "tags": [ + "VirtualNetworkTap" + ], + "operationId": "VirtualNetworkTaps_CreateOrUpdate", + "description": "Creates or updates a Virtual Network Tap.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "tapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network tap." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkTap" + }, + "description": "Parameters supplied to the create or update virtual network tap operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkTap resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkTap" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetworkTap resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkTap" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Virtual Network Tap": { + "$ref": "./examples/VirtualNetworkTapCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "VirtualNetworkTap" + ], + "operationId": "VirtualNetworkTaps_UpdateTags", + "description": "Updates an VirtualNetworkTap tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "tapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tap." + }, + { + "name": "tapParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update VirtualNetworkTap tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkTap resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkTap" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update virtual network tap tags": { + "$ref": "./examples/VirtualNetworkTapUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworkTaps": { + "get": { + "tags": [ + "VirtualNetworkTaps" + ], + "operationId": "VirtualNetworkTaps_ListAll", + "description": "Gets all the VirtualNetworkTaps in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Virtual Network Tap resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkTapListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all virtual network taps": { + "$ref": "./examples/VirtualNetworkTapListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps": { + "get": { + "tags": [ + "VirtualNetworkTaps" + ], + "operationId": "VirtualNetworkTaps_ListByResourceGroup", + "description": "Gets all the VirtualNetworkTaps in a subscription.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Virtual Network Tap resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkTapListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List virtual network taps in resource group": { + "$ref": "./examples/VirtualNetworkTapList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "VirtualNetworkTap": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkTapPropertiesFormat", + "description": "Virtual Network Tap Properties." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Virtual Network Tap resource." + }, + "VirtualNetworkTapPropertiesFormat": { + "description": "Virtual Network Tap properties.", + "properties": { + "networkInterfaceTapConfigurations": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceTapConfiguration", + "description": "The reference to the Network Interface." + }, + "description": "Specifies the list of resource IDs for the network interface IP configuration that needs to be tapped." + }, + "resourceGuid": { + "type": "string", + "readOnly": true, + "description": "The resource GUID property of the virtual network tap resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual network tap resource." + }, + "destinationNetworkInterfaceIPConfiguration": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration", + "description": "The reference to the private IP Address of the collector nic that will receive the tap." + }, + "destinationLoadBalancerFrontEndIPConfiguration": { + "$ref": "./loadBalancer.json#/definitions/FrontendIPConfiguration", + "description": "The reference to the private IP address on the internal Load Balancer that will receive the tap." + }, + "destinationPort": { + "type": "integer", + "description": "The VXLAN destination port that will receive the tapped traffic." + } + } + }, + "VirtualNetworkTapListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkTap" + }, + "description": "A list of VirtualNetworkTaps in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListVirtualNetworkTap API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/virtualRouter.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/virtualRouter.json new file mode 100644 index 000000000000..0ad4786ca4cd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/virtualRouter.json @@ -0,0 +1,698 @@ +{ + "swagger": "2.0", + "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-05-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.Network/virtualRouters/{virtualRouterName}": { + "delete": { + "tags": [ + "VirtualRouters" + ], + "operationId": "VirtualRouters_Delete", + "description": "Deletes the specified Virtual Router.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Delete VirtualRouter": { + "$ref": "./examples/VirtualRouterDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "VirtualRouters" + ], + "operationId": "VirtualRouters_Get", + "description": "Gets the specified Virtual Router.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a Virtual Router resource.", + "schema": { + "$ref": "#/definitions/VirtualRouter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Get VirtualRouter": { + "$ref": "./examples/VirtualRouterGet.json" + } + } + }, + "put": { + "tags": [ + "VirtualRouters" + ], + "operationId": "VirtualRouters_CreateOrUpdate", + "description": "Creates or updates the specified Virtual Router.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualRouter" + }, + "description": "Parameters supplied to the create or update Virtual Router." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request received successfully. The operation returns the resulting Virtual Router resource.", + "schema": { + "$ref": "#/definitions/VirtualRouter" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting Virtual Router resource.", + "schema": { + "$ref": "#/definitions/VirtualRouter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Create VirtualRouter": { + "$ref": "./examples/VirtualRouterPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters": { + "get": { + "tags": [ + "VirtualRouters" + ], + "operationId": "VirtualRouters_ListByResourceGroup", + "description": "Lists all Virtual Routers in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Virtual Router resources.", + "schema": { + "$ref": "#/definitions/VirtualRouterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List all Virtual Router for a given resource group": { + "$ref": "./examples/VirtualRouterListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualRouters": { + "get": { + "tags": [ + "VirtualRouters" + ], + "operationId": "VirtualRouters_List", + "description": "Gets all the Virtual Routers in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Virtual Router resources.", + "schema": { + "$ref": "#/definitions/VirtualRouterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List all Virtual Routers for a given subscription": { + "$ref": "./examples/VirtualRouterListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}": { + "delete": { + "tags": [ + "VirtualRouterPeerings" + ], + "operationId": "VirtualRouterPeerings_Delete", + "description": "Deletes the specified peering from a Virtual Router.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Delete VirtualRouterPeering": { + "$ref": "./examples/VirtualRouterPeeringDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "VirtualRouterPeerings" + ], + "operationId": "VirtualRouterPeerings_Get", + "description": "Gets the specified Virtual Router Peering.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router Peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a Virtual Router Peering resource.", + "schema": { + "$ref": "#/definitions/VirtualRouterPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Get Virtual Router Peering": { + "$ref": "./examples/VirtualRouterPeeringGet.json" + } + } + }, + "put": { + "tags": [ + "VirtualRouterPeerings" + ], + "operationId": "VirtualRouterPeerings_CreateOrUpdate", + "description": "Creates or updates the specified Virtual Router Peering.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router Peering." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualRouterPeering" + }, + "description": "Parameters supplied to the create or update Virtual Router Peering operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request received successfully. The operation returns the resulting Virtual Router Peering resource.", + "schema": { + "$ref": "#/definitions/VirtualRouterPeering" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting Virtual Router Peering resource.", + "schema": { + "$ref": "#/definitions/VirtualRouterPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Create Virtual Router Peering": { + "$ref": "./examples/VirtualRouterPeeringPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings": { + "get": { + "tags": [ + "VirtualRouterPeerings" + ], + "operationId": "VirtualRouterPeerings_List", + "description": "Lists all Virtual Router Peerings in a Virtual Router resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Virtual Router Peering resources.", + "schema": { + "$ref": "#/definitions/VirtualRouterPeeringListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List all Virtual Router Peerings for a given Virtual Router": { + "$ref": "./examples/VirtualRouterPeeringList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "VirtualRouter": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualRouterPropertiesFormat", + "description": "Properties of the Virtual Router." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "VirtualRouter Resource." + }, + "VirtualRouterPropertiesFormat": { + "properties": { + "virtualRouterAsn": { + "type": "integer", + "readOnly": false, + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "VirtualRouter ASN." + }, + "virtualRouterIps": { + "type": "array", + "readOnly": false, + "description": "VirtualRouter IPs.", + "items": { + "type": "string" + } + }, + "hostedSubnet": { + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource", + "description": "The Subnet on which VirtualRouter is hosted." + }, + "hostedGateway": { + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource", + "description": "The Gateway on which VirtualRouter is hosted." + }, + "peerings": { + "type": "array", + "readOnly": true, + "description": "List of references to VirtualRouterPeerings.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + } + }, + "description": "Virtual Router definition." + }, + "VirtualRouterPeering": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualRouterPeeringProperties", + "description": "The properties of the Virtual Router Peering." + }, + "name": { + "type": "string", + "description": "Name of the virtual router peering that is unique within a virtual router." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Peering type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Virtual Router Peering resource." + }, + "VirtualRouterPeeringProperties": { + "properties": { + "peerAsn": { + "type": "integer", + "readOnly": false, + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "Peer ASN." + }, + "peerIp": { + "type": "string", + "readOnly": false, + "description": "Peer IP." + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + } + }, + "description": "Properties of the rule group." + }, + "VirtualRouterListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualRouter" + }, + "description": "List of Virtual Routers." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListVirtualRouters API service call." + }, + "VirtualRouterPeeringListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualRouterPeering" + }, + "description": "List of VirtualRouterPeerings in a VirtualRouter." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListVirtualRouterPeerings API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/virtualWan.json new file mode 100644 index 000000000000..48f4fa2302bf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/virtualWan.json @@ -0,0 +1,8265 @@ +{ + "swagger": "2.0", + "info": { + "title": "VirtualWANAsAServiceManagementClient", + "description": "REST API for Azure VirtualWAN As a Service.", + "version": "2021-05-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.Network/virtualWans/{VirtualWANName}": { + "get": { + "operationId": "VirtualWans_Get", + "x-ms-examples": { + "VirtualWANGet": { + "$ref": "./examples/VirtualWANGet.json" + } + }, + "description": "Retrieves the details of a VirtualWAN.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualWan." + }, + { + "name": "VirtualWANName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualWAN being retrieved." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VirtualWAN retrieved.", + "schema": { + "$ref": "#/definitions/VirtualWAN" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VirtualWans_CreateOrUpdate", + "x-ms-examples": { + "VirtualWANCreate": { + "$ref": "./examples/VirtualWANPut.json" + } + }, + "description": "Creates a VirtualWAN resource if it doesn't exist else updates the existing VirtualWAN.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualWan." + }, + { + "name": "VirtualWANName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualWAN being created or updated." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "WANParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualWAN" + }, + "description": "Parameters supplied to create or update VirtualWAN." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VirtualWAN created or updated.", + "schema": { + "$ref": "#/definitions/VirtualWAN" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualWAN resource.", + "schema": { + "$ref": "#/definitions/VirtualWAN" + } + }, + "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" + } + }, + "patch": { + "tags": [ + "VirtualWANs" + ], + "operationId": "VirtualWans_UpdateTags", + "x-ms-examples": { + "VirtualWANUpdate": { + "$ref": "./examples/VirtualWANUpdateTags.json" + } + }, + "description": "Updates a VirtualWAN tags.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualWan." + }, + { + "name": "VirtualWANName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualWAN being updated." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "WANParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to Update VirtualWAN tags." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VirtualWAN updated.", + "schema": { + "$ref": "#/definitions/VirtualWAN" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "VirtualWans_Delete", + "x-ms-examples": { + "VirtualWANDelete": { + "$ref": "./examples/VirtualWANDelete.json" + } + }, + "description": "Deletes a VirtualWAN.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualWan." + }, + { + "name": "VirtualWANName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualWAN being deleted." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. VirtualWAN deleted." + }, + "202": { + "description": "Request received successfully. VirtualWAN deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No VirtualWANs exist 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/virtualWans": { + "get": { + "operationId": "VirtualWans_ListByResourceGroup", + "x-ms-examples": { + "VirtualWANListByResourceGroup": { + "$ref": "./examples/VirtualWANListByResourceGroup.json" + } + }, + "description": "Lists all the VirtualWANs in a resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualWan." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VirtualWANs in the resource group.", + "schema": { + "$ref": "#/definitions/ListVirtualWANsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualWans": { + "get": { + "operationId": "VirtualWans_List", + "x-ms-examples": { + "VirtualWANList": { + "$ref": "./examples/VirtualWANList.json" + } + }, + "description": "Lists all the VirtualWANs in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VirtualWANs in the subscription.", + "schema": { + "$ref": "#/definitions/ListVirtualWANsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}": { + "get": { + "operationId": "VpnSites_Get", + "x-ms-examples": { + "VpnSiteGet": { + "$ref": "./examples/VpnSiteGet.json" + } + }, + "description": "Retrieves the details of a VPN site.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnSite." + }, + { + "name": "vpnSiteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnSite being retrieved." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VpnSite retrieved.", + "schema": { + "$ref": "#/definitions/VpnSite" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VpnSites_CreateOrUpdate", + "x-ms-examples": { + "VpnSiteCreate": { + "$ref": "./examples/VpnSitePut.json" + } + }, + "description": "Creates a VpnSite resource if it doesn't exist else updates the existing VpnSite.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnSite." + }, + { + "name": "vpnSiteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnSite being created or updated." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "VpnSiteParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnSite" + }, + "description": "Parameters supplied to create or update VpnSite." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VpnSite created or updated.", + "schema": { + "$ref": "#/definitions/VpnSite" + } + }, + "201": { + "description": "Request received successfully. Returns the details of the VpnSite created or updated.", + "schema": { + "$ref": "#/definitions/VpnSite" + } + }, + "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" + } + }, + "patch": { + "tags": [ + "VpnSites" + ], + "operationId": "VpnSites_UpdateTags", + "x-ms-examples": { + "VpnSiteUpdate": { + "$ref": "./examples/VpnSiteUpdateTags.json" + } + }, + "description": "Updates VpnSite tags.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnSite." + }, + { + "name": "vpnSiteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnSite being updated." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "VpnSiteParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update VpnSite tags." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VpnSite updated.", + "schema": { + "$ref": "#/definitions/VpnSite" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "VpnSites_Delete", + "x-ms-examples": { + "VpnSiteDelete": { + "$ref": "./examples/VpnSiteDelete.json" + } + }, + "description": "Deletes a VpnSite.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnSite." + }, + { + "name": "vpnSiteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnSite being deleted." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. VpnSite deleted." + }, + "202": { + "description": "Request received successfully. VpnSite deletion is in progress." + }, + "204": { + "description": "No VpnSites exist 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/vpnSites": { + "get": { + "operationId": "VpnSites_ListByResourceGroup", + "x-ms-examples": { + "VpnSiteListByResourceGroup": { + "$ref": "./examples/VpnSiteListByResourceGroup.json" + } + }, + "description": "Lists all the vpnSites in a resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnSite." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the vpnSites in the resource group.", + "schema": { + "$ref": "#/definitions/ListVpnSitesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks/{vpnSiteLinkName}": { + "get": { + "operationId": "VpnSiteLinks_Get", + "x-ms-examples": { + "VpnSiteGet": { + "$ref": "./examples/VpnSiteLinkGet.json" + } + }, + "description": "Retrieves the details of a VPN site link.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnSite." + }, + { + "name": "vpnSiteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnSite." + }, + { + "name": "vpnSiteLinkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnSiteLink being retrieved." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VpnSiteLink retrieved.", + "schema": { + "$ref": "#/definitions/VpnSiteLink" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks": { + "get": { + "operationId": "VpnSiteLinks_ListByVpnSite", + "x-ms-examples": { + "VpnSiteLinkListByVpnSite": { + "$ref": "./examples/VpnSiteLinkListByVpnSite.json" + } + }, + "description": "Lists all the vpnSiteLinks in a resource group for a vpn site.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnSite." + }, + { + "name": "vpnSiteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnSite." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the vpnSites in the resource group.", + "schema": { + "$ref": "#/definitions/ListVpnSiteLinksResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnSites": { + "get": { + "operationId": "VpnSites_List", + "x-ms-examples": { + "VpnSiteList": { + "$ref": "./examples/VpnSiteList.json" + } + }, + "description": "Lists all the VpnSites in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VpnSites in the subscription.", + "schema": { + "$ref": "#/definitions/ListVpnSitesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnConfiguration": { + "post": { + "operationId": "VpnSitesConfiguration_Download", + "x-ms-examples": { + "VpnSitesConfigurationDownload": { + "$ref": "./examples/VpnSitesConfigurationDownload.json" + } + }, + "description": "Gives the sas-url to download the configurations for vpn-sites in a resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name." + }, + { + "name": "virtualWANName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualWAN for which configuration of all vpn-sites is needed." + }, + { + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetVpnSitesConfigurationRequest" + }, + "description": "Parameters supplied to download vpn-sites configuration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Follow the location header for sas-url to output blob." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously. Follow the location header for sas-url to output blob." + }, + "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/virtualWans/{virtualWANName}/supportedSecurityProviders": { + "get": { + "operationId": "SupportedSecurityProviders", + "x-ms-examples": { + "supportedSecurityProviders": { + "$ref": "./examples/VirtualWanSupportedSecurityProviders.json" + } + }, + "description": "Gives the supported security providers for the virtual wan.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name." + }, + { + "name": "virtualWANName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualWAN for which supported security providers are needed." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the object containing supported security providers.", + "schema": { + "$ref": "#/definitions/VirtualWanSecurityProviders" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}": { + "get": { + "operationId": "VpnServerConfigurations_Get", + "x-ms-examples": { + "VpnServerConfigurationGet": { + "$ref": "./examples/VpnServerConfigurationGet.json" + } + }, + "description": "Retrieves the details of a VpnServerConfiguration.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnServerConfiguration." + }, + { + "name": "vpnServerConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnServerConfiguration being retrieved." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VpnServerConfiguration retrieved.", + "schema": { + "$ref": "#/definitions/VpnServerConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VpnServerConfigurations_CreateOrUpdate", + "x-ms-examples": { + "VpnServerConfigurationCreate": { + "$ref": "./examples/VpnServerConfigurationPut.json" + } + }, + "description": "Creates a VpnServerConfiguration resource if it doesn't exist else updates the existing VpnServerConfiguration.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnServerConfiguration." + }, + { + "name": "vpnServerConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnServerConfiguration being created or updated." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "VpnServerConfigurationParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnServerConfiguration" + }, + "description": "Parameters supplied to create or update VpnServerConfiguration." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VpnServerConfiguration created or updated.", + "schema": { + "$ref": "#/definitions/VpnServerConfiguration" + } + }, + "201": { + "description": "Request received successfully. Returns the details of the VpnServerConfiguration created or updated.", + "schema": { + "$ref": "#/definitions/VpnServerConfiguration" + } + }, + "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" + } + }, + "patch": { + "tags": [ + "VpnServerConfigurations" + ], + "operationId": "VpnServerConfigurations_UpdateTags", + "x-ms-examples": { + "VpnServerConfigurationUpdate": { + "$ref": "./examples/VpnServerConfigurationUpdateTags.json" + } + }, + "description": "Updates VpnServerConfiguration tags.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnServerConfiguration." + }, + { + "name": "vpnServerConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnServerConfiguration being updated." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "VpnServerConfigurationParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update VpnServerConfiguration tags." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VpnServerConfiguration updated.", + "schema": { + "$ref": "#/definitions/VpnServerConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "VpnServerConfigurations_Delete", + "x-ms-examples": { + "VpnServerConfigurationDelete": { + "$ref": "./examples/VpnServerConfigurationDelete.json" + } + }, + "description": "Deletes a VpnServerConfiguration.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnServerConfiguration." + }, + { + "name": "vpnServerConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnServerConfiguration being deleted." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. VpnServerConfiguration deleted." + }, + "202": { + "description": "Request received successfully. VpnServerConfiguration deletion is in progress." + }, + "204": { + "description": "No VpnServerConfigurations exist 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/vpnServerConfigurations": { + "get": { + "operationId": "VpnServerConfigurations_ListByResourceGroup", + "x-ms-examples": { + "VpnServerConfigurationListByResourceGroup": { + "$ref": "./examples/VpnServerConfigurationListByResourceGroup.json" + } + }, + "description": "Lists all the vpnServerConfigurations in a resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnServerConfiguration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the vpnServerConfigurations in the resource group.", + "schema": { + "$ref": "#/definitions/ListVpnServerConfigurationsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnServerConfigurations": { + "get": { + "operationId": "VpnServerConfigurations_List", + "x-ms-examples": { + "VpnServerConfigurationList": { + "$ref": "./examples/VpnServerConfigurationList.json" + } + }, + "description": "Lists all the VpnServerConfigurations in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VpnServerConfigurations in the subscription.", + "schema": { + "$ref": "#/definitions/ListVpnServerConfigurationsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}": { + "get": { + "operationId": "VirtualHubs_Get", + "x-ms-examples": { + "VirtualHubGet": { + "$ref": "./examples/VirtualHubGet.json" + } + }, + "description": "Retrieves the details of a 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 the VirtualHub retrieved.", + "schema": { + "$ref": "#/definitions/VirtualHub" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VirtualHubs_CreateOrUpdate", + "x-ms-examples": { + "VirtualHubPut": { + "$ref": "./examples/VirtualHubPut.json" + } + }, + "description": "Creates a VirtualHub resource if it doesn't exist else updates the existing 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" + }, + { + "name": "virtualHubParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualHub" + }, + "description": "Parameters supplied to create or update VirtualHub." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VirtualHub created or updated.", + "schema": { + "$ref": "#/definitions/VirtualHub" + } + }, + "201": { + "description": "Request received successfully. Returns the details of the VirtualHub created or updated.", + "schema": { + "$ref": "#/definitions/VirtualHub" + } + }, + "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" + } + }, + "patch": { + "tags": [ + "VirtualWANs" + ], + "operationId": "VirtualHubs_UpdateTags", + "x-ms-examples": { + "VirtualHubUpdate": { + "$ref": "./examples/VirtualHubUpdateTags.json" + } + }, + "description": "Updates VirtualHub tags.", + "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" + }, + { + "name": "virtualHubParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update VirtualHub tags." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VirtualHub updated.", + "schema": { + "$ref": "#/definitions/VirtualHub" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "VirtualHubs_Delete", + "x-ms-examples": { + "VirtualHubDelete": { + "$ref": "./examples/VirtualHubDelete.json" + } + }, + "description": "Deletes a 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. VirtualHub deleted." + }, + "202": { + "description": "Request received successfully. VirtualHub deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No VirtualHubs exist 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": { + "get": { + "operationId": "VirtualHubs_ListByResourceGroup", + "x-ms-examples": { + "VirtualHubListByResourceGroup": { + "$ref": "./examples/VirtualHubListByResourceGroup.json" + } + }, + "description": "Lists all the VirtualHubs in a resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VirtualHubs in the resource group.", + "schema": { + "$ref": "#/definitions/ListVirtualHubsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualHubs": { + "get": { + "operationId": "VirtualHubs_List", + "x-ms-examples": { + "VirtualHubList": { + "$ref": "./examples/VirtualHubList.json" + } + }, + "description": "Lists all the VirtualHubs in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VirtualHubs in the subscription.", + "schema": { + "$ref": "#/definitions/ListVirtualHubsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections/{connectionName}": { + "put": { + "operationId": "HubVirtualNetworkConnections_CreateOrUpdate", + "x-ms-examples": { + "HubVirtualNetworkConnectionPut": { + "$ref": "./examples/HubVirtualNetworkConnectionPut.json" + } + }, + "description": "Creates a hub virtual network connection if it doesn't exist else updates the existing one.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the HubVirtualNetworkConnection." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the HubVirtualNetworkConnection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "hubVirtualNetworkConnectionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HubVirtualNetworkConnection" + }, + "description": "Parameters supplied to create or update a hub virtual network connection." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the hub virtual network connection created or updated.", + "schema": { + "$ref": "#/definitions/HubVirtualNetworkConnection" + } + }, + "201": { + "description": "Request successful. Returns the details of the hub virtual network connection retrieved.", + "schema": { + "$ref": "#/definitions/HubVirtualNetworkConnection" + } + }, + "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" + } + }, + "delete": { + "operationId": "HubVirtualNetworkConnections_Delete", + "x-ms-examples": { + "HubVirtualNetworkConnectionDelete": { + "$ref": "./examples/HubVirtualNetworkConnectionDelete.json" + } + }, + "description": "Deletes a HubVirtualNetworkConnection.", + "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." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the HubVirtualNetworkConnection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. HubVirtualNetworkConnection deleted." + }, + "202": { + "description": "Request received successfully. HubVirtualNetworkConnection deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No HubVirtualNetworkConnection exist 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" + } + }, + "get": { + "operationId": "HubVirtualNetworkConnections_Get", + "x-ms-examples": { + "HubVirtualNetworkConnectionGet": { + "$ref": "./examples/HubVirtualNetworkConnectionGet.json" + } + }, + "description": "Retrieves the details of a HubVirtualNetworkConnection.", + "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." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the HubVirtualNetworkConnection retrieved.", + "schema": { + "$ref": "#/definitions/HubVirtualNetworkConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections": { + "get": { + "operationId": "HubVirtualNetworkConnections_List", + "x-ms-examples": { + "HubVirtualNetworkConnectionList": { + "$ref": "./examples/HubVirtualNetworkConnectionList.json" + } + }, + "description": "Retrieves the details of all HubVirtualNetworkConnections.", + "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 HubVirtualNetworkConnections for the VirtualHub.", + "schema": { + "$ref": "#/definitions/ListHubVirtualNetworkConnectionsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}": { + "get": { + "operationId": "VpnGateways_Get", + "x-ms-examples": { + "VpnGatewayGet": { + "$ref": "./examples/VpnGatewayGet.json" + } + }, + "description": "Retrieves the details of a virtual wan vpn gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the virtual wan vpn gateway retrieved.", + "schema": { + "$ref": "#/definitions/VpnGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VpnGateways_CreateOrUpdate", + "x-ms-examples": { + "VpnGatewayPut": { + "$ref": "./examples/VpnGatewayPut.json" + } + }, + "description": "Creates a virtual wan vpn gateway if it doesn't exist else updates the existing gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "vpnGatewayParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnGateway" + }, + "description": "Parameters supplied to create or Update a virtual wan vpn gateway." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the virtual wan vpn Gateway created or updated.", + "schema": { + "$ref": "#/definitions/VpnGateway" + } + }, + "201": { + "description": "Request successful. Returns the details of the virtual wan vpn gateway retrieved.", + "schema": { + "$ref": "#/definitions/VpnGateway" + } + }, + "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" + } + }, + "patch": { + "tags": [ + "VpnGateways" + ], + "operationId": "VpnGateways_UpdateTags", + "x-ms-examples": { + "VpnGatewayUpdate": { + "$ref": "./examples/VpnGatewayUpdateTags.json" + } + }, + "description": "Updates virtual wan vpn gateway tags.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "vpnGatewayParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update a virtual wan vpn gateway tags." + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. Returns the details of the updated gateway.", + "schema": { + "$ref": "#/definitions/VpnGateway" + } + }, + "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" + } + }, + "delete": { + "operationId": "VpnGateways_Delete", + "x-ms-examples": { + "VpnGatewayDelete": { + "$ref": "./examples/VpnGatewayDelete.json" + } + }, + "description": "Deletes a virtual wan vpn gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Vpn Gateway deleted." + }, + "202": { + "description": "Request received successfully. Vpn Gateway deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No vpn gateways exist 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/vpnGateways/{gatewayName}/reset": { + "post": { + "tags": [ + "VpnGateways" + ], + "operationId": "VpnGateways_Reset", + "description": "Resets the primary of the vpn gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation reset the primary of the VpnGateway.", + "schema": { + "$ref": "#/definitions/VpnGateway" + } + }, + "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": { + "ResetVpnGateway": { + "$ref": "./examples/VpnGatewayReset.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/startpacketcapture": { + "post": { + "tags": [ + "VpnGateways" + ], + "operationId": "VpnGateways_StartPacketCapture", + "description": "Starts packet capture on vpn gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VpnGatewayPacketCaptureStartParameters" + }, + "description": "Vpn gateway packet capture parameters supplied to start packet capture on vpn gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation packet capture started on vpn gateway.", + "schema": { + "type": "string" + } + }, + "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": { + "Start packet capture on vpn gateway without filter": { + "$ref": "./examples/VpnGatewayStartPacketCapture.json" + }, + "Start packet capture on vpn gateway with filter": { + "$ref": "./examples/VpnGatewayStartPacketCaptureFilterData.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/stoppacketcapture": { + "post": { + "tags": [ + "VpnGateways" + ], + "operationId": "VpnGateways_StopPacketCapture", + "description": "Stops packet capture on vpn gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VpnGatewayPacketCaptureStopParameters" + }, + "description": "Vpn gateway packet capture parameters supplied to stop packet capture on vpn gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation packet capture stopped on vpn gateway.", + "schema": { + "type": "string" + } + }, + "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": { + "Stop packet capture on vpn gateway": { + "$ref": "./examples/VpnGatewayStopPacketCapture.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}/resetconnection": { + "post": { + "tags": [ + "vpnLinkConnections" + ], + "operationId": "VpnLinkConnections_ResetConnection", + "description": "Resets the VpnLink connection specified.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn connection." + }, + { + "name": "linkConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn link connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation ResetConnection will complete asynchronously." + }, + "default": { + "description": "The operation ResetConnection could not be completed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ResetVpnLinkConnection": { + "$ref": "./examples/VpnSiteLinkConnectionReset.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways": { + "get": { + "operationId": "VpnGateways_ListByResourceGroup", + "x-ms-examples": { + "VpnGatewayListByResourceGroup": { + "$ref": "./examples/VpnGatewayListByResourceGroup.json" + } + }, + "description": "Lists all the VpnGateways in a resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VpnGateways in the resource group.", + "schema": { + "$ref": "#/definitions/ListVpnGatewaysResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnGateways": { + "get": { + "operationId": "VpnGateways_List", + "x-ms-examples": { + "VpnGatewayListBySubscription": { + "$ref": "./examples/VpnGatewayList.json" + } + }, + "description": "Lists all the VpnGateways in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VpnGateways in the subscription.", + "schema": { + "$ref": "#/definitions/ListVpnGatewaysResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}": { + "get": { + "operationId": "VpnConnections_Get", + "x-ms-examples": { + "VpnConnectionGet": { + "$ref": "./examples/VpnConnectionGet.json" + } + }, + "description": "Retrieves the details of a vpn connection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the vpn connection.", + "schema": { + "$ref": "#/definitions/VpnConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VpnConnections_CreateOrUpdate", + "x-ms-examples": { + "VpnConnectionPut": { + "$ref": "./examples/VpnConnectionPut.json" + } + }, + "description": "Creates a vpn connection to a scalable vpn gateway if it doesn't exist else updates the existing connection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "VpnConnectionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnConnection" + }, + "description": "Parameters supplied to create or Update a VPN Connection." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the vpn connection created or updated.", + "schema": { + "$ref": "#/definitions/VpnConnection" + } + }, + "201": { + "description": "Request successful. Returns the details of the vpn connection created or updated.", + "schema": { + "$ref": "#/definitions/VpnConnection" + } + }, + "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" + } + }, + "delete": { + "operationId": "VpnConnections_Delete", + "x-ms-examples": { + "VpnConnectionDelete": { + "$ref": "./examples/VpnConnectionDelete.json" + } + }, + "description": "Deletes a vpn connection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Vpn Connection deleted." + }, + "202": { + "description": "Request received successfully. Vpn Connection deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No vpn connections exist 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/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}": { + "get": { + "operationId": "VpnSiteLinkConnections_Get", + "x-ms-examples": { + "VpnSiteLinkConnectionGet": { + "$ref": "./examples/VpnSiteLinkConnectionGet.json" + } + }, + "description": "Retrieves the details of a vpn site link connection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn connection." + }, + { + "name": "linkConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the vpn connection.", + "schema": { + "$ref": "#/definitions/VpnSiteLinkConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}/getikesas": { + "post": { + "operationId": "VpnLinkConnections_GetIkeSas", + "x-ms-examples": { + "GetVpnLinkConnectionIkeSa": { + "$ref": "./examples/VpnSiteLinkConnectionGetIkeSas.json" + } + }, + "description": "Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn connection." + }, + { + "name": "linkConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn link connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation GetIkeSas will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation getikesas completed on vpn site link connection.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "The operation GetIkeSas could not be completed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{vpnConnectionName}/startpacketcapture": { + "post": { + "operationId": "VpnConnections_StartPacketCapture", + "description": "Starts packet capture on Vpn connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "vpnConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn connection." + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VpnConnectionPacketCaptureStartParameters" + }, + "description": "Vpn Connection packet capture parameters supplied to start packet capture on gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture started on vpn connection.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Start packet capture on vpn connection without filter": { + "$ref": "./examples/VpnConnectionStartPacketCapture.json" + }, + "Start packet capture on vpn connection with filter": { + "$ref": "./examples/VpnConnectionStartPacketCaptureFilterData.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{vpnConnectionName}/stoppacketcapture": { + "post": { + "operationId": "VpnConnections_StopPacketCapture", + "description": "Stops packet capture on Vpn connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "vpnConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn connection." + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VpnConnectionPacketCaptureStopParameters" + }, + "description": "Vpn Connection packet capture parameters supplied to stop packet capture on gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture stopped on vpn connection.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Start packet capture on vpn connection without filter": { + "$ref": "./examples/VpnConnectionStopPacketCapture.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections": { + "get": { + "operationId": "VpnConnections_ListByVpnGateway", + "x-ms-examples": { + "VpnConnectionList": { + "$ref": "./examples/VpnConnectionList.json" + } + }, + "description": "Retrieves all vpn connections for a particular virtual wan vpn gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all Vpn connections for a virtual wan vpn gateway.", + "schema": { + "$ref": "#/definitions/ListVpnConnectionsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections": { + "get": { + "operationId": "VpnLinkConnections_ListByVpnConnection", + "x-ms-examples": { + "VpnSiteLinkConnectionList": { + "$ref": "./examples/VpnSiteLinkConnectionList.json" + } + }, + "description": "Retrieves all vpn site link connections for a particular virtual wan vpn gateway vpn connection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the vpn gateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all Vpn connections for a virtual wan vpn gateway.", + "schema": { + "$ref": "#/definitions/ListVpnSiteLinkConnectionsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/natRules/{natRuleName}": { + "get": { + "operationId": "NatRules_Get", + "x-ms-examples": { + "NatRuleGet": { + "$ref": "./examples/NatRuleGet.json" + } + }, + "description": "Retrieves the details of a nat ruleGet.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "natRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the nat rule.", + "schema": { + "$ref": "#/definitions/VpnGatewayNatRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "NatRules_CreateOrUpdate", + "x-ms-examples": { + "NatRulePut": { + "$ref": "./examples/NatRulePut.json" + } + }, + "description": "Creates a nat rule to a scalable vpn gateway if it doesn't exist else updates the existing nat rules.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "natRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "NatRuleParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnGatewayNatRule" + }, + "description": "Parameters supplied to create or Update a Nat Rule." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the nat rule created or updated.", + "schema": { + "$ref": "#/definitions/VpnGatewayNatRule" + } + }, + "201": { + "description": "Request successful. Returns the details of the nat rule created or updated.", + "schema": { + "$ref": "#/definitions/VpnGatewayNatRule" + } + }, + "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" + } + }, + "delete": { + "operationId": "NatRules_Delete", + "x-ms-examples": { + "NatRuleDelete": { + "$ref": "./examples/NatRuleDelete.json" + } + }, + "description": "Deletes a nat rule.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "natRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Nat Rule deleted." + }, + "202": { + "description": "Request received successfully. Nat Rule deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No nat rules exist 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/vpnGateways/{gatewayName}/natRules": { + "get": { + "operationId": "NatRules_ListByVpnGateway", + "x-ms-examples": { + "NatRuleList": { + "$ref": "./examples/NatRuleList.json" + } + }, + "description": "Retrieves all nat rules for a particular virtual wan vpn gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all Nat rules for a virtual wan vpn gateway.", + "schema": { + "$ref": "#/definitions/ListVpnGatewayNatRulesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}": { + "get": { + "operationId": "P2sVpnGateways_Get", + "x-ms-examples": { + "P2SVpnGatewayGet": { + "$ref": "./examples/P2SVpnGatewayGet.json" + } + }, + "description": "Retrieves the details of a virtual wan p2s vpn gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the P2SVpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the virtual wan p2s vpn gateway retrieved.", + "schema": { + "$ref": "#/definitions/P2SVpnGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "P2sVpnGateways_CreateOrUpdate", + "x-ms-examples": { + "P2SVpnGatewayPut": { + "$ref": "./examples/P2SVpnGatewayPut.json" + } + }, + "description": "Creates a virtual wan p2s vpn gateway if it doesn't exist else updates the existing gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the P2SVpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "p2SVpnGatewayParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/P2SVpnGateway" + }, + "description": "Parameters supplied to create or Update a virtual wan p2s vpn gateway." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the virtual wan p2s vpn Gateway created or updated.", + "schema": { + "$ref": "#/definitions/P2SVpnGateway" + } + }, + "201": { + "description": "Request successful. Returns the details of the virtual wan p2s vpn gateway retrieved.", + "schema": { + "$ref": "#/definitions/P2SVpnGateway" + } + }, + "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" + } + }, + "patch": { + "tags": [ + "P2SVpnGateways" + ], + "operationId": "P2sVpnGateways_UpdateTags", + "x-ms-examples": { + "P2SVpnGatewayUpdate": { + "$ref": "./examples/P2SVpnGatewayUpdateTags.json" + } + }, + "description": "Updates virtual wan p2s vpn gateway tags.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the P2SVpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "p2SVpnGatewayParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update a virtual wan p2s vpn gateway tags." + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. Returns the details of the updated gateway.", + "schema": { + "$ref": "#/definitions/P2SVpnGateway" + } + }, + "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" + } + }, + "delete": { + "operationId": "P2sVpnGateways_Delete", + "x-ms-examples": { + "P2SVpnGatewayDelete": { + "$ref": "./examples/P2SVpnGatewayDelete.json" + } + }, + "description": "Deletes a virtual wan p2s vpn gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the P2SVpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. P2SVpnGateway deleted." + }, + "202": { + "description": "Request received successfully. P2SVpnGateway deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No p2s vpn gateways exist 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/p2svpnGateways": { + "get": { + "operationId": "P2sVpnGateways_ListByResourceGroup", + "x-ms-examples": { + "P2SVpnGatewayListByResourceGroup": { + "$ref": "./examples/P2SVpnGatewayListByResourceGroup.json" + } + }, + "description": "Lists all the P2SVpnGateways in a resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the P2SVpnGateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the P2SVpnGateways in the resource group.", + "schema": { + "$ref": "#/definitions/ListP2SVpnGatewaysResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/p2svpnGateways": { + "get": { + "operationId": "P2sVpnGateways_List", + "x-ms-examples": { + "P2SVpnGatewayListBySubscription": { + "$ref": "./examples/P2SVpnGatewayList.json" + } + }, + "description": "Lists all the P2SVpnGateways in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the P2SVpnGateways in the subscription.", + "schema": { + "$ref": "#/definitions/ListP2SVpnGatewaysResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/reset": { + "post": { + "tags": [ + "P2SVpnGateways" + ], + "operationId": "P2SVpnGateways_Reset", + "description": "Resets the primary of the p2s vpn gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the P2SVpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation reset the primary of the P2SVpnGateway.", + "schema": { + "$ref": "#/definitions/P2SVpnGateway" + } + }, + "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": { + "ResetP2SVpnGateway": { + "$ref": "./examples/P2SVpnGatewayReset.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/generatevpnprofile": { + "post": { + "tags": [ + "P2SVpnGateways" + ], + "operationId": "P2sVpnGateways_GenerateVpnProfile", + "description": "Generates VPN profile for P2S client of the P2SVpnGateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the P2SVpnGateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/P2SVpnProfileParameters" + }, + "description": "Parameters supplied to the generate P2SVpnGateway VPN client package operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "VPN profile package URL.", + "schema": { + "$ref": "#/definitions/VpnProfileResponse" + } + }, + "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": { + "GenerateP2SVpnGatewayVPNProfile": { + "$ref": "./examples/P2SVpnGatewayGenerateVpnProfile.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/getP2sVpnConnectionHealth": { + "post": { + "tags": [ + "P2SVpnGateways" + ], + "operationId": "P2sVpnGateways_GetP2sVpnConnectionHealth", + "description": "Gets the connection health of P2S clients of the virtual wan P2SVpnGateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the P2SVpnGateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "P2S Vpn Gateway with P2S connection health details.", + "schema": { + "$ref": "#/definitions/P2SVpnGateway" + } + }, + "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": { + "P2SVpnGatewayGetConnectionHealth": { + "$ref": "./examples/P2SVpnGatewayGetConnectionHealth.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/getP2sVpnConnectionHealthDetailed": { + "post": { + "tags": [ + "P2SVpnGateways" + ], + "operationId": "P2sVpnGateways_GetP2sVpnConnectionHealthDetailed", + "description": "Gets the sas url to get the connection health detail of P2S clients of the virtual wan P2SVpnGateway in the specified resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the P2SVpnGateway." + }, + { + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/P2SVpnConnectionHealthRequest" + }, + "description": "Request parameters supplied to get p2s vpn connections detailed health." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "P2S connections detailed health report.", + "schema": { + "$ref": "#/definitions/P2SVpnConnectionHealth" + } + }, + "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": { + "P2SVpnGatewayGetConnectionHealthDetailed": { + "$ref": "./examples/P2SVpnGatewayGetConnectionHealthDetailed.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnServerConfigurations": { + "post": { + "operationId": "VpnServerConfigurationsAssociatedWithVirtualWan_List", + "x-ms-examples": { + "GetVirtualWanVpnServerConfigurations": { + "$ref": "./examples/GetVirtualWanVpnServerConfigurations.json" + } + }, + "description": "Gives the list of VpnServerConfigurations associated with Virtual Wan in a resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name." + }, + { + "name": "virtualWANName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualWAN whose associated VpnServerConfigurations is needed." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of associated VpnServerConfigurations list.", + "schema": { + "$ref": "#/definitions/VpnServerConfigurationsResponse" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously. Follow the location header for list of associated VpnServerConfigurations list." + }, + "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/virtualWans/{virtualWANName}/GenerateVpnProfile": { + "post": { + "operationId": "generatevirtualwanvpnserverconfigurationvpnprofile", + "x-ms-examples": { + "GenerateVirtualWanVpnServerConfigurationVpnProfile": { + "$ref": "./examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json" + } + }, + "description": "Generates a unique VPN profile for P2S clients for VirtualWan and associated VpnServerConfiguration combination in the specified resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name." + }, + { + "name": "virtualWANName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualWAN whose associated VpnServerConfigurations is needed." + }, + { + "name": "vpnClientParams", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualWanVpnProfileParameters" + }, + "description": "Parameters supplied to the generate VirtualWan VPN profile generation operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "VPN profile package URL.", + "schema": { + "$ref": "#/definitions/VpnProfileResponse" + } + }, + "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-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeTables/{routeTableName}": { + "get": { + "operationId": "VirtualHubRouteTableV2s_Get", + "x-ms-examples": { + "VirtualHubVirtualHubRouteTableV2Get": { + "$ref": "./examples/VirtualHubRouteTableV2Get.json" + } + }, + "description": "Retrieves the details of a VirtualHubRouteTableV2.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHubRouteTableV2." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHubRouteTableV2." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VirtualHubRouteTableV2 retrieved.", + "schema": { + "$ref": "#/definitions/VirtualHubRouteTableV2" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + } + }, + "put": { + "operationId": "VirtualHubRouteTableV2s_CreateOrUpdate", + "x-ms-examples": { + "VirtualHubRouteTableV2Put": { + "$ref": "./examples/VirtualHubRouteTableV2Put.json" + } + }, + "description": "Creates a VirtualHubRouteTableV2 resource if it doesn't exist else updates the existing VirtualHubRouteTableV2.", + "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." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHubRouteTableV2." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "virtualHubRouteTableV2Parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualHubRouteTableV2" + }, + "description": "Parameters supplied to create or update VirtualHubRouteTableV2." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VirtualHubRouteTableV2 created or updated.", + "schema": { + "$ref": "#/definitions/VirtualHubRouteTableV2" + } + }, + "201": { + "description": "Request received successfully. Returns the details of the VirtualHubRouteTableV2 created or updated.", + "schema": { + "$ref": "#/definitions/VirtualHubRouteTableV2" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "operationId": "VirtualHubRouteTableV2s_Delete", + "x-ms-examples": { + "VirtualHubRouteTableV2Delete": { + "$ref": "./examples/VirtualHubRouteTableV2Delete.json" + } + }, + "description": "Deletes a VirtualHubRouteTableV2.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHubRouteTableV2." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHubRouteTableV2." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. VirtualHubRouteTableV2 deleted." + }, + "202": { + "description": "Request received successfully. VirtualHubRouteTableV2 deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No VirtualHubRouteTableV2s exist by the name provided." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "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}/routeTables": { + "get": { + "operationId": "VirtualHubRouteTableV2s_List", + "x-ms-examples": { + "VirtualHubRouteTableV2List": { + "$ref": "./examples/VirtualHubRouteTableV2List.json" + } + }, + "description": "Retrieves the details of all VirtualHubRouteTableV2s.", + "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 VirtualHubRouteTableV2s for the VirtualHub.", + "schema": { + "$ref": "#/definitions/ListVirtualHubRouteTableV2sResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{p2sVpnGatewayName}/disconnectP2sVpnConnections": { + "post": { + "tags": [ + "P2SVpnGateways" + ], + "operationId": "P2sVpnGateways_DisconnectP2sVpnConnections", + "description": "Disconnect P2S vpn connections of the virtual wan P2SVpnGateway in the specified resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "p2sVpnGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the P2S Vpn Gateway." + }, + { + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/P2SVpnConnectionRequest" + }, + "description": "The parameters are supplied to disconnect p2s vpn connections." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation disconnects the requested vpn connections." + }, + "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": { + "Disconnect VpnConnections from P2sVpn Gateway": { + "$ref": "./examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteGateways": { + "get": { + "tags": [ + "ExpressRouteGateways" + ], + "operationId": "ExpressRouteGateways_ListBySubscription", + "x-ms-examples": { + "ExpressRouteGatewayListBySubscription": { + "$ref": "./examples/ExpressRouteGatewayListBySubscription.json" + } + }, + "description": "Lists ExpressRoute gateways under a given subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful.", + "schema": { + "$ref": "#/definitions/ExpressRouteGatewayList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways": { + "get": { + "tags": [ + "ExpressRouteGateways" + ], + "operationId": "ExpressRouteGateways_ListByResourceGroup", + "x-ms-examples": { + "ExpressRouteGatewayListByResourceGroup": { + "$ref": "./examples/ExpressRouteGatewayListByResourceGroup.json" + } + }, + "description": "Lists ExpressRoute gateways in a given resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Operation successful.", + "schema": { + "$ref": "#/definitions/ExpressRouteGatewayList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}": { + "put": { + "tags": [ + "ExpressRouteGateways" + ], + "operationId": "ExpressRouteGateways_CreateOrUpdate", + "x-ms-examples": { + "ExpressRouteGatewayCreate": { + "$ref": "./examples/ExpressRouteGatewayCreate.json" + } + }, + "description": "Creates or updates a ExpressRoute gateway in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRouteGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoute gateway." + }, + { + "name": "putExpressRouteGatewayParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteGateway" + }, + "description": "Parameters required in an ExpressRoute gateway PUT operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRoute gateway resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteGateway" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ExpressRoute gateway resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteGateway" + } + }, + "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" + } + }, + "patch": { + "tags": [ + "ExpressRouteGateways" + ], + "operationId": "ExpressRouteGateways_UpdateTags", + "x-ms-examples": { + "ExpressRouteGatewayUpdate": { + "$ref": "./examples/ExpressRouteGatewayUpdateTags.json" + } + }, + "description": "Updates express route gateway tags.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the ExpressRouteGateway." + }, + { + "name": "expressRouteGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "expressRouteGatewayParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update a virtual wan express route gateway tags." + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. Returns the details of the updated gateway.", + "schema": { + "$ref": "#/definitions/ExpressRouteGateway" + } + }, + "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": { + "tags": [ + "ExpressRouteGateways" + ], + "operationId": "ExpressRouteGateways_Get", + "x-ms-examples": { + "ExpressRouteGatewayGet": { + "$ref": "./examples/ExpressRouteGatewayGet.json" + } + }, + "description": "Fetches the details of a ExpressRoute gateway in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRouteGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoute gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Operation succeeded. The operation returns the ExpressRoute gateway.", + "schema": { + "$ref": "#/definitions/ExpressRouteGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ExpressRouteGateways" + ], + "operationId": "ExpressRouteGateways_Delete", + "x-ms-examples": { + "ExpressRouteGatewayDelete": { + "$ref": "./examples/ExpressRouteGatewayDelete.json" + } + }, + "description": "Deletes the specified ExpressRoute gateway in a resource group. An ExpressRoute gateway resource can only be deleted when there are no connection subresources.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRouteGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoute gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "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/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}": { + "put": { + "tags": [ + "ExpressRouteConnections" + ], + "operationId": "ExpressRouteConnections_CreateOrUpdate", + "x-ms-examples": { + "ExpressRouteConnectionCreate": { + "$ref": "./examples/ExpressRouteConnectionCreate.json" + } + }, + "description": "Creates a connection between an ExpressRoute gateway and an ExpressRoute circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRouteGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoute gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection subresource." + }, + { + "name": "putExpressRouteConnectionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteConnection" + }, + "description": "Parameters required in an ExpressRouteConnection PUT operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the ExpressRouteConnection.", + "schema": { + "$ref": "#/definitions/ExpressRouteConnection" + } + }, + "201": { + "description": "Create successful. The operation returns the ExpressRouteConnection.", + "schema": { + "$ref": "#/definitions/ExpressRouteConnection" + } + }, + "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": { + "tags": [ + "ExpressRouteConnections" + ], + "operationId": "ExpressRouteConnections_Get", + "x-ms-examples": { + "ExpressRouteConnectionGet": { + "$ref": "./examples/ExpressRouteConnectionGet.json" + } + }, + "description": "Gets the specified ExpressRouteConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRouteGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoute gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoute connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the ExpressRouteConnection.", + "schema": { + "$ref": "#/definitions/ExpressRouteConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ExpressRouteConnections" + ], + "operationId": "ExpressRouteConnections_Delete", + "x-ms-examples": { + "ExpressRouteConnectionDelete": { + "$ref": "./examples/ExpressRouteConnectionDelete.json" + } + }, + "description": "Deletes a connection to a ExpressRoute circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRouteGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoute gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection subresource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted, and the operation will continue asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "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/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections": { + "get": { + "tags": [ + "ExpressRouteConnections" + ], + "operationId": "ExpressRouteConnections_List", + "x-ms-examples": { + "ExpressRouteConnectionList": { + "$ref": "./examples/ExpressRouteConnectionList.json" + } + }, + "description": "Lists ExpressRouteConnections.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRouteGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoute gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful.", + "schema": { + "$ref": "#/definitions/ExpressRouteConnectionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/bgpConnections/{connectionName}": { + "get": { + "operationId": "VirtualHubBgpConnection_Get", + "x-ms-examples": { + "VirtualHubVirtualHubRouteTableV2Get": { + "$ref": "./examples/VirtualHubBgpConnectionGet.json" + } + }, + "description": "Retrieves the details of a Virtual Hub Bgp Connection.", + "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." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the Bgp Connection retrieved.", + "schema": { + "$ref": "#/definitions/BgpConnection" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VirtualHubBgpConnection_CreateOrUpdate", + "x-ms-examples": { + "VirtualHubRouteTableV2Put": { + "$ref": "./examples/VirtualHubBgpConnectionPut.json" + } + }, + "description": "Creates a VirtualHubBgpConnection resource if it doesn't exist else updates the existing VirtualHubBgpConnection.", + "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." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BgpConnection" + }, + "description": "Parameters of Bgp connection." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the BgpConnection created or updated.", + "schema": { + "$ref": "#/definitions/BgpConnection" + } + }, + "201": { + "description": "Request received successfully. Returns the details of the BgpConnection created or updated.", + "schema": { + "$ref": "#/definitions/BgpConnection" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "operationId": "VirtualHubBgpConnection_Delete", + "x-ms-examples": { + "VirtualHubRouteTableV2Delete": { + "$ref": "./examples/VirtualHubBgpConnectionDelete.json" + } + }, + "description": "Deletes a VirtualHubBgpConnection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHubBgpConnection." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. VirtualHubBgpConnection deleted." + }, + "202": { + "description": "Request received successfully. VirtualHubBgpConnection deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No VirtualHubBgpConnection exist by the name provided." + }, + "default": { + "description": "Error.", + "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}/bgpConnections": { + "get": { + "operationId": "VirtualHubBgpConnections_List", + "x-ms-examples": { + "VirtualHubRouteTableV2List": { + "$ref": "./examples/VirtualHubBgpConnectionList.json" + } + }, + "description": "Retrieves the details of all VirtualHubBgpConnections.", + "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 VirtualHubBgpConnections for the VirtualHub.", + "schema": { + "$ref": "#/definitions/ListVirtualHubBgpConnectionResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{hubName}/bgpConnections/{connectionName}/learnedRoutes": { + "post": { + "operationId": "VirtualHubBgpConnections_ListLearnedRoutes", + "description": "Retrieves a list of routes the virtual hub bgp connection has learned.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "hubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual hub." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual hub bgp connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of advertised BGP routes.", + "schema": { + "$ref": "#/definitions/PeerRouteList" + } + }, + "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": { + "VirtualRouterPeerListLearnedRoutes": { + "$ref": "./examples/VirtualRouterPeerListLearnedRoute.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{hubName}/bgpConnections/{connectionName}/advertisedRoutes": { + "post": { + "operationId": "VirtualHubBgpConnections_ListAdvertisedRoutes", + "description": "Retrieves a list of routes the virtual hub bgp connection is advertising to the specified peer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "hubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual hub." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual hub bgp connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of learned BGP routes.", + "schema": { + "$ref": "#/definitions/PeerRouteList" + } + }, + "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": { + "VirtualRouterPeerListAdvertisedRoutes": { + "$ref": "./examples/VirtualRouterPeerListAdvertisedRoute.json" + } + }, + "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}/ipConfigurations/{ipConfigName}": { + "get": { + "operationId": "VirtualHubIpConfiguration_Get", + "x-ms-examples": { + "VirtualHubVirtualHubRouteTableV2Get": { + "$ref": "./examples/VirtualHubIpConfigurationGet.json" + } + }, + "description": "Retrieves the details of a Virtual Hub Ip configuration.", + "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." + }, + { + "name": "ipConfigName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ipconfig." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the Bgp Connection retrieved.", + "schema": { + "$ref": "#/definitions/HubIpConfiguration" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VirtualHubIpConfiguration_CreateOrUpdate", + "x-ms-examples": { + "VirtualHubIpConfigurationPut": { + "$ref": "./examples/VirtualHubIpConfigurationPut.json" + } + }, + "description": "Creates a VirtualHubIpConfiguration resource if it doesn't exist else updates the existing VirtualHubIpConfiguration.", + "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." + }, + { + "name": "ipConfigName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ipconfig." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HubIpConfiguration" + }, + "description": "Hub Ip Configuration parameters." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the IpConfiguration created or updated.", + "schema": { + "$ref": "#/definitions/HubIpConfiguration" + } + }, + "201": { + "description": "Request received successfully. Returns the details of the IpConfiguration created or updated.", + "schema": { + "$ref": "#/definitions/HubIpConfiguration" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "operationId": "VirtualHubIpConfiguration_Delete", + "x-ms-examples": { + "VirtualHubIpConfigurationDelete": { + "$ref": "./examples/VirtualHubIpConfigurationDelete.json" + } + }, + "description": "Deletes a VirtualHubIpConfiguration.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHubBgpConnection." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "ipConfigName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ipconfig." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. VirtualHubIpConfiguration deleted." + }, + "202": { + "description": "Request received successfully. VirtualHubIpConfiguration deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No VirtualHubIpConfiguration exist by the name provided." + }, + "default": { + "description": "Error.", + "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}/ipConfigurations": { + "get": { + "operationId": "VirtualHubIpConfiguration_List", + "x-ms-examples": { + "VirtualHubRouteTableV2List": { + "$ref": "./examples/VirtualHubIpConfigurationList.json" + } + }, + "description": "Retrieves the details of all VirtualHubIpConfigurations.", + "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 VirtualHubIpConfigurations for the VirtualHub.", + "schema": { + "$ref": "#/definitions/ListVirtualHubIpConfigurationResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubRouteTables/{routeTableName}": { + "put": { + "operationId": "HubRouteTables_CreateOrUpdate", + "x-ms-examples": { + "RouteTablePut": { + "$ref": "./examples/HubRouteTablePut.json" + } + }, + "description": "Creates a RouteTable resource if it doesn't exist else updates the existing RouteTable.", + "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." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the RouteTable." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "routeTableParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HubRouteTable" + }, + "description": "Parameters supplied to create or update RouteTable." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the RouteTable created or updated.", + "schema": { + "$ref": "#/definitions/HubRouteTable" + } + }, + "201": { + "description": "Request received successfully. Returns the details of the RouteTable created or updated.", + "schema": { + "$ref": "#/definitions/HubRouteTable" + } + }, + "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": "HubRouteTables_Get", + "x-ms-examples": { + "RouteTableGet": { + "$ref": "./examples/HubRouteTableGet.json" + } + }, + "description": "Retrieves the details of a RouteTable.", + "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." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the RouteTable." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the RouteTable retrieved.", + "schema": { + "$ref": "#/definitions/HubRouteTable" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "HubRouteTables_Delete", + "x-ms-examples": { + "RouteTableDelete": { + "$ref": "./examples/HubRouteTableDelete.json" + } + }, + "description": "Deletes a RouteTable.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the RouteTable." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the RouteTable." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. RouteTable deleted." + }, + "202": { + "description": "Request received successfully. RouteTable deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No RouteTables exist 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}/hubRouteTables": { + "get": { + "operationId": "HubRouteTables_List", + "x-ms-examples": { + "RouteTableList": { + "$ref": "./examples/HubRouteTableList.json" + } + }, + "description": "Retrieves the details of all RouteTables.", + "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 RouteTables for the VirtualHub.", + "schema": { + "$ref": "#/definitions/ListHubRouteTablesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/effectiveRoutes": { + "post": { + "operationId": "VirtualHubs_GetEffectiveVirtualHubRoutes", + "x-ms-examples": { + "Effective Routes for the Virtual Hub": { + "$ref": "./examples/EffectiveRoutesListForVirtualHub.json" + }, + "Effective Routes for a Route Table resource": { + "$ref": "./examples/EffectiveRoutesListForRouteTable.json" + }, + "Effective Routes for a Connection resource": { + "$ref": "./examples/EffectiveRoutesListForConnection.json" + } + }, + "description": "Gets the effective routes configured for the Virtual Hub resource or the specified resource .", + "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" + }, + { + "name": "effectiveRoutesParameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/EffectiveRoutesParameters" + }, + "description": "Parameters supplied to get the effective routes for a specific resource." + } + ], + "responses": { + "200": { + "description": "Request successful. Follow the location header for the effective routes list." + }, + "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-long-running-operation": true, + "x-ms-long-running-operation-options": { + "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": { + "VirtualWanProperties": { + "properties": { + "disableVpnEncryption": { + "type": "boolean", + "description": "Vpn encryption to be disabled or not." + }, + "virtualHubs": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of VirtualHubs in the VirtualWAN." + }, + "vpnSites": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of VpnSites in the VirtualWAN." + }, + "allowBranchToBranchTraffic": { + "type": "boolean", + "description": "True if branch to branch traffic is allowed." + }, + "allowVnetToVnetTraffic": { + "type": "boolean", + "description": "True if Vnet to Vnet traffic is allowed." + }, + "office365LocalBreakoutCategory": { + "description": "The office local breakout category.", + "$ref": "#/definitions/OfficeTrafficCategory" + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual WAN resource." + }, + "type": { + "type": "string", + "description": "The type of the VirtualWAN." + } + }, + "description": "Parameters for VirtualWAN." + }, + "VirtualWAN": { + "required": [ + "location" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualWanProperties", + "description": "Properties of the virtual WAN." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "VirtualWAN Resource." + }, + "ListVirtualWANsResult": { + "description": "Result of the request to list VirtualWANs. It contains a list of VirtualWANs and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualWAN" + }, + "description": "List of VirtualWANs." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnSiteProperties": { + "properties": { + "virtualWan": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The VirtualWAN to which the vpnSite belongs." + }, + "deviceProperties": { + "description": "The device properties.", + "$ref": "#/definitions/DeviceProperties" + }, + "ipAddress": { + "type": "string", + "description": "The ip-address for the vpn-site." + }, + "siteKey": { + "type": "string", + "description": "The key for vpn-site that can be used for connections." + }, + "addressSpace": { + "$ref": "./virtualNetwork.json#/definitions/AddressSpace", + "description": "The AddressSpace that contains an array of IP address ranges." + }, + "bgpProperties": { + "$ref": "./virtualNetworkGateway.json#/definitions/BgpSettings", + "description": "The set of bgp properties." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VPN site resource." + }, + "isSecuritySite": { + "type": "boolean", + "description": "IsSecuritySite flag." + }, + "vpnSiteLinks": { + "type": "array", + "description": "List of all vpn site links.", + "items": { + "$ref": "#/definitions/VpnSiteLink" + } + }, + "o365Policy": { + "readOnly": false, + "description": "Office365 Policy.", + "$ref": "#/definitions/O365PolicyProperties" + } + }, + "description": "Parameters for VpnSite." + }, + "VpnSite": { + "required": [ + "location" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnSiteProperties", + "description": "Properties of the VPN site." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "VpnSite Resource." + }, + "ListVpnSitesResult": { + "description": "Result of the request to list VpnSites. It contains a list of VpnSites and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnSite" + }, + "description": "List of VpnSites." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnSiteLinkProperties": { + "properties": { + "linkProperties": { + "description": "The link provider properties.", + "$ref": "#/definitions/VpnLinkProviderProperties" + }, + "ipAddress": { + "type": "string", + "description": "The ip-address for the vpn-site-link." + }, + "fqdn": { + "type": "string", + "description": "FQDN of vpn-site-link." + }, + "bgpProperties": { + "$ref": "#/definitions/VpnLinkBgpSettings", + "description": "The set of bgp properties." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VPN site link resource." + } + }, + "description": "Parameters for VpnSite." + }, + "VpnSiteLink": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnSiteLinkProperties", + "description": "Properties of the VPN site link." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "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." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VpnSiteLink Resource." + }, + "ListVpnSiteLinksResult": { + "description": "Result of the request to list VpnSiteLinks. It contains a list of VpnSiteLinks and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnSiteLink" + }, + "description": "List of VpnSitesLinks." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "GetVpnSitesConfigurationRequest": { + "properties": { + "vpnSites": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of resource-ids of the vpn-sites for which config is to be downloaded." + }, + "outputBlobSasUrl": { + "type": "string", + "description": "The sas-url to download the configurations for vpn-sites." + } + }, + "required": [ + "outputBlobSasUrl" + ], + "description": "List of Vpn-Sites." + }, + "VirtualHubProperties": { + "properties": { + "virtualWan": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The VirtualWAN to which the VirtualHub belongs." + }, + "vpnGateway": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The VpnGateway associated with this VirtualHub." + }, + "p2SVpnGateway": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The P2SVpnGateway associated with this VirtualHub." + }, + "expressRouteGateway": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The expressRouteGateway associated with this VirtualHub." + }, + "azureFirewall": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The azureFirewall associated with this VirtualHub." + }, + "securityPartnerProvider": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The securityPartnerProvider associated with this VirtualHub." + }, + "addressPrefix": { + "type": "string", + "description": "Address-prefix for this VirtualHub." + }, + "routeTable": { + "$ref": "#/definitions/VirtualHubRouteTable", + "description": "The routeTable associated with this virtual hub." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual hub resource." + }, + "securityProviderName": { + "type": "string", + "description": "The Security Provider name." + }, + "virtualHubRouteTableV2s": { + "type": "array", + "description": "List of all virtual hub route table v2s associated with this VirtualHub.", + "items": { + "$ref": "#/definitions/VirtualHubRouteTableV2" + } + }, + "sku": { + "type": "string", + "description": "The sku of this VirtualHub." + }, + "routingState": { + "$ref": "#/definitions/RoutingState", + "description": "The routing state." + }, + "bgpConnections": { + "type": "array", + "readOnly": true, + "description": "List of references to Bgp Connections.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "ipConfigurations": { + "type": "array", + "readOnly": true, + "description": "List of references to IpConfigurations.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "virtualRouterAsn": { + "type": "integer", + "readOnly": false, + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "VirtualRouter ASN." + }, + "virtualRouterIps": { + "type": "array", + "readOnly": false, + "description": "VirtualRouter IPs.", + "items": { + "type": "string" + } + }, + "allowBranchToBranchTraffic": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control transit for VirtualRouter hub." + }, + "preferredRoutingGateway": { + "$ref": "#/definitions/PreferredRoutingGateway", + "description": "The preferred gateway to route on-prem traffic" + } + }, + "description": "Parameters for VirtualHub." + }, + "PreferredRoutingGateway": { + "type": "string", + "description": "The preferred routing gateway types", + "enum": [ + "ExpressRoute", + "VpnGateway", + "None" + ], + "x-ms-enum": { + "name": "PreferredRoutingGateway", + "modelAsString": true + } + }, + "RoutingState": { + "type": "string", + "description": "The current routing state of the VirtualHub.", + "readOnly": true, + "enum": [ + "None", + "Provisioned", + "Provisioning", + "Failed" + ], + "x-ms-enum": { + "name": "RoutingState", + "modelAsString": true + } + }, + "BgpConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BgpConnectionProperties", + "description": "The properties of the Bgp connections." + }, + "name": { + "type": "string", + "description": "Name of the connection." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Connection type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Virtual Appliance Site resource." + }, + "BgpConnectionProperties": { + "properties": { + "peerAsn": { + "type": "integer", + "readOnly": false, + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "Peer ASN." + }, + "peerIp": { + "type": "string", + "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, + "$ref": "./network.json#/definitions/ProvisioningState" + }, + "connectionState": { + "type": "string", + "description": "The current state of the VirtualHub to Peer.", + "readOnly": true, + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "HubBgpConnectionStatus", + "modelAsString": true + } + } + }, + "description": "Properties of the bgp connection." + }, + "PeerRoute": { + "properties": { + "localAddress": { + "type": "string", + "readOnly": true, + "description": "The peer's local address." + }, + "network": { + "type": "string", + "readOnly": true, + "description": "The route's network prefix." + }, + "nextHop": { + "type": "string", + "readOnly": true, + "description": "The route's next hop." + }, + "sourcePeer": { + "type": "string", + "readOnly": true, + "description": "The peer this route was learned from." + }, + "origin": { + "type": "string", + "readOnly": true, + "description": "The source this route was learned from." + }, + "asPath": { + "type": "string", + "readOnly": true, + "description": "The route's AS path sequence." + }, + "weight": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The route's weight." + } + }, + "description": "Peer routing details." + }, + "PeerRouteList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PeerRoute" + }, + "description": "List of peer routes." + } + }, + "description": "List of virtual router peer routes." + }, + "HubIpConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/HubIPConfigurationPropertiesFormat", + "description": "The properties of the Virtual Hub IPConfigurations." + }, + "name": { + "type": "string", + "description": "Name of the Ip Configuration." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Ipconfiguration type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IpConfigurations." + }, + "HubIPConfigurationPropertiesFormat": { + "properties": { + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method." + }, + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "The reference to the subnet resource." + }, + "publicIPAddress": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress", + "description": "The reference to the public IP resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the IP configuration resource." + } + }, + "description": "Properties of IP configuration." + }, + "VirtualHubRouteTable": { + "properties": { + "routes": { + "type": "array", + "description": "List of all routes.", + "items": { + "$ref": "#/definitions/VirtualHubRoute" + } + } + }, + "description": "VirtualHub route table." + }, + "VirtualHubRoute": { + "properties": { + "addressPrefixes": { + "type": "array", + "description": "List of all addressPrefixes.", + "items": { + "type": "string" + } + }, + "nextHopIpAddress": { + "type": "string", + "description": "NextHop ip address." + } + }, + "description": "VirtualHub route." + }, + "VirtualHub": { + "required": [ + "location" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualHubProperties", + "description": "Properties of the virtual hub." + }, + "etag": { + "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": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "VirtualHub Resource." + }, + "ListVirtualHubsResult": { + "description": "Result of the request to list VirtualHubs. It contains a list of VirtualHubs and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualHub" + }, + "description": "List of VirtualHubs." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnGatewayProperties": { + "properties": { + "virtualHub": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The VirtualHub to which the gateway belongs." + }, + "connections": { + "type": "array", + "description": "List of all vpn connections to the gateway.", + "items": { + "$ref": "#/definitions/VpnConnection" + } + }, + "bgpSettings": { + "$ref": "./virtualNetworkGateway.json#/definitions/BgpSettings", + "description": "Local network gateway's BGP speaker settings." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VPN gateway resource." + }, + "vpnGatewayScaleUnit": { + "type": "integer", + "format": "int32", + "description": "The scale unit for this vpn gateway." + }, + "ipConfigurations": { + "type": "array", + "readOnly": true, + "description": "List of all IPs configured on the gateway.", + "items": { + "$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." + }, + "natRules": { + "type": "array", + "description": "List of all the nat Rules associated with the gateway.", + "items": { + "$ref": "#/definitions/VpnGatewayNatRule" + } + } + }, + "description": "Parameters for VpnGateway." + }, + "VpnGateway": { + "required": [ + "location" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnGatewayProperties", + "description": "Properties of the VPN gateway." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "VpnGateway Resource." + }, + "VpnGatewayIpConfiguration": { + "description": "IP Configuration of a VPN Gateway Resource.", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the IP configuration for a VPN Gateway." + }, + "publicIpAddress": { + "type": "string", + "description": "The public IP address of this IP configuration." + }, + "privateIpAddress": { + "type": "string", + "description": "The private IP address of this IP configuration." + } + } + }, + "ListVpnGatewaysResult": { + "description": "Result of the request to list VpnGateways. It contains a list of VpnGateways and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnGateway" + }, + "description": "List of VpnGateways." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnNatRuleMapping": { + "properties": { + "addressSpace": { + "type": "string", + "description": "Address space for Vpn NatRule mapping." + }, + "portRange": { + "type": "string", + "description": "Port range for Vpn NatRule mapping." + } + }, + "description": "Vpn NatRule mapping." + }, + "VpnGatewayNatRuleProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the NAT Rule resource." + }, + "type": { + "type": "string", + "description": "The type of NAT rule for VPN NAT.", + "enum": [ + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "VpnNatRuleType", + "modelAsString": true + } + }, + "mode": { + "type": "string", + "description": "The Source NAT direction of a VPN NAT.", + "enum": [ + "EgressSnat", + "IngressSnat" + ], + "x-ms-enum": { + "name": "VpnNatRuleMode", + "modelAsString": true + } + }, + "internalMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnNatRuleMapping" + }, + "description": "The private IP address internal mapping for NAT." + }, + "externalMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnNatRuleMapping" + }, + "description": "The private IP address external mapping for NAT." + }, + "ipConfigurationId": { + "type": "string", + "description": "The IP Configuration ID this NAT rule applies to." + }, + "egressVpnSiteLinkConnections": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of egress VpnSiteLinkConnections." + }, + "ingressVpnSiteLinkConnections": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of ingress VpnSiteLinkConnections." + } + }, + "description": "Parameters for VpnGatewayNatRule." + }, + "VpnGatewayNatRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnGatewayNatRuleProperties", + "description": "Properties of the VpnGateway NAT rule." + }, + "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": "VpnGatewayNatRule Resource." + }, + "ListVpnGatewayNatRulesResult": { + "description": "Result of the request to list all nat rules to a virtual wan vpn gateway. It contains a list of Nat rules and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnGatewayNatRule" + }, + "description": "List of Nat Rules." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnConnectionProperties": { + "properties": { + "remoteVpnSite": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Id of the connected vpn site." + }, + "routingWeight": { + "type": "integer", + "format": "int32", + "description": "Routing weight for vpn connection." + }, + "dpdTimeoutSeconds": { + "type": "integer", + "format": "int32", + "description": "DPD timeout in seconds for vpn connection." + }, + "connectionStatus": { + "description": "The connection status.", + "$ref": "#/definitions/VpnConnectionStatus" + }, + "vpnConnectionProtocolType": { + "description": "Connection protocol used for this connection.", + "$ref": "./virtualNetworkGateway.json#/definitions/ConnectionProtocol" + }, + "ingressBytesTransferred": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Ingress bytes transferred." + }, + "egressBytesTransferred": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Egress bytes transferred." + }, + "connectionBandwidth": { + "type": "integer", + "format": "int32", + "description": "Expected bandwidth in MBPS." + }, + "sharedKey": { + "type": "string", + "description": "SharedKey for the vpn connection." + }, + "enableBgp": { + "type": "boolean", + "description": "EnableBgp flag." + }, + "usePolicyBasedTrafficSelectors": { + "type": "boolean", + "description": "Enable policy-based traffic selectors." + }, + "ipsecPolicies": { + "type": "array", + "items": { + "$ref": "./virtualNetworkGateway.json#/definitions/IpsecPolicy" + }, + "description": "The IPSec Policies to be considered by this connection." + }, + "trafficSelectorPolicies": { + "type": "array", + "items": { + "$ref": "./virtualNetworkGateway.json#/definitions/TrafficSelectorPolicy" + }, + "description": "The Traffic Selector Policies to be considered by this connection." + }, + "enableRateLimiting": { + "type": "boolean", + "description": "EnableBgp flag." + }, + "enableInternetSecurity": { + "type": "boolean", + "description": "Enable internet security." + }, + "useLocalAzureIpAddress": { + "type": "boolean", + "description": "Use local azure ip to initiate connection." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VPN connection resource." + }, + "vpnLinkConnections": { + "type": "array", + "description": "List of all vpn site link connections to the gateway.", + "items": { + "$ref": "#/definitions/VpnSiteLinkConnection" + } + }, + "routingConfiguration": { + "$ref": "#/definitions/RoutingConfiguration", + "description": "The Routing Configuration indicating the associated and propagated route tables on this connection." + } + }, + "description": "Parameters for VpnConnection." + }, + "VpnConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnConnectionProperties", + "description": "Properties of the VPN connection." + }, + "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." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VpnConnection Resource." + }, + "ListVpnConnectionsResult": { + "description": "Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnConnection" + }, + "description": "List of Vpn Connections." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnConnectionPacketCaptureStartParameters": { + "description": "Vpn Connection packet capture parameters supplied to start packet capture on gateway connection.", + "properties": { + "filterData": { + "type": "string", + "description": "Start Packet capture parameters on vpn connection." + }, + "linkConnectionNames": { + "type": "array", + "description": "List of site link connection names.", + "items": { + "type": "string" + } + } + } + }, + "VpnConnectionPacketCaptureStopParameters": { + "description": "Vpn Connection packet capture parameters supplied to stop packet capture on gateway connection.", + "properties": { + "sasUrl": { + "type": "string", + "description": "SAS url for packet capture on vpn connection." + }, + "linkConnectionNames": { + "type": "array", + "description": "List of site link connection names.", + "items": { + "type": "string" + } + } + } + }, + "VpnGatewayPacketCaptureStartParameters": { + "properties": { + "filterData": { + "type": "string", + "description": "Start Packet capture parameters on vpn gateway." + } + }, + "description": "Start packet capture parameters." + }, + "VpnGatewayPacketCaptureStopParameters": { + "properties": { + "sasUrl": { + "type": "string", + "description": "SAS url for packet capture on vpn gateway." + } + }, + "description": "Stop packet capture parameters." + }, + "VpnSiteLinkConnectionProperties": { + "properties": { + "vpnSiteLink": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Id of the connected vpn site link." + }, + "routingWeight": { + "type": "integer", + "format": "int32", + "description": "Routing weight for vpn connection." + }, + "vpnLinkConnectionMode": { + "type": "string", + "description": "Vpn link connection mode.", + "enum": [ + "Default", + "ResponderOnly", + "InitiatorOnly" + ], + "x-ms-enum": { + "name": "VpnLinkConnectionMode", + "modelAsString": true + } + }, + "connectionStatus": { + "description": "The connection status.", + "$ref": "#/definitions/VpnConnectionStatus" + }, + "vpnConnectionProtocolType": { + "description": "Connection protocol used for this connection.", + "$ref": "./virtualNetworkGateway.json#/definitions/ConnectionProtocol" + }, + "ingressBytesTransferred": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Ingress bytes transferred." + }, + "egressBytesTransferred": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Egress bytes transferred." + }, + "connectionBandwidth": { + "type": "integer", + "format": "int32", + "description": "Expected bandwidth in MBPS." + }, + "sharedKey": { + "type": "string", + "description": "SharedKey for the vpn connection." + }, + "enableBgp": { + "type": "boolean", + "description": "EnableBgp flag." + }, + "usePolicyBasedTrafficSelectors": { + "type": "boolean", + "description": "Enable policy-based traffic selectors." + }, + "ipsecPolicies": { + "type": "array", + "items": { + "$ref": "./virtualNetworkGateway.json#/definitions/IpsecPolicy" + }, + "description": "The IPSec Policies to be considered by this connection." + }, + "enableRateLimiting": { + "type": "boolean", + "description": "EnableBgp flag." + }, + "useLocalAzureIpAddress": { + "type": "boolean", + "description": "Use local azure ip to initiate connection." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VPN site link connection resource." + }, + "ingressNatRules": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of ingress NatRules." + }, + "egressNatRules": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of egress NatRules." + } + }, + "description": "Parameters for VpnConnection." + }, + "VpnSiteLinkConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnSiteLinkConnectionProperties", + "description": "Properties of the VPN site link connection." + }, + "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": "VpnSiteLinkConnection Resource." + }, + "ListVpnSiteLinkConnectionsResult": { + "description": "Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnSiteLinkConnection" + }, + "description": "List of VpnSiteLinkConnections." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "HubVirtualNetworkConnectionProperties": { + "properties": { + "remoteVirtualNetwork": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the remote virtual network." + }, + "allowHubToRemoteVnetTransit": { + "type": "boolean", + "description": "Deprecated: VirtualHub to RemoteVnet transit to enabled or not." + }, + "allowRemoteVnetToUseHubVnetGateways": { + "type": "boolean", + "description": "Deprecated: Allow RemoteVnet to use Virtual Hub's gateways." + }, + "enableInternetSecurity": { + "type": "boolean", + "description": "Enable internet security." + }, + "routingConfiguration": { + "$ref": "#/definitions/RoutingConfiguration", + "description": "The Routing Configuration indicating the associated and propagated route tables on this connection." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the hub virtual network connection resource." + } + }, + "description": "Parameters for HubVirtualNetworkConnection." + }, + "HubVirtualNetworkConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/HubVirtualNetworkConnectionProperties", + "description": "Properties of the hub virtual network connection." + }, + "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." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "HubVirtualNetworkConnection Resource." + }, + "ListHubVirtualNetworkConnectionsResult": { + "description": "List of HubVirtualNetworkConnections and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/HubVirtualNetworkConnection" + }, + "description": "List of HubVirtualNetworkConnections." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "HubRouteTableProperties": { + "properties": { + "routes": { + "type": "array", + "description": "List of all routes.", + "items": { + "$ref": "#/definitions/HubRoute" + } + }, + "labels": { + "type": "array", + "description": "List of labels associated with this route table.", + "items": { + "type": "string" + } + }, + "associatedConnections": { + "type": "array", + "description": "List of all connections associated with this route table.", + "readOnly": true, + "items": { + "type": "string" + } + }, + "propagatingConnections": { + "type": "array", + "description": "List of all connections that advertise to this route table.", + "readOnly": true, + "items": { + "type": "string" + } + }, + "provisioningState": { + "$ref": "./network.json#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioning state of the RouteTable resource." + } + }, + "description": "Parameters for RouteTable." + }, + "HubRouteTable": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/HubRouteTableProperties", + "description": "Properties of the RouteTable 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": "RouteTable resource in a virtual hub." + }, + "HubRoute": { + "required": [ + "name", + "destinationType", + "destinations", + "nextHopType", + "nextHop" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the Route that is unique within a RouteTable. This name can be used to access this route." + }, + "destinationType": { + "type": "string", + "description": "The type of destinations (eg: CIDR, ResourceId, Service)." + }, + "destinations": { + "type": "array", + "description": "List of all destinations.", + "items": { + "type": "string" + } + }, + "nextHopType": { + "type": "string", + "description": "The type of next hop (eg: ResourceId)." + }, + "nextHop": { + "type": "string", + "description": "NextHop resource ID." + } + }, + "description": "RouteTable route." + }, + "ListHubRouteTablesResult": { + "description": "List of RouteTables and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/HubRouteTable" + }, + "description": "List of RouteTables." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnSiteId": { + "properties": { + "vpnSite": { + "type": "string", + "readOnly": true, + "description": "The resource-uri of the vpn-site for which config is to be fetched." + } + }, + "description": "VpnSite Resource." + }, + "DeviceProperties": { + "properties": { + "deviceVendor": { + "type": "string", + "description": "Name of the device Vendor." + }, + "deviceModel": { + "type": "string", + "description": "Model of the device." + }, + "linkSpeedInMbps": { + "type": "integer", + "format": "int32", + "description": "Link speed." + } + }, + "description": "List of properties of the device." + }, + "VirtualWanSecurityProviders": { + "properties": { + "supportedProviders": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualWanSecurityProvider" + }, + "description": "List of VirtualWAN security providers." + } + }, + "description": "Collection of SecurityProviders." + }, + "VirtualWanSecurityProvider": { + "properties": { + "name": { + "type": "string", + "description": "Name of the security provider." + }, + "url": { + "type": "string", + "description": "Url of the security provider." + }, + "type": { + "$ref": "#/definitions/VirtualWanSecurityProviderType", + "description": "Name of the security provider." + } + }, + "description": "Collection of SecurityProviders." + }, + "VpnConnectionStatus": { + "type": "string", + "description": "The current state of the vpn connection.", + "readOnly": true, + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "VpnConnectionStatus", + "modelAsString": true + } + }, + "TunnelConnectionStatus": { + "type": "string", + "description": "The current state of the tunnel.", + "readOnly": true, + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "TunnelConnectionStatus", + "modelAsString": true + } + }, + "HubVirtualNetworkConnectionStatus": { + "type": "string", + "description": "The current state of the VirtualHub to vnet connection.", + "readOnly": true, + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "HubVirtualNetworkConnectionStatus", + "modelAsString": true + } + }, + "OfficeTrafficCategory": { + "type": "string", + "description": "The office traffic category.", + "readOnly": true, + "enum": [ + "Optimize", + "OptimizeAndAllow", + "All", + "None" + ], + "x-ms-enum": { + "name": "OfficeTrafficCategory", + "modelAsString": true + } + }, + "VirtualWanSecurityProviderType": { + "type": "string", + "description": "The virtual wan security provider type.", + "readOnly": true, + "enum": [ + "External", + "Native" + ], + "x-ms-enum": { + "name": "VirtualWanSecurityProviderType", + "modelAsString": true + } + }, + "VpnServerConfigVpnClientRootCertificate": { + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "publicCertData": { + "type": "string", + "description": "The certificate public data." + } + }, + "description": "Properties of VPN client root certificate of VpnServerConfiguration." + }, + "VpnServerConfigRadiusServerRootCertificate": { + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "publicCertData": { + "type": "string", + "description": "The certificate public data." + } + }, + "description": "Properties of Radius Server root certificate of VpnServerConfiguration." + }, + "VpnServerConfigVpnClientRevokedCertificate": { + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "thumbprint": { + "type": "string", + "description": "The revoked VPN client certificate thumbprint." + } + }, + "description": "Properties of the revoked VPN client certificate of VpnServerConfiguration." + }, + "VpnServerConfigRadiusClientRootCertificate": { + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "thumbprint": { + "type": "string", + "description": "The Radius client root certificate thumbprint." + } + }, + "description": "Properties of the Radius client root certificate of VpnServerConfiguration." + }, + "AadAuthenticationParameters": { + "properties": { + "aadTenant": { + "type": "string", + "description": "AAD Vpn authentication parameter AAD tenant." + }, + "aadAudience": { + "type": "string", + "description": "AAD Vpn authentication parameter AAD audience." + }, + "aadIssuer": { + "type": "string", + "description": "AAD Vpn authentication parameter AAD issuer." + } + }, + "description": "AAD Vpn authentication type related parameters." + }, + "VpnServerConfigurationProperties": { + "properties": { + "name": { + "type": "string", + "description": "The name of the VpnServerConfiguration that is unique within a resource group." + }, + "vpnProtocols": { + "type": "array", + "items": { + "type": "string", + "description": "VPN protocol enabled for the VpnServerConfiguration.", + "enum": [ + "IkeV2", + "OpenVPN" + ], + "x-ms-enum": { + "name": "VpnGatewayTunnelingProtocol", + "modelAsString": true + } + }, + "description": "VPN protocols for the VpnServerConfiguration." + }, + "vpnAuthenticationTypes": { + "type": "array", + "items": { + "type": "string", + "description": "VPN authentication types enabled for the VpnServerConfiguration.", + "enum": [ + "Certificate", + "Radius", + "AAD" + ], + "x-ms-enum": { + "name": "VpnAuthenticationType", + "modelAsString": true + } + }, + "description": "VPN authentication types for the VpnServerConfiguration." + }, + "vpnClientRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigVpnClientRootCertificate" + }, + "description": "VPN client root certificate of VpnServerConfiguration." + }, + "vpnClientRevokedCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigVpnClientRevokedCertificate" + }, + "description": "VPN client revoked certificate of VpnServerConfiguration." + }, + "radiusServerRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigRadiusServerRootCertificate" + }, + "description": "Radius Server root certificate of VpnServerConfiguration." + }, + "radiusClientRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigRadiusClientRootCertificate" + }, + "description": "Radius client root certificate of VpnServerConfiguration." + }, + "vpnClientIpsecPolicies": { + "type": "array", + "items": { + "$ref": "./virtualNetworkGateway.json#/definitions/IpsecPolicy" + }, + "description": "VpnClientIpsecPolicies for VpnServerConfiguration." + }, + "radiusServerAddress": { + "type": "string", + "description": "The radius server address property of the VpnServerConfiguration resource for point to site client connection." + }, + "radiusServerSecret": { + "type": "string", + "description": "The radius secret property of the VpnServerConfiguration resource for point to site client connection." + }, + "radiusServers": { + "type": "array", + "items": { + "$ref": "./virtualNetworkGateway.json#/definitions/RadiusServer" + }, + "description": "Multiple Radius Server configuration for VpnServerConfiguration." + }, + "aadAuthenticationParameters": { + "$ref": "#/definitions/AadAuthenticationParameters", + "description": "The set of aad vpn authentication parameters." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + }, + "p2SVpnGateways": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/P2SVpnGateway" + }, + "description": "List of references to P2SVpnGateways." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "description": "Parameters for VpnServerConfiguration." + }, + "VpnServerConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnServerConfigurationProperties", + "description": "Properties of the P2SVpnServer configuration." + }, + "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." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "VpnServerConfiguration Resource." + }, + "ListVpnServerConfigurationsResult": { + "description": "Result of the request to list all VpnServerConfigurations. It contains a list of VpnServerConfigurations and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfiguration" + }, + "description": "List of VpnServerConfigurations." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnClientConnectionHealth": { + "properties": { + "totalIngressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "Total of the Ingress Bytes Transferred in this P2S Vpn connection." + }, + "totalEgressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "Total of the Egress Bytes Transferred in this connection." + }, + "vpnClientConnectionsCount": { + "type": "integer", + "format": "int32", + "description": "The total of p2s vpn clients connected at this time to this P2SVpnGateway." + }, + "allocatedIpAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of allocated ip addresses to the connected p2s vpn clients." + } + }, + "description": "VpnClientConnectionHealth properties." + }, + "P2SVpnGatewayProperties": { + "properties": { + "virtualHub": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The VirtualHub to which the gateway belongs." + }, + "p2SConnectionConfigurations": { + "type": "array", + "description": "List of all p2s connection configurations of the gateway.", + "items": { + "$ref": "#/definitions/P2SConnectionConfiguration" + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the P2S VPN gateway resource." + }, + "vpnGatewayScaleUnit": { + "type": "integer", + "format": "int32", + "description": "The scale unit for this p2s vpn gateway." + }, + "vpnServerConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The VpnServerConfiguration to which the p2sVpnGateway is attached to." + }, + "vpnClientConnectionHealth": { + "readOnly": true, + "$ref": "#/definitions/VpnClientConnectionHealth", + "description": "All P2S VPN clients' connection health status." + }, + "customDnsServers": { + "type": "array", + "description": "List of all customer specified DNS servers IP addresses.", + "items": { + "type": "string" + } + }, + "isRoutingPreferenceInternet": { + "type": "boolean", + "description": "Enable Routing Preference property for the Public IP Interface of the P2SVpnGateway." + } + }, + "description": "Parameters for P2SVpnGateway." + }, + "P2SVpnGateway": { + "required": [ + "location" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/P2SVpnGatewayProperties", + "description": "Properties of the P2SVpnGateway." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "P2SVpnGateway Resource." + }, + "ListP2SVpnGatewaysResult": { + "description": "Result of the request to list P2SVpnGateways. It contains a list of P2SVpnGateways and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/P2SVpnGateway" + }, + "description": "List of P2SVpnGateways." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "P2SVpnProfileParameters": { + "properties": { + "authenticationMethod": { + "$ref": "./network.json#/definitions/AuthenticationMethod", + "description": "VPN client authentication method." + } + }, + "description": "Vpn Client Parameters for package generation." + }, + "VpnProfileResponse": { + "properties": { + "profileUrl": { + "type": "string", + "description": "URL to the VPN profile." + } + }, + "description": "Vpn Profile Response for package generation." + }, + "VpnLinkBgpSettings": { + "properties": { + "asn": { + "type": "integer", + "format": "int64", + "description": "The BGP speaker's ASN." + }, + "bgpPeeringAddress": { + "type": "string", + "description": "The BGP peering address and BGP identifier of this BGP speaker." + } + }, + "description": "BGP settings details for a link." + }, + "VpnLinkProviderProperties": { + "properties": { + "linkProviderName": { + "type": "string", + "description": "Name of the link provider." + }, + "linkSpeedInMbps": { + "type": "integer", + "format": "int32", + "description": "Link speed." + } + }, + "description": "List of properties of a link provider." + }, + "VpnServerConfigurationsResponse": { + "properties": { + "vpnServerConfigurationResourceIds": { + "type": "array", + "items": { + "type": "string", + "description": "VpnServerConfiguration partial resource uri." + }, + "description": "List of VpnServerConfigurations associated with VirtualWan." + } + }, + "description": "VpnServerConfigurations list associated with VirtualWan Response." + }, + "VirtualWanVpnProfileParameters": { + "properties": { + "vpnServerConfigurationResourceId": { + "type": "string", + "description": "VpnServerConfiguration partial resource uri with which VirtualWan is associated to." + }, + "authenticationMethod": { + "$ref": "./network.json#/definitions/AuthenticationMethod", + "description": "VPN client authentication method." + } + }, + "description": "Virtual Wan Vpn profile parameters Vpn profile generation." + }, + "P2SVpnConnectionHealthRequest": { + "properties": { + "vpnUserNamesFilter": { + "type": "array", + "items": { + "type": "string", + "description": "P2S vpn user name." + }, + "description": "The list of p2s vpn user names whose p2s vpn connection detailed health to retrieve for." + }, + "outputBlobSasUrl": { + "type": "string", + "description": "The sas-url to download the P2S Vpn connection health detail." + } + }, + "description": "List of P2S Vpn connection health request." + }, + "P2SVpnConnectionHealth": { + "properties": { + "sasUrl": { + "type": "string", + "description": "Returned sas url of the blob to which the p2s vpn connection detailed health will be written." + } + }, + "description": "P2S Vpn connection detailed health written to sas url." + }, + "P2SConnectionConfigurationProperties": { + "properties": { + "vpnClientAddressPool": { + "$ref": "./virtualNetwork.json#/definitions/AddressSpace", + "description": "The reference to the address space resource which represents Address space for P2S VpnClient." + }, + "routingConfiguration": { + "$ref": "#/definitions/RoutingConfiguration", + "description": "The Routing Configuration indicating the associated and propagated route tables on this connection." + }, + "enableInternetSecurity": { + "type": "boolean", + "description": "Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the P2SConnectionConfiguration resource." + } + }, + "description": "Parameters for P2SConnectionConfiguration." + }, + "P2SConnectionConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/P2SConnectionConfigurationProperties", + "description": "Properties of the P2S connection configuration." + }, + "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." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "P2SConnectionConfiguration Resource." + }, + "VirtualHubRouteTableV2Properties": { + "properties": { + "routes": { + "type": "array", + "description": "List of all routes.", + "items": { + "$ref": "#/definitions/VirtualHubRouteV2" + } + }, + "attachedConnections": { + "type": "array", + "description": "List of all connections attached to this route table v2.", + "items": { + "type": "string" + } + }, + "provisioningState": { + "$ref": "./network.json#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioning state of the virtual hub route table v2 resource." + } + }, + "description": "Parameters for VirtualHubRouteTableV2." + }, + "VirtualHubRouteTableV2": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualHubRouteTableV2Properties", + "description": "Properties of the virtual hub route table v2." + }, + "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." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VirtualHubRouteTableV2 Resource." + }, + "VirtualHubRouteV2": { + "properties": { + "destinationType": { + "type": "string", + "description": "The type of destinations." + }, + "destinations": { + "type": "array", + "description": "List of all destinations.", + "items": { + "type": "string" + } + }, + "nextHopType": { + "type": "string", + "description": "The type of next hops." + }, + "nextHops": { + "type": "array", + "description": "NextHops ip address.", + "items": { + "type": "string" + } + } + }, + "description": "VirtualHubRouteTableV2 route." + }, + "ListVirtualHubRouteTableV2sResult": { + "description": "List of VirtualHubRouteTableV2s and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualHubRouteTableV2" + }, + "description": "List of VirtualHubRouteTableV2s." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "P2SVpnConnectionRequest": { + "description": "List of p2s vpn connections to be disconnected.", + "properties": { + "vpnConnectionIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of p2s vpn connection Ids." + } + } + }, + "VirtualHubId": { + "properties": { + "id": { + "type": "string", + "description": "The resource URI for the Virtual Hub where the ExpressRoute gateway is or will be deployed. The Virtual Hub resource and the ExpressRoute gateway resource reside in the same subscription." + } + }, + "description": "Virtual Hub identifier." + }, + "ExpressRouteCircuitPeeringId": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the ExpressRoute circuit peering." + } + }, + "description": "ExpressRoute circuit peering identifier." + }, + "ExpressRouteConnectionId": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The ID of the ExpressRouteConnection." + } + }, + "description": "The ID of the ExpressRouteConnection." + }, + "ExpressRouteGatewayProperties": { + "required": [ + "virtualHub" + ], + "properties": { + "autoScaleConfiguration": { + "properties": { + "bounds": { + "properties": { + "min": { + "type": "integer", + "description": "Minimum number of scale units deployed for ExpressRoute gateway." + }, + "max": { + "type": "integer", + "description": "Maximum number of scale units deployed for ExpressRoute gateway." + } + }, + "description": "Minimum and maximum number of scale units to deploy." + } + }, + "description": "Configuration for auto scaling." + }, + "expressRouteConnections": { + "type": "array", + "readOnly": true, + "description": "List of ExpressRoute connections to the ExpressRoute gateway.", + "items": { + "$ref": "#/definitions/ExpressRouteConnection" + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route gateway resource." + }, + "virtualHub": { + "$ref": "#/definitions/VirtualHubId", + "description": "The Virtual Hub where the ExpressRoute gateway is or will be deployed." + } + }, + "description": "ExpressRoute gateway resource properties." + }, + "ExpressRouteGateway": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteGatewayProperties", + "description": "Properties of the express route gateway." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "ExpressRoute gateway resource." + }, + "ExpressRouteGatewayList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteGateway" + }, + "description": "List of ExpressRoute gateways." + } + }, + "description": "List of ExpressRoute gateways." + }, + "ExpressRouteConnectionProperties": { + "required": [ + "expressRouteCircuitPeering" + ], + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route connection resource." + }, + "expressRouteCircuitPeering": { + "$ref": "#/definitions/ExpressRouteCircuitPeeringId", + "description": "The ExpressRoute circuit peering." + }, + "authorizationKey": { + "type": "string", + "description": "Authorization key to establish the connection." + }, + "routingWeight": { + "type": "integer", + "description": "The routing weight associated to the connection." + }, + "enableInternetSecurity": { + "type": "boolean", + "description": "Enable internet security." + }, + "expressRouteGatewayBypass": { + "type": "boolean", + "description": "Enable FastPath to vWan Firewall hub." + }, + "routingConfiguration": { + "$ref": "#/definitions/RoutingConfiguration", + "description": "The Routing Configuration indicating the associated and propagated route tables on this connection." + } + }, + "description": "Properties of the ExpressRouteConnection subresource." + }, + "ExpressRouteConnection": { + "required": [ + "name" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteConnectionProperties", + "description": "Properties of the express route connection." + }, + "name": { + "type": "string", + "description": "The name of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "ExpressRouteConnection resource." + }, + "ExpressRouteConnectionList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteConnection" + }, + "description": "The list of ExpressRoute connections." + } + }, + "description": "ExpressRouteConnection list." + }, + "ListVirtualHubBgpConnectionResults": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BgpConnection" + }, + "description": "The list of VirtualHubBgpConnections." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "VirtualHubBgpConnections list." + }, + "ListVirtualHubIpConfigurationResults": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/HubIpConfiguration" + }, + "description": "The list of VirtualHubIpConfigurations." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "VirtualHubIpConfigurations list." + }, + "RoutingConfiguration": { + "description": "Routing Configuration indicating the associated and propagated route tables for this connection.", + "properties": { + "associatedRouteTable": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The resource id RouteTable associated with this RoutingConfiguration." + }, + "propagatedRouteTables": { + "$ref": "#/definitions/PropagatedRouteTable", + "description": "The list of RouteTables to advertise the routes to." + }, + "vnetRoutes": { + "$ref": "#/definitions/VnetRoute", + "description": "List of routes that control routing from VirtualHub into a virtual network connection." + } + } + }, + "PropagatedRouteTable": { + "description": "The list of RouteTables to advertise the routes to.", + "properties": { + "labels": { + "type": "array", + "description": "The list of labels.", + "items": { + "type": "string" + } + }, + "ids": { + "type": "array", + "description": "The list of resource ids of all the RouteTables.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + } + } + }, + "VnetRoute": { + "description": "List of routes that control routing from VirtualHub into a virtual network connection.", + "properties": { + "staticRoutes": { + "type": "array", + "description": "List of all Static Routes.", + "items": { + "$ref": "#/definitions/StaticRoute" + } + }, + "bgpConnections": { + "type": "array", + "readOnly": true, + "description": "The list of references to HubBgpConnection objects.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + } + } + }, + "StaticRoute": { + "description": "List of all Static Routes.", + "properties": { + "name": { + "type": "string", + "description": "The name of the StaticRoute that is unique within a VnetRoute." + }, + "addressPrefixes": { + "type": "array", + "description": "List of all address prefixes.", + "items": { + "type": "string" + } + }, + "nextHopIpAddress": { + "type": "string", + "description": "The ip address of the next hop." + } + } + }, + "VirtualHubEffectiveRouteList": { + "description": "EffectiveRoutes List.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualHubEffectiveRoute" + }, + "description": "The list of effective routes configured on the virtual hub or the specified resource." + } + } + }, + "VirtualHubEffectiveRoute": { + "description": "The effective route configured on the virtual hub or specified resource.", + "properties": { + "addressPrefixes": { + "description": "The list of address prefixes.", + "type": "array", + "items": { + "type": "string" + } + }, + "nextHops": { + "description": "The list of next hops.", + "type": "array", + "items": { + "type": "string" + } + }, + "nextHopType": { + "description": "The type of the next hop.", + "type": "string" + }, + "asPath": { + "description": "The ASPath of this route.", + "type": "string" + }, + "routeOrigin": { + "description": "The origin of this route.", + "type": "string" + } + } + }, + "EffectiveRoutesParameters": { + "description": "The parameters specifying the resource whose effective routes are being requested.", + "properties": { + "resourceId": { + "type": "string", + "description": "The resource whose effective routes are being requested." + }, + "virtualWanResourceType": { + "type": "string", + "description": "The type of the specified resource like RouteTable, ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection." + } + } + }, + "O365PolicyProperties": { + "properties": { + "breakOutCategories": { + "readOnly": false, + "description": "Office365 breakout categories.", + "$ref": "#/definitions/O365BreakOutCategoryPolicies" + } + }, + "description": "The Office365 breakout policy." + }, + "O365BreakOutCategoryPolicies": { + "properties": { + "allow": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control allow category." + }, + "optimize": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control optimize category." + }, + "default": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control default category." + } + }, + "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/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/vmssNetworkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/vmssNetworkInterface.json new file mode 100644 index 000000000000..89562aa3062c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/vmssNetworkInterface.json @@ -0,0 +1,374 @@ +{ + "swagger": "2.0", + "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": "2018-10-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.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetVMNetworkInterfaces", + "description": "Gets information about all network interfaces in a virtual machine in a virtual machine scale set.", + "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 virtual machine scale set." + }, + { + "name": "virtualmachineIndex", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual machine index." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List virtual machine scale set vm network interfaces": { + "$ref": "./examples/VmssVmNetworkInterfaceList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetNetworkInterfaces", + "description": "Gets all network interfaces in a virtual machine scale set.", + "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 virtual machine scale set." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List virtual machine scale set network interfaces": { + "$ref": "./examples/VmssNetworkInterfaceList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_GetVirtualMachineScaleSetNetworkInterface", + "description": "Get the specified network interface in a virtual machine scale set.", + "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 virtual machine scale set." + }, + { + "name": "virtualmachineIndex", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual machine index." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterface" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get virtual machine scale set network interface": { + "$ref": "./examples/VmssNetworkInterfaceGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetIpConfigurations", + "description": "Get the specified network interface ip configuration in a virtual machine scale set.", + "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 virtual machine scale set." + }, + { + "name": "virtualmachineIndex", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual machine index." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the list of resulting NetworkInterfaceIPConfigurations resources.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List virtual machine scale set network interface ip configurations": { + "$ref": "./examples/VmssNetworkInterfaceIpConfigList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_GetVirtualMachineScaleSetIpConfiguration", + "description": "Get the specified network interface ip configuration in a virtual machine scale set.", + "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 virtual machine scale set." + }, + { + "name": "virtualmachineIndex", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual machine index." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "ipConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ip configuration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkInterfaceIPConfiguration resource.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get virtual machine scale set network interface": { + "$ref": "./examples/VmssNetworkInterfaceIpConfigGet.json" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/vmssPublicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/vmssPublicIpAddress.json new file mode 100644 index 000000000000..d100152e7711 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/vmssPublicIpAddress.json @@ -0,0 +1,241 @@ +{ + "swagger": "2.0", + "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": "2018-10-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.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses": { + "get": { + "operationId": "PublicIPAddresses_ListVirtualMachineScaleSetPublicIPAddresses", + "description": "Gets information about all public IP addresses on a virtual machine scale set level.", + "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 virtual machine scale set." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PublicIPInterface resources.", + "schema": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddressListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVMSSPublicIP": { + "$ref": "./examples/VmssPublicIpListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses": { + "get": { + "operationId": "PublicIPAddresses_ListVirtualMachineScaleSetVMPublicIPAddresses", + "description": "Gets information about all public IP addresses in a virtual machine IP configuration in a virtual machine scale set.", + "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 virtual machine scale set." + }, + { + "name": "virtualmachineIndex", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual machine index." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The network interface name." + }, + { + "name": "ipConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The IP configuration name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PublicIPAddress resources.", + "schema": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddressListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVMSSVMPublicIP": { + "$ref": "./examples/VmssVmPublicIpList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}": { + "get": { + "operationId": "PublicIPAddresses_GetVirtualMachineScaleSetPublicIPAddress", + "description": "Get the specified public IP address in a virtual machine scale set.", + "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 virtual machine scale set." + }, + { + "name": "virtualmachineIndex", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual machine index." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "ipConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the IP configuration." + }, + { + "name": "publicIpAddressName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP Address." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "x-ms-examples": { + "GetVMSSPublicIP": { + "$ref": "./examples/VmssPublicIpGet.json" + } + }, + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting PublicIPAddress resource.", + "schema": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/webapplicationfirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/webapplicationfirewall.json new file mode 100644 index 000000000000..8c01c6efd50c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2021-05-01/webapplicationfirewall.json @@ -0,0 +1,814 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01", + "title": "WebApplicationFirewallManagement", + "description": "APIs to manage web application firewall rules." + }, + "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.Network/ApplicationGatewayWebApplicationFirewallPolicies": { + "get": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Lists all of the protection policies within a resource group.", + "operationId": "WebApplicationFirewallPolicies_List", + "x-ms-examples": { + "Lists all WAF policies in a resource group": { + "$ref": "./examples/WafListPolicies.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies": { + "get": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Gets all the WAF policies in a subscription.", + "operationId": "WebApplicationFirewallPolicies_ListAll", + "x-ms-examples": { + "Lists all WAF policies in a subscription": { + "$ref": "./examples/WafListAllPolicies.json" + } + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}": { + "get": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Retrieve protection policy with specified name within a resource group.", + "operationId": "WebApplicationFirewallPolicies_Get", + "x-ms-examples": { + "Gets a WAF policy within a resource group": { + "$ref": "./examples/WafPolicyGet.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "policyName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 128, + "description": "The name of the policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Creates or update policy with specified rule set name within a resource group.", + "operationId": "WebApplicationFirewallPolicies_CreateOrUpdate", + "x-ms-examples": { + "Creates or updates a WAF policy within a resource group": { + "$ref": "./examples/WafPolicyCreateOrUpdate.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "policyName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 128, + "description": "The name of the policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "description": "Policy to be created.", + "in": "body", + "name": "parameters", + "required": true, + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + } + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new protection policy has been created.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Deletes Policy.", + "operationId": "WebApplicationFirewallPolicies_Delete", + "x-ms-examples": { + "Deletes a WAF policy within a resource group": { + "$ref": "./examples/WafPolicyDelete.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "policyName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 128, + "description": "The name of the policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously." + }, + "204": { + "description": "No Content. The request has been accepted but the policy was not found." + }, + "200": { + "description": "Delete successful." + }, + "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" + } + } + } + }, + "definitions": { + "WebApplicationFirewallPolicy": { + "description": "Defines web application firewall policy.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WebApplicationFirewallPolicyPropertiesFormat", + "description": "Properties of the web application firewall policy." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "WebApplicationFirewallPolicyPropertiesFormat": { + "description": "Defines web application firewall policy properties.", + "required": [ + "managedRules" + ], + "properties": { + "policySettings": { + "description": "The PolicySettings for policy.", + "$ref": "#/definitions/PolicySettings" + }, + "customRules": { + "description": "The custom rules inside the policy.", + "type": "array", + "items": { + "$ref": "#/definitions/WebApplicationFirewallCustomRule" + } + }, + "applicationGateways": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./applicationGateway.json#/definitions/ApplicationGateway" + }, + "description": "A collection of references to application gateways." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the web application firewall policy resource." + }, + "resourceState": { + "title": "Resource status of the policy.", + "readOnly": true, + "type": "string", + "description": "Resource status of the policy.", + "enum": [ + "Creating", + "Enabling", + "Enabled", + "Disabling", + "Disabled", + "Deleting" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallPolicyResourceState", + "modelAsString": true + } + }, + "managedRules": { + "description": "Describes the managedRules structure.", + "$ref": "#/definitions/ManagedRulesDefinition" + }, + "httpListeners": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "A collection of references to application gateway http listeners." + }, + "pathBasedRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "A collection of references to application gateway path rules." + } + } + }, + "WebApplicationFirewallPolicyListResult": { + "description": "Result of the request to list WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + }, + "description": "List of WebApplicationFirewallPolicies within a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of WebApplicationFirewallPolicy objects if there are any." + } + } + }, + "ManagedRulesDefinition": { + "description": "Allow to exclude some variable satisfy the condition for the WAF check.", + "required": [ + "managedRuleSets" + ], + "properties": { + "exclusions": { + "type": "array", + "items": { + "$ref": "#/definitions/OwaspCrsExclusionEntry" + }, + "description": "The Exclusions that are applied on the policy." + }, + "managedRuleSets": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleSet" + }, + "description": "The managed rule sets that are associated with the policy." + } + } + }, + "PolicySettings": { + "description": "Defines contents of a web application firewall global configuration.", + "properties": { + "state": { + "description": "The state of the policy.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallEnabledState", + "modelAsString": true + } + }, + "mode": { + "description": "The mode of the policy.", + "type": "string", + "enum": [ + "Prevention", + "Detection" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallMode", + "modelAsString": true + } + }, + "requestBodyCheck": { + "type": "boolean", + "description": "Whether to allow WAF to check request Body." + }, + "maxRequestBodySizeInKb": { + "type": "integer", + "format": "int32", + "minimum": 8, + "exclusiveMinimum": false, + "description": "Maximum request body size in Kb for WAF." + }, + "fileUploadLimitInMb": { + "type": "integer", + "format": "int32", + "minimum": 0, + "exclusiveMinimum": false, + "description": "Maximum file upload size in Mb for WAF." + } + } + }, + "WebApplicationFirewallCustomRule": { + "description": "Defines contents of a web application rule.", + "required": [ + "priority", + "ruleType", + "matchConditions", + "action" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the resource that is unique within a policy. This name can be used to access the resource.", + "maxLength": 128 + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "priority": { + "description": "Priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.", + "type": "integer" + }, + "ruleType": { + "description": "The rule type.", + "type": "string", + "enum": [ + "MatchRule", + "Invalid" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallRuleType", + "modelAsString": true + } + }, + "matchConditions": { + "description": "List of match conditions.", + "type": "array", + "items": { + "$ref": "#/definitions/MatchCondition" + } + }, + "action": { + "description": "Type of Actions.", + "type": "string", + "enum": [ + "Allow", + "Block", + "Log" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallAction", + "modelAsString": true + } + } + } + }, + "Transform": { + "description": "Transforms applied before matching.", + "type": "string", + "enum": [ + "Lowercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls", + "HtmlEntityDecode" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallTransform", + "modelAsString": true + } + }, + "MatchVariable": { + "description": "Define match variables.", + "required": [ + "variableName" + ], + "properties": { + "variableName": { + "description": "Match Variable.", + "type": "string", + "enum": [ + "RemoteAddr", + "RequestMethod", + "QueryString", + "PostArgs", + "RequestUri", + "RequestHeaders", + "RequestBody", + "RequestCookies" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallMatchVariable", + "modelAsString": true + } + }, + "selector": { + "description": "The selector of match variable.", + "type": "string" + } + } + }, + "MatchCondition": { + "description": "Define match conditions.", + "required": [ + "matchVariables", + "operator", + "matchValues" + ], + "properties": { + "matchVariables": { + "description": "List of match variables.", + "type": "array", + "items": { + "$ref": "#/definitions/MatchVariable" + } + }, + "operator": { + "description": "The operator to be matched.", + "type": "string", + "enum": [ + "IPMatch", + "Equal", + "Contains", + "LessThan", + "GreaterThan", + "LessThanOrEqual", + "GreaterThanOrEqual", + "BeginsWith", + "EndsWith", + "Regex", + "GeoMatch" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallOperator", + "modelAsString": true + } + }, + "negationConditon": { + "description": "Whether this is negate condition or not.", + "type": "boolean" + }, + "matchValues": { + "description": "Match value.", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms.", + "type": "array", + "items": { + "$ref": "#/definitions/Transform" + } + } + } + }, + "ManagedRuleSet": { + "type": "object", + "description": "Defines a managed rule set.", + "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" + }, + "ruleGroupOverrides": { + "description": "Defines the rule group overrides to apply to the rule set.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleGroupOverride" + } + } + } + }, + "ManagedRuleGroupOverride": { + "type": "object", + "description": "Defines a managed rule group override setting.", + "required": [ + "ruleGroupName" + ], + "properties": { + "ruleGroupName": { + "description": "The managed rule group to override.", + "type": "string" + }, + "rules": { + "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleOverride" + } + } + } + }, + "ManagedRuleOverride": { + "type": "object", + "description": "Defines a managed rule group override setting.", + "required": [ + "ruleId" + ], + "properties": { + "ruleId": { + "description": "Identifier for the managed rule.", + "type": "string" + }, + "state": { + "description": "The state of the managed rule. Defaults to Disabled if not specified.", + "type": "string", + "enum": [ + "Disabled" + ], + "x-ms-enum": { + "name": "ManagedRuleEnabledState", + "modelAsString": true + } + } + } + }, + "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", + "selectorMatchOperator", + "selector" + ], + "description": "Allow to exclude some variable satisfy the condition for the WAF check.", + "properties": { + "matchVariable": { + "type": "string", + "enum": [ + "RequestHeaderNames", + "RequestCookieNames", + "RequestArgNames", + "RequestHeaderKeys", + "RequestHeaderValues", + "RequestCookieKeys", + "RequestCookieValues", + "RequestArgKeys", + "RequestArgValues" + ], + "description": "The variable to be excluded.", + "x-ms-enum": { + "name": "OwaspCrsExclusionEntryMatchVariable", + "modelAsString": true + } + }, + "selectorMatchOperator": { + "type": "string", + "enum": [ + "Equals", + "Contains", + "StartsWith", + "EndsWith", + "EqualsAny" + ], + "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to.", + "x-ms-enum": { + "name": "OwaspCrsExclusionEntrySelectorMatchOperator", + "modelAsString": true + } + }, + "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/specification/network/resource-manager/readme.go.md b/specification/network/resource-manager/readme.go.md index 505ff237a392..b84bb9241290 100644 --- a/specification/network/resource-manager/readme.go.md +++ b/specification/network/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/network/armnetwork +module-name: sdk/resourcemanager/network/armnetwork module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true @@ -21,6 +21,7 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-05 - tag: package-2021-03 - tag: package-2021-02 - tag: package-2020-11 @@ -61,6 +62,15 @@ batch: - tag: package-2015-05-preview ``` +### Tag: package-2021-05 and go + +These settings apply only when `--tag=package-2021-05 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-05' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-05-01/$(namespace) +``` + ### Tag: package-2021-03 and go These settings apply only when `--tag=package-2021-03 --go` is specified on the command line. diff --git a/specification/network/resource-manager/readme.java.md b/specification/network/resource-manager/readme.java.md index e05a5f82adf3..5edd4a4ef519 100644 --- a/specification/network/resource-manager/readme.java.md +++ b/specification/network/resource-manager/readme.java.md @@ -280,3 +280,54 @@ input-file: - Microsoft.Network/stable/2017-10-01/routeTable.json - Microsoft.Network/stable/2017-10-01/virtualNetwork.json ``` + +### Tag: profile-hybrid-2020-09-01 and java + +These settings apply only when `--tag=profile-hybrid-2020-09-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'profile-hybrid-2020-09-01' && $(java) +input-file: + - Microsoft.Network/stable/2018-11-01/applicationGateway.json + - Microsoft.Network/stable/2018-11-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2018-11-01/availableDelegations.json + - Microsoft.Network/stable/2018-11-01/azureFirewall.json + - Microsoft.Network/stable/2018-11-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2018-11-01/checkDnsAvailability.json + - Microsoft.Network/stable/2018-11-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2018-11-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2018-11-01/endpointService.json + - Microsoft.Network/stable/2018-11-01/expressRouteCircuit.json + - Microsoft.Network/stable/2018-11-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2018-11-01/expressRouteGateway.json + - Microsoft.Network/stable/2018-11-01/expressRoutePort.json + - Microsoft.Network/stable/2018-11-01/interfaceEndpoint.json + - Microsoft.Network/stable/2018-11-01/loadBalancer.json + - Microsoft.Network/stable/2018-11-01/network.json + - Microsoft.Network/stable/2018-11-01/networkInterface.json + - Microsoft.Network/stable/2018-11-01/networkProfile.json + - Microsoft.Network/stable/2018-11-01/networkSecurityGroup.json + - Microsoft.Network/stable/2018-11-01/networkWatcher.json + - Microsoft.Network/stable/2018-11-01/operation.json + - Microsoft.Network/stable/2018-11-01/publicIpAddress.json + - Microsoft.Network/stable/2018-11-01/publicIpPrefix.json + - Microsoft.Network/stable/2018-11-01/routeFilter.json + - Microsoft.Network/stable/2018-11-01/routeTable.json + - Microsoft.Network/stable/2018-11-01/serviceCommunity.json + - Microsoft.Network/stable/2018-11-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2018-11-01/usage.json + - Microsoft.Network/stable/2018-11-01/virtualNetwork.json + - Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2018-11-01/virtualNetworkTap.json + - Microsoft.Network/stable/2018-11-01/virtualWan.json + - Microsoft.Network/stable/2018-11-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2018-11-01/vmssPublicIpAddress.json +directive: + - from: loadBalancer.json + where: $.definitions.OutboundRulePropertiesFormat.properties.protocol + transform: > + $['x-ms-enum'] = { + name: 'LoadBalancerOutboundRuleProtocol', + modelAsString: true, + }; +``` diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md index 16b6c98ec2c3..e32929a5a73a 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -28,14 +28,72 @@ These are the global settings for the Network API. title: NetworkManagementClient description: Network Client openapi-type: arm -tag: package-2021-03 +tag: package-2021-05 ``` + +### Tag: package-2021-05 + +These settings apply only when `--tag=package-2021-05` is specified on the command line. + +```yaml $(tag) == 'package-2021-05' +input-file: + - Microsoft.Network/stable/2021-05-01/applicationGateway.json + - Microsoft.Network/stable/2021-05-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2021-05-01/availableDelegations.json + - Microsoft.Network/stable/2021-05-01/availableServiceAliases.json + - Microsoft.Network/stable/2021-05-01/azureFirewall.json + - Microsoft.Network/stable/2021-05-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2021-05-01/azureWebCategory.json + - Microsoft.Network/stable/2021-05-01/bastionHost.json + - Microsoft.Network/stable/2021-05-01/checkDnsAvailability.json + - Microsoft.Network/stable/2021-05-01/cloudServiceNetworkInterface.json + - Microsoft.Network/stable/2021-05-01/cloudServicePublicIpAddress.json + - Microsoft.Network/stable/2021-05-01/customIpPrefix.json + - Microsoft.Network/stable/2021-05-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2021-05-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2021-05-01/dscpConfiguration.json + - Microsoft.Network/stable/2021-05-01/endpointService.json + - Microsoft.Network/stable/2021-05-01/expressRouteCircuit.json + - Microsoft.Network/stable/2021-05-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2021-05-01/expressRoutePort.json + - Microsoft.Network/stable/2021-05-01/firewallPolicy.json + - Microsoft.Network/stable/2021-05-01/ipAllocation.json + - Microsoft.Network/stable/2021-05-01/ipGroups.json + - Microsoft.Network/stable/2021-05-01/loadBalancer.json + - Microsoft.Network/stable/2021-05-01/natGateway.json + - Microsoft.Network/stable/2021-05-01/network.json + - Microsoft.Network/stable/2021-05-01/networkInterface.json + - Microsoft.Network/stable/2021-05-01/networkProfile.json + - Microsoft.Network/stable/2021-05-01/networkSecurityGroup.json + - Microsoft.Network/stable/2021-05-01/networkVirtualAppliance.json + - Microsoft.Network/stable/2021-05-01/networkWatcher.json + - Microsoft.Network/stable/2021-05-01/operation.json + - Microsoft.Network/stable/2021-05-01/privateEndpoint.json + - Microsoft.Network/stable/2021-05-01/privateLinkService.json + - Microsoft.Network/stable/2021-05-01/publicIpAddress.json + - Microsoft.Network/stable/2021-05-01/publicIpPrefix.json + - Microsoft.Network/stable/2021-05-01/routeFilter.json + - Microsoft.Network/stable/2021-05-01/routeTable.json + - Microsoft.Network/stable/2021-05-01/securityPartnerProvider.json + - Microsoft.Network/stable/2021-05-01/serviceCommunity.json + - Microsoft.Network/stable/2021-05-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2021-05-01/serviceTags.json + - Microsoft.Network/stable/2021-05-01/usage.json + - Microsoft.Network/stable/2021-05-01/virtualNetwork.json + - Microsoft.Network/stable/2021-05-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2021-05-01/virtualNetworkTap.json + - Microsoft.Network/stable/2021-05-01/virtualRouter.json + - Microsoft.Network/stable/2021-05-01/virtualWan.json + - Microsoft.Network/stable/2021-05-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2021-05-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2021-05-01/webapplicationfirewall.json +``` ### Tag: package-2021-03 These settings apply only when `--tag=package-2021-03` is specified on the command line. -```yaml $(tag) == 'package-2021-03' +``` yaml $(tag) == 'package-2021-03' input-file: - Microsoft.Network/stable/2021-03-01/applicationGateway.json - Microsoft.Network/stable/2021-03-01/applicationSecurityGroup.json @@ -88,6 +146,7 @@ input-file: - Microsoft.Network/stable/2021-03-01/vmssPublicIpAddress.json - Microsoft.Network/stable/2021-03-01/webapplicationfirewall.json ``` + ### Tag: package-2021-02 These settings apply only when `--tag=package-2021-02` is specified on the command line. @@ -205,6 +264,22 @@ input-file: ``` +### Tag: package-2021-02-preview-only + +These settings apply only when `--tag=2021-02-preview-only` is specified on the command line. + +``` yaml $(tag) == 'package-2021-02-preview-only' +input-file: + - Microsoft.Network/preview/2021-02-01-preview/networkManager.json + - Microsoft.Network/preview/2021-02-01-preview/networkManagerActiveConfiguration.json + - Microsoft.Network/preview/2021-02-01-preview/networkManagerConnectivityConfiguration.json + - Microsoft.Network/preview/2021-02-01-preview/networkManagerEffectiveConfiguration.json + - Microsoft.Network/preview/2021-02-01-preview/networkManagerGroup.json + - Microsoft.Network/preview/2021-02-01-preview/networkManagerSecurityUserConfiguration.json + - Microsoft.Network/preview/2021-02-01-preview/networkManagerSecurityAdminConfiguration.json + - Microsoft.Network/preview/2021-02-01-preview/networkSecurityPerimeter.json +``` + ### Tag: package-2021-02-preview These settings apply only when `--tag=2021-02-preview` is specified on the command line. @@ -2082,6 +2157,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby diff --git a/specification/network/resource-manager/readme.python.md b/specification/network/resource-manager/readme.python.md index c2fb9bdd5c1f..8e3cb074d1a7 100644 --- a/specification/network/resource-manager/readme.python.md +++ b/specification/network/resource-manager/readme.python.md @@ -17,8 +17,9 @@ Generate all API versions currently shipped for this package ```yaml $(multiapi) clear-output-folder: true batch: - - tag: package-2021-03 + - tag: package-2021-05 - tag: package-2021-02 + - tag: package-2021-02-preview-only - tag: package-2020-11 - tag: package-2020-08 - tag: package-2020-07 @@ -43,16 +44,14 @@ batch: - tag: package-2018-04 - tag: package-2018-02 - tag: package-2018-01 - - tag: package-2017-11 - tag: package-2017-10 - - tag: package-2017-09 - - tag: package-2017-08 - tag: package-2017-06 - tag: package-2017-03 - tag: package-2016-12 - tag: package-2016-09 - tag: package-2015-06split - multiapiscript: true + ``` ``` yaml $(multiapiscript) @@ -60,16 +59,28 @@ output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/netwo clear-output-folder: false perform-load: false ``` -### Tag: package-2021-03 and python -These settings apply only when `--tag=package-2021-03 --python` is specified on the command line. +### Tag: package-2021-05 and python + +These settings apply only when `--tag=package-2021-05 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-05' +namespace: azure.mgmt.network.v2021_05_01 +output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/v2021_05_01 +``` + +### Tag: package-2021-02-preview-only and python + +These settings apply only when `--tag=package-2021-02-preview-only --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2021-03' -namespace: azure.mgmt.network.v2021_03_01 -output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/v2021_03_01 +``` yaml $(tag) == 'package-2021-02-preview-only' +namespace: azure.mgmt.network.v2021_02_01_preview +output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/v2021_02_01_preview ``` + ### Tag: package-2021-02 and python These settings apply only when `--tag=package-2021-02 --python` is specified on the command line. @@ -320,16 +331,6 @@ namespace: azure.mgmt.network.v2018_01_01 output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/v2018_01_01 ``` -### Tag: package-2017-11 and python - -These settings apply only when `--tag=package-2017-11 --python` is specified on the command line. -Please also specify `--python-sdks-folder=`. - -``` yaml $(tag) == 'package-2017-11' -namespace: azure.mgmt.network.v2017_11_01 -output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/v2017_11_01 -``` - ### Tag: package-2017-10 and python These settings apply only when `--tag=package-2017-10 --python` is specified on the command line. @@ -340,26 +341,6 @@ namespace: azure.mgmt.network.v2017_10_01 output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/v2017_10_01 ``` -### Tag: package-2017-09 and python - -These settings apply only when `--tag=package-2017-09 --python` is specified on the command line. -Please also specify `--python-sdks-folder=`. - -``` yaml $(tag) == 'package-2017-09' -namespace: azure.mgmt.network.v2017_09_01 -output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/v2017_09_01 -``` - -### Tag: package-2017-08 and python - -These settings apply only when `--tag=package-2017-08 --python` is specified on the command line. -Please also specify `--python-sdks-folder=`. - -``` yaml $(tag) == 'package-2017-08' -namespace: azure.mgmt.network.v2017_08_01 -output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/v2017_08_01 -``` - ### Tag: package-2017-06 and python These settings apply only when `--tag=package-2017-06 --python` is specified on the command line. diff --git a/specification/notificationhubs/resource-manager/readme.go.md b/specification/notificationhubs/resource-manager/readme.go.md index 98380347b17e..db9a2a21564d 100644 --- a/specification/notificationhubs/resource-manager/readme.go.md +++ b/specification/notificationhubs/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: notificationhubs clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/notificationhubs/armnotificationhubs +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/notificationhubs/resource-manager/readme.md b/specification/notificationhubs/resource-manager/readme.md index 82e278e1d719..f8a8d6a86e77 100644 --- a/specification/notificationhubs/resource-manager/readme.md +++ b/specification/notificationhubs/resource-manager/readme.md @@ -88,6 +88,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/Clusters.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/Clusters.json index 6544896e5b64..8a9663c21bd9 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/Clusters.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/Clusters.json @@ -325,7 +325,8 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } - } + }, + "x-ms-long-running-operation": true } } }, diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/Tables.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/Tables.json new file mode 100644 index 000000000000..13c38636184b --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/Tables.json @@ -0,0 +1,300 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "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.OperationalInsights/workspaces/{workspaceName}/tables": { + "get": { + "tags": [ + "Tables" + ], + "x-ms-examples": { + "TablesListByWorkspace": { + "$ref": "./examples/TablesList.json" + } + }, + "operationId": "Tables_ListByWorkspace", + "description": "Gets all the tables for the specified Log Analytics workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/TablesListResult" + } + }, + "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 + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables/{tableName}": { + "patch": { + "tags": [ + "Tables" + ], + "x-ms-examples": { + "TablesSet": { + "$ref": "./examples/TablesUpdate.json" + } + }, + "operationId": "Tables_Update", + "description": "Updates a Log Analytics workspace table properties.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TableNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Table" + }, + "description": "The parameters required to update table properties." + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/Table" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Tables" + ], + "x-ms-examples": { + "TablesSet": { + "$ref": "./examples/TablesCreate.json" + } + }, + "operationId": "Tables_Create", + "description": "Updates a Log Analytics workspace table properties.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TableNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Table" + }, + "description": "The parameters required to update table properties." + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/Table" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Tables" + ], + "x-ms-examples": { + "TablesGet": { + "$ref": "./examples/TablesGet.json" + } + }, + "operationId": "Tables_Get", + "description": "Gets a Log Analytics workspace table.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TableNameParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/Table" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "TableProperties": { + "type": "object", + "properties": { + "retentionInDays": { + "type": "integer", + "format": "int32", + "minimum": 7, + "maximum": 730, + "description": "The data table data retention in days, between 7 and 730. Setting this property to null will default to the workspace retention." + }, + "isTroubleshootingAllowed": { + "readOnly": true, + "type": "boolean", + "description": "Specifies if IsTroubleshootingEnabled property can be set for this table." + }, + "isTroubleshootEnabled": { + "type": "boolean", + "description": "Enable or disable troubleshoot for this table." + }, + "lastTroubleshootDate": { + "readOnly": true, + "type": "string", + "description": "Last time when troubleshooting was set for this table." + } + }, + "description": "Table properties." + }, + "Table": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/TableProperties", + "description": "Table properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "description": "Workspace data table definition." + }, + "TablesListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Table" + }, + "description": "A list of data tables." + } + }, + "description": "The list tables operation response." + } + }, + "parameters": { + "TableNameParameter": { + "name": "tableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the table.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesCreate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesCreate.json new file mode 100644 index 000000000000..379a3c406db5 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesCreate.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "workspaceName": "oiautorest6685", + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000", + "tableName": "table1", + "parameters": { + "properties": { + "retentionInDays": 40, + "isTroubleshootEnabled": false + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "retentionInDays": 40, + "isTroubleshootingAllowed": false, + "isTroubleshootEnabled": false + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/Microsoft.OperationalInsights/workspaces/oiautorest6685/tables/table1", + "name": "table1" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesGet.json new file mode 100644 index 000000000000..c05d332a9e08 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "workspaceName": "oiautorest6685", + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000", + "tableName": "table1" + }, + "responses": { + "200": { + "body": { + "properties": { + "retentionInDays": 30, + "isTroubleshootingAllowed": true, + "isTroubleshootEnabled": true, + "lastTroubleshootDate": "Thu, 19 Nov 2020 07:40:51 GMT" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/oiautorest6685/tables/table1", + "name": "table1" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesList.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesList.json new file mode 100644 index 000000000000..e3d087aebf38 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "workspaceName": "oiautorest6685", + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "retentionInDays": 30, + "isTroubleshootingAllowed": true, + "isTroubleshootEnabled": true, + "lastTroubleshootDate": "Thu, 19 Nov 2020 07:40:51 GMT" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/oiautorest6685/tables/table1", + "name": "table1" + }, + { + "properties": { + "retentionInDays": 7, + "isTroubleshootingAllowed": true + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/oiautorest6685/tables/table2", + "name": "table2" + }, + { + "properties": { + "retentionInDays": 7, + "isTroubleshootingAllowed": false + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/oiautorest6685/tables/table3", + "name": "table3" + } + ] + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesUpdate.json new file mode 100644 index 000000000000..a58178289759 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesUpdate.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "workspaceName": "oiautorest6685", + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000", + "tableName": "table1", + "parameters": { + "properties": { + "retentionInDays": 40, + "isTroubleshootEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "retentionInDays": 40, + "isTroubleshootingAllowed": true, + "isTroubleshootEnabled": true + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/Microsoft.OperationalInsights/workspaces/oiautorest6685/tables/table1", + "name": "table1" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/readme.go.md b/specification/operationalinsights/resource-manager/readme.go.md index 6e9786dd7f9f..71b3a9d50c49 100644 --- a/specification/operationalinsights/resource-manager/readme.go.md +++ b/specification/operationalinsights/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/operationalinsights/armoperationalinsights +module-name: sdk/resourcemanager/operationalinsights/armoperationalinsights module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/operationalinsights/resource-manager/readme.md b/specification/operationalinsights/resource-manager/readme.md index 8ca2f5ec49b1..2966329825fa 100644 --- a/specification/operationalinsights/resource-manager/readme.md +++ b/specification/operationalinsights/resource-manager/readme.md @@ -197,6 +197,7 @@ input-file: - Microsoft.OperationalInsights/stable/2020-08-01/SharedKeys.json - Microsoft.OperationalInsights/stable/2020-08-01/WorkspacePurge.json - Microsoft.OperationalInsights/stable/2020-10-01/Operations.json +- Microsoft.OperationalInsights/stable/2021-06-01/Tables.json - Microsoft.OperationalInsights/stable/2021-06-01/Clusters.json - Microsoft.OperationalInsights/stable/2021-06-01/Workspaces.json ``` diff --git a/specification/operationsmanagement/resource-manager/readme.go.md b/specification/operationsmanagement/resource-manager/readme.go.md index f8b1cd236937..41bfa1d752f0 100644 --- a/specification/operationsmanagement/resource-manager/readme.go.md +++ b/specification/operationsmanagement/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: operationsmanagement clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/operationsmanagement/armoperationsmanagement +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/operationsmanagement/resource-manager/readme.md b/specification/operationsmanagement/resource-manager/readme.md index 582250ff458a..be1830a2107c 100644 --- a/specification/operationsmanagement/resource-manager/readme.md +++ b/specification/operationsmanagement/resource-manager/readme.md @@ -56,6 +56,7 @@ swagger-to-sdk: - repo: azure-powershell - repo: azure-sdk-for-net - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-python-track2 diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/AvailableContactsList.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/AvailableContactsList.json new file mode 100644 index 000000000000..2a6f279cc11b --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/AvailableContactsList.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2021-04-04-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "spacecraftName": "AQUA", + "parameters": { + "contactProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/Microsoft.Orbital/contactProfiles/AQUA_DIRECTPLAYBACK_WITH_UPLINK" + }, + "groundStationName": "westus_gs1", + "startTime": "2020-07-16T05:40:21.00Z", + "endTime": "2020-07-17T23:49:40.00Z" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "spacecraft": { + "id": "/subscriptions/subId/resourceGroups/rg/Microsoft.Orbital/spacecrafts/AQUA" + }, + "groundStationName": "westus_gs1", + "properties": { + "maximumElevationDegrees": 70.94, + "rxStartTime": "2020-07-16T20:40:21.00Z", + "rxEndTime": "2020-07-16T20:49:40.00Z", + "txStartTime": "2020-07-16T20:40:21.00Z", + "txEndTime": "2020-07-16T20:49:40.00Z", + "startAzimuthDegrees": 148.237, + "endAzimuthDegrees": 353.837, + "startElevationDegrees": 10.0, + "endElevationDegrees": 10.0 + } + }, + { + "spacecraft": { + "id": "/subscriptions/subId/resourceGroups/rg/Microsoft.Orbital/spacecrafts/AQUA" + }, + "groundStationName": "westus_gs1", + "properties": { + "maximumElevationDegrees": 87.153, + "rxStartTime": "2020-07-17T10:13:55.00Z", + "rxEndTime": "2020-07-17T10:23:30.00Z", + "txStartTime": "2020-07-17T10:13:55.00Z", + "txEndTime": "2020-07-17T10:23:30.00Z", + "startAzimuthDegrees": 14.392, + "endAzimuthDegrees": 194.36, + "startElevationDegrees": 10.0, + "endElevationDegrees": 10.0 + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/AvailableGroundStationGet.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/AvailableGroundStationGet.json new file mode 100644 index 000000000000..782e5291c0d2 --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/AvailableGroundStationGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-04-04-preview", + "subscriptionId": "subid", + "groundStationName": "westus_gs1" + }, + "responses": { + "200": { + "body": { + "name": "westus_gs1", + "location": "westus", + "id": "/subscriptions/subid/providers/Microsoft.Orbital/availableGroundStations/westus_gs1", + "type": "Microsoft.Orbital/availableGroundStations", + "properties": { + "city": "redmond", + "providerName": "Microsoft", + "longitudeDegrees": 47.674, + "latitudeDegrees": -122.122, + "altitudeMeters": 1500.83 + } + } + } + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/AvailableGroundStationsByCapabilityList.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/AvailableGroundStationsByCapabilityList.json new file mode 100644 index 000000000000..af85bcb2551a --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/AvailableGroundStationsByCapabilityList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-04-04-preview", + "subscriptionId": "subId", + "capability": "EarthObservation" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "westus_gs1", + "location": "westus", + "id": "/subscriptions/subId/providers/Microsoft.Orbital/availableGroundStations/westus_gs1", + "type": "Microsoft.Orbital/availableGroundStations", + "properties": { + "city": "redmond", + "providerName": "Microsoft", + "longitudeDegrees": 47.674, + "latitudeDegrees": -122.122, + "altitudeMeters": 1500.83 + } + }, + { + "name": "westus_gs2", + "location": "westus", + "id": "/subscriptions/subId/providers/Microsoft.Orbital/availableGroundStations/westus_gs2", + "type": "Microsoft.Orbital/availableGroundStations", + "properties": { + "city": "redmond", + "providerName": "Microsoft", + "longitudeDegrees": 47.674, + "latitudeDegrees": -122.122, + "altitudeMeters": 1500.83 + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactCreate.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactCreate.json new file mode 100644 index 000000000000..ef80f8f8a95c --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactCreate.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2021-04-04-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "contactName": "contact1", + "spacecraftName": "AQUA", + "parameters": { + "properties": { + "reservationStartTime": "2020-07-16T20:35:00.00Z", + "reservationEndTime": "2020-07-16T20:55:00.00Z", + "groundStationName": "westus_gs1", + "contactProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/Microsoft.Orbital/contactProfiles/AQUA_DIRECTPLAYBACK_WITH_UPLINK" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "contact1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Orbital/spacecrafts/AQUA/contacts/contact1", + "properties": { + "status": "scheduled", + "reservationStartTime": "2020-07-16T20:35:00.00Z", + "reservationEndTime": "2020-07-16T20:55:00.00Z", + "rxStartTime": "2020-07-16T20:40:21.00Z", + "rxEndTime": "2020-07-16T20:49:40.00Z", + "txStartTime": "2020-07-16T20:40:21.00Z", + "txEndTime": "2020-07-16T20:49:40.00Z", + "errorMessage": "", + "maximumElevationDegrees": 70.94, + "startAzimuthDegrees": 148.237, + "endAzimuthDegrees": 353.837, + "startElevationDegrees": 10.0, + "endElevationDegrees": 10.0, + "groundStationName": "westus_gs1", + "contactProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/Microsoft.Orbital/contactProfiles/AQUA_DIRECTPLAYBACK_WITH_UPLINK" + } + }, + "type": "Microsoft.Orbital/contacts" + } + }, + "201": { + "body": { + "name": "contact1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Orbital/spacecrafts/AQUA/contacts/contact1", + "properties": { + "status": "scheduled", + "reservationStartTime": "2020-07-16T20:35:00.00Z", + "reservationEndTime": "2020-07-16T20:55:00.00Z", + "rxStartTime": "2020-07-16T20:40:21.00Z", + "rxEndTime": "2020-07-16T20:49:40.00Z", + "txStartTime": "2020-07-16T20:40:21.00Z", + "txEndTime": "2020-07-16T20:49:40.00Z", + "errorMessage": "", + "maximumElevationDegrees": 70.94, + "startAzimuthDegrees": 148.237, + "endAzimuthDegrees": 353.837, + "startElevationDegrees": 10.0, + "endElevationDegrees": 10.0, + "groundStationName": "westus_gs1", + "contactProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/Microsoft.Orbital/contactProfiles/AQUA_DIRECTPLAYBACK_WITH_UPLINK" + } + }, + "type": "Microsoft.Orbital/contacts" + } + } + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactDelete.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactDelete.json new file mode 100644 index 000000000000..ae80d2569db8 --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-04-04-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "spacecraftName": "AQUA", + "contactName": "contact1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactGet.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactGet.json new file mode 100644 index 000000000000..9b10f94c0486 --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-04-04-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "spacecraftName": "AQUA", + "contactName": "contact1" + }, + "responses": { + "200": { + "body": { + "name": "contact1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Orbital/spacecrafts/AQUA/contacts/contact1", + "properties": { + "status": "scheduled", + "reservationStartTime": "2020-07-16T20:35:00.00Z", + "reservationEndTime": "2020-07-16T20:55:00.00Z", + "rxStartTime": "2020-07-16T20:40:21.00Z", + "rxEndTime": "2020-07-16T20:49:40.00Z", + "txStartTime": "2020-07-16T20:40:21.00Z", + "txEndTime": "2020-07-16T20:49:40.00Z", + "errorMessage": "", + "maximumElevationDegrees": 70.94, + "startAzimuthDegrees": 148.237, + "endAzimuthDegrees": 353.837, + "startElevationDegrees": 10.0, + "endElevationDegrees": 10.0, + "groundStationName": "westus_gs1", + "contactProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/Microsoft.Orbital/contactProfiles/AQUA_DIRECTPLAYBACK_WITH_UPLINK" + } + }, + "type": "Microsoft.Orbital/contacts" + } + } + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactProfileCreate.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactProfileCreate.json new file mode 100644 index 000000000000..4070e8fddd14 --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactProfileCreate.json @@ -0,0 +1,182 @@ +{ + "parameters": { + "api-version": "2021-04-04-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "contactProfileName": "AQUA_DIRECTPLAYBACK_WITH_UPLINK", + "parameters": { + "location": "westus", + "properties": { + "minimumViableContactDuration": "PT1M", + "minimumElevationDegrees": 10, + "autoTrackingConfiguration": "xBand", + "links": [ + { + "polarization": "RHCP", + "direction": "uplink", + "gainOverTemperature": 0, + "eirpdBW": 45, + "channels": [ + { + "centerFrequencyMHz": 2106.4063, + "bandwidthMHz": 0.036, + "endPoint": { + "ipAddress": "10.0.1.0", + "endPointName": "AQUA_command", + "port": "4000", + "protocol": "TCP" + }, + "modulationConfiguration": "AQUA_UPLINK_BPSK", + "demodulationConfiguration": "na", + "encodingConfiguration": "AQUA_CMD_CCSDS", + "decodingConfiguration": "na" + } + ] + }, + { + "polarization": "RHCP", + "direction": "downlink", + "gainOverTemperature": 25, + "eirpdBW": 0, + "channels": [ + { + "centerFrequencyMHz": 8160, + "bandwidthMHz": 150, + "endPoint": { + "ipAddress": "10.0.2.0", + "endPointName": "AQUA_directplayback", + "port": "4000", + "protocol": "TCP" + }, + "modulationConfiguration": "na", + "demodulationConfiguration": "AQUA_DOWNLINK_QPSK", + "encodingConfiguration": "na", + "decodingConfiguration": "AQUA_DIRECTPLAYBACK_CCSDS" + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "AQUA_DIRECTPLAYBACK_WITH_UPLINK", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Orbital/contactProfiles/AQUA_DIRECTPLAYBACK_WITH_UPLINK", + "location": "westus", + "properties": { + "minimumViableContactDuration": "PT1M", + "minimumElevationDegrees": 10, + "autoTrackingConfiguration": "xBand", + "links": [ + { + "polarization": "RHCP", + "direction": "uplink", + "gainOverTemperature": 0, + "eirpdBW": 45, + "channels": [ + { + "centerFrequencyMHz": 2106.4063, + "bandwidthMHz": 0.036, + "endPoint": { + "ipAddress": "10.0.1.0", + "endPointName": "AQUA_command", + "port": "4000", + "protocol": "TCP" + }, + "modulationConfiguration": "AQUA_UPLINK_BPSK", + "demodulationConfiguration": "na", + "encodingConfiguration": "AQUA_CMD_CCSDS", + "decodingConfiguration": "na" + } + ] + }, + { + "polarization": "RHCP", + "direction": "downlink", + "gainOverTemperature": 25, + "eirpdBW": 0, + "channels": [ + { + "centerFrequencyMHz": 8160, + "bandwidthMHz": 150, + "endPoint": { + "ipAddress": "10.0.2.0", + "endPointName": "AQUA_directplayback", + "port": "4000", + "protocol": "TCP" + }, + "modulationConfiguration": "na", + "demodulationConfiguration": "AQUA_DOWNLINK_QPSK", + "encodingConfiguration": "na", + "decodingConfiguration": "AQUA_DIRECTPLAYBACK_CCSDS" + } + ] + } + ] + }, + "type": "Microsoft.Orbital/contactProfiles" + } + }, + "201": { + "body": { + "name": "contactProfile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Orbital/contactProfiles/contactProfile1", + "location": "westus", + "properties": { + "minimumViableContactDuration": "PT1M", + "minimumElevationDegrees": 10, + "autoTrackingConfiguration": "xBand", + "links": [ + { + "polarization": "RHCP", + "direction": "uplink", + "gainOverTemperature": 0, + "eirpdBW": 45, + "channels": [ + { + "centerFrequencyMHz": 2106.4063, + "bandwidthMHz": 0.036, + "endPoint": { + "ipAddress": "10.0.1.0", + "endPointName": "AQUA_command", + "port": "4000", + "protocol": "TCP" + }, + "modulationConfiguration": "AQUA_UPLINK_BPSK", + "demodulationConfiguration": "na", + "encodingConfiguration": "AQUA_CMD_CCSDS", + "decodingConfiguration": "na" + } + ] + }, + { + "polarization": "RHCP", + "direction": "downlink", + "gainOverTemperature": 25, + "eirpdBW": 0, + "channels": [ + { + "centerFrequencyMHz": 8160, + "bandwidthMHz": 150, + "endPoint": { + "ipAddress": "10.0.2.0", + "endPointName": "AQUA_directplayback", + "port": "4000", + "protocol": "TCP" + }, + "modulationConfiguration": "na", + "demodulationConfiguration": "AQUA_DOWNLINK_QPSK", + "encodingConfiguration": "na", + "decodingConfiguration": "AQUA_DIRECTPLAYBACK_CCSDS" + } + ] + } + ] + }, + "type": "Microsoft.Orbital/contactProfiles" + } + } + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactProfileDelete.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactProfileDelete.json new file mode 100644 index 000000000000..19c7bc19f3da --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactProfileDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-04-04-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "contactProfileName": "AQUA_DIRECTPLAYBACK_WITH_UPLINK" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactProfileGet.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactProfileGet.json new file mode 100644 index 000000000000..a2c64f92db8c --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactProfileGet.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2021-04-04-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "contactProfileName": "AQUA_DIRECTPLAYBACK_WITH_UPLINK" + }, + "responses": { + "200": { + "body": { + "name": "AQUA_DIRECTPLAYBACK_WITH_UPLINK", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Orbital/contactProfiles/AQUA_DIRECTPLAYBACK_WITH_UPLINK", + "location": "westus", + "properties": { + "minimumViableContactDuration": "PT1M", + "minimumElevationDegrees": 10, + "autoTrackingConfiguration": "xBand", + "links": [ + { + "polarization": "RHCP", + "direction": "uplink", + "gainOverTemperature": 0, + "eirpdBW": 45, + "channels": [ + { + "centerFrequencyMHz": 2106.4063, + "bandwidthMHz": 0.036, + "endPoint": { + "ipAddress": "10.0.1.0", + "endPointName": "AQUA_command", + "port": "4000", + "protocol": "TCP" + }, + "modulationConfiguration": "AQUA_UPLINK_BPSK", + "demodulationConfiguration": "na", + "encodingConfiguration": "AQUA_CMD_CCSDS", + "decodingConfiguration": "na" + } + ] + }, + { + "polarization": "RHCP", + "direction": "downlink", + "gainOverTemperature": 25, + "eirpdBW": 0, + "channels": [ + { + "centerFrequencyMHz": 8160, + "bandwidthMHz": 150, + "endPoint": { + "ipAddress": "10.0.2.0", + "endPointName": "AQUA_directplayback", + "port": "4000", + "protocol": "TCP" + }, + "modulationConfiguration": "na", + "demodulationConfiguration": "AQUA_DOWNLINK_QPSK", + "encodingConfiguration": "na", + "decodingConfiguration": "AQUA_DIRECTPLAYBACK_CCSDS" + } + ] + } + ] + }, + "type": "Microsoft.Orbital/contactProfiles" + } + } + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactProfileUpdateTag.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactProfileUpdateTag.json new file mode 100644 index 000000000000..6719ea248a4c --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactProfileUpdateTag.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2021-04-04-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "contactProfileName": "AQUA_DIRECTPLAYBACK_WITH_UPLINK", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "AQUA_DIRECTPLAYBACK_WITH_UPLINK", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Orbital/contactProfiles/AQUA_DIRECTPLAYBACK_WITH_UPLINK", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "minimumViableContactDuration": "PT1M", + "minimumElevationDegrees": 10, + "autoTrackingConfiguration": "xBand", + "links": [ + { + "polarization": "RHCP", + "direction": "uplink", + "gainOverTemperature": 0, + "eirpdBW": 45, + "channels": [ + { + "centerFrequencyMHz": 2106.4063, + "bandwidthMHz": 0.036, + "endPoint": { + "ipAddress": "10.0.1.0", + "endPointName": "AQUA_command", + "port": "4000", + "protocol": "TCP" + }, + "modulationConfiguration": "AQUA_UPLINK_BPSK", + "demodulationConfiguration": "na", + "encodingConfiguration": "AQUA_CMD_CCSDS", + "decodingConfiguration": "na" + } + ] + }, + { + "polarization": "RHCP", + "direction": "downlink", + "gainOverTemperature": 25, + "eirpdBW": 0, + "channels": [ + { + "centerFrequencyMHz": 8160, + "bandwidthMHz": 150, + "endPoint": { + "ipAddress": "10.0.2.0", + "endPointName": "AQUA_directplayback", + "port": "4000", + "protocol": "TCP" + }, + "modulationConfiguration": "na", + "demodulationConfiguration": "AQUA_DOWNLINK_QPSK", + "encodingConfiguration": "na", + "decodingConfiguration": "AQUA_DIRECTPLAYBACK_CCSDS" + } + ] + } + ] + }, + "type": "Microsoft.Orbital/contactProfiles" + } + } + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactProfilesByResourceGroupList.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactProfilesByResourceGroupList.json new file mode 100644 index 000000000000..97a974eb3e41 --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactProfilesByResourceGroupList.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2021-04-04-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "AQUA_DIRECTPLAYBACK_WITH_UPLINK", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Orbital/contactProfiles/AQUA_DIRECTPLAYBACK_WITH_UPLINK", + "location": "westus", + "properties": { + "minimumViableContactDuration": "PT1M", + "minimumElevationDegrees": 10, + "autoTrackingConfiguration": "xBand", + "links": [ + { + "polarization": "RHCP", + "direction": "uplink", + "gainOverTemperature": 0, + "eirpdBW": 45, + "channels": [ + { + "centerFrequencyMHz": 2106.4063, + "bandwidthMHz": 0.036, + "endPoint": { + "ipAddress": "10.0.1.0", + "endPointName": "AQUA_command", + "port": "4000", + "protocol": "TCP" + }, + "modulationConfiguration": "AQUA_UPLINK_BPSK", + "demodulationConfiguration": "na", + "encodingConfiguration": "AQUA_CMD_CCSDS", + "decodingConfiguration": "na" + } + ] + }, + { + "polarization": "RHCP", + "direction": "downlink", + "gainOverTemperature": 25, + "eirpdBW": 0, + "channels": [ + { + "centerFrequencyMHz": 8160, + "bandwidthMHz": 150, + "endPoint": { + "ipAddress": "10.0.2.0", + "endPointName": "AQUA_directplayback", + "port": "4000", + "protocol": "TCP" + }, + "modulationConfiguration": "na", + "demodulationConfiguration": "AQUA_DOWNLINK_QPSK", + "encodingConfiguration": "na", + "decodingConfiguration": "AQUA_DIRECTPLAYBACK_CCSDS" + } + ] + } + ] + }, + "type": "Microsoft.Orbital/contactProfiles" + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactProfilesBySubscriptionList.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactProfilesBySubscriptionList.json new file mode 100644 index 000000000000..97a974eb3e41 --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactProfilesBySubscriptionList.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2021-04-04-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "AQUA_DIRECTPLAYBACK_WITH_UPLINK", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Orbital/contactProfiles/AQUA_DIRECTPLAYBACK_WITH_UPLINK", + "location": "westus", + "properties": { + "minimumViableContactDuration": "PT1M", + "minimumElevationDegrees": 10, + "autoTrackingConfiguration": "xBand", + "links": [ + { + "polarization": "RHCP", + "direction": "uplink", + "gainOverTemperature": 0, + "eirpdBW": 45, + "channels": [ + { + "centerFrequencyMHz": 2106.4063, + "bandwidthMHz": 0.036, + "endPoint": { + "ipAddress": "10.0.1.0", + "endPointName": "AQUA_command", + "port": "4000", + "protocol": "TCP" + }, + "modulationConfiguration": "AQUA_UPLINK_BPSK", + "demodulationConfiguration": "na", + "encodingConfiguration": "AQUA_CMD_CCSDS", + "decodingConfiguration": "na" + } + ] + }, + { + "polarization": "RHCP", + "direction": "downlink", + "gainOverTemperature": 25, + "eirpdBW": 0, + "channels": [ + { + "centerFrequencyMHz": 8160, + "bandwidthMHz": 150, + "endPoint": { + "ipAddress": "10.0.2.0", + "endPointName": "AQUA_directplayback", + "port": "4000", + "protocol": "TCP" + }, + "modulationConfiguration": "na", + "demodulationConfiguration": "AQUA_DOWNLINK_QPSK", + "encodingConfiguration": "na", + "decodingConfiguration": "AQUA_DIRECTPLAYBACK_CCSDS" + } + ] + } + ] + }, + "type": "Microsoft.Orbital/contactProfiles" + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactsBySpacecraftNameList.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactsBySpacecraftNameList.json new file mode 100644 index 000000000000..00f19a553ac8 --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/ContactsBySpacecraftNameList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2021-04-04-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "spacecraftName": "AQUA" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "contact1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Orbital/spacecrafts/AQUA/contacts/contact1", + "properties": { + "status": "scheduled", + "reservationStartTime": "2020-07-16T20:35:00.00Z", + "reservationEndTime": "2020-07-16T20:55:00.00Z", + "rxStartTime": "2020-07-16T20:40:21.00Z", + "rxEndTime": "2020-07-16T20:49:40.00Z", + "txStartTime": "2020-07-16T20:40:21.00Z", + "txEndTime": "2020-07-16T20:49:40.00Z", + "errorMessage": "", + "maximumElevationDegrees": 70.94, + "startAzimuthDegrees": 148.237, + "endAzimuthDegrees": 353.837, + "startElevationDegrees": 10.0, + "endElevationDegrees": 10.0, + "groundStationName": "westus_gs1", + "contactProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/Microsoft.Orbital/contactProfiles/AQUA_DIRECTPLAYBACK_WITH_UPLINK" + } + }, + "type": "Microsoft.Orbital/contacts" + }, + { + "name": "contact2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Orbital/spacecrafts/AQUA/contacts/contact2", + "properties": { + "status": "scheduled", + "reservationStartTime": "2020-07-23T20:35:00.00Z", + "reservationEndTime": "2020-07-23T20:55:00.00Z", + "rxStartTime": "2020-07-23T20:40:21.00Z", + "rxEndTime": "2020-07-23T20:49:40.00Z", + "txStartTime": "2020-07-23T20:40:21.00Z", + "txEndTime": "2020-07-23T20:49:40.00Z", + "errorMessage": "", + "maximumElevationDegrees": 70.94, + "startAzimuthDegrees": 148.237, + "endAzimuthDegrees": 353.837, + "startElevationDegrees": 10.0, + "endElevationDegrees": 10.0, + "groundStationName": "westus_gs1", + "contactProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/Microsoft.Orbital/contactProfiles/AQUA_DIRECTPLAYBACK_WITH_UPLINK" + } + }, + "type": "Microsoft.Orbital/contacts" + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/OperationsList.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/OperationsList.json new file mode 100644 index 000000000000..c911b02a08b5 --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/OperationsList.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-04-04-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Orbital/spacecrafts/write", + "display": { + "provider": "Microsoft Orbital", + "resource": "Spacecraft", + "operation": "Create/Update a spacecraft", + "description": "Creates or Update a spacecraft" + } + } + ] + } + } + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/SpacecraftCreate.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/SpacecraftCreate.json new file mode 100644 index 000000000000..cab52f2d1bcb --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/SpacecraftCreate.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2021-04-04-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "spacecraftName": "AQUA", + "parameters": { + "location": "westus", + "properties": { + "noradId": "27424", + "titleLine": "(AQUA)", + "tleLine1": "1 27424U 02022A 20195.59202355 .00000039 00000-0 18634-4 0 9991", + "tleLine2": "2 27424 98.2098 135.8486 0000176 28.4050 144.5909 14.57108832967671", + "links": [ + { + "centerFrequencyMHz": 2106.4063, + "bandwidthMHz": 0.036, + "direction": "uplink", + "polarization": "RHCP" + }, + { + "centerFrequencyMHz": 8125, + "bandwidthMHz": 150, + "direction": "downlink", + "polarization": "RHCP" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "AQUA", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Orbital/spacecrafts/AQUA", + "location": "westus", + "properties": { + "noradId": "27424", + "authorizationStatus": "Allowed", + "authorizationStatusExtended": "string", + "titleLine": "AQUA", + "tleLine1": "1 27424U 02022A 20195.59202355 .00000039 00000-0 18634-4 0 9991", + "tleLine2": "2 27424 98.2098 135.8486 0000176 28.4050 144.5909 14.57108832967671", + "links": [ + { + "centerFrequencyMHz": 2106.4063, + "bandwidthMHz": 0.036, + "direction": "uplink", + "polarization": "RHCP" + }, + { + "centerFrequencyMHz": 8125, + "bandwidthMHz": 150, + "direction": "downlink", + "polarization": "RHCP" + } + ] + }, + "type": "Microsoft.Orbital/spacecrafts" + } + }, + "201": { + "body": { + "name": "AQUA", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Orbital/spacecrafts/AQUA", + "location": "westus", + "properties": { + "noradId": "27424", + "authorizationStatus": "Allowed", + "authorizationStatusExtended": "string", + "titleLine": "AQUA", + "tleLine1": "1 27424U 02022A 20195.59202355 .00000039 00000-0 18634-4 0 9991", + "tleLine2": "2 27424 98.2098 135.8486 0000176 28.4050 144.5909 14.57108832967671", + "links": [ + { + "centerFrequencyMHz": 2106.4063, + "bandwidthMHz": 0.036, + "direction": "uplink", + "polarization": "RHCP" + }, + { + "centerFrequencyMHz": 8125, + "bandwidthMHz": 150, + "direction": "downlink", + "polarization": "RHCP" + } + ] + }, + "type": "Microsoft.Orbital/spacecrafts" + } + } + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/SpacecraftDelete.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/SpacecraftDelete.json new file mode 100644 index 000000000000..d14d3761813f --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/SpacecraftDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-04-04-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "spacecraftName": "AQUA" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/SpacecraftGet.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/SpacecraftGet.json new file mode 100644 index 000000000000..adb245426dcb --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/SpacecraftGet.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-04-04-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "spacecraftName": "AQUA" + }, + "responses": { + "200": { + "body": { + "name": "AQUA", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Orbital/spacecrafts/AQUA", + "location": "westus", + "properties": { + "noradId": "27424", + "authorizationStatus": "Allowed", + "authorizationStatusExtended": "string", + "titleLine": "AQUA", + "tleLine1": "1 27424U 02022A 20195.59202355 .00000039 00000-0 18634-4 0 9991", + "tleLine2": "2 27424 98.2098 135.8486 0000176 28.4050 144.5909 14.57108832967671", + "links": [ + { + "centerFrequencyMHz": 2106.4063, + "bandwidthMHz": 0.036, + "direction": "uplink", + "polarization": "RHCP" + }, + { + "centerFrequencyMHz": 8125, + "bandwidthMHz": 150, + "direction": "downlink", + "polarization": "RHCP" + } + ] + }, + "type": "Microsoft.Orbital/spacecrafts" + } + } + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/SpacecraftUpdateTags.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/SpacecraftUpdateTags.json new file mode 100644 index 000000000000..73567f047303 --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/SpacecraftUpdateTags.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2021-04-04-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "spacecraftName": "AQUA", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "AQUA", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Orbital/spacecrafts/AQUA", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "noradId": "27424", + "authorizationStatus": "Allowed", + "authorizationStatusExtended": "string", + "titleLine": "AQUA", + "tleLine1": "1 27424U 02022A 20195.59202355 .00000039 00000-0 18634-4 0 9991", + "tleLine2": "2 27424 98.2098 135.8486 0000176 28.4050 144.5909 14.57108832967671", + "links": [ + { + "centerFrequencyMHz": 2106.4063, + "bandwidthMHz": 0.036, + "direction": "uplink", + "polarization": "RHCP" + }, + { + "centerFrequencyMHz": 8125, + "bandwidthMHz": 150, + "direction": "downlink", + "polarization": "RHCP" + } + ] + }, + "type": "Microsoft.Orbital/spacecrafts" + } + } + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/SpacecraftsByResourceGroupList.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/SpacecraftsByResourceGroupList.json new file mode 100644 index 000000000000..ba1c875ca853 --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/SpacecraftsByResourceGroupList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-04-04-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "AQUA", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Orbital/spacecrafts/AQUA", + "location": "westus", + "properties": { + "noradId": "27424", + "authorizationStatus": "Allowed", + "authorizationStatusExtended": "string", + "titleLine": "AQUA", + "tleLine1": "1 27424U 02022A 20195.59202355 .00000039 00000-0 18634-4 0 9991", + "tleLine2": "2 27424 98.2098 135.8486 0000176 28.4050 144.5909 14.57108832967671", + "links": [ + { + "centerFrequencyMHz": 2106.4063, + "bandwidthMHz": 0.036, + "direction": "uplink", + "polarization": "RHCP" + }, + { + "centerFrequencyMHz": 8125, + "bandwidthMHz": 150, + "direction": "downlink", + "polarization": "RHCP" + } + ] + }, + "type": "Microsoft.Orbital/spacecrafts" + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/SpacecraftsBySubscriptionList.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/SpacecraftsBySubscriptionList.json new file mode 100644 index 000000000000..7f12b8f89dbc --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/examples/SpacecraftsBySubscriptionList.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-04-04-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "AQUA", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Orbital/spacecrafts/AQUA", + "location": "westus", + "properties": { + "noradId": "27424", + "authorizationStatus": "Allowed", + "authorizationStatusExtended": "string", + "titleLine": "AQUA", + "tleLine1": "1 27424U 02022A 20195.59202355 .00000039 00000-0 18634-4 0 9991", + "tleLine2": "2 27424 98.2098 135.8486 0000176 28.4050 144.5909 14.57108832967671", + "links": [ + { + "centerFrequencyMHz": 2106.4063, + "bandwidthMHz": 0.036, + "direction": "uplink", + "polarization": "RHCP" + }, + { + "centerFrequencyMHz": 8125, + "bandwidthMHz": 150, + "direction": "downlink", + "polarization": "RHCP" + } + ] + }, + "type": "Microsoft.Orbital/spacecrafts" + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/orbital.json b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/orbital.json new file mode 100644 index 000000000000..c8d0a4592c47 --- /dev/null +++ b/specification/orbital/resource-manager/Microsoft.Orbital/preview/2021-04-04-preview/orbital.json @@ -0,0 +1,1829 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-04-04-preview", + "title": "Azure Orbital", + "description": "Azure Orbital service", + "license": { + "name": "Microsoft" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "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.Orbital/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Orbital Rest API operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/OperationsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Orbital/spacecrafts": { + "get": { + "tags": [ + "Spacecraft" + ], + "description": "Return list of spacecrafts", + "operationId": "Spacecrafts_ListBySubscription", + "x-ms-examples": { + "List of Spacecraft by Subscription": { + "$ref": "./examples/SpacecraftsBySubscriptionList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of spacecraft resources.", + "schema": { + "$ref": "#/definitions/SpacecraftListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/spacecrafts": { + "get": { + "tags": [ + "Spacecraft" + ], + "description": "Return list of spacecrafts", + "operationId": "Spacecrafts_List", + "x-ms-examples": { + "List of Spacecraft by Resource Group": { + "$ref": "./examples/SpacecraftsByResourceGroupList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of spacecraft resources.", + "schema": { + "$ref": "#/definitions/SpacecraftListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/spacecrafts/{spacecraftName}": { + "get": { + "tags": [ + "Spacecraft" + ], + "operationId": "Spacecrafts_Get", + "description": "Gets the specified spacecraft in a specified resource group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/spacecraftNameParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Spacecraft resource.", + "schema": { + "$ref": "#/definitions/Spacecraft" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Spacecraft": { + "$ref": "./examples/SpacecraftGet.json" + } + } + }, + "put": { + "tags": [ + "Spacecraft" + ], + "description": "Creates or updates a spacecraft resource", + "operationId": "Spacecrafts_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/spacecraftNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/Spacecraft" + }, + "description": "The parameters to provide for the created spacecraft." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting spacecraft resource.", + "schema": { + "$ref": "#/definitions/Spacecraft" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting spacecraft resource.", + "schema": { + "$ref": "#/definitions/Spacecraft" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a spacecraft": { + "$ref": "./examples/SpacecraftCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "Spacecraft" + ], + "operationId": "Spacecrafts_Delete", + "description": "Deletes a specified spacecraft resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/spacecraftNameParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Spacecraft": { + "$ref": "./examples/SpacecraftDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "Spacecraft" + ], + "operationId": "Spacecrafts_UpdateTags", + "x-ms-examples": { + "Update Spacecraft tags": { + "$ref": "./examples/SpacecraftUpdateTags.json" + } + }, + "description": "Updates the specified spacecraft tags.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/spacecraftNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsObject" + }, + "description": "Parameters supplied to update spacecraft tags." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting Spacecraft resource.", + "schema": { + "$ref": "#/definitions/Spacecraft" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/spacecrafts/{spacecraftName}/contacts": { + "get": { + "tags": [ + "Contact" + ], + "description": "Returns list of contacts by spacecraftName", + "operationId": "Contacts_List", + "x-ms-examples": { + "List of Contacts": { + "$ref": "./examples/ContactsBySpacecraftNameList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/spacecraftNameParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of contacts by spacecraftName.", + "schema": { + "$ref": "#/definitions/ContactListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/spacecrafts/{spacecraftName}/contacts/{contactName}": { + "get": { + "tags": [ + "Contact" + ], + "operationId": "Contacts_Get", + "description": "Gets the specified contact in a specified resource group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/spacecraftNameParameter" + }, + { + "$ref": "#/parameters/contactNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Contact resource.", + "schema": { + "$ref": "#/definitions/Contact" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Contact": { + "$ref": "./examples/ContactGet.json" + } + } + }, + "put": { + "tags": [ + "Contact" + ], + "description": "Creates a contact.", + "operationId": "Contacts_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/spacecraftNameParameter" + }, + { + "$ref": "#/parameters/contactNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Contact" + }, + "description": "The parameters to provide for the created contact." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Contact" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting contact resource.", + "schema": { + "$ref": "#/definitions/Contact" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a contact": { + "$ref": "./examples/ContactCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "Contact" + ], + "operationId": "Contacts_Delete", + "description": "Deletes a specified contact", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/spacecraftNameParameter" + }, + { + "$ref": "#/parameters/contactNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Contact": { + "$ref": "./examples/ContactDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/spacecrafts/{spacecraftName}/listAvailableContacts": { + "post": { + "tags": [ + "Contact" + ], + "description": "Return list of available contacts", + "operationId": "Spacecrafts_ListAvailableContacts", + "x-ms-examples": { + "List of Contact": { + "$ref": "./examples/AvailableContactsList.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/spacecraftNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/ContactParameters" + }, + "description": "The parameters to provide for the contacts." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of available contacts resources.", + "schema": { + "$ref": "#/definitions/AvailableContactsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/contactProfiles/{contactProfileName}": { + "get": { + "tags": [ + "Contact Profile" + ], + "operationId": "ContactProfiles_Get", + "description": "Gets the specified contact Profile in a specified resource group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/contactProfileNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ContactProfile resource.", + "schema": { + "$ref": "#/definitions/ContactProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a contact profile": { + "$ref": "./examples/ContactProfileGet.json" + } + } + }, + "put": { + "tags": [ + "Contact Profile" + ], + "description": "Creates or updates a contact profile", + "operationId": "ContactProfiles_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/contactProfileNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/ContactProfile" + }, + "description": "The parameters to provide for the created Contact Profile." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ContactProfile resource.", + "schema": { + "$ref": "#/definitions/ContactProfile" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ContactProfile resource.", + "schema": { + "$ref": "#/definitions/ContactProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a contact profile": { + "$ref": "./examples/ContactProfileCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "Contact Profile" + ], + "operationId": "ContactProfiles_Delete", + "description": "Deletes a specified contact profile resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/contactProfileNameParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Contact Profile": { + "$ref": "./examples/ContactProfileDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "Contact Profile" + ], + "operationId": "ContactProfiles_UpdateTags", + "x-ms-examples": { + "Update Contact Profile tags": { + "$ref": "./examples/ContactProfileUpdateTag.json" + } + }, + "description": "Updates the specified contact profile tags.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsObject" + }, + "description": "Parameters supplied to update contact profile tags." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/contactProfileNameParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting Contact Profile resource.", + "schema": { + "$ref": "#/definitions/ContactProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Orbital/contactProfiles": { + "get": { + "tags": [ + "Contact Profile" + ], + "description": "Returns list of contact profiles", + "operationId": "ContactProfiles_ListBySubscription", + "x-ms-examples": { + "List of Contact Profiles by Subscription": { + "$ref": "./examples/ContactProfilesBySubscriptionList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of contact profile resources.", + "schema": { + "$ref": "#/definitions/ContactProfileListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/contactProfiles": { + "get": { + "tags": [ + "Contact Profile" + ], + "description": "Returns list of contact profiles", + "operationId": "ContactProfiles_List", + "x-ms-examples": { + "List of Contact Profiles by Resource Group": { + "$ref": "./examples/ContactProfilesByResourceGroupList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of contact profile resources.", + "schema": { + "$ref": "#/definitions/ContactProfileListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Orbital/availableGroundStations": { + "get": { + "tags": [ + "Ground Station" + ], + "description": "Returns list of available ground stations", + "operationId": "AvailableGroundStations_ListByCapability", + "x-ms-examples": { + "List of Ground Stations by Capability": { + "$ref": "./examples/AvailableGroundStationsByCapabilityList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/capabilityParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Ground Station resources.", + "schema": { + "$ref": "#/definitions/AvailableGroundStationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Orbital/availableGroundStations/{groundStationName}": { + "get": { + "tags": [ + "Ground Station" + ], + "operationId": "AvailableGroundStations_Get", + "description": "Gets the specified available ground station", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groundStationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ground station resource.", + "schema": { + "$ref": "#/definitions/AvailableGroundStation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get GroundStation": { + "$ref": "./examples/AvailableGroundStationGet.json" + } + } + } + } + }, + "definitions": { + "TagsObject": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + }, + "SpacecraftsProperties": { + "type": "object", + "required": [ + "noradId" + ], + "properties": { + "noradId": { + "type": "string", + "description": "NORAD ID of the spacecraft." + }, + "authorizationStatus": { + "type": "string", + "readOnly": true, + "enum": [ + "Allowed", + "Pending", + "Denied" + ], + "x-ms-enum": { + "name": "AuthorizationStatus", + "modelAsString": false + }, + "description": "Authorization status of spacecraft." + }, + "authorizationStatusExtended": { + "type": "string", + "readOnly": true, + "description": "Details of the authorization status." + }, + "titleLine": { + "type": "string", + "description": "Title line of Two Line Element (TLE)." + }, + "tleLine1": { + "type": "string", + "description": "Line 1 of Two Line Element (TLE)." + }, + "tleLine2": { + "type": "string", + "description": "Line 2 of Two Line Element (TLE)." + }, + "links": { + "type": "array", + "items": { + "$ref": "#/definitions/SpacecraftLink" + }, + "description": "Links of the Spacecraft" + } + }, + "description": "List of Spacecraft Resource Properties." + }, + "SpacecraftListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Spacecraft" + }, + "description": "A list of spacecraft resources in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + }, + "description": "Response for the ListSpacecrafts API service call." + }, + "SpacecraftLink": { + "type": "object", + "required": [ + "centerFrequencyMHz", + "bandwidthMHz", + "direction", + "polarization" + ], + "properties": { + "centerFrequencyMHz": { + "type": "number", + "description": "Center Frequency in MHz" + }, + "bandwidthMHz": { + "type": "number", + "description": "Bandwidth in MHz" + }, + "direction": { + "type": "string", + "description": "Direction (uplink or downlink)", + "enum": [ + "uplink", + "downlink" + ], + "x-ms-enum": { + "name": "direction", + "modelAsString": true + } + }, + "polarization": { + "type": "string", + "description": "polarization. eg (RHCP, LHCP)", + "enum": [ + "RHCP", + "LHCP", + "dualRhcpLhcp", + "linearVertical", + "linearHorizontal" + ], + "x-ms-enum": { + "name": "polarization", + "modelAsString": true + } + } + }, + "description": "Spacecraft Link" + }, + "Spacecraft": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SpacecraftsProperties", + "description": "Spacecraft Properties" + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "description": "Customer creates a spacecraft resource to schedule a contact." + }, + "ResourceReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + }, + "x-ms-azure-resource": true, + "description": "Resource Reference" + }, + "EndPoint": { + "type": "object", + "required": [ + "ipAddress", + "endPointName", + "port", + "protocol" + ], + "properties": { + "ipAddress": { + "type": "string", + "description": "IP Address." + }, + "endPointName": { + "type": "string", + "description": "Name of an end point." + }, + "port": { + "type": "string", + "description": "TCP port to listen on to receive data." + }, + "protocol": { + "type": "string", + "description": "Protocol either UDP or TCP.", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "protocol", + "modelAsString": true + } + } + }, + "description": "Customer End point to store/retrieve data during a contact." + }, + "ContactsProperties": { + "type": "object", + "required": [ + "reservationStartTime", + "reservationEndTime", + "groundStationName", + "contactProfile" + ], + "properties": { + "status": { + "type": "string", + "readOnly": true, + "enum": [ + "scheduled", + "cancelled", + "succeeded", + "failed", + "providerCancelled" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": false + }, + "description": "Status of a contact." + }, + "reservationStartTime": { + "type": "string", + "format": "date-time", + "description": "Reservation start time of a contact." + }, + "reservationEndTime": { + "type": "string", + "format": "date-time", + "description": "Reservation end time of a contact." + }, + "rxStartTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Receive start time of a contact." + }, + "rxEndTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Receive end time of a contact." + }, + "txStartTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Transmit start time of a contact." + }, + "txEndTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Transmit end time of a contact." + }, + "errorMessage": { + "type": "string", + "readOnly": true, + "description": "Any error message while scheduling a contact." + }, + "maximumElevationDegrees": { + "type": "number", + "readOnly": true, + "description": "Maximum elevation of the antenna during the contact in decimal degrees." + }, + "startAzimuthDegrees": { + "type": "number", + "readOnly": true, + "description": "Azimuth of the antenna at the start of the contact in decimal degrees." + }, + "endAzimuthDegrees": { + "type": "number", + "readOnly": true, + "description": "Azimuth of the antenna at the end of the contact in decimal degrees." + }, + "groundStationName": { + "type": "string", + "description": "Azure Ground Station name." + }, + "startElevationDegrees": { + "type": "number", + "readOnly": true, + "description": "Spacecraft elevation above the horizon at contact start." + }, + "endElevationDegrees": { + "type": "number", + "readOnly": true, + "description": "Spacecraft elevation above the horizon at contact end." + }, + "contactProfile": { + "$ref": "#/definitions/ResourceReference", + "description": "The reference to the contact profile resource." + } + }, + "description": "Properties of the Contact Resource." + }, + "ContactProfilesProperties": { + "type": "object", + "required": [ + "links" + ], + "properties": { + "minimumViableContactDuration": { + "type": "string", + "description": "Minimum viable contact duration in ISO 8601 format." + }, + "minimumElevationDegrees": { + "type": "number", + "description": "Minimum viable elevation for the contact in decimal degrees." + }, + "autoTrackingConfiguration": { + "type": "string", + "enum": [ + "disabled", + "xBand", + "sBand" + ], + "x-ms-enum": { + "name": "AutoTrackingConfiguration", + "modelAsString": false + }, + "description": "Auto track configuration." + }, + "links": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactProfileLink" + }, + "description": "Links of the Contact Profile" + } + }, + "description": "List of Contact Profile Resource Properties." + }, + "ContactProfileListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactProfile" + }, + "description": "A list of contact profile resources in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + }, + "description": "Response for the ListContactProfiles API service call." + }, + "ContactProfileLinkChannel": { + "type": "object", + "required": [ + "centerFrequencyMHz", + "bandwidthMHz", + "endPoint" + ], + "properties": { + "centerFrequencyMHz": { + "type": "number", + "description": "Center Frequency in MHz" + }, + "bandwidthMHz": { + "type": "number", + "description": "Bandwidth in MHz" + }, + "endPoint": { + "$ref": "#/definitions/EndPoint" + }, + "modulationConfiguration": { + "type": "string", + "description": "Configuration for modulation" + }, + "demodulationConfiguration": { + "type": "string", + "description": "Configuration for demodulation" + }, + "encodingConfiguration": { + "type": "string", + "description": "Configuration for encoding" + }, + "decodingConfiguration": { + "type": "string", + "description": "Configuration for decoding" + } + }, + "description": "Contact Profile Link Channel" + }, + "ContactProfileLink": { + "type": "object", + "required": [ + "polarization", + "direction", + "channels" + ], + "properties": { + "polarization": { + "type": "string", + "description": "polarization. eg (RHCP, LHCP)", + "enum": [ + "RHCP", + "LHCP", + "dualRhcpLhcp", + "linearVertical", + "linearHorizontal" + ], + "x-ms-enum": { + "name": "polarization", + "modelAsString": true + } + }, + "direction": { + "type": "string", + "description": "Direction (uplink or downlink)", + "enum": [ + "uplink", + "downlink" + ], + "x-ms-enum": { + "name": "direction", + "modelAsString": true + } + }, + "gainOverTemperature": { + "type": "number", + "description": "Gain To Noise Temperature in db/K." + }, + "eirpdBW": { + "type": "number", + "description": "Effective Isotropic Radiated Power (EIRP) in dBW." + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactProfileLinkChannel" + }, + "description": "Contact Profile Link Channel" + } + }, + "description": "Contact Profile link" + }, + "ContactProfile": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ContactProfilesProperties", + "description": "Properties of the spacecraft resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "description": "Customer creates a Contact Profile Resource, which will contain all of the configurations required for scheduling a contact." + }, + "ContactParameters": { + "type": "object", + "description": "Parameters that define the contact resource.", + "required": [ + "contactProfile", + "groundStationName", + "startTime", + "endTime" + ], + "properties": { + "contactProfile": { + "$ref": "#/definitions/ResourceReference", + "description": "The reference to the contact profile resource." + }, + "groundStationName": { + "type": "string", + "description": "Name of Azure Ground Station." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Start time of a contact." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "End time of a contact." + } + } + }, + "ContactListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Contact" + }, + "description": "A list of contact resources in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + }, + "description": "Response for the ListContacts API service call." + }, + "ContactInstanceProperties": { + "type": "object", + "properties": { + "maximumElevationDegrees": { + "type": "number", + "readOnly": true, + "description": "Maximum elevation of the antenna during the contact in decimal degrees." + }, + "txStartTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Time at which antenna transmit will be enabled." + }, + "txEndTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Time at which antenna transmit will be disabled." + }, + "rxStartTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Earliest time to receive a signal." + }, + "rxEndTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Time to lost receiving a signal." + }, + "startAzimuthDegrees": { + "type": "number", + "readOnly": true, + "description": "Azimuth of the antenna at the start of the contact in decimal degrees." + }, + "endAzimuthDegrees": { + "type": "number", + "readOnly": true, + "description": "Azimuth of the antenna at the end of the contact in decimal degrees." + }, + "startElevationDegrees": { + "type": "number", + "readOnly": true, + "description": "Spacecraft elevation above the horizon at contact start." + }, + "endElevationDegrees": { + "type": "number", + "readOnly": true, + "description": "Spacecraft elevation above the horizon at contact end." + } + }, + "description": "Contact Instance Properties" + }, + "Contact": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ContactsProperties" + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "description": "Customer creates a contact resource for a spacecraft resource." + }, + "CloudErrorBody": { + "x-ms-external": true, + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "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": "A list of additional details about the error." + } + }, + "description": "An error response from the service." + }, + "CloudError": { + "x-ms-external": true, + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody" + } + }, + "description": "An error response from the service." + }, + "AvailableContactsListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AvailableContacts" + }, + "description": "A list of available contacts" + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + }, + "description": "Response for the ListAvailableContacts API service call." + }, + "AvailableContacts": { + "type": "object", + "properties": { + "spacecraft": { + "$ref": "#/definitions/ResourceReference", + "description": "The reference to the spacecraft resource." + }, + "groundStationName": { + "type": "string", + "readOnly": true, + "description": "Name of Azure Ground Station." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ContactInstanceProperties", + "description": "Properties of Contact resource." + } + }, + "description": "Customer retrieves list of Available Contacts for a spacecraft resource. Later, one of the available contact can be selected to create a contact." + }, + "AvailableGroundStationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AvailableGroundStation" + }, + "description": "A list of ground station resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + }, + "description": "Response for the AvailableGroundStations API service call." + }, + "AvailableGroundStation": { + "type": "object", + "x-ms-client-flatten": true, + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Id of groundStation" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the ground station." + }, + "location": { + "type": "string", + "description": "Azure region" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AvailableGroundStationProperties", + "description": "The properties bag for this resource" + } + }, + "description": "GroundStations available to schedule Contacts" + }, + "AvailableGroundStationProperties": { + "type": "object", + "properties": { + "city": { + "type": "string", + "description": "City of ground station." + }, + "providerName": { + "type": "string", + "description": "Ground station provider name." + }, + "longitudeDegrees": { + "type": "number", + "description": "Longitude of the ground station in decimal degrees." + }, + "latitudeDegrees": { + "type": "number", + "description": "Latitude of the ground station in decimal degrees." + }, + "altitudeMeters": { + "type": "number", + "description": "Altitude of the ground station" + } + }, + "description": "Properties object for Available groundstation." + }, + "Capability": { + "type": "string", + "description": "Capability of the Ground Station.", + "enum": [ + "EarthObservation", + "Communication" + ] + }, + "ResourceIdListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The Azure Resource ID" + } + } + }, + "description": "A list of Azure Resource IDs." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + }, + "description": "Response for an API service call that lists the resource IDs of resources associated with another resource." + }, + "Etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "parameters": { + "contactNameParameter": { + "name": "contactName", + "in": "path", + "description": "Contact Name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "contactProfileNameParameter": { + "name": "contactProfileName", + "in": "path", + "description": "Contact Profile Name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "groundStationNameParameter": { + "name": "groundStationName", + "in": "path", + "required": true, + "type": "string", + "description": "Ground Station name", + "x-ms-parameter-location": "method" + }, + "spacecraftNameParameter": { + "name": "spacecraftName", + "in": "path", + "description": "Spacecraft ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "capabilityParameter": { + "name": "capability", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "EarthObservation", + "Communication" + ], + "default": "EarthObservation", + "description": "Ground Station Capability", + "x-ms-parameter-location": "method" + }, + "orbitalGatewayNameParameter": { + "name": "orbitalGatewayName", + "in": "path", + "description": "Orbital gateway name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "edgeSiteNameParameter": { + "name": "edgeSiteName", + "in": "path", + "description": "Edge site name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "l2ConnectionNameParameter": { + "name": "l2ConnectionName", + "in": "path", + "description": "L2 Connection name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "l3ConnectionNameParameter": { + "name": "l3ConnectionName", + "in": "path", + "description": "L3 connection name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "globalCommunicationsSiteNameParameter": { + "name": "globalCommunicationsSiteName", + "in": "path", + "description": "Global communications Site name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/orbital/resource-manager/readme.az.md b/specification/orbital/resource-manager/readme.az.md new file mode 100644 index 000000000000..3126290b3676 --- /dev/null +++ b/specification/orbital/resource-manager/readme.az.md @@ -0,0 +1,28 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +For new Resource Provider. It is highly recommended to onboard Azure CLI extensions. There's no differences in terms of customer usage. + +``` yaml $(az) && $(target-mode) != 'core' +az: + extensions: orbital + namespace: azure.mgmt.orbital + package-name: azure-mgmt-orbital +az-output-folder: $(azure-cli-extension-folder)/src/orbital +python-sdk-output-folder: "$(az-output-folder)/azext_orbital/vendored_sdks/orbital" +# add additional configuration here specific for Azure CLI +# refer to the faq.md for more details +``` + + + +This is for command modules that already in azure cli main repo. +``` yaml $(az) && $(target-mode) == 'core' +az: + extensions: orbital + namespace: azure.mgmt.orbital + package-name: azure-mgmt-orbital +az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/orbital +python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/orbital" +``` \ No newline at end of file diff --git a/specification/orbital/resource-manager/readme.cli.md b/specification/orbital/resource-manager/readme.cli.md new file mode 100644 index 000000000000..c6cf6ad37ea4 --- /dev/null +++ b/specification/orbital/resource-manager/readme.cli.md @@ -0,0 +1 @@ +## CLI Common Settings for all the command line tools \ No newline at end of file diff --git a/specification/orbital/resource-manager/readme.csharp.md b/specification/orbital/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..4d2d5ea6cbe7 --- /dev/null +++ b/specification/orbital/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.Orbital + output-folder: $(csharp-sdks-folder)/orbital/management/Microsoft.Orbital/GeneratedProtocol +``` \ No newline at end of file diff --git a/specification/orbital/resource-manager/readme.go.md b/specification/orbital/resource-manager/readme.go.md new file mode 100644 index 000000000000..0d2ae571be72 --- /dev/null +++ b/specification/orbital/resource-manager/readme.go.md @@ -0,0 +1,11 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) && $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/orbital/armorbital +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +``` \ No newline at end of file diff --git a/specification/orbital/resource-manager/readme.md b/specification/orbital/resource-manager/readme.md new file mode 100644 index 000000000000..6e42dd89d6b8 --- /dev/null +++ b/specification/orbital/resource-manager/readme.md @@ -0,0 +1,77 @@ +# orbital + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for orbital. + +## Getting Started + +To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the orbital. + +```yaml +openapi-type: arm +tag: package-2021-04-04-preview +``` + +### Tag: package-2021-04-04-preview + +These settings apply only when `--tag=package-2021-04-04-preview` is specified on the command line. + +```yaml $(tag) == 'package-2021-04-04-preview' +input-file: + - Microsoft.Orbital/preview/2021-04-04-preview/orbital.json +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +```yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python-track2 + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go-track2 + - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + - repo: azure-cli-extensions +``` +## Az + +See configuration in [readme.az.md](./readme.az.md) + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) \ No newline at end of file diff --git a/specification/orbital/resource-manager/readme.python.md b/specification/orbital/resource-manager/readme.python.md new file mode 100644 index 000000000000..a9f5c099a5a4 --- /dev/null +++ b/specification/orbital/resource-manager/readme.python.md @@ -0,0 +1,23 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-orbital +no-namespace-folders: true +package-version: 1.0.0b1 +clear-output-folder: true +``` + +``` yaml $(python-mode) == 'update' && $(track2) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/orbital/azure-mgmt-orbital/azure/mgmt/orbital +``` + +``` yaml $(python-mode) == 'create' && $(track2) +basic-setup-py: true +output-folder: $(python-sdks-folder)/orbital/azure-mgmt-orbital +``` \ No newline at end of file diff --git a/specification/orbital/resource-manager/readme.typescript.md b/specification/orbital/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..1fd450daf586 --- /dev/null +++ b/specification/orbital/resource-manager/readme.typescript.md @@ -0,0 +1,14 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-orbital" + output-folder: "$(typescript-sdks-folder)/sdk/orbital/arm-orbital" + payload-flattening-threshold: 1 + clear-output-folder: true + generate-metadata: true +``` \ No newline at end of file diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CancelManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CancelManagementGroupScope.json new file mode 100644 index 000000000000..fde3b7a36268 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CancelManagementGroupScope.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "managementGroupsNamespace": "Microsoft.Management", + "managementGroupId": "financeMg", + "api-version": "2021-10-01", + "remediationName": "myRemediation" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Cancelling", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.policyinsights/remediations/myRemediation", + "name": "myRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:51:09.075918Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:52:10.0011706Z" + } + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CancelResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CancelResourceGroupScope.json new file mode 100644 index 000000000000..c4ce8efde9f7 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CancelResourceGroupScope.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-10-01", + "remediationName": "myRemediation" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Cancelling", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.policyinsights/remediations/myRemediation", + "name": "myRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:51:09.075918Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:52:10.0011706Z" + } + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CancelResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CancelResourceScope.json new file mode 100644 index 000000000000..755fb927700b --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CancelResourceScope.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "resourceId": "subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1", + "api-version": "2021-10-01", + "remediationName": "myRemediation" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Cancelling", + "createdOn": "2018-09-13T21:51:09.085918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 1, + "successfulDeployments": 1, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1/providers/microsoft.policyinsights/remediations/myRemediation", + "name": "myRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:51:09.075918Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:52:10.0011706Z" + } + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CancelSubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CancelSubscriptionScope.json new file mode 100644 index 000000000000..c87e2366b5b3 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CancelSubscriptionScope.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2", + "api-version": "2021-10-01", + "remediationName": "myRemediation" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Cancelling", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.policyinsights/remediations/myRemediation", + "name": "myRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:51:09.075918Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:52:10.0011706Z" + } + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CreateManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CreateManagementGroupScope.json new file mode 100644 index 000000000000..2001381c865a --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CreateManagementGroupScope.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "managementGroupsNamespace": "Microsoft.Management", + "managementGroupId": "financeMg", + "remediationName": "storageRemediation", + "api-version": "2021-10-01", + "parameters": { + "properties": { + "policyAssignmentId": "/providers/microsoft.management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/providers/microsoft.management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Accepted", + "createdOn": "2018-09-12T20:58:58.7531298Z", + "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 0, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6" + }, + "id": "/providers/microsoft.management/managementGroups/financeMg/providers/microsoft.policyinsights/remediations/storageRemediation", + "name": "storageRemediation", + "type": "Microsoft.PolicyInsights/remediations" + } + }, + "201": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/providers/microsoft.management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Accepted", + "createdOn": "2018-09-12T20:58:58.7531298Z", + "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 0, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6" + }, + "id": "/providers/microsoft.management/managementGroups/financeMg/providers/microsoft.policyinsights/remediations/storageRemediation", + "name": "storageRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:51:09.075918Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:52:10.0011706Z" + } + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CreateResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CreateResourceGroupScope.json new file mode 100644 index 000000000000..419f55c6a49e --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CreateResourceGroupScope.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2", + "resourceGroupName": "myResourceGroup", + "remediationName": "storageRemediation", + "api-version": "2021-10-01", + "parameters": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Accepted", + "createdOn": "2018-09-12T20:58:58.7531298Z", + "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 0, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6" + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/myResourceGroup/providers/microsoft.policyinsights/remediations/storageRemediation", + "name": "storageRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2020-06-15T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-15T18:52:27Z" + } + } + }, + "201": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Accepted", + "createdOn": "2018-09-12T20:58:58.7531298Z", + "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 0, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6" + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/myResourceGroup/providers/microsoft.policyinsights/remediations/storageRemediation", + "name": "storageRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:51:09.075918Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:52:10.0011706Z" + } + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CreateResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CreateResourceScope.json new file mode 100644 index 000000000000..ad1f73159899 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CreateResourceScope.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "resourceId": "subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1", + "remediationName": "storageRemediation", + "api-version": "2021-10-01", + "parameters": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Accepted", + "createdOn": "2018-09-12T20:58:58.7531298Z", + "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 0, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6" + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1/providers/microsoft.policyinsights/remediations/storageRemediation", + "name": "storageRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-12T20:58:58.7531298Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-12T20:58:58.7531298Z" + } + } + }, + "201": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Accepted", + "createdOn": "2018-09-12T20:58:58.7531298Z", + "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 0, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6" + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1/providers/microsoft.policyinsights/remediations/storageRemediation", + "name": "storageRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-12T20:58:58.7531298Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-12T20:58:58.7531298Z" + } + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CreateSubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CreateSubscriptionScope.json new file mode 100644 index 000000000000..0eb85ddc0fa8 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CreateSubscriptionScope.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2", + "remediationName": "storageRemediation", + "api-version": "2021-10-01", + "parameters": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Accepted", + "createdOn": "2018-09-12T20:58:58.7531298Z", + "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 0, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6" + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.policyinsights/remediations/storageRemediation", + "name": "storageRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-12T20:58:58.7531298Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-12T20:58:58.7531298Z" + } + } + }, + "201": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Accepted", + "createdOn": "2018-09-12T20:58:58.7531298Z", + "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 0, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6" + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.policyinsights/remediations/storageRemediation", + "name": "storageRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-12T20:58:58.7531298Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-12T20:58:58.7531298Z" + } + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CreateSubscriptionScope_AllProperties.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CreateSubscriptionScope_AllProperties.json new file mode 100644 index 000000000000..ef46fdba18b1 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_CreateSubscriptionScope_AllProperties.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2", + "remediationName": "storageRemediation", + "api-version": "2021-10-01", + "parameters": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "policyDefinitionReferenceId": "8c8fa9e4", + "resourceDiscoveryMode": "ReEvaluateCompliance", + "filters": { + "locations": [ + "eastus", + "westus" + ] + }, + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "policyDefinitionReferenceId": "8c8fa9e4", + "resourceDiscoveryMode": "ReEvaluateCompliance", + "provisioningState": "Accepted", + "createdOn": "2018-09-12T20:58:58.7531298Z", + "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 0, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.policyinsights/remediations/storageRemediation", + "name": "storageRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-12T20:58:58.7531298Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-12T20:58:58.7531298Z" + } + } + }, + "201": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "policyDefinitionReferenceId": "8c8fa9e4", + "resourceDiscoveryMode": "ReEvaluateCompliance", + "provisioningState": "Accepted", + "createdOn": "2018-09-12T20:58:58.7531298Z", + "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 0, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.policyinsights/remediations/storageRemediation", + "name": "storageRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-12T20:58:58.7531298Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-12T20:58:58.7531298Z" + } + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_DeleteManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_DeleteManagementGroupScope.json new file mode 100644 index 000000000000..2a70eb1c2927 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_DeleteManagementGroupScope.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "managementGroupsNamespace": "Microsoft.Management", + "managementGroupId": "financeMg", + "remediationName": "storageRemediation", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.policyinsights/remediations/storageRemediation", + "name": "storageRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:51:09.075918Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:52:10.0011706Z" + } + } + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_DeleteResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_DeleteResourceGroupScope.json new file mode 100644 index 000000000000..905cd9e43d40 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_DeleteResourceGroupScope.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2", + "resourceGroupName": "myResourceGroup", + "remediationName": "storageRemediation", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.policyinsights/remediations/storageRemediation", + "name": "storageRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:51:09.075918Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:52:10.0011706Z" + } + } + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_DeleteResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_DeleteResourceScope.json new file mode 100644 index 000000000000..8cbbc24d3dfd --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_DeleteResourceScope.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "resourceId": "subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1", + "remediationName": "storageRemediation", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 1, + "successfulDeployments": 1, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1/providers/microsoft.policyinsights/remediations/storageRemediation", + "name": "storageRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:51:09.075918Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:52:10.0011706Z" + } + } + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_DeleteSubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_DeleteSubscriptionScope.json new file mode 100644 index 000000000000..842356850ec6 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_DeleteSubscriptionScope.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2", + "remediationName": "storageRemediation", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.policyinsights/remediations/storageRemediation", + "name": "storageRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:51:09.075918Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:52:10.0011706Z" + } + } + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_GetManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_GetManagementGroupScope.json new file mode 100644 index 000000000000..a2f3d9d10e00 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_GetManagementGroupScope.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "managementGroupsNamespace": "Microsoft.Management", + "managementGroupId": "financeMg", + "remediationName": "storageRemediation", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.policyinsights/remediations/storageRemediation", + "name": "storageRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:51:09.075918Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:52:10.0011706Z" + } + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_GetResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_GetResourceGroupScope.json new file mode 100644 index 000000000000..02cbf141ddfb --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_GetResourceGroupScope.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2", + "resourceGroupName": "myResourceGroup", + "remediationName": "storageRemediation", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.policyinsights/remediations/storageRemediation", + "name": "storageRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:51:09.075918Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:52:10.0011706Z" + } + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_GetResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_GetResourceScope.json new file mode 100644 index 000000000000..8b269c38fe16 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_GetResourceScope.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "resourceId": "subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1", + "remediationName": "storageRemediation", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 1, + "successfulDeployments": 1, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1/providers/microsoft.policyinsights/remediations/storageRemediation", + "name": "storageRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:51:09.075918Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:52:10.0011706Z" + } + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_GetSubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_GetSubscriptionScope.json new file mode 100644 index 000000000000..4b998348ac85 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_GetSubscriptionScope.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2", + "remediationName": "storageRemediation", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.policyinsights/remediations/storageRemediation", + "name": "storageRemediation", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:51:09.075918Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:52:10.0011706Z" + } + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListDeploymentsManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListDeploymentsManagementGroupScope.json new file mode 100644 index 000000000000..943ed8e29c8f --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListDeploymentsManagementGroupScope.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "managementGroupsNamespace": "Microsoft.Management", + "managementGroupId": "financeMg", + "api-version": "2021-10-01", + "remediationName": "myRemediation" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "remediatedResourceId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1", + "deploymentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.resources/deployments/a088e8fd-8600-4126-8d74-fc7ead0e9ae4", + "status": "Succeeded", + "resourceLocation": "eastus", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:09.8919106Z" + }, + { + "remediatedResourceId": "/subscriptions/c1164d71-0942-499f-bc2f-b6b7b0bae493/resourcegroups/myResourceGroup2/providers/microsoft.storage/storageaccounts/stor1", + "deploymentId": "/subscriptions/c1164d71-0942-499f-bc2f-b6b7b0bae493/resourcegroups/myResourceGroup2/providers/microsoft.resources/deployments/6b8898c0-18a2-449e-987a-8d4d4f634f56", + "status": "Succeeded", + "resourceLocation": "westus", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:09.8761679Z" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListDeploymentsResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListDeploymentsResourceGroupScope.json new file mode 100644 index 000000000000..9d2131fe579f --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListDeploymentsResourceGroupScope.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-10-01", + "remediationName": "myRemediation" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "remediatedResourceId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1", + "deploymentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.resources/deployments/a088e8fd-8600-4126-8d74-fc7ead0e9ae4", + "status": "Succeeded", + "resourceLocation": "eastus", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:09.8919106Z" + }, + { + "remediatedResourceId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/stor2", + "deploymentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.resources/deployments/6b8898c0-18a2-449e-987a-8d4d4f634f56", + "status": "Succeeded", + "resourceLocation": "westus", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:09.8761679Z" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListDeploymentsResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListDeploymentsResourceScope.json new file mode 100644 index 000000000000..58f7ec716ee9 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListDeploymentsResourceScope.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "resourceId": "subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1", + "api-version": "2021-10-01", + "remediationName": "myRemediation" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "remediatedResourceId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1", + "deploymentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.resources/deployments/a088e8fd-8600-4126-8d74-fc7ead0e9ae4", + "status": "Succeeded", + "resourceLocation": "eastus", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:09.8919106Z" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListDeploymentsSubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListDeploymentsSubscriptionScope.json new file mode 100644 index 000000000000..3d8ba87c2065 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListDeploymentsSubscriptionScope.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2", + "api-version": "2021-10-01", + "remediationName": "myRemediation" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "remediatedResourceId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1", + "deploymentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.resources/deployments/a088e8fd-8600-4126-8d74-fc7ead0e9ae4", + "status": "Succeeded", + "resourceLocation": "eastus", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:09.8919106Z" + }, + { + "remediatedResourceId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup2/providers/microsoft.storage/storageaccounts/stor1", + "deploymentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup2/providers/microsoft.resources/deployments/6b8898c0-18a2-449e-987a-8d4d4f634f56", + "status": "Succeeded", + "resourceLocation": "westus", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:09.8761679Z" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListManagementGroupScope.json new file mode 100644 index 000000000000..73e5ea6356a3 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListManagementGroupScope.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "managementGroupsNamespace": "Microsoft.Management", + "managementGroupId": "financeMg", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "policyAssignmentId": "/providers/microsoft.management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.policyinsights/remediations/790996e6-9871-4b1f-9cd9-ec42cd6ced1e", + "name": "790996e6-9871-4b1f-9cd9-ec42cd6ced1e", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:51:09.075918Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:52:10.0011706Z" + } + }, + { + "properties": { + "policyAssignmentId": "/providers/microsoft.management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:49:16.4638131Z", + "lastUpdatedOn": "2018-09-13T21:50:18.4647478Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "957378d3-a143-421e-8b0e-3048dff01932" + }, + "id": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.policyinsights/remediations/0866f0cc-6cb3-422c-9fb6-a4e3e2266da8", + "name": "0866f0cc-6cb3-422c-9fb6-a4e3e2266da8", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:49:16.4638131Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:50:18.4647478Z" + } + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListManagementGroupScope_WithQuery.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListManagementGroupScope_WithQuery.json new file mode 100644 index 000000000000..7d54d4f6e88f --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListManagementGroupScope_WithQuery.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "managementGroupsNamespace": "Microsoft.Management", + "managementGroupId": "financeMg", + "$filter": "PolicyAssignmentId eq '/providers/microsoft.management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5'", + "$top": 1, + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "policyAssignmentId": "/providers/microsoft.management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.policyinsights/remediations/790996e6-9871-4b1f-9cd9-ec42cd6ced1e", + "name": "790996e6-9871-4b1f-9cd9-ec42cd6ced1e", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:51:09.075918Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:52:10.0011706Z" + } + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListResourceGroupScope.json new file mode 100644 index 000000000000..8301fd4d6abf --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListResourceGroupScope.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.policyinsights/remediations/790996e6-9871-4b1f-9cd9-ec42cd6ced1e", + "name": "790996e6-9871-4b1f-9cd9-ec42cd6ced1e", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:49:16.4638131Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:50:18.4647478Z" + } + }, + { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:49:16.4638131Z", + "lastUpdatedOn": "2018-09-13T21:50:18.4647478Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "957378d3-a143-421e-8b0e-3048dff01932" + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.policyinsights/remediations/0866f0cc-6cb3-422c-9fb6-a4e3e2266da8", + "name": "0866f0cc-6cb3-422c-9fb6-a4e3e2266da8", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:49:16.4638131Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:50:18.4647478Z" + } + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListResourceGroupScope_WithQuery.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListResourceGroupScope_WithQuery.json new file mode 100644 index 000000000000..1b2a6c7148c6 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListResourceGroupScope_WithQuery.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2", + "resourceGroupName": "myResourceGroup", + "$filter": "PolicyAssignmentId eq '/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5'", + "$top": 1, + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.policyinsights/remediations/790996e6-9871-4b1f-9cd9-ec42cd6ced1e", + "name": "790996e6-9871-4b1f-9cd9-ec42cd6ced1e", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:49:16.4638131Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:50:18.4647478Z" + } + }, + { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:49:16.4638131Z", + "lastUpdatedOn": "2018-09-13T21:50:18.4647478Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "957378d3-a143-421e-8b0e-3048dff01932" + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.policyinsights/remediations/0866f0cc-6cb3-422c-9fb6-a4e3e2266da8", + "name": "0866f0cc-6cb3-422c-9fb6-a4e3e2266da8", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:49:16.4638131Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:50:18.4647478Z" + } + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListResourceScope.json new file mode 100644 index 000000000000..bb098168e2bd --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListResourceScope.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "resourceId": "subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 1, + "successfulDeployments": 1, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1/providers/microsoft.policyinsights/remediations/790996e6-9871-4b1f-9cd9-ec42cd6ced1e", + "name": "790996e6-9871-4b1f-9cd9-ec42cd6ced1e", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:49:16.4638131Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:50:18.4647478Z" + } + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListResourceScope_WithQuery.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListResourceScope_WithQuery.json new file mode 100644 index 000000000000..42a12453acf0 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListResourceScope_WithQuery.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "resourceId": "subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1", + "$filter": "PolicyAssignmentId eq '/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5'", + "$top": 1, + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 1, + "successfulDeployments": 1, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1/providers/microsoft.policyinsights/remediations/790996e6-9871-4b1f-9cd9-ec42cd6ced1e", + "name": "790996e6-9871-4b1f-9cd9-ec42cd6ced1e", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:51:09.075918Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:52:10.0011706Z" + } + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListSubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListSubscriptionScope.json new file mode 100644 index 000000000000..25d2ca77ff4c --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListSubscriptionScope.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.policyinsights/remediations/790996e6-9871-4b1f-9cd9-ec42cd6ced1e", + "name": "790996e6-9871-4b1f-9cd9-ec42cd6ced1e", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:49:16.4638131Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:50:18.4647478Z" + } + }, + { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:49:16.4638131Z", + "lastUpdatedOn": "2018-09-13T21:50:18.4647478Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "957378d3-a143-421e-8b0e-3048dff01932", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup2/providers/microsoft.policyinsights/remediations/0866f0cc-6cb3-422c-9fb6-a4e3e2266da8", + "name": "0866f0cc-6cb3-422c-9fb6-a4e3e2266da8", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:49:16.4638131Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:50:18.4647478Z" + } + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListSubscriptionScope_WithQuery.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListSubscriptionScope_WithQuery.json new file mode 100644 index 000000000000..46f2b07f67ca --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/examples/Remediations_ListSubscriptionScope_WithQuery.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2", + "$filter": "PolicyAssignmentId eq '/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5' AND PolicyDefinitionReferenceId eq 'storageSkuDef'", + "$top": 1, + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "policyDefinitionReferenceId": "storageSkuDef", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:51:09.075918Z", + "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "a14e1d60-dae9-4771-b4be-a556d69e77a6", + "resourceCount": 42, + "parallelDeployments": 6, + "failureThreshold": { + "percentage": 0.1 + } + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.policyinsights/remediations/790996e6-9871-4b1f-9cd9-ec42cd6ced1e", + "name": "790996e6-9871-4b1f-9cd9-ec42cd6ced1e", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:49:16.4638131Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:50:18.4647478Z" + } + }, + { + "properties": { + "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5", + "policyDefinitionReferenceId": "storageSkuDef", + "provisioningState": "Succeeded", + "createdOn": "2018-09-13T21:49:16.4638131Z", + "lastUpdatedOn": "2018-09-13T21:50:18.4647478Z", + "resourceDiscoveryMode": "ExistingNonCompliant", + "deploymentStatus": { + "totalDeployments": 2, + "successfulDeployments": 2, + "failedDeployments": 0 + }, + "statusMessage": "Remediation extended status", + "correlationId": "957378d3-a143-421e-8b0e-3048dff01932" + }, + "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/rg2/providers/microsoft.policyinsights/remediations/0866f0cc-6cb3-422c-9fb6-a4e3e2266da8", + "name": "0866f0cc-6cb3-422c-9fb6-a4e3e2266da8", + "type": "Microsoft.PolicyInsights/remediations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "createdByType": "User", + "createdAt": "2018-09-13T21:49:16.4638131Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef6", + "lastModifiedByType": "User", + "lastModifiedAt": "2018-09-13T21:50:18.4647478Z" + } + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/remediations.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/remediations.json new file mode 100644 index 000000000000..77edbba85dee --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/remediations.json @@ -0,0 +1,1435 @@ +{ + "swagger": "2.0", + "info": { + "title": "RemediationsClient", + "version": "2021-10-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "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/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments": { + "post": { + "operationId": "Remediations_ListDeploymentsAtManagementGroup", + "description": "Gets all deployments for a remediation at management group scope.", + "parameters": [ + { + "$ref": "#/parameters/managementGroupsNamespaceParameter" + }, + { + "$ref": "#/parameters/managementGroupIdParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/topParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved remediation deployments.", + "schema": { + "$ref": "#/definitions/RemediationDeploymentsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List deployments for a remediation at management group scope": { + "$ref": "./examples/Remediations_ListDeploymentsManagementGroupScope.json" + } + } + } + }, + "/providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel": { + "post": { + "operationId": "Remediations_CancelAtManagementGroup", + "description": "Cancels a remediation at management group scope.", + "parameters": [ + { + "$ref": "#/parameters/managementGroupsNamespaceParameter" + }, + { + "$ref": "#/parameters/managementGroupIdParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The remediation that was canceled.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Cancel a remediation at management group scope": { + "$ref": "./examples/Remediations_CancelManagementGroupScope.json" + } + } + } + }, + "/providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations": { + "get": { + "operationId": "Remediations_ListForManagementGroup", + "description": "Gets all remediations for the management group.", + "parameters": [ + { + "$ref": "#/parameters/managementGroupsNamespaceParameter" + }, + { + "$ref": "#/parameters/managementGroupIdParameter" + }, + { + "$ref": "#/parameters/topParameter" + }, + { + "$ref": "#/parameters/filterParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved remediations.", + "schema": { + "$ref": "#/definitions/RemediationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List remediations at management group scope": { + "$ref": "./examples/Remediations_ListManagementGroupScope.json" + }, + "List remediations at management group scope with query parameters": { + "$ref": "./examples/Remediations_ListManagementGroupScope_WithQuery.json" + } + } + } + }, + "/providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}": { + "put": { + "operationId": "Remediations_CreateOrUpdateAtManagementGroup", + "description": "Creates or updates a remediation at management group scope.", + "parameters": [ + { + "$ref": "#/parameters/managementGroupsNamespaceParameter" + }, + { + "$ref": "#/parameters/managementGroupIdParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Remediation" + }, + "description": "The remediation parameters." + } + ], + "responses": { + "200": { + "description": "The updated remediation.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "201": { + "description": "The created remediation.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create remediation at management group scope": { + "$ref": "./examples/Remediations_CreateManagementGroupScope.json" + } + } + }, + "get": { + "operationId": "Remediations_GetAtManagementGroup", + "description": "Gets an existing remediation at management group scope.", + "parameters": [ + { + "$ref": "#/parameters/managementGroupsNamespaceParameter" + }, + { + "$ref": "#/parameters/managementGroupIdParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved remediation.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get remediation at management group scope": { + "$ref": "./examples/Remediations_GetManagementGroupScope.json" + } + } + }, + "delete": { + "operationId": "Remediations_DeleteAtManagementGroup", + "description": "Deletes an existing remediation at management group scope.", + "parameters": [ + { + "$ref": "#/parameters/managementGroupsNamespaceParameter" + }, + { + "$ref": "#/parameters/managementGroupIdParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted remediation.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "204": { + "description": "The remediation did not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete remediation at management group scope": { + "$ref": "./examples/Remediations_DeleteManagementGroupScope.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments": { + "post": { + "operationId": "Remediations_ListDeploymentsAtSubscription", + "description": "Gets all deployments for a remediation at subscription scope.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/topParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved remediation deployments.", + "schema": { + "$ref": "#/definitions/RemediationDeploymentsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List deployments for a remediation at subscription scope": { + "$ref": "./examples/Remediations_ListDeploymentsSubscriptionScope.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel": { + "post": { + "operationId": "Remediations_CancelAtSubscription", + "description": "Cancels a remediation at subscription scope.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The remediation that was canceled.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Cancel a remediation at subscription scope": { + "$ref": "./examples/Remediations_CancelSubscriptionScope.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations": { + "get": { + "operationId": "Remediations_ListForSubscription", + "description": "Gets all remediations for the subscription.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/topParameter" + }, + { + "$ref": "#/parameters/filterParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved remediations.", + "schema": { + "$ref": "#/definitions/RemediationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List remediations at subscription scope": { + "$ref": "./examples/Remediations_ListSubscriptionScope.json" + }, + "List remediations at subscription scope with query parameters": { + "$ref": "./examples/Remediations_ListSubscriptionScope_WithQuery.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}": { + "put": { + "operationId": "Remediations_CreateOrUpdateAtSubscription", + "description": "Creates or updates a remediation at subscription scope.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Remediation" + }, + "description": "The remediation parameters." + } + ], + "responses": { + "200": { + "description": "The updated remediation.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "201": { + "description": "The created remediation.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create remediation at subscription scope": { + "$ref": "./examples/Remediations_CreateSubscriptionScope.json" + }, + "Create remediation at subscription scope with all properties": { + "$ref": "./examples/Remediations_CreateSubscriptionScope_AllProperties.json" + } + } + }, + "get": { + "operationId": "Remediations_GetAtSubscription", + "description": "Gets an existing remediation at subscription scope.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved remediation.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get remediation at subscription scope": { + "$ref": "./examples/Remediations_GetSubscriptionScope.json" + } + } + }, + "delete": { + "operationId": "Remediations_DeleteAtSubscription", + "description": "Deletes an existing remediation at subscription scope.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted remediation.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "204": { + "description": "The remediation did not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete remediation at subscription scope": { + "$ref": "./examples/Remediations_DeleteSubscriptionScope.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments": { + "post": { + "operationId": "Remediations_ListDeploymentsAtResourceGroup", + "description": "Gets all deployments for a remediation at resource group scope.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/topParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved remediation deployments.", + "schema": { + "$ref": "#/definitions/RemediationDeploymentsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List deployments for a remediation at resource group scope": { + "$ref": "./examples/Remediations_ListDeploymentsResourceGroupScope.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel": { + "post": { + "operationId": "Remediations_CancelAtResourceGroup", + "description": "Cancels a remediation at resource group scope.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The remediation that was canceled.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Cancel a remediation at resource group scope": { + "$ref": "./examples/Remediations_CancelResourceGroupScope.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations": { + "get": { + "operationId": "Remediations_ListForResourceGroup", + "description": "Gets all remediations for the subscription.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/topParameter" + }, + { + "$ref": "#/parameters/filterParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved remediations.", + "schema": { + "$ref": "#/definitions/RemediationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List remediations at resource group scope": { + "$ref": "./examples/Remediations_ListResourceGroupScope.json" + }, + "List remediations at resource group scope with query parameters": { + "$ref": "./examples/Remediations_ListResourceGroupScope_WithQuery.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}": { + "put": { + "operationId": "Remediations_CreateOrUpdateAtResourceGroup", + "description": "Creates or updates a remediation at resource group scope.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Remediation" + }, + "description": "The remediation parameters." + } + ], + "responses": { + "200": { + "description": "The updated remediation.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "201": { + "description": "The created remediation.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create remediation at resource group scope": { + "$ref": "./examples/Remediations_CreateResourceGroupScope.json" + } + } + }, + "get": { + "operationId": "Remediations_GetAtResourceGroup", + "description": "Gets an existing remediation at resource group scope.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved remediation.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get remediation at resource group scope": { + "$ref": "./examples/Remediations_GetResourceGroupScope.json" + } + } + }, + "delete": { + "operationId": "Remediations_DeleteAtResourceGroup", + "description": "Deletes an existing remediation at resource group scope.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted remediation.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "204": { + "description": "The remediation did not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete remediation at resource group scope": { + "$ref": "./examples/Remediations_DeleteResourceGroupScope.json" + } + } + } + }, + "/{resourceId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments": { + "post": { + "operationId": "Remediations_ListDeploymentsAtResource", + "description": "Gets all deployments for a remediation at resource scope.", + "parameters": [ + { + "$ref": "#/parameters/resourceIdParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/topParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved remediation deployments.", + "schema": { + "$ref": "#/definitions/RemediationDeploymentsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List deployments for a remediation at individual resource scope": { + "$ref": "./examples/Remediations_ListDeploymentsResourceScope.json" + } + } + } + }, + "/{resourceId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel": { + "post": { + "operationId": "Remediations_CancelAtResource", + "description": "Cancel a remediation at resource scope.", + "parameters": [ + { + "$ref": "#/parameters/resourceIdParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The remediation that was canceled.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Cancel a remediation at individual resource scope": { + "$ref": "./examples/Remediations_CancelResourceScope.json" + } + } + } + }, + "/{resourceId}/providers/Microsoft.PolicyInsights/remediations": { + "get": { + "operationId": "Remediations_ListForResource", + "description": "Gets all remediations for a resource.", + "parameters": [ + { + "$ref": "#/parameters/resourceIdParameter" + }, + { + "$ref": "#/parameters/topParameter" + }, + { + "$ref": "#/parameters/filterParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved remediations.", + "schema": { + "$ref": "#/definitions/RemediationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List remediations at individual resource scope": { + "$ref": "./examples/Remediations_ListResourceScope.json" + }, + "List remediations at individual resource scope with query parameters": { + "$ref": "./examples/Remediations_ListResourceScope_WithQuery.json" + } + } + } + }, + "/{resourceId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}": { + "put": { + "operationId": "Remediations_CreateOrUpdateAtResource", + "description": "Creates or updates a remediation at resource scope.", + "parameters": [ + { + "$ref": "#/parameters/resourceIdParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Remediation" + }, + "description": "The remediation parameters." + } + ], + "responses": { + "200": { + "description": "The updated remediation.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "201": { + "description": "The created remediation.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create remediation at individual resource scope": { + "$ref": "./examples/Remediations_CreateResourceScope.json" + } + } + }, + "get": { + "operationId": "Remediations_GetAtResource", + "description": "Gets an existing remediation at resource scope.", + "parameters": [ + { + "$ref": "#/parameters/resourceIdParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved remediation.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get remediation at individual resource scope": { + "$ref": "./examples/Remediations_GetResourceScope.json" + } + } + }, + "delete": { + "operationId": "Remediations_DeleteAtResource", + "description": "Deletes an existing remediation at individual resource scope.", + "parameters": [ + { + "$ref": "#/parameters/resourceIdParameter" + }, + { + "$ref": "#/parameters/remediationNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted remediation.", + "schema": { + "$ref": "#/definitions/Remediation" + } + }, + "204": { + "description": "The remediation did not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete remediation at individual resource scope": { + "$ref": "./examples/Remediations_DeleteResourceScope.json" + } + } + } + } + }, + "definitions": { + "RemediationListResult": { + "description": "List of remediations.", + "properties": { + "value": { + "description": "Array of remediation definitions.", + "type": "array", + "items": { + "$ref": "#/definitions/Remediation" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + } + }, + "RemediationDeploymentsListResult": { + "description": "List of deployments for a remediation.", + "properties": { + "value": { + "description": "Array of deployments for the remediation.", + "type": "array", + "items": { + "$ref": "#/definitions/RemediationDeployment" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + } + }, + "RemediationDeployment": { + "description": "Details of a single deployment created by the remediation.", + "properties": { + "remediatedResourceId": { + "type": "string", + "description": "Resource ID of the resource that is being remediated by the deployment.", + "readOnly": true + }, + "deploymentId": { + "type": "string", + "description": "Resource ID of the template deployment that will remediate the resource.", + "readOnly": true + }, + "status": { + "type": "string", + "description": "Status of the remediation deployment.", + "readOnly": true + }, + "resourceLocation": { + "type": "string", + "description": "Location of the resource that is being remediated.", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/ErrorDefinition", + "description": "Error encountered while remediated the resource.", + "readOnly": true + }, + "createdOn": { + "type": "string", + "format": "date-time", + "description": "The time at which the remediation was created.", + "readOnly": true + }, + "lastUpdatedOn": { + "type": "string", + "format": "date-time", + "description": "The time at which the remediation deployment was last updated.", + "readOnly": true + } + } + }, + "Remediation": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RemediationProperties", + "description": "Properties for the remediation." + }, + "id": { + "type": "string", + "description": "The ID of the remediation.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the remediation.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the remediation.", + "readOnly": true + }, + "systemData": { + "readOnly": true, + "type": "object", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" + } + }, + "description": "The remediation definition.", + "x-ms-azure-resource": true + }, + "RemediationProperties": { + "properties": { + "policyAssignmentId": { + "type": "string", + "description": "The resource ID of the policy assignment that should be remediated." + }, + "policyDefinitionReferenceId": { + "type": "string", + "description": "The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition." + }, + "resourceDiscoveryMode": { + "type": "string", + "enum": [ + "ExistingNonCompliant", + "ReEvaluateCompliance" + ], + "x-ms-enum": { + "name": "ResourceDiscoveryMode", + "modelAsString": true, + "values": [ + { + "value": "ExistingNonCompliant", + "description": "Remediate resources that are already known to be non-compliant." + }, + { + "value": "ReEvaluateCompliance", + "description": "Re-evaluate the compliance state of resources and then remediate the resources found to be non-compliant." + } + ] + }, + "description": "The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified." + }, + "provisioningState": { + "type": "string", + "description": "The status of the remediation.", + "readOnly": true + }, + "createdOn": { + "type": "string", + "format": "date-time", + "description": "The time at which the remediation was created.", + "readOnly": true + }, + "lastUpdatedOn": { + "type": "string", + "format": "date-time", + "description": "The time at which the remediation was last updated.", + "readOnly": true + }, + "filters": { + "$ref": "#/definitions/RemediationFilters", + "description": "The filters that will be applied to determine which resources to remediate." + }, + "deploymentStatus": { + "$ref": "#/definitions/RemediationDeploymentSummary", + "description": "The deployment status summary for all deployments created by the remediation.", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "The remediation status message. Provides additional details regarding the state of the remediation.", + "readOnly": true + }, + "correlationId": { + "type": "string", + "description": "The remediation correlation Id. Can be used to find events related to the remediation in the activity log.", + "readOnly": true + }, + "resourceCount": { + "type": "integer", + "format": "int32", + "description": "Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used." + }, + "parallelDeployments": { + "type": "integer", + "format": "int32", + "description": "Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used." + }, + "failureThreshold": { + "type": "object", + "properties": { + "percentage": { + "type": "number", + "format": "float", + "description": "A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold." + } + }, + "description": "The remediation failure threshold settings" + } + }, + "description": "The remediation properties." + }, + "RemediationFilters": { + "properties": { + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The resource locations that will be remediated." + } + }, + "description": "The filters that will be applied to determine which resources to remediate." + }, + "RemediationDeploymentSummary": { + "properties": { + "totalDeployments": { + "type": "integer", + "description": "The number of deployments required by the remediation.", + "readOnly": true + }, + "successfulDeployments": { + "type": "integer", + "description": "The number of deployments required by the remediation that have succeeded.", + "readOnly": true + }, + "failedDeployments": { + "type": "integer", + "description": "The number of deployments required by the remediation that have failed.", + "readOnly": true + } + }, + "description": "The deployment status summary for all deployments created by the remediation." + }, + "ErrorResponse": { + "description": "Error response.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDefinition", + "description": "The error details." + } + } + }, + "ErrorDefinition": { + "description": "Error definition.", + "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 + }, + "target": { + "description": "The target of the error.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Internal error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDefinition" + }, + "readOnly": true + }, + "additionalInfo": { + "description": "Additional scenario specific error details.", + "type": "array", + "items": { + "$ref": "#/definitions/TypedErrorInfo" + }, + "readOnly": true + } + } + }, + "TypedErrorInfo": { + "description": "Scenario specific error details.", + "properties": { + "type": { + "description": "The type of included error details.", + "type": "string", + "readOnly": true + }, + "info": { + "description": "The scenario specific error details.", + "readOnly": true + } + } + } + }, + "parameters": { + "remediationNameParameter": { + "name": "remediationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the remediation.", + "x-ms-parameter-location": "method" + }, + "managementGroupsNamespaceParameter": { + "name": "managementGroupsNamespace", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "Microsoft.Management" + ], + "description": "The namespace for Microsoft Management RP; only \"Microsoft.Management\" is allowed.", + "x-ms-parameter-location": "method" + }, + "managementGroupIdParameter": { + "name": "managementGroupId", + "in": "path", + "required": true, + "type": "string", + "description": "Management group ID.", + "x-ms-parameter-location": "method" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group name.", + "x-ms-parameter-location": "method" + }, + "resourceIdParameter": { + "name": "resourceId", + "in": "path", + "required": true, + "type": "string", + "description": "Resource ID.", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "topParameter": { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "Maximum number of records to return.", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "QueryOptions" + }, + "x-ms-client-name": "Top" + }, + "filterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression.", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "QueryOptions" + }, + "x-ms-client-name": "Filter" + }, + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Microsoft Azure subscription ID." + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version.", + "x-ms-parameter-location": "client" + } + } +} diff --git a/specification/policyinsights/resource-manager/readme.go.md b/specification/policyinsights/resource-manager/readme.go.md index c7b29b3eab74..edfe5abb4f66 100644 --- a/specification/policyinsights/resource-manager/readme.go.md +++ b/specification/policyinsights/resource-manager/readme.go.md @@ -13,6 +13,7 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-10 - tag: package-2021-01 - tag: package-2020-07 - tag: package-2019-10 @@ -20,6 +21,15 @@ batch: - tag: package-2018-04 ``` +### Tag: package-2021-10 and go + +These settings apply only when `--tag=package-2021-10 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-10' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-10-01/$(namespace) +``` + ### Tag: package-2021-01 and go These settings apply only when `--tag=package-2021-01 --go` is specified on the command line. diff --git a/specification/policyinsights/resource-manager/readme.md b/specification/policyinsights/resource-manager/readme.md index cbc00aac1872..a9d9f9f69633 100644 --- a/specification/policyinsights/resource-manager/readme.md +++ b/specification/policyinsights/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for PolicyInsights. - - --- + ## Getting Started + To build the SDK for PolicyInsights, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,22 +15,23 @@ To build the SDK for PolicyInsights, simply [Install AutoRest](https://aka.ms/au To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the PolicyInsights API. ``` yaml title: PolicyInsightsClient openapi-type: arm -tag: package-2021-01 +tag: package-2021-10 ``` ### Validations + Run validations when `--validate` is specified on command line ``` yaml $(validate) @@ -41,6 +42,7 @@ message-format: json ``` ### Suppression + ``` yaml directive: - suppress: EnumInsteadOfBoolean @@ -134,6 +136,21 @@ directive: transform: delete $['post']['x-ms-pageable']['operationName'] ``` + +### Tag: package-2021-10 + +These settings apply only when `--tag=package-2021-10` is specified on the command line. + +```yaml $(tag) == 'package-2021-10' +input-file: +- Microsoft.PolicyInsights/preview/2018-07-01-preview/policyTrackedResources.json +- Microsoft.PolicyInsights/stable/2021-10-01/remediations.json +- Microsoft.PolicyInsights/stable/2019-10-01/policyEvents.json +- Microsoft.PolicyInsights/stable/2019-10-01/policyStates.json +- Microsoft.PolicyInsights/stable/2019-10-01/policyMetadata.json +- Microsoft.PolicyInsights/stable/2020-07-01/checkPolicyRestrictions.json +- Microsoft.PolicyInsights/stable/2021-01-01/attestations.json +``` ### Tag: package-2021-01 These settings apply only when `--tag=package-2021-01` is specified on the command line. @@ -190,7 +207,6 @@ input-file: - Microsoft.PolicyInsights/stable/2019-10-01/policyMetadata.json ``` - ### Tag: package-2018-07 These settings apply only when `--tag=package-2018-07` is specified on the command line. @@ -203,7 +219,6 @@ input-file: - Microsoft.PolicyInsights/preview/2018-07-01-preview/policyStates.json ``` - ### Tag: package-2018-04 These settings apply only when `--tag=package-2018-04` is specified on the command line. @@ -215,8 +230,8 @@ input-file: ``` --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -233,7 +248,6 @@ swagger-to-sdk: - repo: azure-resource-manager-schemas ``` - ## C# These settings apply only when `--csharp` is specified on the command line. @@ -274,6 +288,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-policyinsights ``` yaml $(java) && $(multiapi) batch: + - tag: package-2021-10 - tag: package-2021-01 - tag: package-2020-07 - tag: package-2019-10 @@ -281,6 +296,19 @@ batch: - tag: package-2018-04 ``` +### Tag: package-2021-10 and java + +These settings apply only when `--tag=package-2021-10 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2021-10' && $(java) +java: + namespace: com.microsoft.azure.management.policyinsights.v2021_10_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/policyinsights/mgmt-v2021_10_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2021-01 and java These settings apply only when `--tag=package-2021-01 --java` is specified on the command line. @@ -307,7 +335,6 @@ regenerate-manager: true generate-interface: true ``` - ### Tag: package-2019-10 and java These settings apply only when `--tag=package-2019-10 --java` is specified on the command line. @@ -321,7 +348,6 @@ regenerate-manager: true generate-interface: true ``` - ### Tag: package-2018-07 and java These settings apply only when `--tag=package-2018-07 --java` is specified on the command line. @@ -347,7 +373,3 @@ java: regenerate-manager: true generate-interface: true ``` - - - - diff --git a/specification/portal/resource-manager/readme.go.md b/specification/portal/resource-manager/readme.go.md index 837f4c687daf..fbf6499eae24 100644 --- a/specification/portal/resource-manager/readme.go.md +++ b/specification/portal/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -```yaml $(go) +```yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: portal clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/portal/armportal +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/portal/resource-manager/readme.md b/specification/portal/resource-manager/readme.md index b776c3e81975..735d607e2fd3 100644 --- a/specification/portal/resource-manager/readme.md +++ b/specification/portal/resource-manager/readme.md @@ -82,6 +82,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-node - repo: azure-sdk-for-js - repo: azure-sdk-for-ruby diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerCreate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerCreate.json index d1a8a6ac4f47..80c13593c935 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerCreate.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerCreate.json @@ -61,8 +61,7 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7, - "geoRedundantBackup": "Disabled", - "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" + "geoRedundantBackup": "Disabled" }, "availabilityZone": "1", "standbyAvailabilityZone": "2", @@ -71,7 +70,8 @@ "startHour": 0, "startMinute": 0, "customWindow": "Disabled" - } + }, + "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" }, "location": "westus", "tags": { @@ -109,8 +109,7 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7, - "geoRedundantBackup": "Disabled", - "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" + "geoRedundantBackup": "Disabled" }, "availabilityZone": "1", "standbyAvailabilityZone": "2", @@ -119,7 +118,8 @@ "startHour": 0, "startMinute": 0, "customWindow": "Disabled" - } + }, + "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" }, "location": "westus", "tags": { diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerCreatePointInTimeRestore.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerCreatePointInTimeRestore.json index d3099cf93649..e4acc76d9b4e 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerCreatePointInTimeRestore.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerCreatePointInTimeRestore.json @@ -39,10 +39,10 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7, - "geoRedundantBackup": "Disabled", - "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" + "geoRedundantBackup": "Disabled" }, - "availabilityZone": "1" + "availabilityZone": "1", + "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" }, "location": "westus", "tags": { @@ -76,10 +76,10 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7, - "geoRedundantBackup": "Disabled", - "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" + "geoRedundantBackup": "Disabled" }, - "availabilityZone": "1" + "availabilityZone": "1", + "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" }, "location": "westus", "tags": { diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerGet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerGet.json index 49b06b0c9626..6d5cd4c366b8 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerGet.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerGet.json @@ -24,8 +24,7 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7, - "geoRedundantBackup": "Disabled", - "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" + "geoRedundantBackup": "Disabled" }, "haEnabled": "Enabled", "standbyCount": 1, @@ -37,7 +36,8 @@ "startHour": 0, "startMinute": 0, "customWindow": "Disabled" - } + }, + "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" }, "location": "westus", "tags": { diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerGetWithVnet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerGetWithVnet.json index c66b083767e8..ff984cc1003a 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerGetWithVnet.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerGetWithVnet.json @@ -33,10 +33,10 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7, - "geoRedundantBackup": "Disabled", - "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" + "geoRedundantBackup": "Disabled" }, - "availabilityZone": "1" + "availabilityZone": "1", + "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" }, "location": "westus", "tags": { diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerList.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerList.json index 39feb87e4930..221dc006130f 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerList.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerList.json @@ -25,8 +25,7 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7, - "geoRedundantBackup": "Disabled", - "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" + "geoRedundantBackup": "Disabled" }, "haEnabled": "Enabled", "standbyCount": 1, @@ -38,7 +37,8 @@ "startHour": 0, "startMinute": 0, "customWindow": "Disabled" - } + }, + "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" }, "location": "westus", "tags": { @@ -65,8 +65,7 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7, - "geoRedundantBackup": "Disabled", - "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" + "geoRedundantBackup": "Disabled" }, "haEnabled": "Disabled", "standbyCount": 0, @@ -77,7 +76,8 @@ "startHour": 10, "startMinute": 30, "customWindow": "Enabled" - } + }, + "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" }, "location": "westus", "tags": { @@ -104,8 +104,7 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7, - "geoRedundantBackup": "Disabled", - "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" + "geoRedundantBackup": "Disabled" }, "haEnabled": "Disabled", "standbyCount": 0, @@ -116,7 +115,8 @@ "startHour": 0, "startMinute": 0, "customWindow": "Disabled" - } + }, + "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" }, "location": "westus", "tags": { @@ -143,8 +143,7 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7, - "geoRedundantBackup": "Disabled", - "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" + "geoRedundantBackup": "Disabled" }, "haEnabled": "Enabled", "standbyCount": 1, @@ -156,7 +155,8 @@ "startHour": 0, "startMinute": 0, "customWindow": "Disabled" - } + }, + "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" }, "location": "westus", "tags": { diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerListByResourceGroup.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerListByResourceGroup.json index 1e59f192b218..ae920a479ac3 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerListByResourceGroup.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerListByResourceGroup.json @@ -26,8 +26,7 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7, - "geoRedundantBackup": "Disabled", - "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" + "geoRedundantBackup": "Disabled" }, "haEnabled": "Enabled", "standbyCount": 1, @@ -39,7 +38,8 @@ "startHour": 10, "startMinute": 30, "customWindow": "Enabled" - } + }, + "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" }, "location": "westus", "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/servers/pgtestsvc1", @@ -63,8 +63,7 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7, - "geoRedundantBackup": "Disabled", - "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" + "geoRedundantBackup": "Disabled" }, "haEnabled": "Disabled", "standbyCount": 0, @@ -75,7 +74,8 @@ "startHour": 0, "startMinute": 0, "customWindow": "Disabled" - } + }, + "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" }, "location": "westus", "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc2", @@ -99,8 +99,7 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7, - "geoRedundantBackup": "Disabled", - "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" + "geoRedundantBackup": "Disabled" }, "haEnabled": "Disabled", "standbyCount": 0, @@ -111,7 +110,8 @@ "startHour": 10, "startMinute": 30, "customWindow": "Enabled" - } + }, + "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" }, "location": "westus", "tags": { diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerUpdate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerUpdate.json index ebcb79ed0800..de8d96e7d363 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerUpdate.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerUpdate.json @@ -38,15 +38,15 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 20, - "geoRedundantBackup": "Disabled", - "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" + "geoRedundantBackup": "Disabled" }, "delegatedSubnetArguments": {}, "privateDnsZoneArguments": {}, "haEnabled": "Disabled", "standbyCount": 0, "logBackupStorageSku": "Standard_ZRS", - "availabilityZone": "1" + "availabilityZone": "1", + "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" }, "location": "westus", "tags": { diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerUpdateWithCustomerMaintenanceWindow.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerUpdateWithCustomerMaintenanceWindow.json index 034dbc34e0f7..4f81f84c834c 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerUpdateWithCustomerMaintenanceWindow.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerUpdateWithCustomerMaintenanceWindow.json @@ -35,8 +35,7 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 20, - "geoRedundantBackup": "Disabled", - "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" + "geoRedundantBackup": "Disabled" }, "delegatedSubnetArguments": {}, "privateDnsZoneArguments": {}, @@ -49,7 +48,8 @@ "startHour": 8, "startMinute": 0, "customWindow": "Enabled" - } + }, + "earliestRestoreDate": "2021-05-26T23:07:25.8166567+00:00" }, "location": "westus", "tags": { diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/postgresql.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/postgresql.json index 2f9d84b9b974..632069ebe2be 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/postgresql.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/postgresql.json @@ -1343,6 +1343,12 @@ } } }, + "earliestRestoreDate": { + "type": "string", + "format": "date-time", + "description": "The earliest restore point time (ISO8601 format) for server.", + "readOnly": true + }, "createMode": { "type": "string", "description": "The mode to create a new PostgreSQL server.", @@ -1527,12 +1533,6 @@ "create", "read" ] - }, - "earliestRestoreDate": { - "type": "string", - "format": "date-time", - "description": "The earliest restore point time (ISO8601 format) for server.", - "readOnly": true } }, "description": "Storage Profile properties of a server" diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2021-06-01-preview/postgresql.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2021-06-01-preview/postgresql.json index 253af0941bb2..e0b188eb888f 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2021-06-01-preview/postgresql.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2021-06-01-preview/postgresql.json @@ -1403,14 +1403,17 @@ }, "storage": { "$ref": "#/definitions/Storage", + "default": null, "description": "Storage properties of a server." }, "backup": { "$ref": "#/definitions/Backup", + "default": null, "description": "Backup properties of a server." }, "network": { "$ref": "#/definitions/Network", + "default": null, "description": "Network properties of a server.", "x-ms-mutability": [ "create", @@ -1419,10 +1422,12 @@ }, "highAvailability": { "$ref": "#/definitions/HighAvailability", + "default": null, "description": "High availability properties of a server." }, "maintenanceWindow": { "$ref": "#/definitions/MaintenanceWindow", + "default": null, "description": "Maintenance window properties of a server.", "x-ms-mutability": [ "update", @@ -1446,6 +1451,7 @@ }, "availabilityZone": { "type": "string", + "default": "", "description": "availability zone information of the server.", "x-ms-mutability": [ "create", @@ -1469,13 +1475,6 @@ "create", "update" ] - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." } }, "description": "The properties of a server." @@ -1508,24 +1507,36 @@ "properties": { "administratorLoginPassword": { "type": "string", + "x-ms-secret": true, "format": "password", - "description": "The password of the administrator login." + "description": "The password of the administrator login.", + "x-ms-mutability": [ + "update" + ] }, "storage": { "$ref": "#/definitions/Storage", + "default": null, "description": "Storage properties of a server." }, "backup": { "$ref": "#/definitions/Backup", + "default": null, "description": "Backup properties of a server." }, "highAvailability": { "$ref": "#/definitions/HighAvailability", + "default": null, "description": "High availability properties of a server." }, "maintenanceWindow": { "$ref": "#/definitions/MaintenanceWindow", - "description": "Maintenance window properties of a server." + "default": null, + "description": "Maintenance window properties of a server.", + "x-ms-mutability": [ + "update", + "read" + ] }, "createMode": { "type": "string", @@ -1627,10 +1638,12 @@ "backupRetentionDays": { "type": "integer", "format": "int32", + "default": 7, "description": "Backup retention days for the server." }, "geoRedundantBackup": { "type": "string", + "default": "Disabled", "description": "A value indicating whether Geo-Redundant backup is enabled on the server.", "enum": [ "Enabled", @@ -1671,6 +1684,7 @@ }, "delegatedSubnetResourceId": { "type": "string", + "default": "", "description": "delegated subnet arm resource id.", "x-ms-mutability": [ "create", @@ -1679,6 +1693,7 @@ }, "privateDnsZoneArmResourceId": { "type": "string", + "default": "", "description": "private dns zone arm resource id.", "x-ms-mutability": [ "create", @@ -1692,6 +1707,7 @@ "properties": { "mode": { "type": "string", + "default": "Disabled", "description": "The HA mode for the server.", "enum": [ "Disabled", @@ -1721,6 +1737,7 @@ }, "standbyAvailabilityZone": { "type": "string", + "default": "", "description": "availability zone information of the standby." } }, @@ -1732,21 +1749,25 @@ "properties": { "customWindow": { "type": "string", + "default": "Disabled", "description": "indicates whether custom window is enabled or disabled" }, "startHour": { "type": "integer", "format": "int32", + "default": 0, "description": "start hour for maintenance window" }, "startMinute": { "type": "integer", "format": "int32", + "default": 0, "description": "start minute for maintenance window" }, "dayOfWeek": { "type": "integer", "format": "int32", + "default": 0, "description": "day of week for maintenance window" } } @@ -1849,6 +1870,31 @@ "source": { "type": "string", "description": "Source of the configuration." + }, + "isDynamicConfig": { + "type": "boolean", + "readOnly": true, + "description": "Configuration dynamic or static." + }, + "isReadOnly": { + "type": "boolean", + "readOnly": true, + "description": "Configuration read-only or not." + }, + "isConfigPendingRestart": { + "type": "boolean", + "readOnly": true, + "description": "Configuration is pending restart or not." + }, + "unit": { + "type": "string", + "readOnly": true, + "description": "Configuration unit." + }, + "documentationLink": { + "type": "string", + "readOnly": true, + "description": "Configuration documentation link." } }, "description": "The properties of a configuration." @@ -1995,19 +2041,36 @@ "properties": { "message": { "type": "string", - "description": "Error Message." + "description": "Error Message.", + "readOnly": true }, "nameAvailable": { "type": "boolean", - "description": "Indicates whether the resource name is available." + "description": "Indicates whether the resource name is available.", + "readOnly": true }, "name": { "type": "string", - "description": "name of the PostgreSQL server." + "description": "name of the PostgreSQL server.", + "readOnly": true }, "type": { "type": "string", - "description": "type of the server" + "description": "type of the server", + "readOnly": true + }, + "reason": { + "type": "string", + "description": "The name availability reason.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": true + }, + "readOnly": true } }, "description": "Represents a resource name availability." diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json index 03b5b297e044..660ed94fa066 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json @@ -1403,14 +1403,17 @@ }, "storage": { "$ref": "#/definitions/Storage", + "default": null, "description": "Storage properties of a server." }, "backup": { "$ref": "#/definitions/Backup", + "default": null, "description": "Backup properties of a server." }, "network": { "$ref": "#/definitions/Network", + "default": null, "description": "Network properties of a server.", "x-ms-mutability": [ "create", @@ -1419,10 +1422,12 @@ }, "highAvailability": { "$ref": "#/definitions/HighAvailability", + "default": null, "description": "High availability properties of a server." }, "maintenanceWindow": { "$ref": "#/definitions/MaintenanceWindow", + "default": null, "description": "Maintenance window properties of a server.", "x-ms-mutability": [ "update", @@ -1446,6 +1451,7 @@ }, "availabilityZone": { "type": "string", + "default": "", "description": "availability zone information of the server.", "x-ms-mutability": [ "create", @@ -1469,13 +1475,6 @@ "create", "update" ] - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." } }, "description": "The properties of a server." @@ -1508,24 +1507,36 @@ "properties": { "administratorLoginPassword": { "type": "string", + "x-ms-secret": true, "format": "password", - "description": "The password of the administrator login." + "description": "The password of the administrator login.", + "x-ms-mutability": [ + "update" + ] }, "storage": { "$ref": "#/definitions/Storage", + "default": null, "description": "Storage properties of a server." }, "backup": { "$ref": "#/definitions/Backup", + "default": null, "description": "Backup properties of a server." }, "highAvailability": { "$ref": "#/definitions/HighAvailability", + "default": null, "description": "High availability properties of a server." }, "maintenanceWindow": { "$ref": "#/definitions/MaintenanceWindow", - "description": "Maintenance window properties of a server." + "default": null, + "description": "Maintenance window properties of a server.", + "x-ms-mutability": [ + "update", + "read" + ] }, "createMode": { "type": "string", @@ -1627,10 +1638,12 @@ "backupRetentionDays": { "type": "integer", "format": "int32", + "default": 7, "description": "Backup retention days for the server." }, "geoRedundantBackup": { "type": "string", + "default": "Disabled", "description": "A value indicating whether Geo-Redundant backup is enabled on the server.", "enum": [ "Enabled", @@ -1671,6 +1684,7 @@ }, "delegatedSubnetResourceId": { "type": "string", + "default": "", "description": "delegated subnet arm resource id.", "x-ms-mutability": [ "create", @@ -1679,6 +1693,7 @@ }, "privateDnsZoneArmResourceId": { "type": "string", + "default": "", "description": "private dns zone arm resource id.", "x-ms-mutability": [ "create", @@ -1692,6 +1707,7 @@ "properties": { "mode": { "type": "string", + "default": "Disabled", "description": "The HA mode for the server.", "enum": [ "Disabled", @@ -1721,6 +1737,7 @@ }, "standbyAvailabilityZone": { "type": "string", + "default": "", "description": "availability zone information of the standby." } }, @@ -1732,21 +1749,25 @@ "properties": { "customWindow": { "type": "string", + "default": "Disabled", "description": "indicates whether custom window is enabled or disabled" }, "startHour": { "type": "integer", "format": "int32", + "default": 0, "description": "start hour for maintenance window" }, "startMinute": { "type": "integer", "format": "int32", + "default": 0, "description": "start minute for maintenance window" }, "dayOfWeek": { "type": "integer", "format": "int32", + "default": 0, "description": "day of week for maintenance window" } } @@ -1849,6 +1870,31 @@ "source": { "type": "string", "description": "Source of the configuration." + }, + "isDynamicConfig": { + "type": "boolean", + "readOnly": true, + "description": "Configuration dynamic or static." + }, + "isReadOnly": { + "type": "boolean", + "readOnly": true, + "description": "Configuration read-only or not." + }, + "isConfigPendingRestart": { + "type": "boolean", + "readOnly": true, + "description": "Configuration is pending restart or not." + }, + "unit": { + "type": "string", + "readOnly": true, + "description": "Configuration unit." + }, + "documentationLink": { + "type": "string", + "readOnly": true, + "description": "Configuration documentation link." } }, "description": "The properties of a configuration." @@ -1995,19 +2041,36 @@ "properties": { "message": { "type": "string", - "description": "Error Message." + "description": "Error Message.", + "readOnly": true }, "nameAvailable": { "type": "boolean", - "description": "Indicates whether the resource name is available." + "description": "Indicates whether the resource name is available.", + "readOnly": true }, "name": { "type": "string", - "description": "name of the PostgreSQL server." + "description": "name of the PostgreSQL server.", + "readOnly": true }, "type": { "type": "string", - "description": "type of the server" + "description": "type of the server", + "readOnly": true + }, + "reason": { + "type": "string", + "description": "The name availability reason.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": true + }, + "readOnly": true } }, "description": "Represents a resource name availability." diff --git a/specification/postgresql/resource-manager/readme.go.md b/specification/postgresql/resource-manager/readme.go.md index aad81e92af44..4fa89809804e 100644 --- a/specification/postgresql/resource-manager/readme.go.md +++ b/specification/postgresql/resource-manager/readme.go.md @@ -10,7 +10,7 @@ go: ``` yaml $(go) && $(track2) && $(package-singleservers) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/postgresql/armpostgresql +module-name: sdk/resourcemanager/postgresql/armpostgresql module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true @@ -18,7 +18,7 @@ azure-arm: true ``` yaml $(go) && $(track2) && $(package-flexibleservers) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/postgresql/armpostgresqlflexibleservers +module-name: sdk/resourcemanager/postgresql/armpostgresqlflexibleservers module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/postgresql/resource-manager/readme.md b/specification/postgresql/resource-manager/readme.md index 9207cc353c16..974284768f89 100644 --- a/specification/postgresql/resource-manager/readme.md +++ b/specification/postgresql/resource-manager/readme.md @@ -262,47 +262,3 @@ See configuration in [readme.typescript.md](./readme.typescript.md) -## Multi-API/Profile support for AutoRest v3 generators - -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. - -This block is updated by an automatic script. Edits may be lost! - -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ -# include the azure profile definitions from the standard location -require: $(this-folder)/../../../profiles/readme.md - -# all the input files across all versions -input-file: - - $(this-folder)/Microsoft.DBforPostgreSQL/preview/2020-11-05-preview/Databases.json - - $(this-folder)/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/postgresql.json - - $(this-folder)/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/postgresql.json - - $(this-folder)/Microsoft.DBforPostgreSQL/preview/2021-04-10-privatepreview/postgresql.json - - $(this-folder)/Microsoft.DBforPostgreSQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json - - $(this-folder)/Microsoft.DBforPostgreSQL/preview/2021-03-31-privatepreview/PrivateDnsZone.json - - $(this-folder)/Microsoft.DBforPostgreSQL/preview/2021-06-01-preview/postgresql.json - - $(this-folder)/Microsoft.DBforPostgreSQL/preview/2021-06-01-preview/IntelligentPerformance.json - - $(this-folder)/Microsoft.DBforPostgreSQL/preview/2021-06-01-preview/QueryPerformanceInsights.json - - $(this-folder)/Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json - - $(this-folder)/Microsoft.DBforPostgreSQL/stable/2017-12-01/ServerSecurityAlertPolicies.json - - $(this-folder)/Microsoft.DBforPostgreSQL/stable/2018-06-01/PrivateEndpointConnections.json - - $(this-folder)/Microsoft.DBforPostgreSQL/stable/2018-06-01/PrivateLinkResources.json - - $(this-folder)/Microsoft.DBforPostgreSQL/stable/2018-06-01/QueryPerformanceInsights.json - - $(this-folder)/Microsoft.DBforPostgreSQL/stable/2018-06-01/PerformanceRecommendations.json - - $(this-folder)/Microsoft.DBforPostgreSQL/stable/2020-01-01/DataEncryptionKeys.json - - $(this-folder)/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json - - $(this-folder)/Microsoft.DBforPostgreSQL/stable/2021-06-01/Databases.json - - $(this-folder)/Microsoft.DBforPostgreSQL/stable/2021-06-01/PrivateDnsZone.json - - $(this-folder)/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json - - $(this-folder)/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json - - $(this-folder)/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/postgresql.json - -``` - -If there are files that should not be in the `all-api-versions` set, -uncomment the `exclude-file` section below and add the file paths. - -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` diff --git a/specification/powerbidedicated/resource-manager/Microsoft.PowerBIdedicated/stable/2017-10-01/powerbidedicated.json b/specification/powerbidedicated/resource-manager/Microsoft.PowerBIdedicated/stable/2017-10-01/powerbidedicated.json index 37576e2a1c6a..d71673d707bb 100644 --- a/specification/powerbidedicated/resource-manager/Microsoft.PowerBIdedicated/stable/2017-10-01/powerbidedicated.json +++ b/specification/powerbidedicated/resource-manager/Microsoft.PowerBIdedicated/stable/2017-10-01/powerbidedicated.json @@ -655,6 +655,25 @@ "description": "Operation type: create, update, delete, etc.", "type": "string", "readOnly": true + }, + "description": { + "type": "string", + "description": "Localized description of the operation." + } + } + }, + "origin": { + "type": "string", + "description": "Executor of the operation.", + "readOnly": true + }, + "properties": { + "type": "object", + "description": "Additional properties to expose performance metrics to shoebox.", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "Service specification for exposing performance metrics to shoebox." } } } @@ -830,6 +849,11 @@ "modelAsString": true }, "description": "The name of the Azure pricing tier to which the SKU applies." + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "The capacity of the SKU." } }, "required": [ @@ -848,6 +872,16 @@ "description": "The capacity mode.", "type": "string", "readOnly": true + }, + "tenantId": { + "type": "string", + "description": "Tenant ID for the capacity. Used for creating Pro Plus capacity.", + "readOnly": true + }, + "friendlyName": { + "type": "string", + "description": "Capacity name", + "readOnly": true } } }, @@ -895,6 +929,10 @@ "description": "An object that represents SKU details for existing resources", "type": "object", "properties": { + "resourceType": { + "type": "string", + "description": "The resource type" + }, "sku": { "$ref": "#/definitions/ResourceSku", "description": "The SKU in SKU details for existing resources." @@ -955,6 +993,98 @@ "description": "The detailed message of the request unavailability." } } + }, + "ServiceSpecification": { + "type": "object", + "description": "Service specification for exposing performance metrics to shoebox.", + "properties": { + "metricSpecifications": { + "type": "array", + "description": "Metric specifications for exposing performance metrics to shoebox.", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + }, + "logSpecifications": { + "type": "array", + "description": "Log specifications for exposing diagnostic logs to shoebox.", + "items": { + "$ref": "#/definitions/LogSpecification" + } + } + } + }, + "MetricSpecification": { + "type": "object", + "description": "Metric specification for exposing performance metrics to shoebox.", + "properties": { + "name": { + "type": "string", + "description": "Metric name", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "Localizable metric name" + }, + "displayDescription": { + "type": "string", + "description": "Localizable description of metric" + }, + "unit": { + "type": "string", + "description": "Unit for the metric", + "readOnly": true + }, + "aggregationType": { + "type": "string", + "description": "Aggregation type for the metric", + "readOnly": true + }, + "metricFilterPattern": { + "type": "string", + "description": "Pattern used to filter the metric", + "readOnly": true + }, + "dimensions": { + "type": "array", + "description": "For describing multi dimensional metrics", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Dimension of the metric", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "Localizable dimension of the metric" + } + } + } + } + } + }, + "LogSpecification": { + "description": "Log specification for exposing diagnostic logs to shoebox.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the log", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "Localizable name of the log" + }, + "blobDuration": { + "type": "string", + "description": "Blob duration for the log", + "readOnly": true + } + } } }, "parameters": { diff --git a/specification/powerbidedicated/resource-manager/Microsoft.PowerBIdedicated/stable/2021-01-01/examples/updateToGen2.json b/specification/powerbidedicated/resource-manager/Microsoft.PowerBIdedicated/stable/2021-01-01/examples/updateToGen2.json new file mode 100644 index 000000000000..a1ab3ae18b2b --- /dev/null +++ b/specification/powerbidedicated/resource-manager/Microsoft.PowerBIdedicated/stable/2021-01-01/examples/updateToGen2.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60", + "resourceGroupName": "TestRG", + "dedicatedCapacityName": "azsdktest", + "api-version": "2021-01-01", + "capacityUpdateParameters": { + "sku": { + "name": "A1", + "tier": "PBIE_Azure" + }, + "tags": { + "testKey": "testValue" + }, + "properties": { + "mode": "Gen2" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.PowerBIDedicated/capacities/azsdktest", + "location": "West US", + "name": "azsdktest", + "properties": { + "administration": { + "members": [ + "azsdktest@microsoft.com", + "azsdktest2@microsoft.com" + ] + }, + "mode": "Gen2", + "provisioningState": "Provisioning", + "state": "Provisioning" + }, + "sku": { + "name": "A1", + "tier": "PBIE_Azure" + }, + "tags": { + "testKey": "testValue" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-01-01T00:00:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-01T00:00:19.1234567Z" + } + } + }, + "202": { + "headers": {}, + "body": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.PowerBIDedicated/capacities/azsdktest", + "location": "West US", + "name": "azsdktest", + "properties": { + "administration": { + "members": [ + "azsdktest@microsoft.com", + "azsdktest2@microsoft.com" + ] + }, + "mode": "Gen2", + "provisioningState": "Provisioning", + "state": "Provisioning" + }, + "sku": { + "name": "A1", + "tier": "PBIE_Azure" + }, + "tags": { + "testKey": "testValue" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-01-01T00:00:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-01T00:00:19.1234567Z" + } + } + } + } +} diff --git a/specification/powerbidedicated/resource-manager/Microsoft.PowerBIdedicated/stable/2021-01-01/powerbidedicated.json b/specification/powerbidedicated/resource-manager/Microsoft.PowerBIdedicated/stable/2021-01-01/powerbidedicated.json index e646c27aec9c..b67f94ee343c 100644 --- a/specification/powerbidedicated/resource-manager/Microsoft.PowerBIdedicated/stable/2021-01-01/powerbidedicated.json +++ b/specification/powerbidedicated/resource-manager/Microsoft.PowerBIdedicated/stable/2021-01-01/powerbidedicated.json @@ -204,6 +204,9 @@ "x-ms-examples": { "Update capacity parameters": { "$ref": "./examples/updateCapacity.json" + }, + "Update capacity to Generation 2": { + "$ref": "./examples/updateToGen2.json" } }, "tags": [ @@ -857,7 +860,7 @@ "description": "A collection of Dedicated capacity administrators" }, "mode": { - "description": "The capacity mode.", + "description": "Specifies the generation of the Power BI Embedded capacity. If no value is specified, the default value 'Gen2' is used. [Learn More](https://docs.microsoft.com/power-bi/developer/embedded/power-bi-embedded-generation-2)", "type": "string", "enum": [ "Gen1", diff --git a/specification/powerbiprivatelinks/resource-manager/readme.go.md b/specification/powerbiprivatelinks/resource-manager/readme.go.md index 17bff7f7ed79..22d6f6d22867 100644 --- a/specification/powerbiprivatelinks/resource-manager/readme.go.md +++ b/specification/powerbiprivatelinks/resource-manager/readme.go.md @@ -5,7 +5,7 @@ These settings apply only when `--go` is specified on the command line. ```yaml $(go) && $(track2) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/powerbiprivatelinks/armpowerbiprivatelinks +module-name: sdk/resourcemanager/powerbiprivatelinks/armpowerbiprivatelinks module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) ``` diff --git a/specification/privatedns/resource-manager/readme.go.md b/specification/privatedns/resource-manager/readme.go.md index 5496064f88d3..fda918b8f833 100644 --- a/specification/privatedns/resource-manager/readme.go.md +++ b/specification/privatedns/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/privatedns/armprivatedns +module-name: sdk/resourcemanager/privatedns/armprivatedns module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/privatedns/resource-manager/readme.md b/specification/privatedns/resource-manager/readme.md index 531b5698caca..8f1786774d65 100644 --- a/specification/privatedns/resource-manager/readme.md +++ b/specification/privatedns/resource-manager/readme.md @@ -69,6 +69,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-ruby - repo: azure-resource-manager-schemas diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/CheckinManifest.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/CheckinManifest.json new file mode 100644 index 000000000000..d3f48a1f69de --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/CheckinManifest.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "checkinManifestParams": { + "baselineArmManifestLocation": "EastUS2EUAP", + "environment": "Prod" + } + }, + "responses": { + "200": { + "description": "Checkin the manifest.", + "body": { + "isCheckedIn": false, + "statusMessage": "Manifest is successfully merged. Use the Default/Custom rollout (http://aka.ms/rpaasrollout) to roll out the manifest in ARM." + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/CustomRollouts_CreateOrUpdate.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/CustomRollouts_CreateOrUpdate.json new file mode 100644 index 000000000000..4e84f85d13cd --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/CustomRollouts_CreateOrUpdate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "rolloutName": "brazilUsShoeBoxTesting", + "api-version": "2021-06-01-preview", + "properties": { + "properties": { + "specification": { + "canary": { + "regions": [ + "brazilus" + ] + } + } + } + } + }, + "responses": { + "200": { + "description": "Custom rollout completed successfully.", + "body": { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/customRollouts/brazilUsShoeBoxTesting", + "name": "Microsoft.Contoso/brazilUsShoeBoxTesting", + "type": "Microsoft.ProviderHub/providerRegistrations/customRollouts", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "provisioningState": "Succeeded", + "specification": { + "canary": { + "regions": [ + "brazilus", + "eastus2euap", + "centraluseuap" + ] + } + }, + "status": { + "completedRegions": [ + "brazilus", + "eastus2euap", + "centraluseuap" + ] + } + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/CustomRollouts_Get.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/CustomRollouts_Get.json new file mode 100644 index 000000000000..3fe51c5d4ab8 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/CustomRollouts_Get.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "rolloutName": "canaryTesting99", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "description": "Successfully retrieved the rollout details.", + "body": { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/customRollouts/canaryTesting99", + "name": "Microsoft.Contoso/canaryTesting99", + "type": "Microsoft.ProviderHub/providerRegistrations/customRollouts", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "provisioningState": "Completed", + "specification": { + "canary": { + "regions": [ + "eastus2euap", + "centraluseuap" + ] + }, + "providerRegistration": { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso", + "name": "Microsoft.Contoso", + "type": "Microsoft.ProviderHub/providerRegistrations", + "properties": { + "providerHubMetadata": { + "providerAuthentication": { + "allowedAudiences": [ + "https://management.core.windows.net/" + ] + } + }, + "provisioningState": "Succeeded", + "providerAuthorizations": [ + { + "applicationId": "1a3b5c7d-8e9f-10g1-1h12-i13j14k1", + "roleDefinitionId": "123456bf-gkur-2098-b890-98da392a00b2" + } + ], + "namespace": "microsoft.contoso", + "providerVersion": "2.0", + "providerType": "Internal, Hidden", + "management": { + "manifestOwners": [ + "SPARTA-PlatformServiceAdministrator" + ], + "incidentRoutingService": "", + "incidentRoutingTeam": "", + "incidentContactEmail": "helpme@contoso.com", + "resourceAccessPolicy": "NotSpecified" + }, + "capabilities": [ + { + "quotaId": "CSP_2015-05-01", + "effect": "Allow" + }, + { + "quotaId": "CSP_MG_2017-12-01", + "effect": "Allow" + } + ], + "metadata": null + } + }, + "resourceTypeRegistrations": [ + { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/resourceTypeRegistrations/employees", + "name": "Microsoft.Contoso/employees", + "type": "Microsoft.ProviderHub/providerRegistrations/resourceTypeRegistrations", + "properties": { + "routingType": "Default", + "regionality": "Regional", + "endpoints": [ + { + "apiVersions": [ + "2018-11-01-preview", + "2020-01-01-preview", + "2019-01-01" + ], + "locations": [ + "East Asia", + "East US", + "North Europe", + "Southeast Asia", + "East US 2 EUAP", + "Central US EUAP", + "West Europe", + "West US", + "West Central US", + "West US 2" + ], + "requiredFeatures": [ + "Microsoft.Contoso/RPaaSSampleApp" + ] + } + ], + "swaggerSpecifications": [ + { + "apiVersions": [ + "2018-11-01-preview", + "2020-01-01-preview", + "2019-01-01" + ], + "swaggerSpecFolderUri": "https://github.com/Azure/azure-rest-api-specs/blob/feature/azure/contoso/specification/contoso/resource-manager/Microsoft.SampleRP/" + } + ], + "enableAsyncOperation": false, + "provisioningState": "Succeeded", + "enableThirdPartyS2S": false + } + } + ] + }, + "status": { + "completedRegions": [ + "eastus2euap", + "centraluseuap" + ] + } + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/CustomRollouts_ListByProviderRegistration.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/CustomRollouts_ListByProviderRegistration.json new file mode 100644 index 000000000000..a1ddcbd2f76d --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/CustomRollouts_ListByProviderRegistration.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "description": "List of custom rollouts for given subscription id.", + "body": { + "value": [ + { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/customRollouts/canaryTesting99", + "name": "Microsoft.Contoso/canaryTesting99", + "type": "Microsoft.ProviderHub/providerRegistrations/customRollouts", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "provisioningState": "Succeeded", + "specification": { + "canary": { + "regions": [ + "eastus2euap", + "centraluseuap" + ] + } + }, + "status": { + "completedRegions": [ + "eastus2euap", + "centraluseuap" + ] + } + } + }, + { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/customRollouts/brazilustesting", + "name": "Microsoft.Contoso/brazilustesting", + "type": "Microsoft.ProviderHub/providerRegistrations/customRollouts", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "provisioningState": "Failed", + "specification": { + "canary": { + "regions": [ + "brazilus" + ] + } + }, + "status": { + "failedOrSkippedRegions": { + "brazilus": { + "code": "RolloutTimedout", + "message": "Failed to rollout to specified region." + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/DefaultRollouts_CreateOrUpdate.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/DefaultRollouts_CreateOrUpdate.json new file mode 100644 index 000000000000..52a3ddfb802d --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/DefaultRollouts_CreateOrUpdate.json @@ -0,0 +1,183 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "rolloutName": "2020week10", + "api-version": "2021-06-01-preview", + "properties": { + "properties": { + "specification": { + "expeditedRollout": { + "enabled": true + }, + "canary": { + "skipRegions": [ + "eastus2euap" + ] + }, + "restOfTheWorldGroupTwo": { + "waitDuration": "PT4H" + } + } + } + } + }, + "responses": { + "201": { + "description": "Default rollout started successfully.", + "headers": { + "location": "https://management.azure.com/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/operationStauses/11111111-f7ef-471a-a2f4-d0ebbf494f77", + "retry-after": "5000" + }, + "body": { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/defaultRollouts/2020week10", + "name": "Microsoft.Contoso/2020week10", + "type": "Microsoft.ProviderHub/providerRegistrations/defaultRollouts", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "provisioningState": "RolloutInProgress", + "specification": { + "canary": { + "regions": [ + "brazilus", + "eastus2euap", + "centraluseuap" + ], + "skipRegions": [ + "brazilus" + ] + }, + "lowTraffic": { + "regions": [ + "southeastasia" + ], + "waitDuration": "PT24H" + }, + "mediumTraffic": { + "regions": [ + "uksouth", + "indiawest" + ], + "waitDuration": "PT24H" + }, + "highTraffic": { + "regions": [ + "australiasoutheast", + "otherhightraficregions" + ], + "waitDuration": "PT24H" + }, + "restOfTheWorldGroupOne": { + "regions": [ + "koreacentral", + "francecentral", + "australiacentral", + "westus", + "allotherregions" + ], + "waitDuration": "PT4H" + }, + "restOfTheWorldGroupTwo": { + "regions": [ + "germanynorth", + "norwayeast", + "allotherregions" + ], + "waitDuration": "PT4H" + } + }, + "status": { + "completedRegions": [ + "brazilus", + "eastus2euap", + "centraluseuap" + ], + "nextTrafficRegion": "LowTraffic", + "nextTrafficRegionScheduledTime": "2020-03-03T22:00:00Z" + } + } + } + }, + "200": { + "description": "Default rollout updated successfully.", + "body": { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/defaultRollouts/2020week10", + "name": "Microsoft.Contoso/2020week10", + "type": "Microsoft.ProviderHub/providerRegistrations/defaultRollouts", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "provisioningState": "RolloutInProgress", + "specification": { + "canary": { + "regions": [ + "brazilus", + "eastus2euap", + "centraluseuap" + ] + }, + "lowTraffic": { + "regions": [ + "southeastasia" + ], + "waitDuration": "PT24H" + }, + "mediumTraffic": { + "regions": [ + "uksouth", + "indiawest" + ], + "waitDuration": "PT24H" + }, + "highTraffic": { + "regions": [ + "australiasoutheast", + "otherhightraficregions" + ], + "waitDuration": "PT24H" + }, + "restOfTheWorldGroupOne": { + "regions": [ + "koreacentral", + "francecentral", + "australiacentral", + "westus", + "allotherregions" + ], + "waitDuration": "PT4H" + }, + "restOfTheWorldGroupTwo": { + "regions": [ + "germanynorth", + "norwayeast", + "allotherregions" + ], + "waitDuration": "PT4H" + } + }, + "status": { + "completedRegions": [ + "brazilus", + "eastus2euap", + "centraluseuap", + "allcompletedregions" + ] + } + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/DefaultRollouts_Delete.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/DefaultRollouts_Delete.json new file mode 100644 index 000000000000..65d960936e18 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/DefaultRollouts_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "rolloutName": "2020week10", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "description": "Rollout deleted successfully." + }, + "204": { + "description": "No content." + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/DefaultRollouts_Get.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/DefaultRollouts_Get.json new file mode 100644 index 000000000000..5d8fa9aeb239 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/DefaultRollouts_Get.json @@ -0,0 +1,188 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "rolloutName": "2020week10", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "description": "Default rollout resource.", + "body": { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/defaultRollouts/2020week10", + "name": "Microsoft.Contoso/2020week10", + "type": "Microsoft.ProviderHub/providerRegistrations/defaultRollouts", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "provisioningState": "Cancelled", + "specification": { + "expeditedRollout": { + "enabled": true + }, + "canary": { + "regions": [ + "eastus2euap", + "centraluseuap" + ], + "skipRegions": [ + "brazilus" + ] + }, + "lowTraffic": { + "regions": [ + "southeastasia" + ], + "waitDuration": "PT24H" + }, + "mediumTraffic": { + "regions": [ + "uksouth", + "indiawest" + ], + "waitDuration": "PT24H" + }, + "highTraffic": { + "regions": [ + "australiasoutheast", + "otherhightraficregions" + ], + "waitDuration": "PT24H" + }, + "restOfTheWorldGroupOne": { + "regions": [ + "koreacentral", + "francecentral", + "australiacentral", + "westus", + "allotherregions" + ], + "waitDuration": "PT4H" + }, + "restOfTheWorldGroupTwo": { + "regions": [ + "germanynorth", + "norwayeast", + "allotherregions" + ], + "waitDuration": "PT4H" + }, + "providerRegistration": { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso", + "name": "Microsoft.Contoso", + "type": "Microsoft.ProviderHub/providerRegistrations", + "properties": { + "providerHubMetadata": { + "providerAuthentication": { + "allowedAudiences": [ + "https://management.core.windows.net/" + ] + } + }, + "provisioningState": "Succeeded", + "providerAuthorizations": [ + { + "applicationId": "1a3b5c7d-8e9f-10g1-1h12-i13j14k1", + "roleDefinitionId": "123456bf-gkur-2098-b890-98da392a00b2" + } + ], + "namespace": "microsoft.contoso", + "providerVersion": "2.0", + "providerType": "Internal, Hidden", + "management": { + "manifestOwners": [ + "SPARTA-PlatformServiceAdministrator" + ], + "incidentRoutingService": "", + "incidentRoutingTeam": "", + "incidentContactEmail": "helpme@contoso.com", + "resourceAccessPolicy": "NotSpecified" + }, + "capabilities": [ + { + "quotaId": "CSP_2015-05-01", + "effect": "Allow" + }, + { + "quotaId": "CSP_MG_2017-12-01", + "effect": "Allow" + } + ], + "metadata": null + } + }, + "resourceTypeRegistrations": [ + { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/resourceTypeRegistrations/employees", + "name": "Microsoft.Contoso/employees", + "type": "Microsoft.ProviderHub/providerRegistrations/resourceTypeRegistrations", + "properties": { + "routingType": "Default", + "regionality": "Regional", + "endpoints": [ + { + "apiVersions": [ + "2018-11-01-preview", + "2020-01-01-preview", + "2019-01-01" + ], + "locations": [ + "East Asia", + "East US", + "North Europe", + "Southeast Asia", + "East US 2 EUAP", + "Central US EUAP", + "West Europe", + "West US", + "West Central US", + "West US 2" + ], + "requiredFeatures": [ + "Microsoft.Contoso/RPaaSSampleApp" + ] + } + ], + "swaggerSpecifications": [ + { + "apiVersions": [ + "2018-11-01-preview", + "2020-01-01-preview", + "2019-01-01" + ], + "swaggerSpecFolderUri": "https://github.com/Azure/azure-rest-api-specs/blob/feature/azure/contoso/specification/contoso/resource-manager/Microsoft.SampleRP/" + } + ], + "enableAsyncOperation": false, + "provisioningState": "Succeeded", + "enableThirdPartyS2S": false + } + } + ] + }, + "status": { + "completedRegions": [ + "brazilus", + "eastus2euap", + "centraluseuap", + "allcompletedregions" + ], + "failedOrSkippedRegions": { + "westus2": { + "code": "RolloutStoppedByUser", + "message": "Rollout was explicitly stopped by the user." + } + }, + "subscriptionReregistrationResult": "ConditionalUpdate" + } + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/DefaultRollouts_ListByProviderRegistration.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/DefaultRollouts_ListByProviderRegistration.json new file mode 100644 index 000000000000..7ab210079c9a --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/DefaultRollouts_ListByProviderRegistration.json @@ -0,0 +1,167 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "description": "List of default rollouts for given subscription id.", + "body": { + "value": [ + { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/defaultRollouts/2020week01", + "name": "Microsoft.Contoso/2020week01", + "type": "Microsoft.ProviderHub/providerRegistrations/defaultRollouts", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "provisioningState": "Succeeded", + "specification": { + "expeditedRollout": { + "enabled": true + }, + "canary": { + "regions": [ + "brazilus", + "eastus2euap", + "centraluseuap" + ] + }, + "lowTraffic": { + "regions": [ + "southeastasia" + ], + "waitDuration": "PT24H" + }, + "mediumTraffic": { + "regions": [ + "uksouth", + "indiawest" + ], + "waitDuration": "PT24H" + }, + "highTraffic": { + "regions": [ + "australiasoutheast", + "otherhightraficregions" + ], + "waitDuration": "PT24H" + }, + "restOfTheWorldGroupOne": { + "regions": [ + "koreacentral", + "francecentral", + "australiacentral", + "westus", + "allotherregions" + ], + "waitDuration": "PT4H" + }, + "restOfTheWorldGroupTwo": { + "regions": [ + "germanynorth", + "norwayeast", + "allotherregions" + ], + "waitDuration": "PT4H" + } + }, + "status": { + "completedRegions": [ + "brazilus", + "eastus2euap", + "centraluseuap", + "allcompletedregions" + ] + } + } + }, + { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/defaultRollouts/2020week10", + "name": "Microsoft.Contoso/2020week10", + "type": "Microsoft.ProviderHub/providerRegistrations/defaultRollouts", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "provisioningState": "Cancelled", + "specification": { + "canary": { + "regions": [ + "brazilus", + "eastus2euap", + "centraluseuap" + ] + }, + "lowTraffic": { + "regions": [ + "southeastasia" + ], + "waitDuration": "PT24H" + }, + "mediumTraffic": { + "regions": [ + "uksouth", + "indiawest" + ], + "waitDuration": "PT24H" + }, + "highTraffic": { + "regions": [ + "australiasoutheast", + "otherhightraficregions" + ], + "waitDuration": "PT24H" + }, + "restOfTheWorldGroupOne": { + "regions": [ + "koreacentral", + "francecentral", + "australiacentral", + "westus", + "allotherregions" + ], + "waitDuration": "PT4H" + }, + "restOfTheWorldGroupTwo": { + "regions": [ + "germanynorth", + "norwayeast", + "allotherregions" + ], + "waitDuration": "PT4H" + } + }, + "status": { + "completedRegions": [ + "brazilus", + "eastus2euap", + "centraluseuap", + "allcompletedregions" + ], + "failedOrSkippedRegions": { + "westus2": { + "code": "RolloutStoppedByUser", + "message": "Rollout was explicitly stopped by the user." + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/DefaultRollouts_Stop.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/DefaultRollouts_Stop.json new file mode 100644 index 000000000000..d32529688fa7 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/DefaultRollouts_Stop.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "rolloutName": "2020week10", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "description": "The rollout is stopped successfully." + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/GenerateManifest.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/GenerateManifest.json new file mode 100644 index 000000000000..3144d33f427b --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/GenerateManifest.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "description": "Generates the manifest for the given provider.", + "body": { + "providerAuthorizations": [ + { + "applicationId": "1a3b5c7d-8e9f-10g1-1h12-i13j14k1", + "roleDefinitionId": "123456bf-gkur-2098-b890-98da392a00b2" + } + ], + "namespace": "microsoft.contoso", + "providerVersion": "2.0", + "providerType": "Internal, Hidden", + "resourceTypes": [ + { + "name": "Operations", + "routingType": "ProxyOnly, Tenant", + "resourceValidation": "ReservedWords, ProfaneWords", + "allowedUnauthorizedActions": [ + "microsoft.contoso/operations/read" + ], + "endpoints": [ + { + "apiVersions": [ + "2020-01-01-preview" + ], + "endpointUri": "https://resource-endpoint.com/", + "locations": [ + "" + ], + "timeout": "PT20S" + } + ], + "linkedOperationRules": [] + }, + { + "name": "Locations", + "routingType": "ProxyOnly", + "resourceValidation": "ReservedWords, ProfaneWords", + "endpoints": [ + { + "apiVersions": [ + "2020-01-01-preview" + ], + "endpointUri": "https://resource-endpoint.com/", + "locations": [ + "" + ], + "timeout": "PT20S" + } + ], + "linkedOperationRules": [] + } + ], + "management": { + "manifestOwners": [ + "manifestOwners-group" + ], + "incidentRoutingService": "", + "incidentRoutingTeam": "", + "incidentContactEmail": "helpme@contoso.com", + "resourceAccessPolicy": "NotSpecified" + }, + "capabilities": [ + { + "quotaId": "CSP_2015-05-01", + "effect": "Allow" + }, + { + "quotaId": "CSP_MG_2017-12-01", + "effect": "Allow" + } + ], + "metadata": { + "onboardedVia": "ProviderHub" + }, + "globalNotificationEndpoints": [ + { + "enabled": true, + "endpointUri": "https://notificationendpoint.com" + } + ], + "reRegisterSubscriptionMetadata": { + "enabled": true, + "concurrencyLimit": 100 + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/NotificationRegistrations_CreateOrUpdate.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/NotificationRegistrations_CreateOrUpdate.json new file mode 100644 index 000000000000..62897789a7c9 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/NotificationRegistrations_CreateOrUpdate.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "notificationRegistrationName": "fooNotificationRegistration", + "properties": { + "properties": { + "notificationMode": "EventHub", + "messageScope": "RegisteredSubscriptions", + "includedEvents": [ + "*/write", + "Microsoft.Contoso/employees/delete" + ], + "notificationEndpoints": [ + { + "locations": [ + "", + "East US" + ], + "notificationDestination": "/subscriptions/ac6bcfb5-3dc1-491f-95a6-646b89bf3e88/resourceGroups/mgmtexp-eastus/providers/Microsoft.EventHub/namespaces/unitedstates-mgmtexpint/eventhubs/armlinkednotifications" + }, + { + "locations": [ + "North Europe" + ], + "notificationDestination": "/subscriptions/ac6bcfb5-3dc1-491f-95a6-646b89bf3e88/resourceGroups/mgmtexp-northeurope/providers/Microsoft.EventHub/namespaces/europe-mgmtexpint/eventhubs/armlinkednotifications" + } + ] + } + } + }, + "responses": { + "200": { + "description": "Gets the notification registration details.", + "body": { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/notificationregistrations/fooNotificationRegistration", + "type": "Microsoft.ProviderHub/providerRegistrations/notificationregistrations", + "name": "fooNotificationRegistration", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "notificationMode": "EventHub", + "messageScope": "RegisteredSubscriptions", + "includedEvents": [ + "*/write", + "Microsoft.Contoso/employees/delete" + ], + "notificationEndpoints": [ + { + "locations": [ + "", + "East US" + ], + "notificationDestination": "/subscriptions/ac6bcfb5-3dc1-491f-95a6-646b89bf3e88/resourceGroups/mgmtexp-eastus/providers/Microsoft.EventHub/namespaces/unitedstates-mgmtexpint/eventhubs/armlinkednotifications" + }, + { + "locations": [ + "North Europe" + ], + "notificationDestination": "/subscriptions/ac6bcfb5-3dc1-491f-95a6-646b89bf3e88/resourceGroups/mgmtexp-northeurope/providers/Microsoft.EventHub/namespaces/europe-mgmtexpint/eventhubs/armlinkednotifications" + } + ] + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/NotificationRegistrations_Delete.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/NotificationRegistrations_Delete.json new file mode 100644 index 000000000000..0f709cfb9e31 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/NotificationRegistrations_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "notificationRegistrationName": "fooNotificationRegistration" + }, + "responses": { + "200": { + "description": "Successfully deleted the notification registration." + }, + "204": { + "description": "Resource does not exist." + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/NotificationRegistrations_Get.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/NotificationRegistrations_Get.json new file mode 100644 index 000000000000..7cba399a6ebd --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/NotificationRegistrations_Get.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "notificationRegistrationName": "fooNotificationRegistration" + }, + "responses": { + "200": { + "description": "Gets the notification registration details.", + "body": { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/notificationregistrations/fooNotificationRegistration", + "type": "Microsoft.ProviderHub/providerRegistrations/notificationregistrations", + "name": "fooNotificationRegistration", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "notificationMode": "EventHub", + "messageScope": "RegisteredSubscriptions", + "includedEvents": [ + "*/write", + "Microsoft.Contoso/employees/delete" + ], + "notificationEndpoints": [ + { + "notificationDestination": "/subscriptions/ac6bcfb5-3dc1-491f-95a6-646b89bf3e88/resourceGroups/mgmtexp-eastus/providers/Microsoft.EventHub/namespaces/unitedstates-mgmtexpint/eventhubs/armlinkednotifications", + "locations": [ + "", + "East US" + ] + }, + { + "notificationDestination": "/subscriptions/ac6bcfb5-3dc1-491f-95a6-646b89bf3e88/resourceGroups/mgmtexp-northeurope/providers/Microsoft.EventHub/namespaces/europe-mgmtexpint/eventhubs/armlinkednotifications", + "locations": [ + "North Europe" + ] + } + ] + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/NotificationRegistrations_ListByProviderRegistration.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/NotificationRegistrations_ListByProviderRegistration.json new file mode 100644 index 000000000000..88cb9dcde8a7 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/NotificationRegistrations_ListByProviderRegistration.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "description": "Gets the list of the notification registrations for the given provider.", + "body": { + "value": [ + { + "name": "fooNotificationRegistration", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "notificationMode": "EventHub", + "messageScope": "RegisteredSubscriptions", + "includedEvents": [ + "*/write", + "Microsoft.Contoso/employees/delete" + ], + "notificationEndpoints": [ + { + "notificationDestination": "/subscriptions/ac6bcfb5-3dc1-491f-95a6-646b89bf3e88/resourceGroups/mgmtexp-eastus/providers/Microsoft.EventHub/namespaces/unitedstates-mgmtexpint/eventhubs/armlinkednotifications", + "locations": [ + "", + "East US" + ] + }, + { + "notificationDestination": "/subscriptions/ac6bcfb5-3dc1-491f-95a6-646b89bf3e88/resourceGroups/mgmtexp-northeurope/providers/Microsoft.EventHub/namespaces/europe-mgmtexpint/eventhubs/armlinkednotifications", + "locations": [ + "North Europe" + ] + } + ] + } + }, + { + "name": "barNotificationRegistration", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "notificationMode": "EventHub", + "messageScope": "RegisteredSubscriptions", + "includedEvents": [ + "*/delete" + ], + "notificationEndpoints": [ + { + "notificationDestination": "/subscriptions/ac6bcfb5-3dc1-491f-95a6-646b89bf3e88/resourceGroups/mgmtexp-eastus/providers/Microsoft.EventHub/namespaces/unitedstates-mgmtexpint/eventhubs/armlinkednotifications", + "locations": [ + "" + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Operations_CreateOrUpdate.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Operations_CreateOrUpdate.json new file mode 100644 index 000000000000..19cdee166a39 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Operations_CreateOrUpdate.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "OperationsPutContent": { + "properties": { + "contents": [ + { + "name": "RP.69C09791/register/action", + "isDataAction": true, + "display": { + "default": { + "provider": "RP.69C09791", + "resource": "Register", + "operation": "Registers the RP.69C09791 Resource Provider", + "description": "Registers the subscription for the RP.69C09791 resource provider and enables the creation of RP.69C09791." + } + }, + "actionType": "Internal" + }, + { + "name": "RP.69C09791/unregister/action", + "isDataAction": false, + "origin": "System", + "display": { + "default": { + "provider": "RP.69C09791", + "resource": "Unregister", + "operation": "Unregisters the RP.69C09791 Resource Provider", + "description": "Unregisters the subscription for the RP.69C09791 resource provider and enables the creation of RP.69C09791." + }, + "en": { + "provider": "RP.69C09791", + "resource": "2e1803d4-417f-492c-b305-148da38b211e", + "operation": "d31623d6-8765-42fb-aca2-5a58303e52dd", + "description": "ece249f5-b5b9-492d-ac68-b4e1be1677bc" + } + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "contents": [ + { + "name": "RP.69C09791/register/action", + "isDataAction": true, + "display": { + "default": { + "provider": "RP.69C09791", + "resource": "Register", + "operation": "Registers the RP.69C09791 Resource Provider", + "description": "Registers the subscription for the RP.69C09791 resource provider and enables the creation of RP.69C09791." + } + }, + "actionType": "Internal" + }, + { + "name": "RP.69C09791/unregister/action", + "isDataAction": false, + "origin": "System", + "display": { + "default": { + "provider": "RP.69C09791", + "resource": "Unregister", + "operation": "Unregisters the RP.69C09791 Resource Provider", + "description": "Unregisters the subscription for the RP.69C09791 resource provider and enables the creation of RP.69C09791." + }, + "en": { + "provider": "RP.69C09791", + "resource": "2e1803d4-417f-492c-b305-148da38b211e", + "operation": "d31623d6-8765-42fb-aca2-5a58303e52dd", + "description": "ece249f5-b5b9-492d-ac68-b4e1be1677bc" + } + } + } + ] + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Operations_Delete.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Operations_Delete.json new file mode 100644 index 000000000000..f29c7a0a298c --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Operations_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "description": "Successfully deleted the operation." + }, + "204": { + "description": "Resource does not exist." + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Operations_List.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..ab89293be3fb --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Operations_List.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "description": "The list of supported operations has been fetched successfully.", + "body": { + "value": [ + { + "name": "Microsoft.ProviderHub/register/action", + "isDataAction": false, + "display": { + "provider": "Microsoft ProviderHub", + "resource": "register", + "operation": "Register for Microsoft.ProviderHub", + "description": "Registers the specified subscription with Microsoft.ProviderHub resource provider" + } + }, + { + "name": "Microsoft.ProviderHub/defaultRollouts/write", + "isDataAction": false, + "display": { + "provider": "Microsoft ProviderHub", + "resource": "defaultRollouts", + "operation": "Create or Update rollout", + "description": "Creates or Updates any rollout" + } + }, + { + "name": "Microsoft.ProviderHub/defaultRollouts/read", + "isDataAction": false, + "display": { + "provider": "Microsoft ProviderHub", + "resource": "defaultRollouts", + "operation": "Read rollout", + "description": "Reads any rollout" + } + }, + { + "name": "Microsoft.ProviderHub/defaultRollouts/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft ProviderHub", + "resource": "defaultRollouts", + "operation": "Delete rollout", + "description": "Deletes any rollout" + } + }, + { + "name": "Microsoft.ProviderHub/defaultRollouts/stop/action", + "isDataAction": false, + "display": { + "provider": "Microsoft ProviderHub", + "resource": "defaultRollouts", + "operation": "Delete rollout", + "description": "Deletes any rollout" + } + }, + { + "name": "Microsoft.ProviderHub/customRollouts/write", + "isDataAction": false, + "display": { + "provider": "Microsoft ProviderHub", + "resource": "customRollouts", + "operation": "Create or Update rollout", + "description": "Creates or Updates any rollout" + } + }, + { + "name": "Microsoft.ProviderHub/customRollouts/read", + "isDataAction": false, + "display": { + "provider": "Microsoft ProviderHub", + "resource": "customRollouts", + "operation": "Read rollout", + "description": "Reads any rollout" + } + } + ] + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Operations_ListByProviderRegistration.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Operations_ListByProviderRegistration.json new file mode 100644 index 000000000000..605829629c80 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Operations_ListByProviderRegistration.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "description": "Gets the operations supported by the given provider.", + "body": [ + { + "name": "Microsoft.Contoso/Employees/Read", + "isDataAction": false, + "display": { + "provider": "Microsoft.Contoso", + "resource": "Employees", + "operation": "Gets/List employee resources", + "description": "Read employees" + }, + "properties": null + }, + { + "name": "Microsoft.Contoso/Employees/Write", + "isDataAction": false, + "display": { + "provider": "Microsoft.Contoso", + "resource": "Employees", + "operation": "Create/update employee resources", + "description": "Writes employees" + }, + "properties": null + }, + { + "name": "Microsoft.Contoso/Employees/Delete", + "isDataAction": false, + "origin": "User", + "display": { + "provider": "Microsoft.Contoso", + "resource": "Employees", + "operation": "Deletes employee resource", + "description": "Deletes employees" + }, + "properties": null + }, + { + "name": "Microsoft.Contoso/Employees/Action", + "isDataAction": true, + "origin": "System", + "display": { + "provider": "Microsoft.Contoso", + "resource": "Employees", + "operation": "Create/update employee resources", + "description": "Writes employees" + }, + "properties": null + } + ] + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ProviderRegistrations_CreateOrUpdate.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ProviderRegistrations_CreateOrUpdate.json new file mode 100644 index 000000000000..f292b1786b2b --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ProviderRegistrations_CreateOrUpdate.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "properties": { + "properties": { + "providerType": "Internal", + "providerVersion": "2.0", + "management": { + "incidentRoutingService": "Contoso Resource Provider", + "incidentRoutingTeam": "Contoso Triage", + "incidentContactEmail": "helpme@contoso.com", + "serviceTreeInfos": [ + { + "serviceId": "d1b7d8ba-05e2-48e6-90d6-d781b99c6e69", + "componentId": "d1b7d8ba-05e2-48e6-90d6-d781b99c6e69", + "readiness": "InDevelopment" + } + ] + }, + "capabilities": [ + { + "quotaId": "CSP_2015-05-01", + "effect": "Allow" + }, + { + "quotaId": "CSP_MG_2017-12-01", + "effect": "Allow" + } + ] + } + } + }, + "responses": { + "200": { + "description": "", + "body": { + "properties": { + "namespace": "Microsoft.Contoso", + "providerAuthorizations": [ + { + "applicationId": "1a3b5c7d-8e9f-10g1-1h12-i13j14k1", + "roleDefinitionId": "123456bf-gkur-2098-b890-98da392a00b2" + } + ], + "management": { + "manifestOwners": [ + "manifestOwners-group" + ], + "incidentRoutingService": "", + "incidentRoutingTeam": "", + "incidentContactEmail": "helpme@contoso.com", + "serviceTreeInfos": [ + { + "serviceId": "d1b7d8ba-05e2-48e6-90d6-d781b99c6e69", + "componentId": "d1b7d8ba-05e2-48e6-90d6-d781b99c6e69", + "readiness": "InDevelopment" + } + ], + "resourceAccessPolicy": "NotSpecified" + }, + "capabilities": [ + { + "quotaId": "CSP_2015-05-01", + "effect": "Allow" + }, + { + "quotaId": "CSP_MG_2017-12-01", + "effect": "Allow" + } + ], + "metadata": { + "onboardedVia": "ProviderHub" + }, + "providerVersion": "2.0", + "providerType": "Internal, Hidden", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + }, + "201": { + "description": "Successfully created the provider registration." + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ProviderRegistrations_Delete.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ProviderRegistrations_Delete.json new file mode 100644 index 000000000000..2faa9060be75 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ProviderRegistrations_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "description": "Successfully deleted the provider registration." + }, + "204": { + "description": "Resource does not exist." + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ProviderRegistrations_GenerateOperations.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ProviderRegistrations_GenerateOperations.json new file mode 100644 index 000000000000..276c32d73a49 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ProviderRegistrations_GenerateOperations.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "description": "", + "body": [ + { + "name": "Microsoft.Contoso/Employees/Read", + "isDataAction": false, + "display": { + "provider": "Microsoft.Contoso", + "resource": "Employees", + "operation": "Gets/List employee resources", + "description": "Read employees" + }, + "properties": null + }, + { + "name": "Microsoft.Contoso/Employees/Write", + "isDataAction": false, + "display": { + "provider": "Microsoft.Contoso", + "resource": "Employees", + "operation": "Create/update employee resources", + "description": "Writes employees" + }, + "properties": null + }, + { + "name": "Microsoft.Contoso/Employees/Delete", + "isDataAction": false, + "origin": "User", + "display": { + "provider": "Microsoft.Contoso", + "resource": "Employees", + "operation": "Deletes employee resource", + "description": "Deletes employees" + }, + "properties": null + }, + { + "name": "Microsoft.Contoso/Employees/Action", + "isDataAction": true, + "origin": "System", + "display": { + "provider": "Microsoft.Contoso", + "resource": "Employees", + "operation": "Create/update employee resources", + "description": "Writes employees" + }, + "properties": null + } + ] + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ProviderRegistrations_Get.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ProviderRegistrations_Get.json new file mode 100644 index 000000000000..113636277c19 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ProviderRegistrations_Get.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "description": "", + "body": { + "properties": { + "providerHubMetadata": { + "providerAuthentication": { + "allowedAudiences": [ + "https://management.core.windows.net/" + ] + } + }, + "provisioningState": "Succeeded", + "providerAuthorizations": [ + { + "applicationId": "1a3b5c7d-8e9f-10g1-1h12-i13j14k1", + "roleDefinitionId": "123456bf-gkur-2098-b890-98da392a00b2" + } + ], + "namespace": "microsoft.contoso", + "providerVersion": "2.0", + "providerType": "Internal, Hidden", + "management": { + "manifestOwners": [ + "SPARTA-PlatformServiceAdministrator" + ], + "incidentRoutingService": "", + "incidentRoutingTeam": "", + "incidentContactEmail": "helpme@contoso.com", + "serviceTreeInfos": [ + { + "serviceId": "d1b7d8ba-05e2-48e6-90d6-d781b99c6e69", + "componentId": "d1b7d8ba-05e2-48e6-90d6-d781b99c6e69", + "readiness": "InDevelopment" + } + ], + "resourceAccessPolicy": "NotSpecified" + }, + "capabilities": [ + { + "quotaId": "CSP_2015-05-01", + "effect": "Allow" + }, + { + "quotaId": "CSP_MG_2017-12-01", + "effect": "Allow" + } + ], + "metadata": null + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ProviderRegistrations_List.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ProviderRegistrations_List.json new file mode 100644 index 000000000000..087ca93f0ff4 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ProviderRegistrations_List.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "namespace": "microsoft.contoso", + "providerAuthorizations": [ + { + "applicationId": "1a3b5c7d-8e9f-10g1-1h12-i13j14k1", + "roleDefinitionId": "123456bf-gkur-2098-b890-98da392a00b2" + } + ], + "providerHubMetadata": { + "providerAuthentication": { + "allowedAudiences": [ + "https://management.core.windows.net/" + ] + } + }, + "management": { + "manifestOwners": [ + "manifestOwners-group" + ], + "incidentRoutingService": "", + "incidentRoutingTeam": "", + "incidentContactEmail": "helpme@contoso.com", + "serviceTreeInfos": [ + { + "serviceId": "d1b7d8ba-05e2-48e6-90d6-d781b99c6e69", + "componentId": "d1b7d8ba-05e2-48e6-90d6-d781b99c6e69", + "readiness": "InDevelopment" + } + ], + "resourceAccessPolicy": "NotSpecified" + }, + "providerType": "Internal, Hidden", + "providerVersion": "2.0", + "capabilities": [ + { + "quotaId": "CSP_2015-05-01", + "effect": "Allow" + }, + { + "quotaId": "CSP_MG_2017-12-01", + "effect": "Allow" + } + ], + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + ] + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ResourceActions_DeleteResources.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ResourceActions_DeleteResources.json new file mode 100644 index 000000000000..9a4fd7e71a7f --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ResourceActions_DeleteResources.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "resourceActionName": "default", + "api-version": "2021-06-01-preview", + "properties": { + "resources": [ + { + "resourceId": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.Contoso/employee/test", + "location": "southeastasia", + "homeTenantId": "11111111-f7ef-471a-a2f4-d0ebbf494f77" + } + ] + } + }, + "responses": { + "202": { + "description": "Resource management action started.", + "headers": { + "location": "https://management.azure.com/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/operationStauses/11111111-f7ef-471a-a2f4-d0ebbf494f77", + "retry-after": "5000" + }, + "body": { + "resources": [ + { + "resourceId": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.Contoso/employee/test", + "location": "southeastasia", + "homeTenantId": "11111111-f7ef-471a-a2f4-d0ebbf494f77" + } + ] + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ResourceTypeRegistrations_CreateOrUpdate.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ResourceTypeRegistrations_CreateOrUpdate.json new file mode 100644 index 000000000000..57a0790403bd --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ResourceTypeRegistrations_CreateOrUpdate.json @@ -0,0 +1,258 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "resourceType": "employees", + "api-version": "2021-06-01-preview", + "properties": { + "properties": { + "routingType": "Default", + "regionality": "Regional", + "endpoints": [ + { + "apiVersions": [ + "2020-06-01-preview" + ], + "locations": [ + "West US", + "East US", + "North Europe" + ], + "requiredFeatures": [ + "" + ] + } + ], + "resourceConcurrencyControlOptions": { + "put": { + "policy": "SynchronizeBeginExtension" + }, + "patch": { + "policy": "SynchronizeBeginExtension" + }, + "post": { + "policy": "SynchronizeBeginExtension" + } + }, + "swaggerSpecifications": [ + { + "apiVersions": [ + "2020-06-01-preview" + ], + "swaggerSpecFolderUri": "https://github.com/Azure/azure-rest-api-specs/blob/feature/azure/contoso/specification/contoso/resource-manager/Microsoft.SampleRP/" + } + ], + "resourceGraphConfiguration": { + "enabled": true, + "apiVersion": "2019-01-01" + }, + "management": { + "manifestOwners": [ + "SPARTA-PlatformServiceAdministrator" + ], + "incidentRoutingService": "", + "incidentRoutingTeam": "", + "incidentContactEmail": "helpme@contoso.com", + "serviceTreeInfos": [ + { + "serviceId": "d1b7d8ba-05e2-48e6-90d6-d781b99c6e69", + "componentId": "d1b7d8ba-05e2-48e6-90d6-d781b99c6e69", + "readiness": "InDevelopment" + } + ], + "resourceAccessPolicy": "NotSpecified" + }, + "openApiConfiguration": { + "validation": { + "allowNoncompliantCollectionResponse": true + } + } + } + } + }, + "responses": { + "200": { + "description": "Successfully updated the resource type.", + "body": { + "properties": { + "routingType": "Default", + "regionality": "Regional", + "endpoints": [ + { + "apiVersions": [ + "2018-11-01-preview", + "2020-01-01-preview", + "2019-01-01" + ], + "locations": [ + "East Asia", + "East US", + "North Europe", + "Southeast Asia", + "East US 2 EUAP", + "Central US EUAP", + "West Europe", + "West US", + "West Central US", + "West US 2" + ], + "requiredFeatures": [ + "Microsoft.Contoso/RPaaSSampleApp" + ] + } + ], + "swaggerSpecifications": [ + { + "apiVersions": [ + "2018-11-01-preview", + "2020-01-01-preview", + "2019-01-01" + ], + "swaggerSpecFolderUri": "https://github.com/Azure/azure-rest-api-specs/blob/feature/azure/contoso/specification/contoso/resource-manager/Microsoft.SampleRP/" + } + ], + "enableAsyncOperation": false, + "provisioningState": "Succeeded", + "enableThirdPartyS2S": false, + "resourceDeletionPolicy": "CascadeDeleteProxyOnlyChildren", + "resourceConcurrencyControlOptions": { + "put": { + "policy": "SynchronizeBeginExtension" + }, + "patch": { + "policy": "SynchronizeBeginExtension" + }, + "post": { + "policy": "SynchronizeBeginExtension" + } + }, + "resourceGraphConfiguration": { + "enabled": true, + "apiVersion": "2019-01-01" + }, + "management": { + "manifestOwners": [ + "SPARTA-PlatformServiceAdministrator" + ], + "incidentRoutingService": "", + "incidentRoutingTeam": "", + "incidentContactEmail": "helpme@contoso.com", + "serviceTreeInfos": [ + { + "serviceId": "d1b7d8ba-05e2-48e6-90d6-d781b99c6e69", + "componentId": "d1b7d8ba-05e2-48e6-90d6-d781b99c6e69", + "readiness": "InDevelopment" + } + ], + "resourceAccessPolicy": "NotSpecified" + }, + "openApiConfiguration": { + "validation": { + "allowNoncompliantCollectionResponse": true + } + } + }, + "name": "employees", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + }, + "201": { + "description": "Successfully created the resource type.", + "body": { + "properties": { + "routingType": "Default", + "regionality": "Regional", + "endpoints": [ + { + "apiVersions": [ + "2018-11-01-preview", + "2020-01-01-preview", + "2019-01-01" + ], + "locations": [ + "East Asia", + "East US", + "North Europe", + "Southeast Asia", + "East US 2 EUAP", + "Central US EUAP", + "West Europe", + "West US", + "West Central US", + "West US 2" + ], + "requiredFeatures": [ + "Microsoft.Contoso/RPaaSSampleApp" + ] + } + ], + "swaggerSpecifications": [ + { + "apiVersions": [ + "2018-11-01-preview", + "2020-01-01-preview", + "2019-01-01" + ], + "swaggerSpecFolderUri": "https://github.com/Azure/azure-rest-api-specs/blob/feature/azure/contoso/specification/contoso/resource-manager/Microsoft.SampleRP/" + } + ], + "enableAsyncOperation": false, + "provisioningState": "Succeeded", + "enableThirdPartyS2S": false, + "resourceConcurrencyControlOptions": { + "put": { + "policy": "SynchronizeBeginExtension" + }, + "patch": { + "policy": "SynchronizeBeginExtension" + }, + "post": { + "policy": "SynchronizeBeginExtension" + } + }, + "resourceGraphConfiguration": { + "enabled": true, + "apiVersion": "2019-01-01" + }, + "management": { + "manifestOwners": [ + "SPARTA-PlatformServiceAdministrator" + ], + "incidentRoutingService": "", + "incidentRoutingTeam": "", + "incidentContactEmail": "helpme@contoso.com", + "serviceTreeInfos": [ + { + "serviceId": "d1b7d8ba-05e2-48e6-90d6-d781b99c6e69", + "componentId": "d1b7d8ba-05e2-48e6-90d6-d781b99c6e69", + "readiness": "InDevelopment" + } + ], + "resourceAccessPolicy": "NotSpecified" + }, + "openApiConfiguration": { + "validation": { + "allowNoncompliantCollectionResponse": true + } + } + }, + "name": "employees", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ResourceTypeRegistrations_Delete.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ResourceTypeRegistrations_Delete.json new file mode 100644 index 000000000000..c159cd6880c3 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ResourceTypeRegistrations_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "resourceType": "testResourceType" + }, + "responses": { + "200": { + "description": "Successfully deleted the resource type." + }, + "204": { + "description": "Resource does not exist." + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ResourceTypeRegistrations_Get.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ResourceTypeRegistrations_Get.json new file mode 100644 index 000000000000..78b0a05d5888 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ResourceTypeRegistrations_Get.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "resourceType": "employees", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "description": "", + "body": { + "properties": { + "routingType": "Default", + "regionality": "Regional", + "endpoints": [ + { + "apiVersions": [ + "2018-11-01-preview", + "2020-01-01-preview", + "2019-01-01" + ], + "locations": [ + "East Asia", + "East US", + "North Europe", + "Southeast Asia", + "East US 2 EUAP", + "Central US EUAP", + "West Europe", + "West US", + "West Central US", + "West US 2" + ], + "requiredFeatures": [ + "Microsoft.Contoso/RPaaSSampleApp" + ] + } + ], + "swaggerSpecifications": [ + { + "apiVersions": [ + "2018-11-01-preview", + "2020-01-01-preview", + "2019-01-01" + ], + "swaggerSpecFolderUri": "https://github.com/Azure/azure-rest-api-specs/blob/feature/azure/contoso/specification/contoso/resource-manager/Microsoft.SampleRP/" + } + ], + "enableAsyncOperation": false, + "provisioningState": "Succeeded", + "enableThirdPartyS2S": false, + "resourceConcurrencyControlOptions": { + "put": { + "policy": "SynchronizeBeginExtension" + }, + "patch": { + "policy": "SynchronizeBeginExtension" + }, + "post": { + "policy": "SynchronizeBeginExtension" + } + }, + "resourceGraphConfiguration": { + "enabled": true, + "apiVersion": "2019-01-01" + }, + "management": { + "manifestOwners": [ + "SPARTA-PlatformServiceAdministrator" + ], + "incidentRoutingService": "", + "incidentRoutingTeam": "", + "incidentContactEmail": "helpme@contoso.com", + "serviceTreeInfos": [ + { + "serviceId": "d1b7d8ba-05e2-48e6-90d6-d781b99c6e69", + "componentId": "d1b7d8ba-05e2-48e6-90d6-d781b99c6e69", + "readiness": "InDevelopment" + } + ], + "resourceAccessPolicy": "NotSpecified" + }, + "openApiConfiguration": { + "validation": { + "allowNoncompliantCollectionResponse": false + } + } + }, + "name": "employees", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ResourceTypeRegistrations_ListByProviderRegistration.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ResourceTypeRegistrations_ListByProviderRegistration.json new file mode 100644 index 000000000000..f2f5198cd05a --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/ResourceTypeRegistrations_ListByProviderRegistration.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "description": "", + "body": { + "value": [ + { + "properties": { + "routingType": "Default", + "regionality": "Regional", + "endpoints": [ + { + "apiVersions": [ + "2018-11-01-preview", + "2020-01-01-preview", + "2019-01-01" + ], + "locations": [ + "East Asia", + "East US", + "North Europe", + "Southeast Asia", + "East US 2 EUAP", + "Central US EUAP", + "West Europe", + "West US", + "West Central US", + "West US 2" + ], + "requiredFeatures": [ + "Microsoft.Contoso/RPaaSSampleApp" + ] + } + ], + "swaggerSpecifications": [ + { + "apiVersions": [ + "2018-11-01-preview", + "2020-01-01-preview", + "2019-01-01" + ], + "swaggerSpecFolderUri": "https://github.com/Azure/azure-rest-api-specs/blob/feature/azure/contoso/specification/contoso/resource-manager/Microsoft.SampleRP/" + } + ], + "enableAsyncOperation": false, + "provisioningState": "Succeeded", + "enableThirdPartyS2S": false, + "resourceConcurrencyControlOptions": { + "put": { + "policy": "SynchronizeBeginExtension" + }, + "patch": { + "policy": "SynchronizeBeginExtension" + }, + "post": { + "policy": "SynchronizeBeginExtension" + } + }, + "resourceGraphConfiguration": { + "enabled": true, + "apiVersion": "2019-01-01" + }, + "management": { + "manifestOwners": [ + "SPARTA-PlatformServiceAdministrator" + ], + "incidentRoutingService": "", + "incidentRoutingTeam": "", + "incidentContactEmail": "helpme@contoso.com", + "serviceTreeInfos": [ + { + "serviceId": "d1b7d8ba-05e2-48e6-90d6-d781b99c6e69", + "componentId": "d1b7d8ba-05e2-48e6-90d6-d781b99c6e69", + "readiness": "InDevelopment" + } + ], + "resourceAccessPolicy": "NotSpecified" + }, + "openApiConfiguration": { + "validation": { + "allowNoncompliantCollectionResponse": false + } + } + }, + "name": "employees", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + ] + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_CreateOrUpdate.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_CreateOrUpdate.json new file mode 100644 index 000000000000..61c4554085d7 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_CreateOrUpdate.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "resourceType": "testResourceType", + "sku": "testSku", + "properties": { + "properties": { + "skuSettings": [ + { + "name": "freeSku", + "tier": "Tier1", + "kind": "Standard" + }, + { + "name": "premiumSku", + "tier": "Tier2", + "kind": "Premium", + "costs": [ + { + "meterId": "xxx" + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "description": "", + "body": { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/", + "name": "Microsoft.Contoso/", + "type": "Microsoft.ProviderHub/providerRegistrations/", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_CreateOrUpdateNestedResourceTypeFirst.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_CreateOrUpdateNestedResourceTypeFirst.json new file mode 100644 index 000000000000..db56a55bd1cc --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_CreateOrUpdateNestedResourceTypeFirst.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "resourceType": "testResourceType", + "sku": "testSku", + "nestedResourceTypeFirst": "nestedResourceTypeFirst", + "properties": { + "properties": { + "skuSettings": [ + { + "name": "freeSku", + "tier": "Tier1", + "kind": "Standard" + }, + { + "name": "premiumSku", + "tier": "Tier2", + "kind": "Premium", + "costs": [ + { + "meterId": "xxx" + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "description": "", + "body": { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/", + "name": "Microsoft.Contoso/", + "type": "Microsoft.ProviderHub/providerRegistrations/", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_CreateOrUpdateNestedResourceTypeSecond.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_CreateOrUpdateNestedResourceTypeSecond.json new file mode 100644 index 000000000000..17b1308be651 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_CreateOrUpdateNestedResourceTypeSecond.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "resourceType": "testResourceType", + "sku": "testSku", + "nestedResourceTypeFirst": "nestedResourceTypeFirst", + "nestedResourceTypeSecond": "nestedResourceTypeSecond", + "properties": { + "properties": { + "skuSettings": [ + { + "name": "freeSku", + "tier": "Tier1", + "kind": "Standard" + }, + { + "name": "premiumSku", + "tier": "Tier2", + "kind": "Premium", + "costs": [ + { + "meterId": "xxx" + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "description": "", + "body": { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/", + "name": "Microsoft.Contoso/", + "type": "Microsoft.ProviderHub/providerRegistrations/", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_CreateOrUpdateNestedResourceTypeThird.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_CreateOrUpdateNestedResourceTypeThird.json new file mode 100644 index 000000000000..b95472072e07 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_CreateOrUpdateNestedResourceTypeThird.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "resourceType": "testResourceType", + "sku": "testSku", + "nestedResourceTypeFirst": "nestedResourceTypeFirst", + "nestedResourceTypeSecond": "nestedResourceTypeSecond", + "nestedResourceTypeThird": "nestedResourceTypeThird", + "properties": { + "properties": { + "skuSettings": [ + { + "name": "freeSku", + "tier": "Tier1", + "kind": "Standard" + }, + { + "name": "premiumSku", + "tier": "Tier2", + "kind": "Premium", + "costs": [ + { + "meterId": "xxx" + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "description": "", + "body": { + "id": "/subscriptions/ab7a8701-f7ef-471a-a2f4-d0ebbf494f77providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/", + "name": "Microsoft.Contoso/", + "type": "Microsoft.ProviderHub/providerRegistrations/", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_Delete.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_Delete.json new file mode 100644 index 000000000000..de0a5d1a9200 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "resourceType": "testResourceType", + "sku": "testSku" + }, + "responses": { + "200": { + "description": "Successfully deleted the resource type sku." + }, + "204": { + "description": "Resource does not exist." + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_DeleteNestedResourceTypeFirst.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_DeleteNestedResourceTypeFirst.json new file mode 100644 index 000000000000..a27fde974322 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_DeleteNestedResourceTypeFirst.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "resourceType": "testResourceType", + "sku": "testSku", + "nestedResourceTypeFirst": "nestedResourceTypeFirst" + }, + "responses": { + "200": { + "description": "Successfully deleted the resource type sku." + }, + "204": { + "description": "Resource does not exist." + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_DeleteNestedResourceTypeSecond.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_DeleteNestedResourceTypeSecond.json new file mode 100644 index 000000000000..3807cf1e7233 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_DeleteNestedResourceTypeSecond.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "resourceType": "testResourceType", + "sku": "testSku", + "nestedResourceTypeFirst": "nestedResourceTypeFirst", + "nestedResourceTypeSecond": "nestedResourceTypeSecond" + }, + "responses": { + "200": { + "description": "Successfully deleted the resource type sku." + }, + "204": { + "description": "Resource does not exist." + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_DeleteNestedResourceTypeThird.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_DeleteNestedResourceTypeThird.json new file mode 100644 index 000000000000..31ed71df2a8a --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_DeleteNestedResourceTypeThird.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "resourceType": "testResourceType", + "sku": "testSku", + "nestedResourceTypeFirst": "nestedResourceTypeFirst", + "nestedResourceTypeSecond": "nestedResourceTypeSecond", + "nestedResourceTypeThird": "nestedResourceTypeThird" + }, + "responses": { + "200": { + "description": "Successfully deleted the resource type sku." + }, + "204": { + "description": "Resource does not exist." + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_Get.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_Get.json new file mode 100644 index 000000000000..31d706af9a58 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_Get.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "resourceType": "testResourceType", + "sku": "testSku" + }, + "responses": { + "200": { + "body": { + "name": "testSku", + "properties": { + "skuSettings": [ + { + "name": "freeSku", + "tier": "Tier1", + "kind": "Standard" + }, + { + "name": "premiumSku", + "tier": "Tier2", + "kind": "Premium", + "costs": [ + { + "meterId": "xxx" + } + ] + } + ] + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_GetNestedResourceTypeFirst.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_GetNestedResourceTypeFirst.json new file mode 100644 index 000000000000..65dcf73ffd4b --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_GetNestedResourceTypeFirst.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "resourceType": "testResourceType", + "sku": "testSku", + "nestedResourceTypeFirst": "nestedResourceTypeFirst" + }, + "responses": { + "200": { + "body": { + "name": "testSku", + "properties": { + "skuSettings": [ + { + "name": "freeSku", + "tier": "Tier1", + "kind": "Standard" + }, + { + "name": "premiumSku", + "tier": "Tier2", + "kind": "Premium", + "costs": [ + { + "meterId": "xxx" + } + ] + } + ] + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_GetNestedResourceTypeSecond.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_GetNestedResourceTypeSecond.json new file mode 100644 index 000000000000..24a6b44aaf56 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_GetNestedResourceTypeSecond.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "resourceType": "testResourceType", + "sku": "testSku", + "nestedResourceTypeFirst": "nestedResourceTypeFirst", + "nestedResourceTypeSecond": "nestedResourceTypeSecond" + }, + "responses": { + "200": { + "body": { + "name": "testSku", + "properties": { + "skuSettings": [ + { + "name": "freeSku", + "tier": "Tier1", + "kind": "Standard" + }, + { + "name": "premiumSku", + "tier": "Tier2", + "kind": "Premium", + "costs": [ + { + "meterId": "xxx" + } + ] + } + ] + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_GetNestedResourceTypeThird.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_GetNestedResourceTypeThird.json new file mode 100644 index 000000000000..71bd93be92db --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_GetNestedResourceTypeThird.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "resourceType": "testResourceType", + "sku": "testSku", + "nestedResourceTypeFirst": "nestedResourceTypeFirst", + "nestedResourceTypeSecond": "nestedResourceTypeSecond", + "nestedResourceTypeThird": "nestedResourceTypeThird" + }, + "responses": { + "200": { + "body": { + "name": "testSku", + "properties": { + "skuSettings": [ + { + "name": "freeSku", + "tier": "Tier1", + "kind": "Standard" + }, + { + "name": "premiumSku", + "tier": "Tier2", + "kind": "Premium", + "costs": [ + { + "meterId": "xxx" + } + ] + } + ] + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_ListByResourceTypeRegistrations.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_ListByResourceTypeRegistrations.json new file mode 100644 index 000000000000..49c4c5e57242 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_ListByResourceTypeRegistrations.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "resourceType": "testResourceType" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testSku", + "properties": { + "skuSettings": [ + { + "name": "freeSku", + "tier": "Tier1", + "kind": "Standard" + }, + { + "name": "premiumSku", + "tier": "Tier2", + "kind": "Premium", + "costs": [ + { + "meterId": "xxx" + } + ] + } + ] + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + ] + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_ListByResourceTypeRegistrationsNestedResourceTypeFirst.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_ListByResourceTypeRegistrationsNestedResourceTypeFirst.json new file mode 100644 index 000000000000..7c3c4815df58 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_ListByResourceTypeRegistrationsNestedResourceTypeFirst.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "resourceType": "testResourceType", + "nestedResourceTypeFirst": "nestedResourceTypeFirst" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testSku", + "properties": { + "skuSettings": [ + { + "name": "freeSku", + "tier": "Tier1", + "kind": "Standard" + }, + { + "name": "premiumSku", + "tier": "Tier2", + "kind": "Premium", + "costs": [ + { + "meterId": "xxx" + } + ] + } + ] + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + ] + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_ListByResourceTypeRegistrationsNestedResourceTypeSecond.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_ListByResourceTypeRegistrationsNestedResourceTypeSecond.json new file mode 100644 index 000000000000..a312436580fa --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_ListByResourceTypeRegistrationsNestedResourceTypeSecond.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "resourceType": "testResourceType", + "sku": "testSku", + "nestedResourceTypeFirst": "nestedResourceTypeFirst", + "nestedResourceTypeSecond": "nestedResourceTypeSecond" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testSku", + "properties": { + "skuSettings": [ + { + "name": "freeSku", + "tier": "Tier1", + "kind": "Standard" + }, + { + "name": "premiumSku", + "tier": "Tier2", + "kind": "Premium", + "costs": [ + { + "meterId": "xxx" + } + ] + } + ] + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + ] + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_ListByResourceTypeRegistrationsNestedResourceTypeThird.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_ListByResourceTypeRegistrationsNestedResourceTypeThird.json new file mode 100644 index 000000000000..a641d3ecffc8 --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/examples/Skus_ListByResourceTypeRegistrationsNestedResourceTypeThird.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "ab7a8701-f7ef-471a-a2f4-d0ebbf494f77", + "providerNamespace": "Microsoft.Contoso", + "api-version": "2021-06-01-preview", + "resourceType": "testResourceType", + "sku": "testSku", + "nestedResourceTypeFirst": "nestedResourceTypeFirst", + "nestedResourceTypeSecond": "nestedResourceTypeSecond", + "nestedResourceTypeThird": "nestedResourceTypeThird" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testSku", + "properties": { + "skuSettings": [ + { + "name": "freeSku", + "tier": "Tier1", + "kind": "Standard" + }, + { + "name": "premiumSku", + "tier": "Tier2", + "kind": "Premium", + "costs": [ + { + "meterId": "xxx" + } + ] + } + ] + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + } + } + ] + } + } + } +} diff --git a/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/providerhub.json b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/providerhub.json new file mode 100644 index 000000000000..aabd7e46e45b --- /dev/null +++ b/specification/providerhub/resource-manager/Microsoft.ProviderHub/preview/2021-09-01-preview/providerhub.json @@ -0,0 +1,5109 @@ +{ + "swagger": "2.0", + "info": { + "title": "ProviderHub", + "description": "Microsoft ProviderHub", + "version": "2021-09-01-preview", + "x-ms-code-generation-settings": { + "name": "ProviderHubClient" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "host": "management.azure.com", + "schemes": [ + "https" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/customRollouts/{rolloutName}": { + "get": { + "tags": [ + "CustomRollouts" + ], + "description": "Gets the custom rollout details.", + "operationId": "CustomRollouts_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetRolloutNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the rollout details.", + "schema": { + "$ref": "#/definitions/CustomRollout" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CustomRollouts_Get": { + "$ref": "./examples/CustomRollouts_Get.json" + } + } + }, + "put": { + "tags": [ + "CustomRollouts" + ], + "description": "Creates or updates the rollout details.", + "operationId": "CustomRollouts_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetRolloutNameParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CustomRollout" + }, + "description": "The custom rollout properties supplied to the CreateOrUpdate operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Rollout completed successfully.", + "schema": { + "$ref": "#/definitions/CustomRollout" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CustomRollouts_CreateOrUpdate": { + "$ref": "./examples/CustomRollouts_CreateOrUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/customRollouts": { + "get": { + "tags": [ + "CustomRollouts" + ], + "description": "Gets the list of the custom rollouts for the given provider.", + "operationId": "CustomRollouts_ListByProviderRegistration", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of custom rollouts for given provider.", + "schema": { + "$ref": "#/definitions/CustomRolloutArrayResponseWithContinuation" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CustomRollouts_ListByProviderRegistration": { + "$ref": "./examples/CustomRollouts_ListByProviderRegistration.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts/{rolloutName}": { + "get": { + "tags": [ + "DefaultRollouts" + ], + "description": "Gets the default rollout details.", + "operationId": "DefaultRollouts_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetRolloutNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the default rollout details.", + "schema": { + "$ref": "#/definitions/DefaultRollout" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DefaultRollouts_Get": { + "$ref": "./examples/DefaultRollouts_Get.json" + } + } + }, + "delete": { + "tags": [ + "DefaultRollouts" + ], + "description": "Deletes the rollout resource. Rollout must be in terminal state.", + "operationId": "DefaultRollouts_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetRolloutNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the default rollout resource." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DefaultRollouts_Delete": { + "$ref": "./examples/DefaultRollouts_Delete.json" + } + } + }, + "put": { + "tags": [ + "DefaultRollouts" + ], + "description": "Creates or updates the rollout details.", + "operationId": "DefaultRollouts_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetRolloutNameParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DefaultRollout" + }, + "description": "The Default rollout properties supplied to the CreateOrUpdate operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Default rollout started successfully.", + "schema": { + "$ref": "#/definitions/DefaultRollout" + } + }, + "201": { + "description": "Default rollout completed successfully.", + "schema": { + "$ref": "#/definitions/DefaultRollout" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DefaultRollouts_CreateOrUpdate": { + "$ref": "./examples/DefaultRollouts_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts": { + "get": { + "tags": [ + "DefaultRollouts" + ], + "description": "Gets the list of the rollouts for the given provider.", + "operationId": "DefaultRollouts_ListByProviderRegistration", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of default rollouts.", + "schema": { + "$ref": "#/definitions/DefaultRolloutArrayResponseWithContinuation" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DefaultRollouts_ListByProviderRegistration": { + "$ref": "./examples/DefaultRollouts_ListByProviderRegistration.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts/{rolloutName}/stop": { + "post": { + "tags": [ + "DefaultRollouts" + ], + "description": "Stops or cancels the rollout, if in progress.", + "operationId": "DefaultRollouts_Stop", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetRolloutNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully cancelled the default rollout." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DefaultRollouts_Stop": { + "$ref": "./examples/DefaultRollouts_Stop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/generateManifest": { + "post": { + "tags": [ + "Manifest" + ], + "description": "Generates the manifest for the given provider.", + "operationId": "GenerateManifest", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "GenerateManifest": { + "$ref": "./examples/GenerateManifest.json" + } + }, + "responses": { + "200": { + "description": "Manifest generated.", + "schema": { + "$ref": "#/definitions/ResourceProviderManifest" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/checkinManifest": { + "post": { + "tags": [ + "Manifest" + ], + "description": "Checkin the manifest.", + "operationId": "CheckinManifest", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "name": "checkinManifestParams", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckinManifestParams" + }, + "description": "The required body parameters supplied to the checkin manifest operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "CheckinManifest": { + "$ref": "./examples/CheckinManifest.json" + } + }, + "responses": { + "200": { + "description": "Successfully checked-in manifest.", + "schema": { + "$ref": "#/definitions/CheckinManifestInfo" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/notificationRegistrations/{notificationRegistrationName}": { + "get": { + "tags": [ + "NotificationRegistration" + ], + "description": "Gets the notification registration details.", + "operationId": "NotificationRegistrations_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetNotificationRegistrationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "NotificationRegistrations_Get": { + "$ref": "./examples/NotificationRegistrations_Get.json" + } + }, + "responses": { + "200": { + "description": "Successfully retrieved the notification registration.", + "schema": { + "$ref": "#/definitions/NotificationRegistration" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "NotificationRegistration" + ], + "description": "Creates or updates a notification registration.", + "operationId": "NotificationRegistrations_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetNotificationRegistrationNameParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NotificationRegistration" + }, + "description": "The required body parameters supplied to the notification registration operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "NotificationRegistrations_CreateOrUpdate": { + "$ref": "./examples/NotificationRegistrations_CreateOrUpdate.json" + } + }, + "responses": { + "200": { + "description": "Successfully created or updated the notification registration.", + "schema": { + "$ref": "#/definitions/NotificationRegistration" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "NotificationRegistration" + ], + "description": "Deletes a notification registration.", + "operationId": "NotificationRegistrations_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetNotificationRegistrationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "NotificationRegistrations_Delete": { + "$ref": "./examples/NotificationRegistrations_Delete.json" + } + }, + "responses": { + "200": { + "description": "Successfully deleted the notification registration." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/notificationRegistrations": { + "get": { + "tags": [ + "NotificationRegistration" + ], + "description": "Gets the list of the notification registrations for the given provider.", + "operationId": "NotificationRegistrations_ListByProviderRegistration", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "NotificationRegistrations_ListByProviderRegistration": { + "$ref": "./examples/NotificationRegistrations_ListByProviderRegistration.json" + } + }, + "responses": { + "200": { + "description": "Successfully retrieved the notification registrations.", + "schema": { + "$ref": "#/definitions/NotificationRegistrationArrayResponseWithContinuation" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.ProviderHub/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all the operations supported by Microsoft.ProviderHub.", + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of supported operations.", + "schema": { + "$ref": "#/definitions/OperationsDefinitionArrayResponseWithContinuation" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/operations/default": { + "get": { + "tags": [ + "Operations" + ], + "description": "Gets the operations supported by the given provider.", + "operationId": "Operations_ListByProviderRegistration", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Operations_ListByProviderRegistration": { + "$ref": "./examples/Operations_ListByProviderRegistration.json" + } + }, + "responses": { + "200": { + "description": "Successfully retrieved the supported operations.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/OperationsDefinition" + } + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Operations" + ], + "description": "Creates or updates the operation supported by the given provider.", + "operationId": "Operations_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "name": "OperationsPutContent", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/OperationsPutContent" + }, + "description": "The operations content properties supplied to the CreateOrUpdate operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Operations_CreateOrUpdate": { + "$ref": "./examples/Operations_CreateOrUpdate.json" + } + }, + "responses": { + "200": { + "description": "Successfully created or updated the operation.", + "schema": { + "$ref": "#/definitions/OperationsPutContent" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Operations" + ], + "description": "Deletes an operation.", + "operationId": "Operations_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Operations_Delete": { + "$ref": "./examples/Operations_Delete.json" + } + }, + "responses": { + "200": { + "description": "Successfully deleted the operation." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}": { + "get": { + "tags": [ + "ProviderRegistration" + ], + "description": "Gets the provider registration details.", + "operationId": "ProviderRegistrations_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "ProviderRegistrations_Get": { + "$ref": "./examples/ProviderRegistrations_Get.json" + } + }, + "responses": { + "200": { + "description": "Successfully retrieved the provider registration.", + "schema": { + "$ref": "#/definitions/ProviderRegistration" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ProviderRegistration" + ], + "description": "Creates or updates the provider registration.", + "operationId": "ProviderRegistrations_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ProviderRegistration" + }, + "description": "The provider registration properties supplied to the CreateOrUpdate operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "ProviderRegistrations_CreateOrUpdate": { + "$ref": "./examples/ProviderRegistrations_CreateOrUpdate.json" + } + }, + "responses": { + "200": { + "description": "Successfully updated the provider registration.", + "schema": { + "$ref": "#/definitions/ProviderRegistration" + } + }, + "201": { + "description": "Successfully created the provider registration." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "ProviderRegistration" + ], + "description": "Deletes a provider registration.", + "operationId": "ProviderRegistrations_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "ProviderRegistrations_Delete": { + "$ref": "./examples/ProviderRegistrations_Delete.json" + } + }, + "responses": { + "200": { + "description": "Successfully deleted the provider registration." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations": { + "get": { + "tags": [ + "ProviderRegistration" + ], + "description": "Gets the list of the provider registrations in the subscription.", + "operationId": "ProviderRegistrations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "ProviderRegistrations_List": { + "$ref": "./examples/ProviderRegistrations_List.json" + } + }, + "responses": { + "200": { + "description": "Successfully retrieved the provider registrations.", + "schema": { + "$ref": "#/definitions/ProviderRegistrationArrayResponseWithContinuation" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/generateOperations": { + "post": { + "tags": [ + "ProviderRegistration" + ], + "description": "Generates the operations api for the given provider.", + "operationId": "ProviderRegistrations_GenerateOperations", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "ProviderRegistrations_GenerateOperations": { + "$ref": "./examples/ProviderRegistrations_GenerateOperations.json" + } + }, + "responses": { + "200": { + "description": "The operations api has been generated successfully.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/OperationsDefinition" + } + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}": { + "get": { + "tags": [ + "ResourceTypeRegistration" + ], + "description": "Gets a resource type details in the given subscription and provider.", + "operationId": "ResourceTypeRegistrations_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "ResourceTypeRegistrations_Get": { + "$ref": "./examples/ResourceTypeRegistrations_Get.json" + } + }, + "responses": { + "200": { + "description": "Successfully retrieved the resource type.", + "schema": { + "$ref": "#/definitions/ResourceTypeRegistration" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ResourceTypeRegistration" + ], + "description": "Creates or updates a resource type.", + "operationId": "ResourceTypeRegistrations_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceTypeRegistration" + }, + "description": "The required request body parameters supplied to the resource type registration CreateOrUpdate operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "ResourceTypeRegistrations_CreateOrUpdate": { + "$ref": "./examples/ResourceTypeRegistrations_CreateOrUpdate.json" + } + }, + "responses": { + "200": { + "description": "Successfully updated the resource type.", + "schema": { + "$ref": "#/definitions/ResourceTypeRegistration" + } + }, + "201": { + "description": "Successfully created the resource type.", + "schema": { + "$ref": "#/definitions/ResourceTypeRegistration" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "ResourceTypeRegistration" + ], + "description": "Deletes a resource type", + "operationId": "ResourceTypeRegistrations_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "ResourceTypeRegistrations_Delete": { + "$ref": "./examples/ResourceTypeRegistrations_Delete.json" + } + }, + "responses": { + "200": { + "description": "Successfully deleted the resource type." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations": { + "get": { + "tags": [ + "ResourceTypeRegistration" + ], + "description": "Gets the list of the resource types for the given provider.", + "operationId": "ResourceTypeRegistrations_ListByProviderRegistration", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "ResourceTypeRegistrations_ListByProviderRegistration": { + "$ref": "./examples/ResourceTypeRegistrations_ListByProviderRegistration.json" + } + }, + "responses": { + "200": { + "description": "Successfully retrieved the resource types.", + "schema": { + "$ref": "#/definitions/ResourceTypeRegistrationArrayResponseWithContinuation" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/skus/{sku}": { + "get": { + "tags": [ + "ResourceTypeSku" + ], + "description": "Gets the sku details for the given resource type and sku name.", + "operationId": "Skus_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "$ref": "#/parameters/SkuParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Skus_Get": { + "$ref": "./examples/Skus_Get.json" + } + }, + "responses": { + "200": { + "description": "Successfully retrieved the resource type sku.", + "schema": { + "$ref": "#/definitions/SkuResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ResourceTypeSku" + ], + "description": "Creates or updates the resource type skus in the given resource type.", + "operationId": "Skus_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "$ref": "#/parameters/SkuParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SkuResource" + }, + "description": "The required body parameters supplied to the resource sku operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Skus_CreateOrUpdate": { + "$ref": "./examples/Skus_CreateOrUpdate.json" + } + }, + "responses": { + "200": { + "description": "Successfully created or updated the resource type sku.", + "schema": { + "$ref": "#/definitions/SkuResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ResourceTypeSku" + ], + "description": "Deletes a resource type sku.", + "operationId": "Skus_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "$ref": "#/parameters/SkuParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Skus_Delete": { + "$ref": "./examples/Skus_Delete.json" + } + }, + "responses": { + "200": { + "description": "Successfully deleted the resource type sku." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/skus/{sku}": { + "get": { + "tags": [ + "ResourceTypeSku" + ], + "description": "Gets the sku details for the given resource type and sku name.", + "operationId": "Skus_GetNestedResourceTypeFirst", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeFirstParameter" + }, + { + "$ref": "#/parameters/SkuParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Skus_GetNestedResourceTypeFirst": { + "$ref": "./examples/Skus_GetNestedResourceTypeFirst.json" + } + }, + "responses": { + "200": { + "description": "Successfully retrieved the resource type sku.", + "schema": { + "$ref": "#/definitions/SkuResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ResourceTypeSku" + ], + "description": "Creates or updates the resource type skus in the given resource type.", + "operationId": "Skus_CreateOrUpdateNestedResourceTypeFirst", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeFirstParameter" + }, + { + "$ref": "#/parameters/SkuParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SkuResource" + }, + "description": "The required body parameters supplied to the resource sku operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Skus_CreateOrUpdateNestedResourceTypeFirst": { + "$ref": "./examples/Skus_CreateOrUpdateNestedResourceTypeFirst.json" + } + }, + "responses": { + "200": { + "description": "Successfully created or updated the resource type sku.", + "schema": { + "$ref": "#/definitions/SkuResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ResourceTypeSku" + ], + "description": "Deletes a resource type sku.", + "operationId": "Skus_DeleteNestedResourceTypeFirst", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeFirstParameter" + }, + { + "$ref": "#/parameters/SkuParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Skus_DeleteNestedResourceTypeFirst": { + "$ref": "./examples/Skus_DeleteNestedResourceTypeFirst.json" + } + }, + "responses": { + "200": { + "description": "Successfully deleted the resource type sku." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/skus/{sku}": { + "get": { + "tags": [ + "ResourceTypeSku" + ], + "description": "Gets the sku details for the given resource type and sku name.", + "operationId": "Skus_GetNestedResourceTypeSecond", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeFirstParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeSecondParameter" + }, + { + "$ref": "#/parameters/SkuParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Skus_GetNestedResourceTypeSecond": { + "$ref": "./examples/Skus_GetNestedResourceTypeSecond.json" + } + }, + "responses": { + "200": { + "description": "Successfully retrieved the resource type sku.", + "schema": { + "$ref": "#/definitions/SkuResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ResourceTypeSku" + ], + "description": "Creates or updates the resource type skus in the given resource type.", + "operationId": "Skus_CreateOrUpdateNestedResourceTypeSecond", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeFirstParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeSecondParameter" + }, + { + "$ref": "#/parameters/SkuParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SkuResource" + }, + "description": "The required body parameters supplied to the resource sku operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Skus_CreateOrUpdateNestedResourceTypeSecond": { + "$ref": "./examples/Skus_CreateOrUpdateNestedResourceTypeSecond.json" + } + }, + "responses": { + "200": { + "description": "Successfully created or updated the resource type sku.", + "schema": { + "$ref": "#/definitions/SkuResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ResourceTypeSku" + ], + "description": "Deletes a resource type sku.", + "operationId": "Skus_DeleteNestedResourceTypeSecond", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeFirstParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeSecondParameter" + }, + { + "$ref": "#/parameters/SkuParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Skus_DeleteNestedResourceTypeSecond": { + "$ref": "./examples/Skus_DeleteNestedResourceTypeSecond.json" + } + }, + "responses": { + "200": { + "description": "Successfully deleted the resource type sku." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/resourcetypeRegistrations/{nestedResourceTypeThird}/skus/{sku}": { + "get": { + "tags": [ + "ResourceTypeSku" + ], + "description": "Gets the sku details for the given resource type and sku name.", + "operationId": "Skus_GetNestedResourceTypeThird", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeFirstParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeSecondParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeThirdParameter" + }, + { + "$ref": "#/parameters/SkuParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Skus_GetNestedResourceTypeThird": { + "$ref": "./examples/Skus_GetNestedResourceTypeThird.json" + } + }, + "responses": { + "200": { + "description": "Successfully retrieved the resource type sku.", + "schema": { + "$ref": "#/definitions/SkuResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ResourceTypeSku" + ], + "description": "Creates or updates the resource type skus in the given resource type.", + "operationId": "Skus_CreateOrUpdateNestedResourceTypeThird", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeFirstParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeSecondParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeThirdParameter" + }, + { + "$ref": "#/parameters/SkuParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SkuResource" + }, + "description": "The required body parameters supplied to the resource sku operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Skus_CreateOrUpdateNestedResourceTypeThird": { + "$ref": "./examples/Skus_CreateOrUpdateNestedResourceTypeThird.json" + } + }, + "responses": { + "200": { + "description": "Successfully created or updated the resource type sku.", + "schema": { + "$ref": "#/definitions/SkuResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ResourceTypeSku" + ], + "description": "Deletes a resource type sku.", + "operationId": "Skus_DeleteNestedResourceTypeThird", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeFirstParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeSecondParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeThirdParameter" + }, + { + "$ref": "#/parameters/SkuParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Skus_DeleteNestedResourceTypeThird": { + "$ref": "./examples/Skus_DeleteNestedResourceTypeThird.json" + } + }, + "responses": { + "200": { + "description": "Successfully deleted the resource type sku." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/skus": { + "get": { + "tags": [ + "ResourceTypeSku" + ], + "description": "Gets the list of skus for the given resource type.", + "operationId": "Skus_ListByResourceTypeRegistrations", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Skus_ListByResourceTypeRegistrations": { + "$ref": "./examples/Skus_ListByResourceTypeRegistrations.json" + } + }, + "responses": { + "200": { + "description": "SUccessfully retrieved the resource type skus.", + "schema": { + "$ref": "#/definitions/SkuResourceArrayResponseWithContinuation" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/skus": { + "get": { + "tags": [ + "ResourceTypeSku" + ], + "description": "Gets the list of skus for the given resource type.", + "operationId": "Skus_ListByResourceTypeRegistrationsNestedResourceTypeFirst", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeFirstParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Skus_ListByResourceTypeRegistrationsNestedResourceTypeFirst": { + "$ref": "./examples/Skus_ListByResourceTypeRegistrationsNestedResourceTypeFirst.json" + } + }, + "responses": { + "200": { + "description": "SUccessfully retrieved the resource type skus.", + "schema": { + "$ref": "#/definitions/SkuResourceArrayResponseWithContinuation" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/skus": { + "get": { + "tags": [ + "ResourceTypeSku" + ], + "description": "Gets the list of skus for the given resource type.", + "operationId": "Skus_ListByResourceTypeRegistrationsNestedResourceTypeSecond", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeFirstParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeSecondParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Skus_ListByResourceTypeRegistrationsNestedResourceTypeSecond": { + "$ref": "./examples/Skus_ListByResourceTypeRegistrationsNestedResourceTypeSecond.json" + } + }, + "responses": { + "200": { + "description": "SUccessfully retrieved the resource type skus.", + "schema": { + "$ref": "#/definitions/SkuResourceArrayResponseWithContinuation" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/resourcetypeRegistrations/{nestedResourceTypeThird}/skus": { + "get": { + "tags": [ + "ResourceTypeSku" + ], + "description": "Gets the list of skus for the given resource type.", + "operationId": "Skus_ListByResourceTypeRegistrationsNestedResourceTypeThird", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/GetResourceTypeParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeFirstParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeSecondParameter" + }, + { + "$ref": "#/parameters/NestedResourceTypeThirdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Skus_ListByResourceTypeRegistrationsNestedResourceTypeThird": { + "$ref": "./examples/Skus_ListByResourceTypeRegistrationsNestedResourceTypeThird.json" + } + }, + "responses": { + "200": { + "description": "SUccessfully retrieved the resource type skus.", + "schema": { + "$ref": "#/definitions/SkuResourceArrayResponseWithContinuation" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourceActions/{resourceActionName}/deleteResources": { + "post": { + "tags": [ + "ResourceActions" + ], + "description": "Deletes resources.", + "operationId": "ResourceActions_DeleteResources", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/ResourceActionParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceManagementAction" + }, + "description": "The properties supplied to the DeleteResources operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Resource management action started.", + "schema": { + "$ref": "#/definitions/ResourceManagementAction" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ResourceActions_DeleteResources": { + "$ref": "./examples/ResourceActions_DeleteResources.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + } + }, + "definitions": { + "ProvisioningState": { + "enum": [ + "NotSpecified", + "Accepted", + "Running", + "Creating", + "Created", + "Deleting", + "Deleted", + "Canceled", + "Failed", + "Succeeded", + "MovingResources", + "TransientFailure", + "RolloutInProgress" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "TrafficRegions": { + "type": "object", + "properties": { + "regions": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CustomRolloutSpecification": { + "required": [ + "canary" + ], + "type": "object", + "properties": { + "canary": { + "allOf": [ + { + "$ref": "#/definitions/TrafficRegions" + } + ] + }, + "providerRegistration": { + "allOf": [ + { + "$ref": "#/definitions/ProviderRegistration" + } + ] + }, + "resourceTypeRegistrations": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceTypeRegistration" + } + } + } + }, + "TypedErrorInfo": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "info": { + "type": "object", + "readOnly": true + } + } + }, + "ExtendedErrorInfo": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "target": { + "type": "string" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ExtendedErrorInfo" + } + }, + "additionalInfo": { + "type": "array", + "items": { + "$ref": "#/definitions/TypedErrorInfo" + } + } + } + }, + "CheckinManifestParams": { + "type": "object", + "properties": { + "environment": { + "type": "string", + "description": "The environment supplied to the checkin manifest operation." + }, + "baselineArmManifestLocation": { + "type": "string", + "description": "The baseline ARM manifest location supplied to the checkin manifest operation." + } + }, + "required": [ + "baselineArmManifestLocation", + "environment" + ] + }, + "RolloutStatusBase": { + "type": "object", + "properties": { + "completedRegions": { + "type": "array", + "items": { + "type": "string" + } + }, + "failedOrSkippedRegions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ExtendedErrorInfo" + } + } + } + }, + "CustomRolloutProperties": { + "type": "object", + "required": [ + "specification" + ], + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The provisioned state of the resource." + }, + "specification": { + "allOf": [ + { + "$ref": "#/definitions/CustomRolloutSpecification" + } + ] + }, + "status": { + "allOf": [ + { + "$ref": "#/definitions/CustomRolloutStatus" + } + ] + } + } + }, + "CustomRollout": { + "description": "Rollout details.", + "type": "object", + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/CustomRolloutProperties" + } + ], + "description": "Properties of the rollout." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "InnerError": { + "description": "Inner error containing list of errors.", + "type": "object", + "properties": { + "code": { + "description": "Specific error code than was provided by the containing error.", + "type": "string", + "readOnly": true + }, + "innerError": { + "description": "Object containing more specific information than the current object about the error.", + "type": "object", + "readOnly": true + } + }, + "additionalProperties": { + "type": "object" + } + }, + "Error": { + "description": "Standard error object.", + "type": "object", + "properties": { + "code": { + "description": "Server-defined set of error codes.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Human-readable representation of the error.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "Target of the error.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Array of details about specific errors that led to this reported error.", + "type": "array", + "items": { + "$ref": "#/definitions/Error" + }, + "readOnly": true + }, + "innerError": { + "description": "Object containing more specific information than the current object about the error.", + "allOf": [ + { + "$ref": "#/definitions/InnerError" + } + ], + "readOnly": true + } + } + }, + "ErrorResponse": { + "description": "Standard error response.", + "type": "object", + "properties": { + "error": { + "description": "Standard error object.", + "allOf": [ + { + "$ref": "#/definitions/Error" + } + ] + } + } + }, + "CustomRolloutArrayResponseWithContinuation": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CustomRollout" + } + }, + "nextLink": { + "description": "The URL to get to the next set of results, if there are any.", + "type": "string" + } + } + }, + "TrafficRegionRolloutConfiguration": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrafficRegions" + } + ], + "properties": { + "waitDuration": { + "format": "duration", + "type": "string" + } + } + }, + "ExpeditedRolloutDefinition": { + "description": "Expedited rollout configuration.", + "type": "object", + "properties": { + "enabled": { + "description": "Indicates whether expedited rollout is enabled/disabled", + "type": "boolean" + } + } + }, + "DefaultRolloutSpecification": { + "type": "object", + "properties": { + "expeditedRollout": { + "allOf": [ + { + "$ref": "#/definitions/ExpeditedRolloutDefinition" + } + ] + }, + "canary": { + "allOf": [ + { + "$ref": "#/definitions/CanaryTrafficRegionRolloutConfiguration" + } + ] + }, + "lowTraffic": { + "allOf": [ + { + "$ref": "#/definitions/TrafficRegionRolloutConfiguration" + } + ] + }, + "mediumTraffic": { + "allOf": [ + { + "$ref": "#/definitions/TrafficRegionRolloutConfiguration" + } + ] + }, + "highTraffic": { + "allOf": [ + { + "$ref": "#/definitions/TrafficRegionRolloutConfiguration" + } + ] + }, + "restOfTheWorldGroupOne": { + "allOf": [ + { + "$ref": "#/definitions/TrafficRegionRolloutConfiguration" + } + ] + }, + "restOfTheWorldGroupTwo": { + "allOf": [ + { + "$ref": "#/definitions/TrafficRegionRolloutConfiguration" + } + ] + }, + "providerRegistration": { + "allOf": [ + { + "$ref": "#/definitions/ProviderRegistration" + } + ] + }, + "resourceTypeRegistrations": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceTypeRegistration" + } + } + } + }, + "DefaultRolloutStatus": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RolloutStatusBase" + } + ], + "properties": { + "nextTrafficRegion": { + "enum": [ + "NotSpecified", + "Canary", + "LowTraffic", + "MediumTraffic", + "HighTraffic", + "None", + "RestOfTheWorldGroupOne", + "RestOfTheWorldGroupTwo" + ], + "type": "string", + "x-ms-enum": { + "name": "TrafficRegionCategory", + "modelAsString": true + } + }, + "nextTrafficRegionScheduledTime": { + "format": "date-time", + "type": "string" + }, + "subscriptionReregistrationResult": { + "enum": [ + "NotApplicable", + "ConditionalUpdate", + "ForcedUpdate", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "SubscriptionReregistrationResult", + "modelAsString": true + } + } + } + }, + "DefaultRolloutProperties": { + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The provisioned state of the resource." + }, + "specification": { + "allOf": [ + { + "$ref": "#/definitions/DefaultRolloutSpecification" + } + ] + }, + "status": { + "allOf": [ + { + "$ref": "#/definitions/DefaultRolloutStatus" + } + ] + } + } + }, + "DefaultRollout": { + "description": "Default rollout definition.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/DefaultRolloutProperties" + } + ], + "description": "Properties of the rollout." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "DefaultRolloutArrayResponseWithContinuation": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DefaultRollout" + } + }, + "nextLink": { + "description": "The URL to get to the next set of results, if there are any.", + "type": "string" + } + } + }, + "ResourceProviderAuthentication": { + "required": [ + "allowedAudiences" + ], + "type": "object", + "properties": { + "allowedAudiences": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ResourceProviderAuthorization": { + "type": "object", + "properties": { + "applicationId": { + "type": "string" + }, + "roleDefinitionId": { + "type": "string" + }, + "managedByRoleDefinitionId": { + "type": "string" + } + } + }, + "FeaturesRule": { + "required": [ + "requiredFeaturesPolicy" + ], + "type": "object", + "properties": { + "requiredFeaturesPolicy": { + "enum": [ + "Any", + "All" + ], + "type": "string", + "x-ms-enum": { + "name": "FeaturesPolicy", + "modelAsString": true + } + } + } + }, + "RequestHeaderOptions": { + "type": "object", + "properties": { + "optInHeaders": { + "enum": [ + "NotSpecified", + "SignedUserToken", + "ClientGroupMembership", + "SignedAuxiliaryTokens", + "UnboundedClientGroupMembership" + ], + "type": "string", + "x-ms-enum": { + "name": "OptInHeaderType", + "modelAsString": true + } + } + } + }, + "AuthorizationActionMapping": { + "type": "object", + "properties": { + "original": { + "type": "string" + }, + "desired": { + "type": "string" + } + } + }, + "LinkedAccessCheck": { + "type": "object", + "properties": { + "actionName": { + "type": "string" + }, + "linkedProperty": { + "type": "string" + }, + "linkedAction": { + "type": "string" + }, + "linkedActionVerb": { + "type": "string" + }, + "linkedType": { + "type": "string" + } + } + }, + "LoggingHiddenPropertyPath": { + "type": "object", + "properties": { + "hiddenPathsOnRequest": { + "type": "array", + "items": { + "type": "string" + } + }, + "hiddenPathsOnResponse": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "LoggingRule": { + "required": [ + "action", + "detailLevel", + "direction" + ], + "type": "object", + "properties": { + "action": { + "type": "string" + }, + "direction": { + "enum": [ + "None", + "Request", + "Response" + ], + "type": "string", + "x-ms-enum": { + "name": "LoggingDirections", + "modelAsString": true + } + }, + "detailLevel": { + "enum": [ + "None", + "Body" + ], + "type": "string", + "x-ms-enum": { + "name": "LoggingDetails", + "modelAsString": true + } + }, + "hiddenPropertyPaths": { + "allOf": [ + { + "$ref": "#/definitions/LoggingHiddenPropertyPath" + } + ] + } + } + }, + "ThrottlingMetric": { + "required": [ + "limit", + "type" + ], + "type": "object", + "properties": { + "type": { + "enum": [ + "NotSpecified", + "NumberOfRequests", + "NumberOfResources" + ], + "type": "string", + "x-ms-enum": { + "name": "ThrottlingMetricType", + "modelAsString": true + } + }, + "limit": { + "format": "int64", + "type": "integer" + }, + "interval": { + "format": "duration", + "type": "string" + } + } + }, + "ThrottlingRule": { + "required": [ + "action", + "metrics" + ], + "type": "object", + "properties": { + "action": { + "type": "string" + }, + "metrics": { + "type": "array", + "items": { + "$ref": "#/definitions/ThrottlingMetric" + } + }, + "requiredFeatures": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ResourceProviderEndpoint": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "apiVersions": { + "type": "array", + "items": { + "type": "string" + } + }, + "endpointUri": { + "type": "string" + }, + "locations": { + "type": "array", + "items": { + "type": "string" + } + }, + "requiredFeatures": { + "type": "array", + "items": { + "type": "string" + } + }, + "featuresRule": { + "allOf": [ + { + "$ref": "#/definitions/FeaturesRule" + } + ] + }, + "timeout": { + "format": "duration", + "type": "string" + }, + "endpointType": { + "enum": [ + "NotSpecified", + "Canary", + "Production", + "TestInProduction" + ], + "type": "string", + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true + } + } + } + }, + "IdentityManagementProperties": { + "type": "object", + "properties": { + "type": { + "enum": [ + "NotSpecified", + "SystemAssigned", + "UserAssigned", + "Actor", + "DelegatedResourceIdentity" + ], + "type": "string", + "x-ms-enum": { + "name": "IdentityManagementTypes", + "modelAsString": true + } + }, + "applicationId": { + "type": "string" + } + } + }, + "IdentityManagement": { + "type": "object", + "properties": { + "type": { + "enum": [ + "NotSpecified", + "SystemAssigned", + "UserAssigned", + "Actor", + "DelegatedResourceIdentity" + ], + "type": "string", + "x-ms-enum": { + "name": "IdentityManagementTypes", + "modelAsString": true + } + } + } + }, + "SubscriptionStateRule": { + "type": "object", + "properties": { + "state": { + "enum": [ + "NotDefined", + "Enabled", + "Warned", + "PastDue", + "Disabled", + "Deleted" + ], + "type": "string", + "x-ms-enum": { + "name": "SubscriptionState", + "modelAsString": true + } + }, + "allowedActions": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CustomRolloutStatus": { + "type": "object", + "properties": { + "completedRegions": { + "type": "array", + "items": { + "type": "string" + } + }, + "failedOrSkippedRegions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ExtendedErrorInfo" + } + } + } + }, + "CanaryTrafficRegionRolloutConfiguration": { + "type": "object", + "properties": { + "skipRegions": { + "type": "array", + "items": { + "type": "string" + } + }, + "regions": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ServiceTreeInfo": { + "type": "object", + "properties": { + "serviceId": { + "type": "string" + }, + "componentId": { + "type": "string" + }, + "readiness": { + "enum": [ + "ClosingDown", + "Deprecated", + "GA", + "InDevelopment", + "InternalOnly", + "PrivatePreview", + "PublicPreview", + "RemovedFromARM", + "Retired" + ], + "type": "string", + "x-ms-enum": { + "name": "Readiness", + "modelAsString": true + } + } + } + }, + "TemplateDeploymentPolicy": { + "required": [ + "capabilities", + "preflightOptions" + ], + "type": "object", + "properties": { + "capabilities": { + "enum": [ + "Default", + "Preflight" + ], + "type": "string", + "x-ms-enum": { + "name": "TemplateDeploymentCapabilities", + "modelAsString": true + } + }, + "preflightOptions": { + "enum": [ + "None", + "ValidationRequests", + "DeploymentRequests", + "TestOnly", + "RegisteredOnly" + ], + "type": "string", + "x-ms-enum": { + "name": "TemplateDeploymentPreflightOptions", + "modelAsString": true + } + } + } + }, + "ExtendedLocationOptions": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "supportedPolicy": { + "type": "string" + } + } + }, + "LinkedOperationRule": { + "required": [ + "linkedAction", + "linkedOperation" + ], + "type": "object", + "properties": { + "linkedOperation": { + "enum": [ + "None", + "CrossResourceGroupResourceMove", + "CrossSubscriptionResourceMove" + ], + "type": "string", + "x-ms-enum": { + "name": "LinkedOperation", + "modelAsString": true + } + }, + "linkedAction": { + "enum": [ + "NotSpecified", + "Blocked", + "Validate", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "LinkedAction", + "modelAsString": true + } + } + } + }, + "ResourceType": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "routingType": { + "enum": [ + "Default", + "ProxyOnly", + "HostBased", + "Extension", + "Tenant", + "Fanout", + "LocationBased", + "Failover", + "CascadeExtension" + ], + "type": "string", + "x-ms-enum": { + "name": "RoutingType", + "modelAsString": true + } + }, + "resourceValidation": { + "enum": [ + "NotSpecified", + "ReservedWords", + "ProfaneWords" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceValidation", + "modelAsString": true + } + }, + "allowedUnauthorizedActions": { + "type": "array", + "items": { + "type": "string" + } + }, + "authorizationActionMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/AuthorizationActionMapping" + } + }, + "linkedAccessChecks": { + "type": "array", + "items": { + "$ref": "#/definitions/LinkedAccessCheck" + } + }, + "defaultApiVersion": { + "type": "string" + }, + "loggingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/LoggingRule" + } + }, + "throttlingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/ThrottlingRule" + } + }, + "endpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderEndpoint" + } + }, + "marketplaceType": { + "enum": [ + "NotSpecified", + "AddOn", + "Bypass", + "Store" + ], + "type": "string" + }, + "identityManagement": { + "allOf": [ + { + "$ref": "#/definitions/IdentityManagement" + } + ] + }, + "metadata": {}, + "requiredFeatures": { + "type": "array", + "items": { + "type": "string" + } + }, + "featuresRule": { + "allOf": [ + { + "$ref": "#/definitions/FeaturesRule" + } + ] + }, + "subscriptionStateRules": { + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionStateRule" + } + }, + "serviceTreeInfos": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceTreeInfo" + } + }, + "requestHeaderOptions": { + "allOf": [ + { + "$ref": "#/definitions/RequestHeaderOptions" + } + ] + }, + "skuLink": { + "type": "string" + }, + "disallowedActionVerbs": { + "type": "array", + "items": { + "type": "string" + } + }, + "templateDeploymentPolicy": { + "allOf": [ + { + "$ref": "#/definitions/TemplateDeploymentPolicy" + } + ] + }, + "extendedLocations": { + "type": "array", + "items": { + "$ref": "#/definitions/ExtendedLocationOptions" + } + }, + "linkedOperationRules": { + "type": "array", + "items": { + "$ref": "#/definitions/LinkedOperationRule" + } + }, + "resourceDeletionPolicy": { + "enum": [ + "NotSpecified", + "Cascade", + "Force" + ], + "type": "string", + "x-ms-enum": { + "name": "ManifestResourceDeletionPolicy", + "modelAsString": true + } + } + } + }, + "ResourceProviderManagement": { + "type": "object", + "properties": { + "schemaOwners": { + "type": "array", + "items": { + "type": "string" + } + }, + "manifestOwners": { + "type": "array", + "items": { + "type": "string" + } + }, + "incidentRoutingService": { + "type": "string" + }, + "incidentRoutingTeam": { + "type": "string" + }, + "incidentContactEmail": { + "type": "string" + }, + "serviceTreeInfos": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceTreeInfo" + } + }, + "resourceAccessPolicy": { + "enum": [ + "NotSpecified", + "AcisReadAllowed", + "AcisActionAllowed" + ], + "type": "string" + }, + "resourceAccessRoles": { + "type": "array", + "items": {} + } + } + }, + "ResourceProviderCapabilities": { + "required": [ + "effect", + "quotaId" + ], + "type": "object", + "properties": { + "quotaId": { + "type": "string" + }, + "effect": { + "enum": [ + "NotSpecified", + "Allow", + "Disallow" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceProviderCapabilitiesEffect", + "modelAsString": true + } + }, + "requiredFeatures": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ReRegisterSubscriptionMetadata": { + "required": [ + "enabled" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "concurrencyLimit": { + "format": "int32", + "type": "integer" + } + } + }, + "ResourceProviderManifest": { + "type": "object", + "properties": { + "providerAuthentication": { + "allOf": [ + { + "$ref": "#/definitions/ResourceProviderAuthentication" + } + ] + }, + "providerAuthorizations": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderAuthorization" + } + }, + "namespace": { + "type": "string" + }, + "providerVersion": { + "type": "string" + }, + "providerType": { + "enum": [ + "NotSpecified", + "Internal", + "External", + "Hidden", + "RegistrationFree", + "LegacyRegistrationRequired", + "TenantOnly", + "AuthorizationFree" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceProviderType", + "modelAsString": true + } + }, + "requiredFeatures": { + "type": "array", + "items": { + "type": "string" + } + }, + "featuresRule": { + "allOf": [ + { + "$ref": "#/definitions/FeaturesRule" + } + ] + }, + "requestHeaderOptions": { + "allOf": [ + { + "$ref": "#/definitions/RequestHeaderOptions" + } + ] + }, + "resourceTypes": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceType" + } + }, + "management": { + "allOf": [ + { + "$ref": "#/definitions/ResourceProviderManagement" + } + ] + }, + "capabilities": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderCapabilities" + } + }, + "metadata": {}, + "globalNotificationEndpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderEndpoint" + } + }, + "reRegisterSubscriptionMetadata": { + "allOf": [ + { + "$ref": "#/definitions/ReRegisterSubscriptionMetadata" + } + ] + } + } + }, + "CheckinManifestInfo": { + "required": [ + "isCheckedIn", + "statusMessage" + ], + "type": "object", + "properties": { + "isCheckedIn": { + "type": "boolean" + }, + "statusMessage": { + "type": "string" + }, + "pullRequest": { + "type": "string" + }, + "commitId": { + "type": "string" + } + } + }, + "NotificationEndpoint": { + "type": "object", + "properties": { + "notificationDestination": { + "type": "string" + }, + "locations": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "NotificationRegistrationProperties": { + "type": "object", + "properties": { + "notificationMode": { + "enum": [ + "NotSpecified", + "EventHub", + "WebHook" + ], + "type": "string", + "x-ms-enum": { + "name": "NotificationMode", + "modelAsString": true + } + }, + "messageScope": { + "enum": [ + "NotSpecified", + "RegisteredSubscriptions" + ], + "type": "string", + "x-ms-enum": { + "name": "MessageScope", + "modelAsString": true + } + }, + "includedEvents": { + "type": "array", + "items": { + "type": "string" + } + }, + "notificationEndpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/NotificationEndpoint" + } + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The provisioned state of the resource." + } + } + }, + "NotificationRegistration": { + "description": "The notification registration definition.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/NotificationRegistrationProperties" + } + ] + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "NotificationRegistrationArrayResponseWithContinuation": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NotificationRegistration" + } + }, + "nextLink": { + "description": "The URL to get to the next set of results, if there are any.", + "type": "string" + } + } + }, + "OperationsDisplayDefinition": { + "required": [ + "description", + "operation", + "provider", + "resource" + ], + "type": "object", + "properties": { + "provider": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "operation": { + "type": "string" + }, + "description": { + "type": "string" + } + } + }, + "OperationsDefinition": { + "required": [ + "display", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the operation." + }, + "isDataAction": { + "type": "boolean", + "description": "Indicates whether the operation applies to data-plane." + }, + "origin": { + "enum": [ + "NotSpecified", + "User", + "System" + ], + "type": "string" + }, + "display": { + "description": "Display information of the operation.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + }, + "actionType": { + "enum": [ + "NotSpecified", + "Internal" + ], + "type": "string" + }, + "properties": {} + }, + "description": "Properties of an Operation." + }, + "OperationsContent": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Operations content.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationsDefinition" + } + }, + "x-ms-azure-resource": true + }, + "LocalizedOperationDisplayDefinition": { + "required": [ + "default" + ], + "type": "object", + "properties": { + "default": { + "description": "Display information of the operation.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + }, + "en": { + "description": "Display information of the operation for en locale.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + }, + "cs": { + "description": "Display information of the operation for cs locale.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + }, + "de": { + "description": "Display information of the operation for de locale.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + }, + "es": { + "description": "Display information of the operation for es locale.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + }, + "fr": { + "description": "Display information of the operation for fr locale.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + }, + "hu": { + "description": "Display information of the operation for hu locale.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + }, + "it": { + "description": "Display information of the operation for it locale.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + }, + "ja": { + "description": "Display information of the operation for ja locale.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + }, + "ko": { + "description": "Display information of the operation for ko locale.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + }, + "nl": { + "description": "Display information of the operation for nl locale.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + }, + "pl": { + "description": "Display information of the operation for pl locale.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + }, + "ptBR": { + "description": "Display information of the operation for pt-BR locale.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + }, + "ptPT": { + "description": "Display information of the operation for pt-PT locale.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + }, + "ru": { + "description": "Display information of the operation for ru locale.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + }, + "sv": { + "description": "Display information of the operation for sv locale.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + }, + "zhHans": { + "description": "Display information of the operation for zh-Hans locale.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + }, + "zhHant": { + "description": "Display information of the operation for zh-Hant locale.", + "allOf": [ + { + "$ref": "#/definitions/OperationsDisplayDefinition" + } + ] + } + } + }, + "LocalizedOperationDefinition": { + "required": [ + "display", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the operation." + }, + "isDataAction": { + "type": "boolean", + "description": "Indicates whether the operation applies to data-plane." + }, + "origin": { + "enum": [ + "NotSpecified", + "User", + "System" + ], + "type": "string" + }, + "display": { + "description": "Display information of the operation.", + "allOf": [ + { + "$ref": "#/definitions/LocalizedOperationDisplayDefinition" + } + ] + }, + "actionType": { + "enum": [ + "NotSpecified", + "Internal" + ], + "type": "string" + }, + "properties": {} + } + }, + "OperationsContentProperties": { + "type": "object", + "properties": { + "contents": { + "type": "array", + "description": "Operations content.", + "x-ms-client-flatten": true, + "items": { + "$ref": "#/definitions/LocalizedOperationDefinition" + } + } + } + }, + "OperationsPutContent": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "type": "object", + "properties": { + "properties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationsContentProperties" + } + ] + } + }, + "x-ms-azure-resource": true + }, + "OperationsDefinitionArrayResponseWithContinuation": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OperationsDefinition" + } + }, + "nextLink": { + "description": "The URL to get to the next set of results, if there are any.", + "type": "string" + } + } + }, + "LightHouseAuthorization": { + "required": [ + "principalId", + "roleDefinitionId" + ], + "type": "object", + "properties": { + "principalId": { + "type": "string" + }, + "roleDefinitionId": { + "type": "string" + } + } + }, + "ThirdPartyProviderAuthorization": { + "type": "object", + "properties": { + "authorizations": { + "type": "array", + "items": { + "$ref": "#/definitions/LightHouseAuthorization" + } + }, + "managedByTenantId": { + "type": "string" + } + } + }, + "ProviderHubMetadata": { + "type": "object", + "properties": { + "providerAuthorizations": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderAuthorization" + } + }, + "providerAuthentication": { + "allOf": [ + { + "$ref": "#/definitions/ResourceProviderAuthentication" + } + ] + }, + "thirdPartyProviderAuthorization": { + "allOf": [ + { + "$ref": "#/definitions/ThirdPartyProviderAuthorization" + } + ] + } + } + }, + "SubscriptionStateOverrideAction": { + "required": [ + "action", + "state" + ], + "type": "object", + "properties": { + "state": { + "enum": [ + "Registered", + "Unregistered", + "Warned", + "Suspended", + "Deleted", + "WarnedToRegistered", + "WarnedToSuspended", + "WarnedToDeleted", + "WarnedToUnregistered", + "SuspendedToRegistered", + "SuspendedToWarned", + "SuspendedToDeleted", + "SuspendedToUnregistered" + ], + "type": "string", + "x-ms-enum": { + "name": "SubscriptionTransitioningState", + "modelAsString": true + } + }, + "action": { + "enum": [ + "NotDefined", + "DeleteAllResources", + "SoftDeleteAllResources", + "NoOp", + "BillingCancellation", + "UndoSoftDelete" + ], + "type": "string", + "x-ms-enum": { + "name": "SubscriptionNotificationOperation", + "modelAsString": true + } + } + } + }, + "SubscriptionLifecycleNotificationSpecifications": { + "type": "object", + "properties": { + "subscriptionStateOverrideActions": { + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionStateOverrideAction" + } + }, + "softDeleteTTL": { + "format": "duration", + "type": "string" + } + } + }, + "TemplateDeploymentOptions": { + "type": "object", + "properties": { + "preflightSupported": { + "type": "boolean" + }, + "preflightOptions": { + "type": "array", + "items": { + "enum": [ + "None", + "ContinueDeploymentOnFailure", + "DefaultValidationOnly" + ], + "type": "string", + "x-ms-enum": { + "name": "PreflightOption", + "modelAsString": true + } + } + } + } + }, + "ResourceProviderManifestProperties": { + "type": "object", + "properties": { + "providerAuthentication": { + "allOf": [ + { + "$ref": "#/definitions/ResourceProviderAuthentication" + } + ] + }, + "providerAuthorizations": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderAuthorization" + } + }, + "namespace": { + "type": "string" + }, + "providerVersion": { + "type": "string" + }, + "providerType": { + "enum": [ + "NotSpecified", + "Internal", + "External", + "Hidden", + "RegistrationFree", + "LegacyRegistrationRequired", + "TenantOnly", + "AuthorizationFree" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceProviderType", + "modelAsString": true + } + }, + "requiredFeatures": { + "type": "array", + "items": { + "type": "string" + } + }, + "featuresRule": { + "allOf": [ + { + "$ref": "#/definitions/FeaturesRule" + } + ] + }, + "requestHeaderOptions": { + "allOf": [ + { + "$ref": "#/definitions/RequestHeaderOptions" + } + ] + }, + "management": { + "allOf": [ + { + "$ref": "#/definitions/ResourceProviderManagement" + } + ] + }, + "capabilities": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderCapabilities" + } + }, + "metadata": {}, + "templateDeploymentOptions": { + "allOf": [ + { + "$ref": "#/definitions/TemplateDeploymentOptions" + } + ] + } + } + }, + "ProviderRegistrationProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceProviderManifestProperties" + } + ], + "properties": { + "providerHubMetadata": { + "allOf": [ + { + "$ref": "#/definitions/ProviderHubMetadata" + } + ] + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The provisioned state of the resource." + }, + "subscriptionLifecycleNotificationSpecifications": { + "allOf": [ + { + "$ref": "#/definitions/SubscriptionLifecycleNotificationSpecifications" + } + ] + } + } + }, + "ProviderRegistration": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/ProviderRegistrationProperties" + } + ] + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "ProviderRegistrationArrayResponseWithContinuation": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ProviderRegistration" + } + }, + "nextLink": { + "description": "The URL to get to the next set of results, if there are any.", + "type": "string" + } + } + }, + "ResourceTypeExtension": { + "type": "object", + "properties": { + "endpointUri": { + "type": "string" + }, + "extensionCategories": { + "type": "array", + "items": { + "enum": [ + "NotSpecified", + "ResourceCreationValidate", + "ResourceCreationBegin", + "ResourceCreationCompleted", + "ResourceReadValidate", + "ResourceReadBegin", + "ResourcePatchValidate", + "ResourcePatchCompleted", + "ResourceDeletionValidate", + "ResourceDeletionBegin", + "ResourceDeletionCompleted", + "ResourcePostAction", + "SubscriptionLifecycleNotification", + "ResourcePatchBegin", + "ResourceMoveBegin", + "ResourceMoveCompleted" + ], + "type": "string", + "x-ms-enum": { + "name": "ExtensionCategory", + "modelAsString": true + } + } + }, + "timeout": { + "format": "duration", + "type": "string" + } + } + }, + "ResourceTypeEndpoint": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "apiVersions": { + "type": "array", + "items": { + "type": "string" + } + }, + "locations": { + "type": "array", + "items": { + "type": "string" + } + }, + "requiredFeatures": { + "type": "array", + "items": { + "type": "string" + } + }, + "featuresRule": { + "allOf": [ + { + "$ref": "#/definitions/FeaturesRule" + } + ] + }, + "extensions": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceTypeExtension" + } + }, + "timeout": { + "format": "duration", + "type": "string" + }, + "endpointType": { + "enum": [ + "NotSpecified", + "Canary", + "Production", + "TestInProduction" + ], + "type": "string", + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true + } + } + } + }, + "ExtensionOptions": { + "type": "object", + "properties": { + "request": { + "type": "array", + "items": { + "enum": [ + "NotSpecified", + "DoNotMergeExistingReadOnlyAndSecretProperties", + "IncludeInternalMetadata" + ], + "type": "string", + "x-ms-enum": { + "name": "ExtensionOptionType", + "modelAsString": true + } + } + }, + "response": { + "type": "array", + "items": { + "enum": [ + "NotSpecified", + "DoNotMergeExistingReadOnlyAndSecretProperties", + "IncludeInternalMetadata" + ], + "type": "string", + "x-ms-enum": { + "name": "ExtensionOptionType", + "modelAsString": true + } + } + } + } + }, + "ResourceTypeExtensionOptions": { + "type": "object", + "properties": { + "resourceCreationBegin": { + "allOf": [ + { + "$ref": "#/definitions/ExtensionOptions" + } + ] + } + } + }, + "SwaggerSpecification": { + "type": "object", + "properties": { + "apiVersions": { + "type": "array", + "items": { + "type": "string" + } + }, + "swaggerSpecFolderUri": { + "type": "string" + } + } + }, + "CheckNameAvailabilitySpecifications": { + "type": "object", + "properties": { + "enableDefaultValidation": { + "type": "boolean" + }, + "resourceTypesWithCustomValidation": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ResourceMovePolicy": { + "type": "object", + "properties": { + "validationRequired": { + "type": "boolean" + }, + "crossResourceGroupMoveEnabled": { + "type": "boolean" + }, + "crossSubscriptionMoveEnabled": { + "type": "boolean" + } + } + }, + "ResourceConcurrencyControlOption": { + "type": "object", + "properties": { + "policy": { + "enum": [ + "NotSpecified", + "SynchronizeBeginExtension" + ], + "type": "string", + "x-ms-enum": { + "name": "Policy", + "modelAsString": true + } + } + } + }, + "ResourceGraphConfiguration": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "apiVersion": { + "type": "string" + } + } + }, + "ResourceTypeRegistrationProperties": { + "type": "object", + "properties": { + "routingType": { + "enum": [ + "Default", + "ProxyOnly", + "HostBased", + "Extension", + "Tenant", + "Fanout", + "LocationBased", + "Failover", + "CascadeExtension" + ], + "type": "string", + "x-ms-enum": { + "name": "RoutingType", + "modelAsString": true + } + }, + "regionality": { + "enum": [ + "NotSpecified", + "Global", + "Regional" + ], + "type": "string", + "x-ms-enum": { + "name": "Regionality", + "modelAsString": true + } + }, + "endpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceTypeEndpoint" + } + }, + "extensionOptions": { + "allOf": [ + { + "$ref": "#/definitions/ResourceTypeExtensionOptions" + } + ] + }, + "marketplaceType": { + "enum": [ + "NotSpecified", + "AddOn", + "Bypass", + "Store" + ], + "type": "string" + }, + "swaggerSpecifications": { + "type": "array", + "items": { + "$ref": "#/definitions/SwaggerSpecification" + } + }, + "allowedUnauthorizedActions": { + "type": "array", + "items": { + "type": "string" + } + }, + "authorizationActionMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/AuthorizationActionMapping" + } + }, + "linkedAccessChecks": { + "type": "array", + "items": { + "$ref": "#/definitions/LinkedAccessCheck" + } + }, + "defaultApiVersion": { + "type": "string" + }, + "loggingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/LoggingRule" + } + }, + "throttlingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/ThrottlingRule" + } + }, + "requiredFeatures": { + "type": "array", + "items": { + "type": "string" + } + }, + "featuresRule": { + "allOf": [ + { + "$ref": "#/definitions/FeaturesRule" + } + ] + }, + "enableAsyncOperation": { + "type": "boolean" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The provisioned state of the resource." + }, + "enableThirdPartyS2S": { + "type": "boolean" + }, + "subscriptionLifecycleNotificationSpecifications": { + "allOf": [ + { + "$ref": "#/definitions/SubscriptionLifecycleNotificationSpecifications" + } + ] + }, + "isPureProxy": { + "type": "boolean" + }, + "identityManagement": { + "allOf": [ + { + "$ref": "#/definitions/IdentityManagementProperties" + } + ] + }, + "checkNameAvailabilitySpecifications": { + "allOf": [ + { + "$ref": "#/definitions/CheckNameAvailabilitySpecifications" + } + ] + }, + "disallowedActionVerbs": { + "type": "array", + "items": { + "type": "string" + } + }, + "serviceTreeInfos": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceTreeInfo" + } + }, + "requestHeaderOptions": { + "allOf": [ + { + "$ref": "#/definitions/RequestHeaderOptions" + } + ] + }, + "subscriptionStateRules": { + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionStateRule" + } + }, + "templateDeploymentOptions": { + "allOf": [ + { + "$ref": "#/definitions/TemplateDeploymentOptions" + } + ] + }, + "extendedLocations": { + "type": "array", + "items": { + "$ref": "#/definitions/ExtendedLocationOptions" + } + }, + "resourceMovePolicy": { + "allOf": [ + { + "$ref": "#/definitions/ResourceMovePolicy" + } + ] + }, + "resourceDeletionPolicy": { + "enum": [ + "NotSpecified", + "CascadeDeleteAll", + "CascadeDeleteProxyOnlyChildren" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceDeletionPolicy", + "modelAsString": true + } + }, + "resourceConcurrencyControlOptions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ResourceConcurrencyControlOption" + } + }, + "resourceGraphConfiguration": { + "allOf": [ + { + "$ref": "#/definitions/ResourceGraphConfiguration" + } + ] + }, + "management": { + "allOf": [ + { + "$ref": "#/definitions/ResourceProviderManagement" + } + ] + }, + "openApiConfiguration": { + "$ref": "#/definitions/OpenApiConfiguration" + } + } + }, + "ResourceTypeRegistration": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/ResourceTypeRegistrationProperties" + } + ] + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "ResourceTypeRegistrationArrayResponseWithContinuation": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceTypeRegistration" + } + }, + "nextLink": { + "description": "The URL to get to the next set of results, if there are any.", + "type": "string" + } + } + }, + "SkuCapability": { + "required": [ + "name", + "value" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "SkuZoneDetail": { + "type": "object", + "properties": { + "name": { + "type": "array", + "items": { + "type": "string" + } + }, + "capabilities": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuCapability" + } + } + } + }, + "SkuLocationInfo": { + "required": [ + "location" + ], + "type": "object", + "properties": { + "location": { + "type": "string" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + } + }, + "zoneDetails": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuZoneDetail" + } + }, + "extendedLocations": { + "type": "array", + "items": { + "type": "string" + } + }, + "type": { + "enum": [ + "NotSpecified", + "EdgeZone", + "ArcZone" + ], + "type": "string" + } + } + }, + "SkuCapacity": { + "required": [ + "minimum" + ], + "type": "object", + "properties": { + "minimum": { + "format": "int32", + "type": "integer" + }, + "maximum": { + "format": "int32", + "type": "integer" + }, + "default": { + "format": "int32", + "type": "integer" + }, + "scaleType": { + "enum": [ + "None", + "Manual", + "Automatic" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuScaleType", + "modelAsString": true + } + } + } + }, + "SkuCost": { + "required": [ + "meterId" + ], + "type": "object", + "properties": { + "meterId": { + "type": "string" + }, + "quantity": { + "format": "int32", + "type": "integer" + }, + "extendedUnit": { + "type": "string" + } + } + }, + "SkuSetting": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "tier": { + "type": "string" + }, + "size": { + "type": "string" + }, + "family": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "locations": { + "type": "array", + "items": { + "type": "string" + } + }, + "locationInfo": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuLocationInfo" + } + }, + "requiredQuotaIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "requiredFeatures": { + "type": "array", + "items": { + "type": "string" + } + }, + "capacity": { + "allOf": [ + { + "$ref": "#/definitions/SkuCapacity" + } + ] + }, + "costs": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuCost" + } + }, + "capabilities": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuCapability" + } + } + } + }, + "ResourceTypeSku": { + "required": [ + "skuSettings" + ], + "type": "object", + "properties": { + "skuSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuSetting" + } + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The provisioned state of the resource." + } + } + }, + "SkuResource": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/ResourceTypeSku" + } + ] + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "SkuResourceArrayResponseWithContinuation": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuResource" + } + }, + "nextLink": { + "description": "The URL to get to the next set of results, if there are any.", + "type": "string" + } + } + }, + "OpenApiConfiguration": { + "type": "object", + "properties": { + "validation": { + "$ref": "#/definitions/OpenApiValidation" + } + } + }, + "OpenApiValidation": { + "type": "object", + "properties": { + "allowNoncompliantCollectionResponse": { + "description": "Indicates whether a non compliance response is allowed for a LIST call", + "type": "boolean" + } + } + }, + "ResourceManagementEntity": { + "required": [ + "resourceId" + ], + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "The resource id." + }, + "homeTenantId": { + "type": "string", + "description": "The home tenant id." + }, + "location": { + "type": "string", + "description": "The location." + }, + "status": { + "readOnly": true, + "type": "string", + "description": "The operation status." + } + } + }, + "ResourceManagementAction": { + "type": "object", + "properties": { + "resources": { + "type": "array", + "description": "resource management action content.", + "x-ms-client-flatten": true, + "items": { + "$ref": "#/definitions/ResourceManagementEntity" + } + } + } + } + }, + "parameters": { + "SelectParameter": { + "in": "query", + "name": "$select", + "description": "An OData $select clause. Used to select the properties to be returned in the GET response.", + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + "FilterParameter": { + "in": "query", + "name": "$filter", + "description": "An OData $filter clause. Used to filter results that are returned in the GET response.", + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + "ProviderNamespaceParameter": { + "in": "path", + "name": "providerNamespace", + "description": "The name of the resource provider hosted within ProviderHub.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "NestedResourceTypeFirstParameter": { + "in": "path", + "name": "nestedResourceTypeFirst", + "description": "The first child resource type.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "NestedResourceTypeSecondParameter": { + "in": "path", + "name": "nestedResourceTypeSecond", + "description": "The second child resource type.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "NestedResourceTypeThirdParameter": { + "in": "path", + "name": "nestedResourceTypeThird", + "description": "The third child resource type.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "GetRolloutNameParameter": { + "in": "path", + "name": "rolloutName", + "description": "The rollout name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "EnvironmentParameter": { + "in": "path", + "name": "environment", + "description": "The environment.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SkuParameter": { + "in": "path", + "name": "sku", + "description": "The SKU.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "GetNotificationRegistrationNameParameter": { + "in": "path", + "name": "notificationRegistrationName", + "description": "The notification registration.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "GetAsyncOperationStatusIdParameter": { + "in": "path", + "name": "asyncOperationStatusId", + "description": "The async operation status ID.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "GetApplicationIdParameter": { + "in": "path", + "name": "applicationId", + "description": "The application ID.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "GetAccountNameParameter": { + "in": "path", + "name": "accountName", + "description": "The available account name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "GetResourceTypeParameter": { + "in": "path", + "name": "resourceType", + "description": "The resource type.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceActionParameter": { + "in": "path", + "name": "resourceActionName", + "description": "The resource action name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/providerhub/resource-manager/readme.md b/specification/providerhub/resource-manager/readme.md index 03fab320236d..57647a6a6e6e 100644 --- a/specification/providerhub/resource-manager/readme.md +++ b/specification/providerhub/resource-manager/readme.md @@ -30,6 +30,19 @@ openapi-subtype: rpaas tag: package-2020-11-20 ``` +### Tag: package-2021-09-01-preview + +These settings apply only when `--tag=package-2021-09-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2021-09-01-preview' +input-file: + - Microsoft.ProviderHub/preview/2021-09-01-preview/providerhub.json +directive: + - suppress: R4009 + from: providerhub.json + reason: This version doesn't support systemData. +``` + ### Tag: package-2021-06-01-preview These settings apply only when `--tag=package-2021-06-01-preview` is specified on the command line. diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Account/preview/2019-11-01-preview/account.json b/specification/purview/data-plane/Azure.Analytics.Purview.Account/preview/2019-11-01-preview/account.json index 8d6a0eedff1d..93ed43e79304 100644 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Account/preview/2019-11-01-preview/account.json +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Account/preview/2019-11-01-preview/account.json @@ -1086,7 +1086,7 @@ "description": "Gets or sets the parent collection reference." }, "systemData": { - "description": "Gets the system data that contains information about who and when created and updated the resource.", + "description": "Metadata pertaining to creation and last modification of the resource.", "allOf": [ { "$ref": "#/definitions/SystemData" @@ -1105,9 +1105,9 @@ "type": "string" }, "type": { - "description": "Gets the reference type property.", + "description": "Gets or sets the reference type property.", "type": "string", - "readOnly": true + "x-ms-client-default": "CollectionReference" } } }, diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Account/preview/2019-11-01-preview/examples/Accounts_UpdateAccountProperties.json b/specification/purview/data-plane/Azure.Analytics.Purview.Account/preview/2019-11-01-preview/examples/Accounts_UpdateAccountProperties.json index 96f6420c79e8..3be3c1f6f78a 100644 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Account/preview/2019-11-01-preview/examples/Accounts_UpdateAccountProperties.json +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Account/preview/2019-11-01-preview/examples/Accounts_UpdateAccountProperties.json @@ -1,8 +1,6 @@ { "parameters": { "endpoint": "{endpoint}", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", - "resourceGroupName": "SampleResourceGroup", "accountName": "account1", "api-version": "2018-12-01-preview", "accountUpdateParameters": { diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-05-01-preview/examples/CatalogCollection_createOrUpdate.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-05-01-preview/examples/Collection_CreateOrUpdate.json similarity index 100% rename from specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-05-01-preview/examples/CatalogCollection_createOrUpdate.json rename to specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-05-01-preview/examples/Collection_CreateOrUpdate.json diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-05-01-preview/examples/CatalogCollection_createOrUpdateBulk.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-05-01-preview/examples/Collection_CreateOrUpdateBulk.json similarity index 100% rename from specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-05-01-preview/examples/CatalogCollection_createOrUpdateBulk.json rename to specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-05-01-preview/examples/Collection_CreateOrUpdateBulk.json diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-05-01-preview/examples/CatalogCollection_moveEntitiesToCollection.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-05-01-preview/examples/Collection_MoveEntitiesToCollection.json similarity index 100% rename from specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-05-01-preview/examples/CatalogCollection_moveEntitiesToCollection.json rename to specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-05-01-preview/examples/Collection_MoveEntitiesToCollection.json diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-05-01-preview/purviewcatalog.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-05-01-preview/purviewcatalog.json index 071107489924..b849b41c3d2c 100644 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-05-01-preview/purviewcatalog.json +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-05-01-preview/purviewcatalog.json @@ -14,7 +14,7 @@ } ] }, - "basePath": "/api", + "basePath": "/catalog/api", "schemes": [ "https" ], @@ -75,6 +75,12 @@ "schema": { "$ref": "#/definitions/EntityMutationResponse" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -119,6 +125,12 @@ "schema": { "$ref": "#/definitions/AtlasEntitiesWithExtInfo" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -150,6 +162,12 @@ "schema": { "$ref": "#/definitions/EntityMutationResponse" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -183,6 +201,12 @@ "schema": { "$ref": "#/definitions/EntityMutationResponse" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -213,6 +237,12 @@ "responses": { "204": { "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -246,6 +276,12 @@ "schema": { "$ref": "#/definitions/AtlasEntityWithExtInfo" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -287,6 +323,12 @@ "schema": { "$ref": "#/definitions/EntityMutationResponse" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -312,6 +354,12 @@ "schema": { "$ref": "#/definitions/EntityMutationResponse" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -342,6 +390,12 @@ "schema": { "$ref": "#/definitions/AtlasClassification" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -367,6 +421,12 @@ "responses": { "204": { "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -394,6 +454,12 @@ "schema": { "$ref": "#/definitions/AtlasClassifications" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -429,6 +495,12 @@ "responses": { "204": { "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -464,6 +536,12 @@ "responses": { "204": { "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -504,6 +582,12 @@ "schema": { "$ref": "#/definitions/AtlasEntityWithExtInfo" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -545,6 +629,12 @@ "schema": { "$ref": "#/definitions/EntityMutationResponse" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -577,6 +667,12 @@ "schema": { "$ref": "#/definitions/EntityMutationResponse" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -611,6 +707,12 @@ "responses": { "204": { "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -655,6 +757,12 @@ "responses": { "204": { "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -697,6 +805,12 @@ "responses": { "204": { "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -734,6 +848,12 @@ "type": "string" } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -774,6 +894,12 @@ "schema": { "$ref": "#/definitions/AtlasEntitiesWithExtInfo" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -801,6 +927,12 @@ "$ref": "#/definitions/AtlasEntityHeader" }, "description": "AtlasEntityHeader" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -826,6 +958,9 @@ }, { "$ref": "#/parameters/sort" + }, + { + "$ref": "#/parameters/ignoreTermsAndCategories" } ], "responses": { @@ -837,6 +972,12 @@ "$ref": "#/definitions/AtlasGlossary" } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -868,6 +1009,12 @@ "schema": { "$ref": "#/definitions/AtlasGlossary" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -909,6 +1056,12 @@ "$ref": "#/definitions/AtlasGlossaryCategory" } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -942,6 +1095,12 @@ "schema": { "$ref": "#/definitions/AtlasGlossaryCategory" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -969,6 +1128,12 @@ "schema": { "$ref": "#/definitions/AtlasGlossaryCategory" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -1003,6 +1168,12 @@ "schema": { "$ref": "#/definitions/AtlasGlossaryCategory" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -1025,6 +1196,12 @@ "responses": { "204": { "description": "OK. If glossary category deletion is successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -1065,6 +1242,12 @@ "schema": { "$ref": "#/definitions/AtlasGlossaryCategory" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -1108,6 +1291,12 @@ } } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -1148,6 +1337,12 @@ "$ref": "#/definitions/AtlasRelatedTermHeader" } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -1187,6 +1382,12 @@ "schema": { "$ref": "#/definitions/AtlasGlossaryTerm" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -1217,6 +1418,12 @@ "schema": { "$ref": "#/definitions/AtlasGlossaryTerm" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -1251,6 +1458,12 @@ "schema": { "$ref": "#/definitions/AtlasGlossaryTerm" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -1273,6 +1486,12 @@ "responses": { "204": { "description": "OK. If glossary term delete was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -1316,6 +1535,12 @@ "schema": { "$ref": "#/definitions/AtlasGlossaryTerm" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -1360,6 +1585,12 @@ "$ref": "#/definitions/AtlasGlossaryTerm" } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -1400,6 +1631,12 @@ "$ref": "#/definitions/AtlasRelatedObjectId" } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -1435,6 +1672,12 @@ "responses": { "204": { "description": "OK. If the term assignment was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -1470,6 +1713,12 @@ "responses": { "204": { "description": "OK. If glossary term dissociation was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -1505,6 +1754,12 @@ "responses": { "204": { "description": "OK. If glossary term dissociation was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -1548,6 +1803,12 @@ } } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -1575,6 +1836,12 @@ "schema": { "$ref": "#/definitions/AtlasGlossary" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -1609,6 +1876,12 @@ "schema": { "$ref": "#/definitions/AtlasGlossary" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -1631,6 +1904,12 @@ "responses": { "204": { "description": "OK. If glossary delete was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -1671,6 +1950,12 @@ "$ref": "#/definitions/AtlasGlossaryCategory" } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -1711,6 +1996,12 @@ "$ref": "#/definitions/AtlasRelatedCategoryHeader" } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -1741,6 +2032,12 @@ "schema": { "$ref": "#/definitions/AtlasGlossaryExtInfo" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -1784,6 +2081,12 @@ "schema": { "$ref": "#/definitions/AtlasGlossary" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -1827,6 +2130,12 @@ "$ref": "#/definitions/AtlasGlossaryTerm" } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -1867,6 +2176,12 @@ "$ref": "#/definitions/AtlasRelatedTermHeader" } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -1910,6 +2225,12 @@ "schema": { "$ref": "#/definitions/ImportCSVOperation" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -1957,6 +2278,12 @@ "schema": { "$ref": "#/definitions/ImportCSVOperation" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -1991,6 +2318,12 @@ "schema": { "$ref": "#/definitions/ImportCSVOperation" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2035,6 +2368,12 @@ "schema": { "type": "file" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2078,6 +2417,12 @@ "$ref": "#/definitions/AtlasGlossaryTerm" } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2153,6 +2498,12 @@ "schema": { "$ref": "#/definitions/SearchResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2189,6 +2540,12 @@ "schema": { "$ref": "#/definitions/SuggestResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2228,6 +2585,12 @@ "schema": { "$ref": "#/definitions/BrowseResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2264,6 +2627,12 @@ "schema": { "$ref": "#/definitions/AutoCompleteResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2306,6 +2675,12 @@ "schema": { "$ref": "#/definitions/AtlasLineageInfo" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2348,6 +2723,12 @@ "schema": { "$ref": "#/definitions/AtlasLineageInfo" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2381,6 +2762,12 @@ "schema": { "$ref": "#/definitions/AtlasRelationship" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -2412,6 +2799,12 @@ "schema": { "$ref": "#/definitions/AtlasRelationship" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2442,6 +2835,12 @@ "schema": { "$ref": "#/definitions/AtlasRelationshipWithExtInfo" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -2464,6 +2863,12 @@ "responses": { "204": { "description": "OK. The relationship is deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2491,6 +2896,12 @@ "schema": { "$ref": "#/definitions/AtlasClassificationDef" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2518,6 +2929,12 @@ "schema": { "$ref": "#/definitions/AtlasClassificationDef" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2545,6 +2962,12 @@ "schema": { "$ref": "#/definitions/AtlasEntityDef" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2572,6 +2995,12 @@ "schema": { "$ref": "#/definitions/AtlasEntityDef" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2599,6 +3028,12 @@ "schema": { "$ref": "#/definitions/AtlasEnumDef" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2626,6 +3061,12 @@ "schema": { "$ref": "#/definitions/AtlasEnumDef" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2653,6 +3094,12 @@ "schema": { "$ref": "#/definitions/AtlasRelationshipDef" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2680,6 +3127,12 @@ "schema": { "$ref": "#/definitions/AtlasRelationshipDef" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2707,6 +3160,12 @@ "schema": { "$ref": "#/definitions/AtlasStructDef" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2734,6 +3193,12 @@ "schema": { "$ref": "#/definitions/AtlasStructDef" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2761,6 +3226,12 @@ "schema": { "$ref": "#/definitions/AtlasTypeDef" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2788,6 +3259,12 @@ "schema": { "$ref": "#/definitions/AtlasTypeDef" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -2810,6 +3287,12 @@ "responses": { "204": { "description": "On successful deletion of the requested type definitions" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2846,6 +3329,12 @@ "schema": { "$ref": "#/definitions/AtlasTypesDef" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -2877,6 +3366,12 @@ "schema": { "$ref": "#/definitions/AtlasTypesDef" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -2908,6 +3403,12 @@ "schema": { "$ref": "#/definitions/AtlasTypesDef" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -2936,6 +3437,12 @@ "responses": { "204": { "description": "OK. On successful deletion of the requested type definitions." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -2970,6 +3477,12 @@ "$ref": "#/definitions/AtlasTypeDefHeader" } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -3000,6 +3513,12 @@ "schema": { "$ref": "#/definitions/TermTemplateDef" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -3030,6 +3549,12 @@ "schema": { "$ref": "#/definitions/TermTemplateDef" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -3037,13 +3562,13 @@ "/collections/{collection}/entity": { "post": { "tags": [ - "CatalogCollection" + "Collection" ], "description": "Creates or updates an entity to a collection.\nExisting entity is matched using its unique guid if supplied or by its unique attributes eg: qualifiedName.\nMap and array of collections are not well supported. E.g., array>, array>.", - "operationId": "CatalogCollection_createOrUpdate", + "operationId": "Collection_CreateOrUpdate", "x-ms-examples": { - "CatalogCollection_createOrUpdate": { - "$ref": "./examples/CatalogCollection_createOrUpdate.json" + "Collection_CreateOrUpdate": { + "$ref": "./examples/Collection_CreateOrUpdate.json" } }, "parameters": [ @@ -3069,6 +3594,12 @@ "schema": { "$ref": "#/definitions/EntityMutationResponse" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -3076,13 +3607,13 @@ "/collections/{collection}/entity/bulk": { "post": { "tags": [ - "CatalogCollection" + "Collection" ], "description": "Creates or updates entities in bulk to a collection.\nExisting entity is matched using its unique guid if supplied or by its unique attributes eg: qualifiedName.\nMap and array of collections are not well supported. E.g., array>, array>.", - "operationId": "CatalogCollection_createOrUpdateBulk", + "operationId": "Collection_CreateOrUpdateBulk", "x-ms-examples": { - "CatalogCollection_createOrUpdateBulk": { - "$ref": "./examples/CatalogCollection_createOrUpdateBulk.json" + "Collection_CreateOrUpdateBulk": { + "$ref": "./examples/Collection_CreateOrUpdateBulk.json" } }, "parameters": [ @@ -3108,6 +3639,12 @@ "schema": { "$ref": "#/definitions/EntityMutationResponse" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -3115,13 +3652,13 @@ "/collections/{collection}/entity/moveHere": { "post": { "tags": [ - "CatalogCollection" + "Collection" ], "description": "Move existing entities to the target collection.", - "operationId": "CatalogCollection_moveEntitiesToCollection", + "operationId": "Collection_MoveEntitiesToCollection", "x-ms-examples": { - "CatalogCollection_moveEntitiesToCollection": { - "$ref": "./examples/CatalogCollection_moveEntitiesToCollection.json" + "Collection_MoveEntitiesToCollection": { + "$ref": "./examples/Collection_MoveEntitiesToCollection.json" } }, "parameters": [ @@ -3147,6 +3684,12 @@ "schema": { "$ref": "#/definitions/EntityMutationResponse" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -5807,12 +6350,29 @@ "type": "string", "title": "lastModifiedTS", "description": "ETag for concurrency control." + }, + "ErrorResponse": { + "description": "An error response from the service", + "properties": { + "requestId": { + "type": "string", + "description": "The request ID." + }, + "errorCode": { + "type": "string", + "description": "The error code." + }, + "errorMessage": { + "type": "string", + "description": "The error message." + } + } } }, "parameters": { "Endpoint": { "name": "Endpoint", - "description": "The catalog endpoint of your Purview account. Example: https://{accountName}.catalog.purview.azure.com", + "description": "The catalog endpoint of your Purview account. Example: https://{accountName}.purview.azure.com", "x-ms-parameter-location": "client", "required": true, "type": "string", @@ -6218,6 +6778,15 @@ "default": false, "x-ms-parameter-location": "method" }, + "ignoreTermsAndCategories": { + "name": "ignoreTermsAndCategories", + "description": "Whether ignore terms and categories", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "x-ms-parameter-location": "method" + }, "purviewAPIVersion": { "name": "api-version", "description": "Version of Purview APIs", diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Collection_CreateOrUpdate.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Collection_CreateOrUpdate.json deleted file mode 100644 index 888e51feab3e..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Collection_CreateOrUpdate.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "collection": "ExampleCollection", - "api-version": "2021-09-01", - "entity": { - "referredEntities": {}, - "entity": { - "typeName": "azure_storage_account", - "attributes": { - "name": "exampleaccount", - "qualifiedName": "https://exampleaccount.core.windows.net" - } - } - } - }, - "responses": { - "200": { - "body": { - "mutatedEntities": { - "CREATE": [ - { - "typeName": "azure_storage_account", - "attributes": { - "qualifiedName": "https://exampleaccount.core.windows.net" - }, - "lastModifiedTS": "1", - "guid": "38d3c41f-300c-434e-8dad-0b1a7cb5efd6", - "status": "ACTIVE" - } - ] - }, - "guidAssignments": { - "-9514774903018162": "38d3c41f-300c-434e-8dad-0b1a7cb5efd6" - } - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Collection_CreateOrUpdateBulk.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Collection_CreateOrUpdateBulk.json deleted file mode 100644 index 3279bfbf0238..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Collection_CreateOrUpdateBulk.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "collection": "ExampleCollection", - "api-version": "2021-09-01", - "entities": { - "referredEntities": {}, - "entities": [ - { - "typeName": "azure_storage_account", - "attributes": { - "qualifiedName": "exampleaccount", - "name": "exampleaccount", - "description": "Example Description" - } - }, - { - "typeName": "azure_storage_account", - "attributes": { - "qualifiedName": "exampleaccount2", - "name": "exampleaccount2" - } - } - ] - } - }, - "responses": { - "200": { - "body": { - "mutatedEntities": { - "UPDATE": [ - { - "typeName": "azure_storage_account", - "attributes": { - "qualifiedName": "exampleaccount" - }, - "lastModifiedTS": "2", - "guid": "b2f9c306-cf65-4bb0-878e-cfaafde156b1", - "status": "ACTIVE" - } - ], - "CREATE": [ - { - "typeName": "azure_storage_account", - "attributes": { - "qualifiedName": "exampleaccount2" - }, - "lastModifiedTS": "1", - "guid": "321493e3-3fb7-4b3e-9df7-3b69154174c2", - "status": "ACTIVE" - } - ] - }, - "guidAssignments": { - "-9514774903018192": "321493e3-3fb7-4b3e-9df7-3b69154174c2", - "-9514774903018193": "b2f9c306-cf65-4bb0-878e-cfaafde156b1" - } - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Collection_MoveEntitiesToCollection.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Collection_MoveEntitiesToCollection.json deleted file mode 100644 index bc9c78428ab4..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Collection_MoveEntitiesToCollection.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "collection": "ExampleNewCollection", - "api-version": "2021-09-01", - "moveEntitiesRequest": { - "entityGuids": [ - "321493e3-3fb7-4b3e-9df7-3b69154174c2", - "b2f9c306-cf65-4bb0-878e-cfaafde156b1" - ] - } - }, - "responses": { - "200": { - "body": { - "mutatedEntities": { - "UPDATE": [ - { - "typeName": "azure_storage_account", - "attributes": { - "qualifiedName": "exampleaccount" - }, - "lastModifiedTS": "3", - "guid": "b2f9c306-cf65-4bb0-878e-cfaafde156b1", - "status": "ACTIVE" - }, - { - "typeName": "azure_storage_account", - "attributes": { - "qualifiedName": "exampleaccount2" - }, - "lastModifiedTS": "2", - "guid": "321493e3-3fb7-4b3e-9df7-3b69154174c2", - "status": "ACTIVE" - } - ] - }, - "guidAssignments": { - "-9514774903018192": "321493e3-3fb7-4b3e-9df7-3b69154174c2", - "-9514774903018193": "b2f9c306-cf65-4bb0-878e-cfaafde156b1" - } - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_AutoComplete.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_AutoComplete.json deleted file mode 100644 index ea712457a329..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_AutoComplete.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "autoCompleteRequest": { - "keywords": "exa", - "filter": { - "and": [ - { - "entityType": "azure_blob_path", - "includeSubTypes": false - } - ] - }, - "limit": 10 - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "text": "example", - "queryPlusText": "example" - }, - { - "text": "exampleconfiguration", - "queryPlusText": "exampleconfiguration" - }, - { - "text": "exampleresources", - "queryPlusText": "exampleresources" - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Browse_EntityType.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Browse_EntityType.json deleted file mode 100644 index ed9dbe98104e..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Browse_EntityType.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "browseRequest": { - "entityType": "azure_data_explorer_cluster", - "limit": 10 - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "@search.count": 1, - "value": [ - { - "id": "7afe6da2-4275-4096-90af-e40479cf70e2", - "name": "examplecluster.westus", - "qualifiedName": "https://examplecluster.westus.kusto.windows.net", - "entityType": "azure_data_explorer_cluster", - "path": "/azure_data_explorer_cluster#examplecluster.westus.kusto.windows.net", - "owner": [ - { - "id": "12345678-1234-5678-1234-86b7251e0353", - "displayName": "Example DisplayName", - "mail": "example.displayname@microsoft.com", - "contactType": "Owner" - } - ], - "isLeaf": false - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Browse_Path.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Browse_Path.json deleted file mode 100644 index 2266e3ed2ee2..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Browse_Path.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "browseRequest": { - "path": "/azure_data_explorer_cluster#examplecluster.westus.kusto.windows.net", - "limit": 10 - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "@search.count": 3, - "value": [ - { - "id": "55656c92-7e29-4831-a243-f95bdcdd397b", - "name": "exampledata", - "qualifiedName": "https://examplecluster.westus.kusto.windows.net/exampledata", - "entityType": "azure_data_explorer_database", - "path": "/azure_data_explorer_cluster#examplecluster.westus.kusto.windows.net/azure_data_explorer_database#exampledata", - "owner": [ - { - "id": "12345678-1234-5678-1234-86b7251e0353", - "displayName": "Example DisplayName", - "mail": "example.displayname@microsoft.com", - "contactType": "Owner" - } - ], - "isLeaf": false - }, - { - "id": "940aa60f-36f6-4dcf-8989-2faa49c74462", - "name": "exampledata2", - "qualifiedName": "https://examplecluster.westus.kusto.windows.net/exampledata2", - "entityType": "azure_data_explorer_database", - "path": "/azure_data_explorer_cluster#examplecluster.westus.kusto.windows.net/azure_data_explorer_database#exampledata2", - "owner": [ - { - "id": "12345678-1234-5678-1234-86b7251e0353", - "displayName": "Example DisplayName", - "mail": "example.displayname@microsoft.com", - "contactType": "Owner" - } - ], - "isLeaf": false - }, - { - "id": "19c4a337-840b-442d-ac9c-3df65bb33d69", - "name": "exampledata3", - "qualifiedName": "https://examplecluster.westus.kusto.windows.net/exampledata3", - "entityType": "azure_data_explorer_database", - "path": "/azure_data_explorer_cluster#examplecluster.westus.kusto.windows.net/azure_data_explorer_database#exampledata3", - "owner": [ - { - "id": "12345678-1234-5678-1234-86b7251e0353", - "displayName": "Example DisplayName", - "mail": "example.displayname@microsoft.com", - "contactType": "Owner" - } - ], - "isLeaf": false - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query.json deleted file mode 100644 index af49c0d0d885..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query.json +++ /dev/null @@ -1,150 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "searchRequest": { - "keywords": "examplefile.csv", - "filter": { - "and": [ - { - "not": { - "or": [ - { - "attributeName": "size", - "operator": "eq", - "attributeValue": 0 - }, - { - "attributeName": "fileSize", - "operator": "eq", - "attributeValue": 0 - } - ] - } - }, - { - "not": { - "classification": "MICROSOFT.SYSTEM.TEMP_FILE" - } - }, - { - "not": { - "or": [ - { - "entityType": "AtlasGlossaryTerm" - }, - { - "entityType": "AtlasGlossary" - } - ] - } - } - ] - }, - "limit": 2, - "offset": 0, - "facets": [ - { - "facet": "assetType", - "count": 0, - "sort": { - "count": "desc" - } - }, - { - "facet": "classification", - "count": 10, - "sort": { - "count": "desc" - } - }, - { - "facet": "contactId", - "count": 10, - "sort": { - "count": "desc" - } - }, - { - "facet": "label", - "count": 10, - "sort": { - "count": "desc" - } - }, - { - "facet": "term", - "count": 10, - "sort": { - "count": "desc" - } - }, - { - "facet": "classificationCategory", - "count": 0, - "sort": { - "count": "desc" - } - }, - { - "facet": "fileExtension", - "count": 0, - "sort": { - "count": "desc" - } - } - ] - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "@search.count": 339, - "value": [ - { - "@search.score": 1.0, - "id": "97dc2d61-ef37-4cfd-8be8-d0a8b3524c1a", - "qualifiedName": "ExampleName1@Glossary", - "name": "Example Name 1", - "description": null, - "owner": null, - "entityType": "AtlasGlossaryTerm", - "classification": [], - "label": [], - "assetType": [], - "term": [], - "contact": [] - }, - { - "@search.score": 1.0, - "id": "477b0278-81e3-473f-a2d4-d134f1b52f84", - "qualifiedName": "ExampleName2@Glossary", - "name": "Example Name 2", - "description": null, - "owner": null, - "entityType": "AtlasGlossaryTerm", - "classification": [], - "label": [], - "assetType": [], - "term": [], - "contact": [] - }, - { - "@search.score": 1.0, - "id": "e09577ab-8d46-48af-b4b6-9476e2b5afb7", - "qualifiedName": "ExampleName2@Glossary", - "name": "Example Name 3", - "description": null, - "owner": null, - "entityType": "AtlasGlossaryTerm", - "classification": [], - "label": [], - "assetType": [], - "term": [], - "contact": [] - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_And.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_And.json deleted file mode 100644 index f27a2cb65bdf..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_And.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "searchRequest": { - "keywords": null, - "limit": 2, - "filter": { - "and": [ - { - "entityType": "azure_blob_path" - }, - { - "attributeName": "qualifiedName", - "operator": "contains", - "attributeValue": ".csv" - } - ] - } - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "@search.count": 5, - "value": [ - { - "@search.score": 1.0, - "@search.highlights": { - "qualifiedName": [ - "https://exampleaccount.blob.core.windows.net/examplepath/csv/exampledata.csv" - ] - }, - "id": "63b92968-c9ac-4af8-8cff-f61d147bbf88", - "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/csv/exampledata.csv", - "name": "exampledata.csv", - "description": null, - "owner": null, - "entityType": "azure_blob_path", - "classification": [], - "label": [ - "Example.Label" - ], - "assetType": [ - "Azure Blob Storage" - ], - "term": [], - "contact": [] - }, - { - "@search.score": 1.0, - "@search.highlights": { - "qualifiedName": [ - "https://exampleaccount.blob.core.windows.net/examplepath/csv/AllTypes.csv" - ] - }, - "id": "2605db54-086d-4d6c-adb6-f0bbed6c6eab", - "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/csv/AllTypes.csv", - "name": "AllTypes.csv", - "description": null, - "owner": null, - "entityType": "azure_blob_path", - "classification": [], - "label": [ - "Example.Label" - ], - "assetType": [ - "Azure Blob Storage" - ], - "term": [], - "contact": [] - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_AndOrNested.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_AndOrNested.json deleted file mode 100644 index 136de5d0f9c6..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_AndOrNested.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "searchRequest": { - "keywords": null, - "limit": 2, - "filter": { - "and": [ - { - "entityType": "azure_blob_path" - }, - { - "attributeName": "qualifiedName", - "operator": "contains", - "attributeValue": ".csv" - }, - { - "or": [ - { - "attributeName": "name", - "operator": "eq", - "attributeValue": "exampledata.csv" - }, - { - "attributeName": "name", - "operator": "startswith", - "attributeValue": "AllTypes" - } - ] - } - ] - } - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "@search.count": 2, - "value": [ - { - "@search.score": 1.0, - "@search.highlights": { - "qualifiedName": [ - "https://exampleaccount.blob.core.windows.net/examplepath/csv/exampledata.csv" - ] - }, - "id": "63b92968-c9ac-4af8-8cff-f61d147bbf88", - "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/csv/exampledata.csv", - "name": "exampledata.csv", - "description": null, - "owner": null, - "entityType": "azure_blob_path", - "classification": [], - "label": [ - "Example.Label" - ], - "assetType": [ - "Azure Blob Storage" - ], - "term": [], - "contact": [] - }, - { - "@search.score": 1.0, - "@search.highlights": { - "qualifiedName": [ - "https://exampleaccount.blob.core.windows.net/examplepath/csv/AllTypes.csv" - ], - "name": [ - "AllTypes.csv" - ] - }, - "id": "2605db54-086d-4d6c-adb6-f0bbed6c6eab", - "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/csv/AllTypes.csv", - "name": "AllTypes.csv", - "description": null, - "owner": null, - "entityType": "azure_blob_path", - "classification": [], - "label": [ - "Example.Label" - ], - "assetType": [ - "Azure Blob Storage" - ], - "term": [], - "contact": [], - "@search.text": "AllTypes.csv" - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_AssetType.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_AssetType.json deleted file mode 100644 index 5f547ea81f8d..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_AssetType.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "searchRequest": { - "keywords": null, - "limit": 2, - "filter": { - "or": [ - { - "assetType": "SQL Server" - }, - { - "assetType": "Azure SQL Server" - }, - { - "assetType": "Azure SQL Database" - }, - { - "assetType": "Azure SQL Data Warehouse" - }, - { - "assetType": "Azure SQL Managed Instance" - }, - { - "assetType": "Azure Storage Account" - }, - { - "assetType": "Azure Blob Storage" - }, - { - "assetType": "Azure Files" - }, - { - "assetType": "Azure Table Storage" - }, - { - "assetType": "Azure Data Lake Storage Gen1" - }, - { - "assetType": "Azure Data Lake Storage Gen2" - }, - { - "assetType": "Azure Cosmos DB" - }, - { - "assetType": "Azure Data Factory" - }, - { - "assetType": "Azure Cognitive Search" - }, - { - "assetType": "Power BI" - }, - { - "assetType": "Azure Data Explorer" - }, - { - "assetType": "Amazon S3" - }, - { - "assetType": "Azure Data Share" - }, - { - "assetType": "Teradata" - }, - { - "assetType": "SAP S4HANA" - }, - { - "assetType": "SAP ECC" - }, - { - "assetType": "SQL Server Integration Services" - }, - { - "assetType": "hive" - }, - { - "assetType": "Azure Database for MySQL" - }, - { - "assetType": "Azure Database for MariaDB" - }, - { - "assetType": "Azure Database for PostgreSQL" - }, - { - "assetType": "Azure Synapse Analytics" - } - ] - } - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "@search.count": 5155, - "value": [ - { - "@search.score": 1.0, - "id": "24c16e53-1bfd-4d6c-b4ce-b1f6f6f60000", - "qualifiedName": "mssql://exampleaccount.database.windows.net:3342/examplesqlmidb/dbo/exampledata1", - "name": "exampledata1", - "description": null, - "owner": null, - "entityType": "azure_sql_mi_table", - "classification": [], - "label": [], - "assetType": [ - "Azure SQL Managed Instance" - ], - "term": [], - "contact": [] - }, - { - "@search.score": 1.0, - "id": "d7b516fc-5d38-40f8-baeb-72f6f6f60000", - "qualifiedName": "mssql://exampleaccount.database.windows.net:3342/examplesqlmidb/dbo/exampledata2", - "name": "exampledata2", - "description": null, - "owner": null, - "entityType": "azure_sql_mi_table", - "classification": [], - "label": [], - "assetType": [ - "Azure SQL Managed Instance" - ], - "term": [], - "contact": [] - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Attribute.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Attribute.json deleted file mode 100644 index 0e500deacfaa..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Attribute.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "searchRequest": { - "keywords": null, - "limit": 2, - "filter": { - "attributeName": "name", - "operator": "eq", - "attributeValue": "exampledata.csv" - } - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "@search.count": 3, - "value": [ - { - "@search.score": 1.0, - "id": "63b92968-c9ac-4af8-8cff-f61d147bbf88", - "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/csv/exampledata.csv", - "name": "exampledata.csv", - "description": null, - "owner": null, - "entityType": "azure_blob_path", - "classification": [], - "label": [ - "Example.Label" - ], - "assetType": [ - "Azure Blob Storage" - ], - "term": [], - "contact": [] - }, - { - "@search.score": 1.0, - "id": "55b2290d-e11d-4ed2-8c7a-0d8d35eb6254", - "qualifiedName": "https://examplegen2account.dfs.core.windows.net/examplepath/csv/exampledata.csv", - "name": "exampledata.csv", - "description": null, - "owner": "$superuser", - "entityType": "azure_datalake_gen2_path", - "classification": [], - "label": [ - "Example.Label" - ], - "assetType": [ - "Azure Data Lake Storage Gen2" - ], - "term": [], - "contact": [] - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Classification.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Classification.json deleted file mode 100644 index b11582753712..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Classification.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "searchRequest": { - "keywords": null, - "limit": 2, - "filter": { - "classification": "MICROSOFT.PERSONAL.EMAIL", - "includeSubClassifications": true - } - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "@search.count": 5, - "value": [ - { - "@search.score": 1.0, - "id": "b9638b91-884f-4e5e-98b5-29f6f6f60000", - "qualifiedName": "mssql://exampleserver.database.windows.net/examplesqldb/examplepath/exampledata1", - "name": "exampledata1", - "description": null, - "owner": null, - "entityType": "azure_sql_table", - "classification": [ - "MICROSOFT.PERSONAL.NAME", - "MICROSOFT.PERSONAL.EU.PHONE_NUMBER", - "MICROSOFT.PERSONAL.US.PHONE_NUMBER", - "MICROSOFT.PERSONAL.EMAIL" - ], - "label": [], - "assetType": [ - "Azure SQL Database" - ], - "term": [], - "contact": [] - }, - { - "@search.score": 1.0, - "id": "01aefb9a-61cd-4a02-a572-70f6f6f60000", - "qualifiedName": "mssql://exampleserver.database.windows.net/exampledw/examplepath/exampledata2", - "name": "exampledata2", - "description": null, - "owner": null, - "entityType": "azure_sql_dw_table", - "classification": [ - "MICROSOFT.GOVERNMENT.CITY_NAME", - "MICROSOFT.GOVERNMENT.US.STATE", - "MICROSOFT.PERSONAL.NAME", - "MICROSOFT.PERSONAL.EU.PHONE_NUMBER", - "MICROSOFT.PERSONAL.EMAIL" - ], - "label": [], - "assetType": [ - "Azure SQL Data Warehouse" - ], - "term": [], - "contact": [] - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Facet.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Facet.json deleted file mode 100644 index b13f33285738..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Facet.json +++ /dev/null @@ -1,164 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "searchRequest": { - "keywords": null, - "filter": { - "and": [ - { - "not": { - "entityType": "AtlasGlossaryTerm", - "includeSubTypes": false - } - } - ] - }, - "limit": 2, - "offset": 0, - "facets": [ - { - "facet": "assetType", - "count": 0 - }, - { - "facet": "classification", - "count": 10 - }, - { - "facet": "term", - "count": 10 - }, - { - "facet": "fileExtension", - "count": 10 - }, - { - "facet": "label", - "count": 10 - }, - { - "facet": "classificationCategory", - "count": 10 - } - ] - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "@search.count": 5156, - "@search.facets": { - "classification": [ - { - "count": 8, - "value": "MICROSOFT.PERSONAL.NAME" - }, - { - "count": 6, - "value": "MICROSOFT.PERSONAL.EU.PHONE_NUMBER" - }, - { - "count": 5, - "value": "MICROSOFT.PERSONAL.EMAIL" - }, - { - "count": 5, - "value": "MICROSOFT.PERSONAL.US.PHONE_NUMBER" - }, - { - "count": 4, - "value": "MICROSOFT.GOVERNMENT.CITY_NAME" - }, - { - "count": 2, - "value": "MICROSOFT.GOVERNMENT.US.STATE" - } - ], - "fileExtension": [], - "assetType": [ - { - "count": 1476, - "value": "Azure SQL Database" - }, - { - "count": 1358, - "value": "Azure SQL Data Warehouse" - }, - { - "count": 1331, - "value": "Azure SQL Managed Instance" - }, - { - "count": 293, - "value": "Azure Data Lake Storage Gen1" - }, - { - "count": 261, - "value": "Azure Blob Storage" - }, - { - "count": 231, - "value": "Azure Data Lake Storage Gen2" - }, - { - "count": 194, - "value": "Azure Files" - }, - { - "count": 18, - "value": "Azure Cosmos DB" - } - ], - "label": [ - { - "count": 835, - "value": "Example.Label" - } - ], - "classificationCategory": [], - "term": [ - { - "count": 1, - "value": "terma" - } - ] - }, - "value": [ - { - "@search.score": 1.0, - "id": "24c16e53-1bfd-4d6c-b4ce-b1f6f6f60000", - "qualifiedName": "mssql://exampleaccount.database.windows.net:3342/examplesqlmidb/dbo/exampledata", - "name": "exampledata", - "description": null, - "owner": null, - "entityType": "azure_sql_mi_table", - "classification": [], - "label": [], - "assetType": [ - "Azure SQL Managed Instance" - ], - "term": [], - "contact": [] - }, - { - "@search.score": 1.0, - "id": "d7b516fc-5d38-40f8-baeb-72f6f6f60000", - "qualifiedName": "mssql://exampleaccount.database.windows.net:3342/examplesqlmidb/dbo/exampledata2", - "name": "exampledata2", - "description": null, - "owner": null, - "entityType": "azure_sql_mi_table", - "classification": [], - "label": [], - "assetType": [ - "Azure SQL Managed Instance" - ], - "term": [], - "contact": [] - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_FileExtension.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_FileExtension.json deleted file mode 100644 index fbfadbf86023..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_FileExtension.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "searchRequest": { - "keywords": null, - "limit": 2, - "filter": { - "and": [ - { - "fileExtension": "txt" - } - ] - } - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "@search.count": 49, - "value": [ - { - "@search.score": 1.0, - "id": "bfecbcc3-1838-45fe-96d6-112de8a170f9", - "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata.txt", - "name": "exampledata.txt", - "description": null, - "owner": null, - "entityType": "azure_blob_path", - "classification": [], - "label": [], - "assetType": [ - "Azure Blob Storage" - ], - "term": [], - "contact": [] - }, - { - "@search.score": 1.0, - "id": "14d857b9-e2c1-4118-8bfa-12e53ae6ce7f", - "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata.txt", - "name": "exampledata.txt", - "description": null, - "owner": null, - "entityType": "azure_blob_path", - "classification": [], - "label": [], - "assetType": [ - "Azure Blob Storage" - ], - "term": [], - "contact": [] - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Id.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Id.json deleted file mode 100644 index bff0d2865453..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Id.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "searchRequest": { - "keywords": null, - "limit": 2, - "filter": { - "and": [ - { - "id": "bfecbcc3-1838-45fe-96d6-112de8a170f9" - } - ] - } - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "@search.count": 1, - "value": [ - { - "@search.score": 1.0, - "id": "bfecbcc3-1838-45fe-96d6-112de8a170f9", - "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata.txt", - "name": "exampledata.txt", - "description": null, - "owner": null, - "entityType": "azure_blob_path", - "classification": [], - "label": [], - "assetType": [ - "Azure Blob Storage" - ], - "term": [], - "contact": [] - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Not.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Not.json deleted file mode 100644 index 8df71388d006..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Not.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "searchRequest": { - "keywords": null, - "limit": 2, - "filter": { - "not": { - "classification": "MICROSOFT.SYSTEM.TEMP_FILE" - } - } - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "@search.count": 5158, - "value": [ - { - "@search.score": 1.0, - "id": "11fd6e94-2dc6-4ebd-822c-caf6f6f60000", - "qualifiedName": "mssql://exampleaccount.database.windows.net:3342/exampledb/dbo/exampledata", - "name": "exampledata", - "description": null, - "owner": null, - "entityType": "azure_sql_mi_table", - "classification": [], - "label": [], - "assetType": [ - "Azure SQL Managed Instance" - ], - "term": [], - "contact": [] - }, - { - "@search.score": 1.0, - "id": "1af82c87-798c-41a2-abab-93f6f6f60000", - "qualifiedName": "mssql://exampleaccount.database.windows.net:3342/exampledb/dbo/exampledata2", - "name": "exampledata2", - "description": null, - "owner": null, - "entityType": "azure_sql_mi_table", - "classification": [], - "label": [], - "assetType": [ - "Azure SQL Managed Instance" - ], - "term": [], - "contact": [] - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Taxonomy.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Taxonomy.json deleted file mode 100644 index 660923d52e17..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Taxonomy.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "searchRequest": { - "keywords": "example", - "filter": { - "and": [ - { - "not": { - "or": [ - { - "attributeName": "size", - "operator": "eq", - "attributeValue": 0 - }, - { - "attributeName": "fileSize", - "operator": "eq", - "attributeValue": 0 - } - ] - } - }, - { - "not": { - "classification": "MICROSOFT.SYSTEM.TEMP_FILE" - } - }, - { - "not": { - "entityType": "AtlasGlossaryTerm", - "includeSubTypes": false - } - } - ] - }, - "limit": 2, - "offset": 0, - "facets": [ - { - "facet": "assetType", - "count": 0 - }, - { - "facet": "classification", - "count": 10 - }, - { - "facet": "terms", - "count": 10 - } - ], - "taxonomySetting": { - "assetTypes": [ - "Azure Blob Storage" - ], - "facet": { - "count": 10, - "sort": { - "count": "desc" - } - } - } - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "@search.count": 339, - "value": [ - { - "@search.score": 1.0, - "id": "97dc2d61-ef37-4cfd-8be8-d0a8b3524c1a", - "qualifiedName": "ExampleName1@Glossary", - "name": "examplename1", - "description": null, - "owner": null, - "entityType": "AtlasGlossaryTerm", - "classification": [], - "label": [], - "assetType": [], - "term": [], - "contact": [] - }, - { - "@search.score": 1.0, - "id": "477b0278-81e3-473f-a2d4-d134f1b52f84", - "qualifiedName": "ExampleName2@Glossary", - "name": "examplename2", - "description": null, - "owner": null, - "entityType": "AtlasGlossaryTerm", - "classification": [], - "label": [], - "assetType": [], - "term": [], - "contact": [] - }, - { - "@search.score": 1.0, - "id": "e09577ab-8d46-48af-b4b6-9476e2b5afb7", - "qualifiedName": "ExampleName3@Glossary", - "name": "examplename3", - "description": null, - "owner": null, - "entityType": "AtlasGlossaryTerm", - "classification": [], - "label": [], - "assetType": [], - "term": [], - "contact": [] - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Term.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Term.json deleted file mode 100644 index 65e017a50a3a..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Term.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "searchRequest": { - "keywords": null, - "limit": 3, - "filter": { - "and": [ - { - "term": "ExampleTerm" - } - ] - } - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "@search.count": 1, - "value": [ - { - "@search.score": 1.0, - "id": "b20ac13a-7883-4376-b076-bac9f8f214a8", - "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplecontainer", - "name": "examplecontainer", - "description": null, - "owner": null, - "entityType": "azure_blob_container", - "classification": [], - "assetType": [ - "Azure Blob Storage" - ], - "term": [ - { - "name": "ExampleTerm", - "glossaryName": "Glossary" - } - ], - "contact": [], - "label": [ - "Example.Label" - ] - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_TermOfGlossary.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_TermOfGlossary.json deleted file mode 100644 index 1ecd7756570f..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_TermOfGlossary.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "searchRequest": { - "keywords": null, - "limit": 3, - "filter": { - "and": [ - { - "term": "ExampleTerm", - "glossaryName": "Glossary" - } - ] - } - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "@search.count": 1, - "value": [ - { - "@search.score": 1.0, - "id": "b20ac13a-7883-4376-b076-bac9f8f214a8", - "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplecontainer", - "name": "examplecontainer", - "description": null, - "owner": null, - "entityType": "azure_blob_container", - "classification": [], - "assetType": [ - "Azure Blob Storage" - ], - "term": [ - { - "name": "ExampleTerm", - "glossaryName": "Glossary" - } - ], - "contact": [], - "label": [ - "Example.Label" - ] - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Type.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Type.json deleted file mode 100644 index 003339c6f2f9..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Query_Type.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "searchRequest": { - "keywords": null, - "limit": 2, - "filter": { - "and": [ - { - "entityType": "azure_blob_path", - "includeSubTypes": false - } - ] - } - }, - "api-version": "2021-05-01-preview" - }, - "responses": { - "200": { - "body": { - "@search.count": 221, - "value": [ - { - "@search.score": 1.0, - "id": "1d797ddf-47bf-4151-8fe8-918590d62e70", - "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata.csv", - "name": "exampledata.csv", - "description": null, - "owner": null, - "entityType": "azure_blob_path", - "classification": [], - "label": [ - "Example.Label" - ], - "assetType": [ - "Azure Blob Storage" - ], - "term": [], - "contact": [] - }, - { - "@search.score": 1.0, - "id": "d3e83b17-c730-4898-94c8-58579cda04f6", - "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata2.csv", - "name": "exampledata2.csv", - "description": null, - "owner": null, - "entityType": "azure_blob_path", - "classification": [], - "label": [ - "Example.Label" - ], - "assetType": [ - "Azure Blob Storage" - ], - "term": [], - "contact": [] - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Suggest.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Suggest.json deleted file mode 100644 index a95853b80148..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Discovery_Suggest.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "suggestRequest": { - "keywords": "exampledata", - "filter": { - "and": [ - { - "entityType": "azure_blob_path", - "includeSubTypes": false - } - ] - }, - "limit": 10 - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "@search.text": "exampledata.csv", - "@search.score": 9.81402, - "description": "Example Description", - "id": "af7a01b0-1b14-4ab6-83a5-12cb11a717ed", - "name": "exampledata.csv", - "owner": "$superuser", - "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata.csv", - "entityType": "azure_blob_path", - "assetType": [ - "Azure Blob Storage" - ], - "classification": [ - "MICROSOFT.GOVERNMENT.US.PASSPORT_NUMBER" - ], - "contact": [ - { - "id": "8a597ffc-6993-4772-ac25-86b7251e1234", - "info": "Example Info", - "contactType": "Expert" - } - ], - "label": [ - "Example.Label" - ], - "term": [ - { - "name": "Example Term", - "glossaryName": "Glossary" - } - ] - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_AddClassificationToEntityByGuids.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_AddClassificationToEntityByGuids.json deleted file mode 100644 index c955f4586918..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_AddClassificationToEntityByGuids.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "request": { - "classification": { - "typeName": "MICROSOFT.FINANCIAL.US.ABA_ROUTING_NUMBER", - "attributes": {}, - "validityPeriods": [] - }, - "entityGuids": [ - "784c0f2f-afd2-e26b-f9cb-984f6c2c5021", - "b4ebc8be-cef4-860a-bee9-28cc34cb5caa" - ] - } - }, - "responses": { - "204": {} - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_AddClassifications.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_AddClassifications.json deleted file mode 100644 index 6aa11763de71..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_AddClassifications.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "cc0730ba-9b30-41f0-6953-559d17626d2b", - "classifications": [ - { - "typeName": "MICROSOFT.FINANCIAL.US.ABA_ROUTING_NUMBER", - "entityGuid": "cc0730ba-9b30-41f0-6953-559d17626d2b" - }, - { - "typeName": "MICROSOFT.FINANCIAL.CREDIT_CARD_NUMBER", - "entityGuid": "cc0730ba-9b30-41f0-6953-559d17626d2b" - } - ] - }, - "responses": { - "204": {} - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_AddClassificationsByUniqueAttribute.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_AddClassificationsByUniqueAttribute.json deleted file mode 100644 index e82bbe57a2f3..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_AddClassificationsByUniqueAttribute.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "typeName": "azure_storage_account", - "attr:qualifiedName": "https://exampleaccount.core.windows.net", - "atlasClassificationArray": [ - { - "typeName": "MICROSOFT.FINANCIAL.US.ABA_ROUTING_NUMBER" - }, - { - "typeName": "MICROSOFT.FINANCIAL.CREDIT_CARD_NUMBER" - } - ] - }, - "responses": { - "204": {} - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_Create.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_Create.json deleted file mode 100644 index b4946962b191..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_Create.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "entity": { - "referredEntities": {}, - "entity": { - "typeName": "azure_storage_account", - "attributes": { - "owner": "ExampleOwner", - "modifiedTime": 0, - "createTime": 0, - "qualifiedName": "https://exampleaccount.core.windows.net", - "name": "ExampleStorageAccount", - "description": null, - "publicAccessLevel": null - }, - "contacts": { - "Expert": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Expert Info" - } - ], - "Owner": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Owner Info" - } - ] - }, - "status": "ACTIVE", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "version": 0 - } - } - }, - "responses": { - "200": { - "body": { - "mutatedEntities": { - "CREATE": [ - { - "typeName": "azure_storage_account", - "attributes": { - "qualifiedName": "https://exampleaccount.core.windows.net" - }, - "lastModifiedTS": "1", - "guid": "38d3c41f-300c-434e-8dad-0b1a7cb5efd6", - "status": "ACTIVE" - } - ] - }, - "guidAssignments": { - "-9514774903018162": "38d3c41f-300c-434e-8dad-0b1a7cb5efd6" - } - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_CreateOrUpdateEntities.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_CreateOrUpdateEntities.json deleted file mode 100644 index 779992eff9ba..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_CreateOrUpdateEntities.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "entities": { - "referredEntities": {}, - "entities": [ - { - "typeName": "azure_storage_account", - "attributes": { - "owner": "ExampleOwner", - "modifiedTime": 0, - "createTime": 0, - "qualifiedName": "exampleaccount1", - "name": "ExampleStorageAccount1", - "description": null, - "publicAccessLevel": null - }, - "contacts": { - "Expert": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Expert Info" - } - ], - "Owner": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Owner Info" - } - ] - }, - "status": "ACTIVE", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "version": 0 - }, - { - "typeName": "azure_storage_account", - "attributes": { - "owner": "ExampleOwner", - "modifiedTime": 0, - "createTime": 0, - "qualifiedName": "exampleaccount2", - "name": "ExampleStorageAccount2", - "description": "Example Description", - "publicAccessLevel": null - }, - "contacts": { - "Expert": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Expert Info" - } - ], - "Owner": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Owner Info" - } - ] - }, - "status": "ACTIVE", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "version": 0 - } - ] - } - }, - "responses": { - "200": { - "body": { - "mutatedEntities": { - "UPDATE": [ - { - "typeName": "azure_storage_account", - "attributes": { - "qualifiedName": "exampleaccount2" - }, - "lastModifiedTS": "2", - "guid": "b2f9c306-cf65-4bb0-878e-cfaafde156b1", - "status": "ACTIVE" - } - ], - "CREATE": [ - { - "typeName": "azure_storage_account", - "attributes": { - "qualifiedName": "exampleaccount1" - }, - "lastModifiedTS": "1", - "guid": "321493e3-3fb7-4b3e-9df7-3b69154174c2", - "status": "ACTIVE" - } - ] - }, - "guidAssignments": { - "-9514774903018192": "321493e3-3fb7-4b3e-9df7-3b69154174c2", - "-9514774903018193": "b2f9c306-cf65-4bb0-878e-cfaafde156b1" - } - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_DeleteByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_DeleteByGuid.json deleted file mode 100644 index 029021e09916..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_DeleteByGuid.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "fd279eb4-f6c3-1b0b-ad67-e4f8abd2972f" - }, - "responses": { - "200": { - "body": { - "mutatedEntities": { - "DELETE": [ - { - "guid": "fd279eb4-f6c3-1b0b-ad67-e4f8abd2972f", - "status": "ACTIVE", - "lastModifiedTS": "2", - "attributes": { - "owner": "ExampleOwner", - "qualifiedName": "https://exampleaccount.core.windows.net", - "name": "ExampleStorageAaccount" - }, - "typeName": "azure_storage_account" - } - ] - } - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_DeleteByGuids.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_DeleteByGuids.json deleted file mode 100644 index f13c86d2564a..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_DeleteByGuids.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guids": [ - "18e06957-e265-967a-07f1-e14e2ab8940f", - "cc0730ba-9b30-41f0-6953-559d17626d2b" - ] - }, - "responses": { - "200": { - "body": { - "mutatedEntities": { - "DELETE": [ - { - "typeName": "azure_blob_container", - "attributes": { - "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplecontainer" - }, - "guid": "18e06957-e265-967a-07f1-e14e2ab8940f", - "status": "ACTIVE" - }, - { - "typeName": "azure_blob_container", - "attributes": { - "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplecontainer2" - }, - "guid": "cc0730ba-9b30-41f0-6953-559d17626d2b", - "status": "ACTIVE" - } - ] - } - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_DeleteByUniqueAttribute.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_DeleteByUniqueAttribute.json deleted file mode 100644 index 34948b6504ab..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_DeleteByUniqueAttribute.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "typeName": "azure_storage_account", - "attr:qualifiedName": "https://exampleaccount.core.windows.net" - }, - "responses": { - "200": { - "body": { - "mutatedEntities": { - "DELETE": [ - { - "classificationNames": [], - "displayText": "Example Name", - "guid": "e0ba3f20-f3b5-4d52-b769-ed35a02df60a", - "meaningNames": [], - "meanings": [], - "status": "ACTIVE", - "lastModifiedTS": "1", - "attributes": { - "owner": "ExampleOwner", - "createTime": 0, - "qualifiedName": "https://exampleaccount.core.windows.net", - "name": "ExampleName" - }, - "typeName": "azure_storage_account" - } - ] - } - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_DeleteClassification.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_DeleteClassification.json deleted file mode 100644 index 0967940bc811..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_DeleteClassification.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "cc0730ba-9b30-41f0-6953-559d17626d2b", - "classificationName": "MICROSOFT.FINANCIAL.US.ABA_ROUTING_NUMBER" - }, - "responses": { - "204": {} - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_DeleteClassificationByUniqueAttribute.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_DeleteClassificationByUniqueAttribute.json deleted file mode 100644 index 4d2cc9927070..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_DeleteClassificationByUniqueAttribute.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "typeName": "column", - "classificationName": "MICROSOFT.FINANCIAL.US.ABA_ROUTING_NUMBER", - "attr:qualifiedName": "https://exampleaccount.blob.core.windows.net/examplecontainer/exampledata.csv" - }, - "responses": { - "204": {} - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_GetByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_GetByGuid.json deleted file mode 100644 index 918d06e41adc..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_GetByGuid.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "5cf8a9e5-c9fd-abe0-2e8c-d40024263dcb" - }, - "responses": { - "200": { - "body": { - "referredEntities": {}, - "entity": { - "typeName": "column", - "attributes": { - "owner": null, - "qualifiedName": "adl://exampleaccount.azuredatalakestore.net/123/1/DP_TFS/CBT/Extensions/DTTP.targets#:xml/Project/Target/XmlPeek/@XmlInputPath", - "name": "~XmlInputPath", - "description": null, - "type": "string" - }, - "guid": "5cf8a9e5-c9fd-abe0-2e8c-d40024263dcb", - "status": "ACTIVE", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553072455110, - "updateTime": 1553072455110, - "version": 0, - "relationshipAttributes": { - "schema": [], - "inputToProcesses": [], - "composeSchema": { - "guid": "cc6652ae-dc6d-90c9-1899-252eabc0e929", - "typeName": "tabular_schema", - "displayText": "tabular_schema", - "relationshipGuid": "5a4510d4-57d0-467c-888f-4b61df42702b", - "relationshipStatus": "ACTIVE", - "relationshipAttributes": { - "typeName": "tabular_schema_columns" - } - }, - "meanings": [], - "outputFromProcesses": [], - "tabular_schema": null - }, - "contacts": { - "Expert": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Expert Info" - } - ], - "Owner": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Owner Info" - } - ] - } - } - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_GetByUniqueAttributes.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_GetByUniqueAttributes.json deleted file mode 100644 index 1985ed6cb10e..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_GetByUniqueAttributes.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "typeName": "azure_storage_account", - "attr:qualifiedName": "https://exampleaccount.core.windows.net" - }, - "responses": { - "200": { - "body": { - "entity": { - "createTime": 1605703532110, - "createdBy": "8c062c84-5d25-449f-a990-9d8ab70b8ec7", - "guid": "e0ba3f20-f3b5-4d52-b769-ed35a02df60a", - "relationshipAttributes": { - "services": [], - "meanings": [] - }, - "status": "ACTIVE", - "updateTime": 1605703532110, - "updatedBy": "8c062c84-5d25-449f-a990-9d8ab70b8ec7", - "lastModifiedTS": "2", - "version": 0.0, - "attributes": { - "owner": "ExampleOwner", - "qualifiedName": "https://exampleaccount.core.windows.net", - "createTime": 0, - "name": "ExampleNewName" - }, - "typeName": "azure_storage_account" - }, - "referredEntities": {} - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_GetClassification.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_GetClassification.json deleted file mode 100644 index 1d976b1e21e0..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_GetClassification.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "9347abc5-7b86-4b82-a1e2-ad77c7c3cac3", - "classificationName": "MICROSOFT.PERSONAL.DATE_OF_BIRTH" - }, - "responses": { - "200": { - "body": { - "typeName": "MICROSOFT.PERSONAL.DATE_OF_BIRTH", - "lastModifiedTS": "1", - "entityGuid": "9347abc5-7b86-4b82-a1e2-ad77c7c3cac3", - "entityStatus": "ACTIVE" - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_GetClassifications.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_GetClassifications.json deleted file mode 100644 index 8f89220119d7..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_GetClassifications.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "67d26de6-771d-1a2d-cb2b-dec4dbd2a9bd" - }, - "responses": { - "200": { - "body": { - "list": [ - { - "typeName": "MICROSOFT.FINANCIAL.US.ABA_ROUTING_NUMBER", - "entityGuid": "67d26de6-771d-1a2d-cb2b-dec4dbd2a9bd" - } - ], - "startIndex": 0, - "pageSize": 1, - "totalCount": 1, - "sortType": "NONE" - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_GetEntitiesByUniqueAttributes.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_GetEntitiesByUniqueAttributes.json deleted file mode 100644 index 8c7356021a43..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_GetEntitiesByUniqueAttributes.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "typeName": "azure_storage_account", - "attr_1:qualifiedName": "adl://exampleaccount.azuredatalakestore.net/123/1/DP_TFS/CBT/Extensions/DTTP.targets#:xml/Project/PropertyGroup/ExampleName1", - "attr_2:qualifiedName": "adl://exampleaccount.azuredatalakestore.net/123/1/Experience/CBT/Extensions/CodeAnalysis.targets#:xml/Project/PropertyGroup/ExampleName2" - }, - "responses": { - "200": { - "body": { - "referredEntities": {}, - "entities": [ - { - "typeName": "column", - "attributes": { - "owner": null, - "qualifiedName": "adl://exampleaccount.azuredatalakestore.net/123/1/DP_TFS/CBT/Extensions/DTTP.targets#:xml/Project/PropertyGroup/ExampleName1", - "name": "ExampleName1", - "description": null, - "type": "string" - }, - "guid": "784c0f2f-afd2-e26b-f9cb-984f6c2c5021", - "status": "ACTIVE", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553072455110, - "updateTime": 1553072455110, - "version": 0, - "relationshipAttributes": { - "schema": [], - "inputToProcesses": [], - "composeSchema": { - "guid": "cc6652ae-dc6d-90c9-1899-252eabc0e929", - "typeName": "tabular_schema", - "displayText": "tabular_schema", - "relationshipGuid": "400fd8e4-97bd-45eb-a21c-880b4094ce5b", - "relationshipStatus": "ACTIVE", - "relationshipAttributes": { - "typeName": "tabular_schema_columns" - } - }, - "meanings": [], - "outputFromProcesses": [], - "tabular_schema": null - } - }, - { - "typeName": "column", - "attributes": { - "owner": null, - "qualifiedName": "adl://exampleaccount.azuredatalakestore.net/123/1/Experience/CBT/Extensions/CodeAnalysis.targets#:xml/Project/PropertyGroup/ExampleName2", - "name": "ExampleName2", - "description": null, - "type": "string" - }, - "guid": "b4ebc8be-cef4-860a-bee9-28cc34cb5caa", - "status": "ACTIVE", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553072455110, - "updateTime": 1553072455110, - "version": 0, - "relationshipAttributes": { - "schema": [], - "inputToProcesses": [], - "composeSchema": { - "guid": "381dd3e6-dad5-7409-c21d-ea55b666e420", - "typeName": "tabular_schema", - "displayText": "tabular_schema", - "relationshipGuid": "0b652860-ab79-48cd-a0cf-0867fbba31a3", - "relationshipStatus": "ACTIVE", - "relationshipAttributes": { - "typeName": "tabular_schema_columns" - } - }, - "meanings": [], - "outputFromProcesses": [], - "tabular_schema": null - } - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_GetHeader.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_GetHeader.json deleted file mode 100644 index c9ae29bce60d..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_GetHeader.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "9fb74c11-ac48-4650-95bc-760665c5bd92" - }, - "responses": { - "200": { - "body": { - "classificationNames": [ - "MICROSOFT.PERSONAL.EMAIL" - ], - "displayText": "Example Storage Account", - "guid": "9fb74c11-ac48-4650-95bc-760665c5bd92", - "meaningNames": [], - "meanings": [], - "status": "ACTIVE", - "lastModifiedTS": "3", - "attributes": { - "owner": "ExampleOwner", - "createTime": 0, - "qualifiedName": "https://exampleaccount.core.windows.net", - "name": "ExampleStorageAccount" - }, - "typeName": "azure_storage_account" - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_ListByGuids.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_ListByGuids.json deleted file mode 100644 index 23681ef47140..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_ListByGuids.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guids": [ - "784c0f2f-afd2-e26b-f9cb-984f6c2c5021", - "b4ebc8be-cef4-860a-bee9-28cc34cb5caa" - ] - }, - "responses": { - "200": { - "body": { - "referredEntities": {}, - "entities": [ - { - "typeName": "column", - "attributes": { - "owner": null, - "qualifiedName": "adl://exampleaccount.azuredatalakestore.net/123/1/DP_TFS/CBT/Extensions/DTTP.targets#:xml/Project/PropertyGroup/ExampleName1", - "name": "ExampleName1", - "description": null, - "type": "string" - }, - "guid": "784c0f2f-afd2-e26b-f9cb-984f6c2c5021", - "status": "ACTIVE", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553072455110, - "updateTime": 1553072455110, - "version": 0, - "relationshipAttributes": { - "schema": [], - "inputToProcesses": [], - "composeSchema": { - "guid": "cc6652ae-dc6d-90c9-1899-252eabc0e929", - "typeName": "tabular_schema", - "displayText": "tabular_schema", - "relationshipGuid": "400fd8e4-97bd-45eb-a21c-880b4094ce5b", - "relationshipStatus": "ACTIVE", - "relationshipAttributes": { - "typeName": "tabular_schema_columns" - } - }, - "meanings": [], - "outputFromProcesses": [], - "tabular_schema": null - }, - "contacts": { - "Expert": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Expert Info" - } - ], - "Owner": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Owner Info" - } - ] - } - }, - { - "typeName": "column", - "attributes": { - "owner": null, - "qualifiedName": "adl://exampleaccount.azuredatalakestore.net/123/1/Experience/CBT/Extensions/CodeAnalysis.targets#:xml/Project/PropertyGroup/ExampleName2", - "name": "ExampleName2", - "description": null, - "type": "string" - }, - "guid": "b4ebc8be-cef4-860a-bee9-28cc34cb5caa", - "status": "ACTIVE", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553072455110, - "updateTime": 1553072455110, - "version": 0, - "relationshipAttributes": { - "schema": [], - "inputToProcesses": [], - "composeSchema": { - "guid": "381dd3e6-dad5-7409-c21d-ea55b666e420", - "typeName": "tabular_schema", - "displayText": "tabular_schema", - "relationshipGuid": "0b652860-ab79-48cd-a0cf-0867fbba31a3", - "relationshipStatus": "ACTIVE", - "relationshipAttributes": { - "typeName": "tabular_schema_columns" - } - }, - "meanings": [], - "outputFromProcesses": [], - "tabular_schema": null - }, - "contacts": { - "Expert": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Expert Info" - } - ], - "Owner": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Owner Info" - } - ] - } - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_PartialUpdateEntityAttributeByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_PartialUpdateEntityAttributeByGuid.json deleted file mode 100644 index 343a0b2ecb25..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_PartialUpdateEntityAttributeByGuid.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "394d9a03-912e-483b-bbd2-bedee1a69798", - "name": "ExampleName", - "body": "ExampleNewName" - }, - "responses": { - "200": { - "body": { - "mutatedEntities": { - "CREATE": [ - { - "typeName": "azure_storage_account", - "attributes": { - "qualifiedName": "https://exampleaccount.core.windows.net" - }, - "lastModifiedTS": "1", - "guid": "394d9a03-912e-483b-bbd2-bedee1a69798", - "status": "ACTIVE" - } - ] - }, - "partialUpdatedEntities": [ - { - "typeName": "azure_storage_account", - "attributes": { - "qualifiedName": "https://exampleaccount.core.windows.net" - }, - "lastModifiedTS": "1", - "guid": "394d9a03-912e-483b-bbd2-bedee1a69798" - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_PartialUpdateEntityByUniqueAttributes.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_PartialUpdateEntityByUniqueAttributes.json deleted file mode 100644 index a38dc403ff1d..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_PartialUpdateEntityByUniqueAttributes.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "typeName": "azure_storage_account", - "attr:qualifiedName": "https://exampleaccount.core.windows.net", - "atlasEntityWithExtInfo": { - "entity": { - "createTime": 1.605766397985E12, - "createdBy": "8c062c84-5d25-449f-a990-9d8ab70b8ec7", - "guid": "dc507ccf-0c57-4165-9327-f37b0d13fda0", - "relationshipAttributes": { - "services": [], - "meanings": [] - }, - "status": "ACTIVE", - "updateTime": 1.605766397985E12, - "updatedBy": "8c062c84-5d25-449f-a990-9d8ab70b8ec7", - "lastModifiedTS": "1", - "version": 0.0, - "attributes": { - "owner": "ExampleOwner", - "qualifiedName": "https://exampleaccount.core.windows.net", - "createTime": 0, - "name": "ExampleNewName" - }, - "typeName": "azure_storage_account" - }, - "referredEntities": {} - } - }, - "responses": { - "200": { - "body": { - "guidAssignments": {}, - "mutatedEntities": { - "PARTIAL_UPDATE": [ - { - "guid": "dc507ccf-0c57-4165-9327-f37b0d13fda0", - "lastModifiedTS": "2", - "attributes": { - "qualifiedName": "https://exampleaccount.core.windows.net" - }, - "typeName": "azure_storage_account" - } - ] - }, - "partialUpdatedEntities": [ - { - "guid": "dc507ccf-0c57-4165-9327-f37b0d13fda0", - "lastModifiedTS": "2", - "attributes": { - "qualifiedName": "https://exampleaccount.core.windows.net" - }, - "typeName": "azure_storage_account" - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_SetClassifications.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_SetClassifications.json deleted file mode 100644 index 907bbe9c1e97..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_SetClassifications.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "entityHeaders": { - "guidHeaderMap": { - "9fb74c11-ac48-4650-95bc-760665c5bd92": { - "attributes": { - "qualifiedName": "https://exampleaccount1.core.windows.net" - }, - "typeName": "azure_storage_account", - "classifications": [ - { - "typeName": "MICROSOFT.PERSONAL.EMAIL" - } - ] - }, - "7fcc43ab-55ea-45d4-9971-ce0443cb10bb": { - "attributes": { - "qualifiedName": "https://exampleaccount2.core.windows.net" - }, - "typeName": "azure_storage_account", - "classifications": [ - { - "typeName": "MICROSOFT.PERSONAL.IPADDRESS" - } - ] - } - } - } - }, - "responses": { - "200": { - "body": [ - "Add:9fb74c11-ac48-4650-95bc-760665c5bd92:azure_storage_account:qualifiedName -> MICROSOFT.PERSONAL.EMAIL:(Done)", - "Update:7fcc43ab-55ea-45d4-9971-ce0443cb10bb:azure_storage_account:qualifiedName -> MICROSOFT.PERSONAL.IPADDRESS:(Done)" - ] - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_Update.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_Update.json deleted file mode 100644 index 56799529f337..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_Update.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "entity": { - "referredEntities": {}, - "entity": { - "typeName": "azure_storage_account", - "attributes": { - "owner": "ExampleOwner", - "modifiedTime": 0, - "createTime": 0, - "qualifiedName": "exampleaccount", - "name": "ExampleStorageAccount", - "description": null, - "publicAccessLevel": null - }, - "contacts": { - "Expert": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Expert Info" - } - ], - "Owner": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Owner Info" - } - ] - }, - "status": "ACTIVE", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "version": 0 - } - } - }, - "responses": { - "200": { - "body": { - "mutatedEntities": { - "UPDATE": [ - { - "typeName": "azure_storage_account", - "attributes": { - "qualifiedName": "exampleaccount" - }, - "lastModifiedTS": "2", - "guid": "029d5668-a36c-40a9-bc11-6f352bafdc3b" - } - ] - }, - "guidAssignments": { - "-9514774903018167": "029d5668-a36c-40a9-bc11-6f352bafdc3b" - } - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_UpdateClassifications.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_UpdateClassifications.json deleted file mode 100644 index d558a272e7ea..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_UpdateClassifications.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "45dd4404-e897-b7e2-ca3c-f6e6b11b4f24", - "classifications": [ - { - "typeName": "MICROSOFT.FINANCIAL.CREDIT_CARD_NUMBER", - "entityGuid": "45dd4404-e897-b7e2-ca3c-f6e6b11b4f24" - }, - { - "typeName": "MICROSOFT.FINANCIAL.US_BANK_ACCOUNT_NUMBER", - "entityGuid": "45dd4404-e897-b7e2-ca3c-f6e6b11b4f24" - } - ] - }, - "responses": { - "204": {} - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_UpdateClassificationsByUniqueAttribute.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_UpdateClassificationsByUniqueAttribute.json deleted file mode 100644 index e82bbe57a2f3..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Entity_UpdateClassificationsByUniqueAttribute.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "typeName": "azure_storage_account", - "attr:qualifiedName": "https://exampleaccount.core.windows.net", - "atlasClassificationArray": [ - { - "typeName": "MICROSOFT.FINANCIAL.US.ABA_ROUTING_NUMBER" - }, - { - "typeName": "MICROSOFT.FINANCIAL.CREDIT_CARD_NUMBER" - } - ] - }, - "responses": { - "204": {} - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/GetLineageGraph.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/GetLineageGraph.json deleted file mode 100644 index 58bc26b0bcdb..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/GetLineageGraph.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "a6894eb3-81f3-829b-2adc-52f3e603411a", - "depth": "1", - "width": "5", - "includeParent": true, - "getDerivedLineage": true, - "direction": "INPUT" - }, - "responses": { - "200": { - "body": { - "baseEntityGuid": "a6894eb3-81f3-829b-2adc-52f3e603411a", - "lineageDirection": "INPUT", - "lineageDepth": 1, - "lineageWidth": 1, - "childrenCount": 1, - "guidEntityMap": {}, - "widthCounts": {}, - "includeParent": true, - "relations": [], - "parentRelations": [] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_AssignTermToEntities.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_AssignTermToEntities.json deleted file mode 100644 index 5ff085189499..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_AssignTermToEntities.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "termGuid": "8a7f65ec-6429-0b9b-3734-ec57bf1e34c2", - "relatedObjectIds": [ - { - "guid": "ab9f1920-0b94-436d-aeb4-11a32c270fc0", - "relationshipAttributes": { - "attributes": { - "expression": "Example Expression", - "confidence": 100, - "description": "Example Description", - "source": "ExampleSource" - } - } - } - ] - }, - "responses": { - "204": {} - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_CreateGlossary.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_CreateGlossary.json deleted file mode 100644 index 05ab5190130d..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_CreateGlossary.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "atlasGlossary": { - "name": "Glossary", - "shortDescription": "Example Short Description", - "longDescription": "Example Long Description", - "language": "en", - "usage": "Example Glossary" - } - }, - "responses": { - "200": { - "body": { - "guid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "qualifiedName": "Glossary", - "name": "Glossary", - "shortDescription": "Example Short Description", - "longDescription": "Example Long Description", - "lastModifiedTS": "1", - "language": "en", - "usage": "Example Glossary" - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_CreateGlossaryCategories.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_CreateGlossaryCategories.json deleted file mode 100644 index 17a515af1f09..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_CreateGlossaryCategories.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "glossaryCategory": [ - { - "name": "ExampleCategory2", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8" - } - }, - { - "name": "ExampleCategory3", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8" - } - } - ] - }, - "responses": { - "200": { - "body": [ - { - "guid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "qualifiedName": "ExampleCategory2@Glossary", - "name": "ExampleCategory2", - "lastModifiedTS": "1", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "94071e56-fd3e-4441-93ff-1834f818482d" - } - }, - { - "guid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", - "qualifiedName": "ExampleCategory3@Glossary", - "name": "ExampleCategory3", - "lastModifiedTS": "1", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "26a486a4-a8e2-483c-8a84-3b88e909f8d2" - } - } - ] - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_CreateGlossaryCategory.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_CreateGlossaryCategory.json deleted file mode 100644 index 7f31caaea342..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_CreateGlossaryCategory.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "glossaryCategory": { - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8" - }, - "name": "ExampleCategory1", - "terms": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea" - } - ] - } - }, - "responses": { - "200": { - "body": { - "guid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "qualifiedName": "ExampleCategory1@Glossary", - "name": "ExampleCategory1", - "lastModifiedTS": "1", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0" - }, - "terms": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007", - "displayText": "ExampleTerm1" - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_CreateGlossaryTerm.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_CreateGlossaryTerm.json deleted file mode 100644 index efd7d2d547b2..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_CreateGlossaryTerm.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "glossaryTerm": { - "name": "ExampleTerm1", - "shortDescription": "Example Short Description", - "longDescription": "Example Long Description", - "abbreviation": "T1", - "status": "Approved", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8" - }, - "resources": [ - { - "displayName": "Example Display Name", - "url": "Example Url" - } - ], - "contacts": { - "Expert": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Expert Info" - } - ], - "Steward": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Steward info" - } - ] - } - } - }, - "responses": { - "200": { - "body": { - "guid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "qualifiedName": "ExampleTerm1@Glossary", - "name": "ExampleTerm1", - "shortDescription": "Example Short Description", - "longDescription": "Example Long Description", - "abbreviation": "T1", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0" - }, - "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "createTime": 1606287247276, - "updateTime": 1606287247276, - "status": "Approved", - "resources": [ - { - "displayName": "Example Display Name", - "url": "Example Url" - } - ], - "contacts": { - "Expert": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Expert Info" - } - ], - "Steward": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Steward Info" - } - ] - } - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_CreateGlossaryTermWithTermTemplate.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_CreateGlossaryTermWithTermTemplate.json deleted file mode 100644 index c9b7795a1b04..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_CreateGlossaryTermWithTermTemplate.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "glossaryTerm": { - "name": "ExampleTerm", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8" - }, - "attributes": { - "ExampleTermTemplateAttribute": { - "plain string": "Example String", - "date": 1606233600000, - "single choice": "Example Single Choice A", - "multi choice": [ - "Example Multi Choice A", - "Example Multi Choice B" - ] - } - } - } - }, - "responses": { - "200": { - "body": { - "guid": "9390cc82-1077-403e-a4d2-b6a69834707b", - "qualifiedName": "ExampleTerm@Glossary", - "name": "ExampleTerm", - "lastModifiedTS": "1", - "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "createTime": 1606287247276, - "updateTime": 1606287247276, - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0" - }, - "attributes": { - "ExampleTermTemplateAttribute": { - "plain string": "Example String", - "date": 1606233600000, - "single choice": "Example Single Choice A", - "multi choice": [ - "Example Multi Choice A", - "Example Multi Choice B" - ] - } - } - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_CreateGlossaryTerms.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_CreateGlossaryTerms.json deleted file mode 100644 index ddd48b3a0782..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_CreateGlossaryTerms.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "glossaryTerm": [ - { - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8" - }, - "name": "ExampleTerm2", - "status": "Approved", - "shortDescription": "Example Short Description", - "longDescription": "Example Long Description", - "abbreviation": "T2", - "resources": [ - { - "displayName": "Example Display Name", - "url": "Example Url" - } - ] - }, - { - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8" - }, - "name": "ExampleTerm3", - "status": "Approved", - "shortDescription": "Example Short Description", - "longDescription": "Example Long Description", - "abbreviation": "T3", - "resources": [ - { - "displayName": "Example Display Name", - "url": "Example Url" - } - ] - } - ] - }, - "responses": { - "200": { - "body": [ - { - "guid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "qualifiedName": "ExampleTerm2@Glossary", - "name": "ExampleTerm2", - "shortDescription": "Example Short Description", - "lastModifiedTS": "1", - "abbreviation": "T2", - "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "createTime": 1606287312495, - "updateTime": 1606287312495, - "status": "Approved", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "9385640b-e6be-437d-a6b9-62d11c14a189" - }, - "resources": [ - { - "displayName": "Example Display Name", - "url": "Example Url" - } - ] - }, - { - "guid": "821beef0-ced9-47ba-8f7f-c4f3459f4d18", - "qualifiedName": "ExampleTerm3@Glossary", - "name": "ExampleTerm3", - "shortDescription": "Example Short Description", - "lastModifiedTS": "1", - "abbreviation": "T3", - "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "createTime": 1606287312495, - "updateTime": 1606287312495, - "status": "Approved", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "f4de4878-3e43-4f8b-b090-07a233bb0ce6" - }, - "resources": [ - { - "displayName": "Example Display Name", - "url": "Example Url" - } - ] - } - ] - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_DeleteGlossary.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_DeleteGlossary.json deleted file mode 100644 index 70b4059decdd..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_DeleteGlossary.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "glossaryGuid": "c0c54153-13d1-1608-13af-43457cdffe75" - }, - "responses": { - "204": {} - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_DeleteGlossaryCategory.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_DeleteGlossaryCategory.json deleted file mode 100644 index 678b949d55e5..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_DeleteGlossaryCategory.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "categoryGuid": "0e391355-252a-e5f3-ac18-5a3602df7616" - }, - "responses": { - "204": {} - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_DeleteGlossaryTerm.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_DeleteGlossaryTerm.json deleted file mode 100644 index 32fd415f64d5..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_DeleteGlossaryTerm.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "termGuid": "b0942506-2d7d-1f45-d286-c29ca9e7f2ef" - }, - "responses": { - "204": {} - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetDetailedGlossary.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetDetailedGlossary.json deleted file mode 100644 index 6740e81f7b5d..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetDetailedGlossary.json +++ /dev/null @@ -1,225 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8" - }, - "responses": { - "200": { - "body": { - "guid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "qualifiedName": "Glossary", - "name": "Glossary", - "shortDescription": "Example Short Description", - "longDescription": "Example Long Description", - "language": "en", - "usage": "Example Glossary", - "terms": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0", - "displayText": "ExampleTerm1" - }, - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "relationGuid": "9385640b-e6be-437d-a6b9-62d11c14a189", - "displayText": "ExampleTerm2" - } - ], - "categories": [ - { - "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", - "relationGuid": "26a486a4-a8e2-483c-8a84-3b88e909f8d2" - }, - { - "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0" - }, - { - "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "relationGuid": "94071e56-fd3e-4441-93ff-1834f818482d" - } - ], - "termInfo": { - "54688d39-b298-4104-9e80-f2a16f44aaea": { - "guid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "qualifiedName": "ExampleTerm1@Glossary", - "name": "ExampleTerm1", - "shortDescription": "Example Short Description", - "longDescription": "Example Long Description", - "lastModifiedTS": "2", - "abbreviation": "T1", - "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "createTime": 1606287247276, - "updateTime": 1606290587593, - "status": "Approved", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0" - }, - "assignedEntities": [ - { - "guid": "ab9f1920-0b94-436d-aeb4-11a32c270fc0", - "typeName": "hdfs_path", - "entityStatus": "ACTIVE", - "displayText": "1", - "relationshipType": "AtlasGlossarySemanticAssignment", - "relationshipGuid": "cf2e959c-05e6-4a9f-b106-b6475741c2ba", - "relationshipStatus": "ACTIVE", - "relationshipAttributes": { - "typeName": "AtlasGlossarySemanticAssignment", - "attributes": { - "expression": "Example Expression", - "createdBy": "ExampleCreator", - "steward": "ExampleSteward", - "confidence": 100, - "description": "Example Description", - "source": "Azure", - "status": null - } - } - } - ], - "categories": [ - { - "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007" - } - ], - "seeAlso": [ - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "relationGuid": "dfa44030-bd14-4111-a0f1-3d01c964eb01", - "displayText": "ExampleTerm2" - } - ], - "synonyms": [ - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "relationGuid": "15bcbd12-eb48-4b63-8ff5-74f7ec3a562c", - "displayText": "ExampleTerm2" - } - ], - "contacts": { - "Expert": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Expert Info" - } - ], - "Steward": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Steward Info" - } - ] - }, - "resources": [ - { - "displayName": "Example Display Name", - "url": "Example Url" - } - ] - }, - "952c7ba4-4c89-42d8-a05a-7d2161be7008": { - "guid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "qualifiedName": "ExampleTerm2@Glossary", - "name": "ExampleTerm2", - "shortDescription": "Example Short Description", - "lastModifiedTS": "1", - "abbreviation": "T2", - "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "createTime": 1606287312495, - "updateTime": 1606287312495, - "status": "Approved", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "9385640b-e6be-437d-a6b9-62d11c14a189" - }, - "seeAlso": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "relationGuid": "dfa44030-bd14-4111-a0f1-3d01c964eb01", - "displayText": "ExampleTerm1" - } - ], - "synonyms": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "relationGuid": "15bcbd12-eb48-4b63-8ff5-74f7ec3a562c", - "displayText": "ExampleTerm1" - } - ], - "resources": [ - { - "displayName": "Example Display Name", - "url": "Example Url" - } - ] - } - }, - "categoryInfo": { - "ed7458f0-9463-48a5-b5c6-4f785fb34e12": { - "guid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "qualifiedName": "ExampleCategory1.ExampleCategory2@Glossary", - "name": "ExampleCategory1", - "longDescription": "Example Long Description", - "lastModifiedTS": "3", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0" - }, - "parentCategory": { - "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "relationGuid": "82d569cd-2273-4ef9-9f67-c6f2ed637c20" - }, - "childrenCategories": [ - { - "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", - "relationGuid": "e50be8c5-7905-4c92-b676-4278866c2c2f" - } - ], - "terms": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007", - "displayText": "ExampleTerm1" - } - ] - }, - "e47c4584-daca-4f9e-9092-194e04692c9a": { - "guid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "qualifiedName": "ExampleCategory2@Glossary", - "name": "ExampleCategory2", - "lastModifiedTS": "1", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "94071e56-fd3e-4441-93ff-1834f818482d" - }, - "childrenCategories": [ - { - "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "relationGuid": "82d569cd-2273-4ef9-9f67-c6f2ed637c20" - } - ] - }, - "0d6766f6-f4b6-435b-bda2-d3edc358998e": { - "guid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", - "qualifiedName": "ExampleCategory3.ExampleCategory1.ExampleCategory2@Glossary", - "name": "ExampleCategory3", - "lastModifiedTS": "2", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "26a486a4-a8e2-483c-8a84-3b88e909f8d2" - }, - "parentCategory": { - "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "relationGuid": "e50be8c5-7905-4c92-b676-4278866c2c2f" - } - } - } - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetGlossary.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetGlossary.json deleted file mode 100644 index 11a7789498ca..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetGlossary.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "glossaryGuid": "47029611-67a1-42d5-8766-90eb904f7f22" - }, - "responses": { - "200": { - "body": { - "guid": "47029611-67a1-42d5-8766-90eb904f7f22", - "qualifiedName": "Glossary", - "name": "Glossary", - "shortDescription": "Example Short Description", - "longDescription": "Example Long Description", - "lastModifiedTS": "1", - "language": "en", - "usage": "Example Glossary", - "terms": [ - { - "termGuid": "29d88363-9677-4ce6-aeee-5fdf45f84e9b", - "relationGuid": "fb3d4ac4-27e0-45a2-bb13-105214e0ef7e", - "displayText": "ExampleTerm3" - }, - { - "termGuid": "e5136a91-bc02-49da-81f4-f075bd54b8f5", - "relationGuid": "741186cd-1d62-4798-8e58-6cbe35105baa", - "displayText": "ExampleTerm1" - }, - { - "termGuid": "68347d87-ae38-43b4-a62c-0fdc25b54cb1", - "relationGuid": "2f2b1fe6-d2b6-4aef-81cd-bea7a510312e", - "displayText": "ExampleTerm2" - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetGlossaryCategory.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetGlossaryCategory.json deleted file mode 100644 index 2329430d0e4d..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetGlossaryCategory.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12" - }, - "responses": { - "200": { - "body": { - "guid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "qualifiedName": "ExampleCategory1.ExampleCategory2@Glossary", - "name": "ExampleCategory1", - "lastModifiedTS": "2", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0" - }, - "parentCategory": { - "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "relationGuid": "82d569cd-2273-4ef9-9f67-c6f2ed637c20" - }, - "childrenCategories": [ - { - "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", - "parentCategoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "relationGuid": "e50be8c5-7905-4c92-b676-4278866c2c2f", - "displayText": "ExampleCategory3" - } - ], - "terms": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007", - "displayText": "ExampleTerm1" - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetGlossaryTerm.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetGlossaryTerm.json deleted file mode 100644 index cece6585101c..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetGlossaryTerm.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea" - }, - "responses": { - "200": { - "body": { - "guid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "qualifiedName": "ExampleTerm1@Glossary", - "name": "ExampleTerm1", - "shortDescription": "Example Short Description", - "lastModifiedTS": "1", - "abbreviation": "T1", - "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "createTime": 1606287247276, - "updateTime": 1606287247276, - "status": "Approved", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0" - }, - "seeAlso": [ - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "relationGuid": "dfa44030-bd14-4111-a0f1-3d01c964eb01", - "displayText": "ExampleTerm2" - } - ], - "synonyms": [ - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "relationGuid": "15bcbd12-eb48-4b63-8ff5-74f7ec3a562c", - "displayText": "ExampleTerm2" - } - ], - "contacts": { - "Expert": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Expert Info" - } - ], - "Steward": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Steward Info" - } - ] - }, - "resources": [ - { - "displayName": "Example Display Name", - "url": "Example Url" - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetImportCSVOperationStatus.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetImportCSVOperationStatus.json deleted file mode 100644 index 5ac99d28e477..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetImportCSVOperationStatus.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "glossaryGuid": "a02d8eb5-a977-4ed6-85c6-63d44239471a", - "api-version": "2021-09-01", - "file": "examplefile.csv" - }, - "responses": { - "202": { - "body": { - "id": "3ffca165-75a7-4987-ba71-cfc0a273d6b7", - "status": "Running", - "createTime": "2021-03-15T05:43:00.651+0000", - "lastUpdateTime": "2021-03-15T05:43:00.651+0000", - "properties": { - "importedTerms": "0", - "totalTermsDetected": "-1" - }, - "error": { - "errorCode": 0, - "errorMessage": "" - } - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetImportCSVOperationStatusByGloassaryName.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetImportCSVOperationStatusByGloassaryName.json deleted file mode 100644 index 6f36f7a1de3a..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetImportCSVOperationStatusByGloassaryName.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "glossaryName": "Glossary", - "includeTermHierarchy": true, - "api-version": "2021-09-01", - "file": "examplefile.csv" - }, - "responses": { - "202": { - "body": { - "id": "99e60bea-6f70-4fcb-966a-a313bb2738ef", - "status": "Running", - "createTime": "2021-03-15T06:27:23.961+0000", - "lastUpdateTime": "2021-03-15T06:27:23.961+0000", - "properties": { - "importedTerms": "0", - "totalTermsDetected": "-1" - }, - "error": { - "errorCode": 0, - "errorMessage": "" - } - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetImportCSVOperationStatusByOperationguid.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetImportCSVOperationStatusByOperationguid.json deleted file mode 100644 index dab1fe97fecc..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_GetImportCSVOperationStatusByOperationguid.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "operationGuid": "3ffca165-75a7-4987-ba71-cfc0a273d6b7", - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "id": "ed27f06c-dcfc-4e60-be27-7be65060108f", - "status": "Succeeded", - "createTime": "2020-07-22T13:48:21.688+0000", - "lastUpdateTime": "2020-07-22T13:55:27.752+0000", - "properties": { - "importedTerms": "1000", - "totalTermsDetected": "1000" - }, - "error": { - "errorCode": 0, - "errorMessage": "" - } - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListCategoryTerms.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListCategoryTerms.json deleted file mode 100644 index 7fe35d8dd8f2..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListCategoryTerms.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "limit": "-1", - "offset": "0", - "sort": "ASC" - }, - "responses": { - "200": { - "body": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007", - "displayText": "ExampleTerm1" - } - ] - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListEntitiesAssignedWithTerm.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListEntitiesAssignedWithTerm.json deleted file mode 100644 index ebfed3c2de40..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListEntitiesAssignedWithTerm.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "termGuid": "daf0ba4d-bc9a-4536-8a88-4b58e39dd3d4", - "limit": "-1", - "offset": "0", - "sort": "ASC" - }, - "responses": { - "200": { - "body": [ - { - "guid": "ea116881-222e-41c8-8acb-9af6f6f60009", - "typeName": "column", - "entityStatus": "ACTIVE", - "displayText": "ExampleColumnName", - "relationshipType": "AtlasGlossarySemanticAssignment", - "relationshipGuid": "ff9023a5-8495-49d6-bf04-a22c3634151e", - "relationshipStatus": "ACTIVE", - "relationshipAttributes": { - "typeName": "AtlasGlossarySemanticAssignment", - "attributes": { - "expression": null, - "createdBy": null, - "steward": null, - "confidence": null, - "description": null, - "source": null, - "status": null - } - } - }, - { - "guid": "fbf0a84d-7080-456b-b889-b5ba42186c2e", - "typeName": "azure_blob_path", - "entityStatus": "ACTIVE", - "displayText": "exampledata.csv", - "relationshipType": "AtlasGlossarySemanticAssignment", - "relationshipGuid": "dedc1294-a893-4e52-ba27-6be9b8694748", - "relationshipStatus": "ACTIVE", - "relationshipAttributes": { - "typeName": "AtlasGlossarySemanticAssignment", - "attributes": { - "expression": null, - "createdBy": null, - "steward": null, - "confidence": null, - "description": null, - "source": null, - "status": null - } - } - } - ] - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListGlossaries.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListGlossaries.json deleted file mode 100644 index 29f04491e9ef..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListGlossaries.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "limit": "1", - "offset": "0", - "sort": "ASC" - }, - "responses": { - "200": { - "body": [ - { - "guid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "qualifiedName": "Glossary", - "name": "Glossary", - "shortDescription": "Example Short Description", - "longDescription": "Example Long Description", - "lastModifiedTS": "1", - "language": "en", - "usage": "Example Glossary", - "terms": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0", - "displayText": "ExampleTerm1" - }, - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "relationGuid": "9385640b-e6be-437d-a6b9-62d11c14a189", - "displayText": "ExampleTerm2" - } - ], - "categories": [ - { - "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", - "parentCategoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "relationGuid": "26a486a4-a8e2-483c-8a84-3b88e909f8d2", - "displayText": "ExampleCategory3" - }, - { - "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "parentCategoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0", - "displayText": "ExampleCategory1" - }, - { - "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "relationGuid": "94071e56-fd3e-4441-93ff-1834f818482d", - "displayText": "ExampleCategory2" - } - ] - } - ] - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListGlossaryCategories.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListGlossaryCategories.json deleted file mode 100644 index aabcc66dc2d0..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListGlossaryCategories.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "limit": "-1", - "offset": "0", - "sort": "ASC" - }, - "responses": { - "200": { - "body": [ - { - "guid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "qualifiedName": "ExampleCategory1.ExampleCategory2@Glossary", - "name": "ExampleCategory1", - "lastModifiedTS": "2", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0" - }, - "parentCategory": { - "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "relationGuid": "82d569cd-2273-4ef9-9f67-c6f2ed637c20" - }, - "childrenCategories": [ - { - "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", - "relationGuid": "e50be8c5-7905-4c92-b676-4278866c2c2f" - } - ], - "terms": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007", - "displayText": "ExampleTerm1" - } - ] - }, - { - "guid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "qualifiedName": "ExampleCategory2@Glossary", - "name": "ExampleCategory2", - "lastModifiedTS": "1", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "94071e56-fd3e-4441-93ff-1834f818482d" - }, - "childrenCategories": [ - { - "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "relationGuid": "82d569cd-2273-4ef9-9f67-c6f2ed637c20" - } - ] - }, - { - "guid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", - "qualifiedName": "ExampleCategory3.ExampleCategory1.ExampleCategory2@Glossary", - "name": "ExampleCategory3", - "lastModifiedTS": "2", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "26a486a4-a8e2-483c-8a84-3b88e909f8d2" - }, - "parentCategory": { - "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "relationGuid": "e50be8c5-7905-4c92-b676-4278866c2c2f" - } - } - ] - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListGlossaryCategoriesHeaders.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListGlossaryCategoriesHeaders.json deleted file mode 100644 index 277c967f7f0b..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListGlossaryCategoriesHeaders.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "limit": "-1", - "offset": "0", - "sort": "ASC" - }, - "responses": { - "200": { - "body": [ - { - "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "parentCategoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0", - "displayText": "ExampleCategory1" - }, - { - "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "relationGuid": "94071e56-fd3e-4441-93ff-1834f818482d", - "displayText": "ExampleCategory2" - }, - { - "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", - "parentCategoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "relationGuid": "26a486a4-a8e2-483c-8a84-3b88e909f8d2", - "displayText": "ExampleCategory3" - } - ] - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListGlossaryTermHeaders.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListGlossaryTermHeaders.json deleted file mode 100644 index 1375aa567f2b..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListGlossaryTermHeaders.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "limit": "-1", - "offset": "0", - "sort": "ASC" - }, - "responses": { - "200": { - "body": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0", - "displayText": "ExampleTerm1" - }, - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "relationGuid": "9385640b-e6be-437d-a6b9-62d11c14a189", - "displayText": "ExampleTerm2" - } - ] - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListGlossaryTerms.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListGlossaryTerms.json deleted file mode 100644 index 214bbd4c4f76..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListGlossaryTerms.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "limit": "-1", - "offset": "0", - "sort": "ASC" - }, - "responses": { - "200": { - "body": [ - { - "guid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "qualifiedName": "ExampleTerm1@Glossary", - "name": "ExampleTerm1", - "shortDescription": "Example Short Description", - "lastModifiedTS": "1", - "abbreviation": "T1", - "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "createTime": 1606287247276, - "updateTime": 1606287247276, - "status": "Approved", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0" - }, - "seeAlso": [ - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "relationGuid": "dfa44030-bd14-4111-a0f1-3d01c964eb01", - "displayText": "ExampleTerm2" - } - ], - "synonyms": [ - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "relationGuid": "15bcbd12-eb48-4b63-8ff5-74f7ec3a562c", - "displayText": "ExampleTerm2" - } - ], - "contacts": { - "Expert": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Expert Info" - } - ], - "Steward": [ - { - "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", - "info": "Example Steward Info" - } - ] - }, - "resources": [ - { - "displayName": "Example Display Name", - "url": "Example Url" - } - ] - }, - { - "guid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "qualifiedName": "ExampleTerm2@Glossary", - "name": "ExampleTerm2", - "shortDescription": "Example Short Description", - "lastModifiedTS": "1", - "abbreviation": "T2", - "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "createTime": 1606287312495, - "updateTime": 1606287312495, - "status": "Approved", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "9385640b-e6be-437d-a6b9-62d11c14a189" - }, - "seeAlso": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "relationGuid": "dfa44030-bd14-4111-a0f1-3d01c964eb01", - "displayText": "ExampleTerm1" - } - ], - "synonyms": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "relationGuid": "15bcbd12-eb48-4b63-8ff5-74f7ec3a562c", - "displayText": "ExampleTerm1" - } - ], - "resources": [ - { - "displayName": "Example Display Name", - "url": "Example Url" - } - ] - } - ] - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListRelatedCategories.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListRelatedCategories.json deleted file mode 100644 index 7523745867a5..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListRelatedCategories.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "limit": "-1", - "offset": "0", - "sort": "ASC" - }, - "responses": { - "200": { - "body": { - "parent": [ - { - "categoryGuid": "6c8233cd-f6dc-6ef7-5597-b18ab590f2fc", - "relationGuid": "25cf5e46-c551-4ed4-8919-505c29ae311d" - } - ], - "children": [ - { - "categoryGuid": "abc6ac1b-5700-9c70-3f5a-60a519150035", - "parentCategoryGuid": "3243ea0a-9492-47e1-392e-a84e64980af9", - "relationGuid": "12d41563-2fd9-4be5-9eb9-9908f811a8f2", - "displayText": "ExampleCategory4" - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListRelatedTerms.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListRelatedTerms.json deleted file mode 100644 index ca90bb6d08d7..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListRelatedTerms.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "limit": "-1", - "offset": "0", - "sort": "ASC" - }, - "responses": { - "200": { - "body": { - "seeAlso": [ - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "relationGuid": "dfa44030-bd14-4111-a0f1-3d01c964eb01", - "displayText": "ExampleTerm2" - } - ], - "synonyms": [ - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "relationGuid": "15bcbd12-eb48-4b63-8ff5-74f7ec3a562c", - "displayText": "ExampleTerm2" - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListTermsByGlossaryName.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListTermsByGlossaryName.json deleted file mode 100644 index 563f8e68b8c3..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_ListTermsByGlossaryName.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "glossaryName": "Glossary", - "limit": "10", - "offset": "0", - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": [ - { - "qualifiedName": "ExampleTerm1@Glossary", - "name": "ExampleTerm1", - "createTime": 1608002832463, - "updateTime": 1608002832463, - "guid": "daf0ba4d-bc9a-4536-8a88-4b58e39dd3d4", - "status": "Approved", - "templateName": [], - "shortDescription": null, - "longDescription": "Example Long Description" - }, - { - "qualifiedName": "ExampleTerm2@Glossary", - "name": "ExampleTerm2", - "createTime": 1608002832463, - "updateTime": 1608002832463, - "guid": "21b82aa6-483b-43ff-a484-71d34aa34bbc", - "status": "Approved", - "templateName": [], - "shortDescription": null, - "longDescription": "Example Long Description" - }, - { - "qualifiedName": "ExampleTerm3@Glossary", - "name": "ExampleTerm3", - "createTime": 1608002832463, - "updateTime": 1608002832463, - "guid": "02785962-e01e-425b-8698-5194e116130f", - "status": "Approved", - "templateName": [], - "shortDescription": null, - "longDescription": "Example Long Description" - } - ] - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_PartialUpdateGlossary.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_PartialUpdateGlossary.json deleted file mode 100644 index 3b71492bec22..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_PartialUpdateGlossary.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "partialUpdates": { - "longDescription": "Example Long Description" - } - }, - "responses": { - "200": { - "body": { - "guid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "qualifiedName": "Glossary", - "name": "Glossary", - "shortDescription": "Example Short Description", - "longDescription": "Example Long Description", - "lastModifiedTS": "3", - "language": "en", - "usage": "Example Glossary", - "terms": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0", - "displayText": "ExampleTerm1" - }, - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "relationGuid": "9385640b-e6be-437d-a6b9-62d11c14a189", - "displayText": "ExampleTerm2" - } - ], - "categories": [ - { - "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", - "parentCategoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "relationGuid": "26a486a4-a8e2-483c-8a84-3b88e909f8d2", - "displayText": "ExampleCategory3" - }, - { - "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "parentCategoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0", - "displayText": "ExampleCategory1" - }, - { - "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "relationGuid": "94071e56-fd3e-4441-93ff-1834f818482d", - "displayText": "ExampleCategory2" - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_PartialUpdateGlossaryCategory.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_PartialUpdateGlossaryCategory.json deleted file mode 100644 index 11516593b6bd..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_PartialUpdateGlossaryCategory.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "categoryGuid": "3243ea0a-9492-47e1-392e-a84e64980af9", - "partialUpdates": { - "longDescription": "Example Long Description" - } - }, - "responses": { - "200": { - "body": { - "guid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "qualifiedName": "ExampleCategory1.ExampleCategory2@Glossary", - "name": "ExampleCategory1", - "longDescription": "Example Long Description", - "lastModifiedTS": "3", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0" - }, - "parentCategory": { - "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "relationGuid": "82d569cd-2273-4ef9-9f67-c6f2ed637c20" - }, - "childrenCategories": [ - { - "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", - "parentCategoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "relationGuid": "e50be8c5-7905-4c92-b676-4278866c2c2f", - "displayText": "ExampleCategory3" - } - ], - "terms": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007", - "displayText": "ExampleTerm1" - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_PartialUpdateGlossaryTerm.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_PartialUpdateGlossaryTerm.json deleted file mode 100644 index 572d692fa4b6..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_PartialUpdateGlossaryTerm.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "partialUpdates": { - "longDescription": "Example Long Descrition" - } - }, - "responses": { - "200": { - "body": { - "guid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "qualifiedName": "ExampleTerm1@Glossary", - "name": "ExampleTerm1", - "shortDescription": "Example Short Description", - "longDescription": "Example Long Descrition", - "lastModifiedTS": "2", - "abbreviation": "T1", - "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "createTime": 1606287247276, - "updateTime": 1606290587593, - "status": "Approved", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0" - }, - "categories": [ - { - "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007", - "displayText": "ExampleCategory1" - } - ], - "seeAlso": [ - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "relationGuid": "dfa44030-bd14-4111-a0f1-3d01c964eb01", - "displayText": "ExampleTerm2" - } - ], - "synonyms": [ - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "relationGuid": "15bcbd12-eb48-4b63-8ff5-74f7ec3a562c", - "displayText": "ExampleTerm2" - } - ], - "resources": [ - { - "displayName": "Example Display Name", - "url": "Example Url" - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_RemoveTermAssignmentFromEntities.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_RemoveTermAssignmentFromEntities.json deleted file mode 100644 index ca978c5df1fc..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_RemoveTermAssignmentFromEntities.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "termGuid": "8a7f65ec-6429-0b9b-3734-ec57bf1e34c2", - "relatedObjectIds": [ - { - "guid": "16feb2a1-2c79-ade1-338d-fb24fcb8b8bd", - "relationshipGuid": "624f08bb-3c93-4f03-9ce1-ed2ce2c7c8d5" - } - ] - }, - "responses": { - "204": {} - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_UpdateGlossary.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_UpdateGlossary.json deleted file mode 100644 index 1ff957ab4d0b..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_UpdateGlossary.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "updatedGlossary": { - "guid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "qualifiedName": "Glossary", - "name": "Glossary", - "shortDescription": "Example Short Description", - "longDescription": "Example Long Description", - "lastModifiedTS": "1", - "language": "en", - "usage": "Example Glossary", - "terms": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0", - "displayText": "ExampleTerm1" - }, - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "relationGuid": "9385640b-e6be-437d-a6b9-62d11c14a189", - "displayText": "ExampleTerm2" - } - ], - "categories": [ - { - "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", - "parentCategoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "relationGuid": "26a486a4-a8e2-483c-8a84-3b88e909f8d2", - "displayText": "ExampleCategory3" - }, - { - "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "parentCategoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0", - "displayText": "ExampleCategory1" - }, - { - "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "relationGuid": "94071e56-fd3e-4441-93ff-1834f818482d", - "displayText": "ExampleCategory2" - } - ] - } - }, - "responses": { - "200": { - "body": { - "guid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "qualifiedName": "Glossary", - "name": "Glossary", - "shortDescription": "Example Short Description", - "longDescription": "Example Long Description", - "lastModifiedTS": "2", - "language": "en", - "usage": "Example Glossary", - "terms": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0", - "displayText": "ExampleTerm1" - }, - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "relationGuid": "9385640b-e6be-437d-a6b9-62d11c14a189", - "displayText": "ExampleTerm2" - } - ], - "categories": [ - { - "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", - "parentCategoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "relationGuid": "26a486a4-a8e2-483c-8a84-3b88e909f8d2", - "displayText": "ExampleCategory3" - }, - { - "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "parentCategoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0", - "displayText": "ExampleCategory1" - }, - { - "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "relationGuid": "94071e56-fd3e-4441-93ff-1834f818482d", - "displayText": "ExampleCategory2" - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_UpdateGlossaryCategory.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_UpdateGlossaryCategory.json deleted file mode 100644 index fb8c92c94fd5..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_UpdateGlossaryCategory.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "glossaryCategory": { - "guid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "qualifiedName": "ExampleCategory1@Glossary", - "name": "ExampleCategory1", - "lastModifiedTS": "1", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0" - }, - "terms": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007" - } - ], - "childrenCategories": [ - { - "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e" - } - ], - "parentCategory": { - "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a" - } - } - }, - "responses": { - "200": { - "body": { - "guid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "qualifiedName": "ExampleCategory1.Category2@Glossary", - "name": "ExampleCategory1", - "lastModifiedTS": "2", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0" - }, - "parentCategory": { - "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", - "relationGuid": "82d569cd-2273-4ef9-9f67-c6f2ed637c20" - }, - "childrenCategories": [ - { - "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", - "parentCategoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", - "relationGuid": "e50be8c5-7905-4c92-b676-4278866c2c2f", - "displayText": "ExampleCategory3" - } - ], - "terms": [ - { - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007", - "displayText": "ExampleTerm1" - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_UpdateGlossaryTerm.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_UpdateGlossaryTerm.json deleted file mode 100644 index 065bba39f639..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Glossary_UpdateGlossaryTerm.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "glossaryTerm": { - "guid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "qualifiedName": "ExampleTerm1@Glossary", - "name": "ExampleTerm1", - "shortDescription": "Example Short Description", - "lastModifiedTS": "1", - "abbreviation": "T1", - "status": "Approved", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0" - }, - "resources": [ - { - "displayName": "Example Display Name", - "url": "Example Url" - } - ], - "seeAlso": [ - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008" - }, - { - "termGuid": "821beef0-ced9-47ba-8f7f-c4f3459f4d18" - } - ], - "synonyms": [ - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008" - }, - { - "termGuid": "821beef0-ced9-47ba-8f7f-c4f3459f4d18" - } - ] - } - }, - "responses": { - "200": { - "body": { - "guid": "54688d39-b298-4104-9e80-f2a16f44aaea", - "qualifiedName": "ExampleTerm1@Glossary", - "name": "ExampleTerm1", - "shortDescription": "Example Short Description", - "lastModifiedTS": "1", - "abbreviation": "T1", - "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", - "createTime": 1606287247276, - "updateTime": 1606287247276, - "status": "Approved", - "anchor": { - "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", - "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0" - }, - "seeAlso": [ - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "relationGuid": "dfa44030-bd14-4111-a0f1-3d01c964eb01", - "displayText": "ExampleTerm2" - }, - { - "termGuid": "821beef0-ced9-47ba-8f7f-c4f3459f4d18", - "relationGuid": "4d802ada-65f3-45a8-969f-aba47d9c6200", - "displayText": "ExampleTerm3" - } - ], - "synonyms": [ - { - "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", - "relationGuid": "15bcbd12-eb48-4b63-8ff5-74f7ec3a562c", - "displayText": "ExampleTerm2" - }, - { - "termGuid": "821beef0-ced9-47ba-8f7f-c4f3459f4d18", - "relationGuid": "bb26fe7c-6e26-46ad-b936-50a5f7ffbbaf", - "displayText": "ExampleTerm3" - } - ], - "resources": [ - { - "displayName": "Example Display Name", - "url": "Example Url" - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/NextPageLineage.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/NextPageLineage.json deleted file mode 100644 index be41c3e0eb3f..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/NextPageLineage.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "a6894eb3-81f3-829b-2adc-52f3e603411a", - "offset": "0", - "limit": "5", - "getDerivedLineage": true, - "direction": "INPUT", - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "baseEntityGuid": "a6894eb3-81f3-829b-2adc-52f3e603411a", - "lineageDirection": "INPUT", - "lineageDepth": 1, - "lineageWidth": 1, - "childrenCount": 1, - "guidEntityMap": {}, - "widthCounts": {}, - "includeParent": true, - "relations": [], - "parentRelations": [] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Relationship_Create.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Relationship_Create.json deleted file mode 100644 index 8122eee5cd3a..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Relationship_Create.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "relationship": { - "typeName": "AtlasGlossarySynonym", - "attributes": { - "expression": "Example Expression", - "steward": "Example Steward", - "description": "Example Description", - "source": null, - "status": null - }, - "end1": { - "guid": "856d31e6-e342-a1ce-6273-22ddb77029c6", - "typeName": "AtlasGlossaryTerm" - }, - "end2": { - "guid": "77481037-2874-9bdc-9b9e-76bb94ee71aa", - "typeName": "AtlasGlossaryTerm" - }, - "label": "r:AtlasGlossarySynonym", - "status": "ACTIVE", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "version": 0 - } - }, - "responses": { - "200": { - "body": { - "typeName": "AtlasGlossarySynonym", - "attributes": { - "expression": "Example Expression", - "steward": "Example Steward", - "description": "Example Description", - "source": null, - "status": null - }, - "guid": "63023d5b-c499-4360-a513-16bcbf73b039", - "end1": { - "guid": "856d31e6-e342-a1ce-6273-22ddb77029c6", - "typeName": "AtlasGlossaryTerm" - }, - "end2": { - "guid": "77481037-2874-9bdc-9b9e-76bb94ee71aa", - "typeName": "AtlasGlossaryTerm" - }, - "label": "r:AtlasGlossarySynonym", - "status": "ACTIVE", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553840134724, - "updateTime": 1553840134724, - "version": 0 - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Relationship_Delete.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Relationship_Delete.json deleted file mode 100644 index 291912c8ccac..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Relationship_Delete.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "5cf8a9e5-c9fd-abe0-2e8c-d40024263dcb" - }, - "responses": { - "204": {} - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Relationship_Get.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Relationship_Get.json deleted file mode 100644 index 7a9054f95285..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Relationship_Get.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "5cf8a9e5-c9fd-abe0-2e8c-d40024263dcb", - "extendedInfo": "false" - }, - "responses": { - "200": { - "body": { - "relationship": { - "typeName": "AtlasGlossarySynonym", - "attributes": { - "expression": null, - "steward": null, - "description": null, - "source": null, - "status": null - }, - "guid": "de23cd5a-021c-413d-98a5-98752a1f7a3b", - "end1": { - "guid": "856d31e6-e342-a1ce-6273-22ddb77029c6", - "typeName": "AtlasGlossaryTerm" - }, - "end2": { - "guid": "b0942506-2d7d-1f45-d286-c29ca9e7f2ef", - "typeName": "AtlasGlossaryTerm" - }, - "label": "r:AtlasGlossarySynonym", - "status": "ACTIVE", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553838993803, - "updateTime": 1553838993803, - "version": 0 - } - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Relationship_Update.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Relationship_Update.json deleted file mode 100644 index 3664c81a3ec7..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Relationship_Update.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "relationship": { - "typeName": "AtlasGlossarySynonym", - "attributes": { - "expression": "Example Expression", - "steward": "Example Steward", - "description": "Example Description", - "source": null, - "status": null - }, - "guid": "b2810301-293f-493f-88f1-7ac8784fb1fd", - "end1": { - "guid": "77481037-2874-9bdc-9b9e-76bb94ee71aa", - "typeName": "AtlasGlossaryTerm" - }, - "end2": { - "guid": "b0942506-2d7d-1f45-d286-c29ca9e7f2ef", - "typeName": "AtlasGlossaryTerm" - }, - "label": "r:AtlasGlossarySynonym", - "status": "ACTIVE", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "version": 0 - } - }, - "responses": { - "200": { - "body": { - "typeName": "AtlasGlossarySynonym", - "attributes": { - "expression": "Example Expression", - "steward": "Example Steward", - "description": "Example Description", - "source": null, - "status": null - }, - "guid": "b2810301-293f-493f-88f1-7ac8784fb1fd", - "end1": { - "guid": "77481037-2874-9bdc-9b9e-76bb94ee71aa", - "typeName": "AtlasGlossaryTerm" - }, - "end2": { - "guid": "b0942506-2d7d-1f45-d286-c29ca9e7f2ef", - "typeName": "AtlasGlossaryTerm" - }, - "label": "r:AtlasGlossarySynonym", - "status": "ACTIVE", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553839805039, - "updateTime": 1553839805039, - "version": 0 - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_CreateTypeDefinitions.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_CreateTypeDefinitions.json deleted file mode 100644 index 3c08502d3e0f..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_CreateTypeDefinitions.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "typesDef": { - "enumDefs": [], - "structDefs": [], - "classificationDefs": [], - "entityDefs": [ - { - "name": "azure_sql_server_example", - "superTypes": [ - "azure_resource" - ], - "typeVersion": "1.0", - "attributeDefs": [ - { - "name": "databases", - "typeName": "array", - "cardinality": "SET", - "isIndexable": false, - "isOptional": true, - "isUnique": false - } - ] - } - ], - "relationshipDefs": [] - } - }, - "responses": { - "200": { - "body": { - "enumDefs": [], - "structDefs": [], - "classificationDefs": [], - "entityDefs": [ - { - "category": "ENTITY", - "guid": "a47fd902-a564-45f1-aa51-ce9224955881", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553672211954, - "updateTime": 1553672211954, - "version": 1, - "name": "azure_sql_server_example", - "description": "azure_sql_server_example", - "typeVersion": "1.0", - "attributeDefs": [ - { - "name": "databases", - "typeName": "array", - "isOptional": true, - "cardinality": "SET", - "valuesMinCount": 0, - "valuesMaxCount": 2147483647, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false - } - ], - "superTypes": [ - "azure_resource" - ], - "subTypes": [] - } - ], - "relationshipDefs": [] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_DeleteTypeByName.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_DeleteTypeByName.json deleted file mode 100644 index d95c0728b9cb..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_DeleteTypeByName.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "name": "hive_order" - }, - "responses": { - "204": {} - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_DeleteTypeDefinitions.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_DeleteTypeDefinitions.json deleted file mode 100644 index 40e463be1ce9..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_DeleteTypeDefinitions.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "typesDef": { - "enumDefs": [], - "structDefs": [], - "classificationDefs": [], - "entityDefs": [ - { - "name": "azure_sql_server_example", - "superTypes": [ - "azure_resource" - ], - "typeVersion": "1.0", - "attributeDefs": [ - { - "name": "databases", - "typeName": "array", - "cardinality": "SET", - "isIndexable": false, - "isOptional": true, - "isUnique": false - } - ] - } - ], - "relationshipDefs": [] - } - }, - "responses": { - "204": {} - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetAllEnumDef.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetAllEnumDef.json deleted file mode 100644 index 0c3b2d78f851..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetAllEnumDef.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "type": "enum" - }, - "responses": { - "200": { - "body": { - "enumDefs": [ - { - "category": "ENUM", - "guid": "0ddc2fcf-ad17-4d06-984a-ffb2ffb2a941", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1604728877305, - "updateTime": 1604728877305, - "version": 1, - "name": "glossary_term_status_value", - "description": "glossary_term_status_value", - "typeVersion": "1.0", - "lastModifiedTS": "1", - "elementDefs": [ - { - "value": "Approved", - "ordinal": 0 - }, - { - "value": "Alert", - "ordinal": 1 - }, - { - "value": "Expired", - "ordinal": 2 - }, - { - "value": "Draft", - "ordinal": 3 - } - ] - }, - { - "category": "ENUM", - "guid": "c694edf1-6f9e-4b60-b832-23e8d6187675", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1604728832692, - "updateTime": 1604728905525, - "version": 2, - "name": "AtlasGlossaryTermRelationshipStatus", - "description": "TermRelationshipStatus defines how reliable the relationship is between two glossary terms", - "typeVersion": "1.1", - "serviceType": "atlas_core", - "lastModifiedTS": "2", - "elementDefs": [ - { - "value": "DRAFT", - "description": "DRAFT means the relationship is under development.", - "ordinal": 0 - }, - { - "value": "ACTIVE", - "description": "ACTIVE means the relationship is validated and in use.", - "ordinal": 1 - }, - { - "value": "DEPRECATED", - "description": "DEPRECATED means the the relationship is being phased out.", - "ordinal": 2 - }, - { - "value": "OBSOLETE", - "description": "OBSOLETE means that the relationship should not be used anymore.", - "ordinal": 3 - }, - { - "value": "OTHER", - "description": "OTHER means that there is another status.", - "ordinal": 99 - } - ] - } - ], - "structDefs": [], - "classificationDefs": [], - "entityDefs": [], - "relationshipDefs": [] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetAllTermTemplateDef.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetAllTermTemplateDef.json deleted file mode 100644 index 26902f2461c6..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetAllTermTemplateDef.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "type": "term_template" - }, - "responses": { - "200": { - "body": { - "enumDefs": [], - "structDefs": [], - "classificationDefs": [], - "entityDefs": [], - "relationshipDefs": [], - "termTemplateDefs": [ - { - "category": "TERM_TEMPLATE", - "guid": "d776af9c-985c-4168-abb2-477523dbfc70", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1606300465443, - "updateTime": 1606300465443, - "version": 1, - "name": "MS KPI", - "description": "This is the description", - "typeVersion": "1.0", - "lastModifiedTS": "1", - "attributeDefs": [ - { - "name": "date", - "typeName": "date", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": 0, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false, - "options": { - "isDisabled": "false" - } - }, - { - "name": "single choice", - "typeName": "TERM_TEMPLATE_ENUM_EXAMPLE_1", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": 0, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false, - "options": { - "isDisabled": "false" - } - }, - { - "name": "multi choice", - "typeName": "array", - "isOptional": true, - "cardinality": "SET", - "valuesMinCount": 0, - "valuesMaxCount": 2147483647, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false, - "options": { - "isDisabled": "false" - } - }, - { - "name": "plain string", - "typeName": "string", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": 0, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false, - "defaultValue": "this is a default value", - "options": { - "isDisabled": "false" - } - } - ] - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetAllTypeDefinitions.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetAllTypeDefinitions.json deleted file mode 100644 index 4e6b37b8b6f1..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetAllTypeDefinitions.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "includeTermTemplate": true - }, - "responses": { - "200": { - "body": { - "enumDefs": [ - { - "category": "ENUM", - "guid": "0ddc2fcf-ad17-4d06-984a-ffb2ffb2a941", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1604728877305, - "updateTime": 1604728877305, - "version": 1, - "name": "glossary_term_status_value", - "description": "glossary_term_status_value", - "typeVersion": "1.0", - "lastModifiedTS": "1", - "elementDefs": [ - { - "value": "Approved", - "ordinal": 0 - }, - { - "value": "Alert", - "ordinal": 1 - }, - { - "value": "Expired", - "ordinal": 2 - }, - { - "value": "Draft", - "ordinal": 3 - } - ] - } - ], - "structDefs": [ - { - "category": "STRUCT", - "guid": "a8892bd7-59d6-47d8-b80d-ba4c7631098f", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1604729507664, - "updateTime": 1604729507664, - "version": 1, - "name": "blob_soft_deleted_state", - "description": "blob_soft_deleted_state", - "typeVersion": "1.0", - "serviceType": "Azure Blob Storage", - "lastModifiedTS": "1", - "attributeDefs": [ - { - "name": "deleted", - "typeName": "boolean", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": 0, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false - }, - { - "name": "deletedTime", - "typeName": "date", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": 0, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false - }, - { - "name": "remainingRetentionDays", - "typeName": "long", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": 0, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false - } - ] - } - ], - "classificationDefs": [ - { - "category": "CLASSIFICATION", - "guid": "bd97460e-e5db-4701-8158-5b4062cf8a10", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1604730971448, - "updateTime": 1604730971448, - "version": 1, - "name": "MICROSOFT.GOVERNMENT.CHILE.CDI_NUMBER", - "description": "Chile Identity Card Number", - "typeVersion": "1.0", - "options": { - "displayName": "Chile Identity Card Number" - }, - "attributeDefs": [], - "superTypes": [], - "entityTypes": [], - "subTypes": [] - } - ], - "entityDefs": [ - { - "category": "ENTITY", - "guid": "7c53da5d-2797-4e8a-9b89-dd9b3b26ffa8", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1604730605047, - "updateTime": 1604730605047, - "version": 1, - "name": "sap_ecc_data_element", - "description": "sap_ecc_data_element", - "typeVersion": "1.0", - "serviceType": "SAP ECC", - "lastModifiedTS": "1", - "attributeDefs": [ - { - "name": "dataType", - "typeName": "string", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": 0, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false - }, - { - "name": "length", - "typeName": "int", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": 0, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false - }, - { - "name": "decimalPlaces", - "typeName": "int", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": 0, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false - }, - { - "name": "documentation", - "typeName": "string", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": 0, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false - } - ], - "superTypes": [ - "Asset" - ], - "subTypes": [], - "relationshipAttributeDefs": [ - { - "name": "package", - "typeName": "sap_ecc_package", - "isOptional": false, - "cardinality": "SINGLE", - "valuesMinCount": -1, - "valuesMaxCount": -1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false, - "relationshipTypeName": "sap_ecc_package_data_elements", - "isLegacyAttribute": false - }, - { - "name": "table_fields", - "typeName": "array", - "isOptional": true, - "cardinality": "SET", - "valuesMinCount": -1, - "valuesMaxCount": -1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false, - "relationshipTypeName": "sap_ecc_table_field_data_element", - "isLegacyAttribute": false - }, - { - "name": "domain", - "typeName": "sap_ecc_domain", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": -1, - "valuesMaxCount": -1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false, - "relationshipTypeName": "sap_ecc_data_element_domain", - "isLegacyAttribute": false - }, - { - "name": "meanings", - "typeName": "array", - "isOptional": true, - "cardinality": "SET", - "valuesMinCount": -1, - "valuesMaxCount": -1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false, - "relationshipTypeName": "AtlasGlossarySemanticAssignment", - "isLegacyAttribute": false - } - ] - } - ], - "relationshipDefs": [ - { - "category": "RELATIONSHIP", - "guid": "6284b865-cbb3-4236-83ed-059a407f06fb", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1604729078159, - "updateTime": 1604729323080, - "version": 2, - "name": "storm_topology_nodes", - "description": "storm_topology_nodes", - "typeVersion": "1.1", - "serviceType": "storm", - "lastModifiedTS": "2", - "attributeDefs": [], - "relationshipCategory": "ASSOCIATION", - "endDef1": { - "type": "storm_topology", - "name": "nodes", - "isContainer": false, - "cardinality": "SET", - "isLegacyAttribute": true - }, - "endDef2": { - "type": "storm_node", - "name": "topolgies", - "isContainer": false, - "cardinality": "SET", - "isLegacyAttribute": false - } - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetClassificationDefByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetClassificationDefByGuid.json deleted file mode 100644 index 31f09a6d61e6..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetClassificationDefByGuid.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "e79878fa-adba-4ee5-adc5-328d8841cd49" - }, - "responses": { - "200": { - "body": { - "category": "CLASSIFICATION", - "guid": "e79878fa-adba-4ee5-adc5-328d8841cd49", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553065966043, - "updateTime": 1553065966043, - "version": 1, - "name": "MICROSOFT.GOVERNMENT.CANADA.SOCIAL_INSURANCE_NUMBER", - "description": "Canada Social Insurance Number", - "typeVersion": "1.0", - "attributeDefs": [], - "superTypes": [], - "entityTypes": [], - "subTypes": [] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetClassificationDefByName.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetClassificationDefByName.json deleted file mode 100644 index b7d7ed8a4f74..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetClassificationDefByName.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "name": "MICROSOFT.GOVERNMENT.CANADA.SOCIAL_INSURANCE_NUMBER" - }, - "responses": { - "200": { - "body": { - "category": "CLASSIFICATION", - "guid": "e79878fa-adba-4ee5-adc5-328d8841cd49", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553065966043, - "updateTime": 1553065966043, - "version": 1, - "name": "MICROSOFT.GOVERNMENT.CANADA.SOCIAL_INSURANCE_NUMBER", - "description": "Canada Social Insurance Number", - "typeVersion": "1.0", - "attributeDefs": [], - "superTypes": [], - "entityTypes": [], - "subTypes": [] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetEntityDefinitionByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetEntityDefinitionByGuid.json deleted file mode 100644 index 2728fb2507c3..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetEntityDefinitionByGuid.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "4bc54c37-98a8-4de8-9ee8-182610859d43" - }, - "responses": { - "200": { - "body": { - "category": "ENTITY", - "guid": "4bc54c37-98a8-4de8-9ee8-182610859d43", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553065960959, - "updateTime": 1553065960959, - "version": 1, - "name": "DataSet", - "description": "DataSet", - "typeVersion": "1.1", - "attributeDefs": [], - "superTypes": [ - "Asset" - ], - "subTypes": [ - "rdbms_foreign_key", - "azure_datalake_gen1_path", - "hive_table", - "mssql_column", - "sqoop_dbdatastore", - "hbase_column", - "azure_sql_table", - "rdbms_instance", - "azure_datalake_gen2_path", - "jms_topic", - "falcon_feed", - "hbase_table", - "rdbms_table", - "rdbms_column", - "hbase_column_family", - "hive_column", - "azure_blob_container", - "rdbms_db", - "column", - "azure_blob_path", - "kafka_topic", - "tabular_schema", - "azure_datalake_gen2_filesystem", - "rdbms_index", - "azure_sql_column", - "mssql_table", - "avro_type", - "fs_path" - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetEntityDefinitionByName.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetEntityDefinitionByName.json deleted file mode 100644 index 0542db979369..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetEntityDefinitionByName.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "name": "DataSet" - }, - "responses": { - "200": { - "body": { - "category": "ENTITY", - "guid": "4bc54c37-98a8-4de8-9ee8-182610859d43", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553065960959, - "updateTime": 1553065960959, - "version": 1, - "name": "DataSet", - "description": "DataSet", - "typeVersion": "1.1", - "attributeDefs": [], - "superTypes": [ - "Asset" - ], - "subTypes": [ - "rdbms_foreign_key", - "azure_datalake_gen1_path", - "hive_table", - "mssql_column", - "sqoop_dbdatastore", - "hbase_column", - "azure_sql_table", - "rdbms_instance", - "azure_datalake_gen2_path", - "jms_topic", - "falcon_feed", - "hbase_table", - "rdbms_table", - "rdbms_column", - "hbase_column_family", - "hive_column", - "azure_blob_container", - "rdbms_db", - "column", - "azure_blob_path", - "kafka_topic", - "tabular_schema", - "azure_datalake_gen2_filesystem", - "rdbms_index", - "azure_sql_column", - "mssql_table", - "avro_type", - "fs_path" - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetEnumDefByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetEnumDefByGuid.json deleted file mode 100644 index 9c324ce8d35b..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetEnumDefByGuid.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "644ab9c7-893a-4a4d-8e0a-591a6556d1a0" - }, - "responses": { - "200": { - "body": { - "category": "ENUM", - "guid": "644ab9c7-893a-4a4d-8e0a-591a6556d1a0", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553065968102, - "updateTime": 1553065968102, - "version": 1, - "name": "hive_principal_type", - "description": "hive_principal_type", - "typeVersion": "1.0", - "elementDefs": [ - { - "value": "USER", - "ordinal": 1 - }, - { - "value": "ROLE", - "ordinal": 2 - }, - { - "value": "GROUP", - "ordinal": 3 - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetEnumDefByName.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetEnumDefByName.json deleted file mode 100644 index 6adfee266b61..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetEnumDefByName.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "name": "hive_principal_type" - }, - "responses": { - "200": { - "body": { - "category": "ENUM", - "guid": "644ab9c7-893a-4a4d-8e0a-591a6556d1a0", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553065968102, - "updateTime": 1553065968102, - "version": 1, - "name": "hive_principal_type", - "description": "hive_principal_type", - "typeVersion": "1.0", - "elementDefs": [ - { - "value": "USER", - "ordinal": 1 - }, - { - "value": "ROLE", - "ordinal": 2 - }, - { - "value": "GROUP", - "ordinal": 3 - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetRelationshipDefByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetRelationshipDefByGuid.json deleted file mode 100644 index 66b6efd3f8bf..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetRelationshipDefByGuid.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "695edde1-2782-4a3c-841b-0b3aba25fe45" - }, - "responses": { - "200": { - "body": { - "category": "RELATIONSHIP", - "guid": "695edde1-2782-4a3c-841b-0b3aba25fe45", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553065976797, - "updateTime": 1553065976797, - "version": 1, - "name": "storm_topology_nodes", - "description": "storm_topology_nodes", - "typeVersion": "1.0", - "attributeDefs": [], - "relationshipCategory": "ASSOCIATION", - "endDef1": { - "type": "storm_topology", - "name": "nodes", - "isContainer": false, - "cardinality": "SET", - "isLegacyAttribute": true - }, - "endDef2": { - "type": "storm_node", - "name": "topolgies", - "isContainer": false, - "cardinality": "SET", - "isLegacyAttribute": false - }, - "relationshipLabel": "r:storm_topology_nodes" - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetRelationshipDefByName.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetRelationshipDefByName.json deleted file mode 100644 index 148c7d655371..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetRelationshipDefByName.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "name": "storm_topology_nodes" - }, - "responses": { - "200": { - "body": { - "category": "RELATIONSHIP", - "guid": "695edde1-2782-4a3c-841b-0b3aba25fe45", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553065976797, - "updateTime": 1553065976797, - "version": 1, - "name": "storm_topology_nodes", - "description": "storm_topology_nodes", - "typeVersion": "1.0", - "attributeDefs": [], - "relationshipCategory": "ASSOCIATION", - "endDef1": { - "type": "storm_topology", - "name": "nodes", - "isContainer": false, - "cardinality": "SET", - "isLegacyAttribute": true - }, - "endDef2": { - "type": "storm_node", - "name": "topolgies", - "isContainer": false, - "cardinality": "SET", - "isLegacyAttribute": false - }, - "relationshipLabel": "r:storm_topology_nodes" - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetStructDefByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetStructDefByGuid.json deleted file mode 100644 index d2e1e0901f30..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetStructDefByGuid.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "f1571b6e-ad08-4040-a9a7-c30ed935d437" - }, - "responses": { - "200": { - "body": { - "category": "STRUCT", - "guid": "f1571b6e-ad08-4040-a9a7-c30ed935d437", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553065968145, - "updateTime": 1553065968145, - "version": 1, - "name": "hive_order", - "description": "hive_order", - "typeVersion": "1.0", - "attributeDefs": [ - { - "name": "order", - "typeName": "int", - "isOptional": false, - "cardinality": "SINGLE", - "valuesMinCount": 1, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false - }, - { - "name": "col", - "typeName": "string", - "isOptional": false, - "cardinality": "SINGLE", - "valuesMinCount": 1, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetStructDefByName.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetStructDefByName.json deleted file mode 100644 index 6bffd4888fa2..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetStructDefByName.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "name": "hive_order" - }, - "responses": { - "200": { - "body": { - "category": "STRUCT", - "guid": "f1571b6e-ad08-4040-a9a7-c30ed935d437", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1553065968145, - "updateTime": 1553065968145, - "version": 1, - "name": "hive_order", - "description": "hive_order", - "typeVersion": "1.0", - "attributeDefs": [ - { - "name": "order", - "typeName": "int", - "isOptional": false, - "cardinality": "SINGLE", - "valuesMinCount": 1, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false - }, - { - "name": "col", - "typeName": "string", - "isOptional": false, - "cardinality": "SINGLE", - "valuesMinCount": 1, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetTermTemplateDefByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetTermTemplateDefByGuid.json deleted file mode 100644 index c7178973db8e..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetTermTemplateDefByGuid.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "d776af9c-985c-4168-abb2-477523dbfc70", - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "category": "TERM_TEMPLATE", - "guid": "d776af9c-985c-4168-abb2-477523dbfc70", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1606300465443, - "updateTime": 1606300465443, - "version": 1, - "name": "MS KPI", - "description": "This is the description", - "typeVersion": "1.0", - "lastModifiedTS": "1", - "attributeDefs": [ - { - "name": "date", - "typeName": "date", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": 0, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false, - "options": { - "isDisabled": "false" - } - }, - { - "name": "single choice", - "typeName": "TERM_TEMPLATE_ENUM_EXAMPLE_1", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": 0, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false, - "options": { - "isDisabled": "false" - } - }, - { - "name": "multi choice", - "typeName": "array", - "isOptional": true, - "cardinality": "SET", - "valuesMinCount": 0, - "valuesMaxCount": 2147483647, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false, - "options": { - "isDisabled": "false" - } - }, - { - "name": "plain string", - "typeName": "string", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": 0, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false, - "defaultValue": "this is a default value", - "options": { - "isDisabled": "false" - } - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetTermTemplateDefByName.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetTermTemplateDefByName.json deleted file mode 100644 index fb48eac3d39e..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetTermTemplateDefByName.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "name": "MS KPI", - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "category": "TERM_TEMPLATE", - "guid": "d776af9c-985c-4168-abb2-477523dbfc70", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1606300465443, - "updateTime": 1606300465443, - "version": 1, - "name": "MS KPI", - "description": "This is the description", - "typeVersion": "1.0", - "lastModifiedTS": "1", - "attributeDefs": [ - { - "name": "date", - "typeName": "date", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": 0, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false, - "options": { - "isDisabled": "false" - } - }, - { - "name": "single choice", - "typeName": "TERM_TEMPLATE_ENUM_EXAMPLE_1", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": 0, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false, - "options": { - "isDisabled": "false" - } - }, - { - "name": "multi choice", - "typeName": "array", - "isOptional": true, - "cardinality": "SET", - "valuesMinCount": 0, - "valuesMaxCount": 2147483647, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false, - "options": { - "isDisabled": "false" - } - }, - { - "name": "plain string", - "typeName": "string", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": 0, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false, - "defaultValue": "this is a default value", - "options": { - "isDisabled": "false" - } - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetTypeDefinitionByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetTypeDefinitionByGuid.json deleted file mode 100644 index ebd1ed4902de..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetTypeDefinitionByGuid.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "guid": "0ddc2fcf-ad17-4d06-984a-ffb2ffb2a941" - }, - "responses": { - "200": { - "body": { - "category": "ENUM", - "guid": "0ddc2fcf-ad17-4d06-984a-ffb2ffb2a941", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1604728877305, - "updateTime": 1604728877305, - "version": 1, - "name": "glossary_term_status_value", - "description": "glossary_term_status_value", - "typeVersion": "1.0", - "lastModifiedTS": "1", - "elementDefs": [ - { - "value": "Approved", - "ordinal": 0 - }, - { - "value": "Alert", - "ordinal": 1 - }, - { - "value": "Expired", - "ordinal": 2 - }, - { - "value": "Draft", - "ordinal": 3 - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetTypeDefinitionByName.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetTypeDefinitionByName.json deleted file mode 100644 index 77ec05812c26..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_GetTypeDefinitionByName.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "name": "glossary_term_status_value" - }, - "responses": { - "200": { - "body": { - "category": "ENUM", - "guid": "0ddc2fcf-ad17-4d06-984a-ffb2ffb2a941", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1604728877305, - "updateTime": 1604728877305, - "version": 1, - "name": "glossary_term_status_value", - "description": "glossary_term_status_value", - "typeVersion": "1.0", - "lastModifiedTS": "1", - "elementDefs": [ - { - "value": "Approved", - "ordinal": 0 - }, - { - "value": "Alert", - "ordinal": 1 - }, - { - "value": "Expired", - "ordinal": 2 - }, - { - "value": "Draft", - "ordinal": 3 - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_ListTypeDefinitionHeaders.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_ListTypeDefinitionHeaders.json deleted file mode 100644 index 99ec7d9d00b2..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_ListTypeDefinitionHeaders.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "includeTermTemplate": true - }, - "responses": { - "200": { - "body": [ - { - "guid": "644ab9c7-893a-4a4d-8e0a-591a6556d1a0", - "name": "hive_principal_type", - "category": "ENUM" - }, - { - "guid": "e5030e81-da05-4571-84f1-265ce20fa6d9", - "name": "AtlasGlossaryTermRelationshipStatus", - "category": "ENUM" - }, - { - "guid": "d776af9c-985c-4168-abb2-477523dbfc70", - "name": "MS KPI", - "category": "TERM_TEMPLATE" - } - ] - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_UpdateAtlasTypeDefinitions.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_UpdateAtlasTypeDefinitions.json deleted file mode 100644 index fd37acb1ec1c..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/examples/Types_UpdateAtlasTypeDefinitions.json +++ /dev/null @@ -1,288 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "typesDef": { - "enumDefs": [], - "structDefs": [], - "classificationDefs": [], - "entityDefs": [ - { - "name": "azure_sql_server", - "superTypes": [ - "azure_resource" - ], - "typeVersion": "1.0", - "attributeDefs": [ - { - "name": "databases", - "typeName": "array", - "cardinality": "SET", - "isIndexable": false, - "isOptional": true, - "isUnique": false - } - ] - }, - { - "name": "azure_sql_db", - "superTypes": [ - "azure_resource" - ], - "typeVersion": "1.0", - "attributeDefs": [ - { - "name": "server", - "typeName": "azure_sql_server", - "cardinality": "SINGLE", - "constraints": [ - { - "type": "inverseRef", - "params": { - "attribute": "databases" - } - } - ], - "isIndexable": false, - "isOptional": false, - "isUnique": false - }, - { - "name": "schemas", - "typeName": "array", - "cardinality": "SET", - "isIndexable": false, - "isOptional": true, - "isUnique": false - }, - { - "name": "collation", - "typeName": "string", - "cardinality": "SINGLE", - "isIndexable": false, - "isOptional": true, - "isUnique": false - }, - { - "name": "compatibilityLevel", - "typeName": "int", - "cardinality": "SINGLE", - "isIndexable": false, - "isOptional": true, - "isUnique": false - } - ] - } - ], - "relationshipDefs": [ - { - "name": "azure_sql_server_databases", - "typeVersion": "1.0", - "relationshipCategory": "COMPOSITION", - "endDef1": { - "type": "azure_sql_server", - "name": "databases", - "isContainer": true, - "cardinality": "SET", - "isLegacyAttribute": true - }, - "endDef2": { - "type": "azure_sql_db", - "name": "server", - "isContainer": false, - "cardinality": "SINGLE", - "isLegacyAttribute": true - } - }, - { - "name": "azure_sql_db_schemas", - "typeVersion": "1.0", - "relationshipCategory": "COMPOSITION", - "endDef1": { - "type": "azure_sql_db", - "name": "schemas", - "isContainer": true, - "cardinality": "SET", - "isLegacyAttribute": true - }, - "endDef2": { - "type": "azure_sql_schema", - "name": "db", - "isContainer": false, - "cardinality": "SINGLE", - "isLegacyAttribute": true - } - } - ] - } - }, - "responses": { - "200": { - "body": { - "enumDefs": [], - "structDefs": [], - "classificationDefs": [], - "entityDefs": [ - { - "category": "ENTITY", - "guid": "a59fe369-2b1d-4bba-bb74-c273f3d74eb1", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1548841689501, - "updateTime": 1553671448662, - "version": 3, - "name": "azure_sql_server", - "description": "azure_sql_server", - "typeVersion": "1.0", - "attributeDefs": [ - { - "name": "databases", - "typeName": "array", - "isOptional": true, - "cardinality": "SET", - "valuesMinCount": 0, - "valuesMaxCount": 2147483647, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false - } - ], - "superTypes": [ - "azure_resource" - ], - "subTypes": [] - }, - { - "category": "ENTITY", - "guid": "cc33ec5a-205a-4853-91dd-c0ebd0049ffb", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1548841689575, - "updateTime": 1553671448783, - "version": 3, - "name": "azure_sql_db", - "description": "azure_sql_db", - "typeVersion": "1.0", - "attributeDefs": [ - { - "name": "server", - "typeName": "azure_sql_server", - "isOptional": false, - "cardinality": "SINGLE", - "valuesMinCount": 1, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false, - "constraints": [ - { - "type": "inverseRef", - "params": { - "attribute": "databases" - } - } - ] - }, - { - "name": "schemas", - "typeName": "array", - "isOptional": true, - "cardinality": "SET", - "valuesMinCount": 0, - "valuesMaxCount": 2147483647, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false - }, - { - "name": "collation", - "typeName": "string", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": 0, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false - }, - { - "name": "compatibilityLevel", - "typeName": "int", - "isOptional": true, - "cardinality": "SINGLE", - "valuesMinCount": 0, - "valuesMaxCount": 1, - "isUnique": false, - "isIndexable": false, - "includeInNotification": false - } - ], - "superTypes": [ - "azure_resource" - ], - "subTypes": [] - } - ], - "relationshipDefs": [ - { - "category": "RELATIONSHIP", - "guid": "1e0584a8-2587-4e1d-a772-db1e879469af", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1548841689879, - "updateTime": 1553671449536, - "version": 3, - "name": "azure_sql_server_databases", - "description": "azure_sql_server_databases", - "typeVersion": "1.0", - "attributeDefs": [], - "relationshipCategory": "COMPOSITION", - "endDef1": { - "type": "azure_sql_server", - "name": "databases", - "isContainer": true, - "cardinality": "SET", - "isLegacyAttribute": true - }, - "endDef2": { - "type": "azure_sql_db", - "name": "server", - "isContainer": false, - "cardinality": "SINGLE", - "isLegacyAttribute": true - }, - "relationshipLabel": "r:azure_sql_server_databases" - }, - { - "category": "RELATIONSHIP", - "guid": "77ee34f6-ea48-4fe3-86bf-7e2e722f4596", - "createdBy": "ExampleCreator", - "updatedBy": "ExampleUpdator", - "createTime": 1548841690094, - "updateTime": 1553671449545, - "version": 3, - "name": "azure_sql_db_schemas", - "description": "azure_sql_db_schemas", - "typeVersion": "1.0", - "attributeDefs": [], - "relationshipCategory": "COMPOSITION", - "endDef1": { - "type": "azure_sql_db", - "name": "schemas", - "isContainer": true, - "cardinality": "SET", - "isLegacyAttribute": true - }, - "endDef2": { - "type": "azure_sql_schema", - "name": "db", - "isContainer": false, - "cardinality": "SINGLE", - "isLegacyAttribute": true - }, - "relationshipLabel": "r:azure_sql_db_schemas" - } - ] - } - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/purviewcatalog.json b/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/purviewcatalog.json deleted file mode 100644 index 35865a7a5006..000000000000 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Catalog/preview/2021-09-01/purviewcatalog.json +++ /dev/null @@ -1,6835 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Purview Catalog Service REST API Document", - "description": "Purview Catalog Service is a fully managed cloud service whose users can discover the data sources they need and understand the data sources they find. At the same time, Data Catalog helps organizations get more value from their existing investments. This spec defines REST API of Purview Catalog Service.", - "version": "2021-09-01" - }, - "x-ms-parameterized-host": { - "hostTemplate": "{Endpoint}", - "useSchemePrefix": false, - "parameters": [ - { - "$ref": "#/parameters/Endpoint" - } - ] - }, - "basePath": "/catalog/api", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "securityDefinitions": { - "azure_auth": { - "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": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "paths": { - "/atlas/v2/entity": { - "post": { - "tags": [ - "Entity" - ], - "description": "Create or update an entity in Atlas.\nExisting entity is matched using its unique guid if supplied or by its unique attributes eg: qualifiedName.\nMap and array of collections are not well supported. E.g., array>, array>.", - "operationId": "Entity_CreateOrUpdate", - "x-ms-examples": { - "Entity_Create": { - "$ref": "./examples/Entity_Create.json" - }, - "Entity_Update": { - "$ref": "./examples/Entity_Update.json" - } - }, - "parameters": [ - { - "in": "body", - "name": "entity", - "description": "Atlas entity with extended information.", - "required": true, - "schema": { - "$ref": "#/definitions/AtlasEntityWithExtInfo" - } - } - ], - "responses": { - "200": { - "description": "Created with EntityMutationResponse.", - "schema": { - "$ref": "#/definitions/EntityMutationResponse" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/entity/bulk": { - "get": { - "tags": [ - "Entity" - ], - "description": "List entities in bulk identified by its GUIDs.", - "operationId": "Entity_ListByGuids", - "x-ms-examples": { - "Entity_ListByGuids": { - "$ref": "./examples/Entity_ListByGuids.json" - } - }, - "parameters": [ - { - "name": "guids", - "in": "query", - "description": "An array of GUIDs of entities to create.", - "required": true, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "$ref": "#/parameters/minExtInfo" - }, - { - "$ref": "#/parameters/ignoreRelationships" - }, - { - "$ref": "#/parameters/excludeRelationshipTypes" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/AtlasEntitiesWithExtInfo" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "post": { - "tags": [ - "Entity" - ], - "description": "Create or update entities in Atlas in bulk.\nExisting entity is matched using its unique guid if supplied or by its unique attributes eg: qualifiedName.\nMap and array of collections are not well supported. E.g., array>, array>.", - "operationId": "Entity_CreateOrUpdateEntities", - "x-ms-examples": { - "Entity_CreateOrUpdateEntities": { - "$ref": "./examples/Entity_CreateOrUpdateEntities.json" - } - }, - "parameters": [ - { - "in": "body", - "name": "entities", - "description": "An array of entities to create or update.", - "required": true, - "schema": { - "$ref": "#/definitions/AtlasEntitiesWithExtInfo" - } - } - ], - "responses": { - "200": { - "description": "Ok.", - "schema": { - "$ref": "#/definitions/EntityMutationResponse" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Entity" - ], - "description": "Delete a list of entities in bulk identified by their GUIDs or unique attributes.", - "operationId": "Entity_DeleteByGuids", - "x-ms-examples": { - "Entity_DeleteByGuids": { - "$ref": "./examples/Entity_DeleteByGuids.json" - } - }, - "parameters": [ - { - "name": "guids", - "in": "query", - "description": "An array of GUIDs of entities to delete.", - "required": true, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - } - ], - "responses": { - "200": { - "description": "Deleted with EntityMutationResponse.", - "schema": { - "$ref": "#/definitions/EntityMutationResponse" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/entity/bulk/classification": { - "post": { - "tags": [ - "Entity" - ], - "description": "Associate a classification to multiple entities in bulk.", - "operationId": "Entity_AddClassification", - "x-ms-examples": { - "Entity_AddClassificationToEntityByGuids": { - "$ref": "./examples/Entity_AddClassificationToEntityByGuids.json" - } - }, - "parameters": [ - { - "in": "body", - "name": "request", - "description": "The request to associate a classification to multiple entities.", - "required": true, - "schema": { - "$ref": "#/definitions/ClassificationAssociateRequest" - } - } - ], - "responses": { - "204": { - "description": "No Content." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/entity/guid/{guid}": { - "get": { - "tags": [ - "Entity" - ], - "operationId": "Entity_GetByGuid", - "x-ms-examples": { - "Entity_GetByGuid": { - "$ref": "./examples/Entity_GetByGuid.json" - } - }, - "description": "Get complete definition of an entity given its GUID.", - "parameters": [ - { - "$ref": "#/parameters/guid" - }, - { - "$ref": "#/parameters/minExtInfo" - }, - { - "$ref": "#/parameters/ignoreRelationships" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/AtlasEntityWithExtInfo" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "Entity" - ], - "description": "Update entity partially - create or update entity attribute identified by its GUID.\nSupports only primitive attribute type and entity references.\nIt does not support updating complex types like arrays, and maps.\nNull updates are not possible.", - "operationId": "Entity_PartialUpdateEntityAttributeByGuid", - "x-ms-examples": { - "Entity_PartialUpdateEntityAttributeByGuid": { - "$ref": "./examples/Entity_PartialUpdateEntityAttributeByGuid.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/guid" - }, - { - "name": "name", - "in": "query", - "description": "The name of the attribute.", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The value of the attribute.", - "required": true, - "schema": { - "type": "object" - } - } - ], - "responses": { - "200": { - "description": "Updated with EntityMutationResponse.", - "schema": { - "$ref": "#/definitions/EntityMutationResponse" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Entity" - ], - "description": "Delete an entity identified by its GUID.", - "operationId": "Entity_DeleteByGuid", - "x-ms-examples": { - "Entity_DeleteByGuid": { - "$ref": "./examples/Entity_DeleteByGuid.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/guid" - } - ], - "responses": { - "200": { - "description": "Deleted with EntityMutationResponse.", - "schema": { - "$ref": "#/definitions/EntityMutationResponse" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/entity/guid/{guid}/classification/{classificationName}": { - "get": { - "tags": [ - "Entity" - ], - "description": "List classifications for a given entity represented by a GUID.", - "operationId": "Entity_GetClassification", - "x-ms-examples": { - "Entity_GetClassification": { - "$ref": "./examples/Entity_GetClassification.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/guid" - }, - { - "$ref": "#/parameters/classificationName" - } - ], - "responses": { - "200": { - "description": "The classification for the given entity GUID.", - "schema": { - "$ref": "#/definitions/AtlasClassification" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Entity" - ], - "description": "Delete a given classification from an existing entity represented by a GUID.", - "operationId": "Entity_DeleteClassification", - "x-ms-examples": { - "Entity_DeleteClassification": { - "$ref": "./examples/Entity_DeleteClassification.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/guid" - }, - { - "$ref": "#/parameters/classificationName" - } - ], - "responses": { - "204": { - "description": "No Content." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/entity/guid/{guid}/classifications": { - "get": { - "tags": [ - "Entity" - ], - "description": "List classifications for a given entity represented by a GUID.", - "operationId": "Entity_GetClassifications", - "x-ms-examples": { - "Entity_GetClassifications": { - "$ref": "./examples/Entity_GetClassifications.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/guid" - } - ], - "responses": { - "200": { - "description": "An array of classifications for the given entity GUID.", - "schema": { - "$ref": "#/definitions/AtlasClassifications" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "post": { - "tags": [ - "Entity" - ], - "description": "Add classifications to an existing entity represented by a GUID.", - "operationId": "Entity_AddClassifications", - "x-ms-examples": { - "Entity_AddClassifications": { - "$ref": "./examples/Entity_AddClassifications.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/guid" - }, - { - "in": "body", - "name": "classifications", - "description": "An array of classifications to be added.", - "required": true, - "schema": { - "type": "array", - "description": "An array of classifications.", - "items": { - "$ref": "#/definitions/AtlasClassification" - } - } - } - ], - "responses": { - "204": { - "description": "No Content." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "Entity" - ], - "description": "Update classifications to an existing entity represented by a guid.", - "operationId": "Entity_UpdateClassifications", - "x-ms-examples": { - "Entity_UpdateClassifications": { - "$ref": "./examples/Entity_UpdateClassifications.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/guid" - }, - { - "in": "body", - "name": "classifications", - "description": "An array of classifications to be updated.", - "required": true, - "schema": { - "type": "array", - "description": "An array of classifications.", - "items": { - "$ref": "#/definitions/AtlasClassification" - } - } - } - ], - "responses": { - "204": { - "description": "No Content." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/entity/uniqueAttribute/type/{typeName}": { - "get": { - "tags": [ - "Entity" - ], - "description": "Get complete definition of an entity given its type and unique attribute.\nIn addition to the typeName path parameter, attribute key-value pair(s) can be provided in the following format:\nattr:\\=. \nNOTE: The attrName and attrValue should be unique across entities, eg. qualifiedName.\nThe REST request would look something like this:\nGET /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.", - "operationId": "Entity_GetByUniqueAttributes", - "x-ms-examples": { - "Entity_GetByUniqueAttributes": { - "$ref": "./examples/Entity_GetByUniqueAttributes.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/typeName" - }, - { - "$ref": "#/parameters/minExtInfo" - }, - { - "$ref": "#/parameters/ignoreRelationships" - }, - { - "name": "attr:qualifiedName", - "in": "query", - "description": "The qualified name of the entity.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "AtlasEntityWithExtInfo.", - "schema": { - "$ref": "#/definitions/AtlasEntityWithExtInfo" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "Entity" - ], - "description": "Update entity partially - Allow a subset of attributes to be updated on\nan entity which is identified by its type and unique attribute eg: Referenceable.qualifiedName.\nNull updates are not possible.\nIn addition to the typeName path parameter, attribute key-value pair(s) can be provided in the following format:\nattr:=.\nNOTE: The attrName and attrValue should be unique across entities, eg. qualifiedName.\nThe REST request would look something like this:\nPUT /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.", - "operationId": "Entity_PartialUpdateEntityByUniqueAttributes", - "x-ms-examples": { - "Entity_PartialUpdateEntityByUniqueAttributes": { - "$ref": "./examples/Entity_PartialUpdateEntityByUniqueAttributes.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/typeName" - }, - { - "name": "attr:qualifiedName", - "in": "query", - "description": "The qualified name of the entity.", - "required": false, - "type": "string" - }, - { - "in": "body", - "name": "atlasEntityWithExtInfo", - "description": "Atlas entity with extended information.", - "required": true, - "schema": { - "$ref": "#/definitions/AtlasEntityWithExtInfo" - } - } - ], - "responses": { - "200": { - "description": "Updated with EntityMutationResponse.", - "schema": { - "$ref": "#/definitions/EntityMutationResponse" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Entity" - ], - "description": "Delete an entity identified by its type and unique attributes.\nIn addition to the typeName path parameter, attribute key-value pair(s) can be provided in the following format:\nattr:\\=\\.\nNOTE: The attrName and attrValue should be unique across entities, eg. qualifiedName.\nThe REST request would look something like this:\nDELETE /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.", - "operationId": "Entity_DeleteByUniqueAttribute", - "x-ms-examples": { - "Entity_DeleteByUniqueAttribute": { - "$ref": "./examples/Entity_DeleteByUniqueAttribute.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/typeName" - }, - { - "name": "attr:qualifiedName", - "in": "query", - "description": "The qualified name of the entity.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Deleted with EntityMutationResponse.", - "schema": { - "$ref": "#/definitions/EntityMutationResponse" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/entity/uniqueAttribute/type/{typeName}/classification/{classificationName}": { - "delete": { - "tags": [ - "Entity" - ], - "description": "Delete a given classification from an entity identified by its type and unique attributes.", - "operationId": "Entity_DeleteClassificationByUniqueAttribute", - "x-ms-examples": { - "Entity_DeleteClassificationByUniqueAttribute": { - "$ref": "./examples/Entity_DeleteClassificationByUniqueAttribute.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/typeName" - }, - { - "$ref": "#/parameters/classificationName" - }, - { - "name": "attr:qualifiedName", - "in": "query", - "description": "The qualified name of the entity.", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "No Content." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/entity/uniqueAttribute/type/{typeName}/classifications": { - "post": { - "tags": [ - "Entity" - ], - "description": "Add classification to the entity identified by its type and unique attributes.", - "operationId": "Entity_AddClassificationsByUniqueAttribute", - "x-ms-examples": { - "Entity_AddClassificationsByUniqueAttribute": { - "$ref": "./examples/Entity_AddClassificationsByUniqueAttribute.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/typeName" - }, - { - "name": "attr:qualifiedName", - "in": "query", - "description": "The qualified name of the entity.", - "required": false, - "type": "string" - }, - { - "in": "body", - "name": "atlasClassificationArray", - "description": "An array of classification to be added.", - "required": true, - "schema": { - "type": "array", - "description": "An array of classification.", - "items": { - "$ref": "#/definitions/AtlasClassification" - } - } - } - ], - "responses": { - "204": { - "description": "No Content." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "Entity" - ], - "description": "Update classification on an entity identified by its type and unique attributes.", - "operationId": "Entity_UpdateClassificationsByUniqueAttribute", - "x-ms-examples": { - "Entity_UpdateClassificationsByUniqueAttribute": { - "$ref": "./examples/Entity_UpdateClassificationsByUniqueAttribute.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/typeName" - }, - { - "name": "attr:qualifiedName", - "in": "query", - "description": "The qualified name of the entity.", - "required": false, - "type": "string" - }, - { - "in": "body", - "name": "atlasClassificationArray", - "description": "An array of classification to be updated.", - "required": true, - "schema": { - "type": "array", - "description": "An array of classification.", - "items": { - "$ref": "#/definitions/AtlasClassification" - } - } - } - ], - "responses": { - "204": { - "description": "No Content." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/entity/bulk/setClassifications": { - "post": { - "tags": [ - "Entity" - ], - "description": "Set classifications on entities in bulk.", - "operationId": "Entity_SetClassifications", - "x-ms-examples": { - "Entity_SetClassifications": { - "$ref": "./examples/Entity_SetClassifications.json" - } - }, - "parameters": [ - { - "in": "body", - "name": "entityHeaders", - "description": "Atlas entity headers.", - "required": true, - "schema": { - "$ref": "#/definitions/AtlasEntityHeaders" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "description": "Response that indicates each classification mutation result.", - "items": { - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/entity/bulk/uniqueAttribute/type/{typeName}": { - "get": { - "tags": [ - "Entity" - ], - "description": "Bulk API to retrieve list of entities identified by its unique attributes.\n\nIn addition to the typeName path parameter, attribute key-value pair(s) can be provided in the following format\n\ntypeName=\\&attr_1:\\=\\&attr_2:\\=\\&attr_3:\\=\\\n\nNOTE: The attrName should be an unique attribute for the given entity-type\n\nThe REST request would look something like this\n\nGET /v2/entity/bulk/uniqueAttribute/type/hive_db?attr_0:qualifiedName=db1@cl1&attr_2:qualifiedName=db2@cl1", - "operationId": "Entity_GetEntitiesByUniqueAttributes", - "x-ms-examples": { - "Entity_GetEntitiesByUniqueAttributes": { - "$ref": "./examples/Entity_GetEntitiesByUniqueAttributes.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/typeName" - }, - { - "$ref": "#/parameters/minExtInfo" - }, - { - "$ref": "#/parameters/ignoreRelationships" - }, - { - "name": "attr_N:qualifiedName", - "in": "query", - "description": "Qualified name of an entity. E.g. to find 2 entities you can set attrs_0:qualifiedName=db1@cl1&attrs_2:qualifiedName=db2@cl1", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/AtlasEntitiesWithExtInfo" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/entity/guid/{guid}/header": { - "get": { - "tags": [ - "Entity" - ], - "description": "Get entity header given its GUID.", - "operationId": "Entity_GetHeader", - "x-ms-examples": { - "Entity_GetHeader": { - "$ref": "./examples/Entity_GetHeader.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/guid" - } - ], - "responses": { - "200": { - "schema": { - "$ref": "#/definitions/AtlasEntityHeader" - }, - "description": "AtlasEntityHeader" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary": { - "get": { - "tags": [ - "Glossary" - ], - "description": "Get all glossaries registered with Atlas.", - "operationId": "Glossary_ListGlossaries", - "x-ms-examples": { - "Glossary_ListGlossaries": { - "$ref": "./examples/Glossary_ListGlossaries.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/offset" - }, - { - "$ref": "#/parameters/sort" - }, - { - "$ref": "#/parameters/ignoreTermsAndCategories" - } - ], - "responses": { - "200": { - "description": "An array of existing glossaries fitting the search criteria or empty list if nothing matches.", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/AtlasGlossary" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "post": { - "tags": [ - "Glossary" - ], - "description": "Create a glossary.", - "operationId": "Glossary_CreateGlossary", - "x-ms-examples": { - "Glossary_CreateGlossary": { - "$ref": "./examples/Glossary_CreateGlossary.json" - } - }, - "parameters": [ - { - "in": "body", - "name": "atlasGlossary", - "description": "Glossary definition, terms & categories can be anchored to a glossary.\nUsing the anchor attribute when creating the Term/Category.", - "required": true, - "schema": { - "$ref": "#/definitions/AtlasGlossary" - } - } - ], - "responses": { - "200": { - "description": "OK. If glossary creation was successful.", - "schema": { - "$ref": "#/definitions/AtlasGlossary" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/categories": { - "post": { - "tags": [ - "Glossary" - ], - "description": "Create glossary category in bulk.", - "operationId": "Glossary_CreateGlossaryCategories", - "x-ms-examples": { - "Glossary_CreateGlossaryCategories": { - "$ref": "./examples/Glossary_CreateGlossaryCategories.json" - } - }, - "parameters": [ - { - "in": "body", - "name": "glossaryCategory", - "description": "An array of glossary category definitions to be created.", - "required": true, - "schema": { - "type": "array", - "description": "An array of glossary category definitions.", - "items": { - "$ref": "#/definitions/AtlasGlossaryCategory" - } - } - } - ], - "responses": { - "200": { - "description": "OK. If bulk glossary category creation was successful.", - "schema": { - "type": "array", - "description": "An array of glossary category created successfully in bulk.", - "items": { - "$ref": "#/definitions/AtlasGlossaryCategory" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/category": { - "post": { - "tags": [ - "Glossary" - ], - "description": "Create a glossary category.", - "operationId": "Glossary_CreateGlossaryCategory", - "x-ms-examples": { - "Glossary_CreateGlossaryCategory": { - "$ref": "./examples/Glossary_CreateGlossaryCategory.json" - } - }, - "parameters": [ - { - "in": "body", - "name": "glossaryCategory", - "description": "The glossary category definition. A category must be anchored to a Glossary when creating.\nOptionally, terms belonging to the category and the hierarchy can also be defined during creation.", - "required": true, - "schema": { - "$ref": "#/definitions/AtlasGlossaryCategory" - } - } - ], - "responses": { - "200": { - "description": "OK. If glossary category creation was successful.", - "schema": { - "$ref": "#/definitions/AtlasGlossaryCategory" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/category/{categoryGuid}": { - "get": { - "tags": [ - "Glossary" - ], - "description": "Get specific glossary category by its GUID.", - "operationId": "Glossary_GetGlossaryCategory", - "x-ms-examples": { - "Glossary_GetGlossaryCategory": { - "$ref": "./examples/Glossary_GetGlossaryCategory.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/categoryGuid" - } - ], - "responses": { - "200": { - "description": "OK. If glossary category exists for given GUID.", - "schema": { - "$ref": "#/definitions/AtlasGlossaryCategory" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "Glossary" - ], - "description": "Update the given glossary category by its GUID.", - "operationId": "Glossary_UpdateGlossaryCategory", - "x-ms-examples": { - "Glossary_UpdateGlossaryCategory": { - "$ref": "./examples/Glossary_UpdateGlossaryCategory.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/categoryGuid" - }, - { - "in": "body", - "name": "glossaryCategory", - "description": "The glossary category to be updated.", - "required": true, - "schema": { - "$ref": "#/definitions/AtlasGlossaryCategory" - } - } - ], - "responses": { - "200": { - "description": "OK. If glossary category partial update was successful.", - "schema": { - "$ref": "#/definitions/AtlasGlossaryCategory" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Glossary" - ], - "description": "Delete a glossary category.", - "operationId": "Glossary_DeleteGlossaryCategory", - "x-ms-examples": { - "Glossary_DeleteGlossaryCategory": { - "$ref": "./examples/Glossary_DeleteGlossaryCategory.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/categoryGuid" - } - ], - "responses": { - "204": { - "description": "OK. If glossary category deletion is successful." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/category/{categoryGuid}/partial": { - "put": { - "tags": [ - "Glossary" - ], - "description": "Update the glossary category partially.", - "operationId": "Glossary_PartialUpdateGlossaryCategory", - "x-ms-examples": { - "Glossary_PartialUpdateGlossaryCategory": { - "$ref": "./examples/Glossary_PartialUpdateGlossaryCategory.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/categoryGuid" - }, - { - "in": "body", - "name": "partialUpdates", - "description": "A map containing keys as attribute names and values as corresponding attribute values for partial update.", - "required": true, - "schema": { - "type": "object", - "description": "A map containing keys as attribute names and values as corresponding attribute values.", - "additionalProperties": { - "type": "string" - } - } - } - ], - "responses": { - "200": { - "description": "OK. If glossary category partial update was successful.", - "schema": { - "$ref": "#/definitions/AtlasGlossaryCategory" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/category/{categoryGuid}/related": { - "get": { - "tags": [ - "Glossary" - ], - "description": "Get all related categories (parent and children). Limit, offset, and sort parameters are currently not being enabled and won't work even they are passed.", - "operationId": "Glossary_ListRelatedCategories", - "x-ms-examples": { - "Glossary_ListRelatedCategories": { - "$ref": "./examples/Glossary_ListRelatedCategories.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/categoryGuid" - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/offset" - }, - { - "$ref": "#/parameters/sort" - } - ], - "responses": { - "200": { - "description": "OK. Gets an array of related categories.", - "schema": { - "type": "object", - "description": "An array of related categories.", - "additionalProperties": { - "type": "array", - "items": { - "$ref": "#/definitions/AtlasRelatedCategoryHeader" - } - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/category/{categoryGuid}/terms": { - "get": { - "tags": [ - "Glossary" - ], - "description": "Get all terms associated with the specific category.", - "operationId": "Glossary_ListCategoryTerms", - "x-ms-examples": { - "Glossary_ListCategoryTerms": { - "$ref": "./examples/Glossary_ListCategoryTerms.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/categoryGuid" - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/offset" - }, - { - "$ref": "#/parameters/sort" - } - ], - "responses": { - "200": { - "description": "An array of terms for the given category or an empty list.", - "schema": { - "type": "array", - "description": "An array of terms for the given category or an empty list.", - "items": { - "$ref": "#/definitions/AtlasRelatedTermHeader" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/term": { - "post": { - "tags": [ - "Glossary" - ], - "description": "Create a glossary term.", - "operationId": "Glossary_CreateGlossaryTerm", - "x-ms-examples": { - "Glossary_CreateGlossaryTerm": { - "$ref": "./examples/Glossary_CreateGlossaryTerm.json" - }, - "Glossary_CreateGlossaryTermWithTermTemplate": { - "$ref": "./examples/Glossary_CreateGlossaryTermWithTermTemplate.json" - } - }, - "parameters": [ - { - "in": "body", - "name": "glossaryTerm", - "description": "The glossary term definition. A term must be anchored to a Glossary at the time of creation.\nOptionally it can be categorized as well.", - "required": true, - "schema": { - "$ref": "#/definitions/AtlasGlossaryTerm" - } - }, - { - "$ref": "#/parameters/includeTermHierarchy" - } - ], - "responses": { - "200": { - "description": "OK. If glossary term creation was successful.", - "schema": { - "$ref": "#/definitions/AtlasGlossaryTerm" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/term/{termGuid}": { - "get": { - "tags": [ - "Glossary" - ], - "description": "Get a specific glossary term by its GUID.", - "operationId": "Glossary_GetGlossaryTerm", - "x-ms-examples": { - "Glossary_GetGlossaryTerm": { - "$ref": "./examples/Glossary_GetGlossaryTerm.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/termGuid" - }, - { - "$ref": "#/parameters/includeTermHierarchy" - } - ], - "responses": { - "200": { - "description": "OK. If glossary term exists for given GUID.", - "schema": { - "$ref": "#/definitions/AtlasGlossaryTerm" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "Glossary" - ], - "description": "Update the given glossary term by its GUID.", - "operationId": "Glossary_UpdateGlossaryTerm", - "x-ms-examples": { - "Glossary_UpdateGlossaryTerm": { - "$ref": "./examples/Glossary_UpdateGlossaryTerm.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/termGuid" - }, - { - "in": "body", - "name": "glossaryTerm", - "description": "The glossary term to be updated.", - "required": true, - "schema": { - "$ref": "#/definitions/AtlasGlossaryTerm" - } - } - ], - "responses": { - "200": { - "description": "OK. If glossary term update was successful.", - "schema": { - "$ref": "#/definitions/AtlasGlossaryTerm" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Glossary" - ], - "description": "Delete a glossary term.", - "operationId": "Glossary_DeleteGlossaryTerm", - "x-ms-examples": { - "Glossary_DeleteGlossaryTerm": { - "$ref": "./examples/Glossary_DeleteGlossaryTerm.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/termGuid" - } - ], - "responses": { - "204": { - "description": "OK. If glossary term delete was successful." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/term/{termGuid}/partial": { - "put": { - "tags": [ - "Glossary" - ], - "description": "Update the glossary term partially.", - "operationId": "Glossary_PartialUpdateGlossaryTerm", - "x-ms-examples": { - "Glossary_PartialUpdateGlossaryTerm": { - "$ref": "./examples/Glossary_PartialUpdateGlossaryTerm.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/termGuid" - }, - { - "$ref": "#/parameters/includeTermHierarchy" - }, - { - "in": "body", - "name": "partialUpdates", - "description": "A map containing keys as attribute names and values as corresponding attribute values to be updated.", - "required": true, - "schema": { - "type": "object", - "description": "A map containing keys as attribute names and values as corresponding attribute values.", - "additionalProperties": { - "type": "string" - } - } - } - ], - "responses": { - "200": { - "description": "OK. If glossary partial update was successful.", - "schema": { - "$ref": "#/definitions/AtlasGlossaryTerm" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/terms": { - "post": { - "tags": [ - "Glossary" - ], - "description": "Create glossary terms in bulk.", - "operationId": "Glossary_CreateGlossaryTerms", - "x-ms-examples": { - "Glossary_CreateGlossaryTerms": { - "$ref": "./examples/Glossary_CreateGlossaryTerms.json" - } - }, - "parameters": [ - { - "in": "body", - "name": "glossaryTerm", - "description": "An array of glossary term definitions to be created in bulk.", - "required": true, - "schema": { - "type": "array", - "description": "An array of glossary term definitions.", - "items": { - "$ref": "#/definitions/AtlasGlossaryTerm" - } - } - }, - { - "$ref": "#/parameters/includeTermHierarchy" - } - ], - "responses": { - "200": { - "description": "OK. If bulk glossary terms creation was successful.", - "schema": { - "type": "array", - "description": "If bulk glossary terms creation was successful.", - "items": { - "$ref": "#/definitions/AtlasGlossaryTerm" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/terms/{termGuid}/assignedEntities": { - "get": { - "tags": [ - "Glossary" - ], - "description": "Get all related objects assigned with the specified term.", - "operationId": "Glossary_GetEntitiesAssignedWithTerm", - "x-ms-examples": { - "Glossary_GetEntitiesAssignedWithTerm": { - "$ref": "./examples/Glossary_ListEntitiesAssignedWithTerm.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/termGuid" - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/offset" - }, - { - "$ref": "#/parameters/sort" - } - ], - "responses": { - "200": { - "description": "OK. An array of related objects (if any) for the given glossary or an empty list.", - "schema": { - "type": "array", - "description": "An array of related objects (if any) for the given glossary or an empty list.", - "items": { - "$ref": "#/definitions/AtlasRelatedObjectId" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "post": { - "tags": [ - "Glossary" - ], - "description": "Assign the given term to the provided list of related objects.", - "operationId": "Glossary_AssignTermToEntities", - "x-ms-examples": { - "Glossary_AssignTermToEntities": { - "$ref": "./examples/Glossary_AssignTermToEntities.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/termGuid" - }, - { - "in": "body", - "name": "relatedObjectIds", - "description": "An array of related object IDs to which the term has to be associated.", - "required": true, - "schema": { - "type": "array", - "description": "An array of related object IDs to which the term has to be associated.", - "items": { - "$ref": "#/definitions/AtlasRelatedObjectId" - } - } - } - ], - "responses": { - "204": { - "description": "OK. If the term assignment was successful." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "Glossary" - ], - "description": "Delete the term assignment for the given list of related objects.", - "operationId": "Glossary_RemoveTermAssignmentFromEntities", - "x-ms-examples": { - "Glossary_RemoveTermAssignmentFromEntities": { - "$ref": "./examples/Glossary_RemoveTermAssignmentFromEntities.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/termGuid" - }, - { - "in": "body", - "name": "relatedObjectIds", - "description": "An array of related object IDs from which the term has to be dissociated.", - "required": true, - "schema": { - "type": "array", - "description": "An array of related object IDs from which the term has to be dissociated.", - "items": { - "$ref": "#/definitions/AtlasRelatedObjectId" - } - } - } - ], - "responses": { - "204": { - "description": "OK. If glossary term dissociation was successful." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Glossary" - ], - "description": "Delete the term assignment for the given list of related objects.", - "operationId": "Glossary_DeleteTermAssignmentFromEntities", - "x-ms-examples": { - "Glossary_RemoveTermAssignmentFromEntities": { - "$ref": "./examples/Glossary_RemoveTermAssignmentFromEntities.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/termGuid" - }, - { - "in": "body", - "name": "relatedObjectIds", - "description": "An array of related object IDs from which the term has to be dissociated.", - "required": true, - "schema": { - "type": "array", - "description": "An array of related object IDs from which the term has to be dissociated.", - "items": { - "$ref": "#/definitions/AtlasRelatedObjectId" - } - } - } - ], - "responses": { - "204": { - "description": "OK. If glossary term dissociation was successful." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/terms/{termGuid}/related": { - "get": { - "tags": [ - "Glossary" - ], - "description": "Get all related terms for a specific term by its GUID. Limit, offset, and sort parameters are currently not being enabled and won't work even they are passed.", - "operationId": "Glossary_ListRelatedTerms", - "x-ms-examples": { - "Glossary_ListRelatedTerms": { - "$ref": "./examples/Glossary_ListRelatedTerms.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/termGuid" - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/offset" - }, - { - "$ref": "#/parameters/sort" - } - ], - "responses": { - "200": { - "description": "OK. An array of related glossary terms for the given glossary or an empty list.", - "schema": { - "type": "object", - "description": "An array of related glossary terms for the given glossary or an empty list.", - "additionalProperties": { - "type": "array", - "items": { - "$ref": "#/definitions/AtlasRelatedTermHeader" - } - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/{glossaryGuid}": { - "get": { - "tags": [ - "Glossary" - ], - "description": "Get a specific Glossary by its GUID.", - "operationId": "Glossary_GetGlossary", - "x-ms-examples": { - "Glossary_GetGlossary": { - "$ref": "./examples/Glossary_GetGlossary.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/glossaryGuid" - } - ], - "responses": { - "200": { - "description": "OK. If glossary with given guid exists.", - "schema": { - "$ref": "#/definitions/AtlasGlossary" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "Glossary" - ], - "description": "Update the given glossary.", - "operationId": "Glossary_UpdateGlossary", - "x-ms-examples": { - "Glossary_UpdateGlossary": { - "$ref": "./examples/Glossary_UpdateGlossary.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/glossaryGuid" - }, - { - "in": "body", - "name": "updatedGlossary", - "description": "The glossary definition to be updated.", - "required": true, - "schema": { - "$ref": "#/definitions/AtlasGlossary" - } - } - ], - "responses": { - "200": { - "description": "OK. If glossary update was successful.", - "schema": { - "$ref": "#/definitions/AtlasGlossary" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Glossary" - ], - "description": "Delete a glossary.", - "operationId": "Glossary_DeleteGlossary", - "x-ms-examples": { - "Glossary_DeleteGlossary": { - "$ref": "./examples/Glossary_DeleteGlossary.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/glossaryGuid" - } - ], - "responses": { - "204": { - "description": "OK. If glossary delete was successful." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/{glossaryGuid}/categories": { - "get": { - "tags": [ - "Glossary" - ], - "description": "Get the categories belonging to a specific glossary.", - "operationId": "Glossary_ListGlossaryCategories", - "x-ms-examples": { - "Glossary_ListGlossaryCategories": { - "$ref": "./examples/Glossary_ListGlossaryCategories.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/glossaryGuid" - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/offset" - }, - { - "$ref": "#/parameters/sort" - } - ], - "responses": { - "200": { - "description": "OK. An array of glossary categories for the given glossary or an empty list.", - "schema": { - "type": "array", - "description": "An array of glossary categories for the given glossary or an empty list.", - "items": { - "$ref": "#/definitions/AtlasGlossaryCategory" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/{glossaryGuid}/categories/headers": { - "get": { - "tags": [ - "Glossary" - ], - "description": "Get the category headers belonging to a specific glossary.", - "operationId": "Glossary_ListGlossaryCategoriesHeaders", - "x-ms-examples": { - "Glossary_ListGlossaryCategoriesHeaders": { - "$ref": "./examples/Glossary_ListGlossaryCategoriesHeaders.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/glossaryGuid" - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/offset" - }, - { - "$ref": "#/parameters/sort" - } - ], - "responses": { - "200": { - "description": "OK. An array of glossary category headers for the given glossary or an empty list.", - "schema": { - "type": "array", - "description": "An array of glossary category headers for the given glossary or an empty list.", - "items": { - "$ref": "#/definitions/AtlasRelatedCategoryHeader" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/{glossaryGuid}/detailed": { - "get": { - "tags": [ - "Glossary" - ], - "description": "Get a specific glossary with detailed information.", - "operationId": "Glossary_GetDetailedGlossary", - "x-ms-examples": { - "Glossary_GetDetailedGlossary": { - "$ref": "./examples/Glossary_GetDetailedGlossary.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/glossaryGuid" - }, - { - "$ref": "#/parameters/includeTermHierarchy" - } - ], - "responses": { - "200": { - "description": "OK. If glossary exists for given GUID.", - "schema": { - "$ref": "#/definitions/AtlasGlossaryExtInfo" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/{glossaryGuid}/partial": { - "put": { - "tags": [ - "Glossary" - ], - "description": "Update the glossary partially. Some properties such as qualifiedName are not allowed to be updated.", - "operationId": "Glossary_PartialUpdateGlossary", - "x-ms-examples": { - "Glossary_PartialUpdateGlossary": { - "$ref": "./examples/Glossary_PartialUpdateGlossary.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/glossaryGuid" - }, - { - "$ref": "#/parameters/includeTermHierarchy" - }, - { - "in": "body", - "name": "partialUpdates", - "description": "A map containing keys as attribute names and values as corresponding attribute values.", - "required": true, - "schema": { - "type": "object", - "description": "A map containing keys as attribute names and values as corresponding attribute values.", - "additionalProperties": { - "type": "string" - } - } - } - ], - "responses": { - "200": { - "description": "OK. If glossary partial update was successful.", - "schema": { - "$ref": "#/definitions/AtlasGlossary" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/{glossaryGuid}/terms": { - "get": { - "tags": [ - "Glossary" - ], - "description": "Get terms belonging to a specific glossary.", - "operationId": "Glossary_ListGlossaryTerms", - "x-ms-examples": { - "Glossary_ListGlossaryTerms": { - "$ref": "./examples/Glossary_ListGlossaryTerms.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/glossaryGuid" - }, - { - "$ref": "#/parameters/includeTermHierarchy" - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/offset" - }, - { - "$ref": "#/parameters/sort" - } - ], - "responses": { - "200": { - "description": "OK. An array of glossary terms for the given glossary or an empty list.", - "schema": { - "type": "array", - "description": "An array of glossary terms for the given glossary or an empty list.", - "items": { - "$ref": "#/definitions/AtlasGlossaryTerm" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/glossary/{glossaryGuid}/terms/headers": { - "get": { - "tags": [ - "Glossary" - ], - "description": "Get term headers belonging to a specific glossary.", - "operationId": "Glossary_ListGlossaryTermHeaders", - "x-ms-examples": { - "Glossary_ListGlossaryTermHeaders": { - "$ref": "./examples/Glossary_ListGlossaryTermHeaders.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/glossaryGuid" - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/offset" - }, - { - "$ref": "#/parameters/sort" - } - ], - "responses": { - "200": { - "description": "OK. An array of glossary terms for the given glossary or an empty list.", - "schema": { - "type": "array", - "description": "An array of glossary terms for the given glossary or an empty list.", - "items": { - "$ref": "#/definitions/AtlasRelatedTermHeader" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/glossary/{glossaryGuid}/terms/import": { - "post": { - "tags": [ - "Glossary" - ], - "consumes": [ - "multipart/form-data" - ], - "description": "Import Glossary Terms from local csv file", - "operationId": "Glossary_ImportGlossaryTermsViaCsv", - "x-ms-examples": { - "Glossary_ImportGlossaryTermsViaCsv": { - "$ref": "./examples/Glossary_GetImportCSVOperationStatus.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/glossaryGuid" - }, - { - "$ref": "#/parameters/includeTermHierarchy" - }, - { - "in": "formData", - "name": "file", - "description": "The csv file to import glossary terms from.", - "required": true, - "type": "file" - }, - { - "$ref": "#/parameters/purviewAPIVersion" - } - ], - "responses": { - "202": { - "description": "Accepted. A job to import glossary terms via csv has been accepted.", - "schema": { - "$ref": "#/definitions/ImportCSVOperation" - } - }, - "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": "azure-async-operation" - } - } - }, - "/glossary/name/{glossaryName}/terms/import": { - "post": { - "tags": [ - "Glossary" - ], - "consumes": [ - "multipart/form-data" - ], - "description": "Import Glossary Terms from local csv file by glossaryName", - "operationId": "Glossary_ImportGlossaryTermsViaCsvByGlossaryName", - "x-ms-examples": { - "Glossary_ImportGlossaryTermsViaCsvByGlossaryName": { - "$ref": "./examples/Glossary_GetImportCSVOperationStatusByGloassaryName.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/glossaryName" - }, - { - "$ref": "#/parameters/includeTermHierarchy" - }, - { - "in": "formData", - "name": "file", - "description": "The csv file to import glossary terms from.", - "required": true, - "type": "file" - }, - { - "$ref": "#/parameters/purviewAPIVersion" - } - ], - "responses": { - "202": { - "description": "Accepted. A job to import glossary terms via csv has been accepted.", - "schema": { - "$ref": "#/definitions/ImportCSVOperation" - } - }, - "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": "azure-async-operation" - } - } - }, - "/glossary/terms/import/{operationGuid}": { - "get": { - "tags": [ - "Glossary" - ], - "description": "Get the status of import csv operation", - "operationId": "Glossary_GetImportCsvOperationStatus", - "x-ms-examples": { - "Glossary_GetImportCsvOperationStatus": { - "$ref": "./examples/Glossary_GetImportCSVOperationStatusByOperationguid.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/operationGuid" - }, - { - "$ref": "#/parameters/purviewAPIVersion" - } - ], - "responses": { - "200": { - "description": "OK. Return the status of import csv operation.", - "schema": { - "$ref": "#/definitions/ImportCSVOperation" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/glossary/{glossaryGuid}/terms/export": { - "post": { - "tags": [ - "Glossary" - ], - "description": "Export Glossary Terms as csv file", - "operationId": "Glossary_ExportGlossaryTermsAsCsv", - "produces": [ - "text/csv" - ], - "parameters": [ - { - "$ref": "#/parameters/glossaryGuid" - }, - { - "$ref": "#/parameters/includeTermHierarchy" - }, - { - "in": "body", - "name": "termGuids", - "description": "An array of term guids.", - "required": true, - "schema": { - "type": "array", - "description": "An array of term guids.", - "items": { - "$ref": "#/definitions/TermGuid" - } - } - }, - { - "$ref": "#/parameters/purviewAPIVersion" - } - ], - "responses": { - "200": { - "description": "OK. A csv file contains terms with given term guids will be generated.", - "schema": { - "type": "file" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/glossary/name/{glossaryName}/terms": { - "get": { - "tags": [ - "Glossary" - ], - "description": "Get terms by glossary name.", - "operationId": "Glossary_ListTermsByGlossaryName", - "x-ms-examples": { - "Glossary_ListTermsByGlossaryName": { - "$ref": "./examples/Glossary_ListTermsByGlossaryName.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/glossaryName" - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/offset" - }, - { - "$ref": "#/parameters/includeTermHierarchy" - }, - { - "$ref": "#/parameters/purviewAPIVersion" - } - ], - "responses": { - "200": { - "description": "OK. An array of glossary terms for the given glossary or an empty list.", - "schema": { - "type": "array", - "description": "An array of glossary terms for the given glossary or an empty list.", - "items": { - "$ref": "#/definitions/AtlasGlossaryTerm" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/search/query": { - "post": { - "tags": [ - "Discovery" - ], - "description": "Gets data using search.", - "operationId": "Discovery_Query", - "x-ms-examples": { - "Discovery_Query": { - "$ref": "./examples/Discovery_Query.json" - }, - "Discovery_Query_And": { - "$ref": "./examples/Discovery_Query_And.json" - }, - "Discovery_Query_Not": { - "$ref": "./examples/Discovery_Query_Not.json" - }, - "Discovery_Query_AndOrNested": { - "$ref": "./examples/Discovery_Query_AndOrNested.json" - }, - "Discovery_Query_Attribute": { - "$ref": "./examples/Discovery_Query_Attribute.json" - }, - "Discovery_Query_Classification": { - "$ref": "./examples/Discovery_Query_Classification.json" - }, - "Discovery_Query_FileExtension": { - "$ref": "./examples/Discovery_Query_FileExtension.json" - }, - "Discovery_Query_Id": { - "$ref": "./examples/Discovery_Query_Id.json" - }, - "Discovery_Query_Type": { - "$ref": "./examples/Discovery_Query_Type.json" - }, - "Discovery_Query_AssetType": { - "$ref": "./examples/Discovery_Query_AssetType.json" - }, - "Discovery_Query_Term": { - "$ref": "./examples/Discovery_Query_Term.json" - }, - "Discovery_Query_TermOfGlossary": { - "$ref": "./examples/Discovery_Query_TermOfGlossary.json" - }, - "Discovery_Query_Facet": { - "$ref": "./examples/Discovery_Query_Facet.json" - }, - "Discovery_Query_Taxonomy": { - "$ref": "./examples/Discovery_Query_Taxonomy.json" - } - }, - "parameters": [ - { - "in": "body", - "name": "searchRequest", - "description": "An object specifying the search criteria.", - "required": true, - "schema": { - "$ref": "#/definitions/SearchRequest" - } - }, - { - "$ref": "#/parameters/purviewAPIVersion" - } - ], - "responses": { - "200": { - "description": "OK. On successful lookup of the advanced search.", - "schema": { - "$ref": "#/definitions/SearchResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/search/suggest": { - "post": { - "tags": [ - "Discovery" - ], - "description": "Get search suggestions by query criteria.", - "operationId": "Discovery_Suggest", - "x-ms-examples": { - "Discovery_Suggest": { - "$ref": "./examples/Discovery_Suggest.json" - } - }, - "parameters": [ - { - "in": "body", - "name": "suggestRequest", - "description": "An object specifying the suggest criteria.", - "required": true, - "schema": { - "$ref": "#/definitions/SuggestRequest" - } - }, - { - "$ref": "#/parameters/purviewAPIVersion" - } - ], - "responses": { - "200": { - "description": "OK. On successful lookup of the suggestions.", - "schema": { - "$ref": "#/definitions/SuggestResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/browse": { - "post": { - "tags": [ - "Discovery" - ], - "description": "Browse entities by path or entity type.", - "operationId": "Discovery_Browse", - "x-ms-examples": { - "Discovery_Browse_Path": { - "$ref": "./examples/Discovery_Browse_Path.json" - }, - "Discovery_Browse_EntityType": { - "$ref": "./examples/Discovery_Browse_EntityType.json" - } - }, - "parameters": [ - { - "in": "body", - "name": "browseRequest", - "description": "An object specifying the browse criteria.", - "required": true, - "schema": { - "$ref": "#/definitions/BrowseRequest" - } - }, - { - "$ref": "#/parameters/purviewAPIVersion" - } - ], - "responses": { - "200": { - "description": "OK. On successful get the entities to browse.", - "schema": { - "$ref": "#/definitions/BrowseResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/search/autocomplete": { - "post": { - "tags": [ - "Discovery" - ], - "description": "Get auto complete options.", - "operationId": "Discovery_AutoComplete", - "x-ms-examples": { - "Discovery_AutoComplete": { - "$ref": "./examples/Discovery_AutoComplete.json" - } - }, - "parameters": [ - { - "in": "body", - "name": "autoCompleteRequest", - "description": "An object specifying the autocomplete criteria.", - "required": true, - "schema": { - "$ref": "#/definitions/AutoCompleteRequest" - } - }, - { - "$ref": "#/parameters/purviewAPIVersion" - } - ], - "responses": { - "200": { - "description": "OK. On successful lookup of the auto complete options.", - "schema": { - "$ref": "#/definitions/AutoCompleteResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/lineage/{guid}": { - "get": { - "tags": [ - "Lineage" - ], - "description": "Get lineage info of the entity specified by GUID.", - "operationId": "Lineage_GetLineageGraph", - "x-ms-examples": { - "GetLineageGraph": { - "$ref": "./examples/GetLineageGraph.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/guid" - }, - { - "$ref": "#/parameters/depth" - }, - { - "$ref": "#/parameters/width" - }, - { - "$ref": "#/parameters/direction" - }, - { - "$ref": "#/parameters/includeParent" - }, - { - "$ref": "#/parameters/getDerivedLineage" - } - ], - "responses": { - "200": { - "description": "OK. If the request is valid.", - "schema": { - "$ref": "#/definitions/AtlasLineageInfo" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/lineage/{guid}/next/": { - "get": { - "tags": [ - "Lineage" - ], - "description": "Return immediate next page lineage info about entity with pagination", - "operationId": "Lineage_NextPageLineage", - "x-ms-examples": { - "NextPageLineage": { - "$ref": "./examples/NextPageLineage.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/guid" - }, - { - "$ref": "#/parameters/direction" - }, - { - "$ref": "#/parameters/getDerivedLineage" - }, - { - "$ref": "#/parameters/offset" - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/purviewAPIVersion" - } - ], - "responses": { - "200": { - "description": "OK. If the input is valid.", - "schema": { - "$ref": "#/definitions/AtlasLineageInfo" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/relationship": { - "post": { - "tags": [ - "Relationship" - ], - "description": "Create a new relationship between entities.", - "operationId": "Relationship_Create", - "x-ms-examples": { - "Relationship_Create": { - "$ref": "./examples/Relationship_Create.json" - } - }, - "parameters": [ - { - "in": "body", - "name": "relationship", - "description": "The AtlasRelationship object containing the information for the relationship to be created.", - "required": true, - "schema": { - "$ref": "#/definitions/AtlasRelationship" - } - } - ], - "responses": { - "200": { - "description": "OK. The relationship is created.", - "schema": { - "$ref": "#/definitions/AtlasRelationship" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "Relationship" - ], - "description": "Update an existing relationship between entities.", - "operationId": "Relationship_Update", - "x-ms-examples": { - "Relationship_Update": { - "$ref": "./examples/Relationship_Update.json" - } - }, - "parameters": [ - { - "in": "body", - "name": "relationship", - "description": "The AtlasRelationship object containing the information for the relationship to be created.", - "required": true, - "schema": { - "$ref": "#/definitions/AtlasRelationship" - } - } - ], - "responses": { - "200": { - "description": "OK. The relationship is updated.", - "schema": { - "$ref": "#/definitions/AtlasRelationship" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/relationship/guid/{guid}": { - "get": { - "tags": [ - "Relationship" - ], - "description": "Get relationship information between entities by its GUID.", - "operationId": "Relationship_Get", - "x-ms-examples": { - "Relationship_Get": { - "$ref": "./examples/Relationship_Get.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/relationshipGuid" - }, - { - "$ref": "#/parameters/extendedInfo" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/AtlasRelationshipWithExtInfo" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Relationship" - ], - "description": "Delete a relationship between entities by its GUID.", - "operationId": "Relationship_Delete", - "x-ms-examples": { - "Relationship_Delete": { - "$ref": "./examples/Relationship_Delete.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/relationshipGuid" - } - ], - "responses": { - "204": { - "description": "OK. The relationship is deleted." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/types/classificationdef/guid/{guid}": { - "get": { - "tags": [ - "Types" - ], - "description": "Get the classification definition for the given GUID.", - "operationId": "Types_GetClassificationDefByGuid", - "x-ms-examples": { - "Types_GetClassificationDefByGuid": { - "$ref": "./examples/Types_GetClassificationDefByGuid.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/classificationDefGuid" - } - ], - "responses": { - "200": { - "description": "OK. On successful lookup of the the classification definition by its GUID.", - "schema": { - "$ref": "#/definitions/AtlasClassificationDef" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/types/classificationdef/name/{name}": { - "get": { - "tags": [ - "Types" - ], - "description": "Get the classification definition by its name (unique).", - "operationId": "Types_GetClassificationDefByName", - "x-ms-examples": { - "Types_GetClassificationDefByName": { - "$ref": "./examples/Types_GetClassificationDefByName.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/classificationDefName" - } - ], - "responses": { - "200": { - "description": "OK. On successful lookup of the the classification definition by its name.", - "schema": { - "$ref": "#/definitions/AtlasClassificationDef" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/types/entitydef/guid/{guid}": { - "get": { - "tags": [ - "Types" - ], - "description": "Get the Entity definition for the given GUID.", - "operationId": "Types_GetEntityDefinitionByGuid", - "x-ms-examples": { - "Types_GetEntityDefinitionByGuid": { - "$ref": "./examples/Types_GetEntityDefinitionByGuid.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/entityDefGuid" - } - ], - "responses": { - "200": { - "description": "OK. On successful lookup of the the entity definition by its GUID.", - "schema": { - "$ref": "#/definitions/AtlasEntityDef" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/types/entitydef/name/{name}": { - "get": { - "tags": [ - "Types" - ], - "description": "Get the entity definition by its name (unique).", - "operationId": "Types_GetEntityDefinitionByName", - "x-ms-examples": { - "Types_GetEntityDefinitionByName": { - "$ref": "./examples/Types_GetEntityDefinitionByName.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/entityDefName" - } - ], - "responses": { - "200": { - "description": "OK. On successful lookup of the the entity definition by its name.", - "schema": { - "$ref": "#/definitions/AtlasEntityDef" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/types/enumdef/guid/{guid}": { - "get": { - "tags": [ - "Types" - ], - "description": "Get the enum definition for the given GUID.", - "operationId": "Types_GetEnumDefByGuid", - "x-ms-examples": { - "Types_GetEnumDefByGuid": { - "$ref": "./examples/Types_GetEnumDefByGuid.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/enumDefGuid" - } - ], - "responses": { - "200": { - "description": "OK. On successful lookup of the the enum definition by its GUID.", - "schema": { - "$ref": "#/definitions/AtlasEnumDef" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/types/enumdef/name/{name}": { - "get": { - "tags": [ - "Types" - ], - "description": "Get the enum definition by its name (unique).", - "operationId": "Types_GetEnumDefByName", - "x-ms-examples": { - "Types_GetEnumDefByName": { - "$ref": "./examples/Types_GetEnumDefByName.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/enumDefName" - } - ], - "responses": { - "200": { - "description": "OK. On successful lookup of the the enum definition by its name.", - "schema": { - "$ref": "#/definitions/AtlasEnumDef" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/types/relationshipdef/guid/{guid}": { - "get": { - "tags": [ - "Types" - ], - "description": "Get the relationship definition for the given GUID.", - "operationId": "Types_GetRelationshipDefByGuid", - "x-ms-examples": { - "Types_GetRelationshipDefByGuid": { - "$ref": "./examples/Types_GetRelationshipDefByGuid.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/relationshipDefGuid" - } - ], - "responses": { - "200": { - "description": "OK. On successful lookup of the the relationship definition by its GUID.", - "schema": { - "$ref": "#/definitions/AtlasRelationshipDef" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/types/relationshipdef/name/{name}": { - "get": { - "tags": [ - "Types" - ], - "description": "Get the relationship definition by its name (unique).", - "operationId": "Types_GetRelationshipDefByName", - "x-ms-examples": { - "Types_GetRelationshipDefByName": { - "$ref": "./examples/Types_GetRelationshipDefByName.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/relationshipDefName" - } - ], - "responses": { - "200": { - "description": "OK. On successful lookup of the the relationship definition by its name.", - "schema": { - "$ref": "#/definitions/AtlasRelationshipDef" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/types/structdef/guid/{guid}": { - "get": { - "tags": [ - "Types" - ], - "description": "Get the struct definition for the given GUID.", - "operationId": "Types_GetStructDefByGuid", - "x-ms-examples": { - "Types_GetStructDefByGuid": { - "$ref": "./examples/Types_GetStructDefByGuid.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/structDefGuid" - } - ], - "responses": { - "200": { - "description": "OK. On successful lookup of the the struct definition by its GUID.", - "schema": { - "$ref": "#/definitions/AtlasStructDef" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/types/structdef/name/{name}": { - "get": { - "tags": [ - "Types" - ], - "description": "Get the struct definition by its name (unique).", - "operationId": "Types_GetStructDefByName", - "x-ms-examples": { - "Types_GetStructDefByName": { - "$ref": "./examples/Types_GetStructDefByName.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/structDefName" - } - ], - "responses": { - "200": { - "description": "OK. On successful lookup of the the struct definition by its name.", - "schema": { - "$ref": "#/definitions/AtlasStructDef" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/types/typedef/guid/{guid}": { - "get": { - "tags": [ - "Types" - ], - "description": "Get the type definition for the given GUID.", - "operationId": "Types_GetTypeDefinitionByGuid", - "x-ms-examples": { - "Types_GetTypeDefinitionByGuid": { - "$ref": "./examples/Types_GetTypeDefinitionByGuid.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/typeDefGuid" - } - ], - "responses": { - "200": { - "description": "OK. On successful lookup of the the type definition by its GUID.", - "schema": { - "$ref": "#/definitions/AtlasTypeDef" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/types/typedef/name/{name}": { - "get": { - "tags": [ - "Types" - ], - "description": "Get the type definition by its name (unique).", - "operationId": "Types_GetTypeDefinitionByName", - "x-ms-examples": { - "Types_GetTypeDefinitionByName": { - "$ref": "./examples/Types_GetTypeDefinitionByName.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/typeDefName" - } - ], - "responses": { - "200": { - "description": "OK. On successful lookup of the the type definition by its name.", - "schema": { - "$ref": "#/definitions/AtlasTypeDef" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Types" - ], - "description": "Delete API for type identified by its name.", - "operationId": "Types_DeleteTypeByName", - "x-ms-examples": { - "Types_DeleteTypeByName": { - "$ref": "./examples/Types_DeleteTypeByName.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/typeDefName" - } - ], - "responses": { - "204": { - "description": "On successful deletion of the requested type definitions" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/types/typedefs": { - "get": { - "tags": [ - "Types" - ], - "description": "Get all type definitions in Atlas in bulk.", - "operationId": "Types_GetAllTypeDefinitions", - "x-ms-examples": { - "Types_GetAllTypeDefinitions": { - "$ref": "./examples/Types_GetAllTypeDefinitions.json" - }, - "Types_GetAllTermTemplateDef": { - "$ref": "./examples/Types_GetAllTermTemplateDef.json" - }, - "Types_GetAllEnumDef": { - "$ref": "./examples/Types_GetAllEnumDef.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/includeTermTemplate" - }, - { - "$ref": "#/parameters/type" - } - ], - "responses": { - "200": { - "description": "OK. AtlasTypesDef with type definitions matching the search criteria or else returns empty list of type definitions.", - "schema": { - "$ref": "#/definitions/AtlasTypesDef" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "post": { - "tags": [ - "Types" - ], - "description": "Create all atlas type definitions in bulk, only new definitions will be created.\nAny changes to the existing definitions will be discarded.", - "operationId": "Types_CreateTypeDefinitions", - "x-ms-examples": { - "Types_CreateTypeDefinitions": { - "$ref": "./examples/Types_CreateTypeDefinitions.json" - } - }, - "parameters": [ - { - "in": "body", - "name": "typesDef", - "description": "A composite wrapper object with corresponding lists of the type definition.", - "required": true, - "schema": { - "$ref": "#/definitions/AtlasTypesDef" - } - } - ], - "responses": { - "200": { - "description": "OK. On successful update of requested type definitions.", - "schema": { - "$ref": "#/definitions/AtlasTypesDef" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "Types" - ], - "description": "Update all types in bulk, changes detected in the type definitions would be persisted.", - "operationId": "Types_UpdateAtlasTypeDefinitions", - "x-ms-examples": { - "Types_UpdateAtlasTypeDefinitions": { - "$ref": "./examples/Types_UpdateAtlasTypeDefinitions.json" - } - }, - "parameters": [ - { - "in": "body", - "name": "typesDef", - "description": "A composite object that captures all type definition changes.", - "required": true, - "schema": { - "$ref": "#/definitions/AtlasTypesDef" - } - } - ], - "responses": { - "200": { - "description": "OK. On successful update of requested type definitions.", - "schema": { - "$ref": "#/definitions/AtlasTypesDef" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Types" - ], - "description": "Delete API for all types in bulk.", - "operationId": "Types_DeleteTypeDefinitions", - "x-ms-examples": { - "Types_DeleteTypeDefinitions": { - "$ref": "./examples/Types_DeleteTypeDefinitions.json" - } - }, - "parameters": [ - { - "in": "body", - "name": "typesDef", - "description": "A composite object that captures all types to be deleted", - "required": true, - "schema": { - "$ref": "#/definitions/AtlasTypesDef" - } - } - ], - "responses": { - "204": { - "description": "OK. On successful deletion of the requested type definitions." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/atlas/v2/types/typedefs/headers": { - "get": { - "tags": [ - "Types" - ], - "description": "List all type definitions returned as a list of minimal information header.", - "operationId": "Types_ListTypeDefinitionHeaders", - "x-ms-examples": { - "Types_ListTypeDefinitionHeaders": { - "$ref": "./examples/Types_ListTypeDefinitionHeaders.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/includeTermTemplate" - }, - { - "$ref": "#/parameters/type" - } - ], - "responses": { - "200": { - "description": "An array of AtlasTypeDefHeader matching the search criteria\nor an empty list if no match.", - "schema": { - "type": "array", - "description": "An array of AtlasTypeDefHeader matching the search criteria\nor an empty list if no match.", - "items": { - "$ref": "#/definitions/AtlasTypeDefHeader" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/types/termtemplatedef/guid/{guid}": { - "get": { - "tags": [ - "Types" - ], - "description": "Get the term template definition for the given GUID.", - "operationId": "Types_GetTermTemplateDefByGuid", - "x-ms-examples": { - "Types_GetTermTemplateDefByGuid": { - "$ref": "./examples/Types_GetTermTemplateDefByGuid.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/termTemplateDefGuid" - }, - { - "$ref": "#/parameters/purviewAPIVersion" - } - ], - "responses": { - "200": { - "description": "OK. On successful lookup of the the term template definition by its GUID.", - "schema": { - "$ref": "#/definitions/TermTemplateDef" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/types/termtemplatedef/name/{name}": { - "get": { - "tags": [ - "Types" - ], - "description": "Get the term template definition by its name (unique).", - "operationId": "Types_GetTermTemplateDefByName", - "x-ms-examples": { - "Types_GetTermTemplateDefByName": { - "$ref": "./examples/Types_GetTermTemplateDefByName.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/termTemplateDefName" - }, - { - "$ref": "#/parameters/purviewAPIVersion" - } - ], - "responses": { - "200": { - "description": "OK. On successful lookup of the the term template definition by its name.", - "schema": { - "$ref": "#/definitions/TermTemplateDef" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/collections/{collection}/entity": { - "post": { - "tags": [ - "Collection" - ], - "description": "Creates or updates an entity to a collection.\nExisting entity is matched using its unique guid if supplied or by its unique attributes eg: qualifiedName.\nMap and array of collections are not well supported. E.g., array>, array>.", - "operationId": "Collection_CreateOrUpdate", - "x-ms-examples": { - "Collection_CreateOrUpdate": { - "$ref": "./examples/Collection_CreateOrUpdate.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/collection" - }, - { - "$ref": "#/parameters/purviewAPIVersion" - }, - { - "in": "body", - "name": "entity", - "description": "Atlas entity with extended information.", - "required": true, - "schema": { - "$ref": "#/definitions/AtlasEntityWithExtInfo" - } - } - ], - "responses": { - "200": { - "description": "Created with EntityMutationResponse.", - "schema": { - "$ref": "#/definitions/EntityMutationResponse" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/collections/{collection}/entity/bulk": { - "post": { - "tags": [ - "Collection" - ], - "description": "Creates or updates entities in bulk to a collection.\nExisting entity is matched using its unique guid if supplied or by its unique attributes eg: qualifiedName.\nMap and array of collections are not well supported. E.g., array>, array>.", - "operationId": "Collection_CreateOrUpdateBulk", - "x-ms-examples": { - "Collection_CreateOrUpdateBulk": { - "$ref": "./examples/Collection_CreateOrUpdateBulk.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/collection" - }, - { - "$ref": "#/parameters/purviewAPIVersion" - }, - { - "in": "body", - "name": "entities", - "description": "Atlas entities with extended information.", - "required": true, - "schema": { - "$ref": "#/definitions/AtlasEntitiesWithExtInfo" - } - } - ], - "responses": { - "200": { - "description": "Created with EntityMutationResponse.", - "schema": { - "$ref": "#/definitions/EntityMutationResponse" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/collections/{collection}/entity/moveHere": { - "post": { - "tags": [ - "Collection" - ], - "description": "Move existing entities to the target collection.", - "operationId": "Collection_MoveEntitiesToCollection", - "x-ms-examples": { - "Collection_MoveEntitiesToCollection": { - "$ref": "./examples/Collection_MoveEntitiesToCollection.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/collection" - }, - { - "$ref": "#/parameters/purviewAPIVersion" - }, - { - "in": "body", - "name": "moveEntitiesRequest", - "description": "Entity guids to be moved to target collection.", - "required": true, - "schema": { - "$ref": "#/definitions/MoveEntitiesRequest" - } - } - ], - "responses": { - "200": { - "description": "Created with EntityMutationResponse.", - "schema": { - "$ref": "#/definitions/EntityMutationResponse" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - } - }, - "definitions": { - "AtlasAttributeDef": { - "type": "object", - "properties": { - "cardinality": { - "$ref": "#/definitions/Cardinality" - }, - "constraints": { - "type": "array", - "description": "An array of constraints.", - "items": { - "$ref": "#/definitions/AtlasConstraintDef" - } - }, - "defaultValue": { - "type": "string", - "description": "The default value of the attribute." - }, - "description": { - "type": "string", - "description": "The description of the attribute." - }, - "includeInNotification": { - "type": "boolean", - "description": "Determines if it is included in notification." - }, - "isIndexable": { - "type": "boolean", - "description": "Determines if it is indexable." - }, - "isOptional": { - "type": "boolean", - "description": "Determines if it is optional." - }, - "isUnique": { - "type": "boolean", - "description": "Determines if it unique." - }, - "name": { - "type": "string", - "description": "The name of the attribute." - }, - "options": { - "type": "object", - "description": "The options for the attribute.", - "additionalProperties": { - "type": "string" - } - }, - "typeName": { - "type": "string", - "description": "The name of the type." - }, - "valuesMaxCount": { - "type": "integer", - "format": "int32", - "description": "The maximum count of the values." - }, - "valuesMinCount": { - "type": "integer", - "format": "int32", - "description": "The minimum count of the values." - } - }, - "title": "AtlasAttributeDef", - "description": "class that captures details of a struct-attribute." - }, - "AtlasBaseModelObject": { - "type": "object", - "properties": { - "guid": { - "type": "string", - "description": "The GUID of the object." - } - }, - "title": "AtlasBaseModelObject", - "description": "The base model object." - }, - "AtlasBaseTypeDef": { - "type": "object", - "properties": { - "category": { - "$ref": "#/definitions/TypeCategory" - }, - "createTime": { - "type": "number", - "description": "The created time of the record." - }, - "createdBy": { - "type": "string", - "description": "The user who created the record." - }, - "dateFormatter": { - "$ref": "#/definitions/DateFormat" - }, - "description": { - "type": "string", - "description": "The description of the type definition." - }, - "guid": { - "type": "string", - "description": "The GUID of the type definition." - }, - "name": { - "type": "string", - "description": "The name of the type definition." - }, - "options": { - "type": "object", - "description": "The options for the type definition.", - "additionalProperties": { - "type": "string" - } - }, - "serviceType": { - "readOnly": false, - "description": "The service type.", - "type": "string" - }, - "typeVersion": { - "type": "string", - "description": "The version of the type." - }, - "updateTime": { - "type": "number", - "description": "The update time of the record." - }, - "updatedBy": { - "type": "string", - "description": "The user who updated the record." - }, - "version": { - "type": "number", - "description": "The version of the record." - }, - "lastModifiedTS": { - "$ref": "#/definitions/LastModifiedTS" - } - }, - "title": "AtlasBaseTypeDef", - "description": "Base class that captures common-attributes for all Atlas types." - }, - "AtlasClassification": { - "type": "object", - "title": "AtlasClassification", - "allOf": [ - { - "$ref": "#/definitions/AtlasStruct" - }, - { - "properties": { - "entityGuid": { - "type": "string", - "description": "The GUID of the entity." - }, - "entityStatus": { - "$ref": "#/definitions/Status" - }, - "removePropagationsOnEntityDelete": { - "type": "boolean", - "description": "Determines if propagations will be removed on entity deletion." - }, - "validityPeriods": { - "type": "array", - "description": "An array of time boundaries indicating validity periods.", - "items": { - "$ref": "#/definitions/TimeBoundary" - } - }, - "source": { - "type": "string", - "description": "indicate the source who create the classification detail" - }, - "sourceDetails": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "more detail on source information" - } - } - } - ], - "description": "An instance of a classification; it doesn't have an identity, this object exists only when associated with an entity." - }, - "AtlasClassificationDef": { - "type": "object", - "title": "AtlasClassificationDef", - "allOf": [ - { - "$ref": "#/definitions/AtlasStructDef" - }, - { - "properties": { - "entityTypes": { - "type": "array", - "description": "Specifying a list of entityType names in the classificationDef, ensures that classifications can\nonly be applied to those entityTypes.\n
    \n
  • Any subtypes of the entity types inherit the restriction
  • \n
  • Any classificationDef subtypes inherit the parents entityTypes restrictions
  • \n
  • Any classificationDef subtypes can further restrict the parents entityTypes restrictions by specifying a subset of the entityTypes
  • \n
  • An empty entityTypes list when there are no parent restrictions means there are no restrictions
  • \n
  • An empty entityTypes list when there are parent restrictions means that the subtype picks up the parents restrictions
  • \n
  • If a list of entityTypes are supplied, where one inherits from another, this will be rejected. This should encourage cleaner classificationsDefs
  • \n
", - "items": { - "type": "string" - } - }, - "subTypes": { - "type": "array", - "description": "An array of sub types.", - "items": { - "type": "string" - } - }, - "superTypes": { - "type": "array", - "description": "An array of super types.", - "items": { - "type": "string" - } - } - } - } - ], - "description": "class that captures details of a classification-type." - }, - "AtlasClassifications": { - "type": "object", - "title": "AtlasClassifications", - "allOf": [ - { - "$ref": "#/definitions/PList" - } - ], - "description": "REST serialization friendly list." - }, - "AtlasConstraintDef": { - "type": "object", - "properties": { - "params": { - "type": "object", - "description": "The parameters of the constraint definition.", - "additionalProperties": { - "type": "object", - "properties": {} - } - }, - "type": { - "type": "string", - "description": "The type of the constraint." - } - }, - "title": "AtlasConstraintDef", - "description": "class that captures details of a constraint." - }, - "AtlasEntitiesWithExtInfo": { - "type": "object", - "title": "AtlasEntitiesWithExtInfo", - "allOf": [ - { - "$ref": "#/definitions/AtlasEntityExtInfo" - }, - { - "properties": { - "entities": { - "type": "array", - "description": "An array of entities.", - "items": { - "$ref": "#/definitions/AtlasEntity" - } - } - } - } - ], - "description": "An instance of an entity along with extended info - like hive_table, hive_database." - }, - "AtlasEntity": { - "type": "object", - "title": "AtlasEntity", - "allOf": [ - { - "$ref": "#/definitions/AtlasStruct" - }, - { - "properties": { - "classifications": { - "type": "array", - "description": "An array of classifications.", - "items": { - "$ref": "#/definitions/AtlasClassification" - } - }, - "createTime": { - "type": "number", - "description": "The created time of the record." - }, - "createdBy": { - "type": "string", - "description": "The user who created the record." - }, - "guid": { - "type": "string", - "description": "The GUID of the entity." - }, - "homeId": { - "type": "string", - "description": "The home ID of the entity." - }, - "meanings": { - "type": "array", - "description": "An array of term assignment headers indicating the meanings of the entity.", - "items": { - "$ref": "#/definitions/AtlasTermAssignmentHeader" - } - }, - "provenanceType": { - "readOnly": false, - "description": "Used to record the provenance of an instance of an entity or relationship.", - "type": "number" - }, - "proxy": { - "type": "boolean", - "description": "Determines if there's a proxy." - }, - "relationshipAttributes": { - "type": "object", - "description": "The attributes of relationship.", - "additionalProperties": { - "type": "object", - "properties": {} - } - }, - "status": { - "$ref": "#/definitions/Status" - }, - "updateTime": { - "type": "number", - "description": "The update time of the record." - }, - "updatedBy": { - "type": "string", - "description": "The user who updated the record." - }, - "version": { - "type": "number", - "description": "The version of the entity." - }, - "source": { - "type": "string", - "description": "indicate the source who create the classification detail" - }, - "sourceDetails": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "more detail on source information" - }, - "contacts": { - "type": "object", - "description": "The dictionary of contacts for terms. Key could be Expert or Owner.", - "additionalProperties": { - "type": "array", - "items": { - "$ref": "#/definitions/ContactBasic" - } - } - } - } - } - ], - "description": "An instance of an entity - like hive_table, hive_database." - }, - "TermTemplateDef": { - "type": "object", - "title": "TermTemplateDef", - "allOf": [ - { - "$ref": "#/definitions/AtlasStructDef" - } - ], - "description": "term template definition for glossary term." - }, - "AtlasEntityDef": { - "type": "object", - "title": "AtlasEntityDef", - "allOf": [ - { - "$ref": "#/definitions/AtlasStructDef" - }, - { - "properties": { - "subTypes": { - "type": "array", - "description": "An array of sub types.", - "items": { - "type": "string" - } - }, - "superTypes": { - "type": "array", - "description": "An array of super types.", - "items": { - "type": "string" - } - }, - "relationshipAttributeDefs": { - "type": "array", - "description": "An array of relationship attributes.", - "items": { - "$ref": "#/definitions/AtlasRelationshipAttributeDef" - } - } - } - } - ], - "description": "class that captures details of a entity-type." - }, - "AtlasEntityExtInfo": { - "type": "object", - "properties": { - "referredEntities": { - "type": "object", - "description": "The referred entities.", - "additionalProperties": { - "$ref": "#/definitions/AtlasEntity" - } - } - }, - "title": "AtlasEntityExtInfo", - "description": "An instance of an entity along with extended info - like hive_table, hive_database." - }, - "AtlasEntityHeader": { - "type": "object", - "title": "AtlasEntityHeader", - "allOf": [ - { - "$ref": "#/definitions/AtlasStruct" - }, - { - "properties": { - "classificationNames": { - "type": "array", - "description": "An array of classification names.", - "items": { - "type": "string" - } - }, - "classifications": { - "type": "array", - "description": "An array of classifications.", - "items": { - "$ref": "#/definitions/AtlasClassification" - } - }, - "displayText": { - "type": "string", - "description": "The display text." - }, - "guid": { - "type": "string", - "description": "The GUID of the record." - }, - "meaningNames": { - "type": "array", - "description": "An array of meanings.", - "items": { - "type": "string" - } - }, - "meanings": { - "type": "array", - "description": "An array of term assignment headers.", - "items": { - "$ref": "#/definitions/AtlasTermAssignmentHeader" - } - }, - "status": { - "$ref": "#/definitions/Status" - } - } - } - ], - "description": "An instance of an entity - like hive_table, hive_database." - }, - "AtlasEntityHeaders": { - "type": "object", - "title": "AtlasEntityHeaders", - "properties": { - "guidHeaderMap": { - "readOnly": false, - "description": "The description of the guid header map,", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/AtlasEntityHeader" - } - } - }, - "description": "An instance of an entity header map." - }, - "AtlasEntityWithExtInfo": { - "type": "object", - "title": "AtlasEntityWithExtInfo", - "allOf": [ - { - "$ref": "#/definitions/AtlasEntityExtInfo" - }, - { - "properties": { - "entity": { - "$ref": "#/definitions/AtlasEntity" - } - } - } - ], - "description": "An instance of an entity along with extended info - like hive_table, hive_database." - }, - "AtlasEnumDef": { - "type": "object", - "title": "AtlasEnumDef", - "allOf": [ - { - "$ref": "#/definitions/AtlasBaseTypeDef" - }, - { - "properties": { - "defaultValue": { - "type": "string", - "description": "The default value." - }, - "elementDefs": { - "type": "array", - "description": "An array of enum element definitions.", - "items": { - "$ref": "#/definitions/AtlasEnumElementDef" - } - } - } - } - ], - "description": "class that captures details of an enum-type." - }, - "AtlasEnumElementDef": { - "type": "object", - "properties": { - "description": { - "type": "string", - "description": "The description of the enum element definition." - }, - "ordinal": { - "type": "number", - "description": "The ordinal of the enum element definition." - }, - "value": { - "type": "string", - "description": "The value of the enum element definition." - } - }, - "title": "AtlasEnumElementDef", - "description": "class that captures details of an enum-element." - }, - "AtlasGlossary": { - "type": "object", - "title": "AtlasGlossary", - "allOf": [ - { - "$ref": "#/definitions/AtlasGlossaryBaseObject" - }, - { - "properties": { - "categories": { - "type": "array", - "description": "An array of categories.", - "items": { - "$ref": "#/definitions/AtlasRelatedCategoryHeader" - } - }, - "language": { - "type": "string", - "description": "The language of the glossary." - }, - "terms": { - "type": "array", - "description": "An array of related term headers.", - "items": { - "$ref": "#/definitions/AtlasRelatedTermHeader" - } - }, - "usage": { - "type": "string", - "description": "The usage of the glossary." - } - } - } - ], - "description": "The glossary object." - }, - "AtlasGlossaryBaseObject": { - "type": "object", - "title": "AtlasGlossaryBaseObject", - "allOf": [ - { - "$ref": "#/definitions/AtlasBaseModelObject" - }, - { - "properties": { - "classifications": { - "type": "array", - "description": "An array of classifications.", - "items": { - "$ref": "#/definitions/AtlasClassification" - } - }, - "longDescription": { - "type": "string", - "description": "The long version description." - }, - "name": { - "type": "string", - "description": "The name of the glossary object." - }, - "qualifiedName": { - "type": "string", - "description": "The qualified name of the glossary object." - }, - "shortDescription": { - "type": "string", - "description": "The short version of description." - }, - "lastModifiedTS": { - "$ref": "#/definitions/LastModifiedTS" - } - } - } - ], - "description": "The glossary base object." - }, - "AtlasGlossaryCategory": { - "type": "object", - "title": "AtlasGlossaryCategory", - "allOf": [ - { - "$ref": "#/definitions/AtlasGlossaryBaseObject" - }, - { - "properties": { - "anchor": { - "$ref": "#/definitions/AtlasGlossaryHeader" - }, - "childrenCategories": { - "type": "array", - "description": "An array of children categories.", - "items": { - "$ref": "#/definitions/AtlasRelatedCategoryHeader" - } - }, - "parentCategory": { - "$ref": "#/definitions/AtlasRelatedCategoryHeader" - }, - "terms": { - "type": "array", - "description": "An array of related term headers.", - "items": { - "$ref": "#/definitions/AtlasRelatedTermHeader" - } - } - } - } - ], - "description": "The glossary category." - }, - "AtlasGlossaryExtInfo": { - "type": "object", - "title": "AtlasGlossaryExtInfo", - "allOf": [ - { - "$ref": "#/definitions/AtlasGlossary" - }, - { - "properties": { - "categoryInfo": { - "type": "object", - "description": "The glossary category information.", - "additionalProperties": { - "$ref": "#/definitions/AtlasGlossaryCategory" - } - }, - "termInfo": { - "type": "object", - "description": "The glossary term information.", - "additionalProperties": { - "$ref": "#/definitions/AtlasGlossaryTerm" - } - } - } - } - ], - "description": "The extended information of glossary." - }, - "AtlasGlossaryHeader": { - "type": "object", - "properties": { - "displayText": { - "type": "string", - "description": "The display text." - }, - "glossaryGuid": { - "type": "string", - "description": "The GUID of the glossary." - }, - "relationGuid": { - "type": "string", - "description": "The GUID of the relationship." - } - }, - "title": "AtlasGlossaryHeader", - "description": "The glossary header with basic information." - }, - "AtlasGlossaryTerm": { - "type": "object", - "title": "AtlasGlossaryTerm", - "allOf": [ - { - "$ref": "#/definitions/AtlasGlossaryBaseObject" - }, - { - "properties": { - "abbreviation": { - "type": "string", - "description": "The abbreviation of the term." - }, - "templateName": { - "type": "array", - "items": { - "type": "object" - } - }, - "anchor": { - "$ref": "#/definitions/AtlasGlossaryHeader" - }, - "antonyms": { - "type": "array", - "description": "An array of related term headers as antonyms.", - "items": { - "$ref": "#/definitions/AtlasRelatedTermHeader" - } - }, - "createTime": { - "type": "number", - "description": "The created time of the record." - }, - "createdBy": { - "type": "string", - "description": "The user who created the record." - }, - "updateTime": { - "type": "number", - "description": "The update time of the record." - }, - "updatedBy": { - "type": "string", - "description": "The user who updated the record." - }, - "status": { - "$ref": "#/definitions/TermStatus" - }, - "resources": { - "type": "array", - "description": "An array of resource link for term", - "items": { - "$ref": "#/definitions/ResourceLink" - } - }, - "contacts": { - "type": "object", - "description": "The dictionary of contacts for terms. Key could be Expert or Steward.", - "additionalProperties": { - "type": "array", - "items": { - "$ref": "#/definitions/ContactBasic" - } - } - }, - "attributes": { - "$ref": "#/definitions/TermCustomAttributes" - }, - "assignedEntities": { - "type": "array", - "description": "An array of related object IDs.", - "items": { - "$ref": "#/definitions/AtlasRelatedObjectId" - } - }, - "categories": { - "type": "array", - "description": "An array of term categorization headers.", - "items": { - "$ref": "#/definitions/AtlasTermCategorizationHeader" - } - }, - "classifies": { - "type": "array", - "description": "An array of related term headers.", - "items": { - "$ref": "#/definitions/AtlasRelatedTermHeader" - } - }, - "examples": { - "type": "array", - "description": "An array of examples.", - "items": { - "type": "string" - } - }, - "isA": { - "type": "array", - "description": "An array of related term headers indicating the is-a relationship.", - "items": { - "$ref": "#/definitions/AtlasRelatedTermHeader" - } - }, - "preferredTerms": { - "type": "array", - "description": "An array of preferred related term headers.", - "items": { - "$ref": "#/definitions/AtlasRelatedTermHeader" - } - }, - "preferredToTerms": { - "type": "array", - "description": "An array of related term headers that are preferred to.", - "items": { - "$ref": "#/definitions/AtlasRelatedTermHeader" - } - }, - "replacedBy": { - "type": "array", - "description": "An array of related term headers that are replaced by.", - "items": { - "$ref": "#/definitions/AtlasRelatedTermHeader" - } - }, - "replacementTerms": { - "type": "array", - "description": "An array of related term headers for replacement.", - "items": { - "$ref": "#/definitions/AtlasRelatedTermHeader" - } - }, - "seeAlso": { - "type": "array", - "description": "An array of related term headers for see also.", - "items": { - "$ref": "#/definitions/AtlasRelatedTermHeader" - } - }, - "synonyms": { - "type": "array", - "description": "An array of related term headers as synonyms.", - "items": { - "$ref": "#/definitions/AtlasRelatedTermHeader" - } - }, - "translatedTerms": { - "type": "array", - "description": "An array of translated related term headers.", - "items": { - "$ref": "#/definitions/AtlasRelatedTermHeader" - } - }, - "translationTerms": { - "type": "array", - "description": "An array of related term headers for translation.", - "items": { - "$ref": "#/definitions/AtlasRelatedTermHeader" - } - }, - "usage": { - "type": "string", - "description": "The usage of the term." - }, - "validValues": { - "type": "array", - "description": "An array of related term headers as valid values.", - "items": { - "$ref": "#/definitions/AtlasRelatedTermHeader" - } - }, - "validValuesFor": { - "type": "array", - "description": "An array of related term headers as valid values for other records.", - "items": { - "$ref": "#/definitions/AtlasRelatedTermHeader" - } - } - } - } - ], - "description": "The glossary term." - }, - "ResourceLink": { - "title": "ResourceLink", - "type": "object", - "properties": { - "displayName": { - "type": "string", - "description": "Display name for url." - }, - "url": { - "type": "string", - "description": "web url. http or https" - } - } - }, - "ContactBasic": { - "title": "ContactBasic", - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Azure Active Directory object Id." - }, - "info": { - "type": "string", - "description": "additional information to describe this contact." - } - } - }, - "TermStatus": { - "type": "string", - "title": "Status", - "description": "Status of the AtlasGlossaryTerm", - "enum": [ - "Draft", - "Approved", - "Alert", - "Expired" - ], - "x-ms-enum": { - "name": "TermStatus", - "modelAsString": true - } - }, - "TermCustomAttributes": { - "title": "attributes", - "description": "The custom attributes of the term, which is map>.\nThe key of the first layer map is term template name.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/TermCustomAttributesExtraProperties" - } - }, - "TermCustomAttributesExtraProperties": { - "type": "object", - "description": "The term attribute name and attribute value, which is map", - "additionalProperties": { - "type": "object", - "description": "The value of custom term attribute" - } - }, - "AtlasLineageInfo": { - "type": "object", - "properties": { - "baseEntityGuid": { - "type": "string", - "description": "The GUID of the base entity." - }, - "guidEntityMap": { - "type": "object", - "description": "The GUID entity map.", - "additionalProperties": { - "$ref": "#/definitions/AtlasEntityHeader" - } - }, - "widthCounts": { - "type": "object", - "description": "The entity count in specific direction.", - "additionalProperties": { - "$ref": "#/definitions/AtlasLineageInfoExtraProperties" - } - }, - "lineageDepth": { - "type": "integer", - "format": "int32", - "description": "The depth of lineage." - }, - "lineageWidth": { - "type": "integer", - "format": "int32", - "description": "The width of lineage." - }, - "includeParent": { - "type": "boolean", - "description": "True to return the parent of the base entity." - }, - "childrenCount": { - "type": "integer", - "format": "int32", - "description": "The number of children node." - }, - "lineageDirection": { - "$ref": "#/definitions/LineageDirection" - }, - "parentRelations": { - "type": "array", - "description": "An array of parentRelations relations.", - "items": { - "$ref": "#/definitions/ParentRelation" - } - }, - "relations": { - "type": "array", - "description": "An array of lineage relations.", - "items": { - "$ref": "#/definitions/LineageRelation" - } - } - }, - "title": "AtlasLineageInfo", - "description": "The lineage information." - }, - "AtlasLineageInfoExtraProperties": { - "type": "object", - "description": "The lineage direction", - "additionalProperties": { - "type": "object", - "description": "The entity guid." - } - }, - "AtlasObjectId": { - "type": "object", - "properties": { - "guid": { - "type": "string", - "description": "The GUID of the object." - }, - "typeName": { - "type": "string", - "description": "The name of the type." - }, - "uniqueAttributes": { - "type": "object", - "description": "The unique attributes of the object.", - "additionalProperties": { - "type": "object", - "properties": {} - } - } - }, - "title": "AtlasObjectId", - "description": "Reference to an object-instance of an Atlas type - like entity." - }, - "AtlasRelatedCategoryHeader": { - "type": "object", - "properties": { - "categoryGuid": { - "type": "string", - "description": "The GUID of the category." - }, - "description": { - "type": "string", - "description": "The description of the category header." - }, - "displayText": { - "type": "string", - "description": "The display text." - }, - "parentCategoryGuid": { - "type": "string", - "description": "The GUID of the parent category." - }, - "relationGuid": { - "type": "string", - "description": "The GUID of the relationship." - } - }, - "title": "AtlasRelatedCategoryHeader", - "description": "The header of the related category." - }, - "AtlasRelatedObjectId": { - "type": "object", - "title": "AtlasRelatedObjectId", - "allOf": [ - { - "$ref": "#/definitions/AtlasObjectId" - }, - { - "properties": { - "displayText": { - "type": "string", - "description": "The display text." - }, - "entityStatus": { - "$ref": "#/definitions/Status" - }, - "relationshipType": { - "type": "string" - }, - "relationshipAttributes": { - "$ref": "#/definitions/AtlasStruct" - }, - "relationshipGuid": { - "type": "string", - "description": "The GUID of the relationship." - }, - "relationshipStatus": { - "$ref": "#/definitions/Status_AtlasRelationship" - } - } - } - ], - "description": "Reference to an object-instance of AtlasEntity type used in relationship attribute values" - }, - "AtlasRelatedTermHeader": { - "type": "object", - "properties": { - "description": { - "type": "string", - "description": "The description of the related term." - }, - "displayText": { - "type": "string", - "description": "The display text." - }, - "expression": { - "type": "string", - "description": "The expression of the term." - }, - "relationGuid": { - "type": "string", - "description": "The GUID of the relationship." - }, - "source": { - "type": "string", - "description": "The source of the term." - }, - "status": { - "$ref": "#/definitions/AtlasTermRelationshipStatus" - }, - "steward": { - "type": "string", - "description": "The steward of the term." - }, - "termGuid": { - "type": "string", - "description": "The GUID of the term." - } - }, - "title": "AtlasRelatedTermHeader", - "description": "The header of the related term." - }, - "AtlasRelationship": { - "type": "object", - "title": "AtlasRelationship", - "allOf": [ - { - "$ref": "#/definitions/AtlasStruct" - }, - { - "properties": { - "createTime": { - "type": "number", - "description": "The created time of the record." - }, - "createdBy": { - "type": "string", - "description": "The user who created the record." - }, - "end1": { - "$ref": "#/definitions/AtlasObjectId" - }, - "end2": { - "$ref": "#/definitions/AtlasObjectId" - }, - "guid": { - "type": "string", - "description": "The GUID of the relationship." - }, - "homeId": { - "type": "string", - "description": "The home ID of the relationship." - }, - "label": { - "type": "string", - "description": "The label of the relationship." - }, - "provenanceType": { - "readOnly": false, - "description": "Used to record the provenance of an instance of an entity or relationship", - "type": "number" - }, - "status": { - "$ref": "#/definitions/Status_AtlasRelationship" - }, - "updateTime": { - "type": "number", - "description": "The update time of the record." - }, - "updatedBy": { - "type": "string", - "description": "The user who updated the record." - }, - "version": { - "type": "number", - "description": "The version of the relationship." - } - } - } - ], - "description": "Atlas relationship instance." - }, - "AtlasRelationshipDef": { - "type": "object", - "title": "AtlasRelationshipDef", - "allOf": [ - { - "$ref": "#/definitions/AtlasStructDef" - }, - { - "properties": { - "endDef1": { - "$ref": "#/definitions/AtlasRelationshipEndDef" - }, - "endDef2": { - "$ref": "#/definitions/AtlasRelationshipEndDef" - }, - "relationshipCategory": { - "$ref": "#/definitions/RelationshipCategory" - }, - "relationshipLabel": { - "type": "string", - "description": "The label of the relationship." - } - } - } - ], - "description": "AtlasRelationshipDef is a TypeDef that defines a relationship.\n

\nAs with other typeDefs the AtlasRelationshipDef has a name. Once created the RelationshipDef has a guid.\nThe name and the guid are the 2 ways that the RelationshipDef is identified.\n

\nRelationshipDefs have 2 ends, each of which specify cardinality, an EntityDef type name and name and optionally\nwhether the end is a container.\n

\nRelationshipDefs can have AttributeDefs - though only primitive types are allowed.
\nRelationshipDefs have a relationshipCategory specifying the UML type of relationship required
\nThe way EntityDefs and RelationshipDefs are intended to be used is that EntityDefs will define AttributeDefs these AttributeDefs\nwill not specify an EntityDef type name as their types.\n

\nRelationshipDefs introduce new attributes to the entity instances. For example\n

\nEntityDef A might have attributes attr1,attr2,attr3
\nEntityDef B might have attributes attr4,attr5,attr6
\nRelationshipDef AtoB might define 2 ends
\n\n

\n   end1:  type A, name attr7\n   end2:  type B, name attr8  
\n\n

\nWhen an instance of EntityDef A is created, it will have attributes attr1,attr2,attr3,attr7
\nWhen an instance of EntityDef B is created, it will have attributes attr4,attr5,attr6,attr8\n

\nIn this way relationshipDefs can be authored separately from entityDefs and can inject relationship attributes into\nthe entity instances" - }, - "AtlasRelationshipEndDef": { - "type": "object", - "properties": { - "cardinality": { - "$ref": "#/definitions/Cardinality" - }, - "description": { - "type": "string", - "description": "The description of the relationship end definition." - }, - "isContainer": { - "type": "boolean", - "description": "Determines if it is container." - }, - "isLegacyAttribute": { - "type": "boolean", - "description": "Determines if it is a legacy attribute." - }, - "name": { - "type": "string", - "description": "The name of the relationship end definition." - }, - "type": { - "type": "string", - "description": "The type of the relationship end." - } - }, - "title": "AtlasRelationshipEndDef", - "description": "The relationshipEndDef represents an end of the relationship. The end of the relationship is defined by a type, an\nattribute name, cardinality and whether it is the container end of the relationship." - }, - "AtlasRelationshipAttributeDef": { - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AtlasAttributeDef" - }, - { - "properties": { - "isLegacyAttribute": { - "type": "boolean", - "description": "Determines if it is a legacy attribute." - }, - "relationshipTypeName": { - "type": "string", - "description": "The name of the relationship type." - } - } - } - ], - "title": "AtlasRelationshipEndDef", - "description": "The relationshipEndDef represents an end of the relationship. The end of the relationship is defined by a type, an\nattribute name, cardinality and whether it is the container end of the relationship." - }, - "AtlasRelationshipWithExtInfo": { - "type": "object", - "properties": { - "referredEntities": { - "type": "object", - "description": "The referred entity header.", - "additionalProperties": { - "$ref": "#/definitions/AtlasEntityHeader" - } - }, - "relationship": { - "$ref": "#/definitions/AtlasRelationship" - } - }, - "title": "AtlasRelationshipWithExtInfo", - "description": "The relationship with extended information." - }, - "AtlasStruct": { - "type": "object", - "properties": { - "attributes": { - "type": "object", - "description": "The attributes of the struct.", - "additionalProperties": { - "type": "object", - "properties": {} - } - }, - "typeName": { - "type": "string", - "description": "The name of the type." - }, - "lastModifiedTS": { - "$ref": "#/definitions/LastModifiedTS" - } - }, - "title": "AtlasStruct", - "description": "Captures details of struct contents. Not instantiated directly, used only via AtlasEntity, AtlasClassification." - }, - "AtlasStructDef": { - "type": "object", - "title": "AtlasStructDef", - "allOf": [ - { - "$ref": "#/definitions/AtlasBaseTypeDef" - }, - { - "properties": { - "attributeDefs": { - "type": "array", - "description": "An array of attribute definitions.", - "items": { - "$ref": "#/definitions/AtlasAttributeDef" - } - } - } - } - ], - "description": "class that captures details of a struct-type." - }, - "AtlasTermAssignmentHeader": { - "type": "object", - "properties": { - "confidence": { - "type": "integer", - "format": "int32", - "description": "The confidence of the term assignment." - }, - "createdBy": { - "type": "string", - "description": "The user who created the record." - }, - "description": { - "type": "string", - "description": "The description of the term assignment." - }, - "displayText": { - "type": "string", - "description": "The display text." - }, - "expression": { - "type": "string", - "description": "The expression of the term assignment." - }, - "relationGuid": { - "type": "string", - "description": "The GUID of the relationship." - }, - "source": { - "type": "string", - "description": "The source of the term." - }, - "status": { - "$ref": "#/definitions/AtlasTermAssignmentStatus" - }, - "steward": { - "type": "string", - "description": "The steward of the term." - }, - "termGuid": { - "type": "string", - "description": "The GUID of the term." - } - }, - "title": "AtlasTermAssignmentHeader", - "description": "The header for term assignment." - }, - "AtlasTermAssignmentStatus": { - "type": "string", - "title": "AtlasTermAssignmentStatus", - "description": "The status of terms assignment.", - "enum": [ - "DISCOVERED", - "PROPOSED", - "IMPORTED", - "VALIDATED", - "DEPRECATED", - "OBSOLETE", - "OTHER" - ], - "x-ms-enum": { - "name": "AtlasTermAssignmentStatus", - "modelAsString": true - } - }, - "AtlasTermCategorizationHeader": { - "type": "object", - "properties": { - "categoryGuid": { - "type": "string", - "description": "The GUID of the category." - }, - "description": { - "type": "string", - "description": "The description of the record." - }, - "displayText": { - "type": "string", - "description": "The display text." - }, - "relationGuid": { - "type": "string", - "description": "The GUID of the relationship." - }, - "status": { - "$ref": "#/definitions/AtlasTermRelationshipStatus" - } - }, - "title": "AtlasTermCategorizationHeader", - "description": "The basic information for term categorization." - }, - "AtlasTermRelationshipStatus": { - "type": "string", - "title": "AtlasTermRelationshipStatus", - "description": "The status of term relationship.", - "enum": [ - "DRAFT", - "ACTIVE", - "DEPRECATED", - "OBSOLETE", - "OTHER" - ], - "x-ms-enum": { - "name": "AtlasTermRelationshipStatus", - "modelAsString": true - } - }, - "AtlasTypeDefHeader": { - "type": "object", - "properties": { - "category": { - "$ref": "#/definitions/TypeCategory" - }, - "guid": { - "type": "string", - "description": "The GUID of the type definition." - }, - "name": { - "type": "string", - "description": "The name of the type definition." - } - }, - "title": "AtlasTypeDefHeader", - "description": "The basic information of the type definition." - }, - "AtlasTypesDef": { - "type": "object", - "properties": { - "classificationDefs": { - "type": "array", - "description": "An array of classification definitions.", - "items": { - "$ref": "#/definitions/AtlasClassificationDef" - } - }, - "entityDefs": { - "type": "array", - "description": "An array of entity definitions.", - "items": { - "$ref": "#/definitions/AtlasEntityDef" - } - }, - "enumDefs": { - "type": "array", - "description": "An array of enum definitions.", - "items": { - "$ref": "#/definitions/AtlasEnumDef" - } - }, - "relationshipDefs": { - "type": "array", - "description": "An array of relationship definitions.", - "items": { - "$ref": "#/definitions/AtlasRelationshipDef" - } - }, - "structDefs": { - "type": "array", - "description": "An array of struct definitions.", - "items": { - "$ref": "#/definitions/AtlasStructDef" - } - }, - "termTemplateDefs": { - "type": "array", - "description": "An array of term template definitions.", - "items": { - "$ref": "#/definitions/TermTemplateDef" - } - } - }, - "title": "AtlasTypesDef", - "description": "The definitions of types." - }, - "AtlasExtraTypeDef": { - "type": "object", - "properties": { - "entityTypes": { - "type": "array", - "description": "Specifying a list of entityType names in the classificationDef, ensures that classifications can\nonly be applied to those entityTypes.\n

    \n
  • Any subtypes of the entity types inherit the restriction
  • \n
  • Any classificationDef subtypes inherit the parents entityTypes restrictions
  • \n
  • Any classificationDef subtypes can further restrict the parents entityTypes restrictions by specifying a subset of the entityTypes
  • \n
  • An empty entityTypes list when there are no parent restrictions means there are no restrictions
  • \n
  • An empty entityTypes list when there are parent restrictions means that the subtype picks up the parents restrictions
  • \n
  • If a list of entityTypes are supplied, where one inherits from another, this will be rejected. This should encourage cleaner classificationsDefs
  • \n
", - "items": { - "type": "string" - } - }, - "subTypes": { - "type": "array", - "description": "An array of sub types.", - "items": { - "type": "string" - } - }, - "superTypes": { - "type": "array", - "description": "An array of super types.", - "items": { - "type": "string" - } - }, - "relationshipAttributeDefs": { - "type": "array", - "description": "An array of relationship attributes.", - "items": { - "$ref": "#/definitions/AtlasRelationshipAttributeDef" - } - }, - "defaultValue": { - "type": "string", - "description": "The default value." - }, - "elementDefs": { - "type": "array", - "description": "An array of enum element definitions.", - "items": { - "$ref": "#/definitions/AtlasEnumElementDef" - } - }, - "endDef1": { - "$ref": "#/definitions/AtlasRelationshipEndDef" - }, - "endDef2": { - "$ref": "#/definitions/AtlasRelationshipEndDef" - }, - "relationshipCategory": { - "$ref": "#/definitions/RelationshipCategory" - }, - "relationshipLabel": { - "type": "string", - "description": "The label of the relationship." - }, - "attributeDefs": { - "type": "array", - "description": "An array of attribute definitions.", - "items": { - "$ref": "#/definitions/AtlasAttributeDef" - } - } - }, - "title": "AtlasExtraTypeDef", - "description": "Extra properties for a type." - }, - "AtlasTypeDef": { - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AtlasBaseTypeDef" - }, - { - "$ref": "#/definitions/AtlasExtraTypeDef" - } - ], - "title": "AtlasTypeDef", - "description": "The definitions of type." - }, - "Cardinality": { - "type": "string", - "title": "Cardinality", - "description": "single-valued attribute or multi-valued attribute.", - "enum": [ - "SINGLE", - "LIST", - "SET" - ], - "x-ms-enum": { - "name": "Cardinality", - "modelAsString": true - } - }, - "ClassificationAssociateRequest": { - "type": "object", - "properties": { - "classification": { - "$ref": "#/definitions/AtlasClassification" - }, - "entityGuids": { - "type": "array", - "description": "The GUID of the entity.", - "items": { - "type": "string" - } - } - }, - "title": "ClassificationAssociateRequest", - "description": "The request for classification association." - }, - "MoveEntitiesRequest": { - "type": "object", - "properties": { - "entityGuids": { - "type": "array", - "description": "An array of entity guids to be moved to target collection.", - "items": { - "type": "string" - } - } - } - }, - "DateFormat": { - "type": "object", - "title": "DateFormat", - "properties": { - "availableLocales": { - "type": "array", - "description": "An array of available locales.", - "items": { - "type": "string" - } - }, - "calendar": { - "type": "number" - }, - "dateInstance": { - "$ref": "#/definitions/DateFormat" - }, - "dateTimeInstance": { - "$ref": "#/definitions/DateFormat" - }, - "instance": { - "$ref": "#/definitions/DateFormat" - }, - "lenient": { - "type": "boolean", - "description": "Determines the leniency of the date format." - }, - "numberFormat": { - "$ref": "#/definitions/NumberFormat" - }, - "timeInstance": { - "$ref": "#/definitions/DateFormat" - }, - "timeZone": { - "$ref": "#/definitions/TimeZone" - } - }, - "description": "The date format." - }, - "EntityMutationResponse": { - "type": "object", - "properties": { - "guidAssignments": { - "type": "object", - "description": "A map of GUID assignments with entities.", - "additionalProperties": { - "type": "string" - } - }, - "mutatedEntities": { - "type": "object", - "description": "The entity headers of mutated entities.", - "additionalProperties": { - "type": "array", - "items": { - "$ref": "#/definitions/AtlasEntityHeader" - } - } - }, - "partialUpdatedEntities": { - "type": "array", - "description": "An array of entity headers that partially updated.", - "items": { - "$ref": "#/definitions/AtlasEntityHeader" - } - } - }, - "title": "EntityMutationResponse", - "description": "The mutation response of entity." - }, - "LineageDirection": { - "type": "string", - "title": "LineageDirection", - "description": "The enum of lineage direction.", - "enum": [ - "INPUT", - "OUTPUT", - "BOTH" - ], - "x-ms-enum": { - "name": "LineageDirection", - "modelAsString": true - } - }, - "LineageRelation": { - "type": "object", - "properties": { - "fromEntityId": { - "type": "string", - "description": "The GUID of from-entity." - }, - "relationshipId": { - "type": "string", - "description": "The GUID of relationship." - }, - "toEntityId": { - "type": "string", - "description": "The GUID of to-entity." - } - }, - "title": "LineageRelation", - "description": "The lineage relation with GUID of the from and to entity." - }, - "ParentRelation": { - "type": "object", - "properties": { - "childEntityId": { - "type": "string", - "description": "The GUID of child entity." - }, - "relationshipId": { - "type": "string", - "description": "The GUID of relationship." - }, - "parentEntityId": { - "type": "string", - "description": "The GUID of parent entity." - } - }, - "title": "ParentRelation", - "description": "The lineage parents relation with GUID of the parent entity and to child entity." - }, - "NumberFormat": { - "type": "object", - "title": "NumberFormat", - "properties": { - "availableLocales": { - "type": "array", - "description": "The number format.", - "items": { - "type": "string" - } - }, - "currency": { - "type": "string", - "description": "The currency." - }, - "currencyInstance": { - "$ref": "#/definitions/NumberFormat" - }, - "groupingUsed": { - "type": "boolean", - "description": "Determines if grouping is used." - }, - "instance": { - "$ref": "#/definitions/NumberFormat" - }, - "integerInstance": { - "$ref": "#/definitions/NumberFormat" - }, - "maximumFractionDigits": { - "type": "integer", - "format": "int32", - "description": "The maximum of fraction digits." - }, - "maximumIntegerDigits": { - "type": "integer", - "format": "int32", - "description": "The maximum of integer digits." - }, - "minimumFractionDigits": { - "type": "integer", - "format": "int32", - "description": "The minimum of fraction digits." - }, - "minimumIntegerDigits": { - "type": "integer", - "format": "int32", - "description": "The minimum of integer digits." - }, - "numberInstance": { - "$ref": "#/definitions/NumberFormat" - }, - "parseIntegerOnly": { - "type": "boolean", - "description": "Determines if only integer is parsed." - }, - "percentInstance": { - "$ref": "#/definitions/NumberFormat" - }, - "roundingMode": { - "$ref": "#/definitions/RoundingMode" - } - }, - "description": "The number format." - }, - "TermGuid": { - "type": "string", - "title": "termGuid", - "description": "The globally unique identifier for glossary term." - }, - "PList": { - "type": "object", - "properties": { - "list": { - "type": "array", - "description": "An array of objects.", - "items": { - "type": "object", - "properties": {} - } - }, - "pageSize": { - "type": "integer", - "format": "int32", - "description": "The size of the page." - }, - "sortBy": { - "type": "string", - "description": "The sorted by field." - }, - "sortType": { - "$ref": "#/definitions/SortType" - }, - "startIndex": { - "type": "integer", - "format": "int64", - "description": "The start index of the page." - }, - "totalCount": { - "type": "integer", - "format": "int64", - "description": "The total count of items." - } - }, - "title": "PList", - "description": "Paginated-list, for returning search results." - }, - "RelationshipCategory": { - "type": "string", - "title": "RelationshipCategory", - "description": "The Relationship category determines the style of relationship around containment and lifecycle.\nUML terminology is used for the values.\n

\nASSOCIATION is a relationship with no containment.
\nCOMPOSITION and AGGREGATION are containment relationships.\n

\nThe difference being in the lifecycles of the container and its children. In the COMPOSITION case,\nthe children cannot exist without the container. For AGGREGATION, the life cycles\nof the container and children are totally independent.", - "enum": [ - "ASSOCIATION", - "AGGREGATION", - "COMPOSITION" - ], - "x-ms-enum": { - "name": "RelationshipCategory", - "modelAsString": true - } - }, - "RoundingMode": { - "type": "string", - "title": "RoundingMode", - "description": "The enum of rounding mode.", - "enum": [ - "UP", - "DOWN", - "CEILING", - "FLOOR", - "HALF_UP", - "HALF_DOWN", - "HALF_EVEN", - "UNNECESSARY" - ], - "x-ms-enum": { - "name": "RoundingMode", - "modelAsString": true - } - }, - "SortType": { - "type": "string", - "title": "SortType", - "description": "to specify whether the result should be sorted? If yes, whether asc or desc.", - "enum": [ - "NONE", - "ASC", - "DESC" - ], - "x-ms-enum": { - "name": "SortType", - "modelAsString": true - } - }, - "Status": { - "type": "string", - "title": "Status", - "description": "Status of the entity - can be active or deleted. Deleted entities are not removed from Atlas store.", - "enum": [ - "ACTIVE", - "DELETED" - ], - "x-ms-enum": { - "name": "Status", - "modelAsString": true - } - }, - "Status_AtlasRelationship": { - "type": "string", - "title": "Status", - "description": "The enum of relationship status.", - "enum": [ - "ACTIVE", - "DELETED" - ], - "x-ms-enum": { - "name": "Status_AtlasRelationship", - "modelAsString": true - } - }, - "TimeBoundary": { - "type": "object", - "properties": { - "endTime": { - "type": "string", - "description": "The end of the time boundary." - }, - "startTime": { - "type": "string", - "description": "The start of the time boundary." - }, - "timeZone": { - "type": "string", - "description": "The timezone of the time boundary." - } - }, - "title": "TimeBoundary", - "description": "Captures time-boundary details" - }, - "TimeZone": { - "type": "object", - "properties": { - "dstSavings": { - "type": "integer", - "format": "int32", - "description": "The value of the daylight saving time." - }, - "id": { - "type": "string", - "description": "The ID of the timezone." - }, - "availableIds": { - "type": "array", - "description": "An array of available IDs.", - "items": { - "type": "string" - } - }, - "default": { - "$ref": "#/definitions/TimeZone" - }, - "displayName": { - "type": "string", - "description": "The display name of the timezone." - }, - "rawOffset": { - "type": "integer", - "format": "int32", - "description": "The raw offset of the timezone." - } - }, - "title": "TimeZone", - "description": "The timezone information." - }, - "TypeCategory": { - "type": "string", - "title": "TypeCategory", - "description": "The enum of type category.", - "enum": [ - "PRIMITIVE", - "OBJECT_ID_TYPE", - "ENUM", - "STRUCT", - "CLASSIFICATION", - "ENTITY", - "ARRAY", - "MAP", - "RELATIONSHIP", - "TERM_TEMPLATE" - ], - "x-ms-enum": { - "name": "TypeCategory", - "modelAsString": true - } - }, - "SuggestResult": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/SuggestResultValue" - } - } - }, - "title": "SuggestResult", - "description": "The result item of the search suggest." - }, - "BrowseResult": { - "type": "object", - "properties": { - "@search.count": { - "type": "integer", - "format": "int32", - "description": "The total number of browse results." - }, - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/BrowseResultValue" - } - } - }, - "title": "BrowseResult", - "description": "The result item of the browse request." - }, - "SuggestResultValue": { - "type": "object", - "properties": { - "@search.score": { - "type": "number", - "format": "float", - "description": "The search score calculated by the search engine. The results are ordered by search score by default." - }, - "@search.text": { - "type": "string", - "description": "The target text that contains the keyword as prefix. The keyword is wrapped with emphasis mark." - }, - "description": { - "type": "string", - "description": "The description of the record." - }, - "id": { - "type": "string", - "description": "The GUID of the record." - }, - "name": { - "type": "string", - "description": "The name of the record." - }, - "owner": { - "type": "string", - "description": "The owner of the record. This is an Atlas native attribute." - }, - "qualifiedName": { - "type": "string", - "description": "The qualified name of the record." - }, - "entityType": { - "type": "string", - "description": "The type name of the record." - }, - "classification": { - "type": "array", - "description": "The classifications of the record.", - "items": { - "type": "string" - } - }, - "label": { - "type": "array", - "description": "The labels of the record.", - "items": { - "type": "string" - } - }, - "term": { - "type": "array", - "description": "The terms assigned to the record.", - "items": { - "$ref": "#/definitions/TermSearchResultValue" - } - }, - "contact": { - "type": "array", - "description": "The contacts of the record.", - "items": { - "$ref": "#/definitions/ContactSearchResultValue" - } - }, - "assetType": { - "type": "array", - "description": "The asset types of the record.", - "items": { - "type": "string" - } - } - }, - "title": "SuggestResultValue", - "description": "The value item of the search suggest." - }, - "BrowseResultValue": { - "type": "object", - "properties": { - "entityType": { - "type": "string", - "description": "The type name of the record." - }, - "id": { - "type": "string", - "description": "The GUID of the record." - }, - "isLeaf": { - "type": "boolean", - "description": "If the record is a leaf entity." - }, - "name": { - "type": "string", - "description": "The name of the record." - }, - "owner": { - "type": "array", - "description": "The owners of the record.", - "items": { - "$ref": "#/definitions/BrowseResultOwner" - } - }, - "path": { - "type": "string", - "description": "The path of the record." - }, - "qualifiedName": { - "type": "string", - "description": "The qualified name of the record." - } - }, - "title": "BrowseResultValue", - "description": "The value item of the browse result." - }, - "BrowseResultOwner": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The GUID of the owner." - }, - "displayName": { - "type": "string", - "description": "The display name of the owner." - }, - "mail": { - "type": "string", - "description": "The mail of the owner." - }, - "contactType": { - "type": "string", - "description": "The contact type of the owner. The value will be Owner." - } - }, - "title": "BrowseResultOwner", - "description": "The value item of the browse owner." - }, - "SearchResult": { - "type": "object", - "properties": { - "@search.count": { - "type": "integer", - "format": "int32", - "description": "The total number of search results (not the number of documents in a single page)." - }, - "@search.facets": { - "$ref": "#/definitions/SearchFacetResultValue" - }, - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/SearchResultValue" - } - } - }, - "title": "SearchResult", - "description": "The result of the search result." - }, - "SearchFacetResultValue": { - "type": "object", - "properties": { - "assetType": { - "type": "array", - "items": { - "$ref": "#/definitions/SearchFacetItemValue" - } - }, - "classification": { - "type": "array", - "items": { - "$ref": "#/definitions/SearchFacetItemValue" - } - }, - "classificationCategory": { - "type": "array", - "items": { - "$ref": "#/definitions/SearchFacetItemValue" - } - }, - "contactId": { - "type": "array", - "items": { - "$ref": "#/definitions/SearchFacetItemValue" - } - }, - "fileExtension": { - "type": "array", - "items": { - "$ref": "#/definitions/SearchFacetItemValue" - } - }, - "label": { - "type": "array", - "items": { - "$ref": "#/definitions/SearchFacetItemValue" - } - }, - "term": { - "type": "array", - "items": { - "$ref": "#/definitions/SearchFacetItemValue" - } - } - }, - "title": "Context", - "description": "A facet list that consists of index fields assetType ,classification, classificationCategory, contactId, fileExtension, label, and label. When the facet is specified in the request, the value of the facet is returned as an element of @search.facets." - }, - "SearchFacetItemValue": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "int32", - "description": "The count of the facet item." - }, - "value": { - "type": "string", - "description": "The name of the facet item." - } - }, - "title": "SearchFacetItemValue", - "description": "The content of a search facet result item." - }, - "SearchFacetItem": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "int32", - "description": "The count of the facet item." - }, - "facet": { - "type": "string", - "description": "The name of the facet item." - }, - "sort": { - "type": "object" - } - }, - "title": "SearchFacetItemValue", - "description": "The content of a search facet result item." - }, - "SearchResultValue": { - "type": "object", - "properties": { - "@search.score": { - "type": "number", - "format": "float", - "description": "The search score calculated by the search engine. The results are ordered by search score by default." - }, - "@search.highlights": { - "$ref": "#/definitions/SearchHighlights" - }, - "@search.text": { - "type": "string", - "description": "The target text that contains the keyword as prefix. The keyword is wrapped with emphasis mark." - }, - "description": { - "type": "string", - "description": "The description of the record." - }, - "id": { - "type": "string", - "description": "The GUID of the record." - }, - "name": { - "type": "string", - "description": "The name of the record." - }, - "owner": { - "type": "string", - "description": "The owner of the record. This is an Atlas native attribute." - }, - "qualifiedName": { - "type": "string", - "description": "The qualified name of the record." - }, - "entityType": { - "type": "string", - "description": "The type name of the record." - }, - "classification": { - "type": "array", - "description": "The classifications of the record.", - "items": { - "type": "string" - } - }, - "label": { - "type": "array", - "description": "The labels of the record.", - "items": { - "type": "string" - } - }, - "term": { - "type": "array", - "description": "The terms assigned to the record.", - "items": { - "$ref": "#/definitions/TermSearchResultValue" - } - }, - "contact": { - "type": "array", - "description": "The contacts of the record.", - "items": { - "$ref": "#/definitions/ContactSearchResultValue" - } - }, - "assetType": { - "type": "array", - "description": "The asset types of the record.", - "items": { - "type": "string" - } - } - }, - "title": "SearchResultValue", - "description": "The value item of the search result." - }, - "SearchHighlights": { - "type": "object", - "description": "A highlight list that consists of index fields id ,qualifiedName, name, description, entityType. When the keyword appears in those fields, the value of the field, attached with emphasis mark, is returned as an element of @search.highlights.", - "properties": { - "id": { - "type": "array", - "items": { - "type": "string" - } - }, - "qualifiedName": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "array", - "items": { - "type": "string" - } - }, - "description": { - "type": "array", - "items": { - "type": "string" - } - }, - "entityType": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "title": "SearchHighlights" - }, - "TermSearchResultValue": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the term." - }, - "glossaryName": { - "type": "string", - "description": "The name of the glossary which contains the term." - }, - "guid": { - "type": "string", - "description": "The GUID of the term." - } - }, - "title": "Context", - "description": "The context." - }, - "ContactSearchResultValue": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The GUID of the contact." - }, - "info": { - "type": "string", - "description": "The description of the contact." - }, - "contactType": { - "type": "string", - "description": "The type of the contact. It can be Expert or Owner for an entity. It can be Expert or Steward for a glossary term." - } - }, - "title": "contact", - "description": "The contact in the search and suggest result." - }, - "AutoCompleteRequest": { - "type": "object", - "properties": { - "keywords": { - "type": "string", - "description": "The keywords applied to all fields that support autocomplete operation. It must be at least 1 character, and no more than 100 characters." - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The number of autocomplete results we hope to return. The default value is 50. The value must be a number between 1 and 100." - }, - "filter": { - "type": "object", - "description": "The filter for the autocomplete request." - } - }, - "title": "AutoCompleteRequest", - "description": "The query of autocomplete request." - }, - "AutoCompleteResult": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/AutoCompleteResultValue" - } - } - }, - "title": "AutoCompleteResult", - "description": "The result of the autocomplete request." - }, - "AutoCompleteResultValue": { - "type": "object", - "properties": { - "text": { - "type": "string", - "description": "The completed term or phrase." - }, - "queryPlusText": { - "type": "string", - "description": "The completed search query text." - } - }, - "title": "AutoCompleteResultValue", - "description": "The value item of the autocomplete suggest." - }, - "SearchRequest": { - "type": "object", - "properties": { - "keywords": { - "type": "string", - "description": "The keywords applied to all searchable fields." - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "The offset. The default value is 0." - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The limit of the number of the search result. default value is 50; maximum value is 1000." - }, - "filter": { - "type": "object", - "description": "The filter for the search. See examples for the usage of supported filters." - }, - "facets": { - "type": "array", - "items": { - "$ref": "#/definitions/SearchFacetItem" - } - }, - "taxonomySetting": { - "type": "object", - "properties": { - "assetTypes": { - "type": "array", - "items": { - "type": "string" - } - }, - "facet": { - "$ref": "#/definitions/SearchFacetItem" - } - } - } - }, - "title": "SearchRequest", - "description": "The search query of advanced search request." - }, - "BrowseRequest": { - "type": "object", - "properties": { - "entityType": { - "type": "string", - "description": "The entity type to browse as the root level entry point." - }, - "path": { - "type": "string", - "description": "The path to browse the next level child entities." - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The number of browse items we hope to return." - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "The offset. The default value is 0." - } - }, - "title": "BrowseRequest", - "description": "The criteria of browse request." - }, - "SuggestRequest": { - "type": "object", - "properties": { - "keywords": { - "type": "string", - "description": "The keywords applied to all fields that support suggest operation. It must be at least 1 character, and no more than 100 characters. In the index schema we defined a default suggester which lists all the supported fields and specifies a search mode." - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The number of suggestions we hope to return. The default value is 5. The value must be a number between 1 and 100." - }, - "filter": { - "type": "object", - "description": "The filter for the search." - } - }, - "title": "SuggestRequest", - "description": "The query of suggest request." - }, - "ImportCSVOperation": { - "type": "object", - "title": "Status of import csv operation", - "description": "The status of import csv operation", - "properties": { - "id": { - "type": "string", - "description": "guid string" - }, - "status": { - "$ref": "#/definitions/ImportCSVOperationStatus" - }, - "createTime": { - "type": "string", - "description": "The created time of the record." - }, - "lastUpdateTime": { - "type": "string", - "description": "The last updated time of the record." - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ImportCSVOperationProperties" - }, - "error": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ImportCSVOperationError" - } - } - }, - "ImportCSVOperationProperties": { - "type": "object", - "properties": { - "importedTerms": { - "type": "string", - "description": "Term numbers that already imported successfully" - }, - "totalTermsDetected": { - "type": "string", - "description": "Total term numbers that detected in csv" - } - } - }, - "ImportCSVOperationError": { - "type": "object", - "properties": { - "errorCode": { - "type": "integer", - "description": "Error code from async import job if fail" - }, - "errorMessage": { - "type": "string", - "description": "Error message from async import job if fail" - } - } - }, - "ImportCSVOperationStatus": { - "type": "string", - "enum": [ - "NotStarted", - "Succeeded", - "Failed", - "Running" - ], - "x-ms-enum": { - "name": "ImportCSVOperationStatus", - "modelAsString": true - }, - "title": "ImportCSVOperationStatus", - "description": "Enum of the status of import csv operation." - }, - "LastModifiedTS": { - "type": "string", - "title": "lastModifiedTS", - "description": "ETag for concurrency control." - }, - "ErrorResponse": { - "description": "An error response from the service", - "properties": { - "requestId": { - "type": "string", - "description": "The request ID." - }, - "errorCode": { - "type": "string", - "description": "The error code." - }, - "errorMessage": { - "type": "string", - "description": "The error message." - } - } - } - }, - "parameters": { - "Endpoint": { - "name": "Endpoint", - "description": "The catalog endpoint of your Purview account. Example: https://{accountName}.purview.azure.com", - "x-ms-parameter-location": "client", - "required": true, - "type": "string", - "in": "path", - "x-ms-skip-url-encoding": true - }, - "guid": { - "name": "guid", - "description": "The globally unique identifier of the entity.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "classificationName": { - "name": "classificationName", - "description": "The name of the classification.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "typeName": { - "name": "typeName", - "description": "The name of the type.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "categoryGuid": { - "name": "categoryGuid", - "description": "The globally unique identifier of the category.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "limit": { - "name": "limit", - "description": "The page size - by default there is no paging.", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "x-ms-parameter-location": "method" - }, - "offset": { - "name": "offset", - "description": "The offset for pagination purpose.", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "x-ms-parameter-location": "method" - }, - "sort": { - "name": "sort", - "description": "The sort order, ASC (default) or DESC.", - "in": "query", - "required": false, - "type": "string", - "default": "ASC", - "x-ms-parameter-location": "method" - }, - "termGuid": { - "name": "termGuid", - "in": "path", - "description": "The globally unique identifier for glossary term.", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "glossaryGuid": { - "name": "glossaryGuid", - "in": "path", - "description": "The globally unique identifier for glossary.", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "operationGuid": { - "name": "operationGuid", - "in": "path", - "description": "The globally unique identifier for async operation/job.", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "glossaryName": { - "name": "glossaryName", - "in": "path", - "description": "The name of the glossary.", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "searchLimit": { - "name": "limit", - "description": "Limits the result set to only include the specified number of entries.", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "x-ms-parameter-location": "method" - }, - "searchKeyword": { - "name": "keyword", - "description": "The keyword to get auto complete.", - "in": "query", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "depth": { - "name": "depth", - "description": "The number of hops for lineage.", - "in": "query", - "required": false, - "type": "integer", - "default": 3, - "format": "int32", - "x-ms-parameter-location": "method" - }, - "width": { - "name": "width", - "description": "The number of max expanding width in lineage.", - "in": "query", - "required": false, - "type": "integer", - "default": 10, - "format": "int32", - "x-ms-parameter-location": "method" - }, - "direction": { - "name": "direction", - "description": "The direction of the lineage, which could be INPUT, OUTPUT or BOTH.", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "BOTH", - "INPUT", - "OUTPUT" - ], - "x-ms-enum": { - "name": "direction", - "modelAsString": true - }, - "x-ms-parameter-location": "method" - }, - "includeParent": { - "name": "includeParent", - "description": "True to include the parent chain in the response.", - "in": "query", - "required": false, - "type": "boolean", - "x-ms-parameter-location": "method" - }, - "getDerivedLineage": { - "name": "getDerivedLineage", - "description": "True to include derived lineage in the response", - "in": "query", - "required": false, - "type": "boolean", - "x-ms-parameter-location": "method" - }, - "extendedInfo": { - "name": "extendedInfo", - "description": "Limits whether includes extended information.", - "in": "query", - "required": false, - "type": "boolean", - "x-ms-parameter-location": "method" - }, - "relationshipGuid": { - "name": "guid", - "description": "The globally unique identifier of the relationship.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "classificationDefGuid": { - "name": "guid", - "description": "The globally unique identifier of the classification.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "classificationDefName": { - "name": "name", - "description": "The name of the classification.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "entityDefGuid": { - "name": "guid", - "description": "The globally unique identifier of the entity.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "entityDefName": { - "name": "name", - "description": "The name of the entity.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "termTemplateDefGuid": { - "name": "guid", - "description": "The globally unique identifier of the term template.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "termTemplateDefName": { - "name": "name", - "description": "The name of the term template.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "enumDefGuid": { - "name": "guid", - "description": "The globally unique identifier of the enum.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "enumDefName": { - "name": "name", - "description": "The name of the enum.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "relationshipDefGuid": { - "name": "guid", - "description": "The globally unique identifier of the relationship.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "relationshipDefName": { - "name": "name", - "description": "The name of the relationship.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "structDefGuid": { - "name": "guid", - "description": "The globally unique identifier of the struct.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "structDefName": { - "name": "name", - "description": "The name of the struct.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "typeDefGuid": { - "name": "guid", - "description": "The globally unique identifier of the type.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "typeDefName": { - "name": "name", - "description": "The name of the type.", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 4096, - "x-ms-parameter-location": "method" - }, - "userId": { - "name": "userId", - "description": "The user ID.", - "in": "path", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "principalId": { - "name": "principalId", - "description": "The principal ID.", - "in": "path", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "minExtInfo": { - "name": "minExtInfo", - "description": "Whether to return minimal information for referred entities.", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "x-ms-parameter-location": "method" - }, - "ignoreRelationships": { - "name": "ignoreRelationships", - "description": "Whether to ignore relationship attributes.", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "x-ms-parameter-location": "method" - }, - "excludeRelationshipTypes": { - "name": "excludeRelationshipTypes", - "description": "An array of the relationship types need to be excluded from the response.", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi", - "x-ms-parameter-location": "method" - }, - "includeTermTemplate": { - "name": "includeTermTemplate", - "description": "Whether include termtemplatedef when return all typedefs.\nThis is always true when search filter type=term_template", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "x-ms-parameter-location": "method" - }, - "includeTermHierarchy": { - "name": "includeTermHierarchy", - "description": "Whether include term hierarchy", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "x-ms-parameter-location": "method" - }, - "ignoreTermsAndCategories": { - "name": "ignoreTermsAndCategories", - "description": "Whether ignore terms and categories", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "x-ms-parameter-location": "method" - }, - "purviewAPIVersion": { - "name": "api-version", - "description": "Version of Purview APIs", - "in": "query", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "atlasAPIVersion": { - "name": "api-version", - "description": "Version of Atlas APIs", - "in": "query", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "type": { - "name": "type", - "description": "Typedef name as search filter when get typedefs.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "enum", - "entity", - "classification", - "relationship", - "struct", - "term_template" - ], - "x-ms-enum": { - "name": "type", - "modelAsString": true - }, - "x-ms-parameter-location": "method" - }, - "collection": { - "name": "collection", - "description": "the collection unique name", - "in": "path", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - } - } -} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataPolicy_Get.json b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataPolicy_Get.json similarity index 98% rename from specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataPolicy_Get.json rename to specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataPolicy_Get.json index 58b29290a398..fdd12f9d40df 100644 --- a/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataPolicy_Get.json +++ b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataPolicy_Get.json @@ -2,7 +2,7 @@ "parameters": { "Endpoint": "{Endpoint}", "policyId": "98ed42ff-b67f-44df-8c8c-7e6b43e77055", - "api-version": "2021-07-01" + "api-version": "2021-07-01-preview" }, "responses": { "200": { diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataPolicy_ListAll.json b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataPolicy_ListAll.json similarity index 99% rename from specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataPolicy_ListAll.json rename to specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataPolicy_ListAll.json index a488975a1761..b0ad9d5ba947 100644 --- a/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataPolicy_ListAll.json +++ b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataPolicy_ListAll.json @@ -1,7 +1,7 @@ { "parameters": { "Endpoint": "{Endpoint}", - "api-version": "2021-07-01" + "api-version": "2021-07-01-preview" }, "responses": { "200": { diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataPolicy_Update.json b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataPolicy_Update.json similarity index 99% rename from specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataPolicy_Update.json rename to specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataPolicy_Update.json index 3f60f60ef806..d2d974b4c73c 100644 --- a/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataPolicy_Update.json +++ b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataPolicy_Update.json @@ -2,7 +2,7 @@ "parameters": { "Endpoint": "{Endpoint}", "policyId": "98ed42ff-b67f-44df-8c8c-7e6b43e77055", - "api-version": "2021-07-01", + "api-version": "2021-07-01-preview", "body": { "name": "policy_mycollection", "id": "98ed42ff-b67f-44df-8c8c-7e6b43e77055", diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataRoles_List.json b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataRoles_List.json similarity index 98% rename from specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataRoles_List.json rename to specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataRoles_List.json index a2f2659a28f3..876aeac87a0a 100644 --- a/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataRoles_List.json +++ b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataRoles_List.json @@ -1,7 +1,7 @@ { "parameters": { "Endpoint": "{Endpoint}", - "api-version": "2021-07-01" + "api-version": "2021-07-01-preview" }, "responses": { "200": { diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/purviewMetadataPolicy.json b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/purviewMetadataPolicy.json similarity index 99% rename from specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/purviewMetadataPolicy.json rename to specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/purviewMetadataPolicy.json index 8c7f434c9c9d..43d10f9445bc 100644 --- a/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/purviewMetadataPolicy.json +++ b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/purviewMetadataPolicy.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "Purview Metadata Policies Service REST API Document", - "version": "2021-07-01" + "version": "2021-07-01-preview" }, "paths": { "/metadataRoles": { @@ -332,8 +332,8 @@ "properties": { "type": { "description": "The type of reference", - "type": "string", - "readOnly": true + "default": "CollectionReference", + "type": "string" }, "referenceName": { "description": "The name of reference", diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_CreateOrUpdate.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_CreateOrUpdate.json index 6aa6dc11bd73..8552d5e37843 100644 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_CreateOrUpdate.json +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_CreateOrUpdate.json @@ -8,7 +8,8 @@ "properties": { "endpoint": "https://azurestorage.core.windows.net/", "collection": { - "referenceName": "Collection-rZX" + "referenceName": "Collection-rZX", + "type": "CollectionReference" } } } diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_CreateOrUpdate.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_CreateOrUpdate.json index be41b1821c1d..0f98bbb9bb9d 100644 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_CreateOrUpdate.json +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_CreateOrUpdate.json @@ -15,7 +15,8 @@ "scanRulesetName": "AzureStorage", "scanRulesetType": "System", "collection": { - "referenceName": "Collection-rZX" + "referenceName": "Collection-rZX", + "type": "CollectionReference" } } } diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/scanningService.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/scanningService.json index 7ab3865f1c2d..27fbb39c2b20 100644 --- a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/scanningService.json +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/scanningService.json @@ -2787,8 +2787,7 @@ "type": "string" }, "type": { - "type": "string", - "readOnly": true + "type": "string" } } }, diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ClassificationRules_CreateOrUpdate.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ClassificationRules_CreateOrUpdate.json new file mode 100644 index 000000000000..88ec5d7aa19f --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ClassificationRules_CreateOrUpdate.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "classificationRuleName": "ClassificationRule1", + "api-version": "2021-10-01-preview", + "body": { + "kind": "Custom", + "properties": { + "description": "Let's put a cool desc here", + "classificationName": "MICROSOFT.FINANCIAL.AUSTRALIA.BANK_ACCOUNT_NUMBER", + "columnPatterns": [ + { + "pattern": "^data$", + "kind": "Regex" + } + ], + "dataPatterns": [ + { + "pattern": "^[0-9]{2}-[0-9]{4}-[0-9]{6}-[0-9]{3}$", + "kind": "Regex" + } + ], + "minimumPercentageMatch": 60, + "ruleStatus": "Enabled" + } + } + }, + "responses": { + "201": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "id": "classificationRules/ClassificationRule1", + "name": "ClassificationRule1", + "kind": "Custom", + "properties": { + "minimumPercentageMatch": 80, + "classificationAction": "Keep", + "description": "second one", + "version": 4, + "classificationName": "MICROSOFT.FINANCIAL.AUSTRALIA.BANK_ACCOUNT_NUMBER", + "ruleStatus": "Enabled", + "createdAt": "2019-12-09T06:43:30.8478469Z", + "lastModifiedAt": "2019-12-09T07:04:53.2807344Z", + "dataPatterns": [ + { + "kind": "Regex", + "pattern": "^data1$" + }, + { + "kind": "Regex", + "pattern": "^data2$" + } + ], + "columnPatterns": [ + { + "kind": "Regex", + "pattern": "^column1$" + } + ] + } + } + }, + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataCatalog/DataCatalogs/Catalog1/ClassificationRules/ClassificationRule1", + "name": "ClassificationRule1", + "kind": "Custom", + "properties": { + "minimumPercentageMatch": 80, + "classificationAction": "Keep", + "description": "second one", + "version": 4, + "classificationName": "MICROSOFT.FINANCIAL.AUSTRALIA.BANK_ACCOUNT_NUMBER", + "ruleStatus": "Enabled", + "createdAt": "2019-12-09T06:43:30.8478469Z", + "lastModifiedAt": "2019-12-09T07:04:53.2807344Z", + "dataPatterns": [ + { + "kind": "Regex", + "pattern": "^data1$" + }, + { + "kind": "Regex", + "pattern": "^data2$" + } + ], + "columnPatterns": [ + { + "kind": "Regex", + "pattern": "^column1$" + } + ] + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ClassificationRules_Delete.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ClassificationRules_Delete.json new file mode 100644 index 000000000000..ddccf22ac21d --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ClassificationRules_Delete.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "subscriptionId": "433a8dfd-e5d5-4e77-ad86-90acdc75eb1a", + "resourceGroupName": "SampleResourceGroup", + "dataCatalogName": "Catalog1", + "classificationRuleName": "ClassificationRule1", + "api-version": "2021-10-01-preview" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.DataCatalog/DataCatalogs/Catalog1/ClassificationRules/ClassificationRule1", + "name": "ClassificationRule1", + "kind": "Custom", + "properties": { + "minimumPercentageMatch": 80, + "classificationAction": "Keep", + "description": "second one", + "version": 4, + "classificationName": "CUSTOM.TEST.TWO", + "ruleStatus": "Enabled", + "createdAt": "2019-12-09T06:43:30.8478469Z", + "lastModifiedAt": "2019-12-09T07:04:53.2807344Z", + "dataPatterns": [ + { + "kind": "Regex", + "pattern": "^data1$" + }, + { + "kind": "Regex", + "pattern": "^data2$" + } + ], + "columnPatterns": [ + { + "kind": "Regex", + "pattern": "^column1$" + } + ] + } + } + }, + "204": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ClassificationRules_Get.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ClassificationRules_Get.json new file mode 100644 index 000000000000..d68e3592eab3 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ClassificationRules_Get.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "subscriptionId": "12345678-1234-1234-12345678abc", + "resourceGroupName": "SampleResourceGroup", + "dataCatalogName": "Catalog1", + "classificationRuleName": "ClassificationRule1", + "api-version": "2021-10-01-preview" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.DataCatalog/DataCatalogs/Catalog1/ClassificationRules/ClassificationRule1", + "name": "ClassificationRule1", + "kind": "Custom", + "properties": { + "minimumPercentageMatch": 80, + "classificationAction": "Keep", + "description": "second one", + "version": 4, + "classificationName": "CUSTOM.TEST.TWO", + "ruleStatus": "Enabled", + "createdAt": "2019-12-09T06:43:30.8478469Z", + "lastModifiedAt": "2019-12-09T07:04:53.2807344Z", + "dataPatterns": [ + { + "kind": "Regex", + "pattern": "^data1$" + }, + { + "kind": "Regex", + "pattern": "^data2$" + } + ], + "columnPatterns": [ + { + "kind": "Regex", + "pattern": "^column1$" + } + ] + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ClassificationRules_ListAll.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ClassificationRules_ListAll.json new file mode 100644 index 000000000000..a0e5b942f7d2 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ClassificationRules_ListAll.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup", + "dataCatalogName": "Catalog1" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "8e58266a-de42-40d5-b3c4-c6a7e159cfba" + }, + "body": { + "count": 2, + "nextLink": null, + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.DataCatalog/DataCatalogs/Catalog1/ClassificationRules/ClassificationRule1", + "name": "ClassificationRule1", + "kind": "Custom", + "properties": { + "minimumPercentageMatch": 80, + "classificationAction": "Keep", + "description": "second one", + "version": 4, + "classificationName": "CUSTOM.TEST.TWO", + "ruleStatus": "Enabled", + "createdAt": "2019-12-09T06:43:30.8478469Z", + "lastModifiedAt": "2019-12-09T07:04:53.2807344Z", + "dataPatterns": [ + { + "kind": "Regex", + "pattern": "^data1$" + }, + { + "kind": "Regex", + "pattern": "^data2$" + } + ], + "columnPatterns": [ + { + "kind": "Regex", + "pattern": "^column1$" + } + ] + } + }, + { + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.DataCatalog/DataCatalogs/Catalog1/ClassificationRules/ClassificationRule2", + "name": "ClassificationRule2", + "kind": "Custom", + "properties": { + "minimumPercentageMatch": 80, + "classificationAction": "Keep", + "description": "second one", + "version": 4, + "classificationName": "CUSTOM.TEST.TWO", + "ruleStatus": "Enabled", + "createdAt": "2019-12-09T06:43:30.8478469Z", + "lastModifiedAt": "2019-12-09T07:04:53.2807344Z", + "dataPatterns": [ + { + "kind": "Regex", + "pattern": "^data1$" + }, + { + "kind": "Regex", + "pattern": "^data2$" + } + ], + "columnPatterns": [ + { + "kind": "Regex", + "pattern": "^column1$" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ClassificationRules_ListVersionsByClassificationRuleName.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ClassificationRules_ListVersionsByClassificationRuleName.json new file mode 100644 index 000000000000..0d44ce499efd --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ClassificationRules_ListVersionsByClassificationRuleName.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup", + "dataCatalogName": "Catalog1", + "classificationRuleName": "ClassificationRule1" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "8e58266a-de42-40d5-b3c4-c6a7e159cfba" + }, + "body": { + "count": 2, + "nextLink": null, + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.DataCatalog/DataCatalogs/Catalog1/ClassificationRules/ClassificationRule1", + "name": "ClassificationRule1", + "kind": "Custom", + "properties": { + "minimumPercentageMatch": 80, + "classificationAction": "Keep", + "description": "second one", + "version": 2, + "classificationName": "CUSTOM.TEST.TWO", + "ruleStatus": "Enabled", + "createdAt": "2019-12-09T06:43:30.8478469Z", + "lastModifiedAt": "2019-12-09T07:04:53.2807344Z", + "dataPatterns": [ + { + "kind": "Regex", + "pattern": "^data1$" + }, + { + "kind": "Regex", + "pattern": "^data2$" + } + ], + "columnPatterns": [ + { + "kind": "Regex", + "pattern": "^column1$" + } + ] + } + }, + { + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.DataCatalog/DataCatalogs/Catalog1/ClassificationRules/ClassificationRule1", + "name": "ClassificationRule2", + "kind": "Custom", + "properties": { + "minimumPercentageMatch": 80, + "classificationAction": "Keep", + "description": "second one", + "version": 1, + "classificationName": "CUSTOM.TEST.TWO", + "ruleStatus": "Enabled", + "createdAt": "2019-12-09T06:43:30.8478469Z", + "lastModifiedAt": "2019-12-09T07:04:53.2807344Z", + "dataPatterns": [ + { + "kind": "Regex", + "pattern": "^data1$" + }, + { + "kind": "Regex", + "pattern": "^data2$" + } + ], + "columnPatterns": [ + { + "kind": "Regex", + "pattern": "^column1$" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ClassificationRules_TagClassificationVersion.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ClassificationRules_TagClassificationVersion.json new file mode 100644 index 000000000000..94cd6d0c4848 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ClassificationRules_TagClassificationVersion.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "classificationRuleName": "ClassificationRule1", + "classificationRuleVersion": 3, + "api-version": "2021-10-01-preview", + "action": "Keep" + }, + "responses": { + "202": { + "headers": { + "x-ms-request-id": "00000000-0000-0000-0000-00000000000" + }, + "body": { + "status": "Accepted" + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/DataSources_CreateOrUpdate.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/DataSources_CreateOrUpdate.json new file mode 100644 index 000000000000..dfd523919334 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/DataSources_CreateOrUpdate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "dataSourceName": "myDataSource", + "api-version": "2021-10-01-preview", + "body": { + "kind": "AzureStorage", + "properties": { + "endpoint": "https://azurestorage.core.windows.net/", + "collection": { + "referenceName": "Collection-rZX", + "type": "CollectionReference" + } + } + } + }, + "responses": { + "201": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "name": "DataSource1", + "kind": "AzureStorage", + "properties": { + "endpoint": "https://azurestorage.core.windows.net/", + "collection": { + "lastModifiedAt": "2021-09-15T21:20:08.2944382Z", + "referenceName": "Collection-rZX", + "type": "CollectionReference" + } + } + } + }, + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "name": "DataSource1", + "kind": "AzureStorage", + "properties": { + "endpoint": "https://azurestorage.core.windows.net/", + "collection": { + "lastModifiedAt": "2021-09-15T21:20:08.2944382Z", + "referenceName": "Collection-rZX", + "type": "CollectionReference" + } + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/DataSources_Delete.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/DataSources_Delete.json new file mode 100644 index 000000000000..d90fe60e7f3e --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/DataSources_Delete.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "dataSourceName": "myDataSource", + "api-version": "2021-10-01-preview" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "name": "DataSource1", + "kind": "AzureStorage", + "properties": { + "endpoint": "https://azurestorage.core.windows.net/", + "collection": { + "lastModifiedAt": "2021-09-15T21:20:08.2944382Z", + "referenceName": "Collection-rZX", + "type": "CollectionReference" + } + } + } + }, + "204": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/DataSources_Get.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/DataSources_Get.json new file mode 100644 index 000000000000..d74d15f84cc1 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/DataSources_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "dataSourceName": "myDataSource", + "api-version": "2021-10-01-preview" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "name": "DataSource1", + "kind": "AzureStorage", + "properties": { + "endpoint": "https://azurestorage.core.windows.net/", + "collection": { + "lastModifiedAt": "2021-09-15T21:20:08.2944382Z", + "referenceName": "Collection-rZX", + "type": "CollectionReference" + } + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/DataSources_ListAll.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/DataSources_ListAll.json new file mode 100644 index 000000000000..69630dd0e269 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/DataSources_ListAll.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "dataSourceName": "myDataSource", + "api-version": "2021-10-01-preview" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "8e58266a-de42-40d5-b3c4-c6a7e159cfba" + }, + "body": { + "value": [ + { + "name": "DataSource1", + "kind": "AzureStorage", + "properties": { + "endpoint": "https://azurestorage1.core.windows.net/", + "collection": { + "lastModifiedAt": "2021-09-15T21:20:08.2944382Z", + "referenceName": "Collection-aZX", + "type": "CollectionReference" + } + } + }, + { + "name": "DataSource2", + "kind": "AzureStorage", + "properties": { + "endpoint": "https://azurestorage2.core.windows.net/", + "collection": { + "lastModifiedAt": "2021-09-15T21:20:08.2944382Z", + "referenceName": "Collection-rZX", + "type": "CollectionReference" + } + } + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Filters_CreateOrUpdate.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Filters_CreateOrUpdate.json new file mode 100644 index 000000000000..bf2115ab3c39 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Filters_CreateOrUpdate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "dataSourceName": "DataSource1", + "scanName": "Scan1", + "api-version": "2021-10-01-preview", + "body": { + "properties": { + "includeUriPrefixes": [ + "https://foo.file.core.windows.net/share1/user", + "https://foo.file.core.windows.net/share1/aggregated" + ], + "excludeUriPrefixes": [ + "https://foo.file.core.windows.net/share1/user/temp" + ] + } + } + }, + "responses": { + "201": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "name": "custom", + "id": "datasources/myDataSource/scans/Scan1/filters/custom", + "properties": { + "includeUriPrefixes": [ + "https://foo.file.core.windows.net/share1/user", + "https://foo.file.core.windows.net/share1/aggregated" + ], + "excludeUriPrefixes": [ + "https://foo.file.core.windows.net/share1/user/temp" + ] + } + } + }, + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "name": "custom", + "id": "datasources/myDataSource/scans/Scan1/filters/custom", + "properties": { + "includeUriPrefixes": [ + "https://foo.file.core.windows.net/share1/user", + "https://foo.file.core.windows.net/share1/aggregated" + ], + "excludeUriPrefixes": [ + "https://foo.file.core.windows.net/share1/user/temp" + ] + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Filters_Get.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Filters_Get.json new file mode 100644 index 000000000000..640b37b6dd90 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Filters_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "dataSourceName": "myDataSource", + "scanName": "myScanName", + "api-version": "2021-10-01-preview" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "id": "datasources/myDataSource/scans/myScanName/filters/custom", + "name": "custom", + "properties": { + "includeUriPrefixes": [ + "mssql://bar.database.windows.net/core/dbo/business", + "mssql://bar.database.windows.net/core/dbo/processing" + ], + "excludeUriPrefixes": [] + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/KeyVaultConnections_Create.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/KeyVaultConnections_Create.json new file mode 100644 index 000000000000..df058a1047ac --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/KeyVaultConnections_Create.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "keyVaultName": "KeyVault1", + "api-version": "2021-10-01-preview", + "body": { + "properties": { + "baseUrl": "https://babylon-sample-kv.vault.azure.net/", + "description": "This is a Key Vault" + } + } + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "properties": { + "baseUrl": "https://babylon-sample-kv.vault.azure.net/", + "description": "This is a Key Vault" + }, + "id": "/subscriptions/34fb3b81-27ab-4690-9d0b-668896fd288c/resourceGroups/scanning-df-westus2/providers/Microsoft.ProjectBabylon/accounts/babylon-128abf8c-ecea-4be6-8010-36d73cfad6e5/linkedservices/AzureKeyVault1", + "name": "KeyVault1" + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/KeyVaultConnections_Delete.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/KeyVaultConnections_Delete.json new file mode 100644 index 000000000000..a836e6cb1f20 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/KeyVaultConnections_Delete.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "keyVaultName": "KeyVault1", + "api-version": "2021-10-01-preview" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "properties": { + "baseUrl": "https://babylon-sample-kv.vault.azure.net/", + "description": "This is a Key Vault" + }, + "id": "/subscriptions/34fb3b81-27ab-4690-9d0b-668896fd288c/resourceGroups/scanning-df-westus2/providers/Microsoft.ProjectBabylon/accounts/babylon-128abf8c-ecea-4be6-8010-36d73cfad6e5/linkedservices/AzureKeyVault1", + "name": "KeyVault1" + } + }, + "204": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/KeyVaultConnections_Get.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/KeyVaultConnections_Get.json new file mode 100644 index 000000000000..5c7c6bf351b1 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/KeyVaultConnections_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "api-version": "2021-10-01-preview", + "keyVaultName": "KeyVault1" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "properties": { + "baseUrl": "https://babylon-sample-kv.vault.azure.net/", + "description": "This is a Key Vault" + }, + "id": "/subscriptions/34fb3b81-27ab-4690-9d0b-668896fd288c/resourceGroups/scanning-df-westus2/providers/Microsoft.ProjectBabylon/accounts/babylon-128abf8c-ecea-4be6-8010-36d73cfad6e5/linkedservices/AzureKeyVault1", + "name": "KeyVault1" + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/KeyVaultConnections_ListAll.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/KeyVaultConnections_ListAll.json new file mode 100644 index 000000000000..331c33f12780 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/KeyVaultConnections_ListAll.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "api-version": "2021-10-01-preview", + "skipToken": null + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "8e58266a-de42-40d5-b3c4-c6a7e159cfba" + }, + "body": { + "value": [ + { + "properties": { + "baseUrl": "https://babylon-sample-kv.vault.azure.net/", + "description": "This is a Key Vault" + }, + "id": "/subscriptions/34fb3b81-27ab-4690-9d0b-668896fd288c/resourceGroups/scanning-df-westus2/providers/Microsoft.ProjectBabylon/accounts/babylon-128abf8c-ecea-4be6-8010-36d73cfad6e5/linkedservices/AzureKeyVault1", + "name": "AzureKeyVault1" + }, + { + "properties": { + "baseUrl": "https://babylon-random-kv.vault.azure.net/", + "description": "This is a Key Vault" + }, + "id": "/subscriptions/34fb3b81-27ab-4690-9d0b-668896fd288c/resourceGroups/scanning-df-westus2/providers/Microsoft.ProjectBabylon/accounts/babylon-128abf8c-ecea-4be6-8010-36d73cfad6e5/linkedservices/AzureKeyVault2", + "name": "AzureKeyVault2" + } + ], + "count": 2, + "nextLink": null + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanResult_CancelScan.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanResult_CancelScan.json new file mode 100644 index 000000000000..b9cdddea9ea8 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanResult_CancelScan.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "dataSourceName": "myDataSource", + "scanName": "myScanName", + "api-version": "2021-10-01-preview", + "runId": "138301e4-f4f9-4ab5-b734-bac446b236e7" + }, + "responses": { + "202": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "scanResultId": "138301e4-f4f9-4ab5-b734-bac446b236e7", + "startTime": "2019-05-16T17:01:37.3089193Z", + "endTime": null, + "status": "Accepted", + "error": null + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanResult_ListScanHistory.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanResult_ListScanHistory.json new file mode 100644 index 000000000000..b4fbe75563bf --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanResult_ListScanHistory.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "dataSourceName": "DataSource1", + "scanName": "scan1", + "api-version": "2021-10-01-preview", + "skipToken": null + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "value": [ + { + "id": "556ac46f-bd42-4e84-b1f5-2ac335384b9b", + "status": "Running", + "assetsDiscovered": 950, + "assetsClassified": 345, + "startTime": "2018-11-14T04:47:52.9614956Z", + "queuedTime": "2018-11-14T04:47:52.9614956Z", + "pipelineStartTime": "2018-11-14T04:47:52.9614956Z", + "endTime": null, + "runType": "Manual", + "scanRulesetType": "Custom" + }, + { + "id": "6346cde3-467e-41f1-9436-af096fd83247", + "status": "Succeeded", + "assetsDiscovered": 950, + "assetsClassified": 945, + "startTime": "2018-11-14T04:47:52.9614956Z", + "queuedTime": "2018-11-14T04:47:52.9614956Z", + "pipelineStartTime": "2018-11-14T04:47:52.9614956Z", + "endTime": "2018-11-14T05:17:52.9614956Z", + "runType": "Scheduled", + "scanRulesetType": "Custom" + }, + { + "id": "565e518f-da15-486d-8f0d-5269ea404df6", + "status": "Failed", + "assetsDiscovered": 0, + "assetsClassified": 0, + "startTime": "2018-11-14T04:47:52.9614956Z", + "queuedTime": "2018-11-14T04:47:52.9614956Z", + "pipelineStartTime": "2018-11-14T04:47:52.9614956Z", + "endTime": "2018-11-14T05:17:52.9614956Z", + "errorMessage": "You did a bad thing", + "runType": "Manual", + "scanRulesetType": "System" + } + ], + "count": 3, + "nextLink": null + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanResult_RunScan.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanResult_RunScan.json new file mode 100644 index 000000000000..018b3c0a395b --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanResult_RunScan.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "dataSourceName": "testDataSourceName", + "scanName": "scan1", + "api-version": "2021-10-01-preview", + "runId": "138301e4-f4f9-4ab5-b734-bac446b236e7", + "scanLevel": "Full" + }, + "responses": { + "202": { + "headers": { + "x-ms-request-id": "00000000-0000-0000-0000-00000000000" + }, + "body": { + "scanResultId": "138301e4-f4f9-4ab5-b734-bac446b236e7", + "startTime": "2019-05-16T17:01:37.3089193Z", + "endTime": null, + "status": "Accepted", + "error": null + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanRulesets_CreateOrUpdate.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanRulesets_CreateOrUpdate.json new file mode 100644 index 000000000000..5ddde11d81f4 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanRulesets_CreateOrUpdate.json @@ -0,0 +1,168 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "scanRulesetName": "nyScanRulesetName", + "api-version": "2021-10-01-preview", + "body": { + "kind": "AzureStorage", + "scanRulesetType": "Custom", + "properties": { + "scanningRule": { + "fileExtensions": [ + "CSV", + "JSON", + "PSV", + "SSV", + "TSV", + "TXT", + "XML", + "PARQUET" + ], + "customFileExtensions": [ + { + "customFileType": { + "builtInType": null, + "customDelimiter": "$" + }, + "description": "model file type", + "enabled": true, + "fileExtension": ".model" + }, + { + "customFileType": { + "builtInType": "JSON", + "customDelimiter": null + }, + "description": "mdoel1 type", + "enabled": true, + "fileExtension": ".model1" + } + ] + }, + "description": null, + "excludedSystemClassifications": [ + "MICROSOFT.FINANCIAL.AUSTRALIA.BANK_ACCOUNT_NUMBER", + "MICROSOFT.MISCELLANEOUS.IPADDRESS" + ], + "includedCustomClassificationRuleNames": [ + "BF_PII", + "Dummy_Rule2" + ] + } + } + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "kind": "AzureStorage", + "scanRulesetType": "Custom", + "id": "scanrulesets/nyScanRulesetName", + "name": "nyScanRulesetName", + "properties": { + "scanningRule": { + "fileExtensions": [ + "CSV", + "JSON", + "PSV", + "SSV", + "TSV", + "TXT", + "XML", + "PARQUET" + ], + "customFileExtensions": [ + { + "customFileType": { + "builtInType": null, + "customDelimiter": "$" + }, + "description": "model file type", + "enabled": true, + "fileExtension": ".model" + }, + { + "customFileType": { + "builtInType": "JSON", + "customDelimiter": null + }, + "description": "mdoel1 type", + "enabled": true, + "fileExtension": ".model1" + } + ] + }, + "createdAt": "2021-02-12T16:03:13.4377581Z", + "description": null, + "excludedSystemClassifications": [ + "MICROSOFT.FINANCIAL.AUSTRALIA.BANK_ACCOUNT_NUMBER", + "MICROSOFT.MISCELLANEOUS.IPADDRESS" + ], + "includedCustomClassificationRuleNames": [ + "BF_PII", + "Dummy_Rule2" + ], + "lastModifiedAt": "2021-02-12T16:03:13.4377582Z" + } + } + }, + "201": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "kind": "AzureStorage", + "scanRulesetType": "Custom", + "id": "scanrulesets/nyScanRulesetName", + "name": "nyScanRulesetName", + "properties": { + "scanningRule": { + "fileExtensions": [ + "CSV", + "JSON", + "PSV", + "SSV", + "TSV", + "TXT", + "XML", + "PARQUET" + ], + "customFileExtensions": [ + { + "customFileType": { + "builtInType": null, + "customDelimiter": "$" + }, + "description": "model file type", + "enabled": true, + "fileExtension": ".model" + }, + { + "customFileType": { + "builtInType": "JSON", + "customDelimiter": null + }, + "description": "mdoel1 type", + "enabled": true, + "fileExtension": ".model1" + } + ] + }, + "createdAt": "2021-02-12T16:03:13.4377581Z", + "description": null, + "excludedSystemClassifications": [ + "MICROSOFT.FINANCIAL.AUSTRALIA.BANK_ACCOUNT_NUMBER", + "MICROSOFT.MISCELLANEOUS.IPADDRESS" + ], + "includedCustomClassificationRuleNames": [ + "BF_PII", + "Dummy_Rule2" + ], + "lastModifiedAt": "2021-02-12T16:03:13.4377582Z" + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanRulesets_Delete.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanRulesets_Delete.json new file mode 100644 index 000000000000..ef335b416040 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanRulesets_Delete.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "scanRulesetName": "myRuleSetName", + "api-version": "2021-10-01-preview" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "properties": { + "scanningRule": { + "fileExtensions": [ + "CSV", + "JSON" + ] + }, + "createdAt": "2020-01-28T23:09:30.5185162Z", + "lastModifiedAt": "2020-01-28T23:10:07.3840172Z", + "excludedSystemClassifications": null, + "includedCustomClassificationRuleNames": null, + "description": null + }, + "kind": "AzureStorage", + "name": "myRuleSetName" + } + }, + "204": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanRulesets_Get.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanRulesets_Get.json new file mode 100644 index 000000000000..d5a7e2f6b774 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanRulesets_Get.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "scanRulesetName": "myRuleSetName", + "api-version": "2021-10-01-preview" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "properties": { + "scanningRule": { + "fileExtensions": [ + "CSV", + "JSON" + ] + }, + "createdAt": "2020-01-28T23:09:30.5185162Z", + "lastModifiedAt": "2020-01-28T23:10:07.3840172Z", + "excludedSystemClassifications": null, + "includedCustomClassificationRuleNames": null, + "description": null + }, + "kind": "AzureStorage", + "name": "myRuleSetName" + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanRulesets_ListAll.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanRulesets_ListAll.json new file mode 100644 index 000000000000..580a6b602997 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/ScanRulesets_ListAll.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "scanRulesetName": "nyScanRulesetName", + "api-version": "2021-10-01-preview" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "count": 2, + "nextLink": null, + "value": [ + { + "name": "ScanRuleset1", + "kind": "AzureStorage" + }, + { + "name": "ScanRuleset2", + "kind": "AzureStorage" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Scans_CreateOrUpdate.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Scans_CreateOrUpdate.json new file mode 100644 index 000000000000..12a99d1bb5bc --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Scans_CreateOrUpdate.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "dataSourceName": "myDataSource", + "scanName": "myScanName", + "api-version": "2021-10-01-preview", + "body": { + "kind": "AzureStorageCredential", + "properties": { + "credential": { + "referenceName": "CredentialAKV", + "credentialType": "AccountKey" + }, + "connectedVia": null, + "scanRulesetName": "AzureStorage", + "scanRulesetType": "System", + "collection": { + "referenceName": "Collection-rZX", + "type": "CollectionReference" + } + } + } + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "name": "myScanName", + "id": "datasources/myDataSource/scans/myScanName", + "kind": "AzureStorageCredential", + "properties": { + "credential": { + "referenceName": "CredentialAKV", + "credentialType": "AccountKey" + }, + "connectedVia": null, + "scanRulesetName": "AzureStorage", + "scanRulesetType": "System", + "workers": null, + "collection": { + "lastModifiedAt": "2021-09-15T21:20:08.2944382Z", + "referenceName": "Collection-rZX", + "type": "CollectionReference" + } + }, + "scanResults": null + } + }, + "201": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "name": "myScanName", + "id": "datasources/myDataSource/scans/myScanName", + "kind": "AzureStorageCredential", + "properties": { + "credential": { + "referenceName": "CredentialAKV", + "credentialType": "AccountKey" + }, + "scanRulesetName": "AzureStorage", + "scanRulesetType": "System", + "workers": null, + "collection": { + "lastModifiedAt": "2021-09-15T21:20:08.2944382Z", + "referenceName": "Collection-rZX", + "type": "CollectionReference" + } + }, + "scanResults": null + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Scans_Delete.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Scans_Delete.json new file mode 100644 index 000000000000..169104a04920 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Scans_Delete.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "dataSourceName": "myDataSource", + "scanName": "myScanName", + "api-version": "2021-10-01-preview" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "name": "myScanName", + "id": "datasources/myDataSource/scans/myScanName", + "kind": "AzureStorageCredential", + "properties": { + "credential": { + "referenceName": "CredentialAKV", + "credentialType": "AccountKey" + }, + "connectedVia": null, + "scanRulesetName": "AzureStorage", + "scanRulesetType": "System", + "workers": null, + "collection": { + "lastModifiedAt": "2021-09-15T21:20:08.2944382Z", + "referenceName": "Collection-rZX", + "type": "CollectionReference" + } + }, + "scanResults": null + } + }, + "204": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Scans_Get.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Scans_Get.json new file mode 100644 index 000000000000..fb461a85ffd8 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Scans_Get.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "dataSourceName": "myDataSource", + "scanName": "myScanName", + "api-version": "2021-10-01-preview" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "name": "myScanName", + "id": "datasources/myDataSource/scans/myScanName", + "kind": "AzureStorageCredential", + "properties": { + "credential": { + "referenceName": "CredentialAKV", + "credentialType": "AccountKey" + }, + "connectedVia": null, + "scanRulesetName": "AzureStorage", + "scanRulesetType": "System", + "workers": null, + "collection": { + "lastModifiedAt": "2021-09-15T21:20:08.2944382Z", + "referenceName": "Collection-rZX", + "type": "CollectionReference" + } + }, + "scanResults": null + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Scans_ListByDataSource.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Scans_ListByDataSource.json new file mode 100644 index 000000000000..db978419ebfc --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Scans_ListByDataSource.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "dataSourceName": "myDataSource", + "api-version": "2021-10-01-preview", + "skipToken": null + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "value": [ + { + "name": "myScanName", + "id": "datasources/myDataSource/scans/myScanName", + "kind": "AzureStorageCredential", + "properties": { + "credential": { + "referenceName": "CredentialAKV", + "credentialType": "AccountKey" + }, + "connectedVia": null, + "scanRulesetName": "AzureStorage", + "scanRulesetType": "System", + "workers": null, + "collection": { + "lastModifiedAt": "2021-09-15T21:20:08.2944382Z", + "referenceName": "Collection-rZX", + "type": "CollectionReference" + } + }, + "scanResults": null + } + ], + "count": 1, + "nextLink": null + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/SystemScanRulesets_Get.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/SystemScanRulesets_Get.json new file mode 100644 index 000000000000..e1a8a9c2d9b4 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/SystemScanRulesets_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "api-version": "2021-10-01-preview", + "dataSourceType": "AzureStorage" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "kind": "AzureStorage", + "scanRulesetType": "System", + "status": "Enabled", + "version": 1, + "id": "systemscanrulesets/AzureStorage", + "name": "AzureStorage" + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/SystemScanRulesets_GetByVersion.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/SystemScanRulesets_GetByVersion.json new file mode 100644 index 000000000000..49bcccd0a5fb --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/SystemScanRulesets_GetByVersion.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "api-version": "2021-10-01-preview", + "dataSourceType": "AzureStorage", + "version": 1 + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "scanRulesetType": "System", + "kind": "AzureStorage", + "name": "myRuleSetName", + "status": "Enabled", + "version": 1 + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/SystemScanRulesets_GetLatest.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/SystemScanRulesets_GetLatest.json new file mode 100644 index 000000000000..cd46e174b09e --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/SystemScanRulesets_GetLatest.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "api-version": "2021-10-01-preview", + "dataSourceType": "AzureStorage" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "scanRulesetType": "System", + "kind": "AzureStorage", + "name": "myRuleSetName", + "status": "Enabled", + "version": 1 + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/SystemScanRulesets_ListAll.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/SystemScanRulesets_ListAll.json new file mode 100644 index 000000000000..e475cd33b794 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/SystemScanRulesets_ListAll.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "api-version": "2021-10-01-preview" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "count": 2, + "nextLink": null, + "value": [ + { + "scanRulesetType": "System", + "kind": "AzureStorage", + "status": "Enabled", + "version": 2, + "id": "systemscanrulesets/AzureStorage", + "name": "sample" + }, + { + "scanRulesetType": "System", + "kind": "AzureStorage", + "status": "Enabled", + "version": 1, + "id": "systemscanrulesets/AzureStorage", + "name": "sample" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/SystemScanRulesets_ListVersionsByDataSource.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/SystemScanRulesets_ListVersionsByDataSource.json new file mode 100644 index 000000000000..2a87516b87e3 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/SystemScanRulesets_ListVersionsByDataSource.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "api-version": "2021-10-01-preview", + "dataSourceType": "AzureStorage" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "count": 2, + "nextLink": null, + "value": [ + { + "scanRulesetType": "System", + "kind": "AzureStorage", + "status": "Enabled", + "version": 2, + "id": "systemscanrulesets/AzureStorage", + "name": "sample" + }, + { + "scanRulesetType": "System", + "kind": "AzureStorage", + "status": "Enabled", + "version": 1, + "id": "systemscanrulesets/AzureStorage", + "name": "sample" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Triggers_CreateTrigger.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Triggers_CreateTrigger.json new file mode 100644 index 000000000000..cff6eba0d48c --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Triggers_CreateTrigger.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "dataSourceName": "DataSource1", + "scanName": "Scan1", + "triggerName": "Trigger1", + "api-version": "2021-10-01-preview", + "body": { + "properties": { + "recurrenceInterval": null, + "scanLevel": "Incremental", + "recurrence": { + "startTime": "2021-02-12T14:59:00.416Z", + "endTime": "2021-02-25T00:00:00.000Z", + "interval": 1, + "frequency": "Month", + "schedule": { + "hours": [ + 23 + ], + "minutes": [ + 56 + ], + "monthDays": [ + 10 + ] + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "name": "Trigger1", + "id": "datasources/AzureBlob-DSTDParv/scans/Scan-PUl/triggers/default", + "properties": { + "recurrence": { + "frequency": "Month", + "interval": 4, + "startTime": "2021-02-12T14:59:00.416Z", + "endTime": "2021-02-25T00:00:00Z", + "schedule": { + "minutes": [ + 56 + ], + "hours": [ + 23 + ], + "weekDays": null, + "monthDays": null, + "monthlyOccurrences": [ + { + "day": "Wednesday", + "occurrence": 2 + } + ] + } + }, + "recurrenceInterval": null, + "createdAt": "2021-02-12T14:58:58.0478425Z", + "lastModifiedAt": "2021-02-12T15:39:53.6482996Z", + "lastScheduled": null, + "scanLevel": "Incremental" + } + } + }, + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "name": "Trigger1", + "id": "datasources/AzureBlob-DSTDParv/scans/Scan-PUl/triggers/default", + "properties": { + "recurrence": { + "frequency": "Month", + "interval": 1, + "startTime": "2020-06-03T19:15:00Z", + "endTime": "2020-06-03T19:22:00Z", + "schedule": null + }, + "recurrenceInterval": null, + "createdAt": "2020-06-11T05:15:04.1940429Z", + "lastModifiedAt": "2020-06-19T22:26:22.6514064Z", + "lastScheduled": null, + "scanLevel": "Incremental" + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Triggers_DeleteTrigger.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Triggers_DeleteTrigger.json new file mode 100644 index 000000000000..d37be2e5664e --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Triggers_DeleteTrigger.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "dataSourceName": "DataSource1", + "scanName": "Scan1", + "triggerName": "Trigger1", + "api-version": "2021-10-01-preview" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "name": "Trigger1", + "properties": { + "recurrence": { + "frequency": "Month", + "interval": 1, + "startTime": "2020-06-03T19:15:00Z", + "endTime": "2020-06-03T19:22:00Z", + "schedule": null + }, + "recurrenceInterval": null, + "createdAt": "2020-06-11T05:15:04.1940429Z", + "lastModifiedAt": "2020-06-19T22:26:22.6514064Z", + "lastScheduled": null, + "scanLevel": "Incremental" + } + } + }, + "204": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Triggers_GetTrigger.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Triggers_GetTrigger.json new file mode 100644 index 000000000000..54b28697e1f2 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/examples/Triggers_GetTrigger.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "dataSourceName": "myDataSourceName", + "scanName": "myScanName", + "api-version": "2021-10-01-preview", + "triggerName": "myTriggerName" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888" + }, + "body": { + "properties": { + "recurrence": { + "frequency": "Month", + "interval": 1, + "startTime": "2020-06-03T19:15:00Z", + "endTime": "2020-06-03T19:22:00Z", + "schedule": null + }, + "recurrenceInterval": null, + "createdAt": "2020-06-11T05:15:04.1940429Z", + "lastModifiedAt": "2020-06-19T22:26:22.6514064Z", + "lastScheduled": null, + "scanLevel": "Incremental" + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/scanningService.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/scanningService.json new file mode 100644 index 000000000000..9ebc18611a72 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/scanningService.json @@ -0,0 +1,6937 @@ +{ + "swagger": "2.0", + "info": { + "title": "MicrosoftScanningClient", + "description": "Creates a Microsoft.Scanning management client.", + "version": "2021-10-01-preview" + }, + "host": "purview.azure.com", + "basePath": "/scan", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "paths": { + "/azureKeyVaults/{keyVaultName}": { + "get": { + "tags": [ + "AzureKeyVaults" + ], + "description": "Gets key vault information", + "operationId": "KeyVaultConnections_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "keyVaultName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AzureKeyVault" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "KeyVaultConnections_Get": { + "$ref": "./examples/KeyVaultConnections_Get.json" + } + } + }, + "put": { + "tags": [ + "AzureKeyVaults" + ], + "description": "Creates an instance of a key vault connection", + "operationId": "KeyVaultConnections_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "keyVaultName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AzureKeyVault" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AzureKeyVault" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "KeyVaultConnections_Create": { + "$ref": "./examples/KeyVaultConnections_Create.json" + } + } + }, + "delete": { + "tags": [ + "AzureKeyVaults" + ], + "description": "Deletes the key vault connection associated with the account", + "operationId": "KeyVaultConnections_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "keyVaultName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AzureKeyVault" + } + }, + "204": { + "description": "Success" + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "KeyVaultConnections_Delete": { + "$ref": "./examples/KeyVaultConnections_Delete.json" + } + } + } + }, + "/azureKeyVaults": { + "get": { + "tags": [ + "AzureKeyVaults" + ], + "description": "List key vault connections in account", + "operationId": "KeyVaultConnections_ListAll", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AzureKeyVaultList" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "KeyVaultConnections_ListAll": { + "$ref": "./examples/KeyVaultConnections_ListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/classificationrules/{classificationRuleName}": { + "get": { + "tags": [ + "ClassificationRules" + ], + "description": "Get a classification rule", + "operationId": "ClassificationRules_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "classificationRuleName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ClassificationRule" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "ClassificationRules_Get": { + "$ref": "./examples/ClassificationRules_Get.json" + } + } + }, + "put": { + "tags": [ + "ClassificationRules" + ], + "description": "Creates or Updates a classification rule", + "operationId": "ClassificationRules_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "classificationRuleName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/ClassificationRule" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ClassificationRule" + } + }, + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ClassificationRule" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "ClassificationRules_CreateOrUpdate": { + "$ref": "./examples/ClassificationRules_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ClassificationRules" + ], + "description": "Deletes a classification rule", + "operationId": "ClassificationRules_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "classificationRuleName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ClassificationRule" + } + }, + "204": { + "description": "Success" + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "ClassificationRules_Delete": { + "$ref": "./examples/ClassificationRules_Delete.json" + } + } + } + }, + "/classificationrules": { + "get": { + "tags": [ + "ClassificationRules" + ], + "description": "List classification rules in Account", + "operationId": "ClassificationRules_ListAll", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ClassificationRuleList" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "ClassificationRules_ListAll": { + "$ref": "./examples/ClassificationRules_ListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/classificationrules/{classificationRuleName}/versions": { + "get": { + "tags": [ + "ClassificationRules" + ], + "description": "Lists the rule versions of a classification rule", + "operationId": "ClassificationRules_ListVersionsByClassificationRuleName", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "classificationRuleName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ClassificationRuleList" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "ClassificationRules_ListVersionsByClassificationRuleName": { + "$ref": "./examples/ClassificationRules_ListVersionsByClassificationRuleName.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/classificationrules/{classificationRuleName}/versions/{classificationRuleVersion}/:tag": { + "post": { + "tags": [ + "ClassificationRules" + ], + "description": "Sets Classification Action on a specific classification rule version.", + "operationId": "ClassificationRules_TagClassificationVersion", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "classificationRuleName", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "classificationRuleVersion", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "in": "query", + "name": "action", + "required": true, + "type": "string", + "enum": [ + "Keep", + "Delete" + ], + "x-ms-enum": { + "name": "ClassificationAction", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "202": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OperationResponse" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "ClassificationRules_TagClassificationVersion": { + "$ref": "./examples/ClassificationRules_TagClassificationVersion.json" + } + } + } + }, + "/datasources/{dataSourceName}": { + "put": { + "tags": [ + "DataSources" + ], + "description": "Creates or Updates a data source", + "operationId": "DataSources_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "dataSourceName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/DataSource" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DataSource" + } + }, + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DataSource" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "DataSources_CreateOrUpdate": { + "$ref": "./examples/DataSources_CreateOrUpdate.json" + } + } + }, + "get": { + "tags": [ + "DataSources" + ], + "description": "Get a data source", + "operationId": "DataSources_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "dataSourceName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DataSource" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "DataSources_Get": { + "$ref": "./examples/DataSources_Get.json" + } + } + }, + "delete": { + "tags": [ + "DataSources" + ], + "description": "Deletes a data source", + "operationId": "DataSources_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "dataSourceName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DataSource" + } + }, + "204": { + "description": "Success" + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "DataSources_Delete": { + "$ref": "./examples/DataSources_Delete.json" + } + } + } + }, + "/datasources": { + "get": { + "tags": [ + "DataSources" + ], + "description": "List data sources in Data catalog", + "operationId": "DataSources_ListAll", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DataSourceList" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "DataSources_ListAll": { + "$ref": "./examples/DataSources_ListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/datasources/{dataSourceName}/scans/{scanName}/filters/custom": { + "get": { + "tags": [ + "Filters" + ], + "description": "Get a filter", + "operationId": "Filters_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "dataSourceName", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "scanName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Filter" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Filters_Get": { + "$ref": "./examples/Filters_Get.json" + } + } + }, + "put": { + "tags": [ + "Filters" + ], + "description": "Creates or updates a filter", + "operationId": "Filters_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "dataSourceName", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "scanName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/Filter" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Filter" + } + }, + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Filter" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Filters_CreateOrUpdate": { + "$ref": "./examples/Filters_CreateOrUpdate.json" + } + } + } + }, + "/datasources/{dataSourceName}/scans/{scanName}": { + "put": { + "tags": [ + "Scan" + ], + "description": "Creates an instance of a scan", + "operationId": "Scans_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "dataSourceName", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "scanName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Scan" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Scan" + } + }, + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Scan" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Scans_CreateOrUpdate": { + "$ref": "./examples/Scans_CreateOrUpdate.json" + } + } + }, + "get": { + "tags": [ + "Scan" + ], + "description": "Gets a scan information", + "operationId": "Scans_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "dataSourceName", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "scanName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Scan" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Scans_Get": { + "$ref": "./examples/Scans_Get.json" + } + } + }, + "delete": { + "tags": [ + "Scan" + ], + "description": "Deletes the scan associated with the data source", + "operationId": "Scans_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "dataSourceName", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "scanName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Scan" + } + }, + "204": { + "description": "Success" + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Scans_Delete": { + "$ref": "./examples/Scans_Delete.json" + } + } + } + }, + "/datasources/{dataSourceName}/scans": { + "get": { + "tags": [ + "Scan" + ], + "description": "List scans in data source", + "operationId": "Scans_ListByDataSource", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "dataSourceName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ScanList" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Scans_ListByDataSource": { + "$ref": "./examples/Scans_ListByDataSource.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/datasources/{dataSourceName}/scans/{scanName}/runs/{runId}": { + "put": { + "tags": [ + "ScanResult" + ], + "description": "Runs the scan", + "operationId": "ScanResult_RunScan", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "dataSourceName", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "scanName", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "runId", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "scanLevel", + "type": "string", + "enum": [ + "Full", + "Incremental" + ], + "x-ms-enum": { + "name": "ScanLevelType", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "202": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OperationResponse" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "ScanResult_RunScan": { + "$ref": "./examples/ScanResult_RunScan.json" + } + } + } + }, + "/datasources/{dataSourceName}/scans/{scanName}/runs/{runId}/:cancel": { + "post": { + "tags": [ + "ScanResult" + ], + "description": "Cancels a scan", + "operationId": "ScanResult_CancelScan", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "dataSourceName", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "scanName", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "runId", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "202": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OperationResponse" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "ScanResult_CancelScan": { + "$ref": "./examples/ScanResult_CancelScan.json" + } + } + } + }, + "/datasources/{dataSourceName}/scans/{scanName}/runs": { + "get": { + "tags": [ + "ScanResult" + ], + "description": "Lists the scan history of a scan", + "operationId": "ScanResult_ListScanHistory", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "dataSourceName", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "scanName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ScanHistoryList" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "ScanResult_ListScanHistory": { + "$ref": "./examples/ScanResult_ListScanHistory.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/scanrulesets/{scanRulesetName}": { + "get": { + "tags": [ + "ScanRulesets" + ], + "description": "Get a scan ruleset", + "operationId": "ScanRulesets_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "scanRulesetName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ScanRuleset" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "ScanRulesets_Get": { + "$ref": "./examples/ScanRulesets_Get.json" + } + } + }, + "put": { + "tags": [ + "ScanRulesets" + ], + "description": "Creates or Updates a scan ruleset", + "operationId": "ScanRulesets_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "scanRulesetName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/ScanRuleset" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ScanRuleset" + } + }, + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ScanRuleset" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "ScanRulesets_CreateOrUpdate": { + "$ref": "./examples/ScanRulesets_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ScanRulesets" + ], + "description": "Deletes a scan ruleset", + "operationId": "ScanRulesets_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "scanRulesetName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ScanRuleset" + } + }, + "204": { + "description": "Success" + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "ScanRulesets_Delete": { + "$ref": "./examples/ScanRulesets_Delete.json" + } + } + } + }, + "/scanrulesets": { + "get": { + "tags": [ + "ScanRulesets" + ], + "description": "List scan rulesets in Data catalog", + "operationId": "ScanRulesets_ListAll", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ScanRulesetList" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "ScanRulesets_ListAll": { + "$ref": "./examples/ScanRulesets_ListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/systemScanRulesets": { + "get": { + "tags": [ + "SystemScanRulesets" + ], + "description": "List all system scan rulesets for an account", + "operationId": "SystemScanRulesets_ListAll", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SystemScanRulesetList" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "SystemScanRulesets_ListAll": { + "$ref": "./examples/SystemScanRulesets_ListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/systemScanRulesets/datasources/{dataSourceType}": { + "get": { + "tags": [ + "SystemScanRulesets" + ], + "description": "Get a system scan ruleset for a data source", + "operationId": "SystemScanRulesets_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "dataSourceType", + "required": true, + "type": "string", + "enum": [ + "None", + "AzureSubscription", + "AzureResourceGroup", + "AzureSynapseWorkspace", + "AzureSynapse", + "AdlsGen1", + "AdlsGen2", + "AmazonAccount", + "AmazonS3", + "AmazonSql", + "AzureCosmosDb", + "AzureDataExplorer", + "AzureFileService", + "AzureSqlDatabase", + "AmazonPostgreSql", + "AzurePostgreSql", + "SqlServerDatabase", + "AzureSqlDatabaseManagedInstance", + "AzureSqlDataWarehouse", + "AzureMySql", + "AzureStorage", + "Teradata", + "Oracle", + "SapS4Hana", + "SapEcc", + "PowerBI" + ], + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SystemScanRuleset" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "SystemScanRulesets_Get": { + "$ref": "./examples/SystemScanRulesets_Get.json" + } + } + } + }, + "/systemScanRulesets/versions/{version}": { + "get": { + "tags": [ + "SystemScanRulesets" + ], + "description": "Get a scan ruleset by version", + "operationId": "SystemScanRulesets_GetByVersion", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "dataSourceType", + "type": "string", + "enum": [ + "None", + "AzureSubscription", + "AzureResourceGroup", + "AzureSynapseWorkspace", + "AzureSynapse", + "AdlsGen1", + "AdlsGen2", + "AmazonAccount", + "AmazonS3", + "AmazonSql", + "AzureCosmosDb", + "AzureDataExplorer", + "AzureFileService", + "AzureSqlDatabase", + "AmazonPostgreSql", + "AzurePostgreSql", + "SqlServerDatabase", + "AzureSqlDatabaseManagedInstance", + "AzureSqlDataWarehouse", + "AzureMySql", + "AzureStorage", + "Teradata", + "Oracle", + "SapS4Hana", + "SapEcc", + "PowerBI" + ], + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + { + "in": "path", + "name": "version", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SystemScanRuleset" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "SystemScanRulesets_GetByVersion": { + "$ref": "./examples/SystemScanRulesets_GetByVersion.json" + } + } + } + }, + "/systemScanRulesets/versions/latest": { + "get": { + "tags": [ + "SystemScanRulesets" + ], + "description": "Get the latest version of a system scan ruleset", + "operationId": "SystemScanRulesets_GetLatest", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "dataSourceType", + "type": "string", + "enum": [ + "None", + "AzureSubscription", + "AzureResourceGroup", + "AzureSynapseWorkspace", + "AzureSynapse", + "AdlsGen1", + "AdlsGen2", + "AmazonAccount", + "AmazonS3", + "AmazonSql", + "AzureCosmosDb", + "AzureDataExplorer", + "AzureFileService", + "AzureSqlDatabase", + "AmazonPostgreSql", + "AzurePostgreSql", + "SqlServerDatabase", + "AzureSqlDatabaseManagedInstance", + "AzureSqlDataWarehouse", + "AzureMySql", + "AzureStorage", + "Teradata", + "Oracle", + "SapS4Hana", + "SapEcc", + "PowerBI" + ], + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SystemScanRuleset" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "SystemScanRulesets_GetLatest": { + "$ref": "./examples/SystemScanRulesets_GetLatest.json" + } + } + } + }, + "/systemScanRulesets/versions": { + "get": { + "tags": [ + "SystemScanRulesets" + ], + "description": "List system scan ruleset versions in Data catalog", + "operationId": "SystemScanRulesets_ListVersionsByDataSource", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "dataSourceType", + "type": "string", + "enum": [ + "None", + "AzureSubscription", + "AzureResourceGroup", + "AzureSynapseWorkspace", + "AzureSynapse", + "AdlsGen1", + "AdlsGen2", + "AmazonAccount", + "AmazonS3", + "AmazonSql", + "AzureCosmosDb", + "AzureDataExplorer", + "AzureFileService", + "AzureSqlDatabase", + "AmazonPostgreSql", + "AzurePostgreSql", + "SqlServerDatabase", + "AzureSqlDatabaseManagedInstance", + "AzureSqlDataWarehouse", + "AzureMySql", + "AzureStorage", + "Teradata", + "Oracle", + "SapS4Hana", + "SapEcc", + "PowerBI" + ], + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SystemScanRulesetList" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "SystemScanRulesets_ListVersionsByDataSource": { + "$ref": "./examples/SystemScanRulesets_ListVersionsByDataSource.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/datasources/{dataSourceName}/scans/{scanName}/triggers/default": { + "get": { + "tags": [ + "Triggers" + ], + "description": "Gets trigger information", + "operationId": "Triggers_GetTrigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "dataSourceName", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "scanName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Trigger" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Triggers_GetTrigger": { + "$ref": "./examples/Triggers_GetTrigger.json" + } + } + }, + "put": { + "tags": [ + "Triggers" + ], + "description": "Creates an instance of a trigger", + "operationId": "Triggers_CreateTrigger", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "dataSourceName", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "scanName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Trigger" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Trigger" + } + }, + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Trigger" + } + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Triggers_CreateTrigger": { + "$ref": "./examples/Triggers_CreateTrigger.json" + } + } + }, + "delete": { + "tags": [ + "Triggers" + ], + "description": "Deletes the trigger associated with the scan", + "operationId": "Triggers_DeleteTrigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "dataSourceName", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "scanName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Trigger" + } + }, + "204": { + "description": "Success" + }, + "default": { + "description": "An error response received from the Scanning Service", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Triggers_DeleteTrigger": { + "$ref": "./examples/Triggers_DeleteTrigger.json" + } + } + } + } + }, + "definitions": { + "AzureKeyVaultProperties": { + "type": "object", + "properties": { + "baseUrl": { + "type": "string" + }, + "description": { + "type": "string" + } + } + }, + "ProxyResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true + }, + "name": { + "type": "string", + "readOnly": true + } + } + }, + "AzureKeyVault": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureKeyVaultProperties" + } + ] + } + } + }, + "ErrorModel": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "target": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "ErrorResponseModel": { + "type": "object", + "properties": { + "error": { + "allOf": [ + { + "$ref": "#/definitions/ErrorModel" + } + ] + } + } + }, + "AzureKeyVaultList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureKeyVault" + } + }, + "nextLink": { + "type": "string" + }, + "count": { + "format": "int64", + "type": "integer" + } + } + }, + "ClassificationRule": { + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "enum": [ + "System", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "ClassificationRuleType", + "modelAsString": true + } + } + }, + "discriminator": "kind" + }, + "ClassificationRuleList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ClassificationRule" + } + }, + "nextLink": { + "type": "string" + }, + "count": { + "format": "int64", + "type": "integer" + } + } + }, + "ErrorInfo": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "target": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ErrorInfo" + } + } + } + }, + "OperationResponse": { + "type": "object", + "properties": { + "scanResultId": { + "format": "uuid", + "type": "string" + }, + "startTime": { + "format": "date-time", + "type": "string" + }, + "endTime": { + "format": "date-time", + "type": "string" + }, + "status": { + "enum": [ + "Accepted", + "InProgress", + "TransientFailure", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": true + } + }, + "error": { + "allOf": [ + { + "$ref": "#/definitions/ErrorInfo" + } + ] + } + } + }, + "Notification": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "code": { + "format": "int32", + "type": "integer" + } + } + }, + "ScanDiagnostics": { + "type": "object", + "properties": { + "notifications": { + "type": "array", + "items": { + "$ref": "#/definitions/Notification" + } + }, + "exceptionCountMap": { + "type": "object", + "additionalProperties": { + "format": "int32", + "type": "integer" + }, + "readOnly": true + } + } + }, + "ScanResult": { + "type": "object", + "properties": { + "parentId": { + "type": "string", + "readOnly": true + }, + "id": { + "type": "string", + "readOnly": true + }, + "resourceId": { + "type": "string", + "readOnly": true + }, + "status": { + "type": "string", + "readOnly": true + }, + "assetsDiscovered": { + "format": "int64", + "type": "integer", + "readOnly": true + }, + "assetsClassified": { + "format": "int64", + "type": "integer", + "readOnly": true + }, + "diagnostics": { + "allOf": [ + { + "$ref": "#/definitions/ScanDiagnostics" + } + ], + "readOnly": true + }, + "startTime": { + "format": "date-time", + "type": "string", + "readOnly": true + }, + "queuedTime": { + "format": "date-time", + "type": "string", + "readOnly": true + }, + "pipelineStartTime": { + "format": "date-time", + "type": "string", + "readOnly": true + }, + "endTime": { + "format": "date-time", + "type": "string", + "readOnly": true + }, + "scanRulesetVersion": { + "format": "int32", + "type": "integer", + "readOnly": true + }, + "scanRulesetType": { + "enum": [ + "Custom", + "System" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ScanRulesetType", + "modelAsString": true + } + }, + "scanLevelType": { + "enum": [ + "Full", + "Incremental" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ScanLevelType", + "modelAsString": true + } + }, + "errorMessage": { + "type": "string", + "readOnly": true + }, + "error": { + "allOf": [ + { + "$ref": "#/definitions/ErrorModel" + } + ], + "readOnly": true + }, + "runType": { + "type": "string", + "readOnly": true + }, + "dataSourceType": { + "enum": [ + "None", + "AzureSubscription", + "AzureResourceGroup", + "AzureSynapseWorkspace", + "AzureSynapse", + "AdlsGen1", + "AdlsGen2", + "AmazonAccount", + "AmazonS3", + "AmazonSql", + "AzureCosmosDb", + "AzureDataExplorer", + "AzureFileService", + "AzureSqlDatabase", + "AmazonPostgreSql", + "AzurePostgreSql", + "SqlServerDatabase", + "AzureSqlDatabaseManagedInstance", + "AzureSqlDataWarehouse", + "AzureMySql", + "AzureStorage", + "Teradata", + "Oracle", + "SapS4Hana", + "SapEcc", + "PowerBI" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + } + } + }, + "Scan": { + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "enum": [ + "AzureSubscriptionCredential", + "AzureSubscriptionMsi", + "AzureResourceGroupCredential", + "AzureResourceGroupMsi", + "AzureSynapseWorkspaceCredential", + "AzureSynapseWorkspaceMsi", + "AzureSynapseCredential", + "AzureSynapseMsi", + "AdlsGen1Credential", + "AdlsGen1Msi", + "AdlsGen2Credential", + "AdlsGen2Msi", + "AmazonAccountCredential", + "AmazonS3Credential", + "AmazonS3RoleARN", + "AmazonSqlCredential", + "AzureCosmosDbCredential", + "AzureDataExplorerCredential", + "AzureDataExplorerMsi", + "AzureFileServiceCredential", + "AzureSqlDatabaseCredential", + "AzureSqlDatabaseMsi", + "AmazonPostgreSqlCredential", + "AmazonPostgreSqlRoleARN", + "AzurePostgreSqlCredential", + "SqlServerDatabaseCredential", + "AzureSqlDatabaseManagedInstanceCredential", + "AzureSqlDatabaseManagedInstanceMsi", + "AzureSqlDataWarehouseCredential", + "AzureSqlDataWarehouseMsi", + "AzureMySqlCredential", + "AzureStorageCredential", + "AzureStorageMsi", + "TeradataTeradataCredential", + "TeradataTeradataUserPass", + "TeradataUserPass", + "OracleOracleCredential", + "OracleOracleUserPass", + "SapS4HanaSapS4HanaCredential", + "SapS4HanaSapS4HanaUserPass", + "SapEccSapEccCredential", + "SapEccSapEccUserPass", + "PowerBIDelegated", + "PowerBIMsi" + ], + "type": "string", + "x-ms-enum": { + "name": "ScanAuthorizationType", + "modelAsString": true + } + }, + "scanResults": { + "type": "array", + "items": { + "$ref": "#/definitions/ScanResult" + }, + "readOnly": true + } + }, + "discriminator": "kind" + }, + "DataSource": { + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "enum": [ + "None", + "AzureSubscription", + "AzureResourceGroup", + "AzureSynapseWorkspace", + "AzureSynapse", + "AdlsGen1", + "AdlsGen2", + "AmazonAccount", + "AmazonS3", + "AmazonSql", + "AzureCosmosDb", + "AzureDataExplorer", + "AzureFileService", + "AzureSqlDatabase", + "AmazonPostgreSql", + "AzurePostgreSql", + "SqlServerDatabase", + "AzureSqlDatabaseManagedInstance", + "AzureSqlDataWarehouse", + "AzureMySql", + "AzureStorage", + "Teradata", + "Oracle", + "SapS4Hana", + "SapEcc", + "PowerBI" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + "scans": { + "type": "array", + "items": { + "$ref": "#/definitions/Scan" + }, + "readOnly": true + } + }, + "discriminator": "kind" + }, + "DataSourceList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DataSource" + } + }, + "nextLink": { + "type": "string" + }, + "count": { + "format": "int64", + "type": "integer" + } + } + }, + "FilterProperties": { + "type": "object", + "properties": { + "excludeUriPrefixes": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "includeUriPrefixes": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Filter": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/FilterProperties" + } + ] + } + } + }, + "ScanList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Scan" + } + }, + "nextLink": { + "type": "string" + }, + "count": { + "format": "int64", + "type": "integer" + } + } + }, + "ScanHistoryList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ScanResult" + } + }, + "nextLink": { + "type": "string" + }, + "count": { + "format": "int64", + "type": "integer" + } + } + }, + "VersionedScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "scanRulesetType": { + "enum": [ + "Custom", + "System" + ], + "type": "string", + "x-ms-enum": { + "name": "ScanRulesetType", + "modelAsString": true + } + }, + "status": { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ScanRulesetStatus", + "modelAsString": true + } + }, + "version": { + "format": "int32", + "type": "integer", + "readOnly": true + } + } + }, + "ScanRuleset": { + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/VersionedScanRuleset" + } + ], + "properties": { + "kind": { + "enum": [ + "None", + "AzureSubscription", + "AzureResourceGroup", + "AzureSynapseWorkspace", + "AzureSynapse", + "AdlsGen1", + "AdlsGen2", + "AmazonAccount", + "AmazonS3", + "AmazonSql", + "AzureCosmosDb", + "AzureDataExplorer", + "AzureFileService", + "AzureSqlDatabase", + "AmazonPostgreSql", + "AzurePostgreSql", + "SqlServerDatabase", + "AzureSqlDatabaseManagedInstance", + "AzureSqlDataWarehouse", + "AzureMySql", + "AzureStorage", + "Teradata", + "Oracle", + "SapS4Hana", + "SapEcc", + "PowerBI" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + } + }, + "discriminator": "kind" + }, + "ScanRulesetList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ScanRuleset" + } + }, + "nextLink": { + "type": "string" + }, + "count": { + "format": "int64", + "type": "integer" + } + } + }, + "SystemScanRuleset": { + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/VersionedScanRuleset" + } + ], + "properties": { + "kind": { + "enum": [ + "None", + "AzureSubscription", + "AzureResourceGroup", + "AzureSynapseWorkspace", + "AzureSynapse", + "AdlsGen1", + "AdlsGen2", + "AmazonAccount", + "AmazonS3", + "AmazonSql", + "AzureCosmosDb", + "AzureDataExplorer", + "AzureFileService", + "AzureSqlDatabase", + "AmazonPostgreSql", + "AzurePostgreSql", + "SqlServerDatabase", + "AzureSqlDatabaseManagedInstance", + "AzureSqlDataWarehouse", + "AzureMySql", + "AzureStorage", + "Teradata", + "Oracle", + "SapS4Hana", + "SapEcc", + "PowerBI" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + } + }, + "discriminator": "kind" + }, + "SystemScanRulesetList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SystemScanRuleset" + } + }, + "nextLink": { + "type": "string" + }, + "count": { + "format": "int64", + "type": "integer" + } + } + }, + "RecurrenceScheduleOccurrence": { + "type": "object", + "properties": { + "additionalProperties": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "day": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": true + } + }, + "occurrence": { + "format": "int32", + "type": "integer" + } + } + }, + "RecurrenceSchedule": { + "type": "object", + "properties": { + "additionalProperties": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "minutes": { + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + }, + "hours": { + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + }, + "weekDays": { + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DaysOfWeek", + "modelAsString": true + } + } + }, + "monthDays": { + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + }, + "monthlyOccurrences": { + "type": "array", + "items": { + "$ref": "#/definitions/RecurrenceScheduleOccurrence" + } + } + } + }, + "TriggerRecurrence": { + "type": "object", + "properties": { + "frequency": { + "enum": [ + "Week", + "Month" + ], + "type": "string", + "x-ms-enum": { + "name": "TriggerFrequency", + "modelAsString": true + } + }, + "interval": { + "format": "int32", + "type": "integer" + }, + "startTime": { + "format": "date-time", + "type": "string" + }, + "endTime": { + "format": "date-time", + "type": "string" + }, + "schedule": { + "allOf": [ + { + "$ref": "#/definitions/RecurrenceSchedule" + } + ] + }, + "timeZone": { + "type": "string" + } + } + }, + "TriggerProperties": { + "type": "object", + "properties": { + "recurrence": { + "allOf": [ + { + "$ref": "#/definitions/TriggerRecurrence" + } + ] + }, + "recurrenceInterval": { + "type": "string" + }, + "createdAt": { + "format": "date-time", + "type": "string", + "readOnly": true + }, + "lastModifiedAt": { + "format": "date-time", + "type": "string", + "readOnly": true + }, + "lastScheduled": { + "format": "date-time", + "type": "string", + "readOnly": true + }, + "scanLevel": { + "enum": [ + "Full", + "Incremental" + ], + "type": "string", + "x-ms-enum": { + "name": "ScanLevelType", + "modelAsString": true + } + }, + "incrementalScanStartTime": { + "format": "date-time", + "type": "string" + } + } + }, + "Trigger": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/TriggerProperties" + } + ] + } + } + }, + "CollectionReference": { + "type": "object", + "properties": { + "lastModifiedAt": { + "format": "date-time", + "type": "string", + "readOnly": true + }, + "referenceName": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "SystemClassificationRuleProperties": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "version": { + "format": "int32", + "type": "integer", + "readOnly": true + }, + "classificationName": { + "type": "string" + }, + "ruleStatus": { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ClassificationRuleStatus", + "modelAsString": true + } + }, + "createdAt": { + "format": "date-time", + "type": "string", + "readOnly": true + }, + "lastModifiedAt": { + "format": "date-time", + "type": "string", + "readOnly": true + } + } + }, + "SystemClassificationRule": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ClassificationRule" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/SystemClassificationRuleProperties" + } + ] + } + }, + "x-ms-discriminator-value": "System" + }, + "ClassificationRulePattern": { + "required": [ + "kind" + ], + "type": "object", + "properties": { + "kind": { + "enum": [ + "Regex" + ], + "type": "string", + "x-ms-enum": { + "name": "ClassificationRulePatternType", + "modelAsString": true + } + } + }, + "discriminator": "kind" + }, + "CustomClassificationRuleProperties": { + "type": "object", + "properties": { + "minimumPercentageMatch": { + "format": "double", + "type": "number" + }, + "classificationAction": { + "enum": [ + "Keep", + "Delete" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ClassificationAction", + "modelAsString": true + } + }, + "dataPatterns": { + "type": "array", + "items": { + "$ref": "#/definitions/ClassificationRulePattern" + } + }, + "columnPatterns": { + "type": "array", + "items": { + "$ref": "#/definitions/ClassificationRulePattern" + } + }, + "description": { + "type": "string" + }, + "version": { + "format": "int32", + "type": "integer", + "readOnly": true + }, + "classificationName": { + "type": "string" + }, + "ruleStatus": { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ClassificationRuleStatus", + "modelAsString": true + } + }, + "createdAt": { + "format": "date-time", + "type": "string", + "readOnly": true + }, + "lastModifiedAt": { + "format": "date-time", + "type": "string", + "readOnly": true + } + } + }, + "CustomClassificationRule": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ClassificationRule" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/CustomClassificationRuleProperties" + } + ] + } + }, + "x-ms-discriminator-value": "Custom" + }, + "RegexClassificationRulePattern": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ClassificationRulePattern" + } + ], + "properties": { + "pattern": { + "type": "string" + } + }, + "x-ms-discriminator-value": "Regex" + }, + "DataSourceProperties": { + "type": "object", + "properties": { + "createdAt": { + "format": "date-time", + "type": "string", + "readOnly": true + }, + "lastModifiedAt": { + "format": "date-time", + "type": "string", + "readOnly": true + }, + "collection": { + "allOf": [ + { + "$ref": "#/definitions/CollectionReference" + } + ] + } + } + }, + "AzureSubscriptionProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSourceProperties" + } + ], + "properties": { + "subscriptionId": { + "type": "string" + } + } + }, + "AzureSubscriptionDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSubscriptionProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSubscription" + }, + "AzureResourceGroupProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSourceProperties" + } + ], + "properties": { + "subscriptionId": { + "type": "string" + }, + "resourceGroup": { + "type": "string" + } + } + }, + "AzureResourceGroupDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureResourceGroupProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureResourceGroup" + }, + "AzureDataSourceProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSourceProperties" + } + ], + "properties": { + "resourceGroup": { + "type": "string" + }, + "subscriptionId": { + "type": "string" + }, + "location": { + "type": "string" + }, + "resourceName": { + "type": "string" + } + } + }, + "AzureSynapseWorkspaceProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureDataSourceProperties" + } + ], + "properties": { + "dedicatedSqlEndpoint": { + "type": "string" + }, + "serverlessSqlEndpoint": { + "type": "string" + } + } + }, + "AzureSynapseWorkspaceDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSynapseWorkspaceProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSynapseWorkspace" + }, + "AzureSynapseProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureDataSourceProperties" + } + ], + "properties": { + "sqlEndpoint": { + "type": "string" + }, + "sqlOnDemandEndpoint": { + "type": "string" + } + } + }, + "AzureSynapseDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSynapseProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSynapse" + }, + "AdlsGen1Properties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureDataSourceProperties" + } + ], + "properties": { + "endpoint": { + "type": "string" + } + } + }, + "AdlsGen1DataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AdlsGen1Properties" + } + ] + } + }, + "x-ms-discriminator-value": "AdlsGen1" + }, + "AdlsGen2Properties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureDataSourceProperties" + } + ], + "properties": { + "endpoint": { + "type": "string" + } + } + }, + "AdlsGen2DataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AdlsGen2Properties" + } + ] + } + }, + "x-ms-discriminator-value": "AdlsGen2" + }, + "AmazonAccountProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSourceProperties" + } + ], + "properties": { + "awsAccountId": { + "type": "string" + }, + "roleARN": { + "type": "string" + } + } + }, + "AmazonAccountDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AmazonAccountProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AmazonAccount" + }, + "AmazonS3Properties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSourceProperties" + } + ], + "properties": { + "serviceUrl": { + "type": "string" + }, + "roleARN": { + "type": "string" + } + } + }, + "AmazonS3DataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AmazonS3Properties" + } + ] + } + }, + "x-ms-discriminator-value": "AmazonS3" + }, + "AmazonSqlProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSourceProperties" + } + ], + "properties": { + "serverEndpoint": { + "type": "string" + }, + "port": { + "format": "int32", + "type": "integer" + }, + "vpcEndpointServiceName": { + "type": "string" + } + } + }, + "AmazonSqlDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AmazonSqlProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AmazonSql" + }, + "AzureCosmosDbProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureDataSourceProperties" + } + ], + "properties": { + "accountUri": { + "type": "string" + } + } + }, + "AzureCosmosDbDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureCosmosDbProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureCosmosDb" + }, + "AzureDataExplorerProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureDataSourceProperties" + } + ], + "properties": { + "endpoint": { + "type": "string" + } + } + }, + "AzureDataExplorerDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureDataExplorerProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureDataExplorer" + }, + "AzureFileServiceProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureDataSourceProperties" + } + ], + "properties": { + "endpoint": { + "type": "string" + } + } + }, + "AzureFileServiceDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureFileServiceProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureFileService" + }, + "AzureSqlDatabaseProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureDataSourceProperties" + } + ], + "properties": { + "serverEndpoint": { + "type": "string" + } + } + }, + "AzureSqlDatabaseDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSqlDatabaseProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSqlDatabase" + }, + "AmazonPostgreSqlProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSourceProperties" + } + ], + "properties": { + "serverEndpoint": { + "type": "string" + }, + "port": { + "format": "int32", + "type": "integer" + }, + "vpcEndpointServiceName": { + "type": "string" + } + } + }, + "AmazonPostgreSqlDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AmazonPostgreSqlProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AmazonPostgreSql" + }, + "AzurePostgreSqlProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureDataSourceProperties" + } + ], + "properties": { + "serverEndpoint": { + "type": "string" + }, + "port": { + "format": "int32", + "type": "integer" + } + } + }, + "AzurePostgreSqlDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzurePostgreSqlProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzurePostgreSql" + }, + "SqlServerDatabaseProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureDataSourceProperties" + } + ], + "properties": { + "serverEndpoint": { + "type": "string" + } + } + }, + "SqlServerDatabaseDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/SqlServerDatabaseProperties" + } + ] + } + }, + "x-ms-discriminator-value": "SqlServerDatabase" + }, + "AzureSqlDatabaseManagedInstanceProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureDataSourceProperties" + } + ], + "properties": { + "serverEndpoint": { + "type": "string" + } + } + }, + "AzureSqlDatabaseManagedInstanceDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSqlDatabaseManagedInstanceProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSqlDatabaseManagedInstance" + }, + "AzureSqlDataWarehouseProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureDataSourceProperties" + } + ], + "properties": { + "serverEndpoint": { + "type": "string" + } + } + }, + "AzureSqlDataWarehouseDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSqlDataWarehouseProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSqlDataWarehouse" + }, + "AzureMySqlProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureDataSourceProperties" + } + ], + "properties": { + "serverEndpoint": { + "type": "string" + }, + "port": { + "format": "int32", + "type": "integer" + } + } + }, + "AzureMySqlDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureMySqlProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureMySql" + }, + "AzureStorageProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureDataSourceProperties" + } + ], + "properties": { + "endpoint": { + "type": "string" + } + } + }, + "AzureStorageDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureStorageProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureStorage" + }, + "TeradataProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSourceProperties" + } + ], + "properties": { + "host": { + "type": "string" + } + } + }, + "TeradataDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/TeradataProperties" + } + ] + } + }, + "x-ms-discriminator-value": "Teradata" + }, + "OracleProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSourceProperties" + } + ], + "properties": { + "host": { + "type": "string" + }, + "port": { + "type": "string" + }, + "service": { + "type": "string" + } + } + }, + "OracleDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/OracleProperties" + } + ] + } + }, + "x-ms-discriminator-value": "Oracle" + }, + "SapS4HanaProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSourceProperties" + } + ], + "properties": { + "applicationServer": { + "type": "string" + }, + "systemNumber": { + "type": "string" + } + } + }, + "SapS4HanaDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/SapS4HanaProperties" + } + ] + } + }, + "x-ms-discriminator-value": "SapS4Hana" + }, + "SapEccProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSourceProperties" + } + ], + "properties": { + "applicationServer": { + "type": "string" + }, + "systemNumber": { + "type": "string" + } + } + }, + "SapEccDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/SapEccProperties" + } + ] + } + }, + "x-ms-discriminator-value": "SapEcc" + }, + "PowerBIProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSourceProperties" + } + ], + "properties": { + "tenant": { + "type": "string" + } + } + }, + "PowerBIDataSource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSource" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/PowerBIProperties" + } + ] + } + }, + "x-ms-discriminator-value": "PowerBI" + }, + "ScanRulesetProperties": { + "type": "object", + "properties": { + "createdAt": { + "format": "date-time", + "type": "string", + "readOnly": true + }, + "description": { + "type": "string" + }, + "excludedSystemClassifications": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "includedCustomClassificationRuleNames": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "lastModifiedAt": { + "format": "date-time", + "type": "string", + "readOnly": true + } + } + }, + "AzureSubscriptionScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "AzureSubscriptionScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSubscriptionScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSubscription" + }, + "AzureResourceGroupScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "AzureResourceGroupScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureResourceGroupScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureResourceGroup" + }, + "AzureSynapseWorkspaceScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "AzureSynapseWorkspaceScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSynapseWorkspaceScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSynapseWorkspace" + }, + "AzureSynapseScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "AzureSynapseScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSynapseScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSynapse" + }, + "CustomFileType": { + "type": "object", + "properties": { + "builtInType": { + "enum": [ + "AVRO", + "ORC", + "PARQUET", + "JSON", + "TXT", + "XML", + "Documents", + "CSV", + "PSV", + "SSV", + "TSV", + "GZ", + "DOC", + "DOCM", + "DOCX", + "DOT", + "ODP", + "ODS", + "ODT", + "PDF", + "POT", + "PPS", + "PPSX", + "PPT", + "PPTM", + "PPTX", + "XLC", + "XLS", + "XLSB", + "XLSM", + "XLSX", + "XLT" + ], + "type": "string", + "x-ms-enum": { + "name": "FileExtensionsType", + "modelAsString": true + } + }, + "customDelimiter": { + "type": "string" + } + } + }, + "CustomFileExtension": { + "type": "object", + "properties": { + "customFileType": { + "allOf": [ + { + "$ref": "#/definitions/CustomFileType" + } + ] + }, + "description": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "fileExtension": { + "type": "string" + } + } + }, + "ScanningRule": { + "type": "object", + "properties": { + "fileExtensions": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "AVRO", + "ORC", + "PARQUET", + "JSON", + "TXT", + "XML", + "Documents", + "CSV", + "PSV", + "SSV", + "TSV", + "GZ", + "DOC", + "DOCM", + "DOCX", + "DOT", + "ODP", + "ODS", + "ODT", + "PDF", + "POT", + "PPS", + "PPSX", + "PPT", + "PPTM", + "PPTX", + "XLC", + "XLS", + "XLSB", + "XLSM", + "XLSX", + "XLT" + ], + "type": "string", + "x-ms-enum": { + "name": "FileExtensionsType", + "modelAsString": true + } + } + }, + "customFileExtensions": { + "uniqueItems": true, + "type": "array", + "items": { + "$ref": "#/definitions/CustomFileExtension" + } + } + } + }, + "ScanningRuleScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ], + "properties": { + "scanningRule": { + "allOf": [ + { + "$ref": "#/definitions/ScanningRule" + } + ] + } + } + }, + "AdlsGen1ScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanningRuleScanRulesetProperties" + } + ] + }, + "AdlsGen1ScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AdlsGen1ScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AdlsGen1" + }, + "AdlsGen2ScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanningRuleScanRulesetProperties" + } + ] + }, + "AdlsGen2ScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AdlsGen2ScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AdlsGen2" + }, + "AmazonAccountScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "AmazonAccountScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AmazonAccountScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AmazonAccount" + }, + "AmazonS3ScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanningRuleScanRulesetProperties" + } + ] + }, + "AmazonS3ScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AmazonS3ScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AmazonS3" + }, + "AmazonSqlScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "AmazonSqlScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AmazonSqlScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AmazonSql" + }, + "AzureCosmosDbScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "AzureCosmosDbScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureCosmosDbScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureCosmosDb" + }, + "AzureDataExplorerScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "AzureDataExplorerScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureDataExplorerScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureDataExplorer" + }, + "AzureFileServiceScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanningRuleScanRulesetProperties" + } + ] + }, + "AzureFileServiceScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureFileServiceScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureFileService" + }, + "AzureSqlDatabaseScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "AzureSqlDatabaseScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSqlDatabaseScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSqlDatabase" + }, + "AmazonPostgreSqlScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "AmazonPostgreSqlScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AmazonPostgreSqlScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AmazonPostgreSql" + }, + "AzurePostgreSqlScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "AzurePostgreSqlScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzurePostgreSqlScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzurePostgreSql" + }, + "SqlServerDatabaseScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "SqlServerDatabaseScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/SqlServerDatabaseScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "SqlServerDatabase" + }, + "AzureSqlDatabaseManagedInstanceScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "AzureSqlDatabaseManagedInstanceScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSqlDatabaseManagedInstanceScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSqlDatabaseManagedInstance" + }, + "AzureSqlDataWarehouseScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "AzureSqlDataWarehouseScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSqlDataWarehouseScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSqlDataWarehouse" + }, + "AzureMySqlScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "AzureMySqlScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureMySqlScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureMySql" + }, + "AzureStorageScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanningRuleScanRulesetProperties" + } + ] + }, + "AzureStorageScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureStorageScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureStorage" + }, + "TeradataScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "TeradataScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/TeradataScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "Teradata" + }, + "OracleScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "OracleScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/OracleScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "Oracle" + }, + "SapS4HanaScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "SapS4HanaScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/SapS4HanaScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "SapS4Hana" + }, + "SapEccScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "SapEccScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/SapEccScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "SapEcc" + }, + "PowerBIScanRulesetProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRulesetProperties" + } + ] + }, + "PowerBIScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/PowerBIScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "PowerBI" + }, + "ResourceNameFilter": { + "type": "object", + "properties": { + "excludePrefixes": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "includePrefixes": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "resources": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CredentialReference": { + "type": "object", + "properties": { + "referenceName": { + "type": "string" + }, + "credentialType": { + "enum": [ + "AccountKey", + "ServicePrincipal", + "BasicAuth", + "SqlAuth", + "AmazonARN" + ], + "type": "string", + "x-ms-enum": { + "name": "CredentialType", + "modelAsString": true + } + } + } + }, + "ResourceTypeFilter": { + "type": "object", + "properties": { + "scanRulesetName": { + "type": "string" + }, + "scanRulesetType": { + "enum": [ + "Custom", + "System" + ], + "type": "string", + "x-ms-enum": { + "name": "ScanRulesetType", + "modelAsString": true + } + }, + "resourceNameFilter": { + "allOf": [ + { + "$ref": "#/definitions/ResourceNameFilter" + } + ] + }, + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + } + } + }, + "ConnectedVia": { + "type": "object", + "properties": { + "referenceName": { + "type": "string" + } + } + }, + "ScanProperties": { + "type": "object", + "properties": { + "scanRulesetName": { + "type": "string" + }, + "scanRulesetType": { + "enum": [ + "Custom", + "System" + ], + "type": "string", + "x-ms-enum": { + "name": "ScanRulesetType", + "modelAsString": true + } + }, + "collection": { + "allOf": [ + { + "$ref": "#/definitions/CollectionReference" + } + ] + }, + "workers": { + "format": "int32", + "type": "integer" + }, + "createdAt": { + "format": "date-time", + "type": "string", + "readOnly": true + }, + "lastModifiedAt": { + "format": "date-time", + "type": "string", + "readOnly": true + }, + "connectedVia": { + "allOf": [ + { + "$ref": "#/definitions/ConnectedVia" + } + ] + } + } + }, + "ExpandingResourceScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "resourceTypes": { + "type": "object", + "properties": { + "None": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AzureSubscription": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AzureResourceGroup": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AzureSynapseWorkspace": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AzureSynapse": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AdlsGen1": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AdlsGen2": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AmazonAccount": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AmazonS3": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AmazonSql": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AzureCosmosDb": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AzureDataExplorer": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AzureFileService": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AzureSqlDatabase": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AmazonPostgreSql": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AzurePostgreSql": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "SqlServerDatabase": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AzureSqlDatabaseManagedInstance": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AzureSqlDataWarehouse": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AzureMySql": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "AzureStorage": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "Teradata": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "Oracle": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "SapS4Hana": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "SapEcc": { + "$ref": "#/definitions/ResourceTypeFilter" + }, + "PowerBI": { + "$ref": "#/definitions/ResourceTypeFilter" + } + } + }, + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + } + } + }, + "AzureSubscriptionCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ExpandingResourceScanProperties" + } + ] + }, + "AzureSubscriptionCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSubscriptionCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSubscriptionCredential" + }, + "AzureSubscriptionMsiScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ExpandingResourceScanProperties" + } + ] + }, + "AzureSubscriptionMsiScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSubscriptionMsiScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSubscriptionMsi" + }, + "AzureResourceGroupCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ExpandingResourceScanProperties" + } + ] + }, + "AzureResourceGroupCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureResourceGroupCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureResourceGroupCredential" + }, + "AzureResourceGroupMsiScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ExpandingResourceScanProperties" + } + ] + }, + "AzureResourceGroupMsiScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureResourceGroupMsiScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureResourceGroupMsi" + }, + "AzureSynapseWorkspaceCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ExpandingResourceScanProperties" + } + ] + }, + "AzureSynapseWorkspaceCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSynapseWorkspaceCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSynapseWorkspaceCredential" + }, + "AzureSynapseWorkspaceMsiScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ExpandingResourceScanProperties" + } + ] + }, + "AzureSynapseWorkspaceMsiScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSynapseWorkspaceMsiScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSynapseWorkspaceMsi" + }, + "AzureSynapseCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ExpandingResourceScanProperties" + } + ] + }, + "AzureSynapseCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSynapseCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSynapseCredential" + }, + "AzureSynapseMsiScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ExpandingResourceScanProperties" + } + ] + }, + "AzureSynapseMsiScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSynapseMsiScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSynapseMsi" + }, + "AdlsGen1CredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + } + } + }, + "AdlsGen1CredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AdlsGen1CredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AdlsGen1Credential" + }, + "AdlsGen1MsiScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ] + }, + "AdlsGen1MsiScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AdlsGen1MsiScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AdlsGen1Msi" + }, + "AdlsGen2CredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + } + } + }, + "AdlsGen2CredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AdlsGen2CredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AdlsGen2Credential" + }, + "AdlsGen2MsiScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ] + }, + "AdlsGen2MsiScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AdlsGen2MsiScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AdlsGen2Msi" + }, + "AmazonAccountCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ExpandingResourceScanProperties" + } + ] + }, + "AmazonAccountCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AmazonAccountCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AmazonAccountCredential" + }, + "AmazonS3CredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + }, + "roleARN": { + "type": "string" + }, + "isMauiScan": { + "type": "boolean" + } + } + }, + "AmazonS3CredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AmazonS3CredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AmazonS3Credential" + }, + "AmazonS3RoleARNScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + }, + "roleARN": { + "type": "string" + }, + "isMauiScan": { + "type": "boolean" + } + } + }, + "AmazonS3RoleARNScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AmazonS3RoleARNScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AmazonS3RoleARN" + }, + "AmazonSqlCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + }, + "serverEndpoint": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "format": "int32", + "type": "integer" + }, + "vpcEndpointServiceName": { + "type": "string" + } + } + }, + "AmazonSqlCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AmazonSqlCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AmazonSqlCredential" + }, + "AzureCosmosDbCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + }, + "databaseName": { + "type": "string" + } + } + }, + "AzureCosmosDbCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureCosmosDbCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureCosmosDbCredential" + }, + "AzureDataExplorerCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + }, + "database": { + "type": "string" + } + } + }, + "AzureDataExplorerCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureDataExplorerCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureDataExplorerCredential" + }, + "AzureDataExplorerMsiScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "database": { + "type": "string" + } + } + }, + "AzureDataExplorerMsiScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureDataExplorerMsiScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureDataExplorerMsi" + }, + "AzureFileServiceCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + }, + "shareName": { + "type": "string" + } + } + }, + "AzureFileServiceCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureFileServiceCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureFileServiceCredential" + }, + "AzureSqlScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "serverEndpoint": { + "type": "string" + }, + "databaseName": { + "type": "string" + } + } + }, + "AzureSqlCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureSqlScanProperties" + } + ], + "properties": { + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + } + } + }, + "AzureSqlDatabaseCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureSqlCredentialScanProperties" + } + ] + }, + "AzureSqlDatabaseCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSqlDatabaseCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSqlDatabaseCredential" + }, + "AzureSqlDatabaseMsiScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureSqlScanProperties" + } + ] + }, + "AzureSqlDatabaseMsiScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSqlDatabaseMsiScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSqlDatabaseMsi" + }, + "AmazonPostgreSqlCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + }, + "serverEndpoint": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "format": "int32", + "type": "integer" + }, + "vpcEndpointServiceName": { + "type": "string" + } + } + }, + "AmazonPostgreSqlCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AmazonPostgreSqlCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AmazonPostgreSqlCredential" + }, + "AmazonPostgreSqlRoleARNScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + }, + "serverEndpoint": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "format": "int32", + "type": "integer" + }, + "vpcEndpointServiceName": { + "type": "string" + } + } + }, + "AmazonPostgreSqlRoleARNScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AmazonPostgreSqlRoleARNScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AmazonPostgreSqlRoleARN" + }, + "AzurePostgreSqlCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + }, + "serverEndpoint": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "format": "int32", + "type": "integer" + }, + "sslMode": { + "format": "int32", + "type": "integer" + } + } + }, + "AzurePostgreSqlCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzurePostgreSqlCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzurePostgreSqlCredential" + }, + "SqlServerDatabaseCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureSqlCredentialScanProperties" + } + ] + }, + "SqlServerDatabaseCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/SqlServerDatabaseCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "SqlServerDatabaseCredential" + }, + "AzureSqlDatabaseManagedInstanceCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureSqlCredentialScanProperties" + } + ] + }, + "AzureSqlDatabaseManagedInstanceCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSqlDatabaseManagedInstanceCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSqlDatabaseManagedInstanceCredential" + }, + "AzureSqlDatabaseManagedInstanceMsiScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureSqlScanProperties" + } + ] + }, + "AzureSqlDatabaseManagedInstanceMsiScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSqlDatabaseManagedInstanceMsiScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSqlDatabaseManagedInstanceMsi" + }, + "AzureSqlDataWarehouseCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureSqlCredentialScanProperties" + } + ] + }, + "AzureSqlDataWarehouseCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSqlDataWarehouseCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSqlDataWarehouseCredential" + }, + "AzureSqlDataWarehouseMsiScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureSqlScanProperties" + } + ] + }, + "AzureSqlDataWarehouseMsiScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSqlDataWarehouseMsiScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureSqlDataWarehouseMsi" + }, + "AzureMySqlScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "serverEndpoint": { + "type": "string" + }, + "port": { + "format": "int32", + "type": "integer" + }, + "databaseName": { + "type": "string" + }, + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + } + } + }, + "AzureMySqlCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureMySqlScanProperties" + } + ] + }, + "AzureMySqlCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureMySqlCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureMySqlCredential" + }, + "MitiScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "maximumMemoryAllowedInGb": { + "type": "string" + }, + "mitiCache": { + "type": "string" + } + } + }, + "AzureStorageCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + } + } + }, + "AzureStorageCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureStorageCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureStorageCredential" + }, + "AzureStorageMsiScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ] + }, + "AzureStorageMsiScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureStorageMsiScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "AzureStorageMsi" + }, + "TeradataTeradataCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MitiScanProperties" + } + ], + "properties": { + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + }, + "schema": { + "type": "string" + }, + "driverLocation": { + "type": "string" + } + } + }, + "TeradataTeradataCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/TeradataTeradataCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "TeradataTeradataCredential" + }, + "TeradataUserPassScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + } + } + }, + "TeradataUserPassScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/TeradataUserPassScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "TeradataUserPass" + }, + "TeradataTeradataUserPassScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MitiScanProperties" + } + ], + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "schema": { + "type": "string" + }, + "driverLocation": { + "type": "string" + } + } + }, + "TeradataTeradataUserPassScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/TeradataTeradataUserPassScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "TeradataTeradataUserPass" + }, + "OracleOracleCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MitiScanProperties" + } + ], + "properties": { + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + }, + "schema": { + "type": "string" + }, + "driverLocation": { + "type": "string" + } + } + }, + "OracleOracleCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/OracleOracleCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "OracleOracleCredential" + }, + "OracleOracleUserPassScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MitiScanProperties" + } + ], + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "schema": { + "type": "string" + }, + "driverLocation": { + "type": "string" + } + } + }, + "OracleOracleUserPassScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/OracleOracleUserPassScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "OracleOracleUserPass" + }, + "SapS4HanaSapS4HanaCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MitiScanProperties" + } + ], + "properties": { + "clientId": { + "type": "string" + }, + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + }, + "jCoLibraryPath": { + "type": "string" + } + } + }, + "SapS4HanaSapS4HanaCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/SapS4HanaSapS4HanaCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "SapS4HanaSapS4HanaCredential" + }, + "SapS4HanaSapS4HanaUserPassScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MitiScanProperties" + } + ], + "properties": { + "clientId": { + "type": "string" + }, + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "jCoLibraryPath": { + "type": "string" + } + } + }, + "SapS4HanaSapS4HanaUserPassScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/SapS4HanaSapS4HanaUserPassScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "SapS4HanaSapS4HanaUserPass" + }, + "SapEccSapEccCredentialScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MitiScanProperties" + } + ], + "properties": { + "clientId": { + "type": "string" + }, + "credential": { + "allOf": [ + { + "$ref": "#/definitions/CredentialReference" + } + ] + }, + "jCoLibraryPath": { + "type": "string" + } + } + }, + "SapEccSapEccCredentialScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/SapEccSapEccCredentialScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "SapEccSapEccCredential" + }, + "SapEccSapEccUserPassScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MitiScanProperties" + } + ], + "properties": { + "clientId": { + "type": "string" + }, + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "jCoLibraryPath": { + "type": "string" + } + } + }, + "SapEccSapEccUserPassScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/SapEccSapEccUserPassScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "SapEccSapEccUserPass" + }, + "PowerBIDelegatedScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "tenant": { + "type": "string" + }, + "authenticationType": { + "type": "string" + }, + "clientId": { + "type": "string" + }, + "userName": { + "type": "string" + }, + "password": { + "type": "string" + }, + "includePersonalWorkspaces": { + "type": "boolean" + } + } + }, + "PowerBIDelegatedScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/PowerBIDelegatedScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "PowerBIDelegated" + }, + "PowerBIMsiScanProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScanProperties" + } + ], + "properties": { + "includePersonalWorkspaces": { + "type": "boolean" + } + } + }, + "PowerBIMsiScan": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Scan" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/PowerBIMsiScanProperties" + } + ] + } + }, + "x-ms-discriminator-value": "PowerBIMsi" + }, + "AzureSubscriptionSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSubscriptionScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "AzureResourceGroupSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureResourceGroupScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "AzureSynapseWorkspaceSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSynapseWorkspaceScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "AzureSynapseSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSynapseScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "AdlsGen1SystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AdlsGen1ScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "AdlsGen2SystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AdlsGen2ScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "AmazonAccountSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AmazonAccountScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "AmazonS3SystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AmazonS3ScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "AmazonSqlSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AmazonSqlScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "AzureCosmosDbSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureCosmosDbScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "AzureDataExplorerSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureDataExplorerScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "AzureFileServiceSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureFileServiceScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "AzureSqlDatabaseSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSqlDatabaseScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "AmazonPostgreSqlSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AmazonPostgreSqlScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "AzurePostgreSqlSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzurePostgreSqlScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "SqlServerDatabaseSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/SqlServerDatabaseScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "AzureSqlDatabaseManagedInstanceSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSqlDatabaseManagedInstanceScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "AzureSqlDataWarehouseSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureSqlDataWarehouseScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "AzureMySqlSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureMySqlScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "AzureStorageSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AzureStorageScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "TeradataSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/TeradataScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "OracleSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/OracleScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "SapS4HanaSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/SapS4HanaScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "SapEccSystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/SapEccScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + }, + "PowerBISystemScanRuleset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SystemScanRuleset" + } + ], + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/PowerBIScanRulesetProperties" + } + ] + } + }, + "x-ms-discriminator-value": "None" + } + }, + "parameters": { + "api-version": { + "in": "query", + "name": "api-version", + "description": "The api version to use.", + "required": true, + "type": "string", + "x-ms-client-name": "ApiVersion" + }, + "Endpoint": { + "in": "path", + "name": "Endpoint", + "description": "The scanning endpoint of your purview account. Example: https://{accountName}.purview.azure.com", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "x-ms-skip-url-encoding": true + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow." + } + } +} diff --git a/specification/purview/data-plane/readme.md b/specification/purview/data-plane/readme.md index 4376eab9b308..028cb9b77d12 100644 --- a/specification/purview/data-plane/readme.md +++ b/specification/purview/data-plane/readme.md @@ -24,7 +24,7 @@ These are the global settings for the Azure Purview Catalog API. ``` yaml openapi-type: data-plane -tag: package-2021-09-01 +tag: package-2021-05-01-preview ``` @@ -37,17 +37,8 @@ input-file: - Azure.Analytics.Purview.Catalog/preview/2021-05-01-preview/purviewcatalog.json ``` -### Tag: package-2021-09-01 -These settings apply only when `--tag=package-2021-09-01` is specified on the command line. - -``` yaml $(tag) == 'package-2021-09-01' -input-file: -- Azure.Analytics.Purview.Catalog/preview/2021-09-01/purviewcatalog.json -``` - - -These are the global settings for the Purview API. +These are the global settings for the Purview Scanning API. ``` yaml openapi-type: data-plane @@ -67,22 +58,31 @@ modelerfour: lenient-model-deduplication: true ``` +These settings apply only when `--tag=package-2021-10-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2021-10-01-preview' +input-file: +- Azure.Analytics.Purview.Scanning/preview/2021-10-01-preview/scanningService.json +modelerfour: + lenient-model-deduplication: true +``` + These are the global settings for the Purview API. ``` yaml openapi-type: data-plane -tag: package-2021-07-01 +tag: package-2021-07-01-preview title: PurviewMetadataPolicyClient ``` -### Tag: package-2021-07-01 +### Tag: package-2021-07-01-preview -These settings apply only when `--tag=package-2021-07-01` is specified on the command line. +These settings apply only when `--tag=package-2021-07-01-preview` is specified on the command line. -``` yaml $(tag) == 'package-2021-07-01' +``` yaml $(tag) == 'package-2021-07-01-preview' input-file: -- Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/purviewMetadataPolicy.json +- Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/purviewMetadataPolicy.json modelerfour: lenient-model-deduplication: true ``` diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/jobDelete.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/jobDelete.json new file mode 100644 index 000000000000..705e0ea4d43c --- /dev/null +++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/jobDelete.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "jobId": "a0f7adb6-0378-11eb-9463-2816a847b9a3", + "resourceGroupName": "quantumResourcegroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceName": "quantumworkspace1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/jobGet.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/jobGet.json new file mode 100644 index 000000000000..0898d12ebedd --- /dev/null +++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/jobGet.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "jobId": "a0f7adb6-0378-11eb-9463-2816a847b9a3", + "resourceGroupName": "quantumResourcegroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceName": "quantumworkspace1" + }, + "responses": { + "200": { + "body": { + "name": "tabu-demo", + "id": "a0f7adb6-0378-11eb-9463-2816a847b9a3", + "beginExecutionTime": "2020-09-30T23:57:11.5659691Z", + "cancellationTime": null, + "containerUri": "https://storage.blob.core.windows.net/job-a0f7adb6-0378-11eb-9463-2816a847b9a3?sv=2019-02-02&sr=c&sig=mhbf4fluypvLtgXwN5a7iWMygL6b9ojM4EnCC%2F8BZBg%3D&se=2020-10-01T11%3A57%3A01Z&sp=rcw", + "creationTime": "2020-09-30T23:57:02.3737928+00:00", + "endExecutionTime": "2020-09-30T23:57:11.6180743Z", + "errorData": null, + "inputDataFormat": "microsoft.qio.v2", + "inputDataUri": "https://storage.blob.core.windows.net/job-a0f7adb6-0378-11eb-9463-2816a847b9a3/inputData?sv=2019-02-02&sr=b&sig=MtgxZEmrCv%2FmeQWFUe6%2Bx9tViSrhxSxYr6euGGHtWnw%3D&se=2020-10-01T11%3A57%3A01Z&sp=rcw", + "inputParams": { + "params": { + "sweeps": 300 + } + }, + "metadata": null, + "outputDataFormat": "microsoft.qio-results.v2", + "outputDataUri": "https://storage.blob.core.windows.net/job-a0f7adb6-0378-11eb-9463-2816a847b9a3/rawOutputData?sv=2019-02-02&sr=c&sig=mhbf4fluypvLtgXwN5a7iWMygL6b9ojM4EnCC%2F8BZBg%3D&se=2020-10-01T11%3A57%3A01Z&sp=rcw", + "providerId": "microsoft", + "status": "Succeeded", + "target": "microsoft.tabu.cpu", + "costEstimate": { + "currencyCode": "USD", + "events": [ + { + "dimensionId": "jobhours", + "dimensionName": "Job Hours", + "measureUnit": "Hours", + "amountBilled": 0.5, + "amountConsumed": 0.5, + "unitPrice": 0.01 + } + ], + "estimatedTotal": 0.005 + }, + "tags": [ + "tag1", + "new" + ] + } + } + } +} diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/jobList.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/jobList.json new file mode 100644 index 000000000000..3d30d4e69b6e --- /dev/null +++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/jobList.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "resourceGroupName": "quantumResourcegroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceName": "quantumworkspace1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "tabu-demo", + "id": "a0f7adb6-0378-11eb-9463-2816a847b9a3", + "beginExecutionTime": "2020-09-30T23:57:11.5659691Z", + "cancellationTime": null, + "containerUri": "https://storage.blob.core.windows.net/job-a0f7adb6-0378-11eb-9463-2816a847b9a3?sv=2019-02-02&sr=c&sig=mhbf4fluypvLtgXwN5a7iWMygL6b9ojM4EnCC%2F8BZBg%3D&se=2020-10-01T11%3A57%3A01Z&sp=rcw", + "creationTime": "2020-09-30T23:57:02.3737928+00:00", + "endExecutionTime": "2020-09-30T23:57:11.6180743Z", + "errorData": null, + "inputDataFormat": "microsoft.qio.v2", + "inputDataUri": "https://storage.blob.core.windows.net/job-a0f7adb6-0378-11eb-9463-2816a847b9a3/inputData?sv=2019-02-02&sr=b&sig=MtgxZEmrCv%2FmeQWFUe6%2Bx9tViSrhxSxYr6euGGHtWnw%3D&se=2020-10-01T11%3A57%3A01Z&sp=rcw", + "inputParams": { + "params": { + "sweeps": 300 + } + }, + "metadata": null, + "outputDataFormat": "microsoft.qio-results.v2", + "outputDataUri": "https://storage.blob.core.windows.net/job-a0f7adb6-0378-11eb-9463-2816a847b9a3/rawOutputData?sv=2019-02-02&sr=c&sig=mhbf4fluypvLtgXwN5a7iWMygL6b9ojM4EnCC%2F8BZBg%3D&se=2020-10-01T11%3A57%3A01Z&sp=rcw", + "providerId": "microsoft", + "status": "Succeeded", + "target": "microsoft.tabu.cpu", + "tags": [ + "tag1" + ] + }, + { + "id": "ab1aeddd-f191-4884-b8a9-13cdfa020fc6", + "name": "Superposition: true", + "beginExecutionTime": "2020-09-18T23:25:45.781389Z", + "cancellationTime": null, + "containerUri": "https://storage.blob.core.windows.net/quantum-job-ab1aeddd-f191-4884-b8a9-13cdfa020fc6?sv=2019-02-02&sr=c&sig=xhQtyt7Forj1HtpEkBTJTXAMTuuEvN0dTssv2OZlUNk%3D&se=2020-09-25T23%3A25%3A32Z&sp=rcw", + "creationTime": "2020-09-18T23:25:33.5541484+00:00", + "endExecutionTime": "2020-09-18T23:25:53.911837Z", + "errorData": null, + "inputDataFormat": "microsoft.qci-ir.v1", + "inputDataUri": "https://storage.blob.core.windows.net/quantum-job-ab1aeddd-f191-4884-b8a9-13cdfa020fc6/inputData?sv=2019-02-02&sr=b&sig=nDMUBPqNskFDLq591NGBE4nVnCiQhXYQBhSiU4xseVY%3D&se=2020-09-19T00%3A25%3A33Z&sp=rcw", + "inputParams": { + "shots": "10" + }, + "metadata": { + "entryPointInput": "true", + "outputMappingBlobUri": "https://storage.blob.core.windows.net/quantum-job-ab1aeddd-f191-4884-b8a9-13cdfa020fc6/mappingData?sv=2019-02-02&sr=b&sig=k6Gvd396GUtBxJasU9muSzkYXPQb8utASRSz932MFiw%3D&se=2020-09-19T00%3A25%3A33Z&sp=rcw" + }, + "outputDataFormat": "microsoft.quantum-results.v1", + "outputDataUri": "https://storage.blob.core.windows.net/quantum-job-ab1aeddd-f191-4884-b8a9-13cdfa020fc6/outputData?sv=2019-02-02&sr=c&sig=xhQtyt7Forj1HtpEkBTJTXAMTuuEvN0dTssv2OZlUNk%3D&se=2020-09-25T23%3A25%3A32Z&sp=rcw", + "providerId": "qci", + "status": "Succeeded", + "target": "qci.simulator", + "tags": [ + "tag2" + ] + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/jobPatch.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/jobPatch.json new file mode 100644 index 000000000000..b474360410ca --- /dev/null +++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/jobPatch.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "jobId": "a0f7adb6-0378-11eb-9463-2816a847b9a3", + "resourceGroupName": "quantumResourcegroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceName": "quantumworkspace1", + "patchJob": [ + { + "op": "add", + "path": "/tags/-", + "value": "new_tag" + }, + { + "op": "remove", + "path": "/tags/0" + } + ] + }, + "responses": { + "200": { + "body": { + "name": "tabu-demo", + "id": "a0f7adb6-0378-11eb-9463-2816a847b9a3", + "beginExecutionTime": "2020-09-30T23:57:11.5659691Z", + "cancellationTime": null, + "containerUri": "https://storage.blob.core.windows.net/job-a0f7adb6-0378-11eb-9463-2816a847b9a3?sv=2019-02-02&sr=c&sig=mhbf4fluypvLtgXwN5a7iWMygL6b9ojM4EnCC%2F8BZBg%3D&se=2020-10-01T11%3A57%3A01Z&sp=rcw", + "creationTime": "2020-09-30T23:57:02.3737928+00:00", + "endExecutionTime": "2020-09-30T23:57:11.6180743Z", + "errorData": null, + "inputDataFormat": "microsoft.qio.v2", + "inputDataUri": "https://storage.blob.core.windows.net/job-a0f7adb6-0378-11eb-9463-2816a847b9a3/inputData?sv=2019-02-02&sr=b&sig=MtgxZEmrCv%2FmeQWFUe6%2Bx9tViSrhxSxYr6euGGHtWnw%3D&se=2020-10-01T11%3A57%3A01Z&sp=rcw", + "inputParams": { + "params": { + "sweeps": 300 + } + }, + "metadata": null, + "outputDataFormat": "microsoft.qio-results.v2", + "outputDataUri": "https://storage.blob.core.windows.net/job-a0f7adb6-0378-11eb-9463-2816a847b9a3/rawOutputData?sv=2019-02-02&sr=c&sig=mhbf4fluypvLtgXwN5a7iWMygL6b9ojM4EnCC%2F8BZBg%3D&se=2020-10-01T11%3A57%3A01Z&sp=rcw", + "providerId": "microsoft", + "status": "Succeeded", + "target": "microsoft.tabu.cpu", + "tags": [ + "tag2", + "new_tag" + ] + } + }, + "204": {} + } +} diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/jobPut.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/jobPut.json new file mode 100644 index 000000000000..b14fad3a2e7d --- /dev/null +++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/jobPut.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "jobId": "a0f7adb6-0378-11eb-9463-2816a847b9a3", + "resourceGroupName": "quantumResourcegroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceName": "quantumworkspace1", + "job": { + "name": "tabu-demo", + "id": "a0f7adb6-0378-11eb-9463-2816a847b9a3", + "containerUri": "https://storage.blob.core.windows.net/job-a0f7adb6-0378-11eb-9463-2816a847b9a3?sv=2019-02-02&sr=c&sig=mhbf4fluypvLtgXwN5a7iWMygL6b9ojM4EnCC%2F8BZBg%3D&se=2020-10-01T11%3A57%3A01Z&sp=rcw", + "inputDataFormat": "microsoft.qio.v2", + "inputDataUri": "https://storage.blob.core.windows.net/job-a0f7adb6-0378-11eb-9463-2816a847b9a3/inputData?sv=2019-02-02&sr=b&sig=MtgxZEmrCv%2FmeQWFUe6%2Bx9tViSrhxSxYr6euGGHtWnw%3D&se=2020-10-01T11%3A57%3A01Z&sp=rcw", + "inputParams": { + "params": { + "sweeps": 300 + } + }, + "outputDataFormat": "microsoft.qio-results.v2", + "outputDataUri": "https://storage.blob.core.windows.net/job-a0f7adb6-0378-11eb-9463-2816a847b9a3/rawOutputData?sv=2019-02-02&sr=c&sig=mhbf4fluypvLtgXwN5a7iWMygL6b9ojM4EnCC%2F8BZBg%3D&se=2020-10-01T11%3A57%3A01Z&sp=rcw", + "providerId": "microsoft", + "target": "microsoft.tabu.cpu", + "tags": [ + "tag1", + "tag_2" + ] + } + }, + "responses": { + "200": { + "body": { + "name": "tabu-demo", + "id": "a0f7adb6-0378-11eb-9463-2816a847b9a3", + "beginExecutionTime": "2020-09-30T23:57:11.5659691Z", + "cancellationTime": null, + "containerUri": "https://storage.blob.core.windows.net/job-a0f7adb6-0378-11eb-9463-2816a847b9a3?sv=2019-02-02&sr=c&sig=mhbf4fluypvLtgXwN5a7iWMygL6b9ojM4EnCC%2F8BZBg%3D&se=2020-10-01T11%3A57%3A01Z&sp=rcw", + "creationTime": "2020-09-30T23:57:02.3737928+00:00", + "endExecutionTime": "2020-09-30T23:57:11.6180743Z", + "errorData": null, + "inputDataFormat": "microsoft.qio.v2", + "inputDataUri": "https://storage.blob.core.windows.net/job-a0f7adb6-0378-11eb-9463-2816a847b9a3/inputData?sv=2019-02-02&sr=b&sig=MtgxZEmrCv%2FmeQWFUe6%2Bx9tViSrhxSxYr6euGGHtWnw%3D&se=2020-10-01T11%3A57%3A01Z&sp=rcw", + "inputParams": { + "params": { + "sweeps": 300 + } + }, + "metadata": null, + "outputDataFormat": "microsoft.qio-results.v2", + "outputDataUri": "https://storage.blob.core.windows.net/job-a0f7adb6-0378-11eb-9463-2816a847b9a3/rawOutputData?sv=2019-02-02&sr=c&sig=mhbf4fluypvLtgXwN5a7iWMygL6b9ojM4EnCC%2F8BZBg%3D&se=2020-10-01T11%3A57%3A01Z&sp=rcw", + "providerId": "microsoft", + "status": "Succeeded", + "target": "microsoft.tabu.cpu", + "tags": [ + "tag1", + "tag_2" + ] + } + }, + "201": { + "body": { + "name": "tabu-demo", + "id": "a0f7adb6-0378-11eb-9463-2816a847b9a3", + "beginExecutionTime": "2020-09-30T23:57:11.5659691Z", + "cancellationTime": null, + "containerUri": "https://storage.blob.core.windows.net/job-a0f7adb6-0378-11eb-9463-2816a847b9a3?sv=2019-02-02&sr=c&sig=mhbf4fluypvLtgXwN5a7iWMygL6b9ojM4EnCC%2F8BZBg%3D&se=2020-10-01T11%3A57%3A01Z&sp=rcw", + "creationTime": "2020-09-30T23:57:02.3737928+00:00", + "endExecutionTime": "2020-09-30T23:57:11.6180743Z", + "errorData": null, + "inputDataFormat": "microsoft.qio.v2", + "inputDataUri": "https://storage.blob.core.windows.net/job-a0f7adb6-0378-11eb-9463-2816a847b9a3/inputData?sv=2019-02-02&sr=b&sig=MtgxZEmrCv%2FmeQWFUe6%2Bx9tViSrhxSxYr6euGGHtWnw%3D&se=2020-10-01T11%3A57%3A01Z&sp=rcw", + "inputParams": { + "params": { + "sweeps": 300 + } + }, + "metadata": null, + "outputDataFormat": "microsoft.qio-results.v2", + "outputDataUri": "https://storage.blob.core.windows.net/job-a0f7adb6-0378-11eb-9463-2816a847b9a3/rawOutputData?sv=2019-02-02&sr=c&sig=mhbf4fluypvLtgXwN5a7iWMygL6b9ojM4EnCC%2F8BZBg%3D&se=2020-10-01T11%3A57%3A01Z&sp=rcw", + "providerId": "microsoft", + "status": "Succeeded", + "target": "microsoft.tabu.cpu", + "tags": [ + "tag1", + "tag_2" + ] + } + } + } +} diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/providerStatus.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/providerStatus.json new file mode 100644 index 000000000000..4369f518c3ec --- /dev/null +++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/providerStatus.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "resourceGroupName": "quantumResourcegroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceName": "quantumworkspace1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "Microsoft", + "currentAvailability": "Available", + "targets": [ + { + "id": "microsoft.paralleltempering-parameterfree.cpu", + "currentAvailability": "Available", + "averageQueueTime": 0, + "statusPage": null + }, + { + "id": "microsoft.paralleltempering.cpu", + "currentAvailability": "Available", + "averageQueueTime": 0, + "statusPage": null + }, + { + "id": "microsoft.simulatedannealing-parameterfree.cpu", + "currentAvailability": "Available", + "averageQueueTime": 0, + "statusPage": null + }, + { + "id": "microsoft.simulatedannealing.cpu", + "currentAvailability": "Available", + "averageQueueTime": 0, + "statusPage": null + }, + { + "id": "microsoft.tabu-parameterfree.cpu", + "currentAvailability": "Available", + "averageQueueTime": 0, + "statusPage": null + }, + { + "id": "microsoft.tabu.cpu", + "currentAvailability": "Available", + "averageQueueTime": 0, + "statusPage": null + }, + { + "id": "microsoft.simulatedannealing-parameterfree.fpga", + "currentAvailability": "Available", + "averageQueueTime": 0, + "statusPage": null + }, + { + "id": "microsoft.simulatedannealing.fpga", + "currentAvailability": "Available", + "averageQueueTime": 0, + "statusPage": null + } + ] + }, + { + "id": "ionq", + "currentAvailability": "Available", + "targets": [ + { + "id": "ionq.qpu", + "currentAvailability": "Available", + "averageQueueTime": 1679, + "statusPage": "https://status.ionq.co" + }, + { + "id": "ionq.simulator", + "currentAvailability": "Available", + "averageQueueTime": 0, + "statusPage": "https://status.ionq.co" + } + ] + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/quotaList.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/quotaList.json new file mode 100644 index 000000000000..4959efb267a5 --- /dev/null +++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/quotaList.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "resourceGroupName": "quantumResourcegroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceName": "quantumworkspace1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "dimension": "free_combined_job_hours", + "scope": "Subscription", + "providerId": "Microsoft", + "utilization": 0.001756120333333333, + "holds": 0.016666666666666666, + "limit": 15.0, + "period": "Monthly" + }, + { + "dimension": "free_fpga_job_hours", + "scope": "Workspace", + "providerId": "Microsoft", + "utilization": 0.0, + "holds": 0.0, + "limit": 0.25, + "period": "Monthly" + }, + { + "dimension": "free_combined_job_hours", + "scope": "Workspace", + "providerId": "Microsoft", + "utilization": 0.0017561203333333335, + "holds": 0.0, + "limit": 1.0, + "period": "Monthly" + }, + { + "dimension": "concurrent_cpu_jobs", + "scope": "Workspace", + "providerId": "Microsoft", + "utilization": 0.0, + "holds": 0.0, + "limit": 10.0, + "period": "None" + }, + { + "dimension": "concurrent_fpga_jobs", + "scope": "Workspace", + "providerId": "Microsoft", + "utilization": 0.0, + "holds": 0.0, + "limit": 1.0, + "period": "None" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/storageGet.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/storageGet.json new file mode 100644 index 000000000000..d968ec0660e6 --- /dev/null +++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/examples/storageGet.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "resourceGroupName": "quantumResourcegroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceName": "quantumworkspace1", + "blobDetails": { + "containerName": "some_container", + "blobName": "input_blob" + } + }, + "responses": { + "200": { + "body": { + "sasUri": "https://storage.blob.core.windows.net/some_container/input_blob?sv=2019-02-02&sr=b&sig=cdO24OOoXterLJVM8T6QpSaog3ST4PjQsDj3mLflfJA%3D&se=2020-10-17T10%3A03%3A01Z&sp=rcw" + } + } + } +} diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/quantum.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/quantum.json new file mode 100644 index 000000000000..e8f2caf2a891 --- /dev/null +++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2021-11-01-preview/quantum.json @@ -0,0 +1,815 @@ +{ + "swagger": "2.0", + "info": { + "title": "Quantum Client", + "description": "Azure Quantum REST API client", + "version": "2021-11-01-preview" + }, + "host": "quantum.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs": { + "get": { + "operationId": "Jobs_List", + "description": "List jobs.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/workspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/JobDetailsList" + } + } + }, + "x-ms-examples": { + "Get list of jobs in a Quantum Workspace": { + "$ref": "./examples/jobList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}": { + "get": { + "operationId": "Jobs_Get", + "description": "Get job by id", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/workspaceNameParameter" + }, + { + "$ref": "#/parameters/jobIdParameter" + } + ], + "x-ms-examples": { + "Get a job's metadata": { + "$ref": "./examples/jobGet.json" + } + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/RestError" + } + } + } + }, + "put": { + "operationId": "Jobs_Create", + "description": "Create a job.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/workspaceNameParameter" + }, + { + "$ref": "#/parameters/jobIdParameter" + }, + { + "name": "job", + "description": "The complete metadata of the job to submit.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JobDetails" + } + } + ], + "x-ms-examples": { + "Submit a new job for execution to a Quantum Workspace": { + "$ref": "./examples/jobPut.json" + } + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobDetails" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/JobDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/RestError" + } + } + } + }, + "delete": { + "operationId": "Jobs_Cancel", + "description": "Cancel a job.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/workspaceNameParameter" + }, + { + "$ref": "#/parameters/jobIdParameter" + } + ], + "x-ms-examples": { + "Cancel the execution of an existing job": { + "$ref": "./examples/jobDelete.json" + } + }, + "responses": { + "204": { + "description": "NoContent - The job was successfully cancelled." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/RestError" + } + } + } + }, + "patch": { + "operationId": "Jobs_Patch", + "description": "Patch a job.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/workspaceNameParameter" + }, + { + "$ref": "#/parameters/jobIdParameter" + }, + { + "name": "patchJob", + "description": "The json patch document containing the patch operations.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PatchRequest" + } + } + ], + "x-ms-examples": { + "Patch an existing job to a Quantum Workspace": { + "$ref": "./examples/jobPatch.json" + } + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobDetails" + } + }, + "204": { + "description": "No Content - the patch body was empty or had no operations." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/RestError" + } + } + } + } + }, + "/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/providerStatus": { + "get": { + "operationId": "Providers_GetStatus", + "description": "Get provider status.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/workspaceNameParameter" + } + ], + "x-ms-examples": { + "Get list of of providers and their status for a Quantum Workspace": { + "$ref": "./examples/providerStatus.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ProviderStatusList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/RestError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/storage/sasUri": { + "post": { + "operationId": "Storage_SasUri", + "description": "Gets a URL with SAS token for a container/blob in the storage account associated with the workspace. The SAS URL can be used to upload job input and/or download job output.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/workspaceNameParameter" + }, + { + "name": "blobDetails", + "description": "The details (name and container) of the blob to store or download data.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlobDetails" + } + } + ], + "x-ms-examples": { + "Get a SAS token to upload data for a Quantum Workspace": { + "$ref": "./examples/storageGet.json" + } + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SasUriResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/RestError" + } + } + } + } + }, + "/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/quotas": { + "get": { + "operationId": "Quotas_List", + "description": "List quotas for the given workspace.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/workspaceNameParameter" + } + ], + "x-ms-examples": { + "Get a list of quotas for a particular quantum workspace.": { + "$ref": "./examples/quotaList.json" + } + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/QuotaList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/RestError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "JobDetailsList": { + "description": "List of job details.", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/JobDetails" + } + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total records count number." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "JobDetails": { + "description": "Job details.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The job id." + }, + "name": { + "type": "string", + "description": "The job name. Is not required for the name to be unique and it's only used for display purposes." + }, + "containerUri": { + "type": "string", + "description": "The blob container SAS uri, the container is used to host job data." + }, + "inputDataUri": { + "type": "string", + "description": "The input blob SAS uri, if specified, it will override the default input blob in the container." + }, + "inputDataFormat": { + "type": "string", + "description": "The format of the input data." + }, + "inputParams": { + "type": "object", + "description": "The input parameters for the job. JSON object used by the target solver. It is expected that the size of this object is small and only used to specify parameters for the execution target, not the input data." + }, + "providerId": { + "type": "string", + "description": "The unique identifier for the provider." + }, + "target": { + "type": "string", + "description": "The target identifier to run the job." + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The job metadata. Metadata provides client the ability to store client-specific information" + }, + "outputDataUri": { + "type": "string", + "description": "The output blob SAS uri. When a job finishes successfully, results will be uploaded to this blob." + }, + "outputDataFormat": { + "type": "string", + "description": "The format of the output data." + }, + "status": { + "type": "string", + "description": "The job status.", + "readOnly": true, + "enum": [ + "Waiting", + "Executing", + "Succeeded", + "Failed", + "Cancelled" + ], + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "creationTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The creation time of the job." + }, + "beginExecutionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The time when the job began execution." + }, + "endExecutionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The time when the job finished execution." + }, + "cancellationTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The time when a job was successfully cancelled." + }, + "costEstimate": { + "$ref": "#/definitions/CostEstimate", + "readOnly": true, + "description": "The job billing data." + }, + "errorData": { + "$ref": "#/definitions/ErrorData", + "readOnly": true, + "description": "The error data for the job. This is expected only when Status 'Failed'." + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of user-supplied tags associated with the job." + } + }, + "required": [ + "containerUri", + "inputDataFormat", + "providerId", + "target" + ] + }, + "BlobDetails": { + "description": "Blob details.", + "type": "object", + "properties": { + "containerName": { + "type": "string", + "description": "The container name." + }, + "blobName": { + "type": "string", + "description": "The blob name." + } + }, + "required": [ + "containerName" + ] + }, + "SasUriResponse": { + "description": "Get SAS URL operation response.", + "type": "object", + "properties": { + "sasUri": { + "type": "string", + "description": "A URL with a SAS token to upload a blob for execution in the given workspace." + } + } + }, + "ProviderStatusList": { + "description": "Providers status.", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ProviderStatus" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ProviderStatus": { + "description": "Providers status.", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Provider id." + }, + "currentAvailability": { + "type": "string", + "readOnly": true, + "description": "Provider availability.", + "enum": [ + "Available", + "Degraded", + "Unavailable" + ], + "x-ms-enum": { + "name": "ProviderAvailability", + "modelAsString": true + } + }, + "targets": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TargetStatus" + } + } + } + }, + "TargetStatus": { + "description": "Target status.", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Target id." + }, + "currentAvailability": { + "type": "string", + "readOnly": true, + "description": "Target availability.", + "enum": [ + "Available", + "Degraded", + "Unavailable" + ], + "x-ms-enum": { + "name": "TargetAvailability", + "modelAsString": true + } + }, + "averageQueueTime": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Average queue time in seconds." + }, + "statusPage": { + "type": "string", + "readOnly": true, + "description": "A page with detailed status of the provider." + } + } + }, + "QuotaList": { + "description": "List of quotas.", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Quota" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "Quota": { + "description": "Quota information.", + "type": "object", + "properties": { + "dimension": { + "type": "string", + "description": "The name of the dimension associated with the quota." + }, + "scope": { + "type": "string", + "description": "The scope at which the quota is applied.", + "enum": [ + "Workspace", + "Subscription" + ], + "x-ms-enum": { + "name": "DimensionScope", + "modelAsString": true + } + }, + "providerId": { + "type": "string", + "description": "The unique identifier for the provider." + }, + "utilization": { + "type": "number", + "description": "The amount of the usage that has been applied for the current period." + }, + "holds": { + "type": "number", + "description": "The amount of the usage that has been reserved but not applied for the current period." + }, + "limit": { + "type": "number", + "description": "The maximum amount of usage allowed for the current period." + }, + "period": { + "type": "string", + "description": "The time period in which the quota's underlying meter is accumulated. Based on calendar year. 'None' is used for concurrent quotas.", + "enum": [ + "None", + "Monthly" + ], + "x-ms-enum": { + "name": "MeterPeriod", + "modelAsString": true + } + } + } + }, + "CostEstimate": { + "properties": { + "currencyCode": { + "type": "string", + "description": "The currency code." + }, + "events": { + "type": "array", + "description": "List of usage events", + "items": { + "$ref": "#/definitions/UsageEvent" + } + }, + "estimatedTotal": { + "type": "number", + "description": "The estimated total." + } + }, + "description": "A job cost estimate." + }, + "UsageEvent": { + "properties": { + "dimensionId": { + "type": "string", + "description": "The dimension id." + }, + "dimensionName": { + "type": "string", + "description": "The dimension name." + }, + "measureUnit": { + "type": "string", + "description": "The unit of measure." + }, + "amountBilled": { + "type": "number", + "description": "The amount billed." + }, + "amountConsumed": { + "type": "number", + "description": "The amount consumed." + }, + "unitPrice": { + "type": "number", + "description": "The unit price." + } + }, + "description": "Usage event details." + }, + "RestError": { + "type": "object", + "description": "Error information returned by the API", + "properties": { + "error": { + "$ref": "#/definitions/ErrorData" + } + } + }, + "ErrorData": { + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for displaying in a user interface." + } + }, + "description": "An error response from Azure." + }, + "PatchRequest": { + "type": "array", + "items": { + "$ref": "#/definitions/JsonPatchDocument" + } + }, + "JsonPatchDocument": { + "description": "A JSONPatch document as defined by RFC 6902", + "required": [ + "op", + "path" + ], + "properties": { + "op": { + "type": "string", + "description": "The operation to be performed.", + "enum": [ + "add", + "remove", + "replace", + "move", + "copy", + "test" + ], + "x-ms-enum": { + "name": "JsonPatchOperation", + "modelAsString": true + } + }, + "path": { + "type": "string", + "description": "A JSON-Pointer." + }, + "value": { + "type": "object", + "description": "A value to be used in the operation on the path." + }, + "from": { + "type": "string", + "description": "Optional field used in copy and move operations." + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "description": "The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)", + "in": "path", + "required": true, + "x-ms-parameter-location": "client", + "type": "string" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "description": "Name of an Azure resource group." + }, + "workspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "description": "Name of the workspace." + }, + "jobIdParameter": { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Id of the job." + } + } +} diff --git a/specification/quantum/data-plane/readme.md b/specification/quantum/data-plane/readme.md index 15e635b44dc5..17445a1adcd0 100644 --- a/specification/quantum/data-plane/readme.md +++ b/specification/quantum/data-plane/readme.md @@ -47,6 +47,14 @@ input-file: - Microsoft.Quantum/preview/2021-05-06-preview/quantum.json ``` +### Tag: package-2021-11-01-preview + +These settings apply only when `--tag=package-2021-11-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2021-11-01-preview' +input-file: + - Microsoft.Quantum/preview/2021-11-01-preview/quantum.json +``` --- diff --git a/specification/quota/resource-manager/Microsoft.Quota/preview/2021-03-15-preview/quota.json b/specification/quota/resource-manager/Microsoft.Quota/preview/2021-03-15-preview/quota.json index f2c1233112d8..e409972797b6 100644 --- a/specification/quota/resource-manager/Microsoft.Quota/preview/2021-03-15-preview/quota.json +++ b/specification/quota/resource-manager/Microsoft.Quota/preview/2021-03-15-preview/quota.json @@ -449,9 +449,9 @@ }, "/providers/Microsoft.Quota/operations": { "get": { - "summary": "GET operations.", + "summary": "GET quota operations.", "description": "List all the operations supported by the Microsoft.Quota resource provider.", - "operationId": "Operation_List", + "operationId": "QuotaOperation_List", "x-ms-examples": { "GetOperations": { "$ref": "./examples/GetOperations.json" @@ -868,15 +868,18 @@ "LimitObject": { "description": "The resource quota limit value.", "type": "object", + "x-ms-discriminator-value": "LimitValue", + "allOf": [ + { + "$ref": "#/definitions/LimitJsonObject" + } + ], "properties": { "value": { "type": "integer", "format": "int32", "description": "The quota/limit value" }, - "limitObjectType": { - "$ref": "#/definitions/LimitObjectTypes" - }, "limitType": { "$ref": "#/definitions/LimitTypes" } @@ -885,19 +888,6 @@ "value" ] }, - "LimitValue": { - "x-ms-discriminator-value": "LimitValue", - "type": "object", - "description": "The resource quota limit.", - "allOf": [ - { - "$ref": "#/definitions/LimitJsonObject" - }, - { - "$ref": "#/definitions/LimitObject" - } - ] - }, "QuotaRequestOneResourceSubmitResponse": { "description": "Quota request response.", "type": "object", diff --git a/specification/quota/resource-manager/readme.azureresourceschema.md b/specification/quota/resource-manager/readme.azureresourceschema.md deleted file mode 100644 index b4bf5795d0f5..000000000000 --- a/specification/quota/resource-manager/readme.azureresourceschema.md +++ /dev/null @@ -1,44 +0,0 @@ -## AzureResourceSchema - -These settings apply only when `--azureresourceschema` is specified on the command line. - -### AzureResourceSchema multi-api - -``` yaml $(azureresourceschema) && $(multiapi) -batch: - - tag: schema-quota-2021-03-15 -``` - -Please also specify `--azureresourceschema-folder=`. - -### Tag: schema-quota-2021-03-15 and azureresourceschema - -``` yaml $(tag) == 'schema-quota-2021-03-15' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.Quota/stable/2021-03-15/quota.json - -``` - -# all the input files in this apiVersion -input-file: - - Microsoft.Quota/stable/2021-03-15/quota.json -``` - -### Tag: schema-quota-2021-03-15-preview and azureresourceschema - -``` yaml $(tag) == 'schema-quota-2021-03-15-preview' && $(azureresourceschema) -output-folder: $(azureresourceschema-folder)/schemas - -# all the input files in this apiVersion -input-file: - - Microsoft.Quota/review/2021-03-15-preview/quota.json - -``` - -# all the input files in this apiVersion -input-file: - - Microsoft.Quota/preview/2021-03-15-preview/quota.json -``` \ No newline at end of file diff --git a/specification/quota/resource-manager/readme.md b/specification/quota/resource-manager/readme.md index bae51c5d4d6d..45ebe980a4cb 100644 --- a/specification/quota/resource-manager/readme.md +++ b/specification/quota/resource-manager/readme.md @@ -77,8 +77,6 @@ swagger-to-sdk: - repo: azure-cli-extensions - repo: azure-sdk-for-ruby - repo: azure-resource-manager-schemas - after_scripts: - - node sdkauto_afterscript.js quota/resource-manager ``` ## C# @@ -112,10 +110,6 @@ See configuration in [readme.cli.md](./readme.cli.md) See configuration in [readme.go.md](./readme.go.md) -## AzureResourceSchema - -See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) - ## Java See configuration in [readme.java.md](./readme.java.md) @@ -124,26 +118,3 @@ See configuration in [readme.java.md](./readme.java.md) See configuration in [readme.ruby.md](./readme.ruby.md) -## Multi-API/Profile support for AutoRest v3 generators - -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. - -This block is updated by an automatic script. Edits may be lost! - -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ -# include the azure profile definitions from the standard location -require: $(this-folder)/../../../profiles/readme.md - -# all the input files across all versions -input-file: - - $(this-folder)/Microsoft.Quota/preview/2021-03-15-preview/quota.json - -``` - -If there are files that should not be in the `all-api-versions` set, -uncomment the `exclude-file` section below and add the file paths. - -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` diff --git a/specification/recoveryservices/resource-manager/readme.go.md b/specification/recoveryservices/resource-manager/readme.go.md index f01c35278853..1eab64facfb3 100644 --- a/specification/recoveryservices/resource-manager/readme.go.md +++ b/specification/recoveryservices/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/recoveryservices/armrecoveryservices +module-name: sdk/resourcemanager/recoveryservices/armrecoveryservices module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/recoveryservices/resource-manager/readme.md b/specification/recoveryservices/resource-manager/readme.md index d7182cc3387c..2d0d47c9298c 100644 --- a/specification/recoveryservices/resource-manager/readme.md +++ b/specification/recoveryservices/resource-manager/readme.md @@ -177,6 +177,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetAccessToken_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetAccessToken_Get.json index b45d741ae88e..0cf40eb2f256 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetAccessToken_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetAccessToken_Get.json @@ -23,6 +23,7 @@ "name": "26083826328862", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", "properties": { + "objectType": "WorkloadCrrAccessToken", "accessTokenString": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjVocE9ZWkdhZnk2VG50bUhKeGZZaEZKWHpQcyJ9.eyJVc2VySWRlbnRpdHlUeXBlIjoiQUFEIiwiQWFkVGVuYW50SWQiOiI3MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDciLCJBYWRTUE9iamVjdElkIjoiODlkMmY3NzQtODBkNy00YzU0LTgwMjQtMjY2YzIzZGI0ZWNiIiwiUmVzdG9yZVBvaW50UGVybWlzc2lvbnMiOiJSZWFkIiwiUmVzdG9yZVBvaW50SUQiOiJyZXNvdXJjZXMvMzYzOTI0OTUyNDMwMjg4Mjk3MS9wcm90ZWN0aW9uQ29udGFpbmVycy8xMDA2NjAwL3Byb3RlY3RlZEl0ZW1zLzIyNTIzNDUxNzI0OTY4MjgyMTEvcmVjb3ZlcnlQb2ludHMvMjI1Mjg4NDA2MDEwNDg4OTkwNyIsImlzcyI6Imh0dHBzOi8vUmVjb3ZlcnlTZXJ2aWNlIiwiYXVkIjoiaHR0cHM6Ly9SZWNvdmVyeVNlcnZpY2VzL1Byb3RlY3Rpb25TZXJ2aWNlIiwiZXhwIjoxNTcwMjAwOTEzLCJuYmYiOjE1NzAxMTQyMTN9.gOGEmAhrAio3M6gcQHZ7EpEAbz4o-JaLE6dIFa4bF_-6VaP4LiBU_Qemjev_s-2fKZTAk3AVEXevbxbKIX6DENALXyOy3cMZsSPIr7L0_VrC6nlNnrwMBpiwQWGLuPckh4LHhsQE2cgOKmsIifqb4XrSJlwNq18aT_XyV6ZlkKqog3w7n4f-_eANJXDjxzOvAzsDIjnw_R-rVBNUI8w5OyO01mK1s2xStYgCBLpkTNEw5dxTTNOv5wPzmgjgRa2p-GmecE0ZTUfsL3VUvzpzfO8tRHBTbUYIIAG2Cn9utmXLK-PmAAanJVCOQ0YuoNSTN40D1NhpklJOtyD_TKdmvA", "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", "resourceGroupName": "gaallaReportingV2", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetCrrJob_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetCrrJob_Post.json index dbd66a894a11..9d93c20e4f63 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetCrrJob_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetCrrJob_Post.json @@ -16,7 +16,6 @@ "type": "Microsoft.RecoveryServices/vaults/backupJobs", "properties": { "jobType": "AzureIaaSVMJob", - "duration": "1.20:17:03.2938821", "virtualMachineVersion": "Compute", "extendedInfo": { "tasksList": [], diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/ListCrrJobs_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/ListCrrJobs_Post.json index a5931d3fee4c..bf85d122f6e3 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/ListCrrJobs_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/ListCrrJobs_Post.json @@ -18,7 +18,6 @@ "type": "Microsoft.RecoveryServices/vaults/backupJobs", "properties": { "jobType": "AzureIaaSVMJob", - "duration": "1.19:59:12.7946856", "virtualMachineVersion": "Compute", "entityFriendlyName": "sriniccylinux", "backupManagementType": "AzureIaasVM", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_IdentityBasedRestoreDetails_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_IdentityBasedRestoreDetails_Post.json index 27e384bd7f6b..edb82704b2d6 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_IdentityBasedRestoreDetails_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_IdentityBasedRestoreDetails_Post.json @@ -5,6 +5,7 @@ "api-version": "2018-12-20", "parameters": { "crossRegionRestoreAccessDetails": { + "objectType": "WorkloadCrrAccessToken", "accessTokenString": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IkhqaUJHdVExa2lWV2hyc2lzLUhEckhyWVZNbyJ9.eyJVc2VySWRlbnRpdHlUeXBlIjoiQUFEIiwiQWFkVGVuYW50SWQiOiIzM2UwMTkyMS00ZDY0LTRmOGMtYTA1NS01YmRhZmZkNWUzM2QiLCJBYWRTUE9iamVjdElkIjoiOTMzMjc2ZmMtMWJiNy00ZWNiLTk0ZTYtYWY3ODMyNWY3MjZhIiwiUmVzdG9yZVBvaW50UGVybWlzc2lvbnMiOiJSZWFkIiwiUmVzdG9yZVBvaW50SUQiOiJyZXNvdXJjZXMvMTMzMDgzNzkwNjQxODEzODE2MC9wcm90ZWN0aW9uQ29udGFpbmVycy8xMTE0Ni9wcm90ZWN0ZWRJdGVtcy8xMTQyOTM3MDMxL3JlY292ZXJ5UG9pbnRzLzg3MTc4MzU1MzkyNzE2IiwiaXNzIjoiaHR0cHM6Ly9SZWNvdmVyeVNlcnZpY2UiLCJhdWQiOiJodHRwczovL1JlY292ZXJ5U2VydmljZXMvUHJvdGVjdGlvblNlcnZpY2UiLCJleHAiOjE1NzExMjE5ODYsIm5iZiI6MTU3MTAzNTI4Nn0.oNbeX8ueE6JRGU0IagFjkOlU-o48ez9gCeCrn1-8XEsaVtYJIFKq9FeHfPAoCMxiLQvwL7S0JTjDTjiEsZEvr_VM7tDVwW3sESo2oW-SZlxT_1dJiUBn0jVlQyfDcHEMzbkaTuZswgNWfowgOrnJ67y-ztSUcegf3eVKPEhN1enBBS7pIuL9bZ3SVwMuqznUen6dH54y9lN2w6H14X0UK2CwSN94Uh-spB27j9SbksxLY_tyZm6xsamZFTHpwbgZwR24-GDtElPSxpFL6n_tWLSCHQtN9s84o0X7PfFaMkVmGWbOf4AZmP9M6agagG0JLnlOwObr07YrzZRkg3s2eQ", "backupManagementType": "AzureIaasVM", "containerName": "iaasvmcontainerv2;srinivasccyrg;sriniccylinux", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json index ac84c031efe5..5c5218485a89 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json @@ -5,6 +5,7 @@ "api-version": "2018-12-20", "parameters": { "crossRegionRestoreAccessDetails": { + "objectType": "WorkloadCrrAccessToken", "accessTokenString": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IkhqaUJHdVExa2lWV2hyc2lzLUhEckhyWVZNbyJ9.eyJVc2VySWRlbnRpdHlUeXBlIjoiQUFEIiwiQWFkVGVuYW50SWQiOiIzM2UwMTkyMS00ZDY0LTRmOGMtYTA1NS01YmRhZmZkNWUzM2QiLCJBYWRTUE9iamVjdElkIjoiOTMzMjc2ZmMtMWJiNy00ZWNiLTk0ZTYtYWY3ODMyNWY3MjZhIiwiUmVzdG9yZVBvaW50UGVybWlzc2lvbnMiOiJSZWFkIiwiUmVzdG9yZVBvaW50SUQiOiJyZXNvdXJjZXMvMTMzMDgzNzkwNjQxODEzODE2MC9wcm90ZWN0aW9uQ29udGFpbmVycy8xMTE0Ni9wcm90ZWN0ZWRJdGVtcy8xMTQyOTM3MDMxL3JlY292ZXJ5UG9pbnRzLzg3MTc4MzU1MzkyNzE2IiwiaXNzIjoiaHR0cHM6Ly9SZWNvdmVyeVNlcnZpY2UiLCJhdWQiOiJodHRwczovL1JlY292ZXJ5U2VydmljZXMvUHJvdGVjdGlvblNlcnZpY2UiLCJleHAiOjE1NzExMjE5ODYsIm5iZiI6MTU3MTAzNTI4Nn0.oNbeX8ueE6JRGU0IagFjkOlU-o48ez9gCeCrn1-8XEsaVtYJIFKq9FeHfPAoCMxiLQvwL7S0JTjDTjiEsZEvr_VM7tDVwW3sESo2oW-SZlxT_1dJiUBn0jVlQyfDcHEMzbkaTuZswgNWfowgOrnJ67y-ztSUcegf3eVKPEhN1enBBS7pIuL9bZ3SVwMuqznUen6dH54y9lN2w6H14X0UK2CwSN94Uh-spB27j9SbksxLY_tyZm6xsamZFTHpwbgZwR24-GDtElPSxpFL6n_tWLSCHQtN9s84o0X7PfFaMkVmGWbOf4AZmP9M6agagG0JLnlOwObr07YrzZRkg3s2eQ", "backupManagementType": "AzureIaasVM", "containerName": "iaasvmcontainerv2;srinivasccyrg;sriniccylinux", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json index 7e0ece06f2c6..a70780a73cc6 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json @@ -21,6 +21,7 @@ "name": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel", "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", "properties": { + "protectionIntentItemType": "AzureResourceItem", "backupManagementType": "AzureIaasVM", "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", "protectionState": "Protected" diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupProtectionIntent_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupProtectionIntent_Get.json index 492c4b1e0d7c..91f092ee1509 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupProtectionIntent_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupProtectionIntent_Get.json @@ -15,6 +15,7 @@ "name": "249D9B07-D2EF-4202-AA64-65F35418564E", "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", "properties": { + "protectionIntentItemType": "AzureResourceItem", "backupManagementType": "AzureWorkload", "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER" diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupProtectionIntent_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupProtectionIntent_List.json index dcfb72cbe546..42cf2d0a7aad 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupProtectionIntent_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupProtectionIntent_List.json @@ -15,6 +15,7 @@ "name": "249D9B07-D2EF-4202-AA64-65F35418564E", "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", "properties": { + "protectionIntentItemType": "AzureResourceItem", "backupManagementType": "AzureWorkload", "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER" diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json index b5e86661aa4c..6e90065970e5 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json @@ -16,7 +16,7 @@ }, "200": { "body": { - "objectType": "" + "objectType": "PrepareDataMoveResponse" } } } diff --git a/specification/recoveryservicesbackup/resource-manager/readme.go.md b/specification/recoveryservicesbackup/resource-manager/readme.go.md index 88c0bcb15664..6fc0eadb2964 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.go.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.go.md @@ -6,13 +6,30 @@ These settings apply only when `--go` is specified on the command line. go: license-header: MICROSOFT_MIT_NO_VERSION clear-output-folder: true - namespace: backup ``` +``` yaml $(go) && $(track2) && $(package-activestamp) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/recoveryservices/armrecoveryservices +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + +``` yaml $(go) && $(track2) && $(package-passivestamp) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/mysql/armrecoveryservicespassivestamp +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) batch: + - tag: package-2018-12 + - tag: package-2021-10 - tag: package-2021-01 - tag: package-2020-12 - tag: package-2020-02 @@ -23,12 +40,35 @@ batch: - tag: package-2016-06 ``` +### Tag: package-2021-10 and go + +These settings apply only when `--tag=package-2021-10 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2021-10' && $(go) +namespace: backup +output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2021-01-01/$(namespace) +``` + +### Tag: package-passivestamp-2018-12-20 and go + +These settings apply only when `--tag=passivestamp-2018-12-20 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'passivestamp-2018-12-20' && $(go) +rpname: mysql +namespace: backuppassivestamp +output-folder: $(go-sdk-folder)/services/$(rpname)/mgmt/2021-05-01/$(namespace) +``` + + ### Tag: package-2021-01 and go These settings apply only when `--tag=package-2021-01 --go` is specified on the command line. Please also specify `--go-sdk-folder=`. ``` yaml $(tag)=='package-2021-01' && $(go) +namespace: backup output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2021-01-01/$(namespace) ``` @@ -38,6 +78,7 @@ These settings apply only when `--tag=package-2020-12 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag)=='package-2020-12' && $(go) +namespace: backup output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2020-12-01/$(namespace) ``` @@ -47,6 +88,7 @@ These settings apply only when `--tag=package-2020-02 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag)=='package-2020-02' && $(go) +namespace: backup output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2020-02-02/$(namespace) ``` @@ -56,6 +98,7 @@ These settings apply only when `--tag=package-2019-06 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag)=='package-2019-06' && $(go) +namespace: backup output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2019-06-15/$(namespace) ``` @@ -65,6 +108,7 @@ These settings apply only when `--tag=package-2019-05 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag)=='package-2019-05' && $(go) +namespace: backup output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2019-05-13/$(namespace) ``` @@ -74,6 +118,7 @@ These settings apply only when `--tag=package-2017-07 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag)=='package-2017-07' && $(go) +namespace: backup output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2017-07-01/$(namespace) ``` @@ -83,6 +128,7 @@ These settings apply only when `--tag=package-2016-12 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag)=='package-2016-12' && $(go) +namespace: backup output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2016-12-01/$(namespace) ``` @@ -92,5 +138,6 @@ These settings apply only when `--tag=package-2016-06 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag)=='package-2016-06' && $(go) +namespace: backup output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2016-06-01/$(namespace) ``` diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md index 99afb772b98b..6a8d3026036a 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.md @@ -78,7 +78,6 @@ These settings apply only when `--tag=package-2021-08` is specified on the comma ``` yaml $(tag) == 'package-2021-08' input-file: - Microsoft.RecoveryServices/stable/2021-08-01/bms.json - - Microsoft.RecoveryServices/stable/2018-12-20/bms.json ``` ### Tag: package-2021-07 @@ -88,7 +87,6 @@ These settings apply only when `--tag=package-2021-07` is specified on the comma ``` yaml $(tag) == 'package-2021-07' input-file: - Microsoft.RecoveryServices/stable/2021-07-01/bms.json - - Microsoft.RecoveryServices/stable/2018-12-20/bms.json ``` ### Tag: package-2021-06 @@ -98,7 +96,6 @@ These settings apply only when `--tag=package-2021-06` is specified on the comma ``` yaml $(tag) == 'package-2021-06' input-file: - Microsoft.RecoveryServices/stable/2021-06-01/bms.json - - Microsoft.RecoveryServices/stable/2018-12-20/bms.json ``` ### Tag: package-2021-04 @@ -108,7 +105,6 @@ These settings apply only when `--tag=package-2021-04` is specified on the comma ``` yaml $(tag) == 'package-2021-04' input-file: - Microsoft.RecoveryServices/stable/2021-04-01/bms.json -- Microsoft.RecoveryServices/stable/2018-12-20/bms.json ``` ### Tag: package-2021-03 @@ -118,7 +114,6 @@ These settings apply only when `--tag=package-2021-03` is specified on the comma ``` yaml $(tag) == 'package-2021-03' input-file: - Microsoft.RecoveryServices/stable/2021-03-01/bms.json -- Microsoft.RecoveryServices/stable/2018-12-20/bms.json ``` ### Tag: package-2021-02-10 @@ -128,7 +123,6 @@ These settings apply only when `--tag=package-2021-02-10` is specified on the co ``` yaml $(tag) == 'package-2021-02-10' input-file: - Microsoft.RecoveryServices/stable/2021-02-10/bms.json -- Microsoft.RecoveryServices/stable/2018-12-20/bms.json ``` ### Tag: package-2021-02-preview @@ -138,7 +132,6 @@ These settings apply only when `--tag=package-2021-02-preview` is specified on t ``` yaml $(tag) == 'package-2021-02-preview' input-file: - Microsoft.RecoveryServices/preview/2021-02-01-preview/bms.json -- Microsoft.RecoveryServices/stable/2018-12-20/bms.json ``` ### Tag: package-2021-02 @@ -148,7 +141,6 @@ These settings apply only when `--tag=package-2021-02` is specified on the comma ``` yaml $(tag) == 'package-2021-02' input-file: - Microsoft.RecoveryServices/stable/2021-02-01/bms.json -- Microsoft.RecoveryServices/stable/2018-12-20/bms.json ``` ### Tag: package-2021-01 @@ -158,9 +150,6 @@ These settings apply only when `--tag=package-2021-01` is specified on the comma ``` yaml $(tag) == 'package-2021-01' input-file: - Microsoft.RecoveryServices/stable/2021-01-01/bms.json -- Microsoft.RecoveryServices/stable/2018-12-20/bms.json -- Microsoft.RecoveryServices/stable/2017-07-01/bms.json -- Microsoft.RecoveryServices/stable/2016-08-10/operations.json ``` ### Tag: package-2020-12 @@ -170,9 +159,6 @@ These settings apply only when `--tag=package-2020-12` is specified on the comma ``` yaml $(tag) == 'package-2020-12' input-file: - Microsoft.RecoveryServices/stable/2020-12-01/bms.json -- Microsoft.RecoveryServices/stable/2018-12-20/bms.json -- Microsoft.RecoveryServices/stable/2017-07-01/bms.json -- Microsoft.RecoveryServices/stable/2016-08-10/operations.json ``` ### Tag: package-2020-10 @@ -182,9 +168,6 @@ These settings apply only when `--tag=package-2020-10` is specified on the comma ``` yaml $(tag) == 'package-2020-10' input-file: - Microsoft.RecoveryServices/stable/2020-10-01/bms.json -- Microsoft.RecoveryServices/stable/2018-12-20/bms.json -- Microsoft.RecoveryServices/stable/2017-07-01/bms.json -- Microsoft.RecoveryServices/stable/2016-08-10/operations.json ``` ### Tag: package-2020-07 @@ -194,9 +177,6 @@ These settings apply only when `--tag=package-2020-07` is specified on the comma ``` yaml $(tag) == 'package-2020-07' input-file: - Microsoft.RecoveryServices/stable/2020-07-01/bms.json -- Microsoft.RecoveryServices/stable/2018-12-20/bms.json -- Microsoft.RecoveryServices/stable/2017-07-01/bms.json -- Microsoft.RecoveryServices/stable/2016-08-10/operations.json ``` ### Tag: package-2020-02 @@ -206,10 +186,6 @@ These settings apply only when `--tag=package-2020-02` is specified on the comma ``` yaml $(tag) == 'package-2020-02' input-file: - Microsoft.RecoveryServices/stable/2020-02-02/bms.json -- Microsoft.RecoveryServices/stable/2019-06-15/bms.json -- Microsoft.RecoveryServices/stable/2017-07-01/bms.json -- Microsoft.RecoveryServices/stable/2016-12-01/bms.json -- Microsoft.RecoveryServices/stable/2016-08-10/operations.json ``` ### Tag: package-2019-06 @@ -219,9 +195,6 @@ These settings apply only when `--tag=package-2019-06` is specified on the comma ``` yaml $(tag) == 'package-2019-06' input-file: - Microsoft.RecoveryServices/stable/2019-06-15/bms.json -- Microsoft.RecoveryServices/stable/2017-07-01/bms.json -- Microsoft.RecoveryServices/stable/2016-12-01/bms.json -- Microsoft.RecoveryServices/stable/2016-08-10/operations.json ``` ### Tag: package-2019-05 @@ -231,9 +204,6 @@ These settings apply only when `--tag=package-2019-05` is specified on the comma ``` yaml $(tag) == 'package-2019-05' input-file: - Microsoft.RecoveryServices/stable/2019-05-13/bms.json -- Microsoft.RecoveryServices/stable/2017-07-01/bms.json -- Microsoft.RecoveryServices/stable/2016-12-01/bms.json -- Microsoft.RecoveryServices/stable/2016-08-10/operations.json ``` ### Tag: package-2017-07 @@ -243,8 +213,6 @@ These settings apply only when `--tag=package-2017-07` is specified on the comma ``` yaml $(tag) == 'package-2017-07' input-file: - Microsoft.RecoveryServices/stable/2017-07-01/bms.json -- Microsoft.RecoveryServices/stable/2016-12-01/bms.json -- Microsoft.RecoveryServices/stable/2016-08-10/operations.json ``` ### Tag: package-2016-06 diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectableItems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectableItems_Get.json index 8f64ec542acd..24a813f24faa 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectableItems_Get.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectableItems_Get.json @@ -23,7 +23,7 @@ "HyperVReplicaAzure" ], "customDetails": { - "instanceType": "HyperVVirtualMachine" + "instanceType": "ReplicationGroupDetails" } } } diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json index eb4f70c58ee0..97065a9f9065 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json @@ -24,7 +24,7 @@ "HyperVReplicaAzure" ], "customDetails": { - "instanceType": "HyperVVirtualMachine" + "instanceType": "ReplicationGroupDetails" } } }, @@ -41,7 +41,7 @@ "HyperVReplicaAzure" ], "customDetails": { - "instanceType": "HyperVVirtualMachine" + "instanceType": "ReplicationGroupDetails" } } } diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Create.json index 3802b1554e2f..f562f4d8fefd 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Create.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Create.json @@ -11,7 +11,9 @@ "properties": { "targetProtectionContainerId": "Microsoft Azure", "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", - "providerSpecificInput": {} + "providerSpecificInput": { + "instanceType": "ReplicationProviderSpecificContainerMappingInput" + } } } }, diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/redis.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/redis.json index 350f2ffac79d..c99d21149c13 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/redis.json +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/redis.json @@ -1873,6 +1873,7 @@ }, "enableNonSslPort": { "type": "boolean", + "default": false, "description": "Specifies whether the non-ssl Redis server port (6379) is enabled." }, "replicasPerMaster": { @@ -1912,6 +1913,7 @@ "Disabled" ], "type": "string", + "default": "Enabled", "x-ms-enum": { "name": "PublicNetworkAccess", "modelAsString": true @@ -1935,7 +1937,11 @@ "staticIP": { "type": "string", "pattern": "^\\d+\\.\\d+\\.\\d+\\.\\d+$", - "description": "Static IP address. Required when deploying a Redis cache inside an existing Azure Virtual Network." + "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": [ diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json index 39379a545f35..eebe5cd6f6da 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json @@ -1880,6 +1880,7 @@ }, "enableNonSslPort": { "type": "boolean", + "default": false, "description": "Specifies whether the non-ssl Redis server port (6379) is enabled." }, "replicasPerMaster": { @@ -1923,6 +1924,7 @@ "Enabled", "Disabled" ], + "default": "Enabled", "type": "string", "x-ms-enum": { "name": "PublicNetworkAccess", @@ -1947,7 +1949,11 @@ "staticIP": { "type": "string", "pattern": "^\\d+\\.\\d+\\.\\d+\\.\\d+$", - "description": "Static IP address. Required when deploying a Redis cache inside an existing Azure Virtual Network." + "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": [ diff --git a/specification/redis/resource-manager/readme.go.md b/specification/redis/resource-manager/readme.go.md index 925e0395be6f..e231c3bcc678 100644 --- a/specification/redis/resource-manager/readme.go.md +++ b/specification/redis/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/redis/armredis +module-name: sdk/resourcemanager/redis/armredis module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/relay/resource-manager/Microsoft.Relay/stable/2017-04-01/examples/NameSpaces/RelayNameSpaceCreate.json b/specification/relay/resource-manager/Microsoft.Relay/stable/2017-04-01/examples/NameSpaces/RelayNameSpaceCreate.json index 2b93acd5642e..17277a76b212 100644 --- a/specification/relay/resource-manager/Microsoft.Relay/stable/2017-04-01/examples/NameSpaces/RelayNameSpaceCreate.json +++ b/specification/relay/resource-manager/Microsoft.Relay/stable/2017-04-01/examples/NameSpaces/RelayNameSpaceCreate.json @@ -37,6 +37,25 @@ } } }, - "201": {} + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/resourcegroup/providers/Microsoft.Relay/namespaces/example-RelayNamespace-01", + "name": "example-RelayNamespace-01", + "type": "Microsoft.Relay/Namespaces", + "location": "West US", + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Unknown", + "metricId": "ffffffff-ffff-ffff-ffff-ffffffffffff:example-Relaynamespace-01" + } + } + } } } diff --git a/specification/relay/resource-manager/Microsoft.Relay/stable/2017-04-01/examples/NameSpaces/RelayNameSpaceUpdate.json b/specification/relay/resource-manager/Microsoft.Relay/stable/2017-04-01/examples/NameSpaces/RelayNameSpaceUpdate.json index 58e275dba5d5..4f6ddf4cf74f 100644 --- a/specification/relay/resource-manager/Microsoft.Relay/stable/2017-04-01/examples/NameSpaces/RelayNameSpaceUpdate.json +++ b/specification/relay/resource-manager/Microsoft.Relay/stable/2017-04-01/examples/NameSpaces/RelayNameSpaceUpdate.json @@ -32,6 +32,23 @@ } } }, - "201": {} + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/resourcegroup/providers/Microsoft.Relay/namespaces/example-RelayNamespace-01", + "name": "example-RelayNamespace-01", + "type": "Microsoft.Relay/Namespaces", + "location": "West US", + "tags": { + "tag3": "value3", + "tag4": "value4", + "tag5": "value5", + "tag6": "value6" + }, + "properties": { + "provisioningState": "Succeeded", + "metricId": "ffffffff-ffff-ffff-ffff-ffffffffffff:example-Relaynamespace-01" + } + } + } } } diff --git a/specification/relay/resource-manager/readme.go.md b/specification/relay/resource-manager/readme.go.md index e835e15efbd8..0f6eea1ec47b 100644 --- a/specification/relay/resource-manager/readme.go.md +++ b/specification/relay/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: relay clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/relay/armrelay +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/relay/resource-manager/readme.md b/specification/relay/resource-manager/readme.md index c460dadfe66e..fb5e55abe4cc 100644 --- a/specification/relay/resource-manager/readme.md +++ b/specification/relay/resource-manager/readme.md @@ -86,6 +86,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby diff --git a/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/appliances.json b/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/appliances.json new file mode 100644 index 000000000000..c3844954ed9c --- /dev/null +++ b/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/appliances.json @@ -0,0 +1,709 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-31-preview", + "title": "appliances", + "description": "The appliances Rest API spec." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "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" + } + } + }, + "paths": { + "/providers/Microsoft.ResourceConnector/operations": { + "get": { + "tags": [ + "appliances" + ], + "operationId": "Appliances_ListOperations", + "description": "Lists all available Appliances operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Operation details.", + "schema": { + "$ref": "#/definitions/applianceOperationsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Appliances operations": { + "$ref": "./examples/AppliancesListOperations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ResourceConnector/appliances": { + "get": { + "tags": [ + "appliances" + ], + "operationId": "Appliances_ListBySubscription", + "summary": "Gets a list of Appliances in a subscription.", + "description": "Gets a list of Appliances in the specified subscription. The operation returns properties of each Appliance", + "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/applianceListResult" + } + }, + "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 Appliances by subscription": { + "$ref": "./examples/AppliancesListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceConnector/appliances": { + "get": { + "tags": [ + "appliances" + ], + "operationId": "Appliances_ListByResourceGroup", + "summary": "Gets a list of Appliances in the specified subscription and resource group.", + "description": "Gets a list of Appliances in the specified subscription and resource group. The operation returns properties of each Appliance.", + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/applianceListResult" + } + }, + "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 Appliances by resource group": { + "$ref": "./examples/AppliancesListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceConnector/appliances/{resourceName}": { + "get": { + "tags": [ + "appliances" + ], + "operationId": "Appliances_Get", + "summary": "Gets an Appliance.", + "description": "Gets the details of an Appliance with a specified resource group and name.", + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/appliance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Appliance": { + "$ref": "./examples/AppliancesGet.json" + } + } + }, + "put": { + "tags": [ + "appliances" + ], + "operationId": "Appliances_CreateOrUpdate", + "summary": "Creates or updates an Appliance.", + "description": "Creates or updates an Appliance in the specified Subscription and Resource Group.", + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/appliance" + }, + "description": "Parameters supplied to create or update an Appliance." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/appliance" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/appliance" + } + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create/Update Appliance": { + "$ref": "./examples/AppliancesCreate_Update.json" + } + } + }, + "delete": { + "tags": [ + "appliances" + ], + "operationId": "Appliances_Delete", + "summary": "Deletes an Appliance.", + "description": "Deletes an Appliance with the specified Resource Name, Resource Group, and Subscription Id.", + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "NoContent. The response indicates the appliance resource is already deleted." + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Delete Appliance": { + "$ref": "./examples/AppliancesDelete.json" + } + } + }, + "patch": { + "tags": [ + "appliances" + ], + "operationId": "Appliances_Update", + "summary": "Updates an Appliance.", + "description": "Updates an Appliance with the specified Resource Name in the specified Resource Group and Subscription.", + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/patchableAppliance" + }, + "description": "The updatable fields of an existing Appliance." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/appliance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Appliance": { + "$ref": "./examples/AppliancesPatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceConnector/appliances/{resourceName}/listClusterUserCredential": { + "post": { + "tags": [ + "appliances" + ], + "operationId": "Appliances_ListClusterUserCredential", + "summary": "Returns the cluster user credential.", + "description": "Returns the cluster user credentials for the dedicated appliance.", + "parameters": [ + { + "$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/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/applianceListCredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ListClusterUserCredentialAppliance": { + "$ref": "./examples/AppliancesListClusterUserCredential.json" + } + } + } + } + }, + "parameters": { + "ResourceNameParameter": { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$", + "description": "Appliances name." + } + }, + "definitions": { + "HybridConnectionConfig": { + "description": "Contains the REP (rendezvous endpoint) and “Listener” access token from notification service (NS).", + "type": "object", + "properties": { + "expirationTime": { + "description": "Timestamp when this token will be expired.", + "type": "integer", + "readOnly": true, + "format": "int64" + }, + "hybridConnectionName": { + "description": "Name of the connection", + "type": "string", + "readOnly": true + }, + "relay": { + "description": "Name of the notification service.", + "type": "string", + "readOnly": true + }, + "token": { + "description": "Listener access token", + "type": "string", + "readOnly": true + } + } + }, + "Identity": { + "description": "Identity for the resource.", + "type": "object", + "properties": { + "principalId": { + "description": "The principal ID of resource identity.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "The tenant ID of resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The identity type.", + "type": "string", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": true + } + } + } + }, + "appliance": { + "description": "Appliances definition.", + "type": "object", + "properties": { + "identity": { + "$ref": "#/definitions/Identity", + "description": "Identity for the resource." + }, + "properties": { + "$ref": "#/definitions/applianceProperties", + "description": "The set of properties specific to an Appliance", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ] + }, + "applianceCredentialKubeconfig": { + "description": "Cluster User Credential appliance.", + "type": "object", + "properties": { + "name": { + "description": "Name which contains the role of the kubeconfig.", + "type": "string", + "readOnly": true, + "enum": [ + "clusterUser" + ], + "x-ms-enum": { + "name": "AccessProfileType", + "modelAsString": true + } + }, + "value": { + "description": "Contains the kubeconfig value.", + "type": "string", + "readOnly": true + } + } + }, + "applianceListCredentialResults": { + "description": "The List Cluster User Credential appliance.", + "type": "object", + "properties": { + "hybridConnectionConfig": { + "$ref": "#/definitions/HybridConnectionConfig", + "description": "Contains the REP (rendezvous endpoint) and “Listener” access token from notification service (NS).", + "readOnly": true + }, + "kubeconfigs": { + "description": "The list of appliance kubeconfigs.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/applianceCredentialKubeconfig" + } + } + } + }, + "applianceListResult": { + "description": "The List Appliances operation response.", + "type": "object", + "properties": { + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of Appliances.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/appliance" + } + } + } + }, + "applianceOperation": { + "description": "Appliances operation.", + "type": "object", + "properties": { + "display": { + "$ref": "#/definitions/applianceOperationValueDisplay", + "description": "Describes the properties of an Appliances Operation Value Display.", + "x-ms-client-flatten": true + }, + "isDataAction": { + "description": "Is this Operation a data plane operation", + "type": "boolean", + "readOnly": true + }, + "name": { + "description": "The name of the compute operation.", + "type": "string", + "readOnly": true + }, + "origin": { + "description": "The origin of the compute operation.", + "type": "string", + "readOnly": true + } + } + }, + "applianceOperationValueDisplay": { + "description": "Describes the properties of an Appliances Operation Value Display.", + "type": "object", + "properties": { + "description": { + "description": "The description of the operation.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The display name of the compute operation.", + "type": "string", + "readOnly": true + }, + "provider": { + "description": "The resource provider for the operation.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The display name of the resource the operation applies to.", + "type": "string", + "readOnly": true + } + } + }, + "applianceOperationsList": { + "description": "Lists of Appliances operations.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "nextLink": { + "description": "Next page of operations.", + "type": "string" + }, + "value": { + "description": "Array of applianceOperation", + "type": "array", + "items": { + "$ref": "#/definitions/applianceOperation" + } + } + } + }, + "applianceProperties": { + "description": "Properties for an appliance.", + "type": "object", + "properties": { + "distro": { + "description": "Represents a supported Fabric/Infra. (AKSEdge etc...).", + "type": "string", + "default": "AKSEdge", + "enum": [ + "AKSEdge" + ], + "x-ms-enum": { + "name": "distro", + "modelAsString": true + } + }, + "infrastructureConfig": { + "description": "Contains infrastructure information about the Appliance", + "type": "object", + "properties": { + "provider": { + "description": "Information about the connected appliance.", + "type": "string", + "enum": [ + "VMWare", + "HCI", + "SCVMM" + ], + "x-ms-enum": { + "name": "provider", + "modelAsString": true + } + } + } + }, + "provisioningState": { + "description": "The current deployment or provisioning state, which only appears in the response.", + "type": "string", + "readOnly": true + }, + "publicKey": { + "description": "Certificates pair used to download MSI certificate from HIS", + "type": "string" + }, + "status": { + "description": "Appliance’s health and state of connection to on-prem", + "type": "string", + "readOnly": true, + "enum": [ + "WaitingForHeartbeat", + "Validating", + "Connected", + "Running" + ], + "x-ms-enum": { + "name": "status", + "modelAsString": true + } + }, + "version": { + "description": "Version of the Appliance", + "type": "string", + "readOnly": true + } + } + }, + "patchableAppliance": { + "description": "The Appliances patchable resource definition.", + "type": "object", + "x-ms-azure-resource": true, + "x-ms-client-flatten": true, + "properties": { + "tags": { + "description": "Resource tags", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + } +} diff --git a/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesCreate_Update.json b/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesCreate_Update.json new file mode 100644 index 000000000000..157a71d5d617 --- /dev/null +++ b/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesCreate_Update.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2021-10-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "testresourcegroup", + "resourceName": "appliance01", + "parameters": { + "location": "West US", + "properties": { + "distro": "AKSEdge", + "infrastructureConfig": { + "provider": "VMWare" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.ResourceConnector/appliances/appliance01", + "name": "appliance01", + "type": "Microsoft.ResourceConnector/appliances", + "location": "West US", + "properties": { + "distro": "AKSEdge", + "version": "1.0.1", + "provisioningState": "Succeeded", + "status": "Connected", + "infrastructureConfig": { + "provider": "VMWare" + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "11111111-1111-1111-1111-111111111111", + "tenantId": "111111-1111-1111-1111-111111111111" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.ResourceConnector/appliances/appliance01", + "name": "appliance01", + "type": "Microsoft.ResourceConnector/appliances", + "location": "West US", + "properties": { + "distro": "AKSEdge", + "version": "1.0.1", + "provisioningState": "Creating", + "status": "WaitingForHeartbeat", + "infrastructureConfig": { + "provider": "VMWare" + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "11111111-1111-1111-1111-111111111111", + "tenantId": "111111-1111-1111-1111-111111111111" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + } + } + } + } +} diff --git a/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesDelete.json b/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesDelete.json new file mode 100644 index 000000000000..766417638455 --- /dev/null +++ b/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-10-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "testresourcegroup", + "resourceName": "appliance01" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesGet.json b/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesGet.json new file mode 100644 index 000000000000..15595687429a --- /dev/null +++ b/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesGet.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-10-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "testresourcegroup", + "resourceName": "appliance01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ResourceConnector/appliances/appliance01", + "name": "appliance01", + "type": "Microsoft.ResourceConnector/appliances", + "location": "West US", + "properties": { + "distro": "AKSEdge", + "version": "1.0.1", + "provisioningState": "Succeeded", + "status": "Connected", + "infrastructureConfig": { + "provider": "VMWare" + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "11111111-1111-1111-1111-111111111111", + "tenantId": "111111-1111-1111-1111-111111111111" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + } + } + } + } +} diff --git a/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesListByResourceGroup.json b/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesListByResourceGroup.json new file mode 100644 index 000000000000..36291169c56e --- /dev/null +++ b/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesListByResourceGroup.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2021-10-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "testresourcegroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ResourceConnector/appliances/appliance01", + "name": "appliance01", + "type": "Microsoft.ResourceConnector/appliances", + "location": "West US", + "properties": { + "distro": "AKSEdge", + "version": "1.0.1", + "provisioningState": "Succeeded", + "status": "Connected", + "infrastructureConfig": { + "provider": "VMWare" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + } + }, + { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ResourceConnector/appliances/appliance02", + "name": "appliance02", + "type": "Microsoft.ResourceConnector/appliances", + "location": "West US", + "properties": { + "distro": "AKSEdge", + "version": "1.0.1", + "provisioningState": "Succeeded", + "status": "Connected", + "infrastructureConfig": { + "provider": "VMWare" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + } + } + ] + } + } + } +} diff --git a/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesListBySubscription.json b/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesListBySubscription.json new file mode 100644 index 000000000000..d68eae15d283 --- /dev/null +++ b/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesListBySubscription.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2021-10-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ResourceConnector/appliances/appliance01", + "name": "appliance01", + "type": "Microsoft.ResourceConnector/appliances", + "location": "West US", + "properties": { + "distro": "AKSEdge", + "version": "1.0.1", + "provisioningState": "Succeeded", + "status": "Connected", + "infrastructureConfig": { + "provider": "VMWare" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + } + }, + { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ResourceConnector/appliances/appliance02", + "name": "appliance02", + "type": "Microsoft.ResourceConnector/appliances", + "location": "West US", + "properties": { + "distro": "AKSEdge", + "version": "1.0.1", + "provisioningState": "Succeeded", + "status": "Connected", + "infrastructureConfig": { + "provider": "VMWare" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + } + } + ] + } + } + } +} diff --git a/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesListClusterUserCredential.json b/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesListClusterUserCredential.json new file mode 100644 index 000000000000..2bc2ea8afaf8 --- /dev/null +++ b/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesListClusterUserCredential.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-10-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "testresourcegroup", + "resourceName": "testresourcename" + }, + "responses": { + "200": { + "body": { + "hybridConnectionConfig": { + "expirationTime": 123456789, + "hybridConnectionName": "provider/type/bc36ffcf318d5bedfc05ba8b0628dba", + "token": "mockSecretOtherprovider/type/bc36ffcf318d5bedfc05ba91c157ReceiverToken", + "relay": "relayName" + }, + "kubeconfigs": [ + { + "name": "kubeconfigName1", + "value": "xxxxxxxxxxxxx" + } + ] + } + } + } +} diff --git a/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesListOperations.json b/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesListOperations.json new file mode 100644 index 000000000000..33dd29fdc6a2 --- /dev/null +++ b/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesListOperations.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2021-10-31-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ResourceConnector/operations/read", + "display": { + "description": "Gets list of Available Operations for Appliances", + "operation": "List Available Operations for Appliances", + "provider": "Microsoft ResourceConnector", + "resource": "Operations" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ResourceConnector/register/action", + "display": { + "description": "Registers the subscription for Appliance resource provider and enables the creation of Appliance.", + "operation": "Registers the Appliance Resource Provider", + "provider": "Microsoft ResourceConnector", + "resource": "Appliances Resource Provider" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ResourceConnector/appliances/read", + "display": { + "description": "Gets an Appliance resource", + "operation": "Get Appliance", + "provider": "Microsoft ResourceConnector", + "resource": "Appliances" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ResourceConnector/appliances/write", + "display": { + "description": "Creates or Updates Appliance resource", + "operation": "Create or Update Appliance", + "provider": "Microsoft ResourceConnector", + "resource": "Appliances" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ResourceConnector/appliances/delete", + "display": { + "description": "Deletes Appliance resource", + "operation": "Delete Appliance", + "provider": "Microsoft ResourceConnector", + "resource": "Appliances" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ResourceConnector/appliances/listClusterUserCredential", + "display": { + "description": "Get an appliance cluster user credential", + "operation": "List User Cluster Credential", + "provider": "Microsoft ResourceConnector", + "resource": "Appliances" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ResourceConnector/locations/operationsstatus/read", + "display": { + "description": "Get result of Appliance operation", + "operation": "Get status of Appliance operation", + "provider": "Microsoft ResourceConnector", + "resource": "Appliance Operation Status" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ResourceConnector/locations/operationresults/read", + "display": { + "description": "Get result of Appliance operation", + "operation": "Get the status of Appliance operation", + "provider": "Microsoft ResourceConnector", + "resource": "Appliance Operation Result" + }, + "origin": "user,system", + "isDataAction": false + } + ] + } + } + } +} diff --git a/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesPatch.json b/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesPatch.json new file mode 100644 index 000000000000..462dc417a2f6 --- /dev/null +++ b/specification/resourceconnector/resource-manager/Microsoft.ResourceConnector/preview/2021-10-31-preview/examples/AppliancesPatch.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-10-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "testresourcegroup", + "resourceName": "appliance01", + "parameters": { + "tags": { + "key": "value" + } + }, + "identity": { + "type": "SystemAssigned" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ResourceConnector/appliances/appliance01", + "name": "appliance01", + "type": "Microsoft.ResourceConnector/appliances", + "location": "West US", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "status": "Validating", + "distro": "AKSEdge", + "version": "1.0.1", + "infrastructureConfig": { + "provider": "VMWare" + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "11111111-1111-1111-1111-111111111111", + "tenantId": "111111-1111-1111-1111-111111111111" + } + } + } + } +} diff --git a/specification/resourceconnector/resource-manager/readme.csharp.md b/specification/resourceconnector/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..efdf54c7d81a --- /dev/null +++ b/specification/resourceconnector/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.Azure.Management.ResourceConnector + output-folder: $(csharp-sdks-folder)/ResourceConnector/management/Microsoft.Azure.Management.ResourceConnector/GeneratedProtocol +``` diff --git a/specification/resourceconnector/resource-manager/readme.go.md b/specification/resourceconnector/resource-manager/readme.go.md new file mode 100644 index 000000000000..b2aaa8767b9d --- /dev/null +++ b/specification/resourceconnector/resource-manager/readme.go.md @@ -0,0 +1,26 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + clear-output-folder: true +``` + +### Go multi-api + +```yaml $(go) && $(multiapi) +batch: + - tag: package-2021-10-31-preview +``` + +### Tag: package-2021-10-31-preview and go + +These settings apply only when `--tag=package-2021-10-31-preview --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2021-10-31-preview' && $(go) +namespace: resourceconnector +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-10-31-preview/$(namespace) +``` diff --git a/specification/resourceconnector/resource-manager/readme.md b/specification/resourceconnector/resource-manager/readme.md new file mode 100644 index 000000000000..2237cc28a268 --- /dev/null +++ b/specification/resourceconnector/resource-manager/readme.md @@ -0,0 +1,80 @@ +# Appliance + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for appliance. + +## Getting Started + +To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the appliance. + +```yaml +name: appliances +openapi-type: arm +tag: package-2021-10-31-preview +``` + +### Tag: package-2021-10-31-preview + +These settings apply only when `--tag=package-2021-10-31-preview` is specified on the command line. + +```yaml $(tag) == 'package-2021-10-31-preview' +input-file: + - Microsoft.ResourceConnector/preview/2021-10-31-preview/appliances.json +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +```yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python-track2 + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_customLocation'] +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Ruby + +See configuration in [readme.ruby.md](./readme.ruby.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) diff --git a/specification/resourceconnector/resource-manager/readme.python.md b/specification/resourceconnector/resource-manager/readme.python.md new file mode 100644 index 000000000000..340ff3700bde --- /dev/null +++ b/specification/resourceconnector/resource-manager/readme.python.md @@ -0,0 +1,24 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +These settings apply only when `--track2` is specified on the command line. + +``` yaml $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-resourceconnector +no-namespace-folders: true +package-version: 1.0.0b1 +clear-output-folder: true +``` +``` yaml $(python-mode) == 'update' && $(track2) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/resourceconnector/azure-mgmt-resourceconnector/azure/mgmt/resourceconnector/ +``` + +``` yaml $(python-mode) == 'create' && $(track2) +basic-setup-py: true +output-folder: $(python-sdks-folder)/resourceconnector/azure-mgmt-resourceconnector +``` diff --git a/specification/resourceconnector/resource-manager/readme.ruby.md b/specification/resourceconnector/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..4b11b224da95 --- /dev/null +++ b/specification/resourceconnector/resource-manager/readme.ruby.md @@ -0,0 +1,19 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +```yaml +package-name: azure_mgmt_resource_connector +package-version: 2021-10-31-preview +azure-arm: true +``` + +### Tag: package-2021-10-31-preview and ruby + +These settings apply only when `--tag=package-2021-10-31-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2021-10-31-preview' && $(ruby) +namespace: Azure::ExtendedLocation::Mgmt::V2021-10-31-preview +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_resource_connector/lib +``` \ No newline at end of file diff --git a/specification/resourceconnector/resource-manager/readme.typescript.md b/specification/resourceconnector/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..a01014bcf30f --- /dev/null +++ b/specification/resourceconnector/resource-manager/readme.typescript.md @@ -0,0 +1,14 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-resourceconnector" + output-folder: "$(typescript-sdks-folder)/sdk/resourceconnector/arm-resourceconnector" + clear-output-folder: true + payload-flattening-threshold: 1 + generate-metadata: true +``` diff --git a/specification/resourcehealth/resource-manager/readme.go.md b/specification/resourcehealth/resource-manager/readme.go.md index 0bb5f2ce8c3a..f61dd1117c7e 100644 --- a/specification/resourcehealth/resource-manager/readme.go.md +++ b/specification/resourcehealth/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: resourcehealth clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/resourcehealth/armresourcehealth +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/resourcehealth/resource-manager/readme.md b/specification/resourcehealth/resource-manager/readme.md index bf06ecded3a7..65172cd6c87d 100644 --- a/specification/resourcehealth/resource-manager/readme.md +++ b/specification/resourcehealth/resource-manager/readme.md @@ -97,6 +97,7 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-python-track2 diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/resources.json index 181020586092..11ad3eb2b568 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/resources.json @@ -864,7 +864,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-02-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-02-01/resources.json index c007d1e3e3c7..4ed68a96b402 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-02-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-02-01/resources.json @@ -964,7 +964,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-07-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-07-01/resources.json index c23e75848746..7c22ec05cff5 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-07-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-07-01/resources.json @@ -964,7 +964,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-09-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-09-01/resources.json index 2578a17df350..4c4adb259f29 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-09-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-09-01/resources.json @@ -992,7 +992,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2017-05-10/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2017-05-10/resources.json index 2ac832cd9bdd..1ba8696e8fab 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2017-05-10/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2017-05-10/resources.json @@ -613,7 +613,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1041,7 +1041,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2018-02-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2018-02-01/resources.json index 80a2cd5bad85..1d97275c7642 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2018-02-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2018-02-01/resources.json @@ -621,7 +621,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1049,7 +1049,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json index 45e1ee1ffe79..fe44edd36944 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json @@ -961,7 +961,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1394,7 +1394,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-03-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-03-01/resources.json index 326c6d1d699b..0d0143374794 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-03-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-03-01/resources.json @@ -961,7 +961,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1402,7 +1402,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-05-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-05-01/resources.json index cd62e06b5e29..92b6ca091605 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-05-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-05-01/resources.json @@ -1134,7 +1134,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1575,7 +1575,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-05-10/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-05-10/resources.json index b1461b049094..64b5b4b013f0 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-05-10/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-05-10/resources.json @@ -1210,7 +1210,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1651,7 +1651,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-07-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-07-01/resources.json index 9b2b4dbac31b..2d0d76b247dc 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-07-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-07-01/resources.json @@ -2150,7 +2150,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2648,7 +2648,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/resources.json index 9bfd882dd169..f801ac38d902 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/resources.json @@ -2150,7 +2150,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2648,7 +2648,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json index da5d6e1607ab..8d7cd9bbe5bf 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json @@ -2297,7 +2297,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2795,7 +2795,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json index 17f1ed9baf18..b45427c6a5c6 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json @@ -2335,7 +2335,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2841,7 +2841,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-08-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-08-01/resources.json index 2c0edc6cc1f5..f871f6f7ef7f 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-08-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-08-01/resources.json @@ -2360,7 +2360,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2851,7 +2851,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/resources.json index dc3e778b9198..e981ceefc5c4 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/resources.json @@ -2398,7 +2398,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2889,7 +2889,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2021-01-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2021-01-01/resources.json index 20777cc6065c..3afd7e5dcca8 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2021-01-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2021-01-01/resources.json @@ -2408,7 +2408,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2921,7 +2921,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2021-04-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2021-04-01/resources.json index ecdf5fdaa52c..29cd3e0ecbf0 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2021-04-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2021-04-01/resources.json @@ -2444,7 +2444,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2942,7 +2942,7 @@ "in": "query", "required": false, "type": "string", - "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.


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`." + "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", @@ -2957,7 +2957,7 @@ "required": false, "type": "integer", "format": "int32", - "description": "The maximum number of results to return. If null is passed, returns all resources." + "description": "The number of results to return. If null is passed, returns all resources." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/resources/resource-manager/readme.go.md b/specification/resources/resource-manager/readme.go.md index 2909b89b6ebd..82c8b1f71de4 100644 --- a/specification/resources/resource-manager/readme.go.md +++ b/specification/resources/resource-manager/readme.go.md @@ -20,7 +20,7 @@ go: ``` yaml $(go) && $(package-resources) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/resources/armresources +module-name: sdk/resourcemanager/resources/armresources module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/resources/resource-manager/readme.md b/specification/resources/resource-manager/readme.md index 840187a3361e..dc31314e2441 100644 --- a/specification/resources/resource-manager/readme.md +++ b/specification/resources/resource-manager/readme.md @@ -848,6 +848,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-node - repo: azure-sdk-for-js - repo: azure-resource-manager-schemas diff --git a/specification/scheduler/resource-manager/readme.go.md b/specification/scheduler/resource-manager/readme.go.md index 1e30d8c16630..a1135b0fe9cc 100644 --- a/specification/scheduler/resource-manager/readme.go.md +++ b/specification/scheduler/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: scheduler clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/scheduler/armscheduler +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/scheduler/resource-manager/readme.md b/specification/scheduler/resource-manager/readme.md index 0c2c1b887130..097875f7eec7 100644 --- a/specification/scheduler/resource-manager/readme.md +++ b/specification/scheduler/resource-manager/readme.md @@ -74,6 +74,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_scheduler'] diff --git a/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2021-10/examples/OperationSchema_GetById.json b/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2021-10/examples/OperationSchema_GetById.json new file mode 100644 index 000000000000..e8c87d3eefbb --- /dev/null +++ b/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2021-10/examples/OperationSchema_GetById.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "endpoint": "mynamespace.servicebus.windows.net", + "id": "a489dc4916744e3db72dda8f9693f342", + "api-version": "2021-10" + }, + "responses": { + "200": { + "headers": { + "Location": "https://sample-namespace.servicebus.windows.net/$schemagroups/sample-sr-group/schemas/sample-schema-name/versions/3?api-version=2021-11", + "Content-Type": "application/json;serialization=avro", + "Schema-Id": "a489dc4916744e3db72dda8f9693f342", + "Schema-Id-Location": "https://sample-namespace.servicebus.windows.net/$schemagroups?api-version=2021-11&schema-id=a489dc4916744e3db72dda8f9693f342", + "Schema-Group-Name": "sample-sr-group", + "Schema-Name": "sample-schema-name", + "Schema-Version": 3 + }, + "body": "{\"type\":\"record\",\"name\":\"AvroUser\",\"namespace\":\"com.azure.schemaregistry.samples\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"favoriteNumber\",\"type\":\"int\"}]}" + } + } +} diff --git a/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2021-10/examples/OperationSchema_GetSchemaGroups.json b/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2021-10/examples/OperationSchema_GetSchemaGroups.json new file mode 100644 index 000000000000..866df9fcef59 --- /dev/null +++ b/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2021-10/examples/OperationSchema_GetSchemaGroups.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "endpoint": "mynamespace.servicebus.windows.net", + "api-version": "2021-10" + }, + "responses": { + "200": { + "body": { + "schemaGroups": [ + "group1", + "group2", + "group3" + ] + } + } + } +} diff --git a/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2021-10/examples/OperationSchema_GetSchemaVersions.json b/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2021-10/examples/OperationSchema_GetSchemaVersions.json new file mode 100644 index 000000000000..6c9f856a4571 --- /dev/null +++ b/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2021-10/examples/OperationSchema_GetSchemaVersions.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "endpoint": "mynamespace.servicebus.windows.net", + "groupName": "sample-sr-group", + "schemaName": "sample-schema-name", + "api-version": "2021-10" + }, + "responses": { + "200": { + "body": { + "schemaVersions": [ + 0, + 1, + 2 + ] + } + } + } +} diff --git a/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2021-10/examples/OperationSchema_QueryIdByContent.json b/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2021-10/examples/OperationSchema_QueryIdByContent.json new file mode 100644 index 000000000000..7194f8a6da95 --- /dev/null +++ b/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2021-10/examples/OperationSchema_QueryIdByContent.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "endpoint": "mynamespace.servicebus.windows.net", + "groupName": "sample-sr-group", + "schemaName": "sample-schema-name", + "schemaContent": "{\"type\":\"record\",\"name\":\"ExampleUser\",\"namespace\":\"com.azure.schemaregistry.samples\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"favoriteNumber\",\"type\":\"int\"}]}", + "api-version": "2021-10" + }, + "responses": { + "204": { + "headers": { + "Location": "https://sample-namespace.servicebus.windows.net/$schemagroups/sample-sr-group/schemas/sample-schema-name/versions/3?api-version=2021-11", + "Schema-Id": "a489dc4916744e3db72dda8f9693f342", + "Schema-Id-Location": "https://sample-namespace.servicebus.windows.net/$schemagroups?api-version=2021-11&schema-id=a489dc4916744e3db72dda8f9693f342", + "Schema-Group-Name": "sample-sr-group", + "Schema-Name": "sample-schema-name", + "Schema-Version": 3 + } + }, + "415": { + "headers": { + "x-ms-error-code": "InvalidSchemaType" + }, + "body": { + "error": { + "code": "InvalidSchemaType", + "message": "Invalid schema type for POST request. 'not-valid' is not supported. TrackingId:7fe9dcfb-0fca-4ab2-9beb-473aa5fe6406_G23, SystemTracker:endpoint:$schemaGroups/sample-sr-group/schemas/sample-schema-name:get-id, Timestamp:2021-11-10T07:53:32" + } + } + } + } +} diff --git a/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2021-10/examples/OperationSchema_Register.json b/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2021-10/examples/OperationSchema_Register.json new file mode 100644 index 000000000000..e35597f1d9fb --- /dev/null +++ b/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2021-10/examples/OperationSchema_Register.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "endpoint": "mynamespace.servicebus.windows.net", + "groupName": "sample-sr-group", + "schemaName": "sample-schema-name", + "schemaContent": "{\"type\":\"record\",\"name\":\"ExampleUser\",\"namespace\":\"com.azure.schemaregistry.samples\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"favoriteNumber\",\"type\":\"int\"}]}", + "api-version": "2021-10" + }, + "responses": { + "204": { + "headers": { + "Location": "https://sample-namespace.servicebus.windows.net/$schemagroups/sample-sr-group/schemas/sample-schema-name/versions/3?api-version=2021-11", + "Schema-Id": "a489dc4916744e3db72dda8f9693f342", + "Schema-Id-Location": "https://sample-namespace.servicebus.windows.net/$schemagroups?api-version=2021-11&schema-id=a489dc4916744e3db72dda8f9693f342", + "Schema-Group-Name": "sample-sr-group", + "Schema-Name": "sample-schema-name", + "Schema-Version": 3 + } + }, + "415": { + "headers": { + "x-ms-error-code": "InvalidSchemaType" + }, + "body": { + "error": { + "code": "InvalidSchemaType", + "message": "Invalid schema type for PUT request. 'not-valid' is not supported. TrackingId:a20c52d6-9818-4748-b91a-aad9ca35212e_G23, SystemTracker:endpoint:$schemaGroups/sample-sr-group/schemas/sample-schema-name, Timestamp:2021-11-10T07:53:30" + } + } + } + } +} diff --git a/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2021-10/schemaregistry.json b/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2021-10/schemaregistry.json new file mode 100644 index 000000000000..6201347d8621 --- /dev/null +++ b/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2021-10/schemaregistry.json @@ -0,0 +1,509 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Schema Registry", + "version": "2021-10", + "description": "Azure Schema Registry is as a central schema repository, with support for versioning, management, compatibility checking, and RBAC." + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": true, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "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": { + "/$schemaGroups": { + "get": { + "summary": "Get list of schema groups.", + "description": "Gets the list of schema groups user is authorized to access.", + "x-ms-examples": { + "Get schema by ID": { + "$ref": "./examples/OperationSchema_GetSchemaGroups.json" + } + }, + "operationId": "SchemaGroups_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SchemaGroups" + } + }, + "default": { + "description": "An error response received from the Azure Schema Registry service.", + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "Error code for specific error that occurred." + } + }, + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/$schemaGroups/$schemas/{id}": { + "get": { + "summary": "Get a registered schema by its unique ID reference.", + "description": "Gets a registered schema by its unique ID. Azure Schema Registry guarantees that ID is unique within a namespace. Operation response type is based on serialization of schema requested.", + "x-ms-examples": { + "Get schema by ID": { + "$ref": "./examples/OperationSchema_GetById.json" + } + }, + "operationId": "Schema_GetById", + "produces": [ + "application/json; serialization=Avro" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "References specific schema in registry namespace.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Location": { + "type": "string", + "description": "URL location of schema, identified by schema group, schema name, and version." + }, + "Content-Type": { + "description": "The content type for given schema. Each schema type has an associated content-type.", + "type": "string" + }, + "Schema-Id": { + "type": "string", + "description": "References specific schema in registry namespace." + }, + "Schema-Id-Location": { + "type": "string", + "description": "URL location of schema, identified by schema ID." + }, + "Schema-Group-Name": { + "type": "string", + "description": "References schema group." + }, + "Schema-Name": { + "type": "string", + "description": "References schema name." + }, + "Schema-Version": { + "type": "integer", + "description": "Version of the returned schema." + } + }, + "schema": { + "description": "Binary representation of the registered schema.", + "type": "file" + } + }, + "default": { + "description": "An error response received from the Azure Schema Registry service.", + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "Error code for specific error that occurred." + } + }, + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/$schemaGroups/{groupName}/schemas/{schemaName}/versions": { + "get": { + "summary": "Get list schema versions.", + "description": "Gets the list of all versions of one schema.", + "x-ms-examples": { + "Get schema by ID": { + "$ref": "./examples/OperationSchema_GetSchemaVersions.json" + } + }, + "operationId": "Schema_GetVersions", + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "groupName", + "in": "path", + "description": "Schema group under which schema is registered. Group's serialization type should match the serialization type specified in the request.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SchemaName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SchemaVersions" + } + }, + "default": { + "description": "An error response received from the Azure Schema Registry service.", + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "Error code for specific error that occurred." + } + }, + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/$schemaGroups/{groupName}/schemas/{schemaName}:get-id": { + "post": { + "summary": "Get ID for existing schema.", + "description": "Gets the ID referencing an existing schema within the specified schema group, as matched by schema content comparison.", + "x-ms-examples": { + "Get schema ID": { + "$ref": "./examples/OperationSchema_QueryIdByContent.json" + } + }, + "operationId": "Schema_QueryIdByContent", + "consumes": [ + "application/json; serialization=Avro" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "groupName", + "in": "path", + "description": "Schema group under which schema is registered. Group's serialization type should match the serialization type specified in the request.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SchemaName" + }, + { + "name": "schemaContent", + "in": "body", + "description": "String representation (UTF-8) of the registered schema.", + "required": true, + "schema": { + "type": "string", + "format": "binary" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content", + "headers": { + "Location": { + "type": "string", + "description": "URL location of schema, identified by schema group, schema name, and version." + }, + "Schema-Id": { + "type": "string", + "description": "References specific schema in registry namespace." + }, + "Schema-Id-Location": { + "type": "string", + "description": "URL location of schema, identified by schema ID." + }, + "Schema-Group-Name": { + "type": "string", + "description": "References schema group." + }, + "Schema-Name": { + "type": "string", + "description": "References schema name." + }, + "Schema-Version": { + "type": "integer", + "description": "Version of the returned schema." + } + } + }, + "415": { + "description": "Unsupported Media Type - Content type of the supplied schema is unsupported by schema group.", + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "Error code for specific error that occurred." + } + }, + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "default": { + "description": "An error response received from the Azure Schema Registry service.", + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "Error code for specific error that occurred." + } + }, + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/$schemaGroups/{groupName}/schemas/{schemaName}": { + "put": { + "summary": "Register new schema", + "description": "Register new schema. If schema of specified name does not exist in specified group, schema is created at version 1. If schema of specified name exists already in specified group, schema is created at latest version + 1.\n", + "x-ms-examples": { + "Register schema": { + "$ref": "./examples/OperationSchema_Register.json" + } + }, + "operationId": "Schema_Register", + "consumes": [ + "application/json; serialization=Avro" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "groupName", + "in": "path", + "description": "Schema group under which schema should be registered. Group's serialization type should match the serialization type specified in the request.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SchemaName" + }, + { + "name": "schemaContent", + "in": "body", + "description": "String representation (UTF-8) of the schema being registered.", + "required": true, + "schema": { + "type": "string", + "format": "binary" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content", + "headers": { + "Location": { + "type": "string", + "description": "URL location of schema, identified by schema group, schema name, and version." + }, + "Schema-Id": { + "type": "string", + "description": "References specific schema in registry namespace." + }, + "Schema-Id-Location": { + "type": "string", + "description": "URL location of schema, identified by schema ID." + }, + "Schema-Group-Name": { + "type": "string", + "description": "References schema group." + }, + "Schema-Name": { + "type": "string", + "description": "References schema name." + }, + "Schema-Version": { + "type": "integer", + "description": "Version of the returned schema." + } + } + }, + "415": { + "description": "Unsupported Media Type - Content type of the supplied schema is unsupported by schema group.", + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "Error code for specific error that occurred." + } + }, + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "default": { + "description": "An error response received from the Azure Schema Registry service.", + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "Error code for specific error that occurred." + } + }, + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "SchemaId": { + "type": "object", + "description": "Object received from the registry containing schema identifiers.", + "properties": { + "id": { + "type": "string", + "description": "Schema ID that uniquely identifies a schema in the registry namespace." + } + } + }, + "SchemaGroups": { + "type": "object", + "description": "Array received from the registry containing the list of schema groups.", + "properties": { + "schemaGroups": { + "type": "array", + "description": "Array of schema groups.", + "items": { + "$ref": "#/definitions/SchemaGroup" + } + } + } + }, + "SchemaGroup": { + "type": "string", + "description": "Name of individual schema group in list of schema groups." + }, + "SchemaVersions": { + "type": "object", + "description": "Array received from the registry containing the list of versions for specific schema.", + "properties": { + "schemaVersions": { + "type": "array", + "description": "Array of schema groups.", + "items": { + "$ref": "#/definitions/SchemaVersion" + } + } + } + }, + "SchemaVersion": { + "type": "integer", + "description": "Version number of specific schema." + }, + "Error": { + "type": "object", + "description": "An error response returned from Azure Schema Registry service.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDetail" + } + }, + "required": [ + "error" + ] + }, + "ErrorDetail": { + "description": "Error response returned from Azure Schema Registry service.", + "properties": { + "code": { + "type": "string", + "description": "Type of error." + }, + "message": { + "type": "string", + "description": "Brief description of error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "description": "Error message details to help user understand/debug failure." + } + }, + "required": [ + "code", + "message" + ] + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Schema Registry service API version that should be used." + }, + "Endpoint": { + "name": "endpoint", + "description": "The Schema Registry service endpoint, for example my-namespace.servicebus.windows.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + }, + "SchemaName": { + "name": "schemaName", + "in": "path", + "description": "Name of schema.", + "required": true, + "type": "string", + "maxLength": 50, + "pattern": "^[A-Za-z0-9][^\\\\/$:]*$", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/schemaregistry/data-plane/readme.md b/specification/schemaregistry/data-plane/readme.md new file mode 100644 index 000000000000..9138a7dd97a6 --- /dev/null +++ b/specification/schemaregistry/data-plane/readme.md @@ -0,0 +1,39 @@ +# schemaregistry + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for schemaregistry. + +## Getting Started + +To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the schemaregistry. + +```yaml +openapi-type: data-plane +tag: package-2021-10 +``` + +### Tag: package-2021-10 + +These settings apply only when `--tag=package-2021-10` is specified on the command line. + +```yaml $(tag) == 'package-2021-10' +input-file: + - Microsoft.EventHub/stable/2021-10/schemaregistry.json +``` diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json index 0d1de8fcf10a..603788f0632e 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json @@ -8574,7 +8574,8 @@ "ro", "sr-Cyrl", "sr-Latn", - "sk" + "sk", + "unk" ], "x-ms-enum": { "name": "OcrSkillLanguage", @@ -8683,6 +8684,10 @@ { "value": "sk", "description": "Slovak" + }, + { + "value": "unk", + "description": "Unknown. If the language is explicitly set to \"unk\", the language will be auto-detected." } ] }, diff --git a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceResetSkills.json b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceResetSkills.json index b301274e722b..1cb05724a302 100644 --- a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceResetSkills.json +++ b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceResetSkills.json @@ -3,10 +3,12 @@ "endpoint": "https://myservice.search.windows.net", "skillsetName": "mySkillset", "api-version": "2021-04-30-preview", - "skillNames": [ - "skillName1", - "skillName2" - ] + "skillNames": { + "skillNames": [ + "skillName1", + "skillName2" + ] + } }, "responses": { "204": {} diff --git a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchindex.json b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchindex.json index e3739babde34..97bae8ac0308 100644 --- a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchindex.json +++ b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchindex.json @@ -1455,7 +1455,7 @@ "lexicon" ], "x-ms-enum": { - "name": "Speller", + "name": "QuerySpellerType", "modelAsString": true, "values": [ { @@ -1479,7 +1479,7 @@ "extractive" ], "x-ms-enum": { - "name": "Answers", + "name": "QueryAnswerType", "modelAsString": true, "values": [ { @@ -1503,7 +1503,7 @@ "extractive" ], "x-ms-enum": { - "name": "Captions", + "name": "QueryCaptionType", "modelAsString": true, "values": [ { diff --git a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchservice.json b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchservice.json index 50a233b4d3b0..b018c246264b 100644 --- a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchservice.json +++ b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchservice.json @@ -361,6 +361,7 @@ "required": false, "schema": { "type": "object", + "x-ms-client-name": "DocumentKeysOrIds", "properties": { "documentKeys": { "type": "array", @@ -500,10 +501,10 @@ "$ref": "#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/DisableCacheReprocessingChangeDetectionParameter" + "$ref": "#/parameters/IgnoreResetRequirementsParameter" }, { - "$ref": "#/parameters/IgnoreResetRequirementsParameter" + "$ref": "#/parameters/DisableCacheReprocessingChangeDetectionParameter" } ], "x-ms-request-id": "request-id", @@ -814,10 +815,10 @@ "$ref": "#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/DisableCacheReprocessingChangeDetectionParameter" + "$ref": "#/parameters/IgnoreResetRequirementsParameter" }, { - "$ref": "#/parameters/IgnoreResetRequirementsParameter" + "$ref": "#/parameters/DisableCacheReprocessingChangeDetectionParameter" } ], "x-ms-request-id": "request-id", @@ -1061,6 +1062,8 @@ "in": "body", "required": true, "schema": { + "type": "object", + "x-ms-client-name": "SkillNames", "properties": { "skillNames": { "type": "array", @@ -8887,7 +8890,8 @@ "ro", "sr-Cyrl", "sr-Latn", - "sk" + "sk", + "unk" ], "x-ms-enum": { "name": "OcrSkillLanguage", @@ -8996,6 +9000,10 @@ { "value": "sk", "description": "Slovak" + }, + { + "value": "unk", + "description": "Unknown. If the language is explicitly set to \"unk\", the language will be auto-detected." } ] }, @@ -10033,6 +10041,7 @@ }, "IgnoreResetRequirementsParameter": { "name": "ignoreResetRequirements", + "x-ms-client-name": "skipIndexerResetRequirementForCache", "in": "query", "required": false, "type": "boolean", diff --git a/specification/search/resource-manager/readme.go.md b/specification/search/resource-manager/readme.go.md index 75c6f5d2511c..d7d9c6bf37ac 100644 --- a/specification/search/resource-manager/readme.go.md +++ b/specification/search/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: search clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/search/armsearch +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/search/resource-manager/readme.md b/specification/search/resource-manager/readme.md index fe322809c162..134018f1d4e5 100644 --- a/specification/search/resource-manager/readme.md +++ b/specification/search/resource-manager/readme.md @@ -106,6 +106,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/automations.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/automations.json index e32bc024682e..5e86c36647df 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/automations.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/automations.json @@ -376,7 +376,9 @@ "description": "A valid event source type.", "enum": [ "Assessments", + "AssessmentsSnapshot", "SubAssessments", + "SubAssessmentsSnapshot", "Alerts", "SecureScores", "SecureScoresSnapshot", @@ -392,9 +394,15 @@ { "value": "Assessments" }, + { + "value": "AssessmentsSnapshot" + }, { "value": "SubAssessments" }, + { + "value": "SubAssessmentsSnapshot" + }, { "value": "Alerts" }, diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json index 16c247df7bb7..54d71c5a4386 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json @@ -275,6 +275,12 @@ "type": "object", "description": "Custom Assessment Automation", "properties": { + "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" + }, "properties": { "x-ms-client-flatten": true, "description": "describes Custom Assessment Automation properties.", @@ -287,6 +293,22 @@ } ] }, + "customAssessmentAutomationRequest": { + "type": "object", + "description": "Custom Assessment Automation request", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "describes Custom Assessment Automation request properties.", + "$ref": "#/definitions/customAssessmentAutomationRequestProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, "customAssessmentAutomationProperties": { "type": "object", "description": "describes the Custom Assessment Automation properties", @@ -321,6 +343,62 @@ }, "x-ms-client-default": "Low" }, + "displayName": { + "description": "The display name of the assessments generated by this assessment automation.", + "type": "string" + }, + "description": { + "description": "The description to relate to the assessments generated by this assessment automation.", + "type": "string" + }, + "remediationDescription": { + "description": "The remediation description to relate to the assessments generated by this assessment automation.", + "type": "string" + }, + "assessmentKey": { + "description": "The assessment metadata key used when an assessment is generated for this assessment automation.", + "type": "string" + } + } + }, + "customAssessmentAutomationRequestProperties": { + "type": "object", + "description": "describes the Custom Assessment Automation properties", + "properties": { + "compressedQuery": { + "description": "Base 64 encoded KQL query representing the assessment automation results required.", + "type": "string" + }, + "supportedCloud": { + "description": "Relevant cloud for the custom assessment automation.", + "type": "string", + "enum": [ + "AWS" + ], + "x-ms-enum": { + "name": "supportedCloudEnum", + "modelAsString": true + }, + "x-ms-client-default": "AWS" + }, + "severity": { + "description": "The severity to relate to the assessments generated by this assessment automation.", + "type": "string", + "enum": [ + "High", + "Medium", + "Low" + ], + "x-ms-enum": { + "name": "severityEnum", + "modelAsString": true + }, + "x-ms-client-default": "Low" + }, + "displayName": { + "description": "The display name of the assessments generated by this assessment automation.", + "type": "string" + }, "description": { "description": "The description to relate to the assessments generated by this assessment automation.", "type": "string" @@ -347,7 +425,7 @@ "description": "Custom Assessment Automation body", "required": true, "schema": { - "$ref": "#/definitions/customAssessmentAutomation" + "$ref": "#/definitions/customAssessmentAutomationRequest" }, "x-ms-parameter-location": "method" } diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customEntityStoreAssignment.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customEntityStoreAssignment.json index ba7ced35df38..5aedaab3a909 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customEntityStoreAssignment.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customEntityStoreAssignment.json @@ -275,6 +275,12 @@ "type": "object", "description": "Custom entity store assignment", "properties": { + "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" + }, "properties": { "x-ms-client-flatten": true, "description": "describes custom entity store assignment properties.", diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationCreate_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationCreate_example.json index 9d7ffbf8c222..322b0df8d380 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationCreate_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationCreate_example.json @@ -6,9 +6,10 @@ "customAssessmentAutomationName": "MyCustomAssessmentAutomation", "customAssessmentAutomationBody": { "properties": { - "compressedQuery": "H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA=", + "compressedQuery": "DQAKAEkAYQBtAF8ARwByAG8AdQBwAA0ACgB8ACAAZQB4AHQAZQBuAGQAIABIAGUAYQBsAHQAaABTAHQAYQB0AHUAcwAgAD0AIABpAGYAZgAoAHQAbwBzAHQAcgBpAG4AZwAoAFIAZQBjAG8AcgBkAC4AVQBzAGUAcgBOAGEAbQBlACkAIABjAG8AbgB0AGEAaQBuAHMAIAAnAHUAcwBlAHIAJwAsACAAJwBVAE4ASABFAEEATABUAEgAWQAnACwAIAAnAEgARQBBAEwAVABIAFkAJwApAA0ACgA=", "supportedCloud": "AWS", "severity": "Medium", + "displayName": "Password Policy", "description": "Data should be encrypted", "remediationDescription": "Encrypt store by..." } @@ -20,12 +21,22 @@ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/33e7cc6e-a139-4723-a0e5-76993aee0771", "name": "33e7cc6e-a139-4723-a0e5-76993aee0771", "type": "Microsoft.Security/customAssessmentAutomations", + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, "properties": { - "compressedQuery": "H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA=", + "compressedQuery": "DQAKAEkAYQBtAF8ARwByAG8AdQBwAA0ACgB8ACAAZQB4AHQAZQBuAGQAIABIAGUAYQBsAHQAaABTAHQAYQB0AHUAcwAgAD0AIABpAGYAZgAoAHQAbwBzAHQAcgBpAG4AZwAoAFIAZQBjAG8AcgBkAC4AVQBzAGUAcgBOAGEAbQBlACkAIABjAG8AbgB0AGEAaQBuAHMAIAAnAHUAcwBlAHIAJwAsACAAJwBVAE4ASABFAEEATABUAEgAWQAnACwAIAAnAEgARQBBAEwAVABIAFkAJwApAA0ACgA=", "supportedCloud": "AWS", "severity": "Medium", - "description": "Data should be encrypted", - "remediationDescription": "Encrypt store by..." + "displayName": "Password Policy", + "description": "organization passwords policy", + "remediationDescription": "Change password policy to...", + "assessmentKey": "d5f442f7-7e77-4bcf-a450-a9c1b9a94eeb" } } }, @@ -34,12 +45,22 @@ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/33e7cc6e-a139-4723-a0e5-76993aee0771", "name": "33e7cc6e-a139-4723-a0e5-76993aee0771", "type": "Microsoft.Security/customAssessmentAutomations", + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:01:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:01:50.328Z" + }, "properties": { - "compressedQuery": "H4sIAAAAAAAAAwvIz8lMrgzKz0nlqlFIrShJzUtR8Cz2SE3MKcmoVLBVUE9LzClOVQcA1IFnficAAAA=", + "compressedQuery": "DQAKAEkAYQBtAF8AUABhAHMAcwB3AG8AcgBkAFAAbwBsAGkAYwB5ACAADQAKAHwAIABlAHgAdABlAG4AZAAgAEgAZQBhAGwAdABoAFMAdABhAHQAdQBzACAAPQAgAGkAZgBmACgAdABvAGkAbgB0ACgAUgBlAGMAbwByAGQALgBNAGkAbgBpAG0AdQBtAFAAYQBzAHMAdwBvAHIAZABMAGUAbgBnAHQAaAApACAAPAAgADgALAAgACcAVQBOAEgARQBBAEwAVABIAFkAJwAsACAAJwBIAEUAQQBMAFQASABZACcAKQANAAoA", "supportedCloud": "AWS", - "severity": "Low", - "description": "organization passwords policy", - "remediationDescription": "Change password policy to..." + "severity": "Medium", + "displayName": "Customized Encryption Rules", + "description": "Data should be encrypted", + "remediationDescription": "Encrypt store by...", + "assessmentKey": "fc1dbcd0-502c-4eab-9312-4014cfc8ea56" } } } diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationGet_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationGet_example.json index 9b35fa5db07f..189b4c7b96ae 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationGet_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationGet_example.json @@ -11,12 +11,22 @@ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation", "name": "MyCustomAssessmentAutomation", "type": "Microsoft.Security/customAssessmentAutomations", + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, "properties": { - "compressedQuery": "H4sIAAAAAAAAAwvIz8lMrgzKz0nlqlFIrShJzUtR8Cz2SE3MKcmoVLBVUE9LzClOVQcA1IFnficAAAA=", + "compressedQuery": "DQAKAEkAYQBtAF8ARwByAG8AdQBwAA0ACgB8ACAAZQB4AHQAZQBuAGQAIABIAGUAYQBsAHQAaABTAHQAYQB0AHUAcwAgAD0AIABpAGYAZgAoAHQAbwBzAHQAcgBpAG4AZwAoAFIAZQBjAG8AcgBkAC4AVQBzAGUAcgBOAGEAbQBlACkAIABjAG8AbgB0AGEAaQBuAHMAIAAnAHUAcwBlAHIAJwAsACAAJwBVAE4ASABFAEEATABUAEgAWQAnACwAIAAnAEgARQBBAEwAVABIAFkAJwApAA0ACgA=", "supportedCloud": "AWS", "severity": "Low", + "displayName": "Password Policy", "description": "organization passwords policy", - "remediationDescription": "Change password policy to..." + "remediationDescription": "Change password policy to...", + "assessmentKey": "d5f442f7-7e77-4bcf-a450-a9c1b9a94eeb" } } } diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListByResourceGroup_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListByResourceGroup_example.json index 5be20c22f84a..89aed1afb5df 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListByResourceGroup_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListByResourceGroup_example.json @@ -12,24 +12,44 @@ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation1", "name": "MyCustomAssessmentAutomation1", "type": "Microsoft.Security/customAssessmentAutomations", + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, "properties": { - "compressedQuery": "H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA=", + "compressedQuery": "DQAKAEkAYQBtAF8ARwByAG8AdQBwAA0ACgB8ACAAZQB4AHQAZQBuAGQAIABIAGUAYQBsAHQAaABTAHQAYQB0AHUAcwAgAD0AIABpAGYAZgAoAHQAbwBzAHQAcgBpAG4AZwAoAFIAZQBjAG8AcgBkAC4AVQBzAGUAcgBOAGEAbQBlACkAIABjAG8AbgB0AGEAaQBuAHMAIAAnAHUAcwBlAHIAJwAsACAAJwBVAE4ASABFAEEATABUAEgAWQAnACwAIAAnAEgARQBBAEwAVABIAFkAJwApAA0ACgA=", "supportedCloud": "AWS", "severity": "Medium", - "description": "Data should be encrypted", - "remediationDescription": "Encrypt store by..." + "displayName": "Password Policy", + "description": "organization passwords policy", + "remediationDescription": "Change password policy to...", + "assessmentKey": "d5f442f7-7e77-4bcf-a450-a9c1b9a94eeb" } }, { "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation2", "name": "MyCustomAssessmentAutomation2", "type": "Microsoft.Security/customAssessmentAutomations", + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:01:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:01:50.328Z" + }, "properties": { - "compressedQuery": "H4sIAAAAAAAAAwvIz8lMrgzKz0nlqlFIrShJzUtR8Cz2SE3MKcmoVLBVUE9LzClOVQcA1IFnficAAAA=", + "compressedQuery": "DQAKAEkAYQBtAF8AUABhAHMAcwB3AG8AcgBkAFAAbwBsAGkAYwB5ACAADQAKAHwAIABlAHgAdABlAG4AZAAgAEgAZQBhAGwAdABoAFMAdABhAHQAdQBzACAAPQAgAGkAZgBmACgAdABvAGkAbgB0ACgAUgBlAGMAbwByAGQALgBNAGkAbgBpAG0AdQBtAFAAYQBzAHMAdwBvAHIAZABMAGUAbgBnAHQAaAApACAAPAAgADgALAAgACcAVQBOAEgARQBBAEwAVABIAFkAJwAsACAAJwBIAEUAQQBMAFQASABZACcAKQANAAoA", "supportedCloud": "AWS", "severity": "Low", + "displayName": "Password Policy", "description": "organization passwords policy", - "remediationDescription": "Change password policy to..." + "remediationDescription": "Change password policy to...", + "assessmentKey": "fc1dbcd0-502c-4eab-9312-4014cfc8ea56" } } ], diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListBySubscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListBySubscription_example.json index 3e11c0fd88e7..d0e70788c1e5 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListBySubscription_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListBySubscription_example.json @@ -11,24 +11,44 @@ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation1", "name": "MyCustomAssessmentAutomation1", "type": "Microsoft.Security/customAssessmentAutomations", + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, "properties": { - "compressedQuery": "H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA=", + "compressedQuery": "DQAKAEkAYQBtAF8ARwByAG8AdQBwAA0ACgB8ACAAZQB4AHQAZQBuAGQAIABIAGUAYQBsAHQAaABTAHQAYQB0AHUAcwAgAD0AIABpAGYAZgAoAHQAbwBzAHQAcgBpAG4AZwAoAFIAZQBjAG8AcgBkAC4AVQBzAGUAcgBOAGEAbQBlACkAIABjAG8AbgB0AGEAaQBuAHMAIAAnAHUAcwBlAHIAJwAsACAAJwBVAE4ASABFAEEATABUAEgAWQAnACwAIAAnAEgARQBBAEwAVABIAFkAJwApAA0ACgA=", "supportedCloud": "AWS", "severity": "Medium", - "description": "Data should be encrypted", - "remediationDescription": "Encrypt store by..." + "displayName": "Password Policy", + "description": "organization passwords policy", + "remediationDescription": "Change password policy to...", + "assessmentKey": "d5f442f7-7e77-4bcf-a450-a9c1b9a94eeb" } }, { "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation2", "name": "MyCustomAssessmentAutomation2", "type": "Microsoft.Security/customAssessmentAutomations", + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:01:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:01:50.328Z" + }, "properties": { - "compressedQuery": "H4sIAAAAAAAAAwvIz8lMrgzKz0nlqlFIrShJzUtR8Cz2SE3MKcmoVLBVUE9LzClOVQcA1IFnficAAAA=", + "compressedQuery": "DQAKAEkAYQBtAF8AUABhAHMAcwB3AG8AcgBkAFAAbwBsAGkAYwB5ACAADQAKAHwAIABlAHgAdABlAG4AZAAgAEgAZQBhAGwAdABoAFMAdABhAHQAdQBzACAAPQAgAGkAZgBmACgAdABvAGkAbgB0ACgAUgBlAGMAbwByAGQALgBNAGkAbgBpAG0AdQBtAFAAYQBzAHMAdwBvAHIAZABMAGUAbgBnAHQAaAApACAAPAAgADgALAAgACcAVQBOAEgARQBBAEwAVABIAFkAJwAsACAAJwBIAEUAQQBMAFQASABZACcAKQANAAoA", "supportedCloud": "AWS", "severity": "Low", + "displayName": "Password Policy", "description": "organization passwords policy", - "remediationDescription": "Change password policy to..." + "remediationDescription": "Change password policy to...", + "assessmentKey": "fc1dbcd0-502c-4eab-9312-4014cfc8ea56" } } ], diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentCreate_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentCreate_example.json index 7bb1740f357d..4cba8dc52cc9 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentCreate_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentCreate_example.json @@ -16,6 +16,14 @@ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/33e7cc6e-a139-4723-a0e5-76993aee0771", "name": "33e7cc6e-a139-4723-a0e5-76993aee0771", "type": "Microsoft.Security/customEntityStoreAssignments", + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, "properties": { "principal": "aaduser=f3923a3e-ad57-4752-b1a9-fbf3c8e5e082;72f988bf-86f1-41af-91ab-2d7cd011db47", "entityStoreDatabaseLink": "https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA=" @@ -27,6 +35,14 @@ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/33e7cc6e-a139-4723-a0e5-76993aee0771", "name": "33e7cc6e-a139-4723-a0e5-76993aee0771", "type": "Microsoft.Security/customEntityStoreAssignments", + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:01:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:01:50.328Z" + }, "properties": { "principal": "aaduser=f3923a3e-ad57-4752-b1a9-fbf3c8e5e082;72f988bf-86f1-41af-91ab-2d7cd011db47", "entityStoreDatabaseLink": "https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA=" diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentGet_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentGet_example.json index 99ec085883fa..f9f50ea3620a 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentGet_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentGet_example.json @@ -11,6 +11,14 @@ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/33e7cc6e-a139-4723-a0e5-76993aee0771", "name": "33e7cc6e-a139-4723-a0e5-76993aee0771", "type": "Microsoft.Security/customEntityStoreAssignments", + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, "properties": { "principal": "aaduser=f3923a3e-ad57-4752-b1a9-fbf3c8e5e082;72f988bf-86f1-41af-91ab-2d7cd011db47", "entityStoreDatabaseLink": "https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA=" diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentListByResourceGroup_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentListByResourceGroup_example.json index 404f6dd0b6ae..cfb735592f80 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentListByResourceGroup_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentListByResourceGroup_example.json @@ -12,6 +12,14 @@ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/33e7cc6e-a139-4723-a0e5-76993aee0771", "name": "33e7cc6e-a139-4723-a0e5-76993aee0771", "type": "Microsoft.Security/customEntityStoreAssignments", + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, "properties": { "principal": "aaduser=f3923a3e-ad57-4752-b1a9-fbf3c8e5e082;72f988bf-86f1-41af-91ab-2d7cd011db47", "entityStoreDatabaseLink": "https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA=" diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentListBySubscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentListBySubscription_example.json index a37928e26010..18bc9a3e319d 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentListBySubscription_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentListBySubscription_example.json @@ -11,6 +11,14 @@ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/33e7cc6e-a139-4723-a0e5-76993aee0771", "name": "33e7cc6e-a139-4723-a0e5-76993aee0771", "type": "Microsoft.Security/customEntityStoreAssignments", + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, "properties": { "principal": "aaduser=f3923a3e-ad57-4752-b1a9-fbf3c8e5e082;72f988bf-86f1-41af-91ab-2d7cd011db47", "entityStoreDatabaseLink": "https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA=" @@ -20,6 +28,14 @@ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/a400695c-4728-d5cc-8e19-4b5a76f209df", "name": "a400695c-4728-d5cc-8e19-4b5a76f209df", "type": "Microsoft.Security/customEntityStoreAssignments", + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:01:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:01:50.328Z" + }, "properties": { "principal": "aaduser=f6e2564c-f34a-9b61-416c-5e5e7e521118;72f988bf-86f1-41af-91ab-2d7cd011db47", "entityStoreDatabaseLink": "https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwvIz8lMrgzKz0nlqlFIrShJzUtR8Cz2SE3MKcmoVLBVUE9LzClOVQcA1IFnficAAAA=" diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/SecurityConnectors/DeleteSecurityConnector_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/SecurityConnectors/DeleteSecurityConnector_example.json new file mode 100644 index 000000000000..238efa15c67c --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/SecurityConnectors/DeleteSecurityConnector_example.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-07-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg", + "securityConnectorName": "mySecurityConnectorName" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/SecurityConnectors/GetSecurityConnectorResourceGroup_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/SecurityConnectors/GetSecurityConnectorResourceGroup_example.json new file mode 100644 index 000000000000..487e7959f1aa --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/SecurityConnectors/GetSecurityConnectorResourceGroup_example.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-07-01-preview", + "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5", + "resourceGroupName": "exampleResourceGroup", + "securityConnectorName": "exampleSecurityConnectorName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorName", + "name": "exampleSecurityConnectorName", + "type": "Microsoft.Security/securityConnectors", + "etag": "etag value", + "kind": "", + "location": "Central US", + "tags": {}, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, + "properties": { + "organizationalData": null, + "hierarchyIdentifier": "exampleHierarchyId", + "cloudName": "AWS", + "offerings": [ + { + "offeringType": "CspmMonitorAws", + "nativeCloudConnection": { + "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor" + } + } + ] + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/SecurityConnectors/GetSecurityConnectorsResourceGroup_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/SecurityConnectors/GetSecurityConnectorsResourceGroup_example.json new file mode 100644 index 000000000000..63ef8a2e9880 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/SecurityConnectors/GetSecurityConnectorsResourceGroup_example.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-07-01-preview", + "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5", + "resourceGroupName": "exampleResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorName", + "name": "exampleSecurityConnectorName", + "type": "Microsoft.Security/securityConnectors", + "etag": "etag value", + "kind": "", + "location": "Central US", + "tags": {}, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, + "properties": { + "hierarchyIdentifier": "exampleHierarchyId", + "organizationalData": null, + "cloudName": "AWS", + "offerings": [ + { + "offeringType": "CspmMonitorAws", + "nativeCloudConnection": { + "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/SecurityConnectors/GetSecurityConnectorsSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/SecurityConnectors/GetSecurityConnectorsSubscription_example.json new file mode 100644 index 000000000000..5f90b30f38fe --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/SecurityConnectors/GetSecurityConnectorsSubscription_example.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-07-01-preview", + "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorName", + "name": "exampleSecurityConnectorName", + "type": "Microsoft.Security/securityConnectors", + "etag": "etag value", + "location": "Central US", + "tags": {}, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, + "properties": { + "hierarchyIdentifier": "exampleHierarchyId", + "organizationalData": null, + "cloudName": "AWS", + "offerings": [ + { + "offeringType": "CspmMonitorAws", + "nativeCloudConnection": { + "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/SecurityConnectors/PatchSecurityConnector_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/SecurityConnectors/PatchSecurityConnector_example.json new file mode 100644 index 000000000000..4f6ca41f222b --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/SecurityConnectors/PatchSecurityConnector_example.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2021-07-01-preview", + "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5", + "securityConnectorName": "exampleSecurityConnectorName", + "resourceGroupName": "exampleResourceGroup", + "securityConnector": { + "location": "Central US", + "etag": "etag value (must be supplied for update)", + "tags": {}, + "properties": { + "hierarchyIdentifier": "exampleHierarchyId", + "cloudName": "AWS", + "offerings": [ + { + "offeringType": "CspmMonitorAws", + "nativeCloudConnection": { + "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorName", + "name": "exampleSecurityConnectorName", + "type": "Microsoft.Security/securityConnectors", + "location": "Central US", + "kind": "", + "etag": "etag value", + "tags": {}, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, + "properties": { + "hierarchyIdentifier": "exampleHierarchyId", + "organizationalData": null, + "cloudName": "AWS", + "offerings": [ + { + "offeringType": "CspmMonitorAws", + "nativeCloudConnection": { + "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor" + } + } + ] + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/SecurityConnectors/PutSecurityConnector_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/SecurityConnectors/PutSecurityConnector_example.json new file mode 100644 index 000000000000..1c82e395fab2 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/SecurityConnectors/PutSecurityConnector_example.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2021-07-01-preview", + "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5", + "securityConnectorName": "exampleSecurityConnectorName", + "resourceGroupName": "exampleResourceGroup", + "securityConnector": { + "location": "Central US", + "etag": "etag value (must be supplied for update)", + "tags": {}, + "properties": { + "hierarchyIdentifier": "exampleHierarchyId", + "cloudName": "AWS", + "offerings": [ + { + "offeringType": "CspmMonitorAws", + "nativeCloudConnection": { + "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorName", + "name": "exampleSecurityConnectorName", + "type": "Microsoft.Security/securityConnectors", + "location": "Central US", + "kind": "", + "etag": "", + "tags": {}, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, + "properties": { + "hierarchyIdentifier": "exampleHierarchyId", + "organizationalData": null, + "cloudName": "AWS", + "offerings": [ + { + "offeringType": "CspmMonitorAws", + "nativeCloudConnection": { + "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor" + } + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorName", + "name": "exampleSecurityConnectorName", + "type": "Microsoft.Security/securityConnectors", + "location": "Central US", + "kind": "", + "etag": "", + "tags": {}, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, + "properties": { + "hierarchyIdentifier": "exampleHierarchyId", + "organizationalData": null, + "cloudName": "AWS", + "offerings": [ + { + "offeringType": "CspmMonitorAws", + "nativeCloudConnection": { + "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor" + } + } + ] + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/securityConnectors.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/securityConnectors.json new file mode 100644 index 000000000000..324ba5500bdc --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/securityConnectors.json @@ -0,0 +1,574 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2021-07-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}/providers/Microsoft.Security/securityConnectors": { + "get": { + "x-ms-examples": { + "List all security connectors of a specified subscription": { + "$ref": "./examples/SecurityConnectors/GetSecurityConnectorsSubscription_example.json" + } + }, + "tags": [ + "SecurityConnectors" + ], + "description": "Lists all the security connectors in the specified subscription. Use the 'nextLink' property in the response to get the next page of security connectors for the specified subscription.", + "operationId": "SecurityConnectors_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityConnectorsList" + } + }, + "default": { + "description": "Error response that describes why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors": { + "get": { + "x-ms-examples": { + "List all security connectors of a specified resource group": { + "$ref": "./examples/SecurityConnectors/GetSecurityConnectorsResourceGroup_example.json" + } + }, + "tags": [ + "SecurityConnectors" + ], + "description": "Lists all the security connectors in the specified resource group. Use the 'nextLink' property in the response to get the next page of security connectors for the specified resource group.", + "operationId": "SecurityConnectors_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityConnectorsList" + } + }, + "default": { + "description": "Error response that describes why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}": { + "get": { + "x-ms-examples": { + "Retrieve a security connector": { + "$ref": "./examples/SecurityConnectors/GetSecurityConnectorResourceGroup_example.json" + } + }, + "tags": [ + "SecurityConnectors" + ], + "description": "Retrieves details of a specific security connector", + "operationId": "SecurityConnectors_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/securityConnectorName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityConnector" + } + }, + "default": { + "description": "Error response that describes why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create or update a security connector": { + "$ref": "./examples/SecurityConnectors/PutSecurityConnector_example.json" + } + }, + "tags": [ + "SecurityConnectors" + ], + "description": "Creates or updates a security connector. If a security connector is already created and a subsequent request is issued for the same security connector id, then it will be updated.", + "operationId": "SecurityConnectors_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/securityConnectorName" + }, + { + "$ref": "#/parameters/securityConnectorInBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityConnector" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SecurityConnector" + } + }, + "default": { + "description": "Error response that describes why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "x-ms-examples": { + "Update a security connector": { + "$ref": "./examples/SecurityConnectors/PatchSecurityConnector_example.json" + } + }, + "tags": [ + "SecurityConnectors" + ], + "description": "Updates a security connector", + "operationId": "SecurityConnectors_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/securityConnectorName" + }, + { + "$ref": "#/parameters/securityConnectorInBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityConnector" + } + }, + "default": { + "description": "Error response that describes why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a security connector": { + "$ref": "./examples/SecurityConnectors/DeleteSecurityConnector_example.json" + } + }, + "tags": [ + "SecurityConnectors" + ], + "operationId": "SecurityConnectors_Delete", + "description": "Deletes a security connector.", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/securityConnectorName" + } + ], + "responses": { + "200": { + "description": "The resource was deleted successfully" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response that describes why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "SecurityConnectorsList": { + "type": "object", + "description": "List of security connectors response.", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "The list of security connectors under the given scope.", + "items": { + "$ref": "#/definitions/SecurityConnector" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "SecurityConnector": { + "type": "object", + "description": "The security connector resource.", + "properties": { + "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" + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Security connector data", + "$ref": "#/definitions/SecurityConnectorProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/TrackedResource" + } + ] + }, + "SecurityConnectorProperties": { + "type": "object", + "description": "A set of properties that defines the security connector configuration.", + "properties": { + "hierarchyIdentifier": { + "type": "string", + "description": "The multi cloud resource identifier (account id in case of AWS connector)." + }, + "cloudName": { + "type": "string", + "description": "The multi cloud resource's cloud name.", + "enum": [ + "Azure", + "AWS", + "GCP" + ], + "x-ms-enum": { + "name": "cloudName", + "modelAsString": true + } + }, + "offerings": { + "type": "array", + "description": "A collection of offerings for the security connector.", + "items": { + "$ref": "#/definitions/cloudOffering" + } + }, + "organizationalData": { + "type": "object", + "description": "The multi cloud account's organizational data", + "properties": { + "organizationMembershipType": { + "type": "string", + "description": "The multi cloud account's membership type in the organization", + "enum": [ + "Member", + "Organization" + ], + "x-ms-enum": { + "name": "organizationMembershipType", + "modelAsString": true + } + }, + "parentHierarchyId": { + "type": "string", + "description": "If the multi cloud account is not of membership type organization, this will be the ID of the account's parent" + }, + "stacksetName": { + "type": "string", + "description": "If the multi cloud account is of membership type organization, this will be the name of the onboarding stackset" + }, + "excludedAccountIds": { + "type": "array", + "description": "If the multi cloud account is of membership type organization, list of accounts excluded from offering", + "items": { + "type": "string", + "description": "account IDs" + } + } + } + } + } + }, + "cloudOffering": { + "type": "object", + "description": "The security offering details", + "discriminator": "offeringType", + "required": [ + "offeringType" + ], + "properties": { + "offeringType": { + "type": "string", + "description": "The type of the security offering.", + "enum": [ + "CspmMonitorAws", + "DefenderForContainersAws", + "DefenderForServersAws" + ], + "x-ms-enum": { + "name": "OfferingType", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The offering description.", + "readOnly": true + } + } + }, + "cspmMonitorAwsOffering": { + "type": "object", + "description": "The CSPM monitoring for AWS offering configurations", + "x-ms-discriminator-value": "CspmMonitorAws", + "allOf": [ + { + "$ref": "#/definitions/cloudOffering" + } + ], + "properties": { + "nativeCloudConnection": { + "type": "object", + "description": "The native cloud connection configuration", + "properties": { + "cloudRoleArn": { + "type": "string", + "description": "The cloud role ARN in AWS for this feature" + } + } + } + } + }, + "defenderForContainersAwsOffering": { + "type": "object", + "description": "The Defender for Containers AWS offering configurations", + "x-ms-discriminator-value": "DefenderForContainersAws", + "allOf": [ + { + "$ref": "#/definitions/cloudOffering" + } + ], + "properties": { + "kubernetesService": { + "type": "object", + "description": "The kubernetes service connection configuration", + "properties": { + "cloudRoleArn": { + "type": "string", + "description": "The cloud role ARN in AWS for this feature" + } + } + }, + "kubernetesScubaReader": { + "type": "object", + "description": "The kubernetes to scuba connection configuration", + "properties": { + "cloudRoleArn": { + "type": "string", + "description": "The cloud role ARN in AWS for this feature" + } + } + }, + "cloudWatchToKinesis": { + "type": "object", + "description": "The cloudwatch to kinesis connection configuration", + "properties": { + "cloudRoleArn": { + "type": "string", + "description": "The cloud role ARN in AWS for this feature" + } + } + }, + "kinesisToS3": { + "type": "object", + "description": "The kinesis to s3 connection configuration", + "properties": { + "cloudRoleArn": { + "type": "string", + "description": "The cloud role ARN in AWS for this feature" + } + } + } + } + }, + "defenderForServersAwsOffering": { + "type": "object", + "description": "The Defender for Servers AWS offering configurations", + "x-ms-discriminator-value": "DefenderForServersAWS", + "allOf": [ + { + "$ref": "#/definitions/cloudOffering" + } + ], + "properties": { + "defenderForServers": { + "type": "object", + "description": "The Defender for servers connection configuration", + "properties": { + "cloudRoleArn": { + "type": "string", + "description": "The cloud role ARN in AWS for this feature" + } + } + }, + "arcAutoProvisioning": { + "type": "object", + "description": "The ARC autoprovisioning configuration", + "properties": { + "enabled": { + "type": "boolean", + "description": "Is arc auto provisioning enabled" + }, + "servicePrincipalSecretMetadata": { + "type": "object", + "description": "Metadata of Service Principal secret for autoprovisioning", + "properties": { + "expiryDate": { + "type": "string", + "description": "expiration date of service principal secret" + }, + "parameterStoreRegion": { + "type": "string", + "description": "region of parameter store where secret is kept" + }, + "parameterNameInStore": { + "type": "string", + "description": "name of secret resource in parameter store" + } + } + } + } + } + } + } + }, + "parameters": { + "securityConnectorName": { + "name": "securityConnectorName", + "in": "path", + "required": true, + "type": "string", + "description": "The security connector name.", + "x-ms-parameter-location": "method" + }, + "securityConnectorInBody": { + "name": "securityConnector", + "in": "body", + "required": true, + "description": "The security connector resource", + "schema": { + "$ref": "#/definitions/SecurityConnector" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/assignments.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/assignments.json new file mode 100644 index 000000000000..be26e1b90a31 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/assignments.json @@ -0,0 +1,382 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2021-08-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}/providers/Microsoft.Security/assignments": { + "get": { + "x-ms-examples": { + "List security standardAssignments by subscription level scope": { + "$ref": "./examples/Assignments/ListBySubscriptionAssignments_example.json" + } + }, + "tags": [ + "Assignments" + ], + "description": "Get a list of all relevant standardAssignments over a subscription level scope", + "operationId": "Assignments_ListBySubscription", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssignmentList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/assignments": { + "get": { + "x-ms-examples": { + "List security standardAssignments by subscriptionId and resourceGroup scope": { + "$ref": "./examples/Assignments/ListAssignments_example.json" + } + }, + "tags": [ + "Assignments" + ], + "description": "Get a list of all relevant standardAssignments available for scope", + "operationId": "Assignments_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssignmentList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/assignments/{assignmentId}": { + "get": { + "x-ms-examples": { + "Get security standardAssignments by by specific standardAssignmentId": { + "$ref": "./examples/Assignments/GetAssignment_example.json" + } + }, + "tags": [ + "Assignments" + ], + "description": "Get a specific standard assignment for the requested scope by resourceId", + "operationId": "Assignments_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/AssignmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Assignment" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Exempt Recommendation From standard and resource": { + "$ref": "./examples/Assignments/PutAssignment_example.json" + }, + "Define a default standard assignment": { + "$ref": "./examples/Assignments/PutDefaultAssignment_example.json" + } + }, + "tags": [ + "Assignments" + ], + "description": "Create a security assignment on the given scope. Will create/update the required standard assignment. ", + "operationId": "Assignments_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/AssignmentId" + }, + { + "$ref": "#/parameters/AssignmentBody" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Assignment" + } + }, + "200": { + "description": "OK - Updated", + "schema": { + "$ref": "#/definitions/Assignment" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete security assignment": { + "$ref": "./examples/Assignments/DeleteAssignment_example.json" + } + }, + "tags": [ + "Assignments" + ], + "description": "Delete a standard assignment over a given scope", + "operationId": "Assignments_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/AssignmentId" + } + ], + "responses": { + "200": { + "description": "OK - Standard was deleted" + }, + "204": { + "description": "No Content - Standard does not exist" + }, + "default": { + "description": "Error response describing why the operation failed" + } + } + } + } + }, + "definitions": { + "AssignmentList": { + "type": "object", + "description": "Page of a standard assignment list", + "properties": { + "value": { + "description": "Collection of standardAssignments in this page", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Assignment" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page" + } + } + }, + "Assignment": { + "type": "object", + "description": "Security Assignment on a resource group over a given scope", + "properties": { + "properties": { + "description": "Properties of a security assignment", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AssignmentProperties" + }, + "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/types.json#/definitions/TrackedResource" + } + ] + }, + "AssignmentProperties": { + "type": "object", + "description": "Describes the properties of a standardAssignment", + "properties": { + "displayName": { + "description": "display name of the standardAssignment", + "type": "string" + }, + "description": { + "description": "description of the standardAssignment", + "type": "string" + }, + "assignedStandard": { + "description": "Standard item with key as applied to this standard assignment over the given scope", + "$ref": "#/definitions/AssignedStandardItem" + }, + "assignedComponent": { + "description": "Component item with key as applied to this standard assignment over the given scope", + "$ref": "#/definitions/AssignedComponentItem" + }, + "scope": { + "description": "Scope to which the standardAssignment applies - can be a subscription path or a resource group under that subscription", + "type": "string" + }, + "effect": { + "description": "expected effect of this assignment (Disable/Exempt/etc)", + "type": "string" + }, + "expiresOn": { + "description": "Expiration date of this assignment as a full ISO date", + "type": "string", + "format": "date-time" + }, + "additionalData": { + "description": "Additional data about the assignment", + "type": "object", + "properties": { + "exemptionCategory": { + "description": "Exemption category of this assignment", + "type": "string" + } + } + }, + "metadata": { + "description": "The assignment metadata. Metadata is an open ended object and is typically a collection of key value pairs.", + "type": "object" + } + } + }, + "AssignedStandardItem": { + "type": "object", + "description": "describe the properties of a of a security standard object reference", + "properties": { + "id": { + "description": "full resourceId of the Microsoft.Security/standard object", + "type": "string" + } + } + }, + "AssignedComponentItem": { + "type": "object", + "description": "describe the properties of a security assessment object reference (by key)", + "properties": { + "key": { + "description": "unique key to a security assessment object", + "type": "string" + } + } + } + }, + "parameters": { + "AssignmentId": { + "name": "assignmentId", + "in": "path", + "required": true, + "type": "string", + "description": "The security assignment key - unique key for the standard assignment", + "x-ms-parameter-location": "method" + }, + "AssignmentBody": { + "name": "assignment", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Assignment" + }, + "description": "Custom standard assignment over a pre-defined scope", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/DeleteAssignment_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/DeleteAssignment_example.json new file mode 100644 index 000000000000..6134d4a1a0a0 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/DeleteAssignment_example.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myResourceGroup", + "assignmentId": "8bb8be0a-6010-4789-812f-e4d661c4ed0e" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/GetAssignment_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/GetAssignment_example.json new file mode 100644 index 000000000000..32e810b59ccb --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/GetAssignment_example.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myResourceGroup", + "assignmentId": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/assignments/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Security/assignments", + "location": "East US", + "etag": "etag value", + "properties": { + "displayName": "ASC Default", + "description": "Set of policies monitored by Azure Security Center for cross cloud", + "assignedStandard": { + "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + }, + "effect": "Exempt", + "expiresOn": "2022-05-01T19:50:47.083633Z", + "additionalData": { + "exemptionCategory": "waiver" + }, + "metadata": { + "ticketId": 12345 + }, + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg" + }, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/ListAssignments_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/ListAssignments_example.json new file mode 100644 index 000000000000..fa1133a2a29b --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/ListAssignments_example.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/assignments/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Security/assignments", + "location": "East US", + "etag": "etag value", + "properties": { + "displayName": "ASC Default", + "description": "Set of policies monitored by Azure Security Center for cross cloud", + "assignedStandard": { + "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + }, + "effect": "Exempt", + "expiresOn": "2022-05-01T19:50:47.083633Z", + "additionalData": { + "exemptionCategory": "waiver" + }, + "metadata": { + "ticketId": 12345 + }, + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg" + }, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + } + }, + { + "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/assignments/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Security/assignment", + "location": "East US", + "etag": "etag value", + "properties": { + "displayName": "ASC Default", + "description": "Set of policies monitored by Azure Security Center for cross cloud", + "assignedStandard": { + "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + }, + "effect": "Exempt", + "expiresOn": "2022-05-01T19:50:47.083633Z", + "additionalData": { + "exemptionCategory": "waiver" + }, + "metadata": { + "ticketId": 12345 + }, + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg" + }, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/ListBySubscriptionAssignments_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/ListBySubscriptionAssignments_example.json new file mode 100644 index 000000000000..254ff8ac8cbd --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/ListBySubscriptionAssignments_example.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/assignements/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Security/assignments", + "location": "East US", + "etag": "etag value", + "properties": { + "displayName": "ASC Default", + "description": "Set of policies monitored by Azure Security Center for cross cloud", + "assignedStandard": { + "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + }, + "effect": "Exempt", + "expiresOn": "2022-05-01T19:50:47.083633Z", + "additionalData": { + "exemptionCategory": "waiver" + }, + "metadata": { + "ticketId": 12345 + }, + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg" + }, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + } + }, + { + "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/assignments/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Security/assignments", + "location": "East US", + "etag": "etag value", + "properties": { + "displayName": "ASC Default", + "description": "Set of policies monitored by Azure Security Center for cross cloud", + "assignedStandard": { + "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + }, + "effect": "Exempt", + "expiresOn": "2022-05-01T19:50:47.083633Z", + "additionalData": { + "exemptionCategory": "waiver" + }, + "metadata": { + "ticketId": 12345 + }, + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg" + }, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/PutAssignment_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/PutAssignment_example.json new file mode 100644 index 000000000000..0f91a2aab821 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/PutAssignment_example.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myResourceGroup", + "assignmentId": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "assignment": { + "properties": { + "displayName": "ASC Default", + "description": "Set of policies monitored by Azure Security Center for cross cloud", + "assignedStandard": { + "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + }, + "assignedComponent": { + "key": "1195afff-c881-495e-9bc5-1486211ae03f" + }, + "effect": "Exempt", + "expiresOn": "2022-05-01T19:50:47.083633Z", + "additionalData": { + "exemptionCategory": "waiver" + }, + "metadata": { + "ticketId": 12345 + }, + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg" + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/assignments/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Security/assignments", + "location": "East US", + "etag": "etag value", + "properties": { + "displayName": "ASC Default", + "description": "Set of policies monitored by Azure Security Center for cross cloud", + "assignedStandard": { + "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + }, + "assignedComponent": { + "key": "1195afff-c881-495e-9bc5-1486211ae03f" + }, + "effect": "Exempt", + "expiresOn": "2022-05-01T19:50:47.083633Z", + "additionalData": { + "exemptionCategory": "waiver" + }, + "metadata": { + "ticketId": 12345 + }, + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg" + }, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + } + } + }, + "201": { + "body": { + "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/assignments/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Security/assignments", + "location": "East US", + "etag": "etag value", + "properties": { + "displayName": "ASC Default", + "description": "Set of policies monitored by Azure Security Center for cross cloud", + "assignedStandard": { + "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + }, + "assignedComponent": { + "key": "1195afff-c881-495e-9bc5-1486211ae03f" + }, + "effect": "Exempt", + "expiresOn": "2022-05-01T19:50:47.083633Z", + "additionalData": { + "exemptionCategory": "waiver" + }, + "metadata": { + "ticketId": 12345 + }, + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg" + }, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/PutDefaultAssignment_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/PutDefaultAssignment_example.json new file mode 100644 index 000000000000..562e8d7c875a --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/PutDefaultAssignment_example.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myResourceGroup", + "assignmentId": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "assignment": { + "properties": { + "displayName": "ASC Default", + "description": "Set of policies monitored by Azure Security Center for cross cloud", + "assignedStandard": { + "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + }, + "effect": "audit", + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg" + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/assignments/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Security/assignments", + "location": "East US", + "etag": "etag value", + "properties": { + "displayName": "ASC Default", + "description": "Set of policies monitored by Azure Security Center for cross cloud", + "assignedStandard": { + "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + }, + "effect": "audit", + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg" + }, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + } + } + }, + "201": { + "body": { + "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/assignments/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Security/assignments", + "location": "East US", + "etag": "etag value", + "properties": { + "displayName": "ASC Default", + "description": "Set of policies monitored by Azure Security Center for cross cloud", + "assignedStandard": { + "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + }, + "effect": "audit", + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg" + }, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/DeleteStandard_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/DeleteStandard_example.json new file mode 100644 index 000000000000..275b7ca62600 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/DeleteStandard_example.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myResourceGroup", + "standardId": "8bb8be0a-6010-4789-812f-e4d661c4ed0e" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/GetStandard_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/GetStandard_example.json new file mode 100644 index 000000000000..b21f0cff101e --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/GetStandard_example.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myResourceGroup", + "standardId": "21300918-b2e3-0346-785f-c77ff57d243b" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Security/standards", + "location": "East US", + "etag": "etag value", + "properties": { + "displayName": "Cross cloud standard 1", + "standardType": "Custom", + "description": "Controls and security data implementing security recommendations defined in Azure Security", + "category": "SecurityCenter", + "components": [ + { + "key": "1195afff-c881-495e-9bc5-1486211ae03f" + }, + { + "key": "dbd0cb49-b563-45e7-9724-889e799fa648" + } + ] + }, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListBySubscriptionStandards_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListBySubscriptionStandards_example.json new file mode 100644 index 000000000000..ab68d16db797 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListBySubscriptionStandards_example.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Security/standards", + "location": "East US", + "etag": "etag value", + "properties": { + "displayName": "Cross cloud standard 1", + "standardType": "Custom", + "description": "Controls and security data implementing security recommendations defined in Azure Security", + "category": "SecurityCenter", + "components": [ + { + "key": "1195afff-c881-495e-9bc5-1486211ae03f" + }, + { + "key": "dbd0cb49-b563-45e7-9724-889e799fa648" + } + ] + }, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/standards/155afdf9-d239-4a5c-847f-89da613e7143", + "name": "155afdf9-d239-4a5c-847f-89da613e7143", + "type": "Microsoft.Security/standards", + "location": "East US", + "etag": "etag value", + "properties": { + "displayName": "Cross cloud standard 2", + "standardType": "Custom", + "description": "Controls and security data implementing security recommendations defined in Azure Security", + "category": "SecurityCenter", + "components": [ + { + "key": "1195afff-c881-495e-9bc5-1486211ae03f" + }, + { + "key": "dbd0cb49-b563-45e7-9724-889e799fa648" + } + ] + }, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListStandards_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListStandards_example.json new file mode 100644 index 000000000000..333264a9acdd --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListStandards_example.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Security/standards", + "location": "East US", + "etag": "etag value", + "properties": { + "displayName": "Cross cloud standard 1", + "standardType": "Custom", + "description": "Controls and security data implementing security recommendations defined in Azure Security", + "category": "SecurityCenter", + "components": [ + { + "key": "1195afff-c881-495e-9bc5-1486211ae03f" + }, + { + "key": "dbd0cb49-b563-45e7-9724-889e799fa648" + } + ] + }, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/standards/155afdf9-d239-4a5c-847f-89da613e7143", + "name": "155afdf9-d239-4a5c-847f-89da613e7143", + "type": "Microsoft.Security/standards", + "location": "East US", + "etag": "etag value", + "properties": { + "displayName": "Cross cloud standard 2", + "standardType": "Custom", + "description": "Controls and security data implementing security recommendations defined in Azure Security", + "category": "SecurityCenter", + "components": [ + { + "key": "1195afff-c881-495e-9bc5-1486211ae03f" + }, + { + "key": "dbd0cb49-b563-45e7-9724-889e799fa648" + } + ] + }, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/PutStandard_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/PutStandard_example.json new file mode 100644 index 000000000000..f5f1c7edb385 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/PutStandard_example.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2021-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myResourceGroup", + "standardId": "8bb8be0a-6010-4789-812f-e4d661c4ed0e", + "standard": { + "properties": { + "displayName": "Azure Test Security Standard 1", + "description": "description of Azure Test Security Standard 1", + "category": "SecurityCenter", + "components": [ + { + "key": "1195afff-c881-495e-9bc5-1486211ae03f" + }, + { + "key": "dbd0cb49-b563-45e7-9724-889e799fa648" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/provider/Microsoft.Security/standards/8bb8be0a-6010-4789-812f-e4d661c4ed0e", + "name": "8bb8be0a-6010-4789-812f-e4d661c4ed0e", + "type": "Microsoft.Security/standards", + "location": "East US", + "etag": "etag value", + "properties": { + "displayName": "Azure Test Security Standard 1", + "standardType": "Custom", + "description": "description of Azure Test Security Standard 1", + "category": "SecurityCenter", + "components": [ + { + "key": "1195afff-c881-495e-9bc5-1486211ae03f" + }, + { + "key": "dbd0cb49-b563-45e7-9724-889e799fa648" + } + ] + }, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/provider/Microsoft.Security/standards/8bb8be0a-6010-4789-812f-e4d661c4ed0e", + "name": "8bb8be0a-6010-4789-812f-e4d661c4ed0e", + "type": "Microsoft.Security/standards", + "location": "East US", + "etag": "etag value", + "properties": { + "displayName": "Azure Test Security Standard 1", + "standardType": "Custom", + "description": "description of Azure Test Security Standard 1", + "category": "SecurityCenter", + "components": [ + { + "key": "1195afff-c881-495e-9bc5-1486211ae03f" + }, + { + "key": "dbd0cb49-b563-45e7-9724-889e799fa648" + } + ] + }, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/standards.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/standards.json new file mode 100644 index 000000000000..4c4a5203cba0 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/standards.json @@ -0,0 +1,353 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2021-08-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}/providers/Microsoft.Security/standards": { + "get": { + "x-ms-examples": { + "List security standards by subscription level scope": { + "$ref": "./examples/Standards/ListBySubscriptionStandards_example.json" + } + }, + "tags": [ + "Standards" + ], + "description": "Get a list of all relevant security standards over a subscription level scope.", + "operationId": "Standards_ListBySubscription", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StandardList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/standards": { + "get": { + "x-ms-examples": { + "List security standards": { + "$ref": "./examples/Standards/ListStandards_example.json" + } + }, + "tags": [ + "Standards" + ], + "description": "Get security standards on all your resources inside a scope", + "operationId": "Standards_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StandardList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/standards/{standardId}": { + "get": { + "x-ms-examples": { + "Get a specific security standard by scope and standardId": { + "$ref": "./examples/Standards/GetStandard_example.json" + } + }, + "tags": [ + "Standards" + ], + "description": "Get a specific security standard for the requested scope", + "operationId": "Standards_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StandardId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Standard" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create a security standard on a specified scope": { + "$ref": "./examples/Standards/PutStandard_example.json" + } + }, + "tags": [ + "Standards" + ], + "description": "Create a security standard on the given scope. Available only for custom standards. Will create/update the required standard definitions.", + "operationId": "Standards_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StandardId" + }, + { + "$ref": "#/parameters/StandardBody" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Standard" + } + }, + "200": { + "description": "OK - Updated", + "schema": { + "$ref": "#/definitions/Standard" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a security standard over the specified scope": { + "$ref": "./examples/Standards/DeleteStandard_example.json" + } + }, + "tags": [ + "Standards" + ], + "description": "Delete a security standard on a scope.", + "operationId": "Standards_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StandardId" + } + ], + "responses": { + "200": { + "description": "OK - Standard was deleted" + }, + "204": { + "description": "No Content - Standard does not exist" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "StandardList": { + "type": "object", + "description": "Page of a Standard list", + "properties": { + "value": { + "description": "Collection of standards in this page", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Standard" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page" + } + } + }, + "Standard": { + "type": "object", + "description": "Security Standard on a resource", + "properties": { + "properties": { + "description": "Properties of a security standard", + "x-ms-client-flatten": true, + "$ref": "#/definitions/StandardProperties" + }, + "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/types.json#/definitions/TrackedResource" + } + ] + }, + "StandardProperties": { + "type": "object", + "description": "Describes properties of a standard.", + "properties": { + "displayName": { + "description": "display name of the standard, equivalent to the standardId", + "type": "string" + }, + "standardType": { + "description": "standard type (Custom or BuiltIn only currently)", + "type": "string", + "readOnly": true + }, + "description": { + "description": "description of the standard", + "type": "string" + }, + "category": { + "description": "category of the standard provided", + "type": "string" + }, + "components": { + "description": "List of component objects containing component unique keys (such as assessment keys) to apply to standard scope. Currently only supports assessment keys.", + "type": "array", + "items": { + "$ref": "#/definitions/StandardComponentProperties" + } + } + } + }, + "StandardComponentProperties": { + "type": "object", + "description": "Describes properties of an component as related to the standard", + "properties": { + "key": { + "description": "Component Key matching componentMetadata", + "type": "string" + } + } + } + }, + "parameters": { + "StandardId": { + "name": "standardId", + "in": "path", + "required": true, + "type": "string", + "description": "The Security Standard key - unique key for the standard type", + "x-ms-parameter-location": "method" + }, + "StandardBody": { + "name": "standard", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Standard" + }, + "description": "Custom security standard over a pre-defined scope", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-10-01-preview/examples/MdeOnboardings/GetMdeOnboardings_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-10-01-preview/examples/MdeOnboardings/GetMdeOnboardings_example.json new file mode 100644 index 000000000000..2d66781cdef7 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-10-01-preview/examples/MdeOnboardings/GetMdeOnboardings_example.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/mdeOnboardings/default", + "name": "default", + "type": "Microsoft.Security/mdeOnboardings", + "properties": { + "onboardingPackageWindows": "QGVjaG8gb2ZmCgplY2hvLiA+TlVMIDI+JjEKZWNobyBTdGFydGluZyBXaW5kb3dzIERlZmVuZGVyIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIG9uYm9hcmRpbmcgcHJvY2Vzcy4uLiA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCgpzZXQgZXJyb3JDb2RlPTAKc2V0IGxhc3RFcnJvcj0wCnNldCAidHJvdWJsZXNob290SW5mbz1Gb3IgbW9yZSBpbmZvcm1hdGlvbiwgdmlzaXQ6IGh0dHBzOi8vZ28ubWljcm9zb2Z0LmNvbS9md2xpbmsvcC8/bGlua2lkPTgyMjgwNyIKc2V0ICJlcnJvckRlc2NyaXB0aW9uPSIKCmVjaG8gVGVzdGluZyBhZG1pbmlzdHJhdG9yIHByaXZpbGVnZXMgPk5VTCAyPiYxCgpuZXQgc2Vzc2lvbiA+TlVMIDI+JjEKaWYgJUVSUk9STEVWRUwlIE5FUSAwICgKCUBlY2hvIFNjcmlwdCBpcyBydW5uaW5nIHdpdGggaW5zdWZmaWNpZW50IHByaXZpbGVnZXMuIFBsZWFzZSBydW4gd2l0aCBhZG1pbmlzdHJhdG9yIHByaXZpbGVnZXM+ICVUTVAlXHNlbnNlVG1wLnR4dAoJc2V0IGVycm9yQ29kZT02NQogc2V0IGxhc3RFcnJvcj0lRVJST1JMRVZFTCUKCUdPVE8gRVJST1IKKQoKZWNobyBTY3JpcHQgaXMgcnVubmluZyB3aXRoIHN1ZmZpY2llbnQgcHJpdmlsZWdlcyA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCmVjaG8gUGVyZm9ybWluZyBvbmJvYXJkaW5nIG9wZXJhdGlvbnMgPk5VTCAyPiYxCmVjaG8uID5OVUwgMj4mMQoKSUYgWyVQUk9DRVNTT1JfQVJDSElURVc2NDMyJV0gRVFVIFtdICgKICBzZXQgcG93ZXJzaGVsbFBhdGg9JXdpbmRpciVcU3lzdGVtMzJcV2luZG93c1Bvd2VyU2hlbGxcdjEuMFxwb3dlcnNoZWxsLmV4ZQopIEVMU0UgKAogIHNldCBwb3dlcnNoZWxsUGF0aD0ld2luZGlyJVxTeXNOYXRpdmVcV2luZG93c1Bvd2VyU2hlbGxcdjEuMFxwb3dlcnNoZWxsLmV4ZQopCgpzZXQgc2RiaW49MDEwMDA0ODA0NDAwMDAwMDU0MDAwMDAwMDAwMDAwMDAxNDAwMDAwMDAyMDAzMDAwMDIwMDAwMDAwMDAwMTQwMEZGMEYxMjAwMDEwMTAwMDAwMDAwMDAwNTEyMDAwMDAwMDAwMDE0MDBFMTA0MTIwMDAxMDEwMDAwMDAwMDAwMDUwQjAwMDAwMDAxMDIwMDAwMDAwMDAwMDUyMDAwMDAwMDIwMDIwMDAwMDEwMjAwMDAwMDAwMDAwNTIwMDAwMDAwMjAwMjAwMDAgPk5VTCAyPiYxCnJlZyBhZGQgSEtMTVxTWVNURU1cQ3VycmVudENvbnRyb2xTZXRcQ29udHJvbFxXTUlcU2VjdXJpdHkgL3YgMTRmODEzOGUtM2I2MS01ODBiLTU0NGItMjYwOTM3OGFlNDYwIC90IFJFR19CSU5BUlkgL2QgJXNkYmluJSAvZiA+TlVMIDI+JjEKcmVnIGFkZCBIS0xNXFNZU1RFTVxDdXJyZW50Q29udHJvbFNldFxDb250cm9sXFdNSVxTZWN1cml0eSAvdiBjYjJmZjcyZC1kNGU0LTU4NWQtMzNmOS1mM2EzOTVjNDBiZTcgL3QgUkVHX0JJTkFSWSAvZCAlc2RiaW4lIC9mID5OVUwgMj4mMQoKUkVHIGFkZCAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93c1xEYXRhQ29sbGVjdGlvbiIgL3YgRGlzYWJsZUVudGVycHJpc2VBdXRoUHJveHkgL3QgUkVHX0RXT1JEIC9mIC9kIDEgPk5VTCAyPiYxCgolcG93ZXJzaGVsbFBhdGglIC1FeGVjdXRpb25Qb2xpY3kgQnlwYXNzIC1Ob1Byb2ZpbGUgLUNvbW1hbmQgIkFkZC1UeXBlICcgdXNpbmcgU3lzdGVtOyB1c2luZyBTeXN0ZW0uSU87IHVzaW5nIFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlczsgdXNpbmcgTWljcm9zb2Z0LldpbjMyLlNhZmVIYW5kbGVzOyB1c2luZyBTeXN0ZW0uQ29tcG9uZW50TW9kZWw7IHB1YmxpYyBzdGF0aWMgY2xhc3MgRWxhbXsgW0RsbEltcG9ydChcIktlcm5lbDMyXCIsIENoYXJTZXQ9Q2hhclNldC5BdXRvLCBTZXRMYXN0RXJyb3I9dHJ1ZSldIHB1YmxpYyBzdGF0aWMgZXh0ZXJuIGJvb2wgSW5zdGFsbEVMQU1DZXJ0aWZpY2F0ZUluZm8oU2FmZUZpbGVIYW5kbGUgaGFuZGxlKTsgcHVibGljIHN0YXRpYyB2b2lkIEluc3RhbGxXZEJvb3Qoc3RyaW5nIHBhdGgpIHsgQ29uc29sZS5PdXQuV3JpdGVMaW5lKFwiQWJvdXQgdG8gY2FsbCBjcmVhdGUgZmlsZSBvbiB7MH1cIiwgcGF0aCk7IHZhciBzdHJlYW0gPSBGaWxlLk9wZW4ocGF0aCwgRmlsZU1vZGUuT3BlbiwgRmlsZUFjY2Vzcy5SZWFkLCBGaWxlU2hhcmUuUmVhZCk7IHZhciBoYW5kbGUgPSBzdHJlYW0uU2FmZUZpbGVIYW5kbGU7IENvbnNvbGUuT3V0LldyaXRlTGluZShcIkFib3V0IHRvIGNhbGwgSW5zdGFsbEVMQU1DZXJ0aWZpY2F0ZUluZm8gb24gaGFuZGxlIHswfVwiLCBoYW5kbGUuRGFuZ2Vyb3VzR2V0SGFuZGxlKCkpOyBpZiAoIUluc3RhbGxFTEFNQ2VydGlmaWNhdGVJbmZvKGhhbmRsZSkpIHsgQ29uc29sZS5PdXQuV3JpdGVMaW5lKFwiQ2FsbCBmYWlsZWQuXCIpOyB0aHJvdyBuZXcgV2luMzJFeGNlcHRpb24oTWFyc2hhbC5HZXRMYXN0V2luMzJFcnJvcigpKTsgfSBDb25zb2xlLk91dC5Xcml0ZUxpbmUoXCJDYWxsIHN1Y2Nlc3NmdWwuXCIpOyB9IH0gJzsgJGRyaXZlclBhdGggPSAkZW52OlN5c3RlbVJvb3QgKyAnXFN5c3RlbTMyXERyaXZlcnNcV2RCb290LnN5cyc7IFtFbGFtXTo6SW5zdGFsbFdkQm9vdCgkZHJpdmVyUGF0aCkgIiA+TlVMIDI+JjEKClJFRyBxdWVyeSAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93cyBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiIgL3YgNjk2QzFGQTEtNDAzMC00RkE0LTg3MTMtRkFGOUIyRUE3QzBBIC9yZWc6NjQgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQppZiAlRVJST1JMRVZFTCUgRVFVIDAgKCAgCiAgICBSRUcgZGVsZXRlICJIS0xNXFNPRlRXQVJFXFBvbGljaWVzXE1pY3Jvc29mdFxXaW5kb3dzIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIiAvdiA2OTZDMUZBMS00MDMwLTRGQTQtODcxMy1GQUY5QjJFQTdDMEEgL2YgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQogICAgaWYgJUVSUk9STEVWRUwlIE5FUSAwICgKICAgICAgICBzZXQgImVycm9yRGVzY3JpcHRpb249VW5hYmxlIHRvIGRlbGV0ZSBwcmV2aW91cyBvZmZib2FyZGluZyBpbmZvcm1hdGlvbiBmcm9tIHJlZ2lzdHJ5LiIKICAgICAgICBzZXQgZXJyb3JDb2RlPTUKICAgICAgICBzZXQgbGFzdEVycm9yPSVFUlJPUkxFVkVMJQogICAgICAgIEdPVE8gRVJST1IKICAgICkKKQoKUkVHIGFkZCAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93cyBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiIgL3YgT25ib2FyZGluZ0luZm8gL3QgUkVHX1NaIC9mIC9kICJ7XCJib2R5XCI6XCJ7XFxcInByZXZpb3VzT3JnSWRzXFxcIjpbXSxcXFwib3JnSWRcXFwiOlxcXCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMGRlYWRcXFwiLFxcXCJnZW9Mb2NhdGlvblVybFxcXCI6XFxcImh0dHBzOi8vc2V2aWxsZWNsb3VkZ2F0ZXdheS1zdGcubWljcm9zb2Z0LmNvbS9cXFwiLFxcXCJkYXRhY2VudGVyXFxcIjpcXFwiRWFzdFVzMlxcXCIsXFxcInZvcnRleEdlb0xvY2F0aW9uXFxcIjpcXFwiU2FuZGJveFxcXCIsXFxcInZlcnNpb25cXFwiOlxcXCIxLjNcXFwifVwiLFwic2lnXCI6XCJKc0dGR2o3UCtIL1cvUEExcW9LTml3RXROZkU4YkhGblhxeks1SDhsQ09wc0RnRGNWTWpoT3BmQTZJTTJ3RFZadk5kWGhvZ0dEQ1FDWjNYdFJCbHRkcGFWc3pZNGtINVpHVkdnRUQxVE80ZCtCTjk2VDFSa3pOZ2NjZ2ZCWDNNQUw1bllUWXdiMGlUQUtFMGIxb3BmQmZrMzJQN3Q3b3A5dkhPeXZNMW5qdlZybVdWWWVSNk4rZFFrLzM4UDNUY2V3b2FkRmFUb3pidjBZK3dZOHgrbFcxeWN6bk1KMitQWTlxRHpabXoybE1rd0FlaDJwRTI4VW5MT0lhNjg0Y3U5RitHUlAveGhhR3dQWmpoc1JCSW51cHV5U1E2Y09YdE9kSERCQlRaZzVKSEhHMDBkNk9tUk5ONmxBelJWeFJURUVmaFFUVnN0U1poKzNMSjJTMGhmZGc9PVwiLFwic2hhMjU2c2lnXCI6XCJsVGI4ZittdkFveDRCckxPS0lqejFnTTNrRHREbG9wL21uNmZodmVEWjMvblVqb1lhNk81V2p4R0x2Z3lqZ0RtdThETkdPNUtqWWlxTVZ6Z0QzcHdqOVYwOXVOeUdYNGJUaXN0d1BnQTFLbGMrMUFLcmtWQTRGWGlQTHlST2tXdlhLM2dydFFJWU9nYjdSRlh6dzhnQlB5YlV0Z0FWbmNaMVFpdTAzblFLdGh5MFU3aXBlZUxaVE9oYVlhN001cTJxUTcya1BaSTZWUWlqSE42NVg3UTEvcm5rdUlSUkFmUEErZElIeE4wN0tpSlY2MGZsbDFZUUtOUlpSYUhKeGQ1UDd0RmdaaytEZE5mNVNXcHVaSTZTZE9MdExDN3VnbmdnK0krU2pUeUtvcVFKZElkWGRRaE5JK3I3WEM1L1M0ZlhnRVNtWmZKTUYxL0JtVlVFZUJDZlE9PVwiLFwiY2VydFwiOlwiTUlJRjVqQ0NBODZnQXdJQkFnSVRNd0FBQVkwdmh1VTl6R2x5b1FBQUFBQUJqVEFOQmdrcWhraUc5dzBCQVFzRkFEQitNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1YyRnphR2x1WjNSdmJqRVFNQTRHQTFVRUJ4TUhVbVZrYlc5dVpERWVNQndHQTFVRUNoTVZUV2xqY205emIyWjBJRU52Y25CdmNtRjBhVzl1TVNnd0pnWURWUVFERXg5TmFXTnliM052Wm5RZ1UyVmpkWEpsSUZObGNuWmxjaUJEUVNBeU1ERXhNQjRYRFRJd01EZ3dOakl3TlRBMU9Gb1hEVEl4TURnd05qSXdOVEExT0Zvd2dZb3hDekFKQmdOVkJBWVRBbFZUTVFzd0NRWURWUVFJRXdKWFFURVFNQTRHQTFVRUJ4TUhVbVZrYlc5dVpERWVNQndHQTFVRUNoTVZUV2xqY205emIyWjBJRU52Y25CdmNtRjBhVzl1TVI0d0hBWURWUVFMRXhWTmFXTnliM052Wm5RZ1EyOXljRzl5WVhScGIyNHhIREFhQmdOVkJBTVRFMU5sZG1sc2JHVXVWMmx1Wkc5M2N5NWpiMjB3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRENmcWtCcmV1Um1qdm90bDFFdURQWVplaVc1dUVERmV6MXhsYmh6cjVaa1BjSUJYT3RIMVZWRjRaUmVrdTFpK3ZMbTNON2xkVGl4c2RSZW0yU09iVkFGb1dDbjZ2cEYwL1ZYcWpmUTJHbyt2dk9UU1Q0Si9pQWxocXhialVVbkRyWFpXYUMvS2xtU0lYMjlHUng5bG1pT0IrWVBhRzlOTEE1U3F3emNad2hjTThzS3F0VDhHaWQ3Q3JFNGs1WldES0gyL1dPVTVsQ01iZTY2MWtrbWxKZDB2TlBDTXpyMUgzVmNmRG1qVVo4Q25WQzBFODlhVVA3VHhhME1uS0FzVFArQkpCNXJMenhkVlJRbGRNbmhHVXNXRU0ydUNOWXFOdWc4QWYrTGp3RytySXZrSVR3NVlDMUZDZy9qVHBvdHJnSFhmSGRqaURqa0F3ZWY1TlVkTmx0QWdNQkFBR2pnZ0ZPTUlJQlNqQU9CZ05WSFE4QkFmOEVCQU1DQjRBd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3RXdIUVlEVlIwT0JCWUVGT0U1NVFoeno5bEhuWTl2aDVTWmtyMTdjbEtzTUI0R0ExVWRFUVFYTUJXQ0UxTmxkbWxzYkdVdVYybHVaRzkzY3k1amIyMHdId1lEVlIwakJCZ3dGb0FVTmxhSlpVbkxXNXN2UEt4Q0ZsQk5rYmt6MTVFd1V3WURWUjBmQkV3d1NqQklvRWFnUklaQ2FIUjBjRG92TDNkM2R5NXRhV055YjNOdlpuUXVZMjl0TDNCcmFXOXdjeTlqY213dlRXbGpVMlZqVTJWeVEwRXlNREV4WHpJd01URXRNVEF0TVRndVkzSnNNR0FHQ0NzR0FRVUZCd0VCQkZRd1VqQlFCZ2dyQmdFRkJRY3dBb1pFYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OWpaWEowY3k5TmFXTlRaV05UWlhKRFFUSXdNVEZmTWpBeE1TMHhNQzB4T0M1amNuUXdEQVlEVlIwVEFRSC9CQUl3QURBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQVp3ZGxhWjg4U3BURFdUUjc5NWRHV2N0dUxUWmc2UDBqYmh4Q0dhOXBnb3AzSXZ1Qi9QYzJXT2Ruc1ZCYUpUZG5WN3NvcFZHa3V4Vjc1eWk2Q0NQM2sxNG0xQ1FhNk01cmNodmJuVEY0TFdjWld4U1g4Z0hjRWhObFdYV3hxU3FKMzNnSHVGNEc5SCs3VDM3UlNMb2Jqb1MyeVRhc21SRWtCNTI4b1gwWVU0cVpjeVdyK0xEMVovQk10dEhMUlZUZUtHdnpMaVpCNmhqWURybW9qUUxKZXZwSEdoTVdOTU9oR2RLd2pOS0crZGhVRHV6dTdsVXgwZzdhaUR3c1l4NzFTaU9ucDJWOSt5UEhET2R5OXlBRUNPb0N3bUprbW5qLzlDMmVNMDFDQjFZMUxTWHNiQUJtQVd3Si9iczhRNnhTWlJtSnkyRXJSQ3VTakl0MUQydzRTUFVMRFNNVTdIaDk3TWJpQVJDV25TMVRRMGg5azZFWVVmbW1ZaFNHQ0p3MXFlekFqZ2FmTngyYWcrRDhzRFFkQzRjVHhUSTk5aGthUm1DakFmeW1qcVdscUx5V0pCUmdvaXdTd21MVDFUbzRJNUVjZHFoQ1FNdEpoRVVRR2dpenk2ZUE2RlhtNHhmeExua08xSkNKSGJUejlqL2c4OW5zZ0hVN2V4SDVnZHhZQ0FDMGJkUlZLN1YrVlBDcExnLy9SemtlNm9mc1Y3WkxyQUpvN0EyQTZka0dVL09XeGhpVjJiY0VlUEpmSWsrVjM3UHp3c25yZ1JFV2RpM1pic3dBOU5aTTVzZGVSMFlFRm11bit0b2JCRGMzMlRidlVyTUpTb2tjcG9XNnRZczlkR0tUcE1GV01EZ09UeEZjSHljbHZrMjRVQVV2dXk2WVcvSVN2VlY4a3BRPVwiLFwiY2hhaW5cIjpbXCJNSUlHMkRDQ0JNQ2dBd0lCQWdJS1lUKzNHQUFBQUFBQUJEQU5CZ2txaGtpRzl3MEJBUXNGQURDQmlERUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVEIxSmxaRzF2Ym1ReEhqQWNCZ05WQkFvVEZVMXBZM0p2YzI5bWRDQkRiM0p3YjNKaGRHbHZiakV5TURBR0ExVUVBeE1wVFdsamNtOXpiMlowSUZKdmIzUWdRMlZ5ZEdsbWFXTmhkR1VnUVhWMGFHOXlhWFI1SURJd01URXdIaGNOTVRFeE1ERTRNakkxTlRFNVdoY05Nall4TURFNE1qTXdOVEU1V2pCK01Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LVjJGemFHbHVaM1J2YmpFUU1BNEdBMVVFQnhNSFVtVmtiVzl1WkRFZU1Cd0dBMVVFQ2hNVlRXbGpjbTl6YjJaMElFTnZjbkJ2Y21GMGFXOXVNU2d3SmdZRFZRUURFeDlOYVdOeWIzTnZablFnVTJWamRYSmxJRk5sY25abGNpQkRRU0F5TURFeE1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBMEF2QXBLZ1pnZUkyNWVLcTVmT3lGVmgxdnJUbFNmSGdoUG03RFdUdmhjR0JWYmp6NS9GdFFGVTl6b3RxMFlTVDlYVjhXNlRVZEJES012TWowNjd1ejU0RVdNTFpSOHZSZkFCQlNIRWJBV2NYR0svRy9uTURmdVR2UTV6dkFYRXFINEVtUTNlWVZGZHpuVlVyOEo2T2ZRWU9yQnRVOHliMytDTUlJb3VlQmgwM09QMXkwc3JsWThHYVduMnliYk5TcVc3cHJyWDhpemI1bnZyMkhGZ2JsMWFsRWVXM1V0dTc2ZkJVdjdUL0xHeTRYU2JPb0FyWDM1UHRmOTJzOFN4ekd0a1pOMVc2M1NKNGpxSFVtd240QnlJeGNiQ1VydUN3NXlaRVY1Q0JseFhPWWV4bDRrdnhoVklXTXZpMWVLcCt6VTNzZ3lHa3FKdSttbW9FNEtNY3pWWVliUDFyTDBJKzRqZnljcXZRZUhOeWU5N3NBRmpsSVRDakNEcVo3NS9EOTNvV2xtVzF3NEd2OURsd1NhLzJxZlpxQURqNXRBZ1o0Qm8xcFZaMklsOXE4bW11UHExWVJrMjRWUGFKUVVRZWNyRzhFaWRUMHNIL3NzMVFtQjYxOUx1MndvSTUyYXdiOGpzbmhHcXd4aVlMMXpvUTU3UGJmTk5XckZOTUMvbzdNVGQwMkZrcitRQjVHUVo3L1J3ZFF0UkJEUzhGRHRWclNTUC96ODM0ZW9MUDJqd3QzK2pZRWdRWXVoNklkN2lZSHhBSHU4Z0ZmZ3NKdjJ2ZDQwNWJzUG5IaEtZN3lreWZXMklwOThlaXFKV0ljQ3psd1Q4OFVpTlBRSnJETVlXREw3OHA4UjFRanlHV0I4N3Y4b0RDUkgyYll1OHZ3M2VKcTBWTlV6NENlZE1DQXdFQUFhT0NBVXN3Z2dGSE1CQUdDU3NHQVFRQmdqY1ZBUVFEQWdFQU1CMEdBMVVkRGdRV0JCUTJWb2xsU2N0Ym15ODhyRUlXVUUyUnVUUFhrVEFaQmdrckJnRUVBWUkzRkFJRURCNEtBRk1BZFFCaUFFTUFRVEFMQmdOVkhROEVCQU1DQVlZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZkJnTlZIU01FR0RBV2dCUnlMVG9DTVpCRHVSUUZUdUhxcDhjeDBTT0pOREJhQmdOVkhSOEVVekJSTUUrZ1RhQkxoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1amIyMHZjR3RwTDJOeWJDOXdjbTlrZFdOMGN5OU5hV05TYjI5RFpYSkJkWFF5TURFeFh6SXdNVEZmTUROZk1qSXVZM0pzTUY0R0NDc0dBUVVGQndFQkJGSXdVREJPQmdnckJnRUZCUWN3QW9aQ2FIUjBjRG92TDNkM2R5NXRhV055YjNOdlpuUXVZMjl0TDNCcmFTOWpaWEowY3k5TmFXTlNiMjlEWlhKQmRYUXlNREV4WHpJd01URmZNRE5mTWpJdVkzSjBNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUJCeUdIQjlWdWVQcEV4OGJER3Z3a0J0SjIya0hUWENkdW1MZzJmeU9kMk5FYXZCMkNKVElHelBOWDBFalYxd25PbDlVMkVqTXVrWGErL2t2WVhDRmRDbFhKbEJYWjVyZTdSdXJndVZLTlJCNnhvNnlFTTR5V0J3czBxOHNQL3o4SzlTUmlheC9DRXhma1V2R3VWNVpidnMwTFNVOVZLb0JMRXJoSjJVd2xXRHAzMzA2WkppRkR5aWl5WElLSytUbmp2QldXM1M2RVdpTjR4eHdoQ0pIeWtlNTZkdkdBQVhtS1g0NVA4cC81YmV5WGY1Rk4vUzc3bVB2RGJBWGxDSEc2RmJIMjJSREQ3cFRlU2s3S2w3aUN0UDFQVnlmUW9hMWZCK0IxcXQxWXF0aWVCSEtZdG4rZjAwREdEbDZncXRxeStHMEgxNUlsZlZ2dmFXdE5lZlZXVUVINVRWL1JLUFVBcXlMMW5uNFRoRU83OTJtc1Zna244UmgzL1JRWjBuRUlVN2NVNTA3UE5DNE1ua0VOUmt2SkVncTV1bWhVWHNobjZ4MFZzbUFGN3Z6ZXBzSWlra3J3NE9PQWQ1SHlYbUJvdVgrODRaYmMxTDcxL1R5SDZ4SXpTYndiNVNUWHEzeUFQSmFycVlLc3NIMHVKL0xmNlhGU1FTejZpS0U5czVGSmx3ZjJRSElXQ2lHN3BwbFhkSVNoNVJiQVU1UXJNNWwvRXU5dGhOR21mckNZNDk4RXBRUWdWTGt5Zzkva01QdDVmcXdnSkxZT3NyRFNEWXZUSlNVS0pKYlZ1c2tmRnN6bWdzU0FiTExHT0JHK2xNRWtjMEVicFFGdjByVzY2MjRKS2h4SktnQWxOMjk5MnVRVmJHK0M3SUhCZkFDWEgwdzc2RnExN0lwNXhDQT09XCIsXCJNSUlGN1RDQ0E5V2dBd0lCQWdJUVA0dkl0Znlmc3BaRHRXbldiRUxoUkRBTkJna3Foa2lHOXcwQkFRc0ZBRENCaURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDbGRoYzJocGJtZDBiMjR4RURBT0JnTlZCQWNUQjFKbFpHMXZibVF4SGpBY0JnTlZCQW9URlUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJqRXlNREFHQTFVRUF4TXBUV2xqY205emIyWjBJRkp2YjNRZ1EyVnlkR2xtYVdOaGRHVWdRWFYwYUc5eWFYUjVJREl3TVRFd0hoY05NVEV3TXpJeU1qSXdOVEk0V2hjTk16WXdNekl5TWpJeE16QTBXakNCaURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDbGRoYzJocGJtZDBiMjR4RURBT0JnTlZCQWNUQjFKbFpHMXZibVF4SGpBY0JnTlZCQW9URlUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJqRXlNREFHQTFVRUF4TXBUV2xqY205emIyWjBJRkp2YjNRZ1EyVnlkR2xtYVdOaGRHVWdRWFYwYUc5eWFYUjVJREl3TVRFd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUUN5Z0VHcU5UaE5FM0l5YUNKTnVMTHgvOVZTdkd6SDlkSktqRGJ1MGNKY2ZveUtycThUS0cvQWMrTTZ6dEFscUZvNmJlK291Rm1yRXlOb3pRd3BoOUZ2Z0Z5UFJIOWRrQUZTV0t4UnhWOHFoOXpjMkFvZHdRTzVlN0JXNktQZVpHSENudmp6Zkxuc0RiVlUva3kyWlUrSThKeEltUXhDQ3dsOE1Wa1hlUVo0S0kySk9rd0RKYjV4YWx3TDU0UmdwSmtpNDlLdmhLU24rOUdZN1F5cDNwU0o0UTZnM01ET21UM3FDRks3Vm5ua0g0UzZIcmkweEVsY1R6RkxoOTNkQldjbW1ZRGdjUkdqdUtWQjRxUlR1ZmN5S1lNTUU3ODJYZ1N6UzBOSEwydmlrUjdUbUUvZFFnZkk2QjBTL0ptcGF6NlNmc2pXYVRyOFpMMjJDWjNLL1F3TG9wdDNZRXNEbEtRd2FSTFdRaTNCUVV6SzNLcjlqMXVEUnByWi9MSFI0N1BKZjBoNnpTVHdRWTljZE5Dc3NCQWdCa20zeHkwaHlGZmowSWJ6QTJqNzBNNXh3WW1aU21RQmJQM3NNSkhQUVR5U3grVzZoaDFoaE1kZmd6bGlyclNTTDBmekMvaFY2NkFmV2RDN2RKc2UwSGJtOHVrRzF4RG8rbVRlYWNZMWxvZ0M4RWE0UHllWmI4dHhpU2sxOTBnV0FqV1AxWGw4VFFMUFgrdUtnMDlGY1lqNXFRMU9jdW5DbkFmUFNSdE9CQTVqVVl4ZTJBREJWU3kyeHVEQ1pVN0pORG4xbkxQRWZ1aGhiaE5mRmNSZjJYN3RIYzd1Uk96TExvYXg3RGoyY08yclhCUEIyUThOeDRDeVZlMDA5NnliNU1QYTUwYzhwcldQTWQvRlM2L3I4UUlEQVFBQm8xRXdUekFMQmdOVkhROEVCQU1DQVlZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVWNpMDZBakdRUTdrVUJVN2g2cWZITWRFamlUUXdFQVlKS3dZQkJBR0NOeFVCQkFNQ0FRQXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnSUJBSDl5encrM3hSWGJtOEJKeWlaYi9wNFQ1dFB3MHR1WFgvSkxQMDJ6cmhtdTdkZVhvS3p2cVRxandrR3c1YmlSbmhPQkpBUG1DZjAvVjBBNUlTUlcwUkF2UzBDcE5vWkx0Rk5YbXZ2eGZvbVBFZjRZYkZHcTZPMEpsYlhsY2NtaDZZZDFwaFYveVg0M1ZGNTBrOFhEWjh3TlQydW9Gd3h0Q0pKK2k5MkJxaTF3SWNNOUJoUzd2eVJlcDRUWFB3OGhJcjFMQUFiYmx4ellYdFRGQzF5SGJsQ2s2TU00cFB2TExNV1NacHVGWHN0NmJKTjhnQ2xZVzFlMVFHbTZDSG1tWkdJVm5ZZVdSYlZtSXlBRGl4eHpvTk9pZVRQZ1VGbUcyeS9sQWlYcWN5cWZBQlRJTnNlU08rbE9BT3pZVmdtNU0wa1MwbFFMQWF1c1I3YVJLWDFNdEhXQVVnSG95b0wybjh5c25JOFg2aThtc0t0eXJBditubEVleDBOVlowOVJzMWZXdHV6dVVyYzY2VTdoMTRHSXZFK09kYnRMcVBBMXFpYlVaMmRKc25CTU81UGNIZDk0a0laeXNqaWswZHlTVGNsWTZ5c1NYTlE3cm94cnNJUGxBVC80Q1RMMmt6VTBJcS9kTncxM0NZQXJ6VWdBOFl5WkdVY0ZBZW5SdjlGTzBPWW9RemVacEFwS0NObWFjWFBTcXMweEUyTjJvVGR2a2pnZWZSSThaakxueTIzaC9GS0ozY3JXWmdXYWxtRytvaWpISEtPbk5sQThPcVRmU203bWh6dk82L0RnZ1RlZEV6eFNqcjI1SFRUR0hkVUthajJZS1hDTWlTclJxNElRU0IvYzlPK2x4YnRWR2poamhFNjNiSzJWVk94bEloQkpGN2pBSHNjUHJGUkhcIl19IiA+ICVUTVAlXHNlbnNlVG1wLnR4dCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCiAgIHNldCAiZXJyb3JEZXNjcmlwdGlvbj1VbmFibGUgdG8gd3JpdGUgb25ib2FyZGluZyBpbmZvcm1hdGlvbiB0byByZWdpc3RyeS4iCiAgIHNldCBlcnJvckNvZGU9MTAKICAgc2V0IGxhc3RFcnJvcj0lRVJST1JMRVZFTCUKICAgR09UTyBFUlJPUgopCgplY2hvIFN0YXJ0aW5nIHRoZSBzZXJ2aWNlLCBpZiBub3QgYWxyZWFkeSBydW5uaW5nID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKc2MgcXVlcnkgIlNFTlNFIiB8IGZpbmQgL2kgIlJVTk5JTkciID5OVUwgMj4mMQppZiAlRVJST1JMRVZFTCUgRVFVIDAgR09UTyBSVU5OSU5HCgpuZXQgc3RhcnQgc2Vuc2UgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQppZiAlRVJST1JMRVZFTCUgTkVRIDAgKAogICBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBoYXMgbm90IHN0YXJ0ZWQgeWV0ID5OVUwgMj4mMQogICBHT1RPIFdBSVRfRk9SX1RIRV9TRVJWSUNFX1RPX1NUQVJUCikKZ290byBTVUNDRUVERUQKCjpSVU5OSU5HCnNldCAicnVubmluZ091dHB1dD1UaGUgV2luZG93cyBEZWZlbmRlciBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiBTZXJ2aWNlIGlzIGFscmVhZHkgcnVubmluZyEiCmVjaG8gJXJ1bm5pbmdPdXRwdXQlID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBJbmZvcm1hdGlvbiAvaWQgMTAgL2QgIiVydW5uaW5nT3V0cHV0JSIgPk5VTCAyPiYxCkdPVE8gV0FJVF9GT1JfVEhFX1NFUlZJQ0VfVE9fU1RBUlQKCjpFUlJPUgpTZXQgL1AgZXJyb3JNc2c9PCVUTVAlXHNlbnNlVG1wLnR4dApzZXQgImVycm9yT3V0cHV0PVtFcnJvciBJZDogJWVycm9yQ29kZSUsIEVycm9yIExldmVsOiAlbGFzdEVycm9yJV0gJWVycm9yRGVzY3JpcHRpb24lIEVycm9yIG1lc3NhZ2U6ICVlcnJvck1zZyUiCiVwb3dlcnNoZWxsUGF0aCUgLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLU5vUHJvZmlsZSAtQ29tbWFuZCAiQWRkLVR5cGUgJ3VzaW5nIFN5c3RlbTsgdXNpbmcgU3lzdGVtLkRpYWdub3N0aWNzOyB1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3MuVHJhY2luZzsgbmFtZXNwYWNlIFNlbnNlIHsgW0V2ZW50RGF0YShOYW1lID0gXCJPbmJvYXJkaW5nXCIpXXB1YmxpYyBzdHJ1Y3QgT25ib2FyZGluZ3twdWJsaWMgc3RyaW5nIE1lc3NhZ2UgeyBnZXQ7IHNldDsgfX0gcHVibGljIGNsYXNzIFRyYWNlIHtwdWJsaWMgc3RhdGljIEV2ZW50U291cmNlT3B0aW9ucyBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiA9IG5ldyBFdmVudFNvdXJjZU9wdGlvbnMoKXtMZXZlbCA9IEV2ZW50TGV2ZWwuRXJyb3IsIEtleXdvcmRzID0gKEV2ZW50S2V5d29yZHMpMHgwMDAwMjAwMDAwMDAwMDAwLCBUYWdzID0gKEV2ZW50VGFncykweDAyMDAwMDB9OyBwdWJsaWMgdm9pZCBXcml0ZU9uYm9hcmRpbmdNZXNzYWdlKHN0cmluZyBtZXNzYWdlKXtlcy5Xcml0ZShcIk9uYm9hcmRpbmdTY3JpcHRcIiwgVGVsZW1ldHJ5Q3JpdGljYWxPcHRpb24sIG5ldyBPbmJvYXJkaW5nIHtNZXNzYWdlID0gbWVzc2FnZX0pO30gcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgc3RyaW5nW10gdGVsZW1ldHJ5VHJhaXRzID0geyBcIkVUV19HUk9VUFwiLCBcIns1RUNCMEJBQy1COTMwLTQ3RjUtQThBNC1FODI1MzUyOUVEQjd9XCIgfTsgcHJpdmF0ZSBFdmVudFNvdXJjZSBlcyA9IG5ldyBFdmVudFNvdXJjZShcIk1pY3Jvc29mdC5XaW5kb3dzLlNlbnNlLkNsaWVudC5NYW5hZ2VtZW50XCIsRXZlbnRTb3VyY2VTZXR0aW5ncy5FdHdTZWxmRGVzY3JpYmluZ0V2ZW50Rm9ybWF0LHRlbGVtZXRyeVRyYWl0cyk7fX0nOyAkbG9nZ2VyID0gTmV3LU9iamVjdCAtVHlwZU5hbWUgU2Vuc2UuVHJhY2U7ICRsb2dnZXIuV3JpdGVPbmJvYXJkaW5nTWVzc2FnZSgnJWVycm9yT3V0cHV0JScpIiA+TlVMIDI+JjEKZWNobyAlZXJyb3JPdXRwdXQlID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBFcnJvciAvaWQgJWVycm9yQ29kZSUgL2QgIiVlcnJvck91dHB1dCUiID5OVUwgMj4mMQpHT1RPIENMRUFOVVAKCjpTVUNDRUVERUQKZWNobyBGaW5pc2hlZCBwZXJmb3JtaW5nIG9uYm9hcmRpbmcgb3BlcmF0aW9ucyA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCkdPVE8gV0FJVF9GT1JfVEhFX1NFUlZJQ0VfVE9fU1RBUlQKCjpXQUlUX0ZPUl9USEVfU0VSVklDRV9UT19TVEFSVAplY2hvIFdhaXRpbmcgZm9yIHRoZSBzZXJ2aWNlIHRvIHN0YXJ0ID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9SVU5OSU5HX1dBSVQKc2MgcXVlcnkgIlNFTlNFIiB8IGZpbmQgL2kgIlJVTk5JTkciID5OVUwgMj4mMQppZiAlRVJST1JMRVZFTCUgTkVRIDAgKAoJSUYgJWNvdW50ZXIlIEVRVSA0ICgKCQlzZXQgImVycm9yRGVzY3JpcHRpb249VW5hYmxlIHRvIHN0YXJ0IFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZS4iCgkJc2V0IGVycm9yQ29kZT0xNQoJCXNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfUlVOTklOR19XQUlUCikKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9PTkJPQVJERURfU1RBVFVTX1dBSVQKUkVHIHF1ZXJ5ICJIS0xNXFNPRlRXQVJFXE1pY3Jvc29mdFxXaW5kb3dzIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uXFN0YXR1cyIgL3YgT25ib2FyZGluZ1N0YXRlIC9yZWc6NjQgPk5VTCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCglJRiAlY291bnRlciUgRVFVIDQgKAoJCUBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBpcyBub3QgcnVubmluZyBhcyBleHBlY3RlZD4gJVRNUCVcc2Vuc2VUbXAudHh0CgkJc2V0IGVycm9yQ29kZT0zNQogICAgIHNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfT05CT0FSREVEX1NUQVRVU19XQUlUCikKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9PTkJPQVJERURfV0FJVApSRUcgcXVlcnkgIkhLTE1cU09GVFdBUkVcTWljcm9zb2Z0XFdpbmRvd3MgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb25cU3RhdHVzIiAvdiBPbmJvYXJkaW5nU3RhdGUgL3JlZzo2NCB8IGZpbmQgL2kgIjB4MSIgPk5VTCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCglJRiAlY291bnRlciUgRVFVIDQgKAoJCUBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBpcyBub3QgcnVubmluZyBhcyBleHBlY3RlZD4gJVRNUCVcc2Vuc2VUbXAudHh0CgkJc2V0IGVycm9yQ29kZT00MAogICAgIHNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfT05CT0FSREVEX1dBSVQKKQoKc2V0ICJzdWNjZXNzT3V0cHV0PVN1Y2Nlc3NmdWxseSBvbmJvYXJkZWQgbWFjaGluZSB0byBXaW5kb3dzIERlZmVuZGVyIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIgplY2hvICVzdWNjZXNzT3V0cHV0JSA+TlVMIDI+JjEKZWNoby4KZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBJbmZvcm1hdGlvbiAvaWQgMjAgL2QgIiVzdWNjZXNzT3V0cHV0JSIgPk5VTCAyPiYxCiVwb3dlcnNoZWxsUGF0aCUgLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLU5vUHJvZmlsZSAtQ29tbWFuZCAiQWRkLVR5cGUgJ3VzaW5nIFN5c3RlbTsgdXNpbmcgU3lzdGVtLkRpYWdub3N0aWNzOyB1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3MuVHJhY2luZzsgbmFtZXNwYWNlIFNlbnNlIHsgW0V2ZW50RGF0YShOYW1lID0gXCJPbmJvYXJkaW5nXCIpXXB1YmxpYyBzdHJ1Y3QgT25ib2FyZGluZ3twdWJsaWMgc3RyaW5nIE1lc3NhZ2UgeyBnZXQ7IHNldDsgfX0gcHVibGljIGNsYXNzIFRyYWNlIHtwdWJsaWMgc3RhdGljIEV2ZW50U291cmNlT3B0aW9ucyBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiA9IG5ldyBFdmVudFNvdXJjZU9wdGlvbnMoKXtMZXZlbCA9IEV2ZW50TGV2ZWwuSW5mb3JtYXRpb25hbCwgS2V5d29yZHMgPSAoRXZlbnRLZXl3b3JkcykweDAwMDAyMDAwMDAwMDAwMDAsIFRhZ3MgPSAoRXZlbnRUYWdzKTB4MDIwMDAwMH07IHB1YmxpYyB2b2lkIFdyaXRlT25ib2FyZGluZ01lc3NhZ2Uoc3RyaW5nIG1lc3NhZ2Upe2VzLldyaXRlKFwiT25ib2FyZGluZ1NjcmlwdFwiLCBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiwgbmV3IE9uYm9hcmRpbmcge01lc3NhZ2UgPSBtZXNzYWdlfSk7fSBwcml2YXRlIHN0YXRpYyByZWFkb25seSBzdHJpbmdbXSB0ZWxlbWV0cnlUcmFpdHMgPSB7IFwiRVRXX0dST1VQXCIsIFwiezVFQ0IwQkFDLUI5MzAtNDdGNS1BOEE0LUU4MjUzNTI5RURCN31cIiB9OyBwcml2YXRlIEV2ZW50U291cmNlIGVzID0gbmV3IEV2ZW50U291cmNlKFwiTWljcm9zb2Z0LldpbmRvd3MuU2Vuc2UuQ2xpZW50Lk1hbmFnZW1lbnRcIixFdmVudFNvdXJjZVNldHRpbmdzLkV0d1NlbGZEZXNjcmliaW5nRXZlbnRGb3JtYXQsdGVsZW1ldHJ5VHJhaXRzKTt9fSc7ICRsb2dnZXIgPSBOZXctT2JqZWN0IC1UeXBlTmFtZSBTZW5zZS5UcmFjZTsgJGxvZ2dlci5Xcml0ZU9uYm9hcmRpbmdNZXNzYWdlKCclc3VjY2Vzc091dHB1dCUnKSIgPk5VTCAyPiYxCiIlUFJPR1JBTUZJTEVTJVxXaW5kb3dzIERlZmVuZGVyXE1wQ21kUnVuLmV4ZSIgLVJlbG9hZEVuZ2luZSA+TlVMIDI+JjEKCkdPVE8gQ0xFQU5VUAoKOkNMRUFOVVAKaWYgZXhpc3QgJVRNUCVcc2Vuc2VUbXAudHh0IGRlbCAlVE1QJVxzZW5zZVRtcC50eHQKRVhJVCAvQiAlZXJyb3JDb2RlJQo==", + "onboardingPackageLinux": "QGVjaG8gb2ZmCgplY2hvLiA+TlVMIDI+JjEKZWNobyBTdGFydGluZyBXaW5kb3dzIERlZmVuZGVyIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIG9uYm9hcmRpbmcgcHJvY2Vzcy4uLiA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCgpzZXQgZXJyb3JDb2RlPTAKc2V0IGxhc3RFcnJvcj0wCnNldCAidHJvdWJsZXNob290SW5mbz1Gb3IgbW9yZSBpbmZvcm1hdGlvbiwgdmlzaXQ6IGh0dHBzOi8vZ28ubWljcm9zb2Z0LmNvbS9md2xpbmsvcC8/bGlua2lkPTgyMjgwNyIKc2V0ICJlcnJvckRlc2NyaXB0aW9uPSIKCmVjaG8gVGVzdGluZyBhZG1pbmlzdHJhdG9yIHByaXZpbGVnZXMgPk5VTCAyPiYxCgpuZXQgc2Vzc2lvbiA+TlVMIDI+JjEKaWYgJUVSUk9STEVWRUwlIE5FUSAwICgKCUBlY2hvIFNjcmlwdCBpcyBydW5uaW5nIHdpdGggaW5zdWZmaWNpZW50IHByaXZpbGVnZXMuIFBsZWFzZSBydW4gd2l0aCBhZG1pbmlzdHJhdG9yIHByaXZpbGVnZXM+ICVUTVAlXHNlbnNlVG1wLnR4dAoJc2V0IGVycm9yQ29kZT02NQogc2V0IGxhc3RFcnJvcj0lRVJST1JMRVZFTCUKCUdPVE8gRVJST1IKKQoKZWNobyBTY3JpcHQgaXMgcnVubmluZyB3aXRoIHN1ZmZpY2llbnQgcHJpdmlsZWdlcyA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCmVjaG8gUGVyZm9ybWluZyBvbmJvYXJkaW5nIG9wZXJhdGlvbnMgPk5VTCAyPiYxCmVjaG8uID5OVUwgMj4mMQoKSUYgWyVQUk9DRVNTT1JfQVJDSElURVc2NDMyJV0gRVFVIFtdICgKICBzZXQgcG93ZXJzaGVsbFBhdGg9JXdpbmRpciVcU3lzdGVtMzJcV2luZG93c1Bvd2VyU2hlbGxcdjEuMFxwb3dlcnNoZWxsLmV4ZQopIEVMU0UgKAogIHNldCBwb3dlcnNoZWxsUGF0aD0ld2luZGlyJVxTeXNOYXRpdmVcV2luZG93c1Bvd2VyU2hlbGxcdjEuMFxwb3dlcnNoZWxsLmV4ZQopCgpzZXQgc2RiaW49MDEwMDA0ODA0NDAwMDAwMDU0MDAwMDAwMDAwMDAwMDAxNDAwMDAwMDAyMDAzMDAwMDIwMDAwMDAwMDAwMTQwMEZGMEYxMjAwMDEwMTAwMDAwMDAwMDAwNTEyMDAwMDAwMDAwMDE0MDBFMTA0MTIwMDAxMDEwMDAwMDAwMDAwMDUwQjAwMDAwMDAxMDIwMDAwMDAwMDAwMDUyMDAwMDAwMDIwMDIwMDAwMDEwMjAwMDAwMDAwMDAwNTIwMDAwMDAwMjAwMjAwMDAgPk5VTCAyPiYxCnJlZyBhZGQgSEtMTVxTWVNURU1cQ3VycmVudENvbnRyb2xTZXRcQ29udHJvbFxXTUlcU2VjdXJpdHkgL3YgMTRmODEzOGUtM2I2MS01ODBiLTU0NGItMjYwOTM3OGFlNDYwIC90IFJFR19CSU5BUlkgL2QgJXNkYmluJSAvZiA+TlVMIDI+JjEKcmVnIGFkZCBIS0xNXFNZU1RFTVxDdXJyZW50Q29udHJvbFNldFxDb250cm9sXFdNSVxTZWN1cml0eSAvdiBjYjJmZjcyZC1kNGU0LTU4NWQtMzNmOS1mM2EzOTVjNDBiZTcgL3QgUkVHX0JJTkFSWSAvZCAlc2RiaW4lIC9mID5OVUwgMj4mMQoKUkVHIGFkZCAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93c1xEYXRhQ29sbGVjdGlvbiIgL3YgRGlzYWJsZUVudGVycHJpc2VBdXRoUHJveHkgL3QgUkVHX0RXT1JEIC9mIC9kIDEgPk5VTCAyPiYxCgolcG93ZXJzaGVsbFBhdGglIC1FeGVjdXRpb25Qb2xpY3kgQnlwYXNzIC1Ob1Byb2ZpbGUgLUNvbW1hbmQgIkFkZC1UeXBlICcgdXNpbmcgU3lzdGVtOyB1c2luZyBTeXN0ZW0uSU87IHVzaW5nIFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlczsgdXNpbmcgTWljcm9zb2Z0LldpbjMyLlNhZmVIYW5kbGVzOyB1c2luZyBTeXN0ZW0uQ29tcG9uZW50TW9kZWw7IHB1YmxpYyBzdGF0aWMgY2xhc3MgRWxhbXsgW0RsbEltcG9ydChcIktlcm5lbDMyXCIsIENoYXJTZXQ9Q2hhclNldC5BdXRvLCBTZXRMYXN0RXJyb3I9dHJ1ZSldIHB1YmxpYyBzdGF0aWMgZXh0ZXJuIGJvb2wgSW5zdGFsbEVMQU1DZXJ0aWZpY2F0ZUluZm8oU2FmZUZpbGVIYW5kbGUgaGFuZGxlKTsgcHVibGljIHN0YXRpYyB2b2lkIEluc3RhbGxXZEJvb3Qoc3RyaW5nIHBhdGgpIHsgQ29uc29sZS5PdXQuV3JpdGVMaW5lKFwiQWJvdXQgdG8gY2FsbCBjcmVhdGUgZmlsZSBvbiB7MH1cIiwgcGF0aCk7IHZhciBzdHJlYW0gPSBGaWxlLk9wZW4ocGF0aCwgRmlsZU1vZGUuT3BlbiwgRmlsZUFjY2Vzcy5SZWFkLCBGaWxlU2hhcmUuUmVhZCk7IHZhciBoYW5kbGUgPSBzdHJlYW0uU2FmZUZpbGVIYW5kbGU7IENvbnNvbGUuT3V0LldyaXRlTGluZShcIkFib3V0IHRvIGNhbGwgSW5zdGFsbEVMQU1DZXJ0aWZpY2F0ZUluZm8gb24gaGFuZGxlIHswfVwiLCBoYW5kbGUuRGFuZ2Vyb3VzR2V0SGFuZGxlKCkpOyBpZiAoIUluc3RhbGxFTEFNQ2VydGlmaWNhdGVJbmZvKGhhbmRsZSkpIHsgQ29uc29sZS5PdXQuV3JpdGVMaW5lKFwiQ2FsbCBmYWlsZWQuXCIpOyB0aHJvdyBuZXcgV2luMzJFeGNlcHRpb24oTWFyc2hhbC5HZXRMYXN0V2luMzJFcnJvcigpKTsgfSBDb25zb2xlLk91dC5Xcml0ZUxpbmUoXCJDYWxsIHN1Y2Nlc3NmdWwuXCIpOyB9IH0gJzsgJGRyaXZlclBhdGggPSAkZW52OlN5c3RlbVJvb3QgKyAnXFN5c3RlbTMyXERyaXZlcnNcV2RCb290LnN5cyc7IFtFbGFtXTo6SW5zdGFsbFdkQm9vdCgkZHJpdmVyUGF0aCkgIiA+TlVMIDI+JjEKClJFRyBxdWVyeSAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93cyBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiIgL3YgNjk2QzFGQTEtNDAzMC00RkE0LTg3MTMtRkFGOUIyRUE3QzBBIC9yZWc6NjQgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQppZiAlRVJST1JMRVZFTCUgRVFVIDAgKCAgCiAgICBSRUcgZGVsZXRlICJIS0xNXFNPRlRXQVJFXFBvbGljaWVzXE1pY3Jvc29mdFxXaW5kb3dzIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIiAvdiA2OTZDMUZBMS00MDMwLTRGQTQtODcxMy1GQUY5QjJFQTdDMEEgL2YgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQogICAgaWYgJUVSUk9STEVWRUwlIE5FUSAwICgKICAgICAgICBzZXQgImVycm9yRGVzY3JpcHRpb249VW5hYmxlIHRvIGRlbGV0ZSBwcmV2aW91cyBvZmZib2FyZGluZyBpbmZvcm1hdGlvbiBmcm9tIHJlZ2lzdHJ5LiIKICAgICAgICBzZXQgZXJyb3JDb2RlPTUKICAgICAgICBzZXQgbGFzdEVycm9yPSVFUlJPUkxFVkVMJQogICAgICAgIEdPVE8gRVJST1IKICAgICkKKQoKUkVHIGFkZCAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93cyBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiIgL3YgT25ib2FyZGluZ0luZm8gL3QgUkVHX1NaIC9mIC9kICJ7XCJib2R5XCI6XCJ7XFxcInByZXZpb3VzT3JnSWRzXFxcIjpbXSxcXFwib3JnSWRcXFwiOlxcXCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMGRlYWRcXFwiLFxcXCJnZW9Mb2NhdGlvblVybFxcXCI6XFxcImh0dHBzOi8vc2V2aWxsZWNsb3VkZ2F0ZXdheS1zdGcubWljcm9zb2Z0LmNvbS9cXFwiLFxcXCJkYXRhY2VudGVyXFxcIjpcXFwiRWFzdFVzMlxcXCIsXFxcInZvcnRleEdlb0xvY2F0aW9uXFxcIjpcXFwiU2FuZGJveFxcXCIsXFxcInZlcnNpb25cXFwiOlxcXCIxLjNcXFwifVwiLFwic2lnXCI6XCJKc0dGR2o3UCtIL1cvUEExcW9LTml3RXROZkU4YkhGblhxeks1SDhsQ09wc0RnRGNWTWpoT3BmQTZJTTJ3RFZadk5kWGhvZ0dEQ1FDWjNYdFJCbHRkcGFWc3pZNGtINVpHVkdnRUQxVE80ZCtCTjk2VDFSa3pOZ2NjZ2ZCWDNNQUw1bllUWXdiMGlUQUtFMGIxb3BmQmZrMzJQN3Q3b3A5dkhPeXZNMW5qdlZybVdWWWVSNk4rZFFrLzM4UDNUY2V3b2FkRmFUb3pidjBZK3dZOHgrbFcxeWN6bk1KMitQWTlxRHpabXoybE1rd0FlaDJwRTI4VW5MT0lhNjg0Y3U5RitHUlAveGhhR3dQWmpoc1JCSW51cHV5U1E2Y09YdE9kSERCQlRaZzVKSEhHMDBkNk9tUk5ONmxBelJWeFJURUVmaFFUVnN0U1poKzNMSjJTMGhmZGc9PVwiLFwic2hhMjU2c2lnXCI6XCJsVGI4ZittdkFveDRCckxPS0lqejFnTTNrRHREbG9wL21uNmZodmVEWjMvblVqb1lhNk81V2p4R0x2Z3lqZ0RtdThETkdPNUtqWWlxTVZ6Z0QzcHdqOVYwOXVOeUdYNGJUaXN0d1BnQTFLbGMrMUFLcmtWQTRGWGlQTHlST2tXdlhLM2dydFFJWU9nYjdSRlh6dzhnQlB5YlV0Z0FWbmNaMVFpdTAzblFLdGh5MFU3aXBlZUxaVE9oYVlhN001cTJxUTcya1BaSTZWUWlqSE42NVg3UTEvcm5rdUlSUkFmUEErZElIeE4wN0tpSlY2MGZsbDFZUUtOUlpSYUhKeGQ1UDd0RmdaaytEZE5mNVNXcHVaSTZTZE9MdExDN3VnbmdnK0krU2pUeUtvcVFKZElkWGRRaE5JK3I3WEM1L1M0ZlhnRVNtWmZKTUYxL0JtVlVFZUJDZlE9PVwiLFwiY2VydFwiOlwiTUlJRjVqQ0NBODZnQXdJQkFnSVRNd0FBQVkwdmh1VTl6R2x5b1FBQUFBQUJqVEFOQmdrcWhraUc5dzBCQVFzRkFEQitNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1YyRnphR2x1WjNSdmJqRVFNQTRHQTFVRUJ4TUhVbVZrYlc5dVpERWVNQndHQTFVRUNoTVZUV2xqY205emIyWjBJRU52Y25CdmNtRjBhVzl1TVNnd0pnWURWUVFERXg5TmFXTnliM052Wm5RZ1UyVmpkWEpsSUZObGNuWmxjaUJEUVNBeU1ERXhNQjRYRFRJd01EZ3dOakl3TlRBMU9Gb1hEVEl4TURnd05qSXdOVEExT0Zvd2dZb3hDekFKQmdOVkJBWVRBbFZUTVFzd0NRWURWUVFJRXdKWFFURVFNQTRHQTFVRUJ4TUhVbVZrYlc5dVpERWVNQndHQTFVRUNoTVZUV2xqY205emIyWjBJRU52Y25CdmNtRjBhVzl1TVI0d0hBWURWUVFMRXhWTmFXTnliM052Wm5RZ1EyOXljRzl5WVhScGIyNHhIREFhQmdOVkJBTVRFMU5sZG1sc2JHVXVWMmx1Wkc5M2N5NWpiMjB3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRENmcWtCcmV1Um1qdm90bDFFdURQWVplaVc1dUVERmV6MXhsYmh6cjVaa1BjSUJYT3RIMVZWRjRaUmVrdTFpK3ZMbTNON2xkVGl4c2RSZW0yU09iVkFGb1dDbjZ2cEYwL1ZYcWpmUTJHbyt2dk9UU1Q0Si9pQWxocXhialVVbkRyWFpXYUMvS2xtU0lYMjlHUng5bG1pT0IrWVBhRzlOTEE1U3F3emNad2hjTThzS3F0VDhHaWQ3Q3JFNGs1WldES0gyL1dPVTVsQ01iZTY2MWtrbWxKZDB2TlBDTXpyMUgzVmNmRG1qVVo4Q25WQzBFODlhVVA3VHhhME1uS0FzVFArQkpCNXJMenhkVlJRbGRNbmhHVXNXRU0ydUNOWXFOdWc4QWYrTGp3RytySXZrSVR3NVlDMUZDZy9qVHBvdHJnSFhmSGRqaURqa0F3ZWY1TlVkTmx0QWdNQkFBR2pnZ0ZPTUlJQlNqQU9CZ05WSFE4QkFmOEVCQU1DQjRBd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3RXdIUVlEVlIwT0JCWUVGT0U1NVFoeno5bEhuWTl2aDVTWmtyMTdjbEtzTUI0R0ExVWRFUVFYTUJXQ0UxTmxkbWxzYkdVdVYybHVaRzkzY3k1amIyMHdId1lEVlIwakJCZ3dGb0FVTmxhSlpVbkxXNXN2UEt4Q0ZsQk5rYmt6MTVFd1V3WURWUjBmQkV3d1NqQklvRWFnUklaQ2FIUjBjRG92TDNkM2R5NXRhV055YjNOdlpuUXVZMjl0TDNCcmFXOXdjeTlqY213dlRXbGpVMlZqVTJWeVEwRXlNREV4WHpJd01URXRNVEF0TVRndVkzSnNNR0FHQ0NzR0FRVUZCd0VCQkZRd1VqQlFCZ2dyQmdFRkJRY3dBb1pFYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OWpaWEowY3k5TmFXTlRaV05UWlhKRFFUSXdNVEZmTWpBeE1TMHhNQzB4T0M1amNuUXdEQVlEVlIwVEFRSC9CQUl3QURBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQVp3ZGxhWjg4U3BURFdUUjc5NWRHV2N0dUxUWmc2UDBqYmh4Q0dhOXBnb3AzSXZ1Qi9QYzJXT2Ruc1ZCYUpUZG5WN3NvcFZHa3V4Vjc1eWk2Q0NQM2sxNG0xQ1FhNk01cmNodmJuVEY0TFdjWld4U1g4Z0hjRWhObFdYV3hxU3FKMzNnSHVGNEc5SCs3VDM3UlNMb2Jqb1MyeVRhc21SRWtCNTI4b1gwWVU0cVpjeVdyK0xEMVovQk10dEhMUlZUZUtHdnpMaVpCNmhqWURybW9qUUxKZXZwSEdoTVdOTU9oR2RLd2pOS0crZGhVRHV6dTdsVXgwZzdhaUR3c1l4NzFTaU9ucDJWOSt5UEhET2R5OXlBRUNPb0N3bUprbW5qLzlDMmVNMDFDQjFZMUxTWHNiQUJtQVd3Si9iczhRNnhTWlJtSnkyRXJSQ3VTakl0MUQydzRTUFVMRFNNVTdIaDk3TWJpQVJDV25TMVRRMGg5azZFWVVmbW1ZaFNHQ0p3MXFlekFqZ2FmTngyYWcrRDhzRFFkQzRjVHhUSTk5aGthUm1DakFmeW1qcVdscUx5V0pCUmdvaXdTd21MVDFUbzRJNUVjZHFoQ1FNdEpoRVVRR2dpenk2ZUE2RlhtNHhmeExua08xSkNKSGJUejlqL2c4OW5zZ0hVN2V4SDVnZHhZQ0FDMGJkUlZLN1YrVlBDcExnLy9SemtlNm9mc1Y3WkxyQUpvN0EyQTZka0dVL09XeGhpVjJiY0VlUEpmSWsrVjM3UHp3c25yZ1JFV2RpM1pic3dBOU5aTTVzZGVSMFlFRm11bit0b2JCRGMzMlRidlVyTUpTb2tjcG9XNnRZczlkR0tUcE1GV01EZ09UeEZjSHljbHZrMjRVQVV2dXk2WVcvSVN2VlY4a3BRPVwiLFwiY2hhaW5cIjpbXCJNSUlHMkRDQ0JNQ2dBd0lCQWdJS1lUKzNHQUFBQUFBQUJEQU5CZ2txaGtpRzl3MEJBUXNGQURDQmlERUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVEIxSmxaRzF2Ym1ReEhqQWNCZ05WQkFvVEZVMXBZM0p2YzI5bWRDQkRiM0p3YjNKaGRHbHZiakV5TURBR0ExVUVBeE1wVFdsamNtOXpiMlowSUZKdmIzUWdRMlZ5ZEdsbWFXTmhkR1VnUVhWMGFHOXlhWFI1SURJd01URXdIaGNOTVRFeE1ERTRNakkxTlRFNVdoY05Nall4TURFNE1qTXdOVEU1V2pCK01Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LVjJGemFHbHVaM1J2YmpFUU1BNEdBMVVFQnhNSFVtVmtiVzl1WkRFZU1Cd0dBMVVFQ2hNVlRXbGpjbTl6YjJaMElFTnZjbkJ2Y21GMGFXOXVNU2d3SmdZRFZRUURFeDlOYVdOeWIzTnZablFnVTJWamRYSmxJRk5sY25abGNpQkRRU0F5TURFeE1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBMEF2QXBLZ1pnZUkyNWVLcTVmT3lGVmgxdnJUbFNmSGdoUG03RFdUdmhjR0JWYmp6NS9GdFFGVTl6b3RxMFlTVDlYVjhXNlRVZEJES012TWowNjd1ejU0RVdNTFpSOHZSZkFCQlNIRWJBV2NYR0svRy9uTURmdVR2UTV6dkFYRXFINEVtUTNlWVZGZHpuVlVyOEo2T2ZRWU9yQnRVOHliMytDTUlJb3VlQmgwM09QMXkwc3JsWThHYVduMnliYk5TcVc3cHJyWDhpemI1bnZyMkhGZ2JsMWFsRWVXM1V0dTc2ZkJVdjdUL0xHeTRYU2JPb0FyWDM1UHRmOTJzOFN4ekd0a1pOMVc2M1NKNGpxSFVtd240QnlJeGNiQ1VydUN3NXlaRVY1Q0JseFhPWWV4bDRrdnhoVklXTXZpMWVLcCt6VTNzZ3lHa3FKdSttbW9FNEtNY3pWWVliUDFyTDBJKzRqZnljcXZRZUhOeWU5N3NBRmpsSVRDakNEcVo3NS9EOTNvV2xtVzF3NEd2OURsd1NhLzJxZlpxQURqNXRBZ1o0Qm8xcFZaMklsOXE4bW11UHExWVJrMjRWUGFKUVVRZWNyRzhFaWRUMHNIL3NzMVFtQjYxOUx1MndvSTUyYXdiOGpzbmhHcXd4aVlMMXpvUTU3UGJmTk5XckZOTUMvbzdNVGQwMkZrcitRQjVHUVo3L1J3ZFF0UkJEUzhGRHRWclNTUC96ODM0ZW9MUDJqd3QzK2pZRWdRWXVoNklkN2lZSHhBSHU4Z0ZmZ3NKdjJ2ZDQwNWJzUG5IaEtZN3lreWZXMklwOThlaXFKV0ljQ3psd1Q4OFVpTlBRSnJETVlXREw3OHA4UjFRanlHV0I4N3Y4b0RDUkgyYll1OHZ3M2VKcTBWTlV6NENlZE1DQXdFQUFhT0NBVXN3Z2dGSE1CQUdDU3NHQVFRQmdqY1ZBUVFEQWdFQU1CMEdBMVVkRGdRV0JCUTJWb2xsU2N0Ym15ODhyRUlXVUUyUnVUUFhrVEFaQmdrckJnRUVBWUkzRkFJRURCNEtBRk1BZFFCaUFFTUFRVEFMQmdOVkhROEVCQU1DQVlZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZkJnTlZIU01FR0RBV2dCUnlMVG9DTVpCRHVSUUZUdUhxcDhjeDBTT0pOREJhQmdOVkhSOEVVekJSTUUrZ1RhQkxoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1amIyMHZjR3RwTDJOeWJDOXdjbTlrZFdOMGN5OU5hV05TYjI5RFpYSkJkWFF5TURFeFh6SXdNVEZmTUROZk1qSXVZM0pzTUY0R0NDc0dBUVVGQndFQkJGSXdVREJPQmdnckJnRUZCUWN3QW9aQ2FIUjBjRG92TDNkM2R5NXRhV055YjNOdlpuUXVZMjl0TDNCcmFTOWpaWEowY3k5TmFXTlNiMjlEWlhKQmRYUXlNREV4WHpJd01URmZNRE5mTWpJdVkzSjBNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUJCeUdIQjlWdWVQcEV4OGJER3Z3a0J0SjIya0hUWENkdW1MZzJmeU9kMk5FYXZCMkNKVElHelBOWDBFalYxd25PbDlVMkVqTXVrWGErL2t2WVhDRmRDbFhKbEJYWjVyZTdSdXJndVZLTlJCNnhvNnlFTTR5V0J3czBxOHNQL3o4SzlTUmlheC9DRXhma1V2R3VWNVpidnMwTFNVOVZLb0JMRXJoSjJVd2xXRHAzMzA2WkppRkR5aWl5WElLSytUbmp2QldXM1M2RVdpTjR4eHdoQ0pIeWtlNTZkdkdBQVhtS1g0NVA4cC81YmV5WGY1Rk4vUzc3bVB2RGJBWGxDSEc2RmJIMjJSREQ3cFRlU2s3S2w3aUN0UDFQVnlmUW9hMWZCK0IxcXQxWXF0aWVCSEtZdG4rZjAwREdEbDZncXRxeStHMEgxNUlsZlZ2dmFXdE5lZlZXVUVINVRWL1JLUFVBcXlMMW5uNFRoRU83OTJtc1Zna244UmgzL1JRWjBuRUlVN2NVNTA3UE5DNE1ua0VOUmt2SkVncTV1bWhVWHNobjZ4MFZzbUFGN3Z6ZXBzSWlra3J3NE9PQWQ1SHlYbUJvdVgrODRaYmMxTDcxL1R5SDZ4SXpTYndiNVNUWHEzeUFQSmFycVlLc3NIMHVKL0xmNlhGU1FTejZpS0U5czVGSmx3ZjJRSElXQ2lHN3BwbFhkSVNoNVJiQVU1UXJNNWwvRXU5dGhOR21mckNZNDk4RXBRUWdWTGt5Zzkva01QdDVmcXdnSkxZT3NyRFNEWXZUSlNVS0pKYlZ1c2tmRnN6bWdzU0FiTExHT0JHK2xNRWtjMEVicFFGdjByVzY2MjRKS2h4SktnQWxOMjk5MnVRVmJHK0M3SUhCZkFDWEgwdzc2RnExN0lwNXhDQT09XCIsXCJNSUlGN1RDQ0E5V2dBd0lCQWdJUVA0dkl0Znlmc3BaRHRXbldiRUxoUkRBTkJna3Foa2lHOXcwQkFRc0ZBRENCaURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDbGRoYzJocGJtZDBiMjR4RURBT0JnTlZCQWNUQjFKbFpHMXZibVF4SGpBY0JnTlZCQW9URlUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJqRXlNREFHQTFVRUF4TXBUV2xqY205emIyWjBJRkp2YjNRZ1EyVnlkR2xtYVdOaGRHVWdRWFYwYUc5eWFYUjVJREl3TVRFd0hoY05NVEV3TXpJeU1qSXdOVEk0V2hjTk16WXdNekl5TWpJeE16QTBXakNCaURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDbGRoYzJocGJtZDBiMjR4RURBT0JnTlZCQWNUQjFKbFpHMXZibVF4SGpBY0JnTlZCQW9URlUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJqRXlNREFHQTFVRUF4TXBUV2xqY205emIyWjBJRkp2YjNRZ1EyVnlkR2xtYVdOaGRHVWdRWFYwYUc5eWFYUjVJREl3TVRFd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUUN5Z0VHcU5UaE5FM0l5YUNKTnVMTHgvOVZTdkd6SDlkSktqRGJ1MGNKY2ZveUtycThUS0cvQWMrTTZ6dEFscUZvNmJlK291Rm1yRXlOb3pRd3BoOUZ2Z0Z5UFJIOWRrQUZTV0t4UnhWOHFoOXpjMkFvZHdRTzVlN0JXNktQZVpHSENudmp6Zkxuc0RiVlUva3kyWlUrSThKeEltUXhDQ3dsOE1Wa1hlUVo0S0kySk9rd0RKYjV4YWx3TDU0UmdwSmtpNDlLdmhLU24rOUdZN1F5cDNwU0o0UTZnM01ET21UM3FDRks3Vm5ua0g0UzZIcmkweEVsY1R6RkxoOTNkQldjbW1ZRGdjUkdqdUtWQjRxUlR1ZmN5S1lNTUU3ODJYZ1N6UzBOSEwydmlrUjdUbUUvZFFnZkk2QjBTL0ptcGF6NlNmc2pXYVRyOFpMMjJDWjNLL1F3TG9wdDNZRXNEbEtRd2FSTFdRaTNCUVV6SzNLcjlqMXVEUnByWi9MSFI0N1BKZjBoNnpTVHdRWTljZE5Dc3NCQWdCa20zeHkwaHlGZmowSWJ6QTJqNzBNNXh3WW1aU21RQmJQM3NNSkhQUVR5U3grVzZoaDFoaE1kZmd6bGlyclNTTDBmekMvaFY2NkFmV2RDN2RKc2UwSGJtOHVrRzF4RG8rbVRlYWNZMWxvZ0M4RWE0UHllWmI4dHhpU2sxOTBnV0FqV1AxWGw4VFFMUFgrdUtnMDlGY1lqNXFRMU9jdW5DbkFmUFNSdE9CQTVqVVl4ZTJBREJWU3kyeHVEQ1pVN0pORG4xbkxQRWZ1aGhiaE5mRmNSZjJYN3RIYzd1Uk96TExvYXg3RGoyY08yclhCUEIyUThOeDRDeVZlMDA5NnliNU1QYTUwYzhwcldQTWQvRlM2L3I4UUlEQVFBQm8xRXdUekFMQmdOVkhROEVCQU1DQVlZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVWNpMDZBakdRUTdrVUJVN2g2cWZITWRFamlUUXdFQVlKS3dZQkJBR0NOeFVCQkFNQ0FRQXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnSUJBSDl5encrM3hSWGJtOEJKeWlaYi9wNFQ1dFB3MHR1WFgvSkxQMDJ6cmhtdTdkZVhvS3p2cVRxandrR3c1YmlSbmhPQkpBUG1DZjAvVjBBNUlTUlcwUkF2UzBDcE5vWkx0Rk5YbXZ2eGZvbVBFZjRZYkZHcTZPMEpsYlhsY2NtaDZZZDFwaFYveVg0M1ZGNTBrOFhEWjh3TlQydW9Gd3h0Q0pKK2k5MkJxaTF3SWNNOUJoUzd2eVJlcDRUWFB3OGhJcjFMQUFiYmx4ellYdFRGQzF5SGJsQ2s2TU00cFB2TExNV1NacHVGWHN0NmJKTjhnQ2xZVzFlMVFHbTZDSG1tWkdJVm5ZZVdSYlZtSXlBRGl4eHpvTk9pZVRQZ1VGbUcyeS9sQWlYcWN5cWZBQlRJTnNlU08rbE9BT3pZVmdtNU0wa1MwbFFMQWF1c1I3YVJLWDFNdEhXQVVnSG95b0wybjh5c25JOFg2aThtc0t0eXJBditubEVleDBOVlowOVJzMWZXdHV6dVVyYzY2VTdoMTRHSXZFK09kYnRMcVBBMXFpYlVaMmRKc25CTU81UGNIZDk0a0laeXNqaWswZHlTVGNsWTZ5c1NYTlE3cm94cnNJUGxBVC80Q1RMMmt6VTBJcS9kTncxM0NZQXJ6VWdBOFl5WkdVY0ZBZW5SdjlGTzBPWW9RemVacEFwS0NObWFjWFBTcXMweEUyTjJvVGR2a2pnZWZSSThaakxueTIzaC9GS0ozY3JXWmdXYWxtRytvaWpISEtPbk5sQThPcVRmU203bWh6dk82L0RnZ1RlZEV6eFNqcjI1SFRUR0hkVUthajJZS1hDTWlTclJxNElRU0IvYzlPK2x4YnRWR2poamhFNjNiSzJWVk94bEloQkpGN2pBSHNjUHJGUkhcIl19IiA+ICVUTVAlXHNlbnNlVG1wLnR4dCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCiAgIHNldCAiZXJyb3JEZXNjcmlwdGlvbj1VbmFibGUgdG8gd3JpdGUgb25ib2FyZGluZyBpbmZvcm1hdGlvbiB0byByZWdpc3RyeS4iCiAgIHNldCBlcnJvckNvZGU9MTAKICAgc2V0IGxhc3RFcnJvcj0lRVJST1JMRVZFTCUKICAgR09UTyBFUlJPUgopCgplY2hvIFN0YXJ0aW5nIHRoZSBzZXJ2aWNlLCBpZiBub3QgYWxyZWFkeSBydW5uaW5nID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKc2MgcXVlcnkgIlNFTlNFIiB8IGZpbmQgL2kgIlJVTk5JTkciID5OVUwgMj4mMQppZiAlRVJST1JMRVZFTCUgRVFVIDAgR09UTyBSVU5OSU5HCgpuZXQgc3RhcnQgc2Vuc2UgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQppZiAlRVJST1JMRVZFTCUgTkVRIDAgKAogICBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBoYXMgbm90IHN0YXJ0ZWQgeWV0ID5OVUwgMj4mMQogICBHT1RPIFdBSVRfRk9SX1RIRV9TRVJWSUNFX1RPX1NUQVJUCikKZ290byBTVUNDRUVERUQKCjpSVU5OSU5HCnNldCAicnVubmluZ091dHB1dD1UaGUgV2luZG93cyBEZWZlbmRlciBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiBTZXJ2aWNlIGlzIGFscmVhZHkgcnVubmluZyEiCmVjaG8gJXJ1bm5pbmdPdXRwdXQlID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBJbmZvcm1hdGlvbiAvaWQgMTAgL2QgIiVydW5uaW5nT3V0cHV0JSIgPk5VTCAyPiYxCkdPVE8gV0FJVF9GT1JfVEhFX1NFUlZJQ0VfVE9fU1RBUlQKCjpFUlJPUgpTZXQgL1AgZXJyb3JNc2c9PCVUTVAlXHNlbnNlVG1wLnR4dApzZXQgImVycm9yT3V0cHV0PVtFcnJvciBJZDogJWVycm9yQ29kZSUsIEVycm9yIExldmVsOiAlbGFzdEVycm9yJV0gJWVycm9yRGVzY3JpcHRpb24lIEVycm9yIG1lc3NhZ2U6ICVlcnJvck1zZyUiCiVwb3dlcnNoZWxsUGF0aCUgLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLU5vUHJvZmlsZSAtQ29tbWFuZCAiQWRkLVR5cGUgJ3VzaW5nIFN5c3RlbTsgdXNpbmcgU3lzdGVtLkRpYWdub3N0aWNzOyB1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3MuVHJhY2luZzsgbmFtZXNwYWNlIFNlbnNlIHsgW0V2ZW50RGF0YShOYW1lID0gXCJPbmJvYXJkaW5nXCIpXXB1YmxpYyBzdHJ1Y3QgT25ib2FyZGluZ3twdWJsaWMgc3RyaW5nIE1lc3NhZ2UgeyBnZXQ7IHNldDsgfX0gcHVibGljIGNsYXNzIFRyYWNlIHtwdWJsaWMgc3RhdGljIEV2ZW50U291cmNlT3B0aW9ucyBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiA9IG5ldyBFdmVudFNvdXJjZU9wdGlvbnMoKXtMZXZlbCA9IEV2ZW50TGV2ZWwuRXJyb3IsIEtleXdvcmRzID0gKEV2ZW50S2V5d29yZHMpMHgwMDAwMjAwMDAwMDAwMDAwLCBUYWdzID0gKEV2ZW50VGFncykweDAyMDAwMDB9OyBwdWJsaWMgdm9pZCBXcml0ZU9uYm9hcmRpbmdNZXNzYWdlKHN0cmluZyBtZXNzYWdlKXtlcy5Xcml0ZShcIk9uYm9hcmRpbmdTY3JpcHRcIiwgVGVsZW1ldHJ5Q3JpdGljYWxPcHRpb24sIG5ldyBPbmJvYXJkaW5nIHtNZXNzYWdlID0gbWVzc2FnZX0pO30gcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgc3RyaW5nW10gdGVsZW1ldHJ5VHJhaXRzID0geyBcIkVUV19HUk9VUFwiLCBcIns1RUNCMEJBQy1COTMwLTQ3RjUtQThBNC1FODI1MzUyOUVEQjd9XCIgfTsgcHJpdmF0ZSBFdmVudFNvdXJjZSBlcyA9IG5ldyBFdmVudFNvdXJjZShcIk1pY3Jvc29mdC5XaW5kb3dzLlNlbnNlLkNsaWVudC5NYW5hZ2VtZW50XCIsRXZlbnRTb3VyY2VTZXR0aW5ncy5FdHdTZWxmRGVzY3JpYmluZ0V2ZW50Rm9ybWF0LHRlbGVtZXRyeVRyYWl0cyk7fX0nOyAkbG9nZ2VyID0gTmV3LU9iamVjdCAtVHlwZU5hbWUgU2Vuc2UuVHJhY2U7ICRsb2dnZXIuV3JpdGVPbmJvYXJkaW5nTWVzc2FnZSgnJWVycm9yT3V0cHV0JScpIiA+TlVMIDI+JjEKZWNobyAlZXJyb3JPdXRwdXQlID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBFcnJvciAvaWQgJWVycm9yQ29kZSUgL2QgIiVlcnJvck91dHB1dCUiID5OVUwgMj4mMQpHT1RPIENMRUFOVVAKCjpTVUNDRUVERUQKZWNobyBGaW5pc2hlZCBwZXJmb3JtaW5nIG9uYm9hcmRpbmcgb3BlcmF0aW9ucyA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCkdPVE8gV0FJVF9GT1JfVEhFX1NFUlZJQ0VfVE9fU1RBUlQKCjpXQUlUX0ZPUl9USEVfU0VSVklDRV9UT19TVEFSVAplY2hvIFdhaXRpbmcgZm9yIHRoZSBzZXJ2aWNlIHRvIHN0YXJ0ID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9SVU5OSU5HX1dBSVQKc2MgcXVlcnkgIlNFTlNFIiB8IGZpbmQgL2kgIlJVTk5JTkciID5OVUwgMj4mMQppZiAlRVJST1JMRVZFTCUgTkVRIDAgKAoJSUYgJWNvdW50ZXIlIEVRVSA0ICgKCQlzZXQgImVycm9yRGVzY3JpcHRpb249VW5hYmxlIHRvIHN0YXJ0IFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZS4iCgkJc2V0IGVycm9yQ29kZT0xNQoJCXNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfUlVOTklOR19XQUlUCikKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9PTkJPQVJERURfU1RBVFVTX1dBSVQKUkVHIHF1ZXJ5ICJIS0xNXFNPRlRXQVJFXE1pY3Jvc29mdFxXaW5kb3dzIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uXFN0YXR1cyIgL3YgT25ib2FyZGluZ1N0YXRlIC9yZWc6NjQgPk5VTCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCglJRiAlY291bnRlciUgRVFVIDQgKAoJCUBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBpcyBub3QgcnVubmluZyBhcyBleHBlY3RlZD4gJVRNUCVcc2Vuc2VUbXAudHh0CgkJc2V0IGVycm9yQ29kZT0zNQogICAgIHNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfT05CT0FSREVEX1NUQVRVU19XQUlUCikKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9PTkJPQVJERURfV0FJVApSRUcgcXVlcnkgIkhLTE1cU09GVFdBUkVcTWljcm9zb2Z0XFdpbmRvd3MgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb25cU3RhdHVzIiAvdiBPbmJvYXJkaW5nU3RhdGUgL3JlZzo2NCB8IGZpbmQgL2kgIjB4MSIgPk5VTCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCglJRiAlY291bnRlciUgRVFVIDQgKAoJCUBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBpcyBub3QgcnVubmluZyBhcyBleHBlY3RlZD4gJVRNUCVcc2Vuc2VUbXAudHh0CgkJc2V0IGVycm9yQ29kZT00MAogICAgIHNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfT05CT0FSREVEX1dBSVQKKQoKc2V0ICJzdWNjZXNzT3V0cHV0PVN1Y2Nlc3NmdWxseSBvbmJvYXJkZWQgbWFjaGluZSB0byBXaW5kb3dzIERlZmVuZGVyIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIgplY2hvICVzdWNjZXNzT3V0cHV0JSA+TlVMIDI+JjEKZWNoby4KZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBJbmZvcm1hdGlvbiAvaWQgMjAgL2QgIiVzdWNjZXNzT3V0cHV0JSIgPk5VTCAyPiYxCiVwb3dlcnNoZWxsUGF0aCUgLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLU5vUHJvZmlsZSAtQ29tbWFuZCAiQWRkLVR5cGUgJ3VzaW5nIFN5c3RlbTsgdXNpbmcgU3lzdGVtLkRpYWdub3N0aWNzOyB1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3MuVHJhY2luZzsgbmFtZXNwYWNlIFNlbnNlIHsgW0V2ZW50RGF0YShOYW1lID0gXCJPbmJvYXJkaW5nXCIpXXB1YmxpYyBzdHJ1Y3QgT25ib2FyZGluZ3twdWJsaWMgc3RyaW5nIE1lc3NhZ2UgeyBnZXQ7IHNldDsgfX0gcHVibGljIGNsYXNzIFRyYWNlIHtwdWJsaWMgc3RhdGljIEV2ZW50U291cmNlT3B0aW9ucyBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiA9IG5ldyBFdmVudFNvdXJjZU9wdGlvbnMoKXtMZXZlbCA9IEV2ZW50TGV2ZWwuSW5mb3JtYXRpb25hbCwgS2V5d29yZHMgPSAoRXZlbnRLZXl3b3JkcykweDAwMDAyMDAwMDAwMDAwMDAsIFRhZ3MgPSAoRXZlbnRUYWdzKTB4MDIwMDAwMH07IHB1YmxpYyB2b2lkIFdyaXRlT25ib2FyZGluZ01lc3NhZ2Uoc3RyaW5nIG1lc3NhZ2Upe2VzLldyaXRlKFwiT25ib2FyZGluZ1NjcmlwdFwiLCBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiwgbmV3IE9uYm9hcmRpbmcge01lc3NhZ2UgPSBtZXNzYWdlfSk7fSBwcml2YXRlIHN0YXRpYyByZWFkb25seSBzdHJpbmdbXSB0ZWxlbWV0cnlUcmFpdHMgPSB7IFwiRVRXX0dST1VQXCIsIFwiezVFQ0IwQkFDLUI5MzAtNDdGNS1BOEE0LUU4MjUzNTI5RURCN31cIiB9OyBwcml2YXRlIEV2ZW50U291cmNlIGVzID0gbmV3IEV2ZW50U291cmNlKFwiTWljcm9zb2Z0LldpbmRvd3MuU2Vuc2UuQ2xpZW50Lk1hbmFnZW1lbnRcIixFdmVudFNvdXJjZVNldHRpbmdzLkV0d1NlbGZEZXNjcmliaW5nRXZlbnRGb3JtYXQsdGVsZW1ldHJ5VHJhaXRzKTt9fSc7ICRsb2dnZXIgPSBOZXctT2JqZWN0IC1UeXBlTmFtZSBTZW5zZS5UcmFjZTsgJGxvZ2dlci5Xcml0ZU9uYm9hcmRpbmdNZXNzYWdlKCclc3VjY2Vzc091dHB1dCUnKSIgPk5VTCAyPiYxCiIlUFJPR1JBTUZJTEVTJVxXaW5kb3dzIERlZmVuZGVyXE1wQ21kUnVuLmV4ZSIgLVJlbG9hZEVuZ2luZSA+TlVMIDI+JjEKCkdPVE8gQ0xFQU5VUAoKOkNMRUFOVVAKaWYgZXhpc3QgJVRNUCVcc2Vuc2VUbXAudHh0IGRlbCAlVE1QJVxzZW5zZVRtcC50eHQKRVhJVCAvQiAlZXJyb3JDb2RlJQo==" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-10-01-preview/examples/MdeOnboardings/ListMdeOnboardings_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-10-01-preview/examples/MdeOnboardings/ListMdeOnboardings_example.json new file mode 100644 index 000000000000..acd087267358 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-10-01-preview/examples/MdeOnboardings/ListMdeOnboardings_example.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/mdeOnboarding/default", + "name": "default", + "type": "Microsoft.Security/mdeOnboarding", + "properties": { + "onboardingPackageWindows": "QGVjaG8gb2ZmCgplY2hvLiA+TlVMIDI+JjEKZWNobyBTdGFydGluZyBXaW5kb3dzIERlZmVuZGVyIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIG9uYm9hcmRpbmcgcHJvY2Vzcy4uLiA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCgpzZXQgZXJyb3JDb2RlPTAKc2V0IGxhc3RFcnJvcj0wCnNldCAidHJvdWJsZXNob290SW5mbz1Gb3IgbW9yZSBpbmZvcm1hdGlvbiwgdmlzaXQ6IGh0dHBzOi8vZ28ubWljcm9zb2Z0LmNvbS9md2xpbmsvcC8/bGlua2lkPTgyMjgwNyIKc2V0ICJlcnJvckRlc2NyaXB0aW9uPSIKCmVjaG8gVGVzdGluZyBhZG1pbmlzdHJhdG9yIHByaXZpbGVnZXMgPk5VTCAyPiYxCgpuZXQgc2Vzc2lvbiA+TlVMIDI+JjEKaWYgJUVSUk9STEVWRUwlIE5FUSAwICgKCUBlY2hvIFNjcmlwdCBpcyBydW5uaW5nIHdpdGggaW5zdWZmaWNpZW50IHByaXZpbGVnZXMuIFBsZWFzZSBydW4gd2l0aCBhZG1pbmlzdHJhdG9yIHByaXZpbGVnZXM+ICVUTVAlXHNlbnNlVG1wLnR4dAoJc2V0IGVycm9yQ29kZT02NQogc2V0IGxhc3RFcnJvcj0lRVJST1JMRVZFTCUKCUdPVE8gRVJST1IKKQoKZWNobyBTY3JpcHQgaXMgcnVubmluZyB3aXRoIHN1ZmZpY2llbnQgcHJpdmlsZWdlcyA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCmVjaG8gUGVyZm9ybWluZyBvbmJvYXJkaW5nIG9wZXJhdGlvbnMgPk5VTCAyPiYxCmVjaG8uID5OVUwgMj4mMQoKSUYgWyVQUk9DRVNTT1JfQVJDSElURVc2NDMyJV0gRVFVIFtdICgKICBzZXQgcG93ZXJzaGVsbFBhdGg9JXdpbmRpciVcU3lzdGVtMzJcV2luZG93c1Bvd2VyU2hlbGxcdjEuMFxwb3dlcnNoZWxsLmV4ZQopIEVMU0UgKAogIHNldCBwb3dlcnNoZWxsUGF0aD0ld2luZGlyJVxTeXNOYXRpdmVcV2luZG93c1Bvd2VyU2hlbGxcdjEuMFxwb3dlcnNoZWxsLmV4ZQopCgpzZXQgc2RiaW49MDEwMDA0ODA0NDAwMDAwMDU0MDAwMDAwMDAwMDAwMDAxNDAwMDAwMDAyMDAzMDAwMDIwMDAwMDAwMDAwMTQwMEZGMEYxMjAwMDEwMTAwMDAwMDAwMDAwNTEyMDAwMDAwMDAwMDE0MDBFMTA0MTIwMDAxMDEwMDAwMDAwMDAwMDUwQjAwMDAwMDAxMDIwMDAwMDAwMDAwMDUyMDAwMDAwMDIwMDIwMDAwMDEwMjAwMDAwMDAwMDAwNTIwMDAwMDAwMjAwMjAwMDAgPk5VTCAyPiYxCnJlZyBhZGQgSEtMTVxTWVNURU1cQ3VycmVudENvbnRyb2xTZXRcQ29udHJvbFxXTUlcU2VjdXJpdHkgL3YgMTRmODEzOGUtM2I2MS01ODBiLTU0NGItMjYwOTM3OGFlNDYwIC90IFJFR19CSU5BUlkgL2QgJXNkYmluJSAvZiA+TlVMIDI+JjEKcmVnIGFkZCBIS0xNXFNZU1RFTVxDdXJyZW50Q29udHJvbFNldFxDb250cm9sXFdNSVxTZWN1cml0eSAvdiBjYjJmZjcyZC1kNGU0LTU4NWQtMzNmOS1mM2EzOTVjNDBiZTcgL3QgUkVHX0JJTkFSWSAvZCAlc2RiaW4lIC9mID5OVUwgMj4mMQoKUkVHIGFkZCAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93c1xEYXRhQ29sbGVjdGlvbiIgL3YgRGlzYWJsZUVudGVycHJpc2VBdXRoUHJveHkgL3QgUkVHX0RXT1JEIC9mIC9kIDEgPk5VTCAyPiYxCgolcG93ZXJzaGVsbFBhdGglIC1FeGVjdXRpb25Qb2xpY3kgQnlwYXNzIC1Ob1Byb2ZpbGUgLUNvbW1hbmQgIkFkZC1UeXBlICcgdXNpbmcgU3lzdGVtOyB1c2luZyBTeXN0ZW0uSU87IHVzaW5nIFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlczsgdXNpbmcgTWljcm9zb2Z0LldpbjMyLlNhZmVIYW5kbGVzOyB1c2luZyBTeXN0ZW0uQ29tcG9uZW50TW9kZWw7IHB1YmxpYyBzdGF0aWMgY2xhc3MgRWxhbXsgW0RsbEltcG9ydChcIktlcm5lbDMyXCIsIENoYXJTZXQ9Q2hhclNldC5BdXRvLCBTZXRMYXN0RXJyb3I9dHJ1ZSldIHB1YmxpYyBzdGF0aWMgZXh0ZXJuIGJvb2wgSW5zdGFsbEVMQU1DZXJ0aWZpY2F0ZUluZm8oU2FmZUZpbGVIYW5kbGUgaGFuZGxlKTsgcHVibGljIHN0YXRpYyB2b2lkIEluc3RhbGxXZEJvb3Qoc3RyaW5nIHBhdGgpIHsgQ29uc29sZS5PdXQuV3JpdGVMaW5lKFwiQWJvdXQgdG8gY2FsbCBjcmVhdGUgZmlsZSBvbiB7MH1cIiwgcGF0aCk7IHZhciBzdHJlYW0gPSBGaWxlLk9wZW4ocGF0aCwgRmlsZU1vZGUuT3BlbiwgRmlsZUFjY2Vzcy5SZWFkLCBGaWxlU2hhcmUuUmVhZCk7IHZhciBoYW5kbGUgPSBzdHJlYW0uU2FmZUZpbGVIYW5kbGU7IENvbnNvbGUuT3V0LldyaXRlTGluZShcIkFib3V0IHRvIGNhbGwgSW5zdGFsbEVMQU1DZXJ0aWZpY2F0ZUluZm8gb24gaGFuZGxlIHswfVwiLCBoYW5kbGUuRGFuZ2Vyb3VzR2V0SGFuZGxlKCkpOyBpZiAoIUluc3RhbGxFTEFNQ2VydGlmaWNhdGVJbmZvKGhhbmRsZSkpIHsgQ29uc29sZS5PdXQuV3JpdGVMaW5lKFwiQ2FsbCBmYWlsZWQuXCIpOyB0aHJvdyBuZXcgV2luMzJFeGNlcHRpb24oTWFyc2hhbC5HZXRMYXN0V2luMzJFcnJvcigpKTsgfSBDb25zb2xlLk91dC5Xcml0ZUxpbmUoXCJDYWxsIHN1Y2Nlc3NmdWwuXCIpOyB9IH0gJzsgJGRyaXZlclBhdGggPSAkZW52OlN5c3RlbVJvb3QgKyAnXFN5c3RlbTMyXERyaXZlcnNcV2RCb290LnN5cyc7IFtFbGFtXTo6SW5zdGFsbFdkQm9vdCgkZHJpdmVyUGF0aCkgIiA+TlVMIDI+JjEKClJFRyBxdWVyeSAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93cyBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiIgL3YgNjk2QzFGQTEtNDAzMC00RkE0LTg3MTMtRkFGOUIyRUE3QzBBIC9yZWc6NjQgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQppZiAlRVJST1JMRVZFTCUgRVFVIDAgKCAgCiAgICBSRUcgZGVsZXRlICJIS0xNXFNPRlRXQVJFXFBvbGljaWVzXE1pY3Jvc29mdFxXaW5kb3dzIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIiAvdiA2OTZDMUZBMS00MDMwLTRGQTQtODcxMy1GQUY5QjJFQTdDMEEgL2YgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQogICAgaWYgJUVSUk9STEVWRUwlIE5FUSAwICgKICAgICAgICBzZXQgImVycm9yRGVzY3JpcHRpb249VW5hYmxlIHRvIGRlbGV0ZSBwcmV2aW91cyBvZmZib2FyZGluZyBpbmZvcm1hdGlvbiBmcm9tIHJlZ2lzdHJ5LiIKICAgICAgICBzZXQgZXJyb3JDb2RlPTUKICAgICAgICBzZXQgbGFzdEVycm9yPSVFUlJPUkxFVkVMJQogICAgICAgIEdPVE8gRVJST1IKICAgICkKKQoKUkVHIGFkZCAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93cyBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiIgL3YgT25ib2FyZGluZ0luZm8gL3QgUkVHX1NaIC9mIC9kICJ7XCJib2R5XCI6XCJ7XFxcInByZXZpb3VzT3JnSWRzXFxcIjpbXSxcXFwib3JnSWRcXFwiOlxcXCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMGRlYWRcXFwiLFxcXCJnZW9Mb2NhdGlvblVybFxcXCI6XFxcImh0dHBzOi8vc2V2aWxsZWNsb3VkZ2F0ZXdheS1zdGcubWljcm9zb2Z0LmNvbS9cXFwiLFxcXCJkYXRhY2VudGVyXFxcIjpcXFwiRWFzdFVzMlxcXCIsXFxcInZvcnRleEdlb0xvY2F0aW9uXFxcIjpcXFwiU2FuZGJveFxcXCIsXFxcInZlcnNpb25cXFwiOlxcXCIxLjNcXFwifVwiLFwic2lnXCI6XCJKc0dGR2o3UCtIL1cvUEExcW9LTml3RXROZkU4YkhGblhxeks1SDhsQ09wc0RnRGNWTWpoT3BmQTZJTTJ3RFZadk5kWGhvZ0dEQ1FDWjNYdFJCbHRkcGFWc3pZNGtINVpHVkdnRUQxVE80ZCtCTjk2VDFSa3pOZ2NjZ2ZCWDNNQUw1bllUWXdiMGlUQUtFMGIxb3BmQmZrMzJQN3Q3b3A5dkhPeXZNMW5qdlZybVdWWWVSNk4rZFFrLzM4UDNUY2V3b2FkRmFUb3pidjBZK3dZOHgrbFcxeWN6bk1KMitQWTlxRHpabXoybE1rd0FlaDJwRTI4VW5MT0lhNjg0Y3U5RitHUlAveGhhR3dQWmpoc1JCSW51cHV5U1E2Y09YdE9kSERCQlRaZzVKSEhHMDBkNk9tUk5ONmxBelJWeFJURUVmaFFUVnN0U1poKzNMSjJTMGhmZGc9PVwiLFwic2hhMjU2c2lnXCI6XCJsVGI4ZittdkFveDRCckxPS0lqejFnTTNrRHREbG9wL21uNmZodmVEWjMvblVqb1lhNk81V2p4R0x2Z3lqZ0RtdThETkdPNUtqWWlxTVZ6Z0QzcHdqOVYwOXVOeUdYNGJUaXN0d1BnQTFLbGMrMUFLcmtWQTRGWGlQTHlST2tXdlhLM2dydFFJWU9nYjdSRlh6dzhnQlB5YlV0Z0FWbmNaMVFpdTAzblFLdGh5MFU3aXBlZUxaVE9oYVlhN001cTJxUTcya1BaSTZWUWlqSE42NVg3UTEvcm5rdUlSUkFmUEErZElIeE4wN0tpSlY2MGZsbDFZUUtOUlpSYUhKeGQ1UDd0RmdaaytEZE5mNVNXcHVaSTZTZE9MdExDN3VnbmdnK0krU2pUeUtvcVFKZElkWGRRaE5JK3I3WEM1L1M0ZlhnRVNtWmZKTUYxL0JtVlVFZUJDZlE9PVwiLFwiY2VydFwiOlwiTUlJRjVqQ0NBODZnQXdJQkFnSVRNd0FBQVkwdmh1VTl6R2x5b1FBQUFBQUJqVEFOQmdrcWhraUc5dzBCQVFzRkFEQitNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1YyRnphR2x1WjNSdmJqRVFNQTRHQTFVRUJ4TUhVbVZrYlc5dVpERWVNQndHQTFVRUNoTVZUV2xqY205emIyWjBJRU52Y25CdmNtRjBhVzl1TVNnd0pnWURWUVFERXg5TmFXTnliM052Wm5RZ1UyVmpkWEpsSUZObGNuWmxjaUJEUVNBeU1ERXhNQjRYRFRJd01EZ3dOakl3TlRBMU9Gb1hEVEl4TURnd05qSXdOVEExT0Zvd2dZb3hDekFKQmdOVkJBWVRBbFZUTVFzd0NRWURWUVFJRXdKWFFURVFNQTRHQTFVRUJ4TUhVbVZrYlc5dVpERWVNQndHQTFVRUNoTVZUV2xqY205emIyWjBJRU52Y25CdmNtRjBhVzl1TVI0d0hBWURWUVFMRXhWTmFXTnliM052Wm5RZ1EyOXljRzl5WVhScGIyNHhIREFhQmdOVkJBTVRFMU5sZG1sc2JHVXVWMmx1Wkc5M2N5NWpiMjB3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRENmcWtCcmV1Um1qdm90bDFFdURQWVplaVc1dUVERmV6MXhsYmh6cjVaa1BjSUJYT3RIMVZWRjRaUmVrdTFpK3ZMbTNON2xkVGl4c2RSZW0yU09iVkFGb1dDbjZ2cEYwL1ZYcWpmUTJHbyt2dk9UU1Q0Si9pQWxocXhialVVbkRyWFpXYUMvS2xtU0lYMjlHUng5bG1pT0IrWVBhRzlOTEE1U3F3emNad2hjTThzS3F0VDhHaWQ3Q3JFNGs1WldES0gyL1dPVTVsQ01iZTY2MWtrbWxKZDB2TlBDTXpyMUgzVmNmRG1qVVo4Q25WQzBFODlhVVA3VHhhME1uS0FzVFArQkpCNXJMenhkVlJRbGRNbmhHVXNXRU0ydUNOWXFOdWc4QWYrTGp3RytySXZrSVR3NVlDMUZDZy9qVHBvdHJnSFhmSGRqaURqa0F3ZWY1TlVkTmx0QWdNQkFBR2pnZ0ZPTUlJQlNqQU9CZ05WSFE4QkFmOEVCQU1DQjRBd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3RXdIUVlEVlIwT0JCWUVGT0U1NVFoeno5bEhuWTl2aDVTWmtyMTdjbEtzTUI0R0ExVWRFUVFYTUJXQ0UxTmxkbWxzYkdVdVYybHVaRzkzY3k1amIyMHdId1lEVlIwakJCZ3dGb0FVTmxhSlpVbkxXNXN2UEt4Q0ZsQk5rYmt6MTVFd1V3WURWUjBmQkV3d1NqQklvRWFnUklaQ2FIUjBjRG92TDNkM2R5NXRhV055YjNOdlpuUXVZMjl0TDNCcmFXOXdjeTlqY213dlRXbGpVMlZqVTJWeVEwRXlNREV4WHpJd01URXRNVEF0TVRndVkzSnNNR0FHQ0NzR0FRVUZCd0VCQkZRd1VqQlFCZ2dyQmdFRkJRY3dBb1pFYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OWpaWEowY3k5TmFXTlRaV05UWlhKRFFUSXdNVEZmTWpBeE1TMHhNQzB4T0M1amNuUXdEQVlEVlIwVEFRSC9CQUl3QURBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQVp3ZGxhWjg4U3BURFdUUjc5NWRHV2N0dUxUWmc2UDBqYmh4Q0dhOXBnb3AzSXZ1Qi9QYzJXT2Ruc1ZCYUpUZG5WN3NvcFZHa3V4Vjc1eWk2Q0NQM2sxNG0xQ1FhNk01cmNodmJuVEY0TFdjWld4U1g4Z0hjRWhObFdYV3hxU3FKMzNnSHVGNEc5SCs3VDM3UlNMb2Jqb1MyeVRhc21SRWtCNTI4b1gwWVU0cVpjeVdyK0xEMVovQk10dEhMUlZUZUtHdnpMaVpCNmhqWURybW9qUUxKZXZwSEdoTVdOTU9oR2RLd2pOS0crZGhVRHV6dTdsVXgwZzdhaUR3c1l4NzFTaU9ucDJWOSt5UEhET2R5OXlBRUNPb0N3bUprbW5qLzlDMmVNMDFDQjFZMUxTWHNiQUJtQVd3Si9iczhRNnhTWlJtSnkyRXJSQ3VTakl0MUQydzRTUFVMRFNNVTdIaDk3TWJpQVJDV25TMVRRMGg5azZFWVVmbW1ZaFNHQ0p3MXFlekFqZ2FmTngyYWcrRDhzRFFkQzRjVHhUSTk5aGthUm1DakFmeW1qcVdscUx5V0pCUmdvaXdTd21MVDFUbzRJNUVjZHFoQ1FNdEpoRVVRR2dpenk2ZUE2RlhtNHhmeExua08xSkNKSGJUejlqL2c4OW5zZ0hVN2V4SDVnZHhZQ0FDMGJkUlZLN1YrVlBDcExnLy9SemtlNm9mc1Y3WkxyQUpvN0EyQTZka0dVL09XeGhpVjJiY0VlUEpmSWsrVjM3UHp3c25yZ1JFV2RpM1pic3dBOU5aTTVzZGVSMFlFRm11bit0b2JCRGMzMlRidlVyTUpTb2tjcG9XNnRZczlkR0tUcE1GV01EZ09UeEZjSHljbHZrMjRVQVV2dXk2WVcvSVN2VlY4a3BRPVwiLFwiY2hhaW5cIjpbXCJNSUlHMkRDQ0JNQ2dBd0lCQWdJS1lUKzNHQUFBQUFBQUJEQU5CZ2txaGtpRzl3MEJBUXNGQURDQmlERUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVEIxSmxaRzF2Ym1ReEhqQWNCZ05WQkFvVEZVMXBZM0p2YzI5bWRDQkRiM0p3YjNKaGRHbHZiakV5TURBR0ExVUVBeE1wVFdsamNtOXpiMlowSUZKdmIzUWdRMlZ5ZEdsbWFXTmhkR1VnUVhWMGFHOXlhWFI1SURJd01URXdIaGNOTVRFeE1ERTRNakkxTlRFNVdoY05Nall4TURFNE1qTXdOVEU1V2pCK01Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LVjJGemFHbHVaM1J2YmpFUU1BNEdBMVVFQnhNSFVtVmtiVzl1WkRFZU1Cd0dBMVVFQ2hNVlRXbGpjbTl6YjJaMElFTnZjbkJ2Y21GMGFXOXVNU2d3SmdZRFZRUURFeDlOYVdOeWIzTnZablFnVTJWamRYSmxJRk5sY25abGNpQkRRU0F5TURFeE1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBMEF2QXBLZ1pnZUkyNWVLcTVmT3lGVmgxdnJUbFNmSGdoUG03RFdUdmhjR0JWYmp6NS9GdFFGVTl6b3RxMFlTVDlYVjhXNlRVZEJES012TWowNjd1ejU0RVdNTFpSOHZSZkFCQlNIRWJBV2NYR0svRy9uTURmdVR2UTV6dkFYRXFINEVtUTNlWVZGZHpuVlVyOEo2T2ZRWU9yQnRVOHliMytDTUlJb3VlQmgwM09QMXkwc3JsWThHYVduMnliYk5TcVc3cHJyWDhpemI1bnZyMkhGZ2JsMWFsRWVXM1V0dTc2ZkJVdjdUL0xHeTRYU2JPb0FyWDM1UHRmOTJzOFN4ekd0a1pOMVc2M1NKNGpxSFVtd240QnlJeGNiQ1VydUN3NXlaRVY1Q0JseFhPWWV4bDRrdnhoVklXTXZpMWVLcCt6VTNzZ3lHa3FKdSttbW9FNEtNY3pWWVliUDFyTDBJKzRqZnljcXZRZUhOeWU5N3NBRmpsSVRDakNEcVo3NS9EOTNvV2xtVzF3NEd2OURsd1NhLzJxZlpxQURqNXRBZ1o0Qm8xcFZaMklsOXE4bW11UHExWVJrMjRWUGFKUVVRZWNyRzhFaWRUMHNIL3NzMVFtQjYxOUx1MndvSTUyYXdiOGpzbmhHcXd4aVlMMXpvUTU3UGJmTk5XckZOTUMvbzdNVGQwMkZrcitRQjVHUVo3L1J3ZFF0UkJEUzhGRHRWclNTUC96ODM0ZW9MUDJqd3QzK2pZRWdRWXVoNklkN2lZSHhBSHU4Z0ZmZ3NKdjJ2ZDQwNWJzUG5IaEtZN3lreWZXMklwOThlaXFKV0ljQ3psd1Q4OFVpTlBRSnJETVlXREw3OHA4UjFRanlHV0I4N3Y4b0RDUkgyYll1OHZ3M2VKcTBWTlV6NENlZE1DQXdFQUFhT0NBVXN3Z2dGSE1CQUdDU3NHQVFRQmdqY1ZBUVFEQWdFQU1CMEdBMVVkRGdRV0JCUTJWb2xsU2N0Ym15ODhyRUlXVUUyUnVUUFhrVEFaQmdrckJnRUVBWUkzRkFJRURCNEtBRk1BZFFCaUFFTUFRVEFMQmdOVkhROEVCQU1DQVlZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZkJnTlZIU01FR0RBV2dCUnlMVG9DTVpCRHVSUUZUdUhxcDhjeDBTT0pOREJhQmdOVkhSOEVVekJSTUUrZ1RhQkxoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1amIyMHZjR3RwTDJOeWJDOXdjbTlrZFdOMGN5OU5hV05TYjI5RFpYSkJkWFF5TURFeFh6SXdNVEZmTUROZk1qSXVZM0pzTUY0R0NDc0dBUVVGQndFQkJGSXdVREJPQmdnckJnRUZCUWN3QW9aQ2FIUjBjRG92TDNkM2R5NXRhV055YjNOdlpuUXVZMjl0TDNCcmFTOWpaWEowY3k5TmFXTlNiMjlEWlhKQmRYUXlNREV4WHpJd01URmZNRE5mTWpJdVkzSjBNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUJCeUdIQjlWdWVQcEV4OGJER3Z3a0J0SjIya0hUWENkdW1MZzJmeU9kMk5FYXZCMkNKVElHelBOWDBFalYxd25PbDlVMkVqTXVrWGErL2t2WVhDRmRDbFhKbEJYWjVyZTdSdXJndVZLTlJCNnhvNnlFTTR5V0J3czBxOHNQL3o4SzlTUmlheC9DRXhma1V2R3VWNVpidnMwTFNVOVZLb0JMRXJoSjJVd2xXRHAzMzA2WkppRkR5aWl5WElLSytUbmp2QldXM1M2RVdpTjR4eHdoQ0pIeWtlNTZkdkdBQVhtS1g0NVA4cC81YmV5WGY1Rk4vUzc3bVB2RGJBWGxDSEc2RmJIMjJSREQ3cFRlU2s3S2w3aUN0UDFQVnlmUW9hMWZCK0IxcXQxWXF0aWVCSEtZdG4rZjAwREdEbDZncXRxeStHMEgxNUlsZlZ2dmFXdE5lZlZXVUVINVRWL1JLUFVBcXlMMW5uNFRoRU83OTJtc1Zna244UmgzL1JRWjBuRUlVN2NVNTA3UE5DNE1ua0VOUmt2SkVncTV1bWhVWHNobjZ4MFZzbUFGN3Z6ZXBzSWlra3J3NE9PQWQ1SHlYbUJvdVgrODRaYmMxTDcxL1R5SDZ4SXpTYndiNVNUWHEzeUFQSmFycVlLc3NIMHVKL0xmNlhGU1FTejZpS0U5czVGSmx3ZjJRSElXQ2lHN3BwbFhkSVNoNVJiQVU1UXJNNWwvRXU5dGhOR21mckNZNDk4RXBRUWdWTGt5Zzkva01QdDVmcXdnSkxZT3NyRFNEWXZUSlNVS0pKYlZ1c2tmRnN6bWdzU0FiTExHT0JHK2xNRWtjMEVicFFGdjByVzY2MjRKS2h4SktnQWxOMjk5MnVRVmJHK0M3SUhCZkFDWEgwdzc2RnExN0lwNXhDQT09XCIsXCJNSUlGN1RDQ0E5V2dBd0lCQWdJUVA0dkl0Znlmc3BaRHRXbldiRUxoUkRBTkJna3Foa2lHOXcwQkFRc0ZBRENCaURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDbGRoYzJocGJtZDBiMjR4RURBT0JnTlZCQWNUQjFKbFpHMXZibVF4SGpBY0JnTlZCQW9URlUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJqRXlNREFHQTFVRUF4TXBUV2xqY205emIyWjBJRkp2YjNRZ1EyVnlkR2xtYVdOaGRHVWdRWFYwYUc5eWFYUjVJREl3TVRFd0hoY05NVEV3TXpJeU1qSXdOVEk0V2hjTk16WXdNekl5TWpJeE16QTBXakNCaURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDbGRoYzJocGJtZDBiMjR4RURBT0JnTlZCQWNUQjFKbFpHMXZibVF4SGpBY0JnTlZCQW9URlUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJqRXlNREFHQTFVRUF4TXBUV2xqY205emIyWjBJRkp2YjNRZ1EyVnlkR2xtYVdOaGRHVWdRWFYwYUc5eWFYUjVJREl3TVRFd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUUN5Z0VHcU5UaE5FM0l5YUNKTnVMTHgvOVZTdkd6SDlkSktqRGJ1MGNKY2ZveUtycThUS0cvQWMrTTZ6dEFscUZvNmJlK291Rm1yRXlOb3pRd3BoOUZ2Z0Z5UFJIOWRrQUZTV0t4UnhWOHFoOXpjMkFvZHdRTzVlN0JXNktQZVpHSENudmp6Zkxuc0RiVlUva3kyWlUrSThKeEltUXhDQ3dsOE1Wa1hlUVo0S0kySk9rd0RKYjV4YWx3TDU0UmdwSmtpNDlLdmhLU24rOUdZN1F5cDNwU0o0UTZnM01ET21UM3FDRks3Vm5ua0g0UzZIcmkweEVsY1R6RkxoOTNkQldjbW1ZRGdjUkdqdUtWQjRxUlR1ZmN5S1lNTUU3ODJYZ1N6UzBOSEwydmlrUjdUbUUvZFFnZkk2QjBTL0ptcGF6NlNmc2pXYVRyOFpMMjJDWjNLL1F3TG9wdDNZRXNEbEtRd2FSTFdRaTNCUVV6SzNLcjlqMXVEUnByWi9MSFI0N1BKZjBoNnpTVHdRWTljZE5Dc3NCQWdCa20zeHkwaHlGZmowSWJ6QTJqNzBNNXh3WW1aU21RQmJQM3NNSkhQUVR5U3grVzZoaDFoaE1kZmd6bGlyclNTTDBmekMvaFY2NkFmV2RDN2RKc2UwSGJtOHVrRzF4RG8rbVRlYWNZMWxvZ0M4RWE0UHllWmI4dHhpU2sxOTBnV0FqV1AxWGw4VFFMUFgrdUtnMDlGY1lqNXFRMU9jdW5DbkFmUFNSdE9CQTVqVVl4ZTJBREJWU3kyeHVEQ1pVN0pORG4xbkxQRWZ1aGhiaE5mRmNSZjJYN3RIYzd1Uk96TExvYXg3RGoyY08yclhCUEIyUThOeDRDeVZlMDA5NnliNU1QYTUwYzhwcldQTWQvRlM2L3I4UUlEQVFBQm8xRXdUekFMQmdOVkhROEVCQU1DQVlZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVWNpMDZBakdRUTdrVUJVN2g2cWZITWRFamlUUXdFQVlKS3dZQkJBR0NOeFVCQkFNQ0FRQXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnSUJBSDl5encrM3hSWGJtOEJKeWlaYi9wNFQ1dFB3MHR1WFgvSkxQMDJ6cmhtdTdkZVhvS3p2cVRxandrR3c1YmlSbmhPQkpBUG1DZjAvVjBBNUlTUlcwUkF2UzBDcE5vWkx0Rk5YbXZ2eGZvbVBFZjRZYkZHcTZPMEpsYlhsY2NtaDZZZDFwaFYveVg0M1ZGNTBrOFhEWjh3TlQydW9Gd3h0Q0pKK2k5MkJxaTF3SWNNOUJoUzd2eVJlcDRUWFB3OGhJcjFMQUFiYmx4ellYdFRGQzF5SGJsQ2s2TU00cFB2TExNV1NacHVGWHN0NmJKTjhnQ2xZVzFlMVFHbTZDSG1tWkdJVm5ZZVdSYlZtSXlBRGl4eHpvTk9pZVRQZ1VGbUcyeS9sQWlYcWN5cWZBQlRJTnNlU08rbE9BT3pZVmdtNU0wa1MwbFFMQWF1c1I3YVJLWDFNdEhXQVVnSG95b0wybjh5c25JOFg2aThtc0t0eXJBditubEVleDBOVlowOVJzMWZXdHV6dVVyYzY2VTdoMTRHSXZFK09kYnRMcVBBMXFpYlVaMmRKc25CTU81UGNIZDk0a0laeXNqaWswZHlTVGNsWTZ5c1NYTlE3cm94cnNJUGxBVC80Q1RMMmt6VTBJcS9kTncxM0NZQXJ6VWdBOFl5WkdVY0ZBZW5SdjlGTzBPWW9RemVacEFwS0NObWFjWFBTcXMweEUyTjJvVGR2a2pnZWZSSThaakxueTIzaC9GS0ozY3JXWmdXYWxtRytvaWpISEtPbk5sQThPcVRmU203bWh6dk82L0RnZ1RlZEV6eFNqcjI1SFRUR0hkVUthajJZS1hDTWlTclJxNElRU0IvYzlPK2x4YnRWR2poamhFNjNiSzJWVk94bEloQkpGN2pBSHNjUHJGUkhcIl19IiA+ICVUTVAlXHNlbnNlVG1wLnR4dCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCiAgIHNldCAiZXJyb3JEZXNjcmlwdGlvbj1VbmFibGUgdG8gd3JpdGUgb25ib2FyZGluZyBpbmZvcm1hdGlvbiB0byByZWdpc3RyeS4iCiAgIHNldCBlcnJvckNvZGU9MTAKICAgc2V0IGxhc3RFcnJvcj0lRVJST1JMRVZFTCUKICAgR09UTyBFUlJPUgopCgplY2hvIFN0YXJ0aW5nIHRoZSBzZXJ2aWNlLCBpZiBub3QgYWxyZWFkeSBydW5uaW5nID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKc2MgcXVlcnkgIlNFTlNFIiB8IGZpbmQgL2kgIlJVTk5JTkciID5OVUwgMj4mMQppZiAlRVJST1JMRVZFTCUgRVFVIDAgR09UTyBSVU5OSU5HCgpuZXQgc3RhcnQgc2Vuc2UgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQppZiAlRVJST1JMRVZFTCUgTkVRIDAgKAogICBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBoYXMgbm90IHN0YXJ0ZWQgeWV0ID5OVUwgMj4mMQogICBHT1RPIFdBSVRfRk9SX1RIRV9TRVJWSUNFX1RPX1NUQVJUCikKZ290byBTVUNDRUVERUQKCjpSVU5OSU5HCnNldCAicnVubmluZ091dHB1dD1UaGUgV2luZG93cyBEZWZlbmRlciBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiBTZXJ2aWNlIGlzIGFscmVhZHkgcnVubmluZyEiCmVjaG8gJXJ1bm5pbmdPdXRwdXQlID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBJbmZvcm1hdGlvbiAvaWQgMTAgL2QgIiVydW5uaW5nT3V0cHV0JSIgPk5VTCAyPiYxCkdPVE8gV0FJVF9GT1JfVEhFX1NFUlZJQ0VfVE9fU1RBUlQKCjpFUlJPUgpTZXQgL1AgZXJyb3JNc2c9PCVUTVAlXHNlbnNlVG1wLnR4dApzZXQgImVycm9yT3V0cHV0PVtFcnJvciBJZDogJWVycm9yQ29kZSUsIEVycm9yIExldmVsOiAlbGFzdEVycm9yJV0gJWVycm9yRGVzY3JpcHRpb24lIEVycm9yIG1lc3NhZ2U6ICVlcnJvck1zZyUiCiVwb3dlcnNoZWxsUGF0aCUgLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLU5vUHJvZmlsZSAtQ29tbWFuZCAiQWRkLVR5cGUgJ3VzaW5nIFN5c3RlbTsgdXNpbmcgU3lzdGVtLkRpYWdub3N0aWNzOyB1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3MuVHJhY2luZzsgbmFtZXNwYWNlIFNlbnNlIHsgW0V2ZW50RGF0YShOYW1lID0gXCJPbmJvYXJkaW5nXCIpXXB1YmxpYyBzdHJ1Y3QgT25ib2FyZGluZ3twdWJsaWMgc3RyaW5nIE1lc3NhZ2UgeyBnZXQ7IHNldDsgfX0gcHVibGljIGNsYXNzIFRyYWNlIHtwdWJsaWMgc3RhdGljIEV2ZW50U291cmNlT3B0aW9ucyBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiA9IG5ldyBFdmVudFNvdXJjZU9wdGlvbnMoKXtMZXZlbCA9IEV2ZW50TGV2ZWwuRXJyb3IsIEtleXdvcmRzID0gKEV2ZW50S2V5d29yZHMpMHgwMDAwMjAwMDAwMDAwMDAwLCBUYWdzID0gKEV2ZW50VGFncykweDAyMDAwMDB9OyBwdWJsaWMgdm9pZCBXcml0ZU9uYm9hcmRpbmdNZXNzYWdlKHN0cmluZyBtZXNzYWdlKXtlcy5Xcml0ZShcIk9uYm9hcmRpbmdTY3JpcHRcIiwgVGVsZW1ldHJ5Q3JpdGljYWxPcHRpb24sIG5ldyBPbmJvYXJkaW5nIHtNZXNzYWdlID0gbWVzc2FnZX0pO30gcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgc3RyaW5nW10gdGVsZW1ldHJ5VHJhaXRzID0geyBcIkVUV19HUk9VUFwiLCBcIns1RUNCMEJBQy1COTMwLTQ3RjUtQThBNC1FODI1MzUyOUVEQjd9XCIgfTsgcHJpdmF0ZSBFdmVudFNvdXJjZSBlcyA9IG5ldyBFdmVudFNvdXJjZShcIk1pY3Jvc29mdC5XaW5kb3dzLlNlbnNlLkNsaWVudC5NYW5hZ2VtZW50XCIsRXZlbnRTb3VyY2VTZXR0aW5ncy5FdHdTZWxmRGVzY3JpYmluZ0V2ZW50Rm9ybWF0LHRlbGVtZXRyeVRyYWl0cyk7fX0nOyAkbG9nZ2VyID0gTmV3LU9iamVjdCAtVHlwZU5hbWUgU2Vuc2UuVHJhY2U7ICRsb2dnZXIuV3JpdGVPbmJvYXJkaW5nTWVzc2FnZSgnJWVycm9yT3V0cHV0JScpIiA+TlVMIDI+JjEKZWNobyAlZXJyb3JPdXRwdXQlID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBFcnJvciAvaWQgJWVycm9yQ29kZSUgL2QgIiVlcnJvck91dHB1dCUiID5OVUwgMj4mMQpHT1RPIENMRUFOVVAKCjpTVUNDRUVERUQKZWNobyBGaW5pc2hlZCBwZXJmb3JtaW5nIG9uYm9hcmRpbmcgb3BlcmF0aW9ucyA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCkdPVE8gV0FJVF9GT1JfVEhFX1NFUlZJQ0VfVE9fU1RBUlQKCjpXQUlUX0ZPUl9USEVfU0VSVklDRV9UT19TVEFSVAplY2hvIFdhaXRpbmcgZm9yIHRoZSBzZXJ2aWNlIHRvIHN0YXJ0ID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9SVU5OSU5HX1dBSVQKc2MgcXVlcnkgIlNFTlNFIiB8IGZpbmQgL2kgIlJVTk5JTkciID5OVUwgMj4mMQppZiAlRVJST1JMRVZFTCUgTkVRIDAgKAoJSUYgJWNvdW50ZXIlIEVRVSA0ICgKCQlzZXQgImVycm9yRGVzY3JpcHRpb249VW5hYmxlIHRvIHN0YXJ0IFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZS4iCgkJc2V0IGVycm9yQ29kZT0xNQoJCXNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfUlVOTklOR19XQUlUCikKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9PTkJPQVJERURfU1RBVFVTX1dBSVQKUkVHIHF1ZXJ5ICJIS0xNXFNPRlRXQVJFXE1pY3Jvc29mdFxXaW5kb3dzIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uXFN0YXR1cyIgL3YgT25ib2FyZGluZ1N0YXRlIC9yZWc6NjQgPk5VTCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCglJRiAlY291bnRlciUgRVFVIDQgKAoJCUBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBpcyBub3QgcnVubmluZyBhcyBleHBlY3RlZD4gJVRNUCVcc2Vuc2VUbXAudHh0CgkJc2V0IGVycm9yQ29kZT0zNQogICAgIHNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfT05CT0FSREVEX1NUQVRVU19XQUlUCikKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9PTkJPQVJERURfV0FJVApSRUcgcXVlcnkgIkhLTE1cU09GVFdBUkVcTWljcm9zb2Z0XFdpbmRvd3MgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb25cU3RhdHVzIiAvdiBPbmJvYXJkaW5nU3RhdGUgL3JlZzo2NCB8IGZpbmQgL2kgIjB4MSIgPk5VTCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCglJRiAlY291bnRlciUgRVFVIDQgKAoJCUBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBpcyBub3QgcnVubmluZyBhcyBleHBlY3RlZD4gJVRNUCVcc2Vuc2VUbXAudHh0CgkJc2V0IGVycm9yQ29kZT00MAogICAgIHNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfT05CT0FSREVEX1dBSVQKKQoKc2V0ICJzdWNjZXNzT3V0cHV0PVN1Y2Nlc3NmdWxseSBvbmJvYXJkZWQgbWFjaGluZSB0byBXaW5kb3dzIERlZmVuZGVyIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIgplY2hvICVzdWNjZXNzT3V0cHV0JSA+TlVMIDI+JjEKZWNoby4KZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBJbmZvcm1hdGlvbiAvaWQgMjAgL2QgIiVzdWNjZXNzT3V0cHV0JSIgPk5VTCAyPiYxCiVwb3dlcnNoZWxsUGF0aCUgLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLU5vUHJvZmlsZSAtQ29tbWFuZCAiQWRkLVR5cGUgJ3VzaW5nIFN5c3RlbTsgdXNpbmcgU3lzdGVtLkRpYWdub3N0aWNzOyB1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3MuVHJhY2luZzsgbmFtZXNwYWNlIFNlbnNlIHsgW0V2ZW50RGF0YShOYW1lID0gXCJPbmJvYXJkaW5nXCIpXXB1YmxpYyBzdHJ1Y3QgT25ib2FyZGluZ3twdWJsaWMgc3RyaW5nIE1lc3NhZ2UgeyBnZXQ7IHNldDsgfX0gcHVibGljIGNsYXNzIFRyYWNlIHtwdWJsaWMgc3RhdGljIEV2ZW50U291cmNlT3B0aW9ucyBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiA9IG5ldyBFdmVudFNvdXJjZU9wdGlvbnMoKXtMZXZlbCA9IEV2ZW50TGV2ZWwuSW5mb3JtYXRpb25hbCwgS2V5d29yZHMgPSAoRXZlbnRLZXl3b3JkcykweDAwMDAyMDAwMDAwMDAwMDAsIFRhZ3MgPSAoRXZlbnRUYWdzKTB4MDIwMDAwMH07IHB1YmxpYyB2b2lkIFdyaXRlT25ib2FyZGluZ01lc3NhZ2Uoc3RyaW5nIG1lc3NhZ2Upe2VzLldyaXRlKFwiT25ib2FyZGluZ1NjcmlwdFwiLCBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiwgbmV3IE9uYm9hcmRpbmcge01lc3NhZ2UgPSBtZXNzYWdlfSk7fSBwcml2YXRlIHN0YXRpYyByZWFkb25seSBzdHJpbmdbXSB0ZWxlbWV0cnlUcmFpdHMgPSB7IFwiRVRXX0dST1VQXCIsIFwiezVFQ0IwQkFDLUI5MzAtNDdGNS1BOEE0LUU4MjUzNTI5RURCN31cIiB9OyBwcml2YXRlIEV2ZW50U291cmNlIGVzID0gbmV3IEV2ZW50U291cmNlKFwiTWljcm9zb2Z0LldpbmRvd3MuU2Vuc2UuQ2xpZW50Lk1hbmFnZW1lbnRcIixFdmVudFNvdXJjZVNldHRpbmdzLkV0d1NlbGZEZXNjcmliaW5nRXZlbnRGb3JtYXQsdGVsZW1ldHJ5VHJhaXRzKTt9fSc7ICRsb2dnZXIgPSBOZXctT2JqZWN0IC1UeXBlTmFtZSBTZW5zZS5UcmFjZTsgJGxvZ2dlci5Xcml0ZU9uYm9hcmRpbmdNZXNzYWdlKCclc3VjY2Vzc091dHB1dCUnKSIgPk5VTCAyPiYxCiIlUFJPR1JBTUZJTEVTJVxXaW5kb3dzIERlZmVuZGVyXE1wQ21kUnVuLmV4ZSIgLVJlbG9hZEVuZ2luZSA+TlVMIDI+JjEKCkdPVE8gQ0xFQU5VUAoKOkNMRUFOVVAKaWYgZXhpc3QgJVRNUCVcc2Vuc2VUbXAudHh0IGRlbCAlVE1QJVxzZW5zZVRtcC50eHQKRVhJVCAvQiAlZXJyb3JDb2RlJQo==", + "onboardingPackageLinux": "QGVjaG8gb2ZmCgplY2hvLiA+TlVMIDI+JjEKZWNobyBTdGFydGluZyBXaW5kb3dzIERlZmVuZGVyIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIG9uYm9hcmRpbmcgcHJvY2Vzcy4uLiA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCgpzZXQgZXJyb3JDb2RlPTAKc2V0IGxhc3RFcnJvcj0wCnNldCAidHJvdWJsZXNob290SW5mbz1Gb3IgbW9yZSBpbmZvcm1hdGlvbiwgdmlzaXQ6IGh0dHBzOi8vZ28ubWljcm9zb2Z0LmNvbS9md2xpbmsvcC8/bGlua2lkPTgyMjgwNyIKc2V0ICJlcnJvckRlc2NyaXB0aW9uPSIKCmVjaG8gVGVzdGluZyBhZG1pbmlzdHJhdG9yIHByaXZpbGVnZXMgPk5VTCAyPiYxCgpuZXQgc2Vzc2lvbiA+TlVMIDI+JjEKaWYgJUVSUk9STEVWRUwlIE5FUSAwICgKCUBlY2hvIFNjcmlwdCBpcyBydW5uaW5nIHdpdGggaW5zdWZmaWNpZW50IHByaXZpbGVnZXMuIFBsZWFzZSBydW4gd2l0aCBhZG1pbmlzdHJhdG9yIHByaXZpbGVnZXM+ICVUTVAlXHNlbnNlVG1wLnR4dAoJc2V0IGVycm9yQ29kZT02NQogc2V0IGxhc3RFcnJvcj0lRVJST1JMRVZFTCUKCUdPVE8gRVJST1IKKQoKZWNobyBTY3JpcHQgaXMgcnVubmluZyB3aXRoIHN1ZmZpY2llbnQgcHJpdmlsZWdlcyA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCmVjaG8gUGVyZm9ybWluZyBvbmJvYXJkaW5nIG9wZXJhdGlvbnMgPk5VTCAyPiYxCmVjaG8uID5OVUwgMj4mMQoKSUYgWyVQUk9DRVNTT1JfQVJDSElURVc2NDMyJV0gRVFVIFtdICgKICBzZXQgcG93ZXJzaGVsbFBhdGg9JXdpbmRpciVcU3lzdGVtMzJcV2luZG93c1Bvd2VyU2hlbGxcdjEuMFxwb3dlcnNoZWxsLmV4ZQopIEVMU0UgKAogIHNldCBwb3dlcnNoZWxsUGF0aD0ld2luZGlyJVxTeXNOYXRpdmVcV2luZG93c1Bvd2VyU2hlbGxcdjEuMFxwb3dlcnNoZWxsLmV4ZQopCgpzZXQgc2RiaW49MDEwMDA0ODA0NDAwMDAwMDU0MDAwMDAwMDAwMDAwMDAxNDAwMDAwMDAyMDAzMDAwMDIwMDAwMDAwMDAwMTQwMEZGMEYxMjAwMDEwMTAwMDAwMDAwMDAwNTEyMDAwMDAwMDAwMDE0MDBFMTA0MTIwMDAxMDEwMDAwMDAwMDAwMDUwQjAwMDAwMDAxMDIwMDAwMDAwMDAwMDUyMDAwMDAwMDIwMDIwMDAwMDEwMjAwMDAwMDAwMDAwNTIwMDAwMDAwMjAwMjAwMDAgPk5VTCAyPiYxCnJlZyBhZGQgSEtMTVxTWVNURU1cQ3VycmVudENvbnRyb2xTZXRcQ29udHJvbFxXTUlcU2VjdXJpdHkgL3YgMTRmODEzOGUtM2I2MS01ODBiLTU0NGItMjYwOTM3OGFlNDYwIC90IFJFR19CSU5BUlkgL2QgJXNkYmluJSAvZiA+TlVMIDI+JjEKcmVnIGFkZCBIS0xNXFNZU1RFTVxDdXJyZW50Q29udHJvbFNldFxDb250cm9sXFdNSVxTZWN1cml0eSAvdiBjYjJmZjcyZC1kNGU0LTU4NWQtMzNmOS1mM2EzOTVjNDBiZTcgL3QgUkVHX0JJTkFSWSAvZCAlc2RiaW4lIC9mID5OVUwgMj4mMQoKUkVHIGFkZCAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93c1xEYXRhQ29sbGVjdGlvbiIgL3YgRGlzYWJsZUVudGVycHJpc2VBdXRoUHJveHkgL3QgUkVHX0RXT1JEIC9mIC9kIDEgPk5VTCAyPiYxCgolcG93ZXJzaGVsbFBhdGglIC1FeGVjdXRpb25Qb2xpY3kgQnlwYXNzIC1Ob1Byb2ZpbGUgLUNvbW1hbmQgIkFkZC1UeXBlICcgdXNpbmcgU3lzdGVtOyB1c2luZyBTeXN0ZW0uSU87IHVzaW5nIFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlczsgdXNpbmcgTWljcm9zb2Z0LldpbjMyLlNhZmVIYW5kbGVzOyB1c2luZyBTeXN0ZW0uQ29tcG9uZW50TW9kZWw7IHB1YmxpYyBzdGF0aWMgY2xhc3MgRWxhbXsgW0RsbEltcG9ydChcIktlcm5lbDMyXCIsIENoYXJTZXQ9Q2hhclNldC5BdXRvLCBTZXRMYXN0RXJyb3I9dHJ1ZSldIHB1YmxpYyBzdGF0aWMgZXh0ZXJuIGJvb2wgSW5zdGFsbEVMQU1DZXJ0aWZpY2F0ZUluZm8oU2FmZUZpbGVIYW5kbGUgaGFuZGxlKTsgcHVibGljIHN0YXRpYyB2b2lkIEluc3RhbGxXZEJvb3Qoc3RyaW5nIHBhdGgpIHsgQ29uc29sZS5PdXQuV3JpdGVMaW5lKFwiQWJvdXQgdG8gY2FsbCBjcmVhdGUgZmlsZSBvbiB7MH1cIiwgcGF0aCk7IHZhciBzdHJlYW0gPSBGaWxlLk9wZW4ocGF0aCwgRmlsZU1vZGUuT3BlbiwgRmlsZUFjY2Vzcy5SZWFkLCBGaWxlU2hhcmUuUmVhZCk7IHZhciBoYW5kbGUgPSBzdHJlYW0uU2FmZUZpbGVIYW5kbGU7IENvbnNvbGUuT3V0LldyaXRlTGluZShcIkFib3V0IHRvIGNhbGwgSW5zdGFsbEVMQU1DZXJ0aWZpY2F0ZUluZm8gb24gaGFuZGxlIHswfVwiLCBoYW5kbGUuRGFuZ2Vyb3VzR2V0SGFuZGxlKCkpOyBpZiAoIUluc3RhbGxFTEFNQ2VydGlmaWNhdGVJbmZvKGhhbmRsZSkpIHsgQ29uc29sZS5PdXQuV3JpdGVMaW5lKFwiQ2FsbCBmYWlsZWQuXCIpOyB0aHJvdyBuZXcgV2luMzJFeGNlcHRpb24oTWFyc2hhbC5HZXRMYXN0V2luMzJFcnJvcigpKTsgfSBDb25zb2xlLk91dC5Xcml0ZUxpbmUoXCJDYWxsIHN1Y2Nlc3NmdWwuXCIpOyB9IH0gJzsgJGRyaXZlclBhdGggPSAkZW52OlN5c3RlbVJvb3QgKyAnXFN5c3RlbTMyXERyaXZlcnNcV2RCb290LnN5cyc7IFtFbGFtXTo6SW5zdGFsbFdkQm9vdCgkZHJpdmVyUGF0aCkgIiA+TlVMIDI+JjEKClJFRyBxdWVyeSAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93cyBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiIgL3YgNjk2QzFGQTEtNDAzMC00RkE0LTg3MTMtRkFGOUIyRUE3QzBBIC9yZWc6NjQgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQppZiAlRVJST1JMRVZFTCUgRVFVIDAgKCAgCiAgICBSRUcgZGVsZXRlICJIS0xNXFNPRlRXQVJFXFBvbGljaWVzXE1pY3Jvc29mdFxXaW5kb3dzIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIiAvdiA2OTZDMUZBMS00MDMwLTRGQTQtODcxMy1GQUY5QjJFQTdDMEEgL2YgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQogICAgaWYgJUVSUk9STEVWRUwlIE5FUSAwICgKICAgICAgICBzZXQgImVycm9yRGVzY3JpcHRpb249VW5hYmxlIHRvIGRlbGV0ZSBwcmV2aW91cyBvZmZib2FyZGluZyBpbmZvcm1hdGlvbiBmcm9tIHJlZ2lzdHJ5LiIKICAgICAgICBzZXQgZXJyb3JDb2RlPTUKICAgICAgICBzZXQgbGFzdEVycm9yPSVFUlJPUkxFVkVMJQogICAgICAgIEdPVE8gRVJST1IKICAgICkKKQoKUkVHIGFkZCAiSEtMTVxTT0ZUV0FSRVxQb2xpY2llc1xNaWNyb3NvZnRcV2luZG93cyBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiIgL3YgT25ib2FyZGluZ0luZm8gL3QgUkVHX1NaIC9mIC9kICJ7XCJib2R5XCI6XCJ7XFxcInByZXZpb3VzT3JnSWRzXFxcIjpbXSxcXFwib3JnSWRcXFwiOlxcXCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMGRlYWRcXFwiLFxcXCJnZW9Mb2NhdGlvblVybFxcXCI6XFxcImh0dHBzOi8vc2V2aWxsZWNsb3VkZ2F0ZXdheS1zdGcubWljcm9zb2Z0LmNvbS9cXFwiLFxcXCJkYXRhY2VudGVyXFxcIjpcXFwiRWFzdFVzMlxcXCIsXFxcInZvcnRleEdlb0xvY2F0aW9uXFxcIjpcXFwiU2FuZGJveFxcXCIsXFxcInZlcnNpb25cXFwiOlxcXCIxLjNcXFwifVwiLFwic2lnXCI6XCJKc0dGR2o3UCtIL1cvUEExcW9LTml3RXROZkU4YkhGblhxeks1SDhsQ09wc0RnRGNWTWpoT3BmQTZJTTJ3RFZadk5kWGhvZ0dEQ1FDWjNYdFJCbHRkcGFWc3pZNGtINVpHVkdnRUQxVE80ZCtCTjk2VDFSa3pOZ2NjZ2ZCWDNNQUw1bllUWXdiMGlUQUtFMGIxb3BmQmZrMzJQN3Q3b3A5dkhPeXZNMW5qdlZybVdWWWVSNk4rZFFrLzM4UDNUY2V3b2FkRmFUb3pidjBZK3dZOHgrbFcxeWN6bk1KMitQWTlxRHpabXoybE1rd0FlaDJwRTI4VW5MT0lhNjg0Y3U5RitHUlAveGhhR3dQWmpoc1JCSW51cHV5U1E2Y09YdE9kSERCQlRaZzVKSEhHMDBkNk9tUk5ONmxBelJWeFJURUVmaFFUVnN0U1poKzNMSjJTMGhmZGc9PVwiLFwic2hhMjU2c2lnXCI6XCJsVGI4ZittdkFveDRCckxPS0lqejFnTTNrRHREbG9wL21uNmZodmVEWjMvblVqb1lhNk81V2p4R0x2Z3lqZ0RtdThETkdPNUtqWWlxTVZ6Z0QzcHdqOVYwOXVOeUdYNGJUaXN0d1BnQTFLbGMrMUFLcmtWQTRGWGlQTHlST2tXdlhLM2dydFFJWU9nYjdSRlh6dzhnQlB5YlV0Z0FWbmNaMVFpdTAzblFLdGh5MFU3aXBlZUxaVE9oYVlhN001cTJxUTcya1BaSTZWUWlqSE42NVg3UTEvcm5rdUlSUkFmUEErZElIeE4wN0tpSlY2MGZsbDFZUUtOUlpSYUhKeGQ1UDd0RmdaaytEZE5mNVNXcHVaSTZTZE9MdExDN3VnbmdnK0krU2pUeUtvcVFKZElkWGRRaE5JK3I3WEM1L1M0ZlhnRVNtWmZKTUYxL0JtVlVFZUJDZlE9PVwiLFwiY2VydFwiOlwiTUlJRjVqQ0NBODZnQXdJQkFnSVRNd0FBQVkwdmh1VTl6R2x5b1FBQUFBQUJqVEFOQmdrcWhraUc5dzBCQVFzRkFEQitNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1YyRnphR2x1WjNSdmJqRVFNQTRHQTFVRUJ4TUhVbVZrYlc5dVpERWVNQndHQTFVRUNoTVZUV2xqY205emIyWjBJRU52Y25CdmNtRjBhVzl1TVNnd0pnWURWUVFERXg5TmFXTnliM052Wm5RZ1UyVmpkWEpsSUZObGNuWmxjaUJEUVNBeU1ERXhNQjRYRFRJd01EZ3dOakl3TlRBMU9Gb1hEVEl4TURnd05qSXdOVEExT0Zvd2dZb3hDekFKQmdOVkJBWVRBbFZUTVFzd0NRWURWUVFJRXdKWFFURVFNQTRHQTFVRUJ4TUhVbVZrYlc5dVpERWVNQndHQTFVRUNoTVZUV2xqY205emIyWjBJRU52Y25CdmNtRjBhVzl1TVI0d0hBWURWUVFMRXhWTmFXTnliM052Wm5RZ1EyOXljRzl5WVhScGIyNHhIREFhQmdOVkJBTVRFMU5sZG1sc2JHVXVWMmx1Wkc5M2N5NWpiMjB3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRENmcWtCcmV1Um1qdm90bDFFdURQWVplaVc1dUVERmV6MXhsYmh6cjVaa1BjSUJYT3RIMVZWRjRaUmVrdTFpK3ZMbTNON2xkVGl4c2RSZW0yU09iVkFGb1dDbjZ2cEYwL1ZYcWpmUTJHbyt2dk9UU1Q0Si9pQWxocXhialVVbkRyWFpXYUMvS2xtU0lYMjlHUng5bG1pT0IrWVBhRzlOTEE1U3F3emNad2hjTThzS3F0VDhHaWQ3Q3JFNGs1WldES0gyL1dPVTVsQ01iZTY2MWtrbWxKZDB2TlBDTXpyMUgzVmNmRG1qVVo4Q25WQzBFODlhVVA3VHhhME1uS0FzVFArQkpCNXJMenhkVlJRbGRNbmhHVXNXRU0ydUNOWXFOdWc4QWYrTGp3RytySXZrSVR3NVlDMUZDZy9qVHBvdHJnSFhmSGRqaURqa0F3ZWY1TlVkTmx0QWdNQkFBR2pnZ0ZPTUlJQlNqQU9CZ05WSFE4QkFmOEVCQU1DQjRBd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3RXdIUVlEVlIwT0JCWUVGT0U1NVFoeno5bEhuWTl2aDVTWmtyMTdjbEtzTUI0R0ExVWRFUVFYTUJXQ0UxTmxkbWxzYkdVdVYybHVaRzkzY3k1amIyMHdId1lEVlIwakJCZ3dGb0FVTmxhSlpVbkxXNXN2UEt4Q0ZsQk5rYmt6MTVFd1V3WURWUjBmQkV3d1NqQklvRWFnUklaQ2FIUjBjRG92TDNkM2R5NXRhV055YjNOdlpuUXVZMjl0TDNCcmFXOXdjeTlqY213dlRXbGpVMlZqVTJWeVEwRXlNREV4WHpJd01URXRNVEF0TVRndVkzSnNNR0FHQ0NzR0FRVUZCd0VCQkZRd1VqQlFCZ2dyQmdFRkJRY3dBb1pFYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OWpaWEowY3k5TmFXTlRaV05UWlhKRFFUSXdNVEZmTWpBeE1TMHhNQzB4T0M1amNuUXdEQVlEVlIwVEFRSC9CQUl3QURBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQVp3ZGxhWjg4U3BURFdUUjc5NWRHV2N0dUxUWmc2UDBqYmh4Q0dhOXBnb3AzSXZ1Qi9QYzJXT2Ruc1ZCYUpUZG5WN3NvcFZHa3V4Vjc1eWk2Q0NQM2sxNG0xQ1FhNk01cmNodmJuVEY0TFdjWld4U1g4Z0hjRWhObFdYV3hxU3FKMzNnSHVGNEc5SCs3VDM3UlNMb2Jqb1MyeVRhc21SRWtCNTI4b1gwWVU0cVpjeVdyK0xEMVovQk10dEhMUlZUZUtHdnpMaVpCNmhqWURybW9qUUxKZXZwSEdoTVdOTU9oR2RLd2pOS0crZGhVRHV6dTdsVXgwZzdhaUR3c1l4NzFTaU9ucDJWOSt5UEhET2R5OXlBRUNPb0N3bUprbW5qLzlDMmVNMDFDQjFZMUxTWHNiQUJtQVd3Si9iczhRNnhTWlJtSnkyRXJSQ3VTakl0MUQydzRTUFVMRFNNVTdIaDk3TWJpQVJDV25TMVRRMGg5azZFWVVmbW1ZaFNHQ0p3MXFlekFqZ2FmTngyYWcrRDhzRFFkQzRjVHhUSTk5aGthUm1DakFmeW1qcVdscUx5V0pCUmdvaXdTd21MVDFUbzRJNUVjZHFoQ1FNdEpoRVVRR2dpenk2ZUE2RlhtNHhmeExua08xSkNKSGJUejlqL2c4OW5zZ0hVN2V4SDVnZHhZQ0FDMGJkUlZLN1YrVlBDcExnLy9SemtlNm9mc1Y3WkxyQUpvN0EyQTZka0dVL09XeGhpVjJiY0VlUEpmSWsrVjM3UHp3c25yZ1JFV2RpM1pic3dBOU5aTTVzZGVSMFlFRm11bit0b2JCRGMzMlRidlVyTUpTb2tjcG9XNnRZczlkR0tUcE1GV01EZ09UeEZjSHljbHZrMjRVQVV2dXk2WVcvSVN2VlY4a3BRPVwiLFwiY2hhaW5cIjpbXCJNSUlHMkRDQ0JNQ2dBd0lCQWdJS1lUKzNHQUFBQUFBQUJEQU5CZ2txaGtpRzl3MEJBUXNGQURDQmlERUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVEIxSmxaRzF2Ym1ReEhqQWNCZ05WQkFvVEZVMXBZM0p2YzI5bWRDQkRiM0p3YjNKaGRHbHZiakV5TURBR0ExVUVBeE1wVFdsamNtOXpiMlowSUZKdmIzUWdRMlZ5ZEdsbWFXTmhkR1VnUVhWMGFHOXlhWFI1SURJd01URXdIaGNOTVRFeE1ERTRNakkxTlRFNVdoY05Nall4TURFNE1qTXdOVEU1V2pCK01Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LVjJGemFHbHVaM1J2YmpFUU1BNEdBMVVFQnhNSFVtVmtiVzl1WkRFZU1Cd0dBMVVFQ2hNVlRXbGpjbTl6YjJaMElFTnZjbkJ2Y21GMGFXOXVNU2d3SmdZRFZRUURFeDlOYVdOeWIzTnZablFnVTJWamRYSmxJRk5sY25abGNpQkRRU0F5TURFeE1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBMEF2QXBLZ1pnZUkyNWVLcTVmT3lGVmgxdnJUbFNmSGdoUG03RFdUdmhjR0JWYmp6NS9GdFFGVTl6b3RxMFlTVDlYVjhXNlRVZEJES012TWowNjd1ejU0RVdNTFpSOHZSZkFCQlNIRWJBV2NYR0svRy9uTURmdVR2UTV6dkFYRXFINEVtUTNlWVZGZHpuVlVyOEo2T2ZRWU9yQnRVOHliMytDTUlJb3VlQmgwM09QMXkwc3JsWThHYVduMnliYk5TcVc3cHJyWDhpemI1bnZyMkhGZ2JsMWFsRWVXM1V0dTc2ZkJVdjdUL0xHeTRYU2JPb0FyWDM1UHRmOTJzOFN4ekd0a1pOMVc2M1NKNGpxSFVtd240QnlJeGNiQ1VydUN3NXlaRVY1Q0JseFhPWWV4bDRrdnhoVklXTXZpMWVLcCt6VTNzZ3lHa3FKdSttbW9FNEtNY3pWWVliUDFyTDBJKzRqZnljcXZRZUhOeWU5N3NBRmpsSVRDakNEcVo3NS9EOTNvV2xtVzF3NEd2OURsd1NhLzJxZlpxQURqNXRBZ1o0Qm8xcFZaMklsOXE4bW11UHExWVJrMjRWUGFKUVVRZWNyRzhFaWRUMHNIL3NzMVFtQjYxOUx1MndvSTUyYXdiOGpzbmhHcXd4aVlMMXpvUTU3UGJmTk5XckZOTUMvbzdNVGQwMkZrcitRQjVHUVo3L1J3ZFF0UkJEUzhGRHRWclNTUC96ODM0ZW9MUDJqd3QzK2pZRWdRWXVoNklkN2lZSHhBSHU4Z0ZmZ3NKdjJ2ZDQwNWJzUG5IaEtZN3lreWZXMklwOThlaXFKV0ljQ3psd1Q4OFVpTlBRSnJETVlXREw3OHA4UjFRanlHV0I4N3Y4b0RDUkgyYll1OHZ3M2VKcTBWTlV6NENlZE1DQXdFQUFhT0NBVXN3Z2dGSE1CQUdDU3NHQVFRQmdqY1ZBUVFEQWdFQU1CMEdBMVVkRGdRV0JCUTJWb2xsU2N0Ym15ODhyRUlXVUUyUnVUUFhrVEFaQmdrckJnRUVBWUkzRkFJRURCNEtBRk1BZFFCaUFFTUFRVEFMQmdOVkhROEVCQU1DQVlZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZkJnTlZIU01FR0RBV2dCUnlMVG9DTVpCRHVSUUZUdUhxcDhjeDBTT0pOREJhQmdOVkhSOEVVekJSTUUrZ1RhQkxoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1amIyMHZjR3RwTDJOeWJDOXdjbTlrZFdOMGN5OU5hV05TYjI5RFpYSkJkWFF5TURFeFh6SXdNVEZmTUROZk1qSXVZM0pzTUY0R0NDc0dBUVVGQndFQkJGSXdVREJPQmdnckJnRUZCUWN3QW9aQ2FIUjBjRG92TDNkM2R5NXRhV055YjNOdlpuUXVZMjl0TDNCcmFTOWpaWEowY3k5TmFXTlNiMjlEWlhKQmRYUXlNREV4WHpJd01URmZNRE5mTWpJdVkzSjBNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUJCeUdIQjlWdWVQcEV4OGJER3Z3a0J0SjIya0hUWENkdW1MZzJmeU9kMk5FYXZCMkNKVElHelBOWDBFalYxd25PbDlVMkVqTXVrWGErL2t2WVhDRmRDbFhKbEJYWjVyZTdSdXJndVZLTlJCNnhvNnlFTTR5V0J3czBxOHNQL3o4SzlTUmlheC9DRXhma1V2R3VWNVpidnMwTFNVOVZLb0JMRXJoSjJVd2xXRHAzMzA2WkppRkR5aWl5WElLSytUbmp2QldXM1M2RVdpTjR4eHdoQ0pIeWtlNTZkdkdBQVhtS1g0NVA4cC81YmV5WGY1Rk4vUzc3bVB2RGJBWGxDSEc2RmJIMjJSREQ3cFRlU2s3S2w3aUN0UDFQVnlmUW9hMWZCK0IxcXQxWXF0aWVCSEtZdG4rZjAwREdEbDZncXRxeStHMEgxNUlsZlZ2dmFXdE5lZlZXVUVINVRWL1JLUFVBcXlMMW5uNFRoRU83OTJtc1Zna244UmgzL1JRWjBuRUlVN2NVNTA3UE5DNE1ua0VOUmt2SkVncTV1bWhVWHNobjZ4MFZzbUFGN3Z6ZXBzSWlra3J3NE9PQWQ1SHlYbUJvdVgrODRaYmMxTDcxL1R5SDZ4SXpTYndiNVNUWHEzeUFQSmFycVlLc3NIMHVKL0xmNlhGU1FTejZpS0U5czVGSmx3ZjJRSElXQ2lHN3BwbFhkSVNoNVJiQVU1UXJNNWwvRXU5dGhOR21mckNZNDk4RXBRUWdWTGt5Zzkva01QdDVmcXdnSkxZT3NyRFNEWXZUSlNVS0pKYlZ1c2tmRnN6bWdzU0FiTExHT0JHK2xNRWtjMEVicFFGdjByVzY2MjRKS2h4SktnQWxOMjk5MnVRVmJHK0M3SUhCZkFDWEgwdzc2RnExN0lwNXhDQT09XCIsXCJNSUlGN1RDQ0E5V2dBd0lCQWdJUVA0dkl0Znlmc3BaRHRXbldiRUxoUkRBTkJna3Foa2lHOXcwQkFRc0ZBRENCaURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDbGRoYzJocGJtZDBiMjR4RURBT0JnTlZCQWNUQjFKbFpHMXZibVF4SGpBY0JnTlZCQW9URlUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJqRXlNREFHQTFVRUF4TXBUV2xqY205emIyWjBJRkp2YjNRZ1EyVnlkR2xtYVdOaGRHVWdRWFYwYUc5eWFYUjVJREl3TVRFd0hoY05NVEV3TXpJeU1qSXdOVEk0V2hjTk16WXdNekl5TWpJeE16QTBXakNCaURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDbGRoYzJocGJtZDBiMjR4RURBT0JnTlZCQWNUQjFKbFpHMXZibVF4SGpBY0JnTlZCQW9URlUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJqRXlNREFHQTFVRUF4TXBUV2xqY205emIyWjBJRkp2YjNRZ1EyVnlkR2xtYVdOaGRHVWdRWFYwYUc5eWFYUjVJREl3TVRFd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUUN5Z0VHcU5UaE5FM0l5YUNKTnVMTHgvOVZTdkd6SDlkSktqRGJ1MGNKY2ZveUtycThUS0cvQWMrTTZ6dEFscUZvNmJlK291Rm1yRXlOb3pRd3BoOUZ2Z0Z5UFJIOWRrQUZTV0t4UnhWOHFoOXpjMkFvZHdRTzVlN0JXNktQZVpHSENudmp6Zkxuc0RiVlUva3kyWlUrSThKeEltUXhDQ3dsOE1Wa1hlUVo0S0kySk9rd0RKYjV4YWx3TDU0UmdwSmtpNDlLdmhLU24rOUdZN1F5cDNwU0o0UTZnM01ET21UM3FDRks3Vm5ua0g0UzZIcmkweEVsY1R6RkxoOTNkQldjbW1ZRGdjUkdqdUtWQjRxUlR1ZmN5S1lNTUU3ODJYZ1N6UzBOSEwydmlrUjdUbUUvZFFnZkk2QjBTL0ptcGF6NlNmc2pXYVRyOFpMMjJDWjNLL1F3TG9wdDNZRXNEbEtRd2FSTFdRaTNCUVV6SzNLcjlqMXVEUnByWi9MSFI0N1BKZjBoNnpTVHdRWTljZE5Dc3NCQWdCa20zeHkwaHlGZmowSWJ6QTJqNzBNNXh3WW1aU21RQmJQM3NNSkhQUVR5U3grVzZoaDFoaE1kZmd6bGlyclNTTDBmekMvaFY2NkFmV2RDN2RKc2UwSGJtOHVrRzF4RG8rbVRlYWNZMWxvZ0M4RWE0UHllWmI4dHhpU2sxOTBnV0FqV1AxWGw4VFFMUFgrdUtnMDlGY1lqNXFRMU9jdW5DbkFmUFNSdE9CQTVqVVl4ZTJBREJWU3kyeHVEQ1pVN0pORG4xbkxQRWZ1aGhiaE5mRmNSZjJYN3RIYzd1Uk96TExvYXg3RGoyY08yclhCUEIyUThOeDRDeVZlMDA5NnliNU1QYTUwYzhwcldQTWQvRlM2L3I4UUlEQVFBQm8xRXdUekFMQmdOVkhROEVCQU1DQVlZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVWNpMDZBakdRUTdrVUJVN2g2cWZITWRFamlUUXdFQVlKS3dZQkJBR0NOeFVCQkFNQ0FRQXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnSUJBSDl5encrM3hSWGJtOEJKeWlaYi9wNFQ1dFB3MHR1WFgvSkxQMDJ6cmhtdTdkZVhvS3p2cVRxandrR3c1YmlSbmhPQkpBUG1DZjAvVjBBNUlTUlcwUkF2UzBDcE5vWkx0Rk5YbXZ2eGZvbVBFZjRZYkZHcTZPMEpsYlhsY2NtaDZZZDFwaFYveVg0M1ZGNTBrOFhEWjh3TlQydW9Gd3h0Q0pKK2k5MkJxaTF3SWNNOUJoUzd2eVJlcDRUWFB3OGhJcjFMQUFiYmx4ellYdFRGQzF5SGJsQ2s2TU00cFB2TExNV1NacHVGWHN0NmJKTjhnQ2xZVzFlMVFHbTZDSG1tWkdJVm5ZZVdSYlZtSXlBRGl4eHpvTk9pZVRQZ1VGbUcyeS9sQWlYcWN5cWZBQlRJTnNlU08rbE9BT3pZVmdtNU0wa1MwbFFMQWF1c1I3YVJLWDFNdEhXQVVnSG95b0wybjh5c25JOFg2aThtc0t0eXJBditubEVleDBOVlowOVJzMWZXdHV6dVVyYzY2VTdoMTRHSXZFK09kYnRMcVBBMXFpYlVaMmRKc25CTU81UGNIZDk0a0laeXNqaWswZHlTVGNsWTZ5c1NYTlE3cm94cnNJUGxBVC80Q1RMMmt6VTBJcS9kTncxM0NZQXJ6VWdBOFl5WkdVY0ZBZW5SdjlGTzBPWW9RemVacEFwS0NObWFjWFBTcXMweEUyTjJvVGR2a2pnZWZSSThaakxueTIzaC9GS0ozY3JXWmdXYWxtRytvaWpISEtPbk5sQThPcVRmU203bWh6dk82L0RnZ1RlZEV6eFNqcjI1SFRUR0hkVUthajJZS1hDTWlTclJxNElRU0IvYzlPK2x4YnRWR2poamhFNjNiSzJWVk94bEloQkpGN2pBSHNjUHJGUkhcIl19IiA+ICVUTVAlXHNlbnNlVG1wLnR4dCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCiAgIHNldCAiZXJyb3JEZXNjcmlwdGlvbj1VbmFibGUgdG8gd3JpdGUgb25ib2FyZGluZyBpbmZvcm1hdGlvbiB0byByZWdpc3RyeS4iCiAgIHNldCBlcnJvckNvZGU9MTAKICAgc2V0IGxhc3RFcnJvcj0lRVJST1JMRVZFTCUKICAgR09UTyBFUlJPUgopCgplY2hvIFN0YXJ0aW5nIHRoZSBzZXJ2aWNlLCBpZiBub3QgYWxyZWFkeSBydW5uaW5nID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKc2MgcXVlcnkgIlNFTlNFIiB8IGZpbmQgL2kgIlJVTk5JTkciID5OVUwgMj4mMQppZiAlRVJST1JMRVZFTCUgRVFVIDAgR09UTyBSVU5OSU5HCgpuZXQgc3RhcnQgc2Vuc2UgPiAlVE1QJVxzZW5zZVRtcC50eHQgMj4mMQppZiAlRVJST1JMRVZFTCUgTkVRIDAgKAogICBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBoYXMgbm90IHN0YXJ0ZWQgeWV0ID5OVUwgMj4mMQogICBHT1RPIFdBSVRfRk9SX1RIRV9TRVJWSUNFX1RPX1NUQVJUCikKZ290byBTVUNDRUVERUQKCjpSVU5OSU5HCnNldCAicnVubmluZ091dHB1dD1UaGUgV2luZG93cyBEZWZlbmRlciBBZHZhbmNlZCBUaHJlYXQgUHJvdGVjdGlvbiBTZXJ2aWNlIGlzIGFscmVhZHkgcnVubmluZyEiCmVjaG8gJXJ1bm5pbmdPdXRwdXQlID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBJbmZvcm1hdGlvbiAvaWQgMTAgL2QgIiVydW5uaW5nT3V0cHV0JSIgPk5VTCAyPiYxCkdPVE8gV0FJVF9GT1JfVEhFX1NFUlZJQ0VfVE9fU1RBUlQKCjpFUlJPUgpTZXQgL1AgZXJyb3JNc2c9PCVUTVAlXHNlbnNlVG1wLnR4dApzZXQgImVycm9yT3V0cHV0PVtFcnJvciBJZDogJWVycm9yQ29kZSUsIEVycm9yIExldmVsOiAlbGFzdEVycm9yJV0gJWVycm9yRGVzY3JpcHRpb24lIEVycm9yIG1lc3NhZ2U6ICVlcnJvck1zZyUiCiVwb3dlcnNoZWxsUGF0aCUgLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLU5vUHJvZmlsZSAtQ29tbWFuZCAiQWRkLVR5cGUgJ3VzaW5nIFN5c3RlbTsgdXNpbmcgU3lzdGVtLkRpYWdub3N0aWNzOyB1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3MuVHJhY2luZzsgbmFtZXNwYWNlIFNlbnNlIHsgW0V2ZW50RGF0YShOYW1lID0gXCJPbmJvYXJkaW5nXCIpXXB1YmxpYyBzdHJ1Y3QgT25ib2FyZGluZ3twdWJsaWMgc3RyaW5nIE1lc3NhZ2UgeyBnZXQ7IHNldDsgfX0gcHVibGljIGNsYXNzIFRyYWNlIHtwdWJsaWMgc3RhdGljIEV2ZW50U291cmNlT3B0aW9ucyBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiA9IG5ldyBFdmVudFNvdXJjZU9wdGlvbnMoKXtMZXZlbCA9IEV2ZW50TGV2ZWwuRXJyb3IsIEtleXdvcmRzID0gKEV2ZW50S2V5d29yZHMpMHgwMDAwMjAwMDAwMDAwMDAwLCBUYWdzID0gKEV2ZW50VGFncykweDAyMDAwMDB9OyBwdWJsaWMgdm9pZCBXcml0ZU9uYm9hcmRpbmdNZXNzYWdlKHN0cmluZyBtZXNzYWdlKXtlcy5Xcml0ZShcIk9uYm9hcmRpbmdTY3JpcHRcIiwgVGVsZW1ldHJ5Q3JpdGljYWxPcHRpb24sIG5ldyBPbmJvYXJkaW5nIHtNZXNzYWdlID0gbWVzc2FnZX0pO30gcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgc3RyaW5nW10gdGVsZW1ldHJ5VHJhaXRzID0geyBcIkVUV19HUk9VUFwiLCBcIns1RUNCMEJBQy1COTMwLTQ3RjUtQThBNC1FODI1MzUyOUVEQjd9XCIgfTsgcHJpdmF0ZSBFdmVudFNvdXJjZSBlcyA9IG5ldyBFdmVudFNvdXJjZShcIk1pY3Jvc29mdC5XaW5kb3dzLlNlbnNlLkNsaWVudC5NYW5hZ2VtZW50XCIsRXZlbnRTb3VyY2VTZXR0aW5ncy5FdHdTZWxmRGVzY3JpYmluZ0V2ZW50Rm9ybWF0LHRlbGVtZXRyeVRyYWl0cyk7fX0nOyAkbG9nZ2VyID0gTmV3LU9iamVjdCAtVHlwZU5hbWUgU2Vuc2UuVHJhY2U7ICRsb2dnZXIuV3JpdGVPbmJvYXJkaW5nTWVzc2FnZSgnJWVycm9yT3V0cHV0JScpIiA+TlVMIDI+JjEKZWNobyAlZXJyb3JPdXRwdXQlID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBFcnJvciAvaWQgJWVycm9yQ29kZSUgL2QgIiVlcnJvck91dHB1dCUiID5OVUwgMj4mMQpHT1RPIENMRUFOVVAKCjpTVUNDRUVERUQKZWNobyBGaW5pc2hlZCBwZXJmb3JtaW5nIG9uYm9hcmRpbmcgb3BlcmF0aW9ucyA+TlVMIDI+JjEKZWNoby4gPk5VTCAyPiYxCkdPVE8gV0FJVF9GT1JfVEhFX1NFUlZJQ0VfVE9fU1RBUlQKCjpXQUlUX0ZPUl9USEVfU0VSVklDRV9UT19TVEFSVAplY2hvIFdhaXRpbmcgZm9yIHRoZSBzZXJ2aWNlIHRvIHN0YXJ0ID5OVUwgMj4mMQplY2hvLiA+TlVMIDI+JjEKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9SVU5OSU5HX1dBSVQKc2MgcXVlcnkgIlNFTlNFIiB8IGZpbmQgL2kgIlJVTk5JTkciID5OVUwgMj4mMQppZiAlRVJST1JMRVZFTCUgTkVRIDAgKAoJSUYgJWNvdW50ZXIlIEVRVSA0ICgKCQlzZXQgImVycm9yRGVzY3JpcHRpb249VW5hYmxlIHRvIHN0YXJ0IFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZS4iCgkJc2V0IGVycm9yQ29kZT0xNQoJCXNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfUlVOTklOR19XQUlUCikKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9PTkJPQVJERURfU1RBVFVTX1dBSVQKUkVHIHF1ZXJ5ICJIS0xNXFNPRlRXQVJFXE1pY3Jvc29mdFxXaW5kb3dzIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uXFN0YXR1cyIgL3YgT25ib2FyZGluZ1N0YXRlIC9yZWc6NjQgPk5VTCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCglJRiAlY291bnRlciUgRVFVIDQgKAoJCUBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBpcyBub3QgcnVubmluZyBhcyBleHBlY3RlZD4gJVRNUCVcc2Vuc2VUbXAudHh0CgkJc2V0IGVycm9yQ29kZT0zNQogICAgIHNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfT05CT0FSREVEX1NUQVRVU19XQUlUCikKCnNldCAvYSBjb3VudGVyPTAKCjpTRU5TRV9PTkJPQVJERURfV0FJVApSRUcgcXVlcnkgIkhLTE1cU09GVFdBUkVcTWljcm9zb2Z0XFdpbmRvd3MgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb25cU3RhdHVzIiAvdiBPbmJvYXJkaW5nU3RhdGUgL3JlZzo2NCB8IGZpbmQgL2kgIjB4MSIgPk5VTCAyPiYxCmlmICVFUlJPUkxFVkVMJSBORVEgMCAoCglJRiAlY291bnRlciUgRVFVIDQgKAoJCUBlY2hvIFdpbmRvd3MgRGVmZW5kZXIgQWR2YW5jZWQgVGhyZWF0IFByb3RlY3Rpb24gU2VydmljZSBpcyBub3QgcnVubmluZyBhcyBleHBlY3RlZD4gJVRNUCVcc2Vuc2VUbXAudHh0CgkJc2V0IGVycm9yQ29kZT00MAogICAgIHNldCBsYXN0RXJyb3I9JUVSUk9STEVWRUwlCgkJR09UTyBFUlJPUgoJKQoKCXNldCAvYSBjb3VudGVyPSVjb3VudGVyJSsxCgoJdGltZW91dCA1ID5OVUwgMj4mMQoJR09UTyA6U0VOU0VfT05CT0FSREVEX1dBSVQKKQoKc2V0ICJzdWNjZXNzT3V0cHV0PVN1Y2Nlc3NmdWxseSBvbmJvYXJkZWQgbWFjaGluZSB0byBXaW5kb3dzIERlZmVuZGVyIEFkdmFuY2VkIFRocmVhdCBQcm90ZWN0aW9uIgplY2hvICVzdWNjZXNzT3V0cHV0JSA+TlVMIDI+JjEKZWNoby4KZXZlbnRjcmVhdGUgL2wgQXBwbGljYXRpb24gL3NvIFdEQVRQT25ib2FyZGluZyAvdCBJbmZvcm1hdGlvbiAvaWQgMjAgL2QgIiVzdWNjZXNzT3V0cHV0JSIgPk5VTCAyPiYxCiVwb3dlcnNoZWxsUGF0aCUgLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLU5vUHJvZmlsZSAtQ29tbWFuZCAiQWRkLVR5cGUgJ3VzaW5nIFN5c3RlbTsgdXNpbmcgU3lzdGVtLkRpYWdub3N0aWNzOyB1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3MuVHJhY2luZzsgbmFtZXNwYWNlIFNlbnNlIHsgW0V2ZW50RGF0YShOYW1lID0gXCJPbmJvYXJkaW5nXCIpXXB1YmxpYyBzdHJ1Y3QgT25ib2FyZGluZ3twdWJsaWMgc3RyaW5nIE1lc3NhZ2UgeyBnZXQ7IHNldDsgfX0gcHVibGljIGNsYXNzIFRyYWNlIHtwdWJsaWMgc3RhdGljIEV2ZW50U291cmNlT3B0aW9ucyBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiA9IG5ldyBFdmVudFNvdXJjZU9wdGlvbnMoKXtMZXZlbCA9IEV2ZW50TGV2ZWwuSW5mb3JtYXRpb25hbCwgS2V5d29yZHMgPSAoRXZlbnRLZXl3b3JkcykweDAwMDAyMDAwMDAwMDAwMDAsIFRhZ3MgPSAoRXZlbnRUYWdzKTB4MDIwMDAwMH07IHB1YmxpYyB2b2lkIFdyaXRlT25ib2FyZGluZ01lc3NhZ2Uoc3RyaW5nIG1lc3NhZ2Upe2VzLldyaXRlKFwiT25ib2FyZGluZ1NjcmlwdFwiLCBUZWxlbWV0cnlDcml0aWNhbE9wdGlvbiwgbmV3IE9uYm9hcmRpbmcge01lc3NhZ2UgPSBtZXNzYWdlfSk7fSBwcml2YXRlIHN0YXRpYyByZWFkb25seSBzdHJpbmdbXSB0ZWxlbWV0cnlUcmFpdHMgPSB7IFwiRVRXX0dST1VQXCIsIFwiezVFQ0IwQkFDLUI5MzAtNDdGNS1BOEE0LUU4MjUzNTI5RURCN31cIiB9OyBwcml2YXRlIEV2ZW50U291cmNlIGVzID0gbmV3IEV2ZW50U291cmNlKFwiTWljcm9zb2Z0LldpbmRvd3MuU2Vuc2UuQ2xpZW50Lk1hbmFnZW1lbnRcIixFdmVudFNvdXJjZVNldHRpbmdzLkV0d1NlbGZEZXNjcmliaW5nRXZlbnRGb3JtYXQsdGVsZW1ldHJ5VHJhaXRzKTt9fSc7ICRsb2dnZXIgPSBOZXctT2JqZWN0IC1UeXBlTmFtZSBTZW5zZS5UcmFjZTsgJGxvZ2dlci5Xcml0ZU9uYm9hcmRpbmdNZXNzYWdlKCclc3VjY2Vzc091dHB1dCUnKSIgPk5VTCAyPiYxCiIlUFJPR1JBTUZJTEVTJVxXaW5kb3dzIERlZmVuZGVyXE1wQ21kUnVuLmV4ZSIgLVJlbG9hZEVuZ2luZSA+TlVMIDI+JjEKCkdPVE8gQ0xFQU5VUAoKOkNMRUFOVVAKaWYgZXhpc3QgJVRNUCVcc2Vuc2VUbXAudHh0IGRlbCAlVE1QJVxzZW5zZVRtcC50eHQKRVhJVCAvQiAlZXJyb3JDb2RlJQo==" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-10-01-preview/mdeOnboardings.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-10-01-preview/mdeOnboardings.json new file mode 100644 index 000000000000..ddb73e3cb425 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-10-01-preview/mdeOnboardings.json @@ -0,0 +1,156 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2021-10-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}/providers/Microsoft.Security/mdeOnboardings": { + "get": { + "x-ms-examples": { + "The configuration or data needed to onboard the machine to MDE": { + "$ref": "./examples/MdeOnboardings/ListMdeOnboardings_example.json" + } + }, + "tags": [ + "MdeOnboarding" + ], + "description": "The configuration or data needed to onboard the machine to MDE", + "operationId": "MdeOnboardings_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MdeOnboardingDataList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/mdeOnboardings/default": { + "get": { + "x-ms-examples": { + "The default configuration or data needed to onboard the machine to MDE": { + "$ref": "./examples/MdeOnboardings/GetMdeOnboardings_example.json" + } + }, + "tags": [ + "MdeOnboarding" + ], + "description": "The default configuration or data needed to onboard the machine to MDE", + "operationId": "MdeOnboardings_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MdeOnboardingData" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "MdeOnboardingDataProperties": { + "type": "object", + "properties": { + "onboardingPackageWindows": { + "format": "byte", + "type": "string", + "description": "The onboarding package used to onboard Windows machines to MDE, coded in base64. This can also be used for onboarding using the dedicated VM Extension" + }, + "onboardingPackageLinux": { + "format": "byte", + "type": "string", + "description": "The onboarding package used to onboard Linux machines to MDE, coded in base64. This can also be used for onboarding using the dedicated VM Extension" + } + }, + "description": "Properties of the MDE configuration or data parameter needed to onboard the machine to MDE" + }, + "MdeOnboardingData": { + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MdeOnboardingDataProperties" + } + }, + "description": "The resource of the configuration or data needed to onboard the machine to MDE" + }, + "MdeOnboardingDataList": { + "type": "object", + "description": "List of all MDE onboarding data resources", + "properties": { + "value": { + "description": "List of the resources of the configuration or data needed to onboard the machine to MDE", + "type": "array", + "items": { + "$ref": "#/definitions/MdeOnboardingData" + } + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/assessmentMetadata.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/assessmentMetadata.json index b130a9c0569e..566c9aaf5593 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/assessmentMetadata.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/assessmentMetadata.json @@ -719,9 +719,8 @@ "Network Sniffing", "Non-Application Layer Protocol", "Non-Standard Port", - "Obfuscated Files or Information", "Obtain Capabilities", - "Obuscated Files or Information", + "Obfuscated Files or Information", "Office Application Startup", "OS Credential Dumping", "Permission Groups Discovery", @@ -961,14 +960,11 @@ { "value": "Non-Standard Port" }, - { - "value": "Obfuscated Files or Information" - }, { "value": "Obtain Capabilities" }, { - "value": "Obuscated Files or Information" + "value": "Obfuscated Files or Information" }, { "value": "Office Application Startup" diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_example.json index 1d3b5a8c2ae8..e58f1307ae58 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_example.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_example.json @@ -40,7 +40,7 @@ "Privilege Escalation" ], "techniques": [ - "Obuscated Files or Information", + "Obfuscated Files or Information", "Ingress Tool Transfer", "Phishing", "User Execution" diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_subscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_subscription_example.json index eccba4cfa404..665650571e6d 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_subscription_example.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_subscription_example.json @@ -41,7 +41,7 @@ "Privilege Escalation" ], "techniques": [ - "Obuscated Files or Information", + "Obfuscated Files or Information", "Ingress Tool Transfer", "Phishing", "User Execution" diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_example.json index 9dd72f1eddb5..82a62fff2488 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_example.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_example.json @@ -41,7 +41,7 @@ "Privilege Escalation" ], "techniques": [ - "Obuscated Files or Information", + "Obfuscated Files or Information", "Ingress Tool Transfer", "Phishing", "User Execution" diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_subscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_subscription_example.json index 652a8c6eca31..9e7f41e091d4 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_subscription_example.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_subscription_example.json @@ -42,7 +42,7 @@ "Privilege Escalation" ], "techniques": [ - "Obuscated Files or Information", + "Obfuscated Files or Information", "Ingress Tool Transfer", "Phishing", "User Execution" diff --git a/specification/security/resource-manager/readme.go.md b/specification/security/resource-manager/readme.go.md index fd7665ccbe32..5e49df8201b5 100644 --- a/specification/security/resource-manager/readme.go.md +++ b/specification/security/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/security/armsecurity +module-name: sdk/resourcemanager/security/armsecurity module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/security/resource-manager/readme.md b/specification/security/resource-manager/readme.md index 053e69555b67..abd1373a9744 100644 --- a/specification/security/resource-manager/readme.md +++ b/specification/security/resource-manager/readme.md @@ -44,6 +44,18 @@ directive: from: ingestionSettings.json where: $.definitions.IngestionConnectionString.properties.value reason: Secrets are OK to return in a POST response. + - suppress: OperationsAPIImplementation + where: $.paths + from: settings.json + reason: Operations API has nothing to do with current additions. + - suppress: OperationsAPIImplementation + where: $.paths + from: assignments.json + reason: Suppression of OperationsAPI as it doesn't apply to this specific file. + - suppress: OperationsAPIImplementation + where: $.paths + from: standards.json + reason: Suppression of OperationsAPI as it doesn't apply to this specific file. ``` ### Basic Information @@ -61,12 +73,27 @@ tag: package-composite-v3 The following packages may be composed from multiple api-versions. +### Tag: package-preview-2021-08 + +These settings apply only when `--tag=package-preview-2021-08` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2021-08' +input-file: + - Microsoft.Security/preview/2021-08-01-preview/standards.json + - Microsoft.Security/preview/2021-08-01-preview/assignments.json + +override-info: + title: SecurityCenter +``` + ### Tag: package-composite-v1 These settings apply only when `--tag=package-composite-v1` is specified on the command line. ``` yaml $(tag) == 'package-composite-v1' input-file: +- Microsoft.Security/preview/2021-07-01-preview/securityConnectors.json +- Microsoft.Security/preview/2021-10-01-preview/mdeOnboardings.json - Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json - Microsoft.Security/preview/2021-07-01-preview/customEntityStoreAssignment.json - Microsoft.Security/preview/2021-05-01-preview/softwareInventories.json @@ -112,6 +139,8 @@ These settings apply only when `--tag=package-composite-v2` is specified on the ``` yaml $(tag) == 'package-composite-v2' input-file: +- Microsoft.Security/preview/2021-07-01-preview/securityConnectors.json +- Microsoft.Security/preview/2021-10-01-preview/mdeOnboardings.json - Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json - Microsoft.Security/preview/2021-07-01-preview/customEntityStoreAssignment.json - Microsoft.Security/preview/2021-05-01-preview/softwareInventories.json @@ -159,6 +188,7 @@ These settings apply only when `--tag=package-composite-v3` is specified on the ``` yaml $(tag) == 'package-composite-v3' input-file: +- Microsoft.Security/preview/2021-10-01-preview/mdeOnboardings.json - Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json - Microsoft.Security/preview/2021-07-01-preview/customEntityStoreAssignment.json - Microsoft.Security/stable/2017-08-01/complianceResults.json @@ -200,6 +230,7 @@ input-file: - Microsoft.Security/stable/2021-07-01/settings.json - Microsoft.Security/preview/2021-01-15-preview/ingestionSettings.json - Microsoft.Security/preview/2021-05-01-preview/softwareInventories.json +- Microsoft.Security/preview/2021-07-01-preview/securityConnectors.json # Needed when there is more than one input file override-info: @@ -429,10 +460,19 @@ input-file: - Microsoft.Security/preview/2021-07-01-preview/customEntityStoreAssignment.json ``` +### Tag: package-preview-2021-10 + +These settings apply only when `--tag=package-2021-10-preview-only` is specified on the command line. + +```yaml $(tag) == 'package-2021-10-preview-only' +input-file: + - Microsoft.Security/preview/2021-10-01-preview/mdeOnboardings.json +``` + # Needed when there is more than one input file override-info: - title: SecurityCenter -``` + title: SecurityCenter +``` ### Tag: package-2021-06-only @@ -449,6 +489,18 @@ override-info: title: SecurityCenter ``` +### Tag: package-preview-2021-07-preview-only + +These settings apply only when `--tag=package-preview-2021-07-preview-only` is specified on the command line. + +``` yaml $(tag) == 'package-2021-07-preview-only' +input-file: + - Microsoft.Security/preview/2021-07-01-preview/securityConnectors.json +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + --- # Code Generation @@ -462,6 +514,7 @@ This is not used by Autorest itself. swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node @@ -495,4 +548,4 @@ See configuration in [readme.ruby.md](./readme.ruby.md) ## Java -See configuration in [readme.java.md](./readme.java.md) +See configuration in [readme.java.md](./readme.java.md) \ No newline at end of file diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/Incidents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/Incidents.json index 0098a0ab8407..4f6eee9776d1 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/Incidents.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/Incidents.json @@ -2412,6 +2412,11 @@ ] } }, + "teamInformation": { + "$ref": "#/definitions/TeamInformation", + "description": "Describes a team for the incident", + "type": "object" + }, "title": { "description": "The title of the incident", "type": "string" diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/SourceControls.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/SourceControls.json index ad6b85d03e21..c3b926e9b2ec 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/SourceControls.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/SourceControls.json @@ -360,6 +360,12 @@ "description": "source control properties", "$ref": "#/definitions/SourceControlProperties", "x-ms-client-flatten": true + }, + "systemData": { + "description": "System data of Cluster resource", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "x-ms-client-flatten": true, + "readOnly": true } }, "type": "object" @@ -367,7 +373,7 @@ "SourceControlProperties": { "description": "Describes source control properties", "properties": { - "sourceControlId": { + "id": { "description": "The id (a Guid) of the source control", "type": "string" }, @@ -416,6 +422,14 @@ "description": "Branch name of repository.", "type": "string" }, + "displayUrl": { + "description": "Display url of repository.", + "type": "string" + }, + "deploymentLogsUrl": { + "description": "Url to access repository action logs.", + "type": "string" + }, "pathMapping": { "description": "Dictionary of source control content type and path mapping.", "items": { diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/sourcecontrols/CreateSourceControl.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/sourcecontrols/CreateSourceControl.json index 8d8f4e12007f..79dd88f02839 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/sourcecontrols/CreateSourceControl.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/sourcecontrols/CreateSourceControl.json @@ -19,6 +19,7 @@ "repository": { "url": "https://github.com/user/repo", "branch": "master", + "displayUrl": "https://github.com/user/repo", "pathMapping": [ { "contentType": "AnalyticRules", @@ -41,7 +42,7 @@ "type": "Microsoft.SecurityInsights/SourceControls", "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", "properties": { - "sourceControlId": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "id": "789e0c1f-4a3d-43ad-809c-e713b677b04a", "displayName": "My Source Control", "description": "this is a source control", "repoType": "Github", @@ -52,6 +53,8 @@ "repository": { "url": "https://github.com/user/repo", "branch": "master", + "displayUrl": "https://github.com/user/repo", + "deploymentLogsUrl": "https://github.com/user/repo/actions", "pathMapping": [ { "contentType": "AnalyticRules", @@ -63,6 +66,14 @@ } ] } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-02T17:18:19.1234567Z" } } }, @@ -73,7 +84,7 @@ "type": "Microsoft.SecurityInsights/SourceControls", "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", "properties": { - "sourceControlId": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "id": "789e0c1f-4a3d-43ad-809c-e713b677b04a", "displayName": "My Source Control", "description": "this is a source control", "repoType": "Github", @@ -84,6 +95,8 @@ "repository": { "url": "https://github.com/user/repo", "branch": "master", + "displayUrl": "https://github.com/user/repo", + "deploymentLogsUrl": "https://github.com/user/repo/actions", "pathMapping": [ { "contentType": "AnalyticRules", @@ -95,6 +108,14 @@ } ] } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-02T17:18:19.1234567Z" } } } diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/sourcecontrols/GetSourceControlById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/sourcecontrols/GetSourceControlById.json index 395a39d110d5..104dfa44de50 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/sourcecontrols/GetSourceControlById.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/sourcecontrols/GetSourceControlById.json @@ -15,7 +15,7 @@ "type": "Microsoft.SecurityInsights/SourceControls", "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", "properties": { - "sourceControlId": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "id": "789e0c1f-4a3d-43ad-809c-e713b677b04a", "displayName": "My Source Control", "description": "this is a source control", "repoType": "Github", @@ -26,6 +26,8 @@ "repository": { "url": "https://github.com/user/repo", "branch": "master", + "displayUrl": "https://github.com/user/repo", + "deploymentLogsUrl": "https://github.com/user/repo/actions", "pathMapping": [ { "contentType": "AnalyticRules", @@ -37,6 +39,14 @@ } ] } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-02T17:18:19.1234567Z" } } } diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/sourcecontrols/GetSourceControls.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/sourcecontrols/GetSourceControls.json index 2054c4c1b4ff..803179762039 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/sourcecontrols/GetSourceControls.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/sourcecontrols/GetSourceControls.json @@ -16,7 +16,7 @@ "type": "Microsoft.SecurityInsights/SourceControls", "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", "properties": { - "sourceControlId": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "id": "789e0c1f-4a3d-43ad-809c-e713b677b04a", "displayName": "My Source Control", "description": "this is a source control", "repoType": "Github", @@ -27,6 +27,8 @@ "repository": { "url": "https://github.com/user/repo", "branch": "master", + "displayUrl": "https://github.com/user/repo", + "deploymentLogsUrl": "https://github.com/user/repo/actions", "pathMapping": [ { "contentType": "AnalyticRules", @@ -38,6 +40,14 @@ } ] } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-02T17:18:19.1234567Z" } } ] diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/AuthorizationRules.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/AuthorizationRules.json new file mode 100644 index 000000000000..23937bbef7c9 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/AuthorizationRules.json @@ -0,0 +1,1256 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2021-11-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.ServiceBus/namespaces/{namespaceName}/AuthorizationRules": { + "get": { + "tags": [ + "Namespaces AuthorizationRule" + ], + "operationId": "Namespaces_ListAuthorizationRules", + "x-ms-examples": { + "NameSpaceAuthorizationRuleListAll": { + "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleListAll.json" + } + }, + "description": "Gets the authorization rules for a namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639376.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace authorization rules returned successfully.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRuleListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}": { + "put": { + "tags": [ + "Namespaces AuthorizationRule" + ], + "operationId": "Namespaces_CreateOrUpdateAuthorizationRule", + "x-ms-examples": { + "NameSpaceAuthorizationRuleCreate": { + "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleCreate.json" + } + }, + "description": "Creates or updates an authorization rule for a namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639410.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + }, + "description": "The shared access authorization rule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace authorization rule created.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Namespaces AuthorizationRule" + ], + "operationId": "Namespaces_DeleteAuthorizationRule", + "x-ms-examples": { + "NameSpaceAuthorizationRuleDelete": { + "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleDelete.json" + } + }, + "description": "Deletes a namespace authorization rule.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639417.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace authorization rule successfully deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Namespaces AuthorizationRule" + ], + "operationId": "Namespaces_GetAuthorizationRule", + "x-ms-examples": { + "NameSpaceAuthorizationRuleGet": { + "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleGet.json" + } + }, + "description": "Gets an authorization rule for a namespace by rule name.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639392.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace authorization rule returned successfully.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys": { + "post": { + "tags": [ + "Namespaces AuthorizationRule" + ], + "operationId": "Namespaces_ListKeys", + "x-ms-examples": { + "NameSpaceAuthorizationRuleListKey": { + "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleListKey.json" + } + }, + "description": "Gets the primary and secondary connection strings for the namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639398.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Connection strings successfully returned.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys": { + "post": { + "tags": [ + "Namespaces AuthorizationRule" + ], + "operationId": "Namespaces_RegenerateKeys", + "x-ms-examples": { + "NameSpaceAuthorizationRuleRegenerateKey": { + "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleRegenerateKey.json" + } + }, + "description": "Regenerates the primary or secondary connection strings for the namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt718977.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateAccessKeyParameters" + }, + "description": "Parameters supplied to regenerate the authorization rule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Authorization rule successfully regenerated.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules": { + "get": { + "tags": [ + "Queues AuthorizationRule" + ], + "operationId": "Queues_ListAuthorizationRules", + "x-ms-examples": { + "QueueAuthorizationRuleListAll": { + "$ref": "./examples/Queues/SBQueueAuthorizationRuleListAll.json" + } + }, + "description": "Gets all authorization rules for a queue.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt705607.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Authorization rules successfully returned.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRuleListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}": { + "put": { + "tags": [ + "Queues AuthorizationRule" + ], + "operationId": "Queues_CreateOrUpdateAuthorizationRule", + "x-ms-examples": { + "QueueAuthorizationRuleCreate": { + "$ref": "./examples/Queues/SBQueueAuthorizationRuleCreate.json" + } + }, + "description": "Creates an authorization rule for a queue.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + }, + "description": "The shared access authorization rule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Authorization rule successfully created.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Queues AuthorizationRule" + ], + "operationId": "Queues_DeleteAuthorizationRule", + "x-ms-examples": { + "QueueAuthorizationRuleDelete": { + "$ref": "./examples/Queues/SBQueueAuthorizationRuleDelete.json" + } + }, + "description": "Deletes a queue authorization rule.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt705609.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Authorization rule successfully deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Queues AuthorizationRule" + ], + "operationId": "Queues_GetAuthorizationRule", + "x-ms-examples": { + "QueueAuthorizationRuleGet": { + "$ref": "./examples/Queues/SBQueueAuthorizationRuleGet.json" + } + }, + "description": "Gets an authorization rule for a queue by rule name.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt705611.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Authorization rule successfully returned.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/ListKeys": { + "post": { + "tags": [ + "Queues AuthorizationRule" + ], + "operationId": "Queues_ListKeys", + "x-ms-examples": { + "QueueAuthorizationRuleListKey": { + "$ref": "./examples/Queues/SBQueueAuthorizationRuleListKey.json" + } + }, + "description": "Primary and secondary connection strings to the queue.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt705608.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Connection strings successfully returned.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/regenerateKeys": { + "post": { + "tags": [ + "Queues AuthorizationRule" + ], + "operationId": "Queues_RegenerateKeys", + "x-ms-examples": { + "QueueAuthorizationRuleRegenerateKey": { + "$ref": "./examples/Queues/SBQueueAuthorizationRuleRegenerateKey.json" + } + }, + "description": "Regenerates the primary or secondary connection strings to the queue.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt705606.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateAccessKeyParameters" + }, + "description": "Parameters supplied to regenerate the authorization rule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Connection strings successfully regenerated.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules": { + "get": { + "tags": [ + "Topics AuthorizationRule" + ], + "operationId": "Topics_ListAuthorizationRules", + "x-ms-examples": { + "TopicAuthorizationRuleListAll": { + "$ref": "./examples/Topics/SBTopicAuthorizationRuleListAll.json" + } + }, + "description": "Gets authorization rules for a topic.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt720681.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Authorization rules successfully returned.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRuleListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}": { + "put": { + "tags": [ + "Topics AuthorizationRule" + ], + "operationId": "Topics_CreateOrUpdateAuthorizationRule", + "x-ms-examples": { + "TopicAuthorizationRuleCreate": { + "$ref": "./examples/Topics/SBTopicAuthorizationRuleCreate.json" + } + }, + "description": "Creates an authorization rule for the specified topic.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt720678.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + }, + "description": "The shared access authorization rule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Topic authorization rule successfully created.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Topics AuthorizationRule" + ], + "operationId": "Topics_GetAuthorizationRule", + "x-ms-examples": { + "TopicAuthorizationRuleGet": { + "$ref": "./examples/Topics/SBTopicAuthorizationRuleGet.json" + } + }, + "description": "Returns the specified authorization rule.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt720676.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Topic authorization rule returned successfully.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Topics AuthorizationRule" + ], + "operationId": "Topics_DeleteAuthorizationRule", + "x-ms-examples": { + "TopicAuthorizationRuleDelete": { + "$ref": "./examples/Topics/SBTopicAuthorizationRuleDelete.json" + } + }, + "description": "Deletes a topic authorization rule.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt720681.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Topic authorization rule successfully deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/ListKeys": { + "post": { + "tags": [ + "Topics AuthorizationRule" + ], + "operationId": "Topics_ListKeys", + "x-ms-examples": { + "TopicAuthorizationRuleListKey": { + "$ref": "./examples/Topics/SBTopicAuthorizationRuleListKey.json" + } + }, + "description": "Gets the primary and secondary connection strings for the topic.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt720677.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Connection strings successfully retrieved.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/regenerateKeys": { + "post": { + "tags": [ + "Topics AuthorizationRule" + ], + "operationId": "Topics_RegenerateKeys", + "x-ms-examples": { + "TopicAuthorizationRuleRegenerateKey": { + "$ref": "./examples/Topics/SBTopicAuthorizationRuleRegenerateKey.json" + } + }, + "description": "Regenerates primary or secondary connection strings for the topic.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt720679.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateAccessKeyParameters" + }, + "description": "Parameters supplied to regenerate the authorization rule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Connection strings successfully regenerated.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules": { + "get": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_ListAuthorizationRules", + "x-ms-examples": { + "NameSpaceAuthorizationRuleListAll": { + "$ref": "./examples/disasterRecoveryConfigs/SBAliasAuthorizationRuleListAll.json" + } + }, + "description": "Gets the authorization rules for a namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639376.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "DisasterRecoveryConfigs authorization rules returned successfully.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRuleListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules/{authorizationRuleName}": { + "get": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_GetAuthorizationRule", + "x-ms-examples": { + "DisasterRecoveryConfigsAuthorizationRuleGet": { + "$ref": "./examples/disasterRecoveryConfigs/SBAliasAuthorizationRuleGet.json" + } + }, + "description": "Gets an authorization rule for a namespace by rule name.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639392.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "DisasterRecoveryConfigs authorization rule returned successfully.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules/{authorizationRuleName}/listKeys": { + "post": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_ListKeys", + "x-ms-examples": { + "DisasterRecoveryConfigsAuthorizationRuleListKey": { + "$ref": "./examples/disasterRecoveryConfigs/SBAliasAuthorizationRuleListKey.json" + } + }, + "description": "Gets the primary and secondary connection strings for the namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639398.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Connection strings successfully returned.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "SBAuthorizationRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SBAuthorizationRule" + }, + "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 Authorization Rules." + } + }, + "description": "The response to the List Namespace operation." + }, + "SBAuthorizationRule": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "rights": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Manage", + "Send", + "Listen" + ], + "x-ms-enum": { + "name": "AccessRights", + "modelAsString": false + } + }, + "description": "The rights associated with the rule." + } + }, + "required": [ + "rights" + ], + "description": "AuthorizationRule properties." + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Description of a namespace authorization rule." + }, + "AccessKeys": { + "type": "object", + "properties": { + "primaryConnectionString": { + "readOnly": true, + "type": "string", + "description": "Primary connection string of the created namespace authorization rule." + }, + "secondaryConnectionString": { + "readOnly": true, + "type": "string", + "description": "Secondary connection string of the created namespace authorization rule." + }, + "aliasPrimaryConnectionString": { + "readOnly": true, + "type": "string", + "description": "Primary connection string of the alias if GEO DR is enabled" + }, + "aliasSecondaryConnectionString": { + "readOnly": true, + "type": "string", + "description": "Secondary connection string of the alias if GEO DR is enabled" + }, + "primaryKey": { + "readOnly": true, + "type": "string", + "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token." + }, + "secondaryKey": { + "readOnly": true, + "type": "string", + "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token." + }, + "keyName": { + "readOnly": true, + "type": "string", + "description": "A string that describes the authorization rule." + } + }, + "description": "Namespace/ServiceBus Connection String" + }, + "RegenerateAccessKeyParameters": { + "type": "object", + "properties": { + "keyType": { + "type": "string", + "description": "The access key to regenerate.", + "enum": [ + "PrimaryKey", + "SecondaryKey" + ], + "x-ms-enum": { + "name": "KeyType", + "modelAsString": false + } + }, + "key": { + "type": "string", + "description": "Optional, if the key value provided, is reset for KeyType value or autogenerate Key value set for keyType" + } + }, + "required": [ + "keyType" + ], + "description": "Parameters supplied to the Regenerate Authorization Rule operation, specifies which key needs to be reset." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/CheckNameAvailability.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/CheckNameAvailability.json new file mode 100644 index 000000000000..6da95ebb2fa1 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/CheckNameAvailability.json @@ -0,0 +1,185 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2021-11-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}/providers/Microsoft.ServiceBus/CheckNameAvailability": { + "post": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_CheckNameAvailability", + "x-ms-examples": { + "NameSpaceCheckNameAvailability": { + "$ref": "./examples/NameSpaces/SBNameSpaceCheckNameAvailability.json" + } + }, + "description": "Check the give namespace name availability.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailability" + }, + "description": "Parameters to check availability of the given namespace name" + } + ], + "responses": { + "200": { + "description": "check availability returned successfully.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability": { + "post": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_CheckNameAvailability", + "x-ms-examples": { + "AliasNameAvailability": { + "$ref": "./examples/disasterRecoveryConfigs/SBAliasCheckNameAvailability.json" + } + }, + "description": "Check the give namespace name availability.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailability" + }, + "description": "Parameters to check availability of the given namespace name" + } + ], + "responses": { + "200": { + "description": "check availability returned successfully.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "CheckNameAvailability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The Name to check the namespace 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." + } + }, + "required": [ + "name" + ], + "description": "Description of a Check Name availability request properties." + }, + "CheckNameAvailabilityResult": { + "type": "object", + "properties": { + "message": { + "readOnly": true, + "type": "string", + "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." + }, + "reason": { + "$ref": "#/definitions/UnavailableReason", + "description": "The reason for unavailability of a namespace." + } + }, + "description": "Description of a Check Name availability request properties." + }, + "UnavailableReason": { + "type": "string", + "enum": [ + "None", + "InvalidName", + "SubscriptionIsDisabled", + "NameInUse", + "NameInLockdown", + "TooManyNamespaceInCurrentSubscription" + ], + "x-ms-enum": { + "name": "UnavailableReason", + "modelAsString": false + }, + "description": "Specifies the reason for the unavailability of the service." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/DisasterRecoveryConfig.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/DisasterRecoveryConfig.json new file mode 100644 index 000000000000..d9cf78b864bf --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/DisasterRecoveryConfig.json @@ -0,0 +1,420 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2021-11-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.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs": { + "get": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_List", + "x-ms-examples": { + "SBAliasList": { + "$ref": "./examples/disasterRecoveryConfigs/SBAliasList.json" + } + }, + "description": "Gets all Alias(Disaster Recovery configurations)", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of Alias(Disaster Recovery configurations) for servicebus namespace", + "schema": { + "$ref": "#/definitions/ArmDisasterRecoveryListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}": { + "put": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_CreateOrUpdate", + "x-ms-examples": { + "SBAliasCreate": { + "$ref": "./examples/disasterRecoveryConfigs/SBAliasCreate.json" + } + }, + "description": "Creates or updates a new Alias(Disaster Recovery configuration)", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ArmDisasterRecovery" + }, + "description": "Parameters required to create an Alias(Disaster Recovery configuration)" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Alias(Disaster Recovery configuration) successfully created", + "schema": { + "$ref": "#/definitions/ArmDisasterRecovery" + } + }, + "201": { + "description": "Alias(Disaster Recovery configuration) creation request received" + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_Delete", + "x-ms-examples": { + "SBAliasDelete": { + "$ref": "./examples/disasterRecoveryConfigs/SBAliasDelete.json" + } + }, + "description": "Deletes an Alias(Disaster Recovery configuration)", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete Alias(Disaster Recovery configuration) request accepted" + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_Get", + "x-ms-examples": { + "SBAliasGet": { + "$ref": "./examples/disasterRecoveryConfigs/SBAliasGet.json" + } + }, + "description": "Retrieves Alias(Disaster Recovery configuration) for primary or secondary namespace", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the Alias(Disaster Recovery configurations)", + "schema": { + "$ref": "#/definitions/ArmDisasterRecovery" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing": { + "post": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_BreakPairing", + "x-ms-examples": { + "SBEHAliasBreakPairing": { + "$ref": "./examples/disasterRecoveryConfigs/SBEHAliasBreakPairing.json" + } + }, + "description": "This operation disables the Disaster Recovery and stops replicating changes from primary to secondary namespaces", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Break-Pairing operation is successful." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover": { + "post": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_FailOver", + "x-ms-examples": { + "SBAliasFailOver": { + "$ref": "./examples/disasterRecoveryConfigs/SBAliasFailOver.json" + } + }, + "description": "Invokes GEO DR failover and reconfigure the alias to point to the secondary namespace", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/FailoverProperties" + }, + "description": "Parameters required to create an Alias(Disaster Recovery configuration)" + } + ], + "responses": { + "200": { + "description": "Failover operation is successful." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ArmDisasterRecovery": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the Alias(Disaster Recovery configuration) - possible values 'Accepted' or 'Succeeded' or 'Failed'", + "enum": [ + "Accepted", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningStateDR", + "modelAsString": false + } + }, + "pendingReplicationOperationsCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Number of entities pending to be replicated." + }, + "partnerNamespace": { + "type": "string", + "description": "ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairing" + }, + "alternateName": { + "type": "string", + "description": "Primary/Secondary eventhub namespace name, which is part of GEO DR pairing" + }, + "role": { + "readOnly": true, + "type": "string", + "description": "role of namespace in GEO DR - possible values 'Primary' or 'PrimaryNotReplicating' or 'Secondary'", + "enum": [ + "Primary", + "PrimaryNotReplicating", + "Secondary" + ], + "x-ms-enum": { + "name": "RoleDisasterRecovery", + "modelAsString": false + } + } + }, + "description": "Properties required to the Create Or Update Alias(Disaster Recovery configurations)" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Single item in List or Get Alias(Disaster Recovery configuration) operation" + }, + "FailoverProperties": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "IsSafeFailover": { + "type": "boolean", + "description": "Safe failover is to indicate the service should wait for pending replication to finish before switching to the secondary." + } + }, + "description": "Safe failover is to indicate the service should wait for pending replication to finish before switching to the secondary." + } + }, + "description": "Safe failover is to indicate the service should wait for pending replication to finish before switching to the secondary." + }, + "ArmDisasterRecoveryListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ArmDisasterRecovery" + }, + "description": "List of Alias(Disaster Recovery configurations)" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next set of results. Not empty if Value contains incomplete list of Alias(Disaster Recovery configuration)" + } + }, + "description": "The result of the List Alias(Disaster Recovery configuration) operation." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/Queue.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/Queue.json new file mode 100644 index 000000000000..ae706dc0aec4 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/Queue.json @@ -0,0 +1,394 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2021-11-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.ServiceBus/namespaces/{namespaceName}/queues": { + "get": { + "tags": [ + "Queues" + ], + "operationId": "Queues_ListByNamespace", + "x-ms-examples": { + "QueueListByNameSpace": { + "$ref": "./examples/Queues/SBQueueListByNameSpace.json" + } + }, + "description": "Gets the queues within a namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639415.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "Queues successfully returned.", + "schema": { + "$ref": "#/definitions/SBQueueListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}": { + "put": { + "tags": [ + "Queues" + ], + "operationId": "Queues_CreateOrUpdate", + "x-ms-examples": { + "QueueCreate": { + "$ref": "./examples/Queues/SBQueueCreate.json" + } + }, + "description": "Creates or updates a Service Bus queue. This operation is idempotent.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639395.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBQueue" + }, + "description": "Parameters supplied to create or update a queue resource." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Queue successfully created.", + "schema": { + "$ref": "#/definitions/SBQueue" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Queues" + ], + "operationId": "Queues_Delete", + "x-ms-examples": { + "QueueDelete": { + "$ref": "./examples/Queues/SBQueueDelete.json" + } + }, + "description": "Deletes a queue from the specified namespace in a resource group.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639411.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Queue successfully deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Queues" + ], + "operationId": "Queues_Get", + "x-ms-examples": { + "QueueGet": { + "$ref": "./examples/Queues/SBQueueGet.json" + } + }, + "description": "Returns a description for the specified queue.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639380.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Queue description successfully returned.", + "schema": { + "$ref": "#/definitions/SBQueue" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "SBQueueListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SBQueue" + }, + "description": "Result of the List Queues operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of queues." + } + }, + "description": "The response to the List Queues operation." + }, + "SBQueue": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBQueueProperties", + "description": "Queue Properties" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Description of queue Resource." + }, + "SBQueueProperties": { + "type": "object", + "properties": { + "countDetails": { + "readOnly": true, + "$ref": "../../../common/v1/definitions.json#/definitions/MessageCountDetails", + "description": "Message Count Details." + }, + "createdAt": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The exact time the message was created." + }, + "updatedAt": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The exact time the message was updated." + }, + "accessedAt": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Last time a message was sent, or the last time there was a receive request to this queue." + }, + "sizeInBytes": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "The size of the queue, in bytes." + }, + "messageCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "The number of messages in the queue." + }, + "lockDuration": { + "format": "duration", + "type": "string", + "description": "ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute." + }, + "maxSizeInMegabytes": { + "format": "int32", + "type": "integer", + "description": "The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. Default is 1024." + }, + "maxMessageSizeInKilobytes": { + "format": "int64", + "type": "integer", + "description": "Maximum size (in KB) of the message payload that can be accepted by the queue. This property is only used in Premium today and default is 1024." + }, + "requiresDuplicateDetection": { + "type": "boolean", + "description": "A value indicating if this queue requires duplicate detection." + }, + "requiresSession": { + "type": "boolean", + "description": "A value that indicates whether the queue supports the concept of sessions." + }, + "defaultMessageTimeToLive": { + "format": "duration", + "type": "string", + "description": "ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself." + }, + "deadLetteringOnMessageExpiration": { + "type": "boolean", + "description": "A value that indicates whether this queue has dead letter support when a message expires." + }, + "duplicateDetectionHistoryTimeWindow": { + "format": "duration", + "type": "string", + "description": "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes." + }, + "maxDeliveryCount": { + "format": "int32", + "type": "integer", + "description": "The maximum delivery count. A message is automatically deadlettered after this number of deliveries. default value is 10." + }, + "status": { + "$ref": "../../../common/v1/definitions.json#/definitions/EntityStatus", + "description": "Enumerates the possible values for the status of a messaging entity." + }, + "enableBatchedOperations": { + "type": "boolean", + "description": "Value that indicates whether server-side batched operations are enabled." + }, + "autoDeleteOnIdle": { + "format": "duration", + "type": "string", + "description": "ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration is 5 minutes." + }, + "enablePartitioning": { + "type": "boolean", + "description": "A value that indicates whether the queue is to be partitioned across multiple message brokers." + }, + "enableExpress": { + "type": "boolean", + "description": "A value that indicates whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage." + }, + "forwardTo": { + "type": "string", + "description": "Queue/Topic name to forward the messages" + }, + "forwardDeadLetteredMessagesTo": { + "type": "string", + "description": "Queue/Topic name to forward the Dead Letter message" + } + }, + "description": "The Queue Properties definition." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/Rules.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/Rules.json new file mode 100644 index 000000000000..47a4e50c55e3 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/Rules.json @@ -0,0 +1,449 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2021-11-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.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules": { + "get": { + "tags": [ + "Rules" + ], + "operationId": "Rules_ListBySubscriptions", + "x-ms-examples": { + "RulesListBySubscriptions": { + "$ref": "./examples/Rules/RuleListBySubscription.json" + } + }, + "description": "List all the rules within given topic-subscription", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved list of Rules.", + "schema": { + "$ref": "#/definitions/RuleListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}": { + "put": { + "tags": [ + "Rules" + ], + "operationId": "Rules_CreateOrUpdate", + "x-ms-examples": { + "RulesCreateOrUpdate": { + "$ref": "./examples/Rules/RuleCreate.json" + }, + "RulesCreateSqlFilter": { + "$ref": "./examples/Rules/RuleCreate_SqlFilter.json" + }, + "RulesCreateCorrelationFilter": { + "$ref": "./examples/Rules/RuleCreate_CorrelationFilter.json" + } + }, + "description": "Creates a new rule and updates an existing rule", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/RuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Rule" + }, + "description": "Parameters supplied to create a rule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Rule created.", + "schema": { + "$ref": "#/definitions/Rule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Rules" + ], + "operationId": "Rules_Delete", + "x-ms-examples": { + "RulesDelete": { + "$ref": "./examples/Rules/RuleDelete.json" + } + }, + "description": "Deletes an existing rule.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/RuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Rule deleted." + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Subscriptions" + ], + "operationId": "Rules_Get", + "x-ms-examples": { + "RulesGet": { + "$ref": "./examples/Rules/RuleGet.json" + } + }, + "description": "Retrieves the description for the specified rule.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/RuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved rule description.", + "schema": { + "$ref": "#/definitions/Rule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "Rule": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/Ruleproperties", + "description": "Properties of Rule resource" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Description of Rule Resource." + }, + "Ruleproperties": { + "type": "object", + "properties": { + "action": { + "$ref": "#/definitions/Action", + "description": "Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter expression." + }, + "filterType": { + "$ref": "#/definitions/FilterType", + "description": "Filter type that is evaluated against a BrokeredMessage." + }, + "sqlFilter": { + "$ref": "#/definitions/SqlFilter", + "description": "Properties of sqlFilter" + }, + "correlationFilter": { + "$ref": "#/definitions/CorrelationFilter", + "description": "Properties of correlationFilter" + } + }, + "description": "Description of Rule Resource." + }, + "RuleListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Rule" + }, + "description": "Result of the List Rules operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of rules" + } + }, + "description": "The response of the List rule operation." + }, + "FilterType": { + "type": "string", + "enum": [ + "SqlFilter", + "CorrelationFilter" + ], + "x-ms-enum": { + "name": "FilterType", + "modelAsString": false + }, + "description": "Rule filter types" + }, + "SqlFilter": { + "type": "object", + "properties": { + "sqlExpression": { + "type": "string", + "description": "The SQL expression. e.g. MyProperty='ABC'" + }, + "compatibilityLevel": { + "format": "int32", + "type": "integer", + "description": "This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20." + }, + "requiresPreprocessing": { + "type": "boolean", + "default": true, + "description": "Value that indicates whether the rule action requires preprocessing." + } + }, + "description": "Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline." + }, + "CorrelationFilter": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "dictionary object for custom filters" + }, + "correlationId": { + "type": "string", + "description": "Identifier of the correlation." + }, + "messageId": { + "type": "string", + "description": "Identifier of the message." + }, + "to": { + "type": "string", + "description": "Address to send to." + }, + "replyTo": { + "type": "string", + "description": "Address of the queue to reply to." + }, + "label": { + "type": "string", + "description": "Application specific label." + }, + "sessionId": { + "type": "string", + "description": "Session identifier." + }, + "replyToSessionId": { + "type": "string", + "description": "Session identifier to reply to." + }, + "contentType": { + "type": "string", + "description": "Content type of the message." + }, + "requiresPreprocessing": { + "type": "boolean", + "default": true, + "description": "Value that indicates whether the rule action requires preprocessing." + } + }, + "description": "Represents the correlation filter expression." + }, + "Action": { + "type": "object", + "properties": { + "sqlExpression": { + "type": "string", + "description": "SQL expression. e.g. MyProperty='ABC'" + }, + "compatibilityLevel": { + "format": "int32", + "type": "integer", + "description": "This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20." + }, + "requiresPreprocessing": { + "type": "boolean", + "default": true, + "description": "Value that indicates whether the rule action requires preprocessing." + } + }, + "description": "Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter expression." + }, + "SqlRuleAction": { + "type": "object", + "properties": { + "sqlExpression": { + "type": "string", + "description": "SQL expression. e.g. MyProperty='ABC'" + }, + "compatibilityLevel": { + "format": "int32", + "type": "integer", + "description": "This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20." + }, + "requiresPreprocessing": { + "type": "boolean", + "default": true, + "description": "Value that indicates whether the rule action requires preprocessing." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Action" + } + ], + "description": "Represents set of actions written in SQL language-based syntax that is performed against a ServiceBus.Messaging.BrokeredMessage " + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Migrationconfigurations/SBMigrationconfigurationCompleteMigration.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Migrationconfigurations/SBMigrationconfigurationCompleteMigration.json new file mode 100644 index 000000000000..5385d7bd3075 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Migrationconfigurations/SBMigrationconfigurationCompleteMigration.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-41", + "resourceGroupName": "ResourceGroup", + "api-version": "2021-11-01", + "configName": "$default", + "subscriptionId": "SubscriptionId" + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Migrationconfigurations/SBMigrationconfigurationCreateAndStartMigration.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Migrationconfigurations/SBMigrationconfigurationCreateAndStartMigration.json new file mode 100644 index 000000000000..bc26d027c185 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Migrationconfigurations/SBMigrationconfigurationCreateAndStartMigration.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-41", + "resourceGroupName": "ResourceGroup", + "api-version": "2021-11-01", + "subscriptionId": "SubscriptionId", + "configName": "$default", + "parameters": { + "properties": { + "targetNamespace": "/subscriptions/SubscriptionId/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-4028", + "postMigrationName": "sdk-PostMigration-5919" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/SubscriptionId/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-41/migrationConfigs/$default", + "name": "sdk-Namespace-41", + "type": "Microsoft.ServiceBus/Namespaces/disasterrecoveryconfigs", + "properties": { + "provisioningState": "Accepted", + "targetNamespace": "/subscriptions/SubscriptionId/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-4028", + "postMigrationName": "sdk-PostMigration-5919", + "migrationState": "Initiating" + } + } + }, + "201": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Migrationconfigurations/SBMigrationconfigurationDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Migrationconfigurations/SBMigrationconfigurationDelete.json new file mode 100644 index 000000000000..8b9972ad1f27 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Migrationconfigurations/SBMigrationconfigurationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-41", + "resourceGroupName": "ResourceGroup", + "api-version": "2021-11-01", + "configName": "$default", + "subscriptionId": "SubscriptionId" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Migrationconfigurations/SBMigrationconfigurationGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Migrationconfigurations/SBMigrationconfigurationGet.json new file mode 100644 index 000000000000..7f09ebc4c6f9 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Migrationconfigurations/SBMigrationconfigurationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-41", + "resourceGroupName": "ResourceGroup", + "api-version": "2021-11-01", + "configName": "$default", + "subscriptionId": "SubscriptionId" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/SubscriptionId/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-41/migrationConfigs/$default", + "name": "sdk-Namespace-41", + "type": "Microsoft.ServiceBus/Namespaces/disasterrecoveryconfigs", + "properties": { + "provisioningState": "Succeeded", + "targetNamespace": "/subscriptions/SubscriptionId/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-4028", + "postMigrationName": "sdk-PostMigration-5919", + "pendingReplicationOperationsCount": 0, + "migrationState": "Active" + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Migrationconfigurations/SBMigrationconfigurationList.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Migrationconfigurations/SBMigrationconfigurationList.json new file mode 100644 index 000000000000..66e05c04cc4a --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Migrationconfigurations/SBMigrationconfigurationList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-9259", + "resourceGroupName": "ResourceGroup", + "api-version": "2021-11-01", + "configName": "$default", + "subscriptionId": "SubscriptionId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/SubscriptionId/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-9259/migrationConfigs/sdk-Namespace-9259", + "name": "sdk-Namespace-9259", + "type": "Microsoft.ServiceBus/Namespaces/migrationconfigurations", + "properties": { + "provisioningState": "Succeeded", + "targetNamespace": "/subscriptions/SubscriptionId/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-7454", + "postMigrationName": "sdk-PostMigration-9423", + "migrationState": "Active" + } + } + ] + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Migrationconfigurations/SBMigrationconfigurationRevert.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Migrationconfigurations/SBMigrationconfigurationRevert.json new file mode 100644 index 000000000000..5385d7bd3075 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Migrationconfigurations/SBMigrationconfigurationRevert.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-41", + "resourceGroupName": "ResourceGroup", + "api-version": "2021-11-01", + "configName": "$default", + "subscriptionId": "SubscriptionId" + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionCreate.json new file mode 100644 index 000000000000..c18612e3877a --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionCreate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2924", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "subID", + "privateEndpointConnectionName": "privateEndpointConnectionName", + "parameters": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-ServiceBus-8396/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-2847" + }, + "privateLinkServiceConnectionState": { + "status": "Rejected", + "description": "testing" + }, + "provisioningState": "Succeeded" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-ServiceBus-4794/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-5828/privateEndpointConnections/928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "name": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "type": "Microsoft.ServiceBus/Namespaces/PrivateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-ServiceBus-4794/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5828" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-ServiceBus-4794/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-5828/privateEndpointConnections/928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "name": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "type": "Microsoft.ServiceBus/Namespaces/PrivateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-ServiceBus-4794/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5828" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionDelete.json new file mode 100644 index 000000000000..02bdc76e87c7 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-3285", + "resourceGroupName": "ArunMonocle", + "privateEndpointConnectionName": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionGet.json new file mode 100644 index 000000000000..0f228d8549b0 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-5828", + "resourceGroupName": "SDK-ServiceBus-4794", + "privateEndpointConnectionName": "privateEndpointConnectionName", + "api-version": "2021-11-01", + "subscriptionId": "subID" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-ServiceBus-4794/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-5828/privateEndpointConnections/privateEndpointConnectionName", + "name": "privateEndpointConnectionName", + "type": "Microsoft.ServiceBus/Namespaces/PrivateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-ServiceBus-4794/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5828" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionList.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionList.json new file mode 100644 index 000000000000..20a5f35c4c79 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-5828", + "resourceGroupName": "SDK-ServiceBus-4794", + "api-version": "2021-11-01", + "subscriptionId": "subID" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-ServiceBus-7182/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-5705-new/privateEndpointConnections/5dc668b3-70e4-437f-b61c-a3c1e594be7a", + "name": "5dc668b3-70e4-437f-b61c-a3c1e594be7a", + "type": "Microsoft.ServiceBus/Namespaces/PrivateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-ServiceBus-7182/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5705-new" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + ] + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/PrivateLinkResourcesGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/PrivateLinkResourcesGet.json new file mode 100644 index 000000000000..acdce0523c48 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/PrivateLinkResourcesGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2924", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "subID" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/subID/resourceGroups/SDK-ServiceBus-4794/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-5828/privateLinkResources/namespace", + "name": "namespace", + "type": "Microsoft.ServiceBus/namespaces/privateLinkResources", + "properties": { + "groupId": "namespace", + "requiredMembers": [ + "namespace" + ], + "requiredZoneNames": [ + "privatelink.servicebus.windows.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceAuthorizationRuleCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceAuthorizationRuleCreate.json new file mode 100644 index 000000000000..5a2abd5ca866 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceAuthorizationRuleCreate.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-6914", + "authorizationRuleName": "sdk-AuthRules-1788", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-6914/AuthorizationRules/sdk-AuthRules-1788", + "name": "sdk-AuthRules-1788", + "type": "Microsoft.ServiceBus/Namespaces/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceAuthorizationRuleDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceAuthorizationRuleDelete.json new file mode 100644 index 000000000000..f2a9b1cdaa60 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceAuthorizationRuleDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "namespaceName": "sdk-namespace-6914", + "authorizationRuleName": "sdk-AuthRules-1788", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceAuthorizationRuleGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceAuthorizationRuleGet.json new file mode 100644 index 000000000000..b9f3b407fc9c --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceAuthorizationRuleGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-6914", + "authorizationRuleName": "sdk-AuthRules-1788", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-6914/AuthorizationRules/sdk-AuthRules-1788/", + "name": "sdk-AuthRules-1788", + "type": "Microsoft.ServiceBus/Namespaces/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceAuthorizationRuleListAll.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceAuthorizationRuleListAll.json new file mode 100644 index 000000000000..ed4f6006d302 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceAuthorizationRuleListAll.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-6914", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "https://sbgm.windows-int.net/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-6914/AuthorizationRules?api-version=2017-04-01/RootManageSharedAccessKey", + "name": "RootManageSharedAccessKey", + "type": "Microsoft.ServiceBus/Namespaces/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Manage", + "Send" + ] + } + }, + { + "id": "https://sbgm.windows-int.net/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-6914/AuthorizationRules?api-version=2017-04-01/sdk-AuthRules-1788", + "name": "sdk-AuthRules-1788", + "type": "Microsoft.ServiceBus/Namespaces/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + ] + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceAuthorizationRuleListKey.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceAuthorizationRuleListKey.json new file mode 100644 index 000000000000..4d500eec95b5 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceAuthorizationRuleListKey.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "namespaceName": "sdk-namespace-6914", + "authorizationRuleName": "sdk-AuthRules-1788", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "primaryConnectionString": "Endpoint=sb://sdk-namespace-6914.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-1788;SharedAccessKey=############################################", + "secondaryConnectionString": "Endpoint=sb://sdk-namespace-6914.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-1788;SharedAccessKey=############################################", + "primaryKey": "############################################", + "secondaryKey": "############################################", + "keyName": "sdk-AuthRules-1788" + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceAuthorizationRuleRegenerateKey.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceAuthorizationRuleRegenerateKey.json new file mode 100644 index 000000000000..5dd8d5c7bece --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceAuthorizationRuleRegenerateKey.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "namespaceName": "sdk-namespace-6914", + "authorizationRuleName": "sdk-AuthRules-1788", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "keyType": "PrimaryKey" + } + }, + "responses": { + "200": { + "body": { + "primaryConnectionString": "Endpoint=sb://sdk-namespace-6914.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-1788;SharedAccessKey=#############################################", + "secondaryConnectionString": "Endpoint=sb://sdk-namespace-6914.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-1788;SharedAccessKey=#############################################", + "primaryKey": "#############################################", + "secondaryKey": "#############################################", + "keyName": "sdk-AuthRules-1788" + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceCheckNameAvailability.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceCheckNameAvailability.json new file mode 100644 index 000000000000..bebdcd24ea21 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceCheckNameAvailability.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "name": "sdk-Namespace-2924" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "None", + "message": "" + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceCreate.json new file mode 100644 index 000000000000..5af93d05497a --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceCreate.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace2924", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-2924", + "name": "sdk-Namespace-2924", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Created", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:sdk-namespace-2924", + "createdAt": "2017-05-25T22:26:36.76Z", + "updatedAt": "2017-05-25T22:26:36.76Z", + "serviceBusEndpoint": "https://sdk-Namespace-2924.servicebus.windows-int.net:443/" + } + } + }, + "201": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-2924", + "name": "sdk-Namespace-2924", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Created", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:sdk-namespace-2924", + "createdAt": "2017-05-25T22:26:36.76Z", + "updatedAt": "2017-05-25T22:26:36.76Z", + "serviceBusEndpoint": "https://sdk-Namespace-2924.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + } + }, + "202": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceDelete.json new file mode 100644 index 000000000000..aba26c4758d1 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-3285", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceGet.json new file mode 100644 index 000000000000..6f5ef9f739d2 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceGet.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2924", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-2924", + "name": "sdk-Namespace-2924", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:sdk-namespace-2924", + "createdAt": "2017-05-25T22:26:36.76Z", + "updatedAt": "2017-05-25T22:26:59.35Z", + "serviceBusEndpoint": "https://sdk-Namespace-2924.servicebus.windows-int.net:443/", + "disableLocalAuth": false, + "privateEndpointConnections": [ + { + "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample/privateEndpointConnections/privateEndpointConnectionName", + "name": "privateEndpointConnectionName", + "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.Network/privateEndpoints/NamespaceSample" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + ] + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceList.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceList.json new file mode 100644 index 000000000000..76e9992e7ec7 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceList.json @@ -0,0 +1,875 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-91f08e47-2b04-4943-b0cd-a5fb02b88f20", + "name": "NS-91f08e47-2b04-4943-b0cd-a5fb02b88f20", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-91f08e47-2b04-4943-b0cd-a5fb02b88f20", + "createdAt": "2016-08-23T02:40:17.27Z", + "updatedAt": "2017-02-11T07:15:30.78Z", + "serviceBusEndpoint": "https://NS-91f08e47-2b04-4943-b0cd-a5fb02b88f20.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-41dc63f4-0b08-4029-b3ef-535a131bfa65", + "name": "NS-41dc63f4-0b08-4029-b3ef-535a131bfa65", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-41dc63f4-0b08-4029-b3ef-535a131bfa65", + "createdAt": "2016-08-23T03:50:38.98Z", + "updatedAt": "2017-02-11T10:42:58.003Z", + "serviceBusEndpoint": "https://NS-41dc63f4-0b08-4029-b3ef-535a131bfa65.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-df52cf51-e831-4bf2-bd92-e9885f68a996", + "name": "NS-df52cf51-e831-4bf2-bd92-e9885f68a996", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-df52cf51-e831-4bf2-bd92-e9885f68a996", + "createdAt": "2016-09-16T01:17:54.997Z", + "updatedAt": "2017-02-11T06:44:39.737Z", + "serviceBusEndpoint": "https://NS-df52cf51-e831-4bf2-bd92-e9885f68a996.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Premium", + "tier": "Premium", + "capacity": 1 + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/RapscallionResources/providers/Microsoft.ServiceBus/namespaces/SBPremium", + "name": "SBPremium", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Created", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:sbpremium", + "createdAt": "2016-10-10T22:01:00.42Z", + "updatedAt": "2016-10-10T22:01:00.42Z", + "serviceBusEndpoint": "https://SBPremium.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/sadfsadfsadf/providers/Microsoft.ServiceBus/namespaces/rrama-ns2", + "name": "rrama-ns2", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:rrama-ns2", + "createdAt": "2016-08-23T04:14:00.013Z", + "updatedAt": "2017-02-03T22:53:32.927Z", + "serviceBusEndpoint": "https://rrama-ns2.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-20e57600-29d0-4035-ac85-74f4c54dcda1", + "name": "NS-20e57600-29d0-4035-ac85-74f4c54dcda1", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-20e57600-29d0-4035-ac85-74f4c54dcda1", + "createdAt": "2016-08-23T03:30:49.16Z", + "updatedAt": "2017-02-11T04:17:58.483Z", + "serviceBusEndpoint": "https://NS-20e57600-29d0-4035-ac85-74f4c54dcda1.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-3e538a1a-58fb-4315-b2ce-76f5c944114c", + "name": "NS-3e538a1a-58fb-4315-b2ce-76f5c944114c", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-3e538a1a-58fb-4315-b2ce-76f5c944114c", + "createdAt": "2016-09-16T18:07:30.05Z", + "updatedAt": "2017-02-11T10:42:57.747Z", + "serviceBusEndpoint": "https://NS-3e538a1a-58fb-4315-b2ce-76f5c944114c.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Premium", + "tier": "Premium", + "capacity": 1 + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/prem-ns123", + "name": "prem-ns123", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Created", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:prem-ns123", + "createdAt": "2016-09-13T00:02:39.997Z", + "updatedAt": "2016-09-13T00:02:39.997Z", + "serviceBusEndpoint": "https://prem-ns123.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-4e1bfdf1-0cff-4e86-ae80-cdcac4873039", + "name": "NS-4e1bfdf1-0cff-4e86-ae80-cdcac4873039", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-4e1bfdf1-0cff-4e86-ae80-cdcac4873039", + "createdAt": "2016-09-16T01:01:58.73Z", + "updatedAt": "2017-02-11T03:02:59.8Z", + "serviceBusEndpoint": "https://NS-4e1bfdf1-0cff-4e86-ae80-cdcac4873039.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-6b90b7f3-7aa0-48c9-bc30-b299dcb66c03", + "name": "NS-6b90b7f3-7aa0-48c9-bc30-b299dcb66c03", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-6b90b7f3-7aa0-48c9-bc30-b299dcb66c03", + "createdAt": "2016-08-23T03:22:45.327Z", + "updatedAt": "2017-02-11T06:08:01.207Z", + "serviceBusEndpoint": "https://NS-6b90b7f3-7aa0-48c9-bc30-b299dcb66c03.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-c05e9df3-7737-44ee-a321-15f6e0545b97", + "name": "NS-c05e9df3-7737-44ee-a321-15f6e0545b97", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-c05e9df3-7737-44ee-a321-15f6e0545b97", + "createdAt": "2016-08-05T03:29:19.75Z", + "updatedAt": "2017-02-11T08:10:35.527Z", + "serviceBusEndpoint": "https://NS-c05e9df3-7737-44ee-a321-15f6e0545b97.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-dcb4152c-231b-4c16-a683-07cc6b38fa46", + "name": "NS-dcb4152c-231b-4c16-a683-07cc6b38fa46", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-dcb4152c-231b-4c16-a683-07cc6b38fa46", + "createdAt": "2016-08-05T03:34:35.363Z", + "updatedAt": "2017-02-11T05:33:00.957Z", + "serviceBusEndpoint": "https://NS-dcb4152c-231b-4c16-a683-07cc6b38fa46.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-f501f5e6-1f24-439b-8982-9af665156d40", + "name": "NS-f501f5e6-1f24-439b-8982-9af665156d40", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-f501f5e6-1f24-439b-8982-9af665156d40", + "createdAt": "2016-09-16T01:25:55.707Z", + "updatedAt": "2017-02-11T07:42:59.687Z", + "serviceBusEndpoint": "https://NS-f501f5e6-1f24-439b-8982-9af665156d40.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-fe2ed660-2cd6-46f2-a9c3-7e11551a1f30", + "name": "NS-fe2ed660-2cd6-46f2-a9c3-7e11551a1f30", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-fe2ed660-2cd6-46f2-a9c3-7e11551a1f30", + "createdAt": "2016-08-23T02:32:08.227Z", + "updatedAt": "2017-02-11T06:32:57.77Z", + "serviceBusEndpoint": "https://NS-fe2ed660-2cd6-46f2-a9c3-7e11551a1f30.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-8a5e3b4e-4e97-4d85-9083-cd33536c9d71", + "name": "NS-8a5e3b4e-4e97-4d85-9083-cd33536c9d71", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-8a5e3b4e-4e97-4d85-9083-cd33536c9d71", + "createdAt": "2016-09-16T00:54:05.103Z", + "updatedAt": "2017-02-11T10:43:50.313Z", + "serviceBusEndpoint": "https://NS-8a5e3b4e-4e97-4d85-9083-cd33536c9d71.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-6520cc09-01ac-40a3-bc09-c5c431116e92", + "name": "NS-6520cc09-01ac-40a3-bc09-c5c431116e92", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-6520cc09-01ac-40a3-bc09-c5c431116e92", + "createdAt": "2016-09-16T01:49:59.243Z", + "updatedAt": "2017-02-11T08:15:36.95Z", + "serviceBusEndpoint": "https://NS-6520cc09-01ac-40a3-bc09-c5c431116e92.servicebus.windows-int.net:443", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-bfba6d5c-a425-42d9-85db-0f4da770e29a", + "name": "NS-bfba6d5c-a425-42d9-85db-0f4da770e29a", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-bfba6d5c-a425-42d9-85db-0f4da770e29a", + "createdAt": "2016-08-05T03:23:32.083Z", + "updatedAt": "2017-02-11T09:02:57.433Z", + "serviceBusEndpoint": "https://NS-bfba6d5c-a425-42d9-85db-0f4da770e29a.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Premium", + "tier": "Premium", + "capacity": 1 + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/RapscallionResources/providers/Microsoft.ServiceBus/namespaces/SBPrem", + "name": "SBPrem", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Created", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:sbprem", + "createdAt": "2016-10-10T22:16:30.87Z", + "updatedAt": "2016-10-10T22:16:30.87Z", + "serviceBusEndpoint": "https://SBPrem.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-43b136b4-8716-40b2-97c5-0d77cac0062c", + "name": "NS-43b136b4-8716-40b2-97c5-0d77cac0062c", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-43b136b4-8716-40b2-97c5-0d77cac0062c", + "createdAt": "2016-08-23T03:14:50.577Z", + "updatedAt": "2017-02-11T09:23:01.067Z", + "serviceBusEndpoint": "https://NS-43b136b4-8716-40b2-97c5-0d77cac0062c.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-7c0443de-5f88-450c-b574-83f60a097dd1", + "name": "NS-7c0443de-5f88-450c-b574-83f60a097dd1", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-7c0443de-5f88-450c-b574-83f60a097dd1", + "createdAt": "2016-08-23T04:07:15.397Z", + "updatedAt": "2017-02-11T04:03:03.097Z", + "serviceBusEndpoint": "https://NS-7c0443de-5f88-450c-b574-83f60a097dd1.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-62dd7753-a5f9-42fd-a354-ca38a4505d69", + "name": "NS-62dd7753-a5f9-42fd-a354-ca38a4505d69", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-62dd7753-a5f9-42fd-a354-ca38a4505d69", + "createdAt": "2016-09-16T01:33:50.45Z", + "updatedAt": "2017-02-11T05:35:33.053Z", + "serviceBusEndpoint": "https://NS-62dd7753-a5f9-42fd-a354-ca38a4505d69.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-ae18a18c-97ab-4089-965d-8acbf4794091", + "name": "NS-ae18a18c-97ab-4089-965d-8acbf4794091", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-ae18a18c-97ab-4089-965d-8acbf4794091", + "createdAt": "2016-08-23T02:43:36.517Z", + "updatedAt": "2017-02-11T12:40:30.587Z", + "serviceBusEndpoint": "https://NS-ae18a18c-97ab-4089-965d-8acbf4794091.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-8e3b56c1-0ee8-4e13-ae88-5cadf6e2ce11", + "name": "NS-8e3b56c1-0ee8-4e13-ae88-5cadf6e2ce11", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-8e3b56c1-0ee8-4e13-ae88-5cadf6e2ce11", + "createdAt": "2016-09-16T00:46:03.773Z", + "updatedAt": "2017-02-11T04:43:54.56Z", + "serviceBusEndpoint": "https://NS-8e3b56c1-0ee8-4e13-ae88-5cadf6e2ce11.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-7ffca4b4-4728-4fb0-b2d0-1e7c016e3a44", + "name": "NS-7ffca4b4-4728-4fb0-b2d0-1e7c016e3a44", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-7ffca4b4-4728-4fb0-b2d0-1e7c016e3a44", + "createdAt": "2016-08-23T03:59:12.1Z", + "updatedAt": "2017-02-11T06:33:52.23Z", + "serviceBusEndpoint": "https://NS-7ffca4b4-4728-4fb0-b2d0-1e7c016e3a44.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-d9337efd-9b27-454c-b2a5-dcfea56920d9", + "name": "NS-d9337efd-9b27-454c-b2a5-dcfea56920d9", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-d9337efd-9b27-454c-b2a5-dcfea56920d9", + "createdAt": "2016-08-05T03:45:09.27Z", + "updatedAt": "2017-02-11T06:20:31.863Z", + "serviceBusEndpoint": "https://NS-d9337efd-9b27-454c-b2a5-dcfea56920d9.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-ad5ae732-abea-4e62-9de0-c90de0ddec0a", + "name": "NS-ad5ae732-abea-4e62-9de0-c90de0ddec0a", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-ad5ae732-abea-4e62-9de0-c90de0ddec0a", + "createdAt": "2016-08-23T02:34:36.447Z", + "updatedAt": "2017-02-11T06:15:31.607Z", + "serviceBusEndpoint": "https://NS-ad5ae732-abea-4e62-9de0-c90de0ddec0a.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-d447fb03-c7da-40fe-b5eb-14f36888837b", + "name": "NS-d447fb03-c7da-40fe-b5eb-14f36888837b", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-d447fb03-c7da-40fe-b5eb-14f36888837b", + "createdAt": "2016-08-05T00:53:46.697Z", + "updatedAt": "2017-02-11T11:09:41.26Z", + "serviceBusEndpoint": "https://NS-d447fb03-c7da-40fe-b5eb-14f36888837b.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/RapscallionResources/providers/Microsoft.ServiceBus/namespaces/ReproSB", + "name": "ReproSB", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:reprosb", + "createdAt": "2017-02-27T19:29:34.523Z", + "updatedAt": "2017-02-27T19:29:58.64Z", + "serviceBusEndpoint": "https://ReproSB.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-4c90097f-19a8-42e7-bb3c-4ac088994719", + "name": "NS-4c90097f-19a8-42e7-bb3c-4ac088994719", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-4c90097f-19a8-42e7-bb3c-4ac088994719", + "createdAt": "2016-09-16T17:35:32.61Z", + "updatedAt": "2017-02-11T09:13:52.27Z", + "serviceBusEndpoint": "https://NS-4c90097f-19a8-42e7-bb3c-4ac088994719.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/rrama-1-23-17", + "name": "rrama-1-23-17", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:rrama-1-23-17", + "createdAt": "2017-01-23T22:54:40.907Z", + "updatedAt": "2017-02-04T00:53:28.777Z", + "serviceBusEndpoint": "https://rrama-1-23-17.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-5191e541-8e4e-4229-9fdc-b89f6c3e7f12", + "name": "NS-5191e541-8e4e-4229-9fdc-b89f6c3e7f12", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-5191e541-8e4e-4229-9fdc-b89f6c3e7f12", + "createdAt": "2016-09-16T17:43:25.71Z", + "updatedAt": "2017-02-11T11:05:31.89Z", + "serviceBusEndpoint": "https://NS-5191e541-8e4e-4229-9fdc-b89f6c3e7f12.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-be903820-3533-46e8-90e4-72c132411848", + "name": "NS-be903820-3533-46e8-90e4-72c132411848", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-be903820-3533-46e8-90e4-72c132411848", + "createdAt": "2016-08-05T03:24:01.923Z", + "updatedAt": "2017-02-11T10:09:42.513Z", + "serviceBusEndpoint": "https://NS-be903820-3533-46e8-90e4-72c132411848.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/rrama-namespace1", + "name": "rrama-namespace1", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Created", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:rrama-namespace1", + "createdAt": "2016-08-05T00:47:22.963Z", + "updatedAt": "2016-08-05T00:47:27.297Z", + "serviceBusEndpoint": "https://rrama-namespace1.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-a3c38e9b-32a3-4c51-85d7-263150a8dda9", + "name": "NS-a3c38e9b-32a3-4c51-85d7-263150a8dda9", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-a3c38e9b-32a3-4c51-85d7-263150a8dda9", + "createdAt": "2016-09-16T00:38:02.517Z", + "updatedAt": "2017-02-11T05:03:55.96Z", + "serviceBusEndpoint": "https://NS-a3c38e9b-32a3-4c51-85d7-263150a8dda9.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-70d3fa25-6bbe-4a6b-a381-a52cf0d539e6", + "name": "NS-70d3fa25-6bbe-4a6b-a381-a52cf0d539e6", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-70d3fa25-6bbe-4a6b-a381-a52cf0d539e6", + "createdAt": "2016-08-23T03:42:40.01Z", + "updatedAt": "2017-02-11T06:33:02.363Z", + "serviceBusEndpoint": "https://NS-70d3fa25-6bbe-4a6b-a381-a52cf0d539e6.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-e6536f77-0d1b-4a6b-8f42-29cc15b2930a", + "name": "NS-e6536f77-0d1b-4a6b-8f42-29cc15b2930a", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-e6536f77-0d1b-4a6b-8f42-29cc15b2930a", + "createdAt": "2016-08-05T04:28:10.71Z", + "updatedAt": "2017-02-11T08:43:51.587Z", + "serviceBusEndpoint": "https://NS-e6536f77-0d1b-4a6b-8f42-29cc15b2930a.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-2924", + "name": "sdk-Namespace-2924", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:sdk-namespace-2924", + "createdAt": "2017-05-25T22:26:36.76Z", + "updatedAt": "2017-05-25T22:26:59.35Z", + "serviceBusEndpoint": "https://sdk-Namespace-2924.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/rrama-sb1", + "name": "rrama-sb1", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:rrama-sb1", + "createdAt": "2017-05-01T21:47:34.903Z", + "updatedAt": "2017-05-02T02:10:03.083Z", + "serviceBusEndpoint": "https://rrama-sb1.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/RapscallionResources/providers/Microsoft.ServiceBus/namespaces/WhackWhack", + "name": "WhackWhack", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:whackwhack", + "createdAt": "2016-10-10T23:39:01.347Z", + "updatedAt": "2017-02-04T00:56:32.687Z", + "serviceBusEndpoint": "https://WhackWhack.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-66ed32d6-611e-4bb0-8e1a-a6d0fc65427c", + "name": "NS-66ed32d6-611e-4bb0-8e1a-a6d0fc65427c", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-66ed32d6-611e-4bb0-8e1a-a6d0fc65427c", + "createdAt": "2016-09-16T17:51:27.73Z", + "updatedAt": "2017-02-11T08:19:43.383Z", + "serviceBusEndpoint": "https://NS-66ed32d6-611e-4bb0-8e1a-a6d0fc65427c.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/NS-e0cab401-6df8-465d-8d4a-da9a9e55cf0e", + "name": "NS-e0cab401-6df8-465d-8d4a-da9a9e55cf0e", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:ns-e0cab401-6df8-465d-8d4a-da9a9e55cf0e", + "createdAt": "2016-08-05T01:14:25.613Z", + "updatedAt": "2017-02-11T12:33:01.727Z", + "serviceBusEndpoint": "https://NS-e0cab401-6df8-465d-8d4a-da9a9e55cf0e.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/bn3-rrama-foo1", + "name": "bn3-rrama-foo1", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "East US 2", + "tags": {}, + "properties": { + "provisioningState": "Created", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:bn3-rrama-foo1", + "createdAt": "2017-04-28T23:54:26.927Z", + "updatedAt": "2017-04-28T23:54:26.927Z", + "serviceBusEndpoint": "https://bn3-rrama-foo1.servicebus.int7.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/bn3-rrama-foo3", + "name": "bn3-rrama-foo3", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "East US 2", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:bn3-rrama-foo3", + "createdAt": "2017-04-29T00:24:09.907Z", + "updatedAt": "2017-04-29T00:24:33.233Z", + "serviceBusEndpoint": "https://bn3-rrama-foo3.servicebus.int7.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/bn3-rrama-foo2", + "name": "bn3-rrama-foo2", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "East US 2", + "tags": {}, + "properties": { + "provisioningState": "Created", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:bn3-rrama-foo2", + "createdAt": "2017-04-28T23:57:40.82Z", + "updatedAt": "2017-04-28T23:57:40.82Z", + "serviceBusEndpoint": "https://bn3-rrama-foo2.servicebus.int7.windows-int.net:443/", + "disableLocalAuth": false + } + }, + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.ServiceBus/namespaces/db3-rrama-foo2", + "name": "db3-rrama-foo2", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "North Europe", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:db3-rrama-foo2", + "createdAt": "2017-04-29T00:10:43.463Z", + "updatedAt": "2017-04-29T00:11:09.133Z", + "serviceBusEndpoint": "https://db3-rrama-foo2.servicebus.int7.windows-int.net:443/", + "disableLocalAuth": false + } + } + ] + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceListByResourceGroup.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceListByResourceGroup.json new file mode 100644 index 000000000000..6105f8cc8424 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceListByResourceGroup.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "resourceGroupName": "ArunMonocle" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-2924", + "name": "sdk-Namespace-2924", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:sdk-namespace-2924", + "createdAt": "2017-05-25T22:26:36.76Z", + "updatedAt": "2017-05-25T22:26:59.35Z", + "serviceBusEndpoint": "https://sdk-Namespace-2924.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + } + ] + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceUpdate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceUpdate.json new file mode 100644 index 000000000000..df789ff87f73 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/SBNameSpaceUpdate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-3285", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "location": "South Central US", + "tags": { + "tag3": "value3", + "tag4": "value4" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-3285", + "name": "sdk-Namespace-3285", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": { + "tag3": "value3", + "tag4": "value4" + }, + "properties": { + "provisioningState": "Updating", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:sdk-namespace-3285", + "createdAt": "2017-05-25T23:07:58.17Z", + "updatedAt": "2017-05-25T23:08:45.497Z", + "serviceBusEndpoint": "https://sdk-Namespace-3285.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + } + }, + "201": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-3285", + "name": "sdk-Namespace-3285", + "type": "Microsoft.ServiceBus/Namespaces", + "location": "South Central US", + "tags": { + "tag3": "value3", + "tag4": "value4" + }, + "properties": { + "provisioningState": "Updating", + "metricId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4:sdk-namespace-3285", + "createdAt": "2017-05-25T23:07:58.17Z", + "updatedAt": "2017-05-25T23:08:45.497Z", + "serviceBusEndpoint": "https://sdk-Namespace-3285.servicebus.windows-int.net:443/", + "disableLocalAuth": false + } + } + }, + "202": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json new file mode 100644 index 000000000000..26e01365e078 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-6019", + "resourceGroupName": "ResourceGroup", + "api-version": "2021-11-01", + "subscriptionId": "Subscription", + "parameters": { + "properties": { + "defaultAction": "Deny", + "virtualNetworkRules": [ + { + "subnet": { + "id": "/subscriptions/854d368f-1828-428f-8f3c-f2affa9b2f7d/resourcegroups/alitest/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2" + }, + "ignoreMissingVnetServiceEndpoint": true + }, + { + "subnet": { + "id": "/subscriptions/854d368f-1828-428f-8f3c-f2affa9b2f7d/resourcegroups/alitest/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3" + }, + "ignoreMissingVnetServiceEndpoint": false + }, + { + "subnet": { + "id": "/subscriptions/854d368f-1828-428f-8f3c-f2affa9b2f7d/resourcegroups/alitest/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6" + }, + "ignoreMissingVnetServiceEndpoint": false + } + ], + "ipRules": [ + { + "ipMask": "1.1.1.1", + "action": "Allow" + }, + { + "ipMask": "1.1.1.2", + "action": "Allow" + }, + { + "ipMask": "1.1.1.3", + "action": "Allow" + }, + { + "ipMask": "1.1.1.4", + "action": "Allow" + }, + { + "ipMask": "1.1.1.5", + "action": "Allow" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/854d368f-1828-428f-8f3c-f2affa9b2f7d/resourceGroups/Default-ServiceBus-AustraliaEast/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-9659/networkruleset/default", + "name": "default", + "type": "Microsoft.ServiceBus/Namespaces/NetworkRuleSet", + "properties": { + "defaultAction": "Deny", + "virtualNetworkRules": [ + { + "subnet": { + "id": "/subscriptions/854d368f-1828-428f-8f3c-f2affa9b2f7d/resourcegroups/alitest/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2" + }, + "ignoreMissingVnetServiceEndpoint": true + }, + { + "subnet": { + "id": "/subscriptions/854d368f-1828-428f-8f3c-f2affa9b2f7d/resourcegroups/alitest/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3" + }, + "ignoreMissingVnetServiceEndpoint": false + }, + { + "subnet": { + "id": "/subscriptions/854d368f-1828-428f-8f3c-f2affa9b2f7d/resourcegroups/alitest/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6" + }, + "ignoreMissingVnetServiceEndpoint": false + } + ], + "ipRules": [ + { + "ipMask": "1.1.1.1", + "action": "Allow" + }, + { + "ipMask": "1.1.1.2", + "action": "Allow" + }, + { + "ipMask": "1.1.1.3", + "action": "Allow" + }, + { + "ipMask": "1.1.1.4", + "action": "Allow" + }, + { + "ipMask": "1.1.1.5", + "action": "Allow" + } + ] + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json new file mode 100644 index 000000000000..7cc644341ace --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-6019", + "resourceGroupName": "ResourceGroup", + "api-version": "2021-11-01", + "subscriptionId": "Subscription" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionid/resourceGroups/Default-ServiceBus-AustraliaEast/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-9659/networkruleset/default", + "name": "default", + "type": "Microsoft.ServiceBus/Namespaces/NetworkRuleSet", + "properties": { + "defaultAction": "Deny", + "virtualNetworkRules": [ + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/alitest/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2" + }, + "ignoreMissingVnetServiceEndpoint": true + }, + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/alitest/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3" + }, + "ignoreMissingVnetServiceEndpoint": false + }, + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/alitest/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6" + }, + "ignoreMissingVnetServiceEndpoint": false + } + ], + "ipRules": [ + { + "ipMask": "1.1.1.1", + "action": "Allow" + }, + { + "ipMask": "1.1.1.2", + "action": "Allow" + }, + { + "ipMask": "1.1.1.3", + "action": "Allow" + }, + { + "ipMask": "1.1.1.4", + "action": "Allow" + }, + { + "ipMask": "1.1.1.5", + "action": "Allow" + } + ] + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetList.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetList.json new file mode 100644 index 000000000000..2e8909113e78 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetList.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-6019", + "resourceGroupName": "ResourceGroup", + "api-version": "2021-11-01", + "subscriptionId": "Subscription" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionid/resourceGroups/resourcegroupid/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-9659/networkrulesets/default", + "name": "default", + "type": "Microsoft.ServiceBus/Namespaces/NetworkRuleSet", + "properties": { + "defaultAction": "Deny", + "virtualNetworkRules": [ + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2" + }, + "ignoreMissingVnetServiceEndpoint": true + }, + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3" + }, + "ignoreMissingVnetServiceEndpoint": false + }, + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6" + }, + "ignoreMissingVnetServiceEndpoint": false + } + ], + "ipRules": [ + { + "ipMask": "1.1.1.1", + "action": "Allow" + }, + { + "ipMask": "1.1.1.2", + "action": "Allow" + }, + { + "ipMask": "1.1.1.3", + "action": "Allow" + }, + { + "ipMask": "1.1.1.4", + "action": "Allow" + }, + { + "ipMask": "1.1.1.5", + "action": "Allow" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueAuthorizationRuleCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueAuthorizationRuleCreate.json new file mode 100644 index 000000000000..49392a84dc3d --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueAuthorizationRuleCreate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-Namespace-7982", + "queueName": "sdk-Queues-2317", + "authorizationRuleName": "sdk-AuthRules-5800", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-7982/queues/sdk-Queues-2317/authorizationRules/sdk-AuthRules-5800", + "name": "sdk-AuthRules-5800", + "type": "Microsoft.ServiceBus/Namespaces/Queues/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueAuthorizationRuleDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueAuthorizationRuleDelete.json new file mode 100644 index 000000000000..3189359e972f --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueAuthorizationRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-namespace-7982", + "queueName": "sdk-Queues-2317", + "authorizationRuleName": "sdk-AuthRules-5800", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueAuthorizationRuleGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueAuthorizationRuleGet.json new file mode 100644 index 000000000000..5b964dbecb96 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueAuthorizationRuleGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-Namespace-7982", + "queueName": "sdk-Queues-2317", + "authorizationRuleName": "sdk-AuthRules-5800", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-7982/queues/sdk-Queues-2317/authorizationRules/sdk-AuthRules-5800", + "name": "sdk-AuthRules-5800", + "type": "Microsoft.ServiceBus/Namespaces/Queues/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueAuthorizationRuleListAll.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueAuthorizationRuleListAll.json new file mode 100644 index 000000000000..26d7ba0f0e63 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueAuthorizationRuleListAll.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-Namespace-7982", + "queueName": "sdk-Queues-2317", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-7982/queues/sdk-Queues-2317/authorizationRules/sdk-AuthRules-5800", + "name": "sdk-AuthRules-5800", + "type": "Microsoft.ServiceBus/Namespaces/Queues/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + ] + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueAuthorizationRuleListKey.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueAuthorizationRuleListKey.json new file mode 100644 index 000000000000..ce21f8b54ab2 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueAuthorizationRuleListKey.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-namespace-7982", + "queueName": "sdk-Queues-2317", + "authorizationRuleName": "sdk-AuthRules-5800", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "primaryConnectionString": "Endpoint=sb://sdk-namespace-7982.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-5800;SharedAccessKey=############################################;EntityPath=sdk-Queues-2317", + "secondaryConnectionString": "Endpoint=sb://sdk-namespace-7982.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-5800;SharedAccessKey=############################################;EntityPath=sdk-Queues-2317", + "primaryKey": "############################################", + "secondaryKey": "############################################", + "keyName": "sdk-AuthRules-5800" + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueAuthorizationRuleRegenerateKey.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueAuthorizationRuleRegenerateKey.json new file mode 100644 index 000000000000..8ca61ffbd942 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueAuthorizationRuleRegenerateKey.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-namespace-7982", + "queueName": "sdk-Queues-2317", + "authorizationRuleName": "sdk-AuthRules-5800", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "keyType": "PrimaryKey" + } + }, + "responses": { + "200": { + "body": { + "primaryConnectionString": "Endpoint=sb://sdk-namespace-7982.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-5800;SharedAccessKey=############################################;EntityPath=sdk-Queues-2317", + "secondaryConnectionString": "Endpoint=sb://sdk-namespace-7982.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-5800;SharedAccessKey=############################################;EntityPath=sdk-Queues-2317", + "primaryKey": "############################################", + "secondaryKey": "############################################", + "keyName": "sdk-AuthRules-5800" + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueCreate.json new file mode 100644 index 000000000000..4e7e4c989ca8 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueCreate.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-3174", + "resourceGroupName": "ArunMonocle", + "queueName": "sdk-Queues-5647", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "properties": { + "enablePartitioning": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-3174/queues/sdk-Queues-5647", + "name": "sdk-Queues-5647", + "type": "Microsoft.ServiceBus/Namespaces/Queues", + "properties": { + "lockDuration": "PT1M", + "maxSizeInMegabytes": 163840, + "maxMessageSizeInKilobytes": 10240, + "requiresDuplicateDetection": false, + "requiresSession": false, + "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S", + "duplicateDetectionHistoryTimeWindow": "PT10M", + "maxDeliveryCount": 10, + "sizeInBytes": 0, + "messageCount": 0, + "status": "Active", + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "enablePartitioning": true, + "enableExpress": false, + "createdAt": "2017-05-26T18:07:33.68Z", + "updatedAt": "2017-05-26T18:07:34.227Z", + "accessedAt": "2017-05-26T18:07:34.227Z" + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueDelete.json new file mode 100644 index 000000000000..4897ae693e89 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-183", + "resourceGroupName": "ArunMonocle", + "queueName": "sdk-Queues-8708", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueGet.json new file mode 100644 index 000000000000..a0d5d4b2854d --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-3174", + "resourceGroupName": "ArunMonocle", + "queueName": "sdk-Queues-5647", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-3174/queues/sdk-Queues-5647", + "name": "sdk-Queues-5647", + "type": "Microsoft.ServiceBus/Namespaces/Queues", + "properties": { + "lockDuration": "PT1M", + "maxSizeInMegabytes": 163840, + "maxMessageSizeInKilobytes": 10240, + "requiresDuplicateDetection": false, + "requiresSession": false, + "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S", + "duplicateDetectionHistoryTimeWindow": "PT10M", + "maxDeliveryCount": 10, + "sizeInBytes": 0, + "messageCount": 0, + "status": "Active", + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "enablePartitioning": true, + "enableExpress": false, + "createdAt": "2017-05-26T18:07:32.4592931Z", + "updatedAt": "2017-05-26T18:07:34.6243761Z", + "accessedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueListByNameSpace.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueListByNameSpace.json new file mode 100644 index 000000000000..1408d096f8a9 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Queues/SBQueueListByNameSpace.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-3174", + "resourceGroupName": "ArunMonocle", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-3174/queues/sdk-queues-5647", + "name": "sdk-queues-5647", + "type": "Microsoft.ServiceBus/Namespaces/Queues", + "properties": { + "lockDuration": "PT1M", + "maxSizeInMegabytes": 163840, + "maxMessageSizeInKilobytes": 10240, + "requiresDuplicateDetection": false, + "requiresSession": false, + "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S", + "duplicateDetectionHistoryTimeWindow": "PT10M", + "maxDeliveryCount": 10, + "sizeInBytes": 0, + "messageCount": 0, + "status": "Active", + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "enablePartitioning": true, + "enableExpress": false, + "createdAt": "2017-05-26T18:07:32.4592931Z", + "updatedAt": "2017-05-26T18:07:34.6243761Z", + "accessedAt": "0001-01-01T00:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Rules/RuleCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Rules/RuleCreate.json new file mode 100644 index 000000000000..b1b7de729cc1 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Rules/RuleCreate.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-1319", + "resourceGroupName": "resourceGroupName", + "topicName": "sdk-Topics-2081", + "subscriptionName": "sdk-Subscriptions-8691", + "ruleName": "sdk-Rules-6571", + "api-version": "2021-11-01", + "subscriptionId": "subscriptionId", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1319/topics/sdk-Topics-2081/subscriptions/sdk-Subscriptions-8691/rules/sdk-Rules-6571", + "name": "sdk-Rules-6571", + "type": "Microsoft.ServiceBus/Namespaces/Topics/Subscriptions/Rules", + "properties": { + "action": {}, + "filterType": "SqlFilter", + "sqlFilter": { + "sqlExpression": "1=1", + "compatibilityLevel": 20 + } + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Rules/RuleCreate_CorrelationFilter.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Rules/RuleCreate_CorrelationFilter.json new file mode 100644 index 000000000000..e70054b07bfd --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Rules/RuleCreate_CorrelationFilter.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-1319", + "resourceGroupName": "resourceGroupName", + "topicName": "sdk-Topics-2081", + "subscriptionName": "sdk-Subscriptions-8691", + "ruleName": "sdk-Rules-6571", + "api-version": "2021-11-01", + "subscriptionId": "subscriptionId", + "parameters": { + "properties": { + "filterType": "CorrelationFilter", + "correlationFilter": { + "properties": { + "topicHint": "Crop" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1319/topics/sdk-Topics-2081/subscriptions/sdk-Subscriptions-8691/rules/sdk-Rules-6571", + "name": "sdk-Rules-6571", + "type": "Microsoft.ServiceBus/Namespaces/Topics/Subscriptions/Rules", + "properties": { + "action": {}, + "filterType": "CorrelationFilter", + "correlationFilter": { + "properties": { + "queueHint": "Crop" + } + } + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Rules/RuleCreate_SqlFilter.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Rules/RuleCreate_SqlFilter.json new file mode 100644 index 000000000000..7252524421e9 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Rules/RuleCreate_SqlFilter.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-1319", + "resourceGroupName": "resourceGroupName", + "topicName": "sdk-Topics-2081", + "subscriptionName": "sdk-Subscriptions-8691", + "ruleName": "sdk-Rules-6571", + "api-version": "2021-11-01", + "subscriptionId": "subscriptionId", + "parameters": { + "properties": { + "filterType": "SqlFilter", + "sqlFilter": { + "sqlExpression": "myproperty=test" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1319/topics/sdk-Topics-2081/subscriptions/sdk-Subscriptions-8691/rules/sdk-Rules-6571", + "name": "sdk-Rules-6571", + "type": "Microsoft.ServiceBus/Namespaces/Topics/Subscriptions/Rules", + "properties": { + "action": {}, + "filterType": "SqlFilter", + "sqlFilter": { + "sqlExpression": "myproperty=test", + "compatibilityLevel": 20 + } + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Rules/RuleDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Rules/RuleDelete.json new file mode 100644 index 000000000000..0d1a59ef622c --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Rules/RuleDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-1319", + "resourceGroupName": "ArunMonocle", + "topicName": "sdk-Topics-2081", + "subscriptionName": "sdk-Subscriptions-8691", + "ruleName": "sdk-Rules-6571", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Rules/RuleGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Rules/RuleGet.json new file mode 100644 index 000000000000..393e9e795945 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Rules/RuleGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-1319", + "resourceGroupName": "ArunMonocle", + "topicName": "sdk-Topics-2081", + "subscriptionName": "sdk-Subscriptions-8691", + "ruleName": "sdk-Rules-6571", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1319/topics/sdk-Topics-2081/subscriptions/sdk-Subscriptions-8691/rules/sdk-Rules-6571", + "name": "sdk-Rules-6571", + "type": "Microsoft.ServiceBus/Namespaces/Topics/Subscriptions/Rules", + "properties": { + "action": {}, + "filterType": "SqlFilter", + "sqlFilter": { + "sqlExpression": "1=1", + "compatibilityLevel": 20 + } + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Rules/RuleListBySubscription.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Rules/RuleListBySubscription.json new file mode 100644 index 000000000000..afe4627cce2d --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Rules/RuleListBySubscription.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-1319", + "resourceGroupName": "ArunMonocle", + "topicName": "sdk-Topics-2081", + "subscriptionName": "sdk-Subscriptions-8691", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1319/topics/sdk-Topics-2081/subscriptions/sdk-Subscriptions-8691/rules/sdk-Rules-6571", + "name": "sdk-Rules-6571", + "type": "Microsoft.ServiceBus/Namespaces/Topics/Subscriptions/Rules", + "properties": { + "action": {}, + "filterType": "SqlFilter", + "sqlFilter": { + "sqlExpression": "1=1", + "compatibilityLevel": 20 + } + } + } + ] + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/SBOperations_List.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/SBOperations_List.json new file mode 100644 index 000000000000..b4813ee40710 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/SBOperations_List.json @@ -0,0 +1,301 @@ +{ + "parameters": { + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ServiceBus/checkNameAvailability/action", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Non Resource Operation", + "operation": "Get namespace availability." + } + }, + { + "name": "Microsoft.ServiceBus/register/action", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "ServiceBus Resource Provider", + "operation": "Registers the ServiceBus Resource Provider" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/write", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Namespace", + "operation": "Create Or Update Namespace " + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/read", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Namespace", + "operation": "Get Namespace Resource" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/Delete", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Namespace", + "operation": "Delete Namespace" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/authorizationRules/write", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "AuthorizationRules", + "operation": "Create or Update Namespace Authorization Rules" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/authorizationRules/read", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "AuthorizationRules", + "operation": "Get Namespace Authorization Rules" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/authorizationRules/delete", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "AuthorizationRules", + "operation": "Delete Namespace Authorization Rule" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "AuthorizationRules", + "operation": "Get Namespace Listkeys" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "AuthorizationRules", + "operation": "Resource Regeneratekeys" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/queues/write", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Queue", + "operation": "Create or Update Queue" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/queues/read", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Queue", + "operation": "Get Queue" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/queues/Delete", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Queue", + "operation": "Delete Queue" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/queues/authorizationRules/write", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Queue AuthorizationRules", + "operation": "Create or Update Queue Authorization Rule" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/queues/authorizationRules/read", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Queue AuthorizationRules", + "operation": " Get Queue Authorization Rules" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/queues/authorizationRules/delete", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Queue AuthorizationRules", + "operation": "Delete Queue Authorization Rules" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/queues/authorizationRules/listkeys/action", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Queue AuthorizationRules", + "operation": "List Queue keys" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/queues/authorizationRules/regenerateKeys/action", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Queue AuthorizationRules", + "operation": "Resource Regeneratekeys" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/topics/write", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Topic", + "operation": "Create or Update Topic" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/topics/read", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Topic", + "operation": "Get Topic" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/topics/Delete", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Topic", + "operation": "Delete Topic" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/topics/authorizationRules/write", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Topic AuthorizationRules", + "operation": "Create or Update Topic Authorization Rule" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/topics/authorizationRules/read", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Topic AuthorizationRules", + "operation": " Get Topic Authorization Rules" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/topics/authorizationRules/delete", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Topic AuthorizationRules", + "operation": "Delete Topic Authorization Rules" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/topics/authorizationRules/listkeys/action", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Topic AuthorizationRules", + "operation": "List Topic keys" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/topics/authorizationRules/regenerateKeys/action", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Topic AuthorizationRules", + "operation": "Resource Regeneratekeys" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/topics/subscriptions/write", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "TopicSubscription", + "operation": "Create or Update TopicSubscription" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/topics/subscriptions/read", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "TopicSubscription", + "operation": "Get TopicSubscription" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/topics/subscriptions/Delete", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "TopicSubscription", + "operation": "Delete TopicSubscription" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/topics/subscriptions/rules/write", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Rule", + "operation": "Create or Update Rule" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/topics/subscriptions/rules/read", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Rule", + "operation": "Get Rule" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/topics/subscriptions/rules/Delete", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Rule", + "operation": "Delete Rule" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/metricDefinitions/read", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Namespace metrics", + "operation": "Get Namespace metrics" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/diagnosticSettings/read", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Namespace diagnostic settings", + "operation": "Get Namespace diagnostic settings" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/diagnosticSettings/write", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Namespace diagnostic settings", + "operation": "Create or Update Namespace diagnostic settings" + } + }, + { + "name": "Microsoft.ServiceBus/namespaces/logDefinitions/read", + "display": { + "provider": "Microsoft Azure ServiceBus", + "resource": "Namespace logs", + "operation": "Get Namespace logs" + } + } + ] + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Subscriptions/SBSubscriptionCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Subscriptions/SBSubscriptionCreate.json new file mode 100644 index 000000000000..207f1761faa8 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Subscriptions/SBSubscriptionCreate.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-1349", + "resourceGroupName": "ResourceGroup", + "topicName": "sdk-Topics-8740", + "subscriptionName": "sdk-Subscriptions-2178", + "api-version": "2021-11-01", + "subscriptionId": "Subscriptionid", + "parameters": { + "properties": { + "enableBatchedOperations": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/Subscriptionid/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1349/topics/sdk-Topics-8740/subscriptions/sdk-Subscriptions-2178", + "name": "sdk-Subscriptions-2178", + "type": "Microsoft.ServiceBus/Namespaces/Topics/Subscriptions", + "properties": { + "lockDuration": "PT1M", + "requiresSession": false, + "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S", + "deadLetteringOnMessageExpiration": true, + "deadLetteringOnFilterEvaluationExceptions": true, + "messageCount": 0, + "maxDeliveryCount": 10, + "status": "Active", + "enableBatchedOperations": true, + "createdAt": "2021-01-04T18:02:20.5992764Z", + "updatedAt": "2021-01-04T18:02:20.5992764Z", + "accessedAt": "2021-01-04T18:02:20.5992764Z", + "countDetails": { + "activeMessageCount": 0, + "deadLetterMessageCount": 0, + "scheduledMessageCount": 0, + "transferMessageCount": 0, + "transferDeadLetterMessageCount": 0 + }, + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "forwardTo": "sdk-Topics-3065", + "forwardDeadLetteredMessagesTo": "sdk-Topics-3065" + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Subscriptions/SBSubscriptionDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Subscriptions/SBSubscriptionDelete.json new file mode 100644 index 000000000000..97542831d417 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Subscriptions/SBSubscriptionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-5882", + "resourceGroupName": "ResourceGroup", + "topicName": "sdk-Topics-1804", + "subscriptionName": "sdk-Subscriptions-3670", + "api-version": "2021-11-01", + "subscriptionId": "subscriptionId" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Subscriptions/SBSubscriptionGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Subscriptions/SBSubscriptionGet.json new file mode 100644 index 000000000000..91ec836eae35 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Subscriptions/SBSubscriptionGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-1349", + "resourceGroupName": "ResourceGroup", + "topicName": "sdk-Topics-8740", + "subscriptionName": "sdk-Subscriptions-2178", + "api-version": "2021-11-01", + "subscriptionId": "Subscriptionid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/Subscriptionid/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1349/topics/sdk-Topics-8740/subscriptions/sdk-Subscriptions-2178", + "name": "sdk-Subscriptions-2178", + "type": "Microsoft.ServiceBus/Namespaces/Topics/Subscriptions", + "properties": { + "lockDuration": "PT1M", + "requiresSession": false, + "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S", + "deadLetteringOnMessageExpiration": true, + "deadLetteringOnFilterEvaluationExceptions": true, + "messageCount": 0, + "maxDeliveryCount": 10, + "status": "Active", + "enableBatchedOperations": true, + "createdAt": "2021-01-04T18:02:20.5992764Z", + "updatedAt": "2021-01-04T18:02:20.5992764Z", + "accessedAt": "2021-01-04T18:02:20.5992764Z", + "countDetails": { + "activeMessageCount": 0, + "deadLetterMessageCount": 0, + "scheduledMessageCount": 0, + "transferMessageCount": 0, + "transferDeadLetterMessageCount": 0 + }, + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "forwardTo": "sdk-Topics-3065", + "forwardDeadLetteredMessagesTo": "sdk-Topics-3065" + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Subscriptions/SBSubscriptionListByTopic.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Subscriptions/SBSubscriptionListByTopic.json new file mode 100644 index 000000000000..38110729bed2 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Subscriptions/SBSubscriptionListByTopic.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-1349", + "resourceGroupName": "ResourceGroup", + "topicName": "sdk-Topics-8740", + "api-version": "2021-11-01", + "subscriptionId": "5{Subscriptionid}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/Subscriptionid/resourceGroups/ResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1349/topics/sdk-Topics-8740/subscriptions/sdk-Subscriptions-2178", + "name": "sdk-Subscriptions-2178", + "type": "Microsoft.ServiceBus/Namespaces/Topics/Subscriptions", + "properties": { + "lockDuration": "PT1M", + "requiresSession": false, + "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S", + "deadLetteringOnMessageExpiration": true, + "deadLetteringOnFilterEvaluationExceptions": true, + "messageCount": 0, + "maxDeliveryCount": 10, + "status": "Active", + "enableBatchedOperations": true, + "createdAt": "2021-01-04T18:02:20.5992764Z", + "updatedAt": "2021-01-04T18:02:20.5992764Z", + "accessedAt": "2021-01-04T18:02:20.5992764Z", + "countDetails": { + "activeMessageCount": 0, + "deadLetterMessageCount": 0, + "scheduledMessageCount": 0, + "transferMessageCount": 0, + "transferDeadLetterMessageCount": 0 + }, + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "forwardTo": "sdk-Topics-3065", + "forwardDeadLetteredMessagesTo": "sdk-Topics-3065" + } + } + ] + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicAuthorizationRuleCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicAuthorizationRuleCreate.json new file mode 100644 index 000000000000..17e5a7d4167f --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicAuthorizationRuleCreate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-Namespace-6261", + "topicName": "sdk-Topics-1984", + "authorizationRuleName": "sdk-AuthRules-4310", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-6261/topics/sdk-Topics-1984/authorizationRules/sdk-AuthRules-4310", + "name": "sdk-AuthRules-4310", + "type": "Microsoft.ServiceBus/Namespaces/Topics/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicAuthorizationRuleDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicAuthorizationRuleDelete.json new file mode 100644 index 000000000000..59ae956248ae --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicAuthorizationRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-Namespace-6261", + "topicName": "sdk-Topics-1984", + "authorizationRuleName": "sdk-AuthRules-4310", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicAuthorizationRuleGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicAuthorizationRuleGet.json new file mode 100644 index 000000000000..cce719685521 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicAuthorizationRuleGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-Namespace-6261", + "topicName": "sdk-Topics-1984", + "authorizationRuleName": "sdk-AuthRules-4310", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-6261/topics/sdk-Topics-1984/authorizationRules/sdk-AuthRules-4310", + "name": "sdk-AuthRules-4310", + "type": "Microsoft.ServiceBus/Namespaces/Topics/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicAuthorizationRuleListAll.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicAuthorizationRuleListAll.json new file mode 100644 index 000000000000..0be97ffd65ea --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicAuthorizationRuleListAll.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceGroupName": "ArunMonocle", + "namespaceName": "sdk-Namespace-6261", + "topicName": "sdk-Topics-1984", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-6261/topics/sdk-Topics-1984/authorizationRules/sdk-AuthRules-4310", + "name": "sdk-AuthRules-4310", + "type": "Microsoft.ServiceBus/Namespaces/Topics/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + ] + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicAuthorizationRuleListKey.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicAuthorizationRuleListKey.json new file mode 100644 index 000000000000..cb75f83cca0d --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicAuthorizationRuleListKey.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "resourceGroupName": "Default-ServiceBus-WestUS", + "namespaceName": "sdk-Namespace8408", + "topicName": "sdk-Topics2075", + "authorizationRuleName": "sdk-Authrules5067", + "api-version": "2021-11-01", + "subscriptionId": "e2f361f0-3b27-4503-a9cc-21cfba380093" + }, + "responses": { + "200": { + "body": { + "primaryConnectionString": "Endpoint=sb://sdk-namespace-6261.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-4310;SharedAccessKey=#############################################;EntityPath=sdk-Topics-1984", + "secondaryConnectionString": "Endpoint=sb://sdk-namespace-6261.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-4310;SharedAccessKey=#############################################;EntityPath=sdk-Topics-1984", + "primaryKey": "#############################################", + "secondaryKey": "#############################################", + "keyName": "sdk-AuthRules-4310" + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicAuthorizationRuleRegenerateKey.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicAuthorizationRuleRegenerateKey.json new file mode 100644 index 000000000000..746d8d7a8218 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicAuthorizationRuleRegenerateKey.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "resourceGroupName": "Default-ServiceBus-WestUS", + "namespaceName": "sdk-Namespace8408", + "topicName": "sdk-Topics2075", + "authorizationRuleName": "sdk-Authrules5067", + "api-version": "2021-11-01", + "subscriptionId": "e2f361f0-3b27-4503-a9cc-21cfba380093", + "parameters": { + "keyType": "PrimaryKey" + } + }, + "responses": { + "200": { + "body": { + "primaryConnectionString": "Endpoint=sb://sdk-namespace-6261.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-4310;SharedAccessKey=#############################################;EntityPath=sdk-Topics-1984", + "secondaryConnectionString": "Endpoint=sb://sdk-namespace-6261.servicebus.windows-int.net/;SharedAccessKeyName=sdk-AuthRules-4310;SharedAccessKey=#############################################;EntityPath=sdk-Topics-1984", + "primaryKey": "#############################################", + "secondaryKey": "#############################################", + "keyName": "sdk-AuthRules-4310" + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicCreate.json new file mode 100644 index 000000000000..72b2c2b124c7 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicCreate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-1617", + "resourceGroupName": "ArunMonocle", + "topicName": "sdk-Topics-5488", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "properties": { + "enableExpress": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1617/topics/sdk-Topics-5488", + "name": "sdk-Topics-5488", + "type": "Microsoft.ServiceBus/Namespaces/Topics", + "properties": { + "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S", + "maxSizeInMegabytes": 10240, + "maxMessageSizeInKilobytes": 10240, + "requiresDuplicateDetection": false, + "duplicateDetectionHistoryTimeWindow": "PT10M", + "enableBatchedOperations": true, + "sizeInBytes": 0, + "status": "Active", + "supportOrdering": true, + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "enablePartitioning": false, + "enableExpress": true, + "createdAt": "2017-05-26T20:50:34.1Z", + "updatedAt": "2017-05-26T20:50:34.32Z", + "accessedAt": "2017-05-26T20:50:34.32Z", + "subscriptionCount": 0 + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicDelete.json new file mode 100644 index 000000000000..ca7b16fd57e8 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-1617", + "resourceGroupName": "ArunMonocle", + "topicName": "sdk-Topics-5488", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicGet.json new file mode 100644 index 000000000000..a0dadbf732fc --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-1617", + "resourceGroupName": "ArunMonocle", + "topicName": "sdk-Topics-5488", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1617/topics/sdk-Topics-5488", + "name": "sdk-Topics-5488", + "type": "Microsoft.ServiceBus/Namespaces/Topics", + "properties": { + "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S", + "maxSizeInMegabytes": 10240, + "maxMessageSizeInKilobytes": 10240, + "requiresDuplicateDetection": false, + "duplicateDetectionHistoryTimeWindow": "PT10M", + "enableBatchedOperations": true, + "sizeInBytes": 0, + "status": "Active", + "supportOrdering": true, + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "enablePartitioning": false, + "enableExpress": true, + "createdAt": "2017-05-26T20:50:31.4442694Z", + "updatedAt": "2017-05-26T20:52:32.2092264Z", + "accessedAt": "0001-01-01T00:00:00Z", + "subscriptionCount": 0 + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicListByNameSpace.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicListByNameSpace.json new file mode 100644 index 000000000000..efb74c7c7196 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/Topics/SBTopicListByNameSpace.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-1617", + "resourceGroupName": "Default-ServiceBus-WestUS", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-1617/topics/sdk-topics-5488", + "name": "sdk-topics-5488", + "type": "Microsoft.ServiceBus/Namespaces/Topics", + "properties": { + "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S", + "maxSizeInMegabytes": 10240, + "maxMessageSizeInKilobytes": 10240, + "requiresDuplicateDetection": false, + "duplicateDetectionHistoryTimeWindow": "PT10M", + "enableBatchedOperations": true, + "sizeInBytes": 0, + "status": "Active", + "supportOrdering": true, + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "enablePartitioning": false, + "enableExpress": true, + "createdAt": "2017-05-26T20:50:31.4442694Z", + "updatedAt": "2017-05-26T20:52:32.2092264Z", + "accessedAt": "0001-01-01T00:00:00Z", + "subscriptionCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasAuthorizationRuleGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasAuthorizationRuleGet.json new file mode 100644 index 000000000000..c4bd7339fb58 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasAuthorizationRuleGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-9080", + "authorizationRuleName": "sdk-Authrules-4879", + "resourceGroupName": "exampleResourceGroup", + "alias": "sdk-DisasterRecovery-4879", + "api-version": "2021-11-01", + "subscriptionId": "exampleSubscriptionId" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-4879", + "name": "sdk-Authrules-4879", + "type": "Microsoft.ServiceBus/Namespaces/DisasterRecoveryConfig/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasAuthorizationRuleListAll.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasAuthorizationRuleListAll.json new file mode 100644 index 000000000000..c0e41c759137 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasAuthorizationRuleListAll.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-9080", + "resourceGroupName": "exampleResourceGroup", + "alias": "sdk-DisasterRecovery-4047", + "api-version": "2021-11-01", + "subscriptionId": "exampleSubscriptionId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/RootManageSharedAccessKey", + "name": "RootManageSharedAccessKey", + "type": "Microsoft.ServiceBus/Namespaces/DisasterRecoveryConfig/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Manage", + "Send" + ] + } + }, + { + "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-1067", + "name": "sdk-Authrules-1067", + "type": "Microsoft.ServiceBus/Namespaces/DisasterRecoveryConfig/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + }, + { + "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-1684", + "name": "sdk-Authrules-1684", + "type": "Microsoft.ServiceBus/Namespaces/DisasterRecoveryConfig/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + }, + { + "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-4879", + "name": "sdk-Authrules-4879", + "type": "Microsoft.ServiceBus/Namespaces/DisasterRecoveryConfig/AuthorizationRules", + "properties": { + "rights": [ + "Listen", + "Send" + ] + } + } + ] + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasAuthorizationRuleListKey.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasAuthorizationRuleListKey.json new file mode 100644 index 000000000000..6d5a39b93219 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasAuthorizationRuleListKey.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2702", + "authorizationRuleName": "sdk-Authrules-1746", + "resourceGroupName": "exampleResourceGroup", + "alias": "sdk-DisasterRecovery-4047", + "api-version": "2021-11-01", + "subscriptionId": "exampleSubscriptionId" + }, + "responses": { + "200": { + "body": { + "aliasPrimaryConnectionString": "Endpoint=sb://sdk-disasterrecovery-4047.servicebus.windows-int.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=############################################", + "aliasSecondaryConnectionString": "Endpoint=sb://sdk-disasterrecovery-4047.servicebus.windows-int.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=############################################", + "primaryKey": "############################################", + "secondaryKey": "############################################", + "keyName": "sdk-Authrules-1746" + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasCheckNameAvailability.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasCheckNameAvailability.json new file mode 100644 index 000000000000..a10a675e2f89 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasCheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "exampleSubscriptionId", + "namespaceName": "sdk-Namespace-9080", + "resourceGroupName": "exampleResourceGroup", + "parameters": { + "name": "sdk-DisasterRecovery-9474" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "None", + "message": "" + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasCreate.json new file mode 100644 index 000000000000..771b448a9855 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasCreate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8860", + "resourceGroupName": "ardsouzatestRG", + "alias": "sdk-Namespace-8860", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "properties": { + "partnerNamespace": "sdk-Namespace-37", + "alternateName": "alternameforAlias-Namespace-8860" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ardsouzatestRG/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-8860/disasterRecoveryConfig/sdk-Namespace-8860", + "name": "sdk-Namespace-8860", + "type": "Microsoft.ServiceBus/Namespaces/DisasterRecoveryConfig", + "properties": { + "provisioningState": "Accepted", + "partnerNamespace": "sdk-Namespace-37", + "alternateName": "alternameforAlias-Namespace-8860", + "role": "Primary" + } + } + }, + "201": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasDelete.json new file mode 100644 index 000000000000..a90dee880497 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8860", + "resourceGroupName": "SouthCentralUS", + "alias": "sdk-DisasterRecovery-3814", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasFailOver.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasFailOver.json new file mode 100644 index 000000000000..b8386dce1c7e --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasFailOver.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8860", + "resourceGroupName": "ardsouzatestRG", + "alias": "sdk-DisasterRecovery-3814", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasGet.json new file mode 100644 index 000000000000..7ab8be0a9a3a --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8860", + "resourceGroupName": "ardsouzatestRG", + "alias": "sdk-DisasterRecovery-3814", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ardsouzatestRG/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-37/disasterRecoveryConfig/sdk-DisasterRecovery-3814", + "name": "sdk-DisasterRecovery-3814", + "type": "Microsoft.ServiceBus/Namespaces/DisasterRecoveryConfig", + "properties": { + "provisioningState": "Accepted", + "partnerNamespace": "sdk-Namespace-8860", + "role": "Secondary", + "pendingReplicationOperationsCount": 0 + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasList.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasList.json new file mode 100644 index 000000000000..177dcb1e0d4e --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBAliasList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8860", + "resourceGroupName": "ardsouzatestRG", + "alias": "sdk-DisasterRecovery-3814", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ardsouzatestRG/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-8860/disasterRecoveryConfig/sdk-DisasterRecovery-3814", + "name": "sdk-DisasterRecovery-3814", + "type": "Microsoft.ServiceBus/Namespaces/DisasterRecoveryConfig", + "properties": { + "provisioningState": "Accepted", + "partnerNamespace": "sdk-Namespace-37", + "role": "Primary" + } + } + ] + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBEHAliasBreakPairing.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBEHAliasBreakPairing.json new file mode 100644 index 000000000000..b8386dce1c7e --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/examples/disasterRecoveryConfigs/SBEHAliasBreakPairing.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8860", + "resourceGroupName": "ardsouzatestRG", + "alias": "sdk-DisasterRecovery-3814", + "api-version": "2021-11-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/migrationconfigs.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/migrationconfigs.json new file mode 100644 index 000000000000..70a03a53543d --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/migrationconfigs.json @@ -0,0 +1,382 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2021-11-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.ServiceBus/namespaces/{namespaceName}/migrationConfigurations": { + "get": { + "tags": [ + "MigrationConfigs" + ], + "operationId": "MigrationConfigs_List", + "x-ms-examples": { + "MigrationConfigurationsList": { + "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationList.json" + } + }, + "description": "Gets all migrationConfigurations", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of migrationConfigurations for servicebus namespace", + "schema": { + "$ref": "#/definitions/MigrationConfigListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}": { + "put": { + "tags": [ + "MigrationConfigs" + ], + "operationId": "MigrationConfigs_CreateAndStartMigration", + "x-ms-examples": { + "MigrationConfigurationsStartMigration": { + "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationCreateAndStartMigration.json" + } + }, + "description": "Creates Migration configuration and starts migration of entities from Standard to Premium namespace", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ConfigNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MigrationConfigProperties" + }, + "description": "Parameters required to create Migration Configuration" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Migration Config successfully created", + "schema": { + "$ref": "#/definitions/MigrationConfigProperties" + } + }, + "201": { + "description": "Migration Config creation request received" + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "MigrationConfigs" + ], + "operationId": "MigrationConfigs_Delete", + "x-ms-examples": { + "MigrationConfigurationsDelete": { + "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationDelete.json" + } + }, + "description": "Deletes a MigrationConfiguration", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ConfigNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete Migration Config request accepted" + }, + "204": { + "description": "Not Found" + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "MigrationConfigs" + ], + "operationId": "MigrationConfigs_Get", + "x-ms-examples": { + "MigrationConfigurationsGet": { + "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationGet.json" + } + }, + "description": "Retrieves Migration Config", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ConfigNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved Migration Config)", + "schema": { + "$ref": "#/definitions/MigrationConfigProperties" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/upgrade": { + "post": { + "tags": [ + "MigrationConfigs" + ], + "operationId": "MigrationConfigs_CompleteMigration", + "x-ms-examples": { + "MigrationConfigurationsCompleteMigration": { + "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationCompleteMigration.json" + } + }, + "description": "This operation Completes Migration of entities by pointing the connection strings to Premium namespace and any entities created after the operation will be under Premium Namespace. CompleteMigration operation will fail when entity migration is in-progress.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ConfigNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "upgrade operation of Migration Config is successful." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/revert": { + "post": { + "tags": [ + "MigrationConfigs" + ], + "operationId": "MigrationConfigs_Revert", + "x-ms-examples": { + "MigrationConfigurationsRevert": { + "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationRevert.json" + } + }, + "description": "This operation reverts Migration", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ConfigNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "MigrationConfig Revert operation is successful." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "MigrationConfigProperties": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of Migration Configuration " + }, + "pendingReplicationOperationsCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Number of entities pending to be replicated." + }, + "targetNamespace": { + "type": "string", + "description": "Existing premium Namespace ARM Id name which has no entities, will be used for migration" + }, + "postMigrationName": { + "type": "string", + "description": "Name to access Standard Namespace after migration" + }, + "migrationState": { + "readOnly": true, + "type": "string", + "description": "State in which Standard to Premium Migration is, possible values : Unknown, Reverting, Completing, Initiating, Syncing, Active" + } + }, + "required": [ + "targetNamespace", + "postMigrationName" + ], + "description": "Properties required to the Create Migration Configuration" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Single item in List or Get Migration Config operation" + }, + "MigrationConfigListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MigrationConfigProperties" + }, + "description": "List of Migration Configs" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next set of results. Not empty if Value contains incomplete list of migrationConfigurations" + } + }, + "description": "The result of the List migrationConfigurations operation." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/namespace-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/namespace-preview.json new file mode 100644 index 000000000000..81f018a7ed46 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/namespace-preview.json @@ -0,0 +1,1133 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client for managing Namespace", + "version": "2021-11-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}/providers/Microsoft.ServiceBus/namespaces": { + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_List", + "x-ms-examples": { + "NameSpaceList": { + "$ref": "./examples/NameSpaces/SBNameSpaceList.json" + } + }, + "description": "Gets all the available namespaces within the subscription, irrespective of the resource groups.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespaces successfully returned.", + "schema": { + "$ref": "#/definitions/SBNamespaceListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces": { + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_ListByResourceGroup", + "x-ms-examples": { + "NameSpaceListByResourceGroup": { + "$ref": "./examples/NameSpaces/SBNameSpaceListByResourceGroup.json" + } + }, + "description": "Gets the available namespaces within a resource group.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespaces successfully returned.", + "schema": { + "$ref": "#/definitions/SBNamespaceListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}": { + "put": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_CreateOrUpdate", + "x-ms-examples": { + "NameSpaceCreate": { + "$ref": "./examples/NameSpaces/SBNameSpaceCreate.json" + } + }, + "description": "Creates or updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639408.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "namespaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBNamespace" + }, + "description": "Parameters supplied to create a namespace resource." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace created successfully.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "201": { + "description": "Namespace create request accepted.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "202": { + "description": "Namespace create or update request accepted." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_Delete", + "x-ms-examples": { + "NameSpaceDelete": { + "$ref": "./examples/NameSpaces/SBNameSpaceDelete.json" + } + }, + "description": "Deletes an existing namespace. This operation also removes all associated resources under the namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639389.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace successfully deleted." + }, + "202": { + "description": "Namespace delete request accepted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_Get", + "x-ms-examples": { + "NameSpaceGet": { + "$ref": "./examples/NameSpaces/SBNameSpaceGet.json" + } + }, + "description": "Gets a description for the specified namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace successfully returned.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_Update", + "x-ms-examples": { + "NameSpaceUpdate": { + "$ref": "./examples/NameSpaces/SBNameSpaceUpdate.json" + } + }, + "description": "Updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBNamespaceUpdateParameters" + }, + "description": "Parameters supplied to update a namespace resource." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace updated successfully.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "201": { + "description": "Namespace update request accepted.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "202": { + "description": "Namespace update request accepted." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/privateEndpointConnections": { + "get": { + "tags": [ + "Namespaces PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "x-ms-examples": { + "NameSpaceCreate": { + "$ref": "./examples/NameSpaces/PrivateEndPointConnectionList.json" + } + }, + "description": "Gets the available PrivateEndpointConnections within a namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "PrivateEndpointConnections successfully returned.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "put": { + "tags": [ + "Namespaces PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "x-ms-examples": { + "NameSpacePrivateEndPointConnectionCreate": { + "$ref": "./examples/NameSpaces/PrivateEndPointConnectionCreate.json" + } + }, + "description": "Creates or updates PrivateEndpointConnections of service namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639408.aspx" + }, + "parameters": [ + { + "$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/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "Parameters supplied to update Status of PrivateEndPoint Connection to namespace resource." + } + ], + "responses": { + "200": { + "description": "Status of PrivateEndPoint Connection Created successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "Request to update Status of PrivateEndPoint Connection accepted.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Namespaces PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "x-ms-examples": { + "NameSpacePrivateEndPointConnectionDelete": { + "$ref": "./examples/NameSpaces/PrivateEndPointConnectionDelete.json" + } + }, + "description": "Deletes an existing Private Endpoint Connection.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639389.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "Private Endpoint Connection successfully deleted." + }, + "202": { + "description": "Private Endpoint Connection delete request accepted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Namespaces PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "x-ms-examples": { + "NameSpacePrivateEndPointConnectionGet": { + "$ref": "./examples/NameSpaces/PrivateEndPointConnectionGet.json" + } + }, + "description": "Gets a description for the specified Private Endpoint Connection.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Description of Private Endpoint Connection returned successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/privateLinkResources": { + "get": { + "tags": [ + "Namespaces PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_Get", + "x-ms-examples": { + "NameSpacePrivateLinkResourcesGet": { + "$ref": "./examples/NameSpaces/PrivateLinkResourcesGet.json" + } + }, + "description": "Gets lists of resources that supports Privatelinks.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Private Link resource List", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ResourceNamespacePatch": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "The Resource definition." + }, + "SBNamespaceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SBNamespace" + }, + "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": "The response of the List Namespace operation." + }, + "SBNamespace": { + "type": "object", + "properties": { + "sku": { + "$ref": "#/definitions/SBSku", + "description": "Properties of SKU" + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "Properties of BYOK Identity description" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBNamespaceProperties", + "description": "Properties of the namespace." + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource" + } + ], + "description": "Description of a namespace resource." + }, + "SBNamespaceUpdateParameters": { + "type": "object", + "properties": { + "sku": { + "$ref": "#/definitions/SBSku", + "description": "Properties of SKU" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBNamespaceUpdateProperties", + "description": "Properties of the namespace." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "Properties of BYOK Identity description" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceNamespacePatch" + } + ], + "description": "Description of a namespace resource." + }, + "SBNamespaceProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the namespace." + }, + "status": { + "readOnly": true, + "type": "string", + "description": "Status of the namespace." + }, + "createdAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the namespace was created" + }, + "updatedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the namespace was updated." + }, + "serviceBusEndpoint": { + "readOnly": true, + "type": "string", + "description": "Endpoint you can use to perform Service Bus operations." + }, + "metricId": { + "readOnly": true, + "type": "string", + "description": "Identifier for Azure Insights metrics" + }, + "zoneRedundant": { + "type": "boolean", + "description": "Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Properties of BYOK Encryption description" + }, + "privateEndpointConnections": { + "description": "List of private endpoint connections.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "disableLocalAuth": { + "type": "boolean", + "description": "This property disables SAS authentication for the Service Bus namespace." + }, + "alternateName": { + "type": "string", + "description": "Alternate name for namespace" + } + }, + "description": "Properties of the namespace." + }, + "SBNamespaceUpdateProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the namespace." + }, + "status": { + "readOnly": true, + "type": "string", + "description": "Status of the namespace." + }, + "createdAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the namespace was created" + }, + "updatedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the namespace was updated." + }, + "serviceBusEndpoint": { + "readOnly": true, + "type": "string", + "description": "Endpoint you can use to perform Service Bus operations." + }, + "metricId": { + "readOnly": true, + "type": "string", + "description": "Identifier for Azure Insights metrics" + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Properties of BYOK Encryption description" + }, + "privateEndpointConnections": { + "description": "List of private endpoint connections.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "disableLocalAuth": { + "type": "boolean", + "description": "This property disables SAS authentication for the Service Bus namespace." + }, + "alternateName": { + "type": "string", + "description": "Alternate name for namespace" + } + }, + "description": "Properties of the namespace." + }, + "SBSku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of this SKU.", + "enum": [ + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + }, + "tier": { + "type": "string", + "description": "The billing tier of this particular SKU.", + "enum": [ + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": false + } + }, + "capacity": { + "format": "int32", + "type": "integer", + "description": "The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4." + } + }, + "required": [ + "name" + ], + "description": "SKU of the namespace." + }, + "Identity": { + "type": "object", + "x-ms-client-flatten": true, + "properties": { + "principalId": { + "type": "string", + "description": "ObjectId from the KeyVault", + "readOnly": true + }, + "tenantId": { + "type": "string", + "description": "TenantId from the KeyVault", + "readOnly": true + }, + "type": { + "description": "Type of managed service identity.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedServiceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "description": "Properties for User Assigned Identities" + } + }, + "description": "Properties to configure User Assigned Identities for Bring your Own Keys" + }, + "UserAssignedIdentity": { + "description": "Recognized Dictionary value.", + "type": "object", + "properties": { + "principalId": { + "description": "Principal Id of user assigned identity", + "type": "string", + "x-ms-client-name": "PrincipalId", + "readOnly": true + }, + "clientId": { + "description": "Client Id of user assigned identity", + "type": "string", + "x-ms-client-name": "ClientId", + "readOnly": true + } + } + }, + "Encryption": { + "type": "object", + "x-ms-client-flatten": true, + "properties": { + "keyVaultProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/KeyVaultProperties" + }, + "x-ms-client-name": "KeyVaultProperties", + "description": "Properties of KeyVault" + }, + "keySource": { + "type": "string", + "description": "Enumerates the possible value of keySource for Encryption", + "default": "Microsoft.KeyVault", + "enum": [ + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "keySource", + "modelAsString": false + } + }, + "requireInfrastructureEncryption": { + "type": "boolean", + "description": "Enable Infrastructure Encryption (Double Encryption)" + } + }, + "description": "Properties to configure Encryption" + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "Name of the Key from KeyVault" + }, + "keyVaultUri": { + "type": "string", + "description": "Uri of KeyVault" + }, + "keyVersion": { + "type": "string", + "description": "Version of KeyVault" + }, + "identity": { + "$ref": "#/definitions/userAssignedIdentityProperties" + } + }, + "description": "Properties to configure keyVault Properties" + }, + "PrivateEndpointConnection": { + "type": "object", + "description": "Properties of the PrivateEndpointConnection.", + "allOf": [ + { + "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Properties of the PrivateEndpointConnection.", + "x-ms-client-flatten": true + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + } + } + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": "Properties of the private endpoint connection resource.", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The Private Endpoint resource for this Connection." + }, + "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": "EndPointProvisioningState", + "modelAsString": true + } + } + } + }, + "PrivateEndpoint": { + "type": "object", + "description": "PrivateEndpoint information.", + "properties": { + "id": { + "description": "The ARM identifier for Private Endpoint.", + "type": "string" + } + } + }, + "ConnectionState": { + "type": "object", + "description": "ConnectionState information.", + "properties": { + "status": { + "description": "Status of the connection.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateLinkConnectionStatus", + "modelAsString": true + } + }, + "description": { + "description": "Description of the connection state.", + "type": "string" + } + } + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "description": "Result of the list of all private endpoint connections operation.", + "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": { + "type": "object", + "description": "Information of the private link resource.", + "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", + "description": "Properties of PrivateLinkResource", + "properties": { + "groupId": { + "type": "string" + }, + "requiredMembers": { + "type": "array", + "description": "Required Members", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "type": "array", + "description": "Required Zone Names", + "items": { + "type": "string" + } + } + } + }, + "PrivateLinkResourcesListResult": { + "type": "object", + "description": "Result of the List private link resources operation.", + "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" + } + } + }, + "userAssignedIdentityProperties": { + "type": "object", + "x-ms-client-flatten": true, + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "ARM ID of user Identity selected for encryption" + } + } + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/networksets.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/networksets.json new file mode 100644 index 000000000000..5e9502dd34f0 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/networksets.json @@ -0,0 +1,310 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2021-11-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.ServiceBus/namespaces/{namespaceName}/networkRuleSets/default": { + "put": { + "tags": [ + "Namespaces" + ], + "x-ms-examples": { + "NameSpaceNetworkRuleSetCreate": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json" + } + }, + "operationId": "Namespaces_CreateOrUpdateNetworkRuleSet", + "description": "Create or update NetworkRuleSet for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + }, + "description": "The Namespace IpFilterRule." + } + ], + "responses": { + "200": { + "description": "Namespace NetworkRuleSet successfully returned.", + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Namespaces" + ], + "x-ms-examples": { + "NameSpaceNetworkRuleSetGet": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json" + } + }, + "operationId": "Namespaces_GetNetworkRuleSet", + "description": "Gets NetworkRuleSet for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace NetworkRuleSet successfully returned.", + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkRuleSets": { + "get": { + "tags": [ + "Namespaces" + ], + "x-ms-examples": { + "NameSpaceNetworkRuleSetList": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetList.json" + } + }, + "operationId": "Namespaces_ListNetworkRuleSets", + "description": "Gets list of NetworkRuleSet for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of NetworkRuleSets for Namespace successfully returned.", + "schema": { + "$ref": "#/definitions/NetworkRuleSetListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "NWRuleSetIpRules": { + "type": "object", + "x-ms-client-flatten": true, + "properties": { + "ipMask": { + "type": "string", + "description": "IP Mask" + }, + "action": { + "type": "string", + "description": "The IP Filter Action", + "enum": [ + "Allow" + ], + "x-ms-enum": { + "name": "NetworkRuleIPAction", + "modelAsString": true + }, + "default": "Allow" + } + }, + "description": "Description of NetWorkRuleSet - IpRules resource." + }, + "Subnet": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID of Virtual Network Subnet" + } + }, + "required": [ + "id" + ], + "description": "Properties supplied for Subnet" + }, + "NWRuleSetVirtualNetworkRules": { + "type": "object", + "x-ms-client-flatten": true, + "properties": { + "subnet": { + "$ref": "#/definitions/Subnet", + "description": "Subnet properties" + }, + "ignoreMissingVnetServiceEndpoint": { + "type": "boolean", + "description": "Value that indicates whether to ignore missing VNet Service Endpoint" + } + }, + "description": "Description of VirtualNetworkRules - NetworkRules resource." + }, + "NetworkRuleSet": { + "type": "object", + "properties": { + "properties": { + "description": "NetworkRuleSet properties", + "x-ms-client-flatten": true, + "properties": { + "trustedServiceAccessEnabled": { + "type": "boolean", + "description": "Value that indicates whether Trusted Service Access is Enabled or not." + }, + "defaultAction": { + "type": "string", + "description": "Default Action for Network Rule Set", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "DefaultAction", + "modelAsString": true + } + }, + "virtualNetworkRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NWRuleSetVirtualNetworkRules" + }, + "description": "List VirtualNetwork Rules" + }, + "ipRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NWRuleSetIpRules" + }, + "description": "List of IpRules" + }, + "publicNetworkAccess": { + "description": "This determines if traffic is allowed over public network. By default it is enabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccessFlag", + "modelAsString": true + }, + "default": "Enabled" + } + } + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Description of NetworkRuleSet resource." + }, + "NetworkRuleSetListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkRuleSet" + }, + "description": "Result of the List NetworkRuleSet operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of NetworkRuleSet." + } + }, + "description": "The response of the List NetworkRuleSet operation." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/operations.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/operations.json new file mode 100644 index 000000000000..b4297af8bb35 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/operations.json @@ -0,0 +1,150 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2021-11-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": { + "/providers/Microsoft.ServiceBus/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/SBOperations_List.json" + } + }, + "description": "Lists all of the available ServiceBus REST API operations.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationListResult": { + "type": "object", + "description": "Result of the request to list ServiceBus operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "description": "List of ServiceBus operations supported by the Microsoft.ServiceBus resource provider.", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "A Service Bus REST API operation", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{operation}" + }, + "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": { + "description": "Properties of the operation", + "type": "object", + "x-ms-client-flatten": true + } + } + }, + "OperationDisplay": { + "description": "Operation display payload", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider of the operation", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Resource of the operation", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Localized friendly name for the operation", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Localized friendly description for the operation", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/subscriptions.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/subscriptions.json new file mode 100644 index 000000000000..0a7a59f465bb --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/subscriptions.json @@ -0,0 +1,407 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2021-11-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.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions": { + "get": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_ListByTopic", + "x-ms-examples": { + "SubscriptionListByTopic": { + "$ref": "./examples/Subscriptions/SBSubscriptionListByTopic.json" + } + }, + "description": "List all the subscriptions under a specified topic.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639400.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved list of subscriptions.", + "schema": { + "$ref": "#/definitions/SBSubscriptionListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}": { + "put": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_CreateOrUpdate", + "x-ms-examples": { + "SubscriptionCreate": { + "$ref": "./examples/Subscriptions/SBSubscriptionCreate.json" + } + }, + "description": "Creates a topic subscription.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639385.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBSubscription" + }, + "description": "Parameters supplied to create a subscription resource." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Subscription create request accepted.", + "schema": { + "$ref": "#/definitions/SBSubscription" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_Delete", + "x-ms-examples": { + "SubscriptionDelete": { + "$ref": "./examples/Subscriptions/SBSubscriptionDelete.json" + } + }, + "description": "Deletes a subscription from the specified topic.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639381.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Subscription successfully deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_Get", + "x-ms-examples": { + "SubscriptionGet": { + "$ref": "./examples/Subscriptions/SBSubscriptionGet.json" + } + }, + "description": "Returns a subscription description for the specified topic.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639402.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved subscription description.", + "schema": { + "$ref": "#/definitions/SBSubscription" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "SBSubscriptionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SBSubscription" + }, + "description": "Result of the List Subscriptions operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of subscriptions." + } + }, + "description": "The response to the List Subscriptions operation." + }, + "SBSubscription": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBSubscriptionProperties", + "description": "Properties of subscriptions resource." + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Description of subscription resource." + }, + "SBSubscriptionProperties": { + "type": "object", + "properties": { + "messageCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Number of messages." + }, + "createdAt": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Exact time the message was created." + }, + "accessedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "Last time there was a receive request to this subscription." + }, + "updatedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The exact time the message was updated." + }, + "countDetails": { + "readOnly": true, + "$ref": "../../../common/v1/definitions.json#/definitions/MessageCountDetails", + "description": "Message count details" + }, + "lockDuration": { + "format": "duration", + "type": "string", + "description": "ISO 8061 lock duration timespan for the subscription. The default value is 1 minute." + }, + "requiresSession": { + "type": "boolean", + "description": "Value indicating if a subscription supports the concept of sessions." + }, + "defaultMessageTimeToLive": { + "format": "duration", + "type": "string", + "description": "ISO 8061 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself." + }, + "deadLetteringOnFilterEvaluationExceptions": { + "type": "boolean", + "description": "Value that indicates whether a subscription has dead letter support on filter evaluation exceptions." + }, + "deadLetteringOnMessageExpiration": { + "type": "boolean", + "description": "Value that indicates whether a subscription has dead letter support when a message expires." + }, + "duplicateDetectionHistoryTimeWindow": { + "format": "duration", + "type": "string", + "description": "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes." + }, + "maxDeliveryCount": { + "format": "int32", + "type": "integer", + "description": "Number of maximum deliveries." + }, + "status": { + "$ref": "../../../common/v1/definitions.json#/definitions/EntityStatus", + "description": "Enumerates the possible values for the status of a messaging entity." + }, + "enableBatchedOperations": { + "type": "boolean", + "description": "Value that indicates whether server-side batched operations are enabled." + }, + "autoDeleteOnIdle": { + "format": "duration", + "type": "string", + "description": "ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes." + }, + "forwardTo": { + "type": "string", + "description": "Queue/Topic name to forward the messages" + }, + "forwardDeadLetteredMessagesTo": { + "type": "string", + "description": "Queue/Topic name to forward the Dead Letter message" + }, + "isClientAffine": { + "type": "boolean", + "description": "Value that indicates whether the subscription has an affinity to the client id." + }, + "clientAffineProperties": { + "$ref": "#/definitions/SBClientAffineProperties", + "description": "Properties specific to client affine subscriptions." + } + }, + "description": "Description of Subscription Resource." + }, + "SBClientAffineProperties": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "Indicates the Client ID of the application that created the client-affine subscription." + }, + "isDurable": { + "type": "boolean", + "description": "For client-affine subscriptions, this value indicates whether the subscription is durable or not." + }, + "isShared": { + "type": "boolean", + "description": "For client-affine subscriptions, this value indicates whether the subscription is shared or not." + } + }, + "description": "Properties specific to client affine subscriptions." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/topics.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/topics.json new file mode 100644 index 000000000000..42e720ce6551 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/topics.json @@ -0,0 +1,372 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2021-11-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.ServiceBus/namespaces/{namespaceName}/topics": { + "get": { + "tags": [ + "Topics" + ], + "operationId": "Topics_ListByNamespace", + "x-ms-examples": { + "TopicGet": { + "$ref": "./examples/Topics/SBTopicListByNameSpace.json" + } + }, + "description": "Gets all the topics in a namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639388.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved list of topics.", + "schema": { + "$ref": "#/definitions/SBTopicListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}": { + "put": { + "tags": [ + "Topics" + ], + "operationId": "Topics_CreateOrUpdate", + "x-ms-examples": { + "TopicCreate": { + "$ref": "./examples/Topics/SBTopicCreate.json" + } + }, + "description": "Creates a topic in the specified namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639409.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBTopic" + }, + "description": "Parameters supplied to create a topic resource." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Topic successfully created.", + "schema": { + "$ref": "#/definitions/SBTopic" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Topics" + ], + "operationId": "Topics_Delete", + "x-ms-examples": { + "TopicDelete": { + "$ref": "./examples/Topics/SBTopicDelete.json" + } + }, + "description": "Deletes a topic from the specified namespace and resource group.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639404.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Topic successfully deleted." + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Topics" + ], + "operationId": "Topics_Get", + "x-ms-examples": { + "TopicGet": { + "$ref": "./examples/Topics/SBTopicGet.json" + } + }, + "description": "Returns a description for the specified topic.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639399.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Topic description successfully retrieved.", + "schema": { + "$ref": "#/definitions/SBTopic" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "SBTopicListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SBTopic" + }, + "description": "Result of the List Topics operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of topics." + } + }, + "description": "The response to the List Topics operation." + }, + "SBTopic": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBTopicProperties", + "description": "Properties of topic resource." + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../common/v1/definitions.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Description of topic resource." + }, + "SBTopicProperties": { + "type": "object", + "properties": { + "sizeInBytes": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Size of the topic, in bytes." + }, + "createdAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "Exact time the message was created." + }, + "updatedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The exact time the message was updated." + }, + "accessedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "Last time the message was sent, or a request was received, for this topic." + }, + "subscriptionCount": { + "readOnly": true, + "format": "int32", + "type": "integer", + "description": "Number of subscriptions." + }, + "countDetails": { + "readOnly": true, + "$ref": "../../../common/v1/definitions.json#/definitions/MessageCountDetails", + "description": "Message count details" + }, + "defaultMessageTimeToLive": { + "format": "duration", + "type": "string", + "description": "ISO 8601 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself." + }, + "maxSizeInMegabytes": { + "format": "int32", + "type": "integer", + "description": "Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. Default is 1024." + }, + "maxMessageSizeInKilobytes": { + "format": "int64", + "type": "integer", + "description": "Maximum size (in KB) of the message payload that can be accepted by the topic. This property is only used in Premium today and default is 1024." + }, + "requiresDuplicateDetection": { + "type": "boolean", + "description": "Value indicating if this topic requires duplicate detection." + }, + "duplicateDetectionHistoryTimeWindow": { + "format": "duration", + "type": "string", + "description": "ISO8601 timespan structure that defines the duration of the duplicate detection history. The default value is 10 minutes." + }, + "enableBatchedOperations": { + "type": "boolean", + "description": "Value that indicates whether server-side batched operations are enabled." + }, + "status": { + "$ref": "../../../common/v1/definitions.json#/definitions/EntityStatus", + "description": "Enumerates the possible values for the status of a messaging entity." + }, + "supportOrdering": { + "type": "boolean", + "description": "Value that indicates whether the topic supports ordering." + }, + "autoDeleteOnIdle": { + "format": "duration", + "type": "string", + "description": "ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes." + }, + "enablePartitioning": { + "type": "boolean", + "description": "Value that indicates whether the topic to be partitioned across multiple message brokers is enabled." + }, + "enableExpress": { + "type": "boolean", + "description": "Value that indicates whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage." + } + }, + "description": "The Topic Properties definition." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/common/v1/definitions.json b/specification/servicebus/resource-manager/common/v1/definitions.json index f242a3d02698..a2e88a85f029 100644 --- a/specification/servicebus/resource-manager/common/v1/definitions.json +++ b/specification/servicebus/resource-manager/common/v1/definitions.json @@ -25,6 +25,7 @@ "paths": {}, "definitions": { "TrackedResource": { + "type": "object", "properties": { "location": { "type": "string", @@ -58,6 +59,7 @@ "description": "The Resource definition." }, "Resource": { + "type": "object", "properties": { "id": { "type": "string", @@ -134,6 +136,7 @@ "description": "Message Count Details." }, "ErrorResponse": { + "type": "object", "properties": { "error": { "type": "object", @@ -176,6 +179,7 @@ "description": "The resource management error response." }, "ErrorAdditionalInfo": { + "type": "object", "properties": { "type": { "readOnly": true, diff --git a/specification/servicebus/resource-manager/common/v2/definitions.json b/specification/servicebus/resource-manager/common/v2/definitions.json new file mode 100644 index 000000000000..882de3abdd3b --- /dev/null +++ b/specification/servicebus/resource-manager/common/v2/definitions.json @@ -0,0 +1,56 @@ +{ + "swagger": "2.0", + "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" + } + } + }, + "info": { + "version": "1.0", + "title": "Common types" + }, + "paths": {}, + "definitions": { + "ProxyResource": { + "title": "Resource", + "description": "Common fields that are returned in the response for all Azure Resource Manager resources", + "type": "object", + "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.EventHub/Namespaces\" or \"Microsoft.EventHub/Namespaces/EventHubs\"" + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The geo-location where the resource lives" + } + }, + "x-ms-azure-resource": true + } + } +} diff --git a/specification/servicebus/resource-manager/readme.go.md b/specification/servicebus/resource-manager/readme.go.md index 81cfc33cd8fa..5ed9b8f95f01 100644 --- a/specification/servicebus/resource-manager/readme.go.md +++ b/specification/servicebus/resource-manager/readme.go.md @@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line. ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/servicebus/armservicebus +module-name: sdk/resourcemanager/servicebus/armservicebus module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true @@ -21,11 +21,21 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-06-preview - tag: package-2018-01-preview - tag: package-2017-04 - tag: package-2015-08 ``` +### Tag: package-2021-06-preview and go + +These settings apply only when `--tag=package-2021-06-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-06-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-06-01-preview/$(namespace) +``` + ### Tag: package-2018-01-preview and go These settings apply only when `--tag=package-2018-01-preview --go` is specified on the command line. diff --git a/specification/servicebus/resource-manager/readme.md b/specification/servicebus/resource-manager/readme.md index 7f793b06ab45..92a8f8540e5c 100644 --- a/specification/servicebus/resource-manager/readme.md +++ b/specification/servicebus/resource-manager/readme.md @@ -26,7 +26,7 @@ These are the global settings for the ServiceBus API. ``` yaml openapi-type: arm -tag: package-2021-06-preview +tag: package-2021-11 ``` ### Tag: package-2021-01-preview @@ -92,6 +92,25 @@ input-file: - Microsoft.ServiceBus/preview/2018-01-01-preview/operations.json ``` +### Tag: package-2021-11 + +These settings apply only when `--tag=package-2021-11` is specified on the command line. + +``` yaml $(tag) == 'package-2021-11' +input-file: +- Microsoft.ServiceBus/stable/2021-11-01/namespace-preview.json +- Microsoft.ServiceBus/stable/2021-11-01/operations.json +- Microsoft.ServiceBus/stable/2021-11-01/DisasterRecoveryConfig.json +- Microsoft.ServiceBus/stable/2021-11-01/migrationconfigs.json +- Microsoft.ServiceBus/stable/2021-11-01/networksets.json +- Microsoft.ServiceBus/stable/2021-11-01/AuthorizationRules.json +- Microsoft.ServiceBus/stable/2021-11-01/Queue.json +- Microsoft.ServiceBus/stable/2021-11-01/topics.json +- Microsoft.ServiceBus/stable/2021-11-01/Rules.json +- Microsoft.ServiceBus/stable/2021-11-01/subscriptions.json +- Microsoft.ServiceBus/stable/2021-11-01/CheckNameAvailability.json +``` + ### Tag: package-2017-04 These settings apply only when `--tag=package-2017-04` is specified on the command line. diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-1.json new file mode 100644 index 000000000000..2a7638588821 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-1.json @@ -0,0 +1,12 @@ +{ + "operationId": "BackupPartition", + "description": "This example shows how to trigger backup of a partition now, which is already configured for periodic backups. The newly created backup will be saved at the same location where the periodic backups are being saved.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "BackupPartitionDescription": {} + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-2.json new file mode 100644 index 000000000000..9aa037a4d490 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-2.json @@ -0,0 +1,18 @@ +{ + "operationId": "BackupPartition", + "description": "This example shows how to trigger backup of a partition now, and save the backup to a specific Azure blob storage account.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "BackupPartitionDescription": { + "BackupStorage": { + "StorageKind": "AzureBlobStore", + "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=", + "ContainerName": "BackupContainer" + } + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-3.json new file mode 100644 index 000000000000..eca9e99ad921 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-3.json @@ -0,0 +1,19 @@ +{ + "operationId": "BackupPartition", + "description": "This example shows how to trigger backup of a partition now, and save the backup to a specific file share accessible from all cluster nodes.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "BackupPartitionDescription": { + "BackupStorage": { + "StorageKind": "FileShare", + "Path": "\\\\myshare\\backupshare", + "PrimaryUserName": "mydomain\\backupaccount", + "PrimaryPassword": "password" + } + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-4.json new file mode 100644 index 000000000000..e77b1a9f010d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-4.json @@ -0,0 +1,18 @@ +{ + "operationId": "BackupPartition", + "description": "This example shows how to trigger backup of a partition now, and save the backup to a specific Dsms Azure blob storage location.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "BackupPartitionDescription": { + "BackupStorage": { + "StorageKind": "DsmsAzureBlobStore", + "StorageCredentialsSourceLocation": "https://sample-dsms.dsms.core.winows.net/dsms/samplecredentiallocation/storageaccounts/samplestorageac/servicefabricbackup/samplebackup", + "ContainerName": "BackupContainer" + } + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-5.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-5.json new file mode 100644 index 000000000000..0a5ff384d065 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-5.json @@ -0,0 +1,19 @@ +{ + "operationId": "BackupPartition", + "description": "This example shows how to trigger backup of a partition now, and save the backup to a specific Azure blob storage account using managed identity.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "BackupPartitionDescription": { + "BackupStorage": { + "StorageKind": "ManagedIdentityAzureBlobStore", + "BlobServiceUri": "https://managedidentitytest.blob.core.windows.net/", + "ContainerName": "BackupContainer", + "ManagedIdentityType": "Cluster" + } + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateApplication-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateApplication-1.json new file mode 100644 index 000000000000..815b59ce3e50 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateApplication-1.json @@ -0,0 +1,15 @@ +{ + "operationId": "CreateApplication", + "description": "This example shows how to create a Service Fabric application without overriding any application parameter values.", + "parameters": { + "api-version": "6.0", + "ApplicationDescription": { + "Name": "fabric:/samples/CalcApp", + "TypeVersion": "1.0", + "TypeName": "CalculatorApp" + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-1.json new file mode 100644 index 000000000000..a2bb056ee6d0 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-1.json @@ -0,0 +1,34 @@ +{ + "operationId": "CreateBackupPolicy", + "description": "This example shows how to create a backup policy which takes backup twice everyday at 9 AM and 5 PM UTC which shall get deleted after 3 months, with Azure blob store as the backup location.", + "parameters": { + "api-version": "6.4", + "BackupPolicyDescription": { + "Name": "DailyAzureBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "TimeBased", + "ScheduleFrequencyType": "Daily", + "RunTimes": [ + "0001-01-01T09:00:00Z", + "0001-01-01T17:00:00Z" + ] + }, + "Storage": { + "StorageKind": "AzureBlobStore", + "FriendlyName": "Azure_storagesample", + "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=", + "ContainerName": "BackupContainer" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 20, + "RetentionDuration": "P3M" + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-2.json new file mode 100644 index 000000000000..bdbd7b8ec42d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-2.json @@ -0,0 +1,31 @@ +{ + "operationId": "CreateBackupPolicy", + "description": "This example shows how to create a backup policy which takes backup every 10 minutes which shall get deleted after 20 days, with file share as the backup location.", + "parameters": { + "api-version": "6.4", + "BackupPolicyDescription": { + "Name": "FileShare10MinBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "FrequencyBased", + "Interval": "PT10M" + }, + "Storage": { + "StorageKind": "FileShare", + "FriendlyName": "FileShare_myshare", + "Path": "\\\\myshare\\backupshare", + "PrimaryUserName": "backupaccount", + "PrimaryPassword": "password" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 20, + "RetentionDuration": "P20D" + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-3.json new file mode 100644 index 000000000000..9c6068a735f8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-3.json @@ -0,0 +1,34 @@ +{ + "operationId": "CreateBackupPolicy", + "description": "This example shows how to create a backup policy which takes backup twice everyday at 9 AM and 5 PM UTC which shall get deleted after 3 months, with Dsms Azure blob store as the backup location.", + "parameters": { + "api-version": "6.4", + "BackupPolicyDescription": { + "Name": "SampleDsmsBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "TimeBased", + "ScheduleFrequencyType": "Daily", + "RunTimes": [ + "0001-01-01T09:00:00Z", + "0001-01-01T17:00:00Z" + ] + }, + "Storage": { + "StorageKind": "DsmsAzureBlobStore", + "FriendlyName": "DsmsAzure_storagesample", + "StorageCredentialsSourceLocation": "https://sample-dsms.dsms.core.winows.net/dsms/samplecredentiallocation/storageaccounts/samplestorageac/servicefabricbackup/samplebackup", + "ContainerName": "BackupContainer" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 20, + "RetentionDuration": "P3M" + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-4.json new file mode 100644 index 000000000000..f744fbccc22a --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-4.json @@ -0,0 +1,35 @@ +{ + "operationId": "CreateBackupPolicy", + "description": "This example shows how to create a backup policy which takes backup twice everyday at 9 AM and 5 PM UTC which shall get deleted after 3 months, with Azure blob store as the backup location using managed identity.", + "parameters": { + "api-version": "6.4", + "BackupPolicyDescription": { + "Name": "DailyAzureMIBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "TimeBased", + "ScheduleFrequencyType": "Daily", + "RunTimes": [ + "0001-01-01T09:00:00Z", + "0001-01-01T17:00:00Z" + ] + }, + "Storage": { + "StorageKind": "ManagedIdentityAzureBlobStore", + "FriendlyName": "AzureMI_storagesample", + "BlobServiceUri": "https://managedidentitytest.blob.core.windows.net/", + "ContainerName": "BackupContainer", + "ManagedIdentityType": "Cluster" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 20, + "RetentionDuration": "P3M" + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateName-1.json new file mode 100644 index 000000000000..39588770e334 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateName-1.json @@ -0,0 +1,13 @@ +{ + "operationId": "CreateName", + "description": "This example shows how to create a new Service Fabric name. The name can be created under an existing name that represents an appliction or a service or under a completely new name.", + "parameters": { + "api-version": "6.0", + "NameDescription": { + "Name": "fabric:/samples/CalculatorApp/CalculatorService/Name-1" + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-1.json new file mode 100644 index 000000000000..a969c12cd8a9 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-1.json @@ -0,0 +1,21 @@ +{ + "operationId": "CreateService", + "description": "This example shows how to create a basic stateless Service Fabric service.", + "parameters": { + "applicationId": "test", + "api-version": "6.0", + "ServiceDescription": { + "ServiceKind": "Stateless", + "ApplicationName": "fabric:/test", + "ServiceName": "fabric:/test/test1", + "ServiceTypeName": "StatelessFrontendService", + "PartitionDescription": { + "PartitionScheme": "Singleton" + }, + "InstanceCount": 4 + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-2.json new file mode 100644 index 000000000000..bc7ada6bb8be --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-2.json @@ -0,0 +1,23 @@ +{ + "operationId": "CreateService", + "description": "This example shows how to create a basic stateful Service Fabric service.", + "parameters": { + "applicationId": "test", + "api-version": "6.0", + "ServiceDescription": { + "ServiceKind": "Stateful", + "ApplicationName": "fabric:/test", + "ServiceName": "fabric:/test/test2", + "ServiceTypeName": "StatefulBackendService", + "PartitionDescription": { + "PartitionScheme": "Singleton" + }, + "TargetReplicaSetSize": 3, + "MinReplicaSetSize": 2, + "HasPersistedState": false + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-3.json new file mode 100644 index 000000000000..75eaaea023df --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-3.json @@ -0,0 +1,47 @@ +{ + "operationId": "CreateService", + "description": "This example shows how to create a stateless Service Fabric service with a dns name definied and auto scaling based on cpu usage.", + "parameters": { + "applicationId": "test", + "api-version": "6.0", + "ServiceDescription": { + "ServiceKind": "Stateless", + "ApplicationName": "fabric:/test", + "ServiceName": "fabric:/test/test1", + "ServiceTypeName": "StatelessFrontendService", + "InitializationData": [], + "PartitionDescription": { + "PartitionScheme": "Singleton" + }, + "InstanceCount": 2, + "PlacementConstraints": "Color==Blue", + "CorrelationScheme": [], + "ServiceLoadMetrics": [], + "ServicePlacementPolicies": [], + "DefaultMoveCost": "Low", + "IsDefaultMoveCostSpecified": true, + "ServicePackageActivationMode": "ExclusiveProcess", + "ServiceDnsName": "test1.test", + "ScalingPolicies": [ + { + "ScalingTrigger": { + "Kind": "AveragePartitionLoad", + "MetricName": "servicefabric:/_CpuCores", + "LowerLoadThreshold": "0.300000", + "UpperLoadThreshold": "0.800000", + "ScaleIntervalInSeconds": 600 + }, + "ScalingMechanism": { + "Kind": "PartitionInstanceCount", + "MinInstanceCount": 1, + "MaxInstanceCount": 6, + "ScaleIncrement": 2 + } + } + ] + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-4.json new file mode 100644 index 000000000000..23f6a2ad6c29 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-4.json @@ -0,0 +1,47 @@ +{ + "operationId": "CreateService", + "description": "This example shows how to create a stateful Service Fabric service with named partitions and scaling enabled based on memory usage.", + "parameters": { + "applicationId": "test", + "api-version": "6.0", + "ServiceDescription": { + "ServiceKind": "Stateful", + "ApplicationName": "fabric:/test", + "ServiceName": "fabric:/test/test2", + "ServiceTypeName": "StatefulBackendService", + "InitializationData": [], + "PartitionDescription": { + "PartitionScheme": "Named", + "Count": 1, + "Names": [ + "0" + ] + }, + "TargetReplicaSetSize": 3, + "MinReplicaSetSize": 2, + "HasPersistedState": true, + "ServicePackageActivationMode": "ExclusiveProcess", + "ScalingPolicies": [ + { + "ScalingTrigger": { + "Kind": "AverageServiceLoad", + "MetricName": "servicefabric:/_MemoryInMB", + "LowerLoadThreshold": "500", + "UpperLoadThreshold": "900", + "ScaleIntervalInSeconds": 600, + "UseOnlyPrimaryLoad": false + }, + "ScalingMechanism": { + "Kind": "AddRemoveIncrementalNamedPartition", + "MinPartitionCount": 1, + "MaxPartitionCount": 3, + "ScaleIncrement": 1 + } + } + ] + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DeleteBackupPolicy.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DeleteBackupPolicy.json new file mode 100644 index 000000000000..d4796b5ede08 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DeleteBackupPolicy.json @@ -0,0 +1,11 @@ +{ + "operationId": "DeleteBackupPolicy", + "description": "This example shows how to delete an existing backup policy which is currently not associated with any backup entity.", + "parameters": { + "api-version": "6.4", + "backupPolicyName": "SampleBackupPolicy" + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DisableApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DisableApplicationBackup.json new file mode 100644 index 000000000000..964fdaa8c3f3 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DisableApplicationBackup.json @@ -0,0 +1,14 @@ +{ + "operationId": "DisableApplicationBackup", + "description": "This example shows how to disable periodic backup for a stateful application which was previously enabled.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp", + "DisableBackupDescription": { + "CleanBackup": true + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DisablePartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DisablePartitionBackup.json new file mode 100644 index 000000000000..1f6cc6b32ed3 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DisablePartitionBackup.json @@ -0,0 +1,14 @@ +{ + "operationId": "DisablePartitionBackup", + "description": "This example shows how to disable periodic backup for a stateful partition which was previously enabled.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "DisableBackupDescription": { + "CleanBackup": false + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DisableServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DisableServiceBackup.json new file mode 100644 index 000000000000..14ca9acf4e25 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DisableServiceBackup.json @@ -0,0 +1,14 @@ +{ + "operationId": "DisableServiceBackup", + "description": "This example shows how to disable periodic backup for a stateful service which was previously enabled.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService", + "DisableBackupDescription": { + "CleanBackup": true + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/EnableApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/EnableApplicationBackup.json new file mode 100644 index 000000000000..b0e24cd35f67 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/EnableApplicationBackup.json @@ -0,0 +1,14 @@ +{ + "operationId": "EnableApplicationBackup", + "description": "This example shows how to enable periodic backup for a stateful application.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp", + "EnableBackupDescription": { + "BackupPolicyName": "DailyAzureBackupPolicy" + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/EnablePartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/EnablePartitionBackup.json new file mode 100644 index 000000000000..739bd06ce60e --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/EnablePartitionBackup.json @@ -0,0 +1,14 @@ +{ + "operationId": "EnablePartitionBackup", + "description": "This example shows how to enable periodic backup for a stateful partition.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "EnableBackupDescription": { + "BackupPolicyName": "DailyAzureBackupPolicy" + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/EnableServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/EnableServiceBackup.json new file mode 100644 index 000000000000..0fe38fd714bc --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/EnableServiceBackup.json @@ -0,0 +1,14 @@ +{ + "operationId": "EnableServiceBackup", + "description": "This example shows how to enable periodic backup for a stateful service.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService", + "EnableBackupDescription": { + "BackupPolicyName": "DailyAzureBackupPolicy" + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetAllEntitiesBackedUpByPolicy-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetAllEntitiesBackedUpByPolicy-1.json new file mode 100644 index 000000000000..9f4e37d7fdf9 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetAllEntitiesBackedUpByPolicy-1.json @@ -0,0 +1,27 @@ +{ + "operationId": "GetAllEntitiesBackedUpByPolicy", + "description": "This example shows how to get list of backup entities that are currently associated with a backup policy. The number of results in a page are limited to maximum of two using the MaxResult parameter.", + "parameters": { + "api-version": "6.4", + "backupPolicyName": "DailyAzureBackupPolicy", + "MaxResults": 2 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "fabric:/DemoApp", + "Items": [ + { + "EntityKind": "Application", + "ApplicationName": "fabric:/CalcApp" + }, + { + "EntityKind": "Application", + "ApplicationName": "fabric:/DemoApp" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetAllEntitiesBackedUpByPolicy-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetAllEntitiesBackedUpByPolicy-2.json new file mode 100644 index 000000000000..18f3467fc9ed --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetAllEntitiesBackedUpByPolicy-2.json @@ -0,0 +1,24 @@ +{ + "operationId": "GetAllEntitiesBackedUpByPolicy", + "description": "This example shows how to get list of backup entities that are currently associated with a backup policy. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.4", + "backupPolicyName": "DailyAzureBackupPolicy", + "MaxResults": 2, + "ContinuationToken": "fabric:/DemoApp" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "EntityKind": "Service", + "ServiceName": "fabric:/VotingApp/VotingActorService" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupConfigurationInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupConfigurationInfo-1.json new file mode 100644 index 000000000000..3d396dbf082d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupConfigurationInfo-1.json @@ -0,0 +1,39 @@ +{ + "operationId": "GetApplicationBackupConfigurationInfo", + "description": "This example shows how to get list of backup configuration for this application and entities (services and partitions) under this application. The number of results in a page are limited to maximum of two using the MaxResult parameter.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp", + "MaxResults": 2 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "fabric:/CalcApp/CalcService", + "Items": [ + { + "Kind": "Application", + "PolicyName": "BackupPolicy1", + "PolicyInheritedFrom": "Application", + "ApplicationName": "fabric:/CalcApp", + "SuspensionInfo": { + "IsSuspended": false, + "SuspensionInheritedFrom": "Invalid" + } + }, + { + "Kind": "Service", + "PolicyName": "BackupPolicy2", + "PolicyInheritedFrom": "Service", + "ServiceName": "fabric:/CalcApp/CalcService", + "SuspensionInfo": { + "IsSuspended": false, + "SuspensionInheritedFrom": "Invalid" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupConfigurationInfo-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupConfigurationInfo-2.json new file mode 100644 index 000000000000..1ca86bee1983 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupConfigurationInfo-2.json @@ -0,0 +1,31 @@ +{ + "operationId": "GetApplicationBackupConfigurationInfo", + "description": "This example shows how to get list of backup configuration for this application and entities (services and partitions) under this application. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp", + "MaxResults": 2, + "ContinuationToken": "fabric:/CalcApp/CalcService" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "Kind": "Partition", + "PolicyName": "BackupPolicy2", + "PolicyInheritedFrom": "Service", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "SuspensionInfo": { + "IsSuspended": true, + "SuspensionInheritedFrom": "Partition" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-1.json new file mode 100644 index 000000000000..bc89f402c6bd --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-1.json @@ -0,0 +1,108 @@ +{ + "operationId": "GetApplicationBackupList", + "description": "This example shows how to get list of application backups within a time range.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp", + "StartDateTimeFilter": "2018-01-01T00:00:00Z", + "EndDateTimeFilter": "2018-01-01T23:59:59Z" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip", + "BackupType": "Full", + "ServiceManifestVersion": "1.0.0", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "261", + "CreationTimeUtc": "2018-01-01T09:00:55Z", + "FailureError": null + }, + { + "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "446", + "CreationTimeUtc": "2018-01-01T17:01:02Z", + "FailureError": null + }, + { + "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceName": "fabric:/CalcApp/CalcService", + "ServiceManifestVersion": "1.0.0", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "161", + "CreationTimeUtc": "2018-01-01T09:01:02Z", + "FailureError": null + }, + { + "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceName": "fabric:/CalcApp/CalcService", + "ServiceManifestVersion": "1.0.0", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "246", + "CreationTimeUtc": "2018-01-01T17:00:34Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-2.json new file mode 100644 index 000000000000..adb11bc306b8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-2.json @@ -0,0 +1,63 @@ +{ + "operationId": "GetApplicationBackupList", + "description": "This example shows how to get the latest backup for each partition within an application.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp", + "Latest": true + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceName": "fabric:/CalcApp/CalcService", + "ServiceManifestVersion": "1.0.0", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "446", + "CreationTimeUtc": "2018-01-01T17:01:02Z", + "FailureError": null + }, + { + "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "246", + "CreationTimeUtc": "2018-01-01T17:00:34Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-3.json new file mode 100644 index 000000000000..189ba7d18cbf --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-3.json @@ -0,0 +1,63 @@ +{ + "operationId": "GetApplicationBackupList", + "description": "This example shows how to get list of application backups. The number of results in a page are limited to maximum of two using the MaxResult parameter.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp", + "MaxResults": 2 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "Items": [ + { + "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "261", + "CreationTimeUtc": "2018-01-01T09:00:55Z", + "FailureError": null + }, + { + "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "446", + "CreationTimeUtc": "2018-01-01T17:01:02Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-4.json new file mode 100644 index 000000000000..537af235a0e2 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-4.json @@ -0,0 +1,64 @@ +{ + "operationId": "GetApplicationBackupList", + "description": "This example shows how to get list of application backups. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp", + "MaxResults": 2, + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "161", + "CreationTimeUtc": "2018-01-01T09:01:02Z", + "FailureError": null + }, + { + "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "246", + "CreationTimeUtc": "2018-01-01T17:00:34Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationEventList.json new file mode 100644 index 000000000000..32bca288ae42 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationEventList.json @@ -0,0 +1,27 @@ +{ + "operationId": "GetApplicationEventList", + "description": "This example shows how to get all application-related events during a certain time window.", + "parameters": { + "applicationId": "app1", + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "ApplicationCreated", + "ApplicationTypeName": "App1Type", + "ApplicationTypeVersion": "1.0.1", + "ApplicationDefinitionKind": "ServiceFabricApplicationDescription", + "ApplicationId": "app1", + "EventInstanceId": "8a7a0c42-67ca-4cd3-9160-edcdb822db10", + "TimeStamp": "2018-04-03T20:21:23.5774199Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationInfoByName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationInfoByName-1.json new file mode 100644 index 000000000000..fb15937b1e84 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationInfoByName-1.json @@ -0,0 +1,33 @@ +{ + "operationId": "GetApplicationInfo", + "description": "This example shows how to get information about an application using it's identifier. If the application is found, information about it is returned with 200 status code. If the application is not found, empty content is returned with 204 status code.", + "parameters": { + "api-version": "6.0", + "applicationId": "samples~CalculatorApp" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Id": "samples~CalculatorApp", + "Name": "fabric:/samples/CalculatorApp", + "TypeName": "CalculatorApp", + "TypeVersion": "1.0", + "Status": "Ready", + "Parameters": [ + { + "Key": "CalculatorAppParameter1", + "Value": "314" + }, + { + "Key": "CalculatorAppParameter2", + "Value": "271" + } + ], + "HealthState": "Ok", + "ApplicationDefinitionKind": "ServiceFabricApplicationDescription" + } + }, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationInfoList-1.json new file mode 100644 index 000000000000..2ca46b64e3a4 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationInfoList-1.json @@ -0,0 +1,38 @@ +{ + "operationId": "GetApplicationInfoList", + "description": "This example shows how to get information about applications on the cluster. The number of results in a page are limited to maximum of two using the MaxResult parameter.", + "parameters": { + "api-version": "6.1", + "MaxResults": 2 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "fabric:/samples/PQueueApp1", + "Items": [ + { + "Id": "samples~CalculatorApp", + "Name": "fabric:/samples/CalculatorApp", + "TypeName": "CalculatorApp", + "TypeVersion": "1.0", + "Status": "Ready", + "Parameters": [], + "HealthState": "Ok", + "ApplicationDefinitionKind": "ServiceFabricApplicationDescription" + }, + { + "Id": "samples~PQueueApp1", + "Name": "fabric:/samples/PQueueApp1", + "TypeName": "PersistentQueueApp", + "TypeVersion": "1.0", + "Status": "Ready", + "Parameters": [], + "HealthState": "Ok", + "ApplicationDefinitionKind": "ServiceFabricApplicationDescription" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationInfoList-2.json new file mode 100644 index 000000000000..c0755d26e14b --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationInfoList-2.json @@ -0,0 +1,29 @@ +{ + "operationId": "GetApplicationInfoList", + "description": "This example shows how to page through the information about applications on the cluster using the ContinuationToken parameter. The value of this parameter is provided from the previous query, in this case the example shown above. The response contains the remaining one result and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.1", + "MaxResults": 2, + "ContinuationToken": "fabric:/samples/PQueueApp1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "Id": "samples~VQueueApp1", + "Name": "fabric:/samples/VQueueApp1", + "TypeName": "VolatileQueueApp", + "TypeVersion": "1.0", + "Status": "Ready", + "Parameters": [], + "HealthState": "Ok", + "ApplicationDefinitionKind": "ServiceFabricApplicationDescription" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationTypeInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationTypeInfoList-1.json new file mode 100644 index 000000000000..bcb6a4e5e3b7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationTypeInfoList-1.json @@ -0,0 +1,85 @@ +{ + "operationId": "GetApplicationTypeInfoList", + "description": "This example shows how to get information about application types that are provisioned or being provisioned in the cluster. The number of results in a page are limited to maximum of five using MaxResult parameter.", + "parameters": { + "api-version": "6.0", + "MaxResults": 5 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "PersistentQueueApp+2.0", + "Items": [ + { + "Name": "CalculatorApp", + "Version": "1.0", + "DefaultParameterList": [ + { + "Key": "ServiceInstanceCount", + "Value": "3" + } + ], + "Status": "Available" + }, + { + "Name": "CalculatorApp", + "Version": "2.0", + "DefaultParameterList": [ + { + "Key": "ServiceInstanceCount", + "Value": "3" + } + ], + "Status": "Available" + }, + { + "Name": "GatewayApp", + "Version": "1.0", + "DefaultParameterList": [ + { + "Key": "GatewayPort", + "Value": "8505" + }, + { + "Key": "ServiceInstanceCount", + "Value": "1000" + } + ], + "Status": "Available" + }, + { + "Name": "PersistentQueueApp", + "Version": "1.0", + "DefaultParameterList": [ + { + "Key": "MinReplicaSetSize", + "Value": "2" + }, + { + "Key": "TargetReplicaSetSize", + "Value": "3" + } + ], + "Status": "Available" + }, + { + "Name": "PersistentQueueApp", + "Version": "2.0", + "DefaultParameterList": [ + { + "Key": "MinReplicaSetSize", + "Value": "2" + }, + { + "Key": "TargetReplicaSetSize", + "Value": "3" + } + ], + "Status": "Available" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationTypeInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationTypeInfoList-2.json new file mode 100644 index 000000000000..a7c38cdedbe7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationTypeInfoList-2.json @@ -0,0 +1,49 @@ +{ + "operationId": "GetApplicationTypeInfoList", + "description": "This example shows how to page through the information about application types that are provisioned or being provisioned in the cluster using ContinuationToken parameter. The value of this parameter is provided from the previous query, in this case the example shown above. The response contains the remaining two results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.0", + "MaxResults": 5, + "ContinuationToken": "PersistentQueueApp+2.0" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "Name": "VolatileQueueApp", + "Version": "1.0", + "DefaultParameterList": [ + { + "Key": "MinReplicaSetSize", + "Value": "2" + }, + { + "Key": "TargetReplicaSetSize", + "Value": "3" + } + ], + "Status": "Available" + }, + { + "Name": "VolatileQueueApp", + "Version": "2.0", + "DefaultParameterList": [ + { + "Key": "MinReplicaSetSize", + "Value": "2" + }, + { + "Key": "TargetReplicaSetSize", + "Value": "3" + } + ], + "Status": "Available" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationTypeInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationTypeInfoList-3.json new file mode 100644 index 000000000000..473565e56c6d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationTypeInfoList-3.json @@ -0,0 +1,60 @@ +{ + "operationId": "GetApplicationTypeInfoList", + "description": "This example shows how to exclude application parameter in the result when getting the information about application types that are provisioned or being provisioned in the cluster.", + "parameters": { + "api-version": "6.0", + "ExcludeApplicationParameters": true + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "Name": "CalculatorApp", + "Version": "1.0", + "DefaultParameterList": [], + "Status": "Available" + }, + { + "Name": "CalculatorApp", + "Version": "2.0", + "DefaultParameterList": [], + "Status": "Available" + }, + { + "Name": "GatewayApp", + "Version": "1.0", + "DefaultParameterList": [], + "Status": "Available" + }, + { + "Name": "PersistentQueueApp", + "Version": "1.0", + "DefaultParameterList": [], + "Status": "Available" + }, + { + "Name": "PersistentQueueApp", + "Version": "2.0", + "DefaultParameterList": [], + "Status": "Available" + }, + { + "Name": "VolatileQueueApp", + "Version": "1.0", + "DefaultParameterList": [], + "Status": "Available" + }, + { + "Name": "VolatileQueueApp", + "Version": "2.0", + "DefaultParameterList": [], + "Status": "Available" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationsEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationsEventList.json new file mode 100644 index 000000000000..fa65ec159120 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationsEventList.json @@ -0,0 +1,36 @@ +{ + "operationId": "GetApplicationsEventList", + "description": "This example shows how to get all applications-related events during a certain time window.", + "parameters": { + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "ApplicationCreated", + "ApplicationTypeName": "App1Type", + "ApplicationTypeVersion": "1.0.1", + "ApplicationDefinitionKind": "ServiceFabricApplicationDescription", + "ApplicationId": "app1", + "EventInstanceId": "8a7a0c42-67ca-4cd3-9160-edcdb822db10", + "TimeStamp": "2018-04-03T20:21:23.5774199Z", + "HasCorrelatedEvents": false + }, + { + "Kind": "ApplicationCreated", + "ApplicationTypeName": "App2Type", + "ApplicationTypeVersion": "4.0.1", + "ApplicationDefinitionKind": "ServiceFabricApplicationDescription", + "ApplicationId": "app2", + "EventInstanceId": "d50574bc-6a31-4945-8275-7639bec7a0b3", + "TimeStamp": "2018-04-03T20:21:59.74842Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupPolicyByName.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupPolicyByName.json new file mode 100644 index 000000000000..411b836109b2 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupPolicyByName.json @@ -0,0 +1,36 @@ +{ + "operationId": "GetBackupPolicyByName", + "description": "This example shows how to query a backup policy by name.", + "parameters": { + "api-version": "6.4", + "backupPolicyName": "DailyAzureBackupPolicy" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Name": "DailyAzureBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "TimeBased", + "ScheduleFrequencyType": "Daily", + "RunTimes": [ + "0001-01-01T09:00:00Z", + "0001-01-01T17:00:00Z" + ] + }, + "Storage": { + "StorageKind": "AzureBlobStore", + "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=", + "ContainerName": "BackupContainer" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 20, + "RetentionDuration": "P20D" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupPolicyList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupPolicyList-1.json new file mode 100644 index 000000000000..5ab468a09e2b --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupPolicyList-1.json @@ -0,0 +1,112 @@ +{ + "operationId": "GetBackupPolicyList", + "description": "This example shows how to get list of backup policies. The number of results in a page are limited to maximum of four using the MaxResult parameter.", + "parameters": { + "api-version": "6.4", + "MaxResults": 4 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "FileShare10MinBackupPolicy", + "Items": [ + { + "Name": "DailyAzureBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "TimeBased", + "ScheduleFrequencyType": "Daily", + "RunTimes": [ + "0001-01-01T09:00:00Z", + "0001-01-01T17:00:00Z" + ] + }, + "Storage": { + "StorageKind": "AzureBlobStore", + "FriendlyName": "Azure_storagesample", + "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=", + "ContainerName": "BackupContainer" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 30, + "RetentionDuration": "P29D" + } + }, + { + "Name": "DailyAzureMIBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "TimeBased", + "ScheduleFrequencyType": "Daily", + "RunTimes": [ + "0001-01-01T09:00:00Z", + "0001-01-01T17:00:00Z" + ] + }, + "Storage": { + "StorageKind": "ManagedIdentityAzureBlobStore", + "FriendlyName": "AzureMI_storagesample", + "BlobServiceUri": "https://managedidentitytest.blob.core.windows.net/", + "ContainerName": "BackupContainer", + "ManagedIdentityType": "Cluster" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 30, + "RetentionDuration": "P29D" + } + }, + { + "Name": "SampleDsmsBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "TimeBased", + "ScheduleFrequencyType": "Daily", + "RunTimes": [ + "0001-01-01T09:00:00Z", + "0001-01-01T17:00:00Z" + ] + }, + "Storage": { + "StorageKind": "DsmsAzureBlobStore", + "FriendlyName": "DsmsAzure_storagesample", + "StorageCredentialsSourceLocation": "https://sample-dsms.dsms.core.winows.net/dsms/samplecredentiallocation/storageaccounts/samplestorageac/servicefabricbackup/samplebackup", + "ContainerName": "BackupContainer" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 10, + "RetentionDuration": "P3M" + } + }, + { + "Name": "FileShare10MinBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "FrequencyBased", + "Interval": "PT10M" + }, + "Storage": { + "StorageKind": "FileShare", + "FriendlyName": "FileShare_myshare", + "Path": "\\\\myshare\\backupshare", + "PrimaryUserName": "backupaccount", + "PrimaryPassword": "****" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 20, + "RetentionDuration": "P20D" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupPolicyList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupPolicyList-2.json new file mode 100644 index 000000000000..9a2cbd82d8f7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupPolicyList-2.json @@ -0,0 +1,42 @@ +{ + "operationId": "GetBackupPolicyList", + "description": "This example shows how to get list of backup policies. The number of results in a page are limited to maximum of three using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.4", + "MaxResults": 3, + "ContinuationToken": "FileShare10MinBackupPolicy" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "AutoRestoreOnDataLoss": false, + "Name": "SampleBackupPolicy", + "MaxIncrementalBackups": 5, + "Schedule": { + "ScheduleKind": "FrequencyBased", + "Interval": "PT4H5M" + }, + "Storage": { + "Path": "\\\\myshare\\BackupStore", + "PrimaryUserName": "myuser1", + "PrimaryPassword": "****", + "SecondaryUserName": "myuser2", + "SecondaryPassword": "****", + "StorageKind": "FileShare", + "FriendlyName": "" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 0, + "RetentionDuration": "P20D" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupsFromBackupLocation-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupsFromBackupLocation-1.json new file mode 100644 index 000000000000..6925de02aeb5 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupsFromBackupLocation-1.json @@ -0,0 +1,73 @@ +{ + "operationId": "GetBackupsFromBackupLocation", + "description": "This example shows how to get list of application backups from a specified backup location. The number of results in a page are limited to maximum of two using the MaxResult parameter.", + "parameters": { + "api-version": "6.4", + "MaxResults": 2, + "GetBackupByStorageQueryDescription": { + "Storage": { + "StorageKind": "AzureBlobStore", + "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=", + "ContainerName": "BackupContainer" + }, + "BackupEntity": { + "EntityKind": "Application", + "ApplicationName": "fabric:/CalcApp" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "Items": [ + { + "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "261", + "CreationTimeUtc": "2018-01-01T09:00:55Z", + "FailureError": null + }, + { + "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "446", + "CreationTimeUtc": "2018-01-01T17:01:02Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupsFromBackupLocation-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupsFromBackupLocation-2.json new file mode 100644 index 000000000000..190f318797ab --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupsFromBackupLocation-2.json @@ -0,0 +1,74 @@ +{ + "operationId": "GetBackupsFromBackupLocation", + "description": "This example shows how to get list of application backups. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.4", + "MaxResults": 2, + "GetBackupByStorageQueryDescription": { + "Storage": { + "StorageKind": "AzureBlobStore", + "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=", + "ContainerName": "BackupContainer" + }, + "BackupEntity": { + "EntityKind": "Application", + "ApplicationName": "fabric:/CalcApp" + } + }, + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "161", + "CreationTimeUtc": "2018-01-01T09:01:02Z", + "FailureError": null + }, + { + "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "246", + "CreationTimeUtc": "2018-01-01T17:00:34Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetChaosEvents.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetChaosEvents.json new file mode 100644 index 000000000000..4e5d7bb0b4e3 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetChaosEvents.json @@ -0,0 +1,62 @@ +{ + "operationId": "GetChaosEvents", + "description": "This example shows how to get Chaos events in a single response message without the need for paging through ContinuationToken parameter.", + "parameters": { + "api-version": "6.2", + "StartTimeUtc": "0", + "EndTimeUtc": "3155378975999999999" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "History": [ + { + "ChaosEvent": { + "Kind": "Started", + "TimeStampUtc": "2017-04-14T04:27:19.049Z", + "ChaosParameters": { + "MaxClusterStabilizationTimeoutInSeconds": 30, + "MaxConcurrentFaults": 3, + "WaitTimeBetweenIterationsInSeconds": 10, + "WaitTimeBetweenFaultsInSeconds": 1, + "TimeToRunInSeconds": "3600", + "EnableMoveReplicaFaults": true, + "ClusterHealthPolicy": { + "ConsiderWarningAsError": true, + "MaxPercentUnhealthyNodes": 0, + "MaxPercentUnhealthyApplications": 10, + "ApplicationTypeHealthPolicyMap": [ + { + "Key": "myapp", + "Value": 3 + } + ] + }, + "Context": { + "Map": { + "k1": "v1", + "k2": "v2", + "k3": "v5" + } + } + } + } + }, + { + "ChaosEvent": { + "Kind": "ExecutingFaults", + "TimeStampUtc": "2017-04-14T04:27:20.667Z", + "Faults": [ + "ActionType: RestartReplica, ServiceUri: fabric:/TestApp1/PersistServ_6R_1, PartitionId: 6a91b09a-bd76-45da-afaa-ed0fd9bfe7d2, ReplicaId: 131366172775684622", + "ActionType: CodePackageRestart, NodeName: N0050, ApplicationName: fabric:/TestApp1, ServiceManifestName: SP1, ServiceManifestName: , CodePackageName: CP1.", + "ActionType: RestartReplica, ServiceUri: fabric:/TestApp1/PersistServ_6R_3, PartitionId: baa3a51e-5c42-435e-89d3-6e97b2164661, ReplicaId: 131366172988968762" + ] + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetClusterEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetClusterEventList.json new file mode 100644 index 000000000000..3a122bb8aec0 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetClusterEventList.json @@ -0,0 +1,55 @@ +{ + "operationId": "GetClusterEventList", + "description": "This example shows how to get all cluster-related events during a certain time window.", + "parameters": { + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "ClusterUpgradeStarted", + "CurrentClusterVersion": "0.0.0.0:", + "TargetClusterVersion": "6.2:1.0", + "UpgradeType": "Rolling", + "RollingUpgradeMode": "UnmonitoredAuto", + "FailureAction": "Manual", + "EventInstanceId": "090add3c-8f56-4d35-8d57-a855745b6064", + "TimeStamp": "2018-04-03T20:18:59.4313064Z", + "HasCorrelatedEvents": false + }, + { + "Kind": "ClusterUpgradeDomainCompleted", + "TargetClusterVersion": "6.2:1.0", + "UpgradeState": "RollingForward", + "UpgradeDomains": "(0 1 2)", + "UpgradeDomainElapsedTimeInMs": 78.5288, + "EventInstanceId": "090add3c-8f56-4d35-8d57-a855745b6064", + "TimeStamp": "2018-04-03T20:19:59.5729953Z", + "HasCorrelatedEvents": false + }, + { + "Kind": "ClusterUpgradeDomainCompleted", + "TargetClusterVersion": "6.2:1.0", + "UpgradeState": "RollingForward", + "UpgradeDomains": "(3 4)", + "UpgradeDomainElapsedTimeInMs": 0.0, + "EventInstanceId": "090add3c-8f56-4d35-8d57-a855745b6064", + "TimeStamp": "2018-04-03T20:20:59.6271949Z", + "HasCorrelatedEvents": false + }, + { + "Kind": "ClusterUpgradeCompleted", + "TargetClusterVersion": "6.2:1.0", + "OverallUpgradeElapsedTimeInMs": 120196.5212, + "EventInstanceId": "090add3c-8f56-4d35-8d57-a855745b6064", + "TimeStamp": "2018-04-03T20:20:59.8134457Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetClusterVersion-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetClusterVersion-1.json new file mode 100644 index 000000000000..fd3b6fbf55b8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetClusterVersion-1.json @@ -0,0 +1,15 @@ +{ + "operationId": "GetClusterVersion", + "description": "This example retrieves the current (or lowest version during upgrade) cluster version.", + "parameters": { + "api-version": "6.4" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Version": "6.4.514.9494" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetContainerLogsDeployedOnNode-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetContainerLogsDeployedOnNode-1.json new file mode 100644 index 000000000000..1be29fb8e6ef --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetContainerLogsDeployedOnNode-1.json @@ -0,0 +1,19 @@ +{ + "operationId": "GetContainerLogsDeployedOnNode", + "description": "This example shows how to get container logs for container deployed on a Service Fabric node for the given code package.", + "parameters": { + "api-version": "6.2", + "nodeName": "_Node_0", + "applicationId": "SimpleHttpServerApp", + "ServiceManifestName": "SimpleHttpServerSvcPkg", + "CodePackageName": "Code" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Content": "HTTP Server started listening on port 8080\r\n" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetContainerLogsDeployedOnNode-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetContainerLogsDeployedOnNode-2.json new file mode 100644 index 000000000000..9f1025363561 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetContainerLogsDeployedOnNode-2.json @@ -0,0 +1,20 @@ +{ + "operationId": "GetContainerLogsDeployedOnNode", + "description": "This example shows how to get last 10 lines of container logs for container deployed on a Service Fabric node for the given code package.", + "parameters": { + "api-version": "6.2", + "nodeName": "_Node_0", + "applicationId": "SimpleHttpServerApp", + "ServiceManifestName": "SimpleHttpServerSvcPkg", + "CodePackageName": "Code", + "Tail": "10" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Content": "UTC Time Now: 04/02/2018 22:06:31\r\nUTC Time Now: 04/02/2018 22:06:32\r\nUTC Time Now: 04/02/2018 22:06:33\r\nUTC Time Now: 04/02/2018 22:06:344\r\nUTC Time Now: 04/02/2018 22:06:35\r\nUTC Time Now: 04/02/2018 22:06:36\r\nUTC Time Now: 04/02/2018 22:06:37\r\nUTC Time Now: 04/02/2018 22:06:38\r\nUTC Time Now: 04/02/2018 22:06:39\r\nUTC Time Now: 04/02/2018 22:06:40\r\n" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetContainerLogsDeployedOnNode-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetContainerLogsDeployedOnNode-3.json new file mode 100644 index 000000000000..2ca6cad4f774 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetContainerLogsDeployedOnNode-3.json @@ -0,0 +1,20 @@ +{ + "operationId": "GetContainerLogsDeployedOnNode", + "description": "This example shows how to get container logs of previous dead container on a Service Fabric node for the given code package.", + "parameters": { + "api-version": "6.2", + "nodeName": "_Node_0", + "applicationId": "SimpleHttpServerApp", + "ServiceManifestName": "SimpleHttpServerSvcPkg", + "CodePackageName": "Code", + "Previous": true + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Content": "Exception encountered: System.Net.Http.HttpRequestException: Response status code does not indicate success: 500 (Internal Server Error).\r\n\tat System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()\r\n" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetCorrelatedEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetCorrelatedEventList.json new file mode 100644 index 000000000000..7e271b230d90 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetCorrelatedEventList.json @@ -0,0 +1,31 @@ +{ + "operationId": "GetCorrelatedEventList", + "description": "This example shows how to get all correlated events for a given eventInstanceId.", + "parameters": { + "eventInstanceId": "e00fa5b7-f747-40dd-9e09-f5a031e96de4", + "api-version": "6.4" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "PartitionPrimaryMoveAnalysis", + "WhenMoveCompleted": "2018-04-03T20:06:55.966073Z", + "PreviousNode": "node3(b9d52c016a15a8f57673d3b8041e2d35)", + "CurrentNode": "node1(cf68563e16a44f808e86197a9cf83de5)", + "MoveReason": "ApplicationHostDown", + "RelevantTraces": "", + "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89", + "EventInstanceId": "59dde2bc-a833-412e-a56d-8f6ada0c7963", + "TimeStamp": "2018-04-03T20:07:55.966073Z", + "HasCorrelatedEvents": true, + "Metadata": { + "Delay": "00:00:20", + "Duration": "00:01:59" + } + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDataLossProgress-Running.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDataLossProgress-Running.json new file mode 100644 index 000000000000..90590fff4f2f --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDataLossProgress-Running.json @@ -0,0 +1,18 @@ +{ + "operationId": "GetDataLossProgress", + "description": "This shows an example of output when a data loss operation is in a Running State. If the State has a value of Running, only the State field will have a value.", + "parameters": { + "serviceId": "fabric:/myapp/myservice", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "OperationId": "7216486c-1ee9-4b00-99b2-92b26fcb07f5", + "api-version": "6.0" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "State": "Running" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDataLossProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDataLossProgress.json new file mode 100644 index 000000000000..89d341f05c26 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDataLossProgress.json @@ -0,0 +1,25 @@ +{ + "operationId": "GetDataLossProgress", + "description": "This shows an example of possible output when GetDataLossProgress has reached a State of Completed. If the State has a value of Running, only the State field will have a value.", + "parameters": { + "serviceId": "fabric:/myapp/myservice", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "OperationId": "7216486c-1ee9-4b00-99b2-92b26fcb07f5", + "api-version": "6.0" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "State": "Completed", + "InvokeDataLossResult": { + "ErrorCode": 0, + "SelectedPartition": { + "ServiceName": "fabric:/myapp/myservice", + "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + } + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoByName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoByName-1.json new file mode 100644 index 000000000000..bd3471f1bb5b --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoByName-1.json @@ -0,0 +1,27 @@ +{ + "operationId": "GetDeployedApplicationInfoList", + "description": "This example shows how to get information about an application deployed on a specified node by using an application identifier. If the application is found it's information is returned with 200 status code. An empty response with status code 204 is returned, if the specified application is not deployed on the node.", + "parameters": { + "api-version": "6.1", + "nodeName": "_Node_0", + "applicationId": "samples~CalculatorApp", + "IncludeHealthState": true + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Id": "samples~CalculatorApp", + "Name": "fabric:/samples/CalculatorApp", + "TypeName": "CalculatorApp", + "TypeVersion": "1.0.0", + "Status": "Active", + "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_1\\CalculatorApp_App0\\work", + "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_1\\CalculatorApp_App0\\log", + "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_1\\CalculatorApp_App0\\temp", + "HealthState": "Ok" + } + }, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoList-1.json new file mode 100644 index 000000000000..2a2261491d15 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoList-1.json @@ -0,0 +1,40 @@ +{ + "operationId": "GetDeployedApplicationInfoList", + "description": "This example shows how to specify the number of applications returned by the query when getting information about applications deployed on a specific node. The number of results in a page are limited to maximum of 2 using the MaxResult parameter. Health state is not requested in this example, so the returned health state will be Unknown.", + "parameters": { + "api-version": "6.1", + "nodeName": "_Node_0", + "MaxResults": 2 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "fabric:/samples/PQueueApp1", + "Items": [ + { + "Id": "samples~CalculatorApp", + "Name": "fabric:/samples/CalculatorApp", + "TypeName": "CalculatorApp", + "TypeVersion": "1.0.0", + "Status": "Active", + "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\work", + "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\log", + "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\temp", + "HealthState": "Unknown" + }, + { + "Id": "samples~PQueueApp1", + "Name": "fabric:/samples/PQueueApp1", + "TypeName": "PersistentQueueApp", + "Status": "Active", + "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\work", + "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\log", + "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\temp", + "HealthState": "Unknown" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoList-2.json new file mode 100644 index 000000000000..d8d1303de1ff --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoList-2.json @@ -0,0 +1,30 @@ +{ + "operationId": "GetDeployedApplicationInfoListByName", + "description": "This example demonstrates the paging functionality available when getting information about applications deployed on a specific node. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.1", + "nodeName": "_Node_0", + "ContinuationToken": "fabric:/samples/PQueueApp1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "Id": "samples~VQueueApp1", + "Name": "fabric:/samples/VQueueApp1", + "TypeName": "VolatileQueueApp", + "TypeVersion": "1.0.0", + "Status": "Active", + "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\work", + "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\log", + "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\temp", + "HealthState": "Unknown" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoList-3.json new file mode 100644 index 000000000000..68f747f89afb --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoList-3.json @@ -0,0 +1,52 @@ +{ + "operationId": "GetDeployedApplicationInfoList", + "description": "This example shows how to include the health state of each deployed application when getting information about applications deployed on a specific node.", + "parameters": { + "api-version": "6.1", + "nodeName": "_Node_0", + "IncludeHealthState": true + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "Id": "samples~CalculatorApp", + "Name": "fabric:/samples/CalculatorApp", + "TypeName": "CalculatorApp", + "TypeVersion": "1.0.0", + "Status": "Active", + "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\work", + "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\log", + "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\temp", + "HealthState": "Ok" + }, + { + "Id": "samples~PQueueApp1", + "Name": "fabric:/samples/PQueueApp1", + "TypeName": "PersistentQueueApp", + "TypeVersion": "1.0.0", + "Status": "Active", + "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\work", + "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\log", + "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\temp", + "HealthState": "Ok" + }, + { + "Id": "samples~VQueueApp1", + "Name": "fabric:/samples/VQueueApp1", + "TypeName": "VolatileQueueApp", + "TypeVersion": "1.0.0", + "Status": "Active", + "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\work", + "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\log", + "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\temp", + "HealthState": "Ok" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetFaultOperationList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetFaultOperationList.json new file mode 100644 index 000000000000..c7194dad614a --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetFaultOperationList.json @@ -0,0 +1,51 @@ +{ + "operationId": "GetFaultOperationList", + "description": "This shows an example of possible output for GetFaultOperationList", + "parameters": { + "TypeFilter": "0xFF", + "StateFilter": "0xFF", + "api-version": "6.0" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "OperationId": "00000000-0000-0000-0000-000000000010", + "State": "Completed", + "Type": "PartitionDataLoss" + }, + { + "OperationId": "00000000-0000-0000-0000-000000000020", + "State": "Completed", + "Type": "PartitionQuorumLoss" + }, + { + "OperationId": "00000000-0000-0000-0000-000000000030", + "State": "Completed", + "Type": "PartitionRestart" + }, + { + "OperationId": "00000000-0000-0000-0000-000000000500", + "State": "Faulted", + "Type": "NodeTransition" + }, + { + "OperationId": "00000000-0000-0000-0000-000000000700", + "State": "Completed", + "Type": "NodeTransition" + }, + { + "OperationId": "00000000-0000-0000-0000-000000000710", + "State": "Completed", + "Type": "NodeTransition" + }, + { + "OperationId": "88ef90f9-0b94-46b0-b817-a6ea20c07f8a", + "State": "Completed", + "Type": "PartitionRestart" + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetImageStoreContent.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetImageStoreContent.json new file mode 100644 index 000000000000..7e912c407a79 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetImageStoreContent.json @@ -0,0 +1,91 @@ +{ + "operationId": "GetImageStoreContent", + "description": "This example shows how to get image store content under the given relative path.", + "parameters": { + "api-version": "6.2", + "contentPath": "Store\\CalcServiceApp" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "StoreFiles": [ + { + "StoreRelativePath": "Store\\CalcServiceApp\\ApplicationManifest.2.0.xml", + "FileVersion": { + "EpochDataLossNumber": "131510254310497004", + "VersionNumber": "23", + "EpochConfigurationNumber": "25769803776" + }, + "FileSize": "897", + "ModifiedDate": "2017-09-28T17:44:22.609Z" + }, + { + "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Code.2.0.checksum", + "FileVersion": { + "EpochDataLossNumber": "131510254310497004", + "VersionNumber": "25", + "EpochConfigurationNumber": "25769803776" + }, + "FileSize": "66", + "ModifiedDate": "2017-09-28T17:44:22.468Z" + }, + { + "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Config.1.0.checksum", + "FileVersion": { + "EpochDataLossNumber": "131510254310497004", + "VersionNumber": "26", + "EpochConfigurationNumber": "25769803776" + }, + "FileSize": "66", + "ModifiedDate": "2017-09-28T17:44:22.468Z" + }, + { + "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Data.2.0.checksum", + "FileVersion": { + "EpochDataLossNumber": "131510254310497004", + "VersionNumber": "27", + "EpochConfigurationNumber": "25769803776" + }, + "FileSize": "66", + "ModifiedDate": "2017-09-28T17:44:22.468Z" + }, + { + "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Manifest.2.0.xml", + "FileVersion": { + "EpochDataLossNumber": "131510254310497004", + "VersionNumber": "19", + "EpochConfigurationNumber": "25769803776" + }, + "FileSize": "744", + "ModifiedDate": "2017-09-28T17:44:22.578Z" + }, + { + "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Manifest.2.0.xml.checksum", + "FileVersion": { + "EpochDataLossNumber": "131510254310497004", + "VersionNumber": "24", + "EpochConfigurationNumber": "25769803776" + }, + "FileSize": "66", + "ModifiedDate": "2017-09-28T17:44:22.484Z" + } + ], + "StoreFolders": [ + { + "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Code.2.0", + "FileCount": "2" + }, + { + "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Config.1.0", + "FileCount": "2" + }, + { + "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Data.2.0", + "FileCount": "2" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetImageStoreInfo.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetImageStoreInfo.json new file mode 100644 index 000000000000..e4360622b5fd --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetImageStoreInfo.json @@ -0,0 +1,36 @@ +{ + "operationId": "GetImageStoreInfo", + "description": "This example shows how to get ImageStore information.", + "parameters": { + "api-version": "6.5" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "DiskInfo": { + "Capacity": "500090007552", + "AvailableSpace": "228851900416" + }, + "UsedByMetadata": { + "UsedSpace": "23093248", + "FileCount": 6 + }, + "UsedByStaging": { + "UsedSpace": "6291456", + "FileCount": 9 + }, + "UsedByCopy": { + "UsedSpace": "4194304", + "FileCount": 2 + }, + "UsedByRegister": { + "UsedSpace": "4194304", + "FileCount": 3 + } + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeEventList.json new file mode 100644 index 000000000000..4368ae718d58 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeEventList.json @@ -0,0 +1,32 @@ +{ + "operationId": "GetNodeEventList", + "description": "This example shows how to get all node-related events during a certain time window.", + "parameters": { + "nodeName": "node1", + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "NodeOpenSucceeded", + "NodeInstance": 131672596159209215, + "NodeId": "ba001a8bb353543e646be031afb10f1e", + "UpgradeDomain": "0", + "FaultDomain": "fd:/0", + "IpAddressOrFQDN": "100.78.240.56", + "Hostname": "RD0003FF5089AA", + "IsSeedNode": false, + "NodeVersion": "6.2:1.0", + "NodeName": "node1", + "EventInstanceId": "ecbce04a-a42b-4b70-a800-dfc6bc4f9b89", + "TimeStamp": "2018-04-03T20:06:55.966073Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfo-1.json new file mode 100644 index 000000000000..24b8cfac97f7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfo-1.json @@ -0,0 +1,41 @@ +{ + "operationId": "GetNodeInfo", + "description": "This example shows how to get information about an node using it's identifier. If the node is found, information about it is returned with 200 status code. If the node is not found, empty content is returned with 204 status code.", + "parameters": { + "api-version": "6.0", + "nodeName": "_Node_1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Name": "_testnode_0", + "IpAddressOrFQDN": "10.0.0.4", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "18688", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "0", + "FaultDomain": "fd:/0", + "Id": { + "Id": "2acb9f55540659b1c95f27cc128ab326" + }, + "InstanceId": "131738240209152398", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-18T19:33:52.944Z", + "NodeDownAt": "2018-06-18T19:33:39.514Z" + } + }, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfoList-1.json new file mode 100644 index 000000000000..3efae8e6c95a --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfoList-1.json @@ -0,0 +1,72 @@ +{ + "operationId": "GetNodeInfoList", + "description": "This example shows how to get information about the nodes in the cluster when the number of results returned is limited by the MaxResults parameter.", + "parameters": { + "api-version": "6.3", + "MaxResults": 2 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "2acb9f55", + "Items": [ + { + "Name": "_testnode_1", + "IpAddressOrFQDN": "10.0.0.5", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "102016", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "1", + "FaultDomain": "fd:/1", + "Id": { + "Id": "ebd986a1134b3643a8117fb41b259bf" + }, + "InstanceId": "131738274982501335", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-18T20:31:39.842Z", + "NodeDownAt": "2018-06-18T20:31:37.374Z" + }, + { + "Name": "_testnode_0", + "IpAddressOrFQDN": "10.0.0.4", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "105483", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "0", + "FaultDomain": "fd:/0", + "Id": { + "Id": "2acb9f55540659b1c95f27cc128ab326" + }, + "InstanceId": "131738240209152398", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-18T19:33:52.944Z", + "NodeDownAt": "2018-06-18T19:33:39.514Z" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfoList-2.json new file mode 100644 index 000000000000..699cc572b639 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfoList-2.json @@ -0,0 +1,99 @@ +{ + "operationId": "GetNodeInfoList", + "description": "This example shows how to get information about nodes in the cluster which appear on a sequential page, by using the ContinuationToken parameter.", + "parameters": { + "api-version": "6.3", + "ContinuationToken": "2acb9f55" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "Name": "_Node_4", + "IpAddressOrFQDN": "10.0.0.8", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "101547", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "4", + "FaultDomain": "fd:/4", + "Id": { + "Id": "ba9383d728221add7fa996bf67b757fb" + }, + "InstanceId": "131737415865259763", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-17T20:40:07.378Z", + "NodeDownAt": "2018-06-17T20:33:11.877Z" + }, + { + "Name": "_Node_3", + "IpAddressOrFQDN": "10.0.0.7", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "15615", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "3", + "FaultDomain": "fd:/3", + "Id": { + "Id": "d6a18a0935a3e39aeae2a049eb97255d" + }, + "InstanceId": "131738275300526952", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-18T20:32:18.884Z", + "NodeDownAt": "2018-06-18T20:31:59.128Z" + }, + { + "Name": "_Node_2", + "IpAddressOrFQDN": "10.0.0.6", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "19819", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "2", + "FaultDomain": "fd:/2", + "Id": { + "Id": "f2af91e5e9c8254dedb75b1424a9e3fc" + }, + "InstanceId": "131738233282843485", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-18T19:22:15.272Z", + "NodeDownAt": "2018-06-18T19:22:02.740Z" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfoList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfoList.json new file mode 100644 index 000000000000..d38a618440a9 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfoList.json @@ -0,0 +1,152 @@ +{ + "operationId": "GetNodeInfoList", + "description": "This example shows how to get information about all the nodes in the cluster when the information fits in a single response message without the need for paging through ContinuationToken parameter.", + "parameters": { + "api-version": "6.3" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "Name": "_Node_1", + "IpAddressOrFQDN": "10.0.0.5", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "15275", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "1", + "FaultDomain": "fd:/1", + "Id": { + "Id": "ebd986a1134b3643a8117fb41b259bf" + }, + "InstanceId": "131738274982501335", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-18T20:31:39.842Z", + "NodeDownAt": "2018-06-18T20:31:37.374Z" + }, + { + "Name": "_Node_0", + "IpAddressOrFQDN": "10.0.0.4", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "18742", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "0", + "FaultDomain": "fd:/0", + "Id": { + "Id": "2acb9f55540659b1c95f27cc128ab326" + }, + "InstanceId": "131738240209152398", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-18T19:33:52.944Z", + "NodeDownAt": "2018-06-18T19:33:39.514Z" + }, + { + "Name": "_Node_4", + "IpAddressOrFQDN": "10.0.0.8", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "101168", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "4", + "FaultDomain": "fd:/4", + "Id": { + "Id": "ba9383d728221add7fa996bf67b757fb" + }, + "InstanceId": "131737415865259763", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-17T20:40:07.378Z", + "NodeDownAt": "2018-06-17T20:33:11.877Z" + }, + { + "Name": "_Node_3", + "IpAddressOrFQDN": "10.0.0.7", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "15236", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "3", + "FaultDomain": "fd:/3", + "Id": { + "Id": "d6a18a0935a3e39aeae2a049eb97255d" + }, + "InstanceId": "131738275300526952", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-18T20:32:18.884Z", + "NodeDownAt": "2018-06-18T20:31:59.128Z" + }, + { + "Name": "_Node_2", + "IpAddressOrFQDN": "10.0.0.6", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "19440", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "2", + "FaultDomain": "fd:/2", + "Id": { + "Id": "f2af91e5e9c8254dedb75b1424a9e3fc" + }, + "InstanceId": "131738233282843485", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-18T19:22:15.272Z", + "NodeDownAt": "2018-06-18T19:22:02.740Z" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeTransitionProgress-Running.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeTransitionProgress-Running.json new file mode 100644 index 000000000000..62ad5c37ec58 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeTransitionProgress-Running.json @@ -0,0 +1,17 @@ +{ + "operationId": "GetNodeTransitionProgress", + "description": "This shows an example of output when GetTransitionProgress has a State of Running.", + "parameters": { + "nodeName": "N0060", + "OperationId": "ed903556-acf1-489c-9f33-b484c31f9087", + "api-version": "6.0" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "State": "Running" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeTransitionProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeTransitionProgress.json new file mode 100644 index 000000000000..474ab826b8df --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeTransitionProgress.json @@ -0,0 +1,24 @@ +{ + "operationId": "GetNodeTransitionProgress", + "description": "This shows an example of possible output when GetTransitionProgress has reached a State of Completed. If the State has a value of Running, only the State field will have a value.", + "parameters": { + "nodeName": "N0060", + "OperationId": "a9c24269-88e9-4812-b4ad-a0bf2b724ad4", + "api-version": "6.0" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "State": "Completed", + "NodeTransitionResult": { + "ErrorCode": 0, + "NodeResult": { + "NodeName": "N0060", + "NodeInstanceId": "131366982707950527" + } + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodesEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodesEventList.json new file mode 100644 index 000000000000..7aed70b97f31 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodesEventList.json @@ -0,0 +1,46 @@ +{ + "operationId": "GetNodesEventList", + "description": "This example shows how to get all nodes-related events during a certain time window.", + "parameters": { + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "NodeOpenSucceeded", + "NodeInstance": 131672596159209215, + "NodeId": "ba001a8bb353543e646be031afb10f1e", + "UpgradeDomain": "0", + "FaultDomain": "fd:/0", + "IpAddressOrFQDN": "100.78.240.56", + "Hostname": "RD0003FF5089AA", + "IsSeedNode": false, + "NodeVersion": "6.2:1.0", + "NodeName": "node1", + "EventInstanceId": "ecbce04a-a42b-4b70-a800-dfc6bc4f9b89", + "TimeStamp": "2018-04-03T20:06:55.966073Z", + "HasCorrelatedEvents": false + }, + { + "Kind": "NodeOpenSucceeded", + "NodeInstance": 131672596186027906, + "NodeId": "ba03ef91259835c54d674889849a7cee", + "UpgradeDomain": "3", + "FaultDomain": "fd:/3", + "IpAddressOrFQDN": "100.72.76.122", + "Hostname": "RD0003FF6047A8", + "IsSeedNode": false, + "NodeVersion": "6.2:1.0", + "NodeName": "node2", + "EventInstanceId": "67730c48-752c-4209-bf28-3c121555a4c0", + "TimeStamp": "2018-04-03T20:06:58.6357365Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupConfigurationInfo.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupConfigurationInfo.json new file mode 100644 index 000000000000..dd97740de85f --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupConfigurationInfo.json @@ -0,0 +1,24 @@ +{ + "operationId": "GetPartitionBackupConfigurationInfo", + "description": "This example shows how to get backup configuration for a partition.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Kind": "Partition", + "PolicyName": "BackupPolicy2", + "PolicyInheritedFrom": "Service", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "SuspensionInfo": { + "IsSuspended": true, + "SuspensionInheritedFrom": "Partition" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-1.json new file mode 100644 index 000000000000..2c5fb63a2bc3 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-1.json @@ -0,0 +1,64 @@ +{ + "operationId": "GetPartitionBackupList", + "description": "This example shows how to get list of partition backups within a time range.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "StartDateTimeFilter": "2018-01-01T00:00:00Z", + "EndDateTimeFilter": "2018-01-01T23:59:59Z" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "261", + "CreationTimeUtc": "2018-01-01T09:00:55Z", + "FailureError": null + }, + { + "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "446", + "CreationTimeUtc": "2018-01-01T17:01:02Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-2.json new file mode 100644 index 000000000000..cc627b382457 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-2.json @@ -0,0 +1,41 @@ +{ + "operationId": "GetPartitionBackupList", + "description": "This example shows how to get the latest backup for the specified partition.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "Latest": true + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "be06a49c-be67-4eb1-a602-b983605be862", + "BackupChainId": "be06a49c-be67-4eb1-a602-b983605be862", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-02 08.59.53.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "639", + "CreationTimeUtc": "2018-01-02T08:59:53Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-3.json new file mode 100644 index 000000000000..2cddad80321f --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-3.json @@ -0,0 +1,63 @@ +{ + "operationId": "GetPartitionBackupList", + "description": "This example shows how to get list of partition backups. The number of results in a page are limited to maximum of two using the MaxResult parameter.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "MaxResults": 2 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "Items": [ + { + "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "261", + "CreationTimeUtc": "2018-01-01T09:00:55Z", + "FailureError": null + }, + { + "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "446", + "CreationTimeUtc": "2018-01-01T17:01:02Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-4.json new file mode 100644 index 000000000000..c73aaece09c8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-4.json @@ -0,0 +1,42 @@ +{ + "operationId": "GetPartitionBackupList", + "description": "This example shows how to get list of partition backups. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "MaxResults": 2, + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "be06a49c-be67-4eb1-a602-b983605be862", + "BackupChainId": "be06a49c-be67-4eb1-a602-b983605be862", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-02 08.59.53.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "639", + "CreationTimeUtc": "2018-01-02T08:59:53Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupProgress.json new file mode 100644 index 000000000000..9d0df23312a6 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupProgress.json @@ -0,0 +1,25 @@ +{ + "operationId": "GetPartitionBackupProgress", + "description": "This shows an example of possible output when GetPartitionBackupProgress has reached a BackupState of Success. If the BackupState has a value of BackupInProgress, only the BackupState field will have a value.", + "parameters": { + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "api-version": "6.4" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "BackupState": "Success", + "TimeStampUtc": "2018-01-01T09:00:55Z", + "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "261", + "FailureError": null + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionEventList.json new file mode 100644 index 000000000000..bbfca06712e9 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionEventList.json @@ -0,0 +1,37 @@ +{ + "operationId": "GetPartitionEventList", + "description": "This example shows how to get all partition-related events during a certain time window.", + "parameters": { + "partitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89", + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "PartitionReconfigured", + "NodeName": "node1", + "NodeInstanceId": "ba001a8bb353543e646be031afb10f1e", + "ServiceType": "Svc1Type", + "CcEpochDataLossVersion": 131672604833413107, + "CcEpochConfigVersion": 8589934595, + "ReconfigType": "Other", + "Result": "Completed", + "Phase0DurationMs": 0.0, + "Phase1DurationMs": 0.0, + "Phase2DurationMs": 203.1935, + "Phase3DurationMs": 0.0262, + "Phase4DurationMs": 628.8527, + "TotalDurationMs": 832.0724, + "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89", + "EventInstanceId": "e00fa5b7-f747-40dd-9e09-f5a031e96de4", + "TimeStamp": "2018-04-03T20:21:47.3778996Z", + "HasCorrelatedEvents": true + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionRestartProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionRestartProgress.json new file mode 100644 index 000000000000..074289b470a2 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionRestartProgress.json @@ -0,0 +1,25 @@ +{ + "operationId": "GetPartitionRestartProgress", + "description": "This shows an example of possible output when GetPartitionRestartProgress has reached a State of Completed. If the State has a value of Running, only the State field will have a value.", + "parameters": { + "serviceId": "fabric:/myapp/myservice", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "OperationId": "6eb7f0d3-49ca-4cb1-81b7-ac2d56b5c5d1", + "api-version": "6.0" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "State": "Completed", + "RestartPartitionResult": { + "ErrorCode": 0, + "SelectedPartition": { + "ServiceName": "fabric:/myapp/myservice", + "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + } + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionRestoreProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionRestoreProgress.json new file mode 100644 index 000000000000..da52d1a100b9 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionRestoreProgress.json @@ -0,0 +1,23 @@ +{ + "operationId": "GetPartitionRestoreProgress", + "description": "This shows an example of possible output when GetPartitionRestoreProgress has reached a RestoreState of Success. If the RestoreState has a value of RestoreInProgress, only the RestoreState field will have a value.", + "parameters": { + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "api-version": "6.4" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "RestoreState": "Success", + "TimeStampUtc": "2018-01-01T09:00:55Z", + "RestoredEpoch": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "RestoredLsn": "261", + "FailureError": null + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionsEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionsEventList.json new file mode 100644 index 000000000000..e49c5e402b00 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionsEventList.json @@ -0,0 +1,56 @@ +{ + "operationId": "GetPartitionsEventList", + "description": "This example shows how to get all partitions-related events during a certain time window.", + "parameters": { + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "PartitionReconfigured", + "NodeName": "node1", + "NodeInstanceId": "ba001a8bb353543e646be031afb10f1e", + "ServiceType": "Svc1Type", + "CcEpochDataLossVersion": 131672604833413107, + "CcEpochConfigVersion": 8589934595, + "ReconfigType": "Other", + "Result": "Completed", + "Phase0DurationMs": 0.0, + "Phase1DurationMs": 0.0, + "Phase2DurationMs": 203.1935, + "Phase3DurationMs": 0.0262, + "Phase4DurationMs": 628.8527, + "TotalDurationMs": 832.0724, + "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89", + "EventInstanceId": "e00fa5b7-f747-40dd-9e09-f5a031e96de4", + "TimeStamp": "2018-04-03T20:21:47.3778996Z", + "HasCorrelatedEvents": true + }, + { + "Kind": "PartitionReconfigured", + "NodeName": "node2", + "NodeInstanceId": "ba0459d257b028296deba8bd5add33cb", + "ServiceType": "Svc1Type", + "CcEpochDataLossVersion": 131672604833413107, + "CcEpochConfigVersion": 8589934596, + "ReconfigType": "Other", + "Result": "Completed", + "Phase0DurationMs": 0.0, + "Phase1DurationMs": 0.0, + "Phase2DurationMs": 205.667, + "Phase3DurationMs": 407.7781, + "Phase4DurationMs": 630.0935, + "TotalDurationMs": 1243.5386, + "PartitionId": "e12acfb3-2a43-4a1a-a252-aa5388ef1aec", + "EventInstanceId": "9aeb234a-16ef-4e8a-974e-26c60d6f2b86", + "TimeStamp": "2018-04-03T20:21:49.5155104Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfo-1.json new file mode 100644 index 000000000000..ca5def4be2fb --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfo-1.json @@ -0,0 +1,29 @@ +{ + "operationId": "GetPropertyInfo", + "description": "This example shows how to get a Service Fabric property under a given name.", + "parameters": { + "api-version": "6.0", + "nameId": "samples/apps", + "PropertyName": "AppData" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Name": "CalculatorAppData", + "Value": { + "Kind": "String", + "Data": "1+2=3" + }, + "Metadata": { + "TypeId": "String", + "CustomTypeId": "EquationType", + "Parent": "fabric:/samples/apps", + "SizeInBytes": 12, + "LastModifiedUtcTimestamp": "2017-07-17T04:27:19.049Z", + "SequenceNumber": "12" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfoList-1.json new file mode 100644 index 000000000000..5729c6a4e4a2 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfoList-1.json @@ -0,0 +1,41 @@ +{ + "operationId": "GetPropertyInfoList", + "description": "This example shows how to get all Service Fabric properties under a given name.", + "parameters": { + "api-version": "6.0", + "nameId": "samples/apps" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "PersistentQueueAppData$131439231986491349", + "IsConsistent": true, + "Properties": [ + { + "Name": "CalculatorAppData", + "Metadata": { + "TypeId": "Int64", + "CustomTypeId": "", + "Parent": "fabric:/samples/apps", + "SizeInBytes": 5, + "LastModifiedUtcTimestamp": "2017-07-17T04:27:19.049Z", + "SequenceNumber": "10" + } + }, + { + "Name": "PersistentQueueAppData", + "Metadata": { + "TypeId": "Binary", + "CustomTypeId": "InitializationDataType", + "Parent": "fabric:/samples/apps", + "SizeInBytes": 5, + "LastModifiedUtcTimestamp": "2017-07-17T04:36:19.049Z", + "SequenceNumber": "12" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfoList-2.json new file mode 100644 index 000000000000..6a172f23f09a --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfoList-2.json @@ -0,0 +1,56 @@ +{ + "operationId": "GetPropertyInfoList", + "description": "This example shows how to get all Service Fabric properties and their values under a given name.", + "parameters": { + "api-version": "6.0", + "nameId": "samples/apps", + "IncludeValues": true + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "PersistentQueueAppData$131439231986491349", + "IsConsistent": true, + "Properties": [ + { + "Name": "CalculatorAppData", + "Value": { + "Kind": "Int64", + "Data": "4534" + }, + "Metadata": { + "TypeId": "Int64", + "CustomTypeId": "", + "Parent": "fabric:/samples/apps", + "SizeInBytes": 8, + "LastModifiedUtcTimestamp": "2017-07-17T04:27:19.049Z", + "SequenceNumber": "10" + } + }, + { + "Name": "PersistentQueueAppData", + "Value": { + "Kind": "Binary", + "Data": [ + 6, + 7, + 8, + 9, + 10 + ] + }, + "Metadata": { + "TypeId": "Binary", + "CustomTypeId": "InitializationDataType", + "Parent": "fabric:/samples/apps", + "SizeInBytes": 5, + "LastModifiedUtcTimestamp": "2017-07-17T04:36:19.049Z", + "SequenceNumber": "12" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfoList-3.json new file mode 100644 index 000000000000..ce12465b6ce6 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfoList-3.json @@ -0,0 +1,36 @@ +{ + "operationId": "GetPropertyInfoList", + "description": "This example shows how to page through the information about properties under a given Service Fabric name using ContinuationToken parameter. The value of this parameter is provided from the previous query, in this case the example shown above. The response contains the remaining two results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.0", + "nameId": "samples/apps", + "IncludeValues": true, + "ContinuationToken": "PersistentQueueAppData$131439231986491349" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "IsConsistent": true, + "Properties": [ + { + "Name": "VolatileQueueAppData", + "Value": { + "Kind": "Double", + "Data": 67.89 + }, + "Metadata": { + "TypeId": "Double", + "CustomTypeId": "", + "Parent": "fabric:/samples/apps", + "SizeInBytes": 8, + "LastModifiedUtcTimestamp": "2017-07-17T04:01:19.049Z", + "SequenceNumber": "8" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetQuorumLossProgress-Running.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetQuorumLossProgress-Running.json new file mode 100644 index 000000000000..203fb157db03 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetQuorumLossProgress-Running.json @@ -0,0 +1,18 @@ +{ + "operationId": "GetQuorumLossProgress", + "description": "This shows an example of possible output when GetQuorumLossProgress has a State of Running. If the State has a value of Running, only the State field will have a value.", + "parameters": { + "serviceId": "fabric:/myapp/myservice", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "OperationId": "81fbaee7-4f49-44bb-a350-4cb2b51dbf26", + "api-version": "6.0" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "State": "Running" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetQuorumLossProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetQuorumLossProgress.json new file mode 100644 index 000000000000..c86fd0d2b31d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetQuorumLossProgress.json @@ -0,0 +1,25 @@ +{ + "operationId": "GetQuorumLossProgress", + "description": "This shows an example of possible output when GetQuorumLossProgress has reached a State of Completed. If the State has a value of Running, only the State field will have a value.", + "parameters": { + "serviceId": "fabric:/myapp/myservice", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "OperationId": "81fbaee7-4f49-44bb-a350-4cb2b51dbf26", + "api-version": "6.0" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "State": "Completed", + "InvokeQuorumLossResult": { + "ErrorCode": 0, + "SelectedPartition": { + "ServiceName": "fabric:/myapp/myservice", + "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + } + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetReplicaEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetReplicaEventList.json new file mode 100644 index 000000000000..a3b517117bac --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetReplicaEventList.json @@ -0,0 +1,35 @@ +{ + "operationId": "GetPartitionReplicaEventList", + "description": "This example shows how to get all replica-related events during a certain time window.", + "parameters": { + "partitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89", + "replicaId": 131672608994209130, + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "StatefulReplicaNewHealthReport", + "ReplicaInstanceId": 131672608994209130, + "SourceId": "TestSource", + "Property": "", + "HealthState": "Error", + "TimeToLiveMs": 922337203685477, + "SequenceNumber": 131672654189677787, + "Description": "", + "RemoveWhenExpired": false, + "SourceUtcTimestamp": "2018-04-03T21:43:38Z", + "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89", + "ReplicaId": 131672608994209130, + "EventInstanceId": "b2684da3-df81-4add-8baa-201f73e9195d", + "TimeStamp": "2018-04-03T21:43:38.8904013Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetReplicasEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetReplicasEventList.json new file mode 100644 index 000000000000..1d2e9212dfcc --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetReplicasEventList.json @@ -0,0 +1,51 @@ +{ + "operationId": "GetPartitionReplicasEventList", + "description": "This example shows how to get all replicas-related events during a certain time window.", + "parameters": { + "partitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89", + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "StatefulReplicaNewHealthReport", + "ReplicaInstanceId": 131672608994209130, + "SourceId": "TestSource", + "Property": "", + "HealthState": "Error", + "TimeToLiveMs": 922337203685477, + "SequenceNumber": 131672654189677787, + "Description": "", + "RemoveWhenExpired": false, + "SourceUtcTimestamp": "2018-04-03T21:43:38Z", + "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89", + "ReplicaId": 131672608994209130, + "EventInstanceId": "b2684da3-df81-4add-8baa-201f73e9195d", + "TimeStamp": "2018-04-03T21:43:38.8904013Z", + "HasCorrelatedEvents": false + }, + { + "Kind": "StatefulReplicaNewHealthReport", + "ReplicaInstanceId": 177872608994339550, + "SourceId": "TestSource", + "Property": "", + "HealthState": "Error", + "TimeToLiveMs": 922337203685477, + "SequenceNumber": 131672654189677788, + "Description": "", + "RemoveWhenExpired": false, + "SourceUtcTimestamp": "2018-04-03T21:44:38Z", + "PartitionId": "f549f3b3-08c2-4ec4-adb4-415e024cb0ef", + "ReplicaId": 177872608994339550, + "EventInstanceId": "4a8851d8-35a3-4618-b4ac-03ffa191c350", + "TimeStamp": "2018-04-03T21:44:38.8904013Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupConfigurationInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupConfigurationInfo-1.json new file mode 100644 index 000000000000..ab37c65b803f --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupConfigurationInfo-1.json @@ -0,0 +1,40 @@ +{ + "operationId": "GetServiceBackupConfigurationInfo", + "description": "This example shows how to get list of backup configuration for this service and partitions under this service. The number of results in a page are limited to maximum of two using the MaxResult parameter.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService", + "MaxResults": 2 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "Items": [ + { + "Kind": "Service", + "PolicyName": "BackupPolicy1", + "PolicyInheritedFrom": "Application", + "ServiceName": "fabric:/CalcApp/CalcService", + "SuspensionInfo": { + "IsSuspended": false, + "SuspensionInheritedFrom": "Invalid" + } + }, + { + "Kind": "Partition", + "PolicyName": "BackupPolicy2", + "PolicyInheritedFrom": "Partition", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "SuspensionInfo": { + "IsSuspended": false, + "SuspensionInheritedFrom": "Invalid" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupConfigurationInfo-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupConfigurationInfo-2.json new file mode 100644 index 000000000000..76e7e948550d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupConfigurationInfo-2.json @@ -0,0 +1,31 @@ +{ + "operationId": "GetServiceBackupConfigurationInfo", + "description": "This example shows how to get list of backup configuration for this service and partitions under this service. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService", + "MaxResults": 2, + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "Kind": "Partition", + "PolicyName": "BackupPolicy1", + "PolicyInheritedFrom": "Application", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionId": "7216486c-1ee9-4b00-99b2-92b26fcb07f6", + "SuspensionInfo": { + "IsSuspended": true, + "SuspensionInheritedFrom": "Partition" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-1.json new file mode 100644 index 000000000000..b561b1b20f84 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-1.json @@ -0,0 +1,108 @@ +{ + "operationId": "GetServiceBackupList", + "description": "This example shows how to get list of service backups within a time range.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService", + "StartDateTimeFilter": "2018-01-01T00:00:00Z", + "EndDateTimeFilter": "2018-01-01T23:59:59Z" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "261", + "CreationTimeUtc": "2018-01-01T09:00:55Z", + "FailureError": null + }, + { + "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "446", + "CreationTimeUtc": "2018-01-01T17:01:02Z", + "FailureError": null + }, + { + "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "161", + "CreationTimeUtc": "2018-01-01T09:01:02Z", + "FailureError": null + }, + { + "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "246", + "CreationTimeUtc": "2018-01-01T17:00:34Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-2.json new file mode 100644 index 000000000000..df570db76649 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-2.json @@ -0,0 +1,63 @@ +{ + "operationId": "GetServiceBackupList", + "description": "This example shows how to get the latest backup for each partition within a service.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService", + "Latest": true + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "446", + "CreationTimeUtc": "2018-01-01T17:01:02Z", + "FailureError": null + }, + { + "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "246", + "CreationTimeUtc": "2018-01-01T17:00:34Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-3.json new file mode 100644 index 000000000000..5b162231a889 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-3.json @@ -0,0 +1,63 @@ +{ + "operationId": "GetServiceBackupList", + "description": "This example shows how to get list of service backups. The number of results in a page are limited to maximum of two using the MaxResult parameter.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService", + "MaxResults": 2 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "Items": [ + { + "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "261", + "CreationTimeUtc": "2018-01-01T09:00:55Z", + "FailureError": null + }, + { + "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "446", + "CreationTimeUtc": "2018-01-01T17:01:02Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-4.json new file mode 100644 index 000000000000..7420d61aca49 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-4.json @@ -0,0 +1,64 @@ +{ + "operationId": "GetServiceBackupList", + "description": "This example shows how to get list of service backups. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService", + "MaxResults": 2, + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "161", + "CreationTimeUtc": "2018-01-01T09:01:02Z", + "FailureError": null + }, + { + "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "246", + "CreationTimeUtc": "2018-01-01T17:00:34Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceEventList.json new file mode 100644 index 000000000000..fdaa115873cd --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceEventList.json @@ -0,0 +1,34 @@ +{ + "operationId": "GetServiceEventList", + "description": "This example shows how to get all service-related events during a certain time window.", + "parameters": { + "serviceId": "app1~svc1", + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "ServiceCreated", + "ServiceTypeName": "Svc1Type", + "ApplicationName": "fabric:/app1", + "ApplicationTypeName": "App1Type", + "ServiceInstance": 131672605579916062, + "IsStateful": true, + "PartitionCount": 2, + "TargetReplicaSetSize": 3, + "MinReplicaSetSize": 2, + "ServicePackageVersion": "1.0:1.0", + "PartitionId": "bd936249-183d-4e29-94ab-2e198e4e2e87", + "ServiceId": "app1/svc1", + "EventInstanceId": "8ba26506-4a93-4b8c-ae14-29a2841b3003", + "TimeStamp": "2018-04-03T20:22:38.0560496Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceTypeInfoByName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceTypeInfoByName-1.json new file mode 100644 index 000000000000..4340954856fe --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceTypeInfoByName-1.json @@ -0,0 +1,36 @@ +{ + "operationId": "GetServiceTypeInfoByName", + "description": "This example shows how to get information about a specific service type. A 204 response is returned if the specified service type is not found in the cluster.", + "parameters": { + "api-version": "6.0", + "applicationTypeName": "Application2Type", + "ApplicationTypeVersion": "1.0.0", + "serviceTypeName": "Actor1ActorServiceType" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ServiceTypeDescription": { + "IsStateful": true, + "ServiceTypeName": "Actor1ActorServiceType", + "PlacementConstraints": "", + "HasPersistedState": true, + "Kind": "Stateful", + "Extensions": [ + { + "Key": "__GeneratedServiceType__", + "Value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n " + } + ], + "LoadMetrics": [], + "ServicePlacementPolicies": [] + }, + "ServiceManifestVersion": "1.0.0", + "ServiceManifestName": "Actor1Pkg", + "IsServiceGroup": false + } + }, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceTypeInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceTypeInfoList-1.json new file mode 100644 index 000000000000..a4481bfa08c0 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceTypeInfoList-1.json @@ -0,0 +1,36 @@ +{ + "operationId": "GetServiceTypeInfoList", + "description": "This example shows how to get information about service types that are supported by a provisioned application type in a Service Fabric cluster.", + "parameters": { + "api-version": "6.0", + "applicationTypeName": "Application2Type", + "ApplicationTypeVersion": "1.0.0" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "ServiceTypeDescription": { + "IsStateful": true, + "ServiceTypeName": "Actor1ActorServiceType", + "PlacementConstraints": "", + "HasPersistedState": true, + "Kind": "Stateful", + "Extensions": [ + { + "Key": "__GeneratedServiceType__", + "Value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n " + } + ], + "LoadMetrics": [], + "ServicePlacementPolicies": [] + }, + "ServiceManifestVersion": "1.0.0", + "ServiceManifestName": "Actor1Pkg", + "IsServiceGroup": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServicesEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServicesEventList.json new file mode 100644 index 000000000000..2d5863180a5a --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServicesEventList.json @@ -0,0 +1,50 @@ +{ + "operationId": "GetServicesEventList", + "description": "This example shows how to get all services-related events during a certain time window.", + "parameters": { + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "ServiceCreated", + "ServiceTypeName": "Svc1Type", + "ApplicationName": "fabric:/app1", + "ApplicationTypeName": "App1Type", + "ServiceInstance": 131672605579916062, + "IsStateful": true, + "PartitionCount": 2, + "TargetReplicaSetSize": 3, + "MinReplicaSetSize": 2, + "ServicePackageVersion": "1.0:1.0", + "PartitionId": "bd936249-183d-4e29-94ab-2e198e4e2e87", + "ServiceId": "app1/svc1", + "EventInstanceId": "8ba26506-4a93-4b8c-ae14-29a2841b3003", + "TimeStamp": "2018-04-03T20:22:38.0560496Z", + "HasCorrelatedEvents": false + }, + { + "Kind": "ServiceCreated", + "ServiceTypeName": "Svc2Type", + "ApplicationName": "fabric:/app1", + "ApplicationTypeName": "App1Type", + "ServiceInstance": 131672605579916062, + "IsStateful": true, + "PartitionCount": 2, + "TargetReplicaSetSize": 3, + "MinReplicaSetSize": 2, + "ServicePackageVersion": "1.0:1.0", + "PartitionId": "87413d64-0134-4b23-a439-c2692c4e3ec3", + "ServiceId": "app1/svc2", + "EventInstanceId": "03246d3b-77f5-4ca2-b065-7b8671711318", + "TimeStamp": "2018-04-03T20:22:38.056197Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetSubNameInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetSubNameInfoList-1.json new file mode 100644 index 000000000000..282319140d86 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetSubNameInfoList-1.json @@ -0,0 +1,21 @@ +{ + "operationId": "GetSubNameInfoList", + "description": "This example shows how to get information about all sub names of a given Service Fabric name.", + "parameters": { + "api-version": "6.0", + "nameId": "samples" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "IsConsistent": true, + "SubNames": [ + "fabric:/samples/CalculatorApp", + "fabric:/samples/mynames" + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetSubNameInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetSubNameInfoList-2.json new file mode 100644 index 000000000000..15391854f370 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetSubNameInfoList-2.json @@ -0,0 +1,27 @@ +{ + "operationId": "GetSubNameInfoList", + "description": "This example shows how to recursively get information about all child sub names of a given Service Fabric name.", + "parameters": { + "api-version": "6.0", + "nameId": "samples", + "Recursive": true + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "IsConsistent": true, + "SubNames": [ + "fabric:/samples/apps", + "fabric:/samples/data", + "fabric:/samples/CalculatorApp", + "fabric:/samples/CalculatorApp/CalculatorService", + "fabric:/samples/CalculatorApp/CalculatorService/Name-1", + "fabric:/samples/CalculatorApp/CalculatorService/Name-2", + "fabric:/samples/mynames/name-1" + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetSubNameInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetSubNameInfoList-3.json new file mode 100644 index 000000000000..bf07c9c58bc4 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetSubNameInfoList-3.json @@ -0,0 +1,23 @@ +{ + "operationId": "GetSubNameInfoList", + "description": "This example shows how to page through the information about sub names under a given Service Fabric name using ContinuationToken parameter. The value of this parameter is provided from the previous query, in this case the example shown above. The response contains the remaining two results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.0", + "nameId": "samples", + "Recursive": true, + "ContinuationToken": "fabric:/samples/apps/PersistentQueueApp$131439231986491349" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "IsConsistent": true, + "SubNames": [ + "fabric:/samples/apps/VolatileQueueApp", + "fabric:/samples/apps/NotepadApp" + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetUploadSessionById.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetUploadSessionById.json new file mode 100644 index 000000000000..c565a13cfcbc --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetUploadSessionById.json @@ -0,0 +1,33 @@ +{ + "operationId": "GetImageStoreUploadSessionById", + "description": "This example shows how to get image store upload session by a given ID.", + "parameters": { + "api-version": "6.0", + "session-id": "4a2340e8-d8d8-497c-95fe-cdaa1052f33b" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "UploadSessions": [ + { + "StoreRelativePath": "SwaggerTest\\Common.dll", + "SessionId": "4a2340e8-d8d8-497c-95fe-cdaa1052f33b", + "FileSize": "2097152", + "ModifiedDate": "2017-09-28T17:06:37.260Z", + "ExpectedRanges": [ + { + "StartPosition": "0", + "EndPosition": "402128" + }, + { + "StartPosition": "730105", + "EndPosition": "2097151" + } + ] + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetUploadSessionByPath.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetUploadSessionByPath.json new file mode 100644 index 000000000000..8dc66b6d107d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetUploadSessionByPath.json @@ -0,0 +1,49 @@ +{ + "operationId": "GetImageStoreUploadSessionByPath", + "description": "This example shows how to get image store upload session by a given relative path.", + "parameters": { + "api-version": "6.0", + "contentPath": "SwaggerTest\\Common.dll" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "UploadSessions": [ + { + "StoreRelativePath": "SwaggerTest\\Common.dll", + "SessionId": "2032ac6c-a348-4594-86da-dab0f2bb1ae1", + "FileSize": "2097152", + "ModifiedDate": "2017-09-28T17:28:11.627Z", + "ExpectedRanges": [ + { + "StartPosition": "0", + "EndPosition": "207615" + }, + { + "StartPosition": "626977", + "EndPosition": "2097151" + } + ] + }, + { + "StoreRelativePath": "SwaggerTest\\Common.dll", + "SessionId": "fb2da2b2-7cb4-45d2-a2e6-c4888d205bc5", + "FileSize": "2097152", + "ModifiedDate": "2017-09-28T17:28:11.643Z", + "ExpectedRanges": [ + { + "StartPosition": "0", + "EndPosition": "616947" + }, + { + "StartPosition": "1087529", + "EndPosition": "2097151" + } + ] + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/InvokeContainerApi.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/InvokeContainerApi.json new file mode 100644 index 000000000000..bfe285758eec --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/InvokeContainerApi.json @@ -0,0 +1,27 @@ +{ + "operationId": "InvokeContainerApi", + "description": "This example shows how to call container API with HTTP GET for a code package deployed on a node.", + "parameters": { + "api-version": "6.2", + "nodeName": "Node01", + "applicationId": "samples/winnodejs", + "ServiceManifestName": "NodeServicePackage", + "CodePackageName": "NodeService.Code", + "CodePackageInstanceId": "131668159770315380", + "ContainerApiRequestBody": { + "UriPath": "/containers/{id}/logs?stdout=true&stderr=true" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContainerApiResult": { + "Status": 200, + "Content-Type": "text/plain; charset=utf-8", + "Body": "vEthernet (Container NIC ec5c19b2) 172.17.201.44\n" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/InvokeContainerApi_Post.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/InvokeContainerApi_Post.json new file mode 100644 index 000000000000..0042fd341de0 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/InvokeContainerApi_Post.json @@ -0,0 +1,29 @@ +{ + "operationId": "InvokeContainerApi", + "description": "This example shows how to call container API with HTTP POST for a code package deployed on a node.", + "parameters": { + "api-version": "6.2", + "nodeName": "N0020", + "applicationId": "samples/nodejs1", + "ServiceManifestName": "NodeOnSF", + "CodePackageName": "Code", + "CodePackageInstanceId": "131673596679688285", + "ContainerApiRequestBody": { + "HttpVerb": "POST", + "UriPath": "/containers/{id}/update", + "Body": "{ \"CpuShares\": 512}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContainerApiResult": { + "Status": 200, + "Content-Type": "application/json", + "Body": "{\"Warnings\":null}\n" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/PutProperty-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/PutProperty-1.json new file mode 100644 index 000000000000..8eee209e7c7b --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/PutProperty-1.json @@ -0,0 +1,25 @@ +{ + "operationId": "PutProperty", + "description": "This example shows how to create or update a Service Fabric property under a given name.", + "parameters": { + "api-version": "6.0", + "nameId": "samples/apps/CalculatorApp", + "PropertyDescription": { + "PropertyName": "AppData", + "Value": { + "Kind": "Binary", + "Data": [ + 0, + 1, + 2, + 3, + 4, + 5 + ] + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/PutProperty-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/PutProperty-2.json new file mode 100644 index 000000000000..5db6a9ad77f7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/PutProperty-2.json @@ -0,0 +1,19 @@ +{ + "operationId": "PutProperty", + "description": "This example shows how to create or update a Service Fabric property under a given name with a custom type.", + "parameters": { + "api-version": "6.0", + "nameId": "samples/apps/CalculatorApp", + "PropertyDescription": { + "PropertyName": "AppData", + "Value": { + "Kind": "String", + "Data": "1+2=3" + }, + "CustomTypeId": "EquationType" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/Replicas/CodePackages/get_logs.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/Replicas/CodePackages/get_logs.json new file mode 100644 index 000000000000..5f17ef376d9d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/Replicas/CodePackages/get_logs.json @@ -0,0 +1,18 @@ +{ + "operationId": "MeshCodePackage_GetContainerLogs", + "description": "This example shows how to get logs from the container of service replica. If the container exists, the logs are returned with an OK (200) status code, otherwise an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sbzDocApp", + "serviceResourceName": "sbzDocService", + "replicaName": "0", + "codePackageName": "sbzDocCode" + }, + "responses": { + "200": { + "body": { + "Content": " * Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)\n * Downloading style https://assets-cdn.github.com/assets/frameworks-8f281eb0a8d2308ceb36e714ba3c3aec.css\n * Downloading style https://assets-cdn.github.com/assets/github-a698da0d53574b056d3c79ac732d4a70.css\n * Downloading style https://assets-cdn.github.com/assets/site-83dc1f7ebc9c7461fe1eab799b56c4c4.css\n * Cached all downloads in /root/.grip/cache-4.5.2\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET / HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET /__/grip/asset/frameworks-8f281eb0a8d2308ceb36e714ba3c3aec.css HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET /__/grip/asset/site-83dc1f7ebc9c7461fe1eab799b56c4c4.css HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET /__/grip/asset/github-a698da0d53574b056d3c79ac732d4a70.css HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET /__/grip/static/octicons/octicons.css HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:03] \"GET /__/grip/static/octicons/octicons.woff2?ef21c39f0ca9b1b5116e5eb7ac5eabe6 HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:03] \"GET /__/grip/static/favicon.ico HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:05] \"GET /seabreeze-index.md HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:09] \"GET /seabreeze-api-application_get.md HTTP/1.1\" 200 -\n" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/Replicas/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/Replicas/get.json new file mode 100644 index 000000000000..bb373e90c328 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/Replicas/get.json @@ -0,0 +1,57 @@ +{ + "operationId": "MeshServiceReplica_Get", + "description": "This example shows how to get information about given replica of a service. If the replica exists, its description is returned along with an OK (200) status code. If the replica does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sampleApplication", + "serviceResourceName": "helloWorldService", + "replicaName": "0" + }, + "responses": { + "200": { + "body": { + "osType": "Linux", + "codePackages": [ + { + "name": "helloWorldCode", + "image": "seabreeze/sbz-helloworld:1.0-alpine", + "endpoints": [ + { + "name": "helloWorldListener", + "port": 80 + } + ], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + }, + "instanceView": { + "restartCount": 1, + "currentState": { + "state": "Running", + "exitCode": "0" + }, + "previousState": { + "state": "NotSpecified", + "exitCode": "0" + } + } + } + ], + "networkRefs": [ + { + "name": "sampleNetwork", + "endpointRefs": [ + { + "name": "helloWorldListener" + } + ] + } + ], + "replicaName": "0" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/Replicas/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/Replicas/list.json new file mode 100644 index 000000000000..1fe9b30fb836 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/Replicas/list.json @@ -0,0 +1,105 @@ +{ + "operationId": "MeshServiceReplica_List", + "description": "This example shows how to list replicas of a service resources for a given application.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sampleApplication", + "serviceResourceName": "helloWorldService" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "osType": "Linux", + "codePackages": [ + { + "name": "helloWorldCode", + "image": "seabreeze/sbz-helloworld:1.0-alpine", + "endpoints": [ + { + "name": "helloWorldListener", + "port": 80 + } + ], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + }, + "instanceView": { + "restartCount": 1, + "currentState": { + "state": "Running", + "exitCode": "0" + }, + "previousState": { + "state": "NotSpecified", + "exitCode": "0" + } + } + } + ], + "networkRefs": [ + { + "name": "sampleNetwork", + "endpointRefs": [ + { + "name": "helloWorldListener" + } + ] + } + ], + "replicaName": "0" + }, + { + "osType": "Linux", + "codePackages": [ + { + "name": "helloWorldCode", + "image": "seabreeze/sbz-helloworld:1.0-alpine", + "endpoints": [ + { + "name": "helloWorldListener", + "port": 80 + } + ], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + }, + "instanceView": { + "restartCount": 1, + "currentState": { + "state": "Running", + "exitCode": "0" + }, + "previousState": { + "state": "NotSpecified", + "exitCode": "0" + } + } + } + ], + "networkRefs": [ + { + "name": "sampleNetwork", + "endpointRefs": [ + { + "name": "helloWorldListener" + } + ] + } + ], + "replicaName": "1" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/get.json new file mode 100644 index 000000000000..45224d3a66f8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/get.json @@ -0,0 +1,51 @@ +{ + "operationId": "MeshService_Get", + "description": "This example shows how to get a service resource for a given application. If the service resource exists, its description is returned along with an OK (200) status code. If the service resource does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sampleApplication", + "serviceResourceName": "helloWorldService" + }, + "responses": { + "200": { + "body": { + "name": "helloWorldService", + "properties": { + "osType": "Linux", + "codePackages": [ + { + "name": "helloWorldCode", + "image": "seabreeze/sbz-helloworld:1.0-alpine", + "endpoints": [ + { + "name": "helloWorldListener", + "port": 80 + } + ], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + } + } + ], + "networkRefs": [ + { + "name": "sampleNetwork", + "endpointRefs": [ + { + "name": "helloWorldListener" + } + ] + } + ], + "description": "SeaBreeze Hello World Service.", + "replicaCount": 1, + "healthState": "Ok", + "status": "Ready" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/list.json new file mode 100644 index 000000000000..3df5e396c764 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/list.json @@ -0,0 +1,56 @@ +{ + "operationId": "MeshService_List", + "description": "This example shows how to list all service resources for a given application.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sampleApplication" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "name": "helloWorldService", + "properties": { + "osType": "Linux", + "codePackages": [ + { + "name": "helloWorldCode", + "image": "seabreeze/sbz-helloworld:1.0-alpine", + "endpoints": [ + { + "name": "helloWorldListener", + "port": 80 + } + ], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + } + } + ], + "networkRefs": [ + { + "name": "sampleNetwork", + "endpointRefs": [ + { + "name": "helloWorldListener" + } + ] + } + ], + "description": "SeaBreeze Hello World Service.", + "replicaCount": 1, + "healthState": "Ok", + "status": "Ready" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/create_update.autoscale.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/create_update.autoscale.json new file mode 100644 index 000000000000..16b621f6a572 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/create_update.autoscale.json @@ -0,0 +1,102 @@ +{ + "operationId": "MeshApplication_CreateOrUpdate", + "description": "This example shows how to create or update a application resource with services that autoscale based on the policies.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sampleApplication", + "applicationResourceDescription": { + "name": "sampleApplication", + "properties": { + "description": "Service Fabric Mesh sample application.", + "services": [ + { + "name": "helloWorldService", + "properties": { + "description": "SeaBreeze Hello World Service.", + "osType": "Linux", + "codePackages": [ + { + "name": "helloWorldCode", + "image": "seabreeze/sbz-helloworld:1.0-alpine", + "endpoints": [ + { + "name": "helloWorldListener", + "port": 80 + } + ], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + } + } + ], + "replicaCount": 1, + "autoScalingPolicies": [ + { + "name": "MyAutoScaleRule", + "trigger": { + "kind": "AverageLoad", + "metric": { + "kind": "Resource", + "name": "cpu" + }, + "lowerLoadThreshold": 0.3, + "upperLoadThreshold": 0.8, + "scaleIntervalInSeconds": 3600 + }, + "mechanism": { + "kind": "AddRemoveReplica", + "minCount": 1, + "maxCount": 4, + "scaleIncrement": 1 + } + } + ], + "networkRefs": [ + { + "name": "sampleNetwork", + "endpointRefs": [ + { + "name": "helloWorldListener" + } + ] + } + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "sampleApplication", + "properties": { + "description": "Service Fabric Mesh sample application.", + "serviceNames": [ + "helloWorldService" + ], + "healthState": "Ok", + "status": "Ready" + } + } + }, + "201": { + "body": { + "name": "sampleApplication", + "properties": { + "description": "Service Fabric Mesh sample application.", + "serviceNames": [ + "helloWorldService" + ], + "healthState": "Unknown", + "status": "Creating" + } + } + }, + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/create_update.json new file mode 100644 index 000000000000..8066c046fd00 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/create_update.json @@ -0,0 +1,139 @@ +{ + "operationId": "MeshApplication_CreateOrUpdate", + "description": "This example shows how to create or update a application resource.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sampleApplication", + "applicationResourceDescription": { + "name": "sampleApplication", + "properties": { + "description": "Service Fabric Mesh sample application.", + "services": [ + { + "name": "helloWorldService", + "properties": { + "description": "SeaBreeze Hello World Service.", + "identityRefs": [ + { + "name": "ServiceIdentity1", + "identityRef": "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1" + }, + { + "name": "ServiceIdentity2", + "identityRef": "SystemAssigned" + } + ], + "osType": "Linux", + "codePackages": [ + { + "name": "helloWorldCode", + "image": "seabreeze/sbz-helloworld:1.0-alpine", + "endpoints": [ + { + "name": "helloWorldListener", + "port": 80 + } + ], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + } + } + ], + "replicaCount": 1, + "networkRefs": [ + { + "name": "sampleNetwork", + "endpointRefs": [ + { + "name": "helloWorldListener" + } + ] + } + ] + } + } + ] + } + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "tokenServiceEndpoint": "http://tokenservice", + "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567", + "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C", + "userAssignedIdentities": { + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": { + "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4", + "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8" + }, + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": { + "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1", + "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "sampleApplication", + "properties": { + "description": "Service Fabric Mesh sample application.", + "serviceNames": [ + "helloWorldService" + ], + "healthState": "Ok", + "status": "Ready" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "tokenServiceEndpoint": "http://tokenservice", + "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567", + "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C", + "userAssignedIdentities": { + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": { + "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4", + "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8" + }, + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": { + "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1", + "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0" + } + } + } + } + }, + "201": { + "body": { + "name": "sampleApplication", + "properties": { + "description": "Service Fabric Mesh sample application.", + "serviceNames": [ + "helloWorldService" + ], + "healthState": "Unknown", + "status": "Creating" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "tokenServiceEndpoint": "http://tokenservice", + "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567", + "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C", + "userAssignedIdentities": { + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": { + "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4", + "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8" + }, + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": { + "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1", + "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/delete.json new file mode 100644 index 000000000000..b51511b0865d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/delete.json @@ -0,0 +1,13 @@ +{ + "operationId": "MeshApplication_Delete", + "description": "This example shows how to delete an existing application resource. If the application resource exists and is deleted successfully, an empty response with 200 status code is returned. If the application resource does not exist, an empty response with 204 status code is returned.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sampleApplication" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/get.json new file mode 100644 index 000000000000..208ccd280bbd --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/get.json @@ -0,0 +1,39 @@ +{ + "operationId": "MeshApplication_Get", + "description": "This example shows how to get a application resource. If the application resource exists, its description is returned along with an OK (200) status code. If the application resource does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sampleApplication" + }, + "responses": { + "200": { + "body": { + "name": "sampleApplication", + "properties": { + "description": "Service Fabric Mesh sample application.", + "serviceNames": [ + "helloWorldService" + ], + "healthState": "Ok", + "status": "Ready" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "tokenServiceEndpoint": "http://tokenservice", + "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567", + "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C", + "userAssignedIdentities": { + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": { + "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4", + "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8" + }, + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": { + "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1", + "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0" + } + } + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/get_upgrade.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/get_upgrade.json new file mode 100644 index 000000000000..61be95fa11b7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/get_upgrade.json @@ -0,0 +1,30 @@ +{ + "operationId": "MeshApplication_GetUpgradeProgress", + "description": "This example shows how to get a application resource upgrade. If the application resource exists, its description is returned along with an OK (200) status code. If the application resource does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sampleApplication" + }, + "responses": { + "200": { + "body": { + "Name": "sampleApplication", + "TargetApplicationTypeVersion": "v1", + "StartTimestampUtc": "0001-01-01T00:00:00.000Z", + "UpgradeState": "RollingForward", + "PercentCompleted": "0", + "ServiceUpgradeProgress": [ + { + "ServiceName": "helloWorldService", + "CompletedReplicaCount": "0", + "PendingReplicaCount": "3" + } + ], + "RollingUpgradeMode": "Monitored", + "UpgradeDuration": "PT0H0M2.31669S", + "ApplicationUpgradeStatusDetails": "Deployment upgrading from version: v0 to version: v1.", + "UpgradeReplicaSetCheckTimeoutInSeconds": 4294967295 + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/list.json new file mode 100644 index 000000000000..2f34f40e3488 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/list.json @@ -0,0 +1,44 @@ +{ + "operationId": "MeshApplication_List", + "description": "This example shows how to list all application resources.", + "parameters": { + "api-version": "6.4-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "name": "sampleApplication", + "properties": { + "description": "Service Fabric Mesh sample application.", + "serviceNames": [ + "helloWorldService" + ], + "healthState": "Ok", + "status": "Ready" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "tokenServiceEndpoint": "http://tokenservice", + "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567", + "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C", + "userAssignedIdentities": { + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": { + "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4", + "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8" + }, + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": { + "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1", + "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0" + } + } + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/create_update.json new file mode 100644 index 000000000000..2ded194ec7cc --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/create_update.json @@ -0,0 +1,193 @@ +{ + "operationId": "MeshGateway_CreateOrUpdate", + "description": "This example shows how to create or update a gateway resource.", + "parameters": { + "api-version": "6.4-preview", + "gatewayResourceName": "sampleGateway", + "gatewayResourceDescription": { + "name": "sampleGateway", + "properties": { + "description": "Service Fabric Mesh sample gateway.", + "sourceNetwork": { + "name": "Open" + }, + "destinationNetwork": { + "name": "helloWorldNetwork" + }, + "tcp": [ + { + "name": "web", + "port": 80, + "destination": { + "applicationName": "helloWorldApp", + "serviceName": "helloWorldService", + "endpointName": "helloWorldListener" + } + } + ], + "http": [ + { + "name": "contosoWebsite", + "port": 8081, + "hosts": [ + { + "name": "contoso.com", + "routes": [ + { + "name": "index", + "match": { + "path": { + "value": "/index", + "rewrite": "/", + "type": "prefix" + }, + "headers": [ + { + "name": "accept", + "value": "application/json", + "type": "exact" + } + ] + }, + "destination": { + "applicationName": "httpHelloWorldApp", + "serviceName": "indexService", + "endpointName": "indexHttpEndpoint" + } + } + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "sampleGateway", + "properties": { + "description": "Service Fabric Mesh sample gateway.", + "sourceNetwork": { + "name": "Open" + }, + "destinationNetwork": { + "name": "helloWorldNetwork" + }, + "tcp": [ + { + "name": "web", + "port": 80, + "destination": { + "applicationName": "helloWorldApp", + "serviceName": "helloWorldService", + "endpointName": "helloWorldListener" + } + } + ], + "http": [ + { + "name": "contosoWebsite", + "port": 8081, + "hosts": [ + { + "name": "contoso.com", + "routes": [ + { + "name": "index", + "match": { + "path": { + "value": "/index", + "rewrite": "/", + "type": "prefix" + }, + "headers": [ + { + "name": "accept", + "value": "application/json", + "type": "exact" + } + ] + }, + "destination": { + "applicationName": "httpHelloWorldApp", + "serviceName": "indexService", + "endpointName": "indexHttpEndpoint" + } + } + ] + } + ] + } + ], + "status": "Ready", + "ipAddress": "192.168.1.1" + } + } + }, + "201": { + "body": { + "name": "sampleGateway", + "properties": { + "description": "Service Fabric Mesh Hello World sample gateway.", + "sourceNetwork": { + "name": "Open" + }, + "destinationNetwork": { + "name": "helloWorldNetwork" + }, + "tcp": [ + { + "name": "web", + "port": 80, + "destination": { + "applicationName": "helloWorldApp", + "serviceName": "helloWorldService", + "endpointName": "helloWorldListener" + } + } + ], + "http": [ + { + "name": "contosoWebsite", + "port": 8081, + "hosts": [ + { + "name": "contoso.com", + "routes": [ + { + "name": "index", + "match": { + "path": { + "value": "/index", + "rewrite": "/", + "type": "prefix" + }, + "headers": [ + { + "name": "accept", + "value": "application/json", + "type": "exact" + } + ] + }, + "destination": { + "applicationName": "httpHelloWorldApp", + "serviceName": "indexService", + "endpointName": "indexHttpEndpoint" + } + } + ] + } + ] + } + ], + "status": "Creating", + "ipAddress": "" + } + } + }, + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/delete.json new file mode 100644 index 000000000000..63ed69926752 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/delete.json @@ -0,0 +1,13 @@ +{ + "operationId": "MeshGateway_Delete", + "description": "This example shows how to delete an existing gateway resource. If the gateway resource exists and is deleted successfully, an empty response with 200 status code is returned. If the gateway resource does not exist, an empty response with 204 status code is returned.", + "parameters": { + "api-version": "6.4-preview", + "gatewayResourceName": "sampleGateway" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/get.json new file mode 100644 index 000000000000..c85b652cbc45 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/get.json @@ -0,0 +1,72 @@ +{ + "operationId": "MeshGateway_Get", + "description": "This example shows how to get a gateway resource. If the gateway resource exists, its description is returned along with an OK (200) status code. If the gateway resource does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "gatewayResourceName": "sampleGateway" + }, + "responses": { + "200": { + "body": { + "name": "sampleGateway", + "properties": { + "description": "Service Fabric Mesh sample gateway.", + "sourceNetwork": { + "name": "Open" + }, + "destinationNetwork": { + "name": "helloWorldNetwork" + }, + "tcp": [ + { + "name": "web", + "port": 80, + "destination": { + "applicationName": "helloWorldApp", + "serviceName": "helloWorldService", + "endpointName": "helloWorldListener" + } + } + ], + "http": [ + { + "name": "contosoWebsite", + "port": 8081, + "hosts": [ + { + "name": "contoso.com", + "routes": [ + { + "name": "index", + "match": { + "path": { + "value": "/index", + "rewrite": "/", + "type": "prefix" + }, + "headers": [ + { + "name": "accept", + "value": "application/json", + "type": "exact" + } + ] + }, + "destination": { + "applicationName": "httpHelloWorldApp", + "serviceName": "indexService", + "endpointName": "indexHttpEndpoint" + } + } + ] + } + ] + } + ], + "status": "Ready", + "ipAddress": "192.168.1.1" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/list.json new file mode 100644 index 000000000000..5ad53b7d580f --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/list.json @@ -0,0 +1,77 @@ +{ + "operationId": "MeshGateway_List", + "description": "This example shows how to list all gateway resources.", + "parameters": { + "api-version": "6.4-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "name": "sampleGateway", + "properties": { + "description": "Service Fabric Mesh sample gateway.", + "sourceNetwork": { + "name": "Open" + }, + "destinationNetwork": { + "name": "helloWorldNetwork" + }, + "tcp": [ + { + "name": "web", + "port": 80, + "destination": { + "applicationName": "helloWorldApp", + "serviceName": "helloWorldService", + "endpointName": "helloWorldListener" + } + } + ], + "http": [ + { + "name": "contosoWebsite", + "port": 8081, + "hosts": [ + { + "name": "contoso.com", + "routes": [ + { + "name": "index", + "match": { + "path": { + "value": "/index", + "rewrite": "/", + "type": "prefix" + }, + "headers": [ + { + "name": "accept", + "value": "application/json", + "type": "exact" + } + ] + }, + "destination": { + "applicationName": "httpHelloWorldApp", + "serviceName": "indexService", + "endpointName": "indexHttpEndpoint" + } + } + ] + } + ] + } + ], + "status": "Ready", + "ipAddress": "192.168.1.1" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/create_update.json new file mode 100644 index 000000000000..faf2a3960b48 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/create_update.json @@ -0,0 +1,41 @@ +{ + "operationId": "MeshNetwork_CreateOrUpdate", + "description": "This example shows how to create or update a network resource.", + "parameters": { + "api-version": "6.4-preview", + "networkResourceName": "sampleNetwork", + "networkResourceDescription": { + "name": "sampleNetwork", + "properties": { + "kind": "Local", + "description": "Service Fabric Mesh sample network.", + "networkAddressPrefix": "2.0.0.0/16" + } + } + }, + "responses": { + "200": { + "body": { + "name": "sampleNetwork", + "properties": { + "kind": "Local", + "description": "Service Fabric Mesh sample network.", + "networkAddressPrefix": "2.0.0.0/16", + "status": "Ready" + } + } + }, + "201": { + "body": { + "name": "sampleNetwork", + "properties": { + "kind": "Local", + "description": "Service Fabric Mesh sample network.", + "networkAddressPrefix": "2.0.0.0/16", + "status": "Creating" + } + } + }, + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/delete.json new file mode 100644 index 000000000000..aea2170b7316 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/delete.json @@ -0,0 +1,13 @@ +{ + "operationId": "MeshGateway_Delete", + "description": "This example shows how to delete an existing network resource. If the network resource exists and is deleted successfully, an empty response with 200 status code is returned. If the network resource does not exist, an empty response with 204 status code is returned.", + "parameters": { + "api-version": "6.4-preview", + "networkResourceName": "sampleNetwork" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/get.json new file mode 100644 index 000000000000..1afaee298e7d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/get.json @@ -0,0 +1,21 @@ +{ + "operationId": "MeshGateway_Get", + "description": "This example shows how to get a network resource. If the network resource exists, its description is returned along with an OK (200) status code. If the network resource does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "networkResourceName": "sampleNetwork" + }, + "responses": { + "200": { + "body": { + "name": "sampleNetwork", + "properties": { + "kind": "Local", + "description": "Service Fabric Mesh sample network.", + "networkAddressPrefix": "2.0.0.0/16", + "status": "Ready" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/list.json new file mode 100644 index 000000000000..6cf521d8582c --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/list.json @@ -0,0 +1,26 @@ +{ + "operationId": "MeshGateway_List", + "description": "This example shows how to list all network resources.", + "parameters": { + "api-version": "6.4-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "name": "sampleNetwork", + "properties": { + "kind": "Local", + "description": "Service Fabric Mesh sample network.", + "networkAddressPrefix": "2.0.0.0/16", + "status": "Ready" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/create_update.json new file mode 100644 index 000000000000..aab0125db5a5 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/create_update.json @@ -0,0 +1,41 @@ +{ + "operationId": "MeshSecret_CreateOrUpdate", + "description": "This example shows how to create or update a secret resource.", + "parameters": { + "api-version": "6.4-preview", + "secretResourceName": "dbConnectionString", + "secretResourceDescription": { + "name": "dbConnectionString", + "properties": { + "kind": "inlinedValue", + "contentType": "text/plain", + "description": "Mongo DB connection string for backend database!" + } + } + }, + "responses": { + "200": { + "body": { + "name": "dbConnectionString", + "properties": { + "kind": "inlinedValue", + "contentType": "text/plain", + "description": "Mongo DB connection string for backend database!", + "status": "Ready" + } + } + }, + "201": { + "body": { + "name": "dbConnectionString", + "properties": { + "kind": "inlinedValue", + "contentType": "text/plain", + "description": "Mongo DB connection string for backend database!", + "status": "Creating" + } + } + }, + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/delete.json new file mode 100644 index 000000000000..ffe68fd3ddc7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/delete.json @@ -0,0 +1,13 @@ +{ + "operationId": "MeshSecret_Delete", + "description": "This example shows how to delete an existing secret resource. If the secret resource exists and is deleted successfully, an empty response with 200 status code is returned. If the secret resource does not exist, an empty response with 204 status code is returned.", + "parameters": { + "api-version": "6.4-preview", + "secretResourceName": "dbConnectionString" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/get.json new file mode 100644 index 000000000000..f358e51722dd --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/get.json @@ -0,0 +1,21 @@ +{ + "operationId": "MeshSecret_Get", + "description": "This example shows how to get a secret resource. If the secret resource exists, its description is returned along with an OK (200) status code. If the secret resource does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "secretResourceName": "dbConnectionString" + }, + "responses": { + "200": { + "body": { + "name": "dbConnectionString", + "properties": { + "kind": "inlinedValue", + "contentType": "text/plain", + "description": "Mongo DB connection string for backend database!", + "status": "Ready" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/list.json new file mode 100644 index 000000000000..b46d7f8ff341 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/list.json @@ -0,0 +1,35 @@ +{ + "operationId": "MeshSecret_List", + "description": "This example shows how to list all secret resources.", + "parameters": { + "api-version": "6.4-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "name": "dbConnectionString", + "properties": { + "kind": "inlinedValue", + "contentType": "text/plain", + "description": "Mongo DB connection string for backend database!", + "status": "Ready" + } + }, + { + "name": "contosoServiceApiKey", + "properties": { + "kind": "inlinedValue", + "contentType": "text/plain", + "description": "API Key to access contoso service APIs", + "status": "Ready" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/create.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/create.json new file mode 100644 index 000000000000..8cd0824452fd --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/create.json @@ -0,0 +1,34 @@ +{ + "operationId": "MeshSecretValue_AddValue", + "description": "This example shows how to add a new value of a secret resource; the secret value is provided as plaintext.", + "parameters": { + "api-version": "6.4-preview", + "secretResourceName": "dbConnectionString", + "secretValueResourceName": "v1", + "secretValueResourceDescription": { + "name": "v1", + "properties": { + "value": "mongodb://contoso123:0Fc3IolnL12312asdfawejunASDF@asdfYXX2t8a97kghVcUzcDv98hawelufhawefafnoQRGwNj2nMPL1Y9qsIr9Srdw==@contoso123.documents.azure.com:10255/mydatabase?ssl=true" + } + } + }, + "responses": { + "200": { + "body": { + "name": "v1", + "properties": { + "value": null + } + } + }, + "201": { + "body": { + "name": "v1", + "properties": { + "value": null + } + } + }, + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/delete.json new file mode 100644 index 000000000000..ad4b3ef9540b --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/delete.json @@ -0,0 +1,14 @@ +{ + "operationId": "MeshSecretValue_Delete", + "description": "This example shows how to delete a secret value. If the specified named value exists and is deleted successfully, an empty response with 200 status code is returned. If the specified named value does not exist, an empty response with 204 status code is returned.", + "parameters": { + "api-version": "6.4-preview", + "secretResourceName": "dbConnectionString", + "secretValueResourceName": "v1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/get.json new file mode 100644 index 000000000000..a6491634ef44 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/get.json @@ -0,0 +1,19 @@ +{ + "operationId": "MeshSecretValue_Get", + "description": "This example shows how to get the specified secret value resource. If the specified named value exists, its information is returned along with status code 200. The information does not include the value. To get the unecnrypted value use ListMeshSecretValue operation. If the specified named value does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "secretResourceName": "dbConnectionString", + "secretValueResourceName": "v1" + }, + "responses": { + "200": { + "body": { + "name": "v1", + "properties": { + "value": null + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/list.json new file mode 100644 index 000000000000..0610d6d83c48 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/list.json @@ -0,0 +1,29 @@ +{ + "operationId": "MeshSecretValue_List", + "description": "This example shows how to list names of all values of a secret resource, not including their respective values.", + "parameters": { + "api-version": "6.4-preview", + "secretResourceName": "dbConnectionString" + }, + "responses": { + "200": { + "body": { + "ContinuationToken": "", + "Items": [ + { + "name": "v1", + "properties": { + "value": null + } + }, + { + "name": "v2", + "properties": { + "value": null + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/list_value.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/list_value.json new file mode 100644 index 000000000000..b8d09ce2e23c --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/list_value.json @@ -0,0 +1,16 @@ +{ + "operationId": "MeshSecretValue_Show", + "description": "This example shows how to get the unencrypted value of the secret. If the specified named value resource exists, its unencrypted value is returned along with status code 200. If the specified named value does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "secretResourceName": "dbConnectionString", + "secretValueResourceName": "v1" + }, + "responses": { + "200": { + "body": { + "value": "mongodb://contoso123:0Fc3IolnL12312asdfawejunASDF@asdfYXX2t8a97kghVcUzcDv98hawelufhawefafnoQRGwNj2nMPL1Y9qsIr9Srdw==@contoso123.documents.azure.com:10255/mydatabase?ssl=true" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/create_update.json new file mode 100644 index 000000000000..ba2623cdc556 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/create_update.json @@ -0,0 +1,53 @@ +{ + "operationId": "MeshVolume_CreateOrUpdate", + "description": "This example shows how to create or update a volume resource.", + "parameters": { + "api-version": "6.4-preview", + "volumeResourceName": "sampleVolume", + "volumeResourceDescription": { + "name": "sampleVolume", + "properties": { + "description": "Service Fabric Mesh sample volume.", + "provider": "SFAzureFile", + "azureFileParameters": { + "accountName": "sbzdemoaccount", + "accountKey": "provide-account-key-here", + "shareName": "sharel" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "sampleVolume", + "properties": { + "description": "Service Fabric Mesh sample volume.", + "provider": "SFAzureFile", + "azureFileParameters": { + "accountName": "sbzdemoaccount", + "accountKey": null, + "shareName": "sharel" + }, + "status": "Ready" + } + } + }, + "201": { + "body": { + "name": "sampleVolume", + "properties": { + "description": "Service Fabric Mesh Hello World sample volume.", + "provider": "SFAzureFile", + "azureFileParameters": { + "accountName": "sbzdemoaccount", + "accountKey": null, + "shareName": "sharel" + }, + "status": "Creating" + } + } + }, + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/delete.json new file mode 100644 index 000000000000..efaa1f836ae1 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/delete.json @@ -0,0 +1,13 @@ +{ + "operationId": "MeshVolume_Delete", + "description": "This example shows how to delete an existing volume resource. If the volume resource exists and is deleted successfully, an empty response with 200 status code is returned. If the volume resource does not exist, an empty response with 204 status code is returned.", + "parameters": { + "api-version": "6.4-preview", + "volumeResourceName": "sampleVolume" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/get.json new file mode 100644 index 000000000000..9d08f3b00a82 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/get.json @@ -0,0 +1,25 @@ +{ + "operationId": "MeshVolume_Get", + "description": "This example shows how to get a volume resource. If the volume resource exists, its description is returned along with an OK (200) status code. If the volume resource does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "volumeResourceName": "sampleVolume" + }, + "responses": { + "200": { + "body": { + "name": "sampleVolume", + "properties": { + "description": "Service Fabric Mesh sample volume.", + "provider": "SFAzureFile", + "azureFileParameters": { + "accountName": "sbzdemoaccount", + "accountKey": null, + "shareName": "sharel" + }, + "status": "Ready" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/list.json new file mode 100644 index 000000000000..3bf83798904b --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/list.json @@ -0,0 +1,30 @@ +{ + "operationId": "MeshVolume_List", + "description": "This example shows how to list all volume resources.", + "parameters": { + "api-version": "6.4-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "name": "sampleVolume", + "properties": { + "description": "Service Fabric Mesh sample volume.", + "provider": "SFAzureFile", + "azureFileParameters": { + "accountName": "sbzdemoaccount", + "accountKey": null, + "shareName": "sharel" + }, + "status": "Ready" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/RestorePartition.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/RestorePartition.json new file mode 100644 index 000000000000..1e97e0557113 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/RestorePartition.json @@ -0,0 +1,20 @@ +{ + "operationId": "RestorePartition", + "description": "This example shows how to trigger restore of a partition now by specifying the backup to be used to restore.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "RestorePartitionDescription": { + "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "BackupStorage": { + "StorageKind": "AzureBlobStore", + "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=", + "ContainerName": "BackupContainer" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip" + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/ResumeApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/ResumeApplicationBackup.json new file mode 100644 index 000000000000..b25a7ac545ec --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/ResumeApplicationBackup.json @@ -0,0 +1,11 @@ +{ + "operationId": "ResumeApplicationBackup", + "description": "This example shows how to resume periodic backup for a stateful application which was previously suspended.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp" + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/ResumePartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/ResumePartitionBackup.json new file mode 100644 index 000000000000..feb701118438 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/ResumePartitionBackup.json @@ -0,0 +1,11 @@ +{ + "operationId": "ResumePartitionBackup", + "description": "This example shows how to resume periodic backup for a stateful partition which was previously suspended.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/ResumeServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/ResumeServiceBackup.json new file mode 100644 index 000000000000..9037dfa23d9e --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/ResumeServiceBackup.json @@ -0,0 +1,11 @@ +{ + "operationId": "ResumeServiceBackup", + "description": "This example shows how to resume periodic backup for a stateful service which was previously suspended.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService" + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/StartApplicationUpgrade-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/StartApplicationUpgrade-1.json new file mode 100644 index 000000000000..fd0317e28196 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/StartApplicationUpgrade-1.json @@ -0,0 +1,30 @@ +{ + "operationId": "StartApplicationUpgrade", + "description": "This example shows how to start upgrading an application in a Service Fabric cluster.", + "parameters": { + "api-version": "6.0", + "applicationId": "samples~CalculatorApp", + "ApplicationUpgradeDescription": { + "Name": "fabric:/samples/CalculatorApp", + "TargetApplicationTypeVersion": "2.0", + "Parameters": [ + { + "Key": "CalculatorAppParameter1", + "Value": "314" + }, + { + "Key": "CalculatorAppParameter2", + "Value": "271" + } + ], + "UpgradeKind": "Rolling", + "RollingUpgradeMode": "Monitored", + "MonitoringPolicy": { + "FailureAction": "Rollback" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/StartClusterConfigurationUpgrade-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/StartClusterConfigurationUpgrade-1.json new file mode 100644 index 000000000000..2f8fd59a474e --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/StartClusterConfigurationUpgrade-1.json @@ -0,0 +1,40 @@ +{ + "operationId": "StartClusterConfigurationUpgrade", + "description": "This example shows how to start upgrading the configuration of a Service Fabric standalone cluster.", + "parameters": { + "api-version": "6.0", + "nameId": "samples/apps/CalculatorApp", + "ClusterConfigurationUpgradeDescription": { + "ClusterConfig": "", + "ApplicationHealthPolicies": { + "ApplicationHealthPolicyMap": [ + { + "Key": "fabric:/samples/CalculatorApp", + "Value": { + "ConsiderWarningAsError": true, + "MaxPercentUnhealthyDeployedApplications": 10, + "DefaultServiceTypeHealthPolicy": { + "MaxPercentUnhealthyPartitionsPerService": 0, + "MaxPercentUnhealthyReplicasPerPartition": 0, + "MaxPercentUnhealthyServices": 0 + }, + "ServiceTypeHealthPolicyMap": [ + { + "Key": "Svc1Type", + "Value": { + "MaxPercentUnhealthyPartitionsPerService": 0, + "MaxPercentUnhealthyReplicasPerPartition": 0, + "MaxPercentUnhealthyServices": 10 + } + } + ] + } + } + ] + } + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SubmitPropertyBatch-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SubmitPropertyBatch-1.json new file mode 100644 index 000000000000..05410c96edc2 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SubmitPropertyBatch-1.json @@ -0,0 +1,71 @@ +{ + "operationId": "SubmitPropertyBatch", + "description": "This example shows how to submit a property batch. This batch ensures that a property exists, checks that the property has the expected sequence number, and edits the property only if the previous conditions succeed. It then performs a get operation to get the property's current info. \r\n If all of the operations succeed, the batch is committed in a transactional manner and a success response is returned with 200 status code. \r\n If the batch fails then a failed response is returned with 409 status code. The failed response below shows batch failure because the property does not have expected sequence number.", + "parameters": { + "api-version": "6.0", + "nameId": "samples/apps", + "PropertyBatchDescriptionList": { + "Operations": [ + { + "Kind": "CheckExists", + "PropertyName": "PersistentQueueAppData", + "Exists": true + }, + { + "Kind": "CheckSequence", + "PropertyName": "PersistentQueueAppData", + "SequenceNumber": "12" + }, + { + "Kind": "Put", + "PropertyName": "PersistentQueueAppData", + "Value": { + "Kind": "Binary", + "Data": [ + 1, + 2, + 3, + 4, + 5 + ] + }, + "CustomTypeId": "InitializationData" + }, + { + "Kind": "Get", + "PropertyName": "PersistentQueueAppData", + "IncludeValue": false + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Kind": "Successful", + "Properties": { + "3": { + "Name": "PersistentQueueAppData", + "Metadata": { + "TypeId": "Binary", + "CustomTypeId": "InitializationData", + "Parent": "fabric:/samples/apps", + "SizeInBytes": 5, + "LastModifiedUtcTimestamp": "2017-07-17T05:01:19.049Z", + "SequenceNumber": "13" + } + } + } + } + }, + "409": { + "headers": {}, + "body": { + "Kind": "Failed", + "ErrorMessage": "FABRIC_E_PROPERTY_CHECK_FAILED", + "OperationIndex": 1 + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SuspendApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SuspendApplicationBackup.json new file mode 100644 index 000000000000..75bdad71a95e --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SuspendApplicationBackup.json @@ -0,0 +1,11 @@ +{ + "operationId": "SuspendApplicationBackup", + "description": "This example shows how to suspend backup for a stateful application which is configured for periodic backup.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp" + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SuspendPartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SuspendPartitionBackup.json new file mode 100644 index 000000000000..b14619dd6fe8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SuspendPartitionBackup.json @@ -0,0 +1,11 @@ +{ + "operationId": "SuspendPartitionBackup", + "description": "This example shows how to suspend backup for a stateful partition which is configured for periodic backup.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SuspendServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SuspendServiceBackup.json new file mode 100644 index 000000000000..14d0575c509e --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SuspendServiceBackup.json @@ -0,0 +1,11 @@ +{ + "operationId": "SuspendServiceBackup", + "description": "This example shows how to suspend backup for a stateful service which is configured for periodic backup.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService" + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/UpdateBackupPolicy.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/UpdateBackupPolicy.json new file mode 100644 index 000000000000..3129817ddb68 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/UpdateBackupPolicy.json @@ -0,0 +1,35 @@ +{ + "operationId": "UpdateBackupPolicy", + "description": "This example shows how to update the schedule of a backup policy to take backup twice everyday at 9 AM and 5 PM UTC which shall get deleted after 30 days, with Azure blob store as the backup location.", + "parameters": { + "api-version": "6.4", + "backupPolicyName": "DailyAzureBackupPolicy", + "BackupPolicyDescription": { + "Name": "DailyAzureBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "TimeBased", + "ScheduleFrequencyType": "Daily", + "RunTimes": [ + "0001-01-01T09:00:00Z", + "0001-01-01T17:00:00Z" + ] + }, + "Storage": { + "StorageKind": "AzureBlobStore", + "FriendlyName": "Azure_storagesample", + "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=", + "ContainerName": "BackupContainer" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 60, + "RetentionDuration": "P30D" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/UpdateService-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/UpdateService-1.json new file mode 100644 index 000000000000..3dd7f5950427 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/UpdateService-1.json @@ -0,0 +1,34 @@ +{ + "operationId": "UpdateService", + "description": "This example shows how to update placement and load balancing related settings of a stateless Service Fabric service.", + "parameters": { + "serviceId": "test~test1", + "api-version": "6.0", + "ServiceUpdateDescription": { + "ServiceKind": "Stateless", + "Flags": "1568", + "PlacementConstraints": "Color==Red", + "DefaultMoveCost": "High", + "ScalingPolicies": [ + { + "ScalingTrigger": { + "Kind": "AveragePartitionLoad", + "MetricName": "servicefabric:/_CpuCores", + "LowerLoadThreshold": "0.500000", + "UpperLoadThreshold": "0.800000", + "ScaleIntervalInSeconds": 900 + }, + "ScalingMechanism": { + "Kind": "PartitionInstanceCount", + "MinInstanceCount": 4, + "MaxInstanceCount": 6, + "ScaleIncrement": 2 + } + } + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/UpdateService-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/UpdateService-2.json new file mode 100644 index 000000000000..cdb1368dbdd6 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/UpdateService-2.json @@ -0,0 +1,17 @@ +{ + "operationId": "UpdateService", + "description": "This example shows how to update placement and load balancing related settings of a stateful Service Fabric service.", + "parameters": { + "serviceId": "test~test2", + "api-version": "6.0", + "ServiceUpdateDescription": { + "ServiceKind": "Stateful", + "Flags": "40", + "PlacementConstraints": "Color==Green", + "StandByReplicaKeepDurationSeconds": "1000" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/servicefabric.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/servicefabric.json new file mode 100644 index 000000000000..c4f9b9238873 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/servicefabric.json @@ -0,0 +1,29745 @@ +{ + "swagger": "2.0", + "info": { + "title": "Service Fabric Client APIs", + "description": "Service Fabric REST Client APIs allows management of Service Fabric clusters, applications and services.", + "version": "8.2" + }, + "host": "localhost:19080", + "schemes": [ + "http", + "https" + ], + "produces": [ + "application/json" + ], + "paths": { + "/$/GetClusterManifest": { + "get": { + "operationId": "GetClusterManifest", + "summary": "Get the Service Fabric cluster manifest.", + "description": "Get the Service Fabric cluster manifest. The cluster manifest contains properties of the cluster that include different node types on the cluster,\nsecurity configurations, fault, and upgrade domain topologies, etc.\n\nThese properties are specified as part of the ClusterConfig.JSON file while deploying a stand-alone cluster. However, most of the information in the cluster manifest\nis generated internally by service fabric during cluster deployment in other deployment scenarios (e.g. when using Azure portal).\n\nThe contents of the cluster manifest are for informational purposes only and users are not expected to take a dependency on the format of the file contents or its interpretation.", + "tags": [ + "Cluster" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster manifest information.", + "schema": { + "$ref": "#/definitions/ClusterManifest" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetClusterHealth": { + "get": { + "operationId": "GetClusterHealth", + "summary": "Gets the health of a Service Fabric cluster.", + "description": "Use EventsHealthStateFilter to filter the collection of health events reported on the cluster based on the health state.\nSimilarly, use NodesHealthStateFilter and ApplicationsHealthStateFilter to filter the collection of nodes and applications returned based on their aggregated health state.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodesHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApplicationsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/IncludeSystemApplicationHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster health information.", + "schema": { + "$ref": "#/definitions/ClusterHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "operationId": "GetClusterHealthUsingPolicy", + "summary": "Gets the health of a Service Fabric cluster using the specified policy.", + "description": "Use EventsHealthStateFilter to filter the collection of health events reported on the cluster based on the health state.\nSimilarly, use NodesHealthStateFilter and ApplicationsHealthStateFilter to filter the collection of nodes and applications returned based on their aggregated health state.\nUse ClusterHealthPolicies to override the health policies used to evaluate the health.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodesHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApplicationsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/IncludeSystemApplicationHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/ClusterHealthPoliciesOptionalBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster health information.", + "schema": { + "$ref": "#/definitions/ClusterHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetClusterHealthChunk": { + "get": { + "operationId": "GetClusterHealthChunk", + "summary": "Gets the health of a Service Fabric cluster using health chunks.", + "description": "Gets the health of a Service Fabric cluster using health chunks. Includes the aggregated health state of the cluster, but none of the cluster entities.\nTo expand the cluster health and get the health state of all or some of the entities, use the POST URI and specify the cluster health chunk query description.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster health chunk information.", + "schema": { + "$ref": "#/definitions/ClusterHealthChunk" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "operationId": "GetClusterHealthChunkUsingPolicyAndAdvancedFilters", + "summary": "Gets the health of a Service Fabric cluster using health chunks.", + "description": "Gets the health of a Service Fabric cluster using health chunks. The health evaluation is done based on the input cluster health chunk query description.\nThe query description allows users to specify health policies for evaluating the cluster and its children.\nUsers can specify very flexible filters to select which cluster entities to return. The selection can be done based on the entities health state and based on the hierarchy.\nThe query can return multi-level children of the entities based on the specified filters. For example, it can return one application with a specified name, and for this application, return\nonly services that are in Error or Warning, and all partitions and replicas for one of these services.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ClusterHealthChunkQueryDescriptionOptionalBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster health chunk information.", + "schema": { + "$ref": "#/definitions/ClusterHealthChunk" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/ReportClusterHealth": { + "post": { + "operationId": "ReportClusterHealth", + "summary": "Sends a health report on the Service Fabric cluster.", + "description": "Sends a health report on a Service Fabric cluster. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway node, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetClusterHealth and check that the report appears in the HealthEvents section.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/HealthInformationRequiredBodyParam" + }, + { + "$ref": "#/parameters/ImmediateOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code when the cluster health report is accepted for processing." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetProvisionedCodeVersions": { + "get": { + "operationId": "GetProvisionedFabricCodeVersionInfoList", + "summary": "Gets a list of fabric code versions that are provisioned in a Service Fabric cluster.", + "description": "Gets a list of information about fabric code versions that are provisioned in the cluster. The parameter CodeVersion can be used to optionally filter the output to only that particular version.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/CodeVersionOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested provisioned code versions information.", + "schema": { + "$ref": "#/definitions/FabricCodeVersionInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetProvisionedConfigVersions": { + "get": { + "operationId": "GetProvisionedFabricConfigVersionInfoList", + "summary": "Gets a list of fabric config versions that are provisioned in a Service Fabric cluster.", + "description": "Gets a list of information about fabric config versions that are provisioned in the cluster. The parameter ConfigVersion can be used to optionally filter the output to only that particular version.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ConfigVersionOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested provisioned config versions information.", + "schema": { + "$ref": "#/definitions/FabricConfigVersionInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetUpgradeProgress": { + "get": { + "operationId": "GetClusterUpgradeProgress", + "summary": "Gets the progress of the current cluster upgrade.", + "description": "Gets the current progress of the ongoing cluster upgrade. If no upgrade is currently in progress, get the last state of the previous cluster upgrade.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster upgrade progress.", + "schema": { + "$ref": "#/definitions/ClusterUpgradeProgressObject" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetClusterConfiguration": { + "get": { + "operationId": "GetClusterConfiguration", + "summary": "Get the Service Fabric standalone cluster configuration.", + "description": "The cluster configuration contains properties of the cluster that include different node types on the cluster,\nsecurity configurations, fault, and upgrade domain topologies, etc.", + "tags": [ + "Cluster" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ConfigurationApiVersionRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster configuration information.", + "schema": { + "$ref": "#/definitions/ClusterConfiguration" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetClusterConfigurationUpgradeStatus": { + "get": { + "operationId": "GetClusterConfigurationUpgradeStatus", + "summary": "Get the cluster configuration upgrade status of a Service Fabric standalone cluster.", + "description": "Get the cluster configuration upgrade status details of a Service Fabric standalone cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster configuration upgrade status.", + "schema": { + "$ref": "#/definitions/ClusterConfigurationUpgradeStatusInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetUpgradeOrchestrationServiceState": { + "get": { + "operationId": "GetUpgradeOrchestrationServiceState", + "summary": "Get the service state of Service Fabric Upgrade Orchestration Service.", + "description": "Get the service state of Service Fabric Upgrade Orchestration Service. This API is internally used for support purposes.", + "tags": [ + "Cluster" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested service state of Service Fabric Upgrade Orchestration Service.", + "schema": { + "$ref": "#/definitions/UpgradeOrchestrationServiceState" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/SetUpgradeOrchestrationServiceState": { + "post": { + "operationId": "SetUpgradeOrchestrationServiceState", + "summary": "Update the service state of Service Fabric Upgrade Orchestration Service.", + "description": "Update the service state of Service Fabric Upgrade Orchestration Service. This API is internally used for support purposes.", + "tags": [ + "Cluster" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/UpgradeOrchestrationServiceStateRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful response means that the service state of Service Fabric Upgrade Orchestration Service has been updated.", + "schema": { + "$ref": "#/definitions/UpgradeOrchestrationServiceStateSummary" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/Provision": { + "post": { + "summary": "Provision the code or configuration packages of a Service Fabric cluster.", + "description": "Validate and provision the code or configuration packages of a Service Fabric cluster.", + "operationId": "ProvisionCluster", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ProvisionFabricDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful response means that the code or configuration packages have been provisioned." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/Unprovision": { + "post": { + "summary": "Unprovision the code or configuration packages of a Service Fabric cluster.", + "description": "It is supported to unprovision code and configuration separately.", + "operationId": "UnprovisionCluster", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/UnprovisionFabricDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful response means that the code or configuration packages have been unprovisioned." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/RollbackUpgrade": { + "post": { + "summary": "Roll back the upgrade of a Service Fabric cluster.", + "description": "Roll back the code or configuration upgrade of a Service Fabric cluster.", + "operationId": "RollbackClusterUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "202": { + "description": "A successful response means that the rollback of a cluster upgrade has been initiated." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/MoveToNextUpgradeDomain": { + "post": { + "summary": "Make the cluster upgrade move on to the next upgrade domain.", + "description": "Make the cluster code or configuration upgrade move on to the next upgrade domain if appropriate.", + "operationId": "ResumeClusterUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ResumeClusterUpgradeDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful response means that the cluster upgrade has moved on to the next upgrade domain." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/Upgrade": { + "post": { + "summary": "Start upgrading the code or configuration version of a Service Fabric cluster.", + "description": "Validate the supplied upgrade parameters and start upgrading the code or configuration version of a Service Fabric cluster if the parameters are valid.", + "operationId": "StartClusterUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/StartClusterUpgradeDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "202": { + "description": "A successful response means that the cluster code or configuration upgrade has started. Use GetUpgradeProgress operation to get the status of the upgrade." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/StartClusterConfigurationUpgrade": { + "post": { + "summary": "Start upgrading the configuration of a Service Fabric standalone cluster.", + "description": "Validate the supplied configuration upgrade parameters and start upgrading the cluster configuration if the parameters are valid.", + "operationId": "StartClusterConfigurationUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ClusterConfigurationUpgradeDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "x-ms-examples": { + "Start upgrading the configuration of a Service Fabric standalone cluster": { + "$ref": "./examples/StartClusterConfigurationUpgrade-1.json" + } + }, + "responses": { + "202": { + "description": "A successful response means that the cluster configuration upgrade has started. Use GetClusterConfigurationUpgradeStatus operation to get the status of the upgrade." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/UpdateUpgrade": { + "post": { + "operationId": "UpdateClusterUpgrade", + "summary": "Update the upgrade parameters of a Service Fabric cluster upgrade.", + "description": "Update the upgrade parameters used during a Service Fabric cluster upgrade.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/UpdateClusterUpgradeDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation returns 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetAadMetadata": { + "get": { + "operationId": "GetAadMetadata", + "summary": "Gets the Azure Active Directory metadata used for secured connection to cluster.", + "description": "Gets the Azure Active Directory metadata used for secured connection to cluster.\nThis API is not supposed to be called separately. It provides information needed to set up an Azure Active Directory secured connection with a Service Fabric cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "schemes": [ + "https" + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the Azure Active Directory metadata.", + "schema": { + "$ref": "#/definitions/AadMetadataObject" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetClusterVersion": { + "get": { + "operationId": "GetClusterVersion", + "summary": "Get the current Service Fabric cluster version.", + "description": "If a cluster upgrade is happening, then this API will return the lowest (older) version of the current and target cluster runtime versions.", + "tags": [ + "Cluster" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "x-ms-examples": { + "Get cluster version": { + "$ref": "./examples/GetClusterVersion-1.json" + } + }, + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster version information.", + "schema": { + "$ref": "#/definitions/ClusterVersion" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetLoadInformation": { + "get": { + "operationId": "GetClusterLoad", + "summary": "Gets the load of a Service Fabric cluster.", + "description": "Retrieves the load information of a Service Fabric cluster for all the metrics that have load or capacity defined.", + "tags": [ + "Cluster" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster load information.", + "schema": { + "$ref": "#/definitions/ClusterLoadInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/ToggleVerboseServicePlacementHealthReporting": { + "post": { + "operationId": "ToggleVerboseServicePlacementHealthReporting", + "summary": "Changes the verbosity of service placement health reporting.", + "description": "If verbosity is set to true, then detailed health reports will be generated when replicas cannot be placed or dropped.\nIf verbosity is set to false, then no health reports will be generated when replicas cannot be placed or dropped.", + "tags": [ + "Cluster" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/VerboseServicePlacementHealthReportingParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful response means that the verbosity of service placement health reporting was updated." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/ValidateUpgrade": { + "post": { + "summary": "Validate and assess the impact of a code or configuration version update of a Service Fabric cluster.", + "description": "Validate the supplied upgrade parameters and assess the expected impact of a code or configuration version upgrade of a Service Fabric cluster. The upgrade will not be initiated.", + "operationId": "ValidateClusterUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_8-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/StartClusterUpgradeDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful response means that the cluster code or configuration upgrade has valid parameters. The response body describes the assessed expected impact of the upgrade.", + "schema": { + "$ref": "#/definitions/ValidateClusterUpgradeResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes": { + "get": { + "summary": "Gets the list of nodes in the Service Fabric cluster.", + "description": "The response includes the name, status, ID, health, uptime, and other details about the nodes.", + "operationId": "GetNodeInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-3_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/NodeStatusFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Node" + ], + "x-ms-examples": { + "Get information about all nodes": { + "$ref": "./examples/GetNodeInfoList.json" + }, + "Limit maximum results": { + "$ref": "./examples/GetNodeInfoList-1.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetNodeInfoList-2.json" + } + }, + "responses": { + "200": { + "description": "List of nodes in the cluster.", + "schema": { + "$ref": "#/definitions/PagedNodeInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}": { + "get": { + "summary": "Gets the information about a specific node in the Service Fabric cluster.", + "description": "The response includes the name, status, ID, health, uptime, and other details about the node.", + "operationId": "GetNodeInfo", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Node" + ], + "x-ms-examples": { + "Get a specific node by node name": { + "$ref": "./examples/GetNodeInfo-1.json" + } + }, + "responses": { + "200": { + "description": "A successful operation will return information about the node with the specified nodeName.", + "schema": { + "$ref": "#/definitions/NodeInfo" + } + }, + "204": { + "description": "An empty response is returned if the specified nodeName is not found." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetHealth": { + "get": { + "operationId": "GetNodeHealth", + "summary": "Gets the health of a Service Fabric node.", + "description": "Gets the health of a Service Fabric node. Use EventsHealthStateFilter to filter the collection of health events reported on the node based on the health state. If the node that you specify by name does not exist in the health store, this returns an error.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested node health information.", + "schema": { + "$ref": "#/definitions/NodeHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "operationId": "GetNodeHealthUsingPolicy", + "summary": "Gets the health of a Service Fabric node, by using the specified health policy.", + "description": "Gets the health of a Service Fabric node. Use EventsHealthStateFilter to filter the collection of health events reported on the node based on the health state. Use ClusterHealthPolicy in the POST body to override the health policies used to evaluate the health. If the node that you specify by name does not exist in the health store, this returns an error.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ClusterHealthPolicyOptionalBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested node health information.", + "schema": { + "$ref": "#/definitions/NodeHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/ReportHealth": { + "post": { + "operationId": "ReportNodeHealth", + "summary": "Sends a health report on the Service Fabric node.", + "description": "Reports health state of the specified Service Fabric node. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway node, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetNodeHealth and check that the report appears in the HealthEvents section.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/HealthInformationRequiredBodyParam" + }, + { + "$ref": "#/parameters/ImmediateOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetLoadInformation": { + "get": { + "operationId": "GetNodeLoadInfo", + "summary": "Gets the load information of a Service Fabric node.", + "description": "Retrieves the load information of a Service Fabric node for all the metrics that have load or capacity defined.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested node load information.", + "schema": { + "$ref": "#/definitions/NodeLoadInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/Deactivate": { + "post": { + "operationId": "DisableNode", + "summary": "Deactivate a Service Fabric cluster node with the specified deactivation intent.", + "description": "Deactivate a Service Fabric cluster node with the specified deactivation intent. Once the deactivation is in progress, the deactivation intent can be increased, but not decreased (for example, a node that is deactivated with the Pause intent can be deactivated further with Restart, but not the other way around. Nodes may be reactivated using the Activate a node operation any time after they are deactivated. If the deactivation is not complete, this will cancel the deactivation. A node that goes down and comes back up while deactivated will still need to be reactivated before services will be placed on that node.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/DeactivationIntentDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/Activate": { + "post": { + "operationId": "EnableNode", + "summary": "Activate a Service Fabric cluster node that is currently deactivated.", + "description": "Activates a Service Fabric cluster node that is currently deactivated. Once activated, the node will again become a viable target for placing new replicas, and any deactivated replicas remaining on the node will be reactivated.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/RemoveNodeState": { + "post": { + "operationId": "RemoveNodeState", + "summary": "Notifies Service Fabric that the persisted state on a node has been permanently removed or lost.", + "description": "This implies that it is not possible to recover the persisted state of that node. This generally happens if a hard disk has been wiped clean, or if a hard disk crashes. The node has to be down for this operation to be successful. This operation lets Service Fabric know that the replicas on that node no longer exist, and that Service Fabric should stop waiting for those replicas to come back up. Do not run this cmdlet if the state on the node has not been removed and the node can come back up with its state intact. Starting from Service Fabric 6.5, in order to use this API for seed nodes, please change the seed nodes to regular (non-seed) nodes and then invoke this API to remove the node state. If the cluster is running on Azure, after the seed node goes down, Service Fabric will try to change it to a non-seed node automatically. To make this happen, make sure the number of non-seed nodes in the primary node type is no less than the number of Down seed nodes. If necessary, add more nodes to the primary node type to achieve this. For standalone cluster, if the Down seed node is not expected to come back up with its state intact, please remove the node from the cluster, see https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-windows-server-add-remove-nodes", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/Restart": { + "post": { + "operationId": "RestartNode", + "summary": "Restarts a Service Fabric cluster node.", + "description": "Restarts a Service Fabric cluster node that is already started.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/RestartNodeDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code. A successful operation means that the restart command was received by the node and it is in the process of restarting. Check the status of the node by calling GetNode operation." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/RemoveConfigurationOverrides": { + "delete": { + "operationId": "RemoveConfigurationOverrides", + "summary": "Removes configuration overrides on the specified node.", + "description": "This api allows removing all existing configuration overrides on specified node.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_7-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetConfigurationOverrides": { + "get": { + "operationId": "GetConfigurationOverrides", + "summary": "Gets the list of configuration overrides on the specified node.", + "description": "This api allows getting all existing configuration overrides on the specified node.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_7-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "List of configuration overrides on the node.", + "schema": { + "$ref": "#/definitions/ConfigParameterOverrideList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/AddConfigurationParameterOverrides": { + "post": { + "operationId": "AddConfigurationParameterOverrides", + "summary": "Adds the list of configuration overrides on the specified node.", + "description": "This api allows adding all existing configuration overrides on the specified node.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_7-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ConfigurationOverrideListRequiredParam" + }, + { + "$ref": "#/parameters/ForceConfigurationOverrideOptionalParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/RemoveNodeTags": { + "post": { + "operationId": "RemoveNodeTags", + "summary": "Removes the list of tags from the specified node.", + "description": "This api allows removing set of tags from the specified node.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_7-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/NodeTagsListRequiredParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/AddNodeTags": { + "post": { + "operationId": "AddNodeTags", + "summary": "Adds the list of tags on the specified node.", + "description": "This api allows adding tags to the specified node.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_7-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/NodeTagsListRequiredParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ApplicationTypes": { + "get": { + "summary": "Gets the list of application types in the Service Fabric cluster.", + "description": "Returns the information about the application types that are provisioned or in the process of being provisioned in the Service Fabric cluster. Each version of an application type is returned as one application type. The response includes the name, version, status, and other details about the application type. This is a paged query, meaning that if not all of the application types fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page. For example, if there are 10 application types but a page only fits the first three application types, or if max results is set to 3, then three is returned. To access the rest of the results, retrieve subsequent pages by using the returned continuation token in the next query. An empty continuation token is returned if there are no subsequent pages.", + "operationId": "GetApplicationTypeInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationTypeDefinitionKindFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeApplicationParametersOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "x-ms-examples": { + "Limit maximum results": { + "$ref": "./examples/GetApplicationTypeInfoList-1.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetApplicationTypeInfoList-2.json" + }, + "Exclude application parameters from the result": { + "$ref": "./examples/GetApplicationTypeInfoList-3.json" + } + }, + "tags": [ + "ApplicationType" + ], + "responses": { + "200": { + "description": "List of application types in the cluster.", + "schema": { + "$ref": "#/definitions/PagedApplicationTypeInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ApplicationTypes/{applicationTypeName}": { + "get": { + "summary": "Gets the list of application types in the Service Fabric cluster matching exactly the specified name.", + "description": "Returns the information about the application types that are provisioned or in the process of being provisioned in the Service Fabric cluster. These results are of application types whose name match exactly the one specified as the parameter, and which comply with the given query parameters. All versions of the application type matching the application type name are returned, with each version returned as one application type. The response includes the name, version, status, and other details about the application type. This is a paged query, meaning that if not all of the application types fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page. For example, if there are 10 application types but a page only fits the first three application types, or if max results is set to 3, then three is returned. To access the rest of the results, retrieve subsequent pages by using the returned continuation token in the next query. An empty continuation token is returned if there are no subsequent pages.", + "operationId": "GetApplicationTypeInfoListByName", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationTypeVersionOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeApplicationParametersOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ApplicationType" + ], + "responses": { + "200": { + "description": "List of application types in the cluster.", + "schema": { + "$ref": "#/definitions/PagedApplicationTypeInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ApplicationTypes/$/Provision": { + "post": { + "operationId": "ProvisionApplicationType", + "summary": "Provisions or registers a Service Fabric application type with the cluster using the '.sfpkg' package in the external store or using the application package in the image store.", + "description": "Provisions a Service Fabric application type with the cluster. The provision is required before any new applications can be instantiated.\nThe provision operation can be performed either on the application package specified by the relativePathInImageStore, or by using the URI of the external '.sfpkg'.", + "tags": [ + "ApplicationType" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ProvisionApplicationTypeDescriptionBaseRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful provision will return 200 status code." + }, + "202": { + "description": "A 202 status code indicates the operation was accepted and the provision operation has been initiated." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ApplicationTypes/{applicationTypeName}/$/Unprovision": { + "post": { + "operationId": "UnprovisionApplicationType", + "summary": "Removes or unregisters a Service Fabric application type from the cluster.", + "description": "This operation can only be performed if all application instances of the application type have been deleted. Once the application type is unregistered, no new application instances can be created for this particular application type.", + "tags": [ + "ApplicationType" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/UnprovisionApplicationTypeRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful provision will return 200 status code." + }, + "202": { + "description": "A 202 status code indicates the operation was accepted." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes": { + "get": { + "summary": "Gets the list containing the information about service types that are supported by a provisioned application type in a Service Fabric cluster.", + "description": "Gets the list containing the information about service types that are supported by a provisioned application type in a Service Fabric cluster. The provided application type must exist. Otherwise, a 404 status is returned.", + "operationId": "GetServiceTypeInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationTypeVersionRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ServiceType" + ], + "x-ms-examples": { + "Get information about all nodes.": { + "$ref": "./examples/GetServiceTypeInfoList-1.json" + } + }, + "responses": { + "200": { + "description": "List of service types that are supported by a provisioned application type.", + "schema": { + "$ref": "#/definitions/ServiceTypeInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes/{serviceTypeName}": { + "get": { + "summary": "Gets the information about a specific service type that is supported by a provisioned application type in a Service Fabric cluster.", + "description": "Gets the information about a specific service type that is supported by a provisioned application type in a Service Fabric cluster. The provided application type must exist. Otherwise, a 404 status is returned. A 204 response is returned if the specified service type is not found in the cluster.", + "operationId": "GetServiceTypeInfoByName", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationTypeVersionRequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceTypeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ServiceType" + ], + "x-ms-examples": { + "Get information about all nodes.": { + "$ref": "./examples/GetServiceTypeInfoByName-1.json" + } + }, + "responses": { + "200": { + "description": "A specific service type which supported by a provisioned application type.", + "schema": { + "$ref": "#/definitions/ServiceTypeInfo" + } + }, + "204": { + "description": "A 204 response is returned if the specified service type is not found in the cluster." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ApplicationTypes/{applicationTypeName}/$/GetServiceManifest": { + "get": { + "summary": "Gets the manifest describing a service type.", + "description": "Gets the manifest describing a service type. The response contains the service manifest XML as a string.", + "operationId": "GetServiceManifest", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationTypeVersionRequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceManifestNameRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ServiceType" + ], + "responses": { + "200": { + "description": "Information about the service type.", + "schema": { + "$ref": "#/definitions/ServiceTypeManifest" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes": { + "get": { + "summary": "Gets the list containing the information about service types from the applications deployed on a node in a Service Fabric cluster.", + "description": "Gets the list containing the information about service types from the applications deployed on a node in a Service Fabric cluster. The response includes the name of the service type, its registration status, the code package that registered it and activation ID of the service package.", + "operationId": "GetDeployedServiceTypeInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/DeployedServiceType_ServiceManifestNameOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ServiceType" + ], + "responses": { + "200": { + "description": "List of information about service types of an application deployed on a node.", + "schema": { + "$ref": "#/definitions/DeployedServiceTypeInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes/{serviceTypeName}": { + "get": { + "summary": "Gets the information about a specified service type of the application deployed on a node in a Service Fabric cluster.", + "description": "Gets the list containing the information about a specific service type from the applications deployed on a node in a Service Fabric cluster. The response includes the name of the service type, its registration status, the code package that registered it and activation ID of the service package. Each entry represents one activation of a service type, differentiated by the activation ID.", + "operationId": "GetDeployedServiceTypeInfoByName", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceTypeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/DeployedServiceType_ServiceManifestNameOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ServiceType" + ], + "responses": { + "200": { + "description": "Information about service types of an application deployed on a node.", + "schema": { + "$ref": "#/definitions/DeployedServiceTypeInfoList" + } + }, + "204": { + "description": "An empty response is returned if the specified service type of the application is not deployed on the node." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/$/Create": { + "post": { + "summary": "Creates a Service Fabric application.", + "description": "Creates a Service Fabric application using the specified description.", + "operationId": "CreateApplication", + "x-ms-examples": { + "Create application.": { + "$ref": "./examples/CreateApplication-1.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "201": { + "description": "A successful response means that the application creation has been started. Use GetApplication operation to get the status of the application. Once GetApplicationInfo successfully returns application information, the application is created. If the application has default services those may be in the process of being created. Use GetServiceInfo operation to get the status of the service within the application." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/Delete": { + "post": { + "summary": "Deletes an existing Service Fabric application.", + "description": "An application must be created before it can be deleted. Deleting an application will delete all services that are part of that application. By default, Service Fabric will try to close service replicas in a graceful manner and then delete the service. However, if a service is having issues closing the replica gracefully, the delete operation may take a long time or get stuck. Use the optional ForceRemove flag to skip the graceful close sequence and forcefully delete the application and all of its services.", + "operationId": "DeleteApplication", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ForceRemoveOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/GetLoadInformation": { + "get": { + "summary": "Gets load information about a Service Fabric application.", + "description": "Returns the load information about the application that was created or in the process of being created in the Service Fabric cluster and whose name matches the one specified as the parameter. The response includes the name, minimum nodes, maximum nodes, the number of nodes the application is occupying currently, and application load metric information about the application.", + "operationId": "GetApplicationLoadInfo", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "Information about the application load.", + "schema": { + "$ref": "#/definitions/ApplicationLoadInfo" + } + }, + "204": { + "description": "An empty response is returned if the specified applicationId is not found in the cluster." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications": { + "get": { + "summary": "Gets the list of applications created in the Service Fabric cluster that match the specified filters.", + "description": "Gets the information about the applications that were created or in the process of being created in the Service Fabric cluster and match the specified filters. The response includes the name, type, status, parameters, and other details about the application. If the applications do not fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page. Filters ApplicationTypeName and ApplicationDefinitionKindFilter cannot be specified at the same time.", + "operationId": "GetApplicationInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-1_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationDefinitionKindFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApplicationTypeNameOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeApplicationParametersOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "x-ms-examples": { + "Limit maximum results": { + "$ref": "./examples/GetApplicationInfoList-1.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetApplicationInfoList-2.json" + } + }, + "responses": { + "200": { + "description": "List of applications created in the cluster.", + "schema": { + "$ref": "#/definitions/PagedApplicationInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}": { + "get": { + "summary": "Gets information about a Service Fabric application.", + "description": "Returns the information about the application that was created or in the process of being created in the Service Fabric cluster and whose name matches the one specified as the parameter. The response includes the name, type, status, parameters, and other details about the application.", + "operationId": "GetApplicationInfo", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ExcludeApplicationParametersOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "x-ms-examples": { + "Get a specific application by application id": { + "$ref": "./examples/GetApplicationInfoByName-1.json" + } + }, + "responses": { + "200": { + "description": "Information about the application.", + "schema": { + "$ref": "#/definitions/ApplicationInfo" + } + }, + "204": { + "description": "An empty response is returned if the specified applicationId is not found in the cluster." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/GetHealth": { + "get": { + "summary": "Gets the health of the service fabric application.", + "description": "Returns the heath state of the service fabric application. The response reports either Ok, Error or Warning health state. If the entity is not found in the health store, it will return Error.", + "operationId": "GetApplicationHealth", + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/DeployedApplicationsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ServicesHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested application health information.", + "schema": { + "$ref": "#/definitions/ApplicationHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "operationId": "GetApplicationHealthUsingPolicy", + "summary": "Gets the health of a Service Fabric application using the specified policy.", + "description": "Gets the health of a Service Fabric application. Use EventsHealthStateFilter to filter the collection of health events reported on the node based on the health state. Use ClusterHealthPolicies to override the health policies used to evaluate the health.", + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/DeployedApplicationsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ServicesHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested node health information.", + "schema": { + "$ref": "#/definitions/ApplicationHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/ReportHealth": { + "post": { + "operationId": "ReportApplicationHealth", + "summary": "Sends a health report on the Service Fabric application.", + "description": "Reports health state of the specified Service Fabric application. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Application, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, get application health and check that the report appears in the HealthEvents section.", + "tags": [ + "Application" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/HealthInformationRequiredBodyParam" + }, + { + "$ref": "#/parameters/ImmediateOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/Upgrade": { + "post": { + "summary": "Starts upgrading an application in the Service Fabric cluster.", + "description": "Validates the supplied application upgrade parameters and starts upgrading the application if the parameters are valid.\nNote, [ApplicationParameter](https://docs.microsoft.com/dotnet/api/system.fabric.description.applicationdescription.applicationparameters)s are not preserved across an application upgrade.\nIn order to preserve current application parameters, the user should get the parameters using [GetApplicationInfo](./GetApplicationInfo.md) operation first and pass them into the upgrade API call as shown in the example.", + "operationId": "StartApplicationUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationUpgradeDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "x-ms-examples": { + "Upgrade an application preserving current application parameters": { + "$ref": "./examples/StartApplicationUpgrade-1.json" + } + }, + "responses": { + "200": { + "description": "A successful response means that the application upgrade has started. Use GetApplicationUpgrade operation to get the status of the upgrade." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/GetUpgradeProgress": { + "get": { + "summary": "Gets details for the latest upgrade performed on this application.", + "description": "Returns information about the state of the latest application upgrade along with details to aid debugging application health issues.", + "operationId": "GetApplicationUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "The application upgrade details.", + "schema": { + "$ref": "#/definitions/ApplicationUpgradeProgressInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/UpdateUpgrade": { + "post": { + "summary": "Updates an ongoing application upgrade in the Service Fabric cluster.", + "description": "Updates the parameters of an ongoing application upgrade from the ones specified at the time of starting the application upgrade. This may be required to mitigate stuck application upgrades due to incorrect parameters or issues in the application to make progress.", + "operationId": "UpdateApplicationUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationUpgradeUpdateDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "A successful response means that the application upgrade has updated with the specified parameters. Use GetApplicationUpgrade operation to get the status of the upgrade." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/Update": { + "post": { + "operationId": "UpdateApplication", + "summary": "Updates a Service Fabric application.", + "description": "Updates a Service Fabric application instance. The set of properties that can be updated are a subset of the properties that were specified at the time of creating the application.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_8-1_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationUpdateDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "A successful response means that the application instance was updated with the specified parameters." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/MoveToNextUpgradeDomain": { + "post": { + "summary": "Resumes upgrading an application in the Service Fabric cluster.", + "description": "Resumes an unmonitored manual Service Fabric application upgrade. Service Fabric upgrades one upgrade domain at a time. For unmonitored manual upgrades, after Service Fabric finishes an upgrade domain, it waits for you to call this API before proceeding to the next upgrade domain.", + "operationId": "ResumeApplicationUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ResumeApplicationUpgradeDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "A successful response means that the application upgrade has been resumed in the specified upgrade domain. Use GetApplicationUpgrade operation to get the status of the upgrade." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/RollbackUpgrade": { + "post": { + "summary": "Starts rolling back the currently on-going upgrade of an application in the Service Fabric cluster.", + "description": "Starts rolling back the current application upgrade to the previous version. This API can only be used to roll back the current in-progress upgrade that is rolling forward to new version. If the application is not currently being upgraded use StartApplicationUpgrade API to upgrade it to desired version, including rolling back to a previous version.", + "operationId": "RollbackApplicationUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "A successful response means that the application has started to roll back. Use GetApplicationUpgrade operation to get the status of the upgrade." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications": { + "get": { + "operationId": "GetDeployedApplicationInfoList", + "summary": "Gets the list of applications deployed on a Service Fabric node.", + "description": "Gets the list of applications deployed on a Service Fabric node. The results do not include information about deployed system applications unless explicitly queried for by ID. Results encompass deployed applications in active, activating, and downloading states. This query requires that the node name corresponds to a node on the cluster. The query fails if the provided node name does not point to any active Service Fabric nodes on the cluster.", + "tags": [ + "Application" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-1_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/IncludeHealthStateOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + } + ], + "x-ms-examples": { + "Limit maximum results": { + "$ref": "./examples/GetDeployedApplicationInfoList-1.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetDeployedApplicationInfoList-2.json" + }, + "Include health state in the result": { + "$ref": "./examples/GetDeployedApplicationInfoList-3.json" + } + }, + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the list of deployed application information.", + "schema": { + "$ref": "#/definitions/PagedDeployedApplicationInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}": { + "get": { + "operationId": "GetDeployedApplicationInfo", + "summary": "Gets the information about an application deployed on a Service Fabric node.", + "description": "This query returns system application information if the application ID provided is for system application. Results encompass deployed applications in active, activating, and downloading states. This query requires that the node name corresponds to a node on the cluster. The query fails if the provided node name does not point to any active Service Fabric nodes on the cluster.", + "tags": [ + "Application" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-1_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/IncludeHealthStateOptionalQueryParam" + } + ], + "x-ms-examples": { + "Get a specific deployed application by application ID and include the health state in the result": { + "$ref": "./examples/GetDeployedApplicationInfoByName-1.json" + } + }, + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the information about the deployed application.", + "schema": { + "$ref": "#/definitions/DeployedApplicationInfo" + } + }, + "204": { + "description": "An empty response is returned if the specified application is not deployed on the node." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetHealth": { + "get": { + "operationId": "GetDeployedApplicationHealth", + "summary": "Gets the information about health of an application deployed on a Service Fabric node.", + "description": "Gets the information about health of an application deployed on a Service Fabric node. Use EventsHealthStateFilter to optionally filter for the collection of HealthEvent objects reported on the deployed application based on health state. Use DeployedServicePackagesHealthStateFilter to optionally filter for DeployedServicePackageHealth children based on health state.", + "tags": [ + "Application" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/DeployedServicePackagesHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the health information of the deployed application.", + "schema": { + "$ref": "#/definitions/DeployedApplicationHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "operationId": "GetDeployedApplicationHealthUsingPolicy", + "summary": "Gets the information about health of an application deployed on a Service Fabric node. using the specified policy.", + "description": "Gets the information about health of an application deployed on a Service Fabric node using the specified policy. Use EventsHealthStateFilter to optionally filter for the collection of HealthEvent objects reported on the deployed application based on health state. Use DeployedServicePackagesHealthStateFilter to optionally filter for DeployedServicePackageHealth children based on health state. Use ApplicationHealthPolicy to optionally override the health policies used to evaluate the health. This API only uses 'ConsiderWarningAsError' field of the ApplicationHealthPolicy. The rest of the fields are ignored while evaluating the health of the deployed application.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/DeployedServicePackagesHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the health information of the deployed application.", + "schema": { + "$ref": "#/definitions/DeployedApplicationHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/ReportHealth": { + "post": { + "operationId": "ReportDeployedApplicationHealth", + "summary": "Sends a health report on the Service Fabric application deployed on a Service Fabric node.", + "description": "Reports health state of the application deployed on a Service Fabric node. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Service, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, get deployed application health and check that the report appears in the HealthEvents section.", + "tags": [ + "Application" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/HealthInformationRequiredBodyParam" + }, + { + "$ref": "#/parameters/ImmediateOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ApplicationTypes/{applicationTypeName}/$/GetApplicationManifest": { + "get": { + "summary": "Gets the manifest describing an application type.", + "description": "The response contains the application manifest XML as a string.", + "operationId": "GetApplicationManifest", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationTypeVersionRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ApplicationType" + ], + "responses": { + "200": { + "description": "Information about the node.", + "schema": { + "$ref": "#/definitions/ApplicationTypeManifest" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/GetServices": { + "get": { + "summary": "Gets the information about all services belonging to the application specified by the application ID.", + "description": "Returns the information about all services belonging to the application specified by the application ID.", + "operationId": "GetServiceInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceTypeNameOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service" + ], + "responses": { + "200": { + "description": "List of services in the cluster for the specified application.", + "schema": { + "$ref": "#/definitions/PagedServiceInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/GetServices/{serviceId}": { + "get": { + "summary": "Gets the information about the specific service belonging to the Service Fabric application.", + "description": "Returns the information about the specified service belonging to the specified Service Fabric application.", + "operationId": "GetServiceInfo", + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service" + ], + "responses": { + "200": { + "description": "Information about the specified service.", + "schema": { + "$ref": "#/definitions/ServiceInfo" + } + }, + "204": { + "description": "An empty response is returned if the specified service is not part of the specified application." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/GetApplicationName": { + "get": { + "summary": "Gets the name of the Service Fabric application for a service.", + "description": "Gets the name of the application for the specified service. A 404 FABRIC_E_SERVICE_DOES_NOT_EXIST error is returned if a service with the provided service ID does not exist.", + "operationId": "GetApplicationNameInfo", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service" + ], + "responses": { + "200": { + "description": "Information about the name of the application for the specified service.", + "schema": { + "$ref": "#/definitions/ApplicationNameInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/GetServices/$/Create": { + "post": { + "operationId": "CreateService", + "summary": "Creates the specified Service Fabric service.", + "description": "This api allows creating a new Service Fabric stateless or stateful service under a specified Service Fabric application. The description for creating the service includes partitioning information and optional properties for placement and load balancing. Some of the properties can later be modified using `UpdateService` API.", + "x-ms-examples": { + "Basic stateless service": { + "$ref": "./examples/CreateService-1.json" + }, + "Basic stateful service": { + "$ref": "./examples/CreateService-2.json" + }, + "Stateless service with dns name and auto scaling": { + "$ref": "./examples/CreateService-3.json" + }, + "Stateful service with named partitions and auto scaling": { + "$ref": "./examples/CreateService-4.json" + } + }, + "tags": [ + "Service" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A successful operation will return 202 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/GetServices/$/CreateFromTemplate": { + "post": { + "summary": "Creates a Service Fabric service from the service template.", + "description": "Creates a Service Fabric service from the service template defined in the application manifest. A service template contains the properties that will be same for the service instance of the same type. The API allows overriding the properties that are usually different for different services of the same service type.", + "operationId": "CreateServiceFromTemplate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/CreateServiceFromTemplateRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service" + ], + "responses": { + "202": { + "description": "A successful operation will return 202 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/Delete": { + "post": { + "summary": "Deletes an existing Service Fabric service.", + "description": "A service must be created before it can be deleted. By default, Service Fabric will try to close service replicas in a graceful manner and then delete the service. However, if the service is having issues closing the replica gracefully, the delete operation may take a long time or get stuck. Use the optional ForceRemove flag to skip the graceful close sequence and forcefully delete the service.", + "operationId": "DeleteService", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ForceRemoveOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/Update": { + "post": { + "operationId": "UpdateService", + "summary": "Updates a Service Fabric service using the specified update description.", + "description": "This API allows updating properties of a running Service Fabric service. The set of properties that can be updated are a subset of the properties that were specified at the time of creating the service. The current set of properties can be obtained using `GetServiceDescription` API. Note that updating the properties of a running service is different than upgrading your application using `StartApplicationUpgrade` API. The upgrade is a long running background operation that involves moving the application from one version to another, one upgrade domain at a time, whereas update applies the new properties immediately to the service.", + "x-ms-examples": { + "Stateless service": { + "$ref": "./examples/UpdateService-1.json" + }, + "Stateful service": { + "$ref": "./examples/UpdateService-2.json" + } + }, + "tags": [ + "Service" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceUpdateDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 202 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/GetDescription": { + "get": { + "summary": "Gets the description of an existing Service Fabric service.", + "description": "Gets the description of an existing Service Fabric service. A service must be created before its description can be obtained.", + "operationId": "GetServiceDescription", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code.", + "schema": { + "$ref": "#/definitions/ServiceDescription" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/GetHealth": { + "get": { + "summary": "Gets the health of the specified Service Fabric service.", + "description": "Gets the health information of the specified service.\nUse EventsHealthStateFilter to filter the collection of health events reported on the service based on the health state.\nUse PartitionsHealthStateFilter to filter the collection of partitions returned.\nIf you specify a service that does not exist in the health store, this request returns an error.", + "operationId": "GetServiceHealth", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/PartitionsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the health information of the specified service.", + "schema": { + "$ref": "#/definitions/ServiceHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "summary": "Gets the health of the specified Service Fabric service, by using the specified health policy.", + "description": "Gets the health information of the specified service.\nIf the application health policy is specified, the health evaluation uses it to get the aggregated health state.\nIf the policy is not specified, the health evaluation uses the application health policy defined in the application manifest, or the default health policy, if no policy is defined in the manifest.\nUse EventsHealthStateFilter to filter the collection of health events reported on the service based on the health state.\nUse PartitionsHealthStateFilter to filter the collection of partitions returned.\nIf you specify a service that does not exist in the health store, this request returns an error.", + "operationId": "GetServiceHealthUsingPolicy", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/PartitionsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the health information of the specified service.", + "schema": { + "$ref": "#/definitions/ServiceHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/ReportHealth": { + "post": { + "operationId": "ReportServiceHealth", + "summary": "Sends a health report on the Service Fabric service.", + "description": "Reports health state of the specified Service Fabric service. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Service, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetServiceHealth and check that the report appears in the HealthEvents section.", + "tags": [ + "Service" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/HealthInformationRequiredBodyParam" + }, + { + "$ref": "#/parameters/ImmediateOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/ResolvePartition": { + "get": { + "operationId": "ResolveService", + "summary": "Resolve a Service Fabric partition.", + "description": "Resolve a Service Fabric service partition to get the endpoints of the service replicas.", + "tags": [ + "Service" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionKeyTypeOptionalQueryParam" + }, + { + "$ref": "#/parameters/PartitionKeyValueOptionalQueryParam" + }, + { + "$ref": "#/parameters/PreviousRspVersionOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code.", + "schema": { + "$ref": "#/definitions/ResolvedServicePartition" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/GetUnplacedReplicaInformation": { + "get": { + "summary": "Gets the information about unplaced replica of the service.", + "description": "Returns the information about the unplaced replicas of the service.\nIf PartitionId is specified, then result will contain information only about unplaced replicas for that partition.\nIf PartitionId is not specified, then result will contain information about unplaced replicas for all partitions of that service.\nIf OnlyQueryPrimaries is set to true, then result will contain information only about primary replicas, and will ignore unplaced secondary replicas.", + "operationId": "GetUnplacedReplicaInformation", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdOptionalQueryParam" + }, + { + "$ref": "#/parameters/OnlyQueryPrimariesOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service" + ], + "responses": { + "200": { + "description": "Information about the specified service.", + "schema": { + "$ref": "#/definitions/UnplacedReplicaInformation" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetLoadedPartitionInfoList": { + "get": { + "summary": "Gets ordered list of partitions.", + "description": "Retrieves partitions which are most/least loaded according to specified metric.", + "operationId": "GetLoadedPartitionInfoList", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_8-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/MetricNameRequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceNameOptionalQueryParam" + }, + { + "$ref": "#/parameters/OrderingOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster load information.", + "schema": { + "$ref": "#/definitions/LoadedPartitionInformationResultList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/GetPartitions": { + "get": { + "summary": "Gets the list of partitions of a Service Fabric service.", + "description": "The response includes the partition ID, partitioning scheme information, keys supported by the partition, status, health, and other details about the partition.", + "operationId": "GetPartitionInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Partition" + ], + "responses": { + "200": { + "description": "List of partitions of a Service Fabric service.", + "schema": { + "$ref": "#/definitions/PagedServicePartitionInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}": { + "get": { + "summary": "Gets the information about a Service Fabric partition.", + "description": "Gets the information about the specified partition. The response includes the partition ID, partitioning scheme information, keys supported by the partition, status, health, and other details about the partition.", + "operationId": "GetPartitionInfo", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Partition" + ], + "responses": { + "200": { + "description": "Information about the specified partition.", + "schema": { + "$ref": "#/definitions/ServicePartitionInfo" + } + }, + "204": { + "description": "An empty response is returned if the specified partitionId is not found in the cluster." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetServiceName": { + "get": { + "summary": "Gets the name of the Service Fabric service for a partition.", + "description": "Gets name of the service for the specified partition. A 404 error is returned if the partition ID does not exist in the cluster.", + "operationId": "GetServiceNameInfo", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Partition" + ], + "responses": { + "200": { + "description": "Information about the name of the service for the specified partition.", + "schema": { + "$ref": "#/definitions/ServiceNameInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetHealth": { + "get": { + "summary": "Gets the health of the specified Service Fabric partition.", + "description": "Use EventsHealthStateFilter to filter the collection of health events reported on the service based on the health state.\nUse ReplicasHealthStateFilter to filter the collection of ReplicaHealthState objects on the partition.\nIf you specify a partition that does not exist in the health store, this request returns an error.", + "operationId": "GetPartitionHealth", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ReplicasHealthStateFilerOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Partition" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the health information about the specified partition.", + "schema": { + "$ref": "#/definitions/PartitionHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "summary": "Gets the health of the specified Service Fabric partition, by using the specified health policy.", + "description": "Gets the health information of the specified partition.\nIf the application health policy is specified, the health evaluation uses it to get the aggregated health state.\nIf the policy is not specified, the health evaluation uses the application health policy defined in the application manifest, or the default health policy, if no policy is defined in the manifest.\nUse EventsHealthStateFilter to filter the collection of health events reported on the partition based on the health state.\nUse ReplicasHealthStateFilter to filter the collection of ReplicaHealthState objects on the partition. Use ApplicationHealthPolicy in the POST body to override the health policies used to evaluate the health.\nIf you specify a partition that does not exist in the health store, this request returns an error.", + "operationId": "GetPartitionHealthUsingPolicy", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ReplicasHealthStateFilerOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Partition" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the health information about the specified partition.", + "schema": { + "$ref": "#/definitions/PartitionHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/ReportHealth": { + "post": { + "operationId": "ReportPartitionHealth", + "summary": "Sends a health report on the Service Fabric partition.", + "description": "Reports health state of the specified Service Fabric partition. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Partition, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetPartitionHealth and check that the report appears in the HealthEvents section.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/HealthInformationRequiredBodyParam" + }, + { + "$ref": "#/parameters/ImmediateOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetLoadInformation": { + "get": { + "summary": "Gets the load information of the specified Service Fabric partition.", + "description": "Returns information about the load of a specified partition.\nThe response includes a list of load reports for a Service Fabric partition.\nEach report includes the load metric name, value, and last reported time in UTC.", + "operationId": "GetPartitionLoadInformation", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Partition" + ], + "responses": { + "200": { + "description": "Information about the specified partition's last reported load metrics.", + "schema": { + "$ref": "#/definitions/PartitionLoadInformation" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/ResetLoad": { + "post": { + "operationId": "ResetPartitionLoad", + "summary": "Resets the current load of a Service Fabric partition.", + "description": "Resets the current load of a Service Fabric partition to the default load for the service.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation request will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/Recover": { + "post": { + "operationId": "RecoverPartition", + "summary": "Indicates to the Service Fabric cluster that it should attempt to recover a specific partition that is currently stuck in quorum loss.", + "description": "This operation should only be performed if it is known that the replicas that are down cannot be recovered. Incorrect use of this API can cause potential data loss.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation request will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/$/{serviceId}/$/GetPartitions/$/Recover": { + "post": { + "operationId": "RecoverServicePartitions", + "summary": "Indicates to the Service Fabric cluster that it should attempt to recover the specified service that is currently stuck in quorum loss.", + "description": "Indicates to the Service Fabric cluster that it should attempt to recover the specified service that is currently stuck in quorum loss. This operation should only be performed if it is known that the replicas that are down cannot be recovered. Incorrect use of this API can cause potential data loss.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation request will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/RecoverSystemPartitions": { + "post": { + "operationId": "RecoverSystemPartitions", + "summary": "Indicates to the Service Fabric cluster that it should attempt to recover the system services that are currently stuck in quorum loss.", + "description": "Indicates to the Service Fabric cluster that it should attempt to recover the system services that are currently stuck in quorum loss. This operation should only be performed if it is known that the replicas that are down cannot be recovered. Incorrect use of this API can cause potential data loss.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation request will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/RecoverAllPartitions": { + "post": { + "operationId": "RecoverAllPartitions", + "summary": "Indicates to the Service Fabric cluster that it should attempt to recover any services (including system services) which are currently stuck in quorum loss.", + "description": "This operation should only be performed if it is known that the replicas that are down cannot be recovered. Incorrect use of this API can cause potential data loss.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation request will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/MovePrimaryReplica": { + "post": { + "operationId": "MovePrimaryReplica", + "summary": "Moves the primary replica of a partition of a stateful service.", + "description": "This command moves the primary replica of a partition of a stateful service, respecting all constraints.\nIf NodeName parameter is specified, primary will be moved to the specified node (if constraints allow it).\nIf NodeName parameter is not specified, primary replica will be moved to a random node in the cluster.\nIf IgnoreConstraints parameter is specified and set to true, then primary will be moved regardless of the constraints.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/NodeNameOptionalParam" + }, + { + "$ref": "#/parameters/IgnoreConstraintsOptionalParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation request will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/MoveSecondaryReplica": { + "post": { + "operationId": "MoveSecondaryReplica", + "summary": "Moves the secondary replica of a partition of a stateful service.", + "description": "This command moves the secondary replica of a partition of a stateful service, respecting all constraints.\nCurrentNodeName parameter must be specified to identify the replica that is moved.\nSource node name must be specified, but new node name can be omitted, and in that case replica is moved to a random node.\nIf IgnoreConstraints parameter is specified and set to true, then secondary will be moved regardless of the constraints.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/CurrentNodeNameRequiredParam" + }, + { + "$ref": "#/parameters/NewNodeNameOptionalParam" + }, + { + "$ref": "#/parameters/IgnoreConstraintsOptionalParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation request will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/UpdatePartitionLoad": { + "post": { + "operationId": "UpdatePartitionLoad", + "summary": "Update the loads of provided partitions for specific metrics.", + "description": "Updates the load value and predicted load value for all the partitions provided for specified metrics.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_7-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionMetricLoadDescriptionListRequiredParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "List UpdatePartitionLoadResults.", + "schema": { + "$ref": "#/definitions/PagedUpdatePartitionLoadResultList" + } + }, + "default": { + "description": "The error code response per specified partition.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/GetPartitions/{partitionId}/$/MoveInstance": { + "post": { + "operationId": "MoveInstance", + "summary": "Moves the instance of a partition of a stateless service.", + "description": "This command moves the instance of a partition of a stateless service, respecting all constraints.\nPartition id and service name must be specified to be able to move the instance.\nCurrentNodeName when specified identifies the instance that is moved. If not specified, random instance will be moved \nNew node name can be omitted, and in that case instance is moved to a random node.\nIf IgnoreConstraints parameter is specified and set to true, then instance will be moved regardless of the constraints.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_8-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/CurrentNodeNameOptionalParam" + }, + { + "$ref": "#/parameters/NewNodeNameOptionalParam" + }, + { + "$ref": "#/parameters/IgnoreConstraintsOptionalParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation request will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/GetPartitions/{partitionId}/$/MoveAuxiliaryReplica": { + "post": { + "operationId": "MoveAuxiliaryReplica", + "summary": "Moves the auxiliary replica of a partition of a stateful service.", + "description": "This command moves the auxiliary replica of a partition of a stateful service, respecting all constraints.\nCurrentNodeName can be omitted, and in that case a random auxiliary replica is chosen.\nNewNodeName can be omitted, and in that case the auxiliary replica is moved to a random node.\nIf IgnoreConstraints parameter is specified and set to true, then auxiliary will be moved regardless of the constraints.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_8-1_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/CurrentNodeNameOptionalParam" + }, + { + "$ref": "#/parameters/NewNodeNameOptionalParam" + }, + { + "$ref": "#/parameters/IgnoreConstraintsOptionalParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation request will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/CreateRepairTask": { + "post": { + "operationId": "CreateRepairTask", + "summary": "Creates a new repair task.", + "description": "For clusters that have the Repair Manager Service configured,\nthis API provides a way to create repair tasks that run automatically or manually.\nFor repair tasks that run automatically, an appropriate repair executor\nmust be running for each repair action to run automatically.\nThese are currently only available in specially-configured Azure Cloud Services.\n\nTo create a manual repair task, provide the set of impacted node names and the\nexpected impact. When the state of the created repair task changes to approved,\nyou can safely perform repair actions on those nodes.\n\nThis API supports the Service Fabric platform; it is not meant to be used directly from your code.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/RepairTaskRequiredBodyParam" + } + ], + "tags": [ + "RepairManagement" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code.\nThe response body provides information about the created repair task.", + "schema": { + "$ref": "#/definitions/RepairTaskUpdateInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/CancelRepairTask": { + "post": { + "operationId": "CancelRepairTask", + "summary": "Requests the cancellation of the given repair task.", + "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/RepairTaskCancelDescriptionRequiredBodyParam" + } + ], + "tags": [ + "RepairManagement" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code.\nThe response body provides information about the updated repair task.\nSuccess indicates that the cancellation request was recorded, but does not guarantee that the repair task will be cancelled.\nClients may use the State property of the repair task to determine the current state of the repair task.", + "schema": { + "$ref": "#/definitions/RepairTaskUpdateInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/DeleteRepairTask": { + "post": { + "operationId": "DeleteRepairTask", + "summary": "Deletes a completed repair task.", + "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/RepairTaskDeleteDescriptionRequiredBodyParam" + } + ], + "tags": [ + "RepairManagement" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetRepairTaskList": { + "get": { + "operationId": "GetRepairTaskList", + "summary": "Gets a list of repair tasks matching the given filters.", + "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/RepairTaskIdFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/RepairTaskStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/RepairTaskExecutorFilterOptionalQueryParam" + } + ], + "tags": [ + "RepairManagement" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code.\nThe response body provides a list of repair tasks matching all of the given filters.", + "schema": { + "$ref": "#/definitions/RepairTaskList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/ForceApproveRepairTask": { + "post": { + "operationId": "ForceApproveRepairTask", + "summary": "Forces the approval of the given repair task.", + "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/RepairTaskApproveDescriptionRequiredBodyParam" + } + ], + "tags": [ + "RepairManagement" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code.\nThe response body provides information about the updated repair task.", + "schema": { + "$ref": "#/definitions/RepairTaskUpdateInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/UpdateRepairTaskHealthPolicy": { + "post": { + "operationId": "UpdateRepairTaskHealthPolicy", + "summary": "Updates the health policy of the given repair task.", + "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/RepairTaskUpdateHealthPolicyDescriptionRequiredBodyParam" + } + ], + "tags": [ + "RepairManagement" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code.\nThe response body provides information about the updated repair task.", + "schema": { + "$ref": "#/definitions/RepairTaskUpdateInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/UpdateRepairExecutionState": { + "post": { + "operationId": "UpdateRepairExecutionState", + "summary": "Updates the execution state of a repair task.", + "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/RepairTaskRequiredBodyParam" + } + ], + "tags": [ + "RepairManagement" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code.\nThe response body provides information about the updated repair task.", + "schema": { + "$ref": "#/definitions/RepairTaskUpdateInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetReplicas": { + "get": { + "summary": "Gets the information about replicas of a Service Fabric service partition.", + "description": "The GetReplicas endpoint returns information about the replicas of the specified partition. The response includes the ID, role, status, health, node name, uptime, and other details about the replica.", + "operationId": "GetReplicaInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Replica" + ], + "responses": { + "200": { + "description": "Information about the replicas of the specified partition.", + "schema": { + "$ref": "#/definitions/PagedReplicaInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetReplicas/{replicaId}": { + "get": { + "summary": "Gets the information about a replica of a Service Fabric partition.", + "description": "The response includes the ID, role, status, health, node name, uptime, and other details about the replica.", + "operationId": "GetReplicaInfo", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Replica" + ], + "responses": { + "200": { + "description": "Information about the specified replicas of the specified partition of a Service Fabric service.", + "schema": { + "$ref": "#/definitions/ReplicaInfo" + } + }, + "204": { + "description": "An empty response is returned if the specified replicaId is not a replica of the specified partition." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetHealth": { + "get": { + "operationId": "GetReplicaHealth", + "summary": "Gets the health of a Service Fabric stateful service replica or stateless service instance.", + "description": "Gets the health of a Service Fabric replica.\nUse EventsHealthStateFilter to filter the collection of health events reported on the replica based on the health state.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Replica" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested replica health.", + "schema": { + "$ref": "#/definitions/ReplicaHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "operationId": "GetReplicaHealthUsingPolicy", + "summary": "Gets the health of a Service Fabric stateful service replica or stateless service instance using the specified policy.", + "description": "Gets the health of a Service Fabric stateful service replica or stateless service instance.\nUse EventsHealthStateFilter to filter the collection of health events reported on the cluster based on the health state.\nUse ApplicationHealthPolicy to optionally override the health policies used to evaluate the health. This API only uses 'ConsiderWarningAsError' field of the ApplicationHealthPolicy. The rest of the fields are ignored while evaluating the health of the replica.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Replica" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested replica health information.", + "schema": { + "$ref": "#/definitions/ReplicaHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/ReportHealth": { + "post": { + "operationId": "ReportReplicaHealth", + "summary": "Sends a health report on the Service Fabric replica.", + "description": "Reports health state of the specified Service Fabric replica. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Replica, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetReplicaHealth and check that the report appears in the HealthEvents section.", + "tags": [ + "Replica" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaHealthReportServiceKindRequiredQueryParam" + }, + { + "$ref": "#/parameters/HealthInformationRequiredBodyParam" + }, + { + "$ref": "#/parameters/ImmediateOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetReplicas": { + "get": { + "operationId": "GetDeployedServiceReplicaInfoList", + "summary": "Gets the list of replicas deployed on a Service Fabric node.", + "description": "Gets the list containing the information about replicas deployed on a Service Fabric node. The information include partition ID, replica ID, status of the replica, name of the service, name of the service type, and other information. Use PartitionId or ServiceManifestName query parameters to return information about the deployed replicas matching the specified values for those parameters.", + "tags": [ + "Replica" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdOptionalQueryParam" + }, + { + "$ref": "#/parameters/ServiceManifestNameOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the list of deployed service replica information.", + "schema": { + "$ref": "#/definitions/DeployedServiceReplicaInfoList" + } + }, + "204": { + "description": "An empty response is returned if the specified applicationId is not found on the specified node. An empty response is also returned if there are no replicas matching the specified filter values for PartitionId or ServiceManifestName query parameters." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetDetail": { + "get": { + "operationId": "GetDeployedServiceReplicaDetailInfo", + "summary": "Gets the details of replica deployed on a Service Fabric node.", + "description": "Gets the details of the replica deployed on a Service Fabric node. The information includes service kind, service name, current service operation, current service operation start date time, partition ID, replica/instance ID, reported load, and other information.", + "tags": [ + "Replica" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the list of deployed service replica information.", + "schema": { + "$ref": "#/definitions/DeployedServiceReplicaDetailInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas": { + "get": { + "operationId": "GetDeployedServiceReplicaDetailInfoByPartitionId", + "summary": "Gets the details of replica deployed on a Service Fabric node.", + "description": "Gets the details of the replica deployed on a Service Fabric node. The information includes service kind, service name, current service operation, current service operation start date time, partition ID, replica/instance ID, reported load, and other information.", + "tags": [ + "Replica" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the list of deployed service replica information.", + "schema": { + "$ref": "#/definitions/DeployedServiceReplicaDetailInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Restart": { + "post": { + "operationId": "RestartReplica", + "summary": "Restarts a service replica of a persisted service running on a node.", + "description": "Restarts a service replica of a persisted service running on a node. Warning - There are no safety checks performed when this API is used. Incorrect use of this API can lead to availability loss for stateful services.", + "tags": [ + "Replica" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code. A successful operation means that the restart command was received by the replica on the node and it is in the process of restarting." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Delete": { + "post": { + "operationId": "RemoveReplica", + "summary": "Removes a service replica running on a node.", + "description": "This API simulates a Service Fabric replica failure by removing a replica from a Service Fabric cluster. The removal closes the replica, transitions the replica to the role None, and then removes all of the state information of the replica from the cluster. This API tests the replica state removal path, and simulates the report fault permanent path through client APIs. Warning - There are no safety checks performed when this API is used. Incorrect use of this API can lead to data loss for stateful services. In addition, the forceRemove flag impacts all other replicas hosted in the same process.", + "tags": [ + "Replica" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ForceRemoveReplicaOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code. A successful operation means that the restart command was received by the replica on the node and it is in the process of restarting." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages": { + "get": { + "operationId": "GetDeployedServicePackageInfoList", + "summary": "Gets the list of service packages deployed on a Service Fabric node.", + "description": "Returns the information about the service packages deployed on a Service Fabric node for the given application.", + "tags": [ + "Service Package" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the list of deployed service packages information.", + "schema": { + "$ref": "#/definitions/DeployedServicePackageInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}": { + "get": { + "operationId": "GetDeployedServicePackageInfoListByName", + "summary": "Gets the list of service packages deployed on a Service Fabric node matching exactly the specified name.", + "description": "Returns the information about the service packages deployed on a Service Fabric node for the given application. These results are of service packages whose name match exactly the service package name specified as the parameter.", + "tags": [ + "Service Package" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServicePackageNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the list of deployed service packages information.", + "schema": { + "$ref": "#/definitions/DeployedServicePackageInfoList" + } + }, + "204": { + "description": "An empty response is returned if the specified service package from the application is not deployed on the node." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/GetHealth": { + "get": { + "operationId": "GetDeployedServicePackageHealth", + "summary": "Gets the information about health of a service package for a specific application deployed for a Service Fabric node and application.", + "description": "Gets the information about health of a service package for a specific application deployed on a Service Fabric node. Use EventsHealthStateFilter to optionally filter for the collection of HealthEvent objects reported on the deployed service package based on health state.", + "tags": [ + "Service Package" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServicePackageNameRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the health information of the deployed service package for a specific node and application.", + "schema": { + "$ref": "#/definitions/DeployedServicePackageHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "operationId": "GetDeployedServicePackageHealthUsingPolicy", + "summary": "Gets the information about health of service package for a specific application deployed on a Service Fabric node using the specified policy.", + "description": "Gets the information about health of a service package for a specific application deployed on a Service Fabric node. using the specified policy. Use EventsHealthStateFilter to optionally filter for the collection of HealthEvent objects reported on the deployed service package based on health state. Use ApplicationHealthPolicy to optionally override the health policies used to evaluate the health. This API only uses 'ConsiderWarningAsError' field of the ApplicationHealthPolicy. The rest of the fields are ignored while evaluating the health of the deployed service package.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServicePackageNameRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service Package" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the health information of the deployed service package for a specific node and application.", + "schema": { + "$ref": "#/definitions/DeployedServicePackageHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/ReportHealth": { + "post": { + "operationId": "ReportDeployedServicePackageHealth", + "summary": "Sends a health report on the Service Fabric deployed service package.", + "description": "Reports health state of the service package of the application deployed on a Service Fabric node. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Service, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, get deployed service package health and check that the report appears in the HealthEvents section.", + "tags": [ + "Service Package" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServicePackageNameRequiredPathParam" + }, + { + "$ref": "#/parameters/HealthInformationRequiredBodyParam" + }, + { + "$ref": "#/parameters/ImmediateOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/DeployServicePackage": { + "post": { + "operationId": "DeployServicePackageToNode", + "summary": "Downloads all of the code packages associated with specified service manifest on the specified node.", + "description": "This API provides a way to download code packages including the container images on a specific node outside of the normal application deployment and upgrade path. This is useful for the large code packages and container images to be present on the node before the actual application deployment and upgrade, thus significantly reducing the total time required for the deployment or upgrade.", + "tags": [ + "Service Package" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/DeployServicePackageToNodeRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages": { + "get": { + "operationId": "GetDeployedCodePackageInfoList", + "summary": "Gets the list of code packages deployed on a Service Fabric node.", + "description": "Gets the list of code packages deployed on a Service Fabric node for the given application.", + "tags": [ + "Code Package" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceManifestNameOptionalQueryParam" + }, + { + "$ref": "#/parameters/CodePackageNameOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the list of deployed code packages information.", + "schema": { + "$ref": "#/definitions/DeployedCodePackageInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/Restart": { + "post": { + "operationId": "RestartDeployedCodePackage", + "summary": "Restarts a code package deployed on a Service Fabric node in a cluster.", + "description": "Restarts a code package deployed on a Service Fabric node in a cluster. This aborts the code package process, which will restart all the user service replicas hosted in that process.", + "tags": [ + "Code Package" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/RestartDeployedCodePackageRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerLogs": { + "get": { + "operationId": "GetContainerLogsDeployedOnNode", + "summary": "Gets the container logs for container deployed on a Service Fabric node.", + "description": "Gets the container logs for container deployed on a Service Fabric node for the given code package.", + "tags": [ + "Code Package" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceManifestNameRequiredQueryParam" + }, + { + "$ref": "#/parameters/CodePackageNameRequiredQueryParam" + }, + { + "$ref": "#/parameters/TailOptionalQueryParam" + }, + { + "$ref": "#/parameters/PreviousOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "x-ms-examples": { + "Get container logs for given code package": { + "$ref": "./examples/GetContainerLogsDeployedOnNode-1.json" + }, + "Get last 10 lines of container logs": { + "$ref": "./examples/GetContainerLogsDeployedOnNode-2.json" + }, + "Get container logs of previous dead container for given code package": { + "$ref": "./examples/GetContainerLogsDeployedOnNode-3.json" + } + }, + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the container logs for container deployed on a Service Fabric node for the given code package.", + "schema": { + "$ref": "#/definitions/ContainerLogs" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi": { + "post": { + "operationId": "InvokeContainerApi", + "summary": "Invoke container API on a container deployed on a Service Fabric node.", + "description": "Invoke container API on a container deployed on a Service Fabric node for the given code package.", + "x-ms-examples": { + "Get container logs": { + "$ref": "./examples/InvokeContainerApi.json" + }, + "Update container": { + "$ref": "./examples/InvokeContainerApi_Post.json" + } + }, + "tags": [ + "Code Package" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceManifestNameRequiredQueryParam" + }, + { + "$ref": "#/parameters/CodePackageNameRequiredQueryParam" + }, + { + "$ref": "#/parameters/CodePackageInstanceIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContainerApiRequiredBodyParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and container API response for a container deployed on a Service Fabric node for the given code package.", + "schema": { + "$ref": "#/definitions/ContainerApiResponse" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ComposeDeployments/$/Create": { + "put": { + "summary": "Creates a Service Fabric compose deployment.", + "description": "Compose is a file format that describes multi-container applications. This API allows deploying container based applications defined in compose format in a Service Fabric cluster. Once the deployment is created, its status can be tracked via the `GetComposeDeploymentStatus` API.", + "operationId": "CreateComposeDeployment", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/CreateComposeDeploymentRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Compose Deployment" + ], + "responses": { + "202": { + "description": "A successful operation will return 202 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ComposeDeployments/{deploymentName}": { + "get": { + "summary": "Gets information about a Service Fabric compose deployment.", + "description": "Returns the status of the compose deployment that was created or in the process of being created in the Service Fabric cluster and whose name matches the one specified as the parameter. The response includes the name, status, and other details about the deployment.", + "operationId": "GetComposeDeploymentStatus", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/DeploymentNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Compose Deployment" + ], + "responses": { + "200": { + "description": "Information about the compose deployment.", + "schema": { + "$ref": "#/definitions/ComposeDeploymentStatusInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ComposeDeployments": { + "get": { + "summary": "Gets the list of compose deployments created in the Service Fabric cluster.", + "description": "Gets the status about the compose deployments that were created or in the process of being created in the Service Fabric cluster. The response includes the name, status, and other details about the compose deployments. If the list of deployments do not fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page.", + "operationId": "GetComposeDeploymentStatusList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Compose Deployment" + ], + "responses": { + "200": { + "description": "List of status of compose deployments in the cluster.", + "schema": { + "$ref": "#/definitions/PagedComposeDeploymentStatusInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ComposeDeployments/{deploymentName}/$/GetUpgradeProgress": { + "get": { + "summary": "Gets details for the latest upgrade performed on this Service Fabric compose deployment.", + "description": "Returns the information about the state of the compose deployment upgrade along with details to aid debugging application health issues.", + "operationId": "GetComposeDeploymentUpgradeProgress", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/DeploymentNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Compose Deployment" + ], + "responses": { + "200": { + "description": "Details about the compose deployment upgrade.", + "schema": { + "$ref": "#/definitions/ComposeDeploymentUpgradeProgressInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ComposeDeployments/{deploymentName}/$/Delete": { + "post": { + "summary": "Deletes an existing Service Fabric compose deployment from cluster.", + "description": "Deletes an existing Service Fabric compose deployment.", + "operationId": "RemoveComposeDeployment", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/DeploymentNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Compose Deployment" + ], + "responses": { + "202": { + "description": "A successful operation will return 202 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ComposeDeployments/{deploymentName}/$/Upgrade": { + "post": { + "summary": "Starts upgrading a compose deployment in the Service Fabric cluster.", + "description": "Validates the supplied upgrade parameters and starts upgrading the deployment if the parameters are valid.", + "operationId": "StartComposeDeploymentUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/DeploymentNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ComposeDeploymentUpgradeDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Compose Deployment" + ], + "responses": { + "202": { + "description": "A successful response means that the upgrade has started. Use GetComposeDeploymentUpgrade operation to get the status of the upgrade." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ComposeDeployments/{deploymentName}/$/RollbackUpgrade": { + "post": { + "summary": "Starts rolling back a compose deployment upgrade in the Service Fabric cluster.", + "description": "Rollback a service fabric compose deployment upgrade.", + "operationId": "StartRollbackComposeDeploymentUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/DeploymentNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Compose Deployment" + ], + "responses": { + "200": { + "description": "A successful response means that the rollback has started. Use GetComposeDeploymentUpgrade operation to get the status of the rollback." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Tools/Chaos": { + "get": { + "operationId": "GetChaos", + "summary": "Get the status of Chaos.", + "description": "Get the status of Chaos indicating whether or not Chaos is running, the Chaos parameters used for running Chaos and the status of the Chaos Schedule.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Chaos" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the status of Chaos.", + "schema": { + "$ref": "#/definitions/Chaos" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Tools/Chaos/$/Start": { + "post": { + "operationId": "StartChaos", + "summary": "Starts Chaos in the cluster.", + "description": "If Chaos is not already running in the cluster, it starts Chaos with the passed in Chaos parameters.\nIf Chaos is already running when this call is made, the call fails with the error code FABRIC_E_CHAOS_ALREADY_RUNNING.\nRefer to the article [Induce controlled Chaos in Service Fabric clusters](https://docs.microsoft.com/azure/service-fabric/service-fabric-controlled-chaos) for more details.", + "tags": [ + "Chaos" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ChaosParametersRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Tools/Chaos/$/Stop": { + "post": { + "operationId": "StopChaos", + "summary": "Stops Chaos if it is running in the cluster and put the Chaos Schedule in a stopped state.", + "description": "Stops Chaos from executing new faults. In-flight faults will continue to execute until they are complete. The current Chaos Schedule is put into a stopped state.\nOnce a schedule is stopped, it will stay in the stopped state and not be used to Chaos Schedule new runs of Chaos. A new Chaos Schedule must be set in order to resume scheduling.", + "tags": [ + "Chaos" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Tools/Chaos/Events": { + "get": { + "operationId": "GetChaosEvents", + "summary": "Gets the next segment of the Chaos events based on the continuation token or the time range.", + "description": "To get the next segment of the Chaos events, you can specify the ContinuationToken. To get the start of a new segment of Chaos events, you can specify the time range\nthrough StartTimeUtc and EndTimeUtc. You cannot specify both the ContinuationToken and the time range in the same call.\nWhen there are more than 100 Chaos events, the Chaos events are returned in multiple segments where a segment contains no more than 100 Chaos events and to get the next segment you make a call to this API with the continuation token.", + "x-ms-examples": { + "Get Chaos events given a time range": { + "$ref": "./examples/GetChaosEvents.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcOptionalQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Chaos" + ], + "responses": { + "200": { + "description": "Next segment of Chaos events.", + "schema": { + "$ref": "#/definitions/ChaosEventsSegment" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Tools/Chaos/Schedule": { + "get": { + "operationId": "GetChaosSchedule", + "summary": "Get the Chaos Schedule defining when and how to run Chaos.", + "description": "Gets the version of the Chaos Schedule in use and the Chaos Schedule that defines when and how to run Chaos.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Chaos" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the schedule description including a Chaos Schedule used by Chaos and the version the Chaos Schedule is on.", + "schema": { + "$ref": "#/definitions/ChaosScheduleDescription" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "operationId": "PostChaosSchedule", + "summary": "Set the schedule used by Chaos.", + "description": "Chaos will automatically schedule runs based on the Chaos Schedule.\nThe Chaos Schedule will be updated if the provided version matches the version on the server.\nWhen updating the Chaos Schedule, the version on the server is incremented by 1.\nThe version on the server will wrap back to 0 after reaching a large number.\nIf Chaos is running when this call is made, the call will fail.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/ChaosScheduleRequiredBodyParam" + } + ], + "tags": [ + "Chaos" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/{contentPath}": { + "put": { + "summary": "Uploads contents of the file to the image store.", + "description": "Uploads contents of the file to the image store. Use this API if the file is small enough to upload again if the connection fails. The file's data needs to be added to the request body. The contents will be uploaded to the specified path. Image store service uses a mark file to indicate the availability of the folder. The mark file is an empty file named \"_.dir\". The mark file is generated by the image store service when all files in a folder are uploaded. When using File-by-File approach to upload application package in REST, the image store service isn't aware of the file hierarchy of the application package; you need to create a mark file per folder and upload it last, to let the image store service know that the folder is complete.", + "operationId": "UploadFile", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "If the upload request succeeds, the server returns the HTTP 200 OK status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "get": { + "summary": "Gets the image store content information.", + "description": "Returns the information about the image store content at the specified contentPath. The contentPath is relative to the root of the image store.", + "operationId": "GetImageStoreContent", + "x-ms-examples": { + "Get information about image store content under a given relative path": { + "$ref": "./examples/GetImageStoreContent.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested image store content information.", + "schema": { + "$ref": "#/definitions/ImageStoreContent" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "delete": { + "summary": "Deletes existing image store content.", + "description": "Deletes existing image store content being found within the given image store relative path. This command can be used to delete uploaded application packages once they are provisioned.", + "operationId": "DeleteImageStoreContent", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore": { + "get": { + "summary": "Gets the content information at the root of the image store.", + "description": "Returns the information about the image store content at the root of the image store.", + "operationId": "GetImageStoreRootContent", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested image store content information.", + "schema": { + "$ref": "#/definitions/ImageStoreContent" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/$/Copy": { + "post": { + "summary": "Copies image store content internally", + "description": "Copies the image store content from the source image store relative path to the destination image store relative path.", + "operationId": "CopyImageStoreContent", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ImageStoreCopyDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/$/DeleteUploadSession": { + "delete": { + "summary": "Cancels an image store upload session.", + "description": "The DELETE request will cause the existing upload session to expire and remove any previously uploaded file chunks.", + "operationId": "DeleteImageStoreUploadSession", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/UploadSessionIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/$/CommitUploadSession": { + "post": { + "summary": "Commit an image store upload session.", + "description": "When all file chunks have been uploaded, the upload session needs to be committed explicitly to complete the upload. Image store preserves the upload session until the expiration time, which is 30 minutes after the last chunk received. ", + "operationId": "CommitImageStoreUploadSession", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/UploadSessionIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "If the commit request succeeds, the server returns the HTTP 200 OK status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/$/GetUploadSession": { + "get": { + "summary": "Get the image store upload session by ID.", + "description": "Gets the image store upload session identified by the given ID. User can query the upload session at any time during uploading. ", + "operationId": "GetImageStoreUploadSessionById", + "x-ms-examples": { + "Get information about image store upload session by a given ID": { + "$ref": "./examples/GetUploadSessionById.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/UploadSessionIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested image store upload session information.", + "schema": { + "$ref": "#/definitions/UploadSession" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/{contentPath}/$/GetUploadSession": { + "get": { + "summary": "Get the image store upload session by relative path.", + "description": "Gets the image store upload session associated with the given image store relative path. User can query the upload session at any time during uploading. ", + "operationId": "GetImageStoreUploadSessionByPath", + "x-ms-examples": { + "Get information about image store upload session by a given relative path": { + "$ref": "./examples/GetUploadSessionByPath.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested image store upload session information.", + "schema": { + "$ref": "#/definitions/UploadSession" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/{contentPath}/$/UploadChunk": { + "put": { + "summary": "Uploads a file chunk to the image store relative path.", + "description": "Uploads a file chunk to the image store with the specified upload session ID and image store relative path. This API allows user to resume the file upload operation. user doesn't have to restart the file upload from scratch whenever there is a network interruption. Use this option if the file size is large.\n\nTo perform a resumable file upload, user need to break the file into multiple chunks and upload these chunks to the image store one-by-one. Chunks don't have to be uploaded in order. If the file represented by the image store relative path already exists, it will be overwritten when the upload session commits.", + "operationId": "UploadFileChunk", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam" + }, + { + "$ref": "#/parameters/UploadSessionIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/UploadFileChunkContentRangeHeaderParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return the HTTP 200 OK status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/$/FolderSize": { + "get": { + "summary": "Get the folder size at the root of the image store.", + "description": "Returns the total size of files at the root and children folders in image store.", + "operationId": "GetImageStoreRootFolderSize", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested folder size in image store.", + "schema": { + "$ref": "#/definitions/FolderSizeInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/{contentPath}/$/FolderSize": { + "get": { + "summary": "Get the size of a folder in image store", + "description": "Gets the total size of file under a image store folder, specified by contentPath. The contentPath is relative to the root of the image store.", + "operationId": "GetImageStoreFolderSize", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested folder size in image store.", + "schema": { + "$ref": "#/definitions/FolderSizeInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/$/Info": { + "get": { + "summary": "Gets the overall ImageStore information", + "description": "Returns information about the primary ImageStore replica, such as disk capacity and available disk space at the node it is on, and several categories of the ImageStore's file system usage.", + "operationId": "GetImageStoreInfo", + "x-ms-examples": { + "Gets the overall ImageStore information": { + "$ref": "./examples/GetImageStoreInfo.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested ImageStore info", + "schema": { + "$ref": "#/definitions/ImageStoreInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/InvokeInfrastructureCommand": { + "post": { + "operationId": "InvokeInfrastructureCommand", + "summary": "Invokes an administrative command on the given Infrastructure Service instance.", + "description": "For clusters that have one or more instances of the Infrastructure Service configured,\nthis API provides a way to send infrastructure-specific commands to a particular\ninstance of the Infrastructure Service.\n\nAvailable commands and their corresponding response formats vary depending upon\nthe infrastructure on which the cluster is running.\n\nThis API supports the Service Fabric platform; it is not meant to be used directly from your code.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/InfrastructureCommandRequiredQueryParam" + }, + { + "$ref": "#/parameters/InfrastructureServiceIdOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Infrastructure" + ], + "responses": { + "200": { + "description": "The response from the infrastructure service. The response format is a JSON stream.\nThe contents of the response depend on which command was issued.", + "schema": { + "$ref": "#/definitions/InfrastructureServiceResponse" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/InvokeInfrastructureQuery": { + "get": { + "operationId": "InvokeInfrastructureQuery", + "summary": "Invokes a read-only query on the given infrastructure service instance.", + "description": "For clusters that have one or more instances of the Infrastructure Service configured,\nthis API provides a way to send infrastructure-specific queries to a particular\ninstance of the Infrastructure Service.\n\nAvailable commands and their corresponding response formats vary depending upon\nthe infrastructure on which the cluster is running.\n\nThis API supports the Service Fabric platform; it is not meant to be used directly from your code.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/InfrastructureCommandRequiredQueryParam" + }, + { + "$ref": "#/parameters/InfrastructureServiceIdOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Infrastructure" + ], + "responses": { + "200": { + "description": "The response from the infrastructure service. The response format is a JSON stream.\nThe contents of the response depend on which command was issued.", + "schema": { + "$ref": "#/definitions/InfrastructureServiceResponse" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartDataLoss": { + "post": { + "operationId": "StartDataLoss", + "summary": "This API will induce data loss for the specified partition. It will trigger a call to the OnDataLossAsync API of the partition.", + "description": "This API will induce data loss for the specified partition. It will trigger a call to the OnDataLoss API of the partition.\nActual data loss will depend on the specified DataLossMode.\n\n- PartialDataLoss - Only a quorum of replicas are removed and OnDataLoss is triggered for the partition but actual data loss depends on the presence of in-flight replication.\n- FullDataLoss - All replicas are removed hence all data is lost and OnDataLoss is triggered.\n\nThis API should only be called with a stateful service as the target.\n\nCalling this API with a system service as the target is not advised.\n\nNote: Once this API has been called, it cannot be reversed. Calling CancelOperation will only stop execution and clean up internal system state.\nIt will not restore data if the command has progressed far enough to cause data loss.\n\nCall the GetDataLossProgress API with the same OperationId to return information on the operation started with this API.", + "tags": [ + "Faults" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/FaultOperationIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/DataLossModeRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation was accepted. Call the GetDataLossProgress API to get the progress." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetDataLossProgress": { + "get": { + "summary": "Gets the progress of a partition data loss operation started using the StartDataLoss API.", + "description": "Gets the progress of a data loss operation started with StartDataLoss, using the OperationId.", + "operationId": "GetDataLossProgress", + "x-ms-examples": { + "Gets information about a partition data loss operation. In this case the operation has a State of Completed": { + "$ref": "./examples/GetDataLossProgress.json" + }, + "Get information about a partition data loss operation. In this case the operation is a State of Running": { + "$ref": "./examples/GetDataLossProgress-Running.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/FaultOperationIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Faults" + ], + "responses": { + "200": { + "description": "Information about the progress of the partition data loss operation.", + "schema": { + "$ref": "#/definitions/PartitionDataLossProgress" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartQuorumLoss": { + "post": { + "operationId": "StartQuorumLoss", + "summary": "Induces quorum loss for a given stateful service partition.", + "description": "This API is useful for a temporary quorum loss situation on your service.\n\nCall the GetQuorumLossProgress API with the same OperationId to return information on the operation started with this API.\n\nThis can only be called on stateful persisted (HasPersistedState==true) services. Do not use this API on stateless services or stateful in-memory only services.", + "tags": [ + "Faults" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/FaultOperationIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/QuorumLossModeRequiredQueryParam" + }, + { + "$ref": "#/parameters/QuorumLossDurationRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation was accepted. Call the GetQuorumLossProgress API to get the progress." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetQuorumLossProgress": { + "get": { + "summary": "Gets the progress of a quorum loss operation on a partition started using the StartQuorumLoss API.", + "description": "Gets the progress of a quorum loss operation started with StartQuorumLoss, using the provided OperationId.", + "operationId": "GetQuorumLossProgress", + "x-ms-examples": { + "Gets information about a completed quorum loss operation": { + "$ref": "./examples/GetQuorumLossProgress.json" + }, + "Gets information about a running quorum operation operation": { + "$ref": "./examples/GetQuorumLossProgress-Running.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/FaultOperationIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Faults" + ], + "responses": { + "200": { + "description": "Information about the progress of a partition quorum loss operation.", + "schema": { + "$ref": "#/definitions/PartitionQuorumLossProgress" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartRestart": { + "post": { + "operationId": "StartPartitionRestart", + "summary": "This API will restart some or all replicas or instances of the specified partition.", + "description": "This API is useful for testing failover.\n\nIf used to target a stateless service partition, RestartPartitionMode must be AllReplicasOrInstances.\n\nCall the GetPartitionRestartProgress API using the same OperationId to get the progress.", + "tags": [ + "Faults" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/FaultOperationIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/RestartPartitionModeRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation was accepted. Call the GetPartitionRestartProgress API to get the progress." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetRestartProgress": { + "get": { + "summary": "Gets the progress of a PartitionRestart operation started using StartPartitionRestart.", + "description": "Gets the progress of a PartitionRestart started with StartPartitionRestart using the provided OperationId.", + "operationId": "GetPartitionRestartProgress", + "x-ms-examples": { + "Get information a completed PartitionRestart operation": { + "$ref": "./examples/GetPartitionRestartProgress.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/FaultOperationIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Faults" + ], + "responses": { + "200": { + "description": "Information about the progress of a partition restart operation.", + "schema": { + "$ref": "#/definitions/PartitionRestartProgress" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/Nodes/{nodeName}/$/StartTransition/": { + "post": { + "operationId": "StartNodeTransition", + "summary": "Starts or stops a cluster node.", + "description": "Starts or stops a cluster node. A cluster node is a process, not the OS instance itself. To start a node, pass in \"Start\" for the NodeTransitionType parameter.\nTo stop a node, pass in \"Stop\" for the NodeTransitionType parameter. This API starts the operation - when the API returns the node may not have finished transitioning yet.\nCall GetNodeTransitionProgress with the same OperationId to get the progress of the operation.", + "tags": [ + "Faults" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/FaultOperationIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeTransitionTypeRequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeInstanceIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/StopDurationInSecondsRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation was accepted. Call the GetNodeTransitionProgress API to get the progress." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/Nodes/{nodeName}/$/GetTransitionProgress": { + "get": { + "summary": "Gets the progress of an operation started using StartNodeTransition.", + "description": "Gets the progress of an operation started with StartNodeTransition using the provided OperationId.", + "operationId": "GetNodeTransitionProgress", + "x-ms-examples": { + "Gets information about a completed NodeTransition operation": { + "$ref": "./examples/GetNodeTransitionProgress.json" + }, + "Gets information about a running NodeTransition operation": { + "$ref": "./examples/GetNodeTransitionProgress-Running.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/FaultOperationIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Faults" + ], + "responses": { + "200": { + "description": "Information about the progress of a node transition operation.", + "schema": { + "$ref": "#/definitions/NodeTransitionProgress" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/": { + "get": { + "operationId": "GetFaultOperationList", + "summary": "Gets a list of user-induced fault operations filtered by provided input.", + "description": "Gets the list of user-induced fault operations filtered by provided input.", + "x-ms-examples": { + "Gets information on fault operations": { + "$ref": "./examples/GetFaultOperationList.json" + } + }, + "tags": [ + "Faults" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TypeFilterRequiredQueryParam" + }, + { + "$ref": "#/parameters/StateFilterRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code.", + "schema": { + "$ref": "#/definitions/OperationStatusList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/$/Cancel": { + "post": { + "operationId": "CancelOperation", + "summary": "Cancels a user-induced fault operation.", + "description": "The following APIs start fault operations that may be cancelled by using CancelOperation: StartDataLoss, StartQuorumLoss, StartPartitionRestart, StartNodeTransition.\n\nIf force is false, then the specified user-induced operation will be gracefully stopped and cleaned up. If force is true, the command will be aborted, and some internal state\nmay be left behind. Specifying force as true should be used with care. Calling this API with force set to true is not allowed until this API has already\nbeen called on the same test command with force set to false first, or unless the test command already has an OperationState of OperationState.RollingBack.\nClarification: OperationState.RollingBack means that the system will be/is cleaning up internal system state caused by executing the command. It will not restore data if the\ntest command was to cause data loss. For example, if you call StartDataLoss then call this API, the system will only clean up internal state from running the command.\nIt will not restore the target partition's data, if the command progressed far enough to cause data loss.\n\nImportant note: if this API is invoked with force==true, internal state may be left behind.", + "tags": [ + "Faults" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/FaultOperationIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/ForceRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/BackupRestore/BackupPolicies/$/Create": { + "post": { + "operationId": "CreateBackupPolicy", + "summary": "Creates a backup policy.", + "description": "Creates a backup policy which can be associated later with a Service Fabric application, service or a partition for periodic backup.", + "x-ms-examples": { + "Create a time based backup policy with Azure as backup location": { + "$ref": "./examples/CreateBackupPolicy-1.json" + }, + "Create a time based backup policy with Azure as backup location accessed using managed identity": { + "$ref": "./examples/CreateBackupPolicy-4.json" + }, + "Create a frequency based backup policy with file share as backup location": { + "$ref": "./examples/CreateBackupPolicy-2.json" + }, + "Create a time based backup policy with Dsms Azure as backup location": { + "$ref": "./examples/CreateBackupPolicy-3.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/BackupPolicyDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/ValidateConnectionOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "201": { + "description": "A successful operation returns 201 status code and creates a new backup policy." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/BackupRestore/BackupPolicies/{backupPolicyName}/$/Delete": { + "post": { + "operationId": "DeleteBackupPolicy", + "summary": "Deletes the backup policy.", + "description": "Deletes an existing backup policy. A backup policy must be created before it can be deleted. A currently active backup policy, associated with any Service Fabric application, service or partition, cannot be deleted without first deleting the mapping.", + "x-ms-examples": { + "Delete backup policy": { + "$ref": "./examples/DeleteBackupPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/BackupPolicyNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation returns 200 status code and deletes the backup policy." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/BackupRestore/BackupPolicies": { + "get": { + "operationId": "GetBackupPolicyList", + "summary": "Gets all the backup policies configured.", + "description": "Get a list of all the backup policies configured.", + "x-ms-examples": { + "Limit maximum results": { + "$ref": "./examples/GetBackupPolicyList-1.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetBackupPolicyList-2.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and paged list of backup policies.", + "schema": { + "$ref": "#/definitions/PagedBackupPolicyDescriptionList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/BackupRestore/BackupPolicies/{backupPolicyName}": { + "get": { + "operationId": "GetBackupPolicyByName", + "summary": "Gets a particular backup policy by name.", + "description": "Gets a particular backup policy identified by {backupPolicyName}", + "x-ms-examples": { + "Get backup policy by name": { + "$ref": "./examples/GetBackupPolicyByName.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/BackupPolicyNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the backup policy description.", + "schema": { + "$ref": "#/definitions/BackupPolicyDescription" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/BackupRestore/BackupPolicies/{backupPolicyName}/$/GetBackupEnabledEntities": { + "get": { + "operationId": "GetAllEntitiesBackedUpByPolicy", + "summary": "Gets the list of backup entities that are associated with this policy.", + "description": "Returns a list of Service Fabric application, service or partition which are associated with this backup policy.", + "x-ms-examples": { + "Limit maximum results": { + "$ref": "./examples/GetAllEntitiesBackedUpByPolicy-1.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetAllEntitiesBackedUpByPolicy-2.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/BackupPolicyNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and a paged list of Service Fabric entities that are associated with this policy.", + "schema": { + "$ref": "#/definitions/PagedBackupEntityList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/BackupRestore/BackupPolicies/{backupPolicyName}/$/Update": { + "post": { + "operationId": "UpdateBackupPolicy", + "summary": "Updates the backup policy.", + "description": "Updates the backup policy identified by {backupPolicyName}", + "x-ms-examples": { + "Update backup policy": { + "$ref": "./examples/UpdateBackupPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/BackupPolicyDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/BackupPolicyNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/ValidateConnectionOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation returns 200 status code and updates the backup policy description." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/EnableBackup": { + "post": { + "operationId": "EnableApplicationBackup", + "summary": "Enables periodic backup of stateful partitions under this Service Fabric application.", + "description": "Enables periodic backup of stateful partitions which are part of this Service Fabric application. Each partition is backed up individually as per the specified backup policy description. \nNote only C# based Reliable Actor and Reliable Stateful services are currently supported for periodic backup.", + "x-ms-examples": { + "Enable application backup": { + "$ref": "./examples/EnableApplicationBackup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EnableBackupDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "202": { + "description": "A 202 status code indicates the request to enable application backup has been accepted." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/DisableBackup": { + "post": { + "operationId": "DisableApplicationBackup", + "summary": "Disables periodic backup of Service Fabric application.", + "description": "Disables periodic backup of Service Fabric application which was previously enabled.", + "x-ms-examples": { + "Disable application backup": { + "$ref": "./examples/DisableApplicationBackup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/DisableBackupDescriptionOptionalBodyParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "202": { + "description": "A 202 status code indicates the request to disable application backup has been accepted." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/GetBackupConfigurationInfo": { + "get": { + "operationId": "GetApplicationBackupConfigurationInfo", + "summary": "Gets the Service Fabric application backup configuration information.", + "description": "Gets the Service Fabric backup configuration information for the application and the services and partitions under this application.", + "x-ms-examples": { + "Limit maximum results": { + "$ref": "./examples/GetApplicationBackupConfigurationInfo-1.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetApplicationBackupConfigurationInfo-2.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and a paged list of backup configuration information for the application, and the services and partitions under this application, for which backup configuration has been overridden.", + "schema": { + "$ref": "#/definitions/PagedBackupConfigurationInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/GetBackups": { + "get": { + "operationId": "GetApplicationBackupList", + "summary": "Gets the list of backups available for every partition in this application.", + "description": "Returns a list of backups available for every partition in this Service Fabric application. The server enumerates all the backups available at the backup location configured in the backup policy. It also allows filtering of the result based on start and end datetime or just fetching the latest available backup for every partition.", + "x-ms-examples": { + "Get application backups within a time range": { + "$ref": "./examples/GetApplicationBackupList-1.json" + }, + "Get latest backup": { + "$ref": "./examples/GetApplicationBackupList-2.json" + }, + "Limit maximum results": { + "$ref": "./examples/GetApplicationBackupList-3.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetApplicationBackupList-4.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/LatestOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartDateTimeFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/EndDateTimeFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and a paged list of backup information.", + "schema": { + "$ref": "#/definitions/PagedBackupInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/SuspendBackup": { + "post": { + "operationId": "SuspendApplicationBackup", + "summary": "Suspends periodic backup for the specified Service Fabric application.", + "description": "The application which is configured to take periodic backups, is suspended for taking further backups till it is resumed again. This operation applies to the entire application's hierarchy. It means all the services and partitions under this application are now suspended for backup.", + "x-ms-examples": { + "Suspend application backup": { + "$ref": "./examples/SuspendApplicationBackup.json" + } + }, + "tags": [ + "BackupRestore" + ], + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation request was accepted and application backup will be suspended." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/ResumeBackup": { + "post": { + "operationId": "ResumeApplicationBackup", + "summary": "Resumes periodic backup of a Service Fabric application which was previously suspended.", + "description": "The previously suspended Service Fabric application resumes taking periodic backup as per the backup policy currently configured for the same.", + "x-ms-examples": { + "Resume application backup": { + "$ref": "./examples/ResumeApplicationBackup.json" + } + }, + "tags": [ + "BackupRestore" + ], + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation request was accepted and application backup will be resumed." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/EnableBackup": { + "post": { + "operationId": "EnableServiceBackup", + "summary": "Enables periodic backup of stateful partitions under this Service Fabric service.", + "description": "Enables periodic backup of stateful partitions which are part of this Service Fabric service. Each partition is backed up individually as per the specified backup policy description. In case the application, which the service is part of, is already enabled for backup then this operation would override the policy being used to take the periodic backup for this service and its partitions (unless explicitly overridden at the partition level).\nNote only C# based Reliable Actor and Reliable Stateful services are currently supported for periodic backup.", + "x-ms-examples": { + "Enable service backup": { + "$ref": "./examples/EnableServiceBackup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EnableBackupDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "202": { + "description": "A 202 status code indicates the request to enable service backup has been accepted." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/DisableBackup": { + "post": { + "operationId": "DisableServiceBackup", + "summary": "Disables periodic backup of Service Fabric service which was previously enabled.", + "description": "Disables periodic backup of Service Fabric service which was previously enabled. Backup must be explicitly enabled before it can be disabled.\nIn case the backup is enabled for the Service Fabric application, which this service is part of, this service would continue to be periodically backed up as per the policy mapped at the application level.", + "x-ms-examples": { + "Disable service backup": { + "$ref": "./examples/DisableServiceBackup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/DisableBackupDescriptionOptionalBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "202": { + "description": "A 202 status code indicates the request to disable service backup has been accepted." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/GetBackupConfigurationInfo": { + "get": { + "operationId": "GetServiceBackupConfigurationInfo", + "summary": "Gets the Service Fabric service backup configuration information.", + "description": "Gets the Service Fabric backup configuration information for the service and the partitions under this service.", + "x-ms-examples": { + "Limit maximum results": { + "$ref": "./examples/GetServiceBackupConfigurationInfo-1.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetServiceBackupConfigurationInfo-2.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and a paged list of backup configuration information for the service, and the partitions under this service, for which backup configuration has been overridden.", + "schema": { + "$ref": "#/definitions/PagedBackupConfigurationInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/GetBackups": { + "get": { + "operationId": "GetServiceBackupList", + "summary": "Gets the list of backups available for every partition in this service.", + "description": "Returns a list of backups available for every partition in this Service Fabric service. The server enumerates all the backups available in the backup store configured in the backup policy. It also allows filtering of the result based on start and end datetime or just fetching the latest available backup for every partition.", + "x-ms-examples": { + "Get application backups within a time range": { + "$ref": "./examples/GetServiceBackupList-1.json" + }, + "Get latest backup": { + "$ref": "./examples/GetServiceBackupList-2.json" + }, + "Limit maximum results": { + "$ref": "./examples/GetServiceBackupList-3.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetServiceBackupList-4.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/LatestOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartDateTimeFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/EndDateTimeFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and a paged list of backup information.", + "schema": { + "$ref": "#/definitions/PagedBackupInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/SuspendBackup": { + "post": { + "operationId": "SuspendServiceBackup", + "summary": "Suspends periodic backup for the specified Service Fabric service.", + "description": "The service which is configured to take periodic backups, is suspended for taking further backups till it is resumed again. This operation applies to the entire service's hierarchy. It means all the partitions under this service are now suspended for backup.", + "x-ms-examples": { + "Suspend service backup": { + "$ref": "./examples/SuspendServiceBackup.json" + } + }, + "tags": [ + "BackupRestore" + ], + "parameters": [ + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation request was accepted and service backup will be suspended." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/ResumeBackup": { + "post": { + "operationId": "ResumeServiceBackup", + "summary": "Resumes periodic backup of a Service Fabric service which was previously suspended.", + "description": "The previously suspended Service Fabric service resumes taking periodic backup as per the backup policy currently configured for the same.", + "x-ms-examples": { + "Resume service backup": { + "$ref": "./examples/ResumeServiceBackup.json" + } + }, + "tags": [ + "BackupRestore" + ], + "parameters": [ + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation request was accepted and service backup will be resumed." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/EnableBackup": { + "post": { + "operationId": "EnablePartitionBackup", + "summary": "Enables periodic backup of the stateful persisted partition.", + "description": "Enables periodic backup of stateful persisted partition. Each partition is backed up as per the specified backup policy description. In case the application or service, which is partition is part of, is already enabled for backup then this operation would override the policy being used to take the periodic backup of this partition.\nNote only C# based Reliable Actor and Reliable Stateful services are currently supported for periodic backup.", + "x-ms-examples": { + "Enable partition backup": { + "$ref": "./examples/EnablePartitionBackup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EnableBackupDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "202": { + "description": "A 202 status code indicates the request to enable partition backup has been accepted." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/DisableBackup": { + "post": { + "operationId": "DisablePartitionBackup", + "summary": "Disables periodic backup of Service Fabric partition which was previously enabled.", + "description": "Disables periodic backup of partition which was previously enabled. Backup must be explicitly enabled before it can be disabled. \nIn case the backup is enabled for the Service Fabric application or service, which this partition is part of, this partition would continue to be periodically backed up as per the policy mapped at the higher level entity.", + "x-ms-examples": { + "Disable partition backup": { + "$ref": "./examples/DisablePartitionBackup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/DisableBackupDescriptionOptionalBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "202": { + "description": "A 202 status code indicates the request to disable partition backup has been accepted." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetBackupConfigurationInfo": { + "get": { + "operationId": "GetPartitionBackupConfigurationInfo", + "summary": "Gets the partition backup configuration information", + "description": "Gets the Service Fabric Backup configuration information for the specified partition.", + "x-ms-examples": { + "Get partition backup configuration information": { + "$ref": "./examples/GetPartitionBackupConfigurationInfo.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and gets the partition's backup configuration information.", + "schema": { + "$ref": "#/definitions/PartitionBackupConfigurationInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetBackups": { + "get": { + "operationId": "GetPartitionBackupList", + "summary": "Gets the list of backups available for the specified partition.", + "description": "Returns a list of backups available for the specified partition. The server enumerates all the backups available in the backup store configured in the backup policy. It also allows filtering of the result based on start and end datetime or just fetching the latest available backup for the partition.", + "x-ms-examples": { + "Get application backups within a time range": { + "$ref": "./examples/GetPartitionBackupList-1.json" + }, + "Get latest backup": { + "$ref": "./examples/GetPartitionBackupList-2.json" + }, + "Limit maximum results": { + "$ref": "./examples/GetPartitionBackupList-3.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetPartitionBackupList-4.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/LatestOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartDateTimeFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/EndDateTimeFilterOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and a paged list of backup information.", + "schema": { + "$ref": "#/definitions/PagedBackupInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/SuspendBackup": { + "post": { + "operationId": "SuspendPartitionBackup", + "summary": "Suspends periodic backup for the specified partition.", + "description": "The partition which is configured to take periodic backups, is suspended for taking further backups till it is resumed again.", + "x-ms-examples": { + "Suspend partition backup": { + "$ref": "./examples/SuspendPartitionBackup.json" + } + }, + "tags": [ + "BackupRestore" + ], + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation request was accepted and partition backup will be suspended." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/ResumeBackup": { + "post": { + "operationId": "ResumePartitionBackup", + "summary": "Resumes periodic backup of partition which was previously suspended.", + "description": "The previously suspended partition resumes taking periodic backup as per the backup policy currently configured for the same.", + "x-ms-examples": { + "Resume partition backup": { + "$ref": "./examples/ResumePartitionBackup.json" + } + }, + "tags": [ + "BackupRestore" + ], + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation request was accepted and partition backup will be resumed." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/Backup": { + "post": { + "operationId": "BackupPartition", + "summary": "Triggers backup of the partition's state.", + "description": "Creates a backup of the stateful persisted partition's state. In case the partition is already being periodically backed up, then by default the new backup is created at the same backup storage. One can also override the same by specifying the backup storage details as part of the request body. Once the backup is initiated, its progress can be tracked using the GetBackupProgress operation. \nIn case, the operation times out, specify a greater backup timeout value in the query parameter.", + "x-ms-examples": { + "Backup partition": { + "$ref": "./examples/BackupPartition-1.json" + }, + "Backup partition to a specific Azure storage account": { + "$ref": "./examples/BackupPartition-2.json" + }, + "Backup partition to a specific Azure storage location accessed using managed identity": { + "$ref": "./examples/BackupPartition-5.json" + }, + "Backup partition to a specific on-premise file share": { + "$ref": "./examples/BackupPartition-3.json" + }, + "Backup partition to a specific Dsms Azure storage location": { + "$ref": "./examples/BackupPartition-4.json" + } + }, + "tags": [ + "BackupRestore" + ], + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/BackupPartitionDescriptionOptionalBodyParam" + }, + { + "$ref": "#/parameters/BackupTimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation request was accepted and backup will be initiated. Use GetPartitionBackupProgress operation to get the status of the backup operation." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetBackupProgress": { + "get": { + "operationId": "GetPartitionBackupProgress", + "summary": "Gets details for the latest backup triggered for this partition.", + "description": "Returns information about the state of the latest backup along with details or failure reason in case of completion.", + "x-ms-examples": { + "Get backup operation progress": { + "$ref": "./examples/GetPartitionBackupProgress.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation returns 200 status code and backup progress details.", + "schema": { + "$ref": "#/definitions/BackupProgressInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/Restore": { + "post": { + "operationId": "RestorePartition", + "summary": "Triggers restore of the state of the partition using the specified restore partition description.", + "description": "Restores the state of a of the stateful persisted partition using the specified backup point. In case the partition is already being periodically backed up, then by default the backup point is looked for in the storage specified in backup policy. One can also override the same by specifying the backup storage details as part of the restore partition description in body. Once the restore is initiated, its progress can be tracked using the GetRestoreProgress operation. \nIn case, the operation times out, specify a greater restore timeout value in the query parameter.", + "x-ms-examples": { + "Trigger partition restore": { + "$ref": "./examples/RestorePartition.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/RestorePartitionDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/RestoreTimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation request was accepted and restore will be initiated. Use GetPartitionRestoreProgress operation to get the status of the restore operation." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetRestoreProgress": { + "get": { + "operationId": "GetPartitionRestoreProgress", + "summary": "Gets details for the latest restore operation triggered for this partition.", + "description": "Returns information about the state of the latest restore operation along with details or failure reason in case of completion.", + "x-ms-examples": { + "Get restore operation progress": { + "$ref": "./examples/GetPartitionRestoreProgress.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation returns 200 status code and restore progress details.", + "schema": { + "$ref": "#/definitions/RestoreProgressInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/BackupRestore/$/GetBackups": { + "post": { + "operationId": "GetBackupsFromBackupLocation", + "summary": "Gets the list of backups available for the specified backed up entity at the specified backup location.", + "description": "Gets the list of backups available for the specified backed up entity (Application, Service or Partition) at the specified backup location (FileShare or Azure Blob Storage).", + "x-ms-examples": { + "Limit maximum results": { + "$ref": "./examples/GetBackupsFromBackupLocation-1.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetBackupsFromBackupLocation-2.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/GetBackupByStorageQueryDescriptionRequiredBodyParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and a paged list of backup information.", + "schema": { + "$ref": "#/definitions/PagedBackupInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Names/$/Create": { + "post": { + "summary": "Creates a Service Fabric name.", + "description": "Creates the specified Service Fabric name.", + "operationId": "CreateName", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NameDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "x-ms-examples": { + "Create new name": { + "$ref": "examples/CreateName-1.json" + } + }, + "tags": [ + "Property Management" + ], + "responses": { + "201": { + "description": "A successful response means that the name has been created." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Names/{nameId}": { + "get": { + "summary": "Returns whether the Service Fabric name exists.", + "description": "Returns whether the specified Service Fabric name exists.", + "operationId": "GetNameExistsInfo", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NameIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Property Management" + ], + "responses": { + "200": { + "description": "A successful response means that the Service Fabric name exists." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "delete": { + "summary": "Deletes a Service Fabric name.", + "description": "Deletes the specified Service Fabric name. A name must be created before it can be deleted. Deleting a name with child properties will fail.", + "operationId": "DeleteName", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NameIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Property Management" + ], + "responses": { + "200": { + "description": "A successful response means that the Service Fabric name has been deleted." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Names/{nameId}/$/GetSubNames": { + "get": { + "summary": "Enumerates all the Service Fabric names under a given name.", + "description": "Enumerates all the Service Fabric names under a given name. If the subnames do not fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page. Querying a name that doesn't exist will fail.", + "operationId": "GetSubNameInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NameIdRequiredPathParam" + }, + { + "$ref": "#/parameters/RecursiveOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "x-ms-examples": { + "Get sub names": { + "$ref": "examples/GetSubNameInfoList-1.json" + }, + "Recursively search sub names": { + "$ref": "examples/GetSubNameInfoList-2.json" + }, + "Page using continuation token": { + "$ref": "examples/GetSubNameInfoList-3.json" + } + }, + "tags": [ + "Property Management" + ], + "responses": { + "200": { + "description": "A paged list of Service Fabric names.", + "schema": { + "$ref": "#/definitions/PagedSubNameInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Names/{nameId}/$/GetProperties": { + "get": { + "summary": "Gets information on all Service Fabric properties under a given name.", + "description": "A Service Fabric name can have one or more named properties that store custom information. This operation gets the information about these properties in a paged list. The information includes name, value, and metadata about each of the properties.", + "operationId": "GetPropertyInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NameIdRequiredPathParam" + }, + { + "$ref": "#/parameters/IncludeValuesOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "x-ms-examples": { + "Get property info list": { + "$ref": "examples/GetPropertyInfoList-1.json" + }, + "Get property info list with values": { + "$ref": "examples/GetPropertyInfoList-2.json" + }, + "Page using continuation token": { + "$ref": "examples/GetPropertyInfoList-3.json" + } + }, + "tags": [ + "Property Management" + ], + "responses": { + "200": { + "description": "A paged list of Service Fabric properties.", + "schema": { + "$ref": "#/definitions/PagedPropertyInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Names/{nameId}/$/GetProperty": { + "put": { + "summary": "Creates or updates a Service Fabric property.", + "description": "Creates or updates the specified Service Fabric property under a given name.", + "operationId": "PutProperty", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NameIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PropertyDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "x-ms-examples": { + "Put property": { + "$ref": "examples/PutProperty-1.json" + }, + "Put custom property": { + "$ref": "examples/PutProperty-2.json" + } + }, + "tags": [ + "Property Management" + ], + "responses": { + "200": { + "description": "A successful response means that the property has been created or updated." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "get": { + "summary": "Gets the specified Service Fabric property.", + "description": "Gets the specified Service Fabric property under a given name. This will always return both value and metadata.", + "operationId": "GetPropertyInfo", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NameIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PropertyNameRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "x-ms-examples": { + "Get property info": { + "$ref": "examples/GetPropertyInfo-1.json" + } + }, + "tags": [ + "Property Management" + ], + "responses": { + "200": { + "description": "Details on the Service Fabric property.", + "schema": { + "$ref": "#/definitions/PropertyInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "delete": { + "summary": "Deletes the specified Service Fabric property.", + "description": "Deletes the specified Service Fabric property under a given name. A property must be created before it can be deleted.", + "operationId": "DeleteProperty", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NameIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PropertyNameRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Property Management" + ], + "responses": { + "200": { + "description": "A successful response means that the property has been deleted." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Names/{nameId}/$/GetProperties/$/SubmitBatch": { + "post": { + "summary": "Submits a property batch.", + "description": "Submits a batch of property operations. Either all or none of the operations will be committed.", + "operationId": "SubmitPropertyBatch", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NameIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PropertyBatchDescriptionListRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "x-ms-examples": { + "Property batch operation": { + "$ref": "examples/SubmitPropertyBatch-1.json" + } + }, + "tags": [ + "Property Management" + ], + "responses": { + "200": { + "description": "A successful response means that the property batch succeeded.", + "schema": { + "$ref": "#/definitions/SuccessfulPropertyBatchInfo" + } + }, + "409": { + "description": "A 409 response means that one of the property batch operations failed, and contains more information about the failure. None of the operations were committed.", + "schema": { + "$ref": "#/definitions/FailedPropertyBatchInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Cluster/Events": { + "get": { + "summary": "Gets all Cluster-related events.", + "description": "The response is list of ClusterEvent objects.", + "operationId": "GetClusterEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Cluster-related events": { + "$ref": "./examples/GetClusterEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type ClusterEvent.", + "schema": { + "$ref": "#/definitions/ClusterEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Containers/Events": { + "get": { + "summary": "Gets all Containers-related events.", + "description": "The response is list of ContainerInstanceEvent objects.", + "operationId": "GetContainersEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-2-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "responses": { + "200": { + "description": "List of events objects with base type ContainerInstanceEvent.", + "schema": { + "$ref": "#/definitions/ContainerInstanceEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Nodes/{nodeName}/$/Events": { + "get": { + "summary": "Gets a Node-related events.", + "description": "The response is list of NodeEvent objects.", + "operationId": "GetNodeEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Node-related events": { + "$ref": "./examples/GetNodeEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type NodeEvent.", + "schema": { + "$ref": "#/definitions/NodeEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Nodes/Events": { + "get": { + "summary": "Gets all Nodes-related Events.", + "description": "The response is list of NodeEvent objects.", + "operationId": "GetNodesEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Nodes-related events": { + "$ref": "./examples/GetNodesEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type NodeEvent.", + "schema": { + "$ref": "#/definitions/NodeEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Applications/{applicationId}/$/Events": { + "get": { + "summary": "Gets an Application-related events.", + "description": "The response is list of ApplicationEvent objects.", + "operationId": "GetApplicationEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Application-related events": { + "$ref": "./examples/GetApplicationEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type ApplicationEvent.", + "schema": { + "$ref": "#/definitions/ApplicationEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Applications/Events": { + "get": { + "summary": "Gets all Applications-related events.", + "description": "The response is list of ApplicationEvent objects.", + "operationId": "GetApplicationsEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Applications-related events": { + "$ref": "./examples/GetApplicationsEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type ApplicationEvent.", + "schema": { + "$ref": "#/definitions/ApplicationEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Services/{serviceId}/$/Events": { + "get": { + "summary": "Gets a Service-related events.", + "description": "The response is list of ServiceEvent objects.", + "operationId": "GetServiceEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Service-related events": { + "$ref": "./examples/GetServiceEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type ServiceEvent.", + "schema": { + "$ref": "#/definitions/ServiceEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Services/Events": { + "get": { + "summary": "Gets all Services-related events.", + "description": "The response is list of ServiceEvent objects.", + "operationId": "GetServicesEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Services-related events": { + "$ref": "./examples/GetServicesEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type ServiceEvent.", + "schema": { + "$ref": "#/definitions/ServiceEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Partitions/{partitionId}/$/Events": { + "get": { + "summary": "Gets a Partition-related events.", + "description": "The response is list of PartitionEvent objects.", + "operationId": "GetPartitionEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Partition-related events": { + "$ref": "./examples/GetPartitionEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type PartitionEvent.", + "schema": { + "$ref": "#/definitions/PartitionEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Partitions/Events": { + "get": { + "summary": "Gets all Partitions-related events.", + "description": "The response is list of PartitionEvent objects.", + "operationId": "GetPartitionsEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Partitions-related events": { + "$ref": "./examples/GetPartitionsEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type PartitionEvent.", + "schema": { + "$ref": "#/definitions/PartitionEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Partitions/{partitionId}/$/Replicas/{replicaId}/$/Events": { + "get": { + "summary": "Gets a Partition Replica-related events.", + "description": "The response is list of ReplicaEvent objects.", + "operationId": "GetPartitionReplicaEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Partition Replica-related events": { + "$ref": "./examples/GetReplicaEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type ReplicaEvent.", + "schema": { + "$ref": "#/definitions/ReplicaEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Partitions/{partitionId}/$/Replicas/Events": { + "get": { + "summary": "Gets all Replicas-related events for a Partition.", + "description": "The response is list of ReplicaEvent objects.", + "operationId": "GetPartitionReplicasEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Partition Replicas-related events": { + "$ref": "./examples/GetReplicasEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type ReplicaEvent.", + "schema": { + "$ref": "#/definitions/ReplicaEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/CorrelatedEvents/{eventInstanceId}/$/Events": { + "get": { + "summary": "Gets all correlated events for a given event.", + "description": "The response is list of FabricEvents.", + "operationId": "GetCorrelatedEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/EventInstanceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Correlated events": { + "$ref": "./examples/GetCorrelatedEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type FabricEvent.", + "schema": { + "$ref": "#/definitions/EventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Secrets/{secretResourceName}": { + "put": { + "operationId": "MeshSecret_CreateOrUpdate", + "x-ms-examples": { + "CreateOrUpdateMeshSecret": { + "$ref": "./examples/Resources/Secrets/create_update.json" + } + }, + "summary": "Creates or updates a Secret resource.", + "description": "Creates a Secret resource with the specified name, description and properties. If Secret resource with the same name exists, then it is updated with the specified description and properties. Once created, the kind and contentType of a secret resource cannot be updated.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/SecretResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/SecretResourceDescriptionRequiredBodyParam" + } + ], + "tags": [ + "MeshSecrets" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecretResourceDescription" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SecretResourceDescription" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "get": { + "operationId": "MeshSecret_Get", + "x-ms-examples": { + "GetSecretResource": { + "$ref": "./examples/Resources/Secrets/get.json" + } + }, + "summary": "Gets the Secret resource with the given name.", + "description": "Gets the information about the Secret resource with the given name. The information include the description and other properties of the Secret.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/SecretResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshSecrets" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecretResourceDescription" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "delete": { + "operationId": "MeshSecret_Delete", + "x-ms-examples": { + "DeleteSecretResource": { + "$ref": "./examples/Resources/Secrets/delete.json" + } + }, + "summary": "Deletes the Secret resource.", + "description": "Deletes the specified Secret resource and all of its named values.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/SecretResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshSecrets" + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content - the specified secret was not found." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Secrets": { + "get": { + "operationId": "MeshSecret_List", + "x-ms-examples": { + "ListMeshSecrets": { + "$ref": "./examples/Resources/Secrets/list.json" + } + }, + "summary": "Lists all the secret resources.", + "description": "Gets the information about all secret resources in a given resource group. The information include the description and other properties of the Secret.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + } + ], + "tags": [ + "MeshSecrets" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PagedSecretResourceDescriptionList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Secrets/{secretResourceName}/values/{secretValueResourceName}": { + "put": { + "operationId": "MeshSecretValue_AddValue", + "x-ms-examples": { + "CreateMeshSecretValue": { + "$ref": "./examples/Resources/Secrets/values/create.json" + } + }, + "summary": "Adds the specified value as a new version of the specified secret resource.", + "description": "Creates a new value of the specified secret resource. The name of the value is typically the version identifier. Once created the value cannot be changed.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/SecretResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/SecretValueResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/SecretValueResourceDescriptionRequiredBodyParam" + } + ], + "tags": [ + "MeshSecretValues" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecretValueResourceDescription" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SecretValueResourceDescription" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "get": { + "operationId": "MeshSecretValue_Get", + "x-ms-examples": { + "GetMeshSecretValue": { + "$ref": "./examples/Resources/Secrets/values/get.json" + } + }, + "summary": "Gets the specified secret value resource.", + "description": "Get the information about the specified named secret value resources. The information does not include the actual value of the secret.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/SecretResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/SecretValueResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshSecretValues" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecretValueResourceDescription" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "delete": { + "operationId": "MeshSecretValue_Delete", + "x-ms-examples": { + "DeleteSecretValue": { + "$ref": "./examples/Resources/Secrets/values/delete.json" + } + }, + "summary": "Deletes the specified value of the named secret resource.", + "description": "Deletes the secret value resource identified by the name. The name of the resource is typically the version associated with that value. Deletion will fail if the specified value is in use.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/SecretResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/SecretValueResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshSecretValues" + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content - the specified secret value was not found." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Secrets/{secretResourceName}/values": { + "get": { + "operationId": "MeshSecretValue_List", + "x-ms-examples": { + "ListMeshSecretValues": { + "$ref": "./examples/Resources/Secrets/values/list.json" + } + }, + "summary": "List names of all values of the specified secret resource.", + "description": "Gets information about all secret value resources of the specified secret resource. The information includes the names of the secret value resources, but not the actual values.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/SecretResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshSecretValues" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PagedSecretValueResourceDescriptionList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Secrets/{secretResourceName}/values/{secretValueResourceName}/list_value": { + "post": { + "operationId": "MeshSecretValue_Show", + "x-ms-examples": { + "ListMeshSecretValue": { + "$ref": "./examples/Resources/Secrets/values/list_value.json" + } + }, + "summary": "Lists the specified value of the secret resource.", + "description": "Lists the decrypted value of the specified named value of the secret resource. This is a privileged operation.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/SecretResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/SecretValueResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshSecretValues" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecretValue" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Volumes/{volumeResourceName}": { + "put": { + "operationId": "MeshVolume_CreateOrUpdate", + "x-ms-examples": { + "CreateOrUpdateMeshVolume": { + "$ref": "./examples/Resources/Volumes/create_update.json" + } + }, + "summary": "Creates or updates a Volume resource.", + "description": "Creates a Volume resource with the specified name, description and properties. If Volume resource with the same name exists, then it is updated with the specified description and properties.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/VolumeResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/VolumeResourceDescriptionRequiredBodyParam" + } + ], + "tags": [ + "MeshVolumes" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VolumeResourceDescription" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VolumeResourceDescription" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "get": { + "operationId": "MeshVolume_Get", + "x-ms-examples": { + "GetVolumeResource": { + "$ref": "./examples/Resources/Volumes/get.json" + } + }, + "summary": "Gets the Volume resource with the given name.", + "description": "Gets the information about the Volume resource with the given name. The information include the description and other properties of the Volume.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/VolumeResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshVolumes" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VolumeResourceDescription" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "delete": { + "operationId": "MeshVolume_Delete", + "x-ms-examples": { + "DeleteVolumeResource": { + "$ref": "./examples/Resources/Volumes/delete.json" + } + }, + "summary": "Deletes the Volume resource.", + "description": "Deletes the Volume resource identified by the name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/VolumeResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshVolumes" + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content - the specified volume was not found." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Volumes": { + "get": { + "operationId": "MeshVolume_List", + "x-ms-examples": { + "ListMeshVolumes": { + "$ref": "./examples/Resources/Volumes/list.json" + } + }, + "summary": "Lists all the volume resources.", + "description": "Gets the information about all volume resources in a given resource group. The information include the description and other properties of the Volume.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + } + ], + "tags": [ + "MeshVolumes" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PagedVolumeResourceDescriptionList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Networks/{networkResourceName}": { + "put": { + "operationId": "MeshNetwork_CreateOrUpdate", + "x-ms-examples": { + "CreateOrUpdateMeshNetwork": { + "$ref": "./examples/Resources/Networks/create_update.json" + } + }, + "summary": "Creates or updates a Network resource.", + "description": "Creates a Network resource with the specified name, description and properties. If Network resource with the same name exists, then it is updated with the specified description and properties. Network resource provides connectivity between application services.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NetworkResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/NetworkResourceDescriptionRequiredBodyParam" + } + ], + "tags": [ + "MeshNetworks" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkResourceDescription" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/NetworkResourceDescription" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "get": { + "operationId": "MeshNetwork_Get", + "x-ms-examples": { + "GetNetworkResource": { + "$ref": "./examples/Resources/Networks/get.json" + } + }, + "summary": "Gets the Network resource with the given name.", + "description": "Gets the information about the Network resource with the given name. The information include the description and other properties of the Network.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NetworkResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshNetworks" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkResourceDescription" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "delete": { + "operationId": "MeshNetwork_Delete", + "x-ms-examples": { + "DeleteNetworkResource": { + "$ref": "./examples/Resources/Networks/delete.json" + } + }, + "summary": "Deletes the Network resource.", + "description": "Deletes the Network resource identified by the name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NetworkResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshNetworks" + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content - the specified network was not found." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Networks": { + "get": { + "operationId": "MeshNetwork_List", + "x-ms-examples": { + "ListMeshNetworks": { + "$ref": "./examples/Resources/Networks/list.json" + } + }, + "summary": "Lists all the network resources.", + "description": "Gets the information about all network resources in a given resource group. The information include the description and other properties of the Network.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + } + ], + "tags": [ + "MeshNetworks" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PagedNetworkResourceDescriptionList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Applications/{applicationResourceName}": { + "put": { + "operationId": "MeshApplication_CreateOrUpdate", + "x-ms-examples": { + "CreateOrUpdateMeshApplication": { + "$ref": "./examples/Resources/Applications/create_update.json" + }, + "CreateOrUpdateMeshApplicationWithAutoScale": { + "$ref": "./examples/Resources/Applications/create_update.autoscale.json" + } + }, + "summary": "Creates or updates a Application resource.", + "description": "Creates a Application resource with the specified name, description and properties. If Application resource with the same name exists, then it is updated with the specified description and properties.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationResourceDescriptionRequiredBodyParam" + } + ], + "tags": [ + "MeshApplications" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApplicationResourceDescription" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ApplicationResourceDescription" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "get": { + "operationId": "MeshApplication_Get", + "x-ms-examples": { + "GetApplicationResource": { + "$ref": "./examples/Resources/Applications/get.json" + } + }, + "summary": "Gets the Application resource with the given name.", + "description": "Gets the information about the Application resource with the given name. The information include the description and other properties of the Application.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshApplications" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApplicationResourceDescription" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "delete": { + "operationId": "MeshApplication_Delete", + "x-ms-examples": { + "DeleteApplicationResource": { + "$ref": "./examples/Resources/Applications/delete.json" + } + }, + "summary": "Deletes the Application resource.", + "description": "Deletes the Application resource identified by the name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshApplications" + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content - the specified application was not found." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Applications": { + "get": { + "operationId": "MeshApplication_List", + "x-ms-examples": { + "ListMeshApplications": { + "$ref": "./examples/Resources/Applications/list.json" + } + }, + "summary": "Lists all the application resources.", + "description": "Gets the information about all application resources in a given resource group. The information include the description and other properties of the Application.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + } + ], + "tags": [ + "MeshApplications" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PagedApplicationResourceDescriptionList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Applications/{applicationResourceName}/$/GetUpgradeProgress": { + "get": { + "operationId": "MeshApplication_GetUpgradeProgress", + "x-ms-examples": { + "GetApplicationResourceUpgrade": { + "$ref": "./examples/Resources/Applications/get_upgrade.json" + } + }, + "summary": "Gets the progress of the latest upgrade performed on this application resource.", + "description": "Gets the upgrade progress information about the Application resource with the given name. The information include percentage of completion and other upgrade state information of the Application resource.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_7-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshApplications" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApplicationResourceUpgradeProgressInfo" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Applications/{applicationResourceName}/Services/{serviceResourceName}": { + "get": { + "operationId": "MeshService_Get", + "x-ms-examples": { + "GetServiceResource": { + "$ref": "./examples/Resources/Applications/Services/get.json" + } + }, + "summary": "Gets the Service resource with the given name.", + "description": "Gets the information about the Service resource with the given name. The information include the description and other properties of the Service.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshServices" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServiceResourceDescription" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Applications/{applicationResourceName}/Services": { + "get": { + "operationId": "MeshService_List", + "x-ms-examples": { + "ListMeshServices": { + "$ref": "./examples/Resources/Applications/Services/list.json" + } + }, + "summary": "Lists all the service resources.", + "description": "Gets the information about all services of an application resource. The information include the description and other properties of the Service.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshServices" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PagedServiceResourceDescriptionList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Applications/{applicationResourceName}/Services/{serviceResourceName}/Replicas/{replicaName}/CodePackages/{codePackageName}/Logs": { + "get": { + "operationId": "MeshCodePackage_GetContainerLogs", + "x-ms-examples": { + "GetContainerLogs": { + "$ref": "./examples/Resources/Applications/Services/Replicas/CodePackages/get_logs.json" + } + }, + "summary": "Gets the logs from the container.", + "description": "Gets the logs for the container of the specified code package of the service replica.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaNameRequiredPathParam" + }, + { + "$ref": "#/parameters/CodePackageNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TailOptionalQueryParam" + } + ], + "tags": [ + "MeshCodePackages" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerLogs" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Applications/{applicationResourceName}/Services/{serviceResourceName}/Replicas/{replicaName}": { + "get": { + "operationId": "MeshServiceReplica_Get", + "x-ms-examples": { + "GetServiceReplica": { + "$ref": "./examples/Resources/Applications/Services/Replicas/get.json" + } + }, + "summary": "Gets the given replica of the service of an application.", + "description": "Gets the information about the service replica with the given name. The information include the description and other properties of the service replica.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaNameRequiredPathParam" + } + ], + "tags": [ + "MeshServiceReplicas" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServiceReplicaDescription" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Applications/{applicationResourceName}/Services/{serviceResourceName}/Replicas": { + "get": { + "operationId": "MeshServiceReplica_List", + "x-ms-examples": { + "ListMeshServiceReplicas": { + "$ref": "./examples/Resources/Applications/Services/Replicas/list.json" + } + }, + "summary": "Lists all the replicas of a service.", + "description": "Gets the information about all replicas of a service. The information include the description and other properties of the service replica.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshServiceReplicas" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PagedServiceReplicaDescriptionList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Gateways/{gatewayResourceName}": { + "put": { + "operationId": "MeshGateway_CreateOrUpdate", + "x-ms-examples": { + "CreateOrUpdateMeshGateway": { + "$ref": "./examples/Resources/Gateways/create_update.json" + } + }, + "summary": "Creates or updates a Gateway resource.", + "description": "Creates a Gateway resource with the specified name, description and properties. If Gateway resource with the same name exists, then it is updated with the specified description and properties. Use Gateway resource to provide public connectivity to application services.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/GatewayResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/GatewayResourceDescriptionRequiredBodyParam" + } + ], + "tags": [ + "MeshGateways" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GatewayResourceDescription" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/GatewayResourceDescription" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "get": { + "operationId": "MeshGateway_Get", + "x-ms-examples": { + "GetGatewayResource": { + "$ref": "./examples/Resources/Gateways/get.json" + } + }, + "summary": "Gets the Gateway resource with the given name.", + "description": "Gets the information about the Gateway resource with the given name. The information include the description and other properties of the Gateway.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/GatewayResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshGateways" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GatewayResourceDescription" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "delete": { + "operationId": "MeshGateway_Delete", + "x-ms-examples": { + "DeleteGatewayResource": { + "$ref": "./examples/Resources/Gateways/delete.json" + } + }, + "summary": "Deletes the Gateway resource.", + "description": "Deletes the Gateway resource identified by the name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/GatewayResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshGateways" + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content - the specified gateway was not found." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Gateways": { + "get": { + "operationId": "MeshGateway_List", + "x-ms-examples": { + "ListMeshGateways": { + "$ref": "./examples/Resources/Gateways/list.json" + } + }, + "summary": "Lists all the gateway resources.", + "description": "Gets the information about all gateway resources in a given resource group. The information include the description and other properties of the Gateway.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + } + ], + "tags": [ + "MeshGateways" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PagedGatewayResourceDescriptionList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + } + }, + "definitions": { + "HealthState": { + "type": "string", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc.", + "enum": [ + "Invalid", + "Ok", + "Warning", + "Error", + "Unknown" + ], + "x-ms-enum": { + "name": "HealthState", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid health state. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Ok", + "description": "Indicates the health state is okay. The value is 1." + }, + { + "value": "Warning", + "description": "Indicates the health state is at a warning level. The value is 2." + }, + { + "value": "Error", + "description": "Indicates the health state is at an error level. Error health state should be investigated, as they can impact the correct functionality of the cluster. The value is 3." + }, + { + "value": "Unknown", + "description": "Indicates an unknown health status. The value is 65535." + } + ] + } + }, + "FabricErrorCodes": { + "type": "string", + "description": "Defines the fabric error codes that be returned as part of the error object in response to Service Fabric API operations that are not successful. Following are the error code values that can be returned for a specific HTTP status code.\n\n - Possible values of the error code for HTTP status code 400 (Bad Request)\n - \"FABRIC_E_INVALID_PARTITION_KEY\"\n - \"FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR\"\n - \"FABRIC_E_INVALID_ADDRESS\"\n - \"FABRIC_E_APPLICATION_NOT_UPGRADING\"\n - \"FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR\"\n - \"FABRIC_E_FABRIC_NOT_UPGRADING\"\n - \"FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR\"\n - \"FABRIC_E_INVALID_CONFIGURATION\"\n - \"FABRIC_E_INVALID_NAME_URI\"\n - \"FABRIC_E_PATH_TOO_LONG\"\n - \"FABRIC_E_KEY_TOO_LARGE\"\n - \"FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED\"\n - \"FABRIC_E_INVALID_ATOMIC_GROUP\"\n - \"FABRIC_E_VALUE_EMPTY\"\n - \"FABRIC_E_BACKUP_IS_ENABLED\"\n - \"FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH\"\n - \"FABRIC_E_INVALID_FOR_STATELESS_SERVICES\"\n - \"FABRIC_E_INVALID_SERVICE_SCALING_POLICY\"\n - \"E_INVALIDARG\"\n\n - Possible values of the error code for HTTP status code 404 (Not Found)\n - \"FABRIC_E_NODE_NOT_FOUND\"\n - \"FABRIC_E_APPLICATION_TYPE_NOT_FOUND\"\n - \"FABRIC_E_APPLICATION_NOT_FOUND\"\n - \"FABRIC_E_SERVICE_TYPE_NOT_FOUND\"\n - \"FABRIC_E_SERVICE_DOES_NOT_EXIST\"\n - \"FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND\"\n - \"FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND\"\n - \"FABRIC_E_PARTITION_NOT_FOUND\"\n - \"FABRIC_E_REPLICA_DOES_NOT_EXIST\"\n - \"FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST\"\n - \"FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND\"\n - \"FABRIC_E_DIRECTORY_NOT_FOUND\"\n - \"FABRIC_E_FABRIC_VERSION_NOT_FOUND\"\n - \"FABRIC_E_FILE_NOT_FOUND\"\n - \"FABRIC_E_NAME_DOES_NOT_EXIST\"\n - \"FABRIC_E_PROPERTY_DOES_NOT_EXIST\"\n - \"FABRIC_E_ENUMERATION_COMPLETED\"\n - \"FABRIC_E_SERVICE_MANIFEST_NOT_FOUND\"\n - \"FABRIC_E_KEY_NOT_FOUND\"\n - \"FABRIC_E_HEALTH_ENTITY_NOT_FOUND\"\n - \"FABRIC_E_BACKUP_NOT_ENABLED\"\n - \"FABRIC_E_BACKUP_POLICY_NOT_EXISTING\"\n - \"FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING\"\n - \"FABRIC_E_IMAGEBUILDER_RESERVED_DIRECTORY_ERROR\"\n\n - Possible values of the error code for HTTP status code 409 (Conflict)\n - \"FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION\"\n - \"FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS\"\n - \"FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS\"\n - \"FABRIC_E_SERVICE_ALREADY_EXISTS\"\n - \"FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_TYPE_IN_USE\"\n - \"FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION\"\n - \"FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS\"\n - \"FABRIC_E_FABRIC_VERSION_IN_USE\"\n - \"FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS\"\n - \"FABRIC_E_NAME_ALREADY_EXISTS\"\n - \"FABRIC_E_NAME_NOT_EMPTY\"\n - \"FABRIC_E_PROPERTY_CHECK_FAILED\"\n - \"FABRIC_E_SERVICE_METADATA_MISMATCH\"\n - \"FABRIC_E_SERVICE_TYPE_MISMATCH\"\n - \"FABRIC_E_HEALTH_STALE_REPORT\"\n - \"FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED\"\n - \"FABRIC_E_NODE_HAS_NOT_STOPPED_YET\"\n - \"FABRIC_E_INSTANCE_ID_MISMATCH\"\n - \"FABRIC_E_BACKUP_IN_PROGRESS\"\n - \"FABRIC_E_RESTORE_IN_PROGRESS\"\n - \"FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING\"\n\n - Possible values of the error code for HTTP status code 413 (Request Entity Too Large)\n - \"FABRIC_E_VALUE_TOO_LARGE\"\n\n - Possible values of the error code for HTTP status code 500 (Internal Server Error)\n - \"FABRIC_E_NODE_IS_UP\"\n - \"E_FAIL\"\n - \"FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS\"\n - \"FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND\"\n - \"FABRIC_E_VOLUME_ALREADY_EXISTS\"\n - \"FABRIC_E_VOLUME_NOT_FOUND\"\n - \"SerializationError\"\n\n - Possible values of the error code for HTTP status code 503 (Service Unavailable)\n - \"FABRIC_E_NO_WRITE_QUORUM\"\n - \"FABRIC_E_NOT_PRIMARY\"\n - \"FABRIC_E_NOT_READY\"\n - \"FABRIC_E_RECONFIGURATION_PENDING\"\n - \"FABRIC_E_SERVICE_OFFLINE\"\n - \"E_ABORT\"\n - \"FABRIC_E_VALUE_TOO_LARGE\"\n\n - Possible values of the error code for HTTP status code 504 (Gateway Timeout)\n - \"FABRIC_E_COMMUNICATION_ERROR\"\n - \"FABRIC_E_OPERATION_NOT_COMPLETE\"\n - \"FABRIC_E_TIMEOUT\"", + "enum": [ + "FABRIC_E_INVALID_PARTITION_KEY", + "FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR", + "FABRIC_E_INVALID_ADDRESS", + "FABRIC_E_APPLICATION_NOT_UPGRADING", + "FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR", + "FABRIC_E_FABRIC_NOT_UPGRADING", + "FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR", + "FABRIC_E_INVALID_CONFIGURATION", + "FABRIC_E_INVALID_NAME_URI", + "FABRIC_E_PATH_TOO_LONG", + "FABRIC_E_KEY_TOO_LARGE", + "FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED", + "FABRIC_E_INVALID_ATOMIC_GROUP", + "FABRIC_E_VALUE_EMPTY", + "FABRIC_E_NODE_NOT_FOUND", + "FABRIC_E_APPLICATION_TYPE_NOT_FOUND", + "FABRIC_E_APPLICATION_NOT_FOUND", + "FABRIC_E_SERVICE_TYPE_NOT_FOUND", + "FABRIC_E_SERVICE_DOES_NOT_EXIST", + "FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND", + "FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND", + "FABRIC_E_PARTITION_NOT_FOUND", + "FABRIC_E_REPLICA_DOES_NOT_EXIST", + "FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST", + "FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND", + "FABRIC_E_DIRECTORY_NOT_FOUND", + "FABRIC_E_FABRIC_VERSION_NOT_FOUND", + "FABRIC_E_FILE_NOT_FOUND", + "FABRIC_E_NAME_DOES_NOT_EXIST", + "FABRIC_E_PROPERTY_DOES_NOT_EXIST", + "FABRIC_E_ENUMERATION_COMPLETED", + "FABRIC_E_SERVICE_MANIFEST_NOT_FOUND", + "FABRIC_E_KEY_NOT_FOUND", + "FABRIC_E_HEALTH_ENTITY_NOT_FOUND", + "FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS", + "FABRIC_E_APPLICATION_ALREADY_EXISTS", + "FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION", + "FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS", + "FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS", + "FABRIC_E_SERVICE_ALREADY_EXISTS", + "FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS", + "FABRIC_E_APPLICATION_TYPE_IN_USE", + "FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION", + "FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS", + "FABRIC_E_FABRIC_VERSION_IN_USE", + "FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS", + "FABRIC_E_NAME_ALREADY_EXISTS", + "FABRIC_E_NAME_NOT_EMPTY", + "FABRIC_E_PROPERTY_CHECK_FAILED", + "FABRIC_E_SERVICE_METADATA_MISMATCH", + "FABRIC_E_SERVICE_TYPE_MISMATCH", + "FABRIC_E_HEALTH_STALE_REPORT", + "FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED", + "FABRIC_E_NODE_HAS_NOT_STOPPED_YET", + "FABRIC_E_INSTANCE_ID_MISMATCH", + "FABRIC_E_VALUE_TOO_LARGE", + "FABRIC_E_NO_WRITE_QUORUM", + "FABRIC_E_NOT_PRIMARY", + "FABRIC_E_NOT_READY", + "FABRIC_E_RECONFIGURATION_PENDING", + "FABRIC_E_SERVICE_OFFLINE", + "E_ABORT", + "FABRIC_E_COMMUNICATION_ERROR", + "FABRIC_E_OPERATION_NOT_COMPLETE", + "FABRIC_E_TIMEOUT", + "FABRIC_E_NODE_IS_UP", + "E_FAIL", + "FABRIC_E_BACKUP_IS_ENABLED", + "FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH", + "FABRIC_E_INVALID_FOR_STATELESS_SERVICES", + "FABRIC_E_BACKUP_NOT_ENABLED", + "FABRIC_E_BACKUP_POLICY_NOT_EXISTING", + "FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING", + "FABRIC_E_BACKUP_IN_PROGRESS", + "FABRIC_E_RESTORE_IN_PROGRESS", + "FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING", + "FABRIC_E_INVALID_SERVICE_SCALING_POLICY", + "E_INVALIDARG", + "FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS", + "FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND", + "FABRIC_E_VOLUME_ALREADY_EXISTS", + "FABRIC_E_VOLUME_NOT_FOUND", + "SerializationError", + "FABRIC_E_IMAGEBUILDER_RESERVED_DIRECTORY_ERROR" + ], + "x-ms-enum": { + "name": "FabricErrorCodes", + "modelAsString": true, + "values": [ + { + "value": "FABRIC_E_INVALID_PARTITION_KEY" + }, + { + "value": "FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR" + }, + { + "value": "FABRIC_E_INVALID_ADDRESS" + }, + { + "value": "FABRIC_E_APPLICATION_NOT_UPGRADING" + }, + { + "value": "FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR" + }, + { + "value": "FABRIC_E_FABRIC_NOT_UPGRADING" + }, + { + "value": "FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR" + }, + { + "value": "FABRIC_E_INVALID_CONFIGURATION" + }, + { + "value": "FABRIC_E_INVALID_NAME_URI" + }, + { + "value": "FABRIC_E_PATH_TOO_LONG" + }, + { + "value": "FABRIC_E_KEY_TOO_LARGE" + }, + { + "value": "FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED" + }, + { + "value": "FABRIC_E_INVALID_ATOMIC_GROUP" + }, + { + "value": "FABRIC_E_VALUE_EMPTY" + }, + { + "value": "FABRIC_E_NODE_NOT_FOUND" + }, + { + "value": "FABRIC_E_APPLICATION_TYPE_NOT_FOUND" + }, + { + "value": "FABRIC_E_APPLICATION_NOT_FOUND" + }, + { + "value": "FABRIC_E_SERVICE_TYPE_NOT_FOUND" + }, + { + "value": "FABRIC_E_SERVICE_DOES_NOT_EXIST" + }, + { + "value": "FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND" + }, + { + "value": "FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND" + }, + { + "value": "FABRIC_E_PARTITION_NOT_FOUND" + }, + { + "value": "FABRIC_E_REPLICA_DOES_NOT_EXIST" + }, + { + "value": "FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST" + }, + { + "value": "FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND" + }, + { + "value": "FABRIC_E_DIRECTORY_NOT_FOUND" + }, + { + "value": "FABRIC_E_FABRIC_VERSION_NOT_FOUND" + }, + { + "value": "FABRIC_E_FILE_NOT_FOUND" + }, + { + "value": "FABRIC_E_NAME_DOES_NOT_EXIST" + }, + { + "value": "FABRIC_E_PROPERTY_DOES_NOT_EXIST" + }, + { + "value": "FABRIC_E_ENUMERATION_COMPLETED" + }, + { + "value": "FABRIC_E_SERVICE_MANIFEST_NOT_FOUND" + }, + { + "value": "FABRIC_E_KEY_NOT_FOUND" + }, + { + "value": "FABRIC_E_HEALTH_ENTITY_NOT_FOUND" + }, + { + "value": "FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS" + }, + { + "value": "FABRIC_E_APPLICATION_ALREADY_EXISTS" + }, + { + "value": "FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION" + }, + { + "value": "FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS" + }, + { + "value": "FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS" + }, + { + "value": "FABRIC_E_SERVICE_ALREADY_EXISTS" + }, + { + "value": "FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS" + }, + { + "value": "FABRIC_E_APPLICATION_TYPE_IN_USE" + }, + { + "value": "FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION" + }, + { + "value": "FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS" + }, + { + "value": "FABRIC_E_FABRIC_VERSION_IN_USE" + }, + { + "value": "FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS" + }, + { + "value": "FABRIC_E_NAME_ALREADY_EXISTS" + }, + { + "value": "FABRIC_E_NAME_NOT_EMPTY" + }, + { + "value": "FABRIC_E_PROPERTY_CHECK_FAILED" + }, + { + "value": "FABRIC_E_SERVICE_METADATA_MISMATCH" + }, + { + "value": "FABRIC_E_SERVICE_TYPE_MISMATCH" + }, + { + "value": "FABRIC_E_HEALTH_STALE_REPORT" + }, + { + "value": "FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED" + }, + { + "value": "FABRIC_E_NODE_HAS_NOT_STOPPED_YET" + }, + { + "value": "FABRIC_E_INSTANCE_ID_MISMATCH" + }, + { + "value": "FABRIC_E_VALUE_TOO_LARGE" + }, + { + "value": "FABRIC_E_NO_WRITE_QUORUM" + }, + { + "value": "FABRIC_E_NOT_PRIMARY" + }, + { + "value": "FABRIC_E_NOT_READY" + }, + { + "value": "FABRIC_E_RECONFIGURATION_PENDING" + }, + { + "value": "FABRIC_E_SERVICE_OFFLINE" + }, + { + "value": "E_ABORT" + }, + { + "value": "FABRIC_E_COMMUNICATION_ERROR" + }, + { + "value": "FABRIC_E_OPERATION_NOT_COMPLETE" + }, + { + "value": "FABRIC_E_TIMEOUT" + }, + { + "value": "FABRIC_E_NODE_IS_UP" + }, + { + "value": "E_FAIL" + }, + { + "value": "FABRIC_E_BACKUP_IS_ENABLED" + }, + { + "value": "FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH" + }, + { + "value": "FABRIC_E_INVALID_FOR_STATELESS_SERVICES" + }, + { + "value": "FABRIC_E_BACKUP_NOT_ENABLED" + }, + { + "value": "FABRIC_E_BACKUP_POLICY_NOT_EXISTING" + }, + { + "value": "FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING" + }, + { + "value": "FABRIC_E_BACKUP_IN_PROGRESS" + }, + { + "value": "FABRIC_E_RESTORE_IN_PROGRESS" + }, + { + "value": "FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING" + }, + { + "value": "FABRIC_E_INVALID_SERVICE_SCALING_POLICY" + }, + { + "value": "E_INVALIDARG" + }, + { + "value": "FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS" + }, + { + "value": "FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND" + }, + { + "value": "FABRIC_E_VOLUME_ALREADY_EXISTS" + }, + { + "value": "FABRIC_E_VOLUME_NOT_FOUND" + }, + { + "value": "SerializationError" + }, + { + "value": "FABRIC_E_IMAGEBUILDER_RESERVED_DIRECTORY_ERROR" + } + ] + } + }, + "FabricError": { + "description": "The REST API operations for Service Fabric return standard HTTP status codes. This type defines the additional information returned from the Service Fabric API operations that are not successful.", + "properties": { + "Error": { + "$ref": "#/definitions/FabricErrorError", + "description": "Error object containing error code and error message." + } + }, + "required": [ + "Error" + ] + }, + "FabricErrorError": { + "description": "Error object containing error code and error message.", + "properties": { + "Code": { + "$ref": "#/definitions/FabricErrorCodes", + "description": "Defines the fabric error codes that be returned as part of the error object in response to Service Fabric API operations that are not successful. Following are the error code values that can be returned for a specific HTTP status code.\n\n - Possible values of the error code for HTTP status code 400 (Bad Request)\n - \"FABRIC_E_INVALID_PARTITION_KEY\"\n - \"FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR\"\n - \"FABRIC_E_INVALID_ADDRESS\"\n - \"FABRIC_E_APPLICATION_NOT_UPGRADING\"\n - \"FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR\"\n - \"FABRIC_E_FABRIC_NOT_UPGRADING\"\n - \"FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR\"\n - \"FABRIC_E_INVALID_CONFIGURATION\"\n - \"FABRIC_E_INVALID_NAME_URI\"\n - \"FABRIC_E_PATH_TOO_LONG\"\n - \"FABRIC_E_KEY_TOO_LARGE\"\n - \"FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED\"\n - \"FABRIC_E_INVALID_ATOMIC_GROUP\"\n - \"FABRIC_E_VALUE_EMPTY\"\n - \"FABRIC_E_BACKUP_IS_ENABLED\"\n - \"FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH\"\n - \"FABRIC_E_INVALID_FOR_STATELESS_SERVICES\"\n - \"FABRIC_E_INVALID_SERVICE_SCALING_POLICY\"\n - \"E_INVALIDARG\"\n\n - Possible values of the error code for HTTP status code 404 (Not Found)\n - \"FABRIC_E_NODE_NOT_FOUND\"\n - \"FABRIC_E_APPLICATION_TYPE_NOT_FOUND\"\n - \"FABRIC_E_APPLICATION_NOT_FOUND\"\n - \"FABRIC_E_SERVICE_TYPE_NOT_FOUND\"\n - \"FABRIC_E_SERVICE_DOES_NOT_EXIST\"\n - \"FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND\"\n - \"FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND\"\n - \"FABRIC_E_PARTITION_NOT_FOUND\"\n - \"FABRIC_E_REPLICA_DOES_NOT_EXIST\"\n - \"FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST\"\n - \"FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND\"\n - \"FABRIC_E_DIRECTORY_NOT_FOUND\"\n - \"FABRIC_E_FABRIC_VERSION_NOT_FOUND\"\n - \"FABRIC_E_FILE_NOT_FOUND\"\n - \"FABRIC_E_NAME_DOES_NOT_EXIST\"\n - \"FABRIC_E_PROPERTY_DOES_NOT_EXIST\"\n - \"FABRIC_E_ENUMERATION_COMPLETED\"\n - \"FABRIC_E_SERVICE_MANIFEST_NOT_FOUND\"\n - \"FABRIC_E_KEY_NOT_FOUND\"\n - \"FABRIC_E_HEALTH_ENTITY_NOT_FOUND\"\n - \"FABRIC_E_BACKUP_NOT_ENABLED\"\n - \"FABRIC_E_BACKUP_POLICY_NOT_EXISTING\"\n - \"FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING\"\n - \"FABRIC_E_IMAGEBUILDER_RESERVED_DIRECTORY_ERROR\"\n\n - Possible values of the error code for HTTP status code 409 (Conflict)\n - \"FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION\"\n - \"FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS\"\n - \"FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS\"\n - \"FABRIC_E_SERVICE_ALREADY_EXISTS\"\n - \"FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_TYPE_IN_USE\"\n - \"FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION\"\n - \"FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS\"\n - \"FABRIC_E_FABRIC_VERSION_IN_USE\"\n - \"FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS\"\n - \"FABRIC_E_NAME_ALREADY_EXISTS\"\n - \"FABRIC_E_NAME_NOT_EMPTY\"\n - \"FABRIC_E_PROPERTY_CHECK_FAILED\"\n - \"FABRIC_E_SERVICE_METADATA_MISMATCH\"\n - \"FABRIC_E_SERVICE_TYPE_MISMATCH\"\n - \"FABRIC_E_HEALTH_STALE_REPORT\"\n - \"FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED\"\n - \"FABRIC_E_NODE_HAS_NOT_STOPPED_YET\"\n - \"FABRIC_E_INSTANCE_ID_MISMATCH\"\n - \"FABRIC_E_BACKUP_IN_PROGRESS\"\n - \"FABRIC_E_RESTORE_IN_PROGRESS\"\n - \"FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING\"\n\n - Possible values of the error code for HTTP status code 413 (Request Entity Too Large)\n - \"FABRIC_E_VALUE_TOO_LARGE\"\n\n - Possible values of the error code for HTTP status code 500 (Internal Server Error)\n - \"FABRIC_E_NODE_IS_UP\"\n - \"E_FAIL\"\n - \"FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS\"\n - \"FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND\"\n - \"FABRIC_E_VOLUME_ALREADY_EXISTS\"\n - \"FABRIC_E_VOLUME_NOT_FOUND\"\n - \"SerializationError\"\n\n - Possible values of the error code for HTTP status code 503 (Service Unavailable)\n - \"FABRIC_E_NO_WRITE_QUORUM\"\n - \"FABRIC_E_NOT_PRIMARY\"\n - \"FABRIC_E_NOT_READY\"\n - \"FABRIC_E_RECONFIGURATION_PENDING\"\n - \"FABRIC_E_SERVICE_OFFLINE\"\n - \"E_ABORT\"\n - \"FABRIC_E_VALUE_TOO_LARGE\"\n\n - Possible values of the error code for HTTP status code 504 (Gateway Timeout)\n - \"FABRIC_E_COMMUNICATION_ERROR\"\n - \"FABRIC_E_OPERATION_NOT_COMPLETE\"\n - \"FABRIC_E_TIMEOUT\"" + }, + "Message": { + "type": "string", + "description": "Error message." + } + }, + "required": [ + "Code" + ] + }, + "ContainerLogs": { + "description": "Container logs.", + "properties": { + "Content": { + "type": "string", + "description": "Container logs." + } + } + }, + "AadMetadata": { + "description": "Azure Active Directory metadata used for secured connection to cluster.", + "properties": { + "authority": { + "type": "string", + "description": "The AAD authority url." + }, + "client": { + "type": "string", + "description": "The AAD client application Id." + }, + "cluster": { + "type": "string", + "description": "The AAD cluster application Id." + }, + "login": { + "type": "string", + "description": "The AAD login url." + }, + "redirect": { + "type": "string", + "description": "The client application redirect address." + }, + "tenant": { + "type": "string", + "description": "The AAD tenant Id." + } + } + }, + "AadMetadataObject": { + "description": "Azure Active Directory metadata object used for secured connection to cluster.", + "properties": { + "type": { + "type": "string", + "description": "The client authentication method." + }, + "metadata": { + "$ref": "#/definitions/AadMetadata", + "description": "Azure Active Directory metadata used for secured connection to cluster." + } + } + }, + "AnalysisEventMetadata": { + "description": "Metadata about an Analysis Event.", + "properties": { + "Delay": { + "type": "string", + "format": "duration", + "description": "The analysis delay." + }, + "Duration": { + "type": "string", + "format": "duration", + "description": "The duration of analysis." + } + } + }, + "ApplicationDefinitionKind": { + "type": "string", + "description": "The mechanism used to define a Service Fabric application.", + "enum": [ + "Invalid", + "ServiceFabricApplicationDescription", + "Compose" + ], + "x-ms-enum": { + "name": "ApplicationDefinitionKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the application definition kind is invalid. All Service Fabric enumerations have the invalid type. The value is 65535." + }, + { + "value": "ServiceFabricApplicationDescription", + "description": "Indicates the application is defined by a Service Fabric application description. The value is 0." + }, + { + "value": "Compose", + "description": "Indicates the application is defined by compose file(s). The value is 1." + } + ] + } + }, + "ApplicationEvent": { + "description": "Represents the base for all Application Events.", + "allOf": [ + { + "$ref": "#/definitions/FabricEvent" + } + ], + "properties": { + "ApplicationId": { + "$ref": "#/definitions/ApplicationId", + "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions." + } + }, + "required": [ + "ApplicationId" + ], + "x-ms-discriminator-value": "ApplicationEvent" + }, + "ApplicationEventList": { + "description": "A list of ApplicationEvent objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationEvent" + } + }, + "ApplicationHealth": { + "description": "Represents the health of the application. Contains the application aggregated health state and the service and deployed application health states.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealth" + } + ], + "properties": { + "Name": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "ServiceHealthStates": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceHealthState" + }, + "description": "Service health states as found in the health store." + }, + "DeployedApplicationHealthStates": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedApplicationHealthState" + }, + "description": "Deployed application health states as found in the health store." + } + } + }, + "ApplicationHealthEvaluation": { + "x-ms-discriminator-value": "Application", + "description": "Represents health evaluation for an application, containing information about the data and the algorithm used by the health store to evaluate health.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the current aggregated health state of the application. The types of the unhealthy evaluations can be DeployedApplicationsHealthEvaluation, ServicesHealthEvaluation or EventHealthEvaluation." + } + } + }, + "ApplicationHealthPolicies": { + "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities.", + "properties": { + "ApplicationHealthPolicyMap": { + "$ref": "#/definitions/ApplicationHealthPolicyMap", + "description": "The wrapper that contains the map with application health policies used to evaluate specific applications in the cluster." + } + } + }, + "ApplicationHealthPolicy": { + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.", + "properties": { + "ConsiderWarningAsError": { + "type": "boolean", + "description": "Indicates whether warnings are treated with the same severity as errors.", + "default": false + }, + "MaxPercentUnhealthyDeployedApplications": { + "type": "integer", + "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.", + "default": 0 + }, + "DefaultServiceTypeHealthPolicy": { + "$ref": "#/definitions/ServiceTypeHealthPolicy", + "description": "The health policy used by default to evaluate the health of a service type." + }, + "ServiceTypeHealthPolicyMap": { + "$ref": "#/definitions/ServiceTypeHealthPolicyMap", + "description": "The map with service type health policy per service type name. The map is empty by default." + } + } + }, + "ApplicationHealthPolicyMap": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationHealthPolicyMapItem" + }, + "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nIf an application is not specified in the map, the application health evaluation uses the ApplicationHealthPolicy found in its application manifest or the default application health policy (if no health policy is defined in the manifest).\nThe map is empty by default." + }, + "ApplicationHealthPolicyMapItem": { + "description": "Defines an item in ApplicationHealthPolicyMap.", + "required": [ + "Key", + "Value" + ], + "properties": { + "Key": { + "$ref": "#/definitions/ApplicationName", + "description": "The key of the application health policy map item. This is the name of the application." + }, + "Value": { + "$ref": "#/definitions/ApplicationHealthPolicy", + "description": "The value of the application health policy map item. This is the ApplicationHealthPolicy for this application." + } + } + }, + "ApplicationHealthPolicyMapObject": { + "description": "Represents the map of application health policies for a ServiceFabric cluster upgrade", + "properties": { + "ApplicationHealthPolicyMap": { + "$ref": "#/definitions/ApplicationHealthPolicyMap", + "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nIf an application is not specified in the map, the application health evaluation uses the ApplicationHealthPolicy found in its application manifest or the default application health policy (if no health policy is defined in the manifest).\nThe map is empty by default." + } + } + }, + "ApplicationHealthState": { + "description": "Represents the health state of an application, which contains the application identifier and the aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthState" + } + ], + "properties": { + "Name": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + } + } + }, + "ApplicationHealthStateChunk": { + "description": "Represents the health state chunk of a application.\nThe application health state chunk contains the application name, its aggregated health state and any children services and deployed applications that respect the filters in cluster health chunk query description.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthStateChunk" + } + ], + "properties": { + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "ApplicationTypeName": { + "$ref": "#/definitions/ApplicationTypeName", + "description": "The application type name as defined in the application manifest." + }, + "ServiceHealthStateChunks": { + "$ref": "#/definitions/ServiceHealthStateChunkList", + "description": "The list of service health state chunks in the cluster that respect the filters in the cluster health chunk query description." + }, + "DeployedApplicationHealthStateChunks": { + "$ref": "#/definitions/DeployedApplicationHealthStateChunkList", + "description": "The list of deployed application health state chunks in the cluster that respect the filters in the cluster health chunk query description." + } + } + }, + "ApplicationHealthStateChunkList": { + "description": "The list of application health state chunks in the cluster that respect the input filters in the chunk query. Returned by get cluster health state chunks query.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthStateChunkList" + } + ], + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationHealthStateChunk" + }, + "description": "The list of application health state chunks that respect the input filters in the chunk query." + } + } + }, + "ApplicationHealthStateFilter": { + "description": "Defines matching criteria to determine whether a application should be included in the cluster health chunk.\nOne filter can match zero, one or multiple applications, depending on its properties.", + "properties": { + "ApplicationNameFilter": { + "type": "string", + "description": "The name of the application that matches the filter, as a fabric uri. The filter is applied only to the specified application, if it exists.\nIf the application doesn't exist, no application is returned in the cluster health chunk based on this filter.\nIf the application exists, it is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all applications are matched against the other filter members, like health state filter." + }, + "ApplicationTypeNameFilter": { + "type": "string", + "description": "The name of the application type that matches the filter.\nIf specified, the filter is applied only to applications of the selected application type, if any exists.\nIf no applications of the specified application type exists, no application is returned in the cluster health chunk based on this filter.\nEach application of the specified application type is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all applications are matched against the other filter members, like health state filter." + }, + "HealthStateFilter": { + "type": "integer", + "default": 0, + "description": "The filter for the health state of the applications. It allows selecting applications if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only applications that match the filter are returned. All applications are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the application name or the application type name are specified. If the filter has default value and application name is specified, the matching application is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches applications with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535." + }, + "ServiceFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceHealthStateFilter" + }, + "description": "Defines a list of filters that specify which services to be included in the returned cluster health chunk as children of the application. The services are returned only if the parent application matches a filter.\nIf the list is empty, no services are returned. All the services are used to evaluate the parent application aggregated health state, regardless of the input filters.\nThe application filter may specify multiple service filters.\nFor example, it can specify a filter to return all services with health state Error and another filter to always include a service identified by its service name." + }, + "DeployedApplicationFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedApplicationHealthStateFilter" + }, + "description": "Defines a list of filters that specify which deployed applications to be included in the returned cluster health chunk as children of the application. The deployed applications are returned only if the parent application matches a filter.\nIf the list is empty, no deployed applications are returned. All the deployed applications are used to evaluate the parent application aggregated health state, regardless of the input filters.\nThe application filter may specify multiple deployed application filters.\nFor example, it can specify a filter to return all deployed applications with health state Error and another filter to always include a deployed application on a specified node." + } + } + }, + "ApplicationId": { + "type": "string", + "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions." + }, + "ApplicationInfo": { + "description": "Information about a Service Fabric application.", + "properties": { + "Id": { + "$ref": "#/definitions/ApplicationId", + "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions." + }, + "Name": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "TypeName": { + "$ref": "#/definitions/ApplicationTypeName", + "description": "The application type name as defined in the application manifest." + }, + "TypeVersion": { + "$ref": "#/definitions/ApplicationTypeVersion", + "description": "The version of the application type as defined in the application manifest." + }, + "Status": { + "$ref": "#/definitions/ApplicationStatus", + "description": "The status of the application." + }, + "Parameters": { + "$ref": "#/definitions/ApplicationParameterList", + "description": "List of application parameters with overridden values from their default values specified in the application manifest." + }, + "HealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + }, + "ApplicationDefinitionKind": { + "$ref": "#/definitions/ApplicationDefinitionKind", + "description": "The mechanism used to define a Service Fabric application." + }, + "ManagedApplicationIdentity": { + "$ref": "#/definitions/ManagedApplicationIdentityDescription", + "description": "Managed application identity description." + } + } + }, + "ApplicationLoadInfo": { + "description": "Load Information about a Service Fabric application.", + "properties": { + "Id": { + "$ref": "#/definitions/ApplicationId", + "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions." + }, + "MinimumNodes": { + "type": "integer", + "format": "int64", + "description": "The minimum number of nodes for this application.\nIt is the number of nodes where Service Fabric will reserve Capacity in the cluster which equals to ReservedLoad * MinimumNodes for this Application instance.\nFor applications that do not have application capacity defined this value will be zero." + }, + "MaximumNodes": { + "type": "integer", + "format": "int64", + "description": "The maximum number of nodes where this application can be instantiated.\nIt is the number of nodes this application is allowed to span.\nFor applications that do not have application capacity defined this value will be zero." + }, + "NodeCount": { + "type": "integer", + "format": "int64", + "description": "The number of nodes on which this application is instantiated.\nFor applications that do not have application capacity defined this value will be zero." + }, + "ApplicationLoadMetricInformation": { + "$ref": "#/definitions/ApplicationLoadMetricInformationList", + "description": "List of application load metric information." + } + } + }, + "ApplicationName": { + "type": "string", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "ApplicationNameInfo": { + "description": "Information about the application name.", + "properties": { + "Id": { + "$ref": "#/definitions/ApplicationId", + "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions." + }, + "Name": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + } + } + }, + "ApplicationPackageCleanupPolicy": { + "type": "string", + "description": "The kind of action that needs to be taken for cleaning up the application package after successful provision.", + "enum": [ + "Invalid", + "Default", + "Automatic", + "Manual" + ], + "x-ms-enum": { + "name": "ApplicationPackageCleanupPolicy", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that the application package cleanup policy is invalid. This value is default. The value is zero." + }, + { + "value": "Default", + "description": "Indicates that the cleanup policy of application packages is based on the cluster setting \"CleanupApplicationPackageOnProvisionSuccess.\" The value is 1." + }, + { + "value": "Automatic", + "description": "Indicates that the service fabric runtime determines when to do the application package cleanup. By default, cleanup is done on successful provision. The value is 2." + }, + { + "value": "Manual", + "description": "Indicates that the user has to explicitly clean up the application package. The value is 3." + } + ] + } + }, + "ApplicationParameter": { + "description": "Describes an application parameter override to be applied when creating or upgrading an application.", + "required": [ + "Key", + "Value" + ], + "properties": { + "Key": { + "type": "string", + "description": "The name of the parameter." + }, + "Value": { + "type": "string", + "description": "The value of the parameter." + } + } + }, + "ApplicationParameterList": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationParameter" + }, + "description": "List of application parameters with overridden values from their default values specified in the application manifest." + }, + "ApplicationsHealthEvaluation": { + "x-ms-discriminator-value": "Applications", + "description": "Represents health evaluation for applications, containing health evaluations for each unhealthy application that impacted current aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "MaxPercentUnhealthyApplications": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy applications from the ClusterHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of applications from the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ApplicationHealthEvaluation that impacted the aggregated health." + } + } + }, + "ApplicationStatus": { + "type": "string", + "description": "The status of the application.", + "enum": [ + "Invalid", + "Ready", + "Upgrading", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "ApplicationStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the application status is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Ready", + "description": "Indicates the application status is ready. The value is 1." + }, + { + "value": "Upgrading", + "description": "Indicates the application status is upgrading. The value is 2." + }, + { + "value": "Creating", + "description": "Indicates the application status is creating. The value is 3." + }, + { + "value": "Deleting", + "description": "Indicates the application status is deleting. The value is 4." + }, + { + "value": "Failed", + "description": "Indicates the creation or deletion of application was terminated due to persistent failures. Another create/delete request can be accepted to resume a failed application. The value is 5." + } + ] + } + }, + "ApplicationTypeApplicationsHealthEvaluation": { + "x-ms-discriminator-value": "ApplicationTypeApplications", + "description": "Represents health evaluation for applications of a particular application type. The application type applications evaluation can be returned when cluster health evaluation returns unhealthy aggregated health state, either Error or Warning. It contains health evaluations for each unhealthy application of the included application type that impacted current aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "ApplicationTypeName": { + "$ref": "#/definitions/ApplicationTypeName", + "description": "The application type name as defined in the application manifest." + }, + "MaxPercentUnhealthyApplications": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy applications for the application type, specified as an entry in ApplicationTypeHealthPolicyMap." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of applications of the application type found in the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ApplicationHealthEvaluation of this application type that impacted the aggregated health." + } + } + }, + "ApplicationTypeDefinitionKind": { + "type": "string", + "description": "The mechanism used to define a Service Fabric application type.", + "enum": [ + "Invalid", + "ServiceFabricApplicationPackage", + "Compose" + ], + "x-ms-enum": { + "name": "ApplicationTypeDefinitionKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the application type definition kind is invalid. All Service Fabric enumerations have the invalid type. The value is 0." + }, + { + "value": "ServiceFabricApplicationPackage", + "description": "Indicates the application type is defined and created by a Service Fabric application package provided by the user. The value is 1." + }, + { + "value": "Compose", + "description": "Indicates the application type is defined and created implicitly as part of a compose deployment. The value is 2." + } + ] + } + }, + "ApplicationTypeHealthPolicyMap": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationTypeHealthPolicyMapItem" + }, + "description": "Defines a map with max percentage unhealthy applications for specific application types.\nEach entry specifies as key the application type name and as value an integer that represents the MaxPercentUnhealthyApplications percentage used to evaluate the applications of the specified application type.\n\nThe application type health policy map can be used during cluster health evaluation to describe special application types.\nThe application types included in the map are evaluated against the percentage specified in the map, and not with the global MaxPercentUnhealthyApplications defined in the cluster health policy.\nThe applications of application types specified in the map are not counted against the global pool of applications.\nFor example, if some applications of a type are critical, the cluster administrator can add an entry to the map for that application type\nand assign it a value of 0% (that is, do not tolerate any failures).\nAll other applications can be evaluated with MaxPercentUnhealthyApplications set to 20% to tolerate some failures out of the thousands of application instances.\nThe application type health policy map is used only if the cluster manifest enables application type health evaluation using the configuration entry for HealthManager/EnableApplicationTypeHealthEvaluation." + }, + "ApplicationTypeHealthPolicyMapItem": { + "description": "Defines an item in ApplicationTypeHealthPolicyMap.", + "required": [ + "Key", + "Value" + ], + "properties": { + "Key": { + "type": "string", + "description": "The key of the application type health policy map item. This is the name of the application type." + }, + "Value": { + "type": "integer", + "description": "The value of the application type health policy map item.\nThe max percent unhealthy applications allowed for the application type. Must be between zero and 100." + } + } + }, + "ApplicationTypeInfo": { + "description": "Information about an application type.", + "properties": { + "Name": { + "$ref": "#/definitions/ApplicationTypeName", + "description": "The application type name as defined in the application manifest." + }, + "Version": { + "$ref": "#/definitions/ApplicationTypeVersion", + "description": "The version of the application type as defined in the application manifest." + }, + "DefaultParameterList": { + "$ref": "#/definitions/ApplicationTypeParameterList", + "description": "List of application type parameters that can be overridden when creating or updating the application." + }, + "Status": { + "$ref": "#/definitions/ApplicationTypeStatus", + "description": "The status of the application type." + }, + "StatusDetails": { + "type": "string", + "description": "Additional detailed information about the status of the application type." + }, + "ApplicationTypeDefinitionKind": { + "$ref": "#/definitions/ApplicationTypeDefinitionKind", + "description": "The mechanism used to define a Service Fabric application type." + } + } + }, + "PagedApplicationTypeInfoList": { + "description": "The list of application types that are provisioned or being provisioned in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of application type information.", + "items": { + "$ref": "#/definitions/ApplicationTypeInfo" + } + } + } + }, + "ApplicationTypeManifest": { + "description": "Contains the manifest describing an application type registered in a Service Fabric cluster.", + "properties": { + "Manifest": { + "type": "string", + "description": "The XML manifest as a string." + } + } + }, + "ApplicationTypeName": { + "type": "string", + "description": "The application type name as defined in the application manifest." + }, + "ApplicationTypeParameterList": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationParameter" + }, + "description": "List of application type parameters that can be overridden when creating or updating the application." + }, + "ApplicationTypeStatus": { + "type": "string", + "description": "The status of the application type.", + "enum": [ + "Invalid", + "Provisioning", + "Available", + "Unprovisioning", + "Failed" + ], + "x-ms-enum": { + "name": "ApplicationTypeStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the application type status is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Provisioning", + "description": "Indicates that the application type is being provisioned in the cluster. The value is 1." + }, + { + "value": "Available", + "description": "Indicates that the application type is fully provisioned and is available for use. An application of this type and version can be created. The value is 2." + }, + { + "value": "Unprovisioning", + "description": "Indicates that the application type is in process of being unprovisioned from the cluster. The value is 3." + }, + { + "value": "Failed", + "description": "Indicates that the application type provisioning failed and it is unavailable for use. The failure details can be obtained from the application type information query. The failed application type information remains in the cluster until it is unprovisioned or reprovisioned successfully. The value is 4." + } + ] + } + }, + "ApplicationUnhealthyEvaluations": { + "description": "List of health evaluations that resulted in the current aggregated health state.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthEvaluationWrapper" + } + }, + "ApplicationUpdateDescription": { + "description": "Describes the parameters for updating an application instance.", + "properties": { + "Flags": { + "type": "string", + "description": "Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified.\nIf flags are not specified for a certain property, the property will not be updated even if the new value is provided.\nThis property can be a combination of those flags obtained using bitwise 'OR' operator. Exception is RemoveApplicationCapacity which cannot be specified along with other parameters.\nFor example, if the provided value is 3 then the flags for MinimumNodes (1) and MaximumNodes (2) are set.\n\n- None - Does not indicate any other properties are set. The value is 0.\n- MinimumNodes - Indicates whether the MinimumNodes property is set. The value is 1.\n- MaximumNodes - Indicates whether the MinimumNodes property is set. The value is 2.\n- ApplicationMetrics - Indicates whether the ApplicationMetrics property is set. The value is 4." + }, + "RemoveApplicationCapacity": { + "type": "boolean", + "description": "Used to clear all parameters related to Application Capacity for this application. |\nIt is not possible to specify this parameter together with other Application Capacity parameters.", + "default": false + }, + "MinimumNodes": { + "type": "integer", + "format": "int64", + "description": "The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property.", + "minimum": 0 + }, + "MaximumNodes": { + "type": "integer", + "format": "int64", + "description": "The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node.", + "minimum": 0, + "default": 0 + }, + "ApplicationMetrics": { + "$ref": "#/definitions/ApplicationMetricDescriptionList", + "description": "List of application capacity metric description." + } + } + }, + "ApplicationUpgradeDescription": { + "description": "Describes the parameters for an application upgrade. Note that upgrade description replaces the existing application description. This means that if the parameters are not specified, the existing parameters on the applications will be overwritten with the empty parameters list. This would result in the application using the default value of the parameters from the application manifest. If you do not want to change any existing parameter values, please get the application parameters first using the GetApplicationInfo query and then supply those values as Parameters in this ApplicationUpgradeDescription.", + "properties": { + "Name": { + "$ref": "#/definitions/TargetApplicationName", + "description": "The name of the target application, including the 'fabric:' URI scheme." + }, + "TargetApplicationTypeVersion": { + "$ref": "#/definitions/TargetApplicationTypeVersion", + "description": "The target application type version (found in the application manifest) for the application upgrade." + }, + "Parameters": { + "$ref": "#/definitions/ApplicationParameterList", + "description": "List of application parameters with overridden values from their default values specified in the application manifest." + }, + "UpgradeKind": { + "$ref": "#/definitions/UpgradeKind", + "description": "The kind of upgrade out of the following possible values." + }, + "RollingUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred." + }, + "UpgradeReplicaSetCheckTimeoutInSeconds": { + "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout", + "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)." + }, + "SortOrder": { + "$ref": "#/definitions/UpgradeSortOrder", + "description": "Defines the order in which an upgrade proceeds through the cluster." + }, + "MonitoringPolicy": { + "$ref": "#/definitions/MonitoringPolicyDescription", + "description": "Describes the parameters for monitoring an upgrade in Monitored mode." + }, + "ApplicationHealthPolicy": { + "$ref": "#/definitions/ApplicationHealthPolicy", + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities." + }, + "InstanceCloseDelayDurationInSeconds": { + "$ref": "#/definitions/InstanceCloseDelayDurationInSeconds", + "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster\nupgrade, only for those instances which have a non-zero delay duration configured in the service description. See InstanceCloseDelayDurationSeconds property in $ref: \"#/definitions/StatelessServiceDescription.yaml\" for details.\nNote, the default value of InstanceCloseDelayDurationInSeconds is 4294967295, which indicates that the behavior will entirely depend on the delay configured in the stateless service description." + }, + "ManagedApplicationIdentity": { + "$ref": "#/definitions/ManagedApplicationIdentityDescription", + "description": "Managed application identity description." + } + }, + "required": [ + "Name", + "TargetApplicationTypeVersion", + "UpgradeKind" + ] + }, + "ApplicationUpgradeProgressInfo": { + "description": "Describes the parameters for an application upgrade.", + "properties": { + "Name": { + "$ref": "#/definitions/TargetApplicationName", + "description": "The name of the target application, including the 'fabric:' URI scheme." + }, + "TypeName": { + "$ref": "#/definitions/ApplicationTypeName", + "description": "The application type name as defined in the application manifest." + }, + "TargetApplicationTypeVersion": { + "$ref": "#/definitions/TargetApplicationTypeVersion", + "description": "The target application type version (found in the application manifest) for the application upgrade." + }, + "UpgradeDomains": { + "$ref": "#/definitions/UpgradeDomainInfoList", + "description": "List of upgrade domains and their statuses. Not applicable to node-by-node upgrades." + }, + "UpgradeUnits": { + "$ref": "#/definitions/UpgradeUnitInfoList", + "description": "List of upgrade units and their statuses." + }, + "UpgradeState": { + "$ref": "#/definitions/UpgradeState", + "description": "The state of the upgrade domain." + }, + "NextUpgradeDomain": { + "$ref": "#/definitions/NextUpgradeDomain", + "description": "The name of the next upgrade domain to be processed. Not applicable to node-by-node upgrades." + }, + "RollingUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred." + }, + "UpgradeDescription": { + "$ref": "#/definitions/ApplicationUpgradeDescription", + "description": "Describes the parameters for an application upgrade. Note that upgrade description replaces the existing application description. This means that if the parameters are not specified, the existing parameters on the applications will be overwritten with the empty parameters list. This would result in the application using the default value of the parameters from the application manifest. If you do not want to change any existing parameter values, please get the application parameters first using the GetApplicationInfo query and then supply those values as Parameters in this ApplicationUpgradeDescription." + }, + "UpgradeDurationInMilliseconds": { + "type": "string", + "description": "The estimated total amount of time spent processing the overall upgrade." + }, + "UpgradeDomainDurationInMilliseconds": { + "type": "string", + "description": "The estimated total amount of time spent processing the current upgrade domain." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of health evaluations that resulted in the current aggregated health state." + }, + "CurrentUpgradeDomainProgress": { + "$ref": "#/definitions/CurrentUpgradeDomainProgressInfo", + "description": "Information about the current in-progress upgrade domain. Not applicable to node-by-node upgrades." + }, + "CurrentUpgradeUnitsProgress": { + "$ref": "#/definitions/CurrentUpgradeUnitsProgressInfo", + "description": "Information about the current in-progress upgrade units." + }, + "StartTimestampUtc": { + "type": "string", + "description": "The estimated UTC datetime when the upgrade started." + }, + "FailureTimestampUtc": { + "type": "string", + "description": "The estimated UTC datetime when the upgrade failed and FailureAction was executed." + }, + "FailureReason": { + "$ref": "#/definitions/FailureReason", + "description": "The cause of an upgrade failure that resulted in FailureAction being executed." + }, + "UpgradeDomainProgressAtFailure": { + "$ref": "#/definitions/FailureUpgradeDomainProgressInfo", + "description": "Information about the upgrade domain progress at the time of upgrade failure." + }, + "UpgradeStatusDetails": { + "type": "string", + "description": "Additional detailed information about the status of the pending upgrade." + }, + "IsNodeByNode": { + "type": "boolean", + "description": "Indicates whether this upgrade is node-by-node.", + "default": false + } + } + }, + "ByteArray": { + "description": "Array of bytes to be sent as an integer array. Each element of array is a number between 0 and 255.", + "type": "array", + "items": { + "type": "integer" + } + }, + "ClusterConfiguration": { + "description": "Information about the standalone cluster configuration.", + "properties": { + "ClusterConfiguration": { + "type": "string", + "description": "The contents of the cluster configuration file." + } + } + }, + "ClusterEvent": { + "description": "Represents the base for all Cluster Events.", + "allOf": [ + { + "$ref": "#/definitions/FabricEvent" + } + ], + "x-ms-discriminator-value": "ClusterEvent" + }, + "ClusterEventList": { + "description": "A list of ClusterEvent objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ClusterEvent" + } + }, + "ClusterHealth": { + "description": "Represents the health of the cluster.\nContains the cluster aggregated health state, the cluster application and node health states as well as the health events and the unhealthy evaluations.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealth" + } + ], + "properties": { + "NodeHealthStates": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeHealthState" + }, + "description": "Cluster node health states as found in the health store." + }, + "ApplicationHealthStates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationHealthState" + }, + "description": "Cluster application health states as found in the health store." + } + } + }, + "ClusterHealthChunk": { + "description": "Represents the health chunk of the cluster.\nContains the cluster aggregated health state, and the cluster entities that respect the input filter.", + "properties": { + "HealthState": { + "$ref": "#/definitions/HealthState", + "description": "The HealthState representing the aggregated health state of the cluster computed by Health Manager.\nThe health evaluation of the entity reflects all events reported on the entity and its children (if any).\nThe aggregation is done by applying the desired cluster health policy and the application health policies." + }, + "NodeHealthStateChunks": { + "$ref": "#/definitions/NodeHealthStateChunkList", + "description": "The list of node health state chunks in the cluster that respect the filters in the cluster health chunk query description." + }, + "ApplicationHealthStateChunks": { + "$ref": "#/definitions/ApplicationHealthStateChunkList", + "description": "The list of application health state chunks in the cluster that respect the filters in the cluster health chunk query description." + } + } + }, + "ClusterHealthChunkQueryDescription": { + "description": "The cluster health chunk query description, which can specify the health policies to evaluate cluster health and very expressive filters to select which cluster entities to include in response.", + "properties": { + "NodeFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeHealthStateFilter" + }, + "description": "Defines a list of filters that specify which nodes to be included in the returned cluster health chunk.\nIf no filters are specified, no nodes are returned. All the nodes are used to evaluate the cluster's aggregated health state, regardless of the input filters.\nThe cluster health chunk query may specify multiple node filters.\nFor example, it can specify a filter to return all nodes with health state Error and another filter to always include a node identified by its NodeName." + }, + "ApplicationFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationHealthStateFilter" + }, + "description": "Defines a list of filters that specify which applications to be included in the returned cluster health chunk.\nIf no filters are specified, no applications are returned. All the applications are used to evaluate the cluster's aggregated health state, regardless of the input filters.\nThe cluster health chunk query may specify multiple application filters.\nFor example, it can specify a filter to return all applications with health state Error and another filter to always include applications of a specified application type." + }, + "ClusterHealthPolicy": { + "$ref": "#/definitions/ClusterHealthPolicy", + "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node." + }, + "ApplicationHealthPolicies": { + "$ref": "#/definitions/ApplicationHealthPolicies", + "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities." + } + } + }, + "ClusterHealthPolicies": { + "description": "Health policies to evaluate cluster health.", + "properties": { + "ApplicationHealthPolicyMap": { + "$ref": "#/definitions/ApplicationHealthPolicyMap", + "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nIf an application is not specified in the map, the application health evaluation uses the ApplicationHealthPolicy found in its application manifest or the default application health policy (if no health policy is defined in the manifest).\nThe map is empty by default." + }, + "ClusterHealthPolicy": { + "$ref": "#/definitions/ClusterHealthPolicy", + "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node." + } + } + }, + "ClusterHealthPolicy": { + "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.", + "properties": { + "ConsiderWarningAsError": { + "type": "boolean", + "description": "Indicates whether warnings are treated with the same severity as errors.", + "default": false + }, + "MaxPercentUnhealthyNodes": { + "type": "integer", + "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.", + "default": 0 + }, + "MaxPercentUnhealthyApplications": { + "type": "integer", + "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.", + "default": 0 + }, + "ApplicationTypeHealthPolicyMap": { + "$ref": "#/definitions/ApplicationTypeHealthPolicyMap", + "description": "Defines a map with max percentage unhealthy applications for specific application types.\nEach entry specifies as key the application type name and as value an integer that represents the MaxPercentUnhealthyApplications percentage used to evaluate the applications of the specified application type.\n\nThe application type health policy map can be used during cluster health evaluation to describe special application types.\nThe application types included in the map are evaluated against the percentage specified in the map, and not with the global MaxPercentUnhealthyApplications defined in the cluster health policy.\nThe applications of application types specified in the map are not counted against the global pool of applications.\nFor example, if some applications of a type are critical, the cluster administrator can add an entry to the map for that application type\nand assign it a value of 0% (that is, do not tolerate any failures).\nAll other applications can be evaluated with MaxPercentUnhealthyApplications set to 20% to tolerate some failures out of the thousands of application instances.\nThe application type health policy map is used only if the cluster manifest enables application type health evaluation using the configuration entry for HealthManager/EnableApplicationTypeHealthEvaluation." + }, + "NodeTypeHealthPolicyMap": { + "$ref": "#/definitions/NodeTypeHealthPolicyMap", + "description": "Defines a map with max percentage unhealthy nodes for specific node types.\nEach entry specifies as key the node type name and as value an integer that represents the MaxPercentUnhealthyNodes percentage used to evaluate the nodes of the specified node type.\n\nThe node type health policy map can be used during cluster health evaluation to describe special node types. \nThey are evaluated against the percentages associated with their node type name in the map. \nSetting this has no impact on the global pool of nodes used for MaxPercentUnhealthyNodes. \nThe node type health policy map is used only if the cluster manifest enables node type health evaluation using the configuration entry for HealthManager/EnableNodeTypeHealthEvaluation.\n\nFor example, given a cluster with many nodes of different types, with important work hosted on node type \"SpecialNodeType\" that should not tolerate any nodes down. \nYou can specify global MaxPercentUnhealthyNodes to 20% to tolerate some failures for all nodes, but for the node type \"SpecialNodeType\", set the MaxPercentUnhealthyNodes to 0 by \nsetting the value in the key value pair in NodeTypeHealthPolicyMapItem. The key is the node type name. \nThis way, as long as no nodes of type \"SpecialNodeType\" are in Error state, \neven if some of the many nodes in the global pool are in Error state, but below the global unhealthy percentage, the cluster would be evaluated to Warning. \nA Warning health state does not impact cluster upgrade or other monitoring triggered by Error health state. \nBut even one node of type SpecialNodeType in Error would make cluster unhealthy (in Error rather than Warning/Ok), which triggers rollback or pauses the cluster upgrade, depending on the upgrade configuration. \n\nConversely, setting the global MaxPercentUnhealthyNodes to 0, and setting SpecialNodeType's max percent unhealthy nodes to 100, \nwith one node of type SpecialNodeType in Error state would still put the cluster in an Error state, since the global restriction is more strict in this case." + } + } + }, + "ClusterManifest": { + "description": "Information about the cluster manifest.", + "properties": { + "Manifest": { + "type": "string", + "description": "The contents of the cluster manifest file." + } + } + }, + "ClusterLoadInfo": { + "description": "Information about load in a Service Fabric cluster. It holds a summary of all metrics and their load in a cluster.", + "properties": { + "LastBalancingStartTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The starting time of last resource balancing run." + }, + "LastBalancingEndTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The end time of last resource balancing run." + }, + "LoadMetricInformation": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadMetricInformation" + }, + "description": "List that contains metrics and their load information in this cluster." + } + } + }, + "LoadMetricInformation": { + "description": "Represents data structure that contains load information for a certain metric in a cluster.", + "properties": { + "Name": { + "type": "string", + "description": "Name of the metric for which this load information is provided." + }, + "IsBalancedBefore": { + "type": "boolean", + "description": "Value that indicates whether the metrics is balanced or not before resource balancer run" + }, + "IsBalancedAfter": { + "type": "boolean", + "description": "Value that indicates whether the metrics is balanced or not after resource balancer run." + }, + "DeviationBefore": { + "type": "string", + "format": "double", + "description": "The standard average deviation of the metrics before resource balancer run." + }, + "DeviationAfter": { + "type": "string", + "format": "double", + "description": "The standard average deviation of the metrics after resource balancer run." + }, + "BalancingThreshold": { + "type": "string", + "format": "double", + "description": "The balancing threshold for a certain metric." + }, + "Action": { + "type": "string", + "description": "The current action being taken with regard to this metric" + }, + "ActivityThreshold": { + "type": "string", + "format": "double", + "description": "The Activity Threshold specified for this metric in the system Cluster Manifest." + }, + "ClusterCapacity": { + "type": "string", + "description": "The total cluster capacity for a given metric" + }, + "ClusterLoad": { + "type": "string", + "description": "The total cluster load. In future releases of Service Fabric this parameter will be deprecated in favor of CurrentClusterLoad." + }, + "CurrentClusterLoad": { + "type": "string", + "format": "double", + "description": "The total cluster load." + }, + "ClusterRemainingCapacity": { + "type": "string", + "description": "The remaining capacity for the metric in the cluster. In future releases of Service Fabric this parameter will be deprecated in favor of ClusterCapacityRemaining." + }, + "ClusterCapacityRemaining": { + "type": "string", + "description": "The remaining capacity for the metric in the cluster." + }, + "IsClusterCapacityViolation": { + "type": "boolean", + "description": "Indicates that the metric is currently over capacity in the cluster." + }, + "NodeBufferPercentage": { + "type": "string", + "format": "double", + "description": "The reserved percentage of total node capacity for this metric." + }, + "ClusterBufferedCapacity": { + "type": "string", + "description": "Remaining capacity in the cluster excluding the reserved space. In future releases of Service Fabric this parameter will be deprecated in favor of BufferedClusterCapacityRemaining." + }, + "BufferedClusterCapacityRemaining": { + "type": "string", + "format": "double", + "description": "Remaining capacity in the cluster excluding the reserved space." + }, + "ClusterRemainingBufferedCapacity": { + "type": "string", + "description": "The remaining percentage of cluster total capacity for this metric." + }, + "MinNodeLoadValue": { + "type": "string", + "description": "The minimum load on any node for this metric. In future releases of Service Fabric this parameter will be deprecated in favor of MinimumNodeLoad." + }, + "MinimumNodeLoad": { + "type": "string", + "format": "double", + "description": "The minimum load on any node for this metric." + }, + "MinNodeLoadNodeId": { + "$ref": "#/definitions/NodeId", + "description": "The node id of the node with the minimum load for this metric." + }, + "MaxNodeLoadValue": { + "type": "string", + "description": "The maximum load on any node for this metric. In future releases of Service Fabric this parameter will be deprecated in favor of MaximumNodeLoad." + }, + "MaximumNodeLoad": { + "type": "string", + "format": "double", + "description": "The maximum load on any node for this metric." + }, + "MaxNodeLoadNodeId": { + "$ref": "#/definitions/NodeId", + "description": "The node id of the node with the maximum load for this metric." + }, + "PlannedLoadRemoval": { + "type": "string", + "format": "double", + "description": "This value represents the load of the replicas that are planned to be removed in the future within the cluster.\nThis kind of load is reported for replicas that are currently being moving to other nodes and for replicas that are currently being dropped but still use the load on the source node." + } + } + }, + "ClusterVersion": { + "description": "The cluster version.", + "properties": { + "Version": { + "type": "string", + "description": "The Service Fabric cluster runtime version." + } + } + }, + "ContainerApiRequestBody": { + "description": "parameters for making container API call.", + "properties": { + "HttpVerb": { + "type": "string", + "description": "HTTP verb of container REST API, defaults to \"GET\"" + }, + "UriPath": { + "type": "string", + "description": "URI path of container REST API" + }, + "Content-Type": { + "type": "string", + "description": "Content type of container REST API request, defaults to \"application/json\"" + }, + "Body": { + "type": "string", + "description": "HTTP request body of container REST API" + } + }, + "required": [ + "UriPath" + ] + }, + "ContainerApiResponse": { + "description": "Response body that wraps container API result.", + "properties": { + "ContainerApiResult": { + "$ref": "#/definitions/ContainerApiResult", + "description": "Container API result." + } + }, + "required": [ + "ContainerApiResult" + ] + }, + "ContainerApiResult": { + "description": "Container API result.", + "properties": { + "Status": { + "type": "integer", + "description": "HTTP status code returned by the target container API" + }, + "Content-Type": { + "type": "string", + "description": "HTTP content type" + }, + "Content-Encoding": { + "type": "string", + "description": "HTTP content encoding" + }, + "Body": { + "type": "string", + "description": "container API result body" + } + }, + "required": [ + "Status" + ] + }, + "ContainerInstanceEvent": { + "description": "Represents the base for all Container Events.", + "allOf": [ + { + "$ref": "#/definitions/FabricEvent" + } + ], + "x-ms-discriminator-value": "ContainerInstanceEvent" + }, + "ContainerInstanceEventList": { + "description": "A list of ContainerInstanceEvent objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerInstanceEvent" + } + }, + "ContinuationToken": { + "type": "string", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "ConfigParameterOverrideList": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigParameterOverride" + }, + "description": "List that contains parameters, sections that they belong and their values." + }, + "ConfigParameterOverride": { + "description": "Information about a configuration parameter override.", + "properties": { + "SectionName": { + "type": "string", + "description": "Name of the section for the parameter override." + }, + "ParameterName": { + "type": "string", + "description": "Name of the parameter that has been overridden." + }, + "ParameterValue": { + "type": "string", + "description": "Value of the overridden parameter." + }, + "Timeout": { + "type": "string", + "format": "duration", + "description": "The duration until config override is considered as valid." + }, + "PersistAcrossUpgrade": { + "type": "boolean", + "description": "A value that indicates whether config override will be removed on upgrade or will still be considered as valid." + } + }, + "required": [ + "SectionName", + "ParameterName", + "ParameterValue" + ] + }, + "CurrentUpgradeDomainName": { + "type": "string", + "description": "The name of the upgrade domain. Not applicable to node-by-node upgrades." + }, + "CurrentUpgradeDomainProgressInfo": { + "description": "Information about the current in-progress upgrade domain. Not applicable to node-by-node upgrades.", + "properties": { + "DomainName": { + "$ref": "#/definitions/UpgradeDomainName", + "description": "The name of the upgrade domain" + }, + "NodeUpgradeProgressList": { + "$ref": "#/definitions/NodeUpgradeProgressInfoList", + "description": "List of upgrading nodes and their statuses" + } + } + }, + "CurrentUpgradeDomainDuration": { + "type": "string", + "description": "The estimated amount of time spent processing current 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.", + "default": "PT0H2M0S" + }, + "CurrentUpgradeUnitsProgressInfo": { + "description": "Information about the current in-progress upgrade units.", + "properties": { + "DomainName": { + "$ref": "#/definitions/CurrentUpgradeDomainName", + "description": "The name of the upgrade domain. Not applicable to node-by-node upgrades." + }, + "NodeUpgradeProgressList": { + "$ref": "#/definitions/NodeUpgradeProgressInfoList", + "description": "List of upgrading nodes and their statuses" + } + } + }, + "DeactivationIntentDescription": { + "description": "Describes the intent or reason for deactivating the node.", + "properties": { + "DeactivationIntent": { + "type": "string", + "description": "Describes the intent or reason for deactivating the node. The possible values are following.", + "enum": [ + "Pause", + "Restart", + "RemoveData" + ], + "x-ms-enum": { + "name": "DeactivationIntent", + "modelAsString": true, + "values": [ + { + "value": "Pause", + "description": "Indicates that the node should be paused. The value is 1." + }, + { + "value": "Restart", + "description": "Indicates that the intent is for the node to be restarted after a short period of time. The value is 2." + }, + { + "value": "RemoveData", + "description": "Indicates the intent is for the node to remove data. The value is 3." + } + ] + } + } + } + }, + "DeltaNodesCheckHealthEvaluation": { + "x-ms-discriminator-value": "DeltaNodesCheck", + "description": "Represents health evaluation for delta nodes, containing health evaluations for each unhealthy node that impacted current aggregated health state.\nCan be returned during cluster upgrade when the aggregated health state of the cluster is Warning or Error.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "BaselineErrorCount": { + "type": "integer", + "format": "int64", + "description": "Number of nodes with aggregated heath state Error in the health store at the beginning of the cluster upgrade." + }, + "BaselineTotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes in the health store at the beginning of the cluster upgrade." + }, + "MaxPercentDeltaUnhealthyNodes": { + "type": "integer", + "description": "Maximum allowed percentage of delta unhealthy nodes from the ClusterUpgradeHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes in the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state.\nIncludes all the unhealthy NodeHealthEvaluation that impacted the aggregated health." + } + } + }, + "DeployedApplicationHealth": { + "description": "Information about the health of an application deployed on a Service Fabric node.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealth" + } + ], + "properties": { + "Name": { + "$ref": "#/definitions/ApplicationName", + "description": "Name of the application deployed on the node whose health information is described by this object." + }, + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "Name of the node where this application is deployed." + }, + "DeployedServicePackageHealthStates": { + "$ref": "#/definitions/DeployedServicePackageHealthStateList", + "description": "Deployed service package health states for the current deployed application as found in the health store." + } + } + }, + "DeployedApplicationHealthEvaluation": { + "x-ms-discriminator-value": "DeployedApplication", + "description": "Represents health evaluation for a deployed application, containing information about the data and the algorithm used by the health store to evaluate health.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "Name of the node where the application is deployed to." + }, + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the current aggregated health state of the deployed application.\nThe types of the unhealthy evaluations can be DeployedServicePackagesHealthEvaluation or EventHealthEvaluation." + } + } + }, + "DeployedApplicationHealthState": { + "description": "Represents the health state of a deployed application, which contains the entity identifier and the aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthState" + } + ], + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "Name of the node on which the service package is deployed." + }, + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + } + } + }, + "DeployedApplicationHealthStateChunk": { + "description": "Represents the health state chunk of a deployed application, which contains the node where the application is deployed, the aggregated health state and any deployed service packages that respect the chunk query description filters.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthStateChunk" + } + ], + "properties": { + "NodeName": { + "type": "string", + "description": "The name of node where the application is deployed." + }, + "DeployedServicePackageHealthStateChunks": { + "$ref": "#/definitions/DeployedServicePackageHealthStateChunkList", + "description": "The list of deployed service package health state chunks belonging to the deployed application that respect the filters in the cluster health chunk query description." + } + } + }, + "DeployedApplicationHealthStateChunkList": { + "description": "The list of deployed application health state chunks that respect the input filters in the chunk query. Returned by get cluster health state chunks query.", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedApplicationHealthStateChunk" + }, + "description": "The list of deployed application health state chunks that respect the input filters in the chunk query." + } + } + }, + "DeployedApplicationHealthStateFilter": { + "description": "Defines matching criteria to determine whether a deployed application should be included as a child of an application in the cluster health chunk.\nThe deployed applications are only returned if the parent application matches a filter specified in the cluster health chunk query description.\nOne filter can match zero, one or multiple deployed applications, depending on its properties.", + "properties": { + "NodeNameFilter": { + "type": "string", + "description": "The name of the node where the application is deployed in order to match the filter.\nIf specified, the filter is applied only to the application deployed on the specified node.\nIf the application is not deployed on the node with the specified name, no deployed application is returned in the cluster health chunk based on this filter.\nOtherwise, the deployed application is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all deployed applications that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter." + }, + "HealthStateFilter": { + "type": "integer", + "default": 0, + "description": "The filter for the health state of the deployed applications. It allows selecting deployed applications if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only deployed applications that match the filter are returned. All deployed applications are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the node name is specified. If the filter has default value and node name is specified, the matching deployed application is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches deployed applications with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535." + }, + "DeployedServicePackageFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedServicePackageHealthStateFilter" + }, + "description": "Defines a list of filters that specify which deployed service packages to be included in the returned cluster health chunk as children of the parent deployed application. The deployed service packages are returned only if the parent deployed application matches a filter.\nIf the list is empty, no deployed service packages are returned. All the deployed service packages are used to evaluate the parent deployed application aggregated health state, regardless of the input filters.\nThe deployed application filter may specify multiple deployed service package filters.\nFor example, it can specify a filter to return all deployed service packages with health state Error and another filter to always include a deployed service package on a node." + } + } + }, + "DeployedApplicationInfo": { + "description": "Information about application deployed on the node.", + "properties": { + "Id": { + "$ref": "#/definitions/ApplicationId", + "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions." + }, + "Name": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "TypeName": { + "$ref": "#/definitions/ApplicationTypeName", + "description": "The application type name as defined in the application manifest." + }, + "TypeVersion": { + "$ref": "#/definitions/ApplicationTypeVersion", + "description": "The version of the application type as defined in the application manifest." + }, + "Status": { + "$ref": "#/definitions/DeployedApplicationStatus", + "description": "The status of the application deployed on the node. Following are the possible values." + }, + "WorkDirectory": { + "type": "string", + "description": "The work directory of the application on the node. The work directory can be used to store application data." + }, + "LogDirectory": { + "type": "string", + "description": "The log directory of the application on the node. The log directory can be used to store application logs." + }, + "TempDirectory": { + "type": "string", + "description": "The temp directory of the application on the node. The code packages belonging to the application are forked with this directory set as their temporary directory." + }, + "HealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + } + } + }, + "DeployedApplicationInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedApplicationInfo" + }, + "description": "List of deployed application information." + }, + "DeployedApplicationsHealthEvaluation": { + "x-ms-discriminator-value": "DeployedApplications", + "description": "Represents health evaluation for deployed applications, containing health evaluations for each unhealthy deployed application that impacted current aggregated health state.\nCan be returned when evaluating application health and the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "MaxPercentUnhealthyDeployedApplications": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy deployed applications from the ApplicationHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of deployed applications of the application in the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy DeployedApplicationHealthEvaluation that impacted the aggregated health." + } + } + }, + "DeployedApplicationStatus": { + "type": "string", + "description": "The status of the application deployed on the node. Following are the possible values.", + "enum": [ + "Invalid", + "Downloading", + "Activating", + "Active", + "Upgrading", + "Deactivating" + ], + "x-ms-enum": { + "name": "DeployedApplicationStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that deployment status is not valid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Downloading", + "description": "Indicates that the package is downloading from the ImageStore. The value is 1." + }, + { + "value": "Activating", + "description": "Indicates that the package is activating. The value is 2." + }, + { + "value": "Active", + "description": "Indicates that the package is active. The value is 3." + }, + { + "value": "Upgrading", + "description": "Indicates that the package is upgrading. The value is 4." + }, + { + "value": "Deactivating", + "description": "Indicates that the package is deactivating. The value is 5." + } + ] + } + }, + "DeployedServicePackageHealth": { + "description": "Information about the health of a service package for a specific application deployed on a Service Fabric node.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealth" + } + ], + "properties": { + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "Name of the service manifest." + }, + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "Name of the node where this service package is deployed." + } + } + }, + "DeployedServicePackageHealthEvaluation": { + "x-ms-discriminator-value": "DeployedServicePackage", + "description": "Represents health evaluation for a deployed service package, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "The name of the service manifest." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the current aggregated health state. The type of the unhealthy evaluations can be EventHealthEvaluation." + } + } + }, + "DeployedServicePackageHealthState": { + "description": "Represents the health state of a deployed service package, containing the entity identifier and the aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthState" + } + ], + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "Name of the node on which the service package is deployed." + }, + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "Name of the manifest describing the service package." + }, + "ServicePackageActivationId": { + "$ref": "#/definitions/ServicePackageActivationId", + "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string." + } + } + }, + "DeployedServicePackageHealthStateChunk": { + "description": "Represents the health state chunk of a deployed service package, which contains the service manifest name and the service package aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthStateChunk" + } + ], + "properties": { + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "The name of the service manifest." + }, + "ServicePackageActivationId": { + "$ref": "#/definitions/ServicePackageActivationId", + "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string." + } + } + }, + "DeployedServicePackageHealthStateChunkList": { + "description": "The list of deployed service package health state chunks that respect the input filters in the chunk query. Returned by get cluster health state chunks query.", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedServicePackageHealthStateChunk" + }, + "description": "The list of deployed service package health state chunks that respect the input filters in the chunk query." + } + } + }, + "DeployedServicePackageHealthStateFilter": { + "description": "Defines matching criteria to determine whether a deployed service package should be included as a child of a deployed application in the cluster health chunk.\nThe deployed service packages are only returned if the parent entities match a filter specified in the cluster health chunk query description. The parent deployed application and its parent application must be included in the cluster health chunk.\nOne filter can match zero, one or multiple deployed service packages, depending on its properties.", + "properties": { + "ServiceManifestNameFilter": { + "type": "string", + "description": "The name of the service manifest which identifies the deployed service packages that matches the filter.\nIf specified, the filter is applied only to the specified deployed service packages, if any.\nIf no deployed service packages with specified manifest name exist, nothing is returned in the cluster health chunk based on this filter.\nIf any deployed service package exists, they are included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all deployed service packages that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter." + }, + "ServicePackageActivationIdFilter": { + "type": "string", + "description": "The activation ID of a deployed service package that matches the filter.\nIf not specified, the filter applies to all deployed service packages that match the other parameters.\nIf specified, the filter matches only the deployed service package with the specified activation ID." + }, + "HealthStateFilter": { + "type": "integer", + "default": 0, + "description": "The filter for the health state of the deployed service packages. It allows selecting deployed service packages if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only deployed service packages that match the filter are returned. All deployed service packages are used to evaluate the parent deployed application aggregated health state.\nIf not specified, default value is None, unless the deployed service package ID is specified. If the filter has default value and deployed service package ID is specified, the matching deployed service package is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches deployed service packages with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535." + } + } + }, + "DeployedServicePackageHealthStateList": { + "description": "List of health states for a service package deployed on a Service Fabric node.", + "type": "array", + "items": { + "$ref": "#/definitions/DeployedServicePackageHealthState" + } + }, + "DeployedServicePackagesHealthEvaluation": { + "x-ms-discriminator-value": "DeployedServicePackages", + "description": "Represents health evaluation for deployed service packages, containing health evaluations for each unhealthy deployed service package that impacted current aggregated health state. Can be returned when evaluating deployed application health and the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of deployed service packages of the deployed application in the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy DeployedServicePackageHealthEvaluation that impacted the aggregated health." + } + } + }, + "DeployedServiceReplicaInfo": { + "discriminator": "ServiceKind", + "description": "Information about a Service Fabric service replica deployed on a node.", + "required": [ + "ServiceKind" + ], + "properties": { + "ServiceKind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of service (Stateless or Stateful)." + }, + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + }, + "ServiceTypeName": { + "$ref": "#/definitions/ServiceTypeName", + "description": "Name of the service type as specified in the service manifest." + }, + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "The name of the service manifest in which this service type is defined." + }, + "CodePackageName": { + "$ref": "#/definitions/CodePackageName", + "description": "The name of the code package that hosts this replica." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different." + }, + "ReplicaStatus": { + "$ref": "#/definitions/ReplicaStatus", + "description": "The status of a replica of a service." + }, + "Address": { + "type": "string", + "description": "The last address returned by the replica in Open or ChangeRole." + }, + "ServicePackageActivationId": { + "$ref": "#/definitions/ServicePackageActivationId", + "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string." + }, + "HostProcessId": { + "type": "string", + "description": "Host process ID of the process that is hosting the replica. This will be zero if the replica is down. In hyper-v containers this host process ID will be from different kernel." + } + } + }, + "DeployedServiceReplicaInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedServiceReplicaInfo" + }, + "description": "List of deployed service replica information." + }, + "DeployedStatefulServiceReplicaInfo": { + "description": "Information about a stateful service replica deployed on a node.", + "x-ms-discriminator-value": "Stateful", + "allOf": [ + { + "$ref": "#/definitions/DeployedServiceReplicaInfo" + } + ], + "properties": { + "ReplicaId": { + "$ref": "#/definitions/ReplicaId", + "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id." + }, + "ReplicaRole": { + "$ref": "#/definitions/ReplicaRole", + "description": "The role of a replica of a stateful service." + }, + "ReconfigurationInformation": { + "$ref": "#/definitions/ReconfigurationInformation", + "description": "Information about current reconfiguration like phase, type, previous configuration role of replica and reconfiguration start date time." + } + } + }, + "DeployedStatelessServiceInstanceInfo": { + "description": "Information about a stateless service instance deployed on a node.", + "x-ms-discriminator-value": "Stateless", + "allOf": [ + { + "$ref": "#/definitions/DeployedServiceReplicaInfo" + } + ], + "properties": { + "InstanceId": { + "$ref": "#/definitions/InstanceId", + "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId." + } + } + }, + "EntityHealth": { + "description": "Health information common to all entities in the cluster. It contains the aggregated health state, health events and unhealthy evaluation.", + "properties": { + "AggregatedHealthState": { + "$ref": "#/definitions/HealthState", + "description": "The HealthState representing the aggregated health state of the entity computed by Health Manager.\nThe health evaluation of the entity reflects all events reported on the entity and its children (if any).\nThe aggregation is done by applying the desired health policy." + }, + "HealthEvents": { + "type": "array", + "items": { + "$ref": "#/definitions/HealthEvent" + }, + "description": "The list of health events reported on the entity." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager." + }, + "HealthStatistics": { + "$ref": "#/definitions/HealthStatistics", + "description": "Shows the health statistics for all children types of the queried entity." + } + } + }, + "EntityHealthState": { + "description": "A base type for the health state of various entities in the cluster. It contains the aggregated health state.", + "properties": { + "AggregatedHealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + } + } + }, + "EntityHealthStateChunk": { + "description": "A base type for the health state chunk of various entities in the cluster. It contains the aggregated health state.", + "properties": { + "HealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + } + } + }, + "EntityHealthStateChunkList": { + "description": "A base type for the list of health state chunks found in the cluster. It contains the total number of health states that match the input filters.", + "properties": { + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of entity health state objects that match the specified filters from the cluster health chunk query description." + } + } + }, + "Epoch": { + "description": "An Epoch is a configuration number for the partition as a whole. When the configuration of the replica set changes, for example when the Primary replica changes, the operations that are replicated from the new Primary replica are said to be a new Epoch from the ones which were sent by the old Primary replica.", + "properties": { + "ConfigurationVersion": { + "type": "string", + "description": "The current configuration number of this Epoch. The configuration number is an increasing value that is updated whenever the configuration of this replica set changes." + }, + "DataLossVersion": { + "type": "string", + "description": "The current data loss number of this Epoch. The data loss number property is an increasing value which is updated whenever data loss is suspected, as when loss of a quorum of replicas in the replica set that includes the Primary replica." + } + } + }, + "EventHealthEvaluation": { + "x-ms-discriminator-value": "Event", + "description": "Represents health evaluation of a HealthEvent that was reported on the entity.\nThe health evaluation is returned when evaluating health of an entity results in Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "ConsiderWarningAsError": { + "type": "boolean", + "description": "Indicates whether warnings are treated with the same severity as errors. The field is specified in the health policy used to evaluate the entity." + }, + "UnhealthyEvent": { + "$ref": "#/definitions/HealthEvent", + "description": "Represents health information reported on a health entity, such as cluster, application or node, with additional metadata added by the Health Manager." + } + } + }, + "EventList": { + "description": "A list of FabricEvent objects.", + "type": "array", + "items": { + "$ref": "#/definitions/FabricEvent" + } + }, + "FabricCodeVersionInfo": { + "description": "Information about a Service Fabric code version.", + "properties": { + "CodeVersion": { + "description": "The product version of Service Fabric.", + "type": "string" + } + } + }, + "FabricCodeVersionInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/FabricCodeVersionInfo" + }, + "description": "List of all Service Fabric code versions." + }, + "FabricConfigVersionInfo": { + "description": "Information about a Service Fabric config version.", + "properties": { + "ConfigVersion": { + "description": "The config version of Service Fabric.", + "type": "string" + } + } + }, + "FabricConfigVersionInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/FabricConfigVersionInfo" + }, + "description": "List of all Service Fabric config versions." + }, + "FabricEvent": { + "discriminator": "Kind", + "description": "Represents the base for all Fabric Events.", + "properties": { + "Kind": { + "$ref": "#/definitions/FabricEventKind", + "description": "The kind of FabricEvent." + }, + "EventInstanceId": { + "type": "string", + "format": "uuid", + "description": "The identifier for the FabricEvent instance." + }, + "Category": { + "type": "string", + "description": "The category of event." + }, + "TimeStamp": { + "type": "string", + "format": "date-time", + "description": "The time event was logged." + }, + "HasCorrelatedEvents": { + "type": "boolean", + "description": "Shows there is existing related events available." + } + }, + "required": [ + "Kind", + "EventInstanceId", + "TimeStamp" + ] + }, + "FabricEventKind": { + "type": "string", + "description": "The kind of FabricEvent.", + "enum": [ + "ClusterEvent", + "ContainerInstanceEvent", + "NodeEvent", + "ApplicationEvent", + "ServiceEvent", + "PartitionEvent", + "ReplicaEvent", + "PartitionAnalysisEvent", + "ApplicationCreated", + "ApplicationDeleted", + "ApplicationNewHealthReport", + "ApplicationHealthReportExpired", + "ApplicationUpgradeCompleted", + "ApplicationUpgradeDomainCompleted", + "ApplicationUpgradeRollbackCompleted", + "ApplicationUpgradeRollbackStarted", + "ApplicationUpgradeStarted", + "DeployedApplicationNewHealthReport", + "DeployedApplicationHealthReportExpired", + "ApplicationProcessExited", + "ApplicationContainerInstanceExited", + "NodeAborted", + "NodeAddedToCluster", + "NodeClosed", + "NodeDeactivateCompleted", + "NodeDeactivateStarted", + "NodeDown", + "NodeNewHealthReport", + "NodeHealthReportExpired", + "NodeOpenSucceeded", + "NodeOpenFailed", + "NodeRemovedFromCluster", + "NodeUp", + "PartitionNewHealthReport", + "PartitionHealthReportExpired", + "PartitionReconfigured", + "PartitionPrimaryMoveAnalysis", + "ServiceCreated", + "ServiceDeleted", + "ServiceNewHealthReport", + "ServiceHealthReportExpired", + "DeployedServicePackageNewHealthReport", + "DeployedServicePackageHealthReportExpired", + "StatefulReplicaNewHealthReport", + "StatefulReplicaHealthReportExpired", + "StatelessReplicaNewHealthReport", + "StatelessReplicaHealthReportExpired", + "ClusterNewHealthReport", + "ClusterHealthReportExpired", + "ClusterUpgradeCompleted", + "ClusterUpgradeDomainCompleted", + "ClusterUpgradeRollbackCompleted", + "ClusterUpgradeRollbackStarted", + "ClusterUpgradeStarted", + "ChaosStopped", + "ChaosStarted", + "ChaosCodePackageRestartScheduled", + "ChaosReplicaRemovalScheduled", + "ChaosPartitionSecondaryMoveScheduled", + "ChaosPartitionPrimaryMoveScheduled", + "ChaosReplicaRestartScheduled", + "ChaosNodeRestartScheduled" + ], + "x-ms-enum": { + "name": "FabricEventKind", + "modelAsString": true, + "values": [ + { + "value": "ClusterEvent" + }, + { + "value": "ContainerInstanceEvent" + }, + { + "value": "NodeEvent" + }, + { + "value": "ApplicationEvent" + }, + { + "value": "ServiceEvent" + }, + { + "value": "PartitionEvent" + }, + { + "value": "ReplicaEvent" + }, + { + "value": "PartitionAnalysisEvent" + }, + { + "value": "ApplicationCreated" + }, + { + "value": "ApplicationDeleted" + }, + { + "value": "ApplicationNewHealthReport" + }, + { + "value": "ApplicationHealthReportExpired" + }, + { + "value": "ApplicationUpgradeCompleted" + }, + { + "value": "ApplicationUpgradeDomainCompleted" + }, + { + "value": "ApplicationUpgradeRollbackCompleted" + }, + { + "value": "ApplicationUpgradeRollbackStarted" + }, + { + "value": "ApplicationUpgradeStarted" + }, + { + "value": "DeployedApplicationNewHealthReport" + }, + { + "value": "DeployedApplicationHealthReportExpired" + }, + { + "value": "ApplicationProcessExited" + }, + { + "value": "ApplicationContainerInstanceExited" + }, + { + "value": "NodeAborted" + }, + { + "value": "NodeAddedToCluster" + }, + { + "value": "NodeClosed" + }, + { + "value": "NodeDeactivateCompleted" + }, + { + "value": "NodeDeactivateStarted" + }, + { + "value": "NodeDown" + }, + { + "value": "NodeNewHealthReport" + }, + { + "value": "NodeHealthReportExpired" + }, + { + "value": "NodeOpenSucceeded" + }, + { + "value": "NodeOpenFailed" + }, + { + "value": "NodeRemovedFromCluster" + }, + { + "value": "NodeUp" + }, + { + "value": "PartitionNewHealthReport" + }, + { + "value": "PartitionHealthReportExpired" + }, + { + "value": "PartitionReconfigured" + }, + { + "value": "PartitionPrimaryMoveAnalysis" + }, + { + "value": "ServiceCreated" + }, + { + "value": "ServiceDeleted" + }, + { + "value": "ServiceNewHealthReport" + }, + { + "value": "ServiceHealthReportExpired" + }, + { + "value": "DeployedServicePackageNewHealthReport" + }, + { + "value": "DeployedServicePackageHealthReportExpired" + }, + { + "value": "StatefulReplicaNewHealthReport" + }, + { + "value": "StatefulReplicaHealthReportExpired" + }, + { + "value": "StatelessReplicaNewHealthReport" + }, + { + "value": "StatelessReplicaHealthReportExpired" + }, + { + "value": "ClusterNewHealthReport" + }, + { + "value": "ClusterHealthReportExpired" + }, + { + "value": "ClusterUpgradeCompleted" + }, + { + "value": "ClusterUpgradeDomainCompleted" + }, + { + "value": "ClusterUpgradeRollbackCompleted" + }, + { + "value": "ClusterUpgradeRollbackStarted" + }, + { + "value": "ClusterUpgradeStarted" + }, + { + "value": "ChaosStopped" + }, + { + "value": "ChaosStarted" + }, + { + "value": "ChaosCodePackageRestartScheduled" + }, + { + "value": "ChaosReplicaRemovalScheduled" + }, + { + "value": "ChaosPartitionSecondaryMoveScheduled" + }, + { + "value": "ChaosPartitionPrimaryMoveScheduled" + }, + { + "value": "ChaosReplicaRestartScheduled" + }, + { + "value": "ChaosNodeRestartScheduled" + } + ] + } + }, + "ClusterConfigurationUpgradeStatusInfo": { + "description": "Information about a standalone cluster configuration upgrade status.", + "properties": { + "UpgradeState": { + "$ref": "#/definitions/UpgradeState", + "description": "The state of the upgrade domain." + }, + "ProgressStatus": { + "type": "integer", + "description": "The cluster manifest version." + }, + "ConfigVersion": { + "type": "string", + "description": "The cluster configuration version." + }, + "Details": { + "type": "string", + "description": "The cluster upgrade status details." + } + } + }, + "FailureAction": { + "type": "string", + "description": "The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.\nInvalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.\nManual indicates that the upgrade will switch to UnmonitoredManual upgrade mode.", + "enum": [ + "Invalid", + "Rollback", + "Manual" + ], + "x-ms-enum": { + "name": "FailureAction", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the failure action is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Rollback", + "description": "The upgrade will start rolling back automatically. The value is 1" + }, + { + "value": "Manual", + "description": "The upgrade will switch to UnmonitoredManual upgrade mode. The value is 2" + } + ] + } + }, + "FailureReason": { + "type": "string", + "description": "The cause of an upgrade failure that resulted in FailureAction being executed.", + "enum": [ + "None", + "Interrupted", + "HealthCheck", + "UpgradeDomainTimeout", + "OverallUpgradeTimeout" + ], + "x-ms-enum": { + "name": "FailureReason", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "Indicates the reason is invalid or unknown. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Interrupted", + "description": "There was an external request to roll back the upgrade. The value is 1" + }, + { + "value": "HealthCheck", + "description": "The upgrade failed due to health policy violations. The value is 2" + }, + { + "value": "UpgradeDomainTimeout", + "description": "An upgrade domain took longer than the allowed upgrade domain timeout to process. The value is 3" + }, + { + "value": "OverallUpgradeTimeout", + "description": "The overall upgrade took longer than the allowed upgrade timeout to process. The value is 4" + } + ] + } + }, + "FailureUpgradeDomainProgressInfo": { + "description": "Information about the upgrade domain progress at the time of upgrade failure.", + "properties": { + "DomainName": { + "$ref": "#/definitions/UpgradeDomainName", + "description": "The name of the upgrade domain" + }, + "NodeUpgradeProgressList": { + "$ref": "#/definitions/NodeUpgradeProgressInfoList", + "description": "List of upgrading nodes and their statuses" + } + } + }, + "ForceRestart": { + "type": "boolean", + "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).", + "default": false + }, + "HealthCheckRetryTimeout": { + "type": "string", + "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.", + "default": "PT0H10M0S" + }, + "HealthCheckStableDuration": { + "type": "string", + "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.", + "default": "PT0H2M0S" + }, + "HealthCheckWaitDuration": { + "type": "string", + "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.", + "default": "0" + }, + "HealthEvaluation": { + "discriminator": "Kind", + "description": "Represents a health evaluation which describes the data and the algorithm used by health manager to evaluate the health of an entity.", + "properties": { + "Kind": { + "$ref": "#/definitions/HealthEvaluationKind", + "description": "The health manager in the cluster performs health evaluations in determining the aggregated health state of an entity. This enumeration provides information on the kind of evaluation that was performed. Following are the possible values." + }, + "AggregatedHealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + }, + "Description": { + "type": "string", + "description": "Description of the health evaluation, which represents a summary of the evaluation process." + } + }, + "required": [ + "Kind" + ] + }, + "HealthEvaluationKind": { + "type": "string", + "description": "The health manager in the cluster performs health evaluations in determining the aggregated health state of an entity. This enumeration provides information on the kind of evaluation that was performed. Following are the possible values.", + "enum": [ + "Invalid", + "Event", + "Replicas", + "Partitions", + "DeployedServicePackages", + "DeployedApplications", + "Services", + "Nodes", + "Applications", + "SystemApplication", + "UpgradeDomainDeployedApplications", + "UpgradeDomainNodes", + "Replica", + "Partition", + "DeployedServicePackage", + "DeployedApplication", + "Service", + "Node", + "Application", + "DeltaNodesCheck", + "UpgradeDomainDeltaNodesCheck", + "ApplicationTypeApplications", + "NodeTypeNodes" + ], + "x-ms-enum": { + "name": "HealthEvaluationKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that the health evaluation is invalid. The value is zero." + }, + { + "value": "Event", + "description": "Indicates that the health evaluation is for a health event. The value is 1." + }, + { + "value": "Replicas", + "description": "Indicates that the health evaluation is for the replicas of a partition. The value is 2." + }, + { + "value": "Partitions", + "description": "Indicates that the health evaluation is for the partitions of a service. The value is 3." + }, + { + "value": "DeployedServicePackages", + "description": "Indicates that the health evaluation is for the deployed service packages of a deployed application. The value is 4." + }, + { + "value": "DeployedApplications", + "description": "Indicates that the health evaluation is for the deployed applications of an application. The value is 5." + }, + { + "value": "Services", + "description": "Indicates that the health evaluation is for services of an application. The value is 6." + }, + { + "value": "Nodes", + "description": "Indicates that the health evaluation is for the cluster nodes. The value is 7." + }, + { + "value": "Applications", + "description": "Indicates that the health evaluation is for the cluster applications. The value is 8." + }, + { + "value": "SystemApplication", + "description": "Indicates that the health evaluation is for the system application. The value is 9." + }, + { + "value": "UpgradeDomainDeployedApplications", + "description": "Indicates that the health evaluation is for the deployed applications of an application in an upgrade domain. The value is 10." + }, + { + "value": "UpgradeDomainNodes", + "description": "Indicates that the health evaluation is for the cluster nodes in an upgrade domain. The value is 11." + }, + { + "value": "Replica", + "description": "Indicates that the health evaluation is for a replica. The value is 13." + }, + { + "value": "Partition", + "description": "Indicates that the health evaluation is for a partition. The value is 14." + }, + { + "value": "DeployedServicePackage", + "description": "Indicates that the health evaluation is for a deployed service package. The value is 16." + }, + { + "value": "DeployedApplication", + "description": "Indicates that the health evaluation is for a deployed application. The value is 17." + }, + { + "value": "Service", + "description": "Indicates that the health evaluation is for a service. The value is 15." + }, + { + "value": "Node", + "description": "Indicates that the health evaluation is for a node. The value is 12." + }, + { + "value": "Application", + "description": "Indicates that the health evaluation is for an application. The value is 18." + }, + { + "value": "DeltaNodesCheck", + "description": "Indicates that the health evaluation is for the delta of unhealthy cluster nodes. The value is 19." + }, + { + "value": "UpgradeDomainDeltaNodesCheck", + "description": "Indicates that the health evaluation is for the delta of unhealthy upgrade domain cluster nodes. The value is 20." + }, + { + "value": "ApplicationTypeApplications", + "description": "– Indicates that the health evaluation is for applications of an application type. The value is 21." + }, + { + "value": "NodeTypeNodes", + "description": "– Indicates that the health evaluation is for nodes of a node type. The value is 22." + } + ] + } + }, + "HealthEvaluationWrapper": { + "description": "Wrapper object for health evaluation.", + "properties": { + "HealthEvaluation": { + "$ref": "#/definitions/HealthEvaluation", + "description": "Represents a health evaluation which describes the data and the algorithm used by health manager to evaluate the health of an entity." + } + } + }, + "HealthEvent": { + "description": "Represents health information reported on a health entity, such as cluster, application or node, with additional metadata added by the Health Manager.", + "allOf": [ + { + "$ref": "#/definitions/HealthInformation" + } + ], + "properties": { + "IsExpired": { + "type": "boolean", + "description": "Returns true if the health event is expired, otherwise false." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The date and time when the health report was sent by the source." + }, + "LastModifiedUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The date and time when the health report was last modified by the health store." + }, + "LastOkTransitionAt": { + "type": "string", + "format": "date-time", + "description": "If the current health state is 'Ok', this property returns the time at which the health report was first reported with 'Ok'.\nFor periodic reporting, many reports with the same state may have been generated.\nThis property returns the date and time when the first 'Ok' health report was received.\n\nIf the current health state is 'Error' or 'Warning', returns the date and time at which the health state was last in 'Ok', before transitioning to a different state.\n\nIf the health state was never 'Ok', the value will be zero date-time." + }, + "LastWarningTransitionAt": { + "type": "string", + "format": "date-time", + "description": "If the current health state is 'Warning', this property returns the time at which the health report was first reported with 'Warning'. For periodic reporting, many reports with the same state may have been generated however, this property returns only the date and time at the first 'Warning' health report was received.\n\nIf the current health state is 'Ok' or 'Error', returns the date and time at which the health state was last in 'Warning', before transitioning to a different state.\n\nIf the health state was never 'Warning', the value will be zero date-time." + }, + "LastErrorTransitionAt": { + "type": "string", + "format": "date-time", + "description": "If the current health state is 'Error', this property returns the time at which the health report was first reported with 'Error'. For periodic reporting, many reports with the same state may have been generated however, this property returns only the date and time at the first 'Error' health report was received.\n\nIf the current health state is 'Ok' or 'Warning', returns the date and time at which the health state was last in 'Error', before transitioning to a different state.\n\nIf the health state was never 'Error', the value will be zero date-time." + } + } + }, + "HealthInformation": { + "description": "Represents common health report information. It is included in all health reports sent to health store and in all health events returned by health queries.", + "required": [ + "SourceId", + "Property", + "HealthState" + ], + "properties": { + "SourceId": { + "type": "string", + "description": "The source name that identifies the client/watchdog/system component that generated the health information." + }, + "Property": { + "type": "string", + "description": "The property of the health information. An entity can have health reports for different properties.\nThe property is a string and not a fixed enumeration to allow the reporter flexibility to categorize the state condition that triggers the report.\nFor example, a reporter with SourceId \"LocalWatchdog\" can monitor the state of the available disk on a node,\nso it can report \"AvailableDisk\" property on that node.\nThe same reporter can monitor the node connectivity, so it can report a property \"Connectivity\" on the same node.\nIn the health store, these reports are treated as separate health events for the specified node.\n\nTogether with the SourceId, the property uniquely identifies the health information." + }, + "HealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + }, + "TimeToLiveInMilliSeconds": { + "type": "string", + "format": "duration", + "description": "The duration for which this health report is valid. This field uses ISO8601 format for specifying the duration.\nWhen clients report periodically, they should send reports with higher frequency than time to live.\nIf clients report on transition, they can set the time to live to infinite.\nWhen time to live expires, the health event that contains the health information\nis either removed from health store, if RemoveWhenExpired is true, or evaluated at error, if RemoveWhenExpired false.\n\nIf not specified, time to live defaults to infinite value." + }, + "Description": { + "type": "string", + "description": "The description of the health information. It represents free text used to add human readable information about the report.\nThe maximum string length for the description is 4096 characters.\nIf the provided string is longer, it will be automatically truncated.\nWhen truncated, the last characters of the description contain a marker \"[Truncated]\", and total string size is 4096 characters.\nThe presence of the marker indicates to users that truncation occurred.\nNote that when truncated, the description has less than 4096 characters from the original string." + }, + "SequenceNumber": { + "type": "string", + "description": "The sequence number for this health report as a numeric string.\nThe report sequence number is used by the health store to detect stale reports.\nIf not specified, a sequence number is auto-generated by the health client when a report is added." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Value that indicates whether the report is removed from health store when it expires.\nIf set to true, the report is removed from the health store after it expires.\nIf set to false, the report is treated as an error when expired. The value of this property is false by default.\nWhen clients report periodically, they should set RemoveWhenExpired false (default).\nThis way, if the reporter has issues (e.g. deadlock) and can't report, the entity is evaluated at error when the health report expires.\nThis flags the entity as being in Error health state." + }, + "HealthReportId": { + "type": "string", + "description": "A health report ID which identifies the health report and can be used to find more detailed information about a specific health event at\naka.ms/sfhealthid" + } + } + }, + "Int64RangePartitionInformation": { + "description": "Describes the partition information for the integer range that is based on partition schemes.", + "allOf": [ + { + "$ref": "#/definitions/PartitionInformation" + } + ], + "x-ms-discriminator-value": "Int64Range", + "properties": { + "LowKey": { + "type": "string", + "description": "Specifies the minimum key value handled by this partition." + }, + "HighKey": { + "type": "string", + "description": "Specifies the maximum key value handled by this partition." + } + } + }, + "LoadedPartitionInformationResult": { + "description": "Represents partition information.", + "properties": { + "ServiceName": { + "type": "string", + "description": "Name of the service this partition belongs to." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "Id of the partition." + }, + "MetricName": { + "type": "string", + "description": "Name of the metric for which this information is provided." + }, + "Load": { + "type": "integer", + "format": "int64", + "description": "Load for metric." + } + }, + "required": [ + "ServiceName", + "PartitionId", + "MetricName", + "Load" + ] + }, + "LoadedPartitionInformationResultList": { + "description": "Represents data structure that contains top/least loaded partitions for a certain metric.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of application information.", + "items": { + "$ref": "#/definitions/LoadedPartitionInformationResult" + } + } + } + }, + "LoadedPartitionInformationQueryDescription": { + "description": "Represents data structure that contains query information.", + "properties": { + "MetricName": { + "type": "string", + "description": "Name of the metric for which this information is provided." + }, + "ServiceName": { + "type": "string", + "description": "Name of the service this partition belongs to." + }, + "Ordering": { + "type": "string", + "description": "Ordering of partitions' load.", + "$ref": "#/definitions/Ordering" + }, + "MaxResults": { + "type": "integer", + "format": "int64", + "description": "The maximum number of results to be returned as part of the paged queries. This parameter defines the upper bound on the number of results returned. The results returned can be less than the specified maximum results if they do not fit in the message as per the max message size restrictions defined in the configuration. If this parameter is zero or not specified, the paged query includes as many results as possible that fit in the return message." + }, + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + } + } + }, + "MinInstanceCount": { + "type": "integer", + "default": 1, + "minimum": 1, + "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + }, + "MinInstancePercentage": { + "type": "integer", + "default": 0, + "minimum": 0, + "maximum": 100, + "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + }, + "MonitoringPolicyDescription": { + "description": "Describes the parameters for monitoring an upgrade in Monitored mode.", + "properties": { + "FailureAction": { + "$ref": "#/definitions/FailureAction", + "description": "The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.\nInvalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.\nManual indicates that the upgrade will switch to UnmonitoredManual upgrade mode." + }, + "HealthCheckWaitDurationInMilliseconds": { + "$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." + }, + "HealthCheckStableDurationInMilliseconds": { + "$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." + }, + "HealthCheckRetryTimeoutInMilliseconds": { + "$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." + }, + "UpgradeTimeoutInMilliseconds": { + "$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." + }, + "UpgradeDomainTimeoutInMilliseconds": { + "$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." + } + } + }, + "NamedPartitionInformation": { + "description": "Describes the partition information for the name as a string that is based on partition schemes.", + "allOf": [ + { + "$ref": "#/definitions/PartitionInformation" + } + ], + "x-ms-discriminator-value": "Named", + "properties": { + "Name": { + "type": "string", + "description": "Name of the partition." + } + } + }, + "NextUpgradeDomain": { + "type": "string", + "description": "The name of the next upgrade domain to be processed. Not applicable to node-by-node upgrades." + }, + "NodeDeactivationInfo": { + "description": "Information about the node deactivation. This information is valid for a node that is undergoing deactivation or has already been deactivated.", + "properties": { + "NodeDeactivationIntent": { + "$ref": "#/definitions/NodeDeactivationIntent", + "description": "The intent or the reason for deactivating the node. Following are the possible values for it." + }, + "NodeDeactivationStatus": { + "$ref": "#/definitions/NodeDeactivationStatus", + "description": "The status of node deactivation operation. Following are the possible values." + }, + "NodeDeactivationTask": { + "$ref": "#/definitions/NodeDeactivationTaskList", + "description": "List of tasks representing the deactivation operation on the node." + }, + "PendingSafetyChecks": { + "$ref": "#/definitions/SafetyCheckInfoList", + "description": "List of pending safety checks" + } + } + }, + "NodeDeactivationIntent": { + "type": "string", + "description": "The intent or the reason for deactivating the node. Following are the possible values for it.", + "enum": [ + "Invalid", + "Pause", + "Restart", + "RemoveData", + "RemoveNode" + ], + "x-ms-enum": { + "name": "NodeDeactivationIntent", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the node deactivation intent is invalid. All Service Fabric enumerations have the invalid type. The value is zero. This value is not used." + }, + { + "value": "Pause", + "description": "Indicates that the node should be paused. The value is 1." + }, + { + "value": "Restart", + "description": "Indicates that the intent is for the node to be restarted after a short period of time. Service Fabric does not restart the node, this action is done outside of Service Fabric. The value is 2." + }, + { + "value": "RemoveData", + "description": "Indicates that the intent is to reimage the node. Service Fabric does not reimage the node, this action is done outside of Service Fabric. The value is 3." + }, + { + "value": "RemoveNode", + "description": "Indicates that the node is being decommissioned and is not expected to return. Service Fabric does not decommission the node, this action is done outside of Service Fabric. The value is 4." + } + ] + } + }, + "NodeDeactivationStatus": { + "type": "string", + "description": "The status of node deactivation operation. Following are the possible values.", + "enum": [ + "None", + "SafetyCheckInProgress", + "SafetyCheckComplete", + "Completed" + ], + "x-ms-enum": { + "name": "NodeDeactivationStatus", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "No status is associated with the task. The value is zero." + }, + { + "value": "SafetyCheckInProgress", + "description": "When a node is deactivated Service Fabric performs checks to ensure that the operation is safe to proceed to ensure availability of the service and reliability of the state. This value indicates that one or more safety checks are in progress. The value is 1." + }, + { + "value": "SafetyCheckComplete", + "description": "When a node is deactivated Service Fabric performs checks to ensure that the operation is safe to proceed to ensure availability of the service and reliability of the state. This value indicates that all safety checks have been completed. The value is 2." + }, + { + "value": "Completed", + "description": "The task is completed. The value is 3." + } + ] + } + }, + "NodeDeactivationTask": { + "description": "The task representing the deactivation operation on the node.", + "properties": { + "NodeDeactivationTaskId": { + "$ref": "#/definitions/NodeDeactivationTaskId", + "description": "Identity of the task related to deactivation operation on the node." + }, + "NodeDeactivationIntent": { + "$ref": "#/definitions/NodeDeactivationIntent", + "description": "The intent or the reason for deactivating the node. Following are the possible values for it." + } + } + }, + "NodeDeactivationTaskId": { + "description": "Identity of the task related to deactivation operation on the node.", + "properties": { + "Id": { + "type": "string", + "description": "Value of the task id." + }, + "NodeDeactivationTaskType": { + "$ref": "#/definitions/NodeDeactivationTaskType", + "description": "The type of the task that performed the node deactivation. Following are the possible values." + } + } + }, + "NodeDeactivationTaskList": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeDeactivationTask" + }, + "description": "List of tasks representing the deactivation operation on the node." + }, + "NodeDeactivationTaskType": { + "type": "string", + "description": "The type of the task that performed the node deactivation. Following are the possible values.", + "enum": [ + "Invalid", + "Infrastructure", + "Repair", + "Client" + ], + "x-ms-enum": { + "name": "NodeDeactivationTaskType", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the node deactivation task type is invalid. All Service Fabric enumerations have the invalid type. The value is zero. This value is not used." + }, + { + "value": "Infrastructure", + "description": "Specifies the task created by Infrastructure hosting the nodes. The value is 1." + }, + { + "value": "Repair", + "description": "Specifies the task that was created by the Repair Manager service. The value is 2." + }, + { + "value": "Client", + "description": "Specifies that the task was created by using the public API. The value is 3." + } + ] + } + }, + "NodeEvent": { + "description": "Represents the base for all Node Events.", + "allOf": [ + { + "$ref": "#/definitions/FabricEvent" + } + ], + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + } + }, + "required": [ + "NodeName" + ], + "x-ms-discriminator-value": "NodeEvent" + }, + "NodeEventList": { + "description": "A list of NodeEvent objects.", + "type": "array", + "items": { + "$ref": "#/definitions/NodeEvent" + } + }, + "NodeHealth": { + "description": "Information about the health of a Service Fabric node.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealth" + } + ], + "properties": { + "Name": { + "$ref": "#/definitions/NodeName", + "description": "Name of the node whose health information is described by this object." + } + } + }, + "NodeHealthEvaluation": { + "x-ms-discriminator-value": "Node", + "description": "Represents health evaluation for a node, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the current aggregated health state of the node. The types of the unhealthy evaluations can be EventHealthEvaluation." + } + } + }, + "NodeHealthState": { + "description": "Represents the health state of a node, which contains the node identifier and its aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthState" + } + ], + "properties": { + "Name": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "Id": { + "$ref": "#/definitions/NodeId", + "description": "An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name." + } + } + }, + "NodeHealthStateChunk": { + "description": "Represents the health state chunk of a node, which contains the node name and its aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthStateChunk" + } + ], + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + } + } + }, + "NodeHealthStateChunkList": { + "description": "The list of node health state chunks in the cluster that respect the input filters in the chunk query. Returned by get cluster health state chunks query.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthStateChunkList" + } + ], + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeHealthStateChunk" + }, + "description": "The list of node health state chunks that respect the input filters in the chunk query." + } + } + }, + "NodeHealthStateFilter": { + "description": "Defines matching criteria to determine whether a node should be included in the returned cluster health chunk.\nOne filter can match zero, one or multiple nodes, depending on its properties.\nCan be specified in the cluster health chunk query description.", + "properties": { + "NodeNameFilter": { + "type": "string", + "description": "Name of the node that matches the filter. The filter is applied only to the specified node, if it exists.\nIf the node doesn't exist, no node is returned in the cluster health chunk based on this filter.\nIf the node exists, it is included in the cluster health chunk if the health state matches the other filter properties.\nIf not specified, all nodes that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter." + }, + "HealthStateFilter": { + "type": "integer", + "default": 0, + "description": "The filter for the health state of the nodes. It allows selecting nodes if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only nodes that match the filter are returned. All nodes are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the node name is specified. If the filter has default value and node name is specified, the matching node is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches nodes with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535." + } + } + }, + "NodeId": { + "description": "An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name.", + "properties": { + "Id": { + "type": "string", + "description": "Value of the node Id. This is a 128 bit integer." + } + } + }, + "NodeIdList": { + "description": "A list of NodeIds.", + "type": "array", + "items": { + "$ref": "#/definitions/NodeId" + } + }, + "NodeInfo": { + "description": "Information about a node in Service Fabric cluster.", + "properties": { + "Name": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "IpAddressOrFQDN": { + "type": "string", + "description": "The IP address or fully qualified domain name of the node." + }, + "Type": { + "type": "string", + "description": "The type of the node." + }, + "CodeVersion": { + "type": "string", + "description": "The version of Service Fabric binaries that the node is running." + }, + "ConfigVersion": { + "type": "string", + "description": "The version of Service Fabric cluster manifest that the node is using." + }, + "NodeStatus": { + "$ref": "#/definitions/NodeStatus", + "description": "The status of the node." + }, + "NodeUpTimeInSeconds": { + "type": "string", + "description": "Time in seconds since the node has been in NodeStatus Up. Value zero indicates that the node is not Up." + }, + "HealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + }, + "IsSeedNode": { + "type": "boolean", + "description": "Indicates if the node is a seed node or not. Returns true if the node is a seed node, otherwise false. A quorum of seed nodes are required for proper operation of Service Fabric cluster." + }, + "UpgradeDomain": { + "type": "string", + "description": "The upgrade domain of the node." + }, + "FaultDomain": { + "type": "string", + "description": "The fault domain of the node." + }, + "Id": { + "$ref": "#/definitions/NodeId", + "description": "An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name." + }, + "InstanceId": { + "type": "string", + "description": "The ID representing the node instance. While the ID of the node is deterministically generated from the node name and remains same across restarts, the InstanceId changes every time node restarts." + }, + "NodeDeactivationInfo": { + "$ref": "#/definitions/NodeDeactivationInfo", + "description": "Information about the node deactivation. This information is valid for a node that is undergoing deactivation or has already been deactivated." + }, + "IsStopped": { + "type": "boolean", + "description": "Indicates if the node is stopped by calling stop node API or not. Returns true if the node is stopped, otherwise false." + }, + "NodeDownTimeInSeconds": { + "type": "string", + "description": "Time in seconds since the node has been in NodeStatus Down. Value zero indicates node is not NodeStatus Down." + }, + "NodeUpAt": { + "type": "string", + "format": "date-time", + "description": "Date time in UTC when the node came up. If the node has never been up then this value will be zero date time." + }, + "NodeDownAt": { + "type": "string", + "format": "date-time", + "description": "Date time in UTC when the node went down. If node has never been down then this value will be zero date time." + }, + "NodeTags": { + "$ref": "#/definitions/NodeTagsList", + "description": "List that contains tags, which will be applied to the nodes." + }, + "IsNodeByNodeUpgradeInProgress": { + "type": "boolean", + "description": "Indicates if a node-by-node upgrade is currently being performed on this node." + }, + "InfrastructurePlacementID": { + "type": "string", + "description": "PlacementID used by the InfrastructureService." + } + } + }, + "NodeLoadInfo": { + "description": "Information about load on a Service Fabric node. It holds a summary of all metrics and their load on a node.", + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "Name of the node for which the load information is provided by this object." + }, + "NodeLoadMetricInformation": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeLoadMetricInformation" + }, + "description": "List that contains metrics and their load information on this node." + } + } + }, + "NodeLoadMetricInformation": { + "description": "Represents data structure that contains load information for a certain metric on a node.", + "properties": { + "Name": { + "type": "string", + "description": "Name of the metric for which this load information is provided." + }, + "NodeCapacity": { + "type": "string", + "description": "Total capacity on the node for this metric." + }, + "NodeLoad": { + "type": "string", + "description": "Current load on the node for this metric. In future releases of Service Fabric this parameter will be deprecated in favor of CurrentNodeLoad." + }, + "NodeRemainingCapacity": { + "type": "string", + "description": "The remaining capacity on the node for this metric. In future releases of Service Fabric this parameter will be deprecated in favor of NodeCapacityRemaining." + }, + "IsCapacityViolation": { + "type": "boolean", + "description": "Indicates if there is a capacity violation for this metric on the node." + }, + "NodeBufferedCapacity": { + "type": "string", + "description": "The value that indicates the reserved capacity for this metric on the node." + }, + "NodeRemainingBufferedCapacity": { + "type": "string", + "description": "The remaining reserved capacity for this metric on the node. In future releases of Service Fabric this parameter will be deprecated in favor of BufferedNodeCapacityRemaining." + }, + "CurrentNodeLoad": { + "type": "string", + "format": "double", + "description": "Current load on the node for this metric." + }, + "NodeCapacityRemaining": { + "type": "string", + "format": "double", + "description": "The remaining capacity on the node for the metric." + }, + "BufferedNodeCapacityRemaining": { + "type": "string", + "format": "double", + "description": "The remaining capacity which is not reserved by NodeBufferPercentage for this metric on the node." + }, + "PlannedNodeLoadRemoval": { + "type": "string", + "format": "double", + "description": "This value represents the load of the replicas that are planned to be removed in the future.\nThis kind of load is reported for replicas that are currently being moving to other nodes and for replicas that are currently being dropped but still use the load on the source node." + } + } + }, + "NodeName": { + "type": "string", + "description": "The name of a Service Fabric node." + }, + "NodeType": { + "type": "string", + "description": "The type name of a Service Fabric node.\nRefer to the article [The relationship between Service Fabric node types and Virtual Machine Scale Sets](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-nodetypes) for more details." + }, + "NodeTypeName": { + "type": "string", + "description": "The node type name as defined in the cluster manifest." + }, + "NodesHealthEvaluation": { + "x-ms-discriminator-value": "Nodes", + "description": "Represents health evaluation for nodes, containing health evaluations for each unhealthy node that impacted current aggregated health state. Can be returned when evaluating cluster health and the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "MaxPercentUnhealthyNodes": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy nodes from the ClusterHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes found in the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health." + } + } + }, + "NodeStatus": { + "type": "string", + "description": "The status of the node.", + "enum": [ + "Invalid", + "Up", + "Down", + "Enabling", + "Disabling", + "Disabled", + "Unknown", + "Removed" + ], + "x-ms-enum": { + "name": "NodeStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the node status is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Up", + "description": "Indicates the node is up. The value is 1." + }, + { + "value": "Down", + "description": "Indicates the node is down. The value is 2." + }, + { + "value": "Enabling", + "description": "Indicates the node is in process of being enabled. The value is 3." + }, + { + "value": "Disabling", + "description": "Indicates the node is in the process of being disabled. The value is 4." + }, + { + "value": "Disabled", + "description": "Indicates the node is disabled. The value is 5." + }, + { + "value": "Unknown", + "description": "Indicates the node is unknown. A node would be in Unknown state if Service Fabric does not have authoritative information about that node. This can happen if the system learns about a node at runtime.The value is 6." + }, + { + "value": "Removed", + "description": "Indicates the node is removed. A node would be in Removed state if NodeStateRemoved API has been called for this node. In other words, Service Fabric has been informed that the persisted state on the node has been permanently lost. The value is 7." + } + ] + } + }, + "NodeUpgradeDurationString": { + "type": "string", + "description": "The estimated time spent processing the node since it was deactivated during a node-by-node upgrade." + }, + "NodeUpgradePhase": { + "type": "string", + "description": "The state of the upgrading node.", + "enum": [ + "Invalid", + "PreUpgradeSafetyCheck", + "Upgrading", + "PostUpgradeSafetyCheck" + ], + "x-ms-enum": { + "name": "NodeUpgradePhase", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade state is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "PreUpgradeSafetyCheck", + "description": "The upgrade has not started yet due to pending safety checks. The value is 1" + }, + { + "value": "Upgrading", + "description": "The upgrade is in progress. The value is 2" + }, + { + "value": "PostUpgradeSafetyCheck", + "description": "The upgrade has completed and post upgrade safety checks are being performed. The value is 3" + } + ] + } + }, + "NodeUpgradeProgressInfo": { + "description": "Information about the upgrading node and its status", + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "UpgradePhase": { + "$ref": "#/definitions/NodeUpgradePhase", + "description": "The state of the upgrading node." + }, + "PendingSafetyChecks": { + "$ref": "#/definitions/SafetyCheckInfoList", + "description": "List of pending safety checks" + }, + "UpgradeDuration": { + "$ref": "#/definitions/NodeUpgradeDurationString", + "description": "The estimated time spent processing the node since it was deactivated during a node-by-node upgrade." + } + } + }, + "NodeUpgradeProgressInfoList": { + "type": "array", + "description": "List of upgrading nodes and their statuses", + "items": { + "$ref": "#/definitions/NodeUpgradeProgressInfo" + } + }, + "PagedApplicationInfoList": { + "description": "The list of applications in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of application information.", + "items": { + "$ref": "#/definitions/ApplicationInfo" + } + } + } + }, + "PagedDeployedApplicationInfoList": { + "description": "The list of deployed applications in activating, downloading, or active states on a node.\nThe list is paged when all of the results cannot fit in a single message.\nThe next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of deployed application information.", + "items": { + "$ref": "#/definitions/DeployedApplicationInfo" + } + } + } + }, + "PagedNodeInfoList": { + "description": "The list of nodes in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of node information.", + "items": { + "$ref": "#/definitions/NodeInfo" + } + } + } + }, + "PagedServicePartitionInfoList": { + "description": "The list of partition in the cluster for a service. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of service partition information.", + "items": { + "$ref": "#/definitions/ServicePartitionInfo" + } + } + } + }, + "PagedReplicaInfoList": { + "description": "The list of replicas in the cluster for a given partition. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of replica information.", + "items": { + "$ref": "#/definitions/ReplicaInfo" + } + } + } + }, + "PagedServiceInfoList": { + "description": "The list of services in the cluster for an application. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of service information.", + "items": { + "$ref": "#/definitions/ServiceInfo" + } + } + } + }, + "PartitionAnalysisEvent": { + "description": "Represents the base for all Partition Analysis Events.", + "allOf": [ + { + "$ref": "#/definitions/PartitionEvent" + } + ], + "properties": { + "Metadata": { + "$ref": "#/definitions/AnalysisEventMetadata", + "description": "Metadata about an Analysis Event." + } + }, + "required": [ + "Metadata" + ], + "x-ms-discriminator-value": "PartitionAnalysisEvent" + }, + "PartitionEvent": { + "description": "Represents the base for all Partition Events.", + "allOf": [ + { + "$ref": "#/definitions/FabricEvent" + } + ], + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different." + } + }, + "required": [ + "PartitionId" + ], + "x-ms-discriminator-value": "PartitionEvent" + }, + "PartitionEventList": { + "description": "A list of PartitionEvent objects.", + "type": "array", + "items": { + "$ref": "#/definitions/PartitionEvent" + } + }, + "PartitionHealth": { + "description": "Information about the health of a Service Fabric partition.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealth" + } + ], + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "ID of the partition whose health information is described by this object." + }, + "ReplicaHealthStates": { + "type": "array", + "items": { + "$ref": "#/definitions/ReplicaHealthState" + }, + "description": "The list of replica health states associated with the partition." + } + } + }, + "PartitionHealthEvaluation": { + "x-ms-discriminator-value": "Partition", + "description": "Represents health evaluation for a partition, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "Id of the partition whose health evaluation is described by this object." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the current aggregated health state of the partition. The types of the unhealthy evaluations can be ReplicasHealthEvaluation or EventHealthEvaluation." + } + } + }, + "PartitionHealthState": { + "description": "Represents the health state of a partition, which contains the partition identifier and its aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthState" + } + ], + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "Id of the partition whose health state is described by this object." + } + } + }, + "PartitionHealthStateChunk": { + "description": "Represents the health state chunk of a partition, which contains the partition ID, its aggregated health state and any replicas that respect the filters in the cluster health chunk query description.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthStateChunk" + } + ], + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "The Id of the partition." + }, + "ReplicaHealthStateChunks": { + "$ref": "#/definitions/ReplicaHealthStateChunkList", + "description": "The list of replica health state chunks belonging to the partition that respect the filters in the cluster health chunk query description." + } + } + }, + "PartitionHealthStateChunkList": { + "description": "The list of partition health state chunks that respect the input filters in the chunk query description.\nReturned by get cluster health state chunks query as part of the parent application hierarchy.", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/definitions/PartitionHealthStateChunk" + }, + "description": "The list of partition health state chunks that respect the input filters in the chunk query." + } + } + }, + "PartitionHealthStateFilter": { + "description": "Defines matching criteria to determine whether a partition should be included as a child of a service in the cluster health chunk.\nThe partitions are only returned if the parent entities match a filter specified in the cluster health chunk query description. The parent service and application must be included in the cluster health chunk.\nOne filter can match zero, one or multiple partitions, depending on its properties.", + "properties": { + "PartitionIdFilter": { + "type": "string", + "format": "uuid", + "description": "ID of the partition that matches the filter. The filter is applied only to the specified partition, if it exists.\nIf the partition doesn't exist, no partition is returned in the cluster health chunk based on this filter.\nIf the partition exists, it is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all partitions that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter." + }, + "HealthStateFilter": { + "type": "integer", + "default": 0, + "description": "The filter for the health state of the partitions. It allows selecting partitions if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only partitions that match the filter are returned. All partitions are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the partition ID is specified. If the filter has default value and partition ID is specified, the matching partition is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches partitions with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535." + }, + "ReplicaFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/ReplicaHealthStateFilter" + }, + "description": "Defines a list of filters that specify which replicas to be included in the returned cluster health chunk as children of the parent partition. The replicas are returned only if the parent partition matches a filter.\nIf the list is empty, no replicas are returned. All the replicas are used to evaluate the parent partition aggregated health state, regardless of the input filters.\nThe partition filter may specify multiple replica filters.\nFor example, it can specify a filter to return all replicas with health state Error and another filter to always include a replica identified by its replica id." + } + } + }, + "PartitionId": { + "type": "string", + "format": "uuid", + "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different." + }, + "PartitionInformation": { + "discriminator": "ServicePartitionKind", + "description": "Information about the partition identity, partitioning scheme and keys supported by it.", + "required": [ + "ServicePartitionKind" + ], + "properties": { + "ServicePartitionKind": { + "$ref": "#/definitions/ServicePartitionKind", + "description": "The kind of partitioning scheme used to partition the service." + }, + "Id": { + "$ref": "#/definitions/PartitionId", + "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different." + } + } + }, + "ProvisionFabricDescription": { + "description": "Describes the parameters for provisioning a cluster.", + "properties": { + "CodeFilePath": { + "type": "string", + "description": "The cluster code package file path." + }, + "ClusterManifestFilePath": { + "type": "string", + "description": "The cluster manifest file path." + } + } + }, + "ProvisionApplicationTypeKind": { + "type": "string", + "description": "The kind of application type registration or provision requested. The application package can be registered or provisioned either from the image store or from an external store. Following are the kinds of the application type provision.", + "enum": [ + "Invalid", + "ImageStorePath", + "ExternalStore" + ], + "x-ms-enum": { + "name": "ProvisionApplicationTypeKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that the provision kind is invalid. This value is default and should not be used. The value is zero." + }, + { + "value": "ImageStorePath", + "description": "Indicates that the provision is for a package that was previously uploaded to the image store. The value is 1." + }, + { + "value": "ExternalStore", + "description": "Indicates that the provision is for an application package that was previously uploaded to an external store. The application package ends with the extension *.sfpkg. The value is 2." + } + ] + } + }, + "ProvisionApplicationTypeDescriptionBase": { + "discriminator": "Kind", + "description": "Represents the type of registration or provision requested, and if the operation needs to be asynchronous or not. Supported types of provision operations are from either image store or external store.", + "properties": { + "Kind": { + "$ref": "#/definitions/ProvisionApplicationTypeKind", + "description": "The kind of application type registration or provision requested. The application package can be registered or provisioned either from the image store or from an external store. Following are the kinds of the application type provision." + }, + "Async": { + "type": "boolean", + "description": "Indicates whether or not provisioning should occur asynchronously. When set to true, the provision operation returns when the request is accepted by the system, and the provision operation continues without any timeout limit. The default value is false. For large application packages, we recommend setting the value to true." + } + }, + "required": [ + "Kind", + "Async" + ] + }, + "ProvisionApplicationTypeDescription": { + "description": "Describes the operation to register or provision an application type using an application package uploaded to the Service Fabric image store.", + "required": [ + "ApplicationTypeBuildPath" + ], + "allOf": [ + { + "$ref": "#/definitions/ProvisionApplicationTypeDescriptionBase" + } + ], + "properties": { + "ApplicationTypeBuildPath": { + "description": "The relative path for the application package in the image store specified during the prior upload operation.", + "type": "string" + }, + "ApplicationPackageCleanupPolicy": { + "$ref": "#/definitions/ApplicationPackageCleanupPolicy", + "description": "The kind of action that needs to be taken for cleaning up the application package after successful provision." + } + }, + "x-ms-discriminator-value": "ImageStorePath" + }, + "ExternalStoreProvisionApplicationTypeDescription": { + "description": "Describes the operation to register or provision an application type using an application package from an external store instead of a package uploaded to the Service Fabric image store.", + "allOf": [ + { + "$ref": "#/definitions/ProvisionApplicationTypeDescriptionBase" + } + ], + "properties": { + "ApplicationPackageDownloadUri": { + "description": "The path to the '.sfpkg' application package from where the application package can be downloaded using HTTP or HTTPS protocols. The application package can be stored in an external store that provides GET operation to download the file. Supported protocols are HTTP and HTTPS, and the path must allow READ access.", + "type": "string" + }, + "ApplicationTypeName": { + "description": "The application type name represents the name of the application type found in the application manifest.", + "type": "string" + }, + "ApplicationTypeVersion": { + "description": "The application type version represents the version of the application type found in the application manifest.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ExternalStore", + "required": [ + "ApplicationPackageDownloadUri", + "ApplicationTypeName", + "ApplicationTypeVersion" + ] + }, + "UnprovisionFabricDescription": { + "description": "Describes the parameters for unprovisioning a cluster.", + "properties": { + "CodeVersion": { + "type": "string", + "description": "The cluster code package version." + }, + "ConfigVersion": { + "type": "string", + "description": "The cluster manifest version." + } + } + }, + "ResumeClusterUpgradeDescription": { + "description": "Describes the parameters for resuming a cluster upgrade.", + "properties": { + "UpgradeDomain": { + "type": "string", + "description": "The next upgrade domain for this cluster upgrade." + } + }, + "required": [ + "UpgradeDomain" + ] + }, + "StartClusterUpgradeDescription": { + "description": "Describes the parameters for starting a cluster upgrade.", + "properties": { + "CodeVersion": { + "type": "string", + "description": "The cluster code version." + }, + "ConfigVersion": { + "type": "string", + "description": "The cluster configuration version." + }, + "UpgradeKind": { + "$ref": "#/definitions/UpgradeKind", + "description": "The kind of upgrade out of the following possible values." + }, + "RollingUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred." + }, + "UpgradeReplicaSetCheckTimeoutInSeconds": { + "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout", + "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)." + }, + "SortOrder": { + "$ref": "#/definitions/UpgradeSortOrder", + "description": "Defines the order in which an upgrade proceeds through the cluster." + }, + "MonitoringPolicy": { + "$ref": "#/definitions/MonitoringPolicyDescription", + "description": "Describes the parameters for monitoring an upgrade in Monitored mode." + }, + "ClusterHealthPolicy": { + "$ref": "#/definitions/ClusterHealthPolicy", + "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node." + }, + "EnableDeltaHealthEvaluation": { + "type": "boolean", + "description": "When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain." + }, + "ClusterUpgradeHealthPolicy": { + "$ref": "#/definitions/ClusterUpgradeHealthPolicyObject", + "description": "Defines a health policy used to evaluate the health of the cluster during a cluster upgrade." + }, + "ApplicationHealthPolicyMap": { + "$ref": "#/definitions/ApplicationHealthPolicies", + "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities." + }, + "InstanceCloseDelayDurationInSeconds": { + "$ref": "#/definitions/InstanceCloseDelayDurationInSeconds", + "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster\nupgrade, only for those instances which have a non-zero delay duration configured in the service description. See InstanceCloseDelayDurationSeconds property in $ref: \"#/definitions/StatelessServiceDescription.yaml\" for details.\nNote, the default value of InstanceCloseDelayDurationInSeconds is 4294967295, which indicates that the behavior will entirely depend on the delay configured in the stateless service description." + } + } + }, + "UpdateClusterUpgradeDescription": { + "description": "Parameters for updating a cluster upgrade.", + "properties": { + "UpgradeKind": { + "$ref": "#/definitions/UpgradeType", + "description": "The type of upgrade out of the following possible values." + }, + "UpdateDescription": { + "$ref": "#/definitions/RollingUpgradeUpdateDescription", + "description": "Describes the parameters for updating a rolling upgrade of application or cluster." + }, + "ClusterHealthPolicy": { + "$ref": "#/definitions/ClusterHealthPolicy", + "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node." + }, + "EnableDeltaHealthEvaluation": { + "$ref": "#/definitions/DeltaHealthEvaluationBool", + "description": "When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain." + }, + "ClusterUpgradeHealthPolicy": { + "$ref": "#/definitions/ClusterUpgradeHealthPolicyObject", + "description": "Defines a health policy used to evaluate the health of the cluster during a cluster upgrade." + }, + "ApplicationHealthPolicyMap": { + "$ref": "#/definitions/ApplicationHealthPolicies", + "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities." + } + } + }, + "SafetyCheckKind": { + "type": "string", + "description": "The kind of safety check performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state. Following are the kinds of safety checks.", + "enum": [ + "Invalid", + "EnsureSeedNodeQuorum", + "EnsurePartitionQuorum", + "WaitForPrimaryPlacement", + "WaitForPrimarySwap", + "WaitForReconfiguration", + "WaitForInbuildReplica", + "EnsureAvailability" + ], + "x-ms-enum": { + "name": "SafetyCheckKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that the upgrade safety check kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "EnsureSeedNodeQuorum", + "description": "Indicates that if we bring down the node then this will result in global seed node quorum loss. The value is 1." + }, + { + "value": "EnsurePartitionQuorum", + "description": "Indicates that there is some partition for which if we bring down the replica on the node, it will result in quorum loss for that partition. The value is 2." + }, + { + "value": "WaitForPrimaryPlacement", + "description": "Indicates that there is some replica on the node that was moved out of this node due to upgrade. Service Fabric is now waiting for the primary to be moved back to this node. The value is 3." + }, + { + "value": "WaitForPrimarySwap", + "description": "Indicates that Service Fabric is waiting for a primary replica to be moved out of the node before starting upgrade on that node. The value is 4." + }, + { + "value": "WaitForReconfiguration", + "description": "Indicates that there is some replica on the node that is involved in a reconfiguration. Service Fabric is waiting for the reconfiguration to be complete before staring upgrade on that node. The value is 5." + }, + { + "value": "WaitForInbuildReplica", + "description": "Indicates that there is either a replica on the node that is going through copy, or there is a primary replica on the node that is copying data to some other replica. In both cases, bringing down the replica on the node due to upgrade will abort the copy. The value is 6." + }, + { + "value": "EnsureAvailability", + "description": "Indicates that there is either a stateless service partition on the node having exactly one instance, or there is a primary replica on the node for which the partition is quorum loss. In both cases, bringing down the replicas due to upgrade will result in loss of availability. The value is 7." + } + ] + } + }, + "SafetyCheck": { + "discriminator": "Kind", + "description": "Represents a safety check performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state.", + "properties": { + "Kind": { + "$ref": "#/definitions/SafetyCheckKind", + "description": "The kind of safety check performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state. Following are the kinds of safety checks." + } + }, + "required": [ + "Kind" + ] + }, + "PartitionSafetyCheck": { + "description": "Represents a safety check for the service partition being performed by service fabric before continuing with operations.", + "allOf": [ + { + "$ref": "#/definitions/SafetyCheck" + } + ], + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "Id of the partition which is undergoing the safety check." + } + } + }, + "EnsureAvailabilitySafetyCheck": { + "description": "Safety check that waits to ensure the availability of the partition. It waits until there are replicas available such that bringing down this replica will not cause availability loss for the partition.", + "allOf": [ + { + "$ref": "#/definitions/PartitionSafetyCheck" + } + ], + "x-ms-discriminator-value": "EnsureAvailability" + }, + "EnsurePartitionQuorumSafetyCheck": { + "description": "Safety check that ensures that a quorum of replicas are not lost for a partition.", + "allOf": [ + { + "$ref": "#/definitions/PartitionSafetyCheck" + } + ], + "x-ms-discriminator-value": "EnsurePartitionQuorum" + }, + "SeedNodeSafetyCheck": { + "description": "Represents a safety check for the seed nodes being performed by service fabric before continuing with node level operations.", + "allOf": [ + { + "$ref": "#/definitions/SafetyCheck" + } + ], + "x-ms-discriminator-value": "EnsureSeedNodeQuorum" + }, + "PartitionsHealthEvaluation": { + "x-ms-discriminator-value": "Partitions", + "description": "Represents health evaluation for the partitions of a service, containing health evaluations for each unhealthy partition that impacts current aggregated health state. Can be returned when evaluating service health and the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "MaxPercentUnhealthyPartitionsPerService": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy partitions per service from the ServiceTypeHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of partitions of the service from the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy PartitionHealthEvaluation that impacted the aggregated health." + } + } + }, + "ReplicaEvent": { + "description": "Represents the base for all Replica Events.", + "allOf": [ + { + "$ref": "#/definitions/FabricEvent" + } + ], + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different." + }, + "ReplicaId": { + "$ref": "#/definitions/ReplicaId_Integer", + "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id." + } + }, + "required": [ + "PartitionId", + "ReplicaId" + ], + "x-ms-discriminator-value": "ReplicaEvent" + }, + "ReplicaEventList": { + "description": "A list of ReplicaEvent objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicaEvent" + } + }, + "ReplicaHealth": { + "allOf": [ + { + "$ref": "#/definitions/EntityHealth" + } + ], + "discriminator": "ServiceKind", + "description": "Represents a base class for stateful service replica or stateless service instance health.\nContains the replica aggregated health state, the health events and the unhealthy evaluations.", + "properties": { + "ServiceKind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of service (Stateless or Stateful)." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "Id of the partition to which this replica belongs." + } + }, + "required": [ + "ServiceKind" + ] + }, + "ReplicaHealthEvaluation": { + "x-ms-discriminator-value": "Replica", + "description": "Represents health evaluation for a replica, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "Id of the partition to which the replica belongs." + }, + "ReplicaOrInstanceId": { + "$ref": "#/definitions/ReplicaOrInstanceId", + "description": "Id of a stateful service replica or a stateless service instance. This ID is used in the queries that apply to both stateful and stateless services. It is used by Service Fabric to uniquely identify a replica of a partition of a stateful service or an instance of a stateless service partition. It is unique within a partition and does not change for the lifetime of the replica or the instance. If a stateful replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the ID. If a stateless instance is failed over on the same or different node it will get a different value for the ID." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the current aggregated health state of the replica. The types of the unhealthy evaluations can be EventHealthEvaluation." + } + } + }, + "ReplicaHealthState": { + "discriminator": "ServiceKind", + "required": [ + "ServiceKind" + ], + "description": "Represents a base class for stateful service replica or stateless service instance health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthState" + } + ], + "properties": { + "ServiceKind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of service (Stateless or Stateful)." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "The ID of the partition to which this replica belongs." + } + } + }, + "ReplicaHealthStateChunk": { + "description": "Represents the health state chunk of a stateful service replica or a stateless service instance.\nThe replica health state contains the replica ID and its aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthStateChunk" + } + ], + "properties": { + "ReplicaOrInstanceId": { + "$ref": "#/definitions/ReplicaOrInstanceId", + "description": "Id of a stateful service replica or a stateless service instance. This ID is used in the queries that apply to both stateful and stateless services. It is used by Service Fabric to uniquely identify a replica of a partition of a stateful service or an instance of a stateless service partition. It is unique within a partition and does not change for the lifetime of the replica or the instance. If a stateful replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the ID. If a stateless instance is failed over on the same or different node it will get a different value for the ID." + } + } + }, + "ReplicaHealthStateChunkList": { + "description": "The list of replica health state chunks that respect the input filters in the chunk query. Returned by get cluster health state chunks query.", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/definitions/ReplicaHealthStateChunk" + }, + "description": "The list of replica health state chunks that respect the input filters in the chunk query." + } + } + }, + "ReplicaHealthStateFilter": { + "description": "Defines matching criteria to determine whether a replica should be included as a child of a partition in the cluster health chunk.\nThe replicas are only returned if the parent entities match a filter specified in the cluster health chunk query description. The parent partition, service and application must be included in the cluster health chunk.\nOne filter can match zero, one or multiple replicas, depending on its properties.", + "properties": { + "ReplicaOrInstanceIdFilter": { + "type": "string", + "description": "Id of the stateful service replica or stateless service instance that matches the filter. The filter is applied only to the specified replica, if it exists.\nIf the replica doesn't exist, no replica is returned in the cluster health chunk based on this filter.\nIf the replica exists, it is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all replicas that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter." + }, + "HealthStateFilter": { + "type": "integer", + "default": 0, + "description": "The filter for the health state of the replicas. It allows selecting replicas if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only replicas that match the filter are returned. All replicas are used to evaluate the parent partition aggregated health state.\nIf not specified, default value is None, unless the replica ID is specified. If the filter has default value and replica ID is specified, the matching replica is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches replicas with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535." + } + } + }, + "ReplicaId": { + "type": "string", + "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id." + }, + "ReplicaId_Integer": { + "type": "integer", + "format": "int64", + "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id." + }, + "ReplicaOrInstanceId": { + "type": "string", + "description": "Id of a stateful service replica or a stateless service instance. This ID is used in the queries that apply to both stateful and stateless services. It is used by Service Fabric to uniquely identify a replica of a partition of a stateful service or an instance of a stateless service partition. It is unique within a partition and does not change for the lifetime of the replica or the instance. If a stateful replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the ID. If a stateless instance is failed over on the same or different node it will get a different value for the ID." + }, + "ReplicaInfo": { + "discriminator": "ServiceKind", + "description": "Information about the identity, status, health, node name, uptime, and other details about the replica.", + "required": [ + "ServiceKind" + ], + "properties": { + "ServiceKind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of service (Stateless or Stateful)." + }, + "ReplicaStatus": { + "$ref": "#/definitions/ReplicaStatus", + "description": "The status of a replica of a service." + }, + "HealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + }, + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "Address": { + "type": "string", + "description": "The address the replica is listening on." + }, + "LastInBuildDurationInSeconds": { + "type": "string", + "description": "The last in build duration of the replica in seconds." + } + } + }, + "ReplicaRole": { + "type": "string", + "description": "The role of a replica of a stateful service.", + "enum": [ + "Unknown", + "None", + "Primary", + "IdleSecondary", + "ActiveSecondary", + "IdleAuxiliary", + "ActiveAuxiliary", + "PrimaryAuxiliary" + ], + "x-ms-enum": { + "name": "ReplicaRole", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "Indicates the initial role that a replica is created in. The value is zero." + }, + { + "value": "None", + "description": "Specifies that the replica has no responsibility in regard to the replica set. The value is 1" + }, + { + "value": "Primary", + "description": "Refers to the replica in the set on which all read and write operations are complete in order to enforce strong consistency semantics. Read operations are handled directly by the Primary replica, while write operations must be acknowledged by a quorum of the replicas in the replica set. There can only be one Primary replica in a replica set at a time. The value is 2." + }, + { + "value": "IdleSecondary", + "description": "Refers to a replica in the set that receives a state transfer from the Primary replica to prepare for becoming an active Secondary replica. There can be multiple Idle Secondary replicas in a replica set at a time. Idle Secondary replicas do not count as a part of a write quorum. The value is 3." + }, + { + "value": "ActiveSecondary", + "description": "Refers to a replica in the set that receives state updates from the Primary replica, applies them, and sends acknowledgements back. Secondary replicas must participate in the write quorum for a replica set. There can be multiple active Secondary replicas in a replica set at a time. The number of active Secondary replicas is configurable that the reliability subsystem should maintain. The value is 4." + }, + { + "value": "IdleAuxiliary", + "description": "Refers to a replica in the set that receives a state transfer from the Primary replica to prepare for becoming an ActiveAuxiliary replica. There can be multiple IdleAuxiliary replicas in a replica set at a time. IdleAuxiliary replicas do not count as a part of a write quorum. The value is 5." + }, + { + "value": "ActiveAuxiliary", + "description": "Refers to a replica in the set that receives state updates from the Primary replica, applies them, and sends acknowledgements back. ActiveAuxiliary replicas must participate in the write quorum for a replica set. There can be multiple active ActiveAuxiliary replicas in a replica set at a time. The number of active ActiveAuxiliary replicas is configurable that the reliability subsystem should maintain. The value is 6." + }, + { + "value": "PrimaryAuxiliary", + "description": "Refers to the replica in the set that is used to rebuild a new Secondary replica to relinquish primary status to. It cannot field read or write requests. The value is 7." + } + ] + } + }, + "ReplicasHealthEvaluation": { + "x-ms-discriminator-value": "Replicas", + "description": "Represents health evaluation for replicas, containing health evaluations for each unhealthy replica that impacted current aggregated health state. Can be returned when evaluating partition health and the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "MaxPercentUnhealthyReplicasPerPartition": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy replicas per partition from the ApplicationHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of replicas in the partition from the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ReplicaHealthEvaluation that impacted the aggregated health." + } + } + }, + "ReplicaStatus": { + "type": "string", + "description": "The status of a replica of a service.", + "enum": [ + "Invalid", + "InBuild", + "Standby", + "Ready", + "Down", + "Dropped" + ], + "x-ms-enum": { + "name": "ReplicaStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the replica status is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "InBuild", + "description": "The replica is being built. This means that a primary replica is seeding this replica. The value is 1." + }, + { + "value": "Standby", + "description": "The replica is in standby. The value is 2." + }, + { + "value": "Ready", + "description": "The replica is ready. The value is 3." + }, + { + "value": "Down", + "description": "The replica is down. The value is 4." + }, + { + "value": "Dropped", + "description": "Replica is dropped. This means that the replica has been removed from the replica set. If it is persisted, its state has been deleted. The value is 5." + } + ] + } + }, + "RestartNodeDescription": { + "description": "Describes the parameters to restart a Service Fabric node.", + "properties": { + "NodeInstanceId": { + "type": "string", + "description": "The instance ID of the target node. If instance ID is specified the node is restarted only if it matches with the current instance of the node. A default value of \"0\" would match any instance ID. The instance ID can be obtained using get node query.", + "default": "0" + }, + "CreateFabricDump": { + "type": "string", + "description": "Specify True to create a dump of the fabric node process. This is case-sensitive.", + "enum": [ + "False", + "True" + ], + "default": "False", + "x-ms-enum": { + "name": "CreateFabricDump", + "modelAsString": true, + "values": [ + { + "value": "False" + }, + { + "value": "True" + } + ] + } + } + }, + "required": [ + "NodeInstanceId" + ] + }, + "SafetyCheckInfoList": { + "type": "array", + "description": "List of pending safety checks", + "items": { + "$ref": "#/definitions/SafetyCheckWrapper" + } + }, + "SafetyCheckWrapper": { + "description": "A wrapper for the safety check object. Safety checks are performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state.", + "properties": { + "SafetyCheck": { + "$ref": "#/definitions/SafetyCheck", + "description": "Represents a safety check performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state." + } + } + }, + "ServiceEvent": { + "description": "Represents the base for all Service Events.", + "allOf": [ + { + "$ref": "#/definitions/FabricEvent" + } + ], + "properties": { + "ServiceId": { + "$ref": "#/definitions/ServiceId", + "description": "The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the service name is \"fabric:/myapp/app1/svc1\",\nthe service identity would be \"myapp~app1\\~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions." + } + }, + "required": [ + "ServiceId" + ], + "x-ms-discriminator-value": "ServiceEvent" + }, + "ServiceEventList": { + "description": "A list of ServiceEvent objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEvent" + } + }, + "ServiceFromTemplateDescription": { + "description": "Defines description for creating a Service Fabric service from a template defined in the application manifest.", + "required": [ + "ApplicationName", + "ServiceName", + "ServiceTypeName" + ], + "properties": { + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + }, + "ServiceTypeName": { + "$ref": "#/definitions/ServiceTypeName", + "description": "Name of the service type as specified in the service manifest." + }, + "InitializationData": { + "$ref": "#/definitions/ByteArray", + "description": "The initialization data for the newly created service instance." + }, + "ServicePackageActivationMode": { + "$ref": "#/definitions/ServicePackageActivationMode", + "description": "The activation mode of service package to be used for a service." + }, + "ServiceDnsName": { + "type": "string", + "description": "The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster." + } + } + }, + "ServiceHealthEvaluation": { + "x-ms-discriminator-value": "Service", + "description": "Represents health evaluation for a service, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "Name of the service whose health evaluation is described by this object." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the current aggregated health state of the service. The types of the unhealthy evaluations can be PartitionsHealthEvaluation or EventHealthEvaluation." + } + } + }, + "ServiceHealthState": { + "description": "Represents the health state of a service, which contains the service identifier and its aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthState" + } + ], + "properties": { + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "Name of the service whose health state is represented by this object." + } + } + }, + "ServiceHealthStateChunk": { + "description": "Represents the health state chunk of a service, which contains the service name, its aggregated health state and any partitions that respect the filters in the cluster health chunk query description.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthStateChunk" + } + ], + "properties": { + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The name of the service whose health state chunk is provided in this object." + }, + "PartitionHealthStateChunks": { + "$ref": "#/definitions/PartitionHealthStateChunkList", + "description": "The list of partition health state chunks belonging to the service that respect the filters in the cluster health chunk query description." + } + } + }, + "ServiceHealthStateChunkList": { + "description": "The list of service health state chunks that respect the input filters in the chunk query. Returned by get cluster health state chunks query.", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceHealthStateChunk" + }, + "description": "The list of service health state chunks that respect the input filters in the chunk query." + } + } + }, + "ServiceHealthStateFilter": { + "description": "Defines matching criteria to determine whether a service should be included as a child of an application in the cluster health chunk.\nThe services are only returned if the parent application matches a filter specified in the cluster health chunk query description.\nOne filter can match zero, one or multiple services, depending on its properties.", + "properties": { + "ServiceNameFilter": { + "type": "string", + "description": "The name of the service that matches the filter. The filter is applied only to the specified service, if it exists.\nIf the service doesn't exist, no service is returned in the cluster health chunk based on this filter.\nIf the service exists, it is included as the application's child if the health state matches the other filter properties.\nIf not specified, all services that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter." + }, + "HealthStateFilter": { + "type": "integer", + "default": 0, + "description": "The filter for the health state of the services. It allows selecting services if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only services that match the filter are returned. All services are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the service name is specified. If the filter has default value and service name is specified, the matching service is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches services with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535." + }, + "PartitionFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/PartitionHealthStateFilter" + }, + "description": "Defines a list of filters that specify which partitions to be included in the returned cluster health chunk as children of the service. The partitions are returned only if the parent service matches a filter.\nIf the list is empty, no partitions are returned. All the partitions are used to evaluate the parent service aggregated health state, regardless of the input filters.\nThe service filter may specify multiple partition filters.\nFor example, it can specify a filter to return all partitions with health state Error and another filter to always include a partition identified by its partition ID." + } + } + }, + "ServiceHealth": { + "description": "Information about the health of a Service Fabric service.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealth" + } + ], + "properties": { + "Name": { + "$ref": "#/definitions/ServiceName", + "description": "The name of the service whose health information is described by this object." + }, + "PartitionHealthStates": { + "type": "array", + "items": { + "$ref": "#/definitions/PartitionHealthState" + }, + "description": "The list of partition health states associated with the service." + } + } + }, + "ServiceId": { + "type": "string", + "description": "The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the service name is \"fabric:/myapp/app1/svc1\",\nthe service identity would be \"myapp~app1\\~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions." + }, + "ServiceName": { + "type": "string", + "description": "The full name of the service with 'fabric:' URI scheme." + }, + "ServiceManifestName": { + "type": "string", + "description": "The name of the service manifest." + }, + "ServiceTypeName": { + "type": "string", + "description": "Name of the service type as specified in the service manifest." + }, + "ServiceInfo": { + "discriminator": "ServiceKind", + "description": "Information about a Service Fabric service.", + "properties": { + "Id": { + "$ref": "#/definitions/ServiceId", + "description": "The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the service name is \"fabric:/myapp/app1/svc1\",\nthe service identity would be \"myapp~app1\\~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions." + }, + "ServiceKind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of service (Stateless or Stateful)." + }, + "Name": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + }, + "TypeName": { + "$ref": "#/definitions/ServiceTypeName", + "description": "Name of the service type as specified in the service manifest." + }, + "ManifestVersion": { + "description": "The version of the service manifest.", + "type": "string" + }, + "HealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + }, + "ServiceStatus": { + "$ref": "#/definitions/ServiceStatus", + "description": "The status of the application." + }, + "IsServiceGroup": { + "description": "Whether the service is in a service group.", + "type": "boolean" + } + }, + "required": [ + "ServiceKind" + ] + }, + "ServiceKind": { + "type": "string", + "description": "The kind of service (Stateless or Stateful).", + "enum": [ + "Invalid", + "Stateless", + "Stateful" + ], + "x-ms-enum": { + "name": "ServiceKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the service kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Stateless", + "description": "Does not use Service Fabric to make its state highly available or reliable. The value is 1." + }, + { + "value": "Stateful", + "description": "Uses Service Fabric to make its state or part of its state highly available and reliable. The value is 2." + } + ] + } + }, + "ServiceNameInfo": { + "description": "Information about the service name.", + "properties": { + "Id": { + "$ref": "#/definitions/ServiceId", + "description": "The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the service name is \"fabric:/myapp/app1/svc1\",\nthe service identity would be \"myapp~app1\\~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions." + }, + "Name": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + } + } + }, + "ServicePackageActivationId": { + "type": "string", + "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string." + }, + "ServicePartitionInfo": { + "discriminator": "ServiceKind", + "description": "Information about a partition of a Service Fabric service.", + "required": [ + "ServiceKind" + ], + "properties": { + "ServiceKind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of service (Stateless or Stateful)." + }, + "HealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + }, + "PartitionStatus": { + "$ref": "#/definitions/ServicePartitionStatus", + "description": "The status of the service fabric service partition." + }, + "PartitionInformation": { + "$ref": "#/definitions/PartitionInformation", + "description": "Information about the partition identity, partitioning scheme and keys supported by it." + } + } + }, + "ServicePartitionKind": { + "type": "string", + "description": "The kind of partitioning scheme used to partition the service.", + "enum": [ + "Invalid", + "Singleton", + "Int64Range", + "Named" + ], + "x-ms-enum": { + "name": "ServicePartitionKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the partition kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Singleton", + "description": "Indicates that there is only one partition, and SingletonPartitionSchemeDescription was specified while creating the service. The value is 1." + }, + { + "value": "Int64Range", + "description": "Indicates that the partition is based on Int64 key ranges, and UniformInt64RangePartitionSchemeDescription was specified while creating the service. The value is 2." + }, + { + "value": "Named", + "description": "Indicates that the partition is based on string names, and NamedPartitionInformation was specified while creating the service. The value is 3." + } + ] + } + }, + "ServicePartitionStatus": { + "type": "string", + "description": "The status of the service fabric service partition.", + "enum": [ + "Invalid", + "Ready", + "NotReady", + "InQuorumLoss", + "Reconfiguring", + "Deleting" + ], + "x-ms-enum": { + "name": "ServicePartitionStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the partition status is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Ready", + "description": "Indicates that the partition is ready. This means that for a stateless service partition there is at least one instance that is up and for a stateful service partition the number of ready replicas is greater than or equal to the MinReplicaSetSize. The value is 1." + }, + { + "value": "NotReady", + "description": "Indicates that the partition is not ready. This status is returned when none of the other states apply. The value is 2." + }, + { + "value": "InQuorumLoss", + "description": "Indicates that the partition is in quorum loss. This means that number of replicas that are up and participating in a replica set is less than MinReplicaSetSize for this partition. The value is 3." + }, + { + "value": "Reconfiguring", + "description": "Indicates that the partition is undergoing reconfiguration of its replica sets. This can happen due to failover, upgrade, load balancing or addition or removal of replicas from the replica set. The value is 4." + }, + { + "value": "Deleting", + "description": "Indicates that the partition is being deleted. The value is 5." + } + ] + } + }, + "ServicePlacementInvalidDomainPolicyDescription": { + "x-ms-discriminator-value": "InvalidDomain", + "description": "Describes the policy to be used for placement of a Service Fabric service where a particular fault or upgrade domain should not be used for placement of the instances or replicas of that service.", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicyDescription" + } + ], + "properties": { + "DomainName": { + "type": "string", + "description": "The name of the domain that should not be used for placement." + } + } + }, + "ServicePlacementNonPartiallyPlaceServicePolicyDescription": { + "x-ms-discriminator-value": "NonPartiallyPlaceService", + "description": "Describes the policy to be used for placement of a Service Fabric service where all replicas must be able to be placed in order for any replicas to be created.", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicyDescription" + } + ] + }, + "ServicePlacementAllowMultipleStatelessInstancesOnNodePolicyDescription": { + "x-ms-discriminator-value": "AllowMultipleStatelessInstancesOnNode", + "description": "Describes the policy to be used for placement of a Service Fabric service allowing multiple stateless instances of a partition of the service to be placed on a node.", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicyDescription" + } + ], + "properties": { + "DomainName": { + "type": "string", + "description": "Holdover from other policy descriptions, not used for this policy, values are ignored by runtime. Keeping it for any backwards-compatibility with clients." + } + } + }, + "ServicePlacementPolicyDescription": { + "discriminator": "Type", + "description": "Describes the policy to be used for placement of a Service Fabric service.", + "required": [ + "Type" + ], + "properties": { + "Type": { + "$ref": "#/definitions/ServicePlacementPolicyType", + "description": "The type of placement policy for a service fabric service. Following are the possible values." + } + } + }, + "ServicePlacementPolicyDescriptionList": { + "type": "array", + "items": { + "$ref": "#/definitions/ServicePlacementPolicyDescription" + }, + "description": "List of service placement policy descriptions." + }, + "ServicePlacementPolicyType": { + "type": "string", + "description": "The type of placement policy for a service fabric service. Following are the possible values.", + "enum": [ + "Invalid", + "InvalidDomain", + "RequireDomain", + "PreferPrimaryDomain", + "RequireDomainDistribution", + "NonPartiallyPlaceService", + "AllowMultipleStatelessInstancesOnNode" + ], + "x-ms-enum": { + "name": "ServicePlacementPolicyType", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the type of the placement policy is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "InvalidDomain", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementInvalidDomainPolicyDescription, which indicates that a particular fault or upgrade domain cannot be used for placement of this service. The value is 1." + }, + { + "value": "RequireDomain", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementRequireDomainDistributionPolicyDescription indicating that the replicas of the service must be placed in a specific domain. The value is 2." + }, + { + "value": "PreferPrimaryDomain", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementPreferPrimaryDomainPolicyDescription, which indicates that if possible the Primary replica for the partitions of the service should be located in a particular domain as an optimization. The value is 3." + }, + { + "value": "RequireDomainDistribution", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementRequireDomainDistributionPolicyDescription, indicating that the system will disallow placement of any two replicas from the same partition in the same domain at any time. The value is 4." + }, + { + "value": "NonPartiallyPlaceService", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementNonPartiallyPlaceServicePolicyDescription, which indicates that if possible all replicas of a particular partition of the service should be placed atomically. The value is 5." + }, + { + "value": "AllowMultipleStatelessInstancesOnNode", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementAllowMultipleStatelessInstancesOnNodePolicyDescription, which indicates that multiple stateless instances of a particular partition of the service can be placed on a node. The value is 6." + } + ] + } + }, + "ServicePlacementPreferPrimaryDomainPolicyDescription": { + "x-ms-discriminator-value": "PreferPrimaryDomain", + "description": "Describes the policy to be used for placement of a Service Fabric service where the service's Primary replicas should optimally be placed in a particular domain.\n\nThis placement policy is usually used with fault domains in scenarios where the Service Fabric cluster is geographically distributed in order to indicate that a service's primary replica should be located in a particular fault domain, which in geo-distributed scenarios usually aligns with regional or datacenter boundaries. Note that since this is an optimization it is possible that the Primary replica may not end up located in this domain due to failures, capacity limits, or other constraints.", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicyDescription" + } + ], + "properties": { + "DomainName": { + "type": "string", + "description": "The name of the domain that should used for placement as per this policy." + } + } + }, + "ServicePlacementRequiredDomainPolicyDescription": { + "x-ms-discriminator-value": "RequireDomain", + "description": "Describes the policy to be used for placement of a Service Fabric service where the instances or replicas of that service must be placed in a particular domain", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicyDescription" + } + ], + "properties": { + "DomainName": { + "type": "string", + "description": "The name of the domain that should used for placement as per this policy." + } + } + }, + "ServicePlacementRequireDomainDistributionPolicyDescription": { + "x-ms-discriminator-value": "RequireDomainDistribution", + "description": "Describes the policy to be used for placement of a Service Fabric service where two replicas from the same partition should never be placed in the same fault or upgrade domain.\n\nWhile this is not common it can expose the service to an increased risk of concurrent failures due to unplanned outages or other cases of subsequent/concurrent failures. As an example, consider a case where replicas are deployed across different data center, with one replica per location. In the event that one of the datacenters goes offline, normally the replica that was placed in that datacenter will be packed into one of the remaining datacenters. If this is not desirable then this policy should be set.", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicyDescription" + } + ], + "properties": { + "DomainName": { + "type": "string", + "description": "The name of the domain that should used for placement as per this policy." + } + } + }, + "ServicesHealthEvaluation": { + "x-ms-discriminator-value": "Services", + "description": "Represents health evaluation for services of a certain service type belonging to an application, containing health evaluations for each unhealthy service that impacted current aggregated health state. Can be returned when evaluating application health and the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "ServiceTypeName": { + "type": "string", + "description": "Name of the service type of the services." + }, + "MaxPercentUnhealthyServices": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy services from the ServiceTypeHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of services of the current service type in the application from the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ServiceHealthEvaluation that impacted the aggregated health." + } + } + }, + "ServiceStatus": { + "type": "string", + "description": "The status of the application.", + "enum": [ + "Unknown", + "Active", + "Upgrading", + "Deleting", + "Creating", + "Failed" + ], + "x-ms-enum": { + "name": "ServiceStatus", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "Indicates the service status is unknown. The value is zero." + }, + { + "value": "Active", + "description": "Indicates the service status is active. The value is 1." + }, + { + "value": "Upgrading", + "description": "Indicates the service is upgrading. The value is 2." + }, + { + "value": "Deleting", + "description": "Indicates the service is being deleted. The value is 3." + }, + { + "value": "Creating", + "description": "Indicates the service is being created. The value is 4." + }, + { + "value": "Failed", + "description": "Indicates creation or deletion was terminated due to persistent failures. Another create/delete request can be accepted. The value is 5." + } + ] + } + }, + "ServiceTypeDescription": { + "discriminator": "Kind", + "description": "Describes a service type defined in the service manifest of a provisioned application type. The properties the ones defined in the service manifest.", + "required": [ + "Kind" + ], + "properties": { + "Kind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of service (Stateless or Stateful)." + }, + "IsStateful": { + "type": "boolean", + "description": "Indicates whether the service type is a stateful service type or a stateless service type. This property is true if the service type is a stateful service type, false otherwise." + }, + "ServiceTypeName": { + "$ref": "#/definitions/ServiceTypeName", + "description": "Name of the service type as specified in the service manifest." + }, + "PlacementConstraints": { + "type": "string", + "description": "The placement constraint to be used when instantiating this service in a Service Fabric cluster." + }, + "LoadMetrics": { + "$ref": "#/definitions/ServiceLoadMetricsList", + "description": "The service load metrics is given as an array of ServiceLoadMetricDescription objects." + }, + "ServicePlacementPolicies": { + "$ref": "#/definitions/ServicePlacementPolicyDescriptionList", + "description": "List of service placement policy descriptions." + }, + "Extensions": { + "$ref": "#/definitions/ServiceTypeExtensionDescriptionList", + "description": "List of service type extensions." + } + } + }, + "ServiceTypeExtensionDescription": { + "description": "Describes extension of a service type defined in the service manifest.", + "properties": { + "Key": { + "type": "string", + "description": "The name of the extension." + }, + "Value": { + "type": "string", + "description": "The extension value." + } + } + }, + "ServiceTypeExtensionDescriptionList": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceTypeExtensionDescription" + }, + "description": "List of service type extensions." + }, + "ServiceTypeHealthPolicy": { + "description": "Represents the health policy used to evaluate the health of services belonging to a service type.", + "properties": { + "MaxPercentUnhealthyPartitionsPerService": { + "type": "integer", + "description": "The maximum allowed percentage of unhealthy partitions per service. Allowed values are Byte values from zero to 100\n\nThe percentage represents the maximum tolerated percentage of partitions that can be unhealthy before the service is considered in error.\nIf the percentage is respected but there is at least one unhealthy partition, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy partitions over the total number of partitions in the service.\nThe computation rounds up to tolerate one failure on small numbers of partitions. Default percentage is zero.", + "default": 0 + }, + "MaxPercentUnhealthyReplicasPerPartition": { + "type": "integer", + "description": "The maximum allowed percentage of unhealthy replicas per partition. Allowed values are Byte values from zero to 100.\n\nThe percentage represents the maximum tolerated percentage of replicas that can be unhealthy before the partition is considered in error.\nIf the percentage is respected but there is at least one unhealthy replica, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy replicas over the total number of replicas in the partition.\nThe computation rounds up to tolerate one failure on small numbers of replicas. Default percentage is zero.", + "default": 0 + }, + "MaxPercentUnhealthyServices": { + "type": "integer", + "description": "The maximum allowed percentage of unhealthy services. Allowed values are Byte values from zero to 100.\n\nThe percentage represents the maximum tolerated percentage of services that can be unhealthy before the application is considered in error.\nIf the percentage is respected but there is at least one unhealthy service, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy services of the specific service type over the total number of services of the specific service type.\nThe computation rounds up to tolerate one failure on small numbers of services. Default percentage is zero.", + "default": 0 + } + } + }, + "ServiceTypeHealthPolicyMap": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceTypeHealthPolicyMapItem" + }, + "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type. For example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently. With policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation." + }, + "ServiceTypeHealthPolicyMapItem": { + "description": "Defines an item in ServiceTypeHealthPolicyMap.", + "required": [ + "Key", + "Value" + ], + "properties": { + "Key": { + "type": "string", + "description": "The key of the service type health policy map item. This is the name of the service type." + }, + "Value": { + "$ref": "#/definitions/ServiceTypeHealthPolicy", + "description": "The value of the service type health policy map item. This is the ServiceTypeHealthPolicy for this service type." + } + } + }, + "ServiceTypeInfo": { + "description": "Information about a service type that is defined in a service manifest of a provisioned application type.", + "properties": { + "ServiceTypeDescription": { + "$ref": "#/definitions/ServiceTypeDescription", + "description": "Describes a service type defined in the service manifest of a provisioned application type. The properties the ones defined in the service manifest." + }, + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "The name of the service manifest in which this service type is defined." + }, + "ServiceManifestVersion": { + "type": "string", + "description": "The version of the service manifest in which this service type is defined." + }, + "IsServiceGroup": { + "type": "boolean", + "description": "Indicates whether the service is a service group. If it is, the property value is true otherwise false." + } + } + }, + "ServiceTypeInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceTypeInfo" + }, + "description": "List of service type information." + }, + "ServiceTypeManifest": { + "description": "Contains the manifest describing a service type registered as part of an application in a Service Fabric cluster.", + "properties": { + "Manifest": { + "type": "string", + "description": "The XML manifest as a string." + } + } + }, + "SingletonPartitionInformation": { + "description": "Information about a partition that is singleton. The services with singleton partitioning scheme are effectively non-partitioned. They only have one partition.", + "allOf": [ + { + "$ref": "#/definitions/PartitionInformation" + } + ], + "x-ms-discriminator-value": "Singleton" + }, + "StatefulServiceInfo": { + "description": "Information about a stateful Service Fabric service.", + "allOf": [ + { + "$ref": "#/definitions/ServiceInfo" + } + ], + "properties": { + "HasPersistedState": { + "description": "Whether the service has persisted state.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "Stateful" + }, + "StatefulServicePartitionInfo": { + "description": "Information about a partition of a stateful Service Fabric service..", + "allOf": [ + { + "$ref": "#/definitions/ServicePartitionInfo" + } + ], + "x-ms-discriminator-value": "Stateful", + "properties": { + "TargetReplicaSetSize": { + "type": "integer", + "format": "int64", + "description": "The target replica set size as a number." + }, + "MinReplicaSetSize": { + "type": "integer", + "format": "int64", + "description": "The minimum replica set size as a number." + }, + "AuxiliaryReplicaCount": { + "type": "integer", + "format": "int64", + "description": "The auxiliary replica count as a number. To use Auxiliary replicas the following must be true, AuxiliaryReplicaCount < (TargetReplicaSetSize+1)/2 and TargetReplicaSetSize >=3." + }, + "LastQuorumLossDuration": { + "type": "string", + "format": "duration", + "description": "The duration for which this partition was in quorum loss. If the partition is currently in quorum loss, it returns the duration since it has been in that state. This field is using ISO8601 format for specifying the duration." + }, + "PrimaryEpoch": { + "$ref": "#/definitions/Epoch", + "description": "An Epoch is a configuration number for the partition as a whole. When the configuration of the replica set changes, for example when the Primary replica changes, the operations that are replicated from the new Primary replica are said to be a new Epoch from the ones which were sent by the old Primary replica." + } + } + }, + "StatefulServiceReplicaHealth": { + "description": "Represents the health of the stateful service replica.\nContains the replica aggregated health state, the health events and the unhealthy evaluations.", + "x-ms-discriminator-value": "Stateful", + "allOf": [ + { + "$ref": "#/definitions/ReplicaHealth" + } + ], + "properties": { + "ReplicaId": { + "$ref": "#/definitions/ReplicaId", + "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id." + } + } + }, + "StatefulServiceReplicaHealthState": { + "x-ms-discriminator-value": "Stateful", + "description": "Represents the health state of the stateful service replica, which contains the replica ID and the aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaHealthState" + } + ], + "properties": { + "ReplicaId": { + "$ref": "#/definitions/ReplicaId", + "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id." + } + } + }, + "StatefulServiceTypeDescription": { + "description": "Describes a stateful service type defined in the service manifest of a provisioned application type.", + "allOf": [ + { + "$ref": "#/definitions/ServiceTypeDescription" + } + ], + "x-ms-discriminator-value": "Stateful", + "properties": { + "HasPersistedState": { + "type": "boolean", + "description": "A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false." + } + } + }, + "StatelessServiceInfo": { + "description": "Information about a stateless Service Fabric service.", + "allOf": [ + { + "$ref": "#/definitions/ServiceInfo" + } + ], + "x-ms-discriminator-value": "Stateless" + }, + "StatelessServiceInstanceHealth": { + "description": "Represents the health of the stateless service instance.\nContains the instance aggregated health state, the health events and the unhealthy evaluations.", + "x-ms-discriminator-value": "Stateless", + "allOf": [ + { + "$ref": "#/definitions/ReplicaHealth" + } + ], + "properties": { + "InstanceId": { + "$ref": "#/definitions/InstanceId", + "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId." + } + } + }, + "StatelessServiceInstanceHealthState": { + "x-ms-discriminator-value": "Stateless", + "description": "Represents the health state of the stateless service instance, which contains the instance ID and the aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaHealthState" + } + ], + "properties": { + "ReplicaId": { + "$ref": "#/definitions/ReplicaId", + "description": "Id of the stateless service instance on the wire this field is called ReplicaId." + } + } + }, + "StatelessServicePartitionInfo": { + "description": "Information about a partition of a stateless Service Fabric service.", + "allOf": [ + { + "$ref": "#/definitions/ServicePartitionInfo" + } + ], + "x-ms-discriminator-value": "Stateless", + "properties": { + "InstanceCount": { + "type": "integer", + "format": "int64", + "description": "Number of instances of this partition." + }, + "MinInstanceCount": { + "$ref": "#/definitions/MinInstanceCount", + "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + }, + "MinInstancePercentage": { + "$ref": "#/definitions/MinInstancePercentage", + "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + } + } + }, + "StatelessServiceTypeDescription": { + "description": "Describes a stateless service type defined in the service manifest of a provisioned application type.", + "allOf": [ + { + "$ref": "#/definitions/ServiceTypeDescription" + } + ], + "x-ms-discriminator-value": "Stateless", + "properties": { + "UseImplicitHost": { + "type": "boolean", + "description": "A flag indicating if this type is not implemented and hosted by a user service process, but is implicitly hosted by a system created process. This value is true for services using the guest executable services, false otherwise." + } + } + }, + "SystemApplicationHealthEvaluation": { + "x-ms-discriminator-value": "SystemApplication", + "description": "Represents health evaluation for the fabric:/System application, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state of the cluster is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the current aggregated health state of the system application. The types of the unhealthy evaluations can be DeployedApplicationsHealthEvaluation, ServicesHealthEvaluation or EventHealthEvaluation." + } + } + }, + "TargetApplicationName": { + "type": "string", + "description": "The name of the target application, including the 'fabric:' URI scheme." + }, + "TargetApplicationTypeVersion": { + "type": "string", + "description": "The target application type version (found in the application manifest) for the application upgrade." + }, + "TargetDeploymentName": { + "type": "string", + "description": "The name of the target deployment." + }, + "UnhealthyEvaluations": { + "description": "List of health evaluations that resulted in the current aggregated health state.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthEvaluationWrapper" + } + }, + "UpgradeDomainDeltaNodesCheckHealthEvaluation": { + "x-ms-discriminator-value": "UpgradeDomainDeltaNodesCheck", + "description": "Represents health evaluation for delta unhealthy cluster nodes in an upgrade domain, containing health evaluations for each unhealthy node that impacted current aggregated health state.\nCan be returned during cluster upgrade when cluster aggregated health state is Warning or Error.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "UpgradeDomainName": { + "type": "string", + "description": "Name of the upgrade domain where nodes health is currently evaluated." + }, + "BaselineErrorCount": { + "type": "integer", + "format": "int64", + "description": "Number of upgrade domain nodes with aggregated heath state Error in the health store at the beginning of the cluster upgrade." + }, + "BaselineTotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of upgrade domain nodes in the health store at the beginning of the cluster upgrade." + }, + "MaxPercentDeltaUnhealthyNodes": { + "type": "integer", + "description": "Maximum allowed percentage of upgrade domain delta unhealthy nodes from the ClusterUpgradeHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of upgrade domain nodes in the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health." + } + } + }, + "UpgradeDomainDeployedApplicationsHealthEvaluation": { + "x-ms-discriminator-value": "UpgradeDomainDeployedApplications", + "description": "Represents health evaluation for deployed applications in an upgrade domain, containing health evaluations for each unhealthy deployed application that impacted current aggregated health state. Can be returned when evaluating cluster health during cluster upgrade and the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "UpgradeDomainName": { + "type": "string", + "description": "Name of the upgrade domain where deployed applications health is currently evaluated." + }, + "MaxPercentUnhealthyDeployedApplications": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy deployed applications from the ClusterHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of deployed applications in the current upgrade domain." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy DeployedApplicationHealthEvaluation that impacted the aggregated health." + } + } + }, + "UpgradeDomainInfo": { + "description": "Information about an upgrade domain.", + "properties": { + "Name": { + "$ref": "#/definitions/UpgradeDomainName", + "description": "The name of the upgrade domain" + }, + "State": { + "$ref": "#/definitions/UpgradeDomainState", + "description": "The state of the upgrade domain." + } + } + }, + "UpgradeDomainInfoList": { + "type": "array", + "description": "List of upgrade domains and their statuses. Not applicable to node-by-node upgrades.", + "items": { + "$ref": "#/definitions/UpgradeDomainInfo" + } + }, + "UpgradeDomainName": { + "type": "string", + "description": "The name of the upgrade domain" + }, + "UpgradeDomainNodesHealthEvaluation": { + "x-ms-discriminator-value": "UpgradeDomainNodes", + "description": "Represents health evaluation for cluster nodes in an upgrade domain, containing health evaluations for each unhealthy node that impacted current aggregated health state. Can be returned when evaluating cluster health during cluster upgrade and the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "UpgradeDomainName": { + "type": "string", + "description": "Name of the upgrade domain where nodes health is currently evaluated." + }, + "MaxPercentUnhealthyNodes": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy nodes from the ClusterHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes in the current upgrade domain." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health." + } + } + }, + "UpgradeDomainState": { + "type": "string", + "description": "The state of the upgrade domain.", + "enum": [ + "Invalid", + "Pending", + "InProgress", + "Completed" + ], + "x-ms-enum": { + "name": "UpgradeDomainState", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade domain state is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Pending", + "description": "The upgrade domain has not started upgrading yet. The value is 1" + }, + { + "value": "InProgress", + "description": "The upgrade domain is being upgraded but not complete yet. The value is 2" + }, + { + "value": "Completed", + "description": "The upgrade domain has completed upgrade. The value is 3" + } + ] + } + }, + "UpgradeDomainTimeout": { + "type": "string", + "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.", + "default": "P10675199DT02H48M05.4775807S" + }, + "UpgradeDuration": { + "type": "string", + "description": "The estimated amount of time that the overall upgrade elapsed. 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.", + "default": "PT0H2M0S" + }, + "UpgradeKind": { + "type": "string", + "description": "The kind of upgrade out of the following possible values.", + "default": "Rolling", + "enum": [ + "Invalid", + "Rolling" + ], + "x-ms-enum": { + "name": "UpgradeKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Rolling", + "description": "The upgrade progresses one upgrade domain at a time. The value is 1" + } + ] + } + }, + "UpgradeMode": { + "type": "string", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred.", + "enum": [ + "Invalid", + "UnmonitoredAuto", + "UnmonitoredManual", + "Monitored", + "UnmonitoredDeferred" + ], + "default": "UnmonitoredAuto", + "x-ms-enum": { + "name": "UpgradeMode", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade mode is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "UnmonitoredAuto", + "description": "The upgrade will proceed automatically without performing any health monitoring. The value is 1" + }, + { + "value": "UnmonitoredManual", + "description": "The upgrade will stop after completing each upgrade domain, giving the opportunity to manually monitor health before proceeding. The value is 2" + }, + { + "value": "Monitored", + "description": "The upgrade will stop after completing each upgrade domain and automatically monitor health before proceeding. The value is 3" + }, + { + "value": "UnmonitoredDeferred", + "description": "Perform a node-by-node upgrade. No action is performed when upgrade starts; upgrade is applied on each node when it is deactivated with intent restart or higher. The value is 4" + } + ] + } + }, + "UpgradeSortOrder": { + "type": "string", + "description": "Defines the order in which an upgrade proceeds through the cluster.", + "enum": [ + "Invalid", + "Default", + "Numeric", + "Lexicographical", + "ReverseNumeric", + "ReverseLexicographical" + ], + "default": "Default", + "x-ms-enum": { + "name": "UpgradeSortOrder", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that this sort order is not valid. All Service Fabric enumerations have the invalid type. The value is 0." + }, + { + "value": "Default", + "description": "Indicates that the default sort order (as specified in cluster manifest) will be used. The value is 1." + }, + { + "value": "Numeric", + "description": "Indicates that forward numeric sort order (UD names sorted as numbers) will be used. The value is 2." + }, + { + "value": "Lexicographical", + "description": "Indicates that forward lexicographical sort order (UD names sorted as strings) will be used. The value is 3." + }, + { + "value": "ReverseNumeric", + "description": "Indicates that reverse numeric sort order (UD names sorted as numbers) will be used. The value is 4." + }, + { + "value": "ReverseLexicographical", + "description": "Indicates that reverse lexicographical sort order (UD names sorted as strings) will be used. The value is 5." + } + ] + } + }, + "UpgradeType": { + "type": "string", + "description": "The type of upgrade out of the following possible values.", + "default": "Rolling", + "enum": [ + "Invalid", + "Rolling", + "Rolling_ForceRestart" + ], + "x-ms-enum": { + "name": "UpgradeType", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Rolling", + "description": "The upgrade progresses one upgrade domain at a time. The value is 1." + }, + { + "value": "Rolling_ForceRestart", + "description": "The upgrade gets restarted by force. The value is 2." + } + ] + } + }, + "UpgradeReplicaSetCheckTimeout": { + "type": "integer", + "format": "int64", + "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).", + "default": 42949672925 + }, + "UpgradeState": { + "type": "string", + "description": "The state of the upgrade domain.", + "enum": [ + "Invalid", + "RollingBackInProgress", + "RollingBackCompleted", + "RollingForwardPending", + "RollingForwardInProgress", + "RollingForwardCompleted", + "Failed" + ], + "x-ms-enum": { + "name": "UpgradeState", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade state is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "RollingBackInProgress", + "description": "The upgrade is rolling back to the previous version but is not complete yet. The value is 1" + }, + { + "value": "RollingBackCompleted", + "description": "The upgrade has finished rolling back. The value is 2" + }, + { + "value": "RollingForwardPending", + "description": "The current upgrade domain has finished upgrading. The overall upgrade is waiting for an explicit move next request in UnmonitoredManual mode or performing health checks in Monitored mode. The value is 3" + }, + { + "value": "RollingForwardInProgress", + "description": "The upgrade is rolling forward to the target version but is not complete yet. The value is 4" + }, + { + "value": "RollingForwardCompleted", + "description": "The upgrade has finished rolling forward. The value is 5" + }, + { + "value": "Failed", + "description": "The upgrade has failed and is unable to execute FailureAction. The value is 6" + } + ] + } + }, + "UpgradeTimeout": { + "type": "string", + "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.", + "default": "P10675199DT02H48M05.4775807S" + }, + "UpgradeUnitInfo": { + "description": "Information about an upgrade unit.", + "properties": { + "Name": { + "$ref": "#/definitions/UpgradeUnitName", + "description": "The name of the upgrade unit" + }, + "State": { + "$ref": "#/definitions/UpgradeUnitState", + "description": "The state of the upgrade unit." + } + } + }, + "UpgradeUnitInfoList": { + "type": "array", + "description": "List of upgrade units and their statuses.", + "items": { + "$ref": "#/definitions/UpgradeUnitInfo" + } + }, + "UpgradeUnitName": { + "type": "string", + "description": "The name of the upgrade unit" + }, + "UpgradeUnitState": { + "type": "string", + "description": "The state of the upgrade unit.", + "enum": [ + "Invalid", + "Pending", + "InProgress", + "Completed", + "Failed" + ], + "x-ms-enum": { + "name": "UpgradeUnitState", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade unit state is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Pending", + "description": "The upgrade unit has not started upgrading yet. The value is 1" + }, + { + "value": "InProgress", + "description": "The upgrade unit is being upgraded but not complete yet. The value is 2" + }, + { + "value": "Completed", + "description": "The upgrade unit has completed upgrade. The value is 3" + }, + { + "value": "Failed", + "description": "The upgrade unit has failed to upgrade. The value is 4" + } + ] + } + }, + "WaitForInbuildReplicaSafetyCheck": { + "description": "Safety check that waits for the replica build operation to finish. This indicates that there is a replica that is going through the copy or is providing data for building another replica. Bring the node down will abort this copy operation which are typically expensive involving data movements.", + "allOf": [ + { + "$ref": "#/definitions/PartitionSafetyCheck" + } + ], + "x-ms-discriminator-value": "WaitForInbuildReplica" + }, + "WaitForPrimaryPlacementSafetyCheck": { + "description": "Safety check that waits for the primary replica that was moved out of the node due to upgrade to be placed back again on that node.", + "allOf": [ + { + "$ref": "#/definitions/PartitionSafetyCheck" + } + ], + "x-ms-discriminator-value": "WaitForPrimaryPlacement" + }, + "WaitForPrimarySwapSafetyCheck": { + "description": "Safety check that waits for the primary replica to be moved out of the node before starting an upgrade to ensure the availability of the primary replica for the partition.", + "allOf": [ + { + "$ref": "#/definitions/PartitionSafetyCheck" + } + ], + "x-ms-discriminator-value": "WaitForPrimarySwap" + }, + "WaitForReconfigurationSafetyCheck": { + "description": "Safety check that waits for the current reconfiguration of the partition to be completed before starting an upgrade.", + "allOf": [ + { + "$ref": "#/definitions/PartitionSafetyCheck" + } + ], + "x-ms-discriminator-value": "WaitForReconfiguration" + }, + "LoadMetricReport": { + "description": "Represents the load metric report which contains the time metric was reported, its name and value.", + "properties": { + "LastReportedUtc": { + "type": "string", + "format": "date-time", + "description": "Gets the UTC time when the load was reported." + }, + "Name": { + "type": "string", + "description": "The name of the load metric." + }, + "Value": { + "type": "string", + "format": "int32", + "description": "The value of the load metric. In future releases of Service Fabric this parameter will be deprecated in favor of CurrentValue." + }, + "CurrentValue": { + "type": "string", + "format": "double", + "description": "The value of the load metric." + } + } + }, + "PartitionLoadInformation": { + "description": "Represents load information for a partition, which contains the primary, secondary and auxiliary reported load metrics.\nIn case there is no load reported, PartitionLoadInformation will contain the default load for the service of the partition.\nFor default loads, LoadMetricReport's LastReportedUtc is set to 0.", + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "Id of the partition." + }, + "PrimaryLoadMetricReports": { + "type": "array", + "description": "Array of load reports from the primary replica for this partition.", + "items": { + "$ref": "#/definitions/LoadMetricReport" + } + }, + "SecondaryLoadMetricReports": { + "type": "array", + "description": "Array of aggregated load reports from all secondary replicas for this partition.\nArray only contains the latest reported load for each metric.", + "items": { + "$ref": "#/definitions/LoadMetricReport" + } + }, + "AuxiliaryLoadMetricReports": { + "type": "array", + "description": "Array of aggregated load reports from all auxiliary replicas for this partition.\nArray only contains the latest reported load for each metric.", + "items": { + "$ref": "#/definitions/LoadMetricReport" + } + } + } + }, + "StatefulServiceReplicaInfo": { + "x-ms-discriminator-value": "Stateful", + "description": "Represents a stateful service replica. This includes information about the identity, role, status, health, node name, uptime, and other details about the replica.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaInfo" + } + ], + "properties": { + "ReplicaRole": { + "$ref": "#/definitions/ReplicaRole", + "description": "The role of a replica of a stateful service." + }, + "ReplicaId": { + "$ref": "#/definitions/ReplicaId", + "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id." + } + } + }, + "StatelessServiceInstanceInfo": { + "x-ms-discriminator-value": "Stateless", + "description": "Represents a stateless service instance. This includes information about the identity, status, health, node name, uptime, and other details about the instance.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaInfo" + } + ], + "properties": { + "InstanceId": { + "$ref": "#/definitions/InstanceId", + "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId." + } + } + }, + "ClusterFabricCodeVersionString": { + "type": "string", + "description": "The ServiceFabric code version of the cluster." + }, + "ClusterFabricConfigVersionString": { + "type": "string", + "description": "The cluster configuration version (specified in the cluster manifest)." + }, + "ClusterUpgradeDescriptionObject": { + "description": "Represents a ServiceFabric cluster upgrade", + "properties": { + "ConfigVersion": { + "$ref": "#/definitions/ClusterFabricConfigVersionString", + "description": "The cluster configuration version (specified in the cluster manifest)." + }, + "CodeVersion": { + "$ref": "#/definitions/ClusterFabricCodeVersionString", + "description": "The ServiceFabric code version of the cluster." + }, + "UpgradeKind": { + "$ref": "#/definitions/UpgradeKind", + "description": "The kind of upgrade out of the following possible values." + }, + "RollingUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred." + }, + "UpgradeReplicaSetCheckTimeoutInSeconds": { + "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout", + "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)." + }, + "SortOrder": { + "$ref": "#/definitions/UpgradeSortOrder", + "description": "Defines the order in which an upgrade proceeds through the cluster." + }, + "EnableDeltaHealthEvaluation": { + "$ref": "#/definitions/DeltaHealthEvaluationBool", + "description": "When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain." + }, + "MonitoringPolicy": { + "$ref": "#/definitions/MonitoringPolicyDescription", + "description": "Describes the parameters for monitoring an upgrade in Monitored mode." + }, + "ClusterHealthPolicy": { + "$ref": "#/definitions/ClusterHealthPolicy", + "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node." + }, + "ClusterUpgradeHealthPolicy": { + "$ref": "#/definitions/ClusterUpgradeHealthPolicyObject", + "description": "Defines a health policy used to evaluate the health of the cluster during a cluster upgrade." + }, + "ApplicationHealthPolicyMap": { + "$ref": "#/definitions/ApplicationHealthPolicyMapObject", + "description": "Represents the map of application health policies for a ServiceFabric cluster upgrade" + } + } + }, + "ClusterUpgradeHealthPolicyObject": { + "description": "Defines a health policy used to evaluate the health of the cluster during a cluster upgrade.", + "properties": { + "MaxPercentDeltaUnhealthyNodes": { + "type": "integer", + "description": "The maximum allowed percentage of nodes health degradation allowed during cluster upgrades. The 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. The check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. The default value is 10%.", + "maximum": 100, + "minimum": 0 + }, + "MaxPercentUpgradeDomainDeltaUnhealthyNodes": { + "type": "integer", + "description": "The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades. The 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. The 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. The default value is 15%.", + "maximum": 100, + "minimum": 0 + } + } + }, + "ClusterUpgradeProgressObject": { + "description": "Information about a cluster upgrade.", + "properties": { + "CodeVersion": { + "$ref": "#/definitions/ClusterFabricCodeVersionString", + "description": "The ServiceFabric code version of the cluster." + }, + "ConfigVersion": { + "$ref": "#/definitions/ClusterFabricConfigVersionString", + "description": "The cluster configuration version (specified in the cluster manifest)." + }, + "UpgradeDomains": { + "$ref": "#/definitions/UpgradeDomainInfoList", + "description": "List of upgrade domains and their statuses. Not applicable to node-by-node upgrades." + }, + "UpgradeUnits": { + "$ref": "#/definitions/UpgradeUnitInfoList", + "description": "List of upgrade units and their statuses." + }, + "UpgradeState": { + "$ref": "#/definitions/UpgradeState", + "description": "The state of the upgrade domain." + }, + "NextUpgradeDomain": { + "$ref": "#/definitions/NextUpgradeDomain", + "description": "The name of the next upgrade domain to be processed. Not applicable to node-by-node upgrades." + }, + "RollingUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred." + }, + "UpgradeDescription": { + "$ref": "#/definitions/ClusterUpgradeDescriptionObject", + "description": "Represents a ServiceFabric cluster upgrade" + }, + "UpgradeDurationInMilliseconds": { + "$ref": "#/definitions/UpgradeDurationString", + "description": "The estimated elapsed time spent processing the current overall upgrade." + }, + "UpgradeDomainDurationInMilliseconds": { + "$ref": "#/definitions/UpgradeDomainDurationString", + "description": "The estimated elapsed time spent processing the current upgrade domain. Not applicable to node-by-node upgrades." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of health evaluations that resulted in the current aggregated health state." + }, + "CurrentUpgradeDomainProgress": { + "$ref": "#/definitions/CurrentUpgradeDomainProgressInfo", + "description": "Information about the current in-progress upgrade domain. Not applicable to node-by-node upgrades." + }, + "CurrentUpgradeUnitsProgress": { + "$ref": "#/definitions/CurrentUpgradeUnitsProgressInfo", + "description": "Information about the current in-progress upgrade units." + }, + "StartTimestampUtc": { + "$ref": "#/definitions/UpgradeStartTimeUTCString", + "description": "The start time of the upgrade in UTC." + }, + "FailureTimestampUtc": { + "$ref": "#/definitions/UpgradeFailureTimeUTCString", + "description": "The failure time of the upgrade in UTC." + }, + "FailureReason": { + "$ref": "#/definitions/FailureReason", + "description": "The cause of an upgrade failure that resulted in FailureAction being executed." + }, + "UpgradeDomainProgressAtFailure": { + "$ref": "#/definitions/FailedUpgradeDomainProgressObject", + "description": "The detailed upgrade progress for nodes in the current upgrade domain at the point of failure. Not applicable to node-by-node upgrades." + }, + "IsNodeByNode": { + "type": "boolean", + "description": "Indicates whether this upgrade is node-by-node.", + "default": false + } + } + }, + "ClusterConfigurationUpgradeDescription": { + "description": "Describes the parameters for a standalone cluster configuration upgrade.", + "properties": { + "ClusterConfig": { + "type": "string", + "description": "The cluster configuration as a JSON string. For example, [this file](https://github.com/Azure-Samples/service-fabric-dotnet-standalone-cluster-configuration/blob/master/Samples/ClusterConfig.Unsecure.DevCluster.json) contains JSON describing the [nodes and other properties of the cluster](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-manifest)." + }, + "HealthCheckRetryTimeout": { + "type": "string", + "format": "duration", + "description": "The length of time between attempts to perform health checks if the application or cluster is not healthy.", + "default": "PT0H0M0S" + }, + "HealthCheckWaitDurationInSeconds": { + "type": "string", + "format": "duration", + "description": "The length of time to wait after completing an upgrade domain before starting the health checks process.", + "default": "PT0H0M0S" + }, + "HealthCheckStableDurationInSeconds": { + "type": "string", + "format": "duration", + "description": "The length of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain.", + "default": "PT0H0M0S" + }, + "UpgradeDomainTimeoutInSeconds": { + "type": "string", + "format": "duration", + "description": "The timeout for the upgrade domain.", + "default": "PT0H0M0S" + }, + "UpgradeTimeoutInSeconds": { + "type": "string", + "format": "duration", + "description": "The upgrade timeout.", + "default": "PT0H0M0S" + }, + "MaxPercentUnhealthyApplications": { + "type": "integer", + "description": "The maximum allowed percentage of unhealthy applications during the upgrade. Allowed values are integer values from zero to 100.", + "default": 0 + }, + "MaxPercentUnhealthyNodes": { + "type": "integer", + "description": "The maximum allowed percentage of unhealthy nodes during the upgrade. Allowed values are integer values from zero to 100.", + "default": 0 + }, + "MaxPercentDeltaUnhealthyNodes": { + "type": "integer", + "description": "The maximum allowed percentage of delta health degradation during the upgrade. Allowed values are integer values from zero to 100.", + "default": 0 + }, + "MaxPercentUpgradeDomainDeltaUnhealthyNodes": { + "type": "integer", + "description": "The maximum allowed percentage of upgrade domain delta health degradation during the upgrade. Allowed values are integer values from zero to 100.", + "default": 0 + }, + "ApplicationHealthPolicies": { + "$ref": "#/definitions/ApplicationHealthPolicies", + "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities." + } + }, + "required": [ + "ClusterConfig" + ] + }, + "DeltaHealthEvaluationBool": { + "type": "boolean", + "description": "When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain." + }, + "FailedUpgradeDomainProgressObject": { + "description": "The detailed upgrade progress for nodes in the current upgrade domain at the point of failure. Not applicable to node-by-node upgrades.", + "properties": { + "DomainName": { + "$ref": "#/definitions/UpgradeDomainName", + "description": "The name of the upgrade domain" + }, + "NodeUpgradeProgressList": { + "$ref": "#/definitions/NodeUpgradeProgressInfoList", + "description": "List of upgrading nodes and their statuses" + } + } + }, + "UpgradeDomainDurationString": { + "type": "string", + "description": "The estimated elapsed time spent processing the current upgrade domain. Not applicable to node-by-node upgrades." + }, + "UpgradeDurationString": { + "type": "string", + "description": "The estimated elapsed time spent processing the current overall upgrade." + }, + "UpgradeFailureTimeUTCString": { + "type": "string", + "description": "The failure time of the upgrade in UTC." + }, + "UpgradeStartTimeUTCString": { + "type": "string", + "description": "The start time of the upgrade in UTC." + }, + "UpgradeOrchestrationServiceState": { + "description": "Service state of Service Fabric Upgrade Orchestration Service.", + "properties": { + "ServiceState": { + "type": "string", + "description": "The state of Service Fabric Upgrade Orchestration Service." + } + } + }, + "UpgradeOrchestrationServiceStateSummary": { + "description": "Service state summary of Service Fabric Upgrade Orchestration Service.", + "properties": { + "CurrentCodeVersion": { + "type": "string", + "description": "The current code version of the cluster." + }, + "CurrentManifestVersion": { + "type": "string", + "description": "The current manifest version of the cluster." + }, + "TargetCodeVersion": { + "type": "string", + "description": "The target code version of the cluster." + }, + "TargetManifestVersion": { + "type": "string", + "description": "The target manifest version of the cluster." + }, + "PendingUpgradeType": { + "type": "string", + "description": "The type of the pending upgrade of the cluster." + } + } + }, + "ApplicationTypeImageStorePath": { + "description": "Path description for the application package in the image store specified during the prior copy operation.", + "required": [ + "ApplicationTypeBuildPath" + ], + "properties": { + "ApplicationTypeBuildPath": { + "type": "string", + "description": "The relative image store path to the application package." + } + } + }, + "UnprovisionApplicationTypeDescriptionInfo": { + "description": "Describes the operation to unregister or unprovision an application type and its version that was registered with the Service Fabric.", + "required": [ + "ApplicationTypeVersion" + ], + "properties": { + "ApplicationTypeVersion": { + "$ref": "#/definitions/ApplicationTypeVersion", + "description": "The version of the application type as defined in the application manifest." + }, + "Async": { + "type": "boolean", + "description": "The flag indicating whether or not unprovision should occur asynchronously. When set to true, the unprovision operation returns when the request is accepted by the system, and the unprovision operation continues without any timeout limit. The default value is false. However, we recommend setting it to true for large application packages that were provisioned." + } + } + }, + "CodePackageName": { + "type": "string", + "description": "The name of the code package defined in the service manifest." + }, + "CodePackageEntryPointStatistics": { + "description": "Statistics about setup or main entry point of a code package deployed on a Service Fabric node.", + "properties": { + "LastExitCode": { + "type": "string", + "description": "The last exit code of the entry point." + }, + "LastActivationTime": { + "type": "string", + "format": "date-time", + "description": "The last time (in UTC) when Service Fabric attempted to run the entry point." + }, + "LastExitTime": { + "type": "string", + "format": "date-time", + "description": "The last time (in UTC) when the entry point finished running." + }, + "LastSuccessfulActivationTime": { + "type": "string", + "format": "date-time", + "description": "The last time (in UTC) when the entry point ran successfully." + }, + "LastSuccessfulExitTime": { + "type": "string", + "format": "date-time", + "description": "The last time (in UTC) when the entry point finished running gracefully." + }, + "ActivationCount": { + "type": "string", + "description": "Number of times the entry point has run." + }, + "ActivationFailureCount": { + "type": "string", + "description": "Number of times the entry point failed to run." + }, + "ContinuousActivationFailureCount": { + "type": "string", + "description": "Number of times the entry point continuously failed to run." + }, + "ExitCount": { + "type": "string", + "description": "Number of times the entry point finished running." + }, + "ExitFailureCount": { + "type": "string", + "description": "Number of times the entry point failed to exit gracefully." + }, + "ContinuousExitFailureCount": { + "type": "string", + "description": "Number of times the entry point continuously failed to exit gracefully." + } + } + }, + "DeployedCodePackageInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedCodePackageInfo" + }, + "description": "List of deployed code package information." + }, + "DeployedCodePackageInfo": { + "description": "Information about code package deployed on a Service Fabric node.", + "properties": { + "Name": { + "$ref": "#/definitions/CodePackageName", + "description": "The name of the code package." + }, + "Version": { + "type": "string", + "description": "The version of the code package specified in service manifest." + }, + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "The name of service manifest that specified this code package." + }, + "ServicePackageActivationId": { + "$ref": "#/definitions/ServicePackageActivationId", + "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string." + }, + "HostType": { + "$ref": "#/definitions/HostType", + "description": "Specifies the type of host for main entry point of a code package as specified in service manifest." + }, + "HostIsolationMode": { + "$ref": "#/definitions/HostIsolationMode", + "description": "Specifies the isolation mode of main entry point of a code package when it's host type is ContainerHost. This is specified as part of container host policies in application manifest while importing service manifest." + }, + "Status": { + "$ref": "#/definitions/DeploymentStatus", + "description": "Specifies the status of a deployed application or service package on a Service Fabric node." + }, + "RunFrequencyInterval": { + "type": "string", + "description": "The interval at which code package is run. This is used for periodic code package." + }, + "SetupEntryPoint": { + "$ref": "#/definitions/CodePackageEntryPoint", + "description": "Information about setup or main entry point of a code package deployed on a Service Fabric node." + }, + "MainEntryPoint": { + "$ref": "#/definitions/CodePackageEntryPoint", + "description": "Information about setup or main entry point of a code package deployed on a Service Fabric node." + } + } + }, + "DeploymentStatus": { + "type": "string", + "description": "Specifies the status of a deployed application or service package on a Service Fabric node.", + "enum": [ + "Invalid", + "Downloading", + "Activating", + "Active", + "Upgrading", + "Deactivating", + "RanToCompletion", + "Failed" + ], + "x-ms-enum": { + "name": "DeploymentStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates status of the application or service package is not known or invalid. The value is 0." + }, + { + "value": "Downloading", + "description": "Indicates the application or service package is being downloaded to the node from the ImageStore. The value is 1." + }, + { + "value": "Activating", + "description": "Indicates the application or service package is being activated. The value is 2." + }, + { + "value": "Active", + "description": "Indicates the application or service package is active the node. The value is 3." + }, + { + "value": "Upgrading", + "description": "Indicates the application or service package is being upgraded. The value is 4." + }, + { + "value": "Deactivating", + "description": "Indicates the application or service package is being deactivated. The value is 5." + }, + { + "value": "RanToCompletion", + "description": "Indicates the application or service package has ran to completion successfully. The value is 6." + }, + { + "value": "Failed", + "description": "Indicates the application or service package has failed to run to completion. The value is 7." + } + ] + } + }, + "EntryPointStatus": { + "type": "string", + "description": "Specifies the status of the code package entry point deployed on a Service Fabric node.", + "enum": [ + "Invalid", + "Pending", + "Starting", + "Started", + "Stopping", + "Stopped" + ], + "x-ms-enum": { + "name": "EntryPointStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates status of entry point is not known or invalid. The value is 0." + }, + { + "value": "Pending", + "description": "Indicates the entry point is scheduled to be started. The value is 1." + }, + { + "value": "Starting", + "description": "Indicates the entry point is being started. The value is 2." + }, + { + "value": "Started", + "description": "Indicates the entry point was started successfully and is running. The value is 3." + }, + { + "value": "Stopping", + "description": "Indicates the entry point is being stopped. The value is 4." + }, + { + "value": "Stopped", + "description": "Indicates the entry point is not running. The value is 5." + } + ] + } + }, + "CodePackageEntryPoint": { + "description": "Information about setup or main entry point of a code package deployed on a Service Fabric node.", + "properties": { + "EntryPointLocation": { + "type": "string", + "description": "The location of entry point executable on the node." + }, + "ProcessId": { + "type": "string", + "description": "The process ID of the entry point." + }, + "RunAsUserName": { + "type": "string", + "description": "The user name under which entry point executable is run on the node." + }, + "CodePackageEntryPointStatistics": { + "$ref": "#/definitions/CodePackageEntryPointStatistics", + "description": "Statistics about setup or main entry point of a code package deployed on a Service Fabric node." + }, + "Status": { + "$ref": "#/definitions/EntryPointStatus", + "description": "Specifies the status of the code package entry point deployed on a Service Fabric node." + }, + "NextActivationTime": { + "type": "string", + "format": "date-time", + "description": "The time (in UTC) when the entry point executable will be run next." + }, + "InstanceId": { + "$ref": "#/definitions/CodePackageInstanceId", + "description": "The instance ID for current running entry point. For a code package setup entry point (if specified) runs first and after it finishes main entry point is started. Each time entry point executable is run, its instance id will change." + } + } + }, + "Chaos": { + "description": "Contains a description of Chaos.", + "properties": { + "ChaosParameters": { + "$ref": "#/definitions/ChaosParameters", + "description": "If Chaos is running, these are the parameters Chaos is running with." + }, + "Status": { + "$ref": "#/definitions/ChaosStatus", + "description": "Current status of the Chaos run." + }, + "ScheduleStatus": { + "$ref": "#/definitions/ChaosScheduleStatus", + "description": "Current status of the schedule." + } + } + }, + "ChaosStatus": { + "type": "string", + "description": "Current status of the Chaos run.", + "enum": [ + "Invalid", + "Running", + "Stopped" + ], + "x-ms-enum": { + "name": "ChaosStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid Chaos status. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Running", + "description": "Indicates that Chaos is not stopped. The value is one." + }, + { + "value": "Stopped", + "description": "Indicates that Chaos is not scheduling further faults. The value is two." + } + ] + } + }, + "ChaosScheduleStatus": { + "type": "string", + "description": "Current status of the schedule.", + "enum": [ + "Invalid", + "Stopped", + "Active", + "Expired", + "Pending" + ], + "x-ms-enum": { + "name": "ChaosScheduleStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid Chaos Schedule status. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Stopped", + "description": "Indicates that the schedule is stopped and not being used to schedule runs of chaos. The value is one." + }, + { + "value": "Active", + "description": "Indicates that the schedule is active and is being used to schedule runs of Chaos. The value is two." + }, + { + "value": "Expired", + "description": "Indicates that the schedule is expired and will no longer be used to schedule runs of Chaos. The value is three." + }, + { + "value": "Pending", + "description": "Indicates that the schedule is pending and is not yet being used to schedule runs of Chaos but will be used when the start time is passed. The value is four." + } + ] + } + }, + "ChaosContextMap": { + "additionalProperties": { + "type": "string" + }, + "description": "Describes a map that contains a collection of ChaosContextMapItem's." + }, + "ChaosContext": { + "description": "Describes a map, which is a collection of (string, string) type key-value pairs. The map can be used to record information about\nthe Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most 4095 characters long.\nThis map is set by the starter of the Chaos run to optionally store the context about the specific run.", + "properties": { + "Map": { + "$ref": "#/definitions/ChaosContextMap", + "description": "Describes a map that contains a collection of ChaosContextMapItem's." + } + } + }, + "ChaosParameters": { + "description": "Defines all the parameters to configure a Chaos run.", + "properties": { + "TimeToRunInSeconds": { + "type": "string", + "description": "Total time (in seconds) for which Chaos will run before automatically stopping. The maximum allowed value is 4,294,967,295 (System.UInt32.MaxValue).", + "default": "4294967295" + }, + "MaxClusterStabilizationTimeoutInSeconds": { + "type": "integer", + "format": "int64", + "description": "The maximum amount of time to wait for all cluster entities to become stable and healthy. Chaos executes in iterations and at the start of each iteration it validates the health of cluster entities.\nDuring validation if a cluster entity is not stable and healthy within MaxClusterStabilizationTimeoutInSeconds, Chaos generates a validation failed event.", + "default": 60, + "minimum": 0, + "maximum": 4294967295 + }, + "MaxConcurrentFaults": { + "type": "integer", + "format": "int64", + "description": "MaxConcurrentFaults is the maximum number of concurrent faults induced per iteration.\nChaos executes in iterations and two consecutive iterations are separated by a validation phase.\nThe higher the concurrency, the more aggressive the injection of faults, leading to inducing more complex series of states to uncover bugs.\nThe recommendation is to start with a value of 2 or 3 and to exercise caution while moving up.", + "default": 1, + "minimum": 0, + "maximum": 4294967295 + }, + "EnableMoveReplicaFaults": { + "type": "boolean", + "description": "Enables or disables the move primary and move secondary faults.", + "default": true + }, + "WaitTimeBetweenFaultsInSeconds": { + "type": "integer", + "format": "int64", + "description": "Wait time (in seconds) between consecutive faults within a single iteration.\nThe larger the value, the lower the overlapping between faults and the simpler the sequence of state transitions that the cluster goes through.\nThe recommendation is to start with a value between 1 and 5 and exercise caution while moving up.", + "default": 20, + "minimum": 0, + "maximum": 4294967295 + }, + "WaitTimeBetweenIterationsInSeconds": { + "type": "integer", + "format": "int64", + "description": "Time-separation (in seconds) between two consecutive iterations of Chaos.\nThe larger the value, the lower the fault injection rate.", + "default": 30, + "minimum": 0, + "maximum": 4294967295 + }, + "ClusterHealthPolicy": { + "$ref": "#/definitions/ClusterHealthPolicy", + "description": "Passed-in cluster health policy is used to validate health of the cluster in between Chaos iterations. If the cluster health is in error or if an unexpected exception happens during fault execution--to provide the cluster with some time to recuperate--Chaos will wait for 30 minutes before the next health-check." + }, + "Context": { + "$ref": "#/definitions/ChaosContext", + "description": "Describes a map, which is a collection of (string, string) type key-value pairs. The map can be used to record information about\nthe Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most 4095 characters long.\nThis map is set by the starter of the Chaos run to optionally store the context about the specific run." + }, + "ChaosTargetFilter": { + "$ref": "#/definitions/ChaosTargetFilter", + "description": "List of cluster entities to target for Chaos faults.\nThis filter can be used to target Chaos faults only to certain node types or only to certain application instances. If ChaosTargetFilter is not used, Chaos faults all cluster entities.\nIf ChaosTargetFilter is used, Chaos faults only the entities that meet the ChaosTargetFilter specification." + } + } + }, + "ChaosParametersDictionaryItem": { + "description": "Defines an item in ChaosParametersDictionary of the Chaos Schedule.", + "required": [ + "Key", + "Value" + ], + "properties": { + "Key": { + "type": "string", + "description": "The key identifying the Chaos Parameter in the dictionary. This key is referenced by Chaos Schedule Jobs." + }, + "Value": { + "$ref": "#/definitions/ChaosParameters", + "description": "Defines all the parameters to configure a Chaos run." + } + } + }, + "ChaosEvent": { + "discriminator": "Kind", + "description": "Represents an event generated during a Chaos run.", + "properties": { + "Kind": { + "$ref": "#/definitions/ChaosEventKind", + "description": "The kind of Chaos event." + }, + "TimeStampUtc": { + "type": "string", + "description": "The UTC timestamp when this Chaos event was generated.", + "format": "date-time" + } + }, + "required": [ + "Kind", + "TimeStampUtc" + ] + }, + "ChaosEventWrapper": { + "description": "Wrapper object for Chaos event.", + "properties": { + "ChaosEvent": { + "$ref": "#/definitions/ChaosEvent", + "description": "Represents an event generated during a Chaos run." + } + } + }, + "ChaosEventKind": { + "type": "string", + "description": "The kind of Chaos event.", + "enum": [ + "Invalid", + "Started", + "ExecutingFaults", + "Waiting", + "ValidationFailed", + "TestError", + "Stopped" + ], + "x-ms-enum": { + "name": "ChaosEventKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid Chaos event kind. All Service Fabric enumerations have the invalid type." + }, + { + "value": "Started", + "description": "Indicates a Chaos event that gets generated when Chaos is started." + }, + { + "value": "ExecutingFaults", + "description": "Indicates a Chaos event that gets generated when Chaos has decided on the faults for an iteration. This Chaos event contains the details of the faults as a list of strings." + }, + { + "value": "Waiting", + "description": "Indicates a Chaos event that gets generated when Chaos is waiting for the cluster to become ready for faulting, for example, Chaos may be waiting for the on-going upgrade to finish." + }, + { + "value": "ValidationFailed", + "description": "Indicates a Chaos event that gets generated when the cluster entities do not become stable and healthy within ChaosParameters.MaxClusterStabilizationTimeoutInSeconds." + }, + { + "value": "TestError", + "description": "Indicates a Chaos event that gets generated when an unexpected event has occurred in the Chaos engine, for example, due to the cluster snapshot being inconsistent, while faulting a faultable entity Chaos found that the entity was already faulted." + }, + { + "value": "Stopped", + "description": "Indicates a Chaos event that gets generated when Chaos stops because either the user issued a stop or the time to run was up." + } + ] + } + }, + "ChaosEventsSegment": { + "description": "Contains the list of Chaos events and the continuation token to get the next segment.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "History": { + "$ref": "#/definitions/ChaosEventHistory", + "description": "List of Chaos events that meet the user-supplied criteria." + } + } + }, + "ChaosScheduleDescription": { + "description": "Defines the Chaos Schedule used by Chaos and the version of the Chaos Schedule. The version value wraps back to 0 after surpassing 2,147,483,647.", + "properties": { + "Version": { + "description": "The version number of the Schedule.", + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "Schedule": { + "$ref": "#/definitions/ChaosSchedule", + "description": "Defines the schedule used by Chaos." + } + } + }, + "ChaosSchedule": { + "description": "Defines the schedule used by Chaos.", + "properties": { + "StartDate": { + "type": "string", + "format": "date-time", + "description": "The date and time Chaos will start using this schedule.", + "default": "1601-01-01T00:00:00Z" + }, + "ExpiryDate": { + "type": "string", + "format": "date-time", + "description": "The date and time Chaos will continue to use this schedule until.", + "default": "9999-12-31T23:59:59.999Z" + }, + "ChaosParametersDictionary": { + "type": "array", + "description": "A mapping of string names to Chaos Parameters to be referenced by Chaos Schedule Jobs.", + "items": { + "$ref": "#/definitions/ChaosParametersDictionaryItem" + } + }, + "Jobs": { + "description": "A list of all Chaos Schedule Jobs that will be automated by the schedule.", + "type": "array", + "items": { + "$ref": "#/definitions/ChaosScheduleJob" + } + } + } + }, + "ChaosScheduleJob": { + "description": "Defines a repetition rule and parameters of Chaos to be used with the Chaos Schedule.", + "properties": { + "ChaosParameters": { + "type": "string", + "description": "A reference to which Chaos Parameters of the Chaos Schedule to use." + }, + "Days": { + "$ref": "#/definitions/ChaosScheduleJobActiveDaysOfWeek", + "description": "Defines the days of the week that a Chaos Schedule Job will run for." + }, + "Times": { + "description": "A list of Time Ranges that specify when during active days that this job will run. The times are interpreted as UTC.", + "type": "array", + "items": { + "$ref": "#/definitions/TimeRange" + } + } + } + }, + "ChaosScheduleJobActiveDaysOfWeek": { + "description": "Defines the days of the week that a Chaos Schedule Job will run for.", + "properties": { + "Sunday": { + "type": "boolean", + "description": "Indicates if the Chaos Schedule Job will run on Sunday", + "default": false + }, + "Monday": { + "type": "boolean", + "description": "Indicates if the Chaos Schedule Job will run on Monday", + "default": false + }, + "Tuesday": { + "type": "boolean", + "description": "Indicates if the Chaos Schedule Job will run on Tuesday", + "default": false + }, + "Wednesday": { + "type": "boolean", + "description": "Indicates if the Chaos Schedule Job will run on Wednesday", + "default": false + }, + "Thursday": { + "type": "boolean", + "description": "Indicates if the Chaos Schedule Job will run on Thursday", + "default": false + }, + "Friday": { + "type": "boolean", + "description": "Indicates if the Chaos Schedule Job will run on Friday", + "default": false + }, + "Saturday": { + "type": "boolean", + "description": "Indicates if the Chaos Schedule Job will run on Saturday", + "default": false + } + } + }, + "TimeRange": { + "description": "Defines a time range in a 24 hour day specified by a start and end time.", + "properties": { + "StartTime": { + "$ref": "#/definitions/TimeOfDay", + "description": "Defines an hour and minute of the day specified in 24 hour time." + }, + "EndTime": { + "$ref": "#/definitions/TimeOfDay", + "description": "Defines an hour and minute of the day specified in 24 hour time." + } + } + }, + "TimeOfDay": { + "description": "Defines an hour and minute of the day specified in 24 hour time.", + "properties": { + "Hour": { + "type": "integer", + "format": "int32", + "description": "Represents the hour of the day. Value must be between 0 and 23 inclusive.", + "minimum": 0, + "maximum": 23 + }, + "Minute": { + "type": "integer", + "format": "int32", + "description": "Represents the minute of the hour. Value must be between 0 to 59 inclusive.", + "minimum": 0, + "maximum": 59 + } + } + }, + "ExecutingFaultsChaosEvent": { + "description": "Describes a Chaos event that gets generated when Chaos has decided on the faults for an iteration. This Chaos event contains the details of the faults as a list of strings.", + "x-ms-discriminator-value": "ExecutingFaults", + "allOf": [ + { + "$ref": "#/definitions/ChaosEvent" + } + ], + "properties": { + "Faults": { + "type": "array", + "description": "List of string description of the faults that Chaos decided to execute in an iteration.", + "items": { + "type": "string" + } + } + } + }, + "StartedChaosEvent": { + "description": "Describes a Chaos event that gets generated when Chaos is started.", + "x-ms-discriminator-value": "Started", + "allOf": [ + { + "$ref": "#/definitions/ChaosEvent" + } + ], + "properties": { + "ChaosParameters": { + "$ref": "#/definitions/ChaosParameters", + "description": "Defines all the parameters to configure a Chaos run." + } + } + }, + "StoppedChaosEvent": { + "description": "Describes a Chaos event that gets generated when Chaos stops because either the user issued a stop or the time to run was up.", + "x-ms-discriminator-value": "Stopped", + "allOf": [ + { + "$ref": "#/definitions/ChaosEvent" + } + ], + "properties": { + "Reason": { + "type": "string", + "description": "Describes why Chaos stopped. Chaos can stop because of StopChaos API call or the timeToRun provided in ChaosParameters is over." + } + } + }, + "TestErrorChaosEvent": { + "description": "Describes a Chaos event that gets generated when an unexpected event occurs in the Chaos engine.\nFor example, due to the cluster snapshot being inconsistent, while faulting an entity, Chaos found that the entity was already faulted -- which would be an unexpected event.", + "x-ms-discriminator-value": "TestError", + "allOf": [ + { + "$ref": "#/definitions/ChaosEvent" + } + ], + "properties": { + "Reason": { + "type": "string", + "description": "Describes why TestErrorChaosEvent was generated. For example, Chaos tries to fault a partition but finds that the partition is no longer fault tolerant, then a TestErrorEvent gets generated with the reason stating that the partition is not fault tolerant." + } + } + }, + "ValidationFailedChaosEvent": { + "description": "Chaos event corresponding to a failure during validation.", + "x-ms-discriminator-value": "ValidationFailed", + "allOf": [ + { + "$ref": "#/definitions/ChaosEvent" + } + ], + "properties": { + "Reason": { + "type": "string", + "description": "Describes why the ValidationFailedChaosEvent was generated. This may happen because more than MaxPercentUnhealthyNodes are unhealthy for more than MaxClusterStabilizationTimeout. This reason will be in the Reason property of the ValidationFailedChaosEvent as a string." + } + } + }, + "WaitingChaosEvent": { + "description": "Describes a Chaos event that gets generated when Chaos is waiting for the cluster to become ready for faulting, for example, Chaos may be waiting for the on-going upgrade to finish.", + "x-ms-discriminator-value": "Waiting", + "allOf": [ + { + "$ref": "#/definitions/ChaosEvent" + } + ], + "properties": { + "Reason": { + "type": "string", + "description": "Describes why the WaitingChaosEvent was generated, for example, due to a cluster upgrade." + } + } + }, + "ChaosEventHistory": { + "type": "array", + "description": "An list of Chaos events that were generated during the time range passed into the GetChaosReport API call.", + "items": { + "$ref": "#/definitions/ChaosEventWrapper" + } + }, + "ChaosTargetFilter": { + "description": "Defines all filters for targeted Chaos faults, for example, faulting only certain node types or faulting only certain applications.\nIf ChaosTargetFilter is not used, Chaos faults all cluster entities. If ChaosTargetFilter is used, Chaos faults only the entities that meet the ChaosTargetFilter\nspecification. NodeTypeInclusionList and ApplicationInclusionList allow a union semantics only. It is not possible to specify an intersection\nof NodeTypeInclusionList and ApplicationInclusionList. For example, it is not possible to specify \"fault this application only when it is on that node type.\"\nOnce an entity is included in either NodeTypeInclusionList or ApplicationInclusionList, that entity cannot be excluded using ChaosTargetFilter. Even if\napplicationX does not appear in ApplicationInclusionList, in some Chaos iteration applicationX can be faulted because it happens to be on a node of nodeTypeY that is included\nin NodeTypeInclusionList. If both NodeTypeInclusionList and ApplicationInclusionList are null or empty, an ArgumentException is thrown.", + "properties": { + "NodeTypeInclusionList": { + "type": "array", + "description": "A list of node types to include in Chaos faults.\nAll types of faults (restart node, restart code package, remove replica, restart replica, move primary, and move secondary) are enabled for the nodes of these node types.\nIf a node type (say NodeTypeX) does not appear in the NodeTypeInclusionList, then node level faults (like NodeRestart) will never be enabled for the nodes of\nNodeTypeX, but code package and replica faults can still be enabled for NodeTypeX if an application in the ApplicationInclusionList.\nhappens to reside on a node of NodeTypeX.\nAt most 100 node type names can be included in this list, to increase this number, a config upgrade is required for MaxNumberOfNodeTypesInChaosEntityFilter configuration.", + "items": { + "$ref": "#/definitions/NodeType" + } + }, + "ApplicationInclusionList": { + "type": "array", + "description": "A list of application URIs to include in Chaos faults.\nAll replicas belonging to services of these applications are amenable to replica faults (restart replica, remove replica, move primary, and move secondary) by Chaos.\nChaos may restart a code package only if the code package hosts replicas of these applications only.\nIf an application does not appear in this list, it can still be faulted in some Chaos iteration if the application ends up on a node of a node type that is included in NodeTypeInclusionList.\nHowever, if applicationX is tied to nodeTypeY through placement constraints and applicationX is absent from ApplicationInclusionList and nodeTypeY is absent from NodeTypeInclusionList, then applicationX will never be faulted.\nAt most 1000 application names can be included in this list, to increase this number, a config upgrade is required for MaxNumberOfApplicationsInChaosEntityFilter configuration.", + "items": { + "$ref": "#/definitions/ApplicationName" + } + } + } + }, + "ApplicationTypeVersion": { + "type": "string", + "description": "The version of the application type as defined in the application manifest." + }, + "ApplicationCapacityDescription": { + "description": "Describes capacity information for services of this application. This description can be used for describing the following.\n- Reserving the capacity for the services on the nodes\n- Limiting the total number of nodes that services of this application can run on\n- Limiting the custom capacity metrics to limit the total consumption of this metric by the services of this application", + "properties": { + "MinimumNodes": { + "type": "integer", + "format": "int64", + "description": "The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property.", + "minimum": 0 + }, + "MaximumNodes": { + "type": "integer", + "format": "int64", + "description": "The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node.", + "minimum": 0, + "default": 0 + }, + "ApplicationMetrics": { + "$ref": "#/definitions/ApplicationMetricDescriptionList", + "description": "List of application capacity metric description." + } + } + }, + "ApplicationDescription": { + "description": "Describes a Service Fabric application.", + "properties": { + "Name": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "TypeName": { + "$ref": "#/definitions/ApplicationTypeName", + "description": "The application type name as defined in the application manifest." + }, + "TypeVersion": { + "$ref": "#/definitions/ApplicationTypeVersion", + "description": "The version of the application type as defined in the application manifest." + }, + "ParameterList": { + "$ref": "#/definitions/ApplicationParameterList", + "description": "List of application parameters with overridden values from their default values specified in the application manifest." + }, + "ApplicationCapacity": { + "$ref": "#/definitions/ApplicationCapacityDescription", + "description": "Describes capacity information for services of this application. This description can be used for describing the following.\n- Reserving the capacity for the services on the nodes\n- Limiting the total number of nodes that services of this application can run on\n- Limiting the custom capacity metrics to limit the total consumption of this metric by the services of this application" + }, + "ManagedApplicationIdentity": { + "$ref": "#/definitions/ManagedApplicationIdentityDescription", + "description": "Managed application identity description." + } + }, + "required": [ + "Name", + "TypeName", + "TypeVersion" + ] + }, + "ApplicationMetricDescription": { + "description": "Describes capacity information for a custom resource balancing metric. This can be used to limit the total consumption of this metric by the services of this application.", + "properties": { + "Name": { + "type": "string", + "description": "The name of the metric." + }, + "MaximumCapacity": { + "type": "integer", + "format": "int64", + "description": "The maximum node capacity for Service Fabric application.\nThis is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value.\nIf set to zero, capacity for this metric is unlimited on each node.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\nWhen updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity." + }, + "ReservationCapacity": { + "type": "integer", + "format": "int64", + "description": "The node reservation capacity for Service Fabric application.\nThis is the amount of load which is reserved on nodes which have instances of this application.\nIf MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application.\nIf set to zero, no capacity is reserved for this metric.\nWhen setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric." + }, + "TotalApplicationCapacity": { + "description": "The total metric capacity for Service Fabric application.\nThis is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value.", + "type": "integer", + "format": "int64" + } + } + }, + "ApplicationMetricDescriptionList": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationMetricDescription" + }, + "description": "List of application capacity metric description." + }, + "ApplicationLoadMetricInformation": { + "description": "Describes load information for a custom resource balancing metric. This can be used to limit the total consumption of this metric by the services of this application.", + "properties": { + "Name": { + "type": "string", + "description": "The name of the metric." + }, + "ReservationCapacity": { + "type": "integer", + "format": "int64", + "description": "This is the capacity reserved in the cluster for the application.\nIt's the product of NodeReservationCapacity and MinimumNodes.\nIf set to zero, no capacity is reserved for this metric.\nWhen setting application capacity or when updating application capacity this value must be smaller than or equal to MaximumCapacity for each metric." + }, + "ApplicationCapacity": { + "type": "integer", + "format": "int64", + "description": "Total capacity for this metric in this application instance." + }, + "ApplicationLoad": { + "type": "integer", + "format": "int64", + "description": "Current load for this metric in this application instance." + } + } + }, + "ApplicationLoadMetricInformationList": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationLoadMetricInformation" + }, + "description": "List of application load metric information." + }, + "ComposeDeploymentStatus": { + "type": "string", + "description": "The status of the compose deployment.", + "enum": [ + "Invalid", + "Provisioning", + "Creating", + "Ready", + "Unprovisioning", + "Deleting", + "Failed", + "Upgrading" + ], + "x-ms-enum": { + "name": "ComposeDeploymentStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that the compose deployment status is invalid. The value is zero." + }, + { + "value": "Provisioning", + "description": "Indicates that the compose deployment is being provisioned in background. The value is 1." + }, + { + "value": "Creating", + "description": "Indicates that the compose deployment is being created in background. The value is 2." + }, + { + "value": "Ready", + "description": "Indicates that the compose deployment has been successfully created or upgraded. The value is 3." + }, + { + "value": "Unprovisioning", + "description": "Indicates that the compose deployment is being unprovisioned in background. The value is 4." + }, + { + "value": "Deleting", + "description": "Indicates that the compose deployment is being deleted in background. The value is 5." + }, + { + "value": "Failed", + "description": "Indicates that the compose deployment was terminated due to persistent failures. The value is 6." + }, + { + "value": "Upgrading", + "description": "Indicates that the compose deployment is being upgraded in the background. The value is 7." + } + ] + } + }, + "ComposeDeploymentStatusInfo": { + "description": "Information about a Service Fabric compose deployment.", + "properties": { + "Name": { + "$ref": "#/definitions/DeploymentName", + "description": "The name of the deployment." + }, + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "Status": { + "$ref": "#/definitions/ComposeDeploymentStatus", + "description": "The status of the compose deployment." + }, + "StatusDetails": { + "description": "The status details of compose deployment including failure message.", + "type": "string" + } + } + }, + "ComposeDeploymentUpgradeDescription": { + "description": "Describes the parameters for a compose deployment upgrade.", + "properties": { + "DeploymentName": { + "$ref": "#/definitions/DeploymentName", + "description": "The name of the deployment." + }, + "ComposeFileContent": { + "type": "string", + "description": "The content of the compose file that describes the deployment to create." + }, + "RegistryCredential": { + "$ref": "#/definitions/RegistryCredential", + "description": "Credential information to connect to container registry." + }, + "UpgradeKind": { + "$ref": "#/definitions/UpgradeKind", + "description": "The kind of upgrade out of the following possible values." + }, + "RollingUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred." + }, + "UpgradeReplicaSetCheckTimeoutInSeconds": { + "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout", + "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)." + }, + "MonitoringPolicy": { + "$ref": "#/definitions/MonitoringPolicyDescription", + "description": "Describes the parameters for monitoring an upgrade in Monitored mode." + }, + "ApplicationHealthPolicy": { + "$ref": "#/definitions/ApplicationHealthPolicy", + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities." + } + }, + "required": [ + "DeploymentName", + "ComposeFileContent", + "UpgradeKind" + ] + }, + "ComposeDeploymentUpgradeProgressInfo": { + "description": "Describes the parameters for a compose deployment upgrade.", + "properties": { + "DeploymentName": { + "$ref": "#/definitions/TargetDeploymentName", + "description": "The name of the target deployment." + }, + "ApplicationName": { + "$ref": "#/definitions/TargetApplicationName", + "description": "The name of the target application, including the 'fabric:' URI scheme." + }, + "UpgradeState": { + "$ref": "#/definitions/ComposeDeploymentUpgradeState", + "description": "The state of the compose deployment upgrade." + }, + "UpgradeStatusDetails": { + "type": "string", + "description": "Additional detailed information about the status of the pending upgrade." + }, + "UpgradeKind": { + "$ref": "#/definitions/UpgradeKind", + "description": "The kind of upgrade out of the following possible values." + }, + "RollingUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred." + }, + "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)." + }, + "UpgradeReplicaSetCheckTimeoutInSeconds": { + "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout", + "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)." + }, + "MonitoringPolicy": { + "$ref": "#/definitions/MonitoringPolicyDescription", + "description": "Describes the parameters for monitoring an upgrade in Monitored mode." + }, + "ApplicationHealthPolicy": { + "$ref": "#/definitions/ApplicationHealthPolicy", + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities." + }, + "TargetApplicationTypeVersion": { + "$ref": "#/definitions/TargetApplicationTypeVersion", + "description": "The target application type version (found in the application manifest) for the application upgrade." + }, + "UpgradeDuration": { + "$ref": "#/definitions/UpgradeDuration", + "description": "The estimated amount of time that the overall upgrade elapsed. 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." + }, + "CurrentUpgradeDomainDuration": { + "$ref": "#/definitions/CurrentUpgradeDomainDuration", + "description": "The estimated amount of time spent processing current 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." + }, + "ApplicationUnhealthyEvaluations": { + "$ref": "#/definitions/ApplicationUnhealthyEvaluations", + "description": "List of health evaluations that resulted in the current aggregated health state." + }, + "CurrentUpgradeDomainProgress": { + "$ref": "#/definitions/CurrentUpgradeDomainProgressInfo", + "description": "Information about the current in-progress upgrade domain. Not applicable to node-by-node upgrades." + }, + "StartTimestampUtc": { + "type": "string", + "description": "The estimated UTC datetime when the upgrade started." + }, + "FailureTimestampUtc": { + "type": "string", + "description": "The estimated UTC datetime when the upgrade failed and FailureAction was executed." + }, + "FailureReason": { + "$ref": "#/definitions/FailureReason", + "description": "The cause of an upgrade failure that resulted in FailureAction being executed." + }, + "UpgradeDomainProgressAtFailure": { + "$ref": "#/definitions/FailureUpgradeDomainProgressInfo", + "description": "Information about the upgrade domain progress at the time of upgrade failure." + }, + "ApplicationUpgradeStatusDetails": { + "type": "string", + "description": "Additional details of application upgrade including failure message." + } + } + }, + "ComposeDeploymentUpgradeState": { + "type": "string", + "description": "The state of the compose deployment upgrade.", + "enum": [ + "Invalid", + "ProvisioningTarget", + "RollingForwardInProgress", + "RollingForwardPending", + "UnprovisioningCurrent", + "RollingForwardCompleted", + "RollingBackInProgress", + "UnprovisioningTarget", + "RollingBackCompleted", + "Failed" + ], + "x-ms-enum": { + "name": "ComposeDeploymentUpgradeState", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade state is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "ProvisioningTarget", + "description": "The upgrade is in the progress of provisioning target application type version. The value is 1." + }, + { + "value": "RollingForwardInProgress", + "description": "The upgrade is rolling forward to the target version but is not complete yet. The value is 2." + }, + { + "value": "RollingForwardPending", + "description": "The current upgrade domain has finished upgrading. The overall upgrade is waiting for an explicit move next request in UnmonitoredManual mode or performing health checks in Monitored mode. The value is 3" + }, + { + "value": "UnprovisioningCurrent", + "description": "The upgrade is in the progress of unprovisioning current application type version and rolling forward to the target version is completed. The value is 4." + }, + { + "value": "RollingForwardCompleted", + "description": "The upgrade has finished rolling forward. The value is 5." + }, + { + "value": "RollingBackInProgress", + "description": "The upgrade is rolling back to the previous version but is not complete yet. The value is 6." + }, + { + "value": "UnprovisioningTarget", + "description": "The upgrade is in the progress of unprovisioning target application type version and rolling back to the current version is completed. The value is 7." + }, + { + "value": "RollingBackCompleted", + "description": "The upgrade has finished rolling back. The value is 8." + }, + { + "value": "Failed", + "description": "The upgrade has failed and is unable to execute FailureAction. The value is 9." + } + ] + } + }, + "PagedComposeDeploymentStatusInfoList": { + "description": "The list of compose deployments in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of compose deployment status information.", + "items": { + "$ref": "#/definitions/ComposeDeploymentStatusInfo" + } + } + } + }, + "CreateComposeDeploymentDescription": { + "description": "Defines description for creating a Service Fabric compose deployment.", + "properties": { + "DeploymentName": { + "$ref": "#/definitions/DeploymentName", + "description": "The name of the deployment." + }, + "ComposeFileContent": { + "type": "string", + "description": "The content of the compose file that describes the deployment to create." + }, + "RegistryCredential": { + "$ref": "#/definitions/RegistryCredential", + "description": "Credential information to connect to container registry." + } + }, + "required": [ + "DeploymentName", + "ComposeFileContent" + ] + }, + "RegistryCredential": { + "description": "Credential information to connect to container registry.", + "properties": { + "RegistryUserName": { + "type": "string", + "description": "The user name to connect to container registry." + }, + "RegistryPassword": { + "type": "string", + "description": "The password for supplied username to connect to container registry." + }, + "PasswordEncrypted": { + "type": "boolean", + "description": "Indicates that supplied container registry password is encrypted." + } + } + }, + "DeployedServicePackageInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedServicePackageInfo" + }, + "description": "List of deployed service package information." + }, + "DeployedServicePackageInfo": { + "description": "Information about service package deployed on a Service Fabric node.", + "properties": { + "Name": { + "$ref": "#/definitions/ServiceManifestName", + "description": "The name of the service package as specified in the service manifest." + }, + "Version": { + "type": "string", + "description": "The version of the service package specified in service manifest." + }, + "Status": { + "$ref": "#/definitions/DeploymentStatus", + "description": "Specifies the status of a deployed application or service package on a Service Fabric node." + }, + "ServicePackageActivationId": { + "$ref": "#/definitions/ServicePackageActivationId", + "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string." + } + } + }, + "DeploymentName": { + "type": "string", + "description": "The name of the deployment." + }, + "CorrelationSchemeList": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelationDescription" + }, + "description": "A list that describes the correlation of the service with other services." + }, + "MoveCost": { + "type": "string", + "description": "Specifies the move cost for the service.", + "enum": [ + "Zero", + "Low", + "Medium", + "High", + "VeryHigh" + ], + "x-ms-enum": { + "name": "MoveCost", + "modelAsString": true, + "values": [ + { + "value": "Zero", + "description": "Zero move cost. This value is zero." + }, + { + "value": "Low", + "description": "Specifies the move cost of the service as Low. The value is 1." + }, + { + "value": "Medium", + "description": "Specifies the move cost of the service as Medium. The value is 2." + }, + { + "value": "High", + "description": "Specifies the move cost of the service as High. The value is 3." + }, + { + "value": "VeryHigh", + "description": "Specifies the move cost of the service as VeryHigh. The value is 4." + } + ] + } + }, + "PartitionScheme": { + "type": "string", + "description": "Enumerates the ways that a service can be partitioned.", + "enum": [ + "Invalid", + "Singleton", + "UniformInt64Range", + "Named" + ], + "x-ms-enum": { + "name": "PartitionScheme", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the partition kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Singleton", + "description": "Indicates that the partition is based on string names, and is a SingletonPartitionSchemeDescription object, The value is 1." + }, + { + "value": "UniformInt64Range", + "description": "Indicates that the partition is based on Int64 key ranges, and is a UniformInt64RangePartitionSchemeDescription object. The value is 2." + }, + { + "value": "Named", + "description": "Indicates that the partition is based on string names, and is a NamedPartitionSchemeDescription object. The value is 3" + } + ] + } + }, + "ServiceCorrelationDescription": { + "description": "Creates a particular correlation between services.", + "required": [ + "Scheme", + "ServiceName" + ], + "properties": { + "Scheme": { + "$ref": "#/definitions/ServiceCorrelationScheme", + "description": "The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName." + }, + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The name of the service that the correlation relationship is established with." + } + } + }, + "ServiceCorrelationScheme": { + "type": "string", + "description": "The service correlation scheme.", + "enum": [ + "Invalid", + "Affinity", + "AlignedAffinity", + "NonAlignedAffinity" + ], + "x-ms-enum": { + "name": "ServiceCorrelationScheme", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "An invalid correlation scheme. Cannot be used. The value is zero." + }, + { + "value": "Affinity", + "description": "Indicates that this service has an affinity relationship with another service. Provided for backwards compatibility, consider preferring the Aligned or NonAlignedAffinity options. The value is 1." + }, + { + "value": "AlignedAffinity", + "description": "Aligned affinity ensures that the primaries of the partitions of the affinitized services are collocated on the same nodes. This is the default and is the same as selecting the Affinity scheme. The value is 2." + }, + { + "value": "NonAlignedAffinity", + "description": "Non-Aligned affinity guarantees that all replicas of each service will be placed on the same nodes. Unlike Aligned Affinity, this does not guarantee that replicas of particular role will be collocated. The value is 3." + } + ] + } + }, + "ServiceLoadMetricsList": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceLoadMetricDescription" + }, + "description": "The service load metrics is given as an array of ServiceLoadMetricDescription objects." + }, + "ServiceLoadMetricDescription": { + "description": "Specifies a metric to load balance a service during runtime.", + "required": [ + "Name" + ], + "properties": { + "Name": { + "type": "string", + "description": "The name of the metric. If the service chooses to report load during runtime, the load metric name should match the name that is specified in Name exactly. Note that metric names are case-sensitive." + }, + "Weight": { + "$ref": "#/definitions/ServiceLoadMetricWeight", + "description": "The service load metric relative weight, compared to other metrics configured for this service, as a number." + }, + "PrimaryDefaultLoad": { + "type": "integer", + "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", + "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." + }, + "AuxiliaryDefaultLoad": { + "type": "integer", + "description": "Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is an Auxiliary replica." + }, + "DefaultLoad": { + "type": "integer", + "description": "Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric." + } + } + }, + "ServiceLoadMetricWeight": { + "type": "string", + "description": "Determines the metric weight relative to the other metrics that are configured for this service. During runtime, if two metrics end up in conflict, the Cluster Resource Manager prefers the metric with the higher weight.", + "enum": [ + "Zero", + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "ServiceLoadMetricWeight", + "modelAsString": true, + "values": [ + { + "value": "Zero", + "description": "Disables resource balancing for this metric. This value is zero." + }, + { + "value": "Low", + "description": "Specifies the metric weight of the service load as Low. The value is 1." + }, + { + "value": "Medium", + "description": "Specifies the metric weight of the service load as Medium. The value is 2." + }, + { + "value": "High", + "description": "Specifies the metric weight of the service load as High. The value is 3." + } + ] + } + }, + "ServicePackageActivationMode": { + "type": "string", + "description": "The activation mode of service package to be used for a Service Fabric service. This is specified at the time of creating the Service.", + "enum": [ + "SharedProcess", + "ExclusiveProcess" + ], + "x-ms-enum": { + "name": "ServicePackageActivationMode", + "modelAsString": true, + "values": [ + { + "value": "SharedProcess", + "description": "This is the default activation mode. With this activation mode, replicas or instances from different partition(s) of service, on a given node, will share same activation of service package on a node. The value is zero." + }, + { + "value": "ExclusiveProcess", + "description": "With this activation mode, each replica or instance of service, on a given node, will have its own dedicated activation of service package on a node. The value is 1." + } + ] + } + }, + "ServicePlacementPoliciesList": { + "type": "array", + "items": { + "$ref": "#/definitions/ServicePlacementPolicyDescription" + }, + "description": "A list that describes the correlation of the service with other services." + }, + "PartitionSchemeDescription": { + "discriminator": "PartitionScheme", + "description": "Describes how the service is partitioned.", + "required": [ + "PartitionScheme" + ], + "properties": { + "PartitionScheme": { + "$ref": "#/definitions/PartitionScheme", + "description": "Specifies how the service is partitioned." + } + } + }, + "NamedPartitionSchemeDescription": { + "description": "Describes the named partition scheme of the service.", + "allOf": [ + { + "$ref": "#/definitions/PartitionSchemeDescription" + } + ], + "x-ms-discriminator-value": "Named", + "required": [ + "Count", + "Names" + ], + "properties": { + "Count": { + "type": "integer", + "description": "The number of partitions." + }, + "Names": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of size specified by the ‘Count’ parameter, for the names of the partitions." + } + } + }, + "SingletonPartitionSchemeDescription": { + "description": "Describes the partition scheme of a singleton-partitioned, or non-partitioned service.", + "allOf": [ + { + "$ref": "#/definitions/PartitionSchemeDescription" + } + ], + "x-ms-discriminator-value": "Singleton" + }, + "UniformInt64RangePartitionSchemeDescription": { + "description": "Describes a partitioning scheme where an integer range is allocated evenly across a number of partitions.", + "allOf": [ + { + "$ref": "#/definitions/PartitionSchemeDescription" + } + ], + "x-ms-discriminator-value": "UniformInt64Range", + "required": [ + "Count", + "LowKey", + "HighKey" + ], + "properties": { + "Count": { + "type": "integer", + "description": "The number of partitions." + }, + "LowKey": { + "type": "string", + "description": "String indicating the lower bound of the partition key range that\nshould be split between the partitions." + }, + "HighKey": { + "type": "string", + "description": "String indicating the upper bound of the partition key range that\nshould be split between the partitions." + } + } + }, + "ServiceDescription": { + "discriminator": "ServiceKind", + "description": "A ServiceDescription contains all of the information necessary to create a service.", + "required": [ + "ServiceKind", + "ServiceName", + "ServiceTypeName", + "PartitionDescription" + ], + "properties": { + "ServiceKind": { + "$ref": "#/definitions/ServiceKind", + "description": "The service kind." + }, + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + }, + "ServiceTypeName": { + "$ref": "#/definitions/ServiceTypeName", + "description": "Name of the service type as specified in the service manifest." + }, + "InitializationData": { + "$ref": "#/definitions/ByteArray", + "description": "The initialization data as an array of bytes. Initialization data is passed to service instances or replicas when they are created." + }, + "PartitionDescription": { + "$ref": "#/definitions/PartitionSchemeDescription", + "description": "The partition description as an object." + }, + "PlacementConstraints": { + "type": "string", + "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": "The correlation scheme." + }, + "ServiceLoadMetrics": { + "$ref": "#/definitions/ServiceLoadMetricsList", + "description": "The service load metrics." + }, + "ServicePlacementPolicies": { + "$ref": "#/definitions/ServicePlacementPoliciesList", + "description": "The service placement policies." + }, + "DefaultMoveCost": { + "$ref": "#/definitions/MoveCost", + "description": "The move cost for the service." + }, + "IsDefaultMoveCostSpecified": { + "type": "boolean", + "description": "Indicates if the DefaultMoveCost property is specified." + }, + "ServicePackageActivationMode": { + "$ref": "#/definitions/ServicePackageActivationMode", + "description": "The activation mode of service package to be used for a service." + }, + "ServiceDnsName": { + "type": "string", + "description": "The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster." + }, + "ScalingPolicies": { + "$ref": "#/definitions/ScalingPolicyDescriptionList", + "description": "Scaling policies for this service." + }, + "TagsRequiredToPlace": { + "$ref": "#/definitions/NodeTagsDescription", + "description": "Tags for placement of this service." + }, + "TagsRequiredToRun": { + "$ref": "#/definitions/NodeTagsDescription", + "description": "Tags for running of this service." + } + } + }, + "StatefulServiceDescription": { + "description": "Describes a stateful service.", + "allOf": [ + { + "$ref": "#/definitions/ServiceDescription" + } + ], + "x-ms-discriminator-value": "Stateful", + "required": [ + "TargetReplicaSetSize", + "MinReplicaSetSize", + "HasPersistedState" + ], + "properties": { + "TargetReplicaSetSize": { + "type": "integer", + "minimum": 1, + "description": "The target replica set size as a number." + }, + "MinReplicaSetSize": { + "type": "integer", + "minimum": 1, + "description": "The minimum replica set size as a number." + }, + "HasPersistedState": { + "type": "boolean", + "description": "A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false." + }, + "Flags": { + "type": "integer", + "description": "Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified.\nThis property can be a combination of those flags obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then the flags for QuorumLossWaitDuration (2) and StandByReplicaKeepDuration(4) are set.\n\n- None - Does not indicate any other properties are set. The value is zero.\n- ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is 1.\n- QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 2.\n- StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 4.\n- ServicePlacementTimeLimit - Indicates the ServicePlacementTimeLimit property is set. The value is 8.\n- DropSourceReplicaOnMove - Indicates the DropSourceReplicaOnMove property is set. The value is 16." + }, + "ReplicaRestartWaitDurationSeconds": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The duration, in seconds, between when a replica goes down and when a new replica is created." + }, + "QuorumLossWaitDurationSeconds": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The maximum duration, in seconds, for which a partition is allowed to be in a state of quorum loss." + }, + "StandByReplicaKeepDurationSeconds": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The definition on how long StandBy replicas should be maintained before being removed." + }, + "ServicePlacementTimeLimitSeconds": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The duration for which replicas can stay InBuild before reporting that build is stuck." + }, + "DropSourceReplicaOnMove": { + "type": "boolean", + "description": "Indicates whether to drop source Secondary replica even if the target replica has not finished build. If desired behavior is to drop it as soon as possible the value of this property is true, if not it is false." + }, + "ReplicaLifecycleDescription": { + "$ref": "#/definitions/ReplicaLifecycleDescription", + "description": "Defines how replicas of this service will behave during their lifecycle." + }, + "AuxiliaryReplicaCount": { + "type": "integer", + "minimum": 0, + "description": "The auxiliary replica count as a number. To use Auxiliary replicas, the following must be true: AuxiliaryReplicaCount < (TargetReplicaSetSize+1)/2 and TargetReplicaSetSize >=3." + } + } + }, + "StatelessServiceDescription": { + "description": "Describes a stateless service.", + "allOf": [ + { + "$ref": "#/definitions/ServiceDescription" + } + ], + "x-ms-discriminator-value": "Stateless", + "required": [ + "InstanceCount" + ], + "properties": { + "InstanceCount": { + "type": "integer", + "minimum": -1, + "description": "The instance count." + }, + "MinInstanceCount": { + "$ref": "#/definitions/MinInstanceCount", + "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + }, + "MinInstancePercentage": { + "$ref": "#/definitions/MinInstancePercentage", + "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + }, + "Flags": { + "type": "integer", + "description": "Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified.\nThis property can be a combination of those flags obtained using bitwise 'OR' operator.\nFor example, if the provided value is 1 then the flags for InstanceCloseDelayDuration is set.\n\n- None - Does not indicate any other properties are set. The value is zero.\n- InstanceCloseDelayDuration - Indicates the InstanceCloseDelayDuration property is set. The value is 1.\n- InstanceRestartWaitDuration - Indicates the InstanceRestartWaitDurationSeconds property is set. The value is 2." + }, + "InstanceCloseDelayDurationSeconds": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster upgrade and disabling node.\nThe endpoint exposed on this instance is removed prior to starting the delay, which prevents new connections to this instance.\nIn addition, clients that have subscribed to service endpoint change events(https://docs.microsoft.com/dotnet/api/system.fabric.fabricclient.servicemanagementclient.registerservicenotificationfilterasync), can do\nthe following upon receiving the endpoint removal notification:\n - Stop sending new requests to this instance.\n - Close existing connections after in-flight requests have completed.\n - Connect to a different instance of the service partition for future requests.\nNote, the default value of InstanceCloseDelayDuration is 0, which indicates that there won't be any delay or removal of the endpoint prior to closing the instance." + }, + "InstanceLifecycleDescription": { + "$ref": "#/definitions/InstanceLifecycleDescription", + "description": "Defines how instances of this service will behave during their lifecycle." + }, + "InstanceRestartWaitDurationSeconds": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "When a stateless instance goes down, this timer starts. When it expires Service Fabric will create a new instance on any node in the cluster. \nThis configuration is to reduce unnecessary creation of a new instance in situations where the instance going down is likely to recover in a short time. For example, during an upgrade.\nThe default value is 0, which indicates that when stateless instance goes down, Service Fabric will immediately start building its replacement." + } + } + }, + "ReplicatorQueueStatus": { + "description": "Provides various statistics of the queue used in the service fabric replicator.\nContains information about the service fabric replicator like the replication/copy queue utilization, last acknowledgement received timestamp, etc.\nDepending on the role of the replicator, the properties in this type imply different meanings.", + "properties": { + "QueueUtilizationPercentage": { + "type": "integer", + "format": "int32", + "description": "Represents the utilization of the queue. A value of 0 indicates that the queue is empty and a value of 100 indicates the queue is full." + }, + "QueueMemorySize": { + "type": "string", + "description": "Represents the virtual memory consumed by the queue in bytes." + }, + "FirstSequenceNumber": { + "type": "string", + "description": "On a primary replicator, this is semantically the sequence number of the operation for which all the secondary replicas have sent an acknowledgement.\nOn a secondary replicator, this is the smallest sequence number of the operation that is present in the queue." + }, + "CompletedSequenceNumber": { + "type": "string", + "description": "On a primary replicator, this is semantically the highest sequence number of the operation for which all the secondary replicas have sent an acknowledgement.\nOn a secondary replicator, this is semantically the highest sequence number that has been applied to the persistent state." + }, + "CommittedSequenceNumber": { + "type": "string", + "description": "On a primary replicator, this is semantically the highest sequence number of the operation for which a write quorum of the secondary replicas have sent an acknowledgement.\nOn a secondary replicator, this is semantically the highest sequence number of the in-order operation received from the primary." + }, + "LastSequenceNumber": { + "type": "string", + "description": "Represents the latest sequence number of the operation that is available in the queue." + } + } + }, + "ReplicatorStatus": { + "discriminator": "Kind", + "description": "Represents a base class for primary or secondary replicator status.\nContains information about the service fabric replicator like the replication/copy queue utilization, last acknowledgement received timestamp, etc.", + "required": [ + "Kind" + ], + "properties": { + "Kind": { + "$ref": "#/definitions/ReplicaRole", + "description": "The role of a replica of a stateful service." + } + } + }, + "PrimaryReplicatorStatus": { + "x-ms-discriminator-value": "Primary", + "description": "Provides statistics about the Service Fabric Replicator, when it is functioning in a Primary role.", + "allOf": [ + { + "$ref": "#/definitions/ReplicatorStatus" + } + ], + "properties": { + "ReplicationQueueStatus": { + "$ref": "#/definitions/ReplicatorQueueStatus", + "description": "Details about the replication queue on the primary replicator." + }, + "RemoteReplicators": { + "$ref": "#/definitions/RemoteReplicatorStatusList", + "description": "The status of all the active and idle secondary replicators that the primary is aware of." + } + } + }, + "SecondaryReplicatorStatus": { + "description": "Provides statistics about the Service Fabric Replicator, when it is functioning in a ActiveSecondary role.", + "allOf": [ + { + "$ref": "#/definitions/ReplicatorStatus" + } + ], + "properties": { + "ReplicationQueueStatus": { + "$ref": "#/definitions/ReplicatorQueueStatus", + "description": "Details about the replication queue on the secondary replicator." + }, + "LastReplicationOperationReceivedTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The last time-stamp (UTC) at which a replication operation was received from the primary.\nUTC 0 represents an invalid value, indicating that a replication operation message was never received." + }, + "IsInBuild": { + "type": "boolean", + "description": "Value that indicates whether the replica is currently being built." + }, + "CopyQueueStatus": { + "$ref": "#/definitions/ReplicatorQueueStatus", + "description": "Details about the copy queue on the secondary replicator." + }, + "LastCopyOperationReceivedTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The last time-stamp (UTC) at which a copy operation was received from the primary.\nUTC 0 represents an invalid value, indicating that a copy operation message was never received." + }, + "LastAcknowledgementSentTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The last time-stamp (UTC) at which an acknowledgment was sent to the primary replicator.\nUTC 0 represents an invalid value, indicating that an acknowledgment message was never sent." + } + } + }, + "SecondaryActiveReplicatorStatus": { + "x-ms-discriminator-value": "ActiveSecondary", + "description": "Status of the secondary replicator when it is in active mode and is part of the replica set.", + "allOf": [ + { + "$ref": "#/definitions/SecondaryReplicatorStatus" + } + ] + }, + "SecondaryIdleReplicatorStatus": { + "x-ms-discriminator-value": "IdleSecondary", + "description": "Status of the secondary replicator when it is in idle mode and is being built by the primary.", + "allOf": [ + { + "$ref": "#/definitions/SecondaryReplicatorStatus" + } + ] + }, + "RemoteReplicatorStatus": { + "description": "Represents the state of the secondary replicator from the primary replicator’s point of view.", + "properties": { + "ReplicaId": { + "$ref": "#/definitions/ReplicaId", + "description": "Represents the replica ID of the remote secondary replicator." + }, + "LastAcknowledgementProcessedTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The last timestamp (in UTC) when an acknowledgement from the secondary replicator was processed on the primary.\nUTC 0 represents an invalid value, indicating that no acknowledgement messages were ever processed." + }, + "LastReceivedReplicationSequenceNumber": { + "type": "string", + "description": "The highest replication operation sequence number that the secondary has received from the primary." + }, + "LastAppliedReplicationSequenceNumber": { + "type": "string", + "description": "The highest replication operation sequence number that the secondary has applied to its state." + }, + "IsInBuild": { + "type": "boolean", + "description": "A value that indicates whether the secondary replica is in the process of being built." + }, + "LastReceivedCopySequenceNumber": { + "type": "string", + "description": "The highest copy operation sequence number that the secondary has received from the primary.\nA value of -1 implies that the secondary has received all copy operations." + }, + "LastAppliedCopySequenceNumber": { + "type": "string", + "description": "The highest copy operation sequence number that the secondary has applied to its state.\nA value of -1 implies that the secondary has applied all copy operations and the copy process is complete." + }, + "RemoteReplicatorAcknowledgementStatus": { + "$ref": "#/definitions/RemoteReplicatorAcknowledgementStatus", + "description": "Represents the acknowledgment status for the remote secondary replicator." + } + } + }, + "RemoteReplicatorStatusList": { + "type": "array", + "items": { + "$ref": "#/definitions/RemoteReplicatorStatus" + }, + "description": "List of remote replicator status" + }, + "RemoteReplicatorAcknowledgementStatus": { + "description": "Provides details about the remote replicators from the primary replicator's point of view.", + "properties": { + "ReplicationStreamAcknowledgementDetail": { + "$ref": "#/definitions/RemoteReplicatorAcknowledgementDetail", + "description": "Details about the acknowledgements for operations that are part of the replication stream data." + }, + "CopyStreamAcknowledgementDetail": { + "$ref": "#/definitions/RemoteReplicatorAcknowledgementDetail", + "description": "Details about the acknowledgements for operations that are part of the copy stream data." + } + } + }, + "RemoteReplicatorAcknowledgementDetail": { + "description": "Provides various statistics of the acknowledgements that are being received from the remote replicator.", + "properties": { + "AverageReceiveDuration": { + "type": "string", + "description": "Represents the average duration it takes for the remote replicator to receive an operation." + }, + "AverageApplyDuration": { + "type": "string", + "description": "Represents the average duration it takes for the remote replicator to apply an operation. This usually entails writing the operation to disk." + }, + "NotReceivedCount": { + "type": "string", + "description": "Represents the number of operations not yet received by a remote replicator." + }, + "ReceivedAndNotAppliedCount": { + "type": "string", + "description": "Represents the number of operations received and not yet applied by a remote replicator." + } + } + }, + "DeployedServiceReplicaDetailInfo": { + "discriminator": "ServiceKind", + "description": "Information about a Service Fabric service replica deployed on a node.", + "required": [ + "ServiceKind" + ], + "properties": { + "ServiceKind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of service (Stateless or Stateful)." + }, + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "Full hierarchical name of the service in URI format starting with `fabric:`." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different." + }, + "CurrentServiceOperation": { + "$ref": "#/definitions/ServiceOperationName", + "description": "Specifies the current active life-cycle operation on a stateful service replica or stateless service instance." + }, + "CurrentServiceOperationStartTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The start time of the current service operation in UTC format." + }, + "ReportedLoad": { + "$ref": "#/definitions/LoadMetricReportInfoList", + "description": "List of load reported by replica." + } + } + }, + "DeployedStatefulServiceReplicaDetailInfo": { + "description": "Information about a stateful replica running in a code package. Note DeployedServiceReplicaQueryResult will contain duplicate data like ServiceKind, ServiceName, PartitionId and replicaId.", + "x-ms-discriminator-value": "Stateful", + "allOf": [ + { + "$ref": "#/definitions/DeployedServiceReplicaDetailInfo" + } + ], + "properties": { + "ReplicaId": { + "$ref": "#/definitions/ReplicaId", + "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id." + }, + "CurrentReplicatorOperation": { + "$ref": "#/definitions/ReplicatorOperationName", + "description": "Specifies the operation currently being executed by the Replicator." + }, + "ReadStatus": { + "$ref": "#/definitions/PartitionAccessStatus", + "description": "Specifies the access status of the partition." + }, + "WriteStatus": { + "$ref": "#/definitions/PartitionAccessStatus", + "description": "Specifies the access status of the partition." + }, + "ReplicatorStatus": { + "$ref": "#/definitions/ReplicatorStatus", + "description": "Represents a base class for primary or secondary replicator status.\nContains information about the service fabric replicator like the replication/copy queue utilization, last acknowledgement received timestamp, etc." + }, + "ReplicaStatus": { + "$ref": "#/definitions/KeyValueStoreReplicaStatus", + "description": "Key value store related information for the replica." + }, + "DeployedServiceReplicaQueryResult": { + "$ref": "#/definitions/DeployedStatefulServiceReplicaInfo", + "description": "Information about a stateful service replica deployed on a node." + } + } + }, + "DeployedStatelessServiceInstanceDetailInfo": { + "description": "Information about a stateless instance running in a code package. Note that DeployedServiceReplicaQueryResult will contain duplicate data like ServiceKind, ServiceName, PartitionId and InstanceId.", + "x-ms-discriminator-value": "Stateless", + "allOf": [ + { + "$ref": "#/definitions/DeployedServiceReplicaDetailInfo" + } + ], + "properties": { + "InstanceId": { + "$ref": "#/definitions/InstanceId", + "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId." + }, + "DeployedServiceReplicaQueryResult": { + "$ref": "#/definitions/DeployedStatelessServiceInstanceInfo", + "description": "Information about a stateless service instance deployed on a node." + } + } + }, + "FabricReplicaStatus": { + "type": "string", + "description": "Specifies the status of the replica.", + "enum": [ + "Invalid", + "Down", + "Up" + ], + "x-ms-enum": { + "name": "FabricReplicaStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that the read or write operation access status is not valid. This value is not returned to the caller." + }, + { + "value": "Down", + "description": "Indicates that the replica is down." + }, + { + "value": "Up", + "description": "Indicates that the replica is up." + } + ] + } + }, + "LoadMetricReportInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadMetricReportInfo" + }, + "description": "List of load reported by replica." + }, + "LoadMetricReportInfo": { + "description": "Information about load reported by replica.", + "properties": { + "Name": { + "type": "string", + "description": "The name of the metric." + }, + "Value": { + "type": "integer", + "format": "int32", + "description": "The value of the load for the metric. In future releases of Service Fabric this parameter will be deprecated in favor of CurrentValue." + }, + "CurrentValue": { + "type": "string", + "format": "double", + "description": "The double value of the load for the metric." + }, + "LastReportedUtc": { + "type": "string", + "format": "date-time", + "description": "The UTC time when the load is reported." + } + } + }, + "PartitionAccessStatus": { + "type": "string", + "description": "Specifies the access status of the partition.", + "enum": [ + "Invalid", + "Granted", + "ReconfigurationPending", + "NotPrimary", + "NoWriteQuorum" + ], + "x-ms-enum": { + "name": "PartitionAccessStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that the read or write operation access status is not valid. This value is not returned to the caller." + }, + { + "value": "Granted", + "description": "Indicates that the read or write operation access is granted and the operation is allowed." + }, + { + "value": "ReconfigurationPending", + "description": "Indicates that the client should try again later, because a reconfiguration is in progress." + }, + { + "value": "NotPrimary", + "description": "Indicates that this client request was received by a replica that is not a Primary replica." + }, + { + "value": "NoWriteQuorum", + "description": "Indicates that no write quorum is available and, therefore, no write operation can be accepted." + } + ] + } + }, + "ReplicatorOperationName": { + "type": "string", + "description": "Specifies the operation currently being executed by the Replicator.", + "enum": [ + "Invalid", + "None", + "Open", + "ChangeRole", + "UpdateEpoch", + "Close", + "Abort", + "OnDataLoss", + "WaitForCatchup", + "Build" + ], + "x-ms-enum": { + "name": "ReplicatorOperationName", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Default value if the replicator is not yet ready." + }, + { + "value": "None", + "description": "Replicator is not running any operation from Service Fabric perspective." + }, + { + "value": "Open", + "description": "Replicator is opening." + }, + { + "value": "ChangeRole", + "description": "Replicator is in the process of changing its role." + }, + { + "value": "UpdateEpoch", + "description": "Due to a change in the replica set, replicator is being updated with its Epoch." + }, + { + "value": "Close", + "description": "Replicator is closing." + }, + { + "value": "Abort", + "description": "Replicator is being aborted." + }, + { + "value": "OnDataLoss", + "description": "Replicator is handling the data loss condition, where the user service may potentially be recovering state from an external source." + }, + { + "value": "WaitForCatchup", + "description": "Replicator is waiting for a quorum of replicas to be caught up to the latest state." + }, + { + "value": "Build", + "description": "Replicator is in the process of building one or more replicas." + } + ] + } + }, + "ServiceOperationName": { + "type": "string", + "description": "Specifies the current active life-cycle operation on a stateful service replica or stateless service instance.", + "enum": [ + "Unknown", + "None", + "Open", + "ChangeRole", + "Close", + "Abort" + ], + "x-ms-enum": { + "name": "ServiceOperationName", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "Reserved for future use." + }, + { + "value": "None", + "description": "The service replica or instance is not going through any life-cycle changes." + }, + { + "value": "Open", + "description": "The service replica or instance is being opened." + }, + { + "value": "ChangeRole", + "description": "The service replica is changing roles." + }, + { + "value": "Close", + "description": "The service replica or instance is being closed." + }, + { + "value": "Abort", + "description": "The service replica or instance is being aborted." + } + ] + } + }, + "ReplicaKind": { + "type": "string", + "description": "The role of a replica of a stateful service.", + "enum": [ + "Invalid", + "KeyValueStore" + ], + "x-ms-enum": { + "name": "ReplicaKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Represents an invalid replica kind. The value is zero." + }, + { + "value": "KeyValueStore", + "description": "Represents a key value store replica. The value is 1" + } + ] + } + }, + "ReplicaStatusBase": { + "discriminator": "Kind", + "description": "Information about the replica.", + "required": [ + "Kind" + ], + "properties": { + "Kind": { + "$ref": "#/definitions/ReplicaKind", + "description": "The role of a replica of a stateful service." + } + } + }, + "KeyValueStoreReplicaStatus": { + "description": "Key value store related information for the replica.", + "x-ms-discriminator-value": "KeyValueStore", + "allOf": [ + { + "$ref": "#/definitions/ReplicaStatusBase" + } + ], + "properties": { + "DatabaseRowCountEstimate": { + "type": "string", + "description": "Value indicating the estimated number of rows in the underlying database." + }, + "DatabaseLogicalSizeEstimate": { + "type": "string", + "description": "Value indicating the estimated size of the underlying database." + }, + "CopyNotificationCurrentKeyFilter": { + "type": "string", + "description": "Value indicating the latest key-prefix filter applied to enumeration during the callback. Null if there is no pending callback." + }, + "CopyNotificationCurrentProgress": { + "type": "string", + "description": "Value indicating the latest number of keys enumerated during the callback. 0 if there is no pending callback." + }, + "StatusDetails": { + "type": "string", + "description": "Value indicating the current status details of the replica." + } + } + }, + "ServiceUpdateDescription": { + "discriminator": "ServiceKind", + "description": "A ServiceUpdateDescription contains all of the information necessary to update a service.", + "required": [ + "ServiceKind" + ], + "properties": { + "ServiceKind": { + "$ref": "#/definitions/ServiceKind", + "description": "The service kind." + }, + "Flags": { + "type": "string", + "description": "Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified.\nThis property can be a combination of those flags obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then the flags for ReplicaRestartWaitDuration (2) and QuorumLossWaitDuration (4) are set.\n\n- None - Does not indicate any other properties are set. The value is zero.\n- TargetReplicaSetSize/InstanceCount - Indicates whether the TargetReplicaSetSize property (for Stateful services) or the InstanceCount property (for Stateless services) is set. The value is 1.\n- ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is 2.\n- QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 4.\n- StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 8.\n- MinReplicaSetSize - Indicates the MinReplicaSetSize property is set. The value is 16.\n- PlacementConstraints - Indicates the PlacementConstraints property is set. The value is 32.\n- PlacementPolicyList - Indicates the ServicePlacementPolicies property is set. The value is 64.\n- Correlation - Indicates the CorrelationScheme property is set. The value is 128.\n- Metrics - Indicates the ServiceLoadMetrics property is set. The value is 256.\n- DefaultMoveCost - Indicates the DefaultMoveCost property is set. The value is 512.\n- ScalingPolicy - Indicates the ScalingPolicies property is set. The value is 1024.\n- ServicePlacementTimeLimit - Indicates the ServicePlacementTimeLimit property is set. The value is 2048.\n- MinInstanceCount - Indicates the MinInstanceCount property is set. The value is 4096.\n- MinInstancePercentage - Indicates the MinInstancePercentage property is set. The value is 8192.\n- InstanceCloseDelayDuration - Indicates the InstanceCloseDelayDuration property is set. The value is 16384.\n- InstanceRestartWaitDuration - Indicates the InstanceCloseDelayDuration property is set. The value is 32768.\n- DropSourceReplicaOnMove - Indicates the DropSourceReplicaOnMove property is set. The value is 65536.\n- ServiceDnsName - Indicates the ServiceDnsName property is set. The value is 131072.\n- TagsForPlacement - Indicates the TagsForPlacement property is set. The value is 1048576.\n- TagsForRunning - Indicates the TagsForRunning property is set. The value is 2097152." + }, + "PlacementConstraints": { + "type": "string", + "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": "The correlation scheme." + }, + "LoadMetrics": { + "$ref": "#/definitions/ServiceLoadMetricsList", + "description": "The service load metrics." + }, + "ServicePlacementPolicies": { + "$ref": "#/definitions/ServicePlacementPoliciesList", + "description": "The service placement policies." + }, + "DefaultMoveCost": { + "$ref": "#/definitions/MoveCost", + "description": "The move cost for the service." + }, + "ScalingPolicies": { + "$ref": "#/definitions/ScalingPolicyDescriptionList", + "description": "Scaling policies for this service." + }, + "ServiceDnsName": { + "type": "string", + "description": "The DNS name of the service." + }, + "TagsForPlacement": { + "$ref": "#/definitions/NodeTagsDescription", + "description": "Tags for placement of this service." + }, + "TagsForRunning": { + "$ref": "#/definitions/NodeTagsDescription", + "description": "Tags for running of this service." + } + } + }, + "StatefulServiceUpdateDescription": { + "description": "Describes an update for a stateful service.", + "allOf": [ + { + "$ref": "#/definitions/ServiceUpdateDescription" + } + ], + "x-ms-discriminator-value": "Stateful", + "properties": { + "TargetReplicaSetSize": { + "type": "integer", + "minimum": 1, + "description": "The target replica set size as a number." + }, + "MinReplicaSetSize": { + "type": "integer", + "minimum": 1, + "description": "The minimum replica set size as a number." + }, + "ReplicaRestartWaitDurationSeconds": { + "type": "string", + "description": "The duration, in seconds, between when a replica goes down and when a new replica is created." + }, + "QuorumLossWaitDurationSeconds": { + "type": "string", + "description": "The maximum duration, in seconds, for which a partition is allowed to be in a state of quorum loss." + }, + "StandByReplicaKeepDurationSeconds": { + "type": "string", + "description": "The definition on how long StandBy replicas should be maintained before being removed." + }, + "ServicePlacementTimeLimitSeconds": { + "type": "string", + "description": "The duration for which replicas can stay InBuild before reporting that build is stuck." + }, + "DropSourceReplicaOnMove": { + "type": "boolean", + "description": "Indicates whether to drop source Secondary replica even if the target replica has not finished build. If desired behavior is to drop it as soon as possible the value of this property is true, if not it is false." + }, + "ReplicaLifecycleDescription": { + "$ref": "#/definitions/ReplicaLifecycleDescription", + "description": "Defines how replicas of this service will behave during their lifecycle." + }, + "AuxiliaryReplicaCount": { + "type": "integer", + "minimum": 0, + "description": "The auxiliary replica count as a number. To use Auxiliary replicas, the following must be true: AuxiliaryReplicaCount < (TargetReplicaSetSize+1)/2 and TargetReplicaSetSize >=3." + } + } + }, + "StatelessServiceUpdateDescription": { + "description": "Describes an update for a stateless service.", + "allOf": [ + { + "$ref": "#/definitions/ServiceUpdateDescription" + } + ], + "x-ms-discriminator-value": "Stateless", + "properties": { + "InstanceCount": { + "type": "integer", + "minimum": -1, + "description": "The instance count." + }, + "MinInstanceCount": { + "$ref": "#/definitions/MinInstanceCount", + "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + }, + "MinInstancePercentage": { + "$ref": "#/definitions/MinInstancePercentage", + "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + }, + "InstanceCloseDelayDurationSeconds": { + "type": "string", + "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster upgrade and disabling node.\nThe endpoint exposed on this instance is removed prior to starting the delay, which prevents new connections to this instance.\nIn addition, clients that have subscribed to service endpoint change events(https://docs.microsoft.com/dotnet/api/system.fabric.fabricclient.servicemanagementclient.registerservicenotificationfilterasync), can do\nthe following upon receiving the endpoint removal notification:\n - Stop sending new requests to this instance.\n - Close existing connections after in-flight requests have completed.\n - Connect to a different instance of the service partition for future requests." + }, + "InstanceLifecycleDescription": { + "$ref": "#/definitions/InstanceLifecycleDescription", + "description": "Defines how instances of this service will behave during their lifecycle." + }, + "InstanceRestartWaitDurationSeconds": { + "type": "string", + "description": "When a stateless instance goes down, this timer starts. When it expires Service Fabric will create a new instance on any node in the cluster. \nThis configuration is to reduce unnecessary creation of a new instance in situations where the instance going down is likely to recover in a short time. For example, during an upgrade.\nThe default value is 0, which indicates that when stateless instance goes down, Service Fabric will immediately start building its replacement." + } + } + }, + "ImageStoreRelativePath": { + "type": "string", + "description": "The remote location within image store. This path is relative to the image store root." + }, + "FileVersion": { + "description": "Information about the version of image store file.", + "properties": { + "VersionNumber": { + "type": "string", + "description": "The current image store version number for the file is used in image store for checking whether it need to be updated." + }, + "EpochDataLossNumber": { + "type": "string", + "description": "The epoch data loss number of image store replica when this file entry was updated or created." + }, + "EpochConfigurationNumber": { + "type": "string", + "description": "The epoch configuration version number of the image store replica when this file entry was created or updated." + } + } + }, + "DiskInfo": { + "description": "Information about the disk", + "properties": { + "Capacity": { + "type": "string", + "description": "the disk size in bytes" + }, + "AvailableSpace": { + "type": "string", + "description": "the available disk space in bytes" + } + } + }, + "FileInfo": { + "description": "Information about a image store file.", + "properties": { + "FileSize": { + "type": "string", + "description": "The size of file in bytes." + }, + "FileVersion": { + "$ref": "#/definitions/FileVersion", + "description": "Information about the version of image store file." + }, + "ModifiedDate": { + "type": "string", + "format": "date-time", + "description": "The date and time when the image store file was last modified." + }, + "StoreRelativePath": { + "type": "string", + "description": "The file path relative to the image store root path." + } + } + }, + "FolderInfo": { + "description": "Information about a image store folder. It includes how many files this folder contains and its image store relative path.", + "properties": { + "StoreRelativePath": { + "$ref": "#/definitions/ImageStoreRelativePath", + "description": "The remote location within image store. This path is relative to the image store root." + }, + "FileCount": { + "type": "string", + "description": "The number of files from within the image store folder." + } + } + }, + "FolderSizeInfo": { + "description": "Information of a image store folder size", + "properties": { + "StoreRelativePath": { + "$ref": "#/definitions/ImageStoreRelativePath", + "description": "The remote location within image store. This path is relative to the image store root." + }, + "FolderSize": { + "type": "string", + "description": "The size of folder in bytes." + } + } + }, + "UsageInfo": { + "description": "Information about how much space and how many files in the file system the ImageStore is using in this category", + "properties": { + "UsedSpace": { + "type": "string", + "description": "the size of all files in this category" + }, + "FileCount": { + "type": "string", + "description": "the number of all files in this category" + } + } + }, + "ImageStoreContent": { + "description": "Information about the image store content.", + "properties": { + "StoreFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/FileInfo" + }, + "description": "The list of image store file info objects represents files found under the given image store relative path." + }, + "StoreFolders": { + "type": "array", + "items": { + "$ref": "#/definitions/FolderInfo" + }, + "description": "The list of image store folder info objects represents subfolders found under the given image store relative path." + } + } + }, + "ImageStoreCopyDescription": { + "description": "Information about how to copy image store content from one image store relative path to another image store relative path.", + "required": [ + "RemoteSource", + "RemoteDestination" + ], + "properties": { + "RemoteSource": { + "type": "string", + "description": "The relative path of source image store content to be copied from." + }, + "RemoteDestination": { + "type": "string", + "description": "The relative path of destination image store content to be copied to." + }, + "SkipFiles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of the file names to be skipped for copying." + }, + "CheckMarkFile": { + "type": "boolean", + "description": "Indicates whether to check mark file during copying. The property is true if checking mark file is required, false otherwise. The mark file is used to check whether the folder is well constructed. If the property is true and mark file does not exist, the copy is skipped." + } + } + }, + "ImageStoreInfo": { + "description": "Information about the ImageStore's resource usage", + "properties": { + "DiskInfo": { + "$ref": "#/definitions/DiskInfo", + "description": "disk capacity and available disk space on the node where the ImageStore primary is placed." + }, + "UsedByMetadata": { + "$ref": "#/definitions/UsageInfo", + "description": "the ImageStore's file system usage for metadata." + }, + "UsedByStaging": { + "$ref": "#/definitions/UsageInfo", + "description": "The ImageStore's file system usage for staging files that are being uploaded." + }, + "UsedByCopy": { + "$ref": "#/definitions/UsageInfo", + "description": "the ImageStore's file system usage for copied application and cluster packages. [Removing application and cluster packages](https://docs.microsoft.com/rest/api/servicefabric/sfclient-api-deleteimagestorecontent) will free up this space." + }, + "UsedByRegister": { + "$ref": "#/definitions/UsageInfo", + "description": "the ImageStore's file system usage for registered and cluster packages. [Unregistering application](https://docs.microsoft.com/rest/api/servicefabric/sfclient-api-unprovisionapplicationtype) and [cluster packages](https://docs.microsoft.com/rest/api/servicefabric/sfclient-api-unprovisionapplicationtype) will free up this space." + } + } + }, + "InstanceId": { + "type": "string", + "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId." + }, + "CodePackageInstanceId": { + "type": "string", + "description": "The instance ID for current running entry point. For a code package setup entry point (if specified) runs first and after it finishes main entry point is started. Each time entry point executable is run, its instance id will change." + }, + "HostIsolationMode": { + "type": "string", + "description": "Specifies the isolation mode of main entry point of a code package when it's host type is ContainerHost. This is specified as part of container host policies in application manifest while importing service manifest.", + "enum": [ + "None", + "Process", + "HyperV" + ], + "x-ms-enum": { + "name": "HostIsolationMode", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "Indicates the isolation mode is not applicable for given HostType. The value is 0." + }, + { + "value": "Process", + "description": "This is the default isolation mode for a ContainerHost. The value is 1." + }, + { + "value": "HyperV", + "description": "Indicates the ContainerHost is a Hyper-V container. This applies to only Windows containers. The value is 2." + } + ] + } + }, + "HostType": { + "type": "string", + "description": "Specifies the type of host for main entry point of a code package as specified in service manifest.", + "enum": [ + "Invalid", + "ExeHost", + "ContainerHost" + ], + "x-ms-enum": { + "name": "HostType", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the type of host is not known or invalid. The value is 0." + }, + { + "value": "ExeHost", + "description": "Indicates the host is an executable. The value is 1." + }, + { + "value": "ContainerHost", + "description": "Indicates the host is a container. The value is 2." + } + ] + } + }, + "RestartDeployedCodePackageDescription": { + "description": "Defines description for restarting a deployed code package on Service Fabric node.", + "required": [ + "ServiceManifestName", + "CodePackageName", + "CodePackageInstanceId" + ], + "properties": { + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "The name of service manifest that specified this code package." + }, + "ServicePackageActivationId": { + "$ref": "#/definitions/ServicePackageActivationId", + "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string." + }, + "CodePackageName": { + "$ref": "#/definitions/CodePackageName", + "description": "The name of the code package defined in the service manifest." + }, + "CodePackageInstanceId": { + "$ref": "#/definitions/CodePackageInstanceId", + "description": "The instance ID for currently running entry point. For a code package setup entry point (if specified) runs first and after it finishes main entry point is started.\nEach time entry point executable is run, its instance ID will change. If 0 is passed in as the code package instance ID, the API will restart the code package with whatever instance ID it is currently running.\nIf an instance ID other than 0 is passed in, the API will restart the code package only if the current Instance ID matches the passed in instance ID.\nNote, passing in the exact instance ID (not 0) in the API is safer, because if ensures at most one restart of the code package." + } + } + }, + "DeployedServiceTypeInfo": { + "description": "Information about service type deployed on a node, information such as the status of the service type registration on a node.", + "properties": { + "ServiceTypeName": { + "$ref": "#/definitions/ServiceTypeName", + "description": "Name of the service type as specified in the service manifest." + }, + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "The name of the service manifest in which this service type is defined." + }, + "CodePackageName": { + "$ref": "#/definitions/CodePackageName", + "description": "The name of the code package that registered the service type." + }, + "Status": { + "$ref": "#/definitions/ServiceTypeRegistrationStatus", + "description": "The status of the service type registration on the node." + }, + "ServicePackageActivationId": { + "$ref": "#/definitions/ServicePackageActivationId", + "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string." + } + } + }, + "DeployedServiceTypeInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedServiceTypeInfo" + }, + "description": "List of information about service type deployed on a node." + }, + "ServiceTypeRegistrationStatus": { + "type": "string", + "description": "The status of the service type registration on the node.", + "enum": [ + "Invalid", + "Disabled", + "Enabled", + "Registered" + ], + "x-ms-enum": { + "name": "ServiceTypeRegistrationStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the registration status is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Disabled", + "description": "Indicates that the service type is disabled on this node. A type gets disabled when there are too many failures of the code package hosting the service type. If the service type is disabled, new replicas of that service type will not be placed on the node until it is enabled again. The service type is enabled again after the process hosting it comes up and re-registers the type or a preconfigured time interval has passed. The value is 1." + }, + { + "value": "Enabled", + "description": "Indicates that the service type is enabled on this node. Replicas of this service type can be placed on this node when the code package registers the service type. The value is 2." + }, + { + "value": "Registered", + "description": "Indicates that the service type is enabled and registered on the node by a code package. Replicas of this service type can now be placed on this node. The value is 3." + } + ] + } + }, + "ServiceEndpointRole": { + "type": "string", + "description": "The role of the replica where the endpoint is reported.", + "enum": [ + "Invalid", + "Stateless", + "StatefulPrimary", + "StatefulSecondary" + ], + "x-ms-enum": { + "name": "ServiceEndpointRole", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the service endpoint role is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Stateless", + "description": "Indicates that the service endpoint is of a stateless service. The value is 1." + }, + { + "value": "StatefulPrimary", + "description": "Indicates that the service endpoint is of a primary replica of a stateful service. The value is 2." + }, + { + "value": "StatefulSecondary", + "description": "Indicates that the service endpoint is of a secondary replica of a stateful service. The value is 3." + } + ] + } + }, + "ResolvedServiceEndpoint": { + "description": "Endpoint of a resolved service partition.", + "properties": { + "Kind": { + "$ref": "#/definitions/ServiceEndpointRole", + "description": "The role of the replica where the endpoint is reported." + }, + "Address": { + "type": "string", + "description": "The address of the endpoint. If the endpoint has multiple listeners the address is a JSON object with one property per listener with the value as the address of that listener." + } + } + }, + "ResolvedServicePartition": { + "description": "Information about a service partition and its associated endpoints.", + "required": [ + "Name", + "PartitionInformation", + "Endpoints", + "Version" + ], + "properties": { + "Name": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + }, + "PartitionInformation": { + "$ref": "#/definitions/PartitionInformation", + "description": "A representation of the resolved partition." + }, + "Endpoints": { + "$ref": "#/definitions/ResolvedServiceEndpointList", + "description": "List of resolved service endpoints of a service partition." + }, + "Version": { + "type": "string", + "description": "The version of this resolved service partition result. This version should be passed in the next time the ResolveService call is made via the PreviousRspVersion query parameter." + } + } + }, + "ResolvedServiceEndpointList": { + "type": "array", + "items": { + "$ref": "#/definitions/ResolvedServiceEndpoint" + }, + "description": "List of resolved service endpoints of a service partition." + }, + "InvokeDataLossResult": { + "description": "Represents information about an operation in a terminal state (Completed or Faulted).", + "properties": { + "ErrorCode": { + "type": "integer", + "format": "int32", + "description": "If OperationState is Completed, this is 0. If OperationState is Faulted, this is an error code indicating the reason." + }, + "SelectedPartition": { + "$ref": "#/definitions/SelectedPartition", + "description": "This class returns information about the partition that the user-induced operation acted upon." + } + } + }, + "InvokeQuorumLossResult": { + "description": "Represents information about an operation in a terminal state (Completed or Faulted).", + "properties": { + "ErrorCode": { + "type": "integer", + "format": "int32", + "description": "If OperationState is Completed, this is 0. If OperationState is Faulted, this is an error code indicating the reason." + }, + "SelectedPartition": { + "$ref": "#/definitions/SelectedPartition", + "description": "This class returns information about the partition that the user-induced operation acted upon." + } + } + }, + "NodeResult": { + "description": "Contains information about a node that was targeted by a user-induced operation.", + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "NodeInstanceId": { + "type": "string", + "description": "The node instance id." + } + } + }, + "NodeTransitionProgress": { + "description": "Information about an NodeTransition operation. This class contains an OperationState and a NodeTransitionResult. The NodeTransitionResult is not valid until OperationState\nis Completed or Faulted.", + "properties": { + "State": { + "$ref": "#/definitions/OperationState", + "description": "The state of the operation." + }, + "NodeTransitionResult": { + "$ref": "#/definitions/NodeTransitionResult", + "description": "Represents information about an operation in a terminal state (Completed or Faulted)." + } + } + }, + "NodeTransitionResult": { + "description": "Represents information about an operation in a terminal state (Completed or Faulted).", + "properties": { + "ErrorCode": { + "type": "integer", + "format": "int32", + "description": "If OperationState is Completed, this is 0. If OperationState is Faulted, this is an error code indicating the reason." + }, + "NodeResult": { + "$ref": "#/definitions/NodeResult", + "description": "Contains information about a node that was targeted by a user-induced operation." + } + } + }, + "Ordering": { + "type": "string", + "description": "Defines the order.", + "enum": [ + "Desc", + "Asc" + ], + "default": "Desc", + "x-ms-enum": { + "name": "Ordering", + "modelAsString": true, + "values": [ + { + "value": "Desc", + "description": "Descending sort order." + }, + { + "value": "Asc", + "description": "Ascending sort order." + } + ] + } + }, + "NodeTagsDescription": { + "description": "Describes the tags required for placement or running of the service.", + "required": [ + "Count", + "Tags" + ], + "properties": { + "Count": { + "type": "integer", + "description": "The number of tags." + }, + "Tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of size specified by the ‘Count’ parameter, for the placement tags of the service." + } + } + }, + "OperationId": { + "type": "string", + "format": "uuid", + "description": "A GUID that identifies a call to this API. This is also passed into the corresponding GetProgress API." + }, + "OperationState": { + "type": "string", + "description": "The state of the operation.", + "enum": [ + "Invalid", + "Running", + "RollingBack", + "Completed", + "Faulted", + "Cancelled", + "ForceCancelled" + ], + "x-ms-enum": { + "name": "OperationState", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "The operation state is invalid." + }, + { + "value": "Running", + "description": "The operation is in progress." + }, + { + "value": "RollingBack", + "description": "The operation is rolling back internal system state because it encountered a fatal error or was cancelled by the user. \"RollingBack\" does not refer to user state. For example, if CancelOperation is called on a command of type PartitionDataLoss, state of \"RollingBack\" does not mean service data is being restored (assuming the command has progressed far enough to cause data loss). It means the system is rolling back/cleaning up internal system state associated with the command." + }, + { + "value": "Completed", + "description": "The operation has completed successfully and is no longer running." + }, + { + "value": "Faulted", + "description": "The operation has failed and is no longer running." + }, + { + "value": "Cancelled", + "description": "The operation was cancelled by the user using CancelOperation, and is no longer running." + }, + { + "value": "ForceCancelled", + "description": "The operation was cancelled by the user using CancelOperation, with the force parameter set to true. It is no longer running. Refer to CancelOperation for more details." + } + ] + } + }, + "OperationStatus": { + "description": "Contains the OperationId, OperationState, and OperationType for user-induced operations.", + "properties": { + "OperationId": { + "$ref": "#/definitions/OperationId", + "description": "A GUID that identifies a call to this API. This is also passed into the corresponding GetProgress API." + }, + "State": { + "$ref": "#/definitions/OperationState", + "description": "The state of the operation." + }, + "Type": { + "$ref": "#/definitions/OperationType", + "description": "The type of the operation." + } + } + }, + "OperationStatusList": { + "type": "array", + "description": "A list of OperationStatus objects.", + "items": { + "$ref": "#/definitions/OperationStatus" + } + }, + "OperationType": { + "type": "string", + "description": "The type of the operation.", + "enum": [ + "Invalid", + "PartitionDataLoss", + "PartitionQuorumLoss", + "PartitionRestart", + "NodeTransition" + ], + "x-ms-enum": { + "name": "OperationType", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "The operation state is invalid." + }, + { + "value": "PartitionDataLoss", + "description": "An operation started using the StartDataLoss API." + }, + { + "value": "PartitionQuorumLoss", + "description": "An operation started using the StartQuorumLoss API." + }, + { + "value": "PartitionRestart", + "description": "An operation started using the StartPartitionRestart API." + }, + { + "value": "NodeTransition", + "description": "An operation started using the StartNodeTransition API." + } + ] + } + }, + "PartitionDataLossProgress": { + "description": "Information about a partition data loss user-induced operation.", + "properties": { + "State": { + "$ref": "#/definitions/OperationState", + "description": "The state of the operation." + }, + "InvokeDataLossResult": { + "$ref": "#/definitions/InvokeDataLossResult", + "description": "Represents information about an operation in a terminal state (Completed or Faulted)." + } + } + }, + "PartitionQuorumLossProgress": { + "description": "Information about a partition quorum loss user-induced operation.", + "properties": { + "State": { + "$ref": "#/definitions/OperationState", + "description": "The state of the operation." + }, + "InvokeQuorumLossResult": { + "$ref": "#/definitions/InvokeQuorumLossResult", + "description": "Represents information about an operation in a terminal state (Completed or Faulted)." + } + } + }, + "PartitionRestartProgress": { + "description": "Information about a partition restart user-induced operation.", + "properties": { + "State": { + "$ref": "#/definitions/OperationState", + "description": "The state of the operation." + }, + "RestartPartitionResult": { + "$ref": "#/definitions/RestartPartitionResult", + "description": "Represents information about an operation in a terminal state (Completed or Faulted)." + } + } + }, + "RestartPartitionResult": { + "description": "Represents information about an operation in a terminal state (Completed or Faulted).", + "properties": { + "ErrorCode": { + "type": "integer", + "format": "int32", + "description": "If OperationState is Completed, this is 0. If OperationState is Faulted, this is an error code indicating the reason." + }, + "SelectedPartition": { + "$ref": "#/definitions/SelectedPartition", + "description": "This class returns information about the partition that the user-induced operation acted upon." + } + } + }, + "SelectedPartition": { + "description": "This class returns information about the partition that the user-induced operation acted upon.", + "properties": { + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The name of the service the partition belongs to." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different." + } + } + }, + "DeployServicePackageToNodeDescription": { + "description": "Defines description for downloading packages associated with a service manifest to image cache on a Service Fabric node.", + "properties": { + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "The name of service manifest whose packages need to be downloaded." + }, + "ApplicationTypeName": { + "$ref": "#/definitions/ApplicationTypeName", + "description": "The application type name as defined in the application manifest." + }, + "ApplicationTypeVersion": { + "$ref": "#/definitions/ApplicationTypeVersion", + "description": "The version of the application type as defined in the application manifest." + }, + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "PackageSharingPolicy": { + "$ref": "#/definitions/PackageSharingPolicyInfoList", + "description": "List of package sharing policy information." + } + }, + "required": [ + "ServiceManifestName", + "ApplicationTypeName", + "ApplicationTypeVersion", + "NodeName" + ] + }, + "PackageSharingPolicyInfo": { + "description": "Represents a policy for the package sharing.", + "properties": { + "SharedPackageName": { + "type": "string", + "description": "The name of code, configuration or data package that should be shared." + }, + "PackageSharingScope": { + "$ref": "#/definitions/PackageSharingPolicyScope", + "description": "Represents the scope for PackageSharingPolicy. This is specified during DeployServicePackageToNode operation." + } + } + }, + "PackageSharingPolicyInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/PackageSharingPolicyInfo" + }, + "description": "List of package sharing policy information." + }, + "PackageSharingPolicyScope": { + "type": "string", + "description": "Represents the scope for PackageSharingPolicy. This is specified during DeployServicePackageToNode operation.", + "enum": [ + "None", + "All", + "Code", + "Config", + "Data" + ], + "x-ms-enum": { + "name": "PackageSharingPolicyScope", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "No package sharing policy scope. The value is 0." + }, + { + "value": "All", + "description": "Share all code, config and data packages from corresponding service manifest. The value is 1." + }, + { + "value": "Code", + "description": "Share all code packages from corresponding service manifest. The value is 2." + }, + { + "value": "Config", + "description": "Share all config packages from corresponding service manifest. The value is 3." + }, + { + "value": "Data", + "description": "Share all data packages from corresponding service manifest. The value is 4." + } + ] + } + }, + "ResumeApplicationUpgradeDescription": { + "description": "Describes the parameters for resuming an unmonitored manual Service Fabric application upgrade", + "properties": { + "UpgradeDomainName": { + "type": "string", + "description": "The name of the upgrade domain in which to resume the upgrade." + } + }, + "required": [ + "UpgradeDomainName" + ] + }, + "ApplicationUpgradeUpdateDescription": { + "description": "Describes the parameters for updating an ongoing application upgrade.", + "properties": { + "Name": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "UpgradeKind": { + "$ref": "#/definitions/UpgradeKind", + "description": "The kind of upgrade out of the following possible values." + }, + "ApplicationHealthPolicy": { + "$ref": "#/definitions/ApplicationHealthPolicy", + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities." + }, + "UpdateDescription": { + "$ref": "#/definitions/RollingUpgradeUpdateDescription", + "description": "Describes the parameters for updating a rolling upgrade of application or cluster." + } + }, + "required": [ + "Name", + "UpgradeKind" + ] + }, + "RollingUpgradeUpdateDescription": { + "description": "Describes the parameters for updating a rolling upgrade of application or cluster.", + "properties": { + "RollingUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred." + }, + "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)." + }, + "ReplicaSetCheckTimeoutInMilliseconds": { + "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout", + "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)." + }, + "FailureAction": { + "$ref": "#/definitions/FailureAction", + "description": "The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.\nInvalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.\nManual indicates that the upgrade will switch to UnmonitoredManual upgrade mode." + }, + "HealthCheckWaitDurationInMilliseconds": { + "$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." + }, + "HealthCheckStableDurationInMilliseconds": { + "$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." + }, + "HealthCheckRetryTimeoutInMilliseconds": { + "$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." + }, + "UpgradeTimeoutInMilliseconds": { + "$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." + }, + "UpgradeDomainTimeoutInMilliseconds": { + "$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." + }, + "InstanceCloseDelayDurationInSeconds": { + "$ref": "#/definitions/InstanceCloseDelayDurationInSeconds", + "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster\nupgrade, only for those instances which have a non-zero delay duration configured in the service description. See InstanceCloseDelayDurationSeconds property in $ref: \"#/definitions/StatelessServiceDescription.yaml\" for details.\nNote, the default value of InstanceCloseDelayDurationInSeconds is 4294967295, which indicates that the behavior will entirely depend on the delay configured in the stateless service description." + } + }, + "required": [ + "RollingUpgradeMode" + ] + }, + "NameDescription": { + "description": "Describes a Service Fabric name.", + "properties": { + "Name": { + "$ref": "#/definitions/FabricName", + "description": "The Service Fabric name, including the 'fabric:' URI scheme." + } + }, + "required": [ + "Name" + ] + }, + "FabricName": { + "type": "string", + "description": "The Service Fabric name, including the 'fabric:' URI scheme." + }, + "PagedSubNameInfoList": { + "description": "A paged list of Service Fabric names. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "IsConsistent": { + "type": "boolean", + "description": "Indicates whether any name under the given name has been modified during the enumeration. If there was a modification, this property value is false." + }, + "SubNames": { + "type": "array", + "description": "List of the child names.", + "items": { + "$ref": "#/definitions/FabricName" + } + } + } + }, + "PropertyValueKind": { + "type": "string", + "description": "The kind of property, determined by the type of data. Following are the possible values.", + "enum": [ + "Invalid", + "Binary", + "Int64", + "Double", + "String", + "Guid" + ], + "x-ms-enum": { + "name": "PropertyValueKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the property is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Binary", + "description": "The data inside the property is a binary blob. The value is 1." + }, + { + "value": "Int64", + "description": "The data inside the property is an int64. The value is 2." + }, + { + "value": "Double", + "description": "The data inside the property is a double. The value is 3." + }, + { + "value": "String", + "description": "The data inside the property is a string. The value is 4." + }, + { + "value": "Guid", + "description": "The data inside the property is a guid. The value is 5." + } + ] + } + }, + "PropertyValue": { + "discriminator": "Kind", + "description": "Describes a Service Fabric property value.", + "properties": { + "Kind": { + "$ref": "#/definitions/PropertyValueKind", + "description": "The kind of property, determined by the type of data. Following are the possible values." + } + }, + "required": [ + "Kind" + ] + }, + "BinaryPropertyValue": { + "description": "Describes a Service Fabric property value of type Binary.", + "allOf": [ + { + "$ref": "#/definitions/PropertyValue" + } + ], + "x-ms-discriminator-value": "Binary", + "required": [ + "Data" + ], + "properties": { + "Data": { + "$ref": "#/definitions/ByteArray", + "description": "Array of bytes to be sent as an integer array. Each element of array is a number between 0 and 255." + } + } + }, + "Int64PropertyValue": { + "description": "Describes a Service Fabric property value of type Int64.", + "allOf": [ + { + "$ref": "#/definitions/PropertyValue" + } + ], + "x-ms-discriminator-value": "Int64", + "required": [ + "Data" + ], + "properties": { + "Data": { + "type": "string", + "description": "The data of the property value." + } + } + }, + "DoublePropertyValue": { + "description": "Describes a Service Fabric property value of type Double.", + "allOf": [ + { + "$ref": "#/definitions/PropertyValue" + } + ], + "x-ms-discriminator-value": "Double", + "required": [ + "Data" + ], + "properties": { + "Data": { + "type": "number", + "format": "double", + "description": "The data of the property value." + } + } + }, + "StringPropertyValue": { + "description": "Describes a Service Fabric property value of type String.", + "allOf": [ + { + "$ref": "#/definitions/PropertyValue" + } + ], + "x-ms-discriminator-value": "String", + "required": [ + "Data" + ], + "properties": { + "Data": { + "type": "string", + "description": "The data of the property value." + } + } + }, + "GuidPropertyValue": { + "description": "Describes a Service Fabric property value of type Guid.", + "allOf": [ + { + "$ref": "#/definitions/PropertyValue" + } + ], + "x-ms-discriminator-value": "Guid", + "required": [ + "Data" + ], + "properties": { + "Data": { + "type": "string", + "format": "uuid", + "description": "The data of the property value." + } + } + }, + "PropertyInfo": { + "description": "Information about a Service Fabric property.", + "properties": { + "Name": { + "$ref": "#/definitions/PropertyName", + "description": "The name of the Service Fabric property." + }, + "Value": { + "$ref": "#/definitions/PropertyValue", + "description": "Describes a Service Fabric property value." + }, + "Metadata": { + "$ref": "#/definitions/PropertyMetadata", + "description": "The metadata associated with a property, including the property's name." + } + }, + "required": [ + "Name", + "Metadata" + ] + }, + "PagedPropertyInfoList": { + "description": "The paged list of Service Fabric properties under a given name. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "IsConsistent": { + "type": "boolean", + "description": "Indicates whether any property under the given name has been modified during the enumeration. If there was a modification, this property value is false." + }, + "Properties": { + "type": "array", + "description": "List of property information.", + "items": { + "$ref": "#/definitions/PropertyInfo" + } + } + } + }, + "PropertyDescription": { + "description": "Description of a Service Fabric property.", + "properties": { + "PropertyName": { + "$ref": "#/definitions/PropertyName", + "description": "The name of the Service Fabric property." + }, + "CustomTypeId": { + "$ref": "#/definitions/PropertyCustomTypeId", + "description": "The property's custom type ID. Using this property, the user is able to tag the type of the value of the property." + }, + "Value": { + "$ref": "#/definitions/PropertyValue", + "description": "Describes a Service Fabric property value." + } + }, + "required": [ + "PropertyName", + "Value" + ] + }, + "PropertyName": { + "type": "string", + "description": "The name of the Service Fabric property." + }, + "PropertyMetadata": { + "description": "The metadata associated with a property, including the property's name.", + "properties": { + "TypeId": { + "$ref": "#/definitions/PropertyValueKind", + "description": "The kind of property, determined by the type of data. Following are the possible values." + }, + "CustomTypeId": { + "$ref": "#/definitions/PropertyCustomTypeId", + "description": "The property's custom type ID." + }, + "Parent": { + "$ref": "#/definitions/FabricName", + "description": "The name of the parent Service Fabric Name for the property. It could be thought of as the name-space/table under which the property exists." + }, + "SizeInBytes": { + "type": "integer", + "description": "The length of the serialized property value." + }, + "LastModifiedUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Represents when the Property was last modified. Only write operations will cause this field to be updated." + }, + "SequenceNumber": { + "type": "string", + "description": "The version of the property. Every time a property is modified, its sequence number is increased." + } + } + }, + "PropertyCustomTypeId": { + "type": "string", + "description": "The property's custom type ID. Using this property, the user is able to tag the type of the value of the property." + }, + "PropertyBatchDescriptionList": { + "description": "Describes a list of property batch operations to be executed. Either all or none of the operations will be committed.", + "properties": { + "Operations": { + "type": "array", + "items": { + "$ref": "#/definitions/PropertyBatchOperation" + }, + "description": "A list of the property batch operations to be executed." + } + } + }, + "PropertyBatchOperationKind": { + "type": "string", + "description": "The kind of property batch operation, determined by the operation to be performed. The following are the possible values.", + "enum": [ + "Invalid", + "Put", + "Get", + "CheckExists", + "CheckSequence", + "Delete", + "CheckValue" + ], + "x-ms-enum": { + "name": "PropertyBatchOperationKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the property operation is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Put", + "description": "The operation will create or edit a property. The value is 1." + }, + { + "value": "Get", + "description": "The operation will get a property. The value is 2." + }, + { + "value": "CheckExists", + "description": "The operation will check that a property exists or doesn't exists, depending on the provided value. The value is 3." + }, + { + "value": "CheckSequence", + "description": "The operation will ensure that the sequence number is equal to the provided value. The value is 4." + }, + { + "value": "Delete", + "description": "The operation will delete a property. The value is 5." + }, + { + "value": "CheckValue", + "description": "The operation will ensure that the value of a property is equal to the provided value. The value is 7." + } + ] + } + }, + "PropertyBatchOperation": { + "discriminator": "Kind", + "description": "Represents the base type for property operations that can be put into a batch and submitted.", + "properties": { + "Kind": { + "$ref": "#/definitions/PropertyBatchOperationKind", + "description": "The kind of property batch operation, determined by the operation to be performed. The following are the possible values." + }, + "PropertyName": { + "$ref": "#/definitions/PropertyName", + "description": "The name of the Service Fabric property." + } + }, + "required": [ + "Kind", + "PropertyName" + ] + }, + "CheckExistsPropertyBatchOperation": { + "description": "Represents a PropertyBatchOperation that compares the Boolean existence of a property with the Exists argument.\nThe PropertyBatchOperation operation fails if the property's existence is not equal to the Exists argument.\nThe CheckExistsPropertyBatchOperation is generally used as a precondition for the write operations in the batch.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.", + "allOf": [ + { + "$ref": "#/definitions/PropertyBatchOperation" + } + ], + "x-ms-discriminator-value": "CheckExists", + "properties": { + "Exists": { + "type": "boolean", + "description": "Whether or not the property should exist for the operation to pass." + } + }, + "required": [ + "Exists" + ] + }, + "CheckSequencePropertyBatchOperation": { + "description": "Compares the Sequence Number of a property with the SequenceNumber argument.\nA property's sequence number can be thought of as that property's version.\nEvery time the property is modified, its sequence number is increased.\nThe sequence number can be found in a property's metadata.\nThe comparison fails if the sequence numbers are not equal.\nCheckSequencePropertyBatchOperation is generally used as a precondition for the write operations in the batch.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.", + "allOf": [ + { + "$ref": "#/definitions/PropertyBatchOperation" + } + ], + "x-ms-discriminator-value": "CheckSequence", + "properties": { + "SequenceNumber": { + "type": "string", + "description": "The expected sequence number." + } + }, + "required": [ + "SequenceNumber" + ] + }, + "CheckValuePropertyBatchOperation": { + "description": "Represents a PropertyBatchOperation that compares the value of the property with the expected value.\nThe CheckValuePropertyBatchOperation is generally used as a precondition for the write operations in the batch.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.", + "allOf": [ + { + "$ref": "#/definitions/PropertyBatchOperation" + } + ], + "x-ms-discriminator-value": "CheckValue", + "properties": { + "Value": { + "$ref": "#/definitions/PropertyValue", + "description": "The expected property value." + } + }, + "required": [ + "Value" + ] + }, + "DeletePropertyBatchOperation": { + "description": "Represents a PropertyBatchOperation that deletes a specified property if it exists.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.", + "allOf": [ + { + "$ref": "#/definitions/PropertyBatchOperation" + } + ], + "x-ms-discriminator-value": "Delete" + }, + "GetPropertyBatchOperation": { + "description": "Represents a PropertyBatchOperation that gets the specified property if it exists.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.", + "allOf": [ + { + "$ref": "#/definitions/PropertyBatchOperation" + } + ], + "x-ms-discriminator-value": "Get", + "properties": { + "IncludeValue": { + "type": "boolean", + "default": false, + "description": "Whether or not to return the property value with the metadata.\nTrue if values should be returned with the metadata; False to return only property metadata." + } + } + }, + "PutPropertyBatchOperation": { + "description": "Puts the specified property under the specified name.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.", + "allOf": [ + { + "$ref": "#/definitions/PropertyBatchOperation" + } + ], + "x-ms-discriminator-value": "Put", + "properties": { + "Value": { + "$ref": "#/definitions/PropertyValue", + "description": "Describes a Service Fabric property value." + }, + "CustomTypeId": { + "$ref": "#/definitions/PropertyCustomTypeId", + "description": "The property's custom type ID. Using this property, the user is able to tag the type of the value of the property." + } + }, + "required": [ + "Value" + ] + }, + "PropertyBatchInfoKind": { + "type": "string", + "description": "The kind of property batch info, determined by the results of a property batch. The following are the possible values.", + "enum": [ + "Invalid", + "Successful", + "Failed" + ], + "x-ms-enum": { + "name": "PropertyBatchInfoKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the property batch info is invalid. All Service Fabric enumerations have the invalid type." + }, + { + "value": "Successful", + "description": "The property batch succeeded." + }, + { + "value": "Failed", + "description": "The property batch failed." + } + ] + } + }, + "PropertyBatchInfo": { + "discriminator": "Kind", + "description": "Information about the results of a property batch.", + "properties": { + "Kind": { + "$ref": "#/definitions/PropertyBatchInfoKind", + "description": "The kind of property batch info, determined by the results of a property batch. The following are the possible values." + } + }, + "required": [ + "Kind" + ] + }, + "SuccessfulPropertyBatchInfo": { + "description": "Derived from PropertyBatchInfo. Represents the property batch succeeding. Contains the results of any \"Get\" operations in the batch.", + "allOf": [ + { + "$ref": "#/definitions/PropertyBatchInfo" + } + ], + "x-ms-discriminator-value": "Successful", + "properties": { + "Properties": { + "additionalProperties": { + "$ref": "#/definitions/PropertyInfo" + }, + "description": "A map containing the properties that were requested through any \"Get\" property batch operations. The key represents the index of the \"Get\" operation in the original request, in string form. The value is the property. If a property is not found, it will not be in the map." + } + } + }, + "FailedPropertyBatchInfo": { + "description": "Derived from PropertyBatchInfo. Represents the property batch failing. Contains information about the specific batch failure.", + "allOf": [ + { + "$ref": "#/definitions/PropertyBatchInfo" + } + ], + "x-ms-discriminator-value": "Failed", + "properties": { + "ErrorMessage": { + "type": "string", + "description": "The error message of the failed operation. Describes the exception thrown due to the first unsuccessful operation in the property batch." + }, + "OperationIndex": { + "type": "integer", + "description": "The index of the unsuccessful operation in the property batch." + } + } + }, + "EntityKind": { + "type": "string", + "description": "The entity type of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc.", + "enum": [ + "Invalid", + "Node", + "Partition", + "Service", + "Application", + "Replica", + "DeployedApplication", + "DeployedServicePackage", + "Cluster" + ], + "x-ms-enum": { + "name": "EntityKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid entity kind. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Node", + "description": "Indicates the entity is a Service Fabric node. The value is 1." + }, + { + "value": "Partition", + "description": "Indicates the entity is a Service Fabric partition. The value is 2." + }, + { + "value": "Service", + "description": "Indicates the entity is a Service Fabric service. The value is 3." + }, + { + "value": "Application", + "description": "Indicates the entity is a Service Fabric application. The value is 4." + }, + { + "value": "Replica", + "description": "Indicates the entity is a Service Fabric replica. The value is 5." + }, + { + "value": "DeployedApplication", + "description": "Indicates the entity is a Service Fabric deployed application. The value is 6." + }, + { + "value": "DeployedServicePackage", + "description": "Indicates the entity is a Service Fabric deployed service package. The value is 7." + }, + { + "value": "Cluster", + "description": "Indicates the entity is a Service Fabric cluster. The value is 8." + } + ] + } + }, + "HealthStateCount": { + "description": "Represents information about how many health entities are in Ok, Warning and Error health state.", + "properties": { + "OkCount": { + "type": "integer", + "format": "int64", + "description": "The number of health entities with aggregated health state Ok.", + "minimum": 0 + }, + "WarningCount": { + "type": "integer", + "format": "int64", + "description": "The number of health entities with aggregated health state Warning.", + "minimum": 0 + }, + "ErrorCount": { + "type": "integer", + "format": "int64", + "description": "The number of health entities with aggregated health state Error.", + "minimum": 0 + } + } + }, + "EntityKindHealthStateCount": { + "description": "Represents health state count for entities of the specified entity kind.", + "properties": { + "EntityKind": { + "$ref": "#/definitions/EntityKind", + "description": "The entity kind for which health states are evaluated." + }, + "HealthStateCount": { + "$ref": "#/definitions/HealthStateCount", + "description": "The health state count for the entities of the specified kind." + } + } + }, + "HealthStatistics": { + "description": "The health statistics of an entity, returned as part of the health query result when the query description is configured to include statistics.\nThe statistics include health state counts for all children types of the current entity.\nFor example, for cluster, the health statistics include health state counts for nodes, applications, services, partitions, replicas, deployed applications and deployed service packages.\nFor partition, the health statistics include health counts for replicas.", + "properties": { + "HealthStateCountList": { + "type": "array", + "items": { + "$ref": "#/definitions/EntityKindHealthStateCount" + }, + "description": "List of health state counts per entity kind, which keeps track of how many children of the queried entity are in Ok, Warning and Error state." + } + } + }, + "BackupPolicyDescription": { + "description": "Describes a backup policy for configuring periodic backup.", + "required": [ + "Name", + "AutoRestoreOnDataLoss", + "Schedule", + "MaxIncrementalBackups", + "Storage" + ], + "properties": { + "Name": { + "type": "string", + "description": "The unique name identifying this backup policy." + }, + "AutoRestoreOnDataLoss": { + "type": "boolean", + "description": "Specifies whether to trigger restore automatically using the latest available backup in case the partition experiences a data loss event." + }, + "MaxIncrementalBackups": { + "type": "integer", + "minimum": 0, + "maximum": 255, + "description": "Defines the maximum number of incremental backups to be taken between two full backups. This is just the upper limit. A full backup may be taken before specified number of incremental backups are completed in one of the following conditions\n- The replica has never taken a full backup since it has become primary,\n- Some of the log records since the last backup has been truncated, or\n- Replica passed the MaxAccumulatedBackupLogSizeInMB limit." + }, + "Schedule": { + "$ref": "#/definitions/BackupScheduleDescription", + "description": "Describes the backup schedule parameters." + }, + "Storage": { + "$ref": "#/definitions/BackupStorageDescription", + "description": "Describes the details of backup storage where to store the periodic backups." + }, + "RetentionPolicy": { + "$ref": "#/definitions/RetentionPolicyDescription", + "description": "Describes the policy to retain backups in storage." + } + } + }, + "PagedBackupPolicyDescriptionList": { + "description": "The list of backup policies configured in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "The list of backup policies information.", + "items": { + "$ref": "#/definitions/BackupPolicyDescription" + } + } + } + }, + "BasicRetentionPolicyDescription": { + "description": "Describes basic retention policy.", + "allOf": [ + { + "$ref": "#/definitions/RetentionPolicyDescription" + } + ], + "x-ms-discriminator-value": "Basic", + "required": [ + "RetentionDuration" + ], + "properties": { + "RetentionDuration": { + "type": "string", + "format": "duration", + "description": "It is the minimum duration for which a backup created, will remain stored in the storage and might get deleted after that span of time. It should be specified in ISO8601 format." + }, + "MinimumNumberOfBackups": { + "type": "integer", + "minimum": 0, + "description": "It is the minimum number of backups to be retained at any point of time. If specified with a non zero value, backups will not be deleted even if the backups have gone past retention duration and have number of backups less than or equal to it." + } + } + }, + "RetentionPolicyType": { + "type": "string", + "description": "The type of retention policy. Currently only \"Basic\" retention policy is supported.", + "enum": [ + "Basic", + "Invalid" + ], + "x-ms-enum": { + "name": "RetentionPolicyType", + "modelAsString": true, + "values": [ + { + "value": "Basic", + "description": "Indicates a basic retention policy type." + }, + { + "value": "Invalid", + "description": "Indicates an invalid retention policy type." + } + ] + } + }, + "DisableBackupDescription": { + "description": "It describes the body parameters while disabling backup of a backup entity(Application/Service/Partition).", + "required": [ + "CleanBackup" + ], + "properties": { + "CleanBackup": { + "type": "boolean", + "description": "Boolean flag to delete backups. It can be set to true for deleting all the backups which were created for the backup entity that is getting disabled for backup." + } + } + }, + "RetentionPolicyDescription": { + "description": "Describes the retention policy configured.", + "required": [ + "RetentionPolicyType" + ], + "discriminator": "RetentionPolicyType", + "properties": { + "RetentionPolicyType": { + "$ref": "#/definitions/RetentionPolicyType", + "description": "The type of retention policy. Currently only \"Basic\" retention policy is supported." + } + } + }, + "BackupStorageDescription": { + "required": [ + "StorageKind" + ], + "discriminator": "StorageKind", + "properties": { + "StorageKind": { + "$ref": "#/definitions/BackupStorageKind", + "description": "The kind of backup storage, where backups are saved." + }, + "FriendlyName": { + "type": "string", + "description": "Friendly name for this backup storage." + } + }, + "description": "Describes the parameters for the backup storage." + }, + "BackupStorageKind": { + "type": "string", + "description": "The kind of backup storage, where backups are saved.", + "enum": [ + "Invalid", + "FileShare", + "AzureBlobStore", + "DsmsAzureBlobStore", + "ManagedIdentityAzureBlobStore" + ], + "x-ms-enum": { + "name": "BackupStorageKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid backup storage kind. All Service Fabric enumerations have the invalid type." + }, + { + "value": "FileShare", + "description": "Indicates file/ SMB share to be used as backup storage." + }, + { + "value": "AzureBlobStore", + "description": "Indicates Azure blob store to be used as backup storage." + }, + { + "value": "DsmsAzureBlobStore", + "description": "Indicates Dsms Azure blob store to be used as backup storage." + }, + { + "value": "ManagedIdentityAzureBlobStore", + "description": "Indicates Azure blob store to be used as backup storage using managed identity." + } + ] + } + }, + "BackupScheduleDescription": { + "description": "Describes the backup schedule parameters.", + "required": [ + "ScheduleKind" + ], + "discriminator": "ScheduleKind", + "properties": { + "ScheduleKind": { + "$ref": "#/definitions/BackupScheduleKind", + "description": "The kind of backup schedule, time based or frequency based." + } + } + }, + "BackupScheduleKind": { + "type": "string", + "description": "The kind of backup schedule, time based or frequency based.", + "enum": [ + "Invalid", + "TimeBased", + "FrequencyBased" + ], + "x-ms-enum": { + "name": "BackupScheduleKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid backup schedule kind. All Service Fabric enumerations have the invalid type." + }, + { + "value": "TimeBased", + "description": "Indicates a time-based backup schedule." + }, + { + "value": "FrequencyBased", + "description": "Indicates a frequency-based backup schedule." + } + ] + } + }, + "ApplicationBackupConfigurationInfo": { + "description": "Backup configuration information for a specific Service Fabric application specifying what backup policy is being applied and suspend description, if any.", + "allOf": [ + { + "$ref": "#/definitions/BackupConfigurationInfo" + } + ], + "properties": { + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + } + }, + "x-ms-discriminator-value": "Application" + }, + "ServiceBackupConfigurationInfo": { + "description": "Backup configuration information for a specific Service Fabric service specifying what backup policy is being applied and suspend description, if any.", + "allOf": [ + { + "$ref": "#/definitions/BackupConfigurationInfo" + } + ], + "properties": { + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + } + }, + "x-ms-discriminator-value": "Service" + }, + "PagedBackupConfigurationInfoList": { + "description": "The list of backup configuration information. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of backup configuration information.", + "items": { + "$ref": "#/definitions/BackupConfigurationInfo" + } + } + } + }, + "BackupPolicyScope": { + "type": "string", + "description": "Specifies the scope at which the backup policy is applied.", + "enum": [ + "Invalid", + "Partition", + "Service", + "Application" + ], + "x-ms-enum": { + "name": "BackupPolicyScope", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid backup policy scope type. All Service Fabric enumerations have the invalid type." + }, + { + "value": "Partition", + "description": "Indicates the backup policy is applied at partition level. Hence overriding any policy which may have applied at partition's service or application level." + }, + { + "value": "Service", + "description": "Indicates the backup policy is applied at service level. All partitions of the service inherit this policy unless explicitly overridden at partition level." + }, + { + "value": "Application", + "description": "Indicates the backup policy is applied at application level. All services and partitions of the application inherit this policy unless explicitly overridden at service or partition level." + } + ] + } + }, + "BackupSuspensionScope": { + "type": "string", + "description": "Specifies the scope at which the backup suspension was applied.", + "enum": [ + "Invalid", + "Partition", + "Service", + "Application" + ], + "x-ms-enum": { + "name": "BackupSuspensionScope", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid backup suspension scope type also indicating entity is not suspended. All Service Fabric enumerations have the invalid type." + }, + { + "value": "Partition", + "description": "Indicates the backup suspension is applied at partition level." + }, + { + "value": "Service", + "description": "Indicates the backup suspension is applied at service level. All partitions of the service are hence suspended for backup." + }, + { + "value": "Application", + "description": "Indicates the backup suspension is applied at application level. All services and partitions of the application are hence suspended for backup." + } + ] + } + }, + "RestorePartitionDescription": { + "description": "Specifies the parameters needed to trigger a restore of a specific partition.", + "required": [ + "BackupId", + "BackupLocation" + ], + "properties": { + "BackupId": { + "type": "string", + "format": "uuid", + "description": "Unique backup ID." + }, + "BackupLocation": { + "type": "string", + "description": "Location of the backup relative to the backup storage specified/ configured." + }, + "BackupStorage": { + "$ref": "#/definitions/BackupStorageDescription", + "description": "Location of the backup from where the partition will be restored." + } + } + }, + "RestoreProgressInfo": { + "description": "Describes the progress of a restore operation on a partition.", + "properties": { + "RestoreState": { + "$ref": "#/definitions/RestoreState", + "description": "Represents the current state of the partition restore operation." + }, + "TimeStampUtc": { + "type": "string", + "format": "date-time", + "description": "Timestamp when operation succeeded or failed." + }, + "RestoredEpoch": { + "$ref": "#/definitions/Epoch", + "description": "Describes the epoch at which the partition is restored." + }, + "RestoredLsn": { + "type": "string", + "description": "Restored LSN." + }, + "FailureError": { + "$ref": "#/definitions/FabricErrorError", + "description": "Denotes the failure encountered in performing restore operation." + } + } + }, + "RestoreState": { + "type": "string", + "description": "Represents the current state of the partition restore operation.", + "enum": [ + "Invalid", + "Accepted", + "RestoreInProgress", + "Success", + "Failure", + "Timeout" + ], + "x-ms-enum": { + "name": "RestoreState", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid restore state. All Service Fabric enumerations have the invalid type." + }, + { + "value": "Accepted", + "description": "Operation has been validated and accepted. Restore is yet to be triggered." + }, + { + "value": "RestoreInProgress", + "description": "Restore operation has been triggered and is under process." + }, + { + "value": "Success", + "description": "Operation completed with success." + }, + { + "value": "Failure", + "description": "Operation completed with failure." + }, + { + "value": "Timeout", + "description": "Operation timed out." + } + ] + } + }, + "BackupPartitionDescription": { + "description": "Describes the parameters for triggering partition's backup.", + "properties": { + "BackupStorage": { + "$ref": "#/definitions/BackupStorageDescription", + "description": "Specifies the details of the backup storage where to save the backup." + } + } + }, + "BackupInfo": { + "description": "Represents a backup point which can be used to trigger a restore.", + "properties": { + "BackupId": { + "type": "string", + "format": "uuid", + "description": "Unique backup ID ." + }, + "BackupChainId": { + "type": "string", + "format": "uuid", + "description": "Unique backup chain ID. All backups part of the same chain has the same backup chain id. A backup chain is comprised of 1 full backup and multiple incremental backups." + }, + "ApplicationName": { + "type": "string", + "description": "Name of the Service Fabric application this partition backup belongs to." + }, + "ServiceName": { + "type": "string", + "description": "Name of the Service Fabric service this partition backup belongs to." + }, + "PartitionInformation": { + "$ref": "#/definitions/PartitionInformation", + "description": "Information about the partition to which this backup belongs to" + }, + "BackupLocation": { + "type": "string", + "description": "Location of the backup, relative to the backup store." + }, + "BackupType": { + "$ref": "#/definitions/BackupType", + "description": "Describes the type of backup, whether its full or incremental." + }, + "EpochOfLastBackupRecord": { + "$ref": "#/definitions/Epoch", + "description": "Epoch of the last record in this backup." + }, + "LsnOfLastBackupRecord": { + "type": "string", + "description": "LSN of the last record in this backup." + }, + "CreationTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The date time when this backup was taken." + }, + "ServiceManifestVersion": { + "type": "string", + "description": "Manifest Version of the service this partition backup belongs to." + }, + "FailureError": { + "$ref": "#/definitions/FabricErrorError", + "description": "Denotes the failure encountered in getting backup point information." + } + } + }, + "PagedBackupInfoList": { + "description": "The list of backups. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of backup information.", + "items": { + "$ref": "#/definitions/BackupInfo" + } + } + } + }, + "BackupType": { + "type": "string", + "description": "Describes the type of backup, whether its full or incremental.", + "enum": [ + "Invalid", + "Full", + "Incremental" + ], + "x-ms-enum": { + "name": "BackupType", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid backup type. All Service Fabric enumerations have the invalid type." + }, + { + "value": "Full", + "description": "Indicates a full backup." + }, + { + "value": "Incremental", + "description": "Indicates an incremental backup. A backup chain is comprised of a full backup followed by 0 or more incremental backups." + } + ] + } + }, + "AzureBlobBackupStorageDescription": { + "allOf": [ + { + "$ref": "#/definitions/BackupStorageDescription" + } + ], + "x-ms-discriminator-value": "AzureBlobStore", + "required": [ + "ConnectionString", + "ContainerName" + ], + "properties": { + "ConnectionString": { + "type": "string", + "description": "The connection string to connect to the Azure blob store." + }, + "ContainerName": { + "type": "string", + "description": "The name of the container in the blob store to store and enumerate backups from." + } + }, + "description": "Describes the parameters for Azure blob store used for storing and enumerating backups." + }, + "FileShareBackupStorageDescription": { + "allOf": [ + { + "$ref": "#/definitions/BackupStorageDescription" + } + ], + "x-ms-discriminator-value": "FileShare", + "required": [ + "Path" + ], + "description": "Describes the parameters for file share storage used for storing or enumerating backups.", + "properties": { + "Path": { + "type": "string", + "description": "UNC path of the file share where to store or enumerate backups from." + }, + "PrimaryUserName": { + "type": "string", + "description": "Primary user name to access the file share." + }, + "PrimaryPassword": { + "type": "string", + "description": "Primary password to access the share location." + }, + "SecondaryUserName": { + "type": "string", + "description": "Secondary user name to access the file share." + }, + "SecondaryPassword": { + "type": "string", + "description": "Secondary password to access the share location" + } + } + }, + "DsmsAzureBlobBackupStorageDescription": { + "allOf": [ + { + "$ref": "#/definitions/BackupStorageDescription" + } + ], + "x-ms-discriminator-value": "DsmsAzureBlobStore", + "required": [ + "StorageCredentialsSourceLocation", + "ContainerName" + ], + "properties": { + "StorageCredentialsSourceLocation": { + "type": "string", + "description": "The source location of the storage credentials to connect to the Dsms Azure blob store." + }, + "ContainerName": { + "type": "string", + "description": "The name of the container in the blob store to store and enumerate backups from." + } + }, + "description": "Describes the parameters for Dsms Azure blob store used for storing and enumerating backups." + }, + "ManagedIdentityAzureBlobBackupStorageDescription": { + "allOf": [ + { + "$ref": "#/definitions/BackupStorageDescription" + } + ], + "x-ms-discriminator-value": "ManagedIdentityAzureBlobStore", + "required": [ + "BlobServiceUri", + "ContainerName", + "ManagedIdentityType" + ], + "properties": { + "ManagedIdentityType": { + "$ref": "#/definitions/ManagedIdentityType", + "description": "The type of managed identity to be used to connect to Azure Blob Store via Managed Identity." + }, + "BlobServiceUri": { + "type": "string", + "description": "The Blob Service Uri to connect to the Azure blob store.." + }, + "ContainerName": { + "type": "string", + "description": "The name of the container in the blob store to store and enumerate backups from." + } + }, + "description": "Describes the parameters for Azure blob store (connected using managed identity) used for storing and enumerating backups." + }, + "ManagedIdentityType": { + "type": "string", + "description": "The type of managed identity to be used to connect to Azure Blob Store via Managed Identity.", + "enum": [ + "Invalid", + "VMSS", + "Cluster" + ], + "x-ms-enum": { + "name": "ManagedIdentityType", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid managed identity type. All Service Fabric enumerations have the invalid type." + }, + { + "value": "VMSS", + "description": "Indicates VMSS managed identity should be used to connect to Azure blob store." + }, + { + "value": "Cluster", + "description": "Indicates cluster managed identity should be used to connect to Azure blob store." + } + ] + } + }, + "FrequencyBasedBackupScheduleDescription": { + "description": "Describes the frequency based backup schedule.", + "allOf": [ + { + "$ref": "#/definitions/BackupScheduleDescription" + } + ], + "x-ms-discriminator-value": "FrequencyBased", + "required": [ + "Interval" + ], + "properties": { + "Interval": { + "type": "string", + "format": "duration", + "description": "Defines the interval with which backups are periodically taken. It should be specified in ISO8601 format. Timespan in seconds is not supported and will be ignored while creating the policy." + } + } + }, + "TimeBasedBackupScheduleDescription": { + "description": "Describes the time based backup schedule.", + "allOf": [ + { + "$ref": "#/definitions/BackupScheduleDescription" + } + ], + "x-ms-discriminator-value": "TimeBased", + "required": [ + "ScheduleFrequencyType", + "RunTimes" + ], + "properties": { + "ScheduleFrequencyType": { + "$ref": "#/definitions/BackupScheduleFrequencyType", + "description": "Describes the frequency with which to run the time based backup schedule." + }, + "RunDays": { + "$ref": "#/definitions/DayOfWeekList", + "description": "List of days of a week when to trigger the periodic backup. This is valid only when the backup schedule frequency type is weekly." + }, + "RunTimes": { + "$ref": "#/definitions/TimeList", + "description": "Represents the list of exact time during the day in ISO8601 format. Like '19:00:00' will represent '7PM' during the day. Date specified along with time will be ignored." + } + } + }, + "BackupScheduleFrequencyType": { + "type": "string", + "description": "Describes the frequency with which to run the time based backup schedule.", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ], + "x-ms-enum": { + "name": "BackupScheduleFrequencyType", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid backup schedule frequency type. All Service Fabric enumerations have the invalid type." + }, + { + "value": "Daily", + "description": "Indicates that the time based backup schedule is repeated at a daily frequency." + }, + { + "value": "Weekly", + "description": "Indicates that the time based backup schedule is repeated at a weekly frequency." + } + ] + } + }, + "TimeList": { + "type": "array", + "items": { + "type": "string", + "format": "date-time" + }, + "description": "Represents the list of exact time during the day in ISO8601 format. Like '19:00:00' will represent '7PM' during the day. Date specified along with time will be ignored." + }, + "DayOfWeekList": { + "type": "array", + "items": { + "$ref": "#/definitions/DayOfWeek" + }, + "description": "List of days of a week when to trigger the periodic backup. This is valid only when the backup schedule frequency type is weekly." + }, + "DayOfWeek": { + "type": "string", + "description": "Describes the days in a week.", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": true, + "values": [ + { + "value": "Sunday", + "description": "Indicates the Day referred is Sunday." + }, + { + "value": "Monday", + "description": "Indicates the Day referred is Monday." + }, + { + "value": "Tuesday", + "description": "Indicates the Day referred is Tuesday." + }, + { + "value": "Wednesday", + "description": "Indicates the Day referred is Wednesday." + }, + { + "value": "Thursday", + "description": "Indicates the Day referred is Thursday." + }, + { + "value": "Friday", + "description": "Indicates the Day referred is Friday." + }, + { + "value": "Saturday", + "description": "Indicates the Day referred is Saturday." + } + ] + } + }, + "BackupProgressInfo": { + "description": "Describes the progress of a partition's backup.", + "properties": { + "BackupState": { + "$ref": "#/definitions/BackupState", + "description": "Represents the current state of the partition backup operation." + }, + "TimeStampUtc": { + "type": "string", + "format": "date-time", + "description": "TimeStamp in UTC when operation succeeded or failed." + }, + "BackupId": { + "type": "string", + "format": "uuid", + "description": "Unique ID of the newly created backup." + }, + "BackupLocation": { + "type": "string", + "description": "Location, relative to the backup store, of the newly created backup." + }, + "EpochOfLastBackupRecord": { + "$ref": "#/definitions/Epoch", + "description": "Specifies the epoch of the last record included in backup." + }, + "LsnOfLastBackupRecord": { + "type": "string", + "description": "The LSN of last record included in backup." + }, + "FailureError": { + "$ref": "#/definitions/FabricErrorError", + "description": "Denotes the failure encountered in performing backup operation." + } + } + }, + "BackupConfigurationInfo": { + "discriminator": "Kind", + "description": "Describes the backup configuration information.", + "properties": { + "Kind": { + "$ref": "#/definitions/BackupEntityKind", + "description": "The entity type of a Service Fabric entity such as Application, Service or a Partition where periodic backups can be enabled." + }, + "PolicyName": { + "description": "The name of the backup policy which is applicable to this Service Fabric application or service or partition.", + "type": "string" + }, + "PolicyInheritedFrom": { + "$ref": "#/definitions/BackupPolicyScope", + "description": "Specifies the scope at which the backup policy is applied." + }, + "SuspensionInfo": { + "$ref": "#/definitions/BackupSuspensionInfo", + "description": "Describes the backup suspension details." + } + }, + "required": [ + "Kind" + ] + }, + "PartitionBackupConfigurationInfo": { + "description": "Backup configuration information, for a specific partition, specifying what backup policy is being applied and suspend description, if any.", + "allOf": [ + { + "$ref": "#/definitions/BackupConfigurationInfo" + } + ], + "properties": { + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "The partition ID identifying the partition." + } + }, + "x-ms-discriminator-value": "Partition" + }, + "BackupState": { + "type": "string", + "description": "Represents the current state of the partition backup operation.", + "enum": [ + "Invalid", + "Accepted", + "BackupInProgress", + "Success", + "Failure", + "Timeout" + ], + "x-ms-enum": { + "name": "BackupState", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid backup state. All Service Fabric enumerations have the invalid type." + }, + { + "value": "Accepted", + "description": "Operation has been validated and accepted. Backup is yet to be triggered." + }, + { + "value": "BackupInProgress", + "description": "Backup operation has been triggered and is under process." + }, + { + "value": "Success", + "description": "Operation completed with success." + }, + { + "value": "Failure", + "description": "Operation completed with failure." + }, + { + "value": "Timeout", + "description": "Operation timed out." + } + ] + } + }, + "BackupEntity": { + "discriminator": "EntityKind", + "description": "Describes the Service Fabric entity that is configured for backup.", + "properties": { + "EntityKind": { + "$ref": "#/definitions/BackupEntityKind", + "description": "The entity type of a Service Fabric entity such as Application, Service or a Partition where periodic backups can be enabled." + } + }, + "required": [ + "EntityKind" + ] + }, + "ApplicationBackupEntity": { + "description": "Identifies the Service Fabric application which is being backed up.", + "allOf": [ + { + "$ref": "#/definitions/BackupEntity" + } + ], + "properties": { + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + } + }, + "x-ms-discriminator-value": "Application" + }, + "ServiceBackupEntity": { + "description": "Identifies the Service Fabric stateful service which is being backed up.", + "allOf": [ + { + "$ref": "#/definitions/BackupEntity" + } + ], + "properties": { + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + } + }, + "x-ms-discriminator-value": "Service" + }, + "PartitionBackupEntity": { + "description": "Identifies the Service Fabric stateful partition which is being backed up.", + "allOf": [ + { + "$ref": "#/definitions/BackupEntity" + } + ], + "properties": { + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "The partition ID identifying the partition." + } + }, + "x-ms-discriminator-value": "Partition" + }, + "EnableBackupDescription": { + "description": "Specifies the parameters needed to enable periodic backup.", + "required": [ + "BackupPolicyName" + ], + "properties": { + "BackupPolicyName": { + "type": "string", + "description": "Name of the backup policy to be used for enabling periodic backups." + } + } + }, + "PagedBackupEntityList": { + "description": "The list of backup entities that are being periodically backed. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of backup entity information.", + "items": { + "$ref": "#/definitions/BackupEntity" + } + } + } + }, + "BackupSuspensionInfo": { + "description": "Describes the backup suspension details.", + "properties": { + "IsSuspended": { + "type": "boolean", + "description": "Indicates whether periodic backup is suspended at this level or not." + }, + "SuspensionInheritedFrom": { + "$ref": "#/definitions/BackupSuspensionScope", + "description": "Specifies the scope at which the backup suspension was applied." + } + } + }, + "BackupEntityKind": { + "type": "string", + "description": "The entity type of a Service Fabric entity such as Application, Service or a Partition where periodic backups can be enabled.", + "enum": [ + "Invalid", + "Partition", + "Service", + "Application" + ], + "x-ms-enum": { + "name": "BackupEntityKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid entity kind. All Service Fabric enumerations have the invalid type." + }, + { + "value": "Partition", + "description": "Indicates the entity is a Service Fabric partition." + }, + { + "value": "Service", + "description": "Indicates the entity is a Service Fabric service." + }, + { + "value": "Application", + "description": "Indicates the entity is a Service Fabric application." + } + ] + } + }, + "GetBackupByStorageQueryDescription": { + "description": "Describes additional filters to be applied, while listing backups, and backup storage details from where to fetch the backups.", + "required": [ + "Storage", + "BackupEntity" + ], + "properties": { + "StartDateTimeFilter": { + "type": "string", + "format": "date-time", + "description": "Specifies the start date time in ISO8601 from which to enumerate backups. If not specified, backups are enumerated from the beginning." + }, + "EndDateTimeFilter": { + "type": "string", + "format": "date-time", + "description": "Specifies the end date time in ISO8601 till which to enumerate backups. If not specified, backups are enumerated till the end." + }, + "Latest": { + "type": "boolean", + "default": false, + "description": "If specified as true, gets the most recent backup (within the specified time range) for every partition under the specified backup entity." + }, + "Storage": { + "$ref": "#/definitions/BackupStorageDescription", + "description": "Describes the parameters for the backup storage from where to enumerate backups. This is optional and by default backups are enumerated from the backup storage where this backup entity is currently being backed up (as specified in backup policy). This parameter is useful to be able to enumerate backups from another cluster where you may intend to restore." + }, + "BackupEntity": { + "$ref": "#/definitions/BackupEntity", + "description": "Indicates the entity for which to enumerate backups." + } + } + }, + "NodeImpact": { + "description": "Describes the expected impact of a repair to a particular node.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "NodeName": { + "type": "string", + "description": "The name of the impacted node." + }, + "ImpactLevel": { + "type": "string", + "enum": [ + "Invalid", + "None", + "Restart", + "RemoveData", + "RemoveNode" + ], + "description": "The level of impact expected.", + "x-ms-enum": { + "name": "ImpactLevel", + "modelAsString": true, + "values": [ + { + "value": "Invalid" + }, + { + "value": "None" + }, + { + "value": "Restart" + }, + { + "value": "RemoveData" + }, + { + "value": "RemoveNode" + } + ] + } + } + }, + "required": [ + "NodeName" + ] + }, + "NodeRepairImpactDescription": { + "description": "Describes the expected impact of a repair on a set of nodes.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "x-ms-discriminator-value": "Node", + "allOf": [ + { + "$ref": "#/definitions/RepairImpactDescriptionBase" + } + ], + "properties": { + "NodeImpactList": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeImpact" + }, + "description": "The list of nodes impacted by a repair action and their respective expected impact." + } + } + }, + "NodeRepairTargetDescription": { + "description": "Describes the list of nodes targeted by a repair action.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "x-ms-discriminator-value": "Node", + "allOf": [ + { + "$ref": "#/definitions/RepairTargetDescriptionBase" + } + ], + "properties": { + "NodeNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of nodes targeted by a repair action." + } + } + }, + "RepairImpactDescriptionBase": { + "discriminator": "Kind", + "description": "Describes the expected impact of executing a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "Kind": { + "$ref": "#/definitions/RepairImpactKind", + "description": "The kind of repair impact represented by the current object." + } + }, + "required": [ + "Kind" + ] + }, + "RepairImpactKind": { + "description": "Specifies the kind of the impact. This type supports the Service Fabric platform; it is not meant to be used directly from your code.'", + "type": "string", + "enum": [ + "Invalid", + "Node" + ], + "x-ms-enum": { + "name": "RepairImpactKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "The repair impact is not valid or is of an unknown type." + }, + { + "value": "Node", + "description": "The repair impact affects a set of Service Fabric nodes." + } + ] + } + }, + "RepairTargetDescriptionBase": { + "discriminator": "Kind", + "description": "Describes the entities targeted by a repair action.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "Kind": { + "$ref": "#/definitions/RepairTargetKind", + "description": "The kind of repair target described by the current object." + } + }, + "required": [ + "Kind" + ] + }, + "RepairTargetKind": { + "description": "Specifies the kind of the repair target. This type supports the Service Fabric platform; it is not meant to be used directly from your code.'", + "type": "string", + "enum": [ + "Invalid", + "Node" + ], + "x-ms-enum": { + "name": "RepairTargetKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "The repair target is not valid or is of an unknown type." + }, + { + "value": "Node", + "description": "The repair target is a set of Service Fabric nodes." + } + ] + } + }, + "RepairTask": { + "description": "Represents a repair task, which includes information about what kind of repair was requested, what its progress is, and what its final result was.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "TaskId": { + "type": "string", + "description": "The ID of the repair task." + }, + "Version": { + "type": "string", + "description": "The version of the repair task.\nWhen creating a new repair task, the version must be set to zero. When updating a repair task,\nthe version is used for optimistic concurrency checks. If the version is\nset to zero, the update will not check for write conflicts. If the version is set to a non-zero value, then the\nupdate will only succeed if the actual current version of the repair task matches this value." + }, + "Description": { + "type": "string", + "description": "A description of the purpose of the repair task, or other informational details.\nMay be set when the repair task is created, and is immutable once set." + }, + "State": { + "type": "string", + "enum": [ + "Invalid", + "Created", + "Claimed", + "Preparing", + "Approved", + "Executing", + "Restoring", + "Completed" + ], + "description": "The workflow state of the repair task. Valid initial states are Created, Claimed, and Preparing.", + "x-ms-enum": { + "name": "State", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that the repair task state is invalid. All Service Fabric enumerations have the invalid value." + }, + { + "value": "Created", + "description": "Indicates that the repair task has been created." + }, + { + "value": "Claimed", + "description": "Indicates that the repair task has been claimed by a repair executor." + }, + { + "value": "Preparing", + "description": "Indicates that the Repair Manager is preparing the system to handle the impact of the repair task, usually by taking resources offline gracefully." + }, + { + "value": "Approved", + "description": "Indicates that the repair task has been approved by the Repair Manager and is safe to execute." + }, + { + "value": "Executing", + "description": "Indicates that execution of the repair task is in progress." + }, + { + "value": "Restoring", + "description": "Indicates that the Repair Manager is restoring the system to its pre-repair state, usually by bringing resources back online." + }, + { + "value": "Completed", + "description": "Indicates that the repair task has completed, and no further state changes will occur." + } + ] + } + }, + "Flags": { + "type": "integer", + "description": "A bitwise-OR of the following values, which gives additional details about the status of the repair task.\n- 1 - Cancellation of the repair has been requested\n- 2 - Abort of the repair has been requested\n- 4 - Approval of the repair was forced via client request" + }, + "Action": { + "type": "string", + "description": "The requested repair action. Must be specified when the repair task is created, and is immutable once set." + }, + "Target": { + "$ref": "#/definitions/RepairTargetDescriptionBase", + "description": "The target object determines what actions the system will take to prepare for the impact of the repair, prior to approving execution of the repair.\nMay be set when the repair task is created, and is immutable once set." + }, + "Executor": { + "type": "string", + "description": "The name of the repair executor. Must be specified in Claimed and later states, and is immutable once set." + }, + "ExecutorData": { + "type": "string", + "description": "A data string that the repair executor can use to store its internal state." + }, + "Impact": { + "$ref": "#/definitions/RepairImpactDescriptionBase", + "description": "The impact object determines what actions the system will take to prepare for the impact of the repair, prior to approving execution of the repair.\nImpact must be specified by the repair executor when transitioning to the Preparing state, and is immutable once set." + }, + "ResultStatus": { + "type": "string", + "enum": [ + "Invalid", + "Succeeded", + "Cancelled", + "Interrupted", + "Failed", + "Pending" + ], + "description": "A value describing the overall result of the repair task execution. Must be specified in the Restoring and later states, and is immutable once set.", + "x-ms-enum": { + "name": "ResultStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that the repair task result is invalid. All Service Fabric enumerations have the invalid value." + }, + { + "value": "Succeeded", + "description": "Indicates that the repair task completed execution successfully." + }, + { + "value": "Cancelled", + "description": "Indicates that the repair task was cancelled prior to execution." + }, + { + "value": "Interrupted", + "description": "Indicates that execution of the repair task was interrupted by a cancellation request after some work had already been performed." + }, + { + "value": "Failed", + "description": "Indicates that there was a failure during execution of the repair task. Some work may have been performed." + }, + { + "value": "Pending", + "description": "Indicates that the repair task result is not yet available, because the repair task has not finished executing." + } + ] + } + }, + "ResultCode": { + "type": "integer", + "description": "A numeric value providing additional details about the result of the repair task execution.\nMay be specified in the Restoring and later states, and is immutable once set." + }, + "ResultDetails": { + "type": "string", + "description": "A string providing additional details about the result of the repair task execution.\nMay be specified in the Restoring and later states, and is immutable once set." + }, + "History": { + "$ref": "#/definitions/RepairTaskHistory", + "description": "An object that contains timestamps of the repair task's state transitions.\nThese timestamps are updated by the system, and cannot be directly modified." + }, + "PreparingHealthCheckState": { + "$ref": "#/definitions/RepairTaskHealthCheckState", + "description": "The workflow state of the health check when the repair task is in the Preparing state." + }, + "RestoringHealthCheckState": { + "$ref": "#/definitions/RepairTaskHealthCheckState", + "description": "The workflow state of the health check when the repair task is in the Restoring state." + }, + "PerformPreparingHealthCheck": { + "type": "boolean", + "description": "A value to determine if health checks will be performed when the repair task enters the Preparing state." + }, + "PerformRestoringHealthCheck": { + "type": "boolean", + "description": "A value to determine if health checks will be performed when the repair task enters the Restoring state." + } + }, + "required": [ + "TaskId", + "Action", + "State" + ] + }, + "RepairTaskApproveDescription": { + "description": "Describes a request for forced approval of a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "TaskId": { + "type": "string", + "description": "The ID of the repair task." + }, + "Version": { + "type": "string", + "description": "The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current version of the repair task. If zero, then no version check is performed." + } + }, + "required": [ + "TaskId" + ] + }, + "RepairTaskCancelDescription": { + "description": "Describes a request to cancel a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "TaskId": { + "type": "string", + "description": "The ID of the repair task." + }, + "Version": { + "type": "string", + "description": "The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current version of the repair task. If zero, then no version check is performed." + }, + "RequestAbort": { + "type": "boolean", + "description": "_True_ if the repair should be stopped as soon as possible even if it has already started executing. _False_ if the repair should be cancelled only if execution has not yet started." + } + }, + "required": [ + "TaskId" + ] + }, + "RepairTaskDeleteDescription": { + "description": "Describes a request to delete a completed repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "TaskId": { + "type": "string", + "description": "The ID of the completed repair task to be deleted." + }, + "Version": { + "type": "string", + "description": "The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current version of the repair task. If zero, then no version check is performed." + } + }, + "required": [ + "TaskId" + ] + }, + "RepairTaskHealthCheckState": { + "description": "Specifies the workflow state of a repair task's health check. This type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "type": "string", + "enum": [ + "NotStarted", + "InProgress", + "Succeeded", + "Skipped", + "TimedOut" + ], + "x-ms-enum": { + "name": "RepairTaskHealthCheckState", + "modelAsString": true, + "values": [ + { + "value": "NotStarted", + "description": "Indicates that the health check has not started." + }, + { + "value": "InProgress", + "description": "Indicates that the health check is in progress." + }, + { + "value": "Succeeded", + "description": "Indicates that the health check succeeded." + }, + { + "value": "Skipped", + "description": "Indicates that the health check was skipped." + }, + { + "value": "TimedOut", + "description": "Indicates that the health check timed out." + } + ] + } + }, + "RepairTaskHistory": { + "description": "A record of the times when the repair task entered each state.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "CreatedUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task entered the Created state." + }, + "ClaimedUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task entered the Claimed state." + }, + "PreparingUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task entered the Preparing state." + }, + "ApprovedUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task entered the Approved state" + }, + "ExecutingUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task entered the Executing state" + }, + "RestoringUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task entered the Restoring state" + }, + "CompletedUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task entered the Completed state" + }, + "PreparingHealthCheckStartUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task started the health check in the Preparing state." + }, + "PreparingHealthCheckEndUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task completed the health check in the Preparing state." + }, + "RestoringHealthCheckStartUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task started the health check in the Restoring state." + }, + "RestoringHealthCheckEndUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task completed the health check in the Restoring state." + } + } + }, + "RepairTaskList": { + "type": "array", + "description": "A list of repair tasks.", + "items": { + "$ref": "#/definitions/RepairTask" + } + }, + "RepairTaskUpdateHealthPolicyDescription": { + "description": "Describes a request to update the health policy of a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "TaskId": { + "type": "string", + "description": "The ID of the repair task to be updated." + }, + "Version": { + "type": "string", + "description": "The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current value of the repair task. If zero, then no version check is performed." + }, + "PerformPreparingHealthCheck": { + "type": "boolean", + "description": "A boolean indicating if health check is to be performed in the Preparing stage of the repair task. If not specified the existing value should not be altered. Otherwise, specify the desired new value." + }, + "PerformRestoringHealthCheck": { + "type": "boolean", + "description": "A boolean indicating if health check is to be performed in the Restoring stage of the repair task. If not specified the existing value should not be altered. Otherwise, specify the desired new value." + } + }, + "required": [ + "TaskId" + ] + }, + "RepairTaskUpdateInfo": { + "description": "Describes the result of an operation that created or updated a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "Version": { + "type": "string", + "description": "The new version of the repair task." + } + }, + "required": [ + "Version" + ] + }, + "ReconfigurationInformation": { + "description": "Information about current reconfiguration like phase, type, previous configuration role of replica and reconfiguration start date time.", + "properties": { + "PreviousConfigurationRole": { + "$ref": "#/definitions/ReplicaRole", + "description": "Replica role before reconfiguration started." + }, + "ReconfigurationPhase": { + "$ref": "#/definitions/ReconfigurationPhase", + "description": "Current phase of ongoing reconfiguration. If no reconfiguration is taking place then this value will be \"None\"." + }, + "ReconfigurationType": { + "$ref": "#/definitions/ReconfigurationType", + "description": "Type of current ongoing reconfiguration. If no reconfiguration is taking place then this value will be \"None\"." + }, + "ReconfigurationStartTimeUtc": { + "type": "string", + "format": "date-time", + "description": "Start time (in UTC) of the ongoing reconfiguration. If no reconfiguration is taking place then this value will be zero date-time." + } + } + }, + "ReconfigurationPhase": { + "type": "string", + "description": "The reconfiguration phase of a replica of a stateful service.", + "enum": [ + "Unknown", + "None", + "Phase0", + "Phase1", + "Phase2", + "Phase3", + "Phase4", + "AbortPhaseZero" + ], + "x-ms-enum": { + "name": "ReconfigurationPhase", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "Indicates the invalid reconfiguration phase." + }, + { + "value": "None", + "description": "Specifies that there is no reconfiguration in progress." + }, + { + "value": "Phase0", + "description": "Refers to the phase where the reconfiguration is transferring data from the previous primary to the new primary." + }, + { + "value": "Phase1", + "description": "Refers to the phase where the reconfiguration is querying the replica set for the progress." + }, + { + "value": "Phase2", + "description": "Refers to the phase where the reconfiguration is ensuring that data from the current primary is present in a majority of the replica set." + }, + { + "value": "Phase3", + "description": "This phase is for internal use only." + }, + { + "value": "Phase4", + "description": "This phase is for internal use only." + }, + { + "value": "AbortPhaseZero", + "description": "This phase is for internal use only." + } + ] + } + }, + "ReconfigurationType": { + "type": "string", + "description": "The type of reconfiguration for replica of a stateful service.", + "enum": [ + "Unknown", + "SwapPrimary", + "Failover", + "Other" + ], + "x-ms-enum": { + "name": "ReconfigurationType", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "Indicates the invalid reconfiguration type." + }, + { + "value": "SwapPrimary", + "description": "Specifies that the primary replica is being swapped with a different replica." + }, + { + "value": "Failover", + "description": "Reconfiguration triggered in response to a primary going down. This could be due to many reasons such as primary replica crashing etc." + }, + { + "value": "Other", + "description": "Reconfigurations where the primary replica is not changing." + } + ] + } + }, + "InfrastructureServiceResponse": { + "type": "string", + "description": "This is a weakly-typed response stream to the client. It contains the JSON response from the infrastructure service without deserialization.\nThe content of the response depends on which command was issued to the infrastructure service." + }, + "UploadChunkRange": { + "description": "Information about which portion of the file to upload.", + "properties": { + "StartPosition": { + "type": "string", + "description": "The start position of the portion of the file. It's represented by the number of bytes." + }, + "EndPosition": { + "type": "string", + "description": "The end position of the portion of the file. It's represented by the number of bytes." + } + } + }, + "UploadSessionInfo": { + "description": "Information about an image store upload session. A session is associated with a relative path in the image store.", + "properties": { + "StoreRelativePath": { + "type": "string", + "description": "The remote location within image store. This path is relative to the image store root." + }, + "SessionId": { + "type": "string", + "format": "uuid", + "description": "A unique ID of the upload session. A session ID can be reused only if the session was committed or removed." + }, + "ModifiedDate": { + "type": "string", + "format": "date-time", + "description": "The date and time when the upload session was last modified." + }, + "FileSize": { + "type": "string", + "description": "The size in bytes of the uploading file." + }, + "ExpectedRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/UploadChunkRange" + }, + "description": "List of chunk ranges that image store has not received yet." + } + } + }, + "UploadSession": { + "description": "Information about a image store upload session", + "properties": { + "UploadSessions": { + "type": "array", + "items": { + "$ref": "#/definitions/UploadSessionInfo" + }, + "description": "When querying upload session by upload session ID, the result contains only one upload session. When querying upload session by image store relative path, the result might contain multiple upload sessions." + } + } + }, + "ScalingPolicyDescription": { + "description": "Describes how the scaling should be performed", + "required": [ + "ScalingTrigger", + "ScalingMechanism" + ], + "properties": { + "ScalingTrigger": { + "$ref": "#/definitions/ScalingTriggerDescription", + "description": "Specifies the trigger associated with this scaling policy" + }, + "ScalingMechanism": { + "$ref": "#/definitions/ScalingMechanismDescription", + "description": "Specifies the mechanism associated with this scaling policy" + } + } + }, + "ScalingPolicyDescriptionList": { + "type": "array", + "items": { + "$ref": "#/definitions/ScalingPolicyDescription" + }, + "description": "A list that describes the scaling policies." + }, + "ScalingTriggerDescription": { + "discriminator": "Kind", + "description": "Describes the trigger for performing a scaling operation.", + "required": [ + "Kind" + ], + "properties": { + "Kind": { + "$ref": "#/definitions/ScalingTriggerKind", + "description": "Specifies the kind of scaling trigger" + } + } + }, + "ScalingMechanismDescription": { + "discriminator": "Kind", + "description": "Describes the mechanism for performing a scaling operation.", + "required": [ + "Kind" + ], + "properties": { + "Kind": { + "$ref": "#/definitions/ScalingMechanismKind", + "description": "Specifies the kind of scaling mechanism" + } + } + }, + "ScalingTriggerKind": { + "type": "string", + "description": "Enumerates the ways that a service can be scaled.", + "enum": [ + "Invalid", + "AveragePartitionLoad", + "AverageServiceLoad" + ], + "x-ms-enum": { + "name": "ScalingTriggerKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the scaling trigger is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "AveragePartitionLoad", + "description": "Indicates a trigger where scaling decisions are made based on average load of a partition. The value is 1." + }, + { + "value": "AverageServiceLoad", + "description": "Indicates a trigger where scaling decisions are made based on average load of a service. The value is 2." + } + ] + } + }, + "ScalingMechanismKind": { + "type": "string", + "description": "Enumerates the ways that a service can be scaled.", + "enum": [ + "Invalid", + "PartitionInstanceCount", + "AddRemoveIncrementalNamedPartition" + ], + "x-ms-enum": { + "name": "ScalingMechanismKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the scaling mechanism is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "PartitionInstanceCount", + "description": "Indicates a mechanism for scaling where new instances are added or removed from a partition. The value is 1." + }, + { + "value": "AddRemoveIncrementalNamedPartition", + "description": "Indicates a mechanism for scaling where new named partitions are added or removed from a service. The value is 2." + } + ] + } + }, + "AveragePartitionLoadScalingTrigger": { + "description": "Represents a scaling trigger related to an average load of a metric/resource of a partition.", + "allOf": [ + { + "$ref": "#/definitions/ScalingTriggerDescription" + } + ], + "x-ms-discriminator-value": "AveragePartitionLoad", + "required": [ + "MetricName", + "LowerLoadThreshold", + "UpperLoadThreshold", + "ScaleIntervalInSeconds" + ], + "properties": { + "MetricName": { + "type": "string", + "description": "The name of the metric for which usage should be tracked." + }, + "LowerLoadThreshold": { + "type": "string", + "format": "double", + "description": "The lower limit of the load below which a scale in operation should be performed." + }, + "UpperLoadThreshold": { + "type": "string", + "format": "double", + "description": "The upper limit of the load beyond which a scale out operation should be performed." + }, + "ScaleIntervalInSeconds": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The period in seconds on which a decision is made whether to scale or not." + } + } + }, + "AverageServiceLoadScalingTrigger": { + "description": "Represents a scaling policy related to an average load of a metric/resource of a service.", + "allOf": [ + { + "$ref": "#/definitions/ScalingTriggerDescription" + } + ], + "x-ms-discriminator-value": "AverageServiceLoad", + "required": [ + "MetricName", + "LowerLoadThreshold", + "UpperLoadThreshold", + "ScaleIntervalInSeconds", + "UseOnlyPrimaryLoad" + ], + "properties": { + "MetricName": { + "type": "string", + "description": "The name of the metric for which usage should be tracked." + }, + "LowerLoadThreshold": { + "type": "string", + "format": "double", + "description": "The lower limit of the load below which a scale in operation should be performed." + }, + "UpperLoadThreshold": { + "type": "string", + "format": "double", + "description": "The upper limit of the load beyond which a scale out operation should be performed." + }, + "ScaleIntervalInSeconds": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The period in seconds on which a decision is made whether to scale or not." + }, + "UseOnlyPrimaryLoad": { + "type": "boolean", + "description": "Flag determines whether only the load of primary replica should be considered for scaling.\nIf set to true, then trigger will only consider the load of primary replicas of stateful service. \nIf set to false, trigger will consider load of all replicas. \nThis parameter cannot be set to true for stateless service." + } + } + }, + "PartitionInstanceCountScaleMechanism": { + "description": "Represents a scaling mechanism for adding or removing instances of stateless service partition.", + "allOf": [ + { + "$ref": "#/definitions/ScalingMechanismDescription" + } + ], + "x-ms-discriminator-value": "PartitionInstanceCount", + "required": [ + "MinInstanceCount", + "MaxInstanceCount", + "ScaleIncrement" + ], + "properties": { + "MinInstanceCount": { + "type": "integer", + "description": "Minimum number of instances of the partition." + }, + "MaxInstanceCount": { + "type": "integer", + "description": "Maximum number of instances of the partition." + }, + "ScaleIncrement": { + "type": "integer", + "description": "The number of instances to add or remove during a scaling operation." + } + } + }, + "AddRemoveIncrementalNamedPartitionScalingMechanism": { + "description": "Represents a scaling mechanism for adding or removing named partitions of a stateless service. Partition names are in the format '0','1''N-1'", + "allOf": [ + { + "$ref": "#/definitions/ScalingMechanismDescription" + } + ], + "x-ms-discriminator-value": "AddRemoveIncrementalNamedPartition", + "required": [ + "MinPartitionCount", + "MaxPartitionCount", + "ScaleIncrement" + ], + "properties": { + "MinPartitionCount": { + "type": "integer", + "description": "Minimum number of named partitions of the service." + }, + "MaxPartitionCount": { + "type": "integer", + "description": "Maximum number of named partitions of the service." + }, + "ScaleIncrement": { + "type": "integer", + "description": "The number of instances to add or remove during a scaling operation." + } + } + }, + "UnplacedReplicaInformation": { + "description": "Contains information for an unplaced replica.", + "properties": { + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The name of the service." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "The ID of the partition." + }, + "UnplacedReplicaDetails": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of reasons due to which a replica cannot be placed." + } + } + }, + "ApplicationCreatedEvent": { + "description": "Application Created event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationTypeName": { + "type": "string", + "description": "Application type name." + }, + "ApplicationTypeVersion": { + "type": "string", + "description": "Application type version." + }, + "ApplicationDefinitionKind": { + "type": "string", + "description": "Application definition kind." + } + }, + "required": [ + "ApplicationTypeName", + "ApplicationTypeVersion", + "ApplicationDefinitionKind" + ], + "x-ms-discriminator-value": "ApplicationCreated" + }, + "ApplicationDeletedEvent": { + "description": "Application Deleted event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationTypeName": { + "type": "string", + "description": "Application type name." + }, + "ApplicationTypeVersion": { + "type": "string", + "description": "Application type version." + } + }, + "required": [ + "ApplicationTypeName", + "ApplicationTypeVersion" + ], + "x-ms-discriminator-value": "ApplicationDeleted" + }, + "ApplicationNewHealthReportEvent": { + "description": "Application Health Report Created event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Application instance." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "ApplicationInstanceId", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "ApplicationNewHealthReport" + }, + "ApplicationHealthReportExpiredEvent": { + "description": "Application Health Report Expired event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Application instance." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "ApplicationInstanceId", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "ApplicationHealthReportExpired" + }, + "ApplicationUpgradeCompletedEvent": { + "description": "Application Upgrade Completed event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationTypeName": { + "type": "string", + "description": "Application type name." + }, + "ApplicationTypeVersion": { + "type": "string", + "description": "Application type version." + }, + "OverallUpgradeElapsedTimeInMs": { + "type": "number", + "format": "double", + "description": "Overall upgrade time in milli-seconds." + } + }, + "required": [ + "ApplicationTypeName", + "ApplicationTypeVersion", + "OverallUpgradeElapsedTimeInMs" + ], + "x-ms-discriminator-value": "ApplicationUpgradeCompleted" + }, + "ApplicationUpgradeDomainCompletedEvent": { + "description": "Application Upgrade Domain Completed event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationTypeName": { + "type": "string", + "description": "Application type name." + }, + "CurrentApplicationTypeVersion": { + "type": "string", + "description": "Current Application type version." + }, + "ApplicationTypeVersion": { + "type": "string", + "description": "Target Application type version." + }, + "UpgradeState": { + "type": "string", + "description": "State of upgrade." + }, + "UpgradeDomains": { + "type": "string", + "description": "Upgrade domains." + }, + "UpgradeDomainElapsedTimeInMs": { + "type": "number", + "format": "double", + "description": "Upgrade time of domain in milli-seconds." + } + }, + "required": [ + "ApplicationTypeName", + "CurrentApplicationTypeVersion", + "ApplicationTypeVersion", + "UpgradeState", + "UpgradeDomains", + "UpgradeDomainElapsedTimeInMs" + ], + "x-ms-discriminator-value": "ApplicationUpgradeDomainCompleted" + }, + "ApplicationUpgradeRollbackCompletedEvent": { + "description": "Application Upgrade Rollback Completed event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationTypeName": { + "type": "string", + "description": "Application type name." + }, + "ApplicationTypeVersion": { + "type": "string", + "description": "Application type version." + }, + "FailureReason": { + "type": "string", + "description": "Describes reason of failure." + }, + "OverallUpgradeElapsedTimeInMs": { + "type": "number", + "format": "double", + "description": "Overall upgrade time in milli-seconds." + } + }, + "required": [ + "ApplicationTypeName", + "ApplicationTypeVersion", + "FailureReason", + "OverallUpgradeElapsedTimeInMs" + ], + "x-ms-discriminator-value": "ApplicationUpgradeRollbackCompleted" + }, + "ApplicationUpgradeRollbackStartedEvent": { + "description": "Application Upgrade Rollback Started event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationTypeName": { + "type": "string", + "description": "Application type name." + }, + "CurrentApplicationTypeVersion": { + "type": "string", + "description": "Current Application type version." + }, + "ApplicationTypeVersion": { + "type": "string", + "description": "Target Application type version." + }, + "FailureReason": { + "type": "string", + "description": "Describes reason of failure." + }, + "OverallUpgradeElapsedTimeInMs": { + "type": "number", + "format": "double", + "description": "Overall upgrade time in milli-seconds." + } + }, + "required": [ + "ApplicationTypeName", + "CurrentApplicationTypeVersion", + "ApplicationTypeVersion", + "FailureReason", + "OverallUpgradeElapsedTimeInMs" + ], + "x-ms-discriminator-value": "ApplicationUpgradeRollbackStarted" + }, + "ApplicationUpgradeStartedEvent": { + "description": "Application Upgrade Started event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationTypeName": { + "type": "string", + "description": "Application type name." + }, + "CurrentApplicationTypeVersion": { + "type": "string", + "description": "Current Application type version." + }, + "ApplicationTypeVersion": { + "type": "string", + "description": "Target Application type version." + }, + "UpgradeType": { + "type": "string", + "description": "Type of upgrade." + }, + "RollingUpgradeMode": { + "type": "string", + "description": "Mode of upgrade." + }, + "FailureAction": { + "type": "string", + "description": "Action if failed." + } + }, + "required": [ + "ApplicationTypeName", + "CurrentApplicationTypeVersion", + "ApplicationTypeVersion", + "UpgradeType", + "RollingUpgradeMode", + "FailureAction" + ], + "x-ms-discriminator-value": "ApplicationUpgradeStarted" + }, + "DeployedApplicationNewHealthReportEvent": { + "description": "Deployed Application Health Report Created event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Application instance." + }, + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "ApplicationInstanceId", + "NodeName", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "DeployedApplicationNewHealthReport" + }, + "DeployedApplicationHealthReportExpiredEvent": { + "description": "Deployed Application Health Report Expired event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Application instance." + }, + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "ApplicationInstanceId", + "NodeName", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "DeployedApplicationHealthReportExpired" + }, + "ApplicationProcessExitedEvent": { + "description": "Process Exited event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ServiceName": { + "type": "string", + "description": "Name of Service." + }, + "ServicePackageName": { + "type": "string", + "description": "Name of Service package." + }, + "ServicePackageActivationId": { + "type": "string", + "description": "Activation Id of Service package." + }, + "IsExclusive": { + "type": "boolean", + "description": "Indicates IsExclusive flag." + }, + "CodePackageName": { + "type": "string", + "description": "Name of Code package." + }, + "EntryPointType": { + "type": "string", + "description": "Type of EntryPoint." + }, + "ExeName": { + "type": "string", + "description": "Name of executable." + }, + "ProcessId": { + "type": "integer", + "format": "int64", + "description": "Process Id." + }, + "HostId": { + "type": "string", + "description": "Host Id." + }, + "ExitCode": { + "type": "integer", + "format": "int64", + "description": "Exit code of process." + }, + "UnexpectedTermination": { + "type": "boolean", + "description": "Indicates if termination is unexpected." + }, + "StartTime": { + "type": "string", + "format": "date-time", + "description": "Start time of process." + } + }, + "required": [ + "ServiceName", + "ServicePackageName", + "ServicePackageActivationId", + "IsExclusive", + "CodePackageName", + "EntryPointType", + "ExeName", + "ProcessId", + "HostId", + "ExitCode", + "UnexpectedTermination", + "StartTime" + ], + "x-ms-discriminator-value": "ApplicationProcessExited" + }, + "ApplicationContainerInstanceExitedEvent": { + "description": "Container Exited event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ServiceName": { + "type": "string", + "description": "Name of Service." + }, + "ServicePackageName": { + "type": "string", + "description": "Name of Service package." + }, + "ServicePackageActivationId": { + "type": "string", + "description": "Activation Id of Service package." + }, + "IsExclusive": { + "type": "boolean", + "description": "Indicates IsExclusive flag." + }, + "CodePackageName": { + "type": "string", + "description": "Name of Code package." + }, + "EntryPointType": { + "type": "string", + "description": "Type of EntryPoint." + }, + "ImageName": { + "type": "string", + "description": "Name of Container image." + }, + "ContainerName": { + "type": "string", + "description": "Name of Container." + }, + "HostId": { + "type": "string", + "description": "Host Id." + }, + "ExitCode": { + "type": "integer", + "format": "int64", + "description": "Exit code of process." + }, + "UnexpectedTermination": { + "type": "boolean", + "description": "Indicates if termination is unexpected." + }, + "StartTime": { + "type": "string", + "format": "date-time", + "description": "Start time of process." + } + }, + "required": [ + "ServiceName", + "ServicePackageName", + "ServicePackageActivationId", + "IsExclusive", + "CodePackageName", + "EntryPointType", + "ImageName", + "ContainerName", + "HostId", + "ExitCode", + "UnexpectedTermination", + "StartTime" + ], + "x-ms-discriminator-value": "ApplicationContainerInstanceExited" + }, + "NodeAbortedEvent": { + "description": "Node Aborted event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "NodeId": { + "type": "string", + "description": "Id of Node." + }, + "UpgradeDomain": { + "type": "string", + "description": "Upgrade domain of Node." + }, + "FaultDomain": { + "type": "string", + "description": "Fault domain of Node." + }, + "IpAddressOrFQDN": { + "type": "string", + "description": "IP address or FQDN." + }, + "Hostname": { + "type": "string", + "description": "Name of Host." + }, + "IsSeedNode": { + "type": "boolean", + "description": "Indicates if it is seed node." + }, + "NodeVersion": { + "type": "string", + "description": "Version of Node." + } + }, + "required": [ + "NodeInstance", + "NodeId", + "UpgradeDomain", + "FaultDomain", + "IpAddressOrFQDN", + "Hostname", + "IsSeedNode", + "NodeVersion" + ], + "x-ms-discriminator-value": "NodeAborted" + }, + "NodeAddedToClusterEvent": { + "description": "Node Added event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeId": { + "type": "string", + "description": "Id of Node." + }, + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "NodeType": { + "type": "string", + "description": "Type of Node." + }, + "FabricVersion": { + "type": "string", + "description": "Fabric version." + }, + "IpAddressOrFQDN": { + "type": "string", + "description": "IP address or FQDN." + }, + "NodeCapacities": { + "type": "string", + "description": "Capacities." + } + }, + "required": [ + "NodeId", + "NodeInstance", + "NodeType", + "FabricVersion", + "IpAddressOrFQDN", + "NodeCapacities" + ], + "x-ms-discriminator-value": "NodeAddedToCluster" + }, + "NodeClosedEvent": { + "description": "Node Closed event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeId": { + "type": "string", + "description": "Id of Node." + }, + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "Error": { + "type": "string", + "description": "Describes error." + } + }, + "required": [ + "NodeId", + "NodeInstance", + "Error" + ], + "x-ms-discriminator-value": "NodeClosed" + }, + "NodeDeactivateCompletedEvent": { + "description": "Node Deactivate Completed event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "EffectiveDeactivateIntent": { + "type": "string", + "description": "Describes deactivate intent." + }, + "BatchIdsWithDeactivateIntent": { + "type": "string", + "description": "Batch Ids." + }, + "StartTime": { + "type": "string", + "format": "date-time", + "description": "Start time." + } + }, + "required": [ + "NodeInstance", + "EffectiveDeactivateIntent", + "BatchIdsWithDeactivateIntent", + "StartTime" + ], + "x-ms-discriminator-value": "NodeDeactivateCompleted" + }, + "NodeDeactivateStartedEvent": { + "description": "Node Deactivate Started event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "BatchId": { + "type": "string", + "description": "Batch Id." + }, + "DeactivateIntent": { + "type": "string", + "description": "Describes deactivate intent." + } + }, + "required": [ + "NodeInstance", + "BatchId", + "DeactivateIntent" + ], + "x-ms-discriminator-value": "NodeDeactivateStarted" + }, + "NodeDownEvent": { + "description": "Node Down event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "LastNodeUpAt": { + "type": "string", + "format": "date-time", + "description": "Time when Node was last up." + } + }, + "required": [ + "NodeInstance", + "LastNodeUpAt" + ], + "x-ms-discriminator-value": "NodeDown" + }, + "NodeNewHealthReportEvent": { + "description": "Node Health Report Created event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "NodeInstanceId", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "NodeNewHealthReport" + }, + "NodeHealthReportExpiredEvent": { + "description": "Node Health Report Expired event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "NodeInstanceId", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "NodeHealthReportExpired" + }, + "NodeOpenSucceededEvent": { + "description": "Node Opened Succeeded event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "NodeId": { + "type": "string", + "description": "Id of Node." + }, + "UpgradeDomain": { + "type": "string", + "description": "Upgrade domain of Node." + }, + "FaultDomain": { + "type": "string", + "description": "Fault domain of Node." + }, + "IpAddressOrFQDN": { + "type": "string", + "description": "IP address or FQDN." + }, + "Hostname": { + "type": "string", + "description": "Name of Host." + }, + "IsSeedNode": { + "type": "boolean", + "description": "Indicates if it is seed node." + }, + "NodeVersion": { + "type": "string", + "description": "Version of Node." + } + }, + "required": [ + "NodeInstance", + "NodeId", + "UpgradeDomain", + "FaultDomain", + "IpAddressOrFQDN", + "Hostname", + "IsSeedNode", + "NodeVersion" + ], + "x-ms-discriminator-value": "NodeOpenSucceeded" + }, + "NodeOpenFailedEvent": { + "description": "Node Open Failed event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "NodeId": { + "type": "string", + "description": "Id of Node." + }, + "UpgradeDomain": { + "type": "string", + "description": "Upgrade domain of Node." + }, + "FaultDomain": { + "type": "string", + "description": "Fault domain of Node." + }, + "IpAddressOrFQDN": { + "type": "string", + "description": "IP address or FQDN." + }, + "Hostname": { + "type": "string", + "description": "Name of Host." + }, + "IsSeedNode": { + "type": "boolean", + "description": "Indicates if it is seed node." + }, + "NodeVersion": { + "type": "string", + "description": "Version of Node." + }, + "Error": { + "type": "string", + "description": "Describes the error." + } + }, + "required": [ + "NodeInstance", + "NodeId", + "UpgradeDomain", + "FaultDomain", + "IpAddressOrFQDN", + "Hostname", + "IsSeedNode", + "NodeVersion", + "Error" + ], + "x-ms-discriminator-value": "NodeOpenFailed" + }, + "NodeRemovedFromClusterEvent": { + "description": "Node Removed event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeId": { + "type": "string", + "description": "Id of Node." + }, + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "NodeType": { + "type": "string", + "description": "Type of Node." + }, + "FabricVersion": { + "type": "string", + "description": "Fabric version." + }, + "IpAddressOrFQDN": { + "type": "string", + "description": "IP address or FQDN." + }, + "NodeCapacities": { + "type": "string", + "description": "Capacities." + } + }, + "required": [ + "NodeId", + "NodeInstance", + "NodeType", + "FabricVersion", + "IpAddressOrFQDN", + "NodeCapacities" + ], + "x-ms-discriminator-value": "NodeRemovedFromCluster" + }, + "NodeUpEvent": { + "description": "Node Up event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "LastNodeDownAt": { + "type": "string", + "format": "date-time", + "description": "Time when Node was last down." + } + }, + "required": [ + "NodeInstance", + "LastNodeDownAt" + ], + "x-ms-discriminator-value": "NodeUp" + }, + "PartitionNewHealthReportEvent": { + "description": "Partition Health Report Created event.", + "allOf": [ + { + "$ref": "#/definitions/PartitionEvent" + } + ], + "properties": { + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "PartitionNewHealthReport" + }, + "PartitionHealthReportExpiredEvent": { + "description": "Partition Health Report Expired event.", + "allOf": [ + { + "$ref": "#/definitions/PartitionEvent" + } + ], + "properties": { + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "PartitionHealthReportExpired" + }, + "PartitionReconfiguredEvent": { + "description": "Partition Reconfiguration event.", + "allOf": [ + { + "$ref": "#/definitions/PartitionEvent" + } + ], + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "NodeInstanceId": { + "type": "string", + "description": "Id of Node instance." + }, + "ServiceType": { + "type": "string", + "description": "Type of Service." + }, + "CcEpochDataLossVersion": { + "type": "integer", + "format": "int64", + "description": "CcEpochDataLoss version." + }, + "CcEpochConfigVersion": { + "type": "integer", + "format": "int64", + "description": "CcEpochConfig version." + }, + "ReconfigType": { + "type": "string", + "description": "Type of reconfiguration." + }, + "Result": { + "type": "string", + "description": "Describes reconfiguration result." + }, + "Phase0DurationMs": { + "type": "number", + "format": "double", + "description": "Duration of Phase0 in milli-seconds." + }, + "Phase1DurationMs": { + "type": "number", + "format": "double", + "description": "Duration of Phase1 in milli-seconds." + }, + "Phase2DurationMs": { + "type": "number", + "format": "double", + "description": "Duration of Phase2 in milli-seconds." + }, + "Phase3DurationMs": { + "type": "number", + "format": "double", + "description": "Duration of Phase3 in milli-seconds." + }, + "Phase4DurationMs": { + "type": "number", + "format": "double", + "description": "Duration of Phase4 in milli-seconds." + }, + "TotalDurationMs": { + "type": "number", + "format": "double", + "description": "Total duration in milli-seconds." + } + }, + "required": [ + "NodeName", + "NodeInstanceId", + "ServiceType", + "CcEpochDataLossVersion", + "CcEpochConfigVersion", + "ReconfigType", + "Result", + "Phase0DurationMs", + "Phase1DurationMs", + "Phase2DurationMs", + "Phase3DurationMs", + "Phase4DurationMs", + "TotalDurationMs" + ], + "x-ms-discriminator-value": "PartitionReconfigured" + }, + "PartitionPrimaryMoveAnalysisEvent": { + "description": "Partition Primary Move Analysis event.", + "allOf": [ + { + "$ref": "#/definitions/PartitionAnalysisEvent" + } + ], + "properties": { + "WhenMoveCompleted": { + "type": "string", + "format": "date-time", + "description": "Time when the move was completed." + }, + "PreviousNode": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "CurrentNode": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "MoveReason": { + "type": "string", + "description": "Move reason." + }, + "RelevantTraces": { + "type": "string", + "description": "Relevant traces." + } + }, + "required": [ + "WhenMoveCompleted", + "PreviousNode", + "CurrentNode", + "MoveReason", + "RelevantTraces" + ], + "x-ms-discriminator-value": "PartitionPrimaryMoveAnalysis" + }, + "ServiceCreatedEvent": { + "description": "Service Created event.", + "allOf": [ + { + "$ref": "#/definitions/ServiceEvent" + } + ], + "properties": { + "ServiceTypeName": { + "type": "string", + "description": "Service type name." + }, + "ApplicationName": { + "type": "string", + "description": "Application name." + }, + "ApplicationTypeName": { + "type": "string", + "description": "Application type name." + }, + "ServiceInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Service instance." + }, + "IsStateful": { + "type": "boolean", + "description": "Indicates if Service is stateful." + }, + "PartitionCount": { + "type": "integer", + "format": "int32", + "description": "Number of partitions." + }, + "TargetReplicaSetSize": { + "type": "integer", + "format": "int32", + "description": "Size of target replicas set." + }, + "MinReplicaSetSize": { + "type": "integer", + "format": "int32", + "description": "Minimum size of replicas set." + }, + "ServicePackageVersion": { + "type": "string", + "description": "Version of Service package." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different." + } + }, + "required": [ + "ServiceTypeName", + "ApplicationName", + "ApplicationTypeName", + "ServiceInstance", + "IsStateful", + "PartitionCount", + "TargetReplicaSetSize", + "MinReplicaSetSize", + "ServicePackageVersion", + "PartitionId" + ], + "x-ms-discriminator-value": "ServiceCreated" + }, + "ServiceDeletedEvent": { + "description": "Service Deleted event.", + "allOf": [ + { + "$ref": "#/definitions/ServiceEvent" + } + ], + "properties": { + "ServiceTypeName": { + "type": "string", + "description": "Service type name." + }, + "ApplicationName": { + "type": "string", + "description": "Application name." + }, + "ApplicationTypeName": { + "type": "string", + "description": "Application type name." + }, + "ServiceInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Service instance." + }, + "IsStateful": { + "type": "boolean", + "description": "Indicates if Service is stateful." + }, + "PartitionCount": { + "type": "integer", + "format": "int32", + "description": "Number of partitions." + }, + "TargetReplicaSetSize": { + "type": "integer", + "format": "int32", + "description": "Size of target replicas set." + }, + "MinReplicaSetSize": { + "type": "integer", + "format": "int32", + "description": "Minimum size of replicas set." + }, + "ServicePackageVersion": { + "type": "string", + "description": "Version of Service package." + } + }, + "required": [ + "ServiceTypeName", + "ApplicationName", + "ApplicationTypeName", + "ServiceInstance", + "IsStateful", + "PartitionCount", + "TargetReplicaSetSize", + "MinReplicaSetSize", + "ServicePackageVersion" + ], + "x-ms-discriminator-value": "ServiceDeleted" + }, + "ServiceNewHealthReportEvent": { + "description": "Service Health Report Created event.", + "allOf": [ + { + "$ref": "#/definitions/ServiceEvent" + } + ], + "properties": { + "InstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Service instance." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "InstanceId", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "ServiceNewHealthReport" + }, + "ServiceHealthReportExpiredEvent": { + "description": "Service Health Report Expired event.", + "allOf": [ + { + "$ref": "#/definitions/ServiceEvent" + } + ], + "properties": { + "InstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Service instance." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "InstanceId", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "ServiceHealthReportExpired" + }, + "DeployedServicePackageNewHealthReportEvent": { + "description": "Deployed Service Health Report Created event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ServiceManifestName": { + "type": "string", + "description": "Service manifest name." + }, + "ServicePackageInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Service package instance." + }, + "ServicePackageActivationId": { + "type": "string", + "description": "Id of Service package activation." + }, + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "ServiceManifestName", + "ServicePackageInstanceId", + "ServicePackageActivationId", + "NodeName", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "DeployedServicePackageNewHealthReport" + }, + "DeployedServicePackageHealthReportExpiredEvent": { + "description": "Deployed Service Health Report Expired event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ServiceManifest": { + "type": "string", + "description": "Service manifest name." + }, + "ServicePackageInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Service package instance." + }, + "ServicePackageActivationId": { + "type": "string", + "description": "Id of Service package activation." + }, + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "ServiceManifest", + "ServicePackageInstanceId", + "ServicePackageActivationId", + "NodeName", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "DeployedServicePackageHealthReportExpired" + }, + "StatefulReplicaNewHealthReportEvent": { + "description": "Stateful Replica Health Report Created event.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaEvent" + } + ], + "properties": { + "ReplicaInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Replica instance." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "ReplicaInstanceId", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "StatefulReplicaNewHealthReport" + }, + "StatefulReplicaHealthReportExpiredEvent": { + "description": "Stateful Replica Health Report Expired event.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaEvent" + } + ], + "properties": { + "ReplicaInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Replica instance." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "ReplicaInstanceId", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "StatefulReplicaHealthReportExpired" + }, + "StatelessReplicaNewHealthReportEvent": { + "description": "Stateless Replica Health Report Created event.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaEvent" + } + ], + "properties": { + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "StatelessReplicaNewHealthReport" + }, + "StatelessReplicaHealthReportExpiredEvent": { + "description": "Stateless Replica Health Report Expired event.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaEvent" + } + ], + "properties": { + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "StatelessReplicaHealthReportExpired" + }, + "ClusterNewHealthReportEvent": { + "description": "Cluster Health Report Created event.", + "allOf": [ + { + "$ref": "#/definitions/ClusterEvent" + } + ], + "properties": { + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "ClusterNewHealthReport" + }, + "ClusterHealthReportExpiredEvent": { + "description": "Cluster Health Report Expired event.", + "allOf": [ + { + "$ref": "#/definitions/ClusterEvent" + } + ], + "properties": { + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "ClusterHealthReportExpired" + }, + "ClusterUpgradeCompletedEvent": { + "description": "Cluster Upgrade Completed event.", + "allOf": [ + { + "$ref": "#/definitions/ClusterEvent" + } + ], + "properties": { + "TargetClusterVersion": { + "type": "string", + "description": "Target Cluster version." + }, + "OverallUpgradeElapsedTimeInMs": { + "type": "number", + "format": "double", + "description": "Overall duration of upgrade in milli-seconds." + } + }, + "required": [ + "TargetClusterVersion", + "OverallUpgradeElapsedTimeInMs" + ], + "x-ms-discriminator-value": "ClusterUpgradeCompleted" + }, + "ClusterUpgradeDomainCompletedEvent": { + "description": "Cluster Upgrade Domain Completed event.", + "allOf": [ + { + "$ref": "#/definitions/ClusterEvent" + } + ], + "properties": { + "TargetClusterVersion": { + "type": "string", + "description": "Target Cluster version." + }, + "UpgradeState": { + "type": "string", + "description": "State of upgrade." + }, + "UpgradeDomains": { + "type": "string", + "description": "Upgrade domains." + }, + "UpgradeDomainElapsedTimeInMs": { + "type": "number", + "format": "double", + "description": "Duration of domain upgrade in milli-seconds." + } + }, + "required": [ + "TargetClusterVersion", + "UpgradeState", + "UpgradeDomains", + "UpgradeDomainElapsedTimeInMs" + ], + "x-ms-discriminator-value": "ClusterUpgradeDomainCompleted" + }, + "ClusterUpgradeRollbackCompletedEvent": { + "description": "Cluster Upgrade Rollback Completed event.", + "allOf": [ + { + "$ref": "#/definitions/ClusterEvent" + } + ], + "properties": { + "TargetClusterVersion": { + "type": "string", + "description": "Target Cluster version." + }, + "FailureReason": { + "type": "string", + "description": "Describes failure." + }, + "OverallUpgradeElapsedTimeInMs": { + "type": "number", + "format": "double", + "description": "Overall duration of upgrade in milli-seconds." + } + }, + "required": [ + "TargetClusterVersion", + "FailureReason", + "OverallUpgradeElapsedTimeInMs" + ], + "x-ms-discriminator-value": "ClusterUpgradeRollbackCompleted" + }, + "ClusterUpgradeRollbackStartedEvent": { + "description": "Cluster Upgrade Rollback Started event.", + "allOf": [ + { + "$ref": "#/definitions/ClusterEvent" + } + ], + "properties": { + "TargetClusterVersion": { + "type": "string", + "description": "Target Cluster version." + }, + "FailureReason": { + "type": "string", + "description": "Describes failure." + }, + "OverallUpgradeElapsedTimeInMs": { + "type": "number", + "format": "double", + "description": "Overall duration of upgrade in milli-seconds." + } + }, + "required": [ + "TargetClusterVersion", + "FailureReason", + "OverallUpgradeElapsedTimeInMs" + ], + "x-ms-discriminator-value": "ClusterUpgradeRollbackStarted" + }, + "ClusterUpgradeStartedEvent": { + "description": "Cluster Upgrade Started event.", + "allOf": [ + { + "$ref": "#/definitions/ClusterEvent" + } + ], + "properties": { + "CurrentClusterVersion": { + "type": "string", + "description": "Current Cluster version." + }, + "TargetClusterVersion": { + "type": "string", + "description": "Target Cluster version." + }, + "UpgradeType": { + "type": "string", + "description": "Type of upgrade." + }, + "RollingUpgradeMode": { + "type": "string", + "description": "Mode of upgrade." + }, + "FailureAction": { + "type": "string", + "description": "Action if failed." + } + }, + "required": [ + "CurrentClusterVersion", + "TargetClusterVersion", + "UpgradeType", + "RollingUpgradeMode", + "FailureAction" + ], + "x-ms-discriminator-value": "ClusterUpgradeStarted" + }, + "ChaosStoppedEvent": { + "description": "Chaos Stopped event.", + "allOf": [ + { + "$ref": "#/definitions/ClusterEvent" + } + ], + "properties": { + "Reason": { + "type": "string", + "description": "Describes reason." + } + }, + "required": [ + "Reason" + ], + "x-ms-discriminator-value": "ChaosStopped" + }, + "ChaosStartedEvent": { + "description": "Chaos Started event.", + "allOf": [ + { + "$ref": "#/definitions/ClusterEvent" + } + ], + "properties": { + "MaxConcurrentFaults": { + "type": "integer", + "format": "int64", + "description": "Maximum number of concurrent faults." + }, + "TimeToRunInSeconds": { + "type": "number", + "format": "double", + "description": "Time to run in seconds." + }, + "MaxClusterStabilizationTimeoutInSeconds": { + "type": "number", + "format": "double", + "description": "Maximum timeout for cluster stabilization in seconds." + }, + "WaitTimeBetweenIterationsInSeconds": { + "type": "number", + "format": "double", + "description": "Wait time between iterations in seconds." + }, + "WaitTimeBetweenFaultsInSeconds": { + "type": "number", + "format": "double", + "description": "Wait time between faults in seconds." + }, + "MoveReplicaFaultEnabled": { + "type": "boolean", + "description": "Indicates MoveReplica fault is enabled." + }, + "IncludedNodeTypeList": { + "type": "string", + "description": "List of included Node types." + }, + "IncludedApplicationList": { + "type": "string", + "description": "List of included Applications." + }, + "ClusterHealthPolicy": { + "type": "string", + "description": "Health policy." + }, + "ChaosContext": { + "type": "string", + "description": "Chaos Context." + } + }, + "required": [ + "MaxConcurrentFaults", + "TimeToRunInSeconds", + "MaxClusterStabilizationTimeoutInSeconds", + "WaitTimeBetweenIterationsInSeconds", + "WaitTimeBetweenFaultsInSeconds", + "MoveReplicaFaultEnabled", + "IncludedNodeTypeList", + "IncludedApplicationList", + "ClusterHealthPolicy", + "ChaosContext" + ], + "x-ms-discriminator-value": "ChaosStarted" + }, + "ChaosCodePackageRestartScheduledEvent": { + "description": "Chaos Restart Code Package Fault Scheduled event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "FaultGroupId": { + "type": "string", + "format": "uuid", + "description": "Id of fault group." + }, + "FaultId": { + "type": "string", + "format": "uuid", + "description": "Id of fault." + }, + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "ServiceManifestName": { + "type": "string", + "description": "Service manifest name." + }, + "CodePackageName": { + "type": "string", + "description": "Code package name." + }, + "ServicePackageActivationId": { + "type": "string", + "description": "Id of Service package activation." + } + }, + "required": [ + "FaultGroupId", + "FaultId", + "NodeName", + "ServiceManifestName", + "CodePackageName", + "ServicePackageActivationId" + ], + "x-ms-discriminator-value": "ChaosCodePackageRestartScheduled" + }, + "ChaosReplicaRemovalScheduledEvent": { + "description": "Chaos Remove Replica Fault Scheduled event.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaEvent" + } + ], + "properties": { + "FaultGroupId": { + "type": "string", + "format": "uuid", + "description": "Id of fault group." + }, + "FaultId": { + "type": "string", + "format": "uuid", + "description": "Id of fault." + }, + "ServiceUri": { + "type": "string", + "description": "Service name." + } + }, + "required": [ + "FaultGroupId", + "FaultId", + "ServiceUri" + ], + "x-ms-discriminator-value": "ChaosReplicaRemovalScheduled" + }, + "ChaosPartitionSecondaryMoveScheduledEvent": { + "description": "Chaos Move Secondary Fault Scheduled event.", + "allOf": [ + { + "$ref": "#/definitions/PartitionEvent" + } + ], + "properties": { + "FaultGroupId": { + "type": "string", + "format": "uuid", + "description": "Id of fault group." + }, + "FaultId": { + "type": "string", + "format": "uuid", + "description": "Id of fault." + }, + "ServiceName": { + "type": "string", + "description": "Service name." + }, + "SourceNode": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "DestinationNode": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "ForcedMove": { + "type": "boolean", + "description": "Indicates a forced move." + } + }, + "required": [ + "FaultGroupId", + "FaultId", + "ServiceName", + "SourceNode", + "DestinationNode", + "ForcedMove" + ], + "x-ms-discriminator-value": "ChaosPartitionSecondaryMoveScheduled" + }, + "ChaosPartitionPrimaryMoveScheduledEvent": { + "description": "Chaos Move Primary Fault Scheduled event.", + "allOf": [ + { + "$ref": "#/definitions/PartitionEvent" + } + ], + "properties": { + "FaultGroupId": { + "type": "string", + "format": "uuid", + "description": "Id of fault group." + }, + "FaultId": { + "type": "string", + "format": "uuid", + "description": "Id of fault." + }, + "ServiceName": { + "type": "string", + "description": "Service name." + }, + "NodeTo": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "ForcedMove": { + "type": "boolean", + "description": "Indicates a forced move." + } + }, + "required": [ + "FaultGroupId", + "FaultId", + "ServiceName", + "NodeTo", + "ForcedMove" + ], + "x-ms-discriminator-value": "ChaosPartitionPrimaryMoveScheduled" + }, + "ChaosReplicaRestartScheduledEvent": { + "description": "Chaos Restart Replica Fault Scheduled event.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaEvent" + } + ], + "properties": { + "FaultGroupId": { + "type": "string", + "format": "uuid", + "description": "Id of fault group." + }, + "FaultId": { + "type": "string", + "format": "uuid", + "description": "Id of fault." + }, + "ServiceUri": { + "type": "string", + "description": "Service name." + } + }, + "required": [ + "FaultGroupId", + "FaultId", + "ServiceUri" + ], + "x-ms-discriminator-value": "ChaosReplicaRestartScheduled" + }, + "ChaosNodeRestartScheduledEvent": { + "description": "Chaos Restart Node Fault Scheduled event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "FaultGroupId": { + "type": "string", + "format": "uuid", + "description": "Id of fault group." + }, + "FaultId": { + "type": "string", + "format": "uuid", + "description": "Id of fault." + } + }, + "required": [ + "NodeInstanceId", + "FaultGroupId", + "FaultId" + ], + "x-ms-discriminator-value": "ChaosNodeRestartScheduled" + }, + "ManagedApplicationIdentityDescription": { + "description": "Managed application identity description.", + "properties": { + "TokenServiceEndpoint": { + "type": "string", + "description": "Token service endpoint." + }, + "ManagedIdentities": { + "$ref": "#/definitions/ManagedApplicationIdentityList", + "description": "A list of managed application identity objects." + } + } + }, + "ManagedApplicationIdentityList": { + "description": "A list of managed application identity objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedApplicationIdentity" + } + }, + "ManagedApplicationIdentity": { + "description": "Describes a managed application identity.", + "required": [ + "Name" + ], + "properties": { + "Name": { + "type": "string", + "description": "The name of the identity." + }, + "PrincipalId": { + "type": "string", + "description": "The identity's PrincipalId." + } + } + }, + "InstanceCloseDelayDurationInSeconds": { + "type": "integer", + "format": "int64", + "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster\nupgrade, only for those instances which have a non-zero delay duration configured in the service description. See InstanceCloseDelayDurationSeconds property in $ref: \"#/definitions/StatelessServiceDescription.yaml\" for details.\nNote, the default value of InstanceCloseDelayDurationInSeconds is 4294967295, which indicates that the behavior will entirely depend on the delay configured in the stateless service description.", + "default": 4294967295 + }, + "MetricLoadDescription": { + "description": "Specifies metric load information.", + "properties": { + "MetricName": { + "type": "string", + "description": "The name of the reported metric." + }, + "CurrentLoad": { + "type": "integer", + "format": "int64", + "description": "The current value of the metric load." + }, + "PredictedLoad": { + "type": "integer", + "format": "int64", + "description": "The predicted value of the metric load. Predicted metric load values is currently a preview feature. It allows predicted load values to be reported and used at the Service Fabric side, but that feature is currently not enabled." + } + } + }, + "PagedUpdatePartitionLoadResultList": { + "description": "The list of results of the call UpdatePartitionLoad. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of partition load update information.", + "items": { + "$ref": "#/definitions/UpdatePartitionLoadResult" + } + } + } + }, + "PartitionMetricLoadDescription": { + "description": "Represents load information for a partition, which contains the metrics load information about primary, all secondary replicas/instances or a specific secondary replica/instance on a specific node , all auxiliary replicas or a specific auxiliary replica on a specific node.", + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "Id of the partition." + }, + "PrimaryReplicaLoadEntries": { + "type": "array", + "description": "Partition's load information for primary replica, in case partition is from a stateful service.", + "items": { + "$ref": "#/definitions/MetricLoadDescription" + } + }, + "SecondaryReplicasOrInstancesLoadEntries": { + "type": "array", + "description": "Partition's load information for all secondary replicas or instances.", + "items": { + "$ref": "#/definitions/MetricLoadDescription" + } + }, + "SecondaryReplicaOrInstanceLoadEntriesPerNode": { + "type": "array", + "description": "Partition's load information for a specific secondary replica or instance located on a specific node.", + "items": { + "$ref": "#/definitions/ReplicaMetricLoadDescription" + } + }, + "AuxiliaryReplicasLoadEntries": { + "type": "array", + "description": "Partition's load information for all auxiliary replicas.", + "items": { + "$ref": "#/definitions/MetricLoadDescription" + } + }, + "AuxiliaryReplicaLoadEntriesPerNode": { + "type": "array", + "description": "Partition's load information for a specific auxiliary replica located on a specific node.", + "items": { + "$ref": "#/definitions/ReplicaMetricLoadDescription" + } + } + } + }, + "PartitionMetricLoadDescriptionList": { + "type": "array", + "items": { + "$ref": "#/definitions/PartitionMetricLoadDescription" + }, + "description": "List that contains load descriptions of each partition." + }, + "ReplicaMetricLoadDescription": { + "description": "Specifies metric loads of a partition's specific secondary replica or instance.", + "properties": { + "NodeName": { + "type": "string", + "description": "Node name of a specific secondary replica or instance." + }, + "ReplicaOrInstanceLoadEntries": { + "type": "array", + "items": { + "$ref": "#/definitions/MetricLoadDescription" + }, + "description": "Loads of a different metrics for a partition's secondary replica or instance." + } + } + }, + "UpdatePartitionLoadResult": { + "description": "Specifies result of updating load for specified partitions. The output will be ordered based on the partition ID.", + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "Id of the partition." + }, + "PartitionErrorCode": { + "type": "integer", + "description": "If OperationState is Completed - this is 0. If OperationState is Faulted - this is an error code indicating the reason." + } + } + }, + "InstanceLifecycleDescription": { + "description": "Describes how the instance will behave", + "properties": { + "RestoreReplicaLocationAfterUpgrade": { + "type": "boolean", + "description": "If set to true, move/swap replica to original location after upgrade." + } + } + }, + "ReplicaLifecycleDescription": { + "description": "Describes how the replica will behave", + "properties": { + "IsSingletonReplicaMoveAllowedDuringUpgrade": { + "type": "boolean", + "description": "If set to true, replicas with a target replica set size of 1 will be permitted to move during upgrade." + }, + "RestoreReplicaLocationAfterUpgrade": { + "type": "boolean", + "description": "If set to true, move/swap replica to original location after upgrade." + } + } + }, + "NodeTagsList": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List that contains tags, which will be applied to the nodes." + }, + "NodeTypeHealthPolicyMap": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeTypeHealthPolicyMapItem" + }, + "description": "Defines a map with max percentage unhealthy nodes for specific node types.\nEach entry specifies as key the node type name and as value an integer that represents the MaxPercentUnhealthyNodes percentage used to evaluate the nodes of the specified node type.\n\nThe node type health policy map can be used during cluster health evaluation to describe special node types. \nThey are evaluated against the percentages associated with their node type name in the map. \nSetting this has no impact on the global pool of nodes used for MaxPercentUnhealthyNodes. \nThe node type health policy map is used only if the cluster manifest enables node type health evaluation using the configuration entry for HealthManager/EnableNodeTypeHealthEvaluation.\n\nFor example, given a cluster with many nodes of different types, with important work hosted on node type \"SpecialNodeType\" that should not tolerate any nodes down. \nYou can specify global MaxPercentUnhealthyNodes to 20% to tolerate some failures for all nodes, but for the node type \"SpecialNodeType\", set the MaxPercentUnhealthyNodes to 0 by \nsetting the value in the key value pair in NodeTypeHealthPolicyMapItem. The key is the node type name. \nThis way, as long as no nodes of type \"SpecialNodeType\" are in Error state, \neven if some of the many nodes in the global pool are in Error state, but below the global unhealthy percentage, the cluster would be evaluated to Warning. \nA Warning health state does not impact cluster upgrade or other monitoring triggered by Error health state. \nBut even one node of type SpecialNodeType in Error would make cluster unhealthy (in Error rather than Warning/Ok), which triggers rollback or pauses the cluster upgrade, depending on the upgrade configuration. \n\nConversely, setting the global MaxPercentUnhealthyNodes to 0, and setting SpecialNodeType's max percent unhealthy nodes to 100, \nwith one node of type SpecialNodeType in Error state would still put the cluster in an Error state, since the global restriction is more strict in this case." + }, + "NodeTypeHealthPolicyMapItem": { + "description": "Defines an item in NodeTypeHealthPolicyMap.", + "required": [ + "Key", + "Value" + ], + "properties": { + "Key": { + "type": "string", + "description": "The key of the node type health policy map item. This is the name of the node type." + }, + "Value": { + "type": "integer", + "description": "The value of the node type health policy map item.\nIf the percentage is respected but there is at least one unhealthy node in the node type, 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 node type. \nThe computation rounds up to tolerate one failure on small numbers of nodes.\nThe max percent unhealthy nodes allowed for the node type. Must be between zero and 100." + } + } + }, + "NodeTypeNodesHealthEvaluation": { + "x-ms-discriminator-value": "NodeTypeNodes", + "description": "Represents health evaluation for nodes of a particular node type. The node type nodes evaluation can be returned when cluster health evaluation returns unhealthy aggregated health state, either Error or Warning. It contains health evaluations for each unhealthy node of the included node type that impacted current aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "NodeTypeName": { + "$ref": "#/definitions/NodeTypeName", + "description": "The node type name as defined in the cluster manifest." + }, + "MaxPercentUnhealthyNodes": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy nodes for the node type, specified as an entry in NodeTypeHealthPolicyMap." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes of the node type found in the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation of this node type that impacted the aggregated health." + } + } + }, + "ValidateClusterUpgradeResult": { + "description": "Specifies result of validating a cluster upgrade.", + "properties": { + "ServiceHostUpgradeImpact": { + "$ref": "#/definitions/ServiceHostUpgradeImpact", + "description": "The expected impact of the upgrade." + }, + "ValidationDetails": { + "type": "string", + "description": "A string containing additional details for the Fabric upgrade validation result." + } + } + }, + "ServiceHostUpgradeImpact": { + "type": "string", + "description": "The expected impact of the upgrade.", + "enum": [ + "Invalid", + "None", + "ServiceHostRestart", + "UnexpectedServiceHostRestart" + ], + "x-ms-enum": { + "name": "ServiceHostUpgradeImpact", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade impact is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "None", + "description": "The upgrade is not expected to cause service host restarts. The value is 1." + }, + { + "value": "ServiceHostRestart", + "description": "The upgrade is expected to cause a service host restart. The value is 2." + }, + { + "value": "UnexpectedServiceHostRestart", + "description": "The upgrade will cause an unexpected service host restart. This indicates a bug in the Service Fabric runtime and proceeding with an upgrade with this impact may lead to skipped safety checks. Running the upgrade with the ForceRestart flag will force proper safety checks. The value is 3." + } + ] + } + }, + "ResourceStatus": { + "description": "Status of the resource.", + "type": "string", + "enum": [ + "Unknown", + "Ready", + "Upgrading", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "ResourceStatus", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "Indicates the resource status is unknown. The value is zero." + }, + { + "value": "Ready", + "description": "Indicates the resource is ready. The value is 1." + }, + { + "value": "Upgrading", + "description": "Indicates the resource is upgrading. The value is 2." + }, + { + "value": "Creating", + "description": "Indicates the resource is being created. The value is 3." + }, + { + "value": "Deleting", + "description": "Indicates the resource is being deleted. The value is 4." + }, + { + "value": "Failed", + "description": "Indicates the resource is not functional due to persistent failures. See statusDetails property for more details. The value is 5." + } + ] + } + }, + "SecretKind": { + "type": "string", + "description": "Describes the kind of secret.", + "enum": [ + "inlinedValue", + "keyVaultVersionedReference" + ], + "x-ms-enum": { + "name": "SecretKind", + "modelAsString": true, + "values": [ + { + "value": "inlinedValue", + "description": "A simple secret resource whose plaintext value is provided by the user." + }, + { + "value": "keyVaultVersionedReference", + "description": "A secret resource that references a specific version of a secret stored in Azure Key Vault; the expected value is a versioned KeyVault URI corresponding to the version of the secret being referenced." + } + ] + } + }, + "SecretResourceProperties": { + "description": "Describes the properties of a secret resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SecretResourcePropertiesBase" + } + ], + "properties": { + "description": { + "description": "User readable description of the secret.", + "type": "string" + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ResourceStatus", + "description": "Status of the resource." + }, + "statusDetails": { + "readOnly": true, + "type": "string", + "description": "Gives additional information about the current status of the secret." + }, + "contentType": { + "type": "string", + "description": "The type of the content stored in the secret value. The value of this property is opaque to Service Fabric. Once set, the value of this property cannot be changed." + } + } + }, + "InlinedValueSecretResourceProperties": { + "description": "Describes the properties of a secret resource whose value is provided explicitly as plaintext. The secret resource may have multiple values, each being uniquely versioned. The secret value of each version is stored encrypted, and delivered as plaintext into the context of applications referencing it.", + "allOf": [ + { + "$ref": "#/definitions/SecretResourceProperties" + } + ], + "x-ms-discriminator-value": "inlinedValue" + }, + "SecretResourceName": { + "type": "string", + "description": "Name of the Secret resource." + }, + "SecretResourceDescription": { + "description": "This type describes a secret resource.", + "properties": { + "properties": { + "$ref": "#/definitions/SecretResourceProperties", + "description": "Describes the properties of a secret resource." + }, + "name": { + "$ref": "#/definitions/SecretResourceName", + "description": "Name of the Secret resource." + } + }, + "required": [ + "name", + "properties" + ] + }, + "PagedSecretResourceDescriptionList": { + "type": "object", + "description": "The list of secret resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "One page of the list.", + "items": { + "$ref": "#/definitions/SecretResourceDescription" + } + } + } + }, + "SecretResourcePropertiesBase": { + "discriminator": "kind", + "description": "This type describes the properties of a secret resource, including its kind.", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/SecretKind", + "description": "Describes the kind of secret." + } + }, + "required": [ + "kind" + ] + }, + "SecretValue": { + "type": "object", + "description": "This type represents the unencrypted value of the secret.", + "properties": { + "value": { + "type": "string", + "description": "The actual value of the secret." + } + } + }, + "SecretValueProperties": { + "type": "object", + "description": "This type describes properties of secret value resource.", + "properties": { + "value": { + "type": "string", + "description": "The actual value of the secret." + } + } + }, + "SecretValueResourceDescription": { + "description": "This type describes a value of a secret resource. The name of this resource is the version identifier corresponding to this secret value.", + "properties": { + "name": { + "type": "string", + "description": "Version identifier of the secret value." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecretValueResourceProperties", + "description": "This type describes properties of a secret value resource." + } + }, + "required": [ + "name", + "properties" + ] + }, + "PagedSecretValueResourceDescriptionList": { + "type": "object", + "description": "The list of values of a secret resource, paged if the number of results exceeds the limits of a single message. The next set of results can be obtained by executing the same query with the continuation token provided in the previous page.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "items": { + "$ref": "#/definitions/SecretValueResourceDescription" + }, + "description": "One page of the list." + } + } + }, + "SecretValueResourceProperties": { + "description": "This type describes properties of a secret value resource.", + "allOf": [ + { + "$ref": "#/definitions/SecretValueProperties" + } + ] + }, + "VolumeProperties": { + "description": "Describes properties of a volume resource.", + "properties": { + "description": { + "type": "string", + "description": "User readable description of the volume." + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ResourceStatus", + "description": "Status of the volume." + }, + "statusDetails": { + "readOnly": true, + "type": "string", + "description": "Gives additional information about the current status of the volume." + }, + "provider": { + "$ref": "#/definitions/VolumeProvider", + "description": "Provider of the volume." + }, + "azureFileParameters": { + "$ref": "#/definitions/VolumeProviderParametersAzureFile", + "description": "This type describes a volume provided by an Azure Files file share." + } + }, + "required": [ + "provider" + ] + }, + "VolumeProvider": { + "type": "string", + "description": "Describes the provider of the volume resource.", + "enum": [ + "SFAzureFile" + ], + "x-ms-enum": { + "name": "VolumeProvider", + "modelAsString": true, + "values": [ + { + "value": "SFAzureFile", + "description": "Provides volumes that are backed by Azure Files." + } + ] + } + }, + "VolumeProviderParametersAzureFile": { + "description": "This type describes a volume provided by an Azure Files file share.", + "properties": { + "accountName": { + "description": "Name of the Azure storage account for the File Share.", + "type": "string" + }, + "accountKey": { + "description": "Access key of the Azure storage account for the File Share.", + "type": "string" + }, + "shareName": { + "description": "Name of the Azure Files file share that provides storage for the volume.", + "type": "string" + } + }, + "required": [ + "accountName", + "shareName" + ] + }, + "VolumeReference": { + "description": "Describes a reference to a volume resource.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the volume being referenced." + }, + "readOnly": { + "type": "boolean", + "description": "The flag indicating whether the volume is read only. Default is 'false'." + }, + "destinationPath": { + "type": "string", + "description": "The path within the container at which the volume should be mounted. Only valid path characters are allowed." + } + }, + "required": [ + "name", + "destinationPath" + ] + }, + "ApplicationScopedVolume": { + "description": "Describes a volume whose lifetime is scoped to the application's lifetime.", + "allOf": [ + { + "$ref": "#/definitions/VolumeReference" + } + ], + "properties": { + "creationParameters": { + "$ref": "#/definitions/ApplicationScopedVolumeCreationParameters", + "description": "Describes parameters for creating application-scoped volumes." + } + }, + "required": [ + "creationParameters" + ] + }, + "ApplicationScopedVolumeCreationParameters": { + "description": "Describes parameters for creating application-scoped volumes.", + "type": "object", + "discriminator": "kind", + "properties": { + "kind": { + "$ref": "#/definitions/ApplicationScopedVolumeKind", + "description": "Specifies the application-scoped volume kind." + }, + "description": { + "description": "User readable description of the volume.", + "type": "string" + } + }, + "required": [ + "kind" + ] + }, + "ApplicationScopedVolumeCreationParametersServiceFabricVolumeDisk": { + "description": "Describes parameters for creating application-scoped volumes provided by Service Fabric Volume Disks", + "allOf": [ + { + "$ref": "#/definitions/ApplicationScopedVolumeCreationParameters" + } + ], + "properties": { + "sizeDisk": { + "description": "Volume size", + "type": "string", + "enum": [ + "Small", + "Medium", + "Large" + ], + "x-ms-enum": { + "name": "SizeTypes", + "modelAsString": true + } + } + }, + "required": [ + "sizeDisk" + ], + "x-ms-discriminator-value": "ServiceFabricVolumeDisk" + }, + "ApplicationScopedVolumeKind": { + "description": "Specifies the application-scoped volume kind.", + "type": "string", + "enum": [ + "ServiceFabricVolumeDisk" + ], + "x-ms-enum": { + "name": "ApplicationScopedVolumeKind", + "modelAsString": true, + "values": [ + { + "value": "ServiceFabricVolumeDisk", + "description": "Provides Service Fabric High Availability Volume Disk" + } + ] + } + }, + "VolumeResourceName": { + "type": "string", + "description": "Name of the Volume resource." + }, + "VolumeResourceDescription": { + "description": "This type describes a volume resource.", + "properties": { + "name": { + "$ref": "#/definitions/VolumeResourceName", + "description": "Name of the Volume resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VolumeProperties", + "description": "Describes properties of a volume resource." + } + }, + "required": [ + "name", + "properties" + ] + }, + "PagedVolumeResourceDescriptionList": { + "type": "object", + "description": "The list of volume resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "One page of the list.", + "items": { + "$ref": "#/definitions/VolumeResourceDescription" + } + } + } + }, + "NetworkAddressPrefix": { + "type": "string", + "description": "Address space for a container network. This is expressed in CIDR notation." + }, + "NetworkRef": { + "description": "Describes a network reference in a service.", + "properties": { + "name": { + "type": "string", + "description": "Name of the network" + }, + "endpointRefs": { + "description": "A list of endpoints that are exposed on this network.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointRef" + } + } + } + }, + "EndpointRef": { + "description": "Describes a reference to a service endpoint.", + "properties": { + "name": { + "type": "string", + "description": "Name of the endpoint." + } + } + }, + "NetworkKind": { + "type": "string", + "description": "The type of a Service Fabric container network.", + "enum": [ + "Local" + ], + "x-ms-enum": { + "name": "NetworkKind", + "modelAsString": true, + "values": [ + { + "value": "Local", + "description": "Indicates a container network local to a single Service Fabric cluster. The value is 1." + } + ] + } + }, + "NetworkResourceProperties": { + "description": "Describes properties of a network resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/NetworkResourcePropertiesBase" + } + ], + "properties": { + "description": { + "type": "string", + "description": "User readable description of the network." + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ResourceStatus", + "description": "Status of the network." + }, + "statusDetails": { + "readOnly": true, + "type": "string", + "description": "Gives additional information about the current status of the network." + } + } + }, + "LocalNetworkResourceProperties": { + "description": "Information about a Service Fabric container network local to a single Service Fabric cluster.", + "allOf": [ + { + "$ref": "#/definitions/NetworkResourceProperties" + } + ], + "x-ms-discriminator-value": "Local", + "properties": { + "networkAddressPrefix": { + "$ref": "#/definitions/NetworkAddressPrefix", + "description": "Address space for the local container network." + } + } + }, + "NetworkResourceName": { + "type": "string", + "description": "Name of the Network resource." + }, + "NetworkResourceDescription": { + "description": "This type describes a network resource.", + "properties": { + "name": { + "$ref": "#/definitions/NetworkResourceName", + "description": "Name of the Network resource." + }, + "properties": { + "$ref": "#/definitions/NetworkResourceProperties", + "description": "Describes properties of a network resource." + } + }, + "required": [ + "name", + "properties" + ] + }, + "NetworkResourcePropertiesBase": { + "discriminator": "kind", + "description": "This type describes the properties of a network resource, including its kind.", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/NetworkKind", + "description": "The type of a Service Fabric container network." + } + }, + "required": [ + "kind" + ] + }, + "PagedNetworkResourceDescriptionList": { + "type": "object", + "description": "The list of network resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "One page of the list.", + "items": { + "$ref": "#/definitions/NetworkResourceDescription" + } + } + } + }, + "GatewayDestination": { + "description": "Describes destination endpoint for routing traffic.", + "type": "object", + "properties": { + "applicationName": { + "type": "string", + "description": "Name of the service fabric Mesh application." + }, + "serviceName": { + "type": "string", + "description": "service that contains the endpoint." + }, + "endpointName": { + "type": "string", + "description": "name of the endpoint in the service." + } + }, + "required": [ + "applicationName", + "endpointName", + "serviceName" + ] + }, + "GatewayProperties": { + "description": "Describes properties of a gateway resource.", + "properties": { + "description": { + "description": "User readable description of the gateway.", + "type": "string" + }, + "sourceNetwork": { + "$ref": "#/definitions/NetworkRef", + "description": "Network the gateway should listen on for requests." + }, + "destinationNetwork": { + "$ref": "#/definitions/NetworkRef", + "description": "Network that the Application is using." + }, + "tcp": { + "description": "Configuration for tcp connectivity for this gateway.", + "type": "array", + "items": { + "$ref": "#/definitions/TcpConfig" + } + }, + "http": { + "description": "Configuration for http connectivity for this gateway.", + "type": "array", + "items": { + "$ref": "#/definitions/HttpConfig" + } + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ResourceStatus", + "description": "Status of the resource." + }, + "statusDetails": { + "readOnly": true, + "type": "string", + "description": "Gives additional information about the current status of the gateway." + }, + "ipAddress": { + "readOnly": true, + "type": "string", + "description": "IP address of the gateway. This is populated in the response and is ignored for incoming requests." + } + }, + "required": [ + "destinationNetwork", + "sourceNetwork" + ] + }, + "HttpConfig": { + "description": "Describes the http configuration for external connectivity for this network.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "http gateway config name." + }, + "port": { + "type": "integer", + "description": "Specifies the port at which the service endpoint below needs to be exposed." + }, + "hosts": { + "type": "array", + "description": "description for routing.", + "items": { + "$ref": "#/definitions/HttpHostConfig" + } + } + }, + "required": [ + "hosts", + "name", + "port" + ] + }, + "HttpHostConfig": { + "description": "Describes the hostname properties for http routing.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "http hostname config name." + }, + "routes": { + "type": "array", + "description": "Route information to use for routing. Routes are processed in the order they are specified. Specify routes that are more specific before routes that can handle general cases.", + "items": { + "$ref": "#/definitions/HttpRouteConfig" + } + } + }, + "required": [ + "name", + "routes" + ] + }, + "HttpRouteConfig": { + "description": "Describes the hostname properties for http routing.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "http route name." + }, + "match": { + "$ref": "#/definitions/HttpRouteMatchRule", + "description": "Describes a rule for http route matching." + }, + "destination": { + "$ref": "#/definitions/GatewayDestination", + "description": "Describes destination endpoint for routing traffic." + } + }, + "required": [ + "destination", + "match", + "name" + ] + }, + "HttpRouteMatchHeader": { + "description": "Describes header information for http route matching.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of header to match in request." + }, + "value": { + "type": "string", + "description": "Value of header to match in request." + }, + "type": { + "type": "string", + "description": "how to match header value", + "enum": [ + "exact" + ], + "x-ms-enum": { + "name": "HeaderMatchType", + "modelAsString": true + } + } + }, + "required": [ + "name" + ] + }, + "HttpRouteMatchPath": { + "description": "Path to match for routing.", + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Uri path to match for request." + }, + "rewrite": { + "type": "string", + "description": "replacement string for matched part of the Uri." + }, + "type": { + "type": "string", + "description": "how to match value in the Uri", + "enum": [ + "prefix" + ], + "x-ms-enum": { + "name": "PathMatchType", + "modelAsString": true + } + } + }, + "required": [ + "type", + "value" + ] + }, + "HttpRouteMatchRule": { + "description": "Describes a rule for http route matching.", + "type": "object", + "properties": { + "path": { + "$ref": "#/definitions/HttpRouteMatchPath", + "description": "Path to match for routing." + }, + "headers": { + "type": "array", + "description": "headers and their values to match in request.", + "items": { + "$ref": "#/definitions/HttpRouteMatchHeader" + } + } + }, + "required": [ + "path" + ] + }, + "TcpConfig": { + "description": "Describes the tcp configuration for external connectivity for this network.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "tcp gateway config name." + }, + "port": { + "type": "integer", + "description": "Specifies the port at which the service endpoint below needs to be exposed." + }, + "destination": { + "$ref": "#/definitions/GatewayDestination", + "description": "Describes destination endpoint for routing traffic." + } + }, + "required": [ + "destination", + "name", + "port" + ] + }, + "GatewayResourceName": { + "type": "string", + "description": "Name of the Gateway resource." + }, + "GatewayResourceDescription": { + "description": "This type describes a gateway resource.", + "properties": { + "name": { + "$ref": "#/definitions/GatewayResourceName", + "description": "Name of the Gateway resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GatewayProperties", + "description": "Describes properties of a gateway resource." + } + }, + "required": [ + "name", + "properties" + ] + }, + "PagedGatewayResourceDescriptionList": { + "type": "object", + "description": "The list of gateway resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "One page of the list.", + "items": { + "$ref": "#/definitions/GatewayResourceDescription" + } + } + } + }, + "ApplicationProperties": { + "description": "Describes properties of a application resource.", + "properties": { + "description": { + "type": "string", + "description": "User readable description of the application." + }, + "services": { + "type": "array", + "description": "Describes the services in the application. This property is used to create or modify services of the application. On get only the name of the service is returned. The service description can be obtained by querying for the service resource.", + "items": { + "$ref": "#/definitions/ServiceResourceDescription" + } + }, + "diagnostics": { + "$ref": "#/definitions/DiagnosticsDescription", + "description": "Describes the diagnostics definition and usage for an application resource." + }, + "debugParams": { + "description": "Internal - used by Visual Studio to setup the debugging session on the local development environment.", + "type": "string" + }, + "serviceNames": { + "readOnly": true, + "description": "Names of the services in the application.", + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ResourceStatus", + "description": "Status of the application." + }, + "statusDetails": { + "readOnly": true, + "type": "string", + "description": "Gives additional information about the current status of the application." + }, + "healthState": { + "readOnly": true, + "$ref": "#/definitions/HealthState", + "description": "Describes the health state of an application resource." + }, + "unhealthyEvaluation": { + "readOnly": true, + "type": "string", + "description": "When the application's health state is not 'Ok', this additional details from service fabric Health Manager for the user to know why the application is marked unhealthy." + } + } + }, + "ApplicationResourceUpgradeProgressInfo": { + "description": "This type describes an application resource upgrade.", + "properties": { + "Name": { + "type": "string", + "description": "Name of the Application resource." + }, + "TargetApplicationTypeVersion": { + "type": "string", + "description": "The target application version for the application upgrade." + }, + "StartTimestampUtc": { + "type": "string", + "description": "The estimated UTC datetime when the upgrade started." + }, + "UpgradeState": { + "$ref": "#/definitions/ApplicationResourceUpgradeState", + "description": "The state of the application resource upgrade." + }, + "PercentCompleted": { + "type": "string", + "description": "The estimated percent of replicas are completed in the upgrade." + }, + "ServiceUpgradeProgress": { + "$ref": "#/definitions/ServiceUpgradeProgressList", + "description": "List of service upgrade progresses." + }, + "RollingUpgradeMode": { + "$ref": "#/definitions/RollingUpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored." + }, + "UpgradeDuration": { + "type": "string", + "description": "The estimated amount of time that the overall upgrade elapsed. 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.", + "default": "PT0H2M0S" + }, + "ApplicationUpgradeStatusDetails": { + "type": "string", + "description": "Additional detailed information about the status of the pending upgrade." + }, + "UpgradeReplicaSetCheckTimeoutInSeconds": { + "type": "integer", + "format": "int64", + "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).", + "default": 42949672925 + }, + "FailureTimestampUtc": { + "type": "string", + "description": "The estimated UTC datetime when the upgrade failed and FailureAction was executed." + } + } + }, + "ApplicationResourceUpgradeState": { + "type": "string", + "description": "The state of the application resource upgrade.", + "enum": [ + "Invalid", + "ProvisioningTarget", + "RollingForward", + "UnprovisioningCurrent", + "CompletedRollforward", + "RollingBack", + "UnprovisioningTarget", + "CompletedRollback", + "Failed" + ], + "x-ms-enum": { + "name": "ApplicationResourceUpgradeState", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade state is invalid. All Service Fabric enumerations have the invalid type. The value is 0." + }, + { + "value": "ProvisioningTarget", + "description": "The upgrade is in the progress of provisioning target application type version. The value is 1." + }, + { + "value": "RollingForward", + "description": "The upgrade is rolling forward to the target version but is not complete yet. The value is 2." + }, + { + "value": "UnprovisioningCurrent", + "description": "The upgrade is in the progress of unprovisioning current application type version and rolling forward to the target version is completed. The value is 3." + }, + { + "value": "CompletedRollforward", + "description": "The upgrade has finished rolling forward. The value is 4." + }, + { + "value": "RollingBack", + "description": "The upgrade is rolling back to the previous version but is not complete yet. The value is 5." + }, + { + "value": "UnprovisioningTarget", + "description": "The upgrade is in the progress of unprovisioning target application type version and rolling back to the current version is completed. The value is 6." + }, + { + "value": "CompletedRollback", + "description": "The upgrade has finished rolling back. The value is 7." + }, + { + "value": "Failed", + "description": "The upgrade has failed and is unable to execute FailureAction. The value is 8." + } + ] + } + }, + "AzureInternalMonitoringPipelineSinkDescription": { + "allOf": [ + { + "$ref": "#/definitions/DiagnosticsSinkProperties" + } + ], + "x-ms-discriminator-value": "AzureInternalMonitoringPipeline", + "description": "Diagnostics settings for Geneva.", + "properties": { + "accountName": { + "description": "Azure Internal monitoring pipeline account.", + "type": "string" + }, + "namespace": { + "description": "Azure Internal monitoring pipeline account namespace.", + "type": "string" + }, + "maConfigUrl": { + "description": "Azure Internal monitoring agent configuration.", + "type": "string" + }, + "fluentdConfigUrl": { + "description": "Azure Internal monitoring agent fluentd configuration.", + "type": "string" + }, + "autoKeyConfigUrl": { + "description": "Azure Internal monitoring pipeline autokey associated with the certificate.", + "type": "string" + } + } + }, + "DiagnosticsDescription": { + "description": "Describes the diagnostics options available", + "properties": { + "sinks": { + "description": "List of supported sinks that can be referenced.", + "type": "array", + "items": { + "$ref": "#/definitions/DiagnosticsSinkProperties" + } + }, + "enabled": { + "description": "Status of whether or not sinks are enabled.", + "type": "boolean" + }, + "defaultSinkRefs": { + "description": "The sinks to be used if diagnostics is enabled. Sink choices can be overridden at the service and code package level.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DiagnosticsRef": { + "description": "Reference to sinks in DiagnosticsDescription.", + "properties": { + "enabled": { + "description": "Status of whether or not sinks are enabled.", + "type": "boolean" + }, + "sinkRefs": { + "description": "List of sinks to be used if enabled. References the list of sinks in DiagnosticsDescription.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DiagnosticsSinkKind": { + "type": "string", + "description": "The kind of DiagnosticsSink.", + "enum": [ + "Invalid", + "AzureInternalMonitoringPipeline" + ], + "x-ms-enum": { + "name": "DiagnosticsSinkKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid sink kind. All Service Fabric enumerations have the invalid type." + }, + { + "value": "AzureInternalMonitoringPipeline", + "description": "Diagnostics settings for Geneva." + } + ] + } + }, + "DiagnosticsSinkProperties": { + "description": "Properties of a DiagnosticsSink.", + "discriminator": "kind", + "properties": { + "kind": { + "$ref": "#/definitions/DiagnosticsSinkKind", + "description": "The kind of DiagnosticsSink." + }, + "name": { + "description": "Name of the sink. This value is referenced by DiagnosticsReferenceDescription", + "type": "string" + }, + "description": { + "description": "A description of the sink.", + "type": "string" + } + }, + "required": [ + "kind" + ] + }, + "IdentityDescription": { + "description": "Information describing the identities associated with this application.", + "properties": { + "tokenServiceEndpoint": { + "type": "string", + "description": "the endpoint for the token service managing this identity" + }, + "type": { + "type": "string", + "description": "the types of identities associated with this resource; currently restricted to 'SystemAssigned and UserAssigned'" + }, + "tenantId": { + "type": "string", + "description": "the identifier of the tenant containing the application's identity." + }, + "principalId": { + "type": "string", + "description": "the object identifier of the Service Principal of the identity associated with this resource." + }, + "userAssignedIdentities": { + "$ref": "#/definitions/UserAssignedIdentityMap", + "description": "represents user assigned identities map." + } + }, + "required": [ + "type" + ] + }, + "IdentityItemDescription": { + "description": "Describes a single user-assigned identity associated with the application.", + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "the object identifier of the Service Principal which this identity represents." + }, + "clientId": { + "type": "string", + "description": "the client identifier of the Service Principal which this identity represents." + } + } + }, + "RollingUpgradeMode": { + "type": "string", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored.", + "enum": [ + "Invalid", + "UnmonitoredAuto", + "UnmonitoredManual", + "Monitored" + ], + "default": "Monitored", + "x-ms-enum": { + "name": "RollingUpgradeMode", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade mode is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "UnmonitoredAuto", + "description": "The upgrade will proceed automatically without performing any health monitoring. The value is 1" + }, + { + "value": "UnmonitoredManual", + "description": "The upgrade will stop after completing each upgrade domain, giving the opportunity to manually monitor health before proceeding. The value is 2" + }, + { + "value": "Monitored", + "description": "The upgrade will stop after completing each upgrade domain and automatically monitor health before proceeding. The value is 3" + } + ] + } + }, + "ServiceUpgradeProgressList": { + "type": "array", + "description": "List of service upgrade progresses.", + "items": { + "$ref": "#/definitions/ServiceUpgradeProgress" + } + }, + "ServiceUpgradeProgress": { + "description": "Information about how many replicas are completed or pending for a specific service during upgrade.", + "properties": { + "ServiceName": { + "type": "string", + "description": "Name of the Service resource." + }, + "CompletedReplicaCount": { + "type": "string", + "description": "The number of replicas that completes the upgrade in the service." + }, + "PendingReplicaCount": { + "type": "string", + "description": "The number of replicas that are waiting to be upgraded in the service." + } + } + }, + "UserAssignedIdentityMap": { + "type": "object", + "description": "Defines a map that contains user assigned identities.", + "additionalProperties": { + "$ref": "#/definitions/IdentityItemDescription" + } + }, + "AddRemoveReplicaScalingMechanism": { + "description": "Describes the horizontal auto scaling mechanism that adds or removes replicas (containers or container groups).", + "allOf": [ + { + "$ref": "#/definitions/AutoScalingMechanism" + }, + { + "type": "object" + } + ], + "x-ms-discriminator-value": "AddRemoveReplica", + "properties": { + "minCount": { + "type": "integer", + "description": "Minimum number of containers (scale down won't be performed below this number)." + }, + "maxCount": { + "type": "integer", + "description": "Maximum number of containers (scale up won't be performed above this number)." + }, + "scaleIncrement": { + "type": "integer", + "description": "Each time auto scaling is performed, this number of containers will be added or removed." + } + }, + "required": [ + "minCount", + "maxCount", + "scaleIncrement" + ] + }, + "AutoScalingMechanism": { + "type": "object", + "discriminator": "kind", + "description": "Describes the mechanism for performing auto scaling operation. Derived classes will describe the actual mechanism.", + "properties": { + "kind": { + "$ref": "#/definitions/AutoScalingMechanismKind", + "description": "The type of auto scaling mechanism." + } + }, + "required": [ + "kind" + ] + }, + "AutoScalingMechanismKind": { + "type": "string", + "description": "Enumerates the mechanisms for auto scaling.", + "enum": [ + "AddRemoveReplica" + ], + "x-ms-enum": { + "name": "AutoScalingMechanismKind", + "modelAsString": true, + "values": [ + { + "value": "AddRemoveReplica", + "description": "Indicates that scaling should be performed by adding or removing replicas." + } + ] + } + }, + "AutoScalingMetric": { + "type": "object", + "discriminator": "kind", + "description": "Describes the metric that is used for triggering auto scaling operation. Derived classes will describe resources or metrics.", + "properties": { + "kind": { + "$ref": "#/definitions/AutoScalingMetricKind", + "description": "The type of auto scaling metric" + } + }, + "required": [ + "kind" + ] + }, + "AutoScalingMetricKind": { + "type": "string", + "description": "Enumerates the metrics that are used for triggering auto scaling.", + "enum": [ + "Resource" + ], + "x-ms-enum": { + "name": "AutoScalingMetricKind", + "modelAsString": true, + "values": [ + { + "value": "Resource", + "description": "Indicates that the metric is one of resources, like cpu or memory." + } + ] + } + }, + "AutoScalingPolicy": { + "description": "Describes the auto scaling policy", + "type": "object", + "properties": { + "name": { + "description": "The name of the auto scaling policy.", + "type": "string" + }, + "trigger": { + "$ref": "#/definitions/AutoScalingTrigger", + "description": "Determines when auto scaling operation will be invoked." + }, + "mechanism": { + "$ref": "#/definitions/AutoScalingMechanism", + "description": "The mechanism that is used to scale when auto scaling operation is invoked." + } + }, + "required": [ + "name", + "trigger", + "mechanism" + ] + }, + "AutoScalingResourceMetric": { + "description": "Describes the resource that is used for triggering auto scaling.", + "allOf": [ + { + "$ref": "#/definitions/AutoScalingMetric" + }, + { + "type": "object" + } + ], + "x-ms-discriminator-value": "Resource", + "properties": { + "name": { + "$ref": "#/definitions/AutoScalingResourceMetricName", + "description": "Name of the resource." + } + }, + "required": [ + "name" + ] + }, + "AutoScalingResourceMetricName": { + "type": "string", + "description": "Enumerates the resources that are used for triggering auto scaling.", + "enum": [ + "cpu", + "memoryInGB" + ], + "x-ms-enum": { + "name": "AutoScalingResourceMetricName", + "modelAsString": true, + "values": [ + { + "value": "cpu", + "description": "Indicates that the resource is CPU cores." + }, + { + "value": "memoryInGB", + "description": "Indicates that the resource is memory in GB." + } + ] + } + }, + "AutoScalingTrigger": { + "type": "object", + "discriminator": "kind", + "description": "Describes the trigger for performing auto scaling operation.", + "properties": { + "kind": { + "$ref": "#/definitions/AutoScalingTriggerKind", + "description": "The type of auto scaling trigger" + } + }, + "required": [ + "kind" + ] + }, + "AutoScalingTriggerKind": { + "type": "string", + "description": "Enumerates the triggers for auto scaling.", + "enum": [ + "AverageLoad" + ], + "x-ms-enum": { + "name": "AutoScalingTriggerKind", + "modelAsString": true, + "values": [ + { + "value": "AverageLoad", + "description": "Indicates that scaling should be performed based on average load of all replicas in the service." + } + ] + } + }, + "ContainerCodePackageProperties": { + "description": "Describes a container and its runtime properties.", + "properties": { + "name": { + "description": "The name of the code package.", + "type": "string" + }, + "image": { + "description": "The Container image to use.", + "type": "string" + }, + "imageRegistryCredential": { + "$ref": "#/definitions/ImageRegistryCredential", + "description": "Image registry credential." + }, + "entryPoint": { + "description": "Override for the default entry point in the container.", + "type": "string" + }, + "commands": { + "description": "Command array to execute within the container in exec form.", + "type": "array", + "items": { + "type": "string" + } + }, + "environmentVariables": { + "description": "The environment variables to set in this container", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariable" + } + }, + "settings": { + "description": "The settings to set in this container. The setting file path can be fetched from environment variable \"Fabric_SettingPath\". The path for Windows container is \"C:\\\\secrets\". The path for Linux container is \"/var/secrets\".", + "type": "array", + "items": { + "$ref": "#/definitions/Setting" + } + }, + "labels": { + "description": "The labels to set in this container.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerLabel" + } + }, + "endpoints": { + "description": "The endpoints exposed by this container.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointProperties" + } + }, + "resources": { + "description": "The resources required by this container.", + "$ref": "#/definitions/ResourceRequirements" + }, + "volumeRefs": { + "description": "Volumes to be attached to the container. The lifetime of these volumes is independent of the application's lifetime.", + "type": "array", + "items": { + "$ref": "#/definitions/VolumeReference" + } + }, + "volumes": { + "description": "Volumes to be attached to the container. The lifetime of these volumes is scoped to the application's lifetime.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationScopedVolume" + } + }, + "diagnostics": { + "$ref": "#/definitions/DiagnosticsRef", + "description": "Reference to sinks in DiagnosticsDescription." + }, + "reliableCollectionsRefs": { + "description": "A list of ReliableCollection resources used by this particular code package. Please refer to ReliableCollectionsRef for more details.", + "type": "array", + "items": { + "$ref": "#/definitions/ReliableCollectionsRef" + } + }, + "instanceView": { + "readOnly": true, + "$ref": "#/definitions/ContainerInstanceView", + "description": "Runtime information of a container instance." + }, + "livenessProbe": { + "description": "An array of liveness probes for a code package. It determines when to restart a code package.", + "type": "array", + "items": { + "$ref": "#/definitions/Probe" + } + }, + "readinessProbe": { + "description": "An array of readiness probes for a code package. It determines when to unpublish an endpoint.", + "type": "array", + "items": { + "$ref": "#/definitions/Probe" + } + } + }, + "required": [ + "name", + "image", + "resources" + ] + }, + "ContainerEvent": { + "description": "A container event.", + "properties": { + "name": { + "type": "string", + "description": "The name of the container event." + }, + "count": { + "type": "integer", + "description": "The count of the event." + }, + "firstTimestamp": { + "type": "string", + "description": "Date/time of the first event." + }, + "lastTimestamp": { + "type": "string", + "description": "Date/time of the last event." + }, + "message": { + "type": "string", + "description": "The event message" + }, + "type": { + "type": "string", + "description": "The event type." + } + } + }, + "ContainerInstanceView": { + "description": "Runtime information of a container instance.", + "properties": { + "restartCount": { + "type": "integer", + "description": "The number of times the container has been restarted." + }, + "currentState": { + "$ref": "#/definitions/ContainerState", + "description": "Current container instance state." + }, + "previousState": { + "$ref": "#/definitions/ContainerState", + "description": "Previous container instance state." + }, + "events": { + "description": "The events of this container instance.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerEvent" + } + } + } + }, + "ContainerLabel": { + "description": "Describes a container label.", + "properties": { + "name": { + "description": "The name of the container label.", + "type": "string" + }, + "value": { + "description": "The value of the container label.", + "type": "string" + } + }, + "required": [ + "name", + "value" + ] + }, + "ContainerState": { + "description": "The container state.", + "properties": { + "state": { + "type": "string", + "description": "The state of this container" + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Date/time when the container state started." + }, + "exitCode": { + "type": "string", + "description": "The container exit code." + }, + "finishTime": { + "type": "string", + "format": "date-time", + "description": "Date/time when the container state finished." + }, + "detailStatus": { + "description": "Human-readable status of this state.", + "type": "string" + } + } + }, + "DefaultExecutionPolicy": { + "description": "The default execution policy. Always restart the service if an exit occurs.", + "allOf": [ + { + "$ref": "#/definitions/ExecutionPolicy" + }, + { + "type": "object" + } + ], + "x-ms-discriminator-value": "Default" + }, + "EndpointProperties": { + "description": "Describes a container endpoint.", + "properties": { + "name": { + "description": "The name of the endpoint.", + "type": "string" + }, + "port": { + "description": "Port used by the container.", + "type": "integer" + } + }, + "required": [ + "name" + ] + }, + "EnvironmentVariable": { + "description": "Describes an environment variable for the container.", + "properties": { + "type": { + "$ref": "#/definitions/EnvironmentVariableType", + "description": "The type of the environment variable being given in value" + }, + "name": { + "description": "The name of the environment variable.", + "type": "string" + }, + "value": { + "description": "The value of the environment variable, will be processed based on the type provided.", + "type": "string" + } + } + }, + "EnvironmentVariableType": { + "type": "string", + "description": "The type of the environment variable being given in value", + "default": "ClearText", + "enum": [ + "ClearText", + "KeyVaultReference", + "SecretValueReference" + ], + "x-ms-enum": { + "name": "EnvironmentVariableType", + "modelAsString": true, + "values": [ + { + "value": "ClearText", + "description": "The environment variable in clear text, will not be processed in any way and passed in as is" + }, + { + "value": "KeyVaultReference", + "description": "The URI to a KeyVault secret version, will be resolved using the application's managed identity (this type is only valid if the app was assigned a managed identity) before getting passed in" + }, + { + "value": "SecretValueReference", + "description": "The reference to a SecretValue resource, will be resolved before getting passed in" + } + ] + } + }, + "ExecutionPolicy": { + "type": "object", + "discriminator": "type", + "description": "The execution policy of the service", + "properties": { + "type": { + "$ref": "#/definitions/ExecutionPolicyType", + "description": "Enumerates the execution policy types for services." + } + }, + "required": [ + "type" + ] + }, + "ExecutionPolicyType": { + "type": "string", + "description": "Enumerates the execution policy types for services.", + "enum": [ + "Default", + "RunToCompletion" + ], + "x-ms-enum": { + "name": "ExecutionPolicyType", + "modelAsString": true, + "values": [ + { + "value": "Default", + "description": "Indicates the default execution policy, always restart the service if an exit occurs." + }, + { + "value": "RunToCompletion", + "description": "Indicates that the service will perform its desired operation and complete successfully. If the service encounters failure, it will restarted based on restart policy specified. If the service completes its operation successfully, it will not be restarted again." + } + ] + } + }, + "ImageRegistryCredential": { + "description": "Image registry credential.", + "properties": { + "server": { + "type": "string", + "description": "Docker image registry server, without protocol such as `http` and `https`." + }, + "username": { + "type": "string", + "description": "The username for the private registry." + }, + "passwordType": { + "$ref": "#/definitions/ImageRegistryPasswordType", + "description": "The type of the image registry password being given in password" + }, + "password": { + "type": "string", + "description": "The password for the private registry. The password is required for create or update operations, however it is not returned in the get or list operations. Will be processed based on the type provided." + } + }, + "required": [ + "server", + "username" + ] + }, + "ImageRegistryPasswordType": { + "type": "string", + "description": "The type of the image registry password being given in password", + "default": "ClearText", + "enum": [ + "ClearText", + "KeyVaultReference", + "SecretValueReference" + ], + "x-ms-enum": { + "name": "ImageRegistryPasswordType", + "modelAsString": true, + "values": [ + { + "value": "ClearText", + "description": "The image registry password in clear text, will not be processed in any way and used directly" + }, + { + "value": "KeyVaultReference", + "description": "The URI to a KeyVault secret version, will be resolved using the application's managed identity (this type is only valid if the app was assigned a managed identity) before getting used" + }, + { + "value": "SecretValueReference", + "description": "The reference to a SecretValue resource, will be resolved before getting used" + } + ] + } + }, + "OperatingSystemType": { + "type": "string", + "description": "The operation system required by the code in service.", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "OperatingSystemType", + "modelAsString": true, + "values": [ + { + "value": "Linux", + "description": "The required operating system is Linux." + }, + { + "value": "Windows", + "description": "The required operating system is Windows." + } + ] + } + }, + "Probe": { + "description": "Probes have a number of fields that you can use to control their behavior.", + "properties": { + "initialDelaySeconds": { + "type": "integer", + "description": "The initial delay in seconds to start executing probe once codepackage has started.", + "default": 0 + }, + "periodSeconds": { + "type": "integer", + "description": "Periodic seconds to execute probe.", + "default": 10 + }, + "timeoutSeconds": { + "type": "integer", + "description": "Period after which probe is considered as failed if it hasn't completed successfully.", + "default": 1 + }, + "successThreshold": { + "type": "integer", + "description": "The count of successful probe executions after which probe is considered success.", + "default": 1 + }, + "failureThreshold": { + "type": "integer", + "description": "The count of failures after which probe is considered failed.", + "default": 3 + }, + "exec": { + "$ref": "#/definitions/ProbeExec", + "description": "Exec command to run inside the container." + }, + "httpGet": { + "$ref": "#/definitions/ProbeHttpGet", + "description": "Http probe for the container." + }, + "tcpSocket": { + "$ref": "#/definitions/ProbeTcpSocket", + "description": "Tcp port to probe inside the container." + } + } + }, + "ProbeExec": { + "description": "Exec command to run inside the container.", + "properties": { + "command": { + "description": "Comma separated command to run inside the container for example \"sh, -c, echo hello world\".", + "type": "string" + } + }, + "required": [ + "command" + ] + }, + "ProbeHttpGet": { + "description": "Http probe for the container.", + "properties": { + "port": { + "description": "Port to access for probe.", + "type": "integer" + }, + "path": { + "description": "Path to access on the HTTP request.", + "type": "string" + }, + "host": { + "description": "Host IP to connect to.", + "type": "string" + }, + "httpHeaders": { + "description": "Headers to set in the request.", + "type": "array", + "items": { + "$ref": "#/definitions/ProbeHttpGetHeaders" + } + }, + "scheme": { + "type": "string", + "description": "Scheme for the http probe. Can be Http or Https.", + "enum": [ + "http", + "https" + ], + "x-ms-enum": { + "name": "scheme", + "modelAsString": true, + "values": [ + { + "value": "http", + "description": "Indicates that the probe is http." + }, + { + "value": "https", + "description": "Indicates that the probe is https. No cert validation." + } + ] + } + } + }, + "required": [ + "port" + ] + }, + "ProbeHttpGetHeaders": { + "description": "Http headers.", + "properties": { + "name": { + "description": "The name of the header.", + "type": "string" + }, + "value": { + "description": "The value of the header.", + "type": "string" + } + }, + "required": [ + "name", + "value" + ] + }, + "ProbeTcpSocket": { + "description": "Tcp port to probe inside the container.", + "properties": { + "port": { + "description": "Port to access for probe.", + "type": "integer" + } + }, + "required": [ + "port" + ] + }, + "ReliableCollectionsRef": { + "description": "Specifying this parameter adds support for reliable collections", + "properties": { + "name": { + "description": "Name of ReliableCollection resource. Right now it's not used and you can use any string.", + "type": "string" + }, + "doNotPersistState": { + "description": "False (the default) if ReliableCollections state is persisted to disk as usual. True if you do not want to persist state, in which case replication is still enabled and you can use ReliableCollections as distributed cache.", + "type": "boolean" + } + }, + "required": [ + "name" + ] + }, + "ResourceLimits": { + "description": "This type describes the resource limits for a given container. It describes the most amount of resources a container is allowed to use before being restarted.", + "properties": { + "memoryInGB": { + "description": "The memory limit in GB.", + "type": "number", + "format": "double" + }, + "cpu": { + "description": "CPU limits in cores. At present, only full cores are supported.", + "type": "number", + "format": "double" + } + } + }, + "ResourceRequests": { + "description": "This type describes the requested resources for a given container. It describes the least amount of resources required for the container. A container can consume more than requested resources up to the specified limits before being restarted. Currently, the requested resources are treated as limits.", + "properties": { + "memoryInGB": { + "description": "The memory request in GB for this container.", + "type": "number", + "format": "double" + }, + "cpu": { + "description": "Requested number of CPU cores. At present, only full cores are supported.", + "type": "number", + "format": "double" + } + }, + "required": [ + "memoryInGB", + "cpu" + ] + }, + "ResourceRequirements": { + "description": "This type describes the resource requirements for a container or a service.", + "properties": { + "requests": { + "$ref": "#/definitions/ResourceRequests", + "description": "Describes the requested resources for a given container." + }, + "limits": { + "$ref": "#/definitions/ResourceLimits", + "description": "Describes the maximum limits on the resources for a given container." + } + }, + "required": [ + "requests" + ] + }, + "RestartPolicy": { + "type": "string", + "description": "Enumerates the restart policy for RunToCompletionExecutionPolicy", + "enum": [ + "OnFailure", + "Never" + ], + "x-ms-enum": { + "name": "RestartPolicy", + "modelAsString": true, + "values": [ + { + "value": "OnFailure", + "description": "Service will be restarted when it encounters a failure." + }, + { + "value": "Never", + "description": "Service will never be restarted. If the service encounters a failure, it will move to Failed state." + } + ] + } + }, + "RunToCompletionExecutionPolicy": { + "description": "The run to completion execution policy, the service will perform its desired operation and complete successfully. If the service encounters failure, it will restarted based on restart policy specified. If the service completes its operation successfully, it will not be restarted again.", + "allOf": [ + { + "$ref": "#/definitions/ExecutionPolicy" + }, + { + "type": "object" + } + ], + "x-ms-discriminator-value": "RunToCompletion", + "properties": { + "restart": { + "$ref": "#/definitions/RestartPolicy", + "description": "Enumerates the restart policy for RunToCompletionExecutionPolicy" + } + }, + "required": [ + "restart" + ] + }, + "ServiceProperties": { + "description": "Describes properties of a service resource.", + "properties": { + "description": { + "type": "string", + "description": "User readable description of the service." + }, + "replicaCount": { + "type": "integer", + "description": "The number of replicas of the service to create. Defaults to 1 if not specified." + }, + "executionPolicy": { + "$ref": "#/definitions/ExecutionPolicy", + "description": "The execution policy of the service" + }, + "autoScalingPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/AutoScalingPolicy" + }, + "description": "Auto scaling policies" + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ResourceStatus", + "description": "Status of the service." + }, + "statusDetails": { + "readOnly": true, + "type": "string", + "description": "Gives additional information about the current status of the service." + }, + "healthState": { + "readOnly": true, + "$ref": "#/definitions/HealthState", + "description": "Describes the health state of an application resource." + }, + "unhealthyEvaluation": { + "readOnly": true, + "type": "string", + "description": "When the service's health state is not 'Ok', this additional details from service fabric Health Manager for the user to know why the service is marked unhealthy." + }, + "identityRefs": { + "description": "The service identity list.", + "type": "array", + "items": { + "$ref": "#/definitions/ServiceIdentity" + } + }, + "dnsName": { + "type": "string", + "description": "Dns name of the service." + } + } + }, + "ServiceReplicaProperties": { + "description": "Describes the properties of a service replica.", + "properties": { + "osType": { + "$ref": "#/definitions/OperatingSystemType", + "description": "The operation system required by the code in service." + }, + "codePackages": { + "description": "Describes the set of code packages that forms the service. A code package describes the container and the properties for running it. All the code packages are started together on the same host and share the same context (network, process etc.).", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerCodePackageProperties" + } + }, + "networkRefs": { + "type": "array", + "description": "The names of the private networks that this service needs to be part of.", + "items": { + "$ref": "#/definitions/NetworkRef" + } + }, + "diagnostics": { + "$ref": "#/definitions/DiagnosticsRef", + "description": "Reference to sinks in DiagnosticsDescription." + } + }, + "required": [ + "osType", + "codePackages" + ] + }, + "Setting": { + "description": "Describes a setting for the container. The setting file path can be fetched from environment variable \"Fabric_SettingPath\". The path for Windows container is \"C:\\\\secrets\". The path for Linux container is \"/var/secrets\".", + "properties": { + "type": { + "$ref": "#/definitions/SettingType", + "description": "The type of the setting being given in value" + }, + "name": { + "description": "The name of the setting.", + "type": "string" + }, + "value": { + "description": "The value of the setting, will be processed based on the type provided.", + "type": "string" + } + } + }, + "SettingType": { + "type": "string", + "description": "The type of the setting being given in value", + "default": "ClearText", + "enum": [ + "ClearText", + "KeyVaultReference", + "SecretValueReference" + ], + "x-ms-enum": { + "name": "SettingType", + "modelAsString": true, + "values": [ + { + "value": "ClearText", + "description": "The setting in clear text, will not be processed in any way and passed in as is" + }, + { + "value": "KeyVaultReference", + "description": "The URI to a KeyVault secret version, will be resolved using the application's managed identity (this type is only valid if the app was assigned a managed identity) before getting passed in" + }, + { + "value": "SecretValueReference", + "description": "The reference to a SecretValue resource, will be resolved before getting passed in" + } + ] + } + }, + "ServiceReplicaDescription": { + "description": "Describes a replica of a service resource.", + "allOf": [ + { + "$ref": "#/definitions/ServiceReplicaProperties" + } + ], + "properties": { + "replicaName": { + "type": "string", + "description": "Name of the replica." + } + }, + "required": [ + "replicaName" + ] + }, + "AverageLoadScalingTrigger": { + "description": "Describes the average load trigger used for auto scaling.", + "allOf": [ + { + "$ref": "#/definitions/AutoScalingTrigger" + }, + { + "type": "object" + } + ], + "x-ms-discriminator-value": "AverageLoad", + "properties": { + "metric": { + "$ref": "#/definitions/AutoScalingMetric", + "description": "Description of the metric that is used for scaling." + }, + "lowerLoadThreshold": { + "type": "number", + "format": "double", + "description": "Lower load threshold (if average load is below this threshold, service will scale down)." + }, + "upperLoadThreshold": { + "type": "number", + "format": "double", + "description": "Upper load threshold (if average load is above this threshold, service will scale up)." + }, + "scaleIntervalInSeconds": { + "type": "integer", + "description": "Scale interval that indicates how often will this trigger be checked.", + "minimum": 60 + } + }, + "required": [ + "metric", + "lowerLoadThreshold", + "upperLoadThreshold", + "scaleIntervalInSeconds" + ] + }, + "ServiceIdentity": { + "description": "Map service identity friendly name to an application identity.", + "properties": { + "name": { + "description": "The identity friendly name.", + "type": "string" + }, + "identityRef": { + "description": "The application identity name.", + "type": "string" + } + } + }, + "ServiceResourceName": { + "type": "string", + "description": "Name of the Service resource." + }, + "ServiceResourceDescription": { + "description": "This type describes a service resource.", + "properties": { + "name": { + "$ref": "#/definitions/ServiceResourceName", + "description": "Name of the Service resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServiceResourceProperties", + "description": "This type describes properties of a service resource." + } + }, + "required": [ + "name", + "properties" + ] + }, + "ServiceResourceProperties": { + "description": "This type describes properties of a service resource.", + "allOf": [ + { + "$ref": "#/definitions/ServiceReplicaProperties" + }, + { + "$ref": "#/definitions/ServiceProperties" + } + ] + }, + "PagedServiceResourceDescriptionList": { + "type": "object", + "description": "The list of service resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "One page of the list.", + "items": { + "$ref": "#/definitions/ServiceResourceDescription" + } + } + } + }, + "PagedServiceReplicaDescriptionList": { + "description": "The list of service resource replicas in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of service resource replica description.", + "items": { + "$ref": "#/definitions/ServiceReplicaDescription" + } + } + } + }, + "ApplicationResourceName": { + "type": "string", + "description": "Name of the Application resource." + }, + "ApplicationResourceDescription": { + "description": "This type describes a application resource.", + "properties": { + "name": { + "$ref": "#/definitions/ApplicationResourceName", + "description": "Name of the Application resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationProperties", + "description": "Describes properties of a application resource." + }, + "identity": { + "$ref": "#/definitions/IdentityDescription", + "description": "Describes the identity of the application." + } + }, + "required": [ + "name", + "properties" + ] + }, + "PagedApplicationResourceDescriptionList": { + "type": "object", + "description": "The list of application resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "One page of the list.", + "items": { + "$ref": "#/definitions/ApplicationResourceDescription" + } + } + } + } + }, + "parameters": { + "CodePackageNameRequiredPathParam": { + "name": "codePackageName", + "in": "path", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The name of code package of the service." + }, + "ApiVersion_6-4-Preview_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.4-preview" + ], + "required": true, + "default": "6.4-preview", + "description": "The version of the API. This parameter is required and its value must be '6.4-preview'.", + "x-ms-enum": { + "name": "ApiVersion_6-4-Preview_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.4-preview", + "description": "The version number for the preview functionality of 6.4 runtime" + } + ] + } + }, + "TailOptionalQueryParam": { + "name": "Tail", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "Number of lines to show from the end of the logs. Default is 100. 'all' to show the complete logs." + }, + "ApiVersion_6-0-Preview_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.0-preview" + ], + "required": true, + "default": "6.0-preview", + "description": "The version of the API. This parameter is required and its value must be '\"6.0-preview'.", + "x-ms-enum": { + "name": "ApiVersion_6-0-Preview_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.0-preview", + "description": "The version number for the preview functionality of 6.0 runtime." + } + ] + } + }, + "ApiVersion_6-0_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.0" + ], + "required": true, + "default": "6.0", + "description": "The version of the API. This parameter is required and its value must be '6.0'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accept any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0, but if the runtime is 6.1, in order to make it easier to write the clients, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_6-0_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.0", + "description": "The 6.0 version of the API." + } + ] + } + }, + "ApiVersion_6-1_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.1" + ], + "required": true, + "default": "6.1", + "description": "The version of the API. This parameter is required and its value must be '6.1'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accept any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0, but if the runtime is 6.1, in order to make it easier to write the clients, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_6-1_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.1", + "description": "The 6.1 version of the API." + } + ] + } + }, + "ApiVersion_6-2_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.2" + ], + "required": true, + "default": "6.2", + "description": "The version of the API. This parameter is required and its value must be '6.2'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_6-2_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.2", + "description": "The 6.2 version of the API." + } + ] + } + }, + "ApiVersion_6-2-Preview_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.2-preview" + ], + "required": true, + "default": "6.2-preview", + "description": "The version of the API. This parameter is required and its value must be '6.2-preview'.", + "x-ms-enum": { + "name": "ApiVersion_6-2-Preview_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.2-preview", + "description": "The version number for the preview functionality of 6.2 runtime" + } + ] + } + }, + "ApiVersion_6-3_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.3" + ], + "required": true, + "default": "6.3", + "description": "The version of the API. This parameter is required and its value must be '6.3'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_6-3_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.3", + "description": "The 6.3 version of the API." + } + ] + } + }, + "ApiVersion_6-3-Preview_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.3-preview" + ], + "required": true, + "default": "6.3-preview", + "description": "The version of the API. This parameter is required and its value must be '6.3-preview'.", + "x-ms-enum": { + "name": "ApiVersion_6-3-Preview_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.3-preview", + "description": "The version number for the preview functionality of 6.3 runtime" + } + ] + } + }, + "ApiVersion_6-4_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.4" + ], + "required": true, + "default": "6.4", + "description": "The version of the API. This parameter is required and its value must be '6.4'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_6-4_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.4", + "description": "The 6.4 version of the API." + } + ] + } + }, + "ApiVersion_6-5_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.5" + ], + "required": true, + "default": "6.5", + "description": "The version of the API. This parameter is required and its value must be '6.5'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_6-5_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.5", + "description": "The 6.5 version of the API." + } + ] + } + }, + "ApiVersion_7-0_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "7.0" + ], + "required": true, + "default": "7.0", + "description": "The version of the API. This parameter is required and its value must be '7.0'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_7-0_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "7.0", + "description": "The 7.0 version of the API." + } + ] + } + }, + "ApiVersion_7-2_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "7.2" + ], + "required": true, + "default": "7.2", + "description": "The version of the API. This parameter is required and its value must be '7.2'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_7-2_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "7.2", + "description": "The 7.2 version of the API." + } + ] + } + }, + "ApiVersion_8-0_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "8.0" + ], + "required": true, + "default": "8.0", + "description": "The version of the API. This parameter is required and its value must be '8.0'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_8-0_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "8.0", + "description": "The 8.0 version of the API." + } + ] + } + }, + "ApiVersion_8-1_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "8.1" + ], + "required": true, + "default": "8.1", + "description": "The version of the API. This parameter is required and its value must be '8.1'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_8-1_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "8.1", + "description": "The 8.1 version of the API." + } + ] + } + }, + "ApiVersion_8-2_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "8.2" + ], + "required": true, + "default": "8.2", + "description": "The version of the API. This parameter is required and its value must be '8.2'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_8-2_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "8.2", + "description": "The 8.2 version of the API." + } + ] + } + }, + "ApplicationDefinitionKindFilterOptionalQueryParam": { + "name": "ApplicationDefinitionKindFilter", + "description": "Used to filter on ApplicationDefinitionKind, which is the mechanism used to define a Service Fabric application.\n- Default - Default value, which performs the same function as selecting \"All\". The value is 0.\n- All - Filter that matches input with any ApplicationDefinitionKind value. The value is 65535.\n- ServiceFabricApplicationDescription - Filter that matches input with ApplicationDefinitionKind value ServiceFabricApplicationDescription. The value is 1.\n- Compose - Filter that matches input with ApplicationDefinitionKind value Compose. The value is 2.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "ApplicationHealthPolicyOptionalBodyParam": { + "name": "ApplicationHealthPolicy", + "in": "body", + "description": "Describes the health policies used to evaluate the health of an application or one of its children.\nIf not present, the health evaluation uses the health policy from application manifest or the default health policy.", + "required": false, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ApplicationHealthPolicy" + } + }, + "ApplicationIdRequiredPathParam": { + "name": "applicationId", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The identity of the application. This is typically the full name of the application without the 'fabric:' URI scheme.\nStarting from version 6.0, hierarchical names are delimited with the \"~\" character.\nFor example, if the application name is \"fabric:/myapp/app1\", the application identity would be \"myapp~app1\" in 6.0+ and \"myapp/app1\" in previous versions." + }, + "ApplicationsHealthStateFilterOptionalQueryParam": { + "name": "ApplicationsHealthStateFilter", + "description": "Allows filtering of the application health state objects returned in the result of cluster health\nquery based on their health state.\nThe possible values for this parameter include integer value obtained from members or bitwise operations\non members of HealthStateFilter enumeration. Only applications that match the filter are returned.\nAll applications are used to evaluate the aggregated health state. If not specified, all entries are returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then health state of applications with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "ApplicationTypeDefinitionKindFilterOptionalQueryParam": { + "name": "ApplicationTypeDefinitionKindFilter", + "description": "Used to filter on ApplicationTypeDefinitionKind which is the mechanism used to define a Service Fabric application type.\n- Default - Default value, which performs the same function as selecting \"All\". The value is 0.\n- All - Filter that matches input with any ApplicationTypeDefinitionKind value. The value is 65535.\n- ServiceFabricApplicationPackage - Filter that matches input with ApplicationTypeDefinitionKind value ServiceFabricApplicationPackage. The value is 1.\n- Compose - Filter that matches input with ApplicationTypeDefinitionKind value Compose. The value is 2.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "ApplicationTypeNameOptionalQueryParam": { + "name": "ApplicationTypeName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The application type name used to filter the applications to query for. This value should not contain the application type version." + }, + "ApplicationTypeNameRequiredPathParam": { + "name": "applicationTypeName", + "in": "path", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The name of the application type." + }, + "ApplicationTypeVersionOptionalQueryParam": { + "name": "ApplicationTypeVersion", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The version of the application type." + }, + "ApplicationTypeVersionRequiredQueryParam": { + "name": "ApplicationTypeVersion", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The version of the application type." + }, + "ProvisionApplicationTypeDescriptionBaseRequiredBodyParam": { + "name": "ProvisionApplicationTypeDescriptionBaseRequiredBodyParam", + "in": "body", + "description": "The base type of provision application type description which supports either image store-based provision or external store-based provision.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ProvisionApplicationTypeDescriptionBase" + } + }, + "ClusterConfigurationUpgradeDescriptionRequiredBodyParam": { + "name": "ClusterConfigurationUpgradeDescription", + "in": "body", + "description": "Parameters for a standalone cluster configuration upgrade.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ClusterConfigurationUpgradeDescription" + } + }, + "ClusterHealthPoliciesOptionalBodyParam": { + "name": "ClusterHealthPolicies", + "in": "body", + "description": "Describes the health policies used to evaluate the cluster health.\nIf not present, the health evaluation uses the cluster health policy defined in the cluster manifest or the default cluster health policy.\nBy default, each application is evaluated using its specific application health policy, defined in the application manifest, or the default health policy, if no policy is defined in manifest.\nIf the application health policy map is specified, and it has an entry for an application, the specified application health policy\nis used to evaluate the application health.", + "required": false, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ClusterHealthPolicies" + } + }, + "ClusterHealthPolicyOptionalBodyParam": { + "name": "ClusterHealthPolicy", + "in": "body", + "description": "Describes the health policies used to evaluate the health of a cluster or node. If not present, the health evaluation uses the health policy from cluster manifest or the default health policy.", + "required": false, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ClusterHealthPolicy" + } + }, + "ClusterHealthChunkQueryDescriptionOptionalBodyParam": { + "name": "ClusterHealthChunkQueryDescription", + "in": "body", + "description": "Describes the cluster and application health policies used to evaluate the cluster health and the filters to select which cluster entities to be returned.\nIf the cluster health policy is present, it is used to evaluate the cluster events and the cluster nodes. If not present, the health evaluation uses the cluster health policy defined in the cluster manifest or the default cluster health policy.\nBy default, each application is evaluated using its specific application health policy, defined in the application manifest, or the default health policy, if no policy is defined in manifest.\nIf the application health policy map is specified, and it has an entry for an application, the specified application health policy\nis used to evaluate the application health.\nUsers can specify very flexible filters to select which cluster entities to include in response. The selection can be done based on the entities health state and based on the hierarchy.\nThe query can return multi-level children of the entities based on the specified filters. For example, it can return one application with a specified name, and for this application, return\nonly services that are in Error or Warning, and all partitions and replicas for one of these services.", + "required": false, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ClusterHealthChunkQueryDescription" + } + }, + "CodePackageInstanceIdRequiredQueryParam": { + "name": "CodePackageInstanceId", + "description": "ID that uniquely identifies a code package instance deployed on a service fabric node.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true + }, + "CodePackageNameRequiredQueryParam": { + "name": "CodePackageName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The name of code package specified in service manifest registered as part of an application type in a Service Fabric cluster." + }, + "CodeVersionOptionalQueryParam": { + "name": "CodeVersion", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The product version of Service Fabric." + }, + "ConfigVersionOptionalQueryParam": { + "name": "ConfigVersion", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The config version of Service Fabric." + }, + "ConfigurationApiVersionRequiredQueryParam": { + "name": "ConfigurationApiVersion", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The API version of the Standalone cluster json configuration." + }, + "ContainerApiRequiredBodyParam": { + "name": "ContainerApiRequestBody", + "in": "body", + "description": "Parameters for making container API call", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ContainerApiRequestBody" + } + }, + "ContinuationTokenOptionalQueryParam": { + "name": "ContinuationToken", + "in": "query", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": false, + "description": "The continuation token parameter is used to obtain next set of results. A continuation token with a non-empty value is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token does not contain a value. The value of this parameter should not be URL encoded." + }, + "DeployedApplicationsHealthStateFilterOptionalQueryParam": { + "name": "DeployedApplicationsHealthStateFilter", + "description": "Allows filtering of the deployed applications health state objects returned in the result of application health query based on their health state.\nThe possible values for this parameter include integer value of one of the following health states. Only deployed applications that match the filter will be returned.\nAll deployed applications are used to evaluate the aggregated health state. If not specified, all entries are returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values, obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then health state of deployed applications with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "DeployedServicePackagesHealthStateFilterOptionalQueryParam": { + "name": "DeployedServicePackagesHealthStateFilter", + "description": "Allows filtering of the deployed service package health state objects returned in the result of deployed application health query based on their health state.\nThe possible values for this parameter include integer value of one of the following health states.\nOnly deployed service packages that match the filter are returned. All deployed service packages are used to evaluate the aggregated health state of the deployed application.\nIf not specified, all entries are returned.\nThe state values are flag-based enumeration, so the value can be a combination of these values, obtained using the bitwise 'OR' operator.\nFor example, if the provided value is 6 then health state of service packages with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "DeploymentNameRequiredPathParam": { + "name": "deploymentName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The identity of the deployment." + }, + "EventsHealthStateFilterOptionalQueryParam": { + "name": "EventsHealthStateFilter", + "description": "Allows filtering the collection of HealthEvent objects returned based on health state.\nThe possible values for this parameter include integer value of one of the following health states.\nOnly events that match the filter are returned. All events are used to evaluate the aggregated health state.\nIf not specified, all entries are returned. The state values are flag-based enumeration, so the value could be a combination of these values, obtained using the bitwise 'OR' operator. For example, If the provided value is 6 then all of the events with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "ExcludeApplicationParametersOptionalQueryParam": { + "name": "ExcludeApplicationParameters", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "default": false, + "description": "The flag that specifies whether application parameters will be excluded from the result." + }, + "HealthInformationRequiredBodyParam": { + "name": "HealthInformation", + "in": "body", + "description": "Describes the health information for the health report. This information needs to be present in all of the health reports sent to the health manager.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/HealthInformation" + } + }, + "NodeNameRequiredPathParam": { + "name": "nodeName", + "in": "path", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The name of the node." + }, + "NodesHealthStateFilterOptionalQueryParam": { + "name": "NodesHealthStateFilter", + "description": "Allows filtering of the node health state objects returned in the result of cluster health query\nbased on their health state. The possible values for this parameter include integer value of one of the\nfollowing health states. Only nodes that match the filter are returned. All nodes are used to evaluate the aggregated health state.\nIf not specified, all entries are returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then health state of nodes with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "NodeStatusFilterOptionalQueryParam": { + "name": "NodeStatusFilter", + "description": "Allows filtering the nodes based on the NodeStatus. Only the nodes that are matching the specified filter value will be returned. The filter value can be one of the following.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "default", + "all", + "up", + "down", + "enabling", + "disabling", + "disabled", + "unknown", + "removed" + ], + "required": false, + "default": "default", + "x-ms-enum": { + "name": "NodeStatusFilter", + "modelAsString": true, + "values": [ + { + "value": "default", + "description": "This filter value will match all of the nodes excepts the ones with status as Unknown or Removed." + }, + { + "value": "all", + "description": "This filter value will match all of the nodes." + }, + { + "value": "up", + "description": "This filter value will match nodes that are Up." + }, + { + "value": "down", + "description": "This filter value will match nodes that are Down." + }, + { + "value": "enabling", + "description": "This filter value will match nodes that are in the process of being enabled with status as Enabling." + }, + { + "value": "disabling", + "description": "This filter value will match nodes that are in the process of being disabled with status as Disabling." + }, + { + "value": "disabled", + "description": "This filter value will match nodes that are Disabled." + }, + { + "value": "unknown", + "description": "This filter value will match nodes whose status is Unknown. A node would be in Unknown state if Service Fabric does not have authoritative information about that node. This can happen if the system learns about a node at runtime." + }, + { + "value": "removed", + "description": "This filter value will match nodes whose status is Removed. These are the nodes that are removed from the cluster using the RemoveNodeState API." + } + ] + } + }, + "PartitionIdOptionalQueryParam": { + "name": "PartitionId", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "format": "uuid", + "required": false, + "description": "The identity of the partition." + }, + "PartitionIdRequiredPathParam": { + "name": "partitionId", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "format": "uuid", + "required": true, + "description": "The identity of the partition." + }, + "ProvisionFabricDescriptionRequiredBodyParam": { + "name": "ProvisionFabricDescription", + "in": "body", + "description": "Describes the parameters for provisioning a cluster.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ProvisionFabricDescription" + } + }, + "UnprovisionFabricDescriptionRequiredBodyParam": { + "name": "UnprovisionFabricDescription", + "in": "body", + "description": "Describes the parameters for unprovisioning a cluster.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/UnprovisionFabricDescription" + } + }, + "ResumeClusterUpgradeDescriptionRequiredBodyParam": { + "name": "ResumeClusterUpgradeDescription", + "in": "body", + "description": "Describes the parameters for resuming a cluster upgrade.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ResumeClusterUpgradeDescription" + } + }, + "UpdateClusterUpgradeDescriptionRequiredBodyParam": { + "name": "UpdateClusterUpgradeDescription", + "in": "body", + "description": "Parameters for updating a cluster upgrade.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/UpdateClusterUpgradeDescription" + } + }, + "StartClusterUpgradeDescriptionRequiredBodyParam": { + "name": "StartClusterUpgradeDescription", + "in": "body", + "description": "Describes the parameters for starting a cluster upgrade.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/StartClusterUpgradeDescription" + } + }, + "ReplicaHealthReportServiceKindRequiredQueryParam": { + "name": "ServiceKind", + "in": "query", + "required": true, + "x-ms-parameter-location": "method", + "description": "The kind of service replica (Stateless or Stateful) for which the health is being reported. Following are the possible values.", + "type": "string", + "enum": [ + "Stateless", + "Stateful" + ], + "default": "Stateful", + "x-ms-enum": { + "name": "ReplicaHealthReportServiceKind", + "modelAsString": true, + "values": [ + { + "value": "Stateless", + "description": "Does not use Service Fabric to make its state highly available or reliable. The value is 1" + }, + { + "value": "Stateful", + "description": "Uses Service Fabric to make its state or part of its state highly available and reliable. The value is 2." + } + ] + } + }, + "ReplicaIdRequiredPathParam": { + "name": "replicaId", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The identifier of the replica." + }, + "ReplicasHealthStateFilerOptionalQueryParam": { + "name": "ReplicasHealthStateFilter", + "description": "Allows filtering the collection of ReplicaHealthState objects on the partition. The value can be obtained from members or bitwise operations on members of HealthStateFilter. Only replicas that match the filter will be returned. All replicas will be used to evaluate the aggregated health state. If not specified, all entries will be returned.The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator. For example, If the provided value is 6 then all of the events with HealthState value of OK (2) and Warning (4) will be returned. The possible values for this parameter include integer value of one of the following health states.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "ServiceIdRequiredPathParam": { + "name": "serviceId", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The identity of the service. This ID is typically the full name of the service without the 'fabric:' URI scheme.\nStarting from version 6.0, hierarchical names are delimited with the \"~\" character.\nFor example, if the service name is \"fabric:/myapp/app1/svc1\", the service identity would be \"myapp~app1~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions." + }, + "ServiceManifestNameOptionalQueryParam": { + "name": "ServiceManifestName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The name of a service manifest registered as part of an application type in a Service Fabric cluster." + }, + "ServiceManifestNameRequiredQueryParam": { + "name": "ServiceManifestName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The name of a service manifest registered as part of an application type in a Service Fabric cluster." + }, + "ServiceNameOptionalQueryParam": { + "name": "ServiceName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The name of a service." + }, + "ServicePackageNameRequiredPathParam": { + "name": "servicePackageName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The name of the service package." + }, + "ServicesHealthStateFilterOptionalQueryParam": { + "name": "ServicesHealthStateFilter", + "description": "Allows filtering of the services health state objects returned in the result of services health query based on their health state.\nThe possible values for this parameter include integer value of one of the following health states.\nOnly services that match the filter are returned. All services are used to evaluate the aggregated health state.\nIf not specified, all entries are returned. The state values are flag-based enumeration, so the value could be a combination of these values,\nobtained using bitwise 'OR' operator. For example, if the provided value is 6 then health state of services with HealthState value of OK (2) and Warning (4) will be returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "CreateServiceFromTemplateRequiredBodyParam": { + "name": "ServiceFromTemplateDescription", + "in": "body", + "description": "Describes the service that needs to be created from the template defined in the application manifest.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ServiceFromTemplateDescription" + } + }, + "ServiceTypeNameOptionalQueryParam": { + "name": "ServiceTypeName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The service type name used to filter the services to query for." + }, + "InfrastructureCommandRequiredQueryParam": { + "name": "Command", + "description": "The text of the command to be invoked. The content of the command is infrastructure-specific.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true + }, + "InfrastructureServiceIdOptionalQueryParam": { + "name": "ServiceId", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "description": "The identity of the infrastructure service. This is the full name of the infrastructure service without the 'fabric:' URI scheme. This parameter required only for the cluster that has more than one instance of infrastructure service running.", + "required": false + }, + "ForceRemoveOptionalQueryParam": { + "name": "ForceRemove", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "description": "Remove a Service Fabric application or service forcefully without going through the graceful shutdown sequence. This parameter can be used to forcefully delete an application or service for which delete is timing out due to issues in the service code that prevents graceful close of replicas." + }, + "ForceRemoveReplicaOptionalQueryParam": { + "name": "ForceRemove", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "description": "Remove a Service Fabric application or service forcefully without going through the graceful shutdown sequence. This parameter can be used to forcefully delete an application or service for which delete is timing out due to issues in the service code that prevents graceful close of replicas." + }, + "DeactivationIntentDescriptionRequiredBodyParam": { + "name": "DeactivationIntentDescription", + "in": "body", + "description": "Describes the intent or reason for deactivating the node.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/DeactivationIntentDescription" + } + }, + "RestartNodeDescriptionRequiredBodyParam": { + "name": "RestartNodeDescription", + "in": "body", + "description": "The instance of the node to be restarted and a flag indicating the need to take dump of the fabric process.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/RestartNodeDescription" + } + }, + "ApplicationUpgradeDescriptionRequiredBodyParam": { + "name": "ApplicationUpgradeDescription", + "in": "body", + "description": "Parameters for an application upgrade.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ApplicationUpgradeDescription" + } + }, + "ComposeDeploymentUpgradeDescriptionRequiredBodyParam": { + "name": "ComposeDeploymentUpgradeDescription", + "in": "body", + "description": "Parameters for upgrading compose deployment.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ComposeDeploymentUpgradeDescription" + } + }, + "ApplicationTypeImageStorePathRequiredBodyParam": { + "name": "ApplicationTypeImageStorePath", + "in": "body", + "description": "The relative path for the application package in the image store specified during the prior copy operation.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ApplicationTypeImageStorePath" + } + }, + "UnprovisionApplicationTypeRequiredBodyParam": { + "name": "UnprovisionApplicationTypeDescriptionInfo", + "in": "body", + "description": "The relative path for the application package in the image store specified during the prior copy operation.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/UnprovisionApplicationTypeDescriptionInfo" + } + }, + "UpgradeOrchestrationServiceStateRequiredBodyParam": { + "name": "UpgradeOrchestrationServiceState", + "in": "body", + "x-ms-parameter-location": "method", + "required": true, + "description": "Service state of Service Fabric Upgrade Orchestration Service.", + "schema": { + "$ref": "#/definitions/UpgradeOrchestrationServiceState" + } + }, + "ChaosParametersRequiredBodyParam": { + "name": "ChaosParameters", + "in": "body", + "description": "Describes all the parameters to configure a Chaos run.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ChaosParameters" + } + }, + "StartTimeUtcOptionalQueryParam": { + "name": "StartTimeUtc", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The Windows file time representing the start time of the time range for which a Chaos report is to be generated. Consult [DateTime.ToFileTimeUtc Method](https://msdn.microsoft.com/library/system.datetime.tofiletimeutc(v=vs.110).aspx) for details." + }, + "EndTimeUtcOptionalQueryParam": { + "name": "EndTimeUtc", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The Windows file time representing the end time of the time range for which a Chaos report is to be generated. Consult [DateTime.ToFileTimeUtc Method](https://msdn.microsoft.com/library/system.datetime.tofiletimeutc(v=vs.110).aspx) for details." + }, + "ApplicationNameRequiredQueryParam": { + "name": "ApplicationName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The name of application to create from compose file. This is typically the full name of the application including 'fabric:' URI scheme." + }, + "CreateComposeDeploymentRequiredBodyParam": { + "name": "CreateComposeDeploymentDescription", + "in": "body", + "description": "Describes the compose deployment that needs to be created.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/CreateComposeDeploymentDescription" + } + }, + "PasswordEncryptedOptionalQueryParam": { + "name": "PasswordEncrypted", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "description": "Indicates that supplied container repository password is encrypted." + }, + "RepositoryPasswordOptionalQueryParam": { + "name": "RepositoryPassword", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The password for supplied username to connect to container repository." + }, + "RepositoryUserNameOptionalQueryParam": { + "name": "RepositoryUserName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The user name to connect to container repository." + }, + "MaxResultsOptionalQueryParam": { + "name": "MaxResults", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "format": "int64", + "minimum": 0, + "default": 0, + "required": false, + "description": "The maximum number of results to be returned as part of the paged queries. This parameter defines the upper bound on the number of results returned. The results returned can be less than the specified maximum results if they do not fit in the message as per the max message size restrictions defined in the configuration. If this parameter is zero or not specified, the paged query includes as many results as possible that fit in the return message." + }, + "MetricNameRequiredQueryParam": { + "name": "MetricName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "Name of the metric based on which to get ordered list of partitions." + }, + "ApplicationDescriptionRequiredBodyParam": { + "name": "ApplicationDescription", + "in": "body", + "description": "Description for creating an application.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ApplicationDescription" + } + }, + "ServiceDescriptionRequiredBodyParam": { + "name": "ServiceDescription", + "in": "body", + "description": "The information necessary to create a service.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ServiceDescription" + } + }, + "ServiceUpdateDescriptionRequiredBodyParam": { + "name": "ServiceUpdateDescription", + "in": "body", + "description": "The information necessary to update a service.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ServiceUpdateDescription" + } + }, + "ImageStoreCopyDescriptionRequiredBodyParam": { + "name": "ImageStoreCopyDescription", + "in": "body", + "description": "Describes the copy description for the image store.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ImageStoreCopyDescription" + } + }, + "CodePackageNameOptionalQueryParam": { + "name": "CodePackageName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The name of code package specified in service manifest registered as part of an application type in a Service Fabric cluster." + }, + "RestartDeployedCodePackageRequiredBodyParam": { + "name": "RestartDeployedCodePackageDescription", + "in": "body", + "description": "Describes the deployed code package on Service Fabric node to restart.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/RestartDeployedCodePackageDescription" + } + }, + "PartitionsHealthStateFilterOptionalQueryParam": { + "name": "PartitionsHealthStateFilter", + "description": "Allows filtering of the partitions health state objects returned in the result of service health query based on their health state.\nThe possible values for this parameter include integer value of one of the following health states.\nOnly partitions that match the filter are returned. All partitions are used to evaluate the aggregated health state.\nIf not specified, all entries are returned. The state values are flag-based enumeration, so the value could be a combination of these value\nobtained using bitwise 'OR' operator. For example, if the provided value is 6 then health state of partitions with HealthState value of OK (2) and Warning (4) will be returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "DeployedServiceType_ServiceManifestNameOptionalQueryParam": { + "name": "ServiceManifestName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The name of the service manifest to filter the list of deployed service type information. If specified, the response will only contain the information about service types that are defined in this service manifest." + }, + "ServiceTypeNameRequiredPathParam": { + "name": "serviceTypeName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "Specifies the name of a Service Fabric service type." + }, + "ImageStoreContentPathRequiredPathParam": { + "name": "contentPath", + "in": "path", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "Relative path to file or folder in the image store from its root." + }, + "PartitionKeyTypeOptionalQueryParam": { + "name": "PartitionKeyType", + "description": "Key type for the partition. This parameter is required if the partition scheme for the service is Int64Range or Named. The possible values are following.\n- None (1) - Indicates that the PartitionKeyValue parameter is not specified. This is valid for the partitions with partitioning scheme as Singleton. This is the default value. The value is 1.\n- Int64Range (2) - Indicates that the PartitionKeyValue parameter is an int64 partition key. This is valid for the partitions with partitioning scheme as Int64Range. The value is 2.\n- Named (3) - Indicates that the PartitionKeyValue parameter is a name of the partition. This is valid for the partitions with partitioning scheme as Named. The value is 3.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false + }, + "PartitionKeyValueOptionalQueryParam": { + "name": "PartitionKeyValue", + "in": "query", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": false, + "description": "Partition key. This is required if the partition scheme for the service is Int64Range or Named. \nThis is not the partition ID, but rather, either the integer key value, or the name of the partition ID.\nFor example, if your service is using ranged partitions from 0 to 10, then they PartitionKeyValue would be an\ninteger in that range. Query service description to see the range or name." + }, + "PreviousRspVersionOptionalQueryParam": { + "name": "PreviousRspVersion", + "in": "query", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": false, + "description": "The value in the Version field of the response that was received previously. This is required if the user knows that the result that was gotten previously is stale." + }, + "DataLossModeRequiredQueryParam": { + "name": "DataLossMode", + "description": "This enum is passed to the StartDataLoss API to indicate what type of data loss to induce.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "Invalid", + "PartialDataLoss", + "FullDataLoss" + ], + "required": true, + "x-ms-enum": { + "name": "DataLossMode", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Reserved. Do not pass into API." + }, + { + "value": "PartialDataLoss", + "description": "PartialDataLoss option will cause a quorum of replicas to go down, triggering an OnDataLoss event in the system for the given partition." + }, + { + "value": "FullDataLoss", + "description": "FullDataLoss option will drop all the replicas which means that all the data will be lost." + } + ] + } + }, + "FaultOperationIdRequiredQueryParam": { + "name": "OperationId", + "description": "A GUID that identifies a call of this API. This is passed into the corresponding GetProgress API", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "format": "uuid", + "required": true + }, + "ForceRequiredQueryParam": { + "name": "Force", + "description": "Indicates whether to gracefully roll back and clean up internal system state modified by executing the user-induced operation.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": true, + "default": false + }, + "NodeInstanceIdRequiredQueryParam": { + "name": "NodeInstanceId", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The node instance ID of the target node. This can be determined through GetNodeInfo API." + }, + "NodeTransitionTypeRequiredQueryParam": { + "name": "NodeTransitionType", + "description": "Indicates the type of transition to perform. NodeTransitionType.Start will start a stopped node. NodeTransitionType.Stop will stop a node that is up.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "Invalid", + "Start", + "Stop" + ], + "required": true, + "x-ms-enum": { + "name": "NodeTransitionType", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Reserved. Do not pass into API." + }, + { + "value": "Start", + "description": "Transition a stopped node to up." + }, + { + "value": "Stop", + "description": "Transition an up node to stopped." + } + ] + } + }, + "QuorumLossDurationRequiredQueryParam": { + "name": "QuorumLossDuration", + "description": "The amount of time for which the partition will be kept in quorum loss. This must be specified in seconds.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": true + }, + "QuorumLossModeRequiredQueryParam": { + "name": "QuorumLossMode", + "description": "This enum is passed to the StartQuorumLoss API to indicate what type of quorum loss to induce.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "Invalid", + "QuorumReplicas", + "AllReplicas" + ], + "required": true, + "x-ms-enum": { + "name": "QuorumLossMode", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Reserved. Do not pass into API." + }, + { + "value": "QuorumReplicas", + "description": "Partial Quorum loss mode : Minimum number of replicas for a partition will be down that will cause a quorum loss." + }, + { + "value": "AllReplicas" + } + ] + } + }, + "RestartPartitionModeRequiredQueryParam": { + "name": "RestartPartitionMode", + "description": "Describe which partitions to restart.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "Invalid", + "AllReplicasOrInstances", + "OnlyActiveSecondaries" + ], + "required": true, + "x-ms-enum": { + "name": "RestartPartitionMode", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Reserved. Do not pass into API." + }, + { + "value": "AllReplicasOrInstances", + "description": "All replicas or instances in the partition are restarted at once." + }, + { + "value": "OnlyActiveSecondaries", + "description": "Only the secondary replicas are restarted." + } + ] + } + }, + "StateFilterRequiredQueryParam": { + "name": "StateFilter", + "description": "Used to filter on OperationState's for user-induced operations.\n\n- 65535 - select All\n- 1 - select Running\n- 2 - select RollingBack\n- 8 - select Completed\n- 16 - select Faulted\n- 32 - select Cancelled\n- 64 - select ForceCancelled", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": true, + "default": 65535 + }, + "StopDurationInSecondsRequiredQueryParam": { + "name": "StopDurationInSeconds", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "format": "int32", + "minimum": 0, + "required": true, + "description": "The duration, in seconds, to keep the node stopped. The minimum value is 600, the maximum is 14400. After this time expires, the node will automatically come back up." + }, + "TypeFilterRequiredQueryParam": { + "name": "TypeFilter", + "description": "Used to filter on OperationType for user-induced operations.\n\n- 65535 - select all\n- 1 - select PartitionDataLoss.\n- 2 - select PartitionQuorumLoss.\n- 4 - select PartitionRestart.\n- 8 - select NodeTransition.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": true, + "default": 65535 + }, + "DeployServicePackageToNodeRequiredBodyParam": { + "name": "DeployServicePackageToNodeDescription", + "in": "body", + "description": "Describes information for deploying a service package to a Service Fabric node.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/DeployServicePackageToNodeDescription" + } + }, + "ResumeApplicationUpgradeDescriptionRequiredBodyParam": { + "name": "ResumeApplicationUpgradeDescription", + "in": "body", + "description": "Describes the parameters for resuming an application upgrade.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ResumeApplicationUpgradeDescription" + } + }, + "ApplicationUpgradeUpdateDescriptionRequiredBodyParam": { + "name": "ApplicationUpgradeUpdateDescription", + "in": "body", + "description": "Parameters for updating an existing application upgrade.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ApplicationUpgradeUpdateDescription" + } + }, + "ApplicationUpdateDescriptionRequiredBodyParam": { + "name": "ApplicationUpdateDescription", + "in": "body", + "description": "Parameters for updating an existing application instance.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ApplicationUpdateDescription" + } + }, + "TimeoutOptionalQueryParam": { + "name": "timeout", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "format": "int64", + "required": false, + "minimum": 1, + "maximum": 4294967295, + "default": 60, + "description": "The server timeout for performing the operation in seconds. This timeout specifies the time duration that the client is willing to wait for the requested operation to complete. The default value for this parameter is 60 seconds." + }, + "NameDescriptionRequiredBodyParam": { + "name": "NameDescription", + "in": "body", + "description": "Describes the Service Fabric name to be created.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/NameDescription" + } + }, + "NameIdRequiredPathParam": { + "name": "nameId", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The Service Fabric name, without the 'fabric:' URI scheme." + }, + "RecursiveOptionalQueryParam": { + "name": "Recursive", + "description": "Allows specifying that the search performed should be recursive.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "default": false + }, + "IncludeValuesOptionalQueryParam": { + "name": "IncludeValues", + "description": "Allows specifying whether to include the values of the properties returned. True if values should be returned with the metadata; False to return only property metadata.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "default": false + }, + "PropertyDescriptionRequiredBodyParam": { + "name": "PropertyDescription", + "in": "body", + "description": "Describes the Service Fabric property to be created.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/PropertyDescription" + } + }, + "PropertyNameRequiredQueryParam": { + "name": "PropertyName", + "description": "Specifies the name of the property to get.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true + }, + "PropertyBatchDescriptionListRequiredBodyParam": { + "name": "PropertyBatchDescriptionList", + "in": "body", + "description": "Describes the property batch operations to be submitted.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/PropertyBatchDescriptionList" + } + }, + "ImmediateOptionalQueryParam": { + "name": "Immediate", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "default": false, + "description": "A flag that indicates whether the report should be sent immediately.\nA health report is sent to a Service Fabric gateway Application, which forwards to the health store.\nIf Immediate is set to true, the report is sent immediately from HTTP Gateway to the health store, regardless of the fabric client settings that the HTTP Gateway Application is using.\nThis is useful for critical reports that should be sent as soon as possible.\nDepending on timing and other conditions, sending the report may still fail, for example if the HTTP Gateway is closed or the message doesn't reach the Gateway.\nIf Immediate is set to false, the report is sent based on the health client settings from the HTTP Gateway. Therefore, it will be batched according to the HealthReportSendInterval configuration.\nThis is the recommended setting because it allows the health client to optimize health reporting messages to health store as well as health report processing.\nBy default, reports are not sent immediately." + }, + "ExcludeHealthStatisticsOptionalQueryParam": { + "name": "ExcludeHealthStatistics", + "description": "Indicates whether the health statistics should be returned as part of the query result. False by default.\nThe statistics show the number of children entities in health state Ok, Warning, and Error.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "default": false + }, + "IncludeSystemApplicationHealthStatisticsOptionalQueryParam": { + "name": "IncludeSystemApplicationHealthStatistics", + "description": "Indicates whether the health statistics should include the fabric:/System application health statistics. False by default.\nIf IncludeSystemApplicationHealthStatistics is set to true, the health statistics include the entities that belong to the fabric:/System application.\nOtherwise, the query result includes health statistics only for user applications.\nThe health statistics must be included in the query result for this parameter to be applied.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "default": false + }, + "IncludeHealthStateOptionalQueryParam": { + "name": "IncludeHealthState", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "default": false, + "description": "Include the health state of an entity.\nIf this parameter is false or not specified, then the health state returned is \"Unknown\".\nWhen set to true, the query goes in parallel to the node and the health system service before the results are merged.\nAs a result, the query is more expensive and may take a longer time." + }, + "BackupPolicyDescriptionRequiredBodyParam": { + "name": "BackupPolicyDescription", + "in": "body", + "required": true, + "x-ms-parameter-location": "method", + "description": "Describes the backup policy.", + "schema": { + "$ref": "#/definitions/BackupPolicyDescription" + } + }, + "DisableBackupDescriptionOptionalBodyParam": { + "name": "DisableBackupDescription", + "in": "body", + "description": "Specifies the parameters to disable backup for any backup entity.", + "required": false, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/DisableBackupDescription" + } + }, + "BackupPolicyNameRequiredPathParam": { + "name": "backupPolicyName", + "in": "path", + "description": "The name of the backup policy.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "EnableBackupDescriptionRequiredBodyParam": { + "name": "EnableBackupDescription", + "in": "body", + "description": "Specifies the parameters for enabling backup.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/EnableBackupDescription" + } + }, + "RestorePartitionDescriptionRequiredBodyParam": { + "name": "RestorePartitionDescription", + "in": "body", + "description": "Describes the parameters to restore the partition.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/RestorePartitionDescription" + } + }, + "RestoreTimeoutOptionalQueryParam": { + "name": "RestoreTimeout", + "description": "Specifies the maximum amount of time to wait, in minutes, for the restore operation to complete. Post that, the operation returns back with timeout error. However, in certain corner cases it could be that the restore operation goes through even though it completes with timeout. In case of timeout error, its recommended to invoke this operation again with a greater timeout value. the default value for the same is 10 minutes.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 10 + }, + "BackupPartitionDescriptionOptionalBodyParam": { + "name": "BackupPartitionDescription", + "in": "body", + "required": false, + "x-ms-parameter-location": "method", + "description": "Describes the parameters to backup the partition now. If not present, backup operation uses default parameters from the backup policy current associated with this partition.", + "schema": { + "$ref": "#/definitions/BackupPartitionDescription" + } + }, + "BackupTimeoutOptionalQueryParam": { + "name": "BackupTimeout", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "description": "Specifies the maximum amount of time, in minutes, to wait for the backup operation to complete. Post that, the operation completes with timeout error. However, in certain corner cases it could be that though the operation returns back timeout, the backup actually goes through. In case of timeout error, its recommended to invoke this operation again with a greater timeout value. The default value for the same is 10 minutes.", + "default": 10 + }, + "LatestOptionalQueryParam": { + "name": "Latest", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "description": "Specifies whether to get only the most recent backup available for a partition for the specified time range.", + "required": false, + "default": false + }, + "ValidateConnectionOptionalQueryParam": { + "name": "ValidateConnection", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "description": "Specifies whether to validate the storage connection and credentials before creating or updating the backup policies.", + "required": false, + "default": false + }, + "StartDateTimeFilterOptionalQueryParam": { + "name": "StartDateTimeFilter", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "format": "date-time", + "required": false, + "description": "Specify the start date time from which to enumerate backups, in datetime format. The date time must be specified in ISO8601 format. This is an optional parameter. If not specified, all backups from the beginning are enumerated." + }, + "EndDateTimeFilterOptionalQueryParam": { + "name": "EndDateTimeFilter", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "format": "date-time", + "required": false, + "description": "Specify the end date time till which to enumerate backups, in datetime format. The date time must be specified in ISO8601 format. This is an optional parameter. If not specified, enumeration is done till the most recent backup." + }, + "GetBackupByStorageQueryDescriptionRequiredBodyParam": { + "name": "GetBackupByStorageQueryDescription", + "in": "body", + "required": true, + "x-ms-parameter-location": "method", + "description": "Describes the filters and backup storage details to be used for enumerating backups.", + "schema": { + "$ref": "#/definitions/GetBackupByStorageQueryDescription" + } + }, + "RepairTaskApproveDescriptionRequiredBodyParam": { + "name": "RepairTaskApproveDescription", + "in": "body", + "description": "Describes the repair task to be approved.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/RepairTaskApproveDescription" + } + }, + "RepairTaskCancelDescriptionRequiredBodyParam": { + "name": "RepairTaskCancelDescription", + "in": "body", + "description": "Describes the repair task to be cancelled.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/RepairTaskCancelDescription" + } + }, + "RepairTaskDeleteDescriptionRequiredBodyParam": { + "name": "RepairTaskDeleteDescription", + "in": "body", + "description": "Describes the repair task to be deleted.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/RepairTaskDeleteDescription" + } + }, + "RepairTaskExecutorFilterOptionalQueryParam": { + "name": "ExecutorFilter", + "description": "The name of the repair executor whose claimed tasks should be included in the list.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false + }, + "RepairTaskIdFilterOptionalQueryParam": { + "name": "TaskIdFilter", + "description": "The repair task ID prefix to be matched.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false + }, + "RepairTaskRequiredBodyParam": { + "name": "RepairTask", + "in": "body", + "description": "Describes the repair task to be created or updated.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/RepairTask" + } + }, + "RepairTaskStateFilterOptionalQueryParam": { + "name": "StateFilter", + "description": "A bitwise-OR of the following values, specifying which task states should be included in the result list.\n\n- 1 - Created\n- 2 - Claimed\n- 4 - Preparing\n- 8 - Approved\n- 16 - Executing\n- 32 - Restoring\n- 64 - Completed", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false + }, + "RepairTaskUpdateHealthPolicyDescriptionRequiredBodyParam": { + "name": "RepairTaskUpdateHealthPolicyDescription", + "in": "body", + "description": "Describes the repair task healthy policy to be updated.", + "x-ms-parameter-location": "method", + "required": true, + "schema": { + "$ref": "#/definitions/RepairTaskUpdateHealthPolicyDescription" + } + }, + "UploadSessionIdRequiredQueryParam": { + "name": "session-id", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "format": "uuid", + "required": true, + "description": "A GUID generated by the user for a file uploading. It identifies an image store upload session which keeps track of all file chunks until it is committed." + }, + "UploadFileChunkContentRangeHeaderParam": { + "name": "Content-Range", + "in": "header", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "When uploading file chunks to the image store, the Content-Range header field need to be configured and sent with a request. The format should looks like \"bytes {First-Byte-Position}-{Last-Byte-Position}/{File-Length}\". For example, Content-Range:bytes 300-5000/20000 indicates that user is sending bytes 300 through 5,000 and the total file length is 20,000 bytes." + }, + "ChaosScheduleRequiredBodyParam": { + "name": "ChaosSchedule", + "in": "body", + "description": "Describes the schedule used by Chaos.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ChaosScheduleDescription" + } + }, + "StartTimeUtcRequiredQueryParam": { + "name": "StartTimeUtc", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The start time of a lookup query in ISO UTC yyyy-MM-ddTHH:mm:ssZ." + }, + "EndTimeUtcRequiredQueryParam": { + "name": "EndTimeUtc", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The end time of a lookup query in ISO UTC yyyy-MM-ddTHH:mm:ssZ." + }, + "EventsTypesFilterOptionalQueryParam": { + "name": "EventsTypesFilter", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "This is a comma separated string specifying the types of FabricEvents that should only be included in the response." + }, + "ExcludeAnalysisEventsOptionalQueryParam": { + "name": "ExcludeAnalysisEvents", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "description": "This param disables the retrieval of AnalysisEvents if true is passed." + }, + "SkipCorrelationLookupOptionalQueryParam": { + "name": "SkipCorrelationLookup", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "description": "This param disables the search of CorrelatedEvents information if true is passed. otherwise the CorrelationEvents get processed and HasCorrelatedEvents field in every FabricEvent gets populated." + }, + "EventInstanceIdRequiredPathParam": { + "name": "eventInstanceId", + "in": "path", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The EventInstanceId." + }, + "PreviousOptionalQueryParam": { + "name": "Previous", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "description": "Specifies whether to get container logs from exited/dead containers of the code package instance.", + "required": false, + "default": false + }, + "IgnoreConstraintsOptionalParam": { + "name": "IgnoreConstraints", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "default": false, + "description": "Ignore constraints when moving a replica or instance. If this parameter is not specified, all constraints are honored." + }, + "NodeNameOptionalParam": { + "name": "NodeName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The name of the node." + }, + "VerboseServicePlacementHealthReportingParam": { + "name": "Enabled", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": true, + "description": "The verbosity of service placement health reporting." + }, + "NewNodeNameOptionalParam": { + "name": "NewNodeName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The name of the target node for secondary replica or instance move. If not specified, replica or instance is moved to a random node." + }, + "CurrentNodeNameRequiredParam": { + "name": "CurrentNodeName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The name of the source node for secondary replica move." + }, + "CurrentNodeNameOptionalParam": { + "name": "CurrentNodeName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The name of the source node for instance move. If not specified, instance is moved from a random node." + }, + "OnlyQueryPrimariesOptionalQueryParam": { + "name": "OnlyQueryPrimaries", + "description": "Indicates that unplaced replica information will be queries only for primary replicas.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "default": false + }, + "OrderingOptionalQueryParam": { + "name": "Ordering", + "description": "Ordering of partitions' load.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "default": "Desc", + "enum": [ + "Desc", + "Asc" + ], + "x-ms-enum": { + "name": "Ordering", + "modelAsString": true, + "values": [ + { + "value": "Desc", + "description": "Sort load descending." + }, + { + "value": "Asc", + "description": "Sort load ascending." + } + ] + } + }, + "ForceConfigurationOverrideOptionalParam": { + "name": "Force", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "description": "Force adding configuration overrides on specified nodes." + }, + "ConfigurationOverrideListRequiredParam": { + "name": "ConfigParameterOverrideList", + "in": "body", + "description": "Description for adding list of configuration overrides.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ConfigParameterOverrideList" + } + }, + "PartitionMetricLoadDescriptionListRequiredParam": { + "name": "PartitionMetricLoadDescriptionList", + "in": "body", + "description": "Description of updating load for list of partitions.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/PartitionMetricLoadDescriptionList" + } + }, + "NodeTagsListRequiredParam": { + "name": "NodeTags", + "in": "body", + "description": "Description for adding list of node tags.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/NodeTagsList" + } + }, + "SecretResourceDescriptionRequiredBodyParam": { + "name": "secretResourceDescription", + "in": "body", + "description": "Description for creating a secret resource.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/SecretResourceDescription" + } + }, + "SecretResourceNameRequiredPathParam": { + "name": "secretResourceName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The name of the secret resource." + }, + "SecretValueResourceDescriptionRequiredBodyParam": { + "name": "secretValueResourceDescription", + "in": "body", + "description": "Description for creating a value of a secret resource.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/SecretValueResourceDescription" + } + }, + "SecretValueResourceNameRequiredPathParam": { + "name": "secretValueResourceName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The name of the secret resource value which is typically the version identifier for the value." + }, + "VolumeResourceDescriptionRequiredBodyParam": { + "name": "volumeResourceDescription", + "in": "body", + "description": "Description for creating a Volume resource.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/VolumeResourceDescription" + } + }, + "VolumeResourceNameRequiredPathParam": { + "name": "volumeResourceName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The identity of the volume." + }, + "NetworkResourceDescriptionRequiredBodyParam": { + "name": "networkResourceDescription", + "in": "body", + "description": "Description for creating a Network resource.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/NetworkResourceDescription" + } + }, + "NetworkResourceNameRequiredPathParam": { + "name": "networkResourceName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The identity of the network." + }, + "ApplicationResourceDescriptionRequiredBodyParam": { + "name": "applicationResourceDescription", + "in": "body", + "description": "Description for creating a Application resource.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ApplicationResourceDescription" + } + }, + "ApplicationResourceNameRequiredPathParam": { + "name": "applicationResourceName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The identity of the application." + }, + "ServiceResourceNameRequiredPathParam": { + "name": "serviceResourceName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The identity of the service." + }, + "ReplicaNameRequiredPathParam": { + "name": "replicaName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "Service Fabric replica name." + }, + "GatewayResourceDescriptionRequiredBodyParam": { + "name": "gatewayResourceDescription", + "in": "body", + "description": "Description for creating a Gateway resource.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/GatewayResourceDescription" + } + }, + "GatewayResourceNameRequiredPathParam": { + "name": "gatewayResourceName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The identity of the gateway." + } + } +} diff --git a/specification/servicefabric/data-plane/readme.go.md b/specification/servicefabric/data-plane/readme.go.md index 3e5966edb6d6..d68a5ab0346e 100644 --- a/specification/servicefabric/data-plane/readme.go.md +++ b/specification/servicefabric/data-plane/readme.go.md @@ -76,4 +76,12 @@ These settings apply only when `--tag=8.0 --go` is specified on the command line ``` yaml $(tag) == '8.0' && $(go) output-folder: $(go-sdk-folder)/services/$(namespace)/8.0/$(namespace) +``` + +### Tag: 8.2 and go + +These settings apply only when `--tag=8.2 --go` is specified on the command line. + +``` yaml $(tag) == '8.2' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/8.2/$(namespace) ``` \ No newline at end of file diff --git a/specification/servicefabric/data-plane/readme.md b/specification/servicefabric/data-plane/readme.md index bf248f62f0d4..9f169d335854 100644 --- a/specification/servicefabric/data-plane/readme.md +++ b/specification/servicefabric/data-plane/readme.md @@ -151,6 +151,14 @@ These settings apply only when `--tag=8.1` is specified on the command line. input-file: - Microsoft.ServiceFabric/stable/8.1/servicefabric.json ``` + +### Tag: 8.2 +These settings apply only when `--tag=8.2` is specified on the command line. + +``` yaml $(tag) == '8.2' +input-file: +- Microsoft.ServiceFabric/stable/8.2/servicefabric.json +``` --- # Code Generation @@ -208,6 +216,7 @@ input-file: - $(this-folder)/Microsoft.ServiceFabric/stable/7.2/servicefabric.json - $(this-folder)/Microsoft.ServiceFabric/stable/8.0/servicefabric.json - $(this-folder)/Microsoft.ServiceFabric/stable/8.1/servicefabric.json + - $(this-folder)/Microsoft.ServiceFabric/stable/8.2/servicefabric.json ``` If there are files that should not be in the `all-api-versions` set, diff --git a/specification/servicefabric/data-plane/readme.python.md b/specification/servicefabric/data-plane/readme.python.md index 9bff261940c0..f91f4c9baa2e 100644 --- a/specification/servicefabric/data-plane/readme.python.md +++ b/specification/servicefabric/data-plane/readme.python.md @@ -9,7 +9,7 @@ license-header: MICROSOFT_MIT_NO_VERSION payload-flattening-threshold: 2 namespace: azure.servicefabric package-name: azure-servicefabric -package-version: 8.1.0.0 +package-version: 8.2.0.0 add-credentials: true clear-output-folder: true use: "@microsoft.azure/autorest.python@~4.0.71" diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/cluster.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/cluster.json index 7f1b23b655c0..d94c5efae642 100644 --- a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/cluster.json +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/cluster.json @@ -574,6 +574,11 @@ }, "x-ms-pageable": { "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListOperations": { + "$ref": "./examples/ListOperations.json" + } } } } diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/examples/ListOperations.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/examples/ListOperations.json new file mode 100644 index 000000000000..5336e833082d --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/examples/ListOperations.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "aaaaaaaaaaaaaaaaaaaaaaaaa", + "isDataAction": true, + "display": { + "provider": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "resource": "aaaaaaaaaaaaaaaaaa", + "operation": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "description": "aaaaaaaaaaaaaaa" + }, + "origin": "aaaaaaaaaaaaaa", + "nextLink": "aaaaaaaaaaaaaaaaaaaaa" + } + ], + "nextLink": "aaaaaa" + } + } + } +} diff --git a/specification/servicefabric/resource-manager/readme.go.md b/specification/servicefabric/resource-manager/readme.go.md index 1b34f0c31da8..04bf1acecc51 100644 --- a/specification/servicefabric/resource-manager/readme.go.md +++ b/specification/servicefabric/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: servicefabric clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/servicefabric/armservicefabric +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/servicefabric/resource-manager/readme.md b/specification/servicefabric/resource-manager/readme.md index da7bd4ca2f9e..c1a1c2962a7c 100644 --- a/specification/servicefabric/resource-manager/readme.md +++ b/specification/servicefabric/resource-manager/readme.md @@ -191,6 +191,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby after_scripts: diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationDeleteOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationDeleteOperation_example.json new file mode 100644 index 000000000000..05045c69bc43 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationDeleteOperation_example.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "api-version": "2021-11-01-preview" + }, + "responses": { + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/76053752-a423-4a80-b283-1dad1ba5f314?api-version=2021-11-01-preview" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationGetOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationGetOperation_example.json new file mode 100644 index 000000000000..a1f0ff9c6830 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationGetOperation_example.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp", + "name": "myApp", + "tags": {}, + "properties": { + "provisioningState": "Updating", + "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "parameters": { + "param1": "value1" + }, + "upgradePolicy": { + "applicationHealthPolicy": { + "considerWarningAsError": true, + "maxPercentUnhealthyDeployedApplications": 0, + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0, + "maxPercentUnhealthyPartitionsPerService": 0, + "maxPercentUnhealthyReplicasPerPartition": 0 + }, + "serviceTypeHealthPolicyMap": { + "service1": { + "maxPercentUnhealthyReplicasPerPartition": 30, + "maxPercentUnhealthyPartitionsPerService": 30, + "maxPercentUnhealthyServices": 30 + } + } + }, + "rollingUpgradeMonitoringPolicy": { + "failureAction": "Rollback", + "healthCheckRetryTimeout": "00:10:00", + "healthCheckWaitDuration": "00:02:00", + "healthCheckStableDuration": "00:05:00", + "upgradeDomainTimeout": "00:15:00", + "upgradeTimeout": "01:00:00" + }, + "upgradeReplicaSetCheckTimeout": 3600, + "forceRestart": false, + "instanceCloseDelayDuration": 600, + "upgradeMode": "UnmonitoredAuto", + "recreateApplication": false + } + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationListOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationListOperation_example.json new file mode 100644 index 000000000000..bd6e8e34b8f1 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationListOperation_example.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.ServiceFabric/managedClusters/applications", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp", + "name": "myApp", + "properties": { + "provisioningState": "Updating", + "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationPatchOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationPatchOperation_example.json new file mode 100644 index 000000000000..2edc2508297e --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationPatchOperation_example.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "api-version": "2021-11-01-preview", + "parameters": { + "tags": { + "a": "b" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp", + "name": "myApp", + "tags": { + "a": "b" + }, + "properties": { + "provisioningState": "Succeeded", + "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "parameters": { + "param1": "value1" + }, + "upgradePolicy": { + "applicationHealthPolicy": { + "considerWarningAsError": true, + "maxPercentUnhealthyDeployedApplications": 0, + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0, + "maxPercentUnhealthyPartitionsPerService": 0, + "maxPercentUnhealthyReplicasPerPartition": 0 + }, + "serviceTypeHealthPolicyMap": { + "service1": { + "maxPercentUnhealthyReplicasPerPartition": 30, + "maxPercentUnhealthyPartitionsPerService": 30, + "maxPercentUnhealthyServices": 30 + } + } + }, + "rollingUpgradeMonitoringPolicy": { + "failureAction": "Rollback", + "healthCheckRetryTimeout": "00:10:00", + "healthCheckWaitDuration": "00:02:00", + "healthCheckStableDuration": "00:05:00", + "upgradeDomainTimeout": "00:15:00", + "upgradeTimeout": "01:00:00" + }, + "upgradeReplicaSetCheckTimeout": 3600, + "forceRestart": false, + "instanceCloseDelayDuration": 600, + "upgradeMode": "UnmonitoredAuto", + "recreateApplication": false + } + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationPutOperation_example_max.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationPutOperation_example_max.json new file mode 100644 index 000000000000..3e2a3953ef88 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationPutOperation_example_max.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "api-version": "2021-11-01-preview", + "parameters": { + "location": "eastus", + "tags": { + "a": "b" + }, + "properties": { + "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "parameters": { + "param1": "value1" + }, + "upgradePolicy": { + "applicationHealthPolicy": { + "considerWarningAsError": true, + "maxPercentUnhealthyDeployedApplications": 0, + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0, + "maxPercentUnhealthyPartitionsPerService": 0, + "maxPercentUnhealthyReplicasPerPartition": 0 + }, + "serviceTypeHealthPolicyMap": { + "myService": { + "maxPercentUnhealthyReplicasPerPartition": 30, + "maxPercentUnhealthyPartitionsPerService": 30, + "maxPercentUnhealthyServices": 30 + } + } + }, + "rollingUpgradeMonitoringPolicy": { + "failureAction": "Rollback", + "healthCheckRetryTimeout": "00:10:00", + "healthCheckWaitDuration": "00:02:00", + "healthCheckStableDuration": "00:05:00", + "upgradeDomainTimeout": "00:15:00", + "upgradeTimeout": "01:00:00" + }, + "upgradeReplicaSetCheckTimeout": 3600, + "forceRestart": false, + "instanceCloseDelayDuration": 600, + "upgradeMode": "UnmonitoredAuto", + "recreateApplication": false + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp", + "name": "myApp", + "tags": { + "a": "b" + }, + "properties": { + "provisioningState": "Creating", + "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "parameters": { + "param1": "value1" + }, + "upgradePolicy": { + "applicationHealthPolicy": { + "considerWarningAsError": true, + "maxPercentUnhealthyDeployedApplications": 0, + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0, + "maxPercentUnhealthyPartitionsPerService": 0, + "maxPercentUnhealthyReplicasPerPartition": 0 + }, + "serviceTypeHealthPolicyMap": { + "service1": { + "maxPercentUnhealthyReplicasPerPartition": 30, + "maxPercentUnhealthyPartitionsPerService": 30, + "maxPercentUnhealthyServices": 30 + } + } + }, + "rollingUpgradeMonitoringPolicy": { + "failureAction": "Rollback", + "healthCheckRetryTimeout": "00:10:00", + "healthCheckWaitDuration": "00:02:00", + "healthCheckStableDuration": "00:05:00", + "upgradeDomainTimeout": "00:15:00", + "upgradeTimeout": "01:00:00" + }, + "upgradeReplicaSetCheckTimeout": 3600, + "forceRestart": false, + "instanceCloseDelayDuration": 600, + "upgradeMode": "UnmonitoredAuto", + "recreateApplication": false + } + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/9c2ce367-47ea-43de-b69e-c5a423da4557?api-version=2021-11-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp", + "name": "myApp", + "tags": { + "a": "b" + }, + "properties": { + "provisioningState": "Updating", + "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "parameters": { + "param1": "value1" + }, + "upgradePolicy": { + "applicationHealthPolicy": { + "considerWarningAsError": true, + "maxPercentUnhealthyDeployedApplications": 0, + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0, + "maxPercentUnhealthyPartitionsPerService": 0, + "maxPercentUnhealthyReplicasPerPartition": 0 + }, + "serviceTypeHealthPolicyMap": { + "service1": { + "maxPercentUnhealthyReplicasPerPartition": 30, + "maxPercentUnhealthyPartitionsPerService": 30, + "maxPercentUnhealthyServices": 30 + } + } + }, + "rollingUpgradeMonitoringPolicy": { + "failureAction": "Rollback", + "healthCheckRetryTimeout": "00:10:00", + "healthCheckWaitDuration": "00:02:00", + "healthCheckStableDuration": "00:05:00", + "upgradeDomainTimeout": "00:15:00", + "upgradeTimeout": "01:00:00" + }, + "upgradeReplicaSetCheckTimeout": 3600, + "forceRestart": false, + "instanceCloseDelayDuration": 600, + "upgradeMode": "UnmonitoredAuto", + "recreateApplication": false + } + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationPutOperation_example_min.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationPutOperation_example_min.json new file mode 100644 index 000000000000..40d5baa9d093 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationPutOperation_example_min.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "api-version": "2021-11-01-preview", + "parameters": { + "location": "eastus", + "properties": { + "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp", + "name": "myApp", + "properties": { + "provisioningState": "Updating", + "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "parameters": { + "param1": "value1" + }, + "upgradePolicy": { + "applicationHealthPolicy": { + "considerWarningAsError": true, + "maxPercentUnhealthyDeployedApplications": 0, + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0, + "maxPercentUnhealthyPartitionsPerService": 0, + "maxPercentUnhealthyReplicasPerPartition": 0 + }, + "serviceTypeHealthPolicyMap": { + "service1": { + "maxPercentUnhealthyReplicasPerPartition": 30, + "maxPercentUnhealthyPartitionsPerService": 30, + "maxPercentUnhealthyServices": 30 + } + } + }, + "rollingUpgradeMonitoringPolicy": { + "failureAction": "Rollback", + "healthCheckRetryTimeout": "00:10:00", + "healthCheckWaitDuration": "00:02:00", + "healthCheckStableDuration": "00:05:00", + "upgradeDomainTimeout": "00:15:00", + "upgradeTimeout": "01:00:00" + }, + "upgradeReplicaSetCheckTimeout": 3600, + "forceRestart": false, + "instanceCloseDelayDuration": 600, + "upgradeMode": "UnmonitoredAuto", + "recreateApplication": false + } + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/5dce62ce-439b-47af-81d8-99ab14708e91?api-version=2021-11-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp", + "name": "myCluster", + "properties": { + "provisioningState": "Updating", + "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeNameDeleteOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeNameDeleteOperation_example.json new file mode 100644 index 000000000000..38c6410482f0 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeNameDeleteOperation_example.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationTypeName": "myAppType", + "api-version": "2021-11-01-preview" + }, + "responses": { + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/6a367b2d-9f60-4941-b886-e348ddcb4127?api-version=2021-11-01-preview" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeNameGetOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeNameGetOperation_example.json new file mode 100644 index 000000000000..49e5f38650e4 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeNameGetOperation_example.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationTypeName": "myAppType", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applicationTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType", + "name": "myAppType", + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeNameListOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeNameListOperation_example.json new file mode 100644 index 000000000000..a3244fa4c9cd --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeNameListOperation_example.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.ServiceFabric/managedClusters/applicationTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType", + "name": "myAppType", + "properties": { + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeNamePatchOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeNamePatchOperation_example.json new file mode 100644 index 000000000000..70a702e5cabb --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeNamePatchOperation_example.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationTypeName": "myAppType", + "api-version": "2021-11-01-preview", + "parameters": { + "tags": { + "a": "b" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applicationTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType", + "name": "myAppType", + "tags": { + "a": "b" + }, + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeNamePutOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeNamePutOperation_example.json new file mode 100644 index 000000000000..6695231fa894 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeNamePutOperation_example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationTypeName": "myAppType", + "api-version": "2021-11-01-preview", + "parameters": { + "location": "eastus" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applicationTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType", + "name": "myAppType", + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeVersionDeleteOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeVersionDeleteOperation_example.json new file mode 100644 index 000000000000..b999fa86ba45 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeVersionDeleteOperation_example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationTypeName": "myAppType", + "version": "1.0", + "api-version": "2021-11-01-preview" + }, + "responses": { + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/28e62369-ed8c-4aba-8c05-ab7d6238cc3d?api-version=2021-11-01-preview" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeVersionGetOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeVersionGetOperation_example.json new file mode 100644 index 000000000000..357c90e6d725 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeVersionGetOperation_example.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationTypeName": "myAppType", + "version": "1.0", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applicationTypes/versions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "name": "1.0", + "properties": { + "provisioningState": "Updating", + "appPackageUrl": "http://fakelink.test.com/MyAppType" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeVersionListOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeVersionListOperation_example.json new file mode 100644 index 000000000000..6b78beb6388f --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeVersionListOperation_example.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationTypeName": "myAppType", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.ServiceFabric/managedClusters/applicationTypes/versions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "name": "1.0", + "properties": { + "provisioningState": "Updating", + "appPackageUrl": "http://fakelink.test.com/MyAppType" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeVersionPatchOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeVersionPatchOperation_example.json new file mode 100644 index 000000000000..32854dbb91e6 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeVersionPatchOperation_example.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationTypeName": "myAppType", + "version": "1.0", + "api-version": "2021-11-01-preview", + "parameters": { + "tags": { + "a": "b" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applicationTypes/versions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "name": "1.0", + "tags": { + "a": "b" + }, + "properties": { + "provisioningState": "Succeeded", + "appPackageUrl": "http://fakelink.test.com/MyAppType" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeVersionPutOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeVersionPutOperation_example.json new file mode 100644 index 000000000000..e1136dc92b46 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ApplicationTypeVersionPutOperation_example.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationTypeName": "myAppType", + "version": "1.0", + "api-version": "2021-11-01-preview", + "parameters": { + "location": "eastus", + "properties": { + "appPackageUrl": "http://fakelink.test.com/MyAppType" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applicationTypes/versions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "name": "1.0", + "properties": { + "provisioningState": "Creating", + "appPackageUrl": "http://fakelink.test.com/MyAppType" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/e2413c7e-d51b-40ac-8155-bc85bf8ae856?api-version=2021-11-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applicationTypes/versions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "name": "1.0", + "properties": { + "provisioningState": "Updating", + "appPackageUrl": "http://fakelink.test.com/MyAppType" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/DeleteNodes_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/DeleteNodes_example.json new file mode 100644 index 000000000000..1ee903cde3de --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/DeleteNodes_example.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2021-11-01-preview", + "parameters": { + "nodes": [ + "BE_0", + "BE_3" + ] + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview" + } + }, + "200": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterDeleteOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterDeleteOperation_example.json new file mode 100644 index 000000000000..0029e965937a --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterDeleteOperation_example.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2021-11-01-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterGetOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterGetOperation_example.json new file mode 100644 index 000000000000..d2f9a8d6e1d1 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterGetOperation_example.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterUpgradeMode": "Automatic", + "clusterUpgradeCadence": "Wave0", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [ + { + "frontendPort": 80, + "backendPort": 80, + "probePort": 80, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 443, + "backendPort": 443, + "probePort": 443, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 10000, + "backendPort": 10000, + "probePort": 10000, + "protocol": "tcp", + "probeProtocol": "tcp" + } + ], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterListByResourceGroupOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterListByResourceGroupOperation_example.json new file mode 100644 index 000000000000..b91f0dc556e0 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterListByResourceGroupOperation_example.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterUpgradeMode": "Automatic", + "clusterUpgradeCadence": "Wave0", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ] + } + }, + { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster2", + "name": "myCluster2", + "tags": {}, + "etag": "W/\"636462502164040075\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "2747e469-b24e-4039-8a0a-46151419523f", + "clusterCodeVersion": "7.1.168.9494", + "clusterUpgradeMode": "Automatic", + "clusterUpgradeCadence": "Wave0", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster2", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ] + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterListBySubscriptionOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterListBySubscriptionOperation_example.json new file mode 100644 index 000000000000..8bda9d3b655c --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterListBySubscriptionOperation_example.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterUpgradeMode": "Automatic", + "clusterUpgradeCadence": "Wave0", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ] + } + }, + { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster2", + "name": "myCluster2", + "tags": {}, + "etag": "W/\"636462502164040075\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "2747e469-b24e-4039-8a0a-46151419523f", + "clusterCodeVersion": "7.1.168.9494", + "clusterUpgradeMode": "Automatic", + "clusterUpgradeCadence": "Wave0", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster2", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ] + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterPatchOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterPatchOperation_example.json new file mode 100644 index 000000000000..2ece99ffd15e --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterPatchOperation_example.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2021-11-01-preview", + "parameters": { + "tags": { + "a": "b" + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": { + "a": "b" + }, + "etag": "W/\"636462502169240745\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterUpgradeMode": "Automatic", + "clusterUpgradeCadence": "Wave0", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19001, + "httpGatewayConnectionPort": 19081, + "loadBalancingRules": [ + { + "frontendPort": 80, + "backendPort": 80, + "probePort": 80, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 443, + "backendPort": 443, + "probePort": 443, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 10000, + "backendPort": 10000, + "probePort": 10000, + "protocol": "tcp", + "probeProtocol": "http" + } + ], + "allowRdpAccess": true, + "networkSecurityRules": [ + { + "name": "TestName", + "protocol": "tcp", + "access": "allow", + "priority": 1010, + "direction": "inbound", + "sourcePortRanges": [ + "*" + ], + "destinationPortRanges": [ + "*" + ], + "sourceAddressPrefixes": [ + "*" + ], + "destinationAddressPrefixes": [ + "*" + ], + "description": "Test description" + } + ], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "false" + } + ] + } + ], + "addonFeatures": [ + "DnsService", + "BackupRestoreService", + "ResourceMonitorService" + ], + "enableAutoOSUpgrade": true + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterPutOperation_example_max.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterPutOperation_example_max.json new file mode 100644 index 000000000000..6634f5b826c2 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterPutOperation_example_max.json @@ -0,0 +1,384 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2021-11-01-preview", + "parameters": { + "location": "eastus", + "tags": {}, + "sku": { + "name": "Basic" + }, + "properties": { + "clusterUpgradeMode": "Manual", + "clusterCodeVersion": "7.1.168.9494", + "dnsName": "myCluster", + "adminUserName": "vmadmin", + "adminPassword": "{vm-password}", + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [ + { + "frontendPort": 80, + "backendPort": 80, + "probePort": 80, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 443, + "backendPort": 443, + "probePort": 443, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 10000, + "backendPort": 10000, + "probePort": 10000, + "protocol": "tcp", + "probeProtocol": "http" + } + ], + "allowRdpAccess": true, + "networkSecurityRules": [ + { + "name": "TestName", + "protocol": "tcp", + "access": "allow", + "priority": 1010, + "direction": "inbound", + "sourcePortRanges": [ + "*" + ], + "destinationPortRanges": [ + "*" + ], + "sourceAddressPrefixes": [ + "*" + ], + "destinationAddressPrefixes": [ + "*" + ], + "description": "Test description" + }, + { + "name": "AllowARM", + "protocol": "*", + "sourcePortRange": "*", + "sourceAddressPrefix": "AzureResourceManager", + "destinationAddressPrefix": "*", + "destinationPortRange": "33500-33699", + "access": "allow", + "priority": 2002, + "direction": "inbound" + } + ], + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ], + "addonFeatures": [ + "DnsService", + "BackupRestoreService", + "ResourceMonitorService" + ], + "enableAutoOSUpgrade": true, + "applicationTypeVersionsCleanupPolicy": { + "maxUnusedVersionsToKeep": 3 + }, + "zonalResiliency": true, + "enableIpv6": true, + "ipTags": [ + { + "ipTagType": "FirstPartyUsage", + "tag": "SQL" + } + ] + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Updating", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterUpgradeMode": "Manual", + "clusterCodeVersion": "7.1.168.9494", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [ + { + "frontendPort": 80, + "backendPort": 80, + "probePort": 80, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 443, + "backendPort": 443, + "probePort": 443, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 10000, + "backendPort": 10000, + "probePort": 10000, + "protocol": "tcp", + "probeProtocol": "tcp" + } + ], + "allowRdpAccess": true, + "networkSecurityRules": [ + { + "name": "TestName", + "protocol": "tcp", + "access": "allow", + "priority": 1010, + "direction": "inbound", + "sourcePortRanges": [ + "*" + ], + "destinationPortRanges": [ + "*" + ], + "sourceAddressPrefixes": [ + "*" + ], + "destinationAddressPrefixes": [ + "*" + ], + "description": "Test description" + }, + { + "name": "AllowARM", + "protocol": "*", + "sourcePortRange": "*", + "sourceAddressPrefix": "AzureResourceManager", + "destinationAddressPrefix": "*", + "destinationPortRange": "33500-33699", + "access": "allow", + "priority": 2002, + "direction": "inbound" + } + ], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ], + "addonFeatures": [ + "DnsService", + "BackupRestoreService", + "ResourceMonitorService" + ], + "enableAutoOSUpgrade": true, + "applicationTypeVersionsCleanupPolicy": { + "maxUnusedVersionsToKeep": 3 + }, + "zonalResiliency": true, + "enableIpv6": true, + "enableServicePublicIP": true, + "ipTags": [ + { + "ipTagType": "FirstPartyUsage", + "tag": "SQL" + } + ], + "auxiliarySubnets": [ + { + "name": "testSubnet1", + "enableIpv6": true, + "privateEndpointNetworkPolicies": "enabled", + "privateLinkServiceNetworkPolicies": "enabled", + "networkSecurityGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/networkSecurityGroups/sn1" + } + ], + "serviceEndpoints": [ + { + "service": "Microsoft.Storage", + "locations": [ + "eastus2", + "usnorth" + ] + } + ] + } + } + }, + "200": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Creating", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterUpgradeMode": "Manual", + "clusterCodeVersion": "7.1.168.9494", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [ + { + "frontendPort": 80, + "backendPort": 80, + "probePort": 80, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 443, + "backendPort": 443, + "probePort": 443, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 10000, + "backendPort": 10000, + "probePort": 10000, + "protocol": "tcp", + "probeProtocol": "tcp" + } + ], + "allowRdpAccess": true, + "networkSecurityRules": [ + { + "name": "TestName", + "protocol": "tcp", + "access": "allow", + "priority": 1010, + "direction": "inbound", + "sourcePortRanges": [ + "*" + ], + "destinationPortRanges": [ + "*" + ], + "sourceAddressPrefixes": [ + "*" + ], + "destinationAddressPrefixes": [ + "*" + ], + "description": "Test description" + }, + { + "name": "AllowARM", + "protocol": "*", + "sourcePortRange": "*", + "sourceAddressPrefix": "AzureResourceManager", + "destinationAddressPrefix": "*", + "destinationPortRange": "33500-33699", + "access": "allow", + "priority": 2002, + "direction": "inbound" + } + ], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ], + "addonFeatures": [ + "DnsService", + "BackupRestoreService", + "ResourceMonitorService" + ], + "enableAutoOSUpgrade": true, + "applicationTypeVersionsCleanupPolicy": { + "maxUnusedVersionsToKeep": 3 + }, + "zonalResiliency": true, + "enableIpv6": true, + "enableServicePublicIP": true, + "ipv6Address": "0000:0000:0000:0000:0000:0000:0000:0000", + "ipTags": [ + { + "ipTagType": "FirstPartyUsage", + "tag": "SQL" + } + ], + "auxiliarySubnets": [ + { + "name": "testSubnet1", + "enableIpv6": true, + "privateEndpointNetworkPolicies": "enabled", + "privateLinkServiceNetworkPolicies": "enabled", + "networkSecurityGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/networkSecurityGroups/sn1" + } + ], + "serviceEndpoints": [ + { + "service": "Microsoft.Storage", + "locations": [ + "eastus2", + "usnorth" + ] + } + ] + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterPutOperation_example_min.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterPutOperation_example_min.json new file mode 100644 index 000000000000..1aecc6dc6056 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterPutOperation_example_min.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2021-11-01-preview", + "parameters": { + "location": "eastus", + "properties": { + "clusterUpgradeMode": "Automatic", + "clusterUpgradeCadence": "Wave1", + "dnsName": "myCluster", + "adminUserName": "vmadmin", + "adminPassword": "{vm-password}", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ] + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Updating", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterUpgradeMode": "Automatic", + "clusterUpgradeCadence": "Wave1", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ] + } + } + }, + "200": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Creating", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterUpgradeMode": "Automatic", + "clusterUpgradeCadence": "Wave1", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterVersionGetByEnvironment_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterVersionGetByEnvironment_example.json new file mode 100644 index 000000000000..9967501edf88 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterVersionGetByEnvironment_example.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "environment": "Windows", + "clusterVersion": "7.2.477.9590", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/environments/Windows/managedClusterVersions/7.2.477.9590", + "name": "7.2.477.9590", + "type": "Microsoft.ServiceFabric/locations/environments/managedClusterVersions", + "properties": { + "supportExpiryUtc": "2021-11-30T00:00:00", + "osType": "Windows", + "clusterCodeVersion": "7.2.477.9590" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterVersionGet_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterVersionGet_example.json new file mode 100644 index 000000000000..674451e15f83 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterVersionGet_example.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "clusterVersion": "7.2.477.9590", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/environments/Windows/managedClusterVersions/7.2.477.9590", + "name": "7.2.477.9590", + "type": "Microsoft.ServiceFabric/locations/environments/managedClusterVersions", + "properties": { + "supportExpiryUtc": "2021-11-30T00:00:00", + "osType": "Windows", + "clusterCodeVersion": "7.2.477.9590" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterVersionListByEnvironment.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterVersionListByEnvironment.json new file mode 100644 index 000000000000..52ce3ede3159 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterVersionListByEnvironment.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "environment": "Windows", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/environments/Windows/managedClusterVersions/7.2.457.9590", + "name": "7.2.457.9590", + "type": "Microsoft.ServiceFabric/locations/environments/managedClusterVersions", + "properties": { + "supportExpiryUtc": "2021-11-30T00:00:00", + "osType": "Windows", + "clusterCodeVersion": "7.2.457.9590" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/environments/Windows/managedClusterVersions/7.2.477.9590", + "name": "7.2.477.9590", + "type": "Microsoft.ServiceFabric/locations/environments/managedClusterVersions", + "properties": { + "supportExpiryUtc": "2021-11-30T00:00:00", + "osType": "Windows", + "clusterCodeVersion": "7.2.477.9590" + } + } + ] + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterVersionList_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterVersionList_example.json new file mode 100644 index 000000000000..72b23a185b28 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ManagedClusterVersionList_example.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/environments/Windows/managedClusterVersions/7.2.457.9590", + "name": "7.2.457.9590", + "type": "Microsoft.ServiceFabric/locations/environments/managedClusterVersions", + "properties": { + "supportExpiryUtc": "2021-11-30T00:00:00", + "osType": "Windows", + "clusterCodeVersion": "7.2.457.9590" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/environments/Windows/managedClusterVersions/7.2.477.9590", + "name": "7.2.477.9590", + "type": "Microsoft.ServiceFabric/locations/environments/managedClusterVersions", + "properties": { + "supportExpiryUtc": "2021-11-30T00:00:00", + "osType": "Windows", + "clusterCodeVersion": "7.2.477.9590" + } + } + ] + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypeDeleteOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypeDeleteOperation_example.json new file mode 100644 index 000000000000..e139463a8138 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypeDeleteOperation_example.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2021-11-01-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypeGetOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypeGetOperation_example.json new file mode 100644 index 000000000000..cc049196893d --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypeGetOperation_example.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "FE", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/FE", + "name": "FE", + "tags": {}, + "properties": { + "isPrimary": true, + "dataDiskSizeGB": 100, + "dataDiskType": "StandardSSD_LRS", + "placementProperties": {}, + "capacities": {}, + "vmSize": "Standard_D2", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter", + "vmImageVersion": "latest", + "vmInstanceCount": 5, + "isStateless": false, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypeListOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypeListOperation_example.json new file mode 100644 index 000000000000..517674f907ee --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypeListOperation_example.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/FE", + "name": "FE", + "tags": {}, + "sku": { + "name": "Standard_P0", + "tier": "Standard", + "capacity": 5 + }, + "properties": { + "isPrimary": true, + "dataDiskSizeGB": 100, + "dataDiskType": "StandardSSD_LRS", + "placementProperties": {}, + "capacities": {}, + "vmSize": "Standard_D2", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter", + "vmImageVersion": "latest", + "vmInstanceCount": 5, + "isStateless": false + } + }, + { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "sku": { + "name": "Standard_S0", + "tier": "Standard", + "capacity": 10 + }, + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "Premium_LRS", + "placementProperties": {}, + "capacities": {}, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "isStateless": false, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ] + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypePatchOperationAutoScale_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypePatchOperationAutoScale_example.json new file mode 100644 index 000000000000..018a36470f36 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypePatchOperationAutoScale_example.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2021-11-01-preview", + "parameters": { + "tags": { + "a": "b" + }, + "sku": { + "name": "Standard_S0", + "tier": "Standard", + "capacity": 10 + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": { + "a": "b" + }, + "sku": { + "name": "Standard_S0", + "tier": "Standard", + "capacity": 10 + }, + "properties": { + "provisioningState": "Succeeded", + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "StandardSSD_LRS", + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "isStateless": false, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ], + "vmManagedIdentity": { + "userAssignedIdentities": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity" + ] + } + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypePatchOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypePatchOperation_example.json new file mode 100644 index 000000000000..aa4a571a17e0 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypePatchOperation_example.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2021-11-01-preview", + "parameters": { + "tags": { + "a": "b" + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": { + "a": "b" + }, + "properties": { + "provisioningState": "Succeeded", + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "StandardSSD_LRS", + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "isStateless": false, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ], + "vmManagedIdentity": { + "userAssignedIdentities": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity" + ] + } + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypePutOperationAutoScale_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypePutOperationAutoScale_example.json new file mode 100644 index 000000000000..9577a788a589 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypePutOperationAutoScale_example.json @@ -0,0 +1,201 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2021-11-01-preview", + "parameters": { + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "Premium_LRS", + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": -1, + "isStateless": true, + "multiplePlacementGroups": true, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ], + "vmManagedIdentity": { + "userAssignedIdentities": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity2" + ] + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "sku": { + "name": "Standard_S2", + "tier": "Standard", + "capacity": 10 + }, + "properties": { + "provisioningState": "Updating", + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "Premium_LRS", + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "isStateless": true, + "multiplePlacementGroups": true, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "forceUpdateTag": "v.1.0", + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ] + } + } + }, + "200": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "sku": { + "name": "Standard_S2", + "tier": "Standard", + "capacity": 10 + }, + "properties": { + "provisioningState": "Creating", + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "Premium_LRS", + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "isStateless": true, + "multiplePlacementGroups": true, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "forceUpdateTag": "v.1.0", + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ], + "vmManagedIdentity": { + "userAssignedIdentities": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity2" + ] + } + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypePutOperationStateless_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypePutOperationStateless_example.json new file mode 100644 index 000000000000..f754b9fff86a --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypePutOperationStateless_example.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2021-11-01-preview", + "parameters": { + "properties": { + "isPrimary": false, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "enableEncryptionAtHost": true, + "isStateless": true, + "useTempDataDisk": true, + "multiplePlacementGroups": true, + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ] + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "provisioningState": "Updating", + "isPrimary": false, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "enableEncryptionAtHost": true, + "isStateless": true, + "useTempDataDisk": true, + "multiplePlacementGroups": true, + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ] + } + } + }, + "200": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "isPrimary": false, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "enableEncryptionAtHost": true, + "isStateless": true, + "useTempDataDisk": true, + "multiplePlacementGroups": true, + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ] + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypePutOperation_example_max.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypePutOperation_example_max.json new file mode 100644 index 000000000000..74cde3373e47 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypePutOperation_example_max.json @@ -0,0 +1,269 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2021-11-01-preview", + "parameters": { + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "Premium_LRS", + "dataDiskLetter": "S", + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "enableEncryptionAtHost": true, + "isStateless": true, + "multiplePlacementGroups": true, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ], + "vmManagedIdentity": { + "userAssignedIdentities": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity2" + ] + }, + "additionalDataDisks": [ + { + "lun": 1, + "diskType": "StandardSSD_LRS", + "diskSizeGB": 256, + "diskLetter": "F" + }, + { + "lun": 2, + "diskType": "Premium_LRS", + "diskSizeGB": 150, + "diskLetter": "G" + } + ], + "enableAcceleratedNetworking": true, + "frontendConfigurations": [ + { + "loadBalancerBackendAddressPoolId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/backendAddressPools/LoadBalancerBEAddressPool", + "loadBalancerInboundNatPoolId": " /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/inboundNatPools/LoadBalancerNATPool" + } + ], + "useDefaultPublicLoadBalancer": true + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "provisioningState": "Updating", + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "Premium_LRS", + "dataDiskLetter": "S", + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "enableEncryptionAtHost": true, + "isStateless": true, + "multiplePlacementGroups": true, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "forceUpdateTag": "v.1.0", + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ], + "vmManagedIdentity": { + "userAssignedIdentities": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity2" + ] + }, + "additionalDataDisks": [ + { + "lun": 1, + "diskType": "StandardSSD_LRS", + "diskSizeGB": 256, + "diskLetter": "F" + }, + { + "lun": 2, + "diskType": "Premium_LRS", + "diskSizeGB": 150, + "diskLetter": "G" + } + ], + "enableAcceleratedNetworking": true, + "frontendConfigurations": [ + { + "loadBalancerBackendAddressPoolId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/backendAddressPools/LoadBalancerBEAddressPool", + "loadBalancerInboundNatPoolId": " /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/inboundNatPools/LoadBalancerNATPool" + } + ], + "useDefaultPublicLoadBalancer": true + } + } + }, + "200": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "Premium_LRS", + "dataDiskLetter": "S", + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "enableEncryptionAtHost": true, + "isStateless": true, + "multiplePlacementGroups": true, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "forceUpdateTag": "v.1.0", + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ], + "vmManagedIdentity": { + "userAssignedIdentities": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity2" + ] + }, + "additionalDataDisks": [ + { + "lun": 1, + "diskType": "StandardSSD_LRS", + "diskSizeGB": 256, + "diskLetter": "F" + }, + { + "lun": 2, + "diskType": "Premium_LRS", + "diskSizeGB": 150, + "diskLetter": "G" + } + ], + "enableAcceleratedNetworking": true, + "frontendConfigurations": [ + { + "loadBalancerBackendAddressPoolId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/backendAddressPools/LoadBalancerBEAddressPool", + "loadBalancerInboundNatPoolId": " /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/inboundNatPools/LoadBalancerNATPool" + } + ], + "useDefaultPublicLoadBalancer": true + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypePutOperation_example_min.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypePutOperation_example_min.json new file mode 100644 index 000000000000..6de620829ab8 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypePutOperation_example_min.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2021-11-01-preview", + "parameters": { + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10 + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "provisioningState": "Updating", + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "StandardSSD_LRS", + "placementProperties": {}, + "capacities": {}, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "isStateless": false + } + } + }, + "200": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "StandardSSD_LRS", + "placementProperties": {}, + "capacities": {}, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "isStateless": false + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypeSkusListOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypeSkusListOperation_example.json new file mode 100644 index 000000000000..f8a0cefcf72c --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/NodeTypeSkusListOperation_example.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "resourceType": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "sku": { + "name": "Standard_S0", + "tier": "Standard" + }, + "capacity": { + "minimum": 1, + "maximum": 100, + "default": 1, + "scaleType": "Automatic" + } + }, + { + "resourceType": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "sku": { + "name": "Standard_S1", + "tier": "Standard" + }, + "capacity": { + "minimum": 3, + "maximum": 300, + "default": 3, + "scaleType": "Automatic" + } + }, + { + "resourceType": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "sku": { + "name": "Standard_S2", + "tier": "Standard" + }, + "capacity": { + "minimum": 1, + "maximum": 1000, + "default": 1, + "scaleType": "Automatic" + } + }, + { + "resourceType": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "sku": { + "name": "Standard_S3", + "tier": "Standard" + }, + "capacity": { + "minimum": 3, + "maximum": 1000, + "default": 3, + "scaleType": "Automatic" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/Operations_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/Operations_example.json new file mode 100644 index 000000000000..f2645113f16b --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/Operations_example.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ServiceFabric/managedClusters/read", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "managedClusters", + "operation": "Read Cluster", + "description": "Read any Cluster" + } + }, + { + "name": "Microsoft.ServiceFabric/managedClusters/write", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "managedClusters", + "operation": "Create or Update Cluster", + "description": "Create or Update any Cluster" + } + }, + { + "name": "Microsoft.ServiceFabric/managedClusters/delete", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "managedClusters", + "operation": "Delete Cluster", + "description": "Delete any Cluster" + } + }, + { + "name": "Microsoft.ServiceFabric/nodeTypes/read", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "nodeTypes", + "operation": "Read Node type", + "description": "Read any Node type" + } + }, + { + "name": "Microsoft.ServiceFabric/nodeTypes/write", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "nodeTypes", + "operation": "Create or Update Node type", + "description": "Create or Update any Node type" + } + }, + { + "name": "Microsoft.ServiceFabric/nodeTypes/delete", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "nodeTypes", + "operation": "Delete Node type", + "description": "Delete any Node type" + } + }, + { + "name": "Microsoft.ServiceFabric/nodeTypes/restart/action", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "nodeTypes", + "operation": "Restart nodes from Node type", + "description": "Restart nodes from Node type" + } + }, + { + "name": "Microsoft.ServiceFabric/nodeTypes/reimage/action", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "nodeTypes", + "operation": "Reimage nodes from Node type", + "description": "Reimage nodes from Node type" + } + }, + { + "name": "Microsoft.ServiceFabric/nodeTypes/deleteNode/action", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "nodeTypes", + "operation": "Delete nodes from Node type", + "description": "Delete nodes from Node type" + } + } + ] + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ReimageNodes_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ReimageNodes_example.json new file mode 100644 index 000000000000..1ee903cde3de --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ReimageNodes_example.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2021-11-01-preview", + "parameters": { + "nodes": [ + "BE_0", + "BE_3" + ] + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview" + } + }, + "200": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/RestartNodes_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/RestartNodes_example.json new file mode 100644 index 000000000000..1ee903cde3de --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/RestartNodes_example.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2021-11-01-preview", + "parameters": { + "nodes": [ + "BE_0", + "BE_3" + ] + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2021-11-01-preview" + } + }, + "200": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ServiceDeleteOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ServiceDeleteOperation_example.json new file mode 100644 index 000000000000..f65d15a4b691 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ServiceDeleteOperation_example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "serviceName": "myService", + "api-version": "2021-11-01-preview" + }, + "responses": { + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/41fa5ef9-7f34-4c36-a730-93e0bb757d22?api-version=2021-11-01-preview" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ServiceGetOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ServiceGetOperation_example.json new file mode 100644 index 000000000000..5d568a74eb33 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ServiceGetOperation_example.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "serviceName": "myService", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications/services", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService", + "name": "myService", + "properties": { + "provisioningState": "Updating", + "serviceKind": "Stateless", + "placementConstraints": "NodeType==frontend", + "serviceTypeName": "myServiceType", + "partitionDescription": { + "partitionScheme": "Singleton" + }, + "serviceLoadMetrics": [ + { + "name": "metric1", + "weight": "Low" + } + ], + "servicePlacementPolicies": [], + "defaultMoveCost": "Medium", + "instanceCount": 5, + "servicePackageActivationMode": "SharedProcess" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ServiceListOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ServiceListOperation_example.json new file mode 100644 index 000000000000..c300aa024ac4 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ServiceListOperation_example.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.ServiceFabric/managedClusters/applications/services", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService", + "name": "myService", + "properties": { + "provisioningState": "Updating", + "serviceKind": "Stateless", + "serviceTypeName": "myServiceType", + "partitionDescription": { + "partitionScheme": "Singleton" + }, + "serviceLoadMetrics": [ + { + "name": "metric1", + "weight": "Low" + } + ], + "instanceCount": 1, + "servicePackageActivationMode": "SharedProcess" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ServicePatchOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ServicePatchOperation_example.json new file mode 100644 index 000000000000..8e1a47b79242 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ServicePatchOperation_example.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "serviceName": "myService", + "api-version": "2021-11-01-preview", + "parameters": { + "tags": { + "a": "b" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications/services", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService", + "name": "myService", + "tags": { + "a": "b" + }, + "properties": { + "provisioningState": "Succeeded", + "serviceKind": "Stateless", + "placementConstraints": "NodeType==frontend", + "serviceTypeName": "myServiceType", + "partitionDescription": { + "partitionScheme": "Singleton" + }, + "serviceLoadMetrics": [ + { + "name": "metric1", + "weight": "Low", + "defaultLoad": 3 + } + ], + "correlationScheme": [ + { + "serviceName": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService1", + "scheme": "AlignedAffinity" + } + ], + "servicePlacementPolicies": [ + { + "type": "NonPartiallyPlaceService" + } + ], + "scalingPolicies": [ + { + "scalingMechanism": { + "kind": "ScalePartitionInstanceCount", + "maxInstanceCount": 9, + "minInstanceCount": 3, + "scaleIncrement": 2 + }, + "scalingTrigger": { + "kind": "AveragePartitionLoadTrigger", + "lowerLoadThreshold": 2.0, + "metricName": "metricName", + "scaleInterval": "00:01:00", + "upperLoadThreshold": 8.0 + } + } + ], + "defaultMoveCost": "Medium", + "instanceCount": 5, + "minInstanceCount": 3, + "minInstancePercentage": 30, + "servicePackageActivationMode": "SharedProcess" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ServicePutOperation_example_max.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ServicePutOperation_example_max.json new file mode 100644 index 000000000000..c421e7ac3dbc --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ServicePutOperation_example_max.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "serviceName": "myService", + "api-version": "2021-11-01-preview", + "parameters": { + "location": "eastus", + "tags": { + "a": "b" + }, + "properties": { + "serviceKind": "Stateless", + "placementConstraints": "NodeType==frontend", + "serviceTypeName": "myServiceType", + "partitionDescription": { + "partitionScheme": "Singleton" + }, + "serviceLoadMetrics": [ + { + "name": "metric1", + "weight": "Low", + "defaultLoad": 3 + } + ], + "correlationScheme": [ + { + "serviceName": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService1", + "scheme": "AlignedAffinity" + } + ], + "servicePlacementPolicies": [ + { + "type": "NonPartiallyPlaceService" + } + ], + "scalingPolicies": [ + { + "scalingMechanism": { + "kind": "ScalePartitionInstanceCount", + "maxInstanceCount": 9, + "minInstanceCount": 3, + "scaleIncrement": 2 + }, + "scalingTrigger": { + "kind": "AveragePartitionLoadTrigger", + "lowerLoadThreshold": 2.0, + "metricName": "metricName", + "scaleInterval": "00:01:00", + "upperLoadThreshold": 8.0 + } + } + ], + "defaultMoveCost": "Medium", + "instanceCount": 5, + "minInstanceCount": 3, + "minInstancePercentage": 30, + "servicePackageActivationMode": "SharedProcess" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications/services", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService", + "name": "myService", + "tags": { + "a": "b" + }, + "properties": { + "provisioningState": "Creating", + "serviceKind": "Stateless", + "placementConstraints": "NodeType==frontend", + "serviceTypeName": "myServiceType", + "partitionDescription": { + "partitionScheme": "Singleton" + }, + "serviceLoadMetrics": [ + { + "name": "metric1", + "weight": "Low", + "defaultLoad": 3 + } + ], + "correlationScheme": [ + { + "serviceName": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService1", + "scheme": "AlignedAffinity" + } + ], + "servicePlacementPolicies": [ + { + "type": "NonPartiallyPlaceService" + } + ], + "scalingPolicies": [ + { + "scalingMechanism": { + "kind": "ScalePartitionInstanceCount", + "maxInstanceCount": 9, + "minInstanceCount": 3, + "scaleIncrement": 2 + }, + "scalingTrigger": { + "kind": "AveragePartitionLoadTrigger", + "lowerLoadThreshold": 2.0, + "metricName": "metricName", + "scaleInterval": "00:01:00", + "upperLoadThreshold": 8.0 + } + } + ], + "defaultMoveCost": "Medium", + "instanceCount": 5, + "minInstanceCount": 3, + "minInstancePercentage": 30, + "servicePackageActivationMode": "SharedProcess" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/2e633105-aadc-4928-9164-d76b974170a3?api-version=2021-11-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications/services", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService", + "name": "myService", + "tags": { + "a": "b" + }, + "properties": { + "provisioningState": "Updating", + "serviceKind": "Stateless", + "placementConstraints": "NodeType==frontend", + "serviceTypeName": "myServiceType", + "partitionDescription": { + "partitionScheme": "Singleton" + }, + "serviceLoadMetrics": [ + { + "name": "metric1", + "weight": "Low", + "defaultLoad": 3 + } + ], + "correlationScheme": [ + { + "serviceName": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService1", + "scheme": "AlignedAffinity" + } + ], + "servicePlacementPolicies": [ + { + "type": "NonPartiallyPlaceService" + } + ], + "scalingPolicies": [ + { + "scalingMechanism": { + "kind": "ScalePartitionInstanceCount", + "maxInstanceCount": 9, + "minInstanceCount": 3, + "scaleIncrement": 2 + }, + "scalingTrigger": { + "kind": "AveragePartitionLoadTrigger", + "lowerLoadThreshold": 2.0, + "metricName": "metricName", + "scaleInterval": "00:01:00", + "upperLoadThreshold": 8.0 + } + } + ], + "defaultMoveCost": "Medium", + "instanceCount": 5, + "minInstanceCount": 3, + "minInstancePercentage": 30, + "servicePackageActivationMode": "SharedProcess" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ServicePutOperation_example_min.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ServicePutOperation_example_min.json new file mode 100644 index 000000000000..6c712637d5cf --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/ServicePutOperation_example_min.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "serviceName": "myService", + "api-version": "2021-11-01-preview", + "parameters": { + "location": "eastus", + "properties": { + "serviceKind": "Stateless", + "serviceTypeName": "myServiceType", + "partitionDescription": { + "partitionScheme": "Singleton" + }, + "instanceCount": 1 + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications/services", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService", + "name": "myService", + "properties": { + "provisioningState": "Creating", + "serviceKind": "Stateless", + "serviceTypeName": "myServiceType", + "partitionDescription": { + "partitionScheme": "Singleton" + }, + "instanceCount": 1 + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/5bc615c3-6c5b-4593-80e1-008f55376ec7?api-version=2021-11-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications/services", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService", + "name": "myService", + "properties": { + "provisioningState": "Updating", + "serviceKind": "Stateless", + "serviceTypeName": "myServiceType", + "partitionDescription": { + "partitionScheme": "Singleton" + }, + "instanceCount": 1 + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/managedUnsupportedVMSizesGet_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/managedUnsupportedVMSizesGet_example.json new file mode 100644 index 000000000000..954deca71243 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/managedUnsupportedVMSizesGet_example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2021-11-01-preview", + "vmSize": "Standard_B1ls1" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_B1ls1", + "name": "Standard_B1ls1", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_B1ls1" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/managedUnsupportedVMSizesList_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/managedUnsupportedVMSizesList_example.json new file mode 100644 index 000000000000..7f59c760b912 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/examples/managedUnsupportedVMSizesList_example.json @@ -0,0 +1,175 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_B1ls1", + "name": "Standard_B1ls1", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_B1ls1" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_B1s", + "name": "Standard_B1s", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_B1s" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_B1ms", + "name": "Standard_B1ms", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_B1ms" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_B2s", + "name": "Standard_B2s", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_B2s" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_B2ms", + "name": "Standard_B2ms", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_B2ms" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_B4ms", + "name": "Standard_B4ms", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_B4ms" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_B8ms", + "name": "Standard_B8ms", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_B8ms" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_A1_v2", + "name": "Standard_A1_v2", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_A1_v2" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_A2_v2", + "name": "Standard_A2_v2", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_A2_v2" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_A4_v2", + "name": "Standard_A4_v2", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_A4_v2" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_A8_v2", + "name": "Standard_A8_v2", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_A8_v2" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_A2m_v2", + "name": "Standard_A2m_v2", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_A2m_v2" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_A4m_v2", + "name": "Standard_A4m_v2", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_A4m_v2" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_A8m_v2", + "name": "Standard_A8m_v2", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_A8m_v2" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Basic_A0", + "name": "Basic_A0", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Basic_A0" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Basic_A1", + "name": "Basic_A1", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Basic_A1" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Basic_A2", + "name": "Basic_A2", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Basic_A2" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Basic_A3", + "name": "Basic_A3", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Basic_A3" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Basic_A4", + "name": "Basic_A4", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Basic_A4" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_A0", + "name": "Standard_A0", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_A0" + } + } + ] + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/managedapplication.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/managedapplication.json new file mode 100644 index 000000000000..517f40ef397d --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/managedapplication.json @@ -0,0 +1,2726 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceFabricManagementClient", + "description": "Azure Service Fabric Resource Provider API Client", + "version": "2021-11-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "type": "oauth2" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedclusters/{clusterName}/applicationTypes/{applicationTypeName}": { + "get": { + "tags": [ + "ApplicationType" + ], + "operationId": "ApplicationTypes_Get", + "summary": "Gets a Service Fabric managed application type name resource.", + "description": "Get a Service Fabric application type name resource created or in the process of being created in the Service Fabric managed cluster resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationTypeName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Get an application type": { + "$ref": "./examples/ApplicationTypeNameGetOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationTypeResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "put": { + "tags": [ + "ApplicationType" + ], + "operationId": "ApplicationTypes_CreateOrUpdate", + "summary": "Creates or updates a Service Fabric managed application type name resource.", + "description": "Create or update a Service Fabric managed application type name resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationTypeName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The application type name resource.", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationTypeResource" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Put an application type": { + "$ref": "./examples/ApplicationTypeNamePutOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationTypeResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "patch": { + "tags": [ + "ApplicationType" + ], + "operationId": "ApplicationTypes_Update", + "summary": "Updates the tags of an application type resource of a given managed cluster.", + "description": "Updates the tags of an application type resource of a given managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationTypeName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The application type resource updated tags.", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationTypeUpdateParameters" + } + } + ], + "x-ms-examples": { + "Patch an application type": { + "$ref": "./examples/ApplicationTypeNamePatchOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationTypeResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "delete": { + "tags": [ + "ApplicationType" + ], + "operationId": "ApplicationTypes_Delete", + "summary": "Deletes a Service Fabric managed application type name resource.", + "description": "Delete a Service Fabric managed application type name resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationTypeName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Delete an application type": { + "$ref": "./examples/ApplicationTypeNameDeleteOperation_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "204": { + "description": "The resource was not found." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedclusters/{clusterName}/applicationTypes": { + "get": { + "tags": [ + "ApplicationType" + ], + "operationId": "ApplicationTypes_List", + "summary": "Gets the list of application type name resources created in the specified Service Fabric managed cluster resource.", + "description": "Gets all application type name resources created or in the process of being created in the Service Fabric managed cluster resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a list of application type name resources": { + "$ref": "./examples/ApplicationTypeNameListOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationTypeResourceList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedclusters/{clusterName}/applicationTypes/{applicationTypeName}/versions/{version}": { + "get": { + "tags": [ + "ApplicationTypeVersion" + ], + "operationId": "ApplicationTypeVersions_Get", + "summary": "Gets a Service Fabric managed application type version resource.", + "description": "Get a Service Fabric managed application type version resource created or in the process of being created in the Service Fabric managed application type name resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationTypeName" + }, + { + "$ref": "#/parameters/version" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Get an application type version": { + "$ref": "./examples/ApplicationTypeVersionGetOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationTypeVersionResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "put": { + "tags": [ + "ApplicationTypeVersion" + ], + "operationId": "ApplicationTypeVersions_CreateOrUpdate", + "summary": "Creates or updates a Service Fabric managed application type version resource.", + "description": "Create or update a Service Fabric managed application type version resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationTypeName" + }, + { + "$ref": "#/parameters/version" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The application type version resource.", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationTypeVersionResource" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Put an application type version": { + "$ref": "./examples/ApplicationTypeVersionPutOperation_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationTypeVersionResource" + } + }, + "202": { + "description": "The request was accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ApplicationTypeVersionResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "patch": { + "tags": [ + "ApplicationTypeVersion" + ], + "operationId": "ApplicationTypeVersions_Update", + "summary": "Updates the tags of an application type version resource of a given managed cluster.", + "description": "Updates the tags of an application type version resource of a given managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationTypeName" + }, + { + "$ref": "#/parameters/version" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The application type version resource updated tags.", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationTypeVersionUpdateParameters" + } + } + ], + "x-ms-examples": { + "Patch an application type version": { + "$ref": "./examples/ApplicationTypeVersionPatchOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationTypeVersionResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "delete": { + "tags": [ + "ApplicationTypeVersion" + ], + "operationId": "ApplicationTypeVersions_Delete", + "summary": "Deletes a Service Fabric managed application type version resource.", + "description": "Delete a Service Fabric managed application type version resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationTypeName" + }, + { + "$ref": "#/parameters/version" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Delete an application type version": { + "$ref": "./examples/ApplicationTypeVersionDeleteOperation_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "204": { + "description": "The resource was not found." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedclusters/{clusterName}/applicationTypes/{applicationTypeName}/versions": { + "get": { + "tags": [ + "ApplicationTypeVersion" + ], + "operationId": "ApplicationTypeVersions_ListByApplicationTypes", + "summary": "Gets the list of application type version resources created in the specified Service Fabric managed application type name resource.", + "description": "Gets all application type version resources created or in the process of being created in the Service Fabric managed application type name resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationTypeName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a list of application type version resources": { + "$ref": "./examples/ApplicationTypeVersionListOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationTypeVersionResourceList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedclusters/{clusterName}/applications/{applicationName}": { + "get": { + "tags": [ + "Application" + ], + "operationId": "Applications_Get", + "summary": "Gets a Service Fabric managed application resource.", + "description": "Get a Service Fabric managed application resource created or in the process of being created in the Service Fabric cluster resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Get an application": { + "$ref": "./examples/ApplicationGetOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "put": { + "tags": [ + "Application" + ], + "operationId": "Applications_CreateOrUpdate", + "summary": "Creates or updates a Service Fabric managed application resource.", + "description": "Create or update a Service Fabric managed application resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The application resource.", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationResource" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Put an application with minimum parameters": { + "$ref": "./examples/ApplicationPutOperation_example_min.json" + }, + "Put an application with maximum parameters": { + "$ref": "./examples/ApplicationPutOperation_example_max.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationResource" + } + }, + "202": { + "description": "The request was accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ApplicationResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "patch": { + "tags": [ + "Application" + ], + "operationId": "Applications_Update", + "summary": "Updates the tags of an application resource of a given managed cluster.", + "description": "Updates the tags of an application resource of a given managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The application resource updated tags.", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationUpdateParameters" + } + } + ], + "x-ms-examples": { + "Patch an application": { + "$ref": "./examples/ApplicationPatchOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "delete": { + "tags": [ + "Application" + ], + "operationId": "Applications_Delete", + "summary": "Deletes a Service Fabric managed application resource.", + "description": "Delete a Service Fabric managed application resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Delete an application": { + "$ref": "./examples/ApplicationDeleteOperation_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "204": { + "description": "The resource was not found." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedclusters/{clusterName}/applications": { + "get": { + "tags": [ + "Application" + ], + "operationId": "Applications_List", + "summary": "Gets the list of managed application resources created in the specified Service Fabric cluster resource.", + "description": "Gets all managed application resources created or in the process of being created in the Service Fabric cluster resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a list of application resources": { + "$ref": "./examples/ApplicationListOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationResourceList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedclusters/{clusterName}/applications/{applicationName}/services/{serviceName}": { + "get": { + "tags": [ + "Service" + ], + "operationId": "Services_Get", + "summary": "Gets a Service Fabric managed service resource.", + "description": "Get a Service Fabric service resource created or in the process of being created in the Service Fabric managed application resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Get a service": { + "$ref": "./examples/ServiceGetOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "put": { + "tags": [ + "Service" + ], + "operationId": "Services_CreateOrUpdate", + "summary": "Creates or updates a Service Fabric managed service resource.", + "description": "Create or update a Service Fabric managed service resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The service resource.", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceResource" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Put a service with minimum parameters": { + "$ref": "./examples/ServicePutOperation_example_min.json" + }, + "Put a service with maximum parameters": { + "$ref": "./examples/ServicePutOperation_example_max.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "202": { + "description": "The request was accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "patch": { + "tags": [ + "Services" + ], + "operationId": "Services_Update", + "summary": "Updates the tags of a service resource of a given managed cluster.", + "description": "Updates the tags of a service resource of a given managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The service resource updated tags.", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceUpdateParameters" + } + } + ], + "x-ms-examples": { + "Patch a service": { + "$ref": "./examples/ServicePatchOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "delete": { + "tags": [ + "Service" + ], + "operationId": "Services_Delete", + "summary": "Deletes a Service Fabric managed service resource.", + "description": "Delete a Service Fabric managed service resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Delete a service": { + "$ref": "./examples/ServiceDeleteOperation_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "204": { + "description": "The resource was not found." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedclusters/{clusterName}/applications/{applicationName}/services": { + "get": { + "tags": [ + "Service" + ], + "operationId": "Services_ListByApplications", + "summary": "Gets the list of service resources created in the specified Service Fabric managed application resource.", + "description": "Gets all service resources created or in the process of being created in the Service Fabric managed application resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Get a list of service resources": { + "$ref": "./examples/ServiceListOperation_example.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ServiceResourceList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + } + }, + "definitions": { + "AddRemoveIncrementalNamedPartitionScalingMechanism": { + "type": "object", + "description": "Represents a scaling mechanism for adding or removing named partitions of a stateless service. Partition names are in the format '0','1'...'N-1'.", + "allOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "type": "object", + "description": "AddRemoveIncrementalNamedPartitionScalingMechanism" + } + ], + "x-ms-discriminator-value": "AddRemoveIncrementalNamedPartition", + "required": [ + "minPartitionCount", + "maxPartitionCount", + "scaleIncrement" + ], + "properties": { + "minPartitionCount": { + "type": "integer", + "format": "int32", + "description": "Minimum number of named partitions of the service." + }, + "maxPartitionCount": { + "type": "integer", + "format": "int32", + "description": "Maximum number of named partitions of the service." + }, + "scaleIncrement": { + "type": "integer", + "format": "int32", + "description": "The number of instances to add or remove during a scaling operation." + } + } + }, + "ApplicationHealthPolicy": { + "type": "object", + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n", + "required": [ + "considerWarningAsError", + "maxPercentUnhealthyDeployedApplications" + ], + "properties": { + "considerWarningAsError": { + "type": "boolean", + "description": "Indicates whether warnings are treated with the same severity as errors." + }, + "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" + }, + "defaultServiceTypeHealthPolicy": { + "$ref": "#/definitions/ServiceTypeHealthPolicy", + "description": "The health policy used by default to evaluate the health of a service type." + }, + "serviceTypeHealthPolicyMap": { + "$ref": "#/definitions/ServiceTypeHealthPolicyMap", + "description": "The map with service type health policy per service type name. The map is empty by default." + } + } + }, + "ApplicationParameterList": { + "type": "object", + "description": "List of application parameters with overridden values from their default values specified in the application manifest.", + "additionalProperties": { + "type": "string" + } + }, + "ApplicationResource": { + "type": "object", + "description": "The application resource.", + "properties": { + "identity": { + "$ref": "#/definitions/ManagedIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationResourceProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ] + }, + "ApplicationResourceList": { + "type": "object", + "description": "The list of application resources.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationResource" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of application list results if there are any.", + "readOnly": true + } + } + }, + "ApplicationResourceProperties": { + "type": "object", + "description": "The application resource properties.", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response" + }, + "version": { + "$ref": "#/definitions/ApplicationTypeVersion" + }, + "parameters": { + "$ref": "#/definitions/ApplicationParameterList" + }, + "upgradePolicy": { + "$ref": "#/definitions/ApplicationUpgradePolicy" + }, + "managedIdentities": { + "description": "List of user assigned identities for the application, each mapped to a friendly name.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationUserAssignedIdentity" + } + } + } + }, + "ApplicationTypeResource": { + "type": "object", + "description": "The application type name resource", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationTypeResourceProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ] + }, + "ApplicationTypeResourceList": { + "type": "object", + "description": "The list of application type names.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationTypeResource" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of application type list results if there are any.", + "readOnly": true + } + } + }, + "ApplicationTypeResourceProperties": { + "type": "object", + "description": "The application type name properties", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response." + } + } + }, + "ApplicationTypeUpdateParameters": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "description": "Application type update parameters", + "additionalProperties": { + "type": "string" + } + } + }, + "description": "Application type update request" + }, + "ApplicationTypeVersion": { + "type": "string", + "description": "The version of the application type as defined in the application manifest.\nThis name must be the full Arm Resource ID for the referenced application type version.\n" + }, + "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" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ] + }, + "ApplicationTypeVersionResourceList": { + "type": "object", + "description": "The list of application type version resources for the specified application type name resource.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationTypeVersionResource" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of application type version list results if there are any.", + "readOnly": true + } + } + }, + "ApplicationTypeVersionResourceProperties": { + "type": "object", + "description": "The properties of the application type version resource.", + "required": [ + "appPackageUrl" + ], + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response" + }, + "appPackageUrl": { + "type": "string", + "description": "The URL to the application package" + } + } + }, + "ApplicationTypeVersionUpdateParameters": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "description": "Application type version update parameters", + "additionalProperties": { + "type": "string" + } + } + }, + "description": "Application type version update request" + }, + "ApplicationUpdateParameters": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "description": "Application update parameters", + "additionalProperties": { + "type": "string" + } + } + }, + "description": "Application update request" + }, + "ApplicationUpgradePolicy": { + "type": "object", + "description": "Describes the policy for a monitored application upgrade.", + "properties": { + "applicationHealthPolicy": { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + "forceRestart": { + "$ref": "#/definitions/ForceRestart" + }, + "rollingUpgradeMonitoringPolicy": { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + "instanceCloseDelayDuration": { + "type": "integer", + "format": "int64", + "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster upgrade, only for those instances which have a non-zero delay duration configured in the service description." + }, + "upgradeMode": { + "$ref": "#/definitions/RollingUpgradeMode" + }, + "upgradeReplicaSetCheckTimeout": { + "type": "integer", + "format": "int64", + "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)." + }, + "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." + } + } + }, + "ApplicationUserAssignedIdentity": { + "type": "object", + "required": [ + "name", + "principalId" + ], + "properties": { + "name": { + "type": "string", + "description": "The friendly name of user assigned identity." + }, + "principalId": { + "type": "string", + "description": "The principal id of user assigned identity." + } + } + }, + "AveragePartitionLoadScalingTrigger": { + "type": "object", + "description": "Represents a scaling trigger related to an average load of a metric/resource of a partition.", + "allOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "type": "object", + "description": "AveragePartitionLoadScalingTrigger" + } + ], + "x-ms-discriminator-value": "AveragePartitionLoadTrigger", + "required": [ + "metricName", + "lowerLoadThreshold", + "upperLoadThreshold", + "scaleInterval" + ], + "properties": { + "metricName": { + "type": "string", + "description": "The name of the metric for which usage should be tracked." + }, + "lowerLoadThreshold": { + "type": "number", + "format": "double", + "description": "The lower limit of the load below which a scale in operation should be performed." + }, + "upperLoadThreshold": { + "type": "number", + "format": "double", + "description": "The upper limit of the load beyond which a scale out operation should be performed." + }, + "scaleInterval": { + "type": "string", + "description": "The period in seconds on which a decision is made whether to scale or not. This property should come in ISO 8601 format \"hh:mm:ss\"." + } + } + }, + "AverageServiceLoadScalingTrigger": { + "type": "object", + "description": "Represents a scaling policy related to an average load of a metric/resource of a service.", + "allOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "type": "object", + "description": "AverageServiceLoadScalingTrigger" + } + ], + "x-ms-discriminator-value": "AverageServiceLoadTrigger", + "required": [ + "metricName", + "lowerLoadThreshold", + "upperLoadThreshold", + "scaleInterval", + "useOnlyPrimaryLoad" + ], + "properties": { + "metricName": { + "type": "string", + "description": "The name of the metric for which usage should be tracked." + }, + "lowerLoadThreshold": { + "type": "number", + "format": "double", + "description": "The lower limit of the load below which a scale in operation should be performed." + }, + "upperLoadThreshold": { + "type": "number", + "format": "double", + "description": "The upper limit of the load beyond which a scale out operation should be performed." + }, + "scaleInterval": { + "type": "string", + "description": "The period in seconds on which a decision is made whether to scale or not. This property should come in ISO 8601 format \"hh:mm:ss\"." + }, + "useOnlyPrimaryLoad": { + "type": "boolean", + "description": "Flag determines whether only the load of primary replica should be considered for scaling. If set to true, then trigger will only consider the load of primary replicas of stateful service. If set to false, trigger will consider load of all replicas. This parameter cannot be set to true for stateless service." + } + } + }, + "CorrelationSchemeList": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + }, + "description": "A list that describes the correlation of the service with other services." + }, + "ForceRestart": { + "type": "boolean", + "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).", + "default": false + }, + "HealthCheckRetryTimeout": { + "type": "string", + "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\"." + }, + "HealthCheckStableDuration": { + "type": "string", + "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\"." + }, + "HealthCheckWaitDuration": { + "type": "string", + "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\"." + }, + "ManagedIdentity": { + "type": "object", + "description": "Describes the managed identities for an Azure resource.", + "properties": { + "principalId": { + "type": "string", + "readOnly": true, + "description": "The principal id of the managed identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "type": "string", + "readOnly": true, + "description": "The tenant id of the managed identity. This property will only be provided for a system assigned identity." + }, + "type": { + "$ref": "#/definitions/ManagedIdentityType" + }, + "userAssignedIdentities": { + "$ref": "#/definitions/UserAssignedIdentityMap" + } + } + }, + "ManagedIdentityType": { + "type": "string", + "description": "The type of managed identity for the resource.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "x-ms-enum": { + "name": "ManagedIdentityType", + "modelAsString": false, + "values": [ + { + "value": "None", + "description": "Indicates that no identity is associated with the resource." + }, + { + "value": "SystemAssigned", + "description": "Indicates that system assigned identity is associated with the resource." + }, + { + "value": "UserAssigned", + "description": "Indicates that user assigned identity is associated with the resource." + }, + { + "value": "SystemAssigned, UserAssigned", + "description": "Indicates that both system assigned and user assigned identity are associated with the resource." + } + ] + } + }, + "MoveCost": { + "type": "string", + "description": "Specifies the move cost for the service.", + "enum": [ + "Zero", + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "MoveCost", + "modelAsString": true, + "values": [ + { + "value": "Zero", + "description": "Zero move cost. This value is zero." + }, + { + "value": "Low", + "description": "Specifies the move cost of the service as Low. The value is 1." + }, + { + "value": "Medium", + "description": "Specifies the move cost of the service as Medium. The value is 2." + }, + { + "value": "High", + "description": "Specifies the move cost of the service as High. The value is 3." + } + ] + } + }, + "NamedPartitionScheme": { + "type": "object", + "description": "Describes the named partition scheme of the service.", + "allOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "type": "object", + "description": "NamedPartitionScheme" + } + ], + "x-ms-discriminator-value": "Named", + "required": [ + "names" + ], + "properties": { + "names": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array for the names of the partitions." + } + } + }, + "Partition": { + "type": "object", + "discriminator": "partitionScheme", + "description": "Describes how the service is partitioned.", + "required": [ + "partitionScheme" + ], + "properties": { + "partitionScheme": { + "$ref": "#/definitions/PartitionScheme", + "description": "Specifies how the service is partitioned." + } + } + }, + "PartitionInstanceCountScaleMechanism": { + "type": "object", + "description": "Represents a scaling mechanism for adding or removing instances of stateless service partition.", + "allOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "type": "object", + "description": "PartitionInstanceCountScaleMechanism" + } + ], + "x-ms-discriminator-value": "ScalePartitionInstanceCount", + "required": [ + "minInstanceCount", + "maxInstanceCount", + "scaleIncrement" + ], + "properties": { + "minInstanceCount": { + "type": "integer", + "format": "int32", + "description": "Minimum number of instances of the partition." + }, + "maxInstanceCount": { + "type": "integer", + "format": "int32", + "description": "Maximum number of instances of the partition." + }, + "scaleIncrement": { + "type": "integer", + "format": "int32", + "description": "The number of instances to add or remove during a scaling operation." + } + } + }, + "PartitionScheme": { + "type": "string", + "description": "Enumerates the ways that a service can be partitioned.", + "enum": [ + "Singleton", + "UniformInt64Range", + "Named" + ], + "x-ms-enum": { + "name": "PartitionScheme", + "modelAsString": true, + "values": [ + { + "value": "Singleton", + "description": "Indicates that the partition is based on string names, and is a SingletonPartitionScheme object, The value is 0." + }, + { + "value": "UniformInt64Range", + "description": "Indicates that the partition is based on Int64 key ranges, and is a UniformInt64RangePartitionScheme object. The value is 1." + }, + { + "value": "Named", + "description": "Indicates that the partition is based on string names, and is a NamedPartitionScheme object. The value is 2." + } + ] + } + }, + "ProxyResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Azure resource identifier.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Azure resource name.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Azure resource type.", + "readOnly": true + }, + "location": { + "type": "string", + "description": "Resource location depends on the parent resource.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Azure resource tags.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "systemData": { + "$ref": "#/definitions/SystemData" + } + }, + "description": "The resource model definition for proxy-only resource.", + "x-ms-azure-resource": true + }, + "RollingUpgradeMode": { + "type": "string", + "description": "The mode used to monitor health during a rolling upgrade. The values are Monitored, and UnmonitoredAuto.", + "enum": [ + "Monitored", + "UnmonitoredAuto" + ], + "x-ms-enum": { + "name": "RollingUpgradeMode", + "modelAsString": true, + "values": [ + { + "value": "Monitored", + "description": "The upgrade will stop after completing each upgrade domain and automatically monitor health before proceeding. The value is 0." + }, + { + "value": "UnmonitoredAuto", + "description": "The upgrade will proceed automatically without performing any health monitoring. The value is 1." + } + ] + } + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "description": "The policy used for monitoring the application upgrade", + "required": [ + "failureAction", + "healthCheckWaitDuration", + "healthCheckStableDuration", + "healthCheckRetryTimeout", + "upgradeTimeout", + "upgradeDomainTimeout" + ], + "properties": { + "failureAction": { + "type": "string", + "description": "The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations. Invalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically. Manual indicates that the upgrade will switch to UnmonitoredManual upgrade mode.", + "enum": [ + "Rollback", + "Manual" + ], + "x-ms-enum": { + "name": "FailureAction", + "modelAsString": true, + "values": [ + { + "value": "Rollback", + "description": "Indicates that a rollback of the upgrade will be performed by Service Fabric if the upgrade fails." + }, + { + "value": "Manual", + "description": "Indicates that a manual repair will need to be performed by the administrator if the upgrade fails. Service Fabric will not proceed to the next upgrade domain automatically." + } + ] + } + }, + "healthCheckWaitDuration": { + "$ref": "#/definitions/HealthCheckWaitDuration" + }, + "healthCheckStableDuration": { + "$ref": "#/definitions/HealthCheckStableDuration" + }, + "healthCheckRetryTimeout": { + "$ref": "#/definitions/HealthCheckRetryTimeout" + }, + "upgradeTimeout": { + "$ref": "#/definitions/UpgradeTimeout" + }, + "upgradeDomainTimeout": { + "$ref": "#/definitions/UpgradeDomainTimeout" + } + } + }, + "ScalingMechanism": { + "type": "object", + "discriminator": "kind", + "description": "Describes the mechanism for performing a scaling operation.", + "required": [ + "kind" + ], + "properties": { + "kind": { + "$ref": "#/definitions/ServiceScalingMechanismKind", + "description": "Specifies the mechanism associated with this scaling policy." + } + } + }, + "ScalingPolicy": { + "type": "object", + "description": "Specifies a metric to load balance a service during runtime.", + "required": [ + "scalingMechanism", + "scalingTrigger" + ], + "properties": { + "scalingMechanism": { + "$ref": "#/definitions/ScalingMechanism", + "description": "Specifies the mechanism associated with this scaling policy" + }, + "scalingTrigger": { + "$ref": "#/definitions/ScalingTrigger", + "description": "Specifies the trigger associated with this scaling policy." + } + } + }, + "ScalingPolicyList": { + "type": "array", + "items": { + "$ref": "#/definitions/ScalingPolicy" + }, + "description": "Scaling policies for this service." + }, + "ScalingTrigger": { + "type": "object", + "discriminator": "kind", + "description": "Describes the trigger for performing a scaling operation.", + "required": [ + "kind" + ], + "properties": { + "kind": { + "$ref": "#/definitions/ServiceScalingTriggerKind", + "description": "Specifies the trigger associated with this scaling policy." + } + } + }, + "ServiceCorrelation": { + "type": "object", + "description": "Creates a particular correlation between services.", + "required": [ + "scheme", + "serviceName" + ], + "properties": { + "scheme": { + "$ref": "#/definitions/ServiceCorrelationScheme", + "description": "The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName." + }, + "serviceName": { + "$ref": "#/definitions/ServiceName", + "description": "The Arm Resource ID of the service that the correlation relationship is established with." + } + } + }, + "ServiceCorrelationScheme": { + "type": "string", + "description": "The service correlation scheme.", + "enum": [ + "AlignedAffinity", + "NonAlignedAffinity" + ], + "x-ms-enum": { + "name": "ServiceCorrelationScheme", + "modelAsString": true, + "values": [ + { + "value": "AlignedAffinity", + "description": "Aligned affinity ensures that the primaries of the partitions of the affinitized services are collocated on the same nodes. This is the default and is the same as selecting the Affinity scheme. The value is 0." + }, + { + "value": "NonAlignedAffinity", + "description": "Non-Aligned affinity guarantees that all replicas of each service will be placed on the same nodes. Unlike Aligned Affinity, this does not guarantee that replicas of particular role will be collocated. The value is 1." + } + ] + } + }, + "ServiceKind": { + "type": "string", + "description": "The kind of service (Stateless or Stateful).", + "enum": [ + "Stateless", + "Stateful" + ], + "x-ms-enum": { + "name": "ServiceKind", + "modelAsString": true, + "values": [ + { + "value": "Stateless", + "description": "Does not use Service Fabric to make its state highly available or reliable. The value is 0." + }, + { + "value": "Stateful", + "description": "Uses Service Fabric to make its state or part of its state highly available and reliable. The value is 1." + } + ] + } + }, + "ServiceLoadMetric": { + "type": "object", + "description": "Specifies a metric to load balance a service during runtime.", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the metric. If the service chooses to report load during runtime, the load metric name should match the name that is specified in Name exactly. Note that metric names are case sensitive." + }, + "weight": { + "$ref": "#/definitions/ServiceLoadMetricWeight", + "description": "The service load metric relative weight, compared to other metrics configured for this service, as a number." + }, + "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." + } + } + }, + "ServiceLoadMetricsList": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceLoadMetric" + }, + "description": "The service load metrics is given as an array of ServiceLoadMetric objects." + }, + "ServiceLoadMetricWeight": { + "type": "string", + "description": "Determines the metric weight relative to the other metrics that are configured for this service. During runtime, if two metrics end up in conflict, the Cluster Resource Manager prefers the metric with the higher weight.", + "enum": [ + "Zero", + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "ServiceLoadMetricWeight", + "modelAsString": true, + "values": [ + { + "value": "Zero", + "description": "Disables resource balancing for this metric. This value is zero." + }, + { + "value": "Low", + "description": "Specifies the metric weight of the service load as Low. The value is 1." + }, + { + "value": "Medium", + "description": "Specifies the metric weight of the service load as Medium. The value is 2." + }, + { + "value": "High", + "description": "Specifies the metric weight of the service load as High. The value is 3." + } + ] + } + }, + "ServiceName": { + "type": "string", + "description": "The full ARM Resource ID describing the service resource", + "x-sf-clientlib": { + "typeName": "ServiceName" + } + }, + "ServicePlacementInvalidDomainPolicy": { + "type": "object", + "description": "Describes the policy to be used for placement of a Service Fabric service where a particular fault or upgrade domain should not be used for placement of the instances or replicas of that service.", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicy" + }, + { + "type": "object", + "description": "ServicePlacementInvalidDomainPolicy" + } + ], + "x-ms-discriminator-value": "InvalidDomain", + "required": [ + "domainName" + ], + "properties": { + "domainName": { + "type": "string", + "description": "The name of the domain that should not be used for placement." + } + } + }, + "ServicePlacementNonPartiallyPlaceServicePolicy": { + "type": "object", + "description": "The name of the domain that should used for placement as per this policy.", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicy" + }, + { + "type": "object", + "description": "ServicePlacementNonPartiallyPlaceServicePolicy" + } + ], + "x-ms-discriminator-value": "NonPartiallyPlaceService" + }, + "ServicePlacementPoliciesList": { + "type": "array", + "items": { + "$ref": "#/definitions/ServicePlacementPolicy" + }, + "description": "A list that describes the correlation of the service with other services." + }, + "ServicePlacementPolicy": { + "type": "object", + "discriminator": "type", + "description": "Describes the policy to be used for placement of a Service Fabric service.", + "required": [ + "type" + ], + "properties": { + "type": { + "$ref": "#/definitions/ServicePlacementPolicyType" + } + } + }, + "ServicePlacementPolicyType": { + "type": "string", + "description": "The type of placement policy for a service fabric service. Following are the possible values.", + "enum": [ + "InvalidDomain", + "RequiredDomain", + "PreferredPrimaryDomain", + "RequiredDomainDistribution", + "NonPartiallyPlaceService" + ], + "x-ms-enum": { + "name": "ServicePlacementPolicyType", + "modelAsString": true, + "values": [ + { + "value": "InvalidDomain", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementInvalidDomainPolicyDescription, which indicates that a particular fault or upgrade domain cannot be used for placement of this service. The value is 0." + }, + { + "value": "RequiredDomain", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementRequireDomainDistributionPolicyDescription indicating that the replicas of the service must be placed in a specific domain. The value is 1." + }, + { + "value": "PreferredPrimaryDomain", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementPreferPrimaryDomainPolicyDescription, which indicates that if possible the Primary replica for the partitions of the service should be located in a particular domain as an optimization. The value is 2." + }, + { + "value": "RequiredDomainDistribution", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementRequireDomainDistributionPolicyDescription, indicating that the system will disallow placement of any two replicas from the same partition in the same domain at any time. The value is 3." + }, + { + "value": "NonPartiallyPlaceService", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementNonPartiallyPlaceServicePolicyDescription, which indicates that if possible all replicas of a particular partition of the service should be placed atomically. The value is 4." + } + ] + } + }, + "ServicePlacementPreferPrimaryDomainPolicy": { + "type": "object", + "description": "Describes the policy to be used for placement of a Service Fabric service where the service's \nPrimary replicas should optimally be placed in a particular domain.\n\nThis placement policy is usually used with fault domains in scenarios where the Service Fabric\ncluster is geographically distributed in order to indicate that a service's primary replica should\nbe located in a particular fault domain, which in geo-distributed scenarios usually aligns with regional\nor datacenter boundaries. Note that since this is an optimization it is possible that the Primary replica\nmay not end up located in this domain due to failures, capacity limits, or other constraints.\n", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicy" + }, + { + "type": "object", + "description": "ServicePlacementPreferPrimaryDomainPolicy" + } + ], + "x-ms-discriminator-value": "PreferredPrimaryDomain", + "required": [ + "domainName" + ], + "properties": { + "domainName": { + "type": "string", + "description": "The name of the domain that should used for placement as per this policy." + } + } + }, + "ServicePlacementRequiredDomainPolicy": { + "type": "object", + "description": "Describes the policy to be used for placement of a Service Fabric service where the instances or replicas of that service must be placed in a particular domain.", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicy" + }, + { + "type": "object", + "description": "ServicePlacementRequiredDomainPolicy" + } + ], + "x-ms-discriminator-value": "RequiredDomain", + "required": [ + "domainName" + ], + "properties": { + "domainName": { + "type": "string", + "description": "The name of the domain that should used for placement as per this policy." + } + } + }, + "ServicePlacementRequireDomainDistributionPolicy": { + "type": "object", + "description": "Describes the policy to be used for placement of a Service Fabric service where two replicas\nfrom the same partition should never be placed in the same fault or upgrade domain.\n\nWhile this is not common it can expose the service to an increased risk of concurrent failures\ndue to unplanned outages or other cases of subsequent/concurrent failures. As an example, consider\na case where replicas are deployed across different data center, with one replica per location.\nIn the event that one of the datacenters goes offline, normally the replica that was placed in that\ndatacenter will be packed into one of the remaining datacenters. If this is not desirable then this\npolicy should be set.\n", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicy" + }, + { + "type": "object", + "description": "ServicePlacementRequireDomainDistributionPolicy" + } + ], + "x-ms-discriminator-value": "RequiredDomainDistribution", + "required": [ + "domainName" + ], + "properties": { + "domainName": { + "type": "string", + "description": "The name of the domain that should used for placement as per this policy." + } + } + }, + "ServiceResource": { + "type": "object", + "description": "The service resource.", + "properties": { + "properties": { + "$ref": "#/definitions/ServiceResourceProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ] + }, + "ServiceResourceList": { + "type": "object", + "description": "The list of service resources.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceResource" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of service list results if there are any.", + "readOnly": true + } + } + }, + "ServiceResourceProperties": { + "type": "object", + "description": "The service resource properties.", + "allOf": [ + { + "$ref": "#/definitions/ServiceResourcePropertiesBase" + } + ], + "required": [ + "serviceKind", + "serviceTypeName", + "partitionDescription" + ], + "discriminator": "serviceKind", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response" + }, + "serviceKind": { + "$ref": "#/definitions/ServiceKind" + }, + "serviceTypeName": { + "type": "string", + "description": "The name of the service type" + }, + "partitionDescription": { + "$ref": "#/definitions/Partition" + }, + "servicePackageActivationMode": { + "type": "string", + "description": "The activation Mode of the service package", + "enum": [ + "SharedProcess", + "ExclusiveProcess" + ], + "x-ms-enum": { + "name": "ServicePackageActivationMode", + "modelAsString": true, + "values": [ + { + "value": "SharedProcess", + "description": "Indicates the application package activation mode will use shared process." + }, + { + "value": "ExclusiveProcess", + "description": "Indicates the application package activation mode will use exclusive process." + } + ] + } + } + } + }, + "ServiceResourcePropertiesBase": { + "type": "object", + "description": "The common service resource properties.", + "properties": { + "placementConstraints": { + "type": "string", + "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" + }, + "serviceLoadMetrics": { + "$ref": "#/definitions/ServiceLoadMetricsList" + }, + "servicePlacementPolicies": { + "$ref": "#/definitions/ServicePlacementPoliciesList" + }, + "defaultMoveCost": { + "$ref": "#/definitions/MoveCost" + }, + "scalingPolicies": { + "$ref": "#/definitions/ScalingPolicyList" + } + } + }, + "ServiceScalingMechanismKind": { + "type": "string", + "description": "Enumerates the ways that a service can be partitioned.", + "enum": [ + "ScalePartitionInstanceCount", + "AddRemoveIncrementalNamedPartition" + ], + "x-ms-enum": { + "name": "ServiceScalingMechanismKind", + "modelAsString": true, + "values": [ + { + "value": "ScalePartitionInstanceCount", + "description": "Represents a scaling mechanism for adding or removing instances of stateless service partition. The value is 0." + }, + { + "value": "AddRemoveIncrementalNamedPartition", + "description": "Represents a scaling mechanism for adding or removing named partitions of a stateless service. The value is 1." + } + ] + } + }, + "ServiceScalingTriggerKind": { + "type": "string", + "description": "Enumerates the ways that a service can be partitioned.", + "enum": [ + "AveragePartitionLoad", + "AverageServiceLoad" + ], + "x-ms-enum": { + "name": "ServiceScalingTriggerKind", + "modelAsString": true, + "values": [ + { + "value": "AveragePartitionLoad", + "description": "Represents a scaling trigger related to an average load of a metric/resource of a partition. The value is 0." + }, + { + "value": "AverageServiceLoad", + "description": "Represents a scaling policy related to an average load of a metric/resource of a service. The value is 1." + } + ] + } + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n", + "required": [ + "maxPercentUnhealthyServices", + "maxPercentUnhealthyPartitionsPerService", + "maxPercentUnhealthyReplicasPerPartition" + ], + "properties": { + "maxPercentUnhealthyServices": { + "type": "integer", + "format": "int32", + "description": "The maximum allowed percentage of unhealthy services.\n\nThe percentage represents the maximum tolerated percentage of services that can be unhealthy before the application is considered in error.\nIf the percentage is respected but there is at least one unhealthy service, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy services of the specific service type over the total number of services of the specific service type.\nThe computation rounds up to tolerate one failure on small numbers of services.\n", + "minimum": 0, + "maximum": 100 + }, + "maxPercentUnhealthyPartitionsPerService": { + "type": "integer", + "format": "int32", + "description": "The maximum allowed percentage of unhealthy partitions per service.\n\nThe percentage represents the maximum tolerated percentage of partitions that can be unhealthy before the service is considered in error.\nIf the percentage is respected but there is at least one unhealthy partition, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy partitions over the total number of partitions in the service.\nThe computation rounds up to tolerate one failure on small numbers of partitions.\n", + "minimum": 0, + "maximum": 100 + }, + "maxPercentUnhealthyReplicasPerPartition": { + "type": "integer", + "format": "int32", + "description": "The maximum allowed percentage of unhealthy replicas per partition.\n\nThe percentage represents the maximum tolerated percentage of replicas that can be unhealthy before the partition is considered in error.\nIf the percentage is respected but there is at least one unhealthy replica, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy replicas over the total number of replicas in the partition.\nThe computation rounds up to tolerate one failure on small numbers of replicas.\n", + "minimum": 0, + "maximum": 100 + } + } + }, + "ServiceTypeHealthPolicyMap": { + "type": "object", + "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n", + "additionalProperties": { + "$ref": "#/definitions/ServiceTypeHealthPolicy" + } + }, + "ServiceUpdateParameters": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "description": "Service update parameters", + "additionalProperties": { + "type": "string" + } + } + }, + "description": "Service update request" + }, + "SingletonPartitionScheme": { + "type": "object", + "description": "Describes the partition scheme of a singleton-partitioned, or non-partitioned service.", + "allOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "type": "object", + "description": "SingletonPartitionScheme" + } + ], + "x-ms-discriminator-value": "Singleton" + }, + "StatefulServiceProperties": { + "type": "object", + "description": "The properties of a stateful service resource.", + "allOf": [ + { + "$ref": "#/definitions/ServiceResourceProperties" + } + ], + "x-ms-discriminator-value": "Stateful", + "properties": { + "hasPersistedState": { + "type": "boolean", + "description": "A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false." + }, + "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." + }, + "replicaRestartWaitDuration": { + "type": "string", + "description": "The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "quorumLossWaitDuration": { + "type": "string", + "description": "The maximum duration for which a partition is allowed to be in a state of quorum loss, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "standByReplicaKeepDuration": { + "type": "string", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "servicePlacementTimeLimit": { + "type": "string", + "description": "The duration for which replicas can stay InBuild before reporting that build is stuck, represented in ISO 8601 format \"hh:mm:ss\"." + } + } + }, + "StatelessServiceProperties": { + "type": "object", + "description": "The properties of a stateless service resource.", + "allOf": [ + { + "$ref": "#/definitions/ServiceResourceProperties" + } + ], + "x-ms-discriminator-value": "Stateless", + "required": [ + "instanceCount" + ], + "properties": { + "instanceCount": { + "type": "integer", + "format": "int32", + "minimum": -1, + "description": "The instance count." + }, + "minInstanceCount": { + "type": "integer", + "format": "int32", + "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + }, + "minInstancePercentage": { + "type": "integer", + "format": "int32", + "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + } + } + }, + "UniformInt64RangePartitionScheme": { + "type": "object", + "description": "Describes a partitioning scheme where an integer range is allocated evenly across a number of partitions.", + "allOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "type": "object", + "description": "UniformInt64RangePartitionScheme" + } + ], + "x-ms-discriminator-value": "UniformInt64Range", + "required": [ + "count", + "lowKey", + "highKey" + ], + "properties": { + "count": { + "type": "integer", + "format": "int32", + "description": "The number of partitions." + }, + "lowKey": { + "type": "integer", + "format": "int64", + "description": "The lower bound of the partition key range that\nshould be split between the partition ‘Count’\n" + }, + "highKey": { + "type": "integer", + "format": "int64", + "description": "The upper bound of the partition key range that\nshould be split between the partition ‘Count’\n" + } + } + }, + "UpgradeDomainTimeout": { + "type": "string", + "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. Cannot be larger than 12 hours. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\"." + }, + "UpgradeTimeout": { + "type": "string", + "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. Cannot be larger than 12 hours. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\"." + }, + "UserAssignedIdentity": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "readOnly": true, + "description": "The principal id of user assigned identity." + }, + "clientId": { + "type": "string", + "readOnly": true, + "description": "The client id of user assigned identity." + } + } + }, + "UserAssignedIdentityMap": { + "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:\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.\n", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + } + }, + "AvailableOperationDisplay": { + "type": "object", + "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" + }, + "ErrorModel": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorModelError", + "description": "The error details." + } + }, + "description": "The structure of the error." + }, + "ErrorModelError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "The error details." + }, + "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." + }, + "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" + }, + "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 \"2021-11-01-preview\" for this specification.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "applicationName": { + "name": "applicationName", + "in": "path", + "description": "The name of the application resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "applicationTypeName": { + "name": "applicationTypeName", + "in": "path", + "description": "The name of the application type name resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "clusterNameParameter": { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "serviceName": { + "name": "serviceName", + "in": "path", + "description": "The name of the service resource in the format of {applicationName}~{serviceName}.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The customer subscription identifier.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "version": { + "name": "version", + "in": "path", + "description": "The application type version.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/managedcluster.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/managedcluster.json new file mode 100644 index 000000000000..59f81cd3793e --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/managedcluster.json @@ -0,0 +1,1713 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceFabricManagementClient", + "description": "Azure Service Fabric Resource Provider API Client", + "version": "2021-11-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "type": "oauth2" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters": { + "get": { + "operationId": "ManagedClusters_ListByResourceGroup", + "summary": "Gets the list of Service Fabric cluster resources created in the specified resource group.", + "description": "Gets all Service Fabric cluster resources created or in the process of being created in the resource group.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "tags": [ + "ManagedCluster" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List cluster by resource group": { + "$ref": "./examples/ManagedClusterListByResourceGroupOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/managedClusters": { + "get": { + "operationId": "ManagedClusters_ListBySubscription", + "summary": "Gets the list of Service Fabric cluster resources created in the specified subscription.", + "description": "Gets all Service Fabric cluster resources created or in the process of being created in the subscription.", + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "tags": [ + "ManagedCluster" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List managed clusters": { + "$ref": "./examples/ManagedClusterListBySubscriptionOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}": { + "get": { + "tags": [ + "ManagedCluster" + ], + "operationId": "ManagedClusters_Get", + "summary": "Gets a Service Fabric managed cluster resource.", + "description": "Get a Service Fabric managed cluster resource created or in the process of being created in the specified resource group.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "x-ms-examples": { + "Get a cluster": { + "$ref": "./examples/ManagedClusterGetOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "put": { + "tags": [ + "ManagedCluster" + ], + "operationId": "ManagedClusters_CreateOrUpdate", + "summary": "Creates or updates a Service Fabric managed cluster resource.", + "description": "Create or update a Service Fabric managed cluster resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "The cluster resource.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCluster" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Put a cluster with minimum parameters": { + "$ref": "./examples/ManagedClusterPutOperation_example_min.json" + }, + "Put a cluster with maximum parameters": { + "$ref": "./examples/ManagedClusterPutOperation_example_max.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "202": { + "description": "The request was accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "patch": { + "tags": [ + "ManagedCluster" + ], + "operationId": "ManagedClusters_Update", + "summary": "Updates the tags of of a Service Fabric managed cluster resource.", + "description": "Update the tags of of a Service Fabric managed cluster resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "The managed cluster resource updated tags.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterUpdateParameters" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Patch a managed cluster": { + "$ref": "./examples/ManagedClusterPatchOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "delete": { + "tags": [ + "ManagedCluster" + ], + "operationId": "ManagedClusters_Delete", + "summary": "Deletes a Service Fabric managed cluster resource.", + "description": "Delete a Service Fabric managed cluster resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "x-ms-examples": { + "Delete a cluster": { + "$ref": "./examples/ManagedClusterDeleteOperation_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "204": { + "description": "The resource was not found." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/managedClusterVersions/{clusterVersion}": { + "get": { + "operationId": "ManagedClusterVersion_Get", + "summary": "Gets information about a Service Fabric managed cluster code version available in the specified location.", + "description": "Gets information about an available Service Fabric managed cluster code version.", + "parameters": [ + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/clusterVersion" + } + ], + "x-ms-examples": { + "Get cluster version": { + "$ref": "./examples/ManagedClusterVersionGet_example.json" + } + }, + "tags": [ + "ManagedClusterVersion" + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedClusterCodeVersionResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/managedClusterVersions/{clusterVersion}": { + "get": { + "operationId": "ManagedClusterVersion_GetByEnvironment", + "summary": "Gets information about a Service Fabric cluster code version available for the specified environment.", + "description": "Gets information about an available Service Fabric cluster code version by environment.", + "parameters": [ + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/environment" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/clusterVersion" + } + ], + "x-ms-examples": { + "Get cluster version by environment": { + "$ref": "./examples/ManagedClusterVersionGetByEnvironment_example.json" + } + }, + "tags": [ + "ManagedClusterVersion" + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedClusterCodeVersionResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/managedClusterVersions": { + "get": { + "operationId": "ManagedClusterVersion_List", + "summary": "Gets the list of Service Fabric cluster code versions available for the specified location.", + "description": "Gets all available code versions for Service Fabric cluster resources by location.", + "parameters": [ + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "x-ms-examples": { + "List cluster versions": { + "$ref": "./examples/ManagedClusterVersionList_example.json" + } + }, + "tags": [ + "ManagedClusterVersion" + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedClusterCodeVersionListResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/managedClusterVersions": { + "get": { + "operationId": "ManagedClusterVersion_ListByEnvironment", + "summary": "Gets the list of Service Fabric cluster code versions available for the specified environment.", + "description": "Gets all available code versions for Service Fabric cluster resources by environment.", + "parameters": [ + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/environment" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "x-ms-examples": { + "List cluster versions by environment": { + "$ref": "./examples/ManagedClusterVersionListByEnvironment.json" + } + }, + "tags": [ + "ManagedClusterVersion" + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedClusterCodeVersionListResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/managedUnsupportedVMSizes": { + "get": { + "tags": [ + "managedVMSizes" + ], + "summary": "Get the lists of unsupported vm sizes for Service Fabric Managed Clusters.", + "description": "Get the lists of unsupported vm sizes for Service Fabric Managed Clusters.", + "operationId": "managedUnsupportedVMSizes_List", + "parameters": [ + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "x-ms-examples": { + "List unsupported vm sizes": { + "$ref": "./examples/managedUnsupportedVMSizesList_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedVMSizesResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/managedUnsupportedVMSizes/{vmSize}": { + "get": { + "tags": [ + "managedVMSizes" + ], + "summary": "Get unsupported vm size for Service Fabric Managed Clusters.", + "description": "Get unsupported vm size for Service Fabric Managed Clusters.", + "operationId": "managedUnsupportedVMSizes_Get", + "parameters": [ + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/vmSize" + } + ], + "x-ms-examples": { + "Get unsupported vm sizes": { + "$ref": "./examples/managedUnsupportedVMSizesGet_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedVMSize" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/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" + } + ], + "x-ms-examples": { + "List available operations": { + "$ref": "./examples/Operations_example.json" + } + }, + "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" + } + } + } + }, + "definitions": { + "ManagedClusterAddOnFeature": { + "type": "string", + "description": "Available cluster add-on features", + "enum": [ + "DnsService", + "BackupRestoreService", + "ResourceMonitorService" + ] + }, + "ApplicationTypeVersionsCleanupPolicy": { + "type": "object", + "required": [ + "maxUnusedVersionsToKeep" + ], + "properties": { + "maxUnusedVersionsToKeep": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "Number of unused versions per application type to keep." + } + }, + "description": "The policy used to clean up unused versions. When the policy is not specified explicitly, the default unused application versions to keep will be 3." + }, + "AzureActiveDirectory": { + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "Azure active directory tenant id." + }, + "clusterApplication": { + "type": "string", + "description": "Azure active directory cluster application id." + }, + "clientApplication": { + "type": "string", + "description": "Azure active directory client application id." + } + }, + "description": "The settings to enable AAD authentication on the cluster." + }, + "ClientCertificate": { + "type": "object", + "required": [ + "isAdmin" + ], + "properties": { + "isAdmin": { + "type": "boolean", + "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "thumbprint": { + "type": "string", + "description": "Certificate thumbprint." + }, + "commonName": { + "type": "string", + "description": "Certificate common name." + }, + "issuerThumbprint": { + "type": "string", + "description": "Issuer thumbprint for the certificate. Only used together with CommonName." + } + }, + "description": "Client certificate definition." + }, + "ClusterState": { + "type": "string", + "description": "The current state of the cluster.\n", + "enum": [ + "WaitingForNodes", + "Deploying", + "BaselineUpgrade", + "Upgrading", + "UpgradeFailed", + "Ready" + ], + "x-ms-enum": { + "name": "ClusterState", + "modelAsString": true, + "values": [ + { + "value": "WaitingForNodes", + "description": "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." + }, + { + "value": "Deploying", + "description": "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." + }, + { + "value": "BaselineUpgrade", + "description": "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." + }, + { + "value": "Upgrading", + "description": "Indicates that the cluster is being upgraded with the user provided configuration." + }, + { + "value": "UpgradeFailed", + "description": "Indicates that the last upgrade for the cluster has failed." + }, + { + "value": "Ready", + "description": "Indicates that the cluster is in a stable state." + } + ] + } + }, + "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." + }, + "ClusterUpgradeMode": { + "type": "string", + "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n", + "enum": [ + "Automatic", + "Manual" + ], + "default": "Automatic", + "x-ms-enum": { + "name": "ClusterUpgradeMode", + "modelAsString": true, + "values": [ + { + "value": "Automatic", + "description": "The cluster will be automatically upgraded to the latest Service Fabric runtime version, **clusterUpgradeCadence** 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." + } + ] + } + }, + "IPTag": { + "type": "object", + "required": [ + "ipTagType", + "tag" + ], + "properties": { + "ipTagType": { + "type": "string", + "description": "The IP tag type." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag." + } + }, + "description": "IPTag associated with the object." + }, + "LoadBalancingRule": { + "type": "object", + "required": [ + "frontendPort", + "backendPort", + "protocol", + "probeProtocol" + ], + "properties": { + "frontendPort": { + "type": "integer", + "format": "int32", + "description": "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 1 and 65534.", + "minimum": 1, + "maximum": 65534 + }, + "backendPort": { + "type": "integer", + "format": "int32", + "description": "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.", + "minimum": 1, + "maximum": 65534 + }, + "protocol": { + "type": "string", + "description": "The reference to the transport protocol used by the load balancing rule.", + "enum": [ + "tcp", + "udp" + ], + "x-ms-enum": { + "name": "protocol", + "modelAsString": true + } + }, + "probePort": { + "type": "integer", + "format": "int32", + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535.", + "minimum": 1, + "maximum": 65534 + }, + "probeProtocol": { + "type": "string", + "description": "the reference to the load balancer probe used by the load balancing rule.", + "enum": [ + "tcp", + "http", + "https" + ], + "x-ms-enum": { + "name": "probeProtocol", + "modelAsString": true + } + }, + "probeRequestPath": { + "type": "string", + "description": "The probe request path. Only supported for HTTP/HTTPS probes." + } + }, + "description": "Describes a load balancing rule." + }, + "ManagedCluster": { + "type": "object", + "description": "The manged cluster resource\n", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "type": "object" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagedClusterProperties", + "description": "The managed cluster resource properties" + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the managed cluster" + } + } + }, + "ManagedClusterCodeVersionListResult": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterCodeVersionResult" + }, + "description": "The list results of the Service Fabric runtime versions." + }, + "ManagedClusterCodeVersionResult": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identification of the result" + }, + "name": { + "type": "string", + "description": "The name of the result" + }, + "type": { + "type": "string", + "description": "The result resource type" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagedClusterVersionDetails" + } + }, + "description": "The result of the Service Fabric runtime versions" + }, + "ManagedClusterListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "Managed Cluster list results" + }, + "ManagedClusterProperties": { + "type": "object", + "required": [ + "dnsName", + "adminUserName" + ], + "properties": { + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "fqdn": { + "type": "string", + "description": "The fully qualified domain name associated with the public load balancer of the cluster.", + "readOnly": true + }, + "ipv4Address": { + "type": "string", + "description": "The IPv4 address associated with the public load balancer of the cluster.", + "readOnly": true + }, + "clusterId": { + "type": "string", + "description": "A service generated unique identifier for the cluster resource.", + "readOnly": true + }, + "clusterState": { + "readOnly": true, + "$ref": "#/definitions/ClusterState", + "description": "The current state of the cluster." + }, + "clusterCertificateThumbprints": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of thumbprints of the cluster certificates.", + "readOnly": true + }, + "clientConnectionPort": { + "type": "integer", + "format": "int32", + "description": "The port used for client connections to the cluster.", + "default": 19000 + }, + "httpGatewayConnectionPort": { + "type": "integer", + "format": "int32", + "description": "The port used for HTTP connections to the cluster.", + "default": 19080 + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "adminPassword": { + "type": "string", + "x-ms-secret": true, + "format": "password", + "description": "VM admin user password." + }, + "loadBalancingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + }, + "description": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "allowRdpAccess": { + "type": "boolean", + "description": "Setting this to true enables RDP access to the VM. The default NSG rule opens RDP port to Internet which can be overridden with custom Network Security Rules. The default value for this setting is false." + }, + "networkSecurityRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + }, + "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." + }, + "clients": { + "type": "array", + "items": { + "$ref": "#/definitions/ClientCertificate" + }, + "description": "Client certificates that are allowed to manage the cluster." + }, + "azureActiveDirectory": { + "$ref": "#/definitions/AzureActiveDirectory", + "description": "The AAD authentication settings of the cluster." + }, + "fabricSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/SettingsSectionDescription" + }, + "description": "The list of custom fabric settings to configure the cluster." + }, + "provisioningState": { + "$ref": "#/definitions/ManagedResourceProvisioningState", + "readOnly": true, + "description": "The provisioning state of the managed cluster resource." + }, + "clusterCodeVersion": { + "type": "string", + "description": "The Service Fabric runtime version of the cluster. This property is required when **clusterUpgradeMode** is set to 'Manual'. To get list of available Service Fabric versions for new clusters use [ClusterVersion API](./ClusterVersion.md). To get the list of available version for existing clusters use **availableClusterVersions**." + }, + "clusterUpgradeMode": { + "$ref": "#/definitions/ClusterUpgradeMode" + }, + "clusterUpgradeCadence": { + "$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 **clusterUpgradeMode** is set to 'Automatic'." + }, + "addonFeatures": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterAddOnFeature" + }, + "description": "List of add-on features to enable on the cluster." + }, + "enableAutoOSUpgrade": { + "type": "boolean", + "description": "Setting this to true enables automatic OS upgrade for the node types that are created using any platform OS image with version 'latest'. The default value for this setting is false." + }, + "zonalResiliency": { + "type": "boolean", + "description": "Indicates if the cluster has zone resiliency.", + "default": false + }, + "applicationTypeVersionsCleanupPolicy": { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy", + "description": "The policy used to clean up unused versions." + }, + "enableIpv6": { + "type": "boolean", + "description": "Setting this to true creates IPv6 address space for the default VNet used by the cluster. This setting cannot be changed once the cluster is created. The default value for this setting is false." + }, + "subnetId": { + "type": "string", + "description": "If specified, the node types for the cluster are created in this subnet instead of the default VNet. The **networkSecurityRules** specified for the cluster are also applied to this subnet. This setting cannot be changed once the cluster is created." + }, + "ipTags": { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + }, + "description": "The list of IP tags associated with the default public IP address of the cluster." + }, + "ipv6Address": { + "type": "string", + "description": "IPv6 address for the cluster if IPv6 is enabled.", + "readOnly": true + }, + "enableServicePublicIP": { + "type": "boolean", + "description": "Setting this to true will link the IPv4 address as the ServicePublicIP of the IPv6 address. It can only be set to True if IPv6 is enabled on the cluster." + }, + "auxiliarySubnets": { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + }, + "description": "Auxiliary subnets for the cluster." + }, + "serviceEndpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpoint" + }, + "description": "Service endpoints for subnets in the cluster." + } + }, + "description": "Describes the managed cluster resource properties." + }, + "ManagedClusterUpdateParameters": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "description": "Managed cluster update parameters", + "additionalProperties": { + "type": "string" + } + } + }, + "description": "Managed cluster update request" + }, + "ManagedClusterVersionDetails": { + "type": "object", + "properties": { + "clusterCodeVersion": { + "type": "string", + "description": "The Service Fabric runtime version of the cluster." + }, + "supportExpiryUtc": { + "type": "string", + "description": "The date of expiry of support of the version." + }, + "osType": { + "$ref": "#/definitions/OsType" + } + }, + "description": "The detail of the Service Fabric runtime version result" + }, + "ManagedVMSize": { + "type": "object", + "properties": { + "properties": { + "description": "VM Size properties.", + "$ref": "#/definitions/VMSize", + "readOnly": true + }, + "id": { + "type": "string", + "description": "VM Size id.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "VM Size name.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "VM Size type.", + "readOnly": true + } + }, + "description": "Describes a VM Sizes." + }, + "ManagedVMSizesResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "List of Managed VM Sizes for Service Fabric Managed Clusters.", + "items": { + "$ref": "#/definitions/ManagedVMSize" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of Managed VM Sizes if there are any.", + "readOnly": true + } + }, + "description": "Describes the result of the request to list Managed VM Sizes for Service Fabric Managed Clusters." + }, + "OsType": { + "type": "string", + "description": "Cluster operating system, the default will be Windows", + "enum": [ + "Windows" + ] + }, + "ServiceEndpoint": { + "type": "object", + "required": [ + "service" + ], + "properties": { + "service": { + "type": "string", + "description": "The type of the endpoint service." + }, + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of locations." + } + }, + "description": "The service endpoint properties." + }, + "Sku": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "$ref": "#/definitions/SkuName", + "description": "Sku Name." + } + }, + "description": "Service Fabric managed cluster Sku definition" + }, + "SkuName": { + "type": "string", + "description": "Sku Name.", + "enum": [ + "Basic", + "Standard" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true, + "values": [ + { + "value": "Basic", + "description": "Basic requires a minimum of 3 nodes and allows only 1 node type." + }, + { + "value": "Standard", + "description": "Requires a minimum of 5 nodes and allows 1 or more node type." + } + ] + } + }, + "Subnet": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Subnet name." + }, + "enableIpv6": { + "type": "boolean", + "description": "Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster." + }, + "privateEndpointNetworkPolicies": { + "type": "string", + "description": "Enable or Disable apply network policies on private end point in the subnet.", + "enum": [ + "enabled", + "disabled" + ], + "x-ms-enum": { + "name": "privateEndpointNetworkPolicies", + "modelAsString": true + } + }, + "privateLinkServiceNetworkPolicies": { + "type": "string", + "description": "Enable or Disable apply network policies on private link service in the subnet.", + "enum": [ + "enabled", + "disabled" + ], + "x-ms-enum": { + "name": "privateLinkServiceNetworkPolicies", + "modelAsString": true + } + }, + "networkSecurityGroupId": { + "type": "string", + "description": "Full resource id for the network security group." + } + }, + "description": "Describes a Subnet." + }, + "VMSize": { + "type": "object", + "properties": { + "size": { + "type": "string", + "description": "VM Size name.", + "readOnly": true + } + }, + "description": "VM Sizes properties." + }, + "AvailableOperationDisplay": { + "type": "object", + "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" + }, + "ErrorModel": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorModelError", + "description": "The error details." + } + }, + "description": "The structure of the error." + }, + "ErrorModelError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "The error details." + }, + "ManagedResourceProvisioningState": { + "type": "string", + "description": "The provisioning state of the managed resource.", + "enum": [ + "None", + "Creating", + "Created", + "Updating", + "Succeeded", + "Failed", + "Canceled", + "Deleting", + "Deleted", + "Other" + ], + "x-ms-enum": { + "name": "ManagedResourceProvisioningState", + "modelAsString": true + } + }, + "NetworkSecurityRule": { + "type": "object", + "required": [ + "name", + "protocol", + "access", + "priority", + "direction" + ], + "properties": { + "name": { + "type": "string", + "description": "Network security rule name." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "protocol": { + "type": "string", + "description": "Network protocol this rule applies to.", + "enum": [ + "http", + "https", + "tcp", + "udp", + "icmp", + "ah", + "esp" + ], + "x-ms-enum": { + "name": "nsgProtocol", + "modelAsString": true + } + }, + "sourceAddressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The CIDR or source IP ranges." + }, + "destinationAddressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The destination address prefixes. CIDR or destination IP ranges." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The source port ranges." + }, + "destinationPortRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The destination port ranges." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "destinationPortRange": { + "type": "string", + "description": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "access": { + "type": "string", + "description": "The network traffic is allowed or denied.", + "enum": [ + "allow", + "deny" + ], + "x-ms-enum": { + "name": "access", + "modelAsString": true + } + }, + "priority": { + "type": "integer", + "format": "int32", + "description": "The priority of the rule. The value can be in the range 1000 to 3000. Values outside this range are reserved for Service Fabric ManagerCluster Resource Provider. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.", + "minimum": 1000, + "maximum": 3000 + }, + "direction": { + "type": "string", + "description": "Network security rule direction.", + "enum": [ + "inbound", + "outbound" + ], + "x-ms-enum": { + "name": "direction", + "modelAsString": true + } + } + }, + "description": "Describes a network security rule." + }, + "OperationListResult": { + "type": "object", + "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": { + "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." + }, + "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" + }, + "Resource": { + "type": "object", + "required": [ + "location" + ], + "properties": { + "id": { + "type": "string", + "description": "Azure resource identifier.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Azure resource name.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Azure resource type.", + "readOnly": true + }, + "location": { + "type": "string", + "description": "Azure resource location.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "description": "Azure resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "etag": { + "type": "string", + "description": "Azure resource etag.", + "readOnly": true + }, + "systemData": { + "$ref": "#/definitions/SystemData" + } + }, + "description": "The resource model definition.", + "x-ms-azure-resource": true + }, + "SettingsParameterDescription": { + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string", + "description": "The parameter name of fabric setting." + }, + "value": { + "type": "string", + "description": "The parameter value of fabric setting." + } + }, + "description": "Describes a parameter in fabric settings of the cluster." + }, + "SettingsSectionDescription": { + "type": "object", + "required": [ + "name", + "parameters" + ], + "properties": { + "name": { + "type": "string", + "description": "The section name of the fabric settings." + }, + "parameters": { + "type": "array", + "description": "The collection of parameters in the section.", + "items": { + "$ref": "#/definitions/SettingsParameterDescription" + } + } + }, + "description": "Describes a section in the fabric settings of the cluster." + }, + "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 \"2021-11-01-preview\" for this specification.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "clusterNameParameter": { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "clusterVersion": { + "name": "clusterVersion", + "in": "path", + "description": "The cluster code version.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "environment": { + "name": "environment", + "in": "path", + "description": "The operating system of the cluster. The default means all.", + "required": true, + "type": "string", + "enum": [ + "Windows" + ], + "x-ms-parameter-location": "method" + }, + "location": { + "name": "location", + "in": "path", + "description": "The location for the cluster code versions. This is different from cluster location.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The customer subscription identifier.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "vmSize": { + "name": "vmSize", + "in": "path", + "description": "VM Size name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/nodetype.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/nodetype.json new file mode 100644 index 000000000000..4590b42db315 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/preview/2021-11-01-preview/nodetype.json @@ -0,0 +1,1475 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceFabricManagementClient", + "description": "Azure Service Fabric Resource Provider API Client", + "version": "2021-11-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "type": "oauth2" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/nodeTypes": { + "get": { + "operationId": "NodeTypes_ListByManagedClusters", + "summary": "Gets the list of Node types of the specified managed cluster.", + "description": "Gets all Node types of the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "tags": [ + "NodeType" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List node type of the specified managed cluster": { + "$ref": "./examples/NodeTypeListOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NodeTypeListResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/nodeTypes/{nodeTypeName}/restart": { + "post": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_Restart", + "summary": "Restarts one or more nodes on the node type.", + "description": "Restarts one or more nodes on the node type. It will disable the fabric nodes, trigger a restart on the VMs and activate the nodes back again.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "parameters for restart action.", + "required": true, + "schema": { + "$ref": "#/definitions/NodeTypeActionParameters" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Restart nodes": { + "$ref": "./examples/RestartNodes_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/nodeTypes/{nodeTypeName}/reimage": { + "post": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_Reimage", + "summary": "Reimages one or more nodes on the node type.", + "description": "Reimages one or more nodes on the node type. It will disable the fabric nodes, trigger a reimage on the VMs and activate the nodes back again.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "parameters for reimage action.", + "required": true, + "schema": { + "$ref": "#/definitions/NodeTypeActionParameters" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Reimage nodes": { + "$ref": "./examples/ReimageNodes_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/nodeTypes/{nodeTypeName}/deleteNode": { + "post": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_DeleteNode", + "summary": "Deletes one or more nodes on the node type.", + "description": "Deletes one or more nodes on the node type. It will disable the fabric nodes, trigger a delete on the VMs and removes the state from the cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "parameters for delete action.", + "required": true, + "schema": { + "$ref": "#/definitions/NodeTypeActionParameters" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Delete nodes": { + "$ref": "./examples/DeleteNodes_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/nodeTypes/{nodeTypeName}/skus": { + "get": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypeSkus_List", + "summary": "Gets a Service Fabric node type SKUs.", + "description": "Get a Service Fabric node type supported SKUs.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List a node type SKUs": { + "$ref": "./examples/NodeTypeSkusListOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NodeTypeListSkuResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/nodeTypes/{nodeTypeName}": { + "get": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_Get", + "summary": "Gets a Service Fabric node type.", + "description": "Get a Service Fabric node type of a given managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Get a node type": { + "$ref": "./examples/NodeTypeGetOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NodeType" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "put": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_CreateOrUpdate", + "summary": "Creates or updates a Service Fabric node type.", + "description": "Create or update a Service Fabric node type of a given managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The node type resource.", + "required": true, + "schema": { + "$ref": "#/definitions/NodeType" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Put a node type with minimum parameters": { + "$ref": "./examples/NodeTypePutOperation_example_min.json" + }, + "Put a node type with maximum parameters": { + "$ref": "./examples/NodeTypePutOperation_example_max.json" + }, + "Put a node type with auto-scale parameters": { + "$ref": "./examples/NodeTypePutOperationAutoScale_example.json" + }, + "Put an stateless node type with temporary disk for service fabric": { + "$ref": "./examples/NodeTypePutOperationStateless_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NodeType" + } + }, + "202": { + "description": "The request was accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NodeType" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "patch": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_Update", + "summary": "Update the tags of a node type resource of a given managed cluster.", + "description": "Update the configuration of a node type of a given managed cluster, only updating tags.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters to update the node type configuration.", + "required": true, + "schema": { + "$ref": "#/definitions/NodeTypeUpdateParameters" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Patch a node type": { + "$ref": "./examples/NodeTypePatchOperation_example.json" + }, + "Patch a node type while auto-scaling": { + "$ref": "./examples/NodeTypePatchOperationAutoScale_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NodeType" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "delete": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_Delete", + "summary": "Deletes a Service Fabric node type.", + "description": "Delete a Service Fabric node type of a given managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Delete a node type": { + "$ref": "./examples/NodeTypeDeleteOperation_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "204": { + "description": "The resource was not found." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + } + }, + "definitions": { + "DiskType": { + "type": "string", + "description": "Managed data disk type. IOPS and throughput are given by the disk size, to see more information go to https://docs.microsoft.com/en-us/azure/virtual-machines/disks-types.\n", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ], + "default": "StandardSSD_LRS", + "x-ms-enum": { + "name": "DiskType", + "modelAsString": true, + "values": [ + { + "value": "Standard_LRS", + "description": "Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access." + }, + { + "value": "StandardSSD_LRS", + "description": "Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test." + }, + { + "value": "Premium_LRS", + "description": "Premium SSD locally redundant storage. Best for production and performance sensitive workloads." + } + ] + } + }, + "FrontendConfiguration": { + "type": "object", + "properties": { + "ipAddressType": { + "$ref": "#/definitions/IPAddressType", + "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." + }, + "loadBalancerBackendAddressPoolId": { + "type": "string", + "description": "The resource Id of the Load Balancer backend address pool that the VM instances of the node type are associated with. The format of the resource Id is '/subscriptions//resourceGroups//providers/Microsoft.Network/loadBalancers//backendAddressPools/'." + }, + "loadBalancerInboundNatPoolId": { + "type": "string", + "description": "The resource Id of the Load Balancer inbound NAT pool that the VM instances of the node type are associated with. The format of the resource Id is '/subscriptions//resourceGroups//providers/Microsoft.Network/loadBalancers//inboundNatPools/'." + } + }, + "description": "Describes the frontend configurations for the node type." + }, + "IPAddressType": { + "type": "string", + "description": "The IP address type.\n", + "enum": [ + "IPv4", + "IPv6" + ], + "default": "IPv4", + "x-ms-enum": { + "name": "IPAddressType", + "modelAsString": true, + "values": [ + { + "value": "IPv4", + "description": "IPv4 address type." + }, + { + "value": "IPv6", + "description": "IPv6 address type." + } + ] + } + }, + "ManagedProxyResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Azure resource identifier.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Azure resource name.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Azure resource type.", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Azure resource tags.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "systemData": { + "$ref": "#/definitions/SystemData" + } + }, + "description": "The resource model definition for proxy-only resource.", + "x-ms-azure-resource": true + }, + "NodeType": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ManagedProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NodeTypeProperties", + "description": "The node type properties" + }, + "sku": { + "$ref": "#/definitions/NodeTypeSku", + "description": "The node type sku." + } + }, + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeActionParameters": { + "type": "object", + "required": [ + "nodes" + ], + "properties": { + "nodes": { + "description": "List of node names from the node type.", + "type": "array", + "items": { + "type": "string" + } + }, + "force": { + "description": "Force the action to go through.", + "type": "boolean" + } + }, + "description": "Parameters for Node type action." + }, + "NodeTypeProperties": { + "type": "object", + "required": [ + "isPrimary", + "vmInstanceCount" + ], + "properties": { + "isPrimary": { + "type": "boolean", + "description": "Indicates the Service Fabric system services for the cluster will run on this node type. This setting cannot be changed once the node type is created." + }, + "vmInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The number of nodes in the node type.

**Values:**
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale.", + "minimum": -1, + "maximum": 2147483647 + }, + "dataDiskSizeGB": { + "type": "integer", + "format": "int32", + "description": "Disk size for the managed disk attached to the vms on the node type in GBs." + }, + "dataDiskType": { + "$ref": "#/definitions/DiskType", + "description": "Managed data disk type. Specifies the storage account type for the managed disk" + }, + "dataDiskLetter": { + "type": "string", + "pattern": "^[a-zA-Z]{1}$", + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "placementProperties": { + "type": "object", + "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run.", + "additionalProperties": { + "type": "string", + "description": "Placement tag value" + } + }, + "capacities": { + "type": "object", + "description": "The capacity tags applied to the nodes in the node type, the cluster resource manager uses these tags to understand how much resource a node has.", + "additionalProperties": { + "type": "string", + "description": "Capacity tag value" + } + }, + "applicationPorts": { + "$ref": "#/definitions/EndpointRangeDescription", + "description": "The range of ports from which cluster assigned port to Service Fabric applications." + }, + "ephemeralPorts": { + "$ref": "#/definitions/EndpointRangeDescription", + "description": "The range of ephemeral ports that nodes in this node type should be configured with." + }, + "vmSize": { + "type": "string", + "description": "The size of virtual machines in the pool. All virtual machines in a pool are the same size. For example, Standard_D3." + }, + "vmImagePublisher": { + "type": "string", + "description": "The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer." + }, + "vmImageOffer": { + "type": "string", + "description": "The offer type of the Azure Virtual Machines Marketplace image. For example, UbuntuServer or WindowsServer." + }, + "vmImageSku": { + "type": "string", + "description": "The SKU of the Azure Virtual Machines Marketplace image. For example, 14.04.0-LTS or 2012-R2-Datacenter." + }, + "vmImageVersion": { + "type": "string", + "description": "The version of the Azure Virtual Machines Marketplace image. A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'." + }, + "vmSecrets": { + "type": "array", + "title": "virtual machine secretes.", + "description": "The secrets to install in the virtual machines.", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } + }, + "vmExtensions": { + "type": "array", + "title": "virtual machine extensions.", + "description": "Set of extensions that should be installed onto the virtual machines.", + "items": { + "$ref": "#/definitions/VMSSExtension" + } + }, + "vmManagedIdentity": { + "$ref": "#/definitions/VmManagedIdentity", + "description": "Identities to assign to the virtual machine scale set under the node type." + }, + "isStateless": { + "type": "boolean", + "description": "Indicates if the node type can only host Stateless workloads.", + "default": false + }, + "multiplePlacementGroups": { + "type": "boolean", + "description": "Indicates if scale set associated with the node type can be composed of multiple placement groups.", + "default": false + }, + "frontendConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendConfiguration" + }, + "description": "Indicates the node type uses its own frontend configurations instead of the default one for the cluster. This setting can only be specified for non-primary node types and can not be added or removed after the node type is created." + }, + "networkSecurityRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + }, + "description": "The Network Security Rules for this node type. This setting can only be specified for node types that are configured with frontend configurations." + }, + "additionalDataDisks": { + "type": "array", + "items": { + "$ref": "#/definitions/VmssDataDisk" + }, + "description": "Additional managed data disks." + }, + "enableEncryptionAtHost": { + "type": "boolean", + "description": "Enable or disable the Host Encryption for the virtual machines on the node type. 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.", + "default": false + }, + "provisioningState": { + "$ref": "#/definitions/ManagedResourceProvisioningState", + "readOnly": true, + "description": "The provisioning state of the node type resource." + }, + "enableAcceleratedNetworking": { + "type": "boolean", + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "useDefaultPublicLoadBalancer": { + "type": "boolean", + "description": "Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity." + }, + "useTempDataDisk": { + "type": "boolean", + "description": "Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types." + } + }, + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "title": "node type list value.", + "description": "The list of node types.", + "items": { + "$ref": "#/definitions/NodeType" + } + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "Node type list results" + }, + "NodeTypeUpdateParameters": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "description": "Node type update parameters", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/NodeTypeSku", + "description": "The node type sku." + } + }, + "description": "Node type update request" + }, + "NodeTypeSku": { + "type": "object", + "required": [ + "capacity" + ], + "properties": { + "name": { + "type": "string", + "description": "The sku name.

Name is internally generated and is used in auto-scale scenarios.
Property does not allow to be changed to other values than generated.
To avoid deployment errors please omit the property." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of the node type.

Possible Values:
**Standard**" + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "The number of nodes in the node type.

If present in request it will override properties.vmInstanceCount.", + "minimum": 1, + "maximum": 2147483647 + } + }, + "description": "Describes a node type sku." + }, + "NodeTypeSkuCapacity": { + "type": "object", + "properties": { + "minimum": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "Lowest permitted node count in a node type." + }, + "maximum": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "Highest permitted node count in a node type." + }, + "default": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "Default node count in a node type." + }, + "scaleType": { + "$ref": "#/definitions/NodeTypeSkuScaleType", + "readOnly": true, + "description": "Node type capacity scale type." + } + }, + "description": "Provides information about how node type can be scaled." + }, + "NodeTypeSkuScaleType": { + "type": "string", + "description": "Node type capacity scale type.\n", + "enum": [ + "None", + "Manual", + "Automatic" + ], + "default": "None", + "x-ms-enum": { + "name": "NodeTypeSkuScaleType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "Node count is not adjustable in any way (e.g. it is fixed)." + }, + { + "value": "Manual", + "description": "The user must manually scale out/in." + }, + { + "value": "Automatic", + "description": "Automatic scale is allowed." + } + ] + } + }, + "NodeTypeAvailableSku": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "readOnly": true, + "description": "The type of resource the sku applies to.

Value: Microsoft.ServiceFabric/managedClusters/nodeTypes." + }, + "sku": { + "$ref": "#/definitions/NodeTypeSupportedSku", + "description": "The supported SKU for a for node type.", + "readOnly": true + }, + "capacity": { + "$ref": "#/definitions/NodeTypeSkuCapacity", + "description": "Provides information about how the node count can be scaled.", + "readOnly": true + } + }, + "description": "Defines the type of sku available for a node type" + }, + "NodeTypeSupportedSku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The sku name.", + "readOnly": true + }, + "tier": { + "type": "string", + "description": "Specifies the tier of the node type.

Possible Values:
**Standard**", + "readOnly": true + } + }, + "description": "Describes a node type supported sku." + }, + "NodeTypeListSkuResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "title": "Node type sku list value.", + "description": "The list of available node type SKUs.", + "items": { + "$ref": "#/definitions/NodeTypeAvailableSku" + } + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "Node type available sku list results" + }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Azure resource identifier." + } + }, + "description": "Azure resource identifier.", + "x-ms-azure-resource": true + }, + "VaultCertificate": { + "type": "object", + "required": [ + "certificateUrl", + "certificateStore" + ], + "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\":\"\"
}" + }, + "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." + } + }, + "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." + }, + "VaultSecretGroup": { + "type": "object", + "required": [ + "sourceVault", + "vaultCertificates" + ], + "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": "Specifies set of certificates that should be installed onto the virtual machines." + }, + "VmManagedIdentity": { + "type": "object", + "properties": { + "userAssignedIdentities": { + "type": "array", + "description": "The list of user identities associated with the virtual machine scale set under the node type. Each entry will be an ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "items": { + "type": "string" + } + } + }, + "description": "Identities for the virtual machine scale set under the node type." + }, + "VmssDataDisk": { + "type": "object", + "required": [ + "lun", + "diskSizeGB", + "diskType", + "diskLetter" + ], + "properties": { + "lun": { + "type": "integer", + "format": "int32", + "minimum": 1, + "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. Lun 0 is reserved for the service fabric data disk." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "Disk size for each vm in the node type in GBs." + }, + "diskType": { + "$ref": "#/definitions/DiskType", + "description": "Managed data disk type. Specifies the storage account type for the managed disk" + }, + "diskLetter": { + "type": "string", + "pattern": "^[a-zA-Z]{1}$", + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + } + }, + "description": "Managed data disk description." + }, + "VMSSExtension": { + "type": "object", + "required": [ + "name", + "properties" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the extension." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VMSSExtensionProperties", + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + } + }, + "description": "Specifies set of extensions that should be installed onto the virtual machines." + }, + "VMSSExtensionProperties": { + "type": "object", + "required": [ + "publisher", + "type", + "typeHandlerVersion" + ], + "properties": { + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "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." + }, + "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." + }, + "protectedSettings": { + "type": "object", + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "forceUpdateTag": { + "type": "string", + "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed." + }, + "provisionAfterExtensions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Collection of extension names after which this extension needs to be provisioned." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + } + }, + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "AvailableOperationDisplay": { + "type": "object", + "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" + }, + "EndpointRangeDescription": { + "type": "object", + "required": [ + "endPort", + "startPort" + ], + "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" + }, + "ErrorModel": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorModelError", + "description": "The error details." + } + }, + "description": "The structure of the error." + }, + "ErrorModelError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "The error details." + }, + "ManagedResourceProvisioningState": { + "type": "string", + "description": "The provisioning state of the managed resource.", + "enum": [ + "None", + "Creating", + "Created", + "Updating", + "Succeeded", + "Failed", + "Canceled", + "Deleting", + "Deleted", + "Other" + ], + "x-ms-enum": { + "name": "ManagedResourceProvisioningState", + "modelAsString": true + } + }, + "NetworkSecurityRule": { + "type": "object", + "required": [ + "name", + "protocol", + "access", + "priority", + "direction" + ], + "properties": { + "name": { + "type": "string", + "description": "Network security rule name." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "protocol": { + "type": "string", + "description": "Network protocol this rule applies to.", + "enum": [ + "http", + "https", + "tcp", + "udp", + "icmp", + "ah", + "esp" + ], + "x-ms-enum": { + "name": "nsgProtocol", + "modelAsString": true + } + }, + "sourceAddressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The CIDR or source IP ranges." + }, + "destinationAddressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The destination address prefixes. CIDR or destination IP ranges." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The source port ranges." + }, + "destinationPortRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The destination port ranges." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "destinationPortRange": { + "type": "string", + "description": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "access": { + "type": "string", + "description": "The network traffic is allowed or denied.", + "enum": [ + "allow", + "deny" + ], + "x-ms-enum": { + "name": "access", + "modelAsString": true + } + }, + "priority": { + "type": "integer", + "format": "int32", + "description": "The priority of the rule. The value can be in the range 1000 to 3000. Values outside this range are reserved for Service Fabric ManagerCluster Resource Provider. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.", + "minimum": 1000, + "maximum": 3000 + }, + "direction": { + "type": "string", + "description": "Network security rule direction.", + "enum": [ + "inbound", + "outbound" + ], + "x-ms-enum": { + "name": "direction", + "modelAsString": true + } + } + }, + "description": "Describes a network security rule." + }, + "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." + }, + "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" + }, + "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 \"2021-11-01-preview\" for this specification.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "clusterNameParameter": { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "nodeTypeNameParameter": { + "name": "nodeTypeName", + "in": "path", + "description": "The name of the node type.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The customer subscription identifier.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/readme.md b/specification/servicefabricmanagedclusters/resource-manager/readme.md index d972f6b5ca98..03bc116577cf 100644 --- a/specification/servicefabricmanagedclusters/resource-manager/readme.md +++ b/specification/servicefabricmanagedclusters/resource-manager/readme.md @@ -27,7 +27,7 @@ These are the global settings for the ServiceFabricManagedClustersManagementClie title: ServiceFabricManagedClustersManagementClient description: Service Fabric Managed Clusters Management Client openapi-type: arm -tag: package-2021-07-preview +tag: package-2021-11-preview directive: - suppress: ListInOperationName @@ -69,6 +69,17 @@ directive: ``` +### Tag: package-2021-11-preview + +These settings apply only when `--tag=package-2021-11-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2021-11-preview' +input-file: +- Microsoft.ServiceFabric/preview/2021-11-01-preview/managedapplication.json +- Microsoft.ServiceFabric/preview/2021-11-01-preview/managedcluster.json +- Microsoft.ServiceFabric/preview/2021-11-01-preview/nodetype.json +``` + ### Tag: package-2021-09-privatepreview These settings apply only when `--tag=package-2021-09-privatepreview` is specified on the command line. diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2021-11-01-preview/examples/PatchLink.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2021-11-01-preview/examples/PatchLink.json index 500fe59e7232..cb401e4f5110 100644 --- a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2021-11-01-preview/examples/PatchLink.json +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2021-11-01-preview/examples/PatchLink.json @@ -25,8 +25,7 @@ "authInfo": { "authType": "servicePrincipalSecret", "clientId": "name", - "principalId": "id", - "secret": "secret" + "principalId": "id" }, "targetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" } @@ -41,8 +40,7 @@ "authInfo": { "authType": "servicePrincipalSecret", "clientId": "name", - "principalId": "id", - "secret": "secret" + "principalId": "id" }, "targetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" } diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2021-11-01-preview/servicelinker.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2021-11-01-preview/servicelinker.json index 4c3610906e10..0afe99975fac 100644 --- a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2021-11-01-preview/servicelinker.json +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2021-11-01-preview/servicelinker.json @@ -485,7 +485,8 @@ }, "secret": { "description": "Secret for servicePrincipal auth.", - "type": "string" + "type": "string", + "x-ms-secret": true } }, "required": [ @@ -514,7 +515,8 @@ }, "certificate": { "description": "ServicePrincipal certificate for servicePrincipal auth.", - "type": "string" + "type": "string", + "x-ms-secret": true } }, "required": [ diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/Operations_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/Operations_List.json new file mode 100644 index 000000000000..7d66cc1daea4 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/Operations_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.SignalRService/WebPubSub/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.SignalRService", + "resource": "WebPubSub", + "operation": "Manage WebPubSub (read-only)", + "description": "View the resource settings and configurations in the management portal or through API" + }, + "properties": {} + } + ], + "nextLink": "providers/Microsoft.SignalRService?$skipToken={opaqueString}" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRPrivateEndpointConnections_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRPrivateEndpointConnections_Delete.json new file mode 100644 index 000000000000..6ddcc7389b31 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRPrivateEndpointConnections_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "privateEndpointConnectionName": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRPrivateEndpointConnections_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRPrivateEndpointConnections_Get.json new file mode 100644 index 000000000000..ffbc3e83d467 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRPrivateEndpointConnections_Get.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "privateEndpointConnectionName": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e" + }, + "responses": { + "200": { + "body": { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "groupIds": [ + "signalr" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRPrivateEndpointConnections_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRPrivateEndpointConnections_List.json new file mode 100644 index 000000000000..6518d76f0381 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRPrivateEndpointConnections_List.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "groupIds": [ + "signalr" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRPrivateEndpointConnections_Update.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRPrivateEndpointConnections_Update.json new file mode 100644 index 000000000000..a73ad1c15673 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRPrivateEndpointConnections_Update.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "parameters": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + }, + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "privateEndpointConnectionName": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e" + }, + "responses": { + "200": { + "body": { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "groupIds": [ + "signalr" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRPrivateLinkResources_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRPrivateLinkResources_List.json new file mode 100644 index 000000000000..b84109cca39c --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRPrivateLinkResources_List.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "groupId": "signalr", + "requiredMembers": [ + "signalr" + ], + "requiredZoneNames": [ + "privatelink.service.signalr.net" + ], + "shareablePrivateLinkResourceTypes": [ + { + "name": "site", + "properties": { + "description": "Azure App Service can be used as an upstream", + "groupId": "sites", + "type": "Microsoft.Web/sites" + } + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateLinkResources/myPrivateLink", + "name": "myPrivateLink", + "type": "privateLinkResources" + } + ], + "nextLink": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToMoreResults..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRSharedPrivateLinkResources_CreateOrUpdate.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRSharedPrivateLinkResources_CreateOrUpdate.json new file mode 100644 index 000000000000..afacd168face --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRSharedPrivateLinkResources_CreateOrUpdate.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "parameters": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "requestMessage": "Please approve" + } + }, + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + }, + "201": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRSharedPrivateLinkResources_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRSharedPrivateLinkResources_Delete.json new file mode 100644 index 000000000000..f78f6b294b8b --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRSharedPrivateLinkResources_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRSharedPrivateLinkResources_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRSharedPrivateLinkResources_Get.json new file mode 100644 index 000000000000..44af868ba77f --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRSharedPrivateLinkResources_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRSharedPrivateLinkResources_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRSharedPrivateLinkResources_List.json new file mode 100644 index 000000000000..dafd0e14fd20 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalRSharedPrivateLinkResources_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_CheckNameAvailability.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_CheckNameAvailability.json new file mode 100644 index 000000000000..9c5db4b32896 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_CheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "location": "eastus", + "parameters": { + "type": "Microsoft.SignalRService/SignalR", + "name": "mySignalRService" + }, + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "The name is already taken. Please try a different name." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_CreateOrUpdate.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_CreateOrUpdate.json new file mode 100644 index 000000000000..d77bb64f644d --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_CreateOrUpdate.json @@ -0,0 +1,361 @@ +{ + "parameters": { + "parameters": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "capacity": 1 + }, + "properties": { + "tls": { + "clientCertEnabled": false + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "hubPattern": "*", + "eventPattern": "connect,disconnect", + "categoryPattern": "*", + "urlTemplate": "https://example.com/chat/api/connect", + "auth": { + "type": "ManagedIdentity", + "managedIdentity": { + "resource": "api://example" + } + } + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR" + } + }, + "201": { + "body": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR" + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_Delete.json new file mode 100644 index 000000000000..132a043085fb --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_Get.json new file mode 100644 index 000000000000..9a9550522e21 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_Get.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_ListByResourceGroup.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_ListByResourceGroup.json new file mode 100644 index 000000000000..935d96979f60 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_ListByResourceGroup.json @@ -0,0 +1,142 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_ListBySubscription.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_ListBySubscription.json new file mode 100644 index 000000000000..0000ae3a3276 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_ListBySubscription.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_ListKeys.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_ListKeys.json new file mode 100644 index 000000000000..a3e8dde06723 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_ListKeys.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_ListSkus.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_ListSkus.json new file mode 100644 index 000000000000..451bb5c0311b --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_ListSkus.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.SignalRService/SignalR", + "sku": { + "name": "Free_F1", + "tier": "Free" + }, + "capacity": { + "minimum": 0, + "maximum": 1, + "default": 1, + "allowedValues": [ + 0, + 1 + ], + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.SignalRService/SignalR", + "sku": { + "name": "Standard_S1", + "tier": "Standard" + }, + "capacity": { + "minimum": 0, + "maximum": 100, + "default": 1, + "allowedValues": [ + 0, + 1, + 2, + 5, + 10, + 20, + 50, + 100 + ], + "scaleType": "Automatic" + } + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_RegenerateKey.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_RegenerateKey.json new file mode 100644 index 000000000000..df11cbcedfb2 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_RegenerateKey.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "parameters": { + "keyType": "Primary" + }, + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "202": { + "body": {}, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_Restart.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_Restart.json new file mode 100644 index 000000000000..78d5a0774adf --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_Restart.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_Update.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_Update.json new file mode 100644 index 000000000000..aefa5bb79ba5 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/SignalR_Update.json @@ -0,0 +1,228 @@ +{ + "parameters": { + "parameters": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "capacity": 1 + }, + "properties": { + "tls": { + "clientCertEnabled": false + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "hubPattern": "*", + "eventPattern": "connect,disconnect", + "categoryPattern": "*", + "urlTemplate": "https://example.com/chat/api/connect", + "auth": { + "type": "ManagedIdentity", + "managedIdentity": { + "resource": "api://example" + } + } + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/Usages_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/Usages_List.json new file mode 100644 index 000000000000..e353b53bc828 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/examples/Usages_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "location": "eastus", + "api-version": "2021-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.SignalRService/locations/eastus/usages/Usage1", + "currentValue": 0, + "limit": 100, + "name": { + "value": "Usage1", + "localizedValue": "Usage1" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.SignalRService/locations/eastus/usages/Usage2", + "currentValue": 0, + "limit": 100, + "name": { + "value": "Usage2", + "localizedValue": "Usage2" + }, + "unit": "Count" + } + ], + "nextLink": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToMoreResults..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/signalr.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/signalr.json new file mode 100644 index 000000000000..cd201ce763b9 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/signalr.json @@ -0,0 +1,2438 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01", + "title": "SignalRManagementClient", + "description": "REST API for Azure SignalR Service" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.SignalRService/operations": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Lists all of the available REST API operations of the Microsoft.SignalRService provider.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of operations.", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "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": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Checks that the resource name is valid and is not already in use.", + "operationId": "SignalR_CheckNameAvailability", + "parameters": [ + { + "name": "location", + "in": "path", + "description": "the region", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Parameters supplied to the operation.", + "required": true, + "schema": { + "$ref": "#/definitions/NameAvailabilityParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the name availability.", + "schema": { + "$ref": "#/definitions/NameAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_CheckNameAvailability": { + "$ref": "./examples/SignalR_CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/usages": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List resource usage quotas by location.", + "operationId": "Usages_List", + "parameters": [ + { + "name": "location", + "in": "path", + "description": "the location like \"eastus\"", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the usage quotas of a subscription in specified region.", + "schema": { + "$ref": "#/definitions/SignalRUsageList" + } + }, + "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": { + "Usages_List": { + "$ref": "./examples/Usages_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/signalR": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Handles requests to list all resources in a subscription.", + "operationId": "SignalR_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of resources in the subscription.", + "schema": { + "$ref": "#/definitions/SignalRResourceList" + } + }, + "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": { + "SignalR_ListBySubscription": { + "$ref": "./examples/SignalR_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Handles requests to list all resources in a resource group.", + "operationId": "SignalR_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of resources in a resourceGroup.", + "schema": { + "$ref": "#/definitions/SignalRResourceList" + } + }, + "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": { + "SignalR_ListByResourceGroup": { + "$ref": "./examples/SignalR_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the resource and its properties.", + "operationId": "SignalR_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding resource.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_Get": { + "$ref": "./examples/SignalR_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Create or update a resource.", + "operationId": "SignalR_CreateOrUpdate", + "parameters": [ + { + "name": "parameters", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a resource.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "201": { + "description": "Created. The response describes the new resource and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting resource is now updating and contains a Location header to query the operation result.." + }, + "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, + "x-ms-examples": { + "SignalR_CreateOrUpdate": { + "$ref": "./examples/SignalR_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Operation to delete a resource.", + "operationId": "SignalR_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is already deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the resource is already deleted." + }, + "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, + "x-ms-examples": { + "SignalR_Delete": { + "$ref": "./examples/SignalR_Delete.json" + } + } + }, + "patch": { + "tags": [ + "SignalR" + ], + "description": "Operation to update an exiting resource.", + "operationId": "SignalR_Update", + "parameters": [ + { + "name": "parameters", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a resource.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting resource is now updating and contains a Location header to query the operation result.." + }, + "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, + "x-ms-examples": { + "SignalR_Update": { + "$ref": "./examples/SignalR_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/listKeys": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Get the access keys of the resource.", + "operationId": "SignalR_ListKeys", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes access keys of the resource.", + "schema": { + "$ref": "#/definitions/SignalRKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_ListKeys": { + "$ref": "./examples/SignalR_ListKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List private endpoint connections", + "operationId": "SignalRPrivateEndpointConnections_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionList" + } + }, + "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": { + "SignalRPrivateEndpointConnections_List": { + "$ref": "./examples/SignalRPrivateEndpointConnections_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the specified private endpoint connection", + "operationId": "SignalRPrivateEndpointConnections_Get", + "parameters": [ + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a private endpoint connection.", + "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-examples": { + "SignalRPrivateEndpointConnections_Get": { + "$ref": "./examples/SignalRPrivateEndpointConnections_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Update the state of specified private endpoint connection", + "operationId": "SignalRPrivateEndpointConnections_Update", + "parameters": [ + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The resource of private endpoint and its properties", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "OK. The response indicates the private endpoint connection is updated successfully.", + "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-examples": { + "SignalRPrivateEndpointConnections_Update": { + "$ref": "./examples/SignalRPrivateEndpointConnections_Update.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Delete the specified private endpoint connection", + "operationId": "SignalRPrivateEndpointConnections_Delete", + "parameters": [ + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is already deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the private endpoint connection is already deleted." + }, + "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, + "x-ms-examples": { + "SignalRPrivateEndpointConnections_Delete": { + "$ref": "./examples/SignalRPrivateEndpointConnections_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the private link resources that need to be created for a resource.", + "operationId": "SignalRPrivateLinkResources_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceList" + } + }, + "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": { + "SignalRPrivateLinkResources_List": { + "$ref": "./examples/SignalRPrivateLinkResources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/regenerateKey": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Regenerate the access key for the resource. PrimaryKey and SecondaryKey cannot be regenerated at the same time.", + "operationId": "SignalR_RegenerateKey", + "parameters": [ + { + "name": "parameters", + "in": "body", + "description": "Parameter that describes the Regenerate Key Operation.", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateKeyParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "202": { + "description": "Accepted and an async operation is executing in background to make the new key to take effect. The response contains new access keys and a Location header to query the async operation result.", + "schema": { + "$ref": "#/definitions/SignalRKeys" + } + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "SignalR_RegenerateKey": { + "$ref": "./examples/SignalR_RegenerateKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/restart": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Operation to restart a resource.", + "operationId": "SignalR_Restart", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates the restart operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the operation is successful and no content will be returned." + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "SignalR_Restart": { + "$ref": "./examples/SignalR_Restart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/sharedPrivateLinkResources": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List shared private link resources", + "operationId": "SignalRSharedPrivateLinkResources_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of shared private link resources.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResourceList" + } + }, + "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": { + "SignalRSharedPrivateLinkResources_List": { + "$ref": "./examples/SignalRSharedPrivateLinkResources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the specified shared private link resource", + "operationId": "SignalRSharedPrivateLinkResources_Get", + "parameters": [ + { + "name": "sharedPrivateLinkResourceName", + "in": "path", + "description": "The name of the shared private link resource", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a shared private link resource.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRSharedPrivateLinkResources_Get": { + "$ref": "./examples/SignalRSharedPrivateLinkResources_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Create or update a shared private link resource", + "operationId": "SignalRSharedPrivateLinkResources_CreateOrUpdate", + "parameters": [ + { + "name": "sharedPrivateLinkResourceName", + "in": "path", + "description": "The name of the shared private link resource", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The shared private link resource", + "required": true, + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "OK. The response indicates the shared private link resource is updated.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "201": { + "description": "Created. The response indicates the shared private link resource is created.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "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, + "x-ms-examples": { + "SignalRSharedPrivateLinkResources_CreateOrUpdate": { + "$ref": "./examples/SignalRSharedPrivateLinkResources_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Delete the specified shared private link resource", + "operationId": "SignalRSharedPrivateLinkResources_Delete", + "parameters": [ + { + "name": "sharedPrivateLinkResourceName", + "in": "path", + "description": "The name of the shared private link resource", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is already deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the private endpoint connection is already deleted." + }, + "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, + "x-ms-examples": { + "SignalRSharedPrivateLinkResources_Delete": { + "$ref": "./examples/SignalRSharedPrivateLinkResources_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/skus": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List all available skus of the resource.", + "operationId": "SignalR_ListSkus", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes all available skus of the resource.", + "schema": { + "$ref": "#/definitions/SkuList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_ListSkus": { + "$ref": "./examples/SignalR_ListSkus.json" + } + } + } + } + }, + "definitions": { + "ACLAction": { + "description": "Default action when no other rule matches", + "enum": [ + "Allow", + "Deny" + ], + "type": "string", + "x-ms-enum": { + "name": "ACLAction", + "modelAsString": true + } + }, + "Dimension": { + "description": "Specifications of the Dimension of metrics.", + "type": "object", + "properties": { + "name": { + "description": "The public facing name of the dimension.", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the dimension.", + "type": "string" + }, + "internalName": { + "description": "Name of the dimension as it appears in MDM.", + "type": "string" + }, + "toBeExportedForShoebox": { + "description": "A Boolean flag indicating whether this dimension should be included for the shoebox export scenario.", + "type": "boolean" + } + } + }, + "FeatureFlags": { + "description": "FeatureFlags is the supported features of Azure SignalR service.\r\n- ServiceMode: Flag for backend server for SignalR service. Values allowed: \"Default\": have your own backend server; \"Serverless\": your application doesn't have a backend server; \"Classic\": for backward compatibility. Support both Default and Serverless mode but not recommended; \"PredefinedOnly\": for future use.\r\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature.", + "enum": [ + "ServiceMode", + "EnableConnectivityLogs", + "EnableMessagingLogs", + "EnableLiveTrace" + ], + "type": "string", + "x-ms-enum": { + "name": "FeatureFlags", + "modelAsString": true + } + }, + "KeyType": { + "description": "The keyType to regenerate. Must be either 'primary' or 'secondary'(case-insensitive).", + "enum": [ + "Primary", + "Secondary", + "Salt" + ], + "type": "string", + "x-ms-enum": { + "name": "KeyType", + "modelAsString": true + } + }, + "LogSpecification": { + "description": "Specifications of the Logs for Azure Monitoring.", + "type": "object", + "properties": { + "name": { + "description": "Name of the log.", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the log.", + "type": "string" + } + } + }, + "ManagedIdentity": { + "description": "A class represent managed identities used for request and response", + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/ManagedIdentityType", + "description": "Represent the identity type: systemAssigned, userAssigned, None" + }, + "userAssignedIdentities": { + "description": "Get or set the user assigned identities", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentityProperty" + } + }, + "principalId": { + "description": "Get the principal id for the system assigned identity.\r\nOnly be used in response.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Get the tenant id for the system assigned identity.\r\nOnly be used in response", + "type": "string", + "readOnly": true + } + } + }, + "ManagedIdentitySettings": { + "description": "Managed identity settings for upstream.", + "type": "object", + "properties": { + "resource": { + "description": "The Resource indicating the App ID URI of the target resource.\r\nIt also appears in the aud (audience) claim of the issued token.", + "type": "string" + } + } + }, + "ManagedIdentityType": { + "description": "Represent the identity type: systemAssigned, userAssigned, None", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedIdentityType", + "modelAsString": true + } + }, + "MetricSpecification": { + "description": "Specifications of the Metrics for Azure Monitoring.", + "type": "object", + "properties": { + "name": { + "description": "Name of the metric.", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the metric.", + "type": "string" + }, + "displayDescription": { + "description": "Localized friendly description of the metric.", + "type": "string" + }, + "unit": { + "description": "The unit that makes sense for the metric.", + "type": "string" + }, + "aggregationType": { + "description": "Only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count.", + "type": "string" + }, + "fillGapWithZero": { + "description": "Optional. If set to true, then zero will be returned for time duration where no metric is emitted/published. \r\nEx. a metric that returns the number of times a particular error code was emitted. The error code may not appear \r\noften, instead of the RP publishing 0, Shoebox can auto fill in 0s for time periods where nothing was emitted.", + "type": "string" + }, + "category": { + "description": "The name of the metric category that the metric belongs to. A metric can only belong to a single category.", + "type": "string" + }, + "dimensions": { + "description": "The dimensions of the metrics.", + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + } + } + } + }, + "NameAvailability": { + "description": "Result of the request to check name availability. It contains a flag and possible reason of failure.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "Indicates whether the name is available or not.", + "type": "boolean" + }, + "reason": { + "description": "The reason of the availability. Required if name is not available.", + "type": "string" + }, + "message": { + "description": "The message of the operation.", + "type": "string" + } + } + }, + "NameAvailabilityParameters": { + "description": "Data POST-ed to the nameAvailability action", + "required": [ + "type", + "name" + ], + "type": "object", + "properties": { + "type": { + "description": "The resource type. Can be \"Microsoft.SignalRService/SignalR\" or \"Microsoft.SignalRService/webPubSub\"", + "type": "string" + }, + "name": { + "description": "The resource name to validate. e.g.\"my-resource-name\"", + "type": "string" + } + } + }, + "NetworkACL": { + "description": "Network ACL", + "type": "object", + "properties": { + "allow": { + "description": "Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRRequestType" + } + }, + "deny": { + "description": "Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRRequestType" + } + } + } + }, + "Operation": { + "description": "REST API operation supported by resource provider.", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation with format: {provider}/{resource}/{operation}", + "type": "string" + }, + "isDataAction": { + "description": "If the operation is a data action. (for data plane rbac)", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "The object that describes the operation." + }, + "origin": { + "description": "Optional. 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/OperationProperties", + "description": "Extra properties for the operation.", + "x-ms-client-flatten": false + } + } + }, + "OperationDisplay": { + "description": "The object that describes a operation.", + "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": "The localized friendly name for the operation.", + "type": "string" + }, + "description": { + "description": "The localized friendly description for the operation", + "type": "string" + } + } + }, + "OperationList": { + "description": "Result of the request to list REST API operations. It contains a list of operations.", + "type": "object", + "properties": { + "value": { + "description": "List of operations supported by the resource provider.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "OperationProperties": { + "description": "Extra Operation properties.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "The service specifications." + } + } + }, + "PrivateEndpoint": { + "description": "Private endpoint", + "type": "object", + "properties": { + "id": { + "description": "Full qualified Id of the private endpoint", + "type": "string" + } + } + }, + "PrivateEndpointACL": { + "description": "ACL for a private endpoint", + "required": [ + "name" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/NetworkACL" + } + ], + "properties": { + "name": { + "description": "Name of the private endpoint connection", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection to an azure resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Properties of the private endpoint connection", + "x-ms-client-flatten": true + } + } + }, + "PrivateEndpointConnectionList": { + "description": "A list of private endpoint connections", + "type": "object", + "properties": { + "value": { + "description": "The list of the private endpoint connections", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "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.", + "type": "string" + } + } + }, + "PrivateEndpointConnectionProperties": { + "description": "Private endpoint connection properties", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the private endpoint connection", + "readOnly": true + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "Private endpoint associated with the private endpoint connection" + }, + "groupIds": { + "description": "Group IDs", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "Connection state" + } + } + }, + "PrivateLinkResource": { + "description": "Private link resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Properties of a private link resource", + "x-ms-client-flatten": true + } + } + }, + "PrivateLinkResourceList": { + "description": "Contains a list of PrivateLinkResource and a possible link to query more results", + "type": "object", + "properties": { + "value": { + "description": "List of PrivateLinkResource", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "PrivateLinkResourceProperties": { + "description": "Private link resource properties", + "type": "object", + "properties": { + "groupId": { + "description": "Group Id of the private link resource", + "type": "string" + }, + "requiredMembers": { + "description": "Required members of the private link resource", + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "description": "Required private DNS zone names", + "type": "array", + "items": { + "type": "string" + } + }, + "shareablePrivateLinkResourceTypes": { + "description": "The list of resources that are onboarded to private link service", + "type": "array", + "items": { + "$ref": "#/definitions/ShareablePrivateLinkResourceType" + } + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "Connection state of the private endpoint connection", + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + }, + "description": { + "description": "The reason for approval/rejection of the connection.", + "type": "string" + }, + "actionsRequired": { + "description": "A message indicating if changes on the service provider require any updates on the consumer.", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionStatus": { + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": true + } + }, + "ProvisioningState": { + "description": "Provisioning state of the resource.", + "enum": [ + "Unknown", + "Succeeded", + "Failed", + "Canceled", + "Running", + "Creating", + "Updating", + "Deleting", + "Moving" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "ProxyResource": { + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "RegenerateKeyParameters": { + "description": "Parameters describes the request to regenerate access keys", + "type": "object", + "properties": { + "keyType": { + "$ref": "#/definitions/KeyType", + "description": "The keyType to regenerate. Must be either 'primary' or 'secondary'(case-insensitive)." + } + } + }, + "Resource": { + "description": "The core properties of ARM resources.", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified resource Id for the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource - e.g. \"Microsoft.SignalRService/SignalR\"", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "ResourceLogCategory": { + "description": "Resource log category configuration of a Microsoft.SignalRService resource.", + "type": "object", + "properties": { + "name": { + "description": "Gets or sets the resource log category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive.", + "type": "string" + }, + "enabled": { + "description": "Indicates whether or the resource log category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive.", + "type": "string" + } + } + }, + "ResourceLogConfiguration": { + "description": "Resource log configuration of a Microsoft.SignalRService resource.", + "type": "object", + "properties": { + "categories": { + "description": "Gets or sets the list of category configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceLogCategory" + } + } + } + }, + "ResourceSku": { + "description": "The billing information of the resource.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1", + "type": "string" + }, + "tier": { + "$ref": "#/definitions/SignalRSkuTier", + "description": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead." + }, + "size": { + "description": "Not used. Retained for future use.", + "type": "string", + "readOnly": true + }, + "family": { + "description": "Not used. Retained for future use.", + "type": "string", + "readOnly": true + }, + "capacity": { + "format": "int32", + "description": "Optional, integer. The unit count of the resource. 1 by default.\r\n\r\nIf present, following values are allowed:\r\n Free: 1\r\n Standard: 1,2,5,10,20,50,100", + "type": "integer" + } + } + }, + "ScaleType": { + "description": "The scale type applicable to the sku.", + "enum": [ + "None", + "Manual", + "Automatic" + ], + "type": "string", + "x-ms-enum": { + "name": "ScaleType", + "modelAsString": true + } + }, + "ServerlessUpstreamSettings": { + "description": "The settings for the Upstream when the service is in server-less mode.", + "type": "object", + "properties": { + "templates": { + "description": "Gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects.", + "type": "array", + "items": { + "$ref": "#/definitions/UpstreamTemplate" + } + } + } + }, + "ServiceKind": { + "description": "The kind of the service - e.g. \"SignalR\" for \"Microsoft.SignalRService/SignalR\"", + "enum": [ + "SignalR", + "RawWebSockets" + ], + "type": "string", + "x-ms-enum": { + "name": "ServiceKind", + "modelAsString": true + } + }, + "ServiceSpecification": { + "description": "An object that describes a specification.", + "type": "object", + "properties": { + "metricSpecifications": { + "description": "Specifications of the Metrics for Azure Monitoring.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + }, + "logSpecifications": { + "description": "Specifications of the Logs for Azure Monitoring.", + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + } + } + } + }, + "ShareablePrivateLinkResourceProperties": { + "description": "Describes the properties of a resource type that has been onboarded to private link service", + "type": "object", + "properties": { + "description": { + "description": "The description of the resource type that has been onboarded to private link service", + "type": "string" + }, + "groupId": { + "description": "The resource provider group id for the resource that has been onboarded to private link service", + "type": "string" + }, + "type": { + "description": "The resource provider type for the resource that has been onboarded to private link service", + "type": "string" + } + } + }, + "ShareablePrivateLinkResourceType": { + "description": "Describes a resource type that has been onboarded to private link service", + "type": "object", + "properties": { + "name": { + "description": "The name of the resource type that has been onboarded to private link service", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ShareablePrivateLinkResourceProperties", + "description": "Describes the properties of a resource type that has been onboarded to private link service" + } + } + }, + "SharedPrivateLinkResource": { + "description": "Describes a Shared Private Link Resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/SharedPrivateLinkResourceProperties", + "description": "Describes the properties of a Shared Private Link Resource", + "x-ms-client-flatten": true + } + } + }, + "SharedPrivateLinkResourceList": { + "description": "A list of shared private link resources", + "type": "object", + "properties": { + "value": { + "description": "The list of the shared private link resources", + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "nextLink": { + "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.", + "type": "string" + } + } + }, + "SharedPrivateLinkResourceProperties": { + "description": "Describes the properties of an existing Shared Private Link Resource", + "required": [ + "groupId", + "privateLinkResourceId" + ], + "type": "object", + "properties": { + "groupId": { + "description": "The group id from the provider of resource the shared private link resource is for", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The resource id of the resource the shared private link resource is for", + "type": "string" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the shared private link resource", + "readOnly": true + }, + "requestMessage": { + "description": "The request message for requesting approval of the shared private link resource", + "type": "string" + }, + "status": { + "$ref": "#/definitions/SharedPrivateLinkResourceStatus", + "description": "Status of the shared private link resource", + "readOnly": true + } + } + }, + "SharedPrivateLinkResourceStatus": { + "description": "Status of the shared private link resource", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected", + "Timeout" + ], + "type": "string", + "x-ms-enum": { + "name": "SharedPrivateLinkResourceStatus", + "modelAsString": true + } + }, + "SignalRCorsSettings": { + "description": "Cross-Origin Resource Sharing (CORS) settings.", + "type": "object", + "properties": { + "allowedOrigins": { + "description": "Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: http://example.com:12345). Use \"*\" to allow all. If omitted, allow all by default.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "SignalRFeature": { + "description": "Feature of a resource, which controls the runtime behavior.", + "required": [ + "flag", + "value" + ], + "type": "object", + "properties": { + "flag": { + "$ref": "#/definitions/FeatureFlags", + "description": "FeatureFlags is the supported features of Azure SignalR service.\r\n- ServiceMode: Flag for backend server for SignalR service. Values allowed: \"Default\": have your own backend server; \"Serverless\": your application doesn't have a backend server; \"Classic\": for backward compatibility. Support both Default and Serverless mode but not recommended; \"PredefinedOnly\": for future use.\r\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature." + }, + "value": { + "description": "Value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/azure/azure-signalr/ for allowed values.", + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "properties": { + "description": "Optional properties related to this feature.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SignalRKeys": { + "description": "A class represents the access keys of the resource.", + "type": "object", + "properties": { + "primaryKey": { + "description": "The primary access key.", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create", + "update" + ] + }, + "secondaryKey": { + "description": "The secondary access key.", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create", + "update" + ] + }, + "primaryConnectionString": { + "description": "Connection string constructed via the primaryKey", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create", + "update" + ] + }, + "secondaryConnectionString": { + "description": "Connection string constructed via the secondaryKey", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create", + "update" + ] + } + } + }, + "SignalRNetworkACLs": { + "description": "Network ACLs for the resource", + "type": "object", + "properties": { + "defaultAction": { + "$ref": "#/definitions/ACLAction", + "description": "Default action when no other rule matches", + "default": "Deny" + }, + "publicNetwork": { + "$ref": "#/definitions/NetworkACL", + "description": "ACL for requests from public network" + }, + "privateEndpoints": { + "description": "ACLs for requests from private endpoints", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointACL" + } + } + } + }, + "SignalRProperties": { + "description": "A class that describes the properties of the resource", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the resource.", + "readOnly": true + }, + "externalIP": { + "description": "The publicly accessible IP of the resource.", + "type": "string", + "readOnly": true + }, + "hostName": { + "description": "FQDN of the service instance.", + "type": "string", + "readOnly": true + }, + "publicPort": { + "format": "int32", + "description": "The publicly accessible port of the resource which is designed for browser/client side usage.", + "type": "integer", + "readOnly": true + }, + "serverPort": { + "format": "int32", + "description": "The publicly accessible port of the resource which is designed for customer server side usage.", + "type": "integer", + "readOnly": true + }, + "version": { + "description": "Version of the resource. Probably you need the same or higher version of client SDKs.", + "type": "string", + "readOnly": true + }, + "privateEndpointConnections": { + "description": "Private endpoint connections to the resource.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + }, + "sharedPrivateLinkResources": { + "description": "The list of shared private link resources.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "readOnly": true + }, + "tls": { + "$ref": "#/definitions/SignalRTlsSettings", + "description": "TLS settings." + }, + "hostNamePrefix": { + "description": "Deprecated.", + "type": "string", + "readOnly": true + }, + "features": { + "description": "List of the featureFlags.\r\n\r\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\r\nAnd the response will only include featureFlags that are explicitly set. \r\nWhen a featureFlag is not explicitly set, its globally default value will be used\r\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags.", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRFeature" + } + }, + "resourceLogConfiguration": { + "$ref": "#/definitions/ResourceLogConfiguration", + "description": "Resource log configuration of a Microsoft.SignalRService resource.\r\nIf resourceLogConfiguration isn't null or empty, it will override options \"EnableConnectivityLog\" and \"EnableMessagingLogs\" in features.\r\nOtherwise, use options \"EnableConnectivityLog\" and \"EnableMessagingLogs\" in features." + }, + "cors": { + "$ref": "#/definitions/SignalRCorsSettings", + "description": "Cross-Origin Resource Sharing (CORS) settings." + }, + "upstream": { + "$ref": "#/definitions/ServerlessUpstreamSettings", + "description": "Upstream settings when the service is in server-less mode." + }, + "networkACLs": { + "$ref": "#/definitions/SignalRNetworkACLs", + "description": "Network ACLs" + }, + "publicNetworkAccess": { + "description": "Enable or disable public network access. Default to \"Enabled\".\r\nWhen it's Enabled, network ACLs still apply.\r\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs.", + "default": "Enabled", + "type": "string" + }, + "disableLocalAuth": { + "description": "DisableLocalAuth\r\nEnable or disable local auth with AccessKey\r\nWhen set as true, connection with AccessKey=xxx won't work.", + "default": false, + "type": "boolean" + }, + "disableAadAuth": { + "description": "DisableLocalAuth\r\nEnable or disable aad auth\r\nWhen set as true, connection with AuthType=aad won't work.", + "default": false, + "type": "boolean" + } + } + }, + "SignalRRequestType": { + "description": "Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.", + "enum": [ + "ClientConnection", + "ServerConnection", + "RESTAPI", + "Trace" + ], + "type": "string", + "x-ms-enum": { + "name": "SignalRRequestType", + "modelAsString": true + } + }, + "SignalRResource": { + "description": "A class represent a resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/ResourceSku", + "description": "The billing information of the resource.(e.g. Free, Standard)" + }, + "properties": { + "$ref": "#/definitions/SignalRProperties", + "description": "Settings used to provision or configure the resource", + "x-ms-client-flatten": true + }, + "kind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of the service - e.g. \"SignalR\" for \"Microsoft.SignalRService/SignalR\"", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "identity": { + "$ref": "#/definitions/ManagedIdentity", + "description": "The managed identity response" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + } + }, + "SignalRResourceList": { + "description": "Object that includes an array of resources and a possible link for next set.", + "type": "object", + "properties": { + "value": { + "description": "List of the resources", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRResource" + } + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "SignalRSkuTier": { + "description": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead.", + "enum": [ + "Free", + "Basic", + "Standard", + "Premium" + ], + "type": "string", + "x-ms-enum": { + "name": "SignalRSkuTier", + "modelAsString": true + } + }, + "SignalRTlsSettings": { + "description": "TLS settings for the resource", + "type": "object", + "properties": { + "clientCertEnabled": { + "description": "Request client certificate during TLS handshake if enabled", + "default": true, + "type": "boolean" + } + } + }, + "SignalRUsage": { + "description": "Object that describes a specific usage of the resources.", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified ARM resource id", + "type": "string" + }, + "currentValue": { + "format": "int64", + "description": "Current value for the usage quota.", + "type": "integer" + }, + "limit": { + "format": "int64", + "description": "The maximum permitted value for the usage quota. If there is no limit, this value will be -1.", + "type": "integer" + }, + "name": { + "$ref": "#/definitions/SignalRUsageName", + "description": "Localizable String object containing the name and a localized value." + }, + "unit": { + "description": "Representing the units of the usage quota. Possible values are: Count, Bytes, Seconds, Percent, CountPerSecond, BytesPerSecond.", + "type": "string" + } + } + }, + "SignalRUsageList": { + "description": "Object that includes an array of the resource usages and a possible link for next set.", + "type": "object", + "properties": { + "value": { + "description": "List of the resource usages", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRUsage" + } + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "SignalRUsageName": { + "description": "Localizable String object containing the name and a localized value.", + "type": "object", + "properties": { + "value": { + "description": "The identifier of the usage.", + "type": "string" + }, + "localizedValue": { + "description": "Localized name of the usage.", + "type": "string" + } + } + }, + "Sku": { + "description": "Describes an available sku.\"", + "type": "object", + "properties": { + "resourceType": { + "description": "The resource type that this object applies to", + "type": "string", + "readOnly": true + }, + "sku": { + "$ref": "#/definitions/ResourceSku", + "description": "The exact set of keys that define this sku.", + "readOnly": true + }, + "capacity": { + "$ref": "#/definitions/SkuCapacity", + "description": "Specifies the unit of the resource.", + "readOnly": true + } + } + }, + "SkuCapacity": { + "description": "Describes scaling information of a sku.", + "type": "object", + "properties": { + "minimum": { + "format": "int32", + "description": "The lowest permitted capacity for this resource", + "type": "integer", + "readOnly": true + }, + "maximum": { + "format": "int32", + "description": "The highest permitted capacity for this resource", + "type": "integer", + "readOnly": true + }, + "default": { + "format": "int32", + "description": "The default capacity.", + "type": "integer", + "readOnly": true + }, + "allowedValues": { + "description": "Allows capacity value list.", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + }, + "readOnly": true + }, + "scaleType": { + "$ref": "#/definitions/ScaleType", + "description": "The scale type applicable to the sku.", + "readOnly": true + } + } + }, + "SkuList": { + "description": "The list skus operation response", + "type": "object", + "properties": { + "value": { + "description": "The list of skus available for the resource.", + "type": "array", + "items": { + "$ref": "#/definitions/Sku" + }, + "readOnly": true + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string", + "readOnly": true + } + } + }, + "TrackedResource": { + "description": "The resource model definition for a ARM tracked top level resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "The GEO location of the resource. e.g. West US | East US | North Central US | South Central US.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "Tags of the service which is a list of key value pairs that describe the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "UpstreamAuthSettings": { + "description": "Upstream auth settings.", + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/UpstreamAuthType", + "description": "Gets or sets the type of auth. None or ManagedIdentity is supported now." + }, + "managedIdentity": { + "$ref": "#/definitions/ManagedIdentitySettings", + "description": "Gets or sets the managed identity settings. It's required if the auth type is set to ManagedIdentity." + } + } + }, + "UpstreamAuthType": { + "description": "Gets or sets the type of auth. None or ManagedIdentity is supported now.", + "enum": [ + "None", + "ManagedIdentity" + ], + "type": "string", + "x-ms-enum": { + "name": "UpstreamAuthType", + "modelAsString": true + } + }, + "UpstreamTemplate": { + "description": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\r\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template.", + "required": [ + "urlTemplate" + ], + "type": "object", + "properties": { + "hubPattern": { + "description": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\r\nThere are 3 kind of patterns supported:\r\n 1. \"*\", it to matches any hub name\r\n 2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\"\r\n 3. The single hub name, for example, \"hub1\", it matches \"hub1\"", + "type": "string" + }, + "eventPattern": { + "description": "Gets or sets the matching pattern for event names. If not set, it matches any event.\r\nThere are 3 kind of patterns supported:\r\n 1. \"*\", it to matches any event name\r\n 2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\"\r\n 3. The single event name, for example, \"connect\", it matches \"connect\"", + "type": "string" + }, + "categoryPattern": { + "description": "Gets or sets the matching pattern for category names. If not set, it matches any category.\r\nThere are 3 kind of patterns supported:\r\n 1. \"*\", it to matches any category name\r\n 2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\"\r\n 3. The single category name, for example, \"connections\", it matches the category \"connections\"", + "type": "string" + }, + "urlTemplate": { + "description": "Gets or sets the Upstream URL template. You can use 3 predefined parameters {hub}, {category} {event} inside the template, the value of the Upstream URL is dynamically calculated when the client request comes in.\r\nFor example, if the urlTemplate is `http://example.com/{hub}/api/{event}`, with a client request from hub `chat` connects, it will first POST to this URL: `http://example.com/chat/api/connect`.", + "type": "string" + }, + "auth": { + "$ref": "#/definitions/UpstreamAuthSettings", + "description": "Gets or sets the auth settings for an upstream. If not set, no auth is used for upstream messages." + } + } + }, + "UserAssignedIdentityProperty": { + "description": "Properties of user assigned identity.", + "type": "object", + "properties": { + "principalId": { + "description": "Get the principal id for the user assigned identity", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "Get the client id for the user assigned identity", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Gets subscription Id which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + "required": true, + "type": "string" + }, + "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", + "x-ms-parameter-location": "method" + }, + "ResourceName": { + "name": "resourceName", + "in": "path", + "description": "The name of the resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "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": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/signalr/resource-manager/readme.go.md b/specification/signalr/resource-manager/readme.go.md index d015783e4ad4..ad29b80658d8 100644 --- a/specification/signalr/resource-manager/readme.go.md +++ b/specification/signalr/resource-manager/readme.go.md @@ -20,6 +20,7 @@ batch: - tag: package-2021-04-01-preview - tag: package-2021-06-01-preview - tag: package-2021-09-01-preview + - tag: package-2021-10-01 ``` ### Tag: package-2018-03-01-preview and go @@ -84,3 +85,11 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-10-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-10-01/$(namespace) +``` diff --git a/specification/signalr/resource-manager/readme.java.md b/specification/signalr/resource-manager/readme.java.md index a77aa767aa1f..11f31227ecff 100644 --- a/specification/signalr/resource-manager/readme.java.md +++ b/specification/signalr/resource-manager/readme.java.md @@ -25,15 +25,15 @@ batch: - tag: package-2021-09-01-preview ``` -### Tag: package-2021-09-01-preview and java +### Tag: package-2021-10-01 and java -These settings apply only when `--tag=package-2021-09-01-preview --java` is specified on the command line. +These settings apply only when `--tag=package-2021-10-01 --java` is specified on the command line. Please also specify `--azure-libraries-for-java-folder=`. ``` yaml $(tag) == 'package-2021-04-01-preview' && $(java) && $(multiapi) java: - namespace: com.microsoft.azure.management.signalr.v2021_09_01_preview - output-folder: $(azure-libraries-for-java-folder)/sdk/signalr/mgmt-v2021_09_01_preview + namespace: com.microsoft.azure.management.signalr.v2021_10_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/signalr/mgmt-v2021_10_01 regenerate-manager: true generate-interface: true ``` diff --git a/specification/signalr/resource-manager/readme.md b/specification/signalr/resource-manager/readme.md index d17b46c428f4..2401a6a579e3 100644 --- a/specification/signalr/resource-manager/readme.md +++ b/specification/signalr/resource-manager/readme.md @@ -26,7 +26,7 @@ These are the global settings for the SignalR API. ``` yaml openapi-type: arm -tag: package-2021-09-01-preview +tag: package-2021-10-01 ``` ### Suppression @@ -40,7 +40,9 @@ directive: - $.definitions.Dimension.properties.toBeExportedForShoebox - $.definitions.Operation.properties.isDataAction - $.definitions.SignalRTlsSettings.properties.clientCertEnabled - reason: The boolean properties 'nameAvailable' and 'isDataAction' is standard property defined by Azure API spec. 'toBeExportedForShoebox' by Geneva metrics team. Keep 'clientCertEnabled' bool to be consistent with SignalR and not break existing customers. + - $.definitions.SignalRProperties.properties.disableLocalAuth + - $.definitions.SignalRProperties.properties.disableAadAuth + reason: The boolean properties 'nameAvailable' and 'isDataAction' is standard property defined by Azure API spec. 'toBeExportedForShoebox' by Geneva metrics team. Keep 'clientCertEnabled' bool to be consistent with SignalR and not break existing customers. 'disableLocalAuth' and 'disableAadAuth' by Identity team. - suppress: TrackedResourceListByImmediateParent reason: Another list APIs naming approach is used over the specs - suppress: AvoidNestedProperties @@ -54,6 +56,10 @@ directive: where: - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}"].put.operationId reason: It's indeed an UPDATE operation, but PUT is required per NRP requirement. + - suppress: InvalidSkuModel + where: + - $.definitions.Sku + reason: It's required by spec of enumerating SKUs for an existing resource ``` ### Tag: package-2021-09-01-preview @@ -65,6 +71,15 @@ input-file: - Microsoft.SignalRService/preview/2021-09-01-preview/signalr.json ``` +### Tag: package-2021-10-01 + +These settings apply only when `--tag=package-2021-10-01` is specified on the command line. + +``` yaml $(tag) == 'package-2021-10-01' +input-file: +- Microsoft.SignalRService/stable/2021-10-01/signalr.json +``` + ### Tag: package-2021-06-01-preview These settings apply only when `--tag=package-2021-06-01-preview` is specified on the command line. diff --git a/specification/signalr/resource-manager/readme.ruby.md b/specification/signalr/resource-manager/readme.ruby.md index c5e20dc0c7eb..8e4903a35627 100644 --- a/specification/signalr/resource-manager/readme.ruby.md +++ b/specification/signalr/resource-manager/readme.ruby.md @@ -19,15 +19,16 @@ batch: - tag: package-2021-04-01-preview - tag: package-2021-06-01-preview - tag: package-2021-09-01-preview + - tag: package-2021-10-01 ``` -### Tag: package-2021-09-01-preview and ruby +### Tag: package-2021-10-01 and ruby -These settings apply only when `--tag=package-2021-09-01-preview --ruby` is specified on the command line. +These settings apply only when `--tag=package-2021-10-01 --ruby` is specified on the command line. Please also specify `--ruby-sdks-folder=`. -``` yaml $(tag) == 'package-2021-09-01-preview' && $(ruby) -namespace: "Azure::Signalr::Mgmt::V2021_09_01_preview" +``` yaml $(tag) == 'package-2021-10-01' && $(ruby) +namespace: "Azure::Signalr::Mgmt::V2021_10_01" output-folder: $(ruby-sdks-folder)/management/azure_mgmt_signalr/lib ``` diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/createOrUpdateApplication.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/createOrUpdateApplication.json new file mode 100644 index 000000000000..80bb1d0bd58d --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/createOrUpdateApplication.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationName": "myManagedApplication", + "api-version": "2021-07-01", + "parameters": { + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG" + }, + "kind": "ServiceCatalog" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myManagedApplication", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "type": "Microsoft.Solutions/applications", + "managedBy": null, + "plan": null, + "identity": null, + "kind": "ServiceCatalog", + "sku": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + } + } + }, + "201": { + "headers": {}, + "body": { + "name": "myManagedApplication", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "type": "Microsoft.Solutions/applications", + "managedBy": null, + "plan": null, + "identity": null, + "kind": "ServiceCatalog", + "sku": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + } + } + } + } +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/createOrUpdateApplicationDefinition.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/createOrUpdateApplicationDefinition.json new file mode 100644 index 000000000000..05222ee4e7e4 --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/createOrUpdateApplicationDefinition.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationDefinitionName": "myManagedApplicationDef", + "api-version": "2021-07-01", + "parameters": { + "properties": { + "lockLevel": "None", + "displayName": "myManagedApplicationDef", + "description": "myManagedApplicationDef description", + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "packageFileUri": "https://path/to/packagezipfile" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myManagedApplicationDef", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "managedBy": null, + "sku": null, + "properties": { + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "description": "myManagedApplicationDef description", + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + } + } + }, + "201": { + "headers": {}, + "body": { + "name": "myManagedApplicationDef", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "managedBy": null, + "sku": null, + "properties": { + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "description": "myManagedApplicationDef description", + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + } + } + } + } +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/createOrUpdateJitRequest.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/createOrUpdateJitRequest.json new file mode 100644 index 000000000000..3bbd72a63221 --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/createOrUpdateJitRequest.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "jitRequestName": "myJitRequest", + "api-version": "2021-07-01", + "parameters": { + "properties": { + "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "jitAuthorizationPolicies": [ + { + "principalId": "1db8e132e2934dbcb8e1178a61319491", + "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" + } + ], + "jitSchedulingPolicy": { + "type": "Once", + "duration": "PT8H", + "startTime": "2021-04-22T05:48:30.6661804Z" + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "jitAuthorizationPolicies": [ + { + "principalId": "1db8e132e2934dbcb8e1178a61319491", + "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" + } + ], + "jitSchedulingPolicy": { + "type": "Once", + "duration": "PT8H", + "startTime": "2021-04-22T05:48:30.6661804Z" + }, + "provisioningState": "Accepted", + "jitRequestState": "Pending", + "createdBy": { + "oid": "", + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" + }, + "updatedBy": { + "oid": "", + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" + } + }, + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", + "name": "myJitRequest", + "type": "Microsoft.Solutions/jitRequests" + } + }, + "201": { + "headers": {}, + "body": { + "properties": { + "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "jitAuthorizationPolicies": [ + { + "principalId": "1db8e132e2934dbcb8e1178a61319491", + "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" + } + ], + "jitSchedulingPolicy": { + "type": "Once", + "duration": "PT8H", + "startTime": "2021-04-22T05:48:30.6661804Z" + }, + "provisioningState": "Accepted", + "jitRequestState": "Pending", + "createdBy": { + "oid": "", + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" + }, + "updatedBy": { + "oid": "", + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" + } + }, + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", + "name": "myJitRequest", + "type": "Microsoft.Solutions/jitRequests" + } + } + } +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/deleteApplication.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/deleteApplication.json new file mode 100644 index 000000000000..3d175e81486a --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/deleteApplication.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationName": "myManagedApplication", + "api-version": "2021-07-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/deleteApplicationDefinition.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/deleteApplicationDefinition.json new file mode 100644 index 000000000000..60cf6cbf6fcb --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/deleteApplicationDefinition.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationDefinitionName": "myManagedApplicationDef", + "api-version": "2021-07-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/deleteJitRequest.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/deleteJitRequest.json new file mode 100644 index 000000000000..5425ac8503ef --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/deleteJitRequest.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "jitRequestName": "myJitRequest", + "api-version": "2021-07-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/getApplication.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/getApplication.json new file mode 100644 index 000000000000..d33c2cbaa746 --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/getApplication.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationName": "myManagedApplication", + "api-version": "2021-07-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myManagedApplication", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "type": "Microsoft.Solutions/applications", + "managedBy": null, + "plan": null, + "identity": null, + "kind": "ServiceCatalog", + "sku": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created", + "billingDetails": null, + "jitAccessPolicy": null, + "publisherTenantId": null, + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "managementMode": "Managed", + "customerSupport": null, + "supportUrls": null, + "artifacts": [], + "createdBy": { + "oid": "ClientOid", + "puid": "ClientPuid", + "applicationId": "ClientApplicationId" + }, + "updatedBy": { + "oid": "ClientOid", + "puid": "ClientPuid", + "applicationId": "ClientApplicationId" + } + } + } + } + } +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/getApplicationDefinition.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/getApplicationDefinition.json new file mode 100644 index 000000000000..91e569f3c4c7 --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/getApplicationDefinition.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationDefinitionName": "myManagedApplicationDef", + "api-version": "2021-07-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myManagedApplicationDef", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "managedBy": null, + "sku": null, + "properties": { + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "description": "myManagedApplicationDef description", + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile", + "notificationPolicy": null, + "lockingPolicy": null, + "deploymentPolicy": null, + "managementPolicy": null, + "policies": [] + } + } + } + } +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/getJitRequest.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/getJitRequest.json new file mode 100644 index 000000000000..fd92b3dd993c --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/getJitRequest.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "jitRequestName": "myJitRequest", + "api-version": "2021-07-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "jitAuthorizationPolicies": [ + { + "principalId": "1db8e132e2934dbcb8e1178a61319491", + "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" + } + ], + "jitSchedulingPolicy": { + "type": "Once", + "duration": "PT8H", + "startTime": "2021-04-22T05:48:30.6661804Z" + }, + "provisioningState": "Accepted", + "jitRequestState": "Pending", + "createdBy": { + "oid": "", + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" + }, + "updatedBy": { + "oid": "", + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" + } + }, + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", + "name": "myJitRequest", + "type": "Microsoft.Solutions/jitRequests" + } + } + } +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/listAllowedUpgradePlans.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/listAllowedUpgradePlans.json new file mode 100644 index 000000000000..6a93ca6853dc --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/listAllowedUpgradePlans.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationName": "myManagedApplication", + "api-version": "2021-07-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/listApplicationDefinitionsByResourceGroup.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/listApplicationDefinitionsByResourceGroup.json new file mode 100644 index 000000000000..0f61d1460cf2 --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/listApplicationDefinitionsByResourceGroup.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "api-version": "2021-07-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "myManagedApplicationDef", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "managedBy": null, + "sku": null, + "properties": { + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "description": "myManagedApplicationDef description", + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + } + }, + { + "name": "myManagedApplicationDef2", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef2", + "type": "Microsoft.Solutions/applicationDefinitions", + "managedBy": null, + "sku": null, + "properties": { + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "description": "myManagedApplicationDef2 description", + "displayName": "myManagedApplicationDef2", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + } + } + ] + } + } + } +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/listApplicationsByResourceGroup.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/listApplicationsByResourceGroup.json new file mode 100644 index 000000000000..7b9b5ef2ac9e --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/listApplicationsByResourceGroup.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "api-version": "2021-07-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "myManagedApplication", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "type": "Microsoft.Solutions/applications", + "managedBy": null, + "plan": null, + "identity": null, + "kind": "ServiceCatalog", + "sku": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + } + }, + { + "name": "myManagedApplication2", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication2", + "type": "Microsoft.Solutions/applications", + "managedBy": null, + "plan": null, + "identity": null, + "kind": "ServiceCatalog", + "sku": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef2", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + } + } + ] + } + } + } +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/listJitRequestsByResourceGroup.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/listJitRequestsByResourceGroup.json new file mode 100644 index 000000000000..63cc62f25cdb --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/listJitRequestsByResourceGroup.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "api-version": "2021-07-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "jitAuthorizationPolicies": [ + { + "principalId": "1db8e132e2934dbcb8e1178a61319491", + "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" + } + ], + "jitSchedulingPolicy": { + "type": "Once", + "duration": "PT8H", + "startTime": "2021-04-22T05:48:30.6661804Z" + }, + "provisioningState": "Accepted", + "jitRequestState": "Pending", + "createdBy": { + "oid": "", + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" + }, + "updatedBy": { + "oid": "", + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" + } + }, + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", + "name": "myJitRequest", + "type": "Microsoft.Solutions/jitRequests" + }, + { + "properties": { + "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "jitAuthorizationPolicies": [ + { + "principalId": "1db8e132e2934dbcb8e1178a61319491", + "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" + } + ], + "jitSchedulingPolicy": { + "type": "Once", + "duration": "PT8H", + "startTime": "2021-04-22T05:48:30.6661804Z" + }, + "provisioningState": "Accepted", + "jitRequestState": "Pending", + "createdBy": { + "oid": "", + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" + }, + "updatedBy": { + "oid": "", + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" + } + }, + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest2", + "name": "myJitRequest2", + "type": "Microsoft.Solutions/jitRequests" + } + ] + } + } + } +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/listSolutionsOperations.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/listSolutionsOperations.json new file mode 100644 index 000000000000..6e2c518be1d3 --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/listSolutionsOperations.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-07-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "SolutionsOperation1", + "isDataAction": false, + "display": { + "provider": "Microsoft.ResourceProvider", + "resource": "Resource1", + "operation": "Read", + "description": "Description of the operation" + } + }, + { + "name": "SolutionssOperation2", + "isDataAction": false, + "display": { + "provider": "Microsoft.ResourceProvider", + "resource": "Resource2", + "operation": "Write", + "description": "Description of the operation" + } + } + ] + } + } + } +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/refreshApplicationPermissions.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/refreshApplicationPermissions.json new file mode 100644 index 000000000000..e22ab9fd8a88 --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/refreshApplicationPermissions.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationName": "myManagedApplication", + "api-version": "2021-07-01" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/updateApplication.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/updateApplication.json new file mode 100644 index 000000000000..63c25deb6d3d --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/updateApplication.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationName": "myManagedApplication", + "api-version": "2021-07-01", + "parameters": { + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG" + }, + "kind": "ServiceCatalog" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myManagedApplication", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "type": "Microsoft.Solutions/applications", + "managedBy": null, + "plan": null, + "identity": null, + "kind": "ServiceCatalog", + "sku": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + } + } + } + } +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/updateApplicationDefinition.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/updateApplicationDefinition.json new file mode 100644 index 000000000000..ad9890e353f3 --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/updateApplicationDefinition.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationDefinitionName": "myManagedApplicationDef", + "api-version": "2021-07-01", + "parameters": { + "tags": { + "department": "Finance" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myManagedApplicationDef", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "managedBy": null, + "sku": null, + "properties": { + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "description": "myManagedApplicationDef description", + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + } + } + } + } +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/updateJitRequest.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/updateJitRequest.json new file mode 100644 index 000000000000..4721d95435c0 --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/examples/updateJitRequest.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "jitRequestName": "myJitRequest", + "api-version": "2021-07-01", + "parameters": { + "tags": { + "department": "Finance" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "applicationResourceId": "/subscriptions/00c76877-e316-48a7-af60-4a09fec9d43f/resourceGroups/52F30DB2/providers/Microsoft.Solutions/applications/7E193158", + "jitAuthorizationPolicies": [ + { + "principalId": "1db8e132e2934dbcb8e1178a61319491", + "roleDefinitionId": "ecd05a23-931a-4c38-a52b-ac7c4c583334" + } + ], + "jitSchedulingPolicy": { + "type": "Once", + "duration": "PT8H", + "startTime": "2021-04-22T05:48:30.6661804Z" + }, + "provisioningState": "Accepted", + "jitRequestState": "Pending", + "createdBy": { + "oid": "", + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" + }, + "updatedBy": { + "oid": "", + "applicationId": "33a83f1f-c363-4ae7-9e0a-a0c08466354d" + } + }, + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/jitRequests/myJitRequest", + "name": "myJitRequest", + "type": "Microsoft.Solutions/jitRequests" + } + } + } +} diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/managedapplications.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/managedapplications.json new file mode 100644 index 000000000000..7347bef5d809 --- /dev/null +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/managedapplications.json @@ -0,0 +1,2026 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApplicationClient", + "version": "2021-07-01", + "description": "ARM applications" + }, + "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": { + "/providers/Microsoft.Solutions/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "ListOperations", + "description": "Lists all of the available Microsoft.Solutions REST API operations.", + "x-ms-examples": { + "List Solutions operations": { + "$ref": "./examples/listSolutionsOperations.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$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" + } + } + }, + "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": [ + { + "$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" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the managed application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Applications" + ], + "operationId": "Applications_Delete", + "description": "Deletes the managed application.", + "x-ms-examples": { + "Delete managed application": { + "$ref": "./examples/deleteApplication.json" + } + }, + "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" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "200": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "put": { + "tags": [ + "Applications" + ], + "operationId": "Applications_CreateOrUpdate", + "description": "Creates a new managed application.", + "x-ms-examples": { + "Create or update managed application": { + "$ref": "./examples/createOrUpdateApplication.json" + } + }, + "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" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Application" + }, + "description": "Parameters supplied to the create or update a managed application." + } + ], + "responses": { + "200": { + "description": "Created - Returns information about the managed application, including provisioning status.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "201": { + "description": "Created - Returns information about the managed application, including provisioning status.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Applications" + ], + "operationId": "Applications_Update", + "description": "Updates an existing managed application. The only value that can be updated via PATCH currently is the tags.", + "x-ms-examples": { + "Create or update managed application": { + "$ref": "./examples/updateApplication.json" + } + }, + "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" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/ApplicationPatchable" + }, + "description": "Parameters supplied to update an existing managed application." + } + ], + "responses": { + "200": { + "description": "Created - Returns information about the managed application, including provisioning status.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "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.Solutions/applicationDefinitions/{applicationDefinitionName}": { + "get": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_Get", + "description": "Gets the managed application definition.", + "x-ms-examples": { + "Get managed application definition": { + "$ref": "./examples/getApplicationDefinition.json" + } + }, + "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" + }, + { + "$ref": "#/parameters/ApplicationDefinitionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the managed application definition.", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_Delete", + "description": "Deletes the managed application definition.", + "x-ms-examples": { + "delete managed application definition": { + "$ref": "./examples/deleteApplicationDefinition.json" + } + }, + "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" + }, + { + "$ref": "#/parameters/ApplicationDefinitionNameParameter" + } + ], + "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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "put": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_CreateOrUpdate", + "description": "Creates a new managed application definition.", + "x-ms-examples": { + "Create or update managed application definition": { + "$ref": "./examples/createOrUpdateApplicationDefinition.json" + } + }, + "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" + }, + { + "$ref": "#/parameters/ApplicationDefinitionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + }, + "description": "Parameters supplied to the create or update an 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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_Update", + "description": "Updates the managed application definition.", + "x-ms-examples": { + "Update managed application definition": { + "$ref": "./examples/updateApplicationDefinition.json" + } + }, + "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" + }, + { + "$ref": "#/parameters/ApplicationDefinitionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationDefinitionPatchable" + }, + "description": "Parameters supplied to the update a managed application definition." + } + ], + "responses": { + "200": { + "description": "OK - 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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions": { + "get": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_ListByResourceGroup", + "description": "Lists the managed application definitions in a resource group.", + "x-ms-examples": { + "List managed application definitions": { + "$ref": "./examples/listApplicationDefinitionsByResourceGroup.json" + } + }, + "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": "OK - Returns an array of managed application definitions.", + "schema": { + "$ref": "#/definitions/ApplicationDefinitionListResult" + } + }, + "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.Solutions/applicationDefinitions": { + "get": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_ListBySubscription", + "description": "Gets all the application definitions within a subscription.", + "x-ms-examples": { + "List managed application definitions": { + "$ref": "./examples/listApplicationDefinitionsByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of managed application definitions.", + "schema": { + "$ref": "#/definitions/ApplicationDefinitionListResult" + } + }, + "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.Solutions/applications": { + "get": { + "tags": [ + "Applications" + ], + "operationId": "Applications_ListByResourceGroup", + "description": "Gets all the applications within a resource group.", + "x-ms-examples": { + "Lists applications": { + "$ref": "./examples/listApplicationsByResourceGroup.json" + } + }, + "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": "OK - Returns an array of applications.", + "schema": { + "$ref": "#/definitions/ApplicationListResult" + } + }, + "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.Solutions/applications": { + "get": { + "tags": [ + "Applications" + ], + "operationId": "Applications_ListBySubscription", + "description": "Gets all the applications within a subscription.", + "x-ms-examples": { + "Lists applications": { + "$ref": "./examples/listApplicationsByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of applications.", + "schema": { + "$ref": "#/definitions/ApplicationListResult" + } + }, + "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.Solutions/jitRequests/{jitRequestName}": { + "get": { + "tags": [ + "JitRequests" + ], + "operationId": "JitRequests_Get", + "description": "Gets the JIT request.", + "x-ms-examples": { + "Create or update jit request": { + "$ref": "./examples/getJitRequest.json" + } + }, + "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" + }, + { + "$ref": "#/parameters/JitRequestNameParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the JIT request", + "schema": { + "$ref": "#/definitions/JitRequestDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "JitRequests" + ], + "operationId": "jitRequests_CreateOrUpdate", + "description": "Creates or updates the JIT request.", + "x-ms-examples": { + "Create or update jit request": { + "$ref": "./examples/createOrUpdateJitRequest.json" + } + }, + "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" + }, + { + "$ref": "#/parameters/JitRequestNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JitRequestDefinition" + }, + "description": "Parameters supplied to the update JIT request." + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the JIT request.", + "schema": { + "$ref": "#/definitions/JitRequestDefinition" + } + }, + "200": { + "description": "Ok - Returns information about existing JIT request.", + "schema": { + "$ref": "#/definitions/JitRequestDefinition" + } + }, + "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, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "JitRequests" + ], + "operationId": "JitRequests_Update", + "description": "Updates the JIT request.", + "x-ms-examples": { + "Create or update jit request": { + "$ref": "./examples/updateJitRequest.json" + } + }, + "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" + }, + { + "$ref": "#/parameters/JitRequestNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JitRequestPatchable" + }, + "description": "Parameters supplied to the update JIT request." + } + ], + "responses": { + "200": { + "description": "Ok - Returns information about the JIT request.", + "schema": { + "$ref": "#/definitions/JitRequestDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "JitRequests" + ], + "operationId": "jitRequests_Delete", + "description": "Deletes the JIT request.", + "x-ms-examples": { + "Delete jit request": { + "$ref": "./examples/deleteJitRequest.json" + } + }, + "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" + }, + { + "$ref": "#/parameters/JitRequestNameParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/jitRequests": { + "get": { + "tags": [ + "JitRequests" + ], + "operationId": "jitRequests_ListBySubscription", + "description": "Retrieves all JIT requests within the subscription.", + "x-ms-examples": { + "List jit requests": { + "$ref": "./examples/listJitRequestsByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests": { + "get": { + "tags": [ + "JitRequests" + ], + "operationId": "jitRequests_ListByResourceGroup", + "description": "Retrieves all JIT requests within the resource group.", + "x-ms-examples": { + "List jit requests": { + "$ref": "./examples/listJitRequestsByResourceGroup.json" + } + }, + "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": "OK - Returns an array of JIT requests.", + "schema": { + "$ref": "#/definitions/JitRequestDefinitionListResult" + } + }, + "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.Solutions/applications/{applicationName}/refreshPermissions": { + "post": { + "tags": [ + "Applications" + ], + "operationId": "Applications_RefreshPermissions", + "description": "Refresh Permissions for application.", + "x-ms-examples": { + "Refresh managed application permissions": { + "$ref": "./examples/refreshApplicationPermissions.json" + } + }, + "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" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + } + ], + "responses": { + "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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}/listAllowedUpgradePlans": { + "post": { + "tags": [ + "Applications" + ], + "operationId": "Applications_ListAllowedUpgradePlans", + "description": "List allowed upgrade plans for application.", + "x-ms-examples": { + "List allowed upgrade plans for application": { + "$ref": "./examples/listAllowedUpgradePlans.json" + } + }, + "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" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + } + ], + "responses": { + "200": { + "description": "Ok" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "Application": { + "type": "object", + "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": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity", + "description": "The identity of the resource." + } + }, + "required": [ + "properties", + "kind" + ], + "allOf": [ + { + "$ref": "#/definitions/GenericResource" + } + ], + "description": "Information about managed application." + }, + "ApplicationPatchable": { + "type": "object", + "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": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity", + "description": "The identity of the resource." + } + }, + "allOf": [ + { + "$ref": "#/definitions/GenericResource" + } + ], + "description": "Information about managed application." + }, + "ApplicationDefinition": { + "type": "object", + "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": { + "type": "object", + "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 managed application outputs." + }, + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState", + "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." + }, + "publisherTenantId": { + "type": "string", + "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." + } + }, + "description": "The managed application properties." + }, + "ApplicationPropertiesPatchable": { + "type": "object", + "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 managed application outputs." + }, + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState", + "description": "The managed application provisioning state." + } + }, + "description": "The managed application properties." + }, + "ApplicationDefinitionProperties": { + "type": "object", + "properties": { + "lockLevel": { + "$ref": "#/definitions/ApplicationLockLevel", + "description": "The managed application lock level." + }, + "displayName": { + "type": "string", + "description": "The managed application definition display name." + }, + "isEnabled": { + "type": "boolean", + "description": "A value indicating whether the package is enabled or not." + }, + "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/ApplicationDefinitionArtifact" + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state." + }, + "description": { + "type": "string", + "description": "The managed application definition description." + }, + "packageFileUri": { + "type": "string", + "description": "The managed application definition package file Uri. Use this element" + }, + "storageAccountId": { + "type": "string", + "description": "The storage account id for bring your own storage scenario." + }, + "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/ApplicationPolicy" + } + } + }, + "required": [ + "lockLevel" + ], + "description": "The managed application definition properties." + }, + "ApplicationDefinitionPatchable": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application definition tags" + } + }, + "description": "Information about an application definition request." + }, + "Plan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan name." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + }, + "product": { + "type": "string", + "description": "The product code." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "version": { + "type": "string", + "description": "The plan's version." + } + }, + "required": [ + "name", + "publisher", + "product", + "version" + ], + "description": "Plan for the managed application." + }, + "PlanPatchable": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan name." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + }, + "product": { + "type": "string", + "description": "The product code." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "version": { + "type": "string", + "description": "The plan's version." + } + }, + "description": "Plan for the managed application." + }, + "GenericResource": { + "type": "object", + "properties": { + "managedBy": { + "type": "string", + "description": "ID of the resource that manages this resource." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the resource." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Resource information." + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "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." + }, + "Resource": { + "type": "object", + "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" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "description": "Resource information.", + "x-ms-azure-resource": true + }, + "ApplicationListResult": { + "type": "object", + "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": { + "type": "object", + "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", + "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": { + "type": "object", + "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": { + "type": "object", + "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": { + "type": "object", + "properties": { + "notificationEndpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationNotificationEndpoint" + }, + "description": "The managed application notification endpoint." + } + }, + "required": [ + "notificationEndpoints" + ], + "description": "Managed application notification policy." + }, + "ApplicationNotificationEndpoint": { + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "The managed application notification endpoint uri." + } + }, + "required": [ + "uri" + ], + "description": "Managed application notification endpoint." + }, + "ApplicationPackageLockingPolicyDefinition": { + "type": "object", + "properties": { + "allowedActions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The deny assignment excluded actions." + } + }, + "description": "Managed application locking policy." + }, + "ApplicationDeploymentPolicy": { + "type": "object", + "properties": { + "deploymentMode": { + "$ref": "#/definitions/DeploymentMode", + "description": "The managed application deployment mode." + } + }, + "required": [ + "deploymentMode" + ], + "description": "Managed application deployment policy." + }, + "ApplicationManagementPolicy": { + "type": "object", + "properties": { + "mode": { + "$ref": "#/definitions/ApplicationManagementMode", + "description": "The managed application management mode." + } + }, + "description": "Managed application management policy." + }, + "ApplicationPolicy": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The policy name" + }, + "policyDefinitionId": { + "type": "string", + "description": "The policy definition Id." + }, + "parameters": { + "type": "string", + "description": "The policy parameters." + } + }, + "description": "Managed application policy." + }, + "ApplicationAuthorization": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources." + }, + "roleDefinitionId": { + "type": "string", + "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": [ + "principalId", + "roleDefinitionId" + ], + "description": "The managed application provider authorization." + }, + "ApplicationPackageContact": { + "type": "object", + "properties": { + "contactName": { + "type": "string", + "description": "The contact name." + }, + "email": { + "type": "string", + "description": "The contact email." + }, + "phone": { + "type": "string", + "description": "The contact phone number." + } + }, + "required": [ + "email", + "phone" + ], + "description": "The application package contact information." + }, + "ApplicationPackageSupportUrls": { + "type": "object", + "properties": { + "publicAzure": { + "type": "string", + "description": "The public azure support URL." + }, + "governmentCloud": { + "type": "string", + "description": "The government cloud support URL." + } + }, + "description": "The appliance package support URLs." + }, + "ApplicationBillingDetailsDefinition": { + "type": "object", + "properties": { + "resourceUsageId": { + "type": "string", + "description": "The managed application resource usage Id." + } + }, + "description": "Managed application billing details definition." + }, + "ApplicationJitAccessPolicy": { + "type": "object", + "properties": { + "jitAccessEnabled": { + "type": "boolean", + "description": "Whether the JIT access is enabled." + }, + "jitApprovalMode": { + "$ref": "#/definitions/JitApprovalMode", + "description": "JIT approval mode." + }, + "jitApprovers": { + "type": "array", + "items": { + "$ref": "#/definitions/JitApproverDefinition" + }, + "description": "The JIT approvers" + }, + "maximumJitAccessDuration": { + "type": "string", + "description": "The maximum duration JIT access is granted. This is an ISO8601 time period value." + } + }, + "required": [ + "jitAccessEnabled" + ], + "description": "Managed application Jit access policy." + }, + "JitRequestDefinition": { + "type": "object", + "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": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Jit request tags" + } + }, + "description": "Information about JIT request." + }, + "JitRequestDefinitionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/JitRequestDefinition" + }, + "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 JIT requests." + }, + "JitRequestProperties": { + "type": "object", + "properties": { + "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/JitAuthorizationPolicies" + } + }, + "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." + } + }, + "required": [ + "applicationResourceId", + "jitAuthorizationPolicies", + "jitSchedulingPolicy" + ], + "description": "Information about JIT request properties" + }, + "JitAuthorizationPolicies": { + "type": "object", + "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" + ], + "description": "The JIT authorization policies." + }, + "JitSchedulingPolicy": { + "type": "object", + "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" + ], + "description": "The JIT scheduling policies." + }, + "JitApprovalMode": { + "description": "The Jit approval mode.", + "enum": [ + "NotSpecified", + "AutoApprove", + "ManualApprove" + ], + "type": "string", + "x-ms-enum": { + "name": "JitApprovalMode", + "modelAsString": true + } + }, + "JitApproverDefinition": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The approver service principal Id." + }, + "type": { + "type": "string", + "description": "The approver type.", + "enum": [ + "user", + "group" + ], + "x-ms-enum": { + "name": "JitApproverType", + "modelAsString": true + } + }, + "displayName": { + "type": "string", + "description": "The approver display name." + } + }, + "required": [ + "id" + ], + "description": "JIT approver definition." + }, + "ApplicationClientDetails": { + "type": "object", + "readOnly": true, + "properties": { + "oid": { + "type": "string", + "description": "The client Oid." + }, + "puid": { + "type": "string", + "description": "The client Puid" + }, + "applicationId": { + "type": "string", + "description": "The client application Id." + } + }, + "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.", + "enum": [ + "NotSpecified", + "Once", + "Recurring" + ], + "type": "string", + "x-ms-enum": { + "name": "JitSchedulingType", + "modelAsString": true + } + }, + "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": { + "ApplicationNameParameter": { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application.", + "minLength": 3, + "maxLength": 64, + "x-ms-parameter-location": "method" + }, + "ApplicationDefinitionNameParameter": { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition.", + "minLength": 3, + "maxLength": 64, + "x-ms-parameter-location": "method" + }, + "JitRequestNameParameter": { + "name": "jitRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the JIT request.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/solutions/resource-manager/readme.go.md b/specification/solutions/resource-manager/readme.go.md new file mode 100644 index 000000000000..df7090dec349 --- /dev/null +++ b/specification/solutions/resource-manager/readme.go.md @@ -0,0 +1,26 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + clear-output-folder: true +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-managedapplications-2021-07 +``` + +### Tag: package-managedapplications-2021-07 and go + +These settings apply only when `--tag=package-managedapplications-2021-07 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-managedapplications-2021-07' && $(go) +namespace: managedapplications +output-folder: $(go-sdk-folder)/services/resources/mgmt/2021-07-01/managedapplications +``` \ No newline at end of file diff --git a/specification/solutions/resource-manager/readme.java.md b/specification/solutions/resource-manager/readme.java.md new file mode 100644 index 000000000000..d24956f196d4 --- /dev/null +++ b/specification/solutions/resource-manager/readme.java.md @@ -0,0 +1,38 @@ + +These settings apply only when `--java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(java) +azure-arm: true +fluent: true +namespace: com.microsoft.azure.management.managedapplication +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-managedapplication +title: ManagedApplicationManagementClient +description: "Managed Application Client" +``` + +### Java multi-api + +Generate all API versions currently shipped for this package + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-managedapplications-2021-07 +``` +``` + +### Tag: package-managedapplications-2021-07 and java + +These settings apply only when `--tag=package-managedapplications-2021-07 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-managedapplications-2021-07' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.managedapplications.v2021_02_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/managedapplications/mgmt-v2021_07_01 +regenerate-manager: true +generate-interface: true +fconfig: '{"moduleName": "ManagedApplications"}' +``` \ No newline at end of file diff --git a/specification/solutions/resource-manager/readme.md b/specification/solutions/resource-manager/readme.md new file mode 100644 index 000000000000..03470ef2006d --- /dev/null +++ b/specification/solutions/resource-manager/readme.md @@ -0,0 +1,85 @@ +# ManagedApplication + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for managedApplication. + +## Getting Started + +To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the managedApplication. + +```yaml +openapi-type: arm +openapi-subtype: rpaas +tag: package-managedapplications-2021-07 +``` + +``` yaml $(package-managedapplications) +tag: package-managedapplications-2021-07 +``` + + +### Tag: package-managedapplications-2021-07 + +These settings apply only when `--tag=package-managedapplications-2021-07` is specified on the command line. + +``` yaml $(tag) == 'package-managedapplications-2021-07' +input-file: +- Microsoft.Solutions/stable/2021-07-01/managedapplications.json +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +```yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python-track2 + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_managedApplication'] +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Ruby + +See configuration in [readme.ruby.md](./readme.ruby.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) diff --git a/specification/solutions/resource-manager/readme.python.md b/specification/solutions/resource-manager/readme.python.md new file mode 100644 index 000000000000..5ced248d4745 --- /dev/null +++ b/specification/solutions/resource-manager/readme.python.md @@ -0,0 +1,41 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +These settings apply only when `--track2` is specified on the command line. + +``` yaml $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-managedapplication +package-version: 1.0.0b1 +no-namespace-folders: true +``` + +### Python multi-api + +Generate all API versions currently shipped for this package + +```yaml $(multiapi) && $(track2) +clear-output-folder: true +batch: + - tag: package-managedapplications-2021-07 + - multiapiscript: true +``` + +``` yaml $(multiapiscript) +output-folder: $(python-sdks-folder)/managedapplication/azure-mgmt-managedapplication/azure/mgmt/managedapplication/ +clear-output-folder: false +perform-load: false +``` + +### Tag: package-managedapplications-2021-07 and python + +These settings apply only when `--tag=package-managedapplications-2021-07 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-managedapplications-2021-07' +namespace: azure.mgmt.managedapplication.v2021_07_01 +output-folder: $(python-sdks-folder)/managedapplication/azure-mgmt-managedapplication/azure/mgmt/managedapplication/v2021_07_01 +``` diff --git a/specification/solutions/resource-manager/readme.ruby.md b/specification/solutions/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..0fef72cfef0c --- /dev/null +++ b/specification/solutions/resource-manager/readme.ruby.md @@ -0,0 +1,19 @@ +### Ruby multi-api for managedapplications + +``` yaml $(multiapi) && $(managedapplications) +package-name: azure_mgmt_managed_applications +package-version: "0.16.0" +azure-arm: true +batch: + - tag: package-managedapplications-2021-07 +``` + +### Tag: package-managedapplications-2021-07 and ruby + +These settings apply only when `--tag=package-managedapplications-2021-07 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-managedapplications-2021-07' && $(ruby) +namespace: "Azure::ManagedApplications::Mgmt::V2021_07_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_managed_applications/lib +``` \ No newline at end of file diff --git a/specification/solutions/resource-manager/readme.typescript.md b/specification/solutions/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..a2290fd1604b --- /dev/null +++ b/specification/solutions/resource-manager/readme.typescript.md @@ -0,0 +1,20 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +```yaml $(typescript) && !$(profile) +typescript: + azure-arm: true + batch: true + generate-metadata: true +batch: + - package-managedapplications: true +``` + +```yaml $(typescript) && $(package-managedapplications) && !$(profile) +typescript: + package-name: "@azure/arm-managedapplications" + output-folder: "$(typescript-sdks-folder)/sdk/managedapplications/arm-managedapplications" + clear-output-folder: true +``` \ No newline at end of file diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/BackupShortTermRetentionPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/BackupShortTermRetentionPolicies.json new file mode 100644 index 000000000000..77c224d18791 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/BackupShortTermRetentionPolicies.json @@ -0,0 +1,345 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}": { + "get": { + "tags": [ + "BackupShortTermRetentionPolicies" + ], + "description": "Gets a database's short term retention policy.", + "operationId": "BackupShortTermRetentionPolicies_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "policyName", + "in": "path", + "description": "The policy name. Should always be \"default\".", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ShortTermRetentionPolicyName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the policy.", + "schema": { + "$ref": "#/definitions/BackupShortTermRetentionPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get the short term retention policy for the database.": { + "$ref": "./examples/GetShortTermRetentionPolicy.json" + } + } + }, + "put": { + "tags": [ + "BackupShortTermRetentionPolicies" + ], + "description": "Updates a database's short term retention policy.", + "operationId": "BackupShortTermRetentionPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "policyName", + "in": "path", + "description": "The policy name. Should always be \"default\".", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ShortTermRetentionPolicyName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The short term retention policy info.", + "required": true, + "schema": { + "$ref": "#/definitions/BackupShortTermRetentionPolicy" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the policy.", + "schema": { + "$ref": "#/definitions/BackupShortTermRetentionPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 InvalidDiffBackupIntervalHours - The differential backup interval hours of {0} is not a valid configuration. Valid differential backup interval must be {1} hours.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update the short term retention policy for the database.": { + "$ref": "./examples/UpdateShortTermRetentionPolicy.json" + } + } + }, + "patch": { + "tags": [ + "BackupShortTermRetentionPolicies" + ], + "description": "Updates a database's short term retention policy.", + "operationId": "BackupShortTermRetentionPolicies_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "policyName", + "in": "path", + "description": "The policy name. Should always be \"default\".", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ShortTermRetentionPolicyName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The short term retention policy info.", + "required": true, + "schema": { + "$ref": "#/definitions/BackupShortTermRetentionPolicy" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the policy.", + "schema": { + "$ref": "#/definitions/BackupShortTermRetentionPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 InvalidDiffBackupIntervalHours - The differential backup interval hours of {0} is not a valid configuration. Valid differential backup interval must be {1} hours.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update the short term retention policy for the database.": { + "$ref": "./examples/UpdateShortTermRetentionPolicy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies": { + "get": { + "tags": [ + "BackupShortTermRetentionPolicies" + ], + "description": "Gets a database's short term retention policy.", + "operationId": "BackupShortTermRetentionPolicies_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the policy.", + "schema": { + "$ref": "#/definitions/BackupShortTermRetentionPolicyListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get the short term retention policy for the database.": { + "$ref": "./examples/ListShortTermRetentionPoliciesByDatabase.json" + } + } + } + } + }, + "definitions": { + "BackupShortTermRetentionPolicyProperties": { + "description": "Properties of a short term retention policy", + "type": "object", + "properties": { + "retentionDays": { + "format": "int32", + "description": "The backup retention period in days. This is how many days Point-in-Time Restore will be supported.", + "type": "integer" + }, + "diffBackupIntervalInHours": { + "format": "int32", + "description": "The differential backup interval in hours. This is how many interval hours between each differential backup will be supported. This is only applicable to live databases but not dropped databases.", + "enum": [ + "12", + "24" + ], + "type": "integer", + "x-ms-enum": { + "name": "DiffBackupIntervalInHours", + "modelAsString": true + } + } + } + }, + "BackupShortTermRetentionPolicy": { + "description": "A short term retention policy.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupShortTermRetentionPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "BackupShortTermRetentionPolicyListResult": { + "description": "A list of short term retention policies.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/BackupShortTermRetentionPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/BlobAuditing.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/BlobAuditing.json new file mode 100644 index 000000000000..01cf62c8b293 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/BlobAuditing.json @@ -0,0 +1,1067 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extendedAuditingSettings/{blobAuditingPolicyName}": { + "get": { + "tags": [ + "BlobAuditing" + ], + "description": "Gets an extended database's blob auditing policy.", + "operationId": "ExtendedDatabaseBlobAuditingPolicies_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/BlobAuditingPolicyNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the extended database blob auditing policy.", + "schema": { + "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 BlobAuditingIsNotSupportedOnResourceType - Blob Auditing is currently not supported for this resource type.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-examples": { + "Get an extended database's blob auditing policy": { + "$ref": "./examples/ExtendedDatabaseBlobAuditingGet.json" + } + } + }, + "put": { + "tags": [ + "BlobAuditing" + ], + "description": "Creates or updates an extended database's blob auditing policy.", + "operationId": "ExtendedDatabaseBlobAuditingPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/BlobAuditingPolicyNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The extended database blob auditing policy.", + "required": true, + "schema": { + "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicy" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully set the extended database blob auditing policy.", + "schema": { + "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 BlobAuditingIsNotSupportedOnResourceType - Blob Auditing is currently not supported for this resource type.\n\n * 400 BlobAuditingPredicateExpressionSyntaxError - Invalid value of parameter 'predicateExpression'.\n\n * 400 InvalidDatabaseBlobAuditingPolicyCreateRequest - The create database blob auditing policy request does not exist or has no properties object.\n\n * 400 InvalidBlobAuditActionsAndGroups - Invalid audit actions or action groups.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 BlobAuditingPredicateExpressionEmpty - Invalid parameter 'predicateExpression', value can not be empty.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 BlobAuditingInsufficientStorageAccountPermissions - Insufficient read or write permissions on the provided storage account.\n\n * 400 BlobAuditingStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 400 BlobAuditingNoServerIdentity - The server identity is not correctly configured.\n\n * 400 BlobAuditingStorageOutboundFirewallNotAllowed - Storage account is not in the list of allowed FQDNs, and, therefore, the outbound firewall rules will block the request.\n\n * 400 InvalidBlobAuditActionsAndGroupsForDW - Unsupported audit actions or action groups for DW.\n\n * 400 BlobAuditingAdalTokenError - The operation could not get access token for the storage account because an Azure Active Directory error was encountered.\n\n * 400 BlobAuditingInvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 BlobAuditingInvalidStorageAccountCredentials - The provided storage account or access key is not valid.\n\n * 400 BlobAuditingIsNotSupportedOnGeoDr - Blob auditing can be configured on primary databases only.\n\n * 400 InsufficientDiskSpaceForAuditing - Insufficient disk space to save auditing metadata in the database\n\n * 400 InvalidBlobAuditActions - Invalid audit action\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + }, + "201": { + "description": "Successfully created the extended database blob auditing policy.", + "schema": { + "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicy" + } + } + }, + "x-ms-examples": { + "Create or update an extended database's blob auditing policy with minimal parameters": { + "$ref": "./examples/ExtendedDatabaseBlobAuditingCreateMin.json" + }, + "Create or update an extended database's blob auditing policy with all parameters": { + "$ref": "./examples/ExtendedDatabaseBlobAuditingCreateMax.json" + }, + "Create or update an extended database's azure monitor auditing policy with minimal parameters": { + "$ref": "./examples/ExtendedDatabaseAzureMonitorAuditingCreateMin.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extendedAuditingSettings": { + "get": { + "tags": [ + "BlobAuditing" + ], + "description": "Lists extended auditing settings of a database.", + "operationId": "ExtendedDatabaseBlobAuditingPolicies_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the database extended auditing settings.", + "schema": { + "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicyListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 BlobAuditingIsNotSupportedOnResourceType - Blob Auditing is currently not supported for this resource type.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List extended auditing settings of a database": { + "$ref": "./examples/DatabaseExtendedAuditingSettingsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/extendedAuditingSettings/{blobAuditingPolicyName}": { + "get": { + "tags": [ + "BlobAuditing" + ], + "description": "Gets an extended server's blob auditing policy.", + "operationId": "ExtendedServerBlobAuditingPolicies_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/BlobAuditingPolicyNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the extended server blob auditing policy.", + "schema": { + "$ref": "#/definitions/ExtendedServerBlobAuditingPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-examples": { + "Get a server's blob extended auditing policy": { + "$ref": "./examples/ExtendedServerBlobAuditingGet.json" + } + } + }, + "put": { + "tags": [ + "BlobAuditing" + ], + "description": "Creates or updates an extended server's blob auditing policy.", + "operationId": "ExtendedServerBlobAuditingPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/BlobAuditingPolicyNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Properties of extended blob auditing policy", + "required": true, + "schema": { + "$ref": "#/definitions/ExtendedServerBlobAuditingPolicy" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the extended auditing settings.", + "schema": { + "$ref": "#/definitions/ExtendedServerBlobAuditingPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerBlobAuditingPolicyCreateRequest - The create server blob auditing policy request does not exist or has no properties object.\n\n * 400 InvalidBlobAuditActionsAndGroups - Invalid audit actions or action groups.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 BlobAuditingPredicateExpressionEmpty - Invalid parameter 'predicateExpression', value can not be empty.\n\n * 400 BlobAuditingInvalidStorageAccountCredentials - The provided storage account or access key is not valid.\n\n * 400 InvalidBlobAuditActionsAndGroups - Invalid audit actions or action groups.\n\n * 400 InsufficientDiskSpaceForAuditing - Insufficient disk space to save auditing metadata in the database\n\n * 400 InvalidBlobAuditActions - Invalid audit action\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 ServerBlobAuditingPolicyInProgress - Set server blob auditing is already in progress." + }, + "202": { + "description": "Updating the extended auditing settings is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a server's extended blob auditing policy with minimal parameters": { + "$ref": "./examples/ExtendedServerBlobAuditingCreateMin.json" + }, + "Update a server's extended blob auditing policy with all parameters": { + "$ref": "./examples/ExtendedServerBlobAuditingCreateMax.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/extendedAuditingSettings": { + "get": { + "tags": [ + "BlobAuditing" + ], + "description": "Lists extended auditing settings of a server.", + "operationId": "ExtendedServerBlobAuditingPolicies_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved extended server auditing settings.", + "schema": { + "$ref": "#/definitions/ExtendedServerBlobAuditingPolicyListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List extended auditing settings of a server": { + "$ref": "./examples/ServerExtendedAuditingSettingsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings/{blobAuditingPolicyName}": { + "get": { + "tags": [ + "BlobAuditing" + ], + "description": "Gets a server's blob auditing policy.", + "operationId": "ServerBlobAuditingPolicies_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/BlobAuditingPolicyNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the server blob auditing policy.", + "schema": { + "$ref": "#/definitions/ServerBlobAuditingPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-examples": { + "Get a server's blob auditing policy": { + "$ref": "./examples/ServerBlobAuditingGet.json" + } + } + }, + "put": { + "tags": [ + "BlobAuditing" + ], + "description": "Creates or updates a server's blob auditing policy.", + "operationId": "ServerBlobAuditingPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/BlobAuditingPolicyNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Properties of blob auditing policy", + "required": true, + "schema": { + "$ref": "#/definitions/ServerBlobAuditingPolicy" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the auditing settings.", + "schema": { + "$ref": "#/definitions/ServerBlobAuditingPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerBlobAuditingPolicyCreateRequest - The create server blob auditing policy request does not exist or has no properties object.\n\n * 400 InvalidBlobAuditActionsAndGroups - Invalid audit actions or action groups.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 BlobAuditingInvalidStorageAccountCredentials - The provided storage account or access key is not valid.\n\n * 400 InvalidBlobAuditActionsAndGroups - Invalid audit actions or action groups.\n\n * 400 InsufficientDiskSpaceForAuditing - Insufficient disk space to save auditing metadata in the database\n\n * 400 InvalidBlobAuditActions - Invalid audit action\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 ServerBlobAuditingPolicyInProgress - Set server blob auditing is already in progress." + }, + "202": { + "description": "Updating the auditing settings is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a server's blob auditing policy with minimal parameters": { + "$ref": "./examples/ServerBlobAuditingCreateMin.json" + }, + "Update a server's blob auditing policy with all parameters": { + "$ref": "./examples/ServerBlobAuditingCreateMax.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings": { + "get": { + "tags": [ + "BlobAuditing" + ], + "description": "Lists auditing settings of a server.", + "operationId": "ServerBlobAuditingPolicies_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved server auditing settings.", + "schema": { + "$ref": "#/definitions/ServerBlobAuditingPolicyListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List auditing settings of a server": { + "$ref": "./examples/ServerAuditingSettingsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/{blobAuditingPolicyName}": { + "get": { + "tags": [ + "BlobAuditing" + ], + "description": "Gets a database's blob auditing policy.", + "operationId": "DatabaseBlobAuditingPolicies_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/BlobAuditingPolicyNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the database blob auditing policy.", + "schema": { + "$ref": "#/definitions/DatabaseBlobAuditingPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 BlobAuditingIsNotSupportedOnResourceType - Blob Auditing is currently not supported for this resource type.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-examples": { + "Get a database's blob auditing policy": { + "$ref": "./examples/DatabaseBlobAuditingGet.json" + } + } + }, + "put": { + "tags": [ + "BlobAuditing" + ], + "description": "Creates or updates a database's blob auditing policy.", + "operationId": "DatabaseBlobAuditingPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/BlobAuditingPolicyNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The database blob auditing policy.", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseBlobAuditingPolicy" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully set the database blob auditing policy.", + "schema": { + "$ref": "#/definitions/DatabaseBlobAuditingPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 BlobAuditingIsNotSupportedOnResourceType - Blob Auditing is currently not supported for this resource type.\n\n * 400 InvalidDatabaseBlobAuditingPolicyCreateRequest - The create database blob auditing policy request does not exist or has no properties object.\n\n * 400 InvalidBlobAuditActionsAndGroups - Invalid audit actions or action groups.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 BlobAuditingInsufficientStorageAccountPermissions - Insufficient read or write permissions on the provided storage account.\n\n * 400 BlobAuditingStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 400 BlobAuditingNoServerIdentity - The server identity is not correctly configured.\n\n * 400 BlobAuditingStorageOutboundFirewallNotAllowed - Storage account is not in the list of allowed FQDNs, and, therefore, the outbound firewall rules will block the request.\n\n * 400 InvalidBlobAuditActionsAndGroupsForDW - Unsupported audit actions or action groups for DW.\n\n * 400 BlobAuditingAdalTokenError - The operation could not get access token for the storage account because an Azure Active Directory error was encountered.\n\n * 400 BlobAuditingInvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 BlobAuditingInvalidStorageAccountCredentials - The provided storage account or access key is not valid.\n\n * 400 BlobAuditingIsNotSupportedOnGeoDr - Blob auditing can be configured on primary databases only.\n\n * 400 InsufficientDiskSpaceForAuditing - Insufficient disk space to save auditing metadata in the database\n\n * 400 InvalidBlobAuditActions - Invalid audit action\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + }, + "201": { + "description": "Successfully created the database blob auditing policy.", + "schema": { + "$ref": "#/definitions/DatabaseBlobAuditingPolicy" + } + } + }, + "x-ms-examples": { + "Create or update a database's blob auditing policy with minimal parameters": { + "$ref": "./examples/DatabaseBlobAuditingCreateMin.json" + }, + "Create or update a database's blob auditing policy with all parameters": { + "$ref": "./examples/DatabaseBlobAuditingCreateMax.json" + }, + "Create or update a database's azure monitor auditing policy with minimal parameters": { + "$ref": "./examples/DatabaseAzureMonitorAuditingCreateMin.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings": { + "get": { + "tags": [ + "BlobAuditing" + ], + "description": "Lists auditing settings of a database.", + "operationId": "DatabaseBlobAuditingPolicies_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved database auditing settings.", + "schema": { + "$ref": "#/definitions/DatabaseBlobAuditingPolicyListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 BlobAuditingIsNotSupportedOnResourceType - Blob Auditing is currently not supported for this resource type.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List audit settings of a database": { + "$ref": "./examples/DatabaseAuditingSettingsList.json" + } + } + } + } + }, + "definitions": { + "ExtendedDatabaseBlobAuditingPolicyProperties": { + "description": "Properties of an extended database blob auditing policy.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "predicateExpression": { + "description": "Specifies condition of where clause when creating an audit.", + "type": "string" + }, + "retentionDays": { + "format": "int32", + "description": "Specifies the number of days to keep in the audit logs in the storage account.", + "type": "integer" + }, + "auditActionsAndGroups": { + "description": "Specifies the Actions-Groups and Actions to audit.\r\n\r\nThe recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins:\r\n\r\nBATCH_COMPLETED_GROUP,\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,\r\nFAILED_DATABASE_AUTHENTICATION_GROUP.\r\n\r\nThis above combination is also the set that is configured by default when enabling auditing from the Azure portal.\r\n\r\nThe supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records):\r\n\r\nAPPLICATION_ROLE_CHANGE_PASSWORD_GROUP\r\nBACKUP_RESTORE_GROUP\r\nDATABASE_LOGOUT_GROUP\r\nDATABASE_OBJECT_CHANGE_GROUP\r\nDATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_OBJECT_PERMISSION_CHANGE_GROUP\r\nDATABASE_OPERATION_GROUP\r\nDATABASE_PERMISSION_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_IMPERSONATION_GROUP\r\nDATABASE_ROLE_MEMBER_CHANGE_GROUP\r\nFAILED_DATABASE_AUTHENTICATION_GROUP\r\nSCHEMA_OBJECT_ACCESS_GROUP\r\nSCHEMA_OBJECT_CHANGE_GROUP\r\nSCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nSCHEMA_OBJECT_PERMISSION_CHANGE_GROUP\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP\r\nUSER_CHANGE_PASSWORD_GROUP\r\nBATCH_STARTED_GROUP\r\nBATCH_COMPLETED_GROUP\r\nDBCC_GROUP\r\nDATABASE_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_CHANGE_GROUP\r\nLEDGER_OPERATION_GROUP\r\n\r\nThese are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs.\r\n\r\nFor more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups).\r\n\r\nFor Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are:\r\nSELECT\r\nUPDATE\r\nINSERT\r\nDELETE\r\nEXECUTE\r\nRECEIVE\r\nREFERENCES\r\n\r\nThe general form for defining an action to be audited is:\r\n{action} ON {object} BY {principal}\r\n\r\nNote that in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively.\r\n\r\nFor example:\r\nSELECT on dbo.myTable by public\r\nSELECT on DATABASE::myDatabase by public\r\nSELECT on SCHEMA::mySchema by public\r\n\r\nFor more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)", + "type": "array", + "items": { + "type": "string" + } + }, + "isStorageSecondaryKeyInUse": { + "description": "Specifies whether storageAccountAccessKey value is the storage's secondary key.", + "type": "boolean" + }, + "isAzureMonitorTargetEnabled": { + "description": "Specifies whether audit events are sent to Azure Monitor. \r\nIn order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\r\n\r\nWhen using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created.\r\nNote that for server level audit you should use the 'master' database as {databaseName}.\r\n\r\nDiagnostic Settings URI format:\r\nPUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\r\n\r\nFor more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\r\nor [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\r\n", + "type": "boolean" + }, + "queueDelayMs": { + "format": "int32", + "description": "Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed.\r\nThe default minimum value is 1000 (1 second). The maximum is 2,147,483,647.", + "type": "integer" + }, + "state": { + "description": "Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "BlobAuditingPolicyState", + "modelAsString": false + } + }, + "storageEndpoint": { + "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required.", + "type": "string" + }, + "storageAccountAccessKey": { + "description": "Specifies the identifier key of the auditing storage account. \r\nIf state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\r\nPrerequisites for using managed identity authentication:\r\n1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\r\n2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\r\nFor more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create", + "update" + ] + }, + "storageAccountSubscriptionId": { + "format": "uuid", + "description": "Specifies the blob storage subscription Id.", + "type": "string" + } + } + }, + "ExtendedDatabaseBlobAuditingPolicy": { + "description": "An extended database blob auditing policy.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ExtendedDatabaseBlobAuditingPolicyListResult": { + "description": "A list of database extended auditing settings.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ExtendedServerBlobAuditingPolicyProperties": { + "description": "Properties of an extended server blob auditing policy.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "isDevopsAuditEnabled": { + "description": "Specifies the state of devops audit. If state is Enabled, devops logs will be sent to Azure Monitor.\r\nIn order to send the events to Azure Monitor, specify 'State' as 'Enabled', 'IsAzureMonitorTargetEnabled' as true and 'IsDevopsAuditEnabled' as true\r\n\r\nWhen using REST API to configure auditing, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on the master database should also be created.\r\n\r\nDiagnostic Settings URI format:\r\nPUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\r\n\r\nFor more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\r\nor [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\r\n", + "type": "boolean" + }, + "predicateExpression": { + "description": "Specifies condition of where clause when creating an audit.", + "type": "string" + }, + "retentionDays": { + "format": "int32", + "description": "Specifies the number of days to keep in the audit logs in the storage account.", + "type": "integer" + }, + "auditActionsAndGroups": { + "description": "Specifies the Actions-Groups and Actions to audit.\r\n\r\nThe recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins:\r\n\r\nBATCH_COMPLETED_GROUP,\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,\r\nFAILED_DATABASE_AUTHENTICATION_GROUP.\r\n\r\nThis above combination is also the set that is configured by default when enabling auditing from the Azure portal.\r\n\r\nThe supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records):\r\n\r\nAPPLICATION_ROLE_CHANGE_PASSWORD_GROUP\r\nBACKUP_RESTORE_GROUP\r\nDATABASE_LOGOUT_GROUP\r\nDATABASE_OBJECT_CHANGE_GROUP\r\nDATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_OBJECT_PERMISSION_CHANGE_GROUP\r\nDATABASE_OPERATION_GROUP\r\nDATABASE_PERMISSION_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_IMPERSONATION_GROUP\r\nDATABASE_ROLE_MEMBER_CHANGE_GROUP\r\nFAILED_DATABASE_AUTHENTICATION_GROUP\r\nSCHEMA_OBJECT_ACCESS_GROUP\r\nSCHEMA_OBJECT_CHANGE_GROUP\r\nSCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nSCHEMA_OBJECT_PERMISSION_CHANGE_GROUP\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP\r\nUSER_CHANGE_PASSWORD_GROUP\r\nBATCH_STARTED_GROUP\r\nBATCH_COMPLETED_GROUP\r\nDBCC_GROUP\r\nDATABASE_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_CHANGE_GROUP\r\nLEDGER_OPERATION_GROUP\r\n\r\nThese are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs.\r\n\r\nFor more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups).\r\n\r\nFor Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are:\r\nSELECT\r\nUPDATE\r\nINSERT\r\nDELETE\r\nEXECUTE\r\nRECEIVE\r\nREFERENCES\r\n\r\nThe general form for defining an action to be audited is:\r\n{action} ON {object} BY {principal}\r\n\r\nNote that in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively.\r\n\r\nFor example:\r\nSELECT on dbo.myTable by public\r\nSELECT on DATABASE::myDatabase by public\r\nSELECT on SCHEMA::mySchema by public\r\n\r\nFor more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)", + "type": "array", + "items": { + "type": "string" + } + }, + "isStorageSecondaryKeyInUse": { + "description": "Specifies whether storageAccountAccessKey value is the storage's secondary key.", + "type": "boolean" + }, + "isAzureMonitorTargetEnabled": { + "description": "Specifies whether audit events are sent to Azure Monitor. \r\nIn order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\r\n\r\nWhen using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created.\r\nNote that for server level audit you should use the 'master' database as {databaseName}.\r\n\r\nDiagnostic Settings URI format:\r\nPUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\r\n\r\nFor more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\r\nor [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\r\n", + "type": "boolean" + }, + "queueDelayMs": { + "format": "int32", + "description": "Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed.\r\nThe default minimum value is 1000 (1 second). The maximum is 2,147,483,647.", + "type": "integer" + }, + "state": { + "description": "Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "BlobAuditingPolicyState", + "modelAsString": false + } + }, + "storageEndpoint": { + "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required.", + "type": "string" + }, + "storageAccountAccessKey": { + "description": "Specifies the identifier key of the auditing storage account. \r\nIf state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\r\nPrerequisites for using managed identity authentication:\r\n1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\r\n2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\r\nFor more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create", + "update" + ] + }, + "storageAccountSubscriptionId": { + "format": "uuid", + "description": "Specifies the blob storage subscription Id.", + "type": "string" + } + } + }, + "ExtendedServerBlobAuditingPolicy": { + "description": "An extended server blob auditing policy.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ExtendedServerBlobAuditingPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ExtendedServerBlobAuditingPolicyListResult": { + "description": "A list of server extended auditing settings.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ExtendedServerBlobAuditingPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ServerBlobAuditingPolicyProperties": { + "description": "Properties of a server blob auditing policy.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "isDevopsAuditEnabled": { + "description": "Specifies the state of devops audit. If state is Enabled, devops logs will be sent to Azure Monitor.\r\nIn order to send the events to Azure Monitor, specify 'State' as 'Enabled', 'IsAzureMonitorTargetEnabled' as true and 'IsDevopsAuditEnabled' as true\r\n\r\nWhen using REST API to configure auditing, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on the master database should also be created.\r\n\r\nDiagnostic Settings URI format:\r\nPUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\r\n\r\nFor more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\r\nor [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\r\n", + "type": "boolean" + }, + "retentionDays": { + "format": "int32", + "description": "Specifies the number of days to keep in the audit logs in the storage account.", + "type": "integer" + }, + "auditActionsAndGroups": { + "description": "Specifies the Actions-Groups and Actions to audit.\r\n\r\nThe recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins:\r\n\r\nBATCH_COMPLETED_GROUP,\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,\r\nFAILED_DATABASE_AUTHENTICATION_GROUP.\r\n\r\nThis above combination is also the set that is configured by default when enabling auditing from the Azure portal.\r\n\r\nThe supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records):\r\n\r\nAPPLICATION_ROLE_CHANGE_PASSWORD_GROUP\r\nBACKUP_RESTORE_GROUP\r\nDATABASE_LOGOUT_GROUP\r\nDATABASE_OBJECT_CHANGE_GROUP\r\nDATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_OBJECT_PERMISSION_CHANGE_GROUP\r\nDATABASE_OPERATION_GROUP\r\nDATABASE_PERMISSION_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_IMPERSONATION_GROUP\r\nDATABASE_ROLE_MEMBER_CHANGE_GROUP\r\nFAILED_DATABASE_AUTHENTICATION_GROUP\r\nSCHEMA_OBJECT_ACCESS_GROUP\r\nSCHEMA_OBJECT_CHANGE_GROUP\r\nSCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nSCHEMA_OBJECT_PERMISSION_CHANGE_GROUP\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP\r\nUSER_CHANGE_PASSWORD_GROUP\r\nBATCH_STARTED_GROUP\r\nBATCH_COMPLETED_GROUP\r\nDBCC_GROUP\r\nDATABASE_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_CHANGE_GROUP\r\nLEDGER_OPERATION_GROUP\r\n\r\nThese are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs.\r\n\r\nFor more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups).\r\n\r\nFor Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are:\r\nSELECT\r\nUPDATE\r\nINSERT\r\nDELETE\r\nEXECUTE\r\nRECEIVE\r\nREFERENCES\r\n\r\nThe general form for defining an action to be audited is:\r\n{action} ON {object} BY {principal}\r\n\r\nNote that in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively.\r\n\r\nFor example:\r\nSELECT on dbo.myTable by public\r\nSELECT on DATABASE::myDatabase by public\r\nSELECT on SCHEMA::mySchema by public\r\n\r\nFor more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)", + "type": "array", + "items": { + "type": "string" + } + }, + "isStorageSecondaryKeyInUse": { + "description": "Specifies whether storageAccountAccessKey value is the storage's secondary key.", + "type": "boolean" + }, + "isAzureMonitorTargetEnabled": { + "description": "Specifies whether audit events are sent to Azure Monitor. \r\nIn order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\r\n\r\nWhen using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created.\r\nNote that for server level audit you should use the 'master' database as {databaseName}.\r\n\r\nDiagnostic Settings URI format:\r\nPUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\r\n\r\nFor more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\r\nor [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\r\n", + "type": "boolean" + }, + "queueDelayMs": { + "format": "int32", + "description": "Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed.\r\nThe default minimum value is 1000 (1 second). The maximum is 2,147,483,647.", + "type": "integer" + }, + "state": { + "description": "Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "BlobAuditingPolicyState", + "modelAsString": false + } + }, + "storageEndpoint": { + "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required.", + "type": "string" + }, + "storageAccountAccessKey": { + "description": "Specifies the identifier key of the auditing storage account. \r\nIf state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\r\nPrerequisites for using managed identity authentication:\r\n1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\r\n2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\r\nFor more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create", + "update" + ] + }, + "storageAccountSubscriptionId": { + "format": "uuid", + "description": "Specifies the blob storage subscription Id.", + "type": "string" + } + } + }, + "ServerBlobAuditingPolicy": { + "description": "A server blob auditing policy.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServerBlobAuditingPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ServerBlobAuditingPolicyListResult": { + "description": "A list of server auditing settings.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerBlobAuditingPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "DatabaseBlobAuditingPolicyProperties": { + "description": "Properties of a database blob auditing policy.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "retentionDays": { + "format": "int32", + "description": "Specifies the number of days to keep in the audit logs in the storage account.", + "type": "integer" + }, + "auditActionsAndGroups": { + "description": "Specifies the Actions-Groups and Actions to audit.\r\n\r\nThe recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins:\r\n\r\nBATCH_COMPLETED_GROUP,\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,\r\nFAILED_DATABASE_AUTHENTICATION_GROUP.\r\n\r\nThis above combination is also the set that is configured by default when enabling auditing from the Azure portal.\r\n\r\nThe supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records):\r\n\r\nAPPLICATION_ROLE_CHANGE_PASSWORD_GROUP\r\nBACKUP_RESTORE_GROUP\r\nDATABASE_LOGOUT_GROUP\r\nDATABASE_OBJECT_CHANGE_GROUP\r\nDATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_OBJECT_PERMISSION_CHANGE_GROUP\r\nDATABASE_OPERATION_GROUP\r\nDATABASE_PERMISSION_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_IMPERSONATION_GROUP\r\nDATABASE_ROLE_MEMBER_CHANGE_GROUP\r\nFAILED_DATABASE_AUTHENTICATION_GROUP\r\nSCHEMA_OBJECT_ACCESS_GROUP\r\nSCHEMA_OBJECT_CHANGE_GROUP\r\nSCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nSCHEMA_OBJECT_PERMISSION_CHANGE_GROUP\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP\r\nUSER_CHANGE_PASSWORD_GROUP\r\nBATCH_STARTED_GROUP\r\nBATCH_COMPLETED_GROUP\r\nDBCC_GROUP\r\nDATABASE_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_CHANGE_GROUP\r\nLEDGER_OPERATION_GROUP\r\n\r\nThese are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs.\r\n\r\nFor more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups).\r\n\r\nFor Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are:\r\nSELECT\r\nUPDATE\r\nINSERT\r\nDELETE\r\nEXECUTE\r\nRECEIVE\r\nREFERENCES\r\n\r\nThe general form for defining an action to be audited is:\r\n{action} ON {object} BY {principal}\r\n\r\nNote that in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively.\r\n\r\nFor example:\r\nSELECT on dbo.myTable by public\r\nSELECT on DATABASE::myDatabase by public\r\nSELECT on SCHEMA::mySchema by public\r\n\r\nFor more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)", + "type": "array", + "items": { + "type": "string" + } + }, + "isStorageSecondaryKeyInUse": { + "description": "Specifies whether storageAccountAccessKey value is the storage's secondary key.", + "type": "boolean" + }, + "isAzureMonitorTargetEnabled": { + "description": "Specifies whether audit events are sent to Azure Monitor. \r\nIn order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\r\n\r\nWhen using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created.\r\nNote that for server level audit you should use the 'master' database as {databaseName}.\r\n\r\nDiagnostic Settings URI format:\r\nPUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\r\n\r\nFor more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\r\nor [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\r\n", + "type": "boolean" + }, + "queueDelayMs": { + "format": "int32", + "description": "Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed.\r\nThe default minimum value is 1000 (1 second). The maximum is 2,147,483,647.", + "type": "integer" + }, + "state": { + "description": "Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "BlobAuditingPolicyState", + "modelAsString": false + } + }, + "storageEndpoint": { + "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required.", + "type": "string" + }, + "storageAccountAccessKey": { + "description": "Specifies the identifier key of the auditing storage account. \r\nIf state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\r\nPrerequisites for using managed identity authentication:\r\n1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\r\n2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\r\nFor more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create", + "update" + ] + }, + "storageAccountSubscriptionId": { + "format": "uuid", + "description": "Specifies the blob storage subscription Id.", + "type": "string" + } + } + }, + "DatabaseBlobAuditingPolicy": { + "description": "A database blob auditing policy.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "description": "Resource kind.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/DatabaseBlobAuditingPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "DatabaseBlobAuditingPolicyListResult": { + "description": "A list of database auditing settings.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseBlobAuditingPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + }, + "BlobAuditingPolicyNameParameter": { + "name": "blobAuditingPolicyName", + "in": "path", + "description": "The name of the blob auditing policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DataWarehouseUserActivities.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DataWarehouseUserActivities.json new file mode 100644 index 000000000000..d68c83144e47 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DataWarehouseUserActivities.json @@ -0,0 +1,199 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataWarehouseUserActivities/{dataWarehouseUserActivityName}": { + "get": { + "tags": [ + "DataWarehouseUserActivities" + ], + "description": "Gets the user activities of a data warehouse which includes running and suspended queries", + "operationId": "DataWarehouseUserActivities_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "dataWarehouseUserActivityName", + "in": "path", + "description": "The activity name of the data warehouse. ", + "required": true, + "type": "string", + "enum": [ + "current" + ], + "x-ms-enum": { + "name": "DataWarehouseUserActivityName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully get the data warehouse user activities.", + "schema": { + "$ref": "#/definitions/DataWarehouseUserActivities" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceNotFound - The specified resource was not found." + } + }, + "x-ms-examples": { + "Get the list of the user activities of a data warehouse": { + "$ref": "./examples/GetDataWarehouseUserActivities.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataWarehouseUserActivities": { + "get": { + "tags": [ + "DataWarehouseUserActivities" + ], + "description": "List the user activities of a data warehouse which includes running and suspended queries", + "operationId": "DataWarehouseUserActivities_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully list the data warehouse user activities.", + "schema": { + "$ref": "#/definitions/DataWarehouseUserActivitiesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceNotFound - The specified resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List of the user activities of a data warehouse": { + "$ref": "./examples/ListDataWarehouseUserActivities.json" + } + } + } + } + }, + "definitions": { + "DataWarehouseUserActivitiesProperties": { + "description": "User activities of a data warehouse. This currently includes the count of running or suspended queries. For more information, please view the sys.dm_pdw_exec_requests dynamic management view (DMV).", + "type": "object", + "properties": { + "activeQueriesCount": { + "format": "int32", + "description": "Count of running and suspended queries.", + "type": "integer", + "readOnly": true + } + } + }, + "DataWarehouseUserActivities": { + "description": "User activities of a data warehouse", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DataWarehouseUserActivitiesProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "DataWarehouseUserActivitiesListResult": { + "description": "User activities of a data warehouse", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DataWarehouseUserActivities" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseAdvisors.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseAdvisors.json new file mode 100644 index 000000000000..31956fdcb51d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseAdvisors.json @@ -0,0 +1,665 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors": { + "get": { + "tags": [ + "DatabaseAdvisors" + ], + "description": "Gets a list of database advisors.", + "operationId": "DatabaseAdvisors_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "The child resources to include in the response.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of database advisors.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Advisor" + } + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DataWarehouseNotSupported - Automatic tuning is not supported for SQL Data Warehouse.\n\n * 404 DatabaseDoesNotExist - The requested database was not found\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SubscriptionDoesNotHaveElasticPool - The requested elastic pool was not found\n\n * 404 AdvisorNotFound - The requested advisor was not found.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 409 Conflict - Request could not be processed because of conflict in the request.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable." + } + }, + "x-ms-examples": { + "List of database advisors": { + "$ref": "./examples/DatabaseAdvisorList.json" + }, + "List of database recommended actions for all advisors": { + "$ref": "./examples/DatabaseRecommendedActionListExpand.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}": { + "get": { + "tags": [ + "DatabaseAdvisors" + ], + "description": "Gets a database advisor.", + "operationId": "DatabaseAdvisors_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "advisorName", + "in": "path", + "description": "The name of the Database Advisor.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved details of specified database advisor.", + "schema": { + "$ref": "#/definitions/Advisor" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DataWarehouseNotSupported - Automatic tuning is not supported for SQL Data Warehouse.\n\n * 404 DatabaseDoesNotExist - The requested database was not found\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SubscriptionDoesNotHaveElasticPool - The requested elastic pool was not found\n\n * 404 AdvisorNotFound - The requested advisor was not found.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 409 Conflict - Request could not be processed because of conflict in the request.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable." + } + }, + "x-ms-examples": { + "Get database advisor": { + "$ref": "./examples/DatabaseAdvisorGet.json" + } + } + }, + "patch": { + "tags": [ + "DatabaseAdvisors" + ], + "description": "Updates a database advisor.", + "operationId": "DatabaseAdvisors_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "advisorName", + "in": "path", + "description": "The name of the Database Advisor.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested advisor resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/Advisor" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the specified database advisor.", + "schema": { + "$ref": "#/definitions/Advisor" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DataWarehouseNotSupported - Automatic tuning is not supported for SQL Data Warehouse.\n\n * 400 InvalidAdvisorUpsertRequest - The update advisor request body does not exist or has no properties object.\n\n * 400 InvalidAdvisorAutoExecuteStatus - Specified auto-execute status for the advisor is not allowed.\n\n * 404 DatabaseDoesNotExist - The requested database was not found\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SubscriptionDoesNotHaveElasticPool - The requested elastic pool was not found\n\n * 404 AdvisorNotFound - The requested advisor was not found.\n\n * 404 AutomaticTuningOptionNotFound - The requested automatic tuning option was not found.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 409 Conflict - Request could not be processed because of conflict in the request.\n\n * 409 DisabledBySystem - This option is disabled by system\n\n * 409 DefaultAdvisorStateNotAllowedInCustomDbMode - DEFAULT advisor state is not allowed in CUSTOM mode\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable." + } + }, + "x-ms-examples": { + "Update database advisor": { + "$ref": "./examples/DatabaseAdvisorUpdate.json" + } + } + } + } + }, + "definitions": { + "AdvisorProperties": { + "description": "Properties for a Database, Server or Elastic Pool Advisor.", + "required": [ + "autoExecuteStatus" + ], + "type": "object", + "properties": { + "advisorStatus": { + "description": "Gets the status of availability of this advisor to customers. Possible values are 'GA', 'PublicPreview', 'LimitedPublicPreview' and 'PrivatePreview'.", + "enum": [ + "GA", + "PublicPreview", + "LimitedPublicPreview", + "PrivatePreview" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AdvisorStatus", + "modelAsString": false + } + }, + "autoExecuteStatus": { + "description": "Gets the auto-execute status (whether to let the system execute the recommendations) of this advisor. Possible values are 'Enabled' and 'Disabled'", + "enum": [ + "Enabled", + "Disabled", + "Default" + ], + "type": "string", + "x-ms-enum": { + "name": "AutoExecuteStatus", + "modelAsString": false + } + }, + "autoExecuteStatusInheritedFrom": { + "description": "Gets the resource from which current value of auto-execute status is inherited. Auto-execute status can be set on (and inherited from) different levels in the resource hierarchy. Possible values are 'Subscription', 'Server', 'ElasticPool', 'Database' and 'Default' (when status is not explicitly set on any level).", + "enum": [ + "Default", + "Subscription", + "Server", + "ElasticPool", + "Database" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AutoExecuteStatusInheritedFrom", + "modelAsString": false + } + }, + "recommendationsStatus": { + "description": "Gets that status of recommendations for this advisor and reason for not having any recommendations. Possible values include, but are not limited to, 'Ok' (Recommendations available),LowActivity (not enough workload to analyze), 'DbSeemsTuned' (Database is doing well), etc.", + "type": "string", + "readOnly": true + }, + "lastChecked": { + "format": "date-time", + "description": "Gets the time when the current resource was analyzed for recommendations by this advisor.", + "type": "string", + "readOnly": true + }, + "recommendedActions": { + "description": "Gets the recommended actions for this advisor.", + "type": "array", + "items": { + "$ref": "#/definitions/RecommendedAction" + }, + "readOnly": true + } + } + }, + "RecommendedActionProperties": { + "description": "Properties for a Database, Server or Elastic Pool Recommended Action.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "recommendationReason": { + "description": "Gets the reason for recommending this action. e.g., DuplicateIndex", + "type": "string", + "readOnly": true + }, + "validSince": { + "format": "date-time", + "description": "Gets the time since when this recommended action is valid.", + "type": "string", + "readOnly": true + }, + "lastRefresh": { + "format": "date-time", + "description": "Gets time when this recommended action was last refreshed.", + "type": "string", + "readOnly": true + }, + "state": { + "$ref": "#/definitions/RecommendedActionStateInfo", + "description": "Gets the info of the current state the recommended action is in." + }, + "isExecutableAction": { + "description": "Gets if this recommended action is actionable by user", + "type": "boolean", + "readOnly": true + }, + "isRevertableAction": { + "description": "Gets if changes applied by this recommended action can be reverted by user", + "type": "boolean", + "readOnly": true + }, + "isArchivedAction": { + "description": "Gets if this recommended action was suggested some time ago but user chose to ignore this and system added a new recommended action again.", + "type": "boolean", + "readOnly": true + }, + "executeActionStartTime": { + "format": "date-time", + "description": "Gets the time when system started applying this recommended action on the user resource. e.g., index creation start time", + "type": "string", + "readOnly": true + }, + "executeActionDuration": { + "format": "duration", + "description": "Gets the time taken for applying this recommended action on user resource. e.g., time taken for index creation", + "type": "string", + "readOnly": true + }, + "revertActionStartTime": { + "format": "date-time", + "description": "Gets the time when system started reverting changes of this recommended action on user resource. e.g., time when index drop is executed.", + "type": "string", + "readOnly": true + }, + "revertActionDuration": { + "format": "duration", + "description": "Gets the time taken for reverting changes of this recommended action on user resource. e.g., time taken for dropping the created index.", + "type": "string", + "readOnly": true + }, + "executeActionInitiatedBy": { + "description": "Gets if approval for applying this recommended action was given by user/system.", + "enum": [ + "User", + "System" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RecommendedActionInitiatedBy", + "modelAsString": false + } + }, + "executeActionInitiatedTime": { + "format": "date-time", + "description": "Gets the time when this recommended action was approved for execution.", + "type": "string", + "readOnly": true + }, + "revertActionInitiatedBy": { + "description": "Gets if approval for reverting this recommended action was given by user/system.", + "enum": [ + "User", + "System" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RecommendedActionInitiatedBy", + "modelAsString": false + } + }, + "revertActionInitiatedTime": { + "format": "date-time", + "description": "Gets the time when this recommended action was approved for revert.", + "type": "string", + "readOnly": true + }, + "score": { + "format": "int32", + "description": "Gets the impact of this recommended action. Possible values are 1 - Low impact, 2 - Medium Impact and 3 - High Impact", + "type": "integer", + "readOnly": true + }, + "implementationDetails": { + "$ref": "#/definitions/RecommendedActionImplementationInfo", + "description": "Gets the implementation details of this recommended action for user to apply it manually.", + "readOnly": true + }, + "errorDetails": { + "$ref": "#/definitions/RecommendedActionErrorInfo", + "description": "Gets the error details if and why this recommended action is put to error state.", + "readOnly": true + }, + "estimatedImpact": { + "description": "Gets the estimated impact info for this recommended action e.g., Estimated CPU gain, Estimated Disk Space change", + "type": "array", + "items": { + "$ref": "#/definitions/RecommendedActionImpactRecord" + }, + "readOnly": true + }, + "observedImpact": { + "description": "Gets the observed/actual impact info for this recommended action e.g., Actual CPU gain, Actual Disk Space change", + "type": "array", + "items": { + "$ref": "#/definitions/RecommendedActionImpactRecord" + }, + "readOnly": true + }, + "timeSeries": { + "description": "Gets the time series info of metrics for this recommended action e.g., CPU consumption time series", + "type": "array", + "items": { + "$ref": "#/definitions/RecommendedActionMetricInfo" + }, + "readOnly": true + }, + "linkedObjects": { + "description": "Gets the linked objects, if any.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "details": { + "description": "Gets additional details specific to this recommended action.", + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true + } + } + }, + "RecommendedActionStateInfo": { + "description": "Contains information of current state for an Azure SQL Database, Server or Elastic Pool Recommended Action.", + "required": [ + "currentValue" + ], + "type": "object", + "properties": { + "currentValue": { + "description": "Current state the recommended action is in. Some commonly used states are: Active -> recommended action is active and no action has been taken yet. Pending -> recommended action is approved for and is awaiting execution. Executing -> recommended action is being applied on the user database. Verifying -> recommended action was applied and is being verified of its usefulness by the system. Success -> recommended action was applied and improvement found during verification. Pending Revert -> verification found little or no improvement so recommended action is queued for revert or user has manually reverted. Reverting -> changes made while applying recommended action are being reverted on the user database. Reverted -> successfully reverted the changes made by recommended action on user database. Ignored -> user explicitly ignored/discarded the recommended action. ", + "enum": [ + "Active", + "Pending", + "Executing", + "Verifying", + "PendingRevert", + "RevertCancelled", + "Reverting", + "Reverted", + "Ignored", + "Expired", + "Monitoring", + "Resolved", + "Success", + "Error" + ], + "type": "string", + "x-ms-enum": { + "name": "RecommendedActionCurrentState", + "modelAsString": true + } + }, + "actionInitiatedBy": { + "description": "Gets who initiated the execution of this recommended action. Possible Value are: User -> When user explicity notified system to apply the recommended action. System -> When auto-execute status of this advisor was set to 'Enabled', in which case the system applied it.", + "enum": [ + "User", + "System" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RecommendedActionInitiatedBy", + "modelAsString": false + } + }, + "lastModified": { + "format": "date-time", + "description": "Gets the time when the state was last modified", + "type": "string", + "readOnly": true + } + } + }, + "RecommendedActionImplementationInfo": { + "description": "Contains information for manual implementation for an Azure SQL Database, Server or Elastic Pool Recommended Action.", + "type": "object", + "properties": { + "method": { + "description": "Gets the method in which this recommended action can be manually implemented. e.g., TSql, AzurePowerShell.", + "enum": [ + "TSql", + "AzurePowerShell" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ImplementationMethod", + "modelAsString": false + } + }, + "script": { + "description": "Gets the manual implementation script. e.g., T-SQL script that could be executed on the database.", + "type": "string", + "readOnly": true + } + } + }, + "RecommendedActionErrorInfo": { + "description": "Contains error information for an Azure SQL Database, Server or Elastic Pool Recommended Action.", + "type": "object", + "properties": { + "errorCode": { + "description": "Gets the reason why the recommended action was put to error state. e.g., DatabaseHasQdsOff, IndexAlreadyExists", + "type": "string", + "readOnly": true + }, + "isRetryable": { + "description": "Gets whether the error could be ignored and recommended action could be retried. Possible values are: Yes/No", + "enum": [ + "Yes", + "No" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "IsRetryable", + "modelAsString": false + } + } + } + }, + "RecommendedActionImpactRecord": { + "description": "Contains information of estimated or observed impact on various metrics for an Azure SQL Database, Server or Elastic Pool Recommended Action.", + "type": "object", + "properties": { + "dimensionName": { + "description": "Gets the name of the impact dimension. e.g., CPUChange, DiskSpaceChange, NumberOfQueriesAffected.", + "type": "string", + "readOnly": true + }, + "unit": { + "description": "Gets the name of the impact dimension. e.g., CPUChange, DiskSpaceChange, NumberOfQueriesAffected.", + "type": "string", + "readOnly": true + }, + "absoluteValue": { + "format": "double", + "description": "Gets the absolute value of this dimension if applicable. e.g., Number of Queries affected", + "type": "number", + "readOnly": true + }, + "changeValueAbsolute": { + "format": "double", + "description": "Gets the absolute change in the value of this dimension. e.g., Absolute Disk space change in Megabytes", + "type": "number", + "readOnly": true + }, + "changeValueRelative": { + "format": "double", + "description": "Gets the relative change in the value of this dimension. e.g., Relative Disk space change in Percentage", + "type": "number", + "readOnly": true + } + } + }, + "RecommendedActionMetricInfo": { + "description": "Contains time series of various impacted metrics for an Azure SQL Database, Server or Elastic Pool Recommended Action.", + "type": "object", + "properties": { + "metricName": { + "description": "Gets the name of the metric. e.g., CPU, Number of Queries.", + "type": "string", + "readOnly": true + }, + "unit": { + "description": "Gets the unit in which metric is measured. e.g., DTU, Frequency", + "type": "string", + "readOnly": true + }, + "timeGrain": { + "description": "Gets the duration of time interval for the value given by this MetricInfo. e.g., PT1H (1 hour)", + "type": "string", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "Gets the start time of time interval given by this MetricInfo.", + "type": "string", + "readOnly": true + }, + "value": { + "format": "double", + "description": "Gets the value of the metric in the time interval given by this MetricInfo.", + "type": "number", + "readOnly": true + } + } + }, + "RecommendedAction": { + "description": "Database, Server or Elastic Pool Recommended Action.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "description": "Resource kind.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Resource location.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/RecommendedActionProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "Advisor": { + "description": "Database, Server or Elastic Pool Advisor.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "description": "Resource kind.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Resource location.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/AdvisorProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseAutomaticTuning.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseAutomaticTuning.json new file mode 100644 index 000000000000..1b3873b9daf3 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseAutomaticTuning.json @@ -0,0 +1,259 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/automaticTuning/current": { + "get": { + "tags": [ + "DatabaseAutomaticTuning" + ], + "description": "Gets a database's automatic tuning.", + "operationId": "DatabaseAutomaticTuning_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved database automatic tuning properties.", + "schema": { + "$ref": "#/definitions/DatabaseAutomaticTuning" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 SystemDatabasesNotSupported - User tried to get automatic tuning information on system databases.\n\n * 400 DataWarehouseNotSupported - Automatic tuning is not supported for SQL Data Warehouse.\n\n * 404 DatabaseDoesNotExist - The requested database was not found\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SubscriptionDoesNotHaveElasticPool - The requested elastic pool was not found\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 409 Conflict - Request could not be processed because of conflict in the request.\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.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable." + } + }, + "x-ms-examples": { + "Get a database's automatic tuning settings": { + "$ref": "./examples/DatabaseAutomaticTuningGet.json" + } + } + }, + "patch": { + "tags": [ + "DatabaseAutomaticTuning" + ], + "description": "Update automatic tuning properties for target database.", + "operationId": "DatabaseAutomaticTuning_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested automatic tuning resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseAutomaticTuning" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the specified database automatic tuning settings.", + "schema": { + "$ref": "#/definitions/DatabaseAutomaticTuning" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 SystemDatabasesNotSupported - User tried to get automatic tuning information on system databases.\n\n * 400 DataWarehouseNotSupported - Automatic tuning is not supported for SQL Data Warehouse.\n\n * 400 InvalidAutomaticTuningUpsertRequest - The update automatic tuning request body does not exist or has no properties object.\n\n * 400 InvalidAdvisorAutoExecuteStatus - Specified auto-execute status for the advisor is not allowed.\n\n * 404 DatabaseDoesNotExist - The requested database was not found\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SubscriptionDoesNotHaveElasticPool - The requested elastic pool was not found\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 AutomaticTuningOptionNotFound - The requested automatic tuning option was not found.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 409 Conflict - Request could not be processed because of conflict in the request.\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 * 409 DisabledBySystem - This option is disabled by system\n\n * 409 DefaultAdvisorStateNotAllowedInCustomDbMode - DEFAULT advisor state is not allowed in CUSTOM mode\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable." + } + }, + "x-ms-examples": { + "Updates database automatic tuning settings with minimal properties": { + "$ref": "./examples/DatabaseAutomaticTuningUpdateMin.json" + }, + "Updates database automatic tuning settings with all properties": { + "$ref": "./examples/DatabaseAutomaticTuningUpdateMax.json" + } + } + } + } + }, + "definitions": { + "DatabaseAutomaticTuningProperties": { + "description": "Database-level Automatic Tuning properties.", + "type": "object", + "properties": { + "desiredState": { + "description": "Automatic tuning desired state.", + "enum": [ + "Inherit", + "Custom", + "Auto", + "Unspecified" + ], + "type": "string", + "x-ms-enum": { + "name": "AutomaticTuningMode", + "modelAsString": false + } + }, + "actualState": { + "description": "Automatic tuning actual state.", + "enum": [ + "Inherit", + "Custom", + "Auto", + "Unspecified" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AutomaticTuningMode", + "modelAsString": false + } + }, + "options": { + "description": "Automatic tuning options definition.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/AutomaticTuningOptions" + } + } + } + }, + "AutomaticTuningOptions": { + "description": "Automatic tuning properties for individual advisors.", + "type": "object", + "properties": { + "desiredState": { + "description": "Automatic tuning option desired state.", + "enum": [ + "Off", + "On", + "Default" + ], + "type": "string", + "x-ms-enum": { + "name": "AutomaticTuningOptionModeDesired", + "modelAsString": false + } + }, + "actualState": { + "description": "Automatic tuning option actual state.", + "enum": [ + "Off", + "On" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AutomaticTuningOptionModeActual", + "modelAsString": false + } + }, + "reasonCode": { + "format": "int32", + "description": "Reason code if desired and actual state are different.", + "type": "integer", + "readOnly": true + }, + "reasonDesc": { + "description": "Reason description if desired and actual state are different.", + "enum": [ + "Default", + "Disabled", + "AutoConfigured", + "InheritedFromServer", + "QueryStoreOff", + "QueryStoreReadOnly", + "NotSupported" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AutomaticTuningDisabledReason", + "modelAsString": false + } + } + } + }, + "DatabaseAutomaticTuning": { + "description": "Database-level Automatic Tuning.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DatabaseAutomaticTuningProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseColumns.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseColumns.json new file mode 100644 index 000000000000..0e58f079ba81 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseColumns.json @@ -0,0 +1,382 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/columns": { + "get": { + "tags": [ + "DatabaseColumns" + ], + "description": "List database columns", + "operationId": "DatabaseColumns_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schema", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "table", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "column", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "orderBy", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "$skiptoken", + "in": "query", + "description": "An opaque token that identifies a starting point in the collection.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved database columns.", + "schema": { + "$ref": "#/definitions/DatabaseColumnListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UnsupportedColumnOrderByProperty - The order-by property '{0}' is not supported. Allowed properties are: {1}.\n\n * 400 UnsupportedColumnSortDirection - The column sort direction '{0}' is not supported. Allowed values are: {1}.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List database columns": { + "$ref": "./examples/ColumnsListByDatabaseMin.json" + }, + "Filter database columns": { + "$ref": "./examples/ColumnsListByDatabaseMax.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns": { + "get": { + "tags": [ + "DatabaseColumns" + ], + "description": "List database columns", + "operationId": "DatabaseColumns_ListByTable", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "name": "tableName", + "in": "path", + "description": "The name of the table.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "An OData filter expression that filters elements in the collection.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved database columns.", + "schema": { + "$ref": "#/definitions/DatabaseColumnListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InvalidDatabaseSchema - Schema is missing in database.\n\n * 404 InvalidDatabaseTable - Table is missing in database.\n\n * 404 InvalidDatabaseColumn - Column is missing in table.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-odata": "#/definitions/DatabaseColumn", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List database columns": { + "$ref": "./examples/DatabaseColumnListByTable.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}": { + "get": { + "tags": [ + "DatabaseColumns" + ], + "description": "Get database column", + "operationId": "DatabaseColumns_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "name": "tableName", + "in": "path", + "description": "The name of the table.", + "required": true, + "type": "string" + }, + { + "name": "columnName", + "in": "path", + "description": "The name of the column.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved database column.", + "schema": { + "$ref": "#/definitions/DatabaseColumn" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InvalidDatabaseSchema - Schema is missing in database.\n\n * 404 InvalidDatabaseTable - Table is missing in database.\n\n * 404 InvalidDatabaseColumn - Column is missing in table.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-examples": { + "Get database column": { + "$ref": "./examples/DatabaseColumnGet.json" + } + } + } + } + }, + "definitions": { + "DatabaseColumnListResult": { + "description": "A list of database columns.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseColumn" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "DatabaseColumnProperties": { + "description": "Database column properties.", + "type": "object", + "properties": { + "columnType": { + "description": "The column data type.", + "enum": [ + "image", + "text", + "uniqueidentifier", + "date", + "time", + "datetime2", + "datetimeoffset", + "tinyint", + "smallint", + "int", + "smalldatetime", + "real", + "money", + "datetime", + "float", + "sql_variant", + "ntext", + "bit", + "decimal", + "numeric", + "smallmoney", + "bigint", + "hierarchyid", + "geometry", + "geography", + "varbinary", + "varchar", + "binary", + "char", + "timestamp", + "nvarchar", + "nchar", + "xml", + "sysname" + ], + "type": "string", + "x-ms-enum": { + "name": "ColumnDataType", + "modelAsString": true + } + }, + "temporalType": { + "description": "The table temporal type.", + "enum": [ + "NonTemporalTable", + "HistoryTable", + "SystemVersionedTemporalTable" + ], + "type": "string", + "x-ms-enum": { + "name": "TableTemporalType", + "modelAsString": true + } + }, + "memoryOptimized": { + "description": "Whether or not the column belongs to a memory optimized table.", + "type": "boolean" + }, + "isComputed": { + "description": "Whether or not the column is computed.", + "type": "boolean" + } + } + }, + "DatabaseColumn": { + "description": "A database column resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DatabaseColumnProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseExtensions.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseExtensions.json new file mode 100644 index 000000000000..4becf8ff6f82 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseExtensions.json @@ -0,0 +1,464 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions/{extensionName}": { + "get": { + "tags": [ + "DatabaseExtensions" + ], + "description": "Gets a database extension. This will return resource not found as it is not supported.", + "operationId": "DatabaseExtensions_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Get extensions import/export operation. This will return resource not found as it is not supported." + }, + "default": { + "description": "*** Error Responses: ***" + } + }, + "x-ms-examples": { + "Get database extensions.": { + "$ref": "./examples/GetDatabaseExtensions.json" + } + } + }, + "put": { + "tags": [ + "DatabaseExtensions" + ], + "description": "Perform a database extension operation, like database import, database export, or polybase import", + "operationId": "DatabaseExtensions_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The database import request parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseExtensions" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully completed import/export operation.", + "schema": { + "$ref": "#/definitions/ImportExportExtensionsOperationResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MissingImportExportInputParameters - Missing ImportExport input parameters.\n\n * 400 PolybaseImportAuthenticationTypeNotSupported - Authentication type parameter is not support for PolybaseImport operation.\n\n * 400 DatabaseExtensionsInvalidOperationMode - Invalid operationMode parameter for database extension.\n\n * 400 DatabaseExtensionsInvalidStorageKeyType - The storage key type must by 'StorageAccessKey'.\n\n * 400 DatabaseExtensionsMissingStorageUri - Storage URI cannot be empty.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidOperationType - Provide a valid operation type.\n\n * 400 ImportExportJobError - The ImportExport operation has failed.\n\n * 400 BlockedByOutboundFirewall - The outbound firewall rules blocked the request.\n\n * 404 ResourceNotFound - Invalid request specifying a non-existent resource.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ImportExportOperationIdNotFound - The operation Id for import or export cannot be found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 ImportExportOperationInProgress - There is an import or export operation in progress on the database." + }, + "202": { + "description": "Import/Export operation is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or Update database extensions.": { + "$ref": "./examples/CreateOrUpdateDatabaseExtensions.json" + }, + "Import database using database extension.": { + "$ref": "./examples/ImportDatabaseUsingDatabaseExtensions.json" + }, + "Export database using database extension.": { + "$ref": "./examples/ExportDatabaseUsingDatabaseExtensions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions": { + "get": { + "tags": [ + "DatabaseExtensions" + ], + "description": "List database extension. This will return an empty list as it is not supported.", + "operationId": "DatabaseExtensions_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List extensions import/export operations. This will return an empty list as it is not supported.", + "schema": { + "$ref": "#/definitions/ImportExportExtensionsOperationListResult" + } + }, + "default": { + "description": "*** Error Responses: ***" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List database extensions.": { + "$ref": "./examples/ListDatabaseExtensions.json" + } + } + } + } + }, + "definitions": { + "DatabaseExtensionsProperties": { + "description": "Contains the database information after a successful Import, Export, or PolybaseImport", + "required": [ + "operationMode", + "storageKeyType", + "storageKey", + "storageUri" + ], + "type": "object", + "properties": { + "operationMode": { + "description": "Operation mode of the operation: Import, Export, or PolybaseImport.", + "enum": [ + "PolybaseImport", + "Import", + "Export" + ], + "type": "string", + "x-ms-enum": { + "name": "OperationMode", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "storageKeyType": { + "description": "Storage key type: StorageAccessKey or SharedAccessKey.", + "enum": [ + "SharedAccessKey", + "StorageAccessKey" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageKeyType", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "storageKey": { + "description": "Storage key for the storage account.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "storageUri": { + "description": "Storage Uri for the storage account.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLogin": { + "description": "Administrator login name.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLoginPassword": { + "description": "Administrator login password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "authenticationType": { + "description": "Authentication type: SQL authentication or AD password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "databaseEdition": { + "description": "Database edition for the newly created database in the case of an import operation.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "serviceObjectiveName": { + "description": "Database service level objective for the newly created database in the case of an import operation.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "maxSizeBytes": { + "description": "Database max size in bytes for the newly created database in the case of an import operation.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "networkIsolation": { + "$ref": "#/definitions/NetworkIsolationSettings", + "description": "Optional resource information to enable network isolation for request.", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "NetworkIsolationSettings": { + "description": "Contains the ARM resources for which to create private endpoint connection.", + "type": "object", + "properties": { + "storageAccountResourceId": { + "description": "The resource id for the storage account used to store BACPAC file. If set, private endpoint connection will be created for the storage account. Must match storage account used for StorageUri parameter.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "sqlServerResourceId": { + "description": "The resource id for the SQL server which is the target of this request. If set, private endpoint connection will be created for the SQL server. Must match server which is target of the operation.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "DatabaseExtensions": { + "description": "An Import, Export, or PolybaseImport resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DatabaseExtensionsProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ImportExportExtensionsOperationResultProperties": { + "description": "Contains the operation result properties for import/export operation.", + "type": "object", + "properties": { + "requestId": { + "format": "uuid", + "description": "Request Id.", + "type": "string", + "readOnly": true + }, + "requestType": { + "description": "Request type.", + "type": "string", + "readOnly": true + }, + "lastModifiedTime": { + "description": "Last modified time.", + "type": "string", + "readOnly": true + }, + "serverName": { + "description": "Server name.", + "type": "string", + "readOnly": true + }, + "databaseName": { + "description": "Database name.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Operation status.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "Error message.", + "type": "string", + "readOnly": true + }, + "queuedTime": { + "description": "Queued time.", + "type": "string", + "readOnly": true + }, + "blobUri": { + "description": "Blob URI.", + "type": "string", + "readOnly": true + }, + "privateEndpointConnections": { + "description": "Gets the status of private endpoints associated with this request.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionRequestStatus" + }, + "readOnly": true + } + } + }, + "PrivateEndpointConnectionRequestStatus": { + "description": "Contains the private endpoint connection requests status.", + "type": "object", + "properties": { + "privateLinkServiceId": { + "description": "Resource id for which the private endpoint is created.", + "type": "string", + "readOnly": true + }, + "privateEndpointConnectionName": { + "description": "The connection name for the private endpoint.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of this private endpoint connection.", + "type": "string", + "readOnly": true + } + } + }, + "ImportExportExtensionsOperationResult": { + "description": "An Extension operation result resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ImportExportExtensionsOperationResultProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ImportExportExtensionsOperationListResult": { + "description": "Import export operation extensions list.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ImportExportExtensionsOperationResult" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseOperations.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseOperations.json new file mode 100644 index 000000000000..f0d7f5f0e768 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseOperations.json @@ -0,0 +1,271 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations/{operationId}/cancel": { + "post": { + "tags": [ + "DatabaseOperations" + ], + "description": "Cancels the asynchronous operation on the database.", + "operationId": "DatabaseOperations_Cancel", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "operationId", + "in": "path", + "description": "The operation identifier.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request for cancel has been executed successfully." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\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 * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 CannotCancelOperation - The management operation is in a state that cannot be cancelled.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-examples": { + "Cancel the database management operation": { + "$ref": "./examples/CancelDatabaseOperation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations": { + "get": { + "tags": [ + "DatabaseOperations" + ], + "description": "Gets a list of operations performed on the database.", + "operationId": "DatabaseOperations_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request for getting database operations has been executed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseOperationListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\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 * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List the database management operations": { + "$ref": "./examples/ListDatabaseOperations.json" + } + } + } + } + }, + "definitions": { + "DatabaseOperationListResult": { + "description": "The response to a list database operations request", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseOperation" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "DatabaseOperationProperties": { + "description": "The properties of a database operation.", + "type": "object", + "properties": { + "databaseName": { + "description": "The name of the database the operation is being performed on.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The name of operation.", + "type": "string", + "readOnly": true + }, + "operationFriendlyName": { + "description": "The friendly name of operation.", + "type": "string", + "readOnly": true + }, + "percentComplete": { + "format": "int32", + "description": "The percentage of the operation completed.", + "type": "integer", + "readOnly": true + }, + "serverName": { + "description": "The name of the server.", + "type": "string", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "The operation start time.", + "type": "string", + "readOnly": true + }, + "state": { + "description": "The operation state.", + "enum": [ + "Pending", + "InProgress", + "Succeeded", + "Failed", + "CancelInProgress", + "Cancelled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ManagementOperationState", + "modelAsString": true + } + }, + "errorCode": { + "format": "int32", + "description": "The operation error code.", + "type": "integer", + "readOnly": true + }, + "errorDescription": { + "description": "The operation error description.", + "type": "string", + "readOnly": true + }, + "errorSeverity": { + "format": "int32", + "description": "The operation error severity.", + "type": "integer", + "readOnly": true + }, + "isUserError": { + "description": "Whether or not the error is a user error.", + "type": "boolean", + "readOnly": true + }, + "estimatedCompletionTime": { + "format": "date-time", + "description": "The estimated completion time of the operation.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The operation description.", + "type": "string", + "readOnly": true + }, + "isCancellable": { + "description": "Whether the operation can be cancelled.", + "type": "boolean", + "readOnly": true + } + } + }, + "DatabaseOperation": { + "description": "A database operation.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DatabaseOperationProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseRecommendedActions.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseRecommendedActions.json new file mode 100644 index 000000000000..c8a992eeeb18 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseRecommendedActions.json @@ -0,0 +1,578 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions": { + "get": { + "tags": [ + "DatabaseRecommendedActions" + ], + "description": "Gets list of Database Recommended Actions.", + "operationId": "DatabaseRecommendedActions_ListByDatabaseAdvisor", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "advisorName", + "in": "path", + "description": "The name of the Database Advisor.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of database recommended actions.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/RecommendedAction" + } + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 404 DatabaseDoesNotExist - The requested database was not found\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SubscriptionDoesNotHaveElasticPool - The requested elastic pool was not found\n\n * 404 AdvisorNotFound - The requested advisor was not found.\n\n * 404 RecommendedActionNotFound - The requested recommended action was not found.\n\n * 404 AdvisorNotFound - The requested advisor was not found.\n\n * 404 RecommendedActionNotFound - The requested recommended action was not found.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 409 Conflict - Request could not be processed because of conflict in the request.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable." + } + }, + "x-ms-examples": { + "List of database recommended actions": { + "$ref": "./examples/DatabaseRecommendedActionList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}": { + "get": { + "tags": [ + "DatabaseRecommendedActions" + ], + "description": "Gets a database recommended action.", + "operationId": "DatabaseRecommendedActions_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "advisorName", + "in": "path", + "description": "The name of the Database Advisor.", + "required": true, + "type": "string" + }, + { + "name": "recommendedActionName", + "in": "path", + "description": "The name of Database Recommended Action.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved details of specified database recommended action.", + "schema": { + "$ref": "#/definitions/RecommendedAction" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 404 DatabaseDoesNotExist - The requested database was not found\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SubscriptionDoesNotHaveElasticPool - The requested elastic pool was not found\n\n * 404 AdvisorNotFound - The requested advisor was not found.\n\n * 404 RecommendedActionNotFound - The requested recommended action was not found.\n\n * 404 AdvisorNotFound - The requested advisor was not found.\n\n * 404 RecommendedActionNotFound - The requested recommended action was not found.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 409 Conflict - Request could not be processed because of conflict in the request.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable." + } + }, + "x-ms-examples": { + "Get database recommended action": { + "$ref": "./examples/DatabaseRecommendedActionGet.json" + } + } + }, + "patch": { + "tags": [ + "DatabaseRecommendedActions" + ], + "description": "Updates a database recommended action.", + "operationId": "DatabaseRecommendedActions_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "advisorName", + "in": "path", + "description": "The name of the Database Advisor.", + "required": true, + "type": "string" + }, + { + "name": "recommendedActionName", + "in": "path", + "description": "The name of Database Recommended Action.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested recommended action resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/RecommendedAction" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the specified database recommended action.", + "schema": { + "$ref": "#/definitions/RecommendedAction" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 InvalidRecommendedActionUpsertRequest - The update recommended action request body does not exist or has no properties or state object.\n\n * 400 InvalidRecommendedActionState - The specified state for recommended action is invalid\n\n * 404 DatabaseDoesNotExist - The requested database was not found\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SubscriptionDoesNotHaveElasticPool - The requested elastic pool was not found\n\n * 404 AdvisorNotFound - The requested advisor was not found.\n\n * 404 RecommendedActionNotFound - The requested recommended action was not found.\n\n * 404 AdvisorNotFound - The requested advisor was not found.\n\n * 404 RecommendedActionNotFound - The requested recommended action was not found.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 409 Conflict - Request could not be processed because of conflict in the request.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable." + } + }, + "x-ms-examples": { + "Update database recommended action": { + "$ref": "./examples/DatabaseRecommendedActionUpdate.json" + } + } + } + } + }, + "definitions": { + "RecommendedActionProperties": { + "description": "Properties for a Database, Server or Elastic Pool Recommended Action.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "recommendationReason": { + "description": "Gets the reason for recommending this action. e.g., DuplicateIndex", + "type": "string", + "readOnly": true + }, + "validSince": { + "format": "date-time", + "description": "Gets the time since when this recommended action is valid.", + "type": "string", + "readOnly": true + }, + "lastRefresh": { + "format": "date-time", + "description": "Gets time when this recommended action was last refreshed.", + "type": "string", + "readOnly": true + }, + "state": { + "$ref": "#/definitions/RecommendedActionStateInfo", + "description": "Gets the info of the current state the recommended action is in." + }, + "isExecutableAction": { + "description": "Gets if this recommended action is actionable by user", + "type": "boolean", + "readOnly": true + }, + "isRevertableAction": { + "description": "Gets if changes applied by this recommended action can be reverted by user", + "type": "boolean", + "readOnly": true + }, + "isArchivedAction": { + "description": "Gets if this recommended action was suggested some time ago but user chose to ignore this and system added a new recommended action again.", + "type": "boolean", + "readOnly": true + }, + "executeActionStartTime": { + "format": "date-time", + "description": "Gets the time when system started applying this recommended action on the user resource. e.g., index creation start time", + "type": "string", + "readOnly": true + }, + "executeActionDuration": { + "format": "duration", + "description": "Gets the time taken for applying this recommended action on user resource. e.g., time taken for index creation", + "type": "string", + "readOnly": true + }, + "revertActionStartTime": { + "format": "date-time", + "description": "Gets the time when system started reverting changes of this recommended action on user resource. e.g., time when index drop is executed.", + "type": "string", + "readOnly": true + }, + "revertActionDuration": { + "format": "duration", + "description": "Gets the time taken for reverting changes of this recommended action on user resource. e.g., time taken for dropping the created index.", + "type": "string", + "readOnly": true + }, + "executeActionInitiatedBy": { + "description": "Gets if approval for applying this recommended action was given by user/system.", + "enum": [ + "User", + "System" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RecommendedActionInitiatedBy", + "modelAsString": false + } + }, + "executeActionInitiatedTime": { + "format": "date-time", + "description": "Gets the time when this recommended action was approved for execution.", + "type": "string", + "readOnly": true + }, + "revertActionInitiatedBy": { + "description": "Gets if approval for reverting this recommended action was given by user/system.", + "enum": [ + "User", + "System" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RecommendedActionInitiatedBy", + "modelAsString": false + } + }, + "revertActionInitiatedTime": { + "format": "date-time", + "description": "Gets the time when this recommended action was approved for revert.", + "type": "string", + "readOnly": true + }, + "score": { + "format": "int32", + "description": "Gets the impact of this recommended action. Possible values are 1 - Low impact, 2 - Medium Impact and 3 - High Impact", + "type": "integer", + "readOnly": true + }, + "implementationDetails": { + "$ref": "#/definitions/RecommendedActionImplementationInfo", + "description": "Gets the implementation details of this recommended action for user to apply it manually.", + "readOnly": true + }, + "errorDetails": { + "$ref": "#/definitions/RecommendedActionErrorInfo", + "description": "Gets the error details if and why this recommended action is put to error state.", + "readOnly": true + }, + "estimatedImpact": { + "description": "Gets the estimated impact info for this recommended action e.g., Estimated CPU gain, Estimated Disk Space change", + "type": "array", + "items": { + "$ref": "#/definitions/RecommendedActionImpactRecord" + }, + "readOnly": true + }, + "observedImpact": { + "description": "Gets the observed/actual impact info for this recommended action e.g., Actual CPU gain, Actual Disk Space change", + "type": "array", + "items": { + "$ref": "#/definitions/RecommendedActionImpactRecord" + }, + "readOnly": true + }, + "timeSeries": { + "description": "Gets the time series info of metrics for this recommended action e.g., CPU consumption time series", + "type": "array", + "items": { + "$ref": "#/definitions/RecommendedActionMetricInfo" + }, + "readOnly": true + }, + "linkedObjects": { + "description": "Gets the linked objects, if any.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "details": { + "description": "Gets additional details specific to this recommended action.", + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true + } + } + }, + "RecommendedActionStateInfo": { + "description": "Contains information of current state for an Azure SQL Database, Server or Elastic Pool Recommended Action.", + "required": [ + "currentValue" + ], + "type": "object", + "properties": { + "currentValue": { + "description": "Current state the recommended action is in. Some commonly used states are: Active -> recommended action is active and no action has been taken yet. Pending -> recommended action is approved for and is awaiting execution. Executing -> recommended action is being applied on the user database. Verifying -> recommended action was applied and is being verified of its usefulness by the system. Success -> recommended action was applied and improvement found during verification. Pending Revert -> verification found little or no improvement so recommended action is queued for revert or user has manually reverted. Reverting -> changes made while applying recommended action are being reverted on the user database. Reverted -> successfully reverted the changes made by recommended action on user database. Ignored -> user explicitly ignored/discarded the recommended action. ", + "enum": [ + "Active", + "Pending", + "Executing", + "Verifying", + "PendingRevert", + "RevertCancelled", + "Reverting", + "Reverted", + "Ignored", + "Expired", + "Monitoring", + "Resolved", + "Success", + "Error" + ], + "type": "string", + "x-ms-enum": { + "name": "RecommendedActionCurrentState", + "modelAsString": true + } + }, + "actionInitiatedBy": { + "description": "Gets who initiated the execution of this recommended action. Possible Value are: User -> When user explicity notified system to apply the recommended action. System -> When auto-execute status of this advisor was set to 'Enabled', in which case the system applied it.", + "enum": [ + "User", + "System" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RecommendedActionInitiatedBy", + "modelAsString": false + } + }, + "lastModified": { + "format": "date-time", + "description": "Gets the time when the state was last modified", + "type": "string", + "readOnly": true + } + } + }, + "RecommendedActionImplementationInfo": { + "description": "Contains information for manual implementation for an Azure SQL Database, Server or Elastic Pool Recommended Action.", + "type": "object", + "properties": { + "method": { + "description": "Gets the method in which this recommended action can be manually implemented. e.g., TSql, AzurePowerShell.", + "enum": [ + "TSql", + "AzurePowerShell" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ImplementationMethod", + "modelAsString": false + } + }, + "script": { + "description": "Gets the manual implementation script. e.g., T-SQL script that could be executed on the database.", + "type": "string", + "readOnly": true + } + } + }, + "RecommendedActionErrorInfo": { + "description": "Contains error information for an Azure SQL Database, Server or Elastic Pool Recommended Action.", + "type": "object", + "properties": { + "errorCode": { + "description": "Gets the reason why the recommended action was put to error state. e.g., DatabaseHasQdsOff, IndexAlreadyExists", + "type": "string", + "readOnly": true + }, + "isRetryable": { + "description": "Gets whether the error could be ignored and recommended action could be retried. Possible values are: Yes/No", + "enum": [ + "Yes", + "No" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "IsRetryable", + "modelAsString": false + } + } + } + }, + "RecommendedActionImpactRecord": { + "description": "Contains information of estimated or observed impact on various metrics for an Azure SQL Database, Server or Elastic Pool Recommended Action.", + "type": "object", + "properties": { + "dimensionName": { + "description": "Gets the name of the impact dimension. e.g., CPUChange, DiskSpaceChange, NumberOfQueriesAffected.", + "type": "string", + "readOnly": true + }, + "unit": { + "description": "Gets the name of the impact dimension. e.g., CPUChange, DiskSpaceChange, NumberOfQueriesAffected.", + "type": "string", + "readOnly": true + }, + "absoluteValue": { + "format": "double", + "description": "Gets the absolute value of this dimension if applicable. e.g., Number of Queries affected", + "type": "number", + "readOnly": true + }, + "changeValueAbsolute": { + "format": "double", + "description": "Gets the absolute change in the value of this dimension. e.g., Absolute Disk space change in Megabytes", + "type": "number", + "readOnly": true + }, + "changeValueRelative": { + "format": "double", + "description": "Gets the relative change in the value of this dimension. e.g., Relative Disk space change in Percentage", + "type": "number", + "readOnly": true + } + } + }, + "RecommendedActionMetricInfo": { + "description": "Contains time series of various impacted metrics for an Azure SQL Database, Server or Elastic Pool Recommended Action.", + "type": "object", + "properties": { + "metricName": { + "description": "Gets the name of the metric. e.g., CPU, Number of Queries.", + "type": "string", + "readOnly": true + }, + "unit": { + "description": "Gets the unit in which metric is measured. e.g., DTU, Frequency", + "type": "string", + "readOnly": true + }, + "timeGrain": { + "description": "Gets the duration of time interval for the value given by this MetricInfo. e.g., PT1H (1 hour)", + "type": "string", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "Gets the start time of time interval given by this MetricInfo.", + "type": "string", + "readOnly": true + }, + "value": { + "format": "double", + "description": "Gets the value of the metric in the time interval given by this MetricInfo.", + "type": "number", + "readOnly": true + } + } + }, + "RecommendedAction": { + "description": "Database, Server or Elastic Pool Recommended Action.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "description": "Resource kind.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Resource location.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/RecommendedActionProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseSchemas.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseSchemas.json new file mode 100644 index 000000000000..d596676a8cc1 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseSchemas.json @@ -0,0 +1,182 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas": { + "get": { + "tags": [ + "DatabaseSchemas" + ], + "description": "List database schemas", + "operationId": "DatabaseSchemas_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "An OData filter expression that filters elements in the collection.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved database schemas.", + "schema": { + "$ref": "#/definitions/DatabaseSchemaListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InvalidDatabaseSchema - Schema is missing in database.\n\n * 404 InvalidDatabaseTable - Table is missing in database.\n\n * 404 InvalidDatabaseColumn - Column is missing in table.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-odata": "#/definitions/DatabaseSchema", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List database schemas": { + "$ref": "./examples/DatabaseSchemaListByDatabase.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}": { + "get": { + "tags": [ + "DatabaseSchemas" + ], + "description": "Get database schema", + "operationId": "DatabaseSchemas_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved database schema.", + "schema": { + "$ref": "#/definitions/DatabaseSchema" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InvalidDatabaseSchema - Schema is missing in database.\n\n * 404 InvalidDatabaseTable - Table is missing in database.\n\n * 404 InvalidDatabaseColumn - Column is missing in table.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-examples": { + "Get database schema": { + "$ref": "./examples/DatabaseSchemaGet.json" + } + } + } + } + }, + "definitions": { + "DatabaseSchema": { + "description": "A database schema resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": {} + }, + "DatabaseSchemaListResult": { + "description": "A list of database schemas.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseSchema" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseSecurityAlertPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseSecurityAlertPolicies.json new file mode 100644 index 000000000000..7d1fe4f1d0b8 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseSecurityAlertPolicies.json @@ -0,0 +1,329 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}": { + "get": { + "tags": [ + "DatabaseSecurityAlertPolicies" + ], + "description": "Gets a database's security alert policy.", + "operationId": "DatabaseSecurityAlertPolicies_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the security alert policy is defined.", + "required": true, + "type": "string" + }, + { + "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": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the database security alert policy.", + "schema": { + "$ref": "#/definitions/DatabaseSecurityAlertPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 SecurityAlertPoliciesInsufficientStorageAccountPermissions - Insufficient read or write permissions on the provided storage account.\n\n * 400 SecurityAlertPoliciesStorageAccountIsDisabled - The storage account provided in the threat detection policy is disabled.\n\n * 400 SecurityAlertPoliciesInsufficientDiskSpace - Insufficient disk space to save security alert policy metadata in the database\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountCredentials - The provided storage account access key is not valid.\n\n * 400 InvalidDatabaseSecurityAlertPolicyCreateRequest - The create database Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 DatabaseSecurityAlertPolicyInProgress - Set database security alert policy is already in progress\n\n * 409 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 GetDatabaseSecurityAlertPolicyFailed - Failed to get Threat Detection settings" + } + }, + "x-ms-examples": { + "Get a database's threat detection policy": { + "$ref": "./examples/DatabaseSecurityAlertGet.json" + } + } + }, + "put": { + "tags": [ + "DatabaseSecurityAlertPolicies" + ], + "description": "Creates or updates a database's security alert policy.", + "operationId": "DatabaseSecurityAlertPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the security alert policy is defined.", + "required": true, + "type": "string" + }, + { + "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 + } + }, + { + "name": "parameters", + "in": "body", + "description": "The database security alert policy.", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseSecurityAlertPolicy" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully set the database security alert policy.", + "schema": { + "$ref": "#/definitions/DatabaseSecurityAlertPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 SecurityAlertPoliciesInsufficientStorageAccountPermissions - Insufficient read or write permissions on the provided storage account.\n\n * 400 SecurityAlertPoliciesStorageAccountIsDisabled - The storage account provided in the threat detection policy is disabled.\n\n * 400 SecurityAlertPoliciesInsufficientDiskSpace - Insufficient disk space to save security alert policy metadata in the database\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountCredentials - The provided storage account access key is not valid.\n\n * 400 InvalidDatabaseSecurityAlertPolicyCreateRequest - The create database Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 DatabaseSecurityAlertPolicyInProgress - Set database security alert policy is already in progress\n\n * 409 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 GetDatabaseSecurityAlertPolicyFailed - Failed to get Threat Detection settings" + }, + "201": { + "description": "Successfully created the database security alert policy.", + "schema": { + "$ref": "#/definitions/DatabaseSecurityAlertPolicy" + } + } + }, + "x-ms-examples": { + "Update a database's threat detection policy with minimal parameters": { + "$ref": "./examples/DatabaseSecurityAlertCreateMin.json" + }, + "Update a database's threat detection policy with all parameters": { + "$ref": "./examples/DatabaseSecurityAlertCreateMax.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies": { + "get": { + "tags": [ + "DatabaseSecurityAlertPolicies" + ], + "description": "Gets a list of database's security alert policies.", + "operationId": "DatabaseSecurityAlertPolicies_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the security alert policy is defined.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the database security alert policy.", + "schema": { + "$ref": "#/definitions/DatabaseSecurityAlertListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 SecurityAlertPoliciesInsufficientStorageAccountPermissions - Insufficient read or write permissions on the provided storage account.\n\n * 400 SecurityAlertPoliciesStorageAccountIsDisabled - The storage account provided in the threat detection policy is disabled.\n\n * 400 SecurityAlertPoliciesInsufficientDiskSpace - Insufficient disk space to save security alert policy metadata in the database\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountCredentials - The provided storage account access key is not valid.\n\n * 400 InvalidDatabaseSecurityAlertPolicyCreateRequest - The create database Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 DatabaseSecurityAlertPolicyInProgress - Set database security alert policy is already in progress\n\n * 409 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 GetDatabaseSecurityAlertPolicyFailed - Failed to get Threat Detection settings" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get the database's threat detection policies": { + "$ref": "./examples/DatabaseSecurityAlertListByDatabase.json" + } + } + } + } + }, + "definitions": { + "SecurityAlertsPolicyProperties": { + "description": "Properties of a security alert policy.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "state": { + "description": "Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "SecurityAlertsPolicyState", + "modelAsString": false + } + }, + "disabledAlerts": { + "description": "Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force", + "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" + } + }, + "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" + }, + "creationTime": { + "format": "date-time", + "description": "Specifies the UTC creation time of the policy.", + "type": "string", + "readOnly": true + } + } + }, + "DatabaseSecurityAlertPolicy": { + "description": "A database security alert policy.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../common/v1/types.json#/definitions/systemData", + "description": "SystemData of SecurityAlertPolicyResource.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/SecurityAlertsPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "DatabaseSecurityAlertListResult": { + "description": "A list of the database's security alert policies.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseSecurityAlertPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseTables.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseTables.json new file mode 100644 index 000000000000..7ac1643cba30 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseTables.json @@ -0,0 +1,225 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables": { + "get": { + "tags": [ + "DatabaseTables" + ], + "description": "List database tables", + "operationId": "DatabaseTables_ListBySchema", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "An OData filter expression that filters elements in the collection.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved database tables.", + "schema": { + "$ref": "#/definitions/DatabaseTableListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InvalidDatabaseSchema - Schema is missing in database.\n\n * 404 InvalidDatabaseTable - Table is missing in database.\n\n * 404 InvalidDatabaseColumn - Column is missing in table.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-odata": "#/definitions/DatabaseTable", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List database tables": { + "$ref": "./examples/DatabaseTableListBySchema.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}": { + "get": { + "tags": [ + "DatabaseTables" + ], + "description": "Get database table", + "operationId": "DatabaseTables_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "name": "tableName", + "in": "path", + "description": "The name of the table.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved database table.", + "schema": { + "$ref": "#/definitions/DatabaseTable" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InvalidDatabaseSchema - Schema is missing in database.\n\n * 404 InvalidDatabaseTable - Table is missing in database.\n\n * 404 InvalidDatabaseColumn - Column is missing in table.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-examples": { + "Get database table": { + "$ref": "./examples/DatabaseTableGet.json" + } + } + } + } + }, + "definitions": { + "DatabaseTableProperties": { + "description": "Database table properties.", + "type": "object", + "properties": { + "temporalType": { + "description": "The table temporal type.", + "enum": [ + "NonTemporalTable", + "HistoryTable", + "SystemVersionedTemporalTable" + ], + "type": "string", + "x-ms-enum": { + "name": "TableTemporalType", + "modelAsString": true + } + }, + "memoryOptimized": { + "description": "Whether or not the table is memory optimized.", + "type": "boolean" + } + } + }, + "DatabaseTable": { + "description": "A database table resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DatabaseTableProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "DatabaseTableListResult": { + "description": "A list of database tables.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseTable" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseUsages.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseUsages.json new file mode 100644 index 000000000000..394a53054b2e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseUsages.json @@ -0,0 +1,159 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/usages": { + "get": { + "tags": [ + "DatabaseUsages" + ], + "description": "Gets database usages.", + "operationId": "DatabaseUsages_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the database usages.", + "schema": { + "$ref": "#/definitions/DatabaseUsageListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets database usages.": { + "$ref": "./examples/GetDatabaseUsages.json" + } + } + } + } + }, + "definitions": { + "DatabaseUsageListResult": { + "description": "A list of database usage metrics.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseUsage" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "DatabaseUsageProperties": { + "description": "Properties of a database usage.", + "type": "object", + "properties": { + "displayName": { + "description": "User-readable name of the metric.", + "type": "string", + "readOnly": true + }, + "currentValue": { + "format": "double", + "description": "Current value of the metric.", + "type": "number", + "readOnly": true + }, + "limit": { + "format": "double", + "description": "Boundary value of the metric.", + "type": "number", + "readOnly": true + }, + "unit": { + "description": "Unit of the metric.", + "type": "string", + "readOnly": true + } + } + }, + "DatabaseUsage": { + "description": "Usage metric of a database.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DatabaseUsageProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseVulnerabilityAssessmentRuleBaselines.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseVulnerabilityAssessmentRuleBaselines.json new file mode 100644 index 000000000000..59f27e448096 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseVulnerabilityAssessmentRuleBaselines.json @@ -0,0 +1,339 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}": { + "get": { + "tags": [ + "DatabaseVulnerabilityAssessmentRuleBaselines" + ], + "description": "Gets a database's vulnerability assessment rule baseline.", + "operationId": "DatabaseVulnerabilityAssessmentRuleBaselines_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the vulnerability assessment rule baseline is defined.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "name": "ruleId", + "in": "path", + "description": "The vulnerability assessment rule ID.", + "required": true, + "type": "string" + }, + { + "name": "baselineName", + "in": "path", + "description": "The name of the vulnerability assessment rule baseline (default implies a baseline on a database level rule and master for server level rule).", + "required": true, + "type": "string", + "enum": [ + "master", + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentPolicyBaselineName", + "modelAsString": false + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully got the vulnerability assessment rule baseline.", + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentRuleBaseline" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 VulnerabilityAssessmentStorageAuthenticationFailed - Could not authenticate to storage account '{0}' .\n\n * 400 VulnerabilityAssessmentInvalidPolicy - Vulnerability Assessment settings don't exist or invalid storage specified in settings. \n\n * 400 VulnerabilityAssessmentDatawarehouseDatabaseIsDeactivated - Could not execute Vulnerability Assessment operation because the database is paused. Please resume it.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 InvalidVulnerabilityAssessmentOperationRequest - The vulnerability assessment operation request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 404 VulnerabilityAssessmentInvalidStorageAccount - The storage account '{0}' that was defined in the policy is invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 VulnerabilityAssessmentRuleDoesNotExists - Rule '{0}' does not exist.\n\n * 404 VulnerabilityAssessmentBaselineDoesNotExists - Baseline does not exist for rule '{0}'\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-examples": { + "Gets a database's vulnerability assessment rule baseline.": { + "$ref": "./examples/DatabaseVulnerabilityAssessmentRuleBaselineGet.json" + } + } + }, + "put": { + "tags": [ + "DatabaseVulnerabilityAssessmentRuleBaselines" + ], + "description": "Creates or updates a database's vulnerability assessment rule baseline.", + "operationId": "DatabaseVulnerabilityAssessmentRuleBaselines_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the vulnerability assessment rule baseline is defined.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "name": "ruleId", + "in": "path", + "description": "The vulnerability assessment rule ID.", + "required": true, + "type": "string" + }, + { + "name": "baselineName", + "in": "path", + "description": "The name of the vulnerability assessment rule baseline (default implies a baseline on a database level rule and master for server level rule).", + "required": true, + "type": "string", + "enum": [ + "master", + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentPolicyBaselineName", + "modelAsString": false + } + }, + { + "name": "parameters", + "in": "body", + "description": "The requested rule baseline resource.", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentRuleBaseline" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully set the vulnerability assessment rule baseline.", + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentRuleBaseline" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 VulnerabilityAssessmentStorageAuthenticationFailed - Could not authenticate to storage account '{0}' .\n\n * 400 VulnerabilityAssessmentInvalidPolicy - Vulnerability Assessment settings don't exist or invalid storage specified in settings. \n\n * 400 VulnerabilityAssessmentDatawarehouseDatabaseIsDeactivated - Could not execute Vulnerability Assessment operation because the database is paused. Please resume it.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 InvalidVulnerabilityAssessmentOperationRequest - The vulnerability assessment operation request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 404 VulnerabilityAssessmentInvalidStorageAccount - The storage account '{0}' that was defined in the policy is invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 VulnerabilityAssessmentRuleDoesNotExists - Rule '{0}' does not exist.\n\n * 404 VulnerabilityAssessmentBaselineDoesNotExists - Baseline does not exist for rule '{0}'\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-examples": { + "Creates or updates a database's vulnerability assessment rule baseline.": { + "$ref": "./examples/DatabaseVulnerabilityAssessmentRuleBaselineCreate.json" + } + } + }, + "delete": { + "tags": [ + "DatabaseVulnerabilityAssessmentRuleBaselines" + ], + "description": "Removes the database's vulnerability assessment rule baseline.", + "operationId": "DatabaseVulnerabilityAssessmentRuleBaselines_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the vulnerability assessment rule baseline is defined.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "name": "ruleId", + "in": "path", + "description": "The vulnerability assessment rule ID.", + "required": true, + "type": "string" + }, + { + "name": "baselineName", + "in": "path", + "description": "The name of the vulnerability assessment rule baseline (default implies a baseline on a database level rule and master for server level rule).", + "required": true, + "type": "string", + "enum": [ + "master", + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentPolicyBaselineName", + "modelAsString": false + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed the database vulnerability assessment rule baseline." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 VulnerabilityAssessmentStorageAuthenticationFailed - Could not authenticate to storage account '{0}' .\n\n * 400 VulnerabilityAssessmentInvalidPolicy - Vulnerability Assessment settings don't exist or invalid storage specified in settings. \n\n * 400 VulnerabilityAssessmentDatawarehouseDatabaseIsDeactivated - Could not execute Vulnerability Assessment operation because the database is paused. Please resume it.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 InvalidVulnerabilityAssessmentOperationRequest - The vulnerability assessment operation request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 404 VulnerabilityAssessmentInvalidStorageAccount - The storage account '{0}' that was defined in the policy is invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 VulnerabilityAssessmentRuleDoesNotExists - Rule '{0}' does not exist.\n\n * 404 VulnerabilityAssessmentBaselineDoesNotExists - Baseline does not exist for rule '{0}'\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-examples": { + "Removes a database's vulnerability assessment rule baseline.": { + "$ref": "./examples/DatabaseVulnerabilityAssessmentRuleBaselineDelete.json" + } + } + } + } + }, + "definitions": { + "DatabaseVulnerabilityAssessmentRuleBaselineProperties": { + "description": "Properties of a database Vulnerability Assessment rule baseline.", + "required": [ + "baselineResults" + ], + "type": "object", + "properties": { + "baselineResults": { + "description": "The rule baseline result", + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentRuleBaselineItem" + } + } + } + }, + "DatabaseVulnerabilityAssessmentRuleBaselineItem": { + "description": "Properties for an Azure SQL Database Vulnerability Assessment rule baseline's result.", + "required": [ + "result" + ], + "type": "object", + "properties": { + "result": { + "description": "The rule baseline result", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DatabaseVulnerabilityAssessmentRuleBaseline": { + "description": "A database vulnerability assessment rule baseline.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentRuleBaselineProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseVulnerabilityAssessmentScans.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseVulnerabilityAssessmentScans.json new file mode 100644 index 000000000000..31975b34ac9e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseVulnerabilityAssessmentScans.json @@ -0,0 +1,458 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/initiateScan": { + "post": { + "tags": [ + "DatabaseVulnerabilityAssessmentScans" + ], + "description": "Executes a Vulnerability Assessment database scan.", + "operationId": "DatabaseVulnerabilityAssessmentScans_InitiateScan", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "name": "scanId", + "in": "path", + "description": "The vulnerability assessment scan Id of the scan to retrieve.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully executed a Vulnerability Assessment database scan." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidVulnerabilityAssessmentOperationRequest - The vulnerability assessment operation request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 InvalidVulnerabilityAssessmentScanIdLength - The vulnerability assessment scan ID length must be below {0} characters.\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 VulnerabilityAssessmentInvalidPolicy - Vulnerability Assessment settings don't exist or invalid storage specified in settings. \n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 DatabaseVulnerabilityAssessmentMissingStorageContainerPath - Storage container path must be provided if it isn't set in server level policy\n\n * 400 VulnerabilityAssessmentDatawarehouseDatabaseIsDeactivated - Could not execute Vulnerability Assessment operation because the database is paused. Please resume it.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 409 DatabaseVulnerabilityAssessmentScanIsAlreadyInProgress - Vulnerability Assessment scan is already in progress.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + }, + "202": { + "description": "Successfully started a Vulnerability Assessment database scan." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Executes a database's vulnerability assessment scan.": { + "$ref": "./examples/DatabaseVulnerabilityAssessmentScansExecute.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans": { + "get": { + "tags": [ + "DatabaseVulnerabilityAssessmentScans" + ], + "description": "Lists the vulnerability assessment scans of a database.", + "operationId": "DatabaseVulnerabilityAssessmentScans_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the database vulnerability assessment scan records.", + "schema": { + "$ref": "#/definitions/VulnerabilityAssessmentScanRecordListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 VulnerabilityAssessmentInvalidPolicy - Vulnerability Assessment settings don't exist or invalid storage specified in settings. \n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 DatabaseVulnerabilityAssessmentMissingStorageContainerPath - Storage container path must be provided if it isn't set in server level policy\n\n * 400 VulnerabilityAssessmentDatawarehouseDatabaseIsDeactivated - Could not execute Vulnerability Assessment operation because the database is paused. Please resume it.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 409 DatabaseVulnerabilityAssessmentScanIsAlreadyInProgress - Vulnerability Assessment scan is already in progress.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of a database vulnerability assessment scan records": { + "$ref": "./examples/DatabaseVulnerabilityAssessmentScanRecordsListByDatabase.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}": { + "get": { + "tags": [ + "DatabaseVulnerabilityAssessmentScans" + ], + "description": "Gets a vulnerability assessment scan record of a database.", + "operationId": "DatabaseVulnerabilityAssessmentScans_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "name": "scanId", + "in": "path", + "description": "The vulnerability assessment scan Id of the scan to retrieve.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the database vulnerability assessment scan record.", + "schema": { + "$ref": "#/definitions/VulnerabilityAssessmentScanRecord" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 VulnerabilityAssessmentInvalidPolicy - Vulnerability Assessment settings don't exist or invalid storage specified in settings. \n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 DatabaseVulnerabilityAssessmentMissingStorageContainerPath - Storage container path must be provided if it isn't set in server level policy\n\n * 400 VulnerabilityAssessmentDatawarehouseDatabaseIsDeactivated - Could not execute Vulnerability Assessment operation because the database is paused. Please resume it.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 409 DatabaseVulnerabilityAssessmentScanIsAlreadyInProgress - Vulnerability Assessment scan is already in progress.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-examples": { + "Gets a database vulnerability assessment scan record by scan ID": { + "$ref": "./examples/DatabaseVulnerabilityAssessmentScanRecordsGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/export": { + "post": { + "tags": [ + "DatabaseVulnerabilityAssessmentScans" + ], + "description": "Convert an existing scan result to a human readable format. If already exists nothing happens", + "operationId": "DatabaseVulnerabilityAssessmentScans_Export", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the scanned database.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "name": "scanId", + "in": "path", + "description": "The vulnerability assessment scan Id.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Scan result was converted successfully.", + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentScansExport" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 VulnerabilityAssessmentInvalidPolicy - Vulnerability Assessment settings don't exist or invalid storage specified in settings. \n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 DatabaseVulnerabilityAssessmentMissingStorageContainerPath - Storage container path must be provided if it isn't set in server level policy\n\n * 400 VulnerabilityAssessmentDatawarehouseDatabaseIsDeactivated - Could not execute Vulnerability Assessment operation because the database is paused. Please resume it.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 InvalidVulnerabilityAssessmentOperationRequest - The vulnerability assessment operation request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 409 DatabaseVulnerabilityAssessmentScanIsAlreadyInProgress - Vulnerability Assessment scan is already in progress.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + }, + "201": { + "description": "Scan result was converted successfully.", + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentScansExport" + } + } + }, + "x-ms-examples": { + "Export a database's vulnerability assessment scan results.": { + "$ref": "./examples/DatabaseVulnerabilityAssessmentScanExport.json" + } + } + } + } + }, + "definitions": { + "VulnerabilityAssessmentScanRecordListResult": { + "description": "A list of vulnerability assessment scan records.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/VulnerabilityAssessmentScanRecord" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "VulnerabilityAssessmentScanRecordProperties": { + "description": "Properties of a vulnerability assessment scan record.", + "type": "object", + "properties": { + "scanId": { + "description": "The scan ID.", + "type": "string", + "readOnly": true + }, + "triggerType": { + "description": "The scan trigger type.", + "enum": [ + "OnDemand", + "Recurring" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VulnerabilityAssessmentScanTriggerType", + "modelAsString": true + } + }, + "state": { + "description": "The scan status.", + "enum": [ + "Passed", + "Failed", + "FailedToRun", + "InProgress" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VulnerabilityAssessmentScanState", + "modelAsString": true + } + }, + "startTime": { + "format": "date-time", + "description": "The scan start time (UTC).", + "type": "string", + "readOnly": true + }, + "endTime": { + "format": "date-time", + "description": "The scan end time (UTC).", + "type": "string", + "readOnly": true + }, + "errors": { + "description": "The scan errors.", + "type": "array", + "items": { + "$ref": "#/definitions/VulnerabilityAssessmentScanError" + }, + "readOnly": true + }, + "storageContainerPath": { + "description": "The scan results storage container path.", + "type": "string", + "readOnly": true + }, + "numberOfFailedSecurityChecks": { + "format": "int32", + "description": "The number of failed security checks.", + "type": "integer", + "readOnly": true + } + } + }, + "VulnerabilityAssessmentScanError": { + "description": "Properties of a vulnerability assessment scan error.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + } + } + }, + "VulnerabilityAssessmentScanRecord": { + "description": "A vulnerability assessment scan record.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/VulnerabilityAssessmentScanRecordProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "DatabaseVulnerabilityAssessmentScanExportProperties": { + "description": "Properties of the export operation's result.", + "type": "object", + "properties": { + "exportedReportLocation": { + "description": "Location of the exported report (e.g. https://myStorage.blob.core.windows.net/VaScans/scans/serverName/databaseName/scan_scanId.xlsx).", + "type": "string", + "readOnly": true + } + } + }, + "DatabaseVulnerabilityAssessmentScansExport": { + "description": "A database Vulnerability Assessment scan export resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentScanExportProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseVulnerabilityAssessments.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseVulnerabilityAssessments.json new file mode 100644 index 000000000000..b92957466ba4 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DatabaseVulnerabilityAssessments.json @@ -0,0 +1,377 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}": { + "get": { + "tags": [ + "DatabaseVulnerabilityAssessments" + ], + "description": "Gets the database's vulnerability assessment.", + "operationId": "DatabaseVulnerabilityAssessments_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the vulnerability assessment is defined.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the database vulnerability assessment.", + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessment" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 DatabaseVulnerabilityAssessmentMissingStorageContainerPath - Storage container path must be provided if it isn't set in server level policy\n\n * 400 VulnerabilityAssessmentUnsupportedStorageAccount - The provided storage account is unsupported.\n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 VulnerabilityAssessmentInsufficientStorageAccountPermissions - Insufficient permissions on the provided storage account.\n\n * 400 VulnerabilityAssessmentStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-examples": { + "Get a database's vulnerability assessment": { + "$ref": "./examples/DatabaseVulnerabilityAssessmentGet.json" + } + } + }, + "put": { + "tags": [ + "DatabaseVulnerabilityAssessments" + ], + "description": "Creates or updates the database's vulnerability assessment.", + "operationId": "DatabaseVulnerabilityAssessments_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the vulnerability assessment is defined.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The requested resource.", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessment" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully set the vulnerability assessment.", + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessment" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 DatabaseVulnerabilityAssessmentMissingStorageContainerPath - Storage container path must be provided if it isn't set in server level policy\n\n * 400 VulnerabilityAssessmentUnsupportedStorageAccount - The provided storage account is unsupported.\n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 VulnerabilityAssessmentInsufficientStorageAccountPermissions - Insufficient permissions on the provided storage account.\n\n * 400 VulnerabilityAssessmentStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 400 InvalidVulnerabilityAssessmentOperationRequest - The vulnerability assessment operation request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + }, + "201": { + "description": "Successfully created the vulnerability assessment.", + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessment" + } + } + }, + "x-ms-examples": { + "Create a database's vulnerability assessment with minimal parameters, when storageContainerSasKey is specified": { + "$ref": "./examples/DatabaseVulnerabilityAssessmentCreateContainerSasKeyMin.json" + }, + "Create a database's vulnerability assessment with minimal parameters, when storageAccountAccessKey is specified": { + "$ref": "./examples/DatabaseVulnerabilityAssessmentCreateStorageAccessKeyMin.json" + }, + "Create a database's vulnerability assessment with all parameters": { + "$ref": "./examples/DatabaseVulnerabilityAssessmentCreateMax.json" + } + } + }, + "delete": { + "tags": [ + "DatabaseVulnerabilityAssessments" + ], + "description": "Removes the database's vulnerability assessment.", + "operationId": "DatabaseVulnerabilityAssessments_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the vulnerability assessment is defined.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed the database vulnerability assessment." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 DatabaseVulnerabilityAssessmentMissingStorageContainerPath - Storage container path must be provided if it isn't set in server level policy\n\n * 400 VulnerabilityAssessmentUnsupportedStorageAccount - The provided storage account is unsupported.\n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 VulnerabilityAssessmentInsufficientStorageAccountPermissions - Insufficient permissions on the provided storage account.\n\n * 400 VulnerabilityAssessmentStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-examples": { + "Remove a database's vulnerability assessment": { + "$ref": "./examples/DatabaseVulnerabilityAssessmentDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments": { + "get": { + "tags": [ + "DatabaseVulnerabilityAssessments" + ], + "description": "Lists the vulnerability assessment policies associated with a database.", + "operationId": "DatabaseVulnerabilityAssessments_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the vulnerability assessment policies are defined.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the database vulnerability assessment policies.", + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 VulnerabilityAssessmentInvalidPolicy - Vulnerability Assessment settings don't exist or invalid storage specified in settings. \n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 DatabaseVulnerabilityAssessmentMissingStorageContainerPath - Storage container path must be provided if it isn't set in server level policy\n\n * 400 VulnerabilityAssessmentDatawarehouseDatabaseIsDeactivated - Could not execute Vulnerability Assessment operation because the database is paused. Please resume it.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 409 DatabaseVulnerabilityAssessmentScanIsAlreadyInProgress - Vulnerability Assessment scan is already in progress.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get the database's vulnerability assessment policies": { + "$ref": "./examples/DatabaseVulnerabilityAssessmentListByDatabase.json" + } + } + } + } + }, + "definitions": { + "DatabaseVulnerabilityAssessmentProperties": { + "description": "Properties of a database Vulnerability Assessment.", + "type": "object", + "properties": { + "storageContainerPath": { + "description": "A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/). It is required if server level vulnerability assessment policy doesn't set", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "storageContainerSasKey": { + "description": "A shared access signature (SAS Key) that has write access to the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. Applies only if the storage account is not behind a Vnet or a firewall", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "storageAccountAccessKey": { + "description": "Specifies the identifier key of the storage account for vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is not behind a Vnet or a firewall", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "recurringScans": { + "$ref": "#/definitions/VulnerabilityAssessmentRecurringScansProperties", + "description": "The recurring scans settings" + } + } + }, + "VulnerabilityAssessmentRecurringScansProperties": { + "description": "Properties of a Vulnerability Assessment recurring scans.", + "type": "object", + "properties": { + "isEnabled": { + "description": "Recurring scans state.", + "type": "boolean" + }, + "emailSubscriptionAdmins": { + "description": "Specifies that the schedule scan notification will be is sent to the subscription administrators.", + "default": true, + "type": "boolean" + }, + "emails": { + "description": "Specifies an array of e-mail addresses to which the scan notification is sent.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DatabaseVulnerabilityAssessment": { + "description": "A database vulnerability assessment.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "DatabaseVulnerabilityAssessmentListResult": { + "description": "A list of the database's vulnerability assessments.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessment" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Databases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Databases.json new file mode 100644 index 000000000000..fed2cb201f7a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Databases.json @@ -0,0 +1,1565 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases": { + "get": { + "tags": [ + "Databases" + ], + "description": "Gets a list of databases.", + "operationId": "Databases_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "$skipToken", + "in": "query", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of databases.", + "schema": { + "$ref": "#/definitions/DatabaseListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets a list of databases.": { + "$ref": "./examples/ListVCoreDatabasesByServer.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}": { + "get": { + "tags": [ + "Databases" + ], + "description": "Gets a database.", + "operationId": "Databases_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Gets a database.": { + "$ref": "./examples/GetVCoreDatabase.json" + } + } + }, + "put": { + "tags": [ + "Databases" + ], + "description": "Creates a new database or updates an existing database.", + "operationId": "Databases_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested database resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/Database" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\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 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingMaxSizeBytes - MaxSizeBytes is required.\n\n * 400 MissingSkuName - Sku name is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 InvalidLicenseType - The specified license type is invalid.\n\n * 400 InvalidSkuName - Invalid SKU name.\n\n * 400 MismatchedSkuNameAndCapacity - Mismatch between SKU name and capacity.\n\n * 400 MismatchedSkuNameAndTier - Mismatch between SKU name and tier.\n\n * 400 MismatchedSkuNameAndFamily - Mismatch between SKU name and family.\n\n * 400 LedgerNotAllowedWithSpecifiedCreateMode - IsLedgerOn is not allowed with the specified create mode.\n\n * 400 DatabaseNameDoesNotMatchSourceDatabaseId - The database name specified doesn’t match the database name in sourceDatabaseId.\n\n * 400 ElasticPoolNotSupportedForExternalBackupRestore - Elastic pool is not supported for external backup restore\n\n * 400 InvalidRecoverableDatabaseId - Invalid recoverable database identifier.\n\n * 400 InvalidRecoveryServicesRecoveryPointId - Invalid recovery services recovery point identifier.\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MissingRecoverableDatabaseId - Missing recoverable database identifier.\n\n * 400 MissingRecoveryServicesRecoveryPointId - Missing recovery services recovery point Id.\n\n * 400 MissingRestorableDroppedDatabaseId - Missing restorableDroppedDatabaseId\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingSourceDatabaseDeletionDate - Missing source database deletion date\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 MultipleIdentitiesOnDatabase - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 MultipleIdentityDelegationsOnDatabase - Only one identity delegation is supported at the Database Level.\n\n * 400 MissingPrimaryDelegatedIdentityClientId - In order to use delegated identities please provide a primary delegated identity client id.\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 LongTermRetentionMigrationRequestNotSupported - Subscription is not allowed LTR backup Migration feature.\n\n * 400 LongTermRetentionMigrationCrossClusterRequestNotSupported - Source and target subscriptions are not allowed to communicate for LTR backup copy feature.\n\n * 400 LongTermRetentionMigrationParameterMissing - Required parameter missing for the operation.\n\n * 400 LongTermRetentionMigrationSameServerNotSupported - LTR Copy feature is not supported to copy LTR backups within same server.\n\n * 400 LongTermRetentionMigrationTargetServerNotFound - Target server does not exists or is not ready for LTR backup copy operation.\n\n * 400 LongTermRetentionMigrationTargetDatabaseNotFound - Target Database does not exists on the server.\n\n * 400 LongTermRetentionMigrationStorageTypeNotSupported - Specified Backup Storage Redundancy is not supported in target region.\n\n * 400 LongTermRetentionMigrationStorageMismatch - Active backup redundancy of database does not match backup redundancy requested by customer.\n\n * 400 LongTermRetentionMigrationDatabaseTypeNotSupported - LTR migration is only supported for managed instance and Azure SQL DB LTR backups.\n\n * 400 LongTermRetentionMigrationBackupStorageRedundancyNotAllowed - Changing backup storage redundancy is not allowed for LTR Copy operations.\n\n * 400 LongTermRetentionMigrationSubscriptionNotFound - The subscription could not be found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 LongTermRetentionMigrationBackupNotFound - LTR backup specified does not exists.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\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 * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 LongTermRetentionMigrationRequestConflict - A conflict operation on this LTR backup is still in progress.\n\n * 409 LongTermRetentionMigrationBackupConflict - Another LTR backup with same backup time for target database exists.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 500 LongTermRetentionMigrationRequestFailedToStartOnTarget - Failed to start LTR backup copy request in target region.\n\n * 500 LongTermRetentionMigrationRequestCopyFailed - Copy operation failed for LTR backup blobs.\n\n * 500 LongTermRetentionMigrationRestoreVerExceeded - Restore verification failed after max attempts were reached.\n\n * 500 LongTermRetentionMigrationRestoreVerFailed - Restore verification failed.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Creating or updating the database is in progress." + }, + "201": { + "description": "Successfully created the database.", + "schema": { + "$ref": "#/definitions/Database" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates a database with default mode.": { + "$ref": "./examples/CreateDatabaseDefaultMode.json" + }, + "Creates a VCore database by specifying service objective name.": { + "$ref": "./examples/CreateVCoreDatabaseByServiceObjective.json" + }, + "Creates a VCore database by specifying sku name and capacity.": { + "$ref": "./examples/CreateVCoreDatabaseBySkuNameCapacity.json" + }, + "Creates a database with minimum number of parameters.": { + "$ref": "./examples/CreateDatabaseMin.json" + }, + "Creates a database as a copy.": { + "$ref": "./examples/CreateDatabaseCopyMode.json" + }, + "Creates a database as an on-line secondary.": { + "$ref": "./examples/CreateDatabaseSecondaryMode.json" + }, + "Creates a database as named replica secondary.": { + "$ref": "./examples/CreateDatabaseNamedReplica.json" + }, + "Creates a database from PointInTimeRestore.": { + "$ref": "./examples/CreateDatabasePITRMode.json" + }, + "Creates a database with preferred maintenance window.": { + "$ref": "./examples/CreateDatabaseMaintenanceConfiguration.json" + }, + "Creates a database with specified backup storage redundancy.": { + "$ref": "./examples/CreateDatabaseConfiguredBackupStorageRedundancy.json" + }, + "Creates a database with ledger on.": { + "$ref": "./examples/CreateDatabaseLedger.json" + } + } + }, + "delete": { + "tags": [ + "Databases" + ], + "description": "Deletes the database.", + "operationId": "Databases_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the database." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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 * 409 ServerDisabled - Server is disabled.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources." + }, + "202": { + "description": "Deleting the database is in progress." + }, + "204": { + "description": "The specified database does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes a database.": { + "$ref": "./examples/DeleteDatabase.json" + } + } + }, + "patch": { + "tags": [ + "Databases" + ], + "description": "Updates an existing database.", + "operationId": "Databases_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested database resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseUpdate" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\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 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingMaxSizeBytes - MaxSizeBytes is required.\n\n * 400 MissingSkuName - Sku name is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 InvalidLicenseType - The specified license type is invalid.\n\n * 400 InvalidSkuName - Invalid SKU name.\n\n * 400 MismatchedSkuNameAndCapacity - Mismatch between SKU name and capacity.\n\n * 400 MismatchedSkuNameAndTier - Mismatch between SKU name and tier.\n\n * 400 MismatchedSkuNameAndFamily - Mismatch between SKU name and family.\n\n * 400 LedgerNotAllowedWithSpecifiedCreateMode - IsLedgerOn is not allowed with the specified create mode.\n\n * 400 DatabaseNameDoesNotMatchSourceDatabaseId - The database name specified doesn’t match the database name in sourceDatabaseId.\n\n * 400 ElasticPoolNotSupportedForExternalBackupRestore - Elastic pool is not supported for external backup restore\n\n * 400 InvalidRecoverableDatabaseId - Invalid recoverable database identifier.\n\n * 400 InvalidRecoveryServicesRecoveryPointId - Invalid recovery services recovery point identifier.\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MissingRecoverableDatabaseId - Missing recoverable database identifier.\n\n * 400 MissingRecoveryServicesRecoveryPointId - Missing recovery services recovery point Id.\n\n * 400 MissingRestorableDroppedDatabaseId - Missing restorableDroppedDatabaseId\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingSourceDatabaseDeletionDate - Missing source database deletion date\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 MultipleIdentitiesOnDatabase - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 MultipleIdentityDelegationsOnDatabase - Only one identity delegation is supported at the Database Level.\n\n * 400 MissingPrimaryDelegatedIdentityClientId - In order to use delegated identities please provide a primary delegated identity client id.\n\n * 400 LongTermRetentionMigrationRequestNotSupported - Subscription is not allowed LTR backup Migration feature.\n\n * 400 LongTermRetentionMigrationCrossClusterRequestNotSupported - Source and target subscriptions are not allowed to communicate for LTR backup copy feature.\n\n * 400 LongTermRetentionMigrationParameterMissing - Required parameter missing for the operation.\n\n * 400 LongTermRetentionMigrationSameServerNotSupported - LTR Copy feature is not supported to copy LTR backups within same server.\n\n * 400 LongTermRetentionMigrationTargetServerNotFound - Target server does not exists or is not ready for LTR backup copy operation.\n\n * 400 LongTermRetentionMigrationTargetDatabaseNotFound - Target Database does not exists on the server.\n\n * 400 LongTermRetentionMigrationStorageTypeNotSupported - Specified Backup Storage Redundancy is not supported in target region.\n\n * 400 LongTermRetentionMigrationStorageMismatch - Active backup redundancy of database does not match backup redundancy requested by customer.\n\n * 400 LongTermRetentionMigrationDatabaseTypeNotSupported - LTR migration is only supported for managed instance and Azure SQL DB LTR backups.\n\n * 400 LongTermRetentionMigrationBackupStorageRedundancyNotAllowed - Changing backup storage redundancy is not allowed for LTR Copy operations.\n\n * 400 LongTermRetentionMigrationSubscriptionNotFound - The subscription could not be found.\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 LongTermRetentionMigrationBackupNotFound - LTR backup specified does not exists.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\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 * 409 LongTermRetentionMigrationRequestConflict - A conflict operation on this LTR backup is still in progress.\n\n * 409 LongTermRetentionMigrationBackupConflict - Another LTR backup with same backup time for target database exists.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 LongTermRetentionMigrationRequestFailedToStartOnTarget - Failed to start LTR backup copy request in target region.\n\n * 500 LongTermRetentionMigrationRequestCopyFailed - Copy operation failed for LTR backup blobs.\n\n * 500 LongTermRetentionMigrationRestoreVerExceeded - Restore verification failed after max attempts were reached.\n\n * 500 LongTermRetentionMigrationRestoreVerFailed - Restore verification failed.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Updating the database is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates a database.": { + "$ref": "./examples/PatchVCoreDatabase.json" + }, + "Assigns maintenance window to a database.": { + "$ref": "./examples/PatchVCoreDatabaseAssignMaintenanceConfiguration.json" + }, + "Resets maintenance window of a database to default.": { + "$ref": "./examples/PatchVCoreDatabaseResetMaintenanceConfiguration.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases": { + "get": { + "tags": [ + "Databases" + ], + "description": "Gets a list of databases in an elastic pool.", + "operationId": "Databases_ListByElasticPool", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "elasticPoolName", + "in": "path", + "description": "The name of the elastic pool.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a list of databases in an elastic pool.", + "schema": { + "$ref": "#/definitions/DatabaseListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets a list of databases in an elastic pool.": { + "$ref": "./examples/ListDatabasesByElasticPool.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/failover": { + "post": { + "tags": [ + "Databases" + ], + "description": "Failovers a database.", + "operationId": "Databases_Failover", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database to failover.", + "required": true, + "type": "string" + }, + { + "name": "replicaType", + "in": "query", + "description": "The type of replica to be failed over.", + "required": false, + "type": "string", + "enum": [ + "Primary", + "ReadableSecondary" + ], + "x-ms-enum": { + "name": "ReplicaType", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully completed database failover." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 400 DatabaseFailoverThrottled - There was a recent failover on the database or pool if database belongs in an elastic pool.\n\n * 400 DatabaseFailoverNotSupportedOnSKU - This type of customer initiated failover is not supported on the given SKU.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\n\n * 409 DatabaseNotInStateToFailover - The database is currently in a state such that failover cannot be issued." + }, + "202": { + "description": "Database failover is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Failover an database": { + "$ref": "./examples/FailoverDatabase.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/inaccessibleDatabases": { + "get": { + "tags": [ + "Databases" + ], + "description": "Gets a list of inaccessible databases in a logical server", + "operationId": "Databases_ListInaccessibleByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of inaccessible databases in a logical server", + "schema": { + "$ref": "#/definitions/DatabaseListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets a list of inaccessible databases in a logical server": { + "$ref": "./examples/ListVCoreInaccessibleDatabasesByServer.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/pause": { + "post": { + "tags": [ + "Databases" + ], + "description": "Pauses a database.", + "operationId": "Databases_Pause", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database to be paused.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully paused the database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 CannotDeactivateWhenDeactivatingInProgress - Deactivation workflow failed because there is a deactivate workflow already running.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows" + }, + "202": { + "description": "Pausing the database is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pauses a database.": { + "$ref": "./examples/PauseDatabase.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/resume": { + "post": { + "tags": [ + "Databases" + ], + "description": "Resumes a database.", + "operationId": "Databases_Resume", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database to be resumed.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully resumed the database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows" + }, + "202": { + "description": "Resuming the database is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Resumes a database.": { + "$ref": "./examples/ResumeDatabase.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/upgradeDataWarehouse": { + "post": { + "tags": [ + "Databases" + ], + "description": "Upgrades a data warehouse.", + "operationId": "Databases_UpgradeDataWarehouse", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database to be upgraded.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully upgraded the data warehouse." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 UpgradeOnlyAllowedOnDataWarehouseInstances - User attempted to upgrade non-datawarehouse instance.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\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 * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Upgrading the data warehouse is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Upgrades a data warehouse.": { + "$ref": "./examples/UpgradeDataWarehouse.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/move": { + "post": { + "tags": [ + "Databases" + ], + "description": "Renames a database.", + "operationId": "Databases_Rename", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database to rename.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The resource move definition for renaming this database.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceMoveDefinition" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully renamed the database." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidResourceMoveRequest - The resource move request is invalid.\n\n * 400 InvalidMoveTargetResourceId - The target resource identifier in move request is invalid.\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 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DatabaseNameInUse - Database already exists. Choose a different database name.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship." + } + }, + "x-ms-examples": { + "Renames a database.": { + "$ref": "./examples/RenameDatabase.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/import": { + "post": { + "tags": [ + "Databases" + ], + "description": "Imports a bacpac into a new database.", + "operationId": "Databases_Import", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The database import request parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/ImportExistingDatabaseDefinition" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully imported the database.", + "schema": { + "$ref": "#/definitions/ImportExportOperationResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MissingImportExportInputParameters - Missing ImportExport input parameters.\n\n * 400 PolybaseImportAuthenticationTypeNotSupported - Authentication type parameter is not support for PolybaseImport operation.\n\n * 400 DatabaseExtensionsInvalidOperationMode - Invalid operationMode parameter for database extension.\n\n * 400 DatabaseExtensionsInvalidStorageKeyType - The storage key type must by 'StorageAccessKey'.\n\n * 400 DatabaseExtensionsMissingStorageUri - Storage URI cannot be empty.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidOperationType - Provide a valid operation type.\n\n * 400 ImportExportJobError - The ImportExport operation has failed.\n\n * 400 BlockedByOutboundFirewall - The outbound firewall rules blocked the request.\n\n * 404 ResourceNotFound - Invalid request specifying a non-existent resource.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ImportExportOperationIdNotFound - The operation Id for import or export cannot be found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 ImportExportOperationInProgress - There is an import or export operation in progress on the database." + }, + "202": { + "description": "Importing the database is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Imports to an existing empty database.": { + "$ref": "./examples/ImportDatabase.json" + }, + "Imports to an existing empty database, using private link to communicate with SQL server and storage account.": { + "$ref": "./examples/ImportDatabaseWithNetworkIsolation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/export": { + "post": { + "tags": [ + "Databases" + ], + "description": "Exports a database.", + "operationId": "Databases_Export", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The database export request parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/ExportDatabaseDefinition" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully exported the database.", + "schema": { + "$ref": "#/definitions/ImportExportOperationResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MissingImportExportInputParameters - Missing ImportExport input parameters.\n\n * 400 PolybaseImportAuthenticationTypeNotSupported - Authentication type parameter is not support for PolybaseImport operation.\n\n * 400 DatabaseExtensionsInvalidOperationMode - Invalid operationMode parameter for database extension.\n\n * 400 DatabaseExtensionsInvalidStorageKeyType - The storage key type must by 'StorageAccessKey'.\n\n * 400 DatabaseExtensionsMissingStorageUri - Storage URI cannot be empty.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidOperationType - Provide a valid operation type.\n\n * 400 ImportExportJobError - The ImportExport operation has failed.\n\n * 400 BlockedByOutboundFirewall - The outbound firewall rules blocked the request.\n\n * 404 ResourceNotFound - Invalid request specifying a non-existent resource.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ImportExportOperationIdNotFound - The operation Id for import or export cannot be found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 ImportExportOperationInProgress - There is an import or export operation in progress on the database." + }, + "202": { + "description": "Exporting the database is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Exports a database.": { + "$ref": "./examples/ExportDatabase.json" + }, + "Exports a database, using private link to communicate with SQL server and storage account.": { + "$ref": "./examples/ExportDatabaseWithNetworkIsolation.json" + } + } + } + } + }, + "definitions": { + "DatabaseListResult": { + "description": "A list of databases.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Database" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "DatabaseIdentity": { + "description": "Azure Active Directory identity configuration for a resource.", + "type": "object", + "properties": { + "type": { + "description": "The identity type", + "enum": [ + "None", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "DatabaseIdentityType", + "modelAsString": true + } + }, + "tenantId": { + "format": "uuid", + "description": "The Azure Active Directory tenant id.", + "type": "string", + "readOnly": true + }, + "userAssignedIdentities": { + "description": "The resource ids of the user assigned identities to use", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/DatabaseUserIdentity" + } + }, + "delegatedResources": { + "description": "Resources delegated to the database - Internal Use Only", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Delegation" + } + } + } + }, + "DatabaseProperties": { + "description": "The database's properties.", + "type": "object", + "properties": { + "createMode": { + "description": "Specifies the mode of database creation.\r\n\r\nDefault: regular database creation.\r\n\r\nCopy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.\r\n\r\nSecondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.\r\n\r\nPointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.\r\n\r\nRecovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.\r\n\r\nRestore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.\r\n\r\nRestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.\r\n\r\nCopy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.", + "enum": [ + "Default", + "Copy", + "Secondary", + "PointInTimeRestore", + "Restore", + "Recovery", + "RestoreExternalBackup", + "RestoreExternalBackupSecondary", + "RestoreLongTermRetentionBackup", + "OnlineSecondary" + ], + "type": "string", + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "collation": { + "description": "The collation of the database.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "maxSizeBytes": { + "format": "int64", + "description": "The max size of the database expressed in bytes.", + "type": "integer" + }, + "sampleName": { + "description": "The name of the sample schema to apply when creating this database.", + "enum": [ + "AdventureWorksLT", + "WideWorldImportersStd", + "WideWorldImportersFull" + ], + "type": "string", + "x-ms-enum": { + "name": "SampleName", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "elasticPoolId": { + "description": "The resource identifier of the elastic pool containing this database.", + "type": "string" + }, + "sourceDatabaseId": { + "description": "The resource identifier of the source database associated with create operation of this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "status": { + "description": "The status of the database.", + "enum": [ + "Online", + "Restoring", + "RecoveryPending", + "Recovering", + "Suspect", + "Offline", + "Standby", + "Shutdown", + "EmergencyMode", + "AutoClosed", + "Copying", + "Creating", + "Inaccessible", + "OfflineSecondary", + "Pausing", + "Paused", + "Resuming", + "Scaling", + "OfflineChangingDwPerformanceTiers", + "OnlineChangingDwPerformanceTiers", + "Disabled", + "Stopping", + "Stopped", + "Starting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DatabaseStatus", + "modelAsString": true + } + }, + "databaseId": { + "format": "uuid", + "description": "The ID of the database.", + "type": "string", + "readOnly": true + }, + "creationDate": { + "format": "date-time", + "description": "The creation date of the database (ISO8601 format).", + "type": "string", + "readOnly": true + }, + "currentServiceObjectiveName": { + "description": "The current service level objective name of the database.", + "type": "string", + "readOnly": true + }, + "requestedServiceObjectiveName": { + "description": "The requested service level objective name of the database.", + "type": "string", + "readOnly": true + }, + "defaultSecondaryLocation": { + "description": "The default secondary region for this database.", + "type": "string", + "readOnly": true + }, + "failoverGroupId": { + "description": "Failover Group resource identifier that this database belongs to.", + "type": "string", + "readOnly": true + }, + "restorePointInTime": { + "format": "date-time", + "description": "Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "sourceDatabaseDeletionDate": { + "format": "date-time", + "description": "Specifies the time that the database was deleted.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "recoveryServicesRecoveryPointId": { + "description": "The resource identifier of the recovery point associated with create operation of this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "longTermRetentionBackupResourceId": { + "description": "The resource identifier of the long term retention backup associated with create operation of this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "recoverableDatabaseId": { + "description": "The resource identifier of the recoverable database associated with create operation of this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "restorableDroppedDatabaseId": { + "description": "The resource identifier of the restorable dropped database associated with create operation of this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "catalogCollation": { + "description": "Collation of the metadata catalog.", + "enum": [ + "DATABASE_DEFAULT", + "SQL_Latin1_General_CP1_CI_AS" + ], + "type": "string", + "x-ms-enum": { + "name": "CatalogCollationType", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "zoneRedundant": { + "description": "Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.", + "type": "boolean" + }, + "licenseType": { + "description": "The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you have a license and are eligible for the Azure Hybrid Benefit.", + "enum": [ + "LicenseIncluded", + "BasePrice" + ], + "type": "string", + "x-ms-enum": { + "name": "DatabaseLicenseType", + "modelAsString": true + } + }, + "maxLogSizeBytes": { + "format": "int64", + "description": "The max log size for this database.", + "type": "integer", + "readOnly": true + }, + "earliestRestoreDate": { + "format": "date-time", + "description": "This records the earliest start date and time that restore is available for this database (ISO8601 format).", + "type": "string", + "readOnly": true + }, + "readScale": { + "description": "The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "DatabaseReadScale", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "update" + ] + }, + "highAvailabilityReplicaCount": { + "format": "int32", + "description": "The number of secondary replicas associated with the database that are used to provide high availability.", + "type": "integer" + }, + "secondaryType": { + "description": "The secondary type of the database if it is a secondary. Valid values are Geo and Named.", + "enum": [ + "Geo", + "Named" + ], + "type": "string", + "x-ms-enum": { + "name": "SecondaryType", + "modelAsString": true + } + }, + "currentSku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "The name and tier of the SKU.", + "readOnly": true + }, + "autoPauseDelay": { + "format": "int32", + "description": "Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled", + "type": "integer" + }, + "currentBackupStorageRedundancy": { + "description": "The storage account type used to store backups for this database.", + "enum": [ + "Geo", + "Local", + "Zone", + "GeoZone" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + } + }, + "requestedBackupStorageRedundancy": { + "description": "The storage account type to be used to store backups for this database.", + "enum": [ + "Geo", + "Local", + "Zone", + "GeoZone" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + } + }, + "minCapacity": { + "format": "double", + "description": "Minimal capacity that database will always have allocated, if not paused", + "type": "number" + }, + "pausedDate": { + "format": "date-time", + "description": "The date when database was paused by user configuration or action(ISO8601 format). Null if the database is ready.", + "type": "string", + "readOnly": true + }, + "resumedDate": { + "format": "date-time", + "description": "The date when database was resumed by user action or database login (ISO8601 format). Null if the database is paused.", + "type": "string", + "readOnly": true + }, + "maintenanceConfigurationId": { + "description": "Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur.", + "type": "string" + }, + "isLedgerOn": { + "description": "Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created.", + "type": "boolean" + }, + "isInfraEncryptionEnabled": { + "description": "Infra encryption is enabled for this database.", + "type": "boolean", + "readOnly": true + }, + "federatedClientId": { + "format": "uuid", + "description": "The Client id used for cross tenant per database CMK scenario", + "type": "string" + }, + "primaryDelegatedIdentityClientId": { + "format": "uuid", + "description": "The Primary Delegated Identity Client id used for per database CMK - for internal use only", + "type": "string" + } + } + }, + "DatabaseUserIdentity": { + "description": "Azure Active Directory identity configuration for a resource.", + "type": "object", + "properties": { + "principalId": { + "format": "uuid", + "description": "The Azure Active Directory principal id.", + "type": "string", + "readOnly": true + }, + "clientId": { + "format": "uuid", + "description": "The Azure Active Directory client id.", + "type": "string", + "readOnly": true + } + } + }, + "Delegation": { + "description": "Delegated Resource Properties - Internal Use Only", + "type": "object", + "properties": { + "resourceId": { + "description": "The resource id of the source resource - Internal Use Only", + "type": "string" + }, + "tenantId": { + "format": "uuid", + "description": "AAD tenant guid of the source resource identity - Internal Use Only.", + "type": "string", + "readOnly": true + } + } + }, + "Database": { + "description": "A database resource.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "The database SKU.\r\n\r\nThe list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands:\r\n\r\n```azurecli\r\naz sql db list-editions -l -o table\r\n````\r\n\r\n```powershell\r\nGet-AzSqlServerServiceObjective -Location \r\n````\r\n" + }, + "kind": { + "description": "Kind of database. This is metadata used for the Azure portal experience.", + "type": "string", + "readOnly": true + }, + "managedBy": { + "description": "Resource that manages the database.", + "type": "string", + "readOnly": true + }, + "identity": { + "$ref": "#/definitions/DatabaseIdentity", + "description": "The Azure Active Directory identity of the database.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "properties": { + "$ref": "#/definitions/DatabaseProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "DatabaseUpdate": { + "description": "A database resource.", + "type": "object", + "properties": { + "sku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "The name and tier of the SKU." + }, + "identity": { + "$ref": "#/definitions/DatabaseIdentity", + "description": "Database identity" + }, + "properties": { + "$ref": "#/definitions/DatabaseProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ResourceMoveDefinition": { + "description": "Contains the information necessary to perform a resource move (rename).", + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "description": "The target ID for the resource", + "type": "string" + } + } + }, + "ImportExistingDatabaseDefinition": { + "description": "Contains the information necessary to perform import operation for existing database.", + "required": [ + "storageKeyType", + "storageKey", + "storageUri", + "administratorLogin", + "administratorLoginPassword" + ], + "type": "object", + "properties": { + "storageKeyType": { + "description": "Storage key type.", + "enum": [ + "SharedAccessKey", + "StorageAccessKey" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageKeyType", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "storageKey": { + "description": "Storage key.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "storageUri": { + "description": "Storage Uri.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLogin": { + "description": "Administrator login name.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLoginPassword": { + "description": "Administrator login password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "authenticationType": { + "description": "Authentication type.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "networkIsolation": { + "$ref": "#/definitions/NetworkIsolationSettings", + "description": "Optional resource information to enable network isolation for request.", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "NetworkIsolationSettings": { + "description": "Contains the ARM resources for which to create private endpoint connection.", + "type": "object", + "properties": { + "storageAccountResourceId": { + "description": "The resource id for the storage account used to store BACPAC file. If set, private endpoint connection will be created for the storage account. Must match storage account used for StorageUri parameter.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "sqlServerResourceId": { + "description": "The resource id for the SQL server which is the target of this request. If set, private endpoint connection will be created for the SQL server. Must match server which is target of the operation.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "ImportExportOperationResultProperties": { + "description": "Contains the operation result properties for import/export operation.", + "type": "object", + "properties": { + "requestId": { + "format": "uuid", + "description": "Request Id.", + "type": "string", + "readOnly": true + }, + "requestType": { + "description": "Request type.", + "type": "string", + "readOnly": true + }, + "queuedTime": { + "description": "Queued time.", + "type": "string", + "readOnly": true + }, + "lastModifiedTime": { + "description": "Last modified time.", + "type": "string", + "readOnly": true + }, + "blobUri": { + "description": "Blob Uri.", + "type": "string", + "readOnly": true + }, + "serverName": { + "description": "Server name.", + "type": "string", + "readOnly": true + }, + "databaseName": { + "description": "Database name.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Operation status.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "Error message.", + "type": "string", + "readOnly": true + }, + "privateEndpointConnections": { + "description": "Gets the status of private endpoints associated with this request.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionRequestStatus" + }, + "readOnly": true + } + } + }, + "PrivateEndpointConnectionRequestStatus": { + "description": "Contains the private endpoint connection requests status.", + "type": "object", + "properties": { + "privateLinkServiceId": { + "description": "Resource id for which the private endpoint is created.", + "type": "string", + "readOnly": true + }, + "privateEndpointConnectionName": { + "description": "The connection name for the private endpoint.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of this private endpoint connection.", + "type": "string", + "readOnly": true + } + } + }, + "ImportExportOperationResult": { + "description": "An ImportExport operation result resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ImportExportOperationResultProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ExportDatabaseDefinition": { + "description": "Contains the information necessary to perform export database operation.", + "required": [ + "storageKeyType", + "storageKey", + "storageUri", + "administratorLogin", + "administratorLoginPassword" + ], + "type": "object", + "properties": { + "storageKeyType": { + "description": "Storage key type.", + "enum": [ + "SharedAccessKey", + "StorageAccessKey" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageKeyType", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "storageKey": { + "description": "Storage key.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "storageUri": { + "description": "Storage Uri.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLogin": { + "description": "Administrator login name.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLoginPassword": { + "description": "Administrator login password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "authenticationType": { + "description": "Authentication type.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "networkIsolation": { + "$ref": "#/definitions/NetworkIsolationSettings", + "description": "Optional resource information to enable network isolation for request.", + "x-ms-mutability": [ + "create" + ] + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DeletedServers.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DeletedServers.json new file mode 100644 index 000000000000..e99a895fca94 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DeletedServers.json @@ -0,0 +1,273 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/deletedServers": { + "get": { + "tags": [ + "DeletedServers" + ], + "description": "Gets a list of all deleted servers in a subscription.", + "operationId": "DeletedServers_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of deleted servers.", + "schema": { + "$ref": "#/definitions/DeletedServerListResult" + } + }, + "default": { + "description": "*** Error Responses: ***" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List deleted servers in a subscription": { + "$ref": "./examples/DeletedServerListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/deletedServers/{deletedServerName}": { + "get": { + "tags": [ + "DeletedServers" + ], + "description": "Gets a deleted server.", + "operationId": "DeletedServers_Get", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "name": "deletedServerName", + "in": "path", + "description": "The name of the deleted server.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified deleted server.", + "schema": { + "$ref": "#/definitions/DeletedServer" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get deleted server": { + "$ref": "./examples/DeletedServerGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/deletedServers": { + "get": { + "tags": [ + "DeletedServers" + ], + "description": "Gets a list of deleted servers for a location.", + "operationId": "DeletedServers_ListByLocation", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of deleted servers.", + "schema": { + "$ref": "#/definitions/DeletedServerListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 404 SubscriptionNotFound - The requested subscription was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List deleted servers": { + "$ref": "./examples/DeletedServerList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/deletedServers/{deletedServerName}/recover": { + "post": { + "tags": [ + "DeletedServers" + ], + "description": "Recovers a deleted server.", + "operationId": "DeletedServers_Recover", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "name": "deletedServerName", + "in": "path", + "description": "The name of the deleted server.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully recover the deleted server.", + "schema": { + "$ref": "#/definitions/DeletedServer" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\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" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Recover deleted server.": { + "$ref": "./examples/DeletedServerRecover.json" + } + } + } + } + }, + "definitions": { + "DeletedServerListResult": { + "description": "A list of deleted servers.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DeletedServer" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "DeletedServerProperties": { + "description": "The properties of a deleted server.", + "type": "object", + "properties": { + "version": { + "description": "The version of the deleted server.", + "type": "string", + "readOnly": true + }, + "deletionTime": { + "format": "date-time", + "description": "The deletion time of the deleted server.", + "type": "string", + "readOnly": true + }, + "originalId": { + "description": "The original ID of the server before deletion.", + "type": "string", + "readOnly": true + }, + "fullyQualifiedDomainName": { + "description": "The fully qualified domain name of the server.", + "type": "string", + "readOnly": true + } + } + }, + "DeletedServer": { + "description": "A deleted server.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DeletedServerProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DistributedAvailabilityGroups.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DistributedAvailabilityGroups.json new file mode 100644 index 000000000000..10f03f88c9cb --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/DistributedAvailabilityGroups.json @@ -0,0 +1,396 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/distributedAvailabilityGroups": { + "get": { + "tags": [ + "DistributedAvailabilityGroups" + ], + "description": "Gets a list of a distributed availability groups in instance.", + "operationId": "DistributedAvailabilityGroups_ListByInstance", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of distributed availability groups.", + "schema": { + "$ref": "#/definitions/DistributedAvailabilityGroupsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 InvalidDnsZone - The operation has failed because you are attempting to deploy managed instance as a geo-replication secondary to the subnet {0} in which there already exists a managed instance. Deploying managed instance as a geo-replication secondary is supported only in cases when managed instance is the first instance deployed in a subnet. Consider deploying managed instance as a geo-replication secondary to a different subnet in which there are no existing managed instances, or if deploying to a subnet with existing managed instance disable the geo-replication option.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot perform creation/scaling of the managed instance as there are not enough available IP addresses in the subnet for performing the operation.\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 UpdateManagedServerWithMaintenanceWindowNotAllowed - Update of Managed Instance with maintenance window settings is not allowed.\n\n * 400 VnetPrepareNIPFailed - User tried to prepare subnet that has a conflict with NetworkIntentPolicy.\n\n * 400 ManagedInstanceDeprecatedHardwareFamily - Changing the hardware generation to deprecated {0} generation is not possible.\n\n * 400 ManagedInstanceBackupStorageTypeNotSupported - Backup storage type parameter is not allowed in the instance update operation.\n\n * 400 EmptyPDCInvalidDnsZone - This managed instance cannot be deployed because its DNS-zone does not match the DNS-prefix of its intended virtual cluster for subnet {0}. Although this virtual cluster is empty, its DNS-prefix cannot be changed. Empty virtual clusters will be automatically removed after several hours. Consider waiting for this virtual cluster to expire or manually deleting this virtual cluster and then creating the managed instance.\n\n * 400 MissingIdentityId - No user assigned identity is provided when the identity type is set to UserAssigned\n\n * 400 InvalidPrimaryIdentityId - User provides a value for PrimaryUserIdentityId but the same is not listed in the IdentityId parameter\n\n * 400 ManagedInstanceZoneRedudantFeatureNotSupported - ZoneRedundant feature is not supported for the selected service tier. For more details visit aka.ms/sqlmi-service-tier-characteristics.\n\n * 400 ManagedInstanceZoneRedudantFeatureCantBeEnabled - Enabling zoneRedundant feature is not possible once managed instance is created. For more details visit aka.ms/sqlmi-high-availability.\n\n * 400 ManagedInstanceZoneRedudantFeatureCantBeDisabled - Disabling zoneRedundant feature is not possible once managed instance is created. For more details visit aka.ms/sqlmi-high-availability.\n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 MissingPrimaryIdentity - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SubnetIdCantBeUpdated - Changing managed instance subnet is not supported operation. Please remove this parameter from the request.\n\n * 400 MigrationToAnotherVNetNotSupported - Selected subnet is in another Virtual Network. Moving managed instance to another Virtual Network is not possible. Please provide subnet from Virtual Network {0}.\n\n * 400 MigrationToSubnetWithDifferentDnsZoneNotSupported - Provided subnet is having different DNS zone from the current. Changing instance DNS zone is not supported. Please provide subnet with same DNS zone, create a new subnet or provide empty one.\n\n * 400 MigrationToGen4SubnetNotSupported - It is not possible to update subnet while running on Gen4 hardware as it is being deprecated. Please upgrade your hardware from Gen4 to Gen5 as part of the changing managed instance subnet operation by specifying both parameters at the same time: destination subnet and hardware generation.\n\n * 400 PrimaryIdentityMissingPermissionForKeyId - KeyId is provided by user during create but PrimaryUserAssignedIdentityId is not provided in the API call\n\n * 400 InvalidIdentityTypeForKeyId - KeyId is provided by user during create but identity type is not set to 'UserAssigned'\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 ManagedInstanceFileExceededMaxAzureStorageFileSizeLimit - The operation could not be completed because some of the database files are exceeding maximum General Purpose file size limit of {0} GB.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough capacity\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InstancePoolNotFound - An instance pool cannot be found\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Lists all distributed availability groups in instance.": { + "$ref": "./examples/DistributedAvailabilityGroupsListByInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/distributedAvailabilityGroups/{distributedAvailabilityGroupName}": { + "get": { + "tags": [ + "DistributedAvailabilityGroups" + ], + "description": "Gets a distributed availability group info.", + "operationId": "DistributedAvailabilityGroups_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "distributedAvailabilityGroupName", + "in": "path", + "description": "The distributed availability group name.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the distributed availability group.", + "schema": { + "$ref": "#/definitions/DistributedAvailabilityGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 InvalidDnsZone - The operation has failed because you are attempting to deploy managed instance as a geo-replication secondary to the subnet {0} in which there already exists a managed instance. Deploying managed instance as a geo-replication secondary is supported only in cases when managed instance is the first instance deployed in a subnet. Consider deploying managed instance as a geo-replication secondary to a different subnet in which there are no existing managed instances, or if deploying to a subnet with existing managed instance disable the geo-replication option.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot perform creation/scaling of the managed instance as there are not enough available IP addresses in the subnet for performing the operation.\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 UpdateManagedServerWithMaintenanceWindowNotAllowed - Update of Managed Instance with maintenance window settings is not allowed.\n\n * 400 VnetPrepareNIPFailed - User tried to prepare subnet that has a conflict with NetworkIntentPolicy.\n\n * 400 ManagedInstanceDeprecatedHardwareFamily - Changing the hardware generation to deprecated {0} generation is not possible.\n\n * 400 ManagedInstanceBackupStorageTypeNotSupported - Backup storage type parameter is not allowed in the instance update operation.\n\n * 400 EmptyPDCInvalidDnsZone - This managed instance cannot be deployed because its DNS-zone does not match the DNS-prefix of its intended virtual cluster for subnet {0}. Although this virtual cluster is empty, its DNS-prefix cannot be changed. Empty virtual clusters will be automatically removed after several hours. Consider waiting for this virtual cluster to expire or manually deleting this virtual cluster and then creating the managed instance.\n\n * 400 MissingIdentityId - No user assigned identity is provided when the identity type is set to UserAssigned\n\n * 400 InvalidPrimaryIdentityId - User provides a value for PrimaryUserIdentityId but the same is not listed in the IdentityId parameter\n\n * 400 ManagedInstanceZoneRedudantFeatureNotSupported - ZoneRedundant feature is not supported for the selected service tier. For more details visit aka.ms/sqlmi-service-tier-characteristics.\n\n * 400 ManagedInstanceZoneRedudantFeatureCantBeEnabled - Enabling zoneRedundant feature is not possible once managed instance is created. For more details visit aka.ms/sqlmi-high-availability.\n\n * 400 ManagedInstanceZoneRedudantFeatureCantBeDisabled - Disabling zoneRedundant feature is not possible once managed instance is created. For more details visit aka.ms/sqlmi-high-availability.\n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 MissingPrimaryIdentity - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SubnetIdCantBeUpdated - Changing managed instance subnet is not supported operation. Please remove this parameter from the request.\n\n * 400 MigrationToAnotherVNetNotSupported - Selected subnet is in another Virtual Network. Moving managed instance to another Virtual Network is not possible. Please provide subnet from Virtual Network {0}.\n\n * 400 MigrationToSubnetWithDifferentDnsZoneNotSupported - Provided subnet is having different DNS zone from the current. Changing instance DNS zone is not supported. Please provide subnet with same DNS zone, create a new subnet or provide empty one.\n\n * 400 MigrationToGen4SubnetNotSupported - It is not possible to update subnet while running on Gen4 hardware as it is being deprecated. Please upgrade your hardware from Gen4 to Gen5 as part of the changing managed instance subnet operation by specifying both parameters at the same time: destination subnet and hardware generation.\n\n * 400 PrimaryIdentityMissingPermissionForKeyId - KeyId is provided by user during create but PrimaryUserAssignedIdentityId is not provided in the API call\n\n * 400 InvalidIdentityTypeForKeyId - KeyId is provided by user during create but identity type is not set to 'UserAssigned'\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 ManagedInstanceFileExceededMaxAzureStorageFileSizeLimit - The operation could not be completed because some of the database files are exceeding maximum General Purpose file size limit of {0} GB.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough capacity\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InstancePoolNotFound - An instance pool cannot be found\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-examples": { + "Gets the distributed availability group info.": { + "$ref": "./examples/DistributedAvailabilityGroupsGet.json" + } + } + }, + "put": { + "tags": [ + "DistributedAvailabilityGroups" + ], + "description": "Creates a distributed availability group between Sql On-Prem and Sql Managed Instance.", + "operationId": "DistributedAvailabilityGroups_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "distributedAvailabilityGroupName", + "in": "path", + "description": "The distributed availability group name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The distributed availability group info.", + "required": true, + "schema": { + "$ref": "#/definitions/DistributedAvailabilityGroup" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Distributed availability group is already created.", + "schema": { + "$ref": "#/definitions/DistributedAvailabilityGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 InvalidDnsZone - The operation has failed because you are attempting to deploy managed instance as a geo-replication secondary to the subnet {0} in which there already exists a managed instance. Deploying managed instance as a geo-replication secondary is supported only in cases when managed instance is the first instance deployed in a subnet. Consider deploying managed instance as a geo-replication secondary to a different subnet in which there are no existing managed instances, or if deploying to a subnet with existing managed instance disable the geo-replication option.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot perform creation/scaling of the managed instance as there are not enough available IP addresses in the subnet for performing the operation.\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 UpdateManagedServerWithMaintenanceWindowNotAllowed - Update of Managed Instance with maintenance window settings is not allowed.\n\n * 400 VnetPrepareNIPFailed - User tried to prepare subnet that has a conflict with NetworkIntentPolicy.\n\n * 400 ManagedInstanceDeprecatedHardwareFamily - Changing the hardware generation to deprecated {0} generation is not possible.\n\n * 400 ManagedInstanceBackupStorageTypeNotSupported - Backup storage type parameter is not allowed in the instance update operation.\n\n * 400 EmptyPDCInvalidDnsZone - This managed instance cannot be deployed because its DNS-zone does not match the DNS-prefix of its intended virtual cluster for subnet {0}. Although this virtual cluster is empty, its DNS-prefix cannot be changed. Empty virtual clusters will be automatically removed after several hours. Consider waiting for this virtual cluster to expire or manually deleting this virtual cluster and then creating the managed instance.\n\n * 400 MissingIdentityId - No user assigned identity is provided when the identity type is set to UserAssigned\n\n * 400 InvalidPrimaryIdentityId - User provides a value for PrimaryUserIdentityId but the same is not listed in the IdentityId parameter\n\n * 400 ManagedInstanceZoneRedudantFeatureNotSupported - ZoneRedundant feature is not supported for the selected service tier. For more details visit aka.ms/sqlmi-service-tier-characteristics.\n\n * 400 ManagedInstanceZoneRedudantFeatureCantBeEnabled - Enabling zoneRedundant feature is not possible once managed instance is created. For more details visit aka.ms/sqlmi-high-availability.\n\n * 400 ManagedInstanceZoneRedudantFeatureCantBeDisabled - Disabling zoneRedundant feature is not possible once managed instance is created. For more details visit aka.ms/sqlmi-high-availability.\n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 MissingPrimaryIdentity - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SubnetIdCantBeUpdated - Changing managed instance subnet is not supported operation. Please remove this parameter from the request.\n\n * 400 MigrationToAnotherVNetNotSupported - Selected subnet is in another Virtual Network. Moving managed instance to another Virtual Network is not possible. Please provide subnet from Virtual Network {0}.\n\n * 400 MigrationToSubnetWithDifferentDnsZoneNotSupported - Provided subnet is having different DNS zone from the current. Changing instance DNS zone is not supported. Please provide subnet with same DNS zone, create a new subnet or provide empty one.\n\n * 400 MigrationToGen4SubnetNotSupported - It is not possible to update subnet while running on Gen4 hardware as it is being deprecated. Please upgrade your hardware from Gen4 to Gen5 as part of the changing managed instance subnet operation by specifying both parameters at the same time: destination subnet and hardware generation.\n\n * 400 PrimaryIdentityMissingPermissionForKeyId - KeyId is provided by user during create but PrimaryUserAssignedIdentityId is not provided in the API call\n\n * 400 InvalidIdentityTypeForKeyId - KeyId is provided by user during create but identity type is not set to 'UserAssigned'\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 ManagedInstanceFileExceededMaxAzureStorageFileSizeLimit - The operation could not be completed because some of the database files are exceeding maximum General Purpose file size limit of {0} GB.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough capacity\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 PitrPointInTimeInvalid - The point in time {0} is not valid. Valid point in time range from {1} days early to now and not before source server creation time.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 ManagedDatabaseNameInUse - Database '{0}' already exists. Choose a different database name.\n\n * 400 NoMoreSpaceInManagedInstance - The managed instance has reached its storage limit. The storage usage for the managed instance cannot exceed (%d) MBs.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 DatabaseNumberLimitReached - Maximum number of databases for SQL Database Managed Instance reached.\n\n * 400 ManagedInstanceLinkSourceDbHasHekatonFile - Memory-optimized filegroup must be empty on the SQL Server source database when replicated to Azure SQL Managed Instance General Purpose service tier. Consider emptying the memory optimized filegroup on the source database and try again. Alternatively consider using Managed Instance Business Critical service tier without making any changes.\n\n * 400 ManagedInstanceLinkSourceDbHasMultipleLogFiles - Source database on SQL Server needs to have a single log file instead of multiple log files for data replication to Azure SQL Managed Instance. Consider using a single log file on the source database and try again.\n\n * 400 ManagedInstanceLinkUnsupportedNumberOfFilesOnSourceDb - Maximum number of '{0}' files was reached on Azure SQL Managed Instance preventing data replication. Consider reducing the number of files on the source and try again.\n\n * 400 ManagedInstanceLinkSourceDbHasFilestream - Source database on SQL Server must not use FileStream or FileTables for data replication to Azure SQL Managed Instance. Consider removing FileStream and FileTables on the source database on SQL Server and try again.\n\n * 400 ManagedInstanceLinkForProvidedAvailabilityGroupsAlreadyExists - It is not possible to add an additional database to an existing Managed Instance link as a single link can contain only one database. Please use a different distributed availability group name and try again.\n\n * 400 ManagedInstanceLinkIsNotFound - The link with Managed Instance was not successfully created or was deleted before data copy operation has completed.\n\n * 400 ManagedInstanceLinkIsNotInTheCatchupState - The link with Managed Instance is not in the catchup state after the data copy link operation completed.\n\n * 400 StorageAccountFull - Managed Instance has reached the total capacity of underlying Azure storage account. Azure Premium Storage account is limited to 35TB of allocated space.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InstancePoolNotFound - An instance pool cannot be found\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 CannotFindServerCertificateWithThumbprint - Cannot find server certificate with thumbprint '{0}'. Please use PowerShell Cmdlet 'Add-AzureRmSqlManagedInstanceTransparentDataEncryptionCertificate' to create the certificate.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 RestoreSourceDatabaseNotFound - Could not find database '{0}' at time '{1}' that can be restored.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\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 * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted request for creating the distributed availability group." + }, + "201": { + "description": "Successfully created the distributed availability group.", + "schema": { + "$ref": "#/definitions/DistributedAvailabilityGroup" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a distributed availability group.": { + "$ref": "./examples/DistributedAvailabilityGroupsCreate.json" + } + } + }, + "delete": { + "tags": [ + "DistributedAvailabilityGroups" + ], + "description": "Drops a distributed availability group between Sql On-Prem and Sql Managed Instance.", + "operationId": "DistributedAvailabilityGroups_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "distributedAvailabilityGroupName", + "in": "path", + "description": "The distributed availability group name.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted distributed availability group." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 InvalidDnsZone - The operation has failed because you are attempting to deploy managed instance as a geo-replication secondary to the subnet {0} in which there already exists a managed instance. Deploying managed instance as a geo-replication secondary is supported only in cases when managed instance is the first instance deployed in a subnet. Consider deploying managed instance as a geo-replication secondary to a different subnet in which there are no existing managed instances, or if deploying to a subnet with existing managed instance disable the geo-replication option.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot perform creation/scaling of the managed instance as there are not enough available IP addresses in the subnet for performing the operation.\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 UpdateManagedServerWithMaintenanceWindowNotAllowed - Update of Managed Instance with maintenance window settings is not allowed.\n\n * 400 VnetPrepareNIPFailed - User tried to prepare subnet that has a conflict with NetworkIntentPolicy.\n\n * 400 ManagedInstanceDeprecatedHardwareFamily - Changing the hardware generation to deprecated {0} generation is not possible.\n\n * 400 ManagedInstanceBackupStorageTypeNotSupported - Backup storage type parameter is not allowed in the instance update operation.\n\n * 400 EmptyPDCInvalidDnsZone - This managed instance cannot be deployed because its DNS-zone does not match the DNS-prefix of its intended virtual cluster for subnet {0}. Although this virtual cluster is empty, its DNS-prefix cannot be changed. Empty virtual clusters will be automatically removed after several hours. Consider waiting for this virtual cluster to expire or manually deleting this virtual cluster and then creating the managed instance.\n\n * 400 MissingIdentityId - No user assigned identity is provided when the identity type is set to UserAssigned\n\n * 400 InvalidPrimaryIdentityId - User provides a value for PrimaryUserIdentityId but the same is not listed in the IdentityId parameter\n\n * 400 ManagedInstanceZoneRedudantFeatureNotSupported - ZoneRedundant feature is not supported for the selected service tier. For more details visit aka.ms/sqlmi-service-tier-characteristics.\n\n * 400 ManagedInstanceZoneRedudantFeatureCantBeEnabled - Enabling zoneRedundant feature is not possible once managed instance is created. For more details visit aka.ms/sqlmi-high-availability.\n\n * 400 ManagedInstanceZoneRedudantFeatureCantBeDisabled - Disabling zoneRedundant feature is not possible once managed instance is created. For more details visit aka.ms/sqlmi-high-availability.\n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 MissingPrimaryIdentity - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SubnetIdCantBeUpdated - Changing managed instance subnet is not supported operation. Please remove this parameter from the request.\n\n * 400 MigrationToAnotherVNetNotSupported - Selected subnet is in another Virtual Network. Moving managed instance to another Virtual Network is not possible. Please provide subnet from Virtual Network {0}.\n\n * 400 MigrationToSubnetWithDifferentDnsZoneNotSupported - Provided subnet is having different DNS zone from the current. Changing instance DNS zone is not supported. Please provide subnet with same DNS zone, create a new subnet or provide empty one.\n\n * 400 MigrationToGen4SubnetNotSupported - It is not possible to update subnet while running on Gen4 hardware as it is being deprecated. Please upgrade your hardware from Gen4 to Gen5 as part of the changing managed instance subnet operation by specifying both parameters at the same time: destination subnet and hardware generation.\n\n * 400 PrimaryIdentityMissingPermissionForKeyId - KeyId is provided by user during create but PrimaryUserAssignedIdentityId is not provided in the API call\n\n * 400 InvalidIdentityTypeForKeyId - KeyId is provided by user during create but identity type is not set to 'UserAssigned'\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 ManagedInstanceFileExceededMaxAzureStorageFileSizeLimit - The operation could not be completed because some of the database files are exceeding maximum General Purpose file size limit of {0} GB.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough capacity\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 PitrPointInTimeInvalid - The point in time {0} is not valid. Valid point in time range from {1} days early to now and not before source server creation time.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 ManagedDatabaseNameInUse - Database '{0}' already exists. Choose a different database name.\n\n * 400 NoMoreSpaceInManagedInstance - The managed instance has reached its storage limit. The storage usage for the managed instance cannot exceed (%d) MBs.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 DatabaseNumberLimitReached - Maximum number of databases for SQL Database Managed Instance reached.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InstancePoolNotFound - An instance pool cannot be found\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 CannotFindServerCertificateWithThumbprint - Cannot find server certificate with thumbprint '{0}'. Please use PowerShell Cmdlet 'Add-AzureRmSqlManagedInstanceTransparentDataEncryptionCertificate' to create the certificate.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 RestoreSourceDatabaseNotFound - Could not find database '{0}' at time '{1}' that can be restored.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\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 * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted request for deleting the distributed availability group." + }, + "204": { + "description": "Distributed availability group was not found." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Initiate a distributed availability group drop.": { + "$ref": "./examples/DistributedAvailabilityGroupsDelete.json" + } + } + }, + "patch": { + "tags": [ + "DistributedAvailabilityGroups" + ], + "description": "Updates a distributed availability group replication mode.", + "operationId": "DistributedAvailabilityGroups_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "distributedAvailabilityGroupName", + "in": "path", + "description": "The distributed availability group name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The distributed availability group info.", + "required": true, + "schema": { + "$ref": "#/definitions/DistributedAvailabilityGroup" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully initiated the distributed availability group replication mode update.", + "schema": { + "$ref": "#/definitions/DistributedAvailabilityGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 InvalidDnsZone - The operation has failed because you are attempting to deploy managed instance as a geo-replication secondary to the subnet {0} in which there already exists a managed instance. Deploying managed instance as a geo-replication secondary is supported only in cases when managed instance is the first instance deployed in a subnet. Consider deploying managed instance as a geo-replication secondary to a different subnet in which there are no existing managed instances, or if deploying to a subnet with existing managed instance disable the geo-replication option.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot perform creation/scaling of the managed instance as there are not enough available IP addresses in the subnet for performing the operation.\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 UpdateManagedServerWithMaintenanceWindowNotAllowed - Update of Managed Instance with maintenance window settings is not allowed.\n\n * 400 VnetPrepareNIPFailed - User tried to prepare subnet that has a conflict with NetworkIntentPolicy.\n\n * 400 ManagedInstanceDeprecatedHardwareFamily - Changing the hardware generation to deprecated {0} generation is not possible.\n\n * 400 ManagedInstanceBackupStorageTypeNotSupported - Backup storage type parameter is not allowed in the instance update operation.\n\n * 400 EmptyPDCInvalidDnsZone - This managed instance cannot be deployed because its DNS-zone does not match the DNS-prefix of its intended virtual cluster for subnet {0}. Although this virtual cluster is empty, its DNS-prefix cannot be changed. Empty virtual clusters will be automatically removed after several hours. Consider waiting for this virtual cluster to expire or manually deleting this virtual cluster and then creating the managed instance.\n\n * 400 MissingIdentityId - No user assigned identity is provided when the identity type is set to UserAssigned\n\n * 400 InvalidPrimaryIdentityId - User provides a value for PrimaryUserIdentityId but the same is not listed in the IdentityId parameter\n\n * 400 ManagedInstanceZoneRedudantFeatureNotSupported - ZoneRedundant feature is not supported for the selected service tier. For more details visit aka.ms/sqlmi-service-tier-characteristics.\n\n * 400 ManagedInstanceZoneRedudantFeatureCantBeEnabled - Enabling zoneRedundant feature is not possible once managed instance is created. For more details visit aka.ms/sqlmi-high-availability.\n\n * 400 ManagedInstanceZoneRedudantFeatureCantBeDisabled - Disabling zoneRedundant feature is not possible once managed instance is created. For more details visit aka.ms/sqlmi-high-availability.\n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 MissingPrimaryIdentity - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SubnetIdCantBeUpdated - Changing managed instance subnet is not supported operation. Please remove this parameter from the request.\n\n * 400 MigrationToAnotherVNetNotSupported - Selected subnet is in another Virtual Network. Moving managed instance to another Virtual Network is not possible. Please provide subnet from Virtual Network {0}.\n\n * 400 MigrationToSubnetWithDifferentDnsZoneNotSupported - Provided subnet is having different DNS zone from the current. Changing instance DNS zone is not supported. Please provide subnet with same DNS zone, create a new subnet or provide empty one.\n\n * 400 MigrationToGen4SubnetNotSupported - It is not possible to update subnet while running on Gen4 hardware as it is being deprecated. Please upgrade your hardware from Gen4 to Gen5 as part of the changing managed instance subnet operation by specifying both parameters at the same time: destination subnet and hardware generation.\n\n * 400 PrimaryIdentityMissingPermissionForKeyId - KeyId is provided by user during create but PrimaryUserAssignedIdentityId is not provided in the API call\n\n * 400 InvalidIdentityTypeForKeyId - KeyId is provided by user during create but identity type is not set to 'UserAssigned'\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 ManagedInstanceFileExceededMaxAzureStorageFileSizeLimit - The operation could not be completed because some of the database files are exceeding maximum General Purpose file size limit of {0} GB.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough capacity\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 PitrPointInTimeInvalid - The point in time {0} is not valid. Valid point in time range from {1} days early to now and not before source server creation time.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 ManagedDatabaseNameInUse - Database '{0}' already exists. Choose a different database name.\n\n * 400 NoMoreSpaceInManagedInstance - The managed instance has reached its storage limit. The storage usage for the managed instance cannot exceed (%d) MBs.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 DatabaseNumberLimitReached - Maximum number of databases for SQL Database Managed Instance reached.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InstancePoolNotFound - An instance pool cannot be found\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 CannotFindServerCertificateWithThumbprint - Cannot find server certificate with thumbprint '{0}'. Please use PowerShell Cmdlet 'Add-AzureRmSqlManagedInstanceTransparentDataEncryptionCertificate' to create the certificate.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 RestoreSourceDatabaseNotFound - Could not find database '{0}' at time '{1}' that can be restored.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\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 * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted request for updating the distributed availability group replication mode." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update the distributed availability group replication mode before deleting it.": { + "$ref": "./examples/DistributedAvailabilityGroupsUpdate.json" + } + } + } + } + }, + "definitions": { + "DistributedAvailabilityGroupsListResult": { + "description": "A list of distributed availability groups in instance.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DistributedAvailabilityGroup" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "DistributedAvailabilityGroupProperties": { + "description": "The properties of a distributed availability group.", + "type": "object", + "properties": { + "targetDatabase": { + "description": "The name of the target database", + "type": "string" + }, + "sourceEndpoint": { + "description": "The source endpoint", + "type": "string" + }, + "primaryAvailabilityGroupName": { + "description": "The primary availability group name", + "type": "string" + }, + "secondaryAvailabilityGroupName": { + "description": "The secondary availability group name", + "type": "string" + }, + "replicationMode": { + "description": "The replication mode of a distributed availability group. Parameter will be ignored during link creation.", + "enum": [ + "Async", + "Sync" + ], + "type": "string", + "x-ms-enum": { + "name": "ReplicationMode", + "modelAsString": true + } + }, + "distributedAvailabilityGroupId": { + "format": "uuid", + "description": "The distributed availability group id", + "type": "string", + "readOnly": true + }, + "sourceReplicaId": { + "format": "uuid", + "description": "The source replica id", + "type": "string", + "readOnly": true + }, + "targetReplicaId": { + "format": "uuid", + "description": "The target replica id", + "type": "string", + "readOnly": true + }, + "linkState": { + "description": "The link state", + "type": "string", + "readOnly": true + }, + "lastHardenedLsn": { + "description": "The last hardened lsn", + "type": "string", + "readOnly": true + } + } + }, + "DistributedAvailabilityGroup": { + "description": "Distributed availability group between box and Sql Managed Instance.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DistributedAvailabilityGroupProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ElasticPoolOperations.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ElasticPoolOperations.json new file mode 100644 index 000000000000..41f0a504fe4a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ElasticPoolOperations.json @@ -0,0 +1,257 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations/{operationId}/cancel": { + "post": { + "tags": [ + "ElasticPoolOperations" + ], + "description": "Cancels the asynchronous operation on the elastic pool.", + "operationId": "ElasticPoolOperations_Cancel", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "elasticPoolName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "The operation identifier.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request for cancel has been executed successfully." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\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 * 409 CannotCancelOperation - The management operation is in a state that cannot be cancelled.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation." + } + }, + "x-ms-examples": { + "Cancel the elastic pool management operation": { + "$ref": "./examples/CancelElasticPoolOperation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations": { + "get": { + "tags": [ + "ElasticPoolOperations" + ], + "description": "Gets a list of operations performed on the elastic pool.", + "operationId": "ElasticPoolOperations_ListByElasticPool", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "elasticPoolName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request for getting elastic pool operations has been executed successfully.", + "schema": { + "$ref": "#/definitions/ElasticPoolOperationListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\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." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List the elastic pool management operations": { + "$ref": "./examples/ListElasticPoolOperations.json" + } + } + } + } + }, + "definitions": { + "ElasticPoolOperationListResult": { + "description": "The response to a list elastic pool operations request", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ElasticPoolOperation" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ElasticPoolOperationProperties": { + "description": "The properties of a elastic pool operation.", + "type": "object", + "properties": { + "elasticPoolName": { + "description": "The name of the elastic pool the operation is being performed on.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The name of operation.", + "type": "string", + "readOnly": true + }, + "operationFriendlyName": { + "description": "The friendly name of operation.", + "type": "string", + "readOnly": true + }, + "percentComplete": { + "format": "int32", + "description": "The percentage of the operation completed.", + "type": "integer", + "readOnly": true + }, + "serverName": { + "description": "The name of the server.", + "type": "string", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "The operation start time.", + "type": "string", + "readOnly": true + }, + "state": { + "description": "The operation state.", + "type": "string", + "readOnly": true + }, + "errorCode": { + "format": "int32", + "description": "The operation error code.", + "type": "integer", + "readOnly": true + }, + "errorDescription": { + "description": "The operation error description.", + "type": "string", + "readOnly": true + }, + "errorSeverity": { + "format": "int32", + "description": "The operation error severity.", + "type": "integer", + "readOnly": true + }, + "isUserError": { + "description": "Whether or not the error is a user error.", + "type": "boolean", + "readOnly": true + }, + "estimatedCompletionTime": { + "format": "date-time", + "description": "The estimated completion time of the operation.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The operation description.", + "type": "string", + "readOnly": true + }, + "isCancellable": { + "description": "Whether the operation can be cancelled.", + "type": "boolean", + "readOnly": true + } + } + }, + "ElasticPoolOperation": { + "description": "A elastic pool operation.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ElasticPoolOperationProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ElasticPools.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ElasticPools.json new file mode 100644 index 000000000000..8ebac7622af4 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ElasticPools.json @@ -0,0 +1,543 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools": { + "get": { + "tags": [ + "ElasticPools" + ], + "description": "Gets all elastic pools in a server.", + "operationId": "ElasticPools_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "$skip", + "in": "query", + "description": "The number of elements in the collection to skip.", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Succeeded", + "schema": { + "$ref": "#/definitions/ElasticPoolListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerQuotaExceeded - The server reached its limit for allowed Database Throughput Unit.\n\n * 400 ElasticPoolAlreadyExists - The server already contains an elastic pool with the specified name.\n\n * 400 InvalidInputValueForEdition - Specified edition is not supported for elastic pool provisioning.\n\n * 400 ElasticPoolDtuBelowLimit - The requested DTU value is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDtuAboveLimit - The requested DTU value is too high for the requested elastic pool service tier.\n\n * 400 InvalidMaxSize - Invalid max size.\n\n * 400 ElasticPoolDbDtuMaxBelowLimit - The requested per database DTU max is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbDtuMaxAboveLimit - The requested per database DTU max is too high for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseDtuMax - Attempting to set the DTU max per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolDbDtuMinAboveLimit - The requested DTU min per database is too high for the requested service tier.\n\n * 400 InvalidInputValueForDatabaseDtuMin - Attempting to set the DTU min per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 ElasticPoolDtuUnsupported - User tried to create or update an elastic pool with a DTU capacity that is not supported.\n\n * 400 ElasticPoolStorageAboveLimitGB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolsNotEnabled - Elastic pools have not been enabled in this region.\n\n * 400 ElasticPoolNotEmpty - Request to delete an elastic pool that is not empty.\n\n * 400 ElasticPoolStorageBelowLimitGB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolStorageNotAllowedGB - Attempting to set the elastic pool storage limit in gb which doesn't match the allowed values.\n\n * 400 ElasticPoolDatabaseLimit - The elastic pool has reached its limit for number of databases.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 ElasticPoolBusy - A management operation was attempted on an elastic pool which is busy.\n\n * 400 InvalidInputValueDatabaseDtuMinLargerThanMax - Attempting to set the DTU min per database higher than the DTU max per database.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 ElasticPoolStorageBelowLimitMB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolStorageNotAllowedMB - Attempting to set the elastic pool storage limit in mb which doesn't match the allowed values.\n\n * 400 ElasticPoolCapacityStorageNotAllowedMB - Attempting to set the elastic pool storage limit in mb which doesn't match the allowed values.\n\n * 400 ElasticPoolStorageAboveLimitMB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 ElasticPoolUpdateHkNotAllowed - The elastic pool cannot lower its service tier from Premium to Standard or Basic since one or more of its databases use memory-optimized objects.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 ElasticPoolDbDtuMinBelowLimit - The requested per database DTU min is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbVcoreMaxBelowLimit - The requested per database VCore max is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbVcoreMaxAboveLimit - The requested per database VCore max is too high for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseVcoreMax - Attempting to set the VCore max per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolDbVcoreMinBelowLimit - The requested per database VCore min is too low for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseVcoreMin - Attempting to set the VCore min per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 InvalidInputValueDatabaseVcoreMinLargerThanMax - Attempting to set the VCore min per database higher than the VCore max per database.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ElasticPoolNotFound - The specified elastic pool does not exist for the specified server.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 ElasticPoolUpdateLinksNotInCatchup - Cannot update elastic pool while one of its databases is performing a copy or geo-replication failover operation.\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.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all elastic pools in a server": { + "$ref": "./examples/ElasticPoolListByServer.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}": { + "get": { + "tags": [ + "ElasticPools" + ], + "description": "Gets an elastic pool.", + "operationId": "ElasticPools_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "elasticPoolName", + "in": "path", + "description": "The name of the elastic pool.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Succeeded", + "schema": { + "$ref": "#/definitions/ElasticPool" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerQuotaExceeded - The server reached its limit for allowed Database Throughput Unit.\n\n * 400 ElasticPoolAlreadyExists - The server already contains an elastic pool with the specified name.\n\n * 400 InvalidInputValueForEdition - Specified edition is not supported for elastic pool provisioning.\n\n * 400 ElasticPoolDtuBelowLimit - The requested DTU value is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDtuAboveLimit - The requested DTU value is too high for the requested elastic pool service tier.\n\n * 400 InvalidMaxSize - Invalid max size.\n\n * 400 ElasticPoolDbDtuMaxBelowLimit - The requested per database DTU max is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbDtuMaxAboveLimit - The requested per database DTU max is too high for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseDtuMax - Attempting to set the DTU max per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolDbDtuMinAboveLimit - The requested DTU min per database is too high for the requested service tier.\n\n * 400 InvalidInputValueForDatabaseDtuMin - Attempting to set the DTU min per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 ElasticPoolDtuUnsupported - User tried to create or update an elastic pool with a DTU capacity that is not supported.\n\n * 400 ElasticPoolStorageAboveLimitGB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolsNotEnabled - Elastic pools have not been enabled in this region.\n\n * 400 ElasticPoolNotEmpty - Request to delete an elastic pool that is not empty.\n\n * 400 ElasticPoolStorageBelowLimitGB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolStorageNotAllowedGB - Attempting to set the elastic pool storage limit in gb which doesn't match the allowed values.\n\n * 400 ElasticPoolDatabaseLimit - The elastic pool has reached its limit for number of databases.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 ElasticPoolBusy - A management operation was attempted on an elastic pool which is busy.\n\n * 400 InvalidInputValueDatabaseDtuMinLargerThanMax - Attempting to set the DTU min per database higher than the DTU max per database.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 ElasticPoolStorageBelowLimitMB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolStorageNotAllowedMB - Attempting to set the elastic pool storage limit in mb which doesn't match the allowed values.\n\n * 400 ElasticPoolCapacityStorageNotAllowedMB - Attempting to set the elastic pool storage limit in mb which doesn't match the allowed values.\n\n * 400 ElasticPoolStorageAboveLimitMB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 ElasticPoolUpdateHkNotAllowed - The elastic pool cannot lower its service tier from Premium to Standard or Basic since one or more of its databases use memory-optimized objects.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 ElasticPoolDbDtuMinBelowLimit - The requested per database DTU min is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbVcoreMaxBelowLimit - The requested per database VCore max is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbVcoreMaxAboveLimit - The requested per database VCore max is too high for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseVcoreMax - Attempting to set the VCore max per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolDbVcoreMinBelowLimit - The requested per database VCore min is too low for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseVcoreMin - Attempting to set the VCore min per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 InvalidInputValueDatabaseVcoreMinLargerThanMax - Attempting to set the VCore min per database higher than the VCore max per database.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ElasticPoolNotFound - The specified elastic pool does not exist for the specified server.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 ElasticPoolUpdateLinksNotInCatchup - Cannot update elastic pool while one of its databases is performing a copy or geo-replication failover operation.\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.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable." + } + }, + "x-ms-examples": { + "Get an elastic pool": { + "$ref": "./examples/ElasticPoolGet.json" + } + } + }, + "put": { + "tags": [ + "ElasticPools" + ], + "description": "Creates or updates an elastic pool.", + "operationId": "ElasticPools_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "elasticPoolName", + "in": "path", + "description": "The name of the elastic pool.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The elastic pool parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/ElasticPool" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Updated the elastic pool", + "schema": { + "$ref": "#/definitions/ElasticPool" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerQuotaExceeded - The server reached its limit for allowed Database Throughput Unit.\n\n * 400 ElasticPoolAlreadyExists - The server already contains an elastic pool with the specified name.\n\n * 400 InvalidInputValueForEdition - Specified edition is not supported for elastic pool provisioning.\n\n * 400 ElasticPoolDtuBelowLimit - The requested DTU value is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDtuAboveLimit - The requested DTU value is too high for the requested elastic pool service tier.\n\n * 400 InvalidMaxSize - Invalid max size.\n\n * 400 ElasticPoolDbDtuMaxBelowLimit - The requested per database DTU max is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbDtuMaxAboveLimit - The requested per database DTU max is too high for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseDtuMax - Attempting to set the DTU max per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolDbDtuMinAboveLimit - The requested DTU min per database is too high for the requested service tier.\n\n * 400 InvalidInputValueForDatabaseDtuMin - Attempting to set the DTU min per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 ElasticPoolDtuUnsupported - User tried to create or update an elastic pool with a DTU capacity that is not supported.\n\n * 400 ElasticPoolStorageAboveLimitGB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolsNotEnabled - Elastic pools have not been enabled in this region.\n\n * 400 ElasticPoolNotEmpty - Request to delete an elastic pool that is not empty.\n\n * 400 ElasticPoolStorageBelowLimitGB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolStorageNotAllowedGB - Attempting to set the elastic pool storage limit in gb which doesn't match the allowed values.\n\n * 400 ElasticPoolDatabaseLimit - The elastic pool has reached its limit for number of databases.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 ElasticPoolBusy - A management operation was attempted on an elastic pool which is busy.\n\n * 400 InvalidInputValueDatabaseDtuMinLargerThanMax - Attempting to set the DTU min per database higher than the DTU max per database.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 ElasticPoolStorageBelowLimitMB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolStorageNotAllowedMB - Attempting to set the elastic pool storage limit in mb which doesn't match the allowed values.\n\n * 400 ElasticPoolCapacityStorageNotAllowedMB - Attempting to set the elastic pool storage limit in mb which doesn't match the allowed values.\n\n * 400 ElasticPoolStorageAboveLimitMB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 ElasticPoolUpdateHkNotAllowed - The elastic pool cannot lower its service tier from Premium to Standard or Basic since one or more of its databases use memory-optimized objects.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 ElasticPoolDbDtuMinBelowLimit - The requested per database DTU min is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbVcoreMaxBelowLimit - The requested per database VCore max is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbVcoreMaxAboveLimit - The requested per database VCore max is too high for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseVcoreMax - Attempting to set the VCore max per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolDbVcoreMinBelowLimit - The requested per database VCore min is too low for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseVcoreMin - Attempting to set the VCore min per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 InvalidInputValueDatabaseVcoreMinLargerThanMax - Attempting to set the VCore min per database higher than the VCore max per database.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSkuName - Invalid SKU name.\n\n * 400 MismatchedSkuNameAndCapacity - Mismatch between SKU name and capacity.\n\n * 400 MismatchedSkuNameAndTier - Mismatch between SKU name and tier.\n\n * 400 MismatchedSkuNameAndFamily - Mismatch between SKU name and family.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerQuotaExceeded - The server reached its limit for allowed Database Throughput Unit.\n\n * 400 ElasticPoolAlreadyExists - The server already contains an elastic pool with the specified name.\n\n * 400 InvalidInputValueForEdition - Specified edition is not supported for elastic pool provisioning.\n\n * 400 ElasticPoolDtuBelowLimit - The requested DTU value is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDtuAboveLimit - The requested DTU value is too high for the requested elastic pool service tier.\n\n * 400 InvalidMaxSize - Invalid max size.\n\n * 400 ElasticPoolDbDtuMaxBelowLimit - The requested per database DTU max is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbDtuMaxAboveLimit - The requested per database DTU max is too high for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseDtuMax - Attempting to set the DTU max per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolDbDtuMinAboveLimit - The requested DTU min per database is too high for the requested service tier.\n\n * 400 InvalidInputValueForDatabaseDtuMin - Attempting to set the DTU min per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 ElasticPoolDtuUnsupported - User tried to create or update an elastic pool with a DTU capacity that is not supported.\n\n * 400 ElasticPoolStorageAboveLimitGB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolsNotEnabled - Elastic pools have not been enabled in this region.\n\n * 400 ElasticPoolNotEmpty - Request to delete an elastic pool that is not empty.\n\n * 400 ElasticPoolStorageBelowLimitGB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolStorageNotAllowedGB - Attempting to set the elastic pool storage limit in gb which doesn't match the allowed values.\n\n * 400 ElasticPoolDatabaseLimit - The elastic pool has reached its limit for number of databases.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 ElasticPoolBusy - A management operation was attempted on an elastic pool which is busy.\n\n * 400 InvalidInputValueDatabaseDtuMinLargerThanMax - Attempting to set the DTU min per database higher than the DTU max per database.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 ElasticPoolStorageBelowLimitMB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolStorageNotAllowedMB - Attempting to set the elastic pool storage limit in mb which doesn't match the allowed values.\n\n * 400 ElasticPoolCapacityStorageNotAllowedMB - Attempting to set the elastic pool storage limit in mb which doesn't match the allowed values.\n\n * 400 ElasticPoolStorageAboveLimitMB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 ElasticPoolUpdateHkNotAllowed - The elastic pool cannot lower its service tier from Premium to Standard or Basic since one or more of its databases use memory-optimized objects.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 ElasticPoolDbDtuMinBelowLimit - The requested per database DTU min is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbVcoreMaxBelowLimit - The requested per database VCore max is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbVcoreMaxAboveLimit - The requested per database VCore max is too high for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseVcoreMax - Attempting to set the VCore max per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolDbVcoreMinBelowLimit - The requested per database VCore min is too low for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseVcoreMin - Attempting to set the VCore min per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 InvalidInputValueDatabaseVcoreMinLargerThanMax - Attempting to set the VCore min per database higher than the VCore max per database.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ElasticPoolNotFound - The specified elastic pool does not exist for the specified server.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ElasticPoolNotFound - The specified elastic pool does not exist for the specified server.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 ElasticPoolUpdateLinksNotInCatchup - Cannot update elastic pool while one of its databases is performing a copy or geo-replication failover operation.\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 * 409 ServerDisabled - Server is disabled.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 ElasticPoolUpdateLinksNotInCatchup - Cannot update elastic pool while one of its databases is performing a copy or geo-replication failover operation.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable." + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Created the elastic pool", + "schema": { + "$ref": "#/definitions/ElasticPool" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update elastic pool with minimum parameters": { + "$ref": "./examples/ElasticPoolCreateOrUpdateMin.json" + }, + "Create or update elastic pool with all parameter": { + "$ref": "./examples/ElasticPoolCreateOrUpdateMax.json" + }, + "Create or update elastic pool with maintenance configuration parameter": { + "$ref": "./examples/ElasticPoolCreateOrUpdateSetMaintenanceConfiguration.json" + } + } + }, + "delete": { + "tags": [ + "ElasticPools" + ], + "description": "Deletes an elastic pool.", + "operationId": "ElasticPools_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "elasticPoolName", + "in": "path", + "description": "The name of the elastic pool.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Deleted the elastic pool" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerQuotaExceeded - The server reached its limit for allowed Database Throughput Unit.\n\n * 400 ElasticPoolAlreadyExists - The server already contains an elastic pool with the specified name.\n\n * 400 InvalidInputValueForEdition - Specified edition is not supported for elastic pool provisioning.\n\n * 400 ElasticPoolDtuBelowLimit - The requested DTU value is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDtuAboveLimit - The requested DTU value is too high for the requested elastic pool service tier.\n\n * 400 InvalidMaxSize - Invalid max size.\n\n * 400 ElasticPoolDbDtuMaxBelowLimit - The requested per database DTU max is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbDtuMaxAboveLimit - The requested per database DTU max is too high for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseDtuMax - Attempting to set the DTU max per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolDbDtuMinAboveLimit - The requested DTU min per database is too high for the requested service tier.\n\n * 400 InvalidInputValueForDatabaseDtuMin - Attempting to set the DTU min per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 ElasticPoolDtuUnsupported - User tried to create or update an elastic pool with a DTU capacity that is not supported.\n\n * 400 ElasticPoolStorageAboveLimitGB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolsNotEnabled - Elastic pools have not been enabled in this region.\n\n * 400 ElasticPoolNotEmpty - Request to delete an elastic pool that is not empty.\n\n * 400 ElasticPoolStorageBelowLimitGB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolStorageNotAllowedGB - Attempting to set the elastic pool storage limit in gb which doesn't match the allowed values.\n\n * 400 ElasticPoolDatabaseLimit - The elastic pool has reached its limit for number of databases.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 ElasticPoolBusy - A management operation was attempted on an elastic pool which is busy.\n\n * 400 InvalidInputValueDatabaseDtuMinLargerThanMax - Attempting to set the DTU min per database higher than the DTU max per database.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 ElasticPoolStorageBelowLimitMB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolStorageNotAllowedMB - Attempting to set the elastic pool storage limit in mb which doesn't match the allowed values.\n\n * 400 ElasticPoolCapacityStorageNotAllowedMB - Attempting to set the elastic pool storage limit in mb which doesn't match the allowed values.\n\n * 400 ElasticPoolStorageAboveLimitMB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 ElasticPoolUpdateHkNotAllowed - The elastic pool cannot lower its service tier from Premium to Standard or Basic since one or more of its databases use memory-optimized objects.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 ElasticPoolDbDtuMinBelowLimit - The requested per database DTU min is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbVcoreMaxBelowLimit - The requested per database VCore max is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbVcoreMaxAboveLimit - The requested per database VCore max is too high for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseVcoreMax - Attempting to set the VCore max per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolDbVcoreMinBelowLimit - The requested per database VCore min is too low for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseVcoreMin - Attempting to set the VCore min per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 InvalidInputValueDatabaseVcoreMinLargerThanMax - Attempting to set the VCore min per database higher than the VCore max per database.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ElasticPoolNotFound - The specified elastic pool does not exist for the specified server.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 ElasticPoolUpdateLinksNotInCatchup - Cannot update elastic pool while one of its databases is performing a copy or geo-replication failover operation.\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.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable." + }, + "202": { + "description": "Deleting the elastic pool is in progress." + }, + "204": { + "description": "Elastic pool did not exist" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete an elastic pool": { + "$ref": "./examples/ElasticPoolDelete.json" + } + } + }, + "patch": { + "tags": [ + "ElasticPools" + ], + "description": "Updates an elastic pool.", + "operationId": "ElasticPools_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "elasticPoolName", + "in": "path", + "description": "The name of the elastic pool.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The elastic pool update parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/ElasticPoolUpdate" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Updated the elastic pool", + "schema": { + "$ref": "#/definitions/ElasticPool" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerQuotaExceeded - The server reached its limit for allowed Database Throughput Unit.\n\n * 400 ElasticPoolAlreadyExists - The server already contains an elastic pool with the specified name.\n\n * 400 InvalidInputValueForEdition - Specified edition is not supported for elastic pool provisioning.\n\n * 400 ElasticPoolDtuBelowLimit - The requested DTU value is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDtuAboveLimit - The requested DTU value is too high for the requested elastic pool service tier.\n\n * 400 InvalidMaxSize - Invalid max size.\n\n * 400 ElasticPoolDbDtuMaxBelowLimit - The requested per database DTU max is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbDtuMaxAboveLimit - The requested per database DTU max is too high for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseDtuMax - Attempting to set the DTU max per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolDbDtuMinAboveLimit - The requested DTU min per database is too high for the requested service tier.\n\n * 400 InvalidInputValueForDatabaseDtuMin - Attempting to set the DTU min per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 ElasticPoolDtuUnsupported - User tried to create or update an elastic pool with a DTU capacity that is not supported.\n\n * 400 ElasticPoolStorageAboveLimitGB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolsNotEnabled - Elastic pools have not been enabled in this region.\n\n * 400 ElasticPoolNotEmpty - Request to delete an elastic pool that is not empty.\n\n * 400 ElasticPoolStorageBelowLimitGB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolStorageNotAllowedGB - Attempting to set the elastic pool storage limit in gb which doesn't match the allowed values.\n\n * 400 ElasticPoolDatabaseLimit - The elastic pool has reached its limit for number of databases.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 ElasticPoolBusy - A management operation was attempted on an elastic pool which is busy.\n\n * 400 InvalidInputValueDatabaseDtuMinLargerThanMax - Attempting to set the DTU min per database higher than the DTU max per database.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 ElasticPoolStorageBelowLimitMB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolStorageNotAllowedMB - Attempting to set the elastic pool storage limit in mb which doesn't match the allowed values.\n\n * 400 ElasticPoolCapacityStorageNotAllowedMB - Attempting to set the elastic pool storage limit in mb which doesn't match the allowed values.\n\n * 400 ElasticPoolStorageAboveLimitMB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 ElasticPoolUpdateHkNotAllowed - The elastic pool cannot lower its service tier from Premium to Standard or Basic since one or more of its databases use memory-optimized objects.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 ElasticPoolDbDtuMinBelowLimit - The requested per database DTU min is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbVcoreMaxBelowLimit - The requested per database VCore max is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbVcoreMaxAboveLimit - The requested per database VCore max is too high for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseVcoreMax - Attempting to set the VCore max per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolDbVcoreMinBelowLimit - The requested per database VCore min is too low for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseVcoreMin - Attempting to set the VCore min per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 InvalidInputValueDatabaseVcoreMinLargerThanMax - Attempting to set the VCore min per database higher than the VCore max per database.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSkuName - Invalid SKU name.\n\n * 400 MismatchedSkuNameAndCapacity - Mismatch between SKU name and capacity.\n\n * 400 MismatchedSkuNameAndTier - Mismatch between SKU name and tier.\n\n * 400 MismatchedSkuNameAndFamily - Mismatch between SKU name and family.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerQuotaExceeded - The server reached its limit for allowed Database Throughput Unit.\n\n * 400 ElasticPoolAlreadyExists - The server already contains an elastic pool with the specified name.\n\n * 400 InvalidInputValueForEdition - Specified edition is not supported for elastic pool provisioning.\n\n * 400 ElasticPoolDtuBelowLimit - The requested DTU value is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDtuAboveLimit - The requested DTU value is too high for the requested elastic pool service tier.\n\n * 400 InvalidMaxSize - Invalid max size.\n\n * 400 ElasticPoolDbDtuMaxBelowLimit - The requested per database DTU max is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbDtuMaxAboveLimit - The requested per database DTU max is too high for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseDtuMax - Attempting to set the DTU max per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolDbDtuMinAboveLimit - The requested DTU min per database is too high for the requested service tier.\n\n * 400 InvalidInputValueForDatabaseDtuMin - Attempting to set the DTU min per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 ElasticPoolDtuUnsupported - User tried to create or update an elastic pool with a DTU capacity that is not supported.\n\n * 400 ElasticPoolStorageAboveLimitGB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolsNotEnabled - Elastic pools have not been enabled in this region.\n\n * 400 ElasticPoolNotEmpty - Request to delete an elastic pool that is not empty.\n\n * 400 ElasticPoolStorageBelowLimitGB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolStorageNotAllowedGB - Attempting to set the elastic pool storage limit in gb which doesn't match the allowed values.\n\n * 400 ElasticPoolDatabaseLimit - The elastic pool has reached its limit for number of databases.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 ElasticPoolBusy - A management operation was attempted on an elastic pool which is busy.\n\n * 400 InvalidInputValueDatabaseDtuMinLargerThanMax - Attempting to set the DTU min per database higher than the DTU max per database.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 ElasticPoolStorageBelowLimitMB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 ElasticPoolStorageNotAllowedMB - Attempting to set the elastic pool storage limit in mb which doesn't match the allowed values.\n\n * 400 ElasticPoolCapacityStorageNotAllowedMB - Attempting to set the elastic pool storage limit in mb which doesn't match the allowed values.\n\n * 400 ElasticPoolStorageAboveLimitMB - Attempting to set the elastic pool storage limit below the supported limit.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 ElasticPoolUpdateHkNotAllowed - The elastic pool cannot lower its service tier from Premium to Standard or Basic since one or more of its databases use memory-optimized objects.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 ElasticPoolDbDtuMinBelowLimit - The requested per database DTU min is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbVcoreMaxBelowLimit - The requested per database VCore max is too low for the requested elastic pool service tier.\n\n * 400 ElasticPoolDbVcoreMaxAboveLimit - The requested per database VCore max is too high for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseVcoreMax - Attempting to set the VCore max per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 ElasticPoolDbVcoreMinBelowLimit - The requested per database VCore min is too low for the requested elastic pool service tier.\n\n * 400 InvalidInputValueForDatabaseVcoreMin - Attempting to set the VCore min per database for the Resource Pool which doesn't match the allowed values.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 InvalidInputValueDatabaseVcoreMinLargerThanMax - Attempting to set the VCore min per database higher than the VCore max per database.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ElasticPoolNotFound - The specified elastic pool does not exist for the specified server.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ElasticPoolNotFound - The specified elastic pool does not exist for the specified server.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 ElasticPoolUpdateLinksNotInCatchup - Cannot update elastic pool while one of its databases is performing a copy or geo-replication failover operation.\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 * 409 ServerDisabled - Server is disabled.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 ElasticPoolUpdateLinksNotInCatchup - Cannot update elastic pool while one of its databases is performing a copy or geo-replication failover operation.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update an elastic pool with minimum parameters": { + "$ref": "./examples/ElasticPoolUpdateMin.json" + }, + "Update an elastic pool with all parameter": { + "$ref": "./examples/ElasticPoolUpdateMax.json" + }, + "Assigns maintenance configuration to an elastic pool.": { + "$ref": "./examples/ElasticPoolUpdateAssignMaintenanceConfiguration.json" + }, + "Resets maintenance configuration of an elastic pool to default.": { + "$ref": "./examples/ElasticPoolUpdateResetMaintenanceConfiguration.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/failover": { + "post": { + "tags": [ + "ElasticPools" + ], + "description": "Failovers an elastic pool.", + "operationId": "ElasticPools_Failover", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "elasticPoolName", + "in": "path", + "description": "The name of the elastic pool to failover.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully completed elastic pool failover." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 400 ElasticPoolFailoverThrottled - There was a recent failover on the elastic pool.\n\n * 400 ElasticPoolFailoverNotSupportedOnSKU - This type of customer initiated failover is not supported on the given SKU.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\n\n * 409 ElasticPoolNotInStateToFailover - The elastic pool or a database within the elastic pool is currently in a state such that failover cannot be issued." + }, + "202": { + "description": "Elastic pool failover is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Failover an elastic pool": { + "$ref": "./examples/FailoverElasticPool.json" + } + } + } + } + }, + "definitions": { + "ElasticPoolListResult": { + "description": "The result of an elastic pool list request.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ElasticPool" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ElasticPoolProperties": { + "description": "Properties of an elastic pool", + "type": "object", + "properties": { + "state": { + "description": "The state of the elastic pool.", + "enum": [ + "Creating", + "Ready", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ElasticPoolState", + "modelAsString": true + } + }, + "creationDate": { + "format": "date-time", + "description": "The creation date of the elastic pool (ISO8601 format).", + "type": "string", + "readOnly": true + }, + "maxSizeBytes": { + "format": "int64", + "description": "The storage limit for the database elastic pool in bytes.", + "type": "integer" + }, + "perDatabaseSettings": { + "$ref": "#/definitions/ElasticPoolPerDatabaseSettings", + "description": "The per database settings for the elastic pool." + }, + "zoneRedundant": { + "description": "Whether or not this elastic pool is zone redundant, which means the replicas of this elastic pool will be spread across multiple availability zones.", + "type": "boolean" + }, + "licenseType": { + "description": "The license type to apply for this elastic pool.", + "enum": [ + "LicenseIncluded", + "BasePrice" + ], + "type": "string", + "x-ms-enum": { + "name": "ElasticPoolLicenseType", + "modelAsString": true + } + }, + "maintenanceConfigurationId": { + "description": "Maintenance configuration id assigned to the elastic pool. This configuration defines the period when the maintenance updates will will occur.", + "type": "string" + } + } + }, + "ElasticPoolPerDatabaseSettings": { + "description": "Per database settings of an elastic pool.", + "type": "object", + "properties": { + "minCapacity": { + "format": "double", + "description": "The minimum capacity all databases are guaranteed.", + "type": "number" + }, + "maxCapacity": { + "format": "double", + "description": "The maximum capacity any one database can consume.", + "type": "number" + } + } + }, + "ElasticPool": { + "description": "An elastic pool.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "The elastic pool SKU.\r\n\r\nThe list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or the following command:\r\n\r\n```azurecli\r\naz sql elastic-pool list-editions -l -o table\r\n````\r\n" + }, + "kind": { + "description": "Kind of elastic pool. This is metadata used for the Azure portal experience.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/ElasticPoolProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ElasticPoolUpdate": { + "description": "An elastic pool update.", + "type": "object", + "properties": { + "sku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku" + }, + "properties": { + "$ref": "#/definitions/ElasticPoolUpdateProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ElasticPoolUpdateProperties": { + "description": "Properties of an elastic pool", + "type": "object", + "properties": { + "maxSizeBytes": { + "format": "int64", + "description": "The storage limit for the database elastic pool in bytes.", + "type": "integer" + }, + "perDatabaseSettings": { + "$ref": "#/definitions/ElasticPoolPerDatabaseSettings", + "description": "The per database settings for the elastic pool." + }, + "zoneRedundant": { + "description": "Whether or not this elastic pool is zone redundant, which means the replicas of this elastic pool will be spread across multiple availability zones.", + "type": "boolean" + }, + "licenseType": { + "description": "The license type to apply for this elastic pool.", + "enum": [ + "LicenseIncluded", + "BasePrice" + ], + "type": "string", + "x-ms-enum": { + "name": "ElasticPoolLicenseType", + "modelAsString": true + } + }, + "maintenanceConfigurationId": { + "description": "Maintenance configuration id assigned to the elastic pool. This configuration defines the period when the maintenance updates will will occur.", + "type": "string" + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/EncryptionProtectors.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/EncryptionProtectors.json new file mode 100644 index 000000000000..b55a7c1128ee --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/EncryptionProtectors.json @@ -0,0 +1,348 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector": { + "get": { + "tags": [ + "EncryptionProtectors" + ], + "description": "Gets a list of server encryption protectors", + "operationId": "EncryptionProtectors_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of server encryption protector.", + "schema": { + "$ref": "#/definitions/EncryptionProtectorListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidKeyName - An invalid value was given for the server key name.\n\n * 400 InvalidKeyType - The create server key type is not supported.\n\n * 400 InvalidUpsertKeyType - Service-managed TDE keys are managed by the service. Service-managed TDE keys don't support Create or Update by the user.\n\n * 400 InvalidKeyUpsertRequest - The create server key request does not exist or has no properties object.\n\n * 400 InvalidEncryptionProtectorName - The encryption protector key name is not supported.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List encryption protectors by server": { + "$ref": "./examples/EncryptionProtectorList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}": { + "get": { + "tags": [ + "EncryptionProtectors" + ], + "description": "Gets a server encryption protector.", + "operationId": "EncryptionProtectors_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "encryptionProtectorName", + "in": "path", + "description": "The name of the encryption protector to be retrieved.", + "required": true, + "type": "string", + "enum": [ + "current" + ], + "x-ms-enum": { + "name": "EncryptionProtectorName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified server encryption protector.", + "schema": { + "$ref": "#/definitions/EncryptionProtector" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidKeyName - An invalid value was given for the server key name.\n\n * 400 InvalidKeyType - The create server key type is not supported.\n\n * 400 InvalidUpsertKeyType - Service-managed TDE keys are managed by the service. Service-managed TDE keys don't support Create or Update by the user.\n\n * 400 InvalidKeyUpsertRequest - The create server key request does not exist or has no properties object.\n\n * 400 InvalidEncryptionProtectorName - The encryption protector key name is not supported.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get the encryption protector": { + "$ref": "./examples/EncryptionProtectorGet.json" + } + } + }, + "put": { + "tags": [ + "EncryptionProtectors" + ], + "description": "Updates an existing encryption protector.", + "operationId": "EncryptionProtectors_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "encryptionProtectorName", + "in": "path", + "description": "The name of the encryption protector to be updated.", + "required": true, + "type": "string", + "enum": [ + "current" + ], + "x-ms-enum": { + "name": "EncryptionProtectorName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The requested encryption protector resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/EncryptionProtector" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the encryption protector.", + "schema": { + "$ref": "#/definitions/EncryptionProtector" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidKeyName - An invalid value was given for the server key name.\n\n * 400 InvalidKeyType - The create server key type is not supported.\n\n * 400 InvalidUpsertKeyType - Service-managed TDE keys are managed by the service. Service-managed TDE keys don't support Create or Update by the user.\n\n * 400 InvalidKeyUpsertRequest - The create server key request does not exist or has no properties object.\n\n * 400 InvalidEncryptionProtectorName - The encryption protector key name is not supported.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ServerKeyNotFound - The requested server key was not found on the current subscription.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information ." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update the encryption protector to key vault": { + "$ref": "./examples/EncryptionProtectorCreateOrUpdateKeyVault.json" + }, + "Update the encryption protector to service managed": { + "$ref": "./examples/EncryptionProtectorCreateOrUpdateServiceManaged.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}/revalidate": { + "post": { + "tags": [ + "EncryptionProtectors" + ], + "description": "Revalidates an existing encryption protector.", + "operationId": "EncryptionProtectors_Revalidate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "encryptionProtectorName", + "in": "path", + "description": "The name of the encryption protector to be updated.", + "required": true, + "type": "string", + "enum": [ + "current" + ], + "x-ms-enum": { + "name": "EncryptionProtectorName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully revalidated the encryption protector." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidKeyName - An invalid value was given for the server key name.\n\n * 400 InvalidKeyType - The create server key type is not supported.\n\n * 400 InvalidUpsertKeyType - Service-managed TDE keys are managed by the service. Service-managed TDE keys don't support Create or Update by the user.\n\n * 400 InvalidKeyUpsertRequest - The create server key request does not exist or has no properties object.\n\n * 400 InvalidEncryptionProtectorName - The encryption protector key name is not supported.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ServerKeyNotFound - The requested server key was not found on the current subscription.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information ." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Revalidates the encryption protector": { + "$ref": "./examples/EncryptionProtectorRevalidate.json" + } + } + } + } + }, + "definitions": { + "EncryptionProtectorListResult": { + "description": "A list of server encryption protectors.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/EncryptionProtector" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "EncryptionProtectorProperties": { + "description": "Properties for an encryption protector execution.", + "required": [ + "serverKeyType" + ], + "type": "object", + "properties": { + "subregion": { + "description": "Subregion of the encryption protector.", + "type": "string", + "readOnly": true + }, + "serverKeyName": { + "description": "The name of the server key.", + "type": "string" + }, + "serverKeyType": { + "description": "The encryption protector type like 'ServiceManaged', 'AzureKeyVault'.", + "enum": [ + "ServiceManaged", + "AzureKeyVault" + ], + "type": "string", + "x-ms-enum": { + "name": "ServerKeyType", + "modelAsString": true + } + }, + "uri": { + "description": "The URI of the server key.", + "type": "string", + "readOnly": true + }, + "thumbprint": { + "description": "Thumbprint of the server key.", + "type": "string", + "readOnly": true + }, + "autoRotationEnabled": { + "description": "Key auto rotation opt-in flag. Either true or false.", + "type": "boolean" + } + } + }, + "EncryptionProtector": { + "description": "The server encryption protector.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "description": "Kind of encryption protector. This is metadata used for the Azure portal experience.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Resource location.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/EncryptionProtectorProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/FailoverGroups.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/FailoverGroups.json new file mode 100644 index 000000000000..0d4fb987afb0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/FailoverGroups.json @@ -0,0 +1,633 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}": { + "get": { + "tags": [ + "FailoverGroups" + ], + "description": "Gets a failover group.", + "operationId": "FailoverGroups_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server containing the failover group.", + "required": true, + "type": "string" + }, + { + "name": "failoverGroupName", + "in": "path", + "description": "The name of the failover group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified failover group.", + "schema": { + "$ref": "#/definitions/FailoverGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases - The provided databases IDs are not properly constructed database resource IDs. For the example of proper formatting see https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update failover group request body is empty or invalid. Please provide a valid value of this field. For examples of properly formatted requests see \r\nhttps://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the failover group. Please make sure the primary server and all of the given partner servers are unique.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer - One or more of the provided databases do not exist on the primary server of the failover group. Please make sure that all the databases exist on the primary server.\n\n * 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner server for Failover Group is supported. Please modify your request accordingly. For examples of valid requests see https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalid - The create or update failover group request body is empty or invalid.\n\n * 400 FailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the failover group are not allowed on a secondary server. Execute the request on the primary server.\n\n * 400 FailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.\n\n * 400 FailoverGroupCreateOrUpdateRequestLessThanMinimumGracePeriodValues - Grace period value for the failover group must be greater than or equal to the '{0}' minutes minimum grace period\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint. Please remove it from request.\n\n * 400 FailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update failover group request body should not modify the read-only property '{0}'.\n\n * 400 FailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of failover group.\n\n * 400 FailoverGroupPartnerServerFromDifferentSubscription - Primary server and the partner servers of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 ResourcePoolNotFound - Specified elastic pool does not exist in the specified logical server.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.\n\n * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidFailoverGroupRegion - Servers specified in a Failover Group need to reside in different regions to provide isolation.\n\n * 400 FailoverGroupDoesNotExist - Failover group does not exist on a server.\n\n * 400 FailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a Failover Group.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 DatabaseInFailoverGroupNotPrimary - GeoDR link for the database already exists, but its role is not 'Primary' or it is not continuous copy link.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 UnableToCreateFailoverGroupDueToTableAuditing - Failover Group cannot be created for server that has table auditing turned on.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 UnableToAddDbWithTableAuditingToFailoverGroup - Database with Table Auditing enabled will not be accessible through Failover Group endpoint.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 LimitOfFailoverGroupsPerServerExceeded - Creating new Failover Group will exceed the allowed number of Failover Groups per server.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 FailoverGroupWithVirtualNetworkRulesNotSupported - Failover Groups configured with an automatic failover policy are currently not supported on servers configured with virtual network firewall rules. Please configure the failover group with manual failover policy.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 FailoverGroupAlreadyExists - Failover group already exists on a given server. Please use different Failover Group name.\n\n * 409 FailoverGroupBusy - Failover Group is busy with another operation.\n\n * 409 DatabaseBelongsToOtherFailoverGroup - Database belongs to other Failover Group and cannot be consider a part of this one.\n\n * 409 DatabaseBeingAddedToFailoverGroup - The database is currently being added to Failover Group, customer needs to wait for this operation to finish to issue remove.\n\n * 409 DatabaseBeingRemovedFromFailoverGroup - The database is currently being removed from failover group, customer needs to wait for this operation to finish to issue add.\n\n * 409 FailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.\n\n * 409 InvalidFailoverGroupName - Invalid Failover Group name was supplied.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-examples": { + "Get failover group": { + "$ref": "./examples/FailoverGroupGet.json" + } + } + }, + "put": { + "tags": [ + "FailoverGroups" + ], + "description": "Creates or updates a failover group.", + "operationId": "FailoverGroups_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server containing the failover group.", + "required": true, + "type": "string" + }, + { + "name": "failoverGroupName", + "in": "path", + "description": "The name of the failover group.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The failover group parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/FailoverGroup" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the failover group.", + "schema": { + "$ref": "#/definitions/FailoverGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases - The provided databases IDs are not properly constructed database resource IDs. For the example of proper formatting see https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update failover group request body is empty or invalid. Please provide a valid value of this field. For examples of properly formatted requests see \r\nhttps://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the failover group. Please make sure the primary server and all of the given partner servers are unique.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer - One or more of the provided databases do not exist on the primary server of the failover group. Please make sure that all the databases exist on the primary server.\n\n * 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner server for Failover Group is supported. Please modify your request accordingly. For examples of valid requests see https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalid - The create or update failover group request body is empty or invalid.\n\n * 400 FailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the failover group are not allowed on a secondary server. Execute the request on the primary server.\n\n * 400 FailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.\n\n * 400 FailoverGroupCreateOrUpdateRequestLessThanMinimumGracePeriodValues - Grace period value for the failover group must be greater than or equal to the '{0}' minutes minimum grace period\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint. Please remove it from request.\n\n * 400 FailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update failover group request body should not modify the read-only property '{0}'.\n\n * 400 FailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of failover group.\n\n * 400 FailoverGroupPartnerServerFromDifferentSubscription - Primary server and the partner servers of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 ResourcePoolNotFound - Specified elastic pool does not exist in the specified logical server.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.\n\n * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidFailoverGroupRegion - Servers specified in a Failover Group need to reside in different regions to provide isolation.\n\n * 400 FailoverGroupDoesNotExist - Failover group does not exist on a server.\n\n * 400 FailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a Failover Group.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 DatabaseInFailoverGroupNotPrimary - GeoDR link for the database already exists, but its role is not 'Primary' or it is not continuous copy link.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 UnableToCreateFailoverGroupDueToTableAuditing - Failover Group cannot be created for server that has table auditing turned on.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 UnableToAddDbWithTableAuditingToFailoverGroup - Database with Table Auditing enabled will not be accessible through Failover Group endpoint.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 LimitOfFailoverGroupsPerServerExceeded - Creating new Failover Group will exceed the allowed number of Failover Groups per server.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 FailoverGroupWithVirtualNetworkRulesNotSupported - Failover Groups configured with an automatic failover policy are currently not supported on servers configured with virtual network firewall rules. Please configure the failover group with manual failover policy.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 FailoverGroupCreateOrUpdatePartiallySucceeded - Some databases could not be added or removed.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\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 * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 FailoverGroupAlreadyExists - Failover group already exists on a given server. Please use different Failover Group name.\n\n * 409 FailoverGroupBusy - Failover Group is busy with another operation.\n\n * 409 DatabaseBelongsToOtherFailoverGroup - Database belongs to other Failover Group and cannot be consider a part of this one.\n\n * 409 DatabaseBeingAddedToFailoverGroup - The database is currently being added to Failover Group, customer needs to wait for this operation to finish to issue remove.\n\n * 409 DatabaseBeingRemovedFromFailoverGroup - The database is currently being removed from failover group, customer needs to wait for this operation to finish to issue add.\n\n * 409 FailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.\n\n * 409 InvalidFailoverGroupName - Invalid Failover Group name was supplied.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 FailoverGroupUnableToPerformGroupOperationOnDatabases - The list of databases to add/remove to/from Failover Group contains errors that are preventing operation to complete.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully created the failover group.", + "schema": { + "$ref": "#/definitions/FailoverGroup" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create failover group": { + "$ref": "./examples/FailoverGroupCreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "FailoverGroups" + ], + "description": "Deletes a failover group.", + "operationId": "FailoverGroups_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server containing the failover group.", + "required": true, + "type": "string" + }, + { + "name": "failoverGroupName", + "in": "path", + "description": "The name of the failover group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the failover group." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases - The provided databases IDs are not properly constructed database resource IDs. For the example of proper formatting see https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update failover group request body is empty or invalid. Please provide a valid value of this field. For examples of properly formatted requests see \r\nhttps://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the failover group. Please make sure the primary server and all of the given partner servers are unique.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer - One or more of the provided databases do not exist on the primary server of the failover group. Please make sure that all the databases exist on the primary server.\n\n * 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner server for Failover Group is supported. Please modify your request accordingly. For examples of valid requests see https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalid - The create or update failover group request body is empty or invalid.\n\n * 400 FailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the failover group are not allowed on a secondary server. Execute the request on the primary server.\n\n * 400 FailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.\n\n * 400 FailoverGroupCreateOrUpdateRequestLessThanMinimumGracePeriodValues - Grace period value for the failover group must be greater than or equal to the '{0}' minutes minimum grace period\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint. Please remove it from request.\n\n * 400 FailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update failover group request body should not modify the read-only property '{0}'.\n\n * 400 FailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of failover group.\n\n * 400 FailoverGroupPartnerServerFromDifferentSubscription - Primary server and the partner servers of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 ResourcePoolNotFound - Specified elastic pool does not exist in the specified logical server.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.\n\n * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidFailoverGroupRegion - Servers specified in a Failover Group need to reside in different regions to provide isolation.\n\n * 400 FailoverGroupDoesNotExist - Failover group does not exist on a server.\n\n * 400 FailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a Failover Group.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 DatabaseInFailoverGroupNotPrimary - GeoDR link for the database already exists, but its role is not 'Primary' or it is not continuous copy link.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 UnableToCreateFailoverGroupDueToTableAuditing - Failover Group cannot be created for server that has table auditing turned on.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 UnableToAddDbWithTableAuditingToFailoverGroup - Database with Table Auditing enabled will not be accessible through Failover Group endpoint.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 LimitOfFailoverGroupsPerServerExceeded - Creating new Failover Group will exceed the allowed number of Failover Groups per server.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 FailoverGroupWithVirtualNetworkRulesNotSupported - Failover Groups configured with an automatic failover policy are currently not supported on servers configured with virtual network firewall rules. Please configure the failover group with manual failover policy.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\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 * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 FailoverGroupAlreadyExists - Failover group already exists on a given server. Please use different Failover Group name.\n\n * 409 FailoverGroupBusy - Failover Group is busy with another operation.\n\n * 409 DatabaseBelongsToOtherFailoverGroup - Database belongs to other Failover Group and cannot be consider a part of this one.\n\n * 409 DatabaseBeingAddedToFailoverGroup - The database is currently being added to Failover Group, customer needs to wait for this operation to finish to issue remove.\n\n * 409 DatabaseBeingRemovedFromFailoverGroup - The database is currently being removed from failover group, customer needs to wait for this operation to finish to issue add.\n\n * 409 FailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.\n\n * 409 InvalidFailoverGroupName - Invalid Failover Group name was supplied.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "The specified failover group does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete failover group": { + "$ref": "./examples/FailoverGroupDelete.json" + } + } + }, + "patch": { + "tags": [ + "FailoverGroups" + ], + "description": "Updates a failover group.", + "operationId": "FailoverGroups_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server containing the failover group.", + "required": true, + "type": "string" + }, + { + "name": "failoverGroupName", + "in": "path", + "description": "The name of the failover group.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The failover group parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/FailoverGroupUpdate" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the failover group.", + "schema": { + "$ref": "#/definitions/FailoverGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases - The provided databases IDs are not properly constructed database resource IDs. For the example of proper formatting see https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update failover group request body is empty or invalid. Please provide a valid value of this field. For examples of properly formatted requests see \r\nhttps://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the failover group. Please make sure the primary server and all of the given partner servers are unique.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer - One or more of the provided databases do not exist on the primary server of the failover group. Please make sure that all the databases exist on the primary server.\n\n * 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner server for Failover Group is supported. Please modify your request accordingly. For examples of valid requests see https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalid - The create or update failover group request body is empty or invalid.\n\n * 400 FailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the failover group are not allowed on a secondary server. Execute the request on the primary server.\n\n * 400 FailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.\n\n * 400 FailoverGroupCreateOrUpdateRequestLessThanMinimumGracePeriodValues - Grace period value for the failover group must be greater than or equal to the '{0}' minutes minimum grace period\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint. Please remove it from request.\n\n * 400 FailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update failover group request body should not modify the read-only property '{0}'.\n\n * 400 FailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of failover group.\n\n * 400 FailoverGroupPartnerServerFromDifferentSubscription - Primary server and the partner servers of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 ResourcePoolNotFound - Specified elastic pool does not exist in the specified logical server.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.\n\n * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidFailoverGroupRegion - Servers specified in a Failover Group need to reside in different regions to provide isolation.\n\n * 400 FailoverGroupDoesNotExist - Failover group does not exist on a server.\n\n * 400 FailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a Failover Group.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 DatabaseInFailoverGroupNotPrimary - GeoDR link for the database already exists, but its role is not 'Primary' or it is not continuous copy link.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 UnableToCreateFailoverGroupDueToTableAuditing - Failover Group cannot be created for server that has table auditing turned on.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 UnableToAddDbWithTableAuditingToFailoverGroup - Database with Table Auditing enabled will not be accessible through Failover Group endpoint.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 LimitOfFailoverGroupsPerServerExceeded - Creating new Failover Group will exceed the allowed number of Failover Groups per server.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 FailoverGroupWithVirtualNetworkRulesNotSupported - Failover Groups configured with an automatic failover policy are currently not supported on servers configured with virtual network firewall rules. Please configure the failover group with manual failover policy.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 FailoverGroupCreateOrUpdatePartiallySucceeded - Some databases could not be added or removed.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\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 * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 FailoverGroupAlreadyExists - Failover group already exists on a given server. Please use different Failover Group name.\n\n * 409 FailoverGroupBusy - Failover Group is busy with another operation.\n\n * 409 DatabaseBelongsToOtherFailoverGroup - Database belongs to other Failover Group and cannot be consider a part of this one.\n\n * 409 DatabaseBeingAddedToFailoverGroup - The database is currently being added to Failover Group, customer needs to wait for this operation to finish to issue remove.\n\n * 409 DatabaseBeingRemovedFromFailoverGroup - The database is currently being removed from failover group, customer needs to wait for this operation to finish to issue add.\n\n * 409 FailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.\n\n * 409 InvalidFailoverGroupName - Invalid Failover Group name was supplied.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 FailoverGroupUnableToPerformGroupOperationOnDatabases - The list of databases to add/remove to/from Failover Group contains errors that are preventing operation to complete.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update failover group": { + "$ref": "./examples/FailoverGroupUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups": { + "get": { + "tags": [ + "FailoverGroups" + ], + "description": "Lists the failover groups in a server.", + "operationId": "FailoverGroups_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server containing the failover group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the failover groups.", + "schema": { + "$ref": "#/definitions/FailoverGroupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases - The provided databases IDs are not properly constructed database resource IDs. For the example of proper formatting see https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update failover group request body is empty or invalid. Please provide a valid value of this field. For examples of properly formatted requests see \r\nhttps://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the failover group. Please make sure the primary server and all of the given partner servers are unique.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer - One or more of the provided databases do not exist on the primary server of the failover group. Please make sure that all the databases exist on the primary server.\n\n * 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner server for Failover Group is supported. Please modify your request accordingly. For examples of valid requests see https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalid - The create or update failover group request body is empty or invalid.\n\n * 400 FailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the failover group are not allowed on a secondary server. Execute the request on the primary server.\n\n * 400 FailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.\n\n * 400 FailoverGroupCreateOrUpdateRequestLessThanMinimumGracePeriodValues - Grace period value for the failover group must be greater than or equal to the '{0}' minutes minimum grace period\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint. Please remove it from request.\n\n * 400 FailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update failover group request body should not modify the read-only property '{0}'.\n\n * 400 FailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of failover group.\n\n * 400 FailoverGroupPartnerServerFromDifferentSubscription - Primary server and the partner servers of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 ResourcePoolNotFound - Specified elastic pool does not exist in the specified logical server.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.\n\n * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidFailoverGroupRegion - Servers specified in a Failover Group need to reside in different regions to provide isolation.\n\n * 400 FailoverGroupDoesNotExist - Failover group does not exist on a server.\n\n * 400 FailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a Failover Group.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 DatabaseInFailoverGroupNotPrimary - GeoDR link for the database already exists, but its role is not 'Primary' or it is not continuous copy link.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 UnableToCreateFailoverGroupDueToTableAuditing - Failover Group cannot be created for server that has table auditing turned on.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 UnableToAddDbWithTableAuditingToFailoverGroup - Database with Table Auditing enabled will not be accessible through Failover Group endpoint.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 LimitOfFailoverGroupsPerServerExceeded - Creating new Failover Group will exceed the allowed number of Failover Groups per server.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 FailoverGroupWithVirtualNetworkRulesNotSupported - Failover Groups configured with an automatic failover policy are currently not supported on servers configured with virtual network firewall rules. Please configure the failover group with manual failover policy.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 FailoverGroupAlreadyExists - Failover group already exists on a given server. Please use different Failover Group name.\n\n * 409 FailoverGroupBusy - Failover Group is busy with another operation.\n\n * 409 DatabaseBelongsToOtherFailoverGroup - Database belongs to other Failover Group and cannot be consider a part of this one.\n\n * 409 DatabaseBeingAddedToFailoverGroup - The database is currently being added to Failover Group, customer needs to wait for this operation to finish to issue remove.\n\n * 409 DatabaseBeingRemovedFromFailoverGroup - The database is currently being removed from failover group, customer needs to wait for this operation to finish to issue add.\n\n * 409 FailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.\n\n * 409 InvalidFailoverGroupName - Invalid Failover Group name was supplied.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List failover group": { + "$ref": "./examples/FailoverGroupList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/failover": { + "post": { + "tags": [ + "FailoverGroups" + ], + "description": "Fails over from the current primary server to this server.", + "operationId": "FailoverGroups_Failover", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server containing the failover group.", + "required": true, + "type": "string" + }, + { + "name": "failoverGroupName", + "in": "path", + "description": "The name of the failover group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully failed over.", + "schema": { + "$ref": "#/definitions/FailoverGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases - The provided databases IDs are not properly constructed database resource IDs. For the example of proper formatting see https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update failover group request body is empty or invalid. Please provide a valid value of this field. For examples of properly formatted requests see \r\nhttps://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the failover group. Please make sure the primary server and all of the given partner servers are unique.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer - One or more of the provided databases do not exist on the primary server of the failover group. Please make sure that all the databases exist on the primary server.\n\n * 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner server for Failover Group is supported. Please modify your request accordingly. For examples of valid requests see https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalid - The create or update failover group request body is empty or invalid.\n\n * 400 FailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the failover group are not allowed on a secondary server. Execute the request on the primary server.\n\n * 400 FailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.\n\n * 400 FailoverGroupCreateOrUpdateRequestLessThanMinimumGracePeriodValues - Grace period value for the failover group must be greater than or equal to the '{0}' minutes minimum grace period\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint. Please remove it from request.\n\n * 400 FailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update failover group request body should not modify the read-only property '{0}'.\n\n * 400 FailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of failover group.\n\n * 400 FailoverGroupPartnerServerFromDifferentSubscription - Primary server and the partner servers of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 ResourcePoolNotFound - Specified elastic pool does not exist in the specified logical server.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.\n\n * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidFailoverGroupRegion - Servers specified in a Failover Group need to reside in different regions to provide isolation.\n\n * 400 FailoverGroupDoesNotExist - Failover group does not exist on a server.\n\n * 400 FailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a Failover Group.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 DatabaseInFailoverGroupNotPrimary - GeoDR link for the database already exists, but its role is not 'Primary' or it is not continuous copy link.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 UnableToCreateFailoverGroupDueToTableAuditing - Failover Group cannot be created for server that has table auditing turned on.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 UnableToAddDbWithTableAuditingToFailoverGroup - Database with Table Auditing enabled will not be accessible through Failover Group endpoint.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 LimitOfFailoverGroupsPerServerExceeded - Creating new Failover Group will exceed the allowed number of Failover Groups per server.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 FailoverGroupWithVirtualNetworkRulesNotSupported - Failover Groups configured with an automatic failover policy are currently not supported on servers configured with virtual network firewall rules. Please configure the failover group with manual failover policy.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\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 * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 FailoverGroupAlreadyExists - Failover group already exists on a given server. Please use different Failover Group name.\n\n * 409 FailoverGroupBusy - Failover Group is busy with another operation.\n\n * 409 DatabaseBelongsToOtherFailoverGroup - Database belongs to other Failover Group and cannot be consider a part of this one.\n\n * 409 DatabaseBeingAddedToFailoverGroup - The database is currently being added to Failover Group, customer needs to wait for this operation to finish to issue remove.\n\n * 409 DatabaseBeingRemovedFromFailoverGroup - The database is currently being removed from failover group, customer needs to wait for this operation to finish to issue add.\n\n * 409 FailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.\n\n * 409 InvalidFailoverGroupName - Invalid Failover Group name was supplied.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Planned failover of a failover group": { + "$ref": "./examples/FailoverGroupFailover.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss": { + "post": { + "tags": [ + "FailoverGroups" + ], + "description": "Fails over from the current primary server to this server. This operation might result in data loss.", + "operationId": "FailoverGroups_ForceFailoverAllowDataLoss", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server containing the failover group.", + "required": true, + "type": "string" + }, + { + "name": "failoverGroupName", + "in": "path", + "description": "The name of the failover group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully failed over.", + "schema": { + "$ref": "#/definitions/FailoverGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases - The provided databases IDs are not properly constructed database resource IDs. For the example of proper formatting see https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update failover group request body is empty or invalid. Please provide a valid value of this field. For examples of properly formatted requests see \r\nhttps://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the failover group. Please make sure the primary server and all of the given partner servers are unique.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer - One or more of the provided databases do not exist on the primary server of the failover group. Please make sure that all the databases exist on the primary server.\n\n * 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner server for Failover Group is supported. Please modify your request accordingly. For examples of valid requests see https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate \n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalid - The create or update failover group request body is empty or invalid.\n\n * 400 FailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the failover group are not allowed on a secondary server. Execute the request on the primary server.\n\n * 400 FailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.\n\n * 400 FailoverGroupCreateOrUpdateRequestLessThanMinimumGracePeriodValues - Grace period value for the failover group must be greater than or equal to the '{0}' minutes minimum grace period\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.\n\n * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint. Please remove it from request.\n\n * 400 FailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update failover group request body should not modify the read-only property '{0}'.\n\n * 400 FailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of failover group.\n\n * 400 FailoverGroupPartnerServerFromDifferentSubscription - Primary server and the partner servers of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 ResourcePoolNotFound - Specified elastic pool does not exist in the specified logical server.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.\n\n * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidFailoverGroupRegion - Servers specified in a Failover Group need to reside in different regions to provide isolation.\n\n * 400 FailoverGroupDoesNotExist - Failover group does not exist on a server.\n\n * 400 FailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a Failover Group.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 DatabaseInFailoverGroupNotPrimary - GeoDR link for the database already exists, but its role is not 'Primary' or it is not continuous copy link.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 UnableToCreateFailoverGroupDueToTableAuditing - Failover Group cannot be created for server that has table auditing turned on.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 UnableToAddDbWithTableAuditingToFailoverGroup - Database with Table Auditing enabled will not be accessible through Failover Group endpoint.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 LimitOfFailoverGroupsPerServerExceeded - Creating new Failover Group will exceed the allowed number of Failover Groups per server.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 FailoverGroupWithVirtualNetworkRulesNotSupported - Failover Groups configured with an automatic failover policy are currently not supported on servers configured with virtual network firewall rules. Please configure the failover group with manual failover policy.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\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 * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 FailoverGroupAlreadyExists - Failover group already exists on a given server. Please use different Failover Group name.\n\n * 409 FailoverGroupBusy - Failover Group is busy with another operation.\n\n * 409 DatabaseBelongsToOtherFailoverGroup - Database belongs to other Failover Group and cannot be consider a part of this one.\n\n * 409 DatabaseBeingAddedToFailoverGroup - The database is currently being added to Failover Group, customer needs to wait for this operation to finish to issue remove.\n\n * 409 DatabaseBeingRemovedFromFailoverGroup - The database is currently being removed from failover group, customer needs to wait for this operation to finish to issue add.\n\n * 409 FailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.\n\n * 409 InvalidFailoverGroupName - Invalid Failover Group name was supplied.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Forced failover of a failover group allowing data loss": { + "$ref": "./examples/FailoverGroupForceFailoverAllowDataLoss.json" + } + } + } + } + }, + "definitions": { + "FailoverGroupProperties": { + "description": "Properties of a failover group.", + "required": [ + "readWriteEndpoint", + "partnerServers" + ], + "type": "object", + "properties": { + "readWriteEndpoint": { + "$ref": "#/definitions/FailoverGroupReadWriteEndpoint", + "description": "Read-write endpoint of the failover group instance." + }, + "readOnlyEndpoint": { + "$ref": "#/definitions/FailoverGroupReadOnlyEndpoint", + "description": "Read-only endpoint of the failover group instance." + }, + "replicationRole": { + "description": "Local replication role of the failover group instance.", + "enum": [ + "Primary", + "Secondary" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "FailoverGroupReplicationRole", + "modelAsString": true + } + }, + "replicationState": { + "description": "Replication state of the failover group instance.", + "type": "string", + "readOnly": true + }, + "partnerServers": { + "description": "List of partner server information for the failover group.", + "type": "array", + "items": { + "$ref": "#/definitions/PartnerInfo" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "databases": { + "description": "List of databases in the failover group.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "FailoverGroupReadWriteEndpoint": { + "description": "Read-write endpoint of the failover group instance.", + "required": [ + "failoverPolicy" + ], + "type": "object", + "properties": { + "failoverPolicy": { + "description": "Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required.", + "enum": [ + "Manual", + "Automatic" + ], + "type": "string", + "x-ms-enum": { + "name": "ReadWriteEndpointFailoverPolicy", + "modelAsString": true + } + }, + "failoverWithDataLossGracePeriodMinutes": { + "format": "int32", + "description": "Grace period before failover with data loss is attempted for the read-write endpoint. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required.", + "type": "integer" + } + } + }, + "FailoverGroupReadOnlyEndpoint": { + "description": "Read-only endpoint of the failover group instance.", + "type": "object", + "properties": { + "failoverPolicy": { + "description": "Failover policy of the read-only endpoint for the failover group.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ReadOnlyEndpointFailoverPolicy", + "modelAsString": true + } + } + } + }, + "PartnerInfo": { + "description": "Partner server information for the failover group.", + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "description": "Resource identifier of the partner server.", + "type": "string" + }, + "location": { + "description": "Geo location of the partner server.", + "type": "string", + "readOnly": true + }, + "replicationRole": { + "description": "Replication role of the partner server.", + "enum": [ + "Primary", + "Secondary" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "FailoverGroupReplicationRole", + "modelAsString": true + } + } + } + }, + "FailoverGroup": { + "description": "A failover group.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "location": { + "description": "Resource location.", + "type": "string", + "readOnly": true + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/FailoverGroupProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "FailoverGroupUpdate": { + "description": "A failover group update request.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/FailoverGroupUpdateProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "FailoverGroupUpdateProperties": { + "description": "Properties of a failover group update.", + "type": "object", + "properties": { + "readWriteEndpoint": { + "$ref": "#/definitions/FailoverGroupReadWriteEndpoint", + "description": "Read-write endpoint of the failover group instance." + }, + "readOnlyEndpoint": { + "$ref": "#/definitions/FailoverGroupReadOnlyEndpoint", + "description": "Read-only endpoint of the failover group instance." + }, + "databases": { + "description": "List of databases in the failover group.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "FailoverGroupListResult": { + "description": "A list of failover groups.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/FailoverGroup" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/FirewallRules.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/FirewallRules.json new file mode 100644 index 000000000000..5d77b2bfb83e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/FirewallRules.json @@ -0,0 +1,377 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName}": { + "get": { + "tags": [ + "FirewallRules" + ], + "description": "Gets a firewall rule.", + "operationId": "FirewallRules_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "firewallRuleName", + "in": "path", + "description": "The name of the firewall rule.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified firewall rule.", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get Firewall Rule": { + "$ref": "./examples/FirewallRuleGet.json" + } + } + }, + "put": { + "tags": [ + "FirewallRules" + ], + "description": "Creates or updates a firewall rule.", + "operationId": "FirewallRules_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "firewallRuleName", + "in": "path", + "description": "The name of the firewall rule.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The required parameters for creating or updating a firewall rule.", + "required": true, + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the firewall rule.", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "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 InvalidServerFirewallRuleResourceRequest - The server firewall rule resource request is invalid.\n\n * 400 InvalidServerFirewallRuleResourceParameters - The server firewall rule resource parameter is invalid.\n\n * 400 TooManyFirewallRules - The provided firewall rules are over the limit.\n\n * 400 DenyPublicEndpointEnabled - Unable to create or modify firewall rules when public network interface for the server is disabled. To manage server or database level firewall rules, please enable the public network interface.\n\n * 400 FirewallRuleInvalidRange - The specified firewall rule range is invalid.\n\n * 400 FirewallRuleNameTooLong - The provided firewall rule name is too long\n\n * 400 FirewallRuleNameEmpty - The provided firewall rule name is empty\n\n * 400 FirewallRuleNotIPv4Address - The provided firewall rule address is not IPv4\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + }, + "201": { + "description": "Successfully created the firewall rule.", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + } + }, + "x-ms-examples": { + "Create a firewall rule max/min": { + "$ref": "./examples/FirewallRuleCreate.json" + }, + "Update a firewall rule max/min": { + "$ref": "./examples/FirewallRuleUpdate.json" + } + } + }, + "delete": { + "tags": [ + "FirewallRules" + ], + "description": "Deletes a firewall rule.", + "operationId": "FirewallRules_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "firewallRuleName", + "in": "path", + "description": "The name of the firewall rule.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the firewall 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 InvalidServerFirewallRuleResourceRequest - The server firewall rule resource request is invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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." + }, + "204": { + "description": "The specified firewall rule does not exist." + } + }, + "x-ms-examples": { + "Delete a firewall rule": { + "$ref": "./examples/FirewallRuleDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules": { + "get": { + "tags": [ + "FirewallRules" + ], + "description": "Gets a list of firewall rules.", + "operationId": "FirewallRules_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of firewall rules.", + "schema": { + "$ref": "#/definitions/FirewallRuleListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Firewall Rules": { + "$ref": "./examples/FirewallRuleList.json" + } + } + }, + "put": { + "tags": [ + "FirewallRules" + ], + "description": "Replaces all firewall rules on the server.", + "operationId": "FirewallRules_Replace", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FirewallRuleList" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the firewall rules.", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "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 InvalidServerFirewallRuleResourceRequest - The server firewall rule resource request is invalid.\n\n * 400 InvalidServerFirewallRuleResourceParameters - The server firewall rule resource parameter is invalid.\n\n * 400 TooManyFirewallRules - The provided firewall rules are over the limit.\n\n * 400 DenyPublicEndpointEnabled - Unable to create or modify firewall rules when public network interface for the server is disabled. To manage server or database level firewall rules, please enable the public network interface.\n\n * 400 FirewallRuleInvalidRange - The specified firewall rule range is invalid.\n\n * 400 FirewallRuleNameTooLong - The provided firewall rule name is too long\n\n * 400 FirewallRuleNameEmpty - The provided firewall rule name is empty\n\n * 400 FirewallRuleNotIPv4Address - The provided firewall rule address is not IPv4\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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": "Creating or updating the Server Firewall Rules is in progress." + } + }, + "x-ms-examples": { + "Replace firewall rules": { + "$ref": "./examples/FirewallRuleReplace.json" + } + } + } + } + }, + "definitions": { + "ServerFirewallRuleProperties": { + "description": "The properties of a server firewall rule.", + "type": "object", + "properties": { + "startIpAddress": { + "description": "The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' for all Azure-internal IP addresses.", + "type": "string" + }, + "endIpAddress": { + "description": "The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to startIpAddress. Use value '0.0.0.0' for all Azure-internal IP addresses.", + "type": "string" + } + } + }, + "ResourceWithWritableName": { + "description": "ARM resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource name.", + "type": "string" + }, + "type": { + "description": "Resource type.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "ProxyResourceWithWritableName": { + "description": "ARM proxy resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceWithWritableName" + } + ], + "properties": {} + }, + "FirewallRule": { + "description": "A server firewall rule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResourceWithWritableName" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServerFirewallRuleProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "FirewallRuleListResult": { + "description": "The response to a list firewall rules request", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/FirewallRule" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "FirewallRuleList": { + "description": "A list of server firewall rules.", + "type": "object", + "properties": { + "values": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallRule" + } + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/InstanceFailoverGroups.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/InstanceFailoverGroups.json new file mode 100644 index 000000000000..24fb51b90cb5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/InstanceFailoverGroups.json @@ -0,0 +1,528 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}": { + "get": { + "tags": [ + "InstanceFailoverGroups" + ], + "description": "Gets a failover group.", + "operationId": "InstanceFailoverGroups_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "name": "failoverGroupName", + "in": "path", + "description": "The name of the failover group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified failover group.", + "schema": { + "$ref": "#/definitions/InstanceFailoverGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update instance failover group request body is empty or invalid.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the instance failover group. Please make sure the primary server and all of the given partner servers are unique.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidManagedInstanceRegion - The provided partner managed instance region in the instance failover group request body is empty or invalid.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner region is supported.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestUnsupportedPairCount - Only one managed instance pair is supported.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalid - The create or update instance failover group request body is empty or invalid.\n\n * 400 InstanceFailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the instance failover group are not allowed on a secondary server. Execute the request on the primary server.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestLessThanMinimumGracePeriodValues - Grace period value for the instance failover group must be greater than or equal to the '{0}' minutes minimum grace period\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update instance failover group request body should not modify the read-only property '{0}'.\n\n * 400 InstanceFailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of instance failover group.\n\n * 400 InstanceFailoverGroupPartnerManagedInstanceFromDifferentSubscription - Primary server and the partner server of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 GeoDrInstanceSizeMismatch - Primary managed instance and partner managed instance do not have the same storage size.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 GeoDrSecondaryInstanceNotEmpty - Secondary managed instance has user databases. To create an instance failover group the secondary managed instance needs to be empty.\n\n * 400 InstanceFailoverGroupIncorrectNetworkingConfiguration - Networking configuration is incorrect. Primary server's replication traffic cannot reach secondary server.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidFailoverGroupRegion - Servers specified in an Instance Failover Group need to reside in different regions to provide isolation.\n\n * 400 InstanceFailoverGroupDoesNotExist - Failover group does not exist on a server.\n\n * 400 InstanceFailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a instance failover group.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.\n\n * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 ManagedInstanceHasHybridLink - User tried to initiate operation that is not supported when managed instance has a hybrid link configured.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 InstanceFailoverGroupAlreadyExists - Failover group already exists on a given server.\n\n * 409 InstanceFailoverGroupBusy - Instance failover group is busy with another operation.\n\n * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.\n\n * 409 InstanceFailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 InvalidFailoverGroupName - Invalid Instance Failover Group name was supplied.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-examples": { + "Get failover group": { + "$ref": "./examples/InstanceFailoverGroupGet.json" + } + } + }, + "put": { + "tags": [ + "InstanceFailoverGroups" + ], + "description": "Creates or updates a failover group.", + "operationId": "InstanceFailoverGroups_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "name": "failoverGroupName", + "in": "path", + "description": "The name of the failover group.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The failover group parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/InstanceFailoverGroup" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the failover group.", + "schema": { + "$ref": "#/definitions/InstanceFailoverGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update instance failover group request body is empty or invalid.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the instance failover group. Please make sure the primary server and all of the given partner servers are unique.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidManagedInstanceRegion - The provided partner managed instance region in the instance failover group request body is empty or invalid.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner region is supported.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestUnsupportedPairCount - Only one managed instance pair is supported.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalid - The create or update instance failover group request body is empty or invalid.\n\n * 400 InstanceFailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the instance failover group are not allowed on a secondary server. Execute the request on the primary server.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestLessThanMinimumGracePeriodValues - Grace period value for the instance failover group must be greater than or equal to the '{0}' minutes minimum grace period\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update instance failover group request body should not modify the read-only property '{0}'.\n\n * 400 InstanceFailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of instance failover group.\n\n * 400 InstanceFailoverGroupPartnerManagedInstanceFromDifferentSubscription - Primary server and the partner server of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 GeoDrInstanceSizeMismatch - Primary managed instance and partner managed instance do not have the same storage size.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 GeoDrSecondaryInstanceNotEmpty - Secondary managed instance has user databases. To create an instance failover group the secondary managed instance needs to be empty.\n\n * 400 InstanceFailoverGroupIncorrectNetworkingConfiguration - Networking configuration is incorrect. Primary server's replication traffic cannot reach secondary server.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidFailoverGroupRegion - Servers specified in an Instance Failover Group need to reside in different regions to provide isolation.\n\n * 400 InstanceFailoverGroupDoesNotExist - Failover group does not exist on a server.\n\n * 400 InstanceFailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a instance failover group.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.\n\n * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\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 * 409 ManagedInstanceHasHybridLink - User tried to initiate operation that is not supported when managed instance has a hybrid link configured.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 InstanceFailoverGroupAlreadyExists - Failover group already exists on a given server.\n\n * 409 InstanceFailoverGroupBusy - Instance failover group is busy with another operation.\n\n * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.\n\n * 409 InstanceFailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 InvalidFailoverGroupName - Invalid Instance Failover Group name was supplied.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully created the failover group.", + "schema": { + "$ref": "#/definitions/InstanceFailoverGroup" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create failover group": { + "$ref": "./examples/InstanceFailoverGroupCreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "InstanceFailoverGroups" + ], + "description": "Deletes a failover group.", + "operationId": "InstanceFailoverGroups_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "name": "failoverGroupName", + "in": "path", + "description": "The name of the failover group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the failover group." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update instance failover group request body is empty or invalid.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the instance failover group. Please make sure the primary server and all of the given partner servers are unique.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidManagedInstanceRegion - The provided partner managed instance region in the instance failover group request body is empty or invalid.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner region is supported.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestUnsupportedPairCount - Only one managed instance pair is supported.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalid - The create or update instance failover group request body is empty or invalid.\n\n * 400 InstanceFailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the instance failover group are not allowed on a secondary server. Execute the request on the primary server.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestLessThanMinimumGracePeriodValues - Grace period value for the instance failover group must be greater than or equal to the '{0}' minutes minimum grace period\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update instance failover group request body should not modify the read-only property '{0}'.\n\n * 400 InstanceFailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of instance failover group.\n\n * 400 InstanceFailoverGroupPartnerManagedInstanceFromDifferentSubscription - Primary server and the partner server of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 GeoDrInstanceSizeMismatch - Primary managed instance and partner managed instance do not have the same storage size.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 GeoDrSecondaryInstanceNotEmpty - Secondary managed instance has user databases. To create an instance failover group the secondary managed instance needs to be empty.\n\n * 400 InstanceFailoverGroupIncorrectNetworkingConfiguration - Networking configuration is incorrect. Primary server's replication traffic cannot reach secondary server.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidFailoverGroupRegion - Servers specified in an Instance Failover Group need to reside in different regions to provide isolation.\n\n * 400 InstanceFailoverGroupDoesNotExist - Failover group does not exist on a server.\n\n * 400 InstanceFailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a instance failover group.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.\n\n * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\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 * 409 ManagedInstanceHasHybridLink - User tried to initiate operation that is not supported when managed instance has a hybrid link configured.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 InstanceFailoverGroupAlreadyExists - Failover group already exists on a given server.\n\n * 409 InstanceFailoverGroupBusy - Instance failover group is busy with another operation.\n\n * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.\n\n * 409 InstanceFailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 InvalidFailoverGroupName - Invalid Instance Failover Group name was supplied.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "The specified failover group does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete failover group": { + "$ref": "./examples/InstanceFailoverGroupDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups": { + "get": { + "tags": [ + "InstanceFailoverGroups" + ], + "description": "Lists the failover groups in a location.", + "operationId": "InstanceFailoverGroups_ListByLocation", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the failover groups.", + "schema": { + "$ref": "#/definitions/InstanceFailoverGroupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update instance failover group request body is empty or invalid.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the instance failover group. Please make sure the primary server and all of the given partner servers are unique.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidManagedInstanceRegion - The provided partner managed instance region in the instance failover group request body is empty or invalid.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner region is supported.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestUnsupportedPairCount - Only one managed instance pair is supported.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalid - The create or update instance failover group request body is empty or invalid.\n\n * 400 InstanceFailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the instance failover group are not allowed on a secondary server. Execute the request on the primary server.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestLessThanMinimumGracePeriodValues - Grace period value for the instance failover group must be greater than or equal to the '{0}' minutes minimum grace period\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update instance failover group request body should not modify the read-only property '{0}'.\n\n * 400 InstanceFailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of instance failover group.\n\n * 400 InstanceFailoverGroupPartnerManagedInstanceFromDifferentSubscription - Primary server and the partner server of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 GeoDrInstanceSizeMismatch - Primary managed instance and partner managed instance do not have the same storage size.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 GeoDrSecondaryInstanceNotEmpty - Secondary managed instance has user databases. To create an instance failover group the secondary managed instance needs to be empty.\n\n * 400 InstanceFailoverGroupIncorrectNetworkingConfiguration - Networking configuration is incorrect. Primary server's replication traffic cannot reach secondary server.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidFailoverGroupRegion - Servers specified in an Instance Failover Group need to reside in different regions to provide isolation.\n\n * 400 InstanceFailoverGroupDoesNotExist - Failover group does not exist on a server.\n\n * 400 InstanceFailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a instance failover group.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.\n\n * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 ManagedInstanceHasHybridLink - User tried to initiate operation that is not supported when managed instance has a hybrid link configured.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 InstanceFailoverGroupAlreadyExists - Failover group already exists on a given server.\n\n * 409 InstanceFailoverGroupBusy - Instance failover group is busy with another operation.\n\n * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.\n\n * 409 InstanceFailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 InvalidFailoverGroupName - Invalid Instance Failover Group name was supplied.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List failover group": { + "$ref": "./examples/InstanceFailoverGroupList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/failover": { + "post": { + "tags": [ + "InstanceFailoverGroups" + ], + "description": "Fails over from the current primary managed instance to this managed instance.", + "operationId": "InstanceFailoverGroups_Failover", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "name": "failoverGroupName", + "in": "path", + "description": "The name of the failover group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully failed over.", + "schema": { + "$ref": "#/definitions/InstanceFailoverGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update instance failover group request body is empty or invalid.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the instance failover group. Please make sure the primary server and all of the given partner servers are unique.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidManagedInstanceRegion - The provided partner managed instance region in the instance failover group request body is empty or invalid.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner region is supported.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestUnsupportedPairCount - Only one managed instance pair is supported.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalid - The create or update instance failover group request body is empty or invalid.\n\n * 400 InstanceFailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the instance failover group are not allowed on a secondary server. Execute the request on the primary server.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestLessThanMinimumGracePeriodValues - Grace period value for the instance failover group must be greater than or equal to the '{0}' minutes minimum grace period\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update instance failover group request body should not modify the read-only property '{0}'.\n\n * 400 InstanceFailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of instance failover group.\n\n * 400 InstanceFailoverGroupPartnerManagedInstanceFromDifferentSubscription - Primary server and the partner server of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 GeoDrInstanceSizeMismatch - Primary managed instance and partner managed instance do not have the same storage size.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 GeoDrSecondaryInstanceNotEmpty - Secondary managed instance has user databases. To create an instance failover group the secondary managed instance needs to be empty.\n\n * 400 InstanceFailoverGroupIncorrectNetworkingConfiguration - Networking configuration is incorrect. Primary server's replication traffic cannot reach secondary server.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidFailoverGroupRegion - Servers specified in an Instance Failover Group need to reside in different regions to provide isolation.\n\n * 400 InstanceFailoverGroupDoesNotExist - Failover group does not exist on a server.\n\n * 400 InstanceFailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a instance failover group.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.\n\n * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\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 * 409 ManagedInstanceHasHybridLink - User tried to initiate operation that is not supported when managed instance has a hybrid link configured.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 InstanceFailoverGroupAlreadyExists - Failover group already exists on a given server.\n\n * 409 InstanceFailoverGroupBusy - Instance failover group is busy with another operation.\n\n * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.\n\n * 409 InstanceFailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 InvalidFailoverGroupName - Invalid Instance Failover Group name was supplied.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Planned failover of a failover group": { + "$ref": "./examples/InstanceFailoverGroupFailover.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss": { + "post": { + "tags": [ + "InstanceFailoverGroups" + ], + "description": "Fails over from the current primary managed instance to this managed instance. This operation might result in data loss.", + "operationId": "InstanceFailoverGroups_ForceFailoverAllowDataLoss", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "name": "failoverGroupName", + "in": "path", + "description": "The name of the failover group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully failed over.", + "schema": { + "$ref": "#/definitions/InstanceFailoverGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update instance failover group request body is empty or invalid.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the instance failover group. Please make sure the primary server and all of the given partner servers are unique.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidManagedInstanceRegion - The provided partner managed instance region in the instance failover group request body is empty or invalid.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner region is supported.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestUnsupportedPairCount - Only one managed instance pair is supported.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalid - The create or update instance failover group request body is empty or invalid.\n\n * 400 InstanceFailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the instance failover group are not allowed on a secondary server. Execute the request on the primary server.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestLessThanMinimumGracePeriodValues - Grace period value for the instance failover group must be greater than or equal to the '{0}' minutes minimum grace period\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint.\n\n * 400 InstanceFailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update instance failover group request body should not modify the read-only property '{0}'.\n\n * 400 InstanceFailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of instance failover group.\n\n * 400 InstanceFailoverGroupPartnerManagedInstanceFromDifferentSubscription - Primary server and the partner server of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 GeoDrInstanceSizeMismatch - Primary managed instance and partner managed instance do not have the same storage size.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 GeoDrSecondaryInstanceNotEmpty - Secondary managed instance has user databases. To create an instance failover group the secondary managed instance needs to be empty.\n\n * 400 InstanceFailoverGroupIncorrectNetworkingConfiguration - Networking configuration is incorrect. Primary server's replication traffic cannot reach secondary server.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidFailoverGroupRegion - Servers specified in an Instance Failover Group need to reside in different regions to provide isolation.\n\n * 400 InstanceFailoverGroupDoesNotExist - Failover group does not exist on a server.\n\n * 400 InstanceFailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a instance failover group.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.\n\n * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\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 * 409 ManagedInstanceHasHybridLink - User tried to initiate operation that is not supported when managed instance has a hybrid link configured.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 InstanceFailoverGroupAlreadyExists - Failover group already exists on a given server.\n\n * 409 InstanceFailoverGroupBusy - Instance failover group is busy with another operation.\n\n * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.\n\n * 409 InstanceFailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 InvalidFailoverGroupName - Invalid Instance Failover Group name was supplied.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Forced failover of a failover group allowing data loss": { + "$ref": "./examples/InstanceFailoverGroupForceFailoverAllowDataLoss.json" + } + } + } + } + }, + "definitions": { + "InstanceFailoverGroupProperties": { + "description": "Properties of a instance failover group.", + "required": [ + "readWriteEndpoint", + "partnerRegions", + "managedInstancePairs" + ], + "type": "object", + "properties": { + "readWriteEndpoint": { + "$ref": "#/definitions/InstanceFailoverGroupReadWriteEndpoint", + "description": "Read-write endpoint of the failover group instance." + }, + "readOnlyEndpoint": { + "$ref": "#/definitions/InstanceFailoverGroupReadOnlyEndpoint", + "description": "Read-only endpoint of the failover group instance." + }, + "replicationRole": { + "description": "Local replication role of the failover group instance.", + "enum": [ + "Primary", + "Secondary" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "InstanceFailoverGroupReplicationRole", + "modelAsString": true + } + }, + "replicationState": { + "description": "Replication state of the failover group instance.", + "type": "string", + "readOnly": true + }, + "partnerRegions": { + "description": "Partner region information for the failover group.", + "type": "array", + "items": { + "$ref": "#/definitions/PartnerRegionInfo" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "managedInstancePairs": { + "description": "List of managed instance pairs in the failover group.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstancePairInfo" + } + } + } + }, + "InstanceFailoverGroupReadWriteEndpoint": { + "description": "Read-write endpoint of the failover group instance.", + "required": [ + "failoverPolicy" + ], + "type": "object", + "properties": { + "failoverPolicy": { + "description": "Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required.", + "enum": [ + "Manual", + "Automatic" + ], + "type": "string", + "x-ms-enum": { + "name": "ReadWriteEndpointFailoverPolicy", + "modelAsString": true + } + }, + "failoverWithDataLossGracePeriodMinutes": { + "format": "int32", + "description": "Grace period before failover with data loss is attempted for the read-write endpoint. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required.", + "type": "integer" + } + } + }, + "InstanceFailoverGroupReadOnlyEndpoint": { + "description": "Read-only endpoint of the failover group instance.", + "type": "object", + "properties": { + "failoverPolicy": { + "description": "Failover policy of the read-only endpoint for the failover group.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ReadOnlyEndpointFailoverPolicy", + "modelAsString": true + } + } + } + }, + "PartnerRegionInfo": { + "description": "Partner region information for the failover group.", + "type": "object", + "properties": { + "location": { + "description": "Geo location of the partner managed instances.", + "type": "string" + }, + "replicationRole": { + "description": "Replication role of the partner managed instances.", + "enum": [ + "Primary", + "Secondary" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "InstanceFailoverGroupReplicationRole", + "modelAsString": true + } + } + } + }, + "ManagedInstancePairInfo": { + "description": "Pairs of Managed Instances in the failover group.", + "type": "object", + "properties": { + "primaryManagedInstanceId": { + "description": "Id of Primary Managed Instance in pair.", + "type": "string" + }, + "partnerManagedInstanceId": { + "description": "Id of Partner Managed Instance in pair.", + "type": "string" + } + } + }, + "InstanceFailoverGroup": { + "description": "An instance failover group.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/InstanceFailoverGroupProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "InstanceFailoverGroupListResult": { + "description": "A list of instance failover groups.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/InstanceFailoverGroup" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/InstancePools.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/InstancePools.json new file mode 100644 index 000000000000..886d074bf59c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/InstancePools.json @@ -0,0 +1,413 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}": { + "get": { + "tags": [ + "InstancePools" + ], + "description": "Gets an instance pool.", + "operationId": "InstancePools_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "instancePoolName", + "in": "path", + "description": "The name of the instance pool to be retrieved.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified instance pool.", + "schema": { + "$ref": "#/definitions/InstancePool" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 InstancePoolNotFound - An instance pool cannot be found" + } + }, + "x-ms-examples": { + "Get an instance pool": { + "$ref": "./examples/GetInstancePool.json" + } + } + }, + "put": { + "tags": [ + "InstancePools" + ], + "description": "Creates or updates an instance pool.", + "operationId": "InstancePools_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "instancePoolName", + "in": "path", + "description": "The name of the instance pool to be created or updated.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested instance pool resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/InstancePool" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the instance pool.", + "schema": { + "$ref": "#/definitions/InstancePool" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 400 MissingSkuName - Sku name is required.\n\n * 400 InstancePoolRequestedVcoreCountIsInvalid - Requested vcore count for instance pool is invalid\n\n * 400 InstancePoolRequestMissingSku - Instance pool request is missing sku\n\n * 400 InstancePoolRequestMissingSkuTier - Instance pool request is missing sku tier\n\n * 400 InstancePoolRequestMissingSkuFamily - Instance pool request is missing sku family\n\n * 400 InstancePoolRequestedSubnetResourceIdIsInvalid - Subnet id for instance pool is null or empty\n\n * 409 InstancePoolBusy - An instance pool is busy with another ongoing operation" + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully created the instance pool.", + "schema": { + "$ref": "#/definitions/InstancePool" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create an instance pool with all properties.": { + "$ref": "./examples/CreateOrUpdateInstancePoolMax.json" + }, + "Create an instance pool with min properties.": { + "$ref": "./examples/CreateOrUpdateInstancePoolMin.json" + } + } + }, + "delete": { + "tags": [ + "InstancePools" + ], + "description": "Deletes an instance pool", + "operationId": "InstancePools_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "instancePoolName", + "in": "path", + "description": "The name of the instance pool to be deleted", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the instance pool." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InstancePoolNotEmpty - An instance pool is not empty\n\n * 404 InstancePoolNotFound - An instance pool cannot be found\n\n * 404 InstancePoolNotFound - An instance pool cannot be found\n\n * 409 InstancePoolBusy - An instance pool is busy with another ongoing operation" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "The specified instance pool does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete an instance pool": { + "$ref": "./examples/DeleteInstancePool.json" + } + } + }, + "patch": { + "tags": [ + "InstancePools" + ], + "description": "Updates an instance pool.", + "operationId": "InstancePools_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "instancePoolName", + "in": "path", + "description": "The name of the instance pool to be updated.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested instance pool resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/InstancePoolUpdate" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the instance pool.", + "schema": { + "$ref": "#/definitions/InstancePool" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Patch an instance pool": { + "$ref": "./examples/PatchInstancePool.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools": { + "get": { + "tags": [ + "InstancePools" + ], + "description": "Gets a list of instance pools in the resource group", + "operationId": "InstancePools_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of instance pools.", + "schema": { + "$ref": "#/definitions/InstancePoolListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionNotFound - The requested subscription was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List instance pools by resource group": { + "$ref": "./examples/ListInstancePoolsByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/instancePools": { + "get": { + "tags": [ + "InstancePools" + ], + "description": "Gets a list of all instance pools in the subscription.", + "operationId": "InstancePools_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of instance pools in a subscription.", + "schema": { + "$ref": "#/definitions/InstancePoolListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionNotFound - The requested subscription was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List instance pools in the subscription": { + "$ref": "./examples/ListInstancePoolsBySubscriptionId.json" + } + } + } + } + }, + "definitions": { + "InstancePoolProperties": { + "description": "Properties of an instance pool.", + "required": [ + "subnetId", + "vCores", + "licenseType" + ], + "type": "object", + "properties": { + "subnetId": { + "description": "Resource ID of the subnet to place this instance pool in.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "vCores": { + "format": "int32", + "description": "Count of vCores belonging to this instance pool.", + "type": "integer", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "licenseType": { + "description": "The license type. Possible values are 'LicenseIncluded' (price for SQL license is included) and 'BasePrice' (without SQL license price).", + "enum": [ + "LicenseIncluded", + "BasePrice" + ], + "type": "string", + "x-ms-enum": { + "name": "InstancePoolLicenseType", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "InstancePool": { + "description": "An Azure SQL instance pool.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "The name and tier of the SKU." + }, + "properties": { + "$ref": "#/definitions/InstancePoolProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "InstancePoolUpdate": { + "description": "An update to an Instance pool.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "InstancePoolListResult": { + "description": "A list of Azure SQL instance pools.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/InstancePool" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobAgents.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobAgents.json new file mode 100644 index 000000000000..016cefbc2208 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobAgents.json @@ -0,0 +1,387 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents": { + "get": { + "tags": [ + "JobAgents" + ], + "description": "Gets a list of job agents in a server.", + "operationId": "JobAgents_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of job agents.", + "schema": { + "$ref": "#/definitions/JobAgentListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 ServerDisabled - Server is disabled." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List job agents in a server": { + "$ref": "./examples/ListJobAgentsByServer.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}": { + "get": { + "tags": [ + "JobAgents" + ], + "description": "Gets a job agent.", + "operationId": "JobAgents_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent to be retrieved.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified job agent.", + "schema": { + "$ref": "#/definitions/JobAgent" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 409 ServerDisabled - Server is disabled." + } + }, + "x-ms-examples": { + "Get a job agent": { + "$ref": "./examples/GetJobAgent.json" + } + } + }, + "put": { + "tags": [ + "JobAgents" + ], + "description": "Creates or updates a job agent.", + "operationId": "JobAgents_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent to be created or updated.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested job agent resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/JobAgent" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the job agent.", + "schema": { + "$ref": "#/definitions/JobAgent" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 400 MissingSkuName - Sku name is required.\n\n * 400 InvalidDatabaseResourceId - Invalid database 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 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 JobAgentDatabaseSecondary - A job agent cannot be linked to a geo-secondary database.\n\n * 400 JobAgentDatabaseAlreadyLinked - The specified database is already linked to another job agent.\n\n * 400 DatabaseDoesNotExist - The requested database was not found\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 JobAgentExceededQuota - Could not create job agent because it would exceed the quota.\n\n * 400 JobAgentAlreadyExists - The job agent already exists on the server.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 PropertyChangeUnsupported - Property cannot be modified.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 409 ServerDisabled - Server is disabled." + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully created the job agent.", + "schema": { + "$ref": "#/definitions/JobAgent" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update a job agent": { + "$ref": "./examples/CreateOrUpdateJobAgent.json" + } + } + }, + "delete": { + "tags": [ + "JobAgents" + ], + "description": "Deletes a job agent.", + "operationId": "JobAgents_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent to be deleted.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the job agent." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 409 ServerDisabled - Server is disabled." + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "The specified job agent does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a job agent": { + "$ref": "./examples/DeleteJobAgent.json" + } + } + }, + "patch": { + "tags": [ + "JobAgents" + ], + "description": "Updates a job agent.", + "operationId": "JobAgents_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent to be updated.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The update to the job agent.", + "required": true, + "schema": { + "$ref": "#/definitions/JobAgentUpdate" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the job agent.", + "schema": { + "$ref": "#/definitions/JobAgent" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 PropertyChangeUnsupported - Property cannot be modified.\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 409 ServerDisabled - Server is disabled." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a job agent's tags.": { + "$ref": "./examples/UpdateJobAgent.json" + } + } + } + } + }, + "definitions": { + "JobAgentListResult": { + "description": "A list of Azure SQL job agents.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/JobAgent" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "JobAgentProperties": { + "description": "Properties of a job agent.", + "required": [ + "databaseId" + ], + "type": "object", + "properties": { + "databaseId": { + "description": "Resource ID of the database to store job metadata in.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "state": { + "description": "The state of the job agent.", + "enum": [ + "Creating", + "Ready", + "Updating", + "Deleting", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobAgentState", + "modelAsString": true + } + } + } + }, + "JobAgent": { + "description": "An Azure SQL job agent.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "The name and tier of the SKU." + }, + "properties": { + "$ref": "#/definitions/JobAgentProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "JobAgentUpdate": { + "description": "An update to an Azure SQL job agent.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobCredentials.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobCredentials.json new file mode 100644 index 000000000000..c651bb3cfa91 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobCredentials.json @@ -0,0 +1,319 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials": { + "get": { + "tags": [ + "JobCredentials" + ], + "description": "Gets a list of jobs credentials.", + "operationId": "JobCredentials_ListByAgent", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of job credentials.", + "schema": { + "$ref": "#/definitions/JobCredentialListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List credentials in a job agent": { + "$ref": "./examples/ListJobCredentialsByAgent.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}": { + "get": { + "tags": [ + "JobCredentials" + ], + "description": "Gets a jobs credential.", + "operationId": "JobCredentials_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "credentialName", + "in": "path", + "description": "The name of the credential.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the job credential.", + "schema": { + "$ref": "#/definitions/JobCredential" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get a credential": { + "$ref": "./examples/GetJobCredential.json" + } + } + }, + "put": { + "tags": [ + "JobCredentials" + ], + "description": "Creates or updates a job credential.", + "operationId": "JobCredentials_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "credentialName", + "in": "path", + "description": "The name of the credential.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested job credential state.", + "required": true, + "schema": { + "$ref": "#/definitions/JobCredential" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the credential.", + "schema": { + "$ref": "#/definitions/JobCredential" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 400 InvalidJobCredentialUsername - Invalid credential username.\n\n * 403 JobCredentialPermissionError - Azure Resource Manager does not have permission to use or manage the credential.\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + }, + "201": { + "description": "Successfully created the credential.", + "schema": { + "$ref": "#/definitions/JobCredential" + } + } + }, + "x-ms-examples": { + "Create or update a credential": { + "$ref": "./examples/CreateOrUpdateJobCredential.json" + } + } + }, + "delete": { + "tags": [ + "JobCredentials" + ], + "description": "Deletes a job credential.", + "operationId": "JobCredentials_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "credentialName", + "in": "path", + "description": "The name of the credential.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the credential." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 403 JobCredentialPermissionError - Azure Resource Manager does not have permission to use or manage the credential.\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + }, + "204": { + "description": "A credential with the specified name does not exist." + } + }, + "x-ms-examples": { + "Delete a credential": { + "$ref": "./examples/DeleteJobCredential.json" + } + } + } + } + }, + "definitions": { + "JobCredentialListResult": { + "description": "A list of job credentials.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/JobCredential" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "JobCredentialProperties": { + "description": "Properties of a job credential.", + "required": [ + "username", + "password" + ], + "type": "object", + "properties": { + "username": { + "description": "The credential user name.", + "type": "string" + }, + "password": { + "description": "The credential password.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + } + } + }, + "JobCredential": { + "description": "A stored credential that can be used by a job to connect to target databases.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JobCredentialProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobExecutions.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobExecutions.json new file mode 100644 index 000000000000..1a23b47e1dd7 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobExecutions.json @@ -0,0 +1,678 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/executions": { + "get": { + "tags": [ + "JobExecutions" + ], + "description": "Lists all executions in a job agent.", + "operationId": "JobExecutions_ListByAgent", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "createTimeMin", + "in": "query", + "description": "If specified, only job executions created at or after the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "createTimeMax", + "in": "query", + "description": "If specified, only job executions created before the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "endTimeMin", + "in": "query", + "description": "If specified, only job executions completed at or after the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "endTimeMax", + "in": "query", + "description": "If specified, only job executions completed before the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "isActive", + "in": "query", + "description": "If specified, only active or only completed job executions are included.", + "required": false, + "type": "boolean" + }, + { + "name": "$skip", + "in": "query", + "description": "The number of elements in the collection to skip.", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "$top", + "in": "query", + "description": "The number of elements to return from the collection.", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved job executions.", + "schema": { + "$ref": "#/definitions/JobExecutionListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all job executions in a job agent.": { + "$ref": "./examples/ListJobExecutionsByAgent.json" + }, + "List all job executions in a job agent with filtering.": { + "$ref": "./examples/ListJobExecutionsByAgentWithFilter.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/cancel": { + "post": { + "tags": [ + "JobExecutions" + ], + "description": "Requests cancellation of a job execution.", + "operationId": "JobExecutions_Cancel", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job.", + "required": true, + "type": "string" + }, + { + "name": "jobExecutionId", + "in": "path", + "description": "The id of the job execution to cancel.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully requested cancellation of the job execution." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ElasticJobsOperationFailed - Elastic jobs management operation failed.\n\n * 400 ElasticJobsOperationFailed - Elastic jobs management operation failed.\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Cancel a job execution.": { + "$ref": "./examples/CancelJobExecution.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/start": { + "post": { + "tags": [ + "JobExecutions" + ], + "description": "Starts an elastic job execution.", + "operationId": "JobExecutions_Create", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job to get.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully started an execution for the job.", + "schema": { + "$ref": "#/definitions/JobExecution" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ElasticJobsOperationFailed - Elastic jobs management operation failed.\n\n * 400 ElasticJobsOperationFailed - Elastic jobs management operation failed.\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Start a job execution.": { + "$ref": "./examples/CreateJobExecution.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions": { + "get": { + "tags": [ + "JobExecutions" + ], + "description": "Lists a job's executions.", + "operationId": "JobExecutions_ListByJob", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job to get.", + "required": true, + "type": "string" + }, + { + "name": "createTimeMin", + "in": "query", + "description": "If specified, only job executions created at or after the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "createTimeMax", + "in": "query", + "description": "If specified, only job executions created before the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "endTimeMin", + "in": "query", + "description": "If specified, only job executions completed at or after the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "endTimeMax", + "in": "query", + "description": "If specified, only job executions completed before the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "isActive", + "in": "query", + "description": "If specified, only active or only completed job executions are included.", + "required": false, + "type": "boolean" + }, + { + "name": "$skip", + "in": "query", + "description": "The number of elements in the collection to skip.", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "$top", + "in": "query", + "description": "The number of elements to return from the collection.", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved job executions.", + "schema": { + "$ref": "#/definitions/JobExecutionListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List a job's executions.": { + "$ref": "./examples/ListJobExecutionsByJob.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}": { + "get": { + "tags": [ + "JobExecutions" + ], + "description": "Gets a job execution.", + "operationId": "JobExecutions_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job.", + "required": true, + "type": "string" + }, + { + "name": "jobExecutionId", + "in": "path", + "description": "The id of the job execution", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the job.", + "schema": { + "$ref": "#/definitions/JobExecution" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-examples": { + "Get a job execution.": { + "$ref": "./examples/GetJobExecution.json" + } + } + }, + "put": { + "tags": [ + "JobExecutions" + ], + "description": "Creates or updates a job execution.", + "operationId": "JobExecutions_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job to get.", + "required": true, + "type": "string" + }, + { + "name": "jobExecutionId", + "in": "path", + "description": "The job execution id to create the job execution under.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A job execution for the job with the given id already existed.", + "schema": { + "$ref": "#/definitions/JobExecution" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ElasticJobsOperationFailed - Elastic jobs management operation failed.\n\n * 400 ElasticJobsOperationFailed - Elastic jobs management operation failed.\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully started an execution for the job.", + "schema": { + "$ref": "#/definitions/JobExecution" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create job execution.": { + "$ref": "./examples/CreateOrUpdateJobExecution.json" + } + } + } + } + }, + "definitions": { + "JobExecutionListResult": { + "description": "A list of job executions.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/JobExecution" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "JobExecutionProperties": { + "description": "Properties for an Azure SQL Database Elastic job execution.", + "type": "object", + "properties": { + "jobVersion": { + "format": "int32", + "description": "The job version number.", + "type": "integer", + "readOnly": true + }, + "stepName": { + "description": "The job step name.", + "type": "string", + "readOnly": true + }, + "stepId": { + "format": "int32", + "description": "The job step id.", + "type": "integer", + "readOnly": true + }, + "jobExecutionId": { + "format": "uuid", + "description": "The unique identifier of the job execution.", + "type": "string", + "readOnly": true + }, + "lifecycle": { + "description": "The detailed state of the job execution.", + "enum": [ + "Created", + "InProgress", + "WaitingForChildJobExecutions", + "WaitingForRetry", + "Succeeded", + "SucceededWithSkipped", + "Failed", + "TimedOut", + "Canceled", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobExecutionLifecycle", + "modelAsString": true + } + }, + "provisioningState": { + "description": "The ARM provisioning state of the job execution.", + "enum": [ + "Created", + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "createTime": { + "format": "date-time", + "description": "The time that the job execution was created.", + "type": "string", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "The time that the job execution started.", + "type": "string", + "readOnly": true + }, + "endTime": { + "format": "date-time", + "description": "The time that the job execution completed.", + "type": "string", + "readOnly": true + }, + "currentAttempts": { + "format": "int32", + "description": "Number of times the job execution has been attempted.", + "type": "integer" + }, + "currentAttemptStartTime": { + "format": "date-time", + "description": "Start time of the current attempt.", + "type": "string", + "readOnly": true + }, + "lastMessage": { + "description": "The last status or error message.", + "type": "string", + "readOnly": true + }, + "target": { + "$ref": "#/definitions/JobExecutionTarget", + "description": "The target that this execution is executed on.", + "readOnly": true + } + } + }, + "JobExecutionTarget": { + "description": "The target that a job execution is executed on.", + "type": "object", + "properties": { + "type": { + "description": "The type of the target.", + "enum": [ + "TargetGroup", + "SqlDatabase", + "SqlElasticPool", + "SqlShardMap", + "SqlServer" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobTargetType", + "modelAsString": true + } + }, + "serverName": { + "description": "The server name.", + "type": "string", + "readOnly": true + }, + "databaseName": { + "description": "The database name.", + "type": "string", + "readOnly": true + } + } + }, + "JobExecution": { + "description": "An execution of a job", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JobExecutionProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobStepExecutions.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobStepExecutions.json new file mode 100644 index 000000000000..8e51bf3b8510 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobStepExecutions.json @@ -0,0 +1,402 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps": { + "get": { + "tags": [ + "JobStepExecutions" + ], + "description": "Lists the step executions of a job execution.", + "operationId": "JobStepExecutions_ListByJobExecution", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job to get.", + "required": true, + "type": "string" + }, + { + "name": "jobExecutionId", + "in": "path", + "description": "The id of the job execution", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "createTimeMin", + "in": "query", + "description": "If specified, only job executions created at or after the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "createTimeMax", + "in": "query", + "description": "If specified, only job executions created before the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "endTimeMin", + "in": "query", + "description": "If specified, only job executions completed at or after the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "endTimeMax", + "in": "query", + "description": "If specified, only job executions completed before the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "isActive", + "in": "query", + "description": "If specified, only active or only completed job executions are included.", + "required": false, + "type": "boolean" + }, + { + "name": "$skip", + "in": "query", + "description": "The number of elements in the collection to skip.", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "$top", + "in": "query", + "description": "The number of elements to return from the collection.", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the step executions.", + "schema": { + "$ref": "#/definitions/JobExecutionListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List job step executions": { + "$ref": "./examples/ListJobExecutionSteps.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}": { + "get": { + "tags": [ + "JobStepExecutions" + ], + "description": "Gets a step execution of a job execution.", + "operationId": "JobStepExecutions_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job to get.", + "required": true, + "type": "string" + }, + { + "name": "jobExecutionId", + "in": "path", + "description": "The unique id of the job execution", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "stepName", + "in": "path", + "description": "The name of the step.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the step execution.", + "schema": { + "$ref": "#/definitions/JobExecution" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get a job step execution": { + "$ref": "./examples/GetJobExecutionStep.json" + } + } + } + } + }, + "definitions": { + "JobExecutionListResult": { + "description": "A list of job executions.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/JobExecution" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "JobExecutionProperties": { + "description": "Properties for an Azure SQL Database Elastic job execution.", + "type": "object", + "properties": { + "jobVersion": { + "format": "int32", + "description": "The job version number.", + "type": "integer", + "readOnly": true + }, + "stepName": { + "description": "The job step name.", + "type": "string", + "readOnly": true + }, + "stepId": { + "format": "int32", + "description": "The job step id.", + "type": "integer", + "readOnly": true + }, + "jobExecutionId": { + "format": "uuid", + "description": "The unique identifier of the job execution.", + "type": "string", + "readOnly": true + }, + "lifecycle": { + "description": "The detailed state of the job execution.", + "enum": [ + "Created", + "InProgress", + "WaitingForChildJobExecutions", + "WaitingForRetry", + "Succeeded", + "SucceededWithSkipped", + "Failed", + "TimedOut", + "Canceled", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobExecutionLifecycle", + "modelAsString": true + } + }, + "provisioningState": { + "description": "The ARM provisioning state of the job execution.", + "enum": [ + "Created", + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "createTime": { + "format": "date-time", + "description": "The time that the job execution was created.", + "type": "string", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "The time that the job execution started.", + "type": "string", + "readOnly": true + }, + "endTime": { + "format": "date-time", + "description": "The time that the job execution completed.", + "type": "string", + "readOnly": true + }, + "currentAttempts": { + "format": "int32", + "description": "Number of times the job execution has been attempted.", + "type": "integer" + }, + "currentAttemptStartTime": { + "format": "date-time", + "description": "Start time of the current attempt.", + "type": "string", + "readOnly": true + }, + "lastMessage": { + "description": "The last status or error message.", + "type": "string", + "readOnly": true + }, + "target": { + "$ref": "#/definitions/JobExecutionTarget", + "description": "The target that this execution is executed on.", + "readOnly": true + } + } + }, + "JobExecutionTarget": { + "description": "The target that a job execution is executed on.", + "type": "object", + "properties": { + "type": { + "description": "The type of the target.", + "enum": [ + "TargetGroup", + "SqlDatabase", + "SqlElasticPool", + "SqlShardMap", + "SqlServer" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobTargetType", + "modelAsString": true + } + }, + "serverName": { + "description": "The server name.", + "type": "string", + "readOnly": true + }, + "databaseName": { + "description": "The database name.", + "type": "string", + "readOnly": true + } + } + }, + "JobExecution": { + "description": "An execution of a job", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JobExecutionProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobSteps.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobSteps.json new file mode 100644 index 000000000000..3dd8f935122e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobSteps.json @@ -0,0 +1,623 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps": { + "get": { + "tags": [ + "JobSteps" + ], + "description": "Gets all job steps in the specified job version.", + "operationId": "JobSteps_ListByVersion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job to get.", + "required": true, + "type": "string" + }, + { + "name": "jobVersion", + "in": "path", + "description": "The version of the job to get.", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of job steps.", + "schema": { + "$ref": "#/definitions/JobStepListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List job steps for the specified version of a job.": { + "$ref": "./examples/ListJobStepsByVersion.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps/{stepName}": { + "get": { + "tags": [ + "JobSteps" + ], + "description": "Gets the specified version of a job step.", + "operationId": "JobSteps_GetByVersion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job.", + "required": true, + "type": "string" + }, + { + "name": "jobVersion", + "in": "path", + "description": "The version of the job to get.", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "name": "stepName", + "in": "path", + "description": "The name of the job step.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the job step.", + "schema": { + "$ref": "#/definitions/JobStep" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-examples": { + "Get the specified version of a job step.": { + "$ref": "./examples/GetJobStepByVersion.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps": { + "get": { + "tags": [ + "JobSteps" + ], + "description": "Gets all job steps for a job's current version.", + "operationId": "JobSteps_ListByJob", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job to get.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of job steps.", + "schema": { + "$ref": "#/definitions/JobStepListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List job steps for the latest version of a job.": { + "$ref": "./examples/ListJobStepsByJob.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}": { + "get": { + "tags": [ + "JobSteps" + ], + "description": "Gets a job step in a job's current version.", + "operationId": "JobSteps_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job.", + "required": true, + "type": "string" + }, + { + "name": "stepName", + "in": "path", + "description": "The name of the job step.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the job step.", + "schema": { + "$ref": "#/definitions/JobStep" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-examples": { + "Get the latest version of a job step.": { + "$ref": "./examples/GetJobStepByJob.json" + } + } + }, + "put": { + "tags": [ + "JobSteps" + ], + "description": "Creates or updates a job step. This will implicitly create a new job version.", + "operationId": "JobSteps_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job.", + "required": true, + "type": "string" + }, + { + "name": "stepName", + "in": "path", + "description": "The name of the job step.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested state of the job step.", + "required": true, + "schema": { + "$ref": "#/definitions/JobStep" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the job step.", + "schema": { + "$ref": "#/definitions/JobStep" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 JobStepIdMismatch - Step Id in the specified Job Step URI does not match step id in provided Job Step Resource.\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\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 MismatchingJobAccountNameWithUrl - The provided job account name did not match the name in the Url.\n\n * 400 ElasticJobsOperationFailed - Elastic jobs management operation failed.\n\n * 400 ElasticJobsOperationFailed - Elastic jobs management operation failed.\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + }, + "201": { + "description": "Successfully added the job step.", + "schema": { + "$ref": "#/definitions/JobStep" + } + } + }, + "x-ms-examples": { + "Create or update a job step with minimal properties specified.": { + "$ref": "./examples/CreateOrUpdateJobStepMin.json" + }, + "Create or update a job step with all properties specified.": { + "$ref": "./examples/CreateOrUpdateJobStepMax.json" + } + } + }, + "delete": { + "tags": [ + "JobSteps" + ], + "description": "Deletes a job step. This will implicitly create a new job version.", + "operationId": "JobSteps_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job.", + "required": true, + "type": "string" + }, + { + "name": "stepName", + "in": "path", + "description": "The name of the job step to delete.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the job step." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ElasticJobsOperationFailed - Elastic jobs management operation failed.\n\n * 400 ElasticJobsOperationFailed - Elastic jobs management operation failed.\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + }, + "204": { + "description": "The specified job step does not exist." + } + }, + "x-ms-examples": { + "Delete a job step.": { + "$ref": "./examples/DeleteJobStep.json" + } + } + } + } + }, + "definitions": { + "JobStepListResult": { + "description": "A list of job steps.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/JobStep" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "JobStepProperties": { + "description": "Properties of a job step.", + "required": [ + "targetGroup", + "credential", + "action" + ], + "type": "object", + "properties": { + "stepId": { + "format": "int32", + "description": "The job step's index within the job. If not specified when creating the job step, it will be created as the last step. If not specified when updating the job step, the step id is not modified.", + "type": "integer" + }, + "targetGroup": { + "description": "The resource ID of the target group that the job step will be executed on.", + "type": "string" + }, + "credential": { + "description": "The resource ID of the job credential that will be used to connect to the targets.", + "type": "string" + }, + "action": { + "$ref": "#/definitions/JobStepAction", + "description": "The action payload of the job step." + }, + "output": { + "$ref": "#/definitions/JobStepOutput", + "description": "Output destination properties of the job step." + }, + "executionOptions": { + "$ref": "#/definitions/JobStepExecutionOptions", + "description": "Execution options for the job step." + } + } + }, + "JobStepAction": { + "description": "The action to be executed by a job step.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "type": { + "description": "Type of action being executed by the job step.", + "default": "TSql", + "enum": [ + "TSql" + ], + "type": "string", + "x-ms-enum": { + "name": "JobStepActionType", + "modelAsString": true + } + }, + "source": { + "description": "The source of the action to execute.", + "default": "Inline", + "enum": [ + "Inline" + ], + "type": "string", + "x-ms-enum": { + "name": "JobStepActionSource", + "modelAsString": true + } + }, + "value": { + "description": "The action value, for example the text of the T-SQL script to execute.", + "type": "string" + } + } + }, + "JobStepOutput": { + "description": "The output configuration of a job step.", + "required": [ + "serverName", + "databaseName", + "tableName", + "credential" + ], + "type": "object", + "properties": { + "type": { + "description": "The output destination type.", + "default": "SqlDatabase", + "enum": [ + "SqlDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "JobStepOutputType", + "modelAsString": true + } + }, + "subscriptionId": { + "format": "uuid", + "description": "The output destination subscription id.", + "type": "string" + }, + "resourceGroupName": { + "description": "The output destination resource group.", + "type": "string" + }, + "serverName": { + "description": "The output destination server name.", + "type": "string" + }, + "databaseName": { + "description": "The output destination database.", + "type": "string" + }, + "schemaName": { + "description": "The output destination schema.", + "default": "dbo", + "type": "string" + }, + "tableName": { + "description": "The output destination table.", + "type": "string" + }, + "credential": { + "description": "The resource ID of the credential to use to connect to the output destination.", + "type": "string" + } + } + }, + "JobStepExecutionOptions": { + "description": "The execution options of a job step.", + "type": "object", + "properties": { + "timeoutSeconds": { + "format": "int32", + "description": "Execution timeout for the job step.", + "default": 43200, + "type": "integer" + }, + "retryAttempts": { + "format": "int32", + "description": "Maximum number of times the job step will be reattempted if the first attempt fails.", + "default": 10, + "type": "integer" + }, + "initialRetryIntervalSeconds": { + "format": "int32", + "description": "Initial delay between retries for job step execution.", + "default": 1, + "type": "integer" + }, + "maximumRetryIntervalSeconds": { + "format": "int32", + "description": "The maximum amount of time to wait between retries for job step execution.", + "default": 120, + "type": "integer" + }, + "retryIntervalBackoffMultiplier": { + "format": "float", + "description": "The backoff multiplier for the time between retries.", + "default": 2.0, + "type": "number" + } + } + }, + "JobStep": { + "description": "A job step.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JobStepProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobTargetExecutions.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobTargetExecutions.json new file mode 100644 index 000000000000..93e5da466f07 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobTargetExecutions.json @@ -0,0 +1,536 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/targets": { + "get": { + "tags": [ + "JobTargetExecutions" + ], + "description": "Lists target executions for all steps of a job execution.", + "operationId": "JobTargetExecutions_ListByJobExecution", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job to get.", + "required": true, + "type": "string" + }, + { + "name": "jobExecutionId", + "in": "path", + "description": "The id of the job execution", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "createTimeMin", + "in": "query", + "description": "If specified, only job executions created at or after the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "createTimeMax", + "in": "query", + "description": "If specified, only job executions created before the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "endTimeMin", + "in": "query", + "description": "If specified, only job executions completed at or after the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "endTimeMax", + "in": "query", + "description": "If specified, only job executions completed before the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "isActive", + "in": "query", + "description": "If specified, only active or only completed job executions are included.", + "required": false, + "type": "boolean" + }, + { + "name": "$skip", + "in": "query", + "description": "The number of elements in the collection to skip.", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "$top", + "in": "query", + "description": "The number of elements to return from the collection.", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the target executions.", + "schema": { + "$ref": "#/definitions/JobExecutionListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List job step target executions": { + "$ref": "./examples/ListJobExecutionTargetsByExecution.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets": { + "get": { + "tags": [ + "JobTargetExecutions" + ], + "description": "Lists the target executions of a job step execution.", + "operationId": "JobTargetExecutions_ListByStep", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job to get.", + "required": true, + "type": "string" + }, + { + "name": "jobExecutionId", + "in": "path", + "description": "The id of the job execution", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "stepName", + "in": "path", + "description": "The name of the step.", + "required": true, + "type": "string" + }, + { + "name": "createTimeMin", + "in": "query", + "description": "If specified, only job executions created at or after the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "createTimeMax", + "in": "query", + "description": "If specified, only job executions created before the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "endTimeMin", + "in": "query", + "description": "If specified, only job executions completed at or after the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "endTimeMax", + "in": "query", + "description": "If specified, only job executions completed before the specified time are included.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "isActive", + "in": "query", + "description": "If specified, only active or only completed job executions are included.", + "required": false, + "type": "boolean" + }, + { + "name": "$skip", + "in": "query", + "description": "The number of elements in the collection to skip.", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "$top", + "in": "query", + "description": "The number of elements to return from the collection.", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the target executions.", + "schema": { + "$ref": "#/definitions/JobExecutionListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List job step target executions": { + "$ref": "./examples/ListJobExecutionTargetsByStep.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets/{targetId}": { + "get": { + "tags": [ + "JobTargetExecutions" + ], + "description": "Gets a target execution.", + "operationId": "JobTargetExecutions_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job to get.", + "required": true, + "type": "string" + }, + { + "name": "jobExecutionId", + "in": "path", + "description": "The unique id of the job execution", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "stepName", + "in": "path", + "description": "The name of the step.", + "required": true, + "type": "string" + }, + { + "name": "targetId", + "in": "path", + "description": "The target id.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the target execution.", + "schema": { + "$ref": "#/definitions/JobExecution" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get a job step target execution": { + "$ref": "./examples/GetJobExecutionTarget.json" + } + } + } + } + }, + "definitions": { + "JobExecutionListResult": { + "description": "A list of job executions.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/JobExecution" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "JobExecutionProperties": { + "description": "Properties for an Azure SQL Database Elastic job execution.", + "type": "object", + "properties": { + "jobVersion": { + "format": "int32", + "description": "The job version number.", + "type": "integer", + "readOnly": true + }, + "stepName": { + "description": "The job step name.", + "type": "string", + "readOnly": true + }, + "stepId": { + "format": "int32", + "description": "The job step id.", + "type": "integer", + "readOnly": true + }, + "jobExecutionId": { + "format": "uuid", + "description": "The unique identifier of the job execution.", + "type": "string", + "readOnly": true + }, + "lifecycle": { + "description": "The detailed state of the job execution.", + "enum": [ + "Created", + "InProgress", + "WaitingForChildJobExecutions", + "WaitingForRetry", + "Succeeded", + "SucceededWithSkipped", + "Failed", + "TimedOut", + "Canceled", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobExecutionLifecycle", + "modelAsString": true + } + }, + "provisioningState": { + "description": "The ARM provisioning state of the job execution.", + "enum": [ + "Created", + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "createTime": { + "format": "date-time", + "description": "The time that the job execution was created.", + "type": "string", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "The time that the job execution started.", + "type": "string", + "readOnly": true + }, + "endTime": { + "format": "date-time", + "description": "The time that the job execution completed.", + "type": "string", + "readOnly": true + }, + "currentAttempts": { + "format": "int32", + "description": "Number of times the job execution has been attempted.", + "type": "integer" + }, + "currentAttemptStartTime": { + "format": "date-time", + "description": "Start time of the current attempt.", + "type": "string", + "readOnly": true + }, + "lastMessage": { + "description": "The last status or error message.", + "type": "string", + "readOnly": true + }, + "target": { + "$ref": "#/definitions/JobExecutionTarget", + "description": "The target that this execution is executed on.", + "readOnly": true + } + } + }, + "JobExecutionTarget": { + "description": "The target that a job execution is executed on.", + "type": "object", + "properties": { + "type": { + "description": "The type of the target.", + "enum": [ + "TargetGroup", + "SqlDatabase", + "SqlElasticPool", + "SqlShardMap", + "SqlServer" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobTargetType", + "modelAsString": true + } + }, + "serverName": { + "description": "The server name.", + "type": "string", + "readOnly": true + }, + "databaseName": { + "description": "The database name.", + "type": "string", + "readOnly": true + } + } + }, + "JobExecution": { + "description": "An execution of a job", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JobExecutionProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobTargetGroups.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobTargetGroups.json new file mode 100644 index 000000000000..f9800e1e715e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobTargetGroups.json @@ -0,0 +1,373 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups": { + "get": { + "tags": [ + "JobTargetGroups" + ], + "description": "Gets all target groups in an agent.", + "operationId": "JobTargetGroups_ListByAgent", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of target groups.", + "schema": { + "$ref": "#/definitions/JobTargetGroupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all target groups in an agent.": { + "$ref": "./examples/ListJobTargetGroups.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}": { + "get": { + "tags": [ + "JobTargetGroups" + ], + "description": "Gets a target group.", + "operationId": "JobTargetGroups_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "targetGroupName", + "in": "path", + "description": "The name of the target group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the target group.", + "schema": { + "$ref": "#/definitions/JobTargetGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get a target group.": { + "$ref": "./examples/GetJobTargetGroup.json" + } + } + }, + "put": { + "tags": [ + "JobTargetGroups" + ], + "description": "Creates or updates a target group.", + "operationId": "JobTargetGroups_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "targetGroupName", + "in": "path", + "description": "The name of the target group.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested state of the target group.", + "required": true, + "schema": { + "$ref": "#/definitions/JobTargetGroup" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the target group.", + "schema": { + "$ref": "#/definitions/JobTargetGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\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 MismatchingJobAccountNameWithUrl - The provided job account name did not match the name in the Url.\n\n * 400 ElasticJobsOperationFailed - Elastic jobs management operation failed.\n\n * 400 ElasticJobsOperationFailed - Elastic jobs management operation failed.\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + }, + "201": { + "description": "Successfully created the target group.", + "schema": { + "$ref": "#/definitions/JobTargetGroup" + } + } + }, + "x-ms-examples": { + "Create or update a target group with minimal properties.": { + "$ref": "./examples/CreateOrUpdateJobTargetGroupMin.json" + }, + "Create or update a target group with all properties.": { + "$ref": "./examples/CreateOrUpdateJobTargetGroupMax.json" + } + } + }, + "delete": { + "tags": [ + "JobTargetGroups" + ], + "description": "Deletes a target group.", + "operationId": "JobTargetGroups_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "targetGroupName", + "in": "path", + "description": "The name of the target group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the target group." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ElasticJobsOperationFailed - Elastic jobs management operation failed.\n\n * 400 ElasticJobsOperationFailed - Elastic jobs management operation failed.\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + }, + "204": { + "description": "A target group with the specified name does not exist." + } + }, + "x-ms-examples": { + "Delete a target group.": { + "$ref": "./examples/DeleteJobTargetGroup.json" + } + } + } + } + }, + "definitions": { + "JobTargetGroupListResult": { + "description": "A list of target groups.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/JobTargetGroup" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "JobTargetGroupProperties": { + "description": "Properties of job target group.", + "required": [ + "members" + ], + "type": "object", + "properties": { + "members": { + "description": "Members of the target group.", + "type": "array", + "items": { + "$ref": "#/definitions/JobTarget" + } + } + } + }, + "JobTarget": { + "description": "A job target, for example a specific database or a container of databases that is evaluated during job execution.", + "required": [ + "type" + ], + "type": "object", + "properties": { + "membershipType": { + "description": "Whether the target is included or excluded from the group.", + "default": "Include", + "enum": [ + "Include", + "Exclude" + ], + "type": "string", + "x-ms-enum": { + "name": "JobTargetGroupMembershipType", + "modelAsString": false + } + }, + "type": { + "description": "The target type.", + "enum": [ + "TargetGroup", + "SqlDatabase", + "SqlElasticPool", + "SqlShardMap", + "SqlServer" + ], + "type": "string", + "x-ms-enum": { + "name": "JobTargetType", + "modelAsString": true + } + }, + "serverName": { + "description": "The target server name.", + "type": "string" + }, + "databaseName": { + "description": "The target database name.", + "type": "string" + }, + "elasticPoolName": { + "description": "The target elastic pool name.", + "type": "string" + }, + "shardMapName": { + "description": "The target shard map.", + "type": "string" + }, + "refreshCredential": { + "description": "The resource ID of the credential that is used during job execution to connect to the target and determine the list of databases inside the target.", + "type": "string" + } + } + }, + "JobTargetGroup": { + "description": "A group of job targets.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JobTargetGroupProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobVersions.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobVersions.json new file mode 100644 index 000000000000..dfe0a02c7723 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/JobVersions.json @@ -0,0 +1,189 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions": { + "get": { + "tags": [ + "JobVersions" + ], + "description": "Gets all versions of a job.", + "operationId": "JobVersions_ListByJob", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job to get.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of versions.", + "schema": { + "$ref": "#/definitions/JobVersionListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all versions of a job.": { + "$ref": "./examples/ListJobVersions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}": { + "get": { + "tags": [ + "JobVersions" + ], + "description": "Gets a job version.", + "operationId": "JobVersions_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job.", + "required": true, + "type": "string" + }, + { + "name": "jobVersion", + "in": "path", + "description": "The version of the job to get.", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the job version.", + "schema": { + "$ref": "#/definitions/JobVersion" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-examples": { + "Get a version of a job.": { + "$ref": "./examples/GetJobVersion.json" + } + } + } + } + }, + "definitions": { + "JobVersionListResult": { + "description": "A list of job versions.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/JobVersion" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "JobVersion": { + "description": "A job version.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": {} + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Jobs.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Jobs.json new file mode 100644 index 000000000000..d85c991d2001 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Jobs.json @@ -0,0 +1,360 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs": { + "get": { + "tags": [ + "Jobs" + ], + "description": "Gets a list of jobs.", + "operationId": "Jobs_ListByAgent", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of jobs.", + "schema": { + "$ref": "#/definitions/JobListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List jobs in a job agent": { + "$ref": "./examples/ListJobsByAgent.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}": { + "get": { + "tags": [ + "Jobs" + ], + "description": "Gets a job.", + "operationId": "Jobs_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job to get.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the job.", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get a job": { + "$ref": "./examples/GetJob.json" + } + } + }, + "put": { + "tags": [ + "Jobs" + ], + "description": "Creates or updates a job.", + "operationId": "Jobs_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job to get.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested job state.", + "required": true, + "schema": { + "$ref": "#/definitions/Job" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the job.", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ElasticJobsOperationFailed - Elastic jobs management operation failed.\n\n * 400 ElasticJobsOperationFailed - Elastic jobs management operation failed.\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 400 InvalidDuration - Invalid duration.\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + }, + "201": { + "description": "Successfully created the job.", + "schema": { + "$ref": "#/definitions/Job" + } + } + }, + "x-ms-examples": { + "Create a job with default properties": { + "$ref": "./examples/CreateOrUpdateJobMin.json" + }, + "Create a job with all properties specified": { + "$ref": "./examples/CreateOrUpdateJobMax.json" + } + } + }, + "delete": { + "tags": [ + "Jobs" + ], + "description": "Deletes a job.", + "operationId": "Jobs_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "jobAgentName", + "in": "path", + "description": "The name of the job agent.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "The name of the job to delete.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the job." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ElasticJobsOperationFailed - Elastic jobs management operation failed.\n\n * 400 ElasticJobsOperationFailed - Elastic jobs management operation failed.\n\n * 404 JobAgentNotFound - Specified job agent does not exist in the specified logical server.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + }, + "204": { + "description": "The specified job does not exist." + } + }, + "x-ms-examples": { + "Delete a job": { + "$ref": "./examples/DeleteJob.json" + } + } + } + } + }, + "definitions": { + "JobListResult": { + "description": "A list of jobs.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Job" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "JobProperties": { + "description": "Properties of a job.", + "type": "object", + "properties": { + "description": { + "description": "User-defined description of the job.", + "default": "", + "type": "string" + }, + "version": { + "format": "int32", + "description": "The job version number.", + "type": "integer", + "readOnly": true + }, + "schedule": { + "$ref": "#/definitions/JobSchedule", + "description": "Schedule properties of the job." + } + } + }, + "JobSchedule": { + "description": "Scheduling properties of a job.", + "type": "object", + "properties": { + "startTime": { + "format": "date-time", + "description": "Schedule start time.", + "default": "0001-01-01T00:00:00+00:00", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "Schedule end time.", + "default": "9999-12-31T11:59:59+00:00", + "type": "string" + }, + "type": { + "description": "Schedule interval type", + "default": "Once", + "enum": [ + "Once", + "Recurring" + ], + "type": "string", + "x-ms-enum": { + "name": "JobScheduleType", + "modelAsString": false + } + }, + "enabled": { + "description": "Whether or not the schedule is enabled.", + "type": "boolean" + }, + "interval": { + "description": "Value of the schedule's recurring interval, if the ScheduleType is recurring. ISO8601 duration format.", + "type": "string" + } + } + }, + "Job": { + "description": "A job.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JobProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/LedgerDigestUploads.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/LedgerDigestUploads.json new file mode 100644 index 000000000000..dde52b801052 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/LedgerDigestUploads.json @@ -0,0 +1,333 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/ledgerDigestUploads/{ledgerDigestUploads}": { + "get": { + "tags": [ + "LedgerDigestUploads" + ], + "description": "Gets the current ledger digest upload configuration for a database.", + "operationId": "LedgerDigestUploads_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "ledgerDigestUploads", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "current" + ], + "x-ms-enum": { + "name": "LedgerDigestUploadsName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the ledger digest configuration.", + "schema": { + "$ref": "#/definitions/LedgerDigestUploads" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 LedgerInvalidDigestStorageTargetUpdateRequest - The database ledger digest storage upload request does not exist or has no properties object.\n\n * 400 InvalidDigestStorageEndpoint - The specified digestStorageEndpoint is invalid. It must be an Azure blob storage or Azure Confidential Ledger endpoint.\n\n * 400 MalformedDigestStorageEndpoint - The specified digest storage endpoint is a malformed URI.\n\n * 400 InvalidLedgerDigestUploadsName - The ledger digest upload name is not supported. Please use the key name “current”.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-examples": { + "Gets the current ledger digest upload configuration for a database.": { + "$ref": "./examples/LedgerDigestUploadsGet.json" + } + } + }, + "put": { + "tags": [ + "LedgerDigestUploads" + ], + "description": "Enables upload ledger digests to an Azure Storage account or an Azure Confidential Ledger instance.", + "operationId": "LedgerDigestUploads_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "ledgerDigestUploads", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "current" + ], + "x-ms-enum": { + "name": "LedgerDigestUploadsName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LedgerDigestUploads" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the ledger digest upload configuration", + "schema": { + "$ref": "#/definitions/LedgerDigestUploads" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 LedgerInvalidDigestStorageTargetUpdateRequest - The database ledger digest storage upload request does not exist or has no properties object.\n\n * 400 InvalidDigestStorageEndpoint - The specified digestStorageEndpoint is invalid. It must be an Azure blob storage or Azure Confidential Ledger endpoint.\n\n * 400 MalformedDigestStorageEndpoint - The specified digest storage endpoint is a malformed URI.\n\n * 400 InvalidLedgerDigestUploadsName - The ledger digest upload name is not supported. Please use the key name “current”.\n\n * 400 LedgerDigestUploadsNotSupportedOnGeoSecondary - The ledger digest storage cannot be configured on secondary databases.\n\n * 400 InsufficientStorageAccountPermissions - Read or write operations are not allowed on the storage account.\n\n * 400 StorageAccountIsDisabled - The storage account is disabled.\n\n * 400 InvalidStorageAccountName - The specified storage account is not valid or does not exist.\n\n * 400 PreviousOperationInProgress - Uploading ledger digests is being enabled or disabled for database. Please wait for the previous request to complete.\n\n * 400 NoServerIdentity - No identity is configured for specified server. For information on how to configure an identity for the server see https://go.microsoft.com/fwlink/?linkid=2156804\n\n * 400 SubscriptionDoesNotHaveServer - Subscription does not contain server.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered. The error message from Active Directory Authentication library (ADAL) is {0}.\n\n * 400 LedgerDigestUploadIsNotSupportedOnResourceType - Uploading ledger digests is currently not supported for this resource type.\n\n * 400 InvalidDigestStorageEndpoint - The specified digestStorageEndpoint is invalid. It must be an Azure blob storage or Azure Confidential Ledger endpoint.\n\n * 400 InvalidStorageAccountName - The specified storage account is not valid or does not exist.\n\n * 404 SourceDatabaseNotFound - Specified database does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + }, + "202": { + "description": "Updating the ledger digest upload configuration is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Enables ledger digest upload configuration for a database": { + "$ref": "./examples/LedgerDigestUploadsEnable.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/ledgerDigestUploads": { + "get": { + "tags": [ + "LedgerDigestUploads" + ], + "description": "Gets all ledger digest upload settings on a database.", + "operationId": "LedgerDigestUploads_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved ledger upload settings.", + "schema": { + "$ref": "#/definitions/LedgerDigestUploadsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 LedgerInvalidDigestStorageTargetUpdateRequest - The database ledger digest storage upload request does not exist or has no properties object.\n\n * 400 InvalidDigestStorageEndpoint - The specified digestStorageEndpoint is invalid. It must be an Azure blob storage or Azure Confidential Ledger endpoint.\n\n * 400 MalformedDigestStorageEndpoint - The specified digest storage endpoint is a malformed URI.\n\n * 400 InvalidLedgerDigestUploadsName - The ledger digest upload name is not supported. Please use the key name “current”.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets list of ledger digest upload settings on a database.": { + "$ref": "./examples/LedgerDigestUploadsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/ledgerDigestUploads/{ledgerDigestUploads}/disable": { + "post": { + "tags": [ + "LedgerDigestUploads" + ], + "description": "Disables uploading ledger digests to an Azure Storage account or an Azure Confidential Ledger instance.", + "operationId": "LedgerDigestUploads_Disable", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "ledgerDigestUploads", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "current" + ], + "x-ms-enum": { + "name": "LedgerDigestUploadsName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully disabled uploading ledger digests", + "schema": { + "$ref": "#/definitions/LedgerDigestUploads" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 LedgerInvalidDigestStorageTargetUpdateRequest - The database ledger digest storage upload request does not exist or has no properties object.\n\n * 400 InvalidDigestStorageEndpoint - The specified digestStorageEndpoint is invalid. It must be an Azure blob storage or Azure Confidential Ledger endpoint.\n\n * 400 MalformedDigestStorageEndpoint - The specified digest storage endpoint is a malformed URI.\n\n * 400 InvalidLedgerDigestUploadsName - The ledger digest upload name is not supported. Please use the key name “current”.\n\n * 400 LedgerDigestUploadsNotSupportedOnGeoSecondary - The ledger digest storage cannot be configured on secondary databases.\n\n * 400 InsufficientStorageAccountPermissions - Read or write operations are not allowed on the storage account.\n\n * 400 StorageAccountIsDisabled - The storage account is disabled.\n\n * 400 InvalidStorageAccountName - The specified storage account is not valid or does not exist.\n\n * 400 PreviousOperationInProgress - Uploading ledger digests is being enabled or disabled for database. Please wait for the previous request to complete.\n\n * 400 NoServerIdentity - No identity is configured for specified server. For information on how to configure an identity for the server see https://go.microsoft.com/fwlink/?linkid=2156804\n\n * 400 SubscriptionDoesNotHaveServer - Subscription does not contain server.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered. The error message from Active Directory Authentication library (ADAL) is {0}.\n\n * 400 LedgerDigestUploadIsNotSupportedOnResourceType - Uploading ledger digests is currently not supported for this resource type.\n\n * 400 InvalidDigestStorageEndpoint - The specified digestStorageEndpoint is invalid. It must be an Azure blob storage or Azure Confidential Ledger endpoint.\n\n * 400 InvalidStorageAccountName - The specified storage account is not valid or does not exist.\n\n * 404 SourceDatabaseNotFound - Specified database does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + }, + "202": { + "description": "Disabling the ledger digest upload is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Disables uploading ledger digests for a database": { + "$ref": "./examples/LedgerDigestUploadsDisable.json" + } + } + } + } + }, + "definitions": { + "LedgerDigestUploadsProperties": { + "description": "The properties of a database ledger digest upload settings.", + "type": "object", + "properties": { + "digestStorageEndpoint": { + "description": "The digest storage endpoint, which must be either an Azure blob storage endpoint or an URI for Azure Confidential Ledger.", + "type": "string" + }, + "state": { + "description": "Specifies the state of ledger digest upload.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "LedgerDigestUploadsState", + "modelAsString": false + } + } + } + }, + "LedgerDigestUploads": { + "description": "Azure SQL Database ledger digest upload settings.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LedgerDigestUploadsProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "LedgerDigestUploadsListResult": { + "description": "A list of ledger digest upload settings.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/LedgerDigestUploads" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/LocationCapabilities.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/LocationCapabilities.json new file mode 100644 index 000000000000..e36ec2c4bd4e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/LocationCapabilities.json @@ -0,0 +1,1274 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/capabilities": { + "get": { + "tags": [ + "LocationCapabilities" + ], + "description": "Gets the subscription capabilities available for the specified location.", + "operationId": "Capabilities_ListByLocation", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The location name whose capabilities are retrieved.", + "required": true, + "type": "string" + }, + { + "name": "include", + "in": "query", + "description": "If specified, restricts the response to only include the selected item.", + "required": false, + "type": "string", + "enum": [ + "supportedEditions", + "supportedElasticPoolEditions", + "supportedManagedInstanceVersions", + "supportedInstancePoolEditions", + "supportedManagedInstanceEditions" + ], + "x-ms-enum": { + "name": "CapabilityGroup", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the subscription location capabilities.", + "schema": { + "$ref": "#/definitions/LocationCapabilities" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 404 SubscriptionNotFound - The requested subscription was not found." + } + }, + "x-ms-examples": { + "List subscription capabilities in the given location.": { + "$ref": "./examples/LocationCapabilityListByLocation.json" + } + } + } + } + }, + "definitions": { + "LocationCapabilities": { + "description": "The location capability.", + "type": "object", + "properties": { + "name": { + "description": "The location name.", + "type": "string", + "readOnly": true + }, + "supportedServerVersions": { + "description": "The list of supported server versions.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerVersionCapability" + }, + "readOnly": true + }, + "supportedManagedInstanceVersions": { + "description": "The list of supported managed instance versions.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstanceVersionCapability" + }, + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "ServerVersionCapability": { + "description": "The server capability", + "type": "object", + "properties": { + "name": { + "description": "The server version name.", + "type": "string", + "readOnly": true + }, + "supportedEditions": { + "description": "The list of supported database editions.", + "type": "array", + "items": { + "$ref": "#/definitions/EditionCapability" + }, + "readOnly": true + }, + "supportedElasticPoolEditions": { + "description": "The list of supported elastic pool editions.", + "type": "array", + "items": { + "$ref": "#/definitions/ElasticPoolEditionCapability" + }, + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "ManagedInstanceVersionCapability": { + "description": "The managed instance capability", + "type": "object", + "properties": { + "name": { + "description": "The server version name.", + "type": "string", + "readOnly": true + }, + "supportedEditions": { + "description": "The list of supported managed instance editions.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstanceEditionCapability" + }, + "readOnly": true + }, + "supportedInstancePoolEditions": { + "description": "The list of supported instance pool editions.", + "type": "array", + "items": { + "$ref": "#/definitions/InstancePoolEditionCapability" + }, + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "EditionCapability": { + "description": "The edition capability.", + "type": "object", + "properties": { + "name": { + "description": "The database edition name.", + "type": "string", + "readOnly": true + }, + "supportedServiceLevelObjectives": { + "description": "The list of supported service objectives for the edition.", + "type": "array", + "items": { + "$ref": "#/definitions/ServiceObjectiveCapability" + }, + "readOnly": true + }, + "zoneRedundant": { + "description": "Whether or not zone redundancy is supported for the edition.", + "type": "boolean", + "readOnly": true + }, + "readScale": { + "$ref": "#/definitions/ReadScaleCapability", + "description": "The read scale capability for the edition.", + "readOnly": true + }, + "supportedStorageCapabilities": { + "description": "The list of supported storage capabilities for this edition", + "type": "array", + "items": { + "$ref": "#/definitions/StorageCapability" + }, + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "ElasticPoolEditionCapability": { + "description": "The elastic pool edition capability.", + "type": "object", + "properties": { + "name": { + "description": "The elastic pool edition name.", + "type": "string", + "readOnly": true + }, + "supportedElasticPoolPerformanceLevels": { + "description": "The list of supported elastic pool DTU levels for the edition.", + "type": "array", + "items": { + "$ref": "#/definitions/ElasticPoolPerformanceLevelCapability" + }, + "readOnly": true + }, + "zoneRedundant": { + "description": "Whether or not zone redundancy is supported for the edition.", + "type": "boolean", + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "ManagedInstanceEditionCapability": { + "description": "The managed server capability", + "type": "object", + "properties": { + "name": { + "description": "The managed server version name.", + "type": "string", + "readOnly": true + }, + "supportedFamilies": { + "description": "The supported families.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstanceFamilyCapability" + }, + "readOnly": true + }, + "supportedStorageCapabilities": { + "description": "The list of supported storage capabilities for this edition", + "type": "array", + "items": { + "$ref": "#/definitions/StorageCapability" + }, + "readOnly": true + }, + "zoneRedundant": { + "description": "Whether or not zone redundancy is supported for the edition.", + "type": "boolean", + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "InstancePoolEditionCapability": { + "description": "The instance pool capability", + "type": "object", + "properties": { + "name": { + "description": "The instance pool version name.", + "type": "string", + "readOnly": true + }, + "supportedFamilies": { + "description": "The supported families.", + "type": "array", + "items": { + "$ref": "#/definitions/InstancePoolFamilyCapability" + }, + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "ServiceObjectiveCapability": { + "description": "The service objectives capability.", + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "The unique ID of the service objective.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The service objective name.", + "type": "string", + "readOnly": true + }, + "supportedMaxSizes": { + "description": "The list of supported maximum database sizes.", + "type": "array", + "items": { + "$ref": "#/definitions/MaxSizeRangeCapability" + }, + "readOnly": true + }, + "performanceLevel": { + "$ref": "#/definitions/PerformanceLevelCapability", + "description": "The performance level.", + "readOnly": true + }, + "sku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "The sku.", + "readOnly": true + }, + "supportedLicenseTypes": { + "description": "List of supported license types.", + "type": "array", + "items": { + "$ref": "#/definitions/LicenseTypeCapability" + }, + "readOnly": true + }, + "includedMaxSize": { + "$ref": "#/definitions/MaxSizeCapability", + "description": "The included (free) max size.", + "readOnly": true + }, + "zoneRedundant": { + "description": "Whether or not zone redundancy is supported for the service objective.", + "type": "boolean", + "readOnly": true + }, + "supportedAutoPauseDelay": { + "$ref": "#/definitions/AutoPauseDelayTimeRange", + "description": "Supported time range for auto pause delay", + "readOnly": true + }, + "supportedMinCapacities": { + "description": "List of supported min capacities", + "type": "array", + "items": { + "$ref": "#/definitions/MinCapacityCapability" + }, + "readOnly": true + }, + "computeModel": { + "description": "The compute model", + "type": "string", + "readOnly": true + }, + "supportedMaintenanceConfigurations": { + "description": "List of supported maintenance configurations", + "type": "array", + "items": { + "$ref": "#/definitions/MaintenanceConfigurationCapability" + }, + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "ReadScaleCapability": { + "description": "The read scale capability.", + "type": "object", + "properties": { + "maxNumberOfReplicas": { + "format": "int32", + "description": "The maximum number of read scale replicas.", + "type": "integer", + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "StorageCapability": { + "description": "The storage account type capability.", + "type": "object", + "properties": { + "storageAccountType": { + "description": "The storage account type for the database's backups.", + "enum": [ + "GRS", + "LRS", + "ZRS", + "GZRS" + ], + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "ElasticPoolPerformanceLevelCapability": { + "description": "The Elastic Pool performance level capability.", + "type": "object", + "properties": { + "performanceLevel": { + "$ref": "#/definitions/PerformanceLevelCapability", + "description": "The performance level for the pool.", + "readOnly": true + }, + "sku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "The sku.", + "readOnly": true + }, + "supportedLicenseTypes": { + "description": "List of supported license types.", + "type": "array", + "items": { + "$ref": "#/definitions/LicenseTypeCapability" + }, + "readOnly": true + }, + "maxDatabaseCount": { + "format": "int32", + "description": "The maximum number of databases supported.", + "type": "integer", + "readOnly": true + }, + "includedMaxSize": { + "$ref": "#/definitions/MaxSizeCapability", + "description": "The included (free) max size for this performance level.", + "readOnly": true + }, + "supportedMaxSizes": { + "description": "The list of supported max sizes.", + "type": "array", + "items": { + "$ref": "#/definitions/MaxSizeRangeCapability" + }, + "readOnly": true + }, + "supportedPerDatabaseMaxSizes": { + "description": "The list of supported per database max sizes.", + "type": "array", + "items": { + "$ref": "#/definitions/MaxSizeRangeCapability" + }, + "readOnly": true + }, + "supportedPerDatabaseMaxPerformanceLevels": { + "description": "The list of supported per database max performance levels.", + "type": "array", + "items": { + "$ref": "#/definitions/ElasticPoolPerDatabaseMaxPerformanceLevelCapability" + }, + "readOnly": true + }, + "zoneRedundant": { + "description": "Whether or not zone redundancy is supported for the performance level.", + "type": "boolean", + "readOnly": true + }, + "supportedMaintenanceConfigurations": { + "description": "List of supported maintenance configurations", + "type": "array", + "items": { + "$ref": "#/definitions/MaintenanceConfigurationCapability" + }, + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "ManagedInstanceFamilyCapability": { + "description": "The managed server family capability.", + "type": "object", + "properties": { + "name": { + "description": "Family name.", + "type": "string", + "readOnly": true + }, + "sku": { + "description": "SKU name.", + "type": "string", + "readOnly": true + }, + "supportedLicenseTypes": { + "description": "List of supported license types.", + "type": "array", + "items": { + "$ref": "#/definitions/LicenseTypeCapability" + }, + "readOnly": true + }, + "supportedVcoresValues": { + "description": "List of supported virtual cores values.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstanceVcoresCapability" + }, + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "InstancePoolFamilyCapability": { + "description": "The instance pool family capability.", + "type": "object", + "properties": { + "name": { + "description": "Family name.", + "type": "string", + "readOnly": true + }, + "supportedLicenseTypes": { + "description": "List of supported license types.", + "type": "array", + "items": { + "$ref": "#/definitions/LicenseTypeCapability" + }, + "readOnly": true + }, + "supportedVcoresValues": { + "description": "List of supported virtual cores values.", + "type": "array", + "items": { + "$ref": "#/definitions/InstancePoolVcoresCapability" + }, + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "MaxSizeRangeCapability": { + "description": "The maximum size range capability.", + "type": "object", + "properties": { + "minValue": { + "$ref": "#/definitions/MaxSizeCapability", + "description": "Minimum value.", + "readOnly": true + }, + "maxValue": { + "$ref": "#/definitions/MaxSizeCapability", + "description": "Maximum value.", + "readOnly": true + }, + "scaleSize": { + "$ref": "#/definitions/MaxSizeCapability", + "description": "Scale/step size for discrete values between the minimum value and the maximum value.", + "readOnly": true + }, + "logSize": { + "$ref": "#/definitions/LogSizeCapability", + "description": "Size of transaction log.", + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "PerformanceLevelCapability": { + "description": "The performance level capability.", + "type": "object", + "properties": { + "value": { + "format": "double", + "description": "Performance level value.", + "type": "number", + "readOnly": true + }, + "unit": { + "description": "Unit type used to measure performance level.", + "enum": [ + "DTU", + "VCores" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PerformanceLevelUnit", + "modelAsString": true + } + } + } + }, + "LicenseTypeCapability": { + "description": "The license type capability", + "type": "object", + "properties": { + "name": { + "description": "License type identifier.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "MaxSizeCapability": { + "description": "The maximum size capability.", + "type": "object", + "properties": { + "limit": { + "format": "int32", + "description": "The maximum size limit (see 'unit' for the units).", + "type": "integer", + "readOnly": true + }, + "unit": { + "description": "The units that the limit is expressed in.", + "enum": [ + "Megabytes", + "Gigabytes", + "Terabytes", + "Petabytes" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MaxSizeUnit", + "modelAsString": true + } + } + } + }, + "AutoPauseDelayTimeRange": { + "description": "Supported auto pause delay time range", + "type": "object", + "properties": { + "minValue": { + "format": "int32", + "description": "Minimum value", + "type": "integer", + "readOnly": true + }, + "maxValue": { + "format": "int32", + "description": "Maximum value", + "type": "integer", + "readOnly": true + }, + "stepSize": { + "format": "int32", + "description": "Step value for discrete values between the minimum value and the maximum value.", + "type": "integer", + "readOnly": true + }, + "default": { + "format": "int32", + "description": "Default value is no value is provided", + "type": "integer", + "readOnly": true + }, + "unit": { + "description": "Unit of time that delay is expressed in", + "enum": [ + "Minutes" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PauseDelayTimeUnit", + "modelAsString": true + } + }, + "doNotPauseValue": { + "format": "int32", + "description": "Value that is used to not pause (infinite delay before pause)", + "type": "integer", + "readOnly": true + } + } + }, + "MinCapacityCapability": { + "description": "The min capacity capability", + "type": "object", + "properties": { + "value": { + "format": "double", + "description": "Min capacity value", + "type": "number", + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "MaintenanceConfigurationCapability": { + "description": "The maintenance configuration capability", + "type": "object", + "properties": { + "name": { + "description": "Maintenance configuration name", + "type": "string", + "readOnly": true + }, + "zoneRedundant": { + "description": "Whether or not zone redundancy is supported for the maintenance configuration.", + "type": "boolean", + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "ElasticPoolPerDatabaseMaxPerformanceLevelCapability": { + "description": "The max per-database performance level capability.", + "type": "object", + "properties": { + "limit": { + "format": "double", + "description": "The maximum performance level per database.", + "type": "number", + "readOnly": true + }, + "unit": { + "description": "Unit type used to measure performance level.", + "enum": [ + "DTU", + "VCores" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PerformanceLevelUnit", + "modelAsString": true + } + }, + "supportedPerDatabaseMinPerformanceLevels": { + "description": "The list of supported min database performance levels.", + "type": "array", + "items": { + "$ref": "#/definitions/ElasticPoolPerDatabaseMinPerformanceLevelCapability" + }, + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "ManagedInstanceVcoresCapability": { + "description": "The managed instance virtual cores capability.", + "type": "object", + "properties": { + "name": { + "description": "The virtual cores identifier.", + "type": "string", + "readOnly": true + }, + "value": { + "format": "int32", + "description": "The virtual cores value.", + "type": "integer", + "readOnly": true + }, + "includedMaxSize": { + "$ref": "#/definitions/MaxSizeCapability", + "description": "Included size.", + "readOnly": true + }, + "supportedStorageSizes": { + "description": "Storage size ranges.", + "type": "array", + "items": { + "$ref": "#/definitions/MaxSizeRangeCapability" + }, + "readOnly": true + }, + "instancePoolSupported": { + "description": "True if this service objective is supported for managed instances in an instance pool.", + "type": "boolean", + "readOnly": true + }, + "standaloneSupported": { + "description": "True if this service objective is supported for standalone managed instances.", + "type": "boolean", + "readOnly": true + }, + "supportedMaintenanceConfigurations": { + "description": "List of supported maintenance configurations", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstanceMaintenanceConfigurationCapability" + }, + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "InstancePoolVcoresCapability": { + "description": "The managed instance virtual cores capability.", + "type": "object", + "properties": { + "name": { + "description": "The virtual cores identifier.", + "type": "string", + "readOnly": true + }, + "value": { + "format": "int32", + "description": "The virtual cores value.", + "type": "integer", + "readOnly": true + }, + "storageLimit": { + "$ref": "#/definitions/MaxSizeCapability", + "description": "Storage limit.", + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "LogSizeCapability": { + "description": "The log size capability.", + "type": "object", + "properties": { + "limit": { + "format": "int32", + "description": "The log size limit (see 'unit' for the units).", + "type": "integer", + "readOnly": true + }, + "unit": { + "description": "The units that the limit is expressed in.", + "enum": [ + "Megabytes", + "Gigabytes", + "Terabytes", + "Petabytes", + "Percent" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "LogSizeUnit", + "modelAsString": true + } + } + } + }, + "ElasticPoolPerDatabaseMinPerformanceLevelCapability": { + "description": "The minimum per-database performance level capability.", + "type": "object", + "properties": { + "limit": { + "format": "double", + "description": "The minimum performance level per database.", + "type": "number", + "readOnly": true + }, + "unit": { + "description": "Unit type used to measure performance level.", + "enum": [ + "DTU", + "VCores" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PerformanceLevelUnit", + "modelAsString": true + } + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + }, + "ManagedInstanceMaintenanceConfigurationCapability": { + "description": "The maintenance configuration capability", + "type": "object", + "properties": { + "name": { + "description": "Maintenance configuration name", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the capability.", + "enum": [ + "Visible", + "Available", + "Default", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CapabilityStatus", + "modelAsString": false + } + }, + "reason": { + "description": "The reason for the capability not being available.", + "type": "string" + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/LongTermRetentionBackups.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/LongTermRetentionBackups.json new file mode 100644 index 000000000000..6880a9ec8228 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/LongTermRetentionBackups.json @@ -0,0 +1,1310 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}/copy": { + "post": { + "tags": [ + "LongTermRetentionBackups" + ], + "description": "Copy an existing long term retention backup.", + "operationId": "LongTermRetentionBackups_Copy", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The location of the database.", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionServerName", + "in": "path", + "description": "The name of the server", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionDatabaseName", + "in": "path", + "description": "The name of the database", + "required": true, + "type": "string" + }, + { + "name": "backupName", + "in": "path", + "description": "The backup name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters needed for long term retention copy request", + "required": true, + "schema": { + "$ref": "#/definitions/CopyLongTermRetentionBackupParameters" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully copied the backup.", + "schema": { + "$ref": "#/definitions/LongTermRetentionBackupOperationResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLongTermRetentionBackupId - Invalid long term retention backup identifier for SQL DBs.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 LongTermRetentionMismatchingSubscriptionId - The provided subscription id did not match the id in the other input\n\n * 400 LongTermRetentionMismatchingResourceGroupName - The provided resource group name did not match the name in the other input\n\n * 400 LongTermRetentionMismatchingServerName - The provided server name did not match the name in the other input\n\n * 400 LongTermRetentionMigrationRequestNotSupported - Subscription is not allowed LTR backup Migration feature.\n\n * 400 LongTermRetentionMigrationCrossClusterRequestNotSupported - Source and target subscriptions are not allowed to communicate for LTR backup copy feature.\n\n * 400 LongTermRetentionMigrationParameterMissing - Required parameter missing for the operation.\n\n * 400 LongTermRetentionMigrationSameServerNotSupported - LTR Copy feature is not supported to copy LTR backups within same server.\n\n * 400 LongTermRetentionMigrationTargetServerNotFound - Target server does not exists or is not ready for LTR backup copy operation.\n\n * 400 LongTermRetentionMigrationTargetDatabaseNotFound - Target Database does not exists on the server.\n\n * 400 LongTermRetentionMigrationStorageTypeNotSupported - Specified Backup Storage Redundancy is not supported in target region.\n\n * 400 LongTermRetentionMigrationStorageMismatch - Active backup redundancy of database does not match backup redundancy requested by customer.\n\n * 400 LongTermRetentionMigrationDatabaseTypeNotSupported - LTR migration is only supported for managed instance and Azure SQL DB LTR backups.\n\n * 400 LongTermRetentionMigrationBackupStorageRedundancyNotAllowed - Changing backup storage redundancy is not allowed for LTR Copy operations.\n\n * 400 LongTermRetentionMigrationSubscriptionNotFound - The subscription could not be found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 LongTermRetentionMigrationBackupNotFound - LTR backup specified does not exists.\n\n * 409 LongTermRetentionMigrationRequestConflict - A conflict operation on this LTR backup is still in progress.\n\n * 409 LongTermRetentionMigrationBackupConflict - Another LTR backup with same backup time for target database exists.\n\n * 500 LongTermRetentionMigrationRequestFailedToStartOnTarget - Failed to start LTR backup copy request in target region.\n\n * 500 LongTermRetentionMigrationRequestCopyFailed - Copy operation failed for LTR backup blobs.\n\n * 500 LongTermRetentionMigrationRestoreVerExceeded - Restore verification failed after max attempts were reached.\n\n * 500 LongTermRetentionMigrationRestoreVerFailed - Restore verification failed." + }, + "202": { + "description": "Copying the backup is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Copy the long term retention backup.": { + "$ref": "./examples/LongTermRetentionBackupCopy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}/update": { + "post": { + "tags": [ + "LongTermRetentionBackups" + ], + "description": "Updates an existing long term retention backup.", + "operationId": "LongTermRetentionBackups_Update", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The location of the database.", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionServerName", + "in": "path", + "description": "The name of the server", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionDatabaseName", + "in": "path", + "description": "The name of the database", + "required": true, + "type": "string" + }, + { + "name": "backupName", + "in": "path", + "description": "The backup name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested backup resource state", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateLongTermRetentionBackupParameters" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the backup.", + "schema": { + "$ref": "#/definitions/LongTermRetentionBackupOperationResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLongTermRetentionBackupId - Invalid long term retention backup identifier for SQL DBs.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 LongTermRetentionMismatchingSubscriptionId - The provided subscription id did not match the id in the other input\n\n * 400 LongTermRetentionMismatchingResourceGroupName - The provided resource group name did not match the name in the other input\n\n * 400 LongTermRetentionMismatchingServerName - The provided server name did not match the name in the other input\n\n * 400 LongTermRetentionMigrationRequestNotSupported - Subscription is not allowed LTR backup Migration feature.\n\n * 400 LongTermRetentionMigrationCrossClusterRequestNotSupported - Source and target subscriptions are not allowed to communicate for LTR backup copy feature.\n\n * 400 LongTermRetentionMigrationParameterMissing - Required parameter missing for the operation.\n\n * 400 LongTermRetentionMigrationSameServerNotSupported - LTR Copy feature is not supported to copy LTR backups within same server.\n\n * 400 LongTermRetentionMigrationTargetServerNotFound - Target server does not exists or is not ready for LTR backup copy operation.\n\n * 400 LongTermRetentionMigrationTargetDatabaseNotFound - Target Database does not exists on the server.\n\n * 400 LongTermRetentionMigrationStorageTypeNotSupported - Specified Backup Storage Redundancy is not supported in target region.\n\n * 400 LongTermRetentionMigrationStorageMismatch - Active backup redundancy of database does not match backup redundancy requested by customer.\n\n * 400 LongTermRetentionMigrationDatabaseTypeNotSupported - LTR migration is only supported for managed instance and Azure SQL DB LTR backups.\n\n * 400 LongTermRetentionMigrationBackupStorageRedundancyNotAllowed - Changing backup storage redundancy is not allowed for LTR Copy operations.\n\n * 400 LongTermRetentionMigrationSubscriptionNotFound - The subscription could not be found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 LongTermRetentionMigrationBackupNotFound - LTR backup specified does not exists.\n\n * 409 LongTermRetentionMigrationRequestConflict - A conflict operation on this LTR backup is still in progress.\n\n * 409 LongTermRetentionMigrationBackupConflict - Another LTR backup with same backup time for target database exists.\n\n * 500 LongTermRetentionMigrationRequestFailedToStartOnTarget - Failed to start LTR backup copy request in target region.\n\n * 500 LongTermRetentionMigrationRequestCopyFailed - Copy operation failed for LTR backup blobs.\n\n * 500 LongTermRetentionMigrationRestoreVerExceeded - Restore verification failed after max attempts were reached.\n\n * 500 LongTermRetentionMigrationRestoreVerFailed - Restore verification failed." + }, + "202": { + "description": "Updating the backup is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update the long term retention backup.": { + "$ref": "./examples/LongTermRetentionBackupUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}": { + "get": { + "tags": [ + "LongTermRetentionBackups" + ], + "description": "Gets a long term retention backup.", + "operationId": "LongTermRetentionBackups_Get", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The location of the database.", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionServerName", + "in": "path", + "description": "The name of the server", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionDatabaseName", + "in": "path", + "description": "The name of the database", + "required": true, + "type": "string" + }, + { + "name": "backupName", + "in": "path", + "description": "The backup name.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the backup.", + "schema": { + "$ref": "#/definitions/LongTermRetentionBackup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLongTermRetentionBackupId - Invalid long term retention backup identifier for SQL DBs.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 LongTermRetentionMismatchingSubscriptionId - The provided subscription id did not match the id in the other input\n\n * 400 LongTermRetentionMismatchingResourceGroupName - The provided resource group name did not match the name in the other input\n\n * 400 LongTermRetentionMismatchingServerName - The provided server name did not match the name in the other input\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get the long term retention backup.": { + "$ref": "./examples/LongTermRetentionBackupGet.json" + } + } + }, + "delete": { + "tags": [ + "LongTermRetentionBackups" + ], + "description": "Deletes a long term retention backup.", + "operationId": "LongTermRetentionBackups_Delete", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The location of the database", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionServerName", + "in": "path", + "description": "The name of the server", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionDatabaseName", + "in": "path", + "description": "The name of the database", + "required": true, + "type": "string" + }, + { + "name": "backupName", + "in": "path", + "description": "The backup name.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the backup." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLongTermRetentionBackupId - Invalid long term retention backup identifier for SQL DBs.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 LongTermRetentionMismatchingSubscriptionId - The provided subscription id did not match the id in the other input\n\n * 400 LongTermRetentionMismatchingResourceGroupName - The provided resource group name did not match the name in the other input\n\n * 400 LongTermRetentionMismatchingServerName - The provided server name did not match the name in the other input\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete the long term retention backup.": { + "$ref": "./examples/LongTermRetentionBackupDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups": { + "get": { + "tags": [ + "LongTermRetentionBackups" + ], + "description": "Lists all long term retention backups for a database.", + "operationId": "LongTermRetentionBackups_ListByDatabase", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The location of the database", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionServerName", + "in": "path", + "description": "The name of the server", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionDatabaseName", + "in": "path", + "description": "The name of the database", + "required": true, + "type": "string" + }, + { + "name": "onlyLatestPerDatabase", + "in": "query", + "description": "Whether or not to only get the latest backup for each database.", + "required": false, + "type": "boolean" + }, + { + "name": "databaseState", + "in": "query", + "description": "Whether to query against just live databases, just deleted databases, or all databases.", + "required": false, + "type": "string", + "enum": [ + "All", + "Live", + "Deleted" + ], + "x-ms-enum": { + "name": "databaseState", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of backups.", + "schema": { + "$ref": "#/definitions/LongTermRetentionBackupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all long term retention backups under the database.": { + "$ref": "./examples/LongTermRetentionBackupListByDatabase.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionBackups": { + "get": { + "tags": [ + "LongTermRetentionBackups" + ], + "description": "Lists the long term retention backups for a given location.", + "operationId": "LongTermRetentionBackups_ListByLocation", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The location of the database", + "required": true, + "type": "string" + }, + { + "name": "onlyLatestPerDatabase", + "in": "query", + "description": "Whether or not to only get the latest backup for each database.", + "required": false, + "type": "boolean" + }, + { + "name": "databaseState", + "in": "query", + "description": "Whether to query against just live databases, just deleted databases, or all databases.", + "required": false, + "type": "string", + "enum": [ + "All", + "Live", + "Deleted" + ], + "x-ms-enum": { + "name": "databaseState", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of backups.", + "schema": { + "$ref": "#/definitions/LongTermRetentionBackupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all long term retention backups under the location.": { + "$ref": "./examples/LongTermRetentionBackupListByLocation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionBackups": { + "get": { + "tags": [ + "LongTermRetentionBackups" + ], + "description": "Lists the long term retention backups for a given server.", + "operationId": "LongTermRetentionBackups_ListByServer", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The location of the database", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionServerName", + "in": "path", + "description": "The name of the server", + "required": true, + "type": "string" + }, + { + "name": "onlyLatestPerDatabase", + "in": "query", + "description": "Whether or not to only get the latest backup for each database.", + "required": false, + "type": "boolean" + }, + { + "name": "databaseState", + "in": "query", + "description": "Whether to query against just live databases, just deleted databases, or all databases.", + "required": false, + "type": "string", + "enum": [ + "All", + "Live", + "Deleted" + ], + "x-ms-enum": { + "name": "databaseState", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of backups.", + "schema": { + "$ref": "#/definitions/LongTermRetentionBackupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all long term retention backups under the server.": { + "$ref": "./examples/LongTermRetentionBackupListByServer.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}/copy": { + "post": { + "tags": [ + "LongTermRetentionBackups" + ], + "description": "Copy an existing long term retention backup to a different server.", + "operationId": "LongTermRetentionBackups_CopyByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The location of the database.", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionServerName", + "in": "path", + "description": "The name of the server", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionDatabaseName", + "in": "path", + "description": "The name of the database", + "required": true, + "type": "string" + }, + { + "name": "backupName", + "in": "path", + "description": "The backup name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters needed for long term retention copy request", + "required": true, + "schema": { + "$ref": "#/definitions/CopyLongTermRetentionBackupParameters" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully Copied the backup.", + "schema": { + "$ref": "#/definitions/LongTermRetentionBackupOperationResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLongTermRetentionBackupId - Invalid long term retention backup identifier for SQL DBs.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 LongTermRetentionMismatchingSubscriptionId - The provided subscription id did not match the id in the other input\n\n * 400 LongTermRetentionMismatchingResourceGroupName - The provided resource group name did not match the name in the other input\n\n * 400 LongTermRetentionMismatchingServerName - The provided server name did not match the name in the other input\n\n * 400 LongTermRetentionMigrationRequestNotSupported - Subscription is not allowed LTR backup Migration feature.\n\n * 400 LongTermRetentionMigrationCrossClusterRequestNotSupported - Source and target subscriptions are not allowed to communicate for LTR backup copy feature.\n\n * 400 LongTermRetentionMigrationParameterMissing - Required parameter missing for the operation.\n\n * 400 LongTermRetentionMigrationSameServerNotSupported - LTR Copy feature is not supported to copy LTR backups within same server.\n\n * 400 LongTermRetentionMigrationTargetServerNotFound - Target server does not exists or is not ready for LTR backup copy operation.\n\n * 400 LongTermRetentionMigrationTargetDatabaseNotFound - Target Database does not exists on the server.\n\n * 400 LongTermRetentionMigrationStorageTypeNotSupported - Specified Backup Storage Redundancy is not supported in target region.\n\n * 400 LongTermRetentionMigrationStorageMismatch - Active backup redundancy of database does not match backup redundancy requested by customer.\n\n * 400 LongTermRetentionMigrationDatabaseTypeNotSupported - LTR migration is only supported for managed instance and Azure SQL DB LTR backups.\n\n * 400 LongTermRetentionMigrationBackupStorageRedundancyNotAllowed - Changing backup storage redundancy is not allowed for LTR Copy operations.\n\n * 400 LongTermRetentionMigrationSubscriptionNotFound - The subscription could not be found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 LongTermRetentionMigrationBackupNotFound - LTR backup specified does not exists.\n\n * 409 LongTermRetentionMigrationRequestConflict - A conflict operation on this LTR backup is still in progress.\n\n * 409 LongTermRetentionMigrationBackupConflict - Another LTR backup with same backup time for target database exists.\n\n * 500 LongTermRetentionMigrationRequestFailedToStartOnTarget - Failed to start LTR backup copy request in target region.\n\n * 500 LongTermRetentionMigrationRequestCopyFailed - Copy operation failed for LTR backup blobs.\n\n * 500 LongTermRetentionMigrationRestoreVerExceeded - Restore verification failed after max attempts were reached.\n\n * 500 LongTermRetentionMigrationRestoreVerFailed - Restore verification failed." + }, + "202": { + "description": "Copying the backup is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Copy the long term retention backup.": { + "$ref": "./examples/ResourceGroupBasedLongTermRetentionBackupCopy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}/update": { + "post": { + "tags": [ + "LongTermRetentionBackups" + ], + "description": "Updates an existing long term retention backup.", + "operationId": "LongTermRetentionBackups_UpdateByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The location of the database.", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionServerName", + "in": "path", + "description": "The name of the server", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionDatabaseName", + "in": "path", + "description": "The name of the database", + "required": true, + "type": "string" + }, + { + "name": "backupName", + "in": "path", + "description": "The backup name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested backup resource state", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateLongTermRetentionBackupParameters" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the backup.", + "schema": { + "$ref": "#/definitions/LongTermRetentionBackupOperationResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLongTermRetentionBackupId - Invalid long term retention backup identifier for SQL DBs.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 LongTermRetentionMismatchingSubscriptionId - The provided subscription id did not match the id in the other input\n\n * 400 LongTermRetentionMismatchingResourceGroupName - The provided resource group name did not match the name in the other input\n\n * 400 LongTermRetentionMismatchingServerName - The provided server name did not match the name in the other input\n\n * 400 LongTermRetentionMigrationRequestNotSupported - Subscription is not allowed LTR backup Migration feature.\n\n * 400 LongTermRetentionMigrationCrossClusterRequestNotSupported - Source and target subscriptions are not allowed to communicate for LTR backup copy feature.\n\n * 400 LongTermRetentionMigrationParameterMissing - Required parameter missing for the operation.\n\n * 400 LongTermRetentionMigrationSameServerNotSupported - LTR Copy feature is not supported to copy LTR backups within same server.\n\n * 400 LongTermRetentionMigrationTargetServerNotFound - Target server does not exists or is not ready for LTR backup copy operation.\n\n * 400 LongTermRetentionMigrationTargetDatabaseNotFound - Target Database does not exists on the server.\n\n * 400 LongTermRetentionMigrationStorageTypeNotSupported - Specified Backup Storage Redundancy is not supported in target region.\n\n * 400 LongTermRetentionMigrationStorageMismatch - Active backup redundancy of database does not match backup redundancy requested by customer.\n\n * 400 LongTermRetentionMigrationDatabaseTypeNotSupported - LTR migration is only supported for managed instance and Azure SQL DB LTR backups.\n\n * 400 LongTermRetentionMigrationBackupStorageRedundancyNotAllowed - Changing backup storage redundancy is not allowed for LTR Copy operations.\n\n * 400 LongTermRetentionMigrationSubscriptionNotFound - The subscription could not be found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 LongTermRetentionMigrationBackupNotFound - LTR backup specified does not exists.\n\n * 409 LongTermRetentionMigrationRequestConflict - A conflict operation on this LTR backup is still in progress.\n\n * 409 LongTermRetentionMigrationBackupConflict - Another LTR backup with same backup time for target database exists.\n\n * 500 LongTermRetentionMigrationRequestFailedToStartOnTarget - Failed to start LTR backup copy request in target region.\n\n * 500 LongTermRetentionMigrationRequestCopyFailed - Copy operation failed for LTR backup blobs.\n\n * 500 LongTermRetentionMigrationRestoreVerExceeded - Restore verification failed after max attempts were reached.\n\n * 500 LongTermRetentionMigrationRestoreVerFailed - Restore verification failed." + }, + "202": { + "description": "Updating the backup is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update the long term retention backup.": { + "$ref": "./examples/ResourceGroupBasedLongTermRetentionBackupUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}": { + "get": { + "tags": [ + "LongTermRetentionBackups" + ], + "description": "Gets a long term retention backup.", + "operationId": "LongTermRetentionBackups_GetByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The location of the database.", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionServerName", + "in": "path", + "description": "The name of the server", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionDatabaseName", + "in": "path", + "description": "The name of the database", + "required": true, + "type": "string" + }, + { + "name": "backupName", + "in": "path", + "description": "The backup name.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the backup.", + "schema": { + "$ref": "#/definitions/LongTermRetentionBackup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLongTermRetentionBackupId - Invalid long term retention backup identifier for SQL DBs.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 LongTermRetentionMismatchingSubscriptionId - The provided subscription id did not match the id in the other input\n\n * 400 LongTermRetentionMismatchingResourceGroupName - The provided resource group name did not match the name in the other input\n\n * 400 LongTermRetentionMismatchingServerName - The provided server name did not match the name in the other input\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get the long term retention backup.": { + "$ref": "./examples/ResourceGroupBasedLongTermRetentionBackupGet.json" + } + } + }, + "delete": { + "tags": [ + "LongTermRetentionBackups" + ], + "description": "Deletes a long term retention backup.", + "operationId": "LongTermRetentionBackups_DeleteByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The location of the database", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionServerName", + "in": "path", + "description": "The name of the server", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionDatabaseName", + "in": "path", + "description": "The name of the database", + "required": true, + "type": "string" + }, + { + "name": "backupName", + "in": "path", + "description": "The backup name.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the backup." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLongTermRetentionBackupId - Invalid long term retention backup identifier for SQL DBs.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 LongTermRetentionMismatchingSubscriptionId - The provided subscription id did not match the id in the other input\n\n * 400 LongTermRetentionMismatchingResourceGroupName - The provided resource group name did not match the name in the other input\n\n * 400 LongTermRetentionMismatchingServerName - The provided server name did not match the name in the other input\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete the long term retention backup.": { + "$ref": "./examples/ResourceGroupBasedLongTermRetentionBackupDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups": { + "get": { + "tags": [ + "LongTermRetentionBackups" + ], + "description": "Lists all long term retention backups for a database.", + "operationId": "LongTermRetentionBackups_ListByResourceGroupDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The location of the database", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionServerName", + "in": "path", + "description": "The name of the server", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionDatabaseName", + "in": "path", + "description": "The name of the database", + "required": true, + "type": "string" + }, + { + "name": "onlyLatestPerDatabase", + "in": "query", + "description": "Whether or not to only get the latest backup for each database.", + "required": false, + "type": "boolean" + }, + { + "name": "databaseState", + "in": "query", + "description": "Whether to query against just live databases, just deleted databases, or all databases.", + "required": false, + "type": "string", + "enum": [ + "All", + "Live", + "Deleted" + ], + "x-ms-enum": { + "name": "databaseState", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of backups.", + "schema": { + "$ref": "#/definitions/LongTermRetentionBackupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all long term retention backups under the database.": { + "$ref": "./examples/ResourceGroupBasedLongTermRetentionBackupListByDatabase.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionBackups": { + "get": { + "tags": [ + "LongTermRetentionBackups" + ], + "description": "Lists the long term retention backups for a given location.", + "operationId": "LongTermRetentionBackups_ListByResourceGroupLocation", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The location of the database", + "required": true, + "type": "string" + }, + { + "name": "onlyLatestPerDatabase", + "in": "query", + "description": "Whether or not to only get the latest backup for each database.", + "required": false, + "type": "boolean" + }, + { + "name": "databaseState", + "in": "query", + "description": "Whether to query against just live databases, just deleted databases, or all databases.", + "required": false, + "type": "string", + "enum": [ + "All", + "Live", + "Deleted" + ], + "x-ms-enum": { + "name": "databaseState", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of backups.", + "schema": { + "$ref": "#/definitions/LongTermRetentionBackupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all long term retention backups under the location.": { + "$ref": "./examples/ResourceGroupBasedLongTermRetentionBackupListByLocation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionBackups": { + "get": { + "tags": [ + "LongTermRetentionBackups" + ], + "description": "Lists the long term retention backups for a given server.", + "operationId": "LongTermRetentionBackups_ListByResourceGroupServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The location of the database", + "required": true, + "type": "string" + }, + { + "name": "longTermRetentionServerName", + "in": "path", + "description": "The name of the server", + "required": true, + "type": "string" + }, + { + "name": "onlyLatestPerDatabase", + "in": "query", + "description": "Whether or not to only get the latest backup for each database.", + "required": false, + "type": "boolean" + }, + { + "name": "databaseState", + "in": "query", + "description": "Whether to query against just live databases, just deleted databases, or all databases.", + "required": false, + "type": "string", + "enum": [ + "All", + "Live", + "Deleted" + ], + "x-ms-enum": { + "name": "databaseState", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of backups.", + "schema": { + "$ref": "#/definitions/LongTermRetentionBackupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all long term retention backups under the server.": { + "$ref": "./examples/ResourceGroupBasedLongTermRetentionBackupListByServer.json" + } + } + } + } + }, + "definitions": { + "CopyLongTermRetentionBackupParameters": { + "description": "Contains the information necessary to perform long term retention backup copy operation.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CopyLongTermRetentionBackupParametersProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "CopyLongTermRetentionBackupParametersProperties": { + "description": "Contains the properties to perform long term retention backup copy operation.", + "type": "object", + "properties": { + "targetSubscriptionId": { + "description": "The subscription that owns the target server", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "targetResourceGroup": { + "description": "The resource group that owns the target server", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "targetServerResourceId": { + "description": "The resource Id of the target server that owns the database", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "targetServerFullyQualifiedDomainName": { + "description": "The fully qualified domain name of the target server", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "targetDatabaseName": { + "description": "The name of the database owns the copied backup.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "targetBackupStorageRedundancy": { + "description": "The storage redundancy type of the copied backup", + "enum": [ + "Geo", + "Local", + "Zone", + "GeoZone" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + } + } + }, + "LongTermRetentionOperationResultProperties": { + "description": "Contains the operation result properties for long term retention backup operation.", + "type": "object", + "properties": { + "requestId": { + "format": "uuid", + "description": "Request Id.", + "type": "string", + "readOnly": true + }, + "operationType": { + "description": "Operation type.", + "type": "string", + "readOnly": true + }, + "fromBackupResourceId": { + "description": "Source backup resource id", + "type": "string", + "readOnly": true + }, + "toBackupResourceId": { + "description": "Target backup resource id", + "type": "string", + "readOnly": true + }, + "targetBackupStorageRedundancy": { + "description": "The storage redundancy type of the copied backup", + "enum": [ + "Geo", + "Local", + "Zone", + "GeoZone" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + } + }, + "status": { + "description": "Operation status", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Progress message", + "type": "string", + "readOnly": true + } + } + }, + "LongTermRetentionBackupOperationResult": { + "description": "A LongTermRetentionBackup operation result resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LongTermRetentionOperationResultProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "UpdateLongTermRetentionBackupParameters": { + "description": "Contains the information necessary to perform long term retention backup update operation.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateLongTermRetentionBackupParametersProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "UpdateLongTermRetentionBackupParametersProperties": { + "description": "Contains the properties to perform long term retention backup copy operation.", + "type": "object", + "properties": { + "requestedBackupStorageRedundancy": { + "description": "The storage redundancy type of the copied backup", + "enum": [ + "Geo", + "Local", + "Zone", + "GeoZone" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + } + } + }, + "LongTermRetentionBackupProperties": { + "description": "Properties of a long term retention backup", + "type": "object", + "properties": { + "serverName": { + "description": "The server name that the backup database belong to.", + "type": "string", + "readOnly": true + }, + "serverCreateTime": { + "format": "date-time", + "description": "The create time of the server.", + "type": "string", + "readOnly": true + }, + "databaseName": { + "description": "The name of the database the backup belong to", + "type": "string", + "readOnly": true + }, + "databaseDeletionTime": { + "format": "date-time", + "description": "The delete time of the database", + "type": "string", + "readOnly": true + }, + "backupTime": { + "format": "date-time", + "description": "The time the backup was taken", + "type": "string", + "readOnly": true + }, + "backupExpirationTime": { + "format": "date-time", + "description": "The time the long term retention backup will expire.", + "type": "string", + "readOnly": true + }, + "backupStorageRedundancy": { + "description": "The storage redundancy type of the backup", + "enum": [ + "Geo", + "Local", + "Zone", + "GeoZone" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + } + }, + "requestedBackupStorageRedundancy": { + "description": "The storage redundancy type of the backup", + "enum": [ + "Geo", + "Local", + "Zone", + "GeoZone" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + }, + "x-ms-mutability": [ + "create", + "update" + ] + } + } + }, + "LongTermRetentionBackup": { + "description": "A long term retention backup.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LongTermRetentionBackupProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "LongTermRetentionBackupListResult": { + "description": "A list of long term retention backups.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/LongTermRetentionBackup" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/LongTermRetentionManagedInstanceBackups.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/LongTermRetentionManagedInstanceBackups.json new file mode 100644 index 000000000000..33e2f778964a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/LongTermRetentionManagedInstanceBackups.json @@ -0,0 +1,819 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups/{backupName}": { + "get": { + "tags": [ + "LongTermRetentionManagedInstanceBackups" + ], + "description": "Gets a long term retention backup for a managed database.", + "operationId": "LongTermRetentionManagedInstanceBackups_Get", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The location of the database.", + "required": true, + "type": "string" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the managed database.", + "required": true, + "type": "string" + }, + { + "name": "backupName", + "in": "path", + "description": "The backup name.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the backup.", + "schema": { + "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLongTermRetentionManagedInstanceBackupId - Invalid long term retention backup identifier for Managed Instances.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get the long term retention backup of a managed database.": { + "$ref": "./examples/ManagedInstanceLongTermRetentionBackupGet.json" + } + } + }, + "delete": { + "tags": [ + "LongTermRetentionManagedInstanceBackups" + ], + "description": "Deletes a long term retention backup.", + "operationId": "LongTermRetentionManagedInstanceBackups_Delete", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The location of the database.", + "required": true, + "type": "string" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the managed database.", + "required": true, + "type": "string" + }, + { + "name": "backupName", + "in": "path", + "description": "The backup name.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the backup." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLongTermRetentionManagedInstanceBackupId - Invalid long term retention backup identifier for Managed Instances.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete the long term retention backup.": { + "$ref": "./examples/ManagedInstanceLongTermRetentionBackupDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups": { + "get": { + "tags": [ + "LongTermRetentionManagedInstanceBackups" + ], + "description": "Lists all long term retention backups for a managed database.", + "operationId": "LongTermRetentionManagedInstanceBackups_ListByDatabase", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The location of the database.", + "required": true, + "type": "string" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the managed database.", + "required": true, + "type": "string" + }, + { + "name": "onlyLatestPerDatabase", + "in": "query", + "description": "Whether or not to only get the latest backup for each database.", + "required": false, + "type": "boolean" + }, + { + "name": "databaseState", + "in": "query", + "description": "Whether to query against just live databases, just deleted databases, or all databases.", + "required": false, + "type": "string", + "enum": [ + "All", + "Live", + "Deleted" + ], + "x-ms-enum": { + "name": "databaseState", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of backups.", + "schema": { + "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all long term retention backups under the database.": { + "$ref": "./examples/ManagedInstanceLongTermRetentionBackupListByDatabase.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionManagedInstanceBackups": { + "get": { + "tags": [ + "LongTermRetentionManagedInstanceBackups" + ], + "description": "Lists the long term retention backups for a given managed instance.", + "operationId": "LongTermRetentionManagedInstanceBackups_ListByInstance", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The location of the database", + "required": true, + "type": "string" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "onlyLatestPerDatabase", + "in": "query", + "description": "Whether or not to only get the latest backup for each database.", + "required": false, + "type": "boolean" + }, + { + "name": "databaseState", + "in": "query", + "description": "Whether to query against just live databases, just deleted databases, or all databases.", + "required": false, + "type": "string", + "enum": [ + "All", + "Live", + "Deleted" + ], + "x-ms-enum": { + "name": "databaseState", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of backups.", + "schema": { + "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all long term retention backups under the managed instance.": { + "$ref": "./examples/ManagedInstanceLongTermRetentionBackupListByInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstanceBackups": { + "get": { + "tags": [ + "LongTermRetentionManagedInstanceBackups" + ], + "description": "Lists the long term retention backups for managed databases in a given location.", + "operationId": "LongTermRetentionManagedInstanceBackups_ListByLocation", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The location of the database.", + "required": true, + "type": "string" + }, + { + "name": "onlyLatestPerDatabase", + "in": "query", + "description": "Whether or not to only get the latest backup for each database.", + "required": false, + "type": "boolean" + }, + { + "name": "databaseState", + "in": "query", + "description": "Whether to query against just live databases, just deleted databases, or all databases.", + "required": false, + "type": "string", + "enum": [ + "All", + "Live", + "Deleted" + ], + "x-ms-enum": { + "name": "databaseState", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of backups.", + "schema": { + "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all long term retention backups under the location.": { + "$ref": "./examples/ManagedInstanceLongTermRetentionBackupListByLocation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups/{backupName}": { + "get": { + "tags": [ + "LongTermRetentionManagedInstanceBackups" + ], + "description": "Gets a long term retention backup for a managed database.", + "operationId": "LongTermRetentionManagedInstanceBackups_GetByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The location of the database.", + "required": true, + "type": "string" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the managed database.", + "required": true, + "type": "string" + }, + { + "name": "backupName", + "in": "path", + "description": "The backup name.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the backup.", + "schema": { + "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLongTermRetentionManagedInstanceBackupId - Invalid long term retention backup identifier for Managed Instances.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get the long term retention backup.": { + "$ref": "./examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupGet.json" + } + } + }, + "delete": { + "tags": [ + "LongTermRetentionManagedInstanceBackups" + ], + "description": "Deletes a long term retention backup.", + "operationId": "LongTermRetentionManagedInstanceBackups_DeleteByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The location of the database", + "required": true, + "type": "string" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the managed database.", + "required": true, + "type": "string" + }, + { + "name": "backupName", + "in": "path", + "description": "The backup name.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the backup." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLongTermRetentionManagedInstanceBackupId - Invalid long term retention backup identifier for Managed Instances.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete the long term retention backup.": { + "$ref": "./examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups": { + "get": { + "tags": [ + "LongTermRetentionManagedInstanceBackups" + ], + "description": "Lists all long term retention backups for a managed database.", + "operationId": "LongTermRetentionManagedInstanceBackups_ListByResourceGroupDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The location of the database", + "required": true, + "type": "string" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the managed database.", + "required": true, + "type": "string" + }, + { + "name": "onlyLatestPerDatabase", + "in": "query", + "description": "Whether or not to only get the latest backup for each database.", + "required": false, + "type": "boolean" + }, + { + "name": "databaseState", + "in": "query", + "description": "Whether to query against just live databases, just deleted databases, or all databases.", + "required": false, + "type": "string", + "enum": [ + "All", + "Live", + "Deleted" + ], + "x-ms-enum": { + "name": "databaseState", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of backups.", + "schema": { + "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all long term retention backups under the database.": { + "$ref": "./examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByDatabase.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionManagedInstanceBackups": { + "get": { + "tags": [ + "LongTermRetentionManagedInstanceBackups" + ], + "description": "Lists the long term retention backups for a given managed instance.", + "operationId": "LongTermRetentionManagedInstanceBackups_ListByResourceGroupInstance", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The location of the database.", + "required": true, + "type": "string" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "onlyLatestPerDatabase", + "in": "query", + "description": "Whether or not to only get the latest backup for each database.", + "required": false, + "type": "boolean" + }, + { + "name": "databaseState", + "in": "query", + "description": "Whether to query against just live databases, just deleted databases, or all databases.", + "required": false, + "type": "string", + "enum": [ + "All", + "Live", + "Deleted" + ], + "x-ms-enum": { + "name": "databaseState", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of backups.", + "schema": { + "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all long term retention backups under the managed instance.": { + "$ref": "./examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstanceBackups": { + "get": { + "tags": [ + "LongTermRetentionManagedInstanceBackups" + ], + "description": "Lists the long term retention backups for managed databases in a given location.", + "operationId": "LongTermRetentionManagedInstanceBackups_ListByResourceGroupLocation", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The location of the database.", + "required": true, + "type": "string" + }, + { + "name": "onlyLatestPerDatabase", + "in": "query", + "description": "Whether or not to only get the latest backup for each database.", + "required": false, + "type": "boolean" + }, + { + "name": "databaseState", + "in": "query", + "description": "Whether to query against just live databases, just deleted databases, or all databases.", + "required": false, + "type": "string", + "enum": [ + "All", + "Live", + "Deleted" + ], + "x-ms-enum": { + "name": "databaseState", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of backups.", + "schema": { + "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all long term retention backups under the location.": { + "$ref": "./examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByLocation.json" + } + } + } + } + }, + "definitions": { + "ManagedInstanceLongTermRetentionBackupProperties": { + "description": "Properties of a long term retention backup", + "type": "object", + "properties": { + "managedInstanceName": { + "description": "The managed instance that the backup database belongs to.", + "type": "string", + "readOnly": true + }, + "managedInstanceCreateTime": { + "format": "date-time", + "description": "The create time of the instance.", + "type": "string", + "readOnly": true + }, + "databaseName": { + "description": "The name of the database the backup belong to", + "type": "string", + "readOnly": true + }, + "databaseDeletionTime": { + "format": "date-time", + "description": "The delete time of the database", + "type": "string", + "readOnly": true + }, + "backupTime": { + "format": "date-time", + "description": "The time the backup was taken", + "type": "string", + "readOnly": true + }, + "backupExpirationTime": { + "format": "date-time", + "description": "The time the long term retention backup will expire.", + "type": "string", + "readOnly": true + }, + "backupStorageRedundancy": { + "description": "The storage redundancy type of the backup", + "enum": [ + "Geo", + "Local", + "Zone", + "GeoZone" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + } + } + } + }, + "ManagedInstanceLongTermRetentionBackup": { + "description": "A long term retention backup for a managed database.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackupProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ManagedInstanceLongTermRetentionBackupListResult": { + "description": "A list of long term retention backups for managed database(s).", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackup" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/LongTermRetentionPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/LongTermRetentionPolicies.json new file mode 100644 index 000000000000..e19d0b5899bf --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/LongTermRetentionPolicies.json @@ -0,0 +1,277 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{policyName}": { + "get": { + "tags": [ + "LongTermRetentionPolicies" + ], + "description": "Gets a database's long term retention policy.", + "operationId": "LongTermRetentionPolicies_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "policyName", + "in": "path", + "description": "The policy name. Should always be Default.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "LongTermRetentionPolicyName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully get the policy.", + "schema": { + "$ref": "#/definitions/LongTermRetentionPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 LongTermRetentionPolicyNotSupported - Long Term Retention is not supported on this database.\n\n * 400 LongTermRetentionPolicyInvalid - Long Term Retention policy is invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get the long term retention policy for the database.": { + "$ref": "./examples/LongTermRetentionPolicyGet.json" + } + } + }, + "put": { + "tags": [ + "LongTermRetentionPolicies" + ], + "description": "Sets a database's long term retention policy.", + "operationId": "LongTermRetentionPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "policyName", + "in": "path", + "description": "The policy name. Should always be Default.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "LongTermRetentionPolicyName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The long term retention policy info.", + "required": true, + "schema": { + "$ref": "#/definitions/LongTermRetentionPolicy" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully set the policy.", + "schema": { + "$ref": "#/definitions/LongTermRetentionPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 LongTermRetentionMissingWeekOfYear - WeekOfYear is required to be set between 1 and 52 in order to set yearly retention.\n\n * 400 LongTermRetentionPolicyNotSupported - Long Term Retention is not supported on this database.\n\n * 400 LongTermRetentionPolicyInvalid - Long Term Retention policy is invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update the long term retention policy for the database.": { + "$ref": "./examples/LongTermRetentionPolicyCreateOrUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies": { + "get": { + "tags": [ + "LongTermRetentionPolicies" + ], + "description": "Gets a database's long term retention policy.", + "operationId": "LongTermRetentionPolicies_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully get the policy.", + "schema": { + "$ref": "#/definitions/LongTermRetentionPolicyListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 LongTermRetentionPolicyNotSupported - Long Term Retention is not supported on this database.\n\n * 400 LongTermRetentionPolicyInvalid - Long Term Retention policy is invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get the long term retention policy for the database.": { + "$ref": "./examples/LongTermRetentionPolicyListByDatabase.json" + } + } + } + } + }, + "definitions": { + "BaseLongTermRetentionPolicyProperties": { + "description": "Properties of a long term retention policy", + "type": "object", + "properties": { + "weeklyRetention": { + "description": "The weekly retention policy for an LTR backup in an ISO 8601 format.", + "type": "string" + }, + "monthlyRetention": { + "description": "The monthly retention policy for an LTR backup in an ISO 8601 format.", + "type": "string" + }, + "yearlyRetention": { + "description": "The yearly retention policy for an LTR backup in an ISO 8601 format.", + "type": "string" + }, + "weekOfYear": { + "format": "int32", + "description": "The week of year to take the yearly backup in an ISO 8601 format.", + "type": "integer" + } + } + }, + "LongTermRetentionPolicy": { + "description": "A long term retention policy.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BaseLongTermRetentionPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "LongTermRetentionPolicyListResult": { + "description": "A list of long term retention policies.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/LongTermRetentionPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/MaintenanceWindowOptions.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/MaintenanceWindowOptions.json new file mode 100644 index 000000000000..d7c80cf77e21 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/MaintenanceWindowOptions.json @@ -0,0 +1,184 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/maintenanceWindowOptions/current": { + "get": { + "tags": [ + "MaintenanceWindowOptions" + ], + "description": "Gets a list of available maintenance windows.", + "operationId": "MaintenanceWindowOptions_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database to get maintenance windows options for.", + "required": true, + "type": "string" + }, + { + "name": "maintenanceWindowOptionsName", + "in": "query", + "description": "Maintenance window options name.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of maintenance windows options.", + "schema": { + "$ref": "#/definitions/MaintenanceWindowOptions" + } + }, + "default": { + "description": "*** Error Responses: ***" + } + }, + "x-ms-examples": { + "Gets a list of available maintenance windows for a selected database.": { + "$ref": "./examples/GetMaintenanceWindowOptions.json" + } + } + } + } + }, + "definitions": { + "MaintenanceWindowOptionsProperties": { + "description": "Maintenance window options properties.", + "type": "object", + "properties": { + "isEnabled": { + "description": "Whether maintenance windows are enabled for the database.", + "type": "boolean" + }, + "maintenanceWindowCycles": { + "description": "Available maintenance cycles e.g. {Saturday, 0, 48*60}, {Wednesday, 0, 24*60}.", + "type": "array", + "items": { + "$ref": "#/definitions/MaintenanceWindowTimeRange" + } + }, + "minDurationInMinutes": { + "format": "int32", + "description": "Minimum duration of maintenance window.", + "type": "integer" + }, + "defaultDurationInMinutes": { + "format": "int32", + "description": "Default duration for maintenance window.", + "type": "integer" + }, + "minCycles": { + "format": "int32", + "description": "Minimum number of maintenance windows cycles to be set on the database.", + "type": "integer" + }, + "timeGranularityInMinutes": { + "format": "int32", + "description": "Time granularity in minutes for maintenance windows.", + "type": "integer" + }, + "allowMultipleMaintenanceWindowsPerCycle": { + "description": "Whether we allow multiple maintenance windows per cycle.", + "type": "boolean" + } + } + }, + "MaintenanceWindowTimeRange": { + "description": "Maintenance window time range.", + "type": "object", + "properties": { + "dayOfWeek": { + "description": "Day of maintenance window.", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": true + } + }, + "startTime": { + "description": "Start time minutes offset from 12am.", + "type": "string" + }, + "duration": { + "description": "Duration of maintenance window in minutes.", + "type": "string" + } + } + }, + "MaintenanceWindowOptions": { + "description": "Maintenance window options.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MaintenanceWindowOptionsProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/MaintenanceWindows.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/MaintenanceWindows.json new file mode 100644 index 000000000000..4d561dac69e5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/MaintenanceWindows.json @@ -0,0 +1,211 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/maintenanceWindows/current": { + "get": { + "tags": [ + "MaintenanceWindows" + ], + "description": "Gets maintenance windows settings for a database.", + "operationId": "MaintenanceWindows_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database to get maintenance windows for.", + "required": true, + "type": "string" + }, + { + "name": "maintenanceWindowName", + "in": "query", + "description": "Maintenance window name.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved maintenance windows settings.", + "schema": { + "$ref": "#/definitions/MaintenanceWindows" + } + }, + "default": { + "description": "*** Error Responses: ***" + } + }, + "x-ms-examples": { + "Gets maintenance window settings for a selected database.": { + "$ref": "./examples/GetMaintenanceWindows.json" + } + } + }, + "put": { + "tags": [ + "MaintenanceWindows" + ], + "description": "Sets maintenance windows settings for a database.", + "operationId": "MaintenanceWindows_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database to set maintenance windows for.", + "required": true, + "type": "string" + }, + { + "name": "maintenanceWindowName", + "in": "query", + "description": "Maintenance window name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MaintenanceWindows" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully set maintenance windows settings." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidMaintenanceWindowSelection - Invalid maintenance window selection." + } + }, + "x-ms-examples": { + "Sets maintenance window settings for a selected database.": { + "$ref": "./examples/CreateOrUpdateMaintenanceWindows.json" + } + } + } + } + }, + "definitions": { + "MaintenanceWindowsProperties": { + "description": "Maintenance windows resource properties.", + "type": "object", + "properties": { + "timeRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/MaintenanceWindowTimeRange" + } + } + } + }, + "MaintenanceWindowTimeRange": { + "description": "Maintenance window time range.", + "type": "object", + "properties": { + "dayOfWeek": { + "description": "Day of maintenance window.", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": true + } + }, + "startTime": { + "description": "Start time minutes offset from 12am.", + "type": "string" + }, + "duration": { + "description": "Duration of maintenance window in minutes.", + "type": "string" + } + } + }, + "MaintenanceWindows": { + "description": "Maintenance windows.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MaintenanceWindowsProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedBackupShortTermRetentionPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedBackupShortTermRetentionPolicies.json new file mode 100644 index 000000000000..2cc75d2528f0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedBackupShortTermRetentionPolicies.json @@ -0,0 +1,332 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}": { + "get": { + "tags": [ + "ManagedBackupShortTermRetentionPolicies" + ], + "description": "Gets a managed database's short term retention policy.", + "operationId": "ManagedBackupShortTermRetentionPolicies_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "policyName", + "in": "path", + "description": "The policy name.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ManagedShortTermRetentionPolicyName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the policy.", + "schema": { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidBackupRetentionDays - The retention days of {0} is not a valid configuration. Valid backup retention must be in 7-day increments (7, 14, 21, etc.)\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get the short term retention policy for the database.": { + "$ref": "./examples/GetManagedShortTermRetentionPolicy.json" + } + } + }, + "put": { + "tags": [ + "ManagedBackupShortTermRetentionPolicies" + ], + "description": "Updates a managed database's short term retention policy.", + "operationId": "ManagedBackupShortTermRetentionPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "policyName", + "in": "path", + "description": "The policy name. Should always be \"default\".", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ManagedShortTermRetentionPolicyName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The short term retention policy info.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicy" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the policy.", + "schema": { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidBackupRetentionDays - The retention days of {0} is not a valid configuration. Valid backup retention must be in 7-day increments (7, 14, 21, etc.)\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update the short term retention policy for the database.": { + "$ref": "./examples/UpdateManagedShortTermRetentionPolicy.json" + } + } + }, + "patch": { + "tags": [ + "ManagedBackupShortTermRetentionPolicies" + ], + "description": "Updates a managed database's short term retention policy.", + "operationId": "ManagedBackupShortTermRetentionPolicies_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "policyName", + "in": "path", + "description": "The policy name. Should always be \"default\".", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ManagedShortTermRetentionPolicyName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The short term retention policy info.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicy" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the policy.", + "schema": { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidBackupRetentionDays - The retention days of {0} is not a valid configuration. Valid backup retention must be in 7-day increments (7, 14, 21, etc.)\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update the short term retention policy for the database.": { + "$ref": "./examples/UpdateManagedShortTermRetentionPolicy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupShortTermRetentionPolicies": { + "get": { + "tags": [ + "ManagedBackupShortTermRetentionPolicies" + ], + "description": "Gets a managed database's short term retention policy list.", + "operationId": "ManagedBackupShortTermRetentionPolicies_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the policy.", + "schema": { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicyListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidBackupRetentionDays - The retention days of {0} is not a valid configuration. Valid backup retention must be in 7-day increments (7, 14, 21, etc.)\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get the short term retention policy list for the database.": { + "$ref": "./examples/GetListManagedShortTermRetentionPolicy.json" + } + } + } + } + }, + "definitions": { + "ManagedBackupShortTermRetentionPolicyProperties": { + "description": "Properties of a short term retention policy", + "type": "object", + "properties": { + "retentionDays": { + "format": "int32", + "description": "The backup retention period in days. This is how many days Point-in-Time Restore will be supported.", + "type": "integer" + } + } + }, + "ManagedBackupShortTermRetentionPolicy": { + "description": "A short term retention policy.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ManagedBackupShortTermRetentionPolicyListResult": { + "description": "A list of short term retention policies.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseColumns.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseColumns.json new file mode 100644 index 000000000000..a0c7f3fc1583 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseColumns.json @@ -0,0 +1,390 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/columns": { + "get": { + "tags": [ + "ManagedDatabaseColumns" + ], + "description": "List managed database columns", + "operationId": "ManagedDatabaseColumns_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schema", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "table", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "column", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "orderBy", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "$skiptoken", + "in": "query", + "description": "An opaque token that identifies a starting point in the collection.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved database columns.", + "schema": { + "$ref": "#/definitions/DatabaseColumnListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UnsupportedColumnOrderByProperty - The order-by property '{0}' is not supported. Allowed properties are: {1}.\n\n * 400 UnsupportedColumnSortDirection - The column sort direction '{0}' is not supported. Allowed values are: {1}.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List managed database columns": { + "$ref": "./examples/ManagedColumnsListByDatabaseMin.json" + }, + "Filter managed database columns": { + "$ref": "./examples/ManagedColumnsListByDatabaseMax.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns": { + "get": { + "tags": [ + "ManagedDatabaseColumns" + ], + "description": "List managed database columns", + "operationId": "ManagedDatabaseColumns_ListByTable", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "name": "tableName", + "in": "path", + "description": "The name of the table.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "An OData filter expression that filters elements in the collection.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved managed database columns.", + "schema": { + "$ref": "#/definitions/DatabaseColumnListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InvalidDatabaseSchema - Schema is missing in database.\n\n * 404 InvalidDatabaseTable - Table is missing in database.\n\n * 404 InvalidDatabaseColumn - Column is missing in table.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-odata": "#/definitions/DatabaseColumn", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List managed database columns": { + "$ref": "./examples/ManagedDatabaseColumnListByTable.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}": { + "get": { + "tags": [ + "ManagedDatabaseColumns" + ], + "description": "Get managed database column", + "operationId": "ManagedDatabaseColumns_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "name": "tableName", + "in": "path", + "description": "The name of the table.", + "required": true, + "type": "string" + }, + { + "name": "columnName", + "in": "path", + "description": "The name of the column.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved managed database column.", + "schema": { + "$ref": "#/definitions/DatabaseColumn" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InvalidDatabaseSchema - Schema is missing in database.\n\n * 404 InvalidDatabaseTable - Table is missing in database.\n\n * 404 InvalidDatabaseColumn - Column is missing in table.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-examples": { + "Get managed database column": { + "$ref": "./examples/ManagedDatabaseColumnGet.json" + } + } + } + } + }, + "definitions": { + "DatabaseColumnListResult": { + "description": "A list of database columns.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseColumn" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "DatabaseColumnProperties": { + "description": "Database column properties.", + "type": "object", + "properties": { + "columnType": { + "description": "The column data type.", + "enum": [ + "image", + "text", + "uniqueidentifier", + "date", + "time", + "datetime2", + "datetimeoffset", + "tinyint", + "smallint", + "int", + "smalldatetime", + "real", + "money", + "datetime", + "float", + "sql_variant", + "ntext", + "bit", + "decimal", + "numeric", + "smallmoney", + "bigint", + "hierarchyid", + "geometry", + "geography", + "varbinary", + "varchar", + "binary", + "char", + "timestamp", + "nvarchar", + "nchar", + "xml", + "sysname" + ], + "type": "string", + "x-ms-enum": { + "name": "ColumnDataType", + "modelAsString": true + } + }, + "temporalType": { + "description": "The table temporal type.", + "enum": [ + "NonTemporalTable", + "HistoryTable", + "SystemVersionedTemporalTable" + ], + "type": "string", + "x-ms-enum": { + "name": "TableTemporalType", + "modelAsString": true + } + }, + "memoryOptimized": { + "description": "Whether or not the column belongs to a memory optimized table.", + "type": "boolean" + }, + "isComputed": { + "description": "Whether or not the column is computed.", + "type": "boolean" + } + } + }, + "DatabaseColumn": { + "description": "A database column resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DatabaseColumnProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseQueries.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseQueries.json new file mode 100644 index 000000000000..07e935448ff5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseQueries.json @@ -0,0 +1,382 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/queries/{queryId}": { + "get": { + "tags": [ + "ManagedDatabaseQueries" + ], + "description": "Get query by query id.", + "operationId": "ManagedDatabaseQueries_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "queryId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved query text.", + "schema": { + "$ref": "#/definitions/ManagedInstanceQuery" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Obtain query properties": { + "$ref": "./examples/ManagedInstanceQueryGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/queries/{queryId}/statistics": { + "get": { + "tags": [ + "ManagedDatabaseQueries" + ], + "description": "Get query execution statistics by query id.", + "operationId": "ManagedDatabaseQueries_ListByQuery", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "queryId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "startTime", + "in": "query", + "description": "Start time for observed period.", + "required": false, + "type": "string" + }, + { + "name": "endTime", + "in": "query", + "description": "End time for observed period.", + "required": false, + "type": "string" + }, + { + "name": "interval", + "in": "query", + "description": "The time step to be used to summarize the metric values.", + "required": false, + "type": "string", + "enum": [ + "PT1H", + "P1D" + ], + "x-ms-enum": { + "name": "QueryTimeGrainType", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved query text.", + "schema": { + "$ref": "#/definitions/ManagedInstanceQueryStatistics" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Obtain query execution statistics. Minimal example with only mandatory request parameters.": { + "$ref": "./examples/ManagedInstanceQueryStatisticsListMin.json" + }, + "Obtain query execution statistics": { + "$ref": "./examples/ManagedInstanceQueryStatisticsList.json" + }, + "Obtain query execution statistics. Example with all request parameters.": { + "$ref": "./examples/ManagedInstanceQueryStatisticsListMax.json" + } + } + } + } + }, + "definitions": { + "QueryProperties": { + "description": "Properties of a database query.", + "type": "object", + "properties": { + "queryText": { + "description": "Query text.", + "type": "string" + } + } + }, + "ManagedInstanceQuery": { + "description": "Database query.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/QueryProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ManagedInstanceQueryStatistics": { + "description": "Execution statistics for one particular query", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/QueryStatistics" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "QueryStatisticsProperties": { + "description": "Properties of a query execution statistics.", + "type": "object", + "properties": { + "databaseName": { + "description": "Database name of the database in which this query was executed.", + "type": "string", + "readOnly": true + }, + "queryId": { + "description": "Unique query id (unique within one database).", + "type": "string", + "readOnly": true + }, + "startTime": { + "description": "The start time for the metric (ISO-8601 format).", + "type": "string", + "readOnly": true + }, + "endTime": { + "description": "The end time for the metric (ISO-8601 format).", + "type": "string", + "readOnly": true + }, + "intervals": { + "description": "List of intervals with appropriate metric data", + "type": "array", + "items": { + "$ref": "#/definitions/QueryMetricInterval" + } + } + } + }, + "QueryMetricInterval": { + "description": "Properties of a query metrics interval.", + "type": "object", + "properties": { + "intervalStartTime": { + "description": "The start time for the metric interval (ISO-8601 format).", + "type": "string", + "readOnly": true + }, + "intervalType": { + "description": "Interval type (length).", + "enum": [ + "PT1H", + "P1D" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "QueryTimeGrainType", + "modelAsString": true + } + }, + "executionCount": { + "format": "int64", + "description": "Execution count of a query in this interval.", + "type": "integer", + "readOnly": true + }, + "metrics": { + "description": "List of metric objects for this interval", + "type": "array", + "items": { + "$ref": "#/definitions/QueryMetricProperties" + } + } + } + }, + "QueryMetricProperties": { + "description": "Properties of a topquery metric in one interval.", + "type": "object", + "properties": { + "name": { + "description": "The name information for the metric.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "The UI appropriate name for the metric.", + "type": "string", + "readOnly": true + }, + "unit": { + "description": "The unit of the metric.", + "enum": [ + "percentage", + "KB", + "microseconds", + "count" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "QueryMetricUnitType", + "modelAsString": true + } + }, + "value": { + "format": "double", + "description": "The value of the metric.", + "type": "number", + "readOnly": true + }, + "min": { + "format": "double", + "description": "Metric value when min() aggregate function is used over the interval.", + "type": "number", + "readOnly": true + }, + "max": { + "format": "double", + "description": "Metric value when max() aggregate function is used over the interval.", + "type": "number", + "readOnly": true + }, + "avg": { + "format": "double", + "description": "Metric value when avg() aggregate function is used over the interval.", + "type": "number", + "readOnly": true + }, + "sum": { + "format": "double", + "description": "Metric value when sum() aggregate function is used over the interval.", + "type": "number", + "readOnly": true + }, + "stdev": { + "format": "double", + "description": "Metric value when stdev aggregate function is used over the interval.", + "type": "number", + "readOnly": true + } + } + }, + "QueryStatistics": { + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/QueryStatisticsProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseRestoreDetails.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseRestoreDetails.json new file mode 100644 index 000000000000..0c5a9779415a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseRestoreDetails.json @@ -0,0 +1,186 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/restoreDetails/{restoreDetailsName}": { + "get": { + "tags": [ + "ManagedDatabaseRestoreDetails" + ], + "description": "Gets managed database restore details.", + "operationId": "ManagedDatabaseRestoreDetails_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "restoreDetailsName", + "in": "path", + "description": "The name of the restore details to retrieve.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "RestoreDetailsName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved restore details.", + "schema": { + "$ref": "#/definitions/ManagedDatabaseRestoreDetailsResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 AutoCompleteMissingLastBackupName - Auto complete restore request must have lastBackupName parameter provided.\n\n * 400 MissingThumbprint - Can not find server certificate.\n\n * 400 BlobStorageServerFailure - Blob storage server failure has occurred.\n\n * 400 BackupSetNotFound - No backups were found to restore the database. Please contact support to restore the database.\n\n * 400 FullBackupNotFound - Full backup can not be found.\n\n * 400 RestoreFromStripedBackupsNotEnabled - Restoring from striped backups is not supported.\n\n * 400 BrokenRestorePlanNoFullBackup - The restore plan is broken because there is no full backup.\n\n * 400 BrokenRestorePlanWrongLogBackupLSN - The restore plan is broken because firstLsn of current log backup is not <= lastLsn of next log backup.\n\n * 400 BrokenRestorePlanWrongDiffBackupLSN - The restore plan is broken because firstLsn of diff backup is not >= firstLsn of full backup.\n\n * 400 BrokenRestorePlanGapInLogBackups - The restore plan is broken because firstLsn of current log backup is not equal to lastLsn of prev log backup.\n\n * 400 XtpInitializedDuringRestore - Memory-optimized filegroup must be empty in order to be restored on General Purpose tier of SQL Database Managed Instance.\n\n * 400 FullBackupMissingChecksum - Provided full backup is missing checksum.\n\n * 400 FullBackupDamaged - Provided full backup is damaged.\n\n * 400 MissingStripeInBackupSet - Provided backup set has one or more missing stripes.\n\n * 400 PartiallyContainedDatabaseUnsupported - \"Backup for a partially contained database is not supported.\"\n\n * 400 RequiredBackupIsNotLastRestored - Migration cannot be completed because provided backup file name is not the name of the last backup file that is restored.\n\n * 400 ManagedInstanceStorageLimitHit - The managed instance has reached its storage limit.\n\n * 400 IncompatiblePhysicalLayoutTooFewDataFiles - Database backup contains incompatible physical layout. No data files are found in the backup.\n\n * 400 IncompatiblePhysicalLayoutNonOnlineDataFilesExist - Database backup contains incompatible physical layout. Non-online data files exist.\n\n * 400 IncompatiblePhysicalLayoutWrongNumberOfLogFiles - Database backup contains incompatible physical layout. Multiple log files are not supported.\n\n * 400 IncompatiblePhysicalLayoutNonOnlineLogFilesExist - Database backup contains incompatible physical layout. Non-online log files exist.\n\n * 400 IncompatiblePhysicalLayoutTooManyNonDataLogFiles - Database backup contains incompatible physical layout. Too many non-data/log files.\n\n * 400 ExternalBackupAlreadySignaledToComplete - The restore request has already been signaled to complete.\n\n * 400 ExternalBackupRestoreHasNotBeenStarted - The restore request can only be completed once the restore has started.\n\n * 400 ExternalBackupUpgradeInProgress - The restore request cannot be completed, since upgrade is in progress.\n\n * 400 IncompatiblePhysicalLayoutTooManyXTPFiles - Database backup contains incompatible physical layout. Multiple files found in the filegroup that contains MEMORY_OPTIMIZED_DATA.\n\n * 400 BlobStorageFailure - Blob storage failure has occurred.\n\n * 400 ManagedDatabaseNotInRestoringState - Managed database is not in Restoring state." + } + }, + "x-ms-examples": { + "Managed database restore details.": { + "$ref": "./examples/ManagedDatabaseRestoreDetails.json" + } + } + } + } + }, + "definitions": { + "ManagedDatabaseRestoreDetailsProperties": { + "description": "The managed database's restore details properties.", + "type": "object", + "properties": { + "status": { + "description": "Restore status.", + "type": "string", + "readOnly": true + }, + "currentRestoringFileName": { + "description": "Current restoring file name.", + "type": "string", + "readOnly": true + }, + "lastRestoredFileName": { + "description": "Last restored file name.", + "type": "string", + "readOnly": true + }, + "lastRestoredFileTime": { + "format": "date-time", + "description": "Last restored file time.", + "type": "string", + "readOnly": true + }, + "percentCompleted": { + "format": "double", + "description": "Percent completed.", + "type": "number", + "readOnly": true + }, + "unrestorableFiles": { + "description": "List of unrestorable files.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "numberOfFilesDetected": { + "format": "int64", + "description": "Number of files detected.", + "type": "integer", + "readOnly": true + }, + "lastUploadedFileName": { + "description": "Last uploaded file name.", + "type": "string", + "readOnly": true + }, + "lastUploadedFileTime": { + "format": "date-time", + "description": "Last uploaded file time.", + "type": "string", + "readOnly": true + }, + "blockReason": { + "description": "The reason why restore is in Blocked state.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedDatabaseRestoreDetailsResult": { + "description": "A managed database restore details.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ManagedDatabaseRestoreDetailsProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseSchemas.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseSchemas.json new file mode 100644 index 000000000000..668b66303501 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseSchemas.json @@ -0,0 +1,182 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas": { + "get": { + "tags": [ + "ManagedDatabaseSchemas" + ], + "description": "List managed database schemas", + "operationId": "ManagedDatabaseSchemas_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "An OData filter expression that filters elements in the collection.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved managed database schemas.", + "schema": { + "$ref": "#/definitions/DatabaseSchemaListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InvalidDatabaseSchema - Schema is missing in database.\n\n * 404 InvalidDatabaseTable - Table is missing in database.\n\n * 404 InvalidDatabaseColumn - Column is missing in table.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-odata": "#/definitions/DatabaseSchema", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List managed database schemas": { + "$ref": "./examples/ManagedDatabaseSchemaListByDatabase.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}": { + "get": { + "tags": [ + "ManagedDatabaseSchemas" + ], + "description": "Get managed database schema", + "operationId": "ManagedDatabaseSchemas_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved managed database schema.", + "schema": { + "$ref": "#/definitions/DatabaseSchema" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InvalidDatabaseSchema - Schema is missing in database.\n\n * 404 InvalidDatabaseTable - Table is missing in database.\n\n * 404 InvalidDatabaseColumn - Column is missing in table.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-examples": { + "Get managed database schema": { + "$ref": "./examples/ManagedDatabaseSchemaGet.json" + } + } + } + } + }, + "definitions": { + "DatabaseSchema": { + "description": "A database schema resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": {} + }, + "DatabaseSchemaListResult": { + "description": "A list of database schemas.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseSchema" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseSecurityAlertPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseSecurityAlertPolicies.json new file mode 100644 index 000000000000..0835b70d66d3 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseSecurityAlertPolicies.json @@ -0,0 +1,325 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}": { + "get": { + "tags": [ + "ManagedDatabaseSecurityAlertPolicies" + ], + "description": "Gets a managed database's security alert policy.", + "operationId": "ManagedDatabaseSecurityAlertPolicies_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the managed database for which the security alert policy is defined.", + "required": true, + "type": "string" + }, + { + "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": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the managed database security alert policy.", + "schema": { + "$ref": "#/definitions/ManagedDatabaseSecurityAlertPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountCredentials - The provided storage account access key is not valid.\n\n * 400 UpdateNotAllowedOnServerContainingPausedDWDatabase - Setting server Threat Detection settings is not allowed on a server with a paused Data Warehouse database\n\n * 400 SecurityAlertPoliciesInsufficientDiskSpace - Insufficient disk space to save security alert policy metadata in the database\n\n * 400 SecurityAlertPoliciesInsufficientStorageAccountPermissions - Insufficient read or write permissions on the provided storage account.\n\n * 400 SecurityAlertPoliciesStorageAccountIsDisabled - The storage account provided in the threat detection policy is disabled.\n\n * 400 InvalidServerSecurityAlertPolicyCreateRequest - The create server Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 ServerSecurityAlertPolicyInProgress - Set server security alert policy is already in progress\n\n * 409 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 GetServerSecurityAlertPolicyFailed - Failed to get Threat Detection settings" + } + }, + "x-ms-examples": { + "Get a database's threat detection policy": { + "$ref": "./examples/ManagedDatabaseSecurityAlertGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedDatabaseSecurityAlertPolicies" + ], + "description": "Creates or updates a database's security alert policy.", + "operationId": "ManagedDatabaseSecurityAlertPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the managed database for which the security alert policy is defined.", + "required": true, + "type": "string" + }, + { + "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 + } + }, + { + "name": "parameters", + "in": "body", + "description": "The database security alert policy.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedDatabaseSecurityAlertPolicy" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully set the managed database security alert policy.", + "schema": { + "$ref": "#/definitions/ManagedDatabaseSecurityAlertPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***" + }, + "201": { + "description": "Successfully created the managed database security alert policy.", + "schema": { + "$ref": "#/definitions/ManagedDatabaseSecurityAlertPolicy" + } + } + }, + "x-ms-examples": { + "Update a database's threat detection policy with minimal parameters": { + "$ref": "./examples/ManagedDatabaseSecurityAlertCreateMin.json" + }, + "Update a database's threat detection policy with all parameters": { + "$ref": "./examples/ManagedDatabaseSecurityAlertCreateMax.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/securityAlertPolicies": { + "get": { + "tags": [ + "ManagedDatabaseSecurityAlertPolicies" + ], + "description": "Gets a list of managed database's security alert policies.", + "operationId": "ManagedDatabaseSecurityAlertPolicies_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the managed database for which the security alert policies are defined.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the managed database security alert policies.", + "schema": { + "$ref": "#/definitions/ManagedDatabaseSecurityAlertPolicyListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountCredentials - The provided storage account access key is not valid.\n\n * 400 UpdateNotAllowedOnServerContainingPausedDWDatabase - Setting server Threat Detection settings is not allowed on a server with a paused Data Warehouse database\n\n * 400 SecurityAlertPoliciesInsufficientDiskSpace - Insufficient disk space to save security alert policy metadata in the database\n\n * 400 SecurityAlertPoliciesInsufficientStorageAccountPermissions - Insufficient read or write permissions on the provided storage account.\n\n * 400 SecurityAlertPoliciesStorageAccountIsDisabled - The storage account provided in the threat detection policy is disabled.\n\n * 400 InvalidServerSecurityAlertPolicyCreateRequest - The create server Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 ServerSecurityAlertPolicyInProgress - Set server security alert policy is already in progress\n\n * 409 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 GetServerSecurityAlertPolicyFailed - Failed to get Threat Detection settings" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a list of the database's threat detection policies.": { + "$ref": "./examples/ManagedDatabaseSecurityAlertListByDatabase.json" + } + } + } + } + }, + "definitions": { + "SecurityAlertPolicyProperties": { + "description": "Properties of a security alert policy.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "state": { + "description": "Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.", + "enum": [ + "New", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "SecurityAlertPolicyState", + "modelAsString": false + } + }, + "disabledAlerts": { + "description": "Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force", + "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" + } + }, + "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" + }, + "creationTime": { + "format": "date-time", + "description": "Specifies the UTC creation time of the policy.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedDatabaseSecurityAlertPolicy": { + "description": "A managed database security alert policy.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SecurityAlertPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ManagedDatabaseSecurityAlertPolicyListResult": { + "description": "A list of the managed database's security alert policies.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedDatabaseSecurityAlertPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseSecurityEvents.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseSecurityEvents.json new file mode 100644 index 000000000000..258e7d702f46 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseSecurityEvents.json @@ -0,0 +1,282 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/securityEvents": { + "get": { + "tags": [ + "ManagedDatabaseSecurityEvents" + ], + "description": "Gets a list of security events.", + "operationId": "ManagedDatabaseSecurityEvents_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the managed database for which the security events are retrieved.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "An OData filter expression that filters elements in the collection.", + "required": false, + "type": "string" + }, + { + "name": "$skip", + "in": "query", + "description": "The number of elements in the collection to skip.", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "$top", + "in": "query", + "description": "The number of elements to return from the collection.", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "$skiptoken", + "in": "query", + "description": "An opaque token that identifies a starting point in the collection.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of security events.", + "schema": { + "$ref": "#/definitions/SecurityEventCollection" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-odata": "#/definitions/SecurityEventsFilterParameters", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get the managed database's security events with minimal parameters": { + "$ref": "./examples/ManagedDatabaseSecurityEventsGetMin.json" + }, + "Get the managed database's security events with maximal parameters": { + "$ref": "./examples/ManagedDatabaseSecurityEventsGetMax.json" + } + } + } + } + }, + "definitions": { + "SecurityEventsFilterParameters": { + "description": "The properties that are supported in the $filter operation.", + "type": "object", + "properties": { + "eventTime": { + "format": "date-time", + "description": "Filter on the event time.", + "type": "string" + }, + "showServerRecords": { + "description": "Whether to show server records or not.", + "type": "boolean" + } + } + }, + "SecurityEventCollection": { + "description": "A list of security events.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SecurityEvent" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SecurityEventProperties": { + "description": "The properties of a security event.", + "type": "object", + "properties": { + "eventTime": { + "format": "date-time", + "description": "The time when the security event occurred.", + "type": "string", + "readOnly": true + }, + "securityEventType": { + "description": "The type of the security event.", + "enum": [ + "Undefined", + "SqlInjectionVulnerability", + "SqlInjectionExploit" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SecurityEventType", + "modelAsString": false + } + }, + "subscription": { + "description": "The subscription name", + "type": "string", + "readOnly": true + }, + "server": { + "description": "The server name", + "type": "string", + "readOnly": true + }, + "database": { + "description": "The database name", + "type": "string", + "readOnly": true + }, + "clientIp": { + "description": "The IP address of the client who executed the statement.", + "type": "string", + "readOnly": true + }, + "applicationName": { + "description": "The application used to execute the statement.", + "type": "string", + "readOnly": true + }, + "principalName": { + "description": "The principal user who executed the statement", + "type": "string", + "readOnly": true + }, + "securityEventSqlInjectionAdditionalProperties": { + "$ref": "#/definitions/SecurityEventSqlInjectionAdditionalProperties", + "description": "The sql injection additional properties, populated only if the type of the security event is sql injection.", + "readOnly": true + } + } + }, + "SecurityEventSqlInjectionAdditionalProperties": { + "description": "The properties of a security event sql injection additional properties.", + "type": "object", + "properties": { + "threatId": { + "description": "The threat ID.", + "type": "string", + "readOnly": true + }, + "statement": { + "description": "The statement", + "type": "string", + "readOnly": true + }, + "statementHighlightOffset": { + "format": "int32", + "description": "The statement highlight offset", + "type": "integer", + "readOnly": true + }, + "statementHighlightLength": { + "format": "int32", + "description": "The statement highlight length", + "type": "integer", + "readOnly": true + }, + "errorCode": { + "format": "int32", + "description": "The sql error code", + "type": "integer", + "readOnly": true + }, + "errorSeverity": { + "format": "int32", + "description": "The sql error severity", + "type": "integer", + "readOnly": true + }, + "errorMessage": { + "description": "The sql error message", + "type": "string", + "readOnly": true + } + } + }, + "SecurityEvent": { + "description": "A security event.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SecurityEventProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseSensitivityLabels.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseSensitivityLabels.json new file mode 100644 index 000000000000..080a011f1e03 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseSensitivityLabels.json @@ -0,0 +1,904 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}": { + "get": { + "tags": [ + "ManagedDatabaseSensitivityLabels" + ], + "description": "Gets the sensitivity label of a given column", + "operationId": "ManagedDatabaseSensitivityLabels_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "name": "tableName", + "in": "path", + "description": "The name of the table.", + "required": true, + "type": "string" + }, + { + "name": "columnName", + "in": "path", + "description": "The name of the column.", + "required": true, + "type": "string" + }, + { + "name": "sensitivityLabelSource", + "in": "path", + "description": "The source of the sensitivity label.", + "required": true, + "type": "string", + "enum": [ + "current", + "recommended" + ], + "x-ms-enum": { + "name": "SensitivityLabelSource", + "modelAsString": false + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the sensitivity label.", + "schema": { + "$ref": "#/definitions/SensitivityLabel" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 SensitivityLabelSourceNameNotSupported - The specified sensitivity label source is not valid\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SensitivityLabelsLabelNotFound - The specified sensitivity label could not be found\n\n * 404 SensitivityLabelsSchemaNotFound - The schema {0} could not be found\n\n * 404 SensitivityLabelsTableNotFound - The table {0} could not be found in schema {1}\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet" + } + }, + "x-ms-examples": { + "Gets the sensitivity label of a given column in a managed database": { + "$ref": "./examples/ManagedDatabaseColumnSensitivityLabelGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedDatabaseSensitivityLabels" + ], + "description": "Creates or updates the sensitivity label of a given column", + "operationId": "ManagedDatabaseSensitivityLabels_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "name": "tableName", + "in": "path", + "description": "The name of the table.", + "required": true, + "type": "string" + }, + { + "name": "columnName", + "in": "path", + "description": "The name of the column.", + "required": true, + "type": "string" + }, + { + "name": "sensitivityLabelSource", + "in": "path", + "description": "The source of the sensitivity label.", + "required": true, + "type": "string", + "enum": [ + "current" + ], + "x-ms-enum": { + "name": "WritableSensitivityLabelSource", + "modelAsString": false + } + }, + { + "name": "parameters", + "in": "body", + "description": "The column sensitivity label resource.", + "required": true, + "schema": { + "$ref": "#/definitions/SensitivityLabel" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the sensitivity label.", + "schema": { + "$ref": "#/definitions/SensitivityLabel" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 SensitivityLabelSourceNameNotSupported - The specified sensitivity label source is not valid\n\n * 400 InvalidSensitivityLabelResource - The specified sensitivity label resource is not valid\n\n * 400 SensitivityLabelLabelNameAndInfoTypeNotProvided - At least one of LabelName and InformationType must be specified\n\n * 400 LabelNameTooLong - Label name cannot exceed {0} characters\n\n * 400 InformationTypeTooLong - Information type cannot exceed {0} characters\n\n * 400 LabelIdMustBeGuid - The provided ‘labelId’ is invalid. Value must be a GUID\n\n * 400 InformationTypeIdMustBeGuid - The provided ‘informationTypeId’ is invalid. Value must be a GUID\n\n * 400 LabelMissing - Label is required. At least one of ‘labelName’ or ‘labelId’ must be provided\n\n * 400 InformationTypeMissing - Information type is required. At least one of ‘informationType’ or ‘informationTypeId’ must be provided\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SensitivityLabelsLabelNotFound - The specified sensitivity label could not be found\n\n * 404 SensitivityLabelsSchemaNotFound - The schema {0} could not be found\n\n * 404 SensitivityLabelsTableNotFound - The table {0} could not be found in schema {1}\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet" + }, + "201": { + "description": "Successfully created the sensitivity label.", + "schema": { + "$ref": "#/definitions/SensitivityLabel" + } + } + }, + "x-ms-examples": { + "Updates or creates a sensitivity label of a given column with all parameters in a managed database": { + "$ref": "./examples/ManagedDatabaseColumnSensitivityLabelCreate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedDatabaseSensitivityLabels" + ], + "description": "Deletes the sensitivity label of a given column", + "operationId": "ManagedDatabaseSensitivityLabels_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "name": "tableName", + "in": "path", + "description": "The name of the table.", + "required": true, + "type": "string" + }, + { + "name": "columnName", + "in": "path", + "description": "The name of the column.", + "required": true, + "type": "string" + }, + { + "name": "sensitivityLabelSource", + "in": "path", + "description": "The source of the sensitivity label.", + "required": true, + "type": "string", + "enum": [ + "current" + ], + "x-ms-enum": { + "name": "WritableSensitivityLabelSource", + "modelAsString": false + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the sensitivity label." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 SensitivityLabelSourceNameNotSupported - The specified sensitivity label source is not valid\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SensitivityLabelsLabelNotFound - The specified sensitivity label could not be found\n\n * 404 SensitivityLabelsSchemaNotFound - The schema {0} could not be found\n\n * 404 SensitivityLabelsTableNotFound - The table {0} could not be found in schema {1}\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet" + } + }, + "x-ms-examples": { + "Deletes the sensitivity label of a given column in a managed database": { + "$ref": "./examples/ManagedDatabaseColumnSensitivityLabelDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}/disable": { + "post": { + "tags": [ + "ManagedDatabaseSensitivityLabels" + ], + "description": "Disables sensitivity recommendations on a given column", + "operationId": "ManagedDatabaseSensitivityLabels_DisableRecommendation", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "name": "tableName", + "in": "path", + "description": "The name of the table.", + "required": true, + "type": "string" + }, + { + "name": "columnName", + "in": "path", + "description": "The name of the column.", + "required": true, + "type": "string" + }, + { + "name": "sensitivityLabelSource", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "recommended" + ], + "x-ms-enum": { + "name": "SensitivityLabelSource", + "modelAsString": false + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully disabled the sensitivity recommendations on the given column." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance." + } + }, + "x-ms-examples": { + "Disables the sensitivity recommendations on a given column": { + "$ref": "./examples/ManagedDatabaseRecommendedColumnSensitivityLabelDisable.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}/enable": { + "post": { + "tags": [ + "ManagedDatabaseSensitivityLabels" + ], + "description": "Enables sensitivity recommendations on a given column (recommendations are enabled by default on all columns)", + "operationId": "ManagedDatabaseSensitivityLabels_EnableRecommendation", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "name": "tableName", + "in": "path", + "description": "The name of the table.", + "required": true, + "type": "string" + }, + { + "name": "columnName", + "in": "path", + "description": "The name of the column.", + "required": true, + "type": "string" + }, + { + "name": "sensitivityLabelSource", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "recommended" + ], + "x-ms-enum": { + "name": "SensitivityLabelSource", + "modelAsString": false + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully enabled the sensitivity recommendations on the given column." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance." + } + }, + "x-ms-examples": { + "Enables the sensitivity recommendations on a given column": { + "$ref": "./examples/ManagedDatabaseRecommendedColumnSensitivityLabelEnable.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/currentSensitivityLabels": { + "get": { + "tags": [ + "ManagedDatabaseSensitivityLabels" + ], + "description": "Gets the sensitivity labels of a given database", + "operationId": "ManagedDatabaseSensitivityLabels_ListCurrentByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "$skipToken", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$count", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "$filter", + "in": "query", + "description": "An OData filter expression that filters elements in the collection.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the sensitivity labels.", + "schema": { + "$ref": "#/definitions/SensitivityLabelListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 SensitivityLabelsInvalidODataQuery - The specified OData query is either not valid or not supported\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-odata": "#/definitions/SensitivityLabel", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the current sensitivity labels of a given database in a managed database": { + "$ref": "./examples/ManagedDatabaseSensitivityLabelsListByDatabaseCurrent.json" + } + } + }, + "patch": { + "tags": [ + "ManagedDatabaseSensitivityLabels" + ], + "description": "Update sensitivity labels of a given database using an operations batch.", + "operationId": "ManagedDatabaseSensitivityLabels_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SensitivityLabelUpdateList" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated sensitivity labels." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 SensitivityLabelSourceNameNotSupported - The specified sensitivity label source is not valid\n\n * 400 InvalidSensitivityLabelsBatch - The specified sensitivity labels batch is not valid. Please provide batch operations\n\n * 400 SensitivityLabelsMissingSchema - Operation[{0}]: Missing schema information\n\n * 400 SensitivityLabelsMissingTable - Operation[{0}]: Missing table information\n\n * 400 SensitivityLabelsMissingColumn - Operation[{0}]: Missing column information\n\n * 400 SensitivityLabelsUpdateSameColumnMoreThanOnce - The column {0} can not be updated more than once in a single command\n\n * 400 InvalidSensitivityLabelResource - The specified sensitivity label resource is not valid\n\n * 400 SensitivityLabelLabelNameAndInfoTypeNotProvided - At least one of LabelName and InformationType must be specified\n\n * 400 LabelNameTooLong - Label name cannot exceed {0} characters\n\n * 400 InformationTypeTooLong - Information type cannot exceed {0} characters\n\n * 400 LabelIdMustBeGuid - The provided ‘labelId’ is invalid. Value must be a GUID\n\n * 400 InformationTypeIdMustBeGuid - The provided ‘informationTypeId’ is invalid. Value must be a GUID\n\n * 400 LabelMissing - Label is required. At least one of ‘labelName’ or ‘labelId’ must be provided\n\n * 400 InformationTypeMissing - Information type is required. At least one of ‘informationType’ or ‘informationTypeId’ must be provided\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SensitivityLabelsLabelNotFound - The specified sensitivity label could not be found\n\n * 404 SensitivityLabelsSchemaNotFound - The schema {0} could not be found\n\n * 404 SensitivityLabelsTableNotFound - The table {0} could not be found in schema {1}\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-examples": { + "Update sensitivity labels of a given database using an operations batch.": { + "$ref": "./examples/ManagedDatabaseSensitivityLabelsCurrentUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/recommendedSensitivityLabels": { + "get": { + "tags": [ + "ManagedDatabaseSensitivityLabels" + ], + "description": "Gets the sensitivity labels of a given database", + "operationId": "ManagedDatabaseSensitivityLabels_ListRecommendedByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "$skipToken", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "includeDisabledRecommendations", + "in": "query", + "description": "Specifies whether to include disabled recommendations or not.", + "required": false, + "type": "boolean" + }, + { + "name": "$filter", + "in": "query", + "description": "An OData filter expression that filters elements in the collection.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the sensitivity labels.", + "schema": { + "$ref": "#/definitions/SensitivityLabelListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 SensitivityLabelsInvalidODataQuery - The specified OData query is either not valid or not supported\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-odata": "#/definitions/SensitivityLabel", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the recommended sensitivity labels of a given database in a managed database": { + "$ref": "./examples/ManagedDatabaseSensitivityLabelsListByDatabaseRecommended.json" + } + } + }, + "patch": { + "tags": [ + "ManagedDatabaseSensitivityLabels" + ], + "description": "Update recommended sensitivity labels states of a given database using an operations batch.", + "operationId": "ManagedDatabaseRecommendedSensitivityLabels_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RecommendedSensitivityLabelUpdateList" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated recommended sensitivity labels." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 SensitivityLabelSourceNameNotSupported - The specified sensitivity label source is not valid\n\n * 400 InvalidRecommendedSensitivityLabelsBatch - The specified recommended sensitivity labels operations are not valid\n\n * 400 SensitivityLabelsMissingSchema - Operation[{0}]: Missing schema information\n\n * 400 SensitivityLabelsMissingTable - Operation[{0}]: Missing table information\n\n * 400 SensitivityLabelsMissingColumn - Operation[{0}]: Missing column information\n\n * 400 SensitivityLabelsUpdateSameColumnMoreThanOnce - The column {0} can not be updated more than once in a single command\n\n * 400 InvalidSensitivityLabelResource - The specified sensitivity label resource is not valid\n\n * 400 SensitivityLabelLabelNameAndInfoTypeNotProvided - At least one of LabelName and InformationType must be specified\n\n * 400 LabelNameTooLong - Label name cannot exceed {0} characters\n\n * 400 InformationTypeTooLong - Information type cannot exceed {0} characters\n\n * 400 LabelIdMustBeGuid - The provided ‘labelId’ is invalid. Value must be a GUID\n\n * 400 InformationTypeIdMustBeGuid - The provided ‘informationTypeId’ is invalid. Value must be a GUID\n\n * 400 LabelMissing - Label is required. At least one of ‘labelName’ or ‘labelId’ must be provided\n\n * 400 InformationTypeMissing - Information type is required. At least one of ‘informationType’ or ‘informationTypeId’ must be provided\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SensitivityLabelsLabelNotFound - The specified sensitivity label could not be found\n\n * 404 SensitivityLabelsSchemaNotFound - The schema {0} could not be found\n\n * 404 SensitivityLabelsTableNotFound - The table {0} could not be found in schema {1}\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-examples": { + "Update recommended sensitivity labels of a given database using an operations batch.": { + "$ref": "./examples/ManagedDatabaseSensitivityLabelsRecommendedUpdate.json" + } + } + } + } + }, + "definitions": { + "SensitivityLabelProperties": { + "description": "Properties of a sensitivity label.", + "type": "object", + "properties": { + "schemaName": { + "description": "The schema name.", + "type": "string", + "readOnly": true + }, + "tableName": { + "description": "The table name.", + "type": "string", + "readOnly": true + }, + "columnName": { + "description": "The column name.", + "type": "string", + "readOnly": true + }, + "labelName": { + "description": "The label name.", + "type": "string" + }, + "labelId": { + "description": "The label ID.", + "type": "string" + }, + "informationType": { + "description": "The information type.", + "type": "string" + }, + "informationTypeId": { + "description": "The information type ID.", + "type": "string" + }, + "isDisabled": { + "description": "Is sensitivity recommendation disabled. Applicable for recommended sensitivity label only. Specifies whether the sensitivity recommendation on this column is disabled (dismissed) or not.", + "type": "boolean", + "readOnly": true + }, + "rank": { + "enum": [ + "None", + "Low", + "Medium", + "High", + "Critical" + ], + "type": "string", + "x-ms-enum": { + "name": "SensitivityLabelRank", + "modelAsString": false + } + } + } + }, + "SensitivityLabel": { + "description": "A sensitivity label.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "managedBy": { + "description": "Resource that manages the sensitivity label.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/SensitivityLabelProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "SensitivityLabelListResult": { + "description": "A list of sensitivity labels.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SensitivityLabel" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SensitivityLabelUpdateList": { + "description": "A list of sensitivity label update operations.", + "type": "object", + "properties": { + "operations": { + "type": "array", + "items": { + "$ref": "#/definitions/SensitivityLabelUpdate" + } + } + } + }, + "SensitivityLabelUpdateProperties": { + "description": "Properties of an operation executed on a sensitivity label.", + "required": [ + "op", + "schema", + "table", + "column" + ], + "type": "object", + "properties": { + "op": { + "enum": [ + "set", + "remove" + ], + "type": "string", + "x-ms-enum": { + "name": "SensitivityLabelUpdateKind", + "modelAsString": false + } + }, + "schema": { + "description": "Schema name of the column to update.", + "type": "string" + }, + "table": { + "description": "Table name of the column to update.", + "type": "string" + }, + "column": { + "description": "Column name to update.", + "type": "string" + }, + "sensitivityLabel": { + "$ref": "#/definitions/SensitivityLabel", + "description": "The sensitivity label information to apply on a column." + } + } + }, + "SensitivityLabelUpdate": { + "description": "A sensitivity label update operation.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SensitivityLabelUpdateProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "RecommendedSensitivityLabelUpdateList": { + "description": "A list of recommended sensitivity label update operations.", + "type": "object", + "properties": { + "operations": { + "type": "array", + "items": { + "$ref": "#/definitions/RecommendedSensitivityLabelUpdate" + } + } + } + }, + "RecommendedSensitivityLabelUpdateProperties": { + "description": "Properties of an operation executed on a recommended sensitivity label.", + "required": [ + "op", + "schema", + "table", + "column" + ], + "type": "object", + "properties": { + "op": { + "enum": [ + "enable", + "disable" + ], + "type": "string", + "x-ms-enum": { + "name": "RecommendedSensitivityLabelUpdateKind", + "modelAsString": false + } + }, + "schema": { + "description": "Schema name of the column to update.", + "type": "string" + }, + "table": { + "description": "Table name of the column to update.", + "type": "string" + }, + "column": { + "description": "Column name to update.", + "type": "string" + } + } + }, + "RecommendedSensitivityLabelUpdate": { + "description": "A recommended sensitivity label update operation.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecommendedSensitivityLabelUpdateProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseTables.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseTables.json new file mode 100644 index 000000000000..c3f41721b6b7 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseTables.json @@ -0,0 +1,225 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables": { + "get": { + "tags": [ + "ManagedDatabaseTables" + ], + "description": "List managed database tables", + "operationId": "ManagedDatabaseTables_ListBySchema", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "An OData filter expression that filters elements in the collection.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved managed database tables.", + "schema": { + "$ref": "#/definitions/DatabaseTableListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InvalidDatabaseSchema - Schema is missing in database.\n\n * 404 InvalidDatabaseTable - Table is missing in database.\n\n * 404 InvalidDatabaseColumn - Column is missing in table.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-odata": "#/definitions/DatabaseTable", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List managed database tables": { + "$ref": "./examples/ManagedDatabaseTableListBySchema.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}": { + "get": { + "tags": [ + "ManagedDatabaseTables" + ], + "description": "Get managed database table", + "operationId": "ManagedDatabaseTables_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "name": "tableName", + "in": "path", + "description": "The name of the table.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved managed database table.", + "schema": { + "$ref": "#/definitions/DatabaseTable" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InvalidDatabaseSchema - Schema is missing in database.\n\n * 404 InvalidDatabaseTable - Table is missing in database.\n\n * 404 InvalidDatabaseColumn - Column is missing in table.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-examples": { + "Get managed database table": { + "$ref": "./examples/ManagedDatabaseTableGet.json" + } + } + } + } + }, + "definitions": { + "DatabaseTableProperties": { + "description": "Database table properties.", + "type": "object", + "properties": { + "temporalType": { + "description": "The table temporal type.", + "enum": [ + "NonTemporalTable", + "HistoryTable", + "SystemVersionedTemporalTable" + ], + "type": "string", + "x-ms-enum": { + "name": "TableTemporalType", + "modelAsString": true + } + }, + "memoryOptimized": { + "description": "Whether or not the table is memory optimized.", + "type": "boolean" + } + } + }, + "DatabaseTable": { + "description": "A database table resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DatabaseTableProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "DatabaseTableListResult": { + "description": "A list of database tables.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseTable" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseTransparentDataEncryption.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseTransparentDataEncryption.json new file mode 100644 index 000000000000..c2764b9db875 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseTransparentDataEncryption.json @@ -0,0 +1,284 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/transparentDataEncryption/{tdeName}": { + "get": { + "tags": [ + "ManagedDatabaseTransparentDataEncryption" + ], + "description": "Gets a managed database's transparent data encryption.", + "operationId": "ManagedDatabaseTransparentDataEncryption_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the managed database for which the transparent data encryption is defined.", + "required": true, + "type": "string" + }, + { + "name": "tdeName", + "in": "path", + "description": "The name of the transparent data encryption configuration.", + "required": true, + "type": "string", + "enum": [ + "current" + ], + "x-ms-enum": { + "name": "TransparentDataEncryptionName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the managed database transparent data encryption.", + "schema": { + "$ref": "#/definitions/ManagedTransparentDataEncryption" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 ReadOnly - Cannot enable or modify database encryption on a database that is read-only, has read-only files or is not recovered.\n\n * 400 CanNotDropAlterOnMirror - Please modify Transparent Data Encryption on the primary databases.\n\n * 400 AttemptedEncryptionOnSystemDatabase - Cannot encrypt a system database. Database encryption operations cannot be performed for 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 401 CanNotChangeReadOnlyDuringTdeScan - Cannot modify filegroup read-only/read-write state while an encryption transition is in progress.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 NeedsLogBackup - Please wait several minutes for a log backup to occur. \n\n * 409 EncryptionInProgress - Cannot modify encryption while an encryption scan in progress.\n\n * 409 KeyChangeInProgress - Cannot change database encryption key while an encryption, decryption, or key change scan is in progress.\n\n * 409 NoBulkOperationLock - CREATE/ALTER/DROP DATABASE ENCRYPTION KEY failed because a lock could not be placed on database. Try again later.\n\n * 409 AltStateConflict - The operation cannot be performed on database because it is involved in a database mirroring session or an availability group. Some operations are not allowed on a database that is participating in a database mirroring session or in an availability group.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 NoDekLock - CREATE/ALTER/DROP DATABASE ENCRYPTION KEY failed because a lock could not be placed on the database. Try again later." + } + }, + "x-ms-examples": { + "Get a database's transparent data encryption": { + "$ref": "./examples/ManagedTransparentDataEncryptionGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedDatabaseTransparentDataEncryption" + ], + "description": "Updates a database's transparent data encryption configuration.", + "operationId": "ManagedDatabaseTransparentDataEncryption_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the managed database for which the security alert policy is defined.", + "required": true, + "type": "string" + }, + { + "name": "tdeName", + "in": "path", + "description": "The name of the transparent data encryption configuration.", + "required": true, + "type": "string", + "enum": [ + "current" + ], + "x-ms-enum": { + "name": "TransparentDataEncryptionName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The database transparent data encryption.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedTransparentDataEncryption" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the database Transparent Data Encryption state.", + "schema": { + "$ref": "#/definitions/ManagedTransparentDataEncryption" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 ReadOnly - Cannot enable or modify database encryption on a database that is read-only, has read-only files or is not recovered.\n\n * 400 CanNotDropAlterOnMirror - Please modify Transparent Data Encryption on the primary databases.\n\n * 400 AttemptedEncryptionOnSystemDatabase - Cannot encrypt a system database. Database encryption operations cannot be performed for 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 InvalidTransparentDataEncryptionUpdateRequest - Please enter a valid state. Please use \"Enabled\" or \"Disabled\".\n\n * 400 InvalidTransparentDataEncryptionName - The transparent data encryption key name is not supported.\n\n * 401 CanNotChangeReadOnlyDuringTdeScan - Cannot modify filegroup read-only/read-write state while an encryption transition is in progress.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 NeedsLogBackup - Please wait several minutes for a log backup to occur. \n\n * 409 EncryptionInProgress - Cannot modify encryption while an encryption scan in progress.\n\n * 409 KeyChangeInProgress - Cannot change database encryption key while an encryption, decryption, or key change scan is in progress.\n\n * 409 NoBulkOperationLock - CREATE/ALTER/DROP DATABASE ENCRYPTION KEY failed because a lock could not be placed on database. Try again later.\n\n * 409 AltStateConflict - The operation cannot be performed on database because it is involved in a database mirroring session or an availability group. Some operations are not allowed on a database that is participating in a database mirroring session or in an availability group.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 NoDekLock - CREATE/ALTER/DROP DATABASE ENCRYPTION KEY failed because a lock could not be placed on the database. Try again later." + }, + "201": { + "description": "Successfully created the database transparent data encryption state.", + "schema": { + "$ref": "#/definitions/ManagedTransparentDataEncryption" + } + } + }, + "x-ms-examples": { + "Update a database's Transparent Data Encryption state with minimal parameters": { + "$ref": "./examples/ManagedTransparentDataEncryptionUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/transparentDataEncryption": { + "get": { + "tags": [ + "ManagedDatabaseTransparentDataEncryption" + ], + "description": "Gets a list of managed database's transparent data encryptions.", + "operationId": "ManagedDatabaseTransparentDataEncryption_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the managed database for which the transparent data encryption is defined.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed database transparent data encryptions.", + "schema": { + "$ref": "#/definitions/ManagedTransparentDataEncryptionListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 ReadOnly - Cannot enable or modify database encryption on a database that is read-only, has read-only files or is not recovered.\n\n * 400 CanNotDropAlterOnMirror - Please modify Transparent Data Encryption on the primary databases.\n\n * 400 AttemptedEncryptionOnSystemDatabase - Cannot encrypt a system database. Database encryption operations cannot be performed for 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 401 CanNotChangeReadOnlyDuringTdeScan - Cannot modify filegroup read-only/read-write state while an encryption transition is in progress.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 NeedsLogBackup - Please wait several minutes for a log backup to occur. \n\n * 409 EncryptionInProgress - Cannot modify encryption while an encryption scan in progress.\n\n * 409 KeyChangeInProgress - Cannot change database encryption key while an encryption, decryption, or key change scan is in progress.\n\n * 409 NoBulkOperationLock - CREATE/ALTER/DROP DATABASE ENCRYPTION KEY failed because a lock could not be placed on database. Try again later.\n\n * 409 AltStateConflict - The operation cannot be performed on database because it is involved in a database mirroring session or an availability group. Some operations are not allowed on a database that is participating in a database mirroring session or in an availability group.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 NoDekLock - CREATE/ALTER/DROP DATABASE ENCRYPTION KEY failed because a lock could not be placed on the database. Try again later." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a list of the database's transparent data encryptions": { + "$ref": "./examples/ManagedTransparentDataEncryptionList.json" + } + } + } + } + }, + "definitions": { + "ManagedTransparentDataEncryptionProperties": { + "description": "Properties of a transparent data encryption.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "state": { + "description": "Specifies the state of the transparent data encryption.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "TransparentDataEncryptionState", + "modelAsString": false + } + } + } + }, + "ManagedTransparentDataEncryption": { + "description": "A managed database transparent data encryption state.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ManagedTransparentDataEncryptionProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ManagedTransparentDataEncryptionListResult": { + "description": "A list of managed transparent data encryptions", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedTransparentDataEncryption" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseVulnerabilityAssessmentRuleBaselines.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseVulnerabilityAssessmentRuleBaselines.json new file mode 100644 index 000000000000..da81ad4a60e6 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseVulnerabilityAssessmentRuleBaselines.json @@ -0,0 +1,342 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}": { + "get": { + "tags": [ + "ManagedDatabaseVulnerabilityAssessmentRuleBaselines" + ], + "description": "Gets a database's vulnerability assessment rule baseline.", + "operationId": "ManagedDatabaseVulnerabilityAssessmentRuleBaselines_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the vulnerability assessment rule baseline is defined.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "name": "ruleId", + "in": "path", + "description": "The vulnerability assessment rule ID.", + "required": true, + "type": "string" + }, + { + "name": "baselineName", + "in": "path", + "description": "The name of the vulnerability assessment rule baseline (default implies a baseline on a database level rule and master for server level rule).", + "required": true, + "type": "string", + "enum": [ + "master", + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentPolicyBaselineName", + "modelAsString": false + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully got the vulnerability assessment rule baseline.", + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentRuleBaseline" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 VulnerabilityAssessmentStorageAuthenticationFailed - Could not authenticate to storage account '{0}' .\n\n * 400 VulnerabilityAssessmentInvalidPolicy - Vulnerability Assessment settings don't exist or invalid storage specified in settings. \n\n * 400 VulnerabilityAssessmentDatawarehouseDatabaseIsDeactivated - Could not execute Vulnerability Assessment operation because the database is paused. Please resume it.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 InvalidVulnerabilityAssessmentOperationRequest - The vulnerability assessment operation request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 404 VulnerabilityAssessmentInvalidStorageAccount - The storage account '{0}' that was defined in the policy is invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 VulnerabilityAssessmentRuleDoesNotExists - Rule '{0}' does not exist.\n\n * 404 VulnerabilityAssessmentBaselineDoesNotExists - Baseline does not exist for rule '{0}'\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-examples": { + "Gets a database's vulnerability assessment rule baseline.": { + "$ref": "./examples/ManagedDatabaseVulnerabilityAssessmentRuleBaselineGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedDatabaseVulnerabilityAssessmentRuleBaselines" + ], + "description": "Creates or updates a database's vulnerability assessment rule baseline.", + "operationId": "ManagedDatabaseVulnerabilityAssessmentRuleBaselines_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the vulnerability assessment rule baseline is defined.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "name": "ruleId", + "in": "path", + "description": "The vulnerability assessment rule ID.", + "required": true, + "type": "string" + }, + { + "name": "baselineName", + "in": "path", + "description": "The name of the vulnerability assessment rule baseline (default implies a baseline on a database level rule and master for server level rule).", + "required": true, + "type": "string", + "enum": [ + "master", + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentPolicyBaselineName", + "modelAsString": false + } + }, + { + "name": "parameters", + "in": "body", + "description": "The requested rule baseline resource.", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentRuleBaseline" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully set the vulnerability assessment rule baseline.", + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentRuleBaseline" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 VulnerabilityAssessmentStorageAuthenticationFailed - Could not authenticate to storage account '{0}' .\n\n * 400 VulnerabilityAssessmentInvalidPolicy - Vulnerability Assessment settings don't exist or invalid storage specified in settings. \n\n * 400 VulnerabilityAssessmentDatawarehouseDatabaseIsDeactivated - Could not execute Vulnerability Assessment operation because the database is paused. Please resume it.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 InvalidVulnerabilityAssessmentOperationRequest - The vulnerability assessment operation request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 404 VulnerabilityAssessmentInvalidStorageAccount - The storage account '{0}' that was defined in the policy is invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 VulnerabilityAssessmentRuleDoesNotExists - Rule '{0}' does not exist.\n\n * 404 VulnerabilityAssessmentBaselineDoesNotExists - Baseline does not exist for rule '{0}'\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-examples": { + "Creates or updates a database's vulnerability assessment rule baseline.": { + "$ref": "./examples/ManagedDatabaseVulnerabilityAssessmentRuleBaselineCreate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedDatabaseVulnerabilityAssessmentRuleBaselines" + ], + "description": "Removes the database's vulnerability assessment rule baseline.", + "operationId": "ManagedDatabaseVulnerabilityAssessmentRuleBaselines_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the vulnerability assessment rule baseline is defined.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "name": "ruleId", + "in": "path", + "description": "The vulnerability assessment rule ID.", + "required": true, + "type": "string" + }, + { + "name": "baselineName", + "in": "path", + "description": "The name of the vulnerability assessment rule baseline (default implies a baseline on a database level rule and master for server level rule).", + "required": true, + "type": "string", + "enum": [ + "master", + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentPolicyBaselineName", + "modelAsString": false + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed the database vulnerability assessment rule baseline." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 VulnerabilityAssessmentStorageAuthenticationFailed - Could not authenticate to storage account '{0}' .\n\n * 400 VulnerabilityAssessmentInvalidPolicy - Vulnerability Assessment settings don't exist or invalid storage specified in settings. \n\n * 400 VulnerabilityAssessmentDatawarehouseDatabaseIsDeactivated - Could not execute Vulnerability Assessment operation because the database is paused. Please resume it.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 InvalidVulnerabilityAssessmentOperationRequest - The vulnerability assessment operation request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 404 VulnerabilityAssessmentInvalidStorageAccount - The storage account '{0}' that was defined in the policy is invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 VulnerabilityAssessmentRuleDoesNotExists - Rule '{0}' does not exist.\n\n * 404 VulnerabilityAssessmentBaselineDoesNotExists - Baseline does not exist for rule '{0}'\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-examples": { + "Removes a database's vulnerability assessment rule baseline.": { + "$ref": "./examples/ManagedDatabaseVulnerabilityAssessmentRuleBaselineDelete.json" + } + } + } + } + }, + "definitions": { + "DatabaseVulnerabilityAssessmentRuleBaselineProperties": { + "description": "Properties of a database Vulnerability Assessment rule baseline.", + "required": [ + "baselineResults" + ], + "type": "object", + "properties": { + "baselineResults": { + "description": "The rule baseline result", + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentRuleBaselineItem" + } + } + } + }, + "DatabaseVulnerabilityAssessmentRuleBaselineItem": { + "description": "Properties for an Azure SQL Database Vulnerability Assessment rule baseline's result.", + "required": [ + "result" + ], + "type": "object", + "properties": { + "result": { + "description": "The rule baseline result", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DatabaseVulnerabilityAssessmentRuleBaseline": { + "description": "A database vulnerability assessment rule baseline.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentRuleBaselineProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseVulnerabilityAssessmentScans.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseVulnerabilityAssessmentScans.json new file mode 100644 index 000000000000..42c020798ec2 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseVulnerabilityAssessmentScans.json @@ -0,0 +1,466 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/initiateScan": { + "post": { + "tags": [ + "ManagedDatabaseVulnerabilityAssessmentScans" + ], + "description": "Executes a Vulnerability Assessment database scan.", + "operationId": "ManagedDatabaseVulnerabilityAssessmentScans_InitiateScan", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "name": "scanId", + "in": "path", + "description": "The vulnerability assessment scan Id of the scan to retrieve.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully executed a Vulnerability Assessment database scan." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidVulnerabilityAssessmentOperationRequest - The vulnerability assessment operation request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 InvalidVulnerabilityAssessmentScanIdLength - The vulnerability assessment scan ID length must be below {0} characters.\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 VulnerabilityAssessmentInvalidPolicy - Vulnerability Assessment settings don't exist or invalid storage specified in settings. \n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 DatabaseVulnerabilityAssessmentMissingStorageContainerPath - Storage container path must be provided if it isn't set in server level policy\n\n * 400 VulnerabilityAssessmentDatawarehouseDatabaseIsDeactivated - Could not execute Vulnerability Assessment operation because the database is paused. Please resume it.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 409 DatabaseVulnerabilityAssessmentScanIsAlreadyInProgress - Vulnerability Assessment scan is already in progress.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + }, + "202": { + "description": "Successfully started a Vulnerability Assessment database scan." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Executes a database's vulnerability assessment scan.": { + "$ref": "./examples/ManagedDatabaseVulnerabilityAssessmentScansExecute.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/export": { + "post": { + "tags": [ + "ManagedDatabaseVulnerabilityAssessmentScans" + ], + "description": "Convert an existing scan result to a human readable format. If already exists nothing happens", + "operationId": "ManagedDatabaseVulnerabilityAssessmentScans_Export", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the scanned database.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "name": "scanId", + "in": "path", + "description": "The vulnerability assessment scan Id.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Scan result was converted successfully.", + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentScansExport" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 VulnerabilityAssessmentInvalidPolicy - Vulnerability Assessment settings don't exist or invalid storage specified in settings. \n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 DatabaseVulnerabilityAssessmentMissingStorageContainerPath - Storage container path must be provided if it isn't set in server level policy\n\n * 400 VulnerabilityAssessmentDatawarehouseDatabaseIsDeactivated - Could not execute Vulnerability Assessment operation because the database is paused. Please resume it.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 InvalidVulnerabilityAssessmentOperationRequest - The vulnerability assessment operation request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 409 DatabaseVulnerabilityAssessmentScanIsAlreadyInProgress - Vulnerability Assessment scan is already in progress.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + }, + "201": { + "description": "Scan result was converted successfully.", + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentScansExport" + } + } + }, + "x-ms-examples": { + "Export a database's vulnerability assessment scan results.": { + "$ref": "./examples/ManagedDatabaseVulnerabilityAssessmentScanExport.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans": { + "get": { + "tags": [ + "ManagedDatabaseVulnerabilityAssessmentScans" + ], + "description": "Lists the vulnerability assessment scans of a database.", + "operationId": "ManagedDatabaseVulnerabilityAssessmentScans_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the database vulnerability assessment scan records.", + "schema": { + "$ref": "#/definitions/VulnerabilityAssessmentScanRecordListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 VulnerabilityAssessmentInvalidPolicy - Vulnerability Assessment settings don't exist or invalid storage specified in settings. \n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 DatabaseVulnerabilityAssessmentMissingStorageContainerPath - Storage container path must be provided if it isn't set in server level policy\n\n * 400 VulnerabilityAssessmentDatawarehouseDatabaseIsDeactivated - Could not execute Vulnerability Assessment operation because the database is paused. Please resume it.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 409 DatabaseVulnerabilityAssessmentScanIsAlreadyInProgress - Vulnerability Assessment scan is already in progress.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of a database vulnerability assessment scan records": { + "$ref": "./examples/ManagedDatabaseVulnerabilityAssessmentScanRecordsListByDatabase.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}": { + "get": { + "tags": [ + "ManagedDatabaseVulnerabilityAssessmentScans" + ], + "description": "Gets a vulnerability assessment scan record of a database.", + "operationId": "ManagedDatabaseVulnerabilityAssessmentScans_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "name": "scanId", + "in": "path", + "description": "The vulnerability assessment scan Id of the scan to retrieve.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the database vulnerability assessment scan record.", + "schema": { + "$ref": "#/definitions/VulnerabilityAssessmentScanRecord" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 VulnerabilityAssessmentInvalidPolicy - Vulnerability Assessment settings don't exist or invalid storage specified in settings. \n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 DatabaseVulnerabilityAssessmentMissingStorageContainerPath - Storage container path must be provided if it isn't set in server level policy\n\n * 400 VulnerabilityAssessmentDatawarehouseDatabaseIsDeactivated - Could not execute Vulnerability Assessment operation because the database is paused. Please resume it.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 409 DatabaseVulnerabilityAssessmentScanIsAlreadyInProgress - Vulnerability Assessment scan is already in progress.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-examples": { + "Gets a database vulnerability assessment scan record by scan ID": { + "$ref": "./examples/ManagedDatabaseVulnerabilityAssessmentScanRecordsGet.json" + } + } + } + } + }, + "definitions": { + "DatabaseVulnerabilityAssessmentScanExportProperties": { + "description": "Properties of the export operation's result.", + "type": "object", + "properties": { + "exportedReportLocation": { + "description": "Location of the exported report (e.g. https://myStorage.blob.core.windows.net/VaScans/scans/serverName/databaseName/scan_scanId.xlsx).", + "type": "string", + "readOnly": true + } + } + }, + "DatabaseVulnerabilityAssessmentScansExport": { + "description": "A database Vulnerability Assessment scan export resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentScanExportProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "VulnerabilityAssessmentScanRecordListResult": { + "description": "A list of vulnerability assessment scan records.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/VulnerabilityAssessmentScanRecord" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "VulnerabilityAssessmentScanRecordProperties": { + "description": "Properties of a vulnerability assessment scan record.", + "type": "object", + "properties": { + "scanId": { + "description": "The scan ID.", + "type": "string", + "readOnly": true + }, + "triggerType": { + "description": "The scan trigger type.", + "enum": [ + "OnDemand", + "Recurring" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VulnerabilityAssessmentScanTriggerType", + "modelAsString": true + } + }, + "state": { + "description": "The scan status.", + "enum": [ + "Passed", + "Failed", + "FailedToRun", + "InProgress" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VulnerabilityAssessmentScanState", + "modelAsString": true + } + }, + "startTime": { + "format": "date-time", + "description": "The scan start time (UTC).", + "type": "string", + "readOnly": true + }, + "endTime": { + "format": "date-time", + "description": "The scan end time (UTC).", + "type": "string", + "readOnly": true + }, + "errors": { + "description": "The scan errors.", + "type": "array", + "items": { + "$ref": "#/definitions/VulnerabilityAssessmentScanError" + }, + "readOnly": true + }, + "storageContainerPath": { + "description": "The scan results storage container path.", + "type": "string", + "readOnly": true + }, + "numberOfFailedSecurityChecks": { + "format": "int32", + "description": "The number of failed security checks.", + "type": "integer", + "readOnly": true + } + } + }, + "VulnerabilityAssessmentScanError": { + "description": "Properties of a vulnerability assessment scan error.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + } + } + }, + "VulnerabilityAssessmentScanRecord": { + "description": "A vulnerability assessment scan record.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/VulnerabilityAssessmentScanRecordProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseVulnerabilityAssessments.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseVulnerabilityAssessments.json new file mode 100644 index 000000000000..e66e9496c6b4 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseVulnerabilityAssessments.json @@ -0,0 +1,381 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}": { + "get": { + "tags": [ + "ManagedDatabaseVulnerabilityAssessments" + ], + "description": "Gets the database's vulnerability assessment.", + "operationId": "ManagedDatabaseVulnerabilityAssessments_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the vulnerability assessment is defined.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the database vulnerability assessment.", + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessment" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 DatabaseVulnerabilityAssessmentMissingStorageContainerPath - Storage container path must be provided if it isn't set in server level policy\n\n * 400 VulnerabilityAssessmentUnsupportedStorageAccount - The provided storage account is unsupported.\n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 VulnerabilityAssessmentInsufficientStorageAccountPermissions - Insufficient permissions on the provided storage account.\n\n * 400 VulnerabilityAssessmentStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-examples": { + "Get a database's vulnerability assessment": { + "$ref": "./examples/ManagedDatabaseVulnerabilityAssessmentGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedDatabaseVulnerabilityAssessments" + ], + "description": "Creates or updates the database's vulnerability assessment.", + "operationId": "ManagedDatabaseVulnerabilityAssessments_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the vulnerability assessment is defined.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The requested resource.", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessment" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully set the vulnerability assessment.", + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessment" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 DatabaseVulnerabilityAssessmentMissingStorageContainerPath - Storage container path must be provided if it isn't set in server level policy\n\n * 400 VulnerabilityAssessmentUnsupportedStorageAccount - The provided storage account is unsupported.\n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 VulnerabilityAssessmentInsufficientStorageAccountPermissions - Insufficient permissions on the provided storage account.\n\n * 400 VulnerabilityAssessmentStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 400 InvalidVulnerabilityAssessmentOperationRequest - The vulnerability assessment operation request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + }, + "201": { + "description": "Successfully created the vulnerability assessment.", + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessment" + } + } + }, + "x-ms-examples": { + "Create a database's vulnerability assessment with minimal parameters": { + "$ref": "./examples/ManagedDatabaseVulnerabilityAssessmentCreateMin.json" + }, + "Create a database's vulnerability assessment with all parameters": { + "$ref": "./examples/ManagedDatabaseVulnerabilityAssessmentCreateMax.json" + } + } + }, + "delete": { + "tags": [ + "ManagedDatabaseVulnerabilityAssessments" + ], + "description": "Removes the database's vulnerability assessment.", + "operationId": "ManagedDatabaseVulnerabilityAssessments_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the vulnerability assessment is defined.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed the database vulnerability assessment." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 DatabaseVulnerabilityAssessmentMissingStorageContainerPath - Storage container path must be provided if it isn't set in server level policy\n\n * 400 VulnerabilityAssessmentUnsupportedStorageAccount - The provided storage account is unsupported.\n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 VulnerabilityAssessmentInsufficientStorageAccountPermissions - Insufficient permissions on the provided storage account.\n\n * 400 VulnerabilityAssessmentStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-examples": { + "Remove a database's vulnerability assessment": { + "$ref": "./examples/ManagedDatabaseVulnerabilityAssessmentDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments": { + "get": { + "tags": [ + "ManagedDatabaseVulnerabilityAssessments" + ], + "description": "Lists the vulnerability assessments of a managed database.", + "operationId": "ManagedDatabaseVulnerabilityAssessments_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the vulnerability assessment is defined.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the database vulnerability assessments.", + "schema": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 DatabaseVulnerabilityAssessmentMissingStorageContainerPath - Storage container path must be provided if it isn't set in server level policy\n\n * 400 VulnerabilityAssessmentUnsupportedStorageAccount - The provided storage account is unsupported.\n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 VulnerabilityAssessmentInsufficientStorageAccountPermissions - Insufficient permissions on the provided storage account.\n\n * 400 VulnerabilityAssessmentStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a database's vulnerability assessments list": { + "$ref": "./examples/ManagedDatabaseVulnerabilityAssessmentListByDatabase.json" + } + } + } + } + }, + "definitions": { + "DatabaseVulnerabilityAssessmentProperties": { + "description": "Properties of a database Vulnerability Assessment.", + "type": "object", + "properties": { + "storageContainerPath": { + "description": "A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/). It is required if server level vulnerability assessment policy doesn't set", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "storageContainerSasKey": { + "description": "A shared access signature (SAS Key) that has write access to the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. Applies only if the storage account is not behind a Vnet or a firewall", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "storageAccountAccessKey": { + "description": "Specifies the identifier key of the storage account for vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is not behind a Vnet or a firewall", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "recurringScans": { + "$ref": "#/definitions/VulnerabilityAssessmentRecurringScansProperties", + "description": "The recurring scans settings" + } + } + }, + "VulnerabilityAssessmentRecurringScansProperties": { + "description": "Properties of a Vulnerability Assessment recurring scans.", + "type": "object", + "properties": { + "isEnabled": { + "description": "Recurring scans state.", + "type": "boolean" + }, + "emailSubscriptionAdmins": { + "description": "Specifies that the schedule scan notification will be is sent to the subscription administrators.", + "default": true, + "type": "boolean" + }, + "emails": { + "description": "Specifies an array of e-mail addresses to which the scan notification is sent.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DatabaseVulnerabilityAssessment": { + "description": "A database vulnerability assessment.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "DatabaseVulnerabilityAssessmentListResult": { + "description": "A list of the database's vulnerability assessments.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessment" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabases.json new file mode 100644 index 000000000000..69d8b4972c1e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabases.json @@ -0,0 +1,624 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases": { + "get": { + "tags": [ + "ManagedDatabases" + ], + "description": "Gets a list of managed databases.", + "operationId": "ManagedDatabases_ListByInstance", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of databases.", + "schema": { + "$ref": "#/definitions/ManagedDatabaseListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List databases by managed instances": { + "$ref": "./examples/ManagedDatabaseListByManagedInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}": { + "get": { + "tags": [ + "ManagedDatabases" + ], + "description": "Gets a managed database.", + "operationId": "ManagedDatabases_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified managed database.", + "schema": { + "$ref": "#/definitions/ManagedDatabase" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Gets a managed database": { + "$ref": "./examples/ManagedDatabaseGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedDatabases" + ], + "description": "Creates a new database or updates an existing database.", + "operationId": "ManagedDatabases_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested database resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedDatabase" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/ManagedDatabase" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 PitrPointInTimeInvalid - The point in time {0} is not valid. Valid point in time range from {1} days early to now and not before source server creation time.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 ManagedDatabaseNameInUse - Database '{0}' already exists. Choose a different database name.\n\n * 400 NoMoreSpaceInManagedInstance - The managed instance has reached its storage limit. The storage usage for the managed instance cannot exceed (%d) MBs.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 DatabaseNumberLimitReached - Maximum number of databases for SQL Database Managed Instance reached.\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\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 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidLongTermRetentionManagedInstanceBackupId - Invalid long term retention backup identifier for Managed Instances.\n\n * 400 MiGeoRestoreWithWrongBackupStorageRedundancy - Geo-Restore is not allowed for managed instances with LRS/ZRS backup storage redundancy.\n\n * 400 UpdatingInstanceAndBackupRedundancy - Instance zone redundancy and backup storage redundancy cannot be updated in the same request.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 AadOnlyAuthenticationIsEnabled - Azure Active Directory Only Authentication is enabled. Please contact your system administrator.\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 400 AutoCompleteMissingLastBackupName - Auto complete restore request must have lastBackupName parameter provided.\n\n * 400 MissingThumbprint - Can not find server certificate.\n\n * 400 BlobStorageServerFailure - Blob storage server failure has occurred.\n\n * 400 BackupSetNotFound - No backups were found to restore the database. Please contact support to restore the database.\n\n * 400 FullBackupNotFound - Full backup can not be found.\n\n * 400 RestoreFromStripedBackupsNotEnabled - Restoring from striped backups is not supported.\n\n * 400 BrokenRestorePlanNoFullBackup - The restore plan is broken because there is no full backup.\n\n * 400 BrokenRestorePlanWrongLogBackupLSN - The restore plan is broken because firstLsn of current log backup is not <= lastLsn of next log backup.\n\n * 400 BrokenRestorePlanWrongDiffBackupLSN - The restore plan is broken because firstLsn of diff backup is not >= firstLsn of full backup.\n\n * 400 BrokenRestorePlanGapInLogBackups - The restore plan is broken because firstLsn of current log backup is not equal to lastLsn of prev log backup.\n\n * 400 XtpInitializedDuringRestore - Memory-optimized filegroup must be empty in order to be restored on General Purpose tier of SQL Database Managed Instance.\n\n * 400 FullBackupMissingChecksum - Provided full backup is missing checksum.\n\n * 400 FullBackupDamaged - Provided full backup is damaged.\n\n * 400 MissingStripeInBackupSet - Provided backup set has one or more missing stripes.\n\n * 400 PartiallyContainedDatabaseUnsupported - \"Backup for a partially contained database is not supported.\"\n\n * 400 RequiredBackupIsNotLastRestored - Migration cannot be completed because provided backup file name is not the name of the last backup file that is restored.\n\n * 400 ManagedInstanceStorageLimitHit - The managed instance has reached its storage limit.\n\n * 400 IncompatiblePhysicalLayoutTooFewDataFiles - Database backup contains incompatible physical layout. No data files are found in the backup.\n\n * 400 IncompatiblePhysicalLayoutNonOnlineDataFilesExist - Database backup contains incompatible physical layout. Non-online data files exist.\n\n * 400 IncompatiblePhysicalLayoutWrongNumberOfLogFiles - Database backup contains incompatible physical layout. Multiple log files are not supported.\n\n * 400 IncompatiblePhysicalLayoutNonOnlineLogFilesExist - Database backup contains incompatible physical layout. Non-online log files exist.\n\n * 400 IncompatiblePhysicalLayoutTooManyNonDataLogFiles - Database backup contains incompatible physical layout. Too many non-data/log files.\n\n * 400 ExternalBackupAlreadySignaledToComplete - The restore request has already been signaled to complete.\n\n * 400 ExternalBackupRestoreHasNotBeenStarted - The restore request can only be completed once the restore has started.\n\n * 400 ExternalBackupUpgradeInProgress - The restore request cannot be completed, since upgrade is in progress.\n\n * 400 IncompatiblePhysicalLayoutTooManyXTPFiles - Database backup contains incompatible physical layout. Multiple files found in the filegroup that contains MEMORY_OPTIMIZED_DATA.\n\n * 400 BlobStorageFailure - Blob storage failure has occurred.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 CannotFindServerCertificateWithThumbprint - Cannot find server certificate with thumbprint '{0}'. Please use PowerShell Cmdlet 'Add-AzureRmSqlManagedInstanceTransparentDataEncryptionCertificate' to create the certificate.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 RestoreSourceDatabaseNotFound - Could not find database '{0}' at time '{1}' that can be restored.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 409 BackupRedundancyUpdateAndInstanceRedundancyConflict - The instance is multi-az but backup storage is being updated from zone redundant to non-zone redundant.\n\n * 409 InstanceRedundancyUpdateWhileBackupRedundancyUpdateInProgress - Cannot update instance redundancy because backup storage redundancy update is in progress.\n\n * 409 InstanceRedundancyUpdateAndBackupRedundancyConflict - The backup storage is non-zone redundant but instance redundancy is being updated to zone redundant.\n\n * 409 BackupRedundancyUpdateConflict - Cannot update backup storage redundancy because a backup storage redundancy update is already in progress.\n\n * 409 MiDropFailedOnAuthLocks - User tried to drop last Managed Instance in subnet that has Lock applied on resource(s).\n\n * 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.\n\n * 412 InstanceNotReadyForBackupRedundancyUpdate - Cannot update backup storage redundancy because the instance is not ready.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully created the database.", + "schema": { + "$ref": "#/definitions/ManagedDatabase" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates a new managed database with minimal properties": { + "$ref": "./examples/ManagedDatabaseCreateMin.json" + }, + "Creates a new managed database with maximal properties": { + "$ref": "./examples/ManagedDatabaseCreateMax.json" + }, + "Creates a new managed database using point in time restore": { + "$ref": "./examples/ManagedDatabaseCreatePointInTimeRestore.json" + }, + "Creates a new managed database from restoring a geo-replicated backup": { + "$ref": "./examples/ManagedDatabaseCreateRecovery.json" + }, + "Creates a new managed database by restoring from an external backup": { + "$ref": "./examples/ManagedDatabaseCreateRestoreExternalBackup.json" + }, + "Creates a new managed database from restoring a long term retention backup": { + "$ref": "./examples/ManagedDatabaseCreateRestoreLtrBackup.json" + } + } + }, + "delete": { + "tags": [ + "ManagedDatabases" + ], + "description": "Deletes a managed database.", + "operationId": "ManagedDatabases_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the managed database." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 GeoReplicationDatabaseNotPrimary - The operation cannot be performed since the database '{0}' is a replication target.\n\n * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 DropDisallowedDuringFailover - Can not drop database because a failover operation is in progress on the failover group.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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 * 409 ServerDisabled - Server is disabled.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Deleting the managed database is in progress." + }, + "204": { + "description": "The specified managed database does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete managed database": { + "$ref": "./examples/ManagedDatabaseDelete.json" + } + } + }, + "patch": { + "tags": [ + "ManagedDatabases" + ], + "description": "Updates an existing database.", + "operationId": "ManagedDatabases_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested database resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedDatabaseUpdate" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/ManagedDatabase" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 PitrPointInTimeInvalid - The point in time {0} is not valid. Valid point in time range from {1} days early to now and not before source server creation time.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 ManagedDatabaseNameInUse - Database '{0}' already exists. Choose a different database name.\n\n * 400 NoMoreSpaceInManagedInstance - The managed instance has reached its storage limit. The storage usage for the managed instance cannot exceed (%d) MBs.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 DatabaseNumberLimitReached - Maximum number of databases for SQL Database Managed Instance reached.\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\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 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 CannotFindServerCertificateWithThumbprint - Cannot find server certificate with thumbprint '{0}'. Please use PowerShell Cmdlet 'Add-AzureRmSqlManagedInstanceTransparentDataEncryptionCertificate' to create the certificate.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 RestoreSourceDatabaseNotFound - Could not find database '{0}' at time '{1}' that can be restored.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Updating the managed database is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates a managed database with minimal properties": { + "$ref": "./examples/ManagedDatabaseUpdateMin.json" + }, + "Updates a managed database with maximal properties": { + "$ref": "./examples/ManagedDatabaseUpdateMax.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/inaccessibleManagedDatabases": { + "get": { + "tags": [ + "ManagedDatabases" + ], + "description": "Gets a list of inaccessible managed databases in a managed instance", + "operationId": "ManagedDatabases_ListInaccessibleByInstance", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of inaccessible managed databases in a managed instance.", + "schema": { + "$ref": "#/definitions/ManagedDatabaseListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List inaccessible managed databases by managed instances": { + "$ref": "./examples/InaccessibleManagedDatabaseListByManagedInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/completeRestore": { + "post": { + "tags": [ + "ManagedDatabases" + ], + "description": "Completes the restore operation on a managed database.", + "operationId": "ManagedDatabases_CompleteRestore", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The definition for completing the restore of this managed database.", + "required": true, + "schema": { + "$ref": "#/definitions/CompleteDatabaseRestoreDefinition" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully completed restore request." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidDatabaseCompleteRestoreRequest - The complete database restore request is invalid\n\n * 400 InvalidDatabaseCompleteRestoreRequestLastBackupName - The last backup name is invalid\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 AutoCompleteMissingLastBackupName - Auto complete restore request must have lastBackupName parameter provided.\n\n * 400 MissingThumbprint - Can not find server certificate.\n\n * 400 BlobStorageServerFailure - Blob storage server failure has occurred.\n\n * 400 BackupSetNotFound - No backups were found to restore the database. Please contact support to restore the database.\n\n * 400 FullBackupNotFound - Full backup can not be found.\n\n * 400 RestoreFromStripedBackupsNotEnabled - Restoring from striped backups is not supported.\n\n * 400 BrokenRestorePlanNoFullBackup - The restore plan is broken because there is no full backup.\n\n * 400 BrokenRestorePlanWrongLogBackupLSN - The restore plan is broken because firstLsn of current log backup is not <= lastLsn of next log backup.\n\n * 400 BrokenRestorePlanWrongDiffBackupLSN - The restore plan is broken because firstLsn of diff backup is not >= firstLsn of full backup.\n\n * 400 BrokenRestorePlanGapInLogBackups - The restore plan is broken because firstLsn of current log backup is not equal to lastLsn of prev log backup.\n\n * 400 XtpInitializedDuringRestore - Memory-optimized filegroup must be empty in order to be restored on General Purpose tier of SQL Database Managed Instance.\n\n * 400 FullBackupMissingChecksum - Provided full backup is missing checksum.\n\n * 400 FullBackupDamaged - Provided full backup is damaged.\n\n * 400 MissingStripeInBackupSet - Provided backup set has one or more missing stripes.\n\n * 400 PartiallyContainedDatabaseUnsupported - \"Backup for a partially contained database is not supported.\"\n\n * 400 RequiredBackupIsNotLastRestored - Migration cannot be completed because provided backup file name is not the name of the last backup file that is restored.\n\n * 400 ManagedInstanceStorageLimitHit - The managed instance has reached its storage limit.\n\n * 400 IncompatiblePhysicalLayoutTooFewDataFiles - Database backup contains incompatible physical layout. No data files are found in the backup.\n\n * 400 IncompatiblePhysicalLayoutNonOnlineDataFilesExist - Database backup contains incompatible physical layout. Non-online data files exist.\n\n * 400 IncompatiblePhysicalLayoutWrongNumberOfLogFiles - Database backup contains incompatible physical layout. Multiple log files are not supported.\n\n * 400 IncompatiblePhysicalLayoutNonOnlineLogFilesExist - Database backup contains incompatible physical layout. Non-online log files exist.\n\n * 400 IncompatiblePhysicalLayoutTooManyNonDataLogFiles - Database backup contains incompatible physical layout. Too many non-data/log files.\n\n * 400 ExternalBackupAlreadySignaledToComplete - The restore request has already been signaled to complete.\n\n * 400 ExternalBackupRestoreHasNotBeenStarted - The restore request can only be completed once the restore has started.\n\n * 400 ExternalBackupUpgradeInProgress - The restore request cannot be completed, since upgrade is in progress.\n\n * 400 IncompatiblePhysicalLayoutTooManyXTPFiles - Database backup contains incompatible physical layout. Multiple files found in the filegroup that contains MEMORY_OPTIMIZED_DATA.\n\n * 400 BlobStorageFailure - Blob storage failure has occurred.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources." + }, + "202": { + "description": "Completing restore request is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Completes a managed database external backup restore.": { + "$ref": "./examples/ManagedDatabaseCompleteExternalRestore.json" + } + } + } + } + }, + "definitions": { + "ManagedDatabaseListResult": { + "description": "A list of managed databases.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedDatabase" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedDatabaseProperties": { + "description": "The managed database's properties.", + "type": "object", + "properties": { + "collation": { + "description": "Collation of the managed database.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "status": { + "description": "Status of the database.", + "enum": [ + "Online", + "Offline", + "Shutdown", + "Creating", + "Inaccessible", + "Restoring", + "Updating" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ManagedDatabaseStatus", + "modelAsString": true + } + }, + "creationDate": { + "format": "date-time", + "description": "Creation date of the database.", + "type": "string", + "readOnly": true + }, + "earliestRestorePoint": { + "format": "date-time", + "description": "Earliest restore point in time for point in time restore.", + "type": "string", + "readOnly": true + }, + "restorePointInTime": { + "format": "date-time", + "description": "Conditional. If createMode is PointInTimeRestore, this value is required. Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "defaultSecondaryLocation": { + "description": "Geo paired region.", + "type": "string", + "readOnly": true + }, + "catalogCollation": { + "description": "Collation of the metadata catalog.", + "enum": [ + "DATABASE_DEFAULT", + "SQL_Latin1_General_CP1_CI_AS" + ], + "type": "string", + "x-ms-enum": { + "name": "CatalogCollationType", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "createMode": { + "description": "Managed database create mode. PointInTimeRestore: Create a database by restoring a point in time backup of an existing database. SourceDatabaseName, SourceManagedInstanceName and PointInTime must be specified. RestoreExternalBackup: Create a database by restoring from external backup files. Collation, StorageContainerUri and StorageContainerSasToken must be specified. Recovery: Creates a database by restoring a geo-replicated backup. RecoverableDatabaseId must be specified as the recoverable database resource ID to restore. RestoreLongTermRetentionBackup: Create a database by restoring from a long term retention backup (longTermRetentionBackupResourceId required).", + "enum": [ + "Default", + "RestoreExternalBackup", + "PointInTimeRestore", + "Recovery", + "RestoreLongTermRetentionBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedDatabaseCreateMode", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "storageContainerUri": { + "description": "Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the uri of the storage container where backups for this restore are stored.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "sourceDatabaseId": { + "description": "The resource identifier of the source database associated with create operation of this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "restorableDroppedDatabaseId": { + "description": "The restorable dropped database resource id to restore when creating this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "storageContainerSasToken": { + "description": "Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the storage container sas token.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "failoverGroupId": { + "description": "Instance Failover Group resource identifier that this managed database belongs to.", + "type": "string", + "readOnly": true + }, + "recoverableDatabaseId": { + "description": "The resource identifier of the recoverable database associated with create operation of this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "longTermRetentionBackupResourceId": { + "description": "The name of the Long Term Retention backup to be used for restore of this managed database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "autoCompleteRestore": { + "description": "Whether to auto complete restore of this managed database.", + "type": "boolean", + "x-ms-mutability": [ + "create" + ] + }, + "lastBackupName": { + "description": "Last backup file name for restore of this managed database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "ManagedDatabase": { + "description": "A managed database resource.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ManagedDatabaseProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ManagedDatabaseUpdate": { + "description": "An managed database update.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ManagedDatabaseProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "CompleteDatabaseRestoreDefinition": { + "description": "Contains the information necessary to perform a complete database restore operation.", + "required": [ + "lastBackupName" + ], + "type": "object", + "properties": { + "lastBackupName": { + "description": "The last backup name to apply", + "type": "string" + } + } + } + }, + "parameters": { + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceAdministrators.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceAdministrators.json new file mode 100644 index 000000000000..f530cb4afd8d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceAdministrators.json @@ -0,0 +1,331 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/administrators": { + "get": { + "tags": [ + "ManagedInstanceAdministrators" + ], + "description": "Gets a list of managed instance administrators.", + "operationId": "ManagedInstanceAdministrators_ListByInstance", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed instance administrators.", + "schema": { + "$ref": "#/definitions/ManagedInstanceAdministratorListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List administrators of managed instance": { + "$ref": "./examples/ManagedInstanceAdministratorListByInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/administrators/{administratorName}": { + "get": { + "tags": [ + "ManagedInstanceAdministrators" + ], + "description": "Gets a managed instance administrator.", + "operationId": "ManagedInstanceAdministrators_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "administratorName", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "ActiveDirectory" + ], + "x-ms-enum": { + "name": "AdministratorName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the the specified managed instance administrator.", + "schema": { + "$ref": "#/definitions/ManagedInstanceAdministrator" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidManagedServerAdministratorType - Invalid administrator type specified in properties.\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 400 InvalidManagedServerAzureADAdminDeleteOperation - User tried to delete managed server Azure Active Azure admin when AzureADOnlyAuthentication is set, please use azureADOnlyAuthentications API first.\n\n * 400 InvalidManagedServerAADOnlyAuthTypePropertyName - Managed Server Azure Active Directory only authentication type should be Default\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-examples": { + "Get administrator of managed instance": { + "$ref": "./examples/ManagedInstanceAdministratorGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedInstanceAdministrators" + ], + "description": "Creates or updates a managed instance administrator.", + "operationId": "ManagedInstanceAdministrators_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "administratorName", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "ActiveDirectory" + ], + "x-ms-enum": { + "name": "AdministratorName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The requested administrator parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedInstanceAdministrator" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the managed instance administrator.", + "schema": { + "$ref": "#/definitions/ManagedInstanceAdministrator" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidManagedServerAdministratorType - Invalid administrator type specified in properties.\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 400 InvalidManagedServerAzureADAdminDeleteOperation - User tried to delete managed server Azure Active Azure admin when AzureADOnlyAuthentication is set, please use azureADOnlyAuthentications API first.\n\n * 400 InvalidManagedServerAADOnlyAuthTypePropertyName - Managed Server Azure Active Directory only authentication type should be Default\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 PrincipalNotFoundInTenant - AzureAD Lookup returned no results for this name.\n\n * 400 ServerPrincipalHasDuplicateDisplayNameInAad - AzureAD Lookup returned multiple results for this name.\n\n * 400 ManagedInstanceIsBusy - Managed Instance is busy with another request.\n\n * 400 InvalidPrincipalType - This principal type is not supported in Windows Azure SQL Database.\n\n * 400 ServicePrincipalLookupInAadFailed - AzureAD Lookup failed due to service infrastructure errors.\n\n * 400 TenantNotFoundInActiveDirectory - Tenant is not available in active directory.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 ManagedInstanceHasNoPermissionsToAccessAad - Attempt to perform operation, which involves a non-existing login or login on which executing principal has no permissions.\n\n * 403 ServicePrincipalLookupInAadFailedIdentityForbidden - AzureAD Lookup failed because MSI was not granted read permissions on AAD.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\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 * 409 ServerPrincipalAlreadyExists - Attempt to create server principal with non-unique name.\n\n * 409 ServerPrincipalCurrentlyLoggedIn - Self-explanatory.\n\n * 409 ServerPrincipalOwnsJobs - Attempt to remove a login when it has active jobs.\n\n * 409 ServerPrincipalIsGrantorOfPermissions - Attempt to drop a server principal, which is a grantor of permissions.\n\n * 409 ServerPrincipalOwnsDatabase - Change the owner of the database(s) before dropping the login.\n\n * 409 ServerPrincipalUsedInTriggerOrEventNotification - Attempt to drop login, which is used as an execution context of a trigger or event notification.\n\n * 409 ServerPrincipalOwnsObjects - Attempt to drop a login, which owns objects.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActiveDirectoryLookupTimedOut - The operation could not be completed at this time. Please try again later.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully created the managed instance administrator.", + "schema": { + "$ref": "#/definitions/ManagedInstanceAdministrator" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create administrator of managed instance": { + "$ref": "./examples/ManagedInstanceAdministratorCreate.json" + }, + "Update administrator of managed instance": { + "$ref": "./examples/ManagedInstanceAdministratorUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedInstanceAdministrators" + ], + "description": "Deletes a managed instance administrator.", + "operationId": "ManagedInstanceAdministrators_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "administratorName", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "ActiveDirectory" + ], + "x-ms-enum": { + "name": "AdministratorName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the managed instance administrator." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidManagedServerAdministratorType - Invalid administrator type specified in properties.\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 400 InvalidManagedServerAzureADAdminDeleteOperation - User tried to delete managed server Azure Active Azure admin when AzureADOnlyAuthentication is set, please use azureADOnlyAuthentications API first.\n\n * 400 InvalidManagedServerAADOnlyAuthTypePropertyName - Managed Server Azure Active Directory only authentication type should be Default\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 PrincipalNotFoundInTenant - AzureAD Lookup returned no results for this name.\n\n * 400 ServerPrincipalHasDuplicateDisplayNameInAad - AzureAD Lookup returned multiple results for this name.\n\n * 400 ManagedInstanceIsBusy - Managed Instance is busy with another request.\n\n * 400 InvalidPrincipalType - This principal type is not supported in Windows Azure SQL Database.\n\n * 400 ServicePrincipalLookupInAadFailed - AzureAD Lookup failed due to service infrastructure errors.\n\n * 400 TenantNotFoundInActiveDirectory - Tenant is not available in active directory.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 ManagedInstanceHasNoPermissionsToAccessAad - Attempt to perform operation, which involves a non-existing login or login on which executing principal has no permissions.\n\n * 403 ServicePrincipalLookupInAadFailedIdentityForbidden - AzureAD Lookup failed because MSI was not granted read permissions on AAD.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\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 * 409 ServerPrincipalAlreadyExists - Attempt to create server principal with non-unique name.\n\n * 409 ServerPrincipalCurrentlyLoggedIn - Self-explanatory.\n\n * 409 ServerPrincipalOwnsJobs - Attempt to remove a login when it has active jobs.\n\n * 409 ServerPrincipalIsGrantorOfPermissions - Attempt to drop a server principal, which is a grantor of permissions.\n\n * 409 ServerPrincipalOwnsDatabase - Change the owner of the database(s) before dropping the login.\n\n * 409 ServerPrincipalUsedInTriggerOrEventNotification - Attempt to drop login, which is used as an execution context of a trigger or event notification.\n\n * 409 ServerPrincipalOwnsObjects - Attempt to drop a login, which owns objects.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActiveDirectoryLookupTimedOut - The operation could not be completed at this time. Please try again later.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete administrator of managed instance": { + "$ref": "./examples/ManagedInstanceAdministratorDelete.json" + } + } + } + } + }, + "definitions": { + "ManagedInstanceAdministratorListResult": { + "description": "A list of managed instance administrators.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstanceAdministrator" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedInstanceAdministratorProperties": { + "description": "The properties of a managed instance administrator.", + "required": [ + "administratorType", + "login", + "sid" + ], + "type": "object", + "properties": { + "administratorType": { + "description": "Type of the managed instance administrator.", + "enum": [ + "ActiveDirectory" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedInstanceAdministratorType", + "modelAsString": true + } + }, + "login": { + "description": "Login name of the managed instance administrator.", + "type": "string" + }, + "sid": { + "format": "uuid", + "description": "SID (object ID) of the managed instance administrator.", + "type": "string" + }, + "tenantId": { + "format": "uuid", + "description": "Tenant ID of the managed instance administrator.", + "type": "string" + } + } + }, + "ManagedInstanceAdministrator": { + "description": "An Azure SQL managed instance administrator.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ManagedInstanceAdministratorProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceAzureADOnlyAuthentications.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceAzureADOnlyAuthentications.json new file mode 100644 index 000000000000..be5c34b90940 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceAzureADOnlyAuthentications.json @@ -0,0 +1,311 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/azureADOnlyAuthentications/{authenticationName}": { + "get": { + "tags": [ + "ManagedInstanceAzureADOnlyAuthentications" + ], + "description": "Gets a specific Azure Active Directory only authentication property.", + "operationId": "ManagedInstanceAzureADOnlyAuthentications_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "authenticationName", + "in": "path", + "description": "The name of server azure active directory only authentication.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "AuthenticationName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified Azure Active Directory only authentication properties.", + "schema": { + "$ref": "#/definitions/ManagedInstanceAzureADOnlyAuthentication" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerAzureADOnlyAuthenticationParameter - User tried to set AzureADOnlyAuthentication parameter to false which is not allowed, please use azureADOnlyAuthentications API instead.\n\n * 400 InvalidManagedServerAADOnlyAuthTypePropertyName - Managed Server Azure Active Directory only authentication type should be Default\n\n * 400 InvalidManagedServerAADOnlyAuthNoAADAdminPropertyName - AAD Admin is not configured, AAD Admin must be set before enabling/disabling AAD Only Authentication.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-examples": { + "Gets a Azure Active Directory only authentication property.": { + "$ref": "./examples/ManagedInstanceAzureADOnlyAuthGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedInstanceAzureADOnlyAuthentications" + ], + "description": "Sets Server Active Directory only authentication property or updates an existing server Active Directory only authentication property.", + "operationId": "ManagedInstanceAzureADOnlyAuthentications_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "authenticationName", + "in": "path", + "description": "The name of server azure active directory only authentication.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "AuthenticationName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The required parameters for creating or updating an Active Directory only authentication property.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedInstanceAzureADOnlyAuthentication" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated a Azure Active Directory only authentication property.", + "schema": { + "$ref": "#/definitions/ManagedInstanceAzureADOnlyAuthentication" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerAzureADOnlyAuthenticationParameter - User tried to set AzureADOnlyAuthentication parameter to false which is not allowed, please use azureADOnlyAuthentications API instead.\n\n * 400 InvalidManagedServerAADOnlyAuthTypePropertyName - Managed Server Azure Active Directory only authentication type should be Default\n\n * 400 InvalidManagedServerAADOnlyAuthNoAADAdminPropertyName - AAD Admin is not configured, AAD Admin must be set before enabling/disabling AAD Only Authentication.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription 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 * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully updated Azure Active Directory only authentication property.", + "schema": { + "$ref": "#/definitions/ManagedInstanceAzureADOnlyAuthentication" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates or updates Azure Active Directory only authentication object.": { + "$ref": "./examples/ManagedInstanceAzureADOnlyAuthCreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedInstanceAzureADOnlyAuthentications" + ], + "description": "Deletes an existing server Active Directory only authentication property.", + "operationId": "ManagedInstanceAzureADOnlyAuthentications_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "authenticationName", + "in": "path", + "description": "The name of server azure active directory only authentication.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "AuthenticationName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the Azure Active Directory only property." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerAzureADOnlyAuthenticationParameter - User tried to set AzureADOnlyAuthentication parameter to false which is not allowed, please use azureADOnlyAuthentications API instead.\n\n * 400 InvalidManagedServerAADOnlyAuthTypePropertyName - Managed Server Azure Active Directory only authentication type should be Default\n\n * 400 InvalidManagedServerAADOnlyAuthNoAADAdminPropertyName - AAD Admin is not configured, AAD Admin must be set before enabling/disabling AAD Only Authentication.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription 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 * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "The specified Azure Active Directory only property does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes Azure Active Directory only authentication object.": { + "$ref": "./examples/ManagedInstanceAzureADOnlyAuthDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/azureADOnlyAuthentications": { + "get": { + "tags": [ + "ManagedInstanceAzureADOnlyAuthentications" + ], + "description": "Gets a list of server Azure Active Directory only authentications.", + "operationId": "ManagedInstanceAzureADOnlyAuthentications_ListByInstance", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of Azure Active Directory only authentication objects.", + "schema": { + "$ref": "#/definitions/ManagedInstanceAzureADOnlyAuthListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets a list of Azure Active Directory only authentication object.": { + "$ref": "./examples/ManagedInstanceAzureADOnlyAuthListByInstance.json" + } + } + } + } + }, + "definitions": { + "ManagedInstanceAzureADOnlyAuthProperties": { + "description": "Properties of a active directory only authentication for Managed Instance.", + "required": [ + "azureADOnlyAuthentication" + ], + "type": "object", + "properties": { + "azureADOnlyAuthentication": { + "description": "Azure Active Directory only Authentication enabled.", + "type": "boolean" + } + } + }, + "ManagedInstanceAzureADOnlyAuthentication": { + "description": "Azure Active Directory only authentication.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ManagedInstanceAzureADOnlyAuthProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ManagedInstanceAzureADOnlyAuthListResult": { + "description": "A list of active directory only authentications.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstanceAzureADOnlyAuthentication" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceEncryptionProtectors.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceEncryptionProtectors.json new file mode 100644 index 000000000000..2993bbce3871 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceEncryptionProtectors.json @@ -0,0 +1,338 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/encryptionProtector/{encryptionProtectorName}/revalidate": { + "post": { + "tags": [ + "ManagedInstanceEncryptionProtectors" + ], + "description": "Revalidates an existing encryption protector.", + "operationId": "ManagedInstanceEncryptionProtectors_Revalidate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "encryptionProtectorName", + "in": "path", + "description": "The name of the encryption protector to be updated.", + "required": true, + "type": "string", + "enum": [ + "current" + ], + "x-ms-enum": { + "name": "EncryptionProtectorName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully revalidated the encryption protector." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidKeyName - An invalid value was given for the server key name.\n\n * 400 InvalidKeyType - The create server key type is not supported.\n\n * 400 InvalidUpsertKeyType - Service-managed TDE keys are managed by the service. Service-managed TDE keys don't support Create or Update by the user.\n\n * 400 InvalidKeyUpsertRequest - The create server key request does not exist or has no properties object.\n\n * 400 InvalidEncryptionProtectorName - The encryption protector key name is not supported.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ServerKeyNotFound - The requested server key was not found on the current subscription.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information ." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Revalidates the encryption protector": { + "$ref": "./examples/ManagedInstanceEncryptionProtectorRevalidate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/encryptionProtector": { + "get": { + "tags": [ + "ManagedInstanceEncryptionProtectors" + ], + "description": "Gets a list of managed instance encryption protectors", + "operationId": "ManagedInstanceEncryptionProtectors_ListByInstance", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed instance encryption protector.", + "schema": { + "$ref": "#/definitions/ManagedInstanceEncryptionProtectorListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidKeyName - An invalid value was given for the server key name.\n\n * 400 InvalidKeyType - The create server key type is not supported.\n\n * 400 InvalidUpsertKeyType - Service-managed TDE keys are managed by the service. Service-managed TDE keys don't support Create or Update by the user.\n\n * 400 InvalidKeyUpsertRequest - The create server key request does not exist or has no properties object.\n\n * 400 InvalidEncryptionProtectorName - The encryption protector key name is not supported.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List encryption protectors by managed instance": { + "$ref": "./examples/ManagedInstanceEncryptionProtectorList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/encryptionProtector/{encryptionProtectorName}": { + "get": { + "tags": [ + "ManagedInstanceEncryptionProtectors" + ], + "description": "Gets a managed instance encryption protector.", + "operationId": "ManagedInstanceEncryptionProtectors_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "encryptionProtectorName", + "in": "path", + "description": "The name of the encryption protector to be retrieved.", + "required": true, + "type": "string", + "enum": [ + "current" + ], + "x-ms-enum": { + "name": "EncryptionProtectorName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified managed instance encryption protector.", + "schema": { + "$ref": "#/definitions/ManagedInstanceEncryptionProtector" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidKeyName - An invalid value was given for the server key name.\n\n * 400 InvalidKeyType - The create server key type is not supported.\n\n * 400 InvalidUpsertKeyType - Service-managed TDE keys are managed by the service. Service-managed TDE keys don't support Create or Update by the user.\n\n * 400 InvalidKeyUpsertRequest - The create server key request does not exist or has no properties object.\n\n * 400 InvalidEncryptionProtectorName - The encryption protector key name is not supported.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get the encryption protector": { + "$ref": "./examples/ManagedInstanceEncryptionProtectorGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedInstanceEncryptionProtectors" + ], + "description": "Updates an existing encryption protector.", + "operationId": "ManagedInstanceEncryptionProtectors_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "encryptionProtectorName", + "in": "path", + "description": "The name of the encryption protector to be updated.", + "required": true, + "type": "string", + "enum": [ + "current" + ], + "x-ms-enum": { + "name": "EncryptionProtectorName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The requested encryption protector resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedInstanceEncryptionProtector" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the encryption protector.", + "schema": { + "$ref": "#/definitions/ManagedInstanceEncryptionProtector" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidKeyName - An invalid value was given for the server key name.\n\n * 400 InvalidKeyType - The create server key type is not supported.\n\n * 400 InvalidUpsertKeyType - Service-managed TDE keys are managed by the service. Service-managed TDE keys don't support Create or Update by the user.\n\n * 400 InvalidKeyUpsertRequest - The create server key request does not exist or has no properties object.\n\n * 400 InvalidEncryptionProtectorName - The encryption protector key name is not supported.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ServerKeyNotFound - The requested server key was not found on the current subscription.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information ." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update the encryption protector to key vault": { + "$ref": "./examples/ManagedInstanceEncryptionProtectorCreateOrUpdateKeyVault.json" + }, + "Update the encryption protector to service managed": { + "$ref": "./examples/ManagedInstanceEncryptionProtectorCreateOrUpdateServiceManaged.json" + } + } + } + } + }, + "definitions": { + "ManagedInstanceEncryptionProtectorListResult": { + "description": "A list of managed instance encryption protectors.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstanceEncryptionProtector" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedInstanceEncryptionProtectorProperties": { + "description": "Properties for an encryption protector execution.", + "required": [ + "serverKeyType" + ], + "type": "object", + "properties": { + "serverKeyName": { + "description": "The name of the managed instance key.", + "type": "string" + }, + "serverKeyType": { + "description": "The encryption protector type like 'ServiceManaged', 'AzureKeyVault'.", + "enum": [ + "ServiceManaged", + "AzureKeyVault" + ], + "type": "string", + "x-ms-enum": { + "name": "ServerKeyType", + "modelAsString": true + } + }, + "uri": { + "description": "The URI of the server key.", + "type": "string", + "readOnly": true + }, + "thumbprint": { + "description": "Thumbprint of the server key.", + "type": "string", + "readOnly": true + }, + "autoRotationEnabled": { + "description": "Key auto rotation opt-in flag. Either true or false.", + "type": "boolean" + } + } + }, + "ManagedInstanceEncryptionProtector": { + "description": "The managed instance encryption protector.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "description": "Kind of encryption protector. This is metadata used for the Azure portal experience.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/ManagedInstanceEncryptionProtectorProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceKeys.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceKeys.json new file mode 100644 index 000000000000..d0e0fc619dec --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceKeys.json @@ -0,0 +1,336 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/keys": { + "get": { + "tags": [ + "ManagedInstanceKeys" + ], + "description": "Gets a list of managed instance keys.", + "operationId": "ManagedInstanceKeys_ListByInstance", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "An OData filter expression that filters elements in the collection.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed instance keys.", + "schema": { + "$ref": "#/definitions/ManagedInstanceKeyListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidKeyName - An invalid value was given for the server key name.\n\n * 400 InvalidKeyType - The create server key type is not supported.\n\n * 400 InvalidUpsertKeyType - Service-managed TDE keys are managed by the service. Service-managed TDE keys don't support Create or Update by the user.\n\n * 400 InvalidKeyUpsertRequest - The create server key request does not exist or has no properties object.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List the keys for a managed instance.": { + "$ref": "./examples/ManagedInstanceKeyList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/keys/{keyName}": { + "get": { + "tags": [ + "ManagedInstanceKeys" + ], + "description": "Gets a managed instance key.", + "operationId": "ManagedInstanceKeys_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the managed instance key to be retrieved.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified managed instance key.", + "schema": { + "$ref": "#/definitions/ManagedInstanceKey" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidKeyName - An invalid value was given for the server key name.\n\n * 400 InvalidKeyType - The create server key type is not supported.\n\n * 400 InvalidUpsertKeyType - Service-managed TDE keys are managed by the service. Service-managed TDE keys don't support Create or Update by the user.\n\n * 400 InvalidKeyUpsertRequest - The create server key request does not exist or has no properties object.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get the managed instance key": { + "$ref": "./examples/ManagedInstanceKeyGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedInstanceKeys" + ], + "description": "Creates or updates a managed instance key.", + "operationId": "ManagedInstanceKeys_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the managed instance key to be operated on (updated or created).", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested managed instance key resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedInstanceKey" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the managed instance key.", + "schema": { + "$ref": "#/definitions/ManagedInstanceKey" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidKeyName - An invalid value was given for the server key name.\n\n * 400 InvalidKeyType - The create server key type is not supported.\n\n * 400 InvalidUpsertKeyType - Service-managed TDE keys are managed by the service. Service-managed TDE keys don't support Create or Update by the user.\n\n * 400 InvalidKeyUpsertRequest - The create server key request does not exist or has no properties object.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information ." + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully created the managed instance key.", + "schema": { + "$ref": "#/definitions/ManagedInstanceKey" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates or updates a managed instance key": { + "$ref": "./examples/ManagedInstanceKeyCreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedInstanceKeys" + ], + "description": "Deletes the managed instance key with the given name.", + "operationId": "ManagedInstanceKeys_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the managed instance key to be deleted.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the managed instance key." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidKeyName - An invalid value was given for the server key name.\n\n * 400 InvalidKeyType - The create server key type is not supported.\n\n * 400 InvalidUpsertKeyType - Service-managed TDE keys are managed by the service. Service-managed TDE keys don't support Create or Update by the user.\n\n * 400 InvalidKeyUpsertRequest - The create server key request does not exist or has no properties object.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information ." + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "The specified managed instance key does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete the managed instance key": { + "$ref": "./examples/ManagedInstanceKeyDelete.json" + } + } + } + } + }, + "definitions": { + "ManagedInstanceKeyListResult": { + "description": "A list of managed instance keys.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstanceKey" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedInstanceKeyProperties": { + "description": "Properties for a key execution.", + "required": [ + "serverKeyType" + ], + "type": "object", + "properties": { + "serverKeyType": { + "description": "The key type like 'ServiceManaged', 'AzureKeyVault'.", + "enum": [ + "ServiceManaged", + "AzureKeyVault" + ], + "type": "string", + "x-ms-enum": { + "name": "ServerKeyType", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "uri": { + "description": "The URI of the key. If the ServerKeyType is AzureKeyVault, then the URI is required.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "thumbprint": { + "description": "Thumbprint of the key.", + "type": "string", + "readOnly": true + }, + "creationDate": { + "format": "date-time", + "description": "The key creation date.", + "type": "string", + "readOnly": true + }, + "autoRotationEnabled": { + "description": "Key auto rotation opt-in flag. Either true or false.", + "type": "boolean", + "readOnly": true + } + } + }, + "ManagedInstanceKey": { + "description": "A managed instance key.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "description": "Kind of encryption protector. This is metadata used for the Azure portal experience.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/ManagedInstanceKeyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceLongTermRetentionPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceLongTermRetentionPolicies.json new file mode 100644 index 000000000000..8c345630e6e1 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceLongTermRetentionPolicies.json @@ -0,0 +1,277 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupLongTermRetentionPolicies/{policyName}": { + "get": { + "tags": [ + "ManagedInstanceLongTermRetentionPolicies" + ], + "description": "Gets a managed database's long term retention policy.", + "operationId": "ManagedInstanceLongTermRetentionPolicies_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "policyName", + "in": "path", + "description": "The policy name. Should always be Default.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ManagedInstanceLongTermRetentionPolicyName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully got LTR policy for managed database.", + "schema": { + "$ref": "#/definitions/ManagedInstanceLongTermRetentionPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 LongTermRetentionPolicyNotSupported - Long Term Retention is not supported on this database.\n\n * 400 LongTermRetentionPolicyInvalid - Long Term Retention policy is invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get the long term retention policy for the managed database.": { + "$ref": "./examples/ManagedInstanceLongTermRetentionPolicyGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedInstanceLongTermRetentionPolicies" + ], + "description": "Sets a managed database's long term retention policy.", + "operationId": "ManagedInstanceLongTermRetentionPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "policyName", + "in": "path", + "description": "The policy name. Should always be Default.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ManagedInstanceLongTermRetentionPolicyName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The long term retention policy info.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedInstanceLongTermRetentionPolicy" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully set LTR policy for managed database.", + "schema": { + "$ref": "#/definitions/ManagedInstanceLongTermRetentionPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 LongTermRetentionMissingWeekOfYear - WeekOfYear is required to be set between 1 and 52 in order to set yearly retention.\n\n * 400 LongTermRetentionPolicyNotSupported - Long Term Retention is not supported on this database.\n\n * 400 LongTermRetentionPolicyInvalid - Long Term Retention policy is invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update the LTR policy for the managed database.": { + "$ref": "./examples/ManagedInstanceLongTermRetentionPolicyCreateOrUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupLongTermRetentionPolicies": { + "get": { + "tags": [ + "ManagedInstanceLongTermRetentionPolicies" + ], + "description": "Gets a database's long term retention policy.", + "operationId": "ManagedInstanceLongTermRetentionPolicies_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully got LTR policy for managed database.", + "schema": { + "$ref": "#/definitions/ManagedInstanceLongTermRetentionPolicyListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 LongTermRetentionPolicyNotSupported - Long Term Retention is not supported on this database.\n\n * 400 LongTermRetentionPolicyInvalid - Long Term Retention policy is invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get the long term retention policies for the managed database.": { + "$ref": "./examples/ManagedInstanceLongTermRetentionPolicyListByDatabase.json" + } + } + } + } + }, + "definitions": { + "BaseLongTermRetentionPolicyProperties": { + "description": "Properties of a long term retention policy", + "type": "object", + "properties": { + "weeklyRetention": { + "description": "The weekly retention policy for an LTR backup in an ISO 8601 format.", + "type": "string" + }, + "monthlyRetention": { + "description": "The monthly retention policy for an LTR backup in an ISO 8601 format.", + "type": "string" + }, + "yearlyRetention": { + "description": "The yearly retention policy for an LTR backup in an ISO 8601 format.", + "type": "string" + }, + "weekOfYear": { + "format": "int32", + "description": "The week of year to take the yearly backup in an ISO 8601 format.", + "type": "integer" + } + } + }, + "ManagedInstanceLongTermRetentionPolicy": { + "description": "A long term retention policy.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BaseLongTermRetentionPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ManagedInstanceLongTermRetentionPolicyListResult": { + "description": "A list of long term retention policies.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstanceLongTermRetentionPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceOperations.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceOperations.json new file mode 100644 index 000000000000..f148661bb3db --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceOperations.json @@ -0,0 +1,402 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/operations": { + "get": { + "tags": [ + "ManagedInstanceOperations" + ], + "description": "Gets a list of operations performed on the managed instance.", + "operationId": "ManagedInstanceOperations_ListByManagedInstance", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request for getting managed instance operations has been executed successfully.", + "schema": { + "$ref": "#/definitions/ManagedInstanceOperationListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List the managed instance management operations": { + "$ref": "./examples/ListManagedInstanceOperations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/operations/{operationId}": { + "get": { + "tags": [ + "ManagedInstanceOperations" + ], + "description": "Gets a management operation on a managed instance.", + "operationId": "ManagedInstanceOperations_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified managed instance operation.", + "schema": { + "$ref": "#/definitions/ManagedInstanceOperation" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Gets the managed instance management operation": { + "$ref": "./examples/GetManagedInstanceOperation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/operations/{operationId}/cancel": { + "post": { + "tags": [ + "ManagedInstanceOperations" + ], + "description": "Cancels the asynchronous operation on the managed instance.", + "operationId": "ManagedInstanceOperations_Cancel", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request for cancel has been executed successfully." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 405 CannotCancelOperation - The management operation is in a state that cannot be cancelled.\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." + } + }, + "x-ms-examples": { + "Cancel the managed instance management operation": { + "$ref": "./examples/CancelManagedInstanceOperation.json" + } + } + } + } + }, + "definitions": { + "ManagedInstanceOperationListResult": { + "description": "The response to a list managed instance operations request", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstanceOperation" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedInstanceOperationProperties": { + "description": "The properties of a managed instance operation.", + "type": "object", + "properties": { + "managedInstanceName": { + "description": "The name of the managed instance the operation is being performed on.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The name of operation.", + "type": "string", + "readOnly": true + }, + "operationFriendlyName": { + "description": "The friendly name of operation.", + "type": "string", + "readOnly": true + }, + "percentComplete": { + "format": "int32", + "description": "The percentage of the operation completed.", + "type": "integer", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "The operation start time.", + "type": "string", + "readOnly": true + }, + "state": { + "description": "The operation state.", + "enum": [ + "Pending", + "InProgress", + "Succeeded", + "Failed", + "CancelInProgress", + "Cancelled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ManagementOperationState", + "modelAsString": true + } + }, + "errorCode": { + "format": "int32", + "description": "The operation error code.", + "type": "integer", + "readOnly": true + }, + "errorDescription": { + "description": "The operation error description.", + "type": "string", + "readOnly": true + }, + "errorSeverity": { + "format": "int32", + "description": "The operation error severity.", + "type": "integer", + "readOnly": true + }, + "isUserError": { + "description": "Whether or not the error is a user error.", + "type": "boolean", + "readOnly": true + }, + "estimatedCompletionTime": { + "format": "date-time", + "description": "The estimated completion time of the operation.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The operation description.", + "type": "string", + "readOnly": true + }, + "isCancellable": { + "description": "Whether the operation can be cancelled.", + "type": "boolean", + "readOnly": true + }, + "operationParameters": { + "$ref": "#/definitions/ManagedInstanceOperationParametersPair", + "description": "The operation parameters.", + "readOnly": true + }, + "operationSteps": { + "$ref": "#/definitions/ManagedInstanceOperationSteps", + "description": "The operation steps.", + "readOnly": true + } + } + }, + "ManagedInstanceOperationParametersPair": { + "description": "The parameters of a managed instance operation.", + "type": "object", + "properties": { + "currentParameters": { + "$ref": "#/definitions/UpsertManagedServerOperationParameters", + "description": "The current parameters.", + "readOnly": true + }, + "requestedParameters": { + "$ref": "#/definitions/UpsertManagedServerOperationParameters", + "description": "The requested parameters.", + "readOnly": true + } + } + }, + "ManagedInstanceOperationSteps": { + "description": "The steps of a managed instance operation.", + "type": "object", + "properties": { + "totalSteps": { + "description": "The total number of operation steps.", + "type": "string", + "readOnly": true + }, + "currentStep": { + "format": "int32", + "description": "The number of current operation steps.", + "type": "integer", + "readOnly": true + }, + "stepsList": { + "description": "The operation steps list.", + "type": "array", + "items": { + "$ref": "#/definitions/UpsertManagedServerOperationStepWithEstimatesAndDuration" + }, + "readOnly": true + } + } + }, + "UpsertManagedServerOperationParameters": { + "type": "object", + "properties": { + "family": { + "type": "string" + }, + "tier": { + "type": "string" + }, + "vCores": { + "format": "int32", + "type": "integer" + }, + "storageSizeInGB": { + "format": "int32", + "type": "integer" + } + } + }, + "UpsertManagedServerOperationStepWithEstimatesAndDuration": { + "type": "object", + "properties": { + "stepStartTime": { + "format": "date-time", + "type": "string" + }, + "stepEndTime": { + "format": "date-time", + "type": "string" + }, + "timeElapsed": { + "description": "A string that returns the number of minutes passed from stepStartTime", + "type": "string" + }, + "order": { + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "status": { + "enum": [ + "NotStarted", + "InProgress", + "SlowedDown", + "Completed", + "Failed", + "Canceled" + ], + "type": "string" + } + } + }, + "ManagedInstanceOperation": { + "description": "A managed instance operation.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ManagedInstanceOperationProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstancePrivateEndpointConnections.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstancePrivateEndpointConnections.json new file mode 100644 index 000000000000..b9fd48316d49 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstancePrivateEndpointConnections.json @@ -0,0 +1,318 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "ManagedInstancePrivateEndpointConnections" + ], + "description": "Gets a private endpoint connection.", + "operationId": "ManagedInstancePrivateEndpointConnections_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private endpoint connection.", + "schema": { + "$ref": "#/definitions/ManagedInstancePrivateEndpointConnection" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 PrivateEndpointConnectionDoesNotExist - Private Endpoint Connection does not exist\n\n * 400 PrivateEndpointConnectionStatusNotPending - Private Endpoint Connection Status is not Pending\n\n * 400 NullRemotePrivateLinkServiceConnectionState - Remote Private Link Service Connection State is Null\n\n * 400 NullPrivateEndpointConnectionProperties - Private Endpoint Connection Properties is Null\n\n * 400 NullRemotePrivateLinkServiceConnectionStateStatus - Remote Private Link Service Connection State Status is Null\n\n * 400 IncorrectPrivateLinkServiceConnectionStateStatus - Private Link Service Connection State Status must be \"Approved\" or \"Rejected\"\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/ManagedInstancePrivateEndpointConnectionGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedInstancePrivateEndpointConnections" + ], + "description": "Approve or reject a private endpoint connection with a given name.", + "operationId": "ManagedInstancePrivateEndpointConnections_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedInstancePrivateEndpointConnection" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully approved or rejected private endpoint connection.", + "schema": { + "$ref": "#/definitions/ManagedInstancePrivateEndpointConnection" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 PrivateEndpointConnectionDoesNotExist - Private Endpoint Connection does not exist\n\n * 400 PrivateEndpointConnectionStatusNotPending - Private Endpoint Connection Status is not Pending\n\n * 400 NullRemotePrivateLinkServiceConnectionState - Remote Private Link Service Connection State is Null\n\n * 400 NullPrivateEndpointConnectionProperties - Private Endpoint Connection Properties is Null\n\n * 400 NullRemotePrivateLinkServiceConnectionStateStatus - Remote Private Link Service Connection State Status is Null\n\n * 400 IncorrectPrivateLinkServiceConnectionStateStatus - Private Link Service Connection State Status must be \"Approved\" or \"Rejected\"\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Approve or reject a private endpoint connection with a given name.": { + "$ref": "./examples/ManagedInstancePrivateEndpointConnectionUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedInstancePrivateEndpointConnections" + ], + "description": "Deletes a private endpoint connection with a given name.", + "operationId": "ManagedInstancePrivateEndpointConnections_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted private endpoint connection." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 PrivateEndpointConnectionDoesNotExist - Private Endpoint Connection does not exist\n\n * 400 PrivateEndpointConnectionStatusNotPending - Private Endpoint Connection Status is not Pending\n\n * 400 NullRemotePrivateLinkServiceConnectionState - Remote Private Link Service Connection State is Null\n\n * 400 NullPrivateEndpointConnectionProperties - Private Endpoint Connection Properties is Null\n\n * 400 NullRemotePrivateLinkServiceConnectionStateStatus - Remote Private Link Service Connection State Status is Null\n\n * 400 IncorrectPrivateLinkServiceConnectionStateStatus - Private Link Service Connection State Status must be \"Approved\" or \"Rejected\"\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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": "Private endpoint connection does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes a private endpoint connection with a given name.": { + "$ref": "./examples/ManagedInstancePrivateEndpointConnectionDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/privateEndpointConnections": { + "get": { + "tags": [ + "ManagedInstancePrivateEndpointConnections" + ], + "description": "Gets all private endpoint connections on a server.", + "operationId": "ManagedInstancePrivateEndpointConnections_ListByManagedInstance", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "#/definitions/ManagedInstancePrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 PrivateEndpointConnectionDoesNotExist - Private Endpoint Connection does not exist\n\n * 400 PrivateEndpointConnectionStatusNotPending - Private Endpoint Connection Status is not Pending\n\n * 400 NullRemotePrivateLinkServiceConnectionState - Remote Private Link Service Connection State is Null\n\n * 400 NullPrivateEndpointConnectionProperties - Private Endpoint Connection Properties is Null\n\n * 400 NullRemotePrivateLinkServiceConnectionStateStatus - Remote Private Link Service Connection State Status is Null\n\n * 400 IncorrectPrivateLinkServiceConnectionStateStatus - Private Link Service Connection State Status must be \"Approved\" or \"Rejected\"\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets list of private endpoint connections on a server.": { + "$ref": "./examples/ManagedInstancePrivateEndpointConnectionList.json" + } + } + } + } + }, + "definitions": { + "ManagedInstancePrivateEndpointConnectionProperties": { + "description": "Properties of a private endpoint connection.", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/ManagedInstancePrivateEndpointProperty", + "description": "Private endpoint which the connection belongs to." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/ManagedInstancePrivateLinkServiceConnectionStateProperty", + "description": "Connection State of the Private Endpoint Connection." + }, + "provisioningState": { + "description": "State of the Private Endpoint Connection.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedInstancePrivateEndpointProperty": { + "type": "object", + "properties": { + "id": { + "description": "Resource id of the private endpoint.", + "type": "string" + } + } + }, + "ManagedInstancePrivateLinkServiceConnectionStateProperty": { + "required": [ + "status", + "description" + ], + "type": "object", + "properties": { + "status": { + "description": "The private link service connection status.", + "type": "string" + }, + "description": { + "description": "The private link service connection description.", + "type": "string" + }, + "actionsRequired": { + "description": "The private link service connection description.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedInstancePrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ManagedInstancePrivateEndpointConnectionProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ManagedInstancePrivateEndpointConnectionListResult": { + "description": "A list of private endpoint connections.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstancePrivateEndpointConnection" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstancePrivateLinkResources.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstancePrivateLinkResources.json new file mode 100644 index 000000000000..a4bb68f60090 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstancePrivateLinkResources.json @@ -0,0 +1,193 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/privateLinkResources": { + "get": { + "tags": [ + "ManagedInstancePrivateLinkResources" + ], + "description": "Gets the private link resources for SQL server.", + "operationId": "ManagedInstancePrivateLinkResources_ListByManagedInstance", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/ManagedInstancePrivateLinkListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\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." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets private link resources for SQL.": { + "$ref": "./examples/ManagedInstancePrivateLinkResourcesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/privateLinkResources/{groupName}": { + "get": { + "tags": [ + "ManagedInstancePrivateLinkResources" + ], + "description": "Gets a private link resource for SQL server.", + "operationId": "ManagedInstancePrivateLinkResources_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "groupName", + "in": "path", + "description": "The name of the private link resource.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/ManagedInstancePrivateLink" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\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." + } + }, + "x-ms-examples": { + "Gets a private link resource for SQL.": { + "$ref": "./examples/ManagedInstancePrivateLinkResourcesGet.json" + } + } + } + } + }, + "definitions": { + "ManagedInstancePrivateLinkListResult": { + "description": "A list of private link resources", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstancePrivateLink" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedInstancePrivateLinkProperties": { + "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 + } + } + }, + "ManagedInstancePrivateLink": { + "description": "A private link resource", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ManagedInstancePrivateLinkProperties", + "description": "The private link resource group id.", + "readOnly": true + } + } + } + }, + "parameters": { + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceTdeCertificates.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceTdeCertificates.json new file mode 100644 index 000000000000..4b19c1d271cd --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceTdeCertificates.json @@ -0,0 +1,133 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/tdeCertificates": { + "post": { + "tags": [ + "ManagedInstanceTdeCertificates" + ], + "description": "Creates a TDE certificate for a given server.", + "operationId": "ManagedInstanceTdeCertificates_Create", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested TDE certificate to be created or updated.", + "required": true, + "schema": { + "$ref": "#/definitions/TdeCertificate" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created the TDE certificate." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MissingPrivateBlob - The private blob is missing.\n\n * 400 InvalidPrivateBlobOrPassword - Invalid private blob or password specified.\n\n * 400 PrivateBlobWithoutPrivateKey - The provided blob does not contain private key.\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Upload a TDE certificate": { + "$ref": "./examples/ManagedInstanceTdeCertificate.json" + } + } + } + } + }, + "definitions": { + "TdeCertificateProperties": { + "description": "Properties of a TDE certificate.", + "required": [ + "privateBlob" + ], + "type": "object", + "properties": { + "privateBlob": { + "description": "The base64 encoded certificate private blob.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "certPassword": { + "description": "The certificate password.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + } + } + }, + "TdeCertificate": { + "description": "A TDE certificate that can be uploaded into a server.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TdeCertificateProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceVulnerabilityAssessments.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceVulnerabilityAssessments.json new file mode 100644 index 000000000000..8eea3b773fcd --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceVulnerabilityAssessments.json @@ -0,0 +1,359 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}": { + "get": { + "tags": [ + "ManagedInstanceVulnerabilityAssessments" + ], + "description": "Gets the managed instance's vulnerability assessment.", + "operationId": "ManagedInstanceVulnerabilityAssessments_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance for which the vulnerability assessment is defined.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the managed instance vulnerability assessment.", + "schema": { + "$ref": "#/definitions/ManagedInstanceVulnerabilityAssessment" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 VulnerabilityAssessmentInsufficientStorageAccountPermissions - Insufficient permissions on the provided storage account.\n\n * 400 VulnerabilityAssessmentStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found" + } + }, + "x-ms-examples": { + "Get a managed instance's vulnerability assessment": { + "$ref": "./examples/ManagedInstanceVulnerabilityAssessmentGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedInstanceVulnerabilityAssessments" + ], + "description": "Creates or updates the managed instance's vulnerability assessment. Learn more about setting SQL vulnerability assessment with managed identity - https://docs.microsoft.com/azure/azure-sql/database/sql-database-vulnerability-assessment-storage", + "operationId": "ManagedInstanceVulnerabilityAssessments_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance for which the vulnerability assessment is defined.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The requested resource.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedInstanceVulnerabilityAssessment" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully set the vulnerability assessment.", + "schema": { + "$ref": "#/definitions/ManagedInstanceVulnerabilityAssessment" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 VulnerabilityAssessmentInsufficientStorageAccountPermissions - Insufficient permissions on the provided storage account.\n\n * 400 VulnerabilityAssessmentStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 400 InvalidVulnerabilityAssessmentOperationRequest - The vulnerability assessment operation request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found" + }, + "201": { + "description": "Successfully created the vulnerability assessment.", + "schema": { + "$ref": "#/definitions/ManagedInstanceVulnerabilityAssessment" + } + } + }, + "x-ms-examples": { + "Create a managed instance's vulnerability assessment with minimal parameters, when storageContainerSasKey is specified": { + "$ref": "./examples/ManagedInstanceVulnerabilityAssessmentCreateContainerSasKeyMin.json" + }, + "Create a managed instance's vulnerability assessment with minimal parameters, when storageAccountAccessKey is specified": { + "$ref": "./examples/ManagedInstanceVulnerabilityAssessmentCreateStorageAccessKeyMin.json" + }, + "Create a managed instance's vulnerability assessment with all parameters": { + "$ref": "./examples/ManagedInstanceVulnerabilityAssessmentCreateMax.json" + } + } + }, + "delete": { + "tags": [ + "ManagedInstanceVulnerabilityAssessments" + ], + "description": "Removes the managed instance's vulnerability assessment.", + "operationId": "ManagedInstanceVulnerabilityAssessments_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance for which the vulnerability assessment is defined.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed the managed instance vulnerability assessment." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 VulnerabilityAssessmentInsufficientStorageAccountPermissions - Insufficient permissions on the provided storage account.\n\n * 400 VulnerabilityAssessmentStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found" + } + }, + "x-ms-examples": { + "Remove a managed instance's vulnerability assessment": { + "$ref": "./examples/ManagedInstanceVulnerabilityAssessmentDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/vulnerabilityAssessments": { + "get": { + "tags": [ + "ManagedInstanceVulnerabilityAssessments" + ], + "description": "Gets the managed instance's vulnerability assessment policies.", + "operationId": "ManagedInstanceVulnerabilityAssessments_ListByInstance", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance for which the vulnerability assessments is defined.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the managed instance vulnerability assessment policies.", + "schema": { + "$ref": "#/definitions/ManagedInstanceVulnerabilityAssessmentListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 VulnerabilityAssessmentInsufficientStorageAccountPermissions - Insufficient permissions on the provided storage account.\n\n * 400 VulnerabilityAssessmentStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a managed instance's vulnerability assessment policies": { + "$ref": "./examples/ManagedInstanceVulnerabilityAssessmentListByInstance.json" + } + } + } + } + }, + "definitions": { + "ManagedInstanceVulnerabilityAssessmentProperties": { + "description": "Properties of a managed instance vulnerability assessment.", + "required": [ + "storageContainerPath" + ], + "type": "object", + "properties": { + "storageContainerPath": { + "description": "A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/).", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "storageContainerSasKey": { + "description": "A shared access signature (SAS Key) that has write access to the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. Applies only if the storage account is not behind a Vnet or a firewall", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "storageAccountAccessKey": { + "description": "Specifies the identifier key of the storage account for vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is not behind a Vnet or a firewall", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "recurringScans": { + "$ref": "#/definitions/VulnerabilityAssessmentRecurringScansProperties", + "description": "The recurring scans settings" + } + } + }, + "VulnerabilityAssessmentRecurringScansProperties": { + "description": "Properties of a Vulnerability Assessment recurring scans.", + "type": "object", + "properties": { + "isEnabled": { + "description": "Recurring scans state.", + "type": "boolean" + }, + "emailSubscriptionAdmins": { + "description": "Specifies that the schedule scan notification will be is sent to the subscription administrators.", + "default": true, + "type": "boolean" + }, + "emails": { + "description": "Specifies an array of e-mail addresses to which the scan notification is sent.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ManagedInstanceVulnerabilityAssessment": { + "description": "A managed instance vulnerability assessment.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ManagedInstanceVulnerabilityAssessmentProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ManagedInstanceVulnerabilityAssessmentListResult": { + "description": "A list of the ManagedInstance's vulnerability assessments.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstanceVulnerabilityAssessment" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstances.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstances.json new file mode 100644 index 000000000000..b3fd524ba24b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedInstances.json @@ -0,0 +1,1269 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}/managedInstances": { + "get": { + "tags": [ + "ManagedInstances" + ], + "description": "Gets a list of all managed instances in an instance pool.", + "operationId": "ManagedInstances_ListByInstancePool", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "instancePoolName", + "in": "path", + "description": "The instance pool name.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "The child resources to include in the response.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed instances.", + "schema": { + "$ref": "#/definitions/ManagedInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 InstancePoolNotFound - An instance pool cannot be found" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List managed instances by instance pool": { + "$ref": "./examples/ManagedInstanceListByInstancePool.json" + }, + "List managed instances by instance pool with $expand=administrators/activedirectory": { + "$ref": "./examples/ManagedInstanceListByInstancePoolWithExpandEqualsAdministrators.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/managedInstances": { + "get": { + "tags": [ + "ManagedInstances" + ], + "description": "Gets a list of all managed instances in the subscription.", + "operationId": "ManagedInstances_List", + "parameters": [ + { + "name": "$expand", + "in": "query", + "description": "The child resources to include in the response.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed instances.", + "schema": { + "$ref": "#/definitions/ManagedInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List managed instances": { + "$ref": "./examples/ManagedInstanceList.json" + }, + "List managed instances with $expand=administrators/activedirectory": { + "$ref": "./examples/ManagedInstanceListWithExpandEqualsAdministrators.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances": { + "get": { + "tags": [ + "ManagedInstances" + ], + "description": "Gets a list of managed instances in a resource group.", + "operationId": "ManagedInstances_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "The child resources to include in the response.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed instances.", + "schema": { + "$ref": "#/definitions/ManagedInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MiGeoRestoreWithWrongBackupStorageRedundancy - Geo-Restore is not allowed for managed instances with LRS/ZRS backup storage redundancy.\n\n * 400 UpdatingInstanceAndBackupRedundancy - Instance zone redundancy and backup storage redundancy cannot be updated in the same request.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 AadOnlyAuthenticationIsEnabled - Azure Active Directory Only Authentication is enabled. Please contact your system administrator.\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 409 BackupRedundancyUpdateAndInstanceRedundancyConflict - The instance is multi-az but backup storage is being updated from zone redundant to non-zone redundant.\n\n * 409 InstanceRedundancyUpdateWhileBackupRedundancyUpdateInProgress - Cannot update instance redundancy because backup storage redundancy update is in progress.\n\n * 409 InstanceRedundancyUpdateAndBackupRedundancyConflict - The backup storage is non-zone redundant but instance redundancy is being updated to zone redundant.\n\n * 409 BackupRedundancyUpdateConflict - Cannot update backup storage redundancy because a backup storage redundancy update is already in progress.\n\n * 409 MiDropFailedOnAuthLocks - User tried to drop last Managed Instance in subnet that has Lock applied on resource(s).\n\n * 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.\n\n * 412 InstanceNotReadyForBackupRedundancyUpdate - Cannot update backup storage redundancy because the instance is not ready.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List managed instances by resource group": { + "$ref": "./examples/ManagedInstanceListByResourceGroup.json" + }, + "List managed instances by resource group with $expand=administrators/activedirectory": { + "$ref": "./examples/ManagedInstanceListByResourceGroupWithExpandEqualsAdministrators.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}": { + "get": { + "tags": [ + "ManagedInstances" + ], + "description": "Gets a managed instance.", + "operationId": "ManagedInstances_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "The child resources to include in the response.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified managed instance.", + "schema": { + "$ref": "#/definitions/ManagedInstance" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MiGeoRestoreWithWrongBackupStorageRedundancy - Geo-Restore is not allowed for managed instances with LRS/ZRS backup storage redundancy.\n\n * 400 UpdatingInstanceAndBackupRedundancy - Instance zone redundancy and backup storage redundancy cannot be updated in the same request.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 AadOnlyAuthenticationIsEnabled - Azure Active Directory Only Authentication is enabled. Please contact your system administrator.\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 409 BackupRedundancyUpdateAndInstanceRedundancyConflict - The instance is multi-az but backup storage is being updated from zone redundant to non-zone redundant.\n\n * 409 InstanceRedundancyUpdateWhileBackupRedundancyUpdateInProgress - Cannot update instance redundancy because backup storage redundancy update is in progress.\n\n * 409 InstanceRedundancyUpdateAndBackupRedundancyConflict - The backup storage is non-zone redundant but instance redundancy is being updated to zone redundant.\n\n * 409 BackupRedundancyUpdateConflict - Cannot update backup storage redundancy because a backup storage redundancy update is already in progress.\n\n * 409 MiDropFailedOnAuthLocks - User tried to drop last Managed Instance in subnet that has Lock applied on resource(s).\n\n * 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.\n\n * 412 InstanceNotReadyForBackupRedundancyUpdate - Cannot update backup storage redundancy because the instance is not ready.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-examples": { + "Get managed instance": { + "$ref": "./examples/ManagedInstanceGet.json" + }, + "Get managed instance with $expand=administrators/activedirectory": { + "$ref": "./examples/ManagedInstanceGetWithExpandEqualsAdministrators.json" + } + } + }, + "put": { + "tags": [ + "ManagedInstances" + ], + "description": "Creates or updates a managed instance.", + "operationId": "ManagedInstances_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested managed instance resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedInstance" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the managed instance.", + "schema": { + "$ref": "#/definitions/ManagedInstance" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 InvalidDnsZone - The operation has failed because you are attempting to deploy managed instance as a geo-replication secondary to the subnet {0} in which there already exists a managed instance. Deploying managed instance as a geo-replication secondary is supported only in cases when managed instance is the first instance deployed in a subnet. Consider deploying managed instance as a geo-replication secondary to a different subnet in which there are no existing managed instances, or if deploying to a subnet with existing managed instance disable the geo-replication option.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot perform creation/scaling of the managed instance as there are not enough available IP addresses in the subnet for performing the operation.\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 UpdateManagedServerWithMaintenanceWindowNotAllowed - Update of Managed Instance with maintenance window settings is not allowed.\n\n * 400 VnetPrepareNIPFailed - User tried to prepare subnet that has a conflict with NetworkIntentPolicy.\n\n * 400 ManagedInstanceDeprecatedHardwareFamily - Changing the hardware generation to deprecated {0} generation is not possible.\n\n * 400 ManagedInstanceBackupStorageTypeNotSupported - Backup storage type parameter is not allowed in the instance update operation.\n\n * 400 EmptyPDCInvalidDnsZone - This managed instance cannot be deployed because its DNS-zone does not match the DNS-prefix of its intended virtual cluster for subnet {0}. Although this virtual cluster is empty, its DNS-prefix cannot be changed. Empty virtual clusters will be automatically removed after several hours. Consider waiting for this virtual cluster to expire or manually deleting this virtual cluster and then creating the managed instance.\n\n * 400 MissingIdentityId - No user assigned identity is provided when the identity type is set to UserAssigned\n\n * 400 InvalidPrimaryIdentityId - User provides a value for PrimaryUserIdentityId but the same is not listed in the IdentityId parameter\n\n * 400 ManagedInstanceZoneRedudantFeatureNotSupported - ZoneRedundant feature is not supported for the selected service tier. For more details visit aka.ms/sqlmi-service-tier-characteristics.\n\n * 400 ManagedInstanceZoneRedudantFeatureCantBeEnabled - Enabling zoneRedundant feature is not possible once managed instance is created. For more details visit aka.ms/sqlmi-high-availability.\n\n * 400 ManagedInstanceZoneRedudantFeatureCantBeDisabled - Disabling zoneRedundant feature is not possible once managed instance is created. For more details visit aka.ms/sqlmi-high-availability.\n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 MissingPrimaryIdentity - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SubnetIdCantBeUpdated - Changing managed instance subnet is not supported operation. Please remove this parameter from the request.\n\n * 400 MigrationToAnotherVNetNotSupported - Selected subnet is in another Virtual Network. Moving managed instance to another Virtual Network is not possible. Please provide subnet from Virtual Network {0}.\n\n * 400 MigrationToSubnetWithDifferentDnsZoneNotSupported - Provided subnet is having different DNS zone from the current. Changing instance DNS zone is not supported. Please provide subnet with same DNS zone, create a new subnet or provide empty one.\n\n * 400 MigrationToGen4SubnetNotSupported - It is not possible to update subnet while running on Gen4 hardware as it is being deprecated. Please upgrade your hardware from Gen4 to Gen5 as part of the changing managed instance subnet operation by specifying both parameters at the same time: destination subnet and hardware generation.\n\n * 400 PrimaryIdentityMissingPermissionForKeyId - KeyId is provided by user during create but PrimaryUserAssignedIdentityId is not provided in the API call\n\n * 400 InvalidIdentityTypeForKeyId - KeyId is provided by user during create but identity type is not set to 'UserAssigned'\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 ManagedInstanceFileExceededMaxAzureStorageFileSizeLimit - The operation could not be completed because some of the database files are exceeding maximum General Purpose file size limit of {0} GB.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough capacity\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 InvalidManagedServerDnsZonePartner - The resource URI of the geo-primary managed instance specified in the create request is invalid. Please ensure that the property is of the format /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/managedInstances/{managedInstanceName}\n\n * 400 MiGeoRestoreWithWrongBackupStorageRedundancy - Geo-Restore is not allowed for managed instances with LRS/ZRS backup storage redundancy.\n\n * 400 UpdatingInstanceAndBackupRedundancy - Instance zone redundancy and backup storage redundancy cannot be updated in the same request.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 AadOnlyAuthenticationIsEnabled - Azure Active Directory Only Authentication is enabled. Please contact your system administrator.\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidMinimalTlsVersion - Invalid minimal TLS version.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidMaintenanceWindowSettings - Invalid maintenance window settings.\n\n * 400 InvalidMaintenanceWindowProperty - Invalid maintenance window property was specified.\n\n * 400 InvalidMaintenanceWindowPropertyNull - Invalid maintenance window with required properties null.\n\n * 400 InvalidMaintenanceWindowTypeWithPropertySpecified - Maintenance window type must not have certain properties specified.\n\n * 400 AadOnlyAuthenticationIsEnabled - Azure Active Directory Only Authentication is enabled. Please contact your system administrator.\n\n * 400 InvalidExternalAdministratorLogin - Invalid or missing external administrator login name.\n\n * 400 InvalidExternalAdministratorSid - Invalid or missing external administrator object id.\n\n * 400 InvalidExternalAdministratorTenantId - Invalid or missing external administrator tenant id.\n\n * 400 ExternalAdministratorPrincipalType - Invalid or missing external administrator principal type. Please select from User, Application or Group.\n\n * 400 MissingExternalAdministratorWithAadOnlyAuth - In order to use Azure AD Only Authentication, please provide details of an external administrator.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InstancePoolNotFound - An instance pool cannot be found\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\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 * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 409 BackupRedundancyUpdateAndInstanceRedundancyConflict - The instance is multi-az but backup storage is being updated from zone redundant to non-zone redundant.\n\n * 409 InstanceRedundancyUpdateWhileBackupRedundancyUpdateInProgress - Cannot update instance redundancy because backup storage redundancy update is in progress.\n\n * 409 InstanceRedundancyUpdateAndBackupRedundancyConflict - The backup storage is non-zone redundant but instance redundancy is being updated to zone redundant.\n\n * 409 BackupRedundancyUpdateConflict - Cannot update backup storage redundancy because a backup storage redundancy update is already in progress.\n\n * 409 MiDropFailedOnAuthLocks - User tried to drop last Managed Instance in subnet that has Lock applied on resource(s).\n\n * 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.\n\n * 412 InstanceNotReadyForBackupRedundancyUpdate - Cannot update backup storage redundancy because the instance is not ready.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully created the managed instance.", + "schema": { + "$ref": "#/definitions/ManagedInstance" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create managed instance with minimal properties": { + "$ref": "./examples/ManagedInstanceCreateMin.json" + }, + "Create managed instance with all properties": { + "$ref": "./examples/ManagedInstanceCreateMax.json" + } + } + }, + "delete": { + "tags": [ + "ManagedInstances" + ], + "description": "Deletes a managed instance.", + "operationId": "ManagedInstances_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the managed instance." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MiGeoRestoreWithWrongBackupStorageRedundancy - Geo-Restore is not allowed for managed instances with LRS/ZRS backup storage redundancy.\n\n * 400 UpdatingInstanceAndBackupRedundancy - Instance zone redundancy and backup storage redundancy cannot be updated in the same request.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 AadOnlyAuthenticationIsEnabled - Azure Active Directory Only Authentication is enabled. Please contact your system administrator.\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 409 BackupRedundancyUpdateAndInstanceRedundancyConflict - The instance is multi-az but backup storage is being updated from zone redundant to non-zone redundant.\n\n * 409 InstanceRedundancyUpdateWhileBackupRedundancyUpdateInProgress - Cannot update instance redundancy because backup storage redundancy update is in progress.\n\n * 409 InstanceRedundancyUpdateAndBackupRedundancyConflict - The backup storage is non-zone redundant but instance redundancy is being updated to zone redundant.\n\n * 409 BackupRedundancyUpdateConflict - Cannot update backup storage redundancy because a backup storage redundancy update is already in progress.\n\n * 409 MiDropFailedOnAuthLocks - User tried to drop last Managed Instance in subnet that has Lock applied on resource(s).\n\n * 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.\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 * 412 InstanceNotReadyForBackupRedundancyUpdate - Cannot update backup storage redundancy because the instance is not ready.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Successfully initiated deletion of the managed instance." + }, + "204": { + "description": "The specified managed instance does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete managed instance": { + "$ref": "./examples/ManagedInstanceDelete.json" + } + } + }, + "patch": { + "tags": [ + "ManagedInstances" + ], + "description": "Updates a managed instance.", + "operationId": "ManagedInstances_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested managed instance resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedInstanceUpdate" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the managed instance.", + "schema": { + "$ref": "#/definitions/ManagedInstance" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 InvalidDnsZone - The operation has failed because you are attempting to deploy managed instance as a geo-replication secondary to the subnet {0} in which there already exists a managed instance. Deploying managed instance as a geo-replication secondary is supported only in cases when managed instance is the first instance deployed in a subnet. Consider deploying managed instance as a geo-replication secondary to a different subnet in which there are no existing managed instances, or if deploying to a subnet with existing managed instance disable the geo-replication option.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot perform creation/scaling of the managed instance as there are not enough available IP addresses in the subnet for performing the operation.\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 UpdateManagedServerWithMaintenanceWindowNotAllowed - Update of Managed Instance with maintenance window settings is not allowed.\n\n * 400 VnetPrepareNIPFailed - User tried to prepare subnet that has a conflict with NetworkIntentPolicy.\n\n * 400 ManagedInstanceDeprecatedHardwareFamily - Changing the hardware generation to deprecated {0} generation is not possible.\n\n * 400 ManagedInstanceBackupStorageTypeNotSupported - Backup storage type parameter is not allowed in the instance update operation.\n\n * 400 EmptyPDCInvalidDnsZone - This managed instance cannot be deployed because its DNS-zone does not match the DNS-prefix of its intended virtual cluster for subnet {0}. Although this virtual cluster is empty, its DNS-prefix cannot be changed. Empty virtual clusters will be automatically removed after several hours. Consider waiting for this virtual cluster to expire or manually deleting this virtual cluster and then creating the managed instance.\n\n * 400 MissingIdentityId - No user assigned identity is provided when the identity type is set to UserAssigned\n\n * 400 InvalidPrimaryIdentityId - User provides a value for PrimaryUserIdentityId but the same is not listed in the IdentityId parameter\n\n * 400 ManagedInstanceZoneRedudantFeatureNotSupported - ZoneRedundant feature is not supported for the selected service tier. For more details visit aka.ms/sqlmi-service-tier-characteristics.\n\n * 400 ManagedInstanceZoneRedudantFeatureCantBeEnabled - Enabling zoneRedundant feature is not possible once managed instance is created. For more details visit aka.ms/sqlmi-high-availability.\n\n * 400 ManagedInstanceZoneRedudantFeatureCantBeDisabled - Disabling zoneRedundant feature is not possible once managed instance is created. For more details visit aka.ms/sqlmi-high-availability.\n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 MissingPrimaryIdentity - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SubnetIdCantBeUpdated - Changing managed instance subnet is not supported operation. Please remove this parameter from the request.\n\n * 400 MigrationToAnotherVNetNotSupported - Selected subnet is in another Virtual Network. Moving managed instance to another Virtual Network is not possible. Please provide subnet from Virtual Network {0}.\n\n * 400 MigrationToSubnetWithDifferentDnsZoneNotSupported - Provided subnet is having different DNS zone from the current. Changing instance DNS zone is not supported. Please provide subnet with same DNS zone, create a new subnet or provide empty one.\n\n * 400 MigrationToGen4SubnetNotSupported - It is not possible to update subnet while running on Gen4 hardware as it is being deprecated. Please upgrade your hardware from Gen4 to Gen5 as part of the changing managed instance subnet operation by specifying both parameters at the same time: destination subnet and hardware generation.\n\n * 400 PrimaryIdentityMissingPermissionForKeyId - KeyId is provided by user during create but PrimaryUserAssignedIdentityId is not provided in the API call\n\n * 400 InvalidIdentityTypeForKeyId - KeyId is provided by user during create but identity type is not set to 'UserAssigned'\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 ManagedInstanceFileExceededMaxAzureStorageFileSizeLimit - The operation could not be completed because some of the database files are exceeding maximum General Purpose file size limit of {0} GB.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough capacity\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 MiGeoRestoreWithWrongBackupStorageRedundancy - Geo-Restore is not allowed for managed instances with LRS/ZRS backup storage redundancy.\n\n * 400 UpdatingInstanceAndBackupRedundancy - Instance zone redundancy and backup storage redundancy cannot be updated in the same request.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 AadOnlyAuthenticationIsEnabled - Azure Active Directory Only Authentication is enabled. Please contact your system administrator.\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidMinimalTlsVersion - Invalid minimal TLS version.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 AadOnlyAuthenticationIsEnabled - Azure Active Directory Only Authentication is enabled. Please contact your system administrator.\n\n * 400 InvalidExternalAdministratorLogin - Invalid or missing external administrator login name.\n\n * 400 InvalidExternalAdministratorSid - Invalid or missing external administrator object id.\n\n * 400 InvalidExternalAdministratorTenantId - Invalid or missing external administrator tenant id.\n\n * 400 ExternalAdministratorPrincipalType - Invalid or missing external administrator principal type. Please select from User, Application or Group.\n\n * 400 MissingExternalAdministratorWithAadOnlyAuth - In order to use Azure AD Only Authentication, please provide details of an external administrator.\n\n * 400 InvalidMaintenanceWindowSettings - Invalid maintenance window settings.\n\n * 400 InvalidMaintenanceWindowProperty - Invalid maintenance window property was specified.\n\n * 400 InvalidMaintenanceWindowPropertyNull - Invalid maintenance window with required properties null.\n\n * 400 InvalidMaintenanceWindowTypeWithPropertySpecified - Maintenance window type must not have certain properties specified.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InstancePoolNotFound - An instance pool cannot be found\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\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 * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 409 BackupRedundancyUpdateAndInstanceRedundancyConflict - The instance is multi-az but backup storage is being updated from zone redundant to non-zone redundant.\n\n * 409 InstanceRedundancyUpdateWhileBackupRedundancyUpdateInProgress - Cannot update instance redundancy because backup storage redundancy update is in progress.\n\n * 409 InstanceRedundancyUpdateAndBackupRedundancyConflict - The backup storage is non-zone redundant but instance redundancy is being updated to zone redundant.\n\n * 409 BackupRedundancyUpdateConflict - Cannot update backup storage redundancy because a backup storage redundancy update is already in progress.\n\n * 409 MiDropFailedOnAuthLocks - User tried to drop last Managed Instance in subnet that has Lock applied on resource(s).\n\n * 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.\n\n * 412 InstanceNotReadyForBackupRedundancyUpdate - Cannot update backup storage redundancy because the instance is not ready.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update managed instance with minimal properties": { + "$ref": "./examples/ManagedInstanceUpdateMin.json" + }, + "Update managed instance with all properties": { + "$ref": "./examples/ManagedInstanceUpdateMax.json" + }, + "Remove maintenance policy from managed instance (select default maintenance policy)": { + "$ref": "./examples/ManagedInstanceRemoveMaintenanceConfiguration.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/topqueries": { + "get": { + "tags": [ + "ManagedInstances" + ], + "description": "Get top resource consuming queries of a managed instance.", + "operationId": "ManagedInstances_ListByManagedInstance", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "numberOfQueries", + "in": "query", + "description": "How many 'top queries' to return. Default is 5.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "databases", + "in": "query", + "description": "Comma separated list of databases to be included into search. All DB's are included if this parameter is not specified.", + "required": false, + "type": "string" + }, + { + "name": "startTime", + "in": "query", + "description": "Start time for observed period.", + "required": false, + "type": "string" + }, + { + "name": "endTime", + "in": "query", + "description": "End time for observed period.", + "required": false, + "type": "string" + }, + { + "name": "interval", + "in": "query", + "description": "The time step to be used to summarize the metric values. Default value is PT1H", + "required": false, + "type": "string", + "enum": [ + "PT1H", + "P1D" + ], + "x-ms-enum": { + "name": "QueryTimeGrainType", + "modelAsString": true + } + }, + { + "name": "aggregationFunction", + "in": "query", + "description": "Aggregation function to be used, default value is 'sum'", + "required": false, + "type": "string", + "enum": [ + "avg", + "min", + "max", + "stdev", + "sum" + ], + "x-ms-enum": { + "name": "AggregationFunctionType", + "modelAsString": true + } + }, + { + "name": "observationMetric", + "in": "query", + "description": "Metric to be used for ranking top queries. Default is 'cpu'", + "required": false, + "type": "string", + "enum": [ + "cpu", + "io", + "logIo", + "duration", + "dtu" + ], + "x-ms-enum": { + "name": "MetricType", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved top queries for managed instance.", + "schema": { + "$ref": "#/definitions/TopQueriesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Obtain list of instance's top resource consuming queries. Minimal request and response.": { + "$ref": "./examples/ManagedInstanceTopQueriesListMin.json" + }, + "Obtain list of instance's top resource consuming queries.": { + "$ref": "./examples/ManagedInstanceTopQueriesList.json" + }, + "Obtain list of instance's top resource consuming queries. Full-blown request and response.": { + "$ref": "./examples/ManagedInstanceTopQueriesListMax.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/failover": { + "post": { + "tags": [ + "ManagedInstances" + ], + "description": "Failovers a managed instance.", + "operationId": "ManagedInstances_Failover", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance to failover.", + "required": true, + "type": "string" + }, + { + "name": "replicaType", + "in": "query", + "description": "The type of replica to be failed over.", + "required": false, + "type": "string", + "enum": [ + "Primary", + "ReadableSecondary" + ], + "x-ms-enum": { + "name": "ReplicaType", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully completed managed instance failover." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ManagedInstanceFailoverThrottled - There was a recent failover on the managed instance.\n\n * 400 ManagedInstanceFailoverNotSupportedOnSKU - This type of customer initiated failover is not supported on the given SKU.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 ManagedInstanceFailoverFullBackupMissing - Automated backup needs to complete the first full backup for a new database.\n\n * 409 ManagedInstanceNotInStateToFailover - The managed instance is currently in a state such that failover cannot be issued." + }, + "202": { + "description": "Managed instance failover is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Failover a managed instance.": { + "$ref": "./examples/FailoverManagedInstance.json" + } + } + } + } + }, + "definitions": { + "ManagedInstanceListResult": { + "description": "A list of managed instances.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstance" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedInstanceProperties": { + "description": "The properties of a managed instance.", + "type": "object", + "properties": { + "provisioningState": { + "enum": [ + "Creating", + "Deleting", + "Updating", + "Unknown", + "Succeeded", + "Failed", + "Accepted", + "Created", + "Deleted", + "Unrecognized", + "Running", + "Canceled", + "NotSpecified", + "Registering", + "TimedOut" + ], + "type": "string", + "readOnly": true + }, + "managedInstanceCreateMode": { + "description": "Specifies the mode of database creation.\r\n\r\nDefault: Regular instance creation.\r\n\r\nRestore: Creates an instance by restoring a set of backups to specific point in time. RestorePointInTime and SourceManagedInstanceId must be specified.", + "enum": [ + "Default", + "PointInTimeRestore" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedServerCreateMode", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "fullyQualifiedDomainName": { + "description": "The fully qualified domain name of the managed instance.", + "type": "string", + "readOnly": true + }, + "administratorLogin": { + "description": "Administrator username for the managed instance. Can only be specified when the managed instance is being created (and is required for creation).", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "administratorLoginPassword": { + "description": "The administrator login password (required for managed instance creation).", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "subnetId": { + "description": "Subnet resource ID for the managed instance.", + "type": "string" + }, + "state": { + "description": "The state of the managed instance.", + "type": "string", + "readOnly": true + }, + "licenseType": { + "description": "The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses).", + "enum": [ + "LicenseIncluded", + "BasePrice" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedInstanceLicenseType", + "modelAsString": true + } + }, + "vCores": { + "format": "int32", + "description": "The number of vCores. Allowed values: 8, 16, 24, 32, 40, 64, 80.", + "type": "integer" + }, + "storageSizeInGB": { + "format": "int32", + "description": "Storage size in GB. Minimum value: 32. Maximum value: 8192. Increments of 32 GB allowed only.", + "type": "integer" + }, + "collation": { + "description": "Collation of the managed instance.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "dnsZone": { + "description": "The Dns Zone that the managed instance is in.", + "type": "string", + "readOnly": true + }, + "dnsZonePartner": { + "description": "The resource id of another managed instance whose DNS zone this managed instance will share after creation.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "publicDataEndpointEnabled": { + "description": "Whether or not the public data endpoint is enabled.", + "type": "boolean" + }, + "sourceManagedInstanceId": { + "description": "The resource identifier of the source managed instance associated with create operation of this instance.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "restorePointInTime": { + "format": "date-time", + "description": "Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "proxyOverride": { + "description": "Connection type used for connecting to the instance.", + "enum": [ + "Proxy", + "Redirect", + "Default" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedInstanceProxyOverride", + "modelAsString": true + } + }, + "timezoneId": { + "description": "Id of the timezone. Allowed values are timezones supported by Windows.\r\nWindows keeps details on supported timezones, including the id, in registry under\r\nKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones.\r\nYou can get those registry values via SQL Server by querying SELECT name AS timezone_id FROM sys.time_zone_info.\r\nList of Ids can also be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell.\r\nAn example of valid timezone id is \"Pacific Standard Time\" or \"W. Europe Standard Time\".", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "instancePoolId": { + "description": "The Id of the instance pool this managed server belongs to.", + "type": "string" + }, + "maintenanceConfigurationId": { + "description": "Specifies maintenance configuration id to apply to this managed instance.", + "type": "string" + }, + "privateEndpointConnections": { + "description": "List of private endpoint connections on a managed instance.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstancePecProperty" + }, + "readOnly": true + }, + "minimalTlsVersion": { + "description": "Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'", + "type": "string" + }, + "currentBackupStorageRedundancy": { + "description": "The storage account type used to store backups for this instance. The options are Local (LocallyRedundantStorage), Zone (ZoneRedundantStorage), Geo (GeoRedundantStorage) and GeoZone(GeoZoneRedundantStorage)", + "enum": [ + "Geo", + "Local", + "Zone", + "GeoZone" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + } + }, + "requestedBackupStorageRedundancy": { + "description": "The storage account type to be used to store backups for this instance. The options are Local (LocallyRedundantStorage), Zone (ZoneRedundantStorage), Geo (GeoRedundantStorage) and GeoZone(GeoZoneRedundantStorage)", + "enum": [ + "Geo", + "Local", + "Zone", + "GeoZone" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "zoneRedundant": { + "description": "Whether or not the multi-az is enabled.", + "type": "boolean" + }, + "primaryUserAssignedIdentityId": { + "description": "The resource id of a user assigned identity to be used by default.", + "type": "string" + }, + "keyId": { + "description": "A CMK URI of the key to use for encryption.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "administrators": { + "$ref": "#/definitions/ManagedInstanceExternalAdministrator", + "description": "The Azure Active Directory administrator of the server.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "servicePrincipal": { + "$ref": "#/definitions/ServicePrincipal", + "description": "The managed instance's service principal." + } + } + }, + "UserIdentity": { + "description": "Azure Active Directory identity configuration for a resource.", + "type": "object", + "properties": { + "principalId": { + "format": "uuid", + "description": "The Azure Active Directory principal id.", + "type": "string", + "readOnly": true + }, + "clientId": { + "format": "uuid", + "description": "The Azure Active Directory client id.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedInstancePecProperty": { + "description": "A private endpoint connection under a managed instance", + "type": "object", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/ManagedInstancePrivateEndpointConnectionProperties", + "description": "Private endpoint connection properties", + "readOnly": true + } + } + }, + "ManagedInstanceExternalAdministrator": { + "description": "Properties of a active directory administrator.", + "type": "object", + "properties": { + "administratorType": { + "description": "Type of the sever administrator.", + "enum": [ + "ActiveDirectory" + ], + "type": "string", + "x-ms-enum": { + "name": "AdministratorType", + "modelAsString": true + } + }, + "principalType": { + "description": "Principal Type of the sever administrator.", + "enum": [ + "User", + "Group", + "Application" + ], + "type": "string", + "x-ms-enum": { + "name": "PrincipalType", + "modelAsString": true + } + }, + "login": { + "description": "Login name of the server administrator.", + "type": "string" + }, + "sid": { + "format": "uuid", + "description": "SID (object ID) of the server administrator.", + "type": "string" + }, + "tenantId": { + "format": "uuid", + "description": "Tenant ID of the administrator.", + "type": "string" + }, + "azureADOnlyAuthentication": { + "description": "Azure Active Directory only Authentication enabled.", + "type": "boolean" + } + } + }, + "ServicePrincipal": { + "description": "The managed instance's service principal configuration for a resource.", + "type": "object", + "properties": { + "principalId": { + "description": "The Azure Active Directory application object id.", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "The Azure Active Directory application client id.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "The Azure Active Directory tenant id.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Service principal type.", + "enum": [ + "None", + "SystemAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "ServicePrincipalType", + "modelAsString": true + } + } + } + }, + "ManagedInstancePrivateEndpointConnectionProperties": { + "description": "Properties of a private endpoint connection.", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/ManagedInstancePrivateEndpointProperty", + "description": "Private endpoint which the connection belongs to." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/ManagedInstancePrivateLinkServiceConnectionStateProperty", + "description": "Connection State of the Private Endpoint Connection." + }, + "provisioningState": { + "description": "State of the Private Endpoint Connection.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedInstancePrivateEndpointProperty": { + "type": "object", + "properties": { + "id": { + "description": "Resource id of the private endpoint.", + "type": "string" + } + } + }, + "ManagedInstancePrivateLinkServiceConnectionStateProperty": { + "required": [ + "status", + "description" + ], + "type": "object", + "properties": { + "status": { + "description": "The private link service connection status.", + "type": "string" + }, + "description": { + "description": "The private link service connection description.", + "type": "string" + }, + "actionsRequired": { + "description": "The private link service connection description.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedInstance": { + "description": "An Azure SQL managed instance.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "identity": { + "$ref": "../../../common/v2/types.json#/definitions/ResourceIdentity", + "description": "The Azure Active Directory identity of the managed instance.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "sku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "Managed instance SKU. Allowed values for sku.name: GP_Gen4, GP_Gen5, BC_Gen4, BC_Gen5" + }, + "properties": { + "$ref": "#/definitions/ManagedInstanceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ManagedInstanceUpdate": { + "description": "An update request for an Azure SQL Database managed instance.", + "type": "object", + "properties": { + "sku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "Managed instance sku" + }, + "identity": { + "$ref": "../../../common/v2/types.json#/definitions/ResourceIdentity", + "description": "Managed instance identity" + }, + "properties": { + "$ref": "#/definitions/ManagedInstanceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "TopQueriesListResult": { + "description": "A list of top resource consuming queries on managed instance", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/TopQueries" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "TopQueries": { + "type": "object", + "properties": { + "numberOfQueries": { + "format": "int32", + "description": "Requested number of top queries.", + "type": "integer", + "readOnly": true + }, + "aggregationFunction": { + "description": "Aggregation function used to calculate query metrics.", + "type": "string", + "readOnly": true + }, + "observationMetric": { + "description": "Metric used to rank queries.", + "type": "string", + "readOnly": true + }, + "intervalType": { + "description": "Interval type (length).", + "enum": [ + "PT1H", + "P1D" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "QueryTimeGrainType", + "modelAsString": true + } + }, + "startTime": { + "description": "The start time for the metric (ISO-8601 format).", + "type": "string", + "readOnly": true + }, + "endTime": { + "description": "The end time for the metric (ISO-8601 format).", + "type": "string", + "readOnly": true + }, + "queries": { + "description": "List of top resource consuming queries with appropriate metric data", + "type": "array", + "items": { + "$ref": "#/definitions/QueryStatisticsProperties" + } + } + } + }, + "QueryStatisticsProperties": { + "description": "Properties of a query execution statistics.", + "type": "object", + "properties": { + "databaseName": { + "description": "Database name of the database in which this query was executed.", + "type": "string", + "readOnly": true + }, + "queryId": { + "description": "Unique query id (unique within one database).", + "type": "string", + "readOnly": true + }, + "startTime": { + "description": "The start time for the metric (ISO-8601 format).", + "type": "string", + "readOnly": true + }, + "endTime": { + "description": "The end time for the metric (ISO-8601 format).", + "type": "string", + "readOnly": true + }, + "intervals": { + "description": "List of intervals with appropriate metric data", + "type": "array", + "items": { + "$ref": "#/definitions/QueryMetricInterval" + } + } + } + }, + "QueryMetricInterval": { + "description": "Properties of a query metrics interval.", + "type": "object", + "properties": { + "intervalStartTime": { + "description": "The start time for the metric interval (ISO-8601 format).", + "type": "string", + "readOnly": true + }, + "intervalType": { + "description": "Interval type (length).", + "enum": [ + "PT1H", + "P1D" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "QueryTimeGrainType", + "modelAsString": true + } + }, + "executionCount": { + "format": "int64", + "description": "Execution count of a query in this interval.", + "type": "integer", + "readOnly": true + }, + "metrics": { + "description": "List of metric objects for this interval", + "type": "array", + "items": { + "$ref": "#/definitions/QueryMetricProperties" + } + } + } + }, + "QueryMetricProperties": { + "description": "Properties of a topquery metric in one interval.", + "type": "object", + "properties": { + "name": { + "description": "The name information for the metric.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "The UI appropriate name for the metric.", + "type": "string", + "readOnly": true + }, + "unit": { + "description": "The unit of the metric.", + "enum": [ + "percentage", + "KB", + "microseconds", + "count" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "QueryMetricUnitType", + "modelAsString": true + } + }, + "value": { + "format": "double", + "description": "The value of the metric.", + "type": "number", + "readOnly": true + }, + "min": { + "format": "double", + "description": "Metric value when min() aggregate function is used over the interval.", + "type": "number", + "readOnly": true + }, + "max": { + "format": "double", + "description": "Metric value when max() aggregate function is used over the interval.", + "type": "number", + "readOnly": true + }, + "avg": { + "format": "double", + "description": "Metric value when avg() aggregate function is used over the interval.", + "type": "number", + "readOnly": true + }, + "sum": { + "format": "double", + "description": "Metric value when sum() aggregate function is used over the interval.", + "type": "number", + "readOnly": true + }, + "stdev": { + "format": "double", + "description": "Metric value when stdev aggregate function is used over the interval.", + "type": "number", + "readOnly": true + } + } + } + }, + "parameters": { + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.json new file mode 100644 index 000000000000..1268e0a5b970 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.json @@ -0,0 +1,336 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}/backupShortTermRetentionPolicies/{policyName}": { + "get": { + "tags": [ + "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies" + ], + "description": "Gets a dropped database's short term retention policy.", + "operationId": "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "restorableDroppedDatabaseId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "policyName", + "in": "path", + "description": "The policy name.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ManagedShortTermRetentionPolicyName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the policies.", + "schema": { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get the short term retention policy for the database.": { + "$ref": "./examples/GetManagedShortTermRetentionPolicyRestorableDropped.json" + } + } + }, + "put": { + "tags": [ + "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies" + ], + "description": "Sets a database's short term retention policy.", + "operationId": "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "restorableDroppedDatabaseId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "policyName", + "in": "path", + "description": "The policy name. Should always be \"default\".", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ManagedShortTermRetentionPolicyName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The short term retention policy info.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicy" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the policy.", + "schema": { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 InvalidBackupRetentionDays - The retention days of {0} is not a valid configuration. Valid backup retention must be in 7-day increments (7, 14, 21, etc.)\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update the short term retention policy for the restorable dropped database.": { + "$ref": "./examples/UpdateManagedShortTermRetentionPolicyRestorableDropped.json" + } + } + }, + "patch": { + "tags": [ + "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies" + ], + "description": "Sets a database's short term retention policy.", + "operationId": "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "restorableDroppedDatabaseId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "policyName", + "in": "path", + "description": "The policy name. Should always be \"default\".", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ManagedShortTermRetentionPolicyName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The short term retention policy info.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicy" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the policy.", + "schema": { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 InvalidBackupRetentionDays - The retention days of {0} is not a valid configuration. Valid backup retention must be in 7-day increments (7, 14, 21, etc.)\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update the short term retention policy for the restorable dropped database.": { + "$ref": "./examples/UpdateManagedShortTermRetentionPolicyRestorableDropped.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}/backupShortTermRetentionPolicies": { + "get": { + "tags": [ + "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies" + ], + "description": "Gets a dropped database's short term retention policy list.", + "operationId": "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies_ListByRestorableDroppedDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "restorableDroppedDatabaseId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the policies.", + "schema": { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicyListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get the short term retention policy list for the database.": { + "$ref": "./examples/GetListManagedShortTermRetentionPolicyRestorableDropped.json" + } + } + } + } + }, + "definitions": { + "ManagedBackupShortTermRetentionPolicyProperties": { + "description": "Properties of a short term retention policy", + "type": "object", + "properties": { + "retentionDays": { + "format": "int32", + "description": "The backup retention period in days. This is how many days Point-in-Time Restore will be supported.", + "type": "integer" + } + } + }, + "ManagedBackupShortTermRetentionPolicy": { + "description": "A short term retention policy.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ManagedBackupShortTermRetentionPolicyListResult": { + "description": "A list of short term retention policies.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedServerSecurityAlertPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedServerSecurityAlertPolicies.json new file mode 100644 index 000000000000..80b8e2c30cbc --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ManagedServerSecurityAlertPolicies.json @@ -0,0 +1,303 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/securityAlertPolicies/{securityAlertPolicyName}": { + "get": { + "tags": [ + "ManagedServerSecurityAlertPolicies" + ], + "description": "Get a managed server's threat detection policy.", + "operationId": "ManagedServerSecurityAlertPolicies_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "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": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the managed server threat detection policy.", + "schema": { + "$ref": "#/definitions/ManagedServerSecurityAlertPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountCredentials - The provided storage account access key is not valid.\n\n * 400 UpdateNotAllowedOnServerContainingPausedDWDatabase - Setting server Threat Detection settings is not allowed on a server with a paused Data Warehouse database\n\n * 400 SecurityAlertPoliciesInsufficientDiskSpace - Insufficient disk space to save security alert policy metadata in the database\n\n * 400 SecurityAlertPoliciesInsufficientStorageAccountPermissions - Insufficient read or write permissions on the provided storage account.\n\n * 400 SecurityAlertPoliciesStorageAccountIsDisabled - The storage account provided in the threat detection policy is disabled.\n\n * 400 InvalidServerSecurityAlertPolicyCreateRequest - The create server Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 ServerSecurityAlertPolicyInProgress - Set server security alert policy is already in progress\n\n * 409 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 GetServerSecurityAlertPolicyFailed - Failed to get Threat Detection settings" + } + }, + "x-ms-examples": { + "Get a managed server's threat detection policy": { + "$ref": "./examples/ManagedServerSecurityAlertGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedServerSecurityAlertPolicies" + ], + "description": "Creates or updates a threat detection policy.", + "operationId": "ManagedServerSecurityAlertPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "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 + } + }, + { + "name": "parameters", + "in": "body", + "description": "The managed server security alert policy.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedServerSecurityAlertPolicy" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the threat detection policy.", + "schema": { + "$ref": "#/definitions/ManagedServerSecurityAlertPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountCredentials - The provided storage account access key is not valid.\n\n * 400 UpdateNotAllowedOnServerContainingPausedDWDatabase - Setting server Threat Detection settings is not allowed on a server with a paused Data Warehouse database\n\n * 400 SecurityAlertPoliciesInsufficientDiskSpace - Insufficient disk space to save security alert policy metadata in the database\n\n * 400 SecurityAlertPoliciesInsufficientStorageAccountPermissions - Insufficient read or write permissions on the provided storage account.\n\n * 400 SecurityAlertPoliciesStorageAccountIsDisabled - The storage account provided in the threat detection policy is disabled.\n\n * 400 InvalidServerSecurityAlertPolicyCreateRequest - The create server Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 ServerSecurityAlertPolicyInProgress - Set server security alert policy is already in progress\n\n * 409 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later" + }, + "202": { + "description": "Created request to set the server threat detection policy." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a managed server's threat detection policy with minimal parameters": { + "$ref": "./examples/ManagedServerSecurityAlertCreateMin.json" + }, + "Update a managed server's threat detection policy with all parameters": { + "$ref": "./examples/ManagedServerSecurityAlertCreateMax.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/securityAlertPolicies": { + "get": { + "tags": [ + "ManagedServerSecurityAlertPolicies" + ], + "description": "Get the managed server's threat detection policies.", + "operationId": "ManagedServerSecurityAlertPolicies_ListByInstance", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the managed server threat detection policies.", + "schema": { + "$ref": "#/definitions/ManagedServerSecurityAlertPolicyListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountCredentials - The provided storage account access key is not valid.\n\n * 400 UpdateNotAllowedOnServerContainingPausedDWDatabase - Setting server Threat Detection settings is not allowed on a server with a paused Data Warehouse database\n\n * 400 SecurityAlertPoliciesInsufficientDiskSpace - Insufficient disk space to save security alert policy metadata in the database\n\n * 400 SecurityAlertPoliciesInsufficientStorageAccountPermissions - Insufficient read or write permissions on the provided storage account.\n\n * 400 SecurityAlertPoliciesStorageAccountIsDisabled - The storage account provided in the threat detection policy is disabled.\n\n * 400 InvalidServerSecurityAlertPolicyCreateRequest - The create server Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 ServerSecurityAlertPolicyInProgress - Set server security alert policy is already in progress\n\n * 409 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 GetServerSecurityAlertPolicyFailed - Failed to get Threat Detection settings" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get the managed server's threat detection policies": { + "$ref": "./examples/ManagedServerSecurityAlertListByInstance.json" + } + } + } + } + }, + "definitions": { + "SecurityAlertsPolicyProperties": { + "description": "Properties of a security alert policy.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "state": { + "description": "Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "SecurityAlertsPolicyState", + "modelAsString": false + } + }, + "disabledAlerts": { + "description": "Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force", + "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" + } + }, + "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" + }, + "creationTime": { + "format": "date-time", + "description": "Specifies the UTC creation time of the policy.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedServerSecurityAlertPolicy": { + "description": "A managed server security alert policy.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../common/v1/types.json#/definitions/systemData", + "description": "SystemData of SecurityAlertPolicyResource.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/SecurityAlertsPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ManagedServerSecurityAlertPolicyListResult": { + "description": "A list of the managed Server's security alert policies.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedServerSecurityAlertPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Operations.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Operations.json new file mode 100644 index 000000000000..f8549c2f20c4 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Operations.json @@ -0,0 +1,145 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Sql/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available SQL Rest API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "*** Error Responses: ***" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list SQL operations.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "SQL REST API operation definition.", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation being performed on this particular object.", + "type": "string", + "readOnly": true + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "The localized display information for this particular operation / action.", + "readOnly": true + }, + "origin": { + "description": "The intended executor of the operation.", + "enum": [ + "user", + "system" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "OperationOrigin", + "modelAsString": true + } + }, + "properties": { + "description": "Additional descriptions for the operation.", + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true, + "x-ms-client-flatten": false + } + } + }, + "OperationDisplay": { + "description": "Display metadata associated with the operation.", + "type": "object", + "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 + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/OperationsHealth.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/OperationsHealth.json new file mode 100644 index 000000000000..87ebfda2b86d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/OperationsHealth.json @@ -0,0 +1,133 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/operationsHealth": { + "get": { + "tags": [ + "OperationsHealth" + ], + "description": "Gets a service operation health status.", + "operationId": "OperationsHealth_ListByLocation", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved operations health for a location.", + "schema": { + "$ref": "#/definitions/OperationsHealthListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get management operations health in the given location.": { + "$ref": "./examples/OperationsHealthListByLocation.json" + } + } + } + } + }, + "definitions": { + "OperationsHealthListResult": { + "description": "A list of service health statuses in a location.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationsHealth" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "OperationsHealthProperties": { + "description": "Properties of an operation health.", + "type": "object", + "properties": { + "name": { + "description": "Operation name for the service", + "type": "string", + "readOnly": true + }, + "health": { + "description": "Operation health status of the service.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Health status description.", + "type": "string", + "readOnly": true + } + } + }, + "OperationsHealth": { + "description": "Operations health status in a location.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/OperationsHealthProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/OutboundFirewallRules.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/OutboundFirewallRules.json new file mode 100644 index 000000000000..f5d985402e54 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/OutboundFirewallRules.json @@ -0,0 +1,276 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/outboundFirewallRules/{outboundRuleFqdn}": { + "get": { + "tags": [ + "OutboundFirewallRules" + ], + "description": "Gets an outbound firewall rule.", + "operationId": "OutboundFirewallRules_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "outboundRuleFqdn", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified outbound firewall rule.", + "schema": { + "$ref": "#/definitions/OutboundFirewallRule" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 OutboundFirewallRulesNotAllowedOnSynapse - Outbound Firewall Rules are not allowed on SQL DB servers connected to Synapse\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Gets outbound firewall rule.": { + "$ref": "./examples/OutboundFirewallRuleGet.json" + } + } + }, + "put": { + "tags": [ + "OutboundFirewallRules" + ], + "description": "Create a outbound firewall rule with a given name.", + "operationId": "OutboundFirewallRules_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "outboundRuleFqdn", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created outbound firewall rule.", + "schema": { + "$ref": "#/definitions/OutboundFirewallRule" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 OutboundFirewallRulesNotAllowedOnSynapse - Outbound Firewall Rules are not allowed on SQL DB servers connected to Synapse\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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 outbound firewall rule.", + "schema": { + "$ref": "#/definitions/OutboundFirewallRule" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Approve or reject a outbound firewall rule with a given name.": { + "$ref": "./examples/OutboundFirewallRuleCreate.json" + } + } + }, + "delete": { + "tags": [ + "OutboundFirewallRules" + ], + "description": "Deletes a outbound firewall rule with a given name.", + "operationId": "OutboundFirewallRules_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "outboundRuleFqdn", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted outbound firewall rule." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 OutboundFirewallRulesNotAllowedOnSynapse - Outbound Firewall Rules are not allowed on SQL DB servers connected to Synapse\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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": "Outbound firewall rule does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes a outbound firewall rule with a given name.": { + "$ref": "./examples/OutboundFirewallRuleDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/outboundFirewallRules": { + "get": { + "tags": [ + "OutboundFirewallRules" + ], + "description": "Gets all outbound firewall rules on a server.", + "operationId": "OutboundFirewallRules_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved outbound firewall rules.", + "schema": { + "$ref": "#/definitions/OutboundFirewallRuleListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 OutboundFirewallRulesNotAllowedOnSynapse - Outbound Firewall Rules are not allowed on SQL DB servers connected to Synapse\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets list of outbound firewall rules on a server.": { + "$ref": "./examples/OutboundFirewallRuleList.json" + } + } + } + } + }, + "definitions": { + "OutboundFirewallRuleProperties": { + "description": "The properties of an outbound firewall rule.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The state of the outbound rule.", + "type": "string", + "readOnly": true + } + } + }, + "OutboundFirewallRule": { + "description": "An Azure SQL DB Server Outbound Firewall Rule.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/OutboundFirewallRuleProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "OutboundFirewallRuleListResult": { + "description": "A list of outbound rules.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/OutboundFirewallRule" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/PrivateEndpointConnections.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/PrivateEndpointConnections.json new file mode 100644 index 000000000000..07bf1f7aa5e3 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/PrivateEndpointConnections.json @@ -0,0 +1,355 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Gets a private endpoint connection.", + "operationId": "PrivateEndpointConnections_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 PrivateEndpointConnectionDoesNotExist - Private Endpoint Connection does not exist\n\n * 400 PrivateEndpointConnectionStatusNotPending - Private Endpoint Connection Status is not Pending\n\n * 400 NullRemotePrivateLinkServiceConnectionState - Remote Private Link Service Connection State is Null\n\n * 400 NullPrivateEndpointConnectionProperties - Private Endpoint Connection Properties is Null\n\n * 400 NullRemotePrivateLinkServiceConnectionStateStatus - Remote Private Link Service Connection State Status is Null\n\n * 400 IncorrectPrivateLinkServiceConnectionStateStatus - Private Link Service Connection State Status must be \"Approved\" or \"Rejected\"\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/PrivateEndpointConnectionGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Approve or reject a private endpoint connection with a given name.", + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully approved or rejected private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 PrivateEndpointConnectionDoesNotExist - Private Endpoint Connection does not exist\n\n * 400 PrivateEndpointConnectionStatusNotPending - Private Endpoint Connection Status is not Pending\n\n * 400 NullRemotePrivateLinkServiceConnectionState - Remote Private Link Service Connection State is Null\n\n * 400 NullPrivateEndpointConnectionProperties - Private Endpoint Connection Properties is Null\n\n * 400 NullRemotePrivateLinkServiceConnectionStateStatus - Remote Private Link Service Connection State Status is Null\n\n * 400 IncorrectPrivateLinkServiceConnectionStateStatus - Private Link Service Connection State Status must be \"Approved\" or \"Rejected\"\n\n * 400 NetworkingSubscriptionNotRegisteredWithSqlRp - Subscription used for network-side Private Endpoint is not registered with SQL resource provider\n\n * 404 PrivateEndpointConnectionDroppedByOtherWorkflow - {0}\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Approve or reject a private endpoint connection with a given name.": { + "$ref": "./examples/PrivateEndpointConnectionUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Deletes a private endpoint connection with a given name.", + "operationId": "PrivateEndpointConnections_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted private endpoint connection." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 NetworkingSubscriptionNotRegisteredWithSqlRp - Subscription used for network-side Private Endpoint is not registered with SQL resource provider\n\n * 400 PrivateEndpointConnectionDoesNotExist - Private Endpoint Connection does not exist\n\n * 400 PrivateEndpointConnectionStatusNotPending - Private Endpoint Connection Status is not Pending\n\n * 400 NullRemotePrivateLinkServiceConnectionState - Remote Private Link Service Connection State is Null\n\n * 400 NullPrivateEndpointConnectionProperties - Private Endpoint Connection Properties is Null\n\n * 400 NullRemotePrivateLinkServiceConnectionStateStatus - Remote Private Link Service Connection State Status is Null\n\n * 400 IncorrectPrivateLinkServiceConnectionStateStatus - Private Link Service Connection State Status must be \"Approved\" or \"Rejected\"\n\n * 404 PrivateEndpointConnectionDroppedByOtherWorkflow - {0}\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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": "Private endpoint connection does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes a private endpoint connection with a given name.": { + "$ref": "./examples/PrivateEndpointConnectionDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Gets all private endpoint connections on a server.", + "operationId": "PrivateEndpointConnections_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 PrivateEndpointConnectionDoesNotExist - Private Endpoint Connection does not exist\n\n * 400 PrivateEndpointConnectionStatusNotPending - Private Endpoint Connection Status is not Pending\n\n * 400 NullRemotePrivateLinkServiceConnectionState - Remote Private Link Service Connection State is Null\n\n * 400 NullPrivateEndpointConnectionProperties - Private Endpoint Connection Properties is Null\n\n * 400 NullRemotePrivateLinkServiceConnectionStateStatus - Remote Private Link Service Connection State Status is Null\n\n * 400 IncorrectPrivateLinkServiceConnectionStateStatus - Private Link Service Connection State Status must be \"Approved\" or \"Rejected\"\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets list of private endpoint connections on a server.": { + "$ref": "./examples/PrivateEndpointConnectionList.json" + } + } + } + } + }, + "definitions": { + "PrivateEndpointConnectionProperties": { + "description": "Properties of a private endpoint connection.", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpointProperty", + "description": "Private endpoint which the connection belongs to." + }, + "groupIds": { + "description": "Group IDs.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty", + "description": "Connection state of the private endpoint connection." + }, + "provisioningState": { + "description": "State of the private endpoint connection.", + "enum": [ + "Approving", + "Ready", + "Dropping", + "Failed", + "Rejecting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PrivateEndpointProvisioningState", + "modelAsString": true + } + } + } + }, + "PrivateEndpointProperty": { + "type": "object", + "properties": { + "id": { + "description": "Resource id of the private endpoint.", + "type": "string" + } + }, + "x-ms-azure-resource": true + }, + "PrivateLinkServiceConnectionStateProperty": { + "required": [ + "status", + "description" + ], + "type": "object", + "properties": { + "status": { + "description": "The private link service connection status.", + "enum": [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStateStatus", + "modelAsString": true + } + }, + "description": { + "description": "The private link service connection description.", + "type": "string" + }, + "actionsRequired": { + "description": "The actions required for private link service connection.", + "enum": [ + "None" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStateActionsRequire", + "modelAsString": true + } + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "PrivateEndpointConnectionListResult": { + "description": "A list of private endpoint connections.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/PrivateLinkResources.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/PrivateLinkResources.json new file mode 100644 index 000000000000..2e833e388025 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/PrivateLinkResources.json @@ -0,0 +1,193 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets the private link resources for SQL server.", + "operationId": "PrivateLinkResources_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\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." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets private link resources for SQL.": { + "$ref": "./examples/PrivateLinkResourcesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateLinkResources/{groupName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets a private link resource for SQL server.", + "operationId": "PrivateLinkResources_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "groupName", + "in": "path", + "description": "The name of the private link resource.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\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." + } + }, + "x-ms-examples": { + "Gets a private link resource for SQL.": { + "$ref": "./examples/PrivateLinkResourcesGet.json" + } + } + } + } + }, + "definitions": { + "PrivateLinkResourceListResult": { + "description": "A list of private link resources", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "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 + } + } + }, + "PrivateLinkResource": { + "description": "A private link resource", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "The private link resource group id.", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/RecoverableManagedDatabases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/RecoverableManagedDatabases.json new file mode 100644 index 000000000000..bdecdbf0005f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/RecoverableManagedDatabases.json @@ -0,0 +1,176 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/recoverableDatabases": { + "get": { + "tags": [ + "RecoverableManagedDatabases" + ], + "description": "Gets a list of recoverable managed databases.", + "operationId": "RecoverableManagedDatabases_ListByInstance", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of recoverable managed databases.", + "schema": { + "$ref": "#/definitions/RecoverableManagedDatabaseListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MiGeoRestoreWithWrongBackupStorageRedundancy - Geo-Restore is not allowed for managed instances with LRS/ZRS backup storage redundancy.\n\n * 400 UpdatingInstanceAndBackupRedundancy - Instance zone redundancy and backup storage redundancy cannot be updated in the same request.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 AadOnlyAuthenticationIsEnabled - Azure Active Directory Only Authentication is enabled. Please contact your system administrator.\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 409 BackupRedundancyUpdateAndInstanceRedundancyConflict - The instance is multi-az but backup storage is being updated from zone redundant to non-zone redundant.\n\n * 409 InstanceRedundancyUpdateWhileBackupRedundancyUpdateInProgress - Cannot update instance redundancy because backup storage redundancy update is in progress.\n\n * 409 InstanceRedundancyUpdateAndBackupRedundancyConflict - The backup storage is non-zone redundant but instance redundancy is being updated to zone redundant.\n\n * 409 BackupRedundancyUpdateConflict - Cannot update backup storage redundancy because a backup storage redundancy update is already in progress.\n\n * 409 MiDropFailedOnAuthLocks - User tried to drop last Managed Instance in subnet that has Lock applied on resource(s).\n\n * 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.\n\n * 412 InstanceNotReadyForBackupRedundancyUpdate - Cannot update backup storage redundancy because the instance is not ready.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List recoverable databases by managed instances": { + "$ref": "./examples/ListRecoverableManagedDatabasesByServer.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/recoverableDatabases/{recoverableDatabaseName}": { + "get": { + "tags": [ + "RecoverableManagedDatabases" + ], + "description": "Gets a recoverable managed database.", + "operationId": "RecoverableManagedDatabases_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "recoverableDatabaseName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified recoverable managed database.", + "schema": { + "$ref": "#/definitions/RecoverableManagedDatabase" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidRecoverableDatabaseId - Invalid recoverable database identifier.\n\n * 400 MiGeoRestoreWithWrongBackupStorageRedundancy - Geo-Restore is not allowed for managed instances with LRS/ZRS backup storage redundancy.\n\n * 400 UpdatingInstanceAndBackupRedundancy - Instance zone redundancy and backup storage redundancy cannot be updated in the same request.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 AadOnlyAuthenticationIsEnabled - Azure Active Directory Only Authentication is enabled. Please contact your system administrator.\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 409 BackupRedundancyUpdateAndInstanceRedundancyConflict - The instance is multi-az but backup storage is being updated from zone redundant to non-zone redundant.\n\n * 409 InstanceRedundancyUpdateWhileBackupRedundancyUpdateInProgress - Cannot update instance redundancy because backup storage redundancy update is in progress.\n\n * 409 InstanceRedundancyUpdateAndBackupRedundancyConflict - The backup storage is non-zone redundant but instance redundancy is being updated to zone redundant.\n\n * 409 BackupRedundancyUpdateConflict - Cannot update backup storage redundancy because a backup storage redundancy update is already in progress.\n\n * 409 MiDropFailedOnAuthLocks - User tried to drop last Managed Instance in subnet that has Lock applied on resource(s).\n\n * 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.\n\n * 412 InstanceNotReadyForBackupRedundancyUpdate - Cannot update backup storage redundancy because the instance is not ready.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-examples": { + "Gets a recoverable databases by managed instances": { + "$ref": "./examples/GetRecoverableManagedDatabase.json" + } + } + } + } + }, + "definitions": { + "RecoverableManagedDatabaseListResult": { + "description": "A list of recoverable managed databases.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoverableManagedDatabase" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "RecoverableManagedDatabaseProperties": { + "description": "The recoverable managed database's properties.", + "type": "object", + "properties": { + "lastAvailableBackupDate": { + "description": "The last available backup date.", + "type": "string", + "readOnly": true + } + } + }, + "RecoverableManagedDatabase": { + "description": "A recoverable managed database resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecoverableManagedDatabaseProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ReplicationLinks.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ReplicationLinks.json new file mode 100644 index 000000000000..bb87cb319b13 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ReplicationLinks.json @@ -0,0 +1,363 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks": { + "get": { + "tags": [ + "ReplicationLinks" + ], + "description": "Gets a list of replication links on database.", + "operationId": "ReplicationLinks_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of replication links.", + "schema": { + "$ref": "#/definitions/ReplicationLinkListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ReplicationLinksReplicationLinkNameIsInvalid - Replication link name should be a valid guid.\n\n * 400 ReplicationLinksDeleteIsNotSupported - This action is not yet available, please use 2014-04-01 for this action.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List replication links on server on database.": { + "$ref": "./examples/ReplicationLinkListByDatabase.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}": { + "get": { + "tags": [ + "ReplicationLinks" + ], + "description": "Gets a replication link.", + "operationId": "ReplicationLinks_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "linkId", + "in": "path", + "description": "The name of the replication link.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified replication link.", + "schema": { + "$ref": "#/definitions/ReplicationLink" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ReplicationLinksReplicationLinkNameIsInvalid - Replication link name should be a valid guid.\n\n * 400 ReplicationLinksDeleteIsNotSupported - This action is not yet available, please use 2014-04-01 for this action.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Gets the replication link.": { + "$ref": "./examples/ReplicationLinkGet.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationLinks" + ], + "description": "Deletes the replication link.", + "operationId": "ReplicationLinks_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "linkId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the replication link." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ReplicationLinksReplicationLinkNameIsInvalid - Replication link name should be a valid guid.\n\n * 400 ReplicationLinksDeleteIsNotSupported - This action is not yet available, please use 2014-04-01 for this action.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/replicationLinks": { + "get": { + "tags": [ + "ReplicationLinks" + ], + "description": "Gets a list of replication links.", + "operationId": "ReplicationLinks_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of replication links.", + "schema": { + "$ref": "#/definitions/ReplicationLinkListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ReplicationLinksReplicationLinkNameIsInvalid - Replication link name should be a valid guid.\n\n * 400 ReplicationLinksDeleteIsNotSupported - This action is not yet available, please use 2014-04-01 for this action.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List replication links on server": { + "$ref": "./examples/ReplicationLinkListByServer.json" + } + } + } + } + }, + "definitions": { + "ReplicationLinkListResult": { + "description": "A list of replication links.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationLink" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ReplicationLinkProperties": { + "description": "Properties of a replication link.", + "type": "object", + "properties": { + "partnerServer": { + "description": "Resource partner server.", + "type": "string", + "readOnly": true + }, + "partnerDatabase": { + "description": "Resource partner database.", + "type": "string", + "readOnly": true + }, + "partnerLocation": { + "description": "Resource partner location.", + "type": "string", + "readOnly": true + }, + "role": { + "description": "Local replication role.", + "enum": [ + "Primary", + "Secondary", + "NonReadableSecondary", + "Source", + "Copy" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ReplicationRole", + "modelAsString": false + } + }, + "partnerRole": { + "description": "Partner replication role.", + "enum": [ + "Primary", + "Secondary", + "NonReadableSecondary", + "Source", + "Copy" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ReplicationRole", + "modelAsString": false + } + }, + "replicationMode": { + "description": "Replication mode.", + "type": "string", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "Time at which the link was created.", + "type": "string", + "readOnly": true + }, + "percentComplete": { + "format": "int32", + "description": "Seeding completion percentage for the link.", + "type": "integer", + "readOnly": true + }, + "replicationState": { + "description": "Replication state (PENDING, SEEDING, CATCHUP, SUSPENDED).", + "enum": [ + "PENDING", + "SEEDING", + "CATCH_UP", + "SUSPENDED" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ReplicationState", + "modelAsString": true + } + }, + "isTerminationAllowed": { + "description": "Whether the user is currently allowed to terminate the link.", + "type": "boolean", + "readOnly": true + }, + "linkType": { + "description": "Link type (GEO, NAMED).", + "enum": [ + "GEO", + "NAMED" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ReplicationLinkType", + "modelAsString": true + } + } + } + }, + "ReplicationLink": { + "description": "A replication link.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ReplicationLinkProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/RestorableDroppedDatabases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/RestorableDroppedDatabases.json new file mode 100644 index 000000000000..f76872b01c39 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/RestorableDroppedDatabases.json @@ -0,0 +1,234 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases": { + "get": { + "tags": [ + "RestorableDroppedDatabases" + ], + "description": "Gets a list of restorable dropped databases.", + "operationId": "RestorableDroppedDatabases_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of restorable dropped databases.", + "schema": { + "$ref": "#/definitions/RestorableDroppedDatabaseListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets a list of restorable dropped databases.": { + "$ref": "./examples/ListRestorableDroppedDatabasesByServer.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}": { + "get": { + "tags": [ + "RestorableDroppedDatabases" + ], + "description": "Gets a restorable dropped database.", + "operationId": "RestorableDroppedDatabases_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "restorableDroppedDatabaseId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified restorable dropped database.", + "schema": { + "$ref": "#/definitions/RestorableDroppedDatabase" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Gets a restorable dropped database.": { + "$ref": "./examples/GetRestorableDroppedDatabase.json" + } + } + } + } + }, + "definitions": { + "RestorableDroppedDatabaseListResult": { + "description": "A list of restorable dropped databases.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/RestorableDroppedDatabase" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "RestorableDroppedDatabaseProperties": { + "description": "The restorable dropped database's properties.", + "type": "object", + "properties": { + "databaseName": { + "description": "The name of the database.", + "type": "string", + "readOnly": true + }, + "maxSizeBytes": { + "format": "int64", + "description": "The max size of the database expressed in bytes.", + "type": "integer", + "readOnly": true + }, + "creationDate": { + "format": "date-time", + "description": "The creation date of the database (ISO8601 format).", + "type": "string", + "readOnly": true + }, + "deletionDate": { + "format": "date-time", + "description": "The deletion date of the database (ISO8601 format).", + "type": "string", + "readOnly": true + }, + "earliestRestoreDate": { + "format": "date-time", + "description": "The earliest restore date of the database (ISO8601 format).", + "type": "string", + "readOnly": true + }, + "backupStorageRedundancy": { + "description": "The storage account type used to store backups for this database.", + "enum": [ + "Geo", + "Local", + "Zone", + "GeoZone" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + } + } + } + }, + "RestorableDroppedDatabase": { + "description": "A restorable dropped database resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "sku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "The name and tier of the SKU." + }, + "location": { + "description": "Resource location.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/RestorableDroppedDatabaseProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/RestorableDroppedManagedDatabases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/RestorableDroppedManagedDatabases.json new file mode 100644 index 000000000000..118629d6b77d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/RestorableDroppedManagedDatabases.json @@ -0,0 +1,197 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases": { + "get": { + "tags": [ + "RestorableDroppedManagedDatabases" + ], + "description": "Gets a list of restorable dropped managed databases.", + "operationId": "RestorableDroppedManagedDatabases_ListByInstance", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of restorable dropped databases.", + "schema": { + "$ref": "#/definitions/RestorableDroppedManagedDatabaseListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List restorable dropped databases by managed instances": { + "$ref": "./examples/RestorableDroppedManagedDatabaseListByManagedInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}": { + "get": { + "tags": [ + "RestorableDroppedManagedDatabases" + ], + "description": "Gets a restorable dropped managed database.", + "operationId": "RestorableDroppedManagedDatabases_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "restorableDroppedDatabaseId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified restorable dropped database.", + "schema": { + "$ref": "#/definitions/RestorableDroppedManagedDatabase" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Gets a restorable dropped managed database.": { + "$ref": "./examples/GetRestorableDroppedManagedDatabase.json" + } + } + } + } + }, + "definitions": { + "RestorableDroppedManagedDatabaseListResult": { + "description": "A list of restorable dropped managed databases.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/RestorableDroppedManagedDatabase" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "RestorableDroppedManagedDatabaseProperties": { + "description": "The restorable dropped managed database's properties.", + "type": "object", + "properties": { + "databaseName": { + "description": "The name of the database.", + "type": "string", + "readOnly": true + }, + "creationDate": { + "format": "date-time", + "description": "The creation date of the database (ISO8601 format).", + "type": "string", + "readOnly": true + }, + "deletionDate": { + "format": "date-time", + "description": "The deletion date of the database (ISO8601 format).", + "type": "string", + "readOnly": true + }, + "earliestRestoreDate": { + "format": "date-time", + "description": "The earliest restore date of the database (ISO8601 format).", + "type": "string", + "readOnly": true + } + } + }, + "RestorableDroppedManagedDatabase": { + "description": "A restorable dropped managed database resource.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RestorableDroppedManagedDatabaseProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/RestorePoints.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/RestorePoints.json new file mode 100644 index 000000000000..e64715cf5ed6 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/RestorePoints.json @@ -0,0 +1,343 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints": { + "get": { + "tags": [ + "RestorePoints" + ], + "description": "Gets a list of database restore points.", + "operationId": "RestorePoints_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully returned restore points.", + "schema": { + "$ref": "#/definitions/RestorePointListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 BackupNotAllowedOnDeactivatedDatabase - Cannot create restore point on a deactivated database.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 RestorePointLimitReached - A restore point cannot be created because database would exceed the allowed quota of restore points.\n\n * 400 RestorePointAttemptToDeleteSystemBackup - Cannot delete system restore point.\n\n * 404 DatabaseRestorePointNotFound - Can not find database restore point.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 408 DatabaseRestorePointTimedOut - Create database restore point failed." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List database restore points.": { + "$ref": "./examples/DatabaseRestorePointsListByDatabase.json" + }, + "List datawarehouse database restore points.": { + "$ref": "./examples/DataWarehouseRestorePointsListByDatabase.json" + } + } + }, + "post": { + "tags": [ + "RestorePoints" + ], + "description": "Creates a restore point for a data warehouse.", + "operationId": "RestorePoints_Create", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The definition for creating the restore point of this database.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateDatabaseRestorePointDefinition" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created the restore point request.", + "schema": { + "$ref": "#/definitions/RestorePoint" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 BackupNotAllowedOnDeactivatedDatabase - Cannot create restore point on a deactivated database.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 RestorePointLimitReached - A restore point cannot be created because database would exceed the allowed quota of restore points.\n\n * 400 RestorePointAttemptToDeleteSystemBackup - Cannot delete system restore point.\n\n * 404 DatabaseRestorePointNotFound - Can not find database restore point.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 408 DatabaseRestorePointTimedOut - Create database restore point failed." + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully created the restore point request.", + "schema": { + "$ref": "#/definitions/RestorePoint" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates datawarehouse database restore point.": { + "$ref": "./examples/DatabaseRestorePointsPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints/{restorePointName}": { + "get": { + "tags": [ + "RestorePoints" + ], + "description": "Gets a restore point.", + "operationId": "RestorePoints_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "restorePointName", + "in": "path", + "description": "The name of the restore point.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully returned the restore point.", + "schema": { + "$ref": "#/definitions/RestorePoint" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 BackupNotAllowedOnDeactivatedDatabase - Cannot create restore point on a deactivated database.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 RestorePointLimitReached - A restore point cannot be created because database would exceed the allowed quota of restore points.\n\n * 400 RestorePointAttemptToDeleteSystemBackup - Cannot delete system restore point.\n\n * 404 DatabaseRestorePointNotFound - Can not find database restore point.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 408 DatabaseRestorePointTimedOut - Create database restore point failed." + } + }, + "x-ms-examples": { + "Gets a database restore point.": { + "$ref": "./examples/DatabaseRestorePointsGet.json" + }, + "Gets a datawarehouse database restore point.": { + "$ref": "./examples/DataWarehouseRestorePointsGet.json" + } + } + }, + "delete": { + "tags": [ + "RestorePoints" + ], + "description": "Deletes a restore point.", + "operationId": "RestorePoints_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "restorePointName", + "in": "path", + "description": "The name of the restore point.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the restore point." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 BackupNotAllowedOnDeactivatedDatabase - Cannot create restore point on a deactivated database.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 RestorePointLimitReached - A restore point cannot be created because database would exceed the allowed quota of restore points.\n\n * 400 RestorePointAttemptToDeleteSystemBackup - Cannot delete system restore point.\n\n * 404 DatabaseRestorePointNotFound - Can not find database restore point.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 408 DatabaseRestorePointTimedOut - Create database restore point failed." + } + }, + "x-ms-examples": { + "Deletes a restore point.": { + "$ref": "./examples/DatabaseRestorePointsDelete.json" + } + } + } + } + }, + "definitions": { + "RestorePointListResult": { + "description": "A list of long term retention backups.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/RestorePoint" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "RestorePointProperties": { + "description": "Properties of a database restore point", + "type": "object", + "properties": { + "restorePointType": { + "description": "The type of restore point", + "enum": [ + "CONTINUOUS", + "DISCRETE" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RestorePointType", + "modelAsString": false + } + }, + "earliestRestoreDate": { + "format": "date-time", + "description": "The earliest time to which this database can be restored", + "type": "string", + "readOnly": true + }, + "restorePointCreationDate": { + "format": "date-time", + "description": "The time the backup was taken", + "type": "string", + "readOnly": true + }, + "restorePointLabel": { + "description": "The label of restore point for backup request by user", + "type": "string", + "readOnly": true + } + } + }, + "RestorePoint": { + "description": "Database restore points.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "location": { + "description": "Resource location.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/RestorePointProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "CreateDatabaseRestorePointDefinition": { + "description": "Contains the information necessary to perform a create database restore point operation.", + "required": [ + "restorePointLabel" + ], + "type": "object", + "properties": { + "restorePointLabel": { + "description": "The restore point label to apply", + "type": "string" + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/SensitivityLabels.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/SensitivityLabels.json new file mode 100644 index 000000000000..87df3d6399e9 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/SensitivityLabels.json @@ -0,0 +1,884 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/currentSensitivityLabels": { + "get": { + "tags": [ + "SensitivityLabels" + ], + "description": "Gets the sensitivity labels of a given database", + "operationId": "SensitivityLabels_ListCurrentByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "$skipToken", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$count", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "$filter", + "in": "query", + "description": "An OData filter expression that filters elements in the collection.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the sensitivity labels.", + "schema": { + "$ref": "#/definitions/SensitivityLabelListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 SensitivityLabelsInvalidODataQuery - The specified OData query is either not valid or not supported\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-odata": "#/definitions/SensitivityLabel", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the current sensitivity labels of a given database": { + "$ref": "./examples/SensitivityLabelsListByDatabaseWithSourceCurrent.json" + } + } + }, + "patch": { + "tags": [ + "SensitivityLabels" + ], + "description": "Update sensitivity labels of a given database using an operations batch.", + "operationId": "SensitivityLabels_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SensitivityLabelUpdateList" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated sensitivity labels." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 SensitivityLabelSourceNameNotSupported - The specified sensitivity label source is not valid\n\n * 400 InvalidSensitivityLabelsBatch - The specified sensitivity labels batch is not valid. Please provide batch operations\n\n * 400 SensitivityLabelsMissingSchema - Operation[{0}]: Missing schema information\n\n * 400 SensitivityLabelsMissingTable - Operation[{0}]: Missing table information\n\n * 400 SensitivityLabelsMissingColumn - Operation[{0}]: Missing column information\n\n * 400 SensitivityLabelsUpdateSameColumnMoreThanOnce - The column {0} can not be updated more than once in a single command\n\n * 400 InvalidSensitivityLabelResource - The specified sensitivity label resource is not valid\n\n * 400 SensitivityLabelLabelNameAndInfoTypeNotProvided - At least one of LabelName and InformationType must be specified\n\n * 400 LabelNameTooLong - Label name cannot exceed {0} characters\n\n * 400 InformationTypeTooLong - Information type cannot exceed {0} characters\n\n * 400 LabelIdMustBeGuid - The provided ‘labelId’ is invalid. Value must be a GUID\n\n * 400 InformationTypeIdMustBeGuid - The provided ‘informationTypeId’ is invalid. Value must be a GUID\n\n * 400 LabelMissing - Label is required. At least one of ‘labelName’ or ‘labelId’ must be provided\n\n * 400 InformationTypeMissing - Information type is required. At least one of ‘informationType’ or ‘informationTypeId’ must be provided\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SensitivityLabelsLabelNotFound - The specified sensitivity label could not be found\n\n * 404 SensitivityLabelsSchemaNotFound - The schema {0} could not be found\n\n * 404 SensitivityLabelsTableNotFound - The table {0} could not be found in schema {1}\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-examples": { + "Update sensitivity labels of a given database using an operations batch.": { + "$ref": "./examples/SensitivityLabelsCurrentUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/recommendedSensitivityLabels": { + "get": { + "tags": [ + "SensitivityLabels" + ], + "description": "Gets the sensitivity labels of a given database", + "operationId": "SensitivityLabels_ListRecommendedByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "$skipToken", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "includeDisabledRecommendations", + "in": "query", + "description": "Specifies whether to include disabled recommendations or not.", + "required": false, + "type": "boolean" + }, + { + "name": "$filter", + "in": "query", + "description": "An OData filter expression that filters elements in the collection.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the sensitivity labels.", + "schema": { + "$ref": "#/definitions/SensitivityLabelListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 SensitivityLabelsInvalidODataQuery - The specified OData query is either not valid or not supported\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-odata": "#/definitions/SensitivityLabel", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the recommended sensitivity labels of a given database": { + "$ref": "./examples/SensitivityLabelsListByDatabaseWithSourceRecommended.json" + } + } + }, + "patch": { + "tags": [ + "SensitivityLabels" + ], + "description": "Update recommended sensitivity labels states of a given database using an operations batch.", + "operationId": "RecommendedSensitivityLabels_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RecommendedSensitivityLabelUpdateList" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated recommended sensitivity labels." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 SensitivityLabelSourceNameNotSupported - The specified sensitivity label source is not valid\n\n * 400 InvalidRecommendedSensitivityLabelsBatch - The specified recommended sensitivity labels operations are not valid\n\n * 400 SensitivityLabelsMissingSchema - Operation[{0}]: Missing schema information\n\n * 400 SensitivityLabelsMissingTable - Operation[{0}]: Missing table information\n\n * 400 SensitivityLabelsMissingColumn - Operation[{0}]: Missing column information\n\n * 400 SensitivityLabelsUpdateSameColumnMoreThanOnce - The column {0} can not be updated more than once in a single command\n\n * 400 InvalidSensitivityLabelResource - The specified sensitivity label resource is not valid\n\n * 400 SensitivityLabelLabelNameAndInfoTypeNotProvided - At least one of LabelName and InformationType must be specified\n\n * 400 LabelNameTooLong - Label name cannot exceed {0} characters\n\n * 400 InformationTypeTooLong - Information type cannot exceed {0} characters\n\n * 400 LabelIdMustBeGuid - The provided ‘labelId’ is invalid. Value must be a GUID\n\n * 400 InformationTypeIdMustBeGuid - The provided ‘informationTypeId’ is invalid. Value must be a GUID\n\n * 400 LabelMissing - Label is required. At least one of ‘labelName’ or ‘labelId’ must be provided\n\n * 400 InformationTypeMissing - Information type is required. At least one of ‘informationType’ or ‘informationTypeId’ must be provided\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SensitivityLabelsLabelNotFound - The specified sensitivity label could not be found\n\n * 404 SensitivityLabelsSchemaNotFound - The schema {0} could not be found\n\n * 404 SensitivityLabelsTableNotFound - The table {0} could not be found in schema {1}\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-examples": { + "Update recommended sensitivity labels of a given database using an operations batch.": { + "$ref": "./examples/SensitivityLabelsRecommendedUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}/enable": { + "post": { + "tags": [ + "SensitivityLabels" + ], + "description": "Enables sensitivity recommendations on a given column (recommendations are enabled by default on all columns)", + "operationId": "SensitivityLabels_EnableRecommendation", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "name": "tableName", + "in": "path", + "description": "The name of the table.", + "required": true, + "type": "string" + }, + { + "name": "columnName", + "in": "path", + "description": "The name of the column.", + "required": true, + "type": "string" + }, + { + "name": "sensitivityLabelSource", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "recommended" + ], + "x-ms-enum": { + "name": "SensitivityLabelSource", + "modelAsString": false + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully enabled the sensitivity recommendations on the given column." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance." + } + }, + "x-ms-examples": { + "Enables sensitivity recommendations on a given column": { + "$ref": "./examples/RecommendedColumnSensitivityLabelEnable.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}/disable": { + "post": { + "tags": [ + "SensitivityLabels" + ], + "description": "Disables sensitivity recommendations on a given column", + "operationId": "SensitivityLabels_DisableRecommendation", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "name": "tableName", + "in": "path", + "description": "The name of the table.", + "required": true, + "type": "string" + }, + { + "name": "columnName", + "in": "path", + "description": "The name of the column.", + "required": true, + "type": "string" + }, + { + "name": "sensitivityLabelSource", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "recommended" + ], + "x-ms-enum": { + "name": "SensitivityLabelSource", + "modelAsString": false + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully disabled the sensitivity recommendation on the given column." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance." + } + }, + "x-ms-examples": { + "Disables sensitivity recommendations on a given column": { + "$ref": "./examples/RecommendedColumnSensitivityLabelDisable.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}": { + "get": { + "tags": [ + "SensitivityLabels" + ], + "description": "Gets the sensitivity label of a given column", + "operationId": "SensitivityLabels_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "name": "tableName", + "in": "path", + "description": "The name of the table.", + "required": true, + "type": "string" + }, + { + "name": "columnName", + "in": "path", + "description": "The name of the column.", + "required": true, + "type": "string" + }, + { + "name": "sensitivityLabelSource", + "in": "path", + "description": "The source of the sensitivity label.", + "required": true, + "type": "string", + "enum": [ + "current", + "recommended" + ], + "x-ms-enum": { + "name": "SensitivityLabelSource", + "modelAsString": false + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the sensitivity label.", + "schema": { + "$ref": "#/definitions/SensitivityLabel" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 SensitivityLabelSourceNameNotSupported - The specified sensitivity label source is not valid\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SensitivityLabelsLabelNotFound - The specified sensitivity label could not be found\n\n * 404 SensitivityLabelsSchemaNotFound - The schema {0} could not be found\n\n * 404 SensitivityLabelsTableNotFound - The table {0} could not be found in schema {1}\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet" + } + }, + "x-ms-examples": { + "Gets the sensitivity label of a given column": { + "$ref": "./examples/ColumnSensitivityLabelGet.json" + } + } + }, + "put": { + "tags": [ + "SensitivityLabels" + ], + "description": "Creates or updates the sensitivity label of a given column", + "operationId": "SensitivityLabels_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "name": "tableName", + "in": "path", + "description": "The name of the table.", + "required": true, + "type": "string" + }, + { + "name": "columnName", + "in": "path", + "description": "The name of the column.", + "required": true, + "type": "string" + }, + { + "name": "sensitivityLabelSource", + "in": "path", + "description": "The source of the sensitivity label.", + "required": true, + "type": "string", + "enum": [ + "current" + ], + "x-ms-enum": { + "name": "WritableSensitivityLabelSource", + "modelAsString": false + } + }, + { + "name": "parameters", + "in": "body", + "description": "The column sensitivity label resource.", + "required": true, + "schema": { + "$ref": "#/definitions/SensitivityLabel" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the sensitivity label.", + "schema": { + "$ref": "#/definitions/SensitivityLabel" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 SensitivityLabelSourceNameNotSupported - The specified sensitivity label source is not valid\n\n * 400 InvalidSensitivityLabelResource - The specified sensitivity label resource is not valid\n\n * 400 SensitivityLabelLabelNameAndInfoTypeNotProvided - At least one of LabelName and InformationType must be specified\n\n * 400 LabelNameTooLong - Label name cannot exceed {0} characters\n\n * 400 InformationTypeTooLong - Information type cannot exceed {0} characters\n\n * 400 LabelIdMustBeGuid - The provided ‘labelId’ is invalid. Value must be a GUID\n\n * 400 InformationTypeIdMustBeGuid - The provided ‘informationTypeId’ is invalid. Value must be a GUID\n\n * 400 LabelMissing - Label is required. At least one of ‘labelName’ or ‘labelId’ must be provided\n\n * 400 InformationTypeMissing - Information type is required. At least one of ‘informationType’ or ‘informationTypeId’ must be provided\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SensitivityLabelsLabelNotFound - The specified sensitivity label could not be found\n\n * 404 SensitivityLabelsSchemaNotFound - The schema {0} could not be found\n\n * 404 SensitivityLabelsTableNotFound - The table {0} could not be found in schema {1}\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet" + }, + "201": { + "description": "Successfully created the sensitivity label.", + "schema": { + "$ref": "#/definitions/SensitivityLabel" + } + } + }, + "x-ms-examples": { + "Updates the sensitivity label of a given column with all parameters": { + "$ref": "./examples/ColumnSensitivityLabelCreateMax.json" + } + } + }, + "delete": { + "tags": [ + "SensitivityLabels" + ], + "description": "Deletes the sensitivity label of a given column", + "operationId": "SensitivityLabels_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "schemaName", + "in": "path", + "description": "The name of the schema.", + "required": true, + "type": "string" + }, + { + "name": "tableName", + "in": "path", + "description": "The name of the table.", + "required": true, + "type": "string" + }, + { + "name": "columnName", + "in": "path", + "description": "The name of the column.", + "required": true, + "type": "string" + }, + { + "name": "sensitivityLabelSource", + "in": "path", + "description": "The source of the sensitivity label.", + "required": true, + "type": "string", + "enum": [ + "current" + ], + "x-ms-enum": { + "name": "WritableSensitivityLabelSource", + "modelAsString": false + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the sensitivity label." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 SensitivityLabelSourceNameNotSupported - The specified sensitivity label source is not valid\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SensitivityLabelsLabelNotFound - The specified sensitivity label could not be found\n\n * 404 SensitivityLabelsSchemaNotFound - The schema {0} could not be found\n\n * 404 SensitivityLabelsTableNotFound - The table {0} could not be found in schema {1}\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet\n\n * 501 SensitivityLabelRecommendedSourceNameNotSupported - 'Recommended' sensitivity label source is not supported yet" + } + }, + "x-ms-examples": { + "Deletes the sensitivity label of a given column": { + "$ref": "./examples/ColumnSensitivityLabelDelete.json" + } + } + } + } + }, + "definitions": { + "SensitivityLabelProperties": { + "description": "Properties of a sensitivity label.", + "type": "object", + "properties": { + "schemaName": { + "description": "The schema name.", + "type": "string", + "readOnly": true + }, + "tableName": { + "description": "The table name.", + "type": "string", + "readOnly": true + }, + "columnName": { + "description": "The column name.", + "type": "string", + "readOnly": true + }, + "labelName": { + "description": "The label name.", + "type": "string" + }, + "labelId": { + "description": "The label ID.", + "type": "string" + }, + "informationType": { + "description": "The information type.", + "type": "string" + }, + "informationTypeId": { + "description": "The information type ID.", + "type": "string" + }, + "isDisabled": { + "description": "Is sensitivity recommendation disabled. Applicable for recommended sensitivity label only. Specifies whether the sensitivity recommendation on this column is disabled (dismissed) or not.", + "type": "boolean", + "readOnly": true + }, + "rank": { + "enum": [ + "None", + "Low", + "Medium", + "High", + "Critical" + ], + "type": "string", + "x-ms-enum": { + "name": "SensitivityLabelRank", + "modelAsString": false + } + } + } + }, + "SensitivityLabel": { + "description": "A sensitivity label.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "managedBy": { + "description": "Resource that manages the sensitivity label.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/SensitivityLabelProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "SensitivityLabelListResult": { + "description": "A list of sensitivity labels.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SensitivityLabel" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SensitivityLabelUpdateList": { + "description": "A list of sensitivity label update operations.", + "type": "object", + "properties": { + "operations": { + "type": "array", + "items": { + "$ref": "#/definitions/SensitivityLabelUpdate" + } + } + } + }, + "SensitivityLabelUpdateProperties": { + "description": "Properties of an operation executed on a sensitivity label.", + "required": [ + "op", + "schema", + "table", + "column" + ], + "type": "object", + "properties": { + "op": { + "enum": [ + "set", + "remove" + ], + "type": "string", + "x-ms-enum": { + "name": "SensitivityLabelUpdateKind", + "modelAsString": false + } + }, + "schema": { + "description": "Schema name of the column to update.", + "type": "string" + }, + "table": { + "description": "Table name of the column to update.", + "type": "string" + }, + "column": { + "description": "Column name to update.", + "type": "string" + }, + "sensitivityLabel": { + "$ref": "#/definitions/SensitivityLabel", + "description": "The sensitivity label information to apply on a column." + } + } + }, + "SensitivityLabelUpdate": { + "description": "A sensitivity label update operation.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SensitivityLabelUpdateProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "RecommendedSensitivityLabelUpdateList": { + "description": "A list of recommended sensitivity label update operations.", + "type": "object", + "properties": { + "operations": { + "type": "array", + "items": { + "$ref": "#/definitions/RecommendedSensitivityLabelUpdate" + } + } + } + }, + "RecommendedSensitivityLabelUpdateProperties": { + "description": "Properties of an operation executed on a recommended sensitivity label.", + "required": [ + "op", + "schema", + "table", + "column" + ], + "type": "object", + "properties": { + "op": { + "enum": [ + "enable", + "disable" + ], + "type": "string", + "x-ms-enum": { + "name": "RecommendedSensitivityLabelUpdateKind", + "modelAsString": false + } + }, + "schema": { + "description": "Schema name of the column to update.", + "type": "string" + }, + "table": { + "description": "Table name of the column to update.", + "type": "string" + }, + "column": { + "description": "Column name to update.", + "type": "string" + } + } + }, + "RecommendedSensitivityLabelUpdate": { + "description": "A recommended sensitivity label update operation.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecommendedSensitivityLabelUpdateProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerAdvisors.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerAdvisors.json new file mode 100644 index 000000000000..4f923276afc5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerAdvisors.json @@ -0,0 +1,648 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors": { + "get": { + "tags": [ + "ServerAdvisors" + ], + "description": "Gets a list of server advisors.", + "operationId": "ServerAdvisors_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "The child resources to include in the response.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of server advisors.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Advisor" + } + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DataWarehouseNotSupported - Automatic tuning is not supported for SQL Data Warehouse.\n\n * 404 DatabaseDoesNotExist - The requested database was not found\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SubscriptionDoesNotHaveElasticPool - The requested elastic pool was not found\n\n * 404 AdvisorNotFound - The requested advisor was not found.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 409 Conflict - Request could not be processed because of conflict in the request.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable." + } + }, + "x-ms-examples": { + "List of server advisors": { + "$ref": "./examples/ServerAdvisorList.json" + }, + "List of server recommended actions for all advisors": { + "$ref": "./examples/ServerRecommendedActionListExpand.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors/{advisorName}": { + "get": { + "tags": [ + "ServerAdvisors" + ], + "description": "Gets a server advisor.", + "operationId": "ServerAdvisors_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "advisorName", + "in": "path", + "description": "The name of the Server Advisor.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved details of specified server advisor.", + "schema": { + "$ref": "#/definitions/Advisor" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DataWarehouseNotSupported - Automatic tuning is not supported for SQL Data Warehouse.\n\n * 404 DatabaseDoesNotExist - The requested database was not found\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SubscriptionDoesNotHaveElasticPool - The requested elastic pool was not found\n\n * 404 AdvisorNotFound - The requested advisor was not found.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 409 Conflict - Request could not be processed because of conflict in the request.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable." + } + }, + "x-ms-examples": { + "Get server advisor": { + "$ref": "./examples/ServerAdvisorGet.json" + } + } + }, + "patch": { + "tags": [ + "ServerAdvisors" + ], + "description": "Updates a server advisor.", + "operationId": "ServerAdvisors_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "advisorName", + "in": "path", + "description": "The name of the Server Advisor.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested advisor resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/Advisor" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the specified server advisor.", + "schema": { + "$ref": "#/definitions/Advisor" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DataWarehouseNotSupported - Automatic tuning is not supported for SQL Data Warehouse.\n\n * 400 InvalidAdvisorUpsertRequest - The update advisor request body does not exist or has no properties object.\n\n * 400 InvalidAdvisorAutoExecuteStatus - Specified auto-execute status for the advisor is not allowed.\n\n * 404 DatabaseDoesNotExist - The requested database was not found\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SubscriptionDoesNotHaveElasticPool - The requested elastic pool was not found\n\n * 404 AdvisorNotFound - The requested advisor was not found.\n\n * 404 AutomaticTuningOptionNotFound - The requested automatic tuning option was not found.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 409 Conflict - Request could not be processed because of conflict in the request.\n\n * 409 DefaultAdvisorStateNotAllowedInCustomServerMode - DEFAULT advisor state not allowed in CUSTOM mode\n\n * 409 UpdateNotAllowedIfServerAutotuningUpdateOperationInProgress - Automatic tuning settings from previous request have not propagated to all user databases.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable." + } + }, + "x-ms-examples": { + "Update server advisor": { + "$ref": "./examples/ServerAdvisorUpdate.json" + } + } + } + } + }, + "definitions": { + "AdvisorProperties": { + "description": "Properties for a Database, Server or Elastic Pool Advisor.", + "required": [ + "autoExecuteStatus" + ], + "type": "object", + "properties": { + "advisorStatus": { + "description": "Gets the status of availability of this advisor to customers. Possible values are 'GA', 'PublicPreview', 'LimitedPublicPreview' and 'PrivatePreview'.", + "enum": [ + "GA", + "PublicPreview", + "LimitedPublicPreview", + "PrivatePreview" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AdvisorStatus", + "modelAsString": false + } + }, + "autoExecuteStatus": { + "description": "Gets the auto-execute status (whether to let the system execute the recommendations) of this advisor. Possible values are 'Enabled' and 'Disabled'", + "enum": [ + "Enabled", + "Disabled", + "Default" + ], + "type": "string", + "x-ms-enum": { + "name": "AutoExecuteStatus", + "modelAsString": false + } + }, + "autoExecuteStatusInheritedFrom": { + "description": "Gets the resource from which current value of auto-execute status is inherited. Auto-execute status can be set on (and inherited from) different levels in the resource hierarchy. Possible values are 'Subscription', 'Server', 'ElasticPool', 'Database' and 'Default' (when status is not explicitly set on any level).", + "enum": [ + "Default", + "Subscription", + "Server", + "ElasticPool", + "Database" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AutoExecuteStatusInheritedFrom", + "modelAsString": false + } + }, + "recommendationsStatus": { + "description": "Gets that status of recommendations for this advisor and reason for not having any recommendations. Possible values include, but are not limited to, 'Ok' (Recommendations available),LowActivity (not enough workload to analyze), 'DbSeemsTuned' (Database is doing well), etc.", + "type": "string", + "readOnly": true + }, + "lastChecked": { + "format": "date-time", + "description": "Gets the time when the current resource was analyzed for recommendations by this advisor.", + "type": "string", + "readOnly": true + }, + "recommendedActions": { + "description": "Gets the recommended actions for this advisor.", + "type": "array", + "items": { + "$ref": "#/definitions/RecommendedAction" + }, + "readOnly": true + } + } + }, + "RecommendedActionProperties": { + "description": "Properties for a Database, Server or Elastic Pool Recommended Action.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "recommendationReason": { + "description": "Gets the reason for recommending this action. e.g., DuplicateIndex", + "type": "string", + "readOnly": true + }, + "validSince": { + "format": "date-time", + "description": "Gets the time since when this recommended action is valid.", + "type": "string", + "readOnly": true + }, + "lastRefresh": { + "format": "date-time", + "description": "Gets time when this recommended action was last refreshed.", + "type": "string", + "readOnly": true + }, + "state": { + "$ref": "#/definitions/RecommendedActionStateInfo", + "description": "Gets the info of the current state the recommended action is in." + }, + "isExecutableAction": { + "description": "Gets if this recommended action is actionable by user", + "type": "boolean", + "readOnly": true + }, + "isRevertableAction": { + "description": "Gets if changes applied by this recommended action can be reverted by user", + "type": "boolean", + "readOnly": true + }, + "isArchivedAction": { + "description": "Gets if this recommended action was suggested some time ago but user chose to ignore this and system added a new recommended action again.", + "type": "boolean", + "readOnly": true + }, + "executeActionStartTime": { + "format": "date-time", + "description": "Gets the time when system started applying this recommended action on the user resource. e.g., index creation start time", + "type": "string", + "readOnly": true + }, + "executeActionDuration": { + "format": "duration", + "description": "Gets the time taken for applying this recommended action on user resource. e.g., time taken for index creation", + "type": "string", + "readOnly": true + }, + "revertActionStartTime": { + "format": "date-time", + "description": "Gets the time when system started reverting changes of this recommended action on user resource. e.g., time when index drop is executed.", + "type": "string", + "readOnly": true + }, + "revertActionDuration": { + "format": "duration", + "description": "Gets the time taken for reverting changes of this recommended action on user resource. e.g., time taken for dropping the created index.", + "type": "string", + "readOnly": true + }, + "executeActionInitiatedBy": { + "description": "Gets if approval for applying this recommended action was given by user/system.", + "enum": [ + "User", + "System" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RecommendedActionInitiatedBy", + "modelAsString": false + } + }, + "executeActionInitiatedTime": { + "format": "date-time", + "description": "Gets the time when this recommended action was approved for execution.", + "type": "string", + "readOnly": true + }, + "revertActionInitiatedBy": { + "description": "Gets if approval for reverting this recommended action was given by user/system.", + "enum": [ + "User", + "System" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RecommendedActionInitiatedBy", + "modelAsString": false + } + }, + "revertActionInitiatedTime": { + "format": "date-time", + "description": "Gets the time when this recommended action was approved for revert.", + "type": "string", + "readOnly": true + }, + "score": { + "format": "int32", + "description": "Gets the impact of this recommended action. Possible values are 1 - Low impact, 2 - Medium Impact and 3 - High Impact", + "type": "integer", + "readOnly": true + }, + "implementationDetails": { + "$ref": "#/definitions/RecommendedActionImplementationInfo", + "description": "Gets the implementation details of this recommended action for user to apply it manually.", + "readOnly": true + }, + "errorDetails": { + "$ref": "#/definitions/RecommendedActionErrorInfo", + "description": "Gets the error details if and why this recommended action is put to error state.", + "readOnly": true + }, + "estimatedImpact": { + "description": "Gets the estimated impact info for this recommended action e.g., Estimated CPU gain, Estimated Disk Space change", + "type": "array", + "items": { + "$ref": "#/definitions/RecommendedActionImpactRecord" + }, + "readOnly": true + }, + "observedImpact": { + "description": "Gets the observed/actual impact info for this recommended action e.g., Actual CPU gain, Actual Disk Space change", + "type": "array", + "items": { + "$ref": "#/definitions/RecommendedActionImpactRecord" + }, + "readOnly": true + }, + "timeSeries": { + "description": "Gets the time series info of metrics for this recommended action e.g., CPU consumption time series", + "type": "array", + "items": { + "$ref": "#/definitions/RecommendedActionMetricInfo" + }, + "readOnly": true + }, + "linkedObjects": { + "description": "Gets the linked objects, if any.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "details": { + "description": "Gets additional details specific to this recommended action.", + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true + } + } + }, + "RecommendedActionStateInfo": { + "description": "Contains information of current state for an Azure SQL Database, Server or Elastic Pool Recommended Action.", + "required": [ + "currentValue" + ], + "type": "object", + "properties": { + "currentValue": { + "description": "Current state the recommended action is in. Some commonly used states are: Active -> recommended action is active and no action has been taken yet. Pending -> recommended action is approved for and is awaiting execution. Executing -> recommended action is being applied on the user database. Verifying -> recommended action was applied and is being verified of its usefulness by the system. Success -> recommended action was applied and improvement found during verification. Pending Revert -> verification found little or no improvement so recommended action is queued for revert or user has manually reverted. Reverting -> changes made while applying recommended action are being reverted on the user database. Reverted -> successfully reverted the changes made by recommended action on user database. Ignored -> user explicitly ignored/discarded the recommended action. ", + "enum": [ + "Active", + "Pending", + "Executing", + "Verifying", + "PendingRevert", + "RevertCancelled", + "Reverting", + "Reverted", + "Ignored", + "Expired", + "Monitoring", + "Resolved", + "Success", + "Error" + ], + "type": "string", + "x-ms-enum": { + "name": "RecommendedActionCurrentState", + "modelAsString": true + } + }, + "actionInitiatedBy": { + "description": "Gets who initiated the execution of this recommended action. Possible Value are: User -> When user explicity notified system to apply the recommended action. System -> When auto-execute status of this advisor was set to 'Enabled', in which case the system applied it.", + "enum": [ + "User", + "System" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RecommendedActionInitiatedBy", + "modelAsString": false + } + }, + "lastModified": { + "format": "date-time", + "description": "Gets the time when the state was last modified", + "type": "string", + "readOnly": true + } + } + }, + "RecommendedActionImplementationInfo": { + "description": "Contains information for manual implementation for an Azure SQL Database, Server or Elastic Pool Recommended Action.", + "type": "object", + "properties": { + "method": { + "description": "Gets the method in which this recommended action can be manually implemented. e.g., TSql, AzurePowerShell.", + "enum": [ + "TSql", + "AzurePowerShell" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ImplementationMethod", + "modelAsString": false + } + }, + "script": { + "description": "Gets the manual implementation script. e.g., T-SQL script that could be executed on the database.", + "type": "string", + "readOnly": true + } + } + }, + "RecommendedActionErrorInfo": { + "description": "Contains error information for an Azure SQL Database, Server or Elastic Pool Recommended Action.", + "type": "object", + "properties": { + "errorCode": { + "description": "Gets the reason why the recommended action was put to error state. e.g., DatabaseHasQdsOff, IndexAlreadyExists", + "type": "string", + "readOnly": true + }, + "isRetryable": { + "description": "Gets whether the error could be ignored and recommended action could be retried. Possible values are: Yes/No", + "enum": [ + "Yes", + "No" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "IsRetryable", + "modelAsString": false + } + } + } + }, + "RecommendedActionImpactRecord": { + "description": "Contains information of estimated or observed impact on various metrics for an Azure SQL Database, Server or Elastic Pool Recommended Action.", + "type": "object", + "properties": { + "dimensionName": { + "description": "Gets the name of the impact dimension. e.g., CPUChange, DiskSpaceChange, NumberOfQueriesAffected.", + "type": "string", + "readOnly": true + }, + "unit": { + "description": "Gets the name of the impact dimension. e.g., CPUChange, DiskSpaceChange, NumberOfQueriesAffected.", + "type": "string", + "readOnly": true + }, + "absoluteValue": { + "format": "double", + "description": "Gets the absolute value of this dimension if applicable. e.g., Number of Queries affected", + "type": "number", + "readOnly": true + }, + "changeValueAbsolute": { + "format": "double", + "description": "Gets the absolute change in the value of this dimension. e.g., Absolute Disk space change in Megabytes", + "type": "number", + "readOnly": true + }, + "changeValueRelative": { + "format": "double", + "description": "Gets the relative change in the value of this dimension. e.g., Relative Disk space change in Percentage", + "type": "number", + "readOnly": true + } + } + }, + "RecommendedActionMetricInfo": { + "description": "Contains time series of various impacted metrics for an Azure SQL Database, Server or Elastic Pool Recommended Action.", + "type": "object", + "properties": { + "metricName": { + "description": "Gets the name of the metric. e.g., CPU, Number of Queries.", + "type": "string", + "readOnly": true + }, + "unit": { + "description": "Gets the unit in which metric is measured. e.g., DTU, Frequency", + "type": "string", + "readOnly": true + }, + "timeGrain": { + "description": "Gets the duration of time interval for the value given by this MetricInfo. e.g., PT1H (1 hour)", + "type": "string", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "Gets the start time of time interval given by this MetricInfo.", + "type": "string", + "readOnly": true + }, + "value": { + "format": "double", + "description": "Gets the value of the metric in the time interval given by this MetricInfo.", + "type": "number", + "readOnly": true + } + } + }, + "RecommendedAction": { + "description": "Database, Server or Elastic Pool Recommended Action.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "description": "Resource kind.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Resource location.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/RecommendedActionProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "Advisor": { + "description": "Database, Server or Elastic Pool Advisor.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "description": "Resource kind.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Resource location.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/AdvisorProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerAutomaticTuning.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerAutomaticTuning.json new file mode 100644 index 000000000000..683b2c11c224 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerAutomaticTuning.json @@ -0,0 +1,239 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/automaticTuning/current": { + "get": { + "tags": [ + "ServerAutomaticTuning" + ], + "description": "Retrieves server automatic tuning options.", + "operationId": "ServerAutomaticTuning_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved server automatic tuning properties.", + "schema": { + "$ref": "#/definitions/ServerAutomaticTuning" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 404 DatabaseDoesNotExist - The requested database was not found\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SubscriptionDoesNotHaveElasticPool - The requested elastic pool was not found\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 409 Conflict - Request could not be processed because of conflict in the request.\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.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable." + } + }, + "x-ms-examples": { + "Get a server's automatic tuning settings": { + "$ref": "./examples/ServerAutomaticTuningGet.json" + } + } + }, + "patch": { + "tags": [ + "ServerAutomaticTuning" + ], + "description": "Update automatic tuning options on server.", + "operationId": "ServerAutomaticTuning_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested automatic tuning resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerAutomaticTuning" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the server-level automatic tuning options.", + "schema": { + "$ref": "#/definitions/ServerAutomaticTuning" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 InvalidAutomaticTuningUpsertRequest - The update automatic tuning request body does not exist or has no properties object.\n\n * 400 InvalidAdvisorAutoExecuteStatus - Specified auto-execute status for the advisor is not allowed.\n\n * 404 DatabaseDoesNotExist - The requested database was not found\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 SubscriptionDoesNotHaveElasticPool - The requested elastic pool was not found\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 AutomaticTuningOptionNotFound - The requested automatic tuning option was not found.\n\n * 405 NotSupported - This functionality is not supported.\n\n * 409 Conflict - Request could not be processed because of conflict in the request.\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 * 409 DefaultAdvisorStateNotAllowedInCustomServerMode - DEFAULT advisor state not allowed in CUSTOM mode\n\n * 409 UpdateNotAllowedIfServerAutotuningUpdateOperationInProgress - Automatic tuning settings from previous request have not propagated to all user databases.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 ServiceTemporarilyUnavailable - Feature temporarily unavailable." + } + }, + "x-ms-examples": { + "Updates server automatic tuning settings with minimal properties": { + "$ref": "./examples/ServerAutomaticTuningUpdateMin.json" + }, + "Updates server automatic tuning settings with all properties": { + "$ref": "./examples/ServerAutomaticTuningUpdateMax.json" + } + } + } + } + }, + "definitions": { + "AutomaticTuningServerProperties": { + "description": "Server-level Automatic Tuning properties.", + "type": "object", + "properties": { + "desiredState": { + "description": "Automatic tuning desired state.", + "enum": [ + "Custom", + "Auto", + "Unspecified" + ], + "type": "string", + "x-ms-enum": { + "name": "AutomaticTuningServerMode", + "modelAsString": false + } + }, + "actualState": { + "description": "Automatic tuning actual state.", + "enum": [ + "Custom", + "Auto", + "Unspecified" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AutomaticTuningServerMode", + "modelAsString": false + } + }, + "options": { + "description": "Automatic tuning options definition.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/AutomaticTuningServerOptions" + } + } + } + }, + "AutomaticTuningServerOptions": { + "description": "Automatic tuning properties for individual advisors.", + "type": "object", + "properties": { + "desiredState": { + "description": "Automatic tuning option desired state.", + "enum": [ + "Off", + "On", + "Default" + ], + "type": "string", + "x-ms-enum": { + "name": "AutomaticTuningOptionModeDesired", + "modelAsString": false + } + }, + "actualState": { + "description": "Automatic tuning option actual state.", + "enum": [ + "Off", + "On" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AutomaticTuningOptionModeActual", + "modelAsString": false + } + }, + "reasonCode": { + "format": "int32", + "description": "Reason code if desired and actual state are different.", + "type": "integer", + "readOnly": true + }, + "reasonDesc": { + "description": "Reason description if desired and actual state are different.", + "enum": [ + "Default", + "Disabled", + "AutoConfigured" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AutomaticTuningServerReason", + "modelAsString": false + } + } + } + }, + "ServerAutomaticTuning": { + "description": "Server-level Automatic Tuning.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AutomaticTuningServerProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerAzureADAdministrators.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerAzureADAdministrators.json new file mode 100644 index 000000000000..48aee349ca76 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerAzureADAdministrators.json @@ -0,0 +1,339 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}": { + "get": { + "tags": [ + "ServerAzureADAdministrators" + ], + "description": "Gets a Azure Active Directory administrator.", + "operationId": "ServerAzureADAdministrators_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "administratorName", + "in": "path", + "description": "The name of server active directory administrator.", + "required": true, + "type": "string", + "enum": [ + "ActiveDirectory" + ], + "x-ms-enum": { + "name": "AdministratorName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified Azure Active Directory administrator.", + "schema": { + "$ref": "#/definitions/ServerAzureADAdministrator" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerAdministratorTypePropertyName - Server active directory administrator type should be ActiveDirectory\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 400 InvalidServerAzureADOnlyAuthenticationParameter - User tried to set AzureADOnlyAuthentication parameter to false which is not allowed, please use azureADOnlyAuthentications API instead.\n\n * 400 InvalidServerAzureADAdminDeleteOperation - User tried to delete server Azure Active Azure admin when AzureADOnlyAuthentication is set, please use azureADOnlyAuthentications API first.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Gets a Azure Active Directory administrator.": { + "$ref": "./examples/AdministratorGet.json" + } + } + }, + "put": { + "tags": [ + "ServerAzureADAdministrators" + ], + "description": "Creates or updates an existing Azure Active Directory administrator.", + "operationId": "ServerAzureADAdministrators_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "administratorName", + "in": "path", + "description": "The name of server active directory administrator.", + "required": true, + "type": "string", + "enum": [ + "ActiveDirectory" + ], + "x-ms-enum": { + "name": "AdministratorName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The requested Azure Active Directory administrator Resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerAzureADAdministrator" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated a Azure Active Directory administrator.", + "schema": { + "$ref": "#/definitions/ServerAzureADAdministrator" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerAdministratorTypePropertyName - Server active directory administrator type should be ActiveDirectory\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 400 InvalidServerAzureADOnlyAuthenticationParameter - User tried to set AzureADOnlyAuthentication parameter to false which is not allowed, please use azureADOnlyAuthentications API instead.\n\n * 400 InvalidServerAzureADAdminDeleteOperation - User tried to delete server Azure Active Azure admin when AzureADOnlyAuthentication is set, please use azureADOnlyAuthentications API first.\n\n * 400 ServerAdministratorNameAlreadyExists - User tried to set the external admin and the principal name already exists in the 'master' database.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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 Azure Active Directory administrator.", + "schema": { + "$ref": "#/definitions/ServerAzureADAdministrator" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates or updates an existing Azure Active Directory administrator.": { + "$ref": "./examples/AdministratorCreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ServerAzureADAdministrators" + ], + "description": "Deletes the Azure Active Directory administrator with the given name.", + "operationId": "ServerAzureADAdministrators_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "administratorName", + "in": "path", + "description": "The name of server active directory administrator.", + "required": true, + "type": "string", + "enum": [ + "ActiveDirectory" + ], + "x-ms-enum": { + "name": "AdministratorName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the Azure Active Directory administrator." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerAdministratorTypePropertyName - Server active directory administrator type should be ActiveDirectory\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 400 InvalidServerAzureADOnlyAuthenticationParameter - User tried to set AzureADOnlyAuthentication parameter to false which is not allowed, please use azureADOnlyAuthentications API instead.\n\n * 400 InvalidServerAzureADAdminDeleteOperation - User tried to delete server Azure Active Azure admin when AzureADOnlyAuthentication is set, please use azureADOnlyAuthentications API first.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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 Azure Active Directory administrator does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Azure Active Directory administrator.": { + "$ref": "./examples/AdministratorDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators": { + "get": { + "tags": [ + "ServerAzureADAdministrators" + ], + "description": "Gets a list of Azure Active Directory administrators in a server.", + "operationId": "ServerAzureADAdministrators_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of Azure Active Directory administrators.", + "schema": { + "$ref": "#/definitions/AdministratorListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerAdministratorTypePropertyName - Server active directory administrator type should be ActiveDirectory\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 400 InvalidServerAzureADOnlyAuthenticationParameter - User tried to set AzureADOnlyAuthentication parameter to false which is not allowed, please use azureADOnlyAuthentications API instead.\n\n * 400 InvalidServerAzureADAdminDeleteOperation - User tried to delete server Azure Active Azure admin when AzureADOnlyAuthentication is set, please use azureADOnlyAuthentications API first.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets a list of Azure Active Directory administrator.": { + "$ref": "./examples/AdministratorList.json" + } + } + } + } + }, + "definitions": { + "AdministratorProperties": { + "description": "Properties of a active directory administrator.", + "required": [ + "administratorType", + "login", + "sid" + ], + "type": "object", + "properties": { + "administratorType": { + "description": "Type of the sever administrator.", + "enum": [ + "ActiveDirectory" + ], + "type": "string", + "x-ms-enum": { + "name": "AdministratorType", + "modelAsString": true + } + }, + "login": { + "description": "Login name of the server administrator.", + "type": "string" + }, + "sid": { + "format": "uuid", + "description": "SID (object ID) of the server administrator.", + "type": "string" + }, + "tenantId": { + "format": "uuid", + "description": "Tenant ID of the administrator.", + "type": "string" + }, + "azureADOnlyAuthentication": { + "description": "Azure Active Directory only Authentication enabled.", + "type": "boolean", + "readOnly": true + } + } + }, + "ServerAzureADAdministrator": { + "description": "Azure Active Directory administrator.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AdministratorProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "AdministratorListResult": { + "description": "A list of active directory administrators.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerAzureADAdministrator" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerAzureADOnlyAuthentications.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerAzureADOnlyAuthentications.json new file mode 100644 index 000000000000..4c123aeeebe0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerAzureADOnlyAuthentications.json @@ -0,0 +1,311 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/azureADOnlyAuthentications/{authenticationName}": { + "get": { + "tags": [ + "ServerAzureADOnlyAuthentications" + ], + "description": "Gets a specific Azure Active Directory only authentication property.", + "operationId": "ServerAzureADOnlyAuthentications_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "authenticationName", + "in": "path", + "description": "The name of server azure active directory only authentication.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "AuthenticationName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified Azure Active Directory only authentication properties.", + "schema": { + "$ref": "#/definitions/ServerAzureADOnlyAuthentication" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerAzureADOnlyAuthenticationParameter - User tried to set AzureADOnlyAuthentication parameter to false which is not allowed, please use azureADOnlyAuthentications API instead.\n\n * 400 InvalidServerAADOnlyAuthTypePropertyName - Server Azure Active Directory only authentication type should be Default\n\n * 400 InvalidServerAADOnlyAuthNoAADAdminPropertyName - AAD Admin is not configured, AAD Admin must be set before enabling/disabling AAD Only Authentication.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Gets a Azure Active Directory only authentication property.": { + "$ref": "./examples/AzureADOnlyAuthGet.json" + } + } + }, + "put": { + "tags": [ + "ServerAzureADOnlyAuthentications" + ], + "description": "Sets Server Active Directory only authentication property or updates an existing server Active Directory only authentication property.", + "operationId": "ServerAzureADOnlyAuthentications_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "authenticationName", + "in": "path", + "description": "The name of server azure active directory only authentication.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "AuthenticationName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The required parameters for creating or updating an Active Directory only authentication property.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerAzureADOnlyAuthentication" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated a Azure Active Directory only authentication property.", + "schema": { + "$ref": "#/definitions/ServerAzureADOnlyAuthentication" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerAzureADOnlyAuthenticationParameter - User tried to set AzureADOnlyAuthentication parameter to false which is not allowed, please use azureADOnlyAuthentications API instead.\n\n * 400 InvalidServerAADOnlyAuthTypePropertyName - Server Azure Active Directory only authentication type should be Default\n\n * 400 InvalidServerAADOnlyAuthNoAADAdminPropertyName - AAD Admin is not configured, AAD Admin must be set before enabling/disabling AAD Only Authentication.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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 updated Azure Active Directory only authentication property.", + "schema": { + "$ref": "#/definitions/ServerAzureADOnlyAuthentication" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates or updates Azure Active Directory only authentication object.": { + "$ref": "./examples/AzureADOnlyAuthCreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ServerAzureADOnlyAuthentications" + ], + "description": "Deletes an existing server Active Directory only authentication property.", + "operationId": "ServerAzureADOnlyAuthentications_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "authenticationName", + "in": "path", + "description": "The name of server azure active directory only authentication.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "AuthenticationName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the Azure Active Directory only property." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerAzureADOnlyAuthenticationParameter - User tried to set AzureADOnlyAuthentication parameter to false which is not allowed, please use azureADOnlyAuthentications API instead.\n\n * 400 InvalidServerAADOnlyAuthTypePropertyName - Server Azure Active Directory only authentication type should be Default\n\n * 400 InvalidServerAADOnlyAuthNoAADAdminPropertyName - AAD Admin is not configured, AAD Admin must be set before enabling/disabling AAD Only Authentication.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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 Azure Active Directory only property does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes Azure Active Directory only authentication object.": { + "$ref": "./examples/AzureADOnlyAuthDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/azureADOnlyAuthentications": { + "get": { + "tags": [ + "ServerAzureADOnlyAuthentications" + ], + "description": "Gets a list of server Azure Active Directory only authentications.", + "operationId": "ServerAzureADOnlyAuthentications_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of Azure Active Directory only authentication objects.", + "schema": { + "$ref": "#/definitions/AzureADOnlyAuthListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets a list of Azure Active Directory only authentication object.": { + "$ref": "./examples/AzureADOnlyAuthList.json" + } + } + } + } + }, + "definitions": { + "AzureADOnlyAuthProperties": { + "description": "Properties of a active directory only authentication.", + "required": [ + "azureADOnlyAuthentication" + ], + "type": "object", + "properties": { + "azureADOnlyAuthentication": { + "description": "Azure Active Directory only Authentication enabled.", + "type": "boolean" + } + } + }, + "ServerAzureADOnlyAuthentication": { + "description": "Azure Active Directory only authentication.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureADOnlyAuthProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "AzureADOnlyAuthListResult": { + "description": "A list of active directory only authentications.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerAzureADOnlyAuthentication" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerConnectionPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerConnectionPolicies.json new file mode 100644 index 000000000000..34035061a9df --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerConnectionPolicies.json @@ -0,0 +1,269 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/{connectionPolicyName}": { + "get": { + "tags": [ + "ServerConnectionPolicies" + ], + "description": "Gets a server connection policy", + "operationId": "ServerConnectionPolicies_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "connectionPolicyName", + "in": "path", + "description": "The name of the connection policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ConnectionPolicyName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the server connection policy.", + "schema": { + "$ref": "#/definitions/ServerConnectionPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidConnectionPolicyName - Invalid connection policy name.\n\n * 400 ConnectionPolicyParamsNull - The request body cannot be null.\n\n * 400 InvalidConnectionPolicyType - Connection type is invalid\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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." + } + }, + "x-ms-examples": { + "Gets a server connection policy": { + "$ref": "./examples/ServerConnectionPoliciesGet.json" + } + } + }, + "put": { + "tags": [ + "ServerConnectionPolicies" + ], + "description": "Updates a server connection policy", + "operationId": "ServerConnectionPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "connectionPolicyName", + "in": "path", + "description": "The name of the connection policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ConnectionPolicyName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The required parameters for updating a server connection policy.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerConnectionPolicy" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the connection policy", + "schema": { + "$ref": "#/definitions/ServerConnectionPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidConnectionPolicyName - Invalid connection policy name.\n\n * 400 ConnectionPolicyParamsNull - The request body cannot be null.\n\n * 400 InvalidConnectionPolicyType - Connection type is invalid\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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": "Updating the server connection policy is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates a server connection policy": { + "$ref": "./examples/ServerConnectionPoliciesUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies": { + "get": { + "tags": [ + "ServerConnectionPolicies" + ], + "description": "Lists connection policy", + "operationId": "ServerConnectionPolicies_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the server connection policy list", + "schema": { + "$ref": "#/definitions/ServerConnectionPolicyListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidConnectionPolicyName - Invalid connection policy name.\n\n * 400 ConnectionPolicyParamsNull - The request body cannot be null.\n\n * 400 InvalidConnectionPolicyType - Connection type is invalid\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Lists a servers connection policies": { + "$ref": "./examples/ServerConnectionPoliciesList.json" + } + } + } + } + }, + "definitions": { + "ServerConnectionPolicyProperties": { + "description": "The properties of a server connection policy.", + "required": [ + "connectionType" + ], + "type": "object", + "properties": { + "connectionType": { + "description": "The server connection type.", + "enum": [ + "Default", + "Redirect", + "Proxy" + ], + "type": "string", + "x-ms-enum": { + "name": "ServerConnectionType", + "modelAsString": true + } + } + } + }, + "ServerConnectionPolicy": { + "description": "A server connection policy", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "location": { + "description": "Resource location.", + "type": "string", + "readOnly": true + }, + "kind": { + "description": "Metadata used for the Azure portal experience.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/ServerConnectionPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ServerConnectionPolicyListResult": { + "description": "A list of server connection policy objects.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerConnectionPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerDevOpsAudit.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerDevOpsAudit.json new file mode 100644 index 000000000000..f5f6246962ab --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerDevOpsAudit.json @@ -0,0 +1,277 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/devOpsAuditingSettings/{devOpsAuditingSettingsName}": { + "get": { + "tags": [ + "ServerDevOpsAudit" + ], + "description": "Gets a server's DevOps audit settings.", + "operationId": "ServerDevOpsAuditSettings_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "devOpsAuditingSettingsName", + "in": "path", + "description": "The name of the devops audit settings. This should always be 'default'.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the server DevOps audit settings.", + "schema": { + "$ref": "#/definitions/ServerDevOpsAuditingSettings" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-examples": { + "Get a server's DevOps audit settings": { + "$ref": "./examples/ServerDevOpsAuditGet.json" + } + } + }, + "put": { + "tags": [ + "ServerDevOpsAudit" + ], + "description": "Creates or updates a server's DevOps audit settings.", + "operationId": "ServerDevOpsAuditSettings_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "devOpsAuditingSettingsName", + "in": "path", + "description": "The name of the devops audit settings. This should always be 'default'.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Properties of DevOps audit settings", + "required": true, + "schema": { + "$ref": "#/definitions/ServerDevOpsAuditingSettings" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the DevOps audit settings.", + "schema": { + "$ref": "#/definitions/ServerDevOpsAuditingSettings" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerDevOpsAuditSettingsCreateRequest - The create server DevOps audit policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 InvalidServerDevOpsAuditSettingsName - Invalid server DevOps policy name.\n\n * 400 DevOpsAuditInvalidStorageAccountCredentials - The provided storage account or access key is not valid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 ServerDevOpsAuditSettingsInProgress - Set server DevOps audit is already in progress." + }, + "202": { + "description": "Updating the audit DevOps settings is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Update a server's DevOps audit settings with minimal input": { + "$ref": "./examples/ServerDevOpsAuditCreateMin.json" + }, + "Update a server's DevOps audit settings with all params": { + "$ref": "./examples/ServerDevOpsAuditCreateMax.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/devOpsAuditingSettings": { + "get": { + "tags": [ + "ServerDevOpsAudit" + ], + "description": "Lists DevOps audit settings of a server.", + "operationId": "ServerDevOpsAuditSettings_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved server DevOps audit settings.", + "schema": { + "$ref": "#/definitions/ServerDevOpsAuditSettingsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List DevOps audit settings of a server": { + "$ref": "./examples/ServerDevOpsAuditSettingsList.json" + } + } + } + } + }, + "definitions": { + "ServerDevOpsAuditSettingsProperties": { + "description": "Properties of a server DevOps audit settings.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "isAzureMonitorTargetEnabled": { + "description": "Specifies whether DevOps audit events are sent to Azure Monitor. \r\nIn order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\r\n\r\nWhen using REST API to configure DevOps audit, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on the master database should be also created.\r\n\r\nDiagnostic Settings URI format:\r\nPUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\r\n\r\nFor more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\r\nor [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\r\n", + "type": "boolean" + }, + "state": { + "description": "Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "BlobAuditingPolicyState", + "modelAsString": false + } + }, + "storageEndpoint": { + "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required.", + "type": "string" + }, + "storageAccountAccessKey": { + "description": "Specifies the identifier key of the auditing storage account. \r\nIf state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\r\nPrerequisites for using managed identity authentication:\r\n1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\r\n2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\r\nFor more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create", + "update" + ] + }, + "storageAccountSubscriptionId": { + "format": "uuid", + "description": "Specifies the blob storage subscription Id.", + "type": "string" + } + } + }, + "ServerDevOpsAuditingSettings": { + "description": "A server DevOps auditing settings.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../common/v1/types.json#/definitions/systemData", + "description": "SystemData of ServerDevOpsAuditSettingsResource.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/ServerDevOpsAuditSettingsProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ServerDevOpsAuditSettingsListResult": { + "description": "A list of server DevOps audit settings.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerDevOpsAuditingSettings" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerDnsAliases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerDnsAliases.json new file mode 100644 index 000000000000..4f8d5861b89a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerDnsAliases.json @@ -0,0 +1,361 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}": { + "get": { + "tags": [ + "ServerDnsAliases" + ], + "description": "Gets a server DNS alias.", + "operationId": "ServerDnsAliases_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server that the alias is pointing to.", + "required": true, + "type": "string" + }, + { + "name": "dnsAliasName", + "in": "path", + "description": "The name of the server dns alias.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified server DNS alias.", + "schema": { + "$ref": "#/definitions/ServerDnsAlias" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerDnsAliasAcquireRequest - The acquire server DNS alias request body is empty or invalid (it should contain the old server alias id, for example: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-old-server/dnsAliases/dns-alias-name-1).\n\n * 400 ServerDnsAliasAcquireRequestInvalidOldServerDnsAliasId - The old server DNS alias id in request body is empty or invalid (it should have the form: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-old-server/dnsAliases/dns-alias-name-1).\n\n * 400 ServerDnsAliasDoesNotExist - Server DNS Alias does not exist on a server.\n\n * 400 UnableToTurnOnTableAuditingForDbOnServerWithServerDnsAlias - Server Dns Aliases are not working correctly for database that has Table Auditing turned on\n\n * 400 UnableToCreateServerDnsAliasDueToTableAuditing - The Server DNS Alias cannot be created for server that has table auditing turned on.\n\n * 400 UnableToCreateServerDnsAliasDueToTableAuditingForDb - Server DNS Alias cannot be created for server '{0}' because database '{1}' has Table Auditing or Security Enabled Access feature enabled.\n\n * 400 LimitOfServerDnsAliasesPerServerExceeded - Creating new Server Dns Alias will exceed the allowed number of Server DNS Aliases per server.\n\n * 400 UnableToTurnOnTableAuditingForServerWithServerDnsAlias - Server Dns Aliases are not working correctly for server that has Table Auditing turned on\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 InvalidServerDnsAliasName - Invalid Server DNS Alias name was supplied.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 ServerDnsAliasBusy - Server DNS Alias is busy with another operation.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerDnsAliasDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.\n\n * 409 ServerDnsAliasAlreadyExists - Server DNS Alias already exists on a given server.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-examples": { + "Get server DNS alias": { + "$ref": "./examples/ServerDnsAliasGet.json" + } + } + }, + "put": { + "tags": [ + "ServerDnsAliases" + ], + "description": "Creates a server DNS alias.", + "operationId": "ServerDnsAliases_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server that the alias is pointing to.", + "required": true, + "type": "string" + }, + { + "name": "dnsAliasName", + "in": "path", + "description": "The name of the server dns alias.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The server DNS alias already exists.", + "schema": { + "$ref": "#/definitions/ServerDnsAlias" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerDnsAliasAcquireRequest - The acquire server DNS alias request body is empty or invalid (it should contain the old server alias id, for example: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-old-server/dnsAliases/dns-alias-name-1).\n\n * 400 ServerDnsAliasAcquireRequestInvalidOldServerDnsAliasId - The old server DNS alias id in request body is empty or invalid (it should have the form: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-old-server/dnsAliases/dns-alias-name-1).\n\n * 400 ServerDnsAliasDoesNotExist - Server DNS Alias does not exist on a server.\n\n * 400 UnableToTurnOnTableAuditingForDbOnServerWithServerDnsAlias - Server Dns Aliases are not working correctly for database that has Table Auditing turned on\n\n * 400 UnableToCreateServerDnsAliasDueToTableAuditing - The Server DNS Alias cannot be created for server that has table auditing turned on.\n\n * 400 UnableToCreateServerDnsAliasDueToTableAuditingForDb - Server DNS Alias cannot be created for server '{0}' because database '{1}' has Table Auditing or Security Enabled Access feature enabled.\n\n * 400 LimitOfServerDnsAliasesPerServerExceeded - Creating new Server Dns Alias will exceed the allowed number of Server DNS Aliases per server.\n\n * 400 UnableToTurnOnTableAuditingForServerWithServerDnsAlias - Server Dns Aliases are not working correctly for server that has Table Auditing turned on\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 InvalidServerDnsAliasName - Invalid Server DNS Alias name was supplied.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 ServerDnsAliasBusy - Server DNS Alias is busy with another operation.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerDnsAliasDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.\n\n * 409 ServerDnsAliasAlreadyExists - Server DNS Alias already exists on a given server.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully created a server DNS alias.", + "schema": { + "$ref": "#/definitions/ServerDnsAlias" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create server DNS alias": { + "$ref": "./examples/ServerDnsAliasCreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ServerDnsAliases" + ], + "description": "Deletes the server DNS alias with the given name.", + "operationId": "ServerDnsAliases_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server that the alias is pointing to.", + "required": true, + "type": "string" + }, + { + "name": "dnsAliasName", + "in": "path", + "description": "The name of the server dns alias.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the server DNS alias." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerDnsAliasAcquireRequest - The acquire server DNS alias request body is empty or invalid (it should contain the old server alias id, for example: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-old-server/dnsAliases/dns-alias-name-1).\n\n * 400 ServerDnsAliasAcquireRequestInvalidOldServerDnsAliasId - The old server DNS alias id in request body is empty or invalid (it should have the form: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-old-server/dnsAliases/dns-alias-name-1).\n\n * 400 ServerDnsAliasDoesNotExist - Server DNS Alias does not exist on a server.\n\n * 400 UnableToTurnOnTableAuditingForDbOnServerWithServerDnsAlias - Server Dns Aliases are not working correctly for database that has Table Auditing turned on\n\n * 400 UnableToCreateServerDnsAliasDueToTableAuditing - The Server DNS Alias cannot be created for server that has table auditing turned on.\n\n * 400 UnableToCreateServerDnsAliasDueToTableAuditingForDb - Server DNS Alias cannot be created for server '{0}' because database '{1}' has Table Auditing or Security Enabled Access feature enabled.\n\n * 400 LimitOfServerDnsAliasesPerServerExceeded - Creating new Server Dns Alias will exceed the allowed number of Server DNS Aliases per server.\n\n * 400 UnableToTurnOnTableAuditingForServerWithServerDnsAlias - Server Dns Aliases are not working correctly for server that has Table Auditing turned on\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 InvalidServerDnsAliasName - Invalid Server DNS Alias name was supplied.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 ServerDnsAliasBusy - Server DNS Alias is busy with another operation.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerDnsAliasDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.\n\n * 409 ServerDnsAliasAlreadyExists - Server DNS Alias already exists on a given server.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "The specified server DNS alias does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete server DNS alias": { + "$ref": "./examples/ServerDnsAliasDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases": { + "get": { + "tags": [ + "ServerDnsAliases" + ], + "description": "Gets a list of server DNS aliases for a server.", + "operationId": "ServerDnsAliases_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server that the alias is pointing to.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of server DNS aliases.", + "schema": { + "$ref": "#/definitions/ServerDnsAliasListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerDnsAliasAcquireRequest - The acquire server DNS alias request body is empty or invalid (it should contain the old server alias id, for example: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-old-server/dnsAliases/dns-alias-name-1).\n\n * 400 ServerDnsAliasAcquireRequestInvalidOldServerDnsAliasId - The old server DNS alias id in request body is empty or invalid (it should have the form: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-old-server/dnsAliases/dns-alias-name-1).\n\n * 400 ServerDnsAliasDoesNotExist - Server DNS Alias does not exist on a server.\n\n * 400 UnableToTurnOnTableAuditingForDbOnServerWithServerDnsAlias - Server Dns Aliases are not working correctly for database that has Table Auditing turned on\n\n * 400 UnableToCreateServerDnsAliasDueToTableAuditing - The Server DNS Alias cannot be created for server that has table auditing turned on.\n\n * 400 UnableToCreateServerDnsAliasDueToTableAuditingForDb - Server DNS Alias cannot be created for server '{0}' because database '{1}' has Table Auditing or Security Enabled Access feature enabled.\n\n * 400 LimitOfServerDnsAliasesPerServerExceeded - Creating new Server Dns Alias will exceed the allowed number of Server DNS Aliases per server.\n\n * 400 UnableToTurnOnTableAuditingForServerWithServerDnsAlias - Server Dns Aliases are not working correctly for server that has Table Auditing turned on\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 InvalidServerDnsAliasName - Invalid Server DNS Alias name was supplied.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 ServerDnsAliasBusy - Server DNS Alias is busy with another operation.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerDnsAliasDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.\n\n * 409 ServerDnsAliasAlreadyExists - Server DNS Alias already exists on a given server.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List server DNS aliases": { + "$ref": "./examples/ServerDnsAliasList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}/acquire": { + "post": { + "tags": [ + "ServerDnsAliases" + ], + "description": "Acquires server DNS alias from another server.", + "operationId": "ServerDnsAliases_Acquire", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server that the alias is pointing to.", + "required": true, + "type": "string" + }, + { + "name": "dnsAliasName", + "in": "path", + "description": "The name of the server dns alias.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServerDnsAliasAcquisition" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully acquired server DNS alias.", + "schema": { + "$ref": "#/definitions/ServerDnsAlias" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerDnsAliasAcquireRequest - The acquire server DNS alias request body is empty or invalid (it should contain the old server alias id, for example: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-old-server/dnsAliases/dns-alias-name-1).\n\n * 400 ServerDnsAliasAcquireRequestInvalidOldServerDnsAliasId - The old server DNS alias id in request body is empty or invalid (it should have the form: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-old-server/dnsAliases/dns-alias-name-1).\n\n * 400 ServerDnsAliasDoesNotExist - Server DNS Alias does not exist on a server.\n\n * 400 UnableToTurnOnTableAuditingForDbOnServerWithServerDnsAlias - Server Dns Aliases are not working correctly for database that has Table Auditing turned on\n\n * 400 UnableToCreateServerDnsAliasDueToTableAuditing - The Server DNS Alias cannot be created for server that has table auditing turned on.\n\n * 400 UnableToCreateServerDnsAliasDueToTableAuditingForDb - Server DNS Alias cannot be created for server '{0}' because database '{1}' has Table Auditing or Security Enabled Access feature enabled.\n\n * 400 LimitOfServerDnsAliasesPerServerExceeded - Creating new Server Dns Alias will exceed the allowed number of Server DNS Aliases per server.\n\n * 400 UnableToTurnOnTableAuditingForServerWithServerDnsAlias - Server Dns Aliases are not working correctly for server that has Table Auditing turned on\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 InvalidServerDnsAliasName - Invalid Server DNS Alias name was supplied.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\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 * 409 ServerDnsAliasBusy - Server DNS Alias is busy with another operation.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerDnsAliasDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.\n\n * 409 ServerDnsAliasAlreadyExists - Server DNS Alias already exists on a given server.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Acquire server DNS alias": { + "$ref": "./examples/ServerDnsAliasAcquire.json" + } + } + } + } + }, + "definitions": { + "ServerDnsAliasProperties": { + "description": "Properties of a server DNS alias.", + "type": "object", + "properties": { + "azureDnsRecord": { + "description": "The fully qualified DNS record for alias", + "type": "string", + "readOnly": true + } + } + }, + "ServerDnsAlias": { + "description": "A server DNS alias.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServerDnsAliasProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ServerDnsAliasListResult": { + "description": "A list of server DNS aliases.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerDnsAlias" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ServerDnsAliasAcquisition": { + "description": "A server dns alias acquisition request.", + "required": [ + "oldServerDnsAliasId" + ], + "type": "object", + "properties": { + "oldServerDnsAliasId": { + "description": "The id of the server alias that will be acquired to point to this server instead.", + "type": "string" + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerKeys.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerKeys.json new file mode 100644 index 000000000000..dfff7aa89159 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerKeys.json @@ -0,0 +1,339 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys": { + "get": { + "tags": [ + "ServerKeys" + ], + "description": "Gets a list of server keys.", + "operationId": "ServerKeys_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of server keys.", + "schema": { + "$ref": "#/definitions/ServerKeyListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidKeyName - An invalid value was given for the server key name.\n\n * 400 InvalidKeyType - The create server key type is not supported.\n\n * 400 InvalidUpsertKeyType - Service-managed TDE keys are managed by the service. Service-managed TDE keys don't support Create or Update by the user.\n\n * 400 InvalidKeyUpsertRequest - The create server key request does not exist or has no properties object.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List the server keys by server": { + "$ref": "./examples/ServerKeyList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}": { + "get": { + "tags": [ + "ServerKeys" + ], + "description": "Gets a server key.", + "operationId": "ServerKeys_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the server key to be retrieved.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified server key.", + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidKeyName - An invalid value was given for the server key name.\n\n * 400 InvalidKeyType - The create server key type is not supported.\n\n * 400 InvalidUpsertKeyType - Service-managed TDE keys are managed by the service. Service-managed TDE keys don't support Create or Update by the user.\n\n * 400 InvalidKeyUpsertRequest - The create server key request does not exist or has no properties object.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get the server key": { + "$ref": "./examples/ServerKeyGet.json" + } + } + }, + "put": { + "tags": [ + "ServerKeys" + ], + "description": "Creates or updates a server key.", + "operationId": "ServerKeys_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the server key to be operated on (updated or created). The key name is required to be in the format of 'vault_key_version'. For example, if the keyId is https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion, then the server key name should be formatted as: YourVaultName_YourKeyName_YourKeyVersion", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested server key resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the server key.", + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidKeyName - An invalid value was given for the server key name.\n\n * 400 InvalidKeyType - The create server key type is not supported.\n\n * 400 InvalidUpsertKeyType - Service-managed TDE keys are managed by the service. Service-managed TDE keys don't support Create or Update by the user.\n\n * 400 InvalidKeyUpsertRequest - The create server key request does not exist or has no properties object.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information ." + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully created the server key.", + "schema": { + "$ref": "#/definitions/ServerKey" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates or updates a server key": { + "$ref": "./examples/ServerKeyCreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ServerKeys" + ], + "description": "Deletes the server key with the given name.", + "operationId": "ServerKeys_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the server key to be deleted.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the server key." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidKeyName - An invalid value was given for the server key name.\n\n * 400 InvalidKeyType - The create server key type is not supported.\n\n * 400 InvalidUpsertKeyType - Service-managed TDE keys are managed by the service. Service-managed TDE keys don't support Create or Update by the user.\n\n * 400 InvalidKeyUpsertRequest - The create server key request does not exist or has no properties object.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information ." + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "The specified server key does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete the server key": { + "$ref": "./examples/ServerKeyDelete.json" + } + } + } + } + }, + "definitions": { + "ServerKeyListResult": { + "description": "A list of server keys.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerKey" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ServerKeyProperties": { + "description": "Properties for a server key execution.", + "required": [ + "serverKeyType" + ], + "type": "object", + "properties": { + "subregion": { + "description": "Subregion of the server key.", + "type": "string", + "readOnly": true + }, + "serverKeyType": { + "description": "The server key type like 'ServiceManaged', 'AzureKeyVault'.", + "enum": [ + "ServiceManaged", + "AzureKeyVault" + ], + "type": "string", + "x-ms-enum": { + "name": "ServerKeyType", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "uri": { + "description": "The URI of the server key. If the ServerKeyType is AzureKeyVault, then the URI is required.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "thumbprint": { + "description": "Thumbprint of the server key.", + "type": "string", + "readOnly": true + }, + "creationDate": { + "format": "date-time", + "description": "The server key creation date.", + "type": "string", + "readOnly": true + }, + "autoRotationEnabled": { + "description": "Key auto rotation opt-in flag. Either true or false.", + "type": "boolean", + "readOnly": true + } + } + }, + "ServerKey": { + "description": "A server key.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "description": "Kind of encryption protector. This is metadata used for the Azure portal experience.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Resource location.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/ServerKeyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerOperations.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerOperations.json new file mode 100644 index 000000000000..5332b3da680b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerOperations.json @@ -0,0 +1,208 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/operations": { + "get": { + "tags": [ + "ServerOperations" + ], + "description": "Gets a list of operations performed on the server.", + "operationId": "ServerOperations_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request for getting server operations has been executed successfully.", + "schema": { + "$ref": "#/definitions/ServerOperationListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MissingIdentityId - No user assigned identity is provided when the identity type is set to UserAssigned\n\n * 400 InvalidPrimaryIdentityId - User provides a value for PrimaryUserIdentityId but the same is not listed in the IdentityId parameter\n\n * 400 PECsNotExistingToDenyPublicNetworkAccess - Unable to set Deny Public Network Access to Yes since there is no private endpoint enabled to access the server. Please set up private endpoints and retry the operation (https://docs.microsoft.com/azure/sql-database/sql-database-private-endpoint-overview#how-to-set-up-private-link-for-azure-sql-database).\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 MissingPrimaryIdentity - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 PrimaryIdentityMissingPermissionForKeyId - KeyId is provided by user during create but PrimaryUserAssignedIdentityId is not provided in the API call\n\n * 400 InvalidIdentityTypeForKeyId - KeyId is provided by user during create but identity type is not set to 'UserAssigned'\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 Ipv6FeatureNotEnabled - User tried to turn on Ipv6 support on the server without enabling feature flag on subscription, or the feature support is currently disabled in the region.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 AadOnlyAuthenticationIsEnabled - Azure Active Directory Only Authentication is enabled. Please contact your system administrator.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\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 * 409 UpsertLogicalServerRequestAlreadyInProgress - An ongoing logical server request is already in progress, please try your request again later.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 DropLogicalServerAlreadyInProgress - Server is already being dropped.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List the server management operations": { + "$ref": "./examples/ListServerOperations.json" + } + } + } + } + }, + "definitions": { + "ServerOperationListResult": { + "description": "The response to a list server operations request", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerOperation" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ServerOperationProperties": { + "description": "The properties of a server operation.", + "type": "object", + "properties": { + "operation": { + "description": "The name of operation.", + "type": "string", + "readOnly": true + }, + "operationFriendlyName": { + "description": "The friendly name of operation.", + "type": "string", + "readOnly": true + }, + "percentComplete": { + "format": "int32", + "description": "The percentage of the operation completed.", + "type": "integer", + "readOnly": true + }, + "serverName": { + "description": "The name of the server.", + "type": "string", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "The operation start time.", + "type": "string", + "readOnly": true + }, + "state": { + "description": "The operation state.", + "enum": [ + "Pending", + "InProgress", + "Succeeded", + "Failed", + "CancelInProgress", + "Cancelled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ManagementOperationState", + "modelAsString": true + } + }, + "errorCode": { + "format": "int32", + "description": "The operation error code.", + "type": "integer", + "readOnly": true + }, + "errorDescription": { + "description": "The operation error description.", + "type": "string", + "readOnly": true + }, + "errorSeverity": { + "format": "int32", + "description": "The operation error severity.", + "type": "integer", + "readOnly": true + }, + "isUserError": { + "description": "Whether or not the error is a user error.", + "type": "boolean", + "readOnly": true + }, + "estimatedCompletionTime": { + "format": "date-time", + "description": "The estimated completion time of the operation.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The operation description.", + "type": "string", + "readOnly": true + }, + "isCancellable": { + "description": "Whether the operation can be cancelled.", + "type": "boolean", + "readOnly": true + } + } + }, + "ServerOperation": { + "description": "A server operation.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServerOperationProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerSecurityAlertPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerSecurityAlertPolicies.json new file mode 100644 index 000000000000..79edfd78f5e6 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerSecurityAlertPolicies.json @@ -0,0 +1,303 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { + "get": { + "tags": [ + "ServerSecurityAlertPolicies" + ], + "description": "Get a server's security alert policy.", + "operationId": "ServerSecurityAlertPolicies_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/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": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the server threat detection policy.", + "schema": { + "$ref": "#/definitions/ServerSecurityAlertPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountCredentials - The provided storage account access key is not valid.\n\n * 400 UpdateNotAllowedOnServerContainingPausedDWDatabase - Setting server Threat Detection settings is not allowed on a server with a paused Data Warehouse database\n\n * 400 SecurityAlertPoliciesInsufficientDiskSpace - Insufficient disk space to save security alert policy metadata in the database\n\n * 400 SecurityAlertPoliciesInsufficientStorageAccountPermissions - Insufficient read or write permissions on the provided storage account.\n\n * 400 SecurityAlertPoliciesStorageAccountIsDisabled - The storage account provided in the threat detection policy is disabled.\n\n * 400 InvalidServerSecurityAlertPolicyCreateRequest - The create server Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 ServerSecurityAlertPolicyInProgress - Set server security alert policy is already in progress\n\n * 409 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 GetServerSecurityAlertPolicyFailed - Failed to get Threat Detection settings" + } + }, + "x-ms-examples": { + "Get a server's threat detection policy": { + "$ref": "./examples/ServerSecurityAlertsGet.json" + } + } + }, + "put": { + "tags": [ + "ServerSecurityAlertPolicies" + ], + "description": "Creates or updates a threat detection policy.", + "operationId": "ServerSecurityAlertPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/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": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the threat detection policy.", + "schema": { + "$ref": "#/definitions/ServerSecurityAlertPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountCredentials - The provided storage account access key is not valid.\n\n * 400 UpdateNotAllowedOnServerContainingPausedDWDatabase - Setting server Threat Detection settings is not allowed on a server with a paused Data Warehouse database\n\n * 400 SecurityAlertPoliciesInsufficientDiskSpace - Insufficient disk space to save security alert policy metadata in the database\n\n * 400 SecurityAlertPoliciesInsufficientStorageAccountPermissions - Insufficient read or write permissions on the provided storage account.\n\n * 400 SecurityAlertPoliciesStorageAccountIsDisabled - The storage account provided in the threat detection policy is disabled.\n\n * 400 InvalidServerSecurityAlertPolicyCreateRequest - The create server Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 ServerSecurityAlertPolicyInProgress - Set server security alert policy is already in progress\n\n * 409 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later" + }, + "202": { + "description": "Created request to set the server threat detection policy." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a server's threat detection policy with minimal parameters": { + "$ref": "./examples/ServerSecurityAlertsCreateMin.json" + }, + "Update a server's threat detection policy with all parameters": { + "$ref": "./examples/ServerSecurityAlertsCreateMax.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/securityAlertPolicies": { + "get": { + "tags": [ + "ServerSecurityAlertPolicies" + ], + "description": "Get the server's threat detection policies.", + "operationId": "ServerSecurityAlertPolicies_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the server threat detection policies.", + "schema": { + "$ref": "#/definitions/LogicalServerSecurityAlertPolicyListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 SecurityAlertPoliciesInvalidStorageAccountCredentials - The provided storage account access key is not valid.\n\n * 400 UpdateNotAllowedOnServerContainingPausedDWDatabase - Setting server Threat Detection settings is not allowed on a server with a paused Data Warehouse database\n\n * 400 SecurityAlertPoliciesInsufficientDiskSpace - Insufficient disk space to save security alert policy metadata in the database\n\n * 400 SecurityAlertPoliciesInsufficientStorageAccountPermissions - Insufficient read or write permissions on the provided storage account.\n\n * 400 SecurityAlertPoliciesStorageAccountIsDisabled - The storage account provided in the threat detection policy is disabled.\n\n * 400 InvalidServerSecurityAlertPolicyCreateRequest - The create server Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 ServerSecurityAlertPolicyInProgress - Set server security alert policy is already in progress\n\n * 409 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 GetServerSecurityAlertPolicyFailed - Failed to get Threat Detection settings" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List the server's threat detection policies": { + "$ref": "./examples/ServerSecurityAlertsListByServer.json" + } + } + } + } + }, + "definitions": { + "SecurityAlertsPolicyProperties": { + "description": "Properties of a security alert policy.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "state": { + "description": "Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "SecurityAlertsPolicyState", + "modelAsString": false + } + }, + "disabledAlerts": { + "description": "Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force", + "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" + } + }, + "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" + }, + "creationTime": { + "format": "date-time", + "description": "Specifies the UTC creation time of the policy.", + "type": "string", + "readOnly": true + } + } + }, + "ServerSecurityAlertPolicy": { + "description": "A server security alert policy.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../common/v1/types.json#/definitions/systemData", + "description": "SystemData of SecurityAlertPolicyResource.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/SecurityAlertsPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "LogicalServerSecurityAlertPolicyListResult": { + "description": "A list of the server's security alert policies.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerSecurityAlertPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerTrustCertificates.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerTrustCertificates.json new file mode 100644 index 000000000000..db6646b1b59e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerTrustCertificates.json @@ -0,0 +1,297 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/serverTrustCertificates/{certificateName}": { + "get": { + "tags": [ + "ServerTrustCertificates" + ], + "description": "Gets a server trust certificate that was uploaded from box to Sql Managed Instance.", + "operationId": "ServerTrustCertificates_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "certificateName", + "in": "path", + "description": "Name of of the certificate to get.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a server trust certificate.", + "schema": { + "$ref": "#/definitions/ServerTrustCertificate" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-examples": { + "Gets server trust certificate.": { + "$ref": "./examples/ServerTrustCertificatesGet.json" + } + } + }, + "put": { + "tags": [ + "ServerTrustCertificates" + ], + "description": "Uploads a server trust certificate from box to Sql Managed Instance.", + "operationId": "ServerTrustCertificates_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "certificateName", + "in": "path", + "description": "Name of of the certificate to upload.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The server trust certificate info.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerTrustCertificate" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Certificate already existed.", + "schema": { + "$ref": "#/definitions/ServerTrustCertificate" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MissingPublicBlob - The public blob is missing.\n\n * 400 InvalidPublicBlob - Invalid public blob specified, reason: '{0}'.\n\n * 400 MissingCertificateName - The certificate name is missing.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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 request for creating server trust certificate." + }, + "201": { + "description": "Certificate is successfully created.", + "schema": { + "$ref": "#/definitions/ServerTrustCertificate" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create server trust certificate.": { + "$ref": "./examples/ServerTrustCertificatesCreate.json" + } + } + }, + "delete": { + "tags": [ + "ServerTrustCertificates" + ], + "description": "Deletes a server trust certificate that was uploaded from box to Sql Managed Instance.", + "operationId": "ServerTrustCertificates_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "certificateName", + "in": "path", + "description": "Name of of the certificate to delete.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Certificate successfully deleted." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MissingCertificateName - The certificate name is missing.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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 request for deleting server trust certificate." + }, + "204": { + "description": "Certificate resource not found." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete server trust certificate.": { + "$ref": "./examples/ServerTrustCertificatesDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/serverTrustCertificates": { + "get": { + "tags": [ + "ServerTrustCertificates" + ], + "description": "Gets a list of the server trust certificates which are used for secure communication between SQL On-Prem instance and the given Sql Managed Instance", + "operationId": "ServerTrustCertificates_ListByInstance", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a list of server trust certificates.", + "schema": { + "$ref": "#/definitions/ServerTrustCertificatesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets a list of server trust certificates on a given server.": { + "$ref": "./examples/ServerTrustCertificatesListByInstance.json" + } + } + } + } + }, + "definitions": { + "ServerTrustCertificateProperties": { + "description": "The properties of a server trust certificate.", + "type": "object", + "properties": { + "publicBlob": { + "description": "The certificate public blob", + "type": "string" + }, + "thumbprint": { + "description": "The certificate thumbprint", + "type": "string", + "readOnly": true + }, + "certificateName": { + "description": "The certificate name", + "type": "string", + "readOnly": true + } + } + }, + "ServerTrustCertificate": { + "description": "Server trust certificate imported from box to enable connection between box and Sql Managed Instance.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServerTrustCertificateProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ServerTrustCertificatesListResult": { + "description": "A list of the server trust certificates which are used for secure communication between SQL On-Prem instance and the given Sql Managed Instance.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerTrustCertificate" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerTrustGroups.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerTrustGroups.json new file mode 100644 index 000000000000..59a4c5d94e3f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerTrustGroups.json @@ -0,0 +1,376 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/serverTrustGroups/{serverTrustGroupName}": { + "get": { + "tags": [ + "ServerTrustGroups" + ], + "description": "Gets a server trust group.", + "operationId": "ServerTrustGroups_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "name": "serverTrustGroupName", + "in": "path", + "description": "The name of the server trust group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the the specified server trust group.", + "schema": { + "$ref": "#/definitions/ServerTrustGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 ServerTrustGroupNotFound - Server trust group with specified name does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 406 ServerTrustGroupMemberIsBusy - Group member '{0}' is not in a valid state and cannot perform Server trust group operation.\n\n * 406 ServerTrustGroupInInvalidState - SQL trust group '{0}' is busy and cannot perform requested operation.\n\n * 406 ServerTrustGroupMemberNotFound - Group member '{0}' is not found, therefore we cannot perform Server trust group operation." + } + }, + "x-ms-examples": { + "Get server trust group": { + "$ref": "./examples/ServerTrustGroupGet.json" + } + } + }, + "put": { + "tags": [ + "ServerTrustGroups" + ], + "description": "Creates or updates a server trust group.", + "operationId": "ServerTrustGroups_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "name": "serverTrustGroupName", + "in": "path", + "description": "The name of the server trust group.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The server trust group parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerTrustGroup" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the server trust group.", + "schema": { + "$ref": "#/definitions/ServerTrustGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ServerTrustGroupCreateRequestInvalid - The resource or resource properties in the request body is empty or invalid\n\n * 400 ServerTrustGroupCreateRequestInvalidGroupMembers - The group members property in the request body is empty or invalid\n\n * 400 ServerTrustGroupCreateRequestInvalidGroupMembersCount - The group members property has an invalid number of servers\n\n * 400 ServerTrustGroupCreateRequestInvalidServer - The given serverId field in create server trust group request body is empty or invalid\n\n * 400 ServerTrustGroupCreateRequestDuplicateServer - One or more of the provided servers are duplicates.\n\n * 400 ServerTrustGroupCreateRequestInvalidTrustScopes - The trust scope property in the request body is empty or invalid.\n\n * 400 ServerTrustGroupCreateRequestInvalidTrustScopesValue - The trust scope property in the request body has an invalid value.\n\n * 400 ServerTrustGroupCreateRequestInvalidGroupMembersCount2 - The group members property has an invalid number of servers\n\n * 404 ServerTrustGroupNotFound - Server trust group with specified name does not exist.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 406 ServerTrustGroupMemberIsBusy - Group member '{0}' is not in a valid state and cannot perform Server trust group operation.\n\n * 406 ServerTrustGroupInInvalidState - SQL trust group '{0}' is busy and cannot perform requested operation.\n\n * 406 ServerTrustGroupMemberNotFound - Group member '{0}' is not found, therefore we cannot perform Server trust group operation.\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 the server trust group.", + "schema": { + "$ref": "#/definitions/ServerTrustGroup" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create server trust group": { + "$ref": "./examples/ServerTrustGroupCreate.json" + } + } + }, + "delete": { + "tags": [ + "ServerTrustGroups" + ], + "description": "Deletes a server trust group.", + "operationId": "ServerTrustGroups_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "name": "serverTrustGroupName", + "in": "path", + "description": "The name of the server trust group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the server trust group." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ServerTrustGroupCreateRequestInvalid - The resource or resource properties in the request body is empty or invalid\n\n * 400 ServerTrustGroupCreateRequestInvalidGroupMembers - The group members property in the request body is empty or invalid\n\n * 400 ServerTrustGroupCreateRequestInvalidGroupMembersCount - The group members property has an invalid number of servers\n\n * 400 ServerTrustGroupCreateRequestInvalidServer - The given serverId field in create server trust group request body is empty or invalid\n\n * 400 ServerTrustGroupCreateRequestDuplicateServer - One or more of the provided servers are duplicates.\n\n * 400 ServerTrustGroupCreateRequestInvalidTrustScopes - The trust scope property in the request body is empty or invalid.\n\n * 400 ServerTrustGroupCreateRequestInvalidTrustScopesValue - The trust scope property in the request body has an invalid value.\n\n * 400 ServerTrustGroupCreateRequestInvalidGroupMembersCount2 - The group members property has an invalid number of servers\n\n * 404 ServerTrustGroupNotFound - Server trust group with specified name does not exist.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 406 ServerTrustGroupMemberIsBusy - Group member '{0}' is not in a valid state and cannot perform Server trust group operation.\n\n * 406 ServerTrustGroupInInvalidState - SQL trust group '{0}' is busy and cannot perform requested operation.\n\n * 406 ServerTrustGroupMemberNotFound - Group member '{0}' is not found, therefore we cannot perform Server trust group operation.\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 server trust group does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Drop server trust group": { + "$ref": "./examples/ServerTrustGroupDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/serverTrustGroups": { + "get": { + "tags": [ + "ServerTrustGroups" + ], + "description": "Lists a server trust group.", + "operationId": "ServerTrustGroups_ListByLocation", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the server trust groups.", + "schema": { + "$ref": "#/definitions/ServerTrustGroupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 ServerTrustGroupNotFound - Server trust group with specified name does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 406 ServerTrustGroupMemberIsBusy - Group member '{0}' is not in a valid state and cannot perform Server trust group operation.\n\n * 406 ServerTrustGroupInInvalidState - SQL trust group '{0}' is busy and cannot perform requested operation.\n\n * 406 ServerTrustGroupMemberNotFound - Group member '{0}' is not found, therefore we cannot perform Server trust group operation." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List server trust groups": { + "$ref": "./examples/ServerTrustGroupList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/serverTrustGroups": { + "get": { + "tags": [ + "ServerTrustGroups" + ], + "description": "Gets a server trust groups by instance name.", + "operationId": "ServerTrustGroups_ListByInstance", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the server trust groups.", + "schema": { + "$ref": "#/definitions/ServerTrustGroupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List server trust groups by managed instance": { + "$ref": "./examples/ServerTrustGroupListByManagedInstance.json" + } + } + } + } + }, + "definitions": { + "ServerTrustGroupProperties": { + "description": "Properties of a server trust group.", + "required": [ + "groupMembers", + "trustScopes" + ], + "type": "object", + "properties": { + "groupMembers": { + "description": "Group members information for the server trust group.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerInfo" + } + }, + "trustScopes": { + "description": "Trust scope of the server trust group.", + "type": "array", + "items": { + "enum": [ + "GlobalTransactions", + "ServiceBroker" + ], + "type": "string" + } + } + } + }, + "ServerInfo": { + "description": "Server info for the server trust group.", + "required": [ + "serverId" + ], + "type": "object", + "properties": { + "serverId": { + "description": "Server Id.", + "type": "string" + } + } + }, + "ServerTrustGroup": { + "description": "A server trust group.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServerTrustGroupProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ServerTrustGroupListResult": { + "description": "A list of server trust groups.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerTrustGroup" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerVulnerabilityAssessments.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerVulnerabilityAssessments.json new file mode 100644 index 000000000000..f65f6c2c2725 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/ServerVulnerabilityAssessments.json @@ -0,0 +1,364 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}": { + "get": { + "tags": [ + "ServerVulnerabilityAssessments" + ], + "description": "Gets the server's vulnerability assessment.", + "operationId": "ServerVulnerabilityAssessments_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server for which the vulnerability assessment is defined.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the server vulnerability assessment.", + "schema": { + "$ref": "#/definitions/ServerVulnerabilityAssessment" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 VulnerabilityAssessmentUnsupportedStorageAccount - The provided storage account is unsupported.\n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 VulnerabilityAssessmentInsufficientStorageAccountPermissions - Insufficient permissions on the provided storage account.\n\n * 400 VulnerabilityAssessmentStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found" + } + }, + "x-ms-examples": { + "Get a server's vulnerability assessment": { + "$ref": "./examples/ServerVulnerabilityAssessmentGet.json" + } + } + }, + "put": { + "tags": [ + "ServerVulnerabilityAssessments" + ], + "description": "Creates or updates the server's vulnerability assessment. Learn more about setting SQL vulnerability assessment with managed identity - https://docs.microsoft.com/azure/azure-sql/database/sql-database-vulnerability-assessment-storage", + "operationId": "ServerVulnerabilityAssessments_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server for which the vulnerability assessment is defined.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The requested resource.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerVulnerabilityAssessment" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully set the vulnerability assessment.", + "schema": { + "$ref": "#/definitions/ServerVulnerabilityAssessment" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 VulnerabilityAssessmentUnsupportedStorageAccount - The provided storage account is unsupported.\n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 VulnerabilityAssessmentInsufficientStorageAccountPermissions - Insufficient permissions on the provided storage account.\n\n * 400 VulnerabilityAssessmentStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 400 InvalidVulnerabilityAssessmentOperationRequest - The vulnerability assessment operation request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found" + }, + "201": { + "description": "Successfully created the vulnerability assessment.", + "schema": { + "$ref": "#/definitions/ServerVulnerabilityAssessment" + } + } + }, + "x-ms-examples": { + "Create a server's vulnerability assessment with minimal parameters, when storageContainerSasKey is specified": { + "$ref": "./examples/ServerVulnerabilityAssessmentCreateContainerSasKeyMin.json" + }, + "Create a server's vulnerability assessment with minimal parameters, when storageAccountAccessKey is specified": { + "$ref": "./examples/ServerVulnerabilityAssessmentCreateStorageAccessKeyMin.json" + }, + "Create a server's vulnerability assessment with all parameters": { + "$ref": "./examples/ServerVulnerabilityAssessmentCreateMax.json" + } + } + }, + "delete": { + "tags": [ + "ServerVulnerabilityAssessments" + ], + "description": "Removes the server's vulnerability assessment.", + "operationId": "ServerVulnerabilityAssessments_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server for which the vulnerability assessment is defined.", + "required": true, + "type": "string" + }, + { + "name": "vulnerabilityAssessmentName", + "in": "path", + "description": "The name of the vulnerability assessment.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "VulnerabilityAssessmentName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed the server vulnerability assessment." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 VulnerabilityAssessmentUnsupportedStorageAccount - The provided storage account is unsupported.\n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 VulnerabilityAssessmentInsufficientStorageAccountPermissions - Insufficient permissions on the provided storage account.\n\n * 400 VulnerabilityAssessmentStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found" + } + }, + "x-ms-examples": { + "Remove a server's vulnerability assessment": { + "$ref": "./examples/ServerVulnerabilityAssessmentDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments": { + "get": { + "tags": [ + "ServerVulnerabilityAssessments" + ], + "description": "Lists the vulnerability assessment policies associated with a server.", + "operationId": "ServerVulnerabilityAssessments_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the server vulnerability assessment policies.", + "schema": { + "$ref": "#/definitions/ServerVulnerabilityAssessmentListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 InvalidStorageAccountCredentials - The provided storage account shared access signature or account storage key is not valid.\n\n * 400 VulnerabilityAssessmentUnsupportedStorageAccount - The provided storage account is unsupported.\n\n * 400 VulnerabilityAssessmentADSIsDisabled - Advanced Data Security should be enabled in order to use Vulnerability Assessment.\n\n * 400 VulnerabilityAssessmentStorageOutboundFirewallNotAllowed - The storage account is not in the list of Outbound Firewall Rules.\n\n * 400 VulnerabilityAssessmentInsufficientStorageAccountPermissions - Insufficient permissions on the provided storage account.\n\n * 400 VulnerabilityAssessmentStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a server's vulnerability assessment policies": { + "$ref": "./examples/ServerVulnerabilityAssessmentListByServer.json" + } + } + } + } + }, + "definitions": { + "ServerVulnerabilityAssessmentProperties": { + "description": "Properties of a server Vulnerability Assessment.", + "required": [ + "storageContainerPath" + ], + "type": "object", + "properties": { + "storageContainerPath": { + "description": "A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/).", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "storageContainerSasKey": { + "description": "A shared access signature (SAS Key) that has write access to the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. Applies only if the storage account is not behind a Vnet or a firewall", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "storageAccountAccessKey": { + "description": "Specifies the identifier key of the storage account for vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is not behind a Vnet or a firewall", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "recurringScans": { + "$ref": "#/definitions/VulnerabilityAssessmentRecurringScansProperties", + "description": "The recurring scans settings" + } + } + }, + "VulnerabilityAssessmentRecurringScansProperties": { + "description": "Properties of a Vulnerability Assessment recurring scans.", + "type": "object", + "properties": { + "isEnabled": { + "description": "Recurring scans state.", + "type": "boolean" + }, + "emailSubscriptionAdmins": { + "description": "Specifies that the schedule scan notification will be is sent to the subscription administrators.", + "default": true, + "type": "boolean" + }, + "emails": { + "description": "Specifies an array of e-mail addresses to which the scan notification is sent.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ServerVulnerabilityAssessment": { + "description": "A server vulnerability assessment.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServerVulnerabilityAssessmentProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ServerVulnerabilityAssessmentListResult": { + "description": "A list of the server's vulnerability assessments.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerVulnerabilityAssessment" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Servers.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Servers.json new file mode 100644 index 000000000000..25486ef9bb23 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Servers.json @@ -0,0 +1,1057 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers": { + "get": { + "tags": [ + "Servers" + ], + "description": "Gets a list of servers in a resource groups.", + "operationId": "Servers_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "The child resources to include in the response.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of servers.", + "schema": { + "$ref": "#/definitions/ServerListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionNotFound - The requested subscription was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List servers by resource group": { + "$ref": "./examples/ServerListByResourceGroup.json" + }, + "List servers by resource group with $expand=administrators/activedirectory": { + "$ref": "./examples/ServerListByResourceGroupWithExpandEqualsAdministrators.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}": { + "get": { + "tags": [ + "Servers" + ], + "description": "Gets a server.", + "operationId": "Servers_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "The child resources to include in the response.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified server.", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get server": { + "$ref": "./examples/ServerGet.json" + }, + "Get server with $expand=administrators/activedirectory": { + "$ref": "./examples/ServerGetWithExpandEqualsAdministrators.json" + } + } + }, + "put": { + "tags": [ + "Servers" + ], + "description": "Creates or updates a server.", + "operationId": "Servers_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested server resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/Server" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the server.", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MissingIdentityId - No user assigned identity is provided when the identity type is set to UserAssigned\n\n * 400 InvalidPrimaryIdentityId - User provides a value for PrimaryUserIdentityId but the same is not listed in the IdentityId parameter\n\n * 400 PECsNotExistingToDenyPublicNetworkAccess - Unable to set Deny Public Network Access to Yes since there is no private endpoint enabled to access the server. Please set up private endpoints and retry the operation (https://docs.microsoft.com/azure/sql-database/sql-database-private-endpoint-overview#how-to-set-up-private-link-for-azure-sql-database).\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 MissingPrimaryIdentity - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 PrimaryIdentityMissingPermissionForKeyId - KeyId is provided by user during create but PrimaryUserAssignedIdentityId is not provided in the API call\n\n * 400 InvalidIdentityTypeForKeyId - KeyId is provided by user during create but identity type is not set to 'UserAssigned'\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 Ipv6FeatureNotEnabled - User tried to turn on Ipv6 support on the server without enabling feature flag on subscription, or the feature support is currently disabled in the region.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 AadOnlyAuthenticationIsEnabled - Azure Active Directory Only Authentication is enabled. Please contact your system administrator.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 InvalidMinimalTlsVersion - Invalid minimal TLS version.\n\n * 400 InvalidExternalAdministratorLogin - Invalid or missing external administrator login name.\n\n * 400 InvalidExternalAdministratorSid - Invalid or missing external administrator object id.\n\n * 400 InvalidExternalAdministratorTenantId - Invalid or missing external administrator tenant id.\n\n * 400 ExternalAdministratorPrincipalType - Invalid or missing external administrator principal type. Please select from User, Application or Group.\n\n * 400 MissingExternalAdministratorWithAadOnlyAuth - In order to use Azure AD Only Authentication, please provide details of an external administrator.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\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 * 409 UpsertLogicalServerRequestAlreadyInProgress - An ongoing logical server request is already in progress, please try your request again later.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources." + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully created the server.", + "schema": { + "$ref": "#/definitions/Server" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create server": { + "$ref": "./examples/ServerCreate.json" + } + } + }, + "delete": { + "tags": [ + "Servers" + ], + "description": "Deletes a server.", + "operationId": "Servers_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the server." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\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 * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 DropLogicalServerAlreadyInProgress - Server is already being dropped.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources." + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "The specified server does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete server": { + "$ref": "./examples/ServerDelete.json" + } + } + }, + "patch": { + "tags": [ + "Servers" + ], + "description": "Updates a server.", + "operationId": "Servers_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested server resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerUpdate" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the server.", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MissingIdentityId - No user assigned identity is provided when the identity type is set to UserAssigned\n\n * 400 InvalidPrimaryIdentityId - User provides a value for PrimaryUserIdentityId but the same is not listed in the IdentityId parameter\n\n * 400 PECsNotExistingToDenyPublicNetworkAccess - Unable to set Deny Public Network Access to Yes since there is no private endpoint enabled to access the server. Please set up private endpoints and retry the operation (https://docs.microsoft.com/azure/sql-database/sql-database-private-endpoint-overview#how-to-set-up-private-link-for-azure-sql-database).\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 MissingPrimaryIdentity - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 PrimaryIdentityMissingPermissionForKeyId - KeyId is provided by user during create but PrimaryUserAssignedIdentityId is not provided in the API call\n\n * 400 InvalidIdentityTypeForKeyId - KeyId is provided by user during create but identity type is not set to 'UserAssigned'\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 Ipv6FeatureNotEnabled - User tried to turn on Ipv6 support on the server without enabling feature flag on subscription, or the feature support is currently disabled in the region.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 AadOnlyAuthenticationIsEnabled - Azure Active Directory Only Authentication is enabled. Please contact your system administrator.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 InvalidMinimalTlsVersion - Invalid minimal TLS version.\n\n * 400 InvalidExternalAdministratorLogin - Invalid or missing external administrator login name.\n\n * 400 InvalidExternalAdministratorSid - Invalid or missing external administrator object id.\n\n * 400 InvalidExternalAdministratorTenantId - Invalid or missing external administrator tenant id.\n\n * 400 ExternalAdministratorPrincipalType - Invalid or missing external administrator principal type. Please select from User, Application or Group.\n\n * 400 MissingExternalAdministratorWithAadOnlyAuth - In order to use Azure AD Only Authentication, please provide details of an external administrator.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\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 * 409 UpsertLogicalServerRequestAlreadyInProgress - An ongoing logical server request is already in progress, please try your request again later.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a server": { + "$ref": "./examples/ServerUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/servers": { + "get": { + "tags": [ + "Servers" + ], + "description": "Gets a list of all servers in the subscription.", + "operationId": "Servers_List", + "parameters": [ + { + "name": "$expand", + "in": "query", + "description": "The child resources to include in the response.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of servers.", + "schema": { + "$ref": "#/definitions/ServerListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionNotFound - The requested subscription was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List servers": { + "$ref": "./examples/ServerList.json" + }, + "List servers with $expand=administrators/activedirectory": { + "$ref": "./examples/ServerListWithExpandEqualsAdministrators.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/import": { + "post": { + "tags": [ + "Servers" + ], + "description": "Imports a bacpac into a new database.", + "operationId": "Servers_ImportDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The database import request parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/ImportNewDatabaseDefinition" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully imported the database.", + "schema": { + "$ref": "#/definitions/ImportExportOperationResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MissingImportExportInputParameters - Missing ImportExport input parameters.\n\n * 400 PolybaseImportAuthenticationTypeNotSupported - Authentication type parameter is not support for PolybaseImport operation.\n\n * 400 DatabaseExtensionsInvalidOperationMode - Invalid operationMode parameter for database extension.\n\n * 400 DatabaseExtensionsInvalidStorageKeyType - The storage key type must by 'StorageAccessKey'.\n\n * 400 DatabaseExtensionsMissingStorageUri - Storage URI cannot be empty.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidOperationType - Provide a valid operation type.\n\n * 400 ImportExportJobError - The ImportExport operation has failed.\n\n * 400 BlockedByOutboundFirewall - The outbound firewall rules blocked the request.\n\n * 404 ResourceNotFound - Invalid request specifying a non-existent resource.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ImportExportOperationIdNotFound - The operation Id for import or export cannot be found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 ImportExportOperationInProgress - There is an import or export operation in progress on the database." + }, + "202": { + "description": "Importing the database is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Imports to a new database.": { + "$ref": "./examples/ImportNewDatabase.json" + }, + "Imports to a new database, using private link for the SQL server and storage account.": { + "$ref": "./examples/ImportNewDatabaseWithNetworkIsolation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/checkNameAvailability": { + "post": { + "tags": [ + "Servers" + ], + "description": "Determines whether a resource can be created with the specified name.", + "operationId": "Servers_CheckNameAvailability", + "parameters": [ + { + "name": "parameters", + "in": "body", + "description": "The name availability request parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityRequest" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully completed the availability check.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResponse" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidNameAvailabilityRequest - The check name availability request is invalid.\n\n * 400 UnknownNameType - Unknown resource type specified for a subscription level name availability check." + } + }, + "x-ms-examples": { + "Check for a server name that already exists": { + "$ref": "./examples/CheckNameAvailabilityServerAlreadyExists.json" + }, + "Check for a server name that is available": { + "$ref": "./examples/CheckNameAvailabilityServerAvailable.json" + }, + "Check for a server name that is invalid": { + "$ref": "./examples/CheckNameAvailabilityServerInvalid.json" + } + } + } + } + }, + "definitions": { + "ServerListResult": { + "description": "A list of servers.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Server" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ServerProperties": { + "description": "The properties of a server.", + "type": "object", + "properties": { + "administratorLogin": { + "description": "Administrator username for the server. Once created it cannot be changed.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "administratorLoginPassword": { + "description": "The administrator login password (required for server creation).", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "version": { + "description": "The version of the server.", + "type": "string" + }, + "state": { + "description": "The state of the server.", + "type": "string", + "readOnly": true + }, + "fullyQualifiedDomainName": { + "description": "The fully qualified domain name of the server.", + "type": "string", + "readOnly": true + }, + "privateEndpointConnections": { + "description": "List of private endpoint connections on a server", + "type": "array", + "items": { + "$ref": "#/definitions/ServerPrivateEndpointConnection" + }, + "readOnly": true + }, + "minimalTlsVersion": { + "description": "Minimal TLS version. Allowed values: '1.0', '1.1', '1.2'", + "type": "string" + }, + "publicNetworkAccess": { + "description": "Whether or not public endpoint access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ServerNetworkAccessFlag", + "modelAsString": true + } + }, + "workspaceFeature": { + "description": "Whether or not existing server has a workspace created and if it allows connection from workspace", + "enum": [ + "Connected", + "Disconnected" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ServerWorkspaceFeature", + "modelAsString": true + } + }, + "primaryUserAssignedIdentityId": { + "description": "The resource id of a user assigned identity to be used by default.", + "type": "string" + }, + "federatedClientId": { + "format": "uuid", + "description": "The Client id used for cross tenant CMK scenario", + "type": "string" + }, + "keyId": { + "description": "A CMK URI of the key to use for encryption.", + "type": "string" + }, + "administrators": { + "$ref": "#/definitions/ServerExternalAdministrator", + "description": "The Azure Active Directory administrator of the server.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "restrictOutboundNetworkAccess": { + "description": "Whether or not to restrict outbound network access for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ServerNetworkAccessFlag", + "modelAsString": true + } + } + } + }, + "UserIdentity": { + "description": "Azure Active Directory identity configuration for a resource.", + "type": "object", + "properties": { + "principalId": { + "format": "uuid", + "description": "The Azure Active Directory principal id.", + "type": "string", + "readOnly": true + }, + "clientId": { + "format": "uuid", + "description": "The Azure Active Directory client id.", + "type": "string", + "readOnly": true + } + } + }, + "ServerPrivateEndpointConnection": { + "description": "A private endpoint connection under a server", + "type": "object", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Private endpoint connection properties", + "readOnly": true + } + } + }, + "ServerExternalAdministrator": { + "description": "Properties of a active directory administrator.", + "type": "object", + "properties": { + "administratorType": { + "description": "Type of the sever administrator.", + "enum": [ + "ActiveDirectory" + ], + "type": "string", + "x-ms-enum": { + "name": "AdministratorType", + "modelAsString": true + } + }, + "principalType": { + "description": "Principal Type of the sever administrator.", + "enum": [ + "User", + "Group", + "Application" + ], + "type": "string", + "x-ms-enum": { + "name": "PrincipalType", + "modelAsString": true + } + }, + "login": { + "description": "Login name of the server administrator.", + "type": "string" + }, + "sid": { + "format": "uuid", + "description": "SID (object ID) of the server administrator.", + "type": "string" + }, + "tenantId": { + "format": "uuid", + "description": "Tenant ID of the administrator.", + "type": "string" + }, + "azureADOnlyAuthentication": { + "description": "Azure Active Directory only Authentication enabled.", + "type": "boolean" + } + } + }, + "PrivateEndpointConnectionProperties": { + "description": "Properties of a private endpoint connection.", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpointProperty", + "description": "Private endpoint which the connection belongs to." + }, + "groupIds": { + "description": "Group IDs.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty", + "description": "Connection state of the private endpoint connection." + }, + "provisioningState": { + "description": "State of the private endpoint connection.", + "enum": [ + "Approving", + "Ready", + "Dropping", + "Failed", + "Rejecting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PrivateEndpointProvisioningState", + "modelAsString": true + } + } + } + }, + "PrivateEndpointProperty": { + "type": "object", + "properties": { + "id": { + "description": "Resource id of the private endpoint.", + "type": "string" + } + }, + "x-ms-azure-resource": true + }, + "PrivateLinkServiceConnectionStateProperty": { + "required": [ + "status", + "description" + ], + "type": "object", + "properties": { + "status": { + "description": "The private link service connection status.", + "enum": [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStateStatus", + "modelAsString": true + } + }, + "description": { + "description": "The private link service connection description.", + "type": "string" + }, + "actionsRequired": { + "description": "The actions required for private link service connection.", + "enum": [ + "None" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStateActionsRequire", + "modelAsString": true + } + } + } + }, + "Server": { + "description": "An Azure SQL Database server.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "identity": { + "$ref": "../../../common/v2/types.json#/definitions/ResourceIdentity", + "description": "The Azure Active Directory identity of the server.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "kind": { + "description": "Kind of sql server. This is metadata used for the Azure portal experience.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/ServerProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ServerUpdate": { + "description": "An update request for an Azure SQL Database server.", + "type": "object", + "properties": { + "identity": { + "$ref": "../../../common/v2/types.json#/definitions/ResourceIdentity", + "description": "Server identity" + }, + "properties": { + "$ref": "#/definitions/ServerProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ImportNewDatabaseDefinition": { + "description": "Contains the information necessary to perform import operation for new database.", + "required": [ + "storageKeyType", + "storageKey", + "storageUri", + "administratorLogin", + "administratorLoginPassword" + ], + "type": "object", + "properties": { + "databaseName": { + "description": "Name of the import database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "edition": { + "description": "Edition of the import database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "serviceObjectiveName": { + "description": "Service level objective name of the import database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "maxSizeBytes": { + "description": "Max size in bytes for the import database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "storageKeyType": { + "description": "Storage key type.", + "enum": [ + "SharedAccessKey", + "StorageAccessKey" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageKeyType", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "storageKey": { + "description": "Storage key.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "storageUri": { + "description": "Storage Uri.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLogin": { + "description": "Administrator login name.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLoginPassword": { + "description": "Administrator login password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "authenticationType": { + "description": "Authentication type.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "networkIsolation": { + "$ref": "#/definitions/NetworkIsolationSettings", + "description": "Optional resource information to enable network isolation for request.", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "NetworkIsolationSettings": { + "description": "Contains the ARM resources for which to create private endpoint connection.", + "type": "object", + "properties": { + "storageAccountResourceId": { + "description": "The resource id for the storage account used to store BACPAC file. If set, private endpoint connection will be created for the storage account. Must match storage account used for StorageUri parameter.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "sqlServerResourceId": { + "description": "The resource id for the SQL server which is the target of this request. If set, private endpoint connection will be created for the SQL server. Must match server which is target of the operation.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "ImportExportOperationResultProperties": { + "description": "Contains the operation result properties for import/export operation.", + "type": "object", + "properties": { + "requestId": { + "format": "uuid", + "description": "Request Id.", + "type": "string", + "readOnly": true + }, + "requestType": { + "description": "Request type.", + "type": "string", + "readOnly": true + }, + "queuedTime": { + "description": "Queued time.", + "type": "string", + "readOnly": true + }, + "lastModifiedTime": { + "description": "Last modified time.", + "type": "string", + "readOnly": true + }, + "blobUri": { + "description": "Blob Uri.", + "type": "string", + "readOnly": true + }, + "serverName": { + "description": "Server name.", + "type": "string", + "readOnly": true + }, + "databaseName": { + "description": "Database name.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Operation status.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "Error message.", + "type": "string", + "readOnly": true + }, + "privateEndpointConnections": { + "description": "Gets the status of private endpoints associated with this request.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionRequestStatus" + }, + "readOnly": true + } + } + }, + "PrivateEndpointConnectionRequestStatus": { + "description": "Contains the private endpoint connection requests status.", + "type": "object", + "properties": { + "privateLinkServiceId": { + "description": "Resource id for which the private endpoint is created.", + "type": "string", + "readOnly": true + }, + "privateEndpointConnectionName": { + "description": "The connection name for the private endpoint.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of this private endpoint connection.", + "type": "string", + "readOnly": true + } + } + }, + "ImportExportOperationResult": { + "description": "An ImportExport operation result resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ImportExportOperationResultProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "CheckNameAvailabilityRequest": { + "description": "A request to check whether the specified name for a resource is available.", + "required": [ + "name", + "type" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "type": { + "enum": [ + "Microsoft.Sql/servers" + ], + "type": "string", + "x-ms-enum": { + "name": "CheckNameAvailabilityResourceType", + "modelAsString": false + } + } + } + }, + "CheckNameAvailabilityResponse": { + "description": "The result of a name availability check.", + "type": "object", + "properties": { + "name": { + "description": "The name whose availability was checked.", + "type": "string", + "readOnly": true + }, + "available": { + "description": "True if the name is available, otherwise false.", + "type": "boolean", + "readOnly": true + }, + "reason": { + "description": "The reason code explaining why the name is unavailable. Will be undefined if the name is available.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CheckNameAvailabilityReason", + "modelAsString": false + } + }, + "message": { + "description": "A message explaining why the name is unavailable. Will be undefined if the name is available.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/SqlAgent.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/SqlAgent.json new file mode 100644 index 000000000000..038fc0b959cd --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/SqlAgent.json @@ -0,0 +1,157 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/sqlAgent/current": { + "get": { + "tags": [ + "SqlAgent" + ], + "description": "Gets current instance sql agent configuration.", + "operationId": "SqlAgent_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved current sql agent configuration.", + "schema": { + "$ref": "#/definitions/SqlAgentConfiguration" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SqlAgentManagedServerNotFound - User tried to configure sql agent of unknown managed instance." + } + }, + "x-ms-examples": { + "Gets current instance sql agent configuration.": { + "$ref": "./examples/SqlAgentConfigurationGet.json" + } + } + }, + "put": { + "tags": [ + "SqlAgent" + ], + "description": "Puts new sql agent configuration to instance.", + "operationId": "SqlAgent_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlAgentConfiguration" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully put sql agent configuration", + "schema": { + "$ref": "#/definitions/SqlAgentConfiguration" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SqlAgentManagedServerNotFound - User tried to configure sql agent of unknown managed instance." + } + }, + "x-ms-examples": { + "Puts new sql agent configuration to instance.": { + "$ref": "./examples/SqlAgentConfigurationPut.json" + } + } + } + } + }, + "definitions": { + "SqlAgentConfigurationProperties": { + "description": "Sql agent configuration properties.", + "type": "object", + "properties": { + "state": { + "description": "The state of Sql Agent.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + } + } + }, + "SqlAgentConfiguration": { + "description": "A recoverable managed database resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlAgentConfigurationProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/SubscriptionUsages.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/SubscriptionUsages.json new file mode 100644 index 000000000000..4f579d710abf --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/SubscriptionUsages.json @@ -0,0 +1,187 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages": { + "get": { + "tags": [ + "SubscriptionUsages" + ], + "description": "Gets all subscription usage metrics in a given location.", + "operationId": "SubscriptionUsages_ListByLocation", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the subscription location usages.", + "schema": { + "$ref": "#/definitions/SubscriptionUsageListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 404 SubscriptionNotFound - The requested subscription was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List subscription usages in the given location.": { + "$ref": "./examples/SubscriptionUsageListByLocation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages/{usageName}": { + "get": { + "tags": [ + "SubscriptionUsages" + ], + "description": "Gets a subscription usage metric.", + "operationId": "SubscriptionUsages_Get", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "name": "usageName", + "in": "path", + "description": "Name of usage metric to return.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved particular subscription location usage.", + "schema": { + "$ref": "#/definitions/SubscriptionUsage" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get specific subscription usage in the given location.": { + "$ref": "./examples/SubscriptionUsageGet.json" + } + } + } + } + }, + "definitions": { + "SubscriptionUsageListResult": { + "description": "A list of subscription usage metrics in a location.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionUsage" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SubscriptionUsageProperties": { + "description": "Properties of a subscription usage.", + "type": "object", + "properties": { + "displayName": { + "description": "User-readable name of the metric.", + "type": "string", + "readOnly": true + }, + "currentValue": { + "format": "double", + "description": "Current value of the metric.", + "type": "number", + "readOnly": true + }, + "limit": { + "format": "double", + "description": "Boundary value of the metric.", + "type": "number", + "readOnly": true + }, + "unit": { + "description": "Unit of the metric.", + "type": "string", + "readOnly": true + } + } + }, + "SubscriptionUsage": { + "description": "Usage Metric of a Subscription in a Location.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SubscriptionUsageProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/SyncAgents.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/SyncAgents.json new file mode 100644 index 000000000000..f1a1d99db74a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/SyncAgents.json @@ -0,0 +1,531 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}": { + "get": { + "tags": [ + "SyncAgents" + ], + "description": "Gets a sync agent.", + "operationId": "SyncAgents_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server on which the sync agent is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncAgentName", + "in": "path", + "description": "The name of the sync agent.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified sync agent.", + "schema": { + "$ref": "#/definitions/SyncAgent" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 CannotDeleteInUseSyncAgent - Cannot delete sync agent because it is used by sync member.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 409 SyncOperation_AgentAlreadyExists - The sync agent with the same name already exists.\n\n * 409 SyncOperation_AgentIdAlreadyExists - The sync agent with the same id already exists." + } + }, + "x-ms-examples": { + "Get a sync agent": { + "$ref": "./examples/SyncAgentGet.json" + } + } + }, + "put": { + "tags": [ + "SyncAgents" + ], + "description": "Creates or updates a sync agent.", + "operationId": "SyncAgents_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server on which the sync agent is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncAgentName", + "in": "path", + "description": "The name of the sync agent.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested sync agent resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/SyncAgent" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the sync agent.", + "schema": { + "$ref": "#/definitions/SyncAgent" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 CannotDeleteInUseSyncAgent - Cannot delete sync agent because it is used by sync member.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 409 SyncOperation_AgentAlreadyExists - The sync agent with the same name already exists.\n\n * 409 SyncOperation_AgentIdAlreadyExists - The sync agent with the same id already exists." + }, + "202": { + "description": "Creating or updating the sync agent is in progress." + }, + "201": { + "description": "Successfully created the sync agent.", + "schema": { + "$ref": "#/definitions/SyncAgent" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a new sync agent": { + "$ref": "./examples/SyncAgentCreate.json" + }, + "Update a sync agent": { + "$ref": "./examples/SyncAgentUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SyncAgents" + ], + "description": "Deletes a sync agent.", + "operationId": "SyncAgents_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server on which the sync agent is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncAgentName", + "in": "path", + "description": "The name of the sync agent.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the sync agent." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 CannotDeleteInUseSyncAgent - Cannot delete sync agent because it is used by sync member.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 409 SyncOperation_AgentAlreadyExists - The sync agent with the same name already exists.\n\n * 409 SyncOperation_AgentIdAlreadyExists - The sync agent with the same id already exists." + }, + "202": { + "description": "Deleting the sync agent is in progress." + }, + "204": { + "description": "The specified sync agent does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a sync agent": { + "$ref": "./examples/SyncAgentDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents": { + "get": { + "tags": [ + "SyncAgents" + ], + "description": "Lists sync agents in a server.", + "operationId": "SyncAgents_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server on which the sync agent is hosted.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of sync agents.", + "schema": { + "$ref": "#/definitions/SyncAgentListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 CannotDeleteInUseSyncAgent - Cannot delete sync agent because it is used by sync member.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 409 SyncOperation_AgentAlreadyExists - The sync agent with the same name already exists.\n\n * 409 SyncOperation_AgentIdAlreadyExists - The sync agent with the same id already exists." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get sync agents under a server": { + "$ref": "./examples/SyncAgentListByServer.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/generateKey": { + "post": { + "tags": [ + "SyncAgents" + ], + "description": "Generates a sync agent key.", + "operationId": "SyncAgents_GenerateKey", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server on which the sync agent is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncAgentName", + "in": "path", + "description": "The name of the sync agent.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully generate a sync agent key.", + "schema": { + "$ref": "#/definitions/SyncAgentKeyProperties" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 CannotDeleteInUseSyncAgent - Cannot delete sync agent because it is used by sync member.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 409 SyncOperation_AgentAlreadyExists - The sync agent with the same name already exists.\n\n * 409 SyncOperation_AgentIdAlreadyExists - The sync agent with the same id already exists." + } + }, + "x-ms-examples": { + "Generate a sync agent key": { + "$ref": "./examples/SyncAgentGenerateKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/linkedDatabases": { + "get": { + "tags": [ + "SyncAgents" + ], + "description": "Lists databases linked to a sync agent.", + "operationId": "SyncAgents_ListLinkedDatabases", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server on which the sync agent is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncAgentName", + "in": "path", + "description": "The name of the sync agent.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved sync agent linked SQL server databases.", + "schema": { + "$ref": "#/definitions/SyncAgentLinkedDatabaseListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 CannotDeleteInUseSyncAgent - Cannot delete sync agent because it is used by sync member.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 409 SyncOperation_AgentAlreadyExists - The sync agent with the same name already exists.\n\n * 409 SyncOperation_AgentIdAlreadyExists - The sync agent with the same id already exists." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get sync agent linked databases": { + "$ref": "./examples/SyncAgentGetLinkedDatabases.json" + } + } + } + } + }, + "definitions": { + "SyncAgentProperties": { + "description": "Properties of an Azure SQL Database sync agent.", + "type": "object", + "properties": { + "name": { + "description": "Name of the sync agent.", + "type": "string", + "readOnly": true + }, + "syncDatabaseId": { + "description": "ARM resource id of the sync database in the sync agent.", + "type": "string" + }, + "lastAliveTime": { + "format": "date-time", + "description": "Last alive time of the sync agent.", + "type": "string", + "readOnly": true + }, + "state": { + "description": "State of the sync agent.", + "enum": [ + "Online", + "Offline", + "NeverConnected" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SyncAgentState", + "modelAsString": true + } + }, + "isUpToDate": { + "description": "If the sync agent version is up to date.", + "type": "boolean", + "readOnly": true + }, + "expiryTime": { + "format": "date-time", + "description": "Expiration time of the sync agent version.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Version of the sync agent.", + "type": "string", + "readOnly": true + } + } + }, + "SyncAgent": { + "description": "An Azure SQL Database sync agent.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SyncAgentProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "SyncAgentListResult": { + "description": "A list of sync agents.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncAgent" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SyncAgentKeyProperties": { + "description": "Properties of an Azure SQL Database sync agent key.", + "type": "object", + "properties": { + "syncAgentKey": { + "description": "Key of sync agent.", + "type": "string", + "readOnly": true + } + } + }, + "SyncAgentLinkedDatabaseListResult": { + "description": "A list of sync agent linked databases.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncAgentLinkedDatabase" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SyncAgentLinkedDatabaseProperties": { + "description": "Properties of an Azure SQL Database sync agent linked database.", + "type": "object", + "properties": { + "databaseType": { + "description": "Type of the sync agent linked database.", + "enum": [ + "AzureSqlDatabase", + "SqlServerDatabase" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SyncMemberDbType", + "modelAsString": true + } + }, + "databaseId": { + "description": "Id of the sync agent linked database.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Description of the sync agent linked database.", + "type": "string", + "readOnly": true + }, + "serverName": { + "description": "Server name of the sync agent linked database.", + "type": "string", + "readOnly": true + }, + "databaseName": { + "description": "Database name of the sync agent linked database.", + "type": "string", + "readOnly": true + }, + "userName": { + "description": "User name of the sync agent linked database.", + "type": "string", + "readOnly": true + } + } + }, + "SyncAgentLinkedDatabase": { + "description": "An Azure SQL Database sync agent linked database.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SyncAgentLinkedDatabaseProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/SyncGroups.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/SyncGroups.json new file mode 100644 index 000000000000..1ce4659a11f6 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/SyncGroups.json @@ -0,0 +1,1065 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/syncDatabaseIds": { + "get": { + "tags": [ + "SyncGroups" + ], + "description": "Gets a collection of sync database ids.", + "operationId": "SyncGroups_ListSyncDatabaseIds", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved collection of sync database ids.", + "schema": { + "$ref": "#/definitions/SyncDatabaseIdListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a sync database ID": { + "$ref": "./examples/SyncGroupGetSyncDatabaseId.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/refreshHubSchema": { + "post": { + "tags": [ + "SyncGroups" + ], + "description": "Refreshes a hub database schema.", + "operationId": "SyncGroups_RefreshHubSchema", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully refreshed a sync hub schema." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 InvalidSyncGroup - Sync group is invalid.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded.\n\n * 400 SyncOperation_DuplicateSyncGroupDrop - The sync group is already being dropped.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_UpdateSyncGroupWhenDropping - Cannot update the sync group because it is currently being dropped.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 SyncOperation_InvalidCredential - Credential of database is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 400 SyncOperation_InvalidSyncInterval - Cannot create or update sync group because the sync interval is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SyncOperation_HubServerNotFound - Hub logical server does not exist.\n\n * 404 SyncOperation_InvalidHubDatabase - Hub database is invalid.\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 * 409 SyncOperation_DuplicateSyncGroupName - Cannot create sync group because the sync group with the same name already exists.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation." + }, + "202": { + "description": "The sync hub schema refresh operation is on going." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Refresh a hub database schema.": { + "$ref": "./examples/SyncGroupRefreshHubSchema.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/hubSchemas": { + "get": { + "tags": [ + "SyncGroups" + ], + "description": "Gets a collection of hub database schemas.", + "operationId": "SyncGroups_ListHubSchemas", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully get a sync group hub database schema.", + "schema": { + "$ref": "#/definitions/SyncFullSchemaPropertiesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 InvalidSyncGroup - Sync group is invalid.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded.\n\n * 400 SyncOperation_DuplicateSyncGroupDrop - The sync group is already being dropped.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_UpdateSyncGroupWhenDropping - Cannot update the sync group because it is currently being dropped.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 SyncOperation_InvalidCredential - Credential of database is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 400 SyncOperation_InvalidSyncInterval - Cannot create or update sync group because the sync interval is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SyncOperation_HubServerNotFound - Hub logical server does not exist.\n\n * 404 SyncOperation_InvalidHubDatabase - Hub database is invalid.\n\n * 409 SyncOperation_DuplicateSyncGroupName - Cannot create sync group because the sync group with the same name already exists." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a hub database schema.": { + "$ref": "./examples/SyncGroupGetHubSchema.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/logs": { + "get": { + "tags": [ + "SyncGroups" + ], + "description": "Gets a collection of sync group logs.", + "operationId": "SyncGroups_ListLogs", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "name": "startTime", + "in": "query", + "description": "Get logs generated after this time.", + "required": true, + "type": "string" + }, + { + "name": "endTime", + "in": "query", + "description": "Get logs generated before this time.", + "required": true, + "type": "string" + }, + { + "name": "type", + "in": "query", + "description": "The types of logs to retrieve.", + "required": true, + "type": "string", + "enum": [ + "All", + "Error", + "Warning", + "Success" + ] + }, + { + "name": "continuationToken", + "in": "query", + "description": "The continuation token for this operation.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved sync group logs.", + "schema": { + "$ref": "#/definitions/SyncGroupLogListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 InvalidSyncGroup - Sync group is invalid.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded.\n\n * 400 SyncOperation_DuplicateSyncGroupDrop - The sync group is already being dropped.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_UpdateSyncGroupWhenDropping - Cannot update the sync group because it is currently being dropped.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 SyncOperation_InvalidCredential - Credential of database is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 400 SyncOperation_InvalidSyncInterval - Cannot create or update sync group because the sync interval is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SyncOperation_HubServerNotFound - Hub logical server does not exist.\n\n * 404 SyncOperation_InvalidHubDatabase - Hub database is invalid.\n\n * 409 SyncOperation_DuplicateSyncGroupName - Cannot create sync group because the sync group with the same name already exists." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get sync group logs": { + "$ref": "./examples/SyncGroupGetLog.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/cancelSync": { + "post": { + "tags": [ + "SyncGroups" + ], + "description": "Cancels a sync group synchronization.", + "operationId": "SyncGroups_CancelSync", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully cancel a sync group synchronization." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 InvalidSyncGroup - Sync group is invalid.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded.\n\n * 400 SyncOperation_DuplicateSyncGroupDrop - The sync group is already being dropped.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_UpdateSyncGroupWhenDropping - Cannot update the sync group because it is currently being dropped.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 SyncOperation_InvalidCredential - Credential of database is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 400 SyncOperation_InvalidSyncInterval - Cannot create or update sync group because the sync interval is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SyncOperation_HubServerNotFound - Hub logical server does not exist.\n\n * 404 SyncOperation_InvalidHubDatabase - Hub database is invalid.\n\n * 409 SyncOperation_DuplicateSyncGroupName - Cannot create sync group because the sync group with the same name already exists." + } + }, + "x-ms-examples": { + "Cancel a sync group synchronization": { + "$ref": "./examples/SyncGroupCancelSync.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/triggerSync": { + "post": { + "tags": [ + "SyncGroups" + ], + "description": "Triggers a sync group synchronization.", + "operationId": "SyncGroups_TriggerSync", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully triggered a sync group synchronization." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 InvalidSyncGroup - Sync group is invalid.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded.\n\n * 400 SyncOperation_DuplicateSyncGroupDrop - The sync group is already being dropped.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_UpdateSyncGroupWhenDropping - Cannot update the sync group because it is currently being dropped.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 SyncOperation_InvalidCredential - Credential of database is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 400 SyncOperation_InvalidSyncInterval - Cannot create or update sync group because the sync interval is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SyncOperation_HubServerNotFound - Hub logical server does not exist.\n\n * 404 SyncOperation_InvalidHubDatabase - Hub database is invalid.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 SyncOperation_DuplicateSyncGroupName - Cannot create sync group because the sync group with the same name already exists.\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." + } + }, + "x-ms-examples": { + "Trigger a sync group synchronization.": { + "$ref": "./examples/SyncGroupTriggerSync.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}": { + "get": { + "tags": [ + "SyncGroups" + ], + "description": "Gets a sync group.", + "operationId": "SyncGroups_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified sync group.", + "schema": { + "$ref": "#/definitions/SyncGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 InvalidSyncGroup - Sync group is invalid.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded.\n\n * 400 SyncOperation_DuplicateSyncGroupDrop - The sync group is already being dropped.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_UpdateSyncGroupWhenDropping - Cannot update the sync group because it is currently being dropped.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 SyncOperation_InvalidCredential - Credential of database is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 400 SyncOperation_InvalidSyncInterval - Cannot create or update sync group because the sync interval is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SyncOperation_HubServerNotFound - Hub logical server does not exist.\n\n * 404 SyncOperation_InvalidHubDatabase - Hub database is invalid.\n\n * 409 SyncOperation_DuplicateSyncGroupName - Cannot create sync group because the sync group with the same name already exists." + } + }, + "x-ms-examples": { + "Get a sync group": { + "$ref": "./examples/SyncGroupGet.json" + } + } + }, + "put": { + "tags": [ + "SyncGroups" + ], + "description": "Creates or updates a sync group.", + "operationId": "SyncGroups_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested sync group resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/SyncGroup" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the sync group.", + "schema": { + "$ref": "#/definitions/SyncGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 InvalidSyncGroup - Sync group is invalid.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded.\n\n * 400 SyncOperation_DuplicateSyncGroupDrop - The sync group is already being dropped.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_UpdateSyncGroupWhenDropping - Cannot update the sync group because it is currently being dropped.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 SyncOperation_InvalidCredential - Credential of database is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 400 SyncOperation_InvalidSyncInterval - Cannot create or update sync group because the sync interval is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SyncOperation_HubServerNotFound - Hub logical server does not exist.\n\n * 404 SyncOperation_InvalidHubDatabase - Hub database is invalid.\n\n * 409 SyncOperation_DuplicateSyncGroupName - Cannot create sync group because the sync group with the same name already exists." + }, + "202": { + "description": "Creating or updating the sync group is in progress." + }, + "201": { + "description": "Successfully created the sync group.", + "schema": { + "$ref": "#/definitions/SyncGroup" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a sync group": { + "$ref": "./examples/SyncGroupCreate.json" + }, + "Update a sync group": { + "$ref": "./examples/SyncGroupUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SyncGroups" + ], + "description": "Deletes a sync group.", + "operationId": "SyncGroups_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the sync group." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 InvalidSyncGroup - Sync group is invalid.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded.\n\n * 400 SyncOperation_DuplicateSyncGroupDrop - The sync group is already being dropped.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_UpdateSyncGroupWhenDropping - Cannot update the sync group because it is currently being dropped.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 SyncOperation_InvalidCredential - Credential of database is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 400 SyncOperation_InvalidSyncInterval - Cannot create or update sync group because the sync interval is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SyncOperation_HubServerNotFound - Hub logical server does not exist.\n\n * 404 SyncOperation_InvalidHubDatabase - Hub database is invalid.\n\n * 409 SyncOperation_DuplicateSyncGroupName - Cannot create sync group because the sync group with the same name already exists." + }, + "202": { + "description": "Deleting the sync group is in progress." + }, + "204": { + "description": "The specified sync group does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a sync group": { + "$ref": "./examples/SyncGroupDelete.json" + } + } + }, + "patch": { + "tags": [ + "SyncGroups" + ], + "description": "Updates a sync group.", + "operationId": "SyncGroups_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested sync group resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/SyncGroup" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the sync group.", + "schema": { + "$ref": "#/definitions/SyncGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 InvalidSyncGroup - Sync group is invalid.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded.\n\n * 400 SyncOperation_DuplicateSyncGroupDrop - The sync group is already being dropped.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_UpdateSyncGroupWhenDropping - Cannot update the sync group because it is currently being dropped.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 SyncOperation_InvalidCredential - Credential of database is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 400 SyncOperation_InvalidSyncInterval - Cannot create or update sync group because the sync interval is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SyncOperation_HubServerNotFound - Hub logical server does not exist.\n\n * 404 SyncOperation_InvalidHubDatabase - Hub database is invalid.\n\n * 409 SyncOperation_DuplicateSyncGroupName - Cannot create sync group because the sync group with the same name already exists." + }, + "202": { + "description": "Updating the sync group is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a sync group": { + "$ref": "./examples/SyncGroupPatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups": { + "get": { + "tags": [ + "SyncGroups" + ], + "description": "Lists sync groups under a hub database.", + "operationId": "SyncGroups_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of sync groups.", + "schema": { + "$ref": "#/definitions/SyncGroupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 InvalidSyncGroup - Sync group is invalid.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded.\n\n * 400 SyncOperation_DuplicateSyncGroupDrop - The sync group is already being dropped.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_UpdateSyncGroupWhenDropping - Cannot update the sync group because it is currently being dropped.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 SyncOperation_InvalidCredential - Credential of database is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 400 SyncOperation_InvalidSyncInterval - Cannot create or update sync group because the sync interval is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SyncOperation_HubServerNotFound - Hub logical server does not exist.\n\n * 404 SyncOperation_InvalidHubDatabase - Hub database is invalid.\n\n * 409 SyncOperation_DuplicateSyncGroupName - Cannot create sync group because the sync group with the same name already exists." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List sync groups under a given database": { + "$ref": "./examples/SyncGroupListByDatabase.json" + } + } + } + } + }, + "definitions": { + "SyncDatabaseIdListResult": { + "description": "A list of sync database ID properties.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncDatabaseIdProperties" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SyncDatabaseIdProperties": { + "description": "Properties of the sync database id.", + "type": "object", + "properties": { + "id": { + "description": "ARM resource id of sync database.", + "type": "string", + "readOnly": true + } + } + }, + "SyncFullSchemaPropertiesListResult": { + "description": "A list of sync schema properties.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncFullSchemaProperties" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SyncFullSchemaProperties": { + "description": "Properties of the database full schema.", + "type": "object", + "properties": { + "tables": { + "description": "List of tables in the database full schema.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncFullSchemaTable" + }, + "readOnly": true + }, + "lastUpdateTime": { + "format": "date-time", + "description": "Last update time of the database schema.", + "type": "string", + "readOnly": true + } + } + }, + "SyncFullSchemaTable": { + "description": "Properties of the table in the database full schema.", + "type": "object", + "properties": { + "columns": { + "description": "List of columns in the table of database full schema.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncFullSchemaTableColumn" + }, + "readOnly": true + }, + "errorId": { + "description": "Error id of the table.", + "type": "string", + "readOnly": true + }, + "hasError": { + "description": "If there is error in the table.", + "type": "boolean", + "readOnly": true + }, + "name": { + "description": "Name of the table.", + "type": "string", + "readOnly": true + }, + "quotedName": { + "description": "Quoted name of the table.", + "type": "string", + "readOnly": true + } + } + }, + "SyncFullSchemaTableColumn": { + "description": "Properties of the column in the table of database full schema.", + "type": "object", + "properties": { + "dataSize": { + "description": "Data size of the column.", + "type": "string", + "readOnly": true + }, + "dataType": { + "description": "Data type of the column.", + "type": "string", + "readOnly": true + }, + "errorId": { + "description": "Error id of the column.", + "type": "string", + "readOnly": true + }, + "hasError": { + "description": "If there is error in the table.", + "type": "boolean", + "readOnly": true + }, + "isPrimaryKey": { + "description": "If it is the primary key of the table.", + "type": "boolean", + "readOnly": true + }, + "name": { + "description": "Name of the column.", + "type": "string", + "readOnly": true + }, + "quotedName": { + "description": "Quoted name of the column.", + "type": "string", + "readOnly": true + } + } + }, + "SyncGroupLogListResult": { + "description": "A list of sync group log properties.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncGroupLogProperties" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SyncGroupLogProperties": { + "description": "Properties of an Azure SQL Database sync group log.", + "type": "object", + "properties": { + "timestamp": { + "format": "date-time", + "description": "Timestamp of the sync group log.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of the sync group log.", + "enum": [ + "All", + "Error", + "Warning", + "Success" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SyncGroupLogType", + "modelAsString": true + } + }, + "source": { + "description": "Source of the sync group log.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Details of the sync group log.", + "type": "string", + "readOnly": true + }, + "tracingId": { + "format": "uuid", + "description": "TracingId of the sync group log.", + "type": "string", + "readOnly": true + }, + "operationStatus": { + "description": "OperationStatus of the sync group log.", + "type": "string", + "readOnly": true + } + } + }, + "SyncGroupProperties": { + "description": "Properties of a sync group.", + "type": "object", + "properties": { + "interval": { + "format": "int32", + "description": "Sync interval of the sync group.", + "type": "integer" + }, + "lastSyncTime": { + "format": "date-time", + "description": "Last sync time of the sync group.", + "type": "string", + "readOnly": true + }, + "conflictResolutionPolicy": { + "description": "Conflict resolution policy of the sync group.", + "enum": [ + "HubWin", + "MemberWin" + ], + "type": "string", + "x-ms-enum": { + "name": "SyncConflictResolutionPolicy", + "modelAsString": true + } + }, + "syncDatabaseId": { + "description": "ARM resource id of the sync database in the sync group.", + "type": "string" + }, + "hubDatabaseUserName": { + "description": "User name for the sync group hub database credential.", + "type": "string" + }, + "hubDatabasePassword": { + "description": "Password for the sync group hub database credential.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "syncState": { + "description": "Sync state of the sync group.", + "enum": [ + "NotReady", + "Error", + "Warning", + "Progressing", + "Good" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SyncGroupState", + "modelAsString": true + } + }, + "schema": { + "$ref": "#/definitions/SyncGroupSchema", + "description": "Sync schema of the sync group." + }, + "enableConflictLogging": { + "description": "If conflict logging is enabled.", + "type": "boolean" + }, + "conflictLoggingRetentionInDays": { + "format": "int32", + "description": "Conflict logging retention period.", + "type": "integer" + }, + "usePrivateLinkConnection": { + "description": "If use private link connection is enabled.", + "type": "boolean" + }, + "privateEndpointName": { + "description": "Private endpoint name of the sync group if use private link connection is enabled.", + "type": "string", + "readOnly": true + } + } + }, + "SyncGroupSchema": { + "description": "Properties of sync group schema.", + "type": "object", + "properties": { + "tables": { + "description": "List of tables in sync group schema.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncGroupSchemaTable" + } + }, + "masterSyncMemberName": { + "description": "Name of master sync member where the schema is from.", + "type": "string" + } + } + }, + "SyncGroupSchemaTable": { + "description": "Properties of table in sync group schema.", + "type": "object", + "properties": { + "columns": { + "description": "List of columns in sync group schema.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncGroupSchemaTableColumn" + } + }, + "quotedName": { + "description": "Quoted name of sync group schema table.", + "type": "string" + } + } + }, + "SyncGroupSchemaTableColumn": { + "description": "Properties of column in sync group table.", + "type": "object", + "properties": { + "quotedName": { + "description": "Quoted name of sync group table column.", + "type": "string" + }, + "dataSize": { + "description": "Data size of the column.", + "type": "string" + }, + "dataType": { + "description": "Data type of the column.", + "type": "string" + } + } + }, + "SyncGroup": { + "description": "An Azure SQL Database sync group.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "sku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "The name and capacity of the SKU." + }, + "properties": { + "$ref": "#/definitions/SyncGroupProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "SyncGroupListResult": { + "description": "A list of sync groups.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncGroup" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/SyncMembers.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/SyncMembers.json new file mode 100644 index 000000000000..911042f6fff2 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/SyncMembers.json @@ -0,0 +1,747 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}": { + "get": { + "tags": [ + "SyncMembers" + ], + "description": "Gets a sync member.", + "operationId": "SyncMembers_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group on which the sync member is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncMemberName", + "in": "path", + "description": "The name of the sync member.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified sync member.", + "schema": { + "$ref": "#/definitions/SyncMember" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMember - Sync member is invalid.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 CannotCreateSyncMemberDueToQuotaExceeded - Cannot create sync member due to quota exceeded.\n\n * 400 SyncOperation_DuplicateSyncMemberDrop - The sync member is already being dropped.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 SyncOperation_InvalidCredential - Credential of database is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SyncOperation_HubServerNotFound - Hub logical server does not exist.\n\n * 404 SyncOperation_InvalidHubDatabase - Hub database is invalid.\n\n * 409 SyncOperation_DuplicateSyncMemberName - Cannot create sync member because the sync member with the same name already exists." + } + }, + "x-ms-examples": { + "Get a sync member": { + "$ref": "./examples/SyncMemberGet.json" + } + } + }, + "put": { + "tags": [ + "SyncMembers" + ], + "description": "Creates or updates a sync member.", + "operationId": "SyncMembers_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group on which the sync member is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncMemberName", + "in": "path", + "description": "The name of the sync member.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested sync member resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/SyncMember" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the sync member.", + "schema": { + "$ref": "#/definitions/SyncMember" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMember - Sync member is invalid.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 CannotCreateSyncMemberDueToQuotaExceeded - Cannot create sync member due to quota exceeded.\n\n * 400 SyncOperation_DuplicateSyncMemberDrop - The sync member is already being dropped.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 SyncOperation_InvalidCredential - Credential of database is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SyncOperation_HubServerNotFound - Hub logical server does not exist.\n\n * 404 SyncOperation_InvalidHubDatabase - Hub database is invalid.\n\n * 409 SyncOperation_DuplicateSyncMemberName - Cannot create sync member because the sync member with the same name already exists." + }, + "202": { + "description": "Creating or updating the sync member is in progress." + }, + "201": { + "description": "Successfully created the sync member.", + "schema": { + "$ref": "#/definitions/SyncMember" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a new sync member": { + "$ref": "./examples/SyncMemberCreate.json" + }, + "Update a sync member": { + "$ref": "./examples/SyncMemberUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SyncMembers" + ], + "description": "Deletes a sync member.", + "operationId": "SyncMembers_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group on which the sync member is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncMemberName", + "in": "path", + "description": "The name of the sync member.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the sync member." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMember - Sync member is invalid.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 CannotCreateSyncMemberDueToQuotaExceeded - Cannot create sync member due to quota exceeded.\n\n * 400 SyncOperation_DuplicateSyncMemberDrop - The sync member is already being dropped.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 SyncOperation_InvalidCredential - Credential of database is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SyncOperation_HubServerNotFound - Hub logical server does not exist.\n\n * 404 SyncOperation_InvalidHubDatabase - Hub database is invalid.\n\n * 409 SyncOperation_DuplicateSyncMemberName - Cannot create sync member because the sync member with the same name already exists." + }, + "202": { + "description": "Deleting the sync member is in progress." + }, + "204": { + "description": "The specified sync member does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a sync member": { + "$ref": "./examples/SyncMemberDelete.json" + } + } + }, + "patch": { + "tags": [ + "SyncMembers" + ], + "description": "Updates an existing sync member.", + "operationId": "SyncMembers_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group on which the sync member is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncMemberName", + "in": "path", + "description": "The name of the sync member.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested sync member resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/SyncMember" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the sync member.", + "schema": { + "$ref": "#/definitions/SyncMember" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMember - Sync member is invalid.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 CannotCreateSyncMemberDueToQuotaExceeded - Cannot create sync member due to quota exceeded.\n\n * 400 SyncOperation_DuplicateSyncMemberDrop - The sync member is already being dropped.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 SyncOperation_InvalidCredential - Credential of database is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SyncOperation_HubServerNotFound - Hub logical server does not exist.\n\n * 404 SyncOperation_InvalidHubDatabase - Hub database is invalid.\n\n * 409 SyncOperation_DuplicateSyncMemberName - Cannot create sync member because the sync member with the same name already exists." + }, + "202": { + "description": "Updating the sync member is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update an existing sync member": { + "$ref": "./examples/SyncMemberPatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers": { + "get": { + "tags": [ + "SyncMembers" + ], + "description": "Lists sync members in the given sync group.", + "operationId": "SyncMembers_ListBySyncGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of sync members.", + "schema": { + "$ref": "#/definitions/SyncMemberListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMember - Sync member is invalid.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 CannotCreateSyncMemberDueToQuotaExceeded - Cannot create sync member due to quota exceeded.\n\n * 400 SyncOperation_DuplicateSyncMemberDrop - The sync member is already being dropped.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 SyncOperation_InvalidCredential - Credential of database is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SyncOperation_HubServerNotFound - Hub logical server does not exist.\n\n * 404 SyncOperation_InvalidHubDatabase - Hub database is invalid.\n\n * 409 SyncOperation_DuplicateSyncMemberName - Cannot create sync member because the sync member with the same name already exists." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List sync members under a sync group": { + "$ref": "./examples/SyncMemberListBySyncGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/schemas": { + "get": { + "tags": [ + "SyncMembers" + ], + "description": "Gets a sync member database schema.", + "operationId": "SyncMembers_ListMemberSchemas", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group on which the sync member is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncMemberName", + "in": "path", + "description": "The name of the sync member.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully get a sync member schema.", + "schema": { + "$ref": "#/definitions/SyncFullSchemaPropertiesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMember - Sync member is invalid.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 CannotCreateSyncMemberDueToQuotaExceeded - Cannot create sync member due to quota exceeded.\n\n * 400 SyncOperation_DuplicateSyncMemberDrop - The sync member is already being dropped.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 SyncOperation_InvalidCredential - Credential of database is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SyncOperation_HubServerNotFound - Hub logical server does not exist.\n\n * 404 SyncOperation_InvalidHubDatabase - Hub database is invalid.\n\n * 409 SyncOperation_DuplicateSyncMemberName - Cannot create sync member because the sync member with the same name already exists." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a sync member schema": { + "$ref": "./examples/SyncMemberGetSchema.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/refreshSchema": { + "post": { + "tags": [ + "SyncMembers" + ], + "description": "Refreshes a sync member database schema.", + "operationId": "SyncMembers_RefreshMemberSchema", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group on which the sync member is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncMemberName", + "in": "path", + "description": "The name of the sync member.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully refreshed a sync member schema." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.\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 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 SyncOperation_GenericFailure - Failed to perform data sync operation.\n\n * 400 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMember - Sync member is invalid.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 CannotCreateSyncMemberDueToQuotaExceeded - Cannot create sync member due to quota exceeded.\n\n * 400 SyncOperation_DuplicateSyncMemberDrop - The sync member is already being dropped.\n\n * 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.\n\n * 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.\n\n * 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.\n\n * 400 SyncOperation_InvalidCredential - Credential of database is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SyncOperation_HubServerNotFound - Hub logical server does not exist.\n\n * 404 SyncOperation_InvalidHubDatabase - Hub database is invalid.\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 * 409 SyncOperation_DuplicateSyncMemberName - Cannot create sync member because the sync member with the same name already exists.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation." + }, + "202": { + "description": "The sync member schema refresh operation is on going." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Refresh a sync member database schema": { + "$ref": "./examples/SyncMemberRefreshSchema.json" + } + } + } + } + }, + "definitions": { + "SyncMemberProperties": { + "description": "Properties of a sync member.", + "type": "object", + "properties": { + "databaseType": { + "description": "Database type of the sync member.", + "enum": [ + "AzureSqlDatabase", + "SqlServerDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "SyncMemberDbType", + "modelAsString": true + } + }, + "syncAgentId": { + "description": "ARM resource id of the sync agent in the sync member.", + "type": "string" + }, + "sqlServerDatabaseId": { + "format": "uuid", + "description": "SQL Server database id of the sync member.", + "type": "string" + }, + "syncMemberAzureDatabaseResourceId": { + "description": "ARM resource id of the sync member logical database, for sync members in Azure.", + "type": "string" + }, + "usePrivateLinkConnection": { + "description": "Whether to use private link connection.", + "type": "boolean" + }, + "privateEndpointName": { + "description": "Private endpoint name of the sync member if use private link connection is enabled, for sync members in Azure.", + "type": "string", + "readOnly": true + }, + "serverName": { + "description": "Server name of the member database in the sync member", + "type": "string" + }, + "databaseName": { + "description": "Database name of the member database in the sync member.", + "type": "string" + }, + "userName": { + "description": "User name of the member database in the sync member.", + "type": "string" + }, + "password": { + "description": "Password of the member database in the sync member.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "syncDirection": { + "description": "Sync direction of the sync member.", + "enum": [ + "Bidirectional", + "OneWayMemberToHub", + "OneWayHubToMember" + ], + "type": "string", + "x-ms-enum": { + "name": "SyncDirection", + "modelAsString": true + } + }, + "syncState": { + "description": "Sync state of the sync member.", + "enum": [ + "SyncInProgress", + "SyncSucceeded", + "SyncFailed", + "DisabledTombstoneCleanup", + "DisabledBackupRestore", + "SyncSucceededWithWarnings", + "SyncCancelling", + "SyncCancelled", + "UnProvisioned", + "Provisioning", + "Provisioned", + "ProvisionFailed", + "DeProvisioning", + "DeProvisioned", + "DeProvisionFailed", + "Reprovisioning", + "ReprovisionFailed", + "UnReprovisioned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SyncMemberState", + "modelAsString": true + } + } + } + }, + "SyncMember": { + "description": "An Azure SQL Database sync member.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SyncMemberProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "SyncMemberListResult": { + "description": "A list of Azure SQL Database sync members.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncMember" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SyncFullSchemaPropertiesListResult": { + "description": "A list of sync schema properties.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncFullSchemaProperties" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SyncFullSchemaProperties": { + "description": "Properties of the database full schema.", + "type": "object", + "properties": { + "tables": { + "description": "List of tables in the database full schema.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncFullSchemaTable" + }, + "readOnly": true + }, + "lastUpdateTime": { + "format": "date-time", + "description": "Last update time of the database schema.", + "type": "string", + "readOnly": true + } + } + }, + "SyncFullSchemaTable": { + "description": "Properties of the table in the database full schema.", + "type": "object", + "properties": { + "columns": { + "description": "List of columns in the table of database full schema.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncFullSchemaTableColumn" + }, + "readOnly": true + }, + "errorId": { + "description": "Error id of the table.", + "type": "string", + "readOnly": true + }, + "hasError": { + "description": "If there is error in the table.", + "type": "boolean", + "readOnly": true + }, + "name": { + "description": "Name of the table.", + "type": "string", + "readOnly": true + }, + "quotedName": { + "description": "Quoted name of the table.", + "type": "string", + "readOnly": true + } + } + }, + "SyncFullSchemaTableColumn": { + "description": "Properties of the column in the table of database full schema.", + "type": "object", + "properties": { + "dataSize": { + "description": "Data size of the column.", + "type": "string", + "readOnly": true + }, + "dataType": { + "description": "Data type of the column.", + "type": "string", + "readOnly": true + }, + "errorId": { + "description": "Error id of the column.", + "type": "string", + "readOnly": true + }, + "hasError": { + "description": "If there is error in the table.", + "type": "boolean", + "readOnly": true + }, + "isPrimaryKey": { + "description": "If it is the primary key of the table.", + "type": "boolean", + "readOnly": true + }, + "name": { + "description": "Name of the column.", + "type": "string", + "readOnly": true + }, + "quotedName": { + "description": "Quoted name of the column.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/TdeCertificates.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/TdeCertificates.json new file mode 100644 index 000000000000..5eedcf80fc66 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/TdeCertificates.json @@ -0,0 +1,133 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/tdeCertificates": { + "post": { + "tags": [ + "TdeCertificates" + ], + "description": "Creates a TDE certificate for a given server.", + "operationId": "TdeCertificates_Create", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested TDE certificate to be created or updated.", + "required": true, + "schema": { + "$ref": "#/definitions/TdeCertificate" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created the TDE certificate." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MissingPrivateBlob - The private blob is missing.\n\n * 400 InvalidPrivateBlobOrPassword - Invalid private blob or password specified.\n\n * 400 PrivateBlobWithoutPrivateKey - The provided blob does not contain private key.\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Upload a TDE certificate": { + "$ref": "./examples/SqlTdeCertificateCreate.json" + } + } + } + } + }, + "definitions": { + "TdeCertificateProperties": { + "description": "Properties of a TDE certificate.", + "required": [ + "privateBlob" + ], + "type": "object", + "properties": { + "privateBlob": { + "description": "The base64 encoded certificate private blob.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "certPassword": { + "description": "The certificate password.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + } + } + }, + "TdeCertificate": { + "description": "A TDE certificate that can be uploaded into a server.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TdeCertificateProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/TimeZones.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/TimeZones.json new file mode 100644 index 000000000000..b70ff67cdde8 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/TimeZones.json @@ -0,0 +1,172 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/timeZones": { + "get": { + "tags": [ + "TimeZones" + ], + "description": "Gets a list of managed instance time zones by location.", + "operationId": "TimeZones_ListByLocation", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of time zones.", + "schema": { + "$ref": "#/definitions/TimeZoneListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 InvalidDnsZone - The operation has failed because you are attempting to deploy managed instance as a geo-replication secondary to the subnet {0} in which there already exists a managed instance. Deploying managed instance as a geo-replication secondary is supported only in cases when managed instance is the first instance deployed in a subnet. Consider deploying managed instance as a geo-replication secondary to a different subnet in which there are no existing managed instances, or if deploying to a subnet with existing managed instance disable the geo-replication option.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot perform creation/scaling of the managed instance as there are not enough available IP addresses in the subnet for performing the operation.\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 UpdateManagedServerWithMaintenanceWindowNotAllowed - Update of Managed Instance with maintenance window settings is not allowed.\n\n * 400 VnetPrepareNIPFailed - User tried to prepare subnet that has a conflict with NetworkIntentPolicy.\n\n * 400 ManagedInstanceDeprecatedHardwareFamily - Changing the hardware generation to deprecated {0} generation is not possible.\n\n * 400 ManagedInstanceBackupStorageTypeNotSupported - Backup storage type parameter is not allowed in the instance update operation.\n\n * 400 EmptyPDCInvalidDnsZone - This managed instance cannot be deployed because its DNS-zone does not match the DNS-prefix of its intended virtual cluster for subnet {0}. Although this virtual cluster is empty, its DNS-prefix cannot be changed. Empty virtual clusters will be automatically removed after several hours. Consider waiting for this virtual cluster to expire or manually deleting this virtual cluster and then creating the managed instance.\n\n * 400 MissingIdentityId - No user assigned identity is provided when the identity type is set to UserAssigned\n\n * 400 InvalidPrimaryIdentityId - User provides a value for PrimaryUserIdentityId but the same is not listed in the IdentityId parameter\n\n * 400 ManagedInstanceZoneRedudantFeatureNotSupported - ZoneRedundant feature is not supported for the selected service tier. For more details visit aka.ms/sqlmi-service-tier-characteristics.\n\n * 400 ManagedInstanceZoneRedudantFeatureCantBeEnabled - Enabling zoneRedundant feature is not possible once managed instance is created. For more details visit aka.ms/sqlmi-high-availability.\n\n * 400 ManagedInstanceZoneRedudantFeatureCantBeDisabled - Disabling zoneRedundant feature is not possible once managed instance is created. For more details visit aka.ms/sqlmi-high-availability.\n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 MissingPrimaryIdentity - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SubnetIdCantBeUpdated - Changing managed instance subnet is not supported operation. Please remove this parameter from the request.\n\n * 400 MigrationToAnotherVNetNotSupported - Selected subnet is in another Virtual Network. Moving managed instance to another Virtual Network is not possible. Please provide subnet from Virtual Network {0}.\n\n * 400 MigrationToSubnetWithDifferentDnsZoneNotSupported - Provided subnet is having different DNS zone from the current. Changing instance DNS zone is not supported. Please provide subnet with same DNS zone, create a new subnet or provide empty one.\n\n * 400 MigrationToGen4SubnetNotSupported - It is not possible to update subnet while running on Gen4 hardware as it is being deprecated. Please upgrade your hardware from Gen4 to Gen5 as part of the changing managed instance subnet operation by specifying both parameters at the same time: destination subnet and hardware generation.\n\n * 400 PrimaryIdentityMissingPermissionForKeyId - KeyId is provided by user during create but PrimaryUserAssignedIdentityId is not provided in the API call\n\n * 400 InvalidIdentityTypeForKeyId - KeyId is provided by user during create but identity type is not set to 'UserAssigned'\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 ManagedInstanceFileExceededMaxAzureStorageFileSizeLimit - The operation could not be completed because some of the database files are exceeding maximum General Purpose file size limit of {0} GB.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough capacity\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InstancePoolNotFound - An instance pool cannot be found\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List managed instance time zones by location": { + "$ref": "./examples/ManagedInstanceTimeZoneListByLocation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/timeZones/{timeZoneId}": { + "get": { + "tags": [ + "TimeZones" + ], + "description": "Gets a managed instance time zone.", + "operationId": "TimeZones_Get", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "timeZoneId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified time zone.", + "schema": { + "$ref": "#/definitions/TimeZone" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 InvalidDnsZone - The operation has failed because you are attempting to deploy managed instance as a geo-replication secondary to the subnet {0} in which there already exists a managed instance. Deploying managed instance as a geo-replication secondary is supported only in cases when managed instance is the first instance deployed in a subnet. Consider deploying managed instance as a geo-replication secondary to a different subnet in which there are no existing managed instances, or if deploying to a subnet with existing managed instance disable the geo-replication option.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot perform creation/scaling of the managed instance as there are not enough available IP addresses in the subnet for performing the operation.\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 UpdateManagedServerWithMaintenanceWindowNotAllowed - Update of Managed Instance with maintenance window settings is not allowed.\n\n * 400 VnetPrepareNIPFailed - User tried to prepare subnet that has a conflict with NetworkIntentPolicy.\n\n * 400 ManagedInstanceDeprecatedHardwareFamily - Changing the hardware generation to deprecated {0} generation is not possible.\n\n * 400 ManagedInstanceBackupStorageTypeNotSupported - Backup storage type parameter is not allowed in the instance update operation.\n\n * 400 EmptyPDCInvalidDnsZone - This managed instance cannot be deployed because its DNS-zone does not match the DNS-prefix of its intended virtual cluster for subnet {0}. Although this virtual cluster is empty, its DNS-prefix cannot be changed. Empty virtual clusters will be automatically removed after several hours. Consider waiting for this virtual cluster to expire or manually deleting this virtual cluster and then creating the managed instance.\n\n * 400 MissingIdentityId - No user assigned identity is provided when the identity type is set to UserAssigned\n\n * 400 InvalidPrimaryIdentityId - User provides a value for PrimaryUserIdentityId but the same is not listed in the IdentityId parameter\n\n * 400 ManagedInstanceZoneRedudantFeatureNotSupported - ZoneRedundant feature is not supported for the selected service tier. For more details visit aka.ms/sqlmi-service-tier-characteristics.\n\n * 400 ManagedInstanceZoneRedudantFeatureCantBeEnabled - Enabling zoneRedundant feature is not possible once managed instance is created. For more details visit aka.ms/sqlmi-high-availability.\n\n * 400 ManagedInstanceZoneRedudantFeatureCantBeDisabled - Disabling zoneRedundant feature is not possible once managed instance is created. For more details visit aka.ms/sqlmi-high-availability.\n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 MissingPrimaryIdentity - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SubnetIdCantBeUpdated - Changing managed instance subnet is not supported operation. Please remove this parameter from the request.\n\n * 400 MigrationToAnotherVNetNotSupported - Selected subnet is in another Virtual Network. Moving managed instance to another Virtual Network is not possible. Please provide subnet from Virtual Network {0}.\n\n * 400 MigrationToSubnetWithDifferentDnsZoneNotSupported - Provided subnet is having different DNS zone from the current. Changing instance DNS zone is not supported. Please provide subnet with same DNS zone, create a new subnet or provide empty one.\n\n * 400 MigrationToGen4SubnetNotSupported - It is not possible to update subnet while running on Gen4 hardware as it is being deprecated. Please upgrade your hardware from Gen4 to Gen5 as part of the changing managed instance subnet operation by specifying both parameters at the same time: destination subnet and hardware generation.\n\n * 400 PrimaryIdentityMissingPermissionForKeyId - KeyId is provided by user during create but PrimaryUserAssignedIdentityId is not provided in the API call\n\n * 400 InvalidIdentityTypeForKeyId - KeyId is provided by user during create but identity type is not set to 'UserAssigned'\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 ManagedInstanceFileExceededMaxAzureStorageFileSizeLimit - The operation could not be completed because some of the database files are exceeding maximum General Purpose file size limit of {0} GB.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough capacity\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 InstancePoolNotFound - An instance pool cannot be found\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-examples": { + "Get managed instance time zone": { + "$ref": "./examples/ManagedInstanceTimeZoneGet.json" + } + } + } + } + }, + "definitions": { + "TimeZoneListResult": { + "description": "A list of time zones.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/TimeZone" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "TimeZoneProperties": { + "description": "The properties of a time zone.", + "type": "object", + "properties": { + "timeZoneId": { + "description": "The time zone id", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "The time zone display name", + "type": "string", + "readOnly": true + } + } + }, + "TimeZone": { + "description": "Time Zone property.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TimeZoneProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/TransparentDataEncryptions.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/TransparentDataEncryptions.json new file mode 100644 index 000000000000..8a36f7fd065e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/TransparentDataEncryptions.json @@ -0,0 +1,287 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{tdeName}": { + "get": { + "tags": [ + "TransparentDataEncryptions" + ], + "description": "Gets a logical database's transparent data encryption.", + "operationId": "TransparentDataEncryptions_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the logical database for which the transparent data encryption is defined.", + "required": true, + "type": "string" + }, + { + "name": "tdeName", + "in": "path", + "description": "The name of the transparent data encryption configuration.", + "required": true, + "type": "string", + "enum": [ + "current" + ], + "x-ms-enum": { + "name": "TransparentDataEncryptionName", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the Logical database transparent data encryption.", + "schema": { + "$ref": "#/definitions/LogicalDatabaseTransparentDataEncryption" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 ReadOnly - Cannot enable or modify database encryption on a database that is read-only, has read-only files or is not recovered.\n\n * 400 CanNotDropAlterOnMirror - Please modify Transparent Data Encryption on the primary databases.\n\n * 400 AttemptedEncryptionOnSystemDatabase - Cannot encrypt a system database. Database encryption operations cannot be performed for 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 401 CanNotChangeReadOnlyDuringTdeScan - Cannot modify filegroup read-only/read-write state while an encryption transition is in progress.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 NeedsLogBackup - Please wait several minutes for a log backup to occur. \n\n * 409 EncryptionInProgress - Cannot modify encryption while an encryption scan in progress.\n\n * 409 KeyChangeInProgress - Cannot change database encryption key while an encryption, decryption, or key change scan is in progress.\n\n * 409 NoBulkOperationLock - CREATE/ALTER/DROP DATABASE ENCRYPTION KEY failed because a lock could not be placed on database. Try again later.\n\n * 409 AltStateConflict - The operation cannot be performed on database because it is involved in a database mirroring session or an availability group. Some operations are not allowed on a database that is participating in a database mirroring session or in an availability group.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 NoDekLock - CREATE/ALTER/DROP DATABASE ENCRYPTION KEY failed because a lock could not be placed on the database. Try again later." + } + }, + "x-ms-examples": { + "Get a database's transparent data encryption": { + "$ref": "./examples/TransparentDataEncryptionGet.json" + } + } + }, + "put": { + "tags": [ + "TransparentDataEncryptions" + ], + "description": "Updates a logical database's transparent data encryption configuration.", + "operationId": "TransparentDataEncryptions_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the logical database for which the security alert policy is defined.", + "required": true, + "type": "string" + }, + { + "name": "tdeName", + "in": "path", + "description": "The name of the transparent data encryption configuration.", + "required": true, + "type": "string", + "enum": [ + "current" + ], + "x-ms-enum": { + "name": "TransparentDataEncryptionName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The database transparent data encryption.", + "required": true, + "schema": { + "$ref": "#/definitions/LogicalDatabaseTransparentDataEncryption" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the database Transparent Data Encryption state.", + "schema": { + "$ref": "#/definitions/LogicalDatabaseTransparentDataEncryption" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 ReadOnly - Cannot enable or modify database encryption on a database that is read-only, has read-only files or is not recovered.\n\n * 400 CanNotDropAlterOnMirror - Please modify Transparent Data Encryption on the primary databases.\n\n * 400 AttemptedEncryptionOnSystemDatabase - Cannot encrypt a system database. Database encryption operations cannot be performed for 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 InvalidTransparentDataEncryptionUpdateRequest - Please enter a valid state. Please use \"Enabled\" or \"Disabled\".\n\n * 400 InvalidTransparentDataEncryptionName - The transparent data encryption key name is not supported.\n\n * 401 CanNotChangeReadOnlyDuringTdeScan - Cannot modify filegroup read-only/read-write state while an encryption transition is in progress.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 NeedsLogBackup - Please wait several minutes for a log backup to occur. \n\n * 409 EncryptionInProgress - Cannot modify encryption while an encryption scan in progress.\n\n * 409 KeyChangeInProgress - Cannot change database encryption key while an encryption, decryption, or key change scan is in progress.\n\n * 409 NoBulkOperationLock - CREATE/ALTER/DROP DATABASE ENCRYPTION KEY failed because a lock could not be placed on database. Try again later.\n\n * 409 AltStateConflict - The operation cannot be performed on database because it is involved in a database mirroring session or an availability group. Some operations are not allowed on a database that is participating in a database mirroring session or in an availability group.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 NoDekLock - CREATE/ALTER/DROP DATABASE ENCRYPTION KEY failed because a lock could not be placed on the database. Try again later." + }, + "201": { + "description": "Successfully created the database transparent data encryption state.", + "schema": { + "$ref": "#/definitions/LogicalDatabaseTransparentDataEncryption" + } + }, + "202": { + "description": "Creating or updating the database transparent data encryption configuration is in progress." + } + }, + "x-ms-examples": { + "Update a database's Transparent Data Encryption state with minimal parameters": { + "$ref": "./examples/TransparentDataEncryptionUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption": { + "get": { + "tags": [ + "TransparentDataEncryptions" + ], + "description": "Gets a list of the logical database's transparent data encryption.", + "operationId": "TransparentDataEncryptions_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the logical database for which the transparent data encryption is defined.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of Logical database transparent data encryption.", + "schema": { + "$ref": "#/definitions/LogicalDatabaseTransparentDataEncryptionListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 UmiMissingAkvPermissions - PrimaryUserAssignedIdentityId provided by user does not have access to KeyId provided\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 ReadOnly - Cannot enable or modify database encryption on a database that is read-only, has read-only files or is not recovered.\n\n * 400 CanNotDropAlterOnMirror - Please modify Transparent Data Encryption on the primary databases.\n\n * 400 AttemptedEncryptionOnSystemDatabase - Cannot encrypt a system database. Database encryption operations cannot be performed for 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 401 CanNotChangeReadOnlyDuringTdeScan - Cannot modify filegroup read-only/read-write state while an encryption transition is in progress.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 NeedsLogBackup - Please wait several minutes for a log backup to occur. \n\n * 409 EncryptionInProgress - Cannot modify encryption while an encryption scan in progress.\n\n * 409 KeyChangeInProgress - Cannot change database encryption key while an encryption, decryption, or key change scan is in progress.\n\n * 409 NoBulkOperationLock - CREATE/ALTER/DROP DATABASE ENCRYPTION KEY failed because a lock could not be placed on database. Try again later.\n\n * 409 AltStateConflict - The operation cannot be performed on database because it is involved in a database mirroring session or an availability group. Some operations are not allowed on a database that is participating in a database mirroring session or in an availability group.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 NoDekLock - CREATE/ALTER/DROP DATABASE ENCRYPTION KEY failed because a lock could not be placed on the database. Try again later." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a list of the database's transparent data encryption": { + "$ref": "./examples/TransparentDataEncryptionList.json" + } + } + } + } + }, + "definitions": { + "TransparentDataEncryptionProperties": { + "description": "Properties of a transparent data encryption.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "state": { + "description": "Specifies the state of the transparent data encryption.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "TransparentDataEncryptionState", + "modelAsString": false + } + } + } + }, + "LogicalDatabaseTransparentDataEncryption": { + "description": "A logical database transparent data encryption state.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TransparentDataEncryptionProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "LogicalDatabaseTransparentDataEncryptionListResult": { + "description": "A list of transparent data encryptions", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/LogicalDatabaseTransparentDataEncryption" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Usages.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Usages.json new file mode 100644 index 000000000000..0fb88ae65c94 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Usages.json @@ -0,0 +1,167 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}/usages": { + "get": { + "tags": [ + "Usages" + ], + "description": "Gets all instance pool usage metrics", + "operationId": "Usages_ListByInstancePool", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "name": "instancePoolName", + "in": "path", + "description": "The name of the instance pool to be retrieved.", + "required": true, + "type": "string" + }, + { + "name": "expandChildren", + "in": "query", + "description": "Optional request parameter to include managed instance usages within the instance pool.", + "required": false, + "type": "boolean" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the instance pool usages.", + "schema": { + "$ref": "#/definitions/UsageListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InstancePoolWrongUsageName - Request for an instance pool's usage has an unsupported usage name\n\n * 400 InstancePoolManagedInstanceInfoUnavailable - Information for managed instances inside this instance pool is not available\n\n * 404 InstancePoolNotFound - An instance pool cannot be found" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List instance pool usages.": { + "$ref": "./examples/ListInstancePoolUsage.json" + }, + "List instance pool usages expanded with children.": { + "$ref": "./examples/ListInstancePoolUsageExpanded.json" + } + } + } + } + }, + "definitions": { + "UsageListResult": { + "description": "A list of usages.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "Usage": { + "description": "ARM usage.", + "type": "object", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "$ref": "#/definitions/Name", + "description": "Resource name.", + "readOnly": true + }, + "type": { + "description": "Resource type.", + "type": "string", + "readOnly": true + }, + "unit": { + "description": "Usage unit.", + "type": "string", + "readOnly": true + }, + "currentValue": { + "format": "int32", + "description": "Usage current value.", + "type": "integer", + "readOnly": true + }, + "limit": { + "format": "int32", + "description": "Usage limit.", + "type": "integer", + "readOnly": true + }, + "requestedLimit": { + "format": "int32", + "description": "Usage requested limit.", + "type": "integer", + "readOnly": true + } + } + }, + "Name": { + "description": "ARM Usage Name", + "type": "object", + "properties": { + "value": { + "description": "Usage name value", + "type": "string" + }, + "localizedValue": { + "description": "Usage name localized value.", + "type": "string" + } + } + } + }, + "parameters": {}, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/VirtualClusters.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/VirtualClusters.json new file mode 100644 index 000000000000..a64001cec678 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/VirtualClusters.json @@ -0,0 +1,405 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/virtualClusters/{virtualClusterName}/updateManagedInstanceDnsServers": { + "post": { + "tags": [ + "VirtualClusters" + ], + "description": "Synchronizes the DNS server settings used by the managed instances inside the given virtual cluster.", + "operationId": "VirtualClusters_UpdateDnsServers", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/VirtualClusterNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully synchronized the DNS server settings.", + "schema": { + "$ref": "#/definitions/UpdateManagedInstanceDnsServersOperation" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name." + } + }, + "x-ms-examples": { + "Synchronizes the DNS server settings used by the managed instances inside the given virtual cluster.": { + "$ref": "./examples/UpdateManagedInstanceDnsServers.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/virtualClusters": { + "get": { + "tags": [ + "VirtualClusters" + ], + "description": "Gets a list of all virtualClusters in the subscription.", + "operationId": "VirtualClusters_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of virtual clusters.", + "schema": { + "$ref": "#/definitions/VirtualClusterListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionNotFound - The requested subscription was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List virtualClusters": { + "$ref": "./examples/VirtualClusterList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/virtualClusters": { + "get": { + "tags": [ + "VirtualClusters" + ], + "description": "Gets a list of virtual clusters in a resource group.", + "operationId": "VirtualClusters_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of virtual clusters.", + "schema": { + "$ref": "#/definitions/VirtualClusterListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotEnabledForFeature - User subscription not enabled for feature user attempted to use.\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 VirtualClusterDoesNotExist - The virtual cluster does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 VirtualClusterNotInSubscriptionResourceGroup - Specified virtual cluster does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 SubscriptionDoesNotHaveVirtualCluster - The requested virtual cluster was not found\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 VirtualClusterRemovalAlreadyInProgress - Removal of virtual cluster is already in progress with request\n\n * 409 VirtualClusterRemovalFailed - Request to drop virtual cluster failed. Check if there are active dependent resources.\n\n * 409 ConflictingVirtualClusterOperation - An operation is currently in progress for the virtual cluster.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List virtual clusters by resource group": { + "$ref": "./examples/VirtualClusterListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/virtualClusters/{virtualClusterName}": { + "get": { + "tags": [ + "VirtualClusters" + ], + "description": "Gets a virtual cluster.", + "operationId": "VirtualClusters_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/VirtualClusterNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified virtual cluster.", + "schema": { + "$ref": "#/definitions/VirtualCluster" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotEnabledForFeature - User subscription not enabled for feature user attempted to use.\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 VirtualClusterDoesNotExist - The virtual cluster does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 VirtualClusterNotInSubscriptionResourceGroup - Specified virtual cluster does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 SubscriptionDoesNotHaveVirtualCluster - The requested virtual cluster was not found\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 VirtualClusterRemovalAlreadyInProgress - Removal of virtual cluster is already in progress with request\n\n * 409 VirtualClusterRemovalFailed - Request to drop virtual cluster failed. Check if there are active dependent resources.\n\n * 409 ConflictingVirtualClusterOperation - An operation is currently in progress for the virtual cluster.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources." + } + }, + "x-ms-examples": { + "Get virtual cluster": { + "$ref": "./examples/VirtualClusterGet.json" + } + } + }, + "delete": { + "tags": [ + "VirtualClusters" + ], + "description": "Deletes a virtual cluster.", + "operationId": "VirtualClusters_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/VirtualClusterNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the virtual cluster." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotEnabledForFeature - User subscription not enabled for feature user attempted to use.\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 404 VirtualClusterDoesNotExist - The virtual cluster does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 VirtualClusterNotInSubscriptionResourceGroup - Specified virtual cluster does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 SubscriptionDoesNotHaveVirtualCluster - The requested virtual cluster was not found\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 VirtualClusterRemovalAlreadyInProgress - Removal of virtual cluster is already in progress with request\n\n * 409 VirtualClusterRemovalFailed - Request to drop virtual cluster failed. Check if there are active dependent resources.\n\n * 409 ConflictingVirtualClusterOperation - An operation is currently in progress for the virtual cluster.\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 * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources." + }, + "202": { + "description": "Deleting the virtual cluster is in progress." + }, + "204": { + "description": "The specified virtual cluster does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete virtual cluster": { + "$ref": "./examples/VirtualClusterDelete.json" + } + } + }, + "patch": { + "tags": [ + "VirtualClusters" + ], + "description": "Updates a virtual cluster.", + "operationId": "VirtualClusters_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/VirtualClusterNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested virtual cluster resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualClusterUpdate" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the virtual cluster.", + "schema": { + "$ref": "#/definitions/VirtualCluster" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotEnabledForFeature - User subscription not enabled for feature user attempted to use.\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 400 InvalidMaintenanceWindowSettings - Invalid maintenance window settings.\n\n * 400 InvalidMaintenanceWindowProperty - Invalid maintenance window property was specified.\n\n * 400 InvalidMaintenanceWindowPropertyNull - Invalid maintenance window with required properties null.\n\n * 400 InvalidMaintenanceWindowTypeWithPropertySpecified - Maintenance window type must not have certain properties specified.\n\n * 404 VirtualClusterDoesNotExist - The virtual cluster does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 VirtualClusterNotInSubscriptionResourceGroup - Specified virtual cluster does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 SubscriptionDoesNotHaveVirtualCluster - The requested virtual cluster was not found\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 VirtualClusterRemovalAlreadyInProgress - Removal of virtual cluster is already in progress with request\n\n * 409 VirtualClusterRemovalFailed - Request to drop virtual cluster failed. Check if there are active dependent resources.\n\n * 409 ConflictingVirtualClusterOperation - An operation is currently in progress for the virtual cluster.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources." + }, + "202": { + "description": "Updating virtual cluster is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update virtual cluster with tags": { + "$ref": "./examples/VirtualClusterUpdate.json" + } + } + } + } + }, + "definitions": { + "DnsRefreshConfigurationProperties": { + "description": "DNS refresh configuration properties.", + "type": "object", + "properties": { + "status": { + "description": "The status of the DNS refresh operation.", + "enum": [ + "Succeeded", + "Failed" + ], + "type": "string", + "readOnly": true + } + } + }, + "UpdateManagedInstanceDnsServersOperation": { + "description": "A recoverable managed database resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DnsRefreshConfigurationProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "VirtualClusterListResult": { + "description": "A list of virtual clusters.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualCluster" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "VirtualClusterProperties": { + "description": "The properties of a virtual cluster.", + "type": "object", + "properties": { + "subnetId": { + "description": "Subnet resource ID for the virtual cluster.", + "type": "string", + "readOnly": true + }, + "family": { + "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here.", + "type": "string" + }, + "childResources": { + "description": "List of resources in this virtual cluster.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "maintenanceConfigurationId": { + "description": "Specifies maintenance configuration id to apply to this virtual cluster.", + "type": "string", + "x-ms-mutability": [ + "read", + "update" + ] + } + } + }, + "VirtualCluster": { + "description": "An Azure SQL virtual cluster.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/VirtualClusterProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "VirtualClusterUpdate": { + "description": "An update request for an Azure SQL Database virtual cluster.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/VirtualClusterProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + }, + "parameters": { + "VirtualClusterNameParameter": { + "name": "virtualClusterName", + "in": "path", + "description": "The name of the virtual cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/VirtualNetworkRules.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/VirtualNetworkRules.json new file mode 100644 index 000000000000..7b100ce625f8 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/VirtualNetworkRules.json @@ -0,0 +1,311 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "get": { + "tags": [ + "VirtualNetworkRules" + ], + "description": "Gets a virtual network rule.", + "operationId": "VirtualNetworkRules_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "virtualNetworkRuleName", + "in": "path", + "description": "The name of the virtual network rule.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "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 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Gets a virtual network rule": { + "$ref": "./examples/VirtualNetworkRulesGet.json" + } + } + }, + "put": { + "tags": [ + "VirtualNetworkRules" + ], + "description": "Creates or updates an existing virtual network rule.", + "operationId": "VirtualNetworkRules_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "virtualNetworkRuleName", + "in": "path", + "description": "The name of the virtual network rule.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested virtual Network Rule Resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated a virtual network rule.", + "schema": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "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 FirewallChangesDeniedBecausePublicEndpointDisabled - Unable to create or modify firewall rules when public network access for the server is disabled. (https://docs.microsoft.com/en-us/azure/azure-sql/database/connectivity-settings#deny-public-network-access)\n\n * 400 VirtualNetworkRuleBadRequest - Azure SQL Server Virtual Network Rule encountered an user error\n\n * 400 VirtualNetworkRuleWithFailoverGroupsNotSupported - Virtual network firewall rules are not currently supported on servers with failover groups configured with automatic failover policy. Please configure the failover groups on the server with manual failover policy.\n\n * 400 NullVirtualNetworkSubnetId - The Virtual Network Subnet Id is null\n\n * 403 VirtualNetworkRuleAccessDenied - Azure SQL Server Virtual Network Rule encountered permissions error\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 VirtualNetworkRuleNotEnabled - Azure SQL Server Virtual Network Rule feature is not enabled\n\n * 404 VirtualNetworkRuleResourceNotFound - Azure SQL Server Virtual Network Rule encountered a resource not found error\n\n * 404 VirtualNetworkRuleSubscriptionNotFound - Azure SQL Server Virtual Network Subscription id not found or is in disabled state \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.\n\n * 504 VirtualNetworkRuleTimedOut - Azure SQL Server Virtual Network Rule encountered a timeout" + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully created a virtual network rule.", + "schema": { + "$ref": "#/definitions/VirtualNetworkRule" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update a virtual network rule": { + "$ref": "./examples/VirtualNetworkRulesCreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "VirtualNetworkRules" + ], + "description": "Deletes the virtual network rule with the given name.", + "operationId": "VirtualNetworkRules_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "virtualNetworkRuleName", + "in": "path", + "description": "The name of the virtual network rule.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "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 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules": { + "get": { + "tags": [ + "VirtualNetworkRules" + ], + "description": "Gets a list of virtual network rules in a server.", + "operationId": "VirtualNetworkRules_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/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 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\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" + } + } + } + } + }, + "definitions": { + "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", + "Failed", + "Deleting", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VirtualNetworkRuleState", + "modelAsString": true + } + } + } + }, + "VirtualNetworkRule": { + "description": "A virtual network rule.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/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 + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/WorkloadClassifiers.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/WorkloadClassifiers.json new file mode 100644 index 000000000000..1eaa9a882f18 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/WorkloadClassifiers.json @@ -0,0 +1,361 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/workloadGroups/{workloadGroupName}/workloadClassifiers/{workloadClassifierName}": { + "get": { + "tags": [ + "WorkloadClassifiers" + ], + "description": "Gets a workload classifier", + "operationId": "WorkloadClassifiers_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "workloadGroupName", + "in": "path", + "description": "The name of the workload group from which to receive the classifier from.", + "required": true, + "type": "string" + }, + { + "name": "workloadClassifierName", + "in": "path", + "description": "The name of the workload classifier.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specifies workload classifier.", + "schema": { + "$ref": "#/definitions/WorkloadClassifier" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 OperationNotAllowedOnPausedDatabase - Operation is not allowed on a paused database.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-examples": { + "Gets a workload classifier for a data warehouse": { + "$ref": "./examples/GetWorkloadClassifier.json" + } + } + }, + "put": { + "tags": [ + "WorkloadClassifiers" + ], + "description": "Creates or updates a workload classifier.", + "operationId": "WorkloadClassifiers_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "workloadGroupName", + "in": "path", + "description": "The name of the workload group from which to receive the classifier from.", + "required": true, + "type": "string" + }, + { + "name": "workloadClassifierName", + "in": "path", + "description": "The name of the workload classifier to create/update.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The properties of the workload classifier.", + "required": true, + "schema": { + "$ref": "#/definitions/WorkloadClassifier" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the workload classifier.", + "schema": { + "$ref": "#/definitions/WorkloadClassifier" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 OperationNotAllowedOnPausedDatabase - Operation is not allowed on a paused database.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidMemberNameParameter - Invalid member name parameter for this workload classifier.\n\n * 400 InvalidStartTimeAndEndTimeParameters - Invalid start time and end time parameters for the workload classifier.\n\n * 400 InvalidImportanceParameter - Importance must be one of the following strings: Low, Below_Normal, Normal, Above_Normal, High.\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\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.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Create or update for the workload classifier is in progress." + }, + "201": { + "description": "Successfully created the workload classifier.", + "schema": { + "$ref": "#/definitions/WorkloadClassifier" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a workload group with the required properties specified.": { + "$ref": "./examples/CreateOrUpdateWorkloadClassifierMin.json" + }, + "Create a workload group with all properties specified.": { + "$ref": "./examples/CreateOrUpdateWorkloadClassifierMax.json" + } + } + }, + "delete": { + "tags": [ + "WorkloadClassifiers" + ], + "description": "Deletes a workload classifier.", + "operationId": "WorkloadClassifiers_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "workloadGroupName", + "in": "path", + "description": "The name of the workload group from which to receive the classifier from.", + "required": true, + "type": "string" + }, + { + "name": "workloadClassifierName", + "in": "path", + "description": "The name of the workload classifier to delete.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the workload classifier." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 OperationNotAllowedOnPausedDatabase - Operation is not allowed on a paused database.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\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.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Deleting the workload classifier is in progress." + }, + "204": { + "description": "The specified workload classifier does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a workload classifier": { + "$ref": "./examples/DeleteWorkloadClassifier.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/workloadGroups/{workloadGroupName}/workloadClassifiers": { + "get": { + "tags": [ + "WorkloadClassifiers" + ], + "description": "Gets the list of workload classifiers for a workload group", + "operationId": "WorkloadClassifiers_ListByWorkloadGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "workloadGroupName", + "in": "path", + "description": "The name of the workload group from which to receive the classifiers from.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of workload groups.", + "schema": { + "$ref": "#/definitions/WorkloadClassifierListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 OperationNotAllowedOnPausedDatabase - Operation is not allowed on a paused database.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get the list of workload classifiers for a workload group": { + "$ref": "./examples/GetWorkloadClassifierList.json" + } + } + } + } + }, + "definitions": { + "WorkloadClassifierProperties": { + "description": "Workload classifier definition. For more information look at sys.workload_management_workload_classifiers (DMV).", + "required": [ + "memberName" + ], + "type": "object", + "properties": { + "memberName": { + "description": "The workload classifier member name.", + "type": "string" + }, + "label": { + "description": "The workload classifier label.", + "type": "string" + }, + "context": { + "description": "The workload classifier context.", + "type": "string" + }, + "startTime": { + "description": "The workload classifier start time for classification.", + "type": "string" + }, + "endTime": { + "description": "The workload classifier end time for classification.", + "type": "string" + }, + "importance": { + "description": "The workload classifier importance.", + "type": "string" + } + } + }, + "WorkloadClassifier": { + "description": "Workload classifier operations for a data warehouse", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WorkloadClassifierProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "WorkloadClassifierListResult": { + "description": "A list of workload classifiers for a workload group.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadClassifier" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/WorkloadGroups.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/WorkloadGroups.json new file mode 100644 index 000000000000..10b89bee5ef0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/WorkloadGroups.json @@ -0,0 +1,340 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-05-01-preview", + "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": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/workloadGroups/{workloadGroupName}": { + "get": { + "tags": [ + "WorkloadGroups" + ], + "description": "Gets a workload group", + "operationId": "WorkloadGroups_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "workloadGroupName", + "in": "path", + "description": "The name of the workload group.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specifies workload group.", + "schema": { + "$ref": "#/definitions/WorkloadGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 OperationNotAllowedOnPausedDatabase - Operation is not allowed on a paused database.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-examples": { + "Gets a workload group for a data warehouse": { + "$ref": "./examples/GetWorkloadGroup.json" + } + } + }, + "put": { + "tags": [ + "WorkloadGroups" + ], + "description": "Creates or updates a workload group.", + "operationId": "WorkloadGroups_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "workloadGroupName", + "in": "path", + "description": "The name of the workload group.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested workload group state.", + "required": true, + "schema": { + "$ref": "#/definitions/WorkloadGroup" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the workload group.", + "schema": { + "$ref": "#/definitions/WorkloadGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 OperationNotAllowedOnPausedDatabase - Operation is not allowed on a paused database.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidWorkloadGroupNameParameter - Invalid workload group name\n\n * 400 InvalidMinResourcePercentParameter - Invalid min resource percent for this workload group.\n\n * 400 InvalidMinResourcePercentPerRequestParameter - Invalid min resource percent per query for this workload group.\n\n * 400 InvalidMaxResourcePercentParameter - Invalid max resource percent to allocate for this workload group.\n\n * 400 InvalidMaxResourcePercentPerRequestParameter - Invalid max resource percent per query for this workload group.\n\n * 400 InvalidImportanceParameter - Importance must be one of the following strings: Low, Below_Normal, Normal, Above_Normal, High.\n\n * 400 InvalidQueryExecutionTimeoutParameter - Invalid query execution timeout value for this workload group.\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\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.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Create or update for the workload group accepted." + }, + "201": { + "description": "Successfully created the workload group.", + "schema": { + "$ref": "#/definitions/WorkloadGroup" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a workload group with the required properties specified.": { + "$ref": "./examples/CreateOrUpdateWorkloadGroupMin.json" + }, + "Create a workload group with all properties specified.": { + "$ref": "./examples/CreateOrUpdateWorkloadGroupMax.json" + } + } + }, + "delete": { + "tags": [ + "WorkloadGroups" + ], + "description": "Deletes a workload group.", + "operationId": "WorkloadGroups_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "workloadGroupName", + "in": "path", + "description": "The name of the workload group to delete.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the workload group." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 OperationNotAllowedOnPausedDatabase - Operation is not allowed on a paused database.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\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.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Deleting the workload group is in progress." + }, + "204": { + "description": "The specified workload group does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a workload group": { + "$ref": "./examples/DeleteWorkloadGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/workloadGroups": { + "get": { + "tags": [ + "WorkloadGroups" + ], + "description": "Gets the list of workload groups", + "operationId": "WorkloadGroups_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of workload groups.", + "schema": { + "$ref": "#/definitions/WorkloadGroupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 OperationNotAllowedOnPausedDatabase - Operation is not allowed on a paused database.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get the list of workload groups for a data warehouse": { + "$ref": "./examples/GetWorkloadGroupList.json" + } + } + } + } + }, + "definitions": { + "WorkloadGroupProperties": { + "description": "Workload group definition. For more information look at sys.workload_management_workload_groups (DMV).", + "required": [ + "minResourcePercent", + "maxResourcePercent", + "minResourcePercentPerRequest" + ], + "type": "object", + "properties": { + "minResourcePercent": { + "format": "int32", + "description": "The workload group minimum percentage resource.", + "type": "integer" + }, + "maxResourcePercent": { + "format": "int32", + "description": "The workload group cap percentage resource.", + "type": "integer" + }, + "minResourcePercentPerRequest": { + "format": "double", + "description": "The workload group request minimum grant percentage.", + "type": "number" + }, + "maxResourcePercentPerRequest": { + "format": "double", + "description": "The workload group request maximum grant percentage.", + "type": "number" + }, + "importance": { + "description": "The workload group importance level.", + "type": "string" + }, + "queryExecutionTimeout": { + "format": "int32", + "description": "The workload group query execution timeout.", + "type": "integer" + } + } + }, + "WorkloadGroup": { + "description": "Workload group operations for a data warehouse", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WorkloadGroupProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "WorkloadGroupListResult": { + "description": "A list of workload groups.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadGroup" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "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" + } + }, + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AdministratorCreateOrUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AdministratorCreateOrUpdate.json new file mode 100644 index 000000000000..1ffec06a2038 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AdministratorCreateOrUpdate.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-4799", + "serverName": "sqlcrudtest-6440", + "administratorName": "ActiveDirectory", + "api-version": "2021-05-01-preview", + "name": "ActiveDirectory", + "parameters": { + "properties": { + "administratorType": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", + "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/administrators/ActiveDirectory", + "name": "ActiveDirectory", + "type": "Microsoft.Sql/servers/administrators", + "properties": { + "administratorType": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", + "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", + "azureADOnlyAuthentication": true + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/administrators/ActiveDirectory", + "name": "activeDirectory", + "type": "Microsoft.Sql/servers/administrators", + "properties": { + "administratorType": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", + "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", + "azureADOnlyAuthentication": true + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AdministratorDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AdministratorDelete.json new file mode 100644 index 000000000000..5a4cfd32797a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AdministratorDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-4799", + "serverName": "sqlcrudtest-6440", + "administratorName": "ActiveDirectory", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AdministratorGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AdministratorGet.json new file mode 100644 index 000000000000..53f8283145be --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AdministratorGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-4799", + "serverName": "sqlcrudtest-6440", + "administratorName": "ActiveDirectory", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/administrators/ActiveDirectory", + "name": "ActiveDirectory", + "type": "Microsoft.Sql/servers/administrators", + "properties": { + "administratorType": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", + "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", + "azureADOnlyAuthentication": true + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AdministratorList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AdministratorList.json new file mode 100644 index 000000000000..23e67c6dccc6 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AdministratorList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-4799", + "serverName": "sqlcrudtest-6440", + "administratorName": "ActiveDirectory", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/administrators/ActiveDirectory", + "name": "ActiveDirectory", + "type": "Microsoft.Sql/servers/administrators", + "properties": { + "administratorType": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", + "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", + "azureADOnlyAuthentication": true + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AzureADOnlyAuthCreateOrUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AzureADOnlyAuthCreateOrUpdate.json new file mode 100644 index 000000000000..8e15010f6161 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AzureADOnlyAuthCreateOrUpdate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-4799", + "serverName": "sqlcrudtest-6440", + "authenticationName": "Default", + "api-version": "2021-05-01-preview", + "name": "Default", + "parameters": { + "properties": { + "azureADOnlyAuthentication": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/azureadonlyauthentications/default", + "name": "Default", + "type": "Microsoft.Sql/servers/azureadonlyauthentications", + "properties": { + "azureADOnlyAuthentication": false + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/azureadonlyauthentications/default", + "name": "Default", + "type": "Microsoft.Sql/servers/azureadonlyauthentications", + "properties": { + "azureADOnlyAuthentication": false + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AzureADOnlyAuthDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AzureADOnlyAuthDelete.json new file mode 100644 index 000000000000..023c97db746a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AzureADOnlyAuthDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-4799", + "serverName": "sqlcrudtest-6440", + "authenticationName": "Default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AzureADOnlyAuthGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AzureADOnlyAuthGet.json new file mode 100644 index 000000000000..4d4490c1960f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AzureADOnlyAuthGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-4799", + "serverName": "sqlcrudtest-6440", + "authenticationName": "Default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/azureadonlyauthentications/default", + "name": "Default", + "type": "Microsoft.Sql/servers/azureadonlyauthentications", + "properties": { + "azureADOnlyAuthentication": true + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AzureADOnlyAuthList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AzureADOnlyAuthList.json new file mode 100644 index 000000000000..ec22a0466b5a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/AzureADOnlyAuthList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-4799", + "serverName": "sqlcrudtest-6440", + "authenticationName": "Default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/azureadonlyauthentications/default", + "name": "Default", + "type": "Microsoft.Sql/servers/azureadonlyauthentications", + "properties": { + "azureADOnlyAuthentication": true + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CancelDatabaseOperation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CancelDatabaseOperation.json new file mode 100644 index 000000000000..6339f0fde054 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CancelDatabaseOperation.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-6661", + "databaseName": "testdb", + "operationId": "f779414b-e748-4925-8cfe-c8598f7660ae", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CancelElasticPoolOperation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CancelElasticPoolOperation.json new file mode 100644 index 000000000000..803ac0e9a788 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CancelElasticPoolOperation.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-6661", + "elasticPoolName": "testpool", + "operationId": "f779414b-e748-4925-8cfe-c8598f7660ae", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CancelJobExecution.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CancelJobExecution.json new file mode 100644 index 000000000000..badcd57e2c8f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CancelJobExecution.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CancelManagedInstanceOperation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CancelManagedInstanceOperation.json new file mode 100644 index 000000000000..820b3f70c690 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CancelManagedInstanceOperation.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "operationId": "11111111-1111-1111-1111-111111111111", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CheckNameAvailabilityServerAlreadyExists.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CheckNameAvailabilityServerAlreadyExists.json new file mode 100644 index 000000000000..3cc48eea05c2 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CheckNameAvailabilityServerAlreadyExists.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2021-05-01-preview", + "parameters": { + "name": "server1", + "type": "Microsoft.Sql/servers" + } + }, + "responses": { + "200": { + "body": { + "name": "server1", + "available": false, + "reason": "AlreadyExists", + "message": "Specified server name is already used" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CheckNameAvailabilityServerAvailable.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CheckNameAvailabilityServerAvailable.json new file mode 100644 index 000000000000..01955bc5148a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CheckNameAvailabilityServerAvailable.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2021-05-01-preview", + "parameters": { + "name": "server1", + "type": "Microsoft.Sql/servers" + } + }, + "responses": { + "200": { + "body": { + "name": "server1", + "available": true + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CheckNameAvailabilityServerInvalid.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CheckNameAvailabilityServerInvalid.json new file mode 100644 index 000000000000..88266d5ad800 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CheckNameAvailabilityServerInvalid.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2021-05-01-preview", + "parameters": { + "name": "SERVER1", + "type": "Microsoft.Sql/servers" + } + }, + "responses": { + "200": { + "body": { + "name": "SERVER1", + "available": false, + "reason": "Invalid", + "message": "Specified server name contains unsupported characters or is too long. Server name must be no longer than 63 characters long, contain only lower-case characters or digits, cannot contain '.' or '_' characters and can't start or end with '-' character." + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ColumnSensitivityLabelCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ColumnSensitivityLabelCreateMax.json new file mode 100644 index 000000000000..d62bb219f5d1 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ColumnSensitivityLabelCreateMax.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "serverName": "myServer", + "databaseName": "myDatabase", + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "sensitivityLabelSource": "current", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "informationType": "PhoneNumber", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "bf91e08c-f4f0-478a-b016-25164b2a65ff", + "labelName": "PII", + "rank": "Low" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/myServer/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn/sensitivityLabels/current", + "name": "current", + "type": "Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels", + "properties": { + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "informationType": "PhoneNumber", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "bf91e08c-f4f0-478a-b016-25164b2a65ff", + "labelName": "PII", + "rank": "Medium" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/myServer/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn/sensitivityLabels/current", + "name": "current", + "type": "Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels", + "properties": { + "informationType": "PhoneNumber", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "bf91e08c-f4f0-478a-b016-25164b2a65ff", + "labelName": "PII", + "rank": "High" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ColumnSensitivityLabelDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ColumnSensitivityLabelDelete.json new file mode 100644 index 000000000000..9c9c411bb23a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ColumnSensitivityLabelDelete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "serverName": "myServer", + "databaseName": "myDatabase", + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "sensitivityLabelSource": "current", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ColumnSensitivityLabelGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ColumnSensitivityLabelGet.json new file mode 100644 index 000000000000..be9bbeba5eab --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ColumnSensitivityLabelGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "serverName": "myServer", + "databaseName": "myDatabase", + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "sensitivityLabelSource": "current", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/myServer/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn/sensitivityLabels/current", + "name": "current", + "type": "Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels", + "properties": { + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "informationType": "PhoneNumber", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "bf91e08c-f4f0-478a-b016-25164b2a65ff", + "labelName": "PII", + "rank": "High" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ColumnsListByDatabaseMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ColumnsListByDatabaseMax.json new file mode 100644 index 000000000000..75763e591e4c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ColumnsListByDatabaseMax.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "serverName": "serverName", + "databaseName": "myDatabase", + "api-version": "2021-05-01-preview", + "schema": [ + "dbo" + ], + "table": [ + "customer", + "address" + ], + "column": [ + "username" + ], + "orderBy": [ + "schema asc", + "table", + "column desc" + ], + "$skip": "5", + "$top": "50" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "columnType": "nvarchar", + "temporalType": "NonTemporalTable", + "memoryOptimized": false, + "isComputed": false + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo/tables/customer/columns/username", + "name": "username", + "type": "Microsoft.Sql/servers/databases/schemas/tables/columns" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ColumnsListByDatabaseMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ColumnsListByDatabaseMin.json new file mode 100644 index 000000000000..829a68905422 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ColumnsListByDatabaseMin.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "serverName": "serverName", + "databaseName": "myDatabase", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "columnType": "int", + "temporalType": "NonTemporalTable", + "memoryOptimized": false, + "isComputed": false + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo/tables/table1/columns/col1", + "name": "col1", + "type": "Microsoft.Sql/servers/databases/schemas/tables/columns" + }, + { + "properties": { + "columnType": "bit", + "temporalType": "SystemVersionedTemporalTable", + "memoryOptimized": false, + "isComputed": false + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo/tables/table1/columns/col2", + "name": "col2", + "type": "Microsoft.Sql/servers/databases/schemas/tables/columns" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseConfiguredBackupStorageRedundancy.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseConfiguredBackupStorageRedundancy.json new file mode 100644 index 000000000000..24a9cc66edba --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseConfiguredBackupStorageRedundancy.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "southeastasia", + "properties": { + "requestedBackupStorageRedundancy": "Zone" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 268435456000, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "currentSku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "creationDate": "2017-06-07T04:41:33.937Z", + "currentBackupStorageRedundancy": "Zone", + "currentServiceObjectiveName": "S0", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedBackupStorageRedundancy": "Zone", + "requestedServiceObjectiveName": "S0", + "isLedgerOn": false, + "isInfraEncryptionEnabled": false, + "zoneRedundant": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 268435456000, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "currentSku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "creationDate": "2017-06-07T04:41:33.937Z", + "currentBackupStorageRedundancy": "Zone", + "currentServiceObjectiveName": "S0", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedBackupStorageRedundancy": "Zone", + "requestedServiceObjectiveName": "S0", + "zoneRedundant": false, + "isLedgerOn": false, + "isInfraEncryptionEnabled": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseCopyMode.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseCopyMode.json new file mode 100644 index 000000000000..5c6022ccb39b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseCopyMode.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "dbcopy", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "southeastasia", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "properties": { + "createMode": "Copy", + "sourceDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 268435456000, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "currentSku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "creationDate": "2017-06-07T04:41:33.937Z", + "currentBackupStorageRedundancy": "Geo", + "currentServiceObjectiveName": "S0", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedBackupStorageRedundancy": "Geo", + "requestedServiceObjectiveName": "S0", + "isLedgerOn": false, + "isInfraEncryptionEnabled": false, + "zoneRedundant": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/dbcopy", + "name": "dbcopy", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 268435456000, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "currentSku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "creationDate": "2017-06-07T04:41:33.937Z", + "currentBackupStorageRedundancy": "Geo", + "currentServiceObjectiveName": "S0", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedBackupStorageRedundancy": "Geo", + "requestedServiceObjectiveName": "S0", + "isLedgerOn": false, + "isInfraEncryptionEnabled": false, + "zoneRedundant": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/dbcopy", + "name": "dbcopy", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseDefaultMode.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseDefaultMode.json new file mode 100644 index 000000000000..8a0ddebb4fb8 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseDefaultMode.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "southeastasia", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "properties": { + "createMode": "Default", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 1073741824 + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 10 + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 1073741824, + "status": "Online", + "currentSku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "creationDate": "2017-06-07T04:41:33.937Z", + "currentBackupStorageRedundancy": "Geo", + "currentServiceObjectiveName": "S0", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "readScale": "Disabled", + "requestedBackupStorageRedundancy": "Geo", + "requestedServiceObjectiveName": "S0", + "isInfraEncryptionEnabled": false, + "zoneRedundant": false, + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "isLedgerOn": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 10 + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 1073741824, + "status": "Online", + "currentSku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "creationDate": "2017-06-07T04:41:33.937Z", + "currentBackupStorageRedundancy": "Geo", + "currentServiceObjectiveName": "S0", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "readScale": "Disabled", + "requestedBackupStorageRedundancy": "Geo", + "requestedServiceObjectiveName": "S0", + "isInfraEncryptionEnabled": false, + "zoneRedundant": false, + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "isLedgerOn": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseLedger.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseLedger.json new file mode 100644 index 000000000000..092aaabe3ac1 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseLedger.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "southeastasia", + "properties": { + "isLedgerOn": true + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 268435456000, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "currentSku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "creationDate": "2017-06-07T04:41:33.937Z", + "currentServiceObjectiveName": "S0", + "currentBackupStorageRedundancy": "Geo", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedBackupStorageRedundancy": "Geo", + "requestedServiceObjectiveName": "S0", + "zoneRedundant": false, + "isLedgerOn": true + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 268435456000, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "currentSku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "creationDate": "2017-06-07T04:41:33.937Z", + "currentBackupStorageRedundancy": "Zone", + "currentServiceObjectiveName": "S0", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedBackupStorageRedundancy": "Zone", + "requestedServiceObjectiveName": "S0", + "zoneRedundant": false, + "isLedgerOn": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseMaintenanceConfiguration.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseMaintenanceConfiguration.json new file mode 100644 index 000000000000..bc546fbe3e2e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseMaintenanceConfiguration.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "southeastasia", + "sku": { + "name": "S2", + "tier": "Standard" + }, + "properties": { + "createMode": "Default", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 1073741824, + "maintenanceConfigurationId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "S2", + "tier": "Standard" + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 1073741824, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "creationDate": "2017-06-07T04:41:33.937Z", + "currentServiceObjectiveName": "S2", + "defaultSecondaryLocation": "North Europe", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "isInfraEncryptionEnabled": false, + "zoneRedundant": false, + "earliestRestoreDate": "2020-08-29T06:41:18.283Z", + "readScale": "Disabled", + "currentSku": { + "name": "Standard", + "tier": "Standard", + "capacity": 50 + }, + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "maintenanceConfigurationId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1", + "isLedgerOn": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "S2", + "tier": "Standard" + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 1073741824, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "creationDate": "2017-06-07T04:41:33.937Z", + "currentServiceObjectiveName": "S2", + "defaultSecondaryLocation": "North Europe", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "isInfraEncryptionEnabled": false, + "zoneRedundant": false, + "earliestRestoreDate": "2020-08-29T06:41:18.283Z", + "readScale": "Disabled", + "currentSku": { + "name": "Standard", + "tier": "Standard", + "capacity": 50 + }, + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "maintenanceConfigurationId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1", + "isLedgerOn": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseMin.json new file mode 100644 index 000000000000..6fbc93e4b7e7 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseMin.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "southeastasia" + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 268435456000, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "currentSku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "creationDate": "2017-06-07T04:41:33.937Z", + "currentServiceObjectiveName": "S0", + "currentBackupStorageRedundancy": "Geo", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedBackupStorageRedundancy": "Geo", + "requestedServiceObjectiveName": "S0", + "isLedgerOn": false, + "isInfraEncryptionEnabled": false, + "zoneRedundant": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 268435456000, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "currentSku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "creationDate": "2017-06-07T04:41:33.937Z", + "currentBackupStorageRedundancy": "Geo", + "currentServiceObjectiveName": "S0", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedBackupStorageRedundancy": "Geo", + "requestedServiceObjectiveName": "S0", + "isLedgerOn": false, + "isInfraEncryptionEnabled": false, + "zoneRedundant": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseNamedReplica.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseNamedReplica.json new file mode 100644 index 000000000000..744cbf5f87de --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseNamedReplica.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "southeastasia", + "sku": { + "name": "HS_Gen4", + "tier": "Hyperscale", + "capacity": 2 + }, + "properties": { + "createMode": "Secondary", + "secondaryType": "Named", + "sourceDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/primarydb" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "HS_Gen4", + "tier": "Hyperscale", + "family": "Gen4", + "capacity": 2 + }, + "kind": "v12.0,user,vcore,hyperscale", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": -1, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "currentSku": { + "name": "HS_Gen4", + "tier": "Hyperscale", + "family": "Gen4", + "capacity": 2 + }, + "creationDate": "2017-06-07T04:41:33.937Z", + "currentBackupStorageRedundancy": "Geo", + "currentServiceObjectiveName": "HS_Gen4_2", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedBackupStorageRedundancy": "Geo", + "requestedServiceObjectiveName": "HS_Gen4_2", + "highAvailabilityReplicaCount": 0, + "licenseType": "LicenseIncluded", + "secondaryType": "Named", + "isLedgerOn": false, + "isInfraEncryptionEnabled": false, + "zoneRedundant": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "HS_Gen4", + "tier": "Hyperscale", + "family": "Gen4", + "capacity": 2 + }, + "kind": "v12.0,user,vcore,hyperscale", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": -1, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "currentSku": { + "name": "HS_Gen4", + "tier": "Hyperscale", + "family": "Gen4", + "capacity": 2 + }, + "creationDate": "2017-06-07T04:41:33.937Z", + "currentBackupStorageRedundancy": "Geo", + "currentServiceObjectiveName": "HS_Gen4_2", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedBackupStorageRedundancy": "Geo", + "requestedServiceObjectiveName": "HS_Gen4_2", + "highAvailabilityReplicaCount": 0, + "licenseType": "LicenseIncluded", + "secondaryType": "Named", + "isLedgerOn": false, + "isInfraEncryptionEnabled": false, + "zoneRedundant": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabasePITRMode.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabasePITRMode.json new file mode 100644 index 000000000000..0344c578e421 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabasePITRMode.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "dbpitr", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "southeastasia", + "properties": { + "createMode": "PointInTimeRestore", + "sourceDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SoutheastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "restorePointInTime": "2020-10-22T05:35:31.503Z" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 268435456000, + "status": "Online", + "databaseId": "2463ef48-53e2-4c26-9781-2d7138080bfd", + "creationDate": "2020-10-23T20:31:35.807Z", + "currentServiceObjectiveName": "S0", + "requestedServiceObjectiveName": "S0", + "defaultSecondaryLocation": "SoutheastAsia", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "isInfraEncryptionEnabled": false, + "zoneRedundant": false, + "earliestRestoreDate": "2020-10-23T20:47:37Z", + "readScale": "Disabled", + "currentSku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "isLedgerOn": false + }, + "location": "SoutheastAsia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SoutheastAsia/providers/Microsoft.Sql/servers/testsvr/databases/dbpitr", + "name": "dbpitr", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 268435456000, + "status": "Online", + "databaseId": "2463ef48-53e2-4c26-9781-2d7138080bfd", + "creationDate": "2020-10-23T20:31:35.807Z", + "currentServiceObjectiveName": "S0", + "requestedServiceObjectiveName": "S0", + "defaultSecondaryLocation": "SoutheastAsia", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "isInfraEncryptionEnabled": false, + "zoneRedundant": false, + "earliestRestoreDate": "2020-10-23T20:47:37Z", + "readScale": "Disabled", + "currentSku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "isLedgerOn": false + }, + "location": "SoutheastAsia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SoutheastAsia/providers/Microsoft.Sql/servers/testsvr/databases/dbpitr", + "name": "dbpitr", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseSecondaryMode.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseSecondaryMode.json new file mode 100644 index 000000000000..166a9a3e89da --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDatabaseSecondaryMode.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "southeastasia", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "properties": { + "createMode": "Secondary", + "secondaryType": "Geo", + "sourceDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/testdb" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 268435456000, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "currentSku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "creationDate": "2017-06-07T04:41:33.937Z", + "currentBackupStorageRedundancy": "Geo", + "currentServiceObjectiveName": "S0", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedBackupStorageRedundancy": "Geo", + "requestedServiceObjectiveName": "S0", + "secondaryType": "Geo", + "isLedgerOn": false, + "isInfraEncryptionEnabled": false, + "zoneRedundant": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 268435456000, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "currentSku": { + "name": "Standard", + "tier": "Standard", + "capacity": 10 + }, + "creationDate": "2017-06-07T04:41:33.937Z", + "currentBackupStorageRedundancy": "Geo", + "currentServiceObjectiveName": "S0", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedBackupStorageRedundancy": "Geo", + "requestedServiceObjectiveName": "S0", + "secondaryType": "Geo", + "isLedgerOn": false, + "isInfraEncryptionEnabled": false, + "zoneRedundant": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateJobExecution.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateJobExecution.json new file mode 100644 index 000000000000..7a900975a028 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateJobExecution.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "jobVersion": 1, + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "lifecycle": "Created", + "provisioningState": "Created", + "createTime": "2016-09-23T01:00:00Z", + "currentAttempts": 0, + "lastMessage": "Job execution created." + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999", + "name": "5555-6666-7777-8888-999999999999", + "type": "Microsoft.Sql/servers/jobAgents/executions" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateDatabaseExtensions.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateDatabaseExtensions.json new file mode 100644 index 000000000000..d85ca9e11911 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateDatabaseExtensions.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "a1c0814d-3c18-4e1e-a247-c128c12b1677", + "resourceGroupName": "rg_20cbe0f0-c2d9-4522-9177-5469aad53029", + "serverName": "srv_1ffd1cf8-9951-47fb-807d-a9c384763849", + "databaseName": "878e303f-1ea0-4f17-aa3d-a22ac5e9da08", + "extensionName": "polybaseimport", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "operationMode": "PolybaseImport", + "storageKeyType": "StorageAccessKey", + "storageKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "storageUri": "https://teststorage.blob.core.windows.net/testcontainer/Manifest.xml" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "requestId": "10000000-0000-0000-0000-000000000002", + "requestType": "PolybaseImport", + "lastModifiedTime": "lastModifiedTime", + "serverName": "srv_1ffd1cf8-9951-47fb-807d-a9c384763849", + "databaseName": "878e303f-1ea0-4f17-aa3d-a22ac5e9da08", + "status": "succeeded" + }, + "id": "10000000-0000-0000-0000-000000000002", + "name": "10000000-0000-0000-0000-000000000002", + "type": "Microsoft.Sql/servers/databases/extensions" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateInstancePoolMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateInstancePoolMax.json new file mode 100644 index 000000000000..eb433273369d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateInstancePoolMax.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "instancePoolName": "testIP", + "api-version": "2021-05-01-preview", + "parameters": { + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "family": "Gen5" + }, + "location": "japaneast", + "tags": { + "a": "b" + }, + "properties": { + "subnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet1", + "vCores": 8, + "licenseType": "LicenseIncluded" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "family": "Gen5" + }, + "properties": { + "subnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet1", + "vCores": 8, + "licenseType": "LicenseIncluded" + }, + "location": "japaneast", + "tags": { + "a": "b" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP", + "name": "testIP", + "type": "Microsoft.Sql/instancePools" + } + }, + "201": { + "body": { + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "family": "Gen5" + }, + "properties": { + "subnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet1", + "vCores": 8, + "licenseType": "LicenseIncluded" + }, + "location": "japaneast", + "tags": { + "a": "b" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP", + "name": "testIP", + "type": "Microsoft.Sql/instancePools" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateInstancePoolMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateInstancePoolMin.json new file mode 100644 index 000000000000..575427a4d31c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateInstancePoolMin.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "instancePoolName": "testIP", + "api-version": "2021-05-01-preview", + "parameters": { + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "family": "Gen5" + }, + "location": "japaneast", + "properties": { + "subnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet1", + "vCores": 8, + "licenseType": "LicenseIncluded" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "family": "Gen5" + }, + "properties": { + "subnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet1", + "vCores": 8, + "licenseType": "LicenseIncluded" + }, + "location": "japaneast", + "tags": {}, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP", + "name": "testIP", + "type": "Microsoft.Sql/instancePools" + } + }, + "201": { + "body": { + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "family": "Gen5" + }, + "properties": { + "subnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet1", + "vCores": 8, + "licenseType": "LicenseIncluded" + }, + "location": "japaneast", + "tags": {}, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP", + "name": "testIP", + "type": "Microsoft.Sql/instancePools" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobAgent.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobAgent.json new file mode 100644 index 000000000000..b8e1e1eae87c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobAgent.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "southeastasia", + "properties": { + "databaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/databases/db1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1", + "name": "agent1", + "type": "Microsoft.Sql/servers/jobAgents", + "location": "southeastasia", + "sku": { + "name": "Agent", + "capacity": 100 + }, + "properties": { + "databaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/databases/db1" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1", + "name": "agent1", + "type": "Microsoft.Sql/servers/jobAgents", + "location": "southeastasia", + "sku": { + "name": "Agent", + "capacity": 100 + }, + "properties": { + "databaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/databases/db1" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobCredential.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobCredential.json new file mode 100644 index 000000000000..daf91240e36a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobCredential.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "credentialName": "cred1", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "username": "myuser", + "password": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1", + "name": "cred1", + "type": "Microsoft.Sql/servers/jobAccounts/credentials", + "properties": { + "username": "myuser" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1", + "name": "cred1", + "type": "Microsoft.Sql/servers/jobAccounts/credentials", + "properties": { + "username": "myuser" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobExecution.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobExecution.json new file mode 100644 index 000000000000..65856645f054 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobExecution.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "jobVersion": 1, + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "lifecycle": "Created", + "provisioningState": "Created", + "createTime": "2017-12-18T19:02:00.8707045Z", + "currentAttempts": 0, + "lastMessage": "Job execution created." + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999", + "name": "5555-6666-7777-8888-999999999999", + "type": "Microsoft.Sql/servers/jobAgents/executions" + } + }, + "201": { + "body": { + "properties": { + "jobVersion": 1, + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "lifecycle": "Created", + "provisioningState": "Created", + "createTime": "2017-05-04T19:02:00.8707045Z", + "currentAttempts": 0, + "lastMessage": "Job execution created." + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999", + "name": "5555-6666-7777-8888-999999999999", + "type": "Microsoft.Sql/servers/jobAgents/executions" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobMax.json new file mode 100644 index 000000000000..469c549f71e5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobMax.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "description": "my favourite job", + "schedule": { + "startTime": "2015-09-24T18:30:01Z", + "endTime": "2015-09-24T23:59:59Z", + "type": "Recurring", + "interval": "PT5M", + "enabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1", + "name": "job1", + "type": "Microsoft.Sql/servers/jobAccounts/jobs", + "properties": { + "description": "my favourite job", + "version": 0, + "schedule": { + "startTime": "2015-09-24T18:30:01Z", + "endTime": "2015-09-24T23:59:59Z", + "type": "Recurring", + "interval": "PT5M", + "enabled": true + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1", + "name": "job1", + "type": "Microsoft.Sql/servers/jobAccounts/jobs", + "properties": { + "description": "my favourite job", + "version": 0, + "schedule": { + "startTime": "2015-09-24T18:30:01Z", + "endTime": "2015-09-24T23:59:59Z", + "type": "Recurring", + "interval": "PT5M", + "enabled": true + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobMin.json new file mode 100644 index 000000000000..43ab35308f47 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobMin.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "api-version": "2021-05-01-preview", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1", + "name": "job1", + "type": "Microsoft.Sql/servers/jobAccounts/jobs", + "properties": { + "description": "", + "version": 0, + "schedule": { + "startTime": "0001-01-01T00:00:00Z", + "endTime": "9999-12-31T11:59:59Z", + "type": "Once", + "enabled": false + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1", + "name": "job1", + "type": "Microsoft.Sql/servers/jobAccounts/jobs", + "properties": { + "description": "", + "version": 0, + "schedule": { + "startTime": "0001-01-01T00:00:00Z", + "endTime": "9999-12-31T11:59:59Z", + "type": "Once", + "enabled": false + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobStepMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobStepMax.json new file mode 100644 index 000000000000..c42d03f70e67 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobStepMax.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "stepName": "step1", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "stepId": 1, + "targetGroup": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1", + "action": { + "type": "TSql", + "source": "Inline", + "value": "select 2" + }, + "output": { + "type": "SqlDatabase", + "subscriptionId": "3501b905-a848-4b5d-96e8-b253f62d735a", + "resourceGroupName": "group3", + "serverName": "server3", + "databaseName": "database3", + "schemaName": "myschema1234", + "tableName": "mytable5678", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0" + }, + "executionOptions": { + "timeoutSeconds": 1234, + "retryAttempts": 42, + "initialRetryIntervalSeconds": 11, + "maximumRetryIntervalSeconds": 222, + "retryIntervalBackoffMultiplier": 3.0 + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "stepId": 1, + "targetGroup": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1", + "action": { + "type": "TSql", + "source": "Inline", + "value": "select 2" + }, + "output": { + "type": "SqlDatabase", + "subscriptionId": "3501b905-a848-4b5d-96e8-b253f62d735a", + "resourceGroupName": "group3", + "serverName": "server3", + "databaseName": "database3", + "schemaName": "myschema1234", + "tableName": "mytable5678", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0" + }, + "executionOptions": { + "timeoutSeconds": 1234, + "retryAttempts": 42, + "initialRetryIntervalSeconds": 11, + "maximumRetryIntervalSeconds": 222, + "retryIntervalBackoffMultiplier": 3.0 + } + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/steps/step1", + "name": "step1", + "type": "Microsoft.Sql/servers/jobAgents/jobs/steps" + } + }, + "201": { + "body": { + "properties": { + "stepId": 1, + "targetGroup": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1", + "action": { + "type": "TSql", + "source": "Inline", + "value": "select 2" + }, + "output": { + "type": "SqlDatabase", + "subscriptionId": "3501b905-a848-4b5d-96e8-b253f62d735a", + "resourceGroupName": "group3", + "serverName": "server3", + "databaseName": "database3", + "schemaName": "myschema1234", + "tableName": "mytable5678", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0" + }, + "executionOptions": { + "timeoutSeconds": 1234, + "retryAttempts": 42, + "initialRetryIntervalSeconds": 11, + "maximumRetryIntervalSeconds": 222, + "retryIntervalBackoffMultiplier": 3.0 + } + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/steps/step1", + "name": "step1", + "type": "Microsoft.Sql/servers/jobAgents/jobs/steps" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobStepMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobStepMin.json new file mode 100644 index 000000000000..4b773b0bde62 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobStepMin.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "stepName": "step1", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "targetGroup": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup0", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0", + "action": { + "value": "select 1" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "stepId": 1, + "targetGroup": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup0", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0", + "action": { + "type": "TSql", + "source": "Inline", + "value": "select 1" + }, + "executionOptions": { + "timeoutSeconds": 43200, + "retryAttempts": 10, + "initialRetryIntervalSeconds": 1, + "maximumRetryIntervalSeconds": 120, + "retryIntervalBackoffMultiplier": 2.0 + } + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/steps/step1", + "name": "step1", + "type": "Microsoft.Sql/servers/jobAgents/jobs/steps" + } + }, + "201": { + "body": { + "properties": { + "stepId": 1, + "targetGroup": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup0", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0", + "action": { + "type": "TSql", + "source": "Inline", + "value": "select 1" + }, + "executionOptions": { + "timeoutSeconds": 43200, + "retryAttempts": 10, + "initialRetryIntervalSeconds": 1, + "maximumRetryIntervalSeconds": 120, + "retryIntervalBackoffMultiplier": 2.0 + } + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/steps/step1", + "name": "step1", + "type": "Microsoft.Sql/servers/jobAgents/jobs/steps" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobTargetGroupMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobTargetGroupMax.json new file mode 100644 index 000000000000..1a17865f544f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobTargetGroupMax.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "targetGroupName": "targetGroup1", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "members": [ + { + "membershipType": "Exclude", + "type": "SqlDatabase", + "serverName": "server1", + "databaseName": "database1" + }, + { + "membershipType": "Include", + "type": "SqlServer", + "serverName": "server1", + "refreshCredential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential" + }, + { + "membershipType": "Include", + "type": "SqlElasticPool", + "serverName": "server2", + "elasticPoolName": "pool1", + "refreshCredential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential" + }, + { + "membershipType": "Include", + "type": "SqlShardMap", + "serverName": "server3", + "shardMapName": "shardMap1", + "refreshCredential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "members": [ + { + "membershipType": "Exclude", + "type": "SqlDatabase", + "serverName": "server1", + "databaseName": "database1" + }, + { + "membershipType": "Include", + "type": "SqlServer", + "serverName": "server1", + "refreshCredential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential" + }, + { + "membershipType": "Include", + "type": "SqlElasticPool", + "serverName": "server2", + "elasticPoolName": "pool1", + "refreshCredential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential" + }, + { + "membershipType": "Include", + "type": "SqlShardMap", + "serverName": "server3", + "shardMapName": "shardMap1", + "refreshCredential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential" + } + ] + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1", + "name": "targetGroup1", + "type": "Microsoft.Sql/servers/jobAgents/targetGroups" + } + }, + "201": { + "body": { + "properties": { + "members": [ + { + "membershipType": "Exclude", + "type": "SqlDatabase", + "serverName": "server1", + "databaseName": "database1" + }, + { + "membershipType": "Include", + "type": "SqlServer", + "serverName": "server1", + "refreshCredential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential" + }, + { + "membershipType": "Include", + "type": "SqlElasticPool", + "serverName": "server2", + "elasticPoolName": "pool1", + "refreshCredential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential" + }, + { + "membershipType": "Include", + "type": "SqlShardMap", + "serverName": "server3", + "shardMapName": "shardMap1", + "refreshCredential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential" + } + ] + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1", + "name": "targetGroup1", + "type": "Microsoft.Sql/servers/jobAgents/targetGroups" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobTargetGroupMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobTargetGroupMin.json new file mode 100644 index 000000000000..567cda4b88b8 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateJobTargetGroupMin.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "targetGroupName": "targetGroup1", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "members": [] + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "members": [] + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1", + "name": "targetGroup1", + "type": "Microsoft.Sql/servers/jobAgents/targetGroups" + } + }, + "201": { + "body": { + "properties": { + "members": [] + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1", + "name": "targetGroup1", + "type": "Microsoft.Sql/servers/jobAgents/targetGroups" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateMaintenanceWindows.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateMaintenanceWindows.json new file mode 100644 index 000000000000..d4dd71d2981c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateMaintenanceWindows.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdwdb", + "maintenanceWindowName": "current", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "timeRanges": [ + { + "dayOfWeek": "Saturday", + "startTime": "00:00:00", + "duration": "PT60M" + } + ] + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateWorkloadClassifierMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateWorkloadClassifierMax.json new file mode 100644 index 000000000000..430690f9bf8c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateWorkloadClassifierMax.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "workloadGroupName": "wlm_workloadgroup", + "workloadClassifierName": "wlm_workloadclassifier", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "memberName": "dbo", + "label": "test_label", + "context": "test_context", + "startTime": "12:00", + "endTime": "14:00", + "importance": "high" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "memberName": "dbo", + "label": "test_label", + "context": "test_context", + "startTime": "12:00", + "endTime": "14:00", + "importance": "high" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/wlm_workloadgroup/workloadClassifiers/wlm_workloadclassifier", + "name": "wlm_workloadclassifier", + "type": "Microsoft.Sql/servers/databases/workloadGroups/workloadClassifiers" + } + }, + "201": { + "body": { + "properties": { + "memberName": "dbo", + "label": "test_label", + "context": "test_context", + "startTime": "12:00", + "endTime": "14:00", + "importance": "high" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/wlm_workloadgroup/workloadClassifiers/wlm_workloadclassifier", + "name": "wlm_workloadclassifier", + "type": "Microsoft.Sql/servers/databases/workloadGroups/workloadClassifiers" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateWorkloadClassifierMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateWorkloadClassifierMin.json new file mode 100644 index 000000000000..f870f642c2c9 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateWorkloadClassifierMin.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "workloadGroupName": "wlm_workloadgroup", + "workloadClassifierName": "wlm_workloadclassifier", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "memberName": "dbo" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "memberName": "dbo", + "label": "", + "context": "", + "startTime": "", + "endTime": "", + "importance": "" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/wlm_workloadgroup/workloadClassifiers/wlm_workloadclassifier", + "name": "wlm_workloadclassifier", + "type": "Microsoft.Sql/servers/databases/workloadGroups/workloadClassifiers" + } + }, + "201": { + "body": { + "properties": { + "memberName": "dbo", + "label": "", + "context": "", + "startTime": "", + "endTime": "", + "importance": "" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/wlm_workloadgroup/workloadClassifiers/wlm_workloadclassifier", + "name": "wlm_workloadclassifier", + "type": "Microsoft.Sql/servers/databases/workloadGroups/workloadClassifiers" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateWorkloadGroupMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateWorkloadGroupMax.json new file mode 100644 index 000000000000..cccd7a12714e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateWorkloadGroupMax.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "workloadGroupName": "smallrc", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "minResourcePercent": 0, + "maxResourcePercent": 100, + "minResourcePercentPerRequest": 3.0, + "maxResourcePercentPerRequest": 3.0, + "importance": "normal", + "queryExecutionTimeout": 0 + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "minResourcePercent": 0, + "maxResourcePercent": 100, + "minResourcePercentPerRequest": 3.0, + "maxResourcePercentPerRequest": 3.0, + "importance": "normal", + "queryExecutionTimeout": 0 + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/smallrc", + "name": "smallrc", + "type": "Microsoft.Sql/servers/databases/workloadGroups" + } + }, + "201": { + "body": { + "properties": { + "minResourcePercent": 0, + "maxResourcePercent": 100, + "minResourcePercentPerRequest": 3.0, + "maxResourcePercentPerRequest": 3.0, + "importance": "normal", + "queryExecutionTimeout": 0 + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/smallrc", + "name": "smallrc", + "type": "Microsoft.Sql/servers/databases/workloadGroups" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateWorkloadGroupMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateWorkloadGroupMin.json new file mode 100644 index 000000000000..f9380180d664 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateOrUpdateWorkloadGroupMin.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "workloadGroupName": "smallrc", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "minResourcePercent": 0, + "maxResourcePercent": 100, + "minResourcePercentPerRequest": 3.0 + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "minResourcePercent": 0, + "maxResourcePercent": 100, + "minResourcePercentPerRequest": 3.0, + "maxResourcePercentPerRequest": 3.0, + "importance": "normal", + "queryExecutionTimeout": 0 + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/smallrc", + "name": "smallrc", + "type": "Microsoft.Sql/servers/databases/workloadGroups" + } + }, + "201": { + "body": { + "properties": { + "minResourcePercent": 0, + "maxResourcePercent": 100, + "minResourcePercentPerRequest": 3.0, + "maxResourcePercentPerRequest": 3.0, + "importance": "normal", + "queryExecutionTimeout": 0 + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/smallrc", + "name": "smallrc", + "type": "Microsoft.Sql/servers/databases/workloadGroups" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateVCoreDatabaseByServiceObjective.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateVCoreDatabaseByServiceObjective.json new file mode 100644 index 000000000000..1c0792c0b0a9 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateVCoreDatabaseByServiceObjective.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "southeastasia", + "sku": { + "name": "BC", + "family": "Gen4", + "capacity": 2 + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "BC_Gen4", + "tier": "BusinessCritical", + "family": "Gen4", + "capacity": 2 + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "maxSizeBytes": 1073741824, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "creationDate": "2017-06-07T04:41:33.937Z", + "currentServiceObjectiveName": "BC_Gen4_2", + "defaultSecondaryLocation": "North Europe", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "licenseType": "LicenseIncluded", + "maxLogSizeBytes": 104857600, + "readScale": "Enabled", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "isLedgerOn": false, + "isInfraEncryptionEnabled": false, + "zoneRedundant": false, + "currentSku": { + "name": "BC_Gen4", + "tier": "BusinessCritical", + "capacity": 2 + } + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "BC_Gen4", + "tier": "BusinessCritical", + "family": "Gen4", + "capacity": 2 + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "maxSizeBytes": 1073741824, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "creationDate": "2017-06-07T04:41:33.937Z", + "currentServiceObjectiveName": "BC_Gen4_2", + "defaultSecondaryLocation": "North Europe", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "licenseType": "LicenseIncluded", + "maxLogSizeBytes": 104857600, + "readScale": "Enabled", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "isInfraEncryptionEnabled": false, + "zoneRedundant": false, + "isLedgerOn": false, + "currentSku": { + "name": "BC_Gen4", + "tier": "BusinessCritical", + "capacity": 2 + } + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateVCoreDatabaseBySkuNameCapacity.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateVCoreDatabaseBySkuNameCapacity.json new file mode 100644 index 000000000000..8a562a9f2e03 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateVCoreDatabaseBySkuNameCapacity.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "southeastasia", + "sku": { + "name": "BC_Gen4", + "capacity": 2 + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "BC_Gen4", + "tier": "BusinessCritical", + "family": "Gen4", + "capacity": 2 + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "maxSizeBytes": 1073741824, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "creationDate": "2017-06-07T04:41:33.937Z", + "currentServiceObjectiveName": "BC_Gen4_2", + "defaultSecondaryLocation": "North Europe", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "licenseType": "LicenseIncluded", + "maxLogSizeBytes": 104857600, + "readScale": "Enabled", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "isLedgerOn": false, + "isInfraEncryptionEnabled": false, + "zoneRedundant": false, + "currentSku": { + "name": "BC_Gen4", + "tier": "BusinessCritical", + "capacity": 2 + } + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "BC_Gen4", + "tier": "BusinessCritical", + "family": "Gen4", + "capacity": 2 + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "maxSizeBytes": 1073741824, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "creationDate": "2017-06-07T04:41:33.937Z", + "currentServiceObjectiveName": "BC_Gen4_2", + "defaultSecondaryLocation": "North Europe", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "licenseType": "LicenseIncluded", + "maxLogSizeBytes": 104857600, + "readScale": "Enabled", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "isLedgerOn": false, + "isInfraEncryptionEnabled": false, + "zoneRedundant": false, + "currentSku": { + "name": "BC_Gen4", + "tier": "BusinessCritical", + "capacity": 2 + } + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DataWarehouseRestorePointsGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DataWarehouseRestorePointsGet.json new file mode 100644 index 000000000000..66304acad75f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DataWarehouseRestorePointsGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "restorePointName": "131546477590000000", + "location": "japaneast", + "serverName": "testserver", + "databaseName": "testDatabase", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/servers/testserver/databases/testDatabase/restorePoints/131546477590000000", + "name": "131546477590000000", + "type": "Microsoft.Sql/servers/databases/restorePoints", + "location": "japaneast", + "properties": { + "restorePointType": "DISCRETE", + "restorePointCreationDate": "2017-03-10T08:00:00Z", + "restorePointLabel": "mylabel" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DataWarehouseRestorePointsListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DataWarehouseRestorePointsListByDatabase.json new file mode 100644 index 000000000000..2eb4fbb3832a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DataWarehouseRestorePointsListByDatabase.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "location": "japaneast", + "serverName": "testserver", + "databaseName": "testDatabase", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/servers/testserver/databases/testDatabase/restorePoints/131546477590000000", + "name": "131546477590000000", + "type": "Microsoft.Sql/servers/databases/restorePoints", + "location": "japaneast", + "properties": { + "restorePointType": "DISCRETE", + "restorePointCreationDate": "2017-03-10T08:00:00Z", + "restorePointLabel": "mylabel1" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/servers/testserver/databases/testDatabase/restorePoints/131553636140000000", + "name": "131553636140000000", + "type": "Microsoft.Sql/servers/databases/restorePoints", + "location": "japaneast", + "properties": { + "restorePointType": "DISCRETE", + "restorePointCreationDate": "2017-11-17T03:40:14Z", + "restorePointLabel": "mylabel2" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/servers/testserver/databases/testDatabase/restorePoints/131553619750000000", + "name": "131553619750000000", + "type": "Microsoft.Sql/servers/databases/restorePoints", + "location": "japaneast", + "properties": { + "restorePointType": "DISCRETE", + "restorePointCreationDate": "2017-11-17T03:12:55Z" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAdvisorGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAdvisorGet.json new file mode 100644 index 000000000000..17f2c6529725 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAdvisorGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workloadinsight-demos", + "serverName": "misosisvr", + "databaseName": "IndexAdvisor_test_3", + "advisorName": "CreateIndex", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex", + "name": "CreateIndex", + "type": "Microsoft.Sql/servers/databases/advisors", + "properties": { + "advisorStatus": "GA", + "autoExecuteStatus": "Disabled", + "recommendationsStatus": "Ok", + "lastChecked": "2017-06-20T00:24:39Z" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAdvisorList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAdvisorList.json new file mode 100644 index 000000000000..1c1ab99e297e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAdvisorList.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workloadinsight-demos", + "serverName": "misosisvr", + "databaseName": "IndexAdvisor_test_3", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex", + "name": "CreateIndex", + "type": "Microsoft.Sql/servers/databases/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "GA", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Database", + "recommendationsStatus": "Ok", + "lastChecked": "2017-06-20T00:24:39Z" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/DropIndex", + "name": "DropIndex", + "type": "Microsoft.Sql/servers/databases/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "GA", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Database", + "recommendationsStatus": "DbSeemsTuned", + "lastChecked": "2017-06-19T20:42:43Z" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/DbParameterization", + "name": "DbParameterization", + "type": "Microsoft.Sql/servers/databases/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "GA", + "autoExecuteStatus": "Enabled", + "autoExecuteStatusInheritedFrom": "Database", + "recommendationsStatus": "DbParameterizationIssue", + "lastChecked": "2017-06-19T19:13:03Z" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/SchemaIssue", + "name": "SchemaIssue", + "type": "Microsoft.Sql/servers/databases/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "PublicPreview", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Default", + "recommendationsStatus": "SchemaIsNotConsistent", + "lastChecked": "2017-06-20T14:00:32Z" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/ForceLastGoodPlan", + "name": "ForceLastGoodPlan", + "type": "Microsoft.Sql/servers/databases/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "PrivatePreview", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Default" + } + } + ] + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAdvisorUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAdvisorUpdate.json new file mode 100644 index 000000000000..cc9e5b1bb9ef --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAdvisorUpdate.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workloadinsight-demos", + "serverName": "misosisvr", + "databaseName": "IndexAdvisor_test_3", + "advisorName": "CreateIndex", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "autoExecuteStatus": "Disabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex", + "name": "CreateIndex", + "type": "Microsoft.Sql/servers/databases/advisors", + "properties": { + "advisorStatus": "GA", + "autoExecuteStatus": "Disabled", + "recommendationsStatus": "Ok", + "lastChecked": "2017-06-20T00:24:39Z" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAuditingSettingsList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAuditingSettingsList.json new file mode 100644 index 000000000000..62e8e283287f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAuditingSettingsList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "blobauditingtest-6852", + "serverName": "blobauditingtest-2080", + "databaseName": "testdb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-6852/providers/Microsoft.Sql/servers/blobauditingtest-2080/databases/testdb/auditingSettings/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/auditingSettings", + "kind": "V12", + "properties": { + "state": "Disabled", + "storageEndpoint": "", + "retentionDays": 0, + "auditActionsAndGroups": [], + "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000", + "isStorageSecondaryKeyInUse": false, + "isAzureMonitorTargetEnabled": false + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAutomaticTuningGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAutomaticTuningGet.json new file mode 100644 index 000000000000..13026674eff9 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAutomaticTuningGet.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "c3aa9078-0000-0000-0000-e36f151182d7", + "resourceGroupName": "default-sql-onebox", + "serverName": "testsvr11", + "databaseName": "db1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c3aa9078-0000-0000-0000-e36f151182d7/resourceGroups/default-sql-onebox/providers/Microsoft.Sql/servers/testsvr11/databases/db1/automaticTuning/current", + "name": "current", + "type": "Microsoft.Sql/servers/databases/automaticTuning", + "properties": { + "desiredState": "Auto", + "actualState": "Auto", + "options": { + "forceLastGoodPlan": { + "desiredState": "Default", + "actualState": "On", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + }, + "createIndex": { + "desiredState": "Default", + "actualState": "On", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + }, + "dropIndex": { + "desiredState": "Default", + "actualState": "Off", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + }, + "maintainIndex": { + "desiredState": "Default", + "actualState": "Off", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + } + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAutomaticTuningUpdateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAutomaticTuningUpdateMax.json new file mode 100644 index 000000000000..b48f1549ee34 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAutomaticTuningUpdateMax.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "c3aa9078-0000-0000-0000-e36f151182d7", + "resourceGroupName": "default-sql-onebox", + "serverName": "testsvr11", + "databaseName": "db1", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "desiredState": "Auto", + "options": { + "createIndex": { + "desiredState": "Off" + }, + "dropIndex": { + "desiredState": "On" + }, + "forceLastGoodPlan": { + "desiredState": "Default" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c3aa9078-0000-0000-0000-e36f151182d7/resourceGroups/default-sql-onebox/providers/Microsoft.Sql/servers/testsvr11/databases/db1/automaticTuning/current", + "name": "current", + "type": "Microsoft.Sql/servers/databases/automaticTuning", + "properties": { + "desiredState": "Auto", + "actualState": "Auto", + "options": { + "forceLastGoodPlan": { + "desiredState": "Default", + "actualState": "On", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + }, + "createIndex": { + "desiredState": "Off", + "actualState": "Off" + }, + "dropIndex": { + "desiredState": "On", + "actualState": "On" + }, + "maintainIndex": { + "desiredState": "Default", + "actualState": "Off", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + } + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAutomaticTuningUpdateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAutomaticTuningUpdateMin.json new file mode 100644 index 000000000000..396c2e6e323d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAutomaticTuningUpdateMin.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "c3aa9078-0000-0000-0000-e36f151182d7", + "resourceGroupName": "default-sql-onebox", + "serverName": "testsvr11", + "databaseName": "db1", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "desiredState": "Auto" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c3aa9078-0000-0000-0000-e36f151182d7/resourceGroups/default-sql-onebox/providers/Microsoft.Sql/servers/testsvr11/databases/db1/automaticTuning/current", + "name": "current", + "type": "Microsoft.Sql/servers/databases/automaticTuning", + "properties": { + "desiredState": "Auto", + "actualState": "Auto", + "options": { + "forceLastGoodPlan": { + "desiredState": "Default", + "actualState": "On", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + }, + "createIndex": { + "desiredState": "Default", + "actualState": "On", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + }, + "dropIndex": { + "desiredState": "Default", + "actualState": "Off", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + }, + "maintainIndex": { + "desiredState": "Default", + "actualState": "Off", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + } + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAzureMonitorAuditingCreateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAzureMonitorAuditingCreateMin.json new file mode 100644 index 000000000000..8cbf70e26d15 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseAzureMonitorAuditingCreateMin.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "blobauditingtest-4799", + "serverName": "blobauditingtest-6440", + "databaseName": "testdb", + "blobAuditingPolicyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled", + "isAzureMonitorTargetEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/auditingSettings", + "kind": "V12", + "properties": { + "state": "Enabled", + "isAzureMonitorTargetEnabled": true, + "retentionDays": 0, + "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000", + "auditActionsAndGroups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP" + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/auditingSettings", + "kind": "V12", + "properties": { + "state": "Enabled", + "isAzureMonitorTargetEnabled": true, + "retentionDays": 0, + "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000", + "auditActionsAndGroups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP" + ] + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseBlobAuditingCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseBlobAuditingCreateMax.json new file mode 100644 index 000000000000..597d66725b93 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseBlobAuditingCreateMax.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "blobauditingtest-4799", + "serverName": "blobauditingtest-6440", + "databaseName": "testdb", + "blobAuditingPolicyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled", + "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "retentionDays": 6, + "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000", + "isStorageSecondaryKeyInUse": false, + "queueDelayMs": 4000, + "auditActionsAndGroups": [ + "DATABASE_LOGOUT_GROUP", + "DATABASE_ROLE_MEMBER_CHANGE_GROUP", + "UPDATE on database::TestDatabaseName by public" + ], + "isAzureMonitorTargetEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/auditingSettings", + "kind": "V12", + "properties": { + "state": "Enabled", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "retentionDays": 0, + "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000", + "isStorageSecondaryKeyInUse": false, + "queueDelayMs": 4000, + "auditActionsAndGroups": [ + "DATABASE_LOGOUT_GROUP", + "DATABASE_ROLE_MEMBER_CHANGE_GROUP", + "UPDATE on database::TestDatabaseName by public" + ], + "isAzureMonitorTargetEnabled": true + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/auditingSettings", + "kind": "V12", + "properties": { + "state": "Enabled", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "retentionDays": 0, + "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000", + "isStorageSecondaryKeyInUse": false, + "queueDelayMs": 4000, + "auditActionsAndGroups": [ + "DATABASE_LOGOUT_GROUP", + "DATABASE_ROLE_MEMBER_CHANGE_GROUP", + "UPDATE on database::TestDatabaseName by public" + ], + "isAzureMonitorTargetEnabled": true + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseBlobAuditingCreateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseBlobAuditingCreateMin.json new file mode 100644 index 000000000000..d4867555cfcc --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseBlobAuditingCreateMin.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "blobauditingtest-4799", + "serverName": "blobauditingtest-6440", + "databaseName": "testdb", + "blobAuditingPolicyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled", + "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storageEndpoint": "https://mystorage.blob.core.windows.net" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/auditingSettings", + "kind": "V12", + "properties": { + "state": "Enabled", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "retentionDays": 0, + "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000", + "isStorageSecondaryKeyInUse": false, + "auditActionsAndGroups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP" + ], + "isAzureMonitorTargetEnabled": false + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/auditingSettings", + "kind": "V12", + "properties": { + "state": "Enabled", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "retentionDays": 0, + "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000", + "isStorageSecondaryKeyInUse": false, + "auditActionsAndGroups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP" + ], + "isAzureMonitorTargetEnabled": false + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseBlobAuditingGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseBlobAuditingGet.json new file mode 100644 index 000000000000..0686a6a67134 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseBlobAuditingGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "blobauditingtest-6852", + "serverName": "blobauditingtest-2080", + "databaseName": "testdb", + "blobAuditingPolicyName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-6852/providers/Microsoft.Sql/servers/blobauditingtest-2080/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/auditingSettings", + "kind": "V12", + "properties": { + "state": "Disabled", + "storageEndpoint": "", + "retentionDays": 0, + "auditActionsAndGroups": [], + "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000", + "isStorageSecondaryKeyInUse": false, + "isAzureMonitorTargetEnabled": false + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseColumnGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseColumnGet.json new file mode 100644 index 000000000000..fcd629d1a292 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseColumnGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "serverName": "serverName", + "databaseName": "myDatabase", + "schemaName": "dbo", + "tableName": "table1", + "columnName": "column1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo/tables/table1/columns/column1", + "name": "column1", + "type": "Microsoft.Sql/servers/databases/schemas/tables/columns", + "properties": { + "columnType": "bit", + "temporalType": "SystemVersionedTemporalTable", + "memoryOptimized": false, + "isComputed": false + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseColumnListByTable.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseColumnListByTable.json new file mode 100644 index 000000000000..d9bf573e8dd8 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseColumnListByTable.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "serverName": "serverName", + "databaseName": "myDatabase", + "schemaName": "dbo", + "tableName": "table1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo/tables/table1/columns/col1", + "name": "col1", + "type": "Microsoft.Sql/servers/databases/schemas/tables/columns", + "properties": { + "columnType": "nvarchar", + "temporalType": "NonTemporalTable", + "memoryOptimized": false, + "isComputed": false + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo/tables/table1/columns/col2", + "name": "col2", + "type": "Microsoft.Sql/servers/databases/schemas/tables/columns", + "properties": { + "columnType": "bit", + "temporalType": "NonTemporalTable", + "memoryOptimized": false, + "isComputed": false + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseExtendedAuditingSettingsList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseExtendedAuditingSettingsList.json new file mode 100644 index 000000000000..cda3aad6ed76 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseExtendedAuditingSettingsList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "blobauditingtest-6852", + "serverName": "blobauditingtest-2080", + "databaseName": "testdb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-6852/providers/Microsoft.Sql/servers/blobauditingtest-2080/databases/testdb/extendedAuditingSettings/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/extendedAuditingSettings", + "properties": { + "state": "Disabled", + "storageEndpoint": "", + "retentionDays": 0, + "auditActionsAndGroups": [], + "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000", + "isStorageSecondaryKeyInUse": false, + "predicateExpression": "statement = 'select 1'", + "isAzureMonitorTargetEnabled": false + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRecommendedActionGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRecommendedActionGet.json new file mode 100644 index 000000000000..1307c27a844d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRecommendedActionGet.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workloadinsight-demos", + "serverName": "misosisvr", + "databaseName": "IndexAdvisor_test_3", + "advisorName": "CreateIndex", + "recommendedActionName": "IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB", + "name": "IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB", + "type": "Microsoft.Sql/servers/databases/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "", + "validSince": "2017-03-01T14:38:04Z", + "lastRefresh": "2017-03-01T14:38:04Z", + "state": { + "currentValue": "Active", + "lastModified": "2017-03-01T14:38:05Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "score": 1, + "implementationDetails": { + "method": "TSql", + "script": "CREATE NONCLUSTERED INDEX [nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B] ON [CRM].[DataPoints] ([Name],[Money],[Power]) INCLUDE ([Hour], [System], [LastChanged]) WITH (ONLINE = ON)" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 1440.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 209.3125 + } + ], + "observedImpact": [], + "timeSeries": [], + "details": { + "indexName": "nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B", + "indexType": "NONCLUSTERED", + "schema": "[CRM]", + "table": "[DataPoints]", + "indexColumns": "[Name],[Money],[Power]", + "includedColumns": "[Hour], [System], [LastChanged]" + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRecommendedActionList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRecommendedActionList.json new file mode 100644 index 000000000000..380380a85929 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRecommendedActionList.json @@ -0,0 +1,197 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workloadinsight-demos", + "serverName": "misosisvr", + "databaseName": "IndexAdvisor_test_3", + "advisorName": "CreateIndex", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB", + "name": "IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB", + "type": "Microsoft.Sql/servers/databases/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "", + "validSince": "2017-03-01T14:38:04Z", + "lastRefresh": "2017-03-01T14:38:04Z", + "state": { + "currentValue": "Active", + "lastModified": "2017-03-01T14:38:05Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "score": 1, + "implementationDetails": { + "method": "TSql", + "script": "CREATE NONCLUSTERED INDEX [nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B] ON [CRM].[DataPoints] ([Name],[Money],[Power]) INCLUDE ([Hour], [System], [LastChanged]) WITH (ONLINE = ON)" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 1440.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 209.3125 + } + ], + "observedImpact": [], + "timeSeries": [], + "details": { + "indexName": "nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B", + "indexType": "NONCLUSTERED", + "schema": "[CRM]", + "table": "[DataPoints]", + "indexColumns": "[Name],[Money],[Power]", + "includedColumns": "[Hour], [System], [LastChanged]" + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[dbo]_[DataPoints]_F5D2F347AA22DB46E4CC", + "name": "IR_[dbo]_[DataPoints]_F5D2F347AA22DB46E4CC", + "type": "Microsoft.Sql/servers/databases/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "", + "validSince": "2017-03-01T14:38:05Z", + "lastRefresh": "2017-03-01T14:38:05Z", + "state": { + "currentValue": "Success", + "actionInitiatedBy": "User", + "lastModified": "2017-03-01T14:38:05Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "executeActionStartTime": "2017-03-01T14:38:05Z", + "executeActionDuration": "PT1M", + "executeActionInitiatedBy": "User", + "executeActionInitiatedTime": "2017-03-01T14:38:05Z", + "score": 3, + "implementationDetails": { + "method": "TSql", + "script": "DROP INDEX [nci_wi_DataPoints_609E4B7D6A3813990ED44B28B340C8FC] ON [dbo].[DataPoints]" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 5040.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 120.0 + } + ], + "observedImpact": [ + { + "dimensionName": "AffectedQueriesCpuUtilization", + "unit": "CpuCores", + "changeValueAbsolute": -12.7, + "changeValueRelative": -0.9 + }, + { + "dimensionName": "CpuUtilization", + "unit": "CpuCores", + "changeValueAbsolute": -12.7, + "changeValueRelative": -0.3175 + }, + { + "dimensionName": "QueriesWithImprovedPerformance", + "unit": "Count", + "absoluteValue": 12.0 + }, + { + "dimensionName": "QueriesWithRegressedPerformance", + "unit": "Count", + "absoluteValue": 1.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 130.742187 + }, + { + "dimensionName": "VerificationProgress", + "unit": "Percent", + "absoluteValue": 0.0 + } + ], + "timeSeries": [], + "details": { + "indexName": "nci_wi_DataPoints_609E4B7D6A3813990ED44B28B340C8FC", + "indexType": "NONCLUSTERED", + "schema": "[dbo]", + "table": "[DataPoints]", + "indexColumns": "[Name],[Money]", + "includedColumns": "[Power],[Pineapple]", + "indexActionStartTime": "2017-03-01T14:38:05.337", + "indexActionDuration": "00:01:00" + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[dbo]_[Employees]_560E15A98D14CA09BDFB", + "name": "IR_[dbo]_[Employees]_560E15A98D14CA09BDFB", + "type": "Microsoft.Sql/servers/databases/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "", + "validSince": "2017-03-01T14:38:05Z", + "lastRefresh": "2017-03-01T14:38:05Z", + "state": { + "currentValue": "Active", + "lastModified": "2017-03-01T14:38:05Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "score": 3, + "implementationDetails": { + "method": "TSql", + "script": "CREATE NONCLUSTERED INDEX [nci_wi_Employees_8C18C2AF4267DC77793040782641CCDE] ON [dbo].[Employees] ([City], [State]) INCLUDE ([Postal]) WITH (ONLINE = ON)" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 17.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 128.0 + } + ], + "observedImpact": [], + "timeSeries": [], + "details": { + "indexName": "nci_wi_Employees_8C18C2AF4267DC77793040782641CCDE", + "indexType": "NONCLUSTERED", + "schema": "[dbo]", + "table": "[Employees]", + "indexColumns": "[City], [State]", + "includedColumns": "[Postal]" + } + } + } + ] + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRecommendedActionListExpand.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRecommendedActionListExpand.json new file mode 100644 index 000000000000..6e4858e16ca9 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRecommendedActionListExpand.json @@ -0,0 +1,625 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workloadinsight-demos", + "serverName": "misosisvr", + "databaseName": "IndexAdvisor_test_3", + "advisorName": "CreateIndex", + "api-version": "2021-05-01-preview", + "$expand": "recommendedActions" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex", + "name": "CreateIndex", + "type": "Microsoft.Sql/servers/databases/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "GA", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Database", + "recommendationsStatus": "Ok", + "lastChecked": "2017-06-20T16:39:16Z", + "recommendedActions": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB", + "name": "IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB", + "type": "Microsoft.Sql/servers/databases/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "", + "validSince": "2017-03-01T14:38:04Z", + "lastRefresh": "2017-03-01T14:38:04Z", + "state": { + "currentValue": "Active", + "lastModified": "2017-06-20T15:15:40Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "score": 1, + "implementationDetails": { + "method": "TSql", + "script": "CREATE NONCLUSTERED INDEX [nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B] ON [CRM].[DataPoints] ([Name],[Money],[Power]) INCLUDE ([Hour], [System], [LastChanged]) WITH (ONLINE = ON)" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 1440.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 209.3125 + } + ], + "observedImpact": [], + "timeSeries": [], + "details": { + "indexName": "nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B", + "indexType": "NONCLUSTERED", + "schema": "[CRM]", + "table": "[DataPoints]", + "indexColumns": "[Name],[Money],[Power]", + "includedColumns": "[Hour], [System], [LastChanged]" + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[dbo]_[DataPoints]_F5D2F347AA22DB46E4CC", + "name": "IR_[dbo]_[DataPoints]_F5D2F347AA22DB46E4CC", + "type": "Microsoft.Sql/servers/databases/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "", + "validSince": "2017-03-01T14:38:05Z", + "lastRefresh": "2017-03-01T14:38:05Z", + "state": { + "currentValue": "Success", + "actionInitiatedBy": "User", + "lastModified": "2017-03-01T14:38:05Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "executeActionStartTime": "2017-03-01T14:38:05Z", + "executeActionDuration": "PT1M", + "executeActionInitiatedBy": "User", + "executeActionInitiatedTime": "2017-03-01T14:38:05Z", + "score": 3, + "implementationDetails": { + "method": "TSql", + "script": "DROP INDEX [nci_wi_DataPoints_609E4B7D6A3813990ED44B28B340C8FC] ON [dbo].[DataPoints]" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 5040.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 120.0 + } + ], + "observedImpact": [ + { + "dimensionName": "AffectedQueriesCpuUtilization", + "unit": "CpuCores", + "changeValueAbsolute": -12.7, + "changeValueRelative": -0.9 + }, + { + "dimensionName": "CpuUtilization", + "unit": "CpuCores", + "changeValueAbsolute": -12.7, + "changeValueRelative": -0.3175 + }, + { + "dimensionName": "QueriesWithImprovedPerformance", + "unit": "Count", + "absoluteValue": 12.0 + }, + { + "dimensionName": "QueriesWithRegressedPerformance", + "unit": "Count", + "absoluteValue": 1.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 130.742187 + }, + { + "dimensionName": "VerificationProgress", + "unit": "Percent", + "absoluteValue": 0.0 + } + ], + "timeSeries": [], + "details": { + "indexName": "nci_wi_DataPoints_609E4B7D6A3813990ED44B28B340C8FC", + "indexType": "NONCLUSTERED", + "schema": "[dbo]", + "table": "[DataPoints]", + "indexColumns": "[Name],[Money]", + "includedColumns": "[Power],[Pineapple]", + "indexActionStartTime": "2017-03-01T14:38:05.337", + "indexActionDuration": "00:01:00" + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[dbo]_[Employees]_560E15A98D14CA09BDFB", + "name": "IR_[dbo]_[Employees]_560E15A98D14CA09BDFB", + "type": "Microsoft.Sql/servers/databases/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "", + "validSince": "2017-03-01T14:38:05Z", + "lastRefresh": "2017-03-01T14:38:05Z", + "state": { + "currentValue": "Active", + "lastModified": "2017-03-01T14:38:05Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "score": 3, + "implementationDetails": { + "method": "TSql", + "script": "CREATE NONCLUSTERED INDEX [nci_wi_Employees_8C18C2AF4267DC77793040782641CCDE] ON [dbo].[Employees] ([City], [State]) INCLUDE ([Postal]) WITH (ONLINE = ON)" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 17.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 128.0 + } + ], + "observedImpact": [], + "timeSeries": [], + "details": { + "indexName": "nci_wi_Employees_8C18C2AF4267DC77793040782641CCDE", + "indexType": "NONCLUSTERED", + "schema": "[dbo]", + "table": "[Employees]", + "indexColumns": "[City], [State]", + "includedColumns": "[Postal]" + } + } + } + ] + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/DropIndex", + "name": "DropIndex", + "type": "Microsoft.Sql/servers/databases/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "GA", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Database", + "recommendationsStatus": "DbSeemsTuned", + "lastChecked": "2017-06-19T20:42:43Z", + "recommendedActions": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/DropIndex/recommendedActions/IR_[CRM]_[DataPoints1]_13ADA5F354E9E14A983B", + "name": "IR_[CRM]_[DataPoints1]_13ADA5F354E9E14A983B", + "type": "Microsoft.Sql/servers/databases/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "Unused", + "validSince": "2017-03-01T14:38:05Z", + "lastRefresh": "2017-03-01T14:38:05Z", + "state": { + "currentValue": "Pending", + "actionInitiatedBy": "System", + "lastModified": "2017-03-23T14:14:35Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "executeActionInitiatedBy": "System", + "executeActionInitiatedTime": "2017-03-23T14:14:35Z", + "score": 1, + "implementationDetails": { + "method": "TSql", + "script": "DROP INDEX [IX_FF] ON [CRM].[DataPoints1]" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 645.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 342.0 + } + ], + "observedImpact": [], + "timeSeries": [], + "details": { + "indexName": "IX_FF", + "originalIndexName": "IX_COM_SKU_SKUDepartmentID", + "indexType": "NONCLUSTERED", + "schema": "[CRM]", + "table": "[DataPoints1]", + "indexColumns": "[Protocol],[SessionId]", + "includedColumns": "[Apple]" + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/DropIndex/recommendedActions/IR_[CRM]_[DataPoints1]_29AEA82685D24704DE1A", + "name": "IR_[CRM]_[DataPoints1]_29AEA82685D24704DE1A", + "type": "Microsoft.Sql/servers/databases/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "Duplicate", + "validSince": "2017-03-01T14:38:05Z", + "lastRefresh": "2017-03-01T14:38:05Z", + "state": { + "currentValue": "Pending", + "actionInitiatedBy": "System", + "lastModified": "2017-03-01T14:38:05Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "executeActionInitiatedBy": "System", + "executeActionInitiatedTime": "2017-03-01T14:38:05Z", + "score": 1, + "implementationDetails": { + "method": "TSql", + "script": "DROP INDEX [MyIndex123] ON [CRM].[DataPoints1]" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 803.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 144.6875 + } + ], + "observedImpact": [], + "timeSeries": [], + "details": { + "indexName": "MyIndex123", + "originalIndexName": "IX_COM_SKU_SKUDepartmentID", + "indexType": "NONCLUSTERED", + "schema": "[CRM]", + "table": "[DataPoints1]", + "indexColumns": "[Cookies],[SessionId]", + "includedColumns": "[Apple]" + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/DropIndex/recommendedActions/IR_[CRM]_[DataPoints2]_E4B21F229379807E531A", + "name": "IR_[CRM]_[DataPoints2]_E4B21F229379807E531A", + "type": "Microsoft.Sql/servers/databases/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "Duplicate", + "validSince": "2017-03-01T14:38:05Z", + "lastRefresh": "2017-03-01T14:38:05Z", + "state": { + "currentValue": "Success", + "actionInitiatedBy": "User", + "lastModified": "2017-03-01T14:38:05Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "executeActionStartTime": "2017-03-01T14:38:05Z", + "executeActionDuration": "PT1M", + "executeActionInitiatedBy": "User", + "executeActionInitiatedTime": "2017-03-01T14:38:05Z", + "score": 1, + "implementationDetails": { + "method": "TSql", + "script": "CREATE NONCLUSTERED INDEX [MyIndex321] ON [CRM].[DataPoints2] ([Cookies],[SessionId],[Protocol]) INCLUDE ([Apple]) WITH (ONLINE = ON)" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 705.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 342.0 + } + ], + "observedImpact": [ + { + "dimensionName": "AffectedQueriesCpuUtilization", + "unit": "CpuCores", + "changeValueAbsolute": 0.0, + "changeValueRelative": 0.0 + }, + { + "dimensionName": "CpuUtilization", + "unit": "CpuCores", + "changeValueAbsolute": 0.0, + "changeValueRelative": 0.0 + }, + { + "dimensionName": "QueriesWithImprovedPerformance", + "unit": "Count", + "absoluteValue": 0.0 + }, + { + "dimensionName": "QueriesWithRegressedPerformance", + "unit": "Count", + "absoluteValue": 0.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": -342.0 + }, + { + "dimensionName": "VerificationProgress", + "unit": "Percent", + "absoluteValue": 0.0 + } + ], + "timeSeries": [], + "details": { + "indexName": "MyIndex321", + "originalIndexName": "IX_COM_SKU_SKUDepartmentID", + "indexType": "NONCLUSTERED", + "schema": "[CRM]", + "table": "[DataPoints2]", + "indexColumns": "[Cookies],[SessionId],[Protocol]", + "includedColumns": "[Apple]", + "indexActionStartTime": "2017-03-01T14:38:05.697", + "indexActionDuration": "00:01:00" + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/DropIndex/recommendedActions/IR_[dbo]_[FactFinance]_13ADA5F354E9E14A983B", + "name": "IR_[dbo]_[FactFinance]_13ADA5F354E9E14A983B", + "type": "Microsoft.Sql/servers/databases/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "Duplicate", + "validSince": "2017-03-01T14:38:05Z", + "lastRefresh": "2017-03-01T14:38:05Z", + "state": { + "currentValue": "Success", + "actionInitiatedBy": "System", + "lastModified": "2017-02-28T14:38:05Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "executeActionStartTime": "2017-03-01T14:38:05Z", + "executeActionDuration": "PT1M", + "executeActionInitiatedBy": "System", + "executeActionInitiatedTime": "2017-03-01T14:38:05Z", + "score": 1, + "implementationDetails": { + "method": "TSql", + "script": "CREATE NONCLUSTERED INDEX [IX_FF] ON [dbo].[FactFinance] ([FinanceKey],[DateKey]) INCLUDE ([OrganizationKey]) WITH (ONLINE = ON)" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 705.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 342.0 + } + ], + "observedImpact": [ + { + "dimensionName": "AffectedQueriesCpuUtilization", + "unit": "CpuCores", + "changeValueAbsolute": 0.0, + "changeValueRelative": 0.0 + }, + { + "dimensionName": "CpuUtilization", + "unit": "CpuCores", + "changeValueAbsolute": 0.0, + "changeValueRelative": 0.0 + }, + { + "dimensionName": "QueriesWithImprovedPerformance", + "unit": "Count", + "absoluteValue": 0.0 + }, + { + "dimensionName": "QueriesWithRegressedPerformance", + "unit": "Count", + "absoluteValue": 0.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": -342.0 + }, + { + "dimensionName": "VerificationProgress", + "unit": "Percent", + "absoluteValue": 0.0 + } + ], + "timeSeries": [], + "details": { + "indexName": "IX_FF", + "originalIndexName": "IX_COM_SKU_SKUDepartmentID", + "indexType": "NONCLUSTERED", + "schema": "[dbo]", + "table": "[FactFinance]", + "indexColumns": "[FinanceKey],[DateKey]", + "includedColumns": "[OrganizationKey]", + "indexActionStartTime": "2017-03-01T14:38:05.837", + "indexActionDuration": "00:01:00" + } + } + } + ] + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/DbParameterization", + "name": "DbParameterization", + "type": "Microsoft.Sql/servers/databases/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "GA", + "autoExecuteStatus": "Enabled", + "autoExecuteStatusInheritedFrom": "Database", + "recommendationsStatus": "DbParameterizationIssue", + "lastChecked": "2017-06-19T19:13:03Z", + "recommendedActions": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/DbParameterization/recommendedActions/ForceDbParameterization", + "name": "ForceDbParameterization", + "type": "Microsoft.Sql/servers/databases/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "", + "validSince": "2017-03-01T14:37:44Z", + "lastRefresh": "2017-03-01T14:37:44Z", + "state": { + "currentValue": "Pending", + "actionInitiatedBy": "System", + "lastModified": "2017-05-11T15:08:31Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "executeActionInitiatedBy": "System", + "executeActionInitiatedTime": "2017-05-11T15:08:31Z", + "score": 3, + "implementationDetails": { + "method": "TSql", + "script": "ALTER DATABASE [IndexAdvisor_test_3] SET PARAMETERIZATION FORCED" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "CpuSavings", + "unit": "Percent", + "changeValueAbsolute": 22.5613696939135 + }, + { + "dimensionName": "QueryDurationDecrease", + "unit": "secs", + "changeValueAbsolute": 0.701823681806341 + } + ], + "observedImpact": [], + "timeSeries": [] + } + } + ] + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/SchemaIssue", + "name": "SchemaIssue", + "type": "Microsoft.Sql/servers/databases/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "PublicPreview", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Default", + "recommendationsStatus": "SchemaIsNotConsistent", + "lastChecked": "2017-06-20T18:50:21Z", + "recommendedActions": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/SchemaIssue/recommendedActions/SchemaProblem_1A258C5714A7410C9D23", + "name": "SchemaProblem_1A258C5714A7410C9D23", + "type": "Microsoft.Sql/servers/databases/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "SchemaProblem", + "validSince": "2017-03-01T14:37:48Z", + "lastRefresh": "2017-06-07T22:19:53Z", + "state": { + "currentValue": "Active", + "lastModified": "2017-03-01T14:37:48Z" + }, + "isExecutableAction": false, + "isRevertableAction": false, + "isArchivedAction": false, + "score": 3, + "implementationDetails": {}, + "errorDetails": {}, + "estimatedImpact": [], + "observedImpact": [], + "timeSeries": [], + "details": { + "sqlErrorNumber": 208, + "sqlErrorMessage": "Invalid object name 'dbo.Companies'.", + "sqlErrorCount": 342482 + } + } + } + ] + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/ForceLastGoodPlan", + "name": "ForceLastGoodPlan", + "type": "Microsoft.Sql/servers/databases/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "PrivatePreview", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Default", + "recommendedActions": [] + } + } + ] + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRecommendedActionUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRecommendedActionUpdate.json new file mode 100644 index 000000000000..baf821089117 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRecommendedActionUpdate.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workloadinsight-demos", + "serverName": "misosisvr", + "databaseName": "IndexAdvisor_test_3", + "advisorName": "CreateIndex", + "recommendedActionName": "IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": { + "currentValue": "Pending" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB", + "name": "IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB", + "type": "Microsoft.Sql/servers/databases/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "", + "validSince": "2017-03-01T14:38:04Z", + "lastRefresh": "2017-03-01T14:38:04Z", + "state": { + "currentValue": "Pending", + "actionInitiatedBy": "User", + "lastModified": "2017-06-20T15:11:15Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "executeActionInitiatedBy": "User", + "executeActionInitiatedTime": "2017-06-20T15:11:15Z", + "score": 1, + "implementationDetails": { + "method": "TSql", + "script": "CREATE NONCLUSTERED INDEX [nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B] ON [CRM].[DataPoints] ([Name],[Money],[Power]) INCLUDE ([Hour], [System], [LastChanged]) WITH (ONLINE = ON)" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 1440.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 209.3125 + } + ], + "observedImpact": [], + "timeSeries": [], + "details": { + "indexName": "nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B", + "indexType": "NONCLUSTERED", + "schema": "[CRM]", + "table": "[DataPoints]", + "indexColumns": "[Name],[Money],[Power]", + "includedColumns": "[Hour], [System], [LastChanged]" + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRestorePointsDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRestorePointsDelete.json new file mode 100644 index 000000000000..ea2b284707fd --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRestorePointsDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "restorePointName": "131546477590000000", + "location": "japaneast", + "serverName": "testserver", + "databaseName": "testDatabase", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRestorePointsGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRestorePointsGet.json new file mode 100644 index 000000000000..2f4d8f4f6b0d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRestorePointsGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "restorePointName": "131546477590000000", + "location": "japaneast", + "serverName": "testserver", + "databaseName": "testDatabase", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/servers/testserver/databases/testDatabase/restorePoints/ContinuousRestorePoint", + "name": "ContinuousRestorePoint", + "type": "Microsoft.Sql/servers/databases/restorePoints", + "location": "japaneast", + "properties": { + "restorePointType": "CONTINUOUS", + "earliestRestoreDate": "2017-03-10T08:00:00Z" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRestorePointsListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRestorePointsListByDatabase.json new file mode 100644 index 000000000000..533bb6f35380 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRestorePointsListByDatabase.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-6730", + "serverName": "sqlcrudtest-9007", + "databaseName": "3481", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-6730/providers/Microsoft.Sql/servers/sqlcrudtest-9007/databases/3481/restorepoints/ContinuousRestorePoint", + "name": "ContinuousRestorePoint", + "location": "West US", + "type": "Microsoft.Sql/servers/databases/restorePoints", + "properties": { + "restorePointType": "CONTINUOUS", + "earliestRestoreDate": "2017-06-12T00:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRestorePointsPost.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRestorePointsPost.json new file mode 100644 index 000000000000..f02065d30b37 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseRestorePointsPost.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "location": "japaneast", + "serverName": "testserver", + "databaseName": "testDatabase", + "api-version": "2021-05-01-preview", + "parameters": { + "restorePointLabel": "mylabel" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/servers/testserver/databases/testDatabase/restorePoints/131546477590000000", + "name": "131546477590000000", + "type": "Microsoft.Sql/servers/databases/restorePoints", + "location": "japaneast", + "properties": { + "restorePointType": "DISCRETE", + "restorePointCreationDate": "2017-03-10T08:00:00Z", + "restorePointLabel": "mylabel" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/servers/testserver/databases/testDatabase/restorePoints/131546477590000000", + "name": "131546477590000000", + "type": "Microsoft.Sql/servers/databases/restorePoints", + "location": "southeastasia", + "properties": { + "restorePointType": "DISCRETE", + "restorePointCreationDate": "2017-03-10T08:00:00Z", + "restorePointLabel": "mylabel" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseSchemaGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseSchemaGet.json new file mode 100644 index 000000000000..ad6a3b3297d7 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseSchemaGet.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "serverName": "serverName", + "databaseName": "myDatabase", + "schemaName": "dbo", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo", + "name": "dbo", + "type": "Microsoft.Sql/servers/databases/schemas" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseSchemaListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseSchemaListByDatabase.json new file mode 100644 index 000000000000..2a53927eb51c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseSchemaListByDatabase.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "serverName": "serverName", + "databaseName": "myDatabase", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo", + "name": "dbo", + "type": "Microsoft.Sql/servers/databases/schemas" + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/schema2", + "name": "schema2", + "type": "Microsoft.Sql/servers/databases/schemas" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseSecurityAlertCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseSecurityAlertCreateMax.json new file mode 100644 index 000000000000..c2a124084b1b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseSecurityAlertCreateMax.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "serverName": "securityalert-6440", + "databaseName": "testdb", + "securityAlertPolicyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [ + "test@microsoft.com", + "user@microsoft.com" + ], + "disabledAlerts": [ + "Sql_Injection", + "Usage_Anomaly" + ], + "retentionDays": 6, + "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storageEndpoint": "https://mystorage.blob.core.windows.net" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/securityAlertPolicies", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-03T04:41:33.937Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-03T04:41:33.937Z" + }, + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [ + "test@microsoft.com", + "user@microsoft.com" + ], + "disabledAlerts": [ + "Sql_Injection", + "Usage_Anomaly" + ], + "retentionDays": 6, + "storageAccountAccessKey": "", + "storageEndpoint": "https://mystorage.blob.core.windows.net" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/securityAlertPolicies", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-03T04:41:33.937Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-03T04:41:33.937Z" + }, + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [ + "test@microsoft.com", + "user@microsoft.com" + ], + "disabledAlerts": [ + "Access_Anomaly", + "Usage_Anomaly" + ], + "retentionDays": 6, + "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storageEndpoint": "https://mystorage.blob.core.windows.net" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseSecurityAlertCreateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseSecurityAlertCreateMin.json new file mode 100644 index 000000000000..9d9abff4b406 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseSecurityAlertCreateMin.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "serverName": "securityalert-6440", + "databaseName": "testdb", + "securityAlertPolicyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/securityAlertPolicies", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-03T04:41:33.937Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-03T04:41:33.937Z" + }, + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [], + "disabledAlerts": [], + "retentionDays": 0, + "storageAccountAccessKey": "", + "storageEndpoint": "" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/securityAlertPolicies", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-03T04:41:33.937Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-03T04:41:33.937Z" + }, + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [], + "disabledAlerts": [], + "retentionDays": 0, + "storageAccountAccessKey": "", + "storageEndpoint": "" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseSecurityAlertGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseSecurityAlertGet.json new file mode 100644 index 000000000000..3bb676a36481 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseSecurityAlertGet.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-6852", + "serverName": "securityalert-2080", + "databaseName": "testdb", + "securityAlertPolicyName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-6852/providers/Microsoft.Sql/servers/securityalert-2080/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/securityAlertPolicies", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-03T04:41:33.937Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-03T04:41:33.937Z" + }, + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [ + "test@consoto.com", + "user@consoto.com" + ], + "disabledAlerts": [ + "Usage_Anomaly" + ], + "retentionDays": 0, + "storageAccountAccessKey": "", + "creationTime": "2020-04-03T04:41:33.937Z" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseSecurityAlertListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseSecurityAlertListByDatabase.json new file mode 100644 index 000000000000..4b0c2d154bdc --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseSecurityAlertListByDatabase.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-6852", + "serverName": "securityalert-2080", + "databaseName": "testdb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-6852/providers/Microsoft.Sql/servers/securityalert-2080/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/securityAlertPolicies", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-03T04:41:33.937Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-03T04:41:33.937Z" + }, + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [ + "test@consoto.com", + "user@consoto.com" + ], + "disabledAlerts": [ + "Usage_Anomaly" + ], + "retentionDays": 0, + "storageAccountAccessKey": "", + "storageEndpoint": "", + "creationTime": "2020-04-03T04:41:33.937Z" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseTableGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseTableGet.json new file mode 100644 index 000000000000..e5ea983bf976 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseTableGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "serverName": "serverName", + "databaseName": "myDatabase", + "schemaName": "dbo", + "tableName": "table1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo/tables/table1", + "name": "table1", + "type": "Microsoft.Sql/servers/databases/schemas/tables" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseTableListBySchema.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseTableListBySchema.json new file mode 100644 index 000000000000..2ca8d623451b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseTableListBySchema.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "serverName": "serverName", + "databaseName": "myDatabase", + "schemaName": "dbo", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo/tables/table1", + "name": "table1", + "type": "Microsoft.Sql/servers/databases/schemas/tables" + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo/tables/table2", + "name": "table2", + "type": "Microsoft.Sql/servers/databases/schemas/tables" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentCreateContainerSasKeyMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentCreateContainerSasKeyMin.json new file mode 100644 index 000000000000..806ea13503d4 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentCreateContainerSasKeyMin.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "serverName": "vulnerabilityaseessmenttest-6440", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "storageContainerPath": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storageContainerSasKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": false, + "emails": [] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": false, + "emails": [] + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentCreateMax.json new file mode 100644 index 000000000000..575ee2fd1c31 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentCreateMax.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "serverName": "vulnerabilityaseessmenttest-6440", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "storageContainerPath": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storageContainerSasKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "storageAccountAccessKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentCreateStorageAccessKeyMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentCreateStorageAccessKeyMin.json new file mode 100644 index 000000000000..2af1d46c6b7e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentCreateStorageAccessKeyMin.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "serverName": "vulnerabilityaseessmenttest-6440", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "storageContainerPath": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storageAccountAccessKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": false, + "emails": [] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": false, + "emails": [] + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentDelete.json new file mode 100644 index 000000000000..19709f28b170 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "serverName": "vulnerabilityaseessmenttest-6440", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentGet.json new file mode 100644 index 000000000000..206e12168d58 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "serverName": "vulnerabilityaseessmenttest-6440", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentListByDatabase.json new file mode 100644 index 000000000000..eb88be77acaf --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentListByDatabase.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "serverName": "vulnerabilityaseessmenttest-6440", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentRuleBaselineCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentRuleBaselineCreate.json new file mode 100644 index 000000000000..6914141cd221 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentRuleBaselineCreate.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "serverName": "vulnerabilityaseessmenttest-6440", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "ruleId": "VA1001", + "baselineName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "baselineResults": [ + { + "result": [ + "userA", + "SELECT" + ] + }, + { + "result": [ + "userB", + "SELECT" + ] + }, + { + "result": [ + "userC", + "SELECT", + "tableId_4" + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/rules/VA1001/baselines/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines", + "properties": { + "baselineResults": [ + { + "result": [ + "userA", + "SELECT" + ] + }, + { + "result": [ + "userB", + "SELECT" + ] + }, + { + "result": [ + "userC", + "SELECT", + "tableId_4" + ] + } + ] + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentRuleBaselineDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentRuleBaselineDelete.json new file mode 100644 index 000000000000..44cd76fee3f1 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentRuleBaselineDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "serverName": "vulnerabilityaseessmenttest-6440", + "databaseName": "testdb", + "baselineName": "default", + "ruleId": "VA1001", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentRuleBaselineGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentRuleBaselineGet.json new file mode 100644 index 000000000000..6f70dc43bebc --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentRuleBaselineGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4711", + "serverName": "vulnerabilityaseessmenttest-6411", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "ruleId": "VA1001", + "baselineName": "master", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/rules/VA1001/baselines/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines", + "properties": { + "baselineResults": [ + { + "result": [ + "userA", + "SELECT" + ] + }, + { + "result": [ + "userB", + "SELECT" + ] + }, + { + "result": [ + "userC", + "SELECT", + "tableId_4" + ] + } + ] + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentScanExport.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentScanExport.json new file mode 100644 index 000000000000..c4fde1109823 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentScanExport.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityassessmenttest-4799", + "serverName": "vulnerabilityassessmenttest-6440", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "scanId": "scan001", + "api-version": "2021-05-01-preview", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan001/export", + "name": "scan001", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans/export", + "properties": { + "exportedReportLocation": "https://myaccount.blob.core.windows.net/vulnerabilityAssessment/vulnerabilityassessmenttest-6440/testdb/scan001.xlsx" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan001/export", + "name": "scan001", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans/export", + "properties": { + "exportedReportLocation": "https://myaccount.blob.core.windows.net/vulnerabilityAssessment/vulnerabilityassessmenttest-6440/testdb/scan001.xlsx" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentScanRecordsGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentScanRecordsGet.json new file mode 100644 index 000000000000..780b8c7ee9fb --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentScanRecordsGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityassessmenttest-4711", + "serverName": "vulnerabilityassessmenttest-6411", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "scanId": "scan001", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan001", + "name": "scan001", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans", + "properties": { + "scanId": "scan001", + "triggerType": "OnDemand", + "state": "Passed", + "startTime": "2017-12-12T17:45:06Z", + "endTime": "2017-12-12T17:47:06Z", + "errors": [], + "storageContainerPath": "https://myaccount.blob.core.windows.net/vulnerability-assessment", + "numberOfFailedSecurityChecks": 9 + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentScanRecordsListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentScanRecordsListByDatabase.json new file mode 100644 index 000000000000..946705b70954 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentScanRecordsListByDatabase.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityassessmenttest-4711", + "serverName": "vulnerabilityassessmenttest-6411", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan001", + "name": "scan001", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans", + "properties": { + "scanId": "scan001", + "triggerType": "OnDemand", + "state": "Passed", + "startTime": "2017-12-12T17:45:06Z", + "endTime": "2017-12-12T17:47:06Z", + "errors": [], + "storageContainerPath": "https://myaccount.blob.core.windows.net/vulnerability-assessment", + "numberOfFailedSecurityChecks": 9 + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan002", + "name": "scan002", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans", + "properties": { + "scanId": "scan002", + "triggerType": "Recurring", + "state": "Failed", + "startTime": "2017-12-12T17:45:06Z", + "endTime": "2017-12-12T17:47:06Z", + "errors": [], + "storageContainerPath": "https://myaccount.blob.core.windows.net/vulnerability-assessment", + "numberOfFailedSecurityChecks": 9 + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan003", + "name": "scan003", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans", + "properties": { + "scanId": "scan003", + "triggerType": "Recurring", + "state": "FailedToRun", + "startTime": "2017-12-12T17:45:06Z", + "endTime": "2017-12-12T17:47:06Z", + "errors": [ + { + "code": "StorageNotFound", + "message": "Storage not found" + } + ], + "storageContainerPath": "https://myaccount.blob.core.windows.net/vulnerability-assessment", + "numberOfFailedSecurityChecks": 0 + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentScansExecute.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentScansExecute.json new file mode 100644 index 000000000000..a10fefbb4a2a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DatabaseVulnerabilityAssessmentScansExecute.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityassessmenttest-4711", + "serverName": "vulnerabilityassessmenttest-6411", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "scanId": "scan01", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteDatabase.json new file mode 100644 index 000000000000..3be89573847f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteDatabase.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "204": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteInstancePool.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteInstancePool.json new file mode 100644 index 000000000000..4bb7bc9e7412 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteInstancePool.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "instancePoolName": "testIP", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteJob.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteJob.json new file mode 100644 index 000000000000..127cb36033fe --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteJob.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteJobAgent.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteJobAgent.json new file mode 100644 index 000000000000..3d528c60ee85 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteJobAgent.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteJobCredential.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteJobCredential.json new file mode 100644 index 000000000000..33997d7aa945 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteJobCredential.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "credentialName": "cred1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteJobStep.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteJobStep.json new file mode 100644 index 000000000000..155232301f9f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteJobStep.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "stepName": "step1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteJobTargetGroup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteJobTargetGroup.json new file mode 100644 index 000000000000..b2bd446fccd0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteJobTargetGroup.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "targetGroupName": "targetGroup1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteWorkloadClassifier.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteWorkloadClassifier.json new file mode 100644 index 000000000000..d1d220848da8 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteWorkloadClassifier.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "workloadGroupName": "wlm_workloadgroup", + "workloadClassifierName": "wlm_workloadclassifier", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteWorkloadGroup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteWorkloadGroup.json new file mode 100644 index 000000000000..3d7994d49f9a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeleteWorkloadGroup.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "workloadGroupName": "wlm_workloadgroup", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeletedServerGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeletedServerGet.json new file mode 100644 index 000000000000..c881828d26a2 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeletedServerGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "japaneast", + "deletedServerName": "sqlcrudtest-d-1414", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/deletedServers/sqlcrudtest-d-1414", + "name": "sqlcrudtest-d-1414", + "type": "Microsoft.Sql/deletedServers", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-d-1414.database.windows.net", + "version": "12.0", + "deletionTime": "2017-06-15T11:20:00.345Z", + "originalId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sqlcrudtest-d-1414" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeletedServerList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeletedServerList.json new file mode 100644 index 000000000000..eb0822316b18 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeletedServerList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "japaneast", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/deletedServers/sqlcrudtest-d-1414", + "name": "sqlcrudtest-d-1414", + "type": "Microsoft.Sql/deletedServers", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-d-1414.database.windows.net", + "version": "12.0", + "deletionTime": "2017-06-15T20:20:00.345Z", + "originalId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sqlcrudtest-d-1414" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/deletedServers/sqlcrudtest-d-2424", + "name": "sqlcrudtest-d-2424", + "type": "Microsoft.Sql/deletedServers", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-d-2424.database.windows.net", + "version": "12.0", + "deletionTime": "2017-06-13T10:10:00.678Z", + "originalId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sqlcrudtest-d-2424" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeletedServerListBySubscription.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeletedServerListBySubscription.json new file mode 100644 index 000000000000..895ac078b657 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeletedServerListBySubscription.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/deletedServers/sqlcrudtest-d-1414", + "name": "sqlcrudtest-d-1414", + "type": "Microsoft.Sql/deletedServers", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-d-1414.database.windows.net", + "version": "12.0", + "deletionTime": "2017-06-15T20:20:00.345Z", + "originalId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sqlcrudtest-d-1414" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/deletedServers/sqlcrudtest-d-2424", + "name": "sqlcrudtest-d-2424", + "type": "Microsoft.Sql/deletedServers", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-d-2424.database.windows.net", + "version": "12.0", + "deletionTime": "2017-06-13T10:10:00.678Z", + "originalId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sqlcrudtest-d-2424" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeletedServerRecover.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeletedServerRecover.json new file mode 100644 index 000000000000..75319f6b1ae2 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DeletedServerRecover.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "japaneast", + "deletedServerName": "sqlcrudtest-d-1414", + "api-version": "2021-05-01-preview", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/deletedServers/sqlcrudtest-d-1414", + "name": "sqlcrudtest-d-1414", + "type": "Microsoft.Sql/deletedServers", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-d-1414.database.windows.net", + "version": "12.0", + "deletionTime": "2017-06-15T11:20:00.345Z", + "originalId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sqlcrudtest-d-1414" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DistributedAvailabilityGroupsCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DistributedAvailabilityGroupsCreate.json new file mode 100644 index 000000000000..c3159bae0f92 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DistributedAvailabilityGroupsCreate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "managedInstanceName": "testcl", + "distributedAvailabilityGroupName": "dag", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "targetDatabase": "testdb", + "sourceEndpoint": "TCP://SERVER:7022", + "primaryAvailabilityGroupName": "BoxLocalAg1", + "secondaryAvailabilityGroupName": "testcl" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "targetDatabase": "testdb", + "sourceEndpoint": "TCP://SERVER:7022", + "primaryAvailabilityGroupName": "BoxLocalAg1", + "secondaryAvailabilityGroupName": "testcl" + }, + "name": "dag", + "id": "/subscriptions/f2669dff-5f08-45dd-b857-b2a60b72cdc9/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/distributedAvailabilityGroups/dag", + "type": "Microsoft.Sql/managedInstances/distributedAvailabilityGroups" + } + }, + "201": { + "body": { + "properties": { + "targetDatabase": "testdb", + "sourceEndpoint": "TCP://SERVER:7022", + "primaryAvailabilityGroupName": "BoxLocalAg1", + "secondaryAvailabilityGroupName": "testcl" + }, + "name": "dag", + "id": "/subscriptions/f2669dff-5f08-45dd-b857-b2a60b72cdc9/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/distributedAvailabilityGroups/dag", + "type": "Microsoft.Sql/managedInstances/distributedAvailabilityGroups" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DistributedAvailabilityGroupsDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DistributedAvailabilityGroupsDelete.json new file mode 100644 index 000000000000..e8dc86e37a2c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DistributedAvailabilityGroupsDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "f2669dff-5f08-45dd-b857-b2a60b72cdc9", + "resourceGroupName": "testrg", + "managedInstanceName": "testcl", + "distributedAvailabilityGroupName": "dag", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DistributedAvailabilityGroupsGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DistributedAvailabilityGroupsGet.json new file mode 100644 index 000000000000..2d89d55c7d0d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DistributedAvailabilityGroupsGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "f2669dff-5f08-45dd-b857-b2a60b72cdc9", + "resourceGroupName": "testrg", + "managedInstanceName": "testcl", + "distributedAvailabilityGroupName": "dag", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "targetDatabase": "testdb", + "sourceEndpoint": "TCP://SERVER:7022", + "replicationMode": "Async", + "distributedAvailabilityGroupId": "6bc05a51-aa36-a196-09bd-481d7a0973c0", + "sourceReplicaId": "543dd519-7585-faff-6ad2-11fb826d4f4d", + "targetReplicaId": "7e218aba-0a53-6231-be09-895d99f96bf2", + "linkState": "Catchup", + "lastHardenedLsn": "39000000030400001" + }, + "id": "/subscriptions/f2669dff-5f08-45dd-b857-b2a60b72cdc9/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/distributedAvailabilityGroups/dag", + "name": "dag", + "type": "Microsoft.Sql/managedInstances/distributedAvailabilityGroups" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DistributedAvailabilityGroupsListByInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DistributedAvailabilityGroupsListByInstance.json new file mode 100644 index 000000000000..02a0f485eeb2 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DistributedAvailabilityGroupsListByInstance.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "managedInstanceName": "testcl", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "targetDatabase": "testdb", + "sourceEndpoint": "TCP://SERVER:7022", + "replicationMode": "Async", + "distributedAvailabilityGroupId": "6bc05a51-aa36-a196-09bd-481d7a0973c0", + "sourceReplicaId": "543dd519-7585-faff-6ad2-11fb826d4f4d", + "targetReplicaId": "7e218aba-0a53-6231-be09-895d99f96bf2", + "linkState": "Catchup", + "lastHardenedLsn": "39000000030400001" + }, + "id": "/subscriptions/f2669dff-5f08-45dd-b857-b2a60b72cdc9/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/distributedAvailabilityGroups/dag", + "name": "dag", + "type": "Microsoft.Sql/managedInstances/distributedAvailabilityGroups" + }, + { + "properties": { + "targetDatabase": "testdb2", + "sourceEndpoint": "TCP://SERVER:7022", + "replicationMode": "Async", + "distributedAvailabilityGroupId": "7ec05a51-aa36-a196-09bd-481d7a0973c0", + "sourceReplicaId": "d423d519-7585-faff-6ad2-11fb826d4f4d", + "targetReplicaId": "32578aba-0a53-6231-be09-895d99f96bf2", + "linkState": "Catchup", + "lastHardenedLsn": "39000000030400001" + }, + "id": "/subscriptions/f2669dff-5f08-45dd-b857-b2a60b72cdc9/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/distributedAvailabilityGroups/dag2", + "name": "dag2", + "type": "Microsoft.Sql/managedInstances/distributedAvailabilityGroups" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DistributedAvailabilityGroupsUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DistributedAvailabilityGroupsUpdate.json new file mode 100644 index 000000000000..9561b8395cd5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/DistributedAvailabilityGroupsUpdate.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "managedInstanceName": "testcl", + "distributedAvailabilityGroupName": "dag", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "replicationMode": "Sync" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "replicationMode": "Sync" + }, + "name": "dag", + "id": "/subscriptions/f2669dff-5f08-45dd-b857-b2a60b72cdc9/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/distributedAvailabilityGroups/dag", + "type": "Microsoft.Sql/managedInstances/distributedAvailabilityGroups" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolCreateOrUpdateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolCreateOrUpdateMax.json new file mode 100644 index 000000000000..978c02811554 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolCreateOrUpdateMax.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-2369", + "serverName": "sqlcrudtest-8069", + "elasticPoolName": "sqlcrudtest-8102", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "Japan East", + "sku": { + "name": "GP_Gen4_2", + "tier": "GeneralPurpose", + "capacity": 2 + }, + "properties": { + "perDatabaseSettings": { + "minCapacity": 0.25, + "maxCapacity": 2.0 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102", + "name": "sqlcrudtest-8102", + "type": "Microsoft.Sql/servers/elasticPools", + "location": "Japan East", + "kind": null, + "sku": { + "name": "GP_Gen4_2", + "tier": "GeneralPurpose", + "capacity": 2 + }, + "properties": { + "creationDate": "2017-02-10T01:25:25.033Z", + "state": "Ready", + "maxSizeBytes": 5242880000, + "perDatabaseSettings": { + "minCapacity": 0.25, + "maxCapacity": 2.0 + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102", + "name": "sqlcrudtest-8102", + "type": "Microsoft.Sql/servers/elasticPools", + "location": "Japan East", + "kind": null, + "sku": { + "name": "GP_Gen4_2", + "tier": "GeneralPurpose", + "capacity": 2 + }, + "properties": { + "creationDate": "2017-02-10T01:25:25.033Z", + "state": "Ready", + "maxSizeBytes": 5242880000, + "perDatabaseSettings": { + "minCapacity": 0.25, + "maxCapacity": 2.0 + } + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolCreateOrUpdateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolCreateOrUpdateMin.json new file mode 100644 index 000000000000..4fc9cdc0c7e5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolCreateOrUpdateMin.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-2369", + "serverName": "sqlcrudtest-8069", + "elasticPoolName": "sqlcrudtest-8102", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "Japan East" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102", + "name": "sqlcrudtest-8102", + "type": "Microsoft.Sql/servers/elasticPools", + "location": "Japan East", + "kind": null, + "sku": { + "name": "StandardPool", + "tier": "Standard", + "capacity": 100 + }, + "properties": { + "creationDate": "2017-02-10T01:25:25.033Z", + "state": "Ready", + "maxSizeBytes": 102400, + "perDatabaseSettings": { + "minCapacity": 0, + "maxCapacity": 100 + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102", + "name": "sqlcrudtest-8102", + "type": "Microsoft.Sql/servers/elasticPools", + "location": "Japan East", + "kind": null, + "sku": { + "name": "StandardPool", + "tier": "Standard", + "capacity": 100 + }, + "properties": { + "creationDate": "2017-02-10T01:25:25.033Z", + "state": "Ready", + "maxSizeBytes": 102400, + "perDatabaseSettings": { + "minCapacity": 0, + "maxCapacity": 100 + } + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolCreateOrUpdateSetMaintenanceConfiguration.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolCreateOrUpdateSetMaintenanceConfiguration.json new file mode 100644 index 000000000000..aecb5976a153 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolCreateOrUpdateSetMaintenanceConfiguration.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-2369", + "serverName": "sqlcrudtest-8069", + "elasticPoolName": "sqlcrudtest-8102", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "Japan East", + "properties": { + "maintenanceConfigurationId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102", + "name": "sqlcrudtest-8102", + "type": "Microsoft.Sql/servers/elasticPools", + "location": "Japan East", + "kind": null, + "sku": { + "name": "StandardPool", + "tier": "Standard", + "capacity": 100 + }, + "properties": { + "creationDate": "2017-02-10T01:25:25.033Z", + "state": "Ready", + "maxSizeBytes": 102400, + "perDatabaseSettings": { + "minCapacity": 0, + "maxCapacity": 100 + }, + "maintenanceConfigurationId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_1" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102", + "name": "sqlcrudtest-8102", + "type": "Microsoft.Sql/servers/elasticPools", + "location": "Japan East", + "kind": null, + "sku": { + "name": "StandardPool", + "tier": "Standard", + "capacity": 100 + }, + "properties": { + "creationDate": "2017-02-10T01:25:25.033Z", + "state": "Ready", + "maxSizeBytes": 102400, + "perDatabaseSettings": { + "minCapacity": 0, + "maxCapacity": 100 + }, + "maintenanceConfigurationId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_1" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolDelete.json new file mode 100644 index 000000000000..f9a7571b333a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-3129", + "serverName": "sqlcrudtest-228", + "elasticPoolName": "sqlcrudtest-3851", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "204": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolGet.json new file mode 100644 index 000000000000..fd005779b2e0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-2369", + "serverName": "sqlcrudtest-8069", + "elasticPoolName": "sqlcrudtest-8102", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102", + "name": "sqlcrudtest-8102", + "type": "Microsoft.Sql/servers/elasticPools", + "location": "Japan East", + "kind": null, + "sku": { + "name": "GP_Gen5_2", + "tier": "GeneralPurpose", + "capacity": 2 + }, + "properties": { + "creationDate": "2017-10-10T01:25:25.033Z", + "state": "Ready", + "maxSizeBytes": 5242880000, + "perDatabaseSettings": { + "minCapacity": 0.25, + "maxCapacity": 1.0 + }, + "zoneRedundant": true, + "licenseType": "LicenseIncluded", + "maintenanceConfigurationId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_1" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolListByServer.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolListByServer.json new file mode 100644 index 000000000000..f443e981081d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolListByServer.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-2369", + "serverName": "sqlcrudtest-8069", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-2729", + "name": "sqlcrudtest-2729", + "type": "Microsoft.Sql/servers/elasticPools", + "location": "Japan East", + "kind": null, + "sku": { + "name": "GP_Gen4_2", + "tier": "GeneralPurpose", + "capacity": 2 + }, + "properties": { + "creationDate": "2017-02-10T01:27:21.32Z", + "state": "Ready", + "maxSizeBytes": 5242880000, + "perDatabaseSettings": { + "minCapacity": 0.25, + "maxCapacity": 1.0 + }, + "zoneRedundant": true, + "licenseType": "LicenseIncluded" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-3191", + "name": "sqlcrudtest-3191", + "type": "Microsoft.Sql/servers/elasticPools", + "location": "Japan East", + "kind": null, + "sku": { + "name": "BasicPool", + "tier": "Basic", + "capacity": 50 + }, + "properties": { + "creationDate": "2017-02-10T01:26:26.45Z", + "state": "Ready", + "maxSizeBytes": 5242880000, + "perDatabaseSettings": { + "minCapacity": 0, + "maxCapacity": 5 + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102", + "name": "sqlcrudtest-8102", + "type": "Microsoft.Sql/servers/elasticPools", + "location": "Japan East", + "kind": null, + "sku": { + "name": "BasicPool", + "tier": "Basic", + "capacity": 50 + }, + "properties": { + "creationDate": "2017-02-10T01:25:25.033Z", + "state": "Ready", + "maxSizeBytes": 5242880000, + "perDatabaseSettings": { + "minCapacity": 0, + "maxCapacity": 5 + } + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolUpdateAssignMaintenanceConfiguration.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolUpdateAssignMaintenanceConfiguration.json new file mode 100644 index 000000000000..c5aa8a6bb307 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolUpdateAssignMaintenanceConfiguration.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-2369", + "serverName": "sqlcrudtest-8069", + "elasticPoolName": "sqlcrudtest-8102", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "maintenanceConfigurationId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102", + "name": "sqlcrudtest-8102", + "type": "Microsoft.Sql/servers/elasticPools", + "location": "Japan East", + "kind": null, + "sku": { + "name": "BasicPool", + "tier": "Basic", + "capacity": 50 + }, + "properties": { + "creationDate": "2017-02-10T01:25:25.033Z", + "state": "Ready", + "maxSizeBytes": 5242880000, + "perDatabaseSettings": { + "minCapacity": 0, + "maxCapacity": 5 + }, + "maintenanceConfigurationId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_1" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolUpdateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolUpdateMax.json new file mode 100644 index 000000000000..5fcf68891a70 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolUpdateMax.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-2369", + "serverName": "sqlcrudtest-8069", + "elasticPoolName": "sqlcrudtest-8102", + "api-version": "2021-05-01-preview", + "parameters": { + "sku": { + "name": "BC_Gen4", + "tier": "BusinessCritical", + "capacity": 2 + }, + "properties": { + "perDatabaseSettings": { + "minCapacity": 0.25, + "maxCapacity": 1.0 + }, + "zoneRedundant": true, + "licenseType": "LicenseIncluded" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102", + "name": "sqlcrudtest-8102", + "type": "Microsoft.Sql/servers/elasticPools", + "location": "Japan East", + "kind": null, + "sku": { + "name": "BC_Gen4", + "tier": "BusinessCritical", + "capacity": 2 + }, + "properties": { + "creationDate": "2017-02-10T01:27:21.32Z", + "state": "Ready", + "maxSizeBytes": 5242880000, + "perDatabaseSettings": { + "minCapacity": 0.25, + "maxCapacity": 1.0 + }, + "zoneRedundant": true, + "licenseType": "LicenseIncluded" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolUpdateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolUpdateMin.json new file mode 100644 index 000000000000..2316475a2057 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolUpdateMin.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-2369", + "serverName": "sqlcrudtest-8069", + "elasticPoolName": "sqlcrudtest-8102", + "api-version": "2021-05-01-preview", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102", + "name": "sqlcrudtest-8102", + "type": "Microsoft.Sql/servers/elasticPools", + "location": "Japan East", + "kind": null, + "sku": { + "name": "BasicPool", + "tier": "Basic", + "capacity": 50 + }, + "properties": { + "creationDate": "2017-02-10T01:25:25.033Z", + "state": "Ready", + "maxSizeBytes": 5242880000, + "perDatabaseSettings": { + "minCapacity": 0, + "maxCapacity": 5 + } + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolUpdateResetMaintenanceConfiguration.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolUpdateResetMaintenanceConfiguration.json new file mode 100644 index 000000000000..2d18dc785b8b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ElasticPoolUpdateResetMaintenanceConfiguration.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-2369", + "serverName": "sqlcrudtest-8069", + "elasticPoolName": "sqlcrudtest-8102", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "maintenanceConfigurationId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102", + "name": "sqlcrudtest-8102", + "type": "Microsoft.Sql/servers/elasticPools", + "location": "Japan East", + "kind": null, + "sku": { + "name": "BasicPool", + "tier": "Basic", + "capacity": 50 + }, + "properties": { + "creationDate": "2017-02-10T01:25:25.033Z", + "state": "Ready", + "maxSizeBytes": 5242880000, + "perDatabaseSettings": { + "minCapacity": 0, + "maxCapacity": 5 + } + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/EncryptionProtectorCreateOrUpdateKeyVault.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/EncryptionProtectorCreateOrUpdateKeyVault.json new file mode 100644 index 000000000000..13fddfa9285e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/EncryptionProtectorCreateOrUpdateKeyVault.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-4645", + "encryptionProtectorName": "current", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "serverKeyType": "AzureKeyVault", + "serverKeyName": "someVault_someKey_01234567890123456789012345678901", + "autoRotationEnabled": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/encryptionProtector/current", + "name": "current", + "type": "Microsoft.Sql/servers/encryptionProtector", + "location": "West US", + "kind": "azurekeyvault", + "properties": { + "serverKeyName": "someVault_someKey_01234567890123456789012345678901", + "serverKeyType": "AzureKeyVault", + "autoRotationEnabled": false + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/EncryptionProtectorCreateOrUpdateServiceManaged.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/EncryptionProtectorCreateOrUpdateServiceManaged.json new file mode 100644 index 000000000000..1130d3003b86 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/EncryptionProtectorCreateOrUpdateServiceManaged.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-4645", + "encryptionProtectorName": "current", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "serverKeyType": "ServiceManaged", + "serverKeyName": "ServiceManaged" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/encryptionProtector/current", + "name": "current", + "type": "Microsoft.Sql/servers/encryptionProtector", + "location": "West US", + "kind": "servicemanaged", + "properties": { + "serverKeyName": "ServiceManaged", + "serverKeyType": "ServiceManaged" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/EncryptionProtectorGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/EncryptionProtectorGet.json new file mode 100644 index 000000000000..756453e1c825 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/EncryptionProtectorGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-4645", + "encryptionProtectorName": "current", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/encryptionProtector/current", + "name": "current", + "type": "Microsoft.Sql/servers/encryptionProtector", + "location": "Japan East", + "kind": "azurekeyvault", + "properties": { + "serverKeyName": "someVault_someKey_01234567890123456789012345678901", + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "autoRotationEnabled": false + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/EncryptionProtectorList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/EncryptionProtectorList.json new file mode 100644 index 000000000000..9c8a57fba247 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/EncryptionProtectorList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-4645", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/encryptionProtector/current", + "name": "current", + "type": "Microsoft.Sql/servers/encryptionProtector", + "location": "Japan East", + "kind": "azurekeyvault", + "properties": { + "serverKeyName": "someVault_someKey_01234567890123456789012345678901", + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/EncryptionProtectorRevalidate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/EncryptionProtectorRevalidate.json new file mode 100644 index 000000000000..1941dd31fb13 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/EncryptionProtectorRevalidate.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-4645", + "encryptionProtectorName": "current", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExportDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExportDatabase.json new file mode 100644 index 000000000000..e9f19e74a9ad --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExportDatabase.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "storageKeyType": "StorageAccessKey", + "storageKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==", + "storageUri": "https://test.blob.core.windows.net/test.bacpac", + "administratorLogin": "login", + "administratorLoginPassword": "password", + "authenticationType": "Sql" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "requestId": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "requestType": "Export", + "queuedTime": "2/2/2020 8:33:27 PM", + "lastModifiedTime": "2/2/2020 8:34:47 PM", + "blobUri": "https://test.blob.core.windows.net/test.bacpac", + "serverName": "testsvr.database.windows.net", + "databaseName": "testdb", + "status": "Completed" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/importExportOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4", + "name": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "type": "Microsoft.Sql/servers/databases/importExportOperationResults" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExportDatabaseUsingDatabaseExtensions.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExportDatabaseUsingDatabaseExtensions.json new file mode 100644 index 000000000000..bf8d01618850 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExportDatabaseUsingDatabaseExtensions.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "0ca8cd24-0b47-4ad5-bc7e-d70e35c44adf", + "resourceGroupName": "rg_d1ef9eae-044d-4710-ba59-b82e84ad3157", + "serverName": "srv_9243d320-ac4e-4f97-8e06-b1167dae5f4c", + "databaseName": "db_7fe424c8-23cf-4ac3-bdc3-e21f424bdb68", + "extensionName": "Export", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "operationMode": "Export", + "storageKeyType": "StorageAccessKey", + "storageKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "storageUri": "https://teststorage.blob.core.windows.net/testcontainer/Manifest.xml", + "administratorLogin": "login", + "administratorLoginPassword": "password", + "authenticationType": "Sql" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "requestId": "10000000-0000-0000-0000-000000000002", + "requestType": "Export", + "lastModifiedTime": "lastModifiedTime", + "serverName": "srv_9243d320-ac4e-4f97-8e06-b1167dae5f4c", + "databaseName": "db_7fe424c8-23cf-4ac3-bdc3-e21f424bdb68", + "status": "Completed", + "queuedTime": "09/10/2021 18:35:10", + "blobUri": "https://teststorage.blob.core.windows.net/testcontainer/samplebacpac.bacpac", + "privateEndpointConnections": [] + }, + "id": "10000000-0000-0000-0000-000000000002", + "name": "10000000-0000-0000-0000-000000000002", + "type": "Microsoft.Sql/servers/databases/extensions" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExportDatabaseWithNetworkIsolation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExportDatabaseWithNetworkIsolation.json new file mode 100644 index 000000000000..505f0516ef7f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExportDatabaseWithNetworkIsolation.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "storageKeyType": "StorageAccessKey", + "storageKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==", + "storageUri": "https://test.blob.core.windows.net/test.bacpac", + "administratorLogin": "login", + "administratorLoginPassword": "password", + "authenticationType": "Sql", + "networkIsolation": { + "sqlServerResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr", + "storageAccountResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Storage/storageAccounts/test-privatelink" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "requestId": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "requestType": "Export", + "queuedTime": "2/2/2020 8:33:27 PM", + "lastModifiedTime": "2/2/2020 8:34:47 PM", + "blobUri": "https://test.blob.core.windows.net/test.bacpac", + "serverName": "testsvr.database.windows.net", + "databaseName": "testdb", + "status": "Completed" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/importExportOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4", + "name": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "type": "Microsoft.Sql/servers/databases/importExportOperationResults" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedDatabaseAzureMonitorAuditingCreateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedDatabaseAzureMonitorAuditingCreateMin.json new file mode 100644 index 000000000000..75b0c4dc623c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedDatabaseAzureMonitorAuditingCreateMin.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "blobauditingtest-4799", + "serverName": "blobauditingtest-6440", + "databaseName": "testdb", + "blobAuditingPolicyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled", + "isAzureMonitorTargetEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/extendedAuditingSettings", + "properties": { + "state": "Enabled", + "isAzureMonitorTargetEnabled": true, + "retentionDays": 0, + "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000", + "auditActionsAndGroups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP" + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/extendedAuditingSettings", + "properties": { + "state": "Enabled", + "isAzureMonitorTargetEnabled": true, + "retentionDays": 0, + "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000", + "auditActionsAndGroups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP" + ] + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedDatabaseBlobAuditingCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedDatabaseBlobAuditingCreateMax.json new file mode 100644 index 000000000000..e1106e9682c8 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedDatabaseBlobAuditingCreateMax.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "blobauditingtest-4799", + "serverName": "blobauditingtest-6440", + "databaseName": "testdb", + "blobAuditingPolicyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled", + "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "retentionDays": 6, + "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000", + "isStorageSecondaryKeyInUse": false, + "queueDelayMs": 4000, + "auditActionsAndGroups": [ + "DATABASE_LOGOUT_GROUP", + "DATABASE_ROLE_MEMBER_CHANGE_GROUP", + "UPDATE on database::TestDatabaseName by public" + ], + "predicateExpression": "statement = 'select 1'", + "isAzureMonitorTargetEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/extendedAuditingSettings", + "properties": { + "state": "Enabled", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "retentionDays": 0, + "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000", + "isStorageSecondaryKeyInUse": false, + "queueDelayMs": 4000, + "auditActionsAndGroups": [ + "DATABASE_LOGOUT_GROUP", + "DATABASE_ROLE_MEMBER_CHANGE_GROUP", + "UPDATE on database::TestDatabaseName by public" + ], + "predicateExpression": "statement = 'select 1'", + "isAzureMonitorTargetEnabled": true + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/extendedAuditingSettings", + "properties": { + "state": "Enabled", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "retentionDays": 0, + "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000", + "isStorageSecondaryKeyInUse": false, + "queueDelayMs": 4000, + "auditActionsAndGroups": [ + "DATABASE_LOGOUT_GROUP", + "DATABASE_ROLE_MEMBER_CHANGE_GROUP", + "UPDATE on database::TestDatabaseName by public" + ], + "predicateExpression": "statement = 'select 1'", + "isAzureMonitorTargetEnabled": true + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedDatabaseBlobAuditingCreateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedDatabaseBlobAuditingCreateMin.json new file mode 100644 index 000000000000..123e4222d519 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedDatabaseBlobAuditingCreateMin.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "blobauditingtest-4799", + "serverName": "blobauditingtest-6440", + "databaseName": "testdb", + "blobAuditingPolicyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled", + "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storageEndpoint": "https://mystorage.blob.core.windows.net" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/extendedAuditingSettings", + "properties": { + "state": "Enabled", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "retentionDays": 0, + "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000", + "isStorageSecondaryKeyInUse": false, + "auditActionsAndGroups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP" + ], + "isAzureMonitorTargetEnabled": false + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/extendedAuditingSettings", + "properties": { + "state": "Enabled", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "retentionDays": 0, + "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000", + "isStorageSecondaryKeyInUse": false, + "auditActionsAndGroups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP" + ], + "isAzureMonitorTargetEnabled": false + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedDatabaseBlobAuditingGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedDatabaseBlobAuditingGet.json new file mode 100644 index 000000000000..684e16fae877 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedDatabaseBlobAuditingGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "blobauditingtest-6852", + "serverName": "blobauditingtest-2080", + "databaseName": "testdb", + "blobAuditingPolicyName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-6852/providers/Microsoft.Sql/servers/blobauditingtest-2080/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/extendedAuditingSettings", + "properties": { + "state": "Disabled", + "storageEndpoint": "", + "retentionDays": 0, + "auditActionsAndGroups": [], + "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000", + "isStorageSecondaryKeyInUse": false, + "predicateExpression": "statement = 'select 1'", + "isAzureMonitorTargetEnabled": false + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedServerBlobAuditingCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedServerBlobAuditingCreateMax.json new file mode 100644 index 000000000000..5ea258f72151 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedServerBlobAuditingCreateMax.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "blobauditingtest-4799", + "serverName": "blobauditingtest-6440", + "blobAuditingPolicyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled", + "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "retentionDays": 6, + "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000", + "isStorageSecondaryKeyInUse": false, + "queueDelayMs": 4000, + "auditActionsAndGroups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP" + ], + "predicateExpression": "object_name = 'SensitiveData'", + "isAzureMonitorTargetEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/extendedAuditingSettings/default", + "name": "default", + "type": "Microsoft.Sql/servers/extendedAuditingSettings", + "properties": { + "state": "Enabled", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "retentionDays": 6, + "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000", + "isStorageSecondaryKeyInUse": false, + "queueDelayMs": 4000, + "auditActionsAndGroups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP" + ], + "predicateExpression": "object_name = 'SensitiveData'", + "isAzureMonitorTargetEnabled": true + } + } + }, + "202": { + "startTime": "2017-11-22T09:34:54.72Z", + "operation": "UpsertServerEngineAuditingPolicy" + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedServerBlobAuditingCreateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedServerBlobAuditingCreateMin.json new file mode 100644 index 000000000000..9fa3e8edaab3 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedServerBlobAuditingCreateMin.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "blobauditingtest-4799", + "serverName": "blobauditingtest-6440", + "blobAuditingPolicyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled", + "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storageEndpoint": "https://mystorage.blob.core.windows.net" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/extendedAuditingSettings/default", + "name": "default", + "type": "Microsoft.Sql/servers/extendedAuditingSettings", + "properties": { + "state": "Enabled", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "retentionDays": 6, + "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000", + "isStorageSecondaryKeyInUse": false, + "auditActionsAndGroups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP" + ], + "isAzureMonitorTargetEnabled": false + } + } + }, + "202": { + "startTime": "2017-11-22T09:34:54.72Z", + "operation": "UpsertServerEngineAuditingPolicy" + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedServerBlobAuditingGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedServerBlobAuditingGet.json new file mode 100644 index 000000000000..a67c26dab9a6 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ExtendedServerBlobAuditingGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "blobauditingtest-4799", + "serverName": "blobauditingtest-6440", + "blobAuditingPolicyName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-6852/providers/Microsoft.Sql/servers/blobauditingtest-2080/extendedAuditingSettings/default", + "name": "default", + "type": "Microsoft.Sql/servers/extendedAuditingSettings", + "properties": { + "state": "Disabled", + "storageEndpoint": "", + "retentionDays": 0, + "auditActionsAndGroups": [], + "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000", + "isStorageSecondaryKeyInUse": false, + "predicateExpression": "object_name = 'SensitiveData'", + "isAzureMonitorTargetEnabled": false + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverDatabase.json new file mode 100644 index 000000000000..7a37668dd66f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverDatabase.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "testServer", + "databaseName": "testDatabase", + "replicaType": "Primary", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverElasticPool.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverElasticPool.json new file mode 100644 index 000000000000..d0c12f00be43 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverElasticPool.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "testServer", + "elasticPoolName": "testElasticPool", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupCreateOrUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupCreateOrUpdate.json new file mode 100644 index 000000000000..103883897554 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupCreateOrUpdate.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "failover-group-primary-server", + "failoverGroupName": "failover-group-test-3", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "readWriteEndpoint": { + "failoverPolicy": "Automatic", + "failoverWithDataLossGracePeriodMinutes": 480 + }, + "readOnlyEndpoint": { + "failoverPolicy": "Disabled" + }, + "partnerServers": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server" + } + ], + "databases": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1", + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-2" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test-3", + "name": "failover-group-test-3", + "type": "Microsoft.Sql/servers/failoverGroups", + "location": "Japan East", + "properties": { + "readWriteEndpoint": { + "failoverPolicy": "Automatic", + "failoverWithDataLossGracePeriodMinutes": 480 + }, + "readOnlyEndpoint": { + "failoverPolicy": "Disabled" + }, + "replicationRole": "Primary", + "replicationState": "CATCH_UP", + "partnerServers": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server", + "location": "Japan West", + "replicationRole": "Secondary" + } + ], + "databases": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1", + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-2" + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test-3", + "name": "failover-group-test-3", + "type": "Microsoft.Sql/servers/failoverGroups", + "location": "Japan East", + "properties": { + "readWriteEndpoint": { + "failoverPolicy": "Automatic", + "failoverWithDataLossGracePeriodMinutes": 480 + }, + "readOnlyEndpoint": { + "failoverPolicy": "Disabled" + }, + "replicationRole": "Primary", + "replicationState": "CATCH_UP", + "partnerServers": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server", + "location": "Japan West", + "replicationRole": "Secondary" + } + ], + "databases": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1", + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-2" + ] + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupDelete.json new file mode 100644 index 000000000000..891d46a6091b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "failover-group-primary-server", + "failoverGroupName": "failover-group-test-1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupFailover.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupFailover.json new file mode 100644 index 000000000000..9a1a54fd59e8 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupFailover.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "failover-group-secondary-server", + "failoverGroupName": "failover-group-test-3", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/failoverGroups/failover-group-test-3", + "name": "failover-group-test-3", + "type": "Microsoft.Sql/servers/failoverGroups", + "location": "Japan West", + "properties": { + "readWriteEndpoint": { + "failoverPolicy": "Automatic", + "failoverWithDataLossGracePeriodMinutes": 120 + }, + "readOnlyEndpoint": { + "failoverPolicy": "Disabled" + }, + "replicationRole": "Primary", + "replicationState": "CATCH_UP", + "partnerServers": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server", + "location": "Japan East", + "replicationRole": "Secondary" + } + ], + "databases": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/databases/testdb-1", + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/databases/testdb-2" + ] + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupForceFailoverAllowDataLoss.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupForceFailoverAllowDataLoss.json new file mode 100644 index 000000000000..9a1a54fd59e8 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupForceFailoverAllowDataLoss.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "failover-group-secondary-server", + "failoverGroupName": "failover-group-test-3", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/failoverGroups/failover-group-test-3", + "name": "failover-group-test-3", + "type": "Microsoft.Sql/servers/failoverGroups", + "location": "Japan West", + "properties": { + "readWriteEndpoint": { + "failoverPolicy": "Automatic", + "failoverWithDataLossGracePeriodMinutes": 120 + }, + "readOnlyEndpoint": { + "failoverPolicy": "Disabled" + }, + "replicationRole": "Primary", + "replicationState": "CATCH_UP", + "partnerServers": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server", + "location": "Japan East", + "replicationRole": "Secondary" + } + ], + "databases": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/databases/testdb-1", + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/databases/testdb-2" + ] + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupGet.json new file mode 100644 index 000000000000..db6f8b3d5842 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "failover-group-primary-server", + "failoverGroupName": "failover-group-test", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test", + "name": "failover-group-test", + "type": "Microsoft.Sql/servers/failoverGroups", + "location": "Japan East", + "properties": { + "readWriteEndpoint": { + "failoverPolicy": "Automatic", + "failoverWithDataLossGracePeriodMinutes": 480 + }, + "readOnlyEndpoint": { + "failoverPolicy": "Disabled" + }, + "replicationRole": "Primary", + "replicationState": "CATCH_UP", + "partnerServers": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server", + "location": "Japan West", + "replicationRole": "Secondary" + } + ], + "databases": [] + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupList.json new file mode 100644 index 000000000000..8cabef0e54c5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupList.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "failover-group-primary-server", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test", + "name": "failover-group-test", + "type": "Microsoft.Sql/servers/failoverGroups", + "location": "Japan East", + "properties": { + "readWriteEndpoint": { + "failoverPolicy": "Automatic", + "failoverWithDataLossGracePeriodMinutes": 480 + }, + "readOnlyEndpoint": { + "failoverPolicy": "Disabled" + }, + "replicationRole": "Primary", + "replicationState": "CATCH_UP", + "partnerServers": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server", + "location": "Japan West", + "replicationRole": "Secondary" + } + ], + "databases": [] + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test-2", + "name": "failover-group-test-2", + "type": "Microsoft.Sql/servers/failoverGroups", + "location": "Japan East", + "properties": { + "readWriteEndpoint": { + "failoverPolicy": "Automatic", + "failoverWithDataLossGracePeriodMinutes": 480 + }, + "readOnlyEndpoint": { + "failoverPolicy": "Disabled" + }, + "replicationRole": "Primary", + "replicationState": "CATCH_UP", + "partnerServers": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server", + "location": "Japan West", + "replicationRole": "Secondary" + } + ], + "databases": [] + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupUpdate.json new file mode 100644 index 000000000000..30863b72cea5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverGroupUpdate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "failover-group-primary-server", + "failoverGroupName": "failover-group-test-1", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "readWriteEndpoint": { + "failoverPolicy": "Automatic", + "failoverWithDataLossGracePeriodMinutes": 120 + }, + "databases": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test-3", + "name": "failover-group-test-3", + "type": "Microsoft.Sql/servers/failoverGroups", + "location": "Japan East", + "properties": { + "readWriteEndpoint": { + "failoverPolicy": "Automatic", + "failoverWithDataLossGracePeriodMinutes": 120 + }, + "readOnlyEndpoint": { + "failoverPolicy": "Disabled" + }, + "replicationRole": "Primary", + "replicationState": "CATCH_UP", + "partnerServers": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server", + "location": "Japan West", + "replicationRole": "Secondary" + } + ], + "databases": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1" + ] + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverManagedInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverManagedInstance.json new file mode 100644 index 000000000000..b1a85ec630bb --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FailoverManagedInstance.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "managedInstanceName": "instanceName", + "replicaType": "Primary", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FirewallRuleCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FirewallRuleCreate.json new file mode 100644 index 000000000000..4254db9428c4 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FirewallRuleCreate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "firewallrulecrudtest-12", + "serverName": "firewallrulecrudtest-6285", + "firewallRuleName": "firewallrulecrudtest-5370", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "startIpAddress": "0.0.0.3", + "endIpAddress": "0.0.0.3" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-5370", + "name": "firewallrulecrudtest-5370", + "type": "Microsoft.Sql/servers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.3", + "endIpAddress": "0.0.0.3" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-5370", + "name": "firewallrulecrudtest-5370", + "properties": { + "startIpAddress": "0.0.0.3", + "endIpAddress": "0.0.0.3" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FirewallRuleDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FirewallRuleDelete.json new file mode 100644 index 000000000000..3480f7d68385 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FirewallRuleDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "firewallrulecrudtest-9886", + "serverName": "firewallrulecrudtest-2368", + "firewallRuleName": "firewallrulecrudtest-7011", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FirewallRuleGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FirewallRuleGet.json new file mode 100644 index 000000000000..1ad9d1ae9e43 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FirewallRuleGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "firewallrulecrudtest-12", + "serverName": "firewallrulecrudtest-6285", + "firewallRuleName": "firewallrulecrudtest-2304", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-2304", + "name": "firewallrulecrudtest-2304", + "type": "Microsoft.Sql/servers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "0.0.0.0" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FirewallRuleList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FirewallRuleList.json new file mode 100644 index 000000000000..eb2013eca7c5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FirewallRuleList.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "firewallrulecrudtest-12", + "serverName": "firewallrulecrudtest-6285", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-2304", + "name": "firewallrulecrudtest-2304", + "type": "Microsoft.Sql/servers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "0.0.0.0" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-3927", + "name": "firewallrulecrudtest-3927", + "type": "Microsoft.Sql/servers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.1", + "endIpAddress": "0.0.0.1" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-5370", + "name": "firewallrulecrudtest-5370", + "type": "Microsoft.Sql/servers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.3", + "endIpAddress": "0.0.0.3" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-5767", + "name": "firewallrulecrudtest-5767", + "type": "Microsoft.Sql/servers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.2", + "endIpAddress": "0.0.0.2" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FirewallRuleReplace.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FirewallRuleReplace.json new file mode 100644 index 000000000000..b9dc1d4d2b27 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FirewallRuleReplace.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "firewallrulecrudtest-12", + "serverName": "firewallrulecrudtest-6285", + "api-version": "2021-05-01-preview", + "parameters": { + "values": [ + { + "name": "firewallrulecrudtest-5370 ", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "100.0.0.0" + } + } + ] + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-5370", + "name": "firewallrulecrudtest-5370", + "type": "Microsoft.Sql/servers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.3", + "endIpAddress": "0.0.0.3" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FirewallRuleUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FirewallRuleUpdate.json new file mode 100644 index 000000000000..21303733e4ff --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/FirewallRuleUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "firewallrulecrudtest-12", + "serverName": "firewallrulecrudtest-6285", + "firewallRuleName": "firewallrulecrudtest-3927", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "startIpAddress": "0.0.0.1", + "endIpAddress": "0.0.0.1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-3927", + "name": "firewallrulecrudtest-3927", + "type": "Microsoft.Sql/servers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.1", + "endIpAddress": "0.0.0.1" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-3927", + "name": "firewallrulecrudtest-3927", + "type": "Microsoft.Sql/servers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.1", + "endIpAddress": "0.0.0.1" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetDataWarehouseUserActivities.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetDataWarehouseUserActivities.json new file mode 100644 index 000000000000..37e49a271f86 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetDataWarehouseUserActivities.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "dataWarehouseUserActivityName": "current", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "activeQueriesCount": 0 + }, + "id": "subscriptions/326affc3-21f4-4471-a545-e37430b70113/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/testsvr/databases/dwdb01/dataWarehouseUserActivities/current", + "name": "current", + "type": "Microsoft.Sql/servers/databases/dataWarehouseUserActivities" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetDatabaseExtensions.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetDatabaseExtensions.json new file mode 100644 index 000000000000..ef4acd93e586 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetDatabaseExtensions.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "a3473687-7581-41e1-ac24-6bcca5843f07", + "resourceGroupName": "rg_a1f9d6f8-30d5-4228-9504-8a364361bca3", + "serverName": "srv_65858e0f-b1d1-4bdc-8351-a7da86ca4939", + "databaseName": "11aa6c5e-58ed-4693-b303-3b8e3131deaa", + "extensionName": "polybaseimport", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetDatabaseUsages.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetDatabaseUsages.json new file mode 100644 index 000000000000..1d3945110d2b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetDatabaseUsages.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "displayName": "Database Size", + "currentValue": 4194304.0, + "limit": 268435456000.0, + "unit": "Bytes" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/usages/database_size", + "name": "database_size", + "type": "Microsoft.Sql/servers/databases/usages" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetInstancePool.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetInstancePool.json new file mode 100644 index 000000000000..eaaff3a648e8 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetInstancePool.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "instancePoolName": "testIP", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "family": "Gen5" + }, + "properties": { + "subnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetwork/myvnet/subnets/mysubnet1", + "vCores": 8, + "licenseType": "LicenseIncluded" + }, + "location": "japaneast", + "tags": { + "a": "b" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP", + "name": "testIP", + "type": "Microsoft.Sql/instancePools" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJob.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJob.json new file mode 100644 index 000000000000..b2c21bc849c4 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJob.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1", + "name": "job1", + "type": "Microsoft.Sql/servers/jobAccounts/jobs", + "properties": { + "description": "my favourite job", + "version": 0, + "schedule": { + "startTime": "2015-09-24T18:30:01Z", + "endTime": "2015-09-24T23:59:59Z", + "type": "Once", + "enabled": true + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobAgent.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobAgent.json new file mode 100644 index 000000000000..7ca52b62c279 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobAgent.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1", + "name": "agent1", + "type": "Microsoft.Sql/servers/jobAgents", + "location": "southeastasia", + "sku": { + "name": "Agent", + "capacity": 400 + }, + "properties": { + "databaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/databases/db1" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobCredential.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobCredential.json new file mode 100644 index 000000000000..e1fa5cd2ef82 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobCredential.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "credentialName": "cred1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1", + "name": "cred1", + "type": "Microsoft.Sql/servers/jobAccounts/credentials", + "properties": { + "username": "myuser" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobExecution.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobExecution.json new file mode 100644 index 000000000000..f324383bf6c1 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobExecution.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "jobVersion": 1, + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "lifecycle": "Created", + "provisioningState": "Created", + "createTime": "2017-12-21T19:02:00.8707045Z", + "startTime": "2017-12-21T19:12:00.8707045Z", + "endTime": "2017-12-21T19:22:00.8707045Z", + "currentAttempts": 0, + "currentAttemptStartTime": "2017-11-13T19:12:00.8707045Z", + "lastMessage": "Job execution created." + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999", + "name": "5555-6666-7777-8888-999999999999", + "type": "Microsoft.Sql/servers/jobAgents/executions" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobExecutionStep.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobExecutionStep.json new file mode 100644 index 000000000000..6623f44a2f10 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobExecutionStep.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "stepName": "step1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "jobVersion": 1, + "stepName": "step1", + "stepId": 1, + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "lifecycle": "Succeeded", + "provisioningState": "Succeeded", + "createTime": "2017-12-27T04:33:15.7189151Z", + "startTime": "2017-12-27T04:33:16.176937Z", + "endTime": "2017-12-27T04:33:19.0600862Z", + "currentAttempts": 1, + "currentAttemptStartTime": "2017-12-27T04:33:17.4840068Z", + "lastMessage": "Step 1 succeeded." + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999/steps/step1", + "name": "step1", + "type": "Microsoft.Sql/servers/jobAgents/jobs/executions/steps" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobExecutionTarget.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobExecutionTarget.json new file mode 100644 index 000000000000..9f88e7b5f845 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobExecutionTarget.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "stepName": "step1", + "targetId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "jobVersion": 1, + "stepName": "step1", + "stepId": 1, + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "lifecycle": "Succeeded", + "provisioningState": "Succeeded", + "createTime": "2017-11-05T04:33:17.5133333Z", + "startTime": "2017-11-05T04:33:18.1230403Z", + "endTime": "2017-11-05T04:33:18.7031029Z", + "currentAttempts": 1, + "currentAttemptStartTime": "2017-11-05T04:33:18.2391013Z", + "lastMessage": "Step 1 succeeded execution on target (server 'server1', database 'database1').", + "target": { + "type": "SqlDatabase", + "serverName": "server1", + "databaseName": "database1" + } + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999/steps/step1/targets/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "name": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "type": "Microsoft.Sql/servers/jobAgents/jobs/executions/steps/targets" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobStepByJob.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobStepByJob.json new file mode 100644 index 000000000000..eac8bbf96752 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobStepByJob.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "stepName": "step1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "stepId": 1, + "targetGroup": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1", + "action": { + "type": "TSql", + "source": "Inline", + "value": "select 2" + }, + "output": { + "type": "SqlDatabase", + "subscriptionId": "3501b905-a848-4b5d-96e8-b253f62d735a", + "resourceGroupName": "group3", + "serverName": "server3", + "databaseName": "database3", + "schemaName": "myschema1234", + "tableName": "mytable5678", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0" + }, + "executionOptions": { + "timeoutSeconds": 1234, + "retryAttempts": 42, + "initialRetryIntervalSeconds": 11, + "maximumRetryIntervalSeconds": 222, + "retryIntervalBackoffMultiplier": 3.0 + } + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/steps/step1", + "name": "step1", + "type": "Microsoft.Sql/servers/jobAgents/jobs/steps" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobStepByVersion.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobStepByVersion.json new file mode 100644 index 000000000000..e9806d9e47b2 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobStepByVersion.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "jobVersion": "1", + "stepName": "step1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "stepId": 1, + "targetGroup": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1", + "action": { + "type": "TSql", + "source": "Inline", + "value": "select 2" + }, + "output": { + "type": "SqlDatabase", + "subscriptionId": "3501b905-a848-4b5d-96e8-b253f62d735a", + "resourceGroupName": "group3", + "serverName": "server3", + "databaseName": "database3", + "schemaName": "myschema1234", + "tableName": "mytable5678", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0" + }, + "executionOptions": { + "timeoutSeconds": 1234, + "retryAttempts": 42, + "initialRetryIntervalSeconds": 11, + "maximumRetryIntervalSeconds": 222, + "retryIntervalBackoffMultiplier": 3.0 + } + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/versions/1/steps/step1", + "name": "step1", + "type": "Microsoft.Sql/servers/jobAgents/jobs/versions/steps" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobTargetGroup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobTargetGroup.json new file mode 100644 index 000000000000..47788e4cce05 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobTargetGroup.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "targetGroupName": "targetGroup1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "members": [ + { + "membershipType": "Exclude", + "type": "SqlDatabase", + "serverName": "server1", + "databaseName": "database1" + }, + { + "membershipType": "Include", + "type": "SqlServer", + "serverName": "server1", + "refreshCredential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential" + }, + { + "membershipType": "Include", + "type": "SqlElasticPool", + "serverName": "server2", + "elasticPoolName": "pool1", + "refreshCredential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential" + }, + { + "membershipType": "Include", + "type": "SqlShardMap", + "serverName": "server3", + "shardMapName": "shardMap1", + "refreshCredential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential" + } + ] + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1", + "name": "targetGroup1", + "type": "Microsoft.Sql/servers/jobAgents/targetGroups" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobVersion.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobVersion.json new file mode 100644 index 000000000000..b18aae8875cb --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetJobVersion.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "jobVersion": "1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/versions/1", + "name": "1", + "type": "Microsoft.Sql/servers/jobAgents/jobs/versions" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetListManagedShortTermRetentionPolicy.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetListManagedShortTermRetentionPolicy.json new file mode 100644 index 000000000000..de92e3bd390a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetListManagedShortTermRetentionPolicy.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb,131403269876900000/backupShortTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/managedInstances/restorableDroppedDatabases/backupShortTermRetentionPolicies", + "properties": { + "retentionDays": 14 + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetListManagedShortTermRetentionPolicyRestorableDropped.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetListManagedShortTermRetentionPolicyRestorableDropped.json new file mode 100644 index 000000000000..2fdd2175cdd1 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetListManagedShortTermRetentionPolicyRestorableDropped.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "testsvr", + "restorableDroppedDatabaseId": "testdb,131403269876900000", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/restorableDroppedDatabases/testdb,131403269876900000/backupShortTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/managedInstances/restorableDroppedDatabases/backupShortTermRetentionPolicies", + "properties": { + "retentionDays": 14 + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/restorableDroppedDatabases/testdb,131403269876900000/backupShortTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/managedInstances/restorableDroppedDatabases/backupShortTermRetentionPolicies", + "properties": { + "retentionDays": 14 + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetMaintenanceWindowOptions.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetMaintenanceWindowOptions.json new file mode 100644 index 000000000000..18aefc3c62bb --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetMaintenanceWindowOptions.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "maintenanceWindowOptionsName": "current", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "isEnabled": true, + "maintenanceWindowCycles": [ + { + "dayOfWeek": "Saturday", + "startTime": "00:00:00", + "duration": "PT60M" + } + ], + "minDurationInMinutes": 60, + "defaultDurationInMinutes": 120, + "minCycles": 2, + "timeGranularityInMinutes": 5, + "allowMultipleMaintenanceWindowsPerCycle": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/maintenancewindowoptions/current", + "name": "current", + "type": "Microsoft.Sql/servers/databases/maintenancewindows" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetMaintenanceWindows.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetMaintenanceWindows.json new file mode 100644 index 000000000000..d7a4f447ef66 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetMaintenanceWindows.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "maintenanceWindowName": "current", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "timeRanges": [ + { + "dayOfWeek": "Saturday", + "startTime": "00:00:00", + "duration": "PT60M" + } + ] + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/maintenancewindows/current", + "name": "current", + "type": "Microsoft.Sql/servers/databases/maintenancewindows" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetManagedInstanceOperation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetManagedInstanceOperation.json new file mode 100644 index 000000000000..95d9e04c7244 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetManagedInstanceOperation.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "operationId": "00000000-1111-2222-3333-444444444444", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "managedInstanceName": "sqlcrudtest-4645", + "operation": "UpsertManagedServer", + "operationFriendlyName": "UPDATE MANAGED SERVER", + "percentComplete": 100, + "startTime": "2019-12-06T11:08:44.49Z", + "state": "Cancelled", + "isCancellable": false, + "operationSteps": { + "totalSteps": "6", + "currentStep": 2, + "stepsList": [ + { + "order": 1, + "name": "Request validation", + "status": "Completed", + "stepEndTime": "2019-12-06T11:08:45.57Z", + "stepStartTime": "2019-12-06T11:08:44.49Z", + "timeElapsed": "0" + }, + { + "order": 2, + "name": "Virtual Cluster resize/creation", + "status": "Completed", + "stepEndTime": "2019-12-06T11:23:05.47Z", + "stepStartTime": "2019-12-06T11:08:46.05Z", + "timeElapsed": "14" + }, + { + "order": 3, + "name": "New SQL Instance Startup", + "status": "Canceled", + "stepEndTime": "2019-12-06T11:23:11.51Z", + "stepStartTime": "2019-12-06T11:23:05.55Z", + "timeElapsed": "0" + }, + { + "order": 4, + "name": "Seeding database files", + "status": "NotStarted" + }, + { + "order": 5, + "name": "Preparing Failover and Failover", + "status": "NotStarted" + }, + { + "order": 6, + "name": "Old SQL Instance cleanup", + "status": "NotStarted" + } + ] + } + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "type": "Microsoft.Sql/managedInstances/operations" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetManagedShortTermRetentionPolicy.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetManagedShortTermRetentionPolicy.json new file mode 100644 index 000000000000..70b0442d6ee4 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetManagedShortTermRetentionPolicy.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "testsvr", + "databaseName": "testdb", + "policyName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb/backupShortTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/managedInstances/databases/backupShortTermRetentionPolicies", + "properties": { + "retentionDays": 14 + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetManagedShortTermRetentionPolicyRestorableDropped.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetManagedShortTermRetentionPolicyRestorableDropped.json new file mode 100644 index 000000000000..0de4b24011c0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetManagedShortTermRetentionPolicyRestorableDropped.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "testsvr", + "restorableDroppedDatabaseId": "testdb,131403269876900000", + "policyName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstance/testsvr/restorableDroppedDatabases/testdb,131403269876900000/backupShortTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/managedInstances/restorableDroppedDatabases/backupShortTermRetentionPolicies", + "properties": { + "retentionDays": 14 + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetRecoverableManagedDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetRecoverableManagedDatabase.json new file mode 100644 index 000000000000..13e1747dfa47 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetRecoverableManagedDatabase.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Test1", + "managedInstanceName": "managedInstance", + "recoverableDatabaseName": "testdb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "lastAvailableBackupDate": "2017-05-26T01:06:29.78Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/recoverableDatabases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/managedInstances/recoverableDatabases" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetRestorableDroppedDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetRestorableDroppedDatabase.json new file mode 100644 index 000000000000..cd55fc9a4b4d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetRestorableDroppedDatabase.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "restorableDroppedDatabaseId": "testdb,131403269876900000", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "BC_Gen4_2", + "tier": "BusinessCritical" + }, + "properties": { + "databaseName": "testdb", + "maxSizeBytes": 268435456000, + "creationDate": "2017-05-07T04:41:33.937Z", + "deletionDate": "2017-05-27T02:49:47.69Z", + "backupStorageRedundancy": "Geo" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/restorableDroppedDatabases/testdb", + "name": "testdb,131403269876900000", + "type": "Microsoft.Sql/servers/restorableDroppedDatabases" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetRestorableDroppedManagedDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetRestorableDroppedManagedDatabase.json new file mode 100644 index 000000000000..6b2a6834eb28 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetRestorableDroppedManagedDatabase.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Test1", + "managedInstanceName": "managedInstance", + "restorableDroppedDatabaseId": "testdb,131403269876900000", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "databaseName": "testdb", + "creationDate": "2017-05-07T04:41:33.937Z", + "deletionDate": "2017-05-27T02:49:47.69Z" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/restorableDroppedDatabases/testdb,131403269876900000", + "name": "testdb,131403269876900000", + "type": "Microsoft.Sql/managedInstances/restorableDroppedDatabases" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetShortTermRetentionPolicy.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetShortTermRetentionPolicy.json new file mode 100644 index 000000000000..42f67b7f5852 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetShortTermRetentionPolicy.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "policyName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/backupShortTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/backupShortTermRetentionPolicies", + "properties": { + "retentionDays": 7, + "diffBackupIntervalInHours": 24 + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetVCoreDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetVCoreDatabase.json new file mode 100644 index 000000000000..b428862ace4b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetVCoreDatabase.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "BC_Gen5", + "tier": "BusinessCritical", + "capacity": 2 + }, + "kind": "v12.0,user,vcore", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 268435456000, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "creationDate": "2017-06-07T04:41:33.937Z", + "currentServiceObjectiveName": "BC_Gen5_2", + "requestedServiceObjectiveName": "BC_Gen5_2", + "defaultSecondaryLocation": "North Europe", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "licenseType": "LicenseIncluded", + "maxLogSizeBytes": 104857600, + "isInfraEncryptionEnabled": false, + "zoneRedundant": false, + "readScale": "Enabled", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "maintenanceConfigurationId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1", + "currentSku": { + "name": "BC_Gen5", + "tier": "BusinessCritical", + "capacity": 2 + }, + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "isLedgerOn": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetWorkloadClassifier.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetWorkloadClassifier.json new file mode 100644 index 000000000000..628d625d26be --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetWorkloadClassifier.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "workloadGroupName": "wlm_workloadgroup", + "workloadClassifierName": "wlm_classifier", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "memberName": "dbo", + "label": "test_label", + "context": "test_context", + "startTime": "12:00", + "endTime": "14:00", + "importance": "high" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/wlm_workloadgroup/workloadClassifiers/wlm_classifier", + "name": "wlm_classifier", + "type": "Microsoft.Sql/servers/databases/workloadGroups/workloadClassifiers" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetWorkloadClassifierList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetWorkloadClassifierList.json new file mode 100644 index 000000000000..c0b81a7b052d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetWorkloadClassifierList.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "workloadGroupName": "wlm_workloadgroup", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "memberName": "dbo", + "label": "", + "context": "", + "startTime": "", + "endTime": "", + "importance": "high" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/wlm_workloadgroup/workloadClassifiers/classifier3", + "name": "classifier3", + "type": "Microsoft.Sql/servers/databases/workloadGroups/workloadClassifiers" + }, + { + "properties": { + "memberName": "dbo", + "label": "test_label", + "context": "test_context", + "startTime": "12:00", + "endTime": "14:00", + "importance": "high" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/wlm_workloadgroup/workloadClassifiers/classifier1", + "name": "classifier1", + "type": "Microsoft.Sql/servers/databases/workloadGroups/workloadClassifiers" + }, + { + "properties": { + "memberName": "dbo", + "label": "", + "context": "", + "startTime": "11:00", + "endTime": "17:00", + "importance": "high" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/wlm_workloadgroup/workloadClassifiers/classifier2", + "name": "classifier2", + "type": "Microsoft.Sql/servers/databases/workloadGroups/workloadClassifiers" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetWorkloadGroup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetWorkloadGroup.json new file mode 100644 index 000000000000..f5781f8a61a0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetWorkloadGroup.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "workloadGroupName": "smallrc", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "minResourcePercent": 0, + "maxResourcePercent": 100, + "minResourcePercentPerRequest": 3.0, + "maxResourcePercentPerRequest": 3.0, + "importance": "normal", + "queryExecutionTimeout": 0 + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/smallrc", + "name": "smallrc", + "type": "Microsoft.Sql/servers/databases/workloadGroups" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetWorkloadGroupList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetWorkloadGroupList.json new file mode 100644 index 000000000000..3bf65f58f17c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetWorkloadGroupList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "minResourcePercent": 0, + "maxResourcePercent": 100, + "minResourcePercentPerRequest": 5, + "maxResourcePercentPerRequest": 5, + "importance": "normal", + "queryExecutionTimeout": 0 + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/smallrc", + "name": "smallrc", + "type": "Microsoft.Sql/servers/databases/workloadGroups" + }, + { + "properties": { + "minResourcePercent": 0, + "maxResourcePercent": 100, + "minResourcePercentPerRequest": 10, + "maxResourcePercentPerRequest": 10, + "importance": "normal", + "queryExecutionTimeout": 0 + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/mediumrc", + "name": "mediumrc", + "type": "Microsoft.Sql/servers/databases/workloadGroups" + }, + { + "properties": { + "minResourcePercent": 0, + "maxResourcePercent": 100, + "minResourcePercentPerRequest": 20, + "maxResourcePercentPerRequest": 20, + "importance": "high", + "queryExecutionTimeout": 0 + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/largerc", + "name": "largerc", + "type": "Microsoft.Sql/servers/databases/workloadGroups" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ImportDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ImportDatabase.json new file mode 100644 index 000000000000..df5caeba96e2 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ImportDatabase.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "storageKeyType": "StorageAccessKey", + "storageKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==", + "storageUri": "https://test.blob.core.windows.net/test.bacpac", + "administratorLogin": "login", + "administratorLoginPassword": "password", + "authenticationType": "Sql" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "requestId": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "requestType": "Import", + "queuedTime": "2/2/2020 8:33:27 PM", + "lastModifiedTime": "2/2/2020 8:34:47 PM", + "blobUri": "https://test.blob.core.windows.net/test.bacpac", + "serverName": "testsvr.database.windows.net", + "databaseName": "testdb", + "status": "Completed" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/importExportOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4", + "name": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "type": "Microsoft.Sql/servers/databases/importExportOperationResults" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ImportDatabaseUsingDatabaseExtensions.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ImportDatabaseUsingDatabaseExtensions.json new file mode 100644 index 000000000000..0d1760536014 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ImportDatabaseUsingDatabaseExtensions.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "17ca4d13-bf7d-4c33-a60e-b87a2820a325", + "resourceGroupName": "rg_062866bf-c4f4-41f9-abf0-b59132ca7924", + "serverName": "srv_2d6be2d2-26c8-4930-8fb6-82a5e95e0e82", + "databaseName": "db_2a47e946-e414-4c00-94ac-ed886bb78302", + "extensionName": "Import", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "operationMode": "Import", + "storageKeyType": "StorageAccessKey", + "storageKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "storageUri": "https://teststorage.blob.core.windows.net/testcontainer/Manifest.xml", + "administratorLogin": "login", + "administratorLoginPassword": "password", + "authenticationType": "Sql" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "requestId": "10000000-0000-0000-0000-000000000002", + "requestType": "Import", + "lastModifiedTime": "lastModifiedTime", + "serverName": "srv_2d6be2d2-26c8-4930-8fb6-82a5e95e0e82", + "databaseName": "db_2a47e946-e414-4c00-94ac-ed886bb78302", + "status": "Completed", + "queuedTime": "09/10/2021 18:35:10", + "blobUri": "https://teststorage.blob.core.windows.net/testcontainer/samplebacpac.bacpac", + "privateEndpointConnections": [] + }, + "id": "10000000-0000-0000-0000-000000000002", + "name": "10000000-0000-0000-0000-000000000002", + "type": "Microsoft.Sql/servers/databases/extensions" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ImportDatabaseWithNetworkIsolation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ImportDatabaseWithNetworkIsolation.json new file mode 100644 index 000000000000..aa4544cbf287 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ImportDatabaseWithNetworkIsolation.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "storageKeyType": "StorageAccessKey", + "storageKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==", + "storageUri": "https://test.blob.core.windows.net/test.bacpac", + "administratorLogin": "login", + "administratorLoginPassword": "password", + "authenticationType": "Sql", + "networkIsolation": { + "sqlServerResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr", + "storageAccountResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Storage/storageAccounts/test-privatelink" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "requestId": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "requestType": "Import", + "queuedTime": "2/2/2020 8:33:27 PM", + "lastModifiedTime": "2/2/2020 8:34:47 PM", + "blobUri": "https://test.blob.core.windows.net/test.bacpac", + "serverName": "testsvr.database.windows.net", + "databaseName": "testdb", + "status": "Completed" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/importExportOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4", + "name": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "type": "Microsoft.Sql/servers/databases/importExportOperationResults" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ImportNewDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ImportNewDatabase.json new file mode 100644 index 000000000000..34fd72fb4e9a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ImportNewDatabase.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "api-version": "2021-05-01-preview", + "parameters": { + "databaseName": "testdb", + "storageKeyType": "StorageAccessKey", + "storageKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==", + "storageUri": "https://test.blob.core.windows.net/test.bacpac", + "administratorLogin": "login", + "administratorLoginPassword": "password", + "authenticationType": "Sql" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "requestId": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "requestType": "Import", + "queuedTime": "2/2/2020 8:33:27 PM", + "lastModifiedTime": "2/2/2020 8:34:47 PM", + "blobUri": "https://test.blob.core.windows.net/test.bacpac", + "serverName": "testsvr.database.windows.net", + "databaseName": "testdb", + "status": "Completed" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/importExportOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4", + "name": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "type": "Microsoft.Sql/servers/databases/importExportOperationResults" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ImportNewDatabaseWithNetworkIsolation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ImportNewDatabaseWithNetworkIsolation.json new file mode 100644 index 000000000000..b275de49d8a2 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ImportNewDatabaseWithNetworkIsolation.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "api-version": "2021-05-01-preview", + "parameters": { + "databaseName": "testdb", + "storageKeyType": "StorageAccessKey", + "storageKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==", + "storageUri": "https://test.blob.core.windows.net/test.bacpac", + "administratorLogin": "login", + "administratorLoginPassword": "password", + "authenticationType": "Sql", + "networkIsolation": { + "sqlServerResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr", + "storageAccountResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Storage/storageAccounts/test-privatelink" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "requestId": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "requestType": "Import", + "queuedTime": "2/2/2020 8:33:27 PM", + "lastModifiedTime": "2/2/2020 8:34:47 PM", + "blobUri": "https://test.blob.core.windows.net/test.bacpac", + "serverName": "testsvr.database.windows.net", + "databaseName": "testdb", + "status": "Completed" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/importExportOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4", + "name": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "type": "Microsoft.Sql/servers/databases/importExportOperationResults" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InaccessibleManagedDatabaseListByManagedInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InaccessibleManagedDatabaseListByManagedInstance.json new file mode 100644 index 000000000000..f18c83662583 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InaccessibleManagedDatabaseListByManagedInstance.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "managedInstanceName": "testcl", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/testdb1", + "location": "southeastasia", + "name": "testdb1", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "creationDate": "2017-08-04T15:00:17.73Z", + "defaultSecondaryLocation": "North Europe", + "status": "Inaccessible" + }, + "type": "Microsoft.Sql/managedInstances/databases" + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/testdb2", + "location": "southeastasia", + "name": "testdb2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "creationDate": "2017-08-04T15:00:17.73Z", + "defaultSecondaryLocation": "North Europe", + "status": "Inaccessible" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InstanceFailoverGroupCreateOrUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InstanceFailoverGroupCreateOrUpdate.json new file mode 100644 index 000000000000..1d2366b06317 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InstanceFailoverGroupCreateOrUpdate.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "locationName": "Japan East", + "failoverGroupName": "failover-group-test-3", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "readWriteEndpoint": { + "failoverPolicy": "Automatic", + "failoverWithDataLossGracePeriodMinutes": 480 + }, + "readOnlyEndpoint": { + "failoverPolicy": "Disabled" + }, + "partnerRegions": [ + { + "location": "Japan West" + } + ], + "managedInstancePairs": [ + { + "primaryManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-primary-mngdInstance", + "partnerManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-secondary-mngdInstance" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/JapanEast/instanceFailoverGroups/failover-group-test-3", + "name": "failover-group-test-3", + "type": "Microsoft.Sql/locations/failoverGroups", + "properties": { + "readWriteEndpoint": { + "failoverPolicy": "Automatic", + "failoverWithDataLossGracePeriodMinutes": 480 + }, + "readOnlyEndpoint": { + "failoverPolicy": "Disabled" + }, + "replicationRole": "Primary", + "replicationState": "CATCH_UP", + "partnerRegions": [ + { + "location": "Japan West", + "replicationRole": "Secondary" + } + ], + "managedInstancePairs": [ + { + "primaryManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-primary-mngdInstance", + "partnerManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-secondary-mngdInstance" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/JapanEast/instanceFailoverGroups/failover-group-test-3", + "name": "failover-group-test-3", + "type": "Microsoft.Sql/locations/failoverGroups", + "properties": { + "readWriteEndpoint": { + "failoverPolicy": "Automatic", + "failoverWithDataLossGracePeriodMinutes": 480 + }, + "readOnlyEndpoint": { + "failoverPolicy": "Disabled" + }, + "replicationRole": "Primary", + "replicationState": "CATCH_UP", + "partnerRegions": [ + { + "location": "Japan West", + "replicationRole": "Secondary" + } + ], + "managedInstancePairs": [ + { + "primaryManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-primary-mngdInstance", + "partnerManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-secondary-mngdInstance" + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InstanceFailoverGroupDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InstanceFailoverGroupDelete.json new file mode 100644 index 000000000000..673ba3737938 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InstanceFailoverGroupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "locationName": "Japan East", + "failoverGroupName": "failover-group-test-1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InstanceFailoverGroupFailover.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InstanceFailoverGroupFailover.json new file mode 100644 index 000000000000..0090a47b9741 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InstanceFailoverGroupFailover.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "locationName": "Japan West", + "failoverGroupName": "failover-group-test-3", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/JapanWest/instanceFailoverGroups/failover-group-test-3", + "name": "failover-group-test-3", + "type": "Microsoft.Sql/locations/failoverGroups", + "properties": { + "readWriteEndpoint": { + "failoverPolicy": "Automatic", + "failoverWithDataLossGracePeriodMinutes": 480 + }, + "readOnlyEndpoint": { + "failoverPolicy": "Disabled" + }, + "replicationRole": "Primary", + "replicationState": "CATCH_UP", + "partnerRegions": [ + { + "location": "Japan East", + "replicationRole": "Secondary" + } + ], + "managedInstancePairs": [ + { + "primaryManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-secondary-mngdInstance", + "partnerManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-primary-mngdInstance" + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InstanceFailoverGroupForceFailoverAllowDataLoss.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InstanceFailoverGroupForceFailoverAllowDataLoss.json new file mode 100644 index 000000000000..0090a47b9741 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InstanceFailoverGroupForceFailoverAllowDataLoss.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "locationName": "Japan West", + "failoverGroupName": "failover-group-test-3", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/JapanWest/instanceFailoverGroups/failover-group-test-3", + "name": "failover-group-test-3", + "type": "Microsoft.Sql/locations/failoverGroups", + "properties": { + "readWriteEndpoint": { + "failoverPolicy": "Automatic", + "failoverWithDataLossGracePeriodMinutes": 480 + }, + "readOnlyEndpoint": { + "failoverPolicy": "Disabled" + }, + "replicationRole": "Primary", + "replicationState": "CATCH_UP", + "partnerRegions": [ + { + "location": "Japan East", + "replicationRole": "Secondary" + } + ], + "managedInstancePairs": [ + { + "primaryManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-secondary-mngdInstance", + "partnerManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-primary-mngdInstance" + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InstanceFailoverGroupGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InstanceFailoverGroupGet.json new file mode 100644 index 000000000000..b053f76c8d62 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InstanceFailoverGroupGet.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "locationName": "Japan East", + "failoverGroupName": "failover-group-test", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/JapanEast/instanceFailoverGroups/failover-group-test-3", + "name": "failover-group-test-3", + "type": "Microsoft.Sql/locations/failoverGroups", + "properties": { + "readWriteEndpoint": { + "failoverPolicy": "Automatic", + "failoverWithDataLossGracePeriodMinutes": 480 + }, + "readOnlyEndpoint": { + "failoverPolicy": "Disabled" + }, + "replicationRole": "Primary", + "replicationState": "CATCH_UP", + "partnerRegions": [ + { + "location": "Japan West", + "replicationRole": "Secondary" + } + ], + "managedInstancePairs": [ + { + "primaryManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-primary-mngdInstance", + "partnerManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-secondary-mngdInstance" + } + ] + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InstanceFailoverGroupList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InstanceFailoverGroupList.json new file mode 100644 index 000000000000..9933db2352e4 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/InstanceFailoverGroupList.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "locationName": "Japan East", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/JapanEast/instanceFailoverGroups/failover-group-test", + "name": "failover-group-test", + "type": "Microsoft.Sql/locations/failoverGroups", + "properties": { + "readWriteEndpoint": { + "failoverPolicy": "Automatic", + "failoverWithDataLossGracePeriodMinutes": 480 + }, + "readOnlyEndpoint": { + "failoverPolicy": "Disabled" + }, + "replicationRole": "Primary", + "replicationState": "CATCH_UP", + "partnerRegions": [ + { + "location": "Japan West", + "replicationRole": "Secondary" + } + ], + "managedInstancePairs": [ + { + "primaryManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-primary-mngdInstance", + "partnerManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-secondary-mngdInstance" + } + ] + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/JapanEast/instanceFailoverGroups/failover-group-test-1", + "name": "failover-group-test-1", + "type": "Microsoft.Sql/locations/failoverGroups", + "properties": { + "readWriteEndpoint": { + "failoverPolicy": "Automatic", + "failoverWithDataLossGracePeriodMinutes": 480 + }, + "readOnlyEndpoint": { + "failoverPolicy": "Disabled" + }, + "replicationRole": "Primary", + "replicationState": "CATCH_UP", + "partnerRegions": [ + { + "location": "Japan West", + "replicationRole": "Secondary" + } + ], + "managedInstancePairs": [ + { + "primaryManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-primary-mngdInstance-1", + "partnerManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-secondary-mngdInstance-1" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LedgerDigestUploadsDisable.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LedgerDigestUploadsDisable.json new file mode 100644 index 000000000000..c93c8b1de8ea --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LedgerDigestUploadsDisable.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "ledgertestrg", + "serverName": "ledgertestserver", + "databaseName": "testdb", + "ledgerDigestUploads": "current", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/ledgertestrg/providers/Microsoft.Sql/servers/ledgertestserver/databases/testdb/ledgerDigestUpload/current/disable", + "name": "current", + "type": "Microsoft.Sql/servers/databases/ledgerDigestUploads", + "properties": { + "state": "Disabled" + } + } + }, + "202": { + "headers": { + "Location": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/ledgertestrg/providers/Microsoft.Sql/locations/eastus/ledgerDigestUploadOperationResults/11111111-1111-1111-1111-111111111111" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LedgerDigestUploadsEnable.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LedgerDigestUploadsEnable.json new file mode 100644 index 000000000000..7866536235b9 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LedgerDigestUploadsEnable.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "ledgertestrg", + "serverName": "ledgertestserver", + "databaseName": "testdb", + "ledgerDigestUploads": "current", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "digestStorageEndpoint": "https://MyAccount.blob.core.windows.net" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/ledgertestrg/providers/Microsoft.Sql/servers/ledgertestserver/databases/testdb/ledgerDigestUpload/current", + "name": "current", + "type": "Microsoft.Sql/servers/databases/ledgerDigestUploads", + "properties": { + "digestStorageEndpoint": "https://mystorage.blob.core.windows.net", + "state": "Enabled" + } + } + }, + "202": { + "headers": { + "Location": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/ledgertestrg/providers/Microsoft.Sql/locations/eastus/ledgerDigestUploadOperationResults/11111111-1111-1111-1111-111111111111" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LedgerDigestUploadsGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LedgerDigestUploadsGet.json new file mode 100644 index 000000000000..83054b44612a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LedgerDigestUploadsGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "ledgertestrg", + "serverName": "ledgertestserver", + "databaseName": "testdb", + "ledgerDigestUploads": "current", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/ledgertestrg/providers/Microsoft.Sql/servers/ledgertestserver/databases/testdb/current", + "name": "current", + "type": "Microsoft.Sql/servers/databases/ledgerDigestUploads", + "properties": { + "digestStorageEndpoint": "https://mystorage.blob.core.windows.net", + "state": "Enabled" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LedgerDigestUploadsList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LedgerDigestUploadsList.json new file mode 100644 index 000000000000..6ab6a8d3116f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LedgerDigestUploadsList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "ledgertestrg", + "serverName": "ledgertestserver", + "databaseName": "testdb", + "ledgerDigestUploads": "current", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/ledgertestrg/providers/Microsoft.Sql/servers/ledgertestserver/databases/testdb/current", + "name": "current", + "type": "Microsoft.Sql/servers/databases/ledgerDigestUploads", + "properties": { + "digestStorageEndpoint": "https://mystorage.blob.core.windows.net", + "state": "Enabled" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListDataWarehouseUserActivities.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListDataWarehouseUserActivities.json new file mode 100644 index 000000000000..f70c4629813d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListDataWarehouseUserActivities.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/326affc3-21f4-4471-a545-e37430b70113/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/testsvr/databases/dwdb01/dataWarehouseUserActivities/current", + "type": "Microsoft.Sql/servers/databases/dataWarehouseUserActivities", + "properties": { + "activeQueriesCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListDatabaseExtensions.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListDatabaseExtensions.json new file mode 100644 index 000000000000..290dbba72d51 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListDatabaseExtensions.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "7b2515fe-f230-4017-8cf0-695163acab85", + "resourceGroupName": "rg_4007c5a9-b3b0-41e1-bd46-9eef38768a4a", + "serverName": "srv_3b67ec2a-519b-43a7-8533-fb62dce3431e", + "databaseName": "719d8fa4-bf0f-48fc-8cd3-ef40fe6ba1fe", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListDatabaseOperations.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListDatabaseOperations.json new file mode 100644 index 000000000000..d65149ce2289 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListDatabaseOperations.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-4645", + "databaseName": "testdb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/databases/testdb/operations/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "type": "Microsoft.Sql/servers/databases/operations", + "properties": { + "databaseName": "testdb", + "operation": "UpdateLogicalDatabase", + "operationFriendlyName": "ALTER DATABASE", + "percentComplete": 100, + "serverName": "sqlcrudtest-4645", + "startTime": "2017-06-01T09:10:08.1Z", + "state": "Succeeded" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/databases/testdb/operations/55555555-5555-5555-5555-555555555555", + "name": "55555555-5555-5555-5555-555555555555", + "type": "Microsoft.Sql/servers/databases/operations", + "properties": { + "databaseName": "testdb", + "operation": "UpdateLogicalDatabase", + "operationFriendlyName": "ALTER DATABASE", + "percentComplete": 19, + "serverName": "sqlcrudtest-4645", + "startTime": "2017-06-01T10:10:08.1Z", + "state": "InProgress" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListDatabasesByElasticPool.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListDatabasesByElasticPool.json new file mode 100644 index 000000000000..598efe1318b3 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListDatabasesByElasticPool.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "elasticPoolName": "pool1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "ElasticPool", + "tier": "Standard" + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 268435456000, + "elasticPoolId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/elasticPools/Pool1", + "status": "Online", + "databaseId": "bfe0735f-bc87-447f-b2c2-481f4b100614", + "creationDate": "2017-07-12T22:08:39.163Z", + "currentServiceObjectiveName": "ElasticPool", + "defaultSecondaryLocation": "North Europe", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/DB001", + "name": "DB001", + "type": "Microsoft.Sql/servers/databases" + }, + { + "sku": { + "name": "ElasticPool", + "tier": "Standard" + }, + "kind": "v12.0,user", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 268435456000, + "elasticPoolId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/elasticPools/Pool1", + "status": "Online", + "databaseId": "82246152-3177-4357-b81c-a16d87ce3593", + "creationDate": "2017-07-12T22:10:10.773Z", + "currentServiceObjectiveName": "ElasticPool", + "defaultSecondaryLocation": "North Europe", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/DB002", + "name": "DB002", + "type": "Microsoft.Sql/servers/databases" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListElasticPoolOperations.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListElasticPoolOperations.json new file mode 100644 index 000000000000..329198078005 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListElasticPoolOperations.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtestgroup", + "serverName": "sqlcrudtestserver", + "elasticPoolName": "testpool", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtestgroup/providers/Microsoft.Sql/servers/sqlcrudtestserver/elasticPools/testpool/operations/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "type": "Microsoft.Sql/servers/elasticPools/operations", + "properties": { + "elasticPoolName": "testpool", + "operation": "UPDATE", + "operationFriendlyName": "UPDATE", + "percentComplete": 100, + "serverName": "sqlcrudtestserver", + "startTime": "2017-10-30T09:10:08.1Z", + "state": "COMPLETED" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtestgroup/providers/Microsoft.Sql/servers/sqlcrudtestserver/elasticPools/testpool/operations/55555555-5555-5555-5555-555555555555", + "name": "55555555-5555-5555-5555-555555555555", + "type": "Microsoft.Sql/servers/elasticPools/operations", + "properties": { + "elasticPoolName": "testpool", + "operation": "UPDATE", + "operationFriendlyName": "UPDATE", + "percentComplete": 0, + "serverName": "sqlcrudtestserver", + "startTime": "2017-10-30T10:10:08.1Z", + "state": "IN_PROGRESS" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListInstancePoolUsage.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListInstancePoolUsage.json new file mode 100644 index 000000000000..c6bd33cc56f6 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListInstancePoolUsage.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "instancePoolName": "testIP", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/usages/vcore_utilization", + "name": { + "value": "VCore utilization", + "localizedValue": "VCore utilization" + }, + "type": "Microsoft.Sql/instancePools/usages", + "unit": "VCores", + "currentValue": 12, + "limit": 16, + "requestedLimit": 40 + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/usages/storage_utilization", + "name": { + "value": "Storage utilization", + "localizedValue": "Storage utilization" + }, + "type": "Microsoft.Sql/instancePools/usages", + "unit": "VCores", + "currentValue": 384, + "limit": 8196, + "requestedLimit": null + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/usages/database_utilization", + "name": { + "value": "Database utilization", + "localizedValue": "Database utilization" + }, + "type": "Microsoft.Sql/instancePools/usages", + "unit": "Number Of Databases", + "currentValue": 5, + "limit": 100, + "requestedLimit": null + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListInstancePoolUsageExpanded.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListInstancePoolUsageExpanded.json new file mode 100644 index 000000000000..af5a4ad9b504 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListInstancePoolUsageExpanded.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "instancePoolName": "testIP", + "expandChildren": true, + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/usages/vcore_utilization", + "name": { + "value": "VCore utilization", + "localizedValue": "VCore utilization" + }, + "type": "Microsoft.Sql/instancePools/usages", + "unit": "VCores", + "currentValue": 12, + "limit": 16, + "requestedLimit": 40 + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/usages/storage_utilization", + "name": { + "value": "Storage utilization", + "localizedValue": "Storage utilization" + }, + "type": "Microsoft.Sql/instancePools/usages", + "unit": "VCores", + "currentValue": 384, + "limit": 8196, + "requestedLimit": null + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/usages/database_utilization", + "name": { + "value": "Database utilization", + "localizedValue": "Database utilization" + }, + "type": "Microsoft.Sql/instancePools/usages", + "unit": "Number Of Databases", + "currentValue": 5, + "limit": 100, + "requestedLimit": null + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/managedInstances/managedInstance1/usages/vcore_utilization", + "name": { + "value": "VCore utilization", + "localizedValue": "VCore utilization" + }, + "type": "Microsoft.Sql/instancePools/managedInstances/usages", + "unit": "VCores", + "currentValue": null, + "limit": 4, + "requestedLimit": null + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/managedInstances/managedInstance2/usages/vcore_utilization", + "name": { + "value": "VCore utilization", + "localizedValue": "VCore utilization" + }, + "type": "Microsoft.Sql/instancePools/managedInstances/usages", + "unit": "VCores", + "currentValue": null, + "limit": 4, + "requestedLimit": 8 + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/managedInstances/managedInstance1/usages/storage_utilization", + "name": { + "value": "Storage utilization", + "localizedValue": "Storage utilization" + }, + "type": "Microsoft.Sql/instancePools/managedInstances/usages", + "unit": "Gigabytes", + "currentValue": null, + "limit": 128, + "requestedLimit": null + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/managedInstances/managedInstance2/usages/storage_utilization", + "name": { + "value": "VCore utilization", + "localizedValue": "VCore utilization" + }, + "type": "Microsoft.Sql/instancePools/managedInstances/usages", + "unit": "Gigabytes", + "currentValue": null, + "limit": 128, + "requestedLimit": 256 + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/managedInstances/managedInstance1/usages/database_utilization", + "name": { + "value": "Database utilization", + "localizedValue": "Database utilization" + }, + "type": "Microsoft.Sql/instancePools/managedInstances/usages", + "unit": "Number Of Databases", + "currentValue": 2, + "limit": 100, + "requestedLimit": null + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/managedInstances/managedInstance2/usages/database_utilization", + "name": { + "value": "Database utilization", + "localizedValue": "Database utilization" + }, + "type": "Microsoft.Sql/instancePools/managedInstances/usages", + "unit": "Number Of Databases", + "currentValue": 3, + "limit": 100, + "requestedLimit": null + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListInstancePoolsByResourceGroup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListInstancePoolsByResourceGroup.json new file mode 100644 index 000000000000..cebf13abe43b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListInstancePoolsByResourceGroup.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "family": "Gen5" + }, + "properties": { + "subnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetwork/myvnet/subnets/mysubnet1", + "vCores": 8, + "licenseType": "LicenseIncluded" + }, + "location": "japaneast", + "tags": { + "a": "b" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP", + "name": "testIP", + "type": "Microsoft.Sql/instancePools" + }, + { + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "family": "Gen5" + }, + "properties": { + "subnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetwork/myvnet/subnets/mysubnet1", + "vCores": 8, + "licenseType": "LicenseIncluded" + }, + "location": "japaneast", + "tags": { + "a": "b" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP2", + "name": "testIP2", + "type": "Microsoft.Sql/instancePools" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListInstancePoolsBySubscriptionId.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListInstancePoolsBySubscriptionId.json new file mode 100644 index 000000000000..2f0025ead979 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListInstancePoolsBySubscriptionId.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "family": "Gen5" + }, + "properties": { + "subnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetwork/myvnet/subnets/mysubnet1", + "vCores": 8, + "licenseType": "LicenseIncluded" + }, + "location": "japaneast", + "tags": { + "a": "b" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP", + "name": "testIP", + "type": "Microsoft.Sql/instancePools" + }, + { + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "family": "Gen5" + }, + "properties": { + "subnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group2/providers/Microsoft.Network/virtualNetwork/myvnet/subnets/mysubnet1", + "vCores": 8, + "licenseType": "LicenseIncluded" + }, + "location": "japaneast", + "tags": { + "a": "b" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group2/providers/Microsoft.Sql/instancePools/testIP2", + "name": "testIP2", + "type": "Microsoft.Sql/instancePools" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobAgentsByServer.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobAgentsByServer.json new file mode 100644 index 000000000000..65858c122d7d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobAgentsByServer.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1", + "name": "agent1", + "type": "Microsoft.Sql/servers/jobAgents", + "location": "southeastasia", + "sku": { + "name": "Agent", + "capacity": 200 + }, + "properties": { + "databaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/databases/db1" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/jobAgent2", + "name": "jobAgent2", + "type": "Microsoft.Sql/servers/jobAgents", + "location": "southeastasia", + "sku": { + "name": "Agent", + "capacity": 400 + }, + "properties": { + "databaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/databases/db12" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobCredentialsByAgent.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobCredentialsByAgent.json new file mode 100644 index 000000000000..8188cccb4564 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobCredentialsByAgent.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1", + "name": "cred1", + "type": "Microsoft.Sql/servers/jobAccounts/credentials", + "properties": { + "username": "myuser" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred2", + "name": "cred2", + "type": "Microsoft.Sql/servers/jobAccounts/credentials", + "properties": { + "username": "anotherUser" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobExecutionSteps.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobExecutionSteps.json new file mode 100644 index 000000000000..653c184800a5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobExecutionSteps.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "jobVersion": 1, + "stepName": "step1", + "stepId": 1, + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "lifecycle": "Succeeded", + "provisioningState": "Succeeded", + "createTime": "2017-12-03T04:33:15.7189151Z", + "startTime": "2017-12-03T04:33:16.176937Z", + "endTime": "2017-12-03T04:33:19.0600862Z", + "currentAttempts": 1, + "currentAttemptStartTime": "2017-12-03T04:33:17.4840068Z", + "lastMessage": "Step 1 succeeded." + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999/steps/step1", + "name": "step1", + "type": "Microsoft.Sql/servers/jobAgents/jobs/executions/steps" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobExecutionTargetsByExecution.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobExecutionTargetsByExecution.json new file mode 100644 index 000000000000..7d17dd0c13fe --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobExecutionTargetsByExecution.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "jobVersion": 1, + "stepName": "step1", + "stepId": 1, + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "lifecycle": "Succeeded", + "provisioningState": "Succeeded", + "createTime": "2017-07-01T04:33:17.5133333Z", + "startTime": "2017-07-01T04:33:18.1230403Z", + "endTime": "2017-07-01T04:33:18.7031029Z", + "currentAttempts": 1, + "currentAttemptStartTime": "2017-07-01T04:33:18.2391013Z", + "lastMessage": "Step 1 succeeded execution on target (server 'server1', database 'database1').", + "target": { + "type": "SqlDatabase", + "serverName": "server1", + "databaseName": "database1" + } + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999/steps/step1/targets/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "name": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "type": "Microsoft.Sql/servers/jobAgents/jobs/executions/steps/targets" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobExecutionTargetsByStep.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobExecutionTargetsByStep.json new file mode 100644 index 000000000000..ea64d5a77099 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobExecutionTargetsByStep.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "stepName": "step1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "jobVersion": 1, + "stepName": "step1", + "stepId": 1, + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "lifecycle": "Succeeded", + "provisioningState": "Succeeded", + "createTime": "2017-07-01T04:33:17.5133333Z", + "startTime": "2017-07-01T04:33:18.1230403Z", + "endTime": "2017-07-01T04:33:18.7031029Z", + "currentAttempts": 1, + "currentAttemptStartTime": "2017-07-01T04:33:18.2391013Z", + "lastMessage": "Step 1 succeeded execution on target (server 'server1', database 'database1').", + "target": { + "type": "SqlDatabase", + "serverName": "server1", + "databaseName": "database1" + } + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999/steps/step1/targets/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "name": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "type": "Microsoft.Sql/servers/jobAgents/jobs/executions/steps/targets" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobExecutionsByAgent.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobExecutionsByAgent.json new file mode 100644 index 000000000000..b490f0458b11 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobExecutionsByAgent.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "jobVersion": 1, + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "lifecycle": "Created", + "provisioningState": "Created", + "createTime": "2017-03-21T19:02:00.8707045Z", + "startTime": "2017-03-21T19:12:00.8707045Z", + "endTime": "2017-03-21T19:22:00.8707045Z", + "currentAttempts": 0, + "currentAttemptStartTime": "2017-03-21T19:12:00.8707045Z", + "lastMessage": "Job execution created." + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999", + "name": "5555-6666-7777-8888-999999999999", + "type": "Microsoft.Sql/servers/jobAgents/jobs/executions" + }, + { + "properties": { + "jobVersion": 1, + "jobExecutionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "lifecycle": "Succeeded", + "provisioningState": "Succeeded", + "createTime": "2017-12-15T19:02:00.8707045Z", + "startTime": "2017-12-15T19:12:00.8707045Z", + "endTime": "2017-12-15T19:22:00.8707045Z", + "currentAttempts": 1, + "lastMessage": "Job execution succeeded." + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job2/executions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "name": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "type": "Microsoft.Sql/servers/jobAgents/jobs/executions" + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1//executions?api-version=2017-03-01-preview&%24skip=2" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobExecutionsByAgentWithFilter.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobExecutionsByAgentWithFilter.json new file mode 100644 index 000000000000..a2eb8544279f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobExecutionsByAgentWithFilter.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "api-version": "2021-05-01-preview", + "createTimeMin": "2017-03-21T19:00:00Z", + "createTimeMax": "2017-03-21T19:05:00Z", + "endTimeMin": "2017-03-21T19:20:00Z", + "endTimeMax": "2017-03-21T19:25:00Z", + "isActive": false + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "jobVersion": 1, + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "lifecycle": "Created", + "provisioningState": "Created", + "createTime": "2017-03-21T19:02:00.8707045Z", + "startTime": "2017-03-21T19:12:00.8707045Z", + "endTime": "2017-03-21T19:22:00.8707045Z", + "currentAttempts": 0, + "currentAttemptStartTime": "2017-03-21T19:12:00.8707045Z", + "lastMessage": "Job execution created." + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999", + "name": "5555-6666-7777-8888-999999999999", + "type": "Microsoft.Sql/servers/jobAgents/jobs/executions" + }, + { + "properties": { + "jobVersion": 1, + "jobExecutionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "lifecycle": "Succeeded", + "provisioningState": "Succeeded", + "createTime": "2017-12-15T19:02:00.8707045Z", + "startTime": "2017-12-15T19:12:00.8707045Z", + "endTime": "2017-12-15T19:22:00.8707045Z", + "currentAttempts": 1, + "lastMessage": "Job execution succeeded." + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job2/executions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "name": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "type": "Microsoft.Sql/servers/jobAgents/jobs/executions" + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1//executions?api-version=2017-03-01-preview&%24skip=2" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobExecutionsByJob.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobExecutionsByJob.json new file mode 100644 index 000000000000..cbc7cde25bd4 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobExecutionsByJob.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "jobVersion": 1, + "jobExecutionId": "5555-6666-7777-8888-999999999999", + "lifecycle": "Created", + "provisioningState": "Created", + "createTime": "2017-03-21T19:02:00.8707045Z", + "startTime": "2017-03-21T19:12:00.8707045Z", + "endTime": "2017-03-21T19:22:00.8707045Z", + "currentAttempts": 0, + "currentAttemptStartTime": "2017-03-21T19:12:00.8707045Z", + "lastMessage": "Job execution created." + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999", + "name": "5555-6666-7777-8888-999999999999", + "type": "Microsoft.Sql/servers/jobAgents/jobs/executions" + }, + { + "properties": { + "jobVersion": 1, + "jobExecutionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "lifecycle": "Succeeded", + "provisioningState": "Succeeded", + "createTime": "2017-12-15T19:02:00.8707045Z", + "startTime": "2017-12-15T19:12:00.8707045Z", + "endTime": "2017-12-15T19:22:00.8707045Z", + "currentAttempts": 1, + "lastMessage": "Job execution succeeded." + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "name": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "type": "Microsoft.Sql/servers/jobAgents/jobs/executions" + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions?api-version=2017-03-01-preview&%24skip=2" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobStepsByJob.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobStepsByJob.json new file mode 100644 index 000000000000..3f34be6a1911 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobStepsByJob.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "stepId": 1, + "targetGroup": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1", + "action": { + "type": "TSql", + "source": "Inline", + "value": "select 2" + }, + "output": { + "type": "SqlDatabase", + "subscriptionId": "3501b905-a848-4b5d-96e8-b253f62d735a", + "resourceGroupName": "group3", + "serverName": "server3", + "databaseName": "database3", + "schemaName": "myschema1234", + "tableName": "mytable5678", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0" + }, + "executionOptions": { + "timeoutSeconds": 1234, + "retryAttempts": 42, + "initialRetryIntervalSeconds": 11, + "maximumRetryIntervalSeconds": 222, + "retryIntervalBackoffMultiplier": 3.0 + } + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/steps/step1", + "name": "step1", + "type": "Microsoft.Sql/servers/jobAgents/jobs/steps" + }, + { + "properties": { + "stepId": 2, + "targetGroup": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1", + "action": { + "type": "TSql", + "source": "Inline", + "value": "select 2" + }, + "output": { + "type": "SqlDatabase", + "subscriptionId": "3501b905-a848-4b5d-96e8-b253f62d735a", + "resourceGroupName": "group3", + "serverName": "server3", + "databaseName": "database3", + "schemaName": "myschema1234", + "tableName": "mytable5678", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0" + }, + "executionOptions": { + "timeoutSeconds": 1234, + "retryAttempts": 42, + "initialRetryIntervalSeconds": 11, + "maximumRetryIntervalSeconds": 222, + "retryIntervalBackoffMultiplier": 3.0 + } + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/steps/step2", + "name": "step2", + "type": "Microsoft.Sql/servers/jobAgents/jobs/steps" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobStepsByVersion.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobStepsByVersion.json new file mode 100644 index 000000000000..32a9eb262e11 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobStepsByVersion.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "jobVersion": "1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "stepId": 1, + "targetGroup": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1", + "action": { + "type": "TSql", + "source": "Inline", + "value": "select 2" + }, + "output": { + "type": "SqlDatabase", + "subscriptionId": "3501b905-a848-4b5d-96e8-b253f62d735a", + "resourceGroupName": "group3", + "serverName": "server3", + "databaseName": "database3", + "schemaName": "myschema1234", + "tableName": "mytable5678", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0" + }, + "executionOptions": { + "timeoutSeconds": 1234, + "retryAttempts": 42, + "initialRetryIntervalSeconds": 11, + "maximumRetryIntervalSeconds": 222, + "retryIntervalBackoffMultiplier": 3.0 + } + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/versions/1/steps/step1", + "name": "step1", + "type": "Microsoft.Sql/servers/jobAgents/jobs/versions/steps" + }, + { + "properties": { + "stepId": 2, + "targetGroup": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1", + "action": { + "type": "TSql", + "source": "Inline", + "value": "select 2" + }, + "output": { + "type": "SqlDatabase", + "subscriptionId": "3501b905-a848-4b5d-96e8-b253f62d735a", + "resourceGroupName": "group3", + "serverName": "server3", + "databaseName": "database3", + "schemaName": "myschema1234", + "tableName": "mytable5678", + "credential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0" + }, + "executionOptions": { + "timeoutSeconds": 1234, + "retryAttempts": 42, + "initialRetryIntervalSeconds": 11, + "maximumRetryIntervalSeconds": 222, + "retryIntervalBackoffMultiplier": 3.0 + } + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/versions/1/steps/step2", + "name": "step2", + "type": "Microsoft.Sql/servers/jobAgents/jobs/versions/steps" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobTargetGroups.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobTargetGroups.json new file mode 100644 index 000000000000..0e8b54db2574 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobTargetGroups.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "members": [ + { + "membershipType": "Exclude", + "type": "SqlDatabase", + "serverName": "server1", + "databaseName": "database1" + }, + { + "membershipType": "Include", + "type": "SqlServer", + "serverName": "server1", + "refreshCredential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential" + }, + { + "membershipType": "Include", + "type": "SqlElasticPool", + "serverName": "server2", + "elasticPoolName": "pool1", + "refreshCredential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential" + }, + { + "membershipType": "Include", + "type": "SqlShardMap", + "serverName": "server3", + "shardMapName": "shardMap1", + "refreshCredential": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential" + } + ] + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1", + "name": "targetGroup1", + "type": "Microsoft.Sql/servers/jobAgents/targetGroups" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobVersions.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobVersions.json new file mode 100644 index 000000000000..834a80fbc1a2 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobVersions.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "jobName": "job1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/versions/1", + "name": "1", + "type": "Microsoft.Sql/servers/jobAgents/jobs/versions" + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/versions/2", + "name": "2", + "type": "Microsoft.Sql/servers/jobAgents/jobs/versions" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobsByAgent.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobsByAgent.json new file mode 100644 index 000000000000..a0373544fd9f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListJobsByAgent.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1", + "name": "job1", + "type": "Microsoft.Sql/servers/jobAccounts/jobs", + "properties": { + "description": "my favourite job", + "version": 0, + "schedule": { + "startTime": "2015-09-24T18:30:01Z", + "endTime": "2015-09-24T23:59:59Z", + "type": "Recurring", + "interval": "PT5M", + "enabled": true + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job3", + "name": "job3", + "type": "Microsoft.Sql/servers/jobAccounts/jobs", + "properties": { + "description": "this job will be scheduled once", + "version": 1, + "schedule": { + "startTime": "2017-07-01T03:45:00Z", + "endTime": "2017-12-27T06:00:00Z", + "type": "Once", + "enabled": true + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job2", + "name": "job2", + "type": "Microsoft.Sql/servers/jobAccounts/jobs", + "properties": { + "description": "this job will never be automatically scheduled", + "version": 1, + "schedule": { + "startTime": "2017-07-01T03:45:00Z", + "endTime": "2017-12-27T06:00:00Z", + "type": "Once", + "enabled": false + } + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListManagedInstanceOperations.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListManagedInstanceOperations.json new file mode 100644 index 000000000000..7c7bef0f3176 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListManagedInstanceOperations.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "managedInstanceName": "sqlcrudtest-4645", + "operation": "UpsertManagedServer", + "operationFriendlyName": "UPDATE MANAGED SERVER", + "percentComplete": 100, + "startTime": "2019-12-06T11:08:44.49Z", + "state": "Cancelled", + "isCancellable": false + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "type": "Microsoft.Sql/managedInstances/operations" + }, + { + "properties": { + "managedInstanceName": "sqlcrudtest-4645", + "operation": "UpsertManagedServer", + "operationFriendlyName": "UPDATE MANAGED SERVER", + "percentComplete": 50, + "startTime": "2019-12-06T11:08:44.49Z", + "state": "InProgress", + "isCancellable": true, + "operationParameters": { + "currentParameters": { + "family": "Gen4", + "tier": "GeneralPurpose", + "vCores": 8, + "storageSizeInGB": 32 + }, + "requestedParameters": { + "family": "Gen4", + "tier": "BusinessCritical", + "vCores": 8, + "storageSizeInGB": 128 + } + }, + "operationSteps": { + "totalSteps": "3", + "currentStep": 3, + "stepsList": [ + { + "order": 1, + "name": "Request validation", + "status": "Completed", + "stepEndTime": "2019-12-06T11:08:45.57Z", + "stepStartTime": "2019-12-06T11:08:44.49Z", + "timeElapsed": "0" + }, + { + "order": 2, + "name": "Virtual Cluster resize/creation", + "status": "Completed", + "stepEndTime": "2019-12-06T11:22:47.35Z", + "stepStartTime": "2019-12-06T11:08:46.15Z", + "timeElapsed": "14" + }, + { + "order": 3, + "name": "New SQL Instance Startup", + "status": "InProgress", + "stepEndTime": "2019-12-06T11:24:50.51Z", + "stepStartTime": "2019-12-06T11:22:47.42Z", + "timeElapsed": "2" + } + ] + } + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/22222222-2222-2222-2222-222222222222", + "name": "22222222-2222-2222-2222-222222222222", + "type": "Microsoft.Sql/managedInstances/operations" + }, + { + "properties": { + "managedInstanceName": "sqlcrudtest-4645", + "operation": "UpsertManagedServer", + "operationFriendlyName": "UPDATE MANAGED SERVER", + "percentComplete": 100, + "startTime": "2019-12-06T14:48:34.583Z", + "state": "Failed", + "errorCode": 45157, + "errorDescription": "Server 'sqlcrudtest-4645' is busy with another operation. Please try your operation later.", + "errorSeverity": 16, + "isUserError": true, + "isCancellable": false + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/33333333-3333-3333-3333-333333333333", + "name": "33333333-3333-3333-3333-333333333333", + "type": "Microsoft.Sql/managedInstances/operations" + }, + { + "properties": { + "managedInstanceName": "sqlcrudtest-4645", + "operation": "MakeAllManagedDatabasesAccessible", + "operationFriendlyName": "MAKE ALL MANAGED DBS ACCESSIBLE", + "percentComplete": 100, + "startTime": "2019-12-04T09:00:08.1Z", + "state": "Failed", + "operationSteps": { + "totalSteps": "1", + "currentStep": 1, + "stepsList": [ + { + "order": 1, + "name": "Request validation", + "status": "Failed", + "stepEndTime": "2019-12-04T09:01:00.57Z", + "stepStartTime": "2019-12-04T09:00:30.15Z", + "timeElapsed": "0" + } + ] + } + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/44444444-4444-4444-4444-444444444444", + "name": "44444444-4444-4444-4444-444444444444", + "type": "Microsoft.Sql/managedInstances/operations" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListRecoverableManagedDatabasesByServer.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListRecoverableManagedDatabasesByServer.json new file mode 100644 index 000000000000..f9be60f9ec4f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListRecoverableManagedDatabasesByServer.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Test1", + "managedInstanceName": "managedInstance", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "lastAvailableBackupDate": "2017-05-26T01:06:29.78Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/recoverableDaatabases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/managedInstances/recoverableDaatabases" + }, + { + "properties": { + "lastAvailableBackupDate": "2018-04-26T02:17:23.44Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/recoverableDaatabases/testdb2", + "name": "testdb2", + "type": "Microsoft.Sql/managedInstances/recoverableDaatabases" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListRestorableDroppedDatabasesByServer.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListRestorableDroppedDatabasesByServer.json new file mode 100644 index 000000000000..daf686b6c30b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListRestorableDroppedDatabasesByServer.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "BC_Gen4_2", + "tier": "BusinessCritical" + }, + "properties": { + "databaseName": "testdb", + "maxSizeBytes": 268435456000, + "creationDate": "2017-06-07T04:41:33.937Z", + "deletionDate": "2017-05-27T02:49:47.69Z", + "backupStorageRedundancy": "Geo" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/restorableDroppedDatabases/testdb", + "name": "testdb,131403269876900000", + "type": "Microsoft.Sql/servers/restorableDroppedDatabases" + }, + { + "sku": { + "name": "GP_Gen4_2", + "tier": "GeneralPurpose" + }, + "properties": { + "databaseName": "testdb2", + "maxSizeBytes": 268435456000, + "creationDate": "2017-06-07T04:41:33.937Z", + "deletionDate": "2017-05-27T02:49:47.69Z", + "backupStorageRedundancy": "Geo" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/restorableDroppedDatabases/testdb2", + "name": "testdb2,131403269876900000", + "type": "Microsoft.Sql/servers/restorableDroppedDatabases" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListServerOperations.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListServerOperations.json new file mode 100644 index 000000000000..b1391bd75553 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListServerOperations.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-4645", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/operations/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "type": "Microsoft.Sql/servers/operations", + "properties": { + "operation": "MakeAllLogicalDatabasesAccessible", + "operationFriendlyName": "MAKE ALL DBS ACCESSIBLE", + "percentComplete": 0, + "serverName": "sqlcrudtest-4645", + "startTime": "2017-06-01T09:10:08.1Z", + "state": "InProgress" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/operations/22222222-2222-2222-2222-222222222222", + "name": "22222222-2222-2222-2222-222222222222", + "type": "Microsoft.Sql/servers/operations", + "properties": { + "operation": "MakeAllLogicalDatabasesAccessible", + "operationFriendlyName": "MAKE ALL DBS ACCESSIBLE", + "percentComplete": 100, + "serverName": "sqlcrudtest-4645", + "startTime": "2017-06-01T09:00:08.1Z", + "state": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListShortTermRetentionPoliciesByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListShortTermRetentionPoliciesByDatabase.json new file mode 100644 index 000000000000..4be2f3bcd1b6 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListShortTermRetentionPoliciesByDatabase.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "policyName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/backupShortTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/backupShortTermRetentionPolicies", + "properties": { + "retentionDays": 7, + "diffBackupIntervalInHours": 24 + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListVCoreDatabasesByServer.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListVCoreDatabasesByServer.json new file mode 100644 index 000000000000..5f0600a515ef --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListVCoreDatabasesByServer.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "BC_Gen4", + "tier": "BusinessCritical", + "capacity": 2 + }, + "kind": "v12.0,user,vcore", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 268435456000, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "creationDate": "2017-06-07T04:41:33.937Z", + "currentServiceObjectiveName": "BC_Gen4_2", + "requestedServiceObjectiveName": "BC_Gen4_2", + "defaultSecondaryLocation": "North Europe", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "licenseType": "LicenseIncluded", + "maxLogSizeBytes": 104857600, + "isInfraEncryptionEnabled": false, + "zoneRedundant": false, + "readScale": "Enabled", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "currentSku": { + "name": "BC_Gen4", + "tier": "BusinessCritical", + "capacity": 2 + }, + "currentBackupStorageRedundancy": "Zone", + "requestedBackupStorageRedundancy": "Zone", + "isLedgerOn": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + }, + { + "sku": { + "name": "System0", + "tier": "System", + "capacity": 0 + }, + "kind": "v12.0,system", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 32212254720, + "status": "Online", + "databaseId": "e6be351f-2cc9-4604-9e52-b0b28b2710b0", + "creationDate": "2017-06-07T04:23:42.537Z", + "currentServiceObjectiveName": "System0", + "requestedServiceObjectiveName": "System0", + "defaultSecondaryLocation": "North Europe", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "isInfraEncryptionEnabled": false, + "zoneRedundant": false, + "readScale": "Disabled", + "currentSku": { + "name": "System0", + "tier": "System", + "capacity": 0 + }, + "currentBackupStorageRedundancy": "Local", + "requestedBackupStorageRedundancy": "Local", + "isLedgerOn": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/master", + "name": "master", + "type": "Microsoft.Sql/servers/databases" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListVCoreInaccessibleDatabasesByServer.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListVCoreInaccessibleDatabasesByServer.json new file mode 100644 index 000000000000..adf6ddfa2a4e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ListVCoreInaccessibleDatabasesByServer.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "BC_Gen4", + "tier": "BusinessCritical", + "capacity": 2 + }, + "kind": "v12.0,user,vcore", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 268435456000, + "status": "Inaccessible", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "creationDate": "2017-06-07T04:41:33.937Z", + "currentServiceObjectiveName": "BC_Gen4_2", + "defaultSecondaryLocation": "North Europe", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "licenseType": "LicenseIncluded", + "maxLogSizeBytes": 104857600, + "readScale": "Enabled" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LocationCapabilityListByLocation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LocationCapabilityListByLocation.json new file mode 100644 index 000000000000..9230bcefa7ce --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LocationCapabilityListByLocation.json @@ -0,0 +1,3179 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "eastus", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "name": "East US", + "supportedServerVersions": [ + { + "name": "12.0", + "supportedEditions": [ + { + "name": "Hyperscale", + "supportedServiceLevelObjectives": [ + { + "id": "9380cd0e-b025-4e9d-829c-c1918c1614bb", + "name": "HS_Gen4_1", + "performanceLevel": { + "value": 1, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen4", + "tier": "Hyperscale", + "family": "Gen4", + "capacity": 1 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "34497c3f-24b9-4cee-968d-6e5e854670fe", + "name": "HS_Gen4_2", + "performanceLevel": { + "value": 2, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen4", + "tier": "Hyperscale", + "family": "Gen4", + "capacity": 2 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "a420d2b2-ca32-4152-b1c6-dd8d4d9fd734", + "name": "HS_Gen5_2", + "performanceLevel": { + "value": 2, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen5", + "tier": "Hyperscale", + "family": "Gen5", + "capacity": 2 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Default" + }, + { + "id": "5de845d2-2055-428c-b507-94131358cdd7", + "name": "HS_Gen4_3", + "performanceLevel": { + "value": 3, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen4", + "tier": "Hyperscale", + "family": "Gen4", + "capacity": 3 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "d060b874-21f3-47b0-a9bd-a1a737cfcc6e", + "name": "HS_Gen4_4", + "performanceLevel": { + "value": 4, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen4", + "tier": "Hyperscale", + "family": "Gen4", + "capacity": 4 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "60dba88b-2dfa-4123-be57-bd0dbfd92a72", + "name": "HS_Gen5_4", + "performanceLevel": { + "value": 4, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen5", + "tier": "Hyperscale", + "family": "Gen5", + "capacity": 4 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "925a0916-15fb-4764-aa76-533d97f2d782", + "name": "HS_Gen4_5", + "performanceLevel": { + "value": 5, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen4", + "tier": "Hyperscale", + "family": "Gen4", + "capacity": 5 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "d7aa11c2-e4c7-442a-962e-308b371f5ec1", + "name": "HS_Gen4_6", + "performanceLevel": { + "value": 6, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen4", + "tier": "Hyperscale", + "family": "Gen4", + "capacity": 6 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "b9c594ec-a3fe-4bfe-808d-a595410d0a07", + "name": "HS_Gen5_6", + "performanceLevel": { + "value": 6, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen5", + "tier": "Hyperscale", + "family": "Gen5", + "capacity": 6 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "d77eef57-6c00-4003-b140-822509b8736a", + "name": "HS_Gen4_7", + "performanceLevel": { + "value": 7, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen4", + "tier": "Hyperscale", + "family": "Gen4", + "capacity": 7 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "694bf389-7cb2-4461-8fa2-0b06d8438315", + "name": "HS_Gen4_8", + "performanceLevel": { + "value": 8, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen4", + "tier": "Hyperscale", + "family": "Gen4", + "capacity": 8 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "efdfac5f-3f8e-4500-95b1-684c07349860", + "name": "HS_Gen5_8", + "performanceLevel": { + "value": 8, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen5", + "tier": "Hyperscale", + "family": "Gen5", + "capacity": 8 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "554ea52a-9ecc-4d87-bbc7-1e257705da3f", + "name": "HS_Gen4_9", + "performanceLevel": { + "value": 9, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen4", + "tier": "Hyperscale", + "family": "Gen4", + "capacity": 9 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "576f3f38-b950-4eaa-b74e-33d831193441", + "name": "HS_Gen4_10", + "performanceLevel": { + "value": 10, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen4", + "tier": "Hyperscale", + "family": "Gen4", + "capacity": 10 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "69697c3a-1946-4eb8-a5a4-a269168dde27", + "name": "HS_Gen5_10", + "performanceLevel": { + "value": 10, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen5", + "tier": "Hyperscale", + "family": "Gen5", + "capacity": 10 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "1bee9dc8-68b4-44df-b870-8ab0e4d71e94", + "name": "HS_Gen5_12", + "performanceLevel": { + "value": 12, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen5", + "tier": "Hyperscale", + "family": "Gen5", + "capacity": 12 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "07a8341d-c0b2-4000-bc7a-5b4dae2ad210", + "name": "HS_Gen5_14", + "performanceLevel": { + "value": 14, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen5", + "tier": "Hyperscale", + "family": "Gen5", + "capacity": 14 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "7fc1f700-a45d-499e-901f-2a00645c54db", + "name": "HS_Gen4_16", + "performanceLevel": { + "value": 16, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen4", + "tier": "Hyperscale", + "family": "Gen4", + "capacity": 16 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "6b56f70b-52e5-44ba-8cd5-4f63d224b206", + "name": "HS_Gen5_16", + "performanceLevel": { + "value": 16, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen5", + "tier": "Hyperscale", + "family": "Gen5", + "capacity": 16 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "ba0029f2-3ff4-4ef6-9e65-e8f77b5dd1e2", + "name": "HS_Gen5_18", + "performanceLevel": { + "value": 18, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen5", + "tier": "Hyperscale", + "family": "Gen5", + "capacity": 18 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "f1b2a082-f622-4fb8-bbef-e74deac3ec89", + "name": "HS_Gen5_20", + "performanceLevel": { + "value": 20, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen5", + "tier": "Hyperscale", + "family": "Gen5", + "capacity": 20 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "f016d419-a031-4b93-ab62-7f3d2a789376", + "name": "HS_Gen4_24", + "performanceLevel": { + "value": 24, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen4", + "tier": "Hyperscale", + "family": "Gen4", + "capacity": 24 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "222bc0ee-e195-4bbc-be05-3b849c3a8195", + "name": "HS_Gen5_24", + "performanceLevel": { + "value": 24, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen5", + "tier": "Hyperscale", + "family": "Gen5", + "capacity": 24 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "05366cca-cc70-486e-a697-bb3fab877f75", + "name": "HS_Gen5_32", + "performanceLevel": { + "value": 32, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen5", + "tier": "Hyperscale", + "family": "Gen5", + "capacity": 32 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "32542ef7-124d-4e66-8b41-9c6c0ab963c2", + "name": "HS_Gen5_40", + "performanceLevel": { + "value": 40, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen5", + "tier": "Hyperscale", + "family": "Gen5", + "capacity": 40 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "id": "6509db45-febe-44dd-a079-35f11d477984", + "name": "HS_Gen5_80", + "performanceLevel": { + "value": 80, + "unit": "VCores" + }, + "sku": { + "name": "HS_Gen5", + "tier": "Hyperscale", + "family": "Gen5", + "capacity": 80 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "zoneRedundant": false, + "computeModel": "Provisioned", + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + } + ], + "status": "Available" + } + ], + "zoneRedundant": false, + "readScale": { + "maxNumberOfReplicas": 4 + }, + "supportedStorageCapabilities": [ + { + "storageAccountType": "GRS", + "status": "Default" + }, + { + "storageAccountType": "LRS", + "status": "Available" + }, + { + "storageAccountType": "ZRS", + "status": "Available", + "reason": "ZRS is available in multi-az regions" + }, + { + "storageAccountType": "GZRS", + "status": "Available", + "reason": "GZRS is available in multi-az regions" + } + ], + "status": "Available" + } + ], + "supportedElasticPoolEditions": [ + { + "name": "BusinessCritical", + "supportedElasticPoolPerformanceLevels": [ + { + "performanceLevel": { + "value": 3, + "unit": "VCores" + }, + "sku": { + "name": "BC_Gen4", + "tier": "BusinessCritical", + "family": "Gen4", + "capacity": 3 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "maxDatabaseCount": 100, + "supportedMaxSizes": [ + { + "minValue": { + "limit": 1024, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 31744, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 1024, + "unit": "Megabytes" + }, + "logSize": { + "limit": 30, + "unit": "Percent" + }, + "status": "Available" + }, + { + "minValue": { + "limit": 32768, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 32768, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 0, + "unit": "Megabytes" + }, + "logSize": { + "limit": 30, + "unit": "Percent" + }, + "status": "Default" + }, + { + "minValue": { + "limit": 33792, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 1048576, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 1024, + "unit": "Megabytes" + }, + "logSize": { + "limit": 30, + "unit": "Percent" + }, + "status": "Available" + } + ], + "supportedPerDatabaseMaxSizes": [ + { + "minValue": { + "limit": 1024, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 31744, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 1024, + "unit": "Megabytes" + }, + "status": "Available" + }, + { + "minValue": { + "limit": 32768, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 32768, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 0, + "unit": "Megabytes" + }, + "status": "Default" + }, + { + "minValue": { + "limit": 33792, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 1048576, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 1024, + "unit": "Megabytes" + }, + "status": "Available" + } + ], + "supportedPerDatabaseMaxPerformanceLevels": [ + { + "limit": 0.25, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 0.25, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 0.5, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 0.25, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 0.5, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 1, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 0.25, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 0.5, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 1, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 2, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 0.25, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 0.5, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 1, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 2, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 3, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 0.25, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 0.5, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 1, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 2, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 3, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Default" + } + ], + "zoneRedundant": false, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + }, + { + "name": "SQL_EastUS_DB_1", + "status": "Available", + "zoneRedundant": false + }, + { + "name": "SQL_EastUS_DB_2", + "status": "Available", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "performanceLevel": { + "value": 12, + "unit": "VCores" + }, + "sku": { + "name": "BC_Gen5", + "tier": "BusinessCritical", + "family": "Gen5", + "capacity": 12 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "maxDatabaseCount": 100, + "supportedMaxSizes": [ + { + "minValue": { + "limit": 1024, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 31744, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 1024, + "unit": "Megabytes" + }, + "logSize": { + "limit": 30, + "unit": "Percent" + }, + "status": "Available" + }, + { + "minValue": { + "limit": 32768, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 32768, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 0, + "unit": "Megabytes" + }, + "logSize": { + "limit": 30, + "unit": "Percent" + }, + "status": "Default" + }, + { + "minValue": { + "limit": 33792, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 3144704, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 1024, + "unit": "Megabytes" + }, + "logSize": { + "limit": 30, + "unit": "Percent" + }, + "status": "Available" + }, + { + "minValue": { + "limit": 3145728, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 3145728, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 0, + "unit": "Megabytes" + }, + "logSize": { + "limit": 1048576, + "unit": "Megabytes" + }, + "status": "Available" + } + ], + "supportedPerDatabaseMaxSizes": [ + { + "minValue": { + "limit": 1024, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 31744, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 1024, + "unit": "Megabytes" + }, + "status": "Available" + }, + { + "minValue": { + "limit": 32768, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 32768, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 0, + "unit": "Megabytes" + }, + "status": "Default" + }, + { + "minValue": { + "limit": 33792, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 3144704, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 1024, + "unit": "Megabytes" + }, + "status": "Available" + }, + { + "minValue": { + "limit": 3145728, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 3145728, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 0, + "unit": "Megabytes" + }, + "status": "Available" + } + ], + "supportedPerDatabaseMaxPerformanceLevels": [ + { + "limit": 0.25, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 0.25, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 0.5, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 0.25, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 0.5, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 1, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 0.25, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 0.5, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 1, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 2, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 0.25, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 0.5, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 1, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 2, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 4, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 0.25, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 0.5, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 1, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 2, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 4, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 6, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 0.25, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 0.5, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 1, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 2, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 4, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 6, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 8, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 0.25, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 0.5, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 1, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 2, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 4, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 6, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 8, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 10, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 0.25, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 0.5, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 1, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 2, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 4, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 6, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 8, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 10, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 12, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 0.25, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 0.5, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 1, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 2, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 4, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 6, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 8, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 10, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 12, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Default" + } + ], + "zoneRedundant": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + }, + { + "name": "SQL_EastUS_DB_1", + "status": "Available", + "zoneRedundant": false + }, + { + "name": "SQL_EastUS_DB_2", + "status": "Available", + "zoneRedundant": false + } + ], + "status": "Available" + }, + { + "performanceLevel": { + "value": 128, + "unit": "VCores" + }, + "sku": { + "name": "BC_M", + "tier": "BusinessCritical", + "family": "M", + "capacity": 128 + }, + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "maxDatabaseCount": 100, + "supportedMaxSizes": [ + { + "minValue": { + "limit": 1024, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 31744, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 1024, + "unit": "Megabytes" + }, + "logSize": { + "limit": 30, + "unit": "Percent" + }, + "status": "Available" + }, + { + "minValue": { + "limit": 32768, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 32768, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 0, + "unit": "Megabytes" + }, + "logSize": { + "limit": 30, + "unit": "Percent" + }, + "status": "Default" + }, + { + "minValue": { + "limit": 33792, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 3144704, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 1024, + "unit": "Megabytes" + }, + "logSize": { + "limit": 30, + "unit": "Percent" + }, + "status": "Available" + }, + { + "minValue": { + "limit": 3145728, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 4194304, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 1024, + "unit": "Megabytes" + }, + "logSize": { + "limit": 1048576, + "unit": "Megabytes" + }, + "status": "Available" + } + ], + "supportedPerDatabaseMaxSizes": [ + { + "minValue": { + "limit": 1024, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 31744, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 1024, + "unit": "Megabytes" + }, + "status": "Available" + }, + { + "minValue": { + "limit": 32768, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 32768, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 0, + "unit": "Megabytes" + }, + "status": "Default" + }, + { + "minValue": { + "limit": 33792, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 3144704, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 1024, + "unit": "Megabytes" + }, + "status": "Available" + }, + { + "minValue": { + "limit": 3145728, + "unit": "Megabytes" + }, + "maxValue": { + "limit": 4194304, + "unit": "Megabytes" + }, + "scaleSize": { + "limit": 1024, + "unit": "Megabytes" + }, + "status": "Available" + } + ], + "supportedPerDatabaseMaxPerformanceLevels": [ + { + "limit": 8, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 8, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 10, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 8, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 10, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 12, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 8, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 10, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 12, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 14, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 8, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 10, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 12, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 14, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 16, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 8, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 10, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 12, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 14, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 16, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 18, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 8, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 10, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 12, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 14, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 16, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 18, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 20, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 8, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 10, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 12, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 14, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 16, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 18, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 20, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 24, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 8, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 10, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 12, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 14, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 16, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 18, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 20, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 24, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 32, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 8, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 10, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 12, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 14, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 16, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 18, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 20, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 24, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 32, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 40, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 8, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 10, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 12, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 14, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 16, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 18, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 20, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 24, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 32, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 40, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 64, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 8, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 10, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 12, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 14, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 16, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 18, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 20, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 24, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 32, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 40, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 64, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 80, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 8, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 10, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 12, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 14, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 16, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 18, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 20, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 24, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 32, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 40, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 64, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 80, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Available" + }, + { + "limit": 128, + "unit": "VCores", + "supportedPerDatabaseMinPerformanceLevels": [ + { + "limit": 0, + "unit": "VCores", + "status": "Default" + }, + { + "limit": 8, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 10, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 12, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 14, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 16, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 18, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 20, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 24, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 32, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 40, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 64, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 80, + "unit": "VCores", + "status": "Available" + }, + { + "limit": 128, + "unit": "VCores", + "status": "Available" + } + ], + "status": "Default" + } + ], + "zoneRedundant": false, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default", + "zoneRedundant": false + }, + { + "name": "SQL_EastUS_DB_1", + "status": "Available", + "zoneRedundant": false + }, + { + "name": "SQL_EastUS_DB_2", + "status": "Available", + "zoneRedundant": false + } + ], + "status": "Available" + } + ], + "zoneRedundant": false, + "status": "Available" + } + ], + "status": "Default" + } + ], + "supportedManagedInstanceVersions": [ + { + "name": "12.0", + "supportedEditions": [ + { + "name": "GeneralPurpose", + "supportedFamilies": [ + { + "name": "Gen4", + "sku": "GP_Gen4", + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "supportedVcoresValues": [ + { + "name": "8", + "value": 8, + "includedMaxSize": { + "limit": 262144, + "unit": "Megabytes" + }, + "supportedStorageSizes": [ + { + "minValue": { + "limit": 32, + "unit": "Gigabytes" + }, + "maxValue": { + "limit": 8, + "unit": "Terabytes" + }, + "scaleSize": { + "limit": 32, + "unit": "Gigabytes" + }, + "status": "Available" + } + ], + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + }, + { + "name": "SQL_EastUS_MI_1", + "status": "Available" + }, + { + "name": "SQL_EastUS_MI_2", + "status": "Available" + } + ], + "status": "Default" + }, + { + "name": "16", + "value": 16, + "includedMaxSize": { + "limit": 262144, + "unit": "Megabytes" + }, + "supportedStorageSizes": [ + { + "minValue": { + "limit": 32, + "unit": "Gigabytes" + }, + "maxValue": { + "limit": 8, + "unit": "Terabytes" + }, + "scaleSize": { + "limit": 32, + "unit": "Gigabytes" + }, + "status": "Available" + } + ], + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + }, + { + "name": "SQL_EastUS_MI_1", + "status": "Available" + }, + { + "name": "SQL_EastUS_MI_2", + "status": "Available" + } + ], + "status": "Available" + }, + { + "name": "24", + "value": 24, + "includedMaxSize": { + "limit": 262144, + "unit": "Megabytes" + }, + "supportedStorageSizes": [ + { + "minValue": { + "limit": 32, + "unit": "Gigabytes" + }, + "maxValue": { + "limit": 8, + "unit": "Terabytes" + }, + "scaleSize": { + "limit": 32, + "unit": "Gigabytes" + }, + "status": "Available" + } + ], + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + }, + { + "name": "SQL_EastUS_MI_1", + "status": "Available" + }, + { + "name": "SQL_EastUS_MI_2", + "status": "Available" + } + ], + "status": "Available" + } + ], + "status": "Available" + }, + { + "name": "Gen5", + "sku": "GP_Gen5", + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "supportedVcoresValues": [ + { + "name": "8", + "value": 8, + "includedMaxSize": { + "limit": 262144, + "unit": "Megabytes" + }, + "supportedStorageSizes": [ + { + "minValue": { + "limit": 32, + "unit": "Gigabytes" + }, + "maxValue": { + "limit": 8, + "unit": "Terabytes" + }, + "scaleSize": { + "limit": 32, + "unit": "Gigabytes" + }, + "status": "Available" + } + ], + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + }, + { + "name": "SQL_EastUS_MI_1", + "status": "Available" + }, + { + "name": "SQL_EastUS_MI_2", + "status": "Available" + } + ], + "status": "Default" + }, + { + "name": "16", + "value": 16, + "includedMaxSize": { + "limit": 262144, + "unit": "Megabytes" + }, + "supportedStorageSizes": [ + { + "minValue": { + "limit": 32, + "unit": "Gigabytes" + }, + "maxValue": { + "limit": 8, + "unit": "Terabytes" + }, + "scaleSize": { + "limit": 32, + "unit": "Gigabytes" + }, + "status": "Available" + } + ], + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + }, + { + "name": "SQL_EastUS_MI_1", + "status": "Available" + }, + { + "name": "SQL_EastUS_MI_2", + "status": "Available" + } + ], + "status": "Available" + }, + { + "name": "24", + "value": 24, + "includedMaxSize": { + "limit": 262144, + "unit": "Megabytes" + }, + "supportedStorageSizes": [ + { + "minValue": { + "limit": 32, + "unit": "Gigabytes" + }, + "maxValue": { + "limit": 8, + "unit": "Terabytes" + }, + "scaleSize": { + "limit": 32, + "unit": "Gigabytes" + }, + "status": "Available" + } + ], + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + }, + { + "name": "SQL_EastUS_MI_1", + "status": "Available" + }, + { + "name": "SQL_EastUS_MI_2", + "status": "Available" + } + ], + "status": "Available" + } + ], + "status": "Default" + } + ], + "supportedStorageCapabilities": [ + { + "storageAccountType": "GRS", + "status": "Default" + }, + { + "storageAccountType": "LRS", + "status": "Available" + }, + { + "storageAccountType": "ZRS", + "status": "Visible", + "reason": "ZRS is available in multi-az regions" + }, + { + "storageAccountType": "GZRS", + "status": "Available", + "reason": "GZRS is available in multi-az regions" + } + ], + "status": "Default" + }, + { + "name": "Hyperscale", + "supportedFamilies": [ + { + "name": "Gen4", + "sku": "HS_Gen4", + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "supportedVcoresValues": [ + { + "name": "4", + "value": 4, + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + } + ], + "status": "Available" + }, + { + "name": "8", + "value": 8, + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + } + ], + "status": "Default" + }, + { + "name": "16", + "value": 16, + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + } + ], + "status": "Available" + }, + { + "name": "24", + "value": 24, + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + } + ], + "status": "Available" + } + ], + "status": "Default" + }, + { + "name": "Gen5", + "sku": "HS_Gen5", + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "supportedVcoresValues": [ + { + "name": "4", + "value": 4, + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + } + ], + "status": "Available" + }, + { + "name": "8", + "value": 8, + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + } + ], + "status": "Default" + }, + { + "name": "16", + "value": 16, + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + } + ], + "status": "Available" + }, + { + "name": "24", + "value": 24, + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + } + ], + "status": "Available" + }, + { + "name": "32", + "value": 32, + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + } + ], + "status": "Available" + }, + { + "name": "40", + "value": 40, + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + } + ], + "status": "Available" + }, + { + "name": "48", + "value": 48, + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + } + ], + "status": "Available" + }, + { + "name": "64", + "value": 64, + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + } + ], + "status": "Available" + }, + { + "name": "80", + "value": 80, + "instancePoolSupported": true, + "standaloneSupported": true, + "supportedMaintenanceConfigurations": [ + { + "name": "SQL_Default", + "status": "Default" + } + ], + "status": "Available" + } + ], + "status": "Available" + } + ], + "supportedStorageCapabilities": [ + { + "storageAccountType": "GRS", + "status": "Default" + }, + { + "storageAccountType": "LRS", + "status": "Available" + }, + { + "storageAccountType": "ZRS", + "status": "Available", + "reason": "ZRS is available in multi-az regions" + }, + { + "storageAccountType": "GZRS", + "status": "Available", + "reason": "GZRS is available in multi-az regions" + } + ], + "status": "Available" + } + ], + "supportedInstancePoolEditions": [ + { + "name": "GeneralPurpose", + "supportedFamilies": [ + { + "name": "Gen5", + "supportedLicenseTypes": [ + { + "name": "LicenseIncluded", + "status": "Default" + }, + { + "name": "BasePrice", + "status": "Available" + } + ], + "supportedVcoresValues": [ + { + "name": "GP_Gen5_8", + "value": 8, + "storageLimit": { + "limit": 8388608, + "unit": "Megabytes" + }, + "status": "Default" + }, + { + "name": "GP_Gen5_16", + "value": 16, + "storageLimit": { + "limit": 8388608, + "unit": "Megabytes" + }, + "status": "Available" + }, + { + "name": "GP_Gen5_24", + "value": 24, + "storageLimit": { + "limit": 8388608, + "unit": "Megabytes" + }, + "status": "Available" + }, + { + "name": "GP_Gen5_32", + "value": 32, + "storageLimit": { + "limit": 8388608, + "unit": "Megabytes" + }, + "status": "Available" + }, + { + "name": "GP_Gen5_40", + "value": 40, + "storageLimit": { + "limit": 8388608, + "unit": "Megabytes" + }, + "status": "Available" + }, + { + "name": "GP_Gen5_64", + "value": 64, + "storageLimit": { + "limit": 8388608, + "unit": "Megabytes" + }, + "status": "Available" + }, + { + "name": "GP_Gen5_80", + "value": 80, + "storageLimit": { + "limit": 8388608, + "unit": "Megabytes" + }, + "status": "Available" + } + ], + "status": "Default" + } + ], + "status": "Default" + } + ], + "status": "Default" + } + ], + "status": "Available" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupCopy.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupCopy.json new file mode 100644 index 000000000000..5cbaabb9af02 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupCopy.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "japaneast", + "longTermRetentionServerName": "testserver", + "longTermRetentionDatabaseName": "testDatabase", + "backupName": "55555555-6666-7777-8888-999999999999;131637960820000000", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "targetServerResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/resourceGroups/resourceGroup/servers/testserver2", + "targetDatabaseName": "testDatabase2", + "targetBackupStorageRedundancy": "Geo" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japanEast/longTermRetentionBackupOperationResults/a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706", + "name": "a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706", + "type": "Microsoft.Sql/locations/longTermRetentionBackupOperationResults", + "properties": { + "requestId": "a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706", + "fromBackupResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japanEast/longTermRetentionServers/testserver/longterRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000", + "operationType": "CopyBackup", + "status": "Succeeded", + "toBackupResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup/providers/Microsoft.Sql/locations/japanEast/longTermRetentionServers/testserver2/longterRetentionDatabases/testDatabase2/longTermRetentionBackups/55555555-6666-7777-8888-111111111111;131637960820000000", + "targetBackupStorageRedundancy": "Geo" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupDelete.json new file mode 100644 index 000000000000..6af0722f3f06 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "japaneast", + "longTermRetentionServerName": "testserver", + "longTermRetentionDatabaseName": "testDatabase", + "backupName": "55555555-6666-7777-8888-999999999999;131637960820000000", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupGet.json new file mode 100644 index 000000000000..d1710007c9ba --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "japaneast", + "longTermRetentionServerName": "testserver", + "longTermRetentionDatabaseName": "testDatabase", + "backupName": "55555555-6666-7777-8888-999999999999;131637960820000000", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase/longTermRetentionBackups/2017-03-10T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2017-09-06T08:00:00.000Z", + "name": "2017-03-10T08:00:00.000Z;55555555-6666-7777-8888-999999999999;131637960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver", + "serverCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase", + "databaseDeletionTime": null, + "backupTime": "2017-09-06T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupListByDatabase.json new file mode 100644 index 000000000000..778c9767b6a7 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupListByDatabase.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "japaneast", + "longTermRetentionServerName": "testserver", + "longTermRetentionDatabaseName": "testDatabase", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000", + "name": "55555555-6666-7777-8888-999999999999;131637960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver", + "serverCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase", + "databaseDeletionTime": null, + "backupTime": "2017-08-23T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131657960820000000", + "name": "55555555-6666-7777-8888-999999999999;131657960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver", + "serverCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase", + "databaseDeletionTime": null, + "backupTime": "2017-08-30T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131677960820000000", + "name": "55555555-6666-7777-8888-999999999999;131677960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver", + "serverCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase", + "databaseDeletionTime": "2017-09-07T08:00:00Z", + "backupTime": "2017-09-06T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupListByLocation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupListByLocation.json new file mode 100644 index 000000000000..2ba1a81761ba --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupListByLocation.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "japaneast", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver1/longTermRetentionDatabases/testDatabase1/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000", + "name": "55555555-6666-7777-8888-999999999999;2017-08-23T08:00:00.000Z", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver1", + "serverCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase1", + "databaseDeletionTime": null, + "backupTime": "2017-08-23T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver2/longTermRetentionDatabases/testDatabase2/longTermRetentionBackups/12341234-1234-1234-1234-123123123123;131657960820000000", + "name": "12341234-1234-1234-1234-123123123123;2017-08-30T08:00:00.000Z", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver2", + "serverCreateTime": "2017-04-10T08:00:00Z", + "databaseName": "testDatabase2", + "databaseDeletionTime": null, + "backupTime": "2017-08-30T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver3/longTermRetentionDatabases/testDatabase3/longTermRetentionBackups/43214321-4321-4321-4321-321321321321;131677960820000000", + "name": "43214321-4321-4321-4321-321321321321;2017-09-06T08:00:00.000Z", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver3", + "serverCreateTime": "2017-05-10T08:00:00Z", + "databaseName": "testDatabase3", + "databaseDeletionTime": null, + "backupTime": "2017-09-06T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupListByServer.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupListByServer.json new file mode 100644 index 000000000000..72de53adaf9b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupListByServer.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "japaneast", + "longTermRetentionServerName": "testserver", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase1/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000", + "name": "55555555-6666-7777-8888-999999999999;131637960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver", + "serverCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase1", + "databaseDeletionTime": null, + "backupTime": "2017-08-23T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase2/longTermRetentionBackups/12341234-1234-1234-1234-123123123123;131657960820000000", + "name": "12341234-1234-1234-1234-123123123123;131657960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver", + "serverCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase2", + "databaseDeletionTime": null, + "backupTime": "2017-08-30T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase3/longTermRetentionBackups/43214321-4321-4321-4321-321321321321;131677960820000000", + "name": "43214321-4321-4321-4321-321321321321;131667960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver", + "serverCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase3", + "databaseDeletionTime": null, + "backupTime": "2017-09-06T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupUpdate.json new file mode 100644 index 000000000000..d63f38096a41 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupUpdate.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "japaneast", + "longTermRetentionServerName": "testserver", + "longTermRetentionDatabaseName": "testDatabase", + "backupName": "55555555-6666-7777-8888-999999999999;131637960820000000", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "requestedBackupStorageRedundancy": "Geo" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japanEast/longTermRetentionBackupOperationResults/a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706", + "name": "a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706", + "type": "Microsoft.Sql/locations/longTermRetentionBackupOperationResults", + "properties": { + "requestId": "a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706", + "fromBackupResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japanEast/longTermRetentionServers/testserver/longterRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000", + "operationType": "UpdateBackup", + "status": "Succeeded", + "targetBackupStorageRedundancy": "Geo" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionPolicyCreateOrUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionPolicyCreateOrUpdate.json new file mode 100644 index 000000000000..137b5ae6d341 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionPolicyCreateOrUpdate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup", + "serverName": "testserver", + "databaseName": "testDatabase", + "policyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "weeklyRetention": "P1M", + "monthlyRetention": "P1Y", + "yearlyRetention": "P5Y", + "weekOfYear": 5 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/resourceGroups/resourceGroup/servers/testserver/databases/testDatabase/backupLongTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/resourceGroups/servers/databases/backupLongTermRetentionPolicies", + "properties": { + "weeklyRetention": "P1M", + "monthlyRetention": "P1Y", + "yearlyRetention": "P5Y", + "weekOfYear": 5 + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionPolicyGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionPolicyGet.json new file mode 100644 index 000000000000..cd52a972380d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionPolicyGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup", + "serverName": "testserver", + "databaseName": "testDatabase", + "policyName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/resourceGroups/resourceGroup/servers/testserver/databases/testDatabase/backupLongTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/resourceGroups/servers/databases/backupLongTermRetentionPolicies", + "properties": { + "weeklyRetention": "P1M", + "monthlyRetention": "P1Y", + "yearlyRetention": "P5Y", + "weekOfYear": 5 + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionPolicyListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionPolicyListByDatabase.json new file mode 100644 index 000000000000..797ec388a70c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionPolicyListByDatabase.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup", + "serverName": "testserver", + "databaseName": "testDatabase", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/resourceGroups/resourceGroup/servers/testserver/databases/testDatabase/backupLongTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/resourceGroups/servers/databases/backupLongTermRetentionPolicies", + "properties": { + "weeklyRetention": "P1M", + "monthlyRetention": "P1Y", + "yearlyRetention": "P5Y", + "weekOfYear": 5 + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedColumnsListByDatabaseMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedColumnsListByDatabaseMax.json new file mode 100644 index 000000000000..d43f35d266a2 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedColumnsListByDatabaseMax.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "serverName", + "databaseName": "myDatabase", + "api-version": "2021-05-01-preview", + "schema": [ + "dbo" + ], + "table": [ + "customer", + "address" + ], + "column": [ + "username" + ], + "orderBy": [ + "schema asc", + "table", + "column desc" + ], + "$skip": "5", + "$top": "50" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "columnType": "nvarchar", + "temporalType": "NonTemporalTable", + "memoryOptimized": false, + "isComputed": false + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/serverName/databases/myDatabase/schemas/dbo/tables/customer/columns/username", + "name": "username", + "type": "Microsoft.Sql/managedInstances/databases/schemas/tables/columns" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedColumnsListByDatabaseMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedColumnsListByDatabaseMin.json new file mode 100644 index 000000000000..05d76f049fce --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedColumnsListByDatabaseMin.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "serverName", + "databaseName": "myDatabase", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "columnType": "int", + "temporalType": "NonTemporalTable", + "memoryOptimized": false, + "isComputed": false + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/serverName/databases/myDatabase/schemas/dbo/tables/table1/columns/col1", + "name": "col1", + "type": "Microsoft.Sql/managedInstances/databases/schemas/tables/columns" + }, + { + "properties": { + "columnType": "bit", + "temporalType": "SystemVersionedTemporalTable", + "memoryOptimized": false, + "isComputed": false + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/serverName/databases/myDatabase/schemas/dbo/tables/table1/columns/col2", + "name": "col2", + "type": "Microsoft.Sql/managedInstances/databases/schemas/tables/columns" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseColumnGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseColumnGet.json new file mode 100644 index 000000000000..3d4cf8e6285d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseColumnGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "myManagedInstanceName", + "databaseName": "myDatabase", + "schemaName": "dbo", + "tableName": "table1", + "columnName": "column1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/table1/columns/column1", + "name": "column1", + "type": "Microsoft.Sql/managedInstances/databases/schemas/tables/columns", + "properties": { + "columnType": "bit" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseColumnListByTable.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseColumnListByTable.json new file mode 100644 index 000000000000..da7258f782e5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseColumnListByTable.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "myManagedInstanceName", + "databaseName": "myDatabase", + "schemaName": "dbo", + "tableName": "table1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/table1/columns/col1", + "name": "col1", + "type": "Microsoft.Sql/managedInstances/databases/schemas/tables/columns", + "properties": { + "columnType": "nvarchar" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/table1/columns/col2", + "name": "col2", + "type": "Microsoft.Sql/managedInstances/databases/schemas/tables/columns", + "properties": { + "columnType": "bit" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseColumnSensitivityLabelCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseColumnSensitivityLabelCreate.json new file mode 100644 index 000000000000..422eacd6d25c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseColumnSensitivityLabelCreate.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "myManagedInstanceName", + "databaseName": "myDatabase", + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "sensitivityLabelSource": "current", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "informationType": "PhoneNumber", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "bf91e08c-f4f0-478a-b016-25164b2a65ff", + "labelName": "PII", + "rank": "High" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn/sensitivityLabels/current", + "name": "current", + "type": "Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels", + "properties": { + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "informationType": "PhoneNumber", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "bf91e08c-f4f0-478a-b016-25164b2a65ff", + "labelName": "PII", + "rank": "High" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn/sensitivityLabels/current", + "name": "current", + "type": "Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels", + "properties": { + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "informationType": "PhoneNumber", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "bf91e08c-f4f0-478a-b016-25164b2a65ff", + "labelName": "PII", + "rank": "High" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseColumnSensitivityLabelDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseColumnSensitivityLabelDelete.json new file mode 100644 index 000000000000..253f47c4b82e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseColumnSensitivityLabelDelete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "myManagedInstanceName", + "databaseName": "myDatabase", + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "sensitivityLabelSource": "current", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseColumnSensitivityLabelGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseColumnSensitivityLabelGet.json new file mode 100644 index 000000000000..6b0e68fcc077 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseColumnSensitivityLabelGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "myManagedInstanceName", + "databaseName": "myDatabase", + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "sensitivityLabelSource": "current", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn/sensitivityLabels/current", + "name": "current", + "type": "Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels", + "properties": { + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "informationType": "PhoneNumber", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "bf91e08c-f4f0-478a-b016-25164b2a65ff", + "labelName": "PII", + "rank": "Low" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCompleteExternalRestore.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCompleteExternalRestore.json new file mode 100644 index 000000000000..b8c6c4e55133 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCompleteExternalRestore.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "myManagedInstanceName", + "databaseName": "myDatabase", + "api-version": "2021-05-01-preview", + "parameters": { + "lastBackupName": "testdb1_log4" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCreateMax.json new file mode 100644 index 000000000000..ad4db1cc08ad --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCreateMax.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "databaseName": "managedDatabase", + "api-version": "2021-05-01-preview", + "parameters": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia" + } + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1", + "name": "testdb1", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "201": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb2", + "name": "testdb2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCreateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCreateMin.json new file mode 100644 index 000000000000..54bae4a952a7 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCreateMin.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "databaseName": "managedDatabase", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "southeastasia" + } + }, + "responses": { + "200": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1", + "name": "testdb1", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "201": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb2", + "name": "testdb2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCreatePointInTimeRestore.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCreatePointInTimeRestore.json new file mode 100644 index 000000000000..c63b5ef86f86 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCreatePointInTimeRestore.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "databaseName": "managedDatabase", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "southeastasia", + "properties": { + "createMode": "PointInTimeRestore", + "sourceDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb", + "restorePointInTime": "2017-07-14T05:35:31.503Z" + } + } + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1", + "name": "testdb1", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "201": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb2", + "name": "testdb2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCreateRecovery.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCreateRecovery.json new file mode 100644 index 000000000000..75b34a7789ba --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCreateRecovery.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "server1", + "databaseName": "testdb_recovered", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "southeastasia", + "properties": { + "createMode": "Recovery", + "recoverableDatabaseId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/Default-SQL-WestEurope/providers/Microsoft.Sql/managedInstances/testsvr/recoverableDatabases/testdb" + } + } + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/server1/recoverableDatabases/testdb_recovered", + "name": "testdb_recovered", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2018-11-07T04:41:33.937Z" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "201": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/recoverableDatabases/testdb_recovered", + "name": "testdb_recovered", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2018-11-07T04:41:33.937Z" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCreateRestoreExternalBackup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCreateRestoreExternalBackup.json new file mode 100644 index 000000000000..a989202b9b38 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCreateRestoreExternalBackup.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "databaseName": "managedDatabase", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "createMode": "RestoreExternalBackup", + "storageContainerUri": "https://myaccountname.blob.core.windows.net/backups", + "storageContainerSasToken": "sv=2015-12-11&sr=c&sp=rl&sig=1234", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "autoCompleteRestore": true, + "lastBackupName": "last_backup_name" + }, + "location": "southeastasia" + } + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1", + "name": "testdb1", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "201": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb2", + "name": "testdb2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCreateRestoreLtrBackup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCreateRestoreLtrBackup.json new file mode 100644 index 000000000000..1a755343edc1 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseCreateRestoreLtrBackup.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "databaseName": "managedDatabase", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "createMode": "RestoreExternalBackup", + "storageContainerUri": "https://myaccountname.blob.core.windows.net/backups", + "storageContainerSasToken": "sv=2015-12-11&sr=c&sp=rl&sig=1234", + "collation": "SQL_Latin1_General_CP1_CI_AS" + }, + "location": "southeastasia" + } + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1", + "name": "testdb1", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "201": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb2", + "name": "testdb2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseDelete.json new file mode 100644 index 000000000000..e3977ff33af6 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "databaseName": "testdb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseGet.json new file mode 100644 index 000000000000..80a86202ce85 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Test1", + "managedInstanceName": "managedInstance", + "databaseName": "managedDatabase", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/testdb1", + "location": "southeastasia", + "name": "testdb1", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "creationDate": "2017-08-04T15:00:17.73Z", + "defaultSecondaryLocation": "North Europe", + "status": "Online" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseListByManagedInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseListByManagedInstance.json new file mode 100644 index 000000000000..2f117cf0f721 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseListByManagedInstance.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Test1", + "managedInstanceName": "managedInstance", + "databaseName": "managedDatabase", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/testdb1", + "location": "southeastasia", + "name": "testdb1", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "creationDate": "2017-08-04T15:00:17.73Z", + "defaultSecondaryLocation": "North Europe", + "status": "Online" + }, + "type": "Microsoft.Sql/managedInstances/databases" + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/testdb2", + "location": "southeastasia", + "name": "testdb2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "creationDate": "2017-08-04T15:00:17.73Z", + "defaultSecondaryLocation": "North Europe", + "status": "Online" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseRecommendedColumnSensitivityLabelDisable.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseRecommendedColumnSensitivityLabelDisable.json new file mode 100644 index 000000000000..ae071634354a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseRecommendedColumnSensitivityLabelDisable.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "myManagedInstanceName", + "databaseName": "myDatabase", + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "sensitivityLabelSource": "recommended", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseRecommendedColumnSensitivityLabelEnable.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseRecommendedColumnSensitivityLabelEnable.json new file mode 100644 index 000000000000..ae071634354a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseRecommendedColumnSensitivityLabelEnable.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "myManagedInstanceName", + "databaseName": "myDatabase", + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "sensitivityLabelSource": "recommended", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseRestoreDetails.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseRestoreDetails.json new file mode 100644 index 000000000000..5549c1dd5304 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseRestoreDetails.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "databaseName": "testdb", + "restoreDetailsName": "Default", + "api-version": "2021-05-01-preview", + "parameters": { + "tags": { + "tagKey1": "TagValue1" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "status": "Restoring", + "currentRestoringFileName": "full_0", + "percentCompleted": 0.0, + "unrestorableFiles": [], + "numberOfFilesDetected": 26, + "lastUploadedFileName": "log2_3", + "lastUploadedFileTime": "2018-06-15T11:38:33Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/managedInstance/databases/testdb/restoreDetails/current", + "name": "current", + "type": "Microsoft.Sql/managedInstances/databases/restoreDetails" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSchemaGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSchemaGet.json new file mode 100644 index 000000000000..89563b646d1d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSchemaGet.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "myManagedInstanceName", + "databaseName": "myDatabase", + "schemaName": "dbo", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo", + "name": "dbo", + "type": "Microsoft.Sql/managedInstances/databases/schemas" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSchemaListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSchemaListByDatabase.json new file mode 100644 index 000000000000..94feeaaf193d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSchemaListByDatabase.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "myManagedInstanceName", + "databaseName": "myDatabase", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo", + "name": "dbo", + "type": "Microsoft.Sql/managedInstances/databases/schemas" + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/schema2", + "name": "schema2", + "type": "Microsoft.Sql/managedInstances/databases/schemas" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSecurityAlertCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSecurityAlertCreateMax.json new file mode 100644 index 000000000000..2dabeb254eb9 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSecurityAlertCreateMax.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "managedInstanceName": "securityalert-6440", + "databaseName": "testdb", + "securityAlertPolicyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [ + "test@contoso.com", + "user@contoso.com" + ], + "disabledAlerts": [ + "Sql_Injection", + "Usage_Anomaly" + ], + "retentionDays": 6, + "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storageEndpoint": "https://mystorage.blob.core.windows.net" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/managedInstances/securityalert-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/managedInstances/databases/securityAlertPolicies", + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [ + "test@contoso.com", + "user@contoso.com" + ], + "disabledAlerts": [ + "Sql_Injection", + "Usage_Anomaly" + ], + "retentionDays": 6, + "storageAccountAccessKey": "", + "storageEndpoint": "https://mystorage.blob.core.windows.net" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/managedInstances/securityalert-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/managedInstances/databases/securityAlertPolicies", + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [ + "test@contoso.com", + "user@contoso.com" + ], + "disabledAlerts": [ + "Access_Anomaly", + "Usage_Anomaly" + ], + "retentionDays": 6, + "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storageEndpoint": "https://mystorage.blob.core.windows.net" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSecurityAlertCreateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSecurityAlertCreateMin.json new file mode 100644 index 000000000000..6f9bd44faff2 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSecurityAlertCreateMin.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "managedInstanceName": "securityalert-6440", + "databaseName": "testdb", + "securityAlertPolicyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/managedInstances/securityalert-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/managedInstance/databases/securityAlertPolicies", + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [], + "disabledAlerts": [], + "retentionDays": 0, + "storageAccountAccessKey": "", + "storageEndpoint": "" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/managedInstances/securityalert-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/managedInstance/databases/securityAlertPolicies", + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [], + "disabledAlerts": [], + "retentionDays": 0, + "storageAccountAccessKey": "", + "storageEndpoint": "" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSecurityAlertGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSecurityAlertGet.json new file mode 100644 index 000000000000..c11ef573e0e6 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSecurityAlertGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-6852", + "managedInstanceName": "securityalert-2080", + "databaseName": "testdb", + "securityAlertPolicyName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-6852/providers/Microsoft.Sql/managedInstances/securityalert-2080/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/managedInstances/databases/securityAlertPolicies", + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [ + "test@contoso.com", + "user@contoso.com" + ], + "disabledAlerts": [ + "Usage_Anomaly" + ], + "retentionDays": 0, + "storageAccountAccessKey": "", + "storageEndpoint": "" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSecurityAlertListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSecurityAlertListByDatabase.json new file mode 100644 index 000000000000..6734e0c592a7 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSecurityAlertListByDatabase.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-6852", + "managedInstanceName": "securityalert-2080", + "databaseName": "testdb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-6852/providers/Microsoft.Sql/managedInstances/securityalert-2080/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/managedInstances/databases/securityAlertPolicies", + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [ + "test@contoso.com", + "user@contoso.com" + ], + "disabledAlerts": [ + "Usage_Anomaly" + ], + "retentionDays": 0, + "storageAccountAccessKey": "", + "storageEndpoint": "" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSecurityEventsGetMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSecurityEventsGetMax.json new file mode 100644 index 000000000000..f4386916f97b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSecurityEventsGetMax.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "managedInstanceName": "testcl", + "databaseName": "database1", + "api-version": "2021-05-01-preview", + "$filter": "ShowServerRecords eq true", + "$skip": "0", + "$top": "1", + "$skiptoken": "eyJCbG9iTmFtZURhdGVUaW1lIjoiXC9EYXRlKDE1MTIyODg4MTIwMTArMDIwMClcLyIsIkJsb2JOYW1lUm9sbG92ZXJJbmRleCI6IjAiLCJFbmREYXRlIjoiXC9EYXRlKDE1MTI0NjYyMDA1MjkpXC8iLCJJc1NraXBUb2tlblNldCI6ZmFsc2UsIklzVjJCbG9iVGltZUZvcm1hdCI6dHJ1ZSwiU2hvd1NlcnZlclJlY29yZHMiOmZhbHNlLCJTa2lwVmFsdWUiOjAsIlRha2VWYWx1ZSI6MTB9" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/database1/securityEvents?$skipToken=C9EYXRlKDE1MTIyODg4MTIwMTArMDIwMClcLyIsIkJsb2JOYW1lUm9sbC9EYXRlKDE1MTIyODg4MTIwMTArMDIwMClcLyIsIkJsb2JOYW1lUm9sbC9EYXRlKDE1MTIyODg4MTIwMTArMDIwMClcLyIsIkJsb2JOYW1lUm9sbC9EYXRlKDE1MTIyODg4MTIwMTArMDIwMClcLyIsIkJsb2JOYW1lUm9sb&api-version=2017-10-01-preview", + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/database1/securityEvents/06364798761800000000000000001", + "name": "06364798761800000000000000001", + "type": "Microsoft.Sql/servers/databases/securityEvents", + "properties": { + "eventTime": "2017-12-24T10:13:24.729Z", + "securityEventType": "SqlInjectionExploit", + "subscription": "00000000-1111-2222-3333-444444444444", + "server": "testcl", + "database": "database1", + "clientIp": "10.166.113.220", + "applicationName": "myApp", + "principalName": "maliciousUser", + "securityEventSqlInjectionAdditionalProperties": { + "threatId": "1", + "statement": "select * from sys.databases where database_id like '' or 1 = 1 --' and family = 'test11'", + "statementHighlightOffset": 52, + "statementHighlightLength": 13, + "errorCode": 0, + "errorSeverity": 0, + "errorMessage": "" + } + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSecurityEventsGetMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSecurityEventsGetMin.json new file mode 100644 index 000000000000..f9f1d9624182 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSecurityEventsGetMin.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "managedInstanceName": "testcl", + "databaseName": "database1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/database1/securityEvents/06364798761800000000000000001", + "name": "06364798761800000000000000001", + "type": "Microsoft.Sql/servers/databases/securityEvents", + "properties": { + "eventTime": "2017-12-24T10:13:24.729Z", + "securityEventType": "SqlInjectionExploit", + "subscription": "00000000-1111-2222-3333-444444444444", + "server": "testcl", + "database": "database1", + "clientIp": "10.166.113.220", + "applicationName": "myApp", + "principalName": "maliciousUser", + "securityEventSqlInjectionAdditionalProperties": { + "threatId": "1", + "statement": "select * from sys.databases where database_id like '' or 1 = 1 --' and family = 'test11'", + "statementHighlightOffset": 52, + "statementHighlightLength": 13, + "errorCode": 0, + "errorSeverity": 0, + "errorMessage": "" + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/database1/securityEvents/06364798761800000000000000002", + "name": "06364798761800000000000000002", + "type": "Microsoft.Sql/servers/databases/securityEvents", + "properties": { + "eventTime": "2017-12-24T10:11:14.121Z", + "securityEventType": "SqlInjectionExploit", + "subscription": "00000000-1111-2222-3333-444444444444", + "server": "testcl", + "database": "database1", + "clientIp": "10.166.113.220", + "applicationName": "myApp", + "principalName": "maliciousUser", + "securityEventSqlInjectionAdditionalProperties": { + "threatId": "1", + "statement": "select * from sys.databases where database_id like '' or 1 = 1 --' and family = 'test10'", + "statementHighlightOffset": 52, + "statementHighlightLength": 13, + "errorCode": 0, + "errorSeverity": 0, + "errorMessage": "" + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/database1/securityEvents/06364798761800000000000000003", + "name": "06364798761800000000000000003", + "type": "Microsoft.Sql/servers/databases/securityEvents", + "properties": { + "eventTime": "2017-12-24T10:03:17.066Z", + "securityEventType": "SqlInjectionExploit", + "subscription": "00000000-1111-2222-3333-444444444444", + "server": "testcl", + "database": "database1", + "clientIp": "10.166.113.220", + "applicationName": "myApp", + "principalName": "maliciousUser", + "securityEventSqlInjectionAdditionalProperties": { + "threatId": "1", + "statement": "select * from sys.databases where database_id like '' or 1 = 1 --' and family = 'test9'", + "statementHighlightOffset": 52, + "statementHighlightLength": 13, + "errorCode": 0, + "errorSeverity": 0, + "errorMessage": "" + } + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSensitivityLabelsCurrentUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSensitivityLabelsCurrentUpdate.json new file mode 100644 index 000000000000..5cc87dbc365e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSensitivityLabelsCurrentUpdate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "myManagedInstanceName", + "databaseName": "myDatabase", + "api-version": "2021-05-01-preview", + "parameters": { + "operations": [ + { + "properties": { + "op": "set", + "schema": "dbo", + "table": "table1", + "column": "column1", + "sensitivityLabel": { + "properties": { + "labelName": "Highly Confidential", + "labelId": "3A477B16-9423-432B-AA97-6069B481CEC3", + "informationType": "Financial", + "informationTypeId": "1D3652D6-422C-4115-82F1-65DAEBC665C8" + } + } + } + }, + { + "properties": { + "op": "set", + "schema": "dbo", + "table": "table2", + "column": "column2", + "sensitivityLabel": { + "properties": { + "informationType": "PhoneNumber", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "bf91e08c-f4f0-478a-b016-25164b2a65ff", + "labelName": "PII" + } + } + } + }, + { + "properties": { + "op": "remove", + "schema": "dbo", + "table": "Table1", + "column": "Column3" + } + } + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSensitivityLabelsListByDatabaseCurrent.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSensitivityLabelsListByDatabaseCurrent.json new file mode 100644 index 000000000000..f8c4cd95e105 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSensitivityLabelsListByDatabaseCurrent.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "myManagedInstanceName", + "databaseName": "myDatabase", + "sensitivityLabelSource": "current", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn/sensitivityLabels/current", + "name": "current", + "type": "Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels", + "properties": { + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "informationType": "Financial", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "05e6eaa1-075a-4fb4-a732-a92215a2444a", + "labelName": "Sensitive", + "rank": "Critical" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn3/sensitivityLabels/current", + "name": "current", + "type": "Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels", + "properties": { + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn3", + "informationType": "Email", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "bf91e08c-f4f0-478a-b016-25164b2a65ff", + "labelName": "PII", + "rank": "High" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSensitivityLabelsListByDatabaseRecommended.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSensitivityLabelsListByDatabaseRecommended.json new file mode 100644 index 000000000000..f12a335b9e61 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSensitivityLabelsListByDatabaseRecommended.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "myManagedInstanceName", + "databaseName": "myDatabase", + "sensitivityLabelSource": "recommended", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn2/sensitivityLabels/recommended", + "name": "recommended", + "type": "Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels", + "properties": { + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn2", + "informationType": "Financial", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "05e6eaa1-075a-4fb4-a732-a92215a2444a", + "labelName": "Sensitive" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn4/sensitivityLabels/recommended", + "name": "recommended", + "type": "Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels", + "properties": { + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn4", + "informationType": "Email", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "bf91e08c-f4f0-478a-b016-25164b2a65ff", + "labelName": "PII" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSensitivityLabelsRecommendedUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSensitivityLabelsRecommendedUpdate.json new file mode 100644 index 000000000000..4620a0daab3a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseSensitivityLabelsRecommendedUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "myManagedInstanceName", + "databaseName": "myDatabase", + "api-version": "2021-05-01-preview", + "parameters": { + "operations": [ + { + "properties": { + "op": "enable", + "schema": "dbo", + "table": "table1", + "column": "column1" + } + }, + { + "properties": { + "op": "disable", + "schema": "dbo", + "table": "table2", + "column": "column2" + } + }, + { + "properties": { + "op": "disable", + "schema": "dbo", + "table": "Table1", + "column": "Column3" + } + } + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseTableGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseTableGet.json new file mode 100644 index 000000000000..0233017d4993 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseTableGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "myManagedInstanceName", + "databaseName": "myDatabase", + "schemaName": "dbo", + "tableName": "table1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/table1", + "name": "table1", + "type": "Microsoft.Sql/managedInstances/databases/schemas/tables" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseTableListBySchema.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseTableListBySchema.json new file mode 100644 index 000000000000..9d9d9e9f4be8 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseTableListBySchema.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "myManagedInstanceName", + "databaseName": "myDatabase", + "schemaName": "dbo", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/table1", + "name": "table1", + "type": "Microsoft.Sql/managedInstances/databases/schemas/tables" + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/table2", + "name": "table2", + "type": "Microsoft.Sql/managedInstances/databases/schemas/tables" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseUpdateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseUpdateMax.json new file mode 100644 index 000000000000..01070e64ef38 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseUpdateMax.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "tags": { + "tagKey1": "TagValue1" + } + } + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb" + }, + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseUpdateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseUpdateMin.json new file mode 100644 index 000000000000..01070e64ef38 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseUpdateMin.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "tags": { + "tagKey1": "TagValue1" + } + } + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb" + }, + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentCreateMax.json new file mode 100644 index 000000000000..a64222c70a8c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentCreateMax.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "managedInstanceName": "vulnerabilityaseessmenttest-6440", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "storageContainerPath": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storageContainerSasKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentCreateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentCreateMin.json new file mode 100644 index 000000000000..d43a5afdb73c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentCreateMin.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "managedInstanceName": "vulnerabilityaseessmenttest-6440", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "storageContainerPath": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storageContainerSasKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": false, + "emailSubscriptionAdmins": false, + "emails": [] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": false, + "emailSubscriptionAdmins": false, + "emails": [] + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentDelete.json new file mode 100644 index 000000000000..e165ec08044e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "managedInstanceName": "vulnerabilityaseessmenttest-6440", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentGet.json new file mode 100644 index 000000000000..c1b562513e0c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "managedInstanceName": "vulnerabilityaseessmenttest-6440", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentListByDatabase.json new file mode 100644 index 000000000000..0e6a4fefe05a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentListByDatabase.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "managedInstanceName": "vulnerabilityaseessmenttest-6440", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentRuleBaselineCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentRuleBaselineCreate.json new file mode 100644 index 000000000000..8bfc14681bf0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentRuleBaselineCreate.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "managedInstanceName": "vulnerabilityaseessmenttest-6440", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "ruleId": "VA1001", + "baselineName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "baselineResults": [ + { + "result": [ + "userA", + "SELECT" + ] + }, + { + "result": [ + "userB", + "SELECT" + ] + }, + { + "result": [ + "userC", + "SELECT", + "tableId_4" + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/rules/VA1001/baselines/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines", + "properties": { + "baselineResults": [ + { + "result": [ + "userA", + "SELECT" + ] + }, + { + "result": [ + "userB", + "SELECT" + ] + }, + { + "result": [ + "userC", + "SELECT", + "tableId_4" + ] + } + ] + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentRuleBaselineDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentRuleBaselineDelete.json new file mode 100644 index 000000000000..363657ee1af9 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentRuleBaselineDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "managedInstanceName": "vulnerabilityaseessmenttest-6440", + "databaseName": "testdb", + "baselineName": "default", + "ruleId": "VA1001", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentRuleBaselineGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentRuleBaselineGet.json new file mode 100644 index 000000000000..4ec844b4d035 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentRuleBaselineGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4711", + "managedInstanceName": "vulnerabilityaseessmenttest-6411", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "ruleId": "VA1001", + "baselineName": "master", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/rules/VA1001/baselines/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines", + "properties": { + "baselineResults": [ + { + "result": [ + "userA", + "SELECT" + ] + }, + { + "result": [ + "userB", + "SELECT" + ] + }, + { + "result": [ + "userC", + "SELECT", + "tableId_4" + ] + } + ] + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentScanExport.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentScanExport.json new file mode 100644 index 000000000000..13f3cdc38f6b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentScanExport.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityassessmenttest-4799", + "managedInstanceName": "vulnerabilityassessmenttest-6440", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "scanId": "scan001", + "api-version": "2021-05-01-preview", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan001/export", + "name": "scan001", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans/export", + "properties": { + "exportedReportLocation": "https://myaccount.blob.core.windows.net/vulnerabilityAssessment/vulnerabilityassessmenttest-6440/testdb/scan001.xlsx" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan001/export", + "name": "scan001", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans/export", + "properties": { + "exportedReportLocation": "https://myaccount.blob.core.windows.net/vulnerabilityAssessment/vulnerabilityassessmenttest-6440/testdb/scan001.xlsx" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentScanRecordsGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentScanRecordsGet.json new file mode 100644 index 000000000000..30b606b58bcc --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentScanRecordsGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityassessmenttest-4711", + "managedInstanceName": "vulnerabilityassessmenttest-6411", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "scanId": "scan001", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan001", + "name": "scan001", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans", + "properties": { + "scanId": "scan001", + "triggerType": "OnDemand", + "state": "Passed", + "startTime": "2017-12-12T17:45:06Z", + "endTime": "2017-12-12T17:47:06Z", + "errors": [], + "storageContainerPath": "https://myaccount.blob.core.windows.net/vulnerability-assessment", + "numberOfFailedSecurityChecks": 9 + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentScanRecordsListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentScanRecordsListByDatabase.json new file mode 100644 index 000000000000..51cd1065b377 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentScanRecordsListByDatabase.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityassessmenttest-4711", + "managedInstanceName": "vulnerabilityassessmenttest-6411", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan001", + "name": "scan001", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans", + "properties": { + "scanId": "scan001", + "triggerType": "OnDemand", + "state": "Passed", + "startTime": "2017-12-12T17:45:06Z", + "endTime": "2017-12-12T17:47:06Z", + "errors": [], + "storageContainerPath": "https://myaccount.blob.core.windows.net/vulnerability-assessment", + "numberOfFailedSecurityChecks": 9 + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan002", + "name": "scan002", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans", + "properties": { + "scanId": "scan002", + "triggerType": "Recurring", + "state": "Failed", + "startTime": "2017-12-12T17:45:06Z", + "endTime": "2017-12-12T17:47:06Z", + "errors": [], + "storageContainerPath": "https://myaccount.blob.core.windows.net/vulnerability-assessment", + "numberOfFailedSecurityChecks": 9 + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan003", + "name": "scan003", + "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans", + "properties": { + "scanId": "scan003", + "triggerType": "Recurring", + "state": "FailedToRun", + "startTime": "2017-12-12T17:45:06Z", + "endTime": "2017-12-12T17:47:06Z", + "errors": [ + { + "code": "StorageNotFound", + "message": "Storage not found" + } + ], + "storageContainerPath": "https://myaccount.blob.core.windows.net/vulnerability-assessment", + "numberOfFailedSecurityChecks": 0 + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentScansExecute.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentScansExecute.json new file mode 100644 index 000000000000..3abd13677e9f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentScansExecute.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityassessmenttest-4711", + "managedInstanceName": "vulnerabilityassessmenttest-6411", + "databaseName": "testdb", + "vulnerabilityAssessmentName": "default", + "scanId": "scan01", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAdministratorCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAdministratorCreate.json new file mode 100644 index 000000000000..2d0a3ddb1bbc --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAdministratorCreate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "administratorName": "ActiveDirectory", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "administratorType": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "44444444-3333-2222-1111-000000000000", + "tenantId": "55555555-4444-3333-2222-111111111111" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/managedInstance/administrators/ActiveDirectory", + "name": "ActiveDirectory", + "properties": { + "administratorType": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "44444444-3333-2222-1111-000000000000", + "tenantId": "55555555-4444-3333-2222-111111111111" + }, + "type": "Microsoft.Sql/managedInstances/administrators" + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/managedInstance/administrators/ActiveDirectory", + "name": "ActiveDirectory", + "properties": { + "administratorType": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "44444444-3333-2222-1111-000000000000", + "tenantId": "55555555-4444-3333-2222-111111111111" + }, + "type": "Microsoft.Sql/managedInstances/administrators" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAdministratorDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAdministratorDelete.json new file mode 100644 index 000000000000..08604d91ea5b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAdministratorDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "administratorName": "ActiveDirectory", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAdministratorGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAdministratorGet.json new file mode 100644 index 000000000000..7e06c3976709 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAdministratorGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "administratorName": "ActiveDirectory", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/managedInstance/administrators/ActiveDirectory", + "name": "ActiveDirectory", + "properties": { + "administratorType": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "44444444-3333-2222-1111-000000000000", + "tenantId": "55555555-4444-3333-2222-111111111111" + }, + "type": "Microsoft.Sql/managedInstances/administrators" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAdministratorListByInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAdministratorListByInstance.json new file mode 100644 index 000000000000..06e66523d649 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAdministratorListByInstance.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/managedInstance/administrators/ActiveDirectory", + "name": "ActiveDirectory", + "properties": { + "administratorType": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "44444444-3333-2222-1111-000000000000", + "tenantId": "55555555-4444-3333-2222-111111111111" + }, + "type": "Microsoft.Sql/managedInstances/administrators" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAdministratorUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAdministratorUpdate.json new file mode 100644 index 000000000000..2d0a3ddb1bbc --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAdministratorUpdate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "administratorName": "ActiveDirectory", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "administratorType": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "44444444-3333-2222-1111-000000000000", + "tenantId": "55555555-4444-3333-2222-111111111111" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/managedInstance/administrators/ActiveDirectory", + "name": "ActiveDirectory", + "properties": { + "administratorType": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "44444444-3333-2222-1111-000000000000", + "tenantId": "55555555-4444-3333-2222-111111111111" + }, + "type": "Microsoft.Sql/managedInstances/administrators" + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/managedInstance/administrators/ActiveDirectory", + "name": "ActiveDirectory", + "properties": { + "administratorType": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "44444444-3333-2222-1111-000000000000", + "tenantId": "55555555-4444-3333-2222-111111111111" + }, + "type": "Microsoft.Sql/managedInstances/administrators" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAzureADOnlyAuthCreateOrUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAzureADOnlyAuthCreateOrUpdate.json new file mode 100644 index 000000000000..0b041f6822a1 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAzureADOnlyAuthCreateOrUpdate.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "authenticationName": "Default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "azureADOnlyAuthentication": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/azureADOnlyAuthentications/providers/Microsoft.Sql/managedInstances/managedInstance/azureadonlyauthentications/default", + "name": "Default", + "type": "Microsoft.Sql/managedInstances/azureadonlyauthentications", + "properties": { + "azureADOnlyAuthentication": false + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/azureADOnlyAuthentications/providers/Microsoft.Sql/managedInstances/managedInstance/azureadonlyauthentications/default", + "name": "Default", + "type": "Microsoft.Sql/managedInstances/azureadonlyauthentications", + "properties": { + "azureADOnlyAuthentication": false + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAzureADOnlyAuthDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAzureADOnlyAuthDelete.json new file mode 100644 index 000000000000..44ad02fb9265 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAzureADOnlyAuthDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "authenticationName": "Default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAzureADOnlyAuthGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAzureADOnlyAuthGet.json new file mode 100644 index 000000000000..2f4fb216a7ec --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAzureADOnlyAuthGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "authenticationName": "Default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/azureADOnlyAuthentications/providers/Microsoft.Sql/managedInstances/managedInstance/azureadonlyauthentications/default", + "name": "Default", + "type": "Microsoft.Sql/managedInstances/azureadonlyauthentications", + "properties": { + "azureADOnlyAuthentication": true + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAzureADOnlyAuthListByInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAzureADOnlyAuthListByInstance.json new file mode 100644 index 000000000000..767a5e8f9269 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceAzureADOnlyAuthListByInstance.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "authenticationName": "Default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/azureADOnlyAuthentications/providers/Microsoft.Sql/managedInstances/managedInstance/azureadonlyauthentications/default", + "name": "Default", + "type": "Microsoft.Sql/managedInstances/azureadonlyauthentications", + "properties": { + "azureADOnlyAuthentication": true + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceCreateMax.json new file mode 100644 index 000000000000..dc993ee98e22 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceCreateMax.json @@ -0,0 +1,148 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "resourceGroupName": "testrg", + "managedInstanceName": "testinstance", + "api-version": "2021-05-01-preview", + "parameters": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "Japan East", + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "dummylogin", + "administratorLoginPassword": "PLACEHOLDER", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "dnsZonePartner": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance", + "publicDataEndpointEnabled": false, + "proxyOverride": "Redirect", + "minimalTlsVersion": "1.2", + "timezoneId": "UTC", + "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1", + "maintenanceConfigurationId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1", + "requestedBackupStorageRedundancy": "Geo", + "administrators": { + "principalType": "User", + "login": "bob@contoso.com", + "sid": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "azureADOnlyAuthentication": true + }, + "servicePrincipal": { + "type": "SystemAssigned" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen5" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Creating", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Redirect", + "minimalTlsVersion": "1.2", + "dnsZone": "1b4e2caff2530", + "timezoneId": "UTC", + "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1", + "maintenanceConfigurationId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "administrators": { + "principalType": "User", + "login": "bob@contoso.com", + "sid": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "azureADOnlyAuthentication": true + }, + "servicePrincipal": { + "principalId": "00000011-1111-2222-2222-123456789111", + "clientId": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "type": "SystemAssigned" + } + }, + "location": "japaneast", + "tags": { + "tagKey1": "TagValue1" + }, + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance", + "name": "testinstance", + "type": "Microsoft.Sql/managedInstances" + } + }, + "201": { + "body": { + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen5" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Creating", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Redirect", + "minimalTlsVersion": "1.2", + "dnsZone": "1b4e2caff2530", + "timezoneId": "UTC", + "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1", + "maintenanceConfigurationId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "administrators": { + "principalType": "User", + "login": "bob@contoso.com", + "sid": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "azureADOnlyAuthentication": true + }, + "servicePrincipal": { + "principalId": "00000011-1111-2222-2222-123456789111", + "clientId": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "type": "SystemAssigned" + } + }, + "location": "japaneast", + "tags": { + "tagKey1": "TagValue1" + }, + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance", + "name": "testinstance", + "type": "Microsoft.Sql/managedInstances" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceCreateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceCreateMin.json new file mode 100644 index 000000000000..8bf2e549ea67 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceCreateMin.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "resourceGroupName": "testrg", + "managedInstanceName": "testinstance", + "api-version": "2021-05-01-preview", + "parameters": { + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "dummylogin", + "administratorLoginPassword": "PLACEHOLDER", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded" + }, + "location": "Japan East" + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Creating", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Redirect", + "dnsZone": "1b4e2caff2530", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo" + }, + "location": "japaneast", + "tags": {}, + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance", + "name": "testinstance", + "type": "Microsoft.Sql/managedInstances" + } + }, + "201": { + "body": { + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Creating", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Redirect", + "dnsZone": "1b4e2caff2530", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo" + }, + "location": "japaneast", + "tags": {}, + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance", + "name": "testinstance", + "type": "Microsoft.Sql/managedInstances" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceDelete.json new file mode 100644 index 000000000000..6aface109289 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "resourceGroupName": "testrg", + "managedInstanceName": "testinstance", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceEncryptionProtectorCreateOrUpdateKeyVault.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceEncryptionProtectorCreateOrUpdateKeyVault.json new file mode 100644 index 000000000000..b8fe8637f96a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceEncryptionProtectorCreateOrUpdateKeyVault.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "encryptionProtectorName": "current", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "serverKeyType": "AzureKeyVault", + "serverKeyName": "someVault_someKey_01234567890123456789012345678901", + "autoRotationEnabled": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/encryptionProtector/current", + "name": "current", + "type": "Microsoft.Sql/managedInstances/encryptionProtector", + "kind": "azurekeyvault", + "properties": { + "serverKeyName": "someVault_someKey_01234567890123456789012345678901", + "serverKeyType": "AzureKeyVault", + "autoRotationEnabled": false + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceEncryptionProtectorCreateOrUpdateServiceManaged.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceEncryptionProtectorCreateOrUpdateServiceManaged.json new file mode 100644 index 000000000000..d971edb37421 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceEncryptionProtectorCreateOrUpdateServiceManaged.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "encryptionProtectorName": "current", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "serverKeyType": "ServiceManaged", + "serverKeyName": "ServiceManaged" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/encryptionProtector/current", + "name": "current", + "type": "Microsoft.Sql/managedInstances/encryptionProtector", + "kind": "servicemanaged", + "properties": { + "serverKeyName": "ServiceManaged", + "serverKeyType": "ServiceManaged" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceEncryptionProtectorGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceEncryptionProtectorGet.json new file mode 100644 index 000000000000..2dc15489b306 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceEncryptionProtectorGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "encryptionProtectorName": "current", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/encryptionProtector/current", + "name": "current", + "type": "Microsoft.Sql/managedInstances/encryptionProtector", + "kind": "azurekeyvault", + "properties": { + "serverKeyName": "someVault_someKey_01234567890123456789012345678901", + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceEncryptionProtectorList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceEncryptionProtectorList.json new file mode 100644 index 000000000000..8ecc7a624877 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceEncryptionProtectorList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/encryptionProtector/current", + "name": "current", + "type": "Microsoft.Sql/managedInstances/encryptionProtector", + "kind": "azurekeyvault", + "properties": { + "serverKeyName": "someVault_someKey_01234567890123456789012345678901", + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceEncryptionProtectorRevalidate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceEncryptionProtectorRevalidate.json new file mode 100644 index 000000000000..55ac27cb8f6b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceEncryptionProtectorRevalidate.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "encryptionProtectorName": "current", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceGet.json new file mode 100644 index 000000000000..cd6567552154 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceGet.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "20d7082a-0fc7-4468-82bd-542694d5042b", + "resourceGroupName": "testrg", + "managedInstanceName": "testinstance", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Succeeded", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Default", + "minimalTlsVersion": "1.2", + "dnsZone": "1b4e2caff2530", + "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1", + "maintenanceConfigurationId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "servicePrincipal": { + "principalId": "00000011-1111-2222-2222-123456789111", + "clientId": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "type": "SystemAssigned" + } + }, + "location": "japaneast", + "tags": { + "key": "value" + }, + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance", + "name": "testinstance", + "type": "Microsoft.Sql/managedInstances" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceGetWithExpandEqualsAdministrators.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceGetWithExpandEqualsAdministrators.json new file mode 100644 index 000000000000..5ba07834bb45 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceGetWithExpandEqualsAdministrators.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "20d7082a-0fc7-4468-82bd-542694d5042b", + "resourceGroupName": "testrg", + "managedInstanceName": "testinstance", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Succeeded", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Default", + "minimalTlsVersion": "1.2", + "dnsZone": "1b4e2caff2530", + "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1", + "maintenanceConfigurationId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "administrators": { + "principalType": "User", + "login": "bob@contoso.com", + "sid": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "azureADOnlyAuthentication": true + } + }, + "location": "japaneast", + "tags": { + "key": "value" + }, + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance", + "name": "testinstance", + "type": "Microsoft.Sql/managedInstances" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceKeyCreateOrUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceKeyCreateOrUpdate.json new file mode 100644 index 000000000000..965dd2644d00 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceKeyCreateOrUpdate.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/keys/someVault_someKey_01234567890123456789012345678901", + "name": "sqlcrudtest-4645", + "type": "Microsoft.Sql/managedInstances/keys", + "kind": "azurekeyvault", + "properties": { + "thumbprint": "00112233445566778899AABBCCDDEEFFAABBCCDD", + "creationDate": "2020-11-01T00:00:00Z", + "autoRotationEnabled": false + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/keys/someVault_someKey_01234567890123456789012345678901", + "name": "sqlcrudtest-4645", + "type": "Microsoft.Sql/managedInstances/keys", + "kind": "azurekeyvault", + "properties": { + "thumbprint": "00112233445566778899AABBCCDDEEFFAABBCCDD", + "creationDate": "2020-11-01T00:00:00Z", + "autoRotationEnabled": false + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceKeyDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceKeyDelete.json new file mode 100644 index 000000000000..107b352ff544 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceKeyDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceKeyGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceKeyGet.json new file mode 100644 index 000000000000..f68bc9d2ac83 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceKeyGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/keys/someVault_someKey_01234567890123456789012345678901", + "name": "sqlcrudtest-4645", + "type": "Microsoft.Sql/managedInstances/keys", + "kind": "azurekeyvault", + "properties": { + "thumbprint": "00112233445566778899AABBCCDDEEFFAABBCCDD", + "creationDate": "2020-11-01T00:00:00Z", + "autoRotationEnabled": false + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceKeyList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceKeyList.json new file mode 100644 index 000000000000..9d3563b35a1a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceKeyList.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/keys/someVault_someKey_01234567890123456789012345678901", + "name": "someVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.Sql/managedInstances/keys", + "kind": "azurekeyvault", + "properties": { + "thumbprint": "00112233445566778899AABBCCDDEEFFAABBCCDD", + "creationDate": "2020-11-15T00:00:00Z", + "autoRotationEnabled": false + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/keys/myVault_myKey_11111111111111111111111111111111", + "name": "myVault_myKey_11111111111111111111111111111111", + "type": "Microsoft.Sql/managedInstances/keys", + "kind": "azurekeyvault", + "properties": { + "thumbprint": "AAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBB", + "creationDate": "2020-11-15T00:00:00Z", + "autoRotationEnabled": false + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/keys/ServiceManaged", + "name": "ServiceManaged", + "type": "Microsoft.Sql/managedInstances/keys", + "kind": "servicemanaged", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceList.json new file mode 100644 index 000000000000..ae1164397b49 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceList.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "japaneast", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance1", + "name": "testinstance1", + "type": "Microsoft.Sql/managedInstances", + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance1.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Succeeded", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Default", + "minimalTlsVersion": "1.2", + "dnsZone": "1b4e2caff2530", + "maintenanceConfigurationId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo" + } + }, + { + "location": "japaneast", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance2", + "name": "testinstance2", + "type": "Microsoft.Sql/managedInstances", + "sku": { + "name": "BC_Gen5", + "tier": "BusinessCritical", + "capacity": 16, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance2.2c3d1bdae3412.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2", + "state": "Ready", + "provisioningState": "Succeeded", + "vCores": 16, + "storageSizeInGB": 1024, + "licenseType": "Full", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Default", + "minimalTlsVersion": "1.2", + "dnsZone": "2c3d1bdae3412", + "maintenanceConfigurationId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceListByInstancePool.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceListByInstancePool.json new file mode 100644 index 000000000000..f5908b0d3280 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceListByInstancePool.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "resourceGroupName": "Test1", + "instancePoolName": "pool1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "canadacentral", + "id": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance1", + "name": "testinstance1", + "type": "Microsoft.Sql/managedInstances", + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen5" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance1.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Succeeded", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "dnsZone": "1b4e2caff2530", + "proxyOverride": "Redirect", + "minimalTlsVersion": "1.2", + "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/instancePools/pool1", + "maintenanceConfigurationId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_CanadaCentral_MI_1", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo" + } + }, + { + "location": "canadacentral", + "id": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance2", + "name": "testinstance2", + "type": "Microsoft.Sql/managedInstances", + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "capacity": 16, + "family": "Gen5" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance2.2c3d1bdae3412.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Succeeded", + "vCores": 16, + "storageSizeInGB": 1024, + "licenseType": "Full", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "dnsZone": "2c3d1bdae3412", + "proxyOverride": "Redirect", + "minimalTlsVersion": "1.2", + "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/instancePools/pool1", + "maintenanceConfigurationId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_CanadaCentral_MI_1", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceListByInstancePoolWithExpandEqualsAdministrators.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceListByInstancePoolWithExpandEqualsAdministrators.json new file mode 100644 index 000000000000..95a5edf66db5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceListByInstancePoolWithExpandEqualsAdministrators.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "resourceGroupName": "Test1", + "instancePoolName": "pool1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "canadacentral", + "id": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance1", + "name": "testinstance1", + "type": "Microsoft.Sql/managedInstances", + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen5" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance1.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Succeeded", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "dnsZone": "1b4e2caff2530", + "proxyOverride": "Redirect", + "minimalTlsVersion": "1.2", + "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/instancePools/pool1", + "maintenanceConfigurationId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_CanadaCentral_MI_1", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "administrators": { + "principalType": "User", + "login": "bob@contoso.com", + "sid": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "azureADOnlyAuthentication": true + } + } + }, + { + "location": "canadacentral", + "id": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance2", + "name": "testinstance2", + "type": "Microsoft.Sql/managedInstances", + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "capacity": 16, + "family": "Gen5" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance2.2c3d1bdae3412.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Succeeded", + "vCores": 16, + "storageSizeInGB": 1024, + "licenseType": "Full", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "dnsZone": "2c3d1bdae3412", + "proxyOverride": "Redirect", + "minimalTlsVersion": "1.2", + "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/instancePools/pool1", + "maintenanceConfigurationId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_CanadaCentral_MI_2", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "administrators": { + "principalType": "User", + "login": "bob@contoso.com", + "sid": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "azureADOnlyAuthentication": true + } + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceListByResourceGroup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceListByResourceGroup.json new file mode 100644 index 000000000000..90a535c48b0b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceListByResourceGroup.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "resourceGroupName": "Test1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "japaneast", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance1", + "name": "testinstance1", + "type": "Microsoft.Sql/managedInstances", + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance1.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Succeeded", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Default", + "minimalTlsVersion": "1.2", + "dnsZone": "1b4e2caff2530", + "maintenanceConfigurationId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo" + } + }, + { + "location": "japaneast", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance2", + "name": "testinstance2", + "type": "Microsoft.Sql/managedInstances", + "sku": { + "name": "BC_Gen5", + "tier": "BusinessCritical", + "capacity": 16, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance2.2c3d1bdae3412.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2", + "state": "Ready", + "provisioningState": "Succeeded", + "vCores": 16, + "storageSizeInGB": 1024, + "licenseType": "Full", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Default", + "minimalTlsVersion": "1.2", + "dnsZone": "2c3d1bdae3412", + "maintenanceConfigurationId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceListByResourceGroupWithExpandEqualsAdministrators.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceListByResourceGroupWithExpandEqualsAdministrators.json new file mode 100644 index 000000000000..0942cc59e2bd --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceListByResourceGroupWithExpandEqualsAdministrators.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "resourceGroupName": "Test1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "japaneast", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance1", + "name": "testinstance1", + "type": "Microsoft.Sql/managedInstances", + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance1.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Succeeded", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Default", + "minimalTlsVersion": "1.2", + "dnsZone": "1b4e2caff2530", + "maintenanceConfigurationId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "administrators": { + "principalType": "User", + "login": "bob@contoso.com", + "sid": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "azureADOnlyAuthentication": true + } + } + }, + { + "location": "japaneast", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance2", + "name": "testinstance2", + "type": "Microsoft.Sql/managedInstances", + "sku": { + "name": "BC_Gen5", + "tier": "BusinessCritical", + "capacity": 16, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance2.2c3d1bdae3412.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2", + "state": "Ready", + "provisioningState": "Succeeded", + "vCores": 16, + "storageSizeInGB": 1024, + "licenseType": "Full", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Default", + "minimalTlsVersion": "1.2", + "dnsZone": "2c3d1bdae3412", + "maintenanceConfigurationId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_2", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "administrators": { + "principalType": "User", + "login": "bob@contoso.com", + "sid": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "azureADOnlyAuthentication": true + } + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceListWithExpandEqualsAdministrators.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceListWithExpandEqualsAdministrators.json new file mode 100644 index 000000000000..5b40e7192098 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceListWithExpandEqualsAdministrators.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "japaneast", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance1", + "name": "testinstance1", + "type": "Microsoft.Sql/managedInstances", + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance1.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Succeeded", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Default", + "minimalTlsVersion": "1.2", + "dnsZone": "1b4e2caff2530", + "maintenanceConfigurationId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "administrators": { + "principalType": "User", + "login": "bob@contoso.com", + "sid": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "azureADOnlyAuthentication": true + } + } + }, + { + "location": "japaneast", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance2", + "name": "testinstance2", + "type": "Microsoft.Sql/managedInstances", + "sku": { + "name": "BC_Gen5", + "tier": "BusinessCritical", + "capacity": 16, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance2.2c3d1bdae3412.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2", + "state": "Ready", + "provisioningState": "Succeeded", + "vCores": 16, + "storageSizeInGB": 1024, + "licenseType": "Full", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Default", + "minimalTlsVersion": "1.2", + "dnsZone": "2c3d1bdae3412", + "maintenanceConfigurationId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_2", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "administrators": { + "principalType": "User", + "login": "bob@contoso.com", + "sid": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "azureADOnlyAuthentication": true + } + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupDelete.json new file mode 100644 index 000000000000..eb3fed3efd60 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "japaneast", + "managedInstanceName": "testInstance", + "databaseName": "testDatabase", + "backupName": "55555555-6666-7777-8888-999999999999;131637960820000000", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupGet.json new file mode 100644 index 000000000000..35d8ae356351 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "japaneast", + "managedInstanceName": "testInstance", + "databaseName": "testDatabase", + "backupName": "55555555-6666-7777-8888-999999999999;131637960820000000", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/55555555-6666-7777-8888-999999999999;131637960820000000", + "name": "55555555-6666-7777-8888-999999999999;131637960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups", + "properties": { + "managedInstanceName": "testInstance", + "managedInstanceCreateTime": "2017-09-01T08:00:00Z", + "databaseName": "testDatabase", + "databaseDeletionTime": null, + "backupTime": "2018-08-23T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByDatabase.json new file mode 100644 index 000000000000..82aa275e6002 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByDatabase.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "japaneast", + "managedInstanceName": "testInstance", + "databaseName": "testDatabase", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-23T08:00:00.000Z", + "name": "2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-23T08:00:00.000Z", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups", + "properties": { + "managedInstanceName": "testInstance", + "managedInstanceCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase", + "databaseDeletionTime": null, + "backupTime": "2018-08-23T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-30T08:00:00.000Z", + "name": "2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-30T08:00:00.000Z", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups", + "properties": { + "managedInstanceName": "testInstance", + "managedInstanceCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase", + "databaseDeletionTime": null, + "backupTime": "2018-08-30T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-09-06T08:00:00.000Z", + "name": "2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-09-06T08:00:00.000Z", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups", + "properties": { + "managedInstanceName": "testInstance", + "managedInstanceCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase", + "databaseDeletionTime": "2018-09-07T08:00:00Z", + "backupTime": "2018-09-06T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByInstance.json new file mode 100644 index 000000000000..f68032728f15 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByInstance.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "japaneast", + "managedInstanceName": "testInstance", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase1/longTermRetentionManagedInstanceBackups/55555555-6666-7777-8888-999999999999;131637960820000000", + "name": "55555555-6666-7777-8888-999999999999;131637960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups", + "properties": { + "managedInstanceName": "testInstance", + "managedInstanceCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase1", + "databaseDeletionTime": null, + "backupTime": "2017-08-23T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase2/longTermRetentionManagedInstanceBackups/12341234-1234-1234-1234-123123123123;131657960820000000", + "name": "12341234-1234-1234-1234-123123123123;131657960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups", + "properties": { + "managedInstanceName": "testInstance", + "managedInstanceCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase2", + "databaseDeletionTime": null, + "backupTime": "2017-08-30T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase3/longTermRetentionManagedInstanceBackups/43214321-4321-4321-4321-321321321321;131677960820000000", + "name": "43214321-4321-4321-4321-321321321321;131667960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups", + "properties": { + "managedInstanceName": "testInstance", + "managedInstanceCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase3", + "databaseDeletionTime": null, + "backupTime": "2017-09-06T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByLocation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByLocation.json new file mode 100644 index 000000000000..e6137763837b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByLocation.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "japaneast", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testserver1/longTermRetentionDatabases/testDatabase1/longTermRetentionManagedInstanceBackups/55555555-6666-7777-8888-999999999999;131637960820000000", + "name": "55555555-6666-7777-8888-999999999999;2017-08-23T08:00:00.000Z", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "managedInstanceName": "testInstance1", + "managedInstanceCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase1", + "databaseDeletionTime": null, + "backupTime": "2017-08-23T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testserver2/longTermRetentionDatabases/testDatabase2/longTermRetentionManagedInstanceBackups/12341234-1234-1234-1234-123123123123;131657960820000000", + "name": "12341234-1234-1234-1234-123123123123;2017-08-30T08:00:00.000Z", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "managedInstanceName": "testInstance2", + "managedInstanceCreateTime": "2017-04-10T08:00:00Z", + "databaseName": "testDatabase2", + "databaseDeletionTime": null, + "backupTime": "2017-08-30T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testserver3/longTermRetentionDatabases/testDatabase3/longTermRetentionManagedInstanceBackups/43214321-4321-4321-4321-321321321321;131677960820000000", + "name": "43214321-4321-4321-4321-321321321321;2017-09-06T08:00:00.000Z", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups", + "properties": { + "managedInstanceName": "testInstance3", + "managedInstanceCreateTime": "2017-05-10T08:00:00Z", + "databaseName": "testDatabase3", + "databaseDeletionTime": null, + "backupTime": "2017-09-06T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionPolicyCreateOrUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionPolicyCreateOrUpdate.json new file mode 100644 index 000000000000..ea66ea42a556 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionPolicyCreateOrUpdate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testResourceGroup", + "managedInstanceName": "testInstance", + "databaseName": "testDatabase", + "policyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "weeklyRetention": "P1M", + "monthlyRetention": "P1Y", + "yearlyRetention": "P5Y", + "weekOfYear": 5 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/managedInstances/testInstance/databases/testDatabase/backupLongTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/resourceGroups/managedInstances/databases/backupLongTermRetentionPolicies", + "properties": { + "weeklyRetention": "P1M", + "monthlyRetention": "P1Y", + "yearlyRetention": "P5Y", + "weekOfYear": 5 + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionPolicyGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionPolicyGet.json new file mode 100644 index 000000000000..99a604dcb11b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionPolicyGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testResourceGroup", + "managedInstanceName": "testInstance", + "databaseName": "testDatabase", + "policyName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/resourceGroups/testResourceGroup/managedInstances/testInstance/databases/testDatabase/backupLongTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/resourceGroups/managedInstances/databases/backupLongTermRetentionPolicies", + "properties": { + "weeklyRetention": "P1M", + "monthlyRetention": "P1Y", + "yearlyRetention": "P5Y", + "weekOfYear": 5 + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionPolicyListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionPolicyListByDatabase.json new file mode 100644 index 000000000000..09c9463804e1 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionPolicyListByDatabase.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testResourceGroup", + "managedInstanceName": "testInstance", + "databaseName": "testDatabase", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/managedInstances/testInstance/databases/testDatabase/backupLongTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/resourceGroups/managedInstances/databases/backupLongTermRetentionPolicies", + "properties": { + "weeklyRetention": "P1M", + "monthlyRetention": "P1Y", + "yearlyRetention": "P5Y", + "weekOfYear": 5 + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstancePrivateEndpointConnectionDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstancePrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..36ecdd9c5678 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstancePrivateEndpointConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "managedInstanceName": "test-cl", + "privateEndpointConnectionName": "private-endpoint-connection-name", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstancePrivateEndpointConnectionGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstancePrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..9216225b56e1 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstancePrivateEndpointConnectionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "managedInstanceName": "test-cl", + "privateEndpointConnectionName": "private-endpoint-connection-name", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/test-cl/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.Sql/managedInstances/privateEndpointConnections", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstancePrivateEndpointConnectionList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstancePrivateEndpointConnectionList.json new file mode 100644 index 000000000000..59d2180c603c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstancePrivateEndpointConnectionList.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "managedInstanceName": "test-cl", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/test-cl/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.Sql/managedInstances/privateEndpointConnections", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/test-cl/privateEndpointConnections/private-endpoint-connection-name-2", + "name": "private-endpoint-connection-name-2", + "type": "Microsoft.Sql/managedInstances/privateEndpointConnections", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name-2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstancePrivateEndpointConnectionUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstancePrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..bb62e7e3d66f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstancePrivateEndpointConnectionUpdate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "managedInstanceName": "test-cl", + "privateEndpointConnectionName": "private-endpoint-connection-name", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/test-cl/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.Sql/managedInstances/privateEndpointConnections", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstancePrivateLinkResourcesGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstancePrivateLinkResourcesGet.json new file mode 100644 index 000000000000..8d10d69cc8e4 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstancePrivateLinkResourcesGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "managedInstanceName": "test-cl", + "groupName": "plr", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/test-cl/privateLinkResources/plr", + "name": "plr", + "type": "Microsoft.Sql/managedInstances/privateLinkResources", + "properties": { + "groupId": "managedInstance", + "requiredMembers": [ + "managedInstance" + ] + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstancePrivateLinkResourcesList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstancePrivateLinkResourcesList.json new file mode 100644 index 000000000000..4b9a1476b85c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstancePrivateLinkResourcesList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "managedInstanceName": "test-cl", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/test-cl/privateLinkResources/plr", + "name": "plr", + "type": "Microsoft.Sql/managedInstances/privateLinkResources", + "properties": { + "groupId": "managedInstance", + "requiredMembers": [ + "managedInstance" + ] + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceQueryGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceQueryGet.json new file mode 100644 index 000000000000..eec665979235 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceQueryGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "databaseName": "database_1", + "queryId": "42", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "42", + "type": "Microsoft.Sql/managedInstances/databases/queries", + "properties": { + "queryText": "select * from DUMMY_TABLE" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceQueryStatisticsList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceQueryStatisticsList.json new file mode 100644 index 000000000000..0a26b78a9ee5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceQueryStatisticsList.json @@ -0,0 +1,278 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "databaseName": "database_1", + "queryId": "42", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "databaseName": "db1", + "queryId": "35", + "startTime": "03/01/2020 18:34:58", + "endTime": "03/02/2020 18:34:58", + "intervals": [ + { + "intervalStartTime": "03/02/2020 08:00:00", + "intervalType": "PT1H", + "executionCount": 160, + "metrics": [ + { + "name": "cpu", + "displayName": "Cpu", + "unit": "percentage", + "value": 0.0, + "min": 1.507638888888889E-05, + "max": 2.5243055555555557E-05, + "avg": 1.665347222222222E-05, + "sum": 0.0026645555555555554, + "stdev": 1.4894345929850385E-06 + }, + { + "name": "io", + "displayName": "Physical Io Reads", + "unit": "percentage", + "value": 0.0, + "min": 0.0, + "max": 0.0, + "avg": 0.0, + "sum": 0.0, + "stdev": 0.0 + }, + { + "name": "logIo", + "displayName": "Log Writes", + "unit": "percentage", + "value": 0.0, + "min": 0.0, + "max": 0.0, + "avg": 0.0, + "sum": 0.0, + "stdev": 0.0 + }, + { + "name": "memory", + "displayName": "Memory consumption", + "unit": "KB", + "value": 0.0, + "min": 0.0, + "max": 0.0, + "avg": 0.0, + "sum": 0.0, + "stdev": 0.0 + }, + { + "name": "duration", + "displayName": "Query duration", + "unit": "microseconds", + "value": 0.0, + "min": 4373.0, + "max": 18490.0, + "avg": 5026.625, + "sum": 804260.0, + "stdev": 1487.3520882343225 + } + ] + }, + { + "intervalStartTime": "03/02/2020 09:00:00", + "intervalType": "PT1H", + "executionCount": 20, + "metrics": [ + { + "name": "cpu", + "displayName": "Cpu", + "unit": "percentage", + "value": 0.0, + "min": 2.3430555555555557E-05, + "max": 0.00014645833333333332, + "avg": 4.4797743055555553E-05, + "sum": 0.00089595486111111115, + "stdev": 3.8301183442043949E-05 + }, + { + "name": "io", + "displayName": "Physical Io Reads", + "unit": "percentage", + "value": 0.0, + "min": 0.0, + "max": 0.0, + "avg": 0.0, + "sum": 0.0, + "stdev": 0.0 + }, + { + "name": "logIo", + "displayName": "Log Writes", + "unit": "percentage", + "value": 0.0, + "min": 0.0, + "max": 0.0, + "avg": 0.0, + "sum": 0.0, + "stdev": 0.0 + }, + { + "name": "memory", + "displayName": "Memory consumption", + "unit": "KB", + "value": 0.0, + "min": 0.0, + "max": 0.0, + "avg": 0.0, + "sum": 0.0, + "stdev": 0.0 + }, + { + "name": "duration", + "displayName": "Query duration", + "unit": "microseconds", + "value": 0.0, + "min": 6813.0, + "max": 42289.0, + "avg": 12963.2, + "sum": 259264.0, + "stdev": 11040.140794392071 + } + ] + }, + { + "intervalStartTime": "03/02/2020 15:00:00", + "intervalType": "PT1H", + "executionCount": 80, + "metrics": [ + { + "name": "cpu", + "displayName": "Cpu", + "unit": "percentage", + "value": 0.0, + "min": 1.8215277777777777E-05, + "max": 2.764236111111111E-05, + "avg": 1.9315538194444445E-05, + "sum": 0.0015452430555555556, + "stdev": 1.0716305801875179E-06 + }, + { + "name": "io", + "displayName": "Physical Io Reads", + "unit": "percentage", + "value": 0.0, + "min": 0.0, + "max": 0.0, + "avg": 0.0, + "sum": 0.0, + "stdev": 0.0 + }, + { + "name": "logIo", + "displayName": "Log Writes", + "unit": "percentage", + "value": 0.0, + "min": 0.0, + "max": 0.0, + "avg": 0.0, + "sum": 0.0, + "stdev": 0.0 + }, + { + "name": "memory", + "displayName": "Memory consumption", + "unit": "KB", + "value": 0.0, + "min": 0.0, + "max": 0.0, + "avg": 0.0, + "sum": 0.0, + "stdev": 0.0 + }, + { + "name": "duration", + "displayName": "Query duration", + "unit": "microseconds", + "value": 0.0, + "min": 5264.0, + "max": 7982.0, + "avg": 5586.2625, + "sum": 446901.0, + "stdev": 310.49157572107271 + } + ] + }, + { + "intervalStartTime": "03/02/2020 17:00:00", + "intervalType": "PT1H", + "executionCount": 80, + "metrics": [ + { + "name": "cpu", + "displayName": "Cpu", + "unit": "percentage", + "value": 0.0, + "min": 1.7819444444444443E-05, + "max": 2.782638888888889E-05, + "avg": 1.9085373263888888E-05, + "sum": 0.0015268298611111112, + "stdev": 1.2309244108727927E-06 + }, + { + "name": "io", + "displayName": "Physical Io Reads", + "unit": "percentage", + "value": 0.0, + "min": 0.0, + "max": 0.0, + "avg": 0.0, + "sum": 0.0, + "stdev": 0.0 + }, + { + "name": "logIo", + "displayName": "Log Writes", + "unit": "percentage", + "value": 0.0, + "min": 0.0, + "max": 0.0, + "avg": 0.0, + "sum": 0.0, + "stdev": 0.0 + }, + { + "name": "memory", + "displayName": "Memory consumption", + "unit": "KB", + "value": 0.0, + "min": 0.0, + "max": 0.0, + "avg": 0.0, + "sum": 0.0, + "stdev": 0.0 + }, + { + "name": "duration", + "displayName": "Query duration", + "unit": "microseconds", + "value": 0.0, + "min": 5147.0, + "max": 8052.0, + "avg": 5517.2, + "sum": 441376.0, + "stdev": 356.87635814102259 + } + ] + } + ] + }, + "id": "35", + "type": "Microsoft.Sql/managedInstances/databases/queries/statistics" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceQueryStatisticsListMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceQueryStatisticsListMax.json new file mode 100644 index 000000000000..76bcaf6272b1 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceQueryStatisticsListMax.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "databaseName": "database_1", + "queryId": "42", + "api-version": "2021-05-01-preview", + "interval": "P1D", + "startTime": "03/01/2020 16:23:09", + "endTime": "03/11/2020 14:00:00" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "databaseName": "db1", + "queryId": "28", + "startTime": "03/01/2020 16:23:09", + "endTime": "03/11/2020 14:00:00", + "intervals": [ + { + "intervalStartTime": "03/11/2020 00:00:00", + "intervalType": "P1D", + "executionCount": 1, + "metrics": [ + { + "name": "cpu", + "displayName": "Cpu", + "unit": "percentage", + "value": 0.0, + "min": 0.0015934667245370371, + "max": 0.0015934667245370371, + "avg": 0.0015934667245370371, + "sum": 0.0015934667245370371, + "stdev": 0.0 + }, + { + "name": "io", + "displayName": "Physical Io Reads", + "unit": "percentage", + "value": 0.0, + "min": 4.2245370370370369E-06, + "max": 4.2245370370370369E-06, + "avg": 4.2245370370370369E-06, + "sum": 4.2245370370370369E-06, + "stdev": 0.0 + }, + { + "name": "logIo", + "displayName": "Log Writes", + "unit": "percentage", + "value": 0.0, + "min": 0.0, + "max": 0.0, + "avg": 0.0, + "sum": 0.0, + "stdev": 0.0 + }, + { + "name": "memory", + "displayName": "Memory consumption", + "unit": "KB", + "value": 0.0, + "min": 8336.0, + "max": 8336.0, + "avg": 8336.0, + "sum": 8336.0, + "stdev": 0.0 + }, + { + "name": "duration", + "displayName": "Query duration", + "unit": "microseconds", + "value": 0.0, + "min": 11091296.0, + "max": 11091296.0, + "avg": 11091296.0, + "sum": 11091296.0, + "stdev": 0.0 + } + ] + } + ] + }, + "id": "28", + "type": "Microsoft.Sql/managedInstances/databases/queries/statistics" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceQueryStatisticsListMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceQueryStatisticsListMin.json new file mode 100644 index 000000000000..806bcce7904a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceQueryStatisticsListMin.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "databaseName": "database_1", + "queryId": "42", + "api-version": "2021-05-01-preview", + "interval": "PT1H" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "databaseName": "db1", + "queryId": "28", + "startTime": "03/10/2020 14:00:30", + "endTime": "03/11/2020 14:00:30", + "intervals": [ + { + "intervalStartTime": "03/11/2020 11:00:00", + "intervalType": "PT1H", + "executionCount": 1, + "metrics": [ + { + "name": "cpu", + "displayName": "Cpu", + "unit": "percentage", + "value": 0.0, + "min": 0.038243201388888891, + "max": 0.038243201388888891, + "avg": 0.038243201388888891, + "sum": 0.038243201388888891, + "stdev": 0.0 + }, + { + "name": "io", + "displayName": "Physical Io Reads", + "unit": "percentage", + "value": 0.0, + "min": 0.0001013888888888889, + "max": 0.0001013888888888889, + "avg": 0.0001013888888888889, + "sum": 0.0001013888888888889, + "stdev": 0.0 + }, + { + "name": "logIo", + "displayName": "Log Writes", + "unit": "percentage", + "value": 0.0, + "min": 0.0, + "max": 0.0, + "avg": 0.0, + "sum": 0.0, + "stdev": 0.0 + }, + { + "name": "memory", + "displayName": "Memory consumption", + "unit": "KB", + "value": 0.0, + "min": 8336.0, + "max": 8336.0, + "avg": 8336.0, + "sum": 8336.0, + "stdev": 0.0 + }, + { + "name": "duration", + "displayName": "Query duration", + "unit": "microseconds", + "value": 0.0, + "min": 11091296.0, + "max": 11091296.0, + "avg": 11091296.0, + "sum": 11091296.0, + "stdev": 0.0 + } + ] + } + ] + }, + "id": "28", + "type": "Microsoft.Sql/managedInstances/databases/queries/statistics" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceRemoveMaintenanceConfiguration.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceRemoveMaintenanceConfiguration.json new file mode 100644 index 000000000000..583d9829abb6 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceRemoveMaintenanceConfiguration.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "resourceGroupName": "testrg", + "managedInstanceName": "testinstance", + "api-version": "2021-05-01-preview", + "location": "japaneast", + "parameters": { + "properties": { + "maintenanceConfigurationId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Default", + "dnsZone": "1b4e2caff2530", + "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1", + "maintenanceConfigurationId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default" + }, + "location": "japaneast", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance", + "name": "testinstance", + "type": "Microsoft.Sql/managedInstances" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceTdeCertificate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceTdeCertificate.json new file mode 100644 index 000000000000..56c0b69ef373 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceTdeCertificate.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000001", + "resourceGroupName": "testtdecert", + "managedInstanceName": "testtdecert", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "privateBlob": "MIIXXXXXXXX" + } + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceTimeZoneGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceTimeZoneGet.json new file mode 100644 index 000000000000..aae2df05a78d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceTimeZoneGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "37d5e605-6142-4d79-b564-28b6dbfeec0f", + "locationName": "canadaeast", + "timeZoneId": "Haiti Standard Time", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "timeZoneId": "Haiti Standard Time", + "displayName": "(UTC-05:00) Haiti" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Haiti Standard Time", + "name": "Haiti Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceTimeZoneListByLocation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceTimeZoneListByLocation.json new file mode 100644 index 000000000000..5ca1a89c692d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceTimeZoneListByLocation.json @@ -0,0 +1,1266 @@ +{ + "parameters": { + "subscriptionId": "37d5e605-6142-4d79-b564-28b6dbfeec0f", + "locationName": "canadaeast", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "timeZoneId": "Afghanistan Standard Time", + "displayName": "(UTC+04:30) Kabul" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Afghanistan Standard Time", + "name": "Afghanistan Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Alaskan Standard Time", + "displayName": "(UTC-09:00) Alaska" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Alaskan Standard Time", + "name": "Alaskan Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Aleutian Standard Time", + "displayName": "(UTC-10:00) Aleutian Islands" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Aleutian Standard Time", + "name": "Aleutian Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Altai Standard Time", + "displayName": "(UTC+07:00) Barnaul, Gorno-Altaysk" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Altai Standard Time", + "name": "Altai Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Arab Standard Time", + "displayName": "(UTC+03:00) Kuwait, Riyadh" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Arab Standard Time", + "name": "Arab Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Arabian Standard Time", + "displayName": "(UTC+04:00) Abu Dhabi, Muscat" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Arabian Standard Time", + "name": "Arabian Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Arabic Standard Time", + "displayName": "(UTC+03:00) Baghdad" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Arabic Standard Time", + "name": "Arabic Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Argentina Standard Time", + "displayName": "(UTC-03:00) City of Buenos Aires" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Argentina Standard Time", + "name": "Argentina Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Astrakhan Standard Time", + "displayName": "(UTC+04:00) Astrakhan, Ulyanovsk" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Astrakhan Standard Time", + "name": "Astrakhan Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Atlantic Standard Time", + "displayName": "(UTC-04:00) Atlantic Time (Canada)" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Atlantic Standard Time", + "name": "Atlantic Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "AUS Central Standard Time", + "displayName": "(UTC+09:30) Darwin" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/AUS Central Standard Time", + "name": "AUS Central Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Aus Central W. Standard Time", + "displayName": "(UTC+08:45) Eucla" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Aus Central W. Standard Time", + "name": "Aus Central W. Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "AUS Eastern Standard Time", + "displayName": "(UTC+10:00) Canberra, Melbourne, Sydney" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/AUS Eastern Standard Time", + "name": "AUS Eastern Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Azerbaijan Standard Time", + "displayName": "(UTC+04:00) Baku" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Azerbaijan Standard Time", + "name": "Azerbaijan Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Azores Standard Time", + "displayName": "(UTC-01:00) Azores" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Azores Standard Time", + "name": "Azores Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Bahia Standard Time", + "displayName": "(UTC-03:00) Salvador" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Bahia Standard Time", + "name": "Bahia Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Bangladesh Standard Time", + "displayName": "(UTC+06:00) Dhaka" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Bangladesh Standard Time", + "name": "Bangladesh Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Belarus Standard Time", + "displayName": "(UTC+03:00) Minsk" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Belarus Standard Time", + "name": "Belarus Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Bougainville Standard Time", + "displayName": "(UTC+11:00) Bougainville Island" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Bougainville Standard Time", + "name": "Bougainville Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Canada Central Standard Time", + "displayName": "(UTC-06:00) Saskatchewan" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Canada Central Standard Time", + "name": "Canada Central Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Cape Verde Standard Time", + "displayName": "(UTC-01:00) Cabo Verde Is." + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Cape Verde Standard Time", + "name": "Cape Verde Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Caucasus Standard Time", + "displayName": "(UTC+04:00) Yerevan" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Caucasus Standard Time", + "name": "Caucasus Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Cen. Australia Standard Time", + "displayName": "(UTC+09:30) Adelaide" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Cen. Australia Standard Time", + "name": "Cen. Australia Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Central America Standard Time", + "displayName": "(UTC-06:00) Central America" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Central America Standard Time", + "name": "Central America Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Central Asia Standard Time", + "displayName": "(UTC+06:00) Astana" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Central Asia Standard Time", + "name": "Central Asia Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Central Brazilian Standard Time", + "displayName": "(UTC-04:00) Cuiaba" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Central Brazilian Standard Time", + "name": "Central Brazilian Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Central Europe Standard Time", + "displayName": "(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Central Europe Standard Time", + "name": "Central Europe Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Central European Standard Time", + "displayName": "(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Central European Standard Time", + "name": "Central European Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Central Pacific Standard Time", + "displayName": "(UTC+11:00) Solomon Is., New Caledonia" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Central Pacific Standard Time", + "name": "Central Pacific Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Central Standard Time", + "displayName": "(UTC-06:00) Central Time (US & Canada)" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Central Standard Time", + "name": "Central Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Central Standard Time (Mexico)", + "displayName": "(UTC-06:00) Guadalajara, Mexico City, Monterrey" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Central Standard Time (Mexico)", + "name": "Central Standard Time (Mexico)", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Chatham Islands Standard Time", + "displayName": "(UTC+12:45) Chatham Islands" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Chatham Islands Standard Time", + "name": "Chatham Islands Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "China Standard Time", + "displayName": "(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/China Standard Time", + "name": "China Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Cuba Standard Time", + "displayName": "(UTC-05:00) Havana" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Cuba Standard Time", + "name": "Cuba Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Dateline Standard Time", + "displayName": "(UTC-12:00) International Date Line West" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Dateline Standard Time", + "name": "Dateline Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "E. Africa Standard Time", + "displayName": "(UTC+03:00) Nairobi" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/E. Africa Standard Time", + "name": "E. Africa Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "E. Australia Standard Time", + "displayName": "(UTC+10:00) Brisbane" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/E. Australia Standard Time", + "name": "E. Australia Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "E. Europe Standard Time", + "displayName": "(UTC+02:00) Chisinau" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/E. Europe Standard Time", + "name": "E. Europe Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "E. South America Standard Time", + "displayName": "(UTC-03:00) Brasilia" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/E. South America Standard Time", + "name": "E. South America Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Easter Island Standard Time", + "displayName": "(UTC-06:00) Easter Island" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Easter Island Standard Time", + "name": "Easter Island Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Eastern Standard Time", + "displayName": "(UTC-05:00) Eastern Time (US & Canada)" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Eastern Standard Time", + "name": "Eastern Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Eastern Standard Time (Mexico)", + "displayName": "(UTC-05:00) Chetumal" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Eastern Standard Time (Mexico)", + "name": "Eastern Standard Time (Mexico)", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Egypt Standard Time", + "displayName": "(UTC+02:00) Cairo" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Egypt Standard Time", + "name": "Egypt Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Ekaterinburg Standard Time", + "displayName": "(UTC+05:00) Ekaterinburg" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Ekaterinburg Standard Time", + "name": "Ekaterinburg Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Fiji Standard Time", + "displayName": "(UTC+12:00) Fiji" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Fiji Standard Time", + "name": "Fiji Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "FLE Standard Time", + "displayName": "(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/FLE Standard Time", + "name": "FLE Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Georgian Standard Time", + "displayName": "(UTC+04:00) Tbilisi" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Georgian Standard Time", + "name": "Georgian Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "GMT Standard Time", + "displayName": "(UTC+00:00) Dublin, Edinburgh, Lisbon, London" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/GMT Standard Time", + "name": "GMT Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Greenland Standard Time", + "displayName": "(UTC-03:00) Greenland" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Greenland Standard Time", + "name": "Greenland Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Greenwich Standard Time", + "displayName": "(UTC+00:00) Monrovia, Reykjavik" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Greenwich Standard Time", + "name": "Greenwich Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "GTB Standard Time", + "displayName": "(UTC+02:00) Athens, Bucharest" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/GTB Standard Time", + "name": "GTB Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Haiti Standard Time", + "displayName": "(UTC-05:00) Haiti" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Haiti Standard Time", + "name": "Haiti Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Hawaiian Standard Time", + "displayName": "(UTC-10:00) Hawaii" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Hawaiian Standard Time", + "name": "Hawaiian Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "India Standard Time", + "displayName": "(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/India Standard Time", + "name": "India Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Iran Standard Time", + "displayName": "(UTC+03:30) Tehran" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Iran Standard Time", + "name": "Iran Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Israel Standard Time", + "displayName": "(UTC+02:00) Jerusalem" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Israel Standard Time", + "name": "Israel Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Jordan Standard Time", + "displayName": "(UTC+02:00) Amman" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Jordan Standard Time", + "name": "Jordan Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Kaliningrad Standard Time", + "displayName": "(UTC+02:00) Kaliningrad" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Kaliningrad Standard Time", + "name": "Kaliningrad Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Kamchatka Standard Time", + "displayName": "(UTC+12:00) Petropavlovsk-Kamchatsky - Old" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Kamchatka Standard Time", + "name": "Kamchatka Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Korea Standard Time", + "displayName": "(UTC+09:00) Seoul" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Korea Standard Time", + "name": "Korea Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Libya Standard Time", + "displayName": "(UTC+02:00) Tripoli" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Libya Standard Time", + "name": "Libya Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Line Islands Standard Time", + "displayName": "(UTC+14:00) Kiritimati Island" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Line Islands Standard Time", + "name": "Line Islands Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Lord Howe Standard Time", + "displayName": "(UTC+10:30) Lord Howe Island" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Lord Howe Standard Time", + "name": "Lord Howe Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Magadan Standard Time", + "displayName": "(UTC+11:00) Magadan" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Magadan Standard Time", + "name": "Magadan Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Magallanes Standard Time", + "displayName": "(UTC-03:00) Punta Arenas" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Magallanes Standard Time", + "name": "Magallanes Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Marquesas Standard Time", + "displayName": "(UTC-09:30) Marquesas Islands" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Marquesas Standard Time", + "name": "Marquesas Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Mauritius Standard Time", + "displayName": "(UTC+04:00) Port Louis" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Mauritius Standard Time", + "name": "Mauritius Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Mid-Atlantic Standard Time", + "displayName": "(UTC-02:00) Mid-Atlantic - Old" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Mid-Atlantic Standard Time", + "name": "Mid-Atlantic Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Middle East Standard Time", + "displayName": "(UTC+02:00) Beirut" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Middle East Standard Time", + "name": "Middle East Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Montevideo Standard Time", + "displayName": "(UTC-03:00) Montevideo" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Montevideo Standard Time", + "name": "Montevideo Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Morocco Standard Time", + "displayName": "(UTC+01:00) Casablanca" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Morocco Standard Time", + "name": "Morocco Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Mountain Standard Time", + "displayName": "(UTC-07:00) Mountain Time (US & Canada)" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Mountain Standard Time", + "name": "Mountain Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Mountain Standard Time (Mexico)", + "displayName": "(UTC-07:00) Chihuahua, La Paz, Mazatlan" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Mountain Standard Time (Mexico)", + "name": "Mountain Standard Time (Mexico)", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Myanmar Standard Time", + "displayName": "(UTC+06:30) Yangon (Rangoon)" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Myanmar Standard Time", + "name": "Myanmar Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "N. Central Asia Standard Time", + "displayName": "(UTC+07:00) Novosibirsk" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/N. Central Asia Standard Time", + "name": "N. Central Asia Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Namibia Standard Time", + "displayName": "(UTC+02:00) Windhoek" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Namibia Standard Time", + "name": "Namibia Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Nepal Standard Time", + "displayName": "(UTC+05:45) Kathmandu" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Nepal Standard Time", + "name": "Nepal Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "New Zealand Standard Time", + "displayName": "(UTC+12:00) Auckland, Wellington" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/New Zealand Standard Time", + "name": "New Zealand Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Newfoundland Standard Time", + "displayName": "(UTC-03:30) Newfoundland" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Newfoundland Standard Time", + "name": "Newfoundland Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Norfolk Standard Time", + "displayName": "(UTC+11:00) Norfolk Island" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Norfolk Standard Time", + "name": "Norfolk Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "North Asia East Standard Time", + "displayName": "(UTC+08:00) Irkutsk" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/North Asia East Standard Time", + "name": "North Asia East Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "North Asia Standard Time", + "displayName": "(UTC+07:00) Krasnoyarsk" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/North Asia Standard Time", + "name": "North Asia Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "North Korea Standard Time", + "displayName": "(UTC+09:00) Pyongyang" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/North Korea Standard Time", + "name": "North Korea Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Omsk Standard Time", + "displayName": "(UTC+06:00) Omsk" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Omsk Standard Time", + "name": "Omsk Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Pacific SA Standard Time", + "displayName": "(UTC-04:00) Santiago" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Pacific SA Standard Time", + "name": "Pacific SA Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Pacific Standard Time", + "displayName": "(UTC-08:00) Pacific Time (US & Canada)" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Pacific Standard Time", + "name": "Pacific Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Pacific Standard Time (Mexico)", + "displayName": "(UTC-08:00) Baja California" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Pacific Standard Time (Mexico)", + "name": "Pacific Standard Time (Mexico)", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Pakistan Standard Time", + "displayName": "(UTC+05:00) Islamabad, Karachi" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Pakistan Standard Time", + "name": "Pakistan Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Paraguay Standard Time", + "displayName": "(UTC-04:00) Asuncion" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Paraguay Standard Time", + "name": "Paraguay Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Qyzylorda Standard Time", + "displayName": "(UTC+05:00) Qyzylorda" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Qyzylorda Standard Time", + "name": "Qyzylorda Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Romance Standard Time", + "displayName": "(UTC+01:00) Brussels, Copenhagen, Madrid, Paris" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Romance Standard Time", + "name": "Romance Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Russia Time Zone 10", + "displayName": "(UTC+11:00) Chokurdakh" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Russia Time Zone 10", + "name": "Russia Time Zone 10", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Russia Time Zone 11", + "displayName": "(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Russia Time Zone 11", + "name": "Russia Time Zone 11", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Russia Time Zone 3", + "displayName": "(UTC+04:00) Izhevsk, Samara" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Russia Time Zone 3", + "name": "Russia Time Zone 3", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Russian Standard Time", + "displayName": "(UTC+03:00) Moscow, St. Petersburg" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Russian Standard Time", + "name": "Russian Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "SA Eastern Standard Time", + "displayName": "(UTC-03:00) Cayenne, Fortaleza" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/SA Eastern Standard Time", + "name": "SA Eastern Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "SA Pacific Standard Time", + "displayName": "(UTC-05:00) Bogota, Lima, Quito, Rio Branco" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/SA Pacific Standard Time", + "name": "SA Pacific Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "SA Western Standard Time", + "displayName": "(UTC-04:00) Georgetown, La Paz, Manaus, San Juan" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/SA Western Standard Time", + "name": "SA Western Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Saint Pierre Standard Time", + "displayName": "(UTC-03:00) Saint Pierre and Miquelon" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Saint Pierre Standard Time", + "name": "Saint Pierre Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Sakhalin Standard Time", + "displayName": "(UTC+11:00) Sakhalin" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Sakhalin Standard Time", + "name": "Sakhalin Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Samoa Standard Time", + "displayName": "(UTC+13:00) Samoa" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Samoa Standard Time", + "name": "Samoa Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Sao Tome Standard Time", + "displayName": "(UTC+00:00) Sao Tome" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Sao Tome Standard Time", + "name": "Sao Tome Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Saratov Standard Time", + "displayName": "(UTC+04:00) Saratov" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Saratov Standard Time", + "name": "Saratov Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "SE Asia Standard Time", + "displayName": "(UTC+07:00) Bangkok, Hanoi, Jakarta" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/SE Asia Standard Time", + "name": "SE Asia Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Singapore Standard Time", + "displayName": "(UTC+08:00) Kuala Lumpur, Singapore" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Singapore Standard Time", + "name": "Singapore Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "South Africa Standard Time", + "displayName": "(UTC+02:00) Harare, Pretoria" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/South Africa Standard Time", + "name": "South Africa Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Sri Lanka Standard Time", + "displayName": "(UTC+05:30) Sri Jayawardenepura" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Sri Lanka Standard Time", + "name": "Sri Lanka Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Sudan Standard Time", + "displayName": "(UTC+02:00) Khartoum" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Sudan Standard Time", + "name": "Sudan Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Syria Standard Time", + "displayName": "(UTC+02:00) Damascus" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Syria Standard Time", + "name": "Syria Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Taipei Standard Time", + "displayName": "(UTC+08:00) Taipei" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Taipei Standard Time", + "name": "Taipei Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Tasmania Standard Time", + "displayName": "(UTC+10:00) Hobart" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Tasmania Standard Time", + "name": "Tasmania Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Tocantins Standard Time", + "displayName": "(UTC-03:00) Araguaina" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Tocantins Standard Time", + "name": "Tocantins Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Tokyo Standard Time", + "displayName": "(UTC+09:00) Osaka, Sapporo, Tokyo" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Tokyo Standard Time", + "name": "Tokyo Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Tomsk Standard Time", + "displayName": "(UTC+07:00) Tomsk" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Tomsk Standard Time", + "name": "Tomsk Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Tonga Standard Time", + "displayName": "(UTC+13:00) Nuku'alofa" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Tonga Standard Time", + "name": "Tonga Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Transbaikal Standard Time", + "displayName": "(UTC+09:00) Chita" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Transbaikal Standard Time", + "name": "Transbaikal Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Turkey Standard Time", + "displayName": "(UTC+03:00) Istanbul" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Turkey Standard Time", + "name": "Turkey Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Turks And Caicos Standard Time", + "displayName": "(UTC-05:00) Turks and Caicos" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Turks And Caicos Standard Time", + "name": "Turks And Caicos Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Ulaanbaatar Standard Time", + "displayName": "(UTC+08:00) Ulaanbaatar" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Ulaanbaatar Standard Time", + "name": "Ulaanbaatar Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "US Eastern Standard Time", + "displayName": "(UTC-05:00) Indiana (East)" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/US Eastern Standard Time", + "name": "US Eastern Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "US Mountain Standard Time", + "displayName": "(UTC-07:00) Arizona" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/US Mountain Standard Time", + "name": "US Mountain Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "UTC", + "displayName": "(UTC) Coordinated Universal Time" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/UTC", + "name": "UTC", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "UTC+12", + "displayName": "(UTC+12:00) Coordinated Universal Time+12" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/UTC+12", + "name": "UTC+12", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "UTC+13", + "displayName": "(UTC+13:00) Coordinated Universal Time+13" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/UTC+13", + "name": "UTC+13", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "UTC-02", + "displayName": "(UTC-02:00) Coordinated Universal Time-02" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/UTC-02", + "name": "UTC-02", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "UTC-08", + "displayName": "(UTC-08:00) Coordinated Universal Time-08" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/UTC-08", + "name": "UTC-08", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "UTC-09", + "displayName": "(UTC-09:00) Coordinated Universal Time-09" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/UTC-09", + "name": "UTC-09", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "UTC-11", + "displayName": "(UTC-11:00) Coordinated Universal Time-11" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/UTC-11", + "name": "UTC-11", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Venezuela Standard Time", + "displayName": "(UTC-04:00) Caracas" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Venezuela Standard Time", + "name": "Venezuela Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Vladivostok Standard Time", + "displayName": "(UTC+10:00) Vladivostok" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Vladivostok Standard Time", + "name": "Vladivostok Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Volgograd Standard Time", + "displayName": "(UTC+04:00) Volgograd" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Volgograd Standard Time", + "name": "Volgograd Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "W. Australia Standard Time", + "displayName": "(UTC+08:00) Perth" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/W. Australia Standard Time", + "name": "W. Australia Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "W. Central Africa Standard Time", + "displayName": "(UTC+01:00) West Central Africa" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/W. Central Africa Standard Time", + "name": "W. Central Africa Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "W. Europe Standard Time", + "displayName": "(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/W. Europe Standard Time", + "name": "W. Europe Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "W. Mongolia Standard Time", + "displayName": "(UTC+07:00) Hovd" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/W. Mongolia Standard Time", + "name": "W. Mongolia Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "West Asia Standard Time", + "displayName": "(UTC+05:00) Ashgabat, Tashkent" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/West Asia Standard Time", + "name": "West Asia Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "West Bank Standard Time", + "displayName": "(UTC+02:00) Gaza, Hebron" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/West Bank Standard Time", + "name": "West Bank Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "West Pacific Standard Time", + "displayName": "(UTC+10:00) Guam, Port Moresby" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/West Pacific Standard Time", + "name": "West Pacific Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + }, + { + "properties": { + "timeZoneId": "Yakutsk Standard Time", + "displayName": "(UTC+09:00) Yakutsk" + }, + "id": "/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Yakutsk Standard Time", + "name": "Yakutsk Standard Time", + "type": "Microsoft.Sql/locations/timeZones" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceTopQueriesList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceTopQueriesList.json new file mode 100644 index 000000000000..54ad66c72c82 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceTopQueriesList.json @@ -0,0 +1,238 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "api-version": "2021-05-01-preview", + "observationMetric": "duration", + "interval": "PT1H" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "numberOfQueries": 5, + "aggregationFunction": "sum", + "observationMetric": "cpu", + "intervalType": "P1D", + "startTime": "03/01/2020 00:00:00", + "endTime": "03/05/2020 13:00:00", + "queries": [ + { + "databaseName": "db1", + "queryId": "25", + "intervals": [ + { + "intervalStartTime": "03/03/2020 00:00:00", + "executionCount": 1, + "metrics": [ + { + "name": "cpu", + "displayName": "Cpu", + "unit": "percentage", + "value": 0.0015841714409722222 + }, + { + "name": "io", + "displayName": "Physical Io Reads", + "unit": "percentage", + "value": 4.3402777777777778E-06 + }, + { + "name": "logIo", + "displayName": "Log Writes", + "unit": "percentage", + "value": 0.0 + }, + { + "name": "memory", + "displayName": "Memory consumption", + "unit": "KB", + "value": 8336.0 + }, + { + "name": "duration", + "displayName": "Query duration", + "unit": "microseconds", + "value": 11306905.0 + } + ] + } + ] + }, + { + "databaseName": "db1", + "queryId": "21", + "intervals": [ + { + "intervalStartTime": "03/03/2020 00:00:00", + "executionCount": 1, + "metrics": [ + { + "name": "cpu", + "displayName": "Cpu", + "unit": "percentage", + "value": 0.00095214322916666668 + }, + { + "name": "io", + "displayName": "Physical Io Reads", + "unit": "percentage", + "value": 2.3148148148148148E-07 + }, + { + "name": "logIo", + "displayName": "Log Writes", + "unit": "percentage", + "value": 0.0 + }, + { + "name": "memory", + "displayName": "Memory consumption", + "unit": "KB", + "value": 1024.0 + }, + { + "name": "duration", + "displayName": "Query duration", + "unit": "microseconds", + "value": 6620020.0 + } + ] + } + ] + }, + { + "databaseName": "db3", + "queryId": "3", + "intervals": [ + { + "intervalStartTime": "03/04/2020 00:00:00", + "executionCount": 104, + "metrics": [ + { + "name": "cpu", + "displayName": "Cpu", + "unit": "percentage", + "value": 0.00080066116898148151 + }, + { + "name": "io", + "displayName": "Physical Io Reads", + "unit": "percentage", + "value": 0.0 + }, + { + "name": "logIo", + "displayName": "Log Writes", + "unit": "percentage", + "value": 0.0 + }, + { + "name": "memory", + "displayName": "Memory consumption", + "unit": "KB", + "value": 0.0 + }, + { + "name": "duration", + "displayName": "Query duration", + "unit": "microseconds", + "value": 5543088.0 + } + ] + } + ] + }, + { + "databaseName": "db2", + "queryId": "3", + "intervals": [ + { + "intervalStartTime": "03/03/2020 00:00:00", + "executionCount": 89, + "metrics": [ + { + "name": "cpu", + "displayName": "Cpu", + "unit": "percentage", + "value": 0.00068825434027777776 + }, + { + "name": "io", + "displayName": "Physical Io Reads", + "unit": "percentage", + "value": 0.0 + }, + { + "name": "logIo", + "displayName": "Log Writes", + "unit": "percentage", + "value": 0.0 + }, + { + "name": "memory", + "displayName": "Memory consumption", + "unit": "KB", + "value": 0.0 + }, + { + "name": "duration", + "displayName": "Query duration", + "unit": "microseconds", + "value": 4761877.0 + } + ] + } + ] + }, + { + "databaseName": "db3", + "queryId": "22", + "intervals": [ + { + "intervalStartTime": "03/04/2020 00:00:00", + "executionCount": 1, + "metrics": [ + { + "name": "cpu", + "displayName": "Cpu", + "unit": "percentage", + "value": 0.00062206611689814817 + }, + { + "name": "io", + "displayName": "Physical Io Reads", + "unit": "percentage", + "value": 0.0 + }, + { + "name": "logIo", + "displayName": "Log Writes", + "unit": "percentage", + "value": 0.0 + }, + { + "name": "memory", + "displayName": "Memory consumption", + "unit": "KB", + "value": 1024.0 + }, + { + "name": "duration", + "displayName": "Query duration", + "unit": "microseconds", + "value": 4454161.0 + } + ] + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceTopQueriesListMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceTopQueriesListMax.json new file mode 100644 index 000000000000..781d9b170b4e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceTopQueriesListMax.json @@ -0,0 +1,241 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "api-version": "2021-05-01-preview", + "interval": "P1D", + "startTime": "2020-03-10T12:00:00Z", + "endTime": "2020-03-12T12:00:00Z", + "observationMetric": "cpu", + "databases": "db1,db2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "numberOfQueries": 5, + "aggregationFunction": "sum", + "observationMetric": "cpu", + "intervalType": "P1D", + "startTime": "03/10/2020 00:00:00", + "endTime": "03/12/2020 13:00:00", + "queries": [ + { + "databaseName": "db1", + "queryId": "28", + "intervals": [ + { + "intervalStartTime": "03/11/2020 00:00:00", + "executionCount": 1, + "metrics": [ + { + "name": "cpu", + "displayName": "Cpu", + "unit": "percentage", + "value": 0.0015934667245370371 + }, + { + "name": "io", + "displayName": "Physical Io Reads", + "unit": "percentage", + "value": 4.2245370370370369E-06 + }, + { + "name": "logIo", + "displayName": "Log Writes", + "unit": "percentage", + "value": 0.0 + }, + { + "name": "memory", + "displayName": "Memory consumption", + "unit": "KB", + "value": 8336.0 + }, + { + "name": "duration", + "displayName": "Query duration", + "unit": "microseconds", + "value": 11091296.0 + } + ] + } + ] + }, + { + "databaseName": "db1", + "queryId": "24", + "intervals": [ + { + "intervalStartTime": "03/11/2020 00:00:00", + "executionCount": 1, + "metrics": [ + { + "name": "cpu", + "displayName": "Cpu", + "unit": "percentage", + "value": 0.00095227835648148147 + }, + { + "name": "io", + "displayName": "Physical Io Reads", + "unit": "percentage", + "value": 1.7361111111111112E-07 + }, + { + "name": "logIo", + "displayName": "Log Writes", + "unit": "percentage", + "value": 0.0 + }, + { + "name": "memory", + "displayName": "Memory consumption", + "unit": "KB", + "value": 1024.0 + }, + { + "name": "duration", + "displayName": "Query duration", + "unit": "microseconds", + "value": 6625562.0 + } + ] + } + ] + }, + { + "databaseName": "db1", + "queryId": "3", + "intervals": [ + { + "intervalStartTime": "03/11/2020 00:00:00", + "executionCount": 82, + "metrics": [ + { + "name": "cpu", + "displayName": "Cpu", + "unit": "percentage", + "value": 0.00071831394675925925 + }, + { + "name": "io", + "displayName": "Physical Io Reads", + "unit": "percentage", + "value": 0.0 + }, + { + "name": "logIo", + "displayName": "Log Writes", + "unit": "percentage", + "value": 0.0 + }, + { + "name": "memory", + "displayName": "Memory consumption", + "unit": "KB", + "value": 0.0 + }, + { + "name": "duration", + "displayName": "Query duration", + "unit": "microseconds", + "value": 4970199.0 + } + ] + } + ] + }, + { + "databaseName": "db1", + "queryId": "29", + "intervals": [ + { + "intervalStartTime": "03/11/2020 00:00:00", + "executionCount": 1, + "metrics": [ + { + "name": "cpu", + "displayName": "Cpu", + "unit": "percentage", + "value": 0.00064944545717592593 + }, + { + "name": "io", + "displayName": "Physical Io Reads", + "unit": "percentage", + "value": 5.0347222222222223E-06 + }, + { + "name": "logIo", + "displayName": "Log Writes", + "unit": "percentage", + "value": 0.0 + }, + { + "name": "memory", + "displayName": "Memory consumption", + "unit": "KB", + "value": 1024.0 + }, + { + "name": "duration", + "displayName": "Query duration", + "unit": "microseconds", + "value": 4530668.0 + } + ] + } + ] + }, + { + "databaseName": "db2", + "queryId": "25", + "intervals": [ + { + "intervalStartTime": "03/11/2020 00:00:00", + "executionCount": 1, + "metrics": [ + { + "name": "cpu", + "displayName": "Cpu", + "unit": "percentage", + "value": 0.00062753689236111116 + }, + { + "name": "io", + "displayName": "Physical Io Reads", + "unit": "percentage", + "value": 0.0 + }, + { + "name": "logIo", + "displayName": "Log Writes", + "unit": "percentage", + "value": 0.0 + }, + { + "name": "memory", + "displayName": "Memory consumption", + "unit": "KB", + "value": 1024.0 + }, + { + "name": "duration", + "displayName": "Query duration", + "unit": "microseconds", + "value": 4349943.0 + } + ] + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceTopQueriesListMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceTopQueriesListMin.json new file mode 100644 index 000000000000..7f78606afe21 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceTopQueriesListMin.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "numberOfQueries": 5, + "aggregationFunction": "sum", + "observationMetric": "cpu", + "intervalType": "PT1H", + "startTime": "03/10/2020 12:00:00", + "endTime": "03/11/2020 12:24:07", + "queries": [] + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceUpdateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceUpdateMax.json new file mode 100644 index 000000000000..c1f57813b6e4 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceUpdateMax.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "resourceGroupName": "testrg", + "managedInstanceName": "testinstance", + "api-version": "2021-05-01-preview", + "parameters": { + "tags": { + "tagKey1": "TagValue1" + }, + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8 + }, + "properties": { + "administratorLogin": "dummylogin", + "administratorLoginPassword": "PLACEHOLDER", + "proxyOverride": "Redirect", + "publicDataEndpointEnabled": false, + "minimalTlsVersion": "1.2", + "licenseType": "BasePrice", + "vCores": 8, + "storageSizeInGB": 448, + "collation": "SQL_Latin1_General_CP1_CI_AS", + "requestedBackupStorageRedundancy": "Geo", + "maintenanceConfigurationId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1" + } + } + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "id": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance", + "name": "testinstance", + "type": "Microsoft.Sql/managedInstances", + "location": "japaneast", + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "vCores": 8, + "storageSizeInGB": 448, + "licenseType": "BasePrice", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Redirect", + "minimalTlsVersion": "1.2", + "dnsZone": "1b4e2caff2530", + "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1", + "maintenanceConfigurationId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceUpdateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceUpdateMin.json new file mode 100644 index 000000000000..1a73fdc5244e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceUpdateMin.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "resourceGroupName": "testrg", + "managedInstanceName": "testinstance", + "api-version": "2021-05-01-preview", + "parameters": { + "tags": { + "tagKey1": "TagValue1" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net", + "administratorLogin": "PLACEHOLDER", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Default", + "dnsZone": "1b4e2caff2530", + "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1", + "maintenanceConfigurationId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default", + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo" + }, + "location": "japaneast", + "tags": { + "tagKey1": "TagValue1" + }, + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance", + "name": "testinstance", + "type": "Microsoft.Sql/managedInstances" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceVulnerabilityAssessmentCreateContainerSasKeyMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceVulnerabilityAssessmentCreateContainerSasKeyMin.json new file mode 100644 index 000000000000..13a8dea5f61b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceVulnerabilityAssessmentCreateContainerSasKeyMin.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "managedInstanceName": "vulnerabilityaseessmenttest-6440", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "storageContainerPath": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storageContainerSasKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/managedInstances/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": false, + "emails": [] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/managedInstances/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": false, + "emails": [] + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceVulnerabilityAssessmentCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceVulnerabilityAssessmentCreateMax.json new file mode 100644 index 000000000000..f8f490994d9d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceVulnerabilityAssessmentCreateMax.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "managedInstanceName": "vulnerabilityaseessmenttest-6440", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "storageContainerPath": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storageContainerSasKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "storageAccountAccessKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/managedInstances/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/managedInstances/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceVulnerabilityAssessmentCreateStorageAccessKeyMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceVulnerabilityAssessmentCreateStorageAccessKeyMin.json new file mode 100644 index 000000000000..103b681664ee --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceVulnerabilityAssessmentCreateStorageAccessKeyMin.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "managedInstanceName": "vulnerabilityaseessmenttest-6440", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "storageContainerPath": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storageAccountAccessKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/managedInstances/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": false, + "emails": [] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/managedInstances/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": false, + "emails": [] + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceVulnerabilityAssessmentDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceVulnerabilityAssessmentDelete.json new file mode 100644 index 000000000000..9645983023fc --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceVulnerabilityAssessmentDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "managedInstanceName": "vulnerabilityaseessmenttest-6440", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceVulnerabilityAssessmentGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceVulnerabilityAssessmentGet.json new file mode 100644 index 000000000000..176ee18a437e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceVulnerabilityAssessmentGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "managedInstanceName": "vulnerabilityaseessmenttest-6440", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/managedInstances/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceVulnerabilityAssessmentListByInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceVulnerabilityAssessmentListByInstance.json new file mode 100644 index 000000000000..d54dcacf83ee --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceVulnerabilityAssessmentListByInstance.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "managedInstanceName": "vulnerabilityaseessmenttest-6440", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/managedInstances/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedServerSecurityAlertCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedServerSecurityAlertCreateMax.json new file mode 100644 index 000000000000..c90c8e0645e2 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedServerSecurityAlertCreateMax.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "managedInstanceName": "securityalert-6440", + "securityAlertPolicyName": "Default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [ + "testSecurityAlert@microsoft.com" + ], + "disabledAlerts": [ + "Access_Anomaly", + "Usage_Anomaly" + ], + "retentionDays": 5, + "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storageEndpoint": "https://mystorage.blob.core.windows.net" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/managedInstances/securityalert-6440", + "name": "Default", + "type": "Microsoft.Sql/managedInstances/securityAlertPolicies", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-03T04:41:33.937Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-03T04:41:33.937Z" + }, + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [ + "testSecurityAlert@microsoft.com" + ], + "disabledAlerts": [ + "Access_Anomaly", + "Usage_Anomaly" + ], + "retentionDays": 5, + "storageAccountAccessKey": "", + "storageEndpoint": "https://mystorage.blob.core.windows.net" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedServerSecurityAlertCreateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedServerSecurityAlertCreateMin.json new file mode 100644 index 000000000000..d30741a22d22 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedServerSecurityAlertCreateMin.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "managedInstanceName": "securityalert-6440", + "securityAlertPolicyName": "Default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/managedInstances/securityalert-6440", + "name": "Default", + "type": "Microsoft.Sql/managedInstances/securityAlertPolicies", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-03T04:41:33.937Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-03T04:41:33.937Z" + }, + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [], + "disabledAlerts": [], + "retentionDays": 0, + "storageAccountAccessKey": "", + "storageEndpoint": "" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedServerSecurityAlertGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedServerSecurityAlertGet.json new file mode 100644 index 000000000000..233f7844b181 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedServerSecurityAlertGet.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "managedInstanceName": "securityalert-6440", + "securityAlertPolicyName": "Default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/managedInstances/securityalert-6440", + "name": "Default", + "type": "Microsoft.Sql/managedInstances/securityAlertPolicies", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-03T04:41:33.937Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-03T04:41:33.937Z" + }, + "properties": { + "state": "Disabled", + "emailAccountAdmins": true, + "emailAddresses": [ + "test@consoto.com;user@consoto.com" + ], + "disabledAlerts": [ + "Access_Anomaly" + ], + "retentionDays": 0, + "storageAccountAccessKey": "", + "storageEndpoint": "", + "creationTime": "2020-04-03T04:41:33.937Z" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedServerSecurityAlertListByInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedServerSecurityAlertListByInstance.json new file mode 100644 index 000000000000..444a489b3794 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedServerSecurityAlertListByInstance.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "managedInstanceName": "securityalert-6440", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/managedInstances/securityalert-6440", + "name": "Default", + "type": "Microsoft.Sql/managedInstances/securityAlertPolicies", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-03T04:41:33.937Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-03T04:41:33.937Z" + }, + "properties": { + "state": "Disabled", + "emailAccountAdmins": true, + "emailAddresses": [ + "test@consoto.com;user@consoto.com" + ], + "disabledAlerts": [ + "Access_Anomaly" + ], + "retentionDays": 0, + "storageAccountAccessKey": "", + "storageEndpoint": "", + "creationTime": "2020-04-03T04:41:33.937Z" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedTransparentDataEncryptionGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedTransparentDataEncryptionGet.json new file mode 100644 index 000000000000..a2f6d2af983a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedTransparentDataEncryptionGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "security-tde-resourcegroup", + "managedInstanceName": "securitytde", + "databaseName": "testdb", + "tdeName": "current", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/security-tde-resourcegroup/providers/Microsoft.Sql/managedInstances/securitytde/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/managedInstances/databases/transparentDataEncryption", + "properties": { + "state": "Enabled" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedTransparentDataEncryptionList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedTransparentDataEncryptionList.json new file mode 100644 index 000000000000..027e639988ab --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedTransparentDataEncryptionList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "security-tde-resourcegroup", + "managedInstanceName": "securitytde", + "databaseName": "testdb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/security-tde-resourcegroup/providers/Microsoft.Sql/managedInstances/securitytde/databases/testdb", + "name": "current", + "type": "Microsoft.Sql/managedInstances/databases/transparentDataEncryption", + "properties": { + "state": "Enabled" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedTransparentDataEncryptionUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedTransparentDataEncryptionUpdate.json new file mode 100644 index 000000000000..ea8b001de3d0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedTransparentDataEncryptionUpdate.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securitytde-42-rg", + "managedInstanceName": "securitytde-42", + "databaseName": "testdb", + "tdeName": "current", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/managedInstances/securitytde-42/databases/testdb/transparentDataEncryption", + "name": "current", + "type": "Microsoft.Sql/managedInstance/databases/transparentDataEncryption", + "properties": { + "state": "Enabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/managedInstances/securitytde-42/databases/testdb/transparentDataEncryption", + "name": "current", + "type": "Microsoft.Sql/managedInstance/databases/transparentDataEncryption", + "properties": { + "state": "Enabled" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/OperationsHealthListByLocation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/OperationsHealthListByLocation.json new file mode 100644 index 000000000000..db0219f90acf --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/OperationsHealthListByLocation.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "WestUS", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "name": "Microsoft.Sql/managedServers/write", + "health": "Healthy", + "description": "Everything's good." + }, + "id": "/subscriptions/6c04259d-9b66-46b0-b07f-8939deb762e4/providers/Microsoft.Sql/locations/InProcess/operationsHealth", + "name": "OperationsHealth", + "type": "Microsoft.Sql/locations/listByOperationsHealth" + }, + { + "properties": { + "name": "Microsoft.Sql/servers/write", + "health": "Degraded", + "description": "Prolonged deployment times expected." + }, + "id": "/subscriptions/6c04259d-9b66-46b0-b07f-8939deb762e4/providers/Microsoft.Sql/locations/InProcess/operationsHealth", + "name": "OperationsHealth", + "type": "Microsoft.Sql/locations/listByOperationsHealth" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/OutboundFirewallRuleCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/OutboundFirewallRuleCreate.json new file mode 100644 index 000000000000..48d2e3be4a5d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/OutboundFirewallRuleCreate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-4645", + "outboundRuleFqdn": "server.database.windows.net", + "api-version": "2021-05-01-preview", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/outboundFirewallRules/server.datbase.windows.net", + "name": "server.database.windows.net", + "type": "Microsoft.Sql/servers/outboundFirewallRules", + "properties": { + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/outboundFirewallRules/server.datbase.windows.net", + "name": "server.database.windows.net", + "type": "Microsoft.Sql/servers/outboundFirewallRules", + "properties": { + "provisioningState": "Creating" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/OutboundFirewallRuleDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/OutboundFirewallRuleDelete.json new file mode 100644 index 000000000000..7d590fbb735c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/OutboundFirewallRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-6661", + "outboundRuleFqdn": "server.database.windows.net", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/OutboundFirewallRuleGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/OutboundFirewallRuleGet.json new file mode 100644 index 000000000000..da1040a066f7 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/OutboundFirewallRuleGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-4645", + "outboundRuleFqdn": "server.database.windows.net", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/outboundFirewallRules/server.datbase.windows.net", + "name": "server.database.windows.net", + "type": "Microsoft.Sql/servers/outboundFirewallRules", + "properties": { + "provisioningState": "Ready" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/OutboundFirewallRuleList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/OutboundFirewallRuleList.json new file mode 100644 index 000000000000..01c1826a757f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/OutboundFirewallRuleList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-4645", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/outboundFirewallRules/server.datbase.windows.net", + "name": "server.database.windows.net", + "type": "Microsoft.Sql/servers/outboundFirewallRules", + "properties": { + "provisioningState": "Ready" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/outboundFirewallRules/storage.blob.windows.net", + "name": "storage.blob.windows.net", + "type": "Microsoft.Sql/servers/outboundFirewallRules", + "properties": { + "provisioningState": "Creating" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PatchInstancePool.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PatchInstancePool.json new file mode 100644 index 000000000000..64437fd93988 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PatchInstancePool.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "instancePoolName": "testIP", + "api-version": "2021-05-01-preview", + "parameters": { + "tags": { + "x": "y" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "family": "Gen5" + }, + "properties": { + "subnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetwork/myvnet/subnets/mysubnet1", + "vCores": 8, + "licenseType": "LicenseIncluded" + }, + "location": "japaneast", + "tags": { + "x": "y" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP", + "name": "testIP", + "type": "Microsoft.Sql/instancePools" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PatchVCoreDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PatchVCoreDatabase.json new file mode 100644 index 000000000000..61263866d359 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PatchVCoreDatabase.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "sku": { + "name": "BC_Gen4_4" + }, + "properties": { + "maxSizeBytes": 1073741824, + "licenseType": "LicenseIncluded" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "BC_Gen4", + "tier": "BusinessCritical", + "capacity": 4 + }, + "kind": "v12.0,user,vcore", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 1073741824, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "creationDate": "2017-06-07T04:41:33.937Z", + "currentServiceObjectiveName": "BC_Gen4_2", + "requestedServiceObjectiveName": "BC_Gen4_2", + "defaultSecondaryLocation": "North Europe", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "licenseType": "LicenseIncluded", + "maxLogSizeBytes": 104857600, + "isInfraEncryptionEnabled": false, + "zoneRedundant": false, + "readScale": "Enabled", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "currentSku": { + "name": "BC_Gen4", + "tier": "BusinessCritical", + "capacity": 4 + }, + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Local", + "isLedgerOn": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PatchVCoreDatabaseAssignMaintenanceConfiguration.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PatchVCoreDatabaseAssignMaintenanceConfiguration.json new file mode 100644 index 000000000000..3d52ba1bbc8d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PatchVCoreDatabaseAssignMaintenanceConfiguration.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "sku": { + "name": "BC_Gen5_4" + }, + "properties": { + "maintenanceConfigurationId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "BC_Gen5", + "tier": "BusinessCritical", + "capacity": 4 + }, + "kind": "v12.0,user,vcore", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 1073741824, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "creationDate": "2017-06-07T04:41:33.937Z", + "currentServiceObjectiveName": "BC_Gen5_2", + "requestedServiceObjectiveName": "BC_Gen5_2", + "defaultSecondaryLocation": "North Europe", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "licenseType": "LicenseIncluded", + "maxLogSizeBytes": 104857600, + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "isLedgerOn": false, + "isInfraEncryptionEnabled": false, + "zoneRedundant": false, + "readScale": "Enabled", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "currentSku": { + "name": "BC_Gen5", + "tier": "BusinessCritical", + "capacity": 4 + }, + "maintenanceConfigurationId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PatchVCoreDatabaseResetMaintenanceConfiguration.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PatchVCoreDatabaseResetMaintenanceConfiguration.json new file mode 100644 index 000000000000..597b6a43a255 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PatchVCoreDatabaseResetMaintenanceConfiguration.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "sku": { + "name": "BC_Gen5_4" + }, + "properties": { + "maintenanceConfigurationId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "BC_Gen5", + "tier": "BusinessCritical", + "capacity": 4 + }, + "kind": "v12.0,user,vcore", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 1073741824, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "creationDate": "2017-06-07T04:41:33.937Z", + "currentServiceObjectiveName": "BC_Gen5_4", + "requestedServiceObjectiveName": "BC_Gen5_4", + "defaultSecondaryLocation": "North Europe", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "licenseType": "LicenseIncluded", + "maxLogSizeBytes": 104857600, + "currentBackupStorageRedundancy": "Geo", + "requestedBackupStorageRedundancy": "Geo", + "isLedgerOn": false, + "isInfraEncryptionEnabled": false, + "zoneRedundant": false, + "readScale": "Enabled", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "currentSku": { + "name": "BC_Gen5", + "tier": "BusinessCritical", + "capacity": 4 + } + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PauseDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PauseDatabase.json new file mode 100644 index 000000000000..3677abee2b6d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PauseDatabase.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdwdb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "DataWarehouse" + }, + "kind": "v12.0,user,datawarehouse", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 10995116277760, + "status": "Paused", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "creationDate": "2017-07-13T02:04:26.187Z", + "currentServiceObjectiveName": "D1", + "defaultSecondaryLocation": "North Europe", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdwdb", + "name": "testdwdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PrivateEndpointConnectionDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..8f4caf953629 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PrivateEndpointConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "test-svr", + "privateEndpointConnectionName": "private-endpoint-connection-name", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PrivateEndpointConnectionGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..3b35eddcb999 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PrivateEndpointConnectionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "test-svr", + "privateEndpointConnectionName": "private-endpoint-connection-name", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/test-svr/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.Sql/servers/privateEndpointConnections", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PrivateEndpointConnectionList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PrivateEndpointConnectionList.json new file mode 100644 index 000000000000..98ed2d26d6e7 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PrivateEndpointConnectionList.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "test-svr", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/test-svr/privateEndpointConnections/private-endpoint-connection-name-2", + "name": "private-endpoint-connection-name", + "type": "Microsoft.Sql/servers/privateEndpointConnections", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/test-svr/privateEndpointConnections/private-endpoint-connection-name-2", + "name": "private-endpoint-connection-name-2", + "type": "Microsoft.Sql/servers/privateEndpointConnections", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name-2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PrivateEndpointConnectionUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..1a3dba169540 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PrivateEndpointConnectionUpdate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "test-svr", + "privateEndpointConnectionName": "private-endpoint-connection-name", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/test-svr/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.Sql/servers/privateEndpointConnections", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PrivateLinkResourcesGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PrivateLinkResourcesGet.json new file mode 100644 index 000000000000..c02e1b478b34 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PrivateLinkResourcesGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "test-svr", + "groupName": "plr", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/test-svr/privateLinkResources/plr", + "name": "plr", + "type": "Microsoft.Sql/servers/privateLinkResources", + "properties": { + "groupId": "sqlServer", + "requiredMembers": [ + "sqlServer" + ] + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PrivateLinkResourcesList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PrivateLinkResourcesList.json new file mode 100644 index 000000000000..cfba8e2df379 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/PrivateLinkResourcesList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "test-svr", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/test-svr/privateLinkResources/plr", + "name": "plr", + "type": "Microsoft.Sql/servers/privateLinkResources", + "properties": { + "groupId": "sqlServer", + "requiredMembers": [ + "sqlServer" + ] + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/RecommendedColumnSensitivityLabelDisable.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/RecommendedColumnSensitivityLabelDisable.json new file mode 100644 index 000000000000..5fa731505582 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/RecommendedColumnSensitivityLabelDisable.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "serverName": "myServer", + "databaseName": "myDatabase", + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "sensitivityLabelSource": "recommended", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/RecommendedColumnSensitivityLabelEnable.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/RecommendedColumnSensitivityLabelEnable.json new file mode 100644 index 000000000000..5fa731505582 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/RecommendedColumnSensitivityLabelEnable.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "serverName": "myServer", + "databaseName": "myDatabase", + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "sensitivityLabelSource": "recommended", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/RenameDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/RenameDatabase.json new file mode 100644 index 000000000000..a6d17c4f67a0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/RenameDatabase.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2021-05-01-preview", + "parameters": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/newtestdb" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ReplicationLinkGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ReplicationLinkGet.json new file mode 100644 index 000000000000..06317ed49d20 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ReplicationLinkGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "sourcesvr", + "databaseName": "gamma-db", + "linkId": "4891ca10-ebd0-47d7-9182-c722651780fb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "partnerServer": "testsvr", + "partnerDatabase": "gamma-db", + "partnerLocation": "Japan East", + "role": "Primary", + "partnerRole": "Secondary", + "replicationMode": "ASYNC", + "startTime": "2018-06-21T08:12:43.783Z", + "percentComplete": 100, + "replicationState": "CATCH_UP", + "isTerminationAllowed": true, + "linkType": "GEO" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sourcesvr/databases/gamma-db/replicationLinks/4891ca10-ebd0-47d7-9182-c722651780fb", + "name": "4891ca10-ebd0-47d7-9182-c722651780fb" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ReplicationLinkListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ReplicationLinkListByDatabase.json new file mode 100644 index 000000000000..d3f21fdc5a84 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ReplicationLinkListByDatabase.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "sourcesvr", + "databaseName": "tetha-db", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "partnerServer": "testsvr", + "partnerDatabase": "tetha-db", + "partnerLocation": "Japan East", + "role": "Primary", + "partnerRole": "Secondary", + "replicationMode": "ASYNC", + "startTime": "2018-06-21T08:11:46.907Z", + "percentComplete": 100, + "replicationState": "CATCH_UP", + "isTerminationAllowed": true, + "linkType": "GEO" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sourcesvr/databases/tetha-db/replicationLinks/fb92de60-eb87-4a58-b250-3362d0cfdf26", + "name": "fb92de60-eb87-4a58-b250-3362d0cfdf26" + }, + { + "properties": { + "partnerServer": "targetsvr", + "partnerDatabase": "tetha-db", + "partnerLocation": "Japan East", + "role": "Primary", + "partnerRole": "Secondary", + "replicationMode": "ASYNC", + "startTime": "2018-06-21T08:11:34.423Z", + "percentComplete": 100, + "replicationState": "CATCH_UP", + "isTerminationAllowed": true, + "linkType": "GEO" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sourcesvr/databases/tetha-db/replicationLinks/6ad1eefc-18a2-4fcb-94f3-4b654ba788d7", + "name": "6ad1eefc-18a2-4fcb-94f3-4b654ba788d7" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ReplicationLinkListByServer.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ReplicationLinkListByServer.json new file mode 100644 index 000000000000..e007040f74ca --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ReplicationLinkListByServer.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "sourcesvr", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "partnerServer": "testsvr", + "partnerDatabase": "tetha-db", + "partnerLocation": "Japan East", + "role": "Primary", + "partnerRole": "Secondary", + "replicationMode": "ASYNC", + "startTime": "2018-06-21T08:11:46.907Z", + "percentComplete": 100, + "replicationState": "CATCH_UP", + "isTerminationAllowed": true, + "linkType": "GEO" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/sourcesvr/databases/tetha-db/replicationLinks/fb92de60-eb87-4a58-b250-3362d0cfdf26", + "name": "fb92de60-eb87-4a58-b250-3362d0cfdf26" + }, + { + "properties": { + "partnerServer": "targetsvr", + "partnerDatabase": "tetha-db", + "partnerLocation": "Japan East", + "role": "Primary", + "partnerRole": "Secondary", + "replicationMode": "ASYNC", + "startTime": "2018-06-21T08:11:34.423Z", + "percentComplete": 100, + "replicationState": "CATCH_UP", + "isTerminationAllowed": true, + "linkType": "GEO" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/sourcesvr/databases/tetha-db/replicationLinks/6ad1eefc-18a2-4fcb-94f3-4b654ba788d7", + "name": "6ad1eefc-18a2-4fcb-94f3-4b654ba788d7" + }, + { + "properties": { + "partnerServer": "testsvr", + "partnerDatabase": "gamma-db", + "partnerLocation": "Japan East", + "role": "Primary", + "partnerRole": "Secondary", + "replicationMode": "ASYNC", + "startTime": "2018-06-21T08:12:43.783Z", + "percentComplete": 100, + "replicationState": "CATCH_UP", + "isTerminationAllowed": true, + "linkType": "GEO" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/sourcesvr/databases/gamma-db/replicationLinks/4891ca10-ebd0-47d7-9182-c722651780fb", + "name": "4891ca10-ebd0-47d7-9182-c722651780fb" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupCopy.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupCopy.json new file mode 100644 index 000000000000..a77bb3c45f0e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupCopy.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testResourceGroup", + "locationName": "japaneast", + "longTermRetentionServerName": "testserver", + "longTermRetentionDatabaseName": "testDatabase", + "backupName": "55555555-6666-7777-8888-999999999999;131637960820000000", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "targetServerResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/resourceGroups/resourceGroup/servers/testserver2", + "targetDatabaseName": "testDatabase2", + "targetBackupStorageRedundancy": "Geo" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japanEast/longTermRetentionBackupOperationResults/a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706", + "name": "a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706", + "type": "Microsoft.Sql/locations/longTermRetentionBackupOperationResults", + "properties": { + "requestId": "a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706", + "fromBackupResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japanEast/longTermRetentionServers/testserver/longterRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000", + "operationType": "CopyBackup", + "status": "Succeeded", + "toBackupResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup/providers/Microsoft.Sql/locations/japanEast/longTermRetentionServers/testserver2/longterRetentionDatabases/testDatabase2/longTermRetentionBackups/55555555-6666-7777-8888-111111111111;131637960820000000", + "targetBackupStorageRedundancy": "Geo" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupDelete.json new file mode 100644 index 000000000000..fee0b5216ae9 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testResourceGroup", + "locationName": "japaneast", + "longTermRetentionServerName": "testserver", + "longTermRetentionDatabaseName": "testDatabase", + "backupName": "55555555-6666-7777-8888-999999999999;131637960820000000", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupGet.json new file mode 100644 index 000000000000..f8f944ac1423 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testResourceGroup", + "locationName": "japaneast", + "longTermRetentionServerName": "testserver", + "longTermRetentionDatabaseName": "testDatabase", + "backupName": "55555555-6666-7777-8888-999999999999;131637960820000000", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase/longTermRetentionBackups/2017-03-10T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2017-09-06T08:00:00.000Z", + "name": "2017-03-10T08:00:00.000Z;55555555-6666-7777-8888-999999999999;131637960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver", + "serverCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase", + "databaseDeletionTime": null, + "backupTime": "2017-09-06T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupListByDatabase.json new file mode 100644 index 000000000000..d2dc5dac39cc --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupListByDatabase.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testResourceGroup", + "locationName": "japaneast", + "longTermRetentionServerName": "testserver", + "longTermRetentionDatabaseName": "testDatabase", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000", + "name": "55555555-6666-7777-8888-999999999999;131637960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver", + "serverCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase", + "databaseDeletionTime": null, + "backupTime": "2017-08-23T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131657960820000000", + "name": "55555555-6666-7777-8888-999999999999;131657960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver", + "serverCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase", + "databaseDeletionTime": null, + "backupTime": "2017-08-30T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131677960820000000", + "name": "55555555-6666-7777-8888-999999999999;131677960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver", + "serverCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase", + "databaseDeletionTime": "2017-09-07T08:00:00Z", + "backupTime": "2017-09-06T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupListByLocation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupListByLocation.json new file mode 100644 index 000000000000..33fdd74d6eff --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupListByLocation.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testResourceGroup", + "locationName": "japaneast", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver1/longTermRetentionDatabases/testDatabase1/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000", + "name": "55555555-6666-7777-8888-999999999999;2017-08-23T08:00:00.000Z", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver1", + "serverCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase1", + "databaseDeletionTime": null, + "backupTime": "2017-08-23T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver2/longTermRetentionDatabases/testDatabase2/longTermRetentionBackups/12341234-1234-1234-1234-123123123123;131657960820000000", + "name": "12341234-1234-1234-1234-123123123123;2017-08-30T08:00:00.000Z", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver2", + "serverCreateTime": "2017-04-10T08:00:00Z", + "databaseName": "testDatabase2", + "databaseDeletionTime": null, + "backupTime": "2017-08-30T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver3/longTermRetentionDatabases/testDatabase3/longTermRetentionBackups/43214321-4321-4321-4321-321321321321;131677960820000000", + "name": "43214321-4321-4321-4321-321321321321;2017-09-06T08:00:00.000Z", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver3", + "serverCreateTime": "2017-05-10T08:00:00Z", + "databaseName": "testDatabase3", + "databaseDeletionTime": null, + "backupTime": "2017-09-06T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupListByServer.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupListByServer.json new file mode 100644 index 000000000000..82665d00eabe --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupListByServer.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testResourceGroup", + "locationName": "japaneast", + "longTermRetentionServerName": "testserver", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase1/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000", + "name": "55555555-6666-7777-8888-999999999999;131637960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver", + "serverCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase1", + "databaseDeletionTime": null, + "backupTime": "2017-08-23T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase2/longTermRetentionBackups/12341234-1234-1234-1234-123123123123;131657960820000000", + "name": "12341234-1234-1234-1234-123123123123;131657960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver", + "serverCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase2", + "databaseDeletionTime": null, + "backupTime": "2017-08-30T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase3/longTermRetentionBackups/43214321-4321-4321-4321-321321321321;131677960820000000", + "name": "43214321-4321-4321-4321-321321321321;131667960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups", + "properties": { + "serverName": "testserver", + "serverCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase3", + "databaseDeletionTime": null, + "backupTime": "2017-09-06T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupUpdate.json new file mode 100644 index 000000000000..d41003a45009 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupUpdate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testResourceGroup", + "locationName": "japaneast", + "longTermRetentionServerName": "testserver", + "longTermRetentionDatabaseName": "testDatabase", + "backupName": "55555555-6666-7777-8888-999999999999;131637960820000000", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "requestedBackupStorageRedundancy": "Geo" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japanEast/longTermRetentionBackupOperationResults/a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706", + "name": "a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706", + "type": "Microsoft.Sql/locations/longTermRetentionBackupOperationResults", + "properties": { + "requestId": "a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706", + "fromBackupResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japanEast/longTermRetentionServers/testserver/longterRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000", + "operationType": "UpdateBackup", + "status": "Succeeded", + "targetBackupStorageRedundancy": "Geo" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupDelete.json new file mode 100644 index 000000000000..3cc9283289a5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testResourceGroup", + "locationName": "japaneast", + "managedInstanceName": "testInstance", + "databaseName": "testDatabase", + "backupName": "55555555-6666-7777-8888-999999999999;131637960820000000", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupGet.json new file mode 100644 index 000000000000..efb6225e9ed5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testResourceGroup", + "locationName": "japaneast", + "managedInstanceName": "testInstance", + "databaseName": "testDatabase", + "backupName": "55555555-6666-7777-8888-999999999999;131637960820000000", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/55555555-6666-7777-8888-999999999999;131637960820000000", + "name": "55555555-6666-7777-8888-999999999999;131637960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups", + "properties": { + "managedInstanceName": "testInstance", + "managedInstanceCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase", + "databaseDeletionTime": null, + "backupTime": "2017-09-06T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByDatabase.json new file mode 100644 index 000000000000..ee46574c688e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByDatabase.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testResourceGroup", + "locationName": "japaneast", + "managedInstanceName": "testInstance", + "databaseName": "testDatabase", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-23T08:00:00.000Z", + "name": "2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-23T08:00:00.000Z", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups", + "properties": { + "managedInstanceName": "testInstance", + "managedInstanceCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase", + "databaseDeletionTime": null, + "backupTime": "2018-08-23T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-30T08:00:00.000Z", + "name": "2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-30T08:00:00.000Z", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups", + "properties": { + "managedInstanceName": "testInstance", + "managedInstanceCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase", + "databaseDeletionTime": null, + "backupTime": "2018-08-30T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-09-06T08:00:00.000Z", + "name": "2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-09-06T08:00:00.000Z", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups", + "properties": { + "managedInstanceName": "testInstance", + "managedInstanceCreateTime": "2018-03-10T08:00:00Z", + "databaseName": "testDatabase", + "databaseDeletionTime": "2018-09-07T08:00:00Z", + "backupTime": "2018-09-06T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByInstance.json new file mode 100644 index 000000000000..ff4da1798c45 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByInstance.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testResourceGroup", + "locationName": "japaneast", + "managedInstanceName": "testInstance", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase1/longTermRetentionManagedInstanceBackups/55555555-6666-7777-8888-999999999999;131637960820000000", + "name": "55555555-6666-7777-8888-999999999999;131637960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups", + "properties": { + "managedInstanceName": "testInstance", + "managedInstanceCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase1", + "databaseDeletionTime": null, + "backupTime": "2017-08-23T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase2/longTermRetentionManagedInstanceBackups/12341234-1234-1234-1234-123123123123;131657960820000000", + "name": "12341234-1234-1234-1234-123123123123;131657960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups", + "properties": { + "managedInstanceName": "testInstance", + "managedInstanceCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase2", + "databaseDeletionTime": null, + "backupTime": "2017-08-30T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase3/longTermRetentionManagedInstanceBackups/43214321-4321-4321-4321-321321321321;131677960820000000", + "name": "43214321-4321-4321-4321-321321321321;131667960820000000", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups", + "properties": { + "managedInstanceName": "testInstance", + "managedInstanceCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase3", + "databaseDeletionTime": null, + "backupTime": "2017-09-06T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByLocation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByLocation.json new file mode 100644 index 000000000000..6ea5eb46bb2c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByLocation.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testResourceGroup", + "locationName": "japaneast", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance1/longTermRetentionDatabases/testDatabase1/longTermRetentionManagedInstanceBackups/55555555-6666-7777-8888-999999999999;131637960820000000", + "name": "55555555-6666-7777-8888-999999999999;2017-08-23T08:00:00.000Z", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups", + "properties": { + "managedInstanceName": "testInstance1", + "managedInstanceCreateTime": "2017-03-10T08:00:00Z", + "databaseName": "testDatabase1", + "databaseDeletionTime": null, + "backupTime": "2017-08-23T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance2/longTermRetentionDatabases/testDatabase2/longTermRetentionManagedInstanceBackups/12341234-1234-1234-1234-123123123123;131657960820000000", + "name": "12341234-1234-1234-1234-123123123123;2017-08-30T08:00:00.000Z", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups", + "properties": { + "managedInstanceName": "testInstance2", + "managedInstanceCreateTime": "2017-04-10T08:00:00Z", + "databaseName": "testDatabase2", + "databaseDeletionTime": null, + "backupTime": "2017-08-30T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance3/longTermRetentionDatabases/testDatabase3/longTermRetentionManagedInstanceBackups/43214321-4321-4321-4321-321321321321;131677960820000000", + "name": "43214321-4321-4321-4321-321321321321;2017-09-06T08:00:00.000Z", + "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups", + "properties": { + "managedInstanceName": "testInstance3", + "managedInstanceCreateTime": "2017-05-10T08:00:00Z", + "databaseName": "testDatabase3", + "databaseDeletionTime": null, + "backupTime": "2017-09-06T08:00:00Z", + "backupStorageRedundancy": "Geo" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/RestorableDroppedManagedDatabaseListByManagedInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/RestorableDroppedManagedDatabaseListByManagedInstance.json new file mode 100644 index 000000000000..82a4428f0c60 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/RestorableDroppedManagedDatabaseListByManagedInstance.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Test1", + "managedInstanceName": "managedInstance", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "databaseName": "testdb", + "creationDate": "2017-05-07T04:41:33.937Z", + "deletionDate": "2017-05-27T02:49:47.69Z" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/restorableDroppedDatabases/testdb,131403269876900000", + "name": "testdb,131403269876900000", + "type": "Microsoft.Sql/managedInstances/restorableDroppedDatabases" + }, + { + "properties": { + "databaseName": "testdb2", + "creationDate": "2017-05-07T04:41:33.937Z", + "deletionDate": "2017-05-27T02:49:47.69Z" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/restorableDroppedDatabases/testdb2,131403269876900000", + "name": "testdb2,131403269876900000", + "type": "Microsoft.Sql/managedInstances/restorableDroppedDatabases" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResumeDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResumeDatabase.json new file mode 100644 index 000000000000..850de27055df --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResumeDatabase.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdwdb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "DataWarehouse" + }, + "kind": "v12.0,user,datawarehouse", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 10995116277760, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "creationDate": "2017-07-13T02:04:26.187Z", + "currentServiceObjectiveName": "D1", + "defaultSecondaryLocation": "North Europe", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdwdb", + "name": "testdwdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SensitivityLabelsCurrentUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SensitivityLabelsCurrentUpdate.json new file mode 100644 index 000000000000..43d3d49e48f5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SensitivityLabelsCurrentUpdate.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "serverName": "myServer", + "databaseName": "myDatabase", + "api-version": "2021-05-01-preview", + "parameters": { + "operations": [ + { + "properties": { + "op": "set", + "schema": "dbo", + "table": "table1", + "column": "column1", + "sensitivityLabel": { + "properties": { + "labelName": "Highly Confidential", + "labelId": "3A477B16-9423-432B-AA97-6069B481CEC3", + "informationType": "Financial", + "informationTypeId": "1D3652D6-422C-4115-82F1-65DAEBC665C8", + "rank": "Low" + } + } + } + }, + { + "properties": { + "op": "set", + "schema": "dbo", + "table": "table2", + "column": "column2", + "sensitivityLabel": { + "properties": { + "informationType": "PhoneNumber", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "bf91e08c-f4f0-478a-b016-25164b2a65ff", + "labelName": "PII", + "rank": "Critical" + } + } + } + }, + { + "properties": { + "op": "remove", + "schema": "dbo", + "table": "Table1", + "column": "Column3" + } + } + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SensitivityLabelsListByDatabaseWithSourceCurrent.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SensitivityLabelsListByDatabaseWithSourceCurrent.json new file mode 100644 index 000000000000..6808a7ff15a8 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SensitivityLabelsListByDatabaseWithSourceCurrent.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "serverName": "myServer", + "databaseName": "myDatabase", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/myServer/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn3/sensitivityLabels/current", + "name": "current", + "type": "Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels", + "properties": { + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn3", + "informationType": "Financial", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "05e6eaa1-075a-4fb4-a732-a92215a2444a", + "labelName": "Sensitive", + "rank": "Low" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/myServer/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn4/sensitivityLabels/current", + "name": "current", + "type": "Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels", + "properties": { + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn4", + "informationType": "Email", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "bf91e08c-f4f0-478a-b016-25164b2a65ff", + "labelName": "PII", + "rank": "None" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SensitivityLabelsListByDatabaseWithSourceRecommended.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SensitivityLabelsListByDatabaseWithSourceRecommended.json new file mode 100644 index 000000000000..81c5fbc83390 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SensitivityLabelsListByDatabaseWithSourceRecommended.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "serverName": "myServer", + "databaseName": "myDatabase", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/myServer/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn/sensitivityLabels/recommended", + "name": "recommended", + "type": "Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels", + "properties": { + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "informationType": "Financial", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "05e6eaa1-075a-4fb4-a732-a92215a2444a", + "labelName": "Sensitive" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/myServer/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn2/sensitivityLabels/recommended", + "name": "recommended", + "type": "Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels", + "properties": { + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn2", + "informationType": "Email", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "bf91e08c-f4f0-478a-b016-25164b2a65ff", + "labelName": "PII" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SensitivityLabelsRecommendedUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SensitivityLabelsRecommendedUpdate.json new file mode 100644 index 000000000000..d5e4ef8a0a04 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SensitivityLabelsRecommendedUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "serverName": "myServer", + "databaseName": "myDatabase", + "api-version": "2021-05-01-preview", + "parameters": { + "operations": [ + { + "properties": { + "op": "enable", + "schema": "dbo", + "table": "table1", + "column": "column1" + } + }, + { + "properties": { + "op": "enable", + "schema": "dbo", + "table": "table2", + "column": "column2" + } + }, + { + "properties": { + "op": "disable", + "schema": "dbo", + "table": "table1", + "column": "column3" + } + } + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAdvisorGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAdvisorGet.json new file mode 100644 index 000000000000..513babb82200 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAdvisorGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workloadinsight-demos", + "serverName": "misosisvr", + "advisorName": "CreateIndex", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/CreateIndex", + "name": "CreateIndex", + "type": "Microsoft.Sql/servers/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "GA", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Default" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAdvisorList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAdvisorList.json new file mode 100644 index 000000000000..f11063578e73 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAdvisorList.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workloadinsight-demos", + "serverName": "misosisvr", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/CreateIndex", + "name": "CreateIndex", + "type": "Microsoft.Sql/servers/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "GA", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Default" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/DropIndex", + "name": "DropIndex", + "type": "Microsoft.Sql/servers/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "GA", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Default" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/DbParameterization", + "name": "DbParameterization", + "type": "Microsoft.Sql/servers/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "GA", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Default" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/SchemaIssue", + "name": "SchemaIssue", + "type": "Microsoft.Sql/servers/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "PublicPreview", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Default" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/ForceLastGoodPlan", + "name": "ForceLastGoodPlan", + "type": "Microsoft.Sql/servers/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "PrivatePreview", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Default" + } + } + ] + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAdvisorUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAdvisorUpdate.json new file mode 100644 index 000000000000..2c070e0ac9bb --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAdvisorUpdate.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workloadinsight-demos", + "serverName": "misosisvr", + "advisorName": "CreateIndex", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "autoExecuteStatus": "Disabled" + } + } + }, + "responses": { + "200": { + "body": { + "kind": "", + "properties": { + "advisorStatus": "GA", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Server" + }, + "location": "East Asia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/CreateIndex", + "name": "CreateIndex", + "type": "Microsoft.Sql/servers/advisors" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAuditingSettingsList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAuditingSettingsList.json new file mode 100644 index 000000000000..2dc41286deb5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAuditingSettingsList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "blobauditingtest-4799", + "serverName": "blobauditingtest-6440", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-6852/providers/Microsoft.Sql/servers/blobauditingtest-2080/auditingSettings/default", + "name": "default", + "type": "Microsoft.Sql/servers/auditingSettings", + "properties": { + "state": "Disabled", + "storageEndpoint": "", + "retentionDays": 0, + "auditActionsAndGroups": [], + "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000", + "isStorageSecondaryKeyInUse": false, + "isAzureMonitorTargetEnabled": false + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAutomaticTuningGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAutomaticTuningGet.json new file mode 100644 index 000000000000..fb820f1a5fe4 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAutomaticTuningGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "c3aa9078-0000-0000-0000-e36f151182d7", + "resourceGroupName": "default-sql-onebox", + "serverName": "testsvr11", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c3aa9078-0000-0000-0000-e36f151182d7/resourceGroups/default-sql-onebox/providers/Microsoft.Sql/servers/testsvr11/automaticTuning/current", + "name": "current", + "type": "Microsoft.Sql/servers/automaticTuning", + "properties": { + "desiredState": "Auto", + "actualState": "Auto", + "options": { + "createIndex": { + "desiredState": "Default", + "actualState": "On", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + }, + "dropIndex": { + "desiredState": "Default", + "actualState": "Off", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + }, + "forceLastGoodPlan": { + "desiredState": "Default", + "actualState": "On", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + }, + "maintainIndex": { + "desiredState": "Default", + "actualState": "Off", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + } + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAutomaticTuningUpdateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAutomaticTuningUpdateMax.json new file mode 100644 index 000000000000..5632749e8d4f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAutomaticTuningUpdateMax.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "c3aa9078-0000-0000-0000-e36f151182d7", + "resourceGroupName": "default-sql-onebox", + "serverName": "testsvr11", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "desiredState": "Auto", + "options": { + "createIndex": { + "desiredState": "Off" + }, + "dropIndex": { + "desiredState": "On" + }, + "forceLastGoodPlan": { + "desiredState": "Default" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c3aa9078-0000-0000-0000-e36f151182d7/resourceGroups/default-sql-onebox/providers/Microsoft.Sql/servers/testsvr11/automaticTuning/current", + "name": "current", + "type": "Microsoft.Sql/servers/automaticTuning", + "properties": { + "desiredState": "Auto", + "actualState": "Auto", + "options": { + "createIndex": { + "desiredState": "Off", + "actualState": "Off" + }, + "dropIndex": { + "desiredState": "On", + "actualState": "On" + }, + "forceLastGoodPlan": { + "desiredState": "Default", + "actualState": "On", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + }, + "maintainIndex": { + "desiredState": "Default", + "actualState": "Off", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + } + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAutomaticTuningUpdateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAutomaticTuningUpdateMin.json new file mode 100644 index 000000000000..944aed026b0a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerAutomaticTuningUpdateMin.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "c3aa9078-0000-0000-0000-e36f151182d7", + "resourceGroupName": "default-sql-onebox", + "serverName": "testsvr11", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "desiredState": "Auto" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c3aa9078-0000-0000-0000-e36f151182d7/resourceGroups/default-sql-onebox/providers/Microsoft.Sql/servers/testsvr11/automaticTuning/current", + "name": "current", + "type": "Microsoft.Sql/servers/automaticTuning", + "properties": { + "desiredState": "Auto", + "actualState": "Auto", + "options": { + "createIndex": { + "desiredState": "Default", + "actualState": "On", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + }, + "dropIndex": { + "desiredState": "Default", + "actualState": "Off", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + }, + "forceLastGoodPlan": { + "desiredState": "Default", + "actualState": "On", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + }, + "maintainIndex": { + "desiredState": "Default", + "actualState": "Off", + "reasonCode": 2, + "reasonDesc": "AutoConfigured" + } + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerBlobAuditingCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerBlobAuditingCreateMax.json new file mode 100644 index 000000000000..973cd04de469 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerBlobAuditingCreateMax.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "blobauditingtest-4799", + "serverName": "blobauditingtest-6440", + "blobAuditingPolicyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled", + "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "retentionDays": 6, + "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000", + "isStorageSecondaryKeyInUse": false, + "queueDelayMs": 4000, + "auditActionsAndGroups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP" + ], + "isAzureMonitorTargetEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/auditingSettings/default", + "name": "default", + "type": "Microsoft.Sql/servers/auditingSettings", + "properties": { + "state": "Enabled", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "retentionDays": 6, + "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000", + "isStorageSecondaryKeyInUse": false, + "queueDelayMs": 4000, + "auditActionsAndGroups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP" + ], + "isAzureMonitorTargetEnabled": true + } + } + }, + "202": { + "startTime": "2017-11-22T09:34:54.72Z", + "operation": "UpsertServerEngineAuditingPolicy" + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerBlobAuditingCreateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerBlobAuditingCreateMin.json new file mode 100644 index 000000000000..488765179bc0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerBlobAuditingCreateMin.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "blobauditingtest-4799", + "serverName": "blobauditingtest-6440", + "blobAuditingPolicyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled", + "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storageEndpoint": "https://mystorage.blob.core.windows.net" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/auditingSettings/default", + "name": "default", + "type": "Microsoft.Sql/servers/auditingSettings", + "properties": { + "state": "Enabled", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "retentionDays": 6, + "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000", + "isStorageSecondaryKeyInUse": false, + "auditActionsAndGroups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP" + ] + } + } + }, + "202": { + "startTime": "2017-11-22T09:34:54.72Z", + "operation": "UpsertServerEngineAuditingPolicy" + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerBlobAuditingGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerBlobAuditingGet.json new file mode 100644 index 000000000000..b87a57dda993 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerBlobAuditingGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "blobauditingtest-4799", + "serverName": "blobauditingtest-6440", + "blobAuditingPolicyName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-6852/providers/Microsoft.Sql/servers/blobauditingtest-2080/auditingSettings/default", + "name": "default", + "type": "Microsoft.Sql/servers/auditingSettings", + "properties": { + "state": "Disabled", + "storageEndpoint": "", + "retentionDays": 0, + "auditActionsAndGroups": [], + "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000", + "isStorageSecondaryKeyInUse": false, + "isAzureMonitorTargetEnabled": false + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerConnectionPoliciesGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerConnectionPoliciesGet.json new file mode 100644 index 000000000000..af835b2e557b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerConnectionPoliciesGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rgtest-12", + "serverName": "servertest-6285", + "connectionPolicyName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rgtest-12/providers/Microsoft.Sql/servers/servertest-6285/connectionPolicies/default", + "name": "default", + "kind": null, + "location": "eastus", + "type": "Microsoft.Sql/servers/connectionPolicies", + "properties": { + "connectionType": "Redirect" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerConnectionPoliciesList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerConnectionPoliciesList.json new file mode 100644 index 000000000000..56dfafd2d079 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerConnectionPoliciesList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rgtest-12", + "serverName": "servertest-6285", + "connectionPolicyName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rgtest-12/providers/Microsoft.Sql/servers/servertest-6285/connectionPolicies/default", + "name": "default", + "kind": null, + "location": "eastus", + "type": "Microsoft.Sql/servers/connectionPolicies", + "properties": { + "connectionType": "Redirect" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerConnectionPoliciesUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerConnectionPoliciesUpdate.json new file mode 100644 index 000000000000..efe89a67c92f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerConnectionPoliciesUpdate.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "serverName": "testserver", + "connectionPolicyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "connectionType": "Redirect" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/servers/testserver/connectionPolicies/default", + "name": "default", + "kind": null, + "location": "eastus", + "type": "Microsoft.Sql/servers/connectionPolicies", + "properties": { + "connectionType": "Redirect" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerCreate.json new file mode 100644 index 000000000000..1cef68b530d2 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerCreate.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-4645", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "administratorLogin": "dummylogin", + "administratorLoginPassword": "PLACEHOLDER", + "administrators": { + "principalType": "User", + "login": "bob@contoso.com", + "sid": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "azureADOnlyAuthentication": true + }, + "publicNetworkAccess": "Enabled", + "restrictOutboundNetworkAccess": "Enabled" + }, + "location": "Japan East" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645", + "name": "sqlcrudtest-4645", + "type": "Microsoft.Sql/servers", + "location": "japaneast", + "kind": "v12.0", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-4645.database.windows.net", + "administratorLogin": "dummylogin", + "version": "12.0", + "state": "Ready", + "publicNetworkAccess": "Enabled", + "restrictOutboundNetworkAccess": "Enabled", + "administrators": { + "principalType": "User", + "login": "bob@contoso.com", + "sid": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "azureADOnlyAuthentication": true + }, + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645", + "name": "sqlcrudtest-4645", + "type": "Microsoft.Sql/servers", + "location": "japaneast", + "kind": "v12.0", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-4645.database.windows.net", + "administratorLogin": "dummylogin", + "publicNetworkAccess": "Enabled", + "restrictOutboundNetworkAccess": "Enabled", + "version": "12.0", + "state": "Ready", + "administrators": { + "principalType": "User", + "login": "bob@contoso.com", + "sid": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "azureADOnlyAuthentication": true + }, + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDelete.json new file mode 100644 index 000000000000..da45f07254cd --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-6661", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDevOpsAuditCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDevOpsAuditCreateMax.json new file mode 100644 index 000000000000..623691f23aee --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDevOpsAuditCreateMax.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "devAuditTestRG", + "serverName": "devOpsAuditTestSvr", + "devOpsAuditingSettingsName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled", + "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000", + "isAzureMonitorTargetEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/devAuditTestRG/providers/Microsoft.Sql/servers/devOpsAuditTestSvr/devOpsAuditingSettings/default", + "name": "default", + "type": "Microsoft.Sql/servers/devOpsAuditingSettings", + "properties": { + "state": "Enabled", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000", + "isAzureMonitorTargetEnabled": true + } + } + }, + "202": { + "startTime": "2020-09-22T09:34:54.72Z", + "operation": "UpsertServerDevOpsAuditingSettings" + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDevOpsAuditCreateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDevOpsAuditCreateMin.json new file mode 100644 index 000000000000..0af4dec974aa --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDevOpsAuditCreateMin.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "devAuditTestRG", + "serverName": "devOpsAuditTestSvr", + "devOpsAuditingSettingsName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled", + "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storageEndpoint": "https://mystorage.blob.core.windows.net" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/devAuditTestRG/providers/Microsoft.Sql/servers/devOpsAuditTestSvr/devOpsAuditingSettings/default", + "name": "default", + "type": "Microsoft.Sql/servers/devOpsAuditingSettings", + "properties": { + "state": "Enabled", + "storageEndpoint": "https://mystorage.blob.core.windows.net", + "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000" + } + } + }, + "202": { + "startTime": "2020-09-09T09:34:54.72Z", + "operation": "UpsertServerDevOpsAuditingSettings" + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDevOpsAuditGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDevOpsAuditGet.json new file mode 100644 index 000000000000..4df89dfc5e76 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDevOpsAuditGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "devAuditTestRG", + "serverName": "devOpsAuditTestSvr", + "devOpsAuditingSettingsName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/devAuditTestRG/providers/Microsoft.Sql/servers/devOpsAuditTestSvr/devOpsAuditingSettings/default", + "name": "default", + "type": "Microsoft.Sql/servers/devOpsAuditingSettings", + "properties": { + "state": "Disabled", + "storageEndpoint": "", + "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000", + "isAzureMonitorTargetEnabled": false + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDevOpsAuditSettingsList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDevOpsAuditSettingsList.json new file mode 100644 index 000000000000..07dcf969407d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDevOpsAuditSettingsList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "devAuditTestRG", + "serverName": "devOpsAuditTestSvr", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/devAuditTestRG/providers/Microsoft.Sql/servers/devOpsAuditTestSvr/devOpsAuditingSettings/default", + "name": "default", + "type": "Microsoft.Sql/servers/devOpsAuditingSettings", + "properties": { + "state": "Disabled", + "storageEndpoint": "", + "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000", + "isAzureMonitorTargetEnabled": false + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDnsAliasAcquire.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDnsAliasAcquire.json new file mode 100644 index 000000000000..d5f8dd772be3 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDnsAliasAcquire.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "dns-alias-new-server", + "dnsAliasName": "dns-alias-name-1", + "api-version": "2021-05-01-preview", + "parameters": { + "oldServerDnsAliasId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-old-server/dnsAliases/dns-alias-name-1" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-new-server/dnsAliases/dns-alias-name-1", + "name": "server-dns-alias-name-1", + "type": "Microsoft.Sql/servers/dnsAliases", + "properties": { + "azureDnsRecord": "dns-alias-name-1.database.windows.net" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDnsAliasCreateOrUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDnsAliasCreateOrUpdate.json new file mode 100644 index 000000000000..2f9f9e00bef8 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDnsAliasCreateOrUpdate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "dns-alias-server", + "dnsAliasName": "dns-alias-name-1", + "api-version": "2021-05-01-preview", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-server/dnsAliases/dns-alias-name-1", + "name": "dns-alias-name-1", + "type": "Microsoft.Sql/servers/dnsAliases", + "properties": { + "azureDnsRecord": "dns-alias-name-1.database.windows.net" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-server/dnsAliases/dns-alias-name-1", + "name": "dns-alias-name-1", + "type": "Microsoft.Sql/servers/dnsAliases", + "properties": { + "azureDnsRecord": "dns-alias-name-1.database.windows.net" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDnsAliasDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDnsAliasDelete.json new file mode 100644 index 000000000000..550cc7a8f963 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDnsAliasDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "dns-alias-server", + "dnsAliasName": "dns-alias-name-1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDnsAliasGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDnsAliasGet.json new file mode 100644 index 000000000000..0d005221ad46 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDnsAliasGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "dns-alias-server", + "dnsAliasName": "dns-alias-name-1", + "api-version": "2021-05-01-preview", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-server/dnsAliases/dns-alias-name-1", + "name": "dns-alias-name-1", + "type": "Microsoft.Sql/servers/dnsAliases", + "properties": { + "azureDnsRecord": "dns-alias-name-1.database.windows.net" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDnsAliasList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDnsAliasList.json new file mode 100644 index 000000000000..e255cebd8627 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerDnsAliasList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "dns-alias-server", + "api-version": "2021-05-01-preview", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-server/dnsAliases/dns-alias-1", + "name": "server-dns-alias-1", + "type": "Microsoft.Sql/servers/dnsAliases", + "properties": { + "azureDnsRecord": "dns-alias-1.database.windows.net" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-server/dnsAliases/dns-alias-2", + "name": "server-dns-alias-2", + "type": "Microsoft.Sql/servers/dnsAliases", + "properties": { + "azureDnsRecord": "dns-alias-2.database.windows.net" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerExtendedAuditingSettingsList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerExtendedAuditingSettingsList.json new file mode 100644 index 000000000000..74262ffc8426 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerExtendedAuditingSettingsList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "blobauditingtest-4799", + "serverName": "blobauditingtest-6440", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-6852/providers/Microsoft.Sql/servers/blobauditingtest-2080/extendedAuditingSettings/default", + "name": "default", + "type": "Microsoft.Sql/servers/extendedAuditingSettings", + "properties": { + "state": "Disabled", + "storageEndpoint": "", + "retentionDays": 0, + "auditActionsAndGroups": [], + "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000", + "isStorageSecondaryKeyInUse": false, + "predicateExpression": "object_name = 'SensitiveData'", + "isAzureMonitorTargetEnabled": false + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerGet.json new file mode 100644 index 000000000000..c6dc2a7c768d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-4645", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645", + "name": "sqlcrudtest-4645", + "type": "Microsoft.Sql/servers", + "location": "japaneast", + "kind": "v12.0", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-4645.database.windows.net", + "administratorLogin": "dummylogin", + "version": "12.0", + "state": "Ready", + "workspaceFeature": "Connected", + "publicNetworkAccess": "Enabled", + "restrictOutboundNetworkAccess": "Enabled", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerGetWithExpandEqualsAdministrators.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerGetWithExpandEqualsAdministrators.json new file mode 100644 index 000000000000..8d31e316c3be --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerGetWithExpandEqualsAdministrators.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-4645", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645", + "name": "sqlcrudtest-4645", + "type": "Microsoft.Sql/servers", + "location": "japaneast", + "kind": "v12.0", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-4645.database.windows.net", + "administratorLogin": "dummylogin", + "version": "12.0", + "state": "Ready", + "workspaceFeature": "Connected", + "publicNetworkAccess": "Enabled", + "restrictOutboundNetworkAccess": "Enabled", + "administrators": { + "principalType": "User", + "login": "bob@contoso.com", + "sid": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "azureADOnlyAuthentication": true + }, + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerKeyCreateOrUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerKeyCreateOrUpdate.json new file mode 100644 index 000000000000..9f2f5c5e1377 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerKeyCreateOrUpdate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-4645", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/keys/someVault_someKey_01234567890123456789012345678901", + "name": "sqlcrudtest-4645", + "type": "Microsoft.Sql/servers/keys", + "location": "Japan East", + "kind": "azurekeyvault", + "properties": { + "thumbprint": "00112233445566778899AABBCCDDEEFFAABBCCDD", + "creationDate": "2020-11-15T00:00:00Z", + "autoRotationEnabled": false + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/keys/someVault_someKey_01234567890123456789012345678901", + "name": "sqlcrudtest-4645", + "type": "Microsoft.Sql/servers/keys", + "location": "Japan East", + "kind": "azurekeyvault", + "properties": { + "thumbprint": "00112233445566778899AABBCCDDEEFFAABBCCDD", + "creationDate": "2020-11-15T00:00:00Z", + "autoRotationEnabled": false + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerKeyDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerKeyDelete.json new file mode 100644 index 000000000000..f6b662ee2db4 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerKeyDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-4645", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerKeyGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerKeyGet.json new file mode 100644 index 000000000000..8e811515f998 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerKeyGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-4645", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/keys/someVault_someKey_01234567890123456789012345678901", + "name": "sqlcrudtest-4645", + "type": "Microsoft.Sql/servers/keys", + "location": "Japan East", + "kind": "azurekeyvault", + "properties": { + "thumbprint": "00112233445566778899AABBCCDDEEFFAABBCCDD", + "creationDate": "2020-11-15T00:00:00Z", + "autoRotationEnabled": false + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerKeyList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerKeyList.json new file mode 100644 index 000000000000..28dbd278997b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerKeyList.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-4645", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/keys/someVault_someKey_01234567890123456789012345678901", + "name": "someVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.Sql/servers/keys", + "location": "Japan East", + "kind": "azurekeyvault", + "properties": { + "thumbprint": "00112233445566778899AABBCCDDEEFFAABBCCDD", + "creationDate": "2020-11-15T00:00:00Z", + "autoRotationEnabled": false + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/keys/myVault_myKey_11111111111111111111111111111111", + "name": "myVault_myKey_11111111111111111111111111111111", + "type": "Microsoft.Sql/servers/keys", + "location": "Japan East", + "kind": "azurekeyvault", + "properties": { + "thumbprint": "AAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBB", + "creationDate": "2020-11-15T00:00:00Z", + "autoRotationEnabled": false + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/keys/ServiceManaged", + "name": "ServiceManaged", + "type": "Microsoft.Sql/servers/keys", + "location": "Japan East", + "kind": "servicemanaged", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerList.json new file mode 100644 index 000000000000..7f8e07e43b0e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerList.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645", + "name": "sqlcrudtest-4645", + "type": "Microsoft.Sql/servers", + "location": "japaneast", + "kind": "v12.0", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-4645.database.windows.net", + "administratorLogin": "dummylogin", + "version": "12.0", + "state": "Ready", + "workspaceFeature": "Connected", + "publicNetworkAccess": "Enabled", + "restrictOutboundNetworkAccess": "Enabled", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-6661", + "name": "sqlcrudtest-6661", + "type": "Microsoft.Sql/servers", + "location": "japaneast", + "kind": "v12.0", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-6661.database.windows.net", + "administratorLogin": "dummylogin", + "version": "12.0", + "state": "Ready", + "workspaceFeature": "Connected", + "publicNetworkAccess": "Enabled", + "restrictOutboundNetworkAccess": "Enabled", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerListByResourceGroup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerListByResourceGroup.json new file mode 100644 index 000000000000..db1f2144f668 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerListByResourceGroup.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645", + "name": "sqlcrudtest-4645", + "type": "Microsoft.Sql/servers", + "location": "japaneast", + "kind": "v12.0", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-4645.database.windows.net", + "administratorLogin": "dummylogin", + "version": "12.0", + "state": "Ready", + "workspaceFeature": "Connected", + "publicNetworkAccess": "Enabled", + "restrictOutboundNetworkAccess": "Enabled", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-6661", + "name": "sqlcrudtest-6661", + "type": "Microsoft.Sql/servers", + "location": "japaneast", + "kind": "v12.0", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-6661.database.windows.net", + "administratorLogin": "dummylogin", + "version": "12.0", + "state": "Ready", + "workspaceFeature": "Connected", + "publicNetworkAccess": "Enabled", + "restrictOutboundNetworkAccess": "Enabled", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerListByResourceGroupWithExpandEqualsAdministrators.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerListByResourceGroupWithExpandEqualsAdministrators.json new file mode 100644 index 000000000000..338426b8a7d5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerListByResourceGroupWithExpandEqualsAdministrators.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645", + "name": "sqlcrudtest-4645", + "type": "Microsoft.Sql/servers", + "location": "japaneast", + "kind": "v12.0", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-4645.database.windows.net", + "administratorLogin": "dummylogin", + "version": "12.0", + "state": "Ready", + "workspaceFeature": "Connected", + "publicNetworkAccess": "Enabled", + "restrictOutboundNetworkAccess": "Enabled", + "administrators": { + "principalType": "User", + "login": "bob@contoso.com", + "sid": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "azureADOnlyAuthentication": true + }, + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-6661", + "name": "sqlcrudtest-6661", + "type": "Microsoft.Sql/servers", + "location": "japaneast", + "kind": "v12.0", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-6661.database.windows.net", + "administratorLogin": "dummylogin", + "version": "12.0", + "state": "Ready", + "workspaceFeature": "Connected", + "publicNetworkAccess": "Enabled", + "restrictOutboundNetworkAccess": "Enabled", + "administrators": { + "principalType": "User", + "login": "bob@contoso.com", + "sid": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "azureADOnlyAuthentication": true + }, + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerListWithExpandEqualsAdministrators.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerListWithExpandEqualsAdministrators.json new file mode 100644 index 000000000000..67edc87d2b82 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerListWithExpandEqualsAdministrators.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645", + "name": "sqlcrudtest-4645", + "type": "Microsoft.Sql/servers", + "location": "japaneast", + "kind": "v12.0", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-4645.database.windows.net", + "administratorLogin": "dummylogin", + "version": "12.0", + "state": "Ready", + "workspaceFeature": "Connected", + "publicNetworkAccess": "Enabled", + "restrictOutboundNetworkAccess": "Enabled", + "administrators": { + "principalType": "User", + "login": "bob@contoso.com", + "sid": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "azureADOnlyAuthentication": true + }, + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-6661", + "name": "sqlcrudtest-6661", + "type": "Microsoft.Sql/servers", + "location": "japaneast", + "kind": "v12.0", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-6661.database.windows.net", + "administratorLogin": "dummylogin", + "version": "12.0", + "state": "Ready", + "workspaceFeature": "Connected", + "publicNetworkAccess": "Enabled", + "restrictOutboundNetworkAccess": "Enabled", + "administrators": { + "principalType": "User", + "login": "bob@contoso.com", + "sid": "00000011-1111-2222-2222-123456789111", + "tenantId": "00000011-1111-2222-2222-123456789111", + "azureADOnlyAuthentication": true + }, + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerRecommendedActionListExpand.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerRecommendedActionListExpand.json new file mode 100644 index 000000000000..222c544b8b96 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerRecommendedActionListExpand.json @@ -0,0 +1,626 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workloadinsight-demos", + "serverName": "misosisvr", + "api-version": "2021-05-01-preview", + "$expand": "recommendedActions" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/CreateIndex", + "name": "CreateIndex", + "type": "Microsoft.Sql/servers/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "GA", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Server", + "recommendedActions": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/CreateIndex/recommendedActions/IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB", + "name": "IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB", + "type": "Microsoft.Sql/servers/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "", + "validSince": "2017-03-01T14:38:04Z", + "lastRefresh": "2017-03-01T14:38:04Z", + "state": { + "currentValue": "Active", + "lastModified": "2017-06-20T15:15:40Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "score": 1, + "implementationDetails": { + "method": "TSql", + "script": "CREATE NONCLUSTERED INDEX [nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B] ON [CRM].[DataPoints] ([Name],[Money],[Power]) INCLUDE ([Hour], [System], [LastChanged]) WITH (ONLINE = ON)" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 1440.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 209.3125 + } + ], + "observedImpact": [], + "timeSeries": [], + "details": { + "indexName": "nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B", + "indexType": "NONCLUSTERED", + "schema": "[CRM]", + "table": "[DataPoints]", + "indexColumns": "[Name],[Money],[Power]", + "includedColumns": "[Hour], [System], [LastChanged]", + "databaseName": "IndexAdvisor_test_3" + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/CreateIndex/recommendedActions/IR_[dbo]_[Employees]_560E15A98D14CA09BDFB", + "name": "IR_[dbo]_[Employees]_560E15A98D14CA09BDFB", + "type": "Microsoft.Sql/servers/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "", + "validSince": "2017-03-01T14:38:05Z", + "lastRefresh": "2017-03-01T14:38:05Z", + "state": { + "currentValue": "Active", + "lastModified": "2017-03-01T14:38:05Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "score": 3, + "implementationDetails": { + "method": "TSql", + "script": "CREATE NONCLUSTERED INDEX [nci_wi_Employees_8C18C2AF4267DC77793040782641CCDE] ON [dbo].[Employees] ([City], [State]) INCLUDE ([Postal]) WITH (ONLINE = ON)" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 17.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 128.0 + } + ], + "observedImpact": [], + "timeSeries": [], + "details": { + "indexName": "nci_wi_Employees_8C18C2AF4267DC77793040782641CCDE", + "indexType": "NONCLUSTERED", + "schema": "[dbo]", + "table": "[Employees]", + "indexColumns": "[City], [State]", + "includedColumns": "[Postal]", + "databaseName": "IndexAdvisor_test_3" + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/CreateIndex/recommendedActions/IR_[dbo]_[DataPoints]_F5D2F347AA22DB46E4CC", + "name": "IR_[dbo]_[DataPoints]_F5D2F347AA22DB46E4CC", + "type": "Microsoft.Sql/servers/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "", + "validSince": "2017-03-01T14:38:05Z", + "lastRefresh": "2017-03-01T14:38:05Z", + "state": { + "currentValue": "Success", + "actionInitiatedBy": "User", + "lastModified": "2017-03-01T14:38:05Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "executeActionStartTime": "2017-03-01T14:38:05Z", + "executeActionDuration": "PT1M", + "executeActionInitiatedBy": "User", + "executeActionInitiatedTime": "2017-03-01T14:38:05Z", + "score": 3, + "implementationDetails": { + "method": "TSql", + "script": "DROP INDEX [nci_wi_DataPoints_609E4B7D6A3813990ED44B28B340C8FC] ON [dbo].[DataPoints]" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 5040.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 120.0 + } + ], + "observedImpact": [ + { + "dimensionName": "AffectedQueriesCpuUtilization", + "unit": "CpuCores", + "changeValueAbsolute": -12.7, + "changeValueRelative": -0.9 + }, + { + "dimensionName": "CpuUtilization", + "unit": "CpuCores", + "changeValueAbsolute": -12.7, + "changeValueRelative": -0.3175 + }, + { + "dimensionName": "QueriesWithImprovedPerformance", + "unit": "Count", + "absoluteValue": 12.0 + }, + { + "dimensionName": "QueriesWithRegressedPerformance", + "unit": "Count", + "absoluteValue": 1.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 130.742187 + }, + { + "dimensionName": "VerificationProgress", + "unit": "Percent", + "absoluteValue": 0.0 + } + ], + "timeSeries": [], + "details": { + "indexName": "nci_wi_DataPoints_609E4B7D6A3813990ED44B28B340C8FC", + "indexType": "NONCLUSTERED", + "schema": "[dbo]", + "table": "[DataPoints]", + "indexColumns": "[Name],[Money]", + "includedColumns": "[Power],[Pineapple]", + "indexActionStartTime": "2017-03-01T14:38:05.337", + "indexActionDuration": "00:01:00", + "databaseName": "IndexAdvisor_test_3" + } + } + } + ] + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/DropIndex", + "name": "DropIndex", + "type": "Microsoft.Sql/servers/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "GA", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Default", + "recommendedActions": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/DropIndex/recommendedActions/IR_[CRM]_[DataPoints1]_29AEA82685D24704DE1A", + "name": "IR_[CRM]_[DataPoints1]_29AEA82685D24704DE1A", + "type": "Microsoft.Sql/servers/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "Duplicate", + "validSince": "2017-03-01T14:38:05Z", + "lastRefresh": "2017-03-01T14:38:05Z", + "state": { + "currentValue": "Pending", + "actionInitiatedBy": "System", + "lastModified": "2017-03-01T14:38:05Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "executeActionInitiatedBy": "System", + "executeActionInitiatedTime": "2017-03-01T14:38:05Z", + "score": 1, + "implementationDetails": { + "method": "TSql", + "script": "DROP INDEX [MyIndex123] ON [CRM].[DataPoints1]" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 803.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 144.6875 + } + ], + "observedImpact": [], + "timeSeries": [], + "details": { + "indexName": "MyIndex123", + "originalIndexName": "IX_COM_SKU_SKUDepartmentID", + "indexType": "NONCLUSTERED", + "schema": "[CRM]", + "table": "[DataPoints1]", + "indexColumns": "[Cookies],[SessionId]", + "includedColumns": "[Apple]", + "databaseName": "IndexAdvisor_test_3" + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/DropIndex/recommendedActions/IR_[CRM]_[DataPoints2]_E4B21F229379807E531A", + "name": "IR_[CRM]_[DataPoints2]_E4B21F229379807E531A", + "type": "Microsoft.Sql/servers/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "Duplicate", + "validSince": "2017-03-01T14:38:05Z", + "lastRefresh": "2017-03-01T14:38:05Z", + "state": { + "currentValue": "Success", + "actionInitiatedBy": "User", + "lastModified": "2017-03-01T14:38:05Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "executeActionStartTime": "2017-03-01T14:38:05Z", + "executeActionDuration": "PT1M", + "executeActionInitiatedBy": "User", + "executeActionInitiatedTime": "2017-03-01T14:38:05Z", + "score": 1, + "implementationDetails": { + "method": "TSql", + "script": "CREATE NONCLUSTERED INDEX [MyIndex321] ON [CRM].[DataPoints2] ([Cookies],[SessionId],[Protocol]) INCLUDE ([Apple]) WITH (ONLINE = ON)" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 705.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 342.0 + } + ], + "observedImpact": [ + { + "dimensionName": "AffectedQueriesCpuUtilization", + "unit": "CpuCores", + "changeValueAbsolute": 0.0, + "changeValueRelative": 0.0 + }, + { + "dimensionName": "CpuUtilization", + "unit": "CpuCores", + "changeValueAbsolute": 0.0, + "changeValueRelative": 0.0 + }, + { + "dimensionName": "QueriesWithImprovedPerformance", + "unit": "Count", + "absoluteValue": 0.0 + }, + { + "dimensionName": "QueriesWithRegressedPerformance", + "unit": "Count", + "absoluteValue": 0.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": -342.0 + }, + { + "dimensionName": "VerificationProgress", + "unit": "Percent", + "absoluteValue": 0.0 + } + ], + "timeSeries": [], + "details": { + "indexName": "MyIndex321", + "originalIndexName": "IX_COM_SKU_SKUDepartmentID", + "indexType": "NONCLUSTERED", + "schema": "[CRM]", + "table": "[DataPoints2]", + "indexColumns": "[Cookies],[SessionId],[Protocol]", + "includedColumns": "[Apple]", + "indexActionStartTime": "2017-03-01T14:38:05.697", + "indexActionDuration": "00:01:00", + "databaseName": "IndexAdvisor_test_3" + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/DropIndex/recommendedActions/IR_[dbo]_[FactFinance]_13ADA5F354E9E14A983B", + "name": "IR_[dbo]_[FactFinance]_13ADA5F354E9E14A983B", + "type": "Microsoft.Sql/servers/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "Duplicate", + "validSince": "2017-03-01T14:38:05Z", + "lastRefresh": "2017-03-01T14:38:05Z", + "state": { + "currentValue": "Success", + "actionInitiatedBy": "System", + "lastModified": "2017-02-28T14:38:05Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "executeActionStartTime": "2017-03-01T14:38:05Z", + "executeActionDuration": "PT1M", + "executeActionInitiatedBy": "System", + "executeActionInitiatedTime": "2017-03-01T14:38:05Z", + "score": 1, + "implementationDetails": { + "method": "TSql", + "script": "CREATE NONCLUSTERED INDEX [IX_FF] ON [dbo].[FactFinance] ([FinanceKey],[DateKey]) INCLUDE ([OrganizationKey]) WITH (ONLINE = ON)" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 705.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 342.0 + } + ], + "observedImpact": [ + { + "dimensionName": "AffectedQueriesCpuUtilization", + "unit": "CpuCores", + "changeValueAbsolute": 0.0, + "changeValueRelative": 0.0 + }, + { + "dimensionName": "CpuUtilization", + "unit": "CpuCores", + "changeValueAbsolute": 0.0, + "changeValueRelative": 0.0 + }, + { + "dimensionName": "QueriesWithImprovedPerformance", + "unit": "Count", + "absoluteValue": 0.0 + }, + { + "dimensionName": "QueriesWithRegressedPerformance", + "unit": "Count", + "absoluteValue": 0.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": -342.0 + }, + { + "dimensionName": "VerificationProgress", + "unit": "Percent", + "absoluteValue": 0.0 + } + ], + "timeSeries": [], + "details": { + "indexName": "IX_FF", + "originalIndexName": "IX_COM_SKU_SKUDepartmentID", + "indexType": "NONCLUSTERED", + "schema": "[dbo]", + "table": "[FactFinance]", + "indexColumns": "[FinanceKey],[DateKey]", + "includedColumns": "[OrganizationKey]", + "indexActionStartTime": "2017-03-01T14:38:05.837", + "indexActionDuration": "00:01:00", + "databaseName": "IndexAdvisor_test_3" + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/DropIndex/recommendedActions/IR_[CRM]_[DataPoints1]_13ADA5F354E9E14A983B", + "name": "IR_[CRM]_[DataPoints1]_13ADA5F354E9E14A983B", + "type": "Microsoft.Sql/servers/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "Unused", + "validSince": "2017-03-01T14:38:05Z", + "lastRefresh": "2017-03-01T14:38:05Z", + "state": { + "currentValue": "Pending", + "actionInitiatedBy": "System", + "lastModified": "2017-03-23T14:14:35Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "executeActionInitiatedBy": "System", + "executeActionInitiatedTime": "2017-03-23T14:14:35Z", + "score": 1, + "implementationDetails": { + "method": "TSql", + "script": "DROP INDEX [IX_FF] ON [CRM].[DataPoints1]" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "ActionDuration", + "unit": "Seconds", + "absoluteValue": 645.0 + }, + { + "dimensionName": "SpaceChange", + "unit": "Megabytes", + "absoluteValue": 342.0 + } + ], + "observedImpact": [], + "timeSeries": [], + "details": { + "indexName": "IX_FF", + "originalIndexName": "IX_COM_SKU_SKUDepartmentID", + "indexType": "NONCLUSTERED", + "schema": "[CRM]", + "table": "[DataPoints1]", + "indexColumns": "[Protocol],[SessionId]", + "includedColumns": "[Apple]", + "databaseName": "IndexAdvisor_test_3" + } + } + } + ] + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/DbParameterization", + "name": "DbParameterization", + "type": "Microsoft.Sql/servers/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "GA", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Default", + "recommendedActions": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/DbParameterization/recommendedActions/ForceDbParameterization", + "name": "ForceDbParameterization", + "type": "Microsoft.Sql/servers/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "", + "validSince": "2017-03-01T14:37:44Z", + "lastRefresh": "2017-03-01T14:37:44Z", + "state": { + "currentValue": "Pending", + "actionInitiatedBy": "System", + "lastModified": "2017-05-11T15:08:31Z" + }, + "isExecutableAction": true, + "isRevertableAction": true, + "isArchivedAction": false, + "executeActionInitiatedBy": "System", + "executeActionInitiatedTime": "2017-05-11T15:08:31Z", + "score": 3, + "implementationDetails": { + "method": "TSql", + "script": "ALTER DATABASE [IndexAdvisor_test_3] SET PARAMETERIZATION FORCED" + }, + "errorDetails": {}, + "estimatedImpact": [ + { + "dimensionName": "CpuSavings", + "unit": "Percent", + "changeValueAbsolute": 22.5613696939135 + }, + { + "dimensionName": "QueryDurationDecrease", + "unit": "secs", + "changeValueAbsolute": 0.701823681806341 + } + ], + "observedImpact": [], + "timeSeries": [], + "details": { + "databaseName": "IndexAdvisor_test_3" + } + } + } + ] + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/SchemaIssue", + "name": "SchemaIssue", + "type": "Microsoft.Sql/servers/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "PublicPreview", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Default", + "recommendedActions": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/SchemaIssue/recommendedActions/SchemaProblem_1A258C5714A7410C9D23", + "name": "SchemaProblem_1A258C5714A7410C9D23", + "type": "Microsoft.Sql/servers/advisors/recommendedActions", + "location": "East Asia", + "kind": "", + "properties": { + "recommendationReason": "SchemaProblem", + "validSince": "2017-03-01T14:37:48Z", + "lastRefresh": "2017-06-07T22:19:53Z", + "state": { + "currentValue": "Active", + "lastModified": "2017-03-01T14:37:48Z" + }, + "isExecutableAction": false, + "isRevertableAction": false, + "isArchivedAction": false, + "score": 3, + "implementationDetails": {}, + "errorDetails": {}, + "estimatedImpact": [], + "observedImpact": [], + "timeSeries": [], + "details": { + "sqlErrorNumber": 208, + "sqlErrorMessage": "Invalid object name 'dbo.Companies'.", + "sqlErrorCount": 342482, + "databaseName": "IndexAdvisor_test_3" + } + } + } + ] + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/ForceLastGoodPlan", + "name": "ForceLastGoodPlan", + "type": "Microsoft.Sql/servers/advisors", + "location": "East Asia", + "kind": "", + "properties": { + "advisorStatus": "PrivatePreview", + "autoExecuteStatus": "Disabled", + "autoExecuteStatusInheritedFrom": "Default", + "recommendedActions": [] + } + } + ] + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerSecurityAlertsCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerSecurityAlertsCreateMax.json new file mode 100644 index 000000000000..e7ba66efd2f2 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerSecurityAlertsCreateMax.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "serverName": "securityalert-6440", + "securityAlertPolicyName": "Default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [ + "testSecurityAlert@microsoft.com" + ], + "disabledAlerts": [ + "Access_Anomaly", + "Usage_Anomaly" + ], + "retentionDays": 5, + "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storageEndpoint": "https://mystorage.blob.core.windows.net" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/securityAlertPolicies/default", + "name": "Default", + "type": "Microsoft.Sql/servers/securityAlertPolicies", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-03T04:41:33.937Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-03T04:41:33.937Z" + }, + "properties": { + "state": "Enabled", + "emailAccountAdmins": true, + "emailAddresses": [ + "testSecurityAlert@microsoft.com" + ], + "disabledAlerts": [ + "Access_Anomaly", + "Usage_Anomaly" + ], + "retentionDays": 5, + "storageAccountAccessKey": "", + "storageEndpoint": "https://mystorage.blob.core.windows.net" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerSecurityAlertsCreateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerSecurityAlertsCreateMin.json new file mode 100644 index 000000000000..4e4c001067cb --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerSecurityAlertsCreateMin.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "serverName": "securityalert-6440", + "securityAlertPolicyName": "Default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/securityAlertPolicies/default", + "name": "Default", + "type": "Microsoft.Sql/servers/securityAlertPolicies", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-03T04:41:33.937Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-03T04:41:33.937Z" + }, + "properties": { + "state": "Enabled", + "emailAccountAdmins": false, + "emailAddresses": [ + "" + ], + "disabledAlerts": [ + "" + ], + "retentionDays": 0, + "storageAccountAccessKey": "", + "storageEndpoint": "https://mystorage.blob.core.windows.net" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerSecurityAlertsGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerSecurityAlertsGet.json new file mode 100644 index 000000000000..3b903a4c461b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerSecurityAlertsGet.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "serverName": "securityalert-6440", + "securityAlertPolicyName": "Default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/securityAlertPolicies/default", + "name": "Default", + "type": "Microsoft.Sql/servers/securityAlertPolicies", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-03T04:41:33.937Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-03T04:41:33.937Z" + }, + "properties": { + "state": "Enabled", + "creationTime": "2020-04-03T04:41:33.937Z", + "emailAccountAdmins": true, + "emailAddresses": [ + "test@consoto.com;user@consoto.com" + ], + "disabledAlerts": [ + "Access_Anomaly" + ], + "retentionDays": 0, + "storageAccountAccessKey": "", + "storageEndpoint": "https://mystorage.blob.core.windows.net" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerSecurityAlertsListByServer.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerSecurityAlertsListByServer.json new file mode 100644 index 000000000000..97b1168030c0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerSecurityAlertsListByServer.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "serverName": "securityalert-6440", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/securityAlertPolicies", + "name": "Default", + "type": "Microsoft.Sql/servers/securityAlertPolicies", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-03T04:41:33.937Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-03T04:41:33.937Z" + }, + "properties": { + "state": "Enabled", + "creationTime": "2020-04-03T04:41:33.937Z", + "emailAccountAdmins": true, + "emailAddresses": [ + "test@consoto.com;user@consoto.com" + ], + "disabledAlerts": [ + "Access_Anomaly" + ], + "retentionDays": 0, + "storageAccountAccessKey": "", + "storageEndpoint": "https://mystorage.blob.core.windows.net" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustCertificatesCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustCertificatesCreate.json new file mode 100644 index 000000000000..1dc4eee1a6af --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustCertificatesCreate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "0574222d-5c7f-489c-a172-b3013eafab53", + "resourceGroupName": "testrg", + "managedInstanceName": "testcl", + "certificateName": "customerCertificateName", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "publicBlob": "308203AE30820296A0030201020210" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "publicBlob": "308203AE30820296A0030201020210", + "thumbprint": "33702D20EC86119985283", + "certificateName": "customerCertificateName" + }, + "id": "/subscriptions/0574222d-5c7f-489c-a172-b3013eafab53/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/serverTrustCertificates/customerCertificateName", + "name": "customerCertificateName", + "type": "Microsoft.Sql/managedInstances/serverTrustCertificates" + } + }, + "201": { + "body": { + "properties": { + "publicBlob": "308203AE30820296A0030201020210", + "thumbprint": "33702D20EC86119985283", + "certificateName": "customerCertificateName" + }, + "id": "/subscriptions/0574222d-5c7f-489c-a172-b3013eafab53/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/serverTrustCertificates/customerCertificateName", + "name": "customerCertificateName", + "type": "Microsoft.Sql/managedInstances/serverTrustCertificates" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustCertificatesDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustCertificatesDelete.json new file mode 100644 index 000000000000..b63491ce4cbd --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustCertificatesDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "38e0dc56-907f-45ba-a97c-74233baad471", + "resourceGroupName": "testrg", + "managedInstanceName": "testcl", + "certificateName": "customerCertificateName", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "204": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustCertificatesGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustCertificatesGet.json new file mode 100644 index 000000000000..9384cd6eda8f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustCertificatesGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "38e0dc56-907f-45ba-a97c-74233baad471", + "resourceGroupName": "testrg", + "managedInstanceName": "testcl", + "certificateName": "customerCertificateName", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "publicBlob": "308203B23082021AA003020102021034C597BA", + "thumbprint": "57CFA9CF16F2FB2775AF059A95C6D5B897DA2C05", + "certificateName": "customerCertificateName" + }, + "id": "/subscriptions/38e0dc56-907f-45ba-a97c-74233baad471/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/serverTrustCertificates/customerCertificateName", + "name": "customerCertificateName", + "type": "Microsoft.Sql/managedInstances/serverTrustCertificates" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustCertificatesListByInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustCertificatesListByInstance.json new file mode 100644 index 000000000000..d3427ce1b932 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustCertificatesListByInstance.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "38e0dc56-907f-45ba-a97c-74233baad471", + "resourceGroupName": "testrg", + "managedInstanceName": "testcl", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "publicBlob": "0x308203B23082021AA0030201020210722ACCD26F4C1F854D9E254E5DE05B4B300D06092A864886F70D01010B05003015311330110603550403130A48796272696443657274301E170D3231303431393133313031365A170D3330313231323030303030305A3015311330110603550403130A48796272696443657274308201A2300D06092A864886F70D01010105000382018F003082018A0282018100A4115F8D7B854A4086FE474DC659ACB77423788AF70769AAB609EB6222B1AB96E04D9E563882994F8C838B5BC3D0EA84F7748420B91D95AB557BFB7E454FA2AAB7BCE9A38C8CB58CB90F55C256600239C8037CC4F52F584EF78B6BB5EF5474B6FB4BFC7BF369030D0F3ECCBD2606F935D03D822B4913D8811AFBB1E2DE84F90DC806CD385183EA2E954C0B7C8687464BA036F3A1A7BD3BD51129A76EB49EBD177B8A3FF800E4C717BD73735294EB210E09E7CE3FFEE6364F026C720D092A8CABF7610E8BE7FBE515E866C284247DC10FBBE93C11D06704F0D4FC79AE929AA29A78A32B71C089FF1245BDEBD76E1442AD5B673F80CA801E03D35B7F1BF840A2975992E38864EFA8657D8DFE83E483D2409EA052AAA78C1A5FFE4DC79DA5590E0A4C061BB8C1952EC3F0BD43ADCBBE65DA6060103502CF8FC31E2D3315A923D6FB294E13892636C9EB1D7BA81827DE2814AC469296491B713111004E79303FC3EA3679968276DCD3301928AD5663ECEA8CADF911EDB105FF55B920199D351BC6C50203010001300D06092A864886F70D01010B0500038201810069986610B912D3D459F23A22CD6734F1E75EE6B94030666B3F6F32FC9D7258A9E5D46B12997B6878B26B251408F5198D25F0A44AA68F69D979621BF82C665C3685F665C89976B4CAB26960E2C990E2207B19FF67E3B09977724F713B59A5CE58656C36138E7F14311F7B7390C4A551D8B282122766AC51C7E8AD06C7460D0BF9432EC076162A6A0A90260399B715973E12300513C85374F3E07C31D235E2CD7B2BC0F6AED29D670C3600FC1E36DB843F8B36BCAC0FD78B924B3F76EB01B5C5708BCBFF32FB5EC62AB93DC7A674F3EF94D2B5F8F25BFE8AF63EC8260B8029BA6915836E305BEC623426C863D358118C51AE34932BAC2E3F5A179744F931B2DB911B6EFF04180576311B35DD44D3600163CD29678A30F043254CC1596D56C729A2CF83A60AD1FF22CC4879E855AE4F08E26B9EA6CD303D75866348516E848A2A6B7BDDA3468824B25C5D9E07BC3D3EFD6B89DED8D45DD8E7EDBB36A695C7052459073834A1D8788DBA599B32BDF5540331676D6AF94D067A5D5ACB411778E4C43D", + "thumbprint": "33702D20EC861199852837AE6BD1A71544B681E2", + "certificateName": "customerCertificate1" + }, + "id": "/subscriptions/38e0dc56-907f-45ba-a97c-74233baad471/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/serverTrustCertificates/customerCertificate1", + "name": "customerCertificate1", + "type": "Microsoft.Sql/managedInstances/serverTrustCertificates" + }, + { + "properties": { + "publicBlob": "0x308203B23082021AA003020102021034C597BA79AD71844EE734A3546871BC300D06092A864886F70D01010B05003015311330110603550403130A48796272696443657274301E170D3231303630313130333430335A170D3330313231323030303030305A3015311330110603550403130A48796272696443657274308201A2300D06092A864886F70D01010105000382018F003082018A0282018100A75300A5CDC265F24C78DCB58389079D16878BBA3CF75D33987AE775BDB43810B2A925CD936F3068CD0EC59B7FE62D099D9ADCA8BC1C3A5076EAA46DBF3519830FB068876680558A5B827E2E661F24DB7912DB5DD971C60E2DFBC085F460027A803B37AD031CE851D06C53514F12E7F05FFA3833928F577D115A1DBDFECB7B6F7B03674458CBDB4DDC536FE19E2D52B167D63210EBEBF249396451D80CFCA23C188369E2D383A7EEBD3D5AC6EEA13571E471726068DB3912FE0124B578E1806E183985EA0A03BBCC6AE502ED01D85DA3D9C39638D95F398F034954CEA44BB0C7616FC176FAF5EAD87E7AD64A47A39EAB0010BB157C8FF8D4175ABE5DB5130D4E761D96613D0797B756D5D945B797062D23ABD2436E9C1CC1163AB8163B068B783DBF171823D1229BBCC1F287403874FDE00A266B7D105370B8247B4C0A48CCB4756E5DA543BEAE01A30FC5198763A529CCEE385987E7056493E37C15A356C4D87EF44AF2A7DA4181369DF36765180D2D7603AD163C6C9D4543A696ED4D1FB1C90203010001300D06092A864886F70D01010B0500038201810044EAF256ACEB3B455FC1E01168DCB8E1682D4643D1DA97F297D6A74C9EE68407EEBD333821836941A6728A2582BF6D4C68DEF5811A1A405991A6436B69AF62898E7EF7273E0570CB15768EA6B5339C92BF6875E68137CD93B8D37D298220E7CADEEAAE64CCD9B8AC1FFCBEDF5D7ECE5106B9173A06FBA2842607CDF38E143E78755897F05EF316D5C40D4D207410ECFB0DE24C6637AB5BF9FA94F0DDE065E465AA09B4F6B143371880A0BAC410CFB3AD220EC9FC4788AF3599175C62B85A44B80679F66EF6872CA024DA111720818FDAF387B60AB5ED3A41ADD2254770AF36F1974DAEB8A166E69225A4B795E8BECA977F0FCF3612E1C18B18DE6EE5D1213DD4A0D4F8C1BFD6A7EC53A1B838886483918E2537B33A7721222B4A0250D51E728AE7C861698E7D95A0CE4A1C32F04198476C4AE347C90F46514A62D82C38DA4ABD9B5D7A9ACCD98D74443865052AA7E5675D0BF994E95002D6990AA0A8D4797B8252A0387B5B3011790D28E3EA2E0034A034194AA72C649FB24F9800B1F9FCA83B", + "thumbprint": "57CFA9CF16F2FB2775AF059A95C6D5B897DA2C05", + "certificateName": "customerCertificate2" + }, + "id": "/subscriptions/38e0dc56-907f-45ba-a97c-74233baad471/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/serverTrustCertificates/customerCertificate2", + "name": "customerCertificate2", + "type": "Microsoft.Sql/managedInstances/serverTrustCertificates" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustGroupCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustGroupCreate.json new file mode 100644 index 000000000000..51cf69cdccf6 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustGroupCreate.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "locationName": "Japan East", + "serverTrustGroupName": "server-trust-group-test", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "groupMembers": [ + { + "serverId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-1" + }, + { + "serverId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-2" + } + ], + "trustScopes": [ + "GlobalTransactions", + "ServiceBroker" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/Japan East/serverTrustGroups/server-trust-group-test", + "name": "server-trust-group-test", + "properties": { + "groupMembers": [ + { + "serverId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-1" + }, + { + "serverId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-2" + } + ], + "trustScopes": [ + "GlobalTransactions", + "ServiceBroker" + ] + }, + "type": "Microsoft.Sql/locations/serverTrustGroups" + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/Japan East/serverTrustGroups/server-trust-group-test", + "name": "server-trust-group-test", + "properties": { + "groupMembers": [ + { + "serverId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-1" + }, + { + "serverId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-2" + } + ], + "trustScopes": [ + "GlobalTransactions", + "ServiceBroker" + ] + }, + "type": "Microsoft.Sql/locations/serverTrustGroups" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustGroupDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustGroupDelete.json new file mode 100644 index 000000000000..2f8465038e1c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustGroupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "locationName": "Japan East", + "serverTrustGroupName": "server-trust-group-test", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustGroupGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustGroupGet.json new file mode 100644 index 000000000000..e885c8f5fdc9 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustGroupGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "locationName": "Japan East", + "serverTrustGroupName": "server-trust-group-test", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/Japan East/serverTrustGroups/server-trust-group-test", + "name": "server-trust-group-test", + "properties": { + "groupMembers": [ + { + "serverId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-1" + }, + { + "serverId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-2" + } + ], + "trustScopes": [ + "GlobalTransactions", + "ServiceBroker" + ] + }, + "type": "Microsoft.Sql/locations/serverTrustGroups" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustGroupList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustGroupList.json new file mode 100644 index 000000000000..e29aeb472de5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustGroupList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "locationName": "Japan East", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/Japan East/serverTrustGroups/server-trust-group-test", + "name": "server-trust-group-test", + "properties": { + "groupMembers": [ + { + "serverId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-1" + }, + { + "serverId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-2" + } + ], + "trustScopes": [ + "GlobalTransactions", + "ServiceBroker" + ] + }, + "type": "Microsoft.Sql/locations/serverTrustGroups" + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/Japan East/serverTrustGroups/server-trust-group-test-2", + "name": "server-trust-group-test-2", + "properties": { + "groupMembers": [ + { + "serverId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-1" + }, + { + "serverId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-3" + } + ], + "trustScopes": [ + "GlobalTransactions", + "ServiceBroker" + ] + }, + "type": "Microsoft.Sql/locations/serverTrustGroups" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustGroupListByManagedInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustGroupListByManagedInstance.json new file mode 100644 index 000000000000..7b2c86927143 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerTrustGroupListByManagedInstance.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance-1", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/Japan East/serverTrustGroups/server-trust-group-test", + "name": "server-trust-group-test", + "properties": { + "groupMembers": [ + { + "serverId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-1" + }, + { + "serverId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-2" + } + ], + "trustScopes": [ + "GlobalTransactions", + "ServiceBroker" + ] + }, + "type": "Microsoft.Sql/locations/serverTrustGroups" + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/Japan East/serverTrustGroups/server-trust-group-test-2", + "name": "server-trust-group-test-2", + "properties": { + "groupMembers": [ + { + "serverId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-1" + }, + { + "serverId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-3" + } + ], + "trustScopes": [ + "GlobalTransactions", + "ServiceBroker" + ] + }, + "type": "Microsoft.Sql/locations/serverTrustGroups" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerUpdate.json new file mode 100644 index 000000000000..417e194d678f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerUpdate.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "serverName": "sqlcrudtest-4645", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "administratorLogin": "dummylogin", + "administratorLoginPassword": "placeholder", + "publicNetworkAccess": "Disabled", + "restrictOutboundNetworkAccess": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645", + "name": "sqlcrudtest-4645", + "type": "Microsoft.Sql/servers", + "location": "japaneast", + "kind": "v12.0", + "properties": { + "fullyQualifiedDomainName": "sqlcrudtest-4645.database.windows.net", + "administratorLogin": "dummylogin", + "version": "12.0", + "state": "Ready", + "publicNetworkAccess": "Disabled", + "restrictOutboundNetworkAccess": "Enabled", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444", + "properties": { + "provisioningState": "Ready", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerVulnerabilityAssessmentCreateContainerSasKeyMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerVulnerabilityAssessmentCreateContainerSasKeyMin.json new file mode 100644 index 000000000000..7b6bc9d878a8 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerVulnerabilityAssessmentCreateContainerSasKeyMin.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "serverName": "vulnerabilityaseessmenttest-6440", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "storageContainerPath": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storageContainerSasKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": false, + "emails": [] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": false, + "emails": [] + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerVulnerabilityAssessmentCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerVulnerabilityAssessmentCreateMax.json new file mode 100644 index 000000000000..c820f31db8eb --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerVulnerabilityAssessmentCreateMax.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "serverName": "vulnerabilityaseessmenttest-6440", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "storageContainerPath": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storageContainerSasKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "storageAccountAccessKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerVulnerabilityAssessmentCreateStorageAccessKeyMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerVulnerabilityAssessmentCreateStorageAccessKeyMin.json new file mode 100644 index 000000000000..6f556cf4308a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerVulnerabilityAssessmentCreateStorageAccessKeyMin.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "serverName": "vulnerabilityaseessmenttest-6440", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "storageContainerPath": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storageAccountAccessKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": false, + "emails": [] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": false, + "emails": [] + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerVulnerabilityAssessmentDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerVulnerabilityAssessmentDelete.json new file mode 100644 index 000000000000..e61aecfa333a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerVulnerabilityAssessmentDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "serverName": "vulnerabilityaseessmenttest-6440", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerVulnerabilityAssessmentGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerVulnerabilityAssessmentGet.json new file mode 100644 index 000000000000..4280c1acf702 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerVulnerabilityAssessmentGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "serverName": "vulnerabilityaseessmenttest-6440", + "vulnerabilityAssessmentName": "default", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default", + "name": "default", + "type": "Microsoft.Sql/servers/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerVulnerabilityAssessmentListByServer.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerVulnerabilityAssessmentListByServer.json new file mode 100644 index 000000000000..59ca11b82d22 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerVulnerabilityAssessmentListByServer.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "vulnerabilityaseessmenttest-4799", + "serverName": "vulnerabilityaseessmenttest-6440", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/", + "name": "default", + "type": "Microsoft.Sql/servers/vulnerabilityAssessments", + "properties": { + "recurringScans": { + "isEnabled": true, + "emailSubscriptionAdmins": true, + "emails": [ + "email1@mail.com", + "email2@mail.com" + ] + } + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SqlAgentConfigurationGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SqlAgentConfigurationGet.json new file mode 100644 index 000000000000..e864820988dc --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SqlAgentConfigurationGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/sqlAgent/current", + "name": "current", + "type": "Microsoft.Sql/managedInstances/sqlAgent", + "properties": { + "state": "Enabled" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SqlAgentConfigurationPut.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SqlAgentConfigurationPut.json new file mode 100644 index 000000000000..2f2722eb36d7 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SqlAgentConfigurationPut.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "managedInstanceName": "sqlcrudtest-4645", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/sqlAgent/current", + "name": "current", + "type": "Microsoft.Sql/managedInstances/sqlAgent", + "properties": { + "state": "Enabled" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SqlTdeCertificateCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SqlTdeCertificateCreate.json new file mode 100644 index 000000000000..360f9702f998 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SqlTdeCertificateCreate.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000001", + "resourceGroupName": "testtdecert", + "serverName": "testtdecert", + "tdeCertName": "current", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "privateBlob": "MIIXXXXXXXX" + } + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SubscriptionUsageGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SubscriptionUsageGet.json new file mode 100644 index 000000000000..75abfd035e5d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SubscriptionUsageGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "WestUS", + "usageName": "ServerQuota", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "displayName": "Regional Server Quota for West US", + "currentValue": 1.0, + "limit": 20.0, + "unit": "Count" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/Onebox/usages/ServerQuota", + "name": "ServerQuota", + "type": "Microsoft.Sql/locations/usages" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SubscriptionUsageListByLocation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SubscriptionUsageListByLocation.json new file mode 100644 index 000000000000..c0e288053c8e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SubscriptionUsageListByLocation.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "WestUS", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "displayName": "Regional Server Quota for West US", + "currentValue": 1.0, + "limit": 20.0, + "unit": "Count" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/Onebox/usages/ServerQuota", + "name": "ServerQuota", + "type": "Microsoft.Sql/locations/usages" + }, + { + "properties": { + "displayName": "Free Database Count per Subscription for West US", + "currentValue": 0.0, + "limit": 1.0, + "unit": "Count" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/Onebox/usages/SubscriptionFreeDatabaseCount", + "name": "SubscriptionFreeDatabaseCount", + "type": "Microsoft.Sql/locations/usages" + }, + { + "properties": { + "displayName": "Free to Basic Database Upgrade count-down in West US", + "currentValue": 365.0, + "limit": 365.0, + "unit": "Count" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/Onebox/usages/SubscriptionFreeDatabaseDaysLeft", + "name": "SubscriptionFreeDatabaseDaysLeft", + "type": "Microsoft.Sql/locations/usages" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentCreate.json new file mode 100644 index 000000000000..5a330b237d52 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentCreate.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncagentcrud-65440", + "serverName": "syncagentcrud-8475", + "syncAgentName": "syncagentcrud-3187", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/databases/sync" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/databases/sync", + "state": "NeverConnected", + "isUpToDate": true, + "expiryTime": "9999-12-31T23:59:59.9999999Z", + "version": "4.2.0.0" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/syncAgents/syncagentcrud-3187", + "name": "syncagent", + "type": "Microsoft.Sql/servers/syncAgents" + } + }, + "201": { + "body": { + "properties": { + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/databases/sync", + "state": "NeverConnected", + "isUpToDate": true, + "expiryTime": "9999-12-31T23:59:59.9999999Z", + "version": "4.2.0.0" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/syncAgents/syncagentcrud-3187", + "name": "syncagent", + "type": "Microsoft.Sql/servers/syncAgents" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentDelete.json new file mode 100644 index 000000000000..6abe178cc740 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncagentcrud-65440", + "serverName": "syncagentcrud-8475", + "syncAgentName": "syncagentcrud-3187", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentGenerateKey.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentGenerateKey.json new file mode 100644 index 000000000000..e4a32fa250e9 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentGenerateKey.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncagentcrud-65440", + "serverName": "syncagentcrud-8475", + "syncAgentName": "syncagentcrud-3187", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "syncAgentKey": "865f9998-6dae-4214-bbb1-4796b7c76ca0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentGet.json new file mode 100644 index 000000000000..643ed177567e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncagentcrud-65440", + "serverName": "syncagentcrud-8475", + "syncAgentName": "syncagentcrud-3187", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/databases/sync", + "state": "NeverConnected", + "isUpToDate": true, + "expiryTime": "9999-12-31T23:59:59.9999999Z", + "version": "4.2.0.0" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/syncAgents/syncagentcrud-3187", + "name": "syncagent", + "type": "Microsoft.Sql/servers/syncAgents" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentGetLinkedDatabases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentGetLinkedDatabases.json new file mode 100644 index 000000000000..64f18f0915e3 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentGetLinkedDatabases.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncagentcrud-65440", + "serverName": "syncagentcrud-8475", + "syncAgentName": "syncagentcrud-3187", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "databaseType": "SqlServerDatabase", + "databaseId": "55555555-6666-7777-8888-999999999999", + "description": "", + "serverName": "DummySqlServer", + "databaseName": "DummySqlServerDb", + "userName": "DummyUser" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/syncAgents/syncagentcrud-3187/linkedDatabases/55555555-6666-7777-8888-999999999999" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentListByServer.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentListByServer.json new file mode 100644 index 000000000000..ea69e430e2d1 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentListByServer.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncagentcrud-65440", + "serverName": "syncagentcrud-8475", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/databases/sync", + "state": "NeverConnected", + "isUpToDate": true, + "expiryTime": "9999-12-31T23:59:59.9999999Z", + "version": "4.2.0.0" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/syncAgents/syncagentcrud-3187", + "name": "syncagent", + "type": "Microsoft.Sql/servers/syncAgents" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentUpdate.json new file mode 100644 index 000000000000..5a330b237d52 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncAgentUpdate.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncagentcrud-65440", + "serverName": "syncagentcrud-8475", + "syncAgentName": "syncagentcrud-3187", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/databases/sync" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/databases/sync", + "state": "NeverConnected", + "isUpToDate": true, + "expiryTime": "9999-12-31T23:59:59.9999999Z", + "version": "4.2.0.0" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/syncAgents/syncagentcrud-3187", + "name": "syncagent", + "type": "Microsoft.Sql/servers/syncAgents" + } + }, + "201": { + "body": { + "properties": { + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/databases/sync", + "state": "NeverConnected", + "isUpToDate": true, + "expiryTime": "9999-12-31T23:59:59.9999999Z", + "version": "4.2.0.0" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/syncAgents/syncagentcrud-3187", + "name": "syncagent", + "type": "Microsoft.Sql/servers/syncAgents" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupCancelSync.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupCancelSync.json new file mode 100644 index 000000000000..2b70ad29bd43 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupCancelSync.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupCreate.json new file mode 100644 index 000000000000..c542228e7a40 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupCreate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "interval": -1, + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "usePrivateLinkConnection": true + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "interval": -1, + "lastSyncTime": "0001-01-01T08:00:00Z", + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "syncState": "NotReady", + "usePrivateLinkConnection": true, + "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncgroupcrud-8475" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187", + "name": "syncgroupcrud-3187", + "type": "Microsoft.Sql/servers/databases/syncGroups" + } + }, + "201": { + "body": { + "properties": { + "interval": -1, + "lastSyncTime": "0001-01-01T08:00:00Z", + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "syncState": "NotReady", + "usePrivateLinkConnection": true, + "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncgroupcrud-8475" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187", + "name": "syncgroupcrud-3187", + "type": "Microsoft.Sql/servers/databases/syncGroups" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupDelete.json new file mode 100644 index 000000000000..93a4f8f604a1 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupGet.json new file mode 100644 index 000000000000..3da1579a4793 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "interval": -1, + "lastSyncTime": "0001-01-01T08:00:00Z", + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "syncState": "NotReady", + "usePrivateLinkConnection": true, + "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncgroupcrud-3187" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187", + "name": "syncgroupcrud-3187", + "type": "Microsoft.Sql/servers/databases/syncGroups" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupGetHubSchema.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupGetHubSchema.json new file mode 100644 index 000000000000..6b391a168e4e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupGetHubSchema.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "tables": [ + { + "columns": [ + { + "dataSize": "4", + "dataType": "int", + "hasError": false, + "isPrimaryKey": false, + "name": "intField", + "quotedName": "[intField]" + }, + { + "dataSize": "100", + "dataType": "nvarchar", + "hasError": false, + "isPrimaryKey": false, + "name": "charField", + "quotedName": "[charField]" + } + ], + "errorId": "Schema_TableHasNoPrimaryKey", + "hasError": true, + "name": "dbo.myTable", + "quotedName": "[dbo].[myTable]" + } + ], + "lastUpdateTime": "2017-05-30T07:16:08.21Z" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupGetLog.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupGetLog.json new file mode 100644 index 000000000000..b86be33ba296 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupGetLog.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "startTime": "2017-01-01T00:00:00", + "endTime": "2017-12-31T00:00:00", + "type": "All", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timestamp": "2017-05-30T07:16:08.25Z", + "type": "Success", + "source": "syncgroupcrud-8475.database.windows.net/hub", + "details": "Schema information obtained successfully.", + "tracingId": "c0480c8e-6269-424e-9404-b00efce0ebae", + "operationStatus": "SchemaRefreshSuccess" + }, + { + "timestamp": "2017-05-30T07:03:37.5733333Z", + "type": "Error", + "source": "syncgroupcrud-8475.database.windows.net/member", + "details": "Getting schema information for the database failed with the exception \"Failed to connect to server .\nInner exception: SqlException Error Code: -2146232060 - SqlError Number:53, Message: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) \nInner exception: The network path was not found\n For more information, provide tracing ID ‘cd3aa28c-0c31-471f-8a77-f1b21c908cbd’ to customer support.\"", + "tracingId": "cd3aa28c-0c31-471f-8a77-f1b21c908cbd", + "operationStatus": "SchemaRefreshFailure" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupGetSyncDatabaseId.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupGetSyncDatabaseId.json new file mode 100644 index 000000000000..c34c67e3357e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupGetSyncDatabaseId.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "westus", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupListByDatabase.json new file mode 100644 index 000000000000..8fa26a630724 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupListByDatabase.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "interval": -1, + "lastSyncTime": "0001-01-01T08:00:00Z", + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "syncState": "NotReady", + "usePrivateLinkConnection": true, + "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncgroupcrud-3187" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187", + "name": "syncgroupcrud-3187", + "type": "Microsoft.Sql/servers/databases/syncGroups" + }, + { + "properties": { + "interval": -1, + "lastSyncTime": "0001-01-01T08:00:00Z", + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "syncState": "NotReady", + "usePrivateLinkConnection": true, + "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncgroupcrud-5374" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-5374", + "name": "syncgroupcrud-5374", + "type": "Microsoft.Sql/servers/databases/syncGroups" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupPatch.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupPatch.json new file mode 100644 index 000000000000..ea48008193e3 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupPatch.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "interval": -1, + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "hubDatabasePassword": "hubPassword", + "usePrivateLinkConnection": true + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "interval": -1, + "lastSyncTime": "0001-01-01T08:00:00Z", + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "syncState": "NotReady", + "usePrivateLinkConnection": true, + "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncgroupcrud-3187" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187", + "name": "syncgroup", + "type": "Microsoft.Sql/servers/databases/syncGroups" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupRefreshHubSchema.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupRefreshHubSchema.json new file mode 100644 index 000000000000..3c776fe4ee1b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupRefreshHubSchema.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupTriggerSync.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupTriggerSync.json new file mode 100644 index 000000000000..2b70ad29bd43 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupTriggerSync.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupUpdate.json new file mode 100644 index 000000000000..36cdd1e80efe --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncGroupUpdate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "interval": -1, + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "usePrivateLinkConnection": true + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "interval": -1, + "lastSyncTime": "0001-01-01T08:00:00Z", + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "syncState": "NotReady", + "usePrivateLinkConnection": true, + "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncgroupcrud-3187" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187", + "name": "syncgroupcrud-3187", + "type": "Microsoft.Sql/servers/databases/syncGroups" + } + }, + "201": { + "body": { + "properties": { + "interval": -1, + "lastSyncTime": "0001-01-01T08:00:00Z", + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "syncState": "NotReady", + "usePrivateLinkConnection": true, + "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncgroupcrud-3187" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187", + "name": "syncgroupcrud-3187", + "type": "Microsoft.Sql/servers/databases/syncGroups" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberCreate.json new file mode 100644 index 000000000000..47631965b6a6 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberCreate.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "syncMemberName": "syncmembercrud-4879", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "usePrivateLinkConnection": true, + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "syncState": "UnProvisioned", + "usePrivateLinkConnection": true, + "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncmembercrud-4879", + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncmembercrud-4879", + "name": "syncmembercrud-4879", + "type": "Microsoft.Sql/servers/databases/syncGroups/syncMembers" + } + }, + "201": { + "body": { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "syncState": "UnProvisioned", + "usePrivateLinkConnection": true, + "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncmembercrud-4879", + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncmembercrud-4879", + "name": "syncmembercrud-4879", + "type": "Microsoft.Sql/servers/databases/syncGroups/syncMembers" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberDelete.json new file mode 100644 index 000000000000..9d388692456a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberDelete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "syncMemberName": "syncgroupcrud-4879", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberGet.json new file mode 100644 index 000000000000..b8447752ecc7 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "syncMemberName": "syncmembercrud-4879", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "syncState": "UnProvisioned", + "usePrivateLinkConnection": true, + "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncmembercrud-4879", + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncmembercrud-4879", + "name": "syncmembercrud-4879", + "type": "Microsoft.Sql/servers/databases/syncGroups/syncMembers" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberGetSchema.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberGetSchema.json new file mode 100644 index 000000000000..f2eeb8344436 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberGetSchema.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "syncMemberName": "syncgroupcrud-4879", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "tables": [ + { + "columns": [ + { + "dataSize": "4", + "dataType": "int", + "hasError": false, + "isPrimaryKey": false, + "name": "intField", + "quotedName": "[intField]" + }, + { + "dataSize": "100", + "dataType": "nvarchar", + "hasError": false, + "isPrimaryKey": false, + "name": "charField", + "quotedName": "[charField]" + } + ], + "errorId": "Schema_TableHasNoPrimaryKey", + "hasError": true, + "name": "dbo.myTable", + "quotedName": "[dbo].[myTable]" + } + ], + "lastUpdateTime": "2017-05-30T07:16:08.21Z" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberListBySyncGroup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberListBySyncGroup.json new file mode 100644 index 000000000000..dbd2f5c961cc --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberListBySyncGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "syncState": "UnProvisioned", + "usePrivateLinkConnection": true, + "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncmembercrud-4879", + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncmembercrud-4879", + "name": "syncmembercrud-4879", + "type": "Microsoft.Sql/servers/databases/syncGroups/syncMembers" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberPatch.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberPatch.json new file mode 100644 index 000000000000..7fa0c8a453fb --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberPatch.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "syncMemberName": "syncmembercrud-4879", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "usePrivateLinkConnection": true, + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "syncState": "UnProvisioned", + "usePrivateLinkConnection": true, + "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncmembercrud-4879", + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncmembercrud-4879", + "name": "syncmembercrud-4879", + "type": "Microsoft.Sql/servers/databases/syncGroups/syncMembers" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberRefreshSchema.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberRefreshSchema.json new file mode 100644 index 000000000000..e9b5076b6a3c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberRefreshSchema.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "syncMemberName": "syncgroupcrud-4879", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberUpdate.json new file mode 100644 index 000000000000..47631965b6a6 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/SyncMemberUpdate.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "syncMemberName": "syncmembercrud-4879", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "usePrivateLinkConnection": true, + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "syncState": "UnProvisioned", + "usePrivateLinkConnection": true, + "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncmembercrud-4879", + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncmembercrud-4879", + "name": "syncmembercrud-4879", + "type": "Microsoft.Sql/servers/databases/syncGroups/syncMembers" + } + }, + "201": { + "body": { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "syncState": "UnProvisioned", + "usePrivateLinkConnection": true, + "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncmembercrud-4879", + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncmembercrud-4879", + "name": "syncmembercrud-4879", + "type": "Microsoft.Sql/servers/databases/syncGroups/syncMembers" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/TransparentDataEncryptionGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/TransparentDataEncryptionGet.json new file mode 100644 index 000000000000..a4baf27d67be --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/TransparentDataEncryptionGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "security-tde-resourcegroup", + "serverName": "securitytde", + "databaseName": "testdb", + "tdeName": "current", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/security-tde-resourcegroup/providers/Microsoft.Sql/servers/securitytde/databases/testdb", + "name": "current", + "type": "Microsoft.Sql/servers/databases/transparentDataEncryption", + "properties": { + "state": "Enabled" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/TransparentDataEncryptionList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/TransparentDataEncryptionList.json new file mode 100644 index 000000000000..2367ab8d1888 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/TransparentDataEncryptionList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "security-tde-resourcegroup", + "serverName": "securitytde", + "databaseName": "testdb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/security-tde-resourcegroup/providers/Microsoft.Sql/servers/securitytde/databases/testdb", + "name": "current", + "type": "Microsoft.Sql/servers/databases/transparentDataEncryption", + "properties": { + "state": "Enabled" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/TransparentDataEncryptionUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/TransparentDataEncryptionUpdate.json new file mode 100644 index 000000000000..7cc900875fc5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/TransparentDataEncryptionUpdate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securitytde-42-rg", + "serverName": "securitytde-42", + "databaseName": "testdb", + "tdeName": "current", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "state": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/servers/securitytde-42/databases/testdb/transparentDataEncryption", + "name": "current", + "type": "Microsoft.Sql/servers/databases/transparentDataEncryption", + "properties": { + "state": "Enabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/servers/securitytde-42/databases/testdb/transparentDataEncryption", + "name": "current", + "type": "Microsoft.Sql/servers/databases/transparentDataEncryption", + "properties": { + "state": "Enabled" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/UpdateJobAgent.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/UpdateJobAgent.json new file mode 100644 index 000000000000..dd45ba061d7d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/UpdateJobAgent.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "server1", + "jobAgentName": "agent1", + "api-version": "2021-05-01-preview", + "parameters": { + "tags": { + "mytag1": "myvalue1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1", + "name": "agent1", + "type": "Microsoft.Sql/servers/jobAgents", + "location": "southeastasia", + "properties": { + "databaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/databases/db1" + }, + "tags": { + "mytag1": "myvalue1" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/UpdateManagedInstanceDnsServers.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/UpdateManagedInstanceDnsServers.json new file mode 100644 index 000000000000..f0dbc79b02fa --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/UpdateManagedInstanceDnsServers.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-7398", + "virtualClusterName": "sqlcrudtest-4645", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/test-rg/providers/Microsoft.Sql/virtualClusters/test-virtualcluster/updateManagedInstanceDnsServers", + "properties": { + "status": "Succeeded" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/UpdateManagedShortTermRetentionPolicy.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/UpdateManagedShortTermRetentionPolicy.json new file mode 100644 index 000000000000..5b7d424748f4 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/UpdateManagedShortTermRetentionPolicy.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup", + "managedInstanceName": "testsvr", + "databaseName": "testdb", + "policyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "retentionDays": 14 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb/backupShortTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/managedInstances/databases/backupShortTermRetentionPolicies", + "properties": { + "retentionDays": 14 + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/UpdateManagedShortTermRetentionPolicyRestorableDropped.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/UpdateManagedShortTermRetentionPolicyRestorableDropped.json new file mode 100644 index 000000000000..336ba2fe2898 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/UpdateManagedShortTermRetentionPolicyRestorableDropped.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup", + "managedInstanceName": "testsvr", + "restorableDroppedDatabaseId": "testdb,131403269876900000", + "policyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "retentionDays": 14 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup/providers/Microsoft.Sql/managedInstances/testsvr/restorableDroppedDatabases/testdb,131403269876900000/backupShortTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/managedInstances/restorableDroppedDatabases/backupShortTermRetentionPolicies", + "properties": { + "retentionDays": 14 + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/UpdateShortTermRetentionPolicy.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/UpdateShortTermRetentionPolicy.json new file mode 100644 index 000000000000..92e054ae33fb --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/UpdateShortTermRetentionPolicy.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup", + "serverName": "testsvr", + "databaseName": "testdb", + "policyName": "default", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "retentionDays": 7, + "diffBackupIntervalInHours": 24 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/resourceGroups/resourceGroup/servers/testsvr/databases/testdb/backupShortTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/servers/databases/backupShortTermRetentionPolicies", + "properties": { + "retentionDays": 7, + "diffBackupIntervalInHours": 24 + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/UpgradeDataWarehouse.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/UpgradeDataWarehouse.json new file mode 100644 index 000000000000..d2f141862fe5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/UpgradeDataWarehouse.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdwdb", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualClusterDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualClusterDelete.json new file mode 100644 index 000000000000..33a164f0a910 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualClusterDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "20d7082a-0fc7-4468-82bd-542694d5042b", + "resourceGroupName": "testrg", + "virtualClusterName": "vc-subnet1-f769ed71-b3ad-491a-a9d5-26eeceaa6be2", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualClusterGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualClusterGet.json new file mode 100644 index 000000000000..446fef9c9861 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualClusterGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "20d7082a-0fc7-4468-82bd-542694d5042b", + "resourceGroupName": "testrg", + "virtualClusterName": "vc-subnet1-f769ed71-b3ad-491a-a9d5-26eeceaa6be2", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "family": "Gen4", + "childResources": [ + "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance1", + "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance2" + ], + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/resourceGroups/Federation/providers/Microsoft.Maintenance/maintenanceConfigurations/MiPolicy1" + }, + "location": "onebox", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/virtualClusters/vc-subnet1-f769ed71-b3ad-491a-a9d5-26eeceaa6be2", + "name": "vc-subnet1-f769ed71-b3ad-491a-a9d5-26eeceaa6be2", + "type": "Microsoft.Sql/virtualClusters" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualClusterList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualClusterList.json new file mode 100644 index 000000000000..162cf36bd256 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualClusterList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "20d7082a-0fc7-4468-82bd-542694d5042b", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "family": "Gen4", + "childResources": [ + "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance1", + "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance2" + ], + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/resourceGroups/Federation/providers/Microsoft.Maintenance/maintenanceConfigurations/MiPolicy1" + }, + "location": "onebox", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/virtualClusters/vc-subnet1-f769ed71-b3ad-491a-a9d5-26eeceaa6be2", + "name": "vc-subnet1-f769ed71-b3ad-491a-a9d5-26eeceaa6be2", + "type": "Microsoft.Sql/virtualClusters" + }, + { + "properties": { + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2", + "family": "Gen5", + "childResources": [ + "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance3", + "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance4" + ], + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/resourceGroups/Federation/providers/Microsoft.Maintenance/maintenanceConfigurations/MiPolicy1" + }, + "location": "onebox", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/virtualClusters/vc-subnet2-14b795bd-9c8f-46ec-adb8-2b8eff56ac16", + "name": "vc-subnet1-14b795bd-9c8f-46ec-adb8-2b8eff56ac16", + "type": "Microsoft.Sql/virtualClusters" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualClusterListByResourceGroup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualClusterListByResourceGroup.json new file mode 100644 index 000000000000..b51fe45d6e4b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualClusterListByResourceGroup.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "20d7082a-0fc7-4468-82bd-542694d5042b", + "resourceGroupName": "testrg", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "family": "Gen4", + "childResources": [ + "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance1", + "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance2" + ], + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/resourceGroups/Federation/providers/Microsoft.Maintenance/maintenanceConfigurations/MiPolicy1" + }, + "location": "onebox", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/virtualClusters/vc-subnet1-f769ed71-b3ad-491a-a9d5-26eeceaa6be2", + "name": "vc-subnet1-f769ed71-b3ad-491a-a9d5-26eeceaa6be2", + "type": "Microsoft.Sql/virtualClusters" + }, + { + "properties": { + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2", + "family": "Gen4", + "childResources": [ + "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance3", + "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance4" + ], + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/resourceGroups/Federation/providers/Microsoft.Maintenance/maintenanceConfigurations/MiPolicy1" + }, + "location": "onebox", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/virtualClusters/vc-subnet2-14b795bd-9c8f-46ec-adb8-2b8eff56ac16", + "name": "vc-subnet1-14b795bd-9c8f-46ec-adb8-2b8eff56ac16", + "type": "Microsoft.Sql/virtualClusters" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualClusterUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualClusterUpdate.json new file mode 100644 index 000000000000..ea3410dab572 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualClusterUpdate.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "20d7082a-0fc7-4468-82bd-542694d5042b", + "resourceGroupName": "testrg", + "virtualClusterName": "vc-subnet1-f769ed71-b3ad-491a-a9d5-26eeceaa6be2", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/resourceGroups/Federation/providers/Microsoft.Maintenance/maintenanceConfigurations/MiPolicy1" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "childResources": [ + "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance1", + "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance2" + ], + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/resourceGroups/Federation/providers/Microsoft.Maintenance/maintenanceConfigurations/MiPolicy1" + }, + "location": "onebox", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/virtualClusters/vc-subnet1-f769ed71-b3ad-491a-a9d5-26eeceaa6be2", + "name": "vc-subnet1-f769ed71-b3ad-491a-a9d5-26eeceaa6be2", + "type": "Microsoft.Sql/virtualClusters" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualNetworkRulesCreateOrUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualNetworkRulesCreateOrUpdate.json new file mode 100644 index 000000000000..c849b81b18c8 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualNetworkRulesCreateOrUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "vnet-test-svr", + "virtualNetworkRuleName": "vnet-firewall-rule", + "api-version": "2021-05-01-preview", + "parameters": { + "properties": { + "ignoreMissingVnetServiceEndpoint": false, + "virtualNetworkSubnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule", + "name": "vnet-firewall-rule", + "type": "Microsoft.Sql/servers/virtualNetworkRules", + "properties": { + "ignoreMissingVnetServiceEndpoint": false, + "virtualNetworkSubnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule", + "name": "vnet-firewall-rule", + "type": "Microsoft.Sql/servers/virtualNetworkRules", + "properties": { + "ignoreMissingVnetServiceEndpoint": false, + "virtualNetworkSubnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualNetworkRulesDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualNetworkRulesDelete.json new file mode 100644 index 000000000000..2123da89077b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualNetworkRulesDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "vnet-test-svr", + "virtualNetworkRuleName": "vnet-firewall-rule", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualNetworkRulesGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualNetworkRulesGet.json new file mode 100644 index 000000000000..6a7a52430ff4 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualNetworkRulesGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "vnet-test-svr", + "virtualNetworkRuleName": "vnet-firewall-rule", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule", + "name": "vnet-firewall-rule", + "type": "Microsoft.Sql/servers/virtualNetworkRules", + "properties": { + "ignoreMissingVnetServiceEndpoint": false, + "state": "Ready", + "virtualNetworkSubnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualNetworkRulesList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualNetworkRulesList.json new file mode 100644 index 000000000000..b040618afb9b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/VirtualNetworkRulesList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "serverName": "vnet-test-svr", + "virtualNetworkRuleName": "vnet-firewall-rule", + "api-version": "2021-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule", + "name": "vnet-firewall-rule", + "type": "Microsoft.Sql/servers/virtualNetworkRules", + "properties": { + "ignoreMissingVnetServiceEndpoint": false, + "state": "Ready", + "virtualNetworkSubnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule", + "name": "vnet-firewall-rule", + "type": "Microsoft.Sql/servers/virtualNetworkRules", + "properties": { + "ignoreMissingVnetServiceEndpoint": false, + "state": "Ready", + "virtualNetworkSubnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/readme.go.md b/specification/sql/resource-manager/readme.go.md index 5ebf743b691f..f35d6b4fb133 100644 --- a/specification/sql/resource-manager/readme.go.md +++ b/specification/sql/resource-manager/readme.go.md @@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line. ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/sql/armsql +module-name: sdk/resourcemanager/sql/armsql module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/sql/resource-manager/readme.md b/specification/sql/resource-manager/readme.md index 14993e5af742..8a52357b6f46 100644 --- a/specification/sql/resource-manager/readme.md +++ b/specification/sql/resource-manager/readme.md @@ -39,11 +39,9 @@ This section contains the "composite-v5" set of APIs, which is composed from a s APIs must only be added to this section when the API is publicly available in at least 1 production region and at least 1 generated client has been tested end-to-end. - ``` yaml $(tag) == 'package-composite-v5' input-file: - Microsoft.Sql/stable/2014-04-01-legacy/backups_legacy.json -- Microsoft.Sql/stable/2014-04-01/connectionPolicies.json - Microsoft.Sql/stable/2014-04-01/dataMasking.json - Microsoft.Sql/stable/2014-04-01/geoBackupPolicies.json - Microsoft.Sql/stable/2014-04-01/metrics.json @@ -82,8 +80,6 @@ input-file: - ./Microsoft.Sql/preview/2020-11-01-preview/JobTargetGroups.json - ./Microsoft.Sql/preview/2020-11-01-preview/JobVersions.json - ./Microsoft.Sql/preview/2020-11-01-preview/LocationCapabilities.json -- ./Microsoft.Sql/preview/2020-11-01-preview/LongTermRetentionBackups.json -- ./Microsoft.Sql/preview/2020-11-01-preview/LongTermRetentionManagedInstanceBackups.json - ./Microsoft.Sql/preview/2020-11-01-preview/LongTermRetentionPolicies.json - ./Microsoft.Sql/preview/2020-11-01-preview/MaintenanceWindowOptions.json - ./Microsoft.Sql/preview/2020-11-01-preview/MaintenanceWindows.json @@ -109,7 +105,6 @@ input-file: - ./Microsoft.Sql/preview/2020-11-01-preview/ManagedInstanceOperations.json - ./Microsoft.Sql/preview/2020-11-01-preview/ManagedInstancePrivateEndpointConnections.json - ./Microsoft.Sql/preview/2020-11-01-preview/ManagedInstancePrivateLinkResources.json -- ./Microsoft.Sql/preview/2020-11-01-preview/ManagedInstances.json - ./Microsoft.Sql/preview/2020-11-01-preview/ManagedInstanceTdeCertificates.json - ./Microsoft.Sql/preview/2020-11-01-preview/ManagedInstanceVulnerabilityAssessments.json - ./Microsoft.Sql/preview/2020-11-01-preview/ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.json @@ -145,17 +140,21 @@ input-file: - ./Microsoft.Sql/preview/2020-11-01-preview/WorkloadGroups.json - ./Microsoft.Sql/preview/2021-02-01-preview/TransparentDataEncryptions.json - ./Microsoft.Sql/preview/2021-02-01-preview/BackupShortTermRetentionPolicies.json -- ./Microsoft.Sql/preview/2021-02-01-preview/Databases.json - ./Microsoft.Sql/preview/2021-02-01-preview/DatabaseExtensions.json - ./Microsoft.Sql/preview/2021-02-01-preview/DatabaseOperations.json - ./Microsoft.Sql/preview/2021-02-01-preview/DatabaseUsages.json - ./Microsoft.Sql/preview/2021-02-01-preview/LedgerDigestUploads.json - ./Microsoft.Sql/preview/2021-02-01-preview/OutboundFirewallRules.json - ./Microsoft.Sql/preview/2021-02-01-preview/ReplicationLinks.json -- ./Microsoft.Sql/preview/2021-02-01-preview/RestorableDroppedDatabases.json -- ./Microsoft.Sql/preview/2021-02-01-preview/RestorableDroppedManagedDatabases.json - ./Microsoft.Sql/preview/2021-02-01-preview/Servers.json - ./Microsoft.Sql/preview/2021-02-01-preview/Usages.json +- ./Microsoft.Sql/preview/2021-05-01-preview/Databases.json +- ./Microsoft.Sql/preview/2021-05-01-preview/LongTermRetentionBackups.json +- ./Microsoft.Sql/preview/2021-05-01-preview/LongTermRetentionManagedInstanceBackups.json +- ./Microsoft.Sql/preview/2021-05-01-preview/ManagedInstances.json +- ./Microsoft.Sql/preview/2021-05-01-preview/RestorableDroppedDatabases.json +- ./Microsoft.Sql/preview/2021-05-01-preview/RestorableDroppedManagedDatabases.json +- ./Microsoft.Sql/preview/2021-05-01-preview/ServerConnectionPolicies.json # Needed when there is more than one input file @@ -716,6 +715,125 @@ override-info: The following packages are each composed of all apis from only one api-version. +### Tag: package-preview-2021-05 + +These settings apply only when `--tag=package-preview-2021-05` is specified on the command line. + +```yaml $(tag) == 'package-preview-2021-05' +input-file: + - ./Microsoft.Sql/preview/2021-05-01-preview/BackupShortTermRetentionPolicies.json + - ./Microsoft.Sql/preview/2021-05-01-preview/BlobAuditing.json + - ./Microsoft.Sql/preview/2021-05-01-preview/DatabaseAdvisors.json + - ./Microsoft.Sql/preview/2021-05-01-preview/DatabaseAutomaticTuning.json + - ./Microsoft.Sql/preview/2021-05-01-preview/DatabaseColumns.json + - ./Microsoft.Sql/preview/2021-05-01-preview/DatabaseExtensions.json + - ./Microsoft.Sql/preview/2021-05-01-preview/DatabaseOperations.json + - ./Microsoft.Sql/preview/2021-05-01-preview/DatabaseRecommendedActions.json + - ./Microsoft.Sql/preview/2021-05-01-preview/Databases.json + - ./Microsoft.Sql/preview/2021-05-01-preview/DatabaseSchemas.json + - ./Microsoft.Sql/preview/2021-05-01-preview/DatabaseSecurityAlertPolicies.json + - ./Microsoft.Sql/preview/2021-05-01-preview/DatabaseTables.json + - ./Microsoft.Sql/preview/2021-05-01-preview/DatabaseUsages.json + - ./Microsoft.Sql/preview/2021-05-01-preview/DatabaseVulnerabilityAssessmentRuleBaselines.json + - ./Microsoft.Sql/preview/2021-05-01-preview/DatabaseVulnerabilityAssessments.json + - ./Microsoft.Sql/preview/2021-05-01-preview/DatabaseVulnerabilityAssessmentScans.json + - ./Microsoft.Sql/preview/2021-05-01-preview/DataWarehouseUserActivities.json + - ./Microsoft.Sql/preview/2021-05-01-preview/DeletedServers.json + - ./Microsoft.Sql/preview/2021-05-01-preview/DistributedAvailabilityGroups.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ElasticPoolOperations.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ElasticPools.json + - ./Microsoft.Sql/preview/2021-05-01-preview/EncryptionProtectors.json + - ./Microsoft.Sql/preview/2021-05-01-preview/FailoverGroups.json + - ./Microsoft.Sql/preview/2021-05-01-preview/FirewallRules.json + - ./Microsoft.Sql/preview/2021-05-01-preview/InstanceFailoverGroups.json + - ./Microsoft.Sql/preview/2021-05-01-preview/InstancePools.json + - ./Microsoft.Sql/preview/2021-05-01-preview/JobAgents.json + - ./Microsoft.Sql/preview/2021-05-01-preview/JobCredentials.json + - ./Microsoft.Sql/preview/2021-05-01-preview/JobExecutions.json + - ./Microsoft.Sql/preview/2021-05-01-preview/Jobs.json + - ./Microsoft.Sql/preview/2021-05-01-preview/JobStepExecutions.json + - ./Microsoft.Sql/preview/2021-05-01-preview/JobSteps.json + - ./Microsoft.Sql/preview/2021-05-01-preview/JobTargetExecutions.json + - ./Microsoft.Sql/preview/2021-05-01-preview/JobTargetGroups.json + - ./Microsoft.Sql/preview/2021-05-01-preview/JobVersions.json + - ./Microsoft.Sql/preview/2021-05-01-preview/LedgerDigestUploads.json + - ./Microsoft.Sql/preview/2021-05-01-preview/LocationCapabilities.json + - ./Microsoft.Sql/preview/2021-05-01-preview/LongTermRetentionBackups.json + - ./Microsoft.Sql/preview/2021-05-01-preview/LongTermRetentionManagedInstanceBackups.json + - ./Microsoft.Sql/preview/2021-05-01-preview/LongTermRetentionPolicies.json + - ./Microsoft.Sql/preview/2021-05-01-preview/MaintenanceWindowOptions.json + - ./Microsoft.Sql/preview/2021-05-01-preview/MaintenanceWindows.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedBackupShortTermRetentionPolicies.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseColumns.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseQueries.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseRestoreDetails.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabases.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseSchemas.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseSecurityAlertPolicies.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseSecurityEvents.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseSensitivityLabels.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseTables.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseTransparentDataEncryption.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseVulnerabilityAssessmentRuleBaselines.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseVulnerabilityAssessments.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedDatabaseVulnerabilityAssessmentScans.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceAdministrators.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceAzureADOnlyAuthentications.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceEncryptionProtectors.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceKeys.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceLongTermRetentionPolicies.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceOperations.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedInstancePrivateEndpointConnections.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedInstancePrivateLinkResources.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedInstances.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceTdeCertificates.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedInstanceVulnerabilityAssessments.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ManagedServerSecurityAlertPolicies.json + - ./Microsoft.Sql/preview/2021-05-01-preview/Operations.json + - ./Microsoft.Sql/preview/2021-05-01-preview/OperationsHealth.json + - ./Microsoft.Sql/preview/2021-05-01-preview/OutboundFirewallRules.json + - ./Microsoft.Sql/preview/2021-05-01-preview/PrivateEndpointConnections.json + - ./Microsoft.Sql/preview/2021-05-01-preview/PrivateLinkResources.json + - ./Microsoft.Sql/preview/2021-05-01-preview/RecoverableManagedDatabases.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ReplicationLinks.json + - ./Microsoft.Sql/preview/2021-05-01-preview/RestorableDroppedDatabases.json + - ./Microsoft.Sql/preview/2021-05-01-preview/RestorableDroppedManagedDatabases.json + - ./Microsoft.Sql/preview/2021-05-01-preview/RestorePoints.json + - ./Microsoft.Sql/preview/2021-05-01-preview/SensitivityLabels.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ServerAdvisors.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ServerAutomaticTuning.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ServerAzureADAdministrators.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ServerAzureADOnlyAuthentications.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ServerConnectionPolicies.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ServerDevOpsAudit.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ServerDnsAliases.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ServerKeys.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ServerOperations.json + - ./Microsoft.Sql/preview/2021-05-01-preview/Servers.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ServerSecurityAlertPolicies.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ServerTrustCertificates.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ServerTrustGroups.json + - ./Microsoft.Sql/preview/2021-05-01-preview/ServerVulnerabilityAssessments.json + - ./Microsoft.Sql/preview/2021-05-01-preview/SqlAgent.json + - ./Microsoft.Sql/preview/2021-05-01-preview/SubscriptionUsages.json + - ./Microsoft.Sql/preview/2021-05-01-preview/SyncAgents.json + - ./Microsoft.Sql/preview/2021-05-01-preview/SyncGroups.json + - ./Microsoft.Sql/preview/2021-05-01-preview/SyncMembers.json + - ./Microsoft.Sql/preview/2021-05-01-preview/TdeCertificates.json + - ./Microsoft.Sql/preview/2021-05-01-preview/TimeZones.json + - ./Microsoft.Sql/preview/2021-05-01-preview/TransparentDataEncryptions.json + - ./Microsoft.Sql/preview/2021-05-01-preview/Usages.json + - ./Microsoft.Sql/preview/2021-05-01-preview/VirtualClusters.json + - ./Microsoft.Sql/preview/2021-05-01-preview/VirtualNetworkRules.json + - ./Microsoft.Sql/preview/2021-05-01-preview/WorkloadClassifiers.json + - ./Microsoft.Sql/preview/2021-05-01-preview/WorkloadGroups.json + +# Needed when there is more than one input file +override-info: + title: SqlManagementClient +``` + ### Tag: package-preview-2021-02 These settings apply only when `--tag=package-preview-2021-02` is specified on the command line. @@ -1430,6 +1548,7 @@ swagger-to-sdk: - repo: azure-sdk-for-net-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-node - repo: azure-sdk-for-js - repo: azure-sdk-for-ruby diff --git a/specification/sqlvirtualmachine/resource-manager/readme.go.md b/specification/sqlvirtualmachine/resource-manager/readme.go.md index b1e8e4fae4a4..733e9c333aed 100644 --- a/specification/sqlvirtualmachine/resource-manager/readme.go.md +++ b/specification/sqlvirtualmachine/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: sqlvirtualmachine clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/sqlvirtualmachine/armsqlvirtualmachine +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/sqlvirtualmachine/resource-manager/readme.md b/specification/sqlvirtualmachine/resource-manager/readme.md index 984421b4a525..daa022755363 100644 --- a/specification/sqlvirtualmachine/resource-manager/readme.md +++ b/specification/sqlvirtualmachine/resource-manager/readme.md @@ -55,6 +55,7 @@ swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-java - repo: azure-resource-manager-schemas ``` diff --git a/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-10-02/blob.json b/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-10-02/blob.json index d1ae87367f26..f172d2591f8d 100644 --- a/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-10-02/blob.json +++ b/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-10-02/blob.json @@ -11692,7 +11692,8 @@ "type": "string", "enum": [ "metadata", - "deleted" + "deleted", + "system" ], "x-ms-enum": { "name": "ListContainersIncludeType", diff --git a/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-12-06/blob.json b/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-12-06/blob.json new file mode 100644 index 000000000000..75eea78333d6 --- /dev/null +++ b/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-12-06/blob.json @@ -0,0 +1,12087 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Blob Storage", + "version": "2020-12-06", + "x-ms-code-generation-settings": { + "header": "MIT", + "strictSpecAdherence": false + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{url}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "$ref": "#/parameters/Url" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/xml" + ], + "produces": [ + "application/xml" + ], + "paths": {}, + "x-ms-paths": { + "/?restype=service&comp=properties": { + "put": { + "tags": [ + "service" + ], + "operationId": "Service_SetProperties", + "description": "Sets properties for a storage account's Blob service endpoint, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules", + "parameters": [ + { + "$ref": "#/parameters/StorageServiceProperties" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "Success (Accepted)", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "service" + ], + "operationId": "Service_GetProperties", + "description": "gets the properties of a storage account's Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + } + }, + "schema": { + "$ref": "#/definitions/StorageServiceProperties" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "service" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/?restype=service&comp=stats": { + "get": { + "tags": [ + "service" + ], + "operationId": "Service_GetStatistics", + "description": "Retrieves statistics related to replication for the Blob service. It is only available on the secondary location endpoint when read-access geo-redundant replication is enabled for the storage account.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/StorageServiceStats" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "service" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "stats" + ] + } + ] + }, + "/?comp=list": { + "get": { + "tags": [ + "service" + ], + "operationId": "Service_ListContainersSegment", + "description": "The List Containers Segment operation returns a list of the containers under the specified account", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListContainersInclude" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + } + }, + "schema": { + "$ref": "#/definitions/ListContainersSegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/?restype=service&comp=userdelegationkey": { + "post": { + "tags": [ + "service" + ], + "operationId": "Service_GetUserDelegationKey", + "description": "Retrieves a user delegation key for the Blob service. This is only a valid operation when using bearer token authentication.", + "parameters": [ + { + "$ref": "#/parameters/KeyInfo" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/UserDelegationKey" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "service" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "userdelegationkey" + ] + } + ] + }, + "/?restype=account&comp=properties": { + "get": { + "tags": [ + "service" + ], + "operationId": "Service_GetAccountInfo", + "description": "Returns the sku name and account kind ", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success (OK)", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-sku-name": { + "x-ms-client-name": "SkuName", + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS", + "Standard_ZRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + }, + "description": "Identifies the sku name of the account" + }, + "x-ms-account-kind": { + "x-ms-client-name": "AccountKind", + "type": "string", + "enum": [ + "Storage", + "BlobStorage", + "StorageV2", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "AccountKind", + "modelAsString": false + }, + "description": "Identifies the account kind" + }, + "x-ms-is-hns-enabled": { + "x-ms-client-name": "IsHierarchicalNamespaceEnabled", + "type": "boolean", + "description": "Version 2019-07-07 and newer. Indicates if the account has a hierarchical namespace enabled." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "account" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/?comp=batch": { + "post": { + "tags": [ + "service" + ], + "operationId": "Service_SubmitBatch", + "description": "The Batch operation allows multiple API calls to be embedded into a single HTTP request.", + "parameters": [ + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/MultipartContentType" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For batch requests, this is multipart/mixed; boundary=batchresponse_GUID" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "batch" + ] + } + ] + }, + "/?comp=blobs": { + "get": { + "tags": [ + "service" + ], + "operationId": "Service_FilterBlobs", + "description": "The Filter Blobs operation enables callers to list blobs across all containers whose tags match a given search expression. Filter blobs searches across all containers within a storage account but can be scoped within the expression to a single container.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/FilterBlobsWhere" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/FilterBlobSegment" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "blobs" + ] + } + ] + }, + "/{containerName}?restype=container": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_Create", + "description": "creates a new container under the specified account. If the container with the same name already exists, the operation fails", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/BlobPublicAccess" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/DefaultEncryptionScope" + }, + { + "$ref": "#/parameters/DenyEncryptionScopeOverride" + } + ], + "responses": { + "201": { + "description": "Success, Container created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "container" + ], + "operationId": "Container_GetProperties", + "description": "returns all user-defined metadata and system properties for the specified container. The data returned does not include the container's list of blobs", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "x-ms-meta": { + "type": "string", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the blob.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the blob.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-public-access": { + "x-ms-client-name": "BlobPublicAccess", + "description": "Indicated whether data in the container may be accessed publicly and the level of access", + "type": "string", + "enum": [ + "container", + "blob" + ], + "x-ms-enum": { + "name": "PublicAccessType", + "modelAsString": true + } + }, + "x-ms-has-immutability-policy": { + "x-ms-client-name": "HasImmutabilityPolicy", + "description": "Indicates whether the container has an immutability policy set on it.", + "type": "boolean" + }, + "x-ms-has-legal-hold": { + "x-ms-client-name": "HasLegalHold", + "description": "Indicates whether the container has a legal hold.", + "type": "boolean" + }, + "x-ms-default-encryption-scope": { + "x-ms-client-name": "DefaultEncryptionScope", + "description": "The default encryption scope for the container.", + "type": "string" + }, + "x-ms-deny-encryption-scope-override": { + "x-ms-client-name": "DenyEncryptionScopeOverride", + "description": "Indicates whether the container's default encryption scope can be overriden.", + "type": "boolean" + }, + "x-ms-immutable-storage-with-versioning-enabled": { + "x-ms-client-name": "IsImmutableStorageWithVersioningEnabled", + "description": "Indicates whether version level worm is enabled on a container.", + "type": "boolean" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "container" + ], + "operationId": "Container_Delete", + "description": "operation marks the specified container for deletion. The container and any blobs contained within it are later deleted during garbage collection", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + } + ] + }, + "/{containerName}?restype=container&comp=metadata": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_SetMetadata", + "description": "operation sets one or more user-defined name-value pairs for the specified container.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "metadata" + ] + } + ] + }, + "/{containerName}?restype=container&comp=acl": { + "get": { + "tags": [ + "container" + ], + "operationId": "Container_GetAccessPolicy", + "description": "gets the permissions for the specified container. The permissions indicate whether container data may be accessed publicly.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "x-ms-blob-public-access": { + "x-ms-client-name": "BlobPublicAccess", + "description": "Indicated whether data in the container may be accessed publicly and the level of access", + "type": "string", + "enum": [ + "container", + "blob" + ], + "x-ms-enum": { + "name": "PublicAccessType", + "modelAsString": true + } + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/SignedIdentifiers" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "put": { + "tags": [ + "container" + ], + "operationId": "Container_SetAccessPolicy", + "description": "sets the permissions for the specified container. The permissions indicate whether blobs in a container may be accessed publicly.", + "parameters": [ + { + "$ref": "#/parameters/ContainerAcl" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobPublicAccess" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "acl" + ] + } + ] + }, + "/{containerName}?restype=container&comp=undelete": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_Restore", + "description": "Restores a previously-deleted container.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/DeletedContainerName" + }, + { + "$ref": "#/parameters/DeletedContainerVersion" + } + ], + "responses": { + "201": { + "description": "Created.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "undelete" + ] + } + ] + }, + "/{containerName}?restype=container&comp=rename": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_Rename", + "description": "Renames an existing container.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/SourceContainerName" + }, + { + "$ref": "#/parameters/SourceLeaseId" + } + ], + "responses": { + "200": { + "description": "Created.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "rename" + ] + } + ] + }, + "/{containerName}?restype=container&comp=batch": { + "post": { + "tags": [ + "container" + ], + "operationId": "Container_SubmitBatch", + "description": "The Batch operation allows multiple API calls to be embedded into a single HTTP request.", + "parameters": [ + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/MultipartContentType" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For batch requests, this is multipart/mixed; boundary=batchresponse_GUID" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "batch" + ] + } + ] + }, + "/{containerName}?comp=lease&restype=container&acquire": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_AcquireLease", + "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseDuration" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The Acquire operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a container's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "acquire" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}?comp=lease&restype=container&release": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_ReleaseLease", + "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Release operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "release" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}?comp=lease&restype=container&renew": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_RenewLease", + "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Renew operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a container's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "renew" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}?comp=lease&restype=container&break": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_BreakLease", + "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseBreakPeriod" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "The Break operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-time": { + "x-ms-client-name": "LeaseTime", + "type": "integer", + "description": "Approximate time remaining in the lease period, in seconds." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "break" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}?comp=lease&restype=container&change": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_ChangeLease", + "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ProposedLeaseIdRequired" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Change operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a container's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "change" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}?restype=container&comp=list&flat": { + "get": { + "tags": [ + "containers" + ], + "operationId": "Container_ListBlobFlatSegment", + "description": "[Update] The List Blobs operation returns a list of the blobs under the specified container", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListBlobsInclude" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For List Blobs this is 'application/xml'" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/ListBlobsFlatSegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{containerName}?restype=container&comp=list&hierarchy": { + "get": { + "tags": [ + "containers" + ], + "operationId": "Container_ListBlobHierarchySegment", + "description": "[Update] The List Blobs operation returns a list of the blobs under the specified container", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Delimiter" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListBlobsInclude" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For List Blobs this is 'application/xml'" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/ListBlobsHierarchySegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{containerName}?restype=account&comp=properties": { + "get": { + "tags": [ + "container" + ], + "operationId": "Container_GetAccountInfo", + "description": "Returns the sku name and account kind ", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success (OK)", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-sku-name": { + "x-ms-client-name": "SkuName", + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS", + "Standard_ZRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + }, + "description": "Identifies the sku name of the account" + }, + "x-ms-account-kind": { + "x-ms-client-name": "AccountKind", + "type": "string", + "enum": [ + "Storage", + "BlobStorage", + "StorageV2", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "AccountKind", + "modelAsString": false + }, + "description": "Identifies the account kind" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "account" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{containerName}/{blob}": { + "get": { + "tags": [ + "blob" + ], + "operationId": "Blob_Download", + "description": "The Download operation reads or downloads a blob from the system, including its metadata and properties. You can also call Download to read a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/VersionId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/GetRangeContentMD5" + }, + { + "$ref": "#/parameters/GetRangeContentCRC64" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Returns the content of the entire blob.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-meta": { + "type": "string", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "x-ms-or-policy-id": { + "x-ms-client-name": "ObjectReplicationPolicyId", + "type": "string", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the destination blob of the replication." + }, + "x-ms-or": { + "type": "string", + "x-ms-client-name": "ObjectReplicationRules", + "x-ms-header-collection-prefix": "x-ms-or-", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the source blob of the replication. When retrieving this header, it will return the header with the policy id and rule id (e.g. x-ms-or-policyid_ruleid), and the value will be the status of the replication (e.g. complete, failed)." + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For Download Blob this is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the blob by setting the 'Range' request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Encoding request header" + }, + "Cache-Control": { + "type": "string", + "description": "This header is returned if it was previously specified for the blob." + }, + "Content-Disposition": { + "type": "string", + "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified." + }, + "Content-Language": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Language request header." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-blob-type": { + "x-ms-client-name": "BlobType", + "description": "The blob's type.", + "type": "string", + "enum": [ + "BlockBlob", + "PageBlob", + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the blob.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the blob.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "x-ms-is-current-version": { + "x-ms-client-name": "IsCurrentVersion", + "type": "boolean", + "description": "The value of this header indicates whether version of this blob is a current version, see also x-ms-version-id header." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial blob content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + }, + "x-ms-blob-content-md5": { + "x-ms-client-name": "BlobContentMD5", + "type": "string", + "format": "byte", + "description": "If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range" + }, + "x-ms-tag-count": { + "x-ms-client-name": "TagCount", + "type": "integer", + "format": "int64", + "description": "The number of tags associated with the blob" + }, + "x-ms-blob-sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean", + "description": "If this blob has been sealed" + }, + "x-ms-last-access-time": { + "x-ms-client-name": "LastAccessed", + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the blob was last read or written to" + }, + "x-ms-immutability-policy-until-date": { + "x-ms-client-name": "ImmutabilityPolicyExpiresOn", + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire." + }, + "x-ms-immutability-policy-mode": { + "x-ms-client-name": "ImmutabilityPolicyMode", + "type": "string", + "enum": [ + "Mutable", + "Unlocked", + "Locked" + ], + "x-ms-enum": { + "name": "BlobImmutabilityPolicyMode", + "modelAsString": false + }, + "description": "Indicates immutability policy mode." + }, + "x-ms-legal-hold": { + "x-ms-client-name": "LegalHold", + "type": "boolean", + "description": "Indicates if a legal hold is present on the blob." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "206": { + "description": "Returns the content of a specified range of the blob.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-meta": { + "type": "string", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "x-ms-or-policy-id": { + "x-ms-client-name": "ObjectReplicationPolicyId", + "type": "string", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the destination blob of the replication." + }, + "x-ms-or": { + "type": "string", + "x-ms-client-name": "ObjectReplicationRules", + "x-ms-header-collection-prefix": "x-ms-or-", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the source blob of the replication. When retrieving this header, it will return the header with the policy id and rule id (e.g. x-ms-or-policyid_ruleid), and the value will be the status of the replication (e.g. complete, failed)." + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For Download Blob this is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the blob by setting the 'Range' request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Encoding request header" + }, + "Cache-Control": { + "type": "string", + "description": "This header is returned if it was previously specified for the blob." + }, + "Content-Disposition": { + "type": "string", + "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified." + }, + "Content-Language": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Language request header." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-blob-type": { + "x-ms-client-name": "BlobType", + "description": "The blob's type.", + "type": "string", + "enum": [ + "BlockBlob", + "PageBlob", + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + }, + "x-ms-content-crc64": { + "x-ms-client-name": "ContentCrc64", + "type": "string", + "format": "byte", + "description": "If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to true, then the request returns a crc64 for the range, as long as the range size is less than or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is specified in the same request, it will fail with 400(Bad Request)" + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the blob.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the blob.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "x-ms-is-current-version": { + "x-ms-client-name": "IsCurrentVersion", + "type": "boolean", + "description": "The value of this header indicates whether version of this blob is a current version, see also x-ms-version-id header." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial blob content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + }, + "x-ms-blob-content-md5": { + "x-ms-client-name": "BlobContentMD5", + "type": "string", + "format": "byte", + "description": "If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range" + }, + "x-ms-tag-count": { + "x-ms-client-name": "TagCount", + "type": "integer", + "format": "int64", + "description": "The number of tags associated with the blob" + }, + "x-ms-blob-sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean", + "description": "If this blob has been sealed" + }, + "x-ms-last-access-time": { + "x-ms-client-name": "LastAccessed", + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the blob was last read or written to" + }, + "x-ms-immutability-policy-until-date": { + "x-ms-client-name": "ImmutabilityPolicyExpiresOn", + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire." + }, + "x-ms-immutability-policy-mode": { + "x-ms-client-name": "ImmutabilityPolicyMode", + "type": "string", + "description": "Indicates immutability policy mode." + }, + "x-ms-legal-hold": { + "x-ms-client-name": "LegalHold", + "type": "boolean", + "description": "Indicates if a legal hold is present on the blob." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "tags": [ + "blob" + ], + "operationId": "Blob_GetProperties", + "description": "The Get Properties operation returns all user-defined metadata, standard HTTP properties, and system properties for the blob. It does not return the content of the blob.", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/VersionId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Returns the properties of the blob.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-creation-time": { + "x-ms-client-name": "CreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was created." + }, + "x-ms-meta": { + "type": "string", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "x-ms-or-policy-id": { + "x-ms-client-name": "ObjectReplicationPolicyId", + "type": "string", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the destination blob of the replication." + }, + "x-ms-or": { + "type": "string", + "x-ms-client-name": "ObjectReplicationRules", + "x-ms-header-collection-prefix": "x-ms-or-", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the source blob of the replication. When retrieving this header, it will return the header with the policy id and rule id (e.g. x-ms-or-policyid_ruleid), and the value will be the status of the replication (e.g. complete, failed)." + }, + "x-ms-blob-type": { + "x-ms-client-name": "BlobType", + "description": "The blob's type.", + "type": "string", + "enum": [ + "BlockBlob", + "PageBlob", + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-incremental-copy": { + "x-ms-client-name": "IsIncrementalCopy", + "type": "boolean", + "description": "Included if the blob is incremental copy blob." + }, + "x-ms-copy-destination-snapshot": { + "x-ms-client-name": "DestinationSnapshot", + "type": "string", + "description": "Included if the blob is incremental copy blob or incremental copy snapshot, if x-ms-copy-status is success. Snapshot time of the last successful incremental copy snapshot for this blob." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the blob.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the blob.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The content type specified for the blob. The default content type is 'application/octet-stream'" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Encoding request header" + }, + "Content-Disposition": { + "type": "string", + "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified." + }, + "Content-Language": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Language request header." + }, + "Cache-Control": { + "type": "string", + "description": "This header is returned if it was previously specified for the blob." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial blob content." + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the metadata. This header is only returned when the metadata was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + }, + "x-ms-access-tier": { + "x-ms-client-name": "AccessTier", + "type": "string", + "description": "The tier of page blob on a premium storage account or tier of block blob on blob storage LRS accounts. For a list of allowed premium page blob tiers, see https://docs.microsoft.com/en-us/azure/virtual-machines/windows/premium-storage#features. For blob storage LRS accounts, valid values are Hot/Cool/Archive." + }, + "x-ms-access-tier-inferred": { + "x-ms-client-name": "AccessTierInferred", + "type": "boolean", + "description": "For page blobs on a premium storage account only. If the access tier is not explicitly set on the blob, the tier is inferred based on its content length and this header will be returned with true value." + }, + "x-ms-archive-status": { + "x-ms-client-name": "ArchiveStatus", + "type": "string", + "description": "For blob storage LRS accounts, valid values are rehydrate-pending-to-hot/rehydrate-pending-to-cool. If the blob is being rehydrated and is not complete then this header is returned indicating that rehydrate is pending and also tells the destination tier." + }, + "x-ms-access-tier-change-time": { + "x-ms-client-name": "AccessTierChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the tier was changed on the object. This is only returned if the tier on the block blob was ever set." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "x-ms-is-current-version": { + "x-ms-client-name": "IsCurrentVersion", + "type": "boolean", + "description": "The value of this header indicates whether version of this blob is a current version, see also x-ms-version-id header." + }, + "x-ms-tag-count": { + "x-ms-client-name": "TagCount", + "type": "integer", + "format": "int64", + "description": "The number of tags associated with the blob" + }, + "x-ms-expiry-time": { + "x-ms-client-name": "ExpiresOn", + "type": "string", + "format": "date-time-rfc1123", + "description": "The time this blob will expire." + }, + "x-ms-blob-sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean", + "description": "If this blob has been sealed" + }, + "x-ms-rehydrate-priority": { + "x-ms-client-name": "RehydratePriority", + "description": "If an object is in rehydrate pending state then this header is returned with priority of rehydrate. Valid values are High and Standard.", + "type": "string" + }, + "x-ms-last-access-time": { + "x-ms-client-name": "LastAccessed", + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the blob was last read or written to" + }, + "x-ms-immutability-policy-until-date": { + "x-ms-client-name": "ImmutabilityPolicyExpiresOn", + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire." + }, + "x-ms-immutability-policy-mode": { + "x-ms-client-name": "ImmutabilityPolicyMode", + "type": "string", + "enum": [ + "Mutable", + "Unlocked", + "Locked" + ], + "x-ms-enum": { + "name": "BlobImmutabilityPolicyMode", + "modelAsString": false + }, + "description": "Indicates immutability policy mode." + }, + "x-ms-legal-hold": { + "x-ms-client-name": "LegalHold", + "type": "boolean", + "description": "Indicates if a legal hold is present on the blob." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "blob" + ], + "operationId": "Blob_Delete", + "description": "If the storage account's soft delete feature is disabled then, when a blob is deleted, it is permanently removed from the storage account. If the storage account's soft delete feature is enabled, then, when a blob is deleted, it is marked for deletion and becomes inaccessible immediately. However, the blob service retains the blob or snapshot for the number of days specified by the DeleteRetentionPolicy section of [Storage service properties] (Set-Blob-Service-Properties.md). After the specified number of days has passed, the blob's data is permanently removed from the storage account. Note that you continue to be charged for the soft-deleted blob's storage until it is permanently removed. Use the List Blobs API and specify the \"include=deleted\" query parameter to discover which blobs and snapshots have been soft deleted. You can then use the Undelete Blob API to restore a soft-deleted blob. All other operations on a soft-deleted blob or snapshot causes the service to return an HTTP status code of 404 (ResourceNotFound).", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/VersionId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/DeleteSnapshots" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobDeleteType" + } + ], + "responses": { + "202": { + "description": "The delete request was accepted and the blob will be deleted.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + } + ] + }, + "/{containerName}/{blob}?PageBlob": { + "put": { + "tags": [ + "blob" + ], + "operationId": "PageBlob_Create", + "description": "The Create operation creates a new page blob.", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/PremiumPageBlobAccessTierOptional" + }, + { + "$ref": "#/parameters/BlobContentType" + }, + { + "$ref": "#/parameters/BlobContentEncoding" + }, + { + "$ref": "#/parameters/BlobContentLanguage" + }, + { + "$ref": "#/parameters/BlobContentMD5" + }, + { + "$ref": "#/parameters/BlobCacheControl" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobContentDisposition" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/BlobContentLengthRequired" + }, + { + "$ref": "#/parameters/BlobSequenceNumber" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + }, + { + "$ref": "#/parameters/LegalHoldOptional" + } + ], + "responses": { + "201": { + "description": "The blob was created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "x-ms-blob-type", + "x-ms-client-name": "blobType", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Specifies the type of blob to create: block blob, page blob, or append blob.", + "type": "string", + "enum": [ + "PageBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?AppendBlob": { + "put": { + "tags": [ + "blob" + ], + "operationId": "AppendBlob_Create", + "description": "The Create Append Blob operation creates a new append blob.", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/BlobContentType" + }, + { + "$ref": "#/parameters/BlobContentEncoding" + }, + { + "$ref": "#/parameters/BlobContentLanguage" + }, + { + "$ref": "#/parameters/BlobContentMD5" + }, + { + "$ref": "#/parameters/BlobCacheControl" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobContentDisposition" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + }, + { + "$ref": "#/parameters/LegalHoldOptional" + } + ], + "responses": { + "201": { + "description": "The blob was created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "x-ms-blob-type", + "x-ms-client-name": "blobType", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Specifies the type of blob to create: block blob, page blob, or append blob.", + "type": "string", + "enum": [ + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?BlockBlob": { + "put": { + "tags": [ + "blob" + ], + "operationId": "BlockBlob_Upload", + "description": "The Upload Block Blob operation updates the content of an existing block blob. Updating an existing block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a partial update of the content of a block blob, use the Put Block List operation.", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/BlobContentType" + }, + { + "$ref": "#/parameters/BlobContentEncoding" + }, + { + "$ref": "#/parameters/BlobContentLanguage" + }, + { + "$ref": "#/parameters/BlobContentMD5" + }, + { + "$ref": "#/parameters/BlobCacheControl" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobContentDisposition" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + }, + { + "$ref": "#/parameters/LegalHoldOptional" + } + ], + "responses": { + "201": { + "description": "The blob was updated.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "x-ms-blob-type", + "x-ms-client-name": "blobType", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Specifies the type of blob to create: block blob, page blob, or append blob.", + "type": "string", + "enum": [ + "BlockBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?BlockBlob&fromUrl": { + "put": { + "tags": [ + "blob" + ], + "operationId": "BlockBlob_PutBlobFromUrl", + "description": "The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read from a given URL. This API is supported beginning with the 2020-04-08 version. Partial updates are not supported with Put Blob from URL; the content of an existing blob is overwritten with the content of the new blob. To perform partial updates to a block blob’s contents using a source URL, use the Put Block from URL API in conjunction with Put Block List.", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/BlobContentType" + }, + { + "$ref": "#/parameters/BlobContentEncoding" + }, + { + "$ref": "#/parameters/BlobContentLanguage" + }, + { + "$ref": "#/parameters/BlobContentMD5" + }, + { + "$ref": "#/parameters/BlobCacheControl" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobContentDisposition" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/SourceIfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/SourceContentMD5" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/CopySourceBlobProperties" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + } + ], + "responses": { + "201": { + "description": "The blob was updated.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "x-ms-blob-type", + "x-ms-client-name": "blobType", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Specifies the type of blob to create: block blob, page blob, or append blob.", + "type": "string", + "enum": [ + "BlockBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?comp=undelete": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_Undelete", + "description": "Undelete a blob that was previously soft deleted", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The blob was undeleted successfully.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "undelete" + ] + } + ] + }, + "/{containerName}/{blob}?comp=expiry": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_SetExpiry", + "description": "Sets the time a blob will expire and be deleted.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobExpiryOptions" + }, + { + "$ref": "#/parameters/BlobExpiryTime" + } + ], + "responses": { + "200": { + "description": "The blob expiry was set successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "expiry" + ] + } + ] + }, + "/{containerName}/{blob}?comp=properties&SetHTTPHeaders": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_SetHTTPHeaders", + "description": "The Set HTTP Headers operation sets system properties on the blob", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/BlobCacheControl" + }, + { + "$ref": "#/parameters/BlobContentType" + }, + { + "$ref": "#/parameters/BlobContentMD5" + }, + { + "$ref": "#/parameters/BlobContentEncoding" + }, + { + "$ref": "#/parameters/BlobContentLanguage" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/BlobContentDisposition" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The properties were set successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{containerName}/{blob}?comp=immutabilityPolicies": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_SetImmutabilityPolicy", + "description": "The Set Immutability Policy operation sets the immutability policy on the blob", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + } + ], + "responses": { + "200": { + "description": "The immutability policy was successfully set.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-immutability-policy-until-date": { + "x-ms-client-name": "ImmutabilityPolicyExpiry", + "type": "string", + "format": "date-time-rfc1123", + "description": "Indicates the time the immutability policy will expire." + }, + "x-ms-immutability-policy-mode": { + "x-ms-client-name": "ImmutabilityPolicyMode", + "type": "string", + "enum": [ + "Mutable", + "Unlocked", + "Locked" + ], + "x-ms-enum": { + "name": "BlobImmutabilityPolicyMode", + "modelAsString": false + }, + "description": "Indicates immutability policy mode." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "blob" + ], + "operationId": "Blob_DeleteImmutabilityPolicy", + "description": "The Delete Immutability Policy operation deletes the immutability policy on the blob", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The delete immutability policy request was accepted and the immutability policy will be deleted.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "immutabilityPolicies" + ] + } + ] + }, + "/{containerName}/{blob}?comp=legalhold": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_SetLegalHold", + "description": "The Set Legal Hold operation sets a legal hold on the blob.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/LegalHoldRequired" + } + ], + "responses": { + "200": { + "description": "The legal hold was successfully set on the blob.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-legal-hold": { + "x-ms-client-name": "LegalHold", + "type": "boolean", + "description": "Indicates if the blob has a legal hold." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "legalhold" + ] + } + ] + }, + "/{containerName}/{blob}?comp=metadata": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_SetMetadata", + "description": "The Set Blob Metadata operation sets user-defined metadata for the specified blob as one or more name-value pairs", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The metadata was set successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the metadata. This header is only returned when the metadata was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "metadata" + ] + } + ] + }, + "/{containerName}/{blob}?comp=lease&acquire": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_AcquireLease", + "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseDuration" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The Acquire operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a blobs' lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "acquire" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}/{blob}?comp=lease&release": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_ReleaseLease", + "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Release operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "release" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}/{blob}?comp=lease&renew": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_RenewLease", + "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Renew operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a blobs' lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "renew" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}/{blob}?comp=lease&change": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_ChangeLease", + "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ProposedLeaseIdRequired" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Change operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a blobs' lease" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "change" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}/{blob}?comp=lease&break": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_BreakLease", + "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseBreakPeriod" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "The Break operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-time": { + "x-ms-client-name": "LeaseTime", + "type": "integer", + "description": "Approximate time remaining in the lease period, in seconds." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "break" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}/{blob}?comp=snapshot": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_CreateSnapshot", + "description": "The Create Snapshot operation creates a read-only snapshot of a blob", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The snaptshot was taken successfully.", + "headers": { + "x-ms-snapshot": { + "x-ms-client-name": "Snapshot", + "type": "string", + "description": "Uniquely identifies the snapshot and indicates the snapshot version. It may be used in subsequent requests to access the snapshot" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "True if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise. For a snapshot request, this header is set to true when metadata was provided in the request and encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "snapshot" + ] + } + ] + }, + "/{containerName}/{blob}?comp=copy": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_StartCopyFromURL", + "description": "The Start Copy From URL operation copies a blob or an internet resource to a new blob.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/RehydratePriority" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/SourceIfTags" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/SealBlob" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + }, + { + "$ref": "#/parameters/LegalHoldOptional" + } + ], + "responses": { + "202": { + "description": "The copy blob has been accepted with the specified copy status.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + } + ] + }, + "/{containerName}/{blob}?comp=copy&sync": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_CopyFromURL", + "description": "The Copy From URL operation copies a blob or an internet resource to a new blob. It will not return a response until the copy is complete.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/SourceContentMD5" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + }, + { + "$ref": "#/parameters/LegalHoldOptional" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + }, + { + "$ref": "#/parameters/EncryptionScope" + } + ], + "responses": { + "202": { + "description": "The copy has completed.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "success" + ], + "x-ms-enum": { + "name": "SyncCopyStatusType", + "modelAsString": false + } + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "This response header is returned so that the client can check for the integrity of the copied content. This header is only returned if the source content MD5 was specified." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This response header is returned so that the client can check for the integrity of the copied content." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "x-ms-requires-sync", + "description": "This header indicates that this is a synchronous Copy Blob From URL instead of a Asynchronous Copy Blob.", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "true" + ] + } + ] + }, + "/{containerName}/{blob}?comp=copy©id": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_AbortCopyFromURL", + "description": "The Abort Copy From URL operation aborts a pending Copy From URL operation, and leaves a destination blob with zero length and full metadata.", + "parameters": [ + { + "$ref": "#/parameters/CopyId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "204": { + "description": "The delete request was accepted and the blob will be deleted.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "copy" + ] + }, + { + "name": "x-ms-copy-action", + "description": "Copy action.", + "x-ms-client-name": "copyActionAbortConstant", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "abort" + ], + "x-ms-parameter-location": "method" + } + ] + }, + "/{containerName}/{blob}?comp=tier": { + "put": { + "tags": [ + "blobs" + ], + "operationId": "Blob_SetTier", + "description": "The Set Tier operation sets the tier on a blob. The operation is allowed on a page blob in a premium storage account and on a block blob in a blob storage account (locally redundant storage only). A premium page blob's tier determines the allowed size, IOPS, and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive storage type. This operation does not update the blob's ETag.", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/VersionId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/AccessTierRequired" + }, + { + "$ref": "#/parameters/RehydratePriority" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfTags" + } + ], + "responses": { + "200": { + "description": "The new tier will take effect immediately.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and newer." + } + } + }, + "202": { + "description": "The transition to the new tier is pending.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and newer." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "tier" + ] + } + ] + }, + "/{containerName}/{blob}?restype=account&comp=properties": { + "get": { + "tags": [ + "blob" + ], + "operationId": "Blob_GetAccountInfo", + "description": "Returns the sku name and account kind ", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success (OK)", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-sku-name": { + "x-ms-client-name": "SkuName", + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS", + "Standard_ZRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + }, + "description": "Identifies the sku name of the account" + }, + "x-ms-account-kind": { + "x-ms-client-name": "AccountKind", + "type": "string", + "enum": [ + "Storage", + "BlobStorage", + "StorageV2", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "AccountKind", + "modelAsString": false + }, + "description": "Identifies the account kind" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "account" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{containerName}/{blob}?comp=block": { + "put": { + "tags": [ + "blockblob" + ], + "operationId": "BlockBlob_StageBlock", + "description": "The Stage Block operation creates a new block to be committed as part of a blob", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/BlockId" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The block was created.", + "headers": { + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the block. This header is only returned when the block was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "block" + ] + } + ] + }, + "/{containerName}/{blob}?comp=block&fromURL": { + "put": { + "tags": [ + "blockblob" + ], + "operationId": "BlockBlob_StageBlockFromURL", + "description": "The Stage Block operation creates a new block to be committed as part of a blob where the contents are read from a URL.", + "parameters": [ + { + "$ref": "#/parameters/BlockId" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/SourceUrl" + }, + { + "$ref": "#/parameters/SourceRange" + }, + { + "$ref": "#/parameters/SourceContentMD5" + }, + { + "$ref": "#/parameters/SourceContentCRC64" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + } + ], + "responses": { + "201": { + "description": "The block was created.", + "headers": { + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the block. This header is only returned when the block was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "block" + ] + } + ] + }, + "/{containerName}/{blob}?comp=blocklist": { + "put": { + "tags": [ + "blockblob" + ], + "operationId": "BlockBlob_CommitBlockList", + "description": "The Commit Block List operation writes a blob by specifying the list of block IDs that make up the blob. In order to be written as part of a blob, a block must have been successfully written to the server in a prior Put Block operation. You can call Put Block List to update a blob by uploading only those blocks that have changed, then committing the new and existing blocks together. You can do this by specifying whether to commit a block from the committed block list or from the uncommitted block list, or to commit the most recently uploaded version of the block, whichever list it may belong to.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/BlobCacheControl" + }, + { + "$ref": "#/parameters/BlobContentType" + }, + { + "$ref": "#/parameters/BlobContentEncoding" + }, + { + "$ref": "#/parameters/BlobContentLanguage" + }, + { + "$ref": "#/parameters/BlobContentMD5" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobContentDisposition" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "name": "blocks", + "description": "Blob Blocks.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlockLookupList" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + }, + { + "$ref": "#/parameters/LegalHoldOptional" + } + ], + "responses": { + "201": { + "description": "The block list was recorded.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. This header refers to the content of the request, meaning, in this case, the list of blocks, and not the content of the blob itself." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. This header refers to the content of the request, meaning, in this case, the list of blocks, and not the content of the blob itself." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "blockblob" + ], + "operationId": "BlockBlob_GetBlockList", + "description": "The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block blob", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/BlockListType" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The page range was written.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For Get Block List this is 'application/xml'" + }, + "x-ms-blob-content-length": { + "x-ms-client-name": "BlobContentLength", + "type": "integer", + "format": "int64", + "description": "The size of the blob in bytes." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/BlockList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "blocklist" + ] + } + ] + }, + "/{containerName}/{blob}?comp=page&update": { + "put": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_UploadPages", + "description": "The Upload Pages operation writes a range of pages to a page blob", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfSequenceNumberLessThanOrEqualTo" + }, + { + "$ref": "#/parameters/IfSequenceNumberLessThan" + }, + { + "$ref": "#/parameters/IfSequenceNumberEqualTo" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The page range was written.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for the page blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the pages. This header is only returned when the pages were encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "page" + ] + }, + { + "name": "x-ms-page-write", + "x-ms-client-name": "pageWrite", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Required. You may specify one of the following options:\n - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update.\n - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and the Range header to a value that indicates the range to clear, up to maximum blob size.", + "type": "string", + "enum": [ + "update" + ], + "x-ms-enum": { + "name": "PageWriteType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?comp=page&clear": { + "put": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_ClearPages", + "description": "The Clear Pages operation clears a set of pages from a page blob", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfSequenceNumberLessThanOrEqualTo" + }, + { + "$ref": "#/parameters/IfSequenceNumberLessThan" + }, + { + "$ref": "#/parameters/IfSequenceNumberEqualTo" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The page range was cleared.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for the page blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "page" + ] + }, + { + "name": "x-ms-page-write", + "x-ms-client-name": "pageWrite", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Required. You may specify one of the following options:\n - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update.\n - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and the Range header to a value that indicates the range to clear, up to maximum blob size.", + "type": "string", + "enum": [ + "clear" + ], + "x-ms-enum": { + "name": "PageWriteType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?comp=page&update&fromUrl": { + "put": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_UploadPagesFromURL", + "description": "The Upload Pages operation writes a range of pages to a page blob where the contents are read from a URL", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/SourceUrl" + }, + { + "$ref": "#/parameters/SourceRangeRequiredPutPageFromUrl" + }, + { + "$ref": "#/parameters/SourceContentMD5" + }, + { + "$ref": "#/parameters/SourceContentCRC64" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/RangeRequiredPutPageFromUrl" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfSequenceNumberLessThanOrEqualTo" + }, + { + "$ref": "#/parameters/IfSequenceNumberLessThan" + }, + { + "$ref": "#/parameters/IfSequenceNumberEqualTo" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + } + ], + "responses": { + "201": { + "description": "The page range was written.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for the page blob." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "page" + ] + }, + { + "name": "x-ms-page-write", + "x-ms-client-name": "pageWrite", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Required. You may specify one of the following options:\n - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update.\n - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and the Range header to a value that indicates the range to clear, up to maximum blob size.", + "type": "string", + "enum": [ + "update" + ], + "x-ms-enum": { + "name": "PageWriteType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?comp=pagelist": { + "get": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_GetPageRanges", + "description": "The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a page blob", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Information on the page blob was found.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "x-ms-blob-content-length": { + "x-ms-client-name": "BlobContentLength", + "type": "integer", + "format": "int64", + "description": "The size of the blob in bytes." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/PageList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "pagelist" + ] + } + ] + }, + "/{containerName}/{blob}?comp=pagelist&diff": { + "get": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_GetPageRangesDiff", + "description": "The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were changed between target blob and previous snapshot.", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/PrevSnapshot" + }, + { + "$ref": "#/parameters/PrevSnapshotUrl" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Information on the page blob was found.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "x-ms-blob-content-length": { + "x-ms-client-name": "BlobContentLength", + "type": "integer", + "format": "int64", + "description": "The size of the blob in bytes." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/PageList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "pagelist" + ] + } + ] + }, + "/{containerName}/{blob}?comp=properties&Resize": { + "put": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_Resize", + "description": "Resize the Blob", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/BlobContentLengthRequired" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Blob was resized successfully", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{containerName}/{blob}?comp=properties&UpdateSequenceNumber": { + "put": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_UpdateSequenceNumber", + "description": "Update the sequence number of the blob", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/SequenceNumberAction" + }, + { + "$ref": "#/parameters/BlobSequenceNumber" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The sequence numbers were updated successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{containerName}/{blob}?comp=incrementalcopy": { + "put": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_CopyIncremental", + "description": "The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob. The snapshot is copied such that only the differential changes between the previously copied snapshot are transferred to the destination. The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual. This API is supported since REST version 2016-05-31.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "The blob was copied.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "incrementalcopy" + ] + } + ] + }, + "/{containerName}/{blob}?comp=appendblock": { + "put": { + "tags": [ + "appendblob" + ], + "consumes": [ + "application/octet-stream" + ], + "operationId": "AppendBlob_AppendBlock", + "description": "The Append Block operation commits a new block of data to the end of an existing append blob. The Append Block operation is permitted only if the blob was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version 2015-02-21 version or later.", + "parameters": [ + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobConditionMaxSize" + }, + { + "$ref": "#/parameters/BlobConditionAppendPos" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The block was created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-append-offset": { + "x-ms-client-name": "BlobAppendOffset", + "type": "string", + "description": "This response header is returned only for append operations. It returns the offset at which the block was committed, in bytes." + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the block. This header is only returned when the block was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "appendblock" + ] + } + ] + }, + "/{containerName}/{blob}?comp=appendblock&fromUrl": { + "put": { + "tags": [ + "appendblob" + ], + "operationId": "AppendBlob_AppendBlockFromUrl", + "description": "The Append Block operation commits a new block of data to the end of an existing append blob where the contents are read from a source url. The Append Block operation is permitted only if the blob was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version 2015-02-21 version or later.", + "parameters": [ + { + "$ref": "#/parameters/SourceUrl" + }, + { + "$ref": "#/parameters/SourceRange" + }, + { + "$ref": "#/parameters/SourceContentMD5" + }, + { + "$ref": "#/parameters/SourceContentCRC64" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobConditionMaxSize" + }, + { + "$ref": "#/parameters/BlobConditionAppendPos" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + } + ], + "responses": { + "201": { + "description": "The block was created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-append-offset": { + "x-ms-client-name": "BlobAppendOffset", + "type": "string", + "description": "This response header is returned only for append operations. It returns the offset at which the block was committed, in bytes." + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the block. This header is only returned when the block was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "appendblock" + ] + } + ] + }, + "/{containerName}/{blob}?comp=seal": { + "put": { + "tags": [ + "appendblob" + ], + "operationId": "AppendBlob_Seal", + "description": "The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version 2019-12-12 version or later.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/BlobConditionAppendPos" + } + ], + "responses": { + "200": { + "description": "The blob was sealed.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean", + "description": "If this blob has been sealed" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "seal" + ] + } + ] + }, + "/{containerName}/{blob}?comp=query": { + "post": { + "tags": [ + "blob" + ], + "operationId": "Blob_Query", + "description": "The Query operation enables users to select/project on blob data by providing simple query expressions.", + "parameters": [ + { + "$ref": "#/parameters/QueryRequest" + }, + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Returns the content of the entire blob.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-meta": { + "type": "string", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For Download Blob this is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the blob by setting the 'Range' request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Encoding request header" + }, + "Cache-Control": { + "type": "string", + "description": "This header is returned if it was previously specified for the blob." + }, + "Content-Disposition": { + "type": "string", + "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified." + }, + "Content-Language": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Language request header." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-blob-type": { + "x-ms-client-name": "BlobType", + "description": "The blob's type.", + "type": "string", + "enum": [ + "BlockBlob", + "PageBlob", + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the blob.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the blob.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial blob content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + }, + "x-ms-blob-content-md5": { + "x-ms-client-name": "BlobContentMD5", + "type": "string", + "format": "byte", + "description": "If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range" + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "206": { + "description": "Returns the content of a specified range of the blob.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-meta": { + "type": "string", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For Download Blob this is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the blob by setting the 'Range' request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Encoding request header" + }, + "Cache-Control": { + "type": "string", + "description": "This header is returned if it was previously specified for the blob." + }, + "Content-Disposition": { + "type": "string", + "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified." + }, + "Content-Language": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Language request header." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-blob-type": { + "x-ms-client-name": "BlobType", + "description": "The blob's type.", + "type": "string", + "enum": [ + "BlockBlob", + "PageBlob", + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + }, + "x-ms-content-crc64": { + "x-ms-client-name": "ContentCrc64", + "type": "string", + "format": "byte", + "description": "If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to true, then the request returns a crc64 for the range, as long as the range size is less than or equal to 4 MB. If both x-ms-range-get-content-crc64 and x-ms-range-get-content-md5 is specified in the same request, it will fail with 400(Bad Request)" + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the blob.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the blob.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial blob content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + }, + "x-ms-blob-content-md5": { + "x-ms-client-name": "BlobContentMD5", + "type": "string", + "format": "byte", + "description": "If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range" + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "query" + ] + } + ] + }, + "/{containerName}/{blob}?comp=tags": { + "get": { + "tags": [ + "blob" + ], + "operationId": "Blob_GetTags", + "description": "The Get Tags operation enables users to get the tags associated with a blob.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/VersionId" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Retrieved blob tags", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/BlobTags" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_SetTags", + "description": "The Set Tags operation enables users to set tags on a blob.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/VersionId" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobTagsBody" + } + ], + "responses": { + "204": { + "description": "The tags were applied to the blob", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "tags" + ] + } + ] + } + }, + "definitions": { + "KeyInfo": { + "type": "object", + "required": [ + "Start", + "Expiry" + ], + "description": "Key information", + "properties": { + "Start": { + "description": "The date-time the key is active in ISO 8601 UTC time", + "type": "string" + }, + "Expiry": { + "description": "The date-time the key expires in ISO 8601 UTC time", + "type": "string" + } + } + }, + "UserDelegationKey": { + "type": "object", + "required": [ + "SignedOid", + "SignedTid", + "SignedStart", + "SignedExpiry", + "SignedService", + "SignedVersion", + "Value" + ], + "description": "A user delegation key", + "properties": { + "SignedOid": { + "description": "The Azure Active Directory object ID in GUID format.", + "type": "string" + }, + "SignedTid": { + "description": "The Azure Active Directory tenant ID in GUID format", + "type": "string" + }, + "SignedStart": { + "description": "The date-time the key is active", + "type": "string", + "format": "date-time" + }, + "SignedExpiry": { + "description": "The date-time the key expires", + "type": "string", + "format": "date-time" + }, + "SignedService": { + "description": "Abbreviation of the Azure Storage service that accepts the key", + "type": "string" + }, + "SignedVersion": { + "description": "The service version that created the key", + "type": "string" + }, + "Value": { + "description": "The key as a base64 string", + "type": "string" + } + } + }, + "PublicAccessType": { + "type": "string", + "enum": [ + "container", + "blob" + ], + "x-ms-enum": { + "name": "PublicAccessType", + "modelAsString": true + } + }, + "CopyStatus": { + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "LeaseDuration": { + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "LeaseState": { + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "LeaseStatus": { + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "StorageError": { + "type": "object", + "properties": { + "Message": { + "type": "string" + } + } + }, + "AccessPolicy": { + "type": "object", + "description": "An Access policy", + "properties": { + "Start": { + "description": "the date-time the policy is active", + "type": "string", + "format": "date-time" + }, + "Expiry": { + "description": "the date-time the policy expires", + "type": "string", + "format": "date-time" + }, + "Permission": { + "description": "the permissions for the acl policy", + "type": "string" + } + } + }, + "AccessTier": { + "type": "string", + "enum": [ + "P4", + "P6", + "P10", + "P15", + "P20", + "P30", + "P40", + "P50", + "P60", + "P70", + "P80", + "Hot", + "Cool", + "Archive" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": true + } + }, + "ArchiveStatus": { + "type": "string", + "enum": [ + "rehydrate-pending-to-hot", + "rehydrate-pending-to-cool" + ], + "x-ms-enum": { + "name": "ArchiveStatus", + "modelAsString": true + } + }, + "BlobItemInternal": { + "xml": { + "name": "Blob" + }, + "description": "An Azure Storage blob", + "type": "object", + "required": [ + "Name", + "Deleted", + "Snapshot", + "Properties" + ], + "properties": { + "Name": { + "type": "string" + }, + "Deleted": { + "type": "boolean" + }, + "Snapshot": { + "type": "string" + }, + "VersionId": { + "type": "string" + }, + "IsCurrentVersion": { + "type": "boolean" + }, + "Properties": { + "$ref": "#/definitions/BlobPropertiesInternal" + }, + "Metadata": { + "$ref": "#/definitions/BlobMetadata" + }, + "BlobTags": { + "$ref": "#/definitions/BlobTags" + }, + "ObjectReplicationMetadata": { + "$ref": "#/definitions/ObjectReplicationMetadata" + }, + "HasVersionsOnly": { + "type": "boolean" + } + } + }, + "BlobPropertiesInternal": { + "xml": { + "name": "Properties" + }, + "description": "Properties of a blob", + "type": "object", + "required": [ + "Etag", + "Last-Modified" + ], + "properties": { + "Creation-Time": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "Size in bytes" + }, + "Content-Type": { + "type": "string" + }, + "Content-Encoding": { + "type": "string" + }, + "Content-Language": { + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte" + }, + "Content-Disposition": { + "type": "string" + }, + "Cache-Control": { + "type": "string" + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "blobSequenceNumber", + "type": "integer", + "format": "int64" + }, + "BlobType": { + "type": "string", + "enum": [ + "BlockBlob", + "PageBlob", + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + }, + "LeaseStatus": { + "$ref": "#/definitions/LeaseStatus" + }, + "LeaseState": { + "$ref": "#/definitions/LeaseState" + }, + "LeaseDuration": { + "$ref": "#/definitions/LeaseDuration" + }, + "CopyId": { + "type": "string" + }, + "CopyStatus": { + "$ref": "#/definitions/CopyStatus" + }, + "CopySource": { + "type": "string" + }, + "CopyProgress": { + "type": "string" + }, + "CopyCompletionTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "CopyStatusDescription": { + "type": "string" + }, + "ServerEncrypted": { + "type": "boolean" + }, + "IncrementalCopy": { + "type": "boolean" + }, + "DestinationSnapshot": { + "type": "string" + }, + "DeletedTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "RemainingRetentionDays": { + "type": "integer" + }, + "AccessTier": { + "$ref": "#/definitions/AccessTier" + }, + "AccessTierInferred": { + "type": "boolean" + }, + "ArchiveStatus": { + "$ref": "#/definitions/ArchiveStatus" + }, + "CustomerProvidedKeySha256": { + "type": "string" + }, + "EncryptionScope": { + "type": "string", + "description": "The name of the encryption scope under which the blob is encrypted." + }, + "AccessTierChangeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "TagCount": { + "type": "integer" + }, + "Expiry-Time": { + "x-ms-client-name": "ExpiresOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "Sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean" + }, + "RehydratePriority": { + "$ref": "#/definitions/RehydratePriority" + }, + "LastAccessTime": { + "x-ms-client-name": "LastAccessedOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "ImmutabilityPolicyUntilDate": { + "x-ms-client-name": "ImmutabilityPolicyExpiresOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "ImmutabilityPolicyMode": { + "type": "string", + "enum": [ + "Mutable", + "Unlocked", + "Locked" + ], + "x-ms-enum": { + "name": "BlobImmutabilityPolicyMode", + "modelAsString": false + } + }, + "LegalHold": { + "type": "boolean" + } + } + }, + "ListBlobsFlatSegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of blobs", + "type": "object", + "required": [ + "ServiceEndpoint", + "ContainerName", + "Segment" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ContainerName": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "Segment": { + "$ref": "#/definitions/BlobFlatListSegment" + }, + "NextMarker": { + "type": "string" + } + } + }, + "ListBlobsHierarchySegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of blobs", + "type": "object", + "required": [ + "ServiceEndpoint", + "ContainerName", + "Segment" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ContainerName": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "Delimiter": { + "type": "string" + }, + "Segment": { + "$ref": "#/definitions/BlobHierarchyListSegment" + }, + "NextMarker": { + "type": "string" + } + } + }, + "BlobFlatListSegment": { + "xml": { + "name": "Blobs" + }, + "required": [ + "BlobItems" + ], + "type": "object", + "properties": { + "BlobItems": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobItemInternal" + } + } + } + }, + "BlobHierarchyListSegment": { + "xml": { + "name": "Blobs" + }, + "type": "object", + "required": [ + "BlobItems" + ], + "properties": { + "BlobPrefixes": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobPrefix" + } + }, + "BlobItems": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobItemInternal" + } + } + } + }, + "BlobPrefix": { + "type": "object", + "required": [ + "Name" + ], + "properties": { + "Name": { + "type": "string" + } + } + }, + "BlobTag": { + "xml": { + "name": "Tag" + }, + "type": "object", + "required": [ + "Key", + "Value" + ], + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + } + }, + "BlobTags": { + "type": "object", + "xml": { + "name": "Tags" + }, + "description": "Blob tags", + "required": [ + "BlobTagSet" + ], + "properties": { + "BlobTagSet": { + "xml": { + "wrapped": true, + "name": "TagSet" + }, + "type": "array", + "items": { + "$ref": "#/definitions/BlobTag" + } + } + } + }, + "Block": { + "type": "object", + "required": [ + "Name", + "Size" + ], + "description": "Represents a single block in a block blob. It describes the block's ID and size.", + "properties": { + "Name": { + "description": "The base64 encoded block ID.", + "type": "string" + }, + "Size": { + "description": "The block size in bytes.", + "type": "integer", + "format": "int64" + } + } + }, + "BlockList": { + "type": "object", + "properties": { + "CommittedBlocks": { + "xml": { + "wrapped": true + }, + "type": "array", + "items": { + "$ref": "#/definitions/Block" + } + }, + "UncommittedBlocks": { + "xml": { + "wrapped": true + }, + "type": "array", + "items": { + "$ref": "#/definitions/Block" + } + } + } + }, + "BlockLookupList": { + "type": "object", + "properties": { + "Committed": { + "type": "array", + "items": { + "type": "string", + "xml": { + "name": "Committed" + } + } + }, + "Uncommitted": { + "type": "array", + "items": { + "type": "string", + "xml": { + "name": "Uncommitted" + } + } + }, + "Latest": { + "type": "array", + "items": { + "type": "string", + "xml": { + "name": "Latest" + } + } + } + }, + "xml": { + "name": "BlockList" + } + }, + "ContainerItem": { + "xml": { + "name": "Container" + }, + "type": "object", + "required": [ + "Name", + "Properties" + ], + "description": "An Azure Storage container", + "properties": { + "Name": { + "type": "string" + }, + "Deleted": { + "type": "boolean" + }, + "Version": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/ContainerProperties" + }, + "Metadata": { + "$ref": "#/definitions/ContainerMetadata" + } + } + }, + "ContainerProperties": { + "type": "object", + "required": [ + "Last-Modified", + "Etag" + ], + "description": "Properties of a container", + "properties": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + }, + "LeaseStatus": { + "$ref": "#/definitions/LeaseStatus" + }, + "LeaseState": { + "$ref": "#/definitions/LeaseState" + }, + "LeaseDuration": { + "$ref": "#/definitions/LeaseDuration" + }, + "PublicAccess": { + "$ref": "#/definitions/PublicAccessType" + }, + "HasImmutabilityPolicy": { + "type": "boolean" + }, + "HasLegalHold": { + "type": "boolean" + }, + "DefaultEncryptionScope": { + "type": "string" + }, + "DenyEncryptionScopeOverride": { + "type": "boolean", + "x-ms-client-name": "PreventEncryptionScopeOverride" + }, + "DeletedTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "RemainingRetentionDays": { + "type": "integer" + }, + "ImmutableStorageWithVersioningEnabled": { + "x-ms-client-name": "IsImmutableStorageWithVersioningEnabled", + "type": "boolean", + "description": "Indicates if version level worm is enabled on this container." + } + } + }, + "DelimitedTextConfiguration": { + "xml": { + "name": "DelimitedTextConfiguration" + }, + "description": "Groups the settings used for interpreting the blob data if the blob is delimited text formatted.", + "type": "object", + "properties": { + "ColumnSeparator": { + "type": "string", + "description": "The string used to separate columns.", + "xml": { + "name": "ColumnSeparator" + } + }, + "FieldQuote": { + "type": "string", + "description": "The string used to quote a specific field.", + "xml": { + "name": "FieldQuote" + } + }, + "RecordSeparator": { + "type": "string", + "description": "The string used to separate records.", + "xml": { + "name": "RecordSeparator" + } + }, + "EscapeChar": { + "type": "string", + "description": "The string used as an escape character.", + "xml": { + "name": "EscapeChar" + } + }, + "HeadersPresent": { + "type": "boolean", + "description": "Represents whether the data has headers.", + "xml": { + "name": "HasHeaders" + } + } + } + }, + "JsonTextConfiguration": { + "xml": { + "name": "JsonTextConfiguration" + }, + "description": "json text configuration", + "type": "object", + "properties": { + "RecordSeparator": { + "type": "string", + "description": "The string used to separate records.", + "xml": { + "name": "RecordSeparator" + } + } + } + }, + "ArrowConfiguration": { + "xml": { + "name": "ArrowConfiguration" + }, + "description": "Groups the settings used for formatting the response if the response should be Arrow formatted.", + "type": "object", + "required": [ + "Schema" + ], + "properties": { + "Schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ArrowField" + }, + "xml": { + "wrapped": true, + "name": "Schema" + } + } + } + }, + "ParquetConfiguration": { + "xml": { + "name": "ParquetTextConfiguration" + }, + "description": "parquet configuration", + "type": "object" + }, + "ArrowField": { + "xml": { + "name": "Field" + }, + "description": "Groups settings regarding specific field of an arrow schema", + "type": "object", + "required": [ + "Type" + ], + "properties": { + "Type": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Precision": { + "type": "integer" + }, + "Scale": { + "type": "integer" + } + } + }, + "ListContainersSegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of containers", + "type": "object", + "required": [ + "ServiceEndpoint", + "ContainerItems" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "ContainerItems": { + "xml": { + "wrapped": true, + "name": "Containers" + }, + "type": "array", + "items": { + "$ref": "#/definitions/ContainerItem" + } + }, + "NextMarker": { + "type": "string" + } + } + }, + "CorsRule": { + "description": "CORS is an HTTP feature that enables a web application running under one domain to access resources in another domain. Web browsers implement a security restriction known as same-origin policy that prevents a web page from calling APIs in a different domain; CORS provides a secure way to allow one domain (the origin domain) to call APIs in another domain", + "type": "object", + "required": [ + "AllowedOrigins", + "AllowedMethods", + "AllowedHeaders", + "ExposedHeaders", + "MaxAgeInSeconds" + ], + "properties": { + "AllowedOrigins": { + "description": "The origin domains that are permitted to make a request against the storage service via CORS. The origin domain is the domain from which the request originates. Note that the origin must be an exact case-sensitive match with the origin that the user age sends to the service. You can also use the wildcard character '*' to allow all origin domains to make requests via CORS.", + "type": "string" + }, + "AllowedMethods": { + "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request. (comma separated)", + "type": "string" + }, + "AllowedHeaders": { + "description": "the request headers that the origin domain may specify on the CORS request.", + "type": "string" + }, + "ExposedHeaders": { + "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer", + "type": "string" + }, + "MaxAgeInSeconds": { + "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.", + "type": "integer", + "minimum": 0 + } + } + }, + "ErrorCode": { + "description": "Error codes returned by the service", + "type": "string", + "enum": [ + "AccountAlreadyExists", + "AccountBeingCreated", + "AccountIsDisabled", + "AuthenticationFailed", + "AuthorizationFailure", + "ConditionHeadersNotSupported", + "ConditionNotMet", + "EmptyMetadataKey", + "InsufficientAccountPermissions", + "InternalError", + "InvalidAuthenticationInfo", + "InvalidHeaderValue", + "InvalidHttpVerb", + "InvalidInput", + "InvalidMd5", + "InvalidMetadata", + "InvalidQueryParameterValue", + "InvalidRange", + "InvalidResourceName", + "InvalidUri", + "InvalidXmlDocument", + "InvalidXmlNodeValue", + "Md5Mismatch", + "MetadataTooLarge", + "MissingContentLengthHeader", + "MissingRequiredQueryParameter", + "MissingRequiredHeader", + "MissingRequiredXmlNode", + "MultipleConditionHeadersNotSupported", + "OperationTimedOut", + "OutOfRangeInput", + "OutOfRangeQueryParameterValue", + "RequestBodyTooLarge", + "ResourceTypeMismatch", + "RequestUrlFailedToParse", + "ResourceAlreadyExists", + "ResourceNotFound", + "ServerBusy", + "UnsupportedHeader", + "UnsupportedXmlNode", + "UnsupportedQueryParameter", + "UnsupportedHttpVerb", + "AppendPositionConditionNotMet", + "BlobAlreadyExists", + "BlobImmutableDueToPolicy", + "BlobNotFound", + "BlobOverwritten", + "BlobTierInadequateForContentLength", + "BlobUsesCustomerSpecifiedEncryption", + "BlockCountExceedsLimit", + "BlockListTooLong", + "CannotChangeToLowerTier", + "CannotVerifyCopySource", + "ContainerAlreadyExists", + "ContainerBeingDeleted", + "ContainerDisabled", + "ContainerNotFound", + "ContentLengthLargerThanTierLimit", + "CopyAcrossAccountsNotSupported", + "CopyIdMismatch", + "FeatureVersionMismatch", + "IncrementalCopyBlobMismatch", + "IncrementalCopyOfEralierVersionSnapshotNotAllowed", + "IncrementalCopySourceMustBeSnapshot", + "InfiniteLeaseDurationRequired", + "InvalidBlobOrBlock", + "InvalidBlobTier", + "InvalidBlobType", + "InvalidBlockId", + "InvalidBlockList", + "InvalidOperation", + "InvalidPageRange", + "InvalidSourceBlobType", + "InvalidSourceBlobUrl", + "InvalidVersionForPageBlobOperation", + "LeaseAlreadyPresent", + "LeaseAlreadyBroken", + "LeaseIdMismatchWithBlobOperation", + "LeaseIdMismatchWithContainerOperation", + "LeaseIdMismatchWithLeaseOperation", + "LeaseIdMissing", + "LeaseIsBreakingAndCannotBeAcquired", + "LeaseIsBreakingAndCannotBeChanged", + "LeaseIsBrokenAndCannotBeRenewed", + "LeaseLost", + "LeaseNotPresentWithBlobOperation", + "LeaseNotPresentWithContainerOperation", + "LeaseNotPresentWithLeaseOperation", + "MaxBlobSizeConditionNotMet", + "NoAuthenticationInformation", + "NoPendingCopyOperation", + "OperationNotAllowedOnIncrementalCopyBlob", + "PendingCopyOperation", + "PreviousSnapshotCannotBeNewer", + "PreviousSnapshotNotFound", + "PreviousSnapshotOperationNotSupported", + "SequenceNumberConditionNotMet", + "SequenceNumberIncrementTooLarge", + "SnapshotCountExceeded", + "SnapshotOperationRateExceeded", + "SnapshotsPresent", + "SourceConditionNotMet", + "SystemInUse", + "TargetConditionNotMet", + "UnauthorizedBlobOverwrite", + "BlobBeingRehydrated", + "BlobArchived", + "BlobNotArchived", + "AuthorizationSourceIPMismatch", + "AuthorizationProtocolMismatch", + "AuthorizationPermissionMismatch", + "AuthorizationServiceMismatch", + "AuthorizationResourceTypeMismatch" + ], + "x-ms-enum": { + "name": "StorageErrorCode", + "modelAsString": true + } + }, + "FilterBlobItem": { + "xml": { + "name": "Blob" + }, + "description": "Blob info from a Filter Blobs API call", + "type": "object", + "required": [ + "Name", + "ContainerName" + ], + "properties": { + "Name": { + "type": "string" + }, + "ContainerName": { + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/BlobTags" + } + } + }, + "FilterBlobSegment": { + "description": "The result of a Filter Blobs API call", + "xml": { + "name": "EnumerationResults" + }, + "type": "object", + "required": [ + "ServiceEndpoint", + "Where", + "Blobs" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Where": { + "type": "string" + }, + "Blobs": { + "xml": { + "name": "Blobs", + "wrapped": true + }, + "type": "array", + "items": { + "$ref": "#/definitions/FilterBlobItem" + } + }, + "NextMarker": { + "type": "string" + } + } + }, + "GeoReplication": { + "description": "Geo-Replication information for the Secondary Storage Service", + "type": "object", + "required": [ + "Status", + "LastSyncTime" + ], + "properties": { + "Status": { + "description": "The status of the secondary location", + "type": "string", + "enum": [ + "live", + "bootstrap", + "unavailable" + ], + "x-ms-enum": { + "name": "GeoReplicationStatusType", + "modelAsString": true + } + }, + "LastSyncTime": { + "description": "A GMT date/time value, to the second. All primary writes preceding this value are guaranteed to be available for read operations at the secondary. Primary writes after this point in time may or may not be available for reads.", + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "Logging": { + "description": "Azure Analytics Logging settings.", + "type": "object", + "required": [ + "Version", + "Delete", + "Read", + "Write", + "RetentionPolicy" + ], + "properties": { + "Version": { + "description": "The version of Storage Analytics to configure.", + "type": "string" + }, + "Delete": { + "description": "Indicates whether all delete requests should be logged.", + "type": "boolean" + }, + "Read": { + "description": "Indicates whether all read requests should be logged.", + "type": "boolean" + }, + "Write": { + "description": "Indicates whether all write requests should be logged.", + "type": "boolean" + }, + "RetentionPolicy": { + "$ref": "#/definitions/RetentionPolicy" + } + } + }, + "ContainerMetadata": { + "type": "object", + "xml": { + "name": "Metadata" + }, + "additionalProperties": { + "type": "string" + } + }, + "BlobMetadata": { + "type": "object", + "xml": { + "name": "Metadata" + }, + "properties": { + "Encrypted": { + "type": "string", + "xml": { + "attribute": true + } + } + }, + "additionalProperties": { + "type": "string" + } + }, + "ObjectReplicationMetadata": { + "type": "object", + "xml": { + "name": "OrMetadata" + }, + "additionalProperties": { + "type": "string" + } + }, + "Metrics": { + "description": "a summary of request statistics grouped by API in hour or minute aggregates for blobs", + "required": [ + "Enabled" + ], + "properties": { + "Version": { + "description": "The version of Storage Analytics to configure.", + "type": "string" + }, + "Enabled": { + "description": "Indicates whether metrics are enabled for the Blob service.", + "type": "boolean" + }, + "IncludeAPIs": { + "description": "Indicates whether metrics should generate summary statistics for called API operations.", + "type": "boolean" + }, + "RetentionPolicy": { + "$ref": "#/definitions/RetentionPolicy" + } + } + }, + "PageList": { + "description": "the list of pages", + "type": "object", + "properties": { + "PageRange": { + "type": "array", + "items": { + "$ref": "#/definitions/PageRange" + } + }, + "ClearRange": { + "type": "array", + "items": { + "$ref": "#/definitions/ClearRange" + } + } + } + }, + "PageRange": { + "type": "object", + "required": [ + "Start", + "End" + ], + "properties": { + "Start": { + "type": "integer", + "format": "int64", + "xml": { + "name": "Start" + } + }, + "End": { + "type": "integer", + "format": "int64", + "xml": { + "name": "End" + } + } + }, + "xml": { + "name": "PageRange" + } + }, + "ClearRange": { + "type": "object", + "required": [ + "Start", + "End" + ], + "properties": { + "Start": { + "type": "integer", + "format": "int64", + "xml": { + "name": "Start" + } + }, + "End": { + "type": "integer", + "format": "int64", + "xml": { + "name": "End" + } + } + }, + "xml": { + "name": "ClearRange" + } + }, + "QueryRequest": { + "description": "Groups the set of query request settings.", + "type": "object", + "required": [ + "QueryType", + "Expression" + ], + "properties": { + "QueryType": { + "type": "string", + "description": "Required. The type of the provided query expression.", + "xml": { + "name": "QueryType" + }, + "enum": [ + "SQL" + ] + }, + "Expression": { + "type": "string", + "description": "The query expression in SQL. The maximum size of the query expression is 256KiB.", + "xml": { + "name": "Expression" + } + }, + "InputSerialization": { + "$ref": "#/definitions/QuerySerialization", + "xml": { + "name": "InputSerialization" + } + }, + "OutputSerialization": { + "$ref": "#/definitions/QuerySerialization", + "xml": { + "name": "OutputSerialization" + } + } + }, + "xml": { + "name": "QueryRequest" + } + }, + "QueryFormat": { + "type": "object", + "required": [ + "Type" + ], + "properties": { + "Type": { + "$ref": "#/definitions/QueryType" + }, + "DelimitedTextConfiguration": { + "$ref": "#/definitions/DelimitedTextConfiguration" + }, + "JsonTextConfiguration": { + "$ref": "#/definitions/JsonTextConfiguration" + }, + "ArrowConfiguration": { + "$ref": "#/definitions/ArrowConfiguration" + }, + "ParquetTextConfiguration": { + "$ref": "#/definitions/ParquetConfiguration" + } + } + }, + "QuerySerialization": { + "type": "object", + "required": [ + "Format" + ], + "properties": { + "Format": { + "$ref": "#/definitions/QueryFormat", + "xml": { + "name": "Format" + } + } + } + }, + "QueryType": { + "type": "string", + "description": "The quick query format type.", + "enum": [ + "delimited", + "json", + "arrow", + "parquet" + ], + "x-ms-enum": { + "name": "QueryFormatType", + "modelAsString": false + }, + "xml": { + "name": "Type" + } + }, + "RehydratePriority": { + "description": "If an object is in rehydrate pending state then this header is returned with priority of rehydrate. Valid values are High and Standard.", + "type": "string", + "enum": [ + "High", + "Standard" + ], + "x-ms-enum": { + "name": "RehydratePriority", + "modelAsString": true + }, + "xml": { + "name": "RehydratePriority" + } + }, + "RetentionPolicy": { + "description": "the retention policy which determines how long the associated data should persist", + "type": "object", + "required": [ + "Enabled" + ], + "properties": { + "Enabled": { + "description": "Indicates whether a retention policy is enabled for the storage service", + "type": "boolean" + }, + "Days": { + "description": "Indicates the number of days that metrics or logging or soft-deleted data should be retained. All data older than this value will be deleted", + "type": "integer", + "minimum": 1 + }, + "AllowPermanentDelete": { + "description": "Indicates whether permanent delete is allowed on this storage account.", + "type": "boolean" + } + } + }, + "SignedIdentifier": { + "xml": { + "name": "SignedIdentifier" + }, + "description": "signed identifier", + "type": "object", + "required": [ + "Id", + "AccessPolicy" + ], + "properties": { + "Id": { + "type": "string", + "description": "a unique id" + }, + "AccessPolicy": { + "$ref": "#/definitions/AccessPolicy" + } + } + }, + "SignedIdentifiers": { + "description": "a collection of signed identifiers", + "type": "array", + "items": { + "$ref": "#/definitions/SignedIdentifier" + }, + "xml": { + "wrapped": true, + "name": "SignedIdentifiers" + } + }, + "StaticWebsite": { + "description": "The properties that enable an account to host a static website", + "type": "object", + "required": [ + "Enabled" + ], + "properties": { + "Enabled": { + "description": "Indicates whether this account is hosting a static website", + "type": "boolean" + }, + "IndexDocument": { + "description": "The default name of the index page under each directory", + "type": "string" + }, + "ErrorDocument404Path": { + "description": "The absolute path of the custom 404 page", + "type": "string" + }, + "DefaultIndexDocumentPath": { + "description": "Absolute path of the default index page", + "type": "string" + } + } + }, + "StorageServiceProperties": { + "description": "Storage Service Properties.", + "type": "object", + "properties": { + "Logging": { + "$ref": "#/definitions/Logging" + }, + "HourMetrics": { + "$ref": "#/definitions/Metrics" + }, + "MinuteMetrics": { + "$ref": "#/definitions/Metrics" + }, + "Cors": { + "description": "The set of CORS rules.", + "type": "array", + "items": { + "$ref": "#/definitions/CorsRule" + }, + "xml": { + "wrapped": true + } + }, + "DefaultServiceVersion": { + "description": "The default version to use for requests to the Blob service if an incoming request's version is not specified. Possible values include version 2008-10-27 and all more recent versions", + "type": "string" + }, + "DeleteRetentionPolicy": { + "$ref": "#/definitions/RetentionPolicy" + }, + "StaticWebsite": { + "$ref": "#/definitions/StaticWebsite" + } + } + }, + "StorageServiceStats": { + "description": "Stats for the storage service.", + "type": "object", + "properties": { + "GeoReplication": { + "$ref": "#/definitions/GeoReplication" + } + } + } + }, + "parameters": { + "Url": { + "name": "url", + "description": "The URL of the service account, container, or blob that is the target of the desired operation.", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "ApiVersionParameter": { + "name": "x-ms-version", + "x-ms-parameter-location": "client", + "x-ms-client-name": "version", + "in": "header", + "required": true, + "type": "string", + "description": "Specifies the version of the operation to use for this request.", + "enum": [ + "2020-12-06" + ] + }, + "Blob": { + "name": "blob", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+(?:/[a-zA-Z0-9]+)*(?:\\.[a-zA-Z0-9]+){0,1}$", + "minLength": 1, + "maxLength": 1024, + "x-ms-parameter-location": "method", + "description": "The blob name." + }, + "BlobCacheControl": { + "name": "x-ms-blob-cache-control", + "x-ms-client-name": "blobCacheControl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "blob-HTTP-headers" + }, + "description": "Optional. Sets the blob's cache control. If specified, this property is stored with the blob and returned with a read request." + }, + "BlobConditionAppendPos": { + "name": "x-ms-blob-condition-appendpos", + "x-ms-client-name": "appendPosition", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "append-position-access-conditions" + }, + "description": "Optional conditional header, used only for the Append Block operation. A number indicating the byte offset to compare. Append Block will succeed only if the append position is equal to this number. If it is not, the request will fail with the AppendPositionConditionNotMet error (HTTP status code 412 - Precondition Failed)." + }, + "BlobConditionMaxSize": { + "name": "x-ms-blob-condition-maxsize", + "x-ms-client-name": "maxSize", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "append-position-access-conditions" + }, + "description": "Optional conditional header. The max length in bytes permitted for the append blob. If the Append Block operation would cause the blob to exceed that limit or if the blob size is already greater than the value specified in this header, the request will fail with MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition Failed)." + }, + "BlobPublicAccess": { + "name": "x-ms-blob-public-access", + "x-ms-client-name": "access", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "description": "Specifies whether data in the container may be accessed publicly and the level of access", + "type": "string", + "enum": [ + "container", + "blob" + ], + "x-ms-enum": { + "name": "PublicAccessType", + "modelAsString": true + } + }, + "BlobTagsBody": { + "name": "Tags", + "in": "body", + "schema": { + "$ref": "#/definitions/BlobTags" + }, + "x-ms-parameter-location": "method", + "description": "Blob tags" + }, + "BlobTagsHeader": { + "name": "x-ms-tags", + "x-ms-client-name": "BlobTagsString", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional. Used to set blob tags in various blob operations." + }, + "AccessTierRequired": { + "name": "x-ms-access-tier", + "x-ms-client-name": "tier", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "P4", + "P6", + "P10", + "P15", + "P20", + "P30", + "P40", + "P50", + "P60", + "P70", + "P80", + "Hot", + "Cool", + "Archive" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Indicates the tier to be set on the blob." + }, + "AccessTierOptional": { + "name": "x-ms-access-tier", + "x-ms-client-name": "tier", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "P4", + "P6", + "P10", + "P15", + "P20", + "P30", + "P40", + "P50", + "P60", + "P70", + "P80", + "Hot", + "Cool", + "Archive" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Optional. Indicates the tier to be set on the blob." + }, + "PremiumPageBlobAccessTierOptional": { + "name": "x-ms-access-tier", + "x-ms-client-name": "tier", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "P4", + "P6", + "P10", + "P15", + "P20", + "P30", + "P40", + "P50", + "P60", + "P70", + "P80" + ], + "x-ms-enum": { + "name": "PremiumPageBlobAccessTier", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Optional. Indicates the tier to be set on the page blob." + }, + "RehydratePriority": { + "name": "x-ms-rehydrate-priority", + "x-ms-client-name": "rehydratePriority", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "High", + "Standard" + ], + "x-ms-enum": { + "name": "RehydratePriority", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Optional: Indicates the priority with which to rehydrate an archived blob." + }, + "BlobContentDisposition": { + "name": "x-ms-blob-content-disposition", + "x-ms-client-name": "blobContentDisposition", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "blob-HTTP-headers" + }, + "description": "Optional. Sets the blob's Content-Disposition header." + }, + "BlobContentEncoding": { + "name": "x-ms-blob-content-encoding", + "x-ms-client-name": "blobContentEncoding", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "blob-HTTP-headers" + }, + "description": "Optional. Sets the blob's content encoding. If specified, this property is stored with the blob and returned with a read request." + }, + "BlobContentLanguage": { + "name": "x-ms-blob-content-language", + "x-ms-client-name": "blobContentLanguage", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "blob-HTTP-headers" + }, + "description": "Optional. Set the blob's content language. If specified, this property is stored with the blob and returned with a read request." + }, + "BlobContentLengthOptional": { + "name": "x-ms-blob-content-length", + "x-ms-client-name": "blobContentLength", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "description": "This header specifies the maximum size for the page blob, up to 1 TB. The page blob size must be aligned to a 512-byte boundary." + }, + "BlobContentLengthRequired": { + "name": "x-ms-blob-content-length", + "x-ms-client-name": "blobContentLength", + "in": "header", + "required": true, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "description": "This header specifies the maximum size for the page blob, up to 1 TB. The page blob size must be aligned to a 512-byte boundary." + }, + "BlobContentMD5": { + "name": "x-ms-blob-content-md5", + "x-ms-client-name": "blobContentMD5", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "blob-HTTP-headers" + }, + "description": "Optional. An MD5 hash of the blob content. Note that this hash is not validated, as the hashes for the individual blocks were validated when each was uploaded." + }, + "BlobContentType": { + "name": "x-ms-blob-content-type", + "x-ms-client-name": "blobContentType", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "blob-HTTP-headers" + }, + "description": "Optional. Sets the blob's content type. If specified, this property is stored with the blob and returned with a read request." + }, + "BlobDeleteType": { + "name": "deletetype", + "x-ms-client-name": "blobDeleteType", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "Permanent" + ], + "x-ms-enum": { + "name": "BlobDeleteType", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Optional. Only possible value is 'permanent', which specifies to permanently delete a blob if blob soft delete is enabled." + }, + "BlobExpiryOptions": { + "name": "x-ms-expiry-option", + "x-ms-client-name": "ExpiryOptions", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "NeverExpire", + "RelativeToCreation", + "RelativeToNow", + "Absolute" + ], + "x-ms-enum": { + "name": "BlobExpiryOptions", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Required. Indicates mode of the expiry time" + }, + "BlobExpiryTime": { + "name": "x-ms-expiry-time", + "x-ms-client-name": "ExpiresOn", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The time to set the blob to expiry" + }, + "BlobSequenceNumber": { + "name": "x-ms-blob-sequence-number", + "x-ms-client-name": "blobSequenceNumber", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "default": 0, + "x-ms-parameter-location": "method", + "description": "Set for page blobs only. The sequence number is a user-controlled value that you can use to track requests. The value of the sequence number must be between 0 and 2^63 - 1." + }, + "BlockId": { + "name": "blockid", + "x-ms-client-name": "blockId", + "in": "query", + "type": "string", + "required": true, + "x-ms-parameter-location": "method", + "description": "A valid Base64 string value that identifies the block. Prior to encoding, the string must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified for the blockid parameter must be the same size for each block." + }, + "BlockListType": { + "name": "blocklisttype", + "x-ms-client-name": "listType", + "in": "query", + "required": true, + "default": "committed", + "x-ms-parameter-location": "method", + "description": "Specifies whether to return the list of committed blocks, the list of uncommitted blocks, or both lists together.", + "type": "string", + "enum": [ + "committed", + "uncommitted", + "all" + ], + "x-ms-enum": { + "name": "BlockListType", + "modelAsString": false + } + }, + "Body": { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "format": "file" + }, + "x-ms-parameter-location": "method", + "description": "Initial data" + }, + "ContainerAcl": { + "name": "containerAcl", + "in": "body", + "schema": { + "$ref": "#/definitions/SignedIdentifiers" + }, + "x-ms-parameter-location": "method", + "description": "the acls for the container" + }, + "CopyId": { + "name": "copyid", + "x-ms-client-name": "copyId", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The copy identifier provided in the x-ms-copy-id header of the original Copy Blob operation." + }, + "ClientRequestId": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "requestId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled." + }, + "ContainerName": { + "name": "containerName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The container name." + }, + "ContentCrc64": { + "name": "x-ms-content-crc64", + "x-ms-client-name": "transactionalContentCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the transactional crc64 for the body, to be validated by the service." + }, + "ContentLength": { + "name": "Content-Length", + "in": "header", + "required": true, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "description": "The length of the request." + }, + "ContentMD5": { + "name": "Content-MD5", + "x-ms-client-name": "transactionalContentMD5", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "CopySource": { + "name": "x-ms-copy-source", + "x-ms-client-name": "copySource", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the name of the source page blob snapshot. This value is a URL of up to 2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would appear in a request URI. The source blob must either be public or must be authenticated via a shared access signature." + }, + "CopySourceAuthorization": { + "name": "x-ms-copy-source-authorization", + "x-ms-client-name": "copySourceAuthorization", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Only Bearer type is supported. Credentials should be a valid OAuth access token to copy source." + }, + "CopySourceBlobProperties": { + "name": "x-ms-copy-source-blob-properties", + "x-ms-client-name": "copySourceBlobProperties", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Optional, default is true. Indicates if properties from the source blob should be copied." + }, + "DeleteSnapshots": { + "name": "x-ms-delete-snapshots", + "x-ms-client-name": "deleteSnapshots", + "description": "Required if the blob has associated snapshots. Specify one of the following two options: include: Delete the base blob and all of its snapshots. only: Delete only the blob's snapshots and not the blob itself", + "x-ms-parameter-location": "method", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "include", + "only" + ], + "x-ms-enum": { + "name": "DeleteSnapshotsOptionType", + "modelAsString": false + } + }, + "Delimiter": { + "name": "delimiter", + "description": "When the request includes this parameter, the operation returns a BlobPrefix element in the response body that acts as a placeholder for all blobs whose names begin with the same substring up to the appearance of the delimiter character. The delimiter may be a single character or a string.", + "type": "string", + "x-ms-parameter-location": "method", + "in": "query", + "required": true + }, + "EncryptionKey": { + "name": "x-ms-encryption-key", + "x-ms-client-name": "encryptionKey", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "Optional. Specifies the encryption key to use to encrypt the data provided in the request. If not specified, encryption is performed with the root account encryption key. For more information, see Encryption at Rest for Azure Storage Services." + }, + "EncryptionKeySha256": { + "name": "x-ms-encryption-key-sha256", + "x-ms-client-name": "encryptionKeySha256", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The SHA-256 hash of the provided encryption key. Must be provided if the x-ms-encryption-key header is provided." + }, + "EncryptionAlgorithm": { + "name": "x-ms-encryption-algorithm", + "x-ms-client-name": "encryptionAlgorithm", + "type": "string", + "in": "header", + "required": false, + "enum": [ + "AES256" + ], + "x-ms-enum": { + "name": "EncryptionAlgorithmType", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The algorithm used to produce the encryption key hash. Currently, the only accepted value is \"AES256\". Must be provided if the x-ms-encryption-key header is provided." + }, + "EncryptionScope": { + "name": "x-ms-encryption-scope", + "x-ms-client-name": "encryptionScope", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-scope-info" + }, + "description": "Optional. Version 2019-07-07 and later. Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope. For more information, see Encryption at Rest for Azure Storage Services." + }, + "DefaultEncryptionScope": { + "name": "x-ms-default-encryption-scope", + "x-ms-client-name": "DefaultEncryptionScope", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "container-cpk-scope-info" + }, + "description": "Optional. Version 2019-07-07 and later. Specifies the default encryption scope to set on the container and use for all future writes." + }, + "DeletedContainerName": { + "name": "x-ms-deleted-container-name", + "x-ms-client-name": "DeletedContainerName", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "description": "Optional. Version 2019-12-12 and later. Specifies the name of the deleted container to restore." + }, + "DeletedContainerVersion": { + "name": "x-ms-deleted-container-version", + "x-ms-client-name": "DeletedContainerVersion", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "description": "Optional. Version 2019-12-12 and later. Specifies the version of the deleted container to restore." + }, + "DenyEncryptionScopeOverride": { + "name": "x-ms-deny-encryption-scope-override", + "x-ms-client-name": "PreventEncryptionScopeOverride", + "type": "boolean", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "container-cpk-scope-info" + }, + "description": "Optional. Version 2019-07-07 and newer. If true, prevents any request from specifying a different encryption scope than the scope set on the container." + }, + "FilterBlobsWhere": { + "name": "where", + "in": "query", + "required": false, + "type": "string", + "description": "Filters the results to return only to return only blobs whose tags match the specified expression.", + "x-ms-parameter-location": "method" + }, + "GetRangeContentMD5": { + "name": "x-ms-range-get-content-md5", + "x-ms-client-name": "rangeGetContentMD5", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "When set to true and specified together with the Range, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4 MB in size." + }, + "GetRangeContentCRC64": { + "name": "x-ms-range-get-content-crc64", + "x-ms-client-name": "rangeGetContentCRC64", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "When set to true and specified together with the Range, the service returns the CRC64 hash for the range, as long as the range is less than or equal to 4 MB in size." + }, + "IfMatch": { + "name": "If-Match", + "x-ms-client-name": "ifMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "IfModifiedSince": { + "name": "If-Modified-Since", + "x-ms-client-name": "ifModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "IfNoneMatch": { + "name": "If-None-Match", + "x-ms-client-name": "ifNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "IfUnmodifiedSince": { + "name": "If-Unmodified-Since", + "x-ms-client-name": "ifUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "IfSequenceNumberEqualTo": { + "name": "x-ms-if-sequence-number-eq", + "x-ms-client-name": "ifSequenceNumberEqualTo", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "sequence-number-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has the specified sequence number." + }, + "IfSequenceNumberLessThan": { + "name": "x-ms-if-sequence-number-lt", + "x-ms-client-name": "ifSequenceNumberLessThan", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "sequence-number-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has a sequence number less than the specified." + }, + "IfSequenceNumberLessThanOrEqualTo": { + "name": "x-ms-if-sequence-number-le", + "x-ms-client-name": "ifSequenceNumberLessThanOrEqualTo", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "sequence-number-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has a sequence number less than or equal to the specified." + }, + "IfTags": { + "name": "x-ms-if-tags", + "x-ms-client-name": "ifTags", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify a SQL where clause on blob tags to operate only on blobs with a matching value." + }, + "ImmutabilityPolicyExpiry": { + "name": "x-ms-immutability-policy-until-date", + "x-ms-client-name": "immutabilityPolicyExpiry", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "description": "Specifies the date time when the blobs immutability policy is set to expire." + }, + "ImmutabilityPolicyMode": { + "name": "x-ms-immutability-policy-mode", + "x-ms-client-name": "immutabilityPolicyMode", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "Unlocked", + "Locked" + ], + "x-ms-enum": { + "name": "BlobImmutabilityPolicyMode", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Specifies the immutability policy mode to set on the blob." + }, + "KeyInfo": { + "description": "Key information", + "name": "KeyInfo", + "in": "body", + "x-ms-parameter-location": "method", + "required": true, + "schema": { + "$ref": "#/definitions/KeyInfo" + } + }, + "ListBlobsInclude": { + "name": "include", + "in": "query", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "copy", + "deleted", + "metadata", + "snapshots", + "uncommittedblobs", + "versions", + "tags", + "immutabilitypolicy", + "legalhold", + "deletedwithversions" + ], + "x-ms-enum": { + "name": "ListBlobsIncludeItem", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "ListContainersInclude": { + "name": "include", + "in": "query", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "metadata", + "deleted", + "system" + ], + "x-ms-enum": { + "name": "ListContainersIncludeType", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify that the container's metadata be returned as part of the response body." + }, + "LeaseBreakPeriod": { + "name": "x-ms-lease-break-period", + "x-ms-client-name": "breakPeriod", + "in": "header", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method", + "description": "For a break operation, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60. This break period is only used if it is shorter than the time remaining on the lease. If longer, the time remaining on the lease is used. A new lease will not be available before the break period has expired, but the lease may be held for longer than the break period. If this header does not appear with a break operation, a fixed-duration lease breaks after the remaining lease period elapses, and an infinite lease breaks immediately." + }, + "LeaseDuration": { + "name": "x-ms-lease-duration", + "x-ms-client-name": "duration", + "in": "header", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method", + "description": "Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change." + }, + "LeaseIdOptional": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "lease-access-conditions" + }, + "description": "If specified, the operation only succeeds if the resource's lease is active and matches this ID." + }, + "LeaseIdRequired": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the current lease ID on the resource." + }, + "LegalHoldOptional": { + "name": "x-ms-legal-hold", + "x-ms-client-name": "legalHold", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Specified if a legal hold should be set on the blob." + }, + "LegalHoldRequired": { + "name": "x-ms-legal-hold", + "x-ms-client-name": "legalHold", + "in": "header", + "required": true, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Specified if a legal hold should be set on the blob." + }, + "Marker": { + "name": "marker", + "in": "query", + "required": false, + "type": "string", + "description": "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client.", + "x-ms-parameter-location": "method" + }, + "MaxResults": { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "x-ms-parameter-location": "method", + "description": "Specifies the maximum number of containers to return. If the request does not specify maxresults, or specifies a value greater than 5000, the server will return up to 5000 items. Note that if the listing operation crosses a partition boundary, then the service will return a continuation token for retrieving the remainder of the results. For this reason, it is possible that the service will return fewer results than specified by maxresults, or than the default of 5000." + }, + "Metadata": { + "name": "x-ms-meta", + "x-ms-client-name": "metadata", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional. Specifies a user-defined name-value pair associated with the blob. If no name-value pairs are specified, the operation will copy the metadata from the source blob or file to the destination blob. If one or more name-value pairs are specified, the destination blob is created with the specified metadata, and metadata is not copied from the source blob or file. Note that beginning with version 2009-09-19, metadata names must adhere to the naming rules for C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information.", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "MultipartContentType": { + "name": "Content-Type", + "x-ms-client-name": "multipartContentType", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Required. The value of this header must be multipart/mixed with a batch boundary. Example header value: multipart/mixed; boundary=batch_" + }, + "ObjectReplicationPolicyId": { + "name": "x-ms-or-policy-id", + "x-ms-client-name": "objectReplicationPolicyId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the destination blob of the replication." + }, + "ObjectReplicationRules": { + "name": "x-ms-or", + "x-ms-client-name": "ObjectReplicationRules", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the source blob of the replication. When retrieving this header, it will return the header with the policy id and rule id (e.g. x-ms-or-policyid_ruleid), and the value will be the status of the replication (e.g. complete, failed).", + "x-ms-header-collection-prefix": "x-ms-or-" + }, + "Prefix": { + "name": "prefix", + "in": "query", + "required": false, + "type": "string", + "description": "Filters the results to return only containers whose name begins with the specified prefix.", + "x-ms-parameter-location": "method" + }, + "PrevSnapshot": { + "name": "prevsnapshot", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional in version 2015-07-08 and newer. The prevsnapshot parameter is a DateTime value that specifies that the response will contain only pages that were changed between target blob and previous snapshot. Changed pages include both updated and cleared pages. The target blob may be a snapshot, as long as the snapshot specified by prevsnapshot is the older of the two. Note that incremental snapshots are currently supported only for blobs created on or after January 1, 2016." + }, + "PrevSnapshotUrl": { + "name": "x-ms-previous-snapshot-url", + "x-ms-client-name": "prevSnapshotUrl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional. This header is only supported in service versions 2019-04-19 and after and specifies the URL of a previous snapshot of the target blob. The response will only contain pages that were changed between the target blob and its previous snapshot." + }, + "ProposedLeaseIdOptional": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "ProposedLeaseIdRequired": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "QueryRequest": { + "name": "queryRequest", + "in": "body", + "x-ms-parameter-location": "client", + "schema": { + "$ref": "#/definitions/QueryRequest" + }, + "description": "the query request" + }, + "Range": { + "name": "x-ms-range", + "x-ms-client-name": "range", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Return only the bytes of the blob in the specified range." + }, + "RangeRequiredPutPageFromUrl": { + "name": "x-ms-range", + "x-ms-client-name": "range", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The range of bytes to which the source range would be written. The range should be 512 aligned and range-end is required." + }, + "SequenceNumberAction": { + "name": "x-ms-sequence-number-action", + "x-ms-client-name": "sequenceNumberAction", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Required if the x-ms-blob-sequence-number header is set for the request. This property applies to page blobs only. This property indicates how the service should modify the blob's sequence number", + "type": "string", + "enum": [ + "max", + "update", + "increment" + ], + "x-ms-enum": { + "name": "SequenceNumberActionType", + "modelAsString": false + } + }, + "Snapshot": { + "name": "snapshot", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see Creating a Snapshot of a Blob." + }, + "VersionId": { + "name": "versionid", + "x-ms-client-name": "versionId", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The version id parameter is an opaque DateTime value that, when present, specifies the version of the blob to operate on. It's for service version 2019-10-10 and newer." + }, + "SealBlob": { + "name": "x-ms-seal-blob", + "x-ms-client-name": "SealBlob", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Overrides the sealed state of the destination blob. Service version 2019-12-12 and newer." + }, + "SourceContainerName": { + "name": "x-ms-source-container-name", + "x-ms-client-name": "SourceContainerName", + "type": "string", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Required. Specifies the name of the container to rename." + }, + "SourceContentMD5": { + "name": "x-ms-source-content-md5", + "x-ms-client-name": "sourceContentMD5", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the md5 calculated for the range of bytes that must be read from the copy source." + }, + "SourceContentCRC64": { + "name": "x-ms-source-content-crc64", + "x-ms-client-name": "sourceContentcrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the crc64 calculated for the range of bytes that must be read from the copy source." + }, + "SourceRange": { + "name": "x-ms-source-range", + "x-ms-client-name": "sourceRange", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Bytes of source data in the specified range." + }, + "SourceRangeRequiredPutPageFromUrl": { + "name": "x-ms-source-range", + "x-ms-client-name": "sourceRange", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Bytes of source data in the specified range. The length of this range should match the ContentLength header and x-ms-range/Range destination range header." + }, + "SourceIfMatch": { + "name": "x-ms-source-if-match", + "x-ms-client-name": "sourceIfMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "SourceIfModifiedSince": { + "name": "x-ms-source-if-modified-since", + "x-ms-client-name": "sourceIfModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "SourceIfNoneMatch": { + "name": "x-ms-source-if-none-match", + "x-ms-client-name": "sourceIfNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "SourceIfUnmodifiedSince": { + "name": "x-ms-source-if-unmodified-since", + "x-ms-client-name": "sourceIfUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "SourceLeaseId": { + "name": "x-ms-source-lease-id", + "x-ms-client-name": "sourceLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "A lease ID for the source path. If specified, the source path must have an active lease and the lease ID must match." + }, + "SourceIfTags": { + "name": "x-ms-source-if-tags", + "x-ms-client-name": "sourceIfTags", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify a SQL where clause on blob tags to operate only on blobs with a matching value." + }, + "SourceUrl": { + "name": "x-ms-copy-source", + "x-ms-client-name": "sourceUrl", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specify a URL to the copy source." + }, + "StorageServiceProperties": { + "name": "StorageServiceProperties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageServiceProperties" + }, + "x-ms-parameter-location": "method", + "description": "The StorageService properties." + }, + "Timeout": { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "x-ms-parameter-location": "method", + "description": "The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations." + } + } +} diff --git a/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-02-12/blob.json b/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-02-12/blob.json new file mode 100644 index 000000000000..cb1a30e686d1 --- /dev/null +++ b/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-02-12/blob.json @@ -0,0 +1,12107 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Blob Storage", + "version": "2021-02-12", + "x-ms-code-generation-settings": { + "header": "MIT", + "strictSpecAdherence": false + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{url}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "$ref": "#/parameters/Url" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/xml" + ], + "produces": [ + "application/xml" + ], + "paths": {}, + "x-ms-paths": { + "/?restype=service&comp=properties": { + "put": { + "tags": [ + "service" + ], + "operationId": "Service_SetProperties", + "description": "Sets properties for a storage account's Blob service endpoint, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules", + "parameters": [ + { + "$ref": "#/parameters/StorageServiceProperties" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "Success (Accepted)", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "service" + ], + "operationId": "Service_GetProperties", + "description": "gets the properties of a storage account's Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + } + }, + "schema": { + "$ref": "#/definitions/StorageServiceProperties" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "service" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/?restype=service&comp=stats": { + "get": { + "tags": [ + "service" + ], + "operationId": "Service_GetStatistics", + "description": "Retrieves statistics related to replication for the Blob service. It is only available on the secondary location endpoint when read-access geo-redundant replication is enabled for the storage account.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/StorageServiceStats" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "service" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "stats" + ] + } + ] + }, + "/?comp=list": { + "get": { + "tags": [ + "service" + ], + "operationId": "Service_ListContainersSegment", + "description": "The List Containers Segment operation returns a list of the containers under the specified account", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListContainersInclude" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + } + }, + "schema": { + "$ref": "#/definitions/ListContainersSegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/?restype=service&comp=userdelegationkey": { + "post": { + "tags": [ + "service" + ], + "operationId": "Service_GetUserDelegationKey", + "description": "Retrieves a user delegation key for the Blob service. This is only a valid operation when using bearer token authentication.", + "parameters": [ + { + "$ref": "#/parameters/KeyInfo" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/UserDelegationKey" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "service" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "userdelegationkey" + ] + } + ] + }, + "/?restype=account&comp=properties": { + "get": { + "tags": [ + "service" + ], + "operationId": "Service_GetAccountInfo", + "description": "Returns the sku name and account kind ", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success (OK)", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-sku-name": { + "x-ms-client-name": "SkuName", + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS", + "Standard_ZRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + }, + "description": "Identifies the sku name of the account" + }, + "x-ms-account-kind": { + "x-ms-client-name": "AccountKind", + "type": "string", + "enum": [ + "Storage", + "BlobStorage", + "StorageV2", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "AccountKind", + "modelAsString": false + }, + "description": "Identifies the account kind" + }, + "x-ms-is-hns-enabled": { + "x-ms-client-name": "IsHierarchicalNamespaceEnabled", + "type": "boolean", + "description": "Version 2019-07-07 and newer. Indicates if the account has a hierarchical namespace enabled." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "account" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/?comp=batch": { + "post": { + "tags": [ + "service" + ], + "operationId": "Service_SubmitBatch", + "description": "The Batch operation allows multiple API calls to be embedded into a single HTTP request.", + "parameters": [ + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/MultipartContentType" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For batch requests, this is multipart/mixed; boundary=batchresponse_GUID" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "batch" + ] + } + ] + }, + "/?comp=blobs": { + "get": { + "tags": [ + "service" + ], + "operationId": "Service_FilterBlobs", + "description": "The Filter Blobs operation enables callers to list blobs across all containers whose tags match a given search expression. Filter blobs searches across all containers within a storage account but can be scoped within the expression to a single container.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/FilterBlobsWhere" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/FilterBlobSegment" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "blobs" + ] + } + ] + }, + "/{containerName}?restype=container": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_Create", + "description": "creates a new container under the specified account. If the container with the same name already exists, the operation fails", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/BlobPublicAccess" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/DefaultEncryptionScope" + }, + { + "$ref": "#/parameters/DenyEncryptionScopeOverride" + } + ], + "responses": { + "201": { + "description": "Success, Container created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "container" + ], + "operationId": "Container_GetProperties", + "description": "returns all user-defined metadata and system properties for the specified container. The data returned does not include the container's list of blobs", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "x-ms-meta": { + "type": "string", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the blob.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the blob.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-public-access": { + "x-ms-client-name": "BlobPublicAccess", + "description": "Indicated whether data in the container may be accessed publicly and the level of access", + "type": "string", + "enum": [ + "container", + "blob" + ], + "x-ms-enum": { + "name": "PublicAccessType", + "modelAsString": true + } + }, + "x-ms-has-immutability-policy": { + "x-ms-client-name": "HasImmutabilityPolicy", + "description": "Indicates whether the container has an immutability policy set on it.", + "type": "boolean" + }, + "x-ms-has-legal-hold": { + "x-ms-client-name": "HasLegalHold", + "description": "Indicates whether the container has a legal hold.", + "type": "boolean" + }, + "x-ms-default-encryption-scope": { + "x-ms-client-name": "DefaultEncryptionScope", + "description": "The default encryption scope for the container.", + "type": "string" + }, + "x-ms-deny-encryption-scope-override": { + "x-ms-client-name": "DenyEncryptionScopeOverride", + "description": "Indicates whether the container's default encryption scope can be overriden.", + "type": "boolean" + }, + "x-ms-immutable-storage-with-versioning-enabled": { + "x-ms-client-name": "IsImmutableStorageWithVersioningEnabled", + "description": "Indicates whether version level worm is enabled on a container.", + "type": "boolean" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "container" + ], + "operationId": "Container_Delete", + "description": "operation marks the specified container for deletion. The container and any blobs contained within it are later deleted during garbage collection", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + } + ] + }, + "/{containerName}?restype=container&comp=metadata": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_SetMetadata", + "description": "operation sets one or more user-defined name-value pairs for the specified container.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "metadata" + ] + } + ] + }, + "/{containerName}?restype=container&comp=acl": { + "get": { + "tags": [ + "container" + ], + "operationId": "Container_GetAccessPolicy", + "description": "gets the permissions for the specified container. The permissions indicate whether container data may be accessed publicly.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "x-ms-blob-public-access": { + "x-ms-client-name": "BlobPublicAccess", + "description": "Indicated whether data in the container may be accessed publicly and the level of access", + "type": "string", + "enum": [ + "container", + "blob" + ], + "x-ms-enum": { + "name": "PublicAccessType", + "modelAsString": true + } + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/SignedIdentifiers" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "put": { + "tags": [ + "container" + ], + "operationId": "Container_SetAccessPolicy", + "description": "sets the permissions for the specified container. The permissions indicate whether blobs in a container may be accessed publicly.", + "parameters": [ + { + "$ref": "#/parameters/ContainerAcl" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobPublicAccess" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "acl" + ] + } + ] + }, + "/{containerName}?restype=container&comp=undelete": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_Restore", + "description": "Restores a previously-deleted container.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/DeletedContainerName" + }, + { + "$ref": "#/parameters/DeletedContainerVersion" + } + ], + "responses": { + "201": { + "description": "Created.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "undelete" + ] + } + ] + }, + "/{containerName}?restype=container&comp=rename": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_Rename", + "description": "Renames an existing container.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/SourceContainerName" + }, + { + "$ref": "#/parameters/SourceLeaseId" + } + ], + "responses": { + "200": { + "description": "Created.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "rename" + ] + } + ] + }, + "/{containerName}?restype=container&comp=batch": { + "post": { + "tags": [ + "container" + ], + "operationId": "Container_SubmitBatch", + "description": "The Batch operation allows multiple API calls to be embedded into a single HTTP request.", + "parameters": [ + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/MultipartContentType" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For batch requests, this is multipart/mixed; boundary=batchresponse_GUID" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "batch" + ] + } + ] + }, + "/{containerName}?comp=lease&restype=container&acquire": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_AcquireLease", + "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseDuration" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The Acquire operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a container's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "acquire" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}?comp=lease&restype=container&release": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_ReleaseLease", + "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Release operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "release" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}?comp=lease&restype=container&renew": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_RenewLease", + "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Renew operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a container's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "renew" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}?comp=lease&restype=container&break": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_BreakLease", + "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseBreakPeriod" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "The Break operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-time": { + "x-ms-client-name": "LeaseTime", + "type": "integer", + "description": "Approximate time remaining in the lease period, in seconds." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "break" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}?comp=lease&restype=container&change": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_ChangeLease", + "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ProposedLeaseIdRequired" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Change operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a container's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "change" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}?restype=container&comp=list&flat": { + "get": { + "tags": [ + "containers" + ], + "operationId": "Container_ListBlobFlatSegment", + "description": "[Update] The List Blobs operation returns a list of the blobs under the specified container", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListBlobsInclude" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For List Blobs this is 'application/xml'" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/ListBlobsFlatSegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{containerName}?restype=container&comp=list&hierarchy": { + "get": { + "tags": [ + "containers" + ], + "operationId": "Container_ListBlobHierarchySegment", + "description": "[Update] The List Blobs operation returns a list of the blobs under the specified container", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Delimiter" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListBlobsInclude" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For List Blobs this is 'application/xml'" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/ListBlobsHierarchySegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{containerName}?restype=account&comp=properties": { + "get": { + "tags": [ + "container" + ], + "operationId": "Container_GetAccountInfo", + "description": "Returns the sku name and account kind ", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success (OK)", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-sku-name": { + "x-ms-client-name": "SkuName", + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS", + "Standard_ZRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + }, + "description": "Identifies the sku name of the account" + }, + "x-ms-account-kind": { + "x-ms-client-name": "AccountKind", + "type": "string", + "enum": [ + "Storage", + "BlobStorage", + "StorageV2", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "AccountKind", + "modelAsString": false + }, + "description": "Identifies the account kind" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "account" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{containerName}/{blob}": { + "get": { + "tags": [ + "blob" + ], + "operationId": "Blob_Download", + "description": "The Download operation reads or downloads a blob from the system, including its metadata and properties. You can also call Download to read a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/VersionId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/GetRangeContentMD5" + }, + { + "$ref": "#/parameters/GetRangeContentCRC64" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Returns the content of the entire blob.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-meta": { + "type": "string", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "x-ms-or-policy-id": { + "x-ms-client-name": "ObjectReplicationPolicyId", + "type": "string", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the destination blob of the replication." + }, + "x-ms-or": { + "type": "string", + "x-ms-client-name": "ObjectReplicationRules", + "x-ms-header-collection-prefix": "x-ms-or-", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the source blob of the replication. When retrieving this header, it will return the header with the policy id and rule id (e.g. x-ms-or-policyid_ruleid), and the value will be the status of the replication (e.g. complete, failed)." + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For Download Blob this is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the blob by setting the 'Range' request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Encoding request header" + }, + "Cache-Control": { + "type": "string", + "description": "This header is returned if it was previously specified for the blob." + }, + "Content-Disposition": { + "type": "string", + "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified." + }, + "Content-Language": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Language request header." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-blob-type": { + "x-ms-client-name": "BlobType", + "description": "The blob's type.", + "type": "string", + "enum": [ + "BlockBlob", + "PageBlob", + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the blob.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the blob.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "x-ms-is-current-version": { + "x-ms-client-name": "IsCurrentVersion", + "type": "boolean", + "description": "The value of this header indicates whether version of this blob is a current version, see also x-ms-version-id header." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial blob content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + }, + "x-ms-blob-content-md5": { + "x-ms-client-name": "BlobContentMD5", + "type": "string", + "format": "byte", + "description": "If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range" + }, + "x-ms-tag-count": { + "x-ms-client-name": "TagCount", + "type": "integer", + "format": "int64", + "description": "The number of tags associated with the blob" + }, + "x-ms-blob-sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean", + "description": "If this blob has been sealed" + }, + "x-ms-last-access-time": { + "x-ms-client-name": "LastAccessed", + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the blob was last read or written to" + }, + "x-ms-immutability-policy-until-date": { + "x-ms-client-name": "ImmutabilityPolicyExpiresOn", + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire." + }, + "x-ms-immutability-policy-mode": { + "x-ms-client-name": "ImmutabilityPolicyMode", + "type": "string", + "enum": [ + "Mutable", + "Unlocked", + "Locked" + ], + "x-ms-enum": { + "name": "BlobImmutabilityPolicyMode", + "modelAsString": false + }, + "description": "Indicates immutability policy mode." + }, + "x-ms-legal-hold": { + "x-ms-client-name": "LegalHold", + "type": "boolean", + "description": "Indicates if a legal hold is present on the blob." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "206": { + "description": "Returns the content of a specified range of the blob.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-meta": { + "type": "string", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "x-ms-or-policy-id": { + "x-ms-client-name": "ObjectReplicationPolicyId", + "type": "string", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the destination blob of the replication." + }, + "x-ms-or": { + "type": "string", + "x-ms-client-name": "ObjectReplicationRules", + "x-ms-header-collection-prefix": "x-ms-or-", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the source blob of the replication. When retrieving this header, it will return the header with the policy id and rule id (e.g. x-ms-or-policyid_ruleid), and the value will be the status of the replication (e.g. complete, failed)." + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For Download Blob this is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the blob by setting the 'Range' request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Encoding request header" + }, + "Cache-Control": { + "type": "string", + "description": "This header is returned if it was previously specified for the blob." + }, + "Content-Disposition": { + "type": "string", + "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified." + }, + "Content-Language": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Language request header." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-blob-type": { + "x-ms-client-name": "BlobType", + "description": "The blob's type.", + "type": "string", + "enum": [ + "BlockBlob", + "PageBlob", + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + }, + "x-ms-content-crc64": { + "x-ms-client-name": "ContentCrc64", + "type": "string", + "format": "byte", + "description": "If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to true, then the request returns a crc64 for the range, as long as the range size is less than or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is specified in the same request, it will fail with 400(Bad Request)" + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the blob.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the blob.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "x-ms-is-current-version": { + "x-ms-client-name": "IsCurrentVersion", + "type": "boolean", + "description": "The value of this header indicates whether version of this blob is a current version, see also x-ms-version-id header." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial blob content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + }, + "x-ms-blob-content-md5": { + "x-ms-client-name": "BlobContentMD5", + "type": "string", + "format": "byte", + "description": "If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range" + }, + "x-ms-tag-count": { + "x-ms-client-name": "TagCount", + "type": "integer", + "format": "int64", + "description": "The number of tags associated with the blob" + }, + "x-ms-blob-sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean", + "description": "If this blob has been sealed" + }, + "x-ms-last-access-time": { + "x-ms-client-name": "LastAccessed", + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the blob was last read or written to" + }, + "x-ms-immutability-policy-until-date": { + "x-ms-client-name": "ImmutabilityPolicyExpiresOn", + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire." + }, + "x-ms-immutability-policy-mode": { + "x-ms-client-name": "ImmutabilityPolicyMode", + "type": "string", + "description": "Indicates immutability policy mode." + }, + "x-ms-legal-hold": { + "x-ms-client-name": "LegalHold", + "type": "boolean", + "description": "Indicates if a legal hold is present on the blob." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "tags": [ + "blob" + ], + "operationId": "Blob_GetProperties", + "description": "The Get Properties operation returns all user-defined metadata, standard HTTP properties, and system properties for the blob. It does not return the content of the blob.", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/VersionId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Returns the properties of the blob.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-creation-time": { + "x-ms-client-name": "CreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was created." + }, + "x-ms-meta": { + "type": "string", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "x-ms-or-policy-id": { + "x-ms-client-name": "ObjectReplicationPolicyId", + "type": "string", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the destination blob of the replication." + }, + "x-ms-or": { + "type": "string", + "x-ms-client-name": "ObjectReplicationRules", + "x-ms-header-collection-prefix": "x-ms-or-", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the source blob of the replication. When retrieving this header, it will return the header with the policy id and rule id (e.g. x-ms-or-policyid_ruleid), and the value will be the status of the replication (e.g. complete, failed)." + }, + "x-ms-blob-type": { + "x-ms-client-name": "BlobType", + "description": "The blob's type.", + "type": "string", + "enum": [ + "BlockBlob", + "PageBlob", + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-incremental-copy": { + "x-ms-client-name": "IsIncrementalCopy", + "type": "boolean", + "description": "Included if the blob is incremental copy blob." + }, + "x-ms-copy-destination-snapshot": { + "x-ms-client-name": "DestinationSnapshot", + "type": "string", + "description": "Included if the blob is incremental copy blob or incremental copy snapshot, if x-ms-copy-status is success. Snapshot time of the last successful incremental copy snapshot for this blob." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the blob.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the blob.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The content type specified for the blob. The default content type is 'application/octet-stream'" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Encoding request header" + }, + "Content-Disposition": { + "type": "string", + "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified." + }, + "Content-Language": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Language request header." + }, + "Cache-Control": { + "type": "string", + "description": "This header is returned if it was previously specified for the blob." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial blob content." + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the metadata. This header is only returned when the metadata was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + }, + "x-ms-access-tier": { + "x-ms-client-name": "AccessTier", + "type": "string", + "description": "The tier of page blob on a premium storage account or tier of block blob on blob storage LRS accounts. For a list of allowed premium page blob tiers, see https://docs.microsoft.com/en-us/azure/virtual-machines/windows/premium-storage#features. For blob storage LRS accounts, valid values are Hot/Cool/Archive." + }, + "x-ms-access-tier-inferred": { + "x-ms-client-name": "AccessTierInferred", + "type": "boolean", + "description": "For page blobs on a premium storage account only. If the access tier is not explicitly set on the blob, the tier is inferred based on its content length and this header will be returned with true value." + }, + "x-ms-archive-status": { + "x-ms-client-name": "ArchiveStatus", + "type": "string", + "description": "For blob storage LRS accounts, valid values are rehydrate-pending-to-hot/rehydrate-pending-to-cool. If the blob is being rehydrated and is not complete then this header is returned indicating that rehydrate is pending and also tells the destination tier." + }, + "x-ms-access-tier-change-time": { + "x-ms-client-name": "AccessTierChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the tier was changed on the object. This is only returned if the tier on the block blob was ever set." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "x-ms-is-current-version": { + "x-ms-client-name": "IsCurrentVersion", + "type": "boolean", + "description": "The value of this header indicates whether version of this blob is a current version, see also x-ms-version-id header." + }, + "x-ms-tag-count": { + "x-ms-client-name": "TagCount", + "type": "integer", + "format": "int64", + "description": "The number of tags associated with the blob" + }, + "x-ms-expiry-time": { + "x-ms-client-name": "ExpiresOn", + "type": "string", + "format": "date-time-rfc1123", + "description": "The time this blob will expire." + }, + "x-ms-blob-sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean", + "description": "If this blob has been sealed" + }, + "x-ms-rehydrate-priority": { + "x-ms-client-name": "RehydratePriority", + "description": "If an object is in rehydrate pending state then this header is returned with priority of rehydrate. Valid values are High and Standard.", + "type": "string" + }, + "x-ms-last-access-time": { + "x-ms-client-name": "LastAccessed", + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the blob was last read or written to" + }, + "x-ms-immutability-policy-until-date": { + "x-ms-client-name": "ImmutabilityPolicyExpiresOn", + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire." + }, + "x-ms-immutability-policy-mode": { + "x-ms-client-name": "ImmutabilityPolicyMode", + "type": "string", + "enum": [ + "Mutable", + "Unlocked", + "Locked" + ], + "x-ms-enum": { + "name": "BlobImmutabilityPolicyMode", + "modelAsString": false + }, + "description": "Indicates immutability policy mode." + }, + "x-ms-legal-hold": { + "x-ms-client-name": "LegalHold", + "type": "boolean", + "description": "Indicates if a legal hold is present on the blob." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "blob" + ], + "operationId": "Blob_Delete", + "description": "If the storage account's soft delete feature is disabled then, when a blob is deleted, it is permanently removed from the storage account. If the storage account's soft delete feature is enabled, then, when a blob is deleted, it is marked for deletion and becomes inaccessible immediately. However, the blob service retains the blob or snapshot for the number of days specified by the DeleteRetentionPolicy section of [Storage service properties] (Set-Blob-Service-Properties.md). After the specified number of days has passed, the blob's data is permanently removed from the storage account. Note that you continue to be charged for the soft-deleted blob's storage until it is permanently removed. Use the List Blobs API and specify the \"include=deleted\" query parameter to discover which blobs and snapshots have been soft deleted. You can then use the Undelete Blob API to restore a soft-deleted blob. All other operations on a soft-deleted blob or snapshot causes the service to return an HTTP status code of 404 (ResourceNotFound).", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/VersionId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/DeleteSnapshots" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobDeleteType" + } + ], + "responses": { + "202": { + "description": "The delete request was accepted and the blob will be deleted.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + } + ] + }, + "/{containerName}/{blob}?PageBlob": { + "put": { + "tags": [ + "blob" + ], + "operationId": "PageBlob_Create", + "description": "The Create operation creates a new page blob.", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/PremiumPageBlobAccessTierOptional" + }, + { + "$ref": "#/parameters/BlobContentType" + }, + { + "$ref": "#/parameters/BlobContentEncoding" + }, + { + "$ref": "#/parameters/BlobContentLanguage" + }, + { + "$ref": "#/parameters/BlobContentMD5" + }, + { + "$ref": "#/parameters/BlobCacheControl" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobContentDisposition" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/BlobContentLengthRequired" + }, + { + "$ref": "#/parameters/BlobSequenceNumber" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + }, + { + "$ref": "#/parameters/LegalHoldOptional" + } + ], + "responses": { + "201": { + "description": "The blob was created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "x-ms-blob-type", + "x-ms-client-name": "blobType", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Specifies the type of blob to create: block blob, page blob, or append blob.", + "type": "string", + "enum": [ + "PageBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?AppendBlob": { + "put": { + "tags": [ + "blob" + ], + "operationId": "AppendBlob_Create", + "description": "The Create Append Blob operation creates a new append blob.", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/BlobContentType" + }, + { + "$ref": "#/parameters/BlobContentEncoding" + }, + { + "$ref": "#/parameters/BlobContentLanguage" + }, + { + "$ref": "#/parameters/BlobContentMD5" + }, + { + "$ref": "#/parameters/BlobCacheControl" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobContentDisposition" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + }, + { + "$ref": "#/parameters/LegalHoldOptional" + } + ], + "responses": { + "201": { + "description": "The blob was created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "x-ms-blob-type", + "x-ms-client-name": "blobType", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Specifies the type of blob to create: block blob, page blob, or append blob.", + "type": "string", + "enum": [ + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?BlockBlob": { + "put": { + "tags": [ + "blob" + ], + "operationId": "BlockBlob_Upload", + "description": "The Upload Block Blob operation updates the content of an existing block blob. Updating an existing block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a partial update of the content of a block blob, use the Put Block List operation.", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/BlobContentType" + }, + { + "$ref": "#/parameters/BlobContentEncoding" + }, + { + "$ref": "#/parameters/BlobContentLanguage" + }, + { + "$ref": "#/parameters/BlobContentMD5" + }, + { + "$ref": "#/parameters/BlobCacheControl" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobContentDisposition" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + }, + { + "$ref": "#/parameters/LegalHoldOptional" + } + ], + "responses": { + "201": { + "description": "The blob was updated.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "x-ms-blob-type", + "x-ms-client-name": "blobType", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Specifies the type of blob to create: block blob, page blob, or append blob.", + "type": "string", + "enum": [ + "BlockBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?BlockBlob&fromUrl": { + "put": { + "tags": [ + "blob" + ], + "operationId": "BlockBlob_PutBlobFromUrl", + "description": "The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read from a given URL. This API is supported beginning with the 2020-04-08 version. Partial updates are not supported with Put Blob from URL; the content of an existing blob is overwritten with the content of the new blob. To perform partial updates to a block blob’s contents using a source URL, use the Put Block from URL API in conjunction with Put Block List.", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/BlobContentType" + }, + { + "$ref": "#/parameters/BlobContentEncoding" + }, + { + "$ref": "#/parameters/BlobContentLanguage" + }, + { + "$ref": "#/parameters/BlobContentMD5" + }, + { + "$ref": "#/parameters/BlobCacheControl" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobContentDisposition" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/SourceIfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/SourceContentMD5" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/CopySourceBlobProperties" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + } + ], + "responses": { + "201": { + "description": "The blob was updated.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "x-ms-blob-type", + "x-ms-client-name": "blobType", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Specifies the type of blob to create: block blob, page blob, or append blob.", + "type": "string", + "enum": [ + "BlockBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?comp=undelete": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_Undelete", + "description": "Undelete a blob that was previously soft deleted", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The blob was undeleted successfully.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "undelete" + ] + } + ] + }, + "/{containerName}/{blob}?comp=expiry": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_SetExpiry", + "description": "Sets the time a blob will expire and be deleted.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobExpiryOptions" + }, + { + "$ref": "#/parameters/BlobExpiryTime" + } + ], + "responses": { + "200": { + "description": "The blob expiry was set successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "expiry" + ] + } + ] + }, + "/{containerName}/{blob}?comp=properties&SetHTTPHeaders": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_SetHTTPHeaders", + "description": "The Set HTTP Headers operation sets system properties on the blob", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/BlobCacheControl" + }, + { + "$ref": "#/parameters/BlobContentType" + }, + { + "$ref": "#/parameters/BlobContentMD5" + }, + { + "$ref": "#/parameters/BlobContentEncoding" + }, + { + "$ref": "#/parameters/BlobContentLanguage" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/BlobContentDisposition" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The properties were set successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{containerName}/{blob}?comp=immutabilityPolicies": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_SetImmutabilityPolicy", + "description": "The Set Immutability Policy operation sets the immutability policy on the blob", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + } + ], + "responses": { + "200": { + "description": "The immutability policy was successfully set.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-immutability-policy-until-date": { + "x-ms-client-name": "ImmutabilityPolicyExpiry", + "type": "string", + "format": "date-time-rfc1123", + "description": "Indicates the time the immutability policy will expire." + }, + "x-ms-immutability-policy-mode": { + "x-ms-client-name": "ImmutabilityPolicyMode", + "type": "string", + "enum": [ + "Mutable", + "Unlocked", + "Locked" + ], + "x-ms-enum": { + "name": "BlobImmutabilityPolicyMode", + "modelAsString": false + }, + "description": "Indicates immutability policy mode." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "blob" + ], + "operationId": "Blob_DeleteImmutabilityPolicy", + "description": "The Delete Immutability Policy operation deletes the immutability policy on the blob", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The delete immutability policy request was accepted and the immutability policy will be deleted.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "immutabilityPolicies" + ] + } + ] + }, + "/{containerName}/{blob}?comp=legalhold": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_SetLegalHold", + "description": "The Set Legal Hold operation sets a legal hold on the blob.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/LegalHoldRequired" + } + ], + "responses": { + "200": { + "description": "The legal hold was successfully set on the blob.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-legal-hold": { + "x-ms-client-name": "LegalHold", + "type": "boolean", + "description": "Indicates if the blob has a legal hold." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "legalhold" + ] + } + ] + }, + "/{containerName}/{blob}?comp=metadata": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_SetMetadata", + "description": "The Set Blob Metadata operation sets user-defined metadata for the specified blob as one or more name-value pairs", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The metadata was set successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the metadata. This header is only returned when the metadata was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "metadata" + ] + } + ] + }, + "/{containerName}/{blob}?comp=lease&acquire": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_AcquireLease", + "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseDuration" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The Acquire operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a blobs' lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "acquire" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}/{blob}?comp=lease&release": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_ReleaseLease", + "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Release operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "release" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}/{blob}?comp=lease&renew": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_RenewLease", + "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Renew operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a blobs' lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "renew" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}/{blob}?comp=lease&change": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_ChangeLease", + "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ProposedLeaseIdRequired" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Change operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a blobs' lease" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "change" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}/{blob}?comp=lease&break": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_BreakLease", + "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseBreakPeriod" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "The Break operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-time": { + "x-ms-client-name": "LeaseTime", + "type": "integer", + "description": "Approximate time remaining in the lease period, in seconds." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "break" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}/{blob}?comp=snapshot": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_CreateSnapshot", + "description": "The Create Snapshot operation creates a read-only snapshot of a blob", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The snaptshot was taken successfully.", + "headers": { + "x-ms-snapshot": { + "x-ms-client-name": "Snapshot", + "type": "string", + "description": "Uniquely identifies the snapshot and indicates the snapshot version. It may be used in subsequent requests to access the snapshot" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "True if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise. For a snapshot request, this header is set to true when metadata was provided in the request and encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "snapshot" + ] + } + ] + }, + "/{containerName}/{blob}?comp=copy": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_StartCopyFromURL", + "description": "The Start Copy From URL operation copies a blob or an internet resource to a new blob.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/RehydratePriority" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/SourceIfTags" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/SealBlob" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + }, + { + "$ref": "#/parameters/LegalHoldOptional" + } + ], + "responses": { + "202": { + "description": "The copy blob has been accepted with the specified copy status.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + } + ] + }, + "/{containerName}/{blob}?comp=copy&sync": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_CopyFromURL", + "description": "The Copy From URL operation copies a blob or an internet resource to a new blob. It will not return a response until the copy is complete.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/SourceContentMD5" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + }, + { + "$ref": "#/parameters/LegalHoldOptional" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + }, + { + "$ref": "#/parameters/EncryptionScope" + } + ], + "responses": { + "202": { + "description": "The copy has completed.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "success" + ], + "x-ms-enum": { + "name": "SyncCopyStatusType", + "modelAsString": false + } + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "This response header is returned so that the client can check for the integrity of the copied content. This header is only returned if the source content MD5 was specified." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This response header is returned so that the client can check for the integrity of the copied content." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "x-ms-requires-sync", + "description": "This header indicates that this is a synchronous Copy Blob From URL instead of a Asynchronous Copy Blob.", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "true" + ] + } + ] + }, + "/{containerName}/{blob}?comp=copy©id": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_AbortCopyFromURL", + "description": "The Abort Copy From URL operation aborts a pending Copy From URL operation, and leaves a destination blob with zero length and full metadata.", + "parameters": [ + { + "$ref": "#/parameters/CopyId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "204": { + "description": "The delete request was accepted and the blob will be deleted.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "copy" + ] + }, + { + "name": "x-ms-copy-action", + "description": "Copy action.", + "x-ms-client-name": "copyActionAbortConstant", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "abort" + ], + "x-ms-parameter-location": "method" + } + ] + }, + "/{containerName}/{blob}?comp=tier": { + "put": { + "tags": [ + "blobs" + ], + "operationId": "Blob_SetTier", + "description": "The Set Tier operation sets the tier on a blob. The operation is allowed on a page blob in a premium storage account and on a block blob in a blob storage account (locally redundant storage only). A premium page blob's tier determines the allowed size, IOPS, and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive storage type. This operation does not update the blob's ETag.", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/VersionId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/AccessTierRequired" + }, + { + "$ref": "#/parameters/RehydratePriority" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfTags" + } + ], + "responses": { + "200": { + "description": "The new tier will take effect immediately.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and newer." + } + } + }, + "202": { + "description": "The transition to the new tier is pending.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and newer." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "tier" + ] + } + ] + }, + "/{containerName}/{blob}?restype=account&comp=properties": { + "get": { + "tags": [ + "blob" + ], + "operationId": "Blob_GetAccountInfo", + "description": "Returns the sku name and account kind ", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success (OK)", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-sku-name": { + "x-ms-client-name": "SkuName", + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS", + "Standard_ZRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + }, + "description": "Identifies the sku name of the account" + }, + "x-ms-account-kind": { + "x-ms-client-name": "AccountKind", + "type": "string", + "enum": [ + "Storage", + "BlobStorage", + "StorageV2", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "AccountKind", + "modelAsString": false + }, + "description": "Identifies the account kind" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "account" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{containerName}/{blob}?comp=block": { + "put": { + "tags": [ + "blockblob" + ], + "operationId": "BlockBlob_StageBlock", + "description": "The Stage Block operation creates a new block to be committed as part of a blob", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/BlockId" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The block was created.", + "headers": { + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the block. This header is only returned when the block was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "block" + ] + } + ] + }, + "/{containerName}/{blob}?comp=block&fromURL": { + "put": { + "tags": [ + "blockblob" + ], + "operationId": "BlockBlob_StageBlockFromURL", + "description": "The Stage Block operation creates a new block to be committed as part of a blob where the contents are read from a URL.", + "parameters": [ + { + "$ref": "#/parameters/BlockId" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/SourceUrl" + }, + { + "$ref": "#/parameters/SourceRange" + }, + { + "$ref": "#/parameters/SourceContentMD5" + }, + { + "$ref": "#/parameters/SourceContentCRC64" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + } + ], + "responses": { + "201": { + "description": "The block was created.", + "headers": { + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the block. This header is only returned when the block was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "block" + ] + } + ] + }, + "/{containerName}/{blob}?comp=blocklist": { + "put": { + "tags": [ + "blockblob" + ], + "operationId": "BlockBlob_CommitBlockList", + "description": "The Commit Block List operation writes a blob by specifying the list of block IDs that make up the blob. In order to be written as part of a blob, a block must have been successfully written to the server in a prior Put Block operation. You can call Put Block List to update a blob by uploading only those blocks that have changed, then committing the new and existing blocks together. You can do this by specifying whether to commit a block from the committed block list or from the uncommitted block list, or to commit the most recently uploaded version of the block, whichever list it may belong to.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/BlobCacheControl" + }, + { + "$ref": "#/parameters/BlobContentType" + }, + { + "$ref": "#/parameters/BlobContentEncoding" + }, + { + "$ref": "#/parameters/BlobContentLanguage" + }, + { + "$ref": "#/parameters/BlobContentMD5" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobContentDisposition" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "name": "blocks", + "description": "Blob Blocks.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlockLookupList" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + }, + { + "$ref": "#/parameters/LegalHoldOptional" + } + ], + "responses": { + "201": { + "description": "The block list was recorded.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. This header refers to the content of the request, meaning, in this case, the list of blocks, and not the content of the blob itself." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. This header refers to the content of the request, meaning, in this case, the list of blocks, and not the content of the blob itself." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "blockblob" + ], + "operationId": "BlockBlob_GetBlockList", + "description": "The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block blob", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/BlockListType" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The page range was written.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For Get Block List this is 'application/xml'" + }, + "x-ms-blob-content-length": { + "x-ms-client-name": "BlobContentLength", + "type": "integer", + "format": "int64", + "description": "The size of the blob in bytes." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/BlockList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "blocklist" + ] + } + ] + }, + "/{containerName}/{blob}?comp=page&update": { + "put": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_UploadPages", + "description": "The Upload Pages operation writes a range of pages to a page blob", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfSequenceNumberLessThanOrEqualTo" + }, + { + "$ref": "#/parameters/IfSequenceNumberLessThan" + }, + { + "$ref": "#/parameters/IfSequenceNumberEqualTo" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The page range was written.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for the page blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the pages. This header is only returned when the pages were encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "page" + ] + }, + { + "name": "x-ms-page-write", + "x-ms-client-name": "pageWrite", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Required. You may specify one of the following options:\n - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update.\n - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and the Range header to a value that indicates the range to clear, up to maximum blob size.", + "type": "string", + "enum": [ + "update" + ], + "x-ms-enum": { + "name": "PageWriteType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?comp=page&clear": { + "put": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_ClearPages", + "description": "The Clear Pages operation clears a set of pages from a page blob", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfSequenceNumberLessThanOrEqualTo" + }, + { + "$ref": "#/parameters/IfSequenceNumberLessThan" + }, + { + "$ref": "#/parameters/IfSequenceNumberEqualTo" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The page range was cleared.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for the page blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "page" + ] + }, + { + "name": "x-ms-page-write", + "x-ms-client-name": "pageWrite", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Required. You may specify one of the following options:\n - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update.\n - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and the Range header to a value that indicates the range to clear, up to maximum blob size.", + "type": "string", + "enum": [ + "clear" + ], + "x-ms-enum": { + "name": "PageWriteType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?comp=page&update&fromUrl": { + "put": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_UploadPagesFromURL", + "description": "The Upload Pages operation writes a range of pages to a page blob where the contents are read from a URL", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/SourceUrl" + }, + { + "$ref": "#/parameters/SourceRangeRequiredPutPageFromUrl" + }, + { + "$ref": "#/parameters/SourceContentMD5" + }, + { + "$ref": "#/parameters/SourceContentCRC64" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/RangeRequiredPutPageFromUrl" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfSequenceNumberLessThanOrEqualTo" + }, + { + "$ref": "#/parameters/IfSequenceNumberLessThan" + }, + { + "$ref": "#/parameters/IfSequenceNumberEqualTo" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + } + ], + "responses": { + "201": { + "description": "The page range was written.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for the page blob." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "page" + ] + }, + { + "name": "x-ms-page-write", + "x-ms-client-name": "pageWrite", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Required. You may specify one of the following options:\n - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update.\n - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and the Range header to a value that indicates the range to clear, up to maximum blob size.", + "type": "string", + "enum": [ + "update" + ], + "x-ms-enum": { + "name": "PageWriteType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?comp=pagelist": { + "get": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_GetPageRanges", + "description": "The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a page blob", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Information on the page blob was found.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "x-ms-blob-content-length": { + "x-ms-client-name": "BlobContentLength", + "type": "integer", + "format": "int64", + "description": "The size of the blob in bytes." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/PageList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "pagelist" + ] + } + ] + }, + "/{containerName}/{blob}?comp=pagelist&diff": { + "get": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_GetPageRangesDiff", + "description": "The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were changed between target blob and previous snapshot.", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/PrevSnapshot" + }, + { + "$ref": "#/parameters/PrevSnapshotUrl" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Information on the page blob was found.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "x-ms-blob-content-length": { + "x-ms-client-name": "BlobContentLength", + "type": "integer", + "format": "int64", + "description": "The size of the blob in bytes." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/PageList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "pagelist" + ] + } + ] + }, + "/{containerName}/{blob}?comp=properties&Resize": { + "put": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_Resize", + "description": "Resize the Blob", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/BlobContentLengthRequired" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Blob was resized successfully", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{containerName}/{blob}?comp=properties&UpdateSequenceNumber": { + "put": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_UpdateSequenceNumber", + "description": "Update the sequence number of the blob", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/SequenceNumberAction" + }, + { + "$ref": "#/parameters/BlobSequenceNumber" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The sequence numbers were updated successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{containerName}/{blob}?comp=incrementalcopy": { + "put": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_CopyIncremental", + "description": "The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob. The snapshot is copied such that only the differential changes between the previously copied snapshot are transferred to the destination. The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual. This API is supported since REST version 2016-05-31.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "The blob was copied.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "incrementalcopy" + ] + } + ] + }, + "/{containerName}/{blob}?comp=appendblock": { + "put": { + "tags": [ + "appendblob" + ], + "consumes": [ + "application/octet-stream" + ], + "operationId": "AppendBlob_AppendBlock", + "description": "The Append Block operation commits a new block of data to the end of an existing append blob. The Append Block operation is permitted only if the blob was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version 2015-02-21 version or later.", + "parameters": [ + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobConditionMaxSize" + }, + { + "$ref": "#/parameters/BlobConditionAppendPos" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The block was created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-append-offset": { + "x-ms-client-name": "BlobAppendOffset", + "type": "string", + "description": "This response header is returned only for append operations. It returns the offset at which the block was committed, in bytes." + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the block. This header is only returned when the block was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "appendblock" + ] + } + ] + }, + "/{containerName}/{blob}?comp=appendblock&fromUrl": { + "put": { + "tags": [ + "appendblob" + ], + "operationId": "AppendBlob_AppendBlockFromUrl", + "description": "The Append Block operation commits a new block of data to the end of an existing append blob where the contents are read from a source url. The Append Block operation is permitted only if the blob was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version 2015-02-21 version or later.", + "parameters": [ + { + "$ref": "#/parameters/SourceUrl" + }, + { + "$ref": "#/parameters/SourceRange" + }, + { + "$ref": "#/parameters/SourceContentMD5" + }, + { + "$ref": "#/parameters/SourceContentCRC64" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobConditionMaxSize" + }, + { + "$ref": "#/parameters/BlobConditionAppendPos" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + } + ], + "responses": { + "201": { + "description": "The block was created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-append-offset": { + "x-ms-client-name": "BlobAppendOffset", + "type": "string", + "description": "This response header is returned only for append operations. It returns the offset at which the block was committed, in bytes." + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the block. This header is only returned when the block was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "appendblock" + ] + } + ] + }, + "/{containerName}/{blob}?comp=seal": { + "put": { + "tags": [ + "appendblob" + ], + "operationId": "AppendBlob_Seal", + "description": "The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version 2019-12-12 version or later.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/BlobConditionAppendPos" + } + ], + "responses": { + "200": { + "description": "The blob was sealed.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean", + "description": "If this blob has been sealed" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "seal" + ] + } + ] + }, + "/{containerName}/{blob}?comp=query": { + "post": { + "tags": [ + "blob" + ], + "operationId": "Blob_Query", + "description": "The Query operation enables users to select/project on blob data by providing simple query expressions.", + "parameters": [ + { + "$ref": "#/parameters/QueryRequest" + }, + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Returns the content of the entire blob.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-meta": { + "type": "string", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For Download Blob this is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the blob by setting the 'Range' request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Encoding request header" + }, + "Cache-Control": { + "type": "string", + "description": "This header is returned if it was previously specified for the blob." + }, + "Content-Disposition": { + "type": "string", + "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified." + }, + "Content-Language": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Language request header." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-blob-type": { + "x-ms-client-name": "BlobType", + "description": "The blob's type.", + "type": "string", + "enum": [ + "BlockBlob", + "PageBlob", + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the blob.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the blob.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial blob content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + }, + "x-ms-blob-content-md5": { + "x-ms-client-name": "BlobContentMD5", + "type": "string", + "format": "byte", + "description": "If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range" + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "206": { + "description": "Returns the content of a specified range of the blob.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-meta": { + "type": "string", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For Download Blob this is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the blob by setting the 'Range' request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Encoding request header" + }, + "Cache-Control": { + "type": "string", + "description": "This header is returned if it was previously specified for the blob." + }, + "Content-Disposition": { + "type": "string", + "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified." + }, + "Content-Language": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Language request header." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-blob-type": { + "x-ms-client-name": "BlobType", + "description": "The blob's type.", + "type": "string", + "enum": [ + "BlockBlob", + "PageBlob", + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + }, + "x-ms-content-crc64": { + "x-ms-client-name": "ContentCrc64", + "type": "string", + "format": "byte", + "description": "If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to true, then the request returns a crc64 for the range, as long as the range size is less than or equal to 4 MB. If both x-ms-range-get-content-crc64 and x-ms-range-get-content-md5 is specified in the same request, it will fail with 400(Bad Request)" + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the blob.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the blob.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial blob content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + }, + "x-ms-blob-content-md5": { + "x-ms-client-name": "BlobContentMD5", + "type": "string", + "format": "byte", + "description": "If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range" + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "query" + ] + } + ] + }, + "/{containerName}/{blob}?comp=tags": { + "get": { + "tags": [ + "blob" + ], + "operationId": "Blob_GetTags", + "description": "The Get Tags operation enables users to get the tags associated with a blob.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/VersionId" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Retrieved blob tags", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/BlobTags" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_SetTags", + "description": "The Set Tags operation enables users to set tags on a blob.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/VersionId" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobTagsBody" + } + ], + "responses": { + "204": { + "description": "The tags were applied to the blob", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "tags" + ] + } + ] + } + }, + "definitions": { + "KeyInfo": { + "type": "object", + "required": [ + "Start", + "Expiry" + ], + "description": "Key information", + "properties": { + "Start": { + "description": "The date-time the key is active in ISO 8601 UTC time", + "type": "string" + }, + "Expiry": { + "description": "The date-time the key expires in ISO 8601 UTC time", + "type": "string" + } + } + }, + "UserDelegationKey": { + "type": "object", + "required": [ + "SignedOid", + "SignedTid", + "SignedStart", + "SignedExpiry", + "SignedService", + "SignedVersion", + "Value" + ], + "description": "A user delegation key", + "properties": { + "SignedOid": { + "description": "The Azure Active Directory object ID in GUID format.", + "type": "string" + }, + "SignedTid": { + "description": "The Azure Active Directory tenant ID in GUID format", + "type": "string" + }, + "SignedStart": { + "description": "The date-time the key is active", + "type": "string", + "format": "date-time" + }, + "SignedExpiry": { + "description": "The date-time the key expires", + "type": "string", + "format": "date-time" + }, + "SignedService": { + "description": "Abbreviation of the Azure Storage service that accepts the key", + "type": "string" + }, + "SignedVersion": { + "description": "The service version that created the key", + "type": "string" + }, + "Value": { + "description": "The key as a base64 string", + "type": "string" + } + } + }, + "PublicAccessType": { + "type": "string", + "enum": [ + "container", + "blob" + ], + "x-ms-enum": { + "name": "PublicAccessType", + "modelAsString": true + } + }, + "CopyStatus": { + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "LeaseDuration": { + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "LeaseState": { + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "LeaseStatus": { + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "StorageError": { + "type": "object", + "properties": { + "Message": { + "type": "string" + } + } + }, + "AccessPolicy": { + "type": "object", + "description": "An Access policy", + "properties": { + "Start": { + "description": "the date-time the policy is active", + "type": "string", + "format": "date-time" + }, + "Expiry": { + "description": "the date-time the policy expires", + "type": "string", + "format": "date-time" + }, + "Permission": { + "description": "the permissions for the acl policy", + "type": "string" + } + } + }, + "AccessTier": { + "type": "string", + "enum": [ + "P4", + "P6", + "P10", + "P15", + "P20", + "P30", + "P40", + "P50", + "P60", + "P70", + "P80", + "Hot", + "Cool", + "Archive" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": true + } + }, + "ArchiveStatus": { + "type": "string", + "enum": [ + "rehydrate-pending-to-hot", + "rehydrate-pending-to-cool" + ], + "x-ms-enum": { + "name": "ArchiveStatus", + "modelAsString": true + } + }, + "BlobItemInternal": { + "xml": { + "name": "Blob" + }, + "description": "An Azure Storage blob", + "type": "object", + "required": [ + "Name", + "Deleted", + "Snapshot", + "Properties" + ], + "properties": { + "Name": { + "$ref": "#/definitions/BlobName" + }, + "Deleted": { + "type": "boolean" + }, + "Snapshot": { + "type": "string" + }, + "VersionId": { + "type": "string" + }, + "IsCurrentVersion": { + "type": "boolean" + }, + "Properties": { + "$ref": "#/definitions/BlobPropertiesInternal" + }, + "Metadata": { + "$ref": "#/definitions/BlobMetadata" + }, + "BlobTags": { + "$ref": "#/definitions/BlobTags" + }, + "ObjectReplicationMetadata": { + "$ref": "#/definitions/ObjectReplicationMetadata" + }, + "HasVersionsOnly": { + "type": "boolean" + } + } + }, + "BlobPropertiesInternal": { + "xml": { + "name": "Properties" + }, + "description": "Properties of a blob", + "type": "object", + "required": [ + "Etag", + "Last-Modified" + ], + "properties": { + "Creation-Time": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "Size in bytes" + }, + "Content-Type": { + "type": "string" + }, + "Content-Encoding": { + "type": "string" + }, + "Content-Language": { + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte" + }, + "Content-Disposition": { + "type": "string" + }, + "Cache-Control": { + "type": "string" + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "blobSequenceNumber", + "type": "integer", + "format": "int64" + }, + "BlobType": { + "type": "string", + "enum": [ + "BlockBlob", + "PageBlob", + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + }, + "LeaseStatus": { + "$ref": "#/definitions/LeaseStatus" + }, + "LeaseState": { + "$ref": "#/definitions/LeaseState" + }, + "LeaseDuration": { + "$ref": "#/definitions/LeaseDuration" + }, + "CopyId": { + "type": "string" + }, + "CopyStatus": { + "$ref": "#/definitions/CopyStatus" + }, + "CopySource": { + "type": "string" + }, + "CopyProgress": { + "type": "string" + }, + "CopyCompletionTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "CopyStatusDescription": { + "type": "string" + }, + "ServerEncrypted": { + "type": "boolean" + }, + "IncrementalCopy": { + "type": "boolean" + }, + "DestinationSnapshot": { + "type": "string" + }, + "DeletedTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "RemainingRetentionDays": { + "type": "integer" + }, + "AccessTier": { + "$ref": "#/definitions/AccessTier" + }, + "AccessTierInferred": { + "type": "boolean" + }, + "ArchiveStatus": { + "$ref": "#/definitions/ArchiveStatus" + }, + "CustomerProvidedKeySha256": { + "type": "string" + }, + "EncryptionScope": { + "type": "string", + "description": "The name of the encryption scope under which the blob is encrypted." + }, + "AccessTierChangeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "TagCount": { + "type": "integer" + }, + "Expiry-Time": { + "x-ms-client-name": "ExpiresOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "Sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean" + }, + "RehydratePriority": { + "$ref": "#/definitions/RehydratePriority" + }, + "LastAccessTime": { + "x-ms-client-name": "LastAccessedOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "ImmutabilityPolicyUntilDate": { + "x-ms-client-name": "ImmutabilityPolicyExpiresOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "ImmutabilityPolicyMode": { + "type": "string", + "enum": [ + "Mutable", + "Unlocked", + "Locked" + ], + "x-ms-enum": { + "name": "BlobImmutabilityPolicyMode", + "modelAsString": false + } + }, + "LegalHold": { + "type": "boolean" + } + } + }, + "ListBlobsFlatSegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of blobs", + "type": "object", + "required": [ + "ServiceEndpoint", + "ContainerName", + "Segment" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ContainerName": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "Segment": { + "$ref": "#/definitions/BlobFlatListSegment" + }, + "NextMarker": { + "type": "string" + } + } + }, + "ListBlobsHierarchySegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of blobs", + "type": "object", + "required": [ + "ServiceEndpoint", + "ContainerName", + "Segment" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ContainerName": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "Delimiter": { + "type": "string" + }, + "Segment": { + "$ref": "#/definitions/BlobHierarchyListSegment" + }, + "NextMarker": { + "type": "string" + } + } + }, + "BlobFlatListSegment": { + "xml": { + "name": "Blobs" + }, + "required": [ + "BlobItems" + ], + "type": "object", + "properties": { + "BlobItems": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobItemInternal" + } + } + } + }, + "BlobHierarchyListSegment": { + "xml": { + "name": "Blobs" + }, + "type": "object", + "required": [ + "BlobItems" + ], + "properties": { + "BlobPrefixes": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobPrefix" + } + }, + "BlobItems": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobItemInternal" + } + } + } + }, + "BlobPrefix": { + "type": "object", + "required": [ + "Name" + ], + "properties": { + "Name": { + "$ref": "#/definitions/BlobName" + } + } + }, + "BlobName": { + "type": "object", + "properties": { + "Encoded": { + "xml": { + "attribute": true, + "name": "Encoded" + }, + "type": "boolean", + "description": "Indicates if the blob name is encoded." + }, + "content": { + "xml": { + "x-ms-text": true + }, + "type": "string", + "description": "The name of the blob." + } + } + }, + "BlobTag": { + "xml": { + "name": "Tag" + }, + "type": "object", + "required": [ + "Key", + "Value" + ], + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + } + }, + "BlobTags": { + "type": "object", + "xml": { + "name": "Tags" + }, + "description": "Blob tags", + "required": [ + "BlobTagSet" + ], + "properties": { + "BlobTagSet": { + "xml": { + "wrapped": true, + "name": "TagSet" + }, + "type": "array", + "items": { + "$ref": "#/definitions/BlobTag" + } + } + } + }, + "Block": { + "type": "object", + "required": [ + "Name", + "Size" + ], + "description": "Represents a single block in a block blob. It describes the block's ID and size.", + "properties": { + "Name": { + "description": "The base64 encoded block ID.", + "type": "string" + }, + "Size": { + "description": "The block size in bytes.", + "type": "integer", + "format": "int64" + } + } + }, + "BlockList": { + "type": "object", + "properties": { + "CommittedBlocks": { + "xml": { + "wrapped": true + }, + "type": "array", + "items": { + "$ref": "#/definitions/Block" + } + }, + "UncommittedBlocks": { + "xml": { + "wrapped": true + }, + "type": "array", + "items": { + "$ref": "#/definitions/Block" + } + } + } + }, + "BlockLookupList": { + "type": "object", + "properties": { + "Committed": { + "type": "array", + "items": { + "type": "string", + "xml": { + "name": "Committed" + } + } + }, + "Uncommitted": { + "type": "array", + "items": { + "type": "string", + "xml": { + "name": "Uncommitted" + } + } + }, + "Latest": { + "type": "array", + "items": { + "type": "string", + "xml": { + "name": "Latest" + } + } + } + }, + "xml": { + "name": "BlockList" + } + }, + "ContainerItem": { + "xml": { + "name": "Container" + }, + "type": "object", + "required": [ + "Name", + "Properties" + ], + "description": "An Azure Storage container", + "properties": { + "Name": { + "type": "string" + }, + "Deleted": { + "type": "boolean" + }, + "Version": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/ContainerProperties" + }, + "Metadata": { + "$ref": "#/definitions/ContainerMetadata" + } + } + }, + "ContainerProperties": { + "type": "object", + "required": [ + "Last-Modified", + "Etag" + ], + "description": "Properties of a container", + "properties": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + }, + "LeaseStatus": { + "$ref": "#/definitions/LeaseStatus" + }, + "LeaseState": { + "$ref": "#/definitions/LeaseState" + }, + "LeaseDuration": { + "$ref": "#/definitions/LeaseDuration" + }, + "PublicAccess": { + "$ref": "#/definitions/PublicAccessType" + }, + "HasImmutabilityPolicy": { + "type": "boolean" + }, + "HasLegalHold": { + "type": "boolean" + }, + "DefaultEncryptionScope": { + "type": "string" + }, + "DenyEncryptionScopeOverride": { + "type": "boolean", + "x-ms-client-name": "PreventEncryptionScopeOverride" + }, + "DeletedTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "RemainingRetentionDays": { + "type": "integer" + }, + "ImmutableStorageWithVersioningEnabled": { + "x-ms-client-name": "IsImmutableStorageWithVersioningEnabled", + "type": "boolean", + "description": "Indicates if version level worm is enabled on this container." + } + } + }, + "DelimitedTextConfiguration": { + "xml": { + "name": "DelimitedTextConfiguration" + }, + "description": "Groups the settings used for interpreting the blob data if the blob is delimited text formatted.", + "type": "object", + "properties": { + "ColumnSeparator": { + "type": "string", + "description": "The string used to separate columns.", + "xml": { + "name": "ColumnSeparator" + } + }, + "FieldQuote": { + "type": "string", + "description": "The string used to quote a specific field.", + "xml": { + "name": "FieldQuote" + } + }, + "RecordSeparator": { + "type": "string", + "description": "The string used to separate records.", + "xml": { + "name": "RecordSeparator" + } + }, + "EscapeChar": { + "type": "string", + "description": "The string used as an escape character.", + "xml": { + "name": "EscapeChar" + } + }, + "HeadersPresent": { + "type": "boolean", + "description": "Represents whether the data has headers.", + "xml": { + "name": "HasHeaders" + } + } + } + }, + "JsonTextConfiguration": { + "xml": { + "name": "JsonTextConfiguration" + }, + "description": "json text configuration", + "type": "object", + "properties": { + "RecordSeparator": { + "type": "string", + "description": "The string used to separate records.", + "xml": { + "name": "RecordSeparator" + } + } + } + }, + "ArrowConfiguration": { + "xml": { + "name": "ArrowConfiguration" + }, + "description": "Groups the settings used for formatting the response if the response should be Arrow formatted.", + "type": "object", + "required": [ + "Schema" + ], + "properties": { + "Schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ArrowField" + }, + "xml": { + "wrapped": true, + "name": "Schema" + } + } + } + }, + "ParquetConfiguration": { + "xml": { + "name": "ParquetTextConfiguration" + }, + "description": "parquet configuration", + "type": "object" + }, + "ArrowField": { + "xml": { + "name": "Field" + }, + "description": "Groups settings regarding specific field of an arrow schema", + "type": "object", + "required": [ + "Type" + ], + "properties": { + "Type": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Precision": { + "type": "integer" + }, + "Scale": { + "type": "integer" + } + } + }, + "ListContainersSegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of containers", + "type": "object", + "required": [ + "ServiceEndpoint", + "ContainerItems" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "ContainerItems": { + "xml": { + "wrapped": true, + "name": "Containers" + }, + "type": "array", + "items": { + "$ref": "#/definitions/ContainerItem" + } + }, + "NextMarker": { + "type": "string" + } + } + }, + "CorsRule": { + "description": "CORS is an HTTP feature that enables a web application running under one domain to access resources in another domain. Web browsers implement a security restriction known as same-origin policy that prevents a web page from calling APIs in a different domain; CORS provides a secure way to allow one domain (the origin domain) to call APIs in another domain", + "type": "object", + "required": [ + "AllowedOrigins", + "AllowedMethods", + "AllowedHeaders", + "ExposedHeaders", + "MaxAgeInSeconds" + ], + "properties": { + "AllowedOrigins": { + "description": "The origin domains that are permitted to make a request against the storage service via CORS. The origin domain is the domain from which the request originates. Note that the origin must be an exact case-sensitive match with the origin that the user age sends to the service. You can also use the wildcard character '*' to allow all origin domains to make requests via CORS.", + "type": "string" + }, + "AllowedMethods": { + "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request. (comma separated)", + "type": "string" + }, + "AllowedHeaders": { + "description": "the request headers that the origin domain may specify on the CORS request.", + "type": "string" + }, + "ExposedHeaders": { + "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer", + "type": "string" + }, + "MaxAgeInSeconds": { + "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.", + "type": "integer", + "minimum": 0 + } + } + }, + "ErrorCode": { + "description": "Error codes returned by the service", + "type": "string", + "enum": [ + "AccountAlreadyExists", + "AccountBeingCreated", + "AccountIsDisabled", + "AuthenticationFailed", + "AuthorizationFailure", + "ConditionHeadersNotSupported", + "ConditionNotMet", + "EmptyMetadataKey", + "InsufficientAccountPermissions", + "InternalError", + "InvalidAuthenticationInfo", + "InvalidHeaderValue", + "InvalidHttpVerb", + "InvalidInput", + "InvalidMd5", + "InvalidMetadata", + "InvalidQueryParameterValue", + "InvalidRange", + "InvalidResourceName", + "InvalidUri", + "InvalidXmlDocument", + "InvalidXmlNodeValue", + "Md5Mismatch", + "MetadataTooLarge", + "MissingContentLengthHeader", + "MissingRequiredQueryParameter", + "MissingRequiredHeader", + "MissingRequiredXmlNode", + "MultipleConditionHeadersNotSupported", + "OperationTimedOut", + "OutOfRangeInput", + "OutOfRangeQueryParameterValue", + "RequestBodyTooLarge", + "ResourceTypeMismatch", + "RequestUrlFailedToParse", + "ResourceAlreadyExists", + "ResourceNotFound", + "ServerBusy", + "UnsupportedHeader", + "UnsupportedXmlNode", + "UnsupportedQueryParameter", + "UnsupportedHttpVerb", + "AppendPositionConditionNotMet", + "BlobAlreadyExists", + "BlobImmutableDueToPolicy", + "BlobNotFound", + "BlobOverwritten", + "BlobTierInadequateForContentLength", + "BlobUsesCustomerSpecifiedEncryption", + "BlockCountExceedsLimit", + "BlockListTooLong", + "CannotChangeToLowerTier", + "CannotVerifyCopySource", + "ContainerAlreadyExists", + "ContainerBeingDeleted", + "ContainerDisabled", + "ContainerNotFound", + "ContentLengthLargerThanTierLimit", + "CopyAcrossAccountsNotSupported", + "CopyIdMismatch", + "FeatureVersionMismatch", + "IncrementalCopyBlobMismatch", + "IncrementalCopyOfEralierVersionSnapshotNotAllowed", + "IncrementalCopySourceMustBeSnapshot", + "InfiniteLeaseDurationRequired", + "InvalidBlobOrBlock", + "InvalidBlobTier", + "InvalidBlobType", + "InvalidBlockId", + "InvalidBlockList", + "InvalidOperation", + "InvalidPageRange", + "InvalidSourceBlobType", + "InvalidSourceBlobUrl", + "InvalidVersionForPageBlobOperation", + "LeaseAlreadyPresent", + "LeaseAlreadyBroken", + "LeaseIdMismatchWithBlobOperation", + "LeaseIdMismatchWithContainerOperation", + "LeaseIdMismatchWithLeaseOperation", + "LeaseIdMissing", + "LeaseIsBreakingAndCannotBeAcquired", + "LeaseIsBreakingAndCannotBeChanged", + "LeaseIsBrokenAndCannotBeRenewed", + "LeaseLost", + "LeaseNotPresentWithBlobOperation", + "LeaseNotPresentWithContainerOperation", + "LeaseNotPresentWithLeaseOperation", + "MaxBlobSizeConditionNotMet", + "NoAuthenticationInformation", + "NoPendingCopyOperation", + "OperationNotAllowedOnIncrementalCopyBlob", + "PendingCopyOperation", + "PreviousSnapshotCannotBeNewer", + "PreviousSnapshotNotFound", + "PreviousSnapshotOperationNotSupported", + "SequenceNumberConditionNotMet", + "SequenceNumberIncrementTooLarge", + "SnapshotCountExceeded", + "SnapshotOperationRateExceeded", + "SnapshotsPresent", + "SourceConditionNotMet", + "SystemInUse", + "TargetConditionNotMet", + "UnauthorizedBlobOverwrite", + "BlobBeingRehydrated", + "BlobArchived", + "BlobNotArchived", + "AuthorizationSourceIPMismatch", + "AuthorizationProtocolMismatch", + "AuthorizationPermissionMismatch", + "AuthorizationServiceMismatch", + "AuthorizationResourceTypeMismatch" + ], + "x-ms-enum": { + "name": "StorageErrorCode", + "modelAsString": true + } + }, + "FilterBlobItem": { + "xml": { + "name": "Blob" + }, + "description": "Blob info from a Filter Blobs API call", + "type": "object", + "required": [ + "Name", + "ContainerName" + ], + "properties": { + "Name": { + "type": "string" + }, + "ContainerName": { + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/BlobTags" + } + } + }, + "FilterBlobSegment": { + "description": "The result of a Filter Blobs API call", + "xml": { + "name": "EnumerationResults" + }, + "type": "object", + "required": [ + "ServiceEndpoint", + "Where", + "Blobs" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Where": { + "type": "string" + }, + "Blobs": { + "xml": { + "name": "Blobs", + "wrapped": true + }, + "type": "array", + "items": { + "$ref": "#/definitions/FilterBlobItem" + } + }, + "NextMarker": { + "type": "string" + } + } + }, + "GeoReplication": { + "description": "Geo-Replication information for the Secondary Storage Service", + "type": "object", + "required": [ + "Status", + "LastSyncTime" + ], + "properties": { + "Status": { + "description": "The status of the secondary location", + "type": "string", + "enum": [ + "live", + "bootstrap", + "unavailable" + ], + "x-ms-enum": { + "name": "GeoReplicationStatusType", + "modelAsString": true + } + }, + "LastSyncTime": { + "description": "A GMT date/time value, to the second. All primary writes preceding this value are guaranteed to be available for read operations at the secondary. Primary writes after this point in time may or may not be available for reads.", + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "Logging": { + "description": "Azure Analytics Logging settings.", + "type": "object", + "required": [ + "Version", + "Delete", + "Read", + "Write", + "RetentionPolicy" + ], + "properties": { + "Version": { + "description": "The version of Storage Analytics to configure.", + "type": "string" + }, + "Delete": { + "description": "Indicates whether all delete requests should be logged.", + "type": "boolean" + }, + "Read": { + "description": "Indicates whether all read requests should be logged.", + "type": "boolean" + }, + "Write": { + "description": "Indicates whether all write requests should be logged.", + "type": "boolean" + }, + "RetentionPolicy": { + "$ref": "#/definitions/RetentionPolicy" + } + } + }, + "ContainerMetadata": { + "type": "object", + "xml": { + "name": "Metadata" + }, + "additionalProperties": { + "type": "string" + } + }, + "BlobMetadata": { + "type": "object", + "xml": { + "name": "Metadata" + }, + "properties": { + "Encrypted": { + "type": "string", + "xml": { + "attribute": true + } + } + }, + "additionalProperties": { + "type": "string" + } + }, + "ObjectReplicationMetadata": { + "type": "object", + "xml": { + "name": "OrMetadata" + }, + "additionalProperties": { + "type": "string" + } + }, + "Metrics": { + "description": "a summary of request statistics grouped by API in hour or minute aggregates for blobs", + "required": [ + "Enabled" + ], + "properties": { + "Version": { + "description": "The version of Storage Analytics to configure.", + "type": "string" + }, + "Enabled": { + "description": "Indicates whether metrics are enabled for the Blob service.", + "type": "boolean" + }, + "IncludeAPIs": { + "description": "Indicates whether metrics should generate summary statistics for called API operations.", + "type": "boolean" + }, + "RetentionPolicy": { + "$ref": "#/definitions/RetentionPolicy" + } + } + }, + "PageList": { + "description": "the list of pages", + "type": "object", + "properties": { + "PageRange": { + "type": "array", + "items": { + "$ref": "#/definitions/PageRange" + } + }, + "ClearRange": { + "type": "array", + "items": { + "$ref": "#/definitions/ClearRange" + } + } + } + }, + "PageRange": { + "type": "object", + "required": [ + "Start", + "End" + ], + "properties": { + "Start": { + "type": "integer", + "format": "int64", + "xml": { + "name": "Start" + } + }, + "End": { + "type": "integer", + "format": "int64", + "xml": { + "name": "End" + } + } + }, + "xml": { + "name": "PageRange" + } + }, + "ClearRange": { + "type": "object", + "required": [ + "Start", + "End" + ], + "properties": { + "Start": { + "type": "integer", + "format": "int64", + "xml": { + "name": "Start" + } + }, + "End": { + "type": "integer", + "format": "int64", + "xml": { + "name": "End" + } + } + }, + "xml": { + "name": "ClearRange" + } + }, + "QueryRequest": { + "description": "Groups the set of query request settings.", + "type": "object", + "required": [ + "QueryType", + "Expression" + ], + "properties": { + "QueryType": { + "type": "string", + "description": "Required. The type of the provided query expression.", + "xml": { + "name": "QueryType" + }, + "enum": [ + "SQL" + ] + }, + "Expression": { + "type": "string", + "description": "The query expression in SQL. The maximum size of the query expression is 256KiB.", + "xml": { + "name": "Expression" + } + }, + "InputSerialization": { + "$ref": "#/definitions/QuerySerialization", + "xml": { + "name": "InputSerialization" + } + }, + "OutputSerialization": { + "$ref": "#/definitions/QuerySerialization", + "xml": { + "name": "OutputSerialization" + } + } + }, + "xml": { + "name": "QueryRequest" + } + }, + "QueryFormat": { + "type": "object", + "required": [ + "Type" + ], + "properties": { + "Type": { + "$ref": "#/definitions/QueryType" + }, + "DelimitedTextConfiguration": { + "$ref": "#/definitions/DelimitedTextConfiguration" + }, + "JsonTextConfiguration": { + "$ref": "#/definitions/JsonTextConfiguration" + }, + "ArrowConfiguration": { + "$ref": "#/definitions/ArrowConfiguration" + }, + "ParquetTextConfiguration": { + "$ref": "#/definitions/ParquetConfiguration" + } + } + }, + "QuerySerialization": { + "type": "object", + "required": [ + "Format" + ], + "properties": { + "Format": { + "$ref": "#/definitions/QueryFormat", + "xml": { + "name": "Format" + } + } + } + }, + "QueryType": { + "type": "string", + "description": "The quick query format type.", + "enum": [ + "delimited", + "json", + "arrow", + "parquet" + ], + "x-ms-enum": { + "name": "QueryFormatType", + "modelAsString": false + }, + "xml": { + "name": "Type" + } + }, + "RehydratePriority": { + "description": "If an object is in rehydrate pending state then this header is returned with priority of rehydrate. Valid values are High and Standard.", + "type": "string", + "enum": [ + "High", + "Standard" + ], + "x-ms-enum": { + "name": "RehydratePriority", + "modelAsString": true + }, + "xml": { + "name": "RehydratePriority" + } + }, + "RetentionPolicy": { + "description": "the retention policy which determines how long the associated data should persist", + "type": "object", + "required": [ + "Enabled" + ], + "properties": { + "Enabled": { + "description": "Indicates whether a retention policy is enabled for the storage service", + "type": "boolean" + }, + "Days": { + "description": "Indicates the number of days that metrics or logging or soft-deleted data should be retained. All data older than this value will be deleted", + "type": "integer", + "minimum": 1 + }, + "AllowPermanentDelete": { + "description": "Indicates whether permanent delete is allowed on this storage account.", + "type": "boolean" + } + } + }, + "SignedIdentifier": { + "xml": { + "name": "SignedIdentifier" + }, + "description": "signed identifier", + "type": "object", + "required": [ + "Id", + "AccessPolicy" + ], + "properties": { + "Id": { + "type": "string", + "description": "a unique id" + }, + "AccessPolicy": { + "$ref": "#/definitions/AccessPolicy" + } + } + }, + "SignedIdentifiers": { + "description": "a collection of signed identifiers", + "type": "array", + "items": { + "$ref": "#/definitions/SignedIdentifier" + }, + "xml": { + "wrapped": true, + "name": "SignedIdentifiers" + } + }, + "StaticWebsite": { + "description": "The properties that enable an account to host a static website", + "type": "object", + "required": [ + "Enabled" + ], + "properties": { + "Enabled": { + "description": "Indicates whether this account is hosting a static website", + "type": "boolean" + }, + "IndexDocument": { + "description": "The default name of the index page under each directory", + "type": "string" + }, + "ErrorDocument404Path": { + "description": "The absolute path of the custom 404 page", + "type": "string" + }, + "DefaultIndexDocumentPath": { + "description": "Absolute path of the default index page", + "type": "string" + } + } + }, + "StorageServiceProperties": { + "description": "Storage Service Properties.", + "type": "object", + "properties": { + "Logging": { + "$ref": "#/definitions/Logging" + }, + "HourMetrics": { + "$ref": "#/definitions/Metrics" + }, + "MinuteMetrics": { + "$ref": "#/definitions/Metrics" + }, + "Cors": { + "description": "The set of CORS rules.", + "type": "array", + "items": { + "$ref": "#/definitions/CorsRule" + }, + "xml": { + "wrapped": true + } + }, + "DefaultServiceVersion": { + "description": "The default version to use for requests to the Blob service if an incoming request's version is not specified. Possible values include version 2008-10-27 and all more recent versions", + "type": "string" + }, + "DeleteRetentionPolicy": { + "$ref": "#/definitions/RetentionPolicy" + }, + "StaticWebsite": { + "$ref": "#/definitions/StaticWebsite" + } + } + }, + "StorageServiceStats": { + "description": "Stats for the storage service.", + "type": "object", + "properties": { + "GeoReplication": { + "$ref": "#/definitions/GeoReplication" + } + } + } + }, + "parameters": { + "Url": { + "name": "url", + "description": "The URL of the service account, container, or blob that is the target of the desired operation.", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "ApiVersionParameter": { + "name": "x-ms-version", + "x-ms-parameter-location": "client", + "x-ms-client-name": "version", + "in": "header", + "required": true, + "type": "string", + "description": "Specifies the version of the operation to use for this request.", + "enum": [ + "2021-02-12" + ] + }, + "Blob": { + "name": "blob", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+(?:/[a-zA-Z0-9]+)*(?:\\.[a-zA-Z0-9]+){0,1}$", + "minLength": 1, + "maxLength": 1024, + "x-ms-parameter-location": "method", + "description": "The blob name." + }, + "BlobCacheControl": { + "name": "x-ms-blob-cache-control", + "x-ms-client-name": "blobCacheControl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "blob-HTTP-headers" + }, + "description": "Optional. Sets the blob's cache control. If specified, this property is stored with the blob and returned with a read request." + }, + "BlobConditionAppendPos": { + "name": "x-ms-blob-condition-appendpos", + "x-ms-client-name": "appendPosition", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "append-position-access-conditions" + }, + "description": "Optional conditional header, used only for the Append Block operation. A number indicating the byte offset to compare. Append Block will succeed only if the append position is equal to this number. If it is not, the request will fail with the AppendPositionConditionNotMet error (HTTP status code 412 - Precondition Failed)." + }, + "BlobConditionMaxSize": { + "name": "x-ms-blob-condition-maxsize", + "x-ms-client-name": "maxSize", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "append-position-access-conditions" + }, + "description": "Optional conditional header. The max length in bytes permitted for the append blob. If the Append Block operation would cause the blob to exceed that limit or if the blob size is already greater than the value specified in this header, the request will fail with MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition Failed)." + }, + "BlobPublicAccess": { + "name": "x-ms-blob-public-access", + "x-ms-client-name": "access", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "description": "Specifies whether data in the container may be accessed publicly and the level of access", + "type": "string", + "enum": [ + "container", + "blob" + ], + "x-ms-enum": { + "name": "PublicAccessType", + "modelAsString": true + } + }, + "BlobTagsBody": { + "name": "Tags", + "in": "body", + "schema": { + "$ref": "#/definitions/BlobTags" + }, + "x-ms-parameter-location": "method", + "description": "Blob tags" + }, + "BlobTagsHeader": { + "name": "x-ms-tags", + "x-ms-client-name": "BlobTagsString", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional. Used to set blob tags in various blob operations." + }, + "AccessTierRequired": { + "name": "x-ms-access-tier", + "x-ms-client-name": "tier", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "P4", + "P6", + "P10", + "P15", + "P20", + "P30", + "P40", + "P50", + "P60", + "P70", + "P80", + "Hot", + "Cool", + "Archive" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Indicates the tier to be set on the blob." + }, + "AccessTierOptional": { + "name": "x-ms-access-tier", + "x-ms-client-name": "tier", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "P4", + "P6", + "P10", + "P15", + "P20", + "P30", + "P40", + "P50", + "P60", + "P70", + "P80", + "Hot", + "Cool", + "Archive" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Optional. Indicates the tier to be set on the blob." + }, + "PremiumPageBlobAccessTierOptional": { + "name": "x-ms-access-tier", + "x-ms-client-name": "tier", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "P4", + "P6", + "P10", + "P15", + "P20", + "P30", + "P40", + "P50", + "P60", + "P70", + "P80" + ], + "x-ms-enum": { + "name": "PremiumPageBlobAccessTier", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Optional. Indicates the tier to be set on the page blob." + }, + "RehydratePriority": { + "name": "x-ms-rehydrate-priority", + "x-ms-client-name": "rehydratePriority", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "High", + "Standard" + ], + "x-ms-enum": { + "name": "RehydratePriority", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Optional: Indicates the priority with which to rehydrate an archived blob." + }, + "BlobContentDisposition": { + "name": "x-ms-blob-content-disposition", + "x-ms-client-name": "blobContentDisposition", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "blob-HTTP-headers" + }, + "description": "Optional. Sets the blob's Content-Disposition header." + }, + "BlobContentEncoding": { + "name": "x-ms-blob-content-encoding", + "x-ms-client-name": "blobContentEncoding", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "blob-HTTP-headers" + }, + "description": "Optional. Sets the blob's content encoding. If specified, this property is stored with the blob and returned with a read request." + }, + "BlobContentLanguage": { + "name": "x-ms-blob-content-language", + "x-ms-client-name": "blobContentLanguage", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "blob-HTTP-headers" + }, + "description": "Optional. Set the blob's content language. If specified, this property is stored with the blob and returned with a read request." + }, + "BlobContentLengthOptional": { + "name": "x-ms-blob-content-length", + "x-ms-client-name": "blobContentLength", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "description": "This header specifies the maximum size for the page blob, up to 1 TB. The page blob size must be aligned to a 512-byte boundary." + }, + "BlobContentLengthRequired": { + "name": "x-ms-blob-content-length", + "x-ms-client-name": "blobContentLength", + "in": "header", + "required": true, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "description": "This header specifies the maximum size for the page blob, up to 1 TB. The page blob size must be aligned to a 512-byte boundary." + }, + "BlobContentMD5": { + "name": "x-ms-blob-content-md5", + "x-ms-client-name": "blobContentMD5", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "blob-HTTP-headers" + }, + "description": "Optional. An MD5 hash of the blob content. Note that this hash is not validated, as the hashes for the individual blocks were validated when each was uploaded." + }, + "BlobContentType": { + "name": "x-ms-blob-content-type", + "x-ms-client-name": "blobContentType", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "blob-HTTP-headers" + }, + "description": "Optional. Sets the blob's content type. If specified, this property is stored with the blob and returned with a read request." + }, + "BlobDeleteType": { + "name": "deletetype", + "x-ms-client-name": "blobDeleteType", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "Permanent" + ], + "x-ms-enum": { + "name": "BlobDeleteType", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Optional. Only possible value is 'permanent', which specifies to permanently delete a blob if blob soft delete is enabled." + }, + "BlobExpiryOptions": { + "name": "x-ms-expiry-option", + "x-ms-client-name": "ExpiryOptions", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "NeverExpire", + "RelativeToCreation", + "RelativeToNow", + "Absolute" + ], + "x-ms-enum": { + "name": "BlobExpiryOptions", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Required. Indicates mode of the expiry time" + }, + "BlobExpiryTime": { + "name": "x-ms-expiry-time", + "x-ms-client-name": "ExpiresOn", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The time to set the blob to expiry" + }, + "BlobSequenceNumber": { + "name": "x-ms-blob-sequence-number", + "x-ms-client-name": "blobSequenceNumber", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "default": 0, + "x-ms-parameter-location": "method", + "description": "Set for page blobs only. The sequence number is a user-controlled value that you can use to track requests. The value of the sequence number must be between 0 and 2^63 - 1." + }, + "BlockId": { + "name": "blockid", + "x-ms-client-name": "blockId", + "in": "query", + "type": "string", + "required": true, + "x-ms-parameter-location": "method", + "description": "A valid Base64 string value that identifies the block. Prior to encoding, the string must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified for the blockid parameter must be the same size for each block." + }, + "BlockListType": { + "name": "blocklisttype", + "x-ms-client-name": "listType", + "in": "query", + "required": true, + "default": "committed", + "x-ms-parameter-location": "method", + "description": "Specifies whether to return the list of committed blocks, the list of uncommitted blocks, or both lists together.", + "type": "string", + "enum": [ + "committed", + "uncommitted", + "all" + ], + "x-ms-enum": { + "name": "BlockListType", + "modelAsString": false + } + }, + "Body": { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "format": "file" + }, + "x-ms-parameter-location": "method", + "description": "Initial data" + }, + "ContainerAcl": { + "name": "containerAcl", + "in": "body", + "schema": { + "$ref": "#/definitions/SignedIdentifiers" + }, + "x-ms-parameter-location": "method", + "description": "the acls for the container" + }, + "CopyId": { + "name": "copyid", + "x-ms-client-name": "copyId", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The copy identifier provided in the x-ms-copy-id header of the original Copy Blob operation." + }, + "ClientRequestId": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "requestId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled." + }, + "ContainerName": { + "name": "containerName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The container name." + }, + "ContentCrc64": { + "name": "x-ms-content-crc64", + "x-ms-client-name": "transactionalContentCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the transactional crc64 for the body, to be validated by the service." + }, + "ContentLength": { + "name": "Content-Length", + "in": "header", + "required": true, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "description": "The length of the request." + }, + "ContentMD5": { + "name": "Content-MD5", + "x-ms-client-name": "transactionalContentMD5", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "CopySource": { + "name": "x-ms-copy-source", + "x-ms-client-name": "copySource", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the name of the source page blob snapshot. This value is a URL of up to 2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would appear in a request URI. The source blob must either be public or must be authenticated via a shared access signature." + }, + "CopySourceAuthorization": { + "name": "x-ms-copy-source-authorization", + "x-ms-client-name": "copySourceAuthorization", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Only Bearer type is supported. Credentials should be a valid OAuth access token to copy source." + }, + "CopySourceBlobProperties": { + "name": "x-ms-copy-source-blob-properties", + "x-ms-client-name": "copySourceBlobProperties", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Optional, default is true. Indicates if properties from the source blob should be copied." + }, + "DeleteSnapshots": { + "name": "x-ms-delete-snapshots", + "x-ms-client-name": "deleteSnapshots", + "description": "Required if the blob has associated snapshots. Specify one of the following two options: include: Delete the base blob and all of its snapshots. only: Delete only the blob's snapshots and not the blob itself", + "x-ms-parameter-location": "method", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "include", + "only" + ], + "x-ms-enum": { + "name": "DeleteSnapshotsOptionType", + "modelAsString": false + } + }, + "Delimiter": { + "name": "delimiter", + "description": "When the request includes this parameter, the operation returns a BlobPrefix element in the response body that acts as a placeholder for all blobs whose names begin with the same substring up to the appearance of the delimiter character. The delimiter may be a single character or a string.", + "type": "string", + "x-ms-parameter-location": "method", + "in": "query", + "required": true + }, + "EncryptionKey": { + "name": "x-ms-encryption-key", + "x-ms-client-name": "encryptionKey", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "Optional. Specifies the encryption key to use to encrypt the data provided in the request. If not specified, encryption is performed with the root account encryption key. For more information, see Encryption at Rest for Azure Storage Services." + }, + "EncryptionKeySha256": { + "name": "x-ms-encryption-key-sha256", + "x-ms-client-name": "encryptionKeySha256", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The SHA-256 hash of the provided encryption key. Must be provided if the x-ms-encryption-key header is provided." + }, + "EncryptionAlgorithm": { + "name": "x-ms-encryption-algorithm", + "x-ms-client-name": "encryptionAlgorithm", + "type": "string", + "in": "header", + "required": false, + "enum": [ + "AES256" + ], + "x-ms-enum": { + "name": "EncryptionAlgorithmType", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The algorithm used to produce the encryption key hash. Currently, the only accepted value is \"AES256\". Must be provided if the x-ms-encryption-key header is provided." + }, + "EncryptionScope": { + "name": "x-ms-encryption-scope", + "x-ms-client-name": "encryptionScope", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-scope-info" + }, + "description": "Optional. Version 2019-07-07 and later. Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope. For more information, see Encryption at Rest for Azure Storage Services." + }, + "DefaultEncryptionScope": { + "name": "x-ms-default-encryption-scope", + "x-ms-client-name": "DefaultEncryptionScope", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "container-cpk-scope-info" + }, + "description": "Optional. Version 2019-07-07 and later. Specifies the default encryption scope to set on the container and use for all future writes." + }, + "DeletedContainerName": { + "name": "x-ms-deleted-container-name", + "x-ms-client-name": "DeletedContainerName", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "description": "Optional. Version 2019-12-12 and later. Specifies the name of the deleted container to restore." + }, + "DeletedContainerVersion": { + "name": "x-ms-deleted-container-version", + "x-ms-client-name": "DeletedContainerVersion", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "description": "Optional. Version 2019-12-12 and later. Specifies the version of the deleted container to restore." + }, + "DenyEncryptionScopeOverride": { + "name": "x-ms-deny-encryption-scope-override", + "x-ms-client-name": "PreventEncryptionScopeOverride", + "type": "boolean", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "container-cpk-scope-info" + }, + "description": "Optional. Version 2019-07-07 and newer. If true, prevents any request from specifying a different encryption scope than the scope set on the container." + }, + "FilterBlobsWhere": { + "name": "where", + "in": "query", + "required": false, + "type": "string", + "description": "Filters the results to return only to return only blobs whose tags match the specified expression.", + "x-ms-parameter-location": "method" + }, + "GetRangeContentMD5": { + "name": "x-ms-range-get-content-md5", + "x-ms-client-name": "rangeGetContentMD5", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "When set to true and specified together with the Range, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4 MB in size." + }, + "GetRangeContentCRC64": { + "name": "x-ms-range-get-content-crc64", + "x-ms-client-name": "rangeGetContentCRC64", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "When set to true and specified together with the Range, the service returns the CRC64 hash for the range, as long as the range is less than or equal to 4 MB in size." + }, + "IfMatch": { + "name": "If-Match", + "x-ms-client-name": "ifMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "IfModifiedSince": { + "name": "If-Modified-Since", + "x-ms-client-name": "ifModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "IfNoneMatch": { + "name": "If-None-Match", + "x-ms-client-name": "ifNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "IfUnmodifiedSince": { + "name": "If-Unmodified-Since", + "x-ms-client-name": "ifUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "IfSequenceNumberEqualTo": { + "name": "x-ms-if-sequence-number-eq", + "x-ms-client-name": "ifSequenceNumberEqualTo", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "sequence-number-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has the specified sequence number." + }, + "IfSequenceNumberLessThan": { + "name": "x-ms-if-sequence-number-lt", + "x-ms-client-name": "ifSequenceNumberLessThan", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "sequence-number-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has a sequence number less than the specified." + }, + "IfSequenceNumberLessThanOrEqualTo": { + "name": "x-ms-if-sequence-number-le", + "x-ms-client-name": "ifSequenceNumberLessThanOrEqualTo", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "sequence-number-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has a sequence number less than or equal to the specified." + }, + "IfTags": { + "name": "x-ms-if-tags", + "x-ms-client-name": "ifTags", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify a SQL where clause on blob tags to operate only on blobs with a matching value." + }, + "ImmutabilityPolicyExpiry": { + "name": "x-ms-immutability-policy-until-date", + "x-ms-client-name": "immutabilityPolicyExpiry", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "description": "Specifies the date time when the blobs immutability policy is set to expire." + }, + "ImmutabilityPolicyMode": { + "name": "x-ms-immutability-policy-mode", + "x-ms-client-name": "immutabilityPolicyMode", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "Unlocked", + "Locked" + ], + "x-ms-enum": { + "name": "BlobImmutabilityPolicyMode", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Specifies the immutability policy mode to set on the blob." + }, + "KeyInfo": { + "description": "Key information", + "name": "KeyInfo", + "in": "body", + "x-ms-parameter-location": "method", + "required": true, + "schema": { + "$ref": "#/definitions/KeyInfo" + } + }, + "ListBlobsInclude": { + "name": "include", + "in": "query", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "copy", + "deleted", + "metadata", + "snapshots", + "uncommittedblobs", + "versions", + "tags", + "immutabilitypolicy", + "legalhold", + "deletedwithversions" + ], + "x-ms-enum": { + "name": "ListBlobsIncludeItem", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "ListContainersInclude": { + "name": "include", + "in": "query", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "metadata", + "deleted", + "system" + ], + "x-ms-enum": { + "name": "ListContainersIncludeType", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify that the container's metadata be returned as part of the response body." + }, + "LeaseBreakPeriod": { + "name": "x-ms-lease-break-period", + "x-ms-client-name": "breakPeriod", + "in": "header", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method", + "description": "For a break operation, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60. This break period is only used if it is shorter than the time remaining on the lease. If longer, the time remaining on the lease is used. A new lease will not be available before the break period has expired, but the lease may be held for longer than the break period. If this header does not appear with a break operation, a fixed-duration lease breaks after the remaining lease period elapses, and an infinite lease breaks immediately." + }, + "LeaseDuration": { + "name": "x-ms-lease-duration", + "x-ms-client-name": "duration", + "in": "header", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method", + "description": "Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change." + }, + "LeaseIdOptional": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "lease-access-conditions" + }, + "description": "If specified, the operation only succeeds if the resource's lease is active and matches this ID." + }, + "LeaseIdRequired": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the current lease ID on the resource." + }, + "LegalHoldOptional": { + "name": "x-ms-legal-hold", + "x-ms-client-name": "legalHold", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Specified if a legal hold should be set on the blob." + }, + "LegalHoldRequired": { + "name": "x-ms-legal-hold", + "x-ms-client-name": "legalHold", + "in": "header", + "required": true, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Specified if a legal hold should be set on the blob." + }, + "Marker": { + "name": "marker", + "in": "query", + "required": false, + "type": "string", + "description": "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client.", + "x-ms-parameter-location": "method" + }, + "MaxResults": { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "x-ms-parameter-location": "method", + "description": "Specifies the maximum number of containers to return. If the request does not specify maxresults, or specifies a value greater than 5000, the server will return up to 5000 items. Note that if the listing operation crosses a partition boundary, then the service will return a continuation token for retrieving the remainder of the results. For this reason, it is possible that the service will return fewer results than specified by maxresults, or than the default of 5000." + }, + "Metadata": { + "name": "x-ms-meta", + "x-ms-client-name": "metadata", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional. Specifies a user-defined name-value pair associated with the blob. If no name-value pairs are specified, the operation will copy the metadata from the source blob or file to the destination blob. If one or more name-value pairs are specified, the destination blob is created with the specified metadata, and metadata is not copied from the source blob or file. Note that beginning with version 2009-09-19, metadata names must adhere to the naming rules for C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information.", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "MultipartContentType": { + "name": "Content-Type", + "x-ms-client-name": "multipartContentType", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Required. The value of this header must be multipart/mixed with a batch boundary. Example header value: multipart/mixed; boundary=batch_" + }, + "ObjectReplicationPolicyId": { + "name": "x-ms-or-policy-id", + "x-ms-client-name": "objectReplicationPolicyId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the destination blob of the replication." + }, + "ObjectReplicationRules": { + "name": "x-ms-or", + "x-ms-client-name": "ObjectReplicationRules", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the source blob of the replication. When retrieving this header, it will return the header with the policy id and rule id (e.g. x-ms-or-policyid_ruleid), and the value will be the status of the replication (e.g. complete, failed).", + "x-ms-header-collection-prefix": "x-ms-or-" + }, + "Prefix": { + "name": "prefix", + "in": "query", + "required": false, + "type": "string", + "description": "Filters the results to return only containers whose name begins with the specified prefix.", + "x-ms-parameter-location": "method" + }, + "PrevSnapshot": { + "name": "prevsnapshot", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional in version 2015-07-08 and newer. The prevsnapshot parameter is a DateTime value that specifies that the response will contain only pages that were changed between target blob and previous snapshot. Changed pages include both updated and cleared pages. The target blob may be a snapshot, as long as the snapshot specified by prevsnapshot is the older of the two. Note that incremental snapshots are currently supported only for blobs created on or after January 1, 2016." + }, + "PrevSnapshotUrl": { + "name": "x-ms-previous-snapshot-url", + "x-ms-client-name": "prevSnapshotUrl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional. This header is only supported in service versions 2019-04-19 and after and specifies the URL of a previous snapshot of the target blob. The response will only contain pages that were changed between the target blob and its previous snapshot." + }, + "ProposedLeaseIdOptional": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "ProposedLeaseIdRequired": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "QueryRequest": { + "name": "queryRequest", + "in": "body", + "x-ms-parameter-location": "client", + "schema": { + "$ref": "#/definitions/QueryRequest" + }, + "description": "the query request" + }, + "Range": { + "name": "x-ms-range", + "x-ms-client-name": "range", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Return only the bytes of the blob in the specified range." + }, + "RangeRequiredPutPageFromUrl": { + "name": "x-ms-range", + "x-ms-client-name": "range", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The range of bytes to which the source range would be written. The range should be 512 aligned and range-end is required." + }, + "SequenceNumberAction": { + "name": "x-ms-sequence-number-action", + "x-ms-client-name": "sequenceNumberAction", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Required if the x-ms-blob-sequence-number header is set for the request. This property applies to page blobs only. This property indicates how the service should modify the blob's sequence number", + "type": "string", + "enum": [ + "max", + "update", + "increment" + ], + "x-ms-enum": { + "name": "SequenceNumberActionType", + "modelAsString": false + } + }, + "Snapshot": { + "name": "snapshot", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see Creating a Snapshot of a Blob." + }, + "VersionId": { + "name": "versionid", + "x-ms-client-name": "versionId", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The version id parameter is an opaque DateTime value that, when present, specifies the version of the blob to operate on. It's for service version 2019-10-10 and newer." + }, + "SealBlob": { + "name": "x-ms-seal-blob", + "x-ms-client-name": "SealBlob", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Overrides the sealed state of the destination blob. Service version 2019-12-12 and newer." + }, + "SourceContainerName": { + "name": "x-ms-source-container-name", + "x-ms-client-name": "SourceContainerName", + "type": "string", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Required. Specifies the name of the container to rename." + }, + "SourceContentMD5": { + "name": "x-ms-source-content-md5", + "x-ms-client-name": "sourceContentMD5", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the md5 calculated for the range of bytes that must be read from the copy source." + }, + "SourceContentCRC64": { + "name": "x-ms-source-content-crc64", + "x-ms-client-name": "sourceContentcrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the crc64 calculated for the range of bytes that must be read from the copy source." + }, + "SourceRange": { + "name": "x-ms-source-range", + "x-ms-client-name": "sourceRange", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Bytes of source data in the specified range." + }, + "SourceRangeRequiredPutPageFromUrl": { + "name": "x-ms-source-range", + "x-ms-client-name": "sourceRange", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Bytes of source data in the specified range. The length of this range should match the ContentLength header and x-ms-range/Range destination range header." + }, + "SourceIfMatch": { + "name": "x-ms-source-if-match", + "x-ms-client-name": "sourceIfMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "SourceIfModifiedSince": { + "name": "x-ms-source-if-modified-since", + "x-ms-client-name": "sourceIfModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "SourceIfNoneMatch": { + "name": "x-ms-source-if-none-match", + "x-ms-client-name": "sourceIfNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "SourceIfUnmodifiedSince": { + "name": "x-ms-source-if-unmodified-since", + "x-ms-client-name": "sourceIfUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "SourceLeaseId": { + "name": "x-ms-source-lease-id", + "x-ms-client-name": "sourceLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "A lease ID for the source path. If specified, the source path must have an active lease and the lease ID must match." + }, + "SourceIfTags": { + "name": "x-ms-source-if-tags", + "x-ms-client-name": "sourceIfTags", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify a SQL where clause on blob tags to operate only on blobs with a matching value." + }, + "SourceUrl": { + "name": "x-ms-copy-source", + "x-ms-client-name": "sourceUrl", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specify a URL to the copy source." + }, + "StorageServiceProperties": { + "name": "StorageServiceProperties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageServiceProperties" + }, + "x-ms-parameter-location": "method", + "description": "The StorageService properties." + }, + "Timeout": { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "x-ms-parameter-location": "method", + "description": "The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations." + } + } +} diff --git a/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-04-10/blob.json b/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-04-10/blob.json new file mode 100644 index 000000000000..7fa06362c85b --- /dev/null +++ b/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-04-10/blob.json @@ -0,0 +1,12203 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Blob Storage", + "version": "2021-04-10", + "x-ms-code-generation-settings": { + "header": "MIT", + "strictSpecAdherence": false + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{url}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "$ref": "#/parameters/Url" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/xml" + ], + "produces": [ + "application/xml" + ], + "paths": {}, + "x-ms-paths": { + "/?restype=service&comp=properties": { + "put": { + "tags": [ + "service" + ], + "operationId": "Service_SetProperties", + "description": "Sets properties for a storage account's Blob service endpoint, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules", + "parameters": [ + { + "$ref": "#/parameters/StorageServiceProperties" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "Success (Accepted)", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "service" + ], + "operationId": "Service_GetProperties", + "description": "gets the properties of a storage account's Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + } + }, + "schema": { + "$ref": "#/definitions/StorageServiceProperties" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "service" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/?restype=service&comp=stats": { + "get": { + "tags": [ + "service" + ], + "operationId": "Service_GetStatistics", + "description": "Retrieves statistics related to replication for the Blob service. It is only available on the secondary location endpoint when read-access geo-redundant replication is enabled for the storage account.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/StorageServiceStats" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "service" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "stats" + ] + } + ] + }, + "/?comp=list": { + "get": { + "tags": [ + "service" + ], + "operationId": "Service_ListContainersSegment", + "description": "The List Containers Segment operation returns a list of the containers under the specified account", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListContainersInclude" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + } + }, + "schema": { + "$ref": "#/definitions/ListContainersSegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/?restype=service&comp=userdelegationkey": { + "post": { + "tags": [ + "service" + ], + "operationId": "Service_GetUserDelegationKey", + "description": "Retrieves a user delegation key for the Blob service. This is only a valid operation when using bearer token authentication.", + "parameters": [ + { + "$ref": "#/parameters/KeyInfo" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/UserDelegationKey" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "service" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "userdelegationkey" + ] + } + ] + }, + "/?restype=account&comp=properties": { + "get": { + "tags": [ + "service" + ], + "operationId": "Service_GetAccountInfo", + "description": "Returns the sku name and account kind ", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success (OK)", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-sku-name": { + "x-ms-client-name": "SkuName", + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS", + "Standard_ZRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + }, + "description": "Identifies the sku name of the account" + }, + "x-ms-account-kind": { + "x-ms-client-name": "AccountKind", + "type": "string", + "enum": [ + "Storage", + "BlobStorage", + "StorageV2", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "AccountKind", + "modelAsString": false + }, + "description": "Identifies the account kind" + }, + "x-ms-is-hns-enabled": { + "x-ms-client-name": "IsHierarchicalNamespaceEnabled", + "type": "boolean", + "description": "Version 2019-07-07 and newer. Indicates if the account has a hierarchical namespace enabled." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "account" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/?comp=batch": { + "post": { + "tags": [ + "service" + ], + "operationId": "Service_SubmitBatch", + "description": "The Batch operation allows multiple API calls to be embedded into a single HTTP request.", + "parameters": [ + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/MultipartContentType" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For batch requests, this is multipart/mixed; boundary=batchresponse_GUID" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "batch" + ] + } + ] + }, + "/?comp=blobs": { + "get": { + "tags": [ + "service" + ], + "operationId": "Service_FilterBlobs", + "description": "The Filter Blobs operation enables callers to list blobs across all containers whose tags match a given search expression. Filter blobs searches across all containers within a storage account but can be scoped within the expression to a single container.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/FilterBlobsWhere" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/FilterBlobSegment" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "blobs" + ] + } + ] + }, + "/{containerName}?restype=container": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_Create", + "description": "creates a new container under the specified account. If the container with the same name already exists, the operation fails", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/BlobPublicAccess" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/DefaultEncryptionScope" + }, + { + "$ref": "#/parameters/DenyEncryptionScopeOverride" + } + ], + "responses": { + "201": { + "description": "Success, Container created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "container" + ], + "operationId": "Container_GetProperties", + "description": "returns all user-defined metadata and system properties for the specified container. The data returned does not include the container's list of blobs", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "x-ms-meta": { + "type": "string", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the blob.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the blob.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-public-access": { + "x-ms-client-name": "BlobPublicAccess", + "description": "Indicated whether data in the container may be accessed publicly and the level of access", + "type": "string", + "enum": [ + "container", + "blob" + ], + "x-ms-enum": { + "name": "PublicAccessType", + "modelAsString": true + } + }, + "x-ms-has-immutability-policy": { + "x-ms-client-name": "HasImmutabilityPolicy", + "description": "Indicates whether the container has an immutability policy set on it.", + "type": "boolean" + }, + "x-ms-has-legal-hold": { + "x-ms-client-name": "HasLegalHold", + "description": "Indicates whether the container has a legal hold.", + "type": "boolean" + }, + "x-ms-default-encryption-scope": { + "x-ms-client-name": "DefaultEncryptionScope", + "description": "The default encryption scope for the container.", + "type": "string" + }, + "x-ms-deny-encryption-scope-override": { + "x-ms-client-name": "DenyEncryptionScopeOverride", + "description": "Indicates whether the container's default encryption scope can be overriden.", + "type": "boolean" + }, + "x-ms-immutable-storage-with-versioning-enabled": { + "x-ms-client-name": "IsImmutableStorageWithVersioningEnabled", + "description": "Indicates whether version level worm is enabled on a container.", + "type": "boolean" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "container" + ], + "operationId": "Container_Delete", + "description": "operation marks the specified container for deletion. The container and any blobs contained within it are later deleted during garbage collection", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + } + ] + }, + "/{containerName}?restype=container&comp=metadata": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_SetMetadata", + "description": "operation sets one or more user-defined name-value pairs for the specified container.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "metadata" + ] + } + ] + }, + "/{containerName}?restype=container&comp=acl": { + "get": { + "tags": [ + "container" + ], + "operationId": "Container_GetAccessPolicy", + "description": "gets the permissions for the specified container. The permissions indicate whether container data may be accessed publicly.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "x-ms-blob-public-access": { + "x-ms-client-name": "BlobPublicAccess", + "description": "Indicated whether data in the container may be accessed publicly and the level of access", + "type": "string", + "enum": [ + "container", + "blob" + ], + "x-ms-enum": { + "name": "PublicAccessType", + "modelAsString": true + } + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/SignedIdentifiers" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "put": { + "tags": [ + "container" + ], + "operationId": "Container_SetAccessPolicy", + "description": "sets the permissions for the specified container. The permissions indicate whether blobs in a container may be accessed publicly.", + "parameters": [ + { + "$ref": "#/parameters/ContainerAcl" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobPublicAccess" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "acl" + ] + } + ] + }, + "/{containerName}?restype=container&comp=undelete": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_Restore", + "description": "Restores a previously-deleted container.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/DeletedContainerName" + }, + { + "$ref": "#/parameters/DeletedContainerVersion" + } + ], + "responses": { + "201": { + "description": "Created.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "undelete" + ] + } + ] + }, + "/{containerName}?restype=container&comp=rename": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_Rename", + "description": "Renames an existing container.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/SourceContainerName" + }, + { + "$ref": "#/parameters/SourceLeaseId" + } + ], + "responses": { + "200": { + "description": "Created.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "rename" + ] + } + ] + }, + "/{containerName}?restype=container&comp=batch": { + "post": { + "tags": [ + "container" + ], + "operationId": "Container_SubmitBatch", + "description": "The Batch operation allows multiple API calls to be embedded into a single HTTP request.", + "parameters": [ + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/MultipartContentType" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For batch requests, this is multipart/mixed; boundary=batchresponse_GUID" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "batch" + ] + } + ] + }, + "/{containerName}?restype=container&comp=blobs": { + "get": { + "tags": [ + "container" + ], + "operationId": "Container_FilterBlobs", + "description": "The Filter Blobs operation enables callers to list blobs in a container whose tags match a given search expression. Filter blobs searches within the given container.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/FilterBlobsWhere" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/FilterBlobSegment" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "blobs" + ] + } + ] + }, + "/{containerName}?comp=lease&restype=container&acquire": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_AcquireLease", + "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseDuration" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The Acquire operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a container's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "acquire" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}?comp=lease&restype=container&release": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_ReleaseLease", + "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Release operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "release" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}?comp=lease&restype=container&renew": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_RenewLease", + "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Renew operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a container's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "renew" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}?comp=lease&restype=container&break": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_BreakLease", + "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseBreakPeriod" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "The Break operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-time": { + "x-ms-client-name": "LeaseTime", + "type": "integer", + "description": "Approximate time remaining in the lease period, in seconds." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "break" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}?comp=lease&restype=container&change": { + "put": { + "tags": [ + "container" + ], + "operationId": "Container_ChangeLease", + "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ProposedLeaseIdRequired" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Change operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a container's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "change" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}?restype=container&comp=list&flat": { + "get": { + "tags": [ + "containers" + ], + "operationId": "Container_ListBlobFlatSegment", + "description": "[Update] The List Blobs operation returns a list of the blobs under the specified container", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListBlobsInclude" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For List Blobs this is 'application/xml'" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/ListBlobsFlatSegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{containerName}?restype=container&comp=list&hierarchy": { + "get": { + "tags": [ + "containers" + ], + "operationId": "Container_ListBlobHierarchySegment", + "description": "[Update] The List Blobs operation returns a list of the blobs under the specified container", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Delimiter" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListBlobsInclude" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For List Blobs this is 'application/xml'" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/ListBlobsHierarchySegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{containerName}?restype=account&comp=properties": { + "get": { + "tags": [ + "container" + ], + "operationId": "Container_GetAccountInfo", + "description": "Returns the sku name and account kind ", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success (OK)", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-sku-name": { + "x-ms-client-name": "SkuName", + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS", + "Standard_ZRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + }, + "description": "Identifies the sku name of the account" + }, + "x-ms-account-kind": { + "x-ms-client-name": "AccountKind", + "type": "string", + "enum": [ + "Storage", + "BlobStorage", + "StorageV2", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "AccountKind", + "modelAsString": false + }, + "description": "Identifies the account kind" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "account" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{containerName}/{blob}": { + "get": { + "tags": [ + "blob" + ], + "operationId": "Blob_Download", + "description": "The Download operation reads or downloads a blob from the system, including its metadata and properties. You can also call Download to read a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/VersionId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/GetRangeContentMD5" + }, + { + "$ref": "#/parameters/GetRangeContentCRC64" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Returns the content of the entire blob.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-meta": { + "type": "string", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "x-ms-or-policy-id": { + "x-ms-client-name": "ObjectReplicationPolicyId", + "type": "string", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the destination blob of the replication." + }, + "x-ms-or": { + "type": "string", + "x-ms-client-name": "ObjectReplicationRules", + "x-ms-header-collection-prefix": "x-ms-or-", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the source blob of the replication. When retrieving this header, it will return the header with the policy id and rule id (e.g. x-ms-or-policyid_ruleid), and the value will be the status of the replication (e.g. complete, failed)." + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For Download Blob this is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the blob by setting the 'Range' request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Encoding request header" + }, + "Cache-Control": { + "type": "string", + "description": "This header is returned if it was previously specified for the blob." + }, + "Content-Disposition": { + "type": "string", + "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified." + }, + "Content-Language": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Language request header." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-blob-type": { + "x-ms-client-name": "BlobType", + "description": "The blob's type.", + "type": "string", + "enum": [ + "BlockBlob", + "PageBlob", + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the blob.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the blob.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "x-ms-is-current-version": { + "x-ms-client-name": "IsCurrentVersion", + "type": "boolean", + "description": "The value of this header indicates whether version of this blob is a current version, see also x-ms-version-id header." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial blob content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + }, + "x-ms-blob-content-md5": { + "x-ms-client-name": "BlobContentMD5", + "type": "string", + "format": "byte", + "description": "If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range" + }, + "x-ms-tag-count": { + "x-ms-client-name": "TagCount", + "type": "integer", + "format": "int64", + "description": "The number of tags associated with the blob" + }, + "x-ms-blob-sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean", + "description": "If this blob has been sealed" + }, + "x-ms-last-access-time": { + "x-ms-client-name": "LastAccessed", + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the blob was last read or written to" + }, + "x-ms-immutability-policy-until-date": { + "x-ms-client-name": "ImmutabilityPolicyExpiresOn", + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire." + }, + "x-ms-immutability-policy-mode": { + "x-ms-client-name": "ImmutabilityPolicyMode", + "type": "string", + "enum": [ + "Mutable", + "Unlocked", + "Locked" + ], + "x-ms-enum": { + "name": "BlobImmutabilityPolicyMode", + "modelAsString": false + }, + "description": "Indicates immutability policy mode." + }, + "x-ms-legal-hold": { + "x-ms-client-name": "LegalHold", + "type": "boolean", + "description": "Indicates if a legal hold is present on the blob." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "206": { + "description": "Returns the content of a specified range of the blob.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-meta": { + "type": "string", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "x-ms-or-policy-id": { + "x-ms-client-name": "ObjectReplicationPolicyId", + "type": "string", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the destination blob of the replication." + }, + "x-ms-or": { + "type": "string", + "x-ms-client-name": "ObjectReplicationRules", + "x-ms-header-collection-prefix": "x-ms-or-", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the source blob of the replication. When retrieving this header, it will return the header with the policy id and rule id (e.g. x-ms-or-policyid_ruleid), and the value will be the status of the replication (e.g. complete, failed)." + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For Download Blob this is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the blob by setting the 'Range' request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Encoding request header" + }, + "Cache-Control": { + "type": "string", + "description": "This header is returned if it was previously specified for the blob." + }, + "Content-Disposition": { + "type": "string", + "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified." + }, + "Content-Language": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Language request header." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-blob-type": { + "x-ms-client-name": "BlobType", + "description": "The blob's type.", + "type": "string", + "enum": [ + "BlockBlob", + "PageBlob", + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + }, + "x-ms-content-crc64": { + "x-ms-client-name": "ContentCrc64", + "type": "string", + "format": "byte", + "description": "If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to true, then the request returns a crc64 for the range, as long as the range size is less than or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is specified in the same request, it will fail with 400(Bad Request)" + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the blob.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the blob.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "x-ms-is-current-version": { + "x-ms-client-name": "IsCurrentVersion", + "type": "boolean", + "description": "The value of this header indicates whether version of this blob is a current version, see also x-ms-version-id header." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial blob content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + }, + "x-ms-blob-content-md5": { + "x-ms-client-name": "BlobContentMD5", + "type": "string", + "format": "byte", + "description": "If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range" + }, + "x-ms-tag-count": { + "x-ms-client-name": "TagCount", + "type": "integer", + "format": "int64", + "description": "The number of tags associated with the blob" + }, + "x-ms-blob-sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean", + "description": "If this blob has been sealed" + }, + "x-ms-last-access-time": { + "x-ms-client-name": "LastAccessed", + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the blob was last read or written to" + }, + "x-ms-immutability-policy-until-date": { + "x-ms-client-name": "ImmutabilityPolicyExpiresOn", + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire." + }, + "x-ms-immutability-policy-mode": { + "x-ms-client-name": "ImmutabilityPolicyMode", + "type": "string", + "description": "Indicates immutability policy mode." + }, + "x-ms-legal-hold": { + "x-ms-client-name": "LegalHold", + "type": "boolean", + "description": "Indicates if a legal hold is present on the blob." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "tags": [ + "blob" + ], + "operationId": "Blob_GetProperties", + "description": "The Get Properties operation returns all user-defined metadata, standard HTTP properties, and system properties for the blob. It does not return the content of the blob.", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/VersionId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Returns the properties of the blob.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-creation-time": { + "x-ms-client-name": "CreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was created." + }, + "x-ms-meta": { + "type": "string", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "x-ms-or-policy-id": { + "x-ms-client-name": "ObjectReplicationPolicyId", + "type": "string", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the destination blob of the replication." + }, + "x-ms-or": { + "type": "string", + "x-ms-client-name": "ObjectReplicationRules", + "x-ms-header-collection-prefix": "x-ms-or-", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the source blob of the replication. When retrieving this header, it will return the header with the policy id and rule id (e.g. x-ms-or-policyid_ruleid), and the value will be the status of the replication (e.g. complete, failed)." + }, + "x-ms-blob-type": { + "x-ms-client-name": "BlobType", + "description": "The blob's type.", + "type": "string", + "enum": [ + "BlockBlob", + "PageBlob", + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-incremental-copy": { + "x-ms-client-name": "IsIncrementalCopy", + "type": "boolean", + "description": "Included if the blob is incremental copy blob." + }, + "x-ms-copy-destination-snapshot": { + "x-ms-client-name": "DestinationSnapshot", + "type": "string", + "description": "Included if the blob is incremental copy blob or incremental copy snapshot, if x-ms-copy-status is success. Snapshot time of the last successful incremental copy snapshot for this blob." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the blob.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the blob.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The content type specified for the blob. The default content type is 'application/octet-stream'" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Encoding request header" + }, + "Content-Disposition": { + "type": "string", + "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified." + }, + "Content-Language": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Language request header." + }, + "Cache-Control": { + "type": "string", + "description": "This header is returned if it was previously specified for the blob." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial blob content." + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the metadata. This header is only returned when the metadata was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + }, + "x-ms-access-tier": { + "x-ms-client-name": "AccessTier", + "type": "string", + "description": "The tier of page blob on a premium storage account or tier of block blob on blob storage LRS accounts. For a list of allowed premium page blob tiers, see https://docs.microsoft.com/en-us/azure/virtual-machines/windows/premium-storage#features. For blob storage LRS accounts, valid values are Hot/Cool/Archive." + }, + "x-ms-access-tier-inferred": { + "x-ms-client-name": "AccessTierInferred", + "type": "boolean", + "description": "For page blobs on a premium storage account only. If the access tier is not explicitly set on the blob, the tier is inferred based on its content length and this header will be returned with true value." + }, + "x-ms-archive-status": { + "x-ms-client-name": "ArchiveStatus", + "type": "string", + "description": "For blob storage LRS accounts, valid values are rehydrate-pending-to-hot/rehydrate-pending-to-cool. If the blob is being rehydrated and is not complete then this header is returned indicating that rehydrate is pending and also tells the destination tier." + }, + "x-ms-access-tier-change-time": { + "x-ms-client-name": "AccessTierChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the tier was changed on the object. This is only returned if the tier on the block blob was ever set." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "x-ms-is-current-version": { + "x-ms-client-name": "IsCurrentVersion", + "type": "boolean", + "description": "The value of this header indicates whether version of this blob is a current version, see also x-ms-version-id header." + }, + "x-ms-tag-count": { + "x-ms-client-name": "TagCount", + "type": "integer", + "format": "int64", + "description": "The number of tags associated with the blob" + }, + "x-ms-expiry-time": { + "x-ms-client-name": "ExpiresOn", + "type": "string", + "format": "date-time-rfc1123", + "description": "The time this blob will expire." + }, + "x-ms-blob-sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean", + "description": "If this blob has been sealed" + }, + "x-ms-rehydrate-priority": { + "x-ms-client-name": "RehydratePriority", + "description": "If an object is in rehydrate pending state then this header is returned with priority of rehydrate. Valid values are High and Standard.", + "type": "string" + }, + "x-ms-last-access-time": { + "x-ms-client-name": "LastAccessed", + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the blob was last read or written to" + }, + "x-ms-immutability-policy-until-date": { + "x-ms-client-name": "ImmutabilityPolicyExpiresOn", + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire." + }, + "x-ms-immutability-policy-mode": { + "x-ms-client-name": "ImmutabilityPolicyMode", + "type": "string", + "enum": [ + "Mutable", + "Unlocked", + "Locked" + ], + "x-ms-enum": { + "name": "BlobImmutabilityPolicyMode", + "modelAsString": false + }, + "description": "Indicates immutability policy mode." + }, + "x-ms-legal-hold": { + "x-ms-client-name": "LegalHold", + "type": "boolean", + "description": "Indicates if a legal hold is present on the blob." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "blob" + ], + "operationId": "Blob_Delete", + "description": "If the storage account's soft delete feature is disabled then, when a blob is deleted, it is permanently removed from the storage account. If the storage account's soft delete feature is enabled, then, when a blob is deleted, it is marked for deletion and becomes inaccessible immediately. However, the blob service retains the blob or snapshot for the number of days specified by the DeleteRetentionPolicy section of [Storage service properties] (Set-Blob-Service-Properties.md). After the specified number of days has passed, the blob's data is permanently removed from the storage account. Note that you continue to be charged for the soft-deleted blob's storage until it is permanently removed. Use the List Blobs API and specify the \"include=deleted\" query parameter to discover which blobs and snapshots have been soft deleted. You can then use the Undelete Blob API to restore a soft-deleted blob. All other operations on a soft-deleted blob or snapshot causes the service to return an HTTP status code of 404 (ResourceNotFound).", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/VersionId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/DeleteSnapshots" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobDeleteType" + } + ], + "responses": { + "202": { + "description": "The delete request was accepted and the blob will be deleted.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + } + ] + }, + "/{containerName}/{blob}?PageBlob": { + "put": { + "tags": [ + "blob" + ], + "operationId": "PageBlob_Create", + "description": "The Create operation creates a new page blob.", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/PremiumPageBlobAccessTierOptional" + }, + { + "$ref": "#/parameters/BlobContentType" + }, + { + "$ref": "#/parameters/BlobContentEncoding" + }, + { + "$ref": "#/parameters/BlobContentLanguage" + }, + { + "$ref": "#/parameters/BlobContentMD5" + }, + { + "$ref": "#/parameters/BlobCacheControl" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobContentDisposition" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/BlobContentLengthRequired" + }, + { + "$ref": "#/parameters/BlobSequenceNumber" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + }, + { + "$ref": "#/parameters/LegalHoldOptional" + } + ], + "responses": { + "201": { + "description": "The blob was created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "x-ms-blob-type", + "x-ms-client-name": "blobType", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Specifies the type of blob to create: block blob, page blob, or append blob.", + "type": "string", + "enum": [ + "PageBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?AppendBlob": { + "put": { + "tags": [ + "blob" + ], + "operationId": "AppendBlob_Create", + "description": "The Create Append Blob operation creates a new append blob.", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/BlobContentType" + }, + { + "$ref": "#/parameters/BlobContentEncoding" + }, + { + "$ref": "#/parameters/BlobContentLanguage" + }, + { + "$ref": "#/parameters/BlobContentMD5" + }, + { + "$ref": "#/parameters/BlobCacheControl" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobContentDisposition" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + }, + { + "$ref": "#/parameters/LegalHoldOptional" + } + ], + "responses": { + "201": { + "description": "The blob was created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "x-ms-blob-type", + "x-ms-client-name": "blobType", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Specifies the type of blob to create: block blob, page blob, or append blob.", + "type": "string", + "enum": [ + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?BlockBlob": { + "put": { + "tags": [ + "blob" + ], + "operationId": "BlockBlob_Upload", + "description": "The Upload Block Blob operation updates the content of an existing block blob. Updating an existing block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a partial update of the content of a block blob, use the Put Block List operation.", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/BlobContentType" + }, + { + "$ref": "#/parameters/BlobContentEncoding" + }, + { + "$ref": "#/parameters/BlobContentLanguage" + }, + { + "$ref": "#/parameters/BlobContentMD5" + }, + { + "$ref": "#/parameters/BlobCacheControl" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobContentDisposition" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + }, + { + "$ref": "#/parameters/LegalHoldOptional" + } + ], + "responses": { + "201": { + "description": "The blob was updated.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "x-ms-blob-type", + "x-ms-client-name": "blobType", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Specifies the type of blob to create: block blob, page blob, or append blob.", + "type": "string", + "enum": [ + "BlockBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?BlockBlob&fromUrl": { + "put": { + "tags": [ + "blob" + ], + "operationId": "BlockBlob_PutBlobFromUrl", + "description": "The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read from a given URL. This API is supported beginning with the 2020-04-08 version. Partial updates are not supported with Put Blob from URL; the content of an existing blob is overwritten with the content of the new blob. To perform partial updates to a block blob’s contents using a source URL, use the Put Block from URL API in conjunction with Put Block List.", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/BlobContentType" + }, + { + "$ref": "#/parameters/BlobContentEncoding" + }, + { + "$ref": "#/parameters/BlobContentLanguage" + }, + { + "$ref": "#/parameters/BlobContentMD5" + }, + { + "$ref": "#/parameters/BlobCacheControl" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobContentDisposition" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/SourceIfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/SourceContentMD5" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/CopySourceBlobProperties" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + } + ], + "responses": { + "201": { + "description": "The blob was updated.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "x-ms-blob-type", + "x-ms-client-name": "blobType", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Specifies the type of blob to create: block blob, page blob, or append blob.", + "type": "string", + "enum": [ + "BlockBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?comp=undelete": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_Undelete", + "description": "Undelete a blob that was previously soft deleted", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The blob was undeleted successfully.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "undelete" + ] + } + ] + }, + "/{containerName}/{blob}?comp=expiry": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_SetExpiry", + "description": "Sets the time a blob will expire and be deleted.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobExpiryOptions" + }, + { + "$ref": "#/parameters/BlobExpiryTime" + } + ], + "responses": { + "200": { + "description": "The blob expiry was set successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "expiry" + ] + } + ] + }, + "/{containerName}/{blob}?comp=properties&SetHTTPHeaders": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_SetHTTPHeaders", + "description": "The Set HTTP Headers operation sets system properties on the blob", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/BlobCacheControl" + }, + { + "$ref": "#/parameters/BlobContentType" + }, + { + "$ref": "#/parameters/BlobContentMD5" + }, + { + "$ref": "#/parameters/BlobContentEncoding" + }, + { + "$ref": "#/parameters/BlobContentLanguage" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/BlobContentDisposition" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The properties were set successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{containerName}/{blob}?comp=immutabilityPolicies": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_SetImmutabilityPolicy", + "description": "The Set Immutability Policy operation sets the immutability policy on the blob", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + } + ], + "responses": { + "200": { + "description": "The immutability policy was successfully set.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-immutability-policy-until-date": { + "x-ms-client-name": "ImmutabilityPolicyExpiry", + "type": "string", + "format": "date-time-rfc1123", + "description": "Indicates the time the immutability policy will expire." + }, + "x-ms-immutability-policy-mode": { + "x-ms-client-name": "ImmutabilityPolicyMode", + "type": "string", + "enum": [ + "Mutable", + "Unlocked", + "Locked" + ], + "x-ms-enum": { + "name": "BlobImmutabilityPolicyMode", + "modelAsString": false + }, + "description": "Indicates immutability policy mode." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "blob" + ], + "operationId": "Blob_DeleteImmutabilityPolicy", + "description": "The Delete Immutability Policy operation deletes the immutability policy on the blob", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The delete immutability policy request was accepted and the immutability policy will be deleted.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "immutabilityPolicies" + ] + } + ] + }, + "/{containerName}/{blob}?comp=legalhold": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_SetLegalHold", + "description": "The Set Legal Hold operation sets a legal hold on the blob.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/LegalHoldRequired" + } + ], + "responses": { + "200": { + "description": "The legal hold was successfully set on the blob.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-legal-hold": { + "x-ms-client-name": "LegalHold", + "type": "boolean", + "description": "Indicates if the blob has a legal hold." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "legalhold" + ] + } + ] + }, + "/{containerName}/{blob}?comp=metadata": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_SetMetadata", + "description": "The Set Blob Metadata operation sets user-defined metadata for the specified blob as one or more name-value pairs", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The metadata was set successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the metadata. This header is only returned when the metadata was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "metadata" + ] + } + ] + }, + "/{containerName}/{blob}?comp=lease&acquire": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_AcquireLease", + "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseDuration" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The Acquire operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a blobs' lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "acquire" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}/{blob}?comp=lease&release": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_ReleaseLease", + "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Release operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "release" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}/{blob}?comp=lease&renew": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_RenewLease", + "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Renew operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a blobs' lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "renew" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}/{blob}?comp=lease&change": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_ChangeLease", + "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ProposedLeaseIdRequired" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Change operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a blobs' lease" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "change" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}/{blob}?comp=lease&break": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_BreakLease", + "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseBreakPeriod" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "The Break operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-lease-time": { + "x-ms-client-name": "LeaseTime", + "type": "integer", + "description": "Approximate time remaining in the lease period, in seconds." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "break" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{containerName}/{blob}?comp=snapshot": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_CreateSnapshot", + "description": "The Create Snapshot operation creates a read-only snapshot of a blob", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The snaptshot was taken successfully.", + "headers": { + "x-ms-snapshot": { + "x-ms-client-name": "Snapshot", + "type": "string", + "description": "Uniquely identifies the snapshot and indicates the snapshot version. It may be used in subsequent requests to access the snapshot" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "True if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise. For a snapshot request, this header is set to true when metadata was provided in the request and encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "snapshot" + ] + } + ] + }, + "/{containerName}/{blob}?comp=copy": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_StartCopyFromURL", + "description": "The Start Copy From URL operation copies a blob or an internet resource to a new blob.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/RehydratePriority" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/SourceIfTags" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/SealBlob" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + }, + { + "$ref": "#/parameters/LegalHoldOptional" + } + ], + "responses": { + "202": { + "description": "The copy blob has been accepted with the specified copy status.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + } + ] + }, + "/{containerName}/{blob}?comp=copy&sync": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_CopyFromURL", + "description": "The Copy From URL operation copies a blob or an internet resource to a new blob. It will not return a response until the copy is complete.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/SourceContentMD5" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + }, + { + "$ref": "#/parameters/LegalHoldOptional" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + }, + { + "$ref": "#/parameters/EncryptionScope" + } + ], + "responses": { + "202": { + "description": "The copy has completed.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "success" + ], + "x-ms-enum": { + "name": "SyncCopyStatusType", + "modelAsString": false + } + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "This response header is returned so that the client can check for the integrity of the copied content. This header is only returned if the source content MD5 was specified." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This response header is returned so that the client can check for the integrity of the copied content." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "x-ms-requires-sync", + "description": "This header indicates that this is a synchronous Copy Blob From URL instead of a Asynchronous Copy Blob.", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "true" + ] + } + ] + }, + "/{containerName}/{blob}?comp=copy©id": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_AbortCopyFromURL", + "description": "The Abort Copy From URL operation aborts a pending Copy From URL operation, and leaves a destination blob with zero length and full metadata.", + "parameters": [ + { + "$ref": "#/parameters/CopyId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "204": { + "description": "The delete request was accepted and the blob will be deleted.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "copy" + ] + }, + { + "name": "x-ms-copy-action", + "description": "Copy action.", + "x-ms-client-name": "copyActionAbortConstant", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "abort" + ], + "x-ms-parameter-location": "method" + } + ] + }, + "/{containerName}/{blob}?comp=tier": { + "put": { + "tags": [ + "blobs" + ], + "operationId": "Blob_SetTier", + "description": "The Set Tier operation sets the tier on a blob. The operation is allowed on a page blob in a premium storage account and on a block blob in a blob storage account (locally redundant storage only). A premium page blob's tier determines the allowed size, IOPS, and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive storage type. This operation does not update the blob's ETag.", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/VersionId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/AccessTierRequired" + }, + { + "$ref": "#/parameters/RehydratePriority" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfTags" + } + ], + "responses": { + "200": { + "description": "The new tier will take effect immediately.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and newer." + } + } + }, + "202": { + "description": "The transition to the new tier is pending.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and newer." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "tier" + ] + } + ] + }, + "/{containerName}/{blob}?restype=account&comp=properties": { + "get": { + "tags": [ + "blob" + ], + "operationId": "Blob_GetAccountInfo", + "description": "Returns the sku name and account kind ", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success (OK)", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-sku-name": { + "x-ms-client-name": "SkuName", + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS", + "Standard_ZRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + }, + "description": "Identifies the sku name of the account" + }, + "x-ms-account-kind": { + "x-ms-client-name": "AccountKind", + "type": "string", + "enum": [ + "Storage", + "BlobStorage", + "StorageV2", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "AccountKind", + "modelAsString": false + }, + "description": "Identifies the account kind" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "account" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{containerName}/{blob}?comp=block": { + "put": { + "tags": [ + "blockblob" + ], + "operationId": "BlockBlob_StageBlock", + "description": "The Stage Block operation creates a new block to be committed as part of a blob", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/BlockId" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The block was created.", + "headers": { + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the block. This header is only returned when the block was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "block" + ] + } + ] + }, + "/{containerName}/{blob}?comp=block&fromURL": { + "put": { + "tags": [ + "blockblob" + ], + "operationId": "BlockBlob_StageBlockFromURL", + "description": "The Stage Block operation creates a new block to be committed as part of a blob where the contents are read from a URL.", + "parameters": [ + { + "$ref": "#/parameters/BlockId" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/SourceUrl" + }, + { + "$ref": "#/parameters/SourceRange" + }, + { + "$ref": "#/parameters/SourceContentMD5" + }, + { + "$ref": "#/parameters/SourceContentCRC64" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + } + ], + "responses": { + "201": { + "description": "The block was created.", + "headers": { + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the block. This header is only returned when the block was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "block" + ] + } + ] + }, + "/{containerName}/{blob}?comp=blocklist": { + "put": { + "tags": [ + "blockblob" + ], + "operationId": "BlockBlob_CommitBlockList", + "description": "The Commit Block List operation writes a blob by specifying the list of block IDs that make up the blob. In order to be written as part of a blob, a block must have been successfully written to the server in a prior Put Block operation. You can call Put Block List to update a blob by uploading only those blocks that have changed, then committing the new and existing blocks together. You can do this by specifying whether to commit a block from the committed block list or from the uncommitted block list, or to commit the most recently uploaded version of the block, whichever list it may belong to.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/BlobCacheControl" + }, + { + "$ref": "#/parameters/BlobContentType" + }, + { + "$ref": "#/parameters/BlobContentEncoding" + }, + { + "$ref": "#/parameters/BlobContentLanguage" + }, + { + "$ref": "#/parameters/BlobContentMD5" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobContentDisposition" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "name": "blocks", + "description": "Blob Blocks.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlockLookupList" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/BlobTagsHeader" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyExpiry" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyMode" + }, + { + "$ref": "#/parameters/LegalHoldOptional" + } + ], + "responses": { + "201": { + "description": "The block list was recorded.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. This header refers to the content of the request, meaning, in this case, the list of blocks, and not the content of the blob itself." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. This header refers to the content of the request, meaning, in this case, the list of blocks, and not the content of the blob itself." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "x-ms-version-id": { + "x-ms-client-name": "VersionId", + "type": "string", + "description": "A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "blockblob" + ], + "operationId": "BlockBlob_GetBlockList", + "description": "The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block blob", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/BlockListType" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The page range was written.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For Get Block List this is 'application/xml'" + }, + "x-ms-blob-content-length": { + "x-ms-client-name": "BlobContentLength", + "type": "integer", + "format": "int64", + "description": "The size of the blob in bytes." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/BlockList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "blocklist" + ] + } + ] + }, + "/{containerName}/{blob}?comp=page&update": { + "put": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_UploadPages", + "description": "The Upload Pages operation writes a range of pages to a page blob", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfSequenceNumberLessThanOrEqualTo" + }, + { + "$ref": "#/parameters/IfSequenceNumberLessThan" + }, + { + "$ref": "#/parameters/IfSequenceNumberEqualTo" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The page range was written.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for the page blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the pages. This header is only returned when the pages were encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "page" + ] + }, + { + "name": "x-ms-page-write", + "x-ms-client-name": "pageWrite", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Required. You may specify one of the following options:\n - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update.\n - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and the Range header to a value that indicates the range to clear, up to maximum blob size.", + "type": "string", + "enum": [ + "update" + ], + "x-ms-enum": { + "name": "PageWriteType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?comp=page&clear": { + "put": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_ClearPages", + "description": "The Clear Pages operation clears a set of pages from a page blob", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfSequenceNumberLessThanOrEqualTo" + }, + { + "$ref": "#/parameters/IfSequenceNumberLessThan" + }, + { + "$ref": "#/parameters/IfSequenceNumberEqualTo" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The page range was cleared.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for the page blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "page" + ] + }, + { + "name": "x-ms-page-write", + "x-ms-client-name": "pageWrite", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Required. You may specify one of the following options:\n - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update.\n - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and the Range header to a value that indicates the range to clear, up to maximum blob size.", + "type": "string", + "enum": [ + "clear" + ], + "x-ms-enum": { + "name": "PageWriteType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?comp=page&update&fromUrl": { + "put": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_UploadPagesFromURL", + "description": "The Upload Pages operation writes a range of pages to a page blob where the contents are read from a URL", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/SourceUrl" + }, + { + "$ref": "#/parameters/SourceRangeRequiredPutPageFromUrl" + }, + { + "$ref": "#/parameters/SourceContentMD5" + }, + { + "$ref": "#/parameters/SourceContentCRC64" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/RangeRequiredPutPageFromUrl" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfSequenceNumberLessThanOrEqualTo" + }, + { + "$ref": "#/parameters/IfSequenceNumberLessThan" + }, + { + "$ref": "#/parameters/IfSequenceNumberEqualTo" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + } + ], + "responses": { + "201": { + "description": "The page range was written.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for the page blob." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "page" + ] + }, + { + "name": "x-ms-page-write", + "x-ms-client-name": "pageWrite", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Required. You may specify one of the following options:\n - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update.\n - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and the Range header to a value that indicates the range to clear, up to maximum blob size.", + "type": "string", + "enum": [ + "update" + ], + "x-ms-enum": { + "name": "PageWriteType", + "modelAsString": false + } + } + ] + }, + "/{containerName}/{blob}?comp=pagelist": { + "get": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_GetPageRanges", + "description": "The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a page blob", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Information on the page blob was found.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "x-ms-blob-content-length": { + "x-ms-client-name": "BlobContentLength", + "type": "integer", + "format": "int64", + "description": "The size of the blob in bytes." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/PageList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "pagelist" + ] + } + ] + }, + "/{containerName}/{blob}?comp=pagelist&diff": { + "get": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_GetPageRangesDiff", + "description": "The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were changed between target blob and previous snapshot.", + "parameters": [ + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/PrevSnapshot" + }, + { + "$ref": "#/parameters/PrevSnapshotUrl" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Information on the page blob was found.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "x-ms-blob-content-length": { + "x-ms-client-name": "BlobContentLength", + "type": "integer", + "format": "int64", + "description": "The size of the blob in bytes." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/PageList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "pagelist" + ] + } + ] + }, + "/{containerName}/{blob}?comp=properties&Resize": { + "put": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_Resize", + "description": "Resize the Blob", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/BlobContentLengthRequired" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Blob was resized successfully", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{containerName}/{blob}?comp=properties&UpdateSequenceNumber": { + "put": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_UpdateSequenceNumber", + "description": "Update the sequence number of the blob", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/SequenceNumberAction" + }, + { + "$ref": "#/parameters/BlobSequenceNumber" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The sequence numbers were updated successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{containerName}/{blob}?comp=incrementalcopy": { + "put": { + "tags": [ + "pageblob" + ], + "operationId": "PageBlob_CopyIncremental", + "description": "The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob. The snapshot is copied such that only the differential changes between the previously copied snapshot are transferred to the destination. The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual. This API is supported since REST version 2016-05-31.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "The blob was copied.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "incrementalcopy" + ] + } + ] + }, + "/{containerName}/{blob}?comp=appendblock": { + "put": { + "tags": [ + "appendblob" + ], + "consumes": [ + "application/octet-stream" + ], + "operationId": "AppendBlob_AppendBlock", + "description": "The Append Block operation commits a new block of data to the end of an existing append blob. The Append Block operation is permitted only if the blob was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version 2015-02-21 version or later.", + "parameters": [ + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobConditionMaxSize" + }, + { + "$ref": "#/parameters/BlobConditionAppendPos" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The block was created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-append-offset": { + "x-ms-client-name": "BlobAppendOffset", + "type": "string", + "description": "This response header is returned only for append operations. It returns the offset at which the block was committed, in bytes." + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the block. This header is only returned when the block was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "appendblock" + ] + } + ] + }, + "/{containerName}/{blob}?comp=appendblock&fromUrl": { + "put": { + "tags": [ + "appendblob" + ], + "operationId": "AppendBlob_AppendBlockFromUrl", + "description": "The Append Block operation commits a new block of data to the end of an existing append blob where the contents are read from a source url. The Append Block operation is permitted only if the blob was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version 2015-02-21 version or later.", + "parameters": [ + { + "$ref": "#/parameters/SourceUrl" + }, + { + "$ref": "#/parameters/SourceRange" + }, + { + "$ref": "#/parameters/SourceContentMD5" + }, + { + "$ref": "#/parameters/SourceContentCRC64" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobConditionMaxSize" + }, + { + "$ref": "#/parameters/BlobConditionAppendPos" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + } + ], + "responses": { + "201": { + "description": "The block was created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-append-offset": { + "x-ms-client-name": "BlobAppendOffset", + "type": "string", + "description": "This response header is returned only for append operations. It returns the offset at which the block was committed, in bytes." + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the block. This header is only returned when the block was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "appendblock" + ] + } + ] + }, + "/{containerName}/{blob}?comp=seal": { + "put": { + "tags": [ + "appendblob" + ], + "operationId": "AppendBlob_Seal", + "description": "The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version 2019-12-12 version or later.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/BlobConditionAppendPos" + } + ], + "responses": { + "200": { + "description": "The blob was sealed.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean", + "description": "If this blob has been sealed" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "seal" + ] + } + ] + }, + "/{containerName}/{blob}?comp=query": { + "post": { + "tags": [ + "blob" + ], + "operationId": "Blob_Query", + "description": "The Query operation enables users to select/project on blob data by providing simple query expressions.", + "parameters": [ + { + "$ref": "#/parameters/QueryRequest" + }, + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Returns the content of the entire blob.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-meta": { + "type": "string", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For Download Blob this is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the blob by setting the 'Range' request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Encoding request header" + }, + "Cache-Control": { + "type": "string", + "description": "This header is returned if it was previously specified for the blob." + }, + "Content-Disposition": { + "type": "string", + "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified." + }, + "Content-Language": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Language request header." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-blob-type": { + "x-ms-client-name": "BlobType", + "description": "The blob's type.", + "type": "string", + "enum": [ + "BlockBlob", + "PageBlob", + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the blob.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the blob.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial blob content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + }, + "x-ms-blob-content-md5": { + "x-ms-client-name": "BlobContentMD5", + "type": "string", + "format": "byte", + "description": "If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range" + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "206": { + "description": "Returns the content of a specified range of the blob.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-meta": { + "type": "string", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For Download Blob this is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the blob by setting the 'Range' request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Encoding request header" + }, + "Cache-Control": { + "type": "string", + "description": "This header is returned if it was previously specified for the blob." + }, + "Content-Disposition": { + "type": "string", + "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified." + }, + "Content-Language": { + "type": "string", + "description": "This header returns the value that was specified for the Content-Language request header." + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "BlobSequenceNumber", + "type": "integer", + "format": "int64", + "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" + }, + "x-ms-blob-type": { + "x-ms-client-name": "BlobType", + "description": "The blob's type.", + "type": "string", + "enum": [ + "BlockBlob", + "PageBlob", + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + }, + "x-ms-content-crc64": { + "x-ms-client-name": "ContentCrc64", + "type": "string", + "format": "byte", + "description": "If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to true, then the request returns a crc64 for the range, as long as the range size is less than or equal to 4 MB. If both x-ms-range-get-content-crc64 and x-ms-range-get-content-md5 is specified in the same request, it will fail with 400(Bad Request)" + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the blob.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the blob.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial blob content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + }, + "x-ms-blob-committed-block-count": { + "x-ms-client-name": "BlobCommittedBlockCount", + "type": "integer", + "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-encryption-scope": { + "x-ms-client-name": "EncryptionScope", + "type": "string", + "description": "Returns the name of the encryption scope used to encrypt the blob contents and application metadata. Note that the absence of this header implies use of the default account encryption scope." + }, + "x-ms-blob-content-md5": { + "x-ms-client-name": "BlobContentMD5", + "type": "string", + "format": "byte", + "description": "If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range" + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "query" + ] + } + ] + }, + "/{containerName}/{blob}?comp=tags": { + "get": { + "tags": [ + "blob" + ], + "operationId": "Blob_GetTags", + "description": "The Get Tags operation enables users to get the tags associated with a blob.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Snapshot" + }, + { + "$ref": "#/parameters/VersionId" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Retrieved blob tags", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/BlobTags" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "put": { + "tags": [ + "blob" + ], + "operationId": "Blob_SetTags", + "description": "The Set Tags operation enables users to set tags on a blob.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/VersionId" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/IfTags" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/BlobTagsBody" + } + ], + "responses": { + "204": { + "description": "The tags were applied to the blob", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/Blob" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "tags" + ] + } + ] + } + }, + "definitions": { + "KeyInfo": { + "type": "object", + "required": [ + "Start", + "Expiry" + ], + "description": "Key information", + "properties": { + "Start": { + "description": "The date-time the key is active in ISO 8601 UTC time", + "type": "string" + }, + "Expiry": { + "description": "The date-time the key expires in ISO 8601 UTC time", + "type": "string" + } + } + }, + "UserDelegationKey": { + "type": "object", + "required": [ + "SignedOid", + "SignedTid", + "SignedStart", + "SignedExpiry", + "SignedService", + "SignedVersion", + "Value" + ], + "description": "A user delegation key", + "properties": { + "SignedOid": { + "description": "The Azure Active Directory object ID in GUID format.", + "type": "string" + }, + "SignedTid": { + "description": "The Azure Active Directory tenant ID in GUID format", + "type": "string" + }, + "SignedStart": { + "description": "The date-time the key is active", + "type": "string", + "format": "date-time" + }, + "SignedExpiry": { + "description": "The date-time the key expires", + "type": "string", + "format": "date-time" + }, + "SignedService": { + "description": "Abbreviation of the Azure Storage service that accepts the key", + "type": "string" + }, + "SignedVersion": { + "description": "The service version that created the key", + "type": "string" + }, + "Value": { + "description": "The key as a base64 string", + "type": "string" + } + } + }, + "PublicAccessType": { + "type": "string", + "enum": [ + "container", + "blob" + ], + "x-ms-enum": { + "name": "PublicAccessType", + "modelAsString": true + } + }, + "CopyStatus": { + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "LeaseDuration": { + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "LeaseState": { + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "LeaseStatus": { + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "StorageError": { + "type": "object", + "properties": { + "Message": { + "type": "string" + } + } + }, + "AccessPolicy": { + "type": "object", + "description": "An Access policy", + "properties": { + "Start": { + "description": "the date-time the policy is active", + "type": "string", + "format": "date-time" + }, + "Expiry": { + "description": "the date-time the policy expires", + "type": "string", + "format": "date-time" + }, + "Permission": { + "description": "the permissions for the acl policy", + "type": "string" + } + } + }, + "AccessTier": { + "type": "string", + "enum": [ + "P4", + "P6", + "P10", + "P15", + "P20", + "P30", + "P40", + "P50", + "P60", + "P70", + "P80", + "Hot", + "Cool", + "Archive" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": true + } + }, + "ArchiveStatus": { + "type": "string", + "enum": [ + "rehydrate-pending-to-hot", + "rehydrate-pending-to-cool" + ], + "x-ms-enum": { + "name": "ArchiveStatus", + "modelAsString": true + } + }, + "BlobItemInternal": { + "xml": { + "name": "Blob" + }, + "description": "An Azure Storage blob", + "type": "object", + "required": [ + "Name", + "Deleted", + "Snapshot", + "Properties" + ], + "properties": { + "Name": { + "$ref": "#/definitions/BlobName" + }, + "Deleted": { + "type": "boolean" + }, + "Snapshot": { + "type": "string" + }, + "VersionId": { + "type": "string" + }, + "IsCurrentVersion": { + "type": "boolean" + }, + "Properties": { + "$ref": "#/definitions/BlobPropertiesInternal" + }, + "Metadata": { + "$ref": "#/definitions/BlobMetadata" + }, + "BlobTags": { + "$ref": "#/definitions/BlobTags" + }, + "ObjectReplicationMetadata": { + "$ref": "#/definitions/ObjectReplicationMetadata" + }, + "HasVersionsOnly": { + "type": "boolean" + } + } + }, + "BlobPropertiesInternal": { + "xml": { + "name": "Properties" + }, + "description": "Properties of a blob", + "type": "object", + "required": [ + "Etag", + "Last-Modified" + ], + "properties": { + "Creation-Time": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "Size in bytes" + }, + "Content-Type": { + "type": "string" + }, + "Content-Encoding": { + "type": "string" + }, + "Content-Language": { + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte" + }, + "Content-Disposition": { + "type": "string" + }, + "Cache-Control": { + "type": "string" + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "blobSequenceNumber", + "type": "integer", + "format": "int64" + }, + "BlobType": { + "type": "string", + "enum": [ + "BlockBlob", + "PageBlob", + "AppendBlob" + ], + "x-ms-enum": { + "name": "BlobType", + "modelAsString": false + } + }, + "LeaseStatus": { + "$ref": "#/definitions/LeaseStatus" + }, + "LeaseState": { + "$ref": "#/definitions/LeaseState" + }, + "LeaseDuration": { + "$ref": "#/definitions/LeaseDuration" + }, + "CopyId": { + "type": "string" + }, + "CopyStatus": { + "$ref": "#/definitions/CopyStatus" + }, + "CopySource": { + "type": "string" + }, + "CopyProgress": { + "type": "string" + }, + "CopyCompletionTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "CopyStatusDescription": { + "type": "string" + }, + "ServerEncrypted": { + "type": "boolean" + }, + "IncrementalCopy": { + "type": "boolean" + }, + "DestinationSnapshot": { + "type": "string" + }, + "DeletedTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "RemainingRetentionDays": { + "type": "integer" + }, + "AccessTier": { + "$ref": "#/definitions/AccessTier" + }, + "AccessTierInferred": { + "type": "boolean" + }, + "ArchiveStatus": { + "$ref": "#/definitions/ArchiveStatus" + }, + "CustomerProvidedKeySha256": { + "type": "string" + }, + "EncryptionScope": { + "type": "string", + "description": "The name of the encryption scope under which the blob is encrypted." + }, + "AccessTierChangeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "TagCount": { + "type": "integer" + }, + "Expiry-Time": { + "x-ms-client-name": "ExpiresOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "Sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean" + }, + "RehydratePriority": { + "$ref": "#/definitions/RehydratePriority" + }, + "LastAccessTime": { + "x-ms-client-name": "LastAccessedOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "ImmutabilityPolicyUntilDate": { + "x-ms-client-name": "ImmutabilityPolicyExpiresOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "ImmutabilityPolicyMode": { + "type": "string", + "enum": [ + "Mutable", + "Unlocked", + "Locked" + ], + "x-ms-enum": { + "name": "BlobImmutabilityPolicyMode", + "modelAsString": false + } + }, + "LegalHold": { + "type": "boolean" + } + } + }, + "ListBlobsFlatSegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of blobs", + "type": "object", + "required": [ + "ServiceEndpoint", + "ContainerName", + "Segment" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ContainerName": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "Segment": { + "$ref": "#/definitions/BlobFlatListSegment" + }, + "NextMarker": { + "type": "string" + } + } + }, + "ListBlobsHierarchySegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of blobs", + "type": "object", + "required": [ + "ServiceEndpoint", + "ContainerName", + "Segment" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ContainerName": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "Delimiter": { + "type": "string" + }, + "Segment": { + "$ref": "#/definitions/BlobHierarchyListSegment" + }, + "NextMarker": { + "type": "string" + } + } + }, + "BlobFlatListSegment": { + "xml": { + "name": "Blobs" + }, + "required": [ + "BlobItems" + ], + "type": "object", + "properties": { + "BlobItems": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobItemInternal" + } + } + } + }, + "BlobHierarchyListSegment": { + "xml": { + "name": "Blobs" + }, + "type": "object", + "required": [ + "BlobItems" + ], + "properties": { + "BlobPrefixes": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobPrefix" + } + }, + "BlobItems": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobItemInternal" + } + } + } + }, + "BlobPrefix": { + "type": "object", + "required": [ + "Name" + ], + "properties": { + "Name": { + "$ref": "#/definitions/BlobName" + } + } + }, + "BlobName": { + "type": "object", + "properties": { + "Encoded": { + "xml": { + "attribute": true, + "name": "Encoded" + }, + "type": "boolean", + "description": "Indicates if the blob name is encoded." + }, + "content": { + "xml": { + "x-ms-text": true + }, + "type": "string", + "description": "The name of the blob." + } + } + }, + "BlobTag": { + "xml": { + "name": "Tag" + }, + "type": "object", + "required": [ + "Key", + "Value" + ], + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + } + }, + "BlobTags": { + "type": "object", + "xml": { + "name": "Tags" + }, + "description": "Blob tags", + "required": [ + "BlobTagSet" + ], + "properties": { + "BlobTagSet": { + "xml": { + "wrapped": true, + "name": "TagSet" + }, + "type": "array", + "items": { + "$ref": "#/definitions/BlobTag" + } + } + } + }, + "Block": { + "type": "object", + "required": [ + "Name", + "Size" + ], + "description": "Represents a single block in a block blob. It describes the block's ID and size.", + "properties": { + "Name": { + "description": "The base64 encoded block ID.", + "type": "string" + }, + "Size": { + "description": "The block size in bytes.", + "type": "integer", + "format": "int64" + } + } + }, + "BlockList": { + "type": "object", + "properties": { + "CommittedBlocks": { + "xml": { + "wrapped": true + }, + "type": "array", + "items": { + "$ref": "#/definitions/Block" + } + }, + "UncommittedBlocks": { + "xml": { + "wrapped": true + }, + "type": "array", + "items": { + "$ref": "#/definitions/Block" + } + } + } + }, + "BlockLookupList": { + "type": "object", + "properties": { + "Committed": { + "type": "array", + "items": { + "type": "string", + "xml": { + "name": "Committed" + } + } + }, + "Uncommitted": { + "type": "array", + "items": { + "type": "string", + "xml": { + "name": "Uncommitted" + } + } + }, + "Latest": { + "type": "array", + "items": { + "type": "string", + "xml": { + "name": "Latest" + } + } + } + }, + "xml": { + "name": "BlockList" + } + }, + "ContainerItem": { + "xml": { + "name": "Container" + }, + "type": "object", + "required": [ + "Name", + "Properties" + ], + "description": "An Azure Storage container", + "properties": { + "Name": { + "type": "string" + }, + "Deleted": { + "type": "boolean" + }, + "Version": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/ContainerProperties" + }, + "Metadata": { + "$ref": "#/definitions/ContainerMetadata" + } + } + }, + "ContainerProperties": { + "type": "object", + "required": [ + "Last-Modified", + "Etag" + ], + "description": "Properties of a container", + "properties": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + }, + "LeaseStatus": { + "$ref": "#/definitions/LeaseStatus" + }, + "LeaseState": { + "$ref": "#/definitions/LeaseState" + }, + "LeaseDuration": { + "$ref": "#/definitions/LeaseDuration" + }, + "PublicAccess": { + "$ref": "#/definitions/PublicAccessType" + }, + "HasImmutabilityPolicy": { + "type": "boolean" + }, + "HasLegalHold": { + "type": "boolean" + }, + "DefaultEncryptionScope": { + "type": "string" + }, + "DenyEncryptionScopeOverride": { + "type": "boolean", + "x-ms-client-name": "PreventEncryptionScopeOverride" + }, + "DeletedTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "RemainingRetentionDays": { + "type": "integer" + }, + "ImmutableStorageWithVersioningEnabled": { + "x-ms-client-name": "IsImmutableStorageWithVersioningEnabled", + "type": "boolean", + "description": "Indicates if version level worm is enabled on this container." + } + } + }, + "DelimitedTextConfiguration": { + "xml": { + "name": "DelimitedTextConfiguration" + }, + "description": "Groups the settings used for interpreting the blob data if the blob is delimited text formatted.", + "type": "object", + "properties": { + "ColumnSeparator": { + "type": "string", + "description": "The string used to separate columns.", + "xml": { + "name": "ColumnSeparator" + } + }, + "FieldQuote": { + "type": "string", + "description": "The string used to quote a specific field.", + "xml": { + "name": "FieldQuote" + } + }, + "RecordSeparator": { + "type": "string", + "description": "The string used to separate records.", + "xml": { + "name": "RecordSeparator" + } + }, + "EscapeChar": { + "type": "string", + "description": "The string used as an escape character.", + "xml": { + "name": "EscapeChar" + } + }, + "HeadersPresent": { + "type": "boolean", + "description": "Represents whether the data has headers.", + "xml": { + "name": "HasHeaders" + } + } + } + }, + "JsonTextConfiguration": { + "xml": { + "name": "JsonTextConfiguration" + }, + "description": "json text configuration", + "type": "object", + "properties": { + "RecordSeparator": { + "type": "string", + "description": "The string used to separate records.", + "xml": { + "name": "RecordSeparator" + } + } + } + }, + "ArrowConfiguration": { + "xml": { + "name": "ArrowConfiguration" + }, + "description": "Groups the settings used for formatting the response if the response should be Arrow formatted.", + "type": "object", + "required": [ + "Schema" + ], + "properties": { + "Schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ArrowField" + }, + "xml": { + "wrapped": true, + "name": "Schema" + } + } + } + }, + "ParquetConfiguration": { + "xml": { + "name": "ParquetTextConfiguration" + }, + "description": "parquet configuration", + "type": "object" + }, + "ArrowField": { + "xml": { + "name": "Field" + }, + "description": "Groups settings regarding specific field of an arrow schema", + "type": "object", + "required": [ + "Type" + ], + "properties": { + "Type": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Precision": { + "type": "integer" + }, + "Scale": { + "type": "integer" + } + } + }, + "ListContainersSegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of containers", + "type": "object", + "required": [ + "ServiceEndpoint", + "ContainerItems" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "ContainerItems": { + "xml": { + "wrapped": true, + "name": "Containers" + }, + "type": "array", + "items": { + "$ref": "#/definitions/ContainerItem" + } + }, + "NextMarker": { + "type": "string" + } + } + }, + "CorsRule": { + "description": "CORS is an HTTP feature that enables a web application running under one domain to access resources in another domain. Web browsers implement a security restriction known as same-origin policy that prevents a web page from calling APIs in a different domain; CORS provides a secure way to allow one domain (the origin domain) to call APIs in another domain", + "type": "object", + "required": [ + "AllowedOrigins", + "AllowedMethods", + "AllowedHeaders", + "ExposedHeaders", + "MaxAgeInSeconds" + ], + "properties": { + "AllowedOrigins": { + "description": "The origin domains that are permitted to make a request against the storage service via CORS. The origin domain is the domain from which the request originates. Note that the origin must be an exact case-sensitive match with the origin that the user age sends to the service. You can also use the wildcard character '*' to allow all origin domains to make requests via CORS.", + "type": "string" + }, + "AllowedMethods": { + "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request. (comma separated)", + "type": "string" + }, + "AllowedHeaders": { + "description": "the request headers that the origin domain may specify on the CORS request.", + "type": "string" + }, + "ExposedHeaders": { + "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer", + "type": "string" + }, + "MaxAgeInSeconds": { + "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.", + "type": "integer", + "minimum": 0 + } + } + }, + "ErrorCode": { + "description": "Error codes returned by the service", + "type": "string", + "enum": [ + "AccountAlreadyExists", + "AccountBeingCreated", + "AccountIsDisabled", + "AuthenticationFailed", + "AuthorizationFailure", + "ConditionHeadersNotSupported", + "ConditionNotMet", + "EmptyMetadataKey", + "InsufficientAccountPermissions", + "InternalError", + "InvalidAuthenticationInfo", + "InvalidHeaderValue", + "InvalidHttpVerb", + "InvalidInput", + "InvalidMd5", + "InvalidMetadata", + "InvalidQueryParameterValue", + "InvalidRange", + "InvalidResourceName", + "InvalidUri", + "InvalidXmlDocument", + "InvalidXmlNodeValue", + "Md5Mismatch", + "MetadataTooLarge", + "MissingContentLengthHeader", + "MissingRequiredQueryParameter", + "MissingRequiredHeader", + "MissingRequiredXmlNode", + "MultipleConditionHeadersNotSupported", + "OperationTimedOut", + "OutOfRangeInput", + "OutOfRangeQueryParameterValue", + "RequestBodyTooLarge", + "ResourceTypeMismatch", + "RequestUrlFailedToParse", + "ResourceAlreadyExists", + "ResourceNotFound", + "ServerBusy", + "UnsupportedHeader", + "UnsupportedXmlNode", + "UnsupportedQueryParameter", + "UnsupportedHttpVerb", + "AppendPositionConditionNotMet", + "BlobAlreadyExists", + "BlobImmutableDueToPolicy", + "BlobNotFound", + "BlobOverwritten", + "BlobTierInadequateForContentLength", + "BlobUsesCustomerSpecifiedEncryption", + "BlockCountExceedsLimit", + "BlockListTooLong", + "CannotChangeToLowerTier", + "CannotVerifyCopySource", + "ContainerAlreadyExists", + "ContainerBeingDeleted", + "ContainerDisabled", + "ContainerNotFound", + "ContentLengthLargerThanTierLimit", + "CopyAcrossAccountsNotSupported", + "CopyIdMismatch", + "FeatureVersionMismatch", + "IncrementalCopyBlobMismatch", + "IncrementalCopyOfEralierVersionSnapshotNotAllowed", + "IncrementalCopySourceMustBeSnapshot", + "InfiniteLeaseDurationRequired", + "InvalidBlobOrBlock", + "InvalidBlobTier", + "InvalidBlobType", + "InvalidBlockId", + "InvalidBlockList", + "InvalidOperation", + "InvalidPageRange", + "InvalidSourceBlobType", + "InvalidSourceBlobUrl", + "InvalidVersionForPageBlobOperation", + "LeaseAlreadyPresent", + "LeaseAlreadyBroken", + "LeaseIdMismatchWithBlobOperation", + "LeaseIdMismatchWithContainerOperation", + "LeaseIdMismatchWithLeaseOperation", + "LeaseIdMissing", + "LeaseIsBreakingAndCannotBeAcquired", + "LeaseIsBreakingAndCannotBeChanged", + "LeaseIsBrokenAndCannotBeRenewed", + "LeaseLost", + "LeaseNotPresentWithBlobOperation", + "LeaseNotPresentWithContainerOperation", + "LeaseNotPresentWithLeaseOperation", + "MaxBlobSizeConditionNotMet", + "NoAuthenticationInformation", + "NoPendingCopyOperation", + "OperationNotAllowedOnIncrementalCopyBlob", + "PendingCopyOperation", + "PreviousSnapshotCannotBeNewer", + "PreviousSnapshotNotFound", + "PreviousSnapshotOperationNotSupported", + "SequenceNumberConditionNotMet", + "SequenceNumberIncrementTooLarge", + "SnapshotCountExceeded", + "SnapshotOperationRateExceeded", + "SnapshotsPresent", + "SourceConditionNotMet", + "SystemInUse", + "TargetConditionNotMet", + "UnauthorizedBlobOverwrite", + "BlobBeingRehydrated", + "BlobArchived", + "BlobNotArchived", + "AuthorizationSourceIPMismatch", + "AuthorizationProtocolMismatch", + "AuthorizationPermissionMismatch", + "AuthorizationServiceMismatch", + "AuthorizationResourceTypeMismatch" + ], + "x-ms-enum": { + "name": "StorageErrorCode", + "modelAsString": true + } + }, + "FilterBlobItem": { + "xml": { + "name": "Blob" + }, + "description": "Blob info from a Filter Blobs API call", + "type": "object", + "required": [ + "Name", + "ContainerName" + ], + "properties": { + "Name": { + "type": "string" + }, + "ContainerName": { + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/BlobTags" + } + } + }, + "FilterBlobSegment": { + "description": "The result of a Filter Blobs API call", + "xml": { + "name": "EnumerationResults" + }, + "type": "object", + "required": [ + "ServiceEndpoint", + "Where", + "Blobs" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Where": { + "type": "string" + }, + "Blobs": { + "xml": { + "name": "Blobs", + "wrapped": true + }, + "type": "array", + "items": { + "$ref": "#/definitions/FilterBlobItem" + } + }, + "NextMarker": { + "type": "string" + } + } + }, + "GeoReplication": { + "description": "Geo-Replication information for the Secondary Storage Service", + "type": "object", + "required": [ + "Status", + "LastSyncTime" + ], + "properties": { + "Status": { + "description": "The status of the secondary location", + "type": "string", + "enum": [ + "live", + "bootstrap", + "unavailable" + ], + "x-ms-enum": { + "name": "GeoReplicationStatusType", + "modelAsString": true + } + }, + "LastSyncTime": { + "description": "A GMT date/time value, to the second. All primary writes preceding this value are guaranteed to be available for read operations at the secondary. Primary writes after this point in time may or may not be available for reads.", + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "Logging": { + "description": "Azure Analytics Logging settings.", + "type": "object", + "required": [ + "Version", + "Delete", + "Read", + "Write", + "RetentionPolicy" + ], + "properties": { + "Version": { + "description": "The version of Storage Analytics to configure.", + "type": "string" + }, + "Delete": { + "description": "Indicates whether all delete requests should be logged.", + "type": "boolean" + }, + "Read": { + "description": "Indicates whether all read requests should be logged.", + "type": "boolean" + }, + "Write": { + "description": "Indicates whether all write requests should be logged.", + "type": "boolean" + }, + "RetentionPolicy": { + "$ref": "#/definitions/RetentionPolicy" + } + } + }, + "ContainerMetadata": { + "type": "object", + "xml": { + "name": "Metadata" + }, + "additionalProperties": { + "type": "string" + } + }, + "BlobMetadata": { + "type": "object", + "xml": { + "name": "Metadata" + }, + "properties": { + "Encrypted": { + "type": "string", + "xml": { + "attribute": true + } + } + }, + "additionalProperties": { + "type": "string" + } + }, + "ObjectReplicationMetadata": { + "type": "object", + "xml": { + "name": "OrMetadata" + }, + "additionalProperties": { + "type": "string" + } + }, + "Metrics": { + "description": "a summary of request statistics grouped by API in hour or minute aggregates for blobs", + "required": [ + "Enabled" + ], + "properties": { + "Version": { + "description": "The version of Storage Analytics to configure.", + "type": "string" + }, + "Enabled": { + "description": "Indicates whether metrics are enabled for the Blob service.", + "type": "boolean" + }, + "IncludeAPIs": { + "description": "Indicates whether metrics should generate summary statistics for called API operations.", + "type": "boolean" + }, + "RetentionPolicy": { + "$ref": "#/definitions/RetentionPolicy" + } + } + }, + "PageList": { + "description": "the list of pages", + "type": "object", + "properties": { + "PageRange": { + "type": "array", + "items": { + "$ref": "#/definitions/PageRange" + } + }, + "ClearRange": { + "type": "array", + "items": { + "$ref": "#/definitions/ClearRange" + } + } + } + }, + "PageRange": { + "type": "object", + "required": [ + "Start", + "End" + ], + "properties": { + "Start": { + "type": "integer", + "format": "int64", + "xml": { + "name": "Start" + } + }, + "End": { + "type": "integer", + "format": "int64", + "xml": { + "name": "End" + } + } + }, + "xml": { + "name": "PageRange" + } + }, + "ClearRange": { + "type": "object", + "required": [ + "Start", + "End" + ], + "properties": { + "Start": { + "type": "integer", + "format": "int64", + "xml": { + "name": "Start" + } + }, + "End": { + "type": "integer", + "format": "int64", + "xml": { + "name": "End" + } + } + }, + "xml": { + "name": "ClearRange" + } + }, + "QueryRequest": { + "description": "Groups the set of query request settings.", + "type": "object", + "required": [ + "QueryType", + "Expression" + ], + "properties": { + "QueryType": { + "type": "string", + "description": "Required. The type of the provided query expression.", + "xml": { + "name": "QueryType" + }, + "enum": [ + "SQL" + ] + }, + "Expression": { + "type": "string", + "description": "The query expression in SQL. The maximum size of the query expression is 256KiB.", + "xml": { + "name": "Expression" + } + }, + "InputSerialization": { + "$ref": "#/definitions/QuerySerialization", + "xml": { + "name": "InputSerialization" + } + }, + "OutputSerialization": { + "$ref": "#/definitions/QuerySerialization", + "xml": { + "name": "OutputSerialization" + } + } + }, + "xml": { + "name": "QueryRequest" + } + }, + "QueryFormat": { + "type": "object", + "required": [ + "Type" + ], + "properties": { + "Type": { + "$ref": "#/definitions/QueryType" + }, + "DelimitedTextConfiguration": { + "$ref": "#/definitions/DelimitedTextConfiguration" + }, + "JsonTextConfiguration": { + "$ref": "#/definitions/JsonTextConfiguration" + }, + "ArrowConfiguration": { + "$ref": "#/definitions/ArrowConfiguration" + }, + "ParquetTextConfiguration": { + "$ref": "#/definitions/ParquetConfiguration" + } + } + }, + "QuerySerialization": { + "type": "object", + "required": [ + "Format" + ], + "properties": { + "Format": { + "$ref": "#/definitions/QueryFormat", + "xml": { + "name": "Format" + } + } + } + }, + "QueryType": { + "type": "string", + "description": "The quick query format type.", + "enum": [ + "delimited", + "json", + "arrow", + "parquet" + ], + "x-ms-enum": { + "name": "QueryFormatType", + "modelAsString": false + }, + "xml": { + "name": "Type" + } + }, + "RehydratePriority": { + "description": "If an object is in rehydrate pending state then this header is returned with priority of rehydrate. Valid values are High and Standard.", + "type": "string", + "enum": [ + "High", + "Standard" + ], + "x-ms-enum": { + "name": "RehydratePriority", + "modelAsString": true + }, + "xml": { + "name": "RehydratePriority" + } + }, + "RetentionPolicy": { + "description": "the retention policy which determines how long the associated data should persist", + "type": "object", + "required": [ + "Enabled" + ], + "properties": { + "Enabled": { + "description": "Indicates whether a retention policy is enabled for the storage service", + "type": "boolean" + }, + "Days": { + "description": "Indicates the number of days that metrics or logging or soft-deleted data should be retained. All data older than this value will be deleted", + "type": "integer", + "minimum": 1 + }, + "AllowPermanentDelete": { + "description": "Indicates whether permanent delete is allowed on this storage account.", + "type": "boolean" + } + } + }, + "SignedIdentifier": { + "xml": { + "name": "SignedIdentifier" + }, + "description": "signed identifier", + "type": "object", + "required": [ + "Id", + "AccessPolicy" + ], + "properties": { + "Id": { + "type": "string", + "description": "a unique id" + }, + "AccessPolicy": { + "$ref": "#/definitions/AccessPolicy" + } + } + }, + "SignedIdentifiers": { + "description": "a collection of signed identifiers", + "type": "array", + "items": { + "$ref": "#/definitions/SignedIdentifier" + }, + "xml": { + "wrapped": true, + "name": "SignedIdentifiers" + } + }, + "StaticWebsite": { + "description": "The properties that enable an account to host a static website", + "type": "object", + "required": [ + "Enabled" + ], + "properties": { + "Enabled": { + "description": "Indicates whether this account is hosting a static website", + "type": "boolean" + }, + "IndexDocument": { + "description": "The default name of the index page under each directory", + "type": "string" + }, + "ErrorDocument404Path": { + "description": "The absolute path of the custom 404 page", + "type": "string" + }, + "DefaultIndexDocumentPath": { + "description": "Absolute path of the default index page", + "type": "string" + } + } + }, + "StorageServiceProperties": { + "description": "Storage Service Properties.", + "type": "object", + "properties": { + "Logging": { + "$ref": "#/definitions/Logging" + }, + "HourMetrics": { + "$ref": "#/definitions/Metrics" + }, + "MinuteMetrics": { + "$ref": "#/definitions/Metrics" + }, + "Cors": { + "description": "The set of CORS rules.", + "type": "array", + "items": { + "$ref": "#/definitions/CorsRule" + }, + "xml": { + "wrapped": true + } + }, + "DefaultServiceVersion": { + "description": "The default version to use for requests to the Blob service if an incoming request's version is not specified. Possible values include version 2008-10-27 and all more recent versions", + "type": "string" + }, + "DeleteRetentionPolicy": { + "$ref": "#/definitions/RetentionPolicy" + }, + "StaticWebsite": { + "$ref": "#/definitions/StaticWebsite" + } + } + }, + "StorageServiceStats": { + "description": "Stats for the storage service.", + "type": "object", + "properties": { + "GeoReplication": { + "$ref": "#/definitions/GeoReplication" + } + } + } + }, + "parameters": { + "Url": { + "name": "url", + "description": "The URL of the service account, container, or blob that is the target of the desired operation.", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "ApiVersionParameter": { + "name": "x-ms-version", + "x-ms-parameter-location": "client", + "x-ms-client-name": "version", + "in": "header", + "required": true, + "type": "string", + "description": "Specifies the version of the operation to use for this request.", + "enum": [ + "2021-04-10" + ] + }, + "Blob": { + "name": "blob", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+(?:/[a-zA-Z0-9]+)*(?:\\.[a-zA-Z0-9]+){0,1}$", + "minLength": 1, + "maxLength": 1024, + "x-ms-parameter-location": "method", + "description": "The blob name." + }, + "BlobCacheControl": { + "name": "x-ms-blob-cache-control", + "x-ms-client-name": "blobCacheControl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "blob-HTTP-headers" + }, + "description": "Optional. Sets the blob's cache control. If specified, this property is stored with the blob and returned with a read request." + }, + "BlobConditionAppendPos": { + "name": "x-ms-blob-condition-appendpos", + "x-ms-client-name": "appendPosition", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "append-position-access-conditions" + }, + "description": "Optional conditional header, used only for the Append Block operation. A number indicating the byte offset to compare. Append Block will succeed only if the append position is equal to this number. If it is not, the request will fail with the AppendPositionConditionNotMet error (HTTP status code 412 - Precondition Failed)." + }, + "BlobConditionMaxSize": { + "name": "x-ms-blob-condition-maxsize", + "x-ms-client-name": "maxSize", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "append-position-access-conditions" + }, + "description": "Optional conditional header. The max length in bytes permitted for the append blob. If the Append Block operation would cause the blob to exceed that limit or if the blob size is already greater than the value specified in this header, the request will fail with MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition Failed)." + }, + "BlobPublicAccess": { + "name": "x-ms-blob-public-access", + "x-ms-client-name": "access", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "description": "Specifies whether data in the container may be accessed publicly and the level of access", + "type": "string", + "enum": [ + "container", + "blob" + ], + "x-ms-enum": { + "name": "PublicAccessType", + "modelAsString": true + } + }, + "BlobTagsBody": { + "name": "Tags", + "in": "body", + "schema": { + "$ref": "#/definitions/BlobTags" + }, + "x-ms-parameter-location": "method", + "description": "Blob tags" + }, + "BlobTagsHeader": { + "name": "x-ms-tags", + "x-ms-client-name": "BlobTagsString", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional. Used to set blob tags in various blob operations." + }, + "AccessTierRequired": { + "name": "x-ms-access-tier", + "x-ms-client-name": "tier", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "P4", + "P6", + "P10", + "P15", + "P20", + "P30", + "P40", + "P50", + "P60", + "P70", + "P80", + "Hot", + "Cool", + "Archive" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Indicates the tier to be set on the blob." + }, + "AccessTierOptional": { + "name": "x-ms-access-tier", + "x-ms-client-name": "tier", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "P4", + "P6", + "P10", + "P15", + "P20", + "P30", + "P40", + "P50", + "P60", + "P70", + "P80", + "Hot", + "Cool", + "Archive" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Optional. Indicates the tier to be set on the blob." + }, + "PremiumPageBlobAccessTierOptional": { + "name": "x-ms-access-tier", + "x-ms-client-name": "tier", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "P4", + "P6", + "P10", + "P15", + "P20", + "P30", + "P40", + "P50", + "P60", + "P70", + "P80" + ], + "x-ms-enum": { + "name": "PremiumPageBlobAccessTier", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Optional. Indicates the tier to be set on the page blob." + }, + "RehydratePriority": { + "name": "x-ms-rehydrate-priority", + "x-ms-client-name": "rehydratePriority", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "High", + "Standard" + ], + "x-ms-enum": { + "name": "RehydratePriority", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Optional: Indicates the priority with which to rehydrate an archived blob." + }, + "BlobContentDisposition": { + "name": "x-ms-blob-content-disposition", + "x-ms-client-name": "blobContentDisposition", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "blob-HTTP-headers" + }, + "description": "Optional. Sets the blob's Content-Disposition header." + }, + "BlobContentEncoding": { + "name": "x-ms-blob-content-encoding", + "x-ms-client-name": "blobContentEncoding", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "blob-HTTP-headers" + }, + "description": "Optional. Sets the blob's content encoding. If specified, this property is stored with the blob and returned with a read request." + }, + "BlobContentLanguage": { + "name": "x-ms-blob-content-language", + "x-ms-client-name": "blobContentLanguage", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "blob-HTTP-headers" + }, + "description": "Optional. Set the blob's content language. If specified, this property is stored with the blob and returned with a read request." + }, + "BlobContentLengthOptional": { + "name": "x-ms-blob-content-length", + "x-ms-client-name": "blobContentLength", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "description": "This header specifies the maximum size for the page blob, up to 1 TB. The page blob size must be aligned to a 512-byte boundary." + }, + "BlobContentLengthRequired": { + "name": "x-ms-blob-content-length", + "x-ms-client-name": "blobContentLength", + "in": "header", + "required": true, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "description": "This header specifies the maximum size for the page blob, up to 1 TB. The page blob size must be aligned to a 512-byte boundary." + }, + "BlobContentMD5": { + "name": "x-ms-blob-content-md5", + "x-ms-client-name": "blobContentMD5", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "blob-HTTP-headers" + }, + "description": "Optional. An MD5 hash of the blob content. Note that this hash is not validated, as the hashes for the individual blocks were validated when each was uploaded." + }, + "BlobContentType": { + "name": "x-ms-blob-content-type", + "x-ms-client-name": "blobContentType", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "blob-HTTP-headers" + }, + "description": "Optional. Sets the blob's content type. If specified, this property is stored with the blob and returned with a read request." + }, + "BlobDeleteType": { + "name": "deletetype", + "x-ms-client-name": "blobDeleteType", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "Permanent" + ], + "x-ms-enum": { + "name": "BlobDeleteType", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Optional. Only possible value is 'permanent', which specifies to permanently delete a blob if blob soft delete is enabled." + }, + "BlobExpiryOptions": { + "name": "x-ms-expiry-option", + "x-ms-client-name": "ExpiryOptions", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "NeverExpire", + "RelativeToCreation", + "RelativeToNow", + "Absolute" + ], + "x-ms-enum": { + "name": "BlobExpiryOptions", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Required. Indicates mode of the expiry time" + }, + "BlobExpiryTime": { + "name": "x-ms-expiry-time", + "x-ms-client-name": "ExpiresOn", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The time to set the blob to expiry" + }, + "BlobSequenceNumber": { + "name": "x-ms-blob-sequence-number", + "x-ms-client-name": "blobSequenceNumber", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "default": 0, + "x-ms-parameter-location": "method", + "description": "Set for page blobs only. The sequence number is a user-controlled value that you can use to track requests. The value of the sequence number must be between 0 and 2^63 - 1." + }, + "BlockId": { + "name": "blockid", + "x-ms-client-name": "blockId", + "in": "query", + "type": "string", + "required": true, + "x-ms-parameter-location": "method", + "description": "A valid Base64 string value that identifies the block. Prior to encoding, the string must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified for the blockid parameter must be the same size for each block." + }, + "BlockListType": { + "name": "blocklisttype", + "x-ms-client-name": "listType", + "in": "query", + "required": true, + "default": "committed", + "x-ms-parameter-location": "method", + "description": "Specifies whether to return the list of committed blocks, the list of uncommitted blocks, or both lists together.", + "type": "string", + "enum": [ + "committed", + "uncommitted", + "all" + ], + "x-ms-enum": { + "name": "BlockListType", + "modelAsString": false + } + }, + "Body": { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "format": "file" + }, + "x-ms-parameter-location": "method", + "description": "Initial data" + }, + "ContainerAcl": { + "name": "containerAcl", + "in": "body", + "schema": { + "$ref": "#/definitions/SignedIdentifiers" + }, + "x-ms-parameter-location": "method", + "description": "the acls for the container" + }, + "CopyId": { + "name": "copyid", + "x-ms-client-name": "copyId", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The copy identifier provided in the x-ms-copy-id header of the original Copy Blob operation." + }, + "ClientRequestId": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "requestId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled." + }, + "ContainerName": { + "name": "containerName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The container name." + }, + "ContentCrc64": { + "name": "x-ms-content-crc64", + "x-ms-client-name": "transactionalContentCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the transactional crc64 for the body, to be validated by the service." + }, + "ContentLength": { + "name": "Content-Length", + "in": "header", + "required": true, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "description": "The length of the request." + }, + "ContentMD5": { + "name": "Content-MD5", + "x-ms-client-name": "transactionalContentMD5", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "CopySource": { + "name": "x-ms-copy-source", + "x-ms-client-name": "copySource", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the name of the source page blob snapshot. This value is a URL of up to 2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would appear in a request URI. The source blob must either be public or must be authenticated via a shared access signature." + }, + "CopySourceAuthorization": { + "name": "x-ms-copy-source-authorization", + "x-ms-client-name": "copySourceAuthorization", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Only Bearer type is supported. Credentials should be a valid OAuth access token to copy source." + }, + "CopySourceBlobProperties": { + "name": "x-ms-copy-source-blob-properties", + "x-ms-client-name": "copySourceBlobProperties", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Optional, default is true. Indicates if properties from the source blob should be copied." + }, + "DeleteSnapshots": { + "name": "x-ms-delete-snapshots", + "x-ms-client-name": "deleteSnapshots", + "description": "Required if the blob has associated snapshots. Specify one of the following two options: include: Delete the base blob and all of its snapshots. only: Delete only the blob's snapshots and not the blob itself", + "x-ms-parameter-location": "method", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "include", + "only" + ], + "x-ms-enum": { + "name": "DeleteSnapshotsOptionType", + "modelAsString": false + } + }, + "Delimiter": { + "name": "delimiter", + "description": "When the request includes this parameter, the operation returns a BlobPrefix element in the response body that acts as a placeholder for all blobs whose names begin with the same substring up to the appearance of the delimiter character. The delimiter may be a single character or a string.", + "type": "string", + "x-ms-parameter-location": "method", + "in": "query", + "required": true + }, + "EncryptionKey": { + "name": "x-ms-encryption-key", + "x-ms-client-name": "encryptionKey", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "Optional. Specifies the encryption key to use to encrypt the data provided in the request. If not specified, encryption is performed with the root account encryption key. For more information, see Encryption at Rest for Azure Storage Services." + }, + "EncryptionKeySha256": { + "name": "x-ms-encryption-key-sha256", + "x-ms-client-name": "encryptionKeySha256", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The SHA-256 hash of the provided encryption key. Must be provided if the x-ms-encryption-key header is provided." + }, + "EncryptionAlgorithm": { + "name": "x-ms-encryption-algorithm", + "x-ms-client-name": "encryptionAlgorithm", + "type": "string", + "in": "header", + "required": false, + "enum": [ + "AES256" + ], + "x-ms-enum": { + "name": "EncryptionAlgorithmType", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The algorithm used to produce the encryption key hash. Currently, the only accepted value is \"AES256\". Must be provided if the x-ms-encryption-key header is provided." + }, + "EncryptionScope": { + "name": "x-ms-encryption-scope", + "x-ms-client-name": "encryptionScope", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-scope-info" + }, + "description": "Optional. Version 2019-07-07 and later. Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope. For more information, see Encryption at Rest for Azure Storage Services." + }, + "DefaultEncryptionScope": { + "name": "x-ms-default-encryption-scope", + "x-ms-client-name": "DefaultEncryptionScope", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "container-cpk-scope-info" + }, + "description": "Optional. Version 2019-07-07 and later. Specifies the default encryption scope to set on the container and use for all future writes." + }, + "DeletedContainerName": { + "name": "x-ms-deleted-container-name", + "x-ms-client-name": "DeletedContainerName", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "description": "Optional. Version 2019-12-12 and later. Specifies the name of the deleted container to restore." + }, + "DeletedContainerVersion": { + "name": "x-ms-deleted-container-version", + "x-ms-client-name": "DeletedContainerVersion", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "description": "Optional. Version 2019-12-12 and later. Specifies the version of the deleted container to restore." + }, + "DenyEncryptionScopeOverride": { + "name": "x-ms-deny-encryption-scope-override", + "x-ms-client-name": "PreventEncryptionScopeOverride", + "type": "boolean", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "container-cpk-scope-info" + }, + "description": "Optional. Version 2019-07-07 and newer. If true, prevents any request from specifying a different encryption scope than the scope set on the container." + }, + "FilterBlobsWhere": { + "name": "where", + "in": "query", + "required": false, + "type": "string", + "description": "Filters the results to return only to return only blobs whose tags match the specified expression.", + "x-ms-parameter-location": "method" + }, + "GetRangeContentMD5": { + "name": "x-ms-range-get-content-md5", + "x-ms-client-name": "rangeGetContentMD5", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "When set to true and specified together with the Range, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4 MB in size." + }, + "GetRangeContentCRC64": { + "name": "x-ms-range-get-content-crc64", + "x-ms-client-name": "rangeGetContentCRC64", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "When set to true and specified together with the Range, the service returns the CRC64 hash for the range, as long as the range is less than or equal to 4 MB in size." + }, + "IfMatch": { + "name": "If-Match", + "x-ms-client-name": "ifMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "IfModifiedSince": { + "name": "If-Modified-Since", + "x-ms-client-name": "ifModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "IfNoneMatch": { + "name": "If-None-Match", + "x-ms-client-name": "ifNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "IfUnmodifiedSince": { + "name": "If-Unmodified-Since", + "x-ms-client-name": "ifUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "IfSequenceNumberEqualTo": { + "name": "x-ms-if-sequence-number-eq", + "x-ms-client-name": "ifSequenceNumberEqualTo", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "sequence-number-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has the specified sequence number." + }, + "IfSequenceNumberLessThan": { + "name": "x-ms-if-sequence-number-lt", + "x-ms-client-name": "ifSequenceNumberLessThan", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "sequence-number-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has a sequence number less than the specified." + }, + "IfSequenceNumberLessThanOrEqualTo": { + "name": "x-ms-if-sequence-number-le", + "x-ms-client-name": "ifSequenceNumberLessThanOrEqualTo", + "in": "header", + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "sequence-number-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has a sequence number less than or equal to the specified." + }, + "IfTags": { + "name": "x-ms-if-tags", + "x-ms-client-name": "ifTags", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify a SQL where clause on blob tags to operate only on blobs with a matching value." + }, + "ImmutabilityPolicyExpiry": { + "name": "x-ms-immutability-policy-until-date", + "x-ms-client-name": "immutabilityPolicyExpiry", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "description": "Specifies the date time when the blobs immutability policy is set to expire." + }, + "ImmutabilityPolicyMode": { + "name": "x-ms-immutability-policy-mode", + "x-ms-client-name": "immutabilityPolicyMode", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "Unlocked", + "Locked" + ], + "x-ms-enum": { + "name": "BlobImmutabilityPolicyMode", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Specifies the immutability policy mode to set on the blob." + }, + "KeyInfo": { + "description": "Key information", + "name": "KeyInfo", + "in": "body", + "x-ms-parameter-location": "method", + "required": true, + "schema": { + "$ref": "#/definitions/KeyInfo" + } + }, + "ListBlobsInclude": { + "name": "include", + "in": "query", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "copy", + "deleted", + "metadata", + "snapshots", + "uncommittedblobs", + "versions", + "tags", + "immutabilitypolicy", + "legalhold", + "deletedwithversions" + ], + "x-ms-enum": { + "name": "ListBlobsIncludeItem", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "ListContainersInclude": { + "name": "include", + "in": "query", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "metadata", + "deleted", + "system" + ], + "x-ms-enum": { + "name": "ListContainersIncludeType", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify that the container's metadata be returned as part of the response body." + }, + "LeaseBreakPeriod": { + "name": "x-ms-lease-break-period", + "x-ms-client-name": "breakPeriod", + "in": "header", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method", + "description": "For a break operation, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60. This break period is only used if it is shorter than the time remaining on the lease. If longer, the time remaining on the lease is used. A new lease will not be available before the break period has expired, but the lease may be held for longer than the break period. If this header does not appear with a break operation, a fixed-duration lease breaks after the remaining lease period elapses, and an infinite lease breaks immediately." + }, + "LeaseDuration": { + "name": "x-ms-lease-duration", + "x-ms-client-name": "duration", + "in": "header", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method", + "description": "Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change." + }, + "LeaseIdOptional": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "lease-access-conditions" + }, + "description": "If specified, the operation only succeeds if the resource's lease is active and matches this ID." + }, + "LeaseIdRequired": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the current lease ID on the resource." + }, + "LegalHoldOptional": { + "name": "x-ms-legal-hold", + "x-ms-client-name": "legalHold", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Specified if a legal hold should be set on the blob." + }, + "LegalHoldRequired": { + "name": "x-ms-legal-hold", + "x-ms-client-name": "legalHold", + "in": "header", + "required": true, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Specified if a legal hold should be set on the blob." + }, + "Marker": { + "name": "marker", + "in": "query", + "required": false, + "type": "string", + "description": "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client.", + "x-ms-parameter-location": "method" + }, + "MaxResults": { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "x-ms-parameter-location": "method", + "description": "Specifies the maximum number of containers to return. If the request does not specify maxresults, or specifies a value greater than 5000, the server will return up to 5000 items. Note that if the listing operation crosses a partition boundary, then the service will return a continuation token for retrieving the remainder of the results. For this reason, it is possible that the service will return fewer results than specified by maxresults, or than the default of 5000." + }, + "Metadata": { + "name": "x-ms-meta", + "x-ms-client-name": "metadata", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional. Specifies a user-defined name-value pair associated with the blob. If no name-value pairs are specified, the operation will copy the metadata from the source blob or file to the destination blob. If one or more name-value pairs are specified, the destination blob is created with the specified metadata, and metadata is not copied from the source blob or file. Note that beginning with version 2009-09-19, metadata names must adhere to the naming rules for C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information.", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "MultipartContentType": { + "name": "Content-Type", + "x-ms-client-name": "multipartContentType", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Required. The value of this header must be multipart/mixed with a batch boundary. Example header value: multipart/mixed; boundary=batch_" + }, + "ObjectReplicationPolicyId": { + "name": "x-ms-or-policy-id", + "x-ms-client-name": "objectReplicationPolicyId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the destination blob of the replication." + }, + "ObjectReplicationRules": { + "name": "x-ms-or", + "x-ms-client-name": "ObjectReplicationRules", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional. Only valid when Object Replication is enabled for the storage container and on the source blob of the replication. When retrieving this header, it will return the header with the policy id and rule id (e.g. x-ms-or-policyid_ruleid), and the value will be the status of the replication (e.g. complete, failed).", + "x-ms-header-collection-prefix": "x-ms-or-" + }, + "Prefix": { + "name": "prefix", + "in": "query", + "required": false, + "type": "string", + "description": "Filters the results to return only containers whose name begins with the specified prefix.", + "x-ms-parameter-location": "method" + }, + "PrevSnapshot": { + "name": "prevsnapshot", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional in version 2015-07-08 and newer. The prevsnapshot parameter is a DateTime value that specifies that the response will contain only pages that were changed between target blob and previous snapshot. Changed pages include both updated and cleared pages. The target blob may be a snapshot, as long as the snapshot specified by prevsnapshot is the older of the two. Note that incremental snapshots are currently supported only for blobs created on or after January 1, 2016." + }, + "PrevSnapshotUrl": { + "name": "x-ms-previous-snapshot-url", + "x-ms-client-name": "prevSnapshotUrl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional. This header is only supported in service versions 2019-04-19 and after and specifies the URL of a previous snapshot of the target blob. The response will only contain pages that were changed between the target blob and its previous snapshot." + }, + "ProposedLeaseIdOptional": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "ProposedLeaseIdRequired": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "QueryRequest": { + "name": "queryRequest", + "in": "body", + "x-ms-parameter-location": "client", + "schema": { + "$ref": "#/definitions/QueryRequest" + }, + "description": "the query request" + }, + "Range": { + "name": "x-ms-range", + "x-ms-client-name": "range", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Return only the bytes of the blob in the specified range." + }, + "RangeRequiredPutPageFromUrl": { + "name": "x-ms-range", + "x-ms-client-name": "range", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The range of bytes to which the source range would be written. The range should be 512 aligned and range-end is required." + }, + "SequenceNumberAction": { + "name": "x-ms-sequence-number-action", + "x-ms-client-name": "sequenceNumberAction", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Required if the x-ms-blob-sequence-number header is set for the request. This property applies to page blobs only. This property indicates how the service should modify the blob's sequence number", + "type": "string", + "enum": [ + "max", + "update", + "increment" + ], + "x-ms-enum": { + "name": "SequenceNumberActionType", + "modelAsString": false + } + }, + "Snapshot": { + "name": "snapshot", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see Creating a Snapshot of a Blob." + }, + "VersionId": { + "name": "versionid", + "x-ms-client-name": "versionId", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The version id parameter is an opaque DateTime value that, when present, specifies the version of the blob to operate on. It's for service version 2019-10-10 and newer." + }, + "SealBlob": { + "name": "x-ms-seal-blob", + "x-ms-client-name": "SealBlob", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Overrides the sealed state of the destination blob. Service version 2019-12-12 and newer." + }, + "SourceContainerName": { + "name": "x-ms-source-container-name", + "x-ms-client-name": "SourceContainerName", + "type": "string", + "in": "header", + "required": true, + "x-ms-parameter-location": "method", + "description": "Required. Specifies the name of the container to rename." + }, + "SourceContentMD5": { + "name": "x-ms-source-content-md5", + "x-ms-client-name": "sourceContentMD5", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the md5 calculated for the range of bytes that must be read from the copy source." + }, + "SourceContentCRC64": { + "name": "x-ms-source-content-crc64", + "x-ms-client-name": "sourceContentcrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the crc64 calculated for the range of bytes that must be read from the copy source." + }, + "SourceRange": { + "name": "x-ms-source-range", + "x-ms-client-name": "sourceRange", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Bytes of source data in the specified range." + }, + "SourceRangeRequiredPutPageFromUrl": { + "name": "x-ms-source-range", + "x-ms-client-name": "sourceRange", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Bytes of source data in the specified range. The length of this range should match the ContentLength header and x-ms-range/Range destination range header." + }, + "SourceIfMatch": { + "name": "x-ms-source-if-match", + "x-ms-client-name": "sourceIfMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "SourceIfModifiedSince": { + "name": "x-ms-source-if-modified-since", + "x-ms-client-name": "sourceIfModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "SourceIfNoneMatch": { + "name": "x-ms-source-if-none-match", + "x-ms-client-name": "sourceIfNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "SourceIfUnmodifiedSince": { + "name": "x-ms-source-if-unmodified-since", + "x-ms-client-name": "sourceIfUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "SourceLeaseId": { + "name": "x-ms-source-lease-id", + "x-ms-client-name": "sourceLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "A lease ID for the source path. If specified, the source path must have an active lease and the lease ID must match." + }, + "SourceIfTags": { + "name": "x-ms-source-if-tags", + "x-ms-client-name": "sourceIfTags", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify a SQL where clause on blob tags to operate only on blobs with a matching value." + }, + "SourceUrl": { + "name": "x-ms-copy-source", + "x-ms-client-name": "sourceUrl", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specify a URL to the copy source." + }, + "StorageServiceProperties": { + "name": "StorageServiceProperties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageServiceProperties" + }, + "x-ms-parameter-location": "method", + "description": "The StorageService properties." + }, + "Timeout": { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "x-ms-parameter-location": "method", + "description": "The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations." + } + } +} diff --git a/specification/storage/data-plane/Microsoft.BlobStorage/readme.md b/specification/storage/data-plane/Microsoft.BlobStorage/readme.md index 90f57f1ebb58..96e44769af6b 100644 --- a/specification/storage/data-plane/Microsoft.BlobStorage/readme.md +++ b/specification/storage/data-plane/Microsoft.BlobStorage/readme.md @@ -25,7 +25,7 @@ These are the global settings for the BlobStorage API. ``` yaml openapi-type: data-plane -tag: package-2020-10 +tag: package-2021-02 use-internal-constructors: true add-credentials: true ``` @@ -39,15 +39,41 @@ input-file: - preview/2020-10-02/blob.json ``` +### Tag: package-2020-12 + +These settings apply only when `--tag=package-2020-12` is specified on the command line. + +``` yaml $(tag) == 'package-2020-12' +input-file: +- preview/2020-12-06/blob.json +``` + +### Tag: package-2021-02 + +These settings apply only when `--tag=package-2021-02` is specified on the command line. + +``` yaml $(tag) == 'package-2021-02' +input-file: +- preview/2021-02-12/blob.json +``` + +### Tag: package-2021-04 + +These settings apply only when `--tag=package-2021-04` is specified on the command line. + +``` yaml $(tag) == 'package-2021-04' +input-file: +- preview/2021-04-10/blob.json +``` + ### Suppression ``` yaml directive: - suppress: DefinitionsPropertiesNamesCamelCase - from: preview/2020-10-02/blob.json reason: These parameters are predfined by storage specifications - suppress: XmsPathsMustOverloadPaths - from: preview/2020-10-02/blob.json - suppress: XmsExamplesRequired - from: preview/2020-10-02/blob.json + - suppress: LongRunningOperationsWithLongRunningExtension + - suppress: OAV107 ``` --- \ No newline at end of file diff --git a/specification/storage/data-plane/Microsoft.FileStorage/preview/2021-02-12/file.json b/specification/storage/data-plane/Microsoft.FileStorage/preview/2021-02-12/file.json new file mode 100644 index 000000000000..eee63928f1af --- /dev/null +++ b/specification/storage/data-plane/Microsoft.FileStorage/preview/2021-02-12/file.json @@ -0,0 +1,6710 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure File Storage", + "version": "2021-02-12", + "x-ms-code-generation-settings": { + "header": "MIT", + "strictSpecAdherence": false + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{url}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "$ref": "#/parameters/Url" + } + ] + }, + "securityDefinitions": { + "File_shared_key": { + "type": "apiKey", + "name": "Authorization", + "in": "header" + } + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/xml" + ], + "produces": [ + "application/xml" + ], + "paths": {}, + "x-ms-paths": { + "/?restype=service&comp=properties": { + "put": { + "tags": [ + "service" + ], + "operationId": "Service_SetProperties", + "description": "Sets properties for a storage account's File service endpoint, including properties for Storage Analytics metrics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "#/parameters/StorageServiceProperties" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Success (Accepted)", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "service" + ], + "operationId": "Service_GetProperties", + "description": "Gets the properties of a storage account's File service, including properties for Storage Analytics metrics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageServiceProperties" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "service" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/?comp=list": { + "get": { + "tags": [ + "service" + ], + "operationId": "Service_ListSharesSegment", + "description": "The List Shares Segment operation returns a list of the shares and share snapshots under the specified account.", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListSharesInclude" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + } + }, + "schema": { + "$ref": "#/definitions/ListSharesResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{shareName}?restype=share": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_Create", + "description": "Creates a new share under the specified account. If the share with the same name already exists, the operation fails.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ShareQuota" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareEnabledProtocols" + }, + { + "$ref": "#/parameters/ShareRootSquash" + } + ], + "responses": { + "201": { + "description": "Success, Share created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the share, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties or metadata updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "share" + ], + "operationId": "Share_GetProperties", + "description": "Returns all user-defined metadata and system properties for the specified share or share snapshot. The data returned does not include the share's list of files.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs that contain the user-defined metadata of the share.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-share-quota": { + "x-ms-client-name": "Quota", + "type": "integer", + "description": "Returns the current share quota in GB." + }, + "x-ms-share-provisioned-iops": { + "x-ms-client-name": "ProvisionedIops", + "type": "integer", + "description": "Returns the current share provisioned ipos." + }, + "x-ms-share-provisioned-ingress-mbps": { + "x-ms-client-name": "ProvisionedIngressMBps", + "type": "integer", + "description": "Returns the current share provisioned ingress in megabytes per second." + }, + "x-ms-share-provisioned-egress-mbps": { + "x-ms-client-name": "ProvisionedEgressMBps", + "type": "integer", + "description": "Returns the current share provisioned egress in megabytes per second." + }, + "x-ms-share-next-allowed-quota-downgrade-time": { + "x-ms-client-name": "NextAllowedQuotaDowngradeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the current share next allowed quota downgrade time." + }, + "x-ms-share-provisioned-bandwidth-mibps": { + "x-ms-client-name": "ProvisionedBandwidthMibps", + "type": "integer", + "description": "Returns the current share provisioned bandwidth in megabits per second." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a share is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the share.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the share.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-access-tier": { + "x-ms-client-name": "AccessTier", + "type": "string", + "description": "Returns the access tier set on the share." + }, + "x-ms-access-tier-change-time": { + "x-ms-client-name": "AccessTierChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the last modified time (in UTC) of the access tier of the share." + }, + "x-ms-access-tier-transition-state": { + "x-ms-client-name": "AccessTierTransitionState", + "type": "string", + "description": "Returns the transition state between access tiers, when present." + }, + "x-ms-enabled-protocols": { + "x-ms-client-name": "EnabledProtocols", + "description": "The protocols that have been enabled on the share.", + "type": "string" + }, + "x-ms-root-squash": { + "x-ms-client-name": "RootSquash", + "description": "Valid for NFS shares only.", + "type": "string", + "enum": [ + "NoRootSquash", + "RootSquash", + "AllSquash" + ], + "x-ms-enum": { + "name": "ShareRootSquash", + "modelAsString": false + } + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "share" + ], + "operationId": "Share_Delete", + "description": "Operation marks the specified share or share snapshot for deletion. The share or share snapshot and any files contained within it are later deleted during garbage collection.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/DeleteSnapshots" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&acquire": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_AcquireLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseDuration" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The Acquire operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a share's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "acquire" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&release": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_ReleaseLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Release operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "release" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&change": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_ChangeLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Change operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a share's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "change" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&renew": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_RenewLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Renew operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a share's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the current share next allowed quota downgrade time." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "renew" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&break": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_BreakLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseBreakPeriod" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ShareSnapshot" + } + ], + "responses": { + "202": { + "description": "The Break operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-lease-time": { + "x-ms-client-name": "LeaseTime", + "type": "integer", + "description": "Approximate time remaining in the lease period, in seconds." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a share's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "break" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=snapshot": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_CreateSnapshot", + "description": "Creates a read-only snapshot of a share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Success, Share snapshot created.", + "headers": { + "x-ms-snapshot": { + "x-ms-client-name": "Snapshot", + "type": "string", + "description": "This header is a DateTime value that uniquely identifies the share snapshot. The value of this header may be used in subsequent requests to access the share snapshot. This value is opaque." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the share snapshot, in quotes. A share snapshot cannot be modified, so the ETag of a given share snapshot never changes. However, if new metadata was supplied with the Snapshot Share request then the ETag of the share snapshot differs from that of the base share. If no metadata was specified with the request, the ETag of the share snapshot is identical to that of the base share at the time the share snapshot was taken." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. A share snapshot cannot be modified, so the last modified time of a given share snapshot never changes. However, if new metadata was supplied with the Snapshot Share request then the last modified time of the share snapshot differs from that of the base share. If no metadata was specified with the request, the last modified time of the share snapshot is identical to that of the base share at the time the share snapshot was taken." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "snapshot" + ] + } + ] + }, + "/{shareName}?restype=share&comp=filepermission": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_CreatePermission", + "description": "Create a permission (a security descriptor).", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SharePermission" + } + ], + "responses": { + "201": { + "description": "Success, Share level permission created.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the directory/file." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "share" + ], + "operationId": "Share_GetPermission", + "description": "Returns the permission (security descriptor) for a given key", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/FilePermissionKeyRequired" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/SharePermission" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "filepermission" + ] + } + ] + }, + "/{shareName}?restype=share&comp=properties": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_SetProperties", + "description": "Sets properties for the specified share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareQuota" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ShareRootSquash" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{shareName}?restype=share&comp=metadata": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_SetMetadata", + "description": "Sets one or more user-defined name-value pairs for the specified share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "metadata" + ] + } + ] + }, + "/{shareName}?restype=share&comp=acl": { + "get": { + "tags": [ + "share" + ], + "operationId": "Share_GetAccessPolicy", + "description": "Returns information about stored access policies specified on the share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/SignedIdentifiers" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "put": { + "tags": [ + "share" + ], + "operationId": "Share_SetAccessPolicy", + "description": "Sets a stored access policy for use with shared access signatures.", + "parameters": [ + { + "$ref": "#/parameters/ShareAcl" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "acl" + ] + } + ] + }, + "/{shareName}?restype=share&comp=stats": { + "get": { + "tags": [ + "share" + ], + "operationId": "Share_GetStatistics", + "description": "Retrieves statistics related to the share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ShareStats" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "stats" + ] + } + ] + }, + "/{shareName}?restype=share&comp=undelete": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_Restore", + "description": "Restores a previously deleted Share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/DeletedShareName" + }, + { + "$ref": "#/parameters/DeletedShareVersion" + } + ], + "responses": { + "201": { + "description": "Created", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "undelete" + ] + } + ] + }, + "/{shareName}/{directory}?restype=directory": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_Create", + "description": "Creates a new directory under the specified share or parent directory.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileAttributes" + }, + { + "$ref": "#/parameters/FileCreationTime" + }, + { + "$ref": "#/parameters/FileLastWriteTime" + } + ], + "responses": { + "201": { + "description": "Success, Directory created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the directory, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the directory." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the directory." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the directory." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the directory." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the directory." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the directory." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "directory" + ], + "operationId": "Directory_GetProperties", + "description": "Returns all system properties for the specified directory, and can also be used to check the existence of a directory. The data returned does not include the files in the directory or any subdirectories.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs that contain metadata for the directory.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the Directory was last modified. Operations on files within the directory do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the directory metadata is completely encrypted using the specified algorithm. Otherwise, the value is set to false." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the directory." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the directory." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the directory." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the directory." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the directory." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the directory." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "directory" + ], + "operationId": "Directory_Delete", + "description": "Removes the specified empty directory. Note that the directory must be empty before it can be deleted.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Success (Accepted).", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + } + ] + }, + "/{shareName}/{directory}?restype=directory&comp=properties": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_SetProperties", + "description": "Sets properties on the directory.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileAttributes" + }, + { + "$ref": "#/parameters/FileCreationTime" + }, + { + "$ref": "#/parameters/FileLastWriteTime" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the directory was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the directory." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the directory." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the directory." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the directory." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the directory." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the directory." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{shareName}/{directory}?restype=directory&comp=metadata": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_SetMetadata", + "description": "Updates user defined metadata for the specified directory.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success (OK).", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the directory, in quotes." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "metadata" + ] + } + ] + }, + "/{shareName}/{directory}?restype=directory&comp=list": { + "get": { + "tags": [ + "directory" + ], + "operationId": "Directory_ListFilesAndDirectoriesSegment", + "description": "Returns a list of files or directories under the specified share or directory. It lists the contents only for a single level of the directory hierarchy.", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListFilesInclude" + }, + { + "$ref": "#/parameters/ListFilesExtendedInfo" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "Specifies the format in which the results are returned. Currently this value is 'application/xml'." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ListFilesAndDirectoriesSegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{shareName}/{directory}?comp=listhandles": { + "get": { + "tags": [ + "directory" + ], + "operationId": "Directory_ListHandles", + "description": "Lists handles for directory.", + "parameters": [ + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Recursive" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "Specifies the format in which the results are returned. Currently this value is 'application/xml'." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ListHandlesResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "listhandles" + ] + } + ] + }, + "/{shareName}/{directory}?comp=forceclosehandles": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_ForceCloseHandles", + "description": "Closes all handles open for given directory.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/HandleId" + }, + { + "$ref": "#/parameters/Recursive" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-marker": { + "x-ms-client-name": "marker", + "type": "string", + "description": "A string describing next handle to be closed. It is returned when more handles need to be closed to complete the request." + }, + "x-ms-number-of-handles-closed": { + "x-ms-client-name": "numberOfHandlesClosed", + "type": "integer", + "description": "Contains count of number of handles closed." + }, + "x-ms-number-of-handles-failed": { + "x-ms-client-name": "numberOfHandlesFailedToClose", + "type": "integer", + "description": "Contains count of number of handles that failed to close." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "forceclosehandles" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_Create", + "description": "Creates a new file or replaces a file. Note it only initializes the file with no content.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "x-ms-content-length", + "x-ms-client-name": "fileContentLength", + "in": "header", + "description": "Specifies the maximum size for the file, up to 4 TB.", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "$ref": "#/parameters/FileType" + }, + { + "$ref": "#/parameters/FileContentType" + }, + { + "$ref": "#/parameters/FileContentEncoding" + }, + { + "$ref": "#/parameters/FileContentLanguage" + }, + { + "$ref": "#/parameters/FileCacheControl" + }, + { + "$ref": "#/parameters/FileContentMD5" + }, + { + "$ref": "#/parameters/FileContentDisposition" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileAttributes" + }, + { + "$ref": "#/parameters/FileCreationTime" + }, + { + "$ref": "#/parameters/FileLastWriteTime" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "201": { + "description": "Success, File created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the file." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "file" + ], + "operationId": "File_Download", + "description": "Reads or downloads a file from the system, including its metadata and properties.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/GetRangeContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Succeeded to read the entire file.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file or its properties updates the last modified time." + }, + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs associated with this file as user-defined metadata.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The content type specified for the file. The default content type is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned if the client requested a subset of the file by setting the Range request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the file has an MD5 hash and the request is to read the full file, this response header is returned so that the client can check for message content integrity. If the request is to read a specified range and the 'x-ms-range-get-content-md5' is set to true, then the request returns an MD5 hash for the range, as long as the range size is less than or equal to 4 MB. If neither of these sets of conditions is true, then no value is returned for the 'Content-MD5' header." + }, + "Content-Encoding": { + "type": "string", + "description": "Returns the value that was specified for the Content-Encoding request header." + }, + "Cache-Control": { + "type": "string", + "description": "Returned if it was previously specified for the file." + }, + "Content-Disposition": { + "type": "string", + "description": "Returns the value that was specified for the 'x-ms-content-disposition' header and specifies how to process the response." + }, + "Content-Language": { + "type": "string", + "description": "Returns the value that was specified for the Content-Language request header." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial file content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy File operation where this file was the destination file. This value can specify the time of a completed, aborted, or failed copy attempt." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes cause of fatal or non-fatal copy operation failure." + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy File operation where this file was the destination file. Can show between 0 and Content-Length bytes copied." + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2KB in length that specifies the source file used in the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by 'x-ms-copy-id'.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-content-md5": { + "x-ms-client-name": "FileContentMD5", + "type": "string", + "format": "byte", + "description": "If the file has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole file's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the file data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the file is unencrypted, or if only parts of the file/application metadata are encrypted)." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the file." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a file is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the file.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the file.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "206": { + "description": "Succeeded to read a specified range of the file.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file or its properties updates the last modified time." + }, + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs associated with this file as user-defined metadata.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The content type specified for the file. The default content type is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned if the client requested a subset of the file by setting the Range request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the file has an MD5 hash and the request is to read the full file, this response header is returned so that the client can check for message content integrity. If the request is to read a specified range and the 'x-ms-range-get-content-md5' is set to true, then the request returns an MD5 hash for the range, as long as the range size is less than or equal to 4 MB. If neither of these sets of conditions is true, then no value is returned for the 'Content-MD5' header." + }, + "Content-Encoding": { + "type": "string", + "description": "Returns the value that was specified for the Content-Encoding request header." + }, + "Cache-Control": { + "type": "string", + "description": "Returned if it was previously specified for the file." + }, + "Content-Disposition": { + "type": "string", + "description": "Returns the value that was specified for the 'x-ms-content-disposition' header and specifies how to process the response." + }, + "Content-Language": { + "type": "string", + "description": "Returns the value that was specified for the Content-Language request header." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial file content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy File operation where this file was the destination file. This value can specify the time of a completed, aborted, or failed copy attempt." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes cause of fatal or non-fatal copy operation failure." + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy File operation where this file was the destination file. Can show between 0 and Content-Length bytes copied." + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2KB in length that specifies the source file used in the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by 'x-ms-copy-id'.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-content-md5": { + "x-ms-client-name": "FileContentMD5", + "type": "string", + "format": "byte", + "description": "If the file has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole file's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the file data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the file is unencrypted, or if only parts of the file/application metadata are encrypted)." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the file." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a file is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the file.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the file.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "tags": [ + "file" + ], + "operationId": "File_GetProperties", + "description": "Returns all user-defined metadata, standard HTTP properties, and system properties for the file. It does not return the content of the file.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. The date format follows RFC 1123. Any operation that modifies the file or its properties updates the last modified time." + }, + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs associated with this file as user-defined metadata.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "x-ms-type": { + "x-ms-client-name": "FileType", + "description": "Returns the type File. Reserved for future use.", + "type": "string", + "enum": [ + "File" + ] + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The size of the file in bytes. This header returns the value of the 'x-ms-content-length' header that is stored with the file." + }, + "Content-Type": { + "type": "string", + "description": "The content type specified for the file. The default content type is 'application/octet-stream'" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the Content-MD5 header has been set for the file, the Content-MD5 response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "If the Content-Encoding request header has previously been set for the file, the Content-Encoding value is returned in this header." + }, + "Cache-Control": { + "type": "string", + "description": "If the Cache-Control request header has previously been set for the file, the Cache-Control value is returned in this header." + }, + "Content-Disposition": { + "type": "string", + "description": "Returns the value that was specified for the 'x-ms-content-disposition' header and specifies how to process the response." + }, + "Content-Language": { + "type": "string", + "description": "Returns the value that was specified for the Content-Language request header." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy File operation where this file was the destination file. This value can specify the time of a completed, aborted, or failed copy attempt." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes cause of fatal or non-fatal copy operation failure." + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy File operation where this file was the destination file. Can show between 0 and Content-Length bytes copied." + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2KB in length that specifies the source file used in the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by 'x-ms-copy-id'.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the file data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the file is unencrypted, or if only parts of the file/application metadata are encrypted)." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the file." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a file is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the file.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the file.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "file" + ], + "operationId": "File_Delete", + "description": "removes the file from the storage account.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "202": { + "description": "Success (Accepted).", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=properties": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_SetHTTPHeaders", + "description": "Sets HTTP headers on the file.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "x-ms-content-length", + "x-ms-client-name": "fileContentLength", + "in": "header", + "description": "Resizes a file to the specified size. If the specified byte value is less than the current size of the file, then all ranges above the specified byte value are cleared.", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "$ref": "#/parameters/FileContentType" + }, + { + "$ref": "#/parameters/FileContentEncoding" + }, + { + "$ref": "#/parameters/FileContentLanguage" + }, + { + "$ref": "#/parameters/FileCacheControl" + }, + { + "$ref": "#/parameters/FileContentMD5" + }, + { + "$ref": "#/parameters/FileContentDisposition" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileAttributes" + }, + { + "$ref": "#/parameters/FileCreationTime" + }, + { + "$ref": "#/parameters/FileLastWriteTime" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the directory was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the directory." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=metadata": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_SetMetadata", + "description": "Updates user-defined metadata for the specified file.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success (OK).", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "metadata" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=lease&acquire": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_AcquireLease", + "description": "[Update] The Lease File operation establishes and manages a lock on a file for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseDuration" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The Acquire operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the last-modified time of the file." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a file's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "acquire" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=lease&release": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_ReleaseLease", + "description": "[Update] The Lease File operation establishes and manages a lock on a file for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Release operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the last-modified time of the file." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "release" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=lease&change": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_ChangeLease", + "description": "[Update] The Lease File operation establishes and manages a lock on a file for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Change operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the last-modified time of the file." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a file's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "change" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=lease&break": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_BreakLease", + "description": "[Update] The Lease File operation establishes and manages a lock on a file for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "The Break operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the last-modified time of the file." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a file's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "break" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=range": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_UploadRange", + "description": "Upload a range of bytes to a file.", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/OptionalBody" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "name": "x-ms-range", + "x-ms-client-name": "range", + "in": "header", + "description": "Specifies the range of bytes to be written. Both the start and end of the range must be specified. For an update operation, the range can be up to 4 MB in size. For a clear operation, the range can be up to the value of the file's full size. The File service accepts only a single byte range for the Range and 'x-ms-range' headers, and the byte range must be specified in the following format: bytes=startByte-endByte.", + "required": true, + "type": "string" + }, + { + "name": "x-ms-write", + "x-ms-client-name": "FileRangeWrite", + "in": "header", + "description": "Specify one of the following options: - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update. - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and set the Range header to a value that indicates the range to clear, up to maximum file size.", + "required": true, + "type": "string", + "enum": [ + "update", + "clear" + ], + "default": "update", + "x-ms-enum": { + "name": "FileRangeWriteType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "201": { + "description": "Success (Created).", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the directory was last modified. Any operation that modifies the share or its properties or metadata updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the File service; it is not necessarily the same value as may have been specified in the request headers." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "range" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=range&fromURL": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_UploadRangeFromURL", + "description": "Upload a range of bytes to a file where the contents are read from a URL.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/TargetRange" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/SourceRange" + }, + { + "$ref": "#/parameters/FileRangeWriteFromUrl" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/SourceContentCrc64" + }, + { + "$ref": "#/parameters/SourceIfMatchCrc64" + }, + { + "$ref": "#/parameters/SourceIfNoneMatchCrc64" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + } + ], + "responses": { + "201": { + "description": "Success (Created).", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the directory was last modified. Any operation that modifies the share or its properties or metadata updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the File service; it is not necessarily the same value as may have been specified in the request headers." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "range" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=rangelist": { + "get": { + "tags": [ + "file" + ], + "operationId": "File_GetRangeList", + "description": "Returns the list of valid ranges for a file.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/PrevShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "x-ms-range", + "x-ms-client-name": "range", + "in": "header", + "description": "Specifies the range of bytes over which to list ranges, inclusively.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "The date/time that the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the file's last modified time." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "x-ms-content-length": { + "x-ms-client-name": "FileContentLength", + "type": "integer", + "format": "int64", + "description": "The size of the file in bytes." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ShareFileRangeList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "rangelist" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=copy": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_StartCopy", + "description": "Copies a blob or file to a destination file within the storage account.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileCopyPermissionCopyMode" + }, + { + "$ref": "#/parameters/FileCopyIgnoreReadOnly" + }, + { + "$ref": "#/parameters/FileCopyFileAttributes" + }, + { + "$ref": "#/parameters/FileCopyFileCreationTime" + }, + { + "$ref": "#/parameters/FileCopyFileLastWriteTime" + }, + { + "$ref": "#/parameters/FileCopySetArchiveAttribute" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "202": { + "description": "The copy file has been accepted with the specified copy status.", + "headers": { + "ETag": { + "type": "string", + "description": "If the copy is completed, contains the ETag of the destination file. If the copy is not complete, contains the ETag of the empty file created at the start of the copy." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date/time that the copy operation to the destination file completed." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get File or Get File Properties to check the status of this copy operation, or pass to Abort Copy File to abort a pending copy." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=copy©id": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_AbortCopy", + "description": "Aborts a pending Copy File operation, and leaves a destination file with zero length and full metadata.", + "parameters": [ + { + "$ref": "#/parameters/CopyId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/CopyActionAbort" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "204": { + "description": "The delete request was accepted and the file will be deleted.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "copy" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=listhandles": { + "get": { + "tags": [ + "file" + ], + "operationId": "File_ListHandles", + "description": "Lists handles for file", + "parameters": [ + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "Specifies the format in which the results are returned. Currently this value is 'application/xml'." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ListHandlesResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "listhandles" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=forceclosehandles": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_ForceCloseHandles", + "description": "Closes all handles open for given file", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/HandleId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-marker": { + "x-ms-client-name": "marker", + "type": "string", + "description": "A string describing next handle to be closed. It is returned when more handles need to be closed to complete the request." + }, + "x-ms-number-of-handles-closed": { + "x-ms-client-name": "numberOfHandlesClosed", + "type": "integer", + "description": "Contains count of number of handles closed." + }, + "x-ms-number-of-handles-failed": { + "x-ms-client-name": "numberOfHandlesFailedToClose", + "type": "integer", + "description": "Contains count of number of handles that failed to close." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "forceclosehandles" + ] + } + ] + } + }, + "definitions": { + "AccessPolicy": { + "description": "An Access policy.", + "type": "object", + "properties": { + "Start": { + "description": "The date-time the policy is active.", + "type": "string", + "format": "date-time" + }, + "Expiry": { + "description": "The date-time the policy expires.", + "type": "string", + "format": "date-time" + }, + "Permission": { + "description": "The permissions for the ACL policy.", + "type": "string" + } + } + }, + "CorsRule": { + "description": "CORS is an HTTP feature that enables a web application running under one domain to access resources in another domain. Web browsers implement a security restriction known as same-origin policy that prevents a web page from calling APIs in a different domain; CORS provides a secure way to allow one domain (the origin domain) to call APIs in another domain.", + "type": "object", + "required": [ + "AllowedOrigins", + "AllowedMethods", + "AllowedHeaders", + "ExposedHeaders", + "MaxAgeInSeconds" + ], + "properties": { + "AllowedOrigins": { + "description": "The origin domains that are permitted to make a request against the storage service via CORS. The origin domain is the domain from which the request originates. Note that the origin must be an exact case-sensitive match with the origin that the user age sends to the service. You can also use the wildcard character '*' to allow all origin domains to make requests via CORS.", + "type": "string" + }, + "AllowedMethods": { + "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request. (comma separated)", + "type": "string" + }, + "AllowedHeaders": { + "description": "The request headers that the origin domain may specify on the CORS request.", + "type": "string" + }, + "ExposedHeaders": { + "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer.", + "type": "string" + }, + "MaxAgeInSeconds": { + "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.", + "type": "integer", + "minimum": 0 + } + } + }, + "ErrorCode": { + "description": "Error codes returned by the service", + "type": "string", + "enum": [ + "AccountAlreadyExists", + "AccountBeingCreated", + "AccountIsDisabled", + "AuthenticationFailed", + "AuthorizationFailure", + "ConditionHeadersNotSupported", + "ConditionNotMet", + "EmptyMetadataKey", + "InsufficientAccountPermissions", + "InternalError", + "InvalidAuthenticationInfo", + "InvalidHeaderValue", + "InvalidHttpVerb", + "InvalidInput", + "InvalidMd5", + "InvalidMetadata", + "InvalidQueryParameterValue", + "InvalidRange", + "InvalidResourceName", + "InvalidUri", + "InvalidXmlDocument", + "InvalidXmlNodeValue", + "Md5Mismatch", + "MetadataTooLarge", + "MissingContentLengthHeader", + "MissingRequiredQueryParameter", + "MissingRequiredHeader", + "MissingRequiredXmlNode", + "MultipleConditionHeadersNotSupported", + "OperationTimedOut", + "OutOfRangeInput", + "OutOfRangeQueryParameterValue", + "RequestBodyTooLarge", + "ResourceTypeMismatch", + "RequestUrlFailedToParse", + "ResourceAlreadyExists", + "ResourceNotFound", + "ServerBusy", + "UnsupportedHeader", + "UnsupportedXmlNode", + "UnsupportedQueryParameter", + "UnsupportedHttpVerb", + "CannotDeleteFileOrDirectory", + "ClientCacheFlushDelay", + "DeletePending", + "DirectoryNotEmpty", + "FileLockConflict", + "InvalidFileOrDirectoryPathName", + "ParentNotFound", + "ReadOnlyAttribute", + "ShareAlreadyExists", + "ShareBeingDeleted", + "ShareDisabled", + "ShareNotFound", + "SharingViolation", + "ShareSnapshotInProgress", + "ShareSnapshotCountExceeded", + "ShareSnapshotOperationNotSupported", + "ShareHasSnapshots", + "ContainerQuotaDowngradeNotAllowed", + "AuthorizationSourceIPMismatch", + "AuthorizationProtocolMismatch", + "AuthorizationPermissionMismatch", + "AuthorizationServiceMismatch", + "AuthorizationResourceTypeMismatch", + "FeatureVersionMismatch" + ], + "x-ms-enum": { + "name": "StorageErrorCode", + "modelAsString": true + } + }, + "FilesAndDirectoriesListSegment": { + "description": "Abstract for entries that can be listed from Directory.", + "type": "object", + "required": [ + "DirectoryItems", + "FileItems" + ], + "properties": { + "DirectoryItems": { + "type": "array", + "items": { + "$ref": "#/definitions/DirectoryItem" + } + }, + "FileItems": { + "type": "array", + "items": { + "$ref": "#/definitions/FileItem" + } + } + }, + "xml": { + "name": "Entries" + } + }, + "DirectoryItem": { + "xml": { + "name": "Directory" + }, + "description": "A listed directory item.", + "type": "object", + "required": [ + "Name" + ], + "properties": { + "Name": { + "type": "string" + }, + "FileId": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/FileProperty" + }, + "Attributes": { + "type": "string" + }, + "PermissionKey": { + "type": "string" + } + } + }, + "FileItem": { + "xml": { + "name": "File" + }, + "description": "A listed file item.", + "type": "object", + "required": [ + "Name", + "Properties" + ], + "properties": { + "Name": { + "type": "string" + }, + "FileId": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/FileProperty" + }, + "Attributes": { + "type": "string" + }, + "PermissionKey": { + "type": "string" + } + } + }, + "FileProperty": { + "description": "File properties.", + "type": "object", + "required": [ + "Content-Length" + ], + "properties": { + "Content-Length": { + "description": "Content length of the file. This value may not be up-to-date since an SMB client may have modified the file locally. The value of Content-Length may not reflect that fact until the handle is closed or the op-lock is broken. To retrieve current property values, call Get File Properties.", + "type": "integer", + "format": "int64" + }, + "CreationTime": { + "type": "string", + "format": "date-time" + }, + "LastAccessTime": { + "type": "string", + "format": "date-time" + }, + "LastWriteTime": { + "type": "string", + "format": "date-time" + }, + "ChangeTime": { + "type": "string", + "format": "date-time" + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + } + } + }, + "HandleItem": { + "xml": { + "name": "Handle" + }, + "description": "A listed Azure Storage handle item.", + "type": "object", + "required": [ + "HandleId", + "Path", + "FileId", + "SessionId", + "ClientIp", + "OpenTime" + ], + "properties": { + "HandleId": { + "type": "string", + "description": "XSMB service handle ID" + }, + "Path": { + "type": "string", + "description": "File or directory name including full path starting from share root" + }, + "FileId": { + "type": "string", + "description": "FileId uniquely identifies the file or directory." + }, + "ParentId": { + "type": "string", + "description": "ParentId uniquely identifies the parent directory of the object." + }, + "SessionId": { + "type": "string", + "description": "SMB session ID in context of which the file handle was opened" + }, + "ClientIp": { + "type": "string", + "description": "Client IP that opened the handle" + }, + "OpenTime": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Time when the session that previously opened the handle has last been reconnected. (UTC)" + }, + "LastReconnectTime": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Time handle was last connected to (UTC)" + } + } + }, + "LeaseDuration": { + "xml": { + "name": "LeaseDuration" + }, + "description": "When a share is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "LeaseState": { + "xml": { + "name": "LeaseState" + }, + "description": "Lease state of the share.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "LeaseStatus": { + "xml": { + "name": "LeaseStatus" + }, + "description": "The current lease status of the share.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "ListFilesAndDirectoriesSegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of directories and files.", + "type": "object", + "required": [ + "ServiceEndpoint", + "ShareName", + "DirectoryPath", + "Prefix", + "NextMarker", + "Segment" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ShareName": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ShareSnapshot": { + "type": "string", + "xml": { + "attribute": true + } + }, + "DirectoryPath": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "Segment": { + "$ref": "#/definitions/FilesAndDirectoriesListSegment" + }, + "NextMarker": { + "type": "string" + }, + "DirectoryId": { + "type": "string" + } + } + }, + "ListHandlesResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of handles.", + "type": "object", + "required": [ + "NextMarker" + ], + "properties": { + "HandleList": { + "type": "array", + "items": { + "$ref": "#/definitions/HandleItem" + }, + "xml": { + "name": "Entries", + "wrapped": true + } + }, + "NextMarker": { + "type": "string" + } + } + }, + "ListSharesResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of shares.", + "type": "object", + "required": [ + "ServiceEndpoint", + "NextMarker" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "ShareItems": { + "type": "array", + "items": { + "$ref": "#/definitions/ShareItemInternal" + }, + "xml": { + "name": "Shares", + "wrapped": true + } + }, + "NextMarker": { + "type": "string" + } + } + }, + "Metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "Metrics": { + "description": "Storage Analytics metrics for file service.", + "required": [ + "Version", + "Enabled" + ], + "properties": { + "Version": { + "description": "The version of Storage Analytics to configure.", + "type": "string" + }, + "Enabled": { + "description": "Indicates whether metrics are enabled for the File service.", + "type": "boolean" + }, + "IncludeAPIs": { + "description": "Indicates whether metrics should generate summary statistics for called API operations.", + "type": "boolean" + }, + "RetentionPolicy": { + "$ref": "#/definitions/RetentionPolicy" + } + } + }, + "SmbMultichannel": { + "description": "Settings for SMB multichannel", + "type": "object", + "properties": { + "Enabled": { + "type": "boolean", + "description": "If SMB multichannel is enabled." + } + }, + "xml": { + "name": "Multichannel" + } + }, + "FileRange": { + "description": "An Azure Storage file range.", + "type": "object", + "required": [ + "Start", + "End" + ], + "properties": { + "Start": { + "type": "integer", + "format": "int64", + "description": "Start of the range." + }, + "End": { + "type": "integer", + "format": "int64", + "description": "End of the range." + } + }, + "xml": { + "name": "Range" + } + }, + "ClearRange": { + "type": "object", + "required": [ + "Start", + "End" + ], + "properties": { + "Start": { + "type": "integer", + "format": "int64", + "xml": { + "name": "Start" + } + }, + "End": { + "type": "integer", + "format": "int64", + "xml": { + "name": "End" + } + } + }, + "xml": { + "name": "ClearRange" + } + }, + "ShareProtocolSettings": { + "description": "Protocol settings", + "type": "object", + "xml": { + "name": "ProtocolSettings" + }, + "properties": { + "Smb": { + "description": "Settings for SMB protocol.", + "$ref": "#/definitions/ShareSmbSettings" + } + } + }, + "ShareFileRangeList": { + "description": "The list of file ranges", + "type": "object", + "properties": { + "Ranges": { + "type": "array", + "items": { + "$ref": "#/definitions/FileRange" + } + }, + "ClearRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/ClearRange" + } + } + } + }, + "StorageError": { + "type": "object", + "properties": { + "Message": { + "type": "string" + } + } + }, + "RetentionPolicy": { + "description": "The retention policy.", + "type": "object", + "required": [ + "Enabled" + ], + "properties": { + "Enabled": { + "description": "Indicates whether a retention policy is enabled for the File service. If false, metrics data is retained, and the user is responsible for deleting it.", + "type": "boolean" + }, + "Days": { + "description": "Indicates the number of days that metrics data should be retained. All data older than this value will be deleted. Metrics data is deleted on a best-effort basis after the retention period expires.", + "type": "integer", + "minimum": 1, + "maximum": 365 + } + } + }, + "ShareItemInternal": { + "xml": { + "name": "Share" + }, + "description": "A listed Azure Storage share item.", + "type": "object", + "required": [ + "Name", + "Properties" + ], + "properties": { + "Name": { + "type": "string" + }, + "Snapshot": { + "type": "string" + }, + "Deleted": { + "type": "boolean" + }, + "Version": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/SharePropertiesInternal" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + } + } + }, + "SharePropertiesInternal": { + "description": "Properties of a share.", + "type": "object", + "required": [ + "Last-Modified", + "Etag", + "Quota" + ], + "properties": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + }, + "Quota": { + "type": "integer" + }, + "ProvisionedIops": { + "type": "integer" + }, + "ProvisionedIngressMBps": { + "type": "integer" + }, + "ProvisionedEgressMBps": { + "type": "integer" + }, + "ProvisionedBandwidthMiBps": { + "type": "integer" + }, + "NextAllowedQuotaDowngradeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "DeletedTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "RemainingRetentionDays": { + "type": "integer" + }, + "AccessTier": { + "type": "string" + }, + "AccessTierChangeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "AccessTierTransitionState": { + "type": "string" + }, + "LeaseStatus": { + "$ref": "#/definitions/LeaseStatus" + }, + "LeaseState": { + "$ref": "#/definitions/LeaseState" + }, + "LeaseDuration": { + "$ref": "#/definitions/LeaseDuration" + }, + "EnabledProtocols": { + "$ref": "#/definitions/ShareEnabledProtocols" + }, + "RootSquash": { + "$ref": "#/definitions/ShareRootSquash" + } + } + }, + "ShareStats": { + "description": "Stats for the share.", + "type": "object", + "required": [ + "ShareUsageBytes" + ], + "properties": { + "ShareUsageBytes": { + "description": "The approximate size of the data stored in bytes. Note that this value may not include all recently created or recently resized files.", + "type": "integer" + } + } + }, + "SignedIdentifier": { + "description": "Signed identifier.", + "type": "object", + "required": [ + "Id" + ], + "properties": { + "Id": { + "type": "string", + "description": "A unique id." + }, + "AccessPolicy": { + "description": "The access policy.", + "$ref": "#/definitions/AccessPolicy" + } + } + }, + "SignedIdentifiers": { + "description": "A collection of signed identifiers.", + "type": "array", + "items": { + "$ref": "#/definitions/SignedIdentifier", + "xml": { + "name": "SignedIdentifier" + } + }, + "xml": { + "wrapped": true, + "name": "SignedIdentifiers" + } + }, + "ShareSmbSettings": { + "description": "Settings for SMB protocol.", + "type": "object", + "xml": { + "name": "SMB" + }, + "properties": { + "Multichannel": { + "description": "Settings for SMB Multichannel.", + "$ref": "#/definitions/SmbMultichannel" + } + } + }, + "StorageServiceProperties": { + "description": "Storage service properties.", + "type": "object", + "properties": { + "HourMetrics": { + "description": "A summary of request statistics grouped by API in hourly aggregates for files.", + "$ref": "#/definitions/Metrics" + }, + "MinuteMetrics": { + "description": "A summary of request statistics grouped by API in minute aggregates for files.", + "$ref": "#/definitions/Metrics" + }, + "Cors": { + "description": "The set of CORS rules.", + "type": "array", + "items": { + "$ref": "#/definitions/CorsRule" + }, + "xml": { + "wrapped": true + } + }, + "Protocol": { + "description": "Protocol settings", + "$ref": "#/definitions/ShareProtocolSettings" + } + } + }, + "SharePermission": { + "description": "A permission (a security descriptor) at the share level.", + "type": "object", + "required": [ + "permission" + ], + "properties": { + "permission": { + "type": "string", + "description": "The permission in the Security Descriptor Definition Language (SDDL)." + } + } + }, + "ShareEnabledProtocols": { + "type": "string" + }, + "ShareRootSquash": { + "type": "string", + "enum": [ + "NoRootSquash", + "RootSquash", + "AllSquash" + ], + "x-ms-enum": { + "name": "ShareRootSquash", + "modelAsString": false + } + } + }, + "parameters": { + "AccessTierOptional": { + "name": "x-ms-access-tier", + "x-ms-client-name": "accessTier", + "in": "header", + "description": "Specifies the access tier of the share.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "enum": [ + "TransactionOptimized", + "Hot", + "Cool" + ], + "x-ms-enum": { + "name": "ShareAccessTier", + "modelAsString": true + } + }, + "ApiVersionParameter": { + "name": "x-ms-version", + "x-ms-client-name": "version", + "x-ms-parameter-location": "client", + "in": "header", + "description": "Specifies the version of the operation to use for this request.", + "required": true, + "type": "string", + "enum": [ + "2021-02-12" + ] + }, + "ClientRequestId": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "requestId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled." + }, + "ContentLength": { + "name": "Content-Length", + "x-ms-client-name": "contentLength", + "in": "header", + "description": "Specifies the number of bytes being transmitted in the request body. When the x-ms-write header is set to clear, the value of this header must be set to zero.", + "required": true, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method" + }, + "ContentMD5": { + "name": "Content-MD5", + "x-ms-client-name": "contentMD5", + "in": "header", + "description": "An MD5 hash of the content. This hash is used to verify the integrity of the data during transport. When the Content-MD5 header is specified, the File service compares the hash of the content that has arrived with the header value that was sent. If the two hashes do not match, the operation will fail with error code 400 (Bad Request).", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method" + }, + "CopyActionAbort": { + "name": "x-ms-copy-action", + "x-ms-client-name": "copyActionAbortConstant", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "abort" + ], + "x-ms-parameter-location": "method", + "description": "Abort." + }, + "CopyId": { + "name": "copyid", + "x-ms-client-name": "copyId", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The copy identifier provided in the x-ms-copy-id header of the original Copy File operation." + }, + "CopySource": { + "name": "x-ms-copy-source", + "x-ms-client-name": "copySource", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the URL of the source file or blob, up to 2 KB in length. To copy a file to another file within the same storage account, you may use Shared Key to authenticate the source file. If you are copying a file from another storage account, or if you are copying a blob from the same storage account or another storage account, then you must authenticate the source file or blob using a shared access signature. If the source is a public blob, no authentication is required to perform the copy operation. A file in a share snapshot can also be specified as a copy source." + }, + "CopySourceAuthorization": { + "name": "x-ms-copy-source-authorization", + "x-ms-client-name": "copySourceAuthorization", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Only Bearer type is supported. Credentials should be a valid OAuth access token to copy source." + }, + "FileCopyPermissionCopyMode": { + "name": "x-ms-file-permission-copy-mode", + "x-ms-client-name": "filePermissionCopyMode", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "source", + "override" + ], + "x-ms-enum": { + "name": "PermissionCopyModeType", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies the option to copy file security descriptor from source file or to set it using the value which is defined by the header value of x-ms-file-permission or x-ms-file-permission-key." + }, + "FileCopyIgnoreReadOnly": { + "name": "x-ms-file-copy-ignore-read-only", + "x-ms-client-name": "ignoreReadOnly", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies the option to overwrite the target file if it already exists and has read-only attribute set." + }, + "FileCopyFileAttributes": { + "name": "x-ms-file-attributes", + "x-ms-client-name": "fileAttributes", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies either the option to copy file attributes from a source file(source) to a target file or a list of attributes to set on a target file." + }, + "FileCopyFileCreationTime": { + "name": "x-ms-file-creation-time", + "x-ms-client-name": "fileCreationTime", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies either the option to copy file creation time from a source file(source) to a target file or a time value in ISO 8601 format to set as creation time on a target file." + }, + "FileCopyFileLastWriteTime": { + "name": "x-ms-file-last-write-time", + "x-ms-client-name": "fileLastWriteTime", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies either the option to copy file last write time from a source file(source) to a target file or a time value in ISO 8601 format to set as last write time on a target file." + }, + "FileCopySetArchiveAttribute": { + "name": "x-ms-file-copy-set-archive", + "x-ms-client-name": "setArchiveAttribute", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies the option to set archive attribute on a target file. True means archive attribute will be set on a target file despite attribute overrides or a source file state." + }, + "DeletedShareName": { + "name": "x-ms-deleted-share-name", + "x-ms-client-name": "DeletedShareName", + "description": "Specifies the name of the previously-deleted share.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DirectoryPath": { + "name": "directory", + "in": "path", + "description": "The path of the target directory.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": false + }, + "FilePath": { + "name": "fileName", + "in": "path", + "description": "The path of the target file.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": false + }, + "ShareName": { + "name": "shareName", + "in": "path", + "description": "The name of the target share.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DeletedShareVersion": { + "name": "x-ms-deleted-share-version", + "x-ms-client-name": "DeletedShareVersion", + "description": "Specifies the version of the previously-deleted share.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DeleteSnapshots": { + "name": "x-ms-delete-snapshots", + "x-ms-client-name": "deleteSnapshots", + "description": "Specifies the option include to delete the base share and all of its snapshots.", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "include", + "include-leased" + ], + "x-ms-enum": { + "name": "DeleteSnapshotsOptionType", + "modelAsString": false + }, + "x-ms-parameter-location": "method" + }, + "FileAttributes": { + "name": "x-ms-file-attributes", + "x-ms-client-name": "FileAttributes", + "in": "header", + "description": "If specified, the provided file attributes shall be set. Default value: ‘Archive’ for file and ‘Directory’ for directory. ‘None’ can also be specified as default.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "FileCacheControl": { + "name": "x-ms-cache-control", + "x-ms-client-name": "fileCacheControl", + "description": "Sets the file's cache control. The File service stores this value but does not use or modify it.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentDisposition": { + "name": "x-ms-content-disposition", + "x-ms-client-name": "fileContentDisposition", + "description": "Sets the file's Content-Disposition header.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentEncoding": { + "name": "x-ms-content-encoding", + "x-ms-client-name": "fileContentEncoding", + "in": "header", + "description": "Specifies which content encodings have been applied to the file.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentLanguage": { + "name": "x-ms-content-language", + "x-ms-client-name": "fileContentLanguage", + "in": "header", + "description": "Specifies the natural languages used by this resource.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentMD5": { + "name": "x-ms-content-md5", + "x-ms-client-name": "fileContentMD5", + "in": "header", + "description": "Sets the file's MD5 hash.", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentType": { + "name": "x-ms-content-type", + "x-ms-client-name": "fileContentType", + "in": "header", + "description": "Sets the MIME content type of the file. The default type is 'application/octet-stream'.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileCreationTime": { + "name": "x-ms-file-creation-time", + "x-ms-client-name": "FileCreationTime", + "in": "header", + "description": "Creation time for the file/directory. Default value: Now.", + "required": true, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method" + }, + "FileLastWriteTime": { + "name": "x-ms-file-last-write-time", + "x-ms-client-name": "FileLastWriteTime", + "in": "header", + "description": "Last write time for the file/directory. Default value: Now.", + "required": true, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method" + }, + "FilePermission": { + "name": "x-ms-file-permission", + "x-ms-client-name": "FilePermission", + "in": "header", + "description": "If specified the permission (security descriptor) shall be set for the directory/file. This header can be used if Permission size is <= 8KB, else x-ms-file-permission-key header shall be used. Default value: Inherit. If SDDL is specified as input, it must have owner, group and dacl. Note: Only one of the x-ms-file-permission or x-ms-file-permission-key should be specified.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "FilePermissionKey": { + "name": "x-ms-file-permission-key", + "x-ms-client-name": "FilePermissionKey", + "in": "header", + "description": "Key of the permission to be set for the directory/file. Note: Only one of the x-ms-file-permission or x-ms-file-permission-key should be specified.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "FilePermissionKeyRequired": { + "name": "x-ms-file-permission-key", + "x-ms-client-name": "FilePermissionKey", + "in": "header", + "description": "Key of the permission to be set for the directory/file.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "FileRangeWriteFromUrl": { + "name": "x-ms-write", + "x-ms-parameter-location": "client", + "x-ms-client-name": "fileRangeWriteFromUrl", + "in": "header", + "description": "Only update is supported: - Update: Writes the bytes downloaded from the source url into the specified range.", + "required": true, + "type": "string", + "enum": [ + "update" + ], + "default": "update", + "x-ms-enum": { + "name": "FileRangeWriteFromUrlType", + "modelAsString": false + } + }, + "FileType": { + "name": "x-ms-type", + "x-ms-client-name": "fileTypeConstant", + "in": "header", + "required": true, + "description": "Dummy constant parameter, file type can only be file.", + "type": "string", + "enum": [ + "file" + ], + "x-ms-parameter-location": "method" + }, + "GetRangeContentMD5": { + "name": "x-ms-range-get-content-md5", + "x-ms-client-name": "rangeGetContentMD5", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "When this header is set to true and specified together with the Range header, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4 MB in size." + }, + "HandleId": { + "name": "x-ms-handle-id", + "x-ms-client-name": "handleId", + "in": "header", + "description": "Specifies handle ID opened on the file or directory to be closed. Asterisk (‘*’) is a wildcard that specifies all handles.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "LeaseBreakPeriod": { + "name": "x-ms-lease-break-period", + "x-ms-client-name": "breakPeriod", + "in": "header", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method", + "description": "For a break operation, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60. This break period is only used if it is shorter than the time remaining on the lease. If longer, the time remaining on the lease is used. A new lease will not be available before the break period has expired, but the lease may be held for longer than the break period. If this header does not appear with a break operation, a fixed-duration lease breaks after the remaining lease period elapses, and an infinite lease breaks immediately." + }, + "LeaseDuration": { + "name": "x-ms-lease-duration", + "x-ms-client-name": "duration", + "in": "header", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method", + "description": "Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change." + }, + "LeaseIdOptional": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "lease-access-conditions" + }, + "description": "If specified, the operation only succeeds if the resource's lease is active and matches this ID." + }, + "LeaseIdRequired": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the current lease ID on the resource." + }, + "ListFilesInclude": { + "name": "include", + "in": "query", + "description": "Include this parameter to specify one or more datasets to include in the response.", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "Timestamps", + "Etag", + "Attributes", + "PermissionKey" + ], + "x-ms-enum": { + "name": "ListFilesIncludeType", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method" + }, + "ListFilesExtendedInfo": { + "name": "x-ms-file-extended-info", + "x-ms-client-name": "includeExtendedInfo", + "x-ms-parameter-location": "method", + "in": "header", + "type": "boolean", + "required": false, + "description": "Include extended information." + }, + "ListSharesInclude": { + "name": "include", + "in": "query", + "description": "Include this parameter to specify one or more datasets to include in the response.", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "snapshots", + "metadata", + "deleted" + ], + "x-ms-enum": { + "name": "ListSharesIncludeType", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method" + }, + "Marker": { + "name": "marker", + "in": "query", + "description": "A string value that identifies the portion of the list to be returned with the next list operation. The operation returns a marker value within the response body if the list returned was not complete. The marker value may then be used in a subsequent call to request the next set of list items. The marker value is opaque to the client.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MaxResults": { + "name": "maxresults", + "in": "query", + "description": "Specifies the maximum number of entries to return. If the request does not specify maxresults, or specifies a value greater than 5,000, the server will return up to 5,000 items.", + "required": false, + "type": "integer", + "minimum": 1, + "x-ms-parameter-location": "method" + }, + "Metadata": { + "name": "x-ms-meta", + "x-ms-client-name": "metadata", + "in": "header", + "description": "A name-value pair to associate with a file storage object.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "OptionalBody": { + "name": "optionalbody", + "in": "body", + "description": "Initial data.", + "required": false, + "schema": { + "type": "object", + "format": "file" + }, + "x-ms-parameter-location": "method" + }, + "Prefix": { + "name": "prefix", + "in": "query", + "description": "Filters the results to return only entries whose name begins with the specified prefix.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "PrevShareSnapshot": { + "name": "prevsharesnapshot", + "in": "query", + "description": "The previous snapshot parameter is an opaque DateTime value that, when present, specifies the previous snapshot.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ProposedLeaseIdOptional": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The File service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "ProposedLeaseIdRequired": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The File service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "Range": { + "name": "x-ms-range", + "x-ms-client-name": "range", + "in": "header", + "description": "Return file data only from the specified byte range.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Recursive": { + "name": "x-ms-recursive", + "x-ms-client-name": "recursive", + "in": "header", + "description": "Specifies operation should apply to the directory specified in the URI, its files, its subdirectories and their files.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "Url": { + "name": "url", + "x-ms-parameter-location": "client", + "in": "path", + "description": "The URL of the service account, share, directory or file that is the target of the desired operation.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true + }, + "ShareAcl": { + "name": "shareAcl", + "in": "body", + "description": "The ACL for the share.", + "schema": { + "$ref": "#/definitions/SignedIdentifiers" + }, + "x-ms-parameter-location": "method" + }, + "ShareQuota": { + "name": "x-ms-share-quota", + "x-ms-client-name": "quota", + "in": "header", + "description": "Specifies the maximum size of the share, in gigabytes.", + "required": false, + "type": "integer", + "minimum": 1, + "x-ms-parameter-location": "method" + }, + "ShareSnapshot": { + "name": "sharesnapshot", + "in": "query", + "description": "The snapshot parameter is an opaque DateTime value that, when present, specifies the share snapshot to query.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SourceContentCrc64": { + "name": "x-ms-source-content-crc64", + "x-ms-client-name": "sourceContentCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the crc64 calculated for the range of bytes that must be read from the copy source." + }, + "SourceIfMatchCrc64": { + "name": "x-ms-source-if-match-crc64", + "x-ms-client-name": "sourceIfMatchCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify the crc64 value to operate only on range with a matching crc64 checksum." + }, + "SourceIfNoneMatchCrc64": { + "name": "x-ms-source-if-none-match-crc64", + "x-ms-client-name": "sourceIfNoneMatchCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify the crc64 value to operate only on range without a matching crc64 checksum." + }, + "SourceRange": { + "name": "x-ms-source-range", + "x-ms-client-name": "sourceRange", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Bytes of source data in the specified range." + }, + "StorageServiceProperties": { + "name": "StorageServiceProperties", + "in": "body", + "description": "The StorageService properties.", + "required": true, + "schema": { + "$ref": "#/definitions/StorageServiceProperties" + }, + "x-ms-parameter-location": "method" + }, + "TargetRange": { + "name": "x-ms-range", + "x-ms-client-name": "Range", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Writes data to the specified byte range in the file." + }, + "Timeout": { + "name": "timeout", + "in": "query", + "description": "The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for File Service Operations.", + "required": false, + "type": "integer", + "minimum": 0, + "x-ms-parameter-location": "method" + }, + "SharePermission": { + "name": "sharePermission", + "in": "body", + "description": "A permission (a security descriptor) at the share level.", + "required": true, + "schema": { + "$ref": "#/definitions/SharePermission" + }, + "x-ms-parameter-location": "method" + }, + "ShareEnabledProtocols": { + "name": "x-ms-enabled-protocols", + "description": "Protocols to enable on the share.", + "x-ms-client-name": "enabledProtocols", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ShareRootSquash": { + "name": "x-ms-root-squash", + "description": "Root squash to set on the share. Only valid for NFS shares.", + "x-ms-client-name": "rootSquash", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "NoRootSquash", + "RootSquash", + "AllSquash" + ], + "x-ms-enum": { + "name": "ShareRootSquash", + "modelAsString": false + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/storage/data-plane/Microsoft.FileStorage/preview/2021-04-10/file.json b/specification/storage/data-plane/Microsoft.FileStorage/preview/2021-04-10/file.json new file mode 100644 index 000000000000..bf64f9e4cb7d --- /dev/null +++ b/specification/storage/data-plane/Microsoft.FileStorage/preview/2021-04-10/file.json @@ -0,0 +1,7069 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure File Storage", + "version": "2021-04-10", + "x-ms-code-generation-settings": { + "header": "MIT", + "strictSpecAdherence": false + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{url}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "$ref": "#/parameters/Url" + } + ] + }, + "securityDefinitions": { + "File_shared_key": { + "type": "apiKey", + "name": "Authorization", + "in": "header" + } + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/xml" + ], + "produces": [ + "application/xml" + ], + "paths": {}, + "x-ms-paths": { + "/?restype=service&comp=properties": { + "put": { + "tags": [ + "service" + ], + "operationId": "Service_SetProperties", + "description": "Sets properties for a storage account's File service endpoint, including properties for Storage Analytics metrics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "#/parameters/StorageServiceProperties" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Success (Accepted)", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "service" + ], + "operationId": "Service_GetProperties", + "description": "Gets the properties of a storage account's File service, including properties for Storage Analytics metrics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageServiceProperties" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "service" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/?comp=list": { + "get": { + "tags": [ + "service" + ], + "operationId": "Service_ListSharesSegment", + "description": "The List Shares Segment operation returns a list of the shares and share snapshots under the specified account.", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListSharesInclude" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + } + }, + "schema": { + "$ref": "#/definitions/ListSharesResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{shareName}?restype=share": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_Create", + "description": "Creates a new share under the specified account. If the share with the same name already exists, the operation fails.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ShareQuota" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareEnabledProtocols" + }, + { + "$ref": "#/parameters/ShareRootSquash" + } + ], + "responses": { + "201": { + "description": "Success, Share created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the share, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties or metadata updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "share" + ], + "operationId": "Share_GetProperties", + "description": "Returns all user-defined metadata and system properties for the specified share or share snapshot. The data returned does not include the share's list of files.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs that contain the user-defined metadata of the share.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-share-quota": { + "x-ms-client-name": "Quota", + "type": "integer", + "description": "Returns the current share quota in GB." + }, + "x-ms-share-provisioned-iops": { + "x-ms-client-name": "ProvisionedIops", + "type": "integer", + "description": "Returns the current share provisioned ipos." + }, + "x-ms-share-provisioned-ingress-mbps": { + "x-ms-client-name": "ProvisionedIngressMBps", + "type": "integer", + "description": "Returns the current share provisioned ingress in megabytes per second." + }, + "x-ms-share-provisioned-egress-mbps": { + "x-ms-client-name": "ProvisionedEgressMBps", + "type": "integer", + "description": "Returns the current share provisioned egress in megabytes per second." + }, + "x-ms-share-next-allowed-quota-downgrade-time": { + "x-ms-client-name": "NextAllowedQuotaDowngradeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the current share next allowed quota downgrade time." + }, + "x-ms-share-provisioned-bandwidth-mibps": { + "x-ms-client-name": "ProvisionedBandwidthMibps", + "type": "integer", + "description": "Returns the current share provisioned bandwidth in megabits per second." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a share is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the share.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the share.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-access-tier": { + "x-ms-client-name": "AccessTier", + "type": "string", + "description": "Returns the access tier set on the share." + }, + "x-ms-access-tier-change-time": { + "x-ms-client-name": "AccessTierChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the last modified time (in UTC) of the access tier of the share." + }, + "x-ms-access-tier-transition-state": { + "x-ms-client-name": "AccessTierTransitionState", + "type": "string", + "description": "Returns the transition state between access tiers, when present." + }, + "x-ms-enabled-protocols": { + "x-ms-client-name": "EnabledProtocols", + "description": "The protocols that have been enabled on the share.", + "type": "string" + }, + "x-ms-root-squash": { + "x-ms-client-name": "RootSquash", + "description": "Valid for NFS shares only.", + "type": "string", + "enum": [ + "NoRootSquash", + "RootSquash", + "AllSquash" + ], + "x-ms-enum": { + "name": "ShareRootSquash", + "modelAsString": false + } + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "share" + ], + "operationId": "Share_Delete", + "description": "Operation marks the specified share or share snapshot for deletion. The share or share snapshot and any files contained within it are later deleted during garbage collection.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/DeleteSnapshots" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&acquire": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_AcquireLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseDuration" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The Acquire operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a share's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "acquire" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&release": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_ReleaseLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Release operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "release" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&change": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_ChangeLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Change operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a share's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "change" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&renew": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_RenewLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Renew operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a share's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the current share next allowed quota downgrade time." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "renew" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&break": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_BreakLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseBreakPeriod" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ShareSnapshot" + } + ], + "responses": { + "202": { + "description": "The Break operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-lease-time": { + "x-ms-client-name": "LeaseTime", + "type": "integer", + "description": "Approximate time remaining in the lease period, in seconds." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a share's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "break" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=snapshot": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_CreateSnapshot", + "description": "Creates a read-only snapshot of a share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Success, Share snapshot created.", + "headers": { + "x-ms-snapshot": { + "x-ms-client-name": "Snapshot", + "type": "string", + "description": "This header is a DateTime value that uniquely identifies the share snapshot. The value of this header may be used in subsequent requests to access the share snapshot. This value is opaque." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the share snapshot, in quotes. A share snapshot cannot be modified, so the ETag of a given share snapshot never changes. However, if new metadata was supplied with the Snapshot Share request then the ETag of the share snapshot differs from that of the base share. If no metadata was specified with the request, the ETag of the share snapshot is identical to that of the base share at the time the share snapshot was taken." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. A share snapshot cannot be modified, so the last modified time of a given share snapshot never changes. However, if new metadata was supplied with the Snapshot Share request then the last modified time of the share snapshot differs from that of the base share. If no metadata was specified with the request, the last modified time of the share snapshot is identical to that of the base share at the time the share snapshot was taken." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "snapshot" + ] + } + ] + }, + "/{shareName}?restype=share&comp=filepermission": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_CreatePermission", + "description": "Create a permission (a security descriptor).", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SharePermission" + } + ], + "responses": { + "201": { + "description": "Success, Share level permission created.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the directory/file." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "share" + ], + "operationId": "Share_GetPermission", + "description": "Returns the permission (security descriptor) for a given key", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/FilePermissionKeyRequired" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/SharePermission" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "filepermission" + ] + } + ] + }, + "/{shareName}?restype=share&comp=properties": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_SetProperties", + "description": "Sets properties for the specified share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareQuota" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ShareRootSquash" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{shareName}?restype=share&comp=metadata": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_SetMetadata", + "description": "Sets one or more user-defined name-value pairs for the specified share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "metadata" + ] + } + ] + }, + "/{shareName}?restype=share&comp=acl": { + "get": { + "tags": [ + "share" + ], + "operationId": "Share_GetAccessPolicy", + "description": "Returns information about stored access policies specified on the share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/SignedIdentifiers" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "put": { + "tags": [ + "share" + ], + "operationId": "Share_SetAccessPolicy", + "description": "Sets a stored access policy for use with shared access signatures.", + "parameters": [ + { + "$ref": "#/parameters/ShareAcl" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "acl" + ] + } + ] + }, + "/{shareName}?restype=share&comp=stats": { + "get": { + "tags": [ + "share" + ], + "operationId": "Share_GetStatistics", + "description": "Retrieves statistics related to the share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ShareStats" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "stats" + ] + } + ] + }, + "/{shareName}?restype=share&comp=undelete": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_Restore", + "description": "Restores a previously deleted Share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/DeletedShareName" + }, + { + "$ref": "#/parameters/DeletedShareVersion" + } + ], + "responses": { + "201": { + "description": "Created", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "undelete" + ] + } + ] + }, + "/{shareName}/{directory}?restype=directory": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_Create", + "description": "Creates a new directory under the specified share or parent directory.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileAttributes" + }, + { + "$ref": "#/parameters/FileCreationTime" + }, + { + "$ref": "#/parameters/FileLastWriteTime" + } + ], + "responses": { + "201": { + "description": "Success, Directory created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the directory, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the directory." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the directory." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the directory." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the directory." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the directory." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the directory." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "directory" + ], + "operationId": "Directory_GetProperties", + "description": "Returns all system properties for the specified directory, and can also be used to check the existence of a directory. The data returned does not include the files in the directory or any subdirectories.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs that contain metadata for the directory.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the Directory was last modified. Operations on files within the directory do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the directory metadata is completely encrypted using the specified algorithm. Otherwise, the value is set to false." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the directory." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the directory." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the directory." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the directory." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the directory." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the directory." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "directory" + ], + "operationId": "Directory_Delete", + "description": "Removes the specified empty directory. Note that the directory must be empty before it can be deleted.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Success (Accepted).", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + } + ] + }, + "/{shareName}/{directory}?restype=directory&comp=properties": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_SetProperties", + "description": "Sets properties on the directory.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileAttributes" + }, + { + "$ref": "#/parameters/FileCreationTime" + }, + { + "$ref": "#/parameters/FileLastWriteTime" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the directory was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the directory." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the directory." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the directory." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the directory." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the directory." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the directory." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{shareName}/{directory}?restype=directory&comp=metadata": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_SetMetadata", + "description": "Updates user defined metadata for the specified directory.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success (OK).", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the directory, in quotes." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "metadata" + ] + } + ] + }, + "/{shareName}/{directory}?restype=directory&comp=list": { + "get": { + "tags": [ + "directory" + ], + "operationId": "Directory_ListFilesAndDirectoriesSegment", + "description": "Returns a list of files or directories under the specified share or directory. It lists the contents only for a single level of the directory hierarchy.", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListFilesInclude" + }, + { + "$ref": "#/parameters/ListFilesExtendedInfo" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "Specifies the format in which the results are returned. Currently this value is 'application/xml'." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ListFilesAndDirectoriesSegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{shareName}/{directory}?comp=listhandles": { + "get": { + "tags": [ + "directory" + ], + "operationId": "Directory_ListHandles", + "description": "Lists handles for directory.", + "parameters": [ + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Recursive" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "Specifies the format in which the results are returned. Currently this value is 'application/xml'." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ListHandlesResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "listhandles" + ] + } + ] + }, + "/{shareName}/{directory}?comp=forceclosehandles": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_ForceCloseHandles", + "description": "Closes all handles open for given directory.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/HandleId" + }, + { + "$ref": "#/parameters/Recursive" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-marker": { + "x-ms-client-name": "marker", + "type": "string", + "description": "A string describing next handle to be closed. It is returned when more handles need to be closed to complete the request." + }, + "x-ms-number-of-handles-closed": { + "x-ms-client-name": "numberOfHandlesClosed", + "type": "integer", + "description": "Contains count of number of handles closed." + }, + "x-ms-number-of-handles-failed": { + "x-ms-client-name": "numberOfHandlesFailedToClose", + "type": "integer", + "description": "Contains count of number of handles that failed to close." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "forceclosehandles" + ] + } + ] + }, + "/{shareName}/{directory}?restype=directory&comp=rename": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_Rename", + "description": "Renames a directory", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/RenameSource" + }, + { + "$ref": "#/parameters/RenameReplaceIfExists" + }, + { + "$ref": "#/parameters/RenameIgnoreReadOnly" + }, + { + "$ref": "#/parameters/SourceLeaseId" + }, + { + "$ref": "#/parameters/DestinationLeaseId" + }, + { + "$ref": "#/parameters/FileCopyFileAttributes" + }, + { + "$ref": "#/parameters/FileCopyFileCreationTime" + }, + { + "$ref": "#/parameters/FileCopyFileLastWriteTime" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "rename" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_Create", + "description": "Creates a new file or replaces a file. Note it only initializes the file with no content.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "x-ms-content-length", + "x-ms-client-name": "fileContentLength", + "in": "header", + "description": "Specifies the maximum size for the file, up to 4 TB.", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "$ref": "#/parameters/FileType" + }, + { + "$ref": "#/parameters/FileContentType" + }, + { + "$ref": "#/parameters/FileContentEncoding" + }, + { + "$ref": "#/parameters/FileContentLanguage" + }, + { + "$ref": "#/parameters/FileCacheControl" + }, + { + "$ref": "#/parameters/FileContentMD5" + }, + { + "$ref": "#/parameters/FileContentDisposition" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileAttributes" + }, + { + "$ref": "#/parameters/FileCreationTime" + }, + { + "$ref": "#/parameters/FileLastWriteTime" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "201": { + "description": "Success, File created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the file." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "file" + ], + "operationId": "File_Download", + "description": "Reads or downloads a file from the system, including its metadata and properties.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/GetRangeContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Succeeded to read the entire file.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file or its properties updates the last modified time." + }, + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs associated with this file as user-defined metadata.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The content type specified for the file. The default content type is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned if the client requested a subset of the file by setting the Range request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the file has an MD5 hash and the request is to read the full file, this response header is returned so that the client can check for message content integrity. If the request is to read a specified range and the 'x-ms-range-get-content-md5' is set to true, then the request returns an MD5 hash for the range, as long as the range size is less than or equal to 4 MB. If neither of these sets of conditions is true, then no value is returned for the 'Content-MD5' header." + }, + "Content-Encoding": { + "type": "string", + "description": "Returns the value that was specified for the Content-Encoding request header." + }, + "Cache-Control": { + "type": "string", + "description": "Returned if it was previously specified for the file." + }, + "Content-Disposition": { + "type": "string", + "description": "Returns the value that was specified for the 'x-ms-content-disposition' header and specifies how to process the response." + }, + "Content-Language": { + "type": "string", + "description": "Returns the value that was specified for the Content-Language request header." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial file content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy File operation where this file was the destination file. This value can specify the time of a completed, aborted, or failed copy attempt." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes cause of fatal or non-fatal copy operation failure." + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy File operation where this file was the destination file. Can show between 0 and Content-Length bytes copied." + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2KB in length that specifies the source file used in the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by 'x-ms-copy-id'.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-content-md5": { + "x-ms-client-name": "FileContentMD5", + "type": "string", + "format": "byte", + "description": "If the file has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole file's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the file data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the file is unencrypted, or if only parts of the file/application metadata are encrypted)." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the file." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a file is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the file.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the file.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "206": { + "description": "Succeeded to read a specified range of the file.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file or its properties updates the last modified time." + }, + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs associated with this file as user-defined metadata.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The content type specified for the file. The default content type is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned if the client requested a subset of the file by setting the Range request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the file has an MD5 hash and the request is to read the full file, this response header is returned so that the client can check for message content integrity. If the request is to read a specified range and the 'x-ms-range-get-content-md5' is set to true, then the request returns an MD5 hash for the range, as long as the range size is less than or equal to 4 MB. If neither of these sets of conditions is true, then no value is returned for the 'Content-MD5' header." + }, + "Content-Encoding": { + "type": "string", + "description": "Returns the value that was specified for the Content-Encoding request header." + }, + "Cache-Control": { + "type": "string", + "description": "Returned if it was previously specified for the file." + }, + "Content-Disposition": { + "type": "string", + "description": "Returns the value that was specified for the 'x-ms-content-disposition' header and specifies how to process the response." + }, + "Content-Language": { + "type": "string", + "description": "Returns the value that was specified for the Content-Language request header." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial file content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy File operation where this file was the destination file. This value can specify the time of a completed, aborted, or failed copy attempt." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes cause of fatal or non-fatal copy operation failure." + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy File operation where this file was the destination file. Can show between 0 and Content-Length bytes copied." + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2KB in length that specifies the source file used in the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by 'x-ms-copy-id'.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-content-md5": { + "x-ms-client-name": "FileContentMD5", + "type": "string", + "format": "byte", + "description": "If the file has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole file's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the file data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the file is unencrypted, or if only parts of the file/application metadata are encrypted)." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the file." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a file is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the file.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the file.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "tags": [ + "file" + ], + "operationId": "File_GetProperties", + "description": "Returns all user-defined metadata, standard HTTP properties, and system properties for the file. It does not return the content of the file.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. The date format follows RFC 1123. Any operation that modifies the file or its properties updates the last modified time." + }, + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs associated with this file as user-defined metadata.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "x-ms-type": { + "x-ms-client-name": "FileType", + "description": "Returns the type File. Reserved for future use.", + "type": "string", + "enum": [ + "File" + ] + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The size of the file in bytes. This header returns the value of the 'x-ms-content-length' header that is stored with the file." + }, + "Content-Type": { + "type": "string", + "description": "The content type specified for the file. The default content type is 'application/octet-stream'" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the Content-MD5 header has been set for the file, the Content-MD5 response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "If the Content-Encoding request header has previously been set for the file, the Content-Encoding value is returned in this header." + }, + "Cache-Control": { + "type": "string", + "description": "If the Cache-Control request header has previously been set for the file, the Cache-Control value is returned in this header." + }, + "Content-Disposition": { + "type": "string", + "description": "Returns the value that was specified for the 'x-ms-content-disposition' header and specifies how to process the response." + }, + "Content-Language": { + "type": "string", + "description": "Returns the value that was specified for the Content-Language request header." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy File operation where this file was the destination file. This value can specify the time of a completed, aborted, or failed copy attempt." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes cause of fatal or non-fatal copy operation failure." + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy File operation where this file was the destination file. Can show between 0 and Content-Length bytes copied." + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2KB in length that specifies the source file used in the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by 'x-ms-copy-id'.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the file data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the file is unencrypted, or if only parts of the file/application metadata are encrypted)." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the file." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a file is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the file.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the file.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "file" + ], + "operationId": "File_Delete", + "description": "removes the file from the storage account.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "202": { + "description": "Success (Accepted).", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=properties": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_SetHTTPHeaders", + "description": "Sets HTTP headers on the file.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "x-ms-content-length", + "x-ms-client-name": "fileContentLength", + "in": "header", + "description": "Resizes a file to the specified size. If the specified byte value is less than the current size of the file, then all ranges above the specified byte value are cleared.", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "$ref": "#/parameters/FileContentType" + }, + { + "$ref": "#/parameters/FileContentEncoding" + }, + { + "$ref": "#/parameters/FileContentLanguage" + }, + { + "$ref": "#/parameters/FileCacheControl" + }, + { + "$ref": "#/parameters/FileContentMD5" + }, + { + "$ref": "#/parameters/FileContentDisposition" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileAttributes" + }, + { + "$ref": "#/parameters/FileCreationTime" + }, + { + "$ref": "#/parameters/FileLastWriteTime" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the directory was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the directory." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=metadata": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_SetMetadata", + "description": "Updates user-defined metadata for the specified file.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success (OK).", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "metadata" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=lease&acquire": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_AcquireLease", + "description": "[Update] The Lease File operation establishes and manages a lock on a file for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseDuration" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The Acquire operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the last-modified time of the file." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a file's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "acquire" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=lease&release": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_ReleaseLease", + "description": "[Update] The Lease File operation establishes and manages a lock on a file for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Release operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the last-modified time of the file." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "release" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=lease&change": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_ChangeLease", + "description": "[Update] The Lease File operation establishes and manages a lock on a file for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Change operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the last-modified time of the file." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a file's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "change" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=lease&break": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_BreakLease", + "description": "[Update] The Lease File operation establishes and manages a lock on a file for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "The Break operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the last-modified time of the file." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a file's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "break" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=range": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_UploadRange", + "description": "Upload a range of bytes to a file.", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/OptionalBody" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "name": "x-ms-range", + "x-ms-client-name": "range", + "in": "header", + "description": "Specifies the range of bytes to be written. Both the start and end of the range must be specified. For an update operation, the range can be up to 4 MB in size. For a clear operation, the range can be up to the value of the file's full size. The File service accepts only a single byte range for the Range and 'x-ms-range' headers, and the byte range must be specified in the following format: bytes=startByte-endByte.", + "required": true, + "type": "string" + }, + { + "name": "x-ms-write", + "x-ms-client-name": "FileRangeWrite", + "in": "header", + "description": "Specify one of the following options: - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update. - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and set the Range header to a value that indicates the range to clear, up to maximum file size.", + "required": true, + "type": "string", + "enum": [ + "update", + "clear" + ], + "default": "update", + "x-ms-enum": { + "name": "FileRangeWriteType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "201": { + "description": "Success (Created).", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the directory was last modified. Any operation that modifies the share or its properties or metadata updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the File service; it is not necessarily the same value as may have been specified in the request headers." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "range" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=range&fromURL": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_UploadRangeFromURL", + "description": "Upload a range of bytes to a file where the contents are read from a URL.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/TargetRange" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/SourceRange" + }, + { + "$ref": "#/parameters/FileRangeWriteFromUrl" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/SourceContentCrc64" + }, + { + "$ref": "#/parameters/SourceIfMatchCrc64" + }, + { + "$ref": "#/parameters/SourceIfNoneMatchCrc64" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + } + ], + "responses": { + "201": { + "description": "Success (Created).", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the directory was last modified. Any operation that modifies the share or its properties or metadata updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the File service; it is not necessarily the same value as may have been specified in the request headers." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "range" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=rangelist": { + "get": { + "tags": [ + "file" + ], + "operationId": "File_GetRangeList", + "description": "Returns the list of valid ranges for a file.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/PrevShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "x-ms-range", + "x-ms-client-name": "range", + "in": "header", + "description": "Specifies the range of bytes over which to list ranges, inclusively.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "The date/time that the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the file's last modified time." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "x-ms-content-length": { + "x-ms-client-name": "FileContentLength", + "type": "integer", + "format": "int64", + "description": "The size of the file in bytes." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ShareFileRangeList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "rangelist" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=copy": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_StartCopy", + "description": "Copies a blob or file to a destination file within the storage account.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileCopyPermissionCopyMode" + }, + { + "$ref": "#/parameters/FileCopyIgnoreReadOnly" + }, + { + "$ref": "#/parameters/FileCopyFileAttributes" + }, + { + "$ref": "#/parameters/FileCopyFileCreationTime" + }, + { + "$ref": "#/parameters/FileCopyFileLastWriteTime" + }, + { + "$ref": "#/parameters/FileCopySetArchiveAttribute" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "202": { + "description": "The copy file has been accepted with the specified copy status.", + "headers": { + "ETag": { + "type": "string", + "description": "If the copy is completed, contains the ETag of the destination file. If the copy is not complete, contains the ETag of the empty file created at the start of the copy." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date/time that the copy operation to the destination file completed." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get File or Get File Properties to check the status of this copy operation, or pass to Abort Copy File to abort a pending copy." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=copy©id": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_AbortCopy", + "description": "Aborts a pending Copy File operation, and leaves a destination file with zero length and full metadata.", + "parameters": [ + { + "$ref": "#/parameters/CopyId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/CopyActionAbort" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "204": { + "description": "The delete request was accepted and the file will be deleted.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "copy" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=listhandles": { + "get": { + "tags": [ + "file" + ], + "operationId": "File_ListHandles", + "description": "Lists handles for file", + "parameters": [ + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "Specifies the format in which the results are returned. Currently this value is 'application/xml'." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ListHandlesResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "listhandles" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=forceclosehandles": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_ForceCloseHandles", + "description": "Closes all handles open for given file", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/HandleId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-marker": { + "x-ms-client-name": "marker", + "type": "string", + "description": "A string describing next handle to be closed. It is returned when more handles need to be closed to complete the request." + }, + "x-ms-number-of-handles-closed": { + "x-ms-client-name": "numberOfHandlesClosed", + "type": "integer", + "description": "Contains count of number of handles closed." + }, + "x-ms-number-of-handles-failed": { + "x-ms-client-name": "numberOfHandlesFailedToClose", + "type": "integer", + "description": "Contains count of number of handles that failed to close." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "forceclosehandles" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=rename": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_Rename", + "description": "Renames a file", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/RenameSource" + }, + { + "$ref": "#/parameters/RenameReplaceIfExists" + }, + { + "$ref": "#/parameters/RenameIgnoreReadOnly" + }, + { + "$ref": "#/parameters/SourceLeaseId" + }, + { + "$ref": "#/parameters/DestinationLeaseId" + }, + { + "$ref": "#/parameters/FileCopyFileAttributes" + }, + { + "$ref": "#/parameters/FileCopyFileCreationTime" + }, + { + "$ref": "#/parameters/FileCopyFileLastWriteTime" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileContentType" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "rename" + ] + } + ] + } + }, + "definitions": { + "AccessPolicy": { + "description": "An Access policy.", + "type": "object", + "properties": { + "Start": { + "description": "The date-time the policy is active.", + "type": "string", + "format": "date-time" + }, + "Expiry": { + "description": "The date-time the policy expires.", + "type": "string", + "format": "date-time" + }, + "Permission": { + "description": "The permissions for the ACL policy.", + "type": "string" + } + } + }, + "CorsRule": { + "description": "CORS is an HTTP feature that enables a web application running under one domain to access resources in another domain. Web browsers implement a security restriction known as same-origin policy that prevents a web page from calling APIs in a different domain; CORS provides a secure way to allow one domain (the origin domain) to call APIs in another domain.", + "type": "object", + "required": [ + "AllowedOrigins", + "AllowedMethods", + "AllowedHeaders", + "ExposedHeaders", + "MaxAgeInSeconds" + ], + "properties": { + "AllowedOrigins": { + "description": "The origin domains that are permitted to make a request against the storage service via CORS. The origin domain is the domain from which the request originates. Note that the origin must be an exact case-sensitive match with the origin that the user age sends to the service. You can also use the wildcard character '*' to allow all origin domains to make requests via CORS.", + "type": "string" + }, + "AllowedMethods": { + "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request. (comma separated)", + "type": "string" + }, + "AllowedHeaders": { + "description": "The request headers that the origin domain may specify on the CORS request.", + "type": "string" + }, + "ExposedHeaders": { + "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer.", + "type": "string" + }, + "MaxAgeInSeconds": { + "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.", + "type": "integer", + "minimum": 0 + } + } + }, + "ErrorCode": { + "description": "Error codes returned by the service", + "type": "string", + "enum": [ + "AccountAlreadyExists", + "AccountBeingCreated", + "AccountIsDisabled", + "AuthenticationFailed", + "AuthorizationFailure", + "ConditionHeadersNotSupported", + "ConditionNotMet", + "EmptyMetadataKey", + "InsufficientAccountPermissions", + "InternalError", + "InvalidAuthenticationInfo", + "InvalidHeaderValue", + "InvalidHttpVerb", + "InvalidInput", + "InvalidMd5", + "InvalidMetadata", + "InvalidQueryParameterValue", + "InvalidRange", + "InvalidResourceName", + "InvalidUri", + "InvalidXmlDocument", + "InvalidXmlNodeValue", + "Md5Mismatch", + "MetadataTooLarge", + "MissingContentLengthHeader", + "MissingRequiredQueryParameter", + "MissingRequiredHeader", + "MissingRequiredXmlNode", + "MultipleConditionHeadersNotSupported", + "OperationTimedOut", + "OutOfRangeInput", + "OutOfRangeQueryParameterValue", + "RequestBodyTooLarge", + "ResourceTypeMismatch", + "RequestUrlFailedToParse", + "ResourceAlreadyExists", + "ResourceNotFound", + "ServerBusy", + "UnsupportedHeader", + "UnsupportedXmlNode", + "UnsupportedQueryParameter", + "UnsupportedHttpVerb", + "CannotDeleteFileOrDirectory", + "ClientCacheFlushDelay", + "DeletePending", + "DirectoryNotEmpty", + "FileLockConflict", + "InvalidFileOrDirectoryPathName", + "ParentNotFound", + "ReadOnlyAttribute", + "ShareAlreadyExists", + "ShareBeingDeleted", + "ShareDisabled", + "ShareNotFound", + "SharingViolation", + "ShareSnapshotInProgress", + "ShareSnapshotCountExceeded", + "ShareSnapshotOperationNotSupported", + "ShareHasSnapshots", + "ContainerQuotaDowngradeNotAllowed", + "AuthorizationSourceIPMismatch", + "AuthorizationProtocolMismatch", + "AuthorizationPermissionMismatch", + "AuthorizationServiceMismatch", + "AuthorizationResourceTypeMismatch", + "FeatureVersionMismatch" + ], + "x-ms-enum": { + "name": "StorageErrorCode", + "modelAsString": true + } + }, + "FilesAndDirectoriesListSegment": { + "description": "Abstract for entries that can be listed from Directory.", + "type": "object", + "required": [ + "DirectoryItems", + "FileItems" + ], + "properties": { + "DirectoryItems": { + "type": "array", + "items": { + "$ref": "#/definitions/DirectoryItem" + } + }, + "FileItems": { + "type": "array", + "items": { + "$ref": "#/definitions/FileItem" + } + } + }, + "xml": { + "name": "Entries" + } + }, + "DirectoryItem": { + "xml": { + "name": "Directory" + }, + "description": "A listed directory item.", + "type": "object", + "required": [ + "Name" + ], + "properties": { + "Name": { + "type": "string" + }, + "FileId": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/FileProperty" + }, + "Attributes": { + "type": "string" + }, + "PermissionKey": { + "type": "string" + } + } + }, + "FileItem": { + "xml": { + "name": "File" + }, + "description": "A listed file item.", + "type": "object", + "required": [ + "Name", + "Properties" + ], + "properties": { + "Name": { + "type": "string" + }, + "FileId": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/FileProperty" + }, + "Attributes": { + "type": "string" + }, + "PermissionKey": { + "type": "string" + } + } + }, + "FileProperty": { + "description": "File properties.", + "type": "object", + "required": [ + "Content-Length" + ], + "properties": { + "Content-Length": { + "description": "Content length of the file. This value may not be up-to-date since an SMB client may have modified the file locally. The value of Content-Length may not reflect that fact until the handle is closed or the op-lock is broken. To retrieve current property values, call Get File Properties.", + "type": "integer", + "format": "int64" + }, + "CreationTime": { + "type": "string", + "format": "date-time" + }, + "LastAccessTime": { + "type": "string", + "format": "date-time" + }, + "LastWriteTime": { + "type": "string", + "format": "date-time" + }, + "ChangeTime": { + "type": "string", + "format": "date-time" + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + } + } + }, + "HandleItem": { + "xml": { + "name": "Handle" + }, + "description": "A listed Azure Storage handle item.", + "type": "object", + "required": [ + "HandleId", + "Path", + "FileId", + "SessionId", + "ClientIp", + "OpenTime" + ], + "properties": { + "HandleId": { + "type": "string", + "description": "XSMB service handle ID" + }, + "Path": { + "type": "string", + "description": "File or directory name including full path starting from share root" + }, + "FileId": { + "type": "string", + "description": "FileId uniquely identifies the file or directory." + }, + "ParentId": { + "type": "string", + "description": "ParentId uniquely identifies the parent directory of the object." + }, + "SessionId": { + "type": "string", + "description": "SMB session ID in context of which the file handle was opened" + }, + "ClientIp": { + "type": "string", + "description": "Client IP that opened the handle" + }, + "OpenTime": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Time when the session that previously opened the handle has last been reconnected. (UTC)" + }, + "LastReconnectTime": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Time handle was last connected to (UTC)" + } + } + }, + "LeaseDuration": { + "xml": { + "name": "LeaseDuration" + }, + "description": "When a share is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "LeaseState": { + "xml": { + "name": "LeaseState" + }, + "description": "Lease state of the share.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "LeaseStatus": { + "xml": { + "name": "LeaseStatus" + }, + "description": "The current lease status of the share.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "ListFilesAndDirectoriesSegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of directories and files.", + "type": "object", + "required": [ + "ServiceEndpoint", + "ShareName", + "DirectoryPath", + "Prefix", + "NextMarker", + "Segment" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ShareName": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ShareSnapshot": { + "type": "string", + "xml": { + "attribute": true + } + }, + "DirectoryPath": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "Segment": { + "$ref": "#/definitions/FilesAndDirectoriesListSegment" + }, + "NextMarker": { + "type": "string" + }, + "DirectoryId": { + "type": "string" + } + } + }, + "ListHandlesResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of handles.", + "type": "object", + "required": [ + "NextMarker" + ], + "properties": { + "HandleList": { + "type": "array", + "items": { + "$ref": "#/definitions/HandleItem" + }, + "xml": { + "name": "Entries", + "wrapped": true + } + }, + "NextMarker": { + "type": "string" + } + } + }, + "ListSharesResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of shares.", + "type": "object", + "required": [ + "ServiceEndpoint", + "NextMarker" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "ShareItems": { + "type": "array", + "items": { + "$ref": "#/definitions/ShareItemInternal" + }, + "xml": { + "name": "Shares", + "wrapped": true + } + }, + "NextMarker": { + "type": "string" + } + } + }, + "Metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "Metrics": { + "description": "Storage Analytics metrics for file service.", + "required": [ + "Version", + "Enabled" + ], + "properties": { + "Version": { + "description": "The version of Storage Analytics to configure.", + "type": "string" + }, + "Enabled": { + "description": "Indicates whether metrics are enabled for the File service.", + "type": "boolean" + }, + "IncludeAPIs": { + "description": "Indicates whether metrics should generate summary statistics for called API operations.", + "type": "boolean" + }, + "RetentionPolicy": { + "$ref": "#/definitions/RetentionPolicy" + } + } + }, + "SmbMultichannel": { + "description": "Settings for SMB multichannel", + "type": "object", + "properties": { + "Enabled": { + "type": "boolean", + "description": "If SMB multichannel is enabled." + } + }, + "xml": { + "name": "Multichannel" + } + }, + "FileRange": { + "description": "An Azure Storage file range.", + "type": "object", + "required": [ + "Start", + "End" + ], + "properties": { + "Start": { + "type": "integer", + "format": "int64", + "description": "Start of the range." + }, + "End": { + "type": "integer", + "format": "int64", + "description": "End of the range." + } + }, + "xml": { + "name": "Range" + } + }, + "ClearRange": { + "type": "object", + "required": [ + "Start", + "End" + ], + "properties": { + "Start": { + "type": "integer", + "format": "int64", + "xml": { + "name": "Start" + } + }, + "End": { + "type": "integer", + "format": "int64", + "xml": { + "name": "End" + } + } + }, + "xml": { + "name": "ClearRange" + } + }, + "ShareProtocolSettings": { + "description": "Protocol settings", + "type": "object", + "xml": { + "name": "ProtocolSettings" + }, + "properties": { + "Smb": { + "description": "Settings for SMB protocol.", + "$ref": "#/definitions/ShareSmbSettings" + } + } + }, + "ShareFileRangeList": { + "description": "The list of file ranges", + "type": "object", + "properties": { + "Ranges": { + "type": "array", + "items": { + "$ref": "#/definitions/FileRange" + } + }, + "ClearRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/ClearRange" + } + } + } + }, + "StorageError": { + "type": "object", + "properties": { + "Message": { + "type": "string" + } + } + }, + "RetentionPolicy": { + "description": "The retention policy.", + "type": "object", + "required": [ + "Enabled" + ], + "properties": { + "Enabled": { + "description": "Indicates whether a retention policy is enabled for the File service. If false, metrics data is retained, and the user is responsible for deleting it.", + "type": "boolean" + }, + "Days": { + "description": "Indicates the number of days that metrics data should be retained. All data older than this value will be deleted. Metrics data is deleted on a best-effort basis after the retention period expires.", + "type": "integer", + "minimum": 1, + "maximum": 365 + } + } + }, + "ShareItemInternal": { + "xml": { + "name": "Share" + }, + "description": "A listed Azure Storage share item.", + "type": "object", + "required": [ + "Name", + "Properties" + ], + "properties": { + "Name": { + "type": "string" + }, + "Snapshot": { + "type": "string" + }, + "Deleted": { + "type": "boolean" + }, + "Version": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/SharePropertiesInternal" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + } + } + }, + "SharePropertiesInternal": { + "description": "Properties of a share.", + "type": "object", + "required": [ + "Last-Modified", + "Etag", + "Quota" + ], + "properties": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + }, + "Quota": { + "type": "integer" + }, + "ProvisionedIops": { + "type": "integer" + }, + "ProvisionedIngressMBps": { + "type": "integer" + }, + "ProvisionedEgressMBps": { + "type": "integer" + }, + "ProvisionedBandwidthMiBps": { + "type": "integer" + }, + "NextAllowedQuotaDowngradeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "DeletedTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "RemainingRetentionDays": { + "type": "integer" + }, + "AccessTier": { + "type": "string" + }, + "AccessTierChangeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "AccessTierTransitionState": { + "type": "string" + }, + "LeaseStatus": { + "$ref": "#/definitions/LeaseStatus" + }, + "LeaseState": { + "$ref": "#/definitions/LeaseState" + }, + "LeaseDuration": { + "$ref": "#/definitions/LeaseDuration" + }, + "EnabledProtocols": { + "$ref": "#/definitions/ShareEnabledProtocols" + }, + "RootSquash": { + "$ref": "#/definitions/ShareRootSquash" + } + } + }, + "ShareStats": { + "description": "Stats for the share.", + "type": "object", + "required": [ + "ShareUsageBytes" + ], + "properties": { + "ShareUsageBytes": { + "description": "The approximate size of the data stored in bytes. Note that this value may not include all recently created or recently resized files.", + "type": "integer" + } + } + }, + "SignedIdentifier": { + "description": "Signed identifier.", + "type": "object", + "required": [ + "Id" + ], + "properties": { + "Id": { + "type": "string", + "description": "A unique id." + }, + "AccessPolicy": { + "description": "The access policy.", + "$ref": "#/definitions/AccessPolicy" + } + } + }, + "SignedIdentifiers": { + "description": "A collection of signed identifiers.", + "type": "array", + "items": { + "$ref": "#/definitions/SignedIdentifier", + "xml": { + "name": "SignedIdentifier" + } + }, + "xml": { + "wrapped": true, + "name": "SignedIdentifiers" + } + }, + "ShareSmbSettings": { + "description": "Settings for SMB protocol.", + "type": "object", + "xml": { + "name": "SMB" + }, + "properties": { + "Multichannel": { + "description": "Settings for SMB Multichannel.", + "$ref": "#/definitions/SmbMultichannel" + } + } + }, + "StorageServiceProperties": { + "description": "Storage service properties.", + "type": "object", + "properties": { + "HourMetrics": { + "description": "A summary of request statistics grouped by API in hourly aggregates for files.", + "$ref": "#/definitions/Metrics" + }, + "MinuteMetrics": { + "description": "A summary of request statistics grouped by API in minute aggregates for files.", + "$ref": "#/definitions/Metrics" + }, + "Cors": { + "description": "The set of CORS rules.", + "type": "array", + "items": { + "$ref": "#/definitions/CorsRule" + }, + "xml": { + "wrapped": true + } + }, + "Protocol": { + "description": "Protocol settings", + "$ref": "#/definitions/ShareProtocolSettings" + } + } + }, + "SharePermission": { + "description": "A permission (a security descriptor) at the share level.", + "type": "object", + "required": [ + "permission" + ], + "properties": { + "permission": { + "type": "string", + "description": "The permission in the Security Descriptor Definition Language (SDDL)." + } + } + }, + "ShareEnabledProtocols": { + "type": "string" + }, + "ShareRootSquash": { + "type": "string", + "enum": [ + "NoRootSquash", + "RootSquash", + "AllSquash" + ], + "x-ms-enum": { + "name": "ShareRootSquash", + "modelAsString": false + } + } + }, + "parameters": { + "AccessTierOptional": { + "name": "x-ms-access-tier", + "x-ms-client-name": "accessTier", + "in": "header", + "description": "Specifies the access tier of the share.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "enum": [ + "TransactionOptimized", + "Hot", + "Cool" + ], + "x-ms-enum": { + "name": "ShareAccessTier", + "modelAsString": true + } + }, + "ApiVersionParameter": { + "name": "x-ms-version", + "x-ms-client-name": "version", + "x-ms-parameter-location": "client", + "in": "header", + "description": "Specifies the version of the operation to use for this request.", + "required": true, + "type": "string", + "enum": [ + "2021-04-10" + ] + }, + "ClientRequestId": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "requestId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled." + }, + "ContentLength": { + "name": "Content-Length", + "x-ms-client-name": "contentLength", + "in": "header", + "description": "Specifies the number of bytes being transmitted in the request body. When the x-ms-write header is set to clear, the value of this header must be set to zero.", + "required": true, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method" + }, + "ContentMD5": { + "name": "Content-MD5", + "x-ms-client-name": "contentMD5", + "in": "header", + "description": "An MD5 hash of the content. This hash is used to verify the integrity of the data during transport. When the Content-MD5 header is specified, the File service compares the hash of the content that has arrived with the header value that was sent. If the two hashes do not match, the operation will fail with error code 400 (Bad Request).", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method" + }, + "CopyActionAbort": { + "name": "x-ms-copy-action", + "x-ms-client-name": "copyActionAbortConstant", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "abort" + ], + "x-ms-parameter-location": "method", + "description": "Abort." + }, + "CopyId": { + "name": "copyid", + "x-ms-client-name": "copyId", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The copy identifier provided in the x-ms-copy-id header of the original Copy File operation." + }, + "CopySource": { + "name": "x-ms-copy-source", + "x-ms-client-name": "copySource", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the URL of the source file or blob, up to 2 KB in length. To copy a file to another file within the same storage account, you may use Shared Key to authenticate the source file. If you are copying a file from another storage account, or if you are copying a blob from the same storage account or another storage account, then you must authenticate the source file or blob using a shared access signature. If the source is a public blob, no authentication is required to perform the copy operation. A file in a share snapshot can also be specified as a copy source." + }, + "CopySourceAuthorization": { + "name": "x-ms-copy-source-authorization", + "x-ms-client-name": "copySourceAuthorization", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Only Bearer type is supported. Credentials should be a valid OAuth access token to copy source." + }, + "FileCopyPermissionCopyMode": { + "name": "x-ms-file-permission-copy-mode", + "x-ms-client-name": "filePermissionCopyMode", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "source", + "override" + ], + "x-ms-enum": { + "name": "PermissionCopyModeType", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies the option to copy file security descriptor from source file or to set it using the value which is defined by the header value of x-ms-file-permission or x-ms-file-permission-key." + }, + "FileCopyIgnoreReadOnly": { + "name": "x-ms-file-copy-ignore-read-only", + "x-ms-client-name": "ignoreReadOnly", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies the option to overwrite the target file if it already exists and has read-only attribute set." + }, + "FileCopyFileAttributes": { + "name": "x-ms-file-attributes", + "x-ms-client-name": "fileAttributes", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies either the option to copy file attributes from a source file(source) to a target file or a list of attributes to set on a target file." + }, + "FileCopyFileCreationTime": { + "name": "x-ms-file-creation-time", + "x-ms-client-name": "fileCreationTime", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies either the option to copy file creation time from a source file(source) to a target file or a time value in ISO 8601 format to set as creation time on a target file." + }, + "FileCopyFileLastWriteTime": { + "name": "x-ms-file-last-write-time", + "x-ms-client-name": "fileLastWriteTime", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies either the option to copy file last write time from a source file(source) to a target file or a time value in ISO 8601 format to set as last write time on a target file." + }, + "FileCopySetArchiveAttribute": { + "name": "x-ms-file-copy-set-archive", + "x-ms-client-name": "setArchiveAttribute", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies the option to set archive attribute on a target file. True means archive attribute will be set on a target file despite attribute overrides or a source file state." + }, + "DeletedShareName": { + "name": "x-ms-deleted-share-name", + "x-ms-client-name": "DeletedShareName", + "description": "Specifies the name of the previously-deleted share.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DirectoryPath": { + "name": "directory", + "in": "path", + "description": "The path of the target directory.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": false + }, + "FilePath": { + "name": "fileName", + "in": "path", + "description": "The path of the target file.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": false + }, + "ShareName": { + "name": "shareName", + "in": "path", + "description": "The name of the target share.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DeletedShareVersion": { + "name": "x-ms-deleted-share-version", + "x-ms-client-name": "DeletedShareVersion", + "description": "Specifies the version of the previously-deleted share.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DeleteSnapshots": { + "name": "x-ms-delete-snapshots", + "x-ms-client-name": "deleteSnapshots", + "description": "Specifies the option include to delete the base share and all of its snapshots.", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "include", + "include-leased" + ], + "x-ms-enum": { + "name": "DeleteSnapshotsOptionType", + "modelAsString": false + }, + "x-ms-parameter-location": "method" + }, + "DestinationLeaseId": { + "name": "x-ms-destination-lease-id", + "x-ms-client-name": "destinationLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "destination-lease-access-conditions" + }, + "description": "Required if the destination file has an active infinite lease. The lease ID specified for this header must match the lease ID of the destination file. If the request does not include the lease ID or it is not valid, the operation fails with status code 412 (Precondition Failed). If this header is specified and the destination file does not currently have an active lease, the operation will also fail with status code 412 (Precondition Failed)." + }, + "FileAttributes": { + "name": "x-ms-file-attributes", + "x-ms-client-name": "FileAttributes", + "in": "header", + "description": "If specified, the provided file attributes shall be set. Default value: ‘Archive’ for file and ‘Directory’ for directory. ‘None’ can also be specified as default.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "FileCacheControl": { + "name": "x-ms-cache-control", + "x-ms-client-name": "fileCacheControl", + "description": "Sets the file's cache control. The File service stores this value but does not use or modify it.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentDisposition": { + "name": "x-ms-content-disposition", + "x-ms-client-name": "fileContentDisposition", + "description": "Sets the file's Content-Disposition header.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentEncoding": { + "name": "x-ms-content-encoding", + "x-ms-client-name": "fileContentEncoding", + "in": "header", + "description": "Specifies which content encodings have been applied to the file.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentLanguage": { + "name": "x-ms-content-language", + "x-ms-client-name": "fileContentLanguage", + "in": "header", + "description": "Specifies the natural languages used by this resource.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentMD5": { + "name": "x-ms-content-md5", + "x-ms-client-name": "fileContentMD5", + "in": "header", + "description": "Sets the file's MD5 hash.", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentType": { + "name": "x-ms-content-type", + "x-ms-client-name": "fileContentType", + "in": "header", + "description": "Sets the MIME content type of the file. The default type is 'application/octet-stream'.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileCreationTime": { + "name": "x-ms-file-creation-time", + "x-ms-client-name": "FileCreationTime", + "in": "header", + "description": "Creation time for the file/directory. Default value: Now.", + "required": true, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method" + }, + "FileLastWriteTime": { + "name": "x-ms-file-last-write-time", + "x-ms-client-name": "FileLastWriteTime", + "in": "header", + "description": "Last write time for the file/directory. Default value: Now.", + "required": true, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method" + }, + "FilePermission": { + "name": "x-ms-file-permission", + "x-ms-client-name": "FilePermission", + "in": "header", + "description": "If specified the permission (security descriptor) shall be set for the directory/file. This header can be used if Permission size is <= 8KB, else x-ms-file-permission-key header shall be used. Default value: Inherit. If SDDL is specified as input, it must have owner, group and dacl. Note: Only one of the x-ms-file-permission or x-ms-file-permission-key should be specified.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "FilePermissionKey": { + "name": "x-ms-file-permission-key", + "x-ms-client-name": "FilePermissionKey", + "in": "header", + "description": "Key of the permission to be set for the directory/file. Note: Only one of the x-ms-file-permission or x-ms-file-permission-key should be specified.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "FilePermissionKeyRequired": { + "name": "x-ms-file-permission-key", + "x-ms-client-name": "FilePermissionKey", + "in": "header", + "description": "Key of the permission to be set for the directory/file.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "FileRangeWriteFromUrl": { + "name": "x-ms-write", + "x-ms-parameter-location": "client", + "x-ms-client-name": "fileRangeWriteFromUrl", + "in": "header", + "description": "Only update is supported: - Update: Writes the bytes downloaded from the source url into the specified range.", + "required": true, + "type": "string", + "enum": [ + "update" + ], + "default": "update", + "x-ms-enum": { + "name": "FileRangeWriteFromUrlType", + "modelAsString": false + } + }, + "FileType": { + "name": "x-ms-type", + "x-ms-client-name": "fileTypeConstant", + "in": "header", + "required": true, + "description": "Dummy constant parameter, file type can only be file.", + "type": "string", + "enum": [ + "file" + ], + "x-ms-parameter-location": "method" + }, + "GetRangeContentMD5": { + "name": "x-ms-range-get-content-md5", + "x-ms-client-name": "rangeGetContentMD5", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "When this header is set to true and specified together with the Range header, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4 MB in size." + }, + "HandleId": { + "name": "x-ms-handle-id", + "x-ms-client-name": "handleId", + "in": "header", + "description": "Specifies handle ID opened on the file or directory to be closed. Asterisk (‘*’) is a wildcard that specifies all handles.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "LeaseBreakPeriod": { + "name": "x-ms-lease-break-period", + "x-ms-client-name": "breakPeriod", + "in": "header", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method", + "description": "For a break operation, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60. This break period is only used if it is shorter than the time remaining on the lease. If longer, the time remaining on the lease is used. A new lease will not be available before the break period has expired, but the lease may be held for longer than the break period. If this header does not appear with a break operation, a fixed-duration lease breaks after the remaining lease period elapses, and an infinite lease breaks immediately." + }, + "LeaseDuration": { + "name": "x-ms-lease-duration", + "x-ms-client-name": "duration", + "in": "header", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method", + "description": "Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change." + }, + "LeaseIdOptional": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "lease-access-conditions" + }, + "description": "If specified, the operation only succeeds if the resource's lease is active and matches this ID." + }, + "LeaseIdRequired": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the current lease ID on the resource." + }, + "ListFilesInclude": { + "name": "include", + "in": "query", + "description": "Include this parameter to specify one or more datasets to include in the response.", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "Timestamps", + "Etag", + "Attributes", + "PermissionKey" + ], + "x-ms-enum": { + "name": "ListFilesIncludeType", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method" + }, + "ListFilesExtendedInfo": { + "name": "x-ms-file-extended-info", + "x-ms-client-name": "includeExtendedInfo", + "x-ms-parameter-location": "method", + "in": "header", + "type": "boolean", + "required": false, + "description": "Include extended information." + }, + "ListSharesInclude": { + "name": "include", + "in": "query", + "description": "Include this parameter to specify one or more datasets to include in the response.", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "snapshots", + "metadata", + "deleted" + ], + "x-ms-enum": { + "name": "ListSharesIncludeType", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method" + }, + "Marker": { + "name": "marker", + "in": "query", + "description": "A string value that identifies the portion of the list to be returned with the next list operation. The operation returns a marker value within the response body if the list returned was not complete. The marker value may then be used in a subsequent call to request the next set of list items. The marker value is opaque to the client.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MaxResults": { + "name": "maxresults", + "in": "query", + "description": "Specifies the maximum number of entries to return. If the request does not specify maxresults, or specifies a value greater than 5,000, the server will return up to 5,000 items.", + "required": false, + "type": "integer", + "minimum": 1, + "x-ms-parameter-location": "method" + }, + "Metadata": { + "name": "x-ms-meta", + "x-ms-client-name": "metadata", + "in": "header", + "description": "A name-value pair to associate with a file storage object.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "OptionalBody": { + "name": "optionalbody", + "in": "body", + "description": "Initial data.", + "required": false, + "schema": { + "type": "object", + "format": "file" + }, + "x-ms-parameter-location": "method" + }, + "Prefix": { + "name": "prefix", + "in": "query", + "description": "Filters the results to return only entries whose name begins with the specified prefix.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "PrevShareSnapshot": { + "name": "prevsharesnapshot", + "in": "query", + "description": "The previous snapshot parameter is an opaque DateTime value that, when present, specifies the previous snapshot.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ProposedLeaseIdOptional": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The File service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "ProposedLeaseIdRequired": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The File service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "Range": { + "name": "x-ms-range", + "x-ms-client-name": "range", + "in": "header", + "description": "Return file data only from the specified byte range.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Recursive": { + "name": "x-ms-recursive", + "x-ms-client-name": "recursive", + "in": "header", + "description": "Specifies operation should apply to the directory specified in the URI, its files, its subdirectories and their files.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "RenameIgnoreReadOnly": { + "name": "x-ms-file-rename-ignore-read-only", + "x-ms-client-name": "ignoreReadOnly", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Optional. A boolean value that specifies whether the ReadOnly attribute on a preexisting destination file should be respected. If true, the rename will succeed, otherwise, a previous file at the destination with the ReadOnly attribute set will cause the rename to fail." + }, + "RenameReplaceIfExists": { + "name": "x-ms-file-rename-replace-if-exists", + "x-ms-client-name": "replaceIfExists", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Optional. A boolean value for if the destination file already exists, whether this request will overwrite the file or not. If true, the rename will succeed and will overwrite the destination file. If not provided or if false and the destination file does exist, the request will not overwrite the destination file. If provided and the destination file doesn’t exist, the rename will succeed. Note: This value does not override the x-ms-file-copy-ignore-read-only header value." + }, + "RenameSource": { + "name": "x-ms-file-rename-source", + "x-ms-client-name": "renameSource", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Required. Specifies the URI-style path of the source file, up to 2 KB in length." + }, + "Url": { + "name": "url", + "x-ms-parameter-location": "client", + "in": "path", + "description": "The URL of the service account, share, directory or file that is the target of the desired operation.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true + }, + "ShareAcl": { + "name": "shareAcl", + "in": "body", + "description": "The ACL for the share.", + "schema": { + "$ref": "#/definitions/SignedIdentifiers" + }, + "x-ms-parameter-location": "method" + }, + "ShareQuota": { + "name": "x-ms-share-quota", + "x-ms-client-name": "quota", + "in": "header", + "description": "Specifies the maximum size of the share, in gigabytes.", + "required": false, + "type": "integer", + "minimum": 1, + "x-ms-parameter-location": "method" + }, + "ShareSnapshot": { + "name": "sharesnapshot", + "in": "query", + "description": "The snapshot parameter is an opaque DateTime value that, when present, specifies the share snapshot to query.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SourceContentCrc64": { + "name": "x-ms-source-content-crc64", + "x-ms-client-name": "sourceContentCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the crc64 calculated for the range of bytes that must be read from the copy source." + }, + "SourceIfMatchCrc64": { + "name": "x-ms-source-if-match-crc64", + "x-ms-client-name": "sourceIfMatchCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify the crc64 value to operate only on range with a matching crc64 checksum." + }, + "SourceIfNoneMatchCrc64": { + "name": "x-ms-source-if-none-match-crc64", + "x-ms-client-name": "sourceIfNoneMatchCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify the crc64 value to operate only on range without a matching crc64 checksum." + }, + "SourceLeaseId": { + "name": "x-ms-source-lease-id", + "x-ms-client-name": "sourceLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-lease-access-conditions" + }, + "description": "Required if the source file has an active infinite lease." + }, + "SourceRange": { + "name": "x-ms-source-range", + "x-ms-client-name": "sourceRange", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Bytes of source data in the specified range." + }, + "StorageServiceProperties": { + "name": "StorageServiceProperties", + "in": "body", + "description": "The StorageService properties.", + "required": true, + "schema": { + "$ref": "#/definitions/StorageServiceProperties" + }, + "x-ms-parameter-location": "method" + }, + "TargetRange": { + "name": "x-ms-range", + "x-ms-client-name": "Range", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Writes data to the specified byte range in the file." + }, + "Timeout": { + "name": "timeout", + "in": "query", + "description": "The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for File Service Operations.", + "required": false, + "type": "integer", + "minimum": 0, + "x-ms-parameter-location": "method" + }, + "SharePermission": { + "name": "sharePermission", + "in": "body", + "description": "A permission (a security descriptor) at the share level.", + "required": true, + "schema": { + "$ref": "#/definitions/SharePermission" + }, + "x-ms-parameter-location": "method" + }, + "ShareEnabledProtocols": { + "name": "x-ms-enabled-protocols", + "description": "Protocols to enable on the share.", + "x-ms-client-name": "enabledProtocols", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ShareRootSquash": { + "name": "x-ms-root-squash", + "description": "Root squash to set on the share. Only valid for NFS shares.", + "x-ms-client-name": "rootSquash", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "NoRootSquash", + "RootSquash", + "AllSquash" + ], + "x-ms-enum": { + "name": "ShareRootSquash", + "modelAsString": false + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/storage/data-plane/Microsoft.FileStorage/readme.md b/specification/storage/data-plane/Microsoft.FileStorage/readme.md index 1b6d9b583127..21e66ebb03a2 100644 --- a/specification/storage/data-plane/Microsoft.FileStorage/readme.md +++ b/specification/storage/data-plane/Microsoft.FileStorage/readme.md @@ -25,7 +25,7 @@ These are the global settings for the FileStorage API. ``` yaml openapi-type: data-plane -tag: package-2020-10 +tag: package-2021-04 use-internal-constructors: true add-credentials: true ``` @@ -39,15 +39,32 @@ input-file: - preview/2020-10-02/file.json ``` +### Tag: package-2021-02 + +These settings apply only when `--tag=package-2021-02` is specified on the command line. + +``` yaml $(tag) == 'package-2021-02' +input-file: +- preview/2021-02-12/file.json +``` + +### Tag: package-2021-04 + +These settings apply only when `--tag=package-2021-04` is specified on the command line. + +``` yaml $(tag) == 'package-2021-04' +input-file: +- preview/2021-04-10/file.json +``` + ### Suppression ``` yaml directive: - suppress: DefinitionsPropertiesNamesCamelCase - from: preview/2020-10-02/file.json reason: These parameters are predfined by storage specifications - suppress: XmsPathsMustOverloadPaths - from: preview/2020-10-02/file.json - suppress: XmsExamplesRequired - from: preview/2020-10-02/file.json + - suppress: LongRunningOperationsWithLongRunningExtension + - suppress: OAV107 ``` --- \ No newline at end of file diff --git a/specification/storage/data-plane/Microsoft.QueueStorage/readme.md b/specification/storage/data-plane/Microsoft.QueueStorage/readme.md index 67d048a34103..f7ba212850b6 100644 --- a/specification/storage/data-plane/Microsoft.QueueStorage/readme.md +++ b/specification/storage/data-plane/Microsoft.QueueStorage/readme.md @@ -43,11 +43,10 @@ input-file: ``` yaml directive: - suppress: DefinitionsPropertiesNamesCamelCase - from: preview/2018-03-28/queue.json reason: These parameters are predfined by storage specifications - suppress: XmsPathsMustOverloadPaths - from: preview/2018-03-28/queue.json - suppress: XmsExamplesRequired - from: preview/2018-03-28/queue.json + - suppress: LongRunningOperationsWithLongRunningExtension + - suppress: OAV107 ``` --- \ No newline at end of file diff --git a/specification/storage/data-plane/Microsoft.StorageDataLake/preview/2020-10-02/DataLakeStorage.json b/specification/storage/data-plane/Microsoft.StorageDataLake/preview/2020-10-02/DataLakeStorage.json new file mode 100644 index 000000000000..660f3de12830 --- /dev/null +++ b/specification/storage/data-plane/Microsoft.StorageDataLake/preview/2020-10-02/DataLakeStorage.json @@ -0,0 +1,3355 @@ +{ + "swagger": "2.0", + "info": { + "description": "Azure Data Lake Storage provides storage for Hadoop and other big data workloads.", + "title": "Azure Data Lake Storage REST API", + "version": "2020-10-02", + "x-ms-code-generation-settings": { + "internalConstructors": true, + "name": "DataLakeStorageClient", + "header": "MIT", + "strictSpecAdherence": false + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{url}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "$ref": "#/parameters/Url" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "x-ms-paths": { + "/": { + "get": { + "operationId": "Service_ListFileSystems", + "summary": "List FileSystems", + "description": "List filesystems and their properties in given account.", + "x-ms-pageable": { + "itemName": "filesystems", + "nextLinkName": null + }, + "tags": [ + "Account Operations" + ], + "parameters": [ + { + "name": "resource", + "in": "query", + "description": "The value must be \"account\" for all account operations.", + "required": true, + "type": "string", + "enum": [ + "account" + ], + "x-ms-enum": { + "name": "AccountResourceType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "If the number of filesystems to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the filesystems.", + "type": "string" + }, + "Content-Type": { + "description": "The content type of list filesystem response. The default content type is application/json.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/FileSystemList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + } + }, + "/{filesystem}": { + "put": { + "operationId": "FileSystem_Create", + "summary": "Create FileSystem", + "description": "Create a FileSystem rooted at the specified location. If the FileSystem already exists, the operation fails. This operation does not support conditional HTTP requests.", + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Properties" + } + ], + "responses": { + "201": { + "description": "Created", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the FileSystem.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Operations on files and directories do not affect the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "ClientRequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-namespace-enabled": { + "x-ms-client-name": "NamespaceEnabled", + "description": "A bool string indicates whether the namespace feature is enabled. If \"true\", the namespace is enabled for the filesystem.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "patch": { + "operationId": "FileSystem_SetProperties", + "summary": "Set FileSystem Properties", + "description": "Set properties for the FileSystem. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "operationId": "FileSystem_GetProperties", + "summary": "Get FileSystem Properties.", + "description": "All system and user-defined filesystem properties are specified in the response headers.", + "tags": [ + "FileSystem Operations" + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the filesystem. A comma-separated list of name and value pairs in the format \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-namespace-enabled": { + "x-ms-client-name": "NamespaceEnabled", + "description": "A bool string indicates whether the namespace feature is enabled. If \"true\", the namespace is enabled for the filesystem.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "operationId": "FileSystem_Delete", + "summary": "Delete FileSystem", + "description": "Marks the FileSystem for deletion. When a FileSystem is deleted, a FileSystem with the same identifier cannot be created for at least 30 seconds. While the filesystem is being deleted, attempts to create a filesystem with the same identifier will fail with status code 409 (Conflict), with the service returning additional error information indicating that the filesystem is being deleted. All other operations, including operations on any files or directories within the filesystem, will fail with status code 404 (Not Found) while the filesystem is being deleted. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "FileSystem Operations" + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ] + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/FileSystemResource" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}?resource=filesystem": { + "get": { + "operationId": "FileSystem_ListPaths", + "summary": "List Paths", + "description": "List FileSystem paths and their properties.", + "x-ms-pageable": { + "itemName": "paths", + "nextLinkName": null + }, + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/Directory" + }, + { + "$ref": "#/parameters/RecursiveRequired" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Upn" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "If the number of paths to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the paths.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/PathList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/FileSystemResource" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}?restype=container&comp=list&hierarchy": { + "get": { + "tags": [ + "containers" + ], + "produces": [ + "application/xml" + ], + "operationId": "FileSystem_ListBlobHierarchySegment", + "description": "The List Blobs operation returns a list of the blobs under the specified container", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Delimiter" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListBlobsInclude" + }, + { + "$ref": "#/parameters/ListBlobsShowOnly" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For List Blobs this is 'application/xml'" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/ListBlobsHierarchySegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{filesystem}/{path}": { + "put": { + "operationId": "Path_Create", + "summary": "Create File | Create Directory | Rename File | Rename Directory", + "description": "Create or rename a file or directory. By default, the destination is overwritten and if the destination already exists and has a lease the lease is broken. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). To fail if the destination already exists, use a conditional request with If-None-Match: \"*\".", + "consumes": [ + "application/octet-stream" + ], + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "resource", + "in": "query", + "description": "Required only for Create File and Create Directory. The value must be \"file\" or \"directory\".", + "required": false, + "type": "string", + "enum": [ + "directory", + "file" + ], + "x-ms-enum": { + "name": "PathResourceType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "name": "mode", + "in": "query", + "description": "Optional. Valid only when namespace is enabled. This parameter determines the behavior of the rename operation. The value must be \"legacy\" or \"posix\", and the default value will be \"posix\".", + "required": false, + "type": "string", + "enum": [ + "legacy", + "posix" + ], + "x-ms-enum": { + "name": "PathRenameMode", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/RenameSource" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/SourceLeaseId" + }, + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Umask" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + } + ], + "responses": { + "201": { + "description": "The file or directory was created.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When renaming a directory, the number of paths that are renamed with each invocation is limited. If the number of paths to be renamed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the rename operation to continue renaming the directory.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "patch": { + "operationId": "Path_Update", + "summary": "Append Data | Flush Data | Set Properties | Set Access Control", + "description": "Uploads data to be appended to a file, flushes (writes) previously uploaded data to a file, sets properties for a file or directory, or sets access control for a file or directory. Data can only be appended to a file. Concurrent writes to the same file using multiple clients are not supported. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "consumes": [ + "application/octet-stream" + ], + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "action", + "in": "query", + "description": "The action must be \"append\" to upload data to be appended to a file, \"flush\" to flush previously uploaded data to a file, \"setProperties\" to set the properties of a file or directory, \"setAccessControl\" to set the owner, group, permissions, or access control list for a file or directory, or \"setAccessControlRecursive\" to set the access control list for a directory recursively. Note that Hierarchical Namespace must be enabled for the account in order to use access control. Also note that the Access Control List (ACL) includes permissions for the owner, owning group, and others, so the x-ms-permissions and x-ms-acl request headers are mutually exclusive.", + "required": true, + "type": "string", + "enum": [ + "append", + "flush", + "setProperties", + "setAccessControl", + "setAccessControlRecursive" + ], + "x-ms-enum": { + "name": "PathUpdateAction", + "modelAsString": false + } + }, + { + "name": "maxRecords", + "in": "query", + "description": "Optional. Valid for \"SetAccessControlRecursive\" operation. It specifies the maximum number of files or directories on which the acl change will be applied. If omitted or greater than 2,000, the request will process up to 2,000 items", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "name": "continuation", + "in": "query", + "description": "Optional. The number of paths processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in the response header x-ms-continuation. When a continuation token is returned in the response, it must be percent-encoded and specified in a subsequent invocation of setAccessControlRecursive operation.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/PathSetAccessControlRecursiveMode" + }, + { + "$ref": "#/parameters/ForceFlag" + }, + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/RetainUncommittedData" + }, + { + "$ref": "#/parameters/Close" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/Owner" + }, + { + "$ref": "#/parameters/Group" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/Body" + } + ], + "responses": { + "200": { + "description": "The data was flushed (written) to the file or the properties were set successfully. Response body is optional and is valid only for \"SetAccessControlRecursive\"", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "An MD5 hash of the request content. This header is only returned for \"Flush\" operation. This header is returned so that the client can check for message content integrity. This header refers to the content of the request, not actual file content.", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "User-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-continuation": { + "description": "When performing setAccessControlRecursive on a directory, the number of paths that are processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the setAccessControlRecursive operation to continue the setAccessControlRecursive operation on the directory.", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SetAccessControlRecursiveResponse" + } + }, + "202": { + "description": "The uploaded data was accepted.", + "headers": { + "Content-MD5": { + "description": "An MD5 hash of the request content. This header is only returned for \"Append\" operation. This header is returned so that the client can check for message content integrity. The value of this header is computed by the service; it is not necessarily the same value specified in the request headers.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "post": { + "operationId": "Path_Lease", + "summary": "Lease Path", + "description": "Create and manage a lease to restrict write and delete access to the path. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "x-ms-lease-action", + "in": "header", + "description": "There are five lease actions: \"acquire\", \"break\", \"change\", \"renew\", and \"release\". Use \"acquire\" and specify the \"x-ms-proposed-lease-id\" and \"x-ms-lease-duration\" to acquire a new lease. Use \"break\" to break an existing lease. When a lease is broken, the lease break period is allowed to elapse, during which time no lease operation except break and release can be performed on the file. When a lease is successfully broken, the response indicates the interval in seconds until a new lease can be acquired. Use \"change\" and specify the current lease ID in \"x-ms-lease-id\" and the new lease ID in \"x-ms-proposed-lease-id\" to change the lease ID of an active lease. Use \"renew\" and specify the \"x-ms-lease-id\" to renew an existing lease. Use \"release\" and specify the \"x-ms-lease-id\" to release a lease.", + "required": true, + "type": "string", + "enum": [ + "acquire", + "break", + "change", + "renew", + "release" + ], + "x-ms-enum": { + "name": "PathLeaseAction", + "modelAsString": false + } + }, + { + "name": "x-ms-lease-duration", + "in": "header", + "description": "The lease duration is required to acquire a lease, and specifies the duration of the lease in seconds. The lease duration must be between 15 and 60 seconds or -1 for infinite lease.", + "format": "int32", + "required": false, + "type": "integer" + }, + { + "name": "x-ms-lease-break-period", + "in": "header", + "description": "The lease break period duration is optional to break a lease, and specifies the break period of the lease in seconds. The lease break duration must be between 0 and 60 seconds.", + "format": "int32", + "required": false, + "type": "integer" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "The \"renew\", \"change\" or \"release\" action was successful.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file was last modified. Write operations on the file update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "description": "A successful \"renew\" action returns the lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + } + } + }, + "201": { + "description": "A new lease has been created. The \"acquire\" action was successful.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "description": "A successful \"acquire\" action returns the lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + } + } + }, + "202": { + "description": "The \"break\" lease action was successful.", + "headers": { + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-time": { + "x-ms-client-name": "LeaseTime", + "description": "The time remaining in the lease period in seconds.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "operationId": "Path_Read", + "summary": "Read File", + "description": "Read the contents of a file. For read operations, range requests are supported. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "in": "header", + "description": "The HTTP Range request header specifies one or more byte ranges of the resource to be retrieved.", + "required": false, + "type": "string", + "name": "Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "name": "x-ms-range-get-content-md5", + "in": "header", + "description": "Optional. When this header is set to \"true\" and specified together with the Range header, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4MB in size. If this header is specified without the Range header, the service returns status code 400 (Bad Request). If this header is set to true when the range exceeds 4 MB in size, the service returns status code 400 (Bad Request).", + "required": false, + "type": "boolean" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of complete file. If the file has an MD5 hash and this read operation is to read the complete file, this response header is returned so that the client can check for message content integrity.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource.", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "206": { + "description": "Partial content", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of read range. If the request is to read a specified range and the \"x-ms-range-get-content-md5\" is set to true, then the request returns an MD5 hash for the range, as long as the range size is less than or equal to 4 MB.", + "type": "string" + }, + "x-ms-content-md5": { + "description": "The MD5 hash of complete file stored in storage. If the file has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the complete file's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource. ", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "operationId": "Path_GetProperties", + "summary": "Get Properties | Get Status | Get Access Control List", + "description": "Get Properties returns all system and user defined properties for a path. Get Status returns all system defined properties for a path. Get Access Control List returns the access control list for a path. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "action", + "in": "query", + "description": "Optional. If the value is \"getStatus\" only the system defined properties for the path are returned. If the value is \"getAccessControl\" the access control list is returned in the response headers (Hierarchical Namespace must be enabled for the account), otherwise the properties are returned.", + "required": false, + "type": "string", + "enum": [ + "getAccessControl", + "getStatus" + ], + "x-ms-enum": { + "name": "PathGetPropertiesAction", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Upn" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "Returns all properties for the file or directory.", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of complete file stored in storage. This header is returned only for \"GetProperties\" operation. If the Content-MD5 header has been set for the file, this response header is returned for GetProperties call so that the client can check for message content integrity.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-owner": { + "x-ms-client-name": "Owner", + "description": "The owner of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-group": { + "x-ms-client-name": "Group", + "description": "The owning group of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-permissions": { + "x-ms-client-name": "Permissions", + "description": "The POSIX access permissions for the file owner, the file owning group, and others. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-acl": { + "x-ms-client-name": "ACL", + "description": "The POSIX access control list for the file or directory. Included in the response only if the action is \"getAccessControl\" and Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource.", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "operationId": "Path_Delete", + "summary": "Delete File | Delete Directory", + "description": "Delete the file or directory. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/RecursiveOptional" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "The file was deleted.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory.", + "type": "string" + }, + "x-ms-deletion-id": { + "x-ms-client-name": "DeletionId", + "description": "Returned only for hierarchical namespace space enabled accounts when soft delete is enabled. A unique identifier for the entity that can be used to restore it. See the Undelete REST API for more information.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}/{path}?action=setAccessControl": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_SetAccessControl", + "description": "Set the owner, group, permissions, or access control list for a path.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/Owner" + }, + { + "$ref": "#/parameters/Group" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Set directory access control response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "ETag": { + "type": "string", + "description": "An HTTP entity tag associated with the file or directory." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "setAccessControl" + ] + } + ] + }, + "/{filesystem}/{path}?action=setAccessControlRecursive": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_SetAccessControlRecursive", + "description": "Set the access control list for a path and sub-paths.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/PathSetAccessControlRecursiveMode" + }, + { + "$ref": "#/parameters/ForceFlag" + }, + { + "name": "maxRecords", + "in": "query", + "description": "Optional. It specifies the maximum number of files or directories on which the acl change will be applied. If omitted or greater than 2,000, the request will process up to 2,000 items", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Set directory access control recursive response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When performing setAccessControlRecursive on a directory, the number of paths that are processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the setAccessControlRecursive operation to continue the setAccessControlRecursive operation on the directory.", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/SetAccessControlRecursiveResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "setAccessControlRecursive" + ] + } + ] + }, + "/{filesystem}/{path}?action=flush": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_FlushData", + "description": "Set the owner, group, permissions, or access control list for a path.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/RetainUncommittedData" + }, + { + "$ref": "#/parameters/Close" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The data was flushed (written) to the file successfully.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "flush" + ] + } + ] + }, + "/{filesystem}/{path}?action=append": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_AppendData", + "description": "Append data to the file.", + "parameters": [ + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/TransactionalContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Append data to file control response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "append" + ] + } + ] + }, + "/{filesystem}/{path}?comp=expiry": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Path_SetExpiry", + "description": "Sets the time a blob will expire and be deleted.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/PathExpiryOptions" + }, + { + "$ref": "#/parameters/PathExpiryTime" + } + ], + "responses": { + "200": { + "description": "The blob expiry was set successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "expiry" + ] + } + ] + }, + "/{filesystem}/{path}?comp=undelete": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Path_Undelete", + "description": "Undelete a path that was previously soft deleted", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/UndeleteSource" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The blob was undeleted successfully.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "undelete" + ] + } + ] + } + }, + "parameters": { + "Url": { + "name": "url", + "description": "The URL of the service account, container, or blob that is the target of the desired operation.", + "required": true, + "x-ms-parameter-location": "client", + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "FileSystemResource": { + "name": "resource", + "in": "query", + "x-ms-parameter-location": "client", + "description": "The value must be \"filesystem\" for all filesystem operations.", + "required": true, + "type": "string", + "enum": [ + "filesystem" + ], + "x-ms-enum": { + "name": "FileSystemResourceType", + "modelAsString": false + } + }, + "ApiVersionParameter": { + "name": "x-ms-version", + "x-ms-parameter-location": "client", + "x-ms-client-name": "version", + "in": "header", + "required": true, + "type": "string", + "description": "Specifies the version of the operation to use for this request.", + "enum": [ + "2020-10-02" + ] + }, + "accountName": { + "description": "The Azure Storage account name.", + "in": "path", + "name": "accountName", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "dnsSuffix": { + "default": "dfs.core.windows.net", + "description": "The DNS suffix for the Azure Data Lake Storage endpoint.", + "in": "path", + "name": "dnsSuffix", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "ClientRequestId": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "requestId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled." + }, + "Timeout": { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "x-ms-parameter-location": "method", + "description": "The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations." + }, + "IfMatch": { + "name": "If-Match", + "x-ms-client-name": "ifMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "IfModifiedSince": { + "name": "If-Modified-Since", + "x-ms-client-name": "ifModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "IfNoneMatch": { + "name": "If-None-Match", + "x-ms-client-name": "ifNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "IfUnmodifiedSince": { + "name": "If-Unmodified-Since", + "x-ms-client-name": "ifUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "RecursiveOptional": { + "name": "recursive", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Required", + "required": false, + "type": "boolean" + }, + "RecursiveRequired": { + "name": "recursive", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Required", + "required": true, + "type": "boolean" + }, + "Continuation": { + "name": "continuation", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory.", + "required": false, + "type": "string" + }, + "PathSetAccessControlRecursiveMode": { + "name": "mode", + "in": "query", + "x-ms-parameter-location": "method", + "description": "Mode \"set\" sets POSIX access control rights on files and directories, \"modify\" modifies one or more POSIX access control rights that pre-exist on files and directories, \"remove\" removes one or more POSIX access control rights that were present earlier on files and directories", + "required": true, + "type": "string", + "enum": [ + "set", + "modify", + "remove" + ], + "x-ms-enum": { + "name": "PathSetAccessControlRecursiveMode", + "modelAsString": false + } + }, + "ForceFlag": { + "name": "forceFlag", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. Valid for \"SetAccessControlRecursive\" operation. If set to false, the operation will terminate quickly on encountering user errors (4XX). If true, the operation will ignore user errors and proceed with the operation on other sub-entities of the directory. Continuation token will only be returned when forceFlag is true in case of user errors. If not set the default value is false for this.", + "required": false, + "type": "boolean" + }, + "Directory": { + "name": "directory", + "x-ms-client-name": "Path", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. Filters results to paths within the specified directory. An error occurs if the directory does not exist.", + "required": false, + "type": "string" + }, + "LeaseIdOptional": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "lease-access-conditions" + }, + "description": "If specified, the operation only succeeds if the resource's lease is active and matches this ID." + }, + "LeaseIdRequired": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the current lease ID on the resource." + }, + "ProposedLeaseIdOptional": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "Prefix": { + "name": "prefix", + "in": "query", + "description": "Filters results to filesystems within the specified prefix.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MaxResults": { + "name": "maxResults", + "in": "query", + "description": "An optional value that specifies the maximum number of items to return. If omitted or greater than 5,000, the response will include up to 5,000 items.", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer", + "x-ms-parameter-location": "method" + }, + "Properties": { + "name": "x-ms-properties", + "x-ms-client-name": "properties", + "description": "Optional. User-defined properties to be stored with the filesystem, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set. If the filesystem exists, any properties not included in the list will be removed. All properties are removed if the header is omitted. To merge new and existing properties, first get all existing properties and the current E-Tag, then make a conditional request with the E-Tag and include values for all properties.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SourceIfMatch": { + "name": "x-ms-source-if-match", + "x-ms-client-name": "sourceIfMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "SourceIfModifiedSince": { + "name": "x-ms-source-if-modified-since", + "x-ms-client-name": "sourceIfModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "SourceIfNoneMatch": { + "name": "x-ms-source-if-none-match", + "x-ms-client-name": "sourceIfNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "SourceIfUnmodifiedSince": { + "name": "x-ms-source-if-unmodified-since", + "x-ms-client-name": "sourceIfUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "SourceLeaseId": { + "name": "x-ms-source-lease-id", + "x-ms-client-name": "sourceLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "A lease ID for the source path. If specified, the source path must have an active lease and the lease ID must match." + }, + "FileSystem": { + "name": "filesystem", + "x-ms-parameter-location": "client", + "x-ms-client-name": "fileSystem", + "in": "path", + "description": "The filesystem identifier.", + "pattern": "^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$", + "minLength": 3, + "maxLength": 63, + "required": true, + "type": "string" + }, + "Path": { + "name": "path", + "x-ms-parameter-location": "client", + "in": "path", + "description": "The file or directory path.", + "required": true, + "type": "string" + }, + "CacheControl": { + "name": "x-ms-cache-control", + "x-ms-client-name": "cacheControl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's cache control. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentDisposition": { + "name": "x-ms-content-disposition", + "x-ms-client-name": "contentDisposition", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's Content-Disposition header." + }, + "ContentEncoding": { + "name": "x-ms-content-encoding", + "x-ms-client-name": "contentEncoding", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's content encoding. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentLanguage": { + "name": "x-ms-content-language", + "x-ms-client-name": "contentLanguage", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Set the blob's content language. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentType": { + "name": "x-ms-content-type", + "x-ms-client-name": "contentType", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's content type. If specified, this property is stored with the blob and returned with a read request." + }, + "TransactionalContentMD5": { + "name": "Content-MD5", + "x-ms-client-name": "transactionalContentHash", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "ContentMD5": { + "name": "x-ms-content-md5", + "x-ms-client-name": "contentMD5", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "ContentCrc64": { + "name": "x-ms-content-crc64", + "x-ms-client-name": "transactionalContentCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the transactional crc64 for the body, to be validated by the service." + }, + "Umask": { + "name": "x-ms-umask", + "x-ms-client-name": "umask", + "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p bitwise and not u, where p is the permission and u is the umask. For example, if p is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. The umask must be specified in 4-digit octal notation (e.g. 0766).", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Permissions": { + "name": "x-ms-permissions", + "x-ms-client-name": "permissions", + "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RenameSource": { + "name": "x-ms-rename-source", + "x-ms-client-name": "renameSource", + "in": "header", + "description": "An optional file or directory to be renamed. The value must have the following format: \"/{filesystem}/{path}\". If \"x-ms-properties\" is specified, the properties will overwrite the existing properties; otherwise, the existing properties will be preserved. This value must be a URL percent-encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Owner": { + "name": "x-ms-owner", + "x-ms-client-name": "owner", + "in": "header", + "required": false, + "type": "string", + "description": "Optional. The owner of the blob or directory.", + "x-ms-parameter-location": "method" + }, + "Group": { + "name": "x-ms-group", + "x-ms-client-name": "group", + "in": "header", + "required": false, + "type": "string", + "description": "Optional. The owning group of the blob or directory.", + "x-ms-parameter-location": "method" + }, + "Acl": { + "name": "x-ms-acl", + "description": "Sets POSIX access control rights on files and directories. The value is a comma-separated list of access control entries. Each access control entry (ACE) consists of a scope, a type, a user or group identifier, and permissions in the format \"[scope:][type]:[id]:[permissions]\".", + "x-ms-client-name": "acl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Body": { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "format": "file" + }, + "x-ms-parameter-location": "method", + "description": "Initial data" + }, + "Upn": { + "name": "upn", + "in": "query", + "description": "Optional. Valid only when Hierarchical Namespace is enabled for the account. If \"true\", the user identity values returned in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be transformed from Azure Active Directory Object IDs to User Principal Names. If \"false\", the values will be returned as Azure Active Directory Object IDs. The default value is false. Note that group and application Object IDs are not translated because they do not have unique friendly names.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "Position": { + "name": "position", + "in": "query", + "description": "This parameter allows the caller to upload data in parallel and control the order in which it is appended to the file. It is required when uploading data to be appended to the file and when flushing previously uploaded data to the file. The value must be the position where the data is to be appended. Uploaded data is not immediately flushed, or written, to the file. To flush, the previously uploaded data must be contiguous, the position parameter must be specified and equal to the length of the file after all data has been written, and there must not be a request entity body included with the request.", + "format": "int64", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method" + }, + "RetainUncommittedData": { + "name": "retainUncommittedData", + "in": "query", + "description": "Valid only for flush operations. If \"true\", uncommitted data is retained after the flush operation completes; otherwise, the uncommitted data is deleted after the flush operation. The default is false. Data at offsets less than the specified position are written to the file when flush succeeds, but this optional parameter allows data after the flush position to be retained for a future flush operation.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "Close": { + "name": "close", + "in": "query", + "description": "Azure Storage Events allow applications to receive notifications when files change. When Azure Storage Events are enabled, a file changed event is raised. This event has a property indicating whether this is the final change to distinguish the difference between an intermediate flush to a file stream and the final close of a file stream. The close query parameter is valid only when the action is \"flush\" and change notifications are enabled. If the value of close is \"true\" and the flush operation completes successfully, the service raises a file change notification with a property indicating that this is the final update (the file stream has been closed). If \"false\" a change notification is raised indicating the file has changed. The default is false. This query parameter is set to true by the Hadoop ABFS driver to indicate that the file stream has been closed.\"", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "ContentLength": { + "name": "Content-Length", + "in": "header", + "description": "Required for \"Append Data\" and \"Flush Data\". Must be 0 for \"Flush Data\". Must be the length of the request content in bytes for \"Append Data\".", + "minimum": 0, + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method" + }, + "PathExpiryOptions": { + "name": "x-ms-expiry-option", + "x-ms-client-name": "ExpiryOptions", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "NeverExpire", + "RelativeToCreation", + "RelativeToNow", + "Absolute" + ], + "x-ms-enum": { + "name": "PathExpiryOptions", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Required. Indicates mode of the expiry time" + }, + "PathExpiryTime": { + "name": "x-ms-expiry-time", + "x-ms-client-name": "ExpiresOn", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The time to set the blob to expiry" + }, + "UndeleteSource": { + "name": "x-ms-undelete-source", + "x-ms-client-name": "UndeleteSource", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Only for hierarchical namespace enabled accounts. Optional. The path of the soft deleted blob to undelete." + }, + "Marker": { + "name": "marker", + "in": "query", + "required": false, + "type": "string", + "description": "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client.", + "x-ms-parameter-location": "method" + }, + "ListBlobsInclude": { + "name": "include", + "in": "query", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "copy", + "deleted", + "metadata", + "snapshots", + "uncommittedblobs", + "versions", + "tags" + ], + "x-ms-enum": { + "name": "ListBlobsIncludeItem", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "ListBlobsShowOnly": { + "name": "showonly", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "deleted" + ], + "x-ms-enum": { + "name": "ListBlobsShowOnly", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "Delimiter": { + "name": "delimiter", + "description": "When the request includes this parameter, the operation returns a BlobPrefix element in the response body that acts as a placeholder for all blobs whose names begin with the same substring up to the appearance of the delimiter character. The delimiter may be a single character or a string.", + "type": "string", + "x-ms-parameter-location": "method", + "in": "query", + "required": false + } + }, + "definitions": { + "AclFailedEntry": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "errorMessage": { + "type": "string" + } + } + }, + "SetAccessControlRecursiveResponse": { + "type": "object", + "properties": { + "directoriesSuccessful": { + "type": "integer", + "format": "int32" + }, + "filesSuccessful": { + "type": "integer", + "format": "int32" + }, + "failureCount": { + "type": "integer", + "format": "int32" + }, + "failedEntries": { + "type": "array", + "items": { + "$ref": "#/definitions/AclFailedEntry" + } + } + } + }, + "Path": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "isDirectory": { + "default": false, + "type": "boolean" + }, + "lastModified": { + "type": "string" + }, + "eTag": { + "type": "string" + }, + "contentLength": { + "type": "integer", + "format": "int64" + }, + "owner": { + "type": "string" + }, + "group": { + "type": "string" + }, + "permissions": { + "type": "string" + }, + "EncryptionScope": { + "type": "string", + "description": "The name of the encryption scope under which the blob is encrypted." + } + } + }, + "PathList": { + "type": "object", + "properties": { + "paths": { + "type": "array", + "items": { + "$ref": "#/definitions/Path" + } + } + } + }, + "FileSystem": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "lastModified": { + "type": "string" + }, + "eTag": { + "type": "string" + } + } + }, + "ListBlobsHierarchySegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of blobs", + "type": "object", + "required": [ + "ServiceEndpoint", + "ContainerName", + "Segment" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ContainerName": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "Delimiter": { + "type": "string" + }, + "Segment": { + "$ref": "#/definitions/BlobHierarchyListSegment" + }, + "NextMarker": { + "type": "string" + } + } + }, + "BlobHierarchyListSegment": { + "xml": { + "name": "Blobs" + }, + "type": "object", + "required": [ + "BlobItems" + ], + "properties": { + "BlobPrefixes": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobPrefix" + } + }, + "BlobItems": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobItemInternal" + } + } + } + }, + "BlobPrefix": { + "type": "object", + "required": [ + "Name" + ], + "properties": { + "Name": { + "type": "string" + } + } + }, + "BlobItemInternal": { + "xml": { + "name": "Blob" + }, + "description": "An Azure Storage blob", + "type": "object", + "required": [ + "Name", + "Deleted", + "Snapshot", + "Properties" + ], + "properties": { + "Name": { + "type": "string" + }, + "Deleted": { + "type": "boolean" + }, + "Snapshot": { + "type": "string" + }, + "VersionId": { + "type": "string" + }, + "IsCurrentVersion": { + "type": "boolean" + }, + "Properties": { + "$ref": "#/definitions/BlobPropertiesInternal" + }, + "DeletionId": { + "type": "string" + } + } + }, + "BlobPropertiesInternal": { + "xml": { + "name": "Properties" + }, + "description": "Properties of a blob", + "type": "object", + "required": [ + "Etag", + "Last-Modified" + ], + "properties": { + "Creation-Time": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "Size in bytes" + }, + "Content-Type": { + "type": "string" + }, + "Content-Encoding": { + "type": "string" + }, + "Content-Language": { + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte" + }, + "Content-Disposition": { + "type": "string" + }, + "Cache-Control": { + "type": "string" + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "blobSequenceNumber", + "type": "integer", + "format": "int64" + }, + "CopyId": { + "type": "string" + }, + "CopySource": { + "type": "string" + }, + "CopyProgress": { + "type": "string" + }, + "CopyCompletionTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "CopyStatusDescription": { + "type": "string" + }, + "ServerEncrypted": { + "type": "boolean" + }, + "IncrementalCopy": { + "type": "boolean" + }, + "DestinationSnapshot": { + "type": "string" + }, + "DeletedTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "RemainingRetentionDays": { + "type": "integer" + }, + "AccessTierInferred": { + "type": "boolean" + }, + "CustomerProvidedKeySha256": { + "type": "string" + }, + "EncryptionScope": { + "type": "string", + "description": "The name of the encryption scope under which the blob is encrypted." + }, + "AccessTierChangeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "TagCount": { + "type": "integer" + }, + "Expiry-Time": { + "x-ms-client-name": "ExpiresOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "Sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean" + }, + "LastAccessTime": { + "x-ms-client-name": "LastAccessedOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "DeleteTime": { + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "FileSystemList": { + "type": "object", + "properties": { + "filesystems": { + "type": "array", + "items": { + "$ref": "#/definitions/FileSystem" + } + } + } + }, + "StorageError": { + "type": "object", + "properties": { + "error": { + "type": "object", + "description": "The service error response object.", + "properties": { + "Code": { + "description": "The service error code.", + "type": "string" + }, + "Message": { + "description": "The service error message.", + "type": "string" + } + } + } + } + } + } +} diff --git a/specification/storage/data-plane/Microsoft.StorageDataLake/readme.md b/specification/storage/data-plane/Microsoft.StorageDataLake/readme.md index 2f21cba149d0..a7111d958e86 100644 --- a/specification/storage/data-plane/Microsoft.StorageDataLake/readme.md +++ b/specification/storage/data-plane/Microsoft.StorageDataLake/readme.md @@ -30,16 +30,6 @@ use-internal-constructors: true add-credentials: true ``` - -### Tag: package-2019-10 - -These settings apply only when `--tag=package-2019-10` is specified on the command line. - -``` yaml $(tag) == 'package-2019-10' -input-file: -- stable/2019-10-31/DataLakeStorage.json -``` - ### Tag: package-2018-11 These settings apply only when `--tag=package-2018-11` is specified on the command line. @@ -58,6 +48,15 @@ input-file: - preview/2018-06-17/DataLakeStorage.json ``` +### Tag: package-2019-10 + +These settings apply only when `--tag=package-2019-10` is specified on the command line. + +``` yaml $(tag) == 'package-2019-10' +input-file: +- stable/2019-10-31/DataLakeStorage.json +``` + ### Tag: package-2020-06 These settings apply only when `--tag=package-2020-06` is specified on the command line. @@ -67,20 +66,25 @@ input-file: - preview/2020-06-12/DataLakeStorage.json ``` +### Tag: package-2020-10 + +These settings apply only when `--tag=package-2020-10` is specified on the command line. + +``` yaml $(tag) == 'package-2020-10' +input-file: +- preview/2020-10-02/DataLakeStorage.json +``` + ### Suppression ``` yaml directive: - suppress: DefinitionsPropertiesNamesCamelCase - from: preview/2020-06-12/DataLakeStorage.json reason: These parameters are predfined by storage specifications - suppress: XmsPathsMustOverloadPaths - from: preview/2020-06-12/DataLakeStorage.json - suppress: XmsExamplesRequired - from: preview/2020-06-12/DataLakeStorage.json - suppress: OperationIdNounConflictingModelNames - from: preview/2020-06-12/DataLakeStorage.json reason: This is only a warning. Changing these definitions would be a massive breaking change to our clients - suppress: LongRunningOperationsWithLongRunningExtension - from: preview/2020-06-12/DataLakeStorage.json + - suppress: OAV107 ``` --- \ No newline at end of file diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-06-01/examples/BlobRangesRestore.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-06-01/examples/BlobRangesRestore.json index f0734ba8bffe..31f1c0745b97 100644 --- a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-06-01/examples/BlobRangesRestore.json +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-06-01/examples/BlobRangesRestore.json @@ -3,7 +3,7 @@ "subscriptionId": "{subscription-id}", "resourceGroupName": "res9101", "accountName": "sto4445", - "api-version": "2020-08-01-preview", + "api-version": "2021-06-01", "parameters": { "timeToRestore": "2019-04-20T15:30:00.0000000Z", "blobRanges": [ @@ -39,6 +39,9 @@ } }, "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445/restoreBlobRanges?api-version=2021-06-01" + }, "body": { "status": "InProgress", "restoreId": "{restore_id}", diff --git a/specification/storage/resource-manager/readme.go.md b/specification/storage/resource-manager/readme.go.md index bbfb020eb68e..8f55d579a8a5 100644 --- a/specification/storage/resource-manager/readme.go.md +++ b/specification/storage/resource-manager/readme.go.md @@ -11,10 +11,12 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/storage/armstorage +module-name: sdk/resourcemanager/storage/armstorage module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true +modelerfour: + lenient-model-deduplication: true ``` ### Go multi-api diff --git a/specification/storage/resource-manager/readme.java.md b/specification/storage/resource-manager/readme.java.md index 1008074ec04d..74f4e48836d1 100644 --- a/specification/storage/resource-manager/readme.java.md +++ b/specification/storage/resource-manager/readme.java.md @@ -180,4 +180,36 @@ Creating this tag to pick proper resources from the hybrid profile. ``` yaml $(tag) == 'profile-hybrid-2019-03-01' input-file: - Microsoft.Storage/stable/2017-10-01/storage.json -``` \ No newline at end of file +``` + +### Tag: profile-hybrid-2020-09-01 and java + +These settings apply only when `--tag=profile-hybrid-2020-09-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'profile-hybrid-2020-09-01' && $(java) +input-file: + - Microsoft.Storage/stable/2019-06-01/storage.json + - Microsoft.Storage/stable/2019-06-01/blob.json + - Microsoft.Storage/stable/2019-06-01/file.json + - Microsoft.Storage/stable/2019-06-01/queue.json + - Microsoft.Storage/stable/2019-06-01/table.json + +directive: + - from: storage.json + where: $.definitions.Identity.properties.type + transform: > + $['x-ms-enum'].modelAsString = true; + + - suppress: R3018 + reason: Existing boolean properties + approved-by: "@fearthecowboy" + + - where: + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold"].post.operationId + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold"].post.operationId + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey"].post.operationId + suppress: R1003 + reason: APIs return array of values, is not actually a 'list' operation + approved-by: "@fearthecowboy" +``` diff --git a/specification/storage/resource-manager/readme.md b/specification/storage/resource-manager/readme.md index c354e3750787..b19ee8a863d0 100644 --- a/specification/storage/resource-manager/readme.md +++ b/specification/storage/resource-manager/readme.md @@ -515,6 +515,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-node - repo: azure-sdk-for-js - repo: azure-sdk-for-ruby diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/AscOperations_Get.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/AscOperations_Get.json new file mode 100644 index 000000000000..e82bc78eaee4 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/AscOperations_Get.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "westus", + "operationId": "testoperationid", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/id/locations/westus/ascOperations/testoperationid", + "name": "testoperationid", + "startTime": "2021-09-01T13:13:13.933Z", + "endTime": "2021-09-01T16:13:13.933Z", + "status": "Succeeded" + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_CreateOrUpdate.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_CreateOrUpdate.json new file mode 100644 index 000000000000..0f1bb215a631 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_CreateOrUpdate.json @@ -0,0 +1,285 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01", + "cache": { + "tags": { + "Dept": "Contoso" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "cacheSizeGB": 3072, + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2047/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "cacheNetBiosName": "contosoSmb", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd", + "credentials": { + "username": "consotoAdmin", + "password": "" + } + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "credentials": { + "bindDn": "cn=ldapadmin,dc=contosoad,dc=contoso,dc=local", + "bindPassword": "" + } + } + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + } + }, + "sku": { + "name": "Standard_2G" + } + } + }, + "responses": { + "202": {}, + "201": { + "body": { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", + "location": "westus", + "name": "sc1", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Succeeded", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "upgradeStatus": { + "currentFirmwareVersion": "5.3.23", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "5.3.24" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + }, + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd", + "cacheNetBiosName": "contosoSmb", + "domainJoined": "No" + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "No" + } + } + }, + "sku": { + "name": "Standard_2G" + } + } + }, + "200": { + "body": { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", + "location": "westus", + "name": "sc1", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Updating", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "upgradeStatus": { + "currentFirmwareVersion": "V5.1.12", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "V5.1.15" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + }, + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd", + "cacheNetBiosName": "contosoSmb", + "domainJoined": "Yes" + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "Yes" + } + } + }, + "sku": { + "name": "Standard_2G" + } + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_CreateOrUpdate_ldap_only.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_CreateOrUpdate_ldap_only.json new file mode 100644 index 000000000000..c00a998a457c --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_CreateOrUpdate_ldap_only.json @@ -0,0 +1,252 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01", + "cache": { + "tags": { + "Dept": "Contoso" + }, + "location": "westus", + "properties": { + "cacheSizeGB": 3072, + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "credentials": { + "bindDn": "cn=ldapadmin,dc=contosoad,dc=contoso,dc=local", + "bindPassword": "" + } + } + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + } + }, + "sku": { + "name": "Standard_2G" + } + } + }, + "responses": { + "202": {}, + "201": { + "body": { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", + "location": "westus", + "name": "sc1", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Succeeded", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "upgradeStatus": { + "currentFirmwareVersion": "5.3.23", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "5.3.24" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + }, + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "No" + } + } + }, + "sku": { + "name": "Standard_2G" + } + } + }, + "200": { + "body": { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", + "location": "westus", + "name": "sc1", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Updating", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "upgradeStatus": { + "currentFirmwareVersion": "V5.1.12", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "V5.1.15" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + }, + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "Yes" + } + } + }, + "sku": { + "name": "Standard_2G" + } + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_DebugInfo.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_DebugInfo.json new file mode 100644 index 000000000000..833ae2661cc1 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_DebugInfo.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Delete.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Delete.json new file mode 100644 index 000000000000..833ae2661cc1 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Flush.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Flush.json new file mode 100644 index 000000000000..833ae2661cc1 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Flush.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Get.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Get.json new file mode 100644 index 000000000000..f78fbdae39b0 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Get.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", + "location": "westus", + "name": "sc1", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Succeeded", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "upgradeStatus": { + "currentFirmwareVersion": "V5.1.12", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "V5.1.15" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + }, + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd", + "cacheNetBiosName": "contosoSmb", + "domainJoined": "Yes" + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "Yes" + } + } + }, + "sku": { + "name": "Standard_2G" + } + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_List.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_List.json new file mode 100644 index 000000000000..71033e7e6d37 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_List.json @@ -0,0 +1,218 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", + "location": "westus", + "name": "sc1", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Succeeded", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "upgradeStatus": { + "currentFirmwareVersion": "V5.1.12", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "V5.1.15" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + }, + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd", + "cacheNetBiosName": "contosoSmb", + "domainJoined": "Yes" + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "Yes" + } + } + }, + "sku": { + "name": "Standard_2G" + } + }, + { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc2", + "location": "westus", + "name": "sc2", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Updating", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub2", + "upgradeStatus": { + "currentFirmwareVersion": "V5.1.12", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "V5.1.15" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + }, + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd", + "cacheNetBiosName": "contosoSmb", + "domainJoined": "Yes" + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "AD", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "", + "ldapBaseDN": "", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "Yes" + } + } + }, + "sku": { + "name": "Standard_2G" + } + } + ] + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_ListByResourceGroup.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_ListByResourceGroup.json new file mode 100644 index 000000000000..9221265dbc74 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_ListByResourceGroup.json @@ -0,0 +1,219 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", + "location": "westus", + "name": "sc1", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Succeeded", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "upgradeStatus": { + "currentFirmwareVersion": "V5.1.12", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "V5.1.15" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + }, + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd", + "cacheNetBiosName": "contosoSmb", + "domainJoined": "Yes" + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "Yes" + } + } + }, + "sku": { + "name": "Standard_2G" + } + }, + { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc2", + "location": "westus", + "name": "sc2", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Updating", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub2", + "upgradeStatus": { + "currentFirmwareVersion": "V5.1.12", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "V5.1.15" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + }, + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd", + "cacheNetBiosName": "contosoSmb", + "domainJoined": "Yes" + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "AD", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "", + "ldapBaseDN": "", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "Yes" + } + } + }, + "sku": { + "name": "Standard_2G" + } + } + ] + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Start.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Start.json new file mode 100644 index 000000000000..833ae2661cc1 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Start.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Stop.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Stop.json new file mode 100644 index 000000000000..833ae2661cc1 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Stop.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Update.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Update.json new file mode 100644 index 000000000000..1d17edcf6cf2 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Update.json @@ -0,0 +1,217 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01", + "cache": { + "tags": { + "Dept": "Contoso" + }, + "location": "westus", + "properties": { + "cacheSizeGB": 3072, + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + }, + { + "name": "restrictive", + "accessRules": [ + { + "scope": "host", + "filter": "10.99.3.145", + "access": "rw", + "suid": true, + "submountAccess": true, + "rootSquash": false + }, + { + "scope": "network", + "filter": "10.99.1.0/24", + "access": "rw", + "suid": true, + "submountAccess": true, + "rootSquash": false + }, + { + "scope": "default", + "access": "no", + "suid": false, + "submountAccess": true, + "rootSquash": true, + "anonymousUID": "65534", + "anonymousGID": "65534" + } + ] + } + ] + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "cacheNetBiosName": "contosoSmb", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd" + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "AD" + } + } + }, + "sku": { + "name": "Standard_2G" + } + } + }, + "responses": { + "200": { + "body": { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", + "location": "westus", + "name": "sc1", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Updating", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "upgradeStatus": { + "currentFirmwareVersion": "V5.1.12", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "V5.1.15" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + }, + { + "name": "restrictive", + "accessRules": [ + { + "scope": "host", + "filter": "10.99.3.145", + "access": "rw", + "suid": true, + "submountAccess": true, + "rootSquash": false + }, + { + "scope": "network", + "filter": "10.99.1.0/24", + "access": "rw", + "suid": true, + "submountAccess": true, + "rootSquash": false + }, + { + "scope": "default", + "access": "no", + "suid": false, + "submountAccess": true, + "rootSquash": true, + "anonymousUID": "65534", + "anonymousGID": "65534" + } + ] + } + ] + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd", + "cacheNetBiosName": "contosoSmb", + "domainJoined": "Yes" + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "AD", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "", + "ldapBaseDN": "", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "Yes" + } + } + }, + "sku": { + "name": "Standard_2G" + } + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Update_ldap_only.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Update_ldap_only.json new file mode 100644 index 000000000000..8076b14351e1 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_Update_ldap_only.json @@ -0,0 +1,208 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01", + "cache": { + "tags": { + "Dept": "Contoso" + }, + "location": "westus", + "properties": { + "cacheSizeGB": 3072, + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + }, + { + "name": "restrictive", + "accessRules": [ + { + "scope": "host", + "filter": "10.99.3.145", + "access": "rw", + "suid": true, + "submountAccess": true, + "rootSquash": false + }, + { + "scope": "network", + "filter": "10.99.1.0/24", + "access": "rw", + "suid": true, + "submountAccess": true, + "rootSquash": false + }, + { + "scope": "default", + "access": "no", + "suid": false, + "submountAccess": true, + "rootSquash": true, + "anonymousUID": "65534", + "anonymousGID": "65534" + } + ] + } + ] + }, + "directoryServicesSettings": { + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "credentials": { + "bindDn": "cn=ldapadmin,dc=contosoad,dc=contoso,dc=local", + "bindPassword": "" + } + } + } + }, + "sku": { + "name": "Standard_2G" + } + } + }, + "responses": { + "200": { + "body": { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", + "location": "westus", + "name": "sc1", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Updating", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "upgradeStatus": { + "currentFirmwareVersion": "V5.1.12", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "V5.1.15" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + }, + { + "name": "restrictive", + "accessRules": [ + { + "scope": "host", + "filter": "10.99.3.145", + "access": "rw", + "suid": true, + "submountAccess": true, + "rootSquash": false + }, + { + "scope": "network", + "filter": "10.99.1.0/24", + "access": "rw", + "suid": true, + "submountAccess": true, + "rootSquash": false + }, + { + "scope": "default", + "access": "no", + "suid": false, + "submountAccess": true, + "rootSquash": true, + "anonymousUID": "65534", + "anonymousGID": "65534" + } + ] + } + ] + }, + "directoryServicesSettings": { + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "No" + } + } + }, + "sku": { + "name": "Standard_2G" + } + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_UpgradeFirmware.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_UpgradeFirmware.json new file mode 100644 index 000000000000..ee5d893e3ec5 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Caches_UpgradeFirmware.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01" + }, + "responses": { + "201": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Operations_List.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Operations_List.json new file mode 100644 index 000000000000..b547ef393f85 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Operations_List.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2021-09-01", + "x-ms-client-request-id": [ + "7e655b68-e491-4cb6-90c3-6a5b10b7bd17" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.StorageCache/caches/write", + "display": { + "operation": "Create or Update Cache", + "provider": "Azure Storage Cache", + "resource": "Caches" + } + }, + { + "name": "Microsoft.StorageCache/caches/delete", + "display": { + "operation": "Delete Cache", + "provider": "Azure Storage Cache", + "resource": "Caches" + } + }, + { + "origin": "system", + "name": "Microsoft.StorageCache/caches/providers/Microsoft.Insights/metricDefinitions/read", + "isDataAction": false, + "display": { + "operation": "Get Cache Metric Definitions", + "provider": "Microsoft Azure HPC Cache", + "resource": "StorageCache Metric Definitions", + "description": "Reads Cache Metric Definitions." + }, + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "ClientIOPS", + "displayName": "Total Client IOPS", + "displayDescription": "The rate of client file operations processed by the Cache.", + "unit": "Count", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Minimum", + "Maximum", + "Average" + ], + "metricClass": "Transactions" + }, + { + "name": "ClientLatency", + "displayName": "Average Client Latency", + "displayDescription": "Average latency of client file operations to the Cache.", + "unit": "Milliseconds", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Minimum", + "Maximum", + "Average" + ], + "metricClass": "Latency" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Skus_List.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Skus_List.json new file mode 100644 index 000000000000..083fecb9849b --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/Skus_List.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "caches", + "name": "Standard_2G", + "locations": [ + "eastus" + ], + "locationInfo": [ + { + "location": "eastus", + "zones": [] + } + ], + "capabilities": [ + { + "name": "throughput GB/s", + "value": "2" + }, + { + "name": "cache sizes(GB)", + "value": "3072,6144,12288" + } + ], + "restrictions": [] + }, + { + "resourceType": "caches", + "name": "Standard_4G", + "locations": [ + "eastus" + ], + "locationInfo": [ + { + "location": "eastus", + "zones": [] + } + ], + "capabilities": [ + { + "name": "throughput GB/s", + "value": "4" + }, + { + "name": "cache sizes(GB)", + "value": "6144,12288,24576" + } + ], + "restrictions": [] + }, + { + "resourceType": "caches", + "name": "Standard_8G", + "locations": [ + "eastus" + ], + "locationInfo": [ + { + "location": "eastus", + "zones": [] + } + ], + "capabilities": [ + { + "name": "throughput GB/s", + "value": "8" + }, + { + "name": "cache sizes(GB)", + "value": "12288,24576,49152" + } + ], + "restrictions": [] + } + ] + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_CreateOrUpdate.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_CreateOrUpdate.json new file mode 100644 index 000000000000..61c2c65b887a --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_CreateOrUpdate.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01", + "cacheName": "sc1", + "storageTargetName": "st1", + "storagetarget": { + "properties": { + "junctions": [ + { + "namespacePath": "/path/on/cache", + "targetPath": "/path/on/exp1", + "nfsExport": "exp1", + "nfsAccessPolicy": "default" + }, + { + "namespacePath": "/path2/on/cache", + "targetPath": "/path2/on/exp2", + "nfsExport": "exp2", + "nfsAccessPolicy": "rootSquash" + } + ], + "targetType": "nfs3", + "nfs3": { + "target": "10.0.44.44", + "usageModel": "READ_HEAVY_INFREQ" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "st1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st1", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "junctions": [ + { + "namespacePath": "/path/on/cache", + "targetPath": "/path/on/exp1", + "nfsExport": "exp1", + "nfsAccessPolicy": "default" + }, + { + "namespacePath": "/path2/on/cache", + "targetPath": "/path2/on/exp2", + "nfsExport": "exp2", + "nfsAccessPolicy": "rootSquash" + } + ], + "state": "Ready", + "targetType": "nfs3", + "nfs3": { + "target": "10.0.44.44", + "usageModel": "READ_HEAVY_INFREQ" + } + } + } + }, + "201": { + "body": { + "name": "st1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st1", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "junctions": [ + { + "namespacePath": "/path/on/cache", + "targetPath": "/path/on/exp1", + "nfsExport": "exp1", + "nfsAccessPolicy": "default" + }, + { + "namespacePath": "/path2/on/cache", + "targetPath": "/path2/on/exp2", + "nfsExport": "exp2", + "nfsAccessPolicy": "rootSquash" + } + ], + "state": "Ready", + "targetType": "nfs3", + "nfs3": { + "target": "10.0.44.44", + "usageModel": "READ_HEAVY_INFREQ" + } + } + } + }, + "202": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_CreateOrUpdate_BlobNfs.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_CreateOrUpdate_BlobNfs.json new file mode 100644 index 000000000000..98f7295f943d --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_CreateOrUpdate_BlobNfs.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01", + "cacheName": "sc1", + "storageTargetName": "st1", + "storagetarget": { + "properties": { + "targetType": "blobNfs", + "junctions": [ + { + "namespacePath": "/blobnfs" + } + ], + "blobNfs": { + "target": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Storage/storageAccounts/blofnfs/blobServices/default/containers/blobnfs", + "usageModel": "WRITE_WORKLOAD_15" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "st1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st1", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "targetType": "blobNfs", + "junctions": [ + { + "namespacePath": "/blobnfs" + } + ], + "state": "Ready", + "blobNfs": { + "target": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Storage/storageAccounts/blofnfs/blobServices/default/containers/blobnfs", + "usageModel": "WRITE_WORKLOAD_15" + } + } + } + }, + "201": { + "body": { + "name": "st1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st1", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "targetType": "blobNfs", + "junctions": [ + { + "namespacePath": "/blobnfs" + } + ], + "state": "Ready", + "blobNfs": { + "target": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Storage/storageAccounts/blofnfs/blobServices/default/containers/blobnfs", + "usageModel": "WRITE_WORKLOAD_15" + } + } + } + }, + "202": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_CreateOrUpdate_NoJunctions.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_CreateOrUpdate_NoJunctions.json new file mode 100644 index 000000000000..4d776bee4d6f --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_CreateOrUpdate_NoJunctions.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01", + "cacheName": "sc1", + "storageTargetName": "st1", + "storagetarget": { + "properties": { + "targetType": "nfs3", + "nfs3": { + "target": "10.0.44.44", + "usageModel": "READ_HEAVY_INFREQ" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "st1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st1", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "targetType": "nfs3", + "state": "Ready", + "nfs3": { + "target": "10.0.44.44", + "usageModel": "READ_HEAVY_INFREQ" + } + } + } + }, + "201": { + "body": { + "name": "st1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st1", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "targetType": "nfs3", + "state": "Ready", + "nfs3": { + "target": "10.0.44.44", + "usageModel": "READ_HEAVY_INFREQ" + } + } + } + }, + "202": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_Delete.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_Delete.json new file mode 100644 index 000000000000..e385bd8df157 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01", + "cacheName": "sc1", + "storageTargetName": "st1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_DnsRefresh.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_DnsRefresh.json new file mode 100644 index 000000000000..5ea8d3b03040 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_DnsRefresh.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01", + "storageTargetName": "st1" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_Flush.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_Flush.json new file mode 100644 index 000000000000..ae80e4838b49 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_Flush.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01", + "storageTargetName": "st1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_Get.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_Get.json new file mode 100644 index 000000000000..07d66302d336 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_Get.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01", + "cacheName": "sc1", + "storageTargetName": "st1" + }, + "responses": { + "200": { + "body": { + "name": "st1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st1", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "junctions": [ + { + "namespacePath": "/path/on/cache", + "targetPath": "/path/on/exp1", + "nfsExport": "exp1", + "nfsAccessPolicy": "default" + }, + { + "namespacePath": "/path2/on/cache", + "targetPath": "/path2/on/exp2", + "nfsExport": "exp2", + "nfsAccessPolicy": "default" + } + ], + "state": "Ready", + "targetType": "nfs3", + "nfs3": { + "target": "10.0.44.44", + "usageModel": "READ_HEAVY_FREQ" + } + } + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_ListByCache.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_ListByCache.json new file mode 100644 index 000000000000..38088ee87d69 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_ListByCache.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01", + "cacheName": "sc1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "st1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st1", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "junctions": [ + { + "namespacePath": "/path/on/cache", + "targetPath": "/path/on/exp1", + "nfsExport": "exp1", + "nfsAccessPolicy": "default" + }, + { + "namespacePath": "/path2/on/cache", + "targetPath": "/path2/on/exp2", + "nfsExport": "exp2", + "nfsAccessPolicy": "default" + } + ], + "state": "Ready", + "targetType": "nfs3", + "nfs3": { + "target": "10.0.44.44", + "usageModel": "READ_HEAVY_FREQ" + } + } + }, + { + "name": "st2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st2", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "junctions": [ + { + "namespacePath": "/some/arbitrary/place/on/cache", + "targetPath": "/", + "nfsAccessPolicy": "default" + } + ], + "state": "Ready", + "targetType": "clfs", + "clfs": { + "target": "https://contoso123.blob.core.windows.net/contoso123" + } + } + }, + { + "name": "st3", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st3", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "junctions": [ + { + "namespacePath": "/some/crazier/place/on/cache", + "targetPath": "/", + "nfsExport": "", + "nfsAccessPolicy": "default" + } + ], + "state": "Ready", + "targetType": "unknown", + "unknown": { + "attributes": { + "foo": "bar", + "foo2": "test" + } + } + } + } + ] + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_Resume.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_Resume.json new file mode 100644 index 000000000000..ae80e4838b49 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_Resume.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01", + "storageTargetName": "st1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_Suspend.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_Suspend.json new file mode 100644 index 000000000000..ae80e4838b49 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/StorageTargets_Suspend.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01", + "storageTargetName": "st1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/UsageModels_List.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/UsageModels_List.json new file mode 100644 index 000000000000..e506ce213099 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/examples/UsageModels_List.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "modelName": "READ_HEAVY_INFREQ", + "targetType": "nfs3", + "display": { + "description": "Read heavy, infrequent changes" + } + }, + { + "modelName": "WRITE_AROUND", + "targetType": "nfs3", + "display": { + "description": "Clients write directly to storage" + } + }, + { + "modelName": "WRITE_WORKLOAD_15", + "targetType": "nfs3", + "display": { + "description": "Write workload > 15%" + } + } + ] + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/storagecache.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/storagecache.json new file mode 100644 index 000000000000..30ec1e121af0 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/storagecache.json @@ -0,0 +1,2569 @@ +{ + "swagger": "2.0", + "info": { + "description": "A Storage Cache provides scalable caching service for NAS clients, serving data from either NFSv3 or Blob at-rest storage (referred to as \"Storage Targets\"). These operations allow you to manage Caches.", + "title": "Storage Cache Mgmt Client", + "version": "2021-09-01" + }, + "host": "management.azure.com", + "basePath": "/", + "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.StorageCache/operations": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of available Resource Provider operations.", + "schema": { + "$ref": "#/definitions/ApiOperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "tags": [ + "Operations" + ], + "description": "Lists all of the available Resource Provider operations.", + "x-ms-examples": { + "StorageTargets_List": { + "$ref": "./examples/Operations_List.json" + } + }, + "operationId": "Operations_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/skus": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A list of SKU descriptors.", + "schema": { + "$ref": "#/definitions/ResourceSkusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Skus_List": { + "$ref": "./examples/Skus_List.json" + } + }, + "tags": [ + "SKUs" + ], + "description": "Get the list of StorageCache.Cache SKUs available to this subscription.", + "operationId": "Skus_List" + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/usageModels": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A list of UsageModel descriptors.", + "schema": { + "$ref": "#/definitions/UsageModelsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "UsageModels_List": { + "$ref": "./examples/UsageModels_List.json" + } + }, + "tags": [ + "UsageModels" + ], + "description": "Get the list of Cache Usage Models available to this subscription.", + "operationId": "UsageModels_List" + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/locations/{location}/ascOperations/{operationId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the region used to look up the operation." + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The operation id which uniquely identifies the asynchronous operation." + } + ], + "responses": { + "200": { + "description": "The asynchronous operation was returned.", + "schema": { + "$ref": "#/definitions/AscOperation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AscOperations_Get": { + "$ref": "./examples/AscOperations_Get.json" + } + }, + "tags": [ + "AscOperations" + ], + "description": "Gets the status of an asynchronous operation for the Azure HPC Cache", + "operationId": "AscOperations_Get" + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/caches": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A list of Cache objects. Note that entity references might replace complete Cache objects, as described in http://docs.oasis-open.org/odata/odata-json-format/v4.01/cs01/odata-json-format-v4.01-cs01.html#sec_EntityReference", + "schema": { + "$ref": "#/definitions/CachesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Caches_List": { + "$ref": "./examples/Caches_List.json" + } + }, + "tags": [ + "Caches" + ], + "description": "Returns all Caches the user has access to under a subscription.", + "operationId": "Caches_List" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A list of Cache objects. Note that entity references might replace complete Cache objects, as described in http://docs.oasis-open.org/odata/odata-json-format/v4.01/cs01/odata-json-format-v4.01-cs01.html#sec_EntityReference", + "schema": { + "$ref": "#/definitions/CachesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_ListByResourceGroup": { + "$ref": "./examples/Caches_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "Caches" + ], + "description": "Returns all Caches the user has access to under a resource group.", + "operationId": "Caches_ListByResourceGroup" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}": { + "delete": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Cache deleted." + }, + "202": { + "description": "Started the Cache's transition to Deleted state. Poll the Cache to monitor." + }, + "204": { + "description": "Cache deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_Delete": { + "$ref": "./examples/Caches_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "tags": [ + "Caches" + ], + "description": "Schedules a Cache for deletion.", + "operationId": "Caches_Delete" + }, + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Returns the Cache object corresponding to cacheName.", + "schema": { + "$ref": "#/definitions/Cache" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_Get": { + "$ref": "./examples/Caches_Get.json" + } + }, + "tags": [ + "Caches" + ], + "description": "Returns a Cache.", + "operationId": "Caches_Get" + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "description": "Object containing the user-selectable properties of the new Cache. If read-only properties are included, they must match the existing values of those properties.", + "in": "body", + "name": "cache", + "schema": { + "$ref": "#/definitions/Cache" + } + } + ], + "responses": { + "200": { + "description": "Cache created or updated.", + "schema": { + "$ref": "#/definitions/Cache" + } + }, + "201": { + "description": "Cache creation or update has been initiated. Poll the Cache's provisioningState property to monitor creation/update progress.", + "schema": { + "$ref": "#/definitions/Cache" + } + }, + "202": { + "description": "Cache creation or update has been initiated. Poll the Cache's provisioningState property to monitor creation/update progress." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_CreateOrUpdate": { + "$ref": "./examples/Caches_CreateOrUpdate.json" + }, + "Caches_CreateOrUpdate_ldap_only": { + "$ref": "./examples/Caches_CreateOrUpdate_ldap_only.json" + } + }, + "x-ms-long-running-operation": true, + "tags": [ + "Caches" + ], + "description": "Create or update a Cache.", + "operationId": "Caches_CreateOrUpdate" + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "description": "Object containing the user-selectable properties of the Cache. If read-only properties are included, they must match the existing values of those properties.", + "in": "body", + "name": "cache", + "schema": { + "$ref": "#/definitions/Cache" + } + } + ], + "responses": { + "200": { + "description": "Updated the Cache.", + "schema": { + "$ref": "#/definitions/Cache" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_Update": { + "$ref": "./examples/Caches_Update.json" + }, + "Caches_Update_ldap_only": { + "$ref": "./examples/Caches_Update_ldap_only.json" + } + }, + "tags": [ + "Caches" + ], + "description": "Update a Cache instance.", + "operationId": "Caches_Update" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}/dnsRefresh": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/StorageTargetParameter" + } + ], + "responses": { + "200": { + "description": "Cache has refreshed the storage target's DNS information." + }, + "202": { + "description": "Cache has started refreshing storage target DNS information." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_DnsRefresh": { + "$ref": "./examples/StorageTargets_DnsRefresh.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "StorageTargets" + ], + "description": "Tells a storage target to refresh its DNS information.", + "operationId": "StorageTargets_DnsRefresh" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/debugInfo": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + } + ], + "responses": { + "200": { + "description": "Cache has started generating debug info." + }, + "202": { + "description": "Cache has started generating debug info." + }, + "204": { + "description": "Cache has started generating debug info." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_DebugInfo": { + "$ref": "./examples/Caches_DebugInfo.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "Caches" + ], + "description": "Tells a Cache to write generate debug info for support to process.", + "operationId": "Caches_DebugInfo" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/flush": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + } + ], + "responses": { + "200": { + "description": "All cached data has been flushed to the Storage Target(s)." + }, + "202": { + "description": "Cache has started flushing to its Storage Target(s). Poll the Cache's state field to monitor." + }, + "204": { + "description": "Cache flush already in progress or has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_Flush": { + "$ref": "./examples/Caches_Flush.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "Caches" + ], + "description": "Tells a Cache to write all dirty data to the Storage Target(s). During the flush, clients will see errors returned until the flush is complete.", + "operationId": "Caches_Flush" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/start": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + } + ], + "responses": { + "200": { + "description": "Cache is Active." + }, + "202": { + "description": "Cache has started the transition to Active. Poll the Cache's state field to monitor." + }, + "204": { + "description": "Restarted VMs associated with the cache." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_Start": { + "$ref": "./examples/Caches_Start.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "Caches" + ], + "description": "Tells a Stopped state Cache to transition to Active state.", + "operationId": "Caches_Start" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/stop": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + } + ], + "responses": { + "200": { + "description": "Cache is stopped." + }, + "202": { + "description": "Cache has started the transition to Stopped. Poll the Cache's state field to monitor." + }, + "204": { + "description": "Stopped VMs associated with the cache." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_Stop": { + "$ref": "./examples/Caches_Stop.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "Caches" + ], + "description": "Tells an Active Cache to transition to Stopped state.", + "operationId": "Caches_Stop" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + } + ], + "responses": { + "200": { + "description": "Returns the list of Storage Targets defined by cacheName.", + "schema": { + "$ref": "#/definitions/StorageTargetsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageTargets_List": { + "$ref": "./examples/StorageTargets_ListByCache.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "StorageTargets" + ], + "description": "Returns a list of Storage Targets for the specified Cache.", + "operationId": "StorageTargets_ListByCache" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}": { + "delete": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/StorageTargetParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "string", + "description": "Boolean value requesting the force delete operation for a storage target. Force delete discards unwritten-data in the cache instead of flushing it to back-end storage." + } + ], + "responses": { + "200": { + "description": "Storage Target deleted." + }, + "202": { + "description": "Started the Storage Target's deletion. Poll the Cache's Storage Targets to monitor." + }, + "204": { + "description": "Storage Target deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageTargets_Delete": { + "$ref": "./examples/StorageTargets_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "tags": [ + "StorageTargets" + ], + "description": "Removes a Storage Target from a Cache. This operation is allowed at any time, but if the Cache is down or unhealthy, the actual removal of the Storage Target may be delayed until the Cache is healthy again. Note that if the Cache has data to flush to the Storage Target, the data will be flushed before the Storage Target will be deleted.", + "operationId": "StorageTargets_Delete" + }, + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/StorageTargetParameter" + } + ], + "responses": { + "200": { + "description": "Returns the Storage Target object corresponding to storageTargetName.", + "schema": { + "$ref": "#/definitions/StorageTarget" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageTargets_Get": { + "$ref": "./examples/StorageTargets_Get.json" + } + }, + "tags": [ + "StorageTargets" + ], + "description": "Returns a Storage Target from a Cache.", + "operationId": "StorageTargets_Get" + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/StorageTargetParameter" + }, + { + "description": "Object containing the definition of a Storage Target.", + "in": "body", + "name": "storagetarget", + "schema": { + "$ref": "#/definitions/StorageTarget" + } + } + ], + "responses": { + "200": { + "description": "Storage Target has been created or updated.", + "schema": { + "$ref": "#/definitions/StorageTarget" + } + }, + "201": { + "description": "Storage Target creation or update has been initiated. Poll the Storage Target's provisioningState property to monitor creation/update progress.", + "schema": { + "$ref": "#/definitions/StorageTarget" + } + }, + "202": { + "description": "Storage Target creation or update has been initiated. Poll the Storage Target's provisioningState property to monitor creation/update progress." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageTargets_CreateOrUpdate": { + "$ref": "./examples/StorageTargets_CreateOrUpdate.json" + }, + "StorageTargets_CreateOrUpdate_NoJunctions": { + "$ref": "./examples/StorageTargets_CreateOrUpdate_NoJunctions.json" + }, + "StorageTargets_CreateOrUpdate_BlobNfs": { + "$ref": "./examples/StorageTargets_CreateOrUpdate_BlobNfs.json" + } + }, + "x-ms-long-running-operation": true, + "tags": [ + "StorageTargets" + ], + "description": "Create or update a Storage Target. This operation is allowed at any time, but if the Cache is down or unhealthy, the actual creation/modification of the Storage Target may be delayed until the Cache is healthy again.", + "operationId": "StorageTargets_CreateOrUpdate" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}/flush": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/StorageTargetParameter" + } + ], + "responses": { + "200": { + "description": "All data has been flushed to the storage target." + }, + "202": { + "description": "Cache has started flushing to the storage target. Poll the storage target's state field to monitor." + }, + "204": { + "description": "Flush already in progress or has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageTargets_Flush": { + "$ref": "./examples/StorageTargets_Flush.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "StorageTargets" + ], + "description": "Tells the cache to write all dirty data to the Storage Target's backend storage. Client requests to this storage target's namespace will return errors until the flush operation completes.", + "operationId": "StorageTarget_Flush" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}/suspend": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/StorageTargetParameter" + } + ], + "responses": { + "200": { + "description": "Client access to the storage target has been suspended." + }, + "202": { + "description": "Storage target suspend has started. Poll the storage target's state field to monitor." + }, + "204": { + "description": "The storage target is already suspended or suspend is in progress." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageTargets_Suspend": { + "$ref": "./examples/StorageTargets_Suspend.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "StorageTargets" + ], + "description": "Suspends client access to a storage target.", + "operationId": "StorageTarget_Suspend" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}/resume": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/StorageTargetParameter" + } + ], + "responses": { + "200": { + "description": "Client access to the storage target has been resumed." + }, + "202": { + "description": "Storage target resume has started. Poll the storage target's state field to monitor." + }, + "204": { + "description": "The storage target has already resumed or resume is in progress." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageTargets_Resume": { + "$ref": "./examples/StorageTargets_Resume.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "StorageTargets" + ], + "description": "Resumes client access to a previously suspended storage target.", + "operationId": "StorageTarget_Resume" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/upgrade": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + } + ], + "responses": { + "201": { + "description": "Cache firmware is up to date." + }, + "202": { + "description": "Cache has started the upgrade. Poll the Cache's state field to monitor." + }, + "204": { + "description": "Cache firmware is up to date." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_UpgradeFirmware": { + "$ref": "./examples/Caches_UpgradeFirmware.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "Caches" + ], + "description": "Upgrade a Cache's firmware if a new version is available. Otherwise, this operation has no effect.", + "operationId": "Caches_UpgradeFirmware" + } + } + }, + "definitions": { + "ApiOperation": { + "description": "REST API operation description: see https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/openapi-authoring-automated-guidelines.md#r3023-operationsapiimplementation", + "properties": { + "display": { + "type": "object", + "description": "The object that represents the operation.", + "properties": { + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string" + }, + "provider": { + "description": "Service provider: Microsoft.StorageCache", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed: Cache, etc.", + "type": "string" + }, + "description": { + "description": "The description of the operation", + "type": "string" + } + } + }, + "origin": { + "description": "Origin of the operation.", + "type": "string" + }, + "isDataAction": { + "description": "The flag that indicates whether the operation applies to data plane.", + "type": "boolean" + }, + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Additional details about an operation.", + "type": "object", + "properties": { + "serviceSpecification": { + "type": "object", + "description": "Specification of the all the metrics provided for a resource type.", + "properties": { + "metricSpecifications": { + "description": "Details about operations related to metrics.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + } + } + } + } + } + }, + "type": "object" + }, + "ApiOperationListResult": { + "description": "Result of the request to list Resource Provider operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string" + }, + "value": { + "description": "List of Resource Provider operations supported by the Microsoft.StorageCache resource provider.", + "items": { + "$ref": "#/definitions/ApiOperation" + }, + "type": "array" + } + }, + "type": "object" + }, + "CloudError": { + "x-ms-external": true, + "description": "An error response.", + "properties": { + "error": { + "description": "The body of the error.", + "$ref": "#/definitions/CloudErrorBody" + } + }, + "type": "object" + }, + "CloudErrorBody": { + "description": "An error response.", + "properties": { + "code": { + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.", + "type": "string" + }, + "details": { + "description": "A list of additional details about the error.", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "type": "array" + }, + "message": { + "description": "A message describing the error, intended to be suitable for display in a user interface.", + "type": "string" + }, + "target": { + "description": "The target of the particular error. For example, the name of the property in error.", + "type": "string" + } + }, + "type": "object" + }, + "AscOperation": { + "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/ErrorResponse" + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Additional operation-specific properties", + "$ref": "#/definitions/AscOperationProperties" + } + } + }, + "AscOperationProperties": { + "type": "object", + "description": "Additional operation-specific output.", + "properties": { + "output": { + "type": "object", + "description": "Additional operation-specific output.", + "additionalProperties": { + "type": "object" + } + } + } + }, + "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" + } + } + }, + "Cache": { + "description": "A Cache instance. Follows Azure Resource Manager standards: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + }, + "id": { + "description": "Resource ID of the Cache.", + "readOnly": true, + "$ref": "#/definitions/URLString" + }, + "location": { + "description": "Region name string.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "name": { + "description": "Name of Cache.", + "readOnly": true, + "$ref": "#/definitions/ResourceName" + }, + "type": { + "description": "Type of the Cache; Microsoft.StorageCache/Cache", + "readOnly": true, + "type": "string" + }, + "identity": { + "$ref": "#/definitions/CacheIdentity", + "description": "The identity of the cache, if configured." + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Properties of the Cache.", + "properties": { + "cacheSizeGB": { + "description": "The size of this Cache, in GB.", + "type": "integer", + "format": "int32", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "health": { + "description": "Health of the Cache.", + "readOnly": true, + "$ref": "#/definitions/CacheHealth" + }, + "mountAddresses": { + "description": "Array of IP addresses that can be used by clients mounting this Cache.", + "readOnly": true, + "items": { + "type": "string" + }, + "type": "array" + }, + "provisioningState": { + "description": "ARM provisioning state, see https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property", + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "Creating", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "ProvisioningStateType", + "modelAsString": true + }, + "type": "string", + "readOnly": true + }, + "subnet": { + "description": "Subnet used for the Cache.", + "$ref": "#/definitions/URLString", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "upgradeStatus": { + "description": "Upgrade status of the Cache.", + "$ref": "#/definitions/CacheUpgradeStatus", + "readOnly": true + }, + "networkSettings": { + "$ref": "#/definitions/CacheNetworkSettings", + "description": "Specifies network settings of the cache." + }, + "encryptionSettings": { + "$ref": "#/definitions/CacheEncryptionSettings", + "description": "Specifies encryption settings of the cache." + }, + "securitySettings": { + "$ref": "#/definitions/CacheSecuritySettings", + "description": "Specifies security settings of the cache." + }, + "directoryServicesSettings": { + "$ref": "#/definitions/CacheDirectorySettings", + "description": "Specifies Directory Services settings of the cache." + } + }, + "type": "object" + }, + "sku": { + "x-ms-mutability": [ + "read", + "create" + ], + "description": "SKU for the Cache.", + "properties": { + "name": { + "description": "SKU name for this Cache.", + "type": "string" + } + }, + "type": "object" + } + }, + "x-ms-azure-resource": true, + "type": "object" + }, + "CacheIdentity": { + "type": "object", + "description": "Cache identity properties.", + "x-ms-mutability": [ + "read", + "create" + ], + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID for the system-assigned identity of the cache." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID associated with the cache." + }, + "type": { + "type": "string", + "description": "The type of identity used for the cache", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "CacheIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "description": "A dictionary where each key is a user assigned identity resource ID, and each key's value is an empty dictionary.", + "additionalProperties": { + "type": "object", + "x-ms-client-name": "userAssignedIdentitiesValue", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of the user-assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client ID of the user-assigned identity." + } + } + } + } + } + }, + "CacheNetworkSettings": { + "type": "object", + "description": "Cache network settings.", + "properties": { + "mtu": { + "description": "The IPv4 maximum transmission unit configured for the subnet.", + "type": "integer", + "format": "int32", + "minimum": 576, + "maximum": 1500, + "default": 1500 + }, + "utilityAddresses": { + "description": "Array of additional IP addresses used by this Cache.", + "readOnly": true, + "items": { + "type": "string" + }, + "type": "array" + }, + "dnsServers": { + "description": "DNS servers for the cache to use. It will be set from the network configuration if no value is provided.", + "type": "array", + "items": { + "type": "string" + } + }, + "dnsSearchDomain": { + "description": "DNS search domain", + "type": "string" + }, + "ntpServer": { + "description": "NTP server IP Address or FQDN for the cache to use. The default is time.windows.com.", + "type": "string", + "default": "time.windows.com" + } + } + }, + "CacheEncryptionSettings": { + "type": "object", + "description": "Cache encryption settings.", + "properties": { + "keyEncryptionKey": { + "x-ms-secret": true, + "$ref": "#/definitions/KeyVaultKeyReference", + "description": "Specifies the location of the key encryption key in Key Vault." + }, + "rotationToLatestKeyVersionEnabled": { + "type": "boolean", + "description": "Specifies whether the service will automatically rotate to the newest version of the key in the Key Vault." + } + } + }, + "CacheSecuritySettings": { + "type": "object", + "description": "Cache security settings.", + "properties": { + "accessPolicies": { + "description": "NFS access policies defined for this cache.", + "items": { + "$ref": "#/definitions/NfsAccessPolicy" + }, + "type": "array" + } + } + }, + "CacheDirectorySettings": { + "description": "Cache Directory Services settings.", + "type": "object", + "properties": { + "activeDirectory": { + "$ref": "#/definitions/CacheActiveDirectorySettings", + "description": "Specifies settings for joining the HPC Cache to an Active Directory domain." + }, + "usernameDownload": { + "$ref": "#/definitions/CacheUsernameDownloadSettings", + "description": "Specifies settings for Extended Groups. Extended Groups allows users to be members of more than 16 groups." + } + } + }, + "CacheActiveDirectorySettings": { + "description": "Active Directory settings used to join a cache to a domain.", + "properties": { + "primaryDnsIpAddress": { + "description": "Primary DNS IP address used to resolve the Active Directory domain controller's fully qualified domain name.", + "type": "string" + }, + "secondaryDnsIpAddress": { + "description": "Secondary DNS IP address used to resolve the Active Directory domain controller's fully qualified domain name.", + "type": "string" + }, + "domainName": { + "description": "The fully qualified domain name of the Active Directory domain controller.", + "type": "string" + }, + "domainNetBiosName": { + "description": "The Active Directory domain's NetBIOS name.", + "type": "string" + }, + "cacheNetBiosName": { + "description": "The NetBIOS name to assign to the HPC Cache when it joins the Active Directory domain as a server. Length must 1-15 characters from the class [-0-9a-zA-Z].", + "pattern": "^[-0-9a-zA-Z]{1,15}$", + "type": "string" + }, + "domainJoined": { + "description": "True if the HPC Cache is joined to the Active Directory domain.", + "type": "string", + "readOnly": true, + "enum": [ + "Yes", + "No", + "Error" + ], + "x-ms-enum": { + "name": "DomainJoinedType", + "modelAsString": true + } + }, + "credentials": { + "type": "object", + "description": "Active Directory admin credentials used to join the HPC Cache to a domain.", + "properties": { + "username": { + "description": "Username of the Active Directory domain administrator. This value is stored encrypted and not returned on response.", + "type": "string" + }, + "password": { + "description": "Plain text password of the Active Directory domain administrator. This value is stored encrypted and not returned on response.", + "x-ms-secret": true, + "type": "string" + } + }, + "required": [ + "username", + "password" + ] + } + }, + "type": "object", + "required": [ + "primaryDnsIpAddress", + "domainNetBiosName", + "domainName", + "cacheNetBiosName" + ] + }, + "CacheUsernameDownloadSettings": { + "description": "Settings for Extended Groups username and group download.", + "type": "object", + "properties": { + "extendedGroups": { + "type": "boolean", + "description": "Whether or not Extended Groups is enabled." + }, + "usernameSource": { + "description": "This setting determines how the cache gets username and group names for clients.", + "enum": [ + "AD", + "LDAP", + "File", + "None" + ], + "x-ms-enum": { + "name": "UsernameSource", + "modelAsString": true + }, + "type": "string", + "default": "None" + }, + "groupFileURI": { + "type": "string", + "description": "The URI of the file containing group information (in /etc/group file format). This field must be populated when 'usernameSource' is set to 'File'." + }, + "userFileURI": { + "type": "string", + "description": "The URI of the file containing user information (in /etc/passwd file format). This field must be populated when 'usernameSource' is set to 'File'." + }, + "ldapServer": { + "type": "string", + "description": "The fully qualified domain name or IP address of the LDAP server to use." + }, + "ldapBaseDN": { + "type": "string", + "description": "The base distinguished name for the LDAP domain." + }, + "encryptLdapConnection": { + "type": "boolean", + "description": "Whether or not the LDAP connection should be encrypted." + }, + "requireValidCertificate": { + "type": "boolean", + "description": "Determines if the certificates must be validated by a certificate authority. When true, caCertificateURI must be provided." + }, + "autoDownloadCertificate": { + "type": "boolean", + "description": "Determines if the certificate should be automatically downloaded. This applies to 'caCertificateURI' only if 'requireValidCertificate' is true." + }, + "caCertificateURI": { + "type": "string", + "description": "The URI of the CA certificate to validate the LDAP secure connection. This field must be populated when 'requireValidCertificate' is set to true." + }, + "usernameDownloaded": { + "description": "Indicates whether or not the HPC Cache has performed the username download successfully.", + "type": "string", + "readOnly": true, + "enum": [ + "Yes", + "No", + "Error" + ], + "x-ms-enum": { + "name": "UsernameDownloadedType", + "modelAsString": true + } + }, + "credentials": { + "type": "object", + "description": "When present, these are the credentials for the secure LDAP connection.", + "properties": { + "bindDn": { + "type": "string", + "description": "The Bind Distinguished Name identity to be used in the secure LDAP connection. This value is stored encrypted and not returned on response." + }, + "bindPassword": { + "type": "string", + "x-ms-secret": true, + "description": "The Bind password to be used in the secure LDAP connection. This value is stored encrypted and not returned on response." + } + } + } + } + }, + "NfsAccessPolicy": { + "type": "object", + "description": "A set of rules describing access policies applied to NFSv3 clients of the cache.", + "properties": { + "name": { + "description": "Name identifying this policy. Access Policy names are not case sensitive.", + "type": "string" + }, + "accessRules": { + "description": "The set of rules describing client accesses allowed under this policy.", + "type": "array", + "items": { + "$ref": "#/definitions/NfsAccessRule" + } + } + }, + "required": [ + "name", + "accessRules" + ] + }, + "NfsAccessRule": { + "type": "object", + "description": "Rule to place restrictions on portions of the cache namespace being presented to clients.", + "properties": { + "scope": { + "description": "Scope for this rule. The scope and filter determine which clients match the rule.", + "type": "string", + "enum": [ + "default", + "network", + "host" + ], + "x-ms-enum": { + "name": "NfsAccessRuleScope", + "modelAsString": true + } + }, + "filter": { + "description": "Filter applied to the scope for this rule. The filter's format depends on its scope. 'default' scope matches all clients and has no filter value. 'network' scope takes a filter in CIDR format (for example, 10.99.1.0/24). 'host' takes an IP address or fully qualified domain name as filter. If a client does not match any filter rule and there is no default rule, access is denied.", + "type": "string" + }, + "access": { + "description": "Access allowed by this rule.", + "type": "string", + "enum": [ + "no", + "ro", + "rw" + ], + "x-ms-enum": { + "name": "NfsAccessRuleAccess", + "modelAsString": true + } + }, + "suid": { + "description": "Allow SUID semantics.", + "type": "boolean" + }, + "submountAccess": { + "description": "For the default policy, allow access to subdirectories under the root export. If this is set to no, clients can only mount the path '/'. If set to yes, clients can mount a deeper path, like '/a/b'.", + "type": "boolean" + }, + "rootSquash": { + "description": "Map root accesses to anonymousUID and anonymousGID.", + "type": "boolean" + }, + "anonymousUID": { + "description": "UID value that replaces 0 when rootSquash is true. 65534 will be used if not provided.", + "type": "string" + }, + "anonymousGID": { + "description": "GID value that replaces 0 when rootSquash is true. This will use the value of anonymousUID if not provided.", + "type": "string" + } + }, + "required": [ + "scope", + "access" + ] + }, + "KeyVaultKeyReference": { + "type": "object", + "description": "Describes a reference to Key Vault Key.", + "properties": { + "keyUrl": { + "type": "string", + "description": "The URL referencing a key encryption key in Key Vault." + }, + "sourceVault": { + "type": "object", + "description": "Describes a resource Id to source Key Vault.", + "properties": { + "id": { + "type": "string", + "description": "Resource Id." + } + } + } + }, + "required": [ + "keyUrl", + "sourceVault" + ] + }, + "CachesListResult": { + "description": "Result of the request to list Caches. It contains a list of Caches and a URL link to get the next set of results.", + "properties": { + "nextLink": { + "description": "URL to get the next set of Cache list results, if there are any.", + "type": "string" + }, + "value": { + "description": "List of Caches.", + "items": { + "$ref": "#/definitions/Cache" + }, + "type": "array" + } + }, + "type": "object" + }, + "CacheHealth": { + "type": "object", + "description": "An indication of Cache health. Gives more information about health than just that related to provisioning.", + "properties": { + "state": { + "description": "List of Cache health states.", + "enum": [ + "Unknown", + "Healthy", + "Degraded", + "Down", + "Transitioning", + "Stopping", + "Stopped", + "Upgrading", + "Flushing" + ], + "x-ms-enum": { + "name": "HealthStateType", + "modelAsString": true + }, + "type": "string" + }, + "statusDescription": { + "description": "Describes explanation of state.", + "type": "string" + }, + "conditions": { + "description": "Outstanding conditions that need to be investigated and resolved.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Condition" + } + } + } + }, + "Condition": { + "type": "object", + "description": "Outstanding conditions that will need to be resolved.", + "properties": { + "timestamp": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time when the condition was raised." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The issue requiring attention." + } + } + }, + "CacheUpgradeStatus": { + "description": "Properties describing the software upgrade state of the Cache.", + "properties": { + "currentFirmwareVersion": { + "description": "Version string of the firmware currently installed on this Cache.", + "type": "string", + "readOnly": true + }, + "firmwareUpdateStatus": { + "description": "True if there is a firmware update ready to install on this Cache. The firmware will automatically be installed after firmwareUpdateDeadline if not triggered earlier via the upgrade operation.", + "enum": [ + "available", + "unavailable" + ], + "x-ms-enum": { + "name": "FirmwareStatusType", + "modelAsString": true + }, + "readOnly": true, + "type": "string" + }, + "firmwareUpdateDeadline": { + "description": "Time at which the pending firmware update will automatically be installed on the Cache.", + "format": "date-time", + "type": "string", + "readOnly": true + }, + "lastFirmwareUpdate": { + "description": "Time of the last successful firmware update.", + "format": "date-time", + "type": "string", + "readOnly": true + }, + "pendingFirmwareVersion": { + "description": "When firmwareUpdateAvailable is true, this field holds the version string for the update.", + "type": "string", + "readOnly": true + } + }, + "type": "object" + }, + "UnknownProperties": { + "description": "Properties of an unknown type of Storage Target.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "StorageTarget": { + "type": "object", + "description": "Type of the Storage Target.", + "allOf": [ + { + "$ref": "#/definitions/StorageTargetResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "StorageTarget properties", + "$ref": "#/definitions/StorageTargetProperties" + } + } + }, + "StorageTargetResource": { + "type": "object", + "description": "Resource used by a Cache.", + "properties": { + "name": { + "description": "Name of the Storage Target.", + "readOnly": true, + "$ref": "#/definitions/ResourceName" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID of the Storage Target." + }, + "type": { + "description": "Type of the Storage Target; Microsoft.StorageCache/Cache/StorageTarget", + "readOnly": true, + "type": "string" + }, + "location": { + "description": "Region name string.", + "readOnly": true, + "type": "string" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "x-ms-azure-resource": true + }, + "StorageTargetProperties": { + "type": "object", + "description": "Properties of the Storage Target.", + "required": [ + "targetType" + ], + "properties": { + "junctions": { + "description": "List of Cache namespace junctions to target for namespace associations.", + "type": "array", + "items": { + "$ref": "#/definitions/NamespaceJunction" + } + }, + "targetType": { + "description": "Type of the Storage Target.", + "enum": [ + "nfs3", + "clfs", + "unknown", + "blobNfs" + ], + "x-ms-enum": { + "name": "StorageTargetType", + "modelAsString": true + }, + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "provisioningState": { + "description": "ARM provisioning state, see https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property", + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "Creating", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "ProvisioningStateType", + "modelAsString": true + }, + "type": "string", + "readOnly": true + }, + "state": { + "description": "Storage target operational state.", + "enum": [ + "Ready", + "Busy", + "Suspended", + "Flushing" + ], + "x-ms-enum": { + "name": "OperationalStateType", + "modelAsString": true + }, + "type": "string" + }, + "nfs3": { + "description": "Properties when targetType is nfs3.", + "$ref": "#/definitions/Nfs3Target" + }, + "clfs": { + "description": "Properties when targetType is clfs.", + "$ref": "#/definitions/ClfsTarget" + }, + "unknown": { + "description": "Properties when targetType is unknown.", + "$ref": "#/definitions/UnknownTarget" + }, + "blobNfs": { + "description": "Properties when targetType is blobNfs.", + "$ref": "#/definitions/BlobNfsTarget" + } + } + }, + "Nfs3Target": { + "type": "object", + "description": "Properties pertaining to the Nfs3Target", + "properties": { + "target": { + "description": "IP address or host name of an NFSv3 host (e.g., 10.0.44.44).", + "pattern": "^[-.,0-9a-zA-Z]+$", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "usageModel": { + "description": "Identifies the StorageCache usage model to be used for this storage target.", + "type": "string" + } + } + }, + "ClfsTarget": { + "type": "object", + "description": "Properties pertaining to the ClfsTarget", + "properties": { + "target": { + "description": "Resource ID of storage container.", + "$ref": "#/definitions/URLString", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "UnknownTarget": { + "type": "object", + "description": "Properties pertaining to the UnknownTarget", + "properties": { + "attributes": { + "description": "Dictionary of string->string pairs containing information about the Storage Target.", + "$ref": "#/definitions/UnknownProperties" + } + } + }, + "BlobNfsTarget": { + "type": "object", + "description": "Properties pertaining to the BlobNfsTarget.", + "properties": { + "target": { + "description": "Resource ID of the storage container.", + "$ref": "#/definitions/URLString", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "usageModel": { + "description": "Identifies the StorageCache usage model to be used for this storage target.", + "type": "string" + } + } + }, + "ResourceName": { + "description": "Schema for the name of resources served by this provider. Note that objects will contain an odata @id annotation as appropriate. This will contain the complete URL of the object. These names are case-preserving, but not case sensitive.", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", + "type": "string" + }, + "ResourceSku": { + "description": "A resource SKU.", + "properties": { + "resourceType": { + "readOnly": true, + "type": "string", + "description": "The type of resource the SKU applies to." + }, + "capabilities": { + "description": "A list of capabilities of this SKU, such as throughput or ops/sec.", + "items": { + "$ref": "#/definitions/ResourceSkuCapabilities" + }, + "type": "array" + }, + "locations": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of locations where the SKU is available. This is the supported and registered Azure Geo Regions (e.g., West US, East US, Southeast Asia, etc.)." + }, + "locationInfo": { + "description": "The set of locations where the SKU is available.", + "items": { + "$ref": "#/definitions/ResourceSkuLocationInfo" + }, + "type": "array" + }, + "name": { + "description": "The name of this SKU.", + "type": "string" + }, + "restrictions": { + "type": "array", + "items": { + "$ref": "#/definitions/Restriction" + }, + "description": "The restrictions preventing this SKU from being used. This is empty if there are no restrictions." + } + }, + "type": "object" + }, + "Restriction": { + "type": "object", + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The type of restrictions. In this version, the 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, then this would be the 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\". \"QuotaId\" is set when the SKU has requiredQuotas parameter as the subscription does not belong to that quota. \"NotAvailableForSubscription\" is related to capacity at the datacenter." + } + }, + "description": "The restrictions preventing this SKU from being used." + }, + "ResourceSkuCapabilities": { + "description": "A resource SKU capability.", + "properties": { + "name": { + "description": "Name of a capability, such as ops/sec.", + "type": "string" + }, + "value": { + "description": "Quantity, if the capability is measured by quantity.", + "type": "string" + } + }, + "type": "object" + }, + "ResourceSkuLocationInfo": { + "description": "Resource SKU location information.", + "properties": { + "location": { + "description": "Location where this SKU is available.", + "type": "string" + }, + "zones": { + "description": "Zones if any.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "ResourceSkusResult": { + "type": "object", + "description": "The response from the List Cache SKUs operation.", + "properties": { + "nextLink": { + "description": "The URI to fetch the next page of Cache SKUs.", + "type": "string" + }, + "value": { + "description": "The list of SKUs available for the subscription.", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceSku" + }, + "type": "array" + } + } + }, + "NamespaceJunction": { + "description": "A namespace junction.", + "type": "object", + "properties": { + "namespacePath": { + "description": "Namespace path on a Cache for a Storage Target.", + "type": "string" + }, + "targetPath": { + "description": "Path in Storage Target to which namespacePath points.", + "type": "string" + }, + "nfsExport": { + "description": "NFS export where targetPath exists.", + "type": "string" + }, + "nfsAccessPolicy": { + "description": "Name of the access policy applied to this junction.", + "type": "string", + "default": "default" + } + } + }, + "StorageTargetsResult": { + "description": "A list of Storage Targets.", + "properties": { + "nextLink": { + "description": "The URI to fetch the next page of Storage Targets.", + "type": "string" + }, + "value": { + "description": "The list of Storage Targets defined for the Cache.", + "items": { + "$ref": "#/definitions/StorageTarget" + }, + "type": "array" + } + }, + "type": "object" + }, + "URLString": { + "description": "A fully qualified URL.", + "type": "string" + }, + "UsageModel": { + "description": "A usage model.", + "properties": { + "display": { + "description": "Localized information describing this usage model.", + "type": "object", + "properties": { + "description": { + "description": "String to display for this usage model.", + "type": "string" + } + } + }, + "modelName": { + "description": "Non-localized keyword name for this usage model.", + "type": "string" + }, + "targetType": { + "description": "The type of Storage Target to which this model is applicable (only nfs3 as of this version).", + "type": "string" + } + }, + "type": "object" + }, + "UsageModelsResult": { + "description": "A list of Cache usage models.", + "properties": { + "nextLink": { + "description": "The URI to fetch the next page of Cache usage models.", + "type": "string" + }, + "value": { + "description": "The list of usage models available for the subscription.", + "items": { + "$ref": "#/definitions/UsageModel" + }, + "type": "array" + } + }, + "type": "object" + }, + "MetricSpecification": { + "type": "object", + "description": "Details about operation related to metrics.", + "properties": { + "name": { + "type": "string", + "description": "The name of the metric." + }, + "displayName": { + "type": "string", + "description": "Localized display name of the metric." + }, + "displayDescription": { + "type": "string", + "description": "The description of the metric." + }, + "unit": { + "type": "string", + "description": "The unit that the metric is measured in." + }, + "aggregationType": { + "type": "string", + "description": "The type of metric aggregation." + }, + "supportedAggregationTypes": { + "description": "Support metric aggregation type.", + "type": "array", + "items": { + "enum": [ + "NotSpecified", + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricAggregationType", + "modelAsString": true + } + } + }, + "metricClass": { + "description": "Type of metrics.", + "type": "string" + }, + "dimensions": { + "description": "Dimensions of the metric", + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension" + } + } + } + }, + "MetricDimension": { + "type": "object", + "description": "Specifications of the Dimension of metrics.", + "properties": { + "name": { + "type": "string", + "description": "Name of the dimension" + }, + "displayName": { + "type": "string", + "description": "Localized friendly display name of the dimension" + }, + "internalName": { + "type": "string", + "description": "Internal name of the dimension." + }, + "toBeExportedForShoebox": { + "description": "To be exported to shoe box.", + "type": "boolean" + } + } + } + }, + "parameters": { + "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." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + }, + "ResourceGroupParameter": { + "description": "Target resource group.", + "in": "path", + "name": "resourceGroupName", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "CacheNameParameter": { + "description": "Name of Cache. Length of name must not be greater than 80 and chars must be from the [-0-9a-zA-Z_] char class.", + "in": "path", + "name": "cacheName", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "StorageTargetParameter": { + "description": "Name of Storage Target.", + "in": "path", + "name": "storageTargetName", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/storagecache/resource-manager/readme.go.md b/specification/storagecache/resource-manager/readme.go.md index b6af11796955..e3108b3fa396 100644 --- a/specification/storagecache/resource-manager/readme.go.md +++ b/specification/storagecache/resource-manager/readme.go.md @@ -13,6 +13,7 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-09 - tag: package-2021-05 - tag: package-2021-03 - tag: package-2020-10-01 @@ -21,6 +22,15 @@ batch: - tag: package-2019-08 ``` +### Tag: package-2021-09 and go + +These settings apply only when `--tag=package-2021-09 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-09' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-09-01/$(namespace) +``` + ### Tag: package-2021-05 and go These settings apply only when `--tag=package-2021-05 --go` is specified on the command line. diff --git a/specification/storagecache/resource-manager/readme.md b/specification/storagecache/resource-manager/readme.md index 427eee637853..9bf6772f2403 100644 --- a/specification/storagecache/resource-manager/readme.md +++ b/specification/storagecache/resource-manager/readme.md @@ -26,20 +26,29 @@ These are the global settings for the StorageCache API. ``` yaml openapi-type: arm -tag: package-2021-05 +tag: package-2021-09 add-credentials: true title: StorageCacheManagementClient ``` +### Tag: package-2021-09 + +These settings apply only when `--tag=package-2021-09` is specified on the command line. + +```yaml $(tag) == 'package-2021-09' +input-file: + - Microsoft.StorageCache/stable/2021-09-01/storagecache.json +``` ### Tag: package-2021-05 These settings apply only when `--tag=package-2021-05` is specified on the command line. -```yaml $(tag) == 'package-2021-05' +``` yaml $(tag) == 'package-2021-05' input-file: - Microsoft.StorageCache/stable/2021-05-01/storagecache.json ``` + ### Tag: package-2021-03 These settings apply only when `--tag=package-2021-03` is specified on the command line. diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/LocationOperationStatus_Get.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/LocationOperationStatus_Get.json new file mode 100644 index 000000000000..2e42868df04e --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/LocationOperationStatus_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "locationName": "westus", + "operationId": "eyJwYXJ0aXRpb25JZCI6ImE1ZDNiMDU4LTYwN2MtNDI0Ny05Y2FmLWJlZmU4NGQ0ZDU0NyIsIndvcmtmbG93SWQiOiJjYzg1MTY2YS0xMjI2LTQ4MGYtYWM5ZC1jMmRhNTVmY2M2ODYiLCJ3b3JrZmxvd09wZXJhdGlvbklkIjoiOTdmODU5ZTAtOGY1MC00ZTg4LWJkZDEtNWZlYzgwYTVlYzM0tui=", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "id": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/providers/microsoft.storagesync/locations/westus/operations/eyJwYXJ0aXRpb25JZCI6ImE1ZDNiMDU4LTYwN2MtNDI0Ny05Y2FmLWJlZmU4NGQ0ZDU0NyIsIndvcmtmbG93SWQiOiJjYzg1MTY2YS0xMjI2LTQ4MGYtYWM5ZC1jMmRhNTVmY2M2ODYiLCJ3b3JrZmxvd09wZXJhdGlvbklkIjoiOTdmODU5ZTAtOGY1MC00ZTg4LWJkZDEtNWZlYzgwYTVlYzM0tui=", + "name": "eyJwYXJ0aXRpb25JZCI6ImE1ZDNiMDU4LTYwN2MtNDI0Ny05Y2FmLWJlZmU4NGQ0ZDU0NyIsIndvcmtmbG93SWQiOiJjYzg1MTY2YS0xMjI2LTQ4MGYtYWM5ZC1jMmRhNTVmY2M2ODYiLCJ3b3JrZmxvd09wZXJhdGlvbklkIjoiOTdmODU5ZTAtOGY1MC00ZTg4LWJkZDEtNWZlYzgwYTVlYzM0tui=", + "status": "Succeeded", + "startTime": "2021-09-14T19:59:24.6247688Z", + "endTime": "2021-09-14T19:59:30.8055279Z" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/storagesync.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/storagesync.json index a665e00b1c48..12b7659dfaf0 100644 --- a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/storagesync.json +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/storagesync.json @@ -3071,6 +3071,66 @@ } } } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageSync/locations/{locationName}/operations/{operationId}": { + "get": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The desired region to obtain information from." + }, + { + "name": "operationId", + "in": "path", + "description": "operation Id", + "required": true, + "type": "string" + } + ], + "tags": [ + "Operation Status" + ], + "operationId": "LocationOperationStatus", + "description": "Get Operation status", + "x-ms-examples": { + "Workflows_Get": { + "$ref": "./examples/LocationOperationStatus_Get.json" + } + }, + "responses": { + "200": { + "description": "Operation Status", + "schema": { + "$ref": "#/definitions/LocationOperationStatus" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + } + } } }, "definitions": { @@ -3107,6 +3167,10 @@ "details": { "$ref": "#/definitions/StorageSyncErrorDetails", "description": "Error details of the given entry." + }, + "innerError": { + "$ref": "#/definitions/StorageSyncInnerErrorDetails", + "description": "Inner error details of the given entry." } } }, @@ -3125,6 +3189,48 @@ "target": { "type": "string", "description": "Target of the given entry." + }, + "requestUri": { + "type": "string", + "description": "Request URI of the given entry." + }, + "exceptionType": { + "type": "string", + "description": "Exception type of the given entry." + }, + "httpMethod": { + "type": "string", + "description": "HTTP method of the given entry." + }, + "hashedMessage": { + "type": "string", + "description": "Hashed message of the given entry." + }, + "httpErrorCode": { + "type": "string", + "description": "HTTP error code of the given entry." + } + } + }, + "StorageSyncInnerErrorDetails": { + "type": "object", + "description": "Error Details object.", + "properties": { + "callStack": { + "type": "string", + "description": "Call stack of the error." + }, + "message": { + "type": "string", + "description": "Error message of the error." + }, + "innerException": { + "type": "string", + "description": "Exception of the inner error." + }, + "innerExceptionCallStack": { + "type": "string", + "description": "Call stack of the inner error." } } }, @@ -3396,11 +3502,13 @@ }, "initialDownloadPolicy": { "$ref": "#/definitions/InitialDownloadPolicy", - "description": "Policy for how namespace and files are recalled during FastDr." + "description": "Policy for how namespace and files are recalled during FastDr.", + "default": "NamespaceThenModifiedFiles" }, "localCacheMode": { "$ref": "#/definitions/LocalCacheMode", - "description": "Policy for enabling follow-the-sun business models: link local cache to cloud behavior to pre-populate before local access." + "description": "Policy for enabling follow-the-sun business models: link local cache to cloud behavior to pre-populate before local access.", + "default": "UpdateLocallyCachedFiles" } } }, @@ -3578,6 +3686,10 @@ "origin": { "type": "string", "description": "The origin." + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of the operations resource." } } }, @@ -3625,6 +3737,84 @@ } } }, + "OperationProperties": { + "type": "object", + "description": "Properties of the operations resource.", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/OperationResourceServiceSpecification", + "description": "Service specification for the operations resource." + } + } + }, + "OperationResourceServiceSpecification": { + "type": "object", + "description": "Service specification.", + "properties": { + "metricSpecifications": { + "type": "array", + "items": { + "$ref": "#/definitions/OperationResourceMetricSpecification" + }, + "description": "List of metric specifications." + } + } + }, + "OperationResourceMetricSpecification": { + "type": "object", + "description": "Operation Display Resource object.", + "properties": { + "name": { + "type": "string", + "description": "Name of the metric." + }, + "displayName": { + "type": "string", + "description": "Display name for the metric." + }, + "displayDescription": { + "type": "string", + "description": "Display description for the metric." + }, + "unit": { + "type": "string", + "description": "Unit for the metric." + }, + "aggregationType": { + "type": "string", + "description": "Aggregation type for the metric." + }, + "fillGapWithZero": { + "type": "boolean", + "description": "Fill gaps in the metric with zero." + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/definitions/OperationResourceMetricSpecificationDimension" + }, + "description": "Dimensions for the metric specification." + } + } + }, + "OperationResourceMetricSpecificationDimension": { + "type": "object", + "description": "OperationResourceMetricSpecificationDimension object.", + "properties": { + "name": { + "type": "string", + "description": "Name of the dimension." + }, + "displayName": { + "type": "string", + "description": "Display name of the dimensions." + }, + "toBeExportedForShoebox": { + "type": "boolean", + "description": "Indicates metric should be exported for Shoebox." + } + } + }, "CheckNameAvailabilityParameters": { "properties": { "name": { @@ -4017,6 +4207,17 @@ "type": "string", "description": "Registered Server Agent Version" }, + "agentVersionStatus": { + "$ref": "#/definitions/RegisteredServerAgentVersionStatus", + "description": "Registered Server Agent Version Status", + "readOnly": true + }, + "agentVersionExpirationDate": { + "type": "string", + "format": "date-time", + "description": "Registered Server Agent Version Expiration Date", + "readOnly": true + }, "serverOSVersion": { "type": "string", "description": "Registered Server OS Version" @@ -4375,6 +4576,11 @@ }, "description": "Array of per-item errors coming from the last sync session.", "readOnly": true + }, + "lastSyncMode": { + "$ref": "#/definitions/ServerEndpointSyncMode", + "description": "Sync mode", + "readOnly": true } } }, @@ -4422,6 +4628,11 @@ "minimum": 0, "description": "Total bytes (if available)", "readOnly": true + }, + "syncMode": { + "$ref": "#/definitions/ServerEndpointSyncMode", + "description": "Sync mode", + "readOnly": true } } }, @@ -4451,6 +4662,21 @@ } } }, + "ServerEndpointSyncMode": { + "type": "string", + "description": "Sync mode for the server endpoint.", + "enum": [ + "Regular", + "NamespaceDownload", + "InitialUpload", + "SnapshotUpload", + "InitialFullDownload" + ], + "x-ms-enum": { + "name": "ServerEndpointSyncMode", + "modelAsString": true + } + }, "PhysicalPath": { "type": "string", "description": "Server folder used for data synchronization" @@ -4630,6 +4856,50 @@ }, "description": "Operation status object" }, + "LocationOperationStatus": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Operation resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Operation Id" + }, + "status": { + "readOnly": true, + "type": "string", + "description": "Operation status" + }, + "startTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Start time of the operation" + }, + "endTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "End time of the operation" + }, + "error": { + "readOnly": true, + "$ref": "#/definitions/StorageSyncApiError", + "description": "Error details." + }, + "percentComplete": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Percent complete." + } + }, + "description": "Operation status object" + }, "ServerEndpointCloudTieringStatus": { "type": "object", "description": "Server endpoint cloud tiering status object.", @@ -4921,6 +5191,20 @@ "readOnly": true } } + }, + "RegisteredServerAgentVersionStatus": { + "type": "string", + "description": "Type of the registered server agent version status", + "enum": [ + "Ok", + "NearExpiry", + "Expired", + "Blocked" + ], + "x-ms-enum": { + "name": "RegisteredServerAgentVersionStatus", + "modelAsString": true + } } }, "parameters": { diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-09-01/examples/LocationOperationStatus_Get.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-09-01/examples/LocationOperationStatus_Get.json new file mode 100644 index 000000000000..2debbcf93d2c --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-09-01/examples/LocationOperationStatus_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "locationName": "westus", + "operationId": "eyJwYXJ0aXRpb25JZCI6ImE1ZDNiMDU4LTYwN2MtNDI0Ny05Y2FmLWJlZmU4NGQ0ZDU0NyIsIndvcmtmbG93SWQiOiJjYzg1MTY2YS0xMjI2LTQ4MGYtYWM5ZC1jMmRhNTVmY2M2ODYiLCJ3b3JrZmxvd09wZXJhdGlvbklkIjoiOTdmODU5ZTAtOGY1MC00ZTg4LWJkZDEtNWZlYzgwYTVlYzM0tui=", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "id": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/providers/microsoft.storagesync/locations/westus/operations/eyJwYXJ0aXRpb25JZCI6ImE1ZDNiMDU4LTYwN2MtNDI0Ny05Y2FmLWJlZmU4NGQ0ZDU0NyIsIndvcmtmbG93SWQiOiJjYzg1MTY2YS0xMjI2LTQ4MGYtYWM5ZC1jMmRhNTVmY2M2ODYiLCJ3b3JrZmxvd09wZXJhdGlvbklkIjoiOTdmODU5ZTAtOGY1MC00ZTg4LWJkZDEtNWZlYzgwYTVlYzM0tui=", + "name": "eyJwYXJ0aXRpb25JZCI6ImE1ZDNiMDU4LTYwN2MtNDI0Ny05Y2FmLWJlZmU4NGQ0ZDU0NyIsIndvcmtmbG93SWQiOiJjYzg1MTY2YS0xMjI2LTQ4MGYtYWM5ZC1jMmRhNTVmY2M2ODYiLCJ3b3JrZmxvd09wZXJhdGlvbklkIjoiOTdmODU5ZTAtOGY1MC00ZTg4LWJkZDEtNWZlYzgwYTVlYzM0tui=", + "status": "Succeeded", + "startTime": "2021-09-14T19:59:24.6247688Z", + "endTime": "2021-09-14T19:59:30.8055279Z" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-09-01/storagesync.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-09-01/storagesync.json index 6ca36b30eac1..c4a8fca616ec 100644 --- a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-09-01/storagesync.json +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-09-01/storagesync.json @@ -3071,6 +3071,66 @@ } } } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageSync/locations/{locationName}/operations/{operationId}": { + "get": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The desired region to obtain information from." + }, + { + "name": "operationId", + "in": "path", + "description": "operation Id", + "required": true, + "type": "string" + } + ], + "tags": [ + "Operation Status" + ], + "operationId": "LocationOperationStatus", + "description": "Get Operation status", + "x-ms-examples": { + "Workflows_Get": { + "$ref": "./examples/LocationOperationStatus_Get.json" + } + }, + "responses": { + "200": { + "description": "Operation Status", + "schema": { + "$ref": "#/definitions/LocationOperationStatus" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + } + } } }, "definitions": { @@ -4894,6 +4954,50 @@ }, "description": "Operation status object" }, + "LocationOperationStatus": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Operation resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Operation Id" + }, + "status": { + "readOnly": true, + "type": "string", + "description": "Operation status" + }, + "startTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Start time of the operation" + }, + "endTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "End time of the operation" + }, + "error": { + "readOnly": true, + "$ref": "#/definitions/StorageSyncApiError", + "description": "Error details." + }, + "percentComplete": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Percent complete." + } + }, + "description": "Operation status object" + }, "ServerEndpointCloudTieringStatus": { "type": "object", "description": "Server endpoint cloud tiering status object.", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_AzureML.json new file mode 100644 index 000000000000..69ed2e331e3b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_AzureML.json @@ -0,0 +1,142 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg7", + "jobName": "sj9093", + "functionName": "function588", + "function": { + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearning/WebService", + "properties": { + "endpoint": "someAzureMLEndpointURL", + "apiKey": "someApiKey==", + "inputs": { + "name": "input1", + "columnNames": [ + { + "name": "tweet", + "dataType": "string", + "mapTo": 0 + } + ] + }, + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 1000 + } + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "dac52a15-66be-4aa7-8a18-20c5409983df" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg7/providers/Microsoft.StreamAnalytics/streamingjobs/sj9093/functions/function588", + "name": "function588", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearning/WebService", + "properties": { + "endpoint": "someAzureMLEndpointURL", + "inputs": { + "name": "input1", + "columnNames": [ + { + "name": "tweet", + "dataType": "string", + "mapTo": 0 + } + ] + }, + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 1000 + } + } + } + } + } + }, + "200": { + "headers": { + "ETag": "dac52a15-66be-4aa7-8a18-20c5409983df" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg7/providers/Microsoft.StreamAnalytics/streamingjobs/sj9093/functions/function588", + "name": "function588", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearning/WebService", + "properties": { + "endpoint": "someAzureMLEndpointURL", + "inputs": { + "name": "input1", + "columnNames": [ + { + "name": "tweet", + "dataType": "string", + "mapTo": 0 + } + ] + }, + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 1000 + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_AzureMLService.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_AzureMLService.json new file mode 100644 index 000000000000..876bda84fdc8 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_AzureMLService.json @@ -0,0 +1,138 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sjName", + "functionName": "function588", + "function": { + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "someAzureMLEndpointURL", + "apiKey": "someApiKey==", + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "dac52a15-66be-4aa7-8a18-20c5409983df" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/functions/function588", + "name": "function588", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "someAzureMLEndpointURL", + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + } + } + } + }, + "200": { + "headers": { + "ETag": "dac52a15-66be-4aa7-8a18-20c5409983df" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/functions/function588", + "name": "function588", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearning/WebService", + "properties": { + "endpoint": "someAzureMLEndpointURL", + "inputs": { + "name": "input1", + "columnNames": [ + { + "name": "tweet", + "dataType": "string", + "mapTo": 0 + } + ] + }, + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 1000 + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_CSharp.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_CSharp.json new file mode 100644 index 000000000000..46b9b81dfa06 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_CSharp.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sjName", + "functionName": "function588", + "function": { + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/CLRUdf", + "properties": { + "dllPath": "ASAEdgeApplication2_CodeBehind", + "class": "ASAEdgeUDFDemo.Class1", + "method": "SquareFunction" + } + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "dac52a15-66be-4aa7-8a18-20c5409983df" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/functions/function588", + "name": "function588", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/CLRUdf", + "properties": { + "dllPath": "ASAEdgeApplication2_CodeBehind", + "class": "ASAEdgeUDFDemo.Class1", + "method": "SquareFunction" + } + } + } + } + } + }, + "200": { + "headers": { + "ETag": "dac52a15-66be-4aa7-8a18-20c5409983df" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/functions/function588", + "name": "function588", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/CLRUdf", + "properties": { + "dllPath": "ASAEdgeApplication2_CodeBehind", + "class": "ASAEdgeUDFDemo.Class1", + "method": "SquareFunction" + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_JavaScript.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_JavaScript.json new file mode 100644 index 000000000000..7cd4127718ef --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_JavaScript.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg1637", + "jobName": "sj8653", + "functionName": "function8197", + "function": { + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "Any" + } + ], + "output": { + "dataType": "Any" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/JavascriptUdf", + "properties": { + "script": "function (x, y) { return x + y; }" + } + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "07495b35-da28-4c28-a3ed-e0d75d0b6eff" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg1637/providers/Microsoft.StreamAnalytics/streamingjobs/sj8653/functions/function8197", + "name": "function8197", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "Any" + } + ], + "output": { + "dataType": "Any" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/JavascriptUdf", + "properties": { + "script": "function (x, y) { return x + y; }" + } + } + } + } + } + }, + "200": { + "headers": { + "ETag": "07495b35-da28-4c28-a3ed-e0d75d0b6eff" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg1637/providers/Microsoft.StreamAnalytics/streamingjobs/sj8653/functions/function8197", + "name": "function8197", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "Any" + } + ], + "output": { + "dataType": "Any" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/JavascriptUdf", + "properties": { + "script": "function (x, y) { return x + y; }" + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Delete.json new file mode 100644 index 000000000000..1074d7e85228 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg1637", + "jobName": "sj8653", + "functionName": "function8197" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Get_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Get_AzureML.json new file mode 100644 index 000000000000..157e3ba1ff56 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Get_AzureML.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg7", + "jobName": "sj9093", + "functionName": "function588" + }, + "responses": { + "200": { + "headers": { + "ETag": "dac52a15-66be-4aa7-8a18-20c5409983df" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg7/providers/Microsoft.StreamAnalytics/streamingjobs/sj9093/functions/function588", + "name": "function588", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearning/WebService", + "properties": { + "endpoint": "someAzureMLEndpointURL", + "inputs": { + "name": "input1", + "columnNames": [ + { + "name": "tweet", + "dataType": "string", + "mapTo": 0 + } + ] + }, + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 1000 + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Get_JavaScript.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Get_JavaScript.json new file mode 100644 index 000000000000..3527ff821ff8 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Get_JavaScript.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg1637", + "jobName": "sj8653", + "functionName": "function8197" + }, + "responses": { + "200": { + "headers": { + "ETag": "07495b35-da28-4c28-a3ed-e0d75d0b6eff" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg1637/providers/Microsoft.StreamAnalytics/streamingjobs/sj8653/functions/function8197", + "name": "function8197", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "Any" + } + ], + "output": { + "dataType": "Any" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/JavascriptUdf", + "properties": { + "script": "function (x, y) { return x + y; }" + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_ListByStreamingJob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_ListByStreamingJob.json new file mode 100644 index 000000000000..6167da2fdbf6 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_ListByStreamingJob.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg1637", + "jobName": "sj8653" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg1637/providers/Microsoft.StreamAnalytics/streamingjobs/sj8653/functions/function588", + "name": "function588", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearning/WebService", + "properties": { + "endpoint": "someAzureMLEndpointURL", + "inputs": { + "name": "input1", + "columnNames": [ + { + "name": "tweet", + "dataType": "string", + "mapTo": 0 + } + ] + }, + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 5000 + } + } + }, + "etag": "281cbf11-cd50-4a44-b833-cf170ce74748" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg1637/providers/Microsoft.StreamAnalytics/streamingjobs/sj8653/functions/function8197", + "name": "function8197", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "Any" + } + ], + "output": { + "dataType": "Any" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/JavascriptUdf", + "properties": { + "script": "function (a, b) { return a * b; }" + } + } + }, + "etag": "94a512d5-2f59-4e39-b9c8-bca4abd74b7e" + } + } + ] + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_RetrieveDefaultDefinition_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_RetrieveDefaultDefinition_AzureML.json new file mode 100644 index 000000000000..dbba2cfb93fc --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_RetrieveDefaultDefinition_AzureML.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg7", + "jobName": "sj9093", + "functionName": "function588", + "functionRetrieveDefaultDefinitionParameters": { + "bindingType": "Microsoft.MachineLearning/WebService", + "bindingRetrievalProperties": { + "executeEndpoint": "someAzureMLExecuteEndpointUrl", + "udfType": "Scalar" + } + } + }, + "responses": { + "200": { + "body": { + "name": "function588", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearning/WebService", + "properties": { + "endpoint": "someAzureMLExecuteEndpointUrl", + "inputs": { + "name": "input1", + "columnNames": [ + { + "name": "tweet", + "dataType": "string", + "mapTo": 0 + } + ] + }, + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 1000 + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Test_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Test_AzureML.json new file mode 100644 index 000000000000..320af08e57fa --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Test_AzureML.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg7", + "jobName": "sj9093", + "functionName": "function588" + }, + "responses": { + "200": { + "body": { + "status": "TestSucceeded" + } + }, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Test_JavaScript.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Test_JavaScript.json new file mode 100644 index 000000000000..81012ea0a0c3 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Test_JavaScript.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg1637", + "jobName": "sj8653", + "functionName": "function8197" + }, + "responses": { + "200": { + "body": { + "status": "TestFailed", + "error": { + "code": "BadRequest", + "message": "Test operation is not supported for function type: Microsoft.StreamAnalytics/JavascriptUdf" + } + } + }, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Update_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Update_AzureML.json new file mode 100644 index 000000000000..8d854a17b55d --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Update_AzureML.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg7", + "jobName": "sj9093", + "functionName": "function588", + "function": { + "properties": { + "type": "Scalar", + "properties": { + "binding": { + "type": "Microsoft.MachineLearning/WebService", + "properties": { + "batchSize": 5000 + } + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "281cbf11-cd50-4a44-b833-cf170ce74748" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg7/providers/Microsoft.StreamAnalytics/streamingjobs/sj9093/functions/function588", + "name": "function588", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearning/WebService", + "properties": { + "endpoint": "someAzureMLEndpointURL", + "inputs": { + "name": "input1", + "columnNames": [ + { + "name": "tweet", + "dataType": "string", + "mapTo": 0 + } + ] + }, + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 5000 + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Update_JavaScript.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Update_JavaScript.json new file mode 100644 index 000000000000..447600ee5d2f --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Update_JavaScript.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg1637", + "jobName": "sj8653", + "functionName": "function8197", + "function": { + "properties": { + "type": "Scalar", + "properties": { + "binding": { + "type": "Microsoft.StreamAnalytics/JavascriptUdf", + "properties": { + "script": "function (a, b) { return a * b; }" + } + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "94a512d5-2f59-4e39-b9c8-bca4abd74b7e" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg1637/providers/Microsoft.StreamAnalytics/streamingjobs/sj8653/functions/function8197", + "name": "function8197", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "Any" + } + ], + "output": { + "dataType": "Any" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/JavascriptUdf", + "properties": { + "script": "function (a, b) { return a * b; }" + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Reference_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Reference_Blob_CSV.json new file mode 100644 index 000000000000..246d26615fd8 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Reference_Blob_CSV.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg8440", + "jobName": "sj9597", + "inputName": "input7225", + "input": { + "properties": { + "type": "Reference", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName", + "accountKey": "someAccountKey==" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "c987701d-4039-47aa-a115-ad84f67d07c5" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg8440/providers/Microsoft.StreamAnalytics/streamingjobs/sj9597/inputs/input7225", + "name": "input7225", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Reference", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "c987701d-4039-47aa-a115-ad84f67d07c5" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg8440/providers/Microsoft.StreamAnalytics/streamingjobs/sj9597/inputs/input7225", + "name": "input7225", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Reference", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_Blob_CSV.json new file mode 100644 index 000000000000..5363e8b20c03 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_Blob_CSV.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg8161", + "jobName": "sj6695", + "inputName": "input8899", + "input": { + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName", + "accountKey": "someAccountKey==" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH", + "sourcePartitionCount": 16 + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "475074b8-c957-4b1f-a219-12b8399c3d4c" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg8161/providers/Microsoft.StreamAnalytics/streamingjobs/sj6695/inputs/input8899", + "name": "input8899", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "sourcePartitionCount": 16, + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "475074b8-c957-4b1f-a219-12b8399c3d4c" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg8161/providers/Microsoft.StreamAnalytics/streamingjobs/sj6695/inputs/input8899", + "name": "input8899", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "sourcePartitionCount": 16, + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_EventHub_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_EventHub_JSON.json new file mode 100644 index 000000000000..e5e0e01b3157 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_EventHub_JSON.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg3139", + "jobName": "sj197", + "inputName": "input7425", + "input": { + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey", + "sharedAccessPolicyKey": "someSharedAccessPolicyKey==", + "eventHubName": "sdkeventhub", + "consumerGroupName": "sdkconsumergroup" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "afd0d184-37e9-4370-9e55-32501bc4de3a" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3139/providers/Microsoft.StreamAnalytics/streamingjobs/sj197/inputs/input7425", + "name": "input7425", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "consumerGroupName": "sdkconsumergroup", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "afd0d184-37e9-4370-9e55-32501bc4de3a" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3139/providers/Microsoft.StreamAnalytics/streamingjobs/sj197/inputs/input7425", + "name": "input7425", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "consumerGroupName": "sdkconsumergroup", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_IoTHub_Avro.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_IoTHub_Avro.json new file mode 100644 index 000000000000..b25c3fa07941 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_IoTHub_Avro.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg3467", + "jobName": "sj9742", + "inputName": "input7970", + "input": { + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "iotHubNamespace": "iothub", + "sharedAccessPolicyName": "owner", + "sharedAccessPolicyKey": "sharedAccessPolicyKey=", + "consumerGroupName": "sdkconsumergroup", + "endpoint": "messages/events" + } + }, + "serialization": { + "type": "Avro" + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "bd8009b3-8165-4bd3-aad2-29a2b378dd14" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3467/providers/Microsoft.StreamAnalytics/streamingjobs/sj9742/inputs/input7970", + "name": "input7970", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "iotHubNamespace": "iothub", + "sharedAccessPolicyName": "owner", + "endpoint": "messages/events", + "consumerGroupName": "sdkconsumergroup" + } + }, + "serialization": { + "type": "Avro", + "properties": {} + } + } + } + }, + "200": { + "headers": { + "ETag": "bd8009b3-8165-4bd3-aad2-29a2b378dd14" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3467/providers/Microsoft.StreamAnalytics/streamingjobs/sj9742/inputs/input7970", + "name": "input7970", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "iotHubNamespace": "iothub", + "sharedAccessPolicyName": "owner", + "endpoint": "messages/events", + "consumerGroupName": "sdkconsumergroup" + } + }, + "serialization": { + "type": "Avro", + "properties": {} + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Delete.json new file mode 100644 index 000000000000..1b77c3612e93 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg8440", + "jobName": "sj9597", + "inputName": "input7225" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Reference_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Reference_Blob_CSV.json new file mode 100644 index 000000000000..3e4c0ea9def1 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Reference_Blob_CSV.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg8440", + "jobName": "sj9597", + "inputName": "input7225" + }, + "responses": { + "200": { + "headers": { + "ETag": "c987701d-4039-47aa-a115-ad84f67d07c5" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg8440/providers/Microsoft.StreamAnalytics/streamingjobs/sj9597/inputs/input7225", + "name": "input7225", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Reference", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_Blob_CSV.json new file mode 100644 index 000000000000..4423ed4ea48c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_Blob_CSV.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg8161", + "jobName": "sj6695", + "inputName": "input8899" + }, + "responses": { + "200": { + "headers": { + "ETag": "475074b8-c957-4b1f-a219-12b8399c3d4c" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg8161/providers/Microsoft.StreamAnalytics/streamingjobs/sj6695/inputs/input8899", + "name": "input8899", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "sourcePartitionCount": 16, + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_EventHub_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_EventHub_JSON.json new file mode 100644 index 000000000000..bca28f2db653 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_EventHub_JSON.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg3139", + "jobName": "sj197", + "inputName": "input7425" + }, + "responses": { + "200": { + "headers": { + "ETag": "afd0d184-37e9-4370-9e55-32501bc4de3a" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3139/providers/Microsoft.StreamAnalytics/streamingjobs/sj197/inputs/input7425", + "name": "input7425", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "consumerGroupName": "sdkconsumergroup", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_IoTHub_Avro.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_IoTHub_Avro.json new file mode 100644 index 000000000000..c430732e55ec --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_IoTHub_Avro.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg3467", + "jobName": "sj9742", + "inputName": "input7970" + }, + "responses": { + "200": { + "headers": { + "ETag": "bd8009b3-8165-4bd3-aad2-29a2b378dd14" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3467/providers/Microsoft.StreamAnalytics/streamingjobs/sj9742/inputs/input7970", + "name": "input7970", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "iotHubNamespace": "iothub", + "sharedAccessPolicyName": "owner", + "endpoint": "messages/events", + "consumerGroupName": "sdkconsumergroup" + } + }, + "serialization": { + "type": "Avro", + "properties": {} + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_ListByStreamingJob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_ListByStreamingJob.json new file mode 100644 index 000000000000..ecaffe1516e1 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_ListByStreamingJob.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg8440", + "jobName": "sj9597" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg8440/providers/Microsoft.StreamAnalytics/streamingjobs/sj9597/inputs/input7225", + "name": "input7225", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Reference", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "differentContainer", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + }, + "etag": "a4ceb697-1c8f-40c8-b951-fb5ee4757437" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg8440/providers/Microsoft.StreamAnalytics/streamingjobs/sj9597/inputs/input8899", + "name": "input8899", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "sourcePartitionCount": 32, + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + }, + "etag": "3b35d57c-02f4-4b41-8e1d-af02a86c2fa1" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg8440/providers/Microsoft.StreamAnalytics/streamingjobs/sj9597/inputs/input7425", + "name": "input7425", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "consumerGroupName": "differentConsumerGroupName", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Avro", + "properties": {} + }, + "etag": "7548f259-81b5-4ea7-b896-25c6717d98ba" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg8440/providers/Microsoft.StreamAnalytics/streamingjobs/sj9597/inputs/input7970", + "name": "input7970", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "iotHubNamespace": "iothub", + "sharedAccessPolicyName": "owner", + "endpoint": "messages/operationsMonitoringEvents", + "consumerGroupName": "sdkconsumergroup" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + }, + "etag": "e2d847e0-c95b-48ef-9e14-1afc1f2270cb" + } + } + ] + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_ListByStreamingJob_Diagnostics.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_ListByStreamingJob_Diagnostics.json new file mode 100644 index 000000000000..f123e7255f65 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_ListByStreamingJob_Diagnostics.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg3276", + "jobName": "sj7804", + "$select": "*" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/inputs/inputtest", + "name": "inputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "diagnostics": { + "conditions": [ + { + "since": "2017-05-11T04:38:42.4938687Z", + "code": "INP-3", + "message": "Could not deserialize the input event as Json. Some possible reasons: 1) Malformed events 2) Input source configured with incorrect serialization format" + } + ] + }, + "etag": "ca88f8fa-605b-4c7f-8695-46f5faa60cd0" + } + } + ] + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Test.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Test.json new file mode 100644 index 000000000000..68f33e88613e --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Test.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg8440", + "jobName": "sj9597", + "inputName": "input7225" + }, + "responses": { + "200": { + "body": { + "status": "TestSucceeded" + } + }, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Reference_Blob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Reference_Blob.json new file mode 100644 index 000000000000..7210a8588c06 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Reference_Blob.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg8440", + "jobName": "sj9597", + "inputName": "input7225", + "input": { + "properties": { + "type": "Reference", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "container": "differentContainer" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "a4ceb697-1c8f-40c8-b951-fb5ee4757437" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg8440/providers/Microsoft.StreamAnalytics/streamingjobs/sj9597/inputs/input7225", + "name": "input7225", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Reference", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "differentContainer", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_Blob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_Blob.json new file mode 100644 index 000000000000..3c1ef0fac9f6 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_Blob.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg8161", + "jobName": "sj6695", + "inputName": "input8899", + "input": { + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "sourcePartitionCount": 32 + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "3b35d57c-02f4-4b41-8e1d-af02a86c2fa1" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg8161/providers/Microsoft.StreamAnalytics/streamingjobs/sj6695/inputs/input8899", + "name": "input8899", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "sourcePartitionCount": 32, + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_EventHub.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_EventHub.json new file mode 100644 index 000000000000..a26bc6ebb359 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_EventHub.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg3139", + "jobName": "sj197", + "inputName": "input7425", + "input": { + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "consumerGroupName": "differentConsumerGroupName" + } + }, + "serialization": { + "type": "Avro" + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "7548f259-81b5-4ea7-b896-25c6717d98ba" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3139/providers/Microsoft.StreamAnalytics/streamingjobs/sj197/inputs/input7425", + "name": "input7425", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "consumerGroupName": "differentConsumerGroupName", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Avro", + "properties": {} + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_IoTHub.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_IoTHub.json new file mode 100644 index 000000000000..6fb30abb2a25 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_IoTHub.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg3467", + "jobName": "sj9742", + "inputName": "input7970", + "input": { + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "endpoint": "messages/operationsMonitoringEvents" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "e2d847e0-c95b-48ef-9e14-1afc1f2270cb" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3467/providers/Microsoft.StreamAnalytics/streamingjobs/sj9742/inputs/input7970", + "name": "input7970", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "iotHubNamespace": "iothub", + "sharedAccessPolicyName": "owner", + "endpoint": "messages/operationsMonitoringEvents", + "consumerGroupName": "sdkconsumergroup" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Operation_List.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Operation_List.json new file mode 100644 index 000000000000..442cff126fb4 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Operation_List.json @@ -0,0 +1,319 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.StreamAnalytics/locations/quotas/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Subscription Quota", + "operation": "Read Stream Analytics Subscription Quota", + "description": "Read Stream Analytics Subscription Quota" + } + }, + { + "name": "Microsoft.StreamAnalytics/operations/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Operations", + "operation": "Read Stream Analytics Operations", + "description": "Read Stream Analytics Operations" + } + }, + { + "name": "Microsoft.StreamAnalytics/Register/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Resource Provider", + "operation": "Register subscription with Stream Analytics Resource Provider", + "description": "Register subscription with Stream Analytics Resource Provider" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/Delete", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job", + "operation": "Delete Stream Analytics Job", + "description": "Delete Stream Analytics Job" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/functions/Delete", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Function", + "operation": "Delete Stream Analytics Job Function", + "description": "Delete Stream Analytics Job Function" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/functions/operationresults/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Function", + "operation": "Read operation results for Stream Analytics Job Function", + "description": "Read operation results for Stream Analytics Job Function" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/functions/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Function", + "operation": "Read Stream Analytics Job Function", + "description": "Read Stream Analytics Job Function" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/functions/RetrieveDefaultDefinition/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Function", + "operation": "Retrieve Default Definition of a Stream Analytics Job Function", + "description": "Retrieve Default Definition of a Stream Analytics Job Function" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/functions/Test/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Function", + "operation": "Test Stream Analytics Job Function", + "description": "Test Stream Analytics Job Function" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/functions/Write", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Function", + "operation": "Write Stream Analytics Job Function", + "description": "Write Stream Analytics Job Function" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/inputs/Delete", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Input", + "operation": "Delete Stream Analytics Job Input", + "description": "Delete Stream Analytics Job Input" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/inputs/operationresults/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Input", + "operation": "Read operation results for Stream Analytics Job Input", + "description": "Read operation results for Stream Analytics Job Input" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/inputs/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Input", + "operation": "Read Stream Analytics Job Input", + "description": "Read Stream Analytics Job Input" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/inputs/Sample/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Input", + "operation": "Sample Stream Analytics Job Input", + "description": "Sample Stream Analytics Job Input" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/inputs/Test/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Input", + "operation": "Test Stream Analytics Job Input", + "description": "Test Stream Analytics Job Input" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/inputs/Write", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Input", + "operation": "Write Stream Analytics Job Input", + "description": "Write Stream Analytics Job Input" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/metricdefinitions/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Metric Definitions", + "operation": "Read Metric Definitions", + "description": "Read Metric Definitions" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/operationresults/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job", + "operation": "Read operation results for Stream Analytics Job", + "description": "Read operation results for Stream Analytics Job" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/outputs/Delete", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Output", + "operation": "Delete Stream Analytics Job Output", + "description": "Delete Stream Analytics Job Output" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/outputs/operationresults/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Output", + "operation": "Read operation results for Stream Analytics Job Output", + "description": "Read operation results for Stream Analytics Job Output" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/outputs/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Output", + "operation": "Read Stream Analytics Job Output", + "description": "Read Stream Analytics Job Output" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/outputs/Test/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Output", + "operation": "Test Stream Analytics Job Output", + "description": "Test Stream Analytics Job Output" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/outputs/Write", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Output", + "operation": "Write Stream Analytics Job Output", + "description": "Write Stream Analytics Job Output" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "streamingjobs", + "operation": "Read diagnostic setting.", + "description": "Read diagnostic setting." + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "streamingjobs", + "operation": "Write diagnostic setting.", + "description": "Write diagnostic setting." + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/PublishEdgePackage/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job", + "operation": "Publish edge package for Stream Analytics Job", + "description": "Publish edge package for Stream Analytics Job" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job", + "operation": "Read Stream Analytics Job", + "description": "Read Stream Analytics Job" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/Scale/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job", + "operation": "Scale Stream Analytics Job", + "description": "Scale Stream Analytics Job" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/Start/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job", + "operation": "Start Stream Analytics Job", + "description": "Start Stream Analytics Job" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/Stop/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job", + "operation": "Stop Stream Analytics Job", + "description": "Stop Stream Analytics Job" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/transformations/Delete", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Transformation", + "operation": "Delete Stream Analytics Job Transformation", + "description": "Delete Stream Analytics Job Transformation" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/transformations/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Transformation", + "operation": "Read Stream Analytics Job Transformation", + "description": "Read Stream Analytics Job Transformation" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/transformations/Write", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Transformation", + "operation": "Write Stream Analytics Job Transformation", + "description": "Write Stream Analytics Job Transformation" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/Write", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job", + "operation": "Write Stream Analytics Job", + "description": "Write Stream Analytics Job" + } + } + ] + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureDataLakeStore_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureDataLakeStore_JSON.json new file mode 100644 index 000000000000..bfa5993ebd5c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureDataLakeStore_JSON.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6912", + "jobName": "sj3310", + "outputName": "output5195", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.DataLake/Accounts", + "properties": { + "accountName": "someaccount", + "tenantId": "cea4e98b-c798-49e7-8c40-4a2b3beb47dd", + "refreshToken": "someRefreshToken==", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "filePathPrefix": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "5472168f-7317-4241-8b75-0c8d9d0ea804" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6912/providers/Microsoft.StreamAnalytics/streamingjobs/sj3310/outputs/output5195", + "name": "output5195", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.DataLake/Accounts", + "properties": { + "accountName": "someaccount", + "tenantId": "cea4e98b-c798-49e7-8c40-4a2b3beb47dd", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "filePathPrefix": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "5472168f-7317-4241-8b75-0c8d9d0ea804" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6912/providers/Microsoft.StreamAnalytics/streamingjobs/sj3310/outputs/output5195", + "name": "output5195", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.DataLake/Accounts", + "properties": { + "accountName": "someaccount", + "tenantId": "cea4e98b-c798-49e7-8c40-4a2b3beb47dd", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "filePathPrefix": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureSQL.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureSQL.json new file mode 100644 index 000000000000..7aeb177e7067 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureSQL.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg2157", + "jobName": "sj6458", + "outputName": "output1755", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "someServer", + "database": "someDatabase", + "user": "", + "password": "somePassword", + "table": "someTable" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg2157/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output1755", + "name": "output1755", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "someServer", + "database": "someDatabase", + "table": "someTable", + "user": "someUser" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg2157/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output1755", + "name": "output1755", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "someServer", + "database": "someDatabase", + "table": "someTable", + "user": "someUser" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureTable.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureTable.json new file mode 100644 index 000000000000..ef5207bfee6a --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureTable.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg5176", + "jobName": "sj2790", + "outputName": "output958", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Storage/Table", + "properties": { + "accountName": "someAccountName", + "accountKey": "accountKey==", + "table": "samples", + "partitionKey": "partitionKey", + "rowKey": "rowKey", + "columnsToRemove": [ + "column1", + "column2" + ], + "batchSize": 25 + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "2409b6d1-c99c-405b-9a14-ea7833637038" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg5176/providers/Microsoft.StreamAnalytics/streamingjobs/sj2790/outputs/output958", + "name": "output958", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Table", + "properties": { + "accountName": "someAccountName", + "table": "samples", + "partitionKey": "partitionKey", + "rowKey": "rowKey", + "columnsToRemove": [ + "column1", + "column2" + ], + "batchSize": 25 + } + } + } + } + }, + "200": { + "headers": { + "ETag": "2409b6d1-c99c-405b-9a14-ea7833637038" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg5176/providers/Microsoft.StreamAnalytics/streamingjobs/sj2790/outputs/output958", + "name": "output958", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Table", + "properties": { + "accountName": "someAccountName", + "table": "samples", + "partitionKey": "partitionKey", + "rowKey": "rowKey", + "columnsToRemove": [ + "column1", + "column2" + ], + "batchSize": 25 + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_Blob_CSV.json new file mode 100644 index 000000000000..c9a16c7b12b6 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_Blob_CSV.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg5023", + "jobName": "sj900", + "outputName": "output1623", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName", + "accountKey": "accountKey==" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "5433fd97-d133-46e3-8588-5fe1f1599ee0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg5023/providers/Microsoft.StreamAnalytics/streamingjobs/sj900/outputs/output1623", + "name": "output1623", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "5433fd97-d133-46e3-8588-5fe1f1599ee0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg5023/providers/Microsoft.StreamAnalytics/streamingjobs/sj900/outputs/output1623", + "name": "output1623", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_DocumentDB.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_DocumentDB.json new file mode 100644 index 000000000000..f9aac728127f --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_DocumentDB.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg7983", + "jobName": "sj2331", + "outputName": "output3022", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Storage/DocumentDB", + "properties": { + "accountId": "someAccountId", + "accountKey": "accountKey==", + "database": "db01", + "collectionNamePattern": "collection", + "partitionKey": "key", + "documentId": "documentId" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg7983/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/DocumentDB", + "properties": { + "accountId": "someAccountId", + "database": "db01", + "collectionNamePattern": "collection", + "partitionKey": "key", + "documentId": "documentId" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg7983/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/DocumentDB", + "properties": { + "accountId": "someAccountId", + "database": "db01", + "collectionNamePattern": "collection", + "partitionKey": "key", + "documentId": "documentId" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_EventHub_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_EventHub_JSON.json new file mode 100644 index 000000000000..049f7b280cfa --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_EventHub_JSON.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6912", + "jobName": "sj3310", + "outputName": "output5195", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey", + "sharedAccessPolicyKey": "sharedAccessPolicyKey=", + "eventHubName": "sdkeventhub", + "partitionKey": "partitionKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "5472168f-7317-4241-8b75-0c8d9d0ea804" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6912/providers/Microsoft.StreamAnalytics/streamingjobs/sj3310/outputs/output5195", + "name": "output5195", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "partitionKey": "partitionKey", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "5472168f-7317-4241-8b75-0c8d9d0ea804" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6912/providers/Microsoft.StreamAnalytics/streamingjobs/sj3310/outputs/output5195", + "name": "output5195", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "partitionKey": "partitionKey", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_PowerBI.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_PowerBI.json new file mode 100644 index 000000000000..8d308b9b6f92 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_PowerBI.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg7983", + "jobName": "sj2331", + "outputName": "output3022", + "output": { + "properties": { + "datasource": { + "type": "PowerBI", + "properties": { + "dataset": "someDataset", + "table": "someTable", + "refreshToken": "someRefreshToken==", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "groupId": "ac40305e-3e8d-43ac-8161-c33799f43e95", + "groupName": "MyPowerBIGroup" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg7983/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "PowerBI", + "properties": { + "dataset": "someDataset", + "table": "someTable", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "groupId": "ac40305e-3e8d-43ac-8161-c33799f43e95", + "groupName": "MyPowerBIGroup" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg7983/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "PowerBI", + "properties": { + "dataset": "someDataset", + "table": "someTable", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "groupId": "ac40305e-3e8d-43ac-8161-c33799f43e95", + "groupName": "MyPowerBIGroup" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_ServiceBusQueue_Avro.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_ServiceBusQueue_Avro.json new file mode 100644 index 000000000000..c8ae9754f367 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_ServiceBusQueue_Avro.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg3410", + "jobName": "sj5095", + "outputName": "output3456", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Queue", + "properties": { + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey", + "sharedAccessPolicyKey": "sharedAccessPolicyKey=", + "queueName": "sdkqueue", + "propertyColumns": [ + "column1", + "column2" + ], + "systemPropertyColumns": { + "MessageId": "col3", + "PartitionKey": "col4" + } + } + }, + "serialization": { + "type": "Avro" + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "2f68c1ec-2080-43cb-93ec-4bcd3b7f9dbe" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3410/providers/Microsoft.StreamAnalytics/streamingjobs/sj5095/outputs/output3456", + "name": "output3456", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Queue", + "properties": { + "queueName": "sdkqueue", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Avro", + "properties": {} + } + } + } + }, + "200": { + "headers": { + "ETag": "2f68c1ec-2080-43cb-93ec-4bcd3b7f9dbe" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3410/providers/Microsoft.StreamAnalytics/streamingjobs/sj5095/outputs/output3456", + "name": "output3456", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Queue", + "properties": { + "queueName": "sdkqueue", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Avro", + "properties": {} + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_ServiceBusTopic_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_ServiceBusTopic_CSV.json new file mode 100644 index 000000000000..f24f697282ec --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_ServiceBusTopic_CSV.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6450", + "jobName": "sj7094", + "outputName": "output7886", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Topic", + "properties": { + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey", + "sharedAccessPolicyKey": "sharedAccessPolicyKey=", + "topicName": "sdktopic", + "propertyColumns": [ + "column1", + "column2" + ] + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "39259839-e581-4af4-bf68-302e6820e3a0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6450/providers/Microsoft.StreamAnalytics/streamingjobs/sj7094/outputs/output7886", + "name": "output7886", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Topic", + "properties": { + "topicName": "sdktopic", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "39259839-e581-4af4-bf68-302e6820e3a0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6450/providers/Microsoft.StreamAnalytics/streamingjobs/sj7094/outputs/output7886", + "name": "output7886", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Topic", + "properties": { + "topicName": "sdktopic", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Delete.json new file mode 100644 index 000000000000..6dd5dcf09699 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg2157", + "jobName": "sj6458", + "outputName": "output1755" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureDataLakeStore_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureDataLakeStore_JSON.json new file mode 100644 index 000000000000..98609fa92fc1 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureDataLakeStore_JSON.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6912", + "jobName": "sj3310", + "outputName": "output5195" + }, + "responses": { + "200": { + "headers": { + "ETag": "5472168f-7317-4241-8b75-0c8d9d0ea804" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6912/providers/Microsoft.StreamAnalytics/streamingjobs/sj3310/outputs/output5195", + "name": "output5195", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.DataLake/Accounts", + "properties": { + "accountName": "someaccount", + "tenantId": "cea4e98b-c798-49e7-8c40-4a2b3beb47dd", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "filePathPrefix": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureFunction.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureFunction.json new file mode 100644 index 000000000000..75f348b7fb39 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureFunction.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sjName", + "outputName": "output958" + }, + "responses": { + "200": { + "headers": { + "ETag": "2409b6d1-c99c-405b-9a14-ea7833637038" + }, + "body": { + "id": "/subscriptions/7f31cba8-b597-4129-b158-8f21a7395bd0/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/kunAll0908npm2/outputs/AzureFunction1", + "name": "AzureFunction1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.AzureFunction", + "properties": { + "functionAppName": "functionappforasaautomation", + "functionName": "HttpTrigger2", + "apiKey": null, + "maxBatchSize": 256, + "maxBatchCount": 100 + } + }, + "etag": "7b912929-346d-432e-9495-6972dbd63179" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureSQL.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureSQL.json new file mode 100644 index 000000000000..015c30665301 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureSQL.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg2157", + "jobName": "sj6458", + "outputName": "output1755" + }, + "responses": { + "200": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg2157/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output1755", + "name": "output1755", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "someServer", + "database": "someDatabase", + "table": "someTable", + "user": "someUser" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureTable.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureTable.json new file mode 100644 index 000000000000..418e85bd01e6 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureTable.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg5176", + "jobName": "sj2790", + "outputName": "output958" + }, + "responses": { + "200": { + "headers": { + "ETag": "2409b6d1-c99c-405b-9a14-ea7833637038" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg5176/providers/Microsoft.StreamAnalytics/streamingjobs/sj2790/outputs/output958", + "name": "output958", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Table", + "properties": { + "accountName": "someAccountName", + "table": "samples", + "partitionKey": "partitionKey", + "rowKey": "rowKey", + "columnsToRemove": [ + "column1", + "column2" + ], + "batchSize": 25 + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_Blob_CSV.json new file mode 100644 index 000000000000..15b71828f0d9 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_Blob_CSV.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg5023", + "jobName": "sj900", + "outputName": "output1623" + }, + "responses": { + "200": { + "headers": { + "ETag": "5433fd97-d133-46e3-8588-5fe1f1599ee0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg5023/providers/Microsoft.StreamAnalytics/streamingjobs/sj900/outputs/output1623", + "name": "output1623", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_DataWarehouse.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_DataWarehouse.json new file mode 100644 index 000000000000..e18b30233b6b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_DataWarehouse.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sjName", + "outputName": "output958" + }, + "responses": { + "200": { + "headers": { + "ETag": "2409b6d1-c99c-405b-9a14-ea7833637038" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/kunAll0908npm2/outputs/SynapseformerlySQLDW1", + "name": "SynapseformerlySQLDW1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/DataWarehouse", + "properties": { + "table": "test2", + "server": "asatestserver", + "database": "zhayaSQLpool", + "user": "tolladmin" + } + }, + "etag": "ce3fb956-0487-4168-af20-1133a59bdc6e" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_DocumentDB.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_DocumentDB.json new file mode 100644 index 000000000000..794cd4e6e194 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_DocumentDB.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg7983", + "jobName": "sj2331", + "outputName": "output3022" + }, + "responses": { + "200": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg7983/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/DocumentDB", + "properties": { + "accountId": "someAccountId", + "database": "db01", + "collectionNamePattern": "collection", + "partitionKey": "key", + "documentId": "documentId" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_EventHub_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_EventHub_JSON.json new file mode 100644 index 000000000000..574aff9f170c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_EventHub_JSON.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6912", + "jobName": "sj3310", + "outputName": "output5195" + }, + "responses": { + "200": { + "headers": { + "ETag": "5472168f-7317-4241-8b75-0c8d9d0ea804" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6912/providers/Microsoft.StreamAnalytics/streamingjobs/sj3310/outputs/output5195", + "name": "output5195", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "partitionKey": "partitionKey", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_PowerBI.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_PowerBI.json new file mode 100644 index 000000000000..86d089b9da1a --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_PowerBI.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg7983", + "jobName": "sj2331", + "outputName": "output3022" + }, + "responses": { + "200": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg7983/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "PowerBI", + "properties": { + "dataset": "someDataset", + "table": "someTable", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "groupId": "ac40305e-3e8d-43ac-8161-c33799f43e95", + "groupName": "MyPowerBIGroup" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_ServiceBusQueue_Avro.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_ServiceBusQueue_Avro.json new file mode 100644 index 000000000000..ab29340adc98 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_ServiceBusQueue_Avro.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg3410", + "jobName": "sj5095", + "outputName": "output3456" + }, + "responses": { + "200": { + "headers": { + "ETag": "2f68c1ec-2080-43cb-93ec-4bcd3b7f9dbe" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3410/providers/Microsoft.StreamAnalytics/streamingjobs/sj5095/outputs/output3456", + "name": "output3456", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Queue", + "properties": { + "queueName": "sdkqueue", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Avro", + "properties": {} + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_ServiceBusTopic_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_ServiceBusTopic_CSV.json new file mode 100644 index 000000000000..91f5fca3ddcb --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_ServiceBusTopic_CSV.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6450", + "jobName": "sj7094", + "outputName": "output7886" + }, + "responses": { + "200": { + "headers": { + "ETag": "39259839-e581-4af4-bf68-302e6820e3a0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6450/providers/Microsoft.StreamAnalytics/streamingjobs/sj7094/outputs/output7886", + "name": "output7886", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Topic", + "properties": { + "topicName": "sdktopic", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_ListByStreamingJob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_ListByStreamingJob.json new file mode 100644 index 000000000000..48b9ff01f9d8 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_ListByStreamingJob.json @@ -0,0 +1,226 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg2157", + "jobName": "sj6458" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg2157/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output1755", + "name": "output1755", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "someServer", + "database": "someDatabase", + "table": "differentTable", + "user": "someUser" + } + }, + "etag": "f489d6f3-fcd5-4bcb-b642-81e987ee16d6" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg2157/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output958", + "name": "output958", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Table", + "properties": { + "accountName": "someAccountName", + "table": "samples", + "partitionKey": "differentPartitionKey", + "rowKey": "rowKey", + "columnsToRemove": [ + "column1", + "column2" + ], + "batchSize": 25 + } + }, + "etag": "ea1d20bf-6cb3-40bc-bc7b-ec3a7fd5977e" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg2157/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output1623", + "name": "output1623", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "differentContainer", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + }, + "etag": "3a1b2023-79a9-4b33-93e8-f49fc3e573fe" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg2157/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/DocumentDB", + "properties": { + "accountId": "someAccountId", + "database": "db01", + "collectionNamePattern": "collection", + "partitionKey": "differentPartitionKey", + "documentId": "documentId" + } + }, + "etag": "7849c132-e995-4631-91c3-931606eec432" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg2157/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output5195", + "name": "output5195", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "partitionKey": "differentPartitionKey", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + }, + "etag": "5020de6b-5bb3-4b88-8606-f11fb3c46185" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg2157/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output3456", + "name": "output3456", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Queue", + "properties": { + "queueName": "differentQueueName", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + }, + "etag": "429adaec-a777-4750-8a39-8d0c931d801c" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg2157/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output7886", + "name": "output7886", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Topic", + "properties": { + "topicName": "differentTopicName", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + }, + "etag": "c1c2007f-45b2-419a-ae7d-4d2148998460" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg2157/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output3021", + "name": "output3021", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "PowerBI", + "properties": { + "dataset": "differentDataset", + "table": "someTable", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "groupId": "ac40305e-3e8d-43ac-8161-c33799f43e95", + "groupName": "MyPowerBIGroup" + } + }, + "etag": "4a492191-9672-4178-be10-043b9dbd4b9f" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg2157/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output5196", + "name": "output5196", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.DataLake/Accounts", + "properties": { + "accountName": "differentaccount", + "tenantId": "cea4e98b-c798-49e7-8c40-4a2b3beb47dd", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "filePathPrefix": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + }, + "etag": "39ab7642-8c1e-48ed-85eb-949068d68002" + } + } + ] + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Test.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Test.json new file mode 100644 index 000000000000..9c332793b2d8 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Test.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg2157", + "jobName": "sj6458", + "outputName": "output1755" + }, + "responses": { + "200": { + "body": { + "status": "TestSucceeded" + } + }, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureDataLakeStore.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureDataLakeStore.json new file mode 100644 index 000000000000..41dfff5bf958 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureDataLakeStore.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6912", + "jobName": "sj3310", + "outputName": "output5195", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.DataLake/Accounts", + "properties": { + "accountName": "differentaccount" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "5020de6b-5bb3-4b88-8606-f11fb3c46185" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6912/providers/Microsoft.StreamAnalytics/streamingjobs/sj3310/outputs/output5195", + "name": "output5195", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.DataLake/Accounts", + "properties": { + "accountName": "differentaccount", + "tenantId": "cea4e98b-c798-49e7-8c40-4a2b3beb47dd", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "filePathPrefix": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureSQL.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureSQL.json new file mode 100644 index 000000000000..5206cf1c27f4 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureSQL.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg2157", + "jobName": "sj6458", + "outputName": "output1755", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "table": "differentTable" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "f489d6f3-fcd5-4bcb-b642-81e987ee16d6" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg2157/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output1755", + "name": "output1755", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "someServer", + "database": "someDatabase", + "table": "differentTable", + "user": "someUser" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureTable.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureTable.json new file mode 100644 index 000000000000..d694e566de4d --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureTable.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg5176", + "jobName": "sj2790", + "outputName": "output958", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Storage/Table", + "properties": { + "partitionKey": "differentPartitionKey" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "ea1d20bf-6cb3-40bc-bc7b-ec3a7fd5977e" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg5176/providers/Microsoft.StreamAnalytics/streamingjobs/sj2790/outputs/output958", + "name": "output958", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Table", + "properties": { + "accountName": "someAccountName", + "table": "samples", + "partitionKey": "differentPartitionKey", + "rowKey": "rowKey", + "columnsToRemove": [ + "column1", + "column2" + ], + "batchSize": 25 + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_Blob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_Blob.json new file mode 100644 index 000000000000..e3fc42b0c87c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_Blob.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg5023", + "jobName": "sj900", + "outputName": "output1623", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "container": "differentContainer" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "3a1b2023-79a9-4b33-93e8-f49fc3e573fe" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg5023/providers/Microsoft.StreamAnalytics/streamingjobs/sj900/outputs/output1623", + "name": "output1623", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "differentContainer", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_DocumentDB.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_DocumentDB.json new file mode 100644 index 000000000000..98b8de350c4a --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_DocumentDB.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg7983", + "jobName": "sj2331", + "outputName": "output3022", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Storage/DocumentDB", + "properties": { + "partitionKey": "differentPartitionKey" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "7849c132-e995-4631-91c3-931606eec432" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg7983/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/DocumentDB", + "properties": { + "accountId": "someAccountId", + "database": "db01", + "collectionNamePattern": "collection", + "partitionKey": "differentPartitionKey", + "documentId": "documentId" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_EventHub.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_EventHub.json new file mode 100644 index 000000000000..78b423266cd1 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_EventHub.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6912", + "jobName": "sj3310", + "outputName": "output5195", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "partitionKey": "differentPartitionKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "5020de6b-5bb3-4b88-8606-f11fb3c46185" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6912/providers/Microsoft.StreamAnalytics/streamingjobs/sj3310/outputs/output5195", + "name": "output5195", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "partitionKey": "differentPartitionKey", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_PowerBI.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_PowerBI.json new file mode 100644 index 000000000000..05987cc9c4f1 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_PowerBI.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg7983", + "jobName": "sj2331", + "outputName": "output3022", + "output": { + "properties": { + "datasource": { + "type": "PowerBI", + "properties": { + "dataset": "differentDataset" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "7849c132-e995-4631-91c3-931606eec432" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg7983/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "PowerBI", + "properties": { + "dataset": "differentDataset", + "table": "someTable", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "groupId": "ac40305e-3e8d-43ac-8161-c33799f43e95", + "groupName": "MyPowerBIGroup" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_ServiceBusQueue.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_ServiceBusQueue.json new file mode 100644 index 000000000000..ea54a3839c3e --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_ServiceBusQueue.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg3410", + "jobName": "sj5095", + "outputName": "output3456", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Queue", + "properties": { + "queueName": "differentQueueName" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "429adaec-a777-4750-8a39-8d0c931d801c" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3410/providers/Microsoft.StreamAnalytics/streamingjobs/sj5095/outputs/output3456", + "name": "output3456", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Queue", + "properties": { + "queueName": "differentQueueName", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_ServiceBusTopic.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_ServiceBusTopic.json new file mode 100644 index 000000000000..86240021a89b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_ServiceBusTopic.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6450", + "jobName": "sj7094", + "outputName": "output7886", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Topic", + "properties": { + "topicName": "differentTopicName" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "c1c2007f-45b2-419a-ae7d-4d2148998460" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6450/providers/Microsoft.StreamAnalytics/streamingjobs/sj7094/outputs/output7886", + "name": "output7886", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Topic", + "properties": { + "topicName": "differentTopicName", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Create_CompleteJob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Create_CompleteJob.json new file mode 100644 index 000000000000..d9d63322ae59 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Create_CompleteJob.json @@ -0,0 +1,261 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg3276", + "jobName": "sj7804", + "streamingJob": { + "properties": { + "sku": { + "name": "Standard" + }, + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "compatibilityLevel": "1.0", + "inputs": [ + { + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "yourAccountName", + "accountKey": "yourAccountKey==" + } + ], + "container": "containerName", + "pathPattern": "" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + }, + "name": "inputtest" + } + ], + "transformation": { + "properties": { + "streamingUnits": 1, + "query": "Select Id, Name from inputtest" + }, + "name": "transformationtest" + }, + "outputs": [ + { + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "serverName", + "database": "databaseName", + "user": "", + "password": "userPassword", + "table": "tableName" + } + } + }, + "name": "outputtest" + } + ], + "functions": [] + }, + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "87551cc5-1290-4d08-afcd-cdaa92e5ade0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804", + "name": "sj7804", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "732e4b1d-94a7-43ae-8297-3ad04f1540b9", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:37:11.54Z", + "compatibilityLevel": "1.0", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/inputs/inputtest", + "name": "inputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "accountName" + } + ], + "container": "containerName", + "pathPattern": "" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "ca88f8fa-605b-4c7f-8695-46f5faa60cd0" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/transformations/transformationtest", + "name": "transformationtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 1, + "query": "Select Id, Name from inputtest", + "etag": "91d8fcbe-60b3-49c3-9f21-9942b95602b8" + } + }, + "functions": [], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/outputs/outputtest", + "name": "outputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "serverName", + "database": "databaseName", + "table": "tableName", + "user": "userName" + } + }, + "etag": "62097c3c-b503-41ff-a56f-196a9598ab90" + } + } + ] + } + } + }, + "200": { + "headers": { + "ETag": "87551cc5-1290-4d08-afcd-cdaa92e5ade0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804", + "name": "sj7804", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "732e4b1d-94a7-43ae-8297-3ad04f1540b9", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:37:11.54Z", + "compatibilityLevel": "1.0", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/inputs/inputtest", + "name": "inputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "accountName" + } + ], + "container": "containerName", + "pathPattern": "" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "ca88f8fa-605b-4c7f-8695-46f5faa60cd0" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/transformations/transformationtest", + "name": "transformationtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 1, + "query": "Select Id, Name from inputtest", + "etag": "91d8fcbe-60b3-49c3-9f21-9942b95602b8" + } + }, + "functions": [], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/outputs/outputtest", + "name": "outputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "serverName", + "database": "databaseName", + "table": "tableName", + "user": "userName" + } + }, + "etag": "62097c3c-b503-41ff-a56f-196a9598ab90" + } + } + ] + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Create_JobShell.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Create_JobShell.json new file mode 100644 index 000000000000..a511bb9cb1db --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Create_JobShell.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6936", + "jobName": "sj59", + "streamingJob": { + "properties": { + "sku": { + "name": "Standard" + }, + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 5, + "eventsLateArrivalMaxDelayInSeconds": 16, + "dataLocale": "en-US", + "compatibilityLevel": "1.0", + "inputs": [], + "outputs": [], + "functions": [] + }, + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "3e6872bc-c9d0-45b6-91b6-da66f1773056" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6936/providers/Microsoft.StreamAnalytics/streamingjobs/sj59", + "name": "sj59", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "d53ecc3c-fcb0-485d-9caf-25e20fcb2061", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 5, + "eventsLateArrivalMaxDelayInSeconds": 16, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:37:04.697Z", + "compatibilityLevel": "1.0", + "inputs": [], + "functions": [], + "outputs": [] + } + } + }, + "200": { + "headers": { + "ETag": "3e6872bc-c9d0-45b6-91b6-da66f1773056" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6936/providers/Microsoft.StreamAnalytics/streamingjobs/sj59", + "name": "sj59", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "d53ecc3c-fcb0-485d-9caf-25e20fcb2061", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 5, + "eventsLateArrivalMaxDelayInSeconds": 16, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:37:04.697Z", + "compatibilityLevel": "1.0", + "inputs": [], + "functions": [], + "outputs": [] + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Delete.json new file mode 100644 index 000000000000..dce6f8093aaa --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6936", + "jobName": "sj59" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Get_Expand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Get_Expand.json new file mode 100644 index 000000000000..6c053b6bf361 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Get_Expand.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg3276", + "jobName": "sj7804", + "$expand": "inputs,outputs,transformation,functions" + }, + "responses": { + "200": { + "headers": { + "ETag": "87551cc5-1290-4d08-afcd-cdaa92e5ade0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804", + "name": "sj7804", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "732e4b1d-94a7-43ae-8297-3ad04f1540b9", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:37:11.54Z", + "compatibilityLevel": "1.0", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/inputs/inputtest", + "name": "inputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "accountName" + } + ], + "container": "containerName", + "pathPattern": "" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "ca88f8fa-605b-4c7f-8695-46f5faa60cd0" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/transformations/transformationtest", + "name": "transformationtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 1, + "query": "Select Id, Name from inputtest", + "etag": "91d8fcbe-60b3-49c3-9f21-9942b95602b8" + } + }, + "functions": [], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/outputs/outputtest", + "name": "outputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "serverName", + "database": "databaseName", + "table": "tableName", + "user": "userName" + } + }, + "etag": "62097c3c-b503-41ff-a56f-196a9598ab90" + } + } + ] + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Get_NoExpand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Get_NoExpand.json new file mode 100644 index 000000000000..d1dd3c8eef79 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Get_NoExpand.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6936", + "jobName": "sj59" + }, + "responses": { + "200": { + "headers": { + "ETag": "3e6872bc-c9d0-45b6-91b6-da66f1773056" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6936/providers/Microsoft.StreamAnalytics/streamingjobs/sj59", + "name": "sj59", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "d53ecc3c-fcb0-485d-9caf-25e20fcb2061", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 5, + "eventsLateArrivalMaxDelayInSeconds": 16, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:37:04.697Z", + "compatibilityLevel": "1.0" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_ByResourceGroup_Expand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_ByResourceGroup_Expand.json new file mode 100644 index 000000000000..e0c4616535b0 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_ByResourceGroup_Expand.json @@ -0,0 +1,188 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg3276", + "$expand": "inputs,outputs,transformation,functions" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804", + "name": "sj7804", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "732e4b1d-94a7-43ae-8297-3ad04f1540b9", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:37:11.54Z", + "compatibilityLevel": "1.0", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/inputs/inputtest", + "name": "inputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "accountName" + } + ], + "container": "containerName", + "pathPattern": "" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "ca88f8fa-605b-4c7f-8695-46f5faa60cd0" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/transformations/transformationtest", + "name": "transformationtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 1, + "query": "Select Id, Name from inputtest", + "etag": "91d8fcbe-60b3-49c3-9f21-9942b95602b8" + } + }, + "functions": [], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/outputs/outputtest", + "name": "outputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "serverName", + "database": "databaseName", + "table": "tableName", + "user": "userName" + } + }, + "etag": "62097c3c-b503-41ff-a56f-196a9598ab90" + } + } + ], + "etag": "8081b2a3-dfe6-457f-8740-1a22d209bf8a" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7805", + "name": "sj7805", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "d8f4041a-0793-433e-a38d-5499d5332113", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:38:11.54Z", + "compatibilityLevel": "1.0", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/inputs/inputtest", + "name": "inputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "accountName" + } + ], + "container": "containerName", + "pathPattern": "" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "45dcf40f-88bb-4776-b5ca-7b10a607cb59" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/transformations/transformationtest", + "name": "transformationtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 1, + "query": "Select Id, Name from inputtest", + "etag": "288d95c0-204b-4c54-828f-f57aa6896b2a" + } + }, + "functions": [], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/outputs/outputtest", + "name": "outputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "serverName", + "database": "databaseName", + "table": "tableName", + "user": "userName" + } + }, + "etag": "b09606c8-1b0d-43c9-affb-fac0e18b9481" + } + } + ], + "etag": "5420059f-e5d7-47d4-be44-40816a4dca7e" + } + } + ] + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_ByResourceGroup_NoExpand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_ByResourceGroup_NoExpand.json new file mode 100644 index 000000000000..6d20fab383d5 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_ByResourceGroup_NoExpand.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6936" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6936/providers/Microsoft.StreamAnalytics/streamingjobs/sj59", + "name": "sj59", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "d53ecc3c-fcb0-485d-9caf-25e20fcb2061", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 21, + "eventsLateArrivalMaxDelayInSeconds": 13, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:37:04.697Z", + "compatibilityLevel": "1.0", + "etag": "3e6872bc-c9d0-45b6-91b6-da66f1773056" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6936/providers/Microsoft.StreamAnalytics/streamingjobs/sj69", + "name": "sj69", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "817b36cf-a161-4a9e-86f2-eb00b3566d88", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 5, + "eventsLateArrivalMaxDelayInSeconds": 6, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:38:04.697Z", + "compatibilityLevel": "1.0", + "etag": "99538949-a164-4e2f-a991-40303e86024f" + } + } + ] + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_BySubscription_Expand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_BySubscription_Expand.json new file mode 100644 index 000000000000..61848d645b6c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_BySubscription_Expand.json @@ -0,0 +1,187 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "$expand": "inputs,outputs,transformation,functions" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804", + "name": "sj7804", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "732e4b1d-94a7-43ae-8297-3ad04f1540b9", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:37:11.54Z", + "compatibilityLevel": "1.0", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/inputs/inputtest", + "name": "inputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "accountName" + } + ], + "container": "containerName", + "pathPattern": "" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "ca88f8fa-605b-4c7f-8695-46f5faa60cd0" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/transformations/transformationtest", + "name": "transformationtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 1, + "query": "Select Id, Name from inputtest", + "etag": "91d8fcbe-60b3-49c3-9f21-9942b95602b8" + } + }, + "functions": [], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/outputs/outputtest", + "name": "outputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "serverName", + "database": "databaseName", + "table": "tableName", + "user": "userName" + } + }, + "etag": "62097c3c-b503-41ff-a56f-196a9598ab90" + } + } + ], + "etag": "8081b2a3-dfe6-457f-8740-1a22d209bf8a" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7805", + "name": "sj7805", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "d8f4041a-0793-433e-a38d-5499d5332113", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:38:11.54Z", + "compatibilityLevel": "1.0", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7805/inputs/inputtest", + "name": "inputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "accountName" + } + ], + "container": "containerName", + "pathPattern": "" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "45dcf40f-88bb-4776-b5ca-7b10a607cb59" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7805/transformations/transformationtest", + "name": "transformationtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 1, + "query": "Select Id, Name from inputtest", + "etag": "288d95c0-204b-4c54-828f-f57aa6896b2a" + } + }, + "functions": [], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3276/providers/Microsoft.StreamAnalytics/streamingjobs/sj7805/outputs/outputtest", + "name": "outputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "serverName", + "database": "databaseName", + "table": "tableName", + "user": "userName" + } + }, + "etag": "b09606c8-1b0d-43c9-affb-fac0e18b9481" + } + } + ], + "etag": "5420059f-e5d7-47d4-be44-40816a4dca7e" + } + } + ] + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_BySubscription_NoExpand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_BySubscription_NoExpand.json new file mode 100644 index 000000000000..105953203391 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_BySubscription_NoExpand.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6936/providers/Microsoft.StreamAnalytics/streamingjobs/sj59", + "name": "sj59", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "d53ecc3c-fcb0-485d-9caf-25e20fcb2061", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 21, + "eventsLateArrivalMaxDelayInSeconds": 13, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:37:04.697Z", + "compatibilityLevel": "1.0", + "etag": "3e6872bc-c9d0-45b6-91b6-da66f1773056" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6936/providers/Microsoft.StreamAnalytics/streamingjobs/sj69", + "name": "sj69", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "817b36cf-a161-4a9e-86f2-eb00b3566d88", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 5, + "eventsLateArrivalMaxDelayInSeconds": 6, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:38:04.697Z", + "compatibilityLevel": "1.0", + "etag": "99538949-a164-4e2f-a991-40303e86024f" + } + } + ] + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Scale.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Scale.json new file mode 100644 index 000000000000..d8a9f92437c4 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Scale.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6936", + "jobName": "sj59", + "scaleJobParameters": { + "streamingUnits": 36 + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_CustomTime.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_CustomTime.json new file mode 100644 index 000000000000..99d6cc724b4b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_CustomTime.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6936", + "jobName": "sj59", + "startJobParameters": { + "outputStartMode": "CustomTime", + "outputStartTime": "2012-12-12T12:12:12Z" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_JobStartTime.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_JobStartTime.json new file mode 100644 index 000000000000..ee6b99edbdb8 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_JobStartTime.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6936", + "jobName": "sj59", + "startJobParameters": { + "outputStartMode": "JobStartTime" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_LastOutputEventTime.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_LastOutputEventTime.json new file mode 100644 index 000000000000..7f140640b826 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_LastOutputEventTime.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6936", + "jobName": "sj59", + "startJobParameters": { + "outputStartMode": "LastOutputEventTime" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Stop.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Stop.json new file mode 100644 index 000000000000..bc02eeacea95 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Stop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6936", + "jobName": "sj59" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Update.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Update.json new file mode 100644 index 000000000000..23773a5449c3 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Update.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg6936", + "jobName": "sj59", + "streamingJob": { + "properties": { + "eventsOutOfOrderMaxDelayInSeconds": 21, + "eventsLateArrivalMaxDelayInSeconds": 13 + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "3e6872bc-c9d0-45b6-91b6-da66f1773056" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg6936/providers/Microsoft.StreamAnalytics/streamingjobs/sj59", + "name": "sj59", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "d53ecc3c-fcb0-485d-9caf-25e20fcb2061", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 21, + "eventsLateArrivalMaxDelayInSeconds": 13, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:37:04.697Z", + "compatibilityLevel": "1.0" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_CompileQuery.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_CompileQuery.json new file mode 100644 index 000000000000..6a389438a862 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_CompileQuery.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "location": "West US", + "compileQuery": { + "query": "SELECT\r\n *\r\nINTO\r\n [output1]\r\nFROM\r\n [input1]", + "inputs": [ + { + "name": "input1", + "type": "Stream" + } + ], + "functions": [ + { + "name": "function1", + "type": "Scalar", + "bindingType": "Microsoft.StreamAnalytics/JavascriptUdf", + "inputs": [ + { + "dataType": "any", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "bigint" + } + } + ], + "jobType": "Cloud", + "compatibilityLevel": "1.2" + } + }, + "responses": { + "200": { + "body": { + "errors": [ + { + "message": "Query failed to compile.", + "isGlobal": true + } + ], + "inputs": [ + "inputtest" + ], + "outputs": [ + "outputtest" + ], + "functions": [ + "transformationtest" + ] + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_ListQuotas.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_ListQuotas.json new file mode 100644 index 000000000000..d49fbfbf8e3b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_ListQuotas.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "location": "West US" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/providers/Microsoft.StreamAnalytics/locations/West US/quotas/StreamingUnits", + "name": "StreamingUnits", + "type": "Microsoft.StreamAnalytics/quotas", + "properties": { + "maxCount": 200, + "currentCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_SampleInput.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_SampleInput.json new file mode 100644 index 000000000000..c5015cc6c2c5 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_SampleInput.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "location": "West US", + "sampleInput": { + "input": { + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName", + "accountKey": "someAccountKey==" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH", + "sourcePartitionCount": 16 + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + }, + "compatibilityLevel": "1.2", + "eventsUri": "http://myoutput.com", + "dataLocale": "en-US" + } + }, + "responses": { + "202": { + "body": { + "status": "ReadAllEventsInRange", + "diagnostics": [ + "" + ], + "eventsDownloadUrl": "http://myoutput.com", + "lastArrivalTime": "2020-12-05T14:35:00Z" + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestInput.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestInput.json new file mode 100644 index 000000000000..24bc6ca20419 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestInput.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "location": "West US", + "testInput": { + "input": { + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName", + "accountKey": "someAccountKey==" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH", + "sourcePartitionCount": 16 + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + } + }, + "responses": { + "202": { + "body": { + "status": "TestSuceeded" + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestOutput.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestOutput.json new file mode 100644 index 000000000000..d016882c7994 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestOutput.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "location": "West US", + "testOutput": { + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName", + "accountKey": "accountKey==" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + } + }, + "responses": { + "202": { + "body": { + "status": "TestSuceeded" + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestQuery.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestQuery.json new file mode 100644 index 000000000000..f4bce8a44f88 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestQuery.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "location": "West US", + "testQuery": { + "diagnostics": { + "writeUri": "http://myoutput.com", + "path": "/pathto/subdirectory" + }, + "streamingJob": { + "properties": { + "sku": { + "name": "Standard" + }, + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "compatibilityLevel": "1.0", + "inputs": [ + { + "properties": { + "type": "Stream", + "datasource": { + "type": "Raw", + "properties": { + "payloadUri": "http://myinput.com" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + }, + "name": "inputtest" + } + ], + "transformation": { + "properties": { + "streamingUnits": 1, + "query": "Select Id, Name from inputtest" + }, + "name": "transformationtest" + }, + "outputs": [ + { + "properties": { + "datasource": { + "type": "Raw", + "properties": { + "payloadUri": "http://myoutput.com" + } + }, + "serialization": { + "type": "Json" + } + }, + "name": "outputtest" + } + ], + "functions": [] + }, + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + } + } + } + }, + "responses": { + "200": { + "body": { + "status": "Success", + "outputUri": "http://myoutput.com" + } + }, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Create.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Create.json new file mode 100644 index 000000000000..fafa8edc580d --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Create.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg4423", + "jobName": "sj8374", + "transformationName": "transformation952", + "transformation": { + "properties": { + "streamingUnits": 6, + "query": "Select Id, Name from inputtest" + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg4423/providers/Microsoft.StreamAnalytics/streamingjobs/sj8374/transformations/transformation952", + "name": "transformation952", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 6, + "query": "Select Id, Name from inputtest" + } + } + }, + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg4423/providers/Microsoft.StreamAnalytics/streamingjobs/sj8374/transformations/transformation952", + "name": "transformation952", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 6, + "query": "Select Id, Name from inputtest" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Get.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Get.json new file mode 100644 index 000000000000..b7d742b19dad --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg4423", + "jobName": "sj8374", + "transformationName": "transformation952" + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg4423/providers/Microsoft.StreamAnalytics/streamingjobs/sj8374/transformations/transformation952", + "name": "transformation952", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 6, + "query": "Select Id, Name from inputtest" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Update.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Update.json new file mode 100644 index 000000000000..34b94c54310e --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Update.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg4423", + "jobName": "sj8374", + "transformationName": "transformation952", + "transformation": { + "properties": { + "query": "New query" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "fc6f7a9b-3eea-4589-8265-cc854ec25f5a" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg4423/providers/Microsoft.StreamAnalytics/streamingjobs/sj8374/transformations/transformation952", + "name": "transformation952", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 6, + "query": "New query" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/functions.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/functions.json new file mode 100644 index 000000000000..7dd88e823c7c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/functions.json @@ -0,0 +1,1051 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2021-10-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.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}": { + "put": { + "tags": [ + "Functions" + ], + "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 Service function": { + "$ref": "./examples/Function_Create_AzureMLService.json" + }, + "Create a CLRUdf function": { + "$ref": "./examples/Function_Create_CSharp.json" + } + }, + "parameters": [ + { + "name": "function", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Function" + }, + "description": "The definition of the function that will be used to create a new function or replace the existing one under the streaming job." + }, + { + "name": "If-Match", + "in": "header", + "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 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 function to be created, but to prevent updating an existing function. Other values will result in a 412 Pre-condition Failed response." + }, + { + "$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" + }, + { + "$ref": "#/parameters/FunctionNameParameter" + } + ], + "responses": { + "200": { + "description": "The function was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Function" + }, + "headers": { + "ETag": { + "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.", + "type": "string" + } + } + }, + "201": { + "description": "The function was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Function" + }, + "headers": { + "ETag": { + "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.", + "type": "string" + } + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + }, + "patch": { + "tags": [ + "Functions" + ], + "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" + } + }, + "parameters": [ + { + "name": "function", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Function" + }, + "description": "A function object. The properties specified here will overwrite the corresponding properties in the existing function (ie. Those properties will be updated). Any properties that are set to null here will mean that the corresponding property in the existing function will remain the same and not change as a result of this PATCH operation." + }, + { + "name": "If-Match", + "in": "header", + "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 overwriting concurrent changes." + }, + { + "$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" + }, + { + "$ref": "#/parameters/FunctionNameParameter" + } + ], + "responses": { + "200": { + "description": "The function was successfully updated.", + "schema": { + "$ref": "#/definitions/Function" + }, + "headers": { + "ETag": { + "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.", + "type": "string" + } + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + }, + "delete": { + "tags": [ + "Functions" + ], + "operationId": "Functions_Delete", + "description": "Deletes a function from the streaming job.", + "x-ms-examples": { + "Delete a function": { + "$ref": "./examples/Function_Delete.json" + } + }, + "parameters": [ + { + "$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" + }, + { + "$ref": "#/parameters/FunctionNameParameter" + } + ], + "responses": { + "200": { + "description": "The function was successfully deleted." + }, + "204": { + "description": "The function does not exist." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + }, + "get": { + "tags": [ + "Functions" + ], + "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" + } + }, + "parameters": [ + { + "$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" + }, + { + "$ref": "#/parameters/FunctionNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified function.", + "schema": { + "$ref": "#/definitions/Function" + }, + "headers": { + "ETag": { + "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.", + "type": "string" + } + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions": { + "get": { + "tags": [ + "Functions" + ], + "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" + } + }, + "parameters": [ + { + "name": "$select", + "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." + }, + { + "$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": { + "200": { + "description": "Successfully listed the functions under the specified streaming job.", + "schema": { + "$ref": "#/definitions/FunctionListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/test": { + "post": { + "tags": [ + "Functions" + ], + "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" + } + }, + "parameters": [ + { + "name": "function", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/Function" + }, + "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": "../../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" + }, + { + "$ref": "#/parameters/FunctionNameParameter" + } + ], + "responses": { + "200": { + "description": "The test operation completed successfully.", + "schema": { + "$ref": "./inputs.json#/definitions/ResourceTestStatus" + } + }, + "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": { + "post": { + "tags": [ + "Functions" + ], + "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" + } + }, + "parameters": [ + { + "name": "functionRetrieveDefaultDefinitionParameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/FunctionRetrieveDefaultDefinitionParameters" + }, + "description": "Parameters used to specify the type of function to retrieve the default definition for." + }, + { + "$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" + }, + { + "$ref": "#/parameters/FunctionNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the function's default definition.", + "schema": { + "$ref": "#/definitions/Function" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "Function": { + "description": "A function object, containing all information associated with the named function. All functions are contained under a streaming job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/FunctionProperties", + "description": "The properties that are associated with a function." + } + } + }, + "FunctionProperties": { + "description": "The properties that are associated with a function.", + "type": "object", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Indicates the type of function." + }, + "etag": { + "readOnly": true, + "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." + }, + "properties": { + "$ref": "#/definitions/FunctionConfiguration", + "x-ms-client-flatten": true + } + }, + "required": [ + "type" + ] + }, + "FunctionConfiguration": { + "type": "object", + "properties": { + "inputs": { + "type": "array", + "items": { + "$ref": "#/definitions/FunctionInput" + } + }, + "output": { + "$ref": "#/definitions/FunctionOutput" + }, + "binding": { + "$ref": "#/definitions/FunctionBinding" + } + } + }, + "ScalarFunctionProperties": { + "description": "The properties that are associated with a scalar function.", + "type": "object", + "x-ms-discriminator-value": "Scalar", + "allOf": [ + { + "$ref": "#/definitions/FunctionProperties" + } + ] + }, + "FunctionInput": { + "description": "Describes one input parameter of a function.", + "type": "object", + "properties": { + "dataType": { + "type": "string", + "description": "The (Azure Stream Analytics supported) data type of the function input parameter. A list of valid Azure Stream Analytics data types are described at https://msdn.microsoft.com/en-us/library/azure/dn835065.aspx" + }, + "isConfigurationParameter": { + "type": "boolean", + "description": "A flag indicating if the parameter is a configuration parameter. True if this input parameter is expected to be a constant. Default is false." + } + } + }, + "FunctionOutput": { + "description": "Describes the output of a function.", + "type": "object", + "properties": { + "dataType": { + "type": "string", + "description": "The (Azure Stream Analytics supported) data type of the function output. A list of valid Azure Stream Analytics data types are described at https://msdn.microsoft.com/en-us/library/azure/dn835065.aspx" + } + } + }, + "FunctionBinding": { + "description": "The physical binding of the function. For example, in the Azure Machine Learning web service’s case, this describes the endpoint.", + "type": "object", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Indicates the function binding type." + } + }, + "required": [ + "type" + ] + }, + "AzureMachineLearningStudioFunctionBinding": { + "description": "The binding to an Azure Machine Learning Studio.", + "type": "object", + "x-ms-discriminator-value": "Microsoft.MachineLearning/WebService", + "allOf": [ + { + "$ref": "#/definitions/FunctionBinding" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureMachineLearningStudioFunctionBindingProperties", + "description": "The binding properties associated with an Azure Machine learning Studio.", + "x-ms-client-flatten": true + } + } + }, + "AzureMachineLearningStudioFunctionBindingProperties": { + "description": "The binding properties associated with an Azure Machine learning Studio.", + "type": "object", + "properties": { + "endpoint": { + "type": "string", + "description": "The Request-Response execute endpoint of the Azure Machine Learning Studio. Find out more here: https://docs.microsoft.com/en-us/azure/machine-learning/machine-learning-consume-web-services#request-response-service-rrs" + }, + "apiKey": { + "type": "string", + "description": "The API key used to authenticate with Request-Response endpoint." + }, + "inputs": { + "$ref": "#/definitions/AzureMachineLearningStudioInputs", + "description": "The inputs for the Azure Machine Learning Studio endpoint." + }, + "outputs": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureMachineLearningStudioOutputColumn" + }, + "description": "A list of outputs from the Azure Machine Learning Studio endpoint execution." + }, + "batchSize": { + "type": "integer", + "format": "int32", + "description": "Number between 1 and 10000 describing maximum number of rows for every Azure ML RRS execute request. Default is 1000." + } + } + }, + "AzureMachineLearningStudioInputs": { + "description": "The inputs for the Azure Machine Learning Studio endpoint.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the input. This is the name provided while authoring the endpoint." + }, + "columnNames": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureMachineLearningStudioInputColumn" + }, + "description": "A list of input columns for the Azure Machine Learning Studio endpoint." + } + } + }, + "AzureMachineLearningStudioInputColumn": { + "description": "Describes an input column for the Azure Machine Learning Studio endpoint.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the input column." + }, + "dataType": { + "type": "string", + "description": "The (Azure Machine Learning supported) data type of the input column. A list of valid Azure Machine Learning data types are described at https://msdn.microsoft.com/en-us/library/azure/dn905923.aspx ." + }, + "mapTo": { + "type": "integer", + "format": "int32", + "description": "The zero based index of the function parameter this input maps to." + } + } + }, + "AzureMachineLearningStudioOutputColumn": { + "description": "Describes an output column for the Azure Machine Learning Studio endpoint.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the output column." + }, + "dataType": { + "type": "string", + "description": "The (Azure Machine Learning supported) data type of the output column. A list of valid Azure Machine Learning data types are described at https://msdn.microsoft.com/en-us/library/azure/dn905923.aspx ." + } + } + }, + "JavaScriptFunctionBinding": { + "description": "The binding to a JavaScript function.", + "type": "object", + "x-ms-discriminator-value": "Microsoft.StreamAnalytics/JavascriptUdf", + "allOf": [ + { + "$ref": "#/definitions/FunctionBinding" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JavaScriptFunctionBindingProperties", + "description": "The binding properties associated with a JavaScript function.", + "x-ms-client-flatten": true + } + } + }, + "JavaScriptFunctionBindingProperties": { + "description": "The binding properties associated with a JavaScript function.", + "type": "object", + "properties": { + "script": { + "type": "string", + "description": "The JavaScript code containing a single function definition. For example: 'function (x, y) { return x + y; }'" + } + } + }, + "CSharpFunctionBinding": { + "description": "The binding to a CSharp function.", + "type": "object", + "x-ms-discriminator-value": "Microsoft.StreamAnalytics/CLRUdf", + "allOf": [ + { + "$ref": "#/definitions/FunctionBinding" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CSharpFunctionBindingProperties", + "description": "The binding properties associated with a CSharp function.", + "x-ms-client-flatten": true + } + } + }, + "CSharpFunctionBindingProperties": { + "description": "The binding properties associated with a CSharp function.", + "type": "object", + "properties": { + "script": { + "type": "string", + "description": "The Csharp code containing a single function definition." + }, + "dllPath": { + "type": "string", + "description": "The Csharp code containing a single function definition." + }, + "class": { + "type": "string", + "description": "The Csharp code containing a single function definition." + }, + "method": { + "type": "string", + "description": "The Csharp code containing a single function definition." + } + } + }, + "FunctionRetrieveDefaultDefinitionParameters": { + "description": "Parameters used to specify the type of function to retrieve the default definition for.", + "type": "object", + "discriminator": "bindingType", + "properties": { + "bindingType": { + "type": "string", + "description": "Indicates the function binding type." + } + }, + "required": [ + "bindingType" + ] + }, + "AzureMachineLearningStudioFunctionRetrieveDefaultDefinitionParameters": { + "description": "The parameters needed to retrieve the default function definition for an Azure Machine Learning Studio function.", + "type": "object", + "x-ms-discriminator-value": "Microsoft.MachineLearning/WebService", + "allOf": [ + { + "$ref": "#/definitions/FunctionRetrieveDefaultDefinitionParameters" + } + ], + "properties": { + "bindingRetrievalProperties": { + "$ref": "#/definitions/AzureMachineLearningStudioFunctionBindingRetrievalProperties", + "description": "The binding retrieval properties associated with an Azure Machine learning Studio.", + "x-ms-client-flatten": true + } + } + }, + "AzureMachineLearningStudioFunctionBindingRetrievalProperties": { + "description": "The binding retrieval properties associated with an Azure Machine learning Studio.", + "type": "object", + "properties": { + "executeEndpoint": { + "type": "string", + "description": "The Request-Response execute endpoint of the Azure Machine Learning Studio. Find out more here: https://docs.microsoft.com/en-us/azure/machine-learning/machine-learning-consume-web-services#request-response-service-rrs" + }, + "udfType": { + "$ref": "#/definitions/UdfType", + "description": "The function type." + } + } + }, + "AzureMachineLearningServiceFunctionRetrieveDefaultDefinitionParameters": { + "description": "The parameters needed to retrieve the default function definition for an Azure Machine Learning web service function.", + "type": "object", + "x-ms-discriminator-value": "Microsoft.MachineLearningServices", + "allOf": [ + { + "$ref": "#/definitions/FunctionRetrieveDefaultDefinitionParameters" + } + ], + "properties": { + "bindingRetrievalProperties": { + "$ref": "#/definitions/AzureMachineLearningServiceFunctionBindingRetrievalProperties", + "description": "The binding retrieval properties associated with an Azure Machine learning web service.", + "x-ms-client-flatten": true + } + } + }, + "AzureMachineLearningServiceFunctionBindingRetrievalProperties": { + "description": "The binding retrieval properties associated with an Azure Machine learning web service.", + "type": "object", + "properties": { + "executeEndpoint": { + "type": "string", + "description": "The Request-Response execute endpoint of the Azure Machine Learning web service." + }, + "udfType": { + "$ref": "#/definitions/UdfType", + "description": "The function type." + } + } + }, + "JavaScriptFunctionRetrieveDefaultDefinitionParameters": { + "description": "The parameters needed to retrieve the default function definition for a JavaScript function.", + "type": "object", + "x-ms-discriminator-value": "Microsoft.StreamAnalytics/JavascriptUdf", + "allOf": [ + { + "$ref": "#/definitions/FunctionRetrieveDefaultDefinitionParameters" + } + ], + "properties": { + "bindingRetrievalProperties": { + "$ref": "#/definitions/JavaScriptFunctionBindingRetrievalProperties", + "description": "The binding retrieval properties associated with a JavaScript function.", + "x-ms-client-flatten": true + } + } + }, + "JavaScriptFunctionBindingRetrievalProperties": { + "description": "The binding retrieval properties associated with a JavaScript function.", + "type": "object", + "properties": { + "script": { + "type": "string", + "description": "The JavaScript code containing a single function definition. For example: 'function (x, y) { return x + y; }'." + }, + "udfType": { + "$ref": "#/definitions/UdfType", + "description": "The function type." + } + } + }, + "CSharpFunctionRetrieveDefaultDefinitionParameters": { + "description": "The parameters needed to retrieve the default function definition for a CSharp function.", + "type": "object", + "x-ms-discriminator-value": "Microsoft.StreamAnalytics/CLRUdf", + "allOf": [ + { + "$ref": "#/definitions/FunctionRetrieveDefaultDefinitionParameters" + } + ], + "properties": { + "bindingRetrievalProperties": { + "$ref": "#/definitions/CSharpFunctionBindingRetrievalProperties", + "description": "The binding retrieval properties associated with a CSharp function.", + "x-ms-client-flatten": true + } + } + }, + "CSharpFunctionBindingRetrievalProperties": { + "description": "The binding retrieval properties associated with a CSharp function.", + "type": "object", + "properties": { + "script": { + "type": "string", + "description": "The CSharp code containing a single function definition." + }, + "udfType": { + "$ref": "#/definitions/UdfType", + "description": "The function type." + } + } + }, + "AzureMachineLearningServiceFunctionBinding": { + "description": "The binding to an Azure Machine Learning web service.", + "type": "object", + "x-ms-discriminator-value": "Microsoft.MachineLearningServices", + "allOf": [ + { + "$ref": "#/definitions/FunctionBinding" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureMachineLearningServiceFunctionBindingProperties", + "description": "The binding properties associated with an Azure Machine learning web service.", + "x-ms-client-flatten": true + } + } + }, + "AzureMachineLearningServiceFunctionBindingProperties": { + "description": "The binding properties associated with an Azure Machine learning web service.", + "type": "object", + "properties": { + "endpoint": { + "type": "string", + "description": "The Request-Response execute endpoint of the Azure Machine Learning web service." + }, + "apiKey": { + "type": "string", + "description": "The API key used to authenticate with Request-Response endpoint." + }, + "inputs": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureMachineLearningServiceInputColumn" + }, + "description": "The inputs for the Azure Machine Learning web service endpoint." + }, + "outputs": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureMachineLearningServiceOutputColumn" + }, + "description": "A list of outputs from the Azure Machine Learning web service endpoint execution." + }, + "batchSize": { + "type": "integer", + "format": "int32", + "description": "Number between 1 and 10000 describing maximum number of rows for every Azure ML RRS execute request. Default is 1000." + }, + "numberOfParallelRequests": { + "type": "integer", + "format": "int32", + "description": "The number of parallel requests that will be sent per partition of your job to the machine learning service. Default is 1." + } + } + }, + "AzureMachineLearningServiceInputs": { + "description": "The inputs for the Azure Machine Learning web service endpoint.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the input. This is the name provided while authoring the endpoint." + }, + "columnNames": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureMachineLearningServiceInputColumn" + }, + "description": "A list of input columns for the Azure Machine Learning web service endpoint." + } + } + }, + "AzureMachineLearningServiceInputColumn": { + "description": "Describes an input column for the Azure Machine Learning web service endpoint.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the input column." + }, + "dataType": { + "type": "string", + "description": "The (Azure Machine Learning supported) data type of the input column." + }, + "mapTo": { + "type": "integer", + "format": "int32", + "description": "The zero based index of the function parameter this input maps to." + } + } + }, + "AzureMachineLearningServiceOutputColumn": { + "description": "Describes an output column for the Azure Machine Learning web service endpoint.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the output column." + }, + "dataType": { + "type": "string", + "description": "The (Azure Machine Learning supported) data type of the output column." + }, + "mapTo": { + "type": "integer", + "format": "int32", + "description": "The zero based index of the function parameter this input maps to." + } + } + }, + "FunctionListResult": { + "description": "Object containing a list of functions under a streaming job.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Function" + }, + "readOnly": true, + "description": "A list of functions under a streaming job. Populated by a 'List' operation." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The link (url) to the next page of results." + } + } + }, + "UdfType": { + "type": "string", + "description": "The function type.", + "enum": [ + "Scalar" + ], + "x-ms-enum": { + "name": "UdfType", + "modelAsString": false + } + }, + "SubResource": { + "description": "The base sub-resource model definition.", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "x-ms-azure-resource": true + }, + "AggregateFunctionProperties": { + "description": "The properties that are associated with an aggregate function.", + "type": "object", + "x-ms-discriminator-value": "Aggregate", + "allOf": [ + { + "$ref": "#/definitions/FunctionProperties" + } + ] + } + }, + "parameters": { + "FunctionNameParameter": { + "name": "functionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the function.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/inputs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/inputs.json new file mode 100644 index 000000000000..1c6c35011960 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/inputs.json @@ -0,0 +1,1225 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2021-10-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.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}": { + "put": { + "tags": [ + "Inputs" + ], + "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 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": [ + { + "name": "input", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Input" + }, + "description": "The definition of the input that will be used to create a new input or replace the existing one under the streaming job." + }, + { + "name": "If-Match", + "in": "header", + "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 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 input to be created, but to prevent updating an existing input. Other values will result in a 412 Pre-condition Failed response." + }, + { + "$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" + }, + { + "$ref": "#/parameters/InputNameParameter" + } + ], + "responses": { + "200": { + "description": "The input was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Input" + }, + "headers": { + "ETag": { + "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.", + "type": "string" + } + } + }, + "201": { + "description": "The input was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Input" + }, + "headers": { + "ETag": { + "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.", + "type": "string" + } + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + }, + "patch": { + "tags": [ + "Inputs" + ], + "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" + } + }, + "parameters": [ + { + "name": "input", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Input" + }, + "description": "An Input object. The properties specified here will overwrite the corresponding properties in the existing input (ie. Those properties will be updated). Any properties that are set to null here will mean that the corresponding property in the existing input will remain the same and not change as a result of this PATCH operation." + }, + { + "name": "If-Match", + "in": "header", + "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 overwriting concurrent changes." + }, + { + "$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" + }, + { + "$ref": "#/parameters/InputNameParameter" + } + ], + "responses": { + "200": { + "description": "The input was successfully updated.", + "schema": { + "$ref": "#/definitions/Input" + }, + "headers": { + "ETag": { + "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.", + "type": "string" + } + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + }, + "delete": { + "tags": [ + "Inputs" + ], + "operationId": "Inputs_Delete", + "description": "Deletes an input from the streaming job.", + "x-ms-examples": { + "Delete an input": { + "$ref": "./examples/Input_Delete.json" + } + }, + "parameters": [ + { + "$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" + }, + { + "$ref": "#/parameters/InputNameParameter" + } + ], + "responses": { + "200": { + "description": "The input was successfully deleted." + }, + "204": { + "description": "The input does not exist." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + }, + "get": { + "tags": [ + "Inputs" + ], + "operationId": "Inputs_Get", + "description": "Gets details about the specified input.", + "x-ms-examples": { + "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": "../../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" + }, + { + "$ref": "#/parameters/InputNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified input.", + "schema": { + "$ref": "#/definitions/Input" + }, + "headers": { + "ETag": { + "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.", + "type": "string" + } + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs": { + "get": { + "tags": [ + "Inputs" + ], + "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" + } + }, + "parameters": [ + { + "name": "$select", + "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." + }, + { + "$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": { + "200": { + "description": "Successfully listed the inputs under the specified streaming job.", + "schema": { + "$ref": "#/definitions/InputListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}/test": { + "post": { + "tags": [ + "Inputs" + ], + "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" + } + }, + "parameters": [ + { + "name": "input", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/Input" + }, + "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": "../../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" + }, + { + "$ref": "#/parameters/InputNameParameter" + } + ], + "responses": { + "200": { + "description": "The test operation completed successfully.", + "schema": { + "$ref": "#/definitions/ResourceTestStatus" + } + }, + "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 + } + } + }, + "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": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/InputProperties", + "description": "The properties that are associated with an input. Required on PUT (CreateOrReplace) requests." + } + } + }, + "InputProperties": { + "type": "object", + "description": "The properties that are associated with an input.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Indicates whether the input is a source of reference data or stream data. Required on PUT (CreateOrReplace) requests." + }, + "serialization": { + "$ref": "#/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." + }, + "diagnostics": { + "readOnly": true, + "$ref": "#/definitions/Diagnostics", + "description": "Describes conditions applicable to the Input, Output, or the job overall, that warrant customer attention." + }, + "etag": { + "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": [ + { + "$ref": "#/definitions/InputProperties" + } + ], + "properties": { + "datasource": { + "$ref": "#/definitions/StreamInputDataSource", + "description": "Describes an input data source that contains stream data. Required on PUT (CreateOrReplace) requests." + } + } + }, + "ReferenceInputProperties": { + "type": "object", + "description": "The properties that are associated with an input containing reference data.", + "x-ms-discriminator-value": "Reference", + "allOf": [ + { + "$ref": "#/definitions/InputProperties" + } + ], + "properties": { + "datasource": { + "$ref": "#/definitions/ReferenceInputDataSource", + "description": "Describes an input data source that contains reference data. Required on PUT (CreateOrReplace) requests." + } + } + }, + "StreamInputDataSource": { + "type": "object", + "description": "Describes an input data source that contains stream data.", + "discriminator": "type", + "properties": { + "type": { + "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": [ + { + "$ref": "#/definitions/StreamInputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BlobStreamInputDataSourceProperties", + "description": "The properties that are associated with a blob input containing stream data. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "BlobStreamInputDataSourceProperties": { + "type": "object", + "description": "The properties that are associated with a blob input containing stream data.", + "allOf": [ + { + "$ref": "#/definitions/BlobDataSourceProperties" + } + ], + "properties": { + "sourcePartitionCount": { + "type": "integer", + "format": "int32", + "description": "The partition count of the blob input data source. Range 1 - 256." + } + } + }, + "EventHubStreamInputDataSource": { + "type": "object", + "description": "Describes an Event Hub input data source that contains stream data.", + "x-ms-discriminator-value": "Microsoft.ServiceBus/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 + } + } + }, + "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": [ + { + "$ref": "#/definitions/EventHubDataSourceProperties" + } + ], + "properties": { + "consumerGroupName": { + "type": "string", + "description": "The name of an Event Hub Consumer Group that should be used to read events from the Event Hub. Specifying distinct consumer group names for multiple inputs allows each of those inputs to receive the same events from the Event Hub. If not specified, the input uses the Event Hub’s default consumer group." + } + } + }, + "IoTHubStreamInputDataSource": { + "type": "object", + "description": "Describes an IoT Hub input data source that contains stream data.", + "x-ms-discriminator-value": "Microsoft.Devices/IotHubs", + "allOf": [ + { + "$ref": "#/definitions/StreamInputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/IoTHubStreamInputDataSourceProperties", + "description": "The properties that are associated with an IoT Hub input containing stream data. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "IoTHubStreamInputDataSourceProperties": { + "type": "object", + "description": "The properties that are associated with a IoT Hub input containing stream data.", + "properties": { + "iotHubNamespace": { + "type": "string", + "description": "The name or the URI of the IoT Hub. Required on PUT (CreateOrReplace) requests." + }, + "sharedAccessPolicyName": { + "type": "string", + "description": "The shared access policy name for the IoT Hub. This policy must contain at least the Service connect permission. Required on PUT (CreateOrReplace) requests." + }, + "sharedAccessPolicyKey": { + "type": "string", + "description": "The shared access policy key for the specified shared access policy. Required on PUT (CreateOrReplace) requests.", + "x-ms-secret": true + }, + "consumerGroupName": { + "type": "string", + "description": "The name of an IoT Hub Consumer Group that should be used to read events from the IoT Hub. If not specified, the input uses the Iot Hub’s default consumer group." + }, + "endpoint": { + "type": "string", + "description": "The IoT Hub endpoint to connect to (ie. messages/events, messages/operationsMonitoringEvents, etc.)." + } + } + }, + "RawStreamInputDataSource": { + "description": "Describes a raw input data source that contains stream data. This data source type is only applicable/usable when using the query testing API. You cannot create a job with this data source type or add an input of this data source type to an existing job.", + "type": "object", + "x-ms-discriminator-value": "Raw", + "allOf": [ + { + "$ref": "#/definitions/StreamInputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RawInputDatasourceProperties", + "description": "The properties that are associated with a raw input. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "ReferenceInputDataSource": { + "type": "object", + "description": "Describes an input data source that contains reference data.", + "discriminator": "type", + "properties": { + "type": { + "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": [ + { + "$ref": "#/definitions/ReferenceInputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BlobReferenceInputDataSourceProperties", + "description": "The properties that are associated with a blob input containing reference data. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "BlobReferenceInputDataSourceProperties": { + "type": "object", + "description": "The properties that are associated with a blob input containing reference data.", + "allOf": [ + { + "$ref": "#/definitions/BlobDataSourceProperties" + } + ], + "properties": {} + }, + "RawReferenceInputDataSource": { + "description": "Describes a raw input data source that contains reference data. This data source type is only applicable/usable when using the query testing API. You cannot create a job with this data source type or add an input of this data source type to an existing job.", + "type": "object", + "x-ms-discriminator-value": "Raw", + "allOf": [ + { + "$ref": "#/definitions/ReferenceInputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RawInputDatasourceProperties", + "description": "The properties that are associated with a raw input containing reference data. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "BlobDataSourceProperties": { + "type": "object", + "description": "The properties that are associated with a blob data source.", + "properties": { + "storageAccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccount" + }, + "description": "A list of one or more Azure Storage accounts. Required on PUT (CreateOrReplace) requests." + }, + "container": { + "type": "string", + "description": "The name of a container within the associated Storage account. This container contains either the blob(s) to be read from or written to. Required on PUT (CreateOrReplace) requests." + }, + "pathPattern": { + "type": "string", + "description": "The blob path pattern. Not a regular expression. It represents a pattern against which blob names will be matched to determine whether or not they should be included as input or output to the job. See https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input or https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output for a more detailed explanation and example." + }, + "dateFormat": { + "type": "string", + "description": "The date format. Wherever {date} appears in pathPattern, the value of this property is used as the date format instead." + }, + "timeFormat": { + "type": "string", + "description": "The time format. Wherever {time} appears in pathPattern, the value of this property is used as the time format instead." + } + } + }, + "RawInputDatasourceProperties": { + "description": "The properties that are associated with a raw input.", + "type": "object", + "properties": { + "payload": { + "description": "The JSON serialized content of the input data. Either payload or payloadUri must be set, but not both. ", + "type": "string" + }, + "payloadUri": { + "description": "The SAS URL to a blob containing the JSON serialized content of the input data. Either payload or payloadUri must be set, but not both.", + "type": "string" + } + } + }, + "StorageAccount": { + "type": "object", + "description": "The properties that are associated with an Azure Storage account", + "properties": { + "accountName": { + "type": "string", + "description": "The name of the Azure Storage account. Required on PUT (CreateOrReplace) requests." + }, + "accountKey": { + "type": "string", + "description": "The account key for the Azure Storage account. Required on PUT (CreateOrReplace) requests.", + "x-ms-secret": true + } + } + }, + "ServiceBusDataSourceProperties": { + "type": "object", + "description": "The common properties that are associated with Service Bus data sources (Queues, Topics, Event Hubs, etc.).", + "properties": { + "serviceBusNamespace": { + "type": "string", + "description": "The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc. Required on PUT (CreateOrReplace) requests." + }, + "sharedAccessPolicyName": { + "type": "string", + "description": "The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc. Required on PUT (CreateOrReplace) requests." + }, + "sharedAccessPolicyKey": { + "type": "string", + "description": "The shared access policy key for the specified shared access policy. Required on PUT (CreateOrReplace) requests.", + "x-ms-secret": true + }, + "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": [ + { + "$ref": "#/definitions/ServiceBusDataSourceProperties" + } + ], + "properties": { + "eventHubName": { + "type": "string", + "description": "The name of the Event Hub. Required on PUT (CreateOrReplace) requests." + } + } + }, + "Diagnostics": { + "type": "object", + "description": "Describes conditions applicable to the Input, Output, or the job overall, that warrant customer attention.", + "properties": { + "conditions": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DiagnosticCondition" + }, + "description": "A collection of zero or more conditions applicable to the resource, or to the job overall, that warrant customer attention." + } + } + }, + "DiagnosticCondition": { + "type": "object", + "description": "Condition applicable to the resource, or to the job overall, that warrant customer attention.", + "properties": { + "since": { + "readOnly": true, + "type": "string", + "description": "The UTC timestamp of when the condition started. Customers should be able to find a corresponding event in the ops log around this time." + }, + "code": { + "readOnly": true, + "type": "string", + "description": "The opaque diagnostic code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The human-readable message describing the condition in detail. Localized in the Accept-Language of the client request." + } + } + }, + "InputListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Input" + }, + "readOnly": true, + "description": "A list of inputs under a streaming job. Populated by a 'List' operation." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The link (url) to the next page of results." + } + }, + "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": { + "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", + "CustomClr", + "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": {} + }, + "CustomClrSerialization": { + "description": "Describes how data from an input is serialized or how data is serialized when written to an output in custom format.", + "type": "object", + "x-ms-discriminator-value": "CustomClr", + "allOf": [ + { + "$ref": "#/definitions/Serialization" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CustomClrSerializationProperties", + "description": "The properties that are associated with the CustomClr serialization type. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "CustomClrSerializationProperties": { + "description": "The properties that are associated with the CustomClr serialization type.", + "type": "object", + "properties": { + "serializationDllPath": { + "type": "string", + "description": "The serialization library path." + }, + "serializationClassName": { + "type": "string", + "description": "The serialization class name." + } + } + }, + "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": [ + { + "$ref": "#/definitions/Serialization" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CsvSerializationProperties", + "description": "The properties that are associated with the CSV serialization type. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "CsvSerializationProperties": { + "type": "object", + "description": "The properties that are associated with the CSV serialization type.", + "properties": { + "fieldDelimiter": { + "type": "string", + "description": "Specifies the delimiter that will be used to separate comma-separated value (CSV) records. See https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input or https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output for a list of supported values. Required on PUT (CreateOrReplace) requests." + }, + "encoding": { + "$ref": "#/definitions/Encoding", + "description": "Specifies the encoding of the incoming data in the case of input and the encoding of outgoing data in the case of output. Required on PUT (CreateOrReplace) requests." + } + } + }, + "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": [ + { + "$ref": "#/definitions/Serialization" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JsonSerializationProperties", + "description": "The properties that are associated with the JSON serialization type. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "JsonSerializationProperties": { + "type": "object", + "description": "The properties that are associated with the JSON serialization type.", + "properties": { + "encoding": { + "$ref": "#/definitions/Encoding", + "description": "Specifies the encoding of the incoming data in the case of input and the encoding of outgoing data in the case of output. Required on PUT (CreateOrReplace) requests." + }, + "format": { + "$ref": "#/definitions/JsonOutputSerializationFormat", + "description": "This property only applies to JSON serialization of outputs only. It is not applicable to inputs. This property specifies the format of the JSON the output will be written in. The currently supported values are 'lineSeparated' indicating the output will be formatted by having each JSON object separated by a new line and 'array' indicating the output will be formatted as an array of JSON objects. Default value is 'lineSeparated' if left null." + } + } + }, + "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": [ + { + "$ref": "#/definitions/Serialization" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AvroSerializationProperties", + "description": "The properties that are associated with the Avro serialization type. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "AvroSerializationProperties": { + "type": "object", + "description": "The properties that are associated with the Avro serialization type.", + "properties": {} + }, + "Encoding": { + "type": "string", + "description": "Specifies the encoding of the incoming data in the case of input and the encoding of outgoing data in the case of output.", + "enum": [ + "UTF8" + ], + "x-ms-enum": { + "name": "Encoding", + "modelAsString": true + } + }, + "JsonOutputSerializationFormat": { + "type": "string", + "description": "Specifies the format of the JSON the output will be written in. The currently supported values are 'lineSeparated' indicating the output will be formatted by having each JSON object separated by a new line and 'array' indicating the output will be formatted as an array of JSON objects.", + "enum": [ + "LineSeparated", + "Array" + ], + "x-ms-enum": { + "name": "JsonOutputSerializationFormat", + "modelAsString": true + } + }, + "ResourceTestStatus": { + "type": "object", + "description": "Describes the status of the test operation along with error information, if applicable.", + "properties": { + "status": { + "readOnly": true, + "type": "string", + "description": "The status of the test operation." + }, + "error": { + "readOnly": true, + "$ref": "#/definitions/ErrorResponse", + "description": "Describes the error that occurred." + } + } + }, + "ErrorResponse": { + "type": "object", + "description": "Describes the error that occurred.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "Error code associated with the error that occurred." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "Describes the error in detail." + } + } + }, + "SubResource": { + "type": "object", + "description": "The base sub-resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "x-ms-azure-resource": true + }, + "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" + ] + }, + "CompressionType": { + "type": "string", + "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", + "required": true, + "type": "string", + "description": "The name of the input.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/outputs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/outputs.json new file mode 100644 index 000000000000..bbae2874236c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/outputs.json @@ -0,0 +1,1173 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2021-10-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.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}": { + "put": { + "tags": [ + "Outputs" + ], + "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 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": [ + { + "name": "output", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Output" + }, + "description": "The definition of the output that will be used to create a new output or replace the existing one under the streaming job." + }, + { + "name": "If-Match", + "in": "header", + "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 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 output to be created, but to prevent updating an existing output. Other values will result in a 412 Pre-condition Failed response." + }, + { + "$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" + }, + { + "$ref": "#/parameters/OutputNameParameter" + } + ], + "responses": { + "200": { + "description": "The output was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Output" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the output. 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.", + "type": "string" + } + } + }, + "201": { + "description": "The output was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Output" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the output. 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.", + "type": "string" + } + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + }, + "patch": { + "tags": [ + "Outputs" + ], + "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 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": [ + { + "name": "output", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Output" + }, + "description": "An Output object. The properties specified here will overwrite the corresponding properties in the existing output (ie. Those properties will be updated). Any properties that are set to null here will mean that the corresponding property in the existing output will remain the same and not change as a result of this PATCH operation." + }, + { + "name": "If-Match", + "in": "header", + "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 overwriting concurrent changes." + }, + { + "$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" + }, + { + "$ref": "#/parameters/OutputNameParameter" + } + ], + "responses": { + "200": { + "description": "The output was successfully updated.", + "schema": { + "$ref": "#/definitions/Output" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the output. 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.", + "type": "string" + } + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + }, + "delete": { + "tags": [ + "Outputs" + ], + "operationId": "Outputs_Delete", + "description": "Deletes an output from the streaming job.", + "x-ms-examples": { + "Delete an output": { + "$ref": "./examples/Output_Delete.json" + } + }, + "parameters": [ + { + "$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" + }, + { + "$ref": "#/parameters/OutputNameParameter" + } + ], + "responses": { + "200": { + "description": "The output was successfully deleted." + }, + "204": { + "description": "The output does not exist." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + }, + "get": { + "tags": [ + "Outputs" + ], + "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 Azure Data Warehouse output": { + "$ref": "./examples/Output_Get_DataWarehouse.json" + }, + "Get an Azure Function output": { + "$ref": "./examples/Output_Get_AzureFunction.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": "../../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" + }, + { + "$ref": "#/parameters/OutputNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified output.", + "schema": { + "$ref": "#/definitions/Output" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the output. 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.", + "type": "string" + } + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs": { + "get": { + "tags": [ + "Outputs" + ], + "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" + } + }, + "parameters": [ + { + "name": "$select", + "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." + }, + { + "$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": { + "200": { + "description": "Successfully listed the outputs under the specified streaming job.", + "schema": { + "$ref": "#/definitions/OutputListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}/test": { + "post": { + "tags": [ + "Outputs" + ], + "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" + } + }, + "parameters": [ + { + "name": "output", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/Output" + }, + "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": "../../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" + }, + { + "$ref": "#/parameters/OutputNameParameter" + } + ], + "responses": { + "200": { + "description": "The test operation completed successfully.", + "schema": { + "$ref": "./inputs.json#/definitions/ResourceTestStatus" + } + }, + "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 + } + } + }, + "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": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/OutputProperties", + "description": "The properties that are associated with an output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "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." + }, + "diagnostics": { + "readOnly": true, + "$ref": "./inputs.json#/definitions/Diagnostics", + "description": "Describes conditions applicable to the Input, Output, or the job overall, that warrant customer attention." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "The current entity tag for the output. 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." + } + } + }, + "OutputDataSource": { + "type": "object", + "description": "Describes the data source that output will be written to.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Indicates the type of data source output will be written to. Required on PUT (CreateOrReplace) requests." + } + }, + "required": [ + "type" + ] + }, + "RawOutputDatasource": { + "description": "Describes a raw output data source. This data source type is only applicable/usable when using the query testing API. You cannot create a job with this data source type or add an output of this data source type to an existing job.", + "type": "object", + "x-ms-discriminator-value": "Raw", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "description": "The properties that are associated with a raw output. Required on PUT (CreateOrReplace) requests.", + "$ref": "#/definitions/RawOutputDatasourceProperties", + "x-ms-client-flatten": true + } + } + }, + "RawOutputDatasourceProperties": { + "description": "The properties that are associated with a raw output.", + "type": "object", + "properties": { + "payloadUri": { + "description": "The SAS URL to a blob where the output should be written. If this property is not set, output data will be written into a temporary storage, and a SAS URL to that temporary storage will be included in the result.", + "type": "string" + } + } + }, + "BlobOutputDataSource": { + "type": "object", + "description": "Describes a blob output data source.", + "x-ms-discriminator-value": "Microsoft.Storage/Blob", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BlobOutputDataSourceProperties", + "description": "The properties that are associated with a blob output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "BlobOutputDataSourceProperties": { + "type": "object", + "description": "The properties that are associated with a blob output.", + "allOf": [ + { + "$ref": "./inputs.json#/definitions/BlobDataSourceProperties" + } + ], + "properties": { + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." + } + } + }, + "AzureTableOutputDataSource": { + "type": "object", + "description": "Describes an Azure Table output data source.", + "x-ms-discriminator-value": "Microsoft.Storage/Table", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureTableOutputDataSourceProperties", + "description": "The properties that are associated with an Azure Table output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "AzureTableOutputDataSourceProperties": { + "type": "object", + "description": "The properties that are associated with an Azure Table output.", + "properties": { + "accountName": { + "type": "string", + "description": "The name of the Azure Storage account. Required on PUT (CreateOrReplace) requests." + }, + "accountKey": { + "type": "string", + "description": "The account key for the Azure Storage account. Required on PUT (CreateOrReplace) requests.", + "x-ms-secret": true + }, + "table": { + "type": "string", + "description": "The name of the Azure Table. Required on PUT (CreateOrReplace) requests." + }, + "partitionKey": { + "type": "string", + "description": "This element indicates the name of a column from the SELECT statement in the query that will be used as the partition key for the Azure Table. Required on PUT (CreateOrReplace) requests." + }, + "rowKey": { + "type": "string", + "description": "This element indicates the name of a column from the SELECT statement in the query that will be used as the row key for the Azure Table. Required on PUT (CreateOrReplace) requests." + }, + "columnsToRemove": { + "type": "array", + "items": { + "type": "string" + }, + "description": "If specified, each item in the array is the name of a column to remove (if present) from output event entities." + }, + "batchSize": { + "type": "integer", + "format": "int32", + "description": "The number of rows to write to the Azure Table at a time." + } + } + }, + "EventHubOutputDataSource": { + "type": "object", + "description": "Describes an Event Hub output data source.", + "x-ms-discriminator-value": "Microsoft.ServiceBus/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 + } + } + }, + "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": [ + { + "$ref": "./inputs.json#/definitions/EventHubDataSourceProperties" + } + ], + "properties": { + "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": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureSqlDatabaseOutputDataSourceProperties", + "description": "The properties that are associated with an Azure SQL database output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "AzureSqlDatabaseOutputDataSourceProperties": { + "type": "object", + "description": "The properties that are associated with an Azure SQL database output.", + "allOf": [ + { + "$ref": "#/definitions/AzureSqlDatabaseDataSourceProperties" + } + ], + "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": { + "type": "object", + "description": "Describes a DocumentDB output data source.", + "x-ms-discriminator-value": "Microsoft.Storage/DocumentDB", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DocumentDbOutputDataSourceProperties", + "description": "The properties that are associated with a DocumentDB output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "DocumentDbOutputDataSourceProperties": { + "type": "object", + "description": "The properties that are associated with a DocumentDB output.", + "properties": { + "accountId": { + "type": "string", + "description": "The DocumentDB account name or ID. Required on PUT (CreateOrReplace) requests." + }, + "accountKey": { + "type": "string", + "description": "The account key for the DocumentDB account. Required on PUT (CreateOrReplace) requests.", + "x-ms-secret": true + }, + "database": { + "type": "string", + "description": "The name of the DocumentDB database. Required on PUT (CreateOrReplace) requests." + }, + "collectionNamePattern": { + "type": "string", + "description": "The collection name pattern for the collections to be used. The collection name format can be constructed using the optional {partition} token, where partitions start from 0. See the DocumentDB section of https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output for more information. Required on PUT (CreateOrReplace) requests." + }, + "partitionKey": { + "type": "string", + "description": "The name of the field in output events used to specify the key for partitioning output across collections. If 'collectionNamePattern' contains the {partition} token, this property is required to be specified." + }, + "documentId": { + "type": "string", + "description": "The name of the field in output events used to specify the primary key which insert or update operations are based on." + } + } + }, + "AzureFunctionOutputDataSource": { + "description": "Defines the metadata of AzureFunctionOutputDataSource", + "type": "object", + "x-ms-discriminator-value": "Microsoft.AzureFunction", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureFunctionOutputDataSourceProperties", + "description": "The properties that are associated with a Azure Function output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "AzureFunctionOutputDataSourceProperties": { + "description": "The properties that are associated with a DocumentDB output.", + "type": "object", + "properties": { + "functionAppName": { + "description": "The name of your Azure Functions app.", + "type": "string" + }, + "functionName": { + "description": "The name of the function in your Azure Functions app.", + "type": "string" + }, + "apiKey": { + "description": "If you want to use an Azure Function from another subscription, you can do so by providing the key to access your function.", + "type": "string" + }, + "maxBatchSize": { + "description": "A property that lets you set the maximum size for each output batch that's sent to your Azure function. The input unit is in bytes. By default, this value is 262,144 bytes (256 KB).", + "type": "number" + }, + "maxBatchCount": { + "description": "A property that lets you specify the maximum number of events in each batch that's sent to Azure Functions. The default value is 100.", + "type": "number" + } + } + }, + "ServiceBusQueueOutputDataSource": { + "type": "object", + "description": "Describes a Service Bus Queue output data source.", + "x-ms-discriminator-value": "Microsoft.ServiceBus/Queue", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServiceBusQueueOutputDataSourceProperties", + "description": "The properties that are associated with a Service Bus Queue output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "ServiceBusQueueOutputDataSourceProperties": { + "type": "object", + "description": "The properties that are associated with a Service Bus Queue output.", + "allOf": [ + { + "$ref": "./inputs.json#/definitions/ServiceBusDataSourceProperties" + } + ], + "properties": { + "queueName": { + "type": "string", + "description": "The name of the Service Bus Queue. Required on PUT (CreateOrReplace) requests." + }, + "propertyColumns": { + "type": "array", + "items": { + "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": { + "type": "object", + "description": "Describes a Service Bus Topic output data source.", + "x-ms-discriminator-value": "Microsoft.ServiceBus/Topic", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServiceBusTopicOutputDataSourceProperties", + "description": "The properties that are associated with a Service Bus Topic output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "ServiceBusTopicOutputDataSourceProperties": { + "type": "object", + "description": "The properties that are associated with a Service Bus Topic output.", + "allOf": [ + { + "$ref": "./inputs.json#/definitions/ServiceBusDataSourceProperties" + } + ], + "properties": { + "topicName": { + "type": "string", + "description": "The name of the Service Bus Topic. Required on PUT (CreateOrReplace) requests." + }, + "propertyColumns": { + "type": "array", + "items": { + "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", + "items": { + "$ref": "#/definitions/Output" + }, + "readOnly": true, + "description": "A list of outputs under a streaming job. Populated by a 'List' operation." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The link (url) to the next page of results." + } + }, + "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": { + "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." + }, + "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." + }, + "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": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "x-ms-azure-resource": true + } + }, + "parameters": { + "OutputNameParameter": { + "name": "outputName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the output.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/streamingjobs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/streamingjobs.json new file mode 100644 index 000000000000..1a221e44deea --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/streamingjobs.json @@ -0,0 +1,971 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2021-10-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": { + "/providers/Microsoft.StreamAnalytics/operations": { + "get": { + "tags": [ + "Operations" + ], + "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" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the available operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}": { + "put": { + "tags": [ + "StreamingJobs" + ], + "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" + } + }, + "parameters": [ + { + "name": "streamingJob", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StreamingJob" + }, + "description": "The definition of the streaming job that will be used to create a new streaming job or replace the existing one." + }, + { + "name": "If-Match", + "in": "header", + "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 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 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": "../../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": { + "200": { + "description": "The streaming job was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/StreamingJob" + }, + "headers": { + "ETag": { + "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.", + "type": "string" + } + } + }, + "201": { + "description": "The streaming job was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/StreamingJob" + }, + "headers": { + "ETag": { + "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.", + "type": "string" + } + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "StreamingJobs" + ], + "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" + } + }, + "parameters": [ + { + "name": "streamingJob", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StreamingJob" + }, + "description": "A streaming job object. The properties specified here will overwrite the corresponding properties in the existing streaming job (ie. Those properties will be updated). Any properties that are set to null here will mean that the corresponding property in the existing input will remain the same and not change as a result of this PATCH operation." + }, + { + "name": "If-Match", + "in": "header", + "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 overwriting concurrent changes." + }, + { + "$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": { + "200": { + "description": "The streaming job was successfully updated.", + "schema": { + "$ref": "#/definitions/StreamingJob" + }, + "headers": { + "ETag": { + "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.", + "type": "string" + } + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + }, + "delete": { + "tags": [ + "StreamingJobs" + ], + "operationId": "StreamingJobs_Delete", + "description": "Deletes a streaming job.", + "x-ms-examples": { + "Delete a streaming job": { + "$ref": "./examples/StreamingJob_Delete.json" + } + }, + "parameters": [ + { + "$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": { + "200": { + "description": "The streaming job was successfully deleted." + }, + "202": { + "description": "The delete request was successfully initiated." + }, + "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 + }, + "get": { + "tags": [ + "StreamingJobs" + ], + "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" + } + }, + "parameters": [ + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "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": "../../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": { + "200": { + "description": "Successfully retrieved the specified streaming job.", + "schema": { + "$ref": "#/definitions/StreamingJob" + }, + "headers": { + "ETag": { + "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.", + "type": "string" + } + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs": { + "get": { + "tags": [ + "StreamingJobs" + ], + "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" + } + }, + "parameters": [ + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "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": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the streaming jobs under the specified resource group.", + "schema": { + "$ref": "#/definitions/StreamingJobListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/streamingjobs": { + "get": { + "tags": [ + "StreamingJobs" + ], + "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" + } + }, + "parameters": [ + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "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": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the streaming jobs under the given subscription.", + "schema": { + "$ref": "#/definitions/StreamingJobListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/start": { + "post": { + "tags": [ + "StreamingJobs" + ], + "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" + } + }, + "parameters": [ + { + "name": "startJobParameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/StartStreamingJobParameters" + }, + "description": "Parameters applicable to a start 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": { + "200": { + "description": "The streaming job was successfully started." + }, + "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 + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/stop": { + "post": { + "tags": [ + "StreamingJobs" + ], + "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" + } + }, + "parameters": [ + { + "$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": { + "200": { + "description": "The streaming job was successfully stopped." + }, + "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 + } + } + }, + "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": { + "description": "List of Stream Analytics operations supported by the Microsoft.StreamAnalytics 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 Stream Analytics REST API operation", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation being performed on this particular object.", + "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": { + "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 + } + } + } + } + }, + "StreamingJob": { + "type": "object", + "description": "A streaming job object, containing all information associated with the named streaming job.", + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$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 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": { + "description": "Describes the SKU of the streaming job. Required on PUT (CreateOrReplace) requests.", + "$ref": "#/definitions/Sku" + }, + "jobId": { + "readOnly": true, + "type": "string", + "description": "A GUID uniquely identifying the streaming job. This GUID is generated upon creation of the streaming job." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Describes the provisioning status of the streaming job." + }, + "jobState": { + "readOnly": true, + "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." + }, + "outputStartTime": { + "type": "string", + "format": "date-time", + "description": "Value is either an ISO-8601 formatted time stamp that indicates the starting point of the output event stream, or null to indicate that the output event stream will start whenever the streaming job is started. This property must have a value if outputStartMode is set to CustomTime." + }, + "lastOutputEventTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Value is either an ISO-8601 formatted timestamp indicating the last output event time of the streaming job or null indicating that output has not yet been produced. In case of multiple outputs or multiple streams, this shows the latest value in that set." + }, + "eventsOutOfOrderPolicy": { + "$ref": "#/definitions/EventsOutOfOrderPolicy", + "description": "Indicates the policy to apply to events that arrive out of order in the input event stream." + }, + "outputErrorPolicy": { + "$ref": "#/definitions/OutputErrorPolicy", + "description": "Indicates the policy to apply to events that arrive at the output and cannot be written to the external storage due to being malformed (missing column values, column values of wrong type or size)." + }, + "eventsOutOfOrderMaxDelayInSeconds": { + "type": "integer", + "format": "int32", + "description": "The maximum tolerable delay in seconds where out-of-order events can be adjusted to be back in order." + }, + "eventsLateArrivalMaxDelayInSeconds": { + "type": "integer", + "format": "int32", + "description": "The maximum tolerable delay in seconds where events arriving late could be included. Supported range is -1 to 1814399 (20.23:59:59 days) and -1 is used to specify wait indefinitely. If the property is absent, it is interpreted to have a value of -1." + }, + "dataLocale": { + "type": "string", + "description": "The data locale of the stream analytics job. Value should be the name of a supported .NET Culture from the set https://msdn.microsoft.com/en-us/library/system.globalization.culturetypes(v=vs.110).aspx. Defaults to 'en-US' if none specified." + }, + "compatibilityLevel": { + "$ref": "#/definitions/CompatibilityLevel", + "description": "Controls certain runtime behaviors of the streaming job." + }, + "createdDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Value is an ISO-8601 formatted UTC timestamp indicating when the streaming job was created." + }, + "inputs": { + "type": "array", + "items": { + "$ref": "./inputs.json#/definitions/Input" + }, + "description": "A list of one or more inputs to the streaming job. The name property for each input 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 input." + }, + "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 transformation." + }, + "outputs": { + "type": "array", + "items": { + "$ref": "./outputs.json#/definitions/Output" + }, + "description": "A list of one or more outputs for the streaming job. The name property for each output 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 output." + }, + "functions": { + "type": "array", + "items": { + "$ref": "./functions.json#/definitions/Function" + }, + "description": "A list of one or more functions for the streaming job. The name property for each function 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." + }, + "etag": { + "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 + } + }, + "externals": { + "$ref": "#/definitions/External", + "description": "The storage account where the custom code artifacts are located." + }, + "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.", + "enum": [ + "Standard" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + } + } + }, + "StreamingJobListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingJob" + }, + "readOnly": true, + "description": "A list of streaming jobs. Populated by a 'List' operation." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The link (url) to the next page of results." + } + }, + "description": "Object containing a list of streaming jobs." + }, + "StartStreamingJobParameters": { + "type": "object", + "description": "Parameters supplied to the Start Streaming Job operation.", + "properties": { + "outputStartMode": { + "$ref": "#/definitions/OutputStartMode", + "description": "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." + }, + "outputStartTime": { + "type": "string", + "format": "date-time", + "description": "Value is either an ISO-8601 formatted time stamp that indicates the starting point of the output event stream, or null to indicate that the output event stream will start whenever the streaming job is started. This property must have a value if outputStartMode is set to CustomTime." + } + } + }, + "OutputStartMode": { + "type": "string", + "description": "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.", + "enum": [ + "JobStartTime", + "CustomTime", + "LastOutputEventTime" + ], + "x-ms-enum": { + "name": "OutputStartMode", + "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.", + "enum": [ + "Adjust", + "Drop" + ], + "x-ms-enum": { + "name": "EventsOutOfOrderPolicy", + "modelAsString": true + } + }, + "OutputErrorPolicy": { + "type": "string", + "description": "Indicates the policy to apply to events that arrive at the output and cannot be written to the external storage due to being malformed (missing column values, column values of wrong type or size).", + "enum": [ + "Stop", + "Drop" + ], + "x-ms-enum": { + "name": "OutputErrorPolicy", + "modelAsString": true + } + }, + "CompatibilityLevel": { + "type": "string", + "description": "Controls certain runtime behaviors of the streaming job.", + "enum": [ + "1.0", + "1.2" + ], + "x-ms-enum": { + "name": "CompatibilityLevel", + "modelAsString": true + } + }, + "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": { + "tenantId": { + "type": "string", + "description": "The tenantId of the identity." + }, + "principalId": { + "type": "string", + "description": "The principalId of the identity." + }, + "type": { + "type": "string", + "description": "The type of identity, can be SystemAssigned or UserAssigned." + }, + "userAssignedIdentities": { + "type": "object", + "description": "The user assigned identities associated with the streaming job resource." + } + } + }, + "External": { + "description": "The storage account where the custom code artifacts are located.", + "type": "object", + "properties": { + "storageAccount": { + "$ref": "./inputs.json#/definitions/StorageAccount" + }, + "container": { + "type": "string" + }, + "path": { + "type": "string" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/subscriptions.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/subscriptions.json new file mode 100644 index 000000000000..5882d950129b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/subscriptions.json @@ -0,0 +1,840 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2021-10-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}/providers/Microsoft.StreamAnalytics/locations/{location}/quotas": { + "get": { + "tags": [ + "Subscriptions" + ], + "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" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/LocationParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the subscription's quota information in the specified region.", + "schema": { + "$ref": "#/definitions/SubscriptionQuotasListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/locations/{location}/testQuery": { + "post": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_TestQuery", + "description": "Test the Stream Analytics query on a sample input.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Test the Stream Analytics query": { + "$ref": "./examples/Subscription_TestQuery.json" + } + }, + "parameters": [ + { + "name": "testQuery", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TestQuery" + }, + "description": "The query testing object that defines the input, output, and transformation for the query testing." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/LocationParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The request to test the Stream Analytics query was successful.", + "schema": { + "$ref": "#/definitions/QueryTestingResult" + } + }, + "202": { + "description": "The request to test the Stream Analytics query was successfully initiated." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/locations/{location}/compileQuery": { + "post": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_CompileQuery", + "description": "Compile the Stream Analytics query.", + "x-ms-examples": { + "Compile the Stream Analytics query": { + "$ref": "./examples/Subscription_CompileQuery.json" + } + }, + "parameters": [ + { + "name": "compileQuery", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CompileQuery" + }, + "description": "The query compilation object which defines the input, output, and transformation for the query compilation." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/LocationParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The Stream Analytics query was compiled successfully.", + "schema": { + "$ref": "#/definitions/QueryCompilationResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/locations/{location}/sampleInput": { + "post": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_SampleInput", + "description": "Sample the Stream Analytics input data.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Sample the Stream Analytics input data": { + "$ref": "./examples/Subscription_SampleInput.json" + } + }, + "parameters": [ + { + "name": "sampleInput", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SampleInput" + }, + "description": "Defines the necessary parameters for sampling the Stream Analytics input data." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/LocationParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "The request to sample the Stream Analytics input was successfully initiated.", + "schema": { + "$ref": "#/definitions/SampleInputResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/locations/{location}/testInput": { + "post": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_TestInput", + "description": "Test the Stream Analytics input.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Test the Stream Analytics input": { + "$ref": "./examples/Subscription_TestInput.json" + } + }, + "parameters": [ + { + "name": "testInput", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TestInput" + }, + "description": "Defines the necessary parameters for testing the Stream Analytics input." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/LocationParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "The request to test the Stream Analytics input was successfully initiated.", + "schema": { + "$ref": "#/definitions/TestDatasourceResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/locations/{location}/testOutput": { + "post": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_TestOutput", + "description": "Test the Stream Analytics output.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Test the Stream Analytics output": { + "$ref": "./examples/Subscription_TestOutput.json" + } + }, + "parameters": [ + { + "name": "testOutput", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TestOutput" + }, + "description": "Defines the necessary parameters for testing the Stream Analytics output." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/LocationParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "The request to test the Stream Analytics output was successfully initiated.", + "schema": { + "$ref": "#/definitions/TestDatasourceResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + } + } + }, + "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": { + "description": "List of quotas for the subscription in a particular region.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SubscriptionQuota" + } + } + } + }, + "SubscriptionQuota": { + "description": "Describes the current quota for the subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "properties": { + "description": "Describes the properties of the quota.", + "readOnly": true, + "properties": { + "maxCount": { + "description": "The max permitted usage of this resource.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "currentCount": { + "description": "The current usage of this resource.", + "type": "integer", + "format": "int32", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "TestQuery": { + "description": "The request object for query testing.", + "type": "object", + "properties": { + "diagnostics": { + "description": "Diagnostics information related to query testing.", + "type": "object", + "properties": { + "writeUri": { + "description": "The SAS URI to the container or directory.", + "type": "string" + }, + "path": { + "description": "The path to the subdirectory.", + "type": "string" + } + }, + "required": [ + "writeUri" + ] + }, + "streamingJob": { + "description": "Stream analytics job object which defines the input, output, and transformation for the query testing.", + "$ref": "./streamingjobs.json#/definitions/StreamingJob" + } + }, + "required": [ + "streamingJob" + ] + }, + "QueryTestingResult": { + "description": "The result of the query testing request.", + "type": "object", + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + ], + "properties": { + "status": { + "description": "The status of the query testing request.", + "$ref": "#/definitions/QueryTestingResultStatus" + }, + "outputUri": { + "description": "The SAS URL to the outputs payload.", + "type": "string", + "readOnly": true + } + } + }, + "QueryTestingResultStatus": { + "description": "The status of the query testing request.", + "readOnly": true, + "type": "string", + "enum": [ + "Started", + "Success", + "CompilerError", + "RuntimeError", + "Timeout", + "UnknownError" + ], + "x-ms-enum": { + "name": "QueryTestingResultStatus", + "modelAsString": true, + "values": [ + { + "value": "Started", + "description": "The query testing operation was initiated." + }, + { + "value": "Success", + "description": "The query testing operation succeeded." + }, + { + "value": "CompilerError", + "description": "The query testing operation failed due to a compiler error." + }, + { + "value": "RuntimeError", + "description": "The query testing operation failed due to a runtime error." + }, + { + "value": "Timeout", + "description": "The query testing operation failed due to a timeout." + }, + { + "value": "UnknownError", + "description": "The query testing operation failed due to an unknown error ." + } + ] + } + }, + "CompileQuery": { + "description": "The query compilation object which defines the input, output, and transformation for the query compilation.", + "type": "object", + "properties": { + "query": { + "description": "The query to compile.", + "type": "string" + }, + "inputs": { + "description": "The inputs for the query compilation.", + "type": "array", + "items": { + "description": "An input for the query compilation.", + "$ref": "#/definitions/QueryInput" + } + }, + "functions": { + "description": "The functions for the query compilation.", + "type": "array", + "items": { + "description": "A function for the query compilation.", + "$ref": "#/definitions/QueryFunction" + } + }, + "jobType": { + "type": "string", + "description": "Describes the type of the job. Valid values are `Cloud` and 'Edge'.", + "enum": [ + "Cloud", + "Edge" + ], + "x-ms-enum": { + "name": "JobType", + "modelAsString": true + } + }, + "compatibilityLevel": { + "description": "The query to compile.", + "$ref": "./streamingjobs.json#/definitions/CompatibilityLevel" + } + }, + "required": [ + "query", + "jobType" + ] + }, + "QueryInput": { + "description": "An input for the query compilation.", + "type": "object", + "properties": { + "name": { + "description": "The name of the input.", + "type": "string" + }, + "type": { + "description": "The type of the input, can be Stream or Reference.", + "type": "string" + } + }, + "required": [ + "name", + "type" + ] + }, + "QueryFunction": { + "description": "A function for the query compilation.", + "type": "object", + "properties": { + "name": { + "description": "The name of the function.", + "type": "string" + }, + "type": { + "description": "The type of the function.", + "type": "string" + }, + "bindingType": { + "description": "The type of the function binding.", + "type": "string" + }, + "inputs": { + "description": "The inputs for the function.", + "type": "array", + "items": { + "description": "An input for the function.", + "$ref": "./functions.json#/definitions/FunctionInput" + } + }, + "output": { + "description": "An output for the function.", + "$ref": "./functions.json#/definitions/FunctionOutput" + } + }, + "required": [ + "name", + "type", + "bindingType", + "inputs", + "output" + ] + }, + "QueryCompilationResult": { + "description": "The result of the query compilation request.", + "type": "object", + "properties": { + "errors": { + "description": "Error messages produced by the compiler.", + "type": "array", + "readOnly": true, + "items": { + "description": "An error produced by the compiler.", + "$ref": "#/definitions/QueryCompilationError" + } + }, + "warnings": { + "description": "Warning messages produced by the compiler.", + "type": "array", + "readOnly": true, + "items": { + "description": "A warning produced by the compiler.", + "type": "string", + "readOnly": true + } + }, + "inputs": { + "description": "All input names used by the query.", + "type": "array", + "readOnly": true, + "items": { + "description": "An input used by the query.", + "type": "string", + "readOnly": true + } + }, + "outputs": { + "description": "All output names used by the query.", + "type": "array", + "readOnly": true, + "items": { + "description": "An output used by the query.", + "type": "string", + "readOnly": true + } + }, + "functions": { + "description": "All function names used by the query.", + "type": "array", + "readOnly": true, + "items": { + "description": "A function used by the query.", + "type": "string", + "readOnly": true + } + } + } + }, + "QueryCompilationError": { + "description": "An error produced by the compiler.", + "type": "object", + "properties": { + "message": { + "description": "The content of the error message.", + "type": "string", + "readOnly": true + }, + "startLine": { + "description": "Describes the error location in the original query. Not set if isGlobal is true.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "startColumn": { + "description": "Describes the error location in the original query. Not set if isGlobal is true.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "endLine": { + "description": "Describes the error location in the original query. Not set if isGlobal is true.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "endColumn": { + "description": "Describes the error location in the original query. Not set if isGlobal is true.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "isGlobal": { + "description": "Whether the error is not for a specific part but for the entire query.", + "type": "boolean", + "readOnly": true + } + } + }, + "SampleInput": { + "description": "The stream analytics input to sample.", + "type": "object", + "properties": { + "input": { + "description": "The stream analytics input to sample.", + "$ref": "./inputs.json#/definitions/Input" + }, + "compatibilityLevel": { + "description": "Defaults to the default ASA job compatibility level. Today it is 1.2", + "type": "string" + }, + "eventsUri": { + "description": "The SAS URI of the storage blob for service to write the sampled events to. If this parameter is not provided, service will write events to he system account and share a temporary SAS URI to it.", + "type": "string" + }, + "dataLocale": { + "description": "Defaults to en-US.", + "type": "string" + } + } + }, + "SampleInputResult": { + "description": "The result of the sample input request.", + "type": "object", + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + ], + "properties": { + "status": { + "description": "The status of the sample input request.", + "$ref": "#/definitions/SampleInputResultStatus" + }, + "diagnostics": { + "description": "Diagnostics messages. E.g. message indicating some partitions from the input have no data.", + "type": "array", + "readOnly": true, + "items": { + "description": "A diagnostics message.", + "type": "string", + "readOnly": true + } + }, + "eventsDownloadUrl": { + "description": "A SAS URL to download the sampled input data.", + "type": "string", + "readOnly": true + }, + "lastArrivalTime": { + "description": "The timestamp for the last event in the data. It is in DateTime format.", + "type": "string", + "readOnly": true + } + } + }, + "SampleInputResultStatus": { + "description": "The status of the sample input request.", + "readOnly": true, + "type": "string", + "enum": [ + "ReadAllEventsInRange", + "NoEventsFoundInRange", + "ErrorConnectingToInput" + ], + "x-ms-enum": { + "name": "SampleInputResultStatus", + "modelAsString": true, + "values": [ + { + "value": "ReadAllEventsInRange", + "description": "The sample input operation successfully read all the events in the range." + }, + { + "value": "NoEventsFoundInRange", + "description": "The sample input operation found no events in the range." + }, + { + "value": "ErrorConnectingToInput", + "description": "The sample input operation failed to connect to the input." + } + ] + } + }, + "TestInput": { + "description": "A stream analytics input.", + "type": "object", + "properties": { + "input": { + "description": "The stream analytics input to test.", + "$ref": "./inputs.json#/definitions/Input" + } + }, + "required": [ + "input" + ] + }, + "TestOutput": { + "description": "A stream analytics output.", + "type": "object", + "properties": { + "output": { + "description": "The stream analytics output to test.", + "$ref": "./outputs.json#/definitions/Output" + } + }, + "required": [ + "output" + ] + }, + "TestDatasourceResult": { + "description": "The result of the test input or output request.", + "type": "object", + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + ], + "properties": { + "status": { + "description": "The status of the sample output request.", + "$ref": "#/definitions/TestDatasourceResultStatus" + } + } + }, + "TestDatasourceResultStatus": { + "description": "The status of the test input or output request.", + "readOnly": true, + "type": "string", + "enum": [ + "TestSucceeded", + "TestFailed" + ], + "x-ms-enum": { + "name": "TestDatasourceResultStatus", + "modelAsString": true, + "values": [ + { + "value": "TestSucceeded", + "description": "The test datasource operation succeeded." + }, + { + "value": "TestFailed", + "description": "The test datasource operation failed." + } + ] + } + }, + "SubResource": { + "type": "object", + "description": "The base sub-resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "x-ms-azure-resource": true + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/transformations.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/transformations.json new file mode 100644 index 000000000000..ea984fd8c45c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/transformations.json @@ -0,0 +1,318 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2021-10-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.StreamAnalytics/streamingjobs/{jobName}/transformations/{transformationName}": { + "put": { + "tags": [ + "Transformations" + ], + "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" + } + }, + "parameters": [ + { + "name": "transformation", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Transformation" + }, + "description": "The definition of the transformation that will be used to create a new transformation or replace the existing one under the streaming job." + }, + { + "name": "If-Match", + "in": "header", + "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 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 transformation to be created, but to prevent updating an existing transformation. Other values will result in a 412 Pre-condition Failed response." + }, + { + "$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" + }, + { + "$ref": "#/parameters/TransformationNameParameter" + } + ], + "responses": { + "200": { + "description": "The transformation was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Transformation" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the transformation. 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.", + "type": "string" + } + } + }, + "201": { + "description": "The transformation was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Transformation" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the transformation. 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.", + "type": "string" + } + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + }, + "patch": { + "tags": [ + "Transformations" + ], + "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" + } + }, + "parameters": [ + { + "name": "transformation", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Transformation" + }, + "description": "A Transformation object. The properties specified here will overwrite the corresponding properties in the existing transformation (ie. Those properties will be updated). Any properties that are set to null here will mean that the corresponding property in the existing transformation will remain the same and not change as a result of this PATCH operation." + }, + { + "name": "If-Match", + "in": "header", + "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 overwriting concurrent changes." + }, + { + "$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" + }, + { + "$ref": "#/parameters/TransformationNameParameter" + } + ], + "responses": { + "200": { + "description": "The transformation was successfully updated.", + "schema": { + "$ref": "#/definitions/Transformation" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the transformation. 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.", + "type": "string" + } + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + }, + "get": { + "tags": [ + "Transformations" + ], + "operationId": "Transformations_Get", + "description": "Gets details about the specified transformation.", + "x-ms-examples": { + "Get a transformation": { + "$ref": "./examples/Transformation_Get.json" + } + }, + "parameters": [ + { + "$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" + }, + { + "$ref": "#/parameters/TransformationNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified transformation.", + "schema": { + "$ref": "#/definitions/Transformation" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the transformation. 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.", + "type": "string" + } + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + } + } + }, + "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": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TransformationProperties", + "description": "The properties that are associated with a transformation. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "TransformationProperties": { + "type": "object", + "description": "The properties that are associated with a transformation.", + "properties": { + "streamingUnits": { + "type": "integer", + "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." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "The current entity tag for the transformation. 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." + } + } + }, + "SubResource": { + "type": "object", + "description": "The base sub-resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "x-ms-azure-resource": true + } + }, + "parameters": { + "TransformationNameParameter": { + "name": "transformationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the transformation.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/clusters.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/clusters.json new file mode 100644 index 000000000000..3ae5ccff6c58 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/clusters.json @@ -0,0 +1,619 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2020-03-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.StreamAnalytics/clusters/{clusterName}": { + "put": { + "tags": [ + "Clusters" + ], + "description": "Creates a Stream Analytics Cluster or replaces an already existing cluster.", + "operationId": "Clusters_CreateOrUpdate", + "x-ms-examples": { + "Create a new cluster": { + "$ref": "./examples/Cluster_Create.json" + } + }, + "parameters": [ + { + "name": "cluster", + "description": "The definition of the cluster that will be used to create a new cluster or replace the existing one.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/IfMatchHeader" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/IfNoneMatchHeader" + } + ], + "responses": { + "200": { + "description": "The cluster was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "The cluster was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Clusters" + ], + "description": "Updates an existing cluster. This can be used to partially update (ie. update one or two properties) a cluster without affecting the rest of the cluster definition.", + "operationId": "Clusters_Update", + "x-ms-examples": { + "Update a cluster": { + "$ref": "./examples/Cluster_Update.json" + } + }, + "parameters": [ + { + "name": "cluster", + "description": "The properties specified here will overwrite the corresponding properties in the existing cluster (ie. Those properties will be updated).", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/IfMatchHeader" + } + ], + "responses": { + "200": { + "description": "The cluster was successfully updated.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "202": { + "description": "The update request was successfully initiated." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Clusters" + ], + "description": "Gets information about the specified cluster.", + "operationId": "Clusters_Get", + "x-ms-examples": { + "Get a cluster": { + "$ref": "./examples/Cluster_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + }, + "delete": { + "tags": [ + "Clusters" + ], + "description": "Deletes the specified cluster.", + "operationId": "Clusters_Delete", + "x-ms-examples": { + "Delete a cluster": { + "$ref": "./examples/Cluster_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The cluster was successfully deleted." + }, + "202": { + "description": "The delete request was successfully initiated." + }, + "204": { + "description": "The cluster does not exist." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "description": "Lists all of the clusters in the given subscription.", + "operationId": "Clusters_ListBySubscription", + "x-ms-examples": { + "List the clusters in a subscription": { + "$ref": "./examples/Cluster_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the clusters under the specified subscription.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "description": "Lists all of the clusters in the given resource group.", + "operationId": "Clusters_ListByResourceGroup", + "x-ms-examples": { + "List clusters in resource group": { + "$ref": "./examples/Cluster_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the clusters under the specified resource group.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}/listStreamingJobs": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Lists all of the streaming jobs in the given cluster.", + "operationId": "Clusters_ListStreamingJobs", + "x-ms-examples": { + "List all streaming jobs in cluster": { + "$ref": "./examples/Cluster_ListStreamingJobs.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the streaming jobs in the specified cluster.", + "schema": { + "$ref": "#/definitions/ClusterJobListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Cluster": { + "type": "object", + "description": "A Stream Analytics Cluster object", + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/ClusterSku" + }, + "etag": { + "description": "The current entity tag for the cluster. 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.", + "type": "string", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "description": "The properties associated with a Stream Analytics cluster.", + "$ref": "#/definitions/ClusterProperties" + } + } + }, + "ClusterProperties": { + "type": "object", + "description": "The properties associated with a Stream Analytics cluster.", + "properties": { + "createdDate": { + "description": "The date this cluster was created.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "clusterId": { + "description": "Unique identifier for the cluster.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ClusterProvisioningState" + }, + "capacityAllocated": { + "description": "Represents the number of streaming units currently being used on the cluster.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "capacityAssigned": { + "description": "Represents the sum of the SUs of all streaming jobs associated with the cluster. If all of the jobs were running, this would be the capacity allocated.", + "type": "integer", + "format": "int32", + "readOnly": true + } + } + }, + "ClusterListResult": { + "type": "object", + "description": "A list of clusters populated by a 'list' operation.", + "properties": { + "value": { + "description": "A list of clusters.", + "type": "array", + "items": { + "$ref": "#/definitions/Cluster" + }, + "readOnly": true + }, + "nextLink": { + "description": "The URL to fetch the next set of clusters.", + "type": "string", + "readOnly": true + } + } + }, + "ClusterJob": { + "type": "object", + "description": "A streaming job.", + "properties": { + "id": { + "description": "Resource ID of the streaming job.", + "type": "string", + "readOnly": true + }, + "streamingUnits": { + "description": "The number of streaming units that are used by the streaming job.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "jobState": { + "$ref": "#/definitions/JobState" + } + } + }, + "ClusterJobListResult": { + "type": "object", + "description": "A list of streaming jobs. Populated by a List operation.", + "properties": { + "value": { + "description": "A list of streaming jobs.", + "type": "array", + "items": { + "$ref": "#/definitions/ClusterJob" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "The URL to fetch the next set of streaming jobs.", + "readOnly": true + } + } + }, + "ClusterSku": { + "type": "object", + "description": "The SKU of the cluster. This determines the size/capacity of the cluster. Required on PUT (CreateOrUpdate) requests.", + "properties": { + "name": { + "description": "Specifies the SKU name of the cluster. Required on PUT (CreateOrUpdate) requests.", + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "ClusterSkuName", + "modelAsString": true, + "values": [ + { + "value": "Default", + "description": "The default SKU." + } + ] + } + }, + "capacity": { + "description": "Denotes the number of streaming units the cluster can support. Valid values for this property are multiples of 36 with a minimum value of 36 and maximum value of 216. Required on PUT (CreateOrUpdate) requests.", + "type": "integer", + "format": "int32", + "minimum": 36, + "maximum": 216 + } + } + }, + "ClusterProvisioningState": { + "description": "The status of the cluster provisioning. The three terminal states are: Succeeded, Failed and Canceled", + "readOnly": true, + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "InProgress" + ], + "x-ms-enum": { + "name": "ClusterProvisioningState", + "modelAsString": true, + "values": [ + { + "value": "Succeeded", + "description": "The cluster provisioning succeeded." + }, + { + "value": "Failed", + "description": "The cluster provisioning failed." + }, + { + "value": "Canceled", + "description": "The cluster provisioning was canceled." + }, + { + "value": "InProgress", + "description": "The cluster provisioning was inprogress." + } + ] + } + }, + "JobState": { + "description": "The current execution state of the streaming job.", + "type": "string", + "readOnly": true, + "enum": [ + "Created", + "Starting", + "Running", + "Stopping", + "Stopped", + "Deleting", + "Failed", + "Degraded", + "Restarting", + "Scaling" + ], + "x-ms-enum": { + "name": "JobState", + "modelAsString": true, + "values": [ + { + "value": "Created", + "description": "The job is currently in the Created state." + }, + { + "value": "Starting", + "description": "The job is currently in the Starting state." + }, + { + "value": "Running", + "description": "The job is currently in the Running state." + }, + { + "value": "Stopping", + "description": "The job is currently in the Stopping state." + }, + { + "value": "Stopped", + "description": "The job is currently in the Stopped state." + }, + { + "value": "Deleting", + "description": "The job is currently in the Deleting state." + }, + { + "value": "Failed", + "description": "The job is currently in the Failed state." + }, + { + "value": "Degraded", + "description": "The job is currently in the Degraded state." + }, + { + "value": "Restarting", + "description": "The job is currently in the Restarting state." + }, + { + "value": "Scaling", + "description": "The job is currently in the Scaling state." + } + ] + } + } + }, + "parameters": { + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cluster.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_Create.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_Create.json new file mode 100644 index 000000000000..308a5ce95830 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_Create.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "clusterName": "An Example Cluster", + "api-version": "2020-03-01", + "cluster": { + "location": "North US", + "tags": { + "key": "value" + }, + "sku": { + "name": "Default", + "capacity": 48 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/AnExampleStreamingCluster", + "name": "An Example Cluster", + "type": "Microsoft.StreamAnalytics/clusters", + "location": "North US", + "tags": { + "key": "value" + }, + "sku": { + "name": "Default", + "capacity": 48 + }, + "properties": { + "createdDate": "2020-01-25T01:00:00Z", + "clusterId": "B01C67EF-4739-4DDD-9FB2-427EB43DE839", + "provisioningState": "Succeeded", + "capacityAllocated": 0, + "capacityAssigned": 0 + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/AnExampleStreamingCluster", + "name": "An Example Cluster", + "type": "Microsoft.StreamAnalytics/clusters", + "location": "North US", + "tags": { + "key": "value" + }, + "sku": { + "name": "Default", + "capacity": 48 + }, + "properties": { + "createdDate": "2020-01-25T01:00:00Z", + "clusterId": "B01C67EF-4739-4DDD-9FB2-427EB43DE839", + "provisioningState": "Succeeded", + "capacityAllocated": 0, + "capacityAssigned": 0 + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_Delete.json new file mode 100644 index 000000000000..2bfbcd63c495 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "clusterName": "testcluster", + "api-version": "2020-03-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_Get.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_Get.json new file mode 100644 index 000000000000..d9151089861c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "clusterName": "testcluster", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/AnExampleStreamingCluster", + "name": "An Example Cluster", + "type": "Microsoft.StreamAnalytics/clusters", + "location": "Central US", + "tags": { + "key": "value" + }, + "sku": { + "name": "Default", + "capacity": 96 + }, + "properties": { + "createdDate": "2020-01-25T01:00:00Z", + "clusterId": "B01C67EF-4739-4DDD-9FB2-427EB43DE839", + "provisioningState": "Succeeded", + "capacityAllocated": 48, + "capacityAssigned": 96 + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_ListByResourceGroup.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_ListByResourceGroup.json new file mode 100644 index 000000000000..3bc8733d9133 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_ListByResourceGroup.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/AnExampleStreamingCluster", + "name": "An Example Cluster", + "type": "Microsoft.StreamAnalytics/clusters", + "location": "Central US", + "tags": { + "key": "value" + }, + "sku": { + "name": "Default", + "capacity": 96 + }, + "properties": { + "createdDate": "2020-01-25T01:00:00Z", + "clusterId": "B01C67EF-4739-4DDD-9FB2-427EB43DE839", + "provisioningState": "Succeeded", + "capacityAllocated": 48, + "capacityAssigned": 96 + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/ADifferentStreamingCluster", + "name": "A Different Cluster", + "type": "Microsoft.StreamAnalytics/clusters", + "location": "Central US", + "tags": { + "key": "value" + }, + "sku": { + "name": "Default", + "capacity": 96 + }, + "properties": { + "createdDate": "2020-01-25T01:00:00Z", + "clusterId": "B01C67EF-4739-4DDD-9FB2-427EB43DE839", + "provisioningState": "Succeeded", + "capacityAllocated": 48, + "capacityAssigned": 96 + }, + "etag": "G97C0C81-D5B1-451D-AFC8-0B42D4729B8C" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_ListBySubscription.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_ListBySubscription.json new file mode 100644 index 000000000000..b612acc8c5ab --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_ListBySubscription.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/AnExampleStreamingCluster", + "name": "An Example Cluster", + "type": "Microsoft.StreamAnalytics/clusters", + "location": "Central US", + "tags": { + "key": "value" + }, + "sku": { + "name": "Default", + "capacity": 96 + }, + "properties": { + "createdDate": "2020-01-25T01:00:00Z", + "clusterId": "B01C67EF-4739-4DDD-9FB2-427EB43DE839", + "provisioningState": "Succeeded", + "capacityAllocated": 48, + "capacityAssigned": 96 + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/ADifferentStreamingCluster", + "name": "A Different Cluster", + "type": "Microsoft.StreamAnalytics/clusters", + "location": "Central US", + "tags": { + "key": "value" + }, + "sku": { + "name": "Default", + "capacity": 96 + }, + "properties": { + "createdDate": "2020-01-25T01:00:00Z", + "clusterId": "B01C67EF-4739-4DDD-9FB2-427EB43DE839", + "provisioningState": "Succeeded", + "capacityAllocated": 48, + "capacityAssigned": 96 + }, + "etag": "G97C0C81-D5B1-451D-AFC8-0B42D4729B8C" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_ListStreamingJobs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_ListStreamingJobs.json new file mode 100644 index 000000000000..af0878044e31 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_ListStreamingJobs.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "clusterName": "testcluster", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/microsoft.streamAnalytics/streamingjobs/AFilterSample", + "streamingUnits": 6, + "jobState": "Running" + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/microsoft.streamAnalytics/streamingjobs/AnotherFilterSample", + "streamingUnits": 1, + "jobState": "Stopped" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_Update.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_Update.json new file mode 100644 index 000000000000..631d277249e4 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Cluster_Update.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "clusterName": "testcluster", + "api-version": "2020-03-01", + "cluster": { + "location": "Central US", + "sku": { + "capacity": 96 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/AnExampleStreamingCluster", + "name": "An Example Cluster", + "type": "Microsoft.StreamAnalytics/clusters", + "location": "Central US", + "tags": { + "key": "value" + }, + "sku": { + "name": "Default", + "capacity": 96 + }, + "properties": { + "createdDate": "2020-01-25T01:00:00Z", + "clusterId": "B01C67EF-4739-4DDD-9FB2-427EB43DE839", + "provisioningState": "Succeeded", + "capacityAllocated": 36, + "capacityAssigned": 48 + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + } + }, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/PrivateEndpoint_Create.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/PrivateEndpoint_Create.json new file mode 100644 index 000000000000..977b24febe2f --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/PrivateEndpoint_Create.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "clusterName": "testcluster", + "privateEndpointName": "testpe", + "api-version": "2020-03-01", + "privateEndpoint": { + "properties": { + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/testcluster/privateEndpoints/AnExamplePrivateEndpoint", + "name": "An Example Private Endpoint", + "type": "Microsoft.StreamAnalytics/clusters/privateEndpoints", + "properties": { + "createdDate": "2020-03-01T01:00Z", + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Awaiting approval", + "actionsRequired": "None" + } + } + } + ] + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/testcluster/privateEndpoints/AnExamplePrivateEndpoint", + "name": "An Example Private Endpoint", + "type": "Microsoft.StreamAnalytics/clusters/privateEndpoints", + "properties": { + "createdDate": "2020-03-01T01:00Z", + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Awaiting approval", + "actionsRequired": "None" + } + } + } + ] + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/PrivateEndpoint_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/PrivateEndpoint_Delete.json new file mode 100644 index 000000000000..e219248ac76e --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/PrivateEndpoint_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "clusterName": "testcluster", + "privateEndpointName": "testpe", + "api-version": "2020-03-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/PrivateEndpoint_Get.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/PrivateEndpoint_Get.json new file mode 100644 index 000000000000..0b3909921a47 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/PrivateEndpoint_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "clusterName": "testcluster", + "privateEndpointName": "testpe", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/testcluster/privateEndpoints/AnExamplePrivateEndpoint", + "name": "An Example Private Endpoint", + "type": "Microsoft.StreamAnalytics/clusters/privateEndpoints", + "properties": { + "createdDate": "2020-03-01T01:00Z", + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "This connection request originated from Azure Stream Analytics cluster named \"testcluster\". Please approve this request to allow any Stream Analytics job running on that cluster to access this resource.", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Awaiting approval", + "actionsRequired": "None" + } + } + } + ] + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/PrivateEndpoint_ListByCluster.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/PrivateEndpoint_ListByCluster.json new file mode 100644 index 000000000000..b4d2fe7c6cfa --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/PrivateEndpoint_ListByCluster.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "clusterName": "testcluster", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/testcluster/privateEndpoints/AnExamplePrivateEndpoint", + "name": "An Example Private Endpoint", + "type": "Microsoft.StreamAnalytics/clusters/privateEndpoints", + "properties": { + "createdDate": "2020-03-01T01:00Z", + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Awaiting approval", + "actionsRequired": "None" + } + } + } + ] + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/testcluster/privateEndpoints/ADifferentPrivateEndpoint", + "name": "A Different Private Endpoint", + "type": "Microsoft.StreamAnalytics/clusters/privateEndpoints", + "properties": { + "createdDate": "2020-03-01T01:00Z", + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Awaiting approval", + "actionsRequired": "None" + } + } + } + ] + }, + "etag": "G97C0C81-D5B1-451D-AFC8-0B42D4729B8C" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/privateEndpoints.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/privateEndpoints.json new file mode 100644 index 000000000000..21357bd2fff4 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/privateEndpoints.json @@ -0,0 +1,366 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2020-03-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.StreamAnalytics/clusters/{clusterName}/privateEndpoints/{privateEndpointName}": { + "put": { + "tags": [ + "PrivateEndpoints" + ], + "description": "Creates a Stream Analytics Private Endpoint or replaces an already existing Private Endpoint.", + "operationId": "PrivateEndpoints_CreateOrUpdate", + "x-ms-examples": { + "Create a private endpoint": { + "$ref": "./examples/PrivateEndpoint_Create.json" + } + }, + "parameters": [ + { + "name": "privateEndpoint", + "description": "The definition of the private endpoint that will be used to create a new cluster or replace the existing one.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + } + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./clusters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/IfMatchHeader" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/IfNoneMatchHeader" + } + ], + "responses": { + "200": { + "description": "The private endpoint was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + } + }, + "201": { + "description": "The private endpoint was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + }, + "get": { + "tags": [ + "PrivateEndpoints" + ], + "description": "Gets information about the specified Private Endpoint.", + "operationId": "PrivateEndpoints_Get", + "x-ms-examples": { + "Get a private endpoint": { + "$ref": "./examples/PrivateEndpoint_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./clusters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified private endpoint.", + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + }, + "delete": { + "tags": [ + "PrivateEndpoints" + ], + "description": "Delete the specified private endpoint.", + "operationId": "PrivateEndpoints_Delete", + "x-ms-examples": { + "Delete a private endpoint": { + "$ref": "./examples/PrivateEndpoint_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./clusters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The private endpoint was successfully deleted." + }, + "202": { + "description": "The delete request was successfully initiated." + }, + "204": { + "description": "The private endpoint does not exist." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}/privateEndpoints": { + "get": { + "tags": [ + "PrivateEndpoints" + ], + "description": "Lists the private endpoints in the cluster.", + "operationId": "PrivateEndpoints_ListByCluster", + "x-ms-examples": { + "Get the private endpoints in a cluster": { + "$ref": "./examples/PrivateEndpoint_ListByCluster.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./clusters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the private endpoints under the specified cluster.", + "schema": { + "$ref": "#/definitions/PrivateEndpointListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "PrivateEndpoint": { + "type": "object", + "description": "Complete information about the private endpoint.", + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties associated with a private endpoint.", + "$ref": "#/definitions/PrivateEndpointProperties" + }, + "etag": { + "description": "Unique opaque string (generally a GUID) that represents the metadata state of the resource (private endpoint) and changes whenever the resource is updated. Required on PUT (CreateOrUpdate) requests.", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointProperties": { + "type": "object", + "description": "The properties associated with a private endpoint.", + "properties": { + "createdDate": { + "description": "The date when this private endpoint was created.", + "type": "string", + "readOnly": true + }, + "manualPrivateLinkServiceConnections": { + "description": "A list of connections to the remote resource. Immutable after it is set.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkServiceConnection" + } + } + } + }, + "PrivateLinkServiceConnection": { + "type": "object", + "description": "A grouping of information about the connection to the remote resource.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Bag of properties defining a privatelinkServiceConnection.", + "$ref": "#/definitions/PrivateLinkServiceConnectionProperties" + } + } + }, + "PrivateLinkServiceConnectionProperties": { + "type": "object", + "description": "Bag of properties defining a privatelinkServiceConnection.", + "properties": { + "privateLinkServiceId": { + "description": "The resource id of the private link service. Required on PUT (CreateOrUpdate) requests.", + "type": "string" + }, + "groupIds": { + "description": "The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. Required on PUT (CreateOrUpdate) requests.", + "type": "array", + "items": { + "type": "string" + } + }, + "requestMessage": { + "description": "A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars.", + "type": "string", + "readOnly": true + }, + "privateLinkServiceConnectionState": { + "description": "A collection of read-only information about the state of the connection to the private remote resource.", + "$ref": "#/definitions/PrivateLinkConnectionState" + } + } + }, + "PrivateLinkConnectionState": { + "type": "object", + "description": "A collection of read-only information about the state of the connection to the private remote resource.", + "properties": { + "status": { + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the remote resource/service.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The reason for approval/rejection of the connection.", + "type": "string", + "readOnly": true + }, + "actionsRequired": { + "description": "A message indicating if changes on the service provider require any updates on the consumer.", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointListResult": { + "type": "object", + "description": "A list of private endpoints.", + "properties": { + "value": { + "description": "A list of private endpoints.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "readOnly": true + }, + "nextLink": { + "description": "The URL to fetch the next set of private endpoints.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "PrivateEndpointNameParameter": { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/transformations.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/transformations.json index 5e04f4b0786d..c62eea89d688 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/transformations.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/transformations.json @@ -264,8 +264,12 @@ "description": "Specifies the number of streaming units that the streaming job uses." }, "validStreamingUnits": { - "type": "integer", - "format": "int32", + "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": { diff --git a/specification/streamanalytics/resource-manager/readme.go.md b/specification/streamanalytics/resource-manager/readme.go.md index c81d5dc82b87..1e9330c8ce58 100644 --- a/specification/streamanalytics/resource-manager/readme.go.md +++ b/specification/streamanalytics/resource-manager/readme.go.md @@ -2,13 +2,21 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION namespace: streamanalytics clear-output-folder: true ``` +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/streamanalytics/armstreamanalytics +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + ### Go multi-api ``` yaml $(go) && $(multiapi) diff --git a/specification/streamanalytics/resource-manager/readme.md b/specification/streamanalytics/resource-manager/readme.md index cdf5bcb37684..f2eb4f4c69b0 100644 --- a/specification/streamanalytics/resource-manager/readme.md +++ b/specification/streamanalytics/resource-manager/readme.md @@ -28,7 +28,25 @@ These are the global settings for the StreamAnalytics API. title: Stream Analytics Management Client description: Stream Analytics Client openapi-type: arm -tag: package-2020-03-preview +tag: package-pure-2020-03 +``` + +### Tag: package-2021-10-preview + +These settings apply only when `--tag=package-2021-10-preview` is specified on the command line. + +This section contains the composite set of APIs. Stream Analytics Cluster and Private Endpoint related APIs are under 2020-03-01-preview version. Streamingjobs related APIs are under 2021-10-01-preview version. + +```yaml $(tag) == 'package-2021-10-preview' +input-file: + - Microsoft.StreamAnalytics/preview/2021-10-01-preview/functions.json + - Microsoft.StreamAnalytics/preview/2021-10-01-preview/inputs.json + - Microsoft.StreamAnalytics/preview/2021-10-01-preview/outputs.json + - Microsoft.StreamAnalytics/preview/2021-10-01-preview/streamingjobs.json + - Microsoft.StreamAnalytics/preview/2021-10-01-preview/subscriptions.json + - Microsoft.StreamAnalytics/preview/2021-10-01-preview/transformations.json + - Microsoft.StreamAnalytics/preview/2020-03-01-preview/clusters.json + - Microsoft.StreamAnalytics/preview/2020-03-01-preview/privateEndpoints.json ``` ### Tag: package-2020-03-preview @@ -62,6 +80,8 @@ input-file: - Microsoft.StreamAnalytics/stable/2020-03-01/transformations.json - Microsoft.StreamAnalytics/stable/2020-03-01/functions.json - Microsoft.StreamAnalytics/stable/2020-03-01/subscriptions.json +- Microsoft.StreamAnalytics/stable/2020-03-01/clusters.json +- Microsoft.StreamAnalytics/stable/2020-03-01/privateEndpoints.json ``` ### Tag: package-pure-2020-03-preview @@ -121,6 +141,7 @@ swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-node - repo: azure-sdk-for-js - repo: azure-sdk-for-ruby diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/acceptOwnershipStatus.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/acceptOwnershipStatus.json new file mode 100644 index 000000000000..3c42d48cdd35 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/acceptOwnershipStatus.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "291bba3f-e0a5-47bc-a099-3bdcb2a50a05", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "subscriptionId": "291bba3f-e0a5-47bc-a099-3bdcb2a50a05", + "acceptOwnershipState": "Pending", + "billingOwner": "abc@test.com", + "subscriptionTenantId": "6c541ca7-1cab-4ea0-adde-6305e1d534e2", + "displayName": "Test Subscription", + "tags": { + "tag1": "TagValue1" + } + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/acceptSubscriptionOwnership.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/acceptSubscriptionOwnership.json new file mode 100644 index 000000000000..835a871f325b --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/acceptSubscriptionOwnership.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "291bba3f-e0a5-47bc-a099-3bdcb2a50a05", + "api-version": "2021-10-01", + "body": { + "properties": { + "displayName": "Test Subscription", + "managementGroupId": null, + "tags": { + "tag1": "Messi", + "tag2": "Ronaldo", + "tag3": "Lebron" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Subscription/subscriptionOperations/ODdmYTU0MDktODc5YS00ZTEzLTg2MWItNTQ4ZjYxNzBlOTQw?api-version=2021-10-01", + "Retry-After": 8 + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/cancelSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/cancelSubscription.json new file mode 100644 index 000000000000..fa4488fe3ba5 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/cancelSubscription.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "83aa47df-e3e9-49ff-877b-94304bf3d3ad", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": "83aa47df-e3e9-49ff-877b-94304bf3d3ad" + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/changeTenantPolicy.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/changeTenantPolicy.json new file mode 100644 index 000000000000..e32e2da8778f --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/changeTenantPolicy.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "body": { + "blockSubscriptionsLeavingTenant": true, + "blockSubscriptionsIntoTenant": true, + "exemptedPrincipals": [ + "e879cf0f-2b4d-5431-109a-f72fc9868693", + "9792da87-c97b-410d-a97d-27021ba09ce6" + ] + } + }, + "responses": { + "201": { + "body": { + "id": "providers/Microsoft.Subscription/policies/default", + "name": "default", + "type": "providers/Microsoft.Subscription/policies", + "properties": { + "policyId": "291bba3f-e0a5-47bc-a099-3bdcb2a50a05", + "blockSubscriptionsLeavingTenant": true, + "blockSubscriptionsIntoTenant": true, + "exemptedPrincipals": [ + "e879cf0f-2b4d-5431-109a-f72fc9868693", + "9792da87-c97b-410d-a97d-27021ba09ce6" + ] + } + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/createAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/createAlias.json new file mode 100644 index 000000000000..08dd4923913f --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/createAlias.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "aliasName": "aliasForNewSub", + "api-version": "2021-10-01", + "body": { + "properties": { + "displayName": "Test Subscription", + "workload": "Production", + "billingScope": "/billingAccounts/af6231a7-7f8d-4fcc-a993-dd8466108d07:c663dac6-a9a5-405a-8938-cd903e12ab5b_2019_05_31/billingProfiles/QWDQ-QWHI-AUW-SJDO-DJH/invoiceSections/FEUF-EUHE-ISJ-SKDW-DJH", + "subscriptionId": null, + "additionalProperties": { + "managementGroupId": null, + "subscriptionTenantId": "66f6e4d6-07dc-4aea-94ea-e12d3026a3c8", + "subscriptionOwnerId": "f09b39eb-c496-482c-9ab9-afd799572f4c", + "tags": { + "tag1": "Messi", + "tag2": "Ronaldo", + "tag3": "Lebron" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "string", + "name": "string", + "type": "string", + "properties": { + "subscriptionId": "e2283d0f-acad-4904-b803-627dd74cc072", + "displayName": "Test Subscription", + "provisioningState": "Accepted", + "acceptOwnershipUrl": "/providers/Microsoft.Subscription/e2283d0f-acad-4904-b803-627dd74cc072/acceptOwnership", + "acceptOwnershipState": "Pending", + "billingScope": "/billingAccounts/af6231a7-7f8d-4fcc-a993-dd8466108d07:c663dac6-a9a5-405a-8938-cd903e12ab5b_2019_05_31/billingProfiles/QWDQ-QWHI-AUW-SJDO-DJH/invoiceSections/FEUF-EUHE-ISJ-SKDW-DJH", + "workload": "Production", + "resellerId": null, + "subscriptionOwnerId": "f09b39eb-c496-482c-9ab9-afd799572f4c", + "managementGroupId": null, + "tags": { + "tag1": "Messi", + "tag2": "Ronaldo", + "tag3": "Lebron" + } + } + } + }, + "201": { + "body": { + "id": "string", + "name": "string", + "type": "string", + "properties": { + "subscriptionId": "e2283d0f-acad-4904-b803-627dd74cc072", + "displayName": "Test Subscription", + "provisioningState": "Accepted", + "acceptOwnershipUrl": "/providers/Microsoft.Subscription/e2283d0f-acad-4904-b803-627dd74cc072/acceptOwnership", + "acceptOwnershipState": "Pending", + "billingScope": "/billingAccounts/af6231a7-7f8d-4fcc-a993-dd8466108d07:c663dac6-a9a5-405a-8938-cd903e12ab5b_2019_05_31/billingProfiles/QWDQ-QWHI-AUW-SJDO-DJH/invoiceSections/FEUF-EUHE-ISJ-SKDW-DJH", + "workload": "Production", + "resellerId": null, + "subscriptionOwnerId": "f09b39eb-c496-482c-9ab9-afd799572f4c", + "managementGroupId": null, + "tags": { + "tag1": "Messi", + "tag2": "Ronaldo", + "tag3": "Lebron" + } + } + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/deleteAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/deleteAlias.json new file mode 100644 index 000000000000..8f4e2f439138 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/deleteAlias.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "aliasName": "aliasForNewSub", + "api-version": "2021-10-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/enableSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/enableSubscription.json new file mode 100644 index 000000000000..a037a59b54c7 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/enableSubscription.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "7948bcee-488c-47ce-941c-38e20ede803d", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": "7948bcee-488c-47ce-941c-38e20ede803d" + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/getAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/getAlias.json new file mode 100644 index 000000000000..ac449d4fc8f8 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/getAlias.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "aliasName": "aliasForNewSub", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "id": "string", + "name": "string", + "type": "string", + "properties": { + "subscriptionId": "e2283d0f-acad-4904-b803-627dd74cc072", + "displayName": "Test Subscription", + "provisioningState": "Accepted", + "acceptOwnershipUrl": "/providers/Microsoft.Subscription/e2283d0f-acad-4904-b803-627dd74cc072/acceptOwnership", + "acceptOwnershipState": "Pending", + "billingScope": "/billingAccounts/af6231a7-7f8d-4fcc-a993-dd8466108d07:c663dac6-a9a5-405a-8938-cd903e12ab5b_2019_05_31/billingProfiles/QWDQ-QWHI-AUW-SJDO-DJH/invoiceSections/FEUF-EUHE-ISJ-SKDW-DJH", + "workload": "Production", + "resellerId": null, + "subscriptionOwnerId": "f09b39eb-c496-482c-9ab9-afd799572f4c", + "managementGroupId": null, + "tags": { + "tag1": "Messi", + "tag2": "Ronaldo", + "tag3": "Lebron" + } + } + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/getBillingAccountPolicy.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/getBillingAccountPolicy.json new file mode 100644 index 000000000000..4226b82f1905 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/getBillingAccountPolicy.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "billingAccountId": "testBillingAccountId", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Subscription/Policies/policyForBillingAccount", + "name": "testBillingAccountId", + "type": "Microsoft.Subscription/policies", + "properties": { + "serviceTenants": [ + { + "tenantName": "testServiceTenant", + "tenantId": "b8ed2088-c458-4e77-bd61-9e048d96a1c0" + } + ], + "allowTransfers": true + } + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/getOperations.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/getOperations.json new file mode 100644 index 000000000000..093d60d70652 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/getOperations.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Subscription/createOperation/action", + "isDataAction": false, + "display": { + "provider": "Microsoft Subscription", + "resource": "Resources", + "operation": "Create a subscription" + } + } + ] + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/getTenantPolicy.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/getTenantPolicy.json new file mode 100644 index 000000000000..319d10f6c60d --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/getTenantPolicy.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Subscription/policies/default", + "name": "default", + "type": "providers/Microsoft.Subscription/policies", + "properties": { + "policyId": "291bba3f-e0a5-47bc-a099-3bdcb2a50a05", + "blockSubscriptionsLeavingTenant": true, + "blockSubscriptionsIntoTenant": true, + "exemptedPrincipals": [ + "e879cf0f-2b4d-5431-109a-f72fc9868693", + "9792da87-c97b-410d-a97d-27021ba09ce6" + ] + } + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/getTenantPolicyList.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/getTenantPolicyList.json new file mode 100644 index 000000000000..50264605a9ea --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/getTenantPolicyList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Subscription/policies/default", + "name": "default", + "type": "providers/Microsoft.Subscription/policies", + "properties": { + "policyId": "291bba3f-e0a5-47bc-a099-3bdcb2a50a05", + "blockSubscriptionsLeavingTenant": true, + "blockSubscriptionsIntoTenant": true, + "exemptedPrincipals": [ + "e879cf0f-2b4d-5431-109a-f72fc9868693", + "9792da87-c97b-410d-a97d-27021ba09ce6" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/listAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/listAlias.json new file mode 100644 index 000000000000..9f58aa5887f7 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/listAlias.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "string", + "name": "string", + "type": "string", + "properties": { + "subscriptionId": "e2283d0f-acad-4904-b803-627dd74cc072", + "displayName": "Test Subscription", + "provisioningState": "Accepted", + "acceptOwnershipUrl": "/providers/Microsoft.Subscription/e2283d0f-acad-4904-b803-627dd74cc072/acceptOwnership", + "acceptOwnershipState": "Pending", + "billingScope": "/billingAccounts/af6231a7-7f8d-4fcc-a993-dd8466108d07:c663dac6-a9a5-405a-8938-cd903e12ab5b_2019_05_31/billingProfiles/QWDQ-QWHI-AUW-SJDO-DJH/invoiceSections/FEUF-EUHE-ISJ-SKDW-DJH", + "workload": "Production", + "resellerId": null, + "subscriptionOwnerId": "f09b39eb-c496-482c-9ab9-afd799572f4c", + "managementGroupId": null, + "tags": { + "tag1": "Messi", + "tag2": "Ronaldo", + "tag3": "Lebron" + } + } + }, + { + "id": "string", + "name": "string", + "type": "string", + "properties": { + "subscriptionId": "091c6e56-a835-4422-a082-0427308ca9ee", + "displayName": "Test Subscription 2", + "provisioningState": "Accepted", + "acceptOwnershipUrl": "/providers/Microsoft.Subscription/091c6e56-a835-4422-a082-0427308ca9ee/acceptOwnership", + "acceptOwnershipState": "Pending", + "billingScope": "/billingAccounts/af6231a7-7f8d-4fcc-a993-dd8466108d07:c663dac6-a9a5-405a-8938-cd903e12ab5b_2019_05_31/billingProfiles/QWDQ-QWHI-AUW-SJDO-DJH/invoiceSections/FEUF-EUHE-ISJ-SKDW-DJH", + "workload": "Production", + "resellerId": null, + "subscriptionOwnerId": "f09b39eb-c496-482c-9ab9-afd799572f4c", + "managementGroupId": null, + "tags": { + "tag1": "Messi2", + "tag2": "Ronaldo2", + "tag3": "Lebron2" + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/renameSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/renameSubscription.json new file mode 100644 index 000000000000..aca74fcc469d --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/examples/renameSubscription.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "83aa47df-e3e9-49ff-877b-94304bf3d3ad", + "api-version": "2021-10-01", + "body": { + "subscriptionName": "Test Sub" + } + }, + "responses": { + "200": { + "body": { + "value": "83aa47df-e3e9-49ff-877b-94304bf3d3ad" + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/subscriptions.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/subscriptions.json new file mode 100644 index 000000000000..164ffff06e67 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/subscriptions.json @@ -0,0 +1,1135 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01", + "title": "SubscriptionClient", + "description": "Subscription client provides an interface to create and manage Azure subscriptions programmatically." + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/cancel": { + "post": { + "operationId": "Subscription_Cancel", + "x-ms-examples": { + "cancelSubscription": { + "$ref": "./examples/cancelSubscription.json" + } + }, + "description": "The operation to cancel a subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CanceledSubscriptionId" + } + }, + "default": { + "description": "Describes the error if the operation is not successful.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/rename": { + "post": { + "operationId": "Subscription_Rename", + "x-ms-examples": { + "renameSubscription": { + "$ref": "./examples/renameSubscription.json" + } + }, + "description": "The operation to rename a subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/subscriptionNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/RenamedSubscriptionId" + } + }, + "default": { + "description": "Describes the error if the operation is not successful.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/enable": { + "post": { + "operationId": "Subscription_Enable", + "x-ms-examples": { + "enableSubscription": { + "$ref": "./examples/enableSubscription.json" + } + }, + "description": "The operation to enable a subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnabledSubscriptionId" + } + }, + "default": { + "description": "Describes the error if the operation is not successful.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + } + } + }, + "/providers/Microsoft.Subscription/operations": { + "get": { + "description": "Lists all of the available Microsoft.Subscription API operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "getOperations": { + "$ref": "./examples/getOperations.json" + } + }, + "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/ErrorResponseBody" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Subscription/aliases/{aliasName}": { + "put": { + "description": "Create Alias Subscription.", + "operationId": "Alias_Create", + "x-ms-examples": { + "CreateAlias": { + "$ref": "./examples/createAlias.json" + } + }, + "x-ms-long-running-operation": true, + "responses": { + "200": { + "description": "Normal response for a successful query.", + "schema": { + "$ref": "#/definitions/SubscriptionAliasResponse" + } + }, + "201": { + "description": "Accepted. Subscription creation is in progress.", + "schema": { + "$ref": "#/definitions/SubscriptionAliasResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/aliasNameParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PutAliasRequest" + } + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + }, + "get": { + "description": "Get Alias Subscription.", + "operationId": "Alias_Get", + "x-ms-examples": { + "GetAlias": { + "$ref": "./examples/getAlias.json" + } + }, + "responses": { + "200": { + "description": "Subscription details.", + "schema": { + "$ref": "#/definitions/SubscriptionAliasResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/aliasNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + }, + "delete": { + "description": "Delete Alias.", + "operationId": "Alias_Delete", + "x-ms-examples": { + "DeleteAlias": { + "$ref": "./examples/deleteAlias.json" + } + }, + "responses": { + "200": { + "description": "Deleted the alias" + }, + "204": { + "description": "Alias does not exist" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/aliasNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + } + }, + "/providers/Microsoft.Subscription/aliases": { + "get": { + "description": "List Alias Subscription.", + "operationId": "Alias_List", + "x-ms-examples": { + "ListAlias": { + "$ref": "./examples/listAlias.json" + } + }, + "responses": { + "200": { + "description": "Subscription details.", + "schema": { + "$ref": "#/definitions/SubscriptionAliasListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + } + }, + "/providers/Microsoft.Subscription/{subscriptionId}/acceptOwnership": { + "post": { + "description": "Accept subscription ownership.", + "operationId": "Subscription_AcceptOwnership", + "x-ms-examples": { + "AcceptOwnership": { + "$ref": "./examples/acceptSubscriptionOwnership.json" + } + }, + "x-ms-long-running-operation": true, + "responses": { + "202": { + "description": "Accept Subscription ownership is in progress", + "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": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AcceptOwnershipRequest" + } + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + } + }, + "/providers/Microsoft.Subscription/{subscriptionId}/acceptOwnershipStatus": { + "get": { + "description": "Accept subscription ownership status.", + "operationId": "Subscription_AcceptOwnershipStatus", + "x-ms-examples": { + "AcceptOwnershipStatus": { + "$ref": "./examples/acceptOwnershipStatus.json" + } + }, + "responses": { + "200": { + "description": "Subscription details.", + "schema": { + "$ref": "#/definitions/AcceptOwnershipStatusResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + } + }, + "/providers/Microsoft.Subscription/policies/default": { + "put": { + "description": "Create or Update Subscription tenant policy for user's tenant.", + "operationId": "SubscriptionPolicy_AddUpdatePolicyForTenant", + "x-ms-examples": { + "TenantPolicy": { + "$ref": "./examples/changeTenantPolicy.json" + } + }, + "responses": { + "201": { + "description": "Subscription tenant policy has been successfully created/updated.", + "schema": { + "$ref": "#/definitions/GetTenantPolicyResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PutTenantPolicyRequestProperties" + } + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + }, + "get": { + "description": "Get the subscription tenant policy for the user's tenant.", + "operationId": "SubscriptionPolicy_GetPolicyForTenant", + "x-ms-examples": { + "getTenantPolicy": { + "$ref": "./examples/getTenantPolicy.json" + } + }, + "responses": { + "200": { + "description": "Subscription tenant policy details for user's tenant.", + "schema": { + "$ref": "#/definitions/GetTenantPolicyResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + } + }, + "/providers/Microsoft.Subscription/policies": { + "get": { + "description": "Get the subscription tenant policy for the user's tenant.", + "operationId": "SubscriptionPolicy_ListPolicyForTenant", + "x-ms-examples": { + "getTenantPolicyList": { + "$ref": "./examples/getTenantPolicyList.json" + } + }, + "responses": { + "200": { + "description": "Subscription tenant policy details for user's tenant.", + "schema": { + "$ref": "#/definitions/GetTenantPolicyListResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Subscription/policies/default": { + "get": { + "description": "Get Billing Account Policy.", + "operationId": "BillingAccount_GetPolicy", + "x-ms-examples": { + "GetBillingAccountPolicy": { + "$ref": "./examples/getBillingAccountPolicy.json" + } + }, + "responses": { + "200": { + "description": "Normal response for a successful query.", + "schema": { + "$ref": "#/definitions/BillingAccountPoliciesResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + } + } + }, + "definitions": { + "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" + } + } + }, + "ErrorResponseBody": { + "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/ErrorResponse" + }, + "code": { + "description": "Error code", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "CanceledSubscriptionId": { + "description": "The ID of the canceled subscription", + "type": "object", + "properties": { + "value": { + "description": "The ID of the canceled subscription", + "type": "string", + "readOnly": true + } + } + }, + "RenamedSubscriptionId": { + "description": "The ID of the subscriptions that is being renamed", + "type": "object", + "properties": { + "value": { + "description": "The ID of the subscriptions that is being renamed", + "type": "string", + "readOnly": true + } + } + }, + "EnabledSubscriptionId": { + "description": "The ID of the subscriptions that is being enabled", + "type": "object", + "properties": { + "value": { + "description": "The ID of the subscriptions that is being enabled", + "type": "string", + "readOnly": true + } + } + }, + "SubscriptionName": { + "type": "object", + "description": "The new name of the subscription.", + "properties": { + "subscriptionName": { + "type": "string", + "description": "New subscription name" + } + } + }, + "OperationListResult": { + "description": "Result of the request to list operations. It contains a list of operations and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of operations." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "description": "The object that represents the operation.", + "type": "object", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Subscription", + "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": "Localized friendly description for the operation", + "type": "string" + } + } + } + } + }, + "PutAliasRequest": { + "description": "The parameters required to create a new subscription.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PutAliasRequestProperties", + "description": "Put alias request properties." + } + } + }, + "PutAliasRequestProperties": { + "description": "Put subscription properties.", + "type": "object", + "properties": { + "displayName": { + "description": "The friendly name of the subscription.", + "type": "string" + }, + "workload": { + "$ref": "#/definitions/Workload" + }, + "billingScope": { + "$ref": "#/definitions/BillingScope" + }, + "subscriptionId": { + "description": "This parameter can be used to create alias for existing subscription Id", + "type": "string" + }, + "resellerId": { + "description": "Reseller Id", + "type": "string" + }, + "additionalProperties": { + "$ref": "#/definitions/PutAliasRequestAdditionalProperties", + "description": "Put alias request additional properties." + } + } + }, + "PutAliasRequestAdditionalProperties": { + "description": "Put subscription additional properties.", + "type": "object", + "properties": { + "managementGroupId": { + "description": "Management group Id for the subscription.", + "type": "string" + }, + "subscriptionTenantId": { + "description": "Tenant Id of the subscription", + "type": "string" + }, + "subscriptionOwnerId": { + "description": "Owner Id of the subscription", + "type": "string" + }, + "tags": { + "description": "Tags for the subscription", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SubscriptionAliasResponse": { + "description": "Subscription Information with the alias.", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified ID for the alias resource.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Alias ID.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Resource type, Microsoft.Subscription/aliases.", + "readOnly": true, + "type": "string" + }, + "properties": { + "$ref": "#/definitions/SubscriptionAliasResponseProperties", + "description": "Subscription Alias response properties." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "SubscriptionAliasResponseProperties": { + "description": "Put subscription creation result properties.", + "type": "object", + "properties": { + "subscriptionId": { + "description": "Newly created subscription Id.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name of the subscription.", + "type": "string" + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the resource.", + "enum": [ + "Accepted", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "acceptOwnershipUrl": { + "description": "Url to accept ownership of the subscription.", + "type": "string", + "readOnly": true + }, + "acceptOwnershipState": { + "$ref": "#/definitions/AcceptOwnershipState" + }, + "billingScope": { + "$ref": "#/definitions/BillingScope" + }, + "workload": { + "$ref": "#/definitions/Workload" + }, + "resellerId": { + "description": "Reseller Id", + "type": "string" + }, + "subscriptionOwnerId": { + "description": "Owner Id of the subscription", + "type": "string" + }, + "managementGroupId": { + "description": "The Management Group Id.", + "type": "string" + }, + "tags": { + "description": "Tags for the subscription", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SubscriptionAliasListResult": { + "description": "The list of aliases.", + "type": "object", + "properties": { + "value": { + "description": "The list of alias.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SubscriptionAliasResponse" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "AcceptOwnershipRequest": { + "description": "The parameters required to accept subscription ownership.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AcceptOwnershipRequestProperties", + "description": "Accept subscription ownership request properties." + } + } + }, + "AcceptOwnershipRequestProperties": { + "description": "Accept subscription ownership request properties.", + "type": "object", + "required": [ + "displayName" + ], + "properties": { + "displayName": { + "description": "The friendly name of the subscription.", + "type": "string" + }, + "managementGroupId": { + "description": "Management group Id for the subscription.", + "type": "string" + }, + "tags": { + "description": "Tags for the subscription", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "AcceptOwnershipStatusResponse": { + "description": "Subscription Accept Ownership Response", + "type": "object", + "properties": { + "subscriptionId": { + "description": "Newly created subscription Id.", + "readOnly": true, + "type": "string" + }, + "acceptOwnershipState": { + "$ref": "#/definitions/AcceptOwnershipState" + }, + "billingOwner": { + "description": "UPN of the billing owner", + "readOnly": true, + "type": "string" + }, + "subscriptionTenantId": { + "description": "Tenant Id of the subscription", + "type": "string" + }, + "displayName": { + "description": "The display name of the subscription.", + "type": "string" + }, + "tags": { + "description": "Tags for the subscription", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PutTenantPolicyRequestProperties": { + "description": "Put tenant policy request properties.", + "type": "object", + "properties": { + "blockSubscriptionsLeavingTenant": { + "description": "Blocks the leaving of subscriptions from user's tenant.", + "type": "boolean" + }, + "blockSubscriptionsIntoTenant": { + "description": "Blocks the entering of subscriptions into user's tenant.", + "type": "boolean" + }, + "exemptedPrincipals": { + "description": "List of user objectIds that are exempted from the set subscription tenant policies for the user's tenant.", + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "example": "00000000-0000-0000-0000-000000000000" + } + } + } + }, + "GetTenantPolicyResponse": { + "description": "Tenant policy Information.", + "type": "object", + "properties": { + "id": { + "description": "Policy Id.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Policy name.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Resource type.", + "readOnly": true, + "type": "string" + }, + "properties": { + "$ref": "#/definitions/TenantPolicy", + "description": "Tenant policy properties." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "GetTenantPolicyListResponse": { + "description": "Tenant policy information list.", + "type": "object", + "properties": { + "value": { + "description": "The list of tenant policies.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/GetTenantPolicyResponse" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "BillingAccountPoliciesResponse": { + "description": "Billing account policies information.", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified ID for the policy.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Policy name.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Resource type.", + "readOnly": true, + "type": "string" + }, + "properties": { + "$ref": "#/definitions/BillingAccountPoliciesResponseProperties", + "description": "Billing account policies response properties." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "BillingAccountPoliciesResponseProperties": { + "description": "Put billing account policies response properties.", + "type": "object", + "properties": { + "serviceTenants": { + "description": "Service tenant for the billing account.", + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/ServiceTenantResponse", + "description": "Billing account service tenant." + } + }, + "allowTransfers": { + "description": "Determine if the transfers are allowed for the billing account", + "type": "boolean" + } + } + }, + "TenantPolicy": { + "description": "Tenant policy.", + "type": "object", + "properties": { + "policyId": { + "description": "Policy Id.", + "type": "string", + "readOnly": true + }, + "blockSubscriptionsLeavingTenant": { + "description": "Blocks the leaving of subscriptions from user's tenant.", + "type": "boolean" + }, + "blockSubscriptionsIntoTenant": { + "description": "Blocks the entering of subscriptions into user's tenant.", + "type": "boolean" + }, + "exemptedPrincipals": { + "description": "List of user objectIds that are exempted from the set subscription tenant policies for the user's tenant.", + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "example": "00000000-0000-0000-0000-000000000000" + } + } + } + }, + "Workload": { + "description": "The workload type of the subscription. It can be either Production or DevTest.", + "type": "string", + "x-ms-enum": { + "name": "workload", + "modelAsString": true + }, + "enum": [ + "Production", + "DevTest" + ] + }, + "BillingScope": { + "description": "Billing scope of the subscription.\nFor CustomerLed and FieldLed - /billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}\nFor PartnerLed - /billingAccounts/{billingAccountName}/customers/{customerName}\nFor Legacy EA - /billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}", + "type": "string" + }, + "AcceptOwnershipState": { + "readOnly": true, + "type": "string", + "description": "The accept ownership state of the resource.", + "enum": [ + "Pending", + "Completed", + "Expired" + ], + "x-ms-enum": { + "name": "AcceptOwnership", + "modelAsString": true + } + }, + "ServiceTenantResponse": { + "description": "Billing account service tenant.", + "type": "object", + "properties": { + "tenantId": { + "description": "Service tenant id.", + "type": "string" + }, + "tenantName": { + "description": "Service tenant name.", + "type": "string" + } + } + } + }, + "parameters": { + "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 2021-10-01" + }, + "subscriptionIdParameter": { + "name": "subscriptionId", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription Id." + }, + "subscriptionNameParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Subscription Name", + "schema": { + "$ref": "#/definitions/SubscriptionName" + } + }, + "aliasNameParameter": { + "name": "aliasName", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "AliasName is the name for the subscription creation request. Note that this is not the same as subscription name and this doesn’t have any other lifecycle need beyond the request for subscription creation." + }, + "billingAccountIdParameter": { + "name": "billingAccountId", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "Billing Account Id." + } + }, + "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" + } + } + } +} diff --git a/specification/subscription/resource-manager/readme.md b/specification/subscription/resource-manager/readme.md index 461dc794f01b..e7ed20ea460b 100644 --- a/specification/subscription/resource-manager/readme.md +++ b/specification/subscription/resource-manager/readme.md @@ -31,7 +31,18 @@ These are the global settings for the Subscription API. ``` yaml openapi-type: arm -tag: package-2020-09 +tag: package-2021-10 +``` + +### Tag: package-2021-10 + +These settings apply only when `--tag=package-2021-10` is specified on the command line. + +``` yaml $(tag) == 'package-2021-10' +input-file: +- Microsoft.Subscription/stable/2021-10-01/subscriptions.json +title: SubscriptionClient +description: The subscription client ``` ### Tag: package-2020-09 diff --git a/specification/synapse/common/v1/types.json b/specification/synapse/common/v1/types.json index 7dc6ee3062dd..1b6f3a059855 100644 --- a/specification/synapse/common/v1/types.json +++ b/specification/synapse/common/v1/types.json @@ -137,6 +137,95 @@ "$ref": "#/definitions/ErrorDetail" } } + }, + "OperationResource": { + "type": "object", + "description": "An operation", + "properties": { + "id": { + "type": "string", + "description": "Operation ID" + }, + "name": { + "type": "string", + "description": "Operation name" + }, + "status": { + "enum": [ + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "description": "Operation status", + "type": "string", + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": true + } + }, + "properties": { + "type": "object", + "description": "Operation properties", + "x-ms-client-flatten": true + }, + "error": { + "$ref": "../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail", + "description": "Errors from the operation" + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Operation start time" + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "Operation start time" + }, + "percentComplete": { + "type": "number", + "description": "Completion percentage of the operation" + } + } + }, + "LibraryInfo": { + "type": "object", + "description": "Library/package information of a Big Data pool powered by Apache Spark", + "title": "Information about a library/package created at the workspace level.", + "properties": { + "name": { + "type": "string", + "description": "Name of the library." + }, + "path": { + "type": "string", + "description": "Storage blob path of library." + }, + "containerName": { + "type": "string", + "description": "Storage blob container name." + }, + "uploadedTimestamp": { + "type": "string", + "format": "date-time", + "description": "The last update time of the library." + }, + "type": { + "type": "string", + "description": "Type of the library." + }, + "provisioningStatus": { + "readOnly": true, + "type": "string", + "description": "Provisioning status of the library/package." + }, + "creatorId": { + "readOnly": true, + "type": "string", + "description": "Creator Id of the library/package." + } + } } }, "parameters": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json index 2aaacc2f4590..1dcb435251ff 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json @@ -2945,6 +2945,13 @@ "description": "Data flow instance.", "$ref": "#/definitions/DataFlowResource" }, + "dataFlows": { + "description": "List of Data flows", + "type": "array", + "items": { + "$ref": "#/definitions/DataFlowResource" + } + }, "datasets": { "type": "array", "description": "List of datasets.", @@ -3868,6 +3875,13 @@ "description": "Data flow instance.", "$ref": "#/definitions/DataFlowDebugResource" }, + "dataFlows": { + "description": "List of Data flows", + "type": "array", + "items": { + "$ref": "#/definitions/DataFlowDebugResource" + } + }, "datasets": { "type": "array", "description": "List of datasets.", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/DataFlow.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/DataFlow.json index fddcd5499885..1b629dcb637d 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/DataFlow.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/DataFlow.json @@ -58,6 +58,23 @@ } } }, + "Flowlet": { + "x-ms-discriminator-value": "Flowlet", + "description": "Data flow flowlet", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataFlow" + } + ], + "properties": { + "typeProperties": { + "description": "Flowlet type properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/FlowletTypeProperties" + } + } + }, "MappingDataFlowTypeProperties": { "description": "Mapping data flow type properties.", "type": "object", @@ -86,6 +103,13 @@ "script": { "type": "string", "description": "DataFlow script." + }, + "scriptLines": { + "type": "array", + "description": "Data flow script lines.", + "items": { + "type": "string" + } } } }, @@ -100,6 +124,10 @@ "description": { "description": "Transformation description.", "type": "string" + }, + "flowlet": { + "description": "Flowlet Reference", + "$ref": "../artifacts.json#/definitions/DataFlowReference" } }, "required": [ @@ -126,6 +154,10 @@ "schemaLinkedService": { "description": "Schema linked service reference.", "$ref": "../artifacts.json#/definitions/LinkedServiceReference" + }, + "flowlet": { + "description": "Flowlet Reference", + "$ref": "../artifacts.json#/definitions/DataFlowReference" } } }, @@ -149,6 +181,48 @@ "schemaLinkedService": { "description": "Schema linked service reference.", "$ref": "../artifacts.json#/definitions/LinkedServiceReference" + }, + "flowlet": { + "description": "Flowlet Reference", + "$ref": "../artifacts.json#/definitions/DataFlowReference" + } + } + }, + "FlowletTypeProperties": { + "description": "Flowlet type properties.", + "type": "object", + "properties": { + "sources": { + "type": "array", + "description": "List of sources in Flowlet.", + "items": { + "$ref": "#/definitions/DataFlowSource" + } + }, + "sinks": { + "type": "array", + "description": "List of sinks in Flowlet.", + "items": { + "$ref": "#/definitions/DataFlowSink" + } + }, + "transformations": { + "type": "array", + "description": "List of transformations in Flowlet.", + "items": { + "$ref": "#/definitions/Transformation" + } + }, + "script": { + "type": "string", + "description": "Flowlet script." + }, + "scriptLines": { + "type": "array", + "description": "Flowlet script lines.", + "items": { + "type": "string" + } } } } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/dataflows.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/dataflows.json index 8ef780903d4b..b51bb07565aa 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/dataflows.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/dataflows.json @@ -630,6 +630,13 @@ "description": "Data flow instance.", "$ref": "#/definitions/DataFlowDebugResource" }, + "dataFlows": { + "description": "List of Data flows", + "type": "array", + "items": { + "$ref": "#/definitions/DataFlowDebugResource" + } + }, "datasets": { "type": "array", "description": "List of datasets.", @@ -745,6 +752,13 @@ "description": "Data flow instance.", "$ref": "dataflows.json#/definitions/DataFlowResource" }, + "dataFlows": { + "description": "List of Data flows", + "type": "array", + "items": { + "$ref": "#/definitions/DataFlowResource" + } + }, "datasets": { "type": "array", "description": "List of datasets.", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/DataFlow.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/DataFlow.json index 6af5bdd24312..4a9625adf09b 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/DataFlow.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/DataFlow.json @@ -58,6 +58,23 @@ } } }, + "Flowlet": { + "x-ms-discriminator-value": "Flowlet", + "description": "Data flow flowlet", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataFlow" + } + ], + "properties": { + "typeProperties": { + "description": "Flowlet type properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/FlowletTypeProperties" + } + } + }, "MappingDataFlowTypeProperties": { "description": "Mapping data flow type properties.", "type": "object", @@ -86,6 +103,13 @@ "script": { "type": "string", "description": "DataFlow script." + }, + "scriptLines": { + "type": "array", + "description": "Data flow script lines.", + "items": { + "type": "string" + } } } }, @@ -100,6 +124,10 @@ "description": { "description": "Transformation description.", "type": "string" + }, + "flowlet": { + "description": "Flowlet Reference", + "$ref": "../artifacts.json#/definitions/DataFlowReference" } }, "required": [ @@ -126,6 +154,10 @@ "schemaLinkedService": { "description": "Schema linked service reference.", "$ref": "../artifacts.json#/definitions/LinkedServiceReference" + }, + "flowlet": { + "description": "Flowlet Reference", + "$ref": "../artifacts.json#/definitions/DataFlowReference" } } }, @@ -149,6 +181,48 @@ "schemaLinkedService": { "description": "Schema linked service reference.", "$ref": "../artifacts.json#/definitions/LinkedServiceReference" + }, + "flowlet": { + "description": "Flowlet Reference", + "$ref": "../artifacts.json#/definitions/DataFlowReference" + } + } + }, + "FlowletTypeProperties": { + "description": "Flowlet type properties.", + "type": "object", + "properties": { + "sources": { + "type": "array", + "description": "List of sources in Flowlet.", + "items": { + "$ref": "#/definitions/DataFlowSource" + } + }, + "sinks": { + "type": "array", + "description": "List of sinks in Flowlet.", + "items": { + "$ref": "#/definitions/DataFlowSink" + } + }, + "transformations": { + "type": "array", + "description": "List of transformations in Flowlet.", + "items": { + "$ref": "#/definitions/Transformation" + } + }, + "script": { + "type": "string", + "description": "Flowlet script." + }, + "scriptLines": { + "type": "array", + "description": "Flowlet script lines.", + "items": { + "type": "string" + } } } } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/Dataset.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/Dataset.json index 8eaff42be9cc..f0ae949b559d 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/Dataset.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/Dataset.json @@ -397,13 +397,16 @@ ] }, "DatasetCompression": { - "discriminator": "type", "description": "The compression method used on a dataset.", "type": "object", "properties": { "type": { - "type": "string", - "description": "Type of dataset compression." + "type": "object", + "description": "Type of dataset compression. Type: string (or Expression with resultType string)." + }, + "level": { + "type": "object", + "description": "The dataset compression level. Type: string (or Expression with resultType string)." } }, "additionalProperties": { @@ -413,92 +416,6 @@ "type" ] }, - "DatasetBZip2Compression": { - "x-ms-discriminator-value": "BZip2", - "description": "The BZip2 compression method used on a dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DatasetCompression" - } - ], - "properties": {} - }, - "DatasetGZipCompression": { - "x-ms-discriminator-value": "GZip", - "description": "The GZip compression method used on a dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DatasetCompression" - } - ], - "properties": { - "level": { - "type": "object", - "description": "The GZip compression level. Type: string (or Expression with resultType string)." - } - } - }, - "DatasetDeflateCompression": { - "x-ms-discriminator-value": "Deflate", - "description": "The Deflate compression method used on a dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DatasetCompression" - } - ], - "properties": { - "level": { - "type": "object", - "description": "The Deflate compression level. Type: string (or Expression with resultType string)." - } - } - }, - "DatasetZipDeflateCompression": { - "x-ms-discriminator-value": "ZipDeflate", - "description": "The ZipDeflate compression method used on a dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DatasetCompression" - } - ], - "properties": { - "level": { - "type": "object", - "description": "The ZipDeflate compression level. Type: string (or Expression with resultType string)." - } - } - }, - "DatasetTarCompression": { - "x-ms-discriminator-value": "Tar", - "description": "The Tar archive method used on a dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DatasetCompression" - } - ], - "properties": {} - }, - "DatasetTarGZipCompression": { - "x-ms-discriminator-value": "TarGZip", - "description": "The TarGZip compression method used on a dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DatasetCompression" - } - ], - "properties": { - "level": { - "type": "object", - "description": "The TarGZip compression level. Type: string (or Expression with resultType string)." - } - } - }, "CompressionLevel": { "title": "Microsoft.Azure.Management.DataFactories.Models.CompressionLevel", "description": "All available compression levels.", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/LinkedService.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/LinkedService.json index b43615929a7c..f85730971b13 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/LinkedService.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/LinkedService.json @@ -764,7 +764,7 @@ "ServicePrincipalKey", "ServicePrincipalCert" ], - "type": "object", + "type": "string", "description": "The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string)." }, "CommonDataServiceForAppsLinkedService": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/Notebook.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/Notebook.json index 955392b60359..37819ab50071 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/Notebook.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/Notebook.json @@ -46,6 +46,7 @@ "folder": { "description": "The folder that this notebook is in. If not specified, this notebook will appear at the root level.", "type": "object", + "x-nullable": true, "properties": { "name": { "description": "The name of the folder that this notebook is in.", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/Pipeline.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/Pipeline.json index d49499a7eaa2..7c9801518e66 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/Pipeline.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/Pipeline.json @@ -652,6 +652,10 @@ "useBinaryTransfer": { "type": "boolean", "description": "Specify whether to use binary transfer mode for FTP stores." + }, + "disableChunking": { + "type": "object", + "description": "If true, disable parallel reading within each file. Default is false. Type: boolean (or Expression with resultType boolean)." } } }, @@ -699,6 +703,10 @@ "modifiedDatetimeEnd": { "type": "object", "description": "The end of file's modified datetime. Type: string (or Expression with resultType string)." + }, + "disableChunking": { + "type": "object", + "description": "If true, disable parallel reading within each file. Default is false. Type: boolean (or Expression with resultType boolean)." } } }, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/SparkJobDefinition.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/SparkJobDefinition.json index a3d67ba9b4e8..31b2ef7f4040 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/SparkJobDefinition.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/SparkJobDefinition.json @@ -33,6 +33,7 @@ "folder": { "description": "The folder that this Spark job definition is in. If not specified, this Spark job definition will appear at the root level.", "type": "object", + "x-nullable": true, "properties": { "name": { "description": "The name of the folder that this Spark job definition is in.", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/SqlScript.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/SqlScript.json index bee2e7b5f972..3d41e9c10b34 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/SqlScript.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/SqlScript.json @@ -32,6 +32,7 @@ "folder": { "description": "The folder that this SQL script is in. If not specified, this SQL script will appear at the root level.", "type": "object", + "x-nullable": true, "properties": { "name": { "description": "The name of the folder that this SQL script is in.", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-11-01-preview/examples/KqlScript_CreateOrUpdate.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-11-01-preview/examples/KqlScript_CreateOrUpdate.json new file mode 100644 index 000000000000..08af56075b22 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-11-01-preview/examples/KqlScript_CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "kqlScriptName": "testScript", + "api-version": "2021-11-01-preview", + "kqlScript": { + "id": "/subscriptions/99c6ec47-aacb-485c-863c-018be33b9000/resourceGroups/testResourceGroup/providers/Microsoft.Synapse/workspaces/testWs/kqlScripts/testScript", + "type": "Microsoft.Synapse/workspaces/kqlScripts", + "properties": { + "content": { + "query": "Logs | where TimeStamp > ago(1h) | take 10" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/99c6ec47-aacb-485c-863c-018be33b9000/resourceGroups/testResourceGroup/providers/Microsoft.Synapse/workspaces/testWs/kqlScripts/testScript", + "name": "testScript", + "type": "Microsoft.Synapse/workspaces/kqlScripts", + "properties": { + "content": { + "query": "Logs | where TimeStamp > ago(1h) | take 10" + } + } + } + }, + "202": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-11-01-preview/examples/KqlScript_DeleteByName.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-11-01-preview/examples/KqlScript_DeleteByName.json new file mode 100644 index 000000000000..902770cf8665 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-11-01-preview/examples/KqlScript_DeleteByName.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "kqlScriptName": "testScript", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-11-01-preview/examples/KqlScript_GetByName.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-11-01-preview/examples/KqlScript_GetByName.json new file mode 100644 index 000000000000..d55ada8ac67e --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-11-01-preview/examples/KqlScript_GetByName.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "kqlScriptName": "testScript", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/99c6ec47-aacb-485c-863c-018be33b9000/resourceGroups/testResourceGroup/providers/Microsoft.Synapse/workspaces/testWs/kqlScripts/testScript", + "name": "testScript", + "type": "Microsoft.Synapse/workspaces/kqlScripts", + "properties": { + "content": { + "query": "Logs | where TimeStamp > ago(1h) | take 10" + } + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-11-01-preview/examples/KqlScript_Rename.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-11-01-preview/examples/KqlScript_Rename.json new file mode 100644 index 000000000000..cbe43d2528ee --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-11-01-preview/examples/KqlScript_Rename.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "kqlScriptName": "testScript", + "api-version": "2021-11-01-preview", + "renameRequest": { + "newName": "testScript2" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-11-01-preview/examples/KqlScripts_GetAll.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-11-01-preview/examples/KqlScripts_GetAll.json new file mode 100644 index 000000000000..32ebf9cdc250 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-11-01-preview/examples/KqlScripts_GetAll.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/99c6ec47-aacb-485c-863c-018be33b9000/resourceGroups/testResourceGroup/providers/Microsoft.Synapse/workspaces/testWs/kqlScripts/testScript", + "name": "testScript", + "type": "Microsoft.Synapse/workspaces/kqlScripts", + "properties": { + "content": { + "query": "Logs | where TimeStamp > ago(1h) | take 10" + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-11-01-preview/kqlScripts.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-11-01-preview/kqlScripts.json new file mode 100644 index 000000000000..17a029fed428 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-11-01-preview/kqlScripts.json @@ -0,0 +1,348 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-01-preview", + "title": "ArtifactsClient", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/kqlScripts": { + "get": { + "tags": [ + "kqlScripts" + ], + "operationId": "KqlScripts_GetAll", + "description": "Get all KQL scripts", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/KqlScripts_ResourceCollectionResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json#/definitions/ErrorContract" + } + } + }, + "x-ms-examples": { + "KqlScripts_GetAll": { + "$ref": "./examples/KqlScripts_GetAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/kqlScripts/{kqlScriptName}": { + "put": { + "tags": [ + "kqlScripts" + ], + "operationId": "KqlScript_CreateOrUpdate", + "description": "Creates or updates a KQL Script", + "parameters": [ + { + "$ref": "#/parameters/KqlScriptName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "kqlScript", + "description": "KQL script", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/KqlScriptResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/KqlScriptResource" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json#/definitions/ErrorContract" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "KqlScript_CreateOrUpdate": { + "$ref": "./examples/KqlScript_CreateOrUpdate.json" + } + } + }, + "get": { + "tags": [ + "kqlScripts" + ], + "operationId": "KqlScript_GetByName", + "description": "Get KQL script by name", + "parameters": [ + { + "$ref": "#/parameters/KqlScriptName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/KqlScriptResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../common/v1/types.json#/definitions/ErrorContract" + } + } + }, + "x-ms-examples": { + "KqlScript_GetByName": { + "$ref": "./examples/KqlScript_GetByName.json" + } + } + }, + "delete": { + "tags": [ + "kqlScripts" + ], + "operationId": "KqlScript_DeleteByName", + "description": "Delete KQL script by name", + "parameters": [ + { + "$ref": "#/parameters/KqlScriptName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../common/v1/types.json#/definitions/ErrorContract" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "KqlScript_DeleteByName": { + "$ref": "./examples/KqlScript_DeleteByName.json" + } + } + } + }, + "/kqlScripts/{kqlScriptName}/rename": { + "post": { + "tags": [ + "kqlScripts" + ], + "operationId": "KqlScript_Rename", + "description": "Rename KQL script", + "parameters": [ + { + "$ref": "#/parameters/KqlScriptName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "renameRequest", + "description": "Rename request", + "required": true, + "schema": { + "$ref": "#/definitions/ArtifactRenameRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../common/v1/types.json#/definitions/ErrorContract" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "KqlScript_Rename": { + "$ref": "./examples/KqlScript_Rename.json" + } + } + } + } + }, + "definitions": { + "KqlScripts_ResourceCollectionResponse": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/KqlScriptResource" + } + }, + "nextLink": { + "type": "string" + } + } + }, + "KqlScriptResource": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "properties": { + "$ref": "#/definitions/KqlScript", + "description": "Properties of sql script." + } + } + }, + "KqlScript": { + "properties": { + "content": { + "properties": { + "query": { + "type": "string" + }, + "metadata": { + "type": "object", + "properties": { + "language": { + "type": "string" + } + } + }, + "currentConnection": { + "properties": { + "name": { + "type": "string" + }, + "poolName": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "type": { + "type": "string" + } + } + } + } + } + } + }, + "ArtifactRenameRequest": { + "description": "Request body structure for rename artifact.", + "type": "object", + "properties": { + "newName": { + "description": "New name of the artifact.", + "type": "string", + "pattern": "^[A-Za-z0-9_][^<>*#.%&:\\\\+?/]*$", + "minLength": 1, + "maxLength": 260 + } + } + } + }, + "parameters": { + "workspaceName": { + "name": "workspaceName", + "description": "The workspace name.", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The Synapse client API Version." + }, + "Endpoint": { + "name": "endpoint", + "description": "The workspace development endpoint, for example https://myworkspace.dev.azuresynapse.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + }, + "KqlScriptName": { + "name": "kqlScriptName", + "in": "path", + "required": true, + "type": "string", + "description": "KQL script name", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/artifacts.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/artifacts.json index 6c1aa54b7566..d18b774130f2 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/artifacts.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/artifacts.json @@ -471,6 +471,10 @@ "datasetParameters": { "type": "object", "description": "Reference data flow parameters from dataset." + }, + "parameters": { + "$ref": "#/definitions/ParameterValueSpecification", + "description": "Data flow parameters" } }, "additionalProperties": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/checkAccessSynapseRbac.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/checkAccessSynapseRbac.json index 14974cf286f8..7fa924c1d507 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/checkAccessSynapseRbac.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/checkAccessSynapseRbac.json @@ -119,7 +119,7 @@ "description": "Check access response details", "type": "object", "properties": { - "accessDecisions": { + "AccessDecisions": { "description": "To check if the current user, group, or service principal has permission to read artifacts in the specified workspace.", "type": "array", "items": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/dataflows.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/dataflows.json index 1e02efac302c..41779f02bd6e 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/dataflows.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/dataflows.json @@ -630,6 +630,13 @@ "description": "Data flow instance.", "$ref": "#/definitions/DataFlowDebugResource" }, + "dataFlows": { + "description": "List of Data flows", + "type": "array", + "items": { + "$ref": "#/definitions/DataFlowDebugResource" + } + }, "datasets": { "type": "array", "description": "List of datasets.", @@ -745,6 +752,13 @@ "description": "Data flow instance.", "$ref": "dataflows.json#/definitions/DataFlowResource" }, + "dataFlows": { + "description": "List of Data flows", + "type": "array", + "items": { + "$ref": "#/definitions/DataFlowResource" + } + }, "datasets": { "type": "array", "description": "List of datasets.", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/DataFlow.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/DataFlow.json index 81ac8486dd71..78158ea4a9ee 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/DataFlow.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/DataFlow.json @@ -58,6 +58,23 @@ } } }, + "Flowlet": { + "x-ms-discriminator-value": "Flowlet", + "description": "Data flow flowlet", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataFlow" + } + ], + "properties": { + "typeProperties": { + "description": "Flowlet type properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/FlowletTypeProperties" + } + } + }, "MappingDataFlowTypeProperties": { "description": "Mapping data flow type properties.", "type": "object", @@ -86,6 +103,13 @@ "script": { "type": "string", "description": "DataFlow script." + }, + "scriptLines": { + "type": "array", + "description": "Data flow script lines.", + "items": { + "type": "string" + } } } }, @@ -100,6 +124,18 @@ "description": { "description": "Transformation description.", "type": "string" + }, + "dataset": { + "description": "Dataset reference.", + "$ref": "../artifacts.json#/definitions/DatasetReference" + }, + "linkedService": { + "description": "Linked service reference.", + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" + }, + "flowlet": { + "description": "Flowlet Reference", + "$ref": "../artifacts.json#/definitions/DataFlowReference" } }, "required": [ @@ -126,6 +162,10 @@ "schemaLinkedService": { "description": "Schema linked service reference.", "$ref": "../artifacts.json#/definitions/LinkedServiceReference" + }, + "flowlet": { + "description": "Flowlet Reference", + "$ref": "../artifacts.json#/definitions/DataFlowReference" } } }, @@ -149,6 +189,48 @@ "schemaLinkedService": { "description": "Schema linked service reference.", "$ref": "../artifacts.json#/definitions/LinkedServiceReference" + }, + "flowlet": { + "description": "Flowlet Reference", + "$ref": "../artifacts.json#/definitions/DataFlowReference" + } + } + }, + "FlowletTypeProperties": { + "description": "Flowlet type properties.", + "type": "object", + "properties": { + "sources": { + "type": "array", + "description": "List of sources in Flowlet.", + "items": { + "$ref": "#/definitions/DataFlowSource" + } + }, + "sinks": { + "type": "array", + "description": "List of sinks in Flowlet.", + "items": { + "$ref": "#/definitions/DataFlowSink" + } + }, + "transformations": { + "type": "array", + "description": "List of transformations in Flowlet.", + "items": { + "$ref": "#/definitions/Transformation" + } + }, + "script": { + "type": "string", + "description": "Flowlet script." + }, + "scriptLines": { + "type": "array", + "description": "Flowlet script lines.", + "items": { + "type": "string" + } } } } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Dataset.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Dataset.json index 6e0cd7995860..823de9c85de9 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Dataset.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Dataset.json @@ -397,13 +397,16 @@ ] }, "DatasetCompression": { - "discriminator": "type", "description": "The compression method used on a dataset.", "type": "object", "properties": { "type": { - "type": "string", - "description": "Type of dataset compression." + "type": "object", + "description": "Type of dataset compression. Type: string (or Expression with resultType string)." + }, + "level": { + "type": "object", + "description": "The dataset compression level. Type: string (or Expression with resultType string)." } }, "additionalProperties": { @@ -413,92 +416,6 @@ "type" ] }, - "DatasetBZip2Compression": { - "x-ms-discriminator-value": "BZip2", - "description": "The BZip2 compression method used on a dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DatasetCompression" - } - ], - "properties": {} - }, - "DatasetGZipCompression": { - "x-ms-discriminator-value": "GZip", - "description": "The GZip compression method used on a dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DatasetCompression" - } - ], - "properties": { - "level": { - "type": "object", - "description": "The GZip compression level. Type: string (or Expression with resultType string)." - } - } - }, - "DatasetDeflateCompression": { - "x-ms-discriminator-value": "Deflate", - "description": "The Deflate compression method used on a dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DatasetCompression" - } - ], - "properties": { - "level": { - "type": "object", - "description": "The Deflate compression level. Type: string (or Expression with resultType string)." - } - } - }, - "DatasetZipDeflateCompression": { - "x-ms-discriminator-value": "ZipDeflate", - "description": "The ZipDeflate compression method used on a dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DatasetCompression" - } - ], - "properties": { - "level": { - "type": "object", - "description": "The ZipDeflate compression level. Type: string (or Expression with resultType string)." - } - } - }, - "DatasetTarCompression": { - "x-ms-discriminator-value": "Tar", - "description": "The Tar archive method used on a dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DatasetCompression" - } - ], - "properties": {} - }, - "DatasetTarGZipCompression": { - "x-ms-discriminator-value": "TarGZip", - "description": "The TarGZip compression method used on a dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DatasetCompression" - } - ], - "properties": { - "level": { - "type": "object", - "description": "The TarGZip compression level. Type: string (or Expression with resultType string)." - } - } - }, "CompressionLevel": { "title": "Microsoft.Azure.Management.DataFactories.Models.CompressionLevel", "description": "All available compression levels.", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/LinkedService.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/LinkedService.json index a9f218b38f20..c9d58336b25b 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/LinkedService.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/LinkedService.json @@ -764,7 +764,7 @@ "ServicePrincipalKey", "ServicePrincipalCert" ], - "type": "object", + "type": "string", "description": "The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string)." }, "CommonDataServiceForAppsLinkedService": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Notebook.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Notebook.json index 6eadbdfb265e..a7c665a1fcb3 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Notebook.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Notebook.json @@ -46,6 +46,7 @@ "folder": { "description": "The folder that this notebook is in. If not specified, this notebook will appear at the root level.", "type": "object", + "x-nullable": true, "properties": { "name": { "description": "The name of the folder that this notebook is in.", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json index 3fa4e3767a44..694f6c3edc7f 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json @@ -652,6 +652,10 @@ "useBinaryTransfer": { "type": "boolean", "description": "Specify whether to use binary transfer mode for FTP stores." + }, + "disableChunking": { + "type": "object", + "description": "If true, disable parallel reading within each file. Default is false. Type: boolean (or Expression with resultType boolean)." } } }, @@ -699,6 +703,10 @@ "modifiedDatetimeEnd": { "type": "object", "description": "The end of file's modified datetime. Type: string (or Expression with resultType string)." + }, + "disableChunking": { + "type": "object", + "description": "If true, disable parallel reading within each file. Default is false. Type: boolean (or Expression with resultType boolean)." } } }, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/SparkJobDefinition.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/SparkJobDefinition.json index 94c4655cc091..dfe09affe0ba 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/SparkJobDefinition.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/SparkJobDefinition.json @@ -33,6 +33,7 @@ "folder": { "description": "The folder that this Spark job definition is in. If not specified, this Spark job definition will appear at the root level.", "type": "object", + "x-nullable": true, "properties": { "name": { "description": "The name of the folder that this Spark job definition is in.", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/SqlScript.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/SqlScript.json index 52e67798ef61..cb66102c02f5 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/SqlScript.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/SqlScript.json @@ -32,6 +32,7 @@ "folder": { "description": "The folder that this SQL script is in. If not specified, this SQL script will appear at the root level.", "type": "object", + "x-nullable": true, "properties": { "name": { "description": "The name of the folder that this SQL script is in.", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/examples/CheckAccessSynapseRbac.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/examples/CheckAccessSynapseRbac.json index 89c0ff5c46ff..39d2b67203b7 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/examples/CheckAccessSynapseRbac.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/examples/CheckAccessSynapseRbac.json @@ -26,7 +26,7 @@ "responses": { "200": { "body": { - "accessDecisions": [ + "AccessDecisions": [ { "accessDecision": "Allowed || NotAllowed", "actionId": "Action 1", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/roleAssignments.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/roleAssignments.json index 1af934dd94a8..32e5b56aed89 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/roleAssignments.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/roleAssignments.json @@ -70,6 +70,9 @@ "$ref": "../../../../common/v1/types.json#/definitions/ErrorContract" } } + }, + "x-ms-pageable": { + "nextLinkName": null } } }, diff --git a/specification/synapse/data-plane/readme.md b/specification/synapse/data-plane/readme.md index 7f3a8ecd7129..e77ed88056d7 100644 --- a/specification/synapse/data-plane/readme.md +++ b/specification/synapse/data-plane/readme.md @@ -34,7 +34,7 @@ tag: package-spark-2020-12-01 ``` ``` yaml $(package-artifacts) -tag: package-artifacts-composite-v1 +tag: package-artifacts-composite-v2 ``` ``` yaml $(package-access-control) @@ -49,15 +49,39 @@ tag: package-vnet-2020-12-01 tag: package-monitoring-2020-12-01 ``` -### Tag: package-metadata-2021-07-01-preview +### Tag: package-artifacts-2021-07-01-preview -These settings apply only when `--tag=package-metadata-2021-07-01-preview` is specified on the command line. +These settings apply only when `--tag=package-artifacts-2021-07-01-preview` is specified on the command line. -**ATTENTION**: Please DO NOT generate SDK based on this tag. Synapse metadata API set is not ready to be included in SDK. - -``` yaml $(tag) == 'package-metadata-2021-07-01-preview' +``` yaml $(tag) == 'package-artifacts-2021-07-01-preview' input-file: - Microsoft.Synapse/preview/2021-07-01-preview/symsSync.json + - Microsoft.Synapse/preview/2021-06-01-preview/kqlScripts.json + - Microsoft.Synapse/preview/2021-06-01-preview/sparkConfigurations.json + - Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/SparkConfiguration.json + - Microsoft.Synapse/stable/2020-12-01/artifacts.json + - Microsoft.Synapse/stable/2020-12-01/bigDataPools.json + - Microsoft.Synapse/stable/2020-12-01/dataflows.json + - Microsoft.Synapse/stable/2020-12-01/datasets.json + - Microsoft.Synapse/stable/2020-12-01/gitintegration.json + - Microsoft.Synapse/stable/2020-12-01/integrationRuntimes.json + - Microsoft.Synapse/stable/2020-12-01/library.json + - Microsoft.Synapse/stable/2020-12-01/linkedServices.json + - Microsoft.Synapse/stable/2020-12-01/notebooks.json + - Microsoft.Synapse/stable/2020-12-01/pipelines.json + - Microsoft.Synapse/stable/2020-12-01/sparkJobDefinitions.json + - Microsoft.Synapse/stable/2020-12-01/sqlPools.json + - Microsoft.Synapse/stable/2020-12-01/sqlScripts.json + - Microsoft.Synapse/stable/2020-12-01/triggers.json + - Microsoft.Synapse/stable/2020-12-01/workspace.json + - Microsoft.Synapse/stable/2020-12-01/entityTypes/DataFlow.json + - Microsoft.Synapse/stable/2020-12-01/entityTypes/Dataset.json + - Microsoft.Synapse/stable/2020-12-01/entityTypes/LinkedService.json + - Microsoft.Synapse/stable/2020-12-01/entityTypes/Notebook.json + - Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json + - Microsoft.Synapse/stable/2020-12-01/entityTypes/SparkJobDefinition.json + - Microsoft.Synapse/stable/2020-12-01/entityTypes/SqlScript.json + - Microsoft.Synapse/stable/2020-12-01/entityTypes/Trigger.json ``` ### Tag: package-artifacts-composite-v1 @@ -148,6 +172,40 @@ input-file: - Microsoft.Synapse/preview/2021-06-01-preview/kqlScripts.json ``` +### Tag: package-artifacts-composite-v2 + +These settings apply only when `--tag=package-artifacts-composite-v2` is specified on the command line. + +``` yaml $(tag) == 'package-artifacts-composite-v2' +input-file: + - Microsoft.Synapse/preview/2021-11-01-preview/kqlScripts.json + - Microsoft.Synapse/preview/2021-06-01-preview/sparkConfigurations.json + - Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/SparkConfiguration.json + - Microsoft.Synapse/stable/2020-12-01/artifacts.json + - Microsoft.Synapse/stable/2020-12-01/bigDataPools.json + - Microsoft.Synapse/stable/2020-12-01/dataflows.json + - Microsoft.Synapse/stable/2020-12-01/datasets.json + - Microsoft.Synapse/stable/2020-12-01/gitintegration.json + - Microsoft.Synapse/stable/2020-12-01/integrationRuntimes.json + - Microsoft.Synapse/stable/2020-12-01/library.json + - Microsoft.Synapse/stable/2020-12-01/linkedServices.json + - Microsoft.Synapse/stable/2020-12-01/notebooks.json + - Microsoft.Synapse/stable/2020-12-01/pipelines.json + - Microsoft.Synapse/stable/2020-12-01/sparkJobDefinitions.json + - Microsoft.Synapse/stable/2020-12-01/sqlPools.json + - Microsoft.Synapse/stable/2020-12-01/sqlScripts.json + - Microsoft.Synapse/stable/2020-12-01/triggers.json + - Microsoft.Synapse/stable/2020-12-01/workspace.json + - Microsoft.Synapse/stable/2020-12-01/entityTypes/DataFlow.json + - Microsoft.Synapse/stable/2020-12-01/entityTypes/Dataset.json + - Microsoft.Synapse/stable/2020-12-01/entityTypes/LinkedService.json + - Microsoft.Synapse/stable/2020-12-01/entityTypes/Notebook.json + - Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json + - Microsoft.Synapse/stable/2020-12-01/entityTypes/SparkJobDefinition.json + - Microsoft.Synapse/stable/2020-12-01/entityTypes/SqlScript.json + - Microsoft.Synapse/stable/2020-12-01/entityTypes/Trigger.json +``` + ### Tag: package-artifacts-2020-12-01 These settings apply only when `--tag=package-artifacts-2020-12-01` is specified on the command line. @@ -310,6 +368,12 @@ directive: - $.definitions.NotebookKernelSpec.properties.display_name - $.definitions.NotebookMetadata.properties.language_info - $.definitions.Notebook.properties.nbformat_minor + + - suppress: DefinitionsPropertiesNamesCamelCase + reason: This would require a breaking change, and need to be consistent with the response from RP side. + from: checkAccessSynapseRbac.json + where: + - $.definitions.CheckPrincipalAccessResponse.properties.AccessDecisions ``` --- diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/sqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/sqlPool.json index 10292fb1b266..53ad82642757 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/sqlPool.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/sqlPool.json @@ -5290,7 +5290,17 @@ }, "createMode": { "type": "string", - "description": "What is this?" + "description": "Specifies the mode of sql pool creation.\n\nDefault: regular sql pool creation.\n\nPointInTimeRestore: Creates a sql pool by restoring a point in time backup of an existing sql pool. sourceDatabaseId must be specified as the resource ID of the existing sql pool, and restorePointInTime must be specified.\n\nRecovery: Creates a sql pool by a geo-replicated backup. sourceDatabaseId must be specified as the recoverableDatabaseId to restore.\n\nRestore: Creates a sql pool by restoring a backup of a deleted sql pool. SourceDatabaseId should be the sql pool's original resource ID. SourceDatabaseId and sourceDatabaseDeletionDate must be specified.", + "enum": [ + "Default", + "PointInTimeRestore", + "Recovery", + "Restore" + ], + "x-ms-enum": { + "name": "createMode", + "modelAsString": true + } }, "creationDate": { "type": "string", diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-04-01-preview/sqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-04-01-preview/sqlPool.json index 1298d955c40b..168d541a900e 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-04-01-preview/sqlPool.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-04-01-preview/sqlPool.json @@ -5351,7 +5351,17 @@ }, "createMode": { "type": "string", - "description": "What is this?" + "description": "Specifies the mode of sql pool creation.\n\nDefault: regular sql pool creation.\n\nPointInTimeRestore: Creates a sql pool by restoring a point in time backup of an existing sql pool. sourceDatabaseId must be specified as the resource ID of the existing sql pool, and restorePointInTime must be specified.\n\nRecovery: Creates a sql pool by a geo-replicated backup. sourceDatabaseId must be specified as the recoverableDatabaseId to restore.\n\nRestore: Creates a sql pool by restoring a backup of a deleted sql pool. SourceDatabaseId should be the sql pool's original resource ID. SourceDatabaseId and sourceDatabaseDeletionDate must be specified.", + "enum": [ + "Default", + "PointInTimeRestore", + "Recovery", + "Restore" + ], + "x-ms-enum": { + "name": "createMode", + "modelAsString": true + } }, "creationDate": { "type": "string", diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/azureADOnlyAuthentication.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/azureADOnlyAuthentication.json index b1568395fe5d..1b82e7cbc694 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/azureADOnlyAuthentication.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/azureADOnlyAuthentication.json @@ -47,7 +47,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/azureADOnlyAuthenticationNameParameter" @@ -92,7 +92,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/azureADOnlyAuthenticationNameParameter" @@ -161,7 +161,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/bigDataPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/bigDataPool.json index b0dca8d90037..ba863967b4da 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/bigDataPool.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/bigDataPool.json @@ -41,7 +41,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -94,7 +94,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -158,7 +158,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -240,7 +240,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -308,7 +308,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -446,7 +446,7 @@ "description": "List of custom libraries/packages associated with the spark pool.", "type": "array", "items": { - "$ref": "#/definitions/LibraryInfo" + "$ref": "../../../../common/v1/types.json#/definitions/LibraryInfo" } }, "sparkConfigProperties": { @@ -547,44 +547,6 @@ } } }, - "LibraryInfo": { - "type": "object", - "description": "Library/package information of a Big Data pool powered by Apache Spark", - "title": "Information about a library/package created at the workspace level.", - "properties": { - "name": { - "type": "string", - "description": "Name of the library." - }, - "path": { - "type": "string", - "description": "Storage blob path of library." - }, - "containerName": { - "type": "string", - "description": "Storage blob container name." - }, - "uploadedTimestamp": { - "type": "string", - "format": "date-time", - "description": "The last update time of the library." - }, - "type": { - "type": "string", - "description": "Type of the library." - }, - "provisioningStatus": { - "readOnly": true, - "type": "string", - "description": "Provisioning status of the library/package." - }, - "creatorId": { - "readOnly": true, - "type": "string", - "description": "Creator Id of the library/package." - } - } - }, "LibraryRequirements": { "type": "object", "description": "Library requirements for a Big Data pool powered by Apache Spark", diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/firewallRule.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/firewallRule.json index 0edb2cb83105..be1fbb16c570 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/firewallRule.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/firewallRule.json @@ -40,7 +40,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -90,7 +90,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/ruleNameParameter" @@ -160,7 +160,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/ruleNameParameter" @@ -217,7 +217,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/ruleNameParameter" @@ -266,7 +266,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "description": "Replace all IP firewall rules request", @@ -404,14 +404,6 @@ } }, "parameters": { - "workspaceNameParameter": { - "name": "workspaceName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the workspace", - "x-ms-parameter-location": "method" - }, "ruleNameParameter": { "type": "string", "in": "path", diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/keys.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/keys.json index 1521450890c2..e5ff0b5edc2d 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/keys.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/keys.json @@ -40,7 +40,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -90,7 +90,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/keyNameParameter" @@ -138,7 +138,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/keyNameParameter" @@ -197,7 +197,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/keyNameParameter" diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/kustoPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/kustoPool.json index 4dae0732558e..7f32c55a0acb 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/kustoPool.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/kustoPool.json @@ -59,7 +59,7 @@ "$ref": "./examples/KustoPoolsListSkus.json" } }, - "operationId": "KustoPool_ListSkus", + "operationId": "KustoPools_ListSkus", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" @@ -154,7 +154,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -183,7 +183,7 @@ "tags": [ "KustoPools" ], - "operationId": "kustoPools_Get", + "operationId": "KustoPools_Get", "x-ms-examples": { "kustoPoolsGet": { "$ref": "./examples/KustoPoolsGet.json" @@ -192,7 +192,7 @@ "description": "Gets a Kusto pool.", "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -226,7 +226,7 @@ "tags": [ "KustoPools" ], - "operationId": "kustoPools_CreateOrUpdate", + "operationId": "KustoPools_CreateOrUpdate", "x-ms-examples": { "kustoPoolsCreateOrUpdate": { "$ref": "./examples/KustoPoolsCreateOrUpdate.json" @@ -236,7 +236,7 @@ "description": "Create or update a Kusto pool.", "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" @@ -301,7 +301,7 @@ "tags": [ "KustoPools" ], - "operationId": "kustoPools_Update", + "operationId": "KustoPools_Update", "x-ms-examples": { "kustoPoolsUpdate": { "$ref": "./examples/KustoPoolsUpdate.json" @@ -311,7 +311,7 @@ "description": "Update a Kusto Kusto Pool.", "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" @@ -368,7 +368,7 @@ "tags": [ "KustoPools" ], - "operationId": "kustoPools_Delete", + "operationId": "KustoPools_Delete", "x-ms-examples": { "kustoPoolsDelete": { "$ref": "./examples/KustoPoolsDelete.json" @@ -378,7 +378,7 @@ "description": "Deletes a Kusto pool.", "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" @@ -417,7 +417,7 @@ "tags": [ "KustoPools" ], - "operationId": "kustoPools_Stop", + "operationId": "KustoPools_Stop", "x-ms-examples": { "kustoPoolsStop": { "$ref": "./examples/KustoPoolsStop.json" @@ -427,7 +427,7 @@ "description": "Stops a Kusto pool.", "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -463,7 +463,7 @@ "tags": [ "KustoPools" ], - "operationId": "kustoPools_Start", + "operationId": "KustoPools_Start", "x-ms-examples": { "kustoPoolsStop": { "$ref": "./examples/KustoPoolsStart.json" @@ -473,7 +473,7 @@ "description": "Starts a Kusto pool.", "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -518,7 +518,7 @@ "description": "Returns the SKUs available for the provided resource.", "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -570,7 +570,7 @@ "description": "Checks that the Kusto Pool child resource name is valid and is not already in use.", "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -624,7 +624,7 @@ }, "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -673,7 +673,7 @@ "x-ms-long-running-operation": true, "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -728,7 +728,7 @@ "x-ms-long-running-operation": true, "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -782,7 +782,7 @@ }, "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -831,7 +831,7 @@ "x-ms-long-running-operation": true, "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -885,7 +885,7 @@ }, "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -933,7 +933,7 @@ }, "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -979,7 +979,7 @@ }, "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -1047,7 +1047,7 @@ }, "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -1105,7 +1105,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -1153,7 +1153,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -1199,7 +1199,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -1261,7 +1261,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -1323,7 +1323,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -1375,7 +1375,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -1436,7 +1436,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -1496,7 +1496,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -1547,7 +1547,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -1596,7 +1596,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -1661,7 +1661,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -1726,7 +1726,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -1775,7 +1775,7 @@ "description": "Checks that the principal assignment name is valid and is not already in use.", "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -1829,7 +1829,7 @@ "description": "Lists all Kusto pool principalAssignments.", "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -1877,7 +1877,7 @@ "description": "Gets a Kusto pool principalAssignment.", "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -1924,7 +1924,7 @@ "description": "Create a Kusto pool principalAssignment.", "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -1986,7 +1986,7 @@ "description": "Deletes a Kusto pool principalAssignment.", "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -2037,7 +2037,7 @@ "description": "Checks that the database principal assignment is valid and is not already in use.", "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -2094,7 +2094,7 @@ "description": "Lists all Kusto pool database principalAssignments.", "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -2145,7 +2145,7 @@ "description": "Gets a Kusto pool database principalAssignment.", "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -2195,7 +2195,7 @@ "description": "Creates a Kusto pool database principalAssignment.", "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -2260,7 +2260,7 @@ "description": "Deletes a Kusto pool principalAssignment.", "parameters": [ { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/kustoPoolNameParameter" @@ -3141,6 +3141,10 @@ "provisioningState": { "$ref": "#/definitions/ResourceProvisioningState", "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": [ diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/library.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/library.json index 512a4b8139ae..d683d9a0cb47 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/library.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/library.json @@ -44,7 +44,7 @@ "$ref": "#/parameters/LibraryNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -92,7 +92,7 @@ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -164,7 +164,7 @@ ], "properties": { "properties": { - "$ref": "./bigDataPool.json#/definitions/LibraryInfo", + "$ref": "../../../../common/v1/types.json#/definitions/LibraryInfo", "description": "Library/package properties.", "x-ms-client-flatten": true } diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/operations.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/operations.json index a9c820846518..d60abc0c8999 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/operations.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/operations.json @@ -82,7 +82,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -143,7 +143,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -156,7 +156,7 @@ "responses": { "200": { "schema": { - "$ref": "#/definitions/OperationResource" + "$ref": "../../../../common/v1/types.json#/definitions/OperationResource" }, "description": "" }, @@ -206,57 +206,6 @@ } } }, - "OperationResource": { - "type": "object", - "description": "An operation", - "properties": { - "id": { - "type": "string", - "description": "Operation ID" - }, - "name": { - "type": "string", - "description": "Operation name" - }, - "status": { - "enum": [ - "InProgress", - "Succeeded", - "Failed", - "Canceled" - ], - "description": "Operation status", - "type": "string", - "x-ms-enum": { - "name": "OperationStatus", - "modelAsString": true - } - }, - "properties": { - "type": "object", - "description": "Operation properties", - "x-ms-client-flatten": true - }, - "error": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail", - "description": "Errors from the operation" - }, - "startTime": { - "type": "string", - "format": "date-time", - "description": "Operation start time" - }, - "endTime": { - "type": "string", - "format": "date-time", - "description": "Operation start time" - }, - "percentComplete": { - "type": "number", - "description": "Completion percentage of the operation" - } - } - }, "AvailableRpOperationDisplayInfo": { "type": "object", "description": "Description of an available operation", diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/privateEndpointConnections.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/privateEndpointConnections.json index a5da1ea23f3c..7e446862ab33 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/privateEndpointConnections.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/privateEndpointConnections.json @@ -145,7 +145,7 @@ }, "202": { "schema": { - "$ref": "./operations.json#/definitions/OperationResource" + "$ref": "../../../../common/v1/types.json#/definitions/OperationResource" }, "description": "Operation details" }, diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/privateLinkResources.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/privateLinkResources.json index 1e946f6f8b93..3d2777f9f36c 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/privateLinkResources.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/privateLinkResources.json @@ -40,7 +40,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "consumes": [], @@ -90,7 +90,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/privateLinkResourceNameParameter" diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sparkConfiguration.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sparkConfiguration.json index f9aac35560c8..6e9ec9617c56 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sparkConfiguration.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sparkConfiguration.json @@ -44,7 +44,7 @@ "$ref": "#/parameters/SparkConfigurationNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -92,7 +92,7 @@ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -160,7 +160,7 @@ "description": "SparkConfiguration response details", "allOf": [ { - "$ref": "./integrationRuntime.json#/definitions/SubResource" + "$ref": "#/definitions/SubResource" } ], "properties": { diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sqlPool.json index 91471a1dce62..c46052166144 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sqlPool.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sqlPool.json @@ -41,7 +41,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -94,7 +94,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -159,7 +159,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -233,7 +233,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -301,7 +301,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -355,7 +355,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -417,7 +417,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -478,7 +478,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -536,7 +536,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -592,7 +592,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -659,7 +659,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -727,7 +727,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -793,7 +793,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -867,7 +867,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -937,7 +937,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1003,7 +1003,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1057,7 +1057,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1130,7 +1130,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1187,7 +1187,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1248,7 +1248,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1307,7 +1307,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1371,7 +1371,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1429,7 +1429,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1496,7 +1496,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1580,7 +1580,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1634,7 +1634,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1694,7 +1694,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1774,7 +1774,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1828,7 +1828,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1885,7 +1885,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1947,7 +1947,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1999,7 +1999,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2072,7 +2072,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2123,7 +2123,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2221,7 +2221,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2304,7 +2304,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2390,7 +2390,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2468,7 +2468,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2547,7 +2547,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2609,7 +2609,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2678,7 +2678,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2755,7 +2755,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2824,7 +2824,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2878,7 +2878,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2945,7 +2945,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3013,7 +3013,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3091,7 +3091,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3145,7 +3145,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3208,7 +3208,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3290,7 +3290,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3383,7 +3383,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3463,7 +3463,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3550,7 +3550,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3613,7 +3613,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3697,7 +3697,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3761,7 +3761,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3820,7 +3820,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3902,7 +3902,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3955,7 +3955,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4021,7 +4021,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4077,7 +4077,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4162,7 +4162,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4225,7 +4225,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4284,7 +4284,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4337,7 +4337,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4394,7 +4394,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4458,7 +4458,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4529,7 +4529,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4600,7 +4600,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4655,7 +4655,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4713,7 +4713,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4769,7 +4769,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4849,7 +4849,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4911,7 +4911,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4965,7 +4965,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -5028,7 +5028,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -5115,7 +5115,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -5184,7 +5184,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -5351,7 +5351,17 @@ }, "createMode": { "type": "string", - "description": "What is this?" + "description": "Specifies the mode of sql pool creation.\n\nDefault: regular sql pool creation.\n\nPointInTimeRestore: Creates a sql pool by restoring a point in time backup of an existing sql pool. sourceDatabaseId must be specified as the resource ID of the existing sql pool, and restorePointInTime must be specified.\n\nRecovery: Creates a sql pool by a geo-replicated backup. sourceDatabaseId must be specified as the recoverableDatabaseId to restore.\n\nRestore: Creates a sql pool by restoring a backup of a deleted sql pool. SourceDatabaseId should be the sql pool's original resource ID. SourceDatabaseId and sourceDatabaseDeletionDate must be specified.", + "enum": [ + "Default", + "PointInTimeRestore", + "Recovery", + "Restore" + ], + "x-ms-enum": { + "name": "createMode", + "modelAsString": true + } }, "creationDate": { "type": "string", diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sqlServer.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sqlServer.json index a77fe1bbe45c..e9f0c2c3e376 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sqlServer.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sqlServer.json @@ -40,7 +40,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "blobAuditingPolicyName", @@ -96,7 +96,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "blobAuditingPolicyName", @@ -172,7 +172,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -219,7 +219,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "blobAuditingPolicyName", @@ -275,7 +275,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "blobAuditingPolicyName", @@ -351,7 +351,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -398,7 +398,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "securityAlertPolicyName", @@ -454,7 +454,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "securityAlertPolicyName", @@ -530,7 +530,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -577,7 +577,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "vulnerabilityAssessmentName", @@ -633,7 +633,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "vulnerabilityAssessmentName", @@ -712,7 +712,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "vulnerabilityAssessmentName", @@ -770,7 +770,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -817,7 +817,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "encryptionProtectorName", @@ -876,7 +876,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "encryptionProtectorName", @@ -955,7 +955,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -1002,7 +1002,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "encryptionProtectorName", @@ -1061,7 +1061,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -1109,7 +1109,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -1157,7 +1157,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "sqlPoolName", diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/workspace.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/workspace.json index 15aabbfdec0a..04f794fdc3da 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/workspace.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/workspace.json @@ -87,7 +87,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -132,7 +132,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "schema": { @@ -198,7 +198,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "description": "Workspace create or update request properties", @@ -264,7 +264,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -368,7 +368,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -413,7 +413,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "description": "Workspace active directory administrator properties", @@ -479,7 +479,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -533,7 +533,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -578,7 +578,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "description": "Workspace active directory administrator properties", @@ -644,7 +644,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -694,7 +694,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -734,7 +734,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "description": "Managed Identity Sql Control Settings", @@ -800,7 +800,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "restorableDroppedSqlPoolId", @@ -853,7 +853,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "consumes": [], @@ -1499,15 +1499,5 @@ ], "description": "The response to a list restorable dropped Sql pools request" } - }, - "parameters": { - "workspaceNameParameter": { - "name": "workspaceName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the workspace", - "x-ms-parameter-location": "method" - } } } diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2020-12-01/sqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2020-12-01/sqlPool.json index 2abc435c2498..194fbfdeb7dd 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2020-12-01/sqlPool.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2020-12-01/sqlPool.json @@ -5347,7 +5347,17 @@ }, "createMode": { "type": "string", - "description": "What is this?" + "description": "Specifies the mode of sql pool creation.\n\nDefault: regular sql pool creation.\n\nPointInTimeRestore: Creates a sql pool by restoring a point in time backup of an existing sql pool. sourceDatabaseId must be specified as the resource ID of the existing sql pool, and restorePointInTime must be specified.\n\nRecovery: Creates a sql pool by a geo-replicated backup. sourceDatabaseId must be specified as the recoverableDatabaseId to restore.\n\nRestore: Creates a sql pool by restoring a backup of a deleted sql pool. SourceDatabaseId should be the sql pool's original resource ID. SourceDatabaseId and sourceDatabaseDeletionDate must be specified.", + "enum": [ + "Default", + "PointInTimeRestore", + "Recovery", + "Restore" + ], + "x-ms-enum": { + "name": "createMode", + "modelAsString": true + } }, "creationDate": { "type": "string", diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-03-01/sqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-03-01/sqlPool.json index d171a782e9dd..50d955f008ae 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-03-01/sqlPool.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-03-01/sqlPool.json @@ -5351,7 +5351,17 @@ }, "createMode": { "type": "string", - "description": "What is this?" + "description": "Specifies the mode of sql pool creation.\n\nDefault: regular sql pool creation.\n\nPointInTimeRestore: Creates a sql pool by restoring a point in time backup of an existing sql pool. sourceDatabaseId must be specified as the resource ID of the existing sql pool, and restorePointInTime must be specified.\n\nRecovery: Creates a sql pool by a geo-replicated backup. sourceDatabaseId must be specified as the recoverableDatabaseId to restore.\n\nRestore: Creates a sql pool by restoring a backup of a deleted sql pool. SourceDatabaseId should be the sql pool's original resource ID. SourceDatabaseId and sourceDatabaseDeletionDate must be specified.", + "enum": [ + "Default", + "PointInTimeRestore", + "Recovery", + "Restore" + ], + "x-ms-enum": { + "name": "createMode", + "modelAsString": true + } }, "creationDate": { "type": "string", diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-05-01/sqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-05-01/sqlPool.json index c621add9b4e7..c9a6d2349ce8 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-05-01/sqlPool.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-05-01/sqlPool.json @@ -5351,7 +5351,17 @@ }, "createMode": { "type": "string", - "description": "What is this?" + "description": "Specifies the mode of sql pool creation.\n\nDefault: regular sql pool creation.\n\nPointInTimeRestore: Creates a sql pool by restoring a point in time backup of an existing sql pool. sourceDatabaseId must be specified as the resource ID of the existing sql pool, and restorePointInTime must be specified.\n\nRecovery: Creates a sql pool by a geo-replicated backup. sourceDatabaseId must be specified as the recoverableDatabaseId to restore.\n\nRestore: Creates a sql pool by restoring a backup of a deleted sql pool. SourceDatabaseId should be the sql pool's original resource ID. SourceDatabaseId and sourceDatabaseDeletionDate must be specified.", + "enum": [ + "Default", + "PointInTimeRestore", + "Recovery", + "Restore" + ], + "x-ms-enum": { + "name": "createMode", + "modelAsString": true + } }, "creationDate": { "type": "string", diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/azureADOnlyAuthentication.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/azureADOnlyAuthentication.json index 7a4c923ed5f8..164410c457db 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/azureADOnlyAuthentication.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/azureADOnlyAuthentication.json @@ -41,7 +41,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./azureADOnlyAuthentication.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "./azureADOnlyAuthentication.json#/parameters/azureADOnlyAuthenticationNameParameter" @@ -90,7 +90,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./azureADOnlyAuthentication.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "./azureADOnlyAuthentication.json#/parameters/azureADOnlyAuthenticationNameParameter" @@ -165,7 +165,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./azureADOnlyAuthentication.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/bigDataPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/bigDataPool.json index 81f6f41949ff..aec796451b4b 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/bigDataPool.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/bigDataPool.json @@ -41,7 +41,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -94,7 +94,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -158,7 +158,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -240,7 +240,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -308,7 +308,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/firewallRule.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/firewallRule.json index 19640942e49a..a12d9ecf49d0 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/firewallRule.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/firewallRule.json @@ -40,7 +40,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -90,7 +90,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/ruleNameParameter" @@ -160,7 +160,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/ruleNameParameter" @@ -217,7 +217,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/ruleNameParameter" @@ -266,7 +266,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "description": "Replace all IP firewall rules request", @@ -404,14 +404,6 @@ } }, "parameters": { - "workspaceNameParameter": { - "name": "workspaceName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the workspace", - "x-ms-parameter-location": "method" - }, "ruleNameParameter": { "type": "string", "in": "path", diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/keys.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/keys.json index 3f0ad717c79b..6a63cb2cde67 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/keys.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/keys.json @@ -40,7 +40,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -90,7 +90,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/keyNameParameter" @@ -138,7 +138,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/keyNameParameter" @@ -197,7 +197,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/keyNameParameter" diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/library.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/library.json index e5c19214a9a6..45891bd682e5 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/library.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/library.json @@ -44,7 +44,7 @@ "$ref": "#/parameters/LibraryNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -92,7 +92,7 @@ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/operations.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/operations.json index e1ad3bbb7bbd..362fbc14a18c 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/operations.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/operations.json @@ -82,7 +82,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -143,7 +143,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -156,7 +156,7 @@ "responses": { "200": { "schema": { - "$ref": "#/definitions/OperationResource" + "$ref": "../../../../common/v1/types.json#/definitions/OperationResource" }, "description": "" }, @@ -206,57 +206,6 @@ } } }, - "OperationResource": { - "type": "object", - "description": "An operation", - "properties": { - "id": { - "type": "string", - "description": "Operation ID" - }, - "name": { - "type": "string", - "description": "Operation name" - }, - "status": { - "enum": [ - "InProgress", - "Succeeded", - "Failed", - "Canceled" - ], - "description": "Operation status", - "type": "string", - "x-ms-enum": { - "name": "OperationStatus", - "modelAsString": true - } - }, - "properties": { - "type": "object", - "description": "Operation properties", - "x-ms-client-flatten": true - }, - "error": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail", - "description": "Errors from the operation" - }, - "startTime": { - "type": "string", - "format": "date-time", - "description": "Operation start time" - }, - "endTime": { - "type": "string", - "format": "date-time", - "description": "Operation start time" - }, - "percentComplete": { - "type": "number", - "description": "Completion percentage of the operation" - } - } - }, "AvailableRpOperationDisplayInfo": { "type": "object", "description": "Description of an available operation", diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/privateEndpointConnections.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/privateEndpointConnections.json index e0fabbc1bbb1..5330263934de 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/privateEndpointConnections.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/privateEndpointConnections.json @@ -145,7 +145,7 @@ }, "202": { "schema": { - "$ref": "./operations.json#/definitions/OperationResource" + "$ref": "../../../../common/v1/types.json#/definitions/OperationResource" }, "description": "Operation details" }, diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/privateLinkResources.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/privateLinkResources.json index 804c723c8d9f..f10c18847437 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/privateLinkResources.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/privateLinkResources.json @@ -40,7 +40,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "consumes": [], @@ -90,7 +90,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "$ref": "#/parameters/privateLinkResourceNameParameter" diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/sqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/sqlPool.json index 3dc8cfb2fdbf..5d8902579f82 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/sqlPool.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/sqlPool.json @@ -41,7 +41,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -94,7 +94,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -159,7 +159,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -233,7 +233,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -301,7 +301,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -355,7 +355,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -417,7 +417,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -478,7 +478,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -536,7 +536,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -592,7 +592,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -659,7 +659,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -727,7 +727,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -793,7 +793,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -867,7 +867,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -937,7 +937,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1003,7 +1003,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1057,7 +1057,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1130,7 +1130,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1187,7 +1187,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1248,7 +1248,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1307,7 +1307,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1371,7 +1371,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1429,7 +1429,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1496,7 +1496,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1580,7 +1580,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1634,7 +1634,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1694,7 +1694,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1774,7 +1774,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1828,7 +1828,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1885,7 +1885,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1947,7 +1947,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -1999,7 +1999,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2072,7 +2072,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2123,7 +2123,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2221,7 +2221,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2304,7 +2304,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2390,7 +2390,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2468,7 +2468,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2547,7 +2547,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2609,7 +2609,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2678,7 +2678,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2755,7 +2755,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2824,7 +2824,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2878,7 +2878,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -2945,7 +2945,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3013,7 +3013,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3091,7 +3091,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3145,7 +3145,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3208,7 +3208,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3290,7 +3290,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3383,7 +3383,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3463,7 +3463,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3550,7 +3550,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3613,7 +3613,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3697,7 +3697,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3761,7 +3761,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3820,7 +3820,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3902,7 +3902,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -3955,7 +3955,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4021,7 +4021,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4077,7 +4077,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4162,7 +4162,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4225,7 +4225,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4284,7 +4284,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4337,7 +4337,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4394,7 +4394,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4458,7 +4458,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4529,7 +4529,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4600,7 +4600,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4655,7 +4655,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4713,7 +4713,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4769,7 +4769,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4849,7 +4849,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4911,7 +4911,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -4965,7 +4965,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -5028,7 +5028,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -5115,7 +5115,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -5184,7 +5184,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "type": "string", @@ -5351,7 +5351,17 @@ }, "createMode": { "type": "string", - "description": "What is this?" + "description": "Specifies the mode of sql pool creation.\n\nDefault: regular sql pool creation.\n\nPointInTimeRestore: Creates a sql pool by restoring a point in time backup of an existing sql pool. sourceDatabaseId must be specified as the resource ID of the existing sql pool, and restorePointInTime must be specified.\n\nRecovery: Creates a sql pool by a geo-replicated backup. sourceDatabaseId must be specified as the recoverableDatabaseId to restore.\n\nRestore: Creates a sql pool by restoring a backup of a deleted sql pool. SourceDatabaseId should be the sql pool's original resource ID. SourceDatabaseId and sourceDatabaseDeletionDate must be specified.", + "enum": [ + "Default", + "PointInTimeRestore", + "Recovery", + "Restore" + ], + "x-ms-enum": { + "name": "createMode", + "modelAsString": true + } }, "creationDate": { "type": "string", diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/sqlServer.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/sqlServer.json index 45a1497440c3..e0ac32f318fd 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/sqlServer.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/sqlServer.json @@ -40,7 +40,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "blobAuditingPolicyName", @@ -96,7 +96,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "blobAuditingPolicyName", @@ -172,7 +172,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -219,7 +219,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "blobAuditingPolicyName", @@ -275,7 +275,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "blobAuditingPolicyName", @@ -351,7 +351,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -398,7 +398,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "securityAlertPolicyName", @@ -454,7 +454,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "securityAlertPolicyName", @@ -530,7 +530,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -577,7 +577,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "vulnerabilityAssessmentName", @@ -633,7 +633,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "vulnerabilityAssessmentName", @@ -712,7 +712,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "vulnerabilityAssessmentName", @@ -770,7 +770,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -817,7 +817,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "encryptionProtectorName", @@ -876,7 +876,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "encryptionProtectorName", @@ -955,7 +955,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -1002,7 +1002,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "encryptionProtectorName", @@ -1061,7 +1061,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -1109,7 +1109,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -1157,7 +1157,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "sqlPoolName", diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/workspace.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/workspace.json index b44613a3734f..436cce1649d2 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/workspace.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/workspace.json @@ -87,7 +87,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -132,7 +132,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "schema": { @@ -198,7 +198,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "description": "Workspace create or update request properties", @@ -264,7 +264,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -368,7 +368,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -413,7 +413,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "description": "Workspace active directory administrator properties", @@ -479,7 +479,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -533,7 +533,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -578,7 +578,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "description": "Workspace active directory administrator properties", @@ -644,7 +644,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -694,7 +694,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "responses": { @@ -734,7 +734,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "description": "Managed Identity Sql Control Settings", @@ -800,7 +800,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" }, { "name": "restorableDroppedSqlPoolId", @@ -853,7 +853,7 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/workspaceNameParameter" + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" } ], "consumes": [], @@ -1499,15 +1499,5 @@ ], "description": "The response to a list restorable dropped Sql pools request" } - }, - "parameters": { - "workspaceNameParameter": { - "name": "workspaceName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the workspace", - "x-ms-parameter-location": "method" - } } } diff --git a/specification/synapse/resource-manager/readme.az.md b/specification/synapse/resource-manager/readme.az.md new file mode 100644 index 000000000000..19278fdc219c --- /dev/null +++ b/specification/synapse/resource-manager/readme.az.md @@ -0,0 +1,79 @@ +## AZ +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) && $(target-mode) == 'core' +az: + extensions: synapse + namespace: azure.mgmt.synapse + package-name: azure-mgmt-synapse +az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/synapse +python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/synapse" +input-file: + - Microsoft.Synapse/preview/2021-06-01-preview/kustoPool.json + +directive: + - where: + group: 'synapse kusto-pool-database-principal-assignment' + set: + group: 'synapse kusto database-principal-assignment' + - where: + group: 'synapse kusto-pool-attached-database-configuration' + set: + group: 'synapse kusto attached-database-configuration' + - where: + group: 'synapse kusto-pool-data-connection' + set: + group: 'synapse kusto data-connection' + - where: + group: 'synapse kusto-pool-database' + set: + group: 'synapse kusto database' + - where: + group: 'synapse kusto-pool-principal-assignment' + set: + group: 'synapse kusto pool-principal-assignment' + - where: + group: 'synapse kusto-pool' + set: + group: 'synapse kusto pool' + - where: + group: 'synapse kusto-pool-data-connection event-grid' + set: + group: 'synapse kusto data-connection event-grid' + - where: + group: 'synapse kusto-pool-data-connection event-hub' + set: + group: 'synapse kusto data-connection event-hub' + - where: + group: 'synapse kusto-pool-data-connection iot-hub' + set: + group: 'synapse kusto data-connection iot-hub' + +cli: + cli-directive: + - where: + group: 'KustoPoolDataConnections' + op: 'CreateOrUpdate|Update' + param: 'parameters' + poly-resource: true + - where: + group: 'KustoPoolDataConnections' + op: 'dataConnectionValidation' + removed: true + - where: + group: 'KustoPools' + op: 'AddLanguageExtensions' + removed: true + - where: + group: 'KustoPools' + op: 'RemoveLanguageExtensions' + removed: true + - where: + group: 'KustoPools' + op: 'DetachFollowerDatabases' + removed: true + - where: + group: 'KustoPools' + op: 'CreateOrUpdate|Update' + removed: true +``` diff --git a/specification/synapse/resource-manager/readme.cli.md b/specification/synapse/resource-manager/readme.cli.md new file mode 100644 index 000000000000..b1af69aadfef --- /dev/null +++ b/specification/synapse/resource-manager/readme.cli.md @@ -0,0 +1,8 @@ + +# Az.Synapse +This directory contains the Cli common model for the Synapse service. + +> Metadata +``` yaml + +``` \ No newline at end of file diff --git a/specification/synapse/resource-manager/readme.go.md b/specification/synapse/resource-manager/readme.go.md index 51b3fcb8e52a..e7c9b2a2d0ed 100644 --- a/specification/synapse/resource-manager/readme.go.md +++ b/specification/synapse/resource-manager/readme.go.md @@ -13,6 +13,7 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-composite-v2 - tag: package-composite-v1 - tag: package-2019-06-01-preview - tag: package-2020-12-01 @@ -20,6 +21,15 @@ batch: - tag: package-preview-2021-06 ``` +### Tag: package-composite-v2 and go + +These settings apply only when `--tag=package-composite-v2 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-composite-v2' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/v2.0/$(namespace) +``` + ### Tag: package-composite-v1 and go These settings apply only when `--tag=package-composite-v1 --go` is specified on the command line. diff --git a/specification/synapse/resource-manager/readme.md b/specification/synapse/resource-manager/readme.md index 69edf4d798ff..a7d1337fe8e0 100644 --- a/specification/synapse/resource-manager/readme.md +++ b/specification/synapse/resource-manager/readme.md @@ -28,12 +28,36 @@ These are the global settings for the Azure Synapse Analytics API. description: Azure Synapse Analytics Management Client openapi-type: arm azure-arm: true -tag: package-composite-v1 +tag: package-composite-v2 generate-empty-classes: true modelerfour: lenient-model-deduplication: true ``` +### Tag: package-composite-v2 + +These settings apply only when `--tag=package-composite-v2` is specified on the command line. + +```yaml $(tag) == 'package-composite-v2' +input-file: + - Microsoft.Synapse/stable/2021-06-01/azureADOnlyAuthentication.json + - Microsoft.Synapse/stable/2021-06-01/checkNameAvailability.json + - Microsoft.Synapse/stable/2021-06-01/firewallRule.json + - Microsoft.Synapse/stable/2021-06-01/keys.json + - Microsoft.Synapse/stable/2021-06-01/operations.json + - Microsoft.Synapse/stable/2021-06-01/privateEndpointConnections.json + - Microsoft.Synapse/stable/2021-06-01/privateLinkResources.json + - Microsoft.Synapse/stable/2021-06-01/privatelinkhub.json + - Microsoft.Synapse/stable/2021-06-01/sqlPool.json + - Microsoft.Synapse/stable/2021-06-01/sqlServer.json + - Microsoft.Synapse/stable/2021-06-01/workspace.json + - Microsoft.Synapse/preview/2021-06-01-preview/bigDataPool.json + - Microsoft.Synapse/preview/2021-06-01-preview/library.json + - Microsoft.Synapse/preview/2021-06-01-preview/integrationRuntime.json + - Microsoft.Synapse/preview/2021-06-01-preview/sparkConfiguration.json + - Microsoft.Synapse/preview/2021-06-01-preview/kustoPool.json +``` + ### Tag: package-composite-v1 These settings apply only when `--tag=package-composite-v1` is specified on the command line. @@ -102,17 +126,6 @@ input-file: - Microsoft.Synapse/preview/2021-06-01-preview/azureADOnlyAuthentication.json ``` -### Tag: package-kusto-pool-2021-06-preview - -These settings apply only when `--tag=package-kusto-pool-2021-06-preview` is specified on the command line. - -**ATTENTION**: Please DO NOT generate SDK based on this tag. Kusto pool API set is not ready to be widely used. - -``` yaml $(tag) == 'package-kusto-pool-2021-06-preview' -input-file: - - Microsoft.Synapse/preview/2021-06-01-preview/kustoPool.json -``` - ### Tag: package-2021-05 These settings apply only when `--tag=package-2021-05` is specified on the command line. @@ -159,8 +172,6 @@ input-file: These settings apply only when `--tag=package-kusto-pool-2021-04-preview` is specified on the command line. -**ATTENTION**: Please DO NOT generate SDK based on this tag. Kusto pool API set is not ready to be widely used. - ``` yaml $(tag) == 'package-kusto-pool-2021-04-preview' input-file: - Microsoft.Synapse/preview/2021-04-01-preview/kustoPool.json @@ -347,6 +358,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-go - repo: azure-resource-manager-schemas + - repo: azure-cli-extensions ``` ## Python diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/preview/2021-03-31-preview/timeseriesinsights.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/preview/2021-03-31-preview/timeseriesinsights.json index 7a233abef13d..5ddbb2953b3b 100644 --- a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/preview/2021-03-31-preview/timeseriesinsights.json +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/preview/2021-03-31-preview/timeseriesinsights.json @@ -1113,14 +1113,14 @@ "$ref": "#/parameters/EnvironmentNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/parameters/PrivateEndpointConnectionName" + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" }, { "name": "privateEndpointConnection", "in": "body", "required": true, "schema": { - "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection" + "$ref": "#/definitions/PrivateEndpointConnection" }, "description": "The definition of the private endpoint connection to update." }, @@ -1132,7 +1132,7 @@ "200": { "description": "The existing private endpoint connection definition was successfully updated.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection" + "$ref": "#/definitions/PrivateEndpointConnection" } }, "default": { @@ -1165,7 +1165,7 @@ "$ref": "#/parameters/EnvironmentNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/parameters/PrivateEndpointConnectionName" + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1175,7 +1175,7 @@ "200": { "description": "The definition of the private endpoint connection was successfully retrieved and is in the response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection" + "$ref": "#/definitions/PrivateEndpointConnection" } }, "default": { @@ -1208,7 +1208,7 @@ "$ref": "#/parameters/EnvironmentNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/parameters/PrivateEndpointConnectionName" + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1264,7 +1264,7 @@ "200": { "description": "The operation succeeded. The response contains the list of all private endpoint connections for the given environment.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + "$ref": "#/definitions/PrivateEndpointConnectionListResult" } }, "default": { @@ -1309,7 +1309,7 @@ "200": { "description": "The operation succeeded. The response contains the list of all supported private link resource types for the given environment.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateLinkResourceListResult" + "$ref": "#/definitions/PrivateLinkResourceListResult" } }, "default": { @@ -1960,7 +1960,7 @@ "readOnly": true, "type": "array", "items": { - "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection" + "$ref": "#/definitions/PrivateEndpointConnection" }, "description": "The list of private endpoint connections to the environment." } @@ -2027,6 +2027,27 @@ "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." + }, + "publicNetworkAccess": { + "type": "string", + "default": "enabled", + "description": "If 'enabled', public network access is allowed. If '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": true + } + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of private endpoint connections to the environment." } }, "required": [ @@ -2873,6 +2894,185 @@ } } }, + "PrivateEndpoint": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ARM identifier for Private Endpoint" + } + }, + "description": "The Private Endpoint resource." + }, + "PrivateEndpointConnection": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The ARM identifier for Private Endpoint Connection" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "The Private Endpoint Connection resource." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "Provisioning state of the private endpoint connection." + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "groupIds": { + "$ref": "#/definitions/PrivateEndpointGroupIds", + "description": "The provisioning state of the private endpoint connection resource." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateEndpointGroupIds": { + "type": "array", + "items": { + "type": "string", + "description": "Private Links resource group id." + }, + "description": "A list of private links resource group ids" + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "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 reason for approval/rejection of the connection." + }, + "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." + }, + "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 + } + }, + "PrivateLinkResource": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "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", + "readOnly": true + }, + "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 Private link DNS zone name." + } + }, + "description": "Properties of a private link resource." + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "description": "List of private endpoint connection associated with the specified storage account" + }, + "PrivateLinkResourceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + }, "CloudError": { "type": "object", "properties": { @@ -2974,6 +3174,14 @@ "type": "string", "description": "The name of the Time Series Insights access policy associated with the specified environment.", "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 Azure resource", + "x-ms-parameter-location": "method" } } } diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountCheckNameAvailabilityFree.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountCheckNameAvailabilityFree.json new file mode 100644 index 000000000000..3c75e9d01132 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountCheckNameAvailabilityFree.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-10-18-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e", + "checkNameAvailabilityParameters": { + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountCheckNameAvailabilityTaken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountCheckNameAvailabilityTaken.json new file mode 100644 index 000000000000..dd7f60841619 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountCheckNameAvailabilityTaken.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-10-18-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e", + "checkNameAvailabilityParameters": { + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Resource name already exists" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountDelete.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountDelete.json new file mode 100644 index 000000000000..759b4975e7f7 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountDelete.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contoso-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3" + }, + "responses": { + "200": {}, + "202": {}, + "204": {}, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountGet.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountGet.json new file mode 100644 index 000000000000..3d53c4ce6a25 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contoso-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contoso-videoanalyzer", + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts", + "location": "NorthEurope", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch1.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch1.json new file mode 100644 index 000000000000..79f4e0508bd4 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch1.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "mediaServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "EVENT_GRID_NOT_REGISTERED", + "message": "Microsoft.EventGrid resource provider is not registered in subscription" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch2.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch2.json new file mode 100644 index 000000000000..c3a3a5d0d3ee --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch2.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "mediaServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_IN_ANOTHER_LOCATION", + "message": "Can not connect to a Media Services account which is not in the same location as the VideoIndexer account" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch3.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch3.json new file mode 100644 index 000000000000..cf6a1cfb2992 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch3.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "mediaServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_UNREACHABLE", + "message": "Failed to connect to Media Services account" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch4.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch4.json new file mode 100644 index 000000000000..d9e10908a63d --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch4.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "mediaServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_INVALID_AAD_CONNECTION", + "message": "Cannot connect to resource '{AadConnectionConfig.AmsResourceUri}' due to issue with AAD application '{AadConnectionConfig.AadApplicationId}' that should have permissions to it.'" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch5.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch5.json new file mode 100644 index 000000000000..5d7f02cf9794 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch5.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "mediaServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_AAD_APPLICATION_INSUFFICIENT_PERMISSION", + "message": "The AAD application is Unauthorized. Make sure it has at least 'Contributor' permissions" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch6.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch6.json new file mode 100644 index 000000000000..81c5c6a3cfde --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch6.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": {} + } + }, + "400": { + "body": { + "error": { + "code": "InvalidResource", + "message": "The resource definition is invalid." + } + } + }, + "404": { + "body": { + "error": {} + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch7.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch7.json new file mode 100644 index 000000000000..04b669e38036 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch7.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": {} + } + }, + "400": { + "body": { + "error": {} + } + }, + "404": { + "body": { + "error": { + "code": "ResourceNotFound", + "message": "The Resource 'contosto-videoanalyzer' under resource group 'contosto-videoanalyzer-rg' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch8.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch8.json new file mode 100644 index 000000000000..917ee16b3ef4 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPatch/ViAccountPatch8.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "mediaServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": {} + } + }, + "400": { + "body": { + "error": { + "code": "MissingIdentityIds", + "message": "The identity ids must not be null or empty for 'UserAssigned' identity type." + } + } + }, + "404": { + "body": {} + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut1.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut1.json new file mode 100644 index 000000000000..7710c15cfa06 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut1.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "EVENT_GRID_NOT_REGISTERED", + "message": "Microsoft.EventGrid resource provider is not registered in subscription" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut10.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut10.json new file mode 100644 index 000000000000..d9171d3b8d80 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut10.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": {} + } + }, + "400": { + "body": { + "error": { + "code": "MissingIdentityIds", + "message": "The identity ids must not be null or empty for 'UserAssigned' identity type." + } + } + }, + "404": { + "body": {} + }, + "409": { + "body": {} + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut2.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut2.json new file mode 100644 index 000000000000..2aa460565447 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut2.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_IN_ANOTHER_LOCATION", + "message": "Can not connect to a Media Services account which is not in the same location as the VideoIndexer account" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut3.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut3.json new file mode 100644 index 000000000000..8dc6ab7efb44 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut3.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_UNREACHABLE", + "message": "Failed to connect to Media Services account" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut4.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut4.json new file mode 100644 index 000000000000..5eb88e4d6173 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut4.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_AAD_APPLICATION_INSUFFICIENT_PERMISSION", + "message": "The AAD application is Unauthorized. Make sure it has at least 'Contributor' permissions" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut5.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut5.json new file mode 100644 index 000000000000..2eed5ebbd1c3 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut5.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_INVALID_AAD_CONNECTION", + "message": "Cannot connect to resource '{AadConnectionConfig.AmsResourceUri}' due to issue with AAD application '{AadConnectionConfig.AadApplicationId}' that should have permissions to it.'" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut6.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut6.json new file mode 100644 index 000000000000..ddb9d30681c9 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut6.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "EVENT_GRID_NOT_REGISTERED", + "message": "Microsoft.EventGrid resource provider is not registered in subscription" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "InvalidResourceLocation", + "message": "The resource 'xxx' already exists in location 'xxx' in resource group 'xxx'. A resource with the same name cannot be created in location 'xxx'. Please select a new resource name." + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut7.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut7.json new file mode 100644 index 000000000000..e458f3769392 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut7.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "EVENT_GRID_NOT_REGISTERED", + "message": "Microsoft.EventGrid resource provider is not registered in subscription" + } + } + }, + "404": { + "body": { + "error": { + "code": "RersourceGroupNotFound", + "message": "Resource group 'contosto-videoanalyzer-rg' could not be found." + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut8.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut8.json new file mode 100644 index 000000000000..d913d2a4dcfa --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut8.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/24237b72-8546-4da5-b204-8c3cb76dd930/resourceGroups/uratzmon-rg/providers/Microsoft.Media/mediaservices/talshoham" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "subscriptions/24237b72-8546-4da5-b204-8c3cb76dd930/resourceGroups/uratzmon-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/talshoham": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": {} + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "UserAssignedIdentity is empty. Trace id:'9677927b-ae6b-496g-1df8-9ec3048b4bf2'" + } + } + }, + "404": { + "body": {} + }, + "409": { + "body": {} + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut9.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut9.json new file mode 100644 index 000000000000..9b37ff291cb8 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountPut/ViAccountPut9.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": {} + } + }, + "400": { + "body": { + "error": { + "code": "InvalidResource", + "message": "The resource definition is invalid." + } + } + }, + "404": { + "body": {} + }, + "409": { + "body": {} + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountsList.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountsList.json new file mode 100644 index 000000000000..9c818f1d0f1c --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountsList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-10-18-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contoso-videoanalyzer", + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts", + "location": "NorthEurope", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Provisioning" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + ], + "nextLink": "link" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountsListByResourceGroup.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountsListByResourceGroup.json new file mode 100644 index 000000000000..f42fdabcad7b --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViAccountsListByResourceGroup.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "resourceGroupName": "contoso-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contoso-videoanalyzer-rg", + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts", + "location": "NorthEurope", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + ], + "nextLink": "link" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateAccountContributerAccessToken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateAccountContributerAccessToken.json new file mode 100644 index 000000000000..0863a944b242 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateAccountContributerAccessToken.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Contributor", + "scope": "Account" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": {} + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateAccountReaderAccessToken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateAccountReaderAccessToken.json new file mode 100644 index 000000000000..6391c1d28186 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateAccountReaderAccessToken.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Reader", + "scope": "Account" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": {} + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken1.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken1.json new file mode 100644 index 000000000000..1c16827f9aa2 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken1.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Contributor", + "scope": "Project", + "projectId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "BREAKDOWN_NOT_FOUND", + "message": "Video/Project '07ec9e38d4' was not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken2.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken2.json new file mode 100644 index 000000000000..359943cb5139 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken2.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Contributor", + "scope": "Project", + "projectId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Playlist '07ec9e38d4' does not belong to account '74h866ca-f74f-7963-a926-4712f5bc0123'. Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken1.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken1.json new file mode 100644 index 000000000000..0fd239e088e3 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken1.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Reader", + "scope": "Project", + "projectId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "BREAKDOWN_NOT_FOUND", + "message": "Video/Project '07ec9e38d4' was not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken2.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken2.json new file mode 100644 index 000000000000..87704659f85d --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken2.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Reader", + "scope": "Project", + "projectId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Playlist '07ec9e38d4' does not belong to account '74h866ca-f74f-7963-a926-4712f5bc0123'. Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken1.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken1.json new file mode 100644 index 000000000000..716e73ce2af9 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken1.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Contributor", + "scope": "Video", + "videoId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "BREAKDOWN_NOT_FOUND", + "message": "Video/Project '07ec9e38d4' was not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken2.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken2.json new file mode 100644 index 000000000000..7707887ab229 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken2.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Contributor", + "scope": "Video", + "videoId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Playlist '07ec9e38d4' does not belong to account '74h866ca-f74f-7963-a926-4712f5bc0123'. Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken1.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken1.json new file mode 100644 index 000000000000..035883ecadb9 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken1.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Reader", + "scope": "Video", + "videoId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "BREAKDOWN_NOT_FOUND", + "message": "Video/Project '07ec9e38d4' was not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken2.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken2.json new file mode 100644 index 000000000000..1c40950ca5a0 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken2.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-18-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Reader", + "scope": "Video", + "videoId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Playlist '07ec9e38d4' does not belong to account '74h866ca-f74f-7963-a926-4712f5bc0123'. Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViOperationsList.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViOperationsList.json new file mode 100644 index 000000000000..b06380633562 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/examples/ViOperationsList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-10-18-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.VideoIndexer/accounts/read", + "display": { + "provider": "Microsoft Azure Video Analyzer for Media", + "resource": "Account", + "operation": "Read accounts", + "description": "Read accounts" + } + }, + { + "name": "Microsoft.VideoIndexer/accounts/write", + "display": { + "provider": "Microsoft Azure Video Analyzer for Media", + "resource": "Account", + "operation": "Update accounts", + "description": "Update accounts" + } + }, + { + "name": "Microsoft.VideoIndexer/accounts/delete", + "display": { + "provider": "Microsoft Azure Video Analyzer for Media", + "resource": "Account", + "operation": "Delete accounts", + "description": "Delete accounts" + } + } + ] + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/vi.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/vi.json new file mode 100644 index 000000000000..e39a2ec625e8 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-18-preview/vi.json @@ -0,0 +1,1034 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-18-preview", + "title": "vi", + "description": "Microsoft Azure Video Analyzer for Media" + }, + "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": { + "/providers/Microsoft.VideoIndexer/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Azure Video Analyzer for Media provider operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "List operations": { + "$ref": "./examples/ViOperationsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.VideoIndexer/checkNameAvailability": { + "post": { + "tags": [ + "NameAvailability" + ], + "operationId": "Accounts_CheckNameAvailability", + "description": "Checks that the Video Indexer account name is valid and is not already in use.", + "x-ms-examples": { + "Check free account name availability": { + "$ref": "./examples/ViAccountCheckNameAvailabilityFree.json" + }, + "Check taken account name availability": { + "$ref": "./examples/ViAccountCheckNameAvailabilityTaken.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "checkNameAvailabilityParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccountCheckNameAvailabilityParameters" + }, + "description": "The name of the Video Indexer account. Name must be unique globally" + } + ], + "responses": { + "200": { + "description": "OK - Operation to check the Video Indexer account name availability was successful. Ok does not indicate the name is available, the body of the response does.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.VideoIndexer/accounts": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_List", + "description": "List all Azure Video Analyzer for Media accounts available under the subscription", + "x-ms-examples": { + "List accounts": { + "$ref": "./examples/ViAccountsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_ListByResourceGroup", + "description": "List all Azure Video Analyzer for Media accounts available under the resource group", + "x-ms-examples": { + "List accounts by resource group": { + "$ref": "./examples/ViAccountsListByResourceGroup.json" + } + }, + "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": "OK", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Get", + "description": "Gets the properties of an Azure Video Analyzer for Media account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Azure Video Analyzer for Media account properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get account": { + "$ref": "./examples/ViAccountGet.json" + } + } + }, + "patch": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Update", + "x-ms-long-running-operation": false, + "description": "Updates the properties of an existing Azure Video Analyzer for Media account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The parameters to provide for the current Azure Video Analyzer for Media account.", + "schema": { + "$ref": "#/definitions/AccountPatch" + } + } + ], + "responses": { + "200": { + "description": "The resource was updated successfully.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "400": { + "description": "Bad Request.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch example #1": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch1.json" + }, + "Patch example #2": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch2.json" + }, + "Patch example #3": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch3.json" + }, + "Patch example #4": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch4.json" + }, + "Patch example #5": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch5.json" + }, + "Patch example #6": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch6.json" + }, + "Patch example #7": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch7.json" + }, + "Patch example #8": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch8.json" + } + } + }, + "put": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_CreateOrUpdate", + "description": "Creates or updates an Azure Video Analyzer for Media account.", + "x-ms-long-running-operation": false, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The parameters to provide for the Azure Video Analyzer for Media account.", + "schema": { + "$ref": "#/definitions/Account" + } + } + ], + "responses": { + "200": { + "description": "The resource was successfully updated.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "400": { + "description": "Bad Request.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "409": { + "description": "Conflict", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Put example #1": { + "$ref": "./examples/ViAccountPut/ViAccountPut1.json" + }, + "Put example #2": { + "$ref": "./examples/ViAccountPut/ViAccountPut2.json" + }, + "Put example #3": { + "$ref": "./examples/ViAccountPut/ViAccountPut3.json" + }, + "Put example #4": { + "$ref": "./examples/ViAccountPut/ViAccountPut4.json" + }, + "Put example #5": { + "$ref": "./examples/ViAccountPut/ViAccountPut5.json" + }, + "Put example #6": { + "$ref": "./examples/ViAccountPut/ViAccountPut6.json" + }, + "Put example #7": { + "$ref": "./examples/ViAccountPut/ViAccountPut7.json" + }, + "Put example #8": { + "$ref": "./examples/ViAccountPut/ViAccountPut8.json" + }, + "Put example #9": { + "$ref": "./examples/ViAccountPut/ViAccountPut9.json" + }, + "Put example #10": { + "$ref": "./examples/ViAccountPut/ViAccountPut10.json" + } + } + }, + "delete": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Delete", + "description": "Delete an Azure Video Analyzer for Media account.", + "x-ms-long-running-operation": false, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Azure Video Analyzer for Media account was successfully deleted." + }, + "202": { + "description": "The Azure Video Analyzer for Media account will be deleted asynchronously." + }, + "204": { + "description": "The Azure Video Analyzer for Media account does not exist." + }, + "500": { + "description": "Internal Server Error", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete account": { + "$ref": "./examples/ViAccountDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}/generateAccessToken": { + "post": { + "tags": [ + "AccessToken" + ], + "operationId": "Generate_AccessToken", + "description": "Generate an Azure Video Analyzer for Media access token.", + "x-ms-examples": { + "Generate accessToken for video contributor #1": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken1.json" + }, + "Generate accessToken for video contributor #2": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken2.json" + }, + "Generate accessToken for video reader #1": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken1.json" + }, + "Generate accessToken for video reader #2": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken2.json" + }, + "Generate accessToken for project contributor #1": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken1.json" + }, + "Generate accessToken for project contributor #2": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken2.json" + }, + "Generate accessToken for project reader #1": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken1.json" + }, + "Generate accessToken for project reader #2": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken2.json" + }, + "Generate accessToken for account contributor": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateAccountContributerAccessToken.json" + }, + "Generate accessToken for account reader": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateAccountReaderAccessToken.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "x-ms-client-flatten": true, + "description": "The parameters for generating access token", + "schema": { + "$ref": "#/definitions/GenerateAccessTokenParameters" + } + } + ], + "responses": { + "200": { + "description": "The Azure Video Analyzer for Media account's access token properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/AccessToken" + } + }, + "400": { + "description": "Bad Request.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "409": { + "description": "Conflict", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "Tags": { + "type": "object", + "description": "Resource tags", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags" + } + } + }, + "Account": { + "description": "An Azure Video Analyzer for Media account.", + "type": "object", + "properties": { + "properties": { + "description": "List of account properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AccountPropertiesForPutRequest" + }, + "identity": { + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ] + }, + "AccountPatch": { + "type": "object", + "description": "Azure Video Analyzer for Media account", + "properties": { + "properties": { + "description": "List of account properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AccountPropertiesForPatchRequest" + }, + "identity": { + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Tags" + } + ] + }, + "AccountPropertiesForPutRequest": { + "description": "Azure Video Analyzer for Media account properties", + "type": "object", + "properties": { + "tenantId": { + "description": "The account's tenant id", + "type": "string", + "readOnly": true, + "example": "2b9bcf6d-39d5-460a-a6bb-7b40b7ccf139" + }, + "accountId": { + "description": "The account's data-plane ID", + "type": "string", + "example": "3575690b-a569-449c-ab7b-11020f948f76" + }, + "accountName": { + "description": "The account's name", + "type": "string", + "readOnly": true, + "example": "contoso-videoAnalyzer" + }, + "mediaServices": { + "description": "The media services details", + "type": "object", + "$ref": "#/definitions/MediaServicesForPutRequest" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the account at the time the operation was called.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Accepted", + "Provisioning", + "Deleting" + ], + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "AccountPropertiesForPatchRequest": { + "description": "Azure Video Analyzer for Media account properties", + "type": "object", + "properties": { + "tenantId": { + "description": "The account's tenant id", + "type": "string", + "readOnly": true, + "example": "2b9bcf6d-39d5-460a-a6bb-7b40b7ccf139" + }, + "accountId": { + "description": "The account's data-plane ID", + "readOnly": true, + "type": "string", + "example": "3575690b-a569-449c-ab7b-11020f948f76" + }, + "mediaServices": { + "description": "The media services details", + "type": "object", + "$ref": "#/definitions/MediaServicesForPatchRequest" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the account at the time the operation was called.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Accepted", + "Provisioning", + "Deleting" + ], + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "AccountList": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Account" + }, + "description": "List of accounts and their properties." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any.", + "example": "https://management.azure.com/{accountsOperation}?api-version={version}&%24skiptoken={token}" + } + }, + "description": "The list operation response, that contains the data pools and their properties.", + "type": "object" + }, + "GenerateAccessTokenParameters": { + "description": "Access token generation request's parameters", + "type": "object", + "required": [ + "permissionType", + "scope" + ], + "properties": { + "permissionType": { + "type": "string", + "description": "The requested permission", + "enum": [ + "Contributor", + "Reader" + ], + "x-ms-enum": { + "name": "permissionType", + "modelAsString": true + } + }, + "scope": { + "type": "string", + "description": "The requested media type", + "enum": [ + "Video", + "Account", + "Project" + ], + "x-ms-enum": { + "name": "scope", + "modelAsString": true + } + }, + "videoId": { + "description": "The video ID", + "type": "string", + "example": "07ec9e38d4" + }, + "projectId": { + "description": "The project ID", + "type": "string" + } + } + }, + "MediaServicesForPutRequest": { + "description": "The media services details", + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "The media services resource id", + "example": "/subscriptions/xxx/resourceGroups/contoso-videoAnalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoAnalyzer-ms" + }, + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned identity to be used to grant permissions", + "example": "/subscriptions/xxx/resourceGroups/contoso-videoAnalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoAnalyzer-mi" + } + } + }, + "MediaServicesForPatchRequest": { + "description": "The media services details", + "type": "object", + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned identity to be used to grant permissions", + "example": "/subscriptions/xxx/resourceGroups/contoso-videoAnalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoAnalyzer-mi" + } + } + }, + "AccessToken": { + "description": "Azure Video Analyzer for Media access token.", + "type": "object", + "properties": { + "accessToken": { + "type": "string", + "readOnly": true, + "description": "The access token.", + "x-ms-secret": true, + "example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJPbmxpbmUgSldUIEJ1aWxkZXIiLCJpYXQiOjE2MjI0NDc3MzMsImV4cCI6MTY1Mzk4MzczMywiYXVkIjoid3d3LmV4YW1wbGUuY29tIiwic3ViIjoianJvY2tldEBleGFtcGxlLmNvbSIsIkdpdmVuTmFtZSI6IkpvaG5ueSIsIlN1cm5hbWUiOiJSb2NrZXQiLCJFbWFpbCI6Impyb2NrZXRAZXhhbXBsZS5jb20iLCJSb2xlIjpbIk1hbmFnZXIiLCJQcm9qZWN0IEFkbWluaXN0cmF0b3IiXX0" + } + } + }, + "Operation": { + "description": "Operation detail payload", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation", + "readOnly": true, + "type": "string", + "example": "Microsoft.VideoIndexer/accounts/read" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "readOnly": true, + "type": "boolean", + "example": false + }, + "actionType": { + "description": "Indicates the action type.", + "readOnly": true, + "type": "string", + "example": "Internal" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "readOnly": true, + "description": "Display of the operation" + }, + "origin": { + "description": "Origin of the operation", + "readOnly": true, + "type": "string", + "example": "user" + } + } + }, + "OperationDisplay": { + "description": "Operation display payload", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider of the operation", + "readOnly": true, + "type": "string", + "example": "Microsoft Azure Video Analyzer for Media" + }, + "resource": { + "description": "Resource of the operation", + "readOnly": true, + "type": "string", + "example": "accounts" + }, + "operation": { + "description": "Localized friendly name for the operation", + "readOnly": true, + "type": "string", + "example": "Read accounts" + }, + "description": { + "description": "Localized friendly description for the operation", + "readOnly": true, + "type": "string", + "example": "Read accounts details" + } + } + }, + "OperationListResult": { + "description": "Available operations of the service.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "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.", + "example": "https://management.azure.com/{operation}?api-version={version}&%24skiptoken={token}" + } + } + }, + "ErrorResponse": { + "description": "Error response.", + "type": "object", + "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" + }, + "readOnly": true + } + } + }, + "AccountCheckNameAvailabilityParameters": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The VideoIndexer account name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.VideoIndexer/accounts" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": true + }, + "description": "The type of resource, Microsoft.VideoIndexer/accounts" + } + }, + "required": [ + "name", + "type" + ], + "description": "The parameters used to check the availability of the Video Indexer account name." + }, + "CheckNameAvailabilityResult": { + "type": "object", + "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." + }, + "reason": { + "readOnly": true, + "type": "string", + "description": "Gets the reason that a Video Indexer account name could not be used. The Reason element is only returned if NameAvailable is false.", + "enum": [ + "AlreadyExists" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": true + } + }, + "message": { + "readOnly": true, + "type": "string", + "description": "Gets an error message explaining the Reason value in more detail." + } + }, + "description": "The CheckNameAvailability operation response." + } + }, + "parameters": { + "AccountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Video Analyzer for Media account.", + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*", + "maxLength": 50, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountCheckNameAvailabilityFree.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountCheckNameAvailabilityFree.json new file mode 100644 index 000000000000..fe8d4248726a --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountCheckNameAvailabilityFree.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-10-27-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e", + "checkNameAvailabilityParameters": { + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountCheckNameAvailabilityTaken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountCheckNameAvailabilityTaken.json new file mode 100644 index 000000000000..0b1b9fa458fe --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountCheckNameAvailabilityTaken.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-10-27-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e", + "checkNameAvailabilityParameters": { + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Resource name already exists" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountDelete.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountDelete.json new file mode 100644 index 000000000000..5e3954f00ee9 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountDelete.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contoso-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3" + }, + "responses": { + "200": {}, + "202": {}, + "204": {}, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountGet.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountGet.json new file mode 100644 index 000000000000..1ec928b03036 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contoso-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contoso-videoanalyzer", + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts", + "location": "NorthEurope", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch1.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch1.json new file mode 100644 index 000000000000..a115e849daf6 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch1.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "mediaServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "EVENT_GRID_NOT_REGISTERED", + "message": "Microsoft.EventGrid resource provider is not registered in subscription" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch2.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch2.json new file mode 100644 index 000000000000..1fa2255b1bff --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch2.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "mediaServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_IN_ANOTHER_LOCATION", + "message": "Can not connect to a Media Services account which is not in the same location as the VideoIndexer account" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch3.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch3.json new file mode 100644 index 000000000000..457875168d37 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch3.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "mediaServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_UNREACHABLE", + "message": "Failed to connect to Media Services account" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch4.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch4.json new file mode 100644 index 000000000000..2e6f5864f076 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch4.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "mediaServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_INVALID_AAD_CONNECTION", + "message": "Cannot connect to resource '{AadConnectionConfig.AmsResourceUri}' due to issue with AAD application '{AadConnectionConfig.AadApplicationId}' that should have permissions to it.'" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch5.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch5.json new file mode 100644 index 000000000000..e2c5a5eea4c5 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch5.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "mediaServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_AAD_APPLICATION_INSUFFICIENT_PERMISSION", + "message": "The AAD application is Unauthorized. Make sure it has at least 'Contributor' permissions" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch6.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch6.json new file mode 100644 index 000000000000..ffb68601db1b --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch6.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": {} + } + }, + "400": { + "body": { + "error": { + "code": "InvalidResource", + "message": "The resource definition is invalid." + } + } + }, + "404": { + "body": { + "error": {} + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch7.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch7.json new file mode 100644 index 000000000000..4c4248bf0ff5 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch7.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": {} + } + }, + "400": { + "body": { + "error": {} + } + }, + "404": { + "body": { + "error": { + "code": "ResourceNotFound", + "message": "The Resource 'contosto-videoanalyzer' under resource group 'contosto-videoanalyzer-rg' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch8.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch8.json new file mode 100644 index 000000000000..ba3d888f123b --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPatch/ViAccountPatch8.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "mediaServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": {} + } + }, + "400": { + "body": { + "error": { + "code": "MissingIdentityIds", + "message": "The identity ids must not be null or empty for 'UserAssigned' identity type." + } + } + }, + "404": { + "body": {} + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut1.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut1.json new file mode 100644 index 000000000000..f01f945be529 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut1.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "EVENT_GRID_NOT_REGISTERED", + "message": "Microsoft.EventGrid resource provider is not registered in subscription" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut10.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut10.json new file mode 100644 index 000000000000..1de1f97d679d --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut10.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": {} + } + }, + "400": { + "body": { + "error": { + "code": "MissingIdentityIds", + "message": "The identity ids must not be null or empty for 'UserAssigned' identity type." + } + } + }, + "404": { + "body": {} + }, + "409": { + "body": {} + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut2.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut2.json new file mode 100644 index 000000000000..0c8071d18210 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut2.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_IN_ANOTHER_LOCATION", + "message": "Can not connect to a Media Services account which is not in the same location as the VideoIndexer account" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut3.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut3.json new file mode 100644 index 000000000000..2fa23edce292 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut3.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_UNREACHABLE", + "message": "Failed to connect to Media Services account" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut4.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut4.json new file mode 100644 index 000000000000..24e7f6cb198b --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut4.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_AAD_APPLICATION_INSUFFICIENT_PERMISSION", + "message": "The AAD application is Unauthorized. Make sure it has at least 'Contributor' permissions" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut5.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut5.json new file mode 100644 index 000000000000..29b5a328be7d --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut5.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_INVALID_AAD_CONNECTION", + "message": "Cannot connect to resource '{AadConnectionConfig.AmsResourceUri}' due to issue with AAD application '{AadConnectionConfig.AadApplicationId}' that should have permissions to it.'" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut6.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut6.json new file mode 100644 index 000000000000..f0b69906810d --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut6.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "EVENT_GRID_NOT_REGISTERED", + "message": "Microsoft.EventGrid resource provider is not registered in subscription" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "InvalidResourceLocation", + "message": "The resource 'xxx' already exists in location 'xxx' in resource group 'xxx'. A resource with the same name cannot be created in location 'xxx'. Please select a new resource name." + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut7.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut7.json new file mode 100644 index 000000000000..c3f84f207108 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut7.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "EVENT_GRID_NOT_REGISTERED", + "message": "Microsoft.EventGrid resource provider is not registered in subscription" + } + } + }, + "404": { + "body": { + "error": { + "code": "RersourceGroupNotFound", + "message": "Resource group 'contosto-videoanalyzer-rg' could not be found." + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut8.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut8.json new file mode 100644 index 000000000000..adf57abc84cc --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut8.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/24237b72-8546-4da5-b204-8c3cb76dd930/resourceGroups/uratzmon-rg/providers/Microsoft.Media/mediaservices/talshoham" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "subscriptions/24237b72-8546-4da5-b204-8c3cb76dd930/resourceGroups/uratzmon-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/talshoham": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": {} + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "UserAssignedIdentity is empty. Trace id:'9677927b-ae6b-496g-1df8-9ec3048b4bf2'" + } + } + }, + "404": { + "body": {} + }, + "409": { + "body": {} + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut9.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut9.json new file mode 100644 index 000000000000..c23b4f0311f5 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountPut/ViAccountPut9.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": {} + } + }, + "400": { + "body": { + "error": { + "code": "InvalidResource", + "message": "The resource definition is invalid." + } + } + }, + "404": { + "body": {} + }, + "409": { + "body": {} + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountsList.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountsList.json new file mode 100644 index 000000000000..e8392b7727ca --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountsList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-10-27-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contoso-videoanalyzer", + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts", + "location": "NorthEurope", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Provisioning" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + ], + "nextLink": "link" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountsListByResourceGroup.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountsListByResourceGroup.json new file mode 100644 index 000000000000..529ed657e126 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViAccountsListByResourceGroup.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "resourceGroupName": "contoso-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contoso-videoanalyzer-rg", + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts", + "location": "NorthEurope", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + ], + "nextLink": "link" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViClassicAccounts.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViClassicAccounts.json new file mode 100644 index 000000000000..3a243906aed8 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViClassicAccounts.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "location": "NorthEurope", + "accountName": "contosto-videoanalyzer" + }, + "responses": { + "200": { + "body": { + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "mediaServices": { + "aadApplicationId": "912f96dc-1ed3-4d7d-aa67-0adef4bb68ad", + "aadTenantId": "72f988bf-86f1-41ag-91ab-2d7cd061db47", + "connected": true, + "eventGridProviderRegistered": true, + "name": "contosoVideoanalyzerMediaServices", + "resourceGroup": "contoso-videoanalyzer-rg", + "streamingEndpointStarted": false, + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e" + } + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "AccountName is empty" + } + } + }, + "401": { + "body": { + "error": { + "code": "USER_NOT_ALLOWED", + "message": "User is not account owner for account - contoso-videoanalyzer" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Classic account not found or has been deleted and is pending deletion has been deleted and is pending deletion - contoso-videoanalyzer" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateAccountContributerAccessToken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateAccountContributerAccessToken.json new file mode 100644 index 000000000000..1159a1483451 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateAccountContributerAccessToken.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Contributor", + "scope": "Account" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": {} + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateAccountReaderAccessToken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateAccountReaderAccessToken.json new file mode 100644 index 000000000000..3a39209aa9bb --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateAccountReaderAccessToken.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Reader", + "scope": "Account" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": {} + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken1.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken1.json new file mode 100644 index 000000000000..f2e47850e829 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken1.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Contributor", + "scope": "Project", + "projectId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "BREAKDOWN_NOT_FOUND", + "message": "Video/Project '07ec9e38d4' was not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken2.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken2.json new file mode 100644 index 000000000000..de36322e1841 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken2.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Contributor", + "scope": "Project", + "projectId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Playlist '07ec9e38d4' does not belong to account '74h866ca-f74f-7963-a926-4712f5bc0123'. Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken1.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken1.json new file mode 100644 index 000000000000..d4e8e943b509 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken1.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Reader", + "scope": "Project", + "projectId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "BREAKDOWN_NOT_FOUND", + "message": "Video/Project '07ec9e38d4' was not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken2.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken2.json new file mode 100644 index 000000000000..7f39e23c5b46 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken2.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Reader", + "scope": "Project", + "projectId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Playlist '07ec9e38d4' does not belong to account '74h866ca-f74f-7963-a926-4712f5bc0123'. Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken1.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken1.json new file mode 100644 index 000000000000..208e56f1ea8a --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken1.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Contributor", + "scope": "Video", + "videoId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "BREAKDOWN_NOT_FOUND", + "message": "Video/Project '07ec9e38d4' was not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken2.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken2.json new file mode 100644 index 000000000000..62fa56c06fa4 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken2.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Contributor", + "scope": "Video", + "videoId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Playlist '07ec9e38d4' does not belong to account '74h866ca-f74f-7963-a926-4712f5bc0123'. Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken1.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken1.json new file mode 100644 index 000000000000..868f2907422a --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken1.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Reader", + "scope": "Video", + "videoId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "BREAKDOWN_NOT_FOUND", + "message": "Video/Project '07ec9e38d4' was not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken2.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken2.json new file mode 100644 index 000000000000..a395526304fa --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken2.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-10-27-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Reader", + "scope": "Video", + "videoId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Playlist '07ec9e38d4' does not belong to account '74h866ca-f74f-7963-a926-4712f5bc0123'. Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViListUserClassicAccounts.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViListUserClassicAccounts.json new file mode 100644 index 000000000000..29800e724d69 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViListUserClassicAccounts.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2021-10-27-preview", + "location": "NorthEurope" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "contoso-videoanalyzer", + "location": "NorthEurope" + } + ], + "nextLink": "link" + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViOperationsList.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViOperationsList.json new file mode 100644 index 000000000000..ddc52a105fef --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/examples/ViOperationsList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-10-27-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.VideoIndexer/accounts/read", + "display": { + "provider": "Microsoft Azure Video Analyzer for Media", + "resource": "Account", + "operation": "Read accounts", + "description": "Read accounts" + } + }, + { + "name": "Microsoft.VideoIndexer/accounts/write", + "display": { + "provider": "Microsoft Azure Video Analyzer for Media", + "resource": "Account", + "operation": "Update accounts", + "description": "Update accounts" + } + }, + { + "name": "Microsoft.VideoIndexer/accounts/delete", + "display": { + "provider": "Microsoft Azure Video Analyzer for Media", + "resource": "Account", + "operation": "Delete accounts", + "description": "Delete accounts" + } + } + ] + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/vi.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/vi.json new file mode 100644 index 000000000000..d4c087c91d33 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-10-27-preview/vi.json @@ -0,0 +1,1250 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-27-preview", + "title": "vi", + "description": "Microsoft Azure Video Analyzer for Media" + }, + "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": { + "/providers/Microsoft.VideoIndexer/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Azure Video Analyzer for Media provider operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "List operations": { + "$ref": "./examples/ViOperationsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.VideoIndexer/checkNameAvailability": { + "post": { + "tags": [ + "NameAvailability" + ], + "operationId": "Accounts_CheckNameAvailability", + "description": "Checks that the Video Indexer account name is valid and is not already in use.", + "x-ms-examples": { + "Check free account name availability": { + "$ref": "./examples/ViAccountCheckNameAvailabilityFree.json" + }, + "Check taken account name availability": { + "$ref": "./examples/ViAccountCheckNameAvailabilityTaken.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "checkNameAvailabilityParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccountCheckNameAvailabilityParameters" + }, + "description": "The name of the Video Indexer account. Name must be unique globally" + } + ], + "responses": { + "200": { + "description": "OK - Operation to check the Video Indexer account name availability was successful. Ok does not indicate the name is available, the body of the response does.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.VideoIndexer/accounts": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_List", + "description": "List all Azure Video Analyzer for Media accounts available under the subscription", + "x-ms-examples": { + "List accounts": { + "$ref": "./examples/ViAccountsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_ListByResourceGroup", + "description": "List all Azure Video Analyzer for Media accounts available under the resource group", + "x-ms-examples": { + "List accounts by resource group": { + "$ref": "./examples/ViAccountsListByResourceGroup.json" + } + }, + "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": "OK", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Get", + "description": "Gets the properties of an Azure Video Analyzer for Media account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Azure Video Analyzer for Media account properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get account": { + "$ref": "./examples/ViAccountGet.json" + } + } + }, + "patch": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Update", + "x-ms-long-running-operation": false, + "description": "Updates the properties of an existing Azure Video Analyzer for Media account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The parameters to provide for the current Azure Video Analyzer for Media account.", + "schema": { + "$ref": "#/definitions/AccountPatch" + } + } + ], + "responses": { + "200": { + "description": "The resource was updated successfully.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "400": { + "description": "Bad Request.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch example #1": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch1.json" + }, + "Patch example #2": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch2.json" + }, + "Patch example #3": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch3.json" + }, + "Patch example #4": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch4.json" + }, + "Patch example #5": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch5.json" + }, + "Patch example #6": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch6.json" + }, + "Patch example #7": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch7.json" + }, + "Patch example #8": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch8.json" + } + } + }, + "put": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_CreateOrUpdate", + "description": "Creates or updates an Azure Video Analyzer for Media account.", + "x-ms-long-running-operation": false, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The parameters to provide for the Azure Video Analyzer for Media account.", + "schema": { + "$ref": "#/definitions/Account" + } + } + ], + "responses": { + "200": { + "description": "The resource was successfully updated.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "400": { + "description": "Bad Request.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "409": { + "description": "Conflict", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Put example #1": { + "$ref": "./examples/ViAccountPut/ViAccountPut1.json" + }, + "Put example #2": { + "$ref": "./examples/ViAccountPut/ViAccountPut2.json" + }, + "Put example #3": { + "$ref": "./examples/ViAccountPut/ViAccountPut3.json" + }, + "Put example #4": { + "$ref": "./examples/ViAccountPut/ViAccountPut4.json" + }, + "Put example #5": { + "$ref": "./examples/ViAccountPut/ViAccountPut5.json" + }, + "Put example #6": { + "$ref": "./examples/ViAccountPut/ViAccountPut6.json" + }, + "Put example #7": { + "$ref": "./examples/ViAccountPut/ViAccountPut7.json" + }, + "Put example #8": { + "$ref": "./examples/ViAccountPut/ViAccountPut8.json" + }, + "Put example #9": { + "$ref": "./examples/ViAccountPut/ViAccountPut9.json" + }, + "Put example #10": { + "$ref": "./examples/ViAccountPut/ViAccountPut10.json" + } + } + }, + "delete": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Delete", + "description": "Delete an Azure Video Analyzer for Media account.", + "x-ms-long-running-operation": false, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Azure Video Analyzer for Media account was successfully deleted." + }, + "202": { + "description": "The Azure Video Analyzer for Media account will be deleted asynchronously." + }, + "204": { + "description": "The Azure Video Analyzer for Media account does not exist." + }, + "500": { + "description": "Internal Server Error", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete account": { + "$ref": "./examples/ViAccountDelete.json" + } + } + } + }, + "/providers/Microsoft.VideoIndexer/locations/{location}/userClassicAccounts": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "UserClassicAccounts_List", + "description": "Lists all Azure Video Analyzer for Media classic accounts", + "x-ms-examples": { + "List accounts": { + "$ref": "./examples/ViListUserClassicAccounts.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UserClassicAccountList" + } + }, + "500": { + "description": "Internal Server Error", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.VideoIndexer/locations/{location}/classicAccounts/{accountName}": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "ClassicAccounts_GetDetails", + "description": "Gets the properties of an Azure Video Analyzer for Media Classic account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + } + ], + "responses": { + "200": { + "description": "The Azure Video Analyzer for Media account properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/ClassicAccount" + } + }, + "400": { + "description": "Bad Request.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "401": { + "description": "User Not Allowed", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get account": { + "$ref": "./examples/ViClassicAccounts.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}/generateAccessToken": { + "post": { + "tags": [ + "AccessToken" + ], + "operationId": "Generate_AccessToken", + "description": "Generate an Azure Video Analyzer for Media access token.", + "x-ms-examples": { + "Generate accessToken for video contributor #1": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken1.json" + }, + "Generate accessToken for video contributor #2": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken2.json" + }, + "Generate accessToken for video reader #1": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken1.json" + }, + "Generate accessToken for video reader #2": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken2.json" + }, + "Generate accessToken for project contributor #1": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken1.json" + }, + "Generate accessToken for project contributor #2": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken2.json" + }, + "Generate accessToken for project reader #1": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken1.json" + }, + "Generate accessToken for project reader #2": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken2.json" + }, + "Generate accessToken for account contributor": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateAccountContributerAccessToken.json" + }, + "Generate accessToken for account reader": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateAccountReaderAccessToken.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "x-ms-client-flatten": true, + "description": "The parameters for generating access token", + "schema": { + "$ref": "#/definitions/GenerateAccessTokenParameters" + } + } + ], + "responses": { + "200": { + "description": "The Azure Video Analyzer for Media account's access token properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/AccessToken" + } + }, + "400": { + "description": "Bad Request.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "409": { + "description": "Conflict", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "Tags": { + "type": "object", + "description": "Resource tags", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags" + } + } + }, + "Account": { + "description": "An Azure Video Analyzer for Media account.", + "type": "object", + "properties": { + "properties": { + "description": "List of account properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AccountPropertiesForPutRequest" + }, + "identity": { + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ] + }, + "AccountPatch": { + "type": "object", + "description": "Azure Video Analyzer for Media account", + "properties": { + "properties": { + "description": "List of account properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AccountPropertiesForPatchRequest" + }, + "identity": { + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Tags" + } + ] + }, + "AccountPropertiesForPutRequest": { + "description": "Azure Video Analyzer for Media account properties", + "type": "object", + "properties": { + "tenantId": { + "description": "The account's tenant id", + "type": "string", + "readOnly": true, + "example": "2b9bcf6d-39d5-460a-a6bb-7b40b7ccf139" + }, + "accountId": { + "description": "The account's data-plane ID", + "type": "string", + "example": "3575690b-a569-449c-ab7b-11020f948f76" + }, + "accountName": { + "description": "The account's name", + "type": "string", + "readOnly": true, + "example": "contoso-videoAnalyzer" + }, + "mediaServices": { + "description": "The media services details", + "type": "object", + "$ref": "#/definitions/MediaServicesForPutRequest" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the account at the time the operation was called.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Accepted", + "Provisioning", + "Deleting" + ], + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "AccountPropertiesForPatchRequest": { + "description": "Azure Video Analyzer for Media account properties", + "type": "object", + "properties": { + "tenantId": { + "description": "The account's tenant id", + "type": "string", + "readOnly": true, + "example": "2b9bcf6d-39d5-460a-a6bb-7b40b7ccf139" + }, + "accountId": { + "description": "The account's data-plane ID", + "readOnly": true, + "type": "string", + "example": "3575690b-a569-449c-ab7b-11020f948f76" + }, + "mediaServices": { + "description": "The media services details", + "type": "object", + "$ref": "#/definitions/MediaServicesForPatchRequest" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the account at the time the operation was called.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Accepted", + "Provisioning", + "Deleting" + ], + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "AccountList": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Account" + }, + "description": "List of accounts and their properties." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any.", + "example": "https://management.azure.com/{accountsOperation}?api-version={version}&%24skiptoken={token}" + } + }, + "description": "The list operation response, that contains the data pools and their properties.", + "type": "object" + }, + "GenerateAccessTokenParameters": { + "description": "Access token generation request's parameters", + "type": "object", + "required": [ + "permissionType", + "scope" + ], + "properties": { + "permissionType": { + "type": "string", + "description": "The requested permission", + "enum": [ + "Contributor", + "Reader" + ], + "x-ms-enum": { + "name": "permissionType", + "modelAsString": true + } + }, + "scope": { + "type": "string", + "description": "The requested media type", + "enum": [ + "Video", + "Account", + "Project" + ], + "x-ms-enum": { + "name": "scope", + "modelAsString": true + } + }, + "videoId": { + "description": "The video ID", + "type": "string", + "example": "07ec9e38d4" + }, + "projectId": { + "description": "The project ID", + "type": "string" + } + } + }, + "MediaServicesForPutRequest": { + "description": "The media services details", + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "The media services resource id", + "example": "/subscriptions/xxx/resourceGroups/contoso-videoAnalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoAnalyzer-ms" + }, + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned identity to be used to grant permissions", + "example": "/subscriptions/xxx/resourceGroups/contoso-videoAnalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoAnalyzer-mi" + } + } + }, + "MediaServicesForPatchRequest": { + "description": "The media services details", + "type": "object", + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned identity to be used to grant permissions", + "example": "/subscriptions/xxx/resourceGroups/contoso-videoAnalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoAnalyzer-mi" + } + } + }, + "AccessToken": { + "description": "Azure Video Analyzer for Media access token.", + "type": "object", + "properties": { + "accessToken": { + "type": "string", + "readOnly": true, + "description": "The access token.", + "x-ms-secret": true, + "example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJPbmxpbmUgSldUIEJ1aWxkZXIiLCJpYXQiOjE2MjI0NDc3MzMsImV4cCI6MTY1Mzk4MzczMywiYXVkIjoid3d3LmV4YW1wbGUuY29tIiwic3ViIjoianJvY2tldEBleGFtcGxlLmNvbSIsIkdpdmVuTmFtZSI6IkpvaG5ueSIsIlN1cm5hbWUiOiJSb2NrZXQiLCJFbWFpbCI6Impyb2NrZXRAZXhhbXBsZS5jb20iLCJSb2xlIjpbIk1hbmFnZXIiLCJQcm9qZWN0IEFkbWluaXN0cmF0b3IiXX0" + } + } + }, + "UserClassicAccountList": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ClassicAccountSlim" + }, + "description": "List of classic account names and their location." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any.", + "example": "https://management.azure.com/{accountsOperation}?api-version={version}&%24skiptoken={token}" + } + }, + "description": "The list of user classic accounts.", + "type": "object" + }, + "ClassicAccountSlim": { + "description": "An Azure Video Analyzer for Media classic account.", + "type": "object", + "properties": { + "name": { + "description": "The account's name", + "type": "string", + "readOnly": true, + "example": "contoso-videoanalyzer" + }, + "location": { + "description": "The account's location", + "type": "string", + "readOnly": true, + "example": "westus" + } + } + }, + "ClassicAccount": { + "description": "An Azure Video Analyzer for Media classic account.", + "type": "object", + "properties": { + "name": { + "description": "The account's name", + "type": "string", + "readOnly": true, + "example": "contoso-videoanalyzer" + }, + "location": { + "description": "The account's location", + "type": "string", + "example": "westus" + }, + "mediaServices": { + "description": "List of classic account properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClassicAccountMediaServices" + } + } + }, + "ClassicAccountMediaServices": { + "description": "Azure Video Analyzer for Media classic account properties", + "type": "object", + "properties": { + "aadApplicationId": { + "type": "string", + "description": "The aad application id", + "example": "912f96dc-1ed3-4d7d-aa67-0adef4bb68ad" + }, + "aadTenantId": { + "type": "string", + "description": "The aad tenant id", + "example": "72f988bf-86f1-41ag-91ab-2d7cd061db47" + }, + "connected": { + "type": "boolean", + "description": "Represents wether the media services is connected or not" + }, + "eventGridProviderRegistered": { + "type": "boolean", + "description": "Represents if the media services event grid is connected or not" + }, + "name": { + "type": "string", + "description": "The media services name", + "example": "contosoVideoanalyzerMediaServices" + }, + "resourceGroup": { + "type": "string", + "description": "The resource group that the media services belong to", + "example": "contoso-videoanalyzer-rg" + }, + "streamingEndpointStarted": { + "type": "boolean", + "description": "Represents wether the media services streaming endpoint has started" + }, + "subscriptionId": { + "type": "string", + "description": "The media services subscriptionId", + "example": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e" + } + } + }, + "Operation": { + "description": "Operation detail payload", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation", + "readOnly": true, + "type": "string", + "example": "Microsoft.VideoIndexer/accounts/read" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "readOnly": true, + "type": "boolean", + "example": false + }, + "actionType": { + "description": "Indicates the action type.", + "readOnly": true, + "type": "string", + "example": "Internal" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "readOnly": true, + "description": "Display of the operation" + }, + "origin": { + "description": "Origin of the operation", + "readOnly": true, + "type": "string", + "example": "user" + } + } + }, + "OperationDisplay": { + "description": "Operation display payload", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider of the operation", + "readOnly": true, + "type": "string", + "example": "Microsoft Azure Video Analyzer for Media" + }, + "resource": { + "description": "Resource of the operation", + "readOnly": true, + "type": "string", + "example": "accounts" + }, + "operation": { + "description": "Localized friendly name for the operation", + "readOnly": true, + "type": "string", + "example": "Read accounts" + }, + "description": { + "description": "Localized friendly description for the operation", + "readOnly": true, + "type": "string", + "example": "Read accounts details" + } + } + }, + "OperationListResult": { + "description": "Available operations of the service.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "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.", + "example": "https://management.azure.com/{operation}?api-version={version}&%24skiptoken={token}" + } + } + }, + "ErrorResponse": { + "description": "Error response.", + "type": "object", + "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" + }, + "readOnly": true + } + } + }, + "AccountCheckNameAvailabilityParameters": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The VideoIndexer account name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.VideoIndexer/accounts" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": true + }, + "description": "The type of resource, Microsoft.VideoIndexer/accounts" + } + }, + "required": [ + "name", + "type" + ], + "description": "The parameters used to check the availability of the Video Indexer account name." + }, + "CheckNameAvailabilityResult": { + "type": "object", + "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." + }, + "reason": { + "readOnly": true, + "type": "string", + "description": "Gets the reason that a Video Indexer account name could not be used. The Reason element is only returned if NameAvailable is false.", + "enum": [ + "AlreadyExists" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": true + } + }, + "message": { + "readOnly": true, + "type": "string", + "description": "Gets an error message explaining the Reason value in more detail." + } + }, + "description": "The CheckNameAvailability operation response." + } + }, + "parameters": { + "AccountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Video Analyzer for Media account.", + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*", + "maxLength": 50, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountCheckNameAvailabilityFree.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountCheckNameAvailabilityFree.json new file mode 100644 index 000000000000..eae5fa2cd933 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountCheckNameAvailabilityFree.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-11-10-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e", + "checkNameAvailabilityParameters": { + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountCheckNameAvailabilityTaken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountCheckNameAvailabilityTaken.json new file mode 100644 index 000000000000..4b8cec99e681 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountCheckNameAvailabilityTaken.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-11-10-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e", + "checkNameAvailabilityParameters": { + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Resource name already exists" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountDelete.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountDelete.json new file mode 100644 index 000000000000..62420ee74484 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountDelete.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contoso-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3" + }, + "responses": { + "200": {}, + "202": {}, + "204": {}, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountGet.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountGet.json new file mode 100644 index 000000000000..74594dd54412 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contoso-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contoso-videoanalyzer", + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts", + "location": "NorthEurope", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch1.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch1.json new file mode 100644 index 000000000000..848755d128be --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch1.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "mediaServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "totalSecondsIndexed": 1000, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "EVENT_GRID_NOT_REGISTERED", + "message": "Microsoft.EventGrid resource provider is not registered in subscription" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch2.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch2.json new file mode 100644 index 000000000000..caf7c4a51499 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch2.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "mediaServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "totalSecondsIndexed": 1000, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_IN_ANOTHER_LOCATION", + "message": "Can not connect to a Media Services account which is not in the same location as the VideoIndexer account" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch3.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch3.json new file mode 100644 index 000000000000..420eeeaa7e41 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch3.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "mediaServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "totalSecondsIndexed": 1000, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_UNREACHABLE", + "message": "Failed to connect to Media Services account" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch4.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch4.json new file mode 100644 index 000000000000..6bd74b81bebe --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch4.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "mediaServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "totalSecondsIndexed": 1000, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_INVALID_AAD_CONNECTION", + "message": "Cannot connect to resource '{AadConnectionConfig.AmsResourceUri}' due to issue with AAD application '{AadConnectionConfig.AadApplicationId}' that should have permissions to it.'" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch5.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch5.json new file mode 100644 index 000000000000..ce7fdfe8ee11 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch5.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "mediaServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "totalSecondsIndexed": 1000, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_AAD_APPLICATION_INSUFFICIENT_PERMISSION", + "message": "The AAD application is Unauthorized. Make sure it has at least 'Contributor' permissions" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch6.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch6.json new file mode 100644 index 000000000000..c65d17456ec4 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch6.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": {} + } + }, + "400": { + "body": { + "error": { + "code": "InvalidResource", + "message": "The resource definition is invalid." + } + } + }, + "404": { + "body": { + "error": {} + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch7.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch7.json new file mode 100644 index 000000000000..9e1acbac7897 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch7.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": {} + } + }, + "400": { + "body": { + "error": {} + } + }, + "404": { + "body": { + "error": { + "code": "ResourceNotFound", + "message": "The Resource 'contosto-videoanalyzer' under resource group 'contosto-videoanalyzer-rg' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch8.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch8.json new file mode 100644 index 000000000000..6104939ecf1c --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPatch/ViAccountPatch8.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "mediaServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": {} + } + }, + "400": { + "body": { + "error": { + "code": "MissingIdentityIds", + "message": "The identity ids must not be null or empty for 'UserAssigned' identity type." + } + } + }, + "404": { + "body": {} + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut1.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut1.json new file mode 100644 index 000000000000..7ec581db2745 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut1.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "totalSecondsIndexed": 0, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "EVENT_GRID_NOT_REGISTERED", + "message": "Microsoft.EventGrid resource provider is not registered in subscription" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut10.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut10.json new file mode 100644 index 000000000000..165ae1e940aa --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut10.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": {} + } + }, + "400": { + "body": { + "error": { + "code": "MissingIdentityIds", + "message": "The identity ids must not be null or empty for 'UserAssigned' identity type." + } + } + }, + "404": { + "body": {} + }, + "409": { + "body": {} + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut2.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut2.json new file mode 100644 index 000000000000..0bf848a3805c --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut2.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "totalSecondsIndexed": 0, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_IN_ANOTHER_LOCATION", + "message": "Can not connect to a Media Services account which is not in the same location as the VideoIndexer account" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut3.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut3.json new file mode 100644 index 000000000000..ea899335bde9 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut3.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "totalSecondsIndexed": 0, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_UNREACHABLE", + "message": "Failed to connect to Media Services account" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut4.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut4.json new file mode 100644 index 000000000000..1ecc481b1e45 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut4.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "totalSecondsIndexed": 0, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_AAD_APPLICATION_INSUFFICIENT_PERMISSION", + "message": "The AAD application is Unauthorized. Make sure it has at least 'Contributor' permissions" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut5.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut5.json new file mode 100644 index 000000000000..9e839bb5ed94 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut5.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "totalSecondsIndexed": 0, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "AMS_INVALID_AAD_CONNECTION", + "message": "Cannot connect to resource '{AadConnectionConfig.AmsResourceUri}' due to issue with AAD application '{AadConnectionConfig.AadApplicationId}' that should have permissions to it.'" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut6.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut6.json new file mode 100644 index 000000000000..d3c1cd99b114 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut6.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "totalSecondsIndexed": 0, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "EVENT_GRID_NOT_REGISTERED", + "message": "Microsoft.EventGrid resource provider is not registered in subscription" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Account not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "InvalidResourceLocation", + "message": "The resource 'xxx' already exists in location 'xxx' in resource group 'xxx'. A resource with the same name cannot be created in location 'xxx'. Please select a new resource name." + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut7.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut7.json new file mode 100644 index 000000000000..7e8660832d18 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut7.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "totalSecondsIndexed": 0, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "400": { + "body": { + "error": { + "code": "EVENT_GRID_NOT_REGISTERED", + "message": "Microsoft.EventGrid resource provider is not registered in subscription" + } + } + }, + "404": { + "body": { + "error": { + "code": "RersourceGroupNotFound", + "message": "Resource group 'contosto-videoanalyzer-rg' could not be found." + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut8.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut8.json new file mode 100644 index 000000000000..3217370a8c10 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut8.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "mediaServices": { + "resourceId": "/subscriptions/24237b72-8546-4da5-b204-8c3cb76dd930/resourceGroups/uratzmon-rg/providers/Microsoft.Media/mediaservices/talshoham" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "subscriptions/24237b72-8546-4da5-b204-8c3cb76dd930/resourceGroups/uratzmon-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/talshoham": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": {} + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "UserAssignedIdentity is empty. Trace id:'9677927b-ae6b-496g-1df8-9ec3048b4bf2'" + } + } + }, + "404": { + "body": {} + }, + "409": { + "body": {} + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut9.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut9.json new file mode 100644 index 000000000000..e204774a34e3 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountPut/ViAccountPut9.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoanalyzer", + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": {} + } + }, + "400": { + "body": { + "error": { + "code": "InvalidResource", + "message": "The resource definition is invalid." + } + } + }, + "404": { + "body": {} + }, + "409": { + "body": {} + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountsList.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountsList.json new file mode 100644 index 000000000000..9c6ea1af53c5 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountsList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-11-10-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contoso-videoanalyzer", + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts", + "location": "NorthEurope", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Provisioning" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + ], + "nextLink": "link" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountsListByResourceGroup.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountsListByResourceGroup.json new file mode 100644 index 000000000000..24b21007c720 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViAccountsListByResourceGroup.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "resourceGroupName": "contoso-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.VideoIndexer/accounts/contoso-videoanalyzer-rg", + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts", + "location": "NorthEurope", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoanalyzer", + "mediaServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoanalyzer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + ], + "nextLink": "link" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViClassicAccounts.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViClassicAccounts.json new file mode 100644 index 000000000000..e4944b3ec86a --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViClassicAccounts.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-11-10-preview", + "location": "NorthEurope", + "accountName": "contosto-videoanalyzer" + }, + "responses": { + "200": { + "body": { + "name": "contosto-videoanalyzer", + "location": "NorthEurope", + "mediaServices": { + "aadApplicationId": "912f96dc-1ed3-4d7d-aa67-0adef4bb68ad", + "aadTenantId": "72f988bf-86f1-41ag-91ab-2d7cd061db47", + "connected": true, + "eventGridProviderRegistered": true, + "name": "contosoVideoanalyzerMediaServices", + "resourceGroup": "contoso-videoanalyzer-rg", + "streamingEndpointStarted": false, + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e" + } + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "AccountName is empty" + } + } + }, + "401": { + "body": { + "error": { + "code": "USER_NOT_ALLOWED", + "message": "User is not account owner for account - contoso-videoanalyzer" + } + } + }, + "404": { + "body": { + "error": { + "code": "ACCOUNT_NOT_FOUND", + "message": "Classic account not found or has been deleted and is pending deletion has been deleted and is pending deletion - contoso-videoanalyzer" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateAccountContributerAccessToken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateAccountContributerAccessToken.json new file mode 100644 index 000000000000..ae5d83ecab85 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateAccountContributerAccessToken.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Contributor", + "scope": "Account" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": {} + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateAccountReaderAccessToken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateAccountReaderAccessToken.json new file mode 100644 index 000000000000..2ca92e42a8ea --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateAccountReaderAccessToken.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Reader", + "scope": "Account" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": {} + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken1.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken1.json new file mode 100644 index 000000000000..76634baae025 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken1.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Contributor", + "scope": "Project", + "projectId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "BREAKDOWN_NOT_FOUND", + "message": "Video/Project '07ec9e38d4' was not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken2.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken2.json new file mode 100644 index 000000000000..80c35e780cba --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken2.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Contributor", + "scope": "Project", + "projectId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Playlist '07ec9e38d4' does not belong to account '74h866ca-f74f-7963-a926-4712f5bc0123'. Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken1.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken1.json new file mode 100644 index 000000000000..5583b20b1baa --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken1.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Reader", + "scope": "Project", + "projectId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "BREAKDOWN_NOT_FOUND", + "message": "Video/Project '07ec9e38d4' was not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken2.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken2.json new file mode 100644 index 000000000000..38e830d86216 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken2.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Reader", + "scope": "Project", + "projectId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Playlist '07ec9e38d4' does not belong to account '74h866ca-f74f-7963-a926-4712f5bc0123'. Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken1.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken1.json new file mode 100644 index 000000000000..e065e611d17d --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken1.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Contributor", + "scope": "Video", + "videoId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "BREAKDOWN_NOT_FOUND", + "message": "Video/Project '07ec9e38d4' was not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken2.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken2.json new file mode 100644 index 000000000000..a7082947eedf --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken2.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Contributor", + "scope": "Video", + "videoId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Playlist '07ec9e38d4' does not belong to account '74h866ca-f74f-7963-a926-4712f5bc0123'. Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken1.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken1.json new file mode 100644 index 000000000000..0b699506a1c0 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken1.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Reader", + "scope": "Video", + "videoId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "BREAKDOWN_NOT_FOUND", + "message": "Video/Project '07ec9e38d4' was not found" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken2.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken2.json new file mode 100644 index 000000000000..01ca5c0ec604 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken2.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "accountName": "contosto-videoanalyzer", + "resourceGroupName": "contosto-videoanalyzer-rg", + "api-version": "2021-11-10-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Reader", + "scope": "Video", + "videoId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + }, + "400": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Account '/subscriptions/b04775c3-63fa-40f3-9430-139d2e5522d3/resourceGroups/contosto-videoanalyzer-rg/providers/Microsoft.Contoso/accounts/contosto-videoanalyzer' not found." + } + } + }, + "404": { + "body": { + "error": { + "code": "INVALID_INPUT", + "message": "Playlist '07ec9e38d4' does not belong to account '74h866ca-f74f-7963-a926-4712f5bc0123'. Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'" + } + } + }, + "409": { + "body": { + "error": { + "code": "ALREADY_EXISTS", + "message": "Account with '74f866ea-f74f-4103-a916-4742f8bc0009' already exists" + } + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViListUserClassicAccounts.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViListUserClassicAccounts.json new file mode 100644 index 000000000000..d88e64b987bb --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViListUserClassicAccounts.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2021-11-10-preview", + "location": "NorthEurope" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "contoso-videoanalyzer", + "location": "NorthEurope" + } + ], + "nextLink": "link" + } + }, + "500": { + "body": { + "error": { + "code": "GENERAL", + "message": "Trace id: '9677927b-ae6b-496g-1df8-9ec3048b4bf2'." + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViOperationsList.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViOperationsList.json new file mode 100644 index 000000000000..2772474acba9 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/examples/ViOperationsList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-11-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.VideoIndexer/accounts/read", + "display": { + "provider": "Microsoft Azure Video Analyzer for Media", + "resource": "Account", + "operation": "Read accounts", + "description": "Read accounts" + } + }, + { + "name": "Microsoft.VideoIndexer/accounts/write", + "display": { + "provider": "Microsoft Azure Video Analyzer for Media", + "resource": "Account", + "operation": "Update accounts", + "description": "Update accounts" + } + }, + { + "name": "Microsoft.VideoIndexer/accounts/delete", + "display": { + "provider": "Microsoft Azure Video Analyzer for Media", + "resource": "Account", + "operation": "Delete accounts", + "description": "Delete accounts" + } + } + ] + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/vi.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/vi.json new file mode 100644 index 000000000000..d143ed895f6c --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2021-11-10-preview/vi.json @@ -0,0 +1,1256 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-10-preview", + "title": "vi", + "description": "Microsoft Azure Video Analyzer for Media" + }, + "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": { + "/providers/Microsoft.VideoIndexer/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Azure Video Analyzer for Media provider operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "List operations": { + "$ref": "./examples/ViOperationsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.VideoIndexer/checkNameAvailability": { + "post": { + "tags": [ + "NameAvailability" + ], + "operationId": "Accounts_CheckNameAvailability", + "description": "Checks that the Video Indexer account name is valid and is not already in use.", + "x-ms-examples": { + "Check free account name availability": { + "$ref": "./examples/ViAccountCheckNameAvailabilityFree.json" + }, + "Check taken account name availability": { + "$ref": "./examples/ViAccountCheckNameAvailabilityTaken.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "checkNameAvailabilityParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccountCheckNameAvailabilityParameters" + }, + "description": "The name of the Video Indexer account. Name must be unique globally" + } + ], + "responses": { + "200": { + "description": "OK - Operation to check the Video Indexer account name availability was successful. Ok does not indicate the name is available, the body of the response does.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.VideoIndexer/accounts": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_List", + "description": "List all Azure Video Analyzer for Media accounts available under the subscription", + "x-ms-examples": { + "List accounts": { + "$ref": "./examples/ViAccountsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_ListByResourceGroup", + "description": "List all Azure Video Analyzer for Media accounts available under the resource group", + "x-ms-examples": { + "List accounts by resource group": { + "$ref": "./examples/ViAccountsListByResourceGroup.json" + } + }, + "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": "OK", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Get", + "description": "Gets the properties of an Azure Video Analyzer for Media account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Azure Video Analyzer for Media account properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get account": { + "$ref": "./examples/ViAccountGet.json" + } + } + }, + "patch": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Update", + "x-ms-long-running-operation": false, + "description": "Updates the properties of an existing Azure Video Analyzer for Media account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The parameters to provide for the current Azure Video Analyzer for Media account.", + "schema": { + "$ref": "#/definitions/AccountPatch" + } + } + ], + "responses": { + "200": { + "description": "The resource was updated successfully.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "400": { + "description": "Bad Request.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch example #1": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch1.json" + }, + "Patch example #2": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch2.json" + }, + "Patch example #3": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch3.json" + }, + "Patch example #4": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch4.json" + }, + "Patch example #5": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch5.json" + }, + "Patch example #6": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch6.json" + }, + "Patch example #7": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch7.json" + }, + "Patch example #8": { + "$ref": "./examples/ViAccountPatch/ViAccountPatch8.json" + } + } + }, + "put": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_CreateOrUpdate", + "description": "Creates or updates an Azure Video Analyzer for Media account.", + "x-ms-long-running-operation": false, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The parameters to provide for the Azure Video Analyzer for Media account.", + "schema": { + "$ref": "#/definitions/Account" + } + } + ], + "responses": { + "200": { + "description": "The resource was successfully updated.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "400": { + "description": "Bad Request.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "409": { + "description": "Conflict", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Put example #1": { + "$ref": "./examples/ViAccountPut/ViAccountPut1.json" + }, + "Put example #2": { + "$ref": "./examples/ViAccountPut/ViAccountPut2.json" + }, + "Put example #3": { + "$ref": "./examples/ViAccountPut/ViAccountPut3.json" + }, + "Put example #4": { + "$ref": "./examples/ViAccountPut/ViAccountPut4.json" + }, + "Put example #5": { + "$ref": "./examples/ViAccountPut/ViAccountPut5.json" + }, + "Put example #6": { + "$ref": "./examples/ViAccountPut/ViAccountPut6.json" + }, + "Put example #7": { + "$ref": "./examples/ViAccountPut/ViAccountPut7.json" + }, + "Put example #8": { + "$ref": "./examples/ViAccountPut/ViAccountPut8.json" + }, + "Put example #9": { + "$ref": "./examples/ViAccountPut/ViAccountPut9.json" + }, + "Put example #10": { + "$ref": "./examples/ViAccountPut/ViAccountPut10.json" + } + } + }, + "delete": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Delete", + "description": "Delete an Azure Video Analyzer for Media account.", + "x-ms-long-running-operation": false, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Azure Video Analyzer for Media account was successfully deleted." + }, + "202": { + "description": "The Azure Video Analyzer for Media account will be deleted asynchronously." + }, + "204": { + "description": "The Azure Video Analyzer for Media account does not exist." + }, + "500": { + "description": "Internal Server Error", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete account": { + "$ref": "./examples/ViAccountDelete.json" + } + } + } + }, + "/providers/Microsoft.VideoIndexer/locations/{location}/userClassicAccounts": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "UserClassicAccounts_List", + "description": "Lists all Azure Video Analyzer for Media classic accounts", + "x-ms-examples": { + "List accounts": { + "$ref": "./examples/ViListUserClassicAccounts.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UserClassicAccountList" + } + }, + "500": { + "description": "Internal Server Error", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.VideoIndexer/locations/{location}/classicAccounts/{accountName}": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "ClassicAccounts_GetDetails", + "description": "Gets the properties of an Azure Video Analyzer for Media Classic account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + } + ], + "responses": { + "200": { + "description": "The Azure Video Analyzer for Media account properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/ClassicAccount" + } + }, + "400": { + "description": "Bad Request.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "401": { + "description": "User Not Allowed", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get account": { + "$ref": "./examples/ViClassicAccounts.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}/generateAccessToken": { + "post": { + "tags": [ + "AccessToken" + ], + "operationId": "Generate_AccessToken", + "description": "Generate an Azure Video Analyzer for Media access token.", + "x-ms-examples": { + "Generate accessToken for video contributor #1": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken1.json" + }, + "Generate accessToken for video contributor #2": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken2.json" + }, + "Generate accessToken for video reader #1": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken1.json" + }, + "Generate accessToken for video reader #2": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken2.json" + }, + "Generate accessToken for project contributor #1": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken1.json" + }, + "Generate accessToken for project contributor #2": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken2.json" + }, + "Generate accessToken for project reader #1": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken1.json" + }, + "Generate accessToken for project reader #2": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken2.json" + }, + "Generate accessToken for account contributor": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateAccountContributerAccessToken.json" + }, + "Generate accessToken for account reader": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateAccountReaderAccessToken.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "x-ms-client-flatten": true, + "description": "The parameters for generating access token", + "schema": { + "$ref": "#/definitions/GenerateAccessTokenParameters" + } + } + ], + "responses": { + "200": { + "description": "The Azure Video Analyzer for Media account's access token properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/AccessToken" + } + }, + "400": { + "description": "Bad Request.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "409": { + "description": "Conflict", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "Tags": { + "type": "object", + "description": "Resource tags", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags" + } + } + }, + "Account": { + "description": "An Azure Video Analyzer for Media account.", + "type": "object", + "properties": { + "properties": { + "description": "List of account properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AccountPropertiesForPutRequest" + }, + "identity": { + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ] + }, + "AccountPatch": { + "type": "object", + "description": "Azure Video Analyzer for Media account", + "properties": { + "properties": { + "description": "List of account properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AccountPropertiesForPatchRequest" + }, + "identity": { + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Tags" + } + ] + }, + "AccountPropertiesForPutRequest": { + "description": "Azure Video Analyzer for Media account properties", + "type": "object", + "properties": { + "tenantId": { + "description": "The account's tenant id", + "type": "string", + "readOnly": true, + "example": "2b9bcf6d-39d5-460a-a6bb-7b40b7ccf139" + }, + "accountId": { + "description": "The account's data-plane ID", + "type": "string", + "example": "3575690b-a569-449c-ab7b-11020f948f76" + }, + "accountName": { + "description": "The account's name", + "type": "string", + "readOnly": true, + "example": "contoso-videoAnalyzer" + }, + "mediaServices": { + "description": "The media services details", + "type": "object", + "$ref": "#/definitions/MediaServicesForPutRequest" + }, + "totalSecondsIndexed": { + "description": "An integer representing the total seconds that have been indexed on the account", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the account at the time the operation was called.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Accepted", + "Provisioning", + "Deleting" + ], + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "AccountPropertiesForPatchRequest": { + "description": "Azure Video Analyzer for Media account properties", + "type": "object", + "properties": { + "tenantId": { + "description": "The account's tenant id", + "type": "string", + "readOnly": true, + "example": "2b9bcf6d-39d5-460a-a6bb-7b40b7ccf139" + }, + "accountId": { + "description": "The account's data-plane ID", + "readOnly": true, + "type": "string", + "example": "3575690b-a569-449c-ab7b-11020f948f76" + }, + "mediaServices": { + "description": "The media services details", + "type": "object", + "$ref": "#/definitions/MediaServicesForPatchRequest" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the account at the time the operation was called.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Accepted", + "Provisioning", + "Deleting" + ], + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "AccountList": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Account" + }, + "description": "List of accounts and their properties." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any.", + "example": "https://management.azure.com/{accountsOperation}?api-version={version}&%24skiptoken={token}" + } + }, + "description": "The list operation response, that contains the data pools and their properties.", + "type": "object" + }, + "GenerateAccessTokenParameters": { + "description": "Access token generation request's parameters", + "type": "object", + "required": [ + "permissionType", + "scope" + ], + "properties": { + "permissionType": { + "type": "string", + "description": "The requested permission", + "enum": [ + "Contributor", + "Reader" + ], + "x-ms-enum": { + "name": "permissionType", + "modelAsString": true + } + }, + "scope": { + "type": "string", + "description": "The requested media type", + "enum": [ + "Video", + "Account", + "Project" + ], + "x-ms-enum": { + "name": "scope", + "modelAsString": true + } + }, + "videoId": { + "description": "The video ID", + "type": "string", + "example": "07ec9e38d4" + }, + "projectId": { + "description": "The project ID", + "type": "string" + } + } + }, + "MediaServicesForPutRequest": { + "description": "The media services details", + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "The media services resource id", + "example": "/subscriptions/xxx/resourceGroups/contoso-videoAnalyzer-rg/providers/Microsoft.Media/mediaservices/contoso-videoAnalyzer-ms" + }, + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned identity to be used to grant permissions", + "example": "/subscriptions/xxx/resourceGroups/contoso-videoAnalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoAnalyzer-mi" + } + } + }, + "MediaServicesForPatchRequest": { + "description": "The media services details", + "type": "object", + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned identity to be used to grant permissions", + "example": "/subscriptions/xxx/resourceGroups/contoso-videoAnalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoAnalyzer-mi" + } + } + }, + "AccessToken": { + "description": "Azure Video Analyzer for Media access token.", + "type": "object", + "properties": { + "accessToken": { + "type": "string", + "readOnly": true, + "description": "The access token.", + "x-ms-secret": true, + "example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJPbmxpbmUgSldUIEJ1aWxkZXIiLCJpYXQiOjE2MjI0NDc3MzMsImV4cCI6MTY1Mzk4MzczMywiYXVkIjoid3d3LmV4YW1wbGUuY29tIiwic3ViIjoianJvY2tldEBleGFtcGxlLmNvbSIsIkdpdmVuTmFtZSI6IkpvaG5ueSIsIlN1cm5hbWUiOiJSb2NrZXQiLCJFbWFpbCI6Impyb2NrZXRAZXhhbXBsZS5jb20iLCJSb2xlIjpbIk1hbmFnZXIiLCJQcm9qZWN0IEFkbWluaXN0cmF0b3IiXX0" + } + } + }, + "UserClassicAccountList": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ClassicAccountSlim" + }, + "description": "List of classic account names and their location." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any.", + "example": "https://management.azure.com/{accountsOperation}?api-version={version}&%24skiptoken={token}" + } + }, + "description": "The list of user classic accounts.", + "type": "object" + }, + "ClassicAccountSlim": { + "description": "An Azure Video Analyzer for Media classic account.", + "type": "object", + "properties": { + "name": { + "description": "The account's name", + "type": "string", + "readOnly": true, + "example": "contoso-videoanalyzer" + }, + "location": { + "description": "The account's location", + "type": "string", + "readOnly": true, + "example": "westus" + } + } + }, + "ClassicAccount": { + "description": "An Azure Video Analyzer for Media classic account.", + "type": "object", + "properties": { + "name": { + "description": "The account's name", + "type": "string", + "readOnly": true, + "example": "contoso-videoanalyzer" + }, + "location": { + "description": "The account's location", + "type": "string", + "example": "westus" + }, + "mediaServices": { + "description": "List of classic account properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClassicAccountMediaServices" + } + } + }, + "ClassicAccountMediaServices": { + "description": "Azure Video Analyzer for Media classic account properties", + "type": "object", + "properties": { + "aadApplicationId": { + "type": "string", + "description": "The aad application id", + "example": "912f96dc-1ed3-4d7d-aa67-0adef4bb68ad" + }, + "aadTenantId": { + "type": "string", + "description": "The aad tenant id", + "example": "72f988bf-86f1-41ag-91ab-2d7cd061db47" + }, + "connected": { + "type": "boolean", + "description": "Represents wether the media services is connected or not" + }, + "eventGridProviderRegistered": { + "type": "boolean", + "description": "Represents if the media services event grid is connected or not" + }, + "name": { + "type": "string", + "description": "The media services name", + "example": "contosoVideoanalyzerMediaServices" + }, + "resourceGroup": { + "type": "string", + "description": "The resource group that the media services belong to", + "example": "contoso-videoanalyzer-rg" + }, + "streamingEndpointStarted": { + "type": "boolean", + "description": "Represents wether the media services streaming endpoint has started" + }, + "subscriptionId": { + "type": "string", + "description": "The media services subscriptionId", + "example": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e" + } + } + }, + "Operation": { + "description": "Operation detail payload", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation", + "readOnly": true, + "type": "string", + "example": "Microsoft.VideoIndexer/accounts/read" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "readOnly": true, + "type": "boolean", + "example": false + }, + "actionType": { + "description": "Indicates the action type.", + "readOnly": true, + "type": "string", + "example": "Internal" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "readOnly": true, + "description": "Display of the operation" + }, + "origin": { + "description": "Origin of the operation", + "readOnly": true, + "type": "string", + "example": "user" + } + } + }, + "OperationDisplay": { + "description": "Operation display payload", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider of the operation", + "readOnly": true, + "type": "string", + "example": "Microsoft Azure Video Analyzer for Media" + }, + "resource": { + "description": "Resource of the operation", + "readOnly": true, + "type": "string", + "example": "accounts" + }, + "operation": { + "description": "Localized friendly name for the operation", + "readOnly": true, + "type": "string", + "example": "Read accounts" + }, + "description": { + "description": "Localized friendly description for the operation", + "readOnly": true, + "type": "string", + "example": "Read accounts details" + } + } + }, + "OperationListResult": { + "description": "Available operations of the service.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "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.", + "example": "https://management.azure.com/{operation}?api-version={version}&%24skiptoken={token}" + } + } + }, + "ErrorResponse": { + "description": "Error response.", + "type": "object", + "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" + }, + "readOnly": true + } + } + }, + "AccountCheckNameAvailabilityParameters": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The VideoIndexer account name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.VideoIndexer/accounts" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": true + }, + "description": "The type of resource, Microsoft.VideoIndexer/accounts" + } + }, + "required": [ + "name", + "type" + ], + "description": "The parameters used to check the availability of the Video Indexer account name." + }, + "CheckNameAvailabilityResult": { + "type": "object", + "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." + }, + "reason": { + "readOnly": true, + "type": "string", + "description": "Gets the reason that a Video Indexer account name could not be used. The Reason element is only returned if NameAvailable is false.", + "enum": [ + "AlreadyExists" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": true + } + }, + "message": { + "readOnly": true, + "type": "string", + "description": "Gets an error message explaining the Reason value in more detail." + } + }, + "description": "The CheckNameAvailability operation response." + } + }, + "parameters": { + "AccountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Video Analyzer for Media account.", + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*", + "maxLength": 50, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/vi/resource-manager/readme.az.md b/specification/vi/resource-manager/readme.az.md new file mode 100644 index 000000000000..0f705cc4c6f8 --- /dev/null +++ b/specification/vi/resource-manager/readme.az.md @@ -0,0 +1,12 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) && $(target-mode) != 'core' +az: + extensions: vi + namespace: azure.mgmt.vi + package-name: azure-mgmt-vi +az-output-folder: $(azure-cli-extension-folder)/src/vi +python-sdk-output-folder: "$(az-output-folder)/azext_vi/vendored_sdks/vi" +``` diff --git a/specification/vi/resource-manager/readme.cli.md b/specification/vi/resource-manager/readme.cli.md new file mode 100644 index 000000000000..b7ee37d8290c --- /dev/null +++ b/specification/vi/resource-manager/readme.cli.md @@ -0,0 +1,3 @@ +## CLI + +These settings don't need to apply `--cli` on the command line. diff --git a/specification/vi/resource-manager/readme.csharp.md b/specification/vi/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..6c1cf7f8fd29 --- /dev/null +++ b/specification/vi/resource-manager/readme.csharp.md @@ -0,0 +1,14 @@ +## C + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + namespace: Microsoft.Azure.Management.VideoIndexer + output-folder: $(csharp-sdks-folder)/vi/Microsoft.Azure.Management.VideoIndexer/Generated +``` diff --git a/specification/vi/resource-manager/readme.design.md b/specification/vi/resource-manager/readme.design.md new file mode 100644 index 000000000000..e7f3663a8048 --- /dev/null +++ b/specification/vi/resource-manager/readme.design.md @@ -0,0 +1,39 @@ +# VideoIndexer Resource Provider + +## Purpose +### Problem statement + +Azure Video Analyzer for Medianalyzer for Media is managed as stand-alone product outside Azure Video Analyzer for Medianalyzer for Mediause Video Indexer today: + * Customers create a trial Azure Video Analyzer for Media account through the Azure Video Analyzer for Media portal or through API portal (managed by APIM). + * Customers create a paid Azure Video Analyzer for Media account through the Azure Video Analyzer for Media portal. The account is connected to their Media Services account and then they create an APIM subscription to access it through APIs. +These is a complicated flow and is difficult for customers and partners to manage. + +In addition, Azure Video Analyzer for Media uses AAD application IDs and secrets to connect to customers’ Azure resources such as Custom Vision, Media Services, Key Vault, and more are planned to be introduced. This method of authentication is error prone, requires ongoing maintenance and not a security best practice. + +Finally, for Azure Video Analyzer for Media to meet Azure enterprise promises it must become an Azure resource as a pre-condition + +### Benefit and Impact + +Managing Azure Video Analyzer for Media in the Azure portal using ARM will allow customers and partners to manage their Azure Video Analyzer for Media account same as they manage all their Azure resources and will create a better experience for them. In addition, customers and partners will be able to use ARM templates and CLIs to create and manage a VI account. + +Customers will also gain a more secure solution - Azure Video Analyzer for Media will be able to use a managed identity to connect to other Azure resources in the future, which is the safe and recommended way to work with Azure resources. Managed identities eliminate the need for VI to store customer secrets and eliminate the customer’s need for maintaining and rotating these secrets. In addition, managed identities require less permissions from the customer and allow them to create a Azure Video Analyzer for Media account more easily. + +In addition having Azure Video Analyzer for Media in ARM will enable customers to create private links to secure their calls to Azure Video Analyzer for Media. + +Being a resource in Azure will also allow Azure Video Analyzer for Media to create more integrations required as part of Fulcrum - in the Azure Support Portal (the customer facing portal), and the Azure Support Center (the CSS facing portal). As a resource in Azure, it will also be visible in the Azure Resource Explorer- which is also used by CSS when working on customer cases. + +### Why now? + +To meet enterprise promises Azure Video Analyzer for Media is required to have secured integrations between the resources, which can only be achieved by being a resource in Azure and managed by ARM. + +Private links require VI to be an ARM resource, CMK requires integration with the customer’s Key Vault and the most secure manner is managed identities. In addition, integrations with Custom Vision and Media Services would become more trivial and less error prone with managed identities. Lastly, Face API resource that is CMK enabled do not plan to support authentication means other than MI. + +### Requirements + +The goal is to move the Azure Video Analyzer for Media’s account management and RBAC to Azure portal and ARM API with its own resource provider. This will only be relevant for paid accounts and not for trial account since trial users don’t necessarily have Azure subscriptions. The process of managing users in trial accounts won't change and wont be part of ARM. + +Users will be able to easily create, manage and delete a Azure Video Analyzer for Media account through the Azure portal \ using an ARM template \ using CLI. Account management will not be available via the VI portal anymore. + +## Type Model +Resource provider namespace: Microsoft.VideoIndexer +Resource type: accounts. type model is still under develop.. The resource type properties can be found [here](./Microsoft.VideoIndexer/preview/2021-11-10-preview/vi.json#L413) \ No newline at end of file diff --git a/specification/vi/resource-manager/readme.go.md b/specification/vi/resource-manager/readme.go.md new file mode 100644 index 000000000000..82c5c89408fd --- /dev/null +++ b/specification/vi/resource-manager/readme.go.md @@ -0,0 +1,25 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) +go: + license-header: MICROSOFT_MIT_NO_VERSION + namespace: vi + clear-output-folder: true +``` +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2021-10-18-preview + - tag: package-2021-10-27-preview + - tag: package-2021-11-10-preview + + +``` +please also specify `--go-sdks-folder=`. + +```yaml $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/$(version)/$(namespace) +``` diff --git a/specification/vi/resource-manager/readme.md b/specification/vi/resource-manager/readme.md new file mode 100644 index 000000000000..af0959981ad0 --- /dev/null +++ b/specification/vi/resource-manager/readme.md @@ -0,0 +1,126 @@ +# vi + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Azure Video Analyzer for Media. + +## Getting Started + +To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Suppression +``` +directive: + - suppress: SECRET_PROPERTY + from: + - Microsoft.VideoIndexer/preview/2021-10-18-preview/vi.json + - Microsoft.VideoIndexer/preview/2021-10-27-preview/vi.json + - Microsoft.VideoIndexer/preview/2021-11-10-preview/vi.json + + + where: + - $.definitions.AccessToken.properties.accessToken + reason: Secrets are OK to return in a POST response. +``` +--- + +## Configuration + +### Basic Information + +These are the global settings for the adp. + +```yaml +title: ViManagementClient +openapi-type: arm +openapi-subtype: rpaas +tag: package-2021-11-10-preview +``` + +### Tag: package-2021-11-10-preview + +These settings apply only when `--tag=2021-11-10-preview` is specified on the command line. + +```yaml $(tag) == 'package-2021-11-10-preview' +version: 2021-11-10-preview +version-with-underscores: 2021_11_10_preview +input-file: + - Microsoft.VideoIndexer/preview/2021-11-10-preview/vi.json +modelerfour: + lenient-model-deduplication: true +``` +### Tag: package-2021-10-27-preview + +These settings apply only when `--tag=2021-10-27-preview` is specified on the command line. + +```yaml $(tag) == 'package-2021-10-27-preview' +version: 2021-10-27-preview +version-with-underscores: 2021_10_27_preview +input-file: + - Microsoft.VideoIndexer/preview/2021-10-27-preview/vi.json +``` +### Tag: package-2021-10-18-preview + +These settings apply only when `--tag=2021-10-18-preview` is specified on the command line. + +```yaml $(tag) == 'package-2021-10-18-preview' +version: 2021-10-18-preview +version-with-underscores: 2021_10_18_preview +input-file: + - Microsoft.VideoIndexer/preview/2021-10-18-preview/vi.json +``` + + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +```yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python-track2 + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-ruby + - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Ruby + +See configuration in [readme.ruby.md](./readme.ruby.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) + +## Node.js + +See configuration in [readme.nodejs.md](./readme.nodejs.md) diff --git a/specification/vi/resource-manager/readme.nodejs.md b/specification/vi/resource-manager/readme.nodejs.md new file mode 100644 index 000000000000..55de318fb96b --- /dev/null +++ b/specification/vi/resource-manager/readme.nodejs.md @@ -0,0 +1,14 @@ +## Node.js + +These settings apply only when `--nodejs` is specified on the command line. +Please also specify `--node-sdks-folder=`. + +``` yaml $(nodejs) +nodejs: + azure-arm: true + package-name: azure-arm-vi + output-folder: $(node-sdks-folder)/lib/services/viManagement + generate-license-txt: true + generate-package-json: true + generate-readme-md: true +``` diff --git a/specification/vi/resource-manager/readme.python.md b/specification/vi/resource-manager/readme.python.md new file mode 100644 index 000000000000..f22983d377c3 --- /dev/null +++ b/specification/vi/resource-manager/readme.python.md @@ -0,0 +1,23 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +```yaml $(python) && $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-videoindexer +clear-output-folder: true +no-namespace-folders: true +package-version: 1.0.0b1 +``` + +```yaml $(python) && $(python-mode) == 'update' && $(track2) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/videoindexer/azure-mgmt-videoindexer/azure/mgmt/videoindexer +``` + +``` yaml $(python) && $(python-mode) == 'create' && $(track2) +basic-setup-py: true +output-folder: $(python-sdks-folder)/videoindexer/azure-mgmt-videoindexer +``` diff --git a/specification/vi/resource-manager/readme.ruby.md b/specification/vi/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..db7b18519b6d --- /dev/null +++ b/specification/vi/resource-manager/readme.ruby.md @@ -0,0 +1,16 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +```yaml +package-name: azure_mgmt_vi +package-version: 2021-10-18-preview +azure-arm: true +``` + +Please also specify `--ruby-sdks-folder=`. + +```yaml $(ruby) +namespace: Azure::VideoIndexer::Mgmt::V$(version-with-underscores) +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_vi/lib +``` diff --git a/specification/vi/resource-manager/readme.terraform.md b/specification/vi/resource-manager/readme.terraform.md new file mode 100644 index 000000000000..0e0de8594ac8 --- /dev/null +++ b/specification/vi/resource-manager/readme.terraform.md @@ -0,0 +1,24 @@ + +## terraform + +These settings apply only when `--terraform` is specified on the command line. + +``` yaml $(terraform) +terraform: + cli-name: vi + package-name: vi +clear-output-folder: true +output-folder: $(terraform-output-folder)/vi +``` + +``` yaml $(tag) == 'package-2021-10-18-preview' && $(terraform) +gosdk-folder: services/preview/vi/mgmt/2021-10-18-preview/vi +``` + +``` yaml $(tag) == 'package-2021-10-27-preview' && $(terraform) +gosdk-folder: services/preview/vi/mgmt/2021-10-27-preview/vi +``` + +``` yaml $(tag) == 'package-2021-11-10-preview' && $(terraform) +gosdk-folder: services/preview/vi/mgmt/2021-11-10-preview/vi +``` \ No newline at end of file diff --git a/specification/vi/resource-manager/readme.typescript.md b/specification/vi/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..834739a11fcc --- /dev/null +++ b/specification/vi/resource-manager/readme.typescript.md @@ -0,0 +1,14 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +```yaml $(typescript) +typescript: + azure-arm: true + package-name: "vi" + output-folder: "$(typescript-sdks-folder)/sdk/vi/arm-vi" + payload-flattening-threshold: 1 + generate-metadata: true + override-client-name: ViManagementClient +``` diff --git a/specification/videoanalyzer/data-plane/VideoAnalyzer.Edge/preview/1.1.0/AzureVideoAnalyzer.json b/specification/videoanalyzer/data-plane/VideoAnalyzer.Edge/preview/1.1.0/AzureVideoAnalyzer.json new file mode 100644 index 000000000000..01fbb962b84f --- /dev/null +++ b/specification/videoanalyzer/data-plane/VideoAnalyzer.Edge/preview/1.1.0/AzureVideoAnalyzer.json @@ -0,0 +1,2163 @@ +{ + "swagger": "2.0", + "info": { + "version": "1.1.0", + "title": "Azure Video Analyzer for Edge", + "description": "Azure Video Analyzer resources which can be utilized when performing direct method calls through Azure IoT Edge.", + "contact": { + "email": "videoanalyzerhelp@microsoft.com" + } + }, + "security": [ + { + "sharedAccessSignature": [] + } + ], + "paths": {}, + "securityDefinitions": { + "sharedAccessSignature": { + "type": "apiKey", + "name": "Authorization", + "in": "header" + } + }, + "definitions": { + "LivePipeline": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Live pipeline unique identifier." + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "description": "Read-only system metadata associated with this object." + }, + "properties": { + "$ref": "#/definitions/LivePipelineProperties", + "description": "Live pipeline properties." + } + }, + "description": "Live Pipeline represents an unique instance of a pipeline topology which is used for real-time content ingestion and analysis." + }, + "LivePipelineProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "An optional description of the live pipeline." + }, + "topologyName": { + "type": "string", + "description": "The reference to an existing pipeline topology defined for real-time content processing. When activated, this live pipeline will process content according to the pipeline topology definition." + }, + "parameters": { + "type": "array", + "description": "List of the instance level parameter values for the user-defined topology parameters. A pipeline can only define or override parameters values for parameters which have been declared in the referenced topology. Topology parameters without a default value must be defined. Topology parameters with a default value can be optionally be overridden.", + "items": { + "$ref": "#/definitions/ParameterDefinition" + } + }, + "state": { + "type": "string", + "description": "Current pipeline state (read-only).", + "enum": [ + "inactive", + "activating", + "active", + "deactivating" + ], + "x-ms-enum": { + "name": "livePipelineState", + "values": [ + { + "value": "inactive", + "description": "The live pipeline is idle and not processing media." + }, + { + "value": "activating", + "description": "The live pipeline is transitioning into the active state." + }, + { + "value": "active", + "description": "The live pipeline is active and able to process media. If your data source is not available, for instance, if your RTSP camera is powered off or unreachable, the pipeline will still be active and periodically retrying the connection. Your Azure subscription will be billed for the duration in which the live pipeline is in the active state." + }, + { + "value": "deactivating", + "description": "The live pipeline is transitioning into the inactive state." + } + ], + "modelAsString": true + } + } + }, + "description": "Live pipeline properties." + }, + "ParameterDefinition": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the parameter declared in the pipeline topology." + }, + "value": { + "type": "string", + "description": "Parameter value to be applied on this specific live pipeline." + } + }, + "description": "Defines the parameter value of an specific pipeline topology parameter. See pipeline topology parameters for more information." + }, + "LivePipelineCollection": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "List of live pipelines.", + "items": { + "$ref": "#/definitions/LivePipeline" + } + }, + "@continuationToken": { + "type": "string", + "description": "A continuation token to be used in subsequent calls when enumerating through the collection. This is returned when the collection results won't fit in a single response." + } + }, + "description": "A collection of live pipelines." + }, + "PipelineTopologyCollection": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "List of pipeline topologies.", + "items": { + "$ref": "#/definitions/PipelineTopology" + } + }, + "@continuationToken": { + "type": "string", + "description": "A continuation token to be used in subsequent calls when enumerating through the collection. This is returned when the collection results won't fit in a single response." + } + }, + "description": "A collection of pipeline topologies." + }, + "PipelineTopology": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Pipeline topology unique identifier." + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "description": "Read-only system metadata associated with this object." + }, + "properties": { + "$ref": "#/definitions/PipelineTopologyProperties", + "description": "Pipeline topology properties." + } + }, + "description": "Pipeline topology describes the processing steps to be applied when processing media for a particular outcome. The topology should be defined according to the scenario to be achieved and can be reused across many pipeline instances which share the same processing characteristics. For instance, a pipeline topology which acquires data from a RTSP camera, process it with an specific AI model and stored the data on the cloud can be reused across many different cameras, as long as the same processing should be applied across all the cameras. Individual instance properties can be defined through the use of user-defined parameters, which allow for a topology to be parameterized, thus allowing individual pipelines to refer to different values, such as individual cameras RTSP endpoints and credentials. Overall a topology is composed of the following:\r\n\r\n - Parameters: list of user defined parameters that can be references across the topology nodes.\r\n - Sources: list of one or more data sources nodes such as an RTSP source which allows for media to be ingested from cameras.\r\n - Processors: list of nodes which perform data analysis or transformations.\r\n -Sinks: list of one or more data sinks which allow for data to be stored or exported to other destinations." + }, + "PipelineTopologyProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "An optional description of the pipeline topology. It is recommended that the expected use of the topology to be described here." + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterDeclaration" + }, + "description": "List of the topology parameter declarations. Parameters declared here can be referenced throughout the topology nodes through the use of \"${PARAMETER_NAME}\" string pattern. Parameters can have optional default values and can later be defined in individual instances of the pipeline." + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/definitions/SourceNodeBase" + }, + "description": "List of the topology source nodes. Source nodes enable external data to be ingested by the pipeline." + }, + "processors": { + "type": "array", + "items": { + "$ref": "#/definitions/ProcessorNodeBase" + }, + "description": "List of the topology processor nodes. Processor nodes enable pipeline data to be analyzed, processed or transformed." + }, + "sinks": { + "type": "array", + "items": { + "$ref": "#/definitions/SinkNodeBase" + }, + "description": "List of the topology sink nodes. Sink nodes allow pipeline data to be stored or exported." + } + }, + "description": "Pipeline topology properties." + }, + "SystemData": { + "type": "object", + "properties": { + "createdAt": { + "type": "string", + "format": "date-time", + "description": "Date and time when this resource was first created. Value is represented in UTC according to the ISO8601 date format." + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "Date and time when this resource was last modified. Value is represented in UTC according to the ISO8601 date format." + } + }, + "description": "Read-only system metadata associated with a resource." + }, + "ParameterDeclaration": { + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the parameter.", + "maxLength": 64 + }, + "type": { + "type": "string", + "description": "Type of the parameter.", + "enum": [ + "string", + "secretString", + "int", + "double", + "bool" + ], + "x-ms-enum": { + "name": "parameterType", + "values": [ + { + "value": "string", + "description": "The parameter's value is a string." + }, + { + "value": "secretString", + "description": "The parameter's value is a string that holds sensitive information." + }, + { + "value": "int", + "description": "The parameter's value is a 32-bit signed integer." + }, + { + "value": "double", + "description": "The parameter's value is a 64-bit double-precision floating point." + }, + { + "value": "bool", + "description": "The parameter's value is a boolean value that is either true or false." + } + ], + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "Description of the parameter." + }, + "default": { + "type": "string", + "description": "The default value for the parameter to be used if the live pipeline does not specify a value." + } + }, + "description": "Single topology parameter declaration. Declared parameters can and must be referenced throughout the topology and can optionally have default values to be used when they are not defined in the pipeline instances." + }, + "SourceNodeBase": { + "type": "object", + "required": [ + "@type", + "name" + ], + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "Type discriminator for the derived types." + }, + "name": { + "type": "string", + "description": "Node name. Must be unique within the topology." + } + }, + "description": "Base class for topology source nodes." + }, + "RtspSource": { + "type": "object", + "properties": { + "transport": { + "type": "string", + "description": "Network transport utilized by the RTSP and RTP exchange: TCP or HTTP. When using TCP, the RTP packets are interleaved on the TCP RTSP connection. When using HTTP, the RTSP messages are exchanged through long lived HTTP connections, and the RTP packages are interleaved in the HTTP connections alongside the RTSP messages.", + "enum": [ + "http", + "tcp" + ], + "x-ms-enum": { + "name": "rtspTransport", + "values": [ + { + "value": "http", + "description": "HTTP transport. RTSP messages are exchanged over long running HTTP requests and RTP packets are interleaved within the HTTP channel." + }, + { + "value": "tcp", + "description": "TCP transport. RTSP is used directly over TCP and RTP packets are interleaved within the TCP channel." + } + ], + "modelAsString": true + } + }, + "endpoint": { + "description": "RTSP endpoint information for Video Analyzer to connect to. This contains the required information for Video Analyzer to connect to RTSP cameras and/or generic RTSP servers.", + "$ref": "#/definitions/EndpointBase" + } + }, + "required": [ + "endpoint" + ], + "allOf": [ + { + "$ref": "#/definitions/SourceNodeBase" + } + ], + "description": "RTSP source allows for media from an RTSP camera or generic RTSP server to be ingested into a live pipeline.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.RtspSource" + }, + "IotHubMessageSource": { + "type": "object", + "properties": { + "hubInputName": { + "type": "string", + "description": "Name of the IoT Edge Hub input from which messages will be consumed." + } + }, + "allOf": [ + { + "$ref": "#/definitions/SourceNodeBase" + } + ], + "description": "IoT Hub Message source allows for the pipeline to consume messages from the IoT Edge Hub. Messages can be routed from other IoT modules via routes declared in the IoT Edge deployment manifest.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.IotHubMessageSource" + }, + "IotHubMessageSink": { + "type": "object", + "properties": { + "hubOutputName": { + "type": "string", + "description": "Name of the Iot Edge Hub output to which the messages will be published." + } + }, + "required": [ + "@type", + "hubOutputName" + ], + "allOf": [ + { + "$ref": "#/definitions/SinkNodeBase" + } + ], + "description": "IoT Hub Message sink allows for pipeline messages to published into the IoT Edge Hub. Published messages can then be delivered to the cloud and other modules via routes declared in the IoT Edge deployment manifest.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.IotHubMessageSink" + }, + "EndpointBase": { + "type": "object", + "required": [ + "@type", + "url" + ], + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "Type discriminator for the derived types." + }, + "credentials": { + "description": "Credentials to be presented to the endpoint.", + "$ref": "#/definitions/CredentialsBase" + }, + "url": { + "type": "string", + "description": "The endpoint URL for Video Analyzer to connect to." + } + }, + "description": "Base class for endpoints." + }, + "CredentialsBase": { + "type": "object", + "required": [ + "@type" + ], + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "Type discriminator for the derived types." + } + }, + "description": "Base class for credential objects." + }, + "UsernamePasswordCredentials": { + "type": "object", + "properties": { + "username": { + "type": "string", + "description": "Username to be presented as part of the credentials." + }, + "password": { + "type": "string", + "description": "Password to be presented as part of the credentials. It is recommended that this value is parameterized as a secret string in order to prevent this value to be returned as part of the resource on API requests." + } + }, + "required": [ + "username", + "password" + ], + "allOf": [ + { + "$ref": "#/definitions/CredentialsBase" + } + ], + "description": "Username and password credentials.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.UsernamePasswordCredentials" + }, + "HttpHeaderCredentials": { + "type": "object", + "properties": { + "headerName": { + "type": "string", + "description": "HTTP header name." + }, + "headerValue": { + "type": "string", + "description": "HTTP header value. It is recommended that this value is parameterized as a secret string in order to prevent this value to be returned as part of the resource on API requests." + } + }, + "required": [ + "headerName", + "headerValue" + ], + "allOf": [ + { + "$ref": "#/definitions/CredentialsBase" + } + ], + "description": "HTTP header credentials.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.HttpHeaderCredentials" + }, + "UnsecuredEndpoint": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EndpointBase" + } + ], + "description": "Unsecured endpoint describes an endpoint that the pipeline can connect to over clear transport (no encryption in transit).", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.UnsecuredEndpoint" + }, + "TlsEndpoint": { + "type": "object", + "properties": { + "trustedCertificates": { + "description": "List of trusted certificate authorities when authenticating a TLS connection. A null list designates that Azure Video Analyzer's list of trusted authorities should be used.", + "$ref": "#/definitions/CertificateSource" + }, + "validationOptions": { + "description": "Validation options to use when authenticating a TLS connection. By default, strict validation is used.", + "$ref": "#/definitions/TlsValidationOptions" + } + }, + "allOf": [ + { + "$ref": "#/definitions/EndpointBase" + } + ], + "description": "TLS endpoint describes an endpoint that the pipeline can connect to over TLS transport (data is encrypted in transit).", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.TlsEndpoint" + }, + "SymmetricKeyCredentials": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Symmetric key credential." + } + }, + "required": [ + "key" + ], + "allOf": [ + { + "$ref": "#/definitions/CredentialsBase" + } + ], + "description": "Symmetric key credential.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.SymmetricKeyCredentials" + }, + "CertificateSource": { + "type": "object", + "required": [ + "@type" + ], + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "Type discriminator for the derived types." + } + }, + "description": "Base class for certificate sources." + }, + "TlsValidationOptions": { + "type": "object", + "properties": { + "ignoreHostname": { + "type": "string", + "description": "When set to 'true' causes the certificate subject name validation to be skipped. Default is 'false'." + }, + "ignoreSignature": { + "type": "string", + "description": "When set to 'true' causes the certificate chain trust validation to be skipped. Default is 'false'." + } + }, + "description": "Options for controlling the validation of TLS endpoints." + }, + "PemCertificateList": { + "type": "object", + "properties": { + "certificates": { + "type": "array", + "description": "PEM formatted public certificates. One certificate per entry.", + "items": { + "type": "string" + } + } + }, + "required": [ + "certificates" + ], + "allOf": [ + { + "$ref": "#/definitions/CertificateSource" + } + ], + "description": "A list of PEM formatted certificates.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.PemCertificateList" + }, + "SinkNodeBase": { + "type": "object", + "required": [ + "@type", + "inputs", + "name" + ], + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "Type discriminator for the derived types." + }, + "name": { + "type": "string", + "description": "Node name. Must be unique within the topology." + }, + "inputs": { + "type": "array", + "description": "An array of upstream node references within the topology to be used as inputs for this node.", + "items": { + "$ref": "#/definitions/NodeInput" + } + } + }, + "description": "Base class for topology sink nodes." + }, + "NodeInput": { + "type": "object", + "required": [ + "nodeName" + ], + "properties": { + "nodeName": { + "type": "string", + "description": "The name of the upstream node in the pipeline which output is used as input of the current node." + }, + "outputSelectors": { + "type": "array", + "description": "Allows for the selection of specific data streams (eg. video only) from another node.", + "items": { + "$ref": "#/definitions/OutputSelector" + } + } + }, + "description": "Describes an input signal to be used on a pipeline node." + }, + "OutputSelector": { + "type": "object", + "properties": { + "property": { + "type": "string", + "description": "The property of the data stream to be used as the selection criteria.", + "enum": [ + "mediaType" + ], + "x-ms-enum": { + "name": "outputSelectorProperty", + "values": [ + { + "value": "mediaType", + "description": "The stream's MIME type or subtype: audio, video or application" + } + ], + "modelAsString": true + } + }, + "operator": { + "type": "string", + "description": "The operator to compare properties by.", + "enum": [ + "is", + "isNot" + ], + "x-ms-enum": { + "name": "outputSelectorOperator", + "values": [ + { + "value": "is", + "description": "The property is of the type defined by value." + }, + { + "value": "isNot", + "description": "The property is not of the type defined by value." + } + ], + "modelAsString": true + } + }, + "value": { + "type": "string", + "description": "Value to compare against." + } + }, + "description": "Allows for the selection of particular streams from another node." + }, + "FileSink": { + "type": "object", + "properties": { + "baseDirectoryPath": { + "type": "string", + "description": "Absolute directory path where media files will be stored.", + "example": "/var/media/output/" + }, + "fileNamePattern": { + "type": "string", + "description": "File name pattern for creating new files when performing event based recording. The pattern must include at least one system variable.", + "example": "mySampleFile-${System.TopologyName}-${System.PipelineName}-${System.Runtime.DateTime}" + }, + "maximumSizeMiB": { + "type": "string", + "description": "Maximum amount of disk space that can be used for storing files from this sink. Once this limit is reached, the oldest files from this sink will be automatically deleted." + } + }, + "required": [ + "fileNamePattern", + "baseDirectoryPath", + "maximumSizeMiB" + ], + "allOf": [ + { + "$ref": "#/definitions/SinkNodeBase" + } + ], + "description": "File sink allows for video and audio content to be recorded on the file system on the edge device.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.FileSink" + }, + "VideoPublishingOptions": { + "type": "object", + "properties": { + "enableVideoPreviewImage": { + "type": "string", + "description": "When set to 'true' the video will publish preview images. Default is 'false'." + } + }, + "description": "Options for changing video publishing behavior on the video sink and output video." + }, + "VideoCreationProperties": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "Optional video title provided by the user. Value can be up to 256 characters long." + }, + "description": { + "type": "string", + "description": "Optional video description provided by the user. Value can be up to 2048 characters long." + }, + "segmentLength": { + "type": "string", + "example": "PT30S", + "description": "Video segment length indicates the length of individual video files (segments) which are persisted to storage. Smaller segments provide lower archive playback latency but generate larger volume of storage transactions. Larger segments reduce the amount of storage transactions while increasing the archive playback latency. Value must be specified in ISO8601 duration format (i.e. \"PT30S\" equals 30 seconds) and can vary between 30 seconds to 5 minutes, in 30 seconds increments. Changing this value after the video is initially created can lead to errors when uploading media to the archive. Default value is 30 seconds." + }, + "retentionPeriod": { + "type": "string", + "example": "P30D", + "description": "Video retention period indicates how long the video is kept in storage, and must be a multiple of 1 day. For example, if this is set to 30 days, then content older than 30 days will be deleted." + } + }, + "description": "Optional video properties to be used in case a new video resource needs to be created on the service. These will not take effect if the video already exists." + }, + "VideoSink": { + "type": "object", + "properties": { + "videoName": { + "type": "string", + "description": "Name of a new or existing Video Analyzer video resource used for the media recording.", + "example": "myVideo001" + }, + "videoCreationProperties": { + "type": "object", + "description": "Optional video properties to be used in case a new video resource needs to be created on the service.", + "$ref": "#/definitions/VideoCreationProperties" + }, + "videoPublishingOptions": { + "type": "object", + "description": "Optional video publishing options to be used for changing publishing behavior of the output video.", + "$ref": "#/definitions/VideoPublishingOptions" + }, + "localMediaCachePath": { + "type": "string", + "description": "Path to a local file system directory for caching of temporary media files. This will also be used to store content which cannot be immediately uploaded to Azure due to Internet connectivity issues.", + "example": "/var/lib/tmp/" + }, + "localMediaCacheMaximumSizeMiB": { + "type": "string", + "description": "Maximum amount of disk space that can be used for caching of temporary media files. Once this limit is reached, the oldest segments of the media archive will be continuously deleted in order to make space for new media, thus leading to gaps in the cloud recorded content." + } + }, + "required": [ + "@type", + "videoName", + "localMediaCachePath", + "localMediaCacheMaximumSizeMiB" + ], + "allOf": [ + { + "$ref": "#/definitions/SinkNodeBase" + } + ], + "description": "Video sink allows for video and audio to be recorded to the Video Analyzer service. The recorded video can be played from anywhere and further managed from the cloud. Due to security reasons, a given Video Analyzer edge module instance can only record content to new video entries, or existing video entries previously recorded by the same module. Any attempt to record content to an existing video which has not been created by the same module instance will result in failure to record.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.VideoSink" + }, + "ProcessorNodeBase": { + "type": "object", + "required": [ + "@type", + "inputs", + "name" + ], + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "Type discriminator for the derived types." + }, + "name": { + "type": "string", + "description": "Node name. Must be unique within the topology." + }, + "inputs": { + "type": "array", + "description": "An array of upstream node references within the topology to be used as inputs for this node.", + "items": { + "$ref": "#/definitions/NodeInput" + } + } + }, + "description": "Base class for topology processor nodes." + }, + "MotionDetectionProcessor": { + "type": "object", + "properties": { + "sensitivity": { + "type": "string", + "description": "Motion detection sensitivity: low, medium, high.", + "enum": [ + "low", + "medium", + "high" + ], + "x-ms-enum": { + "name": "motionDetectionSensitivity", + "values": [ + { + "value": "low", + "description": "Low sensitivity." + }, + { + "value": "medium", + "description": "Medium sensitivity." + }, + { + "value": "high", + "description": "High sensitivity." + } + ], + "modelAsString": true + } + }, + "outputMotionRegion": { + "type": "boolean", + "description": "Indicates whether the processor should detect and output the regions within the video frame where motion was detected. Default is true." + }, + "eventAggregationWindow": { + "type": "string", + "description": "Time window duration on which events are aggregated before being emitted. Value must be specified in ISO8601 duration format (i.e. \"PT2S\" equals 2 seconds). Use 0 seconds for no aggregation. Default is 1 second." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProcessorNodeBase" + } + ], + "description": "Motion detection processor allows for motion detection on the video stream. It generates motion events whenever motion is present on the video.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.MotionDetectionProcessor" + }, + "ObjectTrackingProcessor": { + "type": "object", + "properties": { + "accuracy": { + "type": "string", + "description": "Object tracker accuracy: low, medium, high. Higher accuracy leads to higher CPU consumption in average.", + "enum": [ + "low", + "medium", + "high" + ], + "x-ms-enum": { + "name": "objectTrackingAccuracy", + "values": [ + { + "value": "low", + "description": "Low accuracy." + }, + { + "value": "medium", + "description": "Medium accuracy." + }, + { + "value": "high", + "description": "High accuracy." + } + ], + "modelAsString": true + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProcessorNodeBase" + } + ], + "description": "Object tracker processor allows for continuous tracking of one of more objects over a finite sequence of video frames. It must be used downstream of an object detector extension node, thus allowing for the extension to be configured to to perform inferences on sparse frames through the use of the 'maximumSamplesPerSecond' sampling property. The object tracker node will then track the detected objects over the frames in which the detector is not invoked resulting on a smother tracking of detected objects across the continuum of video frames. The tracker will stop tracking objects which are not subsequently detected by the upstream detector on the subsequent detections.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.ObjectTrackingProcessor" + }, + "LineCrossingProcessor": { + "type": "object", + "required": [ + "lines" + ], + "properties": { + "lines": { + "type": "array", + "description": "An array of lines used to compute line crossing events.", + "items": { + "$ref": "#/definitions/NamedLineBase" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProcessorNodeBase" + } + ], + "description": "Line crossing processor allows for the detection of tracked objects moving across one or more predefined lines. It must be downstream of an object tracker of downstream on an AI extension node that generates sequenceId for objects which are tracked across different frames of the video. Inference events are generated every time objects crosses from one side of the line to another.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.LineCrossingProcessor" + }, + "ExtensionProcessorBase": { + "type": "object", + "required": [ + "endpoint", + "image" + ], + "properties": { + "endpoint": { + "description": "Endpoint details of the pipeline extension plugin.", + "$ref": "#/definitions/EndpointBase" + }, + "image": { + "description": "Image transformations and formatting options to be applied to the video frame(s) prior submission to the pipeline extension plugin.", + "$ref": "#/definitions/ImageProperties" + }, + "samplingOptions": { + "description": "Media sampling parameters that define how often media is submitted to the extension plugin.", + "$ref": "#/definitions/SamplingOptions" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProcessorNodeBase" + } + ], + "description": "Base class for pipeline extension processors. Pipeline extensions allow for custom media analysis and processing to be plugged into the Video Analyzer pipeline.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.ExtensionProcessorBase" + }, + "GrpcExtension": { + "type": "object", + "required": [ + "dataTransfer" + ], + "properties": { + "dataTransfer": { + "description": "Specifies how media is transferred to the extension plugin.", + "$ref": "#/definitions/GrpcExtensionDataTransfer" + }, + "extensionConfiguration": { + "type": "string", + "description": "An optional configuration string that is sent to the extension plugin. The configuration string is specific to each custom extension and it not understood neither validated by Video Analyzer. Please see https://aka.ms/ava-extension-grpc for details." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ExtensionProcessorBase" + } + ], + "description": "GRPC extension processor allows pipeline extension plugins to be connected to the pipeline through over a gRPC channel. Extension plugins must act as an gRPC server. Please see https://aka.ms/ava-extension-grpc for details.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.GrpcExtension" + }, + "GrpcExtensionDataTransfer": { + "type": "object", + "required": [ + "mode" + ], + "properties": { + "sharedMemorySizeMiB": { + "type": "string", + "description": "The share memory buffer for sample transfers, in mebibytes. It can only be used with the 'SharedMemory' transfer mode." + }, + "mode": { + "type": "string", + "description": "Data transfer mode: embedded or sharedMemory.", + "enum": [ + "embedded", + "sharedMemory" + ], + "x-ms-enum": { + "name": "grpcExtensionDataTransferMode", + "values": [ + { + "value": "embedded", + "description": "Media samples are embedded into the gRPC messages. This mode is less efficient but it requires a simpler implementations and can be used with plugins which are not on the same node as the Video Analyzer module." + }, + { + "value": "sharedMemory", + "description": "Media samples are made available through shared memory. This mode enables efficient data transfers but it requires that the extension plugin to be co-located on the same node and sharing the same shared memory space." + } + ], + "modelAsString": true + } + } + }, + "description": "Describes how media is transferred to the extension plugin.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.GrpcExtensionDataTransfer" + }, + "HttpExtension": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ExtensionProcessorBase" + } + ], + "description": "HTTP extension processor allows pipeline extension plugins to be connected to the pipeline through over the HTTP protocol. Extension plugins must act as an HTTP server. Please see https://aka.ms/ava-extension-http for details.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.HttpExtension" + }, + "ImageProperties": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/definitions/ImageScale" + }, + "format": { + "$ref": "#/definitions/ImageFormatProperties" + } + }, + "description": "Image transformations and formatting options to be applied to the video frame(s)." + }, + "SamplingOptions": { + "type": "object", + "properties": { + "skipSamplesWithoutAnnotation": { + "type": "string", + "description": "When set to 'true', prevents frames without upstream inference data to be sent to the extension plugin. This is useful to limit the frames sent to the extension to pre-analyzed frames only. For example, when used downstream from a motion detector, this can enable for only frames in which motion has been detected to be further analyzed." + }, + "maximumSamplesPerSecond": { + "type": "string", + "description": "Maximum rate of samples submitted to the extension. This prevents an extension plugin to be overloaded with data." + } + }, + "description": "Defines how often media is submitted to the extension plugin." + }, + "ImageScale": { + "type": "object", + "properties": { + "mode": { + "type": "string", + "description": "Describes the image scaling mode to be applied. Default mode is 'pad'.", + "enum": [ + "preserveAspectRatio", + "pad", + "stretch" + ], + "x-ms-enum": { + "name": "imageScaleMode", + "values": [ + { + "value": "preserveAspectRatio", + "description": "Preserves the same aspect ratio as the input image. If only one image dimension is provided, the second dimension is calculated based on the input image aspect ratio. When 2 dimensions are provided, the image is resized to fit the most constraining dimension, considering the input image size and aspect ratio." + }, + { + "value": "pad", + "description": "Pads the image with black horizontal stripes (letterbox) or black vertical stripes (pillar-box) so the image is resized to the specified dimensions while not altering the content aspect ratio." + }, + { + "value": "stretch", + "description": "Stretches the original image so it resized to the specified dimensions." + } + ], + "modelAsString": true + } + }, + "width": { + "type": "string", + "description": "The desired output image width." + }, + "height": { + "type": "string", + "description": "The desired output image height." + } + }, + "description": "Image scaling mode." + }, + "ImageFormatProperties": { + "type": "object", + "required": [ + "@type" + ], + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "Type discriminator for the derived types." + } + }, + "description": "Base class for image formatting properties." + }, + "ImageFormatRaw": { + "type": "object", + "required": [ + "pixelFormat" + ], + "properties": { + "pixelFormat": { + "type": "string", + "description": "Pixel format to be applied to the raw image.", + "enum": [ + "yuv420p", + "rgb565be", + "rgb565le", + "rgb555be", + "rgb555le", + "rgb24", + "bgr24", + "argb", + "rgba", + "abgr", + "bgra" + ], + "x-ms-enum": { + "name": "imageFormatRawPixelFormat", + "values": [ + { + "value": "yuv420p", + "description": "Planar YUV 4:2:0, 12bpp, (1 Cr and Cb sample per 2x2 Y samples)." + }, + { + "value": "rgb565be", + "description": "Packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian." + }, + { + "value": "rgb565le", + "description": "Packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), little-endian." + }, + { + "value": "rgb555be", + "description": "Packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), big-endian , X=unused/undefined." + }, + { + "value": "rgb555le", + "description": "Packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), little-endian, X=unused/undefined." + }, + { + "value": "rgb24", + "description": "Packed RGB 8:8:8, 24bpp, RGBRGB." + }, + { + "value": "bgr24", + "description": "Packed RGB 8:8:8, 24bpp, BGRBGR." + }, + { + "value": "argb", + "description": "Packed ARGB 8:8:8:8, 32bpp, ARGBARGB." + }, + { + "value": "rgba", + "description": "Packed RGBA 8:8:8:8, 32bpp, RGBARGBA." + }, + { + "value": "abgr", + "description": "Packed ABGR 8:8:8:8, 32bpp, ABGRABGR." + }, + { + "value": "bgra", + "description": "Packed BGRA 8:8:8:8, 32bpp, BGRABGRA." + } + ], + "modelAsString": true + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/ImageFormatProperties" + } + ], + "description": "Raw image formatting.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.ImageFormatRaw" + }, + "ImageFormatJpeg": { + "type": "object", + "properties": { + "quality": { + "type": "string", + "description": "Image quality value between 0 to 100 (best quality)." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ImageFormatProperties" + } + ], + "description": "JPEG image encoding.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.ImageFormatJpeg" + }, + "ImageFormatBmp": { + "type": "object", + "properties": {}, + "allOf": [ + { + "$ref": "#/definitions/ImageFormatProperties" + } + ], + "description": "BMP image encoding.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.ImageFormatBmp" + }, + "ImageFormatPng": { + "type": "object", + "properties": {}, + "allOf": [ + { + "$ref": "#/definitions/ImageFormatProperties" + } + ], + "description": "PNG image encoding.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.ImageFormatPng" + }, + "NamedLineBase": { + "type": "object", + "required": [ + "@type", + "name" + ], + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The Type discriminator for the derived types." + }, + "name": { + "type": "string", + "description": "Line name. Must be unique within the node." + } + }, + "description": "Base class for named lines." + }, + "NamedLineString": { + "type": "object", + "required": [ + "line" + ], + "properties": { + "line": { + "type": "string", + "example": "[[0.3,0.2],[0.9,0.8]]", + "description": "Point coordinates for the line start and end, respectively. Example: '[[0.3, 0.2],[0.9, 0.8]]'. Each point is expressed as [LEFT, TOP] coordinate ratios ranging from 0.0 to 1.0, where [0,0] is the upper-left frame corner and [1, 1] is the bottom-right frame corner." + } + }, + "allOf": [ + { + "$ref": "#/definitions/NamedLineBase" + } + ], + "description": "Describes a line configuration.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.NamedLineString" + }, + "NamedPolygonBase": { + "type": "object", + "required": [ + "@type", + "name" + ], + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The Type discriminator for the derived types." + }, + "name": { + "type": "string", + "description": "Polygon name. Must be unique within the node." + } + }, + "description": "Describes the named polygon." + }, + "NamedPolygonString": { + "type": "object", + "required": [ + "polygon" + ], + "properties": { + "polygon": { + "type": "string", + "example": "[[0.3, 0.2],[0.9, 0.8],[0.7, 0.6]]", + "description": "Point coordinates for the polygon. Example: '[[0.3, 0.2],[0.9, 0.8],[0.7, 0.6]]'. Each point is expressed as [LEFT, TOP] coordinate ratios ranging from 0.0 to 1.0, where [0,0] is the upper-left frame corner and [1, 1] is the bottom-right frame corner." + } + }, + "allOf": [ + { + "$ref": "#/definitions/NamedPolygonBase" + } + ], + "description": "Describes a closed polygon configuration.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.NamedPolygonString" + }, + "SignalGateProcessor": { + "type": "object", + "properties": { + "activationEvaluationWindow": { + "type": "string", + "example": "PT1.0S", + "description": "The period of time over which the gate gathers input events before evaluating them." + }, + "activationSignalOffset": { + "type": "string", + "example": "-PT1.0S", + "description": "Signal offset once the gate is activated (can be negative). It determines the how much farther behind of after the signal will be let through based on the activation time. A negative offset indicates that data prior the activation time must be included on the signal that is let through, once the gate is activated. When used upstream of a file or video sink, this allows for scenarios such as recording buffered media prior an event, such as: record video 5 seconds prior motions is detected." + }, + "minimumActivationTime": { + "type": "string", + "example": "PT1S", + "description": "The minimum period for which the gate remains open in the absence of subsequent triggers (events). When used upstream of a file or video sink, it determines the minimum length of the recorded video clip." + }, + "maximumActivationTime": { + "type": "string", + "example": "PT2S", + "description": "The maximum period for which the gate remains open in the presence of subsequent triggers (events). When used upstream of a file or video sink, it determines the maximum length of the recorded video clip." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProcessorNodeBase" + } + ], + "description": "A signal gate determines when to block (gate) incoming media, and when to allow it through. It gathers input events over the activationEvaluationWindow, and determines whether to open or close the gate. See https://aka.ms/ava-signalgate for more information.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.SignalGateProcessor" + }, + "SpatialAnalysisOperationBase": { + "type": "object", + "required": [ + "@type" + ], + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The Type discriminator for the derived types." + } + }, + "description": "Base class for Azure Cognitive Services Spatial Analysis operations." + }, + "SpatialAnalysisCustomOperation": { + "type": "object", + "required": [ + "extensionConfiguration" + ], + "properties": { + "extensionConfiguration": { + "type": "string", + "description": "Custom configuration to pass to the Azure Cognitive Services Spatial Analysis module." + } + }, + "allOf": [ + { + "$ref": "#/definitions/SpatialAnalysisOperationBase" + } + ], + "description": "Defines a Spatial Analysis custom operation. This requires the Azure Cognitive Services Spatial analysis module to be deployed alongside the Video Analyzer module, please see https://aka.ms/ava-spatial-analysis for more information.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.SpatialAnalysisCustomOperation" + }, + "SpatialAnalysisTypedOperationBase": { + "type": "object", + "properties": { + "debug": { + "type": "string", + "description": "If set to 'true', enables debugging mode for this operation." + }, + "calibrationConfiguration": { + "type": "string", + "description": "Advanced calibration configuration." + }, + "cameraConfiguration": { + "type": "string", + "description": "Advanced camera configuration." + }, + "cameraCalibratorNodeConfiguration": { + "type": "string", + "description": "Advanced camera calibrator configuration." + }, + "detectorNodeConfiguration": { + "type": "string", + "description": "Advanced detector node configuration." + }, + "trackerNodeConfiguration": { + "type": "string", + "description": "Advanced tracker node configuration." + }, + "enableFaceMaskClassifier": { + "type": "string", + "description": "If set to 'true', enables face mask detection for this operation." + } + }, + "allOf": [ + { + "$ref": "#/definitions/SpatialAnalysisOperationBase" + } + ], + "description": "Base class for Azure Cognitive Services Spatial Analysis typed operations." + }, + "SpatialAnalysisOperationEventBase": { + "type": "object", + "properties": { + "threshold": { + "type": "string", + "description": "The event threshold." + }, + "focus": { + "type": "string", + "description": "The operation focus type.", + "enum": [ + "center", + "bottomCenter", + "footprint" + ], + "x-ms-enum": { + "name": "spatialAnalysisOperationFocus", + "values": [ + { + "value": "center", + "description": "The center of the object." + }, + { + "value": "bottomCenter", + "description": "The bottom center of the object." + }, + { + "value": "footprint", + "description": "The footprint." + } + ], + "modelAsString": true + } + } + }, + "description": "Defines the Azure Cognitive Services Spatial Analysis operation eventing configuration." + }, + "SpatialAnalysisPersonCountEvent": { + "type": "object", + "properties": { + "trigger": { + "type": "string", + "description": "The event trigger type.", + "enum": [ + "event", + "interval" + ], + "x-ms-enum": { + "name": "spatialAnalysisPersonCountEventTrigger", + "values": [ + { + "value": "event", + "description": "Event trigger." + }, + { + "value": "interval", + "description": "Interval trigger." + } + ], + "modelAsString": true + } + }, + "outputFrequency": { + "type": "string", + "description": "The event or interval output frequency." + } + }, + "allOf": [ + { + "$ref": "#/definitions/SpatialAnalysisOperationEventBase" + } + ], + "description": "Defines a Spatial Analysis person count operation eventing configuration." + }, + "SpatialAnalysisPersonCountZoneEvents": { + "type": "object", + "required": [ + "zone" + ], + "properties": { + "zone": { + "description": "The named zone.", + "$ref": "#/definitions/NamedPolygonBase" + }, + "events": { + "type": "array", + "description": "The event configuration.", + "items": { + "$ref": "#/definitions/SpatialAnalysisPersonCountEvent" + } + } + } + }, + "SpatialAnalysisPersonCountOperation": { + "type": "object", + "required": [ + "zones" + ], + "properties": { + "zones": { + "type": "array", + "description": "The list of zones and optional events.", + "items": { + "$ref": "#/definitions/SpatialAnalysisPersonCountZoneEvents" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/SpatialAnalysisTypedOperationBase" + } + ], + "description": "Defines a Spatial Analysis person count operation. This requires the Azure Cognitive Services Spatial analysis module to be deployed alongside the Video Analyzer module, please see https://aka.ms/ava-spatial-analysis for more information.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.SpatialAnalysisPersonCountOperation" + }, + "SpatialAnalysisPersonZoneCrossingEvent": { + "type": "object", + "properties": { + "eventType": { + "type": "string", + "description": "The event type.", + "enum": [ + "zoneCrossing", + "zoneDwellTime" + ], + "x-ms-enum": { + "name": "spatialAnalysisPersonZoneCrossingEventType", + "values": [ + { + "value": "zoneCrossing", + "description": "Zone crossing event type." + }, + { + "value": "zoneDwellTime", + "description": "Zone dwell time event type." + } + ], + "modelAsString": true + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/SpatialAnalysisOperationEventBase" + } + ], + "description": "Defines a Spatial Analysis person crossing zone operation eventing configuration." + }, + "SpatialAnalysisPersonZoneCrossingZoneEvents": { + "type": "object", + "required": [ + "zone" + ], + "properties": { + "zone": { + "description": "The named zone.", + "$ref": "#/definitions/NamedPolygonBase" + }, + "events": { + "type": "array", + "description": "The event configuration.", + "items": { + "$ref": "#/definitions/SpatialAnalysisPersonZoneCrossingEvent" + } + } + } + }, + "SpatialAnalysisPersonZoneCrossingOperation": { + "type": "object", + "required": [ + "zones" + ], + "properties": { + "zones": { + "type": "array", + "description": "The list of zones with optional events.", + "items": { + "$ref": "#/definitions/SpatialAnalysisPersonZoneCrossingZoneEvents" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/SpatialAnalysisTypedOperationBase" + } + ], + "description": "Defines a Spatial Analysis person zone crossing operation. This requires the Azure Cognitive Services Spatial analysis module to be deployed alongside the Video Analyzer module, please see https://aka.ms/ava-spatial-analysis for more information.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.SpatialAnalysisPersonZoneCrossingOperation" + }, + "SpatialAnalysisPersonDistanceEvent": { + "type": "object", + "properties": { + "trigger": { + "type": "string", + "description": "The event trigger type.", + "enum": [ + "event", + "interval" + ], + "x-ms-enum": { + "name": "spatialAnalysisPersonDistanceEventTrigger", + "values": [ + { + "value": "event", + "description": "Event trigger." + }, + { + "value": "interval", + "description": "Interval trigger." + } + ], + "modelAsString": true + } + }, + "outputFrequency": { + "type": "string", + "description": "The event or interval output frequency." + }, + "minimumDistanceThreshold": { + "type": "string", + "description": "The minimum distance threshold" + }, + "maximumDistanceThreshold": { + "type": "string", + "description": "The maximum distance threshold" + } + }, + "allOf": [ + { + "$ref": "#/definitions/SpatialAnalysisOperationEventBase" + } + ], + "description": "Defines a Spatial Analysis person distance operation eventing configuration." + }, + "SpatialAnalysisPersonDistanceZoneEvents": { + "type": "object", + "required": [ + "zone" + ], + "properties": { + "zone": { + "description": "The named zone.", + "$ref": "#/definitions/NamedPolygonBase" + }, + "events": { + "type": "array", + "description": "The event configuration.", + "items": { + "$ref": "#/definitions/SpatialAnalysisPersonDistanceEvent" + } + } + } + }, + "SpatialAnalysisPersonDistanceOperation": { + "type": "object", + "required": [ + "zones" + ], + "properties": { + "zones": { + "type": "array", + "description": "The list of zones with optional events.", + "items": { + "$ref": "#/definitions/SpatialAnalysisPersonDistanceZoneEvents" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/SpatialAnalysisTypedOperationBase" + } + ], + "description": "Defines a Spatial Analysis person distance operation. This requires the Azure Cognitive Services Spatial analysis module to be deployed alongside the Video Analyzer module, please see https://aka.ms/ava-spatial-analysis for more information.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.SpatialAnalysisPersonDistanceOperation" + }, + "SpatialAnalysisPersonLineCrossingEvent": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SpatialAnalysisOperationEventBase" + } + ], + "description": "Defines a Spatial Analysis person line crossing operation eventing configuration." + }, + "SpatialAnalysisPersonLineCrossingLineEvents": { + "type": "object", + "required": [ + "line" + ], + "properties": { + "line": { + "description": "The named line.", + "$ref": "#/definitions/NamedLineBase" + }, + "events": { + "type": "array", + "description": "The event configuration.", + "items": { + "$ref": "#/definitions/SpatialAnalysisPersonLineCrossingEvent" + } + } + } + }, + "SpatialAnalysisPersonLineCrossingOperation": { + "type": "object", + "required": [ + "lines" + ], + "properties": { + "lines": { + "type": "array", + "description": "The list of lines with optional events.", + "items": { + "$ref": "#/definitions/SpatialAnalysisPersonLineCrossingLineEvents" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/SpatialAnalysisTypedOperationBase" + } + ], + "description": "Defines a Spatial Analysis person line crossing operation. This requires the Azure Cognitive Services Spatial analysis module to be deployed alongside the Video Analyzer module, please see https://aka.ms/ava-spatial-analysis for more information.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.SpatialAnalysisPersonLineCrossingOperation" + }, + "RemoteDeviceAdapter": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "The unique identifier for the remote device adapter." + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "description": "Read-only system metadata associated with this object." + }, + "properties": { + "$ref": "#/definitions/RemoteDeviceAdapterProperties", + "description": "Properties of the remote device adapter." + } + }, + "description": "The Video Analyzer edge module can act as a transparent gateway for video, enabling IoT devices to send video to the cloud from behind a firewall. A remote device adapter should be created for each such IoT device. Communication between the cloud and IoT device would then flow via the Video Analyzer edge module." + }, + "RemoteDeviceAdapterProperties": { + "type": "object", + "properties": { + "description": { + "description": "An optional description for the remote device adapter.", + "type": "string" + }, + "target": { + "description": "The IoT device to which this remote device will connect.", + "$ref": "#/definitions/RemoteDeviceAdapterTarget" + }, + "iotHubDeviceConnection": { + "description": "Information that enables communication between the IoT Hub and the IoT device - allowing this edge module to act as a transparent gateway between the two.", + "$ref": "#/definitions/IotHubDeviceConnection" + } + }, + "required": [ + "target", + "iotHubDeviceConnection" + ], + "description": "Remote device adapter properties." + }, + "RemoteDeviceAdapterTarget": { + "type": "object", + "properties": { + "host": { + "description": "Hostname or IP address of the remote device.", + "type": "string" + } + }, + "required": [ + "host" + ], + "description": "Properties of the remote device adapter target." + }, + "IotHubDeviceConnection": { + "type": "object", + "properties": { + "deviceId": { + "description": "The name of the IoT device configured and managed in IoT Hub. (case-sensitive)", + "type": "string" + }, + "credentials": { + "description": "IoT device connection credentials. Currently IoT device symmetric key credentials are supported.", + "$ref": "#/definitions/CredentialsBase" + } + }, + "required": [ + "deviceId" + ], + "description": "Information that enables communication between the IoT Hub and the IoT device - allowing this edge module to act as a transparent gateway between the two." + }, + "RemoteDeviceAdapterCollection": { + "description": "A list of remote device adapters.", + "properties": { + "value": { + "type": "array", + "description": "An array of remote device adapters.", + "items": { + "$ref": "#/definitions/RemoteDeviceAdapter" + } + }, + "@continuationToken": { + "type": "string", + "description": "A continuation token to use in subsequent calls to enumerate through the remote device adapter collection. This is used when the collection contains too many results to return in one response." + } + }, + "type": "object" + }, + "CognitiveServicesVisionProcessor": { + "type": "object", + "required": [ + "operation", + "endpoint" + ], + "properties": { + "endpoint": { + "description": "Endpoint to which this processor should connect.", + "$ref": "#/definitions/EndpointBase" + }, + "image": { + "description": "Describes the parameters of the image that is sent as input to the endpoint.", + "$ref": "#/definitions/ImageProperties" + }, + "samplingOptions": { + "description": "Describes the sampling options to be applied when forwarding samples to the extension.", + "$ref": "#/definitions/SamplingOptions" + }, + "operation": { + "description": "Describes the Spatial Analysis operation to be used in the Cognitive Services Vision processor.", + "$ref": "#/definitions/SpatialAnalysisOperationBase" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProcessorNodeBase" + } + ], + "description": "A processor that allows the pipeline topology to send video frames to a Cognitive Services Vision extension. Inference results are relayed to downstream nodes.", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.CognitiveServicesVisionProcessor" + }, + "DiscoveredOnvifDeviceCollection": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "An array of ONVIF devices that have been discovered in the same subnet as the IoT Edge device.", + "items": { + "$ref": "#/definitions/DiscoveredOnvifDevice" + } + } + }, + "description": "A list of ONVIF devices that were discovered in the same subnet as the IoT Edge device." + }, + "DiscoveredOnvifDevice": { + "type": "object", + "properties": { + "serviceIdentifier": { + "type": "string", + "description": "The unique identifier of the ONVIF device that was discovered in the same subnet as the IoT Edge device." + }, + "remoteIPAddress": { + "type": "string", + "description": "The IP address of the ONVIF device that was discovered in the same subnet as the IoT Edge device." + }, + "scopes": { + "type": "array", + "description": "An array of hostnames for the ONVIF discovered devices that are in the same subnet as the IoT Edge device.", + "items": { + "type": "string" + } + }, + "endpoints": { + "type": "array", + "description": "An array of media profile endpoints that the ONVIF discovered device supports.", + "items": { + "type": "string" + } + } + }, + "description": "The discovered properties of the ONVIF device that are returned during the discovery." + }, + "OnvifDevice": { + "type": "object", + "properties": { + "hostname": { + "type": "object", + "description": "The hostname of the ONVIF device.", + "$ref": "#/definitions/OnvifHostName" + }, + "systemDateTime": { + "description": "The system date and time of the ONVIF device.", + "$ref": "#/definitions/OnvifSystemDateTime" + }, + "dns": { + "description": "The ONVIF device DNS properties.", + "$ref": "#/definitions/OnvifDns" + }, + "mediaProfiles": { + "type": "array", + "description": "An array of of ONVIF media profiles supported by the ONVIF device.", + "items": { + "$ref": "#/definitions/MediaProfile" + } + } + }, + "description": "The ONVIF device properties." + }, + "OnvifSystemDateTime": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "An enum value determining whether the date time was configured using NTP or manual.", + "enum": [ + "Ntp", + "Manual" + ], + "x-ms-enum": { + "name": "onvifSystemDateTimeType", + "values": [ + { + "value": "Ntp" + }, + { + "value": "Manual" + } + ], + "modelAsString": true + } + }, + "time": { + "type": "string", + "description": "The device datetime returned when calling the request." + }, + "timeZone": { + "type": "string", + "description": "The timezone of the ONVIF device datetime." + } + }, + "description": "The ONVIF device DNS properties." + }, + "OnvifHostName": { + "type": "object", + "properties": { + "fromDhcp": { + "type": "boolean", + "description": "Result value showing if the ONVIF device is configured to use DHCP." + }, + "hostname": { + "type": "string", + "description": "The hostname of the ONVIF device." + } + }, + "description": "The ONVIF device DNS properties." + }, + "OnvifDns": { + "type": "object", + "properties": { + "fromDhcp": { + "type": "boolean", + "description": "Result value showing if the ONVIF device is configured to use DHCP." + }, + "ipv4Address": { + "type": "array", + "description": "An array of IPv4 address for the discovered ONVIF device.", + "items": { + "type": "string" + } + }, + "ipv6Address": { + "type": "array", + "description": "An array of IPv6 address for the discovered ONVIF device.", + "items": { + "type": "string" + } + } + }, + "description": "The ONVIF device DNS properties." + }, + "MediaProfile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the Media Profile." + }, + "mediaUri": { + "type": "object", + "description": "Object representing the URI that will be used to request for media streaming.", + "items": { + "$ref": "#/definitions/MediaUri" + } + }, + "videoEncoderConfiguration": { + "type": "object", + "description": "The Video encoder configuration.", + "$ref": "#/definitions/VideoEncoderConfiguration" + } + }, + "description": "Class representing the ONVIF MediaProfiles." + }, + "MediaUri": { + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "URI that can be used for media streaming." + } + }, + "description": "Object representing the URI that will be used to request for media streaming." + }, + "VideoEncoderConfiguration": { + "type": "object", + "properties": { + "encoding": { + "type": "string", + "description": "The video codec used by the Media Profile.", + "enum": [ + "JPEG", + "H264", + "MPEG4" + ], + "x-ms-enum": { + "name": "videoEncoding", + "values": [ + { + "value": "JPEG", + "description": "The Media Profile uses JPEG encoding." + }, + { + "value": "H264", + "description": "The Media Profile uses H264 encoding." + }, + { + "value": "MPEG4", + "description": "The Media Profile uses MPEG4 encoding." + } + ], + "modelAsString": true + } + }, + "quality": { + "type": "number", + "description": "Relative value representing the quality of the video." + }, + "resolution": { + "description": "The Video Resolution.", + "$ref": "#/definitions/VideoResolution" + }, + "rateControl": { + "type": "object", + "description": "The Video's rate control.", + "$ref": "#/definitions/RateControl" + }, + "h264": { + "type": "object", + "description": "The H264 Configuration.", + "$ref": "#/definitions/H264Configuration" + }, + "mpeg4": { + "description": "The H264 Configuration.", + "$ref": "#/definitions/MPEG4Configuration" + } + }, + "description": "Class representing the MPEG4 Configuration." + }, + "MPEG4Configuration": { + "type": "object", + "properties": { + "govLength": { + "type": "number", + "description": "Group of Video frames length." + }, + "profile": { + "type": "string", + "description": "The MPEG4 Profile", + "enum": [ + "SP", + "ASP" + ], + "x-ms-enum": { + "name": "MPEG4Profile", + "values": [ + { + "value": "SP", + "description": "Simple Profile." + }, + { + "value": "ASP", + "description": "Advanced Simple Profile." + } + ], + "modelAsString": true + } + } + }, + "description": "Class representing the MPEG4 Configuration." + }, + "RateControl": { + "type": "object", + "properties": { + "bitRateLimit": { + "type": "number", + "description": "the maximum output bitrate in kbps." + }, + "encodingInterval": { + "type": "number", + "description": "Interval at which images are encoded and transmitted." + }, + "frameRateLimit": { + "type": "number", + "description": "Maximum output framerate in fps." + }, + "guaranteedFrameRate": { + "type": "boolean", + "description": "A value of true indicates that frame rate is a fixed value rather than an upper limit, and that the video encoder shall prioritize frame rate over all other adaptable configuration values such as bitrate." + } + }, + "description": "Class representing the video's rate control." + }, + "VideoResolution": { + "type": "object", + "properties": { + "width": { + "type": "number", + "description": "The number of columns of the Video image." + }, + "height": { + "type": "number", + "description": "The number of lines of the Video image." + } + }, + "description": "The Video resolution." + }, + "H264Configuration": { + "type": "object", + "properties": { + "govLength": { + "type": "number", + "description": "Group of Video frames length." + }, + "profile": { + "type": "string", + "description": "The H264 Profile", + "enum": [ + "Baseline", + "Main", + "Extended", + "High" + ], + "x-ms-enum": { + "name": "H264Profile", + "values": [ + { + "value": "Baseline" + }, + { + "value": "Main" + }, + { + "value": "Extended" + }, + { + "value": "High" + } + ], + "modelAsString": true + } + } + }, + "description": "Class representing the H264 Configuration." + } + } +} diff --git a/specification/videoanalyzer/data-plane/VideoAnalyzer.Edge/preview/1.1.0/AzureVideoAnalyzerSdkDefinitions.json b/specification/videoanalyzer/data-plane/VideoAnalyzer.Edge/preview/1.1.0/AzureVideoAnalyzerSdkDefinitions.json new file mode 100644 index 000000000000..954f1e1ebc63 --- /dev/null +++ b/specification/videoanalyzer/data-plane/VideoAnalyzer.Edge/preview/1.1.0/AzureVideoAnalyzerSdkDefinitions.json @@ -0,0 +1,304 @@ +{ + "swagger": "2.0", + "info": { + "version": "1.1.0", + "title": "Azure Video Analyzer for Edge", + "description": "Azure Video Analyzer helpers for IoT Edge direct method calls.", + "contact": { + "email": "videoanalyzerhelp@microsoft.com" + } + }, + "security": [ + { + "sharedAccessSignature": [] + } + ], + "paths": {}, + "securityDefinitions": { + "sharedAccessSignature": { + "type": "apiKey", + "name": "Authorization", + "in": "header" + } + }, + "definitions": { + "MethodRequest": { + "type": "object", + "required": [ + "methodName" + ], + "properties": { + "methodName": { + "type": "string", + "description": "Direct method method name.", + "readOnly": true + }, + "@apiVersion": { + "type": "string", + "description": "Video Analyzer API version.", + "enum": [ + "1.1" + ], + "x-ms-enum": { + "name": "apiVersionEnum", + "modelAsString": false + }, + "x-ms-client-default": "1.1" + } + }, + "discriminator": "methodName", + "description": "Base class for direct method calls." + }, + "PipelineTopologySetRequest": { + "type": "object", + "x-ms-discriminator-value": "pipelineTopologySet", + "allOf": [ + { + "$ref": "#/definitions/MethodRequest" + } + ], + "required": [ + "pipelineTopology" + ], + "properties": { + "pipelineTopology": { + "$ref": "./AzureVideoAnalyzer.json#/definitions/PipelineTopology" + } + }, + "description": "Creates a new pipeline topology or updates an existing one." + }, + "PipelineTopologySetRequestBody": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MethodRequest" + }, + { + "$ref": "./AzureVideoAnalyzer.json#/definitions/PipelineTopology" + } + ], + "description": "Pipeline topology describes the processing steps to be applied when processing media for a particular outcome. The topology should be defined according to the scenario to be achieved and can be reused across many pipeline instances which share the same processing characteristics. For instance, a pipeline topology which acquires data from a RTSP camera, process it with an specific AI model and stored the data on the cloud can be reused across many different cameras, as long as the same processing should be applied across all the cameras. Individual instance properties can be defined through the use of user-defined parameters, which allow for a topology to be parameterized, thus allowing individual pipelines to refer to different values, such as individual cameras RTSP endpoints and credentials. Overall a topology is composed of the following:\r\n\r\n - Parameters: list of user defined parameters that can be references across the topology nodes.\r\n - Sources: list of one or more data sources nodes such as an RTSP source which allows for media to be ingested from cameras.\r\n - Processors: list of nodes which perform data analysis or transformations.\r\n -Sinks: list of one or more data sinks which allow for data to be stored or exported to other destinations." + }, + "LivePipelineSetRequest": { + "type": "object", + "x-ms-discriminator-value": "livePipelineSet", + "allOf": [ + { + "$ref": "#/definitions/MethodRequest" + } + ], + "required": [ + "livePipeline" + ], + "properties": { + "livePipeline": { + "$ref": "./AzureVideoAnalyzer.json#/definitions/LivePipeline" + } + }, + "description": "Creates a new live pipeline or updates an existing one." + }, + "LivePipelineSetRequestBody": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MethodRequest" + }, + { + "$ref": "./AzureVideoAnalyzer.json#/definitions/LivePipeline" + } + ], + "description": "Live Pipeline represents an unique instance of a pipeline topology which is used for real-time content ingestion and analysis." + }, + "MethodRequestEmptyBodyBase": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MethodRequest" + } + ], + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Resource name." + } + } + }, + "PipelineTopologyListRequest": { + "type": "object", + "x-ms-discriminator-value": "pipelineTopologyList", + "allOf": [ + { + "$ref": "#/definitions/MethodRequest" + } + ], + "description": "List all existing pipeline topologies." + }, + "PipelineTopologyGetRequest": { + "type": "object", + "x-ms-discriminator-value": "pipelineTopologyGet", + "allOf": [ + { + "$ref": "#/definitions/MethodRequestEmptyBodyBase" + } + ], + "description": "Retrieves an existing pipeline topology." + }, + "PipelineTopologyDeleteRequest": { + "type": "object", + "x-ms-discriminator-value": "pipelineTopologyDelete", + "allOf": [ + { + "$ref": "#/definitions/MethodRequestEmptyBodyBase" + } + ], + "description": "Deletes an existing pipeline topology." + }, + "LivePipelineListRequest": { + "type": "object", + "x-ms-discriminator-value": "livePipelineList", + "allOf": [ + { + "$ref": "#/definitions/MethodRequest" + } + ], + "description": "List all existing live pipelines." + }, + "LivePipelineGetRequest": { + "type": "object", + "x-ms-discriminator-value": "livePipelineGet", + "allOf": [ + { + "$ref": "#/definitions/MethodRequestEmptyBodyBase" + } + ], + "description": "Retrieves an existing live pipeline." + }, + "LivePipelineActivateRequest": { + "type": "object", + "x-ms-discriminator-value": "livePipelineActivate", + "allOf": [ + { + "$ref": "#/definitions/MethodRequestEmptyBodyBase" + } + ], + "description": "Activates an existing live pipeline." + }, + "LivePipelineDeactivateRequest": { + "type": "object", + "x-ms-discriminator-value": "livePipelineDeactivate", + "allOf": [ + { + "$ref": "#/definitions/MethodRequestEmptyBodyBase" + } + ], + "description": "Deactivates an existing live pipeline." + }, + "LivePipelineDeleteRequest": { + "type": "object", + "x-ms-discriminator-value": "livePipelineDelete", + "allOf": [ + { + "$ref": "#/definitions/MethodRequestEmptyBodyBase" + } + ], + "description": "Deletes an existing live pipeline." + }, + "RemoteDeviceAdapterSetRequest": { + "type": "object", + "x-ms-discriminator-value": "remoteDeviceAdapterSet", + "allOf": [ + { + "$ref": "#/definitions/MethodRequest" + } + ], + "required": [ + "remoteDeviceAdapter" + ], + "properties": { + "remoteDeviceAdapter": { + "$ref": "./AzureVideoAnalyzer.json#/definitions/RemoteDeviceAdapter" + } + }, + "description": "Creates a new remote device adapter or updates an existing one." + }, + "RemoteDeviceAdapterSetRequestBody": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MethodRequest" + }, + { + "$ref": "./AzureVideoAnalyzer.json#/definitions/RemoteDeviceAdapter" + } + ], + "description": "The Video Analyzer edge module can act as a transparent gateway for video, enabling IoT devices to send video to the cloud from behind a firewall. A remote device adapter should be created for each such IoT device. Communication between the cloud and IoT device would then flow via the Video Analyzer edge module." + }, + "RemoteDeviceAdapterListRequest": { + "type": "object", + "x-ms-discriminator-value": "remoteDeviceAdapterList", + "allOf": [ + { + "$ref": "#/definitions/MethodRequest" + } + ], + "description": "List all existing remote device adapters." + }, + "RemoteDeviceAdapterGetRequest": { + "type": "object", + "x-ms-discriminator-value": "remoteDeviceAdapterGet", + "allOf": [ + { + "$ref": "#/definitions/MethodRequestEmptyBodyBase" + } + ], + "description": "Retrieves an existing remote device adapter." + }, + "RemoteDeviceAdapterDeleteRequest": { + "type": "object", + "x-ms-discriminator-value": "remoteDeviceAdapterDelete", + "allOf": [ + { + "$ref": "#/definitions/MethodRequestEmptyBodyBase" + } + ], + "description": "Deletes an existing remote device adapter." + }, + "OnvifDeviceDiscoverRequest": { + "type": "object", + "x-ms-discriminator-value": "onvifDeviceDiscover", + "allOf": [ + { + "$ref": "#/definitions/MethodRequest" + } + ], + "properties": { + "discoveryDuration": { + "type": "string", + "description": "The amount of time that the ONVIF device discovery will wait for supported device responses." + } + }, + "description": "Lists all the discoverable ONVIF devices on the same subnet as the Edge Module." + }, + "OnvifDeviceGetRequest": { + "type": "object", + "x-ms-discriminator-value": "onvifDeviceGet", + "allOf": [ + { + "$ref": "#/definitions/MethodRequest" + } + ], + "required": [ + "endpoint" + ], + "properties": { + "endpoint": { + "$ref": "./AzureVideoAnalyzer.json#/definitions/EndpointBase" + } + }, + "description": "Retrieves properties and media profiles of an ONVIF device." + } + } +} diff --git a/specification/videoanalyzer/data-plane/readme.md b/specification/videoanalyzer/data-plane/readme.md index 60c1ddaf545a..75e5b840e839 100644 --- a/specification/videoanalyzer/data-plane/readme.md +++ b/specification/videoanalyzer/data-plane/readme.md @@ -28,15 +28,24 @@ These are the global settings for the Azure Video Analyzer edge API. ``` yaml openapi-type: data-plane -tag: package-ava-edge-1-0-0-preview - +tag: package-preview-1.1.0 directive: - where: - - $.definitions.MethodRequest.properties.methodName + - $.definitions.MethodRequest.properties.methodName suppress: - RequiredReadOnlyProperties ``` + +### Tag: package-preview-1.1.0 + +These settings apply only when `--tag=package-preview-1.1.0` is specified on the command line. + +```yaml $(tag) == 'package-preview-1.1.0' +input-file: + - VideoAnalyzer.Edge/preview/1.1.0/AzureVideoAnalyzer.json + - VideoAnalyzer.Edge/preview/1.1.0/AzureVideoAnalyzerSdkDefinitions.json +``` ### Tag: package-ava-edge-1-0-0-preview These settings apply only when `--tag=package-ava-edge-1-0-0-preview` is specified on the command line. @@ -81,6 +90,7 @@ csharp: override-client-name: AzureVideoAnalyzerEdgeClient use-datetimeoffset: true ``` + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/EdgeModules.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/EdgeModules.json new file mode 100644 index 000000000000..8120f2aff63c --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/EdgeModules.json @@ -0,0 +1,380 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Video Analyzer Resource Provider", + "description": "Azure Video Analyzer resource provider API definition.", + "version": "2021-11-01-preview" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "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" + } + } + }, + "definitions": { + "EdgeModuleProperties": { + "properties": { + "edgeModuleId": { + "type": "string", + "format": "uuid", + "description": "Internal ID generated for the instance of the Video Analyzer edge module.", + "readOnly": true, + "x-nullable": false + } + }, + "type": "object", + "description": "Application level properties for the edge module resource." + }, + "ListProvisioningTokenInput": { + "properties": { + "expirationDate": { + "type": "string", + "format": "date-time", + "description": "The desired expiration date of the registration token. The Azure Video Analyzer IoT edge module must be initialized and connected to the Internet prior to the token expiration date." + } + }, + "type": "object", + "required": [ + "expirationDate" + ], + "description": "The input parameters to generate registration token for the Azure Video Analyzer IoT edge module." + }, + "EdgeModuleProvisioningToken": { + "properties": { + "expirationDate": { + "type": "string", + "format": "date-time", + "description": "The expiration date of the registration token. The Azure Video Analyzer IoT edge module must be initialized and connected to the Internet prior to the token expiration date.", + "readOnly": true, + "x-nullable": false + }, + "token": { + "type": "string", + "description": "The token blob to be provided to the Azure Video Analyzer IoT edge module through the Azure IoT Edge module twin properties.", + "readOnly": true + } + }, + "type": "object", + "description": "Provisioning token properties. A provisioning token allows for a single instance of Azure Video analyzer IoT edge module to be initialized and authorized to the cloud account. The provisioning token itself is short lived and it is only used for the initial handshake between IoT edge module and the cloud. After the initial handshake, the IoT edge module will agree on a set of authentication keys which will be auto-rotated as long as the module is able to periodically connect to the cloud. A new provisioning token can be generated for the same IoT edge module in case the module state lost or reset." + }, + "EdgeModuleEntity": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EdgeModuleProperties", + "description": "The resource properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "description": "The representation of an edge module." + }, + "EdgeModuleEntityCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EdgeModuleEntity" + }, + "description": "A collection of EdgeModuleEntity items." + }, + "@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 EdgeModuleEntity items." + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/edgeModules": { + "get": { + "summary": "List all existing edge module resources.", + "description": "List all existing edge module resources, along with their JSON representations.", + "operationId": "EdgeModules_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EdgeModuleEntityCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$top", + "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." + } + ], + "x-ms-pageable": { + "nextLinkName": "@nextLink" + }, + "x-ms-examples": { + "Lists the registered edge modules.": { + "$ref": "examples/edge-modules-list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/edgeModules/{edgeModuleName}": { + "get": { + "summary": "Retrieves an existing edge module resource.", + "description": "Retrieves an existing edge module resource with the given name.", + "operationId": "EdgeModules_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EdgeModuleEntity" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "edgeModuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The Edge Module name." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Gets edge module registration.": { + "$ref": "examples/edge-modules-get.json" + } + } + }, + "put": { + "summary": "Creates a new edge module or updates an existing one.", + "description": "Creates a new edge module or updates an existing one. An edge module resource enables a single instance of an Azure Video Analyzer IoT edge module to interact with the Video Analyzer Account. This is used for authorization and also to make sure that the particular edge module instance only has access to the data it requires from the Azure Video Analyzer service. A new edge module resource should be created for every new instance of an Azure Video Analyzer edge module deployed to you Azure IoT edge environment. Edge module resources can be deleted if the specific module is not in use anymore.", + "operationId": "EdgeModules_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EdgeModuleEntity" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EdgeModuleEntity" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "edgeModuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The Edge Module name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EdgeModuleEntity" + }, + "description": "The request parameters" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Registers an edge module.": { + "$ref": "examples/edge-modules-create.json" + } + } + }, + "delete": { + "summary": "Deletes an existing edge module resource.", + "description": "Deletes an existing edge module resource. Deleting the edge module resource will prevent an Azure Video Analyzer IoT edge module which was previously initiated with the module provisioning token from communicating with the cloud.", + "operationId": "EdgeModules_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "edgeModuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The Edge Module name." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Deletes an edge module registration.": { + "$ref": "examples/edge-modules-delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/edgeModules/{edgeModuleName}/listProvisioningToken": { + "post": { + "summary": "Creates a new provisioning token.", + "description": "Creates a new provisioning token. A provisioning token allows for a single instance of Azure Video analyzer IoT edge module to be initialized and authorized to the cloud account. The provisioning token itself is short lived and it is only used for the initial handshake between IoT edge module and the cloud. After the initial handshake, the IoT edge module will agree on a set of authentication keys which will be auto-rotated as long as the module is able to periodically connect to the cloud. A new provisioning token can be generated for the same IoT edge module in case the module state lost or reset.", + "operationId": "EdgeModules_ListProvisioningToken", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EdgeModuleProvisioningToken" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "edgeModuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The Edge Module name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ListProvisioningTokenInput" + }, + "description": "The request parameters" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Generate the Provisioning token for an edge module registration.": { + "$ref": "examples/edge-modules-listProvisioningToken.json" + } + } + } + } + }, + "parameters": { + "AzureVideoAnalyzerAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure Video Analyzer account name.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/PipelineTopologies.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/PipelineTopologies.json new file mode 100644 index 000000000000..cf56c808ff63 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/PipelineTopologies.json @@ -0,0 +1,2474 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Video Analyzer Resource Provider", + "description": "Azure Video Analyzer resource provider API definition.", + "version": "2021-11-01-preview" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "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" + } + } + }, + "definitions": { + "Sku": { + "properties": { + "name": { + "type": "string", + "enum": [ + "Live_S1", + "Batch_S1" + ], + "x-ms-enum": { + "name": "SkuName", + "values": [ + { + "value": "Live_S1", + "description": "Represents the Live S1 SKU name. Using this SKU you can create live pipelines to capture, record, and stream live video from RTSP-capable cameras at bitrate settings from 0.5 Kbps to 3000 Kbps." + }, + { + "value": "Batch_S1", + "description": "Represents the Batch S1 SKU name. Using this SKU you can create pipeline jobs to process recorded content." + } + ], + "modelAsString": true + }, + "description": "The SKU name." + }, + "tier": { + "type": "string", + "enum": [ + "Standard" + ], + "x-ms-enum": { + "name": "SkuTier", + "values": [ + { + "value": "Standard", + "description": "Standard tier." + } + ], + "modelAsString": true + }, + "description": "The SKU tier.", + "readOnly": true, + "x-nullable": false + } + }, + "type": "object", + "required": [ + "name" + ], + "description": "The SKU details." + }, + "PipelineTopologyProperties": { + "properties": { + "description": { + "type": "string", + "description": "An optional description of the pipeline topology. It is recommended that the expected use of the topology to be described here." + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterDeclaration" + }, + "description": "List of the topology parameter declarations. Parameters declared here can be referenced throughout the topology nodes through the use of \"${PARAMETER_NAME}\" string pattern. Parameters can have optional default values and can later be defined in individual instances of the pipeline." + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/definitions/SourceNodeBase" + }, + "description": "List of the topology source nodes. Source nodes enable external data to be ingested by the pipeline." + }, + "processors": { + "type": "array", + "items": { + "$ref": "#/definitions/ProcessorNodeBase" + }, + "description": "List of the topology processor nodes. Processor nodes enable pipeline data to be analyzed, processed or transformed." + }, + "sinks": { + "type": "array", + "items": { + "$ref": "#/definitions/SinkNodeBase" + }, + "description": "List of the topology sink nodes. Sink nodes allow pipeline data to be stored or exported." + } + }, + "type": "object", + "required": [ + "sources", + "sinks" + ], + "description": "Describes the properties of a pipeline topology." + }, + "PipelineTopologyPropertiesUpdate": { + "properties": { + "description": { + "type": "string", + "description": "An optional description of the pipeline topology. It is recommended that the expected use of the topology to be described here." + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterDeclaration" + }, + "description": "List of the topology parameter declarations. Parameters declared here can be referenced throughout the topology nodes through the use of \"${PARAMETER_NAME}\" string pattern. Parameters can have optional default values and can later be defined in individual instances of the pipeline." + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/definitions/SourceNodeBase" + }, + "description": "List of the topology source nodes. Source nodes enable external data to be ingested by the pipeline." + }, + "processors": { + "type": "array", + "items": { + "$ref": "#/definitions/ProcessorNodeBase" + }, + "description": "List of the topology processor nodes. Processor nodes enable pipeline data to be analyzed, processed or transformed." + }, + "sinks": { + "type": "array", + "items": { + "$ref": "#/definitions/SinkNodeBase" + }, + "description": "List of the topology sink nodes. Sink nodes allow pipeline data to be stored or exported." + } + }, + "type": "object", + "description": "Describes the properties of a pipeline topology." + }, + "ParameterDeclaration": { + "properties": { + "name": { + "type": "string", + "description": "Name of the parameter." + }, + "type": { + "type": "string", + "enum": [ + "String", + "SecretString", + "Int", + "Double", + "Bool" + ], + "x-ms-enum": { + "name": "ParameterType", + "values": [ + { + "value": "String", + "description": "The parameter's value is a string." + }, + { + "value": "SecretString", + "description": "The parameter's value is a string that holds sensitive information." + }, + { + "value": "Int", + "description": "The parameter's value is a 32-bit signed integer." + }, + { + "value": "Double", + "description": "The parameter's value is a 64-bit double-precision floating point." + }, + { + "value": "Bool", + "description": "The parameter's value is a boolean value that is either true or false." + } + ], + "modelAsString": true + }, + "description": "Type of the parameter." + }, + "description": { + "type": "string", + "description": "Description of the parameter." + }, + "default": { + "type": "string", + "description": "The default value for the parameter to be used if the pipeline does not specify a value." + } + }, + "type": "object", + "required": [ + "name", + "type" + ], + "description": "Single topology parameter declaration. Declared parameters can and must be referenced throughout the topology and can optionally have default values to be used when they are not defined in the pipelines." + }, + "NodeBase": { + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "name": { + "type": "string", + "description": "Node name. Must be unique within the topology." + } + }, + "type": "object", + "required": [ + "@type", + "name" + ], + "description": "Base class for nodes." + }, + "SourceNodeBase": { + "discriminator": "@type", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.SourceNodeBase", + "allOf": [ + { + "$ref": "#/definitions/NodeBase" + } + ], + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@type" + ], + "description": "Base class for topology source nodes." + }, + "ProcessorNodeBase": { + "discriminator": "@type", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.ProcessorNodeBase", + "allOf": [ + { + "$ref": "#/definitions/NodeBase" + } + ], + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "inputs": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeInput" + }, + "description": "An array of upstream node references within the topology to be used as inputs for this node." + } + }, + "type": "object", + "required": [ + "@type", + "inputs" + ], + "description": "Base class for topology processor nodes." + }, + "SinkNodeBase": { + "discriminator": "@type", + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.SinkNodeBase", + "allOf": [ + { + "$ref": "#/definitions/NodeBase" + } + ], + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "inputs": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeInput" + }, + "description": "An array of upstream node references within the topology to be used as inputs for this node." + } + }, + "type": "object", + "required": [ + "@type", + "inputs" + ], + "description": "Base class for topology sink nodes." + }, + "NodeInput": { + "properties": { + "nodeName": { + "type": "string", + "description": "The name of the upstream node in the pipeline which output is used as input of the current node." + } + }, + "type": "object", + "required": [ + "nodeName" + ], + "description": "Describes an input signal to be used on a pipeline node." + }, + "RtspSource": { + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.RtspSource", + "allOf": [ + { + "$ref": "#/definitions/SourceNodeBase" + } + ], + "properties": { + "transport": { + "type": "string", + "enum": [ + "Http", + "Tcp" + ], + "x-ms-enum": { + "name": "RtspTransport", + "values": [ + { + "value": "Http", + "description": "HTTP transport. RTSP messages are exchanged over long running HTTP requests and RTP packets are interleaved within the HTTP channel." + }, + { + "value": "Tcp", + "description": "TCP transport. RTSP is used directly over TCP and RTP packets are interleaved within the TCP channel." + } + ], + "modelAsString": true + }, + "description": "Network transport utilized by the RTSP and RTP exchange: TCP or HTTP. When using TCP, the RTP packets are interleaved on the TCP RTSP connection. When using HTTP, the RTSP messages are exchanged through long lived HTTP connections, and the RTP packages are interleaved in the HTTP connections alongside the RTSP messages." + }, + "endpoint": { + "$ref": "#/definitions/EndpointBase", + "description": "RTSP endpoint information for Video Analyzer to connect to. This contains the required information for Video Analyzer to connect to RTSP cameras and/or generic RTSP servers." + } + }, + "type": "object", + "required": [ + "endpoint" + ], + "description": "RTSP source allows for media from an RTSP camera or generic RTSP server to be ingested into a pipeline." + }, + "EndpointBase": { + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "credentials": { + "$ref": "#/definitions/CredentialsBase", + "description": "Credentials to be presented to the endpoint." + }, + "url": { + "type": "string", + "description": "The endpoint URL for Video Analyzer to connect to." + }, + "tunnel": { + "$ref": "#/definitions/TunnelBase", + "description": "Describes the tunnel through which Video Analyzer can connect to the endpoint URL. This is an optional property, typically used when the endpoint is behind a firewall." + } + }, + "type": "object", + "required": [ + "@type", + "credentials", + "url" + ], + "description": "Base class for endpoints." + }, + "CredentialsBase": { + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@type" + ], + "description": "Base class for credential objects." + }, + "TunnelBase": { + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@type" + ], + "description": "Base class for tunnel objects." + }, + "UsernamePasswordCredentials": { + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.UsernamePasswordCredentials", + "allOf": [ + { + "$ref": "#/definitions/CredentialsBase" + } + ], + "properties": { + "username": { + "type": "string", + "description": "Username to be presented as part of the credentials." + }, + "password": { + "type": "string", + "description": "Password to be presented as part of the credentials. It is recommended that this value is parameterized as a secret string in order to prevent this value to be returned as part of the resource on API requests." + } + }, + "type": "object", + "required": [ + "username", + "password" + ], + "description": "Username and password credentials." + }, + "SecureIotDeviceRemoteTunnel": { + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.SecureIotDeviceRemoteTunnel", + "allOf": [ + { + "$ref": "#/definitions/TunnelBase" + } + ], + "properties": { + "iotHubName": { + "type": "string", + "description": "Name of the IoT Hub." + }, + "deviceId": { + "type": "string", + "description": "The IoT device id to use when establishing the remote tunnel. This string is case-sensitive." + } + }, + "type": "object", + "required": [ + "iotHubName", + "deviceId" + ], + "description": "A remote tunnel securely established using IoT Hub device information." + }, + "UnsecuredEndpoint": { + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.UnsecuredEndpoint", + "allOf": [ + { + "$ref": "#/definitions/EndpointBase" + } + ], + "properties": {}, + "type": "object", + "description": "Unsecured endpoint describes an endpoint that the pipeline can connect to over clear transport (no encryption in transit)." + }, + "TlsEndpoint": { + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.TlsEndpoint", + "allOf": [ + { + "$ref": "#/definitions/EndpointBase" + } + ], + "properties": { + "trustedCertificates": { + "$ref": "#/definitions/CertificateSource", + "description": "List of trusted certificate authorities when authenticating a TLS connection. A null list designates that Azure Video Analyzer's list of trusted authorities should be used." + }, + "validationOptions": { + "$ref": "#/definitions/TlsValidationOptions", + "description": "Validation options to use when authenticating a TLS connection. By default, strict validation is used." + } + }, + "type": "object", + "description": "TLS endpoint describes an endpoint that the pipeline can connect to over TLS transport (data is encrypted in transit)." + }, + "CertificateSource": { + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@type" + ], + "description": "Base class for certificate sources." + }, + "TlsValidationOptions": { + "properties": { + "ignoreHostname": { + "type": "string", + "description": "When set to 'true' causes the certificate subject name validation to be skipped. Default is 'false'." + }, + "ignoreSignature": { + "type": "string", + "description": "When set to 'true' causes the certificate chain trust validation to be skipped. Default is 'false'." + } + }, + "type": "object", + "description": "Options for controlling the validation of TLS endpoints." + }, + "PemCertificateList": { + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.PemCertificateList", + "allOf": [ + { + "$ref": "#/definitions/CertificateSource" + } + ], + "properties": { + "certificates": { + "type": "array", + "items": { + "type": "string" + }, + "description": "PEM formatted public certificates. One certificate per entry." + } + }, + "type": "object", + "required": [ + "certificates" + ], + "description": "A list of PEM formatted certificates." + }, + "VideoSource": { + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.VideoSource", + "allOf": [ + { + "$ref": "#/definitions/SourceNodeBase" + } + ], + "properties": { + "videoName": { + "type": "string", + "description": "Name of the Video Analyzer video resource to be used as the source." + }, + "timeSequences": { + "$ref": "#/definitions/TimeSequenceBase", + "description": "Describes a sequence of datetime ranges. The video source only picks up recorded media within these ranges." + } + }, + "type": "object", + "required": [ + "videoName", + "timeSequences" + ], + "description": "Video source allows for content from a Video Analyzer video resource to be ingested into a pipeline. Currently supported only with batch pipelines." + }, + "TimeSequenceBase": { + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@type" + ], + "description": "A sequence of datetime ranges as a string." + }, + "VideoSequenceAbsoluteTimeMarkers": { + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.VideoSequenceAbsoluteTimeMarkers", + "allOf": [ + { + "$ref": "#/definitions/TimeSequenceBase" + } + ], + "properties": { + "ranges": { + "type": "string", + "description": "The sequence of datetime ranges. Example: '[[\"2021-10-05T03:30:00Z\", \"2021-10-05T03:40:00Z\"]]'." + } + }, + "type": "object", + "required": [ + "ranges" + ], + "description": "A sequence of absolute datetime ranges as a string. The datetime values should follow IS08601, and the sum of the ranges should add up to 24 hours or less. Currently, there can be only one range specified in the sequence." + }, + "EncoderProcessor": { + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.EncoderProcessor", + "allOf": [ + { + "$ref": "#/definitions/ProcessorNodeBase" + } + ], + "properties": { + "preset": { + "$ref": "#/definitions/EncoderPresetBase", + "description": "The encoder preset, which defines the recipe or instructions on how the input content should be processed." + } + }, + "type": "object", + "required": [ + "preset" + ], + "description": "Encoder processor allows for encoding of the input content. For example, it can used to change the resolution from 4K to 1280x720." + }, + "EncoderPresetBase": { + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@type" + ], + "description": "Base type for all encoder presets, which define the recipe or instructions on how the input content should be processed." + }, + "EncoderSystemPreset": { + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.EncoderSystemPreset", + "allOf": [ + { + "$ref": "#/definitions/EncoderPresetBase" + } + ], + "properties": { + "name": { + "type": "string", + "enum": [ + "SingleLayer_540p_H264_AAC", + "SingleLayer_720p_H264_AAC", + "SingleLayer_1080p_H264_AAC", + "SingleLayer_2160p_H264_AAC" + ], + "x-ms-enum": { + "name": "EncoderSystemPresetType", + "values": [ + { + "value": "SingleLayer_540p_H264_AAC", + "description": "Produces an MP4 file where the video is encoded with H.264 codec at a picture height of 540 pixels, and at a maximum bitrate of 2000 Kbps. Encoded video has the same average frame rate as the input. The aspect ratio of the input is preserved. If the input content has audio, then it is encoded with AAC-LC codec at 96 Kbps" + }, + { + "value": "SingleLayer_720p_H264_AAC", + "description": "Produces an MP4 file where the video is encoded with H.264 codec at a picture height of 720 pixels, and at a maximum bitrate of 3500 Kbps. Encoded video has the same average frame rate as the input. The aspect ratio of the input is preserved. If the input content has audio, then it is encoded with AAC-LC codec at 96 Kbps" + }, + { + "value": "SingleLayer_1080p_H264_AAC", + "description": "Produces an MP4 file where the video is encoded with H.264 codec at a picture height of 1080 pixels, and at a maximum bitrate of 6000 Kbps. Encoded video has the same average frame rate as the input. The aspect ratio of the input is preserved. If the input content has audio, then it is encoded with AAC-LC codec at 128 Kbps" + }, + { + "value": "SingleLayer_2160p_H264_AAC", + "description": "Produces an MP4 file where the video is encoded with H.264 codec at a picture height of 2160 pixels, and at a maximum bitrate of 16000 Kbps. Encoded video has the same average frame rate as the input. The aspect ratio of the input is preserved. If the input content has audio, then it is encoded with AAC-LC codec at 128 Kbps" + } + ], + "modelAsString": true + }, + "description": "Name of the built-in encoding preset." + } + }, + "type": "object", + "required": [ + "name" + ], + "description": "Describes a built-in preset for encoding the input content using the encoder processor." + }, + "EncoderCustomPreset": { + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.EncoderCustomPreset", + "allOf": [ + { + "$ref": "#/definitions/EncoderPresetBase" + } + ], + "properties": { + "audioEncoder": { + "$ref": "#/definitions/AudioEncoderBase", + "description": "Describes a custom preset for encoding audio." + }, + "videoEncoder": { + "$ref": "#/definitions/VideoEncoderBase", + "description": "Describes a custom preset for encoding video." + } + }, + "type": "object", + "description": "Describes a custom preset for encoding the input content using the encoder processor." + }, + "AudioEncoderBase": { + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "bitrateKbps": { + "type": "string", + "description": "Bitrate, in kilobits per second or Kbps, at which audio should be encoded (2-channel stereo audio at a sampling rate of 48 kHz). Allowed values are 96, 112, 128, 160, 192, 224, and 256. If omitted, the bitrate of the input audio is used." + } + }, + "type": "object", + "required": [ + "@type" + ], + "description": "Base type for all audio encoder presets, which define the recipe or instructions on how audio should be processed." + }, + "VideoEncoderBase": { + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "bitrateKbps": { + "type": "string", + "description": "The maximum bitrate, in kilobits per second or Kbps, at which video should be encoded. If omitted, encoder sets it automatically to try and match the quality of the input video." + }, + "frameRate": { + "type": "string", + "description": "The frame rate (in frames per second) of the encoded video. The value must be greater than zero, and less than or equal to 300. If omitted, the encoder uses the average frame rate of the input video." + }, + "scale": { + "$ref": "#/definitions/VideoScale", + "description": "Describes the resolution of the encoded video. If omitted, the encoder uses the resolution of the input video." + } + }, + "type": "object", + "required": [ + "@type" + ], + "description": "Base type for all video encoding presets, which define the recipe or instructions on how the input video should be processed." + }, + "AudioEncoderAac": { + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.AudioEncoderAac", + "allOf": [ + { + "$ref": "#/definitions/AudioEncoderBase" + } + ], + "properties": {}, + "type": "object", + "description": "A custom preset for encoding audio with the AAC codec." + }, + "VideoScale": { + "properties": { + "height": { + "type": "string", + "description": "The desired output video height." + }, + "width": { + "type": "string", + "description": "The desired output video width." + }, + "mode": { + "type": "string", + "enum": [ + "Pad", + "PreserveAspectRatio", + "Stretch" + ], + "x-ms-enum": { + "name": "VideoScaleMode", + "values": [ + { + "value": "Pad", + "description": "Pads the video with black horizontal stripes (letterbox) or black vertical stripes (pillar-box) so the video is resized to the specified dimensions while not altering the content aspect ratio." + }, + { + "value": "PreserveAspectRatio", + "description": "Preserves the same aspect ratio as the input video. If only one video dimension is provided, the second dimension is calculated based on the input video aspect ratio. When 2 dimensions are provided, the video is resized to fit the most constraining dimension, considering the input video size and aspect ratio." + }, + { + "value": "Stretch", + "description": "Stretches the original video so it resized to the specified dimensions." + } + ], + "modelAsString": true + }, + "description": "Describes the video scaling mode to be applied. Default mode is 'Pad'. If the mode is 'Pad' or 'Stretch' then both width and height must be specified. Else if the mode is 'PreserveAspectRatio' then only one of width or height need be provided." + } + }, + "type": "object", + "description": "The video scaling information." + }, + "VideoEncoderH264": { + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.VideoEncoderH264", + "allOf": [ + { + "$ref": "#/definitions/VideoEncoderBase" + } + ], + "properties": {}, + "type": "object", + "description": "A custom preset for encoding video with the H.264 (AVC) codec." + }, + "VideoSink": { + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.VideoSink", + "allOf": [ + { + "$ref": "#/definitions/SinkNodeBase" + } + ], + "properties": { + "videoName": { + "type": "string", + "description": "Name of a new or existing video resource used to capture and publish content. Note: if downstream of RTSP source, and if disableArchive is set to true, then no content is archived." + }, + "videoCreationProperties": { + "$ref": "#/definitions/VideoCreationProperties", + "description": "Optional video properties to be used in case a new video resource needs to be created on the service." + }, + "videoPublishingOptions": { + "$ref": "#/definitions/VideoPublishingOptions", + "description": "Options to change how the video sink publishes content via the video resource. This property is only allowed for topologies where \"kind\" is set to \"live\"." + } + }, + "type": "object", + "required": [ + "videoName" + ], + "description": "Video sink in a live topology allows for video and audio to be captured, optionally archived, and published via a video resource. If archiving is enabled, this results in a video of type 'archive'. If used in a batch topology, this allows for video and audio to be stored as a file, and published via a video resource of type 'file'" + }, + "VideoCreationProperties": { + "properties": { + "title": { + "type": "string", + "description": "Optional title provided by the user. Value can be up to 256 characters long." + }, + "description": { + "type": "string", + "description": "Optional description provided by the user. Value can be up to 2048 characters long." + }, + "segmentLength": { + "type": "string", + "description": "Segment length indicates the length of individual content files (segments) which are persisted to storage. Smaller segments provide lower archive playback latency but generate larger volume of storage transactions. Larger segments reduce the amount of storage transactions while increasing the archive playback latency. Value must be specified in ISO8601 duration format (i.e. \"PT30S\" equals 30 seconds) and can vary between 30 seconds to 5 minutes, in 30 seconds increments. Changing this value after the initial call to create the video resource can lead to errors when uploading content to the archive. Default value is 30 seconds. This property is only allowed for topologies where \"kind\" is set to \"live\"." + }, + "retentionPeriod": { + "type": "string", + "description": "Video retention period indicates how long the video is kept in storage. Value must be specified in ISO8601 duration format (i.e. \"P1D\" equals 1 day) and can vary between 1 day to 10 years, in 1 day increments. When absent (null), all video content is retained indefinitely. This property is only allowed for topologies where \"kind\" is set to \"live\"." + } + }, + "type": "object", + "description": "Optional properties to be used in case a new video resource needs to be created on the service. These will not take effect if the video already exists." + }, + "VideoPublishingOptions": { + "properties": { + "disableArchive": { + "type": "string", + "description": "When set to 'true' content will not be archived or recorded. This is used, for example, when the topology is used only for low latency video streaming. Default is 'false'. If set to 'true', then \"disableRtspPublishing\" must be set to 'false'." + }, + "disableRtspPublishing": { + "type": "string", + "description": "When set to 'true' the RTSP playback URL will not be published, disabling low latency streaming. This is used, for example, when the topology is used only for archiving content. Default is 'false'. If set to 'true', then \"disableArchive\" must be set to 'false'." + } + }, + "type": "object", + "description": "Optional flags used to change how video is published. These are only allowed for topologies where \"kind\" is set to \"live\"." + }, + "ParameterDefinition": { + "properties": { + "name": { + "type": "string", + "description": "Name of the parameter declared in the pipeline topology." + }, + "value": { + "type": "string", + "description": "Parameter value to be applied on this specific pipeline." + } + }, + "type": "object", + "required": [ + "name" + ], + "description": "Defines the parameter value of an specific pipeline topology parameter. See pipeline topology parameters for more information." + }, + "PipelineTopology": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PipelineTopologyProperties", + "description": "The resource properties.", + "x-ms-client-flatten": true + }, + "kind": { + "type": "string", + "enum": [ + "Live", + "Batch" + ], + "x-ms-enum": { + "name": "Kind", + "values": [ + { + "value": "Live", + "description": "Live pipeline topology resource." + }, + { + "value": "Batch", + "description": "Batch pipeline topology resource." + } + ], + "modelAsString": true + }, + "description": "Topology kind." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Describes the properties of a SKU." + } + }, + "type": "object", + "required": [ + "kind", + "sku" + ], + "description": "Pipeline topology describes the processing steps to be applied when processing content for a particular outcome. The topology should be defined according to the scenario to be achieved and can be reused across many pipeline instances which share the same processing characteristics. For instance, a pipeline topology which captures content from a RTSP camera and archives the content can be reused across many different cameras, as long as the same processing is to be applied across all the cameras. Individual instance properties can be defined through the use of user-defined parameters, which allow for a topology to be parameterized. This allows individual pipelines refer to different values, such as individual cameras' RTSP endpoints and credentials. Overall a topology is composed of the following:\r\n\r\n - Parameters: list of user defined parameters that can be references across the topology nodes.\r\n - Sources: list of one or more data sources nodes such as an RTSP source which allows for content to be ingested from cameras.\r\n - Processors: list of nodes which perform data analysis or transformations.\r\n - Sinks: list of one or more data sinks which allow for data to be stored or exported to other destinations." + }, + "PipelineTopologyUpdate": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PipelineTopologyPropertiesUpdate", + "description": "The resource properties.", + "x-ms-client-flatten": true + }, + "kind": { + "type": "string", + "enum": [ + "Live", + "Batch" + ], + "x-ms-enum": { + "name": "Kind", + "values": [ + { + "value": "Live", + "description": "Live pipeline topology resource." + }, + { + "value": "Batch", + "description": "Batch pipeline topology resource." + } + ], + "modelAsString": true + }, + "description": "Topology kind." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Describes the properties of a SKU." + } + }, + "type": "object", + "description": "Pipeline topology describes the processing steps to be applied when processing content for a particular outcome. The topology should be defined according to the scenario to be achieved and can be reused across many pipeline instances which share the same processing characteristics. For instance, a pipeline topology which captures content from a RTSP camera and archives the content can be reused across many different cameras, as long as the same processing is to be applied across all the cameras. Individual instance properties can be defined through the use of user-defined parameters, which allow for a topology to be parameterized. This allows individual pipelines refer to different values, such as individual cameras' RTSP endpoints and credentials. Overall a topology is composed of the following:\r\n\r\n - Parameters: list of user defined parameters that can be references across the topology nodes.\r\n - Sources: list of one or more data sources nodes such as an RTSP source which allows for content to be ingested from cameras.\r\n - Processors: list of nodes which perform data analysis or transformations.\r\n - Sinks: list of one or more data sinks which allow for data to be stored or exported to other destinations." + }, + "LivePipelineProperties": { + "properties": { + "topologyName": { + "type": "string", + "description": "The reference to an existing pipeline topology defined for real-time content processing. When activated, this live pipeline will process content according to the pipeline topology definition." + }, + "description": { + "type": "string", + "description": "An optional description for the pipeline." + }, + "bitrateKbps": { + "type": "integer", + "format": "int32", + "description": "Maximum bitrate capacity in Kbps reserved for the live pipeline. The allowed range is from 500 to 3000 Kbps in increments of 100 Kbps. If the RTSP camera exceeds this capacity, then the service will disconnect temporarily from the camera. It will retry to re-establish connection (with exponential backoff), checking to see if the camera bitrate is now below the reserved capacity. Doing so will ensure that one 'noisy neighbor' does not affect other live pipelines in your account." + }, + "state": { + "type": "string", + "enum": [ + "Inactive", + "Activating", + "Active", + "Deactivating" + ], + "x-ms-enum": { + "name": "LivePipelineState", + "values": [ + { + "value": "Inactive", + "description": "The live pipeline is idle and not processing media." + }, + { + "value": "Activating", + "description": "The live pipeline is transitioning into the active state." + }, + { + "value": "Active", + "description": "The live pipeline is active and able to process media. If your data source is not available, for instance, if your RTSP camera is powered off or unreachable, the pipeline will still be active and periodically retrying the connection. Your Azure subscription will be billed for the duration in which the live pipeline is in the active state." + }, + { + "value": "Deactivating", + "description": "The live pipeline is transitioning into the inactive state." + } + ], + "modelAsString": true + }, + "description": "Current state of the pipeline (read-only).", + "readOnly": true, + "x-nullable": false + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterDefinition" + }, + "description": "List of the instance level parameter values for the user-defined topology parameters. A pipeline can only define or override parameters values for parameters which have been declared in the referenced topology. Topology parameters without a default value must be defined. Topology parameters with a default value can be optionally be overridden." + } + }, + "type": "object", + "required": [ + "topologyName", + "bitrateKbps" + ], + "description": "Live pipeline properties." + }, + "LivePipelinePropertiesUpdate": { + "properties": { + "topologyName": { + "type": "string", + "description": "The reference to an existing pipeline topology defined for real-time content processing. When activated, this live pipeline will process content according to the pipeline topology definition." + }, + "description": { + "type": "string", + "description": "An optional description for the pipeline." + }, + "bitrateKbps": { + "type": "integer", + "format": "int32", + "description": "Maximum bitrate capacity in Kbps reserved for the live pipeline. The allowed range is from 500 to 3000 Kbps in increments of 100 Kbps. If the RTSP camera exceeds this capacity, then the service will disconnect temporarily from the camera. It will retry to re-establish connection (with exponential backoff), checking to see if the camera bitrate is now below the reserved capacity. Doing so will ensure that one 'noisy neighbor' does not affect other live pipelines in your account." + }, + "state": { + "type": "string", + "enum": [ + "Inactive", + "Activating", + "Active", + "Deactivating" + ], + "x-ms-enum": { + "name": "LivePipelineState", + "values": [ + { + "value": "Inactive", + "description": "The live pipeline is idle and not processing media." + }, + { + "value": "Activating", + "description": "The live pipeline is transitioning into the active state." + }, + { + "value": "Active", + "description": "The live pipeline is active and able to process media. If your data source is not available, for instance, if your RTSP camera is powered off or unreachable, the pipeline will still be active and periodically retrying the connection. Your Azure subscription will be billed for the duration in which the live pipeline is in the active state." + }, + { + "value": "Deactivating", + "description": "The live pipeline is transitioning into the inactive state." + } + ], + "modelAsString": true + }, + "description": "Current state of the pipeline (read-only).", + "readOnly": true, + "x-nullable": false + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterDefinition" + }, + "description": "List of the instance level parameter values for the user-defined topology parameters. A pipeline can only define or override parameters values for parameters which have been declared in the referenced topology. Topology parameters without a default value must be defined. Topology parameters with a default value can be optionally be overridden." + } + }, + "type": "object", + "description": "Live pipeline properties." + }, + "LivePipeline": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LivePipelineProperties", + "description": "The resource properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "description": "Live pipeline represents a unique instance of a live topology, used for real-time ingestion, archiving and publishing of content for a unique RTSP camera." + }, + "LivePipelineUpdate": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LivePipelinePropertiesUpdate", + "description": "The resource properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "description": "Live pipeline represents a unique instance of a live topology, used for real-time ingestion, archiving and publishing of content for a unique RTSP camera." + }, + "PipelineJobProperties": { + "properties": { + "topologyName": { + "type": "string", + "description": "Reference to an existing pipeline topology. When activated, this pipeline job will process content according to the pipeline topology definition." + }, + "description": { + "type": "string", + "description": "An optional description for the pipeline." + }, + "state": { + "type": "string", + "enum": [ + "Processing", + "Canceled", + "Completed", + "Failed" + ], + "x-ms-enum": { + "name": "PipelineJobState", + "values": [ + { + "value": "Processing", + "description": "Pipeline job is processing." + }, + { + "value": "Canceled", + "description": "Pipeline job is canceled." + }, + { + "value": "Completed", + "description": "Pipeline job completed." + }, + { + "value": "Failed", + "description": "Pipeline job failed." + } + ], + "modelAsString": true + }, + "description": "Current state of the pipeline (read-only).", + "readOnly": true, + "x-nullable": false + }, + "expiration": { + "type": "string", + "format": "date-time", + "description": "The date-time by when this pipeline job will be automatically deleted from your account.", + "readOnly": true, + "x-nullable": false + }, + "error": { + "$ref": "#/definitions/PipelineJobError", + "description": "Details about the error, in case the pipeline job fails.", + "readOnly": true + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterDefinition" + }, + "description": "List of the instance level parameter values for the user-defined topology parameters. A pipeline can only define or override parameters values for parameters which have been declared in the referenced topology. Topology parameters without a default value must be defined. Topology parameters with a default value can be optionally be overridden." + } + }, + "type": "object", + "required": [ + "topologyName" + ], + "description": "Pipeline job properties." + }, + "PipelineJobPropertiesUpdate": { + "properties": { + "topologyName": { + "type": "string", + "description": "Reference to an existing pipeline topology. When activated, this pipeline job will process content according to the pipeline topology definition." + }, + "description": { + "type": "string", + "description": "An optional description for the pipeline." + }, + "state": { + "type": "string", + "enum": [ + "Processing", + "Canceled", + "Completed", + "Failed" + ], + "x-ms-enum": { + "name": "PipelineJobState", + "values": [ + { + "value": "Processing", + "description": "Pipeline job is processing." + }, + { + "value": "Canceled", + "description": "Pipeline job is canceled." + }, + { + "value": "Completed", + "description": "Pipeline job completed." + }, + { + "value": "Failed", + "description": "Pipeline job failed." + } + ], + "modelAsString": true + }, + "description": "Current state of the pipeline (read-only).", + "readOnly": true, + "x-nullable": false + }, + "expiration": { + "type": "string", + "format": "date-time", + "description": "The date-time by when this pipeline job will be automatically deleted from your account.", + "readOnly": true, + "x-nullable": false + }, + "error": { + "$ref": "#/definitions/PipelineJobError", + "description": "Details about the error, in case the pipeline job fails.", + "readOnly": true + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterDefinition" + }, + "description": "List of the instance level parameter values for the user-defined topology parameters. A pipeline can only define or override parameters values for parameters which have been declared in the referenced topology. Topology parameters without a default value must be defined. Topology parameters with a default value can be optionally be overridden." + } + }, + "type": "object", + "description": "Pipeline job properties." + }, + "PipelineJobError": { + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "type": "object", + "description": "Details about the error for a failed pipeline job." + }, + "PipelineJob": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PipelineJobProperties", + "description": "The resource properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "description": "Pipeline job represents a unique instance of a batch topology, used for offline processing of selected portions of archived content." + }, + "PipelineJobUpdate": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PipelineJobPropertiesUpdate", + "description": "The resource properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "description": "Pipeline job represents a unique instance of a batch topology, used for offline processing of selected portions of archived content." + }, + "LivePipelineOperationStatus": { + "properties": { + "name": { + "type": "string", + "description": "The name of the live pipeline operation.", + "readOnly": true + }, + "status": { + "type": "string", + "description": "The status of the live pipeline operation.", + "readOnly": true + }, + "error": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorDetail", + "description": "The error details for the live pipeline operation.", + "readOnly": true + } + }, + "type": "object", + "description": "Used for tracking the status of an operation on the live pipeline." + }, + "PipelineJobOperationStatus": { + "properties": { + "name": { + "type": "string", + "description": "The name of the pipeline job operation.", + "readOnly": true + }, + "status": { + "type": "string", + "description": "The status of the pipeline job operation.", + "readOnly": true + }, + "error": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorDetail", + "description": "The error details for the pipeline job operation.", + "readOnly": true + } + }, + "type": "object", + "description": "Used for tracking the status of an operation on the pipeline job." + }, + "PipelineTopologyCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PipelineTopology" + }, + "description": "A collection of PipelineTopology items." + }, + "@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 PipelineTopology items." + }, + "LivePipelineCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LivePipeline" + }, + "description": "A collection of LivePipeline items." + }, + "@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 LivePipeline items." + }, + "PipelineJobCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PipelineJob" + }, + "description": "A collection of PipelineJob items." + }, + "@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 PipelineJob items." + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/pipelineTopologies": { + "get": { + "summary": "Retrieves a list of pipeline topologies.", + "description": "Retrieves a list of pipeline topologies that have been added to the account, if any, along with their JSON representation.", + "operationId": "PipelineTopologies_List", + "responses": { + "200": { + "description": "Pipeline topologies were successfully retrieved.", + "schema": { + "$ref": "#/definitions/PipelineTopologyCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$top", + "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." + } + ], + "x-ms-pageable": { + "nextLinkName": "@nextLink" + }, + "x-ms-examples": { + "List all pipeline topologies": { + "$ref": "examples/pipeline-topology-list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/pipelineTopologies/{pipelineTopologyName}": { + "get": { + "summary": "Retrieves a specific pipeline topology by name.", + "description": "Retrieves a specific pipeline topology by name. If a topology with that name has been previously created, the call will return the JSON representation of that topology.", + "operationId": "PipelineTopologies_Get", + "responses": { + "200": { + "description": "Pipeline topology was retrieved successfully.", + "schema": { + "$ref": "#/definitions/PipelineTopology" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "pipelineTopologyName", + "in": "path", + "required": true, + "type": "string", + "description": "Pipeline topology unique identifier." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Get a pipeline topology by name": { + "$ref": "examples/pipeline-topology-get-by-name.json" + } + } + }, + "put": { + "summary": "Creates or updates a pipeline topology.", + "description": "Creates a new pipeline topology or updates an existing one, with the given name. A pipeline topology describes the processing steps to be applied when processing content for a particular outcome. The topology should be defined according to the scenario to be achieved and can be reused across many pipeline instances which share the same processing characteristics.", + "operationId": "PipelineTopologies_CreateOrUpdate", + "responses": { + "200": { + "description": "The existing pipeline topology was updated.", + "schema": { + "$ref": "#/definitions/PipelineTopology" + } + }, + "201": { + "description": "A new pipeline topology was created.", + "schema": { + "$ref": "#/definitions/PipelineTopology" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "pipelineTopologyName", + "in": "path", + "required": true, + "type": "string", + "description": "Pipeline topology unique identifier." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PipelineTopology" + }, + "description": "The request parameters" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Create or update a pipeline topology with an Rtsp source and video sink.": { + "$ref": "examples/pipeline-topology-create.json" + } + } + }, + "delete": { + "summary": "Deletes a pipeline topology.", + "description": "Deletes a pipeline topology with the given name. This method should be called after all instances of the topology have been stopped and deleted.", + "operationId": "PipelineTopologies_Delete", + "responses": { + "200": { + "description": "The pipeline topology was deleted successfully." + }, + "204": { + "description": "The pipeline topology was not found." + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "pipelineTopologyName", + "in": "path", + "required": true, + "type": "string", + "description": "Pipeline topology unique identifier." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Delete a pipeline topology": { + "$ref": "examples/pipeline-topology-delete.json" + } + } + }, + "patch": { + "summary": "Updates an existing pipeline topology.", + "description": "Updates an existing pipeline topology with the given name. If the associated live pipelines or pipeline jobs are in active or processing state, respectively, then only the description can be updated. Else, the properties that can be updated include: description, parameter declarations, sources, processors, and sinks.", + "operationId": "PipelineTopologies_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PipelineTopology" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "pipelineTopologyName", + "in": "path", + "required": true, + "type": "string", + "description": "Pipeline topology unique identifier." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PipelineTopologyUpdate" + }, + "description": "The request parameters" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Update pipeline topology.": { + "$ref": "examples/pipeline-topology-patch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/livePipelines": { + "get": { + "summary": "Retrieves a list of live pipelines.", + "description": "Retrieves a list of live pipelines that have been created, along with their JSON representations.", + "operationId": "LivePipelines_List", + "responses": { + "200": { + "description": "List of live pipelines that were successfully retrieved.", + "schema": { + "$ref": "#/definitions/LivePipelineCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$top", + "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." + } + ], + "x-ms-pageable": { + "nextLinkName": "@nextLink" + }, + "x-ms-examples": { + "List live pipelines": { + "$ref": "examples/live-pipeline-list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/livePipelines/{livePipelineName}": { + "get": { + "summary": "Retrieves a specific live pipeline by name.", + "description": "Retrieves a specific live pipeline by name. If a live pipeline with that name has been previously created, the call will return the JSON representation of that instance.", + "operationId": "LivePipelines_Get", + "responses": { + "200": { + "description": "The live pipeline was retrieved successfully.", + "schema": { + "$ref": "#/definitions/LivePipeline" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "livePipelineName", + "in": "path", + "required": true, + "type": "string", + "description": "Live pipeline unique identifier." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Retrieves a specific live pipeline by name": { + "$ref": "examples/live-pipeline-get-by-name.json" + } + } + }, + "put": { + "summary": "Creates or updates a live pipeline.", + "description": "Creates a new live pipeline or updates an existing one, with the given name.", + "operationId": "LivePipelines_CreateOrUpdate", + "responses": { + "200": { + "description": "The existing live pipeline was updated.", + "schema": { + "$ref": "#/definitions/LivePipeline" + } + }, + "201": { + "description": "A new live pipeline was created.", + "schema": { + "$ref": "#/definitions/LivePipeline" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "livePipelineName", + "in": "path", + "required": true, + "type": "string", + "description": "Live pipeline unique identifier." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LivePipeline" + }, + "description": "The request parameters" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Create or update a live pipeline": { + "$ref": "examples/live-pipeline-create.json" + } + } + }, + "delete": { + "summary": "Deletes a live pipeline.", + "description": "Deletes a live pipeline with the given name.", + "operationId": "LivePipelines_Delete", + "responses": { + "200": { + "description": "The live pipeline was deleted successfully." + }, + "204": { + "description": "The live pipeline was not found." + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "livePipelineName", + "in": "path", + "required": true, + "type": "string", + "description": "Live pipeline unique identifier." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Delete a live pipeline": { + "$ref": "examples/live-pipeline-delete.json" + } + } + }, + "patch": { + "summary": "Updates an existing live pipeline.", + "description": "Updates an existing live pipeline with the given name. Properties that can be updated include: description, bitrateKbps, and parameter definitions. Only the description can be updated while the live pipeline is active.", + "operationId": "LivePipelines_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LivePipeline" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "livePipelineName", + "in": "path", + "required": true, + "type": "string", + "description": "Live pipeline unique identifier." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LivePipelineUpdate" + }, + "description": "The request parameters" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Updates a live pipeline.": { + "$ref": "examples/live-pipeline-patch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/livePipelines/{livePipelineName}/activate": { + "post": { + "summary": "Activates a live pipeline.", + "description": "Activates a live pipeline with the given name.", + "operationId": "LivePipelines_Activate", + "responses": { + "202": { + "description": "Request to activate a live pipeline was accepted, and is being processed." + }, + "200": { + "description": "The live pipeline was activated successfully." + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "livePipelineName", + "in": "path", + "required": true, + "type": "string", + "description": "Live pipeline unique identifier." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Activate live pipeline": { + "$ref": "examples/live-pipeline-activate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/livePipelines/{livePipelineName}/deactivate": { + "post": { + "summary": "Deactivates a live pipeline.", + "description": "Deactivates a live pipeline with the given name.", + "operationId": "LivePipelines_Deactivate", + "responses": { + "202": { + "description": "Request to deactivate a live pipeline was accepted, and is being processed." + }, + "200": { + "description": "The live pipeline was deactivated successfully." + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "livePipelineName", + "in": "path", + "required": true, + "type": "string", + "description": "Live pipeline unique identifier." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deactivate Live pipeline": { + "$ref": "examples/live-pipeline-deactivate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/pipelineJobs": { + "get": { + "summary": "Retrieves a list of pipeline jobs.", + "description": "Retrieves a list of all live pipelines that have been created, along with their JSON representations.", + "operationId": "PipelineJobs_List", + "responses": { + "200": { + "description": "List of pipeline jobs that were successfully retrieved.", + "schema": { + "$ref": "#/definitions/PipelineJobCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$top", + "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." + } + ], + "x-ms-pageable": { + "nextLinkName": "@nextLink" + }, + "x-ms-examples": { + "List all pipeline jobs": { + "$ref": "examples/pipeline-job-list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/pipelineJobs/{pipelineJobName}": { + "get": { + "summary": "Gets a specific pipeline job by name.", + "description": "Retrieves a specific pipeline job by name. If a pipeline job with that name has been previously created, the call will return the JSON representation of that instance.", + "operationId": "PipelineJobs_Get", + "responses": { + "200": { + "description": "Pipeline job was retrieved successfully.", + "schema": { + "$ref": "#/definitions/PipelineJob" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "pipelineJobName", + "in": "path", + "required": true, + "type": "string", + "description": "The pipeline job name." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Get a pipeline job by name": { + "$ref": "examples/pipeline-job-get-by-name.json" + } + } + }, + "put": { + "summary": "Creates or updates a pipeline job.", + "description": "Creates a new pipeline job or updates an existing one, with the given name.", + "operationId": "PipelineJobs_CreateOrUpdate", + "responses": { + "200": { + "description": "The existing pipeline job was updated.", + "schema": { + "$ref": "#/definitions/PipelineJob" + } + }, + "201": { + "description": "A new pipeline job was created.", + "schema": { + "$ref": "#/definitions/PipelineJob" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "pipelineJobName", + "in": "path", + "required": true, + "type": "string", + "description": "The pipeline job name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PipelineJob" + }, + "description": "The request parameters" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Create or update a pipeline job": { + "$ref": "examples/pipeline-job-create.json" + } + } + }, + "delete": { + "summary": "Deletes a pipeline job.", + "description": "Deletes a pipeline job with the given name.", + "operationId": "PipelineJobs_Delete", + "responses": { + "200": { + "description": "The pipeline job was deleted successfully." + }, + "204": { + "description": "The pipeline job was not found." + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "pipelineJobName", + "in": "path", + "required": true, + "type": "string", + "description": "The pipeline job name." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Deletes a pipeline job": { + "$ref": "examples/pipeline-job-delete.json" + } + } + }, + "patch": { + "summary": "Updates an existing pipeline job.", + "description": "Updates an existing pipeline job with the given name. Properties that can be updated include: description.", + "operationId": "PipelineJobs_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PipelineJob" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "pipelineJobName", + "in": "path", + "required": true, + "type": "string", + "description": "The pipeline job name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PipelineJobUpdate" + }, + "description": "The request parameters" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Updates a pipeline job": { + "$ref": "examples/pipeline-job-patch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/pipelineJobs/{pipelineJobName}/cancel": { + "post": { + "summary": "Cancels a pipeline job.", + "description": "Cancels a pipeline job with the given name.", + "operationId": "PipelineJobs_Cancel", + "responses": { + "202": { + "description": "Request to cancel the pipeline job was accepted, and is being processed." + }, + "200": { + "description": "The pipeline job was cancelled successfully." + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "pipelineJobName", + "in": "path", + "required": true, + "type": "string", + "description": "The pipeline job name." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Cancels a pipeline job": { + "$ref": "examples/pipeline-job-cancel.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/livePipelines/{livePipelineName}/operationStatuses/{operationId}": { + "get": { + "summary": "Get the operation status", + "description": "Get the operation status of a live pipeline.", + "operationId": "LivePipelineOperationStatuses_Get", + "responses": { + "200": { + "description": "Live pipeline operation status was retrieved successfully.", + "schema": { + "$ref": "#/definitions/LivePipelineOperationStatus" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "livePipelineName", + "in": "path", + "required": true, + "type": "string", + "description": "Live pipeline unique identifier." + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The operation ID." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Get the live pipeline operation status.": { + "$ref": "examples/live-pipeline-operation-status-get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/pipelineJobs/{pipelineJobName}/operationStatuses/{operationId}": { + "get": { + "summary": "Get the operation statuses.", + "description": "Get the operation status of a pipeline job with the given operationId.", + "operationId": "PipelineJobOperationStatuses_Get", + "responses": { + "200": { + "description": "The pipeline job operation status was retrieved successfully.", + "schema": { + "$ref": "#/definitions/PipelineJobOperationStatus" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "pipelineJobName", + "in": "path", + "required": true, + "type": "string", + "description": "The pipeline job name." + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The operation ID." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Get the pipeline job operation status.": { + "$ref": "examples/pipeline-job-operation-status-get.json" + } + } + } + } + }, + "parameters": { + "AzureVideoAnalyzerAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure Video Analyzer account name.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/VideoAnalyzers.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/VideoAnalyzers.json new file mode 100644 index 000000000000..17d90f3b53e6 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/VideoAnalyzers.json @@ -0,0 +1,1820 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Video Analyzer", + "description": "Azure Video Analyzer resource provider API definition.", + "version": "2021-11-01-preview" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "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" + } + } + }, + "definitions": { + "OperationDisplay": { + "properties": { + "provider": { + "type": "string", + "description": "The service provider." + }, + "resource": { + "type": "string", + "description": "Resource on which the operation is performed." + }, + "operation": { + "type": "string", + "description": "The operation type." + }, + "description": { + "type": "string", + "description": "The operation description." + } + }, + "type": "object", + "description": "Operation details." + }, + "MetricDimension": { + "properties": { + "name": { + "type": "string", + "description": "The metric dimension name.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "The display name for the dimension.", + "readOnly": true + }, + "toBeExportedForShoebox": { + "type": "boolean", + "description": "Whether to export metric to shoebox.", + "readOnly": true, + "x-nullable": false + } + }, + "type": "object", + "description": "A metric dimension." + }, + "MetricSpecification": { + "properties": { + "name": { + "type": "string", + "description": "The metric name.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "The metric display name.", + "readOnly": true + }, + "displayDescription": { + "type": "string", + "description": "The metric display description.", + "readOnly": true + }, + "unit": { + "type": "string", + "enum": [ + "Bytes", + "Count", + "Milliseconds" + ], + "x-ms-enum": { + "name": "MetricUnit", + "values": [ + { + "value": "Bytes", + "description": "The number of bytes." + }, + { + "value": "Count", + "description": "The count." + }, + { + "value": "Milliseconds", + "description": "The number of milliseconds." + } + ], + "modelAsString": true + }, + "description": "The metric unit", + "readOnly": true, + "x-nullable": false + }, + "aggregationType": { + "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 aggregation type", + "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": { + "$ref": "#/definitions/MetricDimension" + }, + "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": "Metric properties." + }, + "ServiceSpecification": { + "properties": { + "logSpecifications": { + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + }, + "description": "List of log specifications.", + "readOnly": true + }, + "metricSpecifications": { + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + }, + "description": "List of metric specifications.", + "readOnly": true + } + }, + "type": "object", + "description": "The service metric specifications." + }, + "LogSpecification": { + "properties": { + "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": "A diagnostic log emitted by service." + }, + "Operation": { + "properties": { + "name": { + "type": "string", + "description": "The operation name." + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "The operation display name." + }, + "origin": { + "type": "string", + "description": "Origin of the operation." + }, + "properties": { + "$ref": "#/definitions/Properties", + "description": "Operation properties format." + }, + "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", + "required": [ + "name" + ], + "description": "An operation." + }, + "StorageAccount": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the storage account resource. Video Analyzer relies on tables, queues, and blobs. The primary storage account must be a Standard Storage account (either Microsoft.ClassicStorage or Microsoft.Storage)." + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "A managed identity that Video Analyzer will use to access the storage account." + }, + "status": { + "type": "string", + "description": "The current status of the storage account mapping.", + "readOnly": true + } + }, + "type": "object", + "required": [ + "id" + ], + "description": "The details about the associated storage account." + }, + "VideoAnalyzerProperties": { + "properties": { + "storageAccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccount" + }, + "description": "The storage accounts for this resource." + }, + "endpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/Endpoint" + }, + "description": "The endpoints associated with this resource.", + "readOnly": true + }, + "encryption": { + "$ref": "#/definitions/AccountEncryption", + "description": "The account encryption properties." + }, + "iotHubs": { + "type": "array", + "items": { + "$ref": "#/definitions/IotHub" + }, + "description": "The IoT Hubs for this resource." + }, + "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 Video Analyzer account.", + "x-nullable": true + }, + "networkAccessControl": { + "$ref": "#/definitions/NetworkAccessControl", + "description": "Network access control for Video Analyzer.", + "x-nullable": true + }, + "provisioningState": { + "type": "string", + "enum": [ + "Failed", + "InProgress", + "Succeeded" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "values": [ + { + "value": "Failed", + "description": "Provisioning state failed." + }, + { + "value": "InProgress", + "description": "Provisioning state in progress." + }, + { + "value": "Succeeded", + "description": "Provisioning state succeeded." + } + ], + "modelAsString": true + }, + "description": "Provisioning state of the Video Analyzer account.", + "readOnly": true, + "x-nullable": false + }, + "privateEndpointConnections": { + "items": { + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "type": "array", + "description": "Private Endpoint Connections created under Video Analyzer account.", + "readOnly": true + } + }, + "type": "object", + "required": [ + "storageAccounts" + ], + "description": "The properties of the Video Analyzer account." + }, + "VideoAnalyzerPropertiesUpdate": { + "properties": { + "storageAccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccount" + }, + "description": "The storage accounts for this resource." + }, + "endpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/Endpoint" + }, + "description": "The endpoints associated with this resource.", + "readOnly": true + }, + "encryption": { + "$ref": "#/definitions/AccountEncryption", + "description": "The account encryption properties." + }, + "iotHubs": { + "type": "array", + "items": { + "$ref": "#/definitions/IotHub" + }, + "description": "The IoT Hubs for this resource." + }, + "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 Video Analyzer account.", + "x-nullable": true + }, + "networkAccessControl": { + "$ref": "#/definitions/NetworkAccessControl", + "description": "Network access control for Video Analyzer.", + "x-nullable": true + }, + "provisioningState": { + "type": "string", + "enum": [ + "Failed", + "InProgress", + "Succeeded" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "values": [ + { + "value": "Failed", + "description": "Provisioning state failed." + }, + { + "value": "InProgress", + "description": "Provisioning state in progress." + }, + { + "value": "Succeeded", + "description": "Provisioning state succeeded." + } + ], + "modelAsString": true + }, + "description": "Provisioning state of the Video Analyzer account.", + "readOnly": true, + "x-nullable": false + }, + "privateEndpointConnections": { + "items": { + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "type": "array", + "description": "Private Endpoint Connections created under Video Analyzer account.", + "readOnly": true + } + }, + "type": "object", + "description": "The properties of the Video Analyzer account." + }, + "VideoAnalyzer": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/VideoAnalyzerProperties", + "description": "The resource properties.", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/VideoAnalyzerIdentity", + "description": "The identities associated to the Video Analyzer resource." + } + }, + "type": "object", + "description": "The Video Analyzer account." + }, + "VideoAnalyzerUpdate": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "properties": { + "$ref": "#/definitions/VideoAnalyzerPropertiesUpdate", + "description": "The resource properties.", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/VideoAnalyzerIdentity", + "description": "The identities associated to the Video Analyzer resource." + } + }, + "type": "object", + "description": "The update operation for a Video Analyzer account." + }, + "Endpoint": { + "properties": { + "endpointUrl": { + "type": "string", + "description": "The URL of the endpoint." + }, + "type": { + "type": "string", + "enum": [ + "ClientApi" + ], + "x-ms-enum": { + "name": "VideoAnalyzerEndpointType", + "values": [ + { + "value": "ClientApi", + "description": "The client API endpoint." + } + ], + "modelAsString": true + }, + "description": "The type of the endpoint." + } + }, + "type": "object", + "required": [ + "type" + ], + "description": "The endpoint details." + }, + "UserAssignedManagedIdentity": { + "properties": { + "clientId": { + "type": "string", + "format": "uuid", + "description": "The client ID.", + "readOnly": true, + "x-nullable": true + }, + "principalId": { + "type": "string", + "format": "uuid", + "description": "The principal ID.", + "readOnly": true, + "x-nullable": true + } + }, + "type": "object", + "description": "The details of the user assigned managed identity used by the Video Analyzer resource." + }, + "UserAssignedManagedIdentities": { + "type": "object", + "description": "The User Assigned Managed Identities.", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedManagedIdentity" + } + }, + "VideoAnalyzerIdentity": { + "properties": { + "type": { + "type": "string", + "description": "The identity type." + }, + "userAssignedIdentities": { + "$ref": "#/definitions/UserAssignedManagedIdentities", + "description": "The User Assigned Managed Identities." + } + }, + "type": "object", + "required": [ + "type" + ], + "description": "The managed identity for the Video Analyzer resource." + }, + "ResourceIdentity": { + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned managed identity's resource identifier to use when accessing a resource." + } + }, + "type": "object", + "required": [ + "userAssignedIdentity" + ], + "description": "The user assigned managed identity to use when accessing a resource." + }, + "KeyVaultProperties": { + "properties": { + "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)." + }, + "currentKeyIdentifier": { + "type": "string", + "description": "The current key used to encrypt Video Analyzer account, including the key version.", + "readOnly": true + } + }, + "type": "object", + "required": [ + "keyIdentifier" + ], + "description": "The details for accessing the encryption keys in Key Vault." + }, + "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": "The type of key used to encrypt the Account Key." + }, + "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": "The current status of the Key Vault mapping.", + "readOnly": true + } + }, + "type": "object", + "required": [ + "type" + ], + "description": "Defines how the Video Analyzer account is (optionally) encrypted." + }, + "IotHub": { + "properties": { + "id": { + "type": "string", + "description": "The IoT Hub resource identifier." + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "The IoT Hub identity." + }, + "status": { + "type": "string", + "description": "The current status of the Iot Hub mapping.", + "readOnly": true + } + }, + "type": "object", + "required": [ + "id", + "identity" + ], + "description": "The IoT Hub details." + }, + "GroupLevelAccessControl": { + "properties": { + "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 specified resources under the Video Analyzer account.", + "x-nullable": true + } + }, + "type": "object", + "description": "Group level network access control." + }, + "NetworkAccessControl": { + "properties": { + "integration": { + "$ref": "#/definitions/GroupLevelAccessControl", + "description": "Public network access for integration group.", + "x-nullable": true + }, + "ingestion": { + "$ref": "#/definitions/GroupLevelAccessControl", + "description": "Public network access for ingestion group.", + "x-nullable": true + }, + "consumption": { + "$ref": "#/definitions/GroupLevelAccessControl", + "description": "Public network access for consumption group.", + "x-nullable": true + } + }, + "type": "object", + "description": "Network access control for video analyzer account." + }, + "VideoAnalyzerPrivateEndpointConnectionOperationStatus": { + "properties": { + "name": { + "type": "string", + "description": "Operation identifier." + }, + "id": { + "type": "string", + "description": "Operation resource ID." + }, + "startTime": { + "type": "string", + "description": "Operation start time." + }, + "endTime": { + "type": "string", + "description": "Operation end time." + }, + "status": { + "type": "string", + "description": "Operation status." + }, + "error": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorDetail", + "x-nullable": true + } + }, + "type": "object", + "required": [ + "name" + ], + "description": "Status of private endpoint connection operation." + }, + "VideoAnalyzerOperationStatus": { + "properties": { + "name": { + "type": "string", + "description": "Operation identifier." + }, + "id": { + "type": "string", + "description": "Operation resource ID." + }, + "startTime": { + "type": "string", + "description": "Operation start time." + }, + "endTime": { + "type": "string", + "description": "Operation end time." + }, + "status": { + "type": "string", + "description": "Operation status." + }, + "error": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorDetail", + "x-nullable": true + } + }, + "type": "object", + "required": [ + "name" + ], + "description": "Status of video analyzer operation." + }, + "OperationCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "A collection of Operation items." + } + }, + "type": "object", + "description": "A collection of Operation items." + }, + "VideoAnalyzerCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VideoAnalyzer" + }, + "description": "A collection of VideoAnalyzer items." + } + }, + "type": "object", + "description": "A collection of VideoAnalyzer items." + } + }, + "paths": { + "/providers/Microsoft.Media/operations": { + "get": { + "summary": "List Operations", + "description": "Lists all the Media operations.", + "operationId": "Operations_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "List Operations": { + "$ref": "examples/operations-list-all.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers": { + "get": { + "summary": "List Video Analyzer accounts", + "description": "Lists the Video Analyzer accounts in the specified resource group.", + "operationId": "VideoAnalyzers_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VideoAnalyzerCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "List all Video Analyzer accounts": { + "$ref": "examples/video-analyzer-accounts-list-all-accounts.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}": { + "get": { + "summary": "Get a Video Analyzer account", + "description": "Get the details of the specified Video Analyzer account", + "operationId": "VideoAnalyzers_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VideoAnalyzer" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Video Analyzer account name." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Get a Video Analyzer account by name": { + "$ref": "examples/video-analyzer-accounts-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or update a Video Analyzer account", + "description": "Create or update an instance of a Video Analyzer account", + "operationId": "VideoAnalyzers_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VideoAnalyzer" + } + }, + "201": { + "description": "Created", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/VideoAnalyzer" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Video Analyzer account name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VideoAnalyzer" + }, + "description": "The request parameters" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a Video Analyzer account": { + "$ref": "examples/video-analyzer-accounts-create-or-update.json" + } + } + }, + "delete": { + "summary": "Delete a Video Analyzer account.", + "description": "Delete the specified Video Analyzer account", + "operationId": "VideoAnalyzers_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Video Analyzer account name." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Delete a Video Analyzer account": { + "$ref": "examples/video-analyzer-accounts-delete.json" + } + } + }, + "patch": { + "summary": "Update a Video Analyzer account", + "description": "Updates an existing instance of Video Analyzer account", + "operationId": "VideoAnalyzers_Update", + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/VideoAnalyzer" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Video Analyzer account name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VideoAnalyzerUpdate" + }, + "description": "The request parameters" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a Video Analyzer accounts": { + "$ref": "examples/video-analyzer-accounts-update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/privateLinkResources": { + "get": { + "summary": "Get list of group IDs.", + "description": "Get list of group IDs for video analyzer account.", + "operationId": "PrivateLinkResources_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Video Analyzer account name." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Get list of all group IDs.": { + "$ref": "examples/video-analyzer-private-link-resources-list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/privateLinkResources/{name}": { + "get": { + "summary": "Get group ID.", + "description": "Get group ID for video analyzer account.", + "operationId": "PrivateLinkResources_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Video Analyzer account name." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the private link resource (Group ID)." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Get details of a group ID.": { + "$ref": "examples/video-analyzer-private-link-resources-get-by-name.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/privateEndpointConnections": { + "get": { + "summary": "Get all private endpoint connections.", + "description": "Get all private endpoint connections under video analyzer account.", + "operationId": "PrivateEndpointConnections_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Video Analyzer account name." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Get all private endpoint connections.": { + "$ref": "examples/video-analyzer-private-endpoint-connection-list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/privateEndpointConnections/{name}": { + "get": { + "summary": "Get private endpoint connection.", + "description": "Get private endpoint connection under video analyzer account.", + "operationId": "PrivateEndpointConnections_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Video Analyzer account name." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "Private endpoint connection name." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Get private endpoint connection.": { + "$ref": "examples/video-analyzer-private-endpoint-connection-get-by-name.json" + } + } + }, + "put": { + "summary": "Update private endpoint connection.", + "description": "Update private endpoint connection state under video analyzer account.", + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "responses": { + "201": { + "description": "Created", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + }, + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Video Analyzer account name." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "Private endpoint connection name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "The request parameters" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Update private endpoint connection.": { + "$ref": "examples/video-analyzer-private-endpoint-connection-put.json" + } + } + }, + "delete": { + "summary": "Delete private endpoint connection.", + "description": "Delete private endpoint connection under video analyzer account.", + "operationId": "PrivateEndpointConnections_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Video Analyzer account name." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "Private endpoint connection name." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Delete private endpoint connection.": { + "$ref": "examples/video-analyzer-private-endpoint-connection-delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/privateEndpointConnections/{name}/operationStatuses/{operationId}": { + "get": { + "summary": "Get operation status.", + "description": "Get private endpoint connection operation status.", + "operationId": "OperationStatuses_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VideoAnalyzerPrivateEndpointConnectionOperationStatus" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Video Analyzer account name." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "Private endpoint connection name." + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "Operation Id." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Get status of private endpoint asynchronous operation when it is completed.": { + "$ref": "examples/video-analyzer-private-endpoint-connection-operation-status-by-id-terminal-state.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/privateEndpointConnections/{name}/operationResults/{operationId}": { + "get": { + "summary": "Get operation result.", + "description": "Get private endpoint connection operation result.", + "operationId": "OperationResults_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Video Analyzer account name." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "Private endpoint connection name." + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "Operation Id." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Get status of private endpoint connection asynchronous operation.": { + "$ref": "examples/video-analyzer-private-endpoint-connection-operation-result-by-id.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Media/locations/{locationName}/videoAnalyzerOperationStatuses/{operationId}": { + "get": { + "summary": "Get operation status.", + "description": "Get video analyzer operation status.", + "operationId": "VideoAnalyzerOperationStatuses_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VideoAnalyzerOperationStatus" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "Location name." + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "Operation Id." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Get status of asynchronous operation when it is completed.": { + "$ref": "examples/video-analyzer-operation-status-by-id-terminal-state.json" + }, + "Get status of asynchronous operation when it is ongoing.": { + "$ref": "examples/video-analyzer-operation-status-by-id-non-terminal-state.json" + }, + "Get status of asynchronous operation when it is completed with error.": { + "$ref": "examples/video-analyzer-operation-status-by-id-non-terminal-state-failed.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Media/locations/{locationName}/videoAnalyzerOperationResults/{operationId}": { + "get": { + "summary": "Get operation result.", + "description": "Get video analyzer operation result.", + "operationId": "VideoAnalyzerOperationResults_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VideoAnalyzer" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "Location name." + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "Operation Id." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Get status of asynchronous operation.": { + "$ref": "examples/video-analyzer-operation-result-by-id.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Media/locations/{locationName}/checkNameAvailability": { + "post": { + "summary": "Check Name Availability", + "description": "Checks whether the Video Analyzer resource name is available.", + "operationId": "Locations_CheckNameAvailability", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/CheckNameAvailabilityResponse" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "Location Name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/CheckNameAvailabilityRequest" + }, + "description": "The request parameters" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Check Name Availability": { + "$ref": "examples/accounts-check-name-availability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Media/videoAnalyzers": { + "get": { + "summary": "List Video Analyzer accounts", + "description": "List all Video Analyzer accounts in the specified subscription.", + "operationId": "VideoAnalyzers_ListBySubscription", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VideoAnalyzerCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "List all Video Analyzer accounts in the specified subscription": { + "$ref": "examples/video-analyzer-accounts-subscription-list-all-accounts.json" + } + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/Videos.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/Videos.json new file mode 100644 index 000000000000..c2eb6605e2cb --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/Videos.json @@ -0,0 +1,1050 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Video Analyzer Resource Provider", + "description": "Azure Video Analyzer resource provider API definition.", + "version": "2021-11-01-preview" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "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" + } + } + }, + "definitions": { + "VideoContentUrls": { + "properties": { + "downloadUrl": { + "type": "string", + "description": "Video file download URL. This URL can be used in conjunction with the video content authorization token to download the video MP4 file. The resulting MP4 file can be played on any standard media player. It is available when the video type is 'file' and video file is available for consumption." + }, + "archiveBaseUrl": { + "type": "string", + "description": "Video archive streaming base URL. The archived content can be automatically played by the Azure Video Analyzer player widget. Alternatively, this URL can be used in conjunction with the video content authorization token on any compatible DASH or HLS players by appending the following to the base URL:\r\n\r\n - HLSv4: /manifest(format=m3u8-aapl).m3u8\r\n - HLS CMAF: /manifest(format=m3u8-cmaf)\r\n - DASH CMAF: /manifest(format=mpd-time-cmaf)\r\n\r\n Moreover, an ongoing video recording can be played in \"live mode\" with latencies which are approximately double of the chosen video segment length. It is available when the video type is 'archive' and video archiving is enabled." + }, + "rtspTunnelUrl": { + "type": "string", + "description": "Video low-latency streaming URL. The live content can be automatically played by the Azure Video Analyzer player widget. Alternatively, this URL can be used in conjunction with the video content authorization token to expose a WebSocket tunneled RTSP stream. It is available when the video type is 'archive' and a live, low-latency feed is available from the source." + }, + "previewImageUrls": { + "$ref": "#/definitions/VideoPreviewImageUrls", + "description": "Video preview image URLs. These URLs can be used in conjunction with the video content authorization token to download the most recent still image from the video archive in different resolutions. They are available when the video type is 'archive' and preview images are enabled." + } + }, + "type": "object", + "description": "Set of URLs to the video content." + }, + "VideoPreviewImageUrls": { + "properties": { + "small": { + "type": "string", + "description": "Low resolution preview image URL." + }, + "medium": { + "type": "string", + "description": "Medium resolution preview image URL." + }, + "large": { + "type": "string", + "description": "High resolution preview image URL." + } + }, + "type": "object", + "description": "Video preview image URLs. These URLs can be used in conjunction with the video content authorization token to download the most recent still image from the video archive in different resolutions. They are available when the video type is 'archive' and preview images are enabled." + }, + "VideoFlags": { + "properties": { + "canStream": { + "type": "boolean", + "description": "Value indicating whether or not the video can be streamed. Only \"archive\" type videos can be streamed." + }, + "hasData": { + "type": "boolean", + "description": "Value indicating whether or not there has ever been data recorded or uploaded into the video. Newly created videos have this value set to false." + }, + "isInUse": { + "type": "boolean", + "description": "Value indicating whether or not the video is currently being referenced be an active pipeline. The fact that is being referenced, doesn't necessarily indicate that data is being received. For example, video recording may be gated on events or camera may not be accessible at the time." + } + }, + "type": "object", + "required": [ + "canStream", + "hasData", + "isInUse" + ], + "description": "Video flags contain information about the available video actions and its dynamic properties based on the current video state." + }, + "VideoMediaInfo": { + "properties": { + "segmentLength": { + "type": "string", + "description": "Video segment length indicates the length of individual video files (segments) which are persisted to storage. Smaller segments provide lower archive playback latency but generate larger volume of storage transactions. Larger segments reduce the amount of storage transactions while increasing the archive playback latency. Value must be specified in ISO8601 duration format (i.e. \"PT30S\" equals 30 seconds) and can vary between 30 seconds to 5 minutes, in 30 seconds increments." + } + }, + "type": "object", + "description": "Contains information about the video and audio content." + }, + "VideoContentToken": { + "properties": { + "expirationDate": { + "type": "string", + "format": "date-time", + "description": "The content token expiration date in ISO8601 format (eg. 2021-01-01T00:00:00Z).", + "readOnly": true, + "x-nullable": false + }, + "token": { + "type": "string", + "description": "The content token value to be added to the video content URL as the value for the \"token\" query string parameter. The token is specific to a single video.", + "readOnly": true + } + }, + "type": "object", + "description": "\"Video content token grants access to the video content URLs.\"" + }, + "VideoProperties": { + "properties": { + "title": { + "type": "string", + "description": "Optional video title provided by the user. Value can be up to 256 characters long." + }, + "description": { + "type": "string", + "description": "Optional video description provided by the user. Value can be up to 2048 characters long." + }, + "type": { + "type": "string", + "enum": [ + "Archive", + "File" + ], + "x-ms-enum": { + "name": "VideoType", + "values": [ + { + "value": "Archive", + "description": "Archive is flexible format that represents a video stream associated with wall-clock time. The video archive can either be continuous or discontinuous. An archive is discontinuous when there are gaps in the recording due to various reasons, such as the live pipeline being stopped, camera being disconnected or due to the use of event based recordings through the use of a signal gate. There is no limit to the archive duration and new video data can be appended to the existing archive at any time, as long as the same video codec and codec parameters are being used. Videos of this type are suitable for appending and long term archival." + }, + { + "value": "File", + "description": "File represents a video which is stored as a single media file, such as MP4. Videos of this type are suitable to be downloaded for external consumption." + } + ], + "modelAsString": true + }, + "description": "Video content type. Different content types are suitable for different applications and scenarios.", + "readOnly": true, + "x-nullable": false + }, + "flags": { + "$ref": "#/definitions/VideoFlags", + "description": "Video flags contain information about the available video actions and its dynamic properties based on the current video state.", + "readOnly": true + }, + "contentUrls": { + "$ref": "#/definitions/VideoContentUrls", + "description": "Set of URLs to the video content.", + "readOnly": true + }, + "mediaInfo": { + "$ref": "#/definitions/VideoMediaInfo", + "description": "Contains information about the video and audio content." + }, + "archival": { + "$ref": "#/definitions/VideoArchival", + "description": "Video archival properties." + } + }, + "type": "object", + "description": "Application level properties for the video resource." + }, + "VideoArchival": { + "properties": { + "retentionPeriod": { + "type": "string", + "description": "Video retention period indicates the maximum age of the video archive segments which are intended to be kept in storage. It must be provided in the ISO8601 duration format in the granularity of days, up to a maximum of 10 years. For example, if this is set to P30D (30 days), content older than 30 days will be periodically deleted. This value can be updated at any time and the new desired retention period will be effective within 24 hours." + } + }, + "type": "object", + "description": "Video archival properties." + }, + "AuthenticationBase": { + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@type" + ], + "description": "Base class for access policies authentication methods." + }, + "TokenClaim": { + "properties": { + "name": { + "type": "string", + "description": "Name of the claim which must be present on the token." + }, + "value": { + "type": "string", + "description": "Expected value of the claim to be present on the token." + } + }, + "type": "object", + "required": [ + "name", + "value" + ], + "description": "Properties for expected token claims." + }, + "JwtAuthentication": { + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.JwtAuthentication", + "allOf": [ + { + "$ref": "#/definitions/AuthenticationBase" + } + ], + "properties": { + "issuers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of expected token issuers. Token issuer is valid if it matches at least one of the given values." + }, + "audiences": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of expected token audiences. Token audience is valid if it matches at least one of the given values." + }, + "claims": { + "type": "array", + "items": { + "$ref": "#/definitions/TokenClaim" + }, + "description": "List of additional token claims to be validated. Token must contains all claims and respective values for it to be valid." + }, + "keys": { + "type": "array", + "items": { + "$ref": "#/definitions/TokenKey" + }, + "description": "List of keys which can be used to validate access tokens. Having multiple keys allow for seamless key rotation of the token signing key. Token signature must match exactly one key." + } + }, + "type": "object", + "description": "Properties for access validation based on JSON Web Tokens (JWT)." + }, + "TokenKey": { + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "kid": { + "type": "string", + "description": "JWT token key id. Validation keys are looked up based on the key id present on the JWT token header." + } + }, + "type": "object", + "required": [ + "@type", + "kid" + ], + "description": "Key properties for JWT token validation." + }, + "RsaTokenKey": { + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.RsaTokenKey", + "allOf": [ + { + "$ref": "#/definitions/TokenKey" + } + ], + "properties": { + "alg": { + "type": "string", + "enum": [ + "RS256", + "RS384", + "RS512" + ], + "x-ms-enum": { + "name": "AccessPolicyRsaAlgo", + "values": [ + { + "value": "RS256", + "description": "RS256" + }, + { + "value": "RS384", + "description": "RS384" + }, + { + "value": "RS512", + "description": "RS512" + } + ], + "modelAsString": true + }, + "description": "RSA algorithm to be used: RS256, RS384 or RS512." + }, + "n": { + "type": "string", + "description": "RSA public key modulus." + }, + "e": { + "type": "string", + "description": "RSA public key exponent." + } + }, + "type": "object", + "required": [ + "alg", + "n", + "e" + ], + "description": "Required validation properties for tokens generated with RSA algorithm." + }, + "EccTokenKey": { + "x-ms-discriminator-value": "#Microsoft.VideoAnalyzer.EccTokenKey", + "allOf": [ + { + "$ref": "#/definitions/TokenKey" + } + ], + "properties": { + "alg": { + "type": "string", + "enum": [ + "ES256", + "ES384", + "ES512" + ], + "x-ms-enum": { + "name": "AccessPolicyEccAlgo", + "values": [ + { + "value": "ES256", + "description": "ES265" + }, + { + "value": "ES384", + "description": "ES384" + }, + { + "value": "ES512", + "description": "ES512" + } + ], + "modelAsString": true + }, + "description": "Elliptical curve algorithm to be used: ES256, ES384 or ES512." + }, + "x": { + "type": "string", + "description": "X coordinate." + }, + "y": { + "type": "string", + "description": "Y coordinate." + } + }, + "type": "object", + "required": [ + "alg", + "x", + "y" + ], + "description": "Required validation properties for tokens generated with Elliptical Curve algorithm." + }, + "AccessPolicyProperties": { + "properties": { + "role": { + "type": "string", + "enum": [ + "Reader" + ], + "x-ms-enum": { + "name": "AccessPolicyRole", + "values": [ + { + "value": "Reader", + "description": "Reader role allows for read-only operations to be performed through the client APIs." + } + ], + "modelAsString": true + }, + "description": "Defines the access level granted by this policy.", + "x-nullable": true + }, + "authentication": { + "$ref": "#/definitions/AuthenticationBase", + "description": "Authentication method to be used when validating client API access." + } + }, + "type": "object", + "description": "Application level properties for the access policy resource." + }, + "VideoEntity": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/VideoProperties", + "description": "The resource properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "description": "Represents a video resource within Azure Video Analyzer. Videos can be ingested from RTSP cameras through live pipelines or can be created by exporting sequences from existing captured video through a pipeline job. Videos ingested through live pipelines can be streamed through Azure Video Analyzer Player Widget or compatible players. Exported videos can be downloaded as MP4 files." + }, + "AccessPolicyEntity": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AccessPolicyProperties", + "description": "The resource properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "description": "Access policies help define the authentication rules, and control access to specific video resources." + }, + "VideoEntityCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VideoEntity" + }, + "description": "A collection of VideoEntity items." + }, + "@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 VideoEntity items." + }, + "AccessPolicyEntityCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AccessPolicyEntity" + }, + "description": "A collection of AccessPolicyEntity items." + }, + "@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 AccessPolicyEntity items." + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/videos": { + "get": { + "summary": "Retrieves all existing video resources.", + "description": "Retrieves a list of video resources that have been created, along with their JSON representations.", + "operationId": "Videos_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VideoEntityCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$top", + "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." + } + ], + "x-ms-pageable": { + "nextLinkName": "@nextLink" + }, + "x-ms-examples": { + "Lists video entities.": { + "$ref": "examples/video-list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/videos/{videoName}": { + "get": { + "summary": "Retrieves an existing video resource.", + "description": "Retrieves an existing video resource with the given name.", + "operationId": "Videos_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VideoEntity" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "videoName", + "in": "path", + "required": true, + "type": "string", + "description": "The Video name." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Gets a video entity.": { + "$ref": "examples/video-get.json" + } + } + }, + "put": { + "summary": "Creates a new video resource or updates an existing one.", + "description": "Creates a new video resource or updates an existing video resource with the given name.", + "operationId": "Videos_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VideoEntity" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VideoEntity" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "videoName", + "in": "path", + "required": true, + "type": "string", + "description": "The Video name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VideoEntity" + }, + "description": "The request parameters" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Register video entity.": { + "$ref": "examples/video-create.json" + } + } + }, + "delete": { + "summary": "Deletes an existing video resource and its underlying data.", + "description": "Deletes an existing video resource and its underlying data. This operation is irreversible.", + "operationId": "Videos_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "videoName", + "in": "path", + "required": true, + "type": "string", + "description": "The Video name." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Deletes a video entity.": { + "$ref": "examples/video-delete.json" + } + } + }, + "patch": { + "summary": "Updates individual properties of an existing video resource.", + "description": "Updates individual properties of an existing video resource with the given name.", + "operationId": "Videos_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VideoEntity" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "videoName", + "in": "path", + "required": true, + "type": "string", + "description": "The Video name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VideoEntity" + }, + "description": "The request parameters" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Update video entity.": { + "$ref": "examples/video-patch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/videos/{videoName}/listContentToken": { + "post": { + "summary": "Generates a streaming token which can be used for accessing content from video content URLs.", + "description": "Generates a streaming token which can be used for accessing content from video content URLs, for a video resource with the given name.", + "operationId": "Videos_ListContentToken", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VideoContentToken" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "videoName", + "in": "path", + "required": true, + "type": "string", + "description": "The Video name." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Generate a content token for media endpoint authorization.": { + "$ref": "examples/video-listContentToken.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/accessPolicies": { + "get": { + "summary": "List all existing access policy resources.", + "description": "Retrieves all existing access policy resources, along with their JSON representations.", + "operationId": "AccessPolicies_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccessPolicyEntityCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$top", + "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." + } + ], + "x-ms-pageable": { + "nextLinkName": "@nextLink" + }, + "x-ms-examples": { + "Lists access policy entities.": { + "$ref": "examples/access-policy-list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/accessPolicies/{accessPolicyName}": { + "get": { + "summary": "Retrieves an existing access policy resource.", + "description": "Retrieves an existing access policy resource with the given name.", + "operationId": "AccessPolicies_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccessPolicyEntity" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "accessPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Access Policy name." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Gets an access policy entity.": { + "$ref": "examples/access-policy-get.json" + } + } + }, + "put": { + "summary": "Creates a new access policy resource or updates an existing one.", + "description": "Creates a new access policy resource or updates an existing one with the given name.", + "operationId": "AccessPolicies_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccessPolicyEntity" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AccessPolicyEntity" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "accessPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Access Policy name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccessPolicyEntity" + }, + "description": "The request parameters" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Register access policy entity.": { + "$ref": "examples/access-policy-create.json" + } + } + }, + "delete": { + "summary": "Deletes an existing access policy resource.", + "description": "Deletes an existing access policy resource with the given name.", + "operationId": "AccessPolicies_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "accessPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Access Policy name." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Deletes an access policy entity.": { + "$ref": "examples/access-policy-delete.json" + } + } + }, + "patch": { + "summary": "Updates individual properties of an existing access policy resource.", + "description": "Updates individual properties of an existing access policy resource with the given name.", + "operationId": "AccessPolicies_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccessPolicyEntity" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureVideoAnalyzerAccountName" + }, + { + "name": "accessPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Access Policy name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccessPolicyEntity" + }, + "description": "The request parameters" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-examples": { + "Update access policy entity.": { + "$ref": "examples/access-policy-patch.json" + } + } + } + } + }, + "parameters": { + "AzureVideoAnalyzerAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure Video Analyzer account name.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/access-policy-create.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/access-policy-create.json new file mode 100644 index 000000000000..40e3e16e21b4 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/access-policy-create.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "accessPolicyName": "accessPolicyName1", + "api-version": "2021-11-01-preview", + "parameters": { + "properties": { + "authentication": { + "@type": "#Microsoft.VideoAnalyzer.JwtAuthentication", + "issuers": [ + "issuer1", + "issuer2" + ], + "audiences": [ + "audience1" + ], + "claims": [ + { + "name": "claimname1", + "value": "claimvalue1" + }, + { + "name": "claimname2", + "value": "claimvalue2" + } + ], + "keys": [ + { + "@type": "#Microsoft.VideoAnalyzer.RsaTokenKey", + "alg": "RS256", + "kid": "123", + "n": "YmFzZTY0IQ==", + "e": "ZLFzZTY0IQ==" + }, + { + "@type": "#Microsoft.VideoAnalyzer.EccTokenKey", + "alg": "ES256", + "kid": "124", + "x": "XX==", + "y": "YY==" + } + ] + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "accessPolicyName2", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/accesspolicies/accessPolicyName2", + "type": "Microsoft.Media/videoAnalyzers/accesspolicies", + "properties": { + "role": "Reader", + "authentication": { + "@type": "#Microsoft.VideoAnalyzer.JwtAuthentication", + "issuers": [ + "issuer1", + "issuer2" + ], + "audiences": [ + "audience1" + ], + "claims": [ + { + "name": "claimname1", + "value": "claimvalue1" + }, + { + "name": "claimname2", + "value": "claimvalue2" + } + ], + "keys": [ + { + "@type": "#Microsoft.VideoAnalyzer.RsaTokenKey", + "kid": "123", + "alg": "RS256", + "n": "YmFzZTY0IQ==", + "e": "ZLFzZTY0IQ==" + }, + { + "@type": "#Microsoft.VideoAnalyzer.EccTokenKey", + "kid": "124", + "alg": "ES256", + "x": "XX==", + "y": "YY==" + } + ] + } + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + }, + "200": { + "body": { + "name": "accessPolicyName1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/accesspolicies/accessPolicyName1", + "type": "Microsoft.Media/videoAnalyzers/accesspolicies", + "properties": { + "role": "Reader", + "authentication": { + "@type": "#Microsoft.VideoAnalyzer.JwtAuthentication", + "issuers": [ + "issuer1", + "issuer2" + ], + "audiences": [ + "audience1" + ], + "claims": [ + { + "name": "claimname1", + "value": "claimvalue1" + }, + { + "name": "claimname2", + "value": "claimvalue2" + } + ], + "keys": [ + { + "@type": "#Microsoft.VideoAnalyzer.RsaTokenKey", + "kid": "123", + "alg": "RS256", + "n": "YmFzZTY0IQ==", + "e": "ZLFzZTY0IQ==" + }, + { + "@type": "#Microsoft.VideoAnalyzer.EccTokenKey", + "kid": "124", + "alg": "ES256", + "x": "XX==", + "y": "YY==" + } + ] + } + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/access-policy-delete.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/access-policy-delete.json new file mode 100644 index 000000000000..4cafacae3f87 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/access-policy-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "accessPolicyName": "accessPolicyName1", + "api-version": "2021-11-01-preview" + }, + "responses": { + "204": {}, + "200": {} + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/access-policy-get.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/access-policy-get.json new file mode 100644 index 000000000000..9f06f0163470 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/access-policy-get.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "accessPolicyName": "accessPolicyName1", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "name": "accessPolicyName1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/accesspolicies/accessPolicyName1", + "type": "Microsoft.Media/videoAnalyzers/accesspolicies", + "properties": { + "role": "Reader", + "authentication": { + "@type": "#Microsoft.VideoAnalyzer.JwtAuthentication", + "issuers": [ + "issuer1", + "issuer2" + ], + "audiences": [ + "audience" + ], + "claims": [ + { + "name": "claimname1", + "value": "claimvalue1" + }, + { + "name": "claimname2", + "value": "claimvalue2" + } + ], + "keys": [ + { + "@type": "#Microsoft.VideoAnalyzer.RsaTokenKey", + "kid": "123", + "alg": "RS256", + "n": "YmFzZTY0IQ==", + "e": "ZLFzZTY0IQ==" + }, + { + "@type": "#Microsoft.VideoAnalyzer.EccTokenKey", + "kid": "124", + "alg": "ES256", + "x": "XX==", + "y": "YY==" + } + ] + } + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/access-policy-list.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/access-policy-list.json new file mode 100644 index 000000000000..8eb9e7bd1888 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/access-policy-list.json @@ -0,0 +1,121 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "api-version": "2021-11-01-preview", + "$top": "2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "accessPolicyName1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/accesspolicies/accessPolicyName1", + "type": "Microsoft.Media/videoAnalyzers/accesspolicies", + "properties": { + "role": "Reader", + "authentication": { + "@type": "#Microsoft.VideoAnalyzer.JwtAuthentication", + "issuers": [ + "issuer1", + "issuer2" + ], + "audiences": [ + "audience" + ], + "claims": [ + { + "name": "claimname1", + "value": "claimvalue1" + }, + { + "name": "claimname2", + "value": "claimvalue2" + } + ], + "keys": [ + { + "@type": "#Microsoft.VideoAnalyzer.RsaTokenKey", + "kid": "123", + "alg": "RS256", + "n": "YmFzZTY0IQ==", + "e": "ZLFzZTY0IQ==" + }, + { + "@type": "#Microsoft.VideoAnalyzer.EccTokenKey", + "kid": "124", + "alg": "ES256", + "x": "XX==", + "y": "YY==" + } + ] + } + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + }, + { + "name": "accessPolicyName2", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/accesspolicies/accessPolicyName2", + "type": "Microsoft.Media/videoAnalyzers/accesspolicies", + "properties": { + "role": "Reader", + "authentication": { + "@type": "#Microsoft.VideoAnalyzer.JwtAuthentication", + "issuers": [ + "issuer1", + "issuer2" + ], + "audiences": [ + "audience" + ], + "claims": [ + { + "name": "claimname1", + "value": "claimvalue1" + }, + { + "name": "claimname2", + "value": "claimvalue2" + } + ], + "keys": [ + { + "@type": "#Microsoft.VideoAnalyzer.RsaTokenKey", + "kid": "123", + "alg": "RS256", + "n": "YmFzZTY0IQ==", + "e": "ZLFzZTY0IQ==" + }, + { + "@type": "#Microsoft.VideoAnalyzer.EccTokenKey", + "kid": "124", + "alg": "ES256", + "x": "XX==", + "y": "YY==" + } + ] + } + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/access-policy-patch.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/access-policy-patch.json new file mode 100644 index 000000000000..0e1859cd00cf --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/access-policy-patch.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "accessPolicyName": "accessPolicyName1", + "api-version": "2021-11-01-preview", + "parameters": { + "properties": { + "authentication": { + "@type": "#Microsoft.VideoAnalyzer.JwtAuthentication", + "issuers": [ + "issuer1", + "issuer2" + ], + "audiences": [ + "audience1" + ], + "claims": [ + { + "name": "claimname1", + "value": "claimvalue1" + }, + { + "name": "claimname2", + "value": "claimvalue2" + } + ], + "keys": [ + { + "@type": "#Microsoft.VideoAnalyzer.RsaTokenKey", + "alg": "RS256", + "kid": "123", + "n": "YmFzZTY0IQ==", + "e": "ZLFzZTY0IQ==" + }, + { + "@type": "#Microsoft.VideoAnalyzer.EccTokenKey", + "alg": "ES256", + "kid": "124", + "x": "XX==", + "y": "YY==" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "accessPolicyName1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/accesspolicies/accessPolicyName1", + "type": "Microsoft.Media/videoAnalyzers/accesspolicies", + "properties": { + "role": "Reader", + "authentication": { + "@type": "#Microsoft.VideoAnalyzer.JwtAuthentication", + "issuers": [ + "issuer1", + "issuer2" + ], + "audiences": [ + "audience1" + ], + "claims": [ + { + "name": "claimname1", + "value": "claimvalue1" + }, + { + "name": "claimname2", + "value": "claimvalue2" + } + ], + "keys": [ + { + "@type": "#Microsoft.VideoAnalyzer.RsaTokenKey", + "kid": "123", + "alg": "RS256", + "n": "YmFzZTY0IQ==", + "e": "ZLFzZTY0IQ==" + }, + { + "@type": "#Microsoft.VideoAnalyzer.EccTokenKey", + "kid": "124", + "alg": "ES256", + "x": "XX==", + "y": "YY==" + } + ] + } + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/accounts-check-name-availability.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/accounts-check-name-availability.json new file mode 100644 index 000000000000..927a4ca29acb --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/accounts-check-name-availability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "locationName": "japanwest", + "api-version": "2021-11-01-Preview", + "parameters": { + "name": "contosotv", + "type": "videoAnalyzers" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "None", + "message": "" + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/edge-modules-create.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/edge-modules-create.json new file mode 100644 index 000000000000..5afd1bea5672 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/edge-modules-create.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "edgeModuleName": "edgeModule1", + "api-version": "2021-11-01-preview", + "parameters": {} + }, + "responses": { + "201": { + "body": { + "name": "edgeModule2", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/edgeModules/edgeModule2", + "type": "Microsoft.Media/videoAnalyzers/edgeModules", + "properties": { + "edgeModuleId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + }, + "200": { + "body": { + "name": "edgeModule1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/edgeModules/edgeModule1", + "type": "Microsoft.Media/videoAnalyzers/edgeModules", + "properties": { + "edgeModuleId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/edge-modules-delete.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/edge-modules-delete.json new file mode 100644 index 000000000000..9567fe560b89 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/edge-modules-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "edgeModuleName": "edgeModule1", + "api-version": "2021-11-01-preview" + }, + "responses": { + "204": {}, + "200": {} + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/edge-modules-get.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/edge-modules-get.json new file mode 100644 index 000000000000..baa9c420ccaa --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/edge-modules-get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "edgeModuleName": "edgeModule1", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "name": "edgeModule1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/edgeModules/edgeModule1", + "type": "Microsoft.Media/videoAnalyzers/edgeModules", + "properties": { + "edgeModuleId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/edge-modules-list.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/edge-modules-list.json new file mode 100644 index 000000000000..76e4345dc605 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/edge-modules-list.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "edgeModule1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/edgeModules/edgeModule1", + "type": "Microsoft.Media/videoAnalyzers/edgeModules", + "properties": { + "edgeModuleId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + }, + { + "name": "edgeModule2", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/edgeModules/edgeModule2", + "type": "Microsoft.Media/videoAnalyzers/edgeModules", + "properties": { + "edgeModuleId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/edge-modules-listProvisioningToken.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/edge-modules-listProvisioningToken.json new file mode 100644 index 000000000000..c4af91d3e71c --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/edge-modules-listProvisioningToken.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "edgeModuleName": "edgeModule1", + "api-version": "2021-11-01-preview", + "parameters": { + "expirationDate": "2023-01-23T11:04:49.0526841-08:00" + } + }, + "responses": { + "200": { + "body": { + "expirationDate": "2021-09-24T04:17:55.6193764Z", + "token": "testtoken" + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-activate.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-activate.json new file mode 100644 index 000000000000..6233e626dac2 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-activate.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "livePipelineName": "livePipeline1", + "api-version": "2021-11-01-preview" + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-create.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-create.json new file mode 100644 index 000000000000..6643f6d34d1c --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-create.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "livePipelineName": "livePipeline1", + "api-version": "2021-11-01-preview", + "parameters": { + "properties": { + "topologyName": "pipelinetopology1", + "description": "Live Pipeline 1 Description", + "bitrateKbps": 500, + "parameters": [ + { + "name": "rtspUrlParameter", + "value": "rtsp://contoso.com/stream" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "name": "livePipeline1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/livePipelines/livePipeline1", + "type": "Microsoft.Media/videoAnalyzers/livePipelines", + "properties": { + "topologyName": "pipelineTopology1", + "description": "Live Pipeline 1 Description", + "bitrateKbps": 500, + "state": "Activating", + "parameters": [ + { + "name": "rtspUrlParameter", + "value": "rtsp://contoso.com/stream" + } + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + }, + "200": { + "body": { + "name": "livePipeline1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/livePipelines/livePipeline1", + "type": "Microsoft.Media/videoAnalyzers/livePipelines", + "properties": { + "topologyName": "pipelineTopology1", + "description": "Live Pipeline 1 Description", + "bitrateKbps": 500, + "state": "Inactive", + "parameters": [ + { + "name": "rtspUrlParameter", + "value": "rtsp://contoso.com/stream" + } + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-deactivate.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-deactivate.json new file mode 100644 index 000000000000..6233e626dac2 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-deactivate.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "livePipelineName": "livePipeline1", + "api-version": "2021-11-01-preview" + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-delete.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-delete.json new file mode 100644 index 000000000000..85eb5ec6a8ef --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "livePipelineName": "livePipeline1", + "api-version": "2021-11-01-preview" + }, + "responses": { + "204": {}, + "200": {} + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-get-by-name.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-get-by-name.json new file mode 100644 index 000000000000..d1bbe601d97b --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-get-by-name.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "livePipelineName": "livePipeline1", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "name": "livePipeline1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/livePipelines/livePipeline1", + "type": "Microsoft.Media/videoAnalyzers/livePipelines", + "properties": { + "topologyName": "pipelineTopology1", + "description": "Live Pipeline 1 Description", + "bitrateKbps": 500, + "state": "Inactive", + "parameters": [ + { + "name": "rtspUrlParameter", + "value": "rtsp://contoso.com/stream" + } + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-list.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-list.json new file mode 100644 index 000000000000..3d2582cb5174 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-list.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "api-version": "2021-11-01-preview", + "$top": "2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "livePipeline1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/livePipelines/livePipeline1", + "type": "Microsoft.Media/videoAnalyzers/livePipelines", + "properties": { + "topologyName": "pipelineTopology1", + "description": "Live Pipeline 1 Description", + "bitrateKbps": 500, + "state": "Inactive", + "parameters": [ + { + "name": "rtspUrlParameter", + "value": "rtsp://contoso.com/stream" + } + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + }, + { + "name": "livePipeline2", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/livePipelines/livePipeline2", + "type": "Microsoft.Media/videoAnalyzers/livePipelines", + "properties": { + "topologyName": "pipelineTopology1", + "description": "Live Pipeline 2 Description", + "bitrateKbps": 500, + "state": "Activating", + "parameters": [ + { + "name": "rtspUrlParameter", + "value": "rtsp://contoso.com/stream" + } + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-operation-status-get.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-operation-status-get.json new file mode 100644 index 000000000000..ca630e4d8dc8 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-operation-status-get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "livePipelineName": "livePipeline1", + "operationId": "00000000-0000-0000-0000-000000000001", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "name": "00000000-0000-0000-0000-000000000001", + "status": "Failed", + "error": { + "code": "Conflict", + "message": "A conflict was encountered when processing the request", + "details": [ + { + "code": "VideoIsInUse", + "message": "The video video1 is used by another pipeline." + } + ] + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-patch.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-patch.json new file mode 100644 index 000000000000..2514036b94ad --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/live-pipeline-patch.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "livePipelineName": "livePipeline1", + "api-version": "2021-11-01-preview", + "parameters": { + "properties": { + "description": "Live Pipeline 1 Description" + } + } + }, + "responses": { + "200": { + "body": { + "name": "livePipeline1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/livePipelines/livePipeline1", + "type": "Microsoft.Media/videoAnalyzers/livePipelines", + "properties": { + "topologyName": "pipelineTopology1", + "description": "Live Pipeline 1 Description", + "bitrateKbps": 500, + "state": "Inactive", + "parameters": [ + { + "name": "rtspUrlParameter", + "value": "rtsp://contoso.com/stream" + } + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/operations-list-all.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/operations-list-all.json new file mode 100644 index 000000000000..aab93c87c3fb --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/operations-list-all.json @@ -0,0 +1,1449 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "api-version": "2021-11-01-Preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Media/register/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Microsoft Media Services", + "operation": "Registers the Media Services Resource Provider", + "description": "Registers the subscription for the Media Services resource provider and enables the creation of Media Services accounts" + } + }, + { + "name": "Microsoft.Media/unregister/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Microsoft Media Services", + "operation": "Unregisters the Media Services Resource Provider", + "description": "Unregisters the subscription for the Media Services resource provider" + } + }, + { + "name": "Microsoft.Media/checknameavailability/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Microsoft Media Services", + "operation": "Check Name Availability", + "description": "Checks if a Media Services account name is available" + } + }, + { + "name": "Microsoft.Media/operations/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Available Operations", + "operation": "Get Available Operations", + "description": "Get Available Operations" + } + }, + { + "name": "Microsoft.Media/mediaservices/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Media Services Account", + "operation": "Read Media Services Account", + "description": "Read any Media Services Account" + } + }, + { + "name": "Microsoft.Media/mediaservices/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Media Services Account", + "operation": "Create or Update Media Services Account", + "description": "Create or Update any Media Services Account" + } + }, + { + "name": "Microsoft.Media/mediaservices/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Media Services Account", + "operation": "Delete Media Services Account", + "description": "Delete any Media Services Account" + } + }, + { + "name": "Microsoft.Media/mediaservices/regenerateKey/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Media Services Account", + "operation": "Regenerate Key", + "description": "Regenerate a Media Services ACS key" + } + }, + { + "name": "Microsoft.Media/mediaservices/listKeys/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Media Services Account", + "operation": "List Keys", + "description": "List the ACS keys for the Media Services account" + } + }, + { + "name": "Microsoft.Media/mediaservices/syncStorageKeys/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Media Services Account", + "operation": "Synchronize Storage Keys", + "description": "Synchronize the Storage Keys for an attached Azure Storage account" + } + }, + { + "name": "Microsoft.Media/mediaservices/listEdgePolicies/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Media Services Account", + "operation": "List policies for an edge device.", + "description": "List policies for an edge device." + } + }, + { + "name": "Microsoft.Media/mediaservices/PrivateEndpointConnectionsApproval/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Media Services Account", + "operation": "Approve Private Endpoint Connections", + "description": "Approve Private Endpoint Connections" + } + }, + { + "name": "Microsoft.Media/mediaservices/eventGridFilters/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Event Grid Filter", + "operation": "Read Event Grid Filter", + "description": "Read any Event Grid Filter" + } + }, + { + "name": "Microsoft.Media/mediaservices/eventGridFilters/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Event Grid Filter", + "operation": "Create or Update Event Grid Filter", + "description": "Create or Update any Event Grid Filter" + } + }, + { + "name": "Microsoft.Media/mediaservices/eventGridFilters/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Event Grid Filter", + "operation": "Delete Event Grid Filter", + "description": "Delete any Event Grid Filter" + } + }, + { + "name": "Microsoft.Media/mediaservices/accountfilters/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Account Filter", + "operation": "Read Account Filter", + "description": "Read any Account Filter" + } + }, + { + "name": "Microsoft.Media/mediaservices/accountfilters/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Account Filter", + "operation": "Create or Update Account Filter", + "description": "Create or Update any Account Filter" + } + }, + { + "name": "Microsoft.Media/mediaservices/accountfilters/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Account Filter", + "operation": "Delete Account Filter", + "description": "Delete any Account Filter" + } + }, + { + "name": "Microsoft.Media/mediaservices/assets/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Asset", + "operation": "Read Asset", + "description": "Read any Asset" + } + }, + { + "name": "Microsoft.Media/mediaservices/assets/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Asset", + "operation": "Create or Update Asset", + "description": "Create or Update any Asset" + } + }, + { + "name": "Microsoft.Media/mediaservices/assets/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Asset", + "operation": "Delete Asset", + "description": "Delete any Asset" + } + }, + { + "name": "Microsoft.Media/mediaservices/assets/listContainerSas/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Asset", + "operation": "List Asset Container SAS URLs", + "description": "List Asset Container SAS URLs" + } + }, + { + "name": "Microsoft.Media/mediaservices/assets/getEncryptionKey/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Asset", + "operation": "Get Asset Encryption Key", + "description": "Get Asset Encryption Key" + } + }, + { + "name": "Microsoft.Media/mediaservices/assets/listStreamingLocators/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Asset", + "operation": "List Streaming Locators for Asset", + "description": "List Streaming Locators for Asset" + } + }, + { + "name": "Microsoft.Media/mediaservices/assets/assetfilters/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Asset Filter", + "operation": "Read Asset Filter", + "description": "Read any Asset Filter" + } + }, + { + "name": "Microsoft.Media/mediaservices/assets/assetfilters/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Asset Filter", + "operation": "Create or Update Asset Filter", + "description": "Create or Update any Asset Filter" + } + }, + { + "name": "Microsoft.Media/mediaservices/assets/assetfilters/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Asset Filter", + "operation": "Delete Asset Filter", + "description": "Delete any Asset Filter" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingPolicies/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Policy", + "operation": "Read Streaming Policy", + "description": "Read any Streaming Policy" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingPolicies/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Policy", + "operation": "Create or Update Streaming Policy", + "description": "Create or Update any Streaming Policy" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingPolicies/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Policy", + "operation": "Delete Streaming Policy", + "description": "Delete any Streaming Policy" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingLocators/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Locator", + "operation": "Read Streaming Locator", + "description": "Read any Streaming Locator" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingLocators/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Locator", + "operation": "Create or Update Streaming Locator", + "description": "Create or Update any Streaming Locator" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingLocators/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Locator", + "operation": "Delete Streaming Locator", + "description": "Delete any Streaming Locator" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingLocators/listContentKeys/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Locator", + "operation": "List Content Keys", + "description": "List Content Keys" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingLocators/listPaths/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Locator", + "operation": "List Paths", + "description": "List Paths" + } + }, + { + "name": "Microsoft.Media/mediaservices/contentKeyPolicies/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Content Key Policy", + "operation": "Read Content Key Policy", + "description": "Read any Content Key Policy" + } + }, + { + "name": "Microsoft.Media/mediaservices/contentKeyPolicies/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Content Key Policy", + "operation": "Create or Update Content Key Policy", + "description": "Create or Update any Content Key Policy" + } + }, + { + "name": "Microsoft.Media/mediaservices/contentKeyPolicies/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Content Key Policy", + "operation": "Delete Content Key Policy", + "description": "Delete any Content Key Policy" + } + }, + { + "name": "Microsoft.Media/mediaservices/contentKeyPolicies/getPolicyPropertiesWithSecrets/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Content Key Policy", + "operation": "Get Policy Properties With Secrets", + "description": "Get Policy Properties With Secrets" + } + }, + { + "name": "Microsoft.Media/mediaservices/transforms/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Transform", + "operation": "Read Transform", + "description": "Read any Transform" + } + }, + { + "name": "Microsoft.Media/mediaservices/transforms/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Transform", + "operation": "Create or Update Transform", + "description": "Create or Update any Transform" + } + }, + { + "name": "Microsoft.Media/mediaservices/transforms/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Transform", + "operation": "Delete Transform", + "description": "Delete any Transform" + } + }, + { + "name": "Microsoft.Media/mediaservices/transforms/jobs/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Job", + "operation": "Read Job", + "description": "Read any Job" + } + }, + { + "name": "Microsoft.Media/mediaservices/transforms/jobs/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Job", + "operation": "Create or Update Job", + "description": "Create or Update any Job" + } + }, + { + "name": "Microsoft.Media/mediaservices/transforms/jobs/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Job", + "operation": "Delete Job", + "description": "Delete any Job" + } + }, + { + "name": "Microsoft.Media/mediaservices/transforms/jobs/cancelJob/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Job", + "operation": "Cancel Job", + "description": "Cancel Job" + } + }, + { + "name": "Microsoft.Media/mediaservices/privateLinkResources/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "PrivateLinkResource", + "operation": "Read Private Link Resource", + "description": "Read any Private Link Resource" + } + }, + { + "name": "Microsoft.Media/mediaservices/privateEndpointConnectionProxies/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "PrivateEndpointConnectionProxy", + "operation": "Read Private Endpoint Connection Proxy", + "description": "Read any Private Endpoint Connection Proxy" + } + }, + { + "name": "Microsoft.Media/mediaservices/privateEndpointConnectionProxies/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "PrivateEndpointConnectionProxy", + "operation": "Create Private Endpoint Connection Proxy", + "description": "Create Private Endpoint Connection Proxy" + } + }, + { + "name": "Microsoft.Media/mediaservices/privateEndpointConnectionProxies/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "PrivateEndpointConnectionProxy", + "operation": "Delete Private Endpoint Connection Proxy", + "description": "Delete Private Endpoint Connection Proxy" + } + }, + { + "name": "Microsoft.Media/mediaservices/privateEndpointConnectionProxies/validate/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "PrivateEndpointConnectionProxy", + "operation": "Validate Private Endpoint Connection Proxy", + "description": "Validate Private Endpoint Connection Proxy" + } + }, + { + "name": "Microsoft.Media/mediaservices/privateEndpointConnections/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "PrivateEndpointConnection", + "operation": "Read Private Endpoint Connection", + "description": "Read any Private Endpoint Connection" + } + }, + { + "name": "Microsoft.Media/mediaservices/privateEndpointConnections/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "PrivateEndpointConnection", + "operation": "Create Private Endpoint Connection", + "description": "Create Private Endpoint Connection" + } + }, + { + "name": "Microsoft.Media/mediaservices/privateEndpointConnections/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "PrivateEndpointConnection", + "operation": "Delete Private Endpoint Connection", + "description": "Delete Private Endpoint Connection" + } + }, + { + "name": "Microsoft.Media/mediaservices/privateEndpointConnectionOperations/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Private Endpoint Connection Operation", + "operation": "Read Private Endpoint Connection Operation", + "description": "Read any Private Endpoint Connection Operation" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpoints/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoint", + "operation": "Read Streaming Endpoint", + "description": "Read any Streaming Endpoint" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpoints/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoint", + "operation": "Create or Update Streaming Endpoint", + "description": "Create or Update any Streaming Endpoint" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpoints/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoint", + "operation": "Delete Streaming Endpoint", + "description": "Delete any Streaming Endpoint" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpoints/start/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoint", + "operation": "Start Streaming Endpoint Operation", + "description": "Start any Streaming Endpoint Operation" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpoints/stop/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoint", + "operation": "Stop Streaming Endpoint Operation", + "description": "Stop any Streaming Endpoint Operation" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpoints/scale/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoint", + "operation": "Scale Streaming Endpoint Operation", + "description": "Scale any Streaming Endpoint Operation" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpoints/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoints", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpoints/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoints", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpoints/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoints", + "operation": "Get list of Media Services Streaming Endpoint Metrics definitions.", + "description": "Get list of Media Services Streaming Endpoint Metrics definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "Egress", + "displayName": "Egress", + "displayDescription": "The amount of Egress data, in bytes.", + "unit": "Bytes", + "aggregationType": "Total", + "dimensions": [ + { + "name": "OutputFormat", + "displayName": "Output Format", + "toBeExportedForShoebox": true + } + ], + "supportedAggregationTypes": [ + "Total" + ] + }, + { + "name": "SuccessE2ELatency", + "displayName": "Success end to end Latency", + "displayDescription": "The average latency for successful requests in milliseconds.", + "unit": "Milliseconds", + "aggregationType": "Average", + "dimensions": [ + { + "name": "OutputFormat", + "displayName": "Output Format", + "toBeExportedForShoebox": true + } + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "Requests", + "displayName": "Requests", + "displayDescription": "Requests to a Streaming Endpoint.", + "unit": "Count", + "aggregationType": "Total", + "dimensions": [ + { + "name": "OutputFormat", + "displayName": "Output Format", + "toBeExportedForShoebox": true + }, + { + "name": "HttpStatusCode", + "displayName": "HTTP Status Code", + "toBeExportedForShoebox": true + }, + { + "name": "ErrorCode", + "displayName": "Error Code", + "toBeExportedForShoebox": false + } + ], + "supportedAggregationTypes": [ + "Total" + ] + }, + { + "name": "EgressBandwidth", + "displayName": "Egress bandwidth", + "displayDescription": "Egress bandwidth in bits per second.", + "unit": "BitsPerSecond", + "aggregationType": "Average", + "lockAggregationType": "Total", + "dimensions": [], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "CPU", + "displayName": "CPU usage", + "displayDescription": "CPU usage for premium streaming endpoints. This data is not available for standard streaming endpoints.", + "unit": "Percent", + "aggregationType": "Average", + "dimensions": [], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + } + ] + } + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Event", + "operation": "Read Live Event", + "description": "Read any Live Event" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Event", + "operation": "Create or Update Live Event", + "description": "Create or Update any Live Event" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Event", + "operation": "Delete Live Event", + "description": "Delete any Live Event" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/start/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Event", + "operation": "Start Live Event Operation", + "description": "Start any Live Event Operation" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/stop/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Event", + "operation": "Stop Live Event Operation", + "description": "Stop any Live Event Operation" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/reset/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Event", + "operation": "Reset Live Event Operation", + "description": "Reset any Live Event Operation" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Event", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Event", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Event", + "operation": "Get a list of Media Services Live Event Metrics definitions.", + "description": "Get a list of Media Services Live Event Metrics definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "IngestBitrate", + "displayName": "Live Event ingest bitrate", + "displayDescription": "The incoming bitrate ingested for a live event, in bits per second.", + "unit": "BitsPerSecond", + "aggregationType": "Average", + "dimensions": [ + { + "name": "TrackName", + "displayName": "Track name", + "toBeExportedForShoebox": true + } + ], + "enableRegionalMdmAccount": true, + "sourceMdmNamespace": "MicrosoftMediaLiveEvent", + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "IngestLastTimestamp", + "displayName": "Live Event ingest last timestamp", + "displayDescription": "Last timestamp ingested for a live event.", + "unit": "Milliseconds", + "aggregationType": "Maximum", + "dimensions": [ + { + "name": "TrackName", + "displayName": "Track name", + "toBeExportedForShoebox": true + } + ], + "enableRegionalMdmAccount": true, + "sourceMdmNamespace": "MicrosoftMediaLiveEvent", + "supportedAggregationTypes": [ + "Maximum" + ] + }, + { + "name": "IngestDriftValue", + "displayName": "Live Event ingest drift value", + "displayDescription": "Drift between the timestamp of the ingested content and the system clock, measured in seconds per minute. A non zero value indicates that the ingested content is arriving slower than system clock time.", + "unit": "Seconds", + "aggregationType": "Maximum", + "dimensions": [ + { + "name": "TrackName", + "displayName": "Track name", + "toBeExportedForShoebox": true + } + ], + "enableRegionalMdmAccount": true, + "sourceMdmNamespace": "MicrosoftMediaLiveEvent", + "supportedAggregationTypes": [ + "Maximum" + ] + }, + { + "name": "LiveOutputLastTimestamp", + "displayName": "Last output timestamp", + "displayDescription": "Timestamp of the last fragment uploaded to storage for a live event output.", + "unit": "Milliseconds", + "aggregationType": "Maximum", + "dimensions": [ + { + "name": "TrackName", + "displayName": "Track name", + "toBeExportedForShoebox": true + } + ], + "enableRegionalMdmAccount": true, + "sourceMdmNamespace": "MicrosoftMediaLiveEvent", + "supportedAggregationTypes": [ + "Maximum" + ] + } + ] + } + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/liveOutputs/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Output", + "operation": "Read Live Output", + "description": "Read any Live Output" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/liveOutputs/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Output", + "operation": "Create or Update Live Output", + "description": "Create or Update any Live Output" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/liveOutputs/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Output", + "operation": "Delete Live Output", + "description": "Delete any Live Output" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpointOperations/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoint Operation", + "operation": "Read Streaming Endpoint Operation", + "description": "Read any Streaming Endpoint Operation" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEventOperations/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Event Operation", + "operation": "Read Live Event Operation", + "description": "Read any Live Event Operation" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveOutputOperations/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Output Operation", + "operation": "Read Live Output Operation", + "description": "Read any Live Output Operation" + } + }, + { + "name": "Microsoft.Media/mediaservices/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Media Services Account", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Media/mediaservices/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Media Services Account", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Media/mediaservices/providers/Microsoft.Insights/logDefinitions/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "The log definition of mediaservices", + "operation": "Read mediaservices log definitions", + "description": "Gets the available logs for a Media Services Account" + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "logSpecifications": [ + { + "name": "KeyDeliveryRequests", + "displayName": "Key Delivery Requests", + "blobDuration": "PT1H" + } + ] + } + } + }, + { + "name": "Microsoft.Media/mediaservices/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Media Service", + "operation": "Get list of Media Services Metric definitions.", + "description": "Get list of Media Services Metric definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "AssetQuota", + "displayName": "Asset quota", + "displayDescription": "How many assets are allowed for current media service account", + "unit": "Count", + "aggregationType": "Average", + "enableRegionalMdmAccount": true, + "sourceMdmNamespace": "MediaServiceQuotaAndUsage", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT1H", + "PT6H", + "PT12H", + "P1D" + ] + }, + { + "name": "AssetCount", + "displayName": "Asset count", + "displayDescription": "How many assets are already created in current media service account", + "unit": "Count", + "aggregationType": "Average", + "enableRegionalMdmAccount": true, + "sourceMdmNamespace": "MediaServiceQuotaAndUsage", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT1H", + "PT6H", + "PT12H", + "P1D" + ] + }, + { + "name": "AssetQuotaUsedPercentage", + "displayName": "Asset quota used percentage", + "displayDescription": "Asset used percentage in current media service account", + "unit": "Percent", + "aggregationType": "Average", + "enableRegionalMdmAccount": true, + "sourceMdmNamespace": "MediaServiceQuotaAndUsage", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT1H", + "PT6H", + "PT12H", + "P1D" + ] + }, + { + "name": "ContentKeyPolicyQuota", + "displayName": "Content Key Policy quota", + "displayDescription": "How many content key polices are allowed for current media service account", + "unit": "Count", + "aggregationType": "Average", + "enableRegionalMdmAccount": true, + "sourceMdmNamespace": "MediaServiceQuotaAndUsage", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT1H", + "PT6H", + "PT12H", + "P1D" + ] + }, + { + "name": "ContentKeyPolicyCount", + "displayName": "Content Key Policy count", + "displayDescription": "How many content key policies are already created in current media service account", + "unit": "Count", + "aggregationType": "Average", + "enableRegionalMdmAccount": true, + "sourceMdmNamespace": "MediaServiceQuotaAndUsage", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT1H", + "PT6H", + "PT12H", + "P1D" + ] + }, + { + "name": "ContentKeyPolicyQuotaUsedPercentage", + "displayName": "Content Key Policy quota used percentage", + "displayDescription": "Content Key Policy used percentage in current media service account", + "unit": "Percent", + "aggregationType": "Average", + "enableRegionalMdmAccount": true, + "sourceMdmNamespace": "MediaServiceQuotaAndUsage", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT1H", + "PT6H", + "PT12H", + "P1D" + ] + }, + { + "name": "StreamingPolicyQuota", + "displayName": "Streaming Policy quota", + "displayDescription": "How many streaming policies are allowed for current media service account", + "unit": "Count", + "aggregationType": "Average", + "enableRegionalMdmAccount": true, + "sourceMdmNamespace": "MediaServiceQuotaAndUsage", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT1H", + "PT6H", + "PT12H", + "P1D" + ] + }, + { + "name": "StreamingPolicyCount", + "displayName": "Streaming Policy count", + "displayDescription": "How many streaming policies are already created in current media service account", + "unit": "Count", + "aggregationType": "Average", + "enableRegionalMdmAccount": true, + "sourceMdmNamespace": "MediaServiceQuotaAndUsage", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT1H", + "PT6H", + "PT12H", + "P1D" + ] + }, + { + "name": "StreamingPolicyQuotaUsedPercentage", + "displayName": "Streaming Policy quota used percentage", + "displayDescription": "Streaming Policy used percentage in current media service account", + "unit": "Percent", + "aggregationType": "Average", + "enableRegionalMdmAccount": true, + "sourceMdmNamespace": "MediaServiceQuotaAndUsage", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT1H", + "PT6H", + "PT12H", + "P1D" + ] + }, + { + "name": "ChannelsAndLiveEventsCount", + "displayName": "Live event count", + "displayDescription": "The total number of live events in the current media services account", + "unit": "Count", + "aggregationType": "Average", + "enableRegionalMdmAccount": true, + "sourceMdmNamespace": "ClusterResource_ChannelsAndLiveEvents", + "supportedAggregationTypes": [ + "Average" + ] + }, + { + "name": "RunningChannelsAndLiveEventsCount", + "displayName": "Running live event count", + "displayDescription": "The total number of running live events in the current media services account", + "unit": "Count", + "aggregationType": "Average", + "enableRegionalMdmAccount": true, + "sourceMdmNamespace": "ClusterResource_ChannelsAndLiveEvents", + "supportedAggregationTypes": [ + "Average" + ] + }, + { + "name": "MaxChannelsAndLiveEventsCount", + "displayName": "Max live event quota", + "displayDescription": "The maximum number of live events allowed in the current media services account", + "unit": "Count", + "aggregationType": "Average", + "enableRegionalMdmAccount": true, + "sourceMdmNamespace": "ClusterResource_ChannelsAndLiveEvents", + "supportedAggregationTypes": [ + "Average" + ] + }, + { + "name": "MaxRunningChannelsAndLiveEventsCount", + "displayName": "Max running live event quota", + "displayDescription": "The maximum number of running live events allowed in the current media services account", + "unit": "Count", + "aggregationType": "Average", + "enableRegionalMdmAccount": true, + "sourceMdmNamespace": "ClusterResource_ChannelsAndLiveEvents", + "supportedAggregationTypes": [ + "Average" + ] + } + ] + } + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Video Analyzer Account", + "operation": "Read a Video Analyzer Account", + "description": "Read a Video Analyzer Account" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Video Analyzer Account", + "operation": "Create or Update a Video Analyzer Account", + "description": "Create or Update a Video Analyzer Account" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Video Analyzer Account", + "operation": "Delete a Video Analyzer Account", + "description": "Delete a Video Analyzer Account" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/videos/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Video Resource", + "operation": "Read Video", + "description": "Read any Video" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/videos/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Video Resource", + "operation": "Create or Update Video", + "description": "Create or Update any Video" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/videos/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Video Resource", + "operation": "Delete Video", + "description": "Delete any Video" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/videos/listStreamingToken/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Video Resource", + "operation": "Generates a streaming token which can be used for video playback", + "description": "Generates a streaming token which can be used for video playback" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/videos/listContentToken/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Video Resource", + "operation": "Generates a content token which can be used for video playback", + "description": "Generates a content token which can be used for video playback" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/accessPolicies/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Access Policy Resource", + "operation": "Read Access Policy", + "description": "Read any Access Policy" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/accessPolicies/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Access Policy Resource", + "operation": "Create or Update Access Policy", + "description": "Create or Update any Access Policy" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/accessPolicies/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Access Policy Resource", + "operation": "Delete Access Policy", + "description": "Delete any Access Policy" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/edgeModules/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Edge Module Resource", + "operation": "Read Edge Module", + "description": "Read any Edge Module" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/edgeModules/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Edge Module Resource", + "operation": "Create or Update Edge Module", + "description": "Create or Update any Edge Module" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/edgeModules/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Edge Module Resource", + "operation": "Delete Edge Module", + "description": "Delete any Edge Module" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/edgeModules/listProvisioningToken/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Edge Module Resource", + "operation": "Creates a new provisioning token", + "description": "Creates a new provisioning token. A provisioning token allows for a single instance of Azure Video analyzer IoT edge module to be initialized and authorized to the cloud account. The provisioning token itself is short lived and it is only used for the initial handshake between IoT edge module and the cloud. After the initial handshake, the IoT edge module will agree on a set of authentication keys which will be auto-rotated as long as the module is able to periodically connect to the cloud. A new provisioning token can be generated for the same IoT edge module in case the module state lost or reset" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/pipelineTopologies/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Pipeline Topology Resource", + "operation": "Read Pipeline Topology", + "description": "Read any Pipeline Topology" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/pipelineTopologies/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Pipeline Topology Resource", + "operation": "Create or Update Pipeline Topology", + "description": "Create or Update any Pipeline Topology" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/pipelineTopologies/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Pipeline Topology Resource", + "operation": "Delete Pipeline Topology", + "description": "Delete any Pipeline Topology" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/livePipelines/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Pipeline Resource", + "operation": "Read Live Pipeline", + "description": "Read any Live Pipeline" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/livePipelines/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Pipeline Resource", + "operation": "Create or Update Live Pipeline", + "description": "Create or Update any Live Pipeline" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/livePipelines/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Pipeline Resource", + "operation": "Delete Live Pipeline", + "description": "Delete any Live Pipeline" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/livePipelines/activate/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Pipeline Resource", + "operation": "Activate Live Pipeline", + "description": "Activate any Live Pipeline" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/livePipelines/deactivate/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Pipeline Resource", + "operation": "Deactivate Live Pipeline", + "description": "Deactivate any Live Pipeline" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/livePipelines/operationsStatus/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Pipeline operation status Resource", + "operation": "Read Live Pipeline operation status", + "description": "Read any Live Pipeline operation status" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/pipelineJobs/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Pipeline Job Resource", + "operation": "Read Pipeline Job", + "description": "Read any Pipeline Job" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/pipelineJobs/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Pipeline Job Resource", + "operation": "Create or Update Pipeline Job", + "description": "Create or Update any Pipeline Job" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/pipelineJobs/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Pipeline Job Resource", + "operation": "Delete Pipeline Job", + "description": "Delete any Pipeline Job" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/pipelineJobs/cancel/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Pipeline Job Resource", + "operation": "Cancel Pipeline Job", + "description": "Cancel any Pipeline Job" + } + }, + { + "name": "Microsoft.Media/videoAnalyzers/pipelineJobs/operationsStatus/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Pipeline Job operation status Resource", + "operation": "Read Pipeline Job operation status", + "description": "Read any Pipeline Job operation status" + } + }, + { + "name": "Microsoft.Media/locations/checkNameAvailability/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Microsoft Media Services", + "operation": "Check Name Availability", + "description": "Checks if a Media Services account name is available" + } + } + ] + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-cancel.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-cancel.json new file mode 100644 index 000000000000..e76283fc7bf7 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-cancel.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "pipelineJobName": "pipelineJob1", + "api-version": "2021-11-01-preview" + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-create.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-create.json new file mode 100644 index 000000000000..2cfec1d16d7d --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-create.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "pipelineJobName": "pipelineJob1", + "api-version": "2021-11-01-preview", + "parameters": { + "properties": { + "topologyName": "pipelinetopology1", + "description": "Pipeline Job 1 Dsecription", + "parameters": [ + { + "name": "timesequences", + "value": "[[\"2020-10-05T03:30:00Z\", \"2020-10-05T04:30:00Z\"]]" + }, + { + "name": "videoSourceName", + "value": "camera001" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "name": "pipelineJob1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/pipelineJobs/pipelineJob1", + "type": "Microsoft.Media/videoAnalyzers/pipelineJobs", + "properties": { + "topologyName": "pipelineTopology1", + "description": "Pipeline Job 1 Description", + "state": "Processing", + "parameters": [ + { + "name": "timeSequences", + "value": "[[\"2020-10-05T03:30:00Z\", \"2020-10-05T04:30:00Z\"]]" + }, + { + "name": "videoSourceName", + "value": "camera001" + } + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + }, + "200": { + "body": { + "name": "pipelineJob1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/pipelineJobs/pipelineJob1", + "type": "Microsoft.Media/videoAnalyzers/pipelineJobs", + "properties": { + "topologyName": "pipelineTopology1", + "description": "Pipeline Job 2 Description", + "state": "Processing", + "parameters": [ + { + "name": "timeSequences", + "value": "[[\"2020-10-05T03:30:00Z\", \"2020-10-05T04:30:00Z\"]]" + }, + { + "name": "videoSourceName", + "value": "camera001" + } + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-delete.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-delete.json new file mode 100644 index 000000000000..9af2e6d7da5e --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "pipelineJobName": "pipelineJob1", + "api-version": "2021-11-01-preview" + }, + "responses": { + "204": {}, + "200": {} + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-get-by-name.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-get-by-name.json new file mode 100644 index 000000000000..3ed1fbc1e94f --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-get-by-name.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "pipelineJobName": "pipelineJob1", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "name": "pipelineJob1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/pipelineJobs/pipelineJob1", + "type": "Microsoft.Media/videoAnalyzers/pipelineJobs", + "properties": { + "topologyName": "pipelineTopology1", + "description": "Pipeline Job 1 Description", + "state": "Processing", + "parameters": [ + { + "name": "timeSequences", + "value": "[[\"2020-10-05T03:30:00Z\", \"2020-10-05T04:30:00Z\"]]" + }, + { + "name": "videoSourceName", + "value": "camera001" + } + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-list.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-list.json new file mode 100644 index 000000000000..174b06cd0762 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-list.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "api-version": "2021-11-01-preview", + "$top": "2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "pipelineJob1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/pipelineJobs/pipelineJob1", + "type": "Microsoft.Media/videoAnalyzers/pipelineJobs", + "properties": { + "topologyName": "pipelineTopology1", + "description": "Pipeline Job 1 Description", + "state": "Processing", + "parameters": [ + { + "name": "timeSequences", + "value": "[[\"2020-10-05T03:30:00Z\", \"2020-10-05T04:30:00Z\"]]" + }, + { + "name": "videoSourceName", + "value": "camera001" + } + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + }, + { + "name": "pipelineJob2", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/pipelineJobs/pipelineJob2", + "type": "Microsoft.Media/videoAnalyzers/pipelineJobs", + "properties": { + "topologyName": "pipelineTopology1", + "description": "Pipeline Job 2 Description", + "state": "Completed", + "expiration": "2020-11-04T07:30:00Z", + "parameters": [ + { + "name": "timeSequences", + "value": "[[\"2020-10-05T03:30:00Z\", \"2020-10-05T04:30:00Z\"]]" + }, + { + "name": "videoSourceName", + "value": "camera002" + } + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-operation-status-get.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-operation-status-get.json new file mode 100644 index 000000000000..9fd601d5ef81 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-operation-status-get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "pipelineJobName": "pipelineJob1", + "operationId": "00000000-0000-0000-0000-000000000001", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "name": "00000000-0000-0000-0000-000000000001", + "status": "Failed", + "error": { + "code": "Conflict", + "message": "A conflict was encountered when processing the request", + "details": [ + { + "code": "VideoIsInUse", + "message": "The video video1 is used by another pipeline." + } + ] + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-patch.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-patch.json new file mode 100644 index 000000000000..d417a8946ac4 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-job-patch.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "pipelineJobName": "pipelineJob1", + "api-version": "2021-11-01-preview", + "parameters": { + "properties": { + "description": "Pipeline Job 1 description" + } + } + }, + "responses": { + "200": { + "body": { + "name": "pipelineJob1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/pipelineJobs/pipelineJob1", + "type": "Microsoft.Media/videoAnalyzers/pipelineJobs", + "properties": { + "topologyName": "pipelineTopology1", + "description": "Pipeline Job 1 Description", + "state": "Processing", + "parameters": [ + { + "name": "timeSequences", + "value": "[[\"2020-10-05T03:30:00Z\", \"2020-10-05T04:30:00Z\"]]" + }, + { + "name": "videoSourceName", + "value": "camera001" + } + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-topology-create.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-topology-create.json new file mode 100644 index 000000000000..aa0544dd939f --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-topology-create.json @@ -0,0 +1,220 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "pipelineTopologyName": "pipelineTopology1", + "api-version": "2021-11-01-preview", + "parameters": { + "kind": "Live", + "sku": { + "name": "Live_S1" + }, + "properties": { + "description": "Pipeline Topology 1 Description", + "parameters": [ + { + "name": "rtspUrlParameter", + "type": "String", + "description": "rtsp source url parameter", + "default": "rtsp://microsoft.com/video.mp4" + }, + { + "name": "rtspPasswordParameter", + "type": "SecretString", + "description": "rtsp source password parameter", + "default": "password" + } + ], + "sources": [ + { + "@type": "#Microsoft.VideoAnalyzer.RtspSource", + "name": "rtspSource", + "transport": "Http", + "endpoint": { + "@type": "#Microsoft.VideoAnalyzer.UnsecuredEndpoint", + "url": "${rtspUrlParameter}", + "credentials": { + "@type": "#Microsoft.VideoAnalyzer.UsernamePasswordCredentials", + "username": "username", + "password": "${rtspPasswordParameter}" + } + } + } + ], + "sinks": [ + { + "@type": "#Microsoft.VideoAnalyzer.VideoSink", + "name": "videoSink", + "videoName": "camera001", + "videoCreationProperties": { + "title": "Parking Lot (Camera 1)", + "description": "Parking lot south entrance", + "segmentLength": "PT30S" + }, + "videoPublishingOptions": { + "disableRtspPublishing": "true", + "disableArchive": "false" + }, + "inputs": [ + { + "nodeName": "rtspSource" + } + ] + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "name": "pipelineTopology1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/pipelineTopologies/pipelineTopology1", + "type": "Microsoft.Media/videoAnalyzers/pipelineTopologies", + "kind": "Live", + "properties": { + "description": "Pipeline Topology 1 Description", + "parameters": [ + { + "name": "rtspUrlParameter", + "type": "String", + "description": "rtsp source url parameter", + "default": "rtsp://microsoft.com/video.mp4" + }, + { + "name": "rtspPasswordParameter", + "type": "SecretString", + "description": "rtsp source password parameter", + "default": "password" + } + ], + "sources": [ + { + "@type": "#Microsoft.VideoAnalyzer.RtspSource", + "name": "rtspSource", + "transport": "Http", + "endpoint": { + "@type": "#Microsoft.VideoAnalyzer.UnsecuredEndpoint", + "url": "${rtspUrlParameter}", + "credentials": { + "@type": "#Microsoft.VideoAnalyzer.UsernamePasswordCredentials", + "username": "username", + "password": "${rtspPasswordParameter}" + } + } + } + ], + "processors": [], + "sinks": [ + { + "@type": "#Microsoft.VideoAnalyzer.VideoSink", + "name": "videoSink", + "videoName": "camera001", + "inputs": [ + { + "nodeName": "rtspSource" + } + ], + "videoCreationProperties": { + "title": "Parking Lot (Camera 1)", + "description": "Parking lot south entrance", + "segmentLength": "PT30S" + }, + "videoPublishingOptions": { + "disableRtspPublishing": "true", + "disableArchive": "false" + } + } + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + }, + "sku": { + "name": "Live_S1", + "tier": "Standard" + } + } + }, + "200": { + "body": { + "name": "pipelineTopology1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/pipelineTopologies/pipelineTopology1", + "type": "Microsoft.Media/videoAnalyzers/pipelineTopologies", + "kind": "Live", + "properties": { + "description": "Pipeline Topology 1 Description", + "parameters": [ + { + "name": "rtspUrlParameter", + "type": "String", + "description": "rtspUrlParameter declaration", + "default": "rtsp://microsoft.com/video.mp4" + }, + { + "name": "rtspPasswordParameter", + "type": "SecretString", + "description": "rtspPasswordParameter declaration", + "default": "password" + } + ], + "sources": [ + { + "@type": "#Microsoft.VideoAnalyzer.RtspSource", + "name": "rtspSource", + "transport": "Http", + "endpoint": { + "url": "${rtspUrlParameter}", + "credentials": { + "@type": "#Microsoft.VideoAnalyzer.UsernamePasswordCredentials", + "username": "username", + "password": "${rtspPasswordParameter}" + } + } + } + ], + "processors": [], + "sinks": [ + { + "@type": "#Microsoft.VideoAnalyzer.VideoSink", + "name": "videoSink", + "videoName": "camera001", + "inputs": [ + { + "nodeName": "rtspSource" + } + ], + "videoCreationProperties": { + "title": "Parking Lot (Camera 1)", + "description": "Parking lot south entrance", + "segmentLength": "PT30S" + }, + "videoPublishingOptions": { + "disableRtspPublishing": "true", + "disableArchive": "false" + } + } + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + }, + "sku": { + "name": "Live_S1", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-topology-delete.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-topology-delete.json new file mode 100644 index 000000000000..2b5b02f58a2c --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-topology-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "pipelineTopologyName": "pipelineTopology1", + "api-version": "2021-11-01-preview" + }, + "responses": { + "204": {}, + "200": {} + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-topology-get-by-name.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-topology-get-by-name.json new file mode 100644 index 000000000000..dfc308628e25 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-topology-get-by-name.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "pipelineTopologyName": "pipelineTopology1", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "name": "pipelineTopology1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/pipelineTopologies/pipelineTopology1", + "type": "Microsoft.Media/videoAnalyzers/pipelineTopologies", + "kind": "Live", + "properties": { + "description": "Pipeline Topology 1 Description", + "parameters": [ + { + "name": "rtspUrlParameter", + "type": "String", + "description": "rtspUrlParameter declaration", + "default": "rtsp://microsoft.com/video.mp4" + }, + { + "name": "rtspPasswordParameter", + "type": "SecretString", + "description": "rtspPasswordParameter declaration", + "default": "password" + } + ], + "sources": [ + { + "@type": "#Microsoft.VideoAnalyzer.RtspSource", + "name": "rtspSource", + "transport": "Http", + "endpoint": { + "url": "${rtspUrlParameter}", + "credentials": { + "@type": "#Microsoft.VideoAnalyzer.UsernamePasswordCredentials", + "username": "username", + "password": "${rtspPasswordParameter}" + } + } + } + ], + "processors": [], + "sinks": [ + { + "@type": "#Microsoft.VideoAnalyzer.VideoSink", + "name": "videoSink", + "videoName": "camera001", + "inputs": [ + { + "nodeName": "rtspSource" + } + ], + "videoCreationProperties": { + "title": "Parking Lot (Camera 1)", + "description": "Parking lot south entrance", + "segmentLength": "PT30S" + } + } + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + }, + "sku": { + "name": "Live_S1", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-topology-list.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-topology-list.json new file mode 100644 index 000000000000..25f7fab396b6 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-topology-list.json @@ -0,0 +1,164 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "api-version": "2021-11-01-preview", + "$top": "2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "pipelineTopology1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/pipelineTopologies/pipelineTopology1", + "type": "Microsoft.Media/videoAnalyzers/pipelineTopologies", + "kind": "Live", + "properties": { + "description": "Pipeline Topology 1 Description", + "parameters": [ + { + "name": "rtspUrlParameter", + "type": "String", + "description": "rtspUrlParameter declaration", + "default": "rtsp://microsoft.com/video.mp4" + }, + { + "name": "rtspPasswordParameter", + "type": "SecretString", + "description": "rtspPasswordParameter declaration", + "default": "password" + } + ], + "sources": [ + { + "@type": "#Microsoft.VideoAnalyzer.RtspSource", + "name": "rtspSource", + "transport": "Http", + "endpoint": { + "url": "${rtspUrlParameter}", + "credentials": { + "@type": "#Microsoft.VideoAnalyzer.UsernamePasswordCredentials", + "username": "username", + "password": "${rtspPasswordParameter}" + } + } + } + ], + "processors": [], + "sinks": [ + { + "@type": "#Microsoft.VideoAnalyzer.VideoSink", + "name": "videoSink", + "videoName": "camera001", + "inputs": [ + { + "nodeName": "rtspSource" + } + ], + "videoCreationProperties": { + "title": "Parking Lot (Camera 1)", + "description": "Parking lot south entrance", + "segmentLength": "PT30S" + } + } + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + }, + "sku": { + "name": "Live_S1", + "tier": "Standard" + } + }, + { + "name": "pipelineTopology2", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/pipelineTopologies/pipelineTopology2", + "type": "Microsoft.Media/videoAnalyzers/pipelineTopologies", + "kind": "Live", + "properties": { + "description": "Pipeline Topology 2 Description", + "parameters": [ + { + "name": "rtspUrlParameter", + "type": "String", + "description": "rtspUrlParameter declaration", + "default": "rtsp://microsoft.com/video.mp4" + }, + { + "name": "rtspPasswordParameter", + "type": "SecretString", + "description": "rtspPasswordParameter declaration", + "default": "password" + } + ], + "sources": [ + { + "@type": "#Microsoft.VideoAnalyzer.RtspSource", + "name": "rtspSource", + "transport": "Http", + "endpoint": { + "@type": "#Microsoft.VideoAnalyzer.TlsEndpoint", + "url": "${rtspUrlParameter}", + "credentials": { + "@type": "#Microsoft.VideoAnalyzer.UsernamePasswordCredentials", + "username": "username", + "password": "${rtspPasswordParameter}" + }, + "trustedCertificates": { + "@type": "#Microsoft.VideoAnalyzer.PemCertificateList", + "certificates": [ + "-----BEGIN CERTIFICATE-----\nMIIDhTCCAm2gAwIBAgIUajvPKmoO+8qaO89/ZGATl7ZYnTswDQYJKoZIhvcNAQEL\nBQAwUTESMBAGA1UECgwJTWljcm9zb2Z0MRQwEgYDVQQLDAtBenVyZSBNZWRpYTEl\nMCMGA1UEAwwcKFVudHJ1c3RlZCkgVGVzdCBDZXJ0aWZpY2F0ZTAgFw0yMDAyMDYy\nMTI5MTlaGA8zMDE5MDYwOTIxMjkxOVowUTESMBAGA1UECgwJTWljcm9zb2Z0MRQw\nEgYDVQQLDAtBenVyZSBNZWRpYTElMCMGA1UEAwwcKFVudHJ1c3RlZCkgVGVzdCBD\nZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK2lg5ff\n7xXPaBZXHl/zrTukdiBtu7BNIOchHba51eloruPRzpvQx7Pedk3CVTut7LYinijf\nuol0EwkQ2FLt2i2jOqiva9nXR95ujIZHcKsEeMC4RSNSP4++k6SpP8FgyYVdv5ru\nf8GC+HyYQ4j0TqpR/cJs53l/LGRSldaFZ6fcDde1jeyca4VivAbAH1/WDIOvmjzo\n9XIGxZ10VSS5l5+DIgdkJZ+mDMLJIuVZ0YVF16ZGEB3beq1trk5lItvmSjQLTllH\nqMFm9UGY8jKZSo/BY8ewHEtnGSAFQK0TVuRx1HhUWwu6C9jk+2zmRS2090BNpQWa\nJMKFJrSPzFDPRX8CAwEAAaNTMFEwHQYDVR0OBBYEFIumbhu0lYk0EFDThEg0yyIn\n/wZZMB8GA1UdIwQYMBaAFIumbhu0lYk0EFDThEg0yyIn/wZZMA8GA1UdEwEB/wQF\nMAMBAf8wDQYJKoZIhvcNAQELBQADggEBADUNw+/NGNVtigq9tMJKqlk39MTpDn1s\nZ1BVIAuAWSQjlevYZJeDIPUiWNWFhRe+xN7oOLnn2+NIXEKKeMSyuPoZYbN0mBkB\n99oS3XVipSANpmDvIepNdCrOnjfqDFIifRF1Dqjtb6i1hb6v/qYKVPLQvcrgGur7\nPKKkAu9p4YRZ3RBdwwaUuMgojrj/l6DGbeJY6IRVnVMY39rryMnZjA5xUlhCu55n\noB3t/jsJLwnQN+JbAjLAeuqgOWtgARsEFzvpt+VvDsaj0YLOJPhyJwTvHgaa/slB\nnECzd3TuyFKYeGssSni/QQ1e7yZcLapQqz66g5otdriw0IRdOfDxm5M=\n-----END CERTIFICATE-----" + ] + }, + "validationOptions": { + "ignoreHostname": "true", + "ignoreSignature": "false" + } + } + } + ], + "processors": [], + "sinks": [ + { + "@type": "#Microsoft.VideoAnalyzer.VideoSink", + "name": "videoSink", + "videoName": "camera001", + "inputs": [ + { + "nodeName": "rtspSource" + } + ], + "videoCreationProperties": { + "title": "Parking Lot (Camera 1)", + "description": "Parking lot south entrance", + "segmentLength": "PT30S" + } + } + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + }, + "sku": { + "name": "Live_S1", + "tier": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-topology-patch.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-topology-patch.json new file mode 100644 index 000000000000..4cc4048411b3 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/pipeline-topology-patch.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "pipelineTopologyName": "pipelineTopology1", + "api-version": "2021-11-01-preview", + "parameters": { + "properties": { + "description": "Pipeline Topology 1 Description" + } + } + }, + "responses": { + "200": { + "body": { + "name": "pipelineTopology1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/pipelineTopologies/pipelineTopology1", + "type": "Microsoft.Media/videoAnalyzers/pipelineTopologies", + "kind": "Live", + "properties": { + "description": "Pipeline Topology 1 Description", + "parameters": [ + { + "name": "rtspUrlParameter", + "type": "String", + "description": "rtspUrlParameter declaration", + "default": "rtsp://microsoft.com/video.mp4" + }, + { + "name": "rtspPasswordParameter", + "type": "SecretString", + "description": "rtspPasswordParameter declaration", + "default": "password" + } + ], + "sources": [ + { + "@type": "#Microsoft.VideoAnalyzer.RtspSource", + "name": "rtspSource", + "transport": "Http", + "endpoint": { + "url": "${rtspUrlParameter}", + "credentials": { + "@type": "#Microsoft.VideoAnalyzer.UsernamePasswordCredentials", + "username": "username", + "password": "${rtspPasswordParameter}" + } + } + } + ], + "processors": [], + "sinks": [ + { + "@type": "#Microsoft.VideoAnalyzer.VideoSink", + "name": "videoSink", + "videoName": "camera001", + "inputs": [ + { + "nodeName": "rtspSource" + } + ], + "videoCreationProperties": { + "title": "Parking Lot (Camera 1)", + "description": "Parking lot south entrance", + "segmentLength": "PT30S" + } + } + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + }, + "sku": { + "name": "Live_S1", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-accounts-create-or-update.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-accounts-create-or-update.json new file mode 100644 index 000000000000..481d119bff51 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-accounts-create-or-update.json @@ -0,0 +1,262 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosotv", + "api-version": "2021-11-01-Preview", + "parameters": { + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "encryption": { + "type": "SystemKey" + }, + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/storage1", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2" + } + } + ], + "iotHubs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Devices/IotHubs/hub1", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Devices/IotHubs/hub2", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3" + } + } + ] + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": {}, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3": {} + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "contosomovies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/videoAnalyzers/contosomovies", + "type": "Microsoft.Media/videoAnalyzers", + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "InProgress", + "encryption": { + "type": "SystemKey" + }, + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/storage1", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2" + } + } + ], + "endpoints": [ + { + "type": "ClientApi", + "endpointUrl": "https://77d7106674e0454eba85e5ede58cedbc.api.southcentralus.videoanalyzer.azure.net" + } + ], + "iotHubs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Devices/IotHubs/hub1", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3" + }, + "status": "Ok" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Devices/IotHubs/hub2", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3" + }, + "status": "Ok" + } + ], + "privateEndpointConnections": [ + { + "name": "00000000-0000-0000-0000-000000000001", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Media/videoAnalyzers/contososports/privateEndpointConnections/00000000-0000-0000-0000-000000000001", + "type": "Microsoft.Media/videoAnalyzers/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "test description" + }, + "privateEndpoint": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/reosuceGroup1/providers/Microsoft.Network/privateEndpoints/pe1" + } + } + }, + { + "name": "00000000-0000-0000-0000-000000000002", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Media/videoAnalyzers/contososports/privateEndpointConnections/00000000-0000-0000-0000-000000000002", + "type": "Microsoft.Media/videoAnalyzers/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "test description" + }, + "privateEndpoint": { + "id": "/subscriptions/22222222-2222-2222-2222-222222222222/resourceGroups/reosuceGroup2/providers/Microsoft.Network/privateEndpoints/pe2" + } + } + } + ] + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "systemData": { + "createdBy": "fakeapplication@contoso.com", + "createdByType": "Application", + "createdAt": "2021-01-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-01T00:00:00Z" + } + } + }, + "200": { + "body": { + "name": "contosomovies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/videoAnalyzers/contosomovies", + "type": "Microsoft.Media/videoAnalyzers", + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "InProgress", + "encryption": { + "type": "SystemKey" + }, + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/storage1", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2" + } + } + ], + "endpoints": [ + { + "type": "ClientApi", + "endpointUrl": "https://77d7106674e0454eba85e5ede58cedbc.api.southcentralus.videoanalyzer.azure.net" + } + ], + "iotHubs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Devices/IotHubs/hub1", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3" + }, + "status": "Ok" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Devices/IotHubs/hub2", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3" + }, + "status": "Ok" + } + ], + "privateEndpointConnections": [ + { + "name": "00000000-0000-0000-0000-000000000001", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Media/videoAnalyzers/contososports/privateEndpointConnections/00000000-0000-0000-0000-000000000001", + "type": "Microsoft.Media/videoAnalyzers/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "test description" + }, + "privateEndpoint": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/reosuceGroup1/providers/Microsoft.Network/privateEndpoints/pe1" + } + } + }, + { + "name": "00000000-0000-0000-0000-000000000002", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Media/videoAnalyzers/contososports/privateEndpointConnections/00000000-0000-0000-0000-000000000002", + "type": "Microsoft.Media/videoAnalyzers/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "test description" + }, + "privateEndpoint": { + "id": "/subscriptions/22222222-2222-2222-2222-222222222222/resourceGroups/reosuceGroup2/providers/Microsoft.Network/privateEndpoints/pe2" + } + } + } + ] + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "systemData": { + "createdBy": "fakeapplication@contoso.com", + "createdByType": "Application", + "createdAt": "2021-01-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-accounts-delete.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-accounts-delete.json new file mode 100644 index 000000000000..027d57e7064f --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-accounts-delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosotv", + "api-version": "2021-11-01-Preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-accounts-get-by-name.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-accounts-get-by-name.json new file mode 100644 index 000000000000..c448065f1bf7 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-accounts-get-by-name.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosotv", + "api-version": "2021-11-01-Preview" + }, + "responses": { + "200": { + "body": { + "name": "contosomovies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/videoAnalyzers/contosomovies", + "type": "Microsoft.Media/videoAnalyzers", + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "encryption": { + "type": "SystemKey" + }, + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/storage1", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2" + }, + "status": "identityDisconnected" + } + ], + "endpoints": [ + { + "type": "ClientApi", + "endpointUrl": "https://77d7106674e0454eba85e5ede58cedbc.api.southcentralus.videoanalyzer.azure.net" + } + ], + "iotHubs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Devices/IotHubs/hub1", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3" + }, + "status": "Ok" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Devices/IotHubs/hub2", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3" + }, + "status": "Ok" + } + ], + "privateEndpointConnections": [ + { + "name": "00000000-0000-0000-0000-000000000001", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Media/videoAnalyzers/contososports/privateEndpointConnections/00000000-0000-0000-0000-000000000001", + "type": "Microsoft.Media/videoAnalyzers/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "test description" + }, + "privateEndpoint": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/reosuceGroup1/providers/Microsoft.Network/privateEndpoints/pe1" + } + } + }, + { + "name": "00000000-0000-0000-0000-000000000002", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Media/videoAnalyzers/contososports/privateEndpointConnections/00000000-0000-0000-0000-000000000002", + "type": "Microsoft.Media/videoAnalyzers/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "test description" + }, + "privateEndpoint": { + "id": "/subscriptions/22222222-2222-2222-2222-222222222222/resourceGroups/reosuceGroup2/providers/Microsoft.Network/privateEndpoints/pe2" + } + } + } + ] + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "systemData": { + "createdBy": "fakeapplication@contoso.com", + "createdByType": "Application", + "createdAt": "2021-01-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-accounts-list-all-accounts.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-accounts-list-all-accounts.json new file mode 100644 index 000000000000..268dbc5279cb --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-accounts-list-all-accounts.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "api-version": "2021-11-01-Preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "contosomovies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/videoAnalyzers/contosomovies", + "type": "Microsoft.Media/videoAnalyzers", + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Storage/storageAccounts/contosomoviesstore" + } + ], + "iotHubs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Devices/IotHubs/hub1", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3" + }, + "status": "Ok" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Devices/IotHubs/hub2", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3" + }, + "status": "Ok" + } + ], + "privateEndpointConnections": [ + { + "name": "00000000-0000-0000-0000-000000000001", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Media/videoAnalyzers/contososports/privateEndpointConnections/00000000-0000-0000-0000-000000000001", + "type": "Microsoft.Media/videoAnalyzers/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "test description" + }, + "privateEndpoint": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/reosuceGroup1/providers/Microsoft.Network/privateEndpoints/pe1" + } + } + }, + { + "name": "00000000-0000-0000-0000-000000000002", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Media/videoAnalyzers/contososports/privateEndpointConnections/00000000-0000-0000-0000-000000000002", + "type": "Microsoft.Media/videoAnalyzers/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "test description" + }, + "privateEndpoint": { + "id": "/subscriptions/22222222-2222-2222-2222-222222222222/resourceGroups/reosuceGroup2/providers/Microsoft.Network/privateEndpoints/pe2" + } + } + } + ] + }, + "systemData": { + "createdBy": "fakeapplication@contoso.com", + "createdByType": "Application", + "createdAt": "2021-01-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-01T00:00:00Z" + } + }, + { + "name": "contosotv", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/videoAnalyzers/contosotv", + "type": "Microsoft.Media/videoAnalyzers", + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Storage/storageAccounts/contosotvstore" + } + ], + "iotHubs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Devices/IotHubs/hub1", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3" + }, + "status": "Ok" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Devices/IotHubs/hub2", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3" + }, + "status": "Ok" + } + ], + "privateEndpointConnections": [] + }, + "systemData": { + "createdBy": "fakeapplication@contoso.com", + "createdByType": "Application", + "createdAt": "2021-01-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-01T00:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-accounts-subscription-list-all-accounts.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-accounts-subscription-list-all-accounts.json new file mode 100644 index 000000000000..51427ab11f63 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-accounts-subscription-list-all-accounts.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "api-version": "2021-11-01-Preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "contosomovies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/videoAnalyzers/contosomovies", + "type": "Microsoft.Media/videoAnalyzers", + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "encryption": { + "type": "SystemKey" + }, + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/storage1", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2" + } + } + ], + "iotHubs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Devices/IotHubs/hub1", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3" + }, + "status": "Ok" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Devices/IotHubs/hub2", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3" + }, + "status": "Ok" + } + ], + "privateEndpointConnections": [ + { + "name": "00000000-0000-0000-0000-000000000001", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Media/videoAnalyzers/contososports/privateEndpointConnections/00000000-0000-0000-0000-000000000001", + "type": "Microsoft.Media/videoAnalyzers/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "test description" + }, + "privateEndpoint": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/reosuceGroup1/providers/Microsoft.Network/privateEndpoints/pe1" + } + } + }, + { + "name": "00000000-0000-0000-0000-000000000002", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Media/videoAnalyzers/contososports/privateEndpointConnections/00000000-0000-0000-0000-000000000002", + "type": "Microsoft.Media/videoAnalyzers/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "test description" + }, + "privateEndpoint": { + "id": "/subscriptions/22222222-2222-2222-2222-222222222222/resourceGroups/reosuceGroup2/providers/Microsoft.Network/privateEndpoints/pe2" + } + } + } + ] + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "systemData": { + "createdBy": "fakeapplication@contoso.com", + "createdByType": "Application", + "createdAt": "2021-01-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-01T00:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-accounts-update.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-accounts-update.json new file mode 100644 index 000000000000..c0e6643f1e29 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-accounts-update.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosotv", + "api-version": "2021-11-01-Preview", + "parameters": { + "tags": { + "key1": "value3" + } + } + }, + "responses": { + "202": { + "body": { + "name": "contosomovies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/videoAnalyzers/contosomovies", + "type": "Microsoft.Media/videoAnalyzers", + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "properties": { + "provisioningState": "Succeeded", + "encryption": { + "type": "SystemKey" + }, + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/storage1", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2" + } + } + ], + "endpoints": [ + { + "type": "ClientApi", + "endpointUrl": "https://77d7106674e0454eba85e5ede58cedbc.api.southcentralus.videoanalyzer.azure.net" + } + ], + "iotHubs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Devices/IotHubs/hub1", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3" + }, + "status": "Ok" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Devices/IotHubs/hub2", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3" + }, + "status": "Ok" + } + ], + "privateEndpointConnections": [] + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "systemData": { + "createdBy": "fakeapplication@contoso.com", + "createdByType": "Application", + "createdAt": "2021-01-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-operation-result-by-id.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-operation-result-by-id.json new file mode 100644 index 000000000000..8a5f1ea8c8cf --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-operation-result-by-id.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "locationName": "westus", + "operationId": "6FBA62C4-99B5-4FF8-9826-FC4744A8864F", + "api-version": "2021-11-01-Preview" + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "contosomovies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/videoAnalyzers/contosomovies", + "type": "Microsoft.Media/videoAnalyzers", + "location": "South Central US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "encryption": { + "type": "SystemKey" + }, + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/storage1", + "identity": { + "userAssignedIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2" + } + } + ], + "endpoints": [ + { + "type": "ClientApi", + "endpointUrl": "https://77d7106674e0454eba85e5ede58cedbc.api.southcentralus.videoanalyzer.azure.net" + } + ] + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id3": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "systemData": { + "createdBy": "fakeapplication@contoso.com", + "createdByType": "Application", + "createdAt": "2021-01-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-operation-status-by-id-non-terminal-state-failed.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-operation-status-by-id-non-terminal-state-failed.json new file mode 100644 index 000000000000..cfef1d3f8281 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-operation-status-by-id-non-terminal-state-failed.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "locationName": "westus", + "operationId": "D612C429-2526-49D5-961B-885AE11406FD", + "api-version": "2021-11-01-Preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus/VideoAnalyzerOperationStatuses/D612C429-2526-49D5-961B-885AE11406FD", + "name": "D612C429-2526-49D5-961B-885AE11406FD", + "status": "Failed", + "startTime": "2021-01-01T12:56:36.002812-08:00", + "endTime": "2021-01-01T12:56:36.002812-08:00", + "error": { + "code": "BadRequest", + "message": "Storage account cannot be accessed." + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-operation-status-by-id-non-terminal-state.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-operation-status-by-id-non-terminal-state.json new file mode 100644 index 000000000000..bed3cb95d2f9 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-operation-status-by-id-non-terminal-state.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "locationName": "westus", + "operationId": "D612C429-2526-49D5-961B-885AE11406FD", + "api-version": "2021-11-01-Preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus/VideoAnalyzerOperationStatuses/D612C429-2526-49D5-961B-885AE11406FD", + "name": "D612C429-2526-49D5-961B-885AE11406FD", + "status": "InProgress", + "startTime": "2021-01-01T12:56:36.002812-08:00", + "endTime": "2021-01-01T12:56:36.002812-08:00" + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-operation-status-by-id-terminal-state.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-operation-status-by-id-terminal-state.json new file mode 100644 index 000000000000..79525b2fb052 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-operation-status-by-id-terminal-state.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "locationName": "westus", + "operationId": "D612C429-2526-49D5-961B-885AE11406FD", + "api-version": "2021-11-01-Preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus/VideoAnalyzerOperationStatuses/D612C429-2526-49D5-961B-885AE11406FD", + "name": "D612C429-2526-49D5-961B-885AE11406FD", + "status": "Succeeded", + "startTime": "2021-01-01T12:56:36.002812-08:00", + "endTime": "2021-01-01T12:56:36.002812-08:00" + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-endpoint-connection-delete.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-endpoint-connection-delete.json new file mode 100644 index 000000000000..9bf8df98ef4a --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-endpoint-connection-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contososports", + "name": "connectionName1", + "api-version": "2021-11-01-Preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-endpoint-connection-get-by-name.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-endpoint-connection-get-by-name.json new file mode 100644 index 000000000000..6c3f93d9cd62 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-endpoint-connection-get-by-name.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contososports", + "name": "10000000-0000-0000-0000-000000000000", + "api-version": "2021-11-01-Preview" + }, + "responses": { + "200": { + "body": { + "name": "10000000-0000-0000-0000-000000000000", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fabrikam/providers/Microsoft.Media/videoanalyzers/contososports/privateEndpointConnections/10000000-0000-0000-0000-000000000000", + "type": "Microsoft.Media/videoanalyzers/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Test description." + }, + "privateEndpoint": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/reosuceGroup1/providers/Microsoft.Network/privateEndpoints/privateEndpointName1" + } + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-endpoint-connection-list.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-endpoint-connection-list.json new file mode 100644 index 000000000000..86e722a6bdcd --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-endpoint-connection-list.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contososports", + "api-version": "2021-11-01-Preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "10000000-0000-0000-0000-000000000000", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fabrikam/providers/Microsoft.Media/videoanalyzers/contososports/privateEndpointConnections/10000000-0000-0000-0000-000000000000", + "type": "Microsoft.Media/videoanalyzers/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Test description" + }, + "privateEndpoint": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/reosuceGroup1/providers/Microsoft.Network/privateEndpoints/pe1" + } + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + }, + { + "name": "20000000-0000-0000-0000-000000000000", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fabrikam/providers/Microsoft.Media/videoanalyzers/contososports/privateEndpointConnections/20000000-0000-0000-0000-000000000000", + "type": "Microsoft.Media/videoanalyzers/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Test description" + }, + "privateEndpoint": { + "id": "/subscriptions/22222222-2222-2222-2222-222222222222/resourceGroups/reosuceGroup2/providers/Microsoft.Network/privateEndpoints/pe2" + } + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-endpoint-connection-operation-result-by-id.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-endpoint-connection-operation-result-by-id.json new file mode 100644 index 000000000000..7f9026b7c42a --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-endpoint-connection-operation-result-by-id.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "locationName": "westus", + "accountName": "contososports", + "name": "6FBA62C4-99B5-4FF8-9826-FC4744A8864F", + "operationId": "10000000-0000-0000-0000-000000000000", + "api-version": "2021-11-01-Preview" + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "10000000-0000-0000-0000-000000000000", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fabrikam/providers/Microsoft.Media/videoanalyzers/contososports/privateEndpointConnections/10000000-0000-0000-0000-000000000000", + "type": "Microsoft.Media/videoanalyzers/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Test description." + }, + "privateEndpoint": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/reosuceGroup1/providers/Microsoft.Network/privateEndpoints/privateEndpointName1" + } + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-endpoint-connection-operation-status-by-id-terminal-state.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-endpoint-connection-operation-status-by-id-terminal-state.json new file mode 100644 index 000000000000..b366c9363cd5 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-endpoint-connection-operation-status-by-id-terminal-state.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "locationName": "westus", + "accountName": "contososports", + "name": "D612C429-2526-49D5-961B-885AE11406FD", + "operationId": "CDE44A33-DD32-4FFA-A1BC-601DC4D52B03", + "api-version": "2021-11-01-Preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fabrikam/providers/Microsoft.Media/videoanalyzers/contososports/privateEndpointConnections/D612C429-2526-49D5-961B-885AE11406FD/operationStatuses/CDE44A33-DD32-4FFA-A1BC-601DC4D52B03", + "name": "CDE44A33-DD32-4FFA-A1BC-601DC4D52B03", + "status": "Succeeded", + "startTime": "2021-01-01T12:56:36.002812-08:00", + "endTime": "2021-01-01T12:56:36.002812-08:00" + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-endpoint-connection-put.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-endpoint-connection-put.json new file mode 100644 index 000000000000..df0b7c1f925c --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-endpoint-connection-put.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contososports", + "name": "10000000-0000-0000-0000-000000000000", + "api-version": "2021-11-01-Preview", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Test description." + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "10000000-0000-0000-0000-000000000000", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fabrikam/providers/Microsoft.Media/videoanalyzers/contososports/privateEndpointConnections/10000000-0000-0000-0000-000000000000", + "type": "Microsoft.Media/videoanalyzers/privateEndpointConnections", + "properties": { + "provisioningState": "InProgress", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Test description." + }, + "privateEndpoint": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/reosuceGroup1/providers/Microsoft.Network/privateEndpoints/privateEndpointName1" + } + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-link-resources-get-by-name.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-link-resources-get-by-name.json new file mode 100644 index 000000000000..2752da58c3e4 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-link-resources-get-by-name.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contososports", + "name": "integration", + "api-version": "2021-11-01-Preview" + }, + "responses": { + "200": { + "body": { + "name": "integration", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fabrikam/providers/Microsoft.Media/videoanalyzers/contososports/privateLinkResources/integration", + "type": "Microsoft.Media/videoanalyzers/privateLinkResources", + "properties": { + "groupId": "integration", + "requiredMembers": [ + "edgeapi" + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-link-resources-list.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-link-resources-list.json new file mode 100644 index 000000000000..c020256ec437 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-analyzer-private-link-resources-list.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contososports", + "api-version": "2021-11-01-Preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "integration", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fabrikam/providers/Microsoft.Media/videoanalyzers/contososports/privateLinkResources/integration", + "type": "Microsoft.Media/videoanalyzers/privateLinkResources", + "properties": { + "groupId": "integration", + "requiredMembers": [ + "edgeapi" + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + }, + { + "name": "ingestion", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fabrikam/providers/Microsoft.Media/videoanalyzers/contososports/privateLinkResources/ingestion", + "type": "Microsoft.Media/videoanalyzers/privateLinkResources", + "properties": { + "groupId": "ingestion", + "requiredMembers": [ + "devicetunnel" + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + }, + { + "name": "consumption", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fabrikam/providers/Microsoft.Media/videoanalyzers/contososports/privateLinkResources/consumption", + "type": "Microsoft.Media/videoanalyzers/privateLinkResources", + "properties": { + "groupId": "consumption", + "requiredMembers": [ + "clientapi", + "rtsptunnel", + "streaming" + ] + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-create.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-create.json new file mode 100644 index 000000000000..8cc0ff500d27 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-create.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "videoName": "video1", + "api-version": "2021-11-01-preview", + "parameters": { + "properties": { + "title": "Sample Title 1", + "description": "Sample Description 1" + } + } + }, + "responses": { + "201": { + "body": { + "name": "video2", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/videos/video2", + "type": "Microsoft.Media/videoAnalyzers/videos", + "properties": { + "title": "Sample Title 1", + "description": "Sample Description 1", + "type": "Archive", + "flags": { + "canStream": false, + "hasData": false, + "isInUse": false + }, + "archival": { + "retentionPeriod": "P7D" + } + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + }, + "200": { + "body": { + "name": "video1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/videos/video1", + "type": "Microsoft.Media/videoAnalyzers/videos", + "properties": { + "title": "Sample Title 1", + "description": "Sample Description 1", + "type": "Archive", + "flags": { + "canStream": true, + "hasData": true, + "isInUse": false + }, + "contentUrls": { + "downloadUrl": "https://591e76c33e9744db879c3e2b12961b62.streaming.westus.videoanalyzer.net/591e76c33e9744db879c3e2b12961b62/content.mp4", + "archiveBaseUrl": "https://591e76c33e9744db879c3e2b12961b62.streaming.westus.videoanalyzer.net/591e76c33e9744db879c3e2b12961b62/content.ism", + "rtspTunnelUrl": "https://591e76c33e9744db879c3e2b12961b62.streaming.westus.videoanalyzer.net/591e76c33e9744db879c3e2b12961b62", + "previewImageUrls": { + "small": "https://591e76c33e9744db879c3e2b12961b62.streaming.westus.videoanalyzer.net/591e76c33e9744db879c3e2b12961b62/images/latest/small.jpg", + "medium": "https://591e76c33e9744db879c3e2b12961b62.streaming.westus.videoanalyzer.net/591e76c33e9744db879c3e2b12961b62/images/latest/medium.jpg", + "large": "https://591e76c33e9744db879c3e2b12961b62.streaming.westus.videoanalyzer.net/591e76c33e9744db879c3e2b12961b62/images/latest/large.jpg" + } + }, + "mediaInfo": { + "segmentLength": "PT30S" + }, + "archival": { + "retentionPeriod": "P7D" + } + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-delete.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-delete.json new file mode 100644 index 000000000000..8f2efff597e3 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "videoName": "video1", + "api-version": "2021-11-01-preview" + }, + "responses": { + "204": {}, + "200": {} + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-get.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-get.json new file mode 100644 index 000000000000..08f600a355e5 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-get.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "videoName": "video1", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "name": "video1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/videos/video1", + "type": "Microsoft.Media/videoAnalyzers/videos", + "properties": { + "title": "Sample Title 1", + "description": "Sample Description 1", + "type": "Archive", + "flags": { + "canStream": true, + "hasData": true, + "isInUse": false + }, + "contentUrls": { + "downloadUrl": "https://591e76c33e9744db879c3e2b12961b62.streaming.westus.videoanalyzer.net/591e76c33e9744db879c3e2b12961b62/content.mp4", + "archiveBaseUrl": "https://591e76c33e9744db879c3e2b12961b62.streaming.westus.videoanalyzer.net/591e76c33e9744db879c3e2b12961b62/content.ism", + "rtspTunnelUrl": "https://591e76c33e9744db879c3e2b12961b62.streaming.westus.videoanalyzer.net/591e76c33e9744db879c3e2b12961b62", + "previewImageUrls": { + "small": "https://591e76c33e9744db879c3e2b12961b62.streaming.westus.videoanalyzer.net/591e76c33e9744db879c3e2b12961b62/images/latest/small.jpg", + "medium": "https://591e76c33e9744db879c3e2b12961b62.streaming.westus.videoanalyzer.net/591e76c33e9744db879c3e2b12961b62/images/latest/medium.jpg", + "large": "https://591e76c33e9744db879c3e2b12961b62.streaming.westus.videoanalyzer.net/591e76c33e9744db879c3e2b12961b62/images/latest/large.jpg" + } + }, + "mediaInfo": { + "segmentLength": "PT30S" + }, + "archival": { + "retentionPeriod": "P2D" + } + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-list.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-list.json new file mode 100644 index 000000000000..6f7b4b5ffe55 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-list.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "api-version": "2021-11-01-preview", + "$top": "2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "video1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/videos/video1", + "type": "Microsoft.Media/videoAnalyzers/videos", + "properties": { + "title": "Sample Title 1", + "description": "Sample Description 1", + "type": "Archive", + "flags": { + "canStream": true, + "hasData": true, + "isInUse": false + }, + "contentUrls": { + "downloadUrl": "https://591e76c33e9744db879c3e2b12961b62.streaming.westus.videoanalyzer.net/591e76c33e9744db879c3e2b12961b62/content.mp4", + "archiveBaseUrl": "https://591e76c33e9744db879c3e2b12961b62.streaming.westus.videoanalyzer.net/591e76c33e9744db879c3e2b12961b62/content.ism", + "rtspTunnelUrl": "https://591e76c33e9744db879c3e2b12961b62.streaming.westus.videoanalyzer.net/591e76c33e9744db879c3e2b12961b62", + "previewImageUrls": { + "small": "https://591e76c33e9744db879c3e2b12961b62.streaming.westus.videoanalyzer.net/591e76c33e9744db879c3e2b12961b62/images/latest/small.jpg", + "medium": "https://591e76c33e9744db879c3e2b12961b62.streaming.westus.videoanalyzer.net/591e76c33e9744db879c3e2b12961b62/images/latest/medium.jpg", + "large": "https://591e76c33e9744db879c3e2b12961b62.streaming.westus.videoanalyzer.net/591e76c33e9744db879c3e2b12961b62/images/latest/large.jpg" + } + }, + "mediaInfo": { + "segmentLength": "PT30S" + }, + "archival": { + "retentionPeriod": "P2D" + } + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + }, + { + "name": "video2", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/videos/video2", + "type": "Microsoft.Media/videoAnalyzers/videos", + "properties": { + "title": "Sample Title 2", + "description": "Sample Description 2", + "type": "File", + "flags": { + "canStream": false, + "hasData": false, + "isInUse": false + } + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-listContentToken.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-listContentToken.json new file mode 100644 index 000000000000..c2eb1d494dae --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-listContentToken.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "videoName": "video3", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "token": "testtoken", + "expirationDate": "3021-01-23T11:04:49.0526841-08:00" + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-patch.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-patch.json new file mode 100644 index 000000000000..e0677ac6e3f5 --- /dev/null +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/examples/video-patch.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "591e76c3-3e97-44db-879c-3e2b12961b62", + "resourceGroupName": "testrg", + "accountName": "testaccount2", + "videoName": "video1", + "api-version": "2021-11-01-preview", + "parameters": { + "properties": { + "description": "Parking Lot East Entrance" + } + } + }, + "responses": { + "200": { + "body": { + "name": "video1", + "id": "/subscriptions/591e76c3-3e97-44db-879c-3e2b12961b62/resourceGroups/testrg/providers/Microsoft.Media/videoAnalyzers/testaccount2/videos/video1", + "type": "Microsoft.Media/videoAnalyzers/videos", + "properties": { + "title": "Sample Title 1", + "description": "Parking Lot East Entrance", + "type": "Archive", + "flags": { + "canStream": false, + "hasData": false, + "isInUse": false + }, + "archival": { + "retentionPeriod": "P2D" + } + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/videoanalyzer/resource-manager/readme.go.md b/specification/videoanalyzer/resource-manager/readme.go.md index 64c3c0f3e35f..0aa5d43a4e95 100644 --- a/specification/videoanalyzer/resource-manager/readme.go.md +++ b/specification/videoanalyzer/resource-manager/readme.go.md @@ -13,9 +13,19 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-preview-2021-11 - tag: package-2021-05-01-preview ``` +### Tag: package-preview-2021-11 and go + +These settings apply only when `--tag=package-preview-2021-11 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +```yaml $(tag) == 'package-preview-2021-11' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-11-01-preview/$(namespace) +``` + ### Tag: package-2021-05-01-preview and go These settings apply only when `--tag=package-2021-05-01-preview --go` is specified on the command line. diff --git a/specification/videoanalyzer/resource-manager/readme.md b/specification/videoanalyzer/resource-manager/readme.md index e3ee73d959c6..97bd0e4e2432 100644 --- a/specification/videoanalyzer/resource-manager/readme.md +++ b/specification/videoanalyzer/resource-manager/readme.md @@ -28,7 +28,32 @@ These are the global settings for the videoanalyzer. title: VideoAnalyzer description: Azure Video Analyzer provides a platform for you to build intelligent video applications that span the edge and the cloud openapi-type: arm -tag: package-2021-05-01-preview +tag: package-preview-2021-11 +``` + +### Suppression + +```yaml +directive: + - from: VideoAnalyzers.json + reason: Patch response is 202. + suppress: LongRunningResponseStatusCode + + - from: VideoAnalyzers.json + reason: Patch response is 202. + suppress: TrackedResourcePatchOperation +``` + +### Tag: package-preview-2021-11 + +These settings apply only when `--tag=package-preview-2021-11` is specified on the command line. + +```yaml $(tag) == 'package-preview-2021-11' +input-file: + - Microsoft.Media/preview/2021-11-01-preview/EdgeModules.json + - Microsoft.Media/preview/2021-11-01-preview/PipelineTopologies.json + - Microsoft.Media/preview/2021-11-01-preview/VideoAnalyzers.json + - Microsoft.Media/preview/2021-11-01-preview/Videos.json ``` ### Tag: package-2021-05-01-preview @@ -85,5 +110,3 @@ See configuration in [readme.csharp.md](./readme.csharp.md) ## Java See configuration in [readme.java.md](./readme.java.md) - - diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_CreateOrUpdate_HCX.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_CreateOrUpdate_HCX.json new file mode 100644 index 000000000000..0dff6954df33 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_CreateOrUpdate_HCX.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "addonName": "hcx", + "addon": { + "properties": { + "addonType": "HCX", + "offer": "VMware MaaS Cloud Provider (Enterprise)" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/addons/hcx", + "name": "hcx", + "properties": { + "addonType": "HCX", + "offer": "VMware MaaS Cloud Provider (Enterprise)", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.AVS/privateClouds/addons" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/addons/hcx", + "name": "hcx", + "properties": { + "addonType": "HCX", + "offer": "VMware MaaS Cloud Provider (Enterprise)", + "provisioningState": "Updating" + }, + "type": "Microsoft.AVS/privateClouds/addons" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_CreateOrUpdate_SRM.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_CreateOrUpdate_SRM.json new file mode 100644 index 000000000000..b601243c93b0 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_CreateOrUpdate_SRM.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "addonName": "srm", + "addon": { + "properties": { + "addonType": "SRM", + "licenseKey": "41915178-A8FF-4A4D-B683-6D735AF5E3F5" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/addons/srm", + "name": "srm", + "properties": { + "addonType": "SRM", + "licenseKey": "41915178-A8FF-4A4D-B683-6D735AF5E3F5", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.AVS/privateClouds/addons" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/addons/srm", + "name": "srm", + "properties": { + "addonType": "SRM", + "licenseKey": "41915178-A8FF-4A4D-B683-6D735AF5E3F5", + "provisioningState": "Updating" + }, + "type": "Microsoft.AVS/privateClouds/addons" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_CreateOrUpdate_VR.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_CreateOrUpdate_VR.json new file mode 100644 index 000000000000..b7723e85cfe2 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_CreateOrUpdate_VR.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "addonName": "vr", + "addon": { + "properties": { + "addonType": "VR", + "vrsCount": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/addons/vr", + "name": "vr", + "properties": { + "addonType": "VR", + "vrsCount": 1, + "provisioningState": "Succeeded" + }, + "type": "Microsoft.AVS/privateClouds/addons" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/addons/vr", + "name": "vr", + "properties": { + "addonType": "VR", + "vrsCount": 1, + "provisioningState": "Updating" + }, + "type": "Microsoft.AVS/privateClouds/addons" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_Delete.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_Delete.json new file mode 100644 index 000000000000..0bdcdf41a014 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "addonName": "srm" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_Get_HCX.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_Get_HCX.json new file mode 100644 index 000000000000..533a452d7328 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_Get_HCX.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "addonName": "hcx" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/addons/hcx", + "name": "hcx", + "properties": { + "addonType": "HCX", + "offer": "VMware MaaS Cloud Provider (Enterprise)", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.AVS/privateClouds/addons" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_Get_SRM.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_Get_SRM.json new file mode 100644 index 000000000000..1d7a6e4df6c3 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_Get_SRM.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "addonName": "srm" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/addons/srm", + "name": "srm", + "properties": { + "addonType": "SRM", + "licenseKey": "41915178-A8FF-4A4D-B683-6D735AF5E3F5", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.AVS/privateClouds/addons" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_Get_VR.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_Get_VR.json new file mode 100644 index 000000000000..ea00da5d1afb --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_Get_VR.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "addonName": "vr" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/addons/vr", + "name": "vr", + "properties": { + "addonType": "VR", + "vrsCount": 1, + "provisioningState": "Succeeded" + }, + "type": "Microsoft.AVS/privateClouds/addons" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_List.json new file mode 100644 index 000000000000..88a0b84d2bcc --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Addons_List.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/addons/srm", + "name": "srm", + "properties": { + "addonType": "SRM", + "licenseKey": "41915178-A8FF-4A4D-B683-6D735AF5E3F5", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.AVS/privateClouds/addons" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Authorizations_CreateOrUpdate.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Authorizations_CreateOrUpdate.json new file mode 100644 index 000000000000..fcc36069948a --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Authorizations_CreateOrUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "authorizationName": "authorization1", + "authorization": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/authorizations/authorization1", + "name": "authorization1", + "properties": { + "provisioningState": "Succeeded", + "expressRouteId": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "expressRouteAuthorizationId": "/subscriptions/5206f269-120b-41ef-a95b-0dce7109de61/resourceGroups/tnt34-cust-mockp02-spearj2dev/providers/Microsoft.Network/expressroutecircuits/tnt34-cust-mockp02-spearj2dev-er/authorizations/myauth", + "expressRouteAuthorizationKey": "37b0db3b-3b17-4c7b-bf76-bf13b01bcadc" + }, + "type": "Microsoft.AVS/privateClouds/authorizations" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/authorizations/authorization1", + "name": "authorization1", + "properties": { + "provisioningState": "Updating" + }, + "type": "Microsoft.AVS/privateClouds/authorizations" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Authorizations_Delete.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Authorizations_Delete.json new file mode 100644 index 000000000000..fec16afbe4f5 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Authorizations_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "authorizationName": "authorization1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Authorizations_Get.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Authorizations_Get.json new file mode 100644 index 000000000000..126f59e10275 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Authorizations_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "authorizationName": "authorization1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/authorizations/authorization1", + "name": "authorization1", + "properties": { + "provisioningState": "Succeeded", + "expressRouteId": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "expressRouteAuthorizationId": "/subscriptions/5206f269-120b-41ef-a95b-0dce7109de61/resourceGroups/tnt34-cust-mockp02-spearj2dev/providers/Microsoft.Network/expressroutecircuits/tnt34-cust-mockp02-spearj2dev-er/authorizations/myauth", + "expressRouteAuthorizationKey": "37b0db3b-3b17-4c7b-bf76-bf13b01bcadc" + }, + "type": "Microsoft.AVS/privateClouds/authorizations" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Authorizations_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Authorizations_List.json new file mode 100644 index 000000000000..1fa4a9619b35 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Authorizations_List.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/authorizations/authorization1", + "name": "authorization1", + "properties": { + "provisioningState": "Succeeded", + "expressRouteId": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "expressRouteAuthorizationId": "/subscriptions/5206f269-120b-41ef-a95b-0dce7109de61/resourceGroups/tnt34-cust-mockp02-spearj2dev/providers/Microsoft.Network/expressroutecircuits/tnt34-cust-mockp02-spearj2dev-er/authorizations/myauth", + "expressRouteAuthorizationKey": "37b0db3b-3b17-4c7b-bf76-bf13b01bcadc" + }, + "type": "Microsoft.AVS/privateClouds/authorizations" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/CloudLinks_CreateOrUpdate.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/CloudLinks_CreateOrUpdate.json new file mode 100644 index 000000000000..b7b9dfd71879 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/CloudLinks_CreateOrUpdate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "cloudLinkName": "cloudLink1", + "cloudLink": { + "properties": { + "linkedCloud": "/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.AVS/privateClouds/cloud2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/cloudLinks/cloudLink1", + "name": "cloudLink1", + "properties": { + "status": "Active", + "linkedCloud": "/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.AVS/privateClouds/cloud2" + }, + "type": "Microsoft.AVS/privateClouds/cloudLinks" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/cloudLinks/cloudLink1", + "name": "cloudLink1", + "properties": { + "status": "Building", + "linkedCloud": "/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.AVS/privateClouds/cloud2" + }, + "type": "Microsoft.AVS/privateClouds/cloudLinks" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/CloudLinks_Delete.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/CloudLinks_Delete.json new file mode 100644 index 000000000000..d71a9875dd9d --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/CloudLinks_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "cloudLinkName": "cloudLink1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/CloudLinks_Get.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/CloudLinks_Get.json new file mode 100644 index 000000000000..e0457eca49d2 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/CloudLinks_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "cloudLinkName": "cloudLink1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/cloudLinks/cloudLink1", + "name": "cloudLink1", + "properties": { + "status": "Active", + "linkedCloud": "/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.AVS/privateClouds/cloud2" + }, + "type": "Microsoft.AVS/privateClouds/cloudLinks" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/CloudLinks_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/CloudLinks_List.json new file mode 100644 index 000000000000..fd62c4b060ce --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/CloudLinks_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/cloudLinks/cloudLink1", + "name": "cloudLink1", + "properties": { + "status": "Active", + "linkedCloud": "/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.AVS/privateClouds/cloud2" + }, + "type": "Microsoft.AVS/privateClouds/cloudLinks" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Clusters_CreateOrUpdate.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Clusters_CreateOrUpdate.json new file mode 100644 index 000000000000..128a7486bbad --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Clusters_CreateOrUpdate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1", + "cluster": { + "sku": { + "name": "AV20" + }, + "properties": { + "clusterSize": 3 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1", + "name": "cluster1", + "sku": { + "name": "AV20" + }, + "properties": { + "clusterSize": 3, + "hosts": [ + "fakehost22.nyc1.kubernetes.center", + "fakehost23.nyc1.kubernetes.center", + "fakehost24.nyc1.kubernetes.center" + ], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.AVS/privateClouds/clusters" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1", + "name": "cluster1", + "sku": { + "name": "AV20" + }, + "properties": { + "clusterSize": 3, + "provisioningState": "Updating" + }, + "type": "Microsoft.AVS/privateClouds/clusters" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Clusters_Delete.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Clusters_Delete.json new file mode 100644 index 000000000000..2e9252029ba0 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Clusters_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Clusters_Get.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Clusters_Get.json new file mode 100644 index 000000000000..55280e215722 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Clusters_Get.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1", + "name": "cluster1", + "sku": { + "name": "AV20" + }, + "properties": { + "clusterSize": 4, + "hosts": [ + "fakehost22.nyc1.kubernetes.center", + "fakehost23.nyc1.kubernetes.center", + "fakehost24.nyc1.kubernetes.center", + "fakehost25.nyc1.kubernetes.center" + ], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.AVS/privateClouds/clusters" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Clusters_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Clusters_List.json new file mode 100644 index 000000000000..b2a5a81a3d27 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Clusters_List.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1", + "name": "cluster1", + "sku": { + "name": "AV20" + }, + "properties": { + "clusterSize": 3, + "hosts": [ + "fakehost22.nyc1.kubernetes.center", + "fakehost23.nyc1.kubernetes.center", + "fakehost24.nyc1.kubernetes.center" + ], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.AVS/privateClouds/clusters" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Clusters_Update.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Clusters_Update.json new file mode 100644 index 000000000000..370619ef8997 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Clusters_Update.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1", + "clusterUpdate": { + "properties": { + "clusterSize": 4 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1", + "name": "cluster1", + "sku": { + "name": "AV20" + }, + "properties": { + "clusterSize": 4, + "hosts": [ + "fakehost22.nyc1.kubernetes.center", + "fakehost23.nyc1.kubernetes.center", + "fakehost24.nyc1.kubernetes.center", + "fakehost25.nyc1.kubernetes.center" + ], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.AVS/privateClouds/clusters" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1", + "name": "cluster1", + "sku": { + "name": "AV20" + }, + "properties": { + "clusterSize": 4, + "provisioningState": "Updating" + }, + "type": "Microsoft.AVS/privateClouds/clusters" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Datastores_CreateOrUpdate.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Datastores_CreateOrUpdate.json new file mode 100644 index 000000000000..b465d67fcf98 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Datastores_CreateOrUpdate.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1", + "datastoreName": "datastore1", + "datastore": { + "properties": { + "netAppVolume": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/ResourceGroup1/providers/Microsoft.NetApp/netAppAccounts/NetAppAccount1/capacityPools/CapacityPool1/volumes/NFSVol1" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/datastores/datastore1", + "name": "datastore1", + "properties": { + "netAppVolume": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/ResourceGroup1/providers/Microsoft.NetApp/netAppAccounts/NetAppAccount1/capacityPools/CapacityPool1/volumes/NFSVol1" + }, + "provisioningState": "Succeeded", + "status": "Accessible" + }, + "type": "Microsoft.AVS/privateClouds/clusters/datastores" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/datastores/datastore1", + "name": "datastore1", + "properties": { + "netAppVolume": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/ResourceGroup1/providers/Microsoft.NetApp/netAppAccounts/NetAppAccount1/capacityPools/CapacityPool1/volumes/NFSVol1" + }, + "provisioningState": "Creating", + "status": "Unknown" + }, + "type": "Microsoft.AVS/privateClouds/clusters/datastores" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Datastores_Delete.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Datastores_Delete.json new file mode 100644 index 000000000000..945387e2ea0a --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Datastores_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1", + "datastoreName": "datastore1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Datastores_Get.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Datastores_Get.json new file mode 100644 index 000000000000..c884c83a53a1 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Datastores_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1", + "datastoreName": "datastore1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/datastores/datastore1", + "name": "datastore1", + "properties": { + "netAppVolume": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/ResourceGroup1/providers/Microsoft.NetApp/netAppAccounts/NetAppAccount1/capacityPools/CapacityPool1/volumes/NFSVol1" + }, + "provisioningState": "Succeeded", + "status": "Accessible" + }, + "type": "Microsoft.AVS/privateClouds/clusters/datastores" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Datastores_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Datastores_List.json new file mode 100644 index 000000000000..e1137d4fde2b --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Datastores_List.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/datastores/datastore1", + "name": "datastore1", + "properties": { + "netAppVolume": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/ResourceGroup1/providers/Microsoft.NetApp/netAppAccounts/NetAppAccount1/capacityPools/CapacityPool1/volumes/NFSVol1" + }, + "provisioningState": "Succeeded", + "status": "Accessible" + }, + "type": "Microsoft.AVS/privateClouds/clusters/datastores" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/datastores/datastore2", + "name": "datastore2", + "properties": { + "diskPoolVolume": { + "targetId": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/ResourceGroup1/providers/Microsoft.StoragePool/diskPools/DiskPool1/targets/Target1", + "lunName": "lun0", + "mountOption": "MOUNT", + "path": "/vmfs/devices/disks/naa.6001405f75f6bdf7f6f49db8b4b21723" + }, + "provisioningState": "Succeeded", + "status": "Accessible" + }, + "type": "Microsoft.AVS/privateClouds/clusters/datastores" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/GlobalReachConnections_CreateOrUpdate.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/GlobalReachConnections_CreateOrUpdate.json new file mode 100644 index 000000000000..1be98fc6cfd8 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/GlobalReachConnections_CreateOrUpdate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "globalReachConnectionName": "connection1", + "globalReachConnection": { + "properties": { + "peerExpressRouteCircuit": "/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.Network/expressRouteCircuits/mypeer", + "authorizationKey": "01010101-0101-0101-0101-010101010101" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/globalReachConnections/connection1", + "name": "connection1", + "properties": { + "addressPrefix": "10.2.3.16/29", + "authorizationKey": "01010101-0101-0101-0101-010101010101", + "circuitConnectionStatus": "Connected", + "expressRouteId": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "peerExpressRouteCircuit": "/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.Network/expressRouteCircuits/mypeer", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.AVS/privateClouds/globalReachConnections" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/globalReachConnections/connection1", + "name": "connection1", + "properties": { + "addressPrefix": "10.2.3.16/29", + "authorizationKey": "01010101-0101-0101-0101-010101010101", + "circuitConnectionStatus": "Connected", + "peerExpressRouteCircuit": "/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.Network/expressRouteCircuits/mypeer", + "provisioningState": "Updating" + }, + "type": "Microsoft.AVS/privateClouds/globalReachConnections" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/GlobalReachConnections_Delete.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/GlobalReachConnections_Delete.json new file mode 100644 index 000000000000..686f71775967 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/GlobalReachConnections_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "globalReachConnectionName": "connection1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/GlobalReachConnections_Get.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/GlobalReachConnections_Get.json new file mode 100644 index 000000000000..ed0286441a32 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/GlobalReachConnections_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "globalReachConnectionName": "connection1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/globalReachConnections/connection1", + "name": "connection1", + "properties": { + "addressPrefix": "10.2.3.16/29", + "authorizationKey": "01010101-0101-0101-0101-010101010101", + "circuitConnectionStatus": "Connected", + "expressRouteId": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "peerExpressRouteCircuit": "/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.Network/expressRouteCircuits/mypeer", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.AVS/privateClouds/globalReachConnections" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/GlobalReachConnections_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/GlobalReachConnections_List.json new file mode 100644 index 000000000000..3f5c5c300fc0 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/GlobalReachConnections_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/globalReachConnections/connection1", + "name": "connection1", + "properties": { + "addressPrefix": "10.2.3.16/29", + "authorizationKey": "01010101-0101-0101-0101-010101010101", + "circuitConnectionStatus": "Connected", + "expressRouteId": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "peerExpressRouteCircuit": "/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.Network/expressRouteCircuits/mypeer", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.AVS/privateClouds/globalReachConnections" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/HcxEnterpriseSites_CreateOrUpdate.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/HcxEnterpriseSites_CreateOrUpdate.json new file mode 100644 index 000000000000..28ab91b93b19 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/HcxEnterpriseSites_CreateOrUpdate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "hcxEnterpriseSiteName": "site1", + "hcxEnterpriseSite": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/hcxEnterpriseSites/site1", + "name": "site1", + "properties": { + "activationKey": "0276EF1A9A1749A5A362BF73EA9F8D0D", + "status": "Available" + }, + "type": "Microsoft.AVS/privateClouds/hcxEnterpriseSites" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/hcxEnterpriseSites/site1", + "name": "site1", + "properties": { + "activationKey": "0276EF1A9A1749A5A362BF73EA9F8D0D", + "status": "Available" + }, + "type": "Microsoft.AVS/privateClouds/hcxEnterpriseSites" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/HcxEnterpriseSites_Delete.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/HcxEnterpriseSites_Delete.json new file mode 100644 index 000000000000..bd6c3640283b --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/HcxEnterpriseSites_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "hcxEnterpriseSiteName": "site1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/HcxEnterpriseSites_Get.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/HcxEnterpriseSites_Get.json new file mode 100644 index 000000000000..6677286832db --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/HcxEnterpriseSites_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "hcxEnterpriseSiteName": "site1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/hcxEnterpriseSites/site1", + "name": "site1", + "properties": { + "activationKey": "0276EF1A9A1749A5A362BF73EA9F8D0D", + "status": "Available" + }, + "type": "Microsoft.AVS/privateClouds/hcxEnterpriseSites" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/HcxEnterpriseSites_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/HcxEnterpriseSites_List.json new file mode 100644 index 000000000000..8942b4b97a08 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/HcxEnterpriseSites_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/hcxEnterpriseSites/site1", + "name": "site1", + "properties": { + "activationKey": "0276EF1A9A1749A5A362BF73EA9F8D0D", + "status": "Available" + }, + "type": "Microsoft.AVS/privateClouds/hcxEnterpriseSites" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Locations_CheckQuotaAvailability.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Locations_CheckQuotaAvailability.json new file mode 100644 index 000000000000..4e243310e6b2 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Locations_CheckQuotaAvailability.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2021-12-01", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "hostsRemaining": { + "AV20": 0, + "AV36": 999 + }, + "quotaEnabled": "Enabled" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Locations_CheckTrialAvailability.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Locations_CheckTrialAvailability.json new file mode 100644 index 000000000000..c323aae4b4ee --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Locations_CheckTrialAvailability.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2021-12-01", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "status": "TrialAvailable", + "availableHosts": 4 + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Operations_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Operations_List.json new file mode 100644 index 000000000000..1c758d445859 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/Operations_List.json @@ -0,0 +1,524 @@ +{ + "parameters": { + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "display": { + "description": "Lists operations available on Microsoft.AVS resource provider.", + "operation": "List available Microsoft.AVS operations", + "provider": "Microsoft.AVS", + "resource": "operations" + }, + "isDataAction": false, + "name": "Microsoft.AVS/operations/read", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Register Subscription for Microsoft.AVS resource provider.", + "operation": "Register Subscription for Microsoft.AVS", + "provider": "Microsoft.AVS", + "resource": "" + }, + "isDataAction": false, + "name": "Microsoft.AVS/register/action", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Unregister Subscription for Microsoft.AVS resource provider.", + "operation": "Unregister Subscription for Microsoft.AVS", + "provider": "Microsoft.AVS", + "resource": "" + }, + "isDataAction": false, + "name": "Microsoft.AVS/unregister/action", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Checks if the privateCloud Name is available", + "operation": "Check Name Availability", + "provider": "Microsoft.AVS", + "resource": "checkNameAvailability" + }, + "isDataAction": false, + "name": "Microsoft.AVS/checkNameAvailability/read", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Checks if the privateCloud Name is available", + "operation": "Check Name Availability", + "provider": "Microsoft.AVS", + "resource": "locations/checkNameAvailability" + }, + "isDataAction": false, + "name": "Microsoft.AVS/locations/checkNameAvailability/read", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Checks if quota is available for the subscription", + "operation": "Check Quota Availability", + "provider": "Microsoft.AVS", + "resource": "locations/checkQuotaAvailability" + }, + "isDataAction": false, + "name": "Microsoft.AVS/locations/checkQuotaAvailability/read", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Checks if trial is available for the subscription", + "operation": "Check Trial Availability", + "provider": "Microsoft.AVS", + "resource": "locations/checkTrialAvailability" + }, + "isDataAction": false, + "name": "Microsoft.AVS/locations/checkTrialAvailability/read", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Registers the Microsoft Microsoft.AVS resource provider and enables creation of Private Clouds.", + "operation": "Register Microsoft.AVS resource provider.", + "provider": "Microsoft.AVS", + "resource": "privateClouds" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/register/action", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Creates or updates a PrivateCloud resource.", + "operation": "Create or update a PrivateCloud.", + "provider": "Microsoft.AVS", + "resource": "privateClouds" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/write", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Gets the settings for the specified PrivateCloud.", + "operation": "Read PrivateCloud settings", + "provider": "Microsoft.AVS", + "resource": "privateClouds" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/read", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Delete a specific PrivateCloud.", + "operation": "Delete a PrivateCloud.", + "provider": "Microsoft.AVS", + "resource": "privateClouds" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/delete", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Reads privateClouds operationstatuses.", + "operation": "Read privateClouds operationstatuses", + "provider": "Microsoft.AVS", + "resource": "privateClouds/operationstatuses" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/operationstatuses/read", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Gets the cluster settings for a PrivateCloud cluster.", + "operation": "Read Cluster settings.", + "provider": "Microsoft.AVS", + "resource": "privateClouds/clusters" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/clusters/read", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Create or update a PrivateCloud cluster resource.", + "operation": "Create or update a PrivateCloud cluster.", + "provider": "Microsoft.AVS", + "resource": "privateClouds/clusters" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/clusters/write", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Delete a specific PrivateCloud cluster.", + "operation": "Delete a PriveCloud cluster.", + "provider": "Microsoft.AVS", + "resource": "privateClouds/clusters" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/clusters/delete", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Reads privateClouds/clusters operationstatuses.", + "operation": "Read privateClouds/clusters operationstatuses", + "provider": "Microsoft.AVS", + "resource": "privateClouds/clusters/operationstatuses" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/clusters/operationstatuses/read", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Reads privateClouds/clusters operationresults.", + "operation": "Read privateClouds/clusters operationresults", + "provider": "Microsoft.AVS", + "resource": "privateclouds/clusters/operationresults" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateclouds/clusters/operationresults/read", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Reads privateClouds operationresults.", + "operation": "Read privateClouds operationresults", + "provider": "Microsoft.AVS", + "resource": "privateClouds/operationresults" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/operationresults/read", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Gets the authorization settings for a PrivateCloud cluster.", + "operation": "Read Authorization settings.", + "provider": "Microsoft.AVS", + "resource": "privateClouds/authorizations" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/authorizations/read", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Create or update a PrivateCloud authorization resource.", + "operation": "Create or update a PrivateCloud authorization.", + "provider": "Microsoft.AVS", + "resource": "privateClouds/authorizations" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/authorizations/write", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Delete a specific PrivateCloud authorization.", + "operation": "Delete a PriveCloud authorization.", + "provider": "Microsoft.AVS", + "resource": "privateClouds/authorizations" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/authorizations/delete", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Lists the AdminCredentials for privateClouds.", + "operation": "List privateClouds AdminCredentials", + "provider": "Microsoft.AVS", + "resource": "privateClouds" + }, + "isDataAction": true, + "name": "Microsoft.AVS/privateClouds/listAdminCredentials/action", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Gets the hcxEnterpriseSites for a PrivateCloud.", + "operation": "Read hcxEnterpriseSites", + "provider": "Microsoft.AVS", + "resource": "privateClouds/hcxEnterpriseSites" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/hcxEnterpriseSites/read", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Create or update a hcxEnterpriseSites.", + "operation": "Create or update a hcxEnterpriseSites", + "provider": "Microsoft.AVS", + "resource": "privateClouds/hcxEnterpriseSites" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/hcxEnterpriseSites/write", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Delete a specific hcxEnterpriseSites.", + "operation": "Delete a hcxEnterpriseSites", + "provider": "Microsoft.AVS", + "resource": "privateClouds/hcxEnterpriseSites" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/hcxEnterpriseSites/delete", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Gets the hostInstances for a PrivateCloud.", + "operation": "Read hostInstances", + "provider": "Microsoft.AVS", + "resource": "privateClouds/hostInstances" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/hostInstances/read", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Create or update a hostInstances.", + "operation": "Create or update a hostInstances", + "provider": "Microsoft.AVS", + "resource": "privateClouds/hostInstances" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/hostInstances/write", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Delete a specific hostInstances.", + "operation": "Delete a hostInstances", + "provider": "Microsoft.AVS", + "resource": "privateClouds/hostInstances" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/hostInstances/delete", + "origin": "user,system", + "properties": {} + }, + { + "display": { + "description": "Gets the available metrics for Private Cloud", + "operation": "Read Private Cloud metric definitions", + "provider": "Microsoft Azure Dedicated", + "resource": "privateClouds" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/providers/Microsoft.Insights/metricDefinitions/read", + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "aggregationType": "Average", + "displayDescription": "The total amount of disk used in SDDC", + "displayName": "Datastore disk used", + "enableRegionalMdmAccount": "true", + "name": "UsedLatest", + "sourceMdmAccount": "AVSShoebox2", + "sourceMdmNamespace": "Vsphere.Datastore.Disk", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "unit": "Bytes" + }, + { + "aggregationType": "Average", + "displayDescription": "The total capacity of disk in SDDC", + "displayName": "Datastore disk total capacity", + "enableRegionalMdmAccount": "true", + "name": "CapacityLatest", + "sourceMdmAccount": "AVSShoebox2", + "sourceMdmNamespace": "Vsphere.Datastore.Disk", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "unit": "Bytes" + }, + { + "aggregationType": "Average", + "displayDescription": "Total amount of machine memory in cluster that is available", + "displayName": "Average Effective Memory", + "enableRegionalMdmAccount": "true", + "name": "EffectiveMemAverage", + "sourceMdmAccount": "AVSShoebox2", + "sourceMdmNamespace": "Vsphere.Cluster.ClusterServices", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "unit": "Bytes" + }, + { + "aggregationType": "Average", + "displayDescription": "Total memory in cluster", + "displayName": "Average Total Memory", + "enableRegionalMdmAccount": "true", + "name": "TotalMbAverage", + "sourceMdmAccount": "AVSShoebox2", + "sourceMdmNamespace": "Vsphere.Cluster.Mem", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "unit": "Bytes" + }, + { + "aggregationType": "Average", + "displayDescription": "Host physical memory consumed by the virtualization infrastructure", + "displayName": "Average Memory Overhead", + "enableRegionalMdmAccount": "true", + "name": "OverheadAverage", + "sourceMdmAccount": "AVSShoebox2", + "sourceMdmNamespace": "Vsphere.Cluster.Mem", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "unit": "Bytes" + }, + { + "aggregationType": "Average", + "displayDescription": "Memory usage as percentage of total configured or available memory", + "displayName": "Average Memory Usage", + "enableRegionalMdmAccount": "true", + "name": "UsageAverage", + "sourceMdmAccount": "AVSShoebox2", + "sourceMdmNamespace": "Vsphere.Cluster.Mem", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "unit": "Percent" + }, + { + "aggregationType": "Average", + "displayDescription": "Total available CPU resources in cluster", + "displayName": "Effective CPU available", + "enableRegionalMdmAccount": "true", + "name": "EffectiveCpuAverage", + "sourceMdmAccount": "AVSShoebox2", + "sourceMdmNamespace": "Vsphere.Cluster.ClusterServices", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "unit": "Percent" + } + ] + } + } + }, + { + "display": { + "description": "Gets the diagnostic setting for the resource", + "operation": "Read diagnostic setting", + "provider": "Microsoft.AVS", + "resource": "privateClouds" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/providers/Microsoft.Insights/diagnosticSettings/read", + "origin": "system", + "properties": {} + }, + { + "display": { + "description": "Creates or updates the diagnostic setting for the resource", + "operation": "Write diagnostic setting", + "provider": "Microsoft.AVS", + "resource": "privateClouds" + }, + "isDataAction": false, + "name": "Microsoft.AVS/privateClouds/providers/Microsoft.Insights/diagnosticSettings/write", + "origin": "system", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PlacementPolicies_CreateOrUpdate.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PlacementPolicies_CreateOrUpdate.json new file mode 100644 index 000000000000..90213c81bae2 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PlacementPolicies_CreateOrUpdate.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1", + "placementPolicyName": "policy1", + "placementPolicy": { + "properties": { + "type": "VmHost", + "vmMembers": [ + "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-128", + "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-256" + ], + "hostMembers": [ + "fakehost22.nyc1.kubernetes.center", + "fakehost23.nyc1.kubernetes.center", + "fakehost24.nyc1.kubernetes.center" + ], + "affinityType": "AntiAffinity" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/placementPolicies/policy1", + "name": "policy1", + "type": "Microsoft.AVS/privateClouds/clusters/placementPolicies", + "properties": { + "displayName": "policy1", + "type": "VmHost", + "state": "Enabled", + "vmMembers": [ + "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-128", + "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-256" + ], + "hostMembers": [ + "fakehost22.nyc1.kubernetes.center", + "fakehost23.nyc1.kubernetes.center", + "fakehost24.nyc1.kubernetes.center" + ], + "affinityType": "AntiAffinity", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/placementPolicies/policy1", + "name": "policy1", + "type": "Microsoft.AVS/privateClouds/clusters/placementPolicies", + "properties": { + "displayName": "policy1", + "type": "VmHost", + "state": "Enabled", + "vmMembers": [ + "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-128", + "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-256" + ], + "hostMembers": [ + "fakehost22.nyc1.kubernetes.center", + "fakehost23.nyc1.kubernetes.center", + "fakehost24.nyc1.kubernetes.center" + ], + "affinityType": "AntiAffinity", + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PlacementPolicies_Delete.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PlacementPolicies_Delete.json new file mode 100644 index 000000000000..c89a2a01e297 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PlacementPolicies_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1", + "placementPolicyName": "policy1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PlacementPolicies_Get.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PlacementPolicies_Get.json new file mode 100644 index 000000000000..232e47e375f6 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PlacementPolicies_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1", + "placementPolicyName": "policy1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/placementPolicies/policy1", + "name": "policy1", + "type": "Microsoft.AVS/privateClouds/clusters/placementPolicies", + "properties": { + "displayName": "policy1", + "type": "VmHost", + "state": "Enabled", + "vmMembers": [ + "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-128", + "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-256" + ], + "hostMembers": [ + "fakehost22.nyc1.kubernetes.center", + "fakehost23.nyc1.kubernetes.center", + "fakehost24.nyc1.kubernetes.center" + ], + "affinityType": "AntiAffinity", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PlacementPolicies_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PlacementPolicies_List.json new file mode 100644 index 000000000000..07653aac1490 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PlacementPolicies_List.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/placementPolicies/policy1", + "name": "policy1", + "type": "Microsoft.AVS/privateClouds/clusters/placementPolicies", + "properties": { + "displayName": "policy1", + "type": "VmHost", + "state": "Enabled", + "vmMembers": [ + "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-128", + "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-256" + ], + "hostMembers": [ + "fakehost22.nyc1.kubernetes.center", + "fakehost23.nyc1.kubernetes.center", + "fakehost24.nyc1.kubernetes.center" + ], + "affinityType": "AntiAffinity", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/placementPolicies/policy2", + "name": "policy2", + "type": "Microsoft.AVS/privateClouds/clusters/placementPolicies", + "properties": { + "displayName": "policy2", + "type": "VmVm", + "state": "Enabled", + "vmMembers": [ + "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-128", + "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-256" + ], + "affinityType": "Affinity", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PlacementPolicies_Update.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PlacementPolicies_Update.json new file mode 100644 index 000000000000..00359dd23e86 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PlacementPolicies_Update.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1", + "placementPolicyName": "policy1", + "placementPolicyUpdate": { + "properties": { + "state": "Disabled", + "vmMembers": [ + "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-128", + "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-256" + ], + "hostMembers": [ + "fakehost22.nyc1.kubernetes.center", + "fakehost23.nyc1.kubernetes.center", + "fakehost24.nyc1.kubernetes.center" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/placementPolicies/policy1", + "name": "policy1", + "type": "Microsoft.AVS/privateClouds/clusters/placementPolicies", + "properties": { + "displayName": "policy1", + "type": "VmHost", + "state": "Disabled", + "vmMembers": [ + "/subs`c`riptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-128", + "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-256" + ], + "hostMembers": [ + "fakehost22.nyc1.kubernetes.center", + "fakehost23.nyc1.kubernetes.center", + "fakehost24.nyc1.kubernetes.center" + ], + "affinityType": "AntiAffinity", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/placementPolicies/policy1", + "name": "policy1", + "type": "Microsoft.AVS/privateClouds/clusters/placementPolicies", + "properties": { + "displayName": "policy1", + "type": "VmHost", + "state": "Disabled", + "vmMembers": [ + "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-128", + "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-256" + ], + "hostMembers": [ + "fakehost22.nyc1.kubernetes.center", + "fakehost23.nyc1.kubernetes.center", + "fakehost24.nyc1.kubernetes.center" + ], + "affinityType": "AntiAffinity", + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_CreateOrUpdate.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_CreateOrUpdate.json new file mode 100644 index 000000000000..67b04841521b --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_CreateOrUpdate.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "privateCloud": { + "location": "eastus2", + "sku": { + "name": "AV36" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "networkBlock": "192.168.48.0/22", + "managementCluster": { + "clusterSize": 4 + } + }, + "tags": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", + "location": "eastus2", + "name": "cloud1", + "sku": { + "name": "AV36" + }, + "properties": { + "availability": { + "strategy": "SingleZone", + "zone": 1 + }, + "networkBlock": "192.168.48.0/22", + "circuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30" + }, + "managementCluster": { + "clusterId": 1, + "clusterSize": 4, + "hosts": [ + "fakehost18.nyc1.kubernetes.center", + "fakehost19.nyc1.kubernetes.center", + "fakehost20.nyc1.kubernetes.center", + "fakehost21.nyc1.kubernetes.center" + ] + }, + "endpoints": { + "nsxtManager": "https://192.168.50.3/", + "vcsa": "https://192.168.50.2/" + }, + "externalCloudLinks": [ + "/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.AVS/privateClouds/cloud2" + ], + "identitySources": [ + { + "alias": "groupAlias", + "baseGroupDN": "ou=baseGroup", + "baseUserDN": "ou=baseUser", + "domain": "domain1", + "name": "group1", + "primaryServer": "ldaps://1.1.1.1:636/", + "secondaryServer": "ldaps://1.1.1.2:636/", + "ssl": "Enabled" + } + ], + "internet": "Disabled", + "provisioningState": "Succeeded" + }, + "tags": {}, + "type": "Microsoft.AVS/privateClouds" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", + "location": "eastus2", + "name": "cloud1", + "sku": { + "name": "AV36" + }, + "properties": { + "availability": { + "strategy": "SingleZone", + "zone": 1 + }, + "networkBlock": "192.168.48.0/22", + "circuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30" + }, + "managementCluster": { + "clusterId": 1, + "clusterSize": 4, + "hosts": [ + "fakehost18.nyc1.kubernetes.center", + "fakehost19.nyc1.kubernetes.center", + "fakehost20.nyc1.kubernetes.center", + "fakehost21.nyc1.kubernetes.center" + ] + }, + "endpoints": { + "nsxtManager": "https://192.168.50.3/", + "vcsa": "https://192.168.50.2/" + }, + "identitySources": [ + { + "alias": "groupAlias", + "baseGroupDN": "ou=baseGroup", + "baseUserDN": "ou=baseUser", + "domain": "domain1", + "name": "group1", + "primaryServer": "ldaps://1.1.1.1:636/", + "secondaryServer": "ldaps://1.1.1.2:636/", + "ssl": "Enabled" + } + ], + "internet": "Disabled", + "provisioningState": "Updating" + }, + "tags": {}, + "type": "Microsoft.AVS/privateClouds" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_CreateOrUpdate_Stretched.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_CreateOrUpdate_Stretched.json new file mode 100644 index 000000000000..ad1fec893778 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_CreateOrUpdate_Stretched.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "privateCloud": { + "location": "eastus2", + "sku": { + "name": "AV36" + }, + "properties": { + "availability": { + "strategy": "DualZone", + "zone": 1, + "secondaryZone": 2 + }, + "networkBlock": "192.168.48.0/22", + "managementCluster": { + "clusterSize": 4 + } + }, + "tags": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", + "location": "eastus2", + "name": "cloud1", + "sku": { + "name": "AV36" + }, + "properties": { + "availability": { + "strategy": "DualZone", + "zone": 1, + "secondaryZone": 2 + }, + "networkBlock": "192.168.48.0/22", + "circuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30" + }, + "secondaryCircuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect2", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30" + }, + "managementCluster": { + "clusterId": 1, + "clusterSize": 4, + "hosts": [ + "fakehost18.nyc1.kubernetes.center", + "fakehost19.nyc1.kubernetes.center", + "fakehost20.nyc1.kubernetes.center", + "fakehost21.nyc1.kubernetes.center" + ] + }, + "endpoints": { + "nsxtManager": "https://192.168.50.3/", + "vcsa": "https://192.168.50.2/" + }, + "externalCloudLinks": [ + "/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.AVS/privateClouds/cloud2" + ], + "identitySources": [ + { + "alias": "groupAlias", + "baseGroupDN": "ou=baseGroup", + "baseUserDN": "ou=baseUser", + "domain": "domain1", + "name": "group1", + "primaryServer": "ldaps://1.1.1.1:636/", + "secondaryServer": "ldaps://1.1.1.2:636/", + "ssl": "Enabled" + } + ], + "internet": "Disabled", + "provisioningState": "Succeeded" + }, + "tags": {}, + "type": "Microsoft.AVS/privateClouds" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", + "location": "eastus2", + "name": "cloud1", + "sku": { + "name": "AV36" + }, + "properties": { + "availability": { + "strategy": "SingleZone", + "zone": 1 + }, + "networkBlock": "192.168.48.0/22", + "circuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30" + }, + "managementCluster": { + "clusterId": 1, + "clusterSize": 4, + "hosts": [ + "fakehost18.nyc1.kubernetes.center", + "fakehost19.nyc1.kubernetes.center", + "fakehost20.nyc1.kubernetes.center", + "fakehost21.nyc1.kubernetes.center" + ] + }, + "endpoints": { + "nsxtManager": "https://192.168.50.3/", + "vcsa": "https://192.168.50.2/" + }, + "identitySources": [ + { + "alias": "groupAlias", + "baseGroupDN": "ou=baseGroup", + "baseUserDN": "ou=baseUser", + "domain": "domain1", + "name": "group1", + "primaryServer": "ldaps://1.1.1.1:636/", + "secondaryServer": "ldaps://1.1.1.2:636/", + "ssl": "Enabled" + } + ], + "internet": "Disabled", + "provisioningState": "Updating" + }, + "tags": {}, + "type": "Microsoft.AVS/privateClouds" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_Delete.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_Delete.json new file mode 100644 index 000000000000..9f9a54ea7a26 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_Get.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_Get.json new file mode 100644 index 000000000000..6233a97c3b12 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_Get.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", + "identity": { + "principalId": "881e5573-063f-49e4-8c08-79d7df0169d8", + "tenantId": "881e5573-063f-49e4-8c08-79d7df0169d8", + "type": "SystemAssigned" + }, + "location": "eastus2", + "name": "cloud1", + "sku": { + "name": "AV36" + }, + "properties": { + "availability": { + "strategy": "SingleZone", + "zone": 1 + }, + "networkBlock": "192.168.48.0/22", + "circuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30", + "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering" + }, + "managementCluster": { + "clusterId": 1, + "clusterSize": 4, + "hosts": [ + "fakehost18.nyc1.kubernetes.center", + "fakehost19.nyc1.kubernetes.center", + "fakehost20.nyc1.kubernetes.center", + "fakehost21.nyc1.kubernetes.center" + ] + }, + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyName": "keyname1", + "keyVersion": "ver1.0", + "keyVaultUrl": "https://keyvault1-kmip-kvault.vault.azure.net/", + "keyState": "Connected", + "versionType": "Fixed" + } + }, + "endpoints": { + "nsxtManager": "https://192.168.50.3/", + "vcsa": "https://192.168.50.2/", + "hcxCloudManager": "https://192.168.50.4/" + }, + "externalCloudLinks": [ + "/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.AVS/privateClouds/cloud2" + ], + "identitySources": [ + { + "alias": "groupAlias", + "baseGroupDN": "ou=baseGroup", + "baseUserDN": "ou=baseUser", + "domain": "domain1", + "name": "group1", + "primaryServer": "ldaps://1.1.1.1:636/", + "secondaryServer": "ldaps://1.1.1.2:636/", + "ssl": "Enabled" + } + ], + "internet": "Disabled", + "provisioningState": "Succeeded" + }, + "tags": {}, + "type": "Microsoft.AVS/privateClouds" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_Get_Stretched.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_Get_Stretched.json new file mode 100644 index 000000000000..6441802c3e2b --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_Get_Stretched.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", + "location": "eastus2", + "name": "cloud1", + "sku": { + "name": "AV36" + }, + "properties": { + "availability": { + "strategy": "DualZone", + "zone": 1, + "secondaryZone": 2 + }, + "networkBlock": "192.168.48.0/22", + "circuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30", + "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering" + }, + "secondaryCircuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30", + "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er2/peerings/AzurePrivatePeering" + }, + "managementCluster": { + "clusterId": 1, + "clusterSize": 4, + "hosts": [ + "fakehost18.nyc1.kubernetes.center", + "fakehost19.nyc1.kubernetes.center", + "fakehost20.nyc1.kubernetes.center", + "fakehost21.nyc1.kubernetes.center" + ] + }, + "endpoints": { + "nsxtManager": "https://192.168.50.3/", + "vcsa": "https://192.168.50.2/", + "hcxCloudManager": "https://192.168.50.4/" + }, + "externalCloudLinks": [ + "/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.AVS/privateClouds/cloud2" + ], + "identitySources": [ + { + "alias": "groupAlias", + "baseGroupDN": "ou=baseGroup", + "baseUserDN": "ou=baseUser", + "domain": "domain1", + "name": "group1", + "primaryServer": "ldaps://1.1.1.1:636/", + "secondaryServer": "ldaps://1.1.1.2:636/", + "ssl": "Enabled" + } + ], + "internet": "Disabled", + "provisioningState": "Succeeded" + }, + "tags": {}, + "type": "Microsoft.AVS/privateClouds" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_List.json new file mode 100644 index 000000000000..ae8579b121f6 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_List.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", + "location": "eastus2", + "name": "cloud1", + "sku": { + "name": "AV36" + }, + "properties": { + "availability": { + "strategy": "SingleZone", + "zone": 1 + }, + "networkBlock": "192.168.48.0/22", + "circuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30", + "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering" + }, + "managementCluster": { + "clusterId": 1, + "clusterSize": 4, + "hosts": [ + "fakehost18.nyc1.kubernetes.center", + "fakehost19.nyc1.kubernetes.center", + "fakehost20.nyc1.kubernetes.center", + "fakehost21.nyc1.kubernetes.center" + ] + }, + "endpoints": { + "nsxtManager": "https://192.168.50.3/", + "vcsa": "https://192.168.50.2/", + "hcxCloudManager": "https://192.168.50.4/" + }, + "externalCloudLinks": [ + "/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.AVS/privateClouds/cloud2" + ], + "identitySources": [ + { + "alias": "groupAlias", + "baseGroupDN": "ou=baseGroup", + "baseUserDN": "ou=baseUser", + "domain": "domain1", + "name": "group1", + "primaryServer": "ldaps://1.1.1.1:636/", + "secondaryServer": "ldaps://1.1.1.2:636/", + "ssl": "Enabled" + } + ], + "internet": "Disabled", + "provisioningState": "Succeeded" + }, + "tags": {}, + "type": "Microsoft.AVS/privateClouds" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_ListAdminCredentials.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_ListAdminCredentials.json new file mode 100644 index 000000000000..5716e536352e --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_ListAdminCredentials.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "nsxtPassword": "$(1X4Dkk", + "nsxtUsername": "admin", + "vcenterPassword": "", + "vcenterUsername": "cloudadmin@vsphere.local" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_ListInSubscription.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_ListInSubscription.json new file mode 100644 index 000000000000..01e27b8eac53 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_ListInSubscription.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", + "location": "eastus2", + "name": "cloud1", + "sku": { + "name": "AV36" + }, + "properties": { + "availability": { + "strategy": "SingleZone", + "zone": 1 + }, + "networkBlock": "192.168.48.0/22", + "circuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30", + "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering" + }, + "managementCluster": { + "clusterId": 1, + "clusterSize": 4, + "hosts": [ + "fakehost18.nyc1.kubernetes.center", + "fakehost19.nyc1.kubernetes.center", + "fakehost20.nyc1.kubernetes.center", + "fakehost21.nyc1.kubernetes.center" + ] + }, + "endpoints": { + "nsxtManager": "https://192.168.50.3/", + "vcsa": "https://192.168.50.2/", + "hcxCloudManager": "https://192.168.50.4/" + }, + "identitySources": [ + { + "alias": "groupAlias", + "baseGroupDN": "ou=baseGroup", + "baseUserDN": "ou=baseUser", + "domain": "domain1", + "name": "group1", + "primaryServer": "ldaps://1.1.1.1:636/", + "secondaryServer": "ldaps://1.1.1.2:636/", + "ssl": "Enabled" + } + ], + "internet": "Disabled", + "provisioningState": "Succeeded" + }, + "tags": {}, + "type": "Microsoft.AVS/privateClouds" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_ListInSubscription_Stretched.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_ListInSubscription_Stretched.json new file mode 100644 index 000000000000..b6e34e54eb60 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_ListInSubscription_Stretched.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", + "location": "eastus2", + "name": "cloud1", + "sku": { + "name": "AV36" + }, + "properties": { + "availability": { + "strategy": "DualZone", + "zone": 1, + "secondaryZone": 2 + }, + "networkBlock": "192.168.48.0/22", + "circuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30", + "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering" + }, + "secondaryCircuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect2", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30", + "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er2/peerings/AzurePrivatePeering" + }, + "managementCluster": { + "clusterId": 1, + "clusterSize": 4, + "hosts": [ + "fakehost18.nyc1.kubernetes.center", + "fakehost19.nyc1.kubernetes.center", + "fakehost20.nyc1.kubernetes.center", + "fakehost21.nyc1.kubernetes.center" + ] + }, + "endpoints": { + "nsxtManager": "https://192.168.50.3/", + "vcsa": "https://192.168.50.2/", + "hcxCloudManager": "https://192.168.50.4/" + }, + "identitySources": [ + { + "alias": "groupAlias", + "baseGroupDN": "ou=baseGroup", + "baseUserDN": "ou=baseUser", + "domain": "domain1", + "name": "group1", + "primaryServer": "ldaps://1.1.1.1:636/", + "secondaryServer": "ldaps://1.1.1.2:636/", + "ssl": "Enabled" + } + ], + "internet": "Disabled", + "provisioningState": "Succeeded" + }, + "tags": {}, + "type": "Microsoft.AVS/privateClouds" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_List_Stretched.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_List_Stretched.json new file mode 100644 index 000000000000..b6313f0db8cb --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_List_Stretched.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", + "location": "eastus2", + "name": "cloud1", + "sku": { + "name": "AV36" + }, + "properties": { + "availability": { + "strategy": "DualZone", + "zone": 1, + "secondaryZone": 2 + }, + "networkBlock": "192.168.48.0/22", + "circuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30", + "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering" + }, + "secondaryCircuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect2", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30", + "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er2/peerings/AzurePrivatePeering" + }, + "managementCluster": { + "clusterId": 1, + "clusterSize": 4, + "hosts": [ + "fakehost18.nyc1.kubernetes.center", + "fakehost19.nyc1.kubernetes.center", + "fakehost20.nyc1.kubernetes.center", + "fakehost21.nyc1.kubernetes.center" + ] + }, + "endpoints": { + "nsxtManager": "https://192.168.50.3/", + "vcsa": "https://192.168.50.2/", + "hcxCloudManager": "https://192.168.50.4/" + }, + "externalCloudLinks": [ + "/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.AVS/privateClouds/cloud2" + ], + "identitySources": [ + { + "alias": "groupAlias", + "baseGroupDN": "ou=baseGroup", + "baseUserDN": "ou=baseUser", + "domain": "domain1", + "name": "group1", + "primaryServer": "ldaps://1.1.1.1:636/", + "secondaryServer": "ldaps://1.1.1.2:636/", + "ssl": "Enabled" + } + ], + "internet": "Disabled", + "provisioningState": "Succeeded" + }, + "tags": {}, + "type": "Microsoft.AVS/privateClouds" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_RotateNsxtPassword.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_RotateNsxtPassword.json new file mode 100644 index 000000000000..1f34e4f1b42a --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_RotateNsxtPassword.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_RotateVcenterPassword.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_RotateVcenterPassword.json new file mode 100644 index 000000000000..1f34e4f1b42a --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_RotateVcenterPassword.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_Update.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_Update.json new file mode 100644 index 000000000000..0873e29fcd2a --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_Update.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "privateCloudUpdate": { + "identity": { + "type": "None" + }, + "properties": { + "managementCluster": { + "clusterSize": 4 + }, + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyName": "keyname1", + "keyVersion": "ver1.0", + "keyVaultUrl": "https://keyvault1-kmip-kvault.vault.azure.net/" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", + "location": "eastus2", + "name": "cloud1", + "sku": { + "name": "AV36" + }, + "properties": { + "availability": { + "strategy": "SingleZone", + "zone": 1 + }, + "networkBlock": "192.168.48.0/22", + "circuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30", + "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering" + }, + "managementCluster": { + "clusterId": 1, + "clusterSize": 4, + "hosts": [ + "fakehost18.nyc1.kubernetes.center", + "fakehost19.nyc1.kubernetes.center", + "fakehost20.nyc1.kubernetes.center", + "fakehost21.nyc1.kubernetes.center" + ] + }, + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyName": "keyname1", + "keyVersion": "ver1.0", + "keyVaultUrl": "https://keyvault1-kmip-kvault.vault.azure.net/", + "versionType": "Fixed" + } + }, + "endpoints": { + "nsxtManager": "https://192.168.50.3/", + "vcsa": "https://192.168.50.2/", + "hcxCloudManager": "https://192.168.50.4/" + }, + "externalCloudLinks": [ + "/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.AVS/privateClouds/cloud2" + ], + "identitySources": [ + { + "alias": "groupAlias", + "baseGroupDN": "ou=baseGroup", + "baseUserDN": "ou=baseUser", + "domain": "domain1", + "name": "group1", + "primaryServer": "ldaps://1.1.1.1:636/", + "secondaryServer": "ldaps://1.1.1.2:636/", + "ssl": "Enabled" + } + ], + "internet": "Disabled", + "provisioningState": "Succeeded" + }, + "tags": {}, + "type": "Microsoft.AVS/privateClouds" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", + "location": "eastus2", + "name": "cloud1", + "sku": { + "name": "AV36" + }, + "properties": { + "networkBlock": "192.168.48.0/22", + "circuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30", + "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering" + }, + "managementCluster": { + "clusterId": 1, + "clusterSize": 4, + "hosts": [ + "fakehost18.nyc1.kubernetes.center", + "fakehost19.nyc1.kubernetes.center", + "fakehost20.nyc1.kubernetes.center", + "fakehost21.nyc1.kubernetes.center" + ] + }, + "encryption": { + "status": "Disabled", + "keyVaultProperties": { + "keyName": "keyname1", + "keyVersion": "ver1.0", + "keyVaultUrl": "https://keyvault1-kmip-kvault.vault.azure.net/" + } + }, + "endpoints": { + "nsxtManager": "https://192.168.50.3/", + "vcsa": "https://192.168.50.2/" + }, + "identitySources": [ + { + "alias": "groupAlias", + "baseGroupDN": "ou=baseGroup", + "baseUserDN": "ou=baseUser", + "domain": "domain1", + "name": "group1", + "primaryServer": "ldaps://1.1.1.1:636/", + "secondaryServer": "ldaps://1.1.1.2:636/", + "ssl": "Enabled" + } + ], + "internet": "Disabled", + "provisioningState": "Updating" + }, + "tags": {}, + "type": "Microsoft.AVS/privateClouds" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_Update_Stretched.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_Update_Stretched.json new file mode 100644 index 000000000000..687bce7307e7 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/PrivateClouds_Update_Stretched.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "privateCloudUpdate": { + "properties": { + "managementCluster": { + "clusterSize": 4 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", + "location": "eastus2", + "name": "cloud1", + "sku": { + "name": "AV36" + }, + "properties": { + "availability": { + "strategy": "DualZone", + "zone": 1, + "secondaryZone": 2 + }, + "networkBlock": "192.168.48.0/22", + "circuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30", + "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering" + }, + "secondaryCircuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect2", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30", + "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er2/peerings/AzurePrivatePeering" + }, + "managementCluster": { + "clusterId": 1, + "clusterSize": 4, + "hosts": [ + "fakehost18.nyc1.kubernetes.center", + "fakehost19.nyc1.kubernetes.center", + "fakehost20.nyc1.kubernetes.center", + "fakehost21.nyc1.kubernetes.center" + ] + }, + "endpoints": { + "nsxtManager": "https://192.168.50.3/", + "vcsa": "https://192.168.50.2/", + "hcxCloudManager": "https://192.168.50.4/" + }, + "externalCloudLinks": [ + "/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.AVS/privateClouds/cloud2" + ], + "identitySources": [ + { + "alias": "groupAlias", + "baseGroupDN": "ou=baseGroup", + "baseUserDN": "ou=baseUser", + "domain": "domain1", + "name": "group1", + "primaryServer": "ldaps://1.1.1.1:636/", + "secondaryServer": "ldaps://1.1.1.2:636/", + "ssl": "Enabled" + } + ], + "internet": "Disabled", + "provisioningState": "Succeeded" + }, + "tags": {}, + "type": "Microsoft.AVS/privateClouds" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", + "location": "eastus2", + "name": "cloud1", + "sku": { + "name": "AV36" + }, + "properties": { + "networkBlock": "192.168.48.0/22", + "circuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30", + "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering" + }, + "managementCluster": { + "clusterId": 1, + "clusterSize": 4, + "hosts": [ + "fakehost18.nyc1.kubernetes.center", + "fakehost19.nyc1.kubernetes.center", + "fakehost20.nyc1.kubernetes.center", + "fakehost21.nyc1.kubernetes.center" + ] + }, + "endpoints": { + "nsxtManager": "https://192.168.50.3/", + "vcsa": "https://192.168.50.2/" + }, + "identitySources": [ + { + "alias": "groupAlias", + "baseGroupDN": "ou=baseGroup", + "baseUserDN": "ou=baseUser", + "domain": "domain1", + "name": "group1", + "primaryServer": "ldaps://1.1.1.1:636/", + "secondaryServer": "ldaps://1.1.1.2:636/", + "ssl": "Enabled" + } + ], + "internet": "Disabled", + "provisioningState": "Updating" + }, + "tags": {}, + "type": "Microsoft.AVS/privateClouds" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptCmdlets_Get.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptCmdlets_Get.json new file mode 100644 index 000000000000..1180009e670e --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptCmdlets_Get.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "{privateCloudName}", + "scriptPackageName": "{scriptPackageName}", + "scriptCmdletName": "New-ExternalSsoDomain" + }, + "responses": { + "200": { + "body": { + "name": "New-ExternalSsoDomain", + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/{privateCloudName}/scriptPackages/{scriptPackageName}/scriptCmdlets/New-ExternalSsoDomain", + "properties": { + "description": "Add an external Sso domain to their vCenter", + "timeout": "P0Y0M0DT0H60M0S", + "parameters": [ + { + "name": "DomainName", + "description": "Domain name of the Server", + "type": "String", + "visibility": "Visible", + "optional": "Required" + }, + { + "name": "BaseUserDN", + "description": "Base User DN of the Server", + "type": "String", + "visibility": "Visible", + "optional": "Required" + }, + { + "name": "Password", + "description": "Password for authenticating to the server", + "type": "SecureString", + "visibility": "Hidden", + "optional": "Required" + } + ] + }, + "type": "Microsoft.AVS/privateClouds/scriptPackages/scriptCmdlets" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptCmdlets_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptCmdlets_List.json new file mode 100644 index 000000000000..f1d4ecdc2dbf --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptCmdlets_List.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "{privateCloudName}", + "scriptPackageName": "{scriptPackageName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Set-AvsStoragePolicy", + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/scriptPackages/{scriptPackageName}/scriptCmdlets/Set-AvsStoragePolicy", + "properties": { + "description": "Allow user to set the storage policy of the specified VM", + "timeout": "P0Y0M0DT0H60M0S", + "parameters": [ + { + "name": "VM", + "description": "VM to set the storage policy on", + "type": "String", + "visibility": "Visible", + "optional": "Required" + }, + { + "name": "StoragePolicyName", + "description": "Name of the storage policy to set", + "type": "String", + "visibility": "Visible", + "optional": "Required" + } + ] + }, + "type": "Microsoft.AVS/privateClouds/scriptPackages/scriptCmdlets" + }, + { + "name": "New-ExternalSsoDomain", + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/scriptPackages/{scriptPackageName}/scriptCmdlets/New-ExternalSsoDomain", + "properties": { + "description": "Add an external Sso domain to their vCenter", + "timeout": "P0Y0M0DT0H60M0S", + "parameters": [ + { + "name": "DomainName", + "description": "Domain name of the Server", + "type": "String", + "visibility": "Visible", + "optional": "Required" + }, + { + "name": "BaseUserDN", + "description": "Base User DN of the Server", + "type": "String", + "visibility": "Visible", + "optional": "Required" + }, + { + "name": "Password", + "description": "Password for authenticating to the server", + "type": "SecureString", + "visibility": "Hidden", + "optional": "Required" + } + ] + }, + "type": "Microsoft.AVS/privateClouds/scriptPackages/scriptCmdlets" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptExecutions_CreateOrUpdate.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptExecutions_CreateOrUpdate.json new file mode 100644 index 000000000000..0de62b03ea24 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptExecutions_CreateOrUpdate.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "scriptExecutionName": "addSsoServer", + "scriptExecution": { + "properties": { + "scriptCmdletId": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/scriptPackages/AVS.PowerCommands@1.0.0/scriptCmdlets/New-SsoExternalIdentitySource", + "timeout": "P0Y0M0DT0H60M60S", + "retention": "P0Y0M60DT0H60M60S", + "parameters": [ + { + "name": "DomainName", + "type": "Value", + "value": "placeholderDomain.local" + }, + { + "name": "BaseUserDN", + "type": "Value", + "value": "DC=placeholder, DC=placeholder" + } + ], + "hiddenParameters": [ + { + "name": "Password", + "type": "SecureValue", + "secureValue": "PlaceholderPassword" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/scriptExecutions/addSsoServer", + "name": "addSsoServer", + "properties": { + "scriptCmdletId": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/scriptPackages/AVS.PowerCommands@1.0.0/scriptCmdlets/New-SsoExternalIdentitySource", + "timeout": "P0Y0M0DT0H60M60S", + "retention": "P0Y0M60DT0H60M60S", + "provisioningState": "Succeeded", + "failureReason": "vCenter failed to connect to the external server", + "parameters": [ + { + "name": "DomainName", + "type": "Value", + "value": "placeholderDomain.local" + }, + { + "name": "BaseUserDN", + "type": "Value", + "value": "DC=placeholder, DC=placeholder" + } + ], + "output": [ + "IdentitySource: placeholder.dc", + "BaseDN='dc=placeholder, dc=local" + ] + }, + "type": "Microsoft.AVS/privateClouds/scriptExecutions" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/scriptExecutions/addSsoServer", + "name": "addSsoServer", + "properties": { + "scriptCmdletId": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/scriptPackages/AVS.PowerCommands@1.0.0/scriptCmdlets/New-SsoExternalIdentitySource", + "timeout": "P0Y0M0DT0H60M60S", + "retention": "P0Y0M60DT0H60M60S", + "provisioningState": "Running", + "parameters": [ + { + "name": "DomainName", + "type": "Value", + "value": "placeholderDomain.local" + }, + { + "name": "BaseUserDN", + "type": "Value", + "value": "DC=placeholder, DC=placeholder" + } + ] + }, + "type": "Microsoft.AVS/privateClouds/scriptExecutions" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptExecutions_Delete.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptExecutions_Delete.json new file mode 100644 index 000000000000..68267166e647 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptExecutions_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "scriptExecutionName": "{scriptExecutionName}" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptExecutions_Get.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptExecutions_Get.json new file mode 100644 index 000000000000..3e6d61c6b919 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptExecutions_Get.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "scriptExecutionName": "addSsoServer" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/scriptExecutions/addSsoServer", + "name": "addSsoServer", + "properties": { + "scriptCmdletId": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/scriptPackages/AVS.PowerCommands@1.0.0/scriptCmdlets/New-SsoExternalIdentitySource", + "timeout": "P0Y0M0DT0H60M60S", + "retention": "P0Y0M60DT0H60M60S", + "submittedAt": "2021-03-21T17:31:28Z", + "startedAt": "2021-03-21T17:32:28Z", + "finishedAt": "2021-03-21T18:32:28Z", + "provisioningState": "Succeeded", + "failureReason": "vCenter failed to connect to the external server", + "parameters": [ + { + "name": "DomainName", + "type": "Value", + "value": "placeholderDomain.local" + }, + { + "name": "BaseUserDN", + "type": "Value", + "value": "DC=placeholder, DC=placeholder" + } + ] + }, + "type": "Microsoft.AVS/privateClouds/scriptExecutions" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptExecutions_GetExecutionLogs.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptExecutions_GetExecutionLogs.json new file mode 100644 index 000000000000..820646b12b9d --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptExecutions_GetExecutionLogs.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "scriptExecutionName": "addSsoServer", + "scriptOutputStreamType": [ + "Information", + "Warnings", + "Errors", + "Output" + ] + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/scriptExecutions/addSsoServer", + "name": "addSsoServer", + "properties": { + "timeout": "P0Y0M0D0H060M0S", + "output": [ + "Most recent output", + "Second most recent output" + ], + "errors": [ + "Most recent error output", + "Second most error recent output" + ], + "warnings": [ + "Most recent warning output", + "Second most recent warning output" + ], + "information": [ + "Most recent information output", + "Second most recent information output" + ] + } + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptExecutions_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptExecutions_List.json new file mode 100644 index 000000000000..e1ed4fe1d031 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptExecutions_List.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "{privateCloudName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/scriptExecutions/addSsoServer", + "name": "addSsoServer", + "properties": { + "scriptCmdletId": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/scriptPackages/AVS:1.0.0/scriptCmdlets/New-SsoExternalIdentitySource", + "timeout": "P0Y0M0DT0H60M60S", + "retention": "P0Y0M60DT0H60M60S", + "submittedAt": "2021-03-21T17:31:28Z", + "startedAt": "2021-03-21T17:32:28Z", + "finishedAt": "2021-03-21T18:32:28Z", + "provisioningState": "Failed", + "failureReason": "vCenter failed to connect to the external server", + "parameters": [ + { + "name": "DomainName", + "type": "Value", + "value": "placeholderDomain.local" + }, + { + "name": "BaseUserDN", + "type": "Value", + "value": "DC=placeholder, DC=placeholder" + } + ] + }, + "type": "Microsoft.AVS/privateClouds/scriptExecutions" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptPackages_Get.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptPackages_Get.json new file mode 100644 index 000000000000..109526570595 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptPackages_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "{privateCloudName}", + "scriptPackageName": "{scriptPackageName}" + }, + "responses": { + "200": { + "body": { + "name": "AVS.PowerCommands@1.0.0", + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/scriptPackages/{scriptPackageName}", + "properties": { + "description": "Various cmdlets for elevated access to Private Cloud administrative functions", + "version": "1.0.0" + }, + "type": "Microsoft.AVS/privateClouds/scriptPackages" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptPackages_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptPackages_List.json new file mode 100644 index 000000000000..0b77697e2eba --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/ScriptPackages_List.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "{privateCloudName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "AVS.PowerCommands@1.0.0", + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/scriptPackages/AVS.PowerCommands@1.0.0", + "properties": { + "description": "Various cmdlets for elevated access to Private Cloud administrative functions", + "version": "1.0.0" + }, + "type": "Microsoft.AVS/privateClouds/scriptPackages" + }, + { + "name": "JSDR.Configuration@1.0", + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/scriptPackages/JSDR.Configuration@1.0", + "properties": { + "description": "Various cmdlets by Jetstream for Private Cloud administration", + "version": "1.0.0" + }, + "type": "Microsoft.AVS/privateClouds/scriptPackages" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/VirtualMachines_Get.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/VirtualMachines_Get.json new file mode 100644 index 000000000000..1406bf92429c --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/VirtualMachines_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1", + "virtualMachineId": "vm-209" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-209", + "name": "vm-209", + "type": "Microsoft.AVS/privateClouds/clusters/virtualMachines", + "properties": { + "displayName": "contoso-vm", + "moRefId": "vm-209", + "folderPath": "vm/folder-1", + "restrictMovement": "Disabled" + } + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/VirtualMachines_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/VirtualMachines_List.json new file mode 100644 index 000000000000..9ee72249a566 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/VirtualMachines_List.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-209", + "name": "vm-209", + "type": "Microsoft.AVS/privateClouds/clusters/virtualMachines", + "properties": { + "displayName": "contoso-vm1", + "moRefId": "vm-209", + "folderPath": "vm/folder-1", + "restrictMovement": "Disabled" + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/virtualMachines/vm-128", + "name": "vm-128", + "type": "Microsoft.AVS/privateClouds/clusters/virtualMachines", + "properties": { + "displayName": "contoso-vm2", + "moRefId": "vm-128", + "folderPath": "vm", + "restrictMovement": "Enabled" + } + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/VirtualMachines_RestrictMovement.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/VirtualMachines_RestrictMovement.json new file mode 100644 index 000000000000..8bb9e770ec43 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/VirtualMachines_RestrictMovement.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1", + "virtualMachineId": "vm-209", + "restrictMovement": { + "restrictMovement": "Enabled" + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreateDhcpConfigurations.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreateDhcpConfigurations.json new file mode 100644 index 000000000000..448dc9e1b07f --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreateDhcpConfigurations.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "dhcpId": "dhcp1", + "workloadNetworkDhcp": { + "properties": { + "dhcpType": "SERVER", + "displayName": "dhcpConfigurations1", + "serverAddress": "40.1.5.1/24", + "leaseTime": 86400, + "revision": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/dhcpConfigurations/dhcpConfigurations1", + "name": "dhcp1", + "properties": { + "dhcpType": "SERVER", + "displayName": "dhcpConfigurations1", + "segments": [ + "segment1", + "segment2" + ], + "serverAddress": "40.1.5.1/24", + "leaseTime": 86400, + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/dhcpConfigurations/dhcpConfigurations1", + "name": "dhcp1", + "properties": { + "dhcpType": "SERVER", + "displayName": "dhcpConfigurations1", + "segments": [ + "segment1", + "segment2" + ], + "serverAddress": "40.1.5.1/24", + "leaseTime": 86400, + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreateDnsServices.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreateDnsServices.json new file mode 100644 index 000000000000..4f4c1508b572 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreateDnsServices.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "dnsServiceId": "dnsService1", + "workloadNetworkDnsService": { + "properties": { + "displayName": "dnsService1", + "dnsServiceIp": "5.5.5.5", + "defaultDnsZone": "defaultDnsZone1", + "fqdnZones": [ + "fqdnZone1" + ], + "logLevel": "INFO", + "revision": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/dnsServices/dnsService1", + "name": "dnsService1", + "properties": { + "displayName": "dnsService1", + "dnsServiceIp": "5.5.5.5", + "defaultDnsZone": "defaultDnsZone1", + "fqdnZones": [ + "fqdnZone1" + ], + "logLevel": "INFO", + "status": "SUCCESS", + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/dnsServices" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/dnsServices/dnsService1", + "name": "dnsService1", + "properties": { + "displayName": "dnsService1", + "dnsServiceIp": "5.5.5.5", + "defaultDnsZone": "defaultDnsZone1", + "fqdnZones": [ + "fqdnZone1" + ], + "logLevel": "INFO", + "status": "SUCCESS", + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/dnsServices" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreateDnsZones.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreateDnsZones.json new file mode 100644 index 000000000000..700288c37010 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreateDnsZones.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "dnsZoneId": "dnsZone1", + "workloadNetworkDnsZone": { + "properties": { + "displayName": "dnsZone1", + "domain": [], + "dnsServerIps": [ + "1.1.1.1" + ], + "sourceIp": "8.8.8.8", + "revision": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/dnsZones/dnsZone1", + "name": "dnsZone1", + "properties": { + "displayName": "dnsZone1", + "domain": [], + "dnsServerIps": [ + "1.1.1.1" + ], + "sourceIp": "8.8.8.8", + "dnsServices": 0, + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/dnsZones" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/dnsZones/dnsZone1", + "name": "dnsZone1", + "properties": { + "displayName": "dnsZone1", + "domain": [], + "dnsServerIps": [ + "1.1.1.1" + ], + "sourceIp": "8.8.8.8", + "dnsServices": 0, + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/dnsZones" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreatePortMirroringProfiles.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreatePortMirroringProfiles.json new file mode 100644 index 000000000000..63d17173fc29 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreatePortMirroringProfiles.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "portMirroringId": "portMirroring1", + "workloadNetworkPortMirroring": { + "properties": { + "displayName": "portMirroring1", + "direction": "BIDIRECTIONAL", + "source": "vmGroup1", + "destination": "vmGroup2", + "revision": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/portMirroringProfiles/portMirroring1", + "name": "portMirroring1", + "properties": { + "displayName": "portMirroring1", + "direction": "BIDIRECTIONAL", + "source": "vmGroup1", + "destination": "vmGroup2", + "status": "SUCCESS", + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/portMirroringProfiles/portMirroring1", + "name": "portMirroring1", + "properties": { + "displayName": "portMirroring1", + "direction": "BIDIRECTIONAL", + "source": "vmGroup1", + "destination": "vmGroup2", + "status": "SUCCESS", + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreatePublicIPs.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreatePublicIPs.json new file mode 100644 index 000000000000..1bfbe4dc874e --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreatePublicIPs.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "publicIPId": "publicIP1", + "workloadNetworkPublicIP": { + "properties": { + "displayName": "publicIP1", + "numberOfPublicIPs": 32 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/publicIPs/publicIP1", + "name": "publicIP1", + "properties": { + "displayName": "publicIP1", + "publicIPBlock": "20.20.40.50/32" + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/publicIPs" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/publicIPs/publicIP1", + "name": "publicIP1", + "properties": { + "displayName": "publicIP1", + "publicIPBlock": "20.20.40.50/32" + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/publicIPs" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreateSegments.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreateSegments.json new file mode 100644 index 000000000000..0c256a069d26 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreateSegments.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "segmentId": "segment1", + "workloadNetworkSegment": { + "properties": { + "displayName": "segment1", + "connectedGateway": "/infra/tier-1s/gateway", + "subnet": { + "dhcpRanges": [ + "40.20.0.0-40.20.0.1" + ], + "gatewayAddress": "40.20.20.20/16" + }, + "revision": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/segments/segment1", + "name": "segment1", + "properties": { + "displayName": "segment1", + "connectedGateway": "/infra/tier-1s/gateway", + "subnet": { + "dhcpRanges": [ + "40.20.0.0-40.20.0.1" + ], + "gatewayAddress": "40.20.20.20/16" + }, + "portVif": [], + "status": "SUCCESS", + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/segments" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/segments/segment1", + "name": "segment1", + "properties": { + "displayName": "segment1", + "connectedGateway": "/infra/tier-1s/gateway", + "subnet": { + "dhcpRanges": [ + "40.20.0.0-40.20.0.1" + ], + "gatewayAddress": "40.20.20.20/16" + }, + "portVif": [], + "status": "SUCCESS", + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/segments" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreateVMGroups.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreateVMGroups.json new file mode 100644 index 000000000000..da1824a2cb0b --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_CreateVMGroups.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "vmGroupId": "vmGroup1", + "workloadNetworkVMGroup": { + "properties": { + "displayName": "vmGroup1", + "members": [ + "564d43da-fefc-2a3b-1d92-42855622fa50" + ], + "revision": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/vmGroups/vmGroup1", + "name": "vmGroup1", + "properties": { + "displayName": "vmGroup1", + "members": [ + "564d43da-fefc-2a3b-1d92-42855622fa50" + ], + "status": "SUCCESS", + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/vmGroups" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/vmGroups/vmGroup1", + "name": "vmGroup1", + "properties": { + "displayName": "vmGroup1", + "members": [ + "564d43da-fefc-2a3b-1d92-42855622fa50" + ], + "status": "SUCCESS", + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/vmGroups" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeleteDhcpConfigurations.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeleteDhcpConfigurations.json new file mode 100644 index 000000000000..3a68ec4f4f21 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeleteDhcpConfigurations.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "dhcpId": "dhcp1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeleteDnsServices.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeleteDnsServices.json new file mode 100644 index 000000000000..2a8733b75f30 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeleteDnsServices.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "dnsServiceId": "dnsService1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeleteDnsZones.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeleteDnsZones.json new file mode 100644 index 000000000000..1b83b282594f --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeleteDnsZones.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "dnsZoneId": "dnsZone1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeletePortMirroringProfiles.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeletePortMirroringProfiles.json new file mode 100644 index 000000000000..477e0e5512d6 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeletePortMirroringProfiles.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "portMirroringId": "portMirroring1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeletePublicIPs.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeletePublicIPs.json new file mode 100644 index 000000000000..337e84176317 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeletePublicIPs.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "publicIPId": "publicIP1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeleteSegments.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeleteSegments.json new file mode 100644 index 000000000000..c80cd4747e52 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeleteSegments.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "segmentId": "segment1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeleteVMGroups.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeleteVMGroups.json new file mode 100644 index 000000000000..cb2cd032a8a3 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_DeleteVMGroups.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "vmGroupId": "vmGroup1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetDhcpConfigurations.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetDhcpConfigurations.json new file mode 100644 index 000000000000..999631ad631e --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetDhcpConfigurations.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "dhcpId": "dhcp1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/dhcpConfigurations/dhcpConfigurations1", + "name": "dhcp1", + "properties": { + "displayName": "dhcpConfigurations1", + "dhcpType": "SERVER", + "segments": [ + "segment1", + "segment2" + ], + "serverAddress": "40.1.5.1/24", + "leaseTime": 86400, + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetDnsServices.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetDnsServices.json new file mode 100644 index 000000000000..0d4b16dc2e15 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetDnsServices.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "dnsServiceId": "dnsService1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/dnsServices/dnsService1", + "name": "portMirroring1", + "properties": { + "displayName": "dnsService1", + "dnsServiceIp": "5.5.5.5", + "defaultDnsZone": "defaultDnsZone1", + "fqdnZones": [ + "fqdnZone1" + ], + "logLevel": "INFO", + "status": "SUCCESS", + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/dnsServices" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetDnsZones.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetDnsZones.json new file mode 100644 index 000000000000..716b504ff86d --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetDnsZones.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "dnsZoneId": "dnsZone1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/dnsZones/dnsZone1", + "name": "portMirroring1", + "properties": { + "displayName": "dnsZone1", + "domain": [], + "dnsServerIps": [ + "1.1.1.1" + ], + "sourceIp": "8.8.8.8", + "dnsServices": 0, + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/dnsZones" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetGateway.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetGateway.json new file mode 100644 index 000000000000..79c0c17921f0 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetGateway.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "gatewayId": "gateway1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/gateways/gateway1", + "name": "gateway1", + "properties": { + "displayName": "gateway1", + "path": "/infra/tier-1s/gateway1" + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/gateways" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetPortMirroringProfiles.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetPortMirroringProfiles.json new file mode 100644 index 000000000000..3ae1f781ba72 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetPortMirroringProfiles.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "portMirroringId": "portMirroring1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/portMirroringProfiles/portMirroring1", + "name": "portMirroring1", + "properties": { + "displayName": "portMirroring1", + "direction": "BIDIRECTIONAL", + "source": "vmGroup1", + "destination": "vmGroup2", + "status": "SUCCESS", + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetPublicIPs.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetPublicIPs.json new file mode 100644 index 000000000000..69237353bc15 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetPublicIPs.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "publicIPId": "publicIP1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/publicIPs/publicIP1", + "name": "publicIP1", + "properties": { + "displayName": "publicIP1", + "publicIPBlock": "20.20.40.50/32" + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/publicIPs" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetSegments.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetSegments.json new file mode 100644 index 000000000000..a825fcf599c2 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetSegments.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "segmentId": "segment1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/segments/segment1", + "name": "segment1", + "properties": { + "displayName": "segment1", + "connectedGateway": "/infra/tier-1s/gateway", + "subnet": { + "dhcpRanges": [ + "40.20.0.0-40.20.0.1" + ], + "gatewayAddress": "40.20.20.20/16" + }, + "portVif": [ + { + "portName": "vm1" + } + ], + "status": "SUCCESS", + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/segments" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetVMGroups.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetVMGroups.json new file mode 100644 index 000000000000..b4c6db89e610 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetVMGroups.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "vmGroupId": "vmGroup1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/vmGroups/vmGroup1", + "name": "cloud1", + "properties": { + "displayName": "vmGroup1", + "members": [ + "564d43da-fefc-2a3b-1d92-42855622fa50" + ], + "status": "SUCCESS", + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/vmGroups" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetVirtualMachine.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetVirtualMachine.json new file mode 100644 index 000000000000..565a7a0ab536 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_GetVirtualMachine.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "virtualMachineId": "vm1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/virtualMachines/vm1", + "name": "vm1", + "properties": { + "displayName": "vm1", + "vmType": "REGULAR" + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/virtualMachines" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListDhcpConfigurations.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListDhcpConfigurations.json new file mode 100644 index 000000000000..6cdbcfd91354 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListDhcpConfigurations.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/dhcpConfigurations/dhcpConfigurations1", + "name": "dhcp1", + "properties": { + "displayName": "dhcpConfigurations1", + "dhcpType": "SERVER", + "segments": [ + "segment1", + "segment2" + ], + "serverAddress": "40.1.5.1/24", + "leaseTime": 86400, + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListDnsServices.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListDnsServices.json new file mode 100644 index 000000000000..07a49f28dc30 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListDnsServices.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/dnsServices/dnsService1", + "name": "portMirroring1", + "properties": { + "displayName": "dnsService1", + "dnsServiceIp": "5.5.5.5", + "defaultDnsZone": "defaultDnsZone1", + "fqdnZones": [ + "fqdnZone1" + ], + "logLevel": "INFO", + "status": "SUCCESS", + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/dnsServices" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListDnsZones.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListDnsZones.json new file mode 100644 index 000000000000..2c8c006644a2 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListDnsZones.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/dnsZones/dnsZone1", + "name": "portMirroring1", + "properties": { + "displayName": "dnsZone1", + "domain": [], + "dnsServerIps": [ + "1.1.1.1" + ], + "sourceIp": "8.8.8.8", + "dnsServices": 0, + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/dnsZones" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListGateways.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListGateways.json new file mode 100644 index 000000000000..5e1fbe100446 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListGateways.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/gateways/gateway1", + "name": "gateway1", + "properties": { + "displayName": "gateway1", + "path": "/infra/tier-1s/gateway1" + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/segments" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListPortMirroringProfiles.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListPortMirroringProfiles.json new file mode 100644 index 000000000000..e30ed5fecace --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListPortMirroringProfiles.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/portMirroringProfiles/portMirroring1", + "name": "cloud1", + "properties": { + "displayName": "portMirroring1", + "direction": "BIDIRECTIONAL", + "source": "vmGroup1", + "destination": "vmGroup2", + "status": "SUCCESS", + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListPublicIPs.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListPublicIPs.json new file mode 100644 index 000000000000..5cc2763d3dff --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListPublicIPs.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/publicIPs/publicIP1", + "name": "publicIP1", + "properties": { + "displayName": "publicIP1", + "publicIPBlock": "20.20.40.50/32" + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/publicIPs" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListSegments.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListSegments.json new file mode 100644 index 000000000000..c76ce0c4a479 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListSegments.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/segments/segment1", + "name": "segment1", + "properties": { + "displayName": "segment1", + "connectedGateway": "/infra/tier-1s/gateway", + "subnet": { + "dhcpRanges": [ + "40.20.0.0-40.20.0.1" + ], + "gatewayAddress": "40.20.20.20/16" + }, + "portVif": [ + { + "portName": "vm1" + } + ], + "status": "SUCCESS", + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/segments" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListVMGroups.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListVMGroups.json new file mode 100644 index 000000000000..97ae52d02139 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListVMGroups.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/vmGroups/vmGroup1", + "name": "cloud1", + "properties": { + "displayName": "vmGroup1", + "members": [ + "564d43da-fefc-2a3b-1d92-42855622fa50" + ], + "status": "SUCCESS", + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/vmGroups" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListVirtualMachines.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListVirtualMachines.json new file mode 100644 index 000000000000..ef982eab7ad1 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_ListVirtualMachines.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/virtualMachines/vm1", + "name": "vm1", + "properties": { + "displayName": "vm1", + "vmType": "REGULAR" + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/virtualMachines" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_UpdateDhcpConfigurations.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_UpdateDhcpConfigurations.json new file mode 100644 index 000000000000..4ccc600c1225 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_UpdateDhcpConfigurations.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "dhcpId": "dhcp1", + "workloadNetworkDhcp": { + "properties": { + "dhcpType": "SERVER", + "serverAddress": "40.1.5.1/24", + "leaseTime": 86400, + "revision": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/dhcpConfigurations/dhcpConfigurations1", + "name": "dhcp1", + "properties": { + "displayName": "dhcpConfigurations1", + "dhcpType": "SERVER", + "segments": [ + "segment1", + "segment2" + ], + "serverAddress": "40.1.5.1/24", + "leaseTime": 86400, + "revision": 2 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations" + } + }, + "202": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_UpdateDnsServices.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_UpdateDnsServices.json new file mode 100644 index 000000000000..41abdba2e5d5 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_UpdateDnsServices.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "dnsServiceId": "dnsService1", + "workloadNetworkDnsService": { + "properties": { + "displayName": "dnsService1", + "dnsServiceIp": "5.5.5.5", + "defaultDnsZone": "defaultDnsZone1", + "fqdnZones": [ + "fqdnZone1" + ], + "logLevel": "INFO", + "revision": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/dnsServices/dnsService1", + "name": "dnsService1", + "properties": { + "displayName": "dnsService1", + "dnsServiceIp": "5.5.5.5", + "defaultDnsZone": "defaultDnsZone1", + "fqdnZones": [ + "fqdnZone1" + ], + "logLevel": "INFO", + "status": "SUCCESS", + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/dnsServices" + } + }, + "202": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_UpdateDnsZones.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_UpdateDnsZones.json new file mode 100644 index 000000000000..31af76c49082 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_UpdateDnsZones.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "dnsZoneId": "dnsZone1", + "workloadNetworkDnsZone": { + "properties": { + "displayName": "dnsZone1", + "domain": [], + "dnsServerIps": [ + "1.1.1.1" + ], + "sourceIp": "8.8.8.8", + "revision": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/dnsZones/dnsZone1", + "name": "dnsZone1", + "properties": { + "displayName": "dnsZone1", + "domain": [], + "dnsServerIps": [ + "1.1.1.1" + ], + "sourceIp": "8.8.8.8", + "dnsServices": 0, + "revision": 1 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/dnsZones" + } + }, + "202": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_UpdatePortMirroringProfiles.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_UpdatePortMirroringProfiles.json new file mode 100644 index 000000000000..80d5e11d6353 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_UpdatePortMirroringProfiles.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "portMirroringId": "portMirroring1", + "workloadNetworkPortMirroring": { + "properties": { + "direction": "BIDIRECTIONAL", + "source": "vmGroup1", + "destination": "vmGroup2", + "revision": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/portMirroringProfiles/portMirroring1", + "name": "portMirroring1", + "properties": { + "displayName": "portMirroring1", + "direction": "BIDIRECTIONAL", + "source": "vmGroup1", + "destination": "vmGroup2", + "status": "SUCCESS", + "revision": 2 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles" + } + }, + "202": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_UpdateSegments.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_UpdateSegments.json new file mode 100644 index 000000000000..2cebf5cb3c87 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_UpdateSegments.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "segmentId": "segment1", + "workloadNetworkSegment": { + "properties": { + "connectedGateway": "/infra/tier-1s/gateway", + "subnet": { + "dhcpRanges": [ + "40.20.0.0-40.20.0.1" + ], + "gatewayAddress": "40.20.20.20/16" + }, + "revision": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/segments/segment1", + "name": "segment1", + "properties": { + "displayName": "segment1", + "connectedGateway": "/infra/tier-1s/gateway", + "subnet": { + "dhcpRanges": [ + "40.20.0.0-40.20.0.1" + ], + "gatewayAddress": "40.20.20.20/16" + }, + "portVif": [ + { + "portName": "vm1" + } + ], + "status": "SUCCESS", + "revision": 2 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/segments" + } + }, + "202": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_UpdateVMGroups.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_UpdateVMGroups.json new file mode 100644 index 000000000000..72c4c4f7477a --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/examples/WorkloadNetworks_UpdateVMGroups.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "vmGroupId": "vmGroup1", + "workloadNetworkVMGroup": { + "properties": { + "members": [ + "564d43da-fefc-2a3b-1d92-42855622fa50" + ], + "revision": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/workloadNetworks/default/vmGroups/vmGroup1", + "name": "cloud1", + "properties": { + "displayName": "vmGroup1", + "members": [ + "564d43da-fefc-2a3b-1d92-42855622fa50" + ], + "status": "SUCCESS", + "revision": 2 + }, + "type": "Microsoft.AVS/privateClouds/workloadNetworks/vmGroups" + } + }, + "202": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/vmware.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/vmware.json new file mode 100644 index 000000000000..5d53f28005c0 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2021-12-01/vmware.json @@ -0,0 +1,8047 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure VMware Solution API", + "description": "Azure VMware Solution API", + "version": "2021-12-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" + } + } + }, + "tags": [ + { + "name": "PrivateClouds", + "description": "" + }, + { + "name": "Clusters", + "description": "" + }, + { + "name": "Operations", + "description": "" + }, + { + "name": "Locations", + "description": "" + }, + { + "name": "HcxEnterpriseSites", + "description": "" + }, + { + "name": "Authorizations", + "description": "" + }, + { + "name": "GlobalReachConnections", + "description": "" + }, + { + "name": "WorkloadNetworks", + "description": "" + }, + { + "name": "Addons", + "description": "" + }, + { + "name": "Datastores", + "description": "" + }, + { + "name": "CloudLinks", + "description": "" + }, + { + "name": "Scripts", + "description": "" + }, + { + "name": "PlacementPolicies", + "description": "" + }, + { + "name": "VirtualMachines", + "description": "" + }, + { + "name": "EncryptionKeys", + "description": "" + } + ], + "parameters": { + "privateCloudName": { + "name": "privateCloudName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the private cloud", + "x-ms-parameter-location": "method" + }, + "clusterName": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the cluster in the private cloud", + "x-ms-parameter-location": "method" + }, + "hcxEnterpriseSiteName": { + "name": "hcxEnterpriseSiteName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the HCX Enterprise Site in the private cloud", + "x-ms-parameter-location": "method" + }, + "addonName": { + "name": "addonName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the addon for the private cloud", + "x-ms-parameter-location": "method" + }, + "authorizationName": { + "name": "authorizationName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the ExpressRoute Circuit Authorization in the private cloud", + "x-ms-parameter-location": "method" + }, + "globalReachConnectionName": { + "name": "globalReachConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the global reach connection in the private cloud", + "x-ms-parameter-location": "method" + }, + "segmentId": { + "name": "segmentId", + "in": "path", + "required": true, + "type": "string", + "description": "NSX Segment identifier. Generally the same as the Segment's display name", + "x-ms-parameter-location": "method" + }, + "dhcpId": { + "name": "dhcpId", + "in": "path", + "required": true, + "type": "string", + "description": "NSX DHCP identifier. Generally the same as the DHCP display name", + "x-ms-parameter-location": "method" + }, + "portMirroringId": { + "name": "portMirroringId", + "in": "path", + "required": true, + "type": "string", + "description": "NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name", + "x-ms-parameter-location": "method" + }, + "vmGroupId": { + "name": "vmGroupId", + "in": "path", + "required": true, + "type": "string", + "description": "NSX VM Group identifier. Generally the same as the VM Group's display name", + "x-ms-parameter-location": "method" + }, + "virtualMachineId": { + "name": "virtualMachineId", + "in": "path", + "required": true, + "type": "string", + "description": "Virtual Machine identifier", + "x-ms-parameter-location": "method" + }, + "gatewayId": { + "name": "gatewayId", + "in": "path", + "required": true, + "type": "string", + "description": "NSX Gateway identifier. Generally the same as the Gateway's display name", + "x-ms-parameter-location": "method" + }, + "dnsServiceId": { + "name": "dnsServiceId", + "in": "path", + "required": true, + "type": "string", + "description": "NSX DNS Service identifier. Generally the same as the DNS Service's display name", + "x-ms-parameter-location": "method" + }, + "dnsZoneId": { + "name": "dnsZoneId", + "in": "path", + "required": true, + "type": "string", + "description": "NSX DNS Zone identifier. Generally the same as the DNS Zone's display name", + "x-ms-parameter-location": "method" + }, + "publicIPId": { + "name": "publicIPId", + "in": "path", + "required": true, + "type": "string", + "description": "NSX Public IP Block identifier. Generally the same as the Public IP Block's display name", + "x-ms-parameter-location": "method" + }, + "datastoreName": { + "name": "datastoreName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the datastore in the private cloud cluster", + "x-ms-parameter-location": "method" + }, + "cloudLinkName": { + "name": "cloudLinkName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the cloud link resource", + "x-ms-parameter-location": "method" + }, + "placementPolicyName": { + "name": "placementPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy", + "x-ms-parameter-location": "method" + }, + "scriptExecutionName": { + "name": "scriptExecutionName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the user-invoked script execution resource", + "x-ms-parameter-location": "method" + }, + "scriptPackageName": { + "name": "scriptPackageName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the script package in the private cloud", + "x-ms-parameter-location": "method" + }, + "scriptCmdletName": { + "name": "scriptCmdletName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the script cmdlet resource in the script package in the private cloud", + "x-ms-parameter-location": "method" + }, + "scriptOutputStreamType": { + "name": "scriptOutputStreamType", + "in": "body", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Information", + "Warning", + "Output", + "Error" + ], + "x-ms-enum": { + "name": "ScriptOutputStreamType", + "modelAsString": true + } + } + }, + "description": "Name of the desired output stream to return. If not provided, will return all. An empty array will return nothing", + "x-ms-parameter-location": "method" + } + }, + "paths": { + "/providers/Microsoft.AVS/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available operations", + "operationId": "Operations_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request has succeeded", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AVS/locations/{location}/checkTrialAvailability": { + "post": { + "tags": [ + "Locations" + ], + "description": "Return trial status for subscription by region", + "operationId": "Locations_CheckTrialAvailability", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "Azure region" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request has succeeded", + "schema": { + "$ref": "#/definitions/Trial" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Locations_CheckTrialAvailability": { + "$ref": "./examples/Locations_CheckTrialAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AVS/locations/{location}/checkQuotaAvailability": { + "post": { + "tags": [ + "Locations" + ], + "description": "Return quota for subscription by region", + "operationId": "Locations_CheckQuotaAvailability", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "Azure region" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request has succeeded", + "schema": { + "$ref": "#/definitions/Quota" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Locations_CheckQuotaAvailability": { + "$ref": "./examples/Locations_CheckQuotaAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds": { + "get": { + "operationId": "PrivateClouds_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "PrivateClouds" + ], + "summary": "List private clouds in a resource group", + "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" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/PrivateCloudList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PrivateClouds_List": { + "$ref": "./examples/PrivateClouds_List.json" + }, + "PrivateClouds_List_Stretched": { + "$ref": "./examples/PrivateClouds_List_Stretched.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AVS/privateClouds": { + "get": { + "operationId": "PrivateClouds_ListInSubscription", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "PrivateClouds" + ], + "summary": "List private clouds in a subscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/PrivateCloudList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PrivateClouds_ListInSubscription": { + "$ref": "./examples/PrivateClouds_ListInSubscription.json" + }, + "PrivateClouds_ListInSubscription_Stretched": { + "$ref": "./examples/PrivateClouds_ListInSubscription_Stretched.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}": { + "get": { + "operationId": "PrivateClouds_Get", + "tags": [ + "PrivateClouds" + ], + "summary": "Get a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/PrivateCloud" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PrivateClouds_Get": { + "$ref": "./examples/PrivateClouds_Get.json" + }, + "PrivateClouds_Get_Stretched": { + "$ref": "./examples/PrivateClouds_Get_Stretched.json" + } + } + }, + "put": { + "operationId": "PrivateClouds_CreateOrUpdate", + "x-ms-long-running-operation": true, + "tags": [ + "PrivateClouds" + ], + "summary": "Create or update a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "name": "privateCloud", + "description": "The private cloud", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateCloud" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/PrivateCloud" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/PrivateCloud" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PrivateClouds_CreateOrUpdate": { + "$ref": "./examples/PrivateClouds_CreateOrUpdate.json" + }, + "PrivateClouds_CreateOrUpdate_Stretched": { + "$ref": "./examples/PrivateClouds_CreateOrUpdate_Stretched.json" + } + } + }, + "patch": { + "operationId": "PrivateClouds_Update", + "x-ms-long-running-operation": true, + "tags": [ + "PrivateClouds" + ], + "summary": "Update a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "name": "privateCloudUpdate", + "description": "The private cloud properties to be updated", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateCloudUpdate" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/PrivateCloud" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/PrivateCloud" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PrivateClouds_Update": { + "$ref": "./examples/PrivateClouds_Update.json" + }, + "PrivateClouds_Update_Stretched": { + "$ref": "./examples/PrivateClouds_Update_Stretched.json" + } + } + }, + "delete": { + "operationId": "PrivateClouds_Delete", + "x-ms-long-running-operation": true, + "tags": [ + "PrivateClouds" + ], + "summary": "Delete a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No private cloud to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PrivateClouds_Delete": { + "$ref": "./examples/PrivateClouds_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/rotateVcenterPassword": { + "post": { + "operationId": "PrivateClouds_RotateVcenterPassword", + "tags": [ + "PrivateClouds" + ], + "summary": "Rotate the vCenter password", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-long-running-operation": true, + "responses": { + "202": { + "description": "The password rotation has started" + }, + "204": { + "description": "The password rotation was successful" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PrivateClouds_RotateVcenterPassword": { + "$ref": "./examples/PrivateClouds_RotateVcenterPassword.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/rotateNsxtPassword": { + "post": { + "operationId": "PrivateClouds_RotateNsxtPassword", + "tags": [ + "PrivateClouds" + ], + "summary": "Rotate the NSX-T Manager password", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-long-running-operation": true, + "responses": { + "202": { + "description": "The password rotation has started" + }, + "204": { + "description": "The password rotation was successful" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PrivateClouds_RotateNsxtPassword": { + "$ref": "./examples/PrivateClouds_RotateNsxtPassword.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/clusters": { + "get": { + "operationId": "Clusters_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "Clusters" + ], + "summary": "List clusters in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/ClusterList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Clusters_List": { + "$ref": "./examples/Clusters_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/clusters/{clusterName}": { + "get": { + "operationId": "Clusters_Get", + "tags": [ + "Clusters" + ], + "summary": "Get a cluster by name in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Clusters_Get": { + "$ref": "./examples/Clusters_Get.json" + } + } + }, + "put": { + "operationId": "Clusters_CreateOrUpdate", + "x-ms-long-running-operation": true, + "tags": [ + "Clusters" + ], + "summary": "Create or update a cluster in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "privateCloudName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private cloud." + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "name": "cluster", + "description": "A cluster in the private cloud", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Clusters_CreateOrUpdate": { + "$ref": "./examples/Clusters_CreateOrUpdate.json" + } + } + }, + "patch": { + "operationId": "Clusters_Update", + "x-ms-long-running-operation": true, + "tags": [ + "Clusters" + ], + "summary": "Update a cluster in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "name": "clusterUpdate", + "description": "The cluster properties to be updated", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterUpdate" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Clusters_Update": { + "$ref": "./examples/Clusters_Update.json" + } + } + }, + "delete": { + "operationId": "Clusters_Delete", + "x-ms-long-running-operation": true, + "tags": [ + "Clusters" + ], + "summary": "Delete a cluster in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No cluster to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Clusters_Delete": { + "$ref": "./examples/Clusters_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/clusters/{clusterName}/datastores": { + "get": { + "operationId": "Datastores_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "Datastores" + ], + "summary": "List datastores in a private cloud cluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/DatastoreList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Datastores_List": { + "$ref": "./examples/Datastores_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/clusters/{clusterName}/datastores/{datastoreName}": { + "get": { + "operationId": "Datastores_Get", + "tags": [ + "Datastores" + ], + "summary": "Get a datastore in a private cloud cluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "$ref": "#/parameters/datastoreName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Datastore" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Datastores_Get": { + "$ref": "./examples/Datastores_Get.json" + } + } + }, + "put": { + "operationId": "Datastores_CreateOrUpdate", + "x-ms-long-running-operation": true, + "tags": [ + "Datastores" + ], + "summary": "Create or update a datastore in a private cloud cluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "$ref": "#/parameters/datastoreName" + }, + { + "name": "datastore", + "description": "A datastore in a private cloud cluster", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Datastore" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Datastore" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/Datastore" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Datastores_CreateOrUpdate": { + "$ref": "./examples/Datastores_CreateOrUpdate.json" + } + } + }, + "delete": { + "operationId": "Datastores_Delete", + "x-ms-long-running-operation": true, + "tags": [ + "Datastores" + ], + "summary": "Delete a datastore in a private cloud cluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "$ref": "#/parameters/datastoreName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No datastore to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Datastores_Delete": { + "$ref": "./examples/Datastores_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/listAdminCredentials": { + "post": { + "operationId": "PrivateClouds_ListAdminCredentials", + "tags": [ + "PrivateClouds" + ], + "summary": "List the admin credentials for the private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/AdminCredentials" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PrivateClouds_ListAdminCredentials": { + "$ref": "./examples/PrivateClouds_ListAdminCredentials.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/hcxEnterpriseSites": { + "get": { + "operationId": "HcxEnterpriseSites_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "HcxEnterpriseSites" + ], + "summary": "List HCX Enterprise Sites in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/HcxEnterpriseSiteList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "HcxEnterpriseSites_List": { + "$ref": "./examples/HcxEnterpriseSites_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/hcxEnterpriseSites/{hcxEnterpriseSiteName}": { + "get": { + "operationId": "HcxEnterpriseSites_Get", + "tags": [ + "HcxEnterpriseSites" + ], + "summary": "Get an HCX Enterprise Site by name in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/hcxEnterpriseSiteName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/HcxEnterpriseSite" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "HcxEnterpriseSites_Get": { + "$ref": "./examples/HcxEnterpriseSites_Get.json" + } + } + }, + "put": { + "operationId": "HcxEnterpriseSites_CreateOrUpdate", + "tags": [ + "HcxEnterpriseSites" + ], + "summary": "Create or update an HCX Enterprise Site in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "privateCloudName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private cloud." + }, + { + "$ref": "#/parameters/hcxEnterpriseSiteName" + }, + { + "name": "hcxEnterpriseSite", + "description": "The HCX Enterprise Site", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HcxEnterpriseSite" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful update", + "schema": { + "$ref": "#/definitions/HcxEnterpriseSite" + } + }, + "201": { + "description": "successful create", + "schema": { + "$ref": "#/definitions/HcxEnterpriseSite" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "HcxEnterpriseSites_CreateOrUpdate": { + "$ref": "./examples/HcxEnterpriseSites_CreateOrUpdate.json" + } + } + }, + "delete": { + "operationId": "HcxEnterpriseSites_Delete", + "tags": [ + "HcxEnterpriseSites" + ], + "summary": "Delete an HCX Enterprise Site in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/hcxEnterpriseSiteName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "204": { + "description": "No Content. No HCX Enterprise Site to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "HcxEnterpriseSites_Delete": { + "$ref": "./examples/HcxEnterpriseSites_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/authorizations": { + "get": { + "operationId": "Authorizations_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "Authorizations" + ], + "summary": "List ExpressRoute Circuit Authorizations in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/ExpressRouteAuthorizationList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Authorizations_List": { + "$ref": "./examples/Authorizations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/authorizations/{authorizationName}": { + "get": { + "operationId": "Authorizations_Get", + "tags": [ + "Authorizations" + ], + "summary": "Get an ExpressRoute Circuit Authorization by name in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/authorizationName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/ExpressRouteAuthorization" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Authorizations_Get": { + "$ref": "./examples/Authorizations_Get.json" + } + } + }, + "put": { + "operationId": "Authorizations_CreateOrUpdate", + "x-ms-long-running-operation": true, + "tags": [ + "Authorizations" + ], + "summary": "Create or update an ExpressRoute Circuit Authorization in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "privateCloudName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private cloud." + }, + { + "$ref": "#/parameters/authorizationName" + }, + { + "name": "authorization", + "description": "An ExpressRoute Circuit Authorization", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteAuthorization" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/ExpressRouteAuthorization" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/ExpressRouteAuthorization" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Authorizations_CreateOrUpdate": { + "$ref": "./examples/Authorizations_CreateOrUpdate.json" + } + } + }, + "delete": { + "operationId": "Authorizations_Delete", + "x-ms-long-running-operation": true, + "tags": [ + "Authorizations" + ], + "summary": "Delete an ExpressRoute Circuit Authorization in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/authorizationName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No ExpressRoute Circuit Authorization to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Authorizations_Delete": { + "$ref": "./examples/Authorizations_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/globalReachConnections": { + "get": { + "operationId": "GlobalReachConnections_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "GlobalReachConnections" + ], + "summary": "List global reach connections in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/GlobalReachConnectionList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GlobalReachConnections_List": { + "$ref": "./examples/GlobalReachConnections_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/globalReachConnections/{globalReachConnectionName}": { + "get": { + "operationId": "GlobalReachConnections_Get", + "tags": [ + "GlobalReachConnections" + ], + "summary": "Get a global reach connection by name in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/globalReachConnectionName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/GlobalReachConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GlobalReachConnections_Get": { + "$ref": "./examples/GlobalReachConnections_Get.json" + } + } + }, + "put": { + "operationId": "GlobalReachConnections_CreateOrUpdate", + "x-ms-long-running-operation": true, + "tags": [ + "GlobalReachConnections" + ], + "summary": "Create or update a global reach connection in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "privateCloudName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private cloud." + }, + { + "$ref": "#/parameters/globalReachConnectionName" + }, + { + "name": "globalReachConnection", + "description": "A global reach connection in the private cloud", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GlobalReachConnection" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/GlobalReachConnection" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/GlobalReachConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GlobalReachConnections_CreateOrUpdate": { + "$ref": "./examples/GlobalReachConnections_CreateOrUpdate.json" + } + } + }, + "delete": { + "operationId": "GlobalReachConnections_Delete", + "x-ms-long-running-operation": true, + "tags": [ + "GlobalReachConnections" + ], + "summary": "Delete a global reach connection in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/globalReachConnectionName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No global reach connection to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GlobalReachConnections_Delete": { + "$ref": "./examples/GlobalReachConnections_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/segments": { + "get": { + "operationId": "WorkloadNetworks_ListSegments", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "WorkloadNetworks" + ], + "summary": "List of segments in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkSegmentsList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_ListSegments": { + "$ref": "./examples/WorkloadNetworks_ListSegments.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/segments/{segmentId}": { + "get": { + "operationId": "WorkloadNetworks_GetSegment", + "tags": [ + "WorkloadNetworks" + ], + "summary": "Get a segment by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/segmentId" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkSegment" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_GetSegment": { + "$ref": "./examples/WorkloadNetworks_GetSegments.json" + } + } + }, + "put": { + "operationId": "WorkloadNetworks_CreateSegments", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Create a segment by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/segmentId" + }, + { + "name": "workloadNetworkSegment", + "description": "NSX Segment", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WorkloadNetworkSegment" + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkSegment" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkSegment" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_CreateSegments": { + "$ref": "./examples/WorkloadNetworks_CreateSegments.json" + } + } + }, + "patch": { + "operationId": "WorkloadNetworks_UpdateSegments", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Create or update a segment by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/segmentId" + }, + { + "name": "workloadNetworkSegment", + "description": "NSX Segment", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WorkloadNetworkSegment" + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkSegment" + } + }, + "202": { + "description": "Accepted. The patch will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_UpdateSegments": { + "$ref": "./examples/WorkloadNetworks_UpdateSegments.json" + } + } + }, + "delete": { + "operationId": "WorkloadNetworks_DeleteSegment", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Delete a segment by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/segmentId" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No segment to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_DeleteSegment": { + "$ref": "./examples/WorkloadNetworks_DeleteSegments.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/dhcpConfigurations": { + "get": { + "operationId": "WorkloadNetworks_ListDhcp", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "WorkloadNetworks" + ], + "summary": "List dhcp in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkDhcpList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_ListDhcp": { + "$ref": "./examples/WorkloadNetworks_ListDhcpConfigurations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/dhcpConfigurations/{dhcpId}": { + "get": { + "operationId": "WorkloadNetworks_GetDhcp", + "tags": [ + "WorkloadNetworks" + ], + "summary": "Get dhcp by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/dhcpId" + }, + { + "$ref": "#/parameters/privateCloudName" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkDhcp" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_GetDhcp": { + "$ref": "./examples/WorkloadNetworks_GetDhcpConfigurations.json" + } + } + }, + "put": { + "operationId": "WorkloadNetworks_CreateDhcp", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Create dhcp by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/dhcpId" + }, + { + "name": "workloadNetworkDhcp", + "description": "NSX DHCP", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WorkloadNetworkDhcp" + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkDhcp" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkDhcp" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_CreateDhcp": { + "$ref": "./examples/WorkloadNetworks_CreateDhcpConfigurations.json" + } + } + }, + "patch": { + "operationId": "WorkloadNetworks_UpdateDhcp", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Create or update dhcp by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/dhcpId" + }, + { + "name": "workloadNetworkDhcp", + "description": "NSX DHCP", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WorkloadNetworkDhcp" + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkDhcp" + } + }, + "202": { + "description": "Accepted. The patch will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_UpdateDhcp": { + "$ref": "./examples/WorkloadNetworks_UpdateDhcpConfigurations.json" + } + } + }, + "delete": { + "operationId": "WorkloadNetworks_DeleteDhcp", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Delete dhcp by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/dhcpId" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No DHCP configuration to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_DeleteDhcp": { + "$ref": "./examples/WorkloadNetworks_DeleteDhcpConfigurations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/gateways": { + "get": { + "operationId": "WorkloadNetworks_ListGateways", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "WorkloadNetworks" + ], + "summary": "List of gateways in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkGatewayList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_ListGateways": { + "$ref": "./examples/WorkloadNetworks_ListGateways.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/gateways/{gatewayId}": { + "get": { + "operationId": "WorkloadNetworks_GetGateway", + "tags": [ + "WorkloadNetworks" + ], + "summary": "Get a gateway by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/gatewayId" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_GetGateway": { + "$ref": "./examples/WorkloadNetworks_GetGateway.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/portMirroringProfiles": { + "get": { + "operationId": "WorkloadNetworks_ListPortMirroring", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "WorkloadNetworks" + ], + "summary": "List of port mirroring profiles in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkPortMirroringList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_ListPortMirroring": { + "$ref": "./examples/WorkloadNetworks_ListPortMirroringProfiles.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/portMirroringProfiles/{portMirroringId}": { + "get": { + "operationId": "WorkloadNetworks_GetPortMirroring", + "tags": [ + "WorkloadNetworks" + ], + "summary": "Get a port mirroring profile by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/portMirroringId" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkPortMirroring" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_GetPortMirroring": { + "$ref": "./examples/WorkloadNetworks_GetPortMirroringProfiles.json" + } + } + }, + "put": { + "operationId": "WorkloadNetworks_CreatePortMirroring", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Create a port mirroring profile by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/portMirroringId" + }, + { + "name": "workloadNetworkPortMirroring", + "description": "NSX port mirroring", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WorkloadNetworkPortMirroring" + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkPortMirroring" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkPortMirroring" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_CreatePortMirroring": { + "$ref": "./examples/WorkloadNetworks_CreatePortMirroringProfiles.json" + } + } + }, + "patch": { + "operationId": "WorkloadNetworks_UpdatePortMirroring", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Create or update a port mirroring profile by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/portMirroringId" + }, + { + "name": "workloadNetworkPortMirroring", + "description": "NSX port mirroring", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WorkloadNetworkPortMirroring" + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkPortMirroring" + } + }, + "202": { + "description": "Accepted. The patch will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_UpdatePortMirroring": { + "$ref": "./examples/WorkloadNetworks_UpdatePortMirroringProfiles.json" + } + } + }, + "delete": { + "operationId": "WorkloadNetworks_DeletePortMirroring", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Delete a port mirroring profile by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/portMirroringId" + }, + { + "$ref": "#/parameters/privateCloudName" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No port mirroring profile to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_DeletePortMirroring": { + "$ref": "./examples/WorkloadNetworks_DeletePortMirroringProfiles.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/vmGroups": { + "get": { + "operationId": "WorkloadNetworks_ListVMGroups", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "WorkloadNetworks" + ], + "summary": "List of vm groups in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkVMGroupsList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_ListVMGroups": { + "$ref": "./examples/WorkloadNetworks_ListVMGroups.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/vmGroups/{vmGroupId}": { + "get": { + "operationId": "WorkloadNetworks_GetVMGroup", + "tags": [ + "WorkloadNetworks" + ], + "summary": "Get a vm group by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/vmGroupId" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkVMGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_GetVMGroup": { + "$ref": "./examples/WorkloadNetworks_GetVMGroups.json" + } + } + }, + "put": { + "operationId": "WorkloadNetworks_CreateVMGroup", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Create a vm group by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/vmGroupId" + }, + { + "name": "workloadNetworkVMGroup", + "description": "NSX VM Group", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WorkloadNetworkVMGroup" + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkVMGroup" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkVMGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_CreateVMGroup": { + "$ref": "./examples/WorkloadNetworks_CreateVMGroups.json" + } + } + }, + "patch": { + "operationId": "WorkloadNetworks_UpdateVMGroup", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Create or update a vm group by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/vmGroupId" + }, + { + "name": "workloadNetworkVMGroup", + "description": "NSX VM Group", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WorkloadNetworkVMGroup" + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkVMGroup" + } + }, + "202": { + "description": "Accepted. The patch will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_UpdateVMGroup": { + "$ref": "./examples/WorkloadNetworks_UpdateVMGroups.json" + } + } + }, + "delete": { + "operationId": "WorkloadNetworks_DeleteVMGroup", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Delete a vm group by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/vmGroupId" + }, + { + "$ref": "#/parameters/privateCloudName" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No VM group to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_DeleteVMGroup": { + "$ref": "./examples/WorkloadNetworks_DeleteVMGroups.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/virtualMachines": { + "get": { + "operationId": "WorkloadNetworks_ListVirtualMachines", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "WorkloadNetworks" + ], + "summary": "List of virtual machines in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkVirtualMachinesList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_ListVirtualMachines": { + "$ref": "./examples/WorkloadNetworks_ListVirtualMachines.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/virtualMachines/{virtualMachineId}": { + "get": { + "operationId": "WorkloadNetworks_GetVirtualMachine", + "tags": [ + "WorkloadNetworks" + ], + "summary": "Get a virtual machine by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/virtualMachineId" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkVirtualMachine" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_GetVirtualMachine": { + "$ref": "./examples/WorkloadNetworks_GetVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/dnsServices": { + "get": { + "operationId": "WorkloadNetworks_ListDnsServices", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "WorkloadNetworks" + ], + "summary": "List of DNS services in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkDnsServicesList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_ListDnsServices": { + "$ref": "./examples/WorkloadNetworks_ListDnsServices.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/dnsServices/{dnsServiceId}": { + "get": { + "operationId": "WorkloadNetworks_GetDnsService", + "tags": [ + "WorkloadNetworks" + ], + "summary": "Get a DNS service by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/dnsServiceId" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkDnsService" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_GetDnsService": { + "$ref": "./examples/WorkloadNetworks_GetDnsServices.json" + } + } + }, + "put": { + "operationId": "WorkloadNetworks_CreateDnsService", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Create a DNS service by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/dnsServiceId" + }, + { + "name": "workloadNetworkDnsService", + "description": "NSX DNS Service", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WorkloadNetworkDnsService" + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkDnsService" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkDnsService" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_CreateDnsService": { + "$ref": "./examples/WorkloadNetworks_CreateDnsServices.json" + } + } + }, + "patch": { + "operationId": "WorkloadNetworks_UpdateDnsService", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Create or update a DNS service by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/dnsServiceId" + }, + { + "name": "workloadNetworkDnsService", + "description": "NSX DNS Service", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WorkloadNetworkDnsService" + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkDnsService" + } + }, + "202": { + "description": "Accepted. The patch will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_UpdateDnsService": { + "$ref": "./examples/WorkloadNetworks_UpdateDnsServices.json" + } + } + }, + "delete": { + "operationId": "WorkloadNetworks_DeleteDnsService", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Delete a DNS service by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/dnsServiceId" + }, + { + "$ref": "#/parameters/privateCloudName" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No VM group to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_DeleteDnsService": { + "$ref": "./examples/WorkloadNetworks_DeleteDnsServices.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/dnsZones": { + "get": { + "operationId": "WorkloadNetworks_ListDnsZones", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "WorkloadNetworks" + ], + "summary": "List of DNS zones in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkDnsZonesList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_ListDnsZones": { + "$ref": "./examples/WorkloadNetworks_ListDnsZones.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/dnsZones/{dnsZoneId}": { + "get": { + "operationId": "WorkloadNetworks_GetDnsZone", + "tags": [ + "WorkloadNetworks" + ], + "summary": "Get a DNS zone by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/dnsZoneId" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkDnsZone" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_GetDnsZone": { + "$ref": "./examples/WorkloadNetworks_GetDnsZones.json" + } + } + }, + "put": { + "operationId": "WorkloadNetworks_CreateDnsZone", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Create a DNS zone by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/dnsZoneId" + }, + { + "name": "workloadNetworkDnsZone", + "description": "NSX DNS Zone", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WorkloadNetworkDnsZone" + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkDnsZone" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkDnsZone" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_CreateDnsZone": { + "$ref": "./examples/WorkloadNetworks_CreateDnsZones.json" + } + } + }, + "patch": { + "operationId": "WorkloadNetworks_UpdateDnsZone", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Create or update a DNS zone by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/dnsZoneId" + }, + { + "name": "workloadNetworkDnsZone", + "description": "NSX DNS Zone", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WorkloadNetworkDnsZone" + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkDnsZone" + } + }, + "202": { + "description": "Accepted. The patch will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_UpdateDnsZone": { + "$ref": "./examples/WorkloadNetworks_UpdateDnsZones.json" + } + } + }, + "delete": { + "operationId": "WorkloadNetworks_DeleteDnsZone", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Delete a DNS zone by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/dnsZoneId" + }, + { + "$ref": "#/parameters/privateCloudName" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No VM group to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_DeleteDnsZone": { + "$ref": "./examples/WorkloadNetworks_DeleteDnsZones.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/publicIPs": { + "get": { + "operationId": "WorkloadNetworks_ListPublicIPs", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "WorkloadNetworks" + ], + "summary": "List of Public IP Blocks in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkPublicIPsList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_ListPublicIPs": { + "$ref": "./examples/WorkloadNetworks_ListPublicIPs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/publicIPs/{publicIPId}": { + "get": { + "operationId": "WorkloadNetworks_GetPublicIP", + "tags": [ + "WorkloadNetworks" + ], + "summary": "Get a Public IP Block by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/publicIPId" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkPublicIP" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_GetPublicIP": { + "$ref": "./examples/WorkloadNetworks_GetPublicIPs.json" + } + } + }, + "put": { + "operationId": "WorkloadNetworks_CreatePublicIP", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Create a Public IP Block by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/publicIPId" + }, + { + "name": "workloadNetworkPublicIP", + "description": "NSX Public IP Block", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WorkloadNetworkPublicIP" + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkPublicIP" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/WorkloadNetworkPublicIP" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_CreatePublicIP": { + "$ref": "./examples/WorkloadNetworks_CreatePublicIPs.json" + } + } + }, + "delete": { + "operationId": "WorkloadNetworks_DeletePublicIP", + "x-ms-long-running-operation": true, + "tags": [ + "WorkloadNetworks" + ], + "summary": "Delete a Public IP Block by id in a private cloud workload network.", + "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" + }, + { + "$ref": "#/parameters/publicIPId" + }, + { + "$ref": "#/parameters/privateCloudName" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No VM group to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "WorkloadNetworks_DeletePublicIP": { + "$ref": "./examples/WorkloadNetworks_DeletePublicIPs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/cloudLinks": { + "get": { + "operationId": "CloudLinks_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "CloudLinks" + ], + "summary": "List cloud link in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/CloudLinkList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CloudLinks_List": { + "$ref": "./examples/CloudLinks_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/cloudLinks/{cloudLinkName}": { + "get": { + "operationId": "CloudLinks_Get", + "tags": [ + "CloudLinks" + ], + "summary": "Get an cloud link by name in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/cloudLinkName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/CloudLink" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CloudLinks_Get": { + "$ref": "./examples/CloudLinks_Get.json" + } + } + }, + "put": { + "operationId": "CloudLinks_CreateOrUpdate", + "x-ms-long-running-operation": true, + "tags": [ + "CloudLinks" + ], + "summary": "Create or update a cloud link in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "privateCloudName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private cloud." + }, + { + "$ref": "#/parameters/cloudLinkName" + }, + { + "name": "cloudLink", + "description": "A cloud link in the private cloud", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CloudLink" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/CloudLink" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/CloudLink" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CloudLinks_CreateOrUpdate": { + "$ref": "./examples/CloudLinks_CreateOrUpdate.json" + } + } + }, + "delete": { + "operationId": "CloudLinks_Delete", + "x-ms-long-running-operation": true, + "tags": [ + "CloudLinks" + ], + "summary": "Delete a cloud link in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/cloudLinkName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No cloud link to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CloudLinks_Delete": { + "$ref": "./examples/CloudLinks_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/addons": { + "get": { + "operationId": "Addons_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "Addons" + ], + "summary": "List addons in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/AddonList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Addons_List": { + "$ref": "./examples/Addons_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/addons/{addonName}": { + "get": { + "operationId": "Addons_Get", + "tags": [ + "Addons" + ], + "summary": "Get an addon by name in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/addonName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Addon" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Addons_Get_SRM": { + "$ref": "./examples/Addons_Get_SRM.json" + }, + "Addons_Get_VR": { + "$ref": "./examples/Addons_Get_VR.json" + }, + "Addons_Get_HCX": { + "$ref": "./examples/Addons_Get_HCX.json" + } + } + }, + "put": { + "operationId": "Addons_CreateOrUpdate", + "x-ms-long-running-operation": true, + "tags": [ + "Addons" + ], + "summary": "Create or update a addon in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "privateCloudName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private cloud." + }, + { + "$ref": "#/parameters/addonName" + }, + { + "name": "addon", + "description": "A addon in the private cloud", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Addon" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Addon" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/Addon" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Addons_CreateOrUpdate_SRM": { + "$ref": "./examples/Addons_CreateOrUpdate_SRM.json" + }, + "Addons_CreateOrUpdate_VR": { + "$ref": "./examples/Addons_CreateOrUpdate_VR.json" + }, + "Addons_CreateOrUpdate_HCX": { + "$ref": "./examples/Addons_CreateOrUpdate_HCX.json" + } + } + }, + "delete": { + "operationId": "Addons_Delete", + "x-ms-long-running-operation": true, + "tags": [ + "Addons" + ], + "summary": "Delete a addon in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/addonName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No addon to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Addons_Delete": { + "$ref": "./examples/Addons_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/clusters/{clusterName}/virtualMachines": { + "get": { + "operationId": "VirtualMachines_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "VirtualMachines" + ], + "summary": "List of virtual machines in a private cloud cluster", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/clusterName" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/VirtualMachinesList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListClusterVirtualMachines": { + "$ref": "./examples/VirtualMachines_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/clusters/{clusterName}/virtualMachines/{virtualMachineId}": { + "get": { + "operationId": "VirtualMachines_Get", + "tags": [ + "VirtualMachines" + ], + "summary": "Get a virtual machine by id in a private cloud cluster", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "$ref": "#/parameters/virtualMachineId" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualMachine": { + "$ref": "./examples/VirtualMachines_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/clusters/{clusterName}/virtualMachines/{virtualMachineId}/restrictMovement": { + "post": { + "x-ms-long-running-operation": true, + "operationId": "VirtualMachines_RestrictMovement", + "tags": [ + "VirtualMachines", + "PlacementPolicies" + ], + "summary": "Enable or disable DRS-driven VM movement restriction", + "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" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "$ref": "#/parameters/virtualMachineId" + }, + { + "name": "restrictMovement", + "description": "Whether VM DRS-driven movement is restricted (Enabled) or not (Disabled)", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineRestrictMovement" + } + } + ], + "responses": { + "202": { + "description": "Started flow to set/unset restrictedMovement of VM" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachine_RestrictMovement": { + "$ref": "./examples/VirtualMachines_RestrictMovement.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/clusters/{clusterName}/placementPolicies": { + "get": { + "operationId": "PlacementPolicies_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "PlacementPolicies" + ], + "summary": "List placement policies in a private cloud cluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/PlacementPoliciesList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PlacementPolicies_List": { + "$ref": "./examples/PlacementPolicies_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/clusters/{clusterName}/placementPolicies/{placementPolicyName}": { + "get": { + "operationId": "PlacementPolicies_Get", + "tags": [ + "PlacementPolicies" + ], + "summary": "Get a placement policy by name in a private cloud cluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "$ref": "#/parameters/placementPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/PlacementPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PlacementPolicies_Get": { + "$ref": "./examples/PlacementPolicies_Get.json" + } + } + }, + "put": { + "operationId": "PlacementPolicies_CreateOrUpdate", + "x-ms-long-running-operation": true, + "tags": [ + "PlacementPolicies" + ], + "summary": "Create or update a placement policy in a private cloud cluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "$ref": "#/parameters/placementPolicyName" + }, + { + "name": "placementPolicy", + "description": "A placement policy in the private cloud cluster", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PlacementPolicy" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/PlacementPolicy" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/PlacementPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PlacementPolicies_CreateOrUpdate": { + "$ref": "./examples/PlacementPolicies_CreateOrUpdate.json" + } + } + }, + "patch": { + "operationId": "PlacementPolicies_Update", + "x-ms-long-running-operation": true, + "tags": [ + "PlacementPolicies" + ], + "summary": "Update a placement policy in a private cloud cluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "$ref": "#/parameters/placementPolicyName" + }, + { + "name": "placementPolicyUpdate", + "description": "The placement policy properties that may be updated", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PlacementPolicyUpdate" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/PlacementPolicy" + } + }, + "202": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/PlacementPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PlacementPolicies_Update": { + "$ref": "./examples/PlacementPolicies_Update.json" + } + } + }, + "delete": { + "operationId": "PlacementPolicies_Delete", + "x-ms-long-running-operation": true, + "tags": [ + "PlacementPolicies" + ], + "summary": "Delete a placement policy in a private cloud cluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "$ref": "#/parameters/placementPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No policy to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PlacementPolicies_Delete": { + "$ref": "./examples/PlacementPolicies_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/scriptPackages": { + "get": { + "tags": [ + "Scripts" + ], + "description": "List script packages available to run on the private cloud", + "operationId": "ScriptPackages_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request has succeeded", + "schema": { + "$ref": "#/definitions/ScriptPackagesList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ScriptPackages_List": { + "$ref": "./examples/ScriptPackages_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/scriptPackages/{scriptPackageName}": { + "get": { + "tags": [ + "Scripts" + ], + "description": "Get a script package available to run on a private cloud", + "operationId": "ScriptPackages_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/scriptPackageName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request has succeeded", + "schema": { + "$ref": "#/definitions/ScriptPackage" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ScriptPackages_Get": { + "$ref": "./examples/ScriptPackages_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/scriptPackages/{scriptPackageName}/scriptCmdlets": { + "get": { + "tags": [ + "Scripts" + ], + "description": "List script cmdlet resources available for a private cloud to create a script execution resource on a private cloud", + "operationId": "ScriptCmdlets_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/scriptPackageName" + } + ], + "responses": { + "200": { + "description": "Request has succeeded", + "schema": { + "$ref": "#/definitions/ScriptCmdletsList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ScriptCmdlets_List": { + "$ref": "./examples/ScriptCmdlets_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/scriptPackages/{scriptPackageName}/scriptCmdlets/{scriptCmdletName}": { + "get": { + "tags": [ + "Scripts" + ], + "description": "Return information about a script cmdlet resource in a specific package on a private cloud", + "operationId": "ScriptCmdlets_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/scriptPackageName" + }, + { + "$ref": "#/parameters/scriptCmdletName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request has succeeded", + "schema": { + "$ref": "#/definitions/ScriptCmdlet" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ScriptCmdlets_Get": { + "$ref": "./examples/ScriptCmdlets_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/scriptExecutions": { + "get": { + "operationId": "ScriptExecutions_List", + "tags": [ + "Scripts" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "summary": "List script executions in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/ScriptExecutionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ScriptExecutions_List": { + "$ref": "./examples/ScriptExecutions_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/scriptExecutions/{scriptExecutionName}": { + "get": { + "operationId": "ScriptExecutions_Get", + "tags": [ + "Scripts" + ], + "summary": "Get an script execution by name in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/scriptExecutionName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/ScriptExecution" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ScriptExecutions_Get": { + "$ref": "./examples/ScriptExecutions_Get.json" + } + } + }, + "put": { + "operationId": "ScriptExecutions_CreateOrUpdate", + "x-ms-long-running-operation": true, + "tags": [ + "Scripts" + ], + "summary": "Create or update a script execution in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "privateCloudName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private cloud." + }, + { + "$ref": "#/parameters/scriptExecutionName" + }, + { + "name": "scriptExecution", + "description": "A script running in the private cloud", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScriptExecution" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/ScriptExecution" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/ScriptExecution" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ScriptExecutions_CreateOrUpdate": { + "$ref": "./examples/ScriptExecutions_CreateOrUpdate.json" + } + } + }, + "delete": { + "operationId": "ScriptExecutions_Delete", + "x-ms-long-running-operation": true, + "tags": [ + "Scripts" + ], + "summary": "Cancel a ScriptExecution in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/scriptExecutionName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No script to cancel" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ScriptExecutions_Delete": { + "$ref": "./examples/ScriptExecutions_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/scriptExecutions/{scriptExecutionName}/getExecutionLogs": { + "post": { + "tags": [ + "Scripts" + ], + "description": "Return the logs for a script execution resource", + "operationId": "ScriptExecutions_GetExecutionLogs", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/scriptExecutionName" + }, + { + "$ref": "#/parameters/scriptOutputStreamType" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request has succeeded", + "schema": { + "$ref": "#/definitions/ScriptExecution" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ScriptExecutions_GetExecutionLogs": { + "$ref": "./examples/ScriptExecutions_GetExecutionLogs.json" + } + } + } + } + }, + "definitions": { + "Trial": { + "type": "object", + "description": "Subscription trial availability", + "properties": { + "status": { + "description": "Trial status", + "type": "string", + "enum": [ + "TrialAvailable", + "TrialUsed", + "TrialDisabled" + ], + "readOnly": true, + "x-ms-enum": { + "name": "TrialStatus", + "modelAsString": true + } + }, + "availableHosts": { + "description": "Number of trial hosts available", + "type": "integer", + "format": "int32", + "readOnly": true + } + } + }, + "Quota": { + "type": "object", + "description": "Subscription quotas", + "properties": { + "hostsRemaining": { + "description": "Remaining hosts quota by sku type", + "type": "object", + "readOnly": true, + "additionalProperties": { + "type": "integer", + "format": "int32", + "readOnly": true + } + }, + "quotaEnabled": { + "description": "Host quota is active for current subscription", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "readOnly": true, + "x-ms-enum": { + "name": "QuotaEnabled", + "modelAsString": true + } + } + } + }, + "Resource": { + "type": "object", + "description": "The core properties of ARM resources", + "properties": { + "id": { + "description": "Resource ID.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Resource name.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Resource type.", + "readOnly": true, + "type": "string" + } + }, + "x-ms-azure-resource": true + }, + "TrackedResource": { + "type": "object", + "description": "The resource model definition for a ARM tracked top level resource", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/ResourceTags" + } + } + }, + "ResourceTags": { + "description": "Resource tags", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ] + }, + "ProxyResource": { + "type": "object", + "description": "The resource model definition for a ARM proxy resource", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "CloudError": { + "type": "object", + "x-ms-external": true, + "properties": { + "error": { + "description": "An error returned by the API", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + }, + "description": "API error response" + }, + "OperationList": { + "type": "object", + "description": "Pageable list of operations", + "properties": { + "value": { + "description": "List of operations", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "A REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation being performed on this object", + "type": "string", + "readOnly": true + }, + "display": { + "type": "object", + "description": "Contains the localized display information for this operation", + "readOnly": true, + "properties": { + "provider": { + "description": "Localized friendly form of the resource provider name", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Localized friendly form of the resource type related to this operation", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Localized friendly name for the operation", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Localized friendly description for the operation", + "type": "string", + "readOnly": true + } + } + }, + "isDataAction": { + "description": "Gets or sets a value indicating whether the operation is a data action or not", + "type": "boolean" + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of the operation" + } + } + }, + "OperationProperties": { + "description": "Extra Operation properties", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "Service specifications of the operation" + } + } + }, + "ServiceSpecification": { + "description": "Service specification payload", + "type": "object", + "properties": { + "logSpecifications": { + "description": "Specifications of the Log for Azure Monitoring", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + } + }, + "metricSpecifications": { + "description": "Specifications of the Metrics for Azure Monitoring", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + } + } + }, + "LogSpecification": { + "description": "Specifications of the Log for Azure Monitoring", + "type": "object", + "properties": { + "name": { + "description": "Name of the log", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the log", + "type": "string" + }, + "blobDuration": { + "description": "Blob duration of the log", + "type": "string" + } + } + }, + "MetricSpecification": { + "description": "Specifications of the Metrics for Azure Monitoring", + "type": "object", + "properties": { + "name": { + "description": "Name of the metric", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the metric", + "type": "string" + }, + "displayDescription": { + "description": "Localized friendly description of the metric", + "type": "string" + }, + "unit": { + "description": "Unit that makes sense for the metric", + "type": "string" + }, + "category": { + "description": "Name of the metric category that the metric belongs to. A metric can only belong to a single category.", + "type": "string" + }, + "aggregationType": { + "description": "Only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count.", + "type": "string" + }, + "supportedAggregationTypes": { + "description": "Supported aggregation types", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "supportedTimeGrainTypes": { + "description": "Supported time grain types", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "fillGapWithZero": { + "description": "Optional. If set to true, then zero will be returned for time duration where no metric is emitted/published.", + "type": "boolean" + }, + "dimensions": { + "description": "Dimensions of the metric", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension" + } + }, + "enableRegionalMdmAccount": { + "description": "Whether or not the service is using regional MDM accounts.", + "type": "string" + }, + "sourceMdmAccount": { + "description": "The name of the MDM account.", + "type": "string" + }, + "sourceMdmNamespace": { + "description": "The name of the MDM namespace.", + "type": "string" + } + } + }, + "MetricDimension": { + "description": "Specifications of the Dimension of metrics", + "type": "object", + "properties": { + "name": { + "description": "Name of the dimension", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the dimension", + "type": "string" + }, + "internalName": { + "description": "Name of the dimension as it appears in MDM", + "type": "string" + }, + "toBeExportedForShoebox": { + "description": "A boolean flag indicating whether this dimension should be included for the shoebox export scenario", + "type": "boolean" + } + } + }, + "ExpressRouteAuthorization": { + "type": "object", + "description": "ExpressRoute Circuit Authorization", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of an ExpressRoute Circuit Authorization resource", + "$ref": "#/definitions/ExpressRouteAuthorizationProperties", + "x-ms-client-flatten": true, + "readOnly": true + } + } + }, + "ExpressRouteAuthorizationProperties": { + "type": "object", + "description": "The properties of an ExpressRoute Circuit Authorization resource", + "properties": { + "provisioningState": { + "description": "The state of the ExpressRoute Circuit Authorization provisioning", + "type": "string", + "readOnly": true, + "enum": [ + "Succeeded", + "Failed", + "Updating" + ], + "x-ms-enum": { + "name": "ExpressRouteAuthorizationProvisioningState", + "modelAsString": true + } + }, + "expressRouteAuthorizationId": { + "description": "The ID of the ExpressRoute Circuit Authorization", + "type": "string", + "readOnly": true + }, + "expressRouteAuthorizationKey": { + "description": "The key of the ExpressRoute Circuit Authorization", + "type": "string", + "readOnly": true + }, + "expressRouteId": { + "type": "string", + "description": "The ID of the ExpressRoute Circuit" + } + } + }, + "ExpressRouteAuthorizationList": { + "type": "object", + "description": "A paged list of ExpressRoute Circuit Authorizations", + "properties": { + "value": { + "description": "The items on a page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ExpressRouteAuthorization" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "Circuit": { + "type": "object", + "description": "An ExpressRoute Circuit", + "properties": { + "primarySubnet": { + "type": "string", + "readOnly": true, + "description": "CIDR of primary subnet" + }, + "secondarySubnet": { + "type": "string", + "readOnly": true, + "description": "CIDR of secondary subnet" + }, + "expressRouteID": { + "type": "string", + "readOnly": true, + "description": "Identifier of the ExpressRoute Circuit (Microsoft Colo only)" + }, + "expressRoutePrivatePeeringID": { + "type": "string", + "readOnly": true, + "description": "ExpressRoute Circuit private peering identifier" + } + } + }, + "EncryptionKeyVaultProperties": { + "type": "object", + "description": "An Encryption Key", + "properties": { + "keyName": { + "type": "string", + "description": "The name of the key." + }, + "keyVersion": { + "type": "string", + "description": "The version of the key." + }, + "keyVaultUrl": { + "type": "string", + "description": "The URL of the vault." + }, + "keyState": { + "type": "string", + "description": "The state of key provided", + "readOnly": true, + "enum": [ + "Connected", + "AccessDenied" + ], + "x-ms-enum": { + "name": "EncryptionKeyStatus", + "modelAsString": true + } + }, + "versionType": { + "type": "string", + "description": "Property of the key if user provided or auto detected", + "readOnly": true, + "enum": [ + "Fixed", + "AutoDetected" + ], + "x-ms-enum": { + "name": "EncryptionVersionType", + "modelAsString": true + } + } + } + }, + "Encryption": { + "type": "object", + "description": "The properties of customer managed encryption key", + "properties": { + "status": { + "description": "Status of customer managed encryption key", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "EncryptionState", + "modelAsString": true + } + }, + "keyVaultProperties": { + "description": "The key vault where the encryption key is stored", + "$ref": "#/definitions/EncryptionKeyVaultProperties" + } + } + }, + "Endpoints": { + "type": "object", + "description": "Endpoint addresses", + "properties": { + "nsxtManager": { + "description": "Endpoint for the NSX-T Data Center manager", + "type": "string", + "readOnly": true + }, + "vcsa": { + "description": "Endpoint for Virtual Center Server Appliance", + "type": "string", + "readOnly": true + }, + "hcxCloudManager": { + "description": "Endpoint for the HCX Cloud Manager", + "type": "string", + "readOnly": true + } + } + }, + "IdentitySource": { + "type": "object", + "description": "vCenter Single Sign On Identity Source", + "properties": { + "name": { + "description": "The name of the identity source", + "type": "string" + }, + "alias": { + "description": "The domain's NetBIOS name", + "type": "string" + }, + "domain": { + "description": "The domain's dns name", + "type": "string" + }, + "baseUserDN": { + "description": "The base distinguished name for users", + "type": "string" + }, + "baseGroupDN": { + "description": "The base distinguished name for groups", + "type": "string" + }, + "primaryServer": { + "description": "Primary server URL", + "type": "string" + }, + "secondaryServer": { + "description": "Secondary server URL", + "type": "string" + }, + "ssl": { + "description": "Protect LDAP communication using SSL certificate (LDAPS)", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "SslEnum", + "modelAsString": true + } + }, + "username": { + "description": "The ID of an Active Directory user with a minimum of read-only access to Base DN for users and group", + "type": "string" + }, + "password": { + "description": "The password of the Active Directory user with a minimum of read-only access to Base DN for users and groups.", + "type": "string", + "x-ms-secret": true + } + } + }, + "AvailabilityProperties": { + "type": "object", + "description": "The properties describing private cloud availability zone distribution", + "properties": { + "strategy": { + "description": "The availability strategy for the private cloud", + "type": "string", + "enum": [ + "SingleZone", + "DualZone" + ], + "x-ms-enum": { + "name": "AvailabilityStrategy", + "modelAsString": true + } + }, + "zone": { + "description": "The primary availability zone for the private cloud", + "type": "integer", + "format": "int32" + }, + "secondaryZone": { + "description": "The secondary availability zone for the private cloud", + "type": "integer", + "format": "int32" + } + } + }, + "PrivateCloud": { + "type": "object", + "description": "A private cloud resource", + "required": [ + "location", + "sku" + ], + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "description": "The private cloud SKU", + "$ref": "#/definitions/Sku" + }, + "properties": { + "description": "The properties of a private cloud resource", + "$ref": "#/definitions/PrivateCloudProperties", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/PrivateCloudIdentity", + "description": "The identity of the private cloud, if configured." + } + } + }, + "PrivateCloudUpdate": { + "type": "object", + "description": "An update to a private cloud resource", + "properties": { + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/ResourceTags" + }, + "properties": { + "description": "The updatable properties of a private cloud resource", + "$ref": "#/definitions/PrivateCloudUpdateProperties", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/PrivateCloudIdentity", + "description": "The identity of the private cloud, if configured." + } + } + }, + "PrivateCloudUpdateProperties": { + "type": "object", + "description": "The properties of a private cloud resource that may be updated", + "properties": { + "managementCluster": { + "description": "The default cluster used for management", + "$ref": "#/definitions/ManagementCluster" + }, + "internet": { + "description": "Connectivity to internet is enabled or disabled", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "default": "Disabled", + "x-ms-enum": { + "name": "InternetEnum", + "modelAsString": true + } + }, + "identitySources": { + "description": "vCenter Single Sign On Identity Sources", + "type": "array", + "items": { + "$ref": "#/definitions/IdentitySource" + } + }, + "availability": { + "description": "Properties describing how the cloud is distributed across availability zones", + "$ref": "#/definitions/AvailabilityProperties" + }, + "encryption": { + "description": "Customer managed key encryption, can be enabled or disabled", + "$ref": "#/definitions/Encryption" + } + } + }, + "PrivateCloudProperties": { + "type": "object", + "description": "The properties of a private cloud resource", + "required": [ + "managementCluster", + "networkBlock" + ], + "allOf": [ + { + "$ref": "#/definitions/PrivateCloudUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state", + "type": "string", + "readOnly": true, + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "Pending", + "Building", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "PrivateCloudProvisioningState", + "modelAsString": true + } + }, + "circuit": { + "description": "An ExpressRoute Circuit", + "$ref": "#/definitions/Circuit" + }, + "endpoints": { + "description": "The endpoints", + "readOnly": true, + "$ref": "#/definitions/Endpoints" + }, + "networkBlock": { + "description": "The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "managementNetwork": { + "description": "Network used to access vCenter Server and NSX-T Manager", + "type": "string", + "readOnly": true + }, + "provisioningNetwork": { + "description": "Used for virtual machine cold migration, cloning, and snapshot migration", + "type": "string", + "readOnly": true + }, + "vmotionNetwork": { + "description": "Used for live migration of virtual machines", + "type": "string", + "readOnly": true + }, + "vcenterPassword": { + "description": "Optionally, set the vCenter admin password when the private cloud is created", + "type": "string", + "x-ms-secret": true + }, + "nsxtPassword": { + "description": "Optionally, set the NSX-T Manager password when the private cloud is created", + "type": "string", + "x-ms-secret": true + }, + "vcenterCertificateThumbprint": { + "description": "Thumbprint of the vCenter Server SSL certificate", + "type": "string", + "readOnly": true + }, + "nsxtCertificateThumbprint": { + "description": "Thumbprint of the NSX-T Manager SSL certificate", + "type": "string", + "readOnly": true + }, + "externalCloudLinks": { + "description": "Array of cloud link IDs from other clouds that connect to this one", + "type": "array", + "readOnly": true, + "items": { + "type": "string" + } + }, + "secondaryCircuit": { + "description": "A secondary expressRoute circuit from a separate AZ. Only present in a stretched private cloud", + "$ref": "#/definitions/Circuit" + } + } + }, + "Cluster": { + "type": "object", + "description": "A cluster resource", + "required": [ + "sku" + ], + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "sku": { + "description": "The cluster SKU", + "$ref": "#/definitions/Sku" + }, + "properties": { + "description": "The properties of a cluster resource", + "$ref": "#/definitions/ClusterProperties", + "x-ms-client-flatten": true + } + } + }, + "ClusterUpdate": { + "type": "object", + "description": "An update of a cluster resource", + "properties": { + "properties": { + "description": "The properties of a cluster resource that may be updated", + "$ref": "#/definitions/ClusterUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "ClusterUpdateProperties": { + "type": "object", + "description": "The properties of a cluster that may be updated", + "properties": { + "clusterSize": { + "description": "The cluster size", + "type": "integer", + "format": "int32" + }, + "hosts": { + "description": "The hosts", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ClusterProvisioningState": { + "description": "The state of the cluster provisioning", + "type": "string", + "readOnly": true, + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "ClusterProvisioningState", + "modelAsString": true + } + }, + "CommonClusterProperties": { + "type": "object", + "description": "The common properties of a cluster", + "properties": { + "clusterSize": { + "description": "The cluster size", + "type": "integer", + "format": "int32" + }, + "provisioningState": { + "description": "The state of the cluster provisioning", + "$ref": "#/definitions/ClusterProvisioningState" + }, + "clusterId": { + "description": "The identity", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "hosts": { + "description": "The hosts", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ManagementCluster": { + "type": "object", + "description": "The properties of a management cluster", + "required": [ + "clusterSize" + ], + "allOf": [ + { + "$ref": "#/definitions/CommonClusterProperties" + } + ] + }, + "ClusterProperties": { + "type": "object", + "description": "The properties of a cluster", + "allOf": [ + { + "$ref": "#/definitions/CommonClusterProperties" + } + ], + "properties": {} + }, + "PrivateCloudList": { + "type": "object", + "description": "A paged list of private clouds", + "properties": { + "value": { + "description": "The items on the page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PrivateCloud" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "ClusterList": { + "type": "object", + "description": "A paged list of clusters", + "properties": { + "value": { + "description": "The items on a page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Cluster" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "Addon": { + "type": "object", + "description": "An addon resource", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of an addon resource", + "$ref": "#/definitions/AddonProperties", + "x-ms-client-flatten": false + } + } + }, + "AddonProperties": { + "type": "object", + "description": "The properties of an addon", + "discriminator": "addonType", + "properties": { + "addonType": { + "description": "The type of private cloud addon", + "type": "string", + "enum": [ + "SRM", + "VR", + "HCX" + ], + "x-ms-enum": { + "name": "AddonType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "The state of the addon provisioning", + "type": "string", + "readOnly": true, + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "Building", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "AddonProvisioningState", + "modelAsString": true + } + } + }, + "required": [ + "addonType" + ] + }, + "AddonSrmProperties": { + "type": "object", + "description": "The properties of a Site Recovery Manager (SRM) addon", + "x-ms-discriminator-value": "SRM", + "allOf": [ + { + "$ref": "#/definitions/AddonProperties" + } + ], + "properties": { + "licenseKey": { + "description": "The Site Recovery Manager (SRM) license", + "type": "string" + } + } + }, + "AddonVrProperties": { + "type": "object", + "description": "The properties of a vSphere Replication (VR) addon", + "x-ms-discriminator-value": "VR", + "allOf": [ + { + "$ref": "#/definitions/AddonProperties" + } + ], + "properties": { + "vrsCount": { + "description": "The vSphere Replication Server (VRS) count", + "type": "integer", + "format": "int32" + } + }, + "required": [ + "vrsCount" + ] + }, + "AddonHcxProperties": { + "type": "object", + "description": "The properties of an HCX addon", + "x-ms-discriminator-value": "HCX", + "allOf": [ + { + "$ref": "#/definitions/AddonProperties" + } + ], + "properties": { + "offer": { + "description": "The HCX offer, example VMware MaaS Cloud Provider (Enterprise)", + "type": "string" + } + }, + "required": [ + "offer" + ] + }, + "AddonList": { + "type": "object", + "description": "A paged list of addons", + "properties": { + "value": { + "description": "The items on a page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Addon" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "DatastoreList": { + "type": "object", + "description": "A paged list of datastores", + "properties": { + "value": { + "description": "The items on a page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Datastore" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "Datastore": { + "type": "object", + "description": "A datastore resource", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of a datastore resource", + "$ref": "#/definitions/DatastoreProperties", + "x-ms-client-flatten": true + } + } + }, + "DatastoreProperties": { + "type": "object", + "description": "The properties of a datastore", + "properties": { + "provisioningState": { + "description": "The state of the datastore provisioning", + "type": "string", + "readOnly": true, + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "Pending", + "Creating", + "Updating", + "Deleting" + ], + "x-ms-enum": { + "name": "DatastoreProvisioningState", + "modelAsString": true + } + }, + "netAppVolume": { + "description": "An Azure NetApp Files volume", + "$ref": "#/definitions/NetAppVolume" + }, + "diskPoolVolume": { + "description": "An iSCSI volume", + "$ref": "#/definitions/DiskPoolVolume" + }, + "status": { + "description": "The operational status of the datastore", + "type": "string", + "readOnly": true, + "enum": [ + "Unknown", + "Accessible", + "Inaccessible", + "Attached", + "Detached", + "LostCommunication", + "DeadOrError" + ], + "x-ms-enum": { + "name": "DatastoreStatus", + "modelAsString": true + } + } + } + }, + "NetAppVolume": { + "type": "object", + "description": "An Azure NetApp Files volume from Microsoft.NetApp provider", + "properties": { + "id": { + "type": "string", + "description": "Azure resource ID of the NetApp volume" + } + }, + "required": [ + "id" + ] + }, + "DiskPoolVolume": { + "type": "object", + "description": "An iSCSI volume from Microsoft.StoragePool provider", + "properties": { + "targetId": { + "type": "string", + "description": "Azure resource ID of the iSCSI target" + }, + "lunName": { + "type": "string", + "description": "Name of the LUN to be used for datastore" + }, + "mountOption": { + "type": "string", + "description": "Mode that describes whether the LUN has to be mounted as a datastore or attached as a LUN", + "enum": [ + "MOUNT", + "ATTACH" + ], + "x-ms-enum": { + "name": "MountOptionEnum", + "modelAsString": true + }, + "default": "MOUNT" + }, + "path": { + "type": "string", + "description": "Device path", + "readOnly": true + } + }, + "required": [ + "targetId", + "lunName" + ] + }, + "AdminCredentials": { + "type": "object", + "description": "Administrative credentials for accessing vCenter and NSX-T", + "properties": { + "nsxtUsername": { + "description": "NSX-T Manager username", + "type": "string", + "readOnly": true + }, + "nsxtPassword": { + "description": "NSX-T Manager password", + "type": "string", + "readOnly": true, + "x-ms-secret": true + }, + "vcenterUsername": { + "description": "vCenter admin username", + "type": "string", + "readOnly": true + }, + "vcenterPassword": { + "description": "vCenter admin password", + "type": "string", + "readOnly": true, + "x-ms-secret": true + } + } + }, + "Sku": { + "type": "object", + "description": "The resource model definition representing SKU", + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU." + } + }, + "required": [ + "name" + ] + }, + "HcxEnterpriseSiteList": { + "type": "object", + "description": "A paged list of HCX Enterprise Sites", + "properties": { + "value": { + "description": "The items on a page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/HcxEnterpriseSite" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "HcxEnterpriseSite": { + "type": "object", + "description": "An HCX Enterprise Site resource", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of an HCX Enterprise Site resource", + "$ref": "#/definitions/HcxEnterpriseSiteProperties", + "x-ms-client-flatten": true, + "readOnly": true + } + } + }, + "HcxEnterpriseSiteProperties": { + "type": "object", + "description": "The properties of an HCX Enterprise Site", + "properties": { + "activationKey": { + "description": "The activation key", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the HCX Enterprise Site", + "type": "string", + "readOnly": true, + "enum": [ + "Available", + "Consumed", + "Deactivated", + "Deleted" + ], + "x-ms-enum": { + "name": "HcxEnterpriseSiteStatus", + "modelAsString": true + } + } + } + }, + "GlobalReachConnectionList": { + "type": "object", + "description": "A paged list of global reach connections", + "properties": { + "value": { + "description": "The items on a page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/GlobalReachConnection" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "GlobalReachConnection": { + "type": "object", + "description": "A global reach connection resource", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of a global reach connection resource", + "$ref": "#/definitions/GlobalReachConnectionProperties", + "x-ms-client-flatten": true + } + } + }, + "GlobalReachConnectionProperties": { + "type": "object", + "description": "The properties of a global reach connection", + "properties": { + "provisioningState": { + "description": "The state of the ExpressRoute Circuit Authorization provisioning", + "type": "string", + "readOnly": true, + "enum": [ + "Succeeded", + "Failed", + "Updating" + ], + "x-ms-enum": { + "name": "GlobalReachConnectionProvisioningState", + "modelAsString": true + } + }, + "addressPrefix": { + "description": "The network used for global reach carved out from the original network block provided for the private cloud", + "type": "string", + "readOnly": true + }, + "authorizationKey": { + "description": "Authorization key from the peer express route used for the global reach connection", + "type": "string" + }, + "circuitConnectionStatus": { + "description": "The connection status of the global reach connection", + "type": "string", + "readOnly": true, + "enum": [ + "Connected", + "Connecting", + "Disconnected" + ], + "x-ms-enum": { + "name": "GlobalReachConnectionStatus", + "modelAsString": true + } + }, + "peerExpressRouteCircuit": { + "type": "string", + "description": "Identifier of the ExpressRoute Circuit to peer with in the global reach connection" + }, + "expressRouteId": { + "type": "string", + "description": "The ID of the Private Cloud's ExpressRoute Circuit that is participating in the global reach connection" + } + } + }, + "CloudLinkList": { + "type": "object", + "description": "A paged list of cloud links", + "properties": { + "value": { + "description": "The items on a page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/CloudLink" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "CloudLink": { + "type": "object", + "description": "A cloud link resource", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of a cloud link.", + "$ref": "#/definitions/CloudLinkProperties", + "x-ms-client-flatten": true + } + } + }, + "CloudLinkProperties": { + "type": "object", + "description": "The properties of a cloud link.", + "properties": { + "status": { + "description": "The state of the cloud link.", + "type": "string", + "readOnly": true, + "enum": [ + "Active", + "Building", + "Deleting", + "Failed", + "Disconnected" + ], + "x-ms-enum": { + "name": "CloudLinkStatus", + "modelAsString": true + } + }, + "linkedCloud": { + "type": "string", + "description": "Identifier of the other private cloud participating in the link." + } + } + }, + "WorkloadNetworkSegmentSubnet": { + "type": "object", + "description": "Subnet configuration for segment", + "properties": { + "dhcpRanges": { + "description": "DHCP Range assigned for subnet.", + "type": "array", + "items": { + "type": "string" + } + }, + "gatewayAddress": { + "description": "Gateway address.", + "type": "string" + } + } + }, + "WorkloadNetworkSegmentPortVif": { + "type": "object", + "description": "Ports and any VIF attached to segment.", + "properties": { + "portName": { + "description": "Name of port or VIF attached to segment.", + "type": "string" + } + } + }, + "WorkloadNetworkSegmentProperties": { + "type": "object", + "description": "NSX Segment Properties", + "properties": { + "displayName": { + "description": "Display name of the segment.", + "type": "string" + }, + "connectedGateway": { + "description": "Gateway which to connect segment to.", + "type": "string" + }, + "subnet": { + "description": "Subnet which to connect segment to.", + "$ref": "#/definitions/WorkloadNetworkSegmentSubnet" + }, + "portVif": { + "description": "Port Vif which segment is associated with.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadNetworkSegmentPortVif" + }, + "readOnly": true + }, + "status": { + "description": "Segment status.", + "type": "string", + "enum": [ + "SUCCESS", + "FAILURE" + ], + "x-ms-enum": { + "name": "SegmentStatusEnum", + "modelAsString": true + }, + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state", + "type": "string", + "readOnly": true, + "enum": [ + "Succeeded", + "Failed", + "Building", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "WorkloadNetworkSegmentProvisioningState", + "modelAsString": true + } + }, + "revision": { + "description": "NSX revision number.", + "type": "integer", + "format": "int64" + } + } + }, + "WorkloadNetworkSegment": { + "type": "object", + "description": "NSX Segment", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "The properties of a Workload Segment proxy resource.", + "$ref": "#/definitions/WorkloadNetworkSegmentProperties", + "x-ms-client-flatten": true + } + } + }, + "WorkloadNetworkSegmentsList": { + "type": "object", + "description": "A list of NSX Segments", + "properties": { + "value": { + "description": "The items on the page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/WorkloadNetworkSegment" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "WorkloadNetworkDhcpEntity": { + "type": "object", + "description": "Base class for WorkloadNetworkDhcpServer and WorkloadNetworkDhcpRelay to inherit from", + "discriminator": "dhcpType", + "properties": { + "dhcpType": { + "description": "Type of DHCP: SERVER or RELAY.", + "type": "string", + "enum": [ + "SERVER", + "RELAY" + ], + "x-ms-enum": { + "name": "DhcpTypeEnum", + "modelAsString": true + } + }, + "displayName": { + "description": "Display name of the DHCP entity.", + "type": "string" + }, + "segments": { + "description": "NSX Segments consuming DHCP.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state", + "type": "string", + "readOnly": true, + "enum": [ + "Succeeded", + "Failed", + "Building", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "WorkloadNetworkDhcpProvisioningState", + "modelAsString": true + } + }, + "revision": { + "description": "NSX revision number.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "dhcpType" + ] + }, + "WorkloadNetworkDhcpServer": { + "type": "object", + "description": "NSX DHCP Server", + "x-ms-discriminator-value": "SERVER", + "allOf": [ + { + "$ref": "#/definitions/WorkloadNetworkDhcpEntity" + } + ], + "properties": { + "serverAddress": { + "description": "DHCP Server Address.", + "type": "string" + }, + "leaseTime": { + "description": "DHCP Server Lease Time.", + "type": "integer", + "format": "int64" + } + } + }, + "WorkloadNetworkDhcpRelay": { + "type": "object", + "description": "NSX DHCP Relay", + "x-ms-discriminator-value": "RELAY", + "allOf": [ + { + "$ref": "#/definitions/WorkloadNetworkDhcpEntity" + } + ], + "properties": { + "serverAddresses": { + "description": "DHCP Relay Addresses. Max 3.", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1, + "maxItems": 3 + } + } + }, + "WorkloadNetworkDhcp": { + "type": "object", + "description": "NSX DHCP", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "DHCP properties.", + "$ref": "#/definitions/WorkloadNetworkDhcpEntity", + "x-ms-client-flatten": false + } + } + }, + "WorkloadNetworkDhcpList": { + "type": "object", + "description": "A list of NSX dhcp entities", + "properties": { + "value": { + "description": "The items on the page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/WorkloadNetworkDhcp" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "WorkloadNetworkPortMirroringProperties": { + "type": "object", + "description": "NSX Port Mirroring Properties", + "properties": { + "displayName": { + "description": "Display name of the port mirroring profile.", + "type": "string" + }, + "direction": { + "description": "Direction of port mirroring profile.", + "type": "string", + "enum": [ + "INGRESS", + "EGRESS", + "BIDIRECTIONAL" + ], + "x-ms-enum": { + "name": "PortMirroringDirectionEnum", + "modelAsString": true + } + }, + "source": { + "description": "Source VM Group.", + "type": "string" + }, + "destination": { + "description": "Destination VM Group.", + "type": "string" + }, + "status": { + "description": "Port Mirroring Status.", + "type": "string", + "enum": [ + "SUCCESS", + "FAILURE" + ], + "x-ms-enum": { + "name": "PortMirroringStatusEnum", + "modelAsString": true + }, + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state", + "type": "string", + "readOnly": true, + "enum": [ + "Succeeded", + "Failed", + "Building", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "WorkloadNetworkPortMirroringProvisioningState", + "modelAsString": true + } + }, + "revision": { + "description": "NSX revision number.", + "type": "integer", + "format": "int64" + } + } + }, + "WorkloadNetworkPortMirroring": { + "type": "object", + "description": "NSX Port Mirroring", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Port Mirroring Properties.", + "$ref": "#/definitions/WorkloadNetworkPortMirroringProperties", + "x-ms-client-flatten": true + } + } + }, + "WorkloadNetworkPortMirroringList": { + "type": "object", + "description": "A list of NSX Port Mirroring", + "properties": { + "value": { + "description": "The items on the page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/WorkloadNetworkPortMirroring" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "WorkloadNetworkVMGroupProperties": { + "type": "object", + "description": "NSX VM Group Properties", + "properties": { + "displayName": { + "description": "Display name of the VM group.", + "type": "string" + }, + "members": { + "description": "Virtual machine members of this group.", + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "description": "VM Group status.", + "type": "string", + "enum": [ + "SUCCESS", + "FAILURE" + ], + "x-ms-enum": { + "name": "VMGroupStatusEnum", + "modelAsString": true + }, + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state", + "type": "string", + "readOnly": true, + "enum": [ + "Succeeded", + "Failed", + "Building", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "WorkloadNetworkVMGroupProvisioningState", + "modelAsString": true + } + }, + "revision": { + "description": "NSX revision number.", + "type": "integer", + "format": "int64" + } + } + }, + "WorkloadNetworkVMGroup": { + "type": "object", + "description": "NSX VM Group", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "VM Group properties.", + "$ref": "#/definitions/WorkloadNetworkVMGroupProperties", + "x-ms-client-flatten": true + } + } + }, + "WorkloadNetworkVMGroupsList": { + "type": "object", + "description": "A list of NSX VM Groups", + "properties": { + "value": { + "description": "The items on the page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/WorkloadNetworkVMGroup" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "WorkloadNetworkVirtualMachineProperties": { + "type": "object", + "description": "NSX Virtual Machine Properties", + "properties": { + "displayName": { + "description": "Display name of the VM.", + "type": "string" + }, + "vmType": { + "description": "Virtual machine type.", + "type": "string", + "enum": [ + "REGULAR", + "EDGE", + "SERVICE" + ], + "x-ms-enum": { + "name": "VMTypeEnum", + "modelAsString": true + }, + "readOnly": true + } + } + }, + "WorkloadNetworkVirtualMachine": { + "type": "object", + "description": "NSX Virtual Machine", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Virtual machine properties.", + "$ref": "#/definitions/WorkloadNetworkVirtualMachineProperties", + "x-ms-client-flatten": true + } + } + }, + "WorkloadNetworkVirtualMachinesList": { + "type": "object", + "description": "A list of NSX Virtual Machines", + "properties": { + "value": { + "description": "The items on the page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/WorkloadNetworkVirtualMachine" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "WorkloadNetworkGatewayProperties": { + "type": "object", + "description": "Properties of a NSX Gateway.", + "properties": { + "displayName": { + "description": "Display name of the DHCP entity.", + "type": "string" + }, + "path": { + "description": "NSX Gateway Path.", + "type": "string", + "readOnly": true + } + } + }, + "WorkloadNetworkGateway": { + "type": "object", + "description": "NSX Gateway.", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Gateway properties.", + "$ref": "#/definitions/WorkloadNetworkGatewayProperties", + "x-ms-client-flatten": true + } + } + }, + "WorkloadNetworkGatewayList": { + "type": "object", + "description": "A list of NSX Gateways", + "properties": { + "value": { + "description": "The items on the page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/WorkloadNetworkGateway" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "WorkloadNetworkDnsServiceProperties": { + "type": "object", + "description": "NSX DNS Service Properties", + "properties": { + "displayName": { + "description": "Display name of the DNS Service.", + "type": "string" + }, + "dnsServiceIp": { + "description": "DNS service IP of the DNS Service.", + "type": "string" + }, + "defaultDnsZone": { + "description": "Default DNS zone of the DNS Service.", + "type": "string" + }, + "fqdnZones": { + "description": "FQDN zones of the DNS Service.", + "type": "array", + "items": { + "type": "string" + } + }, + "logLevel": { + "description": "DNS Service log level.", + "type": "string", + "enum": [ + "DEBUG", + "INFO", + "WARNING", + "ERROR", + "FATAL" + ], + "x-ms-enum": { + "name": "DnsServiceLogLevelEnum", + "modelAsString": true + } + }, + "status": { + "description": "DNS Service status.", + "type": "string", + "enum": [ + "SUCCESS", + "FAILURE" + ], + "x-ms-enum": { + "name": "DnsServiceStatusEnum", + "modelAsString": true + }, + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state", + "type": "string", + "readOnly": true, + "enum": [ + "Succeeded", + "Failed", + "Building", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "WorkloadNetworkDnsServiceProvisioningState", + "modelAsString": true + } + }, + "revision": { + "description": "NSX revision number.", + "type": "integer", + "format": "int64" + } + } + }, + "WorkloadNetworkDnsService": { + "type": "object", + "description": "NSX DNS Service", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "DNS Service properties", + "$ref": "#/definitions/WorkloadNetworkDnsServiceProperties", + "x-ms-client-flatten": true + } + } + }, + "WorkloadNetworkDnsServicesList": { + "type": "object", + "description": "A list of NSX DNS Services", + "properties": { + "value": { + "description": "The items on the page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/WorkloadNetworkDnsService" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "WorkloadNetworkDnsZoneProperties": { + "type": "object", + "description": "NSX DNS Zone Properties", + "properties": { + "displayName": { + "description": "Display name of the DNS Zone.", + "type": "string" + }, + "domain": { + "description": "Domain names of the DNS Zone.", + "type": "array", + "items": { + "type": "string" + } + }, + "dnsServerIps": { + "description": "DNS Server IP array of the DNS Zone.", + "type": "array", + "items": { + "type": "string" + } + }, + "sourceIp": { + "description": "Source IP of the DNS Zone.", + "type": "string" + }, + "dnsServices": { + "description": "Number of DNS Services using the DNS zone.", + "type": "integer", + "format": "int64" + }, + "provisioningState": { + "description": "The provisioning state", + "type": "string", + "readOnly": true, + "enum": [ + "Succeeded", + "Failed", + "Building", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "WorkloadNetworkDnsZoneProvisioningState", + "modelAsString": true + } + }, + "revision": { + "description": "NSX revision number.", + "type": "integer", + "format": "int64" + } + } + }, + "WorkloadNetworkDnsZone": { + "type": "object", + "description": "NSX DNS Zone", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "DNS Zone properties", + "$ref": "#/definitions/WorkloadNetworkDnsZoneProperties", + "x-ms-client-flatten": true + } + } + }, + "WorkloadNetworkDnsZonesList": { + "type": "object", + "description": "A list of NSX DNS Zones", + "properties": { + "value": { + "description": "The items on the page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/WorkloadNetworkDnsZone" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "WorkloadNetworkPublicIPProperties": { + "type": "object", + "description": "NSX Public IP Block Properties", + "properties": { + "displayName": { + "description": "Display name of the Public IP Block.", + "type": "string" + }, + "numberOfPublicIPs": { + "description": "Number of Public IPs requested.", + "type": "integer", + "format": "int64" + }, + "publicIPBlock": { + "description": "CIDR Block of the Public IP Block.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state", + "type": "string", + "readOnly": true, + "enum": [ + "Succeeded", + "Failed", + "Building", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "WorkloadNetworkPublicIPProvisioningState", + "modelAsString": true + } + } + } + }, + "WorkloadNetworkPublicIP": { + "type": "object", + "description": "NSX Public IP Block", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Public IP Block properties", + "$ref": "#/definitions/WorkloadNetworkPublicIPProperties", + "x-ms-client-flatten": true + } + } + }, + "WorkloadNetworkPublicIPsList": { + "type": "object", + "description": "A list of NSX Public IP Blocks", + "properties": { + "value": { + "description": "The items on the page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/WorkloadNetworkPublicIP" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "VirtualMachineRestrictMovementState": { + "description": "Whether VM DRS-driven movement is restricted (enabled) or not (disabled)", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "virtualMachineRestrictMovementState", + "modelAsString": true + } + }, + "VirtualMachineRestrictMovement": { + "type": "object", + "description": "Set VM DRS-driven movement to restricted (enabled) or not (disabled)", + "properties": { + "restrictMovement": { + "$ref": "#/definitions/VirtualMachineRestrictMovementState" + } + } + }, + "VirtualMachineProperties": { + "type": "object", + "description": "Virtual Machine Properties", + "properties": { + "displayName": { + "description": "Display name of the VM.", + "type": "string", + "readOnly": true + }, + "moRefId": { + "description": "Virtual machine managed object reference id", + "type": "string", + "readOnly": true + }, + "folderPath": { + "description": "Path to virtual machine's folder starting from datacenter virtual machine folder", + "type": "string", + "readOnly": true + }, + "restrictMovement": { + "$ref": "#/definitions/VirtualMachineRestrictMovementState", + "readOnly": true + } + } + }, + "VirtualMachine": { + "type": "object", + "description": "Virtual Machine", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Virtual machine properties.", + "$ref": "#/definitions/VirtualMachineProperties", + "x-ms-client-flatten": true + } + } + }, + "VirtualMachinesList": { + "type": "object", + "description": "A list of Virtual Machines", + "properties": { + "value": { + "description": "The items to be displayed on the page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/VirtualMachine" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "PlacementPolicyProperties": { + "type": "object", + "description": "Abstract placement policy properties", + "discriminator": "type", + "properties": { + "type": { + "description": "placement policy type", + "type": "string", + "enum": [ + "VmVm", + "VmHost" + ], + "x-ms-enum": { + "name": "PlacementPolicyType", + "modelAsString": true + } + }, + "state": { + "description": "Whether the placement policy is enabled or disabled", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PlacementPolicyState", + "modelAsString": true + } + }, + "displayName": { + "description": "Display name of the placement policy", + "type": "string" + }, + "provisioningState": { + "description": "The provisioning state", + "type": "string", + "readOnly": true, + "enum": [ + "Succeeded", + "Failed", + "Building", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "PlacementPolicyProvisioningState", + "modelAsString": true + } + } + }, + "required": [ + "type" + ] + }, + "VmVmPlacementPolicyProperties": { + "type": "object", + "description": "VM-VM placement policy properties", + "x-ms-discriminator-value": "VmVm", + "allOf": [ + { + "$ref": "#/definitions/PlacementPolicyProperties" + } + ], + "properties": { + "vmMembers": { + "description": "Virtual machine members list", + "type": "array", + "items": { + "type": "string" + } + }, + "affinityType": { + "description": "placement policy affinity type", + "$ref": "#/definitions/AffinityType" + } + }, + "required": [ + "vmMembers", + "affinityType" + ] + }, + "VmHostPlacementPolicyProperties": { + "type": "object", + "description": "VM-Host placement policy properties", + "x-ms-discriminator-value": "VmHost", + "allOf": [ + { + "$ref": "#/definitions/PlacementPolicyProperties" + } + ], + "properties": { + "vmMembers": { + "description": "Virtual machine members list", + "type": "array", + "items": { + "type": "string" + } + }, + "hostMembers": { + "description": "Host members list", + "type": "array", + "items": { + "type": "string" + } + }, + "affinityType": { + "description": "placement policy affinity type", + "$ref": "#/definitions/AffinityType" + } + }, + "required": [ + "vmMembers", + "hostMembers", + "affinityType" + ] + }, + "PlacementPolicy": { + "type": "object", + "description": "A vSphere Distributed Resource Scheduler (DRS) placement policy", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "placement policy properties", + "$ref": "#/definitions/PlacementPolicyProperties", + "x-ms-client-flatten": false + } + } + }, + "PlacementPoliciesList": { + "type": "object", + "description": "Represents list of placement policies", + "properties": { + "value": { + "description": "The items on the page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PlacementPolicy" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "PlacementPolicyUpdate": { + "type": "object", + "description": "An update of a DRS placement policy resource", + "properties": { + "properties": { + "description": "The properties of a placement policy resource that may be updated", + "$ref": "#/definitions/PlacementPolicyUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "PlacementPolicyUpdateProperties": { + "type": "object", + "description": "The properties of a placement policy resource that may be updated", + "properties": { + "state": { + "description": "Whether the placement policy is enabled or disabled", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PlacementPolicyState", + "modelAsString": true + } + }, + "vmMembers": { + "description": "Virtual machine members list", + "type": "array", + "items": { + "type": "string" + } + }, + "hostMembers": { + "description": "Host members list", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AffinityType": { + "description": "Placement policy affinity type", + "type": "string", + "enum": [ + "Affinity", + "AntiAffinity" + ], + "x-ms-enum": { + "name": "AffinityType", + "modelAsString": true + } + }, + "ScriptPackageProperties": { + "type": "object", + "description": "Properties of a Script Package subresource", + "properties": { + "description": { + "description": "User friendly description of the package", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Module version", + "type": "string", + "readOnly": true + } + } + }, + "ScriptPackagesList": { + "type": "object", + "description": "A list of the available script packages", + "properties": { + "value": { + "description": "List of script package resources", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ScriptPackage" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "ScriptPackage": { + "type": "object", + "description": "Script Package resources available for execution", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "ScriptPackage resource properties", + "$ref": "#/definitions/ScriptPackageProperties", + "x-ms-client-flatten": true + } + } + }, + "ScriptParameter": { + "type": "object", + "description": "An parameter that the script will accept", + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of parameter the script is expecting. psCredential is a PSCredentialObject", + "enum": [ + "String", + "SecureString", + "Credential", + "Int", + "Bool", + "Float" + ], + "x-ms-enum": { + "name": "ScriptParameterTypes", + "modelAsString": true + } + }, + "name": { + "type": "string", + "description": "The parameter name that the script will expect a parameter value for" + }, + "description": { + "type": "string", + "readOnly": true, + "description": "User friendly description of the parameter" + }, + "visibility": { + "description": "Should this parameter be visible to arm and passed in the parameters argument when executing", + "type": "string", + "readOnly": true, + "enum": [ + "Visible", + "Hidden" + ], + "x-ms-enum": { + "name": "VisibilityParameterEnum", + "modelAsString": true + } + }, + "optional": { + "description": "Is this parameter required or optional", + "type": "string", + "readOnly": true, + "enum": [ + "Optional", + "Required" + ], + "x-ms-enum": { + "name": "OptionalParamEnum", + "modelAsString": true + } + } + } + }, + "ScriptCmdlet": { + "type": "object", + "description": "A cmdlet available for script execution", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "The properties of a script cmdlet resource", + "$ref": "#/definitions/ScriptCmdletProperties", + "x-ms-client-flatten": true + } + } + }, + "ScriptCmdletProperties": { + "type": "object", + "description": "Properties of a pre-canned script", + "properties": { + "description": { + "description": "Description of the scripts functionality", + "type": "string", + "readOnly": true + }, + "timeout": { + "description": "Recommended time limit for execution", + "type": "string", + "readOnly": true + }, + "parameters": { + "description": "Parameters the script will accept", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ScriptParameter" + } + } + } + }, + "ScriptCmdletsList": { + "type": "object", + "description": "Pageable list of scripts/cmdlets", + "properties": { + "value": { + "description": "List of scripts", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ScriptCmdlet" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "ScriptExecutionParameter": { + "type": "object", + "discriminator": "type", + "description": "The arguments passed in to the execution", + "properties": { + "name": { + "type": "string", + "description": "The parameter name" + }, + "type": { + "description": "The type of execution parameter", + "type": "string", + "enum": [ + "Value", + "SecureValue", + "Credential" + ], + "x-ms-enum": { + "name": "ScriptExecutionParameterType", + "modelAsString": true + } + } + }, + "required": [ + "type", + "name" + ] + }, + "ScriptExecution": { + "type": "object", + "description": "An instance of a script executed by a user - custom or AVS", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "The properties of a script execution resource", + "$ref": "#/definitions/ScriptExecutionProperties", + "x-ms-client-flatten": true + } + } + }, + "ScriptExecutionProperties": { + "type": "object", + "description": "Properties of a user-invoked script", + "properties": { + "scriptCmdletId": { + "description": "A reference to the script cmdlet resource if user is running a AVS script", + "type": "string" + }, + "parameters": { + "description": "Parameters the script will accept", + "type": "array", + "items": { + "$ref": "#/definitions/ScriptExecutionParameter" + } + }, + "hiddenParameters": { + "description": "Parameters that will be hidden/not visible to ARM, such as passwords and credentials", + "type": "array", + "items": { + "$ref": "#/definitions/ScriptExecutionParameter" + } + }, + "failureReason": { + "type": "string", + "description": "Error message if the script was able to run, but if the script itself had errors or powershell threw an exception" + }, + "timeout": { + "description": "Time limit for execution", + "type": "string" + }, + "retention": { + "description": "Time to live for the resource. If not provided, will be available for 60 days", + "type": "string" + }, + "submittedAt": { + "description": "Time the script execution was submitted", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "startedAt": { + "description": "Time the script execution was started", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "finishedAt": { + "description": "Time the script execution was finished", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "provisioningState": { + "description": "The state of the script execution resource", + "type": "string", + "readOnly": true, + "enum": [ + "Pending", + "Running", + "Succeeded", + "Failed", + "Cancelling", + "Cancelled", + "Deleting" + ], + "x-ms-enum": { + "name": "ScriptExecutionProvisioningState", + "modelAsString": true + } + }, + "output": { + "description": "Standard output stream from the powershell execution", + "type": "array", + "items": { + "type": "string" + } + }, + "namedOutputs": { + "description": "User-defined dictionary.", + "type": "object", + "additionalProperties": { + "type": "object", + "description": "Dictionary in pair." + } + }, + "information": { + "description": "Standard information out stream from the powershell execution", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "warnings": { + "description": "Standard warning out stream from the powershell execution", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "errors": { + "description": "Standard error output stream from the powershell execution", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + }, + "required": [ + "timeout" + ] + }, + "ScriptExecutionsList": { + "type": "object", + "description": "Pageable list of script executions", + "properties": { + "value": { + "description": "List of scripts", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ScriptExecution" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "ScriptSecureStringExecutionParameter": { + "type": "object", + "description": "a plain text value execution parameter", + "x-ms-discriminator-value": "SecureValue", + "allOf": [ + { + "$ref": "#/definitions/ScriptExecutionParameter" + } + ], + "properties": { + "secureValue": { + "type": "string", + "description": "A secure value for the passed parameter, not to be stored in logs", + "x-ms-secret": true + } + } + }, + "ScriptStringExecutionParameter": { + "type": "object", + "description": "a plain text value execution parameter", + "x-ms-discriminator-value": "Value", + "allOf": [ + { + "$ref": "#/definitions/ScriptExecutionParameter" + } + ], + "properties": { + "value": { + "type": "string", + "description": "The value for the passed parameter" + } + } + }, + "PSCredentialExecutionParameter": { + "type": "object", + "description": "a powershell credential object", + "x-ms-discriminator-value": "Credential", + "allOf": [ + { + "$ref": "#/definitions/ScriptExecutionParameter" + } + ], + "properties": { + "username": { + "description": "username for login", + "type": "string" + }, + "password": { + "description": "password for login", + "type": "string" + } + }, + "x-ms-secret": true + }, + "PrivateCloudIdentity": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of private cloud identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID associated with the private cloud. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "The type of identity used for the private cloud. The type 'SystemAssigned' refers to an implicitly created identity. The type 'None' will remove any identities from the Private Cloud.", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": true + } + } + }, + "description": "Identity for the virtual machine." + } + } +} diff --git a/specification/vmware/resource-manager/readme.go.md b/specification/vmware/resource-manager/readme.go.md index e369f9b6c67c..d8ce9e0db8ab 100644 --- a/specification/vmware/resource-manager/readme.go.md +++ b/specification/vmware/resource-manager/readme.go.md @@ -13,12 +13,22 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-12-01 - tag: package-2021-06-01 - tag: package-2021-01-01-preview - tag: package-2020-07-17-preview - tag: package-2020-03-20 ``` +### Tag: package-2021-12-01 and go + +These settings apply only when `--tag=package-2021-12-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-12-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-12-01/$(namespace) +``` + ### Tag: package-2021-06-01 and go These settings apply only when `--tag=package-2021-06-01 --go` is specified on the command line. diff --git a/specification/vmware/resource-manager/readme.java.md b/specification/vmware/resource-manager/readme.java.md index 2f11ca93ad04..e49a64596c7c 100644 --- a/specification/vmware/resource-manager/readme.java.md +++ b/specification/vmware/resource-manager/readme.java.md @@ -16,12 +16,26 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-avs ``` yaml $(java) && $(multiapi) batch: + - tag: package-2021-12-01 - tag: package-2021-06-01 - tag: package-2021-01-01-preview - tag: package-2020-07-17-preview - tag: package-2020-03-20 ``` +### Tag: package-2021-12-01 and java + +These settings apply only when `--tag=package-2021-12-01 --java` is specified on the command line. +Please also specify the `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2021-12-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.avs.v2021_12_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/avs/mgmt-v2021_12_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2021-06-01 and java These settings apply only when `--tag=package-2021-06-01 --java` is specified on the command line. diff --git a/specification/vmware/resource-manager/readme.md b/specification/vmware/resource-manager/readme.md index a95e86be9310..c39362e2b56b 100644 --- a/specification/vmware/resource-manager/readme.md +++ b/specification/vmware/resource-manager/readme.md @@ -21,7 +21,44 @@ These are the global settings for the VMware Solution API. ``` yaml openapi-type: arm -tag: package-2021-06-01 +tag: package-2021-12-01 +``` + +### Tag: package-2021-12-01 + +These settings apply only when `--tag=package-2021-12-01` is specified on the command line. + +``` yaml $(tag) == 'package-2021-12-01' +input-file: +- Microsoft.AVS/stable/2021-12-01/vmware.json +directive: + - suppress: R3020 + from: Microsoft.AVS/stable/2021-12-01/vmware.json + reason: Microsoft.AVS was chosen over Microsoft.AzureVMwareSolution + - suppress: R3010 + from: Microsoft.AVS/stable/2021-12-01/vmware.json + reason: list by immediate parent operations are defined + - suppress: R3027 + from: Microsoft.AVS/stable/2021-12-01/vmware.json + reasons: the PrivateClouds_List operation is by resource group + - suppress: R3018 + from: Microsoft.AVS/stable/2021-12-01/vmware.json + where: $.definitions.Operation.properties.isDataAction + reason: standard property for Operation + - suppress: R3018 + from: Microsoft.AVS/stable/2021-12-01/vmware.json + where: $.definitions.MetricSpecification.properties.fillGapWithZero + reason: standard property for MetricSpecification + - suppress: R2001 + from: Microsoft.AVS/stable/2021-12-01/vmware.json + where: $.definitions.Operation.properties.properties + reason: x-ms-client-flatten not needed for Operation + - suppress: R4009 + from: Microsoft.AVS/stable/2021-12-01/vmware.json + reason: systemData is not in this API version + - suppress: R3018 + from: Microsoft.AVS/stable/2021-12-01/vmware.json + reason: standard property defined by Geneva Metrics ``` ### Tag: package-2021-06-01 @@ -198,6 +235,7 @@ swagger-to-sdk: directive: - suppress: SECRET_PROPERTY from: + - Microsoft.AVS/stable/2021-12-01/vmware.json - Microsoft.AVS/stable/2021-06-01/vmware.json - Microsoft.AVS/preview/2021-01-01-preview/vmware.json - Microsoft.AVS/preview/2020-07-17-preview/vmware.json diff --git a/specification/vmwarecloudsimple/resource-manager/Microsoft.VMwareCloudSimple/stable/2019-04-01/vmwarecloudsimple.json b/specification/vmwarecloudsimple/resource-manager/Microsoft.VMwareCloudSimple/stable/2019-04-01/vmwarecloudsimple.json index 263b999ce29b..d571a6afe183 100644 --- a/specification/vmwarecloudsimple/resource-manager/Microsoft.VMwareCloudSimple/stable/2019-04-01/vmwarecloudsimple.json +++ b/specification/vmwarecloudsimple/resource-manager/Microsoft.VMwareCloudSimple/stable/2019-04-01/vmwarecloudsimple.json @@ -2557,7 +2557,8 @@ "created": { "description": "date time the resource was created", "format": "date-time", - "readOnly": true + "readOnly": true, + "type": "string" }, "nodesCount": { "description": "count of nodes to create", diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2016-08-01/WebApps.json b/specification/web/resource-manager/Microsoft.Web/stable/2016-08-01/WebApps.json index 8d197f46843c..68f24f03605c 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2016-08-01/WebApps.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2016-08-01/WebApps.json @@ -5829,7 +5829,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, @@ -5972,7 +5972,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json index 69b51f9e91dd..3f412b7413c4 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json @@ -7541,7 +7541,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/WebApps.json b/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/WebApps.json index 8ee66da0f015..38db8088c44a 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/WebApps.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/WebApps.json @@ -7134,7 +7134,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, @@ -7253,7 +7253,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/WebApps.json b/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/WebApps.json index 281daf0188c8..a2dbf1595909 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/WebApps.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/WebApps.json @@ -8119,7 +8119,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, @@ -8244,7 +8244,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/WebApps.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/WebApps.json index 632583fd9323..2d97e6a286f7 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/WebApps.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/WebApps.json @@ -8111,7 +8111,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, @@ -8236,7 +8236,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-09-01/WebApps.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-09-01/WebApps.json index 6ad04b570e30..04dc7b22d3fd 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2020-09-01/WebApps.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-09-01/WebApps.json @@ -8111,7 +8111,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, @@ -8236,7 +8236,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-10-01/WebApps.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-10-01/WebApps.json index 5d9d57ef9345..da1feb51e1c8 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2020-10-01/WebApps.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-10-01/WebApps.json @@ -8111,7 +8111,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, @@ -8236,7 +8236,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-12-01/WebApps.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-12-01/WebApps.json index 003fd07d803a..2f716d2591d2 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2020-12-01/WebApps.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-12-01/WebApps.json @@ -8478,7 +8478,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, @@ -8603,7 +8603,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2021-01-01/WebApps.json b/specification/web/resource-manager/Microsoft.Web/stable/2021-01-01/WebApps.json index 2b6f0e04ffb0..4d461b88e9e5 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2021-01-01/WebApps.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2021-01-01/WebApps.json @@ -8478,7 +8478,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, @@ -8603,7 +8603,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2021-01-15/WebApps.json b/specification/web/resource-manager/Microsoft.Web/stable/2021-01-15/WebApps.json index a5035c51fb79..bab69742bce1 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2021-01-15/WebApps.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2021-01-15/WebApps.json @@ -8568,7 +8568,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, @@ -8694,7 +8694,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "description": "Name of the deployment slot to create or update. The name 'production' is reserved.", "required": true, "type": "string" }, diff --git a/specification/web/resource-manager/readme.go.md b/specification/web/resource-manager/readme.go.md index d28c3fde5495..d9595d0918a7 100644 --- a/specification/web/resource-manager/readme.go.md +++ b/specification/web/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ```yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/web/armweb +module-name: sdk/resourcemanager/web/armweb module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/web/resource-manager/readme.java.md b/specification/web/resource-manager/readme.java.md index f5cde8af1741..b3052400c140 100644 --- a/specification/web/resource-manager/readme.java.md +++ b/specification/web/resource-manager/readme.java.md @@ -109,3 +109,33 @@ java: regenerate-manager: true generate-interface: true ``` + +### Tag: profile-hybrid-2020-09-01 and java + +These settings apply only when `--tag=profile-hybrid-2020-09-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'profile-hybrid-2020-09-01' && $(java) +input-file: +- Microsoft.CertificateRegistration/stable/2018-02-01/AppServiceCertificateOrders.json +- Microsoft.CertificateRegistration/stable/2018-02-01/CertificateRegistrationProvider.json +- Microsoft.DomainRegistration/stable/2018-02-01/Domains.json +- Microsoft.DomainRegistration/stable/2018-02-01/TopLevelDomains.json +- Microsoft.DomainRegistration/stable/2018-02-01/DomainRegistrationProvider.json +- Microsoft.Web/stable/2018-02-01/Certificates.json +- Microsoft.Web/stable/2018-02-01/CommonDefinitions.json +- Microsoft.Web/stable/2018-02-01/DeletedWebApps.json +- Microsoft.Web/stable/2018-02-01/Diagnostics.json +- Microsoft.Web/stable/2018-02-01/Provider.json +- Microsoft.Web/stable/2018-02-01/Recommendations.json +- Microsoft.Web/stable/2018-02-01/ResourceProvider.json +- Microsoft.Web/stable/2018-02-01/WebApps.json +- Microsoft.Web/stable/2018-02-01/AppServiceEnvironments.json +- Microsoft.Web/stable/2018-02-01/AppServicePlans.json +- Microsoft.Web/stable/2018-02-01/ResourceHealthMetadata.json +directive: + - from: CommonDefinitions.json + where: $.definitions.Identifier.properties.properties.properties.id + transform: > + $['x-ms-client-name'] = "value"; +``` diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2021-10-01/webpubsub.json b/specification/webpubsub/data-plane/WebPubSub/stable/2021-10-01/webpubsub.json new file mode 100644 index 000000000000..c6db43b78888 --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2021-10-01/webpubsub.json @@ -0,0 +1,1488 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Web PubSub Service REST API", + "version": "2021-10-01" + }, + "paths": { + "/api/health": { + "head": { + "tags": [ + "general" + ], + "summary": "Get service health status.", + "operationId": "HealthApi_GetServiceStatus", + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The service is healthy" + }, + "default": { + "description": "Error response" + } + } + } + }, + "/api/hubs/{hub}/:generateToken": { + "post": { + "tags": [ + "webpubsub" + ], + "summary": "Generate token for the client to connect Azure Web PubSub service.", + "operationId": "WebPubSub_GenerateClientToken", + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "query", + "name": "userId", + "description": "User Id.", + "type": "string" + }, + { + "in": "query", + "name": "role", + "description": "Roles that the connection with the generated token will have.", + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "in": "query", + "name": "minutesToExpire", + "description": "The expire time of the generated token.", + "type": "integer", + "format": "int32", + "default": 60 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ClientTokenResponse" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + } + }, + "/api/hubs/{hub}/:closeConnections": { + "post": { + "tags": [ + "webpubsub" + ], + "summary": "Close the connections in the hub.", + "operationId": "WebPubSub_CloseAllConnections", + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "query", + "name": "excluded", + "description": "Exclude these connectionIds when closing the connections in the hub.", + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "in": "query", + "name": "reason", + "description": "The reason closing the client connection.", + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + } + }, + "/api/hubs/{hub}/:send": { + "post": { + "tags": [ + "webpubsub" + ], + "summary": "Broadcast content inside request body to all the connected client connections.", + "operationId": "WebPubSub_SendToAll", + "consumes": [ + "application/octet-stream", + "text/plain", + "application/json" + ], + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "query", + "name": "excluded", + "description": "Excluded connection Ids.", + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "message", + "description": "The payload body.", + "required": true, + "schema": { + "format": "binary", + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "The message is accepted. The service follows fire-and-forget pattern when sending messages." + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + } + }, + "/api/hubs/{hub}/connections/{connectionId}": { + "head": { + "tags": [ + "webpubsub" + ], + "summary": "Check if the connection with the given connectionId exists.", + "operationId": "WebPubSub_ConnectionExists", + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "connectionId", + "description": "The connection Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + }, + "delete": { + "tags": [ + "webpubsub" + ], + "summary": "Close the client connection.", + "operationId": "WebPubSub_CloseConnection", + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "connectionId", + "description": "Target connection Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "reason", + "description": "The reason closing the client connection.", + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + } + }, + "/api/hubs/{hub}/connections/{connectionId}/:send": { + "post": { + "tags": [ + "webpubsub" + ], + "summary": "Send content inside request body to the specific connection.", + "operationId": "WebPubSub_SendToConnection", + "consumes": [ + "application/octet-stream", + "text/plain", + "application/json" + ], + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "connectionId", + "description": "The connection Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "message", + "description": "The payload body.", + "required": true, + "schema": { + "format": "binary", + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + } + }, + "/api/hubs/{hub}/groups/{group}": { + "head": { + "tags": [ + "webpubsub" + ], + "summary": "Check if there are any client connections inside the given group", + "operationId": "WebPubSub_GroupExists", + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "group", + "description": "Target group name, which length should be greater than 0 and less than 1025.", + "required": true, + "type": "string", + "maxLength": 1024, + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + } + }, + "/api/hubs/{hub}/groups/{group}/:closeConnections": { + "post": { + "tags": [ + "webpubsub" + ], + "summary": "Close connections in the specific group.", + "operationId": "WebPubSub_CloseGroupConnections", + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "group", + "description": "Target group name, which length should be greater than 0 and less than 1025.", + "required": true, + "type": "string", + "maxLength": 1024, + "minLength": 1 + }, + { + "in": "query", + "name": "excluded", + "description": "Exclude these connectionIds when closing the connections in the group.", + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "in": "query", + "name": "reason", + "description": "The reason closing the client connection.", + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + } + }, + "/api/hubs/{hub}/groups/{group}/:send": { + "post": { + "tags": [ + "webpubsub" + ], + "summary": "Send content inside request body to a group of connections.", + "operationId": "WebPubSub_SendToGroup", + "consumes": [ + "application/octet-stream", + "text/plain", + "application/json" + ], + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "group", + "description": "Target group name, which length should be greater than 0 and less than 1025.", + "required": true, + "type": "string", + "maxLength": 1024, + "minLength": 1 + }, + { + "in": "query", + "name": "excluded", + "description": "Excluded connection Ids", + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "message", + "description": "The payload body.", + "required": true, + "schema": { + "format": "binary", + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + } + }, + "/api/hubs/{hub}/groups/{group}/connections/{connectionId}": { + "put": { + "tags": [ + "webpubsub" + ], + "summary": "Add a connection to the target group.", + "operationId": "WebPubSub_AddConnectionToGroup", + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "group", + "description": "Target group name, which length should be greater than 0 and less than 1025.", + "required": true, + "type": "string", + "maxLength": 1024, + "minLength": 1 + }, + { + "in": "path", + "name": "connectionId", + "description": "Target connection Id", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + }, + "delete": { + "tags": [ + "webpubsub" + ], + "summary": "Remove a connection from the target group.", + "operationId": "WebPubSub_RemoveConnectionFromGroup", + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "group", + "description": "Target group name, which length should be greater than 0 and less than 1025.", + "required": true, + "type": "string", + "maxLength": 1024, + "minLength": 1 + }, + { + "in": "path", + "name": "connectionId", + "description": "Target connection Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + } + }, + "/api/hubs/{hub}/users/{userId}": { + "head": { + "tags": [ + "webpubsub" + ], + "summary": "Check if there are any client connections connected for the given user.", + "operationId": "WebPubSub_UserExists", + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "userId", + "description": "Target user Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + } + }, + "/api/hubs/{hub}/users/{userId}/:closeConnections": { + "post": { + "tags": [ + "webpubsub" + ], + "summary": "Close connections for the specific user.", + "operationId": "WebPubSub_CloseUserConnections", + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "userId", + "description": "The user Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "excluded", + "description": "Exclude these connectionIds when closing the connections for the user.", + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "in": "query", + "name": "reason", + "description": "The reason closing the client connection.", + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + } + }, + "/api/hubs/{hub}/users/{userId}/:send": { + "post": { + "tags": [ + "webpubsub" + ], + "summary": "Send content inside request body to the specific user.", + "operationId": "WebPubSub_SendToUser", + "consumes": [ + "application/octet-stream", + "text/plain", + "application/json" + ], + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "userId", + "description": "The user Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "message", + "description": "The payload body.", + "required": true, + "schema": { + "format": "binary", + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + } + }, + "/api/hubs/{hub}/users/{userId}/groups/{group}": { + "put": { + "tags": [ + "webpubsub" + ], + "summary": "Add a user to the target group.", + "operationId": "WebPubSub_AddUserToGroup", + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "group", + "description": "Target group name, which length should be greater than 0 and less than 1025.", + "required": true, + "type": "string", + "maxLength": 1024, + "minLength": 1 + }, + { + "in": "path", + "name": "userId", + "description": "Target user Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + }, + "delete": { + "tags": [ + "webpubsub" + ], + "summary": "Remove a user from the target group.", + "operationId": "WebPubSub_RemoveUserFromGroup", + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "group", + "description": "Target group name, which length should be greater than 0 and less than 1025.", + "required": true, + "type": "string", + "maxLength": 1024, + "minLength": 1 + }, + { + "in": "path", + "name": "userId", + "description": "Target user Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + } + }, + "/api/hubs/{hub}/users/{userId}/groups": { + "delete": { + "tags": [ + "webpubsub" + ], + "summary": "Remove a user from all groups.", + "operationId": "WebPubSub_RemoveUserFromAllGroups", + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "userId", + "description": "Target user Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + } + }, + "/api/hubs/{hub}/permissions/{permission}/connections/{connectionId}": { + "put": { + "tags": [ + "webpubsub" + ], + "summary": "Grant permission to the connection.", + "operationId": "WebPubSub_GrantPermission", + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "permission", + "description": "The permission: current supported actions are joinLeaveGroup and sendToGroup.", + "required": true, + "type": "string", + "enum": [ + "sendToGroup", + "joinLeaveGroup" + ], + "x-ms-enum": { + "name": "WebPubSubPermission", + "modelAsString": true + } + }, + { + "in": "path", + "name": "connectionId", + "description": "Target connection Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "targetName", + "description": "The meaning of the target depends on the specific permission. For joinLeaveGroup and sendToGroup, targetName is a required parameter standing for the group name.", + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + }, + "delete": { + "tags": [ + "webpubsub" + ], + "summary": "Revoke permission for the connection.", + "operationId": "WebPubSub_RevokePermission", + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "permission", + "description": "The permission: current supported actions are joinLeaveGroup and sendToGroup.", + "required": true, + "type": "string", + "enum": [ + "sendToGroup", + "joinLeaveGroup" + ], + "x-ms-enum": { + "name": "WebPubSubPermission", + "modelAsString": true + } + }, + { + "in": "path", + "name": "connectionId", + "description": "Target connection Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "targetName", + "description": "The meaning of the target depends on the specific permission. For joinLeaveGroup and sendToGroup, targetName is a required parameter standing for the group name.", + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + }, + "head": { + "tags": [ + "webpubsub" + ], + "summary": "Check if a connection has permission to the specified action.", + "operationId": "WebPubSub_CheckPermission", + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "permission", + "description": "The permission: current supported actions are joinLeaveGroup and sendToGroup.", + "required": true, + "type": "string", + "enum": [ + "sendToGroup", + "joinLeaveGroup" + ], + "x-ms-enum": { + "name": "WebPubSubPermission", + "modelAsString": true + } + }, + { + "in": "path", + "name": "connectionId", + "description": "Target connection Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "targetName", + "description": "The meaning of the target depends on the specific permission. For joinLeaveGroup and sendToGroup, targetName is a required parameter standing for the group name.", + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + } + } + } + }, + "definitions": { + "ClientTokenResponse": { + "description": "The response object containing the token for the client", + "type": "object", + "properties": { + "token": { + "description": "The token value for the WebSocket client to connect to the service", + "type": "string" + } + } + }, + "ErrorDetail": { + "description": "The error object.", + "type": "object", + "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 error.", + "type": "string" + }, + "details": { + "description": "An array of details about specific errors that led to this reported error.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + } + }, + "inner": { + "$ref": "#/definitions/InnerError" + } + } + }, + "InnerError": { + "type": "object", + "properties": { + "code": { + "description": "A more specific error code than was provided by the containing error.", + "type": "string" + }, + "inner": { + "$ref": "#/definitions/InnerError" + } + } + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "name": "Endpoint", + "description": "HTTP or HTTPS endpoint for the Web PubSub service instance.", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + ] + } +} diff --git a/specification/webpubsub/data-plane/readme.md b/specification/webpubsub/data-plane/readme.md index 9fc79b49c9cf..7cfa452be169 100644 --- a/specification/webpubsub/data-plane/readme.md +++ b/specification/webpubsub/data-plane/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for Web PubSub Service. - - --- + ## Getting Started + To build the SDK for Web PubSub Service, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,23 +15,23 @@ To build the SDK for Web PubSub Service, simply [Install AutoRest](https://aka.m To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the Web PubSub Service API. -``` yaml +```yaml openapi-type: data-plane -tag: package-2021-08-01-preview +tag: package-2021-10-01 ``` ### Suppression -``` yaml +```yaml directive: - suppress: LROStatusCodesReturnTypeSchema reason: For this data plane API, it is not a long run operation and the status code indicates the results. @@ -39,13 +39,23 @@ directive: reason: There are a lot of APIs that does not have the example. While it is being worked upon disabling this to ensure that we catch and fix other violations ``` +### Tag: package-2021-10-01 + +These settings apply only when `--tag=package-2021-10-01` is specified on the command line. + +```yaml $(tag) == 'package-2021-10-01' +input-file: + - WebPubSub/stable/2021-10-01/webpubsub.json +title: AzureMessagingWebPubSubServiceClient +``` + ### Tag: package-2021-08-01-preview These settings apply only when `--tag=package-2021-08-01-preview` is specified on the command line. -``` yaml $(tag) == 'package-2021-08-01-preview' +```yaml $(tag) == 'package-2021-08-01-preview' input-file: -- WebPubSub/preview/2021-08-01-preview/webpubsub.json + - WebPubSub/preview/2021-08-01-preview/webpubsub.json title: AzureMessagingWebPubSubServiceClient ``` @@ -53,21 +63,20 @@ title: AzureMessagingWebPubSubServiceClient These settings apply only when `--tag=package-2021-05-01-preview` is specified on the command line. -``` yaml $(tag) == 'package-2021-05-01-preview' +```yaml $(tag) == 'package-2021-05-01-preview' input-file: -- WebPubSub/preview/2021-05-01-preview/webpubsub.json + - WebPubSub/preview/2021-05-01-preview/webpubsub.json title: AzureMessagingWebPubSubServiceClient ``` # Code Generation - ## Swagger to SDK This section describes what SDK should be generated by the automatic system. This is not used by Autorest itself. -``` yaml $(swagger-to-sdk) +```yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-net @@ -79,7 +88,7 @@ swagger-to-sdk: These settings apply only when `--csharp` is specified on the command line. Please also specify `--csharp-sdks-folder=`. -``` yaml $(csharp) +```yaml $(csharp) csharp: # last generated with AutoRest.0.17.3 azure-arm: false @@ -95,7 +104,7 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. -``` yaml $(python) +```yaml $(python) python-mode: create azure-arm: false license-header: MICROSOFT_MIT_NO_VERSION @@ -104,36 +113,36 @@ package-name: azure-messaging-webpubsubservice package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' + +```yaml $(python) && $(python-mode) == 'update' no-namespace-folders: true output-folder: $(python-sdks-folder)/webpubsub/azure-messaging-webpubsubservice/azure/messaging/webpubsubservice ``` -``` yaml $(python) && $(python-mode) == 'create' + +```yaml $(python) && $(python-mode) == 'create' basic-setup-py: true output-folder: $(python-sdks-folder)/webpubsub/azure-messaging-webpubsubservice ``` - ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. This block is updated by an automatic script. Edits may be lost! -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ +```yaml $(tag) == 'all-api-versions' /* autogenerated */ # include the azure profile definitions from the standard location require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: - $(this-folder)/WebPubSub/preview/2021-05-01-preview/webpubsub.json - ``` If there are files that should not be in the `all-api-versions` set, -uncomment the `exclude-file` section below and add the file paths. +uncomment the `exclude-file` section below and add the file paths. -``` yaml $(tag) == 'all-api-versions' +```yaml $(tag) == 'all-api-versions' #exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` diff --git a/specification/workloadmonitor/resource-manager/readme.md b/specification/workloadmonitor/resource-manager/readme.md index c47da59665ed..c6bda6acece2 100644 --- a/specification/workloadmonitor/resource-manager/readme.md +++ b/specification/workloadmonitor/resource-manager/readme.md @@ -160,27 +160,3 @@ generate-interface: true -## Multi-API/Profile support for AutoRest v3 generators - -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. - -This block is updated by an automatic script. Edits may be lost! - -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ -# include the azure profile definitions from the standard location -require: $(this-folder)/../../../profiles/readme.md - -# all the input files across all versions -input-file: - - $(this-folder)/Microsoft.WorkloadMonitor/preview/2018-08-31-preview/Microsoft.WorkloadMonitor.json - - $(this-folder)/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/Microsoft.WorkloadMonitor.json - -``` - -If there are files that should not be in the `all-api-versions` set, -uncomment the `exclude-file` section below and add the file paths. - -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -```